專利名稱:標(biāo)準(zhǔn)單元庫模型的時序驗證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路設(shè)計領(lǐng)域,具體地說涉及一種標(biāo)準(zhǔn)單元庫模型的時序驗證方法。
背景技術(shù):
在半定制的ICantegrated Circuit,集成電路)設(shè)計中,標(biāo)準(zhǔn)單元庫是實際芯片和設(shè)計電路之間的紐帶。數(shù)字電路設(shè)計,尤其是納米工藝階段大規(guī)模的數(shù)字電路設(shè)計,標(biāo)準(zhǔn)單元庫已經(jīng)成為了設(shè)計電路的必須條件。參考圖1,圖1示出了從行為描述到帶延時信息的后仿真支撐著整個數(shù)字電路設(shè)計流程。隨著芯片規(guī)模日益復(fù)雜,工藝尺寸日益縮小,時序收斂問題毫無疑問也越來越復(fù)雜和無法避免。而反映單元庫時序信息的庫模型文件(.lib文件)在綜合后的流程中幾乎都要用到,如圖2所示。因此目前對用于EDA(Electronic Design Automation,電子自動化設(shè)計)工具的庫模型文件的準(zhǔn)確程度的要求也越來越高。非線性模型是目前工業(yè)界最廣泛使用的延遲計算模型。它采用差值估算的方法, 例如X軸作為輸入信號的渡越時間(Transition time)的取值坐標(biāo),y軸作為輸出負(fù)載電容的取值點坐標(biāo),ζ軸用于顯示輸入到輸出的延遲(Propagation delay)和輸出渡越時間。 綜合器就是依靠估算四個坐標(biāo)點范圍內(nèi)的時間(內(nèi)插值)來進行靜態(tài)時序分析的。對于估算插值落在坐標(biāo)平面范圍外面的點(外插值),估算值誤差會比較大,在綜合器進行綜合時,常常當(dāng)作違反DRC(Design Rule Check)規(guī)則來處理,因此這種取值是要避免的。其中, 渡越時間指的是從電源電壓的10%到90%所消耗的時間(上升渡越時間)和從電源電壓的90%到10%所消耗的時間(下降渡越時間),如圖3所示。輸入到輸出的延時指的是輸入信號在電源電壓50%時的時間點到輸出信號在電源電壓50%時的時間點,如圖4所示。通常,標(biāo)準(zhǔn)單元庫開發(fā)工程師根據(jù)工藝特征,憑借經(jīng)驗預(yù)估出工藝的最高頻率和最低頻率,根據(jù)單元能驅(qū)動的最小和最大扇出數(shù)預(yù)估最大電容負(fù)載和最小電容負(fù)載。這些就是特征化建模工具在輸入信號渡越時間和輸出負(fù)載電容邊界點的坐標(biāo)取值。特征化建模工具在邊界點坐標(biāo)內(nèi)通過對數(shù)運算再插入5個坐標(biāo)點,從而形成7行7列的時序查找表。傳統(tǒng)的單元庫的時序驗證方法就是通過流片驗證。為了避免PAD和測試鏈外部單元引入的額外的時間延遲以及單個單元測量誤差大的問題,目前的驗證電路大多是通過同種單元相串聯(lián)的電路形式實現(xiàn)的。如圖5所示,采用200個同種單元串聯(lián)形成的反相器測試鏈。其仿真波形參考圖6。現(xiàn)有技術(shù)中的方法雖然能夠有效的驗證單元庫中單元的時序信息,但是流片的成本很高,且流片驗證周期長、迭代次數(shù)多。
發(fā)明內(nèi)容
本發(fā)明提供一種標(biāo)準(zhǔn)單元庫模型的時序驗證方法,用于對庫模型文件中反映的時序信息進行驗證,并對庫模型文件中的偏差進行動態(tài)修正。
根據(jù)本發(fā)明的一個方面,提供一種標(biāo)準(zhǔn)單元庫模型的時序驗證方法,其特征在于, 包括通過電路仿真驗證標(biāo)準(zhǔn)單元庫模型的坐標(biāo)點和/或內(nèi)插值點上的時序信息。本發(fā)明提出了一種在庫模型文件建立完以后就可以對其時序信息進行驗證的方法。運用所述方法可以在庫模型的開發(fā)過程中對庫模型文件中的時序信息進行驗證,并對不準(zhǔn)確的時序信息進行修正。除此之外,還能對查找表中各個坐標(biāo)點進行準(zhǔn)確驗證。采用本發(fā)明的方法確保了仿真器和靜態(tài)時序分析工具的結(jié)果相同,從而使得設(shè)計者能夠綜合出時序準(zhǔn)確的門級電路。
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯圖1為標(biāo)準(zhǔn)單元庫對ASIC設(shè)計流程支撐示意圖;圖2為時序模型庫對ASIC流程的支持示意圖;圖3為渡越時間示意圖;圖4為輸入到輸出的延時(門延時)的示意圖;圖5為以反相器為例設(shè)計的流片驗證電路單元測試鏈;圖6為圖5所示的測試鏈的仿真波形;圖7為坐標(biāo)點驗證電路;圖8為內(nèi)插值驗證電路;圖9用DC分析電路時序流程圖;圖10為根據(jù)本發(fā)明提供的一種標(biāo)準(zhǔn)單元庫模型的時序驗證方法的一種具體實施方式
的流程示意圖。附圖中相同或相似的附圖標(biāo)記代表相同或相似的部件。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明的實施例作詳細(xì)描述。下面詳細(xì)描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。下文的公開提供了許多不同的實施例或例子用來實現(xiàn)本發(fā)明的不同結(jié)構(gòu)。為了簡化本發(fā)明的公開,下文中對特定例子的部件和設(shè)置進行描述。當(dāng)然,它們僅僅為示例,并且目的不在于限制本發(fā)明。此外,本發(fā)明可以在不同例子中重復(fù)參考數(shù)字和/或字母。這種重復(fù)是為了簡化和清楚的目的,其本身不指示所討論各種實施例和/或設(shè)置之間的關(guān)系。門延遲、輸出渡越時間和輸出負(fù)載以及輸入信號的渡越時間都有關(guān)。標(biāo)準(zhǔn)單元庫為EDA綜合工具做的庫模型文件中的單元延遲信息正是按照輸入信號的渡越時間和輸出負(fù)載電容兩項指標(biāo)而做出的查找表。如下表所示cell_rise(〃 del丄7_7〃 ) {
index_l(〃 4,6. 66667,9. 33333,12,14. 6667,17. 3333,20 〃 );index_2( “ 0. 0001,0. 0349711,0. 151229,0. 404096,0. 653979,0. 808093, 2. 82807");values(〃 0. 5644518,0. 6948845,1. 0310950,1. 7338051,2. 4269329,2.8489913, 8. 4911527" ,\“ 0. 6415743,0. 7838954, 1. 1395935, 1. 8532345, 2. 5467970, 2. 9759573, 8. 5819405",\“ 0. 6890143,0. 8439078, 1. 2118898, 1. 9399873, 2. 6488973, 3. 0795939, 8. 6743634",\“ 0. 7254624,0. 8892369, 1. 2679939, 2. 0082709, 2. 7279934, 3. 1681033, 8. 7659844",\“ 0. 7502326,0. 9224236, 1. 3109829, 2. 0609843, 2. 7905380, 3. 2360545, 8. 8603738" ,\“ 0. 7700739,0. 9528796, 1. 3523257, 2. 1109570, 2. 8494915, 3. 2916372, 8. 9382004" ,\“ 0. 7807973,0. 9682171, 1. 3811141, 2. 1439641, 2. 8909357, 3. 3459613, 9.0225081");index_l的值指的是輸入信號的渡越時間,indeX_2的值指的是輸出負(fù)載電容, values的值指的是時序信息,這里是指門的輸出上升延時(cell_riSe)。例如indeX_l為 12,index_2為0. 151229時,在values中指的是第4行,第3列的值,即1. 2679939。在標(biāo)準(zhǔn)單元庫特征化建模的過程中,設(shè)計者必須確定輸入信號的渡越時間和輸出負(fù)載電容的相應(yīng)坐標(biāo)點。例如,要生成一個7行7列的時序查找表,設(shè)計者就必須確定輸入信號渡越時間的7個點和輸出負(fù)載電容的7個點。這些點選擇的合適與否直接影響后續(xù)生成的查找表的準(zhǔn)確與否,進而直接影響設(shè)計的電路與實際制造出來的電路之間在時序上的偏差,如果偏差超過一定范圍就會導(dǎo)致流片的失敗。所以庫模型文件中時序信息的準(zhǔn)確性對于評價一套標(biāo)準(zhǔn)單元庫性能的好壞尤為重要。目前對于庫模型文件中的相應(yīng)坐標(biāo)點的選取還沒有一個成熟的方法,大多數(shù)的庫的開發(fā)人員都是憑著經(jīng)驗來選取坐標(biāo)點。所以有必要對庫模型文件中反映的時序信息進行驗證。本發(fā)明對于要驗證的標(biāo)準(zhǔn)單元庫模型,針對其坐標(biāo)點和內(nèi)插值點采用不同的驗證方法。對于坐標(biāo)點上的時序信息(標(biāo)準(zhǔn)單元庫模型中提供的數(shù)據(jù),例如輸出延遲和輸出渡越時間)要求和電路層級仿真(例如HSPICE仿真)的結(jié)果基本相同。對于內(nèi)插值點,使用靜態(tài)時序工具(例如分析工具DC (Design Compiler))來估算其上的時序信息。一般地,要求估算結(jié)果與電路層級仿真結(jié)果之差在1 %的范圍之內(nèi)。而對于考慮到連線RC延遲的情況使用靜態(tài)時序工具的估算與電路層級仿真結(jié)果的誤差范圍應(yīng)該在5%以內(nèi)。參考圖10,圖10為本發(fā)明提供的方法的一個實施例的流程示意圖。執(zhí)行步驟 S101,通過電路仿真,驗證標(biāo)準(zhǔn)單元庫模型的坐標(biāo)點和/或內(nèi)插值點上的時序信息。進一步地,首先搭建包括標(biāo)準(zhǔn)單元庫模型的電路模型的第一仿真電路;根據(jù)標(biāo)準(zhǔn)單元庫模型的坐標(biāo)點設(shè)置輸入信號的渡越時間和輸出負(fù)載電容。它們的值與要測量的點在庫模型文件 (· lib文件)中的值一致。依舊以index_l為12,index_2為0. 151229為例,即驗證輸入
5信號渡越時間為12ns和輸出負(fù)載電容0. 151229pf時的時序信息index_l(〃 4,6. 66667,9. 33333,12,14. 6667,17. 3333,20〃 );index_2( “ 0. 0001,0. 0349711,0. 151229,0. 404096,0. 653979,0. 808093, 2. 82807");即采用所述第一仿真電路進行仿真,獲得第一仿真結(jié)果。參考圖7,用圖7所示仿真電路做HSPICE仿真,測量輸出端的渡越時間和門延遲時間,并與時序文件中的點進行比較,判斷兩者是否處于可接受誤差范圍之內(nèi)。例如判斷標(biāo)準(zhǔn)單元庫模型的坐標(biāo)點上的時序信息與所述第一仿真結(jié)果相比的誤差是否處于第一閾值范圍,優(yōu)選為1 %以內(nèi)。如果不滿足則記錄,等到該單元所有坐標(biāo)點驗證結(jié)束后,對不滿足誤差要求的坐標(biāo)點進行重新設(shè)置并進行參數(shù)提取。重復(fù)上述過程,直到所有的點滿足要求為止。進一步地,參考圖8,搭建包括標(biāo)準(zhǔn)單元庫模型的電路模型的第二仿真電路,在所述第二仿真電路的輸入端放置緩沖器(buffer)。用HDL(Hardware Description Language) 語言描述出來。如圖8所示,在單元的輸入端加入一個緩沖器的目的是為了給測試單元提供一個真實電路的環(huán)境,使測試結(jié)果更接近實際情況。對于多輸入的單元,只要將其中一端接緩沖器,其余端口接高電平或地低電平(只要不對輸出端產(chǎn)生影響)即可。根據(jù)標(biāo)準(zhǔn)單元庫模型的內(nèi)插值點設(shè)置輸入信號的渡越時間和輸出負(fù)載電容;采用所述第二仿真電路進行仿真,獲得第二仿真結(jié)果。進一步地,使用synospsys的Library Compiler工具把.lib格式的文件轉(zhuǎn)換成.db格式;并利用synospsys的靜態(tài)時序分析工具計算電路延遲,參考圖9。值得注意的是輸出負(fù)載電容值要落在坐標(biāo)點范圍內(nèi)。之后按照這些輸入輸出條件用一樣的電路做 HSPICE 仿真。最后,查看DC輸出的時序分析文件與HSPICE仿真結(jié)果,比較計算誤差是否在第二閾值,優(yōu)選為以內(nèi)。如果誤差大于這個范圍就認(rèn)為坐標(biāo)點選取的不合理,需要重新選取時間點或者在誤差大的點之間增加時間點。值得注意的是,不論是在第一仿真電路還是第二仿真電路中,當(dāng)存在連線RC延遲時,所述第一閾值與所述第二閾值均為小于5%。可以看出,采用本發(fā)明提供的方法可確保仿真器和靜態(tài)時序分析工具的結(jié)果相同,從而使得設(shè)計者能夠綜合出時序準(zhǔn)確的門級電路。對于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實現(xiàn)本發(fā)明。因此,無論從哪一點來看,均應(yīng)將實施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化涵括在本發(fā)明內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。此外,顯然“包括” 一詞不排除其他模塊或步驟,單數(shù)不排除復(fù)數(shù)。
權(quán)利要求
1.一種標(biāo)準(zhǔn)單元庫模型的時序驗證方法,包括通過電路仿真驗證標(biāo)準(zhǔn)單元庫模型的坐標(biāo)點和/或內(nèi)插值點上的時序信息。
2.根據(jù)權(quán)利要求1所述的方法,其中所述電路仿真包括 搭建包括標(biāo)準(zhǔn)單元庫模型的電路模型的第一仿真電路;根據(jù)標(biāo)準(zhǔn)單元庫模型的坐標(biāo)點設(shè)置輸入信號的渡越時間和輸出負(fù)載電容; 采用所述第一仿真電路進行仿真,獲得第一仿真結(jié)果。
3.根據(jù)權(quán)利要求2所述的方法,其中所述驗證包括判斷標(biāo)準(zhǔn)單元庫模型的坐標(biāo)點上的時序信息與所述第一仿真結(jié)果相比的誤差是否處于第一閾值范圍內(nèi),如不在所述第一閾值范圍內(nèi),則重新設(shè)置所述坐標(biāo)點。
4.根據(jù)權(quán)利要求1所述的方法,其中所述電路仿真包括搭建包括標(biāo)準(zhǔn)單元庫模型的電路模型的第二仿真電路,在所述第二仿真電路的輸入端放置緩沖器;根據(jù)標(biāo)準(zhǔn)單元庫模型的內(nèi)插值點設(shè)置輸入信號的渡越時間和輸出負(fù)載電容; 采用所述第二仿真電路進行仿真,獲得第二仿真結(jié)果。
5.根據(jù)權(quán)利要求4所述的方法,其中所述驗證包括 進行靜態(tài)時序分析以獲取靜態(tài)時序分析結(jié)果;比較所述靜態(tài)時序分析結(jié)果以及所述第二仿真結(jié)果,當(dāng)兩者誤差在第二閾值范圍內(nèi), 則認(rèn)為庫模型文件中的坐標(biāo)點合理,反之,則重新設(shè)置所述坐標(biāo)點。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述第一閾值為小于1%。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述第二閾值為小于1%。
8.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,當(dāng)存在連線RC延遲時,所述第一閾值與所述第二閾值均為小于5%。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,采用HSPICE對第一仿真電路和/或第二仿真電路進行仿真。
10.根據(jù)權(quán)利要求5所述的方法,其特征在于,采用DC來進行靜態(tài)時序分析。
全文摘要
本發(fā)明提供一種標(biāo)準(zhǔn)單元庫模型的時序驗證方法,包括通過電路仿真驗證標(biāo)準(zhǔn)單元庫模型的坐標(biāo)點和/或內(nèi)插值點上的時序信息。本發(fā)明提出了一種在庫模型文件建立完以后就可以對其時序信息進行驗證的方法。運用這個方法可以在庫的開發(fā)過程中就對庫模型文件中的不準(zhǔn)確的時序信息進行修正,還能對查找表中各個坐標(biāo)點進行準(zhǔn)確的驗證。
文檔編號G06F17/50GK102436533SQ20111045666
公開日2012年5月2日 申請日期2011年12月30日 優(yōu)先權(quán)日2011年12月30日
發(fā)明者周寵, 尹明會, 趙劼, 陳嵐 申請人:中國科學(xué)院微電子研究所