《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 數字集成電路門控時鐘可靠性研究
數字集成電路門控時鐘可靠性研究
2017年電子技術應用第1期
喻賢坤,姜 爽,王 磊,王 莉,彭 斌
中國航天科技集團第九研究院第七七二研究所,北京100076
摘要: 在超大規模集成電路設計中,門控時鐘技術是最常采用的低功耗設計技術。然而,由于時鐘信號的特殊性和敏感性,門控時鐘設計極容易造成功能錯誤、時序惡化和測試覆蓋率降低,針對這三方面的風險,提出多種門控時鐘的優化技術,包括異步門控時鐘的檢查和排除、可測性設計中的門控時鐘優化技術和門控時鐘設計中的時序優化技術,確保在數字集成電路設計過程中門控時鐘設計在降低功耗收益最大化的同時,能夠規避設計風險,提升電路可靠性。
中圖分類號: TN47
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.01.016
中文引用格式: 喻賢坤,姜爽,王磊,等. 數字集成電路門控時鐘可靠性研究[J].電子技術應用,2017,43(1):60-63,67.
英文引用格式: Yu Xiankun,Jiang Shuang,Wang Lei,et al. Research on the reliability of clock-gating clock in digital integrated circuits[J].Application of Electronic Technique,2017,43(1):60-63,67.
Research on the reliability of clock-gating clock in digital integrated circuits
Yu Xiankun,Jiang Shuang,Wang Lei,Wang Li,Peng Bin
The772 Institute of the Ninth Research Institute,China Aerospace Science and Technology Group,Beijing 100076,China
Abstract: In the design of Very Large Integrated Circuits(VLSI), clock gating technology is the most commonly used low power design technology.However, due to the specificity and sensitivity of the clock signal, the clock gating design is very easy to cause functional errors, timing deterioration and the reducement of the test coverage. Aiming at these three risk of the clock gating, this paper presents many optimization techniques, including the check and elimination of the asynchronous clock, the clock gating optimization technology of the design for test, and the timing optimization technology in the clock gating design, which can ensure the maximization for reducing power of the digital integrated circuit design as a result of the clock gating, and avoid the risk of design and improve the reliability of the circuit at the same time.
Key words : low power design;clock gating;asynchronous timing;design for test;timing optimization

0 引言

    對于超大規模集成電路來說,功耗指標是最重要的技術參數之一。為了降低功耗,研究出來許多行之有效的方法,包括靜態多電壓(MV-Design)、動態電壓頻率縮放(DVFS)[1]、門控電源(Power-Gating)、門控時鐘(Clock-Gating)等。其中門控時鐘技術是最早發展起來,并且是采用最多的低功耗設計技術,甚至可以使得電路功耗降低一半以上,具有實現簡單、高效的特點。

    門控時鐘技術,是通過在時鐘路徑上增加邏輯門對時鐘進行控制(Gating),使得電路的部分邏輯在不需要工作時停止時鐘樹的翻轉,而并不影響原本的邏輯狀態[2]

    如圖1所示,在插入門控時鐘前,前級寄存器輸出經過組合邏輯產生控制信號EN,EN選擇后級寄存器組的輸入是DATA IN還是其自身的Q,即選擇更新還是保持數據,可以看出后級寄存器組即使保持數據,其CLK仍在不停地翻轉。插入門控時鐘后,首先后級寄存器組的輸入不再有其自身的Q,而只有DATA IN,其次增加了門控邏輯,EN連接到了門控邏輯,不再用于控制數據端,而是用來控制時鐘端。當需要更新數據時,門控打開,用門控后的時鐘ENCLK來采集新數據;而當不需要更新數據時,門控關閉,后級寄存器組的時鐘是靜止的,并能保持原有數據。而當一個芯片中有許多類似的邏輯,并且不是每周期都更新數據時,門控時鐘結構對于降低功耗的貢獻是非常大的。

wdz2-t1.gif

1 門控時鐘設計的風險和影響

    時鐘是集成電路內部最重要的邏輯組成部分,是數字集成電路的命脈。門控時鐘是對時鐘路徑的修改、控制,因此在門控時鐘設計時,必須充分考慮門控時鐘帶來的風險和影響。

1.1 門控時鐘帶來功能錯誤的風險

    門控時鐘控制的對象是寄存器、存儲器等時序邏輯的時鐘,一旦控制不得當,會造成時鐘出現高低電平寬度不足(corruption),甚至出現毛刺(glitching),帶來時序問題甚至功能錯誤。

    如圖2所示,一種典型的門控時鐘結構的基本組成部分包括:門控信號EN、被門控時鐘CLK,二者經過鎖存器latch和與門and的邏輯,形成了門控后時鐘ENCLK。在這個典型結構中,latch在LG(CLK)為低電平時導通,在LG(CLK)為高電平時關閉。在CLK為低電平期間,and與門輸出結果一直為0;在CLK為高電平期間,and與門打開,但是此時latch已經鎖定,EN信號上即使有意外翻轉或者毛刺也不會通過latch傳遞給ENL而造成ENCLK的污染。

wdz2-t2.gif

    從時序角度來講,發生風險的地方在CLK電平轉換的時刻附近,此時如果EN發生變化,latch從低變高的過程會把EN鎖存在latch中,并產生有效的ENL;由于CLK變高,就把ENL發生的變化傳遞給ENCLK,ENCLK上將會出現本不應出現的毛刺,導致功能錯誤。不滿足時序情況下的門控時鐘時序圖如圖3所示。

wdz2-t3.gif

    如果產生EN的時鐘與ENCLK后級邏輯的時鐘是同一個時鐘,或是同一時鐘域的時鐘,圖3中描述的情況是不會發生的,因為在滿足時序約束的情況下,同步電路不允許存在這種違反建立保持時間的路徑,如圖4所示。反之,如果EN信號來自于異步時鐘域或端口,則這種情況是一定存在的。

wdz2-t4.gif

1.2 門控時鐘對測試覆蓋率的影響

    在當前超大規模數字集成電路設計中,可測性設計是必備的設計流程之一。可測性設計的原理就是通過特意設計的邏輯,使得電路的內部節點從輸入端口可控制,并且通過特意設計的測試向量來激活內部潛在故障,然后通過輸出端口可觀測,從而大幅度提高電路的測試覆蓋率。

    而門控時鐘天然對可測性設計不友好,因為在測試狀態下,增加了門控邏輯的寄存器的時鐘往往是不可控的。門控時鐘導致被門控邏輯時鐘不可控的示意圖如圖5所示。

wdz2-t5.gif

    在測試狀態下,由于產生EN邏輯的前級寄存器無論是否被串入掃描鏈,寄存器中的值都是由原始輸入值和串行掃描數據決定,無法受端口直接控制,因此門控時鐘的打開和關閉無法受端口直接控制,進而導致門控時鐘的后級寄存器因為不符合可測性設計規則而無法串入掃描鏈,降低測試覆蓋率。

    因此在門控時鐘設計中必須采取相應的措施,最大程度地消除門控對于可測性設計的不良影響。

1.3 門控時鐘對時序的影響

    由于門控邏輯在時鐘路徑上額外增加了邏輯,也就額外增加了延時,會對時鐘樹本身造成影響;同時,門控邏輯通常包含latch、or、and等邏輯結構,這些邏輯結構本身也有時序檢查要求。門控時鐘對時序的影響,相應地分為3個方面:

    (1)由于門控時鐘的加入,導致設計最終無法時序收斂;

    (2)門控時鐘本身邏輯,最終無法時序收斂;

    (3)由于約束不嚴,導致盡管時序收斂,但實際上仍然存在風險。

2 門控時鐘優化技術

    針對前文提出的門控時鐘對電路功能、可測性和時序3方面的風險和影響,下文將逐一提出可實現的解決方案,通過腳本語言、設計約束、設計優化等多種手段,規避門控時鐘帶來的風險,最大程度降低門控時鐘對于可測性和時序的影響,并最終實現功耗最優化。

2.1 異步門控時鐘和端口門控時鐘的優化技術

    從圖3中可以看出,當門控信號和被門控時鐘存在不確定的相位關系時,就可能出現問題,這類門控信號有兩個可能來源:異步時鐘域和端口。為了避免此種現象的發生,有兩個方法:

    (1)采用LEDA、CDC等工具進行跨時鐘域信號檢查,確認不存在異步時鐘域間的數據交互;如果必須采用異步時序,則在異步界面上增加兩級同步寄存器,消除亞穩態;

    (2)在邏輯綜合或時序分析工具中,利用腳本語言(例如Tcl)將設計中所有產生門控信號的前級邏輯的時鐘、被門控時鐘抓取出來。具體操作:采用all_fanin -to [get_pins -hierarchical -filter "full_name =~ */clk_gate*_reg*/EN"] -flat -startpoints_only抓取所有門控信號EN的前級寄存器的時鐘,采用get_pins -of [get_cell $latch_name/main_gate] -filter "full_name =~ */B"抓取被門控時鐘[3]

    如果產生門控信號的時鐘、被門控的時鐘不是同一個時鐘,或同一個時鐘的不同沿,或產生門控信號的是端口輸入,則為異步或端口門控時鐘。如果存在圖6中的情況,則立即可以發現。

wdz2-t6.gif

    在第一次綜合結束后,通過命令確認上述3種極有可能造成邏輯錯誤的門控時鐘情況后,采用綜合工具的命令(set_clock_gating_registers -exclude_instances),將上述門控邏輯屏蔽掉,重新進行綜合。經過上述流程,可以保證所有門控邏輯:門控信號和被門控時鐘永遠保持穩定的、合法的時序關系,門控時鐘后級邏輯可以穩定正常地工作,不會因為被門控時鐘上的毛刺而產生功能錯誤,極大地提高了設計的可靠性。

2.2 門控時鐘可測性設計的優化技術

    門控時鐘可測性設計的優化技術包含兩方面:

    (1)在沒有加入可控制邏輯的情況下,門控時鐘驅動的后級寄存器的時鐘在測試狀態下不可控。針對此問題,在門控時鐘插入過程中,增加門控時鐘旁路結構,使得門控時鐘在測試狀態下保持常通,如圖7所示。

wdz2-t7.gif

    在門控邏輯上增加了一個輸入管腳TE和一個旁路的或門,TE通常連接頂層的測試模式信號test_mode。在測試狀態下,test_mode為固定高電平,因此latch的輸入LD為固定高電平,ENL為固定高電平,CLK直接傳遞給ENCLK。因此在測試模式下,ENCLK與CLK保持一致,門控邏輯被旁路掉了,時鐘從外部輸入端口可控,不會對可測性造成影響。

    (2)選擇最優化的門控時鐘可控制邏輯,實現可測性的最優化。提高門控時鐘可測性的方法,也可以在latch的LQ端進行旁路,并且采用頂層的scan_enable進行控制,如圖8所示。

wdz2-t8.gif

    對比圖7和圖8可以看出,or邏輯在latch之前還是之后,對于旁路時鐘的作用沒有區別,但是考慮到or邏輯在latch之前可以多一次同步,因此一般把or邏輯放在latch之前,通過命令set_clock_gating_style-control_point before實現;在控制信號方面,test_mode在測試狀態中都是固定的,而scan_enable信號在shift和capture下會出現翻轉,對于激活故障是有利的,能夠有效地提高測試覆蓋率,因此選擇scan_enable作為控制信號,通過命令set_clock_gating_style -control_signal scan_enable實現。

    通過上述門控時鐘可測性設計的優化技術,可以明顯提高具有門控時鐘邏輯的電路的測試覆蓋率,具有現實的工程意義。

2.3 門控時鐘時序的優化技術

    針對前文提出的門控時鐘對于時序影響的3個方面,本論文提出了一套針對整個設計流程的不同階段的優化方法:

    (1)代碼設計階段

    在代碼設計階段,盡量避免多級門控時鐘。因為多級門控時鐘會逐級增加時鐘樹延時,相比于其它沒有門控邏輯的時鐘節點出現差異,可能會導致在綜合階段出現時序優化問題。建議采用合并多級門控邏輯的設計方法,如圖9所示。

wdz2-t9.gif

    (2)邏輯綜合階段

    在邏輯綜合階段,由于尚未形成時鐘樹,時鐘網絡是0延時的理想網絡。為了預估門控邏輯在后續設計階段可能帶來的時序影響,需要提前留出裕量,可以通過set_clock_gate_latency來實現。

    此外,一般工藝庫中,組合邏輯默認的建立保持時間都是0,對于門控邏輯中的and與門來說,意味著在門控信號和被門控的時鐘沿同時翻轉的情況下,工具也不會報出時序違例。針對此種情況,通過邏輯綜合的set_clock_gating_style和時序分析的set_clock_gating_check命令來加嚴約束[4]

    (3)布局布線階段

    在布局布線階段,對于時序非常緊張的門控單元,需要將這些單元緊密排列,在布局布線工具中應當設置布局限制約束,例如ICC中的placement bound等命令[5];此外,如果意外地將門控時鐘的層次打平,需要防止布局布線工具把門控的latch當作時鐘樹的終點來調整skew,從而造成扇出的被門控邏輯的時鐘樹超長。

3 結語

    通過本文提出的對于門控時鐘功能穩定性、可測性、時序3方面的優化技術,可以實現進行門控時鐘設計時不會產生毛刺、芯片故障覆蓋率最大化、以及時序最優3方面的目標,為超大規模數字集成電路的功耗優化設計提供了完整的解決方案和優化手段,并已經在數字專用集成電路的設計過程中進行了充分的工程化應用,取得了良好的效果。

參考文獻

[1] CHOI K,SOMA R,PEDRAM M.Dynamic voltage and frequency scaling based on workload decomposition[M].ACM International Symposium on Low Power Electronics and Design.2004.

[2] 卜愛國,余翩翩,吳建兵,等.基于自適應門控時鐘的CPU功耗優化和VLSI設計.東南大學學報(自然科學版).2015,45(2):219-223.

[3] Power Compiler User Guide.Synopsys.2014.

[4] PrimeTime User Guide.Synopsys,2014.

[5] IC Compiler Implementation User Guide.Synopsys.2014.



作者信息:

喻賢坤,姜  爽,王  磊,王  莉,彭  斌

(中國航天科技集團第九研究院第七七二研究所,北京100076)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 两个人免费视频www 两个人看的www中文字幕 | 免费色视频 | 视频在线观看h | 天天爽夜夜爽人人爽 | 成人免费福利片在线观看 | 亚洲精选在线观看 | 免费人成在线观看播放国产 | 国产凹凸在线观看一区二区 | 天天摸夜添狠狠添高 | 日韩免费视频一区二区 | 欧美黄色高清视频 | 欧美成人一级视频 | 在线精品日韩一区二区三区 | 亚洲精品推荐 | 欧美午夜免费看爽爽爽 | 欧美黄色免费大片 | 成人黄色在线网站 | 国产无内制服肉丝精品视频 | 五月婷婷在线视频 | 亚洲一区精品在线 | 成人免费看黄网站无遮挡 | 日韩三及片 | 玖玖精品在线 | 可以在线看黄的网站 | 日韩激情淫片免费看 | 免费一级a毛片在线播 | 免费在线日韩 | 操干干 | 成年人网站免费观看 | 国产一二三四区在线观看 | 国产成人精品免费视频大全办公室 | 18视频在线观看网站 | 九月丁香激情综合婷婷玉立 | 国产成人h福利小视频在线观看 | 成年男人永久免费看片 | 日本三级视频网站 | 后式大肥臀国产在线 | 久久窝窝国产精品午夜看15 | 波多野一区二区三区在线 | 日韩第二页 | 欧美日韩精品高清一区二区 |