Min pulse width定義
最小脈沖寬度檢查可確保時鐘信號的寬度足夠?qū)挘员悴杉秸_的數(shù)據(jù),保證設(shè)計功能。即為了獲得穩(wěn)定的輸出,需要確保時鐘信號寬度至少達(dá)到某個“最小寬度”。比如lib中就對寄存器Flipflop的CLK pin有min pulse width的check。
- High pulse width
If you need a formal definition of the term, it is the interval between the rising edge of the signal crossing 50% of VDD and the falling edge of the signal crossing 50% of VDD.
- Low pulse width
If talking in terms of low signals, it is the the interval between falling edge of the signal crossing 50% of VDD and the rising edge of signal crossing 50% of VDD.
以下圖為例,一個時鐘信號CLK,經(jīng)過六級普通buffer(各自的rise time和fall time是不相同的)到達(dá)一個寄存器的CK 端。我們來計算下high pulse width,low pulse width以及判斷是否存在min pulse width違例(uncertainty:80ps Reg ck pin requirement min pulse width:0.420ns)。
High pulse width = 0.5 + (0.049-0.056) + (0.034 -0.039) + (0.023-0.026) + (0.042-0.046) + (0.061 – 0.061) + (0.051-0.054) = 0.478ns
Low Pulse width = 0.5 + (0.056 – 0.049) + (0.038 – 0.034) + (0.026 – 0.023) + (0.046 – 0.042) + (0.061 – 0.061) + (0.054 – 0.051) = 0.522ns
high pulse width = 0.478-0.080 = 0.398ns (小于0.420ns)
因此, 存在min pulse width violation 。
Min pulse width檢查方式
- Liberty文件
Liberty文件中對寄存器的CLK pin和reset pin均有一個默認(rèn)的min pulse width check值。在STA分析時工具會自動載入進(jìn)行check。如圖1所示,index_1為input transition。
圖1 lib中min_pulse_width屬性定義
- SDC約束
除了采用lib文件中默認(rèn)的min pulse width值check外,我們還可以通過如下SDC命令來設(shè)置特殊的約束條件。
set_min_pulse_width -high 2 [get_clocks clk]
set_min_pulse_width -low 1 [get_clocks clk]
理想clock buffer/inverter的特性
- Equal rise and fall times
- Less delay variations with PVT and OCV
- Clock buffer能夠驅(qū)動較長的net以及更多的fanout
普通buffer如何導(dǎo)致pulse width violation?
圖2顯示了Wp = 100nm&Wn = 100nm的Buffer電路的示意圖。β比率(PMOS的寬度與NMOS的寬度的比率)由于NMOS的遷移率高于PMOS,因此上升時間大于下降時間。這個結(jié)論是根據(jù)電流公式得出的,不懂的請移步模擬電路查閱。
圖2 Unbalanced Buffer電路原理圖
這里的每個buffer都需要更多的時間來充電(相比放電過程)。輸入為占空比為50%的周期為4ns的脈沖信號。當(dāng)時鐘信號通過buffer chain傳播時,脈沖寬度如下圖4所示減少相當(dāng)多。最后一個buffer的輸出具有相同的周期,但占空比發(fā)生了變化。在最壞的情況下,這種情況可能會小于設(shè)計所需的脈沖寬度(最小脈沖寬度)。
圖3 Unbalanced Buffer Chain
圖4 pulse width reduction
Balanced buffers have equal rise and fall time
為了使得buffer的上升和下降時間一致,PMOS的寬度應(yīng)該約為NMOS的兩倍(具體倍數(shù)關(guān)系取決于工藝)。Balance buffer電路結(jié)構(gòu)圖如圖5所示。圖6為一堆balanced buffer級聯(lián)的buffer chain的輸出波形。從輸出波形看到,當(dāng)我們在clock path上使用這種balanced buffer,輸出時鐘信號周期未發(fā)生變化且占空比仍然為1:1,即不會出現(xiàn)pulse width violation。
圖5 balance buffer電路結(jié)構(gòu)圖
圖6 Balanced Buffer Chain 輸出波形
unbalanced inverter有沒有min pulse width問題?
如果在時鐘路徑中使用偶數(shù)個反相器,一對反相器上升和下降時間會相互補償,所以脈沖寬度并不會改變。所以反相器輸出不會導(dǎo)致脈沖寬度違規(guī)。
圖7所示為一個反相器的電路結(jié)構(gòu)圖。其中Wp = 100nm,Wn = 300nm。根據(jù)P管和N管的尺寸,我們得知上升時間比下降時間小得多。
圖7 Unbalanced 反相器原理圖
圖8所示為一個十級反相器級聯(lián)的電路圖。圖9為第九級和第十級反相器輸出波形圖。從圖中可以得知,unbalance inverter同樣也不會導(dǎo)致min pulse width問題。
圖8 unbalanced inverter chain
圖9 第九級,第十級反相器輸出波形圖
所以,在做時鐘樹綜合時,我們往往選用clock inverter來長clock tree。
-
寄存器
+關(guān)注
關(guān)注
31文章
5295瀏覽量
119824 -
SDC
+關(guān)注
關(guān)注
0文章
48瀏覽量
15518 -
VDD
+關(guān)注
關(guān)注
1文章
311瀏覽量
33039 -
NMOS管
+關(guān)注
關(guān)注
2文章
120瀏覽量
5387 -
PMOS管
+關(guān)注
關(guān)注
0文章
82瀏覽量
6596
發(fā)布評論請先 登錄
相關(guān)推薦
評論