您好,登錄后才能下訂單哦!
靜態(tài)時(shí)序分析及setup及hold時(shí)序違例修復(fù)的示例分析,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
STA用于分析設(shè)計(jì)中的所有時(shí)序路徑是否都時(shí)序收斂,其不需要輸入激勵(lì)。對(duì)于數(shù)字芯片設(shè)計(jì)工程師,必須要了解不同的時(shí)序路徑和相關(guān)的STA概念。
時(shí)序分析適用于任何ASIC設(shè)計(jì)的階段,可在各個(gè)設(shè)計(jì)階段執(zhí)行。如果設(shè)計(jì)違反setup time或者hold time,則設(shè)計(jì)進(jìn)入亞穩(wěn)態(tài)。
因此,必須通過時(shí)序分析工具Synopsys PT找出并解決設(shè)計(jì)中的時(shí)序違例問題。
Setup Time& Hold Time
觸發(fā)器輸入信號(hào)'d'在有效時(shí)鐘邊沿到達(dá)之前所需的保持穩(wěn)定值的最短時(shí)間,稱為setup time(建立時(shí)間)。
觸發(fā)器輸入信號(hào)'d'在時(shí)鐘的有效邊沿到達(dá)之后應(yīng)至少保持的時(shí)間稱為hold time(保持時(shí)間)。
Frequency Calculations
如下圖所示,觸發(fā)器(reg1)的時(shí)序參數(shù)為tpff1和tsu1,觸發(fā)器(reg2)的時(shí)序參數(shù)為tpff2和tsu2。該數(shù)據(jù)路徑中的組合邏輯延遲為tcomb。這些時(shí)序參數(shù)可以用于確定該設(shè)計(jì)的最大工作頻率。
arrival time為tpff1 + tcomb,required time為Tclk-tsu2,其中Tclk是時(shí)鐘周期,tsu2是第二個(gè)觸發(fā)器的setup time。
因此,計(jì)算最大頻率需滿足:
tpff1 + tcomb = Tclk-tsu2 Tclk = tpff1 + tcomb +tsu2 Fmax = 1/( tpff1 + tcomb +tsu2)
Skew in Design
在上圖中,觸發(fā)1是launchflip-flop,觸發(fā)2是capture flip-flop。
在上面的例子中,時(shí)鐘路徑上增加了buffer延遲。此時(shí),最大頻率為:
tpff1 + tcomb = Tclk-tsu2+tbufTclk = tpff1 + tcomb +tsu2- tbuf Fmax = 1/( tpff1 + tcomb +tsu2- tbuf)
在上面的例子中,數(shù)據(jù)路徑上增加了緩沖器延遲。此時(shí),最大頻率為:
tpff1 + tcomb +tbuf= Tclk-tsu2Tclk = tpff1 + tcomb +tsu2+ tbufFmax = 1/( tpff1 + tcomb +tsu2+tbuf)
由此可以看出,數(shù)據(jù)路徑和時(shí)鐘路徑上的skew會(huì)從相反的方向影響設(shè)計(jì)的性能。
Timing Paths in Design
STA通過檢查設(shè)計(jì)中所有可能的時(shí)序路徑來確定ASIC設(shè)計(jì)是否時(shí)序違例,并且只檢查具有最差延遲的路徑,而不關(guān)心設(shè)計(jì)的邏輯功能。
時(shí)序路徑從寄存器時(shí)鐘端口或input端口開始,稱為Start point。
時(shí)序路徑終止于寄存器數(shù)據(jù)端口或output端口,稱為Endpoint。
對(duì)于任何RTL設(shè)計(jì),可以有四類時(shí)序路徑:
? Input-to-register path? Output-to-register path? Register-to-register path? Input-to-output path
Timing Goals for the Design
在實(shí)際場(chǎng)景中,使用時(shí)鐘和IO時(shí)序來定義設(shè)計(jì)的時(shí)序目標(biāo)。因?yàn)槎x了時(shí)鐘之后,就意味著定義了Register-to-register path
Min-Max Analysis for ASIC Design
setup time Min-Max分析是基于最快的時(shí)鐘到達(dá)和最慢的數(shù)據(jù)到達(dá)。
hold time Min-Max分析是基于最快的數(shù)據(jù)到達(dá)和最慢的時(shí)鐘到達(dá)。
要fix setup time違例,數(shù)據(jù)應(yīng)該快速到達(dá),launch時(shí)鐘應(yīng)快速到達(dá),capture時(shí)鐘應(yīng)緩慢到達(dá)。
要fix hold time違例,數(shù)據(jù)應(yīng)該緩慢到達(dá),launch時(shí)鐘應(yīng)緩慢到達(dá),capture時(shí)鐘應(yīng)快速到達(dá)。
下面舉兩個(gè)分別優(yōu)化setup time和hold time的示例:
Setup Violation Fix
現(xiàn)在流行的編碼技術(shù)是優(yōu)先編碼(priority encoding)和多路復(fù)用編碼(multiplexed encoding)。
assign y_out=a_in && b_in&& c_in && d_in && e_in && f_in&& g_in&& h_in;
上面的語(yǔ)句生成優(yōu)先級(jí)邏輯,其中h_in具有最高優(yōu)先級(jí)。
在優(yōu)先級(jí)編碼方法中,總延遲為7tpd。為了提高設(shè)計(jì)性能,必須減少組合邏輯的傳播延遲。
下圖是多路復(fù)用編碼,總傳播延遲僅為3tpd。(并行化的體現(xiàn))
Hold Violation Fix
對(duì)于上圖中的設(shè)計(jì),如果組合邏輯延遲較小可能發(fā)生保持時(shí)間違例。
要修復(fù)設(shè)計(jì)的保持時(shí)間違例,可以在數(shù)據(jù)路徑上插buffer,但需要注意不能夠?qū)е陆r(shí)間違例。
Timing Exceptions in the Design
1、Asynchronous and False Paths
如果設(shè)計(jì)中一個(gè)信號(hào)或端口的變化不影響輸出,需要設(shè)置成false path。
異步路徑也被視為false path,不需要進(jìn)行時(shí)序檢查。
2、Multicycle Paths
如果設(shè)計(jì)中的時(shí)序路徑延遲允許超過一個(gè)時(shí)鐘周期,則路徑為被視為多周期路徑。
set_multicycle_path –setup 2 –from [get_cells FF4 ] –to [ get_cells FF5 ]set_multicycle_path –hold 1 –from [ get_cells FF4 ] –to [ get_cells FF5 ]
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。