1、如圖所示時序路徑示意圖,橢圓表示組合邏輯,FF1,FF2表示寄存器,A表示數據輸入端口,CLK表示時鍾輸入端口,Z表示數據輸出端口(C)
A.只要在端口CLK上創建時鍾,即可約束A->Z之間的組合邏輯的延時。
B. 只要在端口Z上設置輸出延時,即可約束FF2 -> Z之間的組合邏輯的延時。
C. 只要在端口CLK上創建時鍾,即可約束FF1->FF2之間的組合邏輯的延時
D. 只要在端口A上設置輸入延時,即可約束A->FF1之間的組合邏輯的延時
2、時鍾周期為T,觸發器D1時鍾沿到來至觸發器輸出Q變化的時間為Tco(clk~Q)最大為T1max,最小為T1min,邏輯組合電路的延遲時間最大為T2max,最小為T2min,問觸發器D2的建立時間和保持時間應滿足什么條件。
解:其他數據都沒給,所以不帶入,只帶入題目給了的數據。
T2 setup < T-T1max -T2max(setup找最小,自然選max)
T2hold < T1min + T2min(hold找最小,自然選min)
3、已知reg的setup,hold時間,求中間組合邏輯的delay范圍。
解:Delay < period -setup-hold
4、如何計算周期T與設計頻率(最大頻率)Fmax。
Tclk = TCKO + TLOGIC+TNET+TSETUP-(TCD2-TCD1)
FMAX=1/TCLK
5、請計算下面邏輯中時鍾clk可以達到的最小周期。(圖中0.8/0.65/0.6分別為CT1、CT2、CT3的器件延時),3.8為CK1經過combinational logic到達DL2的D端上的傳播延時、0.2為D觸發器建立時間。
解:Tmin =(Tco + Tdata)+Tsu-Tskew
= 3.8 + 0.2-(0.65-0.6)=4-0.05=3.95
6、如下圖,有一同步電路,module A有一個信號A輸出給module B。時鍾周期是2ns,DFF的setup time 為0.2ns,hold time為0.18ns,DFF的clk端延時為0.12ns,D1=0.6ns。考慮clock skew = 0.05ns,計算D2的最大值為多少?
解:建立裕量:Tcyc + Tskew-(Tsu+Tco+Tdata) > 0
2 + 0.05 - (0.2+0.6+Tdata)>0
Tdata < 1.25
所以最大值為1.25ns。
7、如下圖所示,假定反向器的最大/最小延遲分別為Tinv_max/Tinv_min,與門的最大/最小傳輸延遲時間分別為Tand_max/Tand_min,寄存器(DFF)的時序參數分別是:建立時間(Tsu),保持時間(Thold)和傳輸時間(Tpd)。
(1)請解釋寄存器(DFF)的3個典型的時序
建立時間Tsu:在觸發器的時鍾上升沿到來之前,數據保持穩定不變的時間。
保持時間Th:在觸發器的時鍾上升沿到來之后,數據保持穩定不變的時間。
Tpd:當時鍾有效沿變換后,數據從輸入端到輸出端的最小時間間隔。
(2)基於上述電路所給的參數,請分析該電路能正常工作的最大頻率。如果需要的未給定的參數,請給自行定義並說明。
Tmin = Tco+Tsu+Tdata-Tskew
Fmax=1/(Tco+Tsu+Tdata-Tskew)=1/(Tpd+Tsu+Tand_min)這里沒有給出Tskew,所以不管他。
(3)請在圖上表示可能的時序關鍵路徑,並列舉至少兩種可能的方法來改善其數據路徑的延時。
關鍵路徑:通常是指同步邏輯電路中,組合邏輯延時的最大的路徑。也就是說關鍵路徑是對設計性能起決定性作用的時序路徑。所以從圖上找組合邏輯最長的那一條。
對同步邏輯常用的時序優化方法包括(1)插入寄存器(2)並行化設計(3)邏輯展平(4)均衡設計(5)優化路徑
8、下圖是某電路中的一條關鍵路徑,其中DFF的參數如下:tco=1ns,tsu=2ns,thold = 1ns,Logic的最大延時為4ns,最小延時為3ns,clk的jitter為2ns,則電路最小的時鍾周期為(A)
A、7ns B、8ns C、9ns D、
解:Tmin=Tco+Tdata+Tsu-Tskew+Tjitter = 1+3+2-1+2=7ns(注意,題目沒給Tskew,但圖上畫出來了。)
我覺得還算按最壞情況算,即取4ns,答案為8ns。
9、如下圖為某同步電路,DFF1和DFF2的setup,hold和output delay(clk->Q)時間為0.6,0.3,1.2(各時間參數均為ns),假設clk時鍾頻率為250MHZ,請問DFF2的setup時間和hold時間是否滿足並說明其原因。
由題意可知:Tcyc=1/250M=4ns,
建立時間:Tcyc + Tskew -Tco - Tdata-Tsu = 4 + (0.8-1)-1.2-2.2-0.6=4-0.2-4=-0.2 <0,違例
保持時間:Tco+Tdata-Tskew-Th = 1.2+2.2-(0.8-1)-0.3=3.4-0.1=3.3,滿足
10、已知Tsetup=1ns、Thold=1ns、Tclk->q = 1ns。請回答以下問題。
(1)假設存在positive clock skew為1ns,問最高時鍾頻率為多少?
(2)能容忍的最大positive clock skew為多少?(DFF2的clock比DFF1晚)
(3)能容忍的最大negative clock skew為多少?(DFF2的clock比DFF1早)
解:(1)5條路徑依次分析:Tcyc >= Tco+Tdata+Tsu-Tskew
DFF1->DFF2:1+(4+3+1)+1-1=9ns
DFF1->DFF2:1+(1+2+1)+1-1=5ns
DFF2->DFF1:1+(3+1)+1+1=7ns(這是一個負的Tskew)
DFF1->DFF1:1+(4+1)+1 = 7ns(DFF1到DFF1的時鍾不存在Tskew)
DFF2->DFF2:1+(2+1)+1 = 5ns(DFF2到DFF2的時鍾不存在Tskew)
最高時鍾周期為9ns,所以最高時鍾頻率是1/9ns。
(2)公式Th <= Tco + Tdata - Tskew,即Tskew <= Tco + Tdata - Th,路徑代入可得答案。
DFF1->DFF2:1+(4+3+1)-1=8ns
DFF1->DFF2:1+(1+2+1)-1=4ns
DFF2->DFF1:-(1+(3+1)-1)=-4ns(這是一個負的Tskew)
DFF1->DFF1:0ns(DFF1到DFF1的時鍾不存在Tskew)
DFF2->DFF2:0ns(DFF2到DFF2的時鍾不存在Tskew)
出現一個負的Tskew,這是不能取的,因此最大positive clock skew答案為4ns
(3)和(2)類似,但是答案取反,因此最大negative clock skew為4ns。