門級仿真(gate levelsimulation)也稱之為后仿真,是數(shù)字IC設(shè)計流程中的一個重要步驟。
在講解門級仿真作用之前,我們先簡單來看一下數(shù)字后端的流程:
在步驟1中,會插入DFT,生成post_DFT的網(wǎng)表netlist;在步驟2中會根據(jù)CPF/UPF插入isolation,生成post_ISO的網(wǎng)表;步驟3進行后端PR,會插入clock tree以及power switch等,生成最終的post_PR的網(wǎng)表。
理論上每次生成新的netlist都需要重新跑門級仿真,保證功能級仿真的正確。門級仿真的時間開銷很大,尤其對于規(guī)模稍大的芯片,跑完一個case經(jīng)常需要幾天的時間。
有人會問,綜合之后都會做formal和STA,來保證網(wǎng)表的一致性和timing沒有violation。那為什么還要做如此耗時耗力的門級仿真的。下面我們就來羅列一下門級仿真的主要作用和重點。
1 雙重保險
不論是在步驟1,2,3中,插入不同的東西之后,都會改變原來的netlist,雖然會做一致性檢查,但是還是需要進行功能性的門級仿真,以保證網(wǎng)表的正確性。
2 STA檢查不到的timing問題
STA可以檢查大多數(shù)的timing violation,但是也有力所不及的地方。比如:
(1)異步模塊和端口的timingcheck,這一塊,有很多公司其實是會做類似CDC的flow來保證異步timing的,但是在門級仿真中能更直觀直接的反映出來。
(2)STA中constraint加的不足,這類情況,在analog model的情況中體現(xiàn)的非常明顯。
比如下圖的這個情況,信號ABC是analogmode的三根輸入信號,因為在RTL仿真中,A/B/C三根信號都是同時toggle的,信號進入analog的mode之后,不會出現(xiàn)仿真的問題。但是在后仿中,A/B/C三根信號必然不是同時toggle的,這樣的信號,傳入ananlogmode中就可能出現(xiàn)仿真的錯誤。
上面這種問題的解決方案是:
詳細了解analogmode的需求,然后寫出完善的constraints給做綜合和STA。但是這些constraint總歸不是100%完善的,很多時候就需要后仿來報錯發(fā)現(xiàn)。
3 X態(tài)傳播的debug
這個是門級仿真中最重要的工作之一,就是排除芯片中所有X態(tài)傳播而造成的功能問題。
有人不是很理解X態(tài)的傳播,我們先簡單解釋一下:
if(a==1) b=1;
else b=0;
如上面這段簡單的代碼,如果a=X態(tài),在RTL仿真中,是不會傳播出去的,因為會走else這條通路,從而b=0;但是在門級仿真中,當a=X時,b就會=X,從而X態(tài)會一級一級傳播下去。
X態(tài)的傳播,有些是無所謂的,有些就會影響到芯片的正常工作,尤其是在controlpath上的X態(tài)傳播。而這些都只能依靠門級仿真來發(fā)現(xiàn)了。
當然,有很多大公司,在RTL仿真的時候,就會加入X態(tài)的模擬仿真,能提前盡早的發(fā)現(xiàn)這類問題。
4 驗證初始化reset流程的正確性
實際芯片在剛上電的時候,理論上大多數(shù)信號都是在不確定態(tài)X態(tài)的,需要經(jīng)過reset流程來進行初始化。而只有在門級仿真中,才能更加真實充分的反應(yīng)reset流程的正確性。
5 power評估
門級仿真中還有一個重要作用就是用來進行power估計,因為netlist尤其是post_PR的網(wǎng)表能更加真實的接近實際的芯片,提供的power評估值就越有參考價值。
一般會創(chuàng)建一個toggle rate最高的case來跑門級仿真,從而生成IR-DROP需要的VCD文件。
6 ISO值的驗證
低功耗設(shè)計在芯片設(shè)計中越來越重要,大多數(shù)芯片都會采取低功耗設(shè)計,在后端的實現(xiàn)中就需要插入isolation來保持一些信號在掉電狀態(tài)下的值。而ISO值為0還是為1,是直接參考CPF/UPF文件來實現(xiàn)的。而CPF/UPF文件很多時候是直接通過review得到的。
萬一在CPF/UPF中寫錯了,在門級仿真中就可以抓出類似的bug。
7 Power switch的驗證
同樣在low power設(shè)計中,powerswitchchain也是很重要的一環(huán),而這個只有在post_PR的網(wǎng)表中才會真正插入。
以上只是簡單羅列了一下門級仿真的作用,具體的門級仿真的操作細節(jié)和注意事項會在后續(xù)的文章中慢慢道來。這篇文章比較適合有一定工作經(jīng)驗但剛開始做門級仿真的朋友們,有什么問題,歡迎大家留言一起交流~
審核編輯:湯梓紅
-
IC設(shè)計
+關(guān)注
關(guān)注
38文章
1302瀏覽量
104325 -
芯片設(shè)計
+關(guān)注
關(guān)注
15文章
1030瀏覽量
55037 -
仿真
+關(guān)注
關(guān)注
50文章
4129瀏覽量
134066 -
DFT
+關(guān)注
關(guān)注
2文章
231瀏覽量
22851 -
數(shù)字IC
+關(guān)注
關(guān)注
1文章
38瀏覽量
12656
原文標題:數(shù)字IC設(shè)計流程中為什么要做門級仿真?
文章出處:【微信號:芯司機,微信公眾號:芯司機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論