JP2008204152A - クロックゲーティング回路挿入方法、クロックゲーティング回路挿入プログラムおよび設計支援装置 - Google Patents

クロックゲーティング回路挿入方法、クロックゲーティング回路挿入プログラムおよび設計支援装置 Download PDF

Info

Publication number
JP2008204152A
JP2008204152A JP2007039353A JP2007039353A JP2008204152A JP 2008204152 A JP2008204152 A JP 2008204152A JP 2007039353 A JP2007039353 A JP 2007039353A JP 2007039353 A JP2007039353 A JP 2007039353A JP 2008204152 A JP2008204152 A JP 2008204152A
Authority
JP
Japan
Prior art keywords
clock gating
gating circuit
circuit
delay
delay variation
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.)
Granted
Application number
JP2007039353A
Other languages
English (en)
Other versions
JP4848298B2 (ja
Inventor
Yukito Kawabe
幸仁 川辺
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007039353A priority Critical patent/JP4848298B2/ja
Priority to US12/034,156 priority patent/US7926014B2/en
Publication of JP2008204152A publication Critical patent/JP2008204152A/ja
Application granted granted Critical
Publication of JP4848298B2 publication Critical patent/JP4848298B2/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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/31Design entry, e.g. editors specifically adapted for circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/04Clock gating

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】従来クロックゲーティング回路を挿入できなかった箇所にクロックゲーティング回路を挿入し、より一層の低消費電力化を図ること。
【解決手段】決定部4により、クロックゲーティング回路のイネーブル信号のタイミング解析を行い、イネーブル信号がセットアップ条件を満たすための遅延ばらつき上限値を決める。特別挿入部5により、集積回路の遅延ばらつき値が遅延ばらつき上限値以下であるときにイネーブル信号を選択し、そうでないときには、クロックゲーティング回路をクロック信号が通過する状態に固定する信号を選択するセレクタ回路と、そのセレクタ回路により選択された信号がイネーブル入力端子に入力されるクロックゲーティング回路からなる、セレクタ付きクロックゲーティング回路を挿入する。
【選択図】図2

Description

この発明は、半導体集積回路の設計時に、製造ばらつきによる素子遅延のばらつきを考慮して集積回路内にクロックゲーティング回路を挿入するクロックゲーティング回路挿入方法、クロックゲーティング回路挿入プログラムおよび設計支援装置に関する。
従来、半導体集積回路の消費電力を削減するために、半導体集積回路の設計時に、クロックツリーの途中にクロックゲーティング回路を挿入することがある。クロックゲーティング回路の挿入を支援する設計支援方法として、以下のような提案がある。
例えば、少なくともクロックゲーティングされていない論理回路に関する情報、クロック出力を制御するためのイネーブル論理に関する情報及びゲーティング回路に関する情報を入力し、前記イネーブル論理に与えられるタイミング制約を生成し、前記イネーブル論理における遅延時間を計算し、前記計算された遅延時間が前記生成されたタイミング制約を満たしているか否かを判定し、前記遅延時間がタイミング制約を満たしている場合は、前記設計対象となる論理回路に前記ゲーティング回路と前記イネーブル論理により構成される回路とを付加してクロックゲーティングされた論理回路を生成し、前記クロックゲーティングされた論理回路に関する情報と前記イネーブル論理に関するタイミング制約とを出力することを特徴とする(例えば、特許文献1参照。)。
また、ゲーテッドバッファからレジスタまでの遅延時間を表わす第1のパラメータにゲーテッドバッファの遅延時間を設定するステップと、前記第1のパラメータを考慮してゲーテッドクロック部分に第1のタイミング制約を与えるステップと、前記第1のタイミング制約で拘束されるゲーテッドクロック部分を含む回路のタイミング解析を行うステップと、前記タイミング解析結果から前記ゲーテッドクロック部分が前記第1のタイミング制約を満足するかどうかを判断するステップと、前記ゲーテッドクロック部分が前記タイミング制約を満足して、前記回路に配線処理をした後のゲーテッドバッファからレジスタまでの遅延時間を表わす第2のパラメータとして、ゲーテッドバッファからこのゲーテッドバッファが駆動するレジスタセルまでの遅延時間を設定するステップと、前記第2のパラメータを考慮してゲーテッドクロック部分に第2のタイミング制約を与えるステップと、前記第2のタイミング制約で拘束されるゲーテッドクロック部分を含む回路のタイミング解析を行うステップと、前記タイミング解析結果から前記ゲーテッドクロック部分が前記第2のタイミング制約を満足するかどうかを判断するステップと、を具備することを特徴とする(例えば、特許文献2参照。)。
特開平10−283381号公報 特開2002−190528号公報
しかしながら、従来の設計支援方法では、クロックゲーティング回路の挿入箇所が、設計時のタイミング解析でイネーブル信号のセットアップ条件を満たす箇所に限られる。そのため、論理的にクロックバッファを挿入できる箇所であっても、そのセットアップ条件を満たさずにセットアップ違反となる場合には、クロックゲーティング回路を挿入することができない。つまり、消費電力の削減を図ることができない。
一方、イネーブル信号のセットアップ条件を満たすように、クロックツリーの末端に近い箇所にクロックゲーティング回路を挿入することも可能である。しかし、クロックゲーティング回路の挿入箇所がクロックツリーの末端に近づくほど、消費電力の削減効果が低くなってしまう。
このように、従来技術では、十分な低消費電力化を図ることができないという問題点がある。ここで、イネーブル信号のセットアップ条件とは、クロックゲーティング回路がマスク対象のクロック信号の通過または遮断の制御を行うには、そのクロック信号のエッジの到達よりも前に、イネーブル信号がクロックゲーティング回路に到達している必要があるということである。
この発明は、上述した従来技術による問題点を解消するため、従来クロックゲーティング回路を挿入できなかった箇所にもクロックゲーティング回路を挿入することによって、より一層の低消費電力化を図ることができるクロックゲーティング回路挿入方法、クロックゲーティング回路挿入プログラムおよび設計支援装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明にかかるクロックゲーティング回路挿入方法、クロックゲーティング回路挿入プログラムおよび設計支援装置は、以下の特徴を有する。読み込み手段により、回路データおよび遅延ライブラリを読み込む。検出手段により、回路データに基づいてクロックゲーティング回路の挿入候補箇所を検出する。
決定手段により、挿入候補箇所にクロックゲーティング回路を挿入し、遅延ライブラリに基づいて、クロックゲーティング回路のイネーブル信号のタイミング解析を行い、イネーブル信号がセットアップ条件を満たすための遅延ばらつき上限値を決める。特別挿入手段により、挿入候補箇所にセレクタ付きクロックゲーティング回路を挿入する。セレクタ付きクロックゲーティング回路は、セレクタ回路とクロックゲーティング回路からなる。
セレクタ回路は、遅延ばらつき情報から得られる遅延ばらつき値が遅延ばらつき上限値以下であるときにイネーブル信号を選択して出力する。一方、遅延ばらつき値が遅延ばらつき上限値を超えるときには、セレクタ回路は、クロック信号を通過させる信号を選択して出力する。クロックゲーティング回路は、セレクタ回路の出力信号に基づいてクロック信号の通過または遮断の制御を行う。出力手段により、クロックゲーティング回路が挿入された回路データを出力する。
この発明によれば、設計時のタイミング解析でイネーブル信号のセットアップ違反となる箇所にセレクタ付きクロックゲーティング回路が挿入される。素子遅延の小さい集積回路では、そのセレクタ付きクロックゲーティング回路のクロックゲーティング回路に、セレクタ回路によりイネーブル信号が選択されて供給される。素子遅延が小さいと、イネーブル信号がクロック信号よりも前にそのクロックゲーティング回路に到達するので、クロックゲーティング回路によりクロック信号がクロックツリーのより下流側へ伝わるのを遮断することができる。
本発明にかかるクロックゲーティング回路挿入方法、クロックゲーティング回路挿入プログラムおよび設計支援装置によれば、従来クロックゲーティング回路を挿入できなかった箇所にもクロックゲーティング回路を挿入することができるので、より一層の低消費電力化を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるクロックゲーティング回路挿入方法、クロックゲーティング回路挿入プログラムおよび設計支援装置の好適な実施の形態を詳細に説明する。
(設計支援装置のハードウェア構成)
まず、この発明の実施の形態にかかる設計支援装置のハードウェア構成について説明する。図1は、この発明の実施の形態にかかる設計支援装置のハードウェア構成を示す図である。
図1に示すように、設計支援装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部は、バス100によってそれぞれ接続されている。
ここで、CPU101は、設計支援装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御に従ってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
FDD106は、CPU101の制御に従ってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを設計支援装置に読み取らせたりする。
また、着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、例えばモデムやLANアダプタなどを採用することができる。
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ112は、画像を光学的に読み取り、設計支援装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。
(設計支援装置の機能的構成)
次に、この発明の実施の形態にかかる設計支援装置の機能的構成について説明する。図2は、この発明の実施の形態にかかる設計支援装置の機能的構成を示す図である。図2に示すように、設計支援装置は、読込部1、検出部2、選択部3、決定部4、特別挿入部5、通常挿入部6および出力部7を備えている。
読込部1は、未挿入回路データ11と遅延ライブラリ12を読み込む。未挿入回路データ11は、クロックゲーティング回路が挿入されていない回路のデータである。検出部2は、読込部1により読み込まれた未挿入回路データ11に基づいて、クロックゲーティング回路の挿入に適する箇所を検出する。選択部3は、検出部2により検出された、クロックゲーティング回路の挿入に適する箇所のうち、1つの箇所をクロックゲーティング回路の挿入候補箇所として選択する。
決定部4は、クロックゲーティング回路データ13を取得し、選択部3により選択された挿入候補箇所にクロックゲーティング回路を挿入する。そして、決定部4は、読込部1により読み込まれた遅延ライブラリ12に基づいて、クロックゲーティング回路のイネーブル信号のタイミング解析を行い、イネーブル信号がセットアップ条件を満たすための遅延ばらつき上限値を決める。
特別挿入部5は、遅延ばらつき上限値データ14を取得し、後述する第1の条件と第2の条件をともに満たす場合に、セレクタ付きクロックゲーティング回路データ15を取得し、選択部3により選択された挿入候補箇所にセレクタ付きクロックゲーティング回路を挿入する。前記第1の条件は、遅延ばらつき上限値が規定値以上になっていることである。
これは、遅延ばらつき上限値が規定値よりも小さい場合には、クロックゲーティング回路を挿入しても、十分な消費電力の削減効果が得られないからである。従って、前記第1の条件を満たさない場合には、当該挿入候補箇所には、クロックゲーティング回路が挿入されない。
第2の条件は、遅延ばらつき上限値が、設計時に行われる通常のセットアップタイミング解析における遅延ばらつき条件よりも小さいことである。これは、遅延ばらつき上限値が、その通常のセットアップタイミング解析における遅延ばらつき条件以上であれば、常にイネーブル信号がセットアップ条件を満たすことになるので、セレクタ回路を設ける必要がないからである。
従って、前記第2の条件を満たさない場合には、通常挿入部6により、通常のクロックゲーティング回路、すなわちセレクタ回路が付いていないクロックゲーティング回路が当該挿入候補箇所に挿入される。図3に、セレクタ付きクロックゲーティング回路の構成を示す。
図3に示すように、セレクタ付きクロックゲーティング回路は、クロックゲーティング回路21のイネーブル入力端子に、セレクタ回路22の出力端子を接続した構成となっている。セレクタ回路22は、各入力端子に次の信号が入力されるように、接続される。制御入力端子には、遅延ばらつき値が遅延ばらつき上限値以下であるか否かを示す制御信号が入力される。
遅延ばらつき値が遅延ばらつき上限値以下である場合に選択される側(図3のY側)の入力端子には、イネーブル信号が入力される。遅延ばらつき値が遅延ばらつき上限値よりも大きい場合に選択される側(図3のN側)の入力端子には、クロックゲーティング回路21をクロック信号が通過する状態に固定する信号が入力される。
ここで、製造後の集積回路において、遅延ばらつき値は、集積回路の遅延ばらつき情報から得られる。製造後の個々の集積回路は、素子遅延の製造ばらつき情報をその集積回路内で参照するための手段を有しており、その手段により前記遅延ばらつき情報を得ることができる。その製造ばらつき情報を参照する手段は、例えば、集積回路内に遅延モニタ回路を埋め込むことにより、実現される。
あるいは、製造テスト時の遅延試験などで得られる遅延ばらつき情報を、ヒューズ等により集積回路内に焼き付けたり、ROM等の不揮発性メモリに記録しておくことによっても、実現できる。製造後の集積回路においては、遅延ばらつき値が遅延ばらつき上限値以下である場合には、セレクタ回路22は、イネーブル信号を選択して出力し、そうでない場合には、クロック信号を通過状態に固定する信号を選択して出力する。
クロックゲーティング回路21は、セレクタ回路22の出力信号に基づいてクロック信号の通過または遮断の制御を行う。通常挿入部6は、上述したように、第1の条件を満たし、かつ第2の条件を満たさない場合に、クロックゲーティング回路データ16を取得し、選択部3により選択された挿入候補箇所に通常のクロックゲーティング回路を挿入する。
通常のクロックゲーティング回路は、図3に示すクロックゲーティング回路21と同じでものある。ただし、そのイネーブル入力端子には、イネーブル信号が入力される。出力部7は、特別挿入部5または通常挿入部6によりセレクタ付きクロックゲーティング回路または通常のクロックゲーティング回路が挿入された挿入済み回路データ17を出力する。
なお、上述した読込部1、検出部2、選択部3、決定部4、特別挿入部5、通常挿入部6および出力部7は、具体的には、例えば、図1に示したROM102、RAM103、HD105などの記録媒体に記録されたプログラムを、CPU101が実行することによって、またはI/F109によって、その機能を実現する。また、未挿入回路データ11、遅延ライブラリ12および挿入済み回路データ17は、HD105などの記録媒体に記録される。
(クロックゲーティング回路挿入処理手順の全体)
次に、この発明の実施の形態にかかるクロックゲーティング回路挿入処理手順について説明する。図4は、この発明の実施の形態にかかるクロックゲーティング回路挿入処理手順の全体を示す図である。図4に示すように、クロックゲーティング回路挿入処理が開始されると、まず、読込部1により、未挿入回路データ11と遅延ライブラリ12を読み込む(ステップS1)。
次いで、検出部2により、ステップS1で読み込まれた回路データに基づいて、クロックゲーティング回路の挿入に適する箇所(挿入候補箇所)を検出する(ステップS2)。次いで、選択部3により、ステップS2で検出された挿入候補箇所の中から1つを選択する(ステップS3)。次いで、ステップS3で選択された挿入候補箇所に対するクロックゲーティング回路の挿入処理を行う(ステップS4)。この挿入処理の詳細な手順については、後述する。
ステップS4の挿入処理が終了した後、ステップS2で検出されたすべての挿入候補箇所に対してステップS4の挿入処理が完了したか否かを判定する(ステップS5)。その結果、ステップS4の挿入処理を行っていない挿入候補箇所が残っている場合(ステップS5:No)には、ステップS3に戻り、別の挿入候補箇所を1つ選択する。そして、その選択された挿入候補箇所に対するクロックゲーティング回路の挿入処理を行う(ステップS4)。
一方、ステップS5での判定の結果、すべての挿入候補箇所に対するステップS4の挿入処理が完了している場合(ステップS5:Yes)には、出力部7により、クロックゲーティング回路が挿入された挿入済み回路データ17を出力し(ステップS6)、一連のクロックゲーティング回路挿入処理を終了する。
(挿入処理手順の概略)
図5は、この発明の実施の形態にかかるクロックゲーティング回路挿入処理における挿入処理手順の概略を示す図である。図5に示すように、決定部4により、クロックゲーティング回路データ13を取得し、ステップS3で選択された挿入候補箇所にクロックゲーティング回路を挿入する。そして、ステップS1で読み込まれた遅延ライブラリに基づいて、クロックゲーティング回路のイネーブル信号のタイミング解析を行い、そのイネーブル信号がセットアップ条件を満たすための遅延ばらつき上限値を決める(ステップS11)。
次いで、ステップS11で決定された遅延ばらつき上限値が、予め設定された規定値以上であるか否かを判定する(ステップS12)。判定の結果、遅延ばらつき上限値が規定値以上である場合(ステップS12:Yes)には、さらに、遅延ばらつき上限値が、設計時に行われる通常のセットアップタイミング解析における遅延ばらつき条件よりも小さいか否かを判定する(ステップS13)。
判定の結果、遅延ばらつき上限値がその遅延ばらつき条件よりも小さい場合(ステップS13:Yes)には、特別挿入部5により、セレクタ付きクロックゲーティング回路データ15を取得する。そして、ステップS3で選択された挿入候補箇所にセレクタ付きクロックゲーティング回路を挿入し(ステップS14)、一連の挿入処理を終了する。セレクタ付きクロックゲーティング回路の各端子に対する信号線の接続形態については、上述した通りである。
一方、ステップS13での判定の結果、遅延ばらつき上限値が前記遅延ばらつき条件と同じかそれよりも大きい場合(ステップS13:No)には、通常挿入部6により、セレクタ回路が付いていない通常のクロックゲーティング回路データ16を取得する。そして、ステップS3で選択された挿入候補箇所に、その通常のクロックゲーティング回路を挿入し(ステップS16)、一連の挿入処理を終了する。通常のクロックゲーティング回路の各端子に対する信号線の接続形態については、上述した通りである。
また、ステップS12での判定の結果、遅延ばらつき上限値が規定値よりも小さい場合(ステップS12:No)には、ステップS13およびステップS14を省略し、ステップS3で選択された挿入候補箇所に通常のクロックゲーティング回路およびセレクタ付きクロックゲーティング回路のいずれも挿入しないで(ステップS15)、一連の挿入処理を終了する。
(挿入処理手順の具体例)
挿入処理手順の具体例について説明する。この例では、集積回路の遅延ばらつき情報から得られる前記遅延ばらつき値が、遅延ばらつきの程度が段階的に異なる複数の遅延レベルで表されるものとする。また、前記遅延ばらつき上限値が、複数の遅延レベルの中から、イネーブル信号がセットアップ条件を満たすための遅延レベルの上限値で表されるものとする。
従って、この具体例では、セレクタ付きクロックゲーティング回路のセレクタ回路22構成は、図6に示す通りとなる。すなわち、セレクタ回路22は、その制御入力端子に、遅延レベルがk以下であるか否かを示す制御信号が入力されるように、接続される。ここで、kは、イネーブル信号のタイミング解析を行うことによって得られる値であり、イネーブル信号がセットアップ条件を満たすための遅延レベルの上限値である。セレクタ回路22のその他の入力端子および出力端子の接続先については、図3において説明した通りである。
また、この具体例では、図7に示すように、タイミング解析を行うための条件(プロセスばらつき・電圧・温度)を、遅延ばらつきの程度に応じて段階的に複数、用意する。ここでは、通常のセットアップタイミング解析に用いる条件と、それよりも遅延の小さい複数の条件である。
図7において、遅延レベルnが、通常のセットアップタイミング解析に用いる条件であり、最も遅延の大きいレベルである。遅延レベル1は、最も遅延の小さいレベルである。各遅延レベルごとに遅延ライブラリが用意される。ただし、nは、2以上の整数である。
図8は、挿入処理手順の具体例を示す図である。この具体例では、図4に示すステップS1において、遅延レベル1から遅延レベルnまでのすべての遅延ライブラリを読み込んでおく。そして、図8に示すように、変数iの値をnに設定する(ステップS21)。次いで、図4のステップS3で選択された挿入候補箇所にクロックゲーティング回路を挿入し、遅延レベルiの遅延ライブラリに基づいて、クロックゲーティング回路のイネーブル信号のセットアップタイミング解析を行う(ステップS22)。
タイミング解析の結果、セットアップ違反になるか否かを判定する(ステップS23)。その判定の結果、セットアップ条件を満たす場合(ステップS23:No)には、さらに、変数iの値がnであるか否かを判定する(ステップS24)。変数iの値がnでない場合(ステップS24:No)には、ステップS3で選択された挿入候補箇所にセレクタ付きクロックゲーティング回路を挿入し(ステップS25)、一連の挿入処理を終了する。
一方、ステップS24での判定の結果、変数iの値がnに等しい場合(ステップS24:Yes)には、ステップS3で選択された挿入候補箇所に通常のクロックゲーティング回路を挿入し(ステップS29)、一連の挿入処理を終了する。また、ステップS23での判定の結果、セットアップ違反となる場合(ステップS23:Yes)には、変数iの値が1であるか否かを判定する(ステップS26)。
変数iの値が1でない場合(ステップS26:No)には、変数iの値を1だけ小さくし(ステップS28)、ステップS22に戻り、それ以降の処理を繰り返す。ステップS26での判定の結果、変数iの値が1に等しい場合(ステップS26:Yes)は、すべての遅延レベルでセットアップ違反となる場合である。従って、この場合には、ステップS3で選択された挿入候補箇所に通常のクロックゲーティング回路およびセレクタ付きクロックゲーティング回路のいずれも挿入しないで(ステップS27)、一連の挿入処理を終了する。
ここで、特定の挿入候補箇所において、パス遅延の異なるイネーブル信号の候補が複数ある場合には、各イネーブル信号に対してセットアップタイミング解析が行われる。また、セレクタ付きクロックゲーティング回路のセレクタ回路として、多入力セレクタ回路が用いられる。そして、その多入力セレクタ回路には、各イネーブル信号と、クロックゲーティング回路をクロック信号が通過する状態に固定する信号が入力される。この場合には、ばらつきレベルの範囲に応じてイネーブル信号が切り替えられる。
ところで、製造後の集積回路では、集積回路の遅延ばらつき情報から得られる遅延の程度が、複数の遅延レベルのそれぞれを超えているか否かを示す信号が必要となる。従って、集積回路内に、その信号を生成する手段(以下、信号生成手段とする)を用意しておく必要がある。その信号生成手段としては、例えば、通常の論理回路や変換テーブルなどが考えられる。
図9は、信号生成手段の構成の一例を示す図である。図9に示すように、この信号生成手段は、遅延情報変換テーブル31により、遅延ばらつき情報を遅延レベルに変換し、その遅延レベルをデコーダ32によりデコードすることによって、遅延の程度が複数の遅延レベルのそれぞれを超えているか否かを示す信号を出力する構成となっている。
図9に示す構成では、デコーダ32から、遅延レベルが1以下であるか否かを示す信号、遅延レベルが2以下であるか否かを示す信号、・・・、および遅延レベルがn以下であるか否かを示す信号が出力される。そのうち、例えば、イネーブル信号がセットアップ条件を満たすための遅延レベルの上限値kの値が3である場合には、デコーダ32の、遅延レベルが3以下であるか否かを示す信号を出力する端子が、セレクタ付きクロックゲーティング回路の前記セレクタ回路22の制御入力端子に接続される。
例えば、イネーブル信号がセットアップ条件を満たすための遅延レベルの上限値kの値が3である場合は、次のようになる。製造後の集積回路の遅延ばらつき情報が遅延レベル2と遅延レベル3の間に相当する値である場合、デコーダ32の、遅延レベルが3以下であるか否かを示す信号の値が真となる。従って、セレクタ回路22は、イネーブル信号を選択してクロックゲーティング回路21のイネーブル入力端子に供給する。
一方、製造後の集積回路の遅延ばらつき情報が遅延レベル3に相当する値よりも大きい場合、デコーダ32の、遅延レベルが3以下であるか否かを示す信号の値は、偽となる。従って、セレクタ回路22は、クロック信号を通過状態に固定する信号を選択してクロックゲーティング回路21のイネーブル入力端子に供給する。
図10および図12は、従来のクロックゲーティング回路の挿入箇所を説明する図であり、図11、図13および図14は、実施の形態にかかるセレクタ付きクロックゲーティング回路の挿入箇所を示す図である。これらの図において、遅延情報とあるのは、セレクタ回路22の制御入力端子に入力される、遅延レベルがk以下であるか否かを示す制御信号である。図10に示すように、従来、イネーブル信号の遅延により、クロックツリー41の上流(クロック源に近い側)にクロックゲーティング回路を挿入することができず、クロックツリー41の下流にしかクロックゲーティング回路42を挿入できないことがある。
このような場合に、実施の形態にかかるクロックゲーティング回路挿入処理を行うことによって、図11に示すように、クロックツリー41のより上流に、クロックゲーティング回路21およびセレクタ回路22からなるセレクタ付きクロックゲーティング回路を挿入することができる。また、従来、クロックゲーティング回路42を全く挿入することができないような場合でも、実施の形態にかかるクロックゲーティング回路挿入処理を行うことによって、セレクタ付きクロックゲーティング回路を挿入することができることがある。
また、図12に示すように、既にクロックツリー41にクロックゲーティング回路42が挿入されている場合でも、実施の形態にかかるクロックゲーティング回路挿入処理を行うことによって、クロックツリー41のより上流に、クロックゲーティング回路21およびセレクタ回路22からなるセレクタ付きクロックゲーティング回路を挿入することができる。従って、セレクタ付きクロックゲーティング回路でクロック信号を遮断することによって、既設のクロックゲーティング回路42よりも上流でクロック信号を遮断することができる。
さらに、図13に示すように、従来、クロックツリー41の下流側に異なるイネーブル信号によって動作するクロックゲーティング回路42,43,44,45が挿入される場合がある。このような場合でも、実施の形態にかかるクロックゲーティング回路挿入処理を行うことによって、図14に示すように、クロックツリー41のより上流に、クロックゲーティング回路21およびセレクタ回路22からなるセレクタ付きクロックゲーティング回路を挿入することができる。
この場合には、セレクタ回路22のイネーブル入力端子には、クロックゲーティング回路42,43,44,45の各イネーブル信号A、B、CおよびDのアンド論理をとった信号が入力される。従って、各イネーブル信号A、B、CおよびDによってクロックゲーティング回路42,43,44,45のすべてにおいてクロック信号を遮断する場合、クロックツリー41のより上流に挿入されたクロックゲーティング回路21でクロック信号を遮断することができる。
以上説明したように、実施の形態によれば、クロックツリーのより上流にセレクタ付きクロックゲーティング回路を挿入することができる。それによって、従来クロックツリーの下流に配置されていたクロックゲーティング回路が不要となるので、その不要となるクロックゲーティング回路の消費電力分が減る。また、クロックツリーの、より上流に配置されるセレクタ付きクロックゲーティング回路と、従来の下流に配置されていたクロックゲーティング回路との間の部分において、クロック信号を止めることができるので、その分のスイッチング電力が減る。従って、より一層の低消費電力化を図ることができる。
また、図12に示すようにゲーティング済の回路において、クロックツリーのより上流にセレクタ付きクロックゲーティング回路を挿入する場合、セレクタ付きクロックゲーティング回路を挿入することによる電力増加分よりもクロックツリーでのスイッチング電力の削減分の方が大きければ、消費電力の削減効果が得られる。例えば、従来クロックツリー全体のうちの30%の箇所でゲーティングが可能であり、クロックゲーティング確率が90%であるとする。
これに対して、実施の形態を適用することによって、さらにクロックツリー全体の20%の部分でゲーティングが可能となり、その部分のゲーティング確率が70%であるとする。この場合には、クロックツリーでのスイッチング電力削減効果は、約19%(=0.2×0.7/(1−0.3×0.9))となる。
一般に、素子遅延の小さい半導体チップは、素子遅延の大きいチップと比べて、リーク電流が大きいという特性を有する。そのため、集積回路の消費電力は、素子遅延の小さいチップで最悪となる。本発明では、ばらつきによる素子遅延の大きいチップはクロック信号を常時通過させるため、素子遅延の大きいチップでは従来手法と比べて消費電力が増加する。しかし、本実施の形態によれば、素子遅延が小さければクロックツリーのより上流にセレクタ付きクロックゲーティング回路を挿入することができるので、消費電力が大きくなる素子遅延の小さいチップの消費電力を効果的に削減することができる。従って、全体として、集積回路の最大消費電流値を小さくすることができる。
また、本実施の形態では、製造後の集積回路に、素子の遅延ばらつき情報を生成し、変換し、分配する回路などが必要となる。しかし、集積回路が通常動作しているときには、それらの回路は、ほとんど動作しない。従って、リーク電流の小さいトランジスタを用いてそれらの回路を作製すれば、それらの回路による消費電力を小さく抑えることができるので、低消費電力化の妨げにはならない。
以上において本発明は、上述した実施の形態に限らず、種々変更可能である。例えば、図8に示すフローチャートにおいて、変数iをnから漸次、減らす代わりに、1から増やすようにしてもよい。また、本実施の形態によってクロックツリーの上流に挿入されたセレクタ付きクロックゲーティング回路でクロック信号を遮断することができないことによって回路の正常動作に影響が生じるおそれがある場合には、クロックツリーの、そのセレクタ付きクロックゲーティング回路よりも下流に、さらに通常のクロックゲーティング回路を挿入しておけばよい。
なお、本実施の形態で説明したクロックゲーティング回路挿入方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)集積回路内にクロックゲーティング回路を挿入するクロックゲーティング回路挿入方法において、回路データおよび遅延ライブラリを読み込む読み込み工程と、前記読み込み工程で読み込まれた前記回路データに基づいて、クロックゲーティング回路の挿入候補箇所を検出する検出工程と、前記検出工程で検出された前記挿入候補箇所にクロックゲーティング回路を挿入し、前記読み込み工程で読み込まれた前記遅延ライブラリに基づいて、前記クロックゲーティング回路のイネーブル信号のタイミング解析を行い、該イネーブル信号がセットアップ条件を満たすための遅延ばらつき上限値を決める決定工程と、前記遅延ばらつき情報から得られる遅延ばらつき値が、前記決定工程で決定された前記遅延ばらつき上限値以下であるときにイネーブル信号を選択して出力し、一方、前記遅延ばらつき値が前記遅延ばらつき上限値を超えるときに、クロック信号を通過させる信号を選択して出力するセレクタ回路、および該セレクタ回路の出力信号に基づいてクロック信号の通過または遮断の制御を行うクロックゲーティング回路からなるセレクタ付きクロックゲーティング回路を、前記挿入候補箇所に挿入する特別挿入工程と、前記クロックゲーティング回路が挿入された回路データを出力する出力工程と、を含むことを特徴とするクロックゲーティング回路挿入方法。
(付記2)前記遅延ばらつき上限値が規定値よりも小さい場合、前記特別挿入工程を省略することを特徴とする付記1に記載のクロックゲーティング回路挿入方法。
(付記3)前記遅延ばらつき上限値が規定値以上である場合、前記特別挿入工程を行うことを特徴とする付記1に記載のクロックゲーティング回路挿入方法。
(付記4)前記遅延ばらつき上限値が、設計時に行われる通常のセットアップタイミング解析における遅延ばらつき条件と同じかそれよりも大きい場合、前記特別挿入工程を省略し、前記出力工程を行う前に、前記挿入候補箇所にクロックゲーティング回路のみを挿入する通常挿入工程を行うことを特徴とする付記1に記載のクロックゲーティング回路挿入方法。
(付記5)前記遅延ばらつき上限値が、設計時に行われる通常のセットアップタイミング解析における遅延ばらつき条件よりも小さい場合、前記特別挿入工程を行うことを特徴とする付記1または3に記載のクロックゲーティング回路挿入方法。
(付記6)前記集積回路の遅延ばらつき値が、遅延ばらつきの程度が段階的に異なる複数の遅延レベルで表され、前記遅延ばらつき上限値は、複数の遅延レベルの中から、前記イネーブル信号がセットアップ条件を満たすための遅延レベルの上限値で表されることを特徴とする付記1に記載のクロックゲーティング回路挿入方法。
(付記7)集積回路内にクロックゲーティング回路を挿入するためのクロックゲーティング回路挿入プログラムにおいて、回路データおよび遅延ライブラリを読み込む読み込み工程と、前記読み込み工程で読み込まれた前記回路データに基づいてクロックゲーティング回路の挿入に適する箇所を検出する検出工程と、前記読み込み工程で読み込まれた前記回路データに基づいて、クロックゲーティング回路の挿入候補箇所として検出する検出工程と、前記検出工程で検出された前記挿入候補箇所にクロックゲーティング回路を挿入し、前記読み込み工程で読み込まれた前記遅延ライブラリに基づいて、前記クロックゲーティング回路のイネーブル信号のタイミング解析を行い、該イネーブル信号がセットアップ条件を満たすための遅延ばらつき上限値を決める決定工程と、前記遅延ばらつき情報から得られる遅延ばらつき値が、前記決定工程で決定された前記遅延ばらつき上限値以下であるときにイネーブル信号を選択して出力し、一方、前記遅延ばらつき値が前記遅延ばらつき上限値を超えるときに、クロック信号を通過させる信号を選択して出力するセレクタ回路、および該セレクタ回路の出力信号に基づいてクロック信号の通過または遮断の制御を行うクロックゲーティング回路からなるセレクタ付きクロックゲーティング回路を、前記挿入候補箇所に挿入する特別挿入工程と、をコンピュータに実行させるクロックゲーティング回路挿入プログラム。
(付記8)前記遅延ばらつき上限値が規定値よりも小さい場合、前記特別挿入工程を省略し、前記遅延ばらつき上限値が規定値以上である場合、前記特別挿入工程を行うことを特徴とする付記7に記載のクロックゲーティング回路挿入プログラム。
(付記9)前記遅延ばらつき上限値が、設計時に行われる通常のセットアップタイミング解析における遅延ばらつき条件と同じかそれよりも大きい場合、前記特別挿入工程を省略し、前記出力工程を行う前に、前記挿入候補箇所にクロックゲーティング回路のみを挿入する通常挿入工程を行うことを特徴とする付記7に記載のクロックゲーティング回路挿入プログラム。
(付記10)前記遅延ばらつき上限値が、設計時に行われる通常のセットアップタイミング解析における遅延ばらつき条件よりも小さい場合、前記特別挿入工程を行うことを特徴とする付記7または8に記載のクロックゲーティング回路挿入プログラム。
(付記11)前記集積回路の遅延ばらつき値が、遅延ばらつきの程度が段階的に異なる複数の遅延レベルで表され、前記遅延ばらつき上限値は、複数の遅延レベルの中から、前記イネーブル信号がセットアップ条件を満たすための遅延レベルの上限値で表されることを特徴とする付記7に記載のクロックゲーティング回路挿入プログラム。
(付記12)集積回路内にクロックゲーティング回路を挿入するのを支援する設計支援装置において、回路データおよび遅延ライブラリを読み込む読込手段と、前記読込手段で読み込まれた前記回路データに基づいて、クロックゲーティング回路の挿入候補箇所を検出する検出手段と、前記検出手段で検出された前記挿入候補箇所にクロックゲーティング回路を挿入し、前記読込手段で読み込まれた前記遅延ライブラリに基づいて、前記クロックゲーティング回路のイネーブル信号のタイミング解析を行い、該イネーブル信号がセットアップ条件を満たすための遅延ばらつき上限値を決める決定手段と、前記遅延ばらつき情報から得られる遅延ばらつき値が前記遅延ばらつき上限値以下であるときにイネーブル信号を選択して出力し、一方、前記遅延ばらつき値が前記遅延ばらつき上限値を超えるときに、クロック信号を通過させる信号を選択して出力するセレクタ回路、および該セレクタ回路の出力信号に基づいてクロック信号の通過または遮断の制御を行うクロックゲーティング回路からなるセレクタ付きクロックゲーティング回路を、前記挿入候補箇所に挿入する特別挿入手段と、前記クロックゲーティング回路が挿入された回路データを出力する出力手段と、を備えることを特徴とする設計支援装置。
(付記13)前記遅延ばらつき上限値が、設計時に行われる通常のセットアップタイミング解析における遅延ばらつき条件と同じかそれよりも大きい場合、前記挿入候補箇所にクロックゲーティング回路のみを挿入する通常挿入手段、をさらに備えることを特徴とする付記12に記載の設計支援装置。
以上のように、本発明にかかるクロックゲーティング回路挿入方法、クロックゲーティング回路挿入プログラムおよび設計支援装置は、半導体集積回路の設計に有用であり、特に、低消費電力タイプの半導体集積回路の設計に適している。
この発明の実施の形態にかかる設計支援装置のハードウェア構成を示す図である。 この発明の実施の形態にかかる設計支援装置の機能的構成を示す図である。 セレクタ付きクロックゲーティング回路の構成を示す図である。 この発明の実施の形態にかかるクロックゲーティング回路挿入処理手順の全体を示す図である。 この発明の実施の形態にかかるクロックゲーティング回路挿入処理における挿入処理手順の概略を示す図である。 具体例におけるセレクタ付きクロックゲーティング回路の構成を示す図である。 具体例における素子遅延の製造ばらつきを説明する図である。 この発明の実施の形態にかかるクロックゲーティング回路挿入処理における挿入処理手順の具体例を示す図である。 具体例における信号生成手段の構成を示す図である。 従来のクロックゲーティング回路の挿入箇所を示す図である。 セレクタ付きクロックゲーティング回路の挿入箇所を示す図である。 セレクタ付きクロックゲーティング回路の挿入箇所を示す図である。 従来のクロックゲーティング回路の挿入箇所を示す図である。 セレクタ付きクロックゲーティング回路の挿入箇所を示す図である。
符号の説明
1 読込部
2 検出部
3 選択部
4 決定部
5 特別挿入部
6 通常挿入部
7 出力部
11 未挿入回路データ
12 遅延ライブラリ
14 遅延ばらつき上限値データ
17 挿入済み回路データ

Claims (10)

  1. 集積回路内にクロックゲーティング回路を挿入するクロックゲーティング回路挿入方法において、
    回路データおよび遅延ライブラリを読み込む読み込み工程と、
    前記読み込み工程で読み込まれた前記回路データに基づいて、クロックゲーティング回路の挿入候補箇所を検出する検出工程と、
    前記検出工程で検出された前記挿入候補箇所にクロックゲーティング回路を挿入し、前記読み込み工程で読み込まれた前記遅延ライブラリに基づいて、前記クロックゲーティング回路のイネーブル信号のタイミング解析を行い、該イネーブル信号がセットアップ条件を満たすための遅延ばらつき上限値を決める決定工程と、
    前記遅延ばらつき情報から得られる遅延ばらつき値が、前記決定工程で決定された前記遅延ばらつき上限値以下であるときにイネーブル信号を選択して出力し、一方、前記遅延ばらつき値が前記遅延ばらつき上限値を超えるときに、クロック信号を通過させる信号を選択して出力するセレクタ回路、および該セレクタ回路の出力信号に基づいてクロック信号の通過または遮断の制御を行うクロックゲーティング回路からなるセレクタ付きクロックゲーティング回路を、前記挿入候補箇所に挿入する特別挿入工程と、
    前記クロックゲーティング回路が挿入された回路データを出力する出力工程と、
    を含むことを特徴とするクロックゲーティング回路挿入方法。
  2. 前記遅延ばらつき上限値が規定値以上である場合、前記特別挿入工程を行うことを特徴とする請求項1に記載のクロックゲーティング回路挿入方法。
  3. 前記遅延ばらつき上限値が、設計時に行われる通常のセットアップタイミング解析における遅延ばらつき条件と同じかそれよりも大きい場合、前記特別挿入工程を省略し、前記出力工程を行う前に、前記挿入候補箇所にクロックゲーティング回路のみを挿入する通常挿入工程を行うことを特徴とする請求項1に記載のクロックゲーティング回路挿入方法。
  4. 前記遅延ばらつき上限値が、設計時に行われる通常のセットアップタイミング解析における遅延ばらつき条件よりも小さい場合、前記特別挿入工程を行うことを特徴とする請求項1または2に記載のクロックゲーティング回路挿入方法。
  5. 前記集積回路の遅延ばらつき値が、遅延ばらつきの程度が段階的に異なる複数の遅延レベルで表され、前記遅延ばらつき上限値は、複数の遅延レベルの中から、前記イネーブル信号がセットアップ条件を満たすための遅延レベルの上限値で表されることを特徴とする請求項1に記載のクロックゲーティング回路挿入方法。
  6. 集積回路内にクロックゲーティング回路を挿入するためのクロックゲーティング回路挿入プログラムにおいて、
    回路データおよび遅延ライブラリを読み込む読み込み工程と、
    前記読み込み工程で読み込まれた前記回路データに基づいてクロックゲーティング回路の挿入に適する箇所を検出する検出工程と、
    前記読み込み工程で読み込まれた前記回路データに基づいて、クロックゲーティング回路の挿入候補箇所として検出する検出工程と、
    前記検出工程で検出された前記挿入候補箇所にクロックゲーティング回路を挿入し、前記読み込み工程で読み込まれた前記遅延ライブラリに基づいて、前記クロックゲーティング回路のイネーブル信号のタイミング解析を行い、該イネーブル信号がセットアップ条件を満たすための遅延ばらつき上限値を決める決定工程と、
    前記遅延ばらつき情報から得られる遅延ばらつき値が、前記決定工程で決定された前記遅延ばらつき上限値以下であるときにイネーブル信号を選択して出力し、一方、前記遅延ばらつき値が前記遅延ばらつき上限値を超えるときに、クロック信号を通過させる信号を選択して出力するセレクタ回路、および該セレクタ回路の出力信号に基づいてクロック信号の通過または遮断の制御を行うクロックゲーティング回路からなるセレクタ付きクロックゲーティング回路を、前記挿入候補箇所に挿入する特別挿入工程と、
    をコンピュータに実行させるクロックゲーティング回路挿入プログラム。
  7. 前記遅延ばらつき上限値が規定値よりも小さい場合、前記特別挿入工程を省略し、
    前記遅延ばらつき上限値が規定値以上である場合、前記特別挿入工程を行うことを特徴とする請求項6に記載のクロックゲーティング回路挿入プログラム。
  8. 前記遅延ばらつき上限値が、設計時に行われる通常のセットアップタイミング解析における遅延ばらつき条件と同じかそれよりも大きい場合、前記特別挿入工程を省略し、前記出力工程を行う前に、前記挿入候補箇所にクロックゲーティング回路のみを挿入する通常挿入工程を行うことを特徴とする請求項6に記載のクロックゲーティング回路挿入プログラム。
  9. 前記集積回路の遅延ばらつき値が、遅延ばらつきの程度が段階的に異なる複数の遅延レベルで表され、前記遅延ばらつき上限値は、複数の遅延レベルの中から、前記イネーブル信号がセットアップ条件を満たすための遅延レベルの上限値で表されることを特徴とする請求項6に記載のクロックゲーティング回路挿入プログラム。
  10. 集積回路内にクロックゲーティング回路を挿入するのを支援する設計支援装置において、
    回路データおよび遅延ライブラリを読み込む読込手段と、
    前記読込手段で読み込まれた前記回路データに基づいて、クロックゲーティング回路の挿入候補箇所を検出する検出手段と、
    前記検出手段で検出された前記挿入候補箇所にクロックゲーティング回路を挿入し、前記読込手段で読み込まれた前記遅延ライブラリに基づいて、前記クロックゲーティング回路のイネーブル信号のタイミング解析を行い、該イネーブル信号がセットアップ条件を満たすための遅延ばらつき上限値を決める決定手段と、
    前記遅延ばらつき情報から得られる遅延ばらつき値が前記遅延ばらつき上限値以下であるときにイネーブル信号を選択して出力し、一方、前記遅延ばらつき値が前記遅延ばらつき上限値を超えるときに、クロック信号を通過させる信号を選択して出力するセレクタ回路、および該セレクタ回路の出力信号に基づいてクロック信号の通過または遮断の制御を行うクロックゲーティング回路からなるセレクタ付きクロックゲーティング回路を、前記挿入候補箇所に挿入する特別挿入手段と、
    前記クロックゲーティング回路が挿入された回路データを出力する出力手段と、
    を備えることを特徴とする設計支援装置。
JP2007039353A 2007-02-20 2007-02-20 集積回路の製造方法、クロックゲーティング回路挿入プログラムおよび設計支援装置 Expired - Fee Related JP4848298B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007039353A JP4848298B2 (ja) 2007-02-20 2007-02-20 集積回路の製造方法、クロックゲーティング回路挿入プログラムおよび設計支援装置
US12/034,156 US7926014B2 (en) 2007-02-20 2008-02-20 Clock-gating circuit insertion method, clock-gating circuit insertion program and designing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007039353A JP4848298B2 (ja) 2007-02-20 2007-02-20 集積回路の製造方法、クロックゲーティング回路挿入プログラムおよび設計支援装置

Publications (2)

Publication Number Publication Date
JP2008204152A true JP2008204152A (ja) 2008-09-04
JP4848298B2 JP4848298B2 (ja) 2011-12-28

Family

ID=39707721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007039353A Expired - Fee Related JP4848298B2 (ja) 2007-02-20 2007-02-20 集積回路の製造方法、クロックゲーティング回路挿入プログラムおよび設計支援装置

Country Status (2)

Country Link
US (1) US7926014B2 (ja)
JP (1) JP4848298B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296065B2 (en) 2016-01-25 2019-05-21 Samsung Electronics Co., Ltd. Clock management using full handshaking
US20220083347A1 (en) * 2020-09-14 2022-03-17 Intel Corporation Adding cycle noise to enclaved execution environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08202569A (ja) * 1995-01-23 1996-08-09 Sharp Corp ゲーティッドクロックの検証方法
JPH10283381A (ja) * 1997-04-01 1998-10-23 Toshiba Corp ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2002190528A (ja) * 2000-12-22 2002-07-05 Toshiba Corp ゲーテッドクロック設計支援装置、ゲーテッドクロック設計支援方法及びゲーテッドクロック設計支援プログラム
JP2006201825A (ja) * 2005-01-18 2006-08-03 Fujitsu Ltd 集積回路の遅延解析方法及び遅延解析プログラム
JP2006268165A (ja) * 2005-03-22 2006-10-05 Sharp Corp 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272667B1 (en) * 1997-10-09 2001-08-07 Kabushiki Kaisha Toshiba Method and apparatus for clock gated logic circuits to reduce electric power consumption
JP4971557B2 (ja) * 2001-07-03 2012-07-11 パナソニック株式会社 半導体集積回路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08202569A (ja) * 1995-01-23 1996-08-09 Sharp Corp ゲーティッドクロックの検証方法
JPH10283381A (ja) * 1997-04-01 1998-10-23 Toshiba Corp ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2002190528A (ja) * 2000-12-22 2002-07-05 Toshiba Corp ゲーテッドクロック設計支援装置、ゲーテッドクロック設計支援方法及びゲーテッドクロック設計支援プログラム
JP2006201825A (ja) * 2005-01-18 2006-08-03 Fujitsu Ltd 集積回路の遅延解析方法及び遅延解析プログラム
JP2006268165A (ja) * 2005-03-22 2006-10-05 Sharp Corp 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体

Also Published As

Publication number Publication date
US20080201674A1 (en) 2008-08-21
US7926014B2 (en) 2011-04-12
JP4848298B2 (ja) 2011-12-28

Similar Documents

Publication Publication Date Title
JP4528659B2 (ja) クロックジッタ算出装置、クロックジッタ算出方法、およびクロックジッタ算出プログラム
JP4549280B2 (ja) 設計支援装置、設計支援方法、および設計支援プログラム
JP2006146601A (ja) 半導体集積回路のレイアウト設計方法
JP2009237972A (ja) 半導体装置、その設計方法及び設計装置
JP4848298B2 (ja) 集積回路の製造方法、クロックゲーティング回路挿入プログラムおよび設計支援装置
US8887015B2 (en) Apparatus and method for designing semiconductor device, and semiconductor device
KR101117397B1 (ko) Lsi 시험 장치, lsi 시험 방법, 및 lsi 시험 프로그램을 기록한 기록 매체
JP5167740B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
US20080209368A1 (en) Layout design method, layout design apparatus, and computer product
JP5265318B2 (ja) 論理検証装置
JP4649356B2 (ja) 消費電力算出プログラム、記録媒体、消費電力算出方法、および消費電力算出装置
JP2008004024A (ja) レイアウト設計プログラム、該プログラムを記録した記録媒体、レイアウト設計装置、およびレイアウト設計方法
JP5263393B2 (ja) 設計支援方法、設計支援装置、および設計支援プログラム
JP5278271B2 (ja) 設計支援プログラム、設計支援装置および設計支援方法
JP4682059B2 (ja) フォールスパス記述情報生成プログラム、フォールスパス記述情報生成装置およびフォールスパス記述情報生成方法
JP4759419B2 (ja) 遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置
JP2006134215A (ja) クロックツリー生成装置、クロックツリー生成方法、クロックツリー生成プログラムおよび記録媒体
JP2006344165A (ja) レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体
JP5263066B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP4217204B2 (ja) タイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラム
JP2008152329A (ja) 回路解析方法、及び回路解析プログラム、回路シミュレーション装置
US20080263485A1 (en) Verification support method and apparatus, and computer product
JP2009128977A (ja) 再収斂パス検出方法、プログラム、及びシステム
JP2006146710A (ja) 消費電力見積もり装置、消費電力見積もり方法、消費電力見積もりプログラムおよび記録媒体
JP2010271853A (ja) 検証支援プログラム、検証支援装置、および検証支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110630

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: 20111011

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111017

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

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees