專利名稱:半導(dǎo)體集成電路器件及其電路插入方法
技術(shù)領(lǐng)域:
本發(fā)明涉及半導(dǎo)體集成電路器件及其電路插入方法。
背景技術(shù):
對于值不發(fā)生變化的觸發(fā)器(フリップフロップ)、輸出在其他電路中不被使用的觸發(fā)器等,進行時鐘驅(qū)動是電能的浪費。作為解決這一問題的方法,眾所周知有選通時鐘方法。
圖17中示出了示意的選通時鐘電路。如圖17所示,示意的選通時鐘電路包括D型觸發(fā)器(以下稱為DFF)100和對驅(qū)動DFF的時鐘線進行控制的時鐘控制部101。時鐘控制部101是僅在使能(イネ一ブル)為ON時將時鐘傳遞給DFF100的控制電路。通過僅在希望更新DFF的值時將使能設(shè)置為ON,來實現(xiàn)低消耗電能化。
以往,選通時鐘方法大多對于每一模塊單位、時鐘域等統(tǒng)一進行控制,但近年來,以盡量減少消耗電能為目的,大多對于每一觸發(fā)器(以下稱為FF)精細地對時鐘進行選通控制。這不僅會消減因時鐘所消耗的緩沖器、FF等的驅(qū)動電能,還包括抑止存在于FF后段的組合電路的無用驅(qū)動的含義。在圖18A以及圖18B中示出了例子。在圖18A中,示出了RTL(RegisterTransfer Level,寄存器傳輸級)描述,而在圖18B中示出了按照圖18A所示的RTL描述的選通時鐘電路的例子。圖18A所示的代碼是僅在使能為1時更新D的RTL記述。該RTL能夠用圖18B所示那樣的選通時鐘電路來實現(xiàn)。通過將包含在電路中的各FF設(shè)置成圖18B所示那樣的結(jié)構(gòu),能夠?qū)τ诿恳籉F精細地進行選通控制。此時,存在以下所示的問題。
參照圖19進行說明。圖19所示的電路包括DFF1 200、確定DFF1 200的值的組合電路1 201、時鐘控制部1 202、DFF2 203、確定DFF2 203的值的組合電路2 204、時鐘控制部2 205、DFF3 206、確定DFF3的值的組合電路3 207以及時鐘控制部3 208。DFF1 200的輸出連接到組合電路2 204以及組合電路3 207。
現(xiàn)在,考慮驅(qū)動DFF1 200和DFF2 203、抑止DFF3 206的驅(qū)動的情況。即,時鐘控制部1 202和時鐘控制部2 205的使能設(shè)置為ON,時鐘控制部3 208的使能設(shè)置為OFF。結(jié)果,DFF3 206和時鐘控制部3 208停止動作。但是,確定DFF3 206的值的組合電路3 207會因DFF1 200的變化而被驅(qū)動。DFF3 206停止、而組合電路3 207被驅(qū)動,是電能的浪費。
如上所述,在存在多個時鐘域的情況下,僅用選通時鐘方法在組合電路部中會消耗無用的電能。
作為與選通時鐘方法有關(guān)的參考文獻,有非專利文獻1。
此外,在組合電路的輸入變化時,電路被驅(qū)動而消耗電能。因而,如果抑制無用的輸入變化,則能夠消減組合電路的電能消耗。作為解決該問題的方法,有保護(ガ一ディング)邏輯方法。
圖20示出了示意的保護邏輯電路。如圖20所示,示意的保護邏輯電路包括組合電路300和對于到組合電路300的輸入線進行控制的輸入控制電路301。輸入控制電路301在使能(Enable)為ON時將輸入直接傳輸?shù)浇M合電路300,在使能為OFF時,不將輸入傳輸?shù)浇M合電路300。通過僅在使用組合電路300的輸出時將輸入控制電路301的使能設(shè)置為ON,能夠抑止組合電路300的無用的驅(qū)動。
作為保護邏輯方法的問題,可以列舉出由于插入輸入控制電路301而產(chǎn)生的1.延遲的增大,2.電路規(guī)模的增大,3.對于使能信號生成電路的需要等。由于分別地,延遲的增大極大地影響電路的動作速度,電路規(guī)模的增大極大地影響LSI的生產(chǎn)成本,所以可以說是很大的問題。
作為與保護邏輯方法有關(guān)的參考文獻,有非專利文獻2。
Automatic Insertion of Gated Clocks at RegisterTransfer Level,N.Raghavan,V.Akella,S.Bakshi,Proceedings of theTwelfth International Conference on VLSI Design,1999,pp 48-54[非專利文獻2]Guarded EvaluationPushing Power Management toLogic Synthesis/Design,V.Tiwari,S.Malik,P.Ashar,IEEE Transactions0n Computer-Aided Design of Integrated Circuits and Systems,Vol.17,No.10,October 1998發(fā)明內(nèi)容本發(fā)明提供一種具有選通時鐘設(shè)計的電路并且消耗電能也小的半導(dǎo)體集成電路器件以及用于得到該半導(dǎo)體集成電路器件的電路插入方法。
本發(fā)明的第1方式的半導(dǎo)體集成電路器件具備生成時鐘信號的時鐘生成部(A);生成ON或者OFF信號的使能生成部(B);將上述時鐘生成部(A)的輸出和上述使能生成部(B)的輸出作為輸入、僅在上述使能生成部(B)的輸出是ON時使來自上述時鐘生成部(A)的輸入通過的時鐘控制部(C);在上述使能生成部(B)的輸出是OFF時輸出變化的頻度是0或者低的第1電路(D);在上述使能生成部(B)的輸出是OFF時輸出變化的頻度高的第2電路(E);將上述第2電路(E)的輸出和上述使能生成部(B)的輸出作為輸入、僅在上述使能生成部(B)的輸出是ON時使來自上述第2電路(E)的輸入通過的輸入控制部(F);將上述第1電路(D)的輸出和上述輸入控制部(F)的輸出作為輸入的組合電路(G);以及將上述組合電路(G)的輸出作為輸入、由上述時鐘控制部(C)的輸出驅(qū)動的存儲裝置(H)。
本發(fā)明的第2方式的電路插入方法,將經(jīng)過了選通時鐘設(shè)計的門級網(wǎng)表作為輸入(A);對于上述門級網(wǎng)表內(nèi)的全部觸發(fā)器,將觸發(fā)器的數(shù)據(jù)輸入端子作為出發(fā)點向上游搜索電路的樹結(jié)構(gòu)(B);通過檢查從所發(fā)現(xiàn)的各門看的激勵門和負載門的關(guān)系,發(fā)現(xiàn)僅用選通時鐘設(shè)計不能抑止下游的組合電路的轉(zhuǎn)換的位置(C);以及將以成為上述出發(fā)點的觸發(fā)器的選通時鐘的使能控制線作為輸入的保護邏輯插入到上述組合電路的前段(D)。
如果采用本發(fā)明,則能夠提供一種具有選通時鐘設(shè)計的電路并且消耗電能也小的半導(dǎo)體集成電路器件以及用于得到該半導(dǎo)體集成電路器件的電路插入方法。
圖1是示出本發(fā)明的第1實施方式的半導(dǎo)體集成電路器件的一例的方框圖;圖2是示出本發(fā)明的第2實施方式的半導(dǎo)體集成電路器件的一例的方框圖;圖3是示出本發(fā)明的第3實施方式的半導(dǎo)體集成電路器件的一例的方框圖;圖4是示出本發(fā)明的第4實施方式的半導(dǎo)體集成電路器件的一例的方框圖;圖5是示出本發(fā)明的第5實施方式的半導(dǎo)體集成電路器件的一例的方框圖;圖6是示出本發(fā)明的第6實施方式的半導(dǎo)體集成電路器件的一例的方框圖;圖7是示出本發(fā)明的第7實施方式的半導(dǎo)體集成電路器件的一例的方框圖;圖8是示出本發(fā)明的第8實施方式的半導(dǎo)體集成電路器件的一例的方框圖;圖9是示出本發(fā)明的第9實施方式的電路插入方法的一例的流程圖;圖10A~圖10D是示出門間的關(guān)系以及保護邏輯的插入例子的電路圖;圖11是示出本發(fā)明的第10實施方式的電路插入方法的一例的流程圖;圖12A以及圖12B是示出按照第10實施方式設(shè)計的電路的例子的電路圖;圖13是示出按照第10實施方式設(shè)計的電路的例子的電路圖;圖14是示出本發(fā)明的第11實施方式的電路插入方法的一例的流程圖;
圖15是示出本發(fā)明的第12實施方式的電路插入方法的一例的流程圖;圖16是示出本發(fā)明的第13實施方式的電路插入方法的一例的流程圖;圖17是示出示意的選通時鐘電路的電路圖;圖18A是示出RTL描述的圖,圖18B是示出按照圖18A所示的RTL描述的選通時鐘電路的例子的圖;圖19是用于說明選通時鐘方法的問題的圖;以及圖20是示出示意的保護邏輯電路的電路圖。
符號說明400時鐘生成部,401使能生成部,402時鐘控制部,403使能生成部的輸出為OFF時輸出變化的頻度為0或者低的電路,404使能生成部的輸出為OFF時輸出變化的頻度高的電路,405輸入控制部,406組合電路,407存儲裝置(觸發(fā)器)。
具體實施例方式
現(xiàn)在,參照圖19說明的問題能夠通過在DFF1 200和組合電路3 207的布線上插入與時鐘控制部3 208的使能信號同步的保護邏輯來解決。即,在時鐘控制部3 208的使能信號為OFF時,用保護邏輯抑止對組合電路3208的輸入。但是,對適宜的位置自動生成保護邏輯的工具等并不存在。
以下,參照
本發(fā)明的實施方式。在該說明時,在全部附圖中對相同的部分賦予相同的參照標號。
第1~第8實施方式的半導(dǎo)體集成電路器件實現(xiàn)低消耗電能化。
集成電路的消耗電能用“W=CFV2”給出。C是負荷容量,V是電壓,F(xiàn)是頻率或者邏輯跳轉(zhuǎn)數(shù)。作為抑制邏輯跳轉(zhuǎn)數(shù)的方法,一般已知有選通時鐘方法。本發(fā)明通過使用寄存器的選通時鐘的控制線并將生成該寄存器輸入的組合電路的輸入固定為0或者1,能夠完全防止選通時鐘期間的組合電路的邏輯跳轉(zhuǎn)。通過減小“W=CFV2”的“F”,來實現(xiàn)低消耗電能化。
(第1實施方式)圖1是示出本發(fā)明的第1實施方式的半導(dǎo)體集成電路器件的一例的方框圖。
第1實施方式包括時鐘生成部400;輸出ON/OFF的使能(Enable)生成部401;將時鐘生成部400的輸出以及使能生成部401的輸出作為輸入的時鐘控制部402;在使能生成部401的輸出是OFF時輸出變化的頻度低的電路403;在使能生成部401的輸出是OFF時輸出變化的頻度高的電路404;將使能生成部401的輸出以及電路404的輸出作為輸入的輸入控制部405;將電路403的輸出以及輸入控制部405的輸出作為輸入的組合電路406;將組合電路406的輸出作為輸入并由從時鐘控制部402輸出的時鐘驅(qū)動的觸發(fā)器(以下簡稱為FF)407。而且,電路403以及電路404也可以分別存在1個或者1個以上。
對于各部詳細地進行說明。
時鐘控制部402僅在使能生成部401的輸出是ON時,將由時鐘生成部400生成的時鐘信號傳送到FF 407。在使能生成部401的輸出是OFF時,時鐘控制部402的輸出成為固定值,從而FF 407不會被驅(qū)動。
輸入控制部405在使能生成部401的輸出是ON時,將電路404的輸出直接傳遞到組合電路406。在使能生成部401的輸出是OFF時,輸入控制部405的輸出成為固定值,從而即使電路404的輸出變化,也不驅(qū)動組合電路406。
電路403是在使能生成部401的輸出是OFF時輸出變化的頻度是0或者低的電路。因而,可以說,在對每一FF精細地進行控制那樣的選通時鐘電路中,F(xiàn)F 407停止時的組合電路的無用的驅(qū)動少。
另一方面,電路404是在使能生成部401的輸出是OFF時輸出變化的頻度高的電路。但是,由于輸入控制部405的作用,在使能生成部401的輸出是OFF的期間,輸出的變化不會傳遞到組合電路406。因而,在對每一FF精細地進行控制那樣的選通時鐘電路中,能夠完全抑止FF407停止時的組合電路的無用的驅(qū)動。
本實施方式通過有效地組合選通時鐘方法和保護邏輯方法,實現(xiàn)了最初在單純地實施各方法的情況下不能得到的效果。對此進行說明。
進行選通時鐘方法與本實施方式的比較。一般地,在邏輯電路中存在空間上的局限性,前后的處理、控制等關(guān)聯(lián)性高。因而,在對每一FF精細地進行控制的選通時鐘電路中,在某一FF因選通時鐘控制而停止時,可以說前后的FF也因選通時鐘控制而停止的概率高。因而,電路403那樣的電路占據(jù)大半。但是,因為還存在電路404那樣的電路,所以僅用選通時鐘方法不能抑止組合電路的無用的驅(qū)動。因而,僅在不能抑止無用的驅(qū)動的位置使用保護邏輯方法。其結(jié)果,與選通時鐘方法相比,能夠?qū)崿F(xiàn)電能消減效果高的電路。
另一方面,如果考慮僅用保護邏輯方法抑止組合電路的驅(qū)動,則因為需要在組合電路的入口全部設(shè)置保護邏輯,所以電路規(guī)模的增大、延遲的增加等成為不能忽視的問題。在本實施方式中,因為如上所述用選通時鐘控制抑止輸入的大半,所以不需要抑止組合電路的全部的入口。用保護邏輯僅抑止電路404那樣的輸出變化頻度高的輸入即可。這與單純的保護邏輯方法相比,是針對電路規(guī)模的增加以及延遲的增加等的有效的實現(xiàn)方法。
如上所述,本實施方式比僅用選通時鐘時電能消減效果高。這是因為在僅選通時鐘下不能抑止的轉(zhuǎn)換得到抑止的緣故。另一方面,電路規(guī)模也比僅用保護邏輯時小。這是因為對于不需要的位置能夠消減保護邏輯的緣故。與分別實施選通時鐘方法和保護邏輯方法的情況相比,能夠?qū)崿F(xiàn)高的效果。
(第2實施方式)圖2是示出本發(fā)明的第2實施方式的半導(dǎo)體集成電路器件的一例的方框圖。
第2實施方式是具體地示出第1實施方式的輸入控制部405的第1例。
輸入控制部405例如能夠由與門構(gòu)成(參考標號500)。各外部輸入線在每條位線上經(jīng)過了和控制線的與門后,連接到組合電路406。
控制線是0時成為OFF動作,與門將輸入控制部500的輸出固定為0??刂凭€是1時成為ON動作,輸入控制部500的輸出成為外部輸入。
這樣,因為輸入控制部500可以由一個與門實現(xiàn),所以對關(guān)鍵路徑的影響能夠抑制在1級的門的延遲。
此外,載明通過使用德摩根定律,還能夠用1個或門來實現(xiàn)。
在集成電路中,因為與門、或門都是基本元件,所以電路面積、路徑延遲小。
(第3種實施方式)圖3是示出本發(fā)明的第3實施方式的半導(dǎo)體集成電路器件的一例的方框圖。
第3實施方式是具體地示出第1實施方式的輸入控制部405的第2例。
輸入控制部405例如能夠由帶使能的鎖存電路構(gòu)成(參考標號600)。帶使能的鎖存電路由控制線所控制。各外部輸入線分別經(jīng)過了鎖存電路后,連接到組合電路406。
控制線是0時成為OFF動作,帶使能的鎖存電路將輸入控制部600的輸出固定在此前的外部輸入值??刂凭€是1時成為ON動作,輸入控制部600的輸出成為外部輸入。
為了表示第3實施方式的效果,與第2實施方式進行比較。在第2實施方式的情況下,用與門將輸入控制部500的輸出(值)固定在0。此時組合電路406的輸入從外部輸入轉(zhuǎn)換為0。因此,由于在輸入控制部500所生成的值固定時在組合電路406中發(fā)生轉(zhuǎn)換,所以消耗電能。
另一方面,在第3實施方式的情況下,帶使能的鎖存電路用外部輸入值固定輸入控制部600的輸出。因此,在值固定時在組合電路406中不會發(fā)生轉(zhuǎn)換。因而,第3實施方式與第2實施方式相比能夠消減值固定時的電能消耗。
(第4實施方式)圖4是示出本發(fā)明的第4實施方式的半導(dǎo)體集成電路器件的一例的方框圖。
第4實施方式是具體地示出第1實施方式的、在使能生成部401的輸出是OFF時輸出變化的頻度是0或者低的電路403的第1例。
圖4中的虛線框700表示使能生成部401的輸出是OFF時輸出變化的頻度是0的電路的例子。在本例中,成為將FF701的輸出直接輸入到組合電路702的電路結(jié)構(gòu)(反饋環(huán)線)。在使能生成部401的輸出是OFF時,因為FF701不被驅(qū)動,所以輸出變化的頻度成為0。
這樣,在成為自身反饋環(huán)那樣的電路結(jié)構(gòu)中,不需要插入輸入控制部405。
作為第4實施方式的代表的電路,可以列舉出“計數(shù)電路”、“狀態(tài)狀態(tài)機電路”等。
計數(shù)電路是通過將自身的寄存器值增加1來更新寄存器值的電路。在RTL(Register Transfer Level)描述中,描述為always@(posedge CLOCK){A<=A+1;}。
狀態(tài)狀態(tài)機電路是根據(jù)某一當(dāng)前狀態(tài)(寄存器值)、利用下一狀態(tài)確定電路(組合電路)計算下一狀態(tài)的寄存器值而更新當(dāng)前狀態(tài)的電路。在RTL描述中,描述為assign NextState=function(CurrentState);<<<組合電路always@(posedge CLOCK){CurrentState<=NextState;}。
這些電路結(jié)構(gòu)是可以根據(jù)RTL描述等來推定的。因此,在計數(shù)電路、狀態(tài)狀態(tài)機電路中,容易確定圖4所示的反饋環(huán)線700。在反饋環(huán)線700中,不需要加入輸入控制部405。如果相反來看,則輸入控制部405只要對反饋環(huán)線700以外加入即可。
這樣,特別地,反饋環(huán)線700可以在集成電路內(nèi)容易發(fā)現(xiàn)。而且,由于輸入控制部405只要對反饋環(huán)線700以外插入即可,所以對半導(dǎo)體芯片的電路安裝也容易。
(第5實施方式)圖5是示出本發(fā)明的第5實施方式的半導(dǎo)體集成電路器件的一例的方框圖。
第5實施方式是具體地示出第1實施方式的、使能生成部401的輸出是OFF時輸出變化的頻度是0或者低的電路403的第2例。
圖5中的虛線框800表示使能生成部401的輸出是OFF時輸出變化的頻度是0的電路的例子。FF801和FF802共用時鐘控制部803。因而,在FF802的驅(qū)動停止時,因為FF801的輸出也停止,所以輸出變化的頻度變成0。因而,組合電路804不被驅(qū)動。
這樣,對于來自共用時鐘控制部803那樣的電路800的輸出,不需要插入輸入控制部405。
此外,在第5實施方式那樣的電路結(jié)構(gòu)中,因為也與第4實施方式同樣能夠容易發(fā)現(xiàn),所以對半導(dǎo)體芯片的電路安裝也容易。
(第6實施方式)圖6是示出本發(fā)明的第6實施方式的半導(dǎo)體集成電路器件的一例的方框圖。
第6實施方式是具體地示出第1實施方式的、使能生成部401的輸出是OFF時輸出變化的頻度是0或者低的電路403的第3例。
圖6中的虛線框900表示使能生成部900的輸出是OFF時輸出變化的頻度低的電路的例子。在控制FF901的使能生成部2902生成的使能信號的定時與控制FF903的使能生成部1904生成的使能信號的定時接近時,F(xiàn)F901的輸出變化的頻度變低。
例如,如圖6的左下方的虛線框中所示,如果在信號Enable1為OFF的期間中,信號Enable2也基本是OFF,則在FF903的驅(qū)動停止時,F(xiàn)F901的驅(qū)動也基本停止。因此,可以說電路900是輸出變化少的電路。
這樣,在信號Enable為OFF的期間基本重合的情況下,不需要插入輸入控制部405。
如果這樣的電路結(jié)構(gòu)是人工的則可以發(fā)現(xiàn)。此外,通過實施RTL模擬等,還能夠?qū)κ鼓苌刹?904的動作和使能生成部2902的動作進行比較,并以是否超過某一閾值來判定OFF期間重合的情況。例如,可以以在50%或者以上重合的情況下不插入輸入控制部405等來判定。
(第7實施方式)圖7是示出本發(fā)明的第7實施方式的半導(dǎo)體集成電路器件的一例的方框圖。
第7實施方式是具體地示出第1實施方式的、使能生成部401的輸出是OFF時輸出變化的頻度高的電路404的第1例。
圖7所示的虛線框1000表示使能生成部401的輸出是OFF時輸出變化的頻度高的電路。圖7所示的FF1001的輸出D與電路1002連接。進而,F(xiàn)F1001的輸出D經(jīng)由輸入控制部1005與組合電路1003連接。此時,即使FF1004的使能是OFF,也由于電路1002利用FF1001的輸出,而FF1001的使能生成部401’變成ON。結(jié)果,F(xiàn)F1004的使能為OFF時的FF1001的輸出變化的頻度增高。為了避免組合電路1003的無用的驅(qū)動,而插入輸入控制部1005。
這樣,在將FF輸出還連接到其他的電路并且使能生成部的邏輯大不相同的情況下,插入輸入控制部1005。
如果這樣的電路結(jié)構(gòu)是人工的,則可以發(fā)現(xiàn)。此外,通過實施RTL模擬等,還能夠?qū)κ鼓苌刹?01的動作和使能生成部401’的動作進行比較并以是否超過某一閾值來判定OFF期間的不同的情況。例如,可以以在50%或者以上不同的情況下不插入輸入控制部1005等來判定。
(第8實施方式)圖8是示出本發(fā)明的第8實施方式的半導(dǎo)體集成電路器件的一例的方框圖。
第8實施方式是具體地示出第1實施方式的、使能生成部401的輸出是OFF時輸出變化的頻度高的電路404的第2例。
圖8所示的虛線框1100表示使能生成部401的輸出是OFF時輸出變化的頻度高的電路。第8實施方式的結(jié)構(gòu)與第7實施方式基本相同,但FF1101的輸出經(jīng)由組合電路1106與電路1102、組合電路1103連接。此時,即使FF1104的使能是OFF,電路1102也經(jīng)由組合電路1106而利用FF1101的輸出。因此,F(xiàn)F1101的使能生成部401’變成ON。結(jié)果,F(xiàn)F1104的使能為OFF時的FF1101的輸出變化的頻度增高。為了避免組合電路1103的無用的驅(qū)動,在組合電路1106和組合電路1103之間插入輸入控制部1105。
這樣,在將FF輸出經(jīng)由組合電路還連接到其他的電路并且使能生成部的邏輯大不相同的情況下,插入輸入控制部1105。
如果這樣的電路結(jié)構(gòu)是人工的,則可以發(fā)現(xiàn)。此外,通過實施RTL模擬等,還能夠?qū)κ鼓苌刹?01的動作和使能生成部401’的動作進行比較并以是否超過某一閾值來判定OFF期間的不同的情況。例如,可以以在50%或者以上不同的情況下不插入輸入控制部1105等來判定。
第9~第13實施方式的半導(dǎo)體集成電路器件涉及對于邏輯電路中的邏輯合成后的門連接表增加低消耗電能消減電路的器件。
在對每一FF精細地進行選通時鐘的情況下,盡管FF在停止中,但由于確定FF的值的組合電路的輸入會變化,所以有組合電路被無用地驅(qū)動的情況。作為解決該問題的方法,存在保護邏輯方法,但如果單純地應(yīng)用保護邏輯方法,則電路規(guī)模會增大。
以下的實施方式對于對每一FF精細地進行了選通時鐘設(shè)計的門級網(wǎng)表,提供有效地插入保護邏輯的方法。具體地,分析門級網(wǎng)絡(luò)的連接結(jié)構(gòu),僅在需要的位置插入保護邏輯。
(第9實施方式)圖9是示出本發(fā)明的第9實施方式的電路插入方法的一例的流程圖。
第9實施方式,基本上輸入為門級網(wǎng)表,將各FF的數(shù)據(jù)輸入端子作為出發(fā)點而向上游搜索電路的樹結(jié)構(gòu),并在僅用選通時鐘不能抑止無用的驅(qū)動的組合電路的前段插入保護邏輯。
在此,保護邏輯,如在第2、第3實施方式中所說明的那樣,能夠用與門或者或門、或者帶使能的鎖存電路來實現(xiàn)。保護邏輯的控制利用成為出發(fā)點的FF的時鐘控制用的使能線進行ON/OFF動作。
在說明按照圖9所示的流程圖的動作之前,首先進行詞語的定義。
圖10A~圖10D是表示門間的關(guān)系以及保護邏輯的插入例子的電路圖。
在圖10A~圖10D所示的電路中,將左側(cè)定義為上游,將右側(cè)定義為下游。
將存在于驅(qū)動某一門的上游的門稱為激勵門,將存在于驅(qū)動某一門的下游的門稱為負載門。在圖10A中,門A的激勵門是門C和D。門C的負載門是門A和B。
對激勵門和負載門的關(guān)系進行定義。考慮圖10B的關(guān)系。門B是門A的激勵門,門B的負載門僅有門A。將這樣的關(guān)系稱為“從門A看的1對1的關(guān)系”。
另一方面,考慮圖10C的關(guān)系。門B是門A的激勵門,而門B的負載門則存在門A、C、D。將這樣的關(guān)系稱為“從門A看的1對多的關(guān)系”。
對按照圖9所示的流程圖的動作進行說明。
將經(jīng)過了選通時鐘設(shè)計的門級網(wǎng)表作為輸入,對于網(wǎng)表內(nèi)的各FF將FF的數(shù)據(jù)輸入端子作為出發(fā)點,向上游搜索電路的樹結(jié)構(gòu)(步驟1200)。
接著,檢查從由上述樹結(jié)構(gòu)中發(fā)現(xiàn)的門看的激勵門和負載門的關(guān)系(步驟1201)。
考慮從所發(fā)現(xiàn)的門看1對多的關(guān)系的情況。此時,如果是僅用選通時鐘方法不能抑止下游的組合電路的轉(zhuǎn)換的結(jié)構(gòu),則在組合電路的前段插入保護邏輯(步驟1202)。
例如,在圖10D中,從門A看,門B是1對多的關(guān)系?,F(xiàn)在,如果設(shè)FF被選通時鐘所停止,則門A轉(zhuǎn)換是無用的。但是,如果門C、D等利用門B的輸出,則門B進行轉(zhuǎn)換。因而,經(jīng)由保護邏輯使門B的輸出線連接到門A。而且,對于門C、D,直接連接門B的輸出。此時的選通時鐘的控制線利用作為搜索的出發(fā)點的FF的時鐘使能線。處理結(jié)束后,轉(zhuǎn)移到下一個門(步驟1203),再次檢查激勵門和負載門的關(guān)系。
此外,在從所發(fā)現(xiàn)的門看是1對1的關(guān)系的情況下,什么都不做而轉(zhuǎn)移到下一個門。這是因為用上游的門能夠進行保護邏輯控制的緣故。例如,在圖10B中,即使需要抑止門A的轉(zhuǎn)換,也不需要在門A和門B之間設(shè)置保護邏輯。這是由于通過在門B的前段設(shè)置保護邏輯能夠應(yīng)對的緣故。
這樣,通過在上游的門插入保護邏輯,能夠從根本上抑止邏輯跳轉(zhuǎn)。
通過以上的處理,在各FF被選通時鐘所停止的期間中,能夠利用保護邏輯抑止由于不同的時鐘域的FF動作而引起的組合電路的無用的轉(zhuǎn)換會發(fā)生的位置。
在以下的實施方式中,在“所說的條件”中,夾雜具體例子來說明“在哪里插入保護邏輯?”。
(第10實施方式)圖11是示出本發(fā)明的第10實施方式的電路插入方法的一例的流程圖。
第10實施方式是更具體地示出第9實施方式的保護邏輯的插入條件的例子。
如圖11中的步驟1300所示,在激勵門和負載門處于1對多的關(guān)系時,在激勵門所負荷的負載門中,在“存在于負載門的輸出端子的下游路徑上的全部FF被與搜索開始FF相同的時鐘域所驅(qū)動”那樣的負載門存在1個或者1個以上(但不全部是。對于全部的情況后面說明)的情況下,通過將激勵門的輸出端子與保護邏輯連接,將其輸出連接到上述的負載門的輸入,來插入保護邏輯。
圖12A中示出了具體的電路例子。在圖12A中,關(guān)注門A來調(diào)查激勵門和負載門的關(guān)系。從門A看,門B是激勵門,門B所負荷的門除了門A以外,由于還存在門C、D,所以處于1對多的關(guān)系。
此時,調(diào)查從激勵門的輸出端子向下游經(jīng)由門C、D的路徑。調(diào)查的結(jié)果,存在于負載門C的輸出端子的下游路徑上的全部FF被與搜索開始FF相同的時鐘域所驅(qū)動。另一方面,對于存在于負載門D的輸出端子的下游路徑上的FF,被與搜索開始FF不同的時鐘域所驅(qū)動。此時,門A和門C能夠統(tǒng)一地利用保護邏輯來控制(參照圖12B)。對于負載門D,直接連接門B的輸出線。
通過確認存在于負載門的下游路徑上的FF的時鐘控制,不會妨礙不同的時鐘域的動作。進而,對于同一時鐘域來說,通過將保護邏輯統(tǒng)一為一個,能夠抑制電路規(guī)模的增加。
接著,說明邏輯電路的第2個例子。
在第10實施方式中,對于全部負載門的“存在于負載門的輸出端子的下游路徑上的全部FF被與搜索開始FF相同的時鐘域所驅(qū)動”的情況進行說明。
對于為什么不是全部進行說明。
在激勵門和負載門處于1對多的關(guān)系時,在存在于從激勵門所負荷的全部負載門的輸出端子連接的下游路徑上的FF全部被同一時鐘所驅(qū)動的情況下,不需要插入保護邏輯。
圖13示出了具體的電路例子。現(xiàn)在,關(guān)注門A檢查激勵門和負載門的關(guān)系。從門A看,門B是激勵門,門B所負荷的門除了門A以外,由于還存在門C、D,所以處于1對多的關(guān)系。此時,如果從激勵門的輸出端子向下游檢查經(jīng)由門C、D的路徑,則與全部被同一時鐘所驅(qū)動的FF連接。
在這樣的結(jié)構(gòu)的情況下,能夠歸結(jié)到1對1的關(guān)系。因為,由于利用門B的輸出的下游端的FF在同一定時其時鐘變成OFF,所以即使在門B的前段設(shè)置保護邏輯也沒有問題。這可以看作與第9實施方式的“1對1的情況”等價。
(第11實施方式)圖14是示出本發(fā)明的第11實施方式的電路插入方法的一例的流程圖。
第11實施方式是更具體地示出第9實施方式的保護邏輯的插入條件的例子。
如圖14中的步驟1400所示,在激勵門是FF的情況下,對搜索開始FF的時鐘域和作為激勵門的FF的時鐘域進行比較,并僅在不同時在激勵門的輸出端口和負載門之間插入保護邏輯。
此外,在時鐘域相同的情況下,能夠用選通時鐘抑止其值。因而,不需要保護邏輯,電路也不會增加。
(第12實施方式)圖15是示出本發(fā)明的第12實施方式的電路插入方法的一例的流程圖。
第12實施方式進一步在第9~第11實施方式的插入條件中增加條件。
在根據(jù)在第9~第11實施方式中所說明的條件插入保護邏輯時,如圖15中的步驟1500所示,僅在從搜索開始FF到激勵門的門級數(shù)超過了某一閾值(例如,30級等)時,插入保護邏輯。在此,閾值是用戶能夠指定的變量。
在即使插入保護邏輯也不能抑止1級的門的轉(zhuǎn)換的情況下等,保護邏輯的開銷不能忽視。通過統(tǒng)一抑止某一程度的門級數(shù),對于保護邏輯的插入開銷來說能夠充分地補償其效果。此外,在流程圖中寫出了門級數(shù),但也可以加入黑盒子來代替門。在此情況下,通過用黑盒子內(nèi)的平均門級數(shù)等進行門級數(shù)的計數(shù),能夠應(yīng)對。
(第13實施方式)圖16是示出本發(fā)明的第13實施方式的電路插入方法的一例的流程圖。
第13實施方式進一步在第9~第12實施方式的插入條件中增加條件。
一般地,在進行邏輯合成時在FF之間施加延遲限制。如果該延遲限制不能得到滿足,則存在不能保證電路的動作的問題。因而,如圖16中的步驟1600所示,僅在插入保護邏輯時能夠滿足延遲限制的情況下插入保護邏輯。由此,能夠保證電路的動作。
在實現(xiàn)第1~第7實施方式的半導(dǎo)體集成電路器件時,高效率地機械地插入保護邏輯的裝置例如是將第8~第13實施方式的電路插入法作為算法利用的電路設(shè)計支持裝置。
此外,在第8~第13實施方式的電路插入法中,如果與操作者用手工操作插入保護邏輯的情況相比,則有可能存在無用的電路插入。作為具體的一例,如圖6的左下方虛線框內(nèi)所示,有在使能期間基本重合的位置也插入保護邏輯的情況。
簡單地說,對于圖1所示的電路403是“輸出變化的頻度是0或者低的電路”的情況,第8~第13實施方式的電路插入法僅對“輸出變化的頻度是0的電路”不插入保護邏輯。即,第8~第13實施方式的電路插入法對“輸出變化的頻度低的電路”也用保護邏輯來抑止。對于“輸出變化的頻度低的電路”也用保護邏輯來抑止這一點,由于作為集成電路的動作沒有任何問題,所以也可以就這樣來實現(xiàn)。
但是,在希望極力避免無用的電路插入的情況下,在第8~第13實施方式的電路插入法中,只要以對于“輸出變化的頻度是0或者低的電路”不插入保護邏輯的方式來改變即可。為了發(fā)現(xiàn)“輸出變化的頻度低的電路”,例如,只要并用電路模擬來檢查電路的輸出變化的頻度即可。進而,在對于輸出變化的頻度設(shè)置閾值、輸出變化的頻度小于等于閾值或者不足閾值的情況下,只要判斷為“輸出變化的頻度低的電路”即可。在輸出變化的頻度小于等于閾值或者不足閾值的情況下,只要不插入保護邏輯或者拆下已插入的保護邏輯即可。通過這樣來改變第8~第13實施方式,除了能夠從第8~第13實施方式的電路插入法獲得的優(yōu)點,即,具有經(jīng)過選通時鐘設(shè)計的電路并且能夠減小消耗電能這一優(yōu)點之外,還能夠得到抑制無用的電路插入的優(yōu)點。能夠抑制無用的電路插入,除了能夠進一步降低消耗電能外,還能夠一并得到生產(chǎn)成本的降低或者有利于高集成化這樣的優(yōu)點。
進而,上述實施方式包括以下的方式。
(1)一種邏輯電路,包括生成時鐘信號的時鐘生成部(A);生成ON/OFF信號的使能生成部(B);將(A)和(B)的輸出作為輸入、僅在(B)的輸出是ON時使來自(A)的輸入通過的時鐘控制部(C);在(B)的輸出是OFF時輸出變化的頻度是0或者低的電路(D);在(B)的輸出是OFF時輸出變化的頻度高的電路(E);將(E)的輸出和(B)的輸出作為輸入、僅在(B)的輸出是ON時使來自(E)的輸入通過的輸入控制部(F);將(D)的輸出和(F)的輸出作為輸入的組合電路(G);以及將(G)的輸出作為輸入、被(C)的輸出驅(qū)動的存儲裝置(H)。
如果采用方式(1)的邏輯電路,則在用時鐘控制部統(tǒng)一了時鐘時,對于值頻繁地變化的組合電路的輸入,利用輸入控制部將值固定,對于值幾乎不變的組合電路的輸入,直接與組合電路連接。一般地,在邏輯電路中有空間上的局限性,因為前后的時鐘控制接近,所以需要輸入控制部的輸入線的數(shù)量比不需要輸入控制部的輸入線的數(shù)量減少。結(jié)果,能夠抑制電路規(guī)模的增大并且能夠有效地消減在組合電路中產(chǎn)生的無用的電能消耗。
(2)在方式(1)的邏輯電路中,輸入控制部(F)包括將電路(E)的輸出和使能生成部(B)的輸出作為輸入的與門或者或門。
如果采用方式(2)的邏輯電路,則與門、或門等能夠用簡單的電路結(jié)構(gòu)有效地實現(xiàn)值的固定以及值的通過。結(jié)果,能夠抑制電路規(guī)模的增大、路徑延遲的增大等。
(3)在方式(1)的邏輯電路中,輸入控制部(F)包括將電路(E)的輸出作為輸入、由使能生成部(B)的輸出所控制的帶使能的鎖存電路。
如果采用方式(3)的邏輯電路,則帶使能的鎖存電路是保持以及固定使能變成OFF時的值的電路元件。在固定了值時,由于對于組合電路的輸出沒有變化,所以能夠?qū)⒅倒潭〞r的電能消耗設(shè)置在0。在方式(2)的邏輯電路中,在用與/或門固定了值時,由于對于組合電路的輸出變成0固定或者1固定,所以在值固定時在組合電路中會產(chǎn)生驅(qū)動電能。
(4)在方式(1)的邏輯電路中,電路(D)包括將存儲裝置(H)的輸出直接連接在組合電路(G)的反饋環(huán)電路或者由時鐘控制部(C)的輸出驅(qū)動的同步電路。
如果采用方式(4)的邏輯電路,則反饋環(huán)電路、共用時鐘控制部的電路都在使能生成部是OFF時使電路(D)的輸出變化變成0。因而,即使不加入輸入控制部,組合電路部的驅(qū)動也變成0。從而不會引起電路規(guī)模的增大,而能夠可靠地實現(xiàn)低消耗電能化。
(5)在方式(1)的邏輯電路中,電路(D)具有控制該電路(D)的時鐘的第2使能生成部(I),使能生成部(B)和第2使能生成部(I)的輸出同時變成OFF時的期間,超過某一閾值。
如果采用方式(5)的邏輯電路,則在使能生成部處于OFF的期間中,如果第2使能生成部基本為OFF,則在使能生成部為OFF時,電路(D)的輸出變化也減少。因而,即使不加入輸入控制部,組合電路部的驅(qū)動也減少。此外,不會引起電路規(guī)模的增大,而能夠可靠地實現(xiàn)低消耗電能化。使能生成部為OFF的期間和第2使能生成部為OFF的期間越一致,低消耗電能化的效果變得越高。
(6)在方式(1)的邏輯電路中,電路(E)具有控制該電路(E)的時鐘的第3使能生成部(J),使能生成部(B)和第2使能生成部(I)的輸出不同的期間超過某一閾值,進而,從電路(E)到輸入控制部(F)的輸出線與電路(E)內(nèi)部的其他邏輯電路連接。
如果采用方式(6)的邏輯電路,則在使能生成部是OFF的期間中,由于其他的電路利用電路(E)的輸出,所以電路(E)的輸出變化增多。但是,由于利用輸入控制部的作用能夠抑止組合電路的無用的驅(qū)動,所以能夠?qū)崿F(xiàn)低消耗電能化。
此外,在使能生成部為OFF的期間中,如果第3使能生成部也為OFF,則在方式(4)的邏輯電路中也是同樣的。
(7)一種電路插入方法,包括以下步驟將經(jīng)過了選通時鐘設(shè)計的門級網(wǎng)表作為輸入(A);對于門級網(wǎng)表內(nèi)的全部觸發(fā)器,將觸發(fā)器的數(shù)據(jù)輸入端子作為出發(fā)點向上游搜索電路的樹結(jié)構(gòu)(B);通過檢查由從上述樹結(jié)構(gòu)中發(fā)現(xiàn)的各門看的激勵門和負載門的關(guān)系,發(fā)現(xiàn)僅用選通時鐘設(shè)計不能抑止下游的組合電路的轉(zhuǎn)換的位置(C);以及將成為出發(fā)點的觸發(fā)器的選通時鐘的使能控制線作為輸入的保護邏輯插入到上述組合電路的前段(D)。
如果采用方式(7)的電路插入方法,則通過僅在僅用選通時鐘設(shè)計不能抑止下游的組合電路的轉(zhuǎn)換的位置處進行保護邏輯插入,能夠抑制電路面積的增大并且能夠?qū)崿F(xiàn)低消耗電能化。
(8)在方式(7)的電路插入方法中,步驟(C),在從所發(fā)現(xiàn)的各門看的激勵門和負載門的關(guān)系是1對多的情況下(E),并且,在激勵門所負荷的負載門中,存在于負載門的輸出端子的下游路徑上的全部FF由與搜索開始FF相同的時鐘域所驅(qū)動的負載門存在有1個或者1個以上(但不是全部)的情況下(F),
步驟(D)將激勵門的輸出端子與保護邏輯連接,將其輸出與上述負載門(F)的輸入連接。
如果采用方式(8)的電路插入方法,則通過確認存在于負載門的下游路徑上的FF的時鐘控制,不會妨礙不同的時鐘域的動作。進而,對于同一時鐘域,通過將保護邏輯統(tǒng)一為1個,能夠抑制電路規(guī)模的增加。
(9)在方式(7)的電路插入方法中,步驟(C),在從所發(fā)現(xiàn)的各門看的激勵門是觸發(fā)器的情況下(G),并且,在成為上述權(quán)利要求1的出發(fā)點的觸發(fā)器(B)的時鐘域與作為上述激勵門的觸發(fā)器(G)的時鐘域不同的情況下,步驟(D)在作為上述激勵門的觸發(fā)器(G)的輸出端口和負載門之間插入保護邏輯。
如果采用方式(9)的電路插入方法,則出發(fā)點的觸發(fā)器的時鐘域和作為激勵門的觸發(fā)器的時鐘域不同這一點,在出發(fā)點的觸發(fā)器停止的期間中,作為激勵門的觸發(fā)器有可能會動作。通過插入保護邏輯,能夠抑止組合電路的無用的驅(qū)動。
(10)在方式(7)的電路插入方法中,在步驟(C)中,附加僅在從成為出發(fā)點的觸發(fā)器(B)到激勵門的門級數(shù)超過了某一閾值時這一條件。
如果采用方式(10)的電路插入方法,則存在在即使插入保護邏輯也僅能抑止1級的門的轉(zhuǎn)換的情況下等,保護邏輯的開銷不能忽視的問題。通過統(tǒng)一抑止某一程度的門級數(shù),對于保護邏輯的插入開銷,能夠充分地補償其效果。
(11)在方式(7)的電路插入方法中,在步驟(C)中,附加僅在觸發(fā)器間的延遲限制得到滿足的情況下這一條件。
如果采用方式(11)的電路插入方法,則一般地,在進行邏輯合成時在FF間實施延遲限制。如果該延遲限制不能滿足,則存在不能保證電路的動作的問題。因而,在插入保護邏輯時,僅在能夠滿足延遲限制的情況下插入保護邏輯。由此,能夠保證電路的動作。
此外,各實施方式包括各階段的發(fā)明,利用在各實施方式中公開的多個構(gòu)成要件的適宜的組合,可以提取出各階段的發(fā)明。
權(quán)利要求
1.一種半導(dǎo)體集成電路器件,其特征在于,具備生成時鐘信號的時鐘生成部(A);生成ON或者OFF信號的使能生成部(B);將上述時鐘生成部(A)的輸出和上述使能生成部(B)的輸出作為輸入、僅在上述使能生成部(B)的輸出是ON時使來自上速時鐘生成部(A)的輸入通過的時鐘控制部(C);在上述使能生成部(B)的輸出是OFF時輸出變化的頻度是0或者低的第1電路(D);在上述使能生成部(B)的輸出是OFF時輸出變化的頻度高的第2電路(E);將上述第2電路(E)的輸出和上述使能生成部(B)的輸出作為輸入、僅在上述使能生成部(B)的輸出是ON時使來自上述第2電路(E)的輸入通過的輸入控制部(F);將上述第1電路(D)的輸出和上述輸入控制部(F)的輸出作為輸入的組合電路(G);以及將上述組合電路(G)的輸出作為輸入、由上述時鐘控制部(C)的輸出驅(qū)動的存儲裝置(H)。
2.一種電路插入方法,其特征在于將經(jīng)過了選通時鐘設(shè)計的門級網(wǎng)表作為輸入(A);對于上述門級網(wǎng)表內(nèi)的全部觸發(fā)器,將觸發(fā)器的數(shù)據(jù)輸入端子作為出發(fā)點向上游搜索電路的樹結(jié)構(gòu)(B);通過檢查由從上述樹結(jié)構(gòu)中發(fā)現(xiàn)的各門看的激勵門和負載門的關(guān)系,發(fā)現(xiàn)僅用選通時鐘設(shè)計不能抑止下游的組合電路的轉(zhuǎn)換的位置(C);以及將以成為上述出發(fā)點的觸發(fā)器的選通時鐘的使能控制線作為輸入的保護邏輯插入到上述組合電路的前段(D)。
3.如權(quán)利要求2所述的電路插入方法,其特征在于在上述步驟(C)中,在從所發(fā)現(xiàn)的各門看的激勵門和負載門的關(guān)系是1對多的情況下(E),并且,在激勵門所負荷的負載門中,“存在于負載門的輸出端子的下游路徑上的全部觸發(fā)器由與搜索開始觸發(fā)器相同的時鐘域所驅(qū)動”的負載門存在有1個或者1個以上(但不是全部)的情況下(F),上述步驟(D)將激勵門的輸出端子連接到保護邏輯,將其輸出連接到上述負載門(F)的輸入。
4.如權(quán)利要求2所述的電路插入方法,其特征在于在上述步驟(C)中,在從所發(fā)現(xiàn)的各門看的激勵門是觸發(fā)器的情況下(G),并且,在成為上述權(quán)利要求2的出發(fā)點的觸發(fā)器(B)的時鐘域與作為上述激勵門的觸發(fā)器(G)的時鐘域不同的情況下,上述步驟(D)在作為上述激勵門的觸發(fā)器(G)的輸出端口和負載門之間插入保護邏輯。
5.如權(quán)利要求2所述的電路插入方法,其特征在于在上述步驟(C)中,附加僅在從成為上述出發(fā)點的觸發(fā)器(B)到激勵門的門級數(shù)超過了某一閾值時這一條件,或者附加僅在觸發(fā)器間的延遲限制得到滿足的情況下這一條件。
全文摘要
本發(fā)明提供一種具有經(jīng)過了選通時鐘設(shè)計的電路并且消耗電能小的半導(dǎo)體集成電路器件。其具備在使能生成部401的輸出是OFF時,輸出變化的頻度是0或者低的第1電路403,以及輸出變化的頻度高的第2電路404;將第2電路404的輸出和使能生成部401的輸出作為輸入、僅在使能生成部401的輸出是ON時使來自第2電路404的輸入通過的輸入控制部405;將第1電路403的輸出和輸入控制部405的輸出作為輸入的組合電路406;將組合電路406的輸出作為輸入、由時鐘控制部402的輸出驅(qū)動的存儲裝置407。
文檔編號H03K19/00GK101043212SQ20071013595
公開日2007年9月26日 申請日期2007年3月13日 優(yōu)先權(quán)日2006年3月13日
發(fā)明者梶原裕嗣 申請人:株式會社東芝