靜態(tài)時(shí)序分析介紹
傳統(tǒng)的電路設(shè)計(jì)分析方法是僅僅采用動(dòng)態(tài)仿真的方法來(lái)驗(yàn)證設(shè)計(jì)的正確性。隨著集成電路的發(fā)展,這一驗(yàn)證方法就成為了大規(guī)模復(fù)雜的設(shè)計(jì)驗(yàn)證時(shí)的瓶頸。
相對(duì)于動(dòng)態(tài)仿真方法,靜態(tài)時(shí)序分析方法要快很多,而且它能夠驗(yàn)證所有的門(mén)級(jí)電路設(shè)計(jì)的時(shí)序關(guān)系。
靜態(tài)時(shí)序分析最大的特點(diǎn)是不需要加入輸入測(cè)試向量,每一個(gè)時(shí)序路徑都自動(dòng)被檢測(cè)到。
靜態(tài)時(shí)序分析工具主要對(duì)設(shè)計(jì)電路中以下路徑進(jìn)行分析:
從原始輸入端到設(shè)計(jì)電路中的所有觸發(fā)器;
從觸發(fā)器到觸發(fā)器;
從觸發(fā)器到設(shè)計(jì)電路的原始輸出端口;
從設(shè)計(jì)電路的原始輸入端口到原始輸出端口。
時(shí)序路徑(Timing Path)
路徑1:從設(shè)計(jì)電路的原始輸入端口A到觸發(fā)器的數(shù)據(jù)端口D。
路徑2:從觸發(fā)器的CLK端到觸發(fā)器的數(shù)據(jù)輸入端口D。
路徑3:從觸發(fā)器的CLK端到設(shè)計(jì)電路的原始輸出端口Z。
路徑4:從設(shè)計(jì)電路的原始輸入端口A到設(shè)計(jì)電路的原始輸出端口Z。
觸發(fā)器的建立時(shí)間(Setup Time):
指的是時(shí)鐘信號(hào)變化之前數(shù)據(jù)保持不變的時(shí)間
觸發(fā)器的保持時(shí)間(Hold Time):
指的是時(shí)鐘信號(hào)變化之后數(shù)據(jù)保持不變的時(shí)間
時(shí)間裕量(Slack)
Slack是指信號(hào)在時(shí)序路徑上要求的時(shí)間和實(shí)際花費(fèi)的時(shí)間之差。
時(shí)鐘偏斜(Clock Skew)
時(shí)鐘偏斜是指從時(shí)鐘定義點(diǎn)到不同觸發(fā)器時(shí)鐘引腳的延時(shí)差。在可綜合的同步設(shè)計(jì)電路中,在一個(gè)時(shí)鐘沿第一個(gè)觸發(fā)器放出數(shù)據(jù),此數(shù)據(jù)在另一個(gè)時(shí)鐘沿(通常是接下來(lái)的那個(gè)時(shí)鐘沿)被第二個(gè)觸發(fā)器接收到。如果這兩個(gè)時(shí)鐘沿(發(fā)出數(shù)據(jù)的時(shí)鐘沿和接收數(shù)據(jù)的時(shí)鐘沿)是同一個(gè)時(shí)鐘源放出的,則在理想狀態(tài)下,兩個(gè)時(shí)鐘沿相差一個(gè)時(shí)鐘周期。但是由于兩個(gè)觸發(fā)器的時(shí)鐘路徑的不同,路徑上的延時(shí)會(huì)有一定的差別,接收數(shù)據(jù)的時(shí)鐘沿可能早到或晚到,這樣的話(huà)就會(huì)產(chǎn)生時(shí)鐘偏斜。
更多請(qǐng)查看 :
綜合與時(shí)序分析
PTPX功耗分析 | Average Power Analysis
PTPX功耗分析 | Peak Power Analysis
實(shí)例:用PrimeTime進(jìn)行時(shí)序分析
Primetime,縮寫(xiě)為PT,是一個(gè)獨(dú)立的STA工具。它不僅能夠在設(shè)計(jì)電路所要求的約束條件下檢查時(shí)序,還能對(duì)設(shè)計(jì)電路進(jìn)行全面的靜態(tài)時(shí)序分析。
(1)讀取設(shè)計(jì)電路數(shù)據(jù)
把電路的設(shè)計(jì)代碼文件讀入PT中,以便PT進(jìn)行分析。值得注意的是,PT做靜態(tài)時(shí)序分析的時(shí)候只能讀映射過(guò)的文件。
read_db-netlist_only.db#dbformat read_verilog .sv#verilogformat read_vhdl .svhd#vhdlformat read_edif .edf#EDIFformat
(2)創(chuàng)建設(shè)計(jì)電路的約束條件
對(duì)設(shè)計(jì)電路設(shè)置約束條件,這樣才能得到接近實(shí)際情況的分析結(jié)果。通常需要設(shè)置相關(guān)的時(shí)鐘信號(hào)和輸入/輸出延時(shí)
create_clock-period40-waveform{020}CLK set_clock_latency-source0.2CLK set_clock_uncertainty-setup0.5-hold0.5CLK set_dont_touch_networkCLK set_ideal_networkCLK
(3)指定環(huán)境分析條件
除了一些語(yǔ)法上輕微的差別,PT的環(huán)境的設(shè)置命令與DC一致。
下面是常用的設(shè)置環(huán)境的命令:
set_wire_load_model-nameset_wire_load_mode set_operating_conditions set_load50[all_outputs] set_input_delay10.0-clock [all_inputs] set_output_delay10.0-clock [all_outputs]
(4)進(jìn)行靜態(tài)時(shí)序分析
report_timing:顯示時(shí)序路徑信息。
report_timing -delay max -from a -to z2
report_timing -delay min -from a -to z2
上述第一條命令用于建立時(shí)間沖突的檢查,第二條命令用于保持時(shí)間沖突的檢查。
report_constraint:顯示設(shè)計(jì)電路的相關(guān)約束信息。
report_constraint -all_violators
檢查時(shí)序沖突和修正沖突
由于靜態(tài)時(shí)序工具把整個(gè)設(shè)計(jì)電路打散成時(shí)序路徑,分析不同路徑的時(shí)序信息,得到建立時(shí)間和保持時(shí)間的計(jì)算結(jié)果。而靜態(tài)時(shí)序分析的精髓就在于判斷和分析這兩個(gè)參數(shù)的結(jié)果。
消除建立、保持時(shí)間的沖突方法
消除建立時(shí)間的沖突方法如下:
加強(qiáng)約束條件重新綜合設(shè)計(jì)電路或?qū)Ξa(chǎn)生沖突的時(shí)序路徑進(jìn)行進(jìn)一步的優(yōu)化;
通過(guò)做ECO(Engineering Change Order)來(lái)消除沖突;
如果以上方法都不能產(chǎn)生效果,那可能只好通過(guò)修改RTL代碼來(lái)實(shí)現(xiàn)。
消除保持時(shí)間沖突方法如下:
絕大多數(shù)的布局布線工具都具有自動(dòng)消除保持時(shí)間沖突的功能,可以通過(guò)這些工具來(lái)實(shí)現(xiàn);
如果工具不能實(shí)現(xiàn)的話(huà),可以在產(chǎn)生沖突的時(shí)序路徑上通過(guò)ECO添加緩沖器邏輯,使得數(shù)據(jù)到達(dá)的時(shí)間符合保持時(shí)間的檢查,以此消除沖突。
統(tǒng)計(jì)靜態(tài)時(shí)序分析
靜態(tài)時(shí)序分析很久以來(lái)都被看作是百萬(wàn)門(mén)級(jí)芯片時(shí)序分析的基本方法及設(shè)計(jì)完成的檢驗(yàn)。然而,隨著深亞微米技術(shù)進(jìn)一步下降到90 nm及其以下的線寬,設(shè)計(jì)者在進(jìn)行靜態(tài)時(shí)序分析時(shí)面臨著太多的不確定性。
用統(tǒng)計(jì)表態(tài)時(shí)序分析(SSTA,Statistical Static Timing Analysis)的方法有可能估計(jì)出許多不確定的現(xiàn)象,幫助設(shè)計(jì)者精調(diào)設(shè)計(jì),減少不必要的過(guò)度設(shè)計(jì),使得設(shè)計(jì)更可靠,進(jìn)而提高良率。
傳統(tǒng)的時(shí)序分析的局限
制程變異的來(lái)源有很多,主要包括每批晶圓的差異、晶圓與晶圓間的差異、裸片間的差異,以及裸片上的差異等。
將電路置于最好條件(Best Case)、最壞條件(Worst Case)等多種情況下進(jìn)行分析,但是對(duì)于晶片上的制程變異卻無(wú)能為力。因?yàn)樵谧顗臈l件分析時(shí),靜態(tài)時(shí)序分析總是假定一個(gè)晶圓上的電路同時(shí)都處于最壞情況下,而實(shí)際上,同一個(gè)晶圓上的電路不可能同時(shí)都處于最壞的條件下(這可由分析版圖或者工藝得來(lái))。
在一個(gè)芯片上不同位置上畫(huà)了兩個(gè)完全一樣的MOS管,制造出來(lái)后,兩只MOS管的性能很難保證完全一樣。當(dāng)工藝在90 nm以下時(shí),誤差會(huì)高達(dá)20%~30%。傳統(tǒng)式的靜態(tài)時(shí)序分析是將芯片上所有器件按同一個(gè)工藝及工作條件下的時(shí)間路徑上的延時(shí)加起來(lái),因而傳統(tǒng)式的靜態(tài)時(shí)序分析對(duì)于延遲的估計(jì)過(guò)于悲觀。
統(tǒng)計(jì)靜態(tài)時(shí)序分析的概念
在靜態(tài)時(shí)序分析中,信號(hào)的到達(dá)時(shí)間和門(mén)延遲都是確定的數(shù)值。
在統(tǒng)計(jì)靜態(tài)時(shí)序分析中,當(dāng)工藝參數(shù)的偏差用隨機(jī)變量建模后,作為工藝參數(shù)函數(shù)的門(mén)延遲、互連線延遲和門(mén)輸入端信號(hào)的到達(dá)時(shí)間自然也需要用帶有概率分布的隨機(jī)變量來(lái)描述。
統(tǒng)計(jì)靜態(tài)時(shí)序分析的步驟
首先,要有用于統(tǒng)計(jì)靜態(tài)時(shí)序分析的標(biāo)準(zhǔn)單元庫(kù)。
通過(guò)統(tǒng)計(jì)靜態(tài)時(shí)序分析,找出合適的時(shí)序窗(Timing Window),在此窗中,良率可以達(dá)到最高。
總之,統(tǒng)計(jì)靜態(tài)時(shí)序分析通過(guò)對(duì)制程變異進(jìn)行恰當(dāng)?shù)慕?,更好地解決了延遲的不確定性問(wèn)題,避免了過(guò)度的余量,提高了設(shè)計(jì)的性能及制造的良品率。
審核編輯:郭婷
-
集成電路
+關(guān)注
關(guān)注
5371文章
11254瀏覽量
359790 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
1992瀏覽量
60978
原文標(biāo)題:靜態(tài)時(shí)序分析
文章出處:【微信號(hào):數(shù)字ICer,微信公眾號(hào):數(shù)字ICer】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論