Scan Synthesis practice
- 時鐘負沿和正沿的順序
一般選擇下面的第二種,負沿在前,正沿在後
主要分析方法:
shift in 角度:
先正沿後負沿的結果,在傳01時,第三個正沿會拿到前面一個負沿的值。 造成負沿總會和正沿採到的值一樣。
shift out 角度:
兩種結構的優劣:
採用先正後負的情況:在shift in的情況,會出現兩個寄存器在一個週期的出現一樣的值;
對於shift out 的情況,會出現第二個負寄存的值出現丟失的情況,沒辦法shift 出來。
所以採用先負沿後正沿的時鐘結構
遵循的規則: 越最後capture的值的cell 越放在前面,保證不會caputre前面的一個值。
- 多個clock設計
對於如下的四個cell,是否是簡單的前後連接?(如下圖)
clock到達各個寄存器的時間不一樣,會導致不同的時間前後。
尤其是clk1 和clk2 之間的時鐘沿(clock tree):
第三個總是capture第二個寄存器的值(涉及到時鐘問題)
第一種:clk1 後,clk2前(uesful skew)
第一種:clk1 先,clk2後(不採用)
會提前capture 新值,導致值丟失。
解決辦法:
對於以下情況,不能簡單的串連接
第二個增加 lock up cell(latch)(反的時鐘沿),相當於在下降沿取值,相當於前面的一個clk capture值更晚,及改善第二種時鐘關係爲第一種(半個clk)犧牲setup 換取hold 時間(hold比較難滿足)
-
SCan related siganl
scan mode 在測試的時候始終爲1
scan enable 可以變化
scan input /scan output -
設計規則——時鐘
check cell 是否能放在chain 鏈,如果不能改變設計
添加test mode ,添加MUX,mode = 0 處於function mode mode =1,處於chain 鏈
該設計的兩種方法:RTL更改(主流);工具,自動修復
-
設計規則——復位(set/reset)
更改後的結果:
-
Clock gating cell
主要目的:節省power
E:由function logic 控制
TE: test mode