一個(gè)完整的電路設(shè)計(jì)中必然包含前仿真和后仿真兩個(gè)部分,它們都屬于驗(yàn)證的必要環(huán)節(jié)。
尤其是在復(fù)雜的芯片設(shè)計(jì)中,驗(yàn)證要占用整個(gè)芯片設(shè)計(jì)流程時(shí)間的60%-70%。目的就是盡可能地對(duì)芯片功能進(jìn)行充分的驗(yàn)證,盡早暴露出問題、解決問題,以保證所有功能完全正確。
那么前仿真和后仿真之間有哪些異同點(diǎn)呢?
先說相同之處
前仿真和后仿真都屬于數(shù)字驗(yàn)證工程師的工作范疇,且都涉及到驗(yàn)證環(huán)境的搭建,需要耗費(fèi)大量的時(shí)間。
在實(shí)際工作中,需要使用的工具基本也是一樣的。例如Synopsys公司的VCS、Cadence公司的xrun和Model Tech公司的ModelSim。
解決的問題不同
前仿真也可以叫功能仿真、行為仿真,主要驗(yàn)證電路在理想環(huán)境下的行為和設(shè)計(jì)構(gòu)想是否一致,電路功能是否符合Spec和設(shè)計(jì)要求。
后仿真也可以叫時(shí)序仿真、布局布線后仿真,主要針對(duì)布局布線之后的網(wǎng)表,加入時(shí)序分析,對(duì)功能正確性進(jìn)行仿真驗(yàn)證。
前仿真主要驗(yàn)證的是功能正確性,后仿真主要驗(yàn)證的是時(shí)序正確性。
側(cè)重點(diǎn)不同
前仿真關(guān)心的是器件參數(shù),不考慮電路門延遲與線延遲,沒有器件內(nèi)部邏輯單元和連線的實(shí)際延時(shí)信息,只是初步驗(yàn)證系統(tǒng)的邏輯功能。
后仿真除了關(guān)心器件參數(shù)之外還需要考慮線的寄生問題,這就是為什么后端環(huán)節(jié)中需要進(jìn)行寄生參數(shù)提取。
因?yàn)閷?dǎo)線本身存在的電阻,相鄰導(dǎo)線之間的互感,耦合電容在芯片內(nèi)部會(huì)產(chǎn)生信號(hào)噪聲,串?dāng)_和反射。這些效應(yīng)會(huì)產(chǎn)生信號(hào)完整性問題,導(dǎo)致信號(hào)電壓波動(dòng)和變化,如果嚴(yán)重就會(huì)導(dǎo)致信號(hào)失真錯(cuò)誤。所以,提取寄生參數(shù)進(jìn)行再次分析驗(yàn)證,分析信號(hào)完整性問題是非常重要的。
流程環(huán)節(jié)不同
一個(gè)比較明顯的區(qū)分標(biāo)志就是布局布線。
前仿真需要在RTL代碼設(shè)計(jì)環(huán)節(jié)進(jìn)行,后仿真要在布局布線環(huán)節(jié)之后進(jìn)行。
布局布線之后,晶體管等各類器件的具體形狀、尺寸、相互位置已經(jīng)確定,這表示將來制造完成的芯片結(jié)構(gòu)也就確定了。
不同的版圖設(shè)計(jì)將產(chǎn)生不同的寄生參數(shù)。例如,金屬互連線和襯底之間所產(chǎn)生的分布電容大小與版圖設(shè)計(jì)密切相關(guān),版圖設(shè)計(jì)不同,線的長度和路徑都有可能不同,寄生電容也就不同。其他寄生情況與此類似,大部分都和具體的版圖有關(guān)。
仿真結(jié)果不同
前仿真主要分析電路邏輯功能,相對(duì)于后仿真來說速度更快。
后仿真引入了寄生分布參數(shù)的實(shí)際電路進(jìn)行仿真,能夠比較好地反應(yīng)芯片的實(shí)際工作情況,是更接近于實(shí)際的仿真。但消耗時(shí)間相對(duì)更長。
有時(shí)候也會(huì)出現(xiàn)前后仿真結(jié)果不一致甚至差別很大的情況,其實(shí)一大部分原因就是它們各自的側(cè)重點(diǎn)不同。