加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

模擬混合驗證官︱做Model就做兩件事:做加法、做減法

2017/05/05
32
閱讀需 47 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

?

了解完仿真器的特點,你也就明白了做 Model、想“洞見”所需要的“時間”和“精度”怎么辦呢?想要時間上快快快,就盡量的向 Digital 仿真器靠攏;想讓精度上準準準,就盡量的向 Analog 靠攏。做 Model,就是永遠在做兩件事情:做加法、做減法。做不同的加減法,就得到不同的 Model 級別。由于大部分 Analog 出身的人,最熟悉不過的就是 Schematic 了,所以對于一個 ADV 而言,對 Schematic 的加法,可以得到:Critical Part Model;BA Model。對 Schematic 的減法,可以得到:VerilogA;VerilogAMS;Real Valued Model(RVM);Verilog;Reference Model 等。下文將分級介紹。

Schematic
Schematic,也就是通過工藝直接給的 PDK,利用現(xiàn)在 EDA 工具,直接仿真,這對于 Design 而言,基本上狹義而言就就沒人說它是 Model。但是它本質也是一種 Model,只不過 Process/EDA 等人已經把環(huán)境和數(shù)據(jù)妥妥得給你設置好了,像傻瓜照相機一樣,你不用管三七二十一,直接用就行了。這個 Schematic 不需要耗費任何額外的經歷,它是生活必需品。Layout 就指望著這玩意干活呢,DV 也指望著這玩意 Verification 呢。所以如上圖所示,劃分 Model 等級的時候,也特意把它作為 Golden 標準,其仿真速度也設置為 1x。


2.1 對 Schematic 的加法
問題是 PDK 總是能 cover 到我們想要的么?什么情況下,我們應該給這個自動的傻瓜式的 Schematic Model 做做加法呢?

Critical Part Model
其實工藝提供的 PDK,也是一種 Model,只不過是一種 Fab 經常驗證、感覺比較精準的 Model。當電流太小的時候,PDK 曲線上給的數(shù)據(jù)還精準么?記住 PDK 上給的東西,大部分時候也是根據(jù)大多數(shù)人常用的范圍、那里的數(shù)據(jù)是比較準確的;但是過大、過小了偏,都可能導致 Model 和實際的 silicon 之間有很大的不吻合;因為如前面介紹,Analog 要求處理的數(shù)據(jù)最好是連續(xù)的、光滑的;大大小小的電流、尺寸都照顧到,這該需要多么萬能的數(shù)學表達式???如果都搞得這么精準,仿真器會不會更是慢成翔呢?當市場要求低功耗、你也在拼命的減小每條支路上面的電流的時候,千萬記得,當你減小的太狠的時候,先去問問 PDK 當年建立 Model 的時候,那些數(shù)據(jù)是不是真實的;會不會只是數(shù)學表達式自己的外推推斷(extrapolate)而得到的虛假數(shù)值而已。

當管子太大、layout 走線太長的時候,PDK 上面單個管子的參數(shù)是不是就不能那么比例的擴大了呢?所以就需要加入對大的管子,例如 powerFET 本身的走線電阻電容網(wǎng)絡,對其人肉手工做 Model。

又例如,其實每個 device 都是有噪聲的,Cadence 的仿真工具,也有這個功能:trans noise,ac noise。但是如果平時仿真,把 transnoise 功能打開(做個小廣告:transnoise 可以在仿真的時候設置什么時候 turn on,什么時候 turn off,以后有空本公眾號會介紹),那么仿真時間就蹭蹭的往上漲了。對于一些關鍵的、敏感的節(jié)點,如果很在乎噪聲的影響,想快速的得到有噪聲影響之后的結果的話,可以再發(fā)揮人肉 Model 的作用,自己去用 VerilogA/VerilogAMS 等去寫一個隨機變化的噪聲源,那么就可以在不用打開 transnoise,不用大費 CPU 仿真時間的情況下,初步得到有 noise 時候芯片的表現(xiàn)了。

總之,就是當 PDK 提供的東西,已經不能滿足你日益增長的 performance 的需求的時候,就要自己對于關鍵節(jié)點、自己在乎的信息“擼起袖子加油干”了,這就是所謂的 CriticalPart Model(這個詞語沒有看到哪里有專門介紹過,算是本人創(chuàng)造的哈)

?


BA Model
當 Layout 拿到手的時候,EDA 工具已經有非常完善的 LVS,QRC 了,所以你可以不花費太多力氣就能拿到提取了 R,C,RC 等寄生參數(shù)的 av_extracted view 了,所以做做后仿真(很多人也叫它 Back? Annotated simulation,BA sim)本身在設置上沒有多大的困難。不過本來就是仿真笨拙的 schematic 仿真,現(xiàn)在又加了這么多 R,C,會不會仿真就更是慢了呢?而 Layout 都出來的時候,項目正是催著要流片的火急火燎的時候,有啥好辦法不?當然傳統(tǒng)的第一個方法就是 Subsystem 仿真了,把一些不重要的 block 換成 schematic,甚至 Model,只關心重要 block 的性能。另外,在提取 RC 的時候,把最小值設置的高一點,否則太多的蝦兵蝦將,將 Analog 仿真器要解的矩陣增大好多,而實際影響不大。還有一點有意思的事情是,如果只提取 C,而不提取 R 的話,那么整個電路的仿真時間并不會增加多少。原因是 C 并沒有將電路仿真時候要求解的矩陣的信息增大。而如果提取了 R 的話,則大大的增加了求解矩陣的復雜程度,所以仿真時間長了很多。有一高手朋友特意給畫了圖,來解析這背后的原理:如果只有 C,A 節(jié)點依然是 A 節(jié)點;如果提取了 R,A 得裂變成 A1,A2…瞬間環(huán)路就來了。有木有一種瞬間秒懂的感覺哈?


?
總之,做加法的目的,主要就是在于提高精度。這是高性能的模擬 IC、模擬 IC 占很大比重的混合 IC 所在乎的。這還是僅僅討論的芯片本身的做加法,如果再加上 Thermal Model, Package Model, Board Model,? Transmission Line Model 等,就更是精準的實際 IC 應用環(huán)境了,這也是大的話題了,這里不再贅述。

2.2 對 Schematic 的減法
顯然對 Schematic 做加法的弊端就在于其速度。如果關心速度,關心時間,就需要做減法的 Model。這也是很多 SOC,包括 Digital 芯片的做法,一層層的做各種減法。

VerilogA
首先想的就是能不能先和工藝 PDK 脫離了關系,反正我就是用的電阻電容,它就是一堆電流電壓方程,我自己來寫就行了,不要仿真器費力了;抑或是一些電流源,放大器 AMP,我自己知道他們是啥數(shù)學表達式,我來表達一下就行了;就不需要好多個 Transistors 在那里搭啊搭的了,幾句電流電壓關系式就搞定了。所以 VerilogA 比 Schematic 還是要快的。

?“Analog”這個處理連續(xù)時間的行為(continuous-time behavior)的 Key Word 躍然紙上,這也是 Verilog 和 VerilogA 重大的不同了。VerilogA Model 和 VerilogAMS 相比,其好處也在于是純 Analog 仿真器,這樣子由于引入 digital 等、接口處理不好等導致的收斂性等較少,也算干凈。但是其缺點在于還是慢。另外就是懂 VerilogA 的工程師遠遠少于懂 Verilog 的工程師;即使不少模擬出身的人,精通 VerilogA 語言的也不多??磻T了 Verilog 的人,如果是去看純 VerilogA 寫的東西,當 Control 等信號太多的時候,有時候會覺得 VerilogA 太啰嗦。

VerilogAMS
盡管 VerilogA 已經走上了語言的道路,但是利用的還是純 Spice 的模擬仿真器,還是前面介紹的純模擬仿真器的天然劣勢,一步三回頭的矩陣求解作風,是很多控制信號、高頻 Switching 信號所不 Care 的;但是這些控制信號又給 Analog 仿真器增加了好多負擔,Analog 最討厭高頻亂動的信號了,尤其是方波,連續(xù)性還差,出力不討好。既然 Analog 看不慣高頻亂動信號、控制信號,而控制信號、高頻信號又不喜歡 Analog,那就分家吧。所以 AMS 橫空出世,誰不喜歡 Analog 仿真器,就都到我們 Digital 家里去吧。于是乎,很多高速 Switching 信號、控制信號、trim 信號等,屁顛屁顛的就被 Model 帶走了。想寫 Model 的人,終于知道帶誰玩了:首當其沖的就是這些很占用 Analog 仿真器精力又出力不討好的東西們。于是乎,一些 cross,above 等 Key Word,聯(lián)合著 Analog 里面的 transition,timer 等 KeyWord,把這 A-2-D,D-2-A 的事情做了。我這里說的簡單,其實里面細節(jié)非常多。我們公眾號會在以后挑選一些重要技巧來詳細講解。

為了能夠把 Analog 和 digital 仿真器聯(lián)系在一起,仿真器在背后也是默默做了大量工作的,這就是 Mix-signal 的仿真器了;其中重要一項就是 Connect? Module。總之,引入兩個仿真器,好處是大大的,同時卻也提高了做 Model 人的經驗要求。Model 想建立好,還是非常需要經驗的。手生的人,即使建立的 Model,可能已經把精度 accuracy 消減了很多、只是功能描述,但是如果它和仿真器契合度太低,那么它可能就并不會真正的提高多少速度,即使它精度已經下降了很多。甚至有的時候,A 到 D, D 到 A,寫的不好的話,相互纏繞,還會給仿真器帶來不收斂問題。所以想學習做一個好的 Model 很有必要,一個不好的 Model 甚至不如不做,一些項目在緊張的時候,可能不做 Model;也是有其道理的。做 Model 的能力,也是需要培養(yǎng)的。一旦培養(yǎng)好了,力大無窮。

總之呢,這些付出是值得的。因為 VerilogAMS 寫好的話,速度嗖嗖提高個上百倍那都不是夢,那都不是事兒(背景音樂:天空飄來五個字,那都不是事兒。。。)

?


Real Valued Model(RVM)
激進的人要求的更多,能不能再快點,再快點?把那些殘留的 Analog 信號也干掉,但是同時也不要光禿禿的給我只留下“0,1,x,z”的 digital 信號。一個非常重要的東西,RealValued Model 就是解決這些人的夢想的。老前輩們制造出來了”wreal”的物種,來專門解決這個問題(嚴格意義 / 更全面的說,VHDL 和 SystemVerilog 中的 real,也是解決這個問題的)。Wreal 是一個很好的東西,很有創(chuàng)意,很值得探討。下篇就詳細講講 Wreal 的故事。

Real value Model 是一個非常重要的突破,因為它終于成功拋棄了 Spice,它將 Analog 信號用離散的 real 數(shù)值來代替了。于是乎不像 VerilogAMS 里面有太多的交互,它直接在 Digital 的領域里面自由奔跑了,下一個數(shù)值僅僅依靠當前的就行了,對光滑性、連續(xù)性要求大大降低,那速度能不快么?想不快都不行。

Verilog
這玩意就不用詳細說了,很多人都懂。所以很多 Cadence 等業(yè)界 Model 培訓教材,都拿它開涮,作為學習初始章節(jié)。我本著不讓大家“一上來就沒有睡著”的認真負責態(tài)度,果斷把它放到這大后面了。

Reference Model
其實尤其對于模擬 ICer,了解到硬件描述語言 Verilog 已經算挺夠的了,因為越往上面就更和 Transistor 啥的相關性小了(所以上面圖片也就到 Verilog 結束了)。但是其實做數(shù)字的、尤其大規(guī)模數(shù)字的,對 Verilog 形成的 Model,也依然存在不滿意度。還慢,還不夠友好到讓軟件工程師一下子就看懂。如何打通軟件和硬件之間的聯(lián)系?

蘋果曾經被記者點名稱贊過自己是一個“能夠將軟硬件完美結合的公司”,蘋果本身很重視 IC 研發(fā);“安卓的 OEM 廠商們可以‘復制’出指紋傳感器或者是 3D Touch 機制,但他們無法復制蘋果對底層芯片的把控能力?!弊屢粋€軟件工程師去懂硬件描述語言,顯然太痛苦了。但是如果每次都是硬件生產完了,再看軟件,顯然在這個快速的時代有些笨拙。

顯然用更高級的語言來對 Verilog 進行再抽象就很有必要。很多驗證工程師,尤其熟悉 UVM(Universal Verification Methodology)的,搞出來的 Reference Model,或者系統(tǒng)工程師的 virtual prototype 或者算法(algorithm)模型 Model 就是進一步的做減法而得到的 Model。System Verilog,System C,總是有各種給力的語言來支持你的需求的。這個 Model 硬件工程師輕松看懂,軟件工程師也能看懂,很好的又實現(xiàn)了一次跨界連接。軟件工程師也就不用再等硬件了、兩者都可以很 happy 的同時開工了,在研發(fā)早期、Silicon 出來之前,就能一起看看是不是能達成大 boss 布置的宏偉愿景了:例如手機更省電、手機更快,快的讓你飛起來(沒有給 VIVO 做廣告啊。。。)

以上就是 Model 做減法的東西,VerilogA, VerilogAMS,RVM, Verilog,Reference Model,一步步脫離 Analog,一步步走進 Digital,甚至脫離硬件飛向軟件。這就是 Model 做減法的魔力,火箭做起來,速度飛起來;當然也是以精度一步步掉血為犧牲代價的。

?
總之,想到 Model 就兩件事情,做加法,做減法。想讓 Model 準,就做加法,模擬各種真實的環(huán)境和存在;甚至 OverModel,模擬得比實際環(huán)境更惡劣點。想讓 Model 快,就不停的做減法,向數(shù)字靠攏,像更抽象靠攏??偨Y下剛才介紹的各個 Model 級別,如下表所示:

?

與非網(wǎng)原創(chuàng)內容,不經允許,不得轉載!

系列匯總:

之一:談模擬混合信號設計驗證?先從這個職位說起吧!

之二:DV 這個職位不是說服了老板就能招到人!

之三:DV 說"鬼知道我經歷了什么?”

之四:模擬混合驗證如此重要,ADV 的前輩們也非等閑!

之五:Model 的本質目標就是“時間+精度”

特斯拉

特斯拉

Tesla 致力于通過電動汽車、太陽能產品以及適用于家庭和企業(yè)的綜合型可再生能源解決方案,加速世界向可持續(xù)能源的轉變。

Tesla 致力于通過電動汽車、太陽能產品以及適用于家庭和企業(yè)的綜合型可再生能源解決方案,加速世界向可持續(xù)能源的轉變。收起

查看更多

相關推薦

電子產業(yè)圖譜

畢業(yè)于浙江大學信電系為電子系、超大所,曾經從事模擬電路設計工作,目前在知名外企進行模擬混合混合信號設計驗證。個人愛好:寫作并分享。個人微信公眾號:模擬混合信號驗證(yaliDV)。