后仿真要是從方法上分類,我覺得大概有三種,一種是gui,一種是網(wǎng)表,一種是反標注。
gui的就是用calibre產(chǎn)生calibre view,然后仿真的時候自動從calibre view中生成網(wǎng)表。這種我沒用過,看別人用過。好處是方便,與原來的流程整合度很高。不過要是想做些debug的事情就很麻煩。
網(wǎng)表就是直接產(chǎn)生相應的網(wǎng)表,然后在前仿真的網(wǎng)表里替換。這種方法比較土,工作量也大,根據(jù)不同的提取工具和仿真工具,需要修改一些東西。我最不可理解的就是做提取時用的是cdl,做仿真時用的是spectre view,然后如果pdk做的不好,這兩種view總會多多少少有些差異,導致產(chǎn)生的網(wǎng)表需要修改。這種差異是換什么提取工具都不能消除的,只能怪pdk。但是這種流程EDA公司一直沒有修改過。一般的差異包括了:端口順序,節(jié)點名字(仿真器有時會修改節(jié)點名字,特別是總線,可以看我之前blog,cdl也可能會用不同格式的名字)。隨著EDA工具的版本提高,PDK庫的升級,以及提取文件的選項設置,好像目前需要修改的越來越少了(不知道為什么,05年的時候需要修改的地方非常多,即使t這樣的公司給的pdk,前后仿真連模型名都完全不一致,需要自己找到對應的然后修改)。一般只用修改接口處的內(nèi)容就可以了,內(nèi)部只要保持自恰就行。需要注意的是需要保存節(jié)點的名字和ic設置的名字。有時候這個地方最麻煩,因為提取后的名字會和原來可能有差異。再就是有時bipolar會在前仿中用m=...,但是后仿用area=...,后一種與器件模型不自恰,會導致仿真失?。ㄟ@是我又一處不理解 EDA公司的地方)。這種方法的好處是比較靈活。有時候為了debug,只要在網(wǎng)表中手工修改一下,看看效果,就可以知道找的地方對不對。有的人習慣前仿用cdl的網(wǎng)表,這樣后仿就能保持基本的一致性。不過說實話,我覺得cdl格式并不是為仿真用的,很多pdk里提取出的cdl網(wǎng)表也就是能用而已。
還有一種是反標注(back annotation)。我挺看好這種方法的,但是目前工具對這種方法的支持也有問題。提取的時候,如果選反標注,就會生成諸如dspf之類的文件,按照我的理解,就是把寄生器件和節(jié)點對應關系之類的信息寫在這個文件里。(實際中可能會有dpf,包括器件的實際信息,dspf,寄生參數(shù),spef,另一種格式的寄生信息)。然后仿真器再根據(jù)這個dspf里的信息,結合前仿網(wǎng)表,自己自動產(chǎn)生內(nèi)部的仿真網(wǎng)表,但是對外保持接口不變。由于對外接口不變,設計者的工作量就小很多,不用找名字對應關系了??上В@種方法目前的問題是:
1.只有有限的仿真器支持,比如hsim,spectre不支持。
2.不同提取工具產(chǎn)生的可能語法有差異,導致對一些信息的解釋不同,特別是耦合電容,所以換仿真器或者提取工具時要小心。
3.有時由于前仿網(wǎng)表和lvs網(wǎng)表的差異(還是pdk,cdl的問題,這無解),存在反標率,就是可能有的寄生參數(shù)找不到位置。這種問題還很難debug,因為有時候給的信息不全,想修改都不知道問題在哪里。不過我做下來,大部分還是由于名字大小寫,總線,spectre自動改名之類的問題,或者由于做了一些簡化,導致一些節(jié)點消失或者多出來。
我不知道為什么仿真器目前不能很好的支持這種反標注,按理說就是一個重新解釋網(wǎng)表的過程,應該比寫仿真器容易多了。
總結一下,目前后仿真許多問題的根源大部分來自于仿真用的網(wǎng)表和lvs用的網(wǎng)表來源不一致。如果來源一致,讓EDA工具自己做那些改名字的事情就好多了(我的這些經(jīng)驗都來自于11年之前的EDA版本和t的pdk版本)。
還有另一種分類,就是按照提取的是r,是c,是cc等來區(qū)分。一般來說流程上差異不大,但是對于有r和沒有r,名字一般會變化較大,因為有r的會增加不少新節(jié)點。如果多看看網(wǎng)表,還是能找到命名規(guī)律的。我比較看好新版工具的一個特色,就是讓r和c的提取可以混合進行。以前是要么是提r,要么是提c,要么提 r+cc,但必須是全局設置?,F(xiàn)在可以在局部設置不同的提取方式,比如全局是提c,但局部提r,考慮到仿真時間,這種方法還是挺不錯的。
再一種分類就是按照是打散了提取還是層次化的提取。前者據(jù)說精度最高,但是一般前仿都是層次化的,所以名字一定會變。后者偶爾用用也不錯,但是我同事碰到一次奇怪的問題,就是網(wǎng)表出錯了,查進去說有一個cell的端口名字不對,不知道為什么,這種事情難得碰到一回。
想到一個小事情,現(xiàn)在在新工藝下,經(jīng)常要加dummy metal。如果提取時忽略dummy metal,往往比不忽略得到的寄生小,但是如果不忽略,網(wǎng)表將巨大無比。所以提取工具還給了個簡化的選項,這也是在時間和精度上做巨大的trade off。
另一件事情就是無論提取工具多么好,最后起主要作用的還是規(guī)則文件。曾經(jīng)有一次有個工藝給的規(guī)則文件里忘了提as,ad這些,至于sa,sb那就更不用提了,這樣的東西即使提取了寄生,準不準是一方面,信不信是令一方面。
再就是提取的寄生電容到底準確度有多少?有人說提取的是為數(shù)字電路考慮的,所以會偏大20,30%。又有人說差了2,3倍。由于也沒有可靠數(shù)據(jù),都是道聽途說,所以有foundry做這方面的人能說說實際情況最好。
(審核編輯: 滄海一土)
分享