一、什么是數(shù)字后仿?
這是相對(duì)于數(shù)字前仿來說的。從概念上來說,數(shù)字驗(yàn)證包含兩方面的內(nèi)容,數(shù)字前仿和數(shù)字后仿。前者中timing被默認(rèn)為理想情況,主要用來驗(yàn)證數(shù)字電路的功能,后者主要用來驗(yàn)證timing相關(guān)。數(shù)字后仿做為數(shù)字電路設(shè)計(jì)中重要的一環(huán),用來檢查時(shí)序是否滿足,有沒有時(shí)序違例的情況發(fā)生。數(shù)字后仿需要的文件有門級(jí)網(wǎng)表和sdf文件。工程師需要將sdf文件進(jìn)行反標(biāo),從而使得仿真工具改變數(shù)字電路的默認(rèn)timing。
二、什么是門級(jí)網(wǎng)表?
數(shù)字前端設(shè)計(jì)的RTL代碼 中的寄存器和組合邏輯,其物理實(shí)現(xiàn)還是對(duì)應(yīng)到具體門電路。由于基本的寄存器或組合邏輯,對(duì)應(yīng)的電路結(jié)構(gòu)已經(jīng)很穩(wěn)定,電學(xué)特性也很明確,故而在綜合級(jí)別較高的 EDA 工具中,一般不需要再親自去描述它們的實(shí)現(xiàn)方法,而是調(diào)用現(xiàn)成的庫(kù)信息。EDA 工具會(huì)根據(jù) RTL 描述自動(dòng)編譯出門級(jí)的電路描述,這就是門級(jí)網(wǎng)表。門級(jí)網(wǎng)表分為pr前網(wǎng)表和pr后網(wǎng)表。
PR前網(wǎng)表:又稱為綜合(一般為Design Compiler)后網(wǎng)表,采用的是工藝庫(kù)中default的timing,且只有cell的timing信息。此時(shí)由于內(nèi)部的setup和hold沒有修好,會(huì)出現(xiàn)不少violation的情形。
PR后網(wǎng)表:相比于pr前網(wǎng)表,pr后網(wǎng)表加上了buf,decap,filler和antenna等器件,timing信息也與pr前網(wǎng)表一致。
三、什么是sdf文件?
SDF文件(standard delay format),直譯過來就是標(biāo)準(zhǔn)延時(shí)格式。它描述設(shè)計(jì)中的timing信息,指明了模塊管腳與管腳之間的delay,時(shí)鐘到數(shù)據(jù)的delay,內(nèi)部連接delay等。后端布局布線之后由“QRC”出spef,通過PT生成sdf,所以sdf中timing信息都是布局布線之后客觀存在的timing??偠灾?,SDF文件是把布局布線過程中的器件延時(shí)和線延時(shí)信息記錄下來,從而在進(jìn)行路徑時(shí)序分析時(shí)可以將整條路徑的時(shí)序計(jì)算出來,再根據(jù)時(shí)序約束條件判斷是否滿足時(shí)序要求。
設(shè)計(jì)過程中如果時(shí)序不滿足時(shí)需要多次迭代的。每次布局布線后都會(huì)通過QRC抽取連線寄生參數(shù),配合timing library得到當(dāng)前的SDF時(shí)序反標(biāo)信息,從而幫助設(shè)計(jì)人員對(duì)時(shí)序違背的路徑進(jìn)行修改。一般來講,在時(shí)序收斂前用SDF分析幫助修改設(shè)計(jì),時(shí)序滿足后,利用SDF進(jìn)行動(dòng)態(tài)仿真double check下時(shí)序滿足情況。
四、如何反標(biāo)sdf文件?
較為常見的方法是在bench中調(diào)用系統(tǒng)函數(shù)$sdf_annotate來完成。還有其他的方法,比如作為elaboration的選項(xiàng)指定等。$sdf_annotate的標(biāo)準(zhǔn)格式如下:
$sdf_annotate(“sdf_file”[,module_instance][,“sdf_configfile”][,“sdf_logfile”][,“mtm_spec”][,“scale_factors”][,“scale_type”]);
其中:
“sdf_file”:指定SDF文件的路徑。
“module_instance”:指定反標(biāo)設(shè)計(jì)的范圍(scope)
“sdf_configfile”:指定SDF配置文件
“sdf_logfile”:指定VCS保存error 和warnings消息的SDF日志文件。也可以使用+sdfverbose runtime option來打印所有反標(biāo)消息
“mtm_spec”:指定延遲類型"MINIMUM(min)", "TYPICAL(typ)“或者"MAXIMUM(max)”。
“scale_factors”:分別指定minmax的縮放因子,默認(rèn)是"1.01.0"
“scale_type”:指定縮放之前延遲值的來源。
如下圖舉例:
在反標(biāo)SDF后,specify塊中定義的延遲不再有用,取代的將是SDF文件中的延遲。So,如何在芯片數(shù)字后仿中反標(biāo)sdf,你了解了嗎?
審核編輯:劉清
-
寄存器
+關(guān)注
關(guān)注
31文章
5368瀏覽量
121244 -
EDA工具
+關(guān)注
關(guān)注
4文章
268瀏覽量
31949 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59966 -
數(shù)字電路
+關(guān)注
關(guān)注
193文章
1629瀏覽量
80838 -
門級(jí)電路
+關(guān)注
關(guān)注
0文章
15瀏覽量
2003
原文標(biāo)題:科普 | 淺談芯片數(shù)字后仿的那些事
文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論