Gating Cell
一個cell的一個輸入為clock信號,另一個輸入為gating信號,并且輸出作為clock使用,這樣的cell為gating cell。圖1中的and gate為gating cell。
圖1 gating cell
其中這個clock信號需要穿過gating cell,并且gating cell的fanout需要滿足以下任意一點:1. 連接到register的ck pin;2. 連接到output pin或inout pin;3. 作為generated clock的master clock。gating信號不能是clock,或者是一個clock,但是不能穿過gating cell。圖2中CLKA與CLKB均為clock,但是and gate的輸出端定義了generated clock,master clock是CLKA,CLKB不會穿過and gate,這種情況下,PT工具會對and gate進行clock gating check。
圖2 兩個clock輸入的gating cell
AND GATE的clock gating check
在and gate與nand gate上,PT工具會進行active-high clock gating check, gating信號為高時,clock能通過gating cell;同時gating信號的變化需要在clock信號為低時進行,否則將會產生glitch。下面將會對and gate作為gating cell的timing關系進行分析。
圖3 gating cell為and gate
由圖4可以看出,UAND0的gating信號需要在CLKB為低時變化。即UAND/A的信號的變化窗口為5-10ns, clock gating setup check時需要UAND0/A在CLKB上升沿之前變,clock gating hold check時需要UAND0/A在CLKB下降沿之后變。PT工具在進行setup/hold gating check時,如果library中沒有定義gating cell的setup和hold time,工具會將setup與hold設置為0。我們也可以使用set_clock_gating_check指令設置setup與hold值。圖5與圖6分別是clock gating check setup與hold的timing報告。由于UAND0/A變得太快,在CLKB為高時變化,hold gating check有violation。
圖4 上升沿產生gating信號時序圖
圖5 上升沿產生gating信號setup check report
圖6 上升沿產生gating信號hold check report
如果UDFF0采用下降沿觸發,如圖7~圖10,setup與hold gating checks都能滿足要求。
圖7 gating 信號下降沿產生
圖8 下降沿產生gating信號時序圖
圖9 下升沿產生gating信號setup check report
圖10 下升沿產生gating信號hold check report
OR GATE的clock gating check
or gate與nor gate上PT工具會進行active-low clock gating check, gating信號為低時,clock能通過gating cell;同時gating信號的變化需要在clock信號為高時進行,否則將會產生glitch。下面將會對or gate作為gating cell的timing關系進行分析。如圖11~圖14,UDFF0是上升沿觸發寄存器,使用or gate作為gating cell, setup與hold gating check均滿足timing要求。
圖11 gating cell為or gate
圖12 gating cell為or gate時序圖
圖13 or gate setup gating check report
圖14 or gate hold gating check report
Clock Gating with a MUX
PT工具識別到and gate與or gate這種簡單功能的cell為gating cell時,會自動進行clock gating check。但是像mux或者xor這種復雜功能的cell,PT工具會給出一個warning, no clock gating check inferred。除非我們設置set_clock_gating_check指令。如果設置了指令, cell不符合gating cell的功能,PT工具也會給出一個warning。
圖15中,CLKA與CLKB是周期為10,duty cycle為50%的時鐘,當UMUX0/S變化時,需要保證CLKC已經關上了,CLKB處于低。類似active-high clockgating check。我們不關心的pin,UMUX0/I1,可以將clock gating check關掉。圖17~圖18為mux setup/hold gating check report。
圖15 mux做gating cell
圖16 mux切換時序
圖17 mux setup gating check report
圖18 mux hold gating check report
-
寄存器
+關注
關注
31文章
5357瀏覽量
120632 -
連接器
+關注
關注
98文章
14568瀏覽量
136758 -
觸發器
+關注
關注
14文章
2000瀏覽量
61215
發布評論請先 登錄
相關推薦
評論