《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 數(shù)字集成電路門控時(shí)鐘可靠性研究
數(shù)字集成電路門控時(shí)鐘可靠性研究
2017年電子技術(shù)應(yīng)用第1期
喻賢坤,姜 爽,王 磊,王 莉,彭 斌
中國(guó)航天科技集團(tuán)第九研究院第七七二研究所,北京100076
摘要: 在超大規(guī)模集成電路設(shè)計(jì)中,門控時(shí)鐘技術(shù)是最常采用的低功耗設(shè)計(jì)技術(shù)。然而,由于時(shí)鐘信號(hào)的特殊性和敏感性,門控時(shí)鐘設(shè)計(jì)極容易造成功能錯(cuò)誤、時(shí)序惡化和測(cè)試覆蓋率降低,針對(duì)這三方面的風(fēng)險(xiǎn),提出多種門控時(shí)鐘的優(yōu)化技術(shù),包括異步門控時(shí)鐘的檢查和排除、可測(cè)性設(shè)計(jì)中的門控時(shí)鐘優(yōu)化技術(shù)和門控時(shí)鐘設(shè)計(jì)中的時(shí)序優(yōu)化技術(shù),確保在數(shù)字集成電路設(shè)計(jì)過(guò)程中門控時(shí)鐘設(shè)計(jì)在降低功耗收益最大化的同時(shí),能夠規(guī)避設(shè)計(jì)風(fēng)險(xiǎn),提升電路可靠性。
中圖分類號(hào): TN47
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2017.01.016
中文引用格式: 喻賢坤,姜爽,王磊,等. 數(shù)字集成電路門控時(shí)鐘可靠性研究[J].電子技術(shù)應(yīng)用,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 引言

    對(duì)于超大規(guī)模集成電路來(lái)說(shuō),功耗指標(biāo)是最重要的技術(shù)參數(shù)之一。為了降低功耗,研究出來(lái)許多行之有效的方法,包括靜態(tài)多電壓(MV-Design)、動(dòng)態(tài)電壓頻率縮放(DVFS)[1]、門控電源(Power-Gating)、門控時(shí)鐘(Clock-Gating)等。其中門控時(shí)鐘技術(shù)是最早發(fā)展起來(lái),并且是采用最多的低功耗設(shè)計(jì)技術(shù),甚至可以使得電路功耗降低一半以上,具有實(shí)現(xiàn)簡(jiǎn)單、高效的特點(diǎn)。

    門控時(shí)鐘技術(shù),是通過(guò)在時(shí)鐘路徑上增加邏輯門對(duì)時(shí)鐘進(jìn)行控制(Gating),使得電路的部分邏輯在不需要工作時(shí)停止時(shí)鐘樹的翻轉(zhuǎn),而并不影響原本的邏輯狀態(tài)[2]。

    如圖1所示,在插入門控時(shí)鐘前,前級(jí)寄存器輸出經(jīng)過(guò)組合邏輯產(chǎn)生控制信號(hào)EN,EN選擇后級(jí)寄存器組的輸入是DATA IN還是其自身的Q,即選擇更新還是保持?jǐn)?shù)據(jù),可以看出后級(jí)寄存器組即使保持?jǐn)?shù)據(jù),其CLK仍在不停地翻轉(zhuǎn)。插入門控時(shí)鐘后,首先后級(jí)寄存器組的輸入不再有其自身的Q,而只有DATA IN,其次增加了門控邏輯,EN連接到了門控邏輯,不再用于控制數(shù)據(jù)端,而是用來(lái)控制時(shí)鐘端。當(dāng)需要更新數(shù)據(jù)時(shí),門控打開(kāi),用門控后的時(shí)鐘ENCLK來(lái)采集新數(shù)據(jù);而當(dāng)不需要更新數(shù)據(jù)時(shí),門控關(guān)閉,后級(jí)寄存器組的時(shí)鐘是靜止的,并能保持原有數(shù)據(jù)。而當(dāng)一個(gè)芯片中有許多類似的邏輯,并且不是每周期都更新數(shù)據(jù)時(shí),門控時(shí)鐘結(jié)構(gòu)對(duì)于降低功耗的貢獻(xiàn)是非常大的。

wdz2-t1.gif

1 門控時(shí)鐘設(shè)計(jì)的風(fēng)險(xiǎn)和影響

    時(shí)鐘是集成電路內(nèi)部最重要的邏輯組成部分,是數(shù)字集成電路的命脈。門控時(shí)鐘是對(duì)時(shí)鐘路徑的修改、控制,因此在門控時(shí)鐘設(shè)計(jì)時(shí),必須充分考慮門控時(shí)鐘帶來(lái)的風(fēng)險(xiǎn)和影響。

1.1 門控時(shí)鐘帶來(lái)功能錯(cuò)誤的風(fēng)險(xiǎn)

    門控時(shí)鐘控制的對(duì)象是寄存器、存儲(chǔ)器等時(shí)序邏輯的時(shí)鐘,一旦控制不得當(dāng),會(huì)造成時(shí)鐘出現(xiàn)高低電平寬度不足(corruption),甚至出現(xiàn)毛刺(glitching),帶來(lái)時(shí)序問(wèn)題甚至功能錯(cuò)誤。

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

wdz2-t2.gif

    從時(shí)序角度來(lái)講,發(fā)生風(fēng)險(xiǎn)的地方在CLK電平轉(zhuǎn)換的時(shí)刻附近,此時(shí)如果EN發(fā)生變化,latch從低變高的過(guò)程會(huì)把EN鎖存在latch中,并產(chǎn)生有效的ENL;由于CLK變高,就把ENL發(fā)生的變化傳遞給ENCLK,ENCLK上將會(huì)出現(xiàn)本不應(yīng)出現(xiàn)的毛刺,導(dǎo)致功能錯(cuò)誤。不滿足時(shí)序情況下的門控時(shí)鐘時(shí)序圖如圖3所示。

wdz2-t3.gif

    如果產(chǎn)生EN的時(shí)鐘與ENCLK后級(jí)邏輯的時(shí)鐘是同一個(gè)時(shí)鐘,或是同一時(shí)鐘域的時(shí)鐘,圖3中描述的情況是不會(huì)發(fā)生的,因?yàn)樵跐M足時(shí)序約束的情況下,同步電路不允許存在這種違反建立保持時(shí)間的路徑,如圖4所示。反之,如果EN信號(hào)來(lái)自于異步時(shí)鐘域或端口,則這種情況是一定存在的。

wdz2-t4.gif

1.2 門控時(shí)鐘對(duì)測(cè)試覆蓋率的影響

    在當(dāng)前超大規(guī)模數(shù)字集成電路設(shè)計(jì)中,可測(cè)性設(shè)計(jì)是必備的設(shè)計(jì)流程之一??蓽y(cè)性設(shè)計(jì)的原理就是通過(guò)特意設(shè)計(jì)的邏輯,使得電路的內(nèi)部節(jié)點(diǎn)從輸入端口可控制,并且通過(guò)特意設(shè)計(jì)的測(cè)試向量來(lái)激活內(nèi)部潛在故障,然后通過(guò)輸出端口可觀測(cè),從而大幅度提高電路的測(cè)試覆蓋率。

    而門控時(shí)鐘天然對(duì)可測(cè)性設(shè)計(jì)不友好,因?yàn)樵跍y(cè)試狀態(tài)下,增加了門控邏輯的寄存器的時(shí)鐘往往是不可控的。門控時(shí)鐘導(dǎo)致被門控邏輯時(shí)鐘不可控的示意圖如圖5所示。

wdz2-t5.gif

    在測(cè)試狀態(tài)下,由于產(chǎn)生EN邏輯的前級(jí)寄存器無(wú)論是否被串入掃描鏈,寄存器中的值都是由原始輸入值和串行掃描數(shù)據(jù)決定,無(wú)法受端口直接控制,因此門控時(shí)鐘的打開(kāi)和關(guān)閉無(wú)法受端口直接控制,進(jìn)而導(dǎo)致門控時(shí)鐘的后級(jí)寄存器因?yàn)椴环峡蓽y(cè)性設(shè)計(jì)規(guī)則而無(wú)法串入掃描鏈,降低測(cè)試覆蓋率。

    因此在門控時(shí)鐘設(shè)計(jì)中必須采取相應(yīng)的措施,最大程度地消除門控對(duì)于可測(cè)性設(shè)計(jì)的不良影響。

1.3 門控時(shí)鐘對(duì)時(shí)序的影響

    由于門控邏輯在時(shí)鐘路徑上額外增加了邏輯,也就額外增加了延時(shí),會(huì)對(duì)時(shí)鐘樹本身造成影響;同時(shí),門控邏輯通常包含latch、or、and等邏輯結(jié)構(gòu),這些邏輯結(jié)構(gòu)本身也有時(shí)序檢查要求。門控時(shí)鐘對(duì)時(shí)序的影響,相應(yīng)地分為3個(gè)方面:

    (1)由于門控時(shí)鐘的加入,導(dǎo)致設(shè)計(jì)最終無(wú)法時(shí)序收斂;

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

    (3)由于約束不嚴(yán),導(dǎo)致盡管時(shí)序收斂,但實(shí)際上仍然存在風(fēng)險(xiǎn)。

2 門控時(shí)鐘優(yōu)化技術(shù)

    針對(duì)前文提出的門控時(shí)鐘對(duì)電路功能、可測(cè)性和時(shí)序3方面的風(fēng)險(xiǎn)和影響,下文將逐一提出可實(shí)現(xiàn)的解決方案,通過(guò)腳本語(yǔ)言、設(shè)計(jì)約束、設(shè)計(jì)優(yōu)化等多種手段,規(guī)避門控時(shí)鐘帶來(lái)的風(fēng)險(xiǎn),最大程度降低門控時(shí)鐘對(duì)于可測(cè)性和時(shí)序的影響,并最終實(shí)現(xiàn)功耗最優(yōu)化。

2.1 異步門控時(shí)鐘和端口門控時(shí)鐘的優(yōu)化技術(shù)

    從圖3中可以看出,當(dāng)門控信號(hào)和被門控時(shí)鐘存在不確定的相位關(guān)系時(shí),就可能出現(xiàn)問(wèn)題,這類門控信號(hào)有兩個(gè)可能來(lái)源:異步時(shí)鐘域和端口。為了避免此種現(xiàn)象的發(fā)生,有兩個(gè)方法:

    (1)采用LEDA、CDC等工具進(jìn)行跨時(shí)鐘域信號(hào)檢查,確認(rèn)不存在異步時(shí)鐘域間的數(shù)據(jù)交互;如果必須采用異步時(shí)序,則在異步界面上增加兩級(jí)同步寄存器,消除亞穩(wěn)態(tài);

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

    如果產(chǎn)生門控信號(hào)的時(shí)鐘、被門控的時(shí)鐘不是同一個(gè)時(shí)鐘,或同一個(gè)時(shí)鐘的不同沿,或產(chǎn)生門控信號(hào)的是端口輸入,則為異步或端口門控時(shí)鐘。如果存在圖6中的情況,則立即可以發(fā)現(xiàn)。

wdz2-t6.gif

    在第一次綜合結(jié)束后,通過(guò)命令確認(rèn)上述3種極有可能造成邏輯錯(cuò)誤的門控時(shí)鐘情況后,采用綜合工具的命令(set_clock_gating_registers -exclude_instances),將上述門控邏輯屏蔽掉,重新進(jìn)行綜合。經(jīng)過(guò)上述流程,可以保證所有門控邏輯:門控信號(hào)和被門控時(shí)鐘永遠(yuǎn)保持穩(wěn)定的、合法的時(shí)序關(guān)系,門控時(shí)鐘后級(jí)邏輯可以穩(wěn)定正常地工作,不會(huì)因?yàn)楸婚T控時(shí)鐘上的毛刺而產(chǎn)生功能錯(cuò)誤,極大地提高了設(shè)計(jì)的可靠性。

2.2 門控時(shí)鐘可測(cè)性設(shè)計(jì)的優(yōu)化技術(shù)

    門控時(shí)鐘可測(cè)性設(shè)計(jì)的優(yōu)化技術(shù)包含兩方面:

    (1)在沒(méi)有加入可控制邏輯的情況下,門控時(shí)鐘驅(qū)動(dòng)的后級(jí)寄存器的時(shí)鐘在測(cè)試狀態(tài)下不可控。針對(duì)此問(wèn)題,在門控時(shí)鐘插入過(guò)程中,增加門控時(shí)鐘旁路結(jié)構(gòu),使得門控時(shí)鐘在測(cè)試狀態(tài)下保持常通,如圖7所示。

wdz2-t7.gif

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

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

wdz2-t8.gif

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

    通過(guò)上述門控時(shí)鐘可測(cè)性設(shè)計(jì)的優(yōu)化技術(shù),可以明顯提高具有門控時(shí)鐘邏輯的電路的測(cè)試覆蓋率,具有現(xiàn)實(shí)的工程意義。

2.3 門控時(shí)鐘時(shí)序的優(yōu)化技術(shù)

    針對(duì)前文提出的門控時(shí)鐘對(duì)于時(shí)序影響的3個(gè)方面,本論文提出了一套針對(duì)整個(gè)設(shè)計(jì)流程的不同階段的優(yōu)化方法:

    (1)代碼設(shè)計(jì)階段

    在代碼設(shè)計(jì)階段,盡量避免多級(jí)門控時(shí)鐘。因?yàn)槎嗉?jí)門控時(shí)鐘會(huì)逐級(jí)增加時(shí)鐘樹延時(shí),相比于其它沒(méi)有門控邏輯的時(shí)鐘節(jié)點(diǎn)出現(xiàn)差異,可能會(huì)導(dǎo)致在綜合階段出現(xiàn)時(shí)序優(yōu)化問(wèn)題。建議采用合并多級(jí)門控邏輯的設(shè)計(jì)方法,如圖9所示。

wdz2-t9.gif

    (2)邏輯綜合階段

    在邏輯綜合階段,由于尚未形成時(shí)鐘樹,時(shí)鐘網(wǎng)絡(luò)是0延時(shí)的理想網(wǎng)絡(luò)。為了預(yù)估門控邏輯在后續(xù)設(shè)計(jì)階段可能帶來(lái)的時(shí)序影響,需要提前留出裕量,可以通過(guò)set_clock_gate_latency來(lái)實(shí)現(xiàn)。

    此外,一般工藝庫(kù)中,組合邏輯默認(rèn)的建立保持時(shí)間都是0,對(duì)于門控邏輯中的and與門來(lái)說(shuō),意味著在門控信號(hào)和被門控的時(shí)鐘沿同時(shí)翻轉(zhuǎn)的情況下,工具也不會(huì)報(bào)出時(shí)序違例。針對(duì)此種情況,通過(guò)邏輯綜合的set_clock_gating_style和時(shí)序分析的set_clock_gating_check命令來(lái)加嚴(yán)約束[4]

    (3)布局布線階段

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

3 結(jié)語(yǔ)

    通過(guò)本文提出的對(duì)于門控時(shí)鐘功能穩(wěn)定性、可測(cè)性、時(shí)序3方面的優(yōu)化技術(shù),可以實(shí)現(xiàn)進(jìn)行門控時(shí)鐘設(shè)計(jì)時(shí)不會(huì)產(chǎn)生毛刺、芯片故障覆蓋率最大化、以及時(shí)序最優(yōu)3方面的目標(biāo),為超大規(guī)模數(shù)字集成電路的功耗優(yōu)化設(shè)計(jì)提供了完整的解決方案和優(yōu)化手段,并已經(jīng)在數(shù)字專用集成電路的設(shè)計(jì)過(guò)程中進(jìn)行了充分的工程化應(yīng)用,取得了良好的效果。

參考文獻(xiàn)

[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] 卜愛(ài)國(guó),余翩翩,吳建兵,等.基于自適應(yīng)門控時(shí)鐘的CPU功耗優(yōu)化和VLSI設(shè)計(jì).東南大學(xué)學(xué)報(bào)(自然科學(xué)版).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.



作者信息:

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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。