JP4738216B2 - 半導体集積回路装置、及びその回路挿入手法 - Google Patents

半導体集積回路装置、及びその回路挿入手法 Download PDF

Info

Publication number
JP4738216B2
JP4738216B2 JP2006068071A JP2006068071A JP4738216B2 JP 4738216 B2 JP4738216 B2 JP 4738216B2 JP 2006068071 A JP2006068071 A JP 2006068071A JP 2006068071 A JP2006068071 A JP 2006068071A JP 4738216 B2 JP4738216 B2 JP 4738216B2
Authority
JP
Japan
Prior art keywords
circuit
output
gate
clock
enable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006068071A
Other languages
English (en)
Other versions
JP2007251265A (ja
Inventor
裕嗣 梶原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006068071A priority Critical patent/JP4738216B2/ja
Priority to US11/684,727 priority patent/US7818602B2/en
Priority to CN2007101359524A priority patent/CN101043212B/zh
Publication of JP2007251265A publication Critical patent/JP2007251265A/ja
Priority to US12/883,835 priority patent/US8719741B2/en
Application granted granted Critical
Publication of JP4738216B2 publication Critical patent/JP4738216B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

この発明は、半導体集積回路装置、及びその回路挿入手法に関する。
値の変化しないフリップフロップや、出力が他の回路で使用されないフリップフロップに対して、クロック駆動するのは電力の無駄である。この事情を解決する手法として、ゲーティッドクロック手法がよく知られている。
模式的なゲーティッドクロック回路を図17に示す。図17に示すように、模式的なゲーティッドクロック回路は、D型フリップフロップ(以下DFF)100と、DFFを駆動するクロック線を制御するクロック制御部101とから構成される。クロック制御部101はイネーブルがオンのときのみ、クロックをDFF100に伝達する制御回路である。DFFの値を更新したい時のみ、イネーブルをオンにすることで低消費電力化が図れる。
従来は、ゲーティッドクロック手法はモジュール単位やクロックドメイン毎にまとめて制御することが多かったが、近年、消費電力を少しでも削減する目的で、クロックをフリップフロップ(以下FF)毎に細かくゲーティッド制御することが多い。これにはクロックによるバッファやFFの駆動電力を削減するのみでなく、FF後段に存在する組合せ回路の無駄な駆動を止める意味も含まれている。図18A、及び図18Bに例を示す。図18Aには、RTL(Register Transfer Level)記述が、図18Bには図18Aに示すRTL記述に従ったゲーティッドクロック回路の例を示す。図18Aに示すコードは、イネーブルが1のときのみDを更新するRTL記述である。このRTLは、図18Bに示すようなゲーティッドクロック回路で実現できる。回路に含まれる、各FFを図18Bに示すような構成とすることで、FF毎に細かくゲーティッド制御することができる。このとき、以下に示すような事情が存在する。
図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に接続されている。
今、DFF1 200とDFF2 203とを駆動し、DFF3 206の駆動を止めることを考える。すなわち、クロック制御部1 202とクロック制御部2 205はイネーブルをオンにし、クロック制御部3 208はイネーブルをオフにする。結果、DFF3 206とクロック制御部3 208は動作を停止する。しかし、DFF3 206の値を決定する組合せ回路3 207はDFF1 200の変化によって駆動されてしまう。DFF3 206が停止しているのに、組合せ回路3 207が駆動されるのは電力の無駄である。
以上のように、複数のクロックドメインが存在する場合、ゲーティッドクロック手法だけでは組合せ回路部で無駄な電力を消費することがある。
ゲーティッドクロック手法に関する参考文献としては非特許文献1がある。
また、組合せ回路は入力が変化したときに、回路が駆動され電力を消費する。したがって、無駄な入力の変化を抑えられれば、組合せ回路における電力消費を削減できる。この事情を解決する手法としてガーディングロジック手法がある。
模式的なガーディングロジック回路を図20に示す。図20に示すように、模式的なガーディングロジック回路は、組合せ回路300と組合せ回路300への入力線を制御する入力制御回路301とから構成される。入力制御回路301は、イネーブル(Enable)がオンのときは入力(Inputs)を組合せ回路300へそのまま伝達し、イネーブルがオフのときは、入力を組合せ回路300に伝達しない。組合せ回路300の出力を使うときのみ、入力制御回路301のイネーブルをオンにすることで、組合せ回路300の無駄な駆動を止めることができる。
ガーディングロジック手法の事情として、入力制御回路301を挿入することによる、1.遅延の増大、2.回路規模の増大、3.イネーブル信号生成回路の必要、などが挙げられる。遅延の増大は回路の動作速度に、回路規模の増大はLSIの生産コストにそれぞれ大きく影響するため、大きな事情といえる。
ガーディングロジック手法に関する参考文献としては非特許文献2がある。
Automatic Insertion of Gated Clocks at Register Transfer Level, N. Raghavan, V. Akella, S. Bakshi, Proceedings of the Twelfth International Conference on VLSI Design, 1999, pp 48-54 Guarded Evaluation: Pushing Power Management to Logic Synthesis/Design, V. Tiwari, S. Malik, P. Ashar, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 17, No. 10, October 1998
この発明は、ゲーティッドクロック設計された回路を有しつつも、消費電力が小さい半導体集積回路装置、及びこの半導体集積回路装置を得るための回路挿入手法を提供する。
この発明の第1態様に係る半導体集積回路装置は、クロック信号を生成するクロック生成部(A)と、オン、またはオフの信号を生成するイネーブル生成部(B)と、前記クロック生成部(A)の出力と前記イネーブル生成部(B)の出力を入力とし、前記イネーブル生成部(B)の出力がオンのときのみ、前記クロック生成部(A)からの入力をスルーするクロック制御部(C)と、前記イネーブル生成部(B)の出力がオフのとき、出力変化の頻度が0または少ない第1の回路(D)と、前記イネーブル生成部(B)の出力がオフのとき、出力変化の頻度が多い第2の回路(E)と、前記第2の回路(E)の出力と前記イネーブル生成部(B)の出力を入力とし、前記イネーブル生成部(B)の出力がオンのときのみ、前記第2の回路(E)からの入力をスルーする入力制御部(F)と、前記第1の回路(D)の出力と前記入力制御部(F)の出力を入力とする組合せ回路(G)と、前記組合せ回路(G)の出力を入力とし、前記クロック制御部(C)の出力によって駆動される記憶装置(H)とを具備する。
この発明の第2態様に係る回路挿入手法は、ゲーティッドクロック設計されたゲートネットリストを入力とし(A)、前記ゲートネットリスト内の全てのフリップフロップに対してフリップフロップのデータ入力端子を出発点として回路のツリー構造を上流に向かって探索し(B)、発見された各ゲートから見たドライバゲートとロードゲートの関係を調べることでゲーティッドクロック設計だけでは下流の組合せ回路のスイッチングを止められない箇所を発見し(C)、前記出発点となったフリップフロップのゲーティッドクロックのイネーブル制御線を入力としたガーディングロジックを、前記組合せ回路の前段に挿入する(D)。
この発明によれば、ゲーティッドクロック設計された回路を有しつつも、消費電力が小さい半導体集積回路装置、及びこの半導体集積回路装置を得るための回路挿入手法を提供できる。
さて、図19を参照して説明した事情は、DFF1 200と組合せ回路3 207との配線上に、クロック制御部3 208のイネーブル信号と同期したガーディングロジックを挿入することで解決できる。つまり、クロック制御部3 208のイネーブル信号がオフのとき、組合せ回路3 208への入力をガーディングロジックで止める。しかしながら、ガーディングロジックを適切な場所へ自動で生成するツールなどは存在しない。
以下、この発明の実施形態を、図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
第1〜第8実施形態に係る半導体集積回路装置は、低消費電力化を実現する。
集積回路における消費電力は「W=CFV」で与えられる。Cは負荷容量、Vは電圧、Fは周波数または論理遷移数である。論理遷移数を抑える手法として、一般にゲーティッドクロック手法が知られている。本発明は、レジスタにおけるゲーティッドクロックの制御線を用いて、そのレジスタ入力を生成する組合せ回路の入力を0または1に固定することで、ゲーティッドクロック期間の組合せ回路の論理遷移を完全に防ぐことができる。「W=CFV」の“F”を削減することで低消費電力化を実現する。
(第1実施形態)
図1は、この発明の第1実施形態に係る半導体集積回路装置の一例を示すブロック図である。
第1実施形態は、クロック生成部400と、オン/オフを出力するイネーブル(Enable)生成部401と、クロック生成部400の出力、及びイネーブル生成部401の出力を入力とするクロック制御部402と、イネーブル生成部401の出力がオフのときに出力変化の頻度が少ない回路403と、イネーブル生成部401の出力がオフのときに出力変化の頻度が多い回路404と、イネーブル生成部401の出力、及び回路404の出力を入力とする入力制御部405と、回路403の出力、及び入力制御部405の出力を入力とする組み合わせ回路406と、組み合わせ回路406の出力を入力とし、クロック制御部402から出力されたクロックによって駆動されるフリップフロップ(以下FFと略す)407と、を含む。なお、回路403、及び回路404はそれぞれ1個以上存在しても良い。
各部について詳しく説明する。
クロック制御部402はイネーブル生成部401の出力がオンのときのみ、クロック生成部400で発生したクロック信号をFF407に伝える。イネーブル生成部401の出力がオフのとき、クロック制御部402の出力は固定値となり、FF407は駆動されない。
入力制御部405はイネーブル生成部401の出力がオンのとき、回路404の出力を組合せ回路406にそのまま伝達する。イネーブル生成部401の出力がオフのとき、入力制御部405の出力は固定値となり、回路404の出力が変化しても、組合せ回路406を駆動しない。
回路403はイネーブル生成部401の出力がオフのとき、出力変化の頻度が0または少ない回路である。したがって、FF毎に細かく制御を行うようなゲーティッドクロック回路において、FF407が止まっているときの組合せ回路の無駄な駆動は少ないといえる。
一方、回路404はイネーブル生成部401の出力がオフのとき、出力変化の頻度が多い回路である。しかし、入力制御部405の働きにより、イネーブル生成部401の出力がオフの期間は、出力の変化は組合せ回路406まで伝達しない。したがって、FF毎に細かく制御を行うようなゲーティッドクロック回路において、FF407が止まっているときの組合せ回路の無駄な駆動を完全に止めることができる。
本実施形態は、ゲーティッドクロック手法とガーディングロジック手法を効果的に組み合わせることで初めて、各手法を単純に実施した場合には得られない効果を実現している。これについて説明する。
ゲーティッドクロック手法と本実施形態との比較を行う。一般的に論理回路には空間的局所性があり、前後の処理や制御は関連性が高い。したがってFF毎に細かく制御を行うようなゲーティッドクロック回路において、あるFFがゲーティッドクロック制御で停止しているとき、前後のFFもゲーティッドクロック制御で停止している確率が高いと言える。したがって、回路403のような回路が大半を占める。しかしながら、回路404のような回路も存在するため、ゲーティッドクロック手法だけでは組合せ回路の無駄な駆動を止めることはできない。そこで無駄な駆動を止めることができない箇所にのみガーディングロジック手法を用いる。結果、ゲーティッドクロック手法に比べて電力削減効果の高い回路を実現できる。
一方、ガーディングロジック手法のみで組合せ回路の駆動を止めることを考えてみると、組合せ回路の入り口全てにガーディングロジックを置く必要があるため、回路規模の増加や遅延の増加が無視できない問題になる。本実施形態では、先にも述べたとおり入力の大半がゲーティッドロジック制御でとめられるので、組合せ回路の全ての入り口を止める必要がない。回路404のような出力変化の頻度が多い入力だけをガーディングロジックを用いて止めればよい。これは、単純なガーディングロジック手法に比べて、回路規模の増加、及び遅延の増加に対して効率が良い実現方法である。
以上のように本実施形態は、ゲーティッドクロックだけのときより電力削減効果が高い。なぜならば、ゲーティッドクロックだけでは止められなかったスイッチングが止められるからである。一方、ガーディングロジックだけのときよりも回路規模が少ない。なぜならば、ガーディングロジックが必要ない箇所については削減できるからである。ガーディングロジックだけゲーティッドクロック手法およびガーディングロジック手法をそれぞれ実施した場合に比べて、高い効果を実現できる。
(第2実施形態)
図2は、この発明の第2実施形態に係る半導体集積回路装置の一例を示すブロック図である。
第2実施形態は、第1実施形態の入力制御部405を具体的に示した第1の例である。
入力制御部405は、例えば、ANDゲートで構成できる(参照符号500)。各外部入力線はビット線毎に制御線とのANDゲートを経由した後、組合せ回路406に接続される。
制御線が0のときオフ動作となり、ANDゲートは入力制御部500の出力を0に固定する。制御線が1のときオン動作となり、入力制御部500の出力は外部入力になる。
このように入力制御部500は、ANDゲート一つで実現可能であるため、クリティカルパスへの影響はゲート1段分の遅延に抑えることができる。
なお、ド・モルガンの法則を用いることで、ORゲート一つで実現することも可能であることを明記しておく。
集積回路において、ANDゲートもORゲートも基本素子であるため、回路面積やパス遅延は小さい。
(第3実施形態)
図3は、この発明の第3実施形態に係る半導体集積回路装置の一例を示すブロック図である。
第3実施形態は、第1実施形態の入力制御部405を具体的に示した第2の例である。
入力制御部405は、例えば、イネーブル付きラッチ回路で構成できる(参照符号600)。イネーブル付きラッチ回路は制御線により制御される。各外部入力線はそれぞれラッチ回路を経由した後、組合せ回路406に接続される。
制御線が0のときオフ動作となり、イネーブル付きラッチ回路は入力制御部600の出力を直前の外部入力値に固定する。制御線が1のときオン動作となり、入力制御部600の出力は外部入力になる。
第3実施形態の効果を示すために、第2実施形態と比較する。第2実施形態の場合、ANDゲートで入力制御部500の出力(値)を0に固定する。このとき組合せ回路406の入力は外部入力から0にスイッチする。ゆえに、入力制御部500による値固定時に組合せ回路406でスイッチングが発生するため電力を消費する。
一方、第3実施形態の場合、イネーブル付きラッチ回路は入力制御部600の出力を、外部入力値で固定する。このため、値固定時に組合せ回路406でスイッチングが発生しない。従って、第3実施形態は、第2実施形態に比較して値固定時の電力消費を削減できる。
(第4実施形態)
図4は、この発明の第4実施形態に係る半導体集積回路装置の一例を示すブロック図である。
第4実施形態は、第1実施形態の、イネーブル生成部401の出力がオフのとき出力変化の頻度が0または少ない回路403を具体的に示した第1の例である。
図4中の破線枠700は、イネーブル生成部401の出力がオフのとき出力変化の頻度が0の回路の例を示す。本例では、FF701の出力をそのまま組合せ回路702に入力する回路構造(フィードバックループ線)となっている。イネーブル生成部401の出力がオフのとき、FF701は駆動されないので、出力変化の頻度が0となる。
このように自己フィードバックループとなるような回路構造には、入力制御部405を挿入する必要がない。
第4実施形態の代表的な回路として「カウンタ回路」や「状態ステートマシン回路」が挙げられる。
カウンタ回路は、自身のレジスタ値を+1することで、レジスタ値を更新する回路である。RTL(Register Transfer Level)記述では、
always @(posedge CLOCK){A <= A+1;}
と記述される。
状態ステートマシン回路は、ある現状態(レジスタ値)から、次状態決定回路(組合せ回路)によって次状態のレジスタ値を算出して、現状態を更新する回路である。RTL記述では、
assign NextState = function(CurrentState); <<<組合せ回路
always @(posedge CLOCK){CurrentState <= NextState;}
と記述される。
これらの回路構造は、RTL記述等から推定可能である。このため、カウンタ回路や、状態ステートマシン回路においては、図4に示すフィードバックループ線700の特定が容易である。フィードバックループ線700には入力制御部405を入れる必要がない。逆の見方をすれば、入力制御部405は、フィードバックループ線700以外に対して入れれば良い。
このように、特に、フィードバックループ線700は、集積回路内で容易に発見可能である。しかも、入力制御部405は、フィードバックループ線700以外に対して挿入すれば良いから、半導体チップへの回路実装も容易である。
(第5実施形態)
図5は、この発明の第5実施形態に係る半導体集積回路装置の一例を示すブロック図である。
第5実施形態は、第1実施形態の、イネーブル生成部401の出力がオフのとき出力変化の頻度が0または少ない回路403を具体的に示した第2の例である。
図5中の破線枠800は、イネーブル生成部401の出力がオフのとき出力変化の頻度が0の回路の例を示す。FF801とFF802とはクロック制御部803を共有する。したがって、FF802の駆動が停止しているとき、FF801の出力も停止するので、出力変化の頻度が0となる。したがって、組合せ回路804は駆動されない。
このようにクロック制御部803を共有するような回路800からの出力には、入力制御部405を挿入する必要がない。
なお、第5実施形態のような回路構造においても、第4実施形態と同様に容易に発見可能であるから、半導体チップへの回路実装も容易である。
(第6実施形態)
図6は、この発明の第6実施形態に係る半導体集積回路装置の一例を示すブロック図である。
第6実施形態は、第1実施形態の、イネーブル生成部401の出力がオフのとき出力変化の頻度が0または少ない回路403を具体的に示した第3の例である。
図6中の破線枠900は、イネーブル生成部900の出力がオフのとき出力変化の頻度が少ない回路の例を示す。FF901を制御するイネーブル生成部2 902が生成するイネーブル信号のタイミングと、FF903を制御するイネーブル生成部1 904が生成するイネーブル信号のタイミングとが近いとき、FF901の出力変化の頻度は少なくなる。
例えば、図6の左下の破線枠中に示すように、信号Enable1がオフの期間中、信号Enable2もほぼオフであるならば、FF903の駆動が止まっているとき、FF901の駆動もほぼ止まる。このため、回路900は、出力変化が少ない回路といえる。
このように信号Enableがオフの期間がほぼ重なる場合、入力制御部405を挿入する必要がない。
このような回路構造は人手であれば発見可能である。また、RTLシミュレーションなどを実施することで、イネーブル生成部1 904の動作と、イネーブル生成部2 902の動作とを比較し、オフの期間の重なり具合が、ある閾値を超えるか否かで判定することもできる。例えば、50%以上重なる場合は入力制御部405を挿入しない、などで判定できる。
(第7実施形態)
図7は、この発明の第7実施形態に係る半導体集積回路装置の一例を示すブロック図である。
第7実施形態は、第1実施形態の、イネーブル生成部401の出力がオフのときに出力変化の頻度が多い回路404を具体的に示した第1の例である。
図7に示す破線枠1000は、イネーブル生成部401の出力がオフのとき出力変化の頻度が多い回路を示す。図7に示すFF1001の出力Dは回路1002に接続される。さらに、FF1001の出力Dは組合せ回路1003に入力制御部1005を介して接続される。このとき、FF1004のイネーブルがオフであったとしても、回路1002がFF1001の出力を利用するので、FF1001のイネーブル生成部401´はオンとなる。結果、FF1004のイネーブルがオフのときのFF1001の出力変化の頻度は多くなる。組合せ回路1003の無駄な駆動を避けるために、入力制御部1005を挿入する。
このように、FF出力を他の回路にも接続しており、かつイネーブル生成部の論理が大きく異なる場合、入力制御部1005を挿入する。
このような回路構造は人手であれば発見可能である。また、RTLシミュレーションなどを実施することで、イネーブル生成部401の動作とイネーブル生成部401´の動作とを比較し、オフの期間の異なり具合が、ある閾値を超えるかで判定することもできる。例えば、50%以上異なる場合は入力制御部1005を挿入しない、などで判定できる。
(第8実施形態)
図8は、この発明の第8実施形態に係る半導体集積回路装置の一例を示すブロック図である。
第8実施形態は、第1実施形態の、イネーブル生成部401の出力がオフのときに出力変化の頻度が多い回路404を具体的に示した第2の例である。
図8に示す破線枠1100は、イネーブル生成部401の出力がオフのときに出力変化の頻度が多い回路を示す。第8実施形態は、第7実施形態とほぼ同じ構成であるが、FF1101の出力は組合せ回路1106を経由して回路1102と、組合せ回路1103とに接続される。このとき、FF1104のイネーブルがオフであったとしても、回路1102がFF1101の出力を組合せ回路1106経由で利用する。このため、FF1101のイネーブル生成部401´はオンとなる。結果、FF1104のイネーブルがオフのときのFF1101の出力変化の頻度は多くなる。組合せ回路1103の無駄な駆動を避けるために、組合せ回路1106と組合せ回路1103との間に、入力制御部1105を挿入する。
このように、FF出力を組合せ回路経由で他の回路にも接続しており、かつイネーブル生成部の論理が大きく異なる場合、入力制御部1105を挿入する。
このような回路構造は人手であれば発見可能である。また、RTLシミュレーションなどを実施することで、イネーブル生成部401の動作とイネーブル生成部401´の動作とを比較し、オフの期間の異なり具合が、ある閾値を超えるかで判定することもできる。例えば、50%以上異なる場合は入力制御部1005を挿入しない、などで判定できる。
第9〜第13実施形態に係る半導体集積回路装置は、論理回路における論理合成後のゲートネットリストに対して低消費電力削減回路を追加する装置に関する。
FF毎に細かくゲーティッドクロックを行う場合、FFの停止中にも関わらず、FFの値を決定する組合せ回路の入力が変化することで、組合せ回路が無駄に駆動される場合がある。この事情を解決する手法としてガーディングロジック手法が存在するが、単純にガーディングロジック手法を適用すると回路規模が大きく増大する。
以下の実施形態は、FF毎に細かくゲーティッドクロック設計されたゲートネットリストに対して、ガーディングロジックを効果的に挿入する手法を提供するものである。具体的にはゲートネットの接続構造を解析し、必要となる箇所のみにガーディングロジックを挿入する。
(第9実施形態)
図9は、この発明の第9実施形態に係る回路挿入手法の一例を示す流れ図である。
第9実施形態は基本的に、入力はゲートネットリストとし、各FFのデータ入力端子を出発点として回路のツリー構造を上流に向かって探索し、ゲーティッドクロックだけでは無駄な駆動が止められない組合せ回路の前段にガーディングロジックを挿入する。
ここで、ガーディングロジックは、第2、第3実施形態において説明したように、ANDゲート、またはORゲート、またはイネーブル付きラッチ回路で実現できる。ガーディングロジックの制御は、出発点となるFFのクロック制御用のイネーブル線によってオン/オフ動作を行う。
図9に示す流れ図に従った動作を説明する前に、まず言葉の定義を行う。
図10A〜図10Dは、ゲート間の関係、及びガーディングロジックの挿入例を示す回路図である。
図10A〜図10Dに示す回路において、左側を上流、右側を下流と定義する。
あるゲートを駆動する上流に存在するゲートのことをドライバゲート、あるゲートが駆動する下流に存在するゲートのことをロードゲートと呼ぶ。図10Aにおいて、ゲートAのドライバゲートはゲートCとDである。ゲートCのロードゲートはゲートAとBである。
ドライバゲートとロードゲートの関係を定義する。図10Bの関係を考える。ゲートBはゲートAのドライバゲートであり、ゲートBのロードゲートはゲートAのみである。このような関係を、“ゲートAから見た1対1の関係”と呼ぶ。
一方、図10Cの関係を考える。ゲートBは、ゲートAのドライバゲートであるが、ゲートBのロードゲートはゲートA、C、Dが存在する。このような関係を、“ゲートAから見た1対多の関係”と呼ぶ。
図9に示す流れ図に従った動作について説明する。
ゲーティッドクロック設計されたゲートネットリストを入力とし、ネットリスト内の各FFに対してFFのデータ入力端子を出発点として、回路のツリー構造を上流に向かって探索する(手順1200)。
次に、上記ツリー構造の中から発見されたゲートから見たドライバゲートとロードゲートの関係を調べる(手順1201)。
発見されたゲートから見て1対多の関係の場合を考える。このとき、ゲーティッドクロック手法だけでは下流の組合せ回路のスイッチングを止められない構成であるならば、ガーディングロジックを組合せ回路の前段に挿入する(手順1202)。
例えば、図10Dにおいて、ゲートAから見てゲートBは1対多の関係である。今、FFがゲーティッドクロックにより停止しているとすると、ゲートAがスイッチングするのは無駄である。しかし、ゲートCやDがゲートBの出力を利用するならば、ゲートBはスイッチングすることになる。したがって、ゲートBの出力線を、ガーディングロジックを経由してゲートAに接続させる。なお、ゲートC、DにはゲートBの出力をそのまま繋げておく。このときのガーディングロジックの制御線は探索の出発点であるFFのクロックイネーブル線を利用する。処理終了後、次のゲートへ移り(手順1203)、再びドライバゲートとロードゲートの関係を調べる。
なお、発見されたゲートから見て1対1の関係の場合は何もしないで次のゲートに移る。なぜならば、より上流のゲートでガーディングロジック制御ができるからである。例えば、図10BにおいてゲートAのスイッチングを止める必要があるとしても、ゲートAとゲートBとの間にガーディングロジックを置く必要はない。ゲートBの前段にガーディングロジックを置くことで対応できるからである。
このように、より上流のゲートでガーディングロジックを挿入することで、論理遷移を根元から止めることができる。
以上の処理により、各FFがゲーティッドクロックによって停止している期間中に、違うクロックドメインのFFが動作することによる組合せ回路の無駄なスイッチングが発生しうる箇所を、ガーディングロジックによって止めることができる。
以下の実施形態では、“どういう条件”で“どこにガーディングロジックを挿入するか”を、具体例を交えて説明することにする。
(第10実施形態)
図11は、この発明の第10実施形態に係る回路挿入手法の一例を示す流れ図である。
第10実施形態は、第9実施形態のガーディングロジックの挿入条件をより具体的に示した例である。
図11中の手順1300に示すように、ドライバゲートとロードゲートが1対多の関係にあるとき、ドライバゲートがロードするロードゲートのうち、“ロードゲートの出力端子の下流経路に存在する全てのFFが探索開始FFと同一のクロックドメインによって駆動される”ようなロードゲートが1つ以上(ただし全てではない。全ての場合については後述する)存在した場合、ドライバゲートの出力端子をガーディングロジックに接続し、その出力を前述のロードゲートの入力に接続することで、ガーディングロジックを挿入する。
図12Aに具体的な回路例を示す。図12Aにおいて、ゲートAに注目してドライバゲートとロードゲートの関係を調べる。ゲートAから見てゲートBはドライバゲートであり、ゲートBがロードするゲートはゲートA以外にゲートC、Dが存在するので、1対多の関係にある。
このとき、ドライバゲートの出力端子から下流に向かってゲートC、Dを経由する経路を調べる。調べた結果、ロードゲートCの出力端子の下流経路に存在する全てのFFは、探索開始FFと同一のクロックドメインによって駆動されている。一方、ロードゲートDの出力端子の下流経路に存在するFFには、探索開始FFとは異なるクロックドメインによって駆動されている。このとき、ゲートAとゲートCはまとめてガーディングロジックによって制御できる(図12B参照)。ロードゲートDについてはゲートBの出力線をそのまま繋いでおく。
ロードゲートの下流経路に存在するFFのクロック制御を確認することにより、異なるクロックドメインの動作を妨げることがない。さらに、同一クロックドメインについてはガーディングロジックを一つにまとめることで、回路規模の増加を抑えることができる。
次に、論理回路の2つめの例を説明する。
第10実施形態において、全てのロードゲートが、“ロードゲートの出力端子の下流経路に存在する全てのFFが探索開始FFと同一のクロックドメインによって駆動されている”場合について説明する。
なぜ全てではないのか?について説明する。
ドライバゲートとロードゲートとが1対多の関係にあるとき、ドライバゲートがロードする全てのロードゲートの出力端子から繋がる下流経路に存在するFFが、全て同一のクロックによって駆動されている場合、ガーディングロジックを挿入する必要がない。
図13に具体的な回路例を示す。今、ゲートAに注目してドライバゲートとロードゲートとの関係を調べる。ゲートAから見てゲートBはドライバゲートであり、ゲートBがロードするゲートはゲートA以外にゲートC、Dが存在するので、1対多の関係にある。このとき、ドライバゲートの出力端子から下流に向かってゲートC、Dを経由する経路を調べると、全て同一のクロックによって駆動されているFFに繋がっている。
このような構成の場合、1対1の関係に帰着できる。なぜならば、ゲートBの出力を利用する下流端のFFは、同じタイミングでクロックがオフとなるため、ゲートBの前段にガーディングロジックを置いても問題がない。これは第9実施形態の“1対1の場合”と等価とみなせる。
(第11実施形態)
図14は、この発明の第11実施形態に係る回路挿入手法の一例を示す流れ図である。
第11実施形態は、第9実施形態のガーディングロジックの挿入条件をより具体的に示した例である。
図14中の手順1400に示すように、ドライバゲートがFFであった場合、探索開始FFのクロックドメインと、ドライバゲートであるFFのクロックドメインとを比較し、異なっているときのみドライバゲートの出力ポートとロードゲートの間にガーディングロジックを挿入する。
なお、クロックドメインが同じである場合、ゲーティッドクロックで値を止めることが可能である。したがって、ガーディングロジックは必要なく、回路も増加しない。
(第12実施形態)
図15は、この発明の第12実施形態に係る回路挿入手法の一例を示す流れ図である。
第12実施形態は、第9〜第11実施形態の挿入条件に、さらに、条件を追加するものである。
第9〜第11実施形態において説明した条件に従ってガーディングロジックを挿入する際に、図15中の手順1500に示すように、探索開始FFからドライバゲートまでのゲート段数があるしきい値(例えば、30段など)を超えたときのみ、ガーディングロジックを挿入する。ここでしきい値はユーザーが指定できる変数である。
ガーディングロジックを挿入しても、ゲート1段分のスイッチングしか止められない場合などは、ガーディングロジックのオーバーヘッドが無視できなくなる事情がある。ある程度のゲート段数をまとめて止めることで、ガーディングロジックの挿入オーバーヘッドに対して、十分に効果を補償できるようになる。なお、フローチャート中ではゲート段数と書いているが、ゲートの代わりにブラックボックスが入っていても良い。その場合は、ブラックボックス内の平均ゲート段数などで、ゲート段数のカウントを行うことで対応できる。
(第13実施形態)
図16は、この発明の第13実施形態に係る回路挿入手法の一例を示す流れ図である。
第13実施形態は、第9〜第12実施形態の挿入条件に、さらに、条件を追加するものである。
一般的に、論理合成を行う際にFF間には遅延制約がかけられる。この遅延制約が満たせなくなると、回路の動作が保証できなくなる問題がある。そこで、図16中の手順1600に示すように、ガーディングロジックを挿入する際に、遅延制約を満たせる場合のみガーディングロジックを挿入する。これにより、回路の動作を保証できる。
第1〜第7実施形態に係る半導体集積回路装置を実現するに当たり、効率よく機械的にガーディングロジックを挿入する装置が、例えば、第8〜第13実施形態に係る回路挿入法をアルゴリズムとして利用する回路設計支援装置である。
なお、第8〜第13実施形態に係る回路挿入法では、作業者の手作業でガーディングロジックを挿入する場合に比較すると、無駄な回路挿入が存在することがあり得る。具体的な一例としては、図6の左下破線枠内に示すように、イネーブル期間がほぼ重なっているような箇所にもガーディングロジックが挿入されることがある。
簡単には、図1に示す回路403が“出力変化の頻度が0または少ない回路”であるのに対して、第8〜第13実施形態に係る回路挿入法は“出力変化の頻度が0の回路”に対してのみ、ガーディングロジックを挿入しないことになる。つまり、第8〜第13実施形態に係る回路挿入法は“出力変化の頻度が少ない回路”に対しても、ガーディングロジックで止める。“出力変化の頻度が少ない回路”に対してもガーディングロジックで止めることは、集積回路の動作としては、何等問題は無いのでこのままでもよい。
しかしながら、無駄な回路挿入を極力回避したい場合には、第8〜第13実施形態に係る回路挿入法において、“出力変化の頻度が0または少ない回路”に対して、ガーディングロジックを挿入しないように変更すれば良い。“出力変化の頻度が少ない回路”を発見するには、例えば、回路シミュレーションを併用して回路の出力変化の頻度を調べれば良い。さらに、出力変化の頻度にはしきい値を持たせ、出力変化の頻度がしきい値以下、もしくはしきい値未満の場合には、“出力変化の頻度が少ない回路”と判断すれば良い。出力変化の頻度がしきい値以下、もしくはしきい値未満の場合にはガーディングロジックを挿入しない、あるいは挿入されたガーディングロジックを取り外すようにすれば良い。このように第8〜第13実施形態を変更することにより、第8〜第13実施形態に係る回路挿入法から得られる利点、即ち、ゲーティッドクロック設計された回路を有しつつも消費電力を小さくできる、という利点に加えて、無駄な回路挿入を抑制できる、という利点を得ることができる。無駄な回路挿入を抑制できることは、消費電力をさらに低減できる他、生産コストの低減、あるいは高集積化に有利、といった利点も合わせて得ることができる。
さらに、上記実施形態は以下の態様を含む。
(1)クロック信号を生成するクロック生成部(A)と、
オン/オフの信号を生成するイネーブル生成部(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)の出力によって駆動される記憶装置(H)と、
から構成される論理回路。
(1)の態様に係る論理回路によれば、クロック制御部でクロックをとめたときに、値が頻繁に変わる組合せ回路への入力については、入力制御部によって値を固定し、値がほとんど変わらない組合せ回路への入力については、そのまま組合せ回路に接続する。一般的に論理回路には空間的局所性があり、前後のクロック制御は近いことから、入力制御部を必要とする入力線の数は、入力制御部が必要ない入力線の数より少なくなる。結果、回路規模の増大を抑えつつ、組合せ回路で発生する無駄な電力消費を効果的に削減することができる。
(2)(1)の態様に係る論理回路において、入力制御部(F)は、回路(E)の出力とイネーブル生成部(B)の出力を入力としたANDゲートまたはORゲートから構成される論理回路。
(2)の態様に係る論理回路によれば、ANDゲートやORゲートは単純な回路構造で、値の固定、及び値のスルーを効果的に実現できる。結果、回路規模の増大やパス遅延の増大を抑えることができる。
(3)(1)の態様に係る論理回路において、入力制御部(F)は、回路(E)の出力を入力とし、イネーブル生成部(B)の出力によって制御されるイネーブル付きラッチ回路から構成される論理回路。
(3)の態様に係る論理回路によれば、イネーブル付きラッチ回路は、イネーブルがオフになったときの値を保持、及び固定する回路素子である。値を固定したときには組合せ回路への出力が変化しないため、値固定時の電力消費を0にすることができる。(2)の態様に係る論理回路では、AND/ORゲートでは値を固定したときに組合せ回路への出力が0固定、または1固定になるため、値固定時に組合せ回路で駆動電力が発生することがある。
(4)(1)の態様に係る論理回路において、回路(D)は、記憶装置(H)の出力をそのまま組合せ回路(G)に接続するフィードバックループ回路、またはクロック制御部(C)の出力によって駆動される同期回路から構成される論理回路。
(4)の態様に係る論理回路によれば、フィードバックループ回路も、クロック制御部を共有している回路も、イネーブル生成部がオフのときに回路(D)の出力変化が0となる。したがって、入力制御部を入れなくても組合せ回路部の駆動は0となる。回路規模の増大を招くことなく確実に低消費電力化を実現できる。
(5)(1)の態様に係る論理回路において、回路(D)は、この回路(D)のクロックを制御する第2のイネーブル生成部(I)を有し、イネーブル生成部(B)と第2のイネーブル生成部(I)の出力が同時にオフとなるときの期間が、ある閾値を超える論理回路。
(5)の態様に係る論理回路によれば、イネーブル生成部がオフの期間中、第2のイネーブル生成部がほぼオフであるならば、イネーブル生成部がオフのときに回路(D)の出力変化も少なくなる。したがって、入力制御部を入れなくても組合せ回路部の駆動は少なくなる。また、回路規模の増大を招くことなく確実に低消費電力化を実現できる。イネーブル生成部がオフの期間と第2のイネーブル生成部がオフの期間が一致するほど低消費電力化の効果は高くなる。
(6)(1)の態様に係る論理回路において、回路(E)は、この回路(E)のクロックを制御する第3のイネーブル生成部(J)を有し、イネーブル生成部(B)と第2のイネーブル生成部(I)の出力が異なる期間が、ある閾値を超えること、さらに、回路(E)から入力制御部(F)への出力線が回路(E)内部の他の論理回路に接続される論理回路。
(6)の態様に係る論理回路によれば、イネーブル生成部がオフの期間中に、回路(E)の出力を他の回路が利用するため、回路(E)の出力変化が多くなる。しかし、入力制御部の働きによって組合せ回路の無駄な駆動を止めることができるため、低消費電力化を実現できる。
なお、イネーブル生成部がオフの期間中、第3のイネーブル生成部もオフであるなら、(4)の態様に係る論理回路においても同様である。
(7)ゲーティッドクロック設計されたゲートネットリストを入力とし(A)、
ゲートネットリスト内の全てのフリップフロップに対してフリップフロップのデータ入力端子を出発点として回路のツリー構造を上流に向かって探索し(B)、
前記ツリー構造の中から発見された各ゲートから見たドライバゲートとロードゲートの関係を調べることでゲーティッドクロック設計だけでは下流の組合せ回路のスイッチングを止められない箇所を発見し(C)、
出発点となったフリップフロップのゲーティッドクロックのイネーブル制御線を入力としたガーディングロジックを前記組合せ回路の前段に挿入する(D)
以上の手順を含む回路挿入手法。
(7)の態様に係る回路挿入手法によれば、ゲーティッドクロック設計だけでは下流の組合せ回路のスイッチングを止められない箇所にのみ、ガーディングロジック挿入されることで、回路面積の増大を抑えつつ低消費電力化が実現できる。
(8)(7)の態様に係る回路挿入手法において、手順(C)が、発見された各ゲートから見たドライバゲートとロードゲートの関係が1対多の場合(E)、かつ、ドライバゲートがロードするロードゲートのうち、“ロードゲートの出力端子の下流経路に存在する全てのFFが探索開始FFと同一のクロックドメインによって駆動されるロードゲートが1つ以上(ただし全てではない)存在した場合(F)、
手順(D)は、ドライバゲートの出力端子をガーディングロジックに接続し、その出力を前述のロードゲート(F)の入力に接続する。
(8)の態様に係る回路挿入手法によれば、ロードゲートの下流経路に存在するFFのクロック制御を確認することにより、異なるクロックドメインの動作を妨げることがない。さらに、同一クロックドメインについてはガーディングロジックを一つにまとめることで、回路規模の増加を抑えることができる。
(9)(7)の態様に係る回路挿入手法において、手順(C)が、発見された各ゲートから見たドライバゲートがフリップフロップだった場合(G)、かつ、前記請求項1の出発点となったフリップフロップ(B)のクロックドメインと、前記ドライバゲートであるフリップフロップ(G)のクロックドメインが異なっている場合、
手順(D)は、前記ドライバゲートであるフリップフロップ(G)の出力ポートとロードゲートの間にガーディングロジックを挿入する。
(9)の態様に係る回路挿入手法によれば、出発点のフリップフロップのクロックドメインと、ドライバゲートであるフリップフロップのクロックドメインが異なるということは、出発点のフリップフロップが停止している期間中に、ドライバゲートであるフリップフロップが動作する可能性がありうる。ガーディングロジックを挿入することで、組合せ回路の無駄な駆動を止めることができる。
(10)(7)の態様に係る回路挿入手法において、手順(C)に、出発点となったフリップフロップ(B)からドライバゲートまでのゲート段数がある閾値を超えたときのみ、という条件を付加する。
(10)の態様に係る回路挿入手法によれば、ガーディングロジックを挿入しても、ゲート1段分のスイッチングしか止められない場合などは、ガーディングロジックのオーバーヘッドが無視できなくなる問題がある。ある程度のゲート段数をまとめて止めることで、ガーディングロジックの挿入オーバーヘッドに対して、十分に効果を補償できるようになる。
(11)(7)の態様に係る回路挿入手法において、手順(C)に、フリップフロップ間の遅延制約が満たせる場合のみ、という条件を付加する。
(11)の態様に係る回路挿入手法によれば、一般的に、論理合成を行う際にFF間には遅延制約がかけられる。この遅延制約が満たせなくなると、回路の動作が保証できなくなる問題がある。そこで、ガーディングロジックを挿入する際に、遅延制約を満たせる場合のみガーディングロジックを挿入する。これにより、回路の動作を保証できる。
また、各実施形態は種々の段階の発明を含んでおり、各実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することが可能である。
図1はこの発明の第1実施形態に係る半導体集積回路装置の一例を示すブロック図 図2はこの発明の第2実施形態に係る半導体集積回路装置の一例を示すブロック図 図3はこの発明の第3実施形態に係る半導体集積回路装置の一例を示すブロック図 図4はこの発明の第4実施形態に係る半導体集積回路装置の一例を示すブロック図 図5はこの発明の第5実施形態に係る半導体集積回路装置の一例を示すブロック図 図6はこの発明の第6実施形態に係る半導体集積回路装置の一例を示すブロック図 図7はこの発明の第7実施形態に係る半導体集積回路装置の一例を示すブロック図 図8はこの発明の第8実施形態に係る半導体集積回路装置の一例を示すブロック図 図9はこの発明の第9実施形態に係る回路挿入手法の一例を示す流れ図 図10A〜図10Dはゲート間の関係、及びガーディングロジックの挿入例を示す回路図 図11はこの発明の第10実施形態に係る回路挿入手法の一例を示す流れ図 図12A及び図12Bは第10実施形態に従って設計された回路の例を示す回路図 図13は第10実施形態に従って設計された回路の例を示す回路図 図14はこの発明の第11実施形態に係る回路挿入手法の一例を示す流れ図 図15はこの発明の第12実施形態に係る回路挿入手法の一例を示す流れ図 図16はこの発明の第13実施形態に係る回路挿入手法の一例を示す流れ図 図17は模式的なゲーティッドクロック回路を示す回路図 図18AはRTL記述を示す図、図18Bは図18Aに示すRTL記述に従ったゲーティッドクロック回路の例を示す図 図19はゲーティッドクロック手法の事情を説明するための図 図20は模式的なガーディングロジック回路を示す回路図
符号の説明
400…クロック生成部、401…イネーブル生成部、402…クロック制御部、403…イネーブル生成部の出力がオフのときに出力変化の頻度が0または少ない回路、404…イネーブル生成部の出力がオフのときに出力変化の頻度が多い回路、405…入力制御部、406…組合せ回路、407…記憶装置(フリップフロップ)。

Claims (5)

  1. クロック信号を生成するクロック生成部(A)と、
    オン、またはオフの信号を生成するイネーブル生成部(B)と、
    前記クロック生成部(A)の出力と前記イネーブル生成部(B)の出力を入力とし、前記イネーブル生成部(B)の出力がオンのときのみ、前記クロック生成部(A)からの入力をスルーするクロック制御部(C)と、
    前記イネーブル生成部(B)の出力がオフのとき、出力変化の頻度が0または少ない第1の回路(D)と、
    前記イネーブル生成部(B)の出力がオフのとき、出力変化の頻度が多い第2の回路(E)と、
    前記第2の回路(E)の出力と前記イネーブル生成部(B)の出力を入力とし、前記イネーブル生成部(B)の出力がオンのときのみ、前記第2の回路(E)からの入力をスルーする入力制御部(F)と、
    前記第1の回路(D)の出力と前記入力制御部(F)の出力を入力とする組合せ回路(G)と、
    前記組合せ回路(G)の出力を入力とし、前記クロック制御部(C)の出力によって駆動される記憶装置(H)と
    を具備することを特徴とする半導体集積回路装置。
  2. 前記入力制御部(F)は、前記第2の回路(E)の出力と前記イネーブル生成部(B)の出力を入力としたANDゲートから構成されることを特徴とする請求項1記載の半導体集積回路装置。
  3. 前記入力制御部(F)は、前記第2の回路(E)の出力と前記イネーブル生成部(B)の出力を入力としたORゲートから構成されることを特徴とする請求項1記載の半導体集積回路装置。
  4. 前記入力制御部(F)は、前記第2の回路(E)の出力を入力とし、前記イネーブル生成部(B)の出力によって制御されるイネーブル付きラッチ回路から構成され、
    前記第1の回路(D)は、前記記憶装置(H)の出力をそのまま、前記組合せ回路(G)に接続するフィードバックループ回路、または前記クロック制御部(C)の出力によって駆動される同期回路から構成されることを特徴とする請求項1記載の半導体集積回路装置。
  5. 前記第1の回路(D)は、この第1の回路(D)のクロックを制御する第2のイネーブル生成部(I)を有し、前記イネーブル生成部(B)と前記第2のイネーブル生成部(I)の出力とが同時にオフとなるときの期間が、ある閾値を超える、または
    前記第2の回路(E)は、この第2の回路(E)のクロックを制御する第3のイネーブル生成部(J)を有し、前記イネーブル生成部(B)と前記第3のイネーブル生成部(I)の出力が異なる期間が、ある閾値を超え、前記第2の回路(E)から前記入力制御部(F)への出力線が前記第2の回路(E)内部の他の論理回路に接続されることを特徴とする請求項1乃至4の何れか一項記載の半導体集積回路装置。
JP2006068071A 2006-03-13 2006-03-13 半導体集積回路装置、及びその回路挿入手法 Expired - Fee Related JP4738216B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006068071A JP4738216B2 (ja) 2006-03-13 2006-03-13 半導体集積回路装置、及びその回路挿入手法
US11/684,727 US7818602B2 (en) 2006-03-13 2007-03-12 Semiconductor integrated circuit device preventing logic transition during a failed clock period
CN2007101359524A CN101043212B (zh) 2006-03-13 2007-03-13 半导体集成电路器件及其电路插入方法
US12/883,835 US8719741B2 (en) 2006-03-13 2010-09-16 Guarding logic inserting method based on gated clock enable signals

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006068071A JP4738216B2 (ja) 2006-03-13 2006-03-13 半導体集積回路装置、及びその回路挿入手法

Publications (2)

Publication Number Publication Date
JP2007251265A JP2007251265A (ja) 2007-09-27
JP4738216B2 true JP4738216B2 (ja) 2011-08-03

Family

ID=38480354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006068071A Expired - Fee Related JP4738216B2 (ja) 2006-03-13 2006-03-13 半導体集積回路装置、及びその回路挿入手法

Country Status (3)

Country Link
US (2) US7818602B2 (ja)
JP (1) JP4738216B2 (ja)
CN (1) CN101043212B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2010026765A1 (ja) * 2008-09-05 2012-02-02 株式会社アドバンテスト 試験装置、及び試験方法
JP5193846B2 (ja) * 2008-12-25 2013-05-08 株式会社東芝 同期化回路
KR101139603B1 (ko) * 2010-08-24 2012-04-27 광운대학교 산학협력단 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법
US9195259B1 (en) * 2010-10-20 2015-11-24 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for clock-gating registers
US8332800B2 (en) * 2010-12-15 2012-12-11 Apple Inc. Method for identifying redundant signal paths for self-gating signals
US8635578B1 (en) * 2013-03-14 2014-01-21 Atrenta, Inc. System and method for strengthening of a circuit element to reduce an integrated circuit's power consumption
US20150347352A1 (en) * 2014-06-02 2015-12-03 Microsoft Technology Licensing, Llc Form preview in a development environment
US11334698B2 (en) * 2020-04-29 2022-05-17 Synopsys, Inc. Cell-aware defect characterization by considering inter-cell timing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11149496A (ja) * 1997-11-19 1999-06-02 Toshiba Corp ゲーテッドクロック設計支援装置、ゲーテッドクロック設計支援方法、及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2002010073A (ja) * 2000-06-19 2002-01-11 Ricoh Co Ltd 画像処理装置および画像処理方法および記録媒体
JP2002092065A (ja) * 2000-09-11 2002-03-29 Toshiba Corp 回路設計方法及び回路設計装置
JP2003067433A (ja) * 2001-08-24 2003-03-07 Nec Microsystems Ltd 冗長動作検出装置およびその検出方法ならびに動作停止回路の挿入方法
JP2003109382A (ja) * 2001-09-28 2003-04-11 Mitsubishi Electric Corp 半導体集積回路装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793672A (en) * 1997-03-11 1998-08-11 Advanced Micro Devices, Inc. Low power register memory element circuits
JP3698657B2 (ja) * 2001-06-12 2005-09-21 シャープ株式会社 ゲーティッドクロック生成回路及び回路修正方法
US6822478B2 (en) * 2001-07-03 2004-11-23 Texas Instruments Incorporated Data-driven clock gating for a sequential data-capture device
US7003683B2 (en) * 2002-01-31 2006-02-21 Stmicroelectronics. Inc. Glitchless clock selection circuit
GB0210624D0 (en) * 2002-05-09 2002-06-19 Paradigm Design Systems Method of designing and making an integrated circuit
GB0210625D0 (en) * 2002-05-09 2002-06-19 Paradigm Design Systems Control of guard flops
KR20050099714A (ko) * 2004-04-12 2005-10-17 삼성전자주식회사 고집적 저전력 글리치리스 클럭 선택회로 및 이를구비하는 디지털 프로세싱 시스템
US20060236278A1 (en) * 2005-04-19 2006-10-19 International Business Machines Corporation Method of automatic generation of micro clock gating for reducing power consumption
US20070006105A1 (en) * 2005-06-30 2007-01-04 Texas Instruments Incorporated Method and system for synthesis of flip-flops
US7478214B2 (en) * 2006-01-04 2009-01-13 Intel Corporation Clock-gated random access memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11149496A (ja) * 1997-11-19 1999-06-02 Toshiba Corp ゲーテッドクロック設計支援装置、ゲーテッドクロック設計支援方法、及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2002010073A (ja) * 2000-06-19 2002-01-11 Ricoh Co Ltd 画像処理装置および画像処理方法および記録媒体
JP2002092065A (ja) * 2000-09-11 2002-03-29 Toshiba Corp 回路設計方法及び回路設計装置
JP2003067433A (ja) * 2001-08-24 2003-03-07 Nec Microsystems Ltd 冗長動作検出装置およびその検出方法ならびに動作停止回路の挿入方法
JP2003109382A (ja) * 2001-09-28 2003-04-11 Mitsubishi Electric Corp 半導体集積回路装置

Also Published As

Publication number Publication date
JP2007251265A (ja) 2007-09-27
US8719741B2 (en) 2014-05-06
US20110010681A1 (en) 2011-01-13
CN101043212B (zh) 2011-07-06
US7818602B2 (en) 2010-10-19
US20070214437A1 (en) 2007-09-13
CN101043212A (zh) 2007-09-26

Similar Documents

Publication Publication Date Title
JP4738216B2 (ja) 半導体集積回路装置、及びその回路挿入手法
CN104769841B (zh) 用于降低动态功率的时钟门控电路
US10152112B2 (en) Power manager with a power switch arbitrator
WO2016130241A1 (en) Independent power collapse methodology
US10008425B2 (en) Mitigating electromigration, in-rush current effects, IR-voltage drop, and jitter through metal line and via matrix insertion
Macko et al. Power-management specification in SystemC
US6915497B2 (en) Automatic design system for wiring on LSI
Hsu et al. Crosstalk-aware power optimization with multi-bit flip-flops
US10404255B1 (en) Device for automatic configuration of semiconductor integrated circuit
US9300293B2 (en) Fault detection for a distributed signal line
US11398814B2 (en) Low-power single-edge triggered flip-flop, and time borrowing internally stitched flip-flop
US20090307510A1 (en) Processor and power controlling method thereof
JP5799167B2 (ja) パイプライン方式のパワーゲーティング
US9116701B2 (en) Memory unit, information processing device, and method
Palumbo et al. Power-awarness in coarse-grained reconfigurable designs: A dataflow based strategy
Mandal et al. Formal Methods for Coverage Analysis of Power Management Logic with Mixed-Signal Components
Jiang et al. Power-state-aware buffered tree construction
JP2022548483A (ja) 低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法
WO2021025821A1 (en) Low power sequential circuit apparatus
JP2010113405A (ja) 半導体集積回路合成装置
JP2012108846A (ja) 設計支援装置、設計支援プログラムおよび回路設計方法
Asai et al. Floorplan-driven high-level synthesis using volatile/non-volatile registers for hybrid energy-harvesting systems
US20160217227A1 (en) Adaptive low power and high performance logic design and physical design techniques
JP2006093393A (ja) 半導体集積回路
US20100242004A1 (en) Method of semiconductor circuit device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110302

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110426

R151 Written notification of patent or utility model registration

Ref document number: 4738216

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees