JP5368941B2 - 論理回路設計支援方法及び装置 - Google Patents

論理回路設計支援方法及び装置 Download PDF

Info

Publication number
JP5368941B2
JP5368941B2 JP2009255231A JP2009255231A JP5368941B2 JP 5368941 B2 JP5368941 B2 JP 5368941B2 JP 2009255231 A JP2009255231 A JP 2009255231A JP 2009255231 A JP2009255231 A JP 2009255231A JP 5368941 B2 JP5368941 B2 JP 5368941B2
Authority
JP
Japan
Prior art keywords
logic circuit
enable signal
circuit
signal
clock
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
JP2009255231A
Other languages
English (en)
Other versions
JP2011100346A (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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2009255231A priority Critical patent/JP5368941B2/ja
Publication of JP2011100346A publication Critical patent/JP2011100346A/ja
Application granted granted Critical
Publication of JP5368941B2 publication Critical patent/JP5368941B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Power Sources (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

本発明は、コンピュータを利用した論理回路設計の自動化技術において、特に実動作モードにおける低消費電力化のためのゲーティッドクロック設計を支援する論理回路設計支援方法及び装置に関する。
通常、論理回路はHDL(Hardware Description Language)等のハードウェア記述言語で設計されるが、近年、LSI(Large Scale Integrated circuit)等の半導体集積回路は、高集積化、大型化する傾向にあり、それに伴い低消費電力化が大きな課題となっている。低消費電力化技術の内、論理合成段階においてRTL(Register Transfer Level)記述に対して、クロック信号の有効無効を制御するクロックゲーティング手法を用いることが、現在の設計の主流となっている。即ち、クロック信号の印加が不要な期間のクロック信号を停止させることにより低消費電力化を実現している。しかしながら、論理合成ツールを用いてクロックゲーティング処理を実施した場合、論理階層毎及びフリップフロップ回路毎にクロックゲーティング回路が挿入されてしまうため、回路規模が大きくなるとともに、クロックゲーティング回路での電力消費が増大して、更なる低消費電力化を実現できないという問題があった。
クロックゲーティング処理における上記問題を解決する従来技術として、例えば、下記特許文献1に開示されている「回路設計装置、回路設計プログラム、及び回路設計方法」が挙げられる。この方法では、イネーブル信号を解析して、共通イネーブル信号を抽出することにより論理階層を跨いだイネーブル信号の組み替えを行うことにより、クロックゲーティング回路の簡素化を図り、低消費電力化を実現している。当該従来技術における処理内容を、図1を用いて説明する。
図1は、ある論理回路におけるクロックゲーティング処理を実施することによる低消費電力化処理の概念図であり、同図(a)は、クロックゲーティング処理前の回路構成を、同図(b)は、クロックゲーティング回路の簡素化を行わない従来の論理合成ツールを用いてクロックゲーティング処理(第1の従来処理)を実施した後の回路構成を、同図(c)は、特許文献1に開示のクロックゲーティング処理(第2の従来処理)を実施した後の回路構成を、夫々示している。
図1(a)に示すように、クロックゲーティング処理前の論理回路のクロック信号CLKは、クロックジェネレータ20から論理階層11〜14のイネーブル付きフリップフロップ回路31〜34へ共通に分配されている。同様にイネーブル信号EN1〜EN3は、イネーブル生成論理回路21から供給され、論理階層11,12の下のイネーブル付きフリップフロップ回路31,32には共通のイネーブル信号EN1が、論理階層13,14のイネーブル付きフリップフロップ回路33,34には、夫々異なるイネーブル信号EN2,EN3が供給されている。このとき、クロックジェネレータ20から供給されるクロック信号CLKは常時供給されるが、イネーブル生成論理回路21から供給されるイネーブル信号EN1〜EN3は、論理階層11〜14のイネーブル付きフリップフロップ回路31〜34の動作タイミングに合わせてアクティブ状態になるように設計されている。尚、フリップフロップ回路31〜34の夫々に付した記号EN及びCKは、夫々イネーブル信号とクロック信号の入力端子を表している。
ここで、図1(a)の論理回路に対して第1の従来処理を実施すると、図1(b)に示すように、論理階層11〜14の下にクロックゲーティング回路41〜44が挿入され、論理階層11〜14のイネーブル付きフリップフロップ回路31〜34がイネーブル無しフリップフロップ回路31a〜34aにマッピングされる。つまり、イネーブル生成論理回路21からのイネーブル信号EN1〜EN3によって動作する必要のない期間(非アクティブ期間)はクロック信号CLKの供給が停止される構成となるため、該当するフリップフロップ回路の消費電力は低減される。
一方、図1(a)の論理回路に対して特許文献1に開示の第2の従来処理を適用すると、共通するイネーブル信号を抽出し、且つ、論理階層を跨いでクロックゲーティング回路を最適化するため、図1(c)に示すように、論理階層10の下にクロックゲーティング回路45〜47が挿入され、論理階層11〜14のイネーブル付きフリップフロップ回路31〜34がイネーブル無しフリップフロップ回路31a〜34aにマッピングされる。つまり、図1(c)に示す処理結果では、図1(b)に示す処理結果に対して、クロックゲーティング回路の数を減らすことができるため、より低消費電力化が可能となる。
特開2007−164590号公報
しかしながら、特許文献1に開示の従来技術では下記のような問題があった。処理対象の回路構造のみから判断してクロックゲーティングの最適化を実施しているため、実動作モードを考慮した低消費電力化が行われていない。そのため、処理対象の論理回路を実際に動作させた際に、低消費電力化のための回路最適化が不十分、または不適当となっている可能性がある。以下、このことを、図1及び図2を用いて説明する。図2は、図1(c)に示す第2の従来処理後の論理回路を実際に動作させた際のシミュレーション波形の一例を示したものである。第2の従来処理では、生成論理が異なるイネーブル信号EN1〜EN3に対して平等にクロックゲーティング回路45〜47を挿入している。このとき、イネーブル信号EN1〜EN3のシミュレーション波形を観測すると、イネーブル信号EN1とイネーブル信号EN2は共通の波形をしており、クロックゲーティング回路45,46から出力されるクロック信号CLK1,CLK2も共通の波形となる。つまり、実動作モードでの回路の動作を考慮するとクロックゲーティング回路45,46は冗長であり、余分な電力を消費している状態にある。また、イネーブル信号EN3はクロックサイクルT5以外では‘1’(アクティブ状態)であり、クロックゲーティング回路47から出力されるクロック信号CLK3は、動作期間中の90%はアクティブ状態となる。つまり、実動作モードでの回路動作を考慮すると、クロック信号CLK3の停止する時間は動作期間中の10%でしかないため低消費電力効果は小さく、寧ろクロックゲーティング回路47の電力消費の方が大きくなる可能性があり、斯かる場合には、クロックゲーティング回路を含む論理回路全体として、却って消費電力が増加する結果となる。
本発明は、上記従来のゲーティッドクロック設計における問題に鑑みてなされたものであり、その目的は、実動作において確実且つ高効率に低消費電力化が図れるゲーティッドクロック設計を支援可能な論理回路設計支援方法及び装置を提供することにある。
上記目的を達成するため、本発明は、少なくともイネーブル信号とクロック信号を入力信号とする複数の論理回路ユニットからなる最適化対象論理回路に対して、前記クロック信号を非活性化するクロックゲーティング回路を、前記クロック信号の前記論理回路ユニットに至る信号経路上に少なくとも1つ挿入して、前記最適化対象論理回路に対して低消費電力化を行うゲーティッドクロック設計をコンピュータ演算処理により支援する論理回路設計支援方法であって、
前記最適化対象論理回路の回路構造を記述した回路データに基づいて、前記最適化対象論理回路に入力する複数の前記イネーブル信号を抽出する第1ステップと、前記最適化対象論理回路と抽出された前記複数のイネーブル信号の生成論理に対して実動作モードの論理シミュレーションを実行して、前記イネーブル信号毎の動作時におけるアクティブ状態と非アクティブ状態間の状態遷移に係る時系列情報を取得する第2ステップと、前記時系列情報に基づいて、前記最適化対象論理回路と前記クロックゲーティング回路の合計消費電力が、前記クロックゲーティング回路を挿入する前の前記最適化対象論理回路の消費電力より低減されるように、前記クロックゲーティング回路の挿入個数及び挿入箇所を最適化する第3ステップと、を有することを特徴とする論理回路設計支援方法を提供する。
更に、本発明は、少なくともイネーブル信号とクロック信号を入力信号とする複数の論理回路ユニットからなる最適化対象論理回路に対して、前記クロック信号を非活性化するクロックゲーティング回路を、前記クロック信号の前記論理回路ユニットに至る信号経路上に少なくとも1つ挿入して、前記最適化対象論理回路に対して低消費電力化を行うゲーティッドクロック設計をコンピュータ演算処理により支援する論理回路設計支援装置であって、
前記最適化対象論理回路の回路構造を記述した回路データに基づいて、前記最適化対象論理回路に入力する複数の前記イネーブル信号を抽出する第1手段と、前記最適化対象論理回路と抽出された前記複数のイネーブル信号の生成論理に対して実動作モードの論理シミュレーションを実行して、前記イネーブル信号毎の動作時におけるアクティブ状態と非アクティブ状態間の状態遷移に係る時系列情報を取得する第2手段と、前記時系列情報に基づいて、前記最適化対象論理回路と前記クロックゲーティング回路の合計消費電力が、前記クロックゲーティング回路を挿入する前の前記最適化対象論理回路の消費電力より低減されるように、前記クロックゲーティング回路の挿入個数及び挿入箇所を最適化する第3手段と、を備えることを特徴とする論理回路設計支援装置を提供する。
上記特徴の論理回路設計支援方法または装置によれば、実動作モードの論理シミュレーション結果に基づいて、前記クロックゲーティング回路の挿入個数及び挿入箇所が最適化されるため、最適化対象論理回路に対してクロックゲーティング回路を追加したことによって、却って実動作時に消費電力が増加することを防止でき、実動作において確実且つ高効率に低消費電力化が図れるゲーティッドクロック設計を支援可能な論理回路設計支援方法及び装置を提供することができる。
更に、上記特徴の論理回路設計支援方法は、前記第3ステップにおいて、前記時系列情報に基づいて、抽出された前記イネーブル信号毎に、動作期間中にアクティブ状態となっている比率を示すアクティブ比率を取得し、前記アクティブ比率が所定の基準アクティブ比率以上の前記イネーブル信号を、第1種イネーブル信号として抽出し、前記第1種イネーブル信号が入力する特定の前記論理回路ユニットを、前記クロックゲーティング回路の挿入対象から除外することが好ましい。
また、上記特徴の論理回路設計支援装置は、前記第3手段が、前記時系列情報に基づいて、抽出された前記イネーブル信号毎に、動作期間中にアクティブ状態となっている比率を示すアクティブ比率を取得し、前記アクティブ比率が所定の基準アクティブ比率以上の前記イネーブル信号を、第1種イネーブル信号として抽出し、前記第1種イネーブル信号が入力する特定の前記論理回路ユニットを、前記クロックゲーティング回路の挿入対象から除外することが好ましい。
アクティブ比率の高い論理回路ユニットでは、動作期間中に非アクティブ状態となる期間が短いため、クロック信号の非活性化による論理回路ユニットでの消費電力の低減幅が小さいのに対して、挿入されたクロックゲーティング回路による消費電力の増加分が存在するため、当該増加分が当該低減幅を上回ると、所期の低消費電力化が阻害される。従って、基準アクティブ比率を適切に設定して、前記第1種イネーブル信号が入力する特定の前記論理回路ユニットを、前記クロックゲーティング回路の挿入対象から除外することで、クロックゲーティング回路の挿入による消費電力の増加分が当該低減幅を上回るケースを除外できる。
更に、上記特徴の論理回路設計支援方法は、前記第3ステップにおいて、前記時系列情報に基づいて、抽出された前記複数のイネーブル信号の中から、2以上の前記イネーブル信号間で信号状態が互いに一致している期間の全動作期間に対する比率で表わされる近似率が所定の基準近似率以上の2以上の前記イネーブル信号の組み合わせを、第2種イネーブル信号として1組以上抽出し、前記第2種イネーブル信号が夫々入力する2以上の前記論理回路ユニットに対して、同一組に属する前記第2種イネーブル信号の少なくとも1つがアクティブ状態の場合にアクティブ状態となる1つの合成イネーブル信号を生成し、当該2以上の論理回路ユニットに至る前記クロック信号の信号経路上の共通箇所に、前記合成イネーブル信号を入力とする前記クロックゲーティング回路を1つ挿入することが好ましい。
更に、上記特徴の論理回路設計支援装置は、前記第3手段が、前記時系列情報に基づいて、抽出された前記複数のイネーブル信号の中から、2以上の前記イネーブル信号間で信号状態が互いに一致している期間の全動作期間に対する比率で表わされる近似率が所定の基準近似率以上の2以上の前記イネーブル信号の組み合わせを、第2種イネーブル信号として1組以上抽出し、前記第2種イネーブル信号が夫々入力する2以上の前記論理回路ユニットに対して、同一組に属する前記第2種イネーブル信号の少なくとも1つがアクティブ状態の場合にアクティブ状態となる1つの合成イネーブル信号を生成し、当該2以上の論理回路ユニットに至る前記クロック信号の信号経路上の共通箇所に、前記合成イネーブル信号を入力とする前記クロックゲーティング回路を1つ挿入することが好ましい。
ここで、互いに独立した生成論理で生成された2つのイネーブル信号間で上記近似率が高い場合において、当該2つのイネーブル信号が入力する2つの論理回路ユニットに夫々個別のクロックゲーティング回路を挿入する従来のゲーティッドクロック設計と対比して考える。当該2つのイネーブル信号の合成イネーブル信号がアクティブ状態の場合に、元の2つのイネーブル信号の何れか一方が非アクティブ状態である期間が、短い期間ではあるが存在する。上記のように、当該2以上の論理回路ユニットに至る前記クロック信号の信号経路上の共通箇所に、前記合成イネーブル信号を入力とする前記クロックゲーティング回路を1つ挿入する場合、非アクティブ状態の一方の論理回路ユニットに入力するクロック信号は非活性化されないため、従来のゲーティッドクロック設計に比べて消費電力は増加するが、クロックゲーティング回路の挿入個数が1つ少ないため、クロックゲーティング回路の挿入による消費電力の増加分が抑制される。つまり、クロックゲーティング回路の1個分の消費電力が、クロック信号が非活性化されない期間における非アクティブ状態の論理回路ユニットでの消費電力を上回る場合、従来のゲーティッドクロック設計に対してクロックゲーティング回路の挿入個数を減らすことで、更なる低消費電力化が図れることになる。
尚、前記複数のイネーブル信号の中から前記第1種イネーブル信号を抽出する場合は、前記第1種イネーブル信号を除く抽出された前記複数のイネーブル信号の中から、前記第2種イネーブル信号を抽出するようにしても良い。これにより、上述した前記第1種イネーブル信号が入力する特定の前記論理回路ユニットを、前記クロックゲーティング回路の挿入対象から除外することによる低消費電力化と、上記近似率が高い2以上の論理回路ユニットに至る前記クロック信号の信号経路上の共通箇所に、前記合成イネーブル信号を入力とする前記クロックゲーティング回路を1つ挿入することによる低消費電力化の両方を同時に実現できる。
更に、上記特徴の論理回路設計支援方法は、前記第3ステップにおいて、前記クロックゲーティング回路の挿入対象となる前記論理回路ユニットに対して、前記論理回路ユニットに入力する前記イネーブル信号が対応する前記クロックゲーティング回路に入力する場合は、当該論理回路ユニットを前記イネーブル信号が入力しないイネーブル無し論理回路ユニットに置き換え、前記合成イネーブル信号が対応する前記クロックゲーティング回路に入力する場合は、当該論理回路ユニットを前記イネーブル無し論理回路ユニットに置き換えないことが好ましい。
更に、上記特徴の論理回路設計支援装置は、前記第3手段が、前記クロックゲーティング回路の挿入対象となる前記論理回路ユニットに対して、前記論理回路ユニットに入力する前記イネーブル信号が対応する前記クロックゲーティング回路に入力する場合は、当該論理回路ユニットを前記イネーブル信号が入力しないイネーブル無し論理回路ユニットに置き換え、前記合成イネーブル信号が対応する前記クロックゲーティング回路に入力する場合は、当該論理回路ユニットを前記イネーブル無し論理回路ユニットに置き換えないことが好ましい。
上記要領でイネーブル無し論理回路ユニットへの置換を行うことで、論理回路の動作を変更することなく、不必要なイネーブル信号の入力を排除して回路構成の簡素化とそれに伴う更なる低消費電力化が図れる。
更に、本発明は、上記特徴の論理回路設計支援方法を用いて、前記クロックゲーティング回路の挿入個数及び挿入箇所が最適化された論理回路を有することを特徴とする半導体集積回路を提供する。
上記特徴の半導体集積回路によれば、従来のゲーティッドクロック設計に比べてより低消費電力化が図れる。
クロックゲーティング処理による低消費電力化処理の概念を説明するクロックゲーティング処理前と、第1及び第2の従来処理後の3種類の回路ブロック図 図1(c)に示す第2の従来処理後の論理回路を実際に動作させた際のシミュレーション波形の一例を示す信号波形図 本発明に係る論理回路設計支援装置の一実施形態における概略のハードウェア構成を示すブロック構成図 本発明に係る論理回路設計支援方法の処理手順の一例を示すフローチャート 図4に示すステップS1の詳細な処理手順を示すフローチャート 第1実施例における図4に示すステップS1で生成されるイネーブル信号情報の構成内容の一例を示す図 図4に示すステップS2の詳細な処理手順を示すフローチャート 第1実施例における図4に示すステップS2で取得されるイネーブル信号の波形情報の一例を示す信号波形図 図4に示すステップS3の詳細な処理手順を示すフローチャート 第1実施例における図4に示すステップS3で算出される各イネーブル信号のアクティブ比率に係る情報の構成内容の一例を示す図 第1実施例における図4に示すステップS3で生成される第1最適化イネーブル信号情報の構成内容の一例を示す図 図4に示すステップS4の詳細な処理手順を示すフローチャート 第1実施例における図4に示すステップS4で生成される第2最適化イネーブル信号情報の構成内容の一例を示す図 図4に示すステップS5の詳細な処理手順を示すフローチャート 第1実施例における図4に示すステップS5の処理後の論理回路を示す回路ブロック図 本発明方法の第2実施例における最適化処理対象論理回路を示す回路ブロック図 第2実施例における図4に示すステップS1で生成されるイネーブル信号情報の構成内容の一例を示す図 第2実施例における図4に示すステップS2で取得されるイネーブル信号の波形情報の一例を示す信号波形図 第2実施例における図4に示すステップS3で算出される各イネーブル信号のアクティブ比率に係る情報の構成内容の一例を示す図 第2実施例における図4に示すステップS3で生成される第1最適化イネーブル信号情報の構成内容の一例を示す図 第2実施例における図4に示すステップS4で生成される第2最適化イネーブル信号情報の構成内容の一例を示す図 第1実施例における図4に示すステップS5の処理後の論理回路を示す回路ブロック図
本発明に係る論理回路設計支援装置及び方法の実施形態につき、図面に基づいて説明する。尚、以下において、説明の理解の容易のため、従来のクロックゲーティング処理の説明に用いた図1及び図2と共通する部位には同じ符号または信号名を付して説明する。
図3に、本発明に係る論理回路設計支援装置(以下、適宜「本発明装置」と称す)の一実施形態における概略のハードウェア構成を示す。本発明装置1は、CPU(中央演算処理装置)2、ROM(読み出し専用メモリ)3、RAM(ランダムアクセスメモリ)4、外部記憶装置5、入力装置6、及び、表示装置7が、バスライン8を介して相互に接続され構成されており、一般的なコンピュータシステムと同じ構成である。
本発明装置1は、少なくともイネーブル信号とクロック信号を入力信号とする複数の論理回路ユニット(例えば、図1(a)に示したイネーブル付きフリップフロップ回路31〜34等)からなる最適化対象論理回路に対して、クロック信号を非活性化するクロックゲーティング回路を、クロック信号の論理回路ユニットに至る信号経路上に少なくとも1つ挿入して、最適化対象論理回路に対して低消費電力化を行うゲーティッドクロック設計をコンピュータ演算処理により支援する論理回路設計支援装置であって、以下の第1手段、第2手段、及び、第3手段を備える。
第1手段は、最適化対象論理回路の回路構造を記述した回路データに基づいて、前記最適化対象論理回路に入力する複数のイネーブル信号を抽出し、第2手段は、最適化対象論理回路と抽出された複数のイネーブル信号の生成論理に対して実動作モードの論理シミュレーションを実行して、イネーブル信号毎の動作時におけるアクティブ状態と非アクティブ状態間の状態遷移に係る時系列情報を取得し、第3手段は、当該時系列情報に基づいて、最適化対象論理回路とクロックゲーティング回路の合計消費電力が、クロックゲーティング回路を挿入する前の最適化対象論理回路の消費電力より低減されるように、クロックゲーティング回路の挿入個数及び挿入箇所を最適化し、当該最適化後のクロックゲーティング回路が追加された最適化対象論理回路の回路構造を記述する回路データを作成する。
ここで、CPU2は、第1手段、第2手段、及び、第3手段が実行する処理を、ROM3に格納されたプログラムを読み出し実行することにより実現する。つまり、第1手段、第2手段、及び、第3手段は、ソフトウェア手段として実現される。RAM4は、CPU2の演算時において、作業記憶領域として使用される。外部記憶装置5は、最適化対象論理回路の回路構造を記述した回路データ等の第1手段、第2手段、及び、第3手段が実行する処理に必要なデータ、及び、第1手段、第2手段、及び、第3手段によって生成されるデータの格納に使用される。入力装置6は、第1手段、第2手段、及び、第3手段が実行する処理に用いられる処理条件等(後述する基準アクティブ比率、基準近似率等)を外部から操作者が入力するのに用いられる。表示装置7は、第1手段、第2手段、及び、第3手段が実行した処理結果を表示するのに用いられる。
次に、本発明に係る論理回路設計支援方法(本発明装置1を用いたゲーティッドクロック設計方法。以下、適宜「本発明方法」と称す)について、以下の第1実施例と第2実施例により具体的に説明する。
〈第1実施例〉
図1(a)に示す論理回路に対して電力消費の最適化を施す第1実施例を、図4〜図15を参照して詳細に説明する。図1(a)に示す論理階層11〜14下のイネーブル付きフリップフロップ回路31〜34の夫々が、論理回路ユニットに相当し、論理階層11〜14の全体が最適化対象論理回路に相当する。論理階層10下には、クロック信号CLKを生成するクロックジェネレータ20と、イネーブル信号EN1〜EN3の生成論理回路21が存在する。
図4は、本発明方法の処理手順を示すフローチャートである。尚、図4の右欄は、各処理ステップで使用されるデータの外部記憶装置5からの読み出しと、各処理ステップで生成されるデータの外部記憶装置5への書き込みを、夫々矢印の向きで区別して示している。また、図4の左欄は、入力装置6からの各処理ステップで使用される処理条件(基準アクティブ比率、基準近似率)の入力を示している。
図4の中央欄に示すステップS1の処理(第1ステップに相当)が、第1手段によって実行され、ステップS2の処理(第2ステップに相当)が、第2手段によって実行され、ステップS3〜S5の処理(第3ステップに相当)が、第3手段によって実行される。
先ず、ステップS1の処理を、図4〜図6を参照して説明する。図5は、ステップS1の詳細な処理手順を示すフローチャートである。ステップS1では、先ず、処理前の最適化対象論理回路の回路構造(イネーブル信号の生成論理を含む)を記述した回路データD1(例えば、RTL記述データ)を外部記憶装置5から読み出し、回路データD1の構造解析を行い、フリップフロップ回路31〜34に各別に入力するイネーブル信号を抽出する(S11)。本実施例では、フリップフロップ回路31〜34の夫々に対応して、イネーブル信号EN1a,EN1b,EN2,EN3が抽出される。引き続き、イネーブル信号EN1a,EN1b,EN2,EN3をイネーブル信号が生成されているポイントまで上流に向かってバックトレースし、その過程で共通なイネーブル信号をマージする(S12)。本実施例では、イネーブル信号EN1a,EN1b,EN2,EN3を生成論理回路21のある論理階層10までバックトレースし、その過程で生成論理が共通であるイネーブル信号EN1a,EN1bをマージして、1つのイネーブル信号EN1を得る。最後に、バックトレースしたイネーブル信号EN1〜EN3とフリップフロップ回路31〜34を対応付けたイネーブル信号情報D2を、外部記憶装置5に格納する(S13)。本実施例では、図6に示すように、イネーブル信号情報D2として、イネーブル信号EN1とフリップフロップ回路31,32、イネーブル信号EN2とフリップフロップ回路33、イネーブル信号EN3とフリップフロップ回路34が、夫々対応付けられる。尚、図6では、イネーブル信号情報D2を、視覚的に理解できるようにテキストによる表形式で表示している。
次に、ステップS2の処理を、図4,図7及び図8を参照して説明する。図7は、ステップS2の詳細な処理手順を示すフローチャートである。ステップS2では、先ず、イネーブル信号情報D2からシミュレーション時に取得する情報を論理シミュレータに設定する(S21)。本実施例では、シミュレーション時に、ステップS1で抽出されたイネーブル信号EN1〜EN3の波形情報(アクティブ状態と非アクティブ状態間の状態遷移に係る時系列情報に相当)を取得するように、論理シミュレータに設定する。次に、回路データD1と実動作モードのテストベンチD3を外部記憶装置5から読み出し、回路データD1に対して、テストベンチD3に従って実動作モードの論理シミュレーションを実行し(S22)、論理シミュレーション結果から各イネーブル信号EN1〜EN3の波形情報D4を取得し、外部記憶装置5に格納する(S23)。本実施例では、図8に示すようなイネーブル信号EN1〜EN3の波形情報D4を取得する。尚、本実施例では、各イネーブル信号EN1〜EN3は、正論理を採用しており、高レベル時(“1”)がアクティブ状態で、低レベル時(“0”)が非アクティブ状態である。図8では、波形情報D4を、視覚的に理解できるように信号波形図として表示している。
次に、ステップS3の処理を、図4,図9〜図11を参照して説明する。図9は、ステップS3の詳細な処理手順の一例を示すフローチャートである。ステップS3では、先ず、波形情報D4を外部記憶装置5から読み出し、波形情報D4からイネーブル信号EN1〜EN3毎のアクティブ比率Ra1〜Ra3(動作期間中にアクティブ状態となっている期間の比率)を算出する(S31)。本実施例では、図10に示すように、イネーブル信号EN1のアクティブ比率Ra1=10%、イネーブル信号EN2のアクティブ比率Ra2=10%、イネーブル信号EN3のアクティブ比率Ra3=90%が得られる。次に、入力装置6から操作者によって入力された基準アクティブ比率Raxを受け取り、基準アクティブ比率Raxとアクティブ比率Ra1〜Ra3を入力として、アクティブ比率Ra1〜Ra3が基準アクティブ比率Rax以上のイネーブル信号を第1種イネーブル信号として抽出し、抽出した第1種イネーブル信号をクロックゲーティング処理の対象から除外する(S32〜S35)。具体的には、イネーブル信号EN1〜EN3毎に、アクティブ比率と基準アクティブ比率Raxとの大小比較を行い(S32)、アクティブ比率が基準アクティブ比率Rax以上である場合(S32でYes分岐)に、該当するイネーブル信号をクロックゲーティング処理の対象から除外し(S33)、アクティブ比率が基準アクティブ比率Rax以下の場合(S32でNo分岐)は、S33の処理を迂回し、全てのイネーブル信号について、S32(Yes分岐の場合はS33を含む)の処理が終了したかの検査を行う(S34)。未処理のイネーブル信号が存在する場合(S34でNo分岐)は、S32〜S33の処理を当該未処理のイネーブル信号について実行し、未処理のイネーブル信号が存在しない場合(S34でYes分岐)は、第1種イネーブル信号以外の最終的にクロックゲーティング処理の対象から除外されなかったイネーブル信号(以下、便宜的に「非第1種イネーブル信号」と称す)の情報として第1最適化イネーブル信号情報D5を生成し、外部記憶装置5に格納する(S35)。
本実施例では、アクティブ比率Ra1〜Ra3が夫々10%,10%,90%であり、基準アクティブ比率Raxを80%と想定すると、アクティブ比率Ra3が基準アクティブ比率Raxより高くなるため、イネーブル信号EN3が第1種イネーブル信号としてクロックゲーティング処理の対象から除外され、イネーブル信号EN1,EN2が非第1種イネーブル信号となり、図11に示すように、第1最適化イネーブル信号情報D5が生成される。尚、図11では、第1最適化イネーブル信号情報D5を、視覚的に理解できるようにテキストによる表形式で表示している。
次に、ステップS4の処理を、図4,図12及び図13を参照して説明する。図12は、ステップS4の詳細な処理手順の一例を示すフローチャートである。ステップS4では、先ず、波形情報D4とステップS3で生成された第1最適化イネーブル信号情報D5を外部記憶装置5から読み出し、入力装置6から操作者によって入力された基準近似率Rbxを受け取り、第1最適化イネーブル信号情報D5に含まれる非第1種イネーブル信号の中から、信号波形が相互に近似しているイネーブル信号を第2種イネーブル信号として1組以上抽出して、同一組に属する第2種イネーブル信号の論理和により生成される合成イネーブル信号の情報と、抽出されなかった残余の非第1種イネーブル信号の情報からなる第2最適化イネーブル信号情報D6を生成する。具体的には、図12に示すように、非第1種イネーブル信号の任意の2つの信号間で、信号波形が相互に近似しているか否かを判断する(S41)。具体的には、当該2つのイネーブル信号間の近似率Rbi(iは、2つの信号の組み合わせを特定する自然数)を、夫々の波形情報から、動作期間中における互いの論理状態(アクティブ状態と非アクティブ状態)が一致している期間の比率として導出し、導出した近似率Rbiが、基準近似率Rbx以上である場合に、信号波形が相互に近似していると判定する。信号波形が相互に近似している場合(S41でYes分岐)は、当該2つのイネーブル信号を第2種イネーブル信号とし、当該2つのイネーブル信号の論理和を合成イネーブル信号として生成し、S41の判定処理対象として、当該2つの第2種イネーブル信号を削除して代わりに当該合成イネーブル信号を登録する(S42)。信号波形が相互に近似していない場合(S41でNo分岐)及びS42の処理後に、全ての非第1種イネーブル信号と新たに生成された合成イネーブル信号に対するS41の判定処理が完了したか否かを判定する(S43)。S41の判定処理が完了していない場合(S43でNo分岐)は、S41の判定処理対象(未判定の第1種イネーブル信号と新たに生成された合成イネーブル信号の任意の2つの信号)に対して、同じS41とS42の処理を、未判定の非第1種イネーブル信号と新たに生成された合成イネーブル信号がなくなるまで繰り返す。S41の判定処理が完了している場合(S43でYes分岐)は、最終的に生成された第2種イネーブル信号で、同じ合成イネーブル信号の入力となっている同一組としてグループ化し、最終的に生成された合成イネーブル信号を、最終的に生成された同一組の第2種イネーブル信号の論理和とし、当該合成イネーブル信号の情報とグループ化されずに残った非第1種イネーブル信号の情報を第2最適化イネーブル信号情報D6として生成し、外部記憶装置5に格納する(S44)。
本実施例では、非第1種イネーブル信号は、イネーブル信号EN1,EN2の2つだけであり、図8に示す波形情報より、両信号の近似率Rb1は100%(完全一致)となり、基準近似率Rbxを90%と想定すると、S41では、信号波形が相互に近似していると判定され、S42で非第1種イネーブル信号EN1,EN2が第2種イネーブル信号と判定され、それらの論理和の合成イネーブル信号EN10が生成される。S43では、S41の判定処理が完了していると判定され、S44では、図13に示すように、当該合成イネーブル信号EN10の情報が第2最適化イネーブル信号情報D6として生成される。尚、図13では、第2最適化イネーブル信号情報D6を、視覚的に理解できるようにテキストによる表形式で表示している。尚、図13では、合成イネーブル信号及びグループ化されずに残った非第1種イネーブル信号を第3種イネーブル信号と称するが、本実施例では、第3種イネーブル信号は、合成イネーブル信号EN10だけである。
尚、合成イネーブル信号は、同一組の第2種イネーブル信号の少なくとも1つがアクティブ状態の場合にアクティブ状態となるように生成される。本実施例では、各イネーブル信号EN1〜EN3は正論理を採用しているため、合成イネーブル信号EN10は、同一組の第2種イネーブル信号の論理和として生成されるが、負論理を採用している場合は、同一組の第2種イネーブル信号の論理積により生成される。
また、図12に示すステップS3の処理手順では、3以上の第2種イネーブル信号の組み合わせに対しても波形情報が相互に近似しているか否かを判定するために、S42において、S41の判定処理対象として、当該2つの第2種イネーブル信号を削除して、代わりに当該合成イネーブル信号を登録するようにしたが、S41の判定対象を2つの第2種イネーブル信号の組み合わせに限定する場合は、当該2つの第2種イネーブル信号を削除するだけで、当該合成イネーブル信号の登録を行わないようにしても良い。
最後に、ステップS5の処理を、図4,図14及び図15を参照して説明する。図14は、ステップS5の詳細な処理手順の一例を示すフローチャートである。図15は、ステップS5の処理後の論理回路を示すブロック図である。
ステップS5では、処理前の回路データD1に対して、第2最適化イネーブル信号情報D6を反映した、上記処理後の回路データD7(例えば、RTL記述データ)を生成して、外部記憶装置5に格納する。具体的には、先ず、外部記憶装置5から、第2最適化イネーブル信号情報D6を読み出し、第2最適化イネーブル信号情報D6に含まれる合成イネーブル信号の夫々について、合成イネーブル信号を生成する2以上の第2種イネーブル信号に夫々対応するフリップフロップ回路に入力するクロック信号CLKの信号経路上の共通箇所に、当該合成イネーブル信号を入力とするクロックゲーティング回路を1つ挿入し、次に、第2最適化イネーブル信号情報D6に含まれるステップS4で第2種イネーブル信号として抽出されなかった非第1種イネーブル信号の夫々について、非第1種イネーブル信号に対応するフリップフロップ回路に入力するクロック信号CLKの信号経路上に当該合成イネーブル信号を入力とするクロックゲーティング回路を1つ挿入する(S51)。本実施例では、図15に示すように、図13に示す第2最適化イネーブル信号情報D6より、第2種イネーブル信号EN1,EN2に対応するフリップフロップ回路31,32に入力するクロック信号CLKの信号経路上の共通箇所に、第2種イネーブル信号EN1,EN2の論理和で生成される合成イネーブル信号EN10を入力とするクロックゲーティング回路50が挿入され、対応するフリップフロップ回路31,32には、クロックゲーティング回路50から出力されるクロック信号CLK4が共通に入力する。尚、本実施例では、第2種イネーブル信号として抽出されなかった非第1種イネーブル信号は存在しないので、該当するクロックゲーティング回路は存在しない。
引き続いて、第2最適化イネーブル信号情報D6に基づいて、ステップS1で抽出されたイネーブル信号について、第1種イネーブル信号及び第2種イネーブル信号の何れか一方に該当するかを、各別に判定する(S52)。ここで、イネーブル信号が第1種イネーブル信号及び第2種イネーブル信号の何れでもない場合は(S52でNo分岐)、当該イネーブル信号が入力するイネーブル付きフリップフロップ回路を、イネーブル無しフリップフロップ回路に置き換え、当該イネーブル信号の入力を削除する(S53)。一方、イネーブル信号が第1種イネーブル信号及び第2種イネーブル信号の何れかである場合は(S52でYes分岐)、当該イネーブル信号が入力するイネーブル付きフリップフロップ回路をそのままにし、当該イネーブル信号の入力を維持する(S54)。S52の判定処理が全ての抽出されたイネーブル信号に対して終了したかを判定し(S55)、S52〜S54の処理を、ステップS1で抽出された全てのイネーブル信号に対して終了するまで繰り返す。本実施例では、図15に示すように、イネーブル信号EN1,EN2が第2種イネーブル信号に該当し、イネーブル信号EN3が第1種イネーブル信号に該当するため、S53でのイネーブル無しフリップフロップ回路への置き換え処理は実行されない。
最後に、S51で挿入されたクロックゲーティング回路と、S53で置換されたイネーブル無しフリップフロップ回路を反映した上記処理後の回路データD7(例えば、RTL記述データ)を生成して、外部記憶装置5に格納する(S56)。
以上のステップS1〜S5の処理を行うことで、第1に、アクティブ比率の高い第1種イネーブル信号が入力するイネーブル付きフリップフロップ回路が、クロックゲーティング回路の挿入対象から除外されることで、クロックゲーティング回路を不必要に設置することで、クロックゲーティング回路の挿入によるフリップフロップ回路での消費電力の減少分より、クロックゲーティング回路での消費電力の増加分が大きくなって、却って低消費電力化が阻害されるのが防止される。そして、第2に、近似率の高い第2種イネーブル信号の組み合わせ毎に合成イネーブル信号を生成し、第2種イネーブル信号毎に、クロックゲーティング回路を挿入するのに代えて、合成イネーブル信号単位でクロックゲーティング回路を挿入することで、クロックゲーティング回路の挿入個数を制限して、クロックゲーティング回路での消費電力の増加分が抑制される。一方、同一組の第2種イネーブル信号が入力するイネーブル付きフリップフロップ回路間では、非アクティブ状態にも拘わらずクロックゲーティング回路が活性化されクロック信号が入力する場合があるが、第2種イネーブル信号間の近似率が高いため、非アクティブ状態でクロック信号が入力する時間比率は、小さく抑制されるため、基準近似率を適切に設定することで、クロックゲーティング回路での消費電力の増加分を抑制することの効果が大きくなり、低消費電力化がより図れることになる。
以上のステップS1〜S5の処理を行うことで得られる低消費電力化の具体的な効果について、図1(c)に示す特許文献1に開示の第2の従来処理を適用した後の回路構成と図15に示す本発明方法による処理後の回路構成を比較して検討する。先ず、第2の従来処理に比べて、クロックゲーティング回路の挿入個数が3から1に減少している。ここで、各フリップフロップ回路の1クロックイベントでの消費電力を4pW、同様にクロックゲーティング回路の1クロックイベントでの消費電力を1pWと想定した場合、図2に示す実動作モードで消費される電力を比較すると、シミュレーション結果から、以下の数1及び数2に示すように計算される。尚、数1は、第2の従来処理での合計消費電力P0を示し、数2は、本発明方法での合計消費電力P1を示している。また、Pff0とPff1は、夫々、第2の従来処理での全フリップフロップ回路の消費電力と本発明方法での全フリップフロップ回路の消費電力を示し、Pcg0とPcg1は、夫々、第2の従来処理での全クロックゲーティング回路の消費電力と本発明方法での全クロックゲーティング回路の消費電力を示している。
(数1)
P0=Pff0+Pcg0
=4pW/クロック個×12クロック個+1pW/クロック個×30クロック個
=78pW
(数2)
P1=Pff1+Pcg1
=4pW/クロック個×13クロック個+1pW/クロック個×10クロック個
=62pW
以上、数1と数2の計算結果を比較して分かるように、本発明方法によれば、実動作モードでより低消費電力化が図れる。更に、各フリップフロップ回路の1クロックイベントでの消費電力を6pW、同様にクロックゲーティング回路の1クロックイベントでの消費電力を1pWと想定した場合についても検討すると、P0=102pWに対して、P1=88pWとなり、本発明方法の方が、実動作モードでより低消費電力化の図れることが分かる。但し、1クロックイベントでのフリップフロップ回路とクロックゲーティング回路の消費電力の比(フリップフロップ回路/クロックゲーティング回路)が大きくなると、消費電力の低減率は低下する。上記消費電力の比が4では、低減率は(78pW−62pW)/78pW=20.5%であり、上記消費電力の比が6では、低減率は(102pW−88pW)/102pW=13.7%である。
〈第2実施例〉
図16に示す論理回路に対して電力消費の最適化を施す第2実施例を、第1実施例と同じフローチャート(図4、図5、図7、図9、図12、図14)と、図16〜図23を参照して詳細に説明する。上記第1実施例では、図1(a)に示す比較的簡単な回路構成の論理回路を最適化対象としたが、第2実施例では、図1(a)に示す論理回路よりイネーブル信号数及びフリップフロップ回路数の多い論理回路を最適化の対象とし、第1実施例と同様に、ステップS1〜S5の処理を順次実行する。尚、図16において、図1(a)と共通する信号名及び符号が用いられているが、同種の信号及び同種の回路であることを意味しているが、個々の信号及び回路は、図1(a)のものとは異なる。
先ず、ステップS1の処理を、図4、図5、図16及び図17を参照して説明する。ステップS1では、先ず、処理前の最適化対象論理回路の回路構造(イネーブル信号の生成論理を含む)を記述した回路データD1(例えば、RTL記述データ)を外部記憶装置5から読み出し、回路データD1の構造解析を行い、フリップフロップ回路31〜38に各別に入力するイネーブル信号を抽出する(S11)。本実施例では、フリップフロップ回路31〜38の夫々に対応して、イネーブル信号EN1〜EN8が抽出される。引き続き、イネーブル信号EN1〜EN8をイネーブル信号が生成されているポイントまで上流に向かってバックトレースし、その過程で共通なイネーブル信号をマージする(S12)。本実施例では、イネーブル信号EN1〜EN8をイネーブル生成論理回路21のある論理階層10までバックトレースするが、階層を跨いで共通なイネーブル信号が存在しないため、マージできるイネーブル信号は存在しない。最後に、バックトレースしたイネーブル信号EN1〜EN8とフリップフロップ回路31〜38を対応付けたイネーブル信号情報D2を、外部記憶装置5に格納する(S13)。本実施例では、図17に示すように、イネーブル信号情報D2として、イネーブル信号EN1とフリップフロップ回路31、イネーブル信号EN2とフリップフロップ回路32、イネーブル信号EN3とフリップフロップ回路33、イネーブル信号EN4とフリップフロップ回路34、イネーブル信号EN5とフリップフロップ回路35、イネーブル信号EN6とフリップフロップ回路36、イネーブル信号EN7とフリップフロップ回路37、イネーブル信号EN8とフリップフロップ回路38が、夫々対応付けられる。
次に、ステップS2の処理を、図4,図7及び図18を参照して説明する。ステップS2では、先ず、イネーブル信号情報D2からシミュレーション時に取得する情報を論理シミュレータに設定する(S21)。本実施例では、シミュレーション時に、ステップS1で抽出されたイネーブル信号EN1〜EN8の波形情報(アクティブ状態と非アクティブ状態間の状態遷移に係る時系列情報に相当)を取得するように、論理シミュレータに設定する。次に、回路データD1と実動作モードのテストベンチD3を外部記憶装置5から読み出し、回路データD1に対して、テストベンチD3に従って実動作モードの論理シミュレーションを実行し(S22)、論理シミュレーション結果から各イネーブル信号EN1〜EN8の波形情報D4を取得し、外部記憶装置5に格納する(S23)。本実施例では、図18に示すようなイネーブル信号EN1〜EN8の波形情報D4を取得する。尚、本実施例では、第1実施例と同様に、各イネーブル信号EN1〜EN8は、正論理を採用しており、高レベル時(“1”)がアクティブ状態で、低レベル時(“0”)が非アクティブ状態である。
次に、ステップS3の処理を、図4,図9,図19及び図20を参照して説明する。ステップS3では、先ず、波形情報D4を外部記憶装置5から読み出し、波形情報D4からイネーブル信号EN1〜EN8毎のアクティブ比率Ra1〜Ra8を算出する(S31)。本実施例では、図19に示すように、イネーブル信号EN1のアクティブ比率Ra1=10%、イネーブル信号EN2のアクティブ比率Ra2=10%、イネーブル信号EN3のアクティブ比率Ra3=10%、イネーブル信号EN4のアクティブ比率Ra4=30%、イネーブル信号EN5のアクティブ比率Ra5=40%、イネーブル信号EN6のアクティブ比率Ra6=90%、イネーブル信号EN7のアクティブ比率Ra7=20%、イネーブル信号EN8のアクティブ比率Ra8=40%が得られる。次に、入力装置6から操作者によって入力された基準アクティブ比率Raxを受け取り、基準アクティブ比率Raxとアクティブ比率Ra1〜Ra8を入力として、アクティブ比率Ra1〜Ra8が基準アクティブ比率Rax以上のイネーブル信号を第1種イネーブル信号として抽出し、抽出した第1種イネーブル信号をクロックゲーティング処理の対象から除外する(S32〜S35)。S32〜S35の具体的な処理内容は、第1実施例において既に説明した通りであるので、重複する説明は割愛する。
本実施例では、アクティブ比率Ra1〜Ra8が夫々10%,10%,10%,30%,40%,90%,20%,40%であり、基準アクティブ比率Raxを80%と想定すると、アクティブ比率Ra6(=90%)が基準アクティブ比率Raxより高くなるため、イネーブル信号EN6が第1種イネーブル信号としてクロックゲーティング処理の対象から除外され、イネーブル信号EN1〜EN5,EN7及びEN8が非第1種イネーブル信号となり、図20に示すように、第1最適化イネーブル信号情報D5が生成される。
次に、ステップS4の処理を、図4,図12及び図21を参照して説明する。ステップS4では、先ず、波形情報D4とステップS3で生成された第1最適化イネーブル信号情報D5を外部記憶装置5から読み出し、入力装置6から操作者によって入力された基準近似率Rbxを受け取り、第1最適化イネーブル信号情報D5に含まれる非第1種イネーブル信号の中から、信号波形が相互に近似しているイネーブル信号を第2種イネーブル信号として1組以上抽出して、同一組に属する第2種イネーブル信号の論理和により生成される合成イネーブル信号の情報と、抽出されなかった残余の非第1種イネーブル信号の情報からなる第2最適化イネーブル信号情報D6を生成する。図12に示す具体的なステップS4の処理内容は、第1実施例において既に説明した通りであるので、重複する説明は割愛する。
本実施例では、非第1種イネーブル信号は、イネーブル信号EN1〜EN5,EN7及びEN8の7つであり、図18に示す波形情報より、イネーブル信号EN1,EN2,EN4,EN7の4つの非第1種イネーブル信号間の近似率Rb1は80%となり、また、イネーブル信号EN5,EN8の2つの非第1種イネーブル信号間の近似率Rb1は80%となり、基準近似率Rbxを80%と想定すると、S41では、各組み合わせにおいて信号波形が相互に近似していると判定され、S42において、非第1種イネーブル信号EN1,EN2,EN4,EN7が1組目の第2種イネーブル信号と判定され、それらの論理和の合成イネーブル信号EN11が生成され、更に、非第1種イネーブル信号EN5,EN8が2組目の第2種イネーブル信号と判定され、それらの論理和の合成イネーブル信号EN12が生成される。S43では、S41の判定処理が完了していると判定され、S44では、図21に示すように、当該合成イネーブル信号EN11及びEN12の情報とグループ化されずに残った非第1種イネーブル信号EN3の情報が第2最適化イネーブル信号情報D6として生成される。本実施例では、第3種イネーブル信号は、合成イネーブル信号EN11、合成イネーブル信号EN12、非第1種イネーブル信号EN3の3つのイネーブル信号となっている。ところで、同一組の第2種イネーブル信号間の近似率Rb1が基準近似率Rbx以上の場合は、その合成イネーブル信号と各第2種イネーブル信号間の近似率の基準近似率Rbx以上となっている。1組目の第2種イネーブル信号EN1,EN2,EN4,EN7について検証すれば、合成イネーブル信号EN11との近似率は、夫々、80%,80%,100%,90%となっており、2組目の第2種イネーブル信号EN5,EN8について検証すれば、合成イネーブル信号EN12との近似率は、夫々、90%,90%となっている。
最後に、ステップS5の処理を、図4,図14及び図22を参照して説明する。図22は、ステップS5の処理後の論理回路を示すブロック図である。
ステップS5では、処理前の回路データD1に対して、第2最適化イネーブル信号情報D6を反映した、上記処理後の回路データD7(例えば、RTL記述データ)を生成して、外部記憶装置5に格納する。具体的には、先ず、外部記憶装置5から、第2最適化イネーブル信号情報D6を読み出し、第2最適化イネーブル信号情報D6に含まれる合成イネーブル信号の夫々について、合成イネーブル信号を生成する2以上の第2種イネーブル信号に夫々対応するフリップフロップ回路に入力するクロック信号CLKの信号経路上の共通箇所に、当該合成イネーブル信号を入力とするクロックゲーティング回路を1つ挿入し、次に、第2最適化イネーブル信号情報D6に含まれるステップS4で第2種イネーブル信号として抽出されなかった非第1種イネーブル信号の夫々について、非第1種イネーブル信号に対応するフリップフロップ回路に入力するクロック信号CLKの信号経路上に当該合成イネーブル信号を入力とするクロックゲーティング回路を1つ挿入する(S51)。
本実施例では、図22に示すように、図21に示す第2最適化イネーブル信号情報D6より、1組目の第2種イネーブル信号EN1,EN2,EN4,EN7に対応するフリップフロップ回路31,32,34,37に入力するクロック信号CLKの信号経路上の共通箇所に、第2種イネーブル信号EN1,EN2,EN4,EN7の論理和で生成される合成イネーブル信号EN11を入力とするクロックゲーティング回路51が挿入され、対応するフリップフロップ回路31,32,34,37には、クロックゲーティング回路51から出力されるクロック信号CLK5が共通に入力する。また、2組目の第2種イネーブル信号EN5,EN8に対応するフリップフロップ回路35,38に入力するクロック信号CLKの信号経路上の共通箇所に、第2種イネーブル信号EN5,EN8の論理和で生成される合成イネーブル信号EN12を入力とするクロックゲーティング回路52が挿入され、対応するフリップフロップ回路35,38には、クロックゲーティング回路52から出力されるクロック信号CLK6が共通に入力する。更に、第2種イネーブル信号として抽出されなかった非第1種イネーブル信号EN3に対応するフリップフロップ回路33に入力するクロック信号CLKの信号経路上に、非第1種イネーブル信号EN3を入力とするクロックゲーティング回路53が挿入され、対応するフリップフロップ回路33には、クロックゲーティング回路53から出力されるクロック信号CLK7が入力する。
ここで、クロックゲーティング回路51〜53の各挿入箇所について検討すると、クロックジェネレータ20から各フリップフロップ回路31〜38に至るクロック信号CLKの信号経路が、第1及び第2最適化イネーブル信号情報D5,D6に基づいて、合成イネーブル信号EN11、EN12、第2種イネーブル信号として抽出されなかった非第1種イネーブル信号EN3、及び、第1種イネーブル信号EN6に対応して4つに分岐し、最初の3つの分岐路の最も上流側にクロックゲーティング回路51〜53が挿入され、各クロックゲーティング回路51〜53から出力されるクロック信号CLK5〜CLK7が、更に分岐して対応するフリップフロップ回路に接続する。
引き続いて、第2最適化イネーブル信号情報D6に基づいて、図14に示すS52〜S55の処理を、ステップS1で抽出された全てのイネーブル信号に対して終了するまで繰り返す。尚、図14に示すS52〜S55の具体的な処理内容は、第1実施例において既に説明した通りであるので、重複する説明は割愛する。本実施例では、図22に示すように、イネーブル信号EN3が、第2種イネーブル信号として抽出されなかった非第1種イネーブル信号に該当するため、S53で、イネーブル信号EN3が入力するフリップフロップ回路33がイネーブル無しフリップフロップ回路33aに置き換えられる。
最後に、S51で挿入されたクロックゲーティング回路と、S53で置換されたイネーブル無しフリップフロップ回路を反映した上記処理後の回路データD7(例えば、RTL記述データ)を生成して、外部記憶装置5に格納する(S56)。
以上のステップS1〜S5の処理を行うことで得られる低消費電力化の具体的な効果について、特許文献1に開示の第2の従来処理を適用した後の回路構成と図22に示す本発明方法による処理後の回路構成を比較して検討する。先ず、第2の従来処理の場合は、フリップフロップ回路毎にクロックゲーティング回路が各別に挿入されるため、クロックゲーティング回路の挿入個数は8から3に減少する。ここで、各フリップフロップ回路の1クロックイベントでの消費電力を4pW、同様にクロックゲーティング回路の1クロックイベントでの消費電力を1pWと想定した場合、図18に示す実動作モードで消費される電力を比較すると、シミュレーション結果から、以下の数3及び数4に示すように計算される。尚、数3は、第2の従来処理での合計消費電力P0を示し、数4は、本発明方法での合計消費電力P1を示している。また、Pff0とPff1は、夫々、第2の従来処理での全フリップフロップ回路の消費電力と本発明方法での全フリップフロップ回路の消費電力を示し、Pcg0とPcg1は、夫々、第2の従来処理での全クロックゲーティング回路の消費電力と本発明方法での全クロックゲーティング回路の消費電力を示している。
(数3)
P0=Pff0+Pcg0
=4pW/クロック個×25クロック個+1pW/クロック個×80クロック個
=180pW
(数4)
P1=Pff1+Pcg1
=4pW/クロック個×33クロック個+1pW/クロック個×30クロック個
=162pW
以上、数3と数4の計算結果を比較して分かるように、本発明方法によれば、実動作モードでより低消費電力化が図れる。更に、各フリップフロップ回路の1クロックイベントでの消費電力を6pW、同様にクロックゲーティング回路の1クロックイベントでの消費電力を1pWと想定した場合についても検討すると、P0=230pWに対して、P1=228pWとなり、消費電力の低減率は大幅に低下するが、挿入するクロックゲーティング回路の数は8から3に減少しているので、回路構成は簡素化される。第1実施例で説明したように、1クロックイベントでのフリップフロップ回路とクロックゲーティング回路の消費電力の比(フリップフロップ回路/クロックゲーティング回路)が大きくなると、本発明方法による消費電力の低減効果が低下するので、当該消費電力の比及び回路規模に応じて、使用する基準アクティブ比率Raxと基準近似率Rbxの設定値を適切に変更することで、低消費電力化を維持することができる。
基準アクティブ比率Raxの設定基準としては、1クロックイベントでのフリップフロップ回路(クロック信号入力時、イネーブル信号が非アクティブ状態)とクロックゲーティング回路の消費電力の比の逆数を1から差し引いた値以上とするのが好ましいと考える。消費電力の比が4では75%以上、6では85%以上となる。基準近似率Rbxの最適値は、回路構成によって変化するため、消費電力の比だけで一義的に求めることは困難である。しかし、同一組の第2種イネーブル信号の夫々と合成イネーブル信号との間の近似率が100%でないことに起因して、対応するフリップフロップ回路での消費電力が増加するため、各組おける当該増加分とクロックゲーティング回路の減少によるクロックゲーティング回路の消費電力の減少分との差が、各組を合計して、クロックゲーティング回路の消費電力の減少分が大きくなる必要がある。基準近似率Rbxの設定値が小さい程、当該増加分と当該減少分の何れもが大きくなるが、消費電力の比が大きくなると、当該減少分よりも当該増加分の方がより大きくなるため、基準近似率Rbxの設定値は、消費電力の比が大きい程、大きくなる。
以上より、上記ステップS4で設定した基準近似率Rbxが適切でなく、十分な低消費電力化が図れずに、第2の従来処理に比べて却って消費電力が増大する可能性がある場合には、上記ステップ4において、第2の従来処理に比べた消費電力低減率を計算して、第2の従来処理に比べて却って消費電力が増大する場合は、基準近似率Rbxの設定値を増加させて、ステップS4の処理を再度実行するのも好ましい。また、当該ステップS4の再実行を、本発明装置の第3手段によって自動的に行えるようにするのも好ましい。更には、ステップS4の処理を複数の基準近似率Rbxに対して実行して、その中の最も低消費電力化が図れたものに対して、最終的にステップS5の処理を実行するのも好ましい。
次に、本発明装置の別実施形態について説明する。
〈1〉上記実施形態では、本発明装置の第3手段は、ステップS3〜S5の処理を順番に実行する構成としたが、ステップS3の処理による低消費電力化とステップS4の処理による低消費電力化は、互いに独立したものであるので、ステップS3とステップS4の一方だけを実行しても低消費電力化が図れる可能性がある。従って、第3手段は、ステップS3とステップS4の一方だけを実行する構成としても構わない。
更に、上記実施形態では、ステップS3の実行後の非第1種イネーブル信号に対してステップS4を実行したが、実行順を逆にして、ステップS2で抽出された全てのイネーブル信号に対してステップS4を実行した後、ステップS4で第2種イネーブル信号として抽出されなかったイネーブル信号に対してステップS3を実行して、第1種イネーブル信号を抽出するようにしても良い。
更に、ステップS3とステップS4の実行順によって得られる結果は異なる可能性があるので、実行順を変えたステップS3とステップS4を2通り実行して、消費電力の低い方の結果を使用して、ステップS5を実行するのも好ましい。
〈2〉上記実施形態では、本発明装置の第2手段が、ステップS2で論理シミュレーションを実行して、各イネーブル信号の波形情報を取得し、第3手段が、ステップS3で当該波形情報D4から各イネーブル信号のアクティブ比率を導出する構成となっていたが、論理シミュレータが、各イネーブル信号の波形情報とアクティブ比率を同時に取得する機能を有する場合は、本発明装置の第2手段が、ステップS2で論理シミュレーションを実行して、各イネーブル信号の波形情報とアクティブ比率を同時に取得して、ステップS3では、そのアクティブ比率を使用する構成としても構わない。
本発明に係る論理回路設計支援方法及び装置は、コンピュータを利用した論理回路設計の自動化技術において、実動作モードにおける低消費電力化のためのゲーティッドクロック設計に利用可能である。
1: 論理回路設計支援装置
2: CPU(中央演算処理装置)
3: ROM(読み出し専用メモリ)
4: RAM(ランダムアクセスメモリ)
5: 外部記憶装置
6: 入力装置
7: 表示装置
8: バスライン
10〜18: 論理階層
20: クロックジェネレータ
21: イネーブル生成論理回路
31〜38: イネーブル付きフリップフロップ回路(論理回路ユニット)
31a〜34a: イネーブル無しフリップフロップ回路
41〜47: クロックゲーティング回路
50〜53: クロックゲーティング回路
CLK: クロック信号
CLK1〜CLK7: クロックゲーティング回路から出力されるクロック信号
D1: 処理前の最適化対象論理回路の回路構造を記述した回路データ
D2: イネーブル信号情報
D3: テストベンチ
D4: 波形情報(状態遷移に係る時系列情報)
D5: 第1最適化イネーブル信号情報
D6: 第2最適化イネーブル信号情報
D7: 処理後の最適化対象論理回路の回路構造を記述した回路データ
EN1〜EN8: イネーブル信号
EN10〜EN12: 合成イネーブル信号
Rax: 基準アクティブ比率
Rbx: 基準近似率
T1〜T10:クロックサイクル

Claims (7)

  1. 少なくともイネーブル信号とクロック信号を入力信号とする複数の論理回路ユニットからなる最適化対象論理回路に対して、前記クロック信号を非活性化するクロックゲーティング回路を、前記クロック信号の前記論理回路ユニットに至る信号経路上に少なくとも1つ挿入して、前記最適化対象論理回路に対して低消費電力化を行うゲーティッドクロック設計をコンピュータ演算処理により支援する論理回路設計支援方法であって、
    前記最適化対象論理回路の回路構造を記述した回路データに基づいて、前記最適化対象論理回路に入力する複数の前記イネーブル信号を抽出する第1ステップと、
    前記最適化対象論理回路と抽出された前記複数のイネーブル信号の生成論理に対して実動作モードの論理シミュレーションを実行して、前記イネーブル信号毎の動作時におけるアクティブ状態と非アクティブ状態間の状態遷移に係る時系列情報を取得する第2ステップと、
    前記時系列情報に基づいて、前記最適化対象論理回路と前記クロックゲーティング回路の合計消費電力が、前記クロックゲーティング回路を挿入する前の前記最適化対象論理回路の消費電力より低減されるように、前記クロックゲーティング回路の挿入個数及び挿入箇所を最適化する第3ステップと、を有し、
    前記第3ステップにおいて、
    前記時系列情報に基づいて、抽出された前記イネーブル信号毎に、動作期間中にアクティブ状態となっている比率を示すアクティブ比率を取得し、前記アクティブ比率が所定の基準アクティブ比率以上の前記イネーブル信号を、第1種イネーブル信号として抽出し、前記第1種イネーブル信号が入力する特定の前記論理回路ユニットを、前記クロックゲーティング回路の挿入対象から除外し、
    前記時系列情報に基づいて、前記第1種イネーブル信号を除く抽出された前記複数のイネーブル信号の中から、2以上の前記イネーブル信号間で信号状態が互いに一致している期間の全動作期間に対する比率で表わされる近似率が所定の基準近似率以上の2以上の前記イネーブル信号の組み合わせを、第2種イネーブル信号として1組以上抽出し、
    前記第2種イネーブル信号が夫々入力する2以上の前記論理回路ユニットに対して、同一組に属する前記第2種イネーブル信号の少なくとも1つがアクティブ状態の場合にアクティブ状態となる1つの合成イネーブル信号を生成し、当該2以上の論理回路ユニットに至る前記クロック信号の信号経路上の共通箇所に、前記合成イネーブル信号を入力とする前記クロックゲーティング回路を1つ挿入することを特徴とする論理回路設計支援方法。
  2. 少なくともイネーブル信号とクロック信号を入力信号とする複数の論理回路ユニットからなる最適化対象論理回路に対して、前記クロック信号を非活性化するクロックゲーティング回路を、前記クロック信号の前記論理回路ユニットに至る信号経路上に少なくとも1つ挿入して、前記最適化対象論理回路に対して低消費電力化を行うゲーティッドクロック設計をコンピュータ演算処理により支援する論理回路設計支援方法であって、
    前記最適化対象論理回路の回路構造を記述した回路データに基づいて、前記最適化対象論理回路に入力する複数の前記イネーブル信号を抽出する第1ステップと、
    前記最適化対象論理回路と抽出された前記複数のイネーブル信号の生成論理に対して実動作モードの論理シミュレーションを実行して、前記イネーブル信号毎の動作時におけるアクティブ状態と非アクティブ状態間の状態遷移に係る時系列情報を取得する第2ステップと、
    前記時系列情報に基づいて、前記最適化対象論理回路と前記クロックゲーティング回路の合計消費電力が、前記クロックゲーティング回路を挿入する前の前記最適化対象論理回路の消費電力より低減されるように、前記クロックゲーティング回路の挿入個数及び挿入箇所を最適化する第3ステップと、を有し、
    前記第3ステップにおいて、
    前記時系列情報に基づいて、抽出された前記複数のイネーブル信号の中から、2以上の前記イネーブル信号間で信号状態が互いに一致している期間の全動作期間に対する比率で表わされる近似率が所定の基準近似率以上の2以上の前記イネーブル信号の組み合わせを、第2種イネーブル信号として1組以上抽出し、
    前記第2種イネーブル信号が夫々入力する2以上の前記論理回路ユニットに対して、同一組に属する前記第2種イネーブル信号の少なくとも1つがアクティブ状態の場合にアクティブ状態となる1つの合成イネーブル信号を生成し、当該2以上の論理回路ユニットに至る前記クロック信号の信号経路上の共通箇所に、前記合成イネーブル信号を入力とする前記クロックゲーティング回路を1つ挿入することを特徴とする論理回路設計支援方法。
  3. 前記第3ステップにおいて、前記クロックゲーティング回路の挿入対象となる前記論理回路ユニットに対して、前記論理回路ユニットに入力する前記イネーブル信号が対応する前記クロックゲーティング回路に入力する場合は、当該論理回路ユニットを前記イネーブル信号が入力しないイネーブル無し論理回路ユニットに置き換え、前記合成イネーブル信号が対応する前記クロックゲーティング回路に入力する場合は、当該論理回路ユニットを前記イネーブル無し論理回路ユニットに置き換えないことを特徴とする請求項に記載の論理回路設計支援方法。
  4. 少なくともイネーブル信号とクロック信号を入力信号とする複数の論理回路ユニットからなる最適化対象論理回路に対して、前記クロック信号を非活性化するクロックゲーティング回路を、前記クロック信号の前記論理回路ユニットに至る信号経路上に少なくとも1つ挿入して、前記最適化対象論理回路に対して低消費電力化を行うゲーティッドクロック設計をコンピュータ演算処理により支援する論理回路設計支援装置であって、
    前記最適化対象論理回路の回路構造を記述した回路データに基づいて、前記最適化対象論理回路に入力する複数の前記イネーブル信号を抽出する第1手段と、
    前記最適化対象論理回路と抽出された前記複数のイネーブル信号の生成論理に対して実動作モードの論理シミュレーションを実行して、前記イネーブル信号毎の動作時におけるアクティブ状態と非アクティブ状態間の状態遷移に係る時系列情報を取得する第2手段と、
    前記時系列情報に基づいて、前記最適化対象論理回路と前記クロックゲーティング回路の合計消費電力が、前記クロックゲーティング回路を挿入する前の前記最適化対象論理回路の消費電力より低減されるように、前記クロックゲーティング回路の挿入個数及び挿入箇所を最適化する第3手段と、を備え
    前記第3手段が、
    前記時系列情報に基づいて、抽出された前記イネーブル信号毎に、動作期間中にアクティブ状態となっている比率を示すアクティブ比率を取得し、前記アクティブ比率が所定の基準アクティブ比率以上の前記イネーブル信号を、第1種イネーブル信号として抽出し、前記第1種イネーブル信号が入力する特定の前記論理回路ユニットを、前記クロックゲーティング回路の挿入対象から除外し、
    前記時系列情報に基づいて、前記第1種イネーブル信号を除く抽出された前記複数のイネーブル信号の中から、2以上の前記イネーブル信号間で信号状態が互いに一致している期間の全動作期間に対する比率で表わされる近似率が所定の基準近似率以上の2以上の前記イネーブル信号の組み合わせを、第2種イネーブル信号として1組以上抽出し、
    前記第2種イネーブル信号が夫々入力する2以上の前記論理回路ユニットに対して、同一組に属する前記第2種イネーブル信号の少なくとも1つがアクティブ状態の場合にアクティブ状態となる1つの合成イネーブル信号を生成し、当該2以上の論理回路ユニットに至る前記クロック信号の信号経路上の共通箇所に、前記合成イネーブル信号を入力とする前記クロックゲーティング回路を1つ挿入することを特徴とする論理回路設計支援装置。
  5. 少なくともイネーブル信号とクロック信号を入力信号とする複数の論理回路ユニットからなる最適化対象論理回路に対して、前記クロック信号を非活性化するクロックゲーティング回路を、前記クロック信号の前記論理回路ユニットに至る信号経路上に少なくとも1つ挿入して、前記最適化対象論理回路に対して低消費電力化を行うゲーティッドクロック設計をコンピュータ演算処理により支援する論理回路設計支援装置であって、
    前記最適化対象論理回路の回路構造を記述した回路データに基づいて、前記最適化対象論理回路に入力する複数の前記イネーブル信号を抽出する第1手段と、
    前記最適化対象論理回路と抽出された前記複数のイネーブル信号の生成論理に対して実動作モードの論理シミュレーションを実行して、前記イネーブル信号毎の動作時におけるアクティブ状態と非アクティブ状態間の状態遷移に係る時系列情報を取得する第2手段と、
    前記時系列情報に基づいて、前記最適化対象論理回路と前記クロックゲーティング回路の合計消費電力が、前記クロックゲーティング回路を挿入する前の前記最適化対象論理回路の消費電力より低減されるように、前記クロックゲーティング回路の挿入個数及び挿入箇所を最適化する第3手段と、を備え
    前記第3手段が、
    前記時系列情報に基づいて、抽出された前記複数のイネーブル信号の中から、2以上の前記イネーブル信号間で信号状態が互いに一致している期間の全動作期間に対する比率で表わされる近似率が所定の基準近似率以上の2以上の前記イネーブル信号の組み合わせを、第2種イネーブル信号として1組以上抽出し、
    前記第2種イネーブル信号が夫々入力する2以上の前記論理回路ユニットに対して、同一組に属する前記第2種イネーブル信号の少なくとも1つがアクティブ状態の場合にアクティブ状態となる1つの合成イネーブル信号を生成し、当該2以上の論理回路ユニットに至る前記クロック信号の信号経路上の共通箇所に、前記合成イネーブル信号を入力とする前記クロックゲーティング回路を1つ挿入することを特徴とする論理回路設計支援装置。
  6. 前記第3手段が、前記クロックゲーティング回路の挿入対象となる前記論理回路ユニットに対して、前記論理回路ユニットに入力する前記イネーブル信号が対応する前記クロックゲーティング回路に入力する場合は、当該論理回路ユニットを前記イネーブル信号が入力しないイネーブル無し論理回路ユニットに置き換え、前記合成イネーブル信号が対応する前記クロックゲーティング回路に入力する場合は、当該論理回路ユニットを前記イネーブル無し論理回路ユニットに置き換えないことを特徴とする請求項に記載の論理回路設計支援装置。
  7. 請求項1〜の何れか1項に記載の論理回路設計支援方法を用いて、前記クロックゲーティング回路の挿入個数及び挿入箇所が最適化された論理回路を有することを特徴とする半導体集積回路。
JP2009255231A 2009-11-06 2009-11-06 論理回路設計支援方法及び装置 Expired - Fee Related JP5368941B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009255231A JP5368941B2 (ja) 2009-11-06 2009-11-06 論理回路設計支援方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009255231A JP5368941B2 (ja) 2009-11-06 2009-11-06 論理回路設計支援方法及び装置

Publications (2)

Publication Number Publication Date
JP2011100346A JP2011100346A (ja) 2011-05-19
JP5368941B2 true JP5368941B2 (ja) 2013-12-18

Family

ID=44191463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009255231A Expired - Fee Related JP5368941B2 (ja) 2009-11-06 2009-11-06 論理回路設計支援方法及び装置

Country Status (1)

Country Link
JP (1) JP5368941B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404255B1 (en) 2018-02-27 2019-09-03 Kabushiki Kaisha Toshiba Device for automatic configuration of semiconductor integrated circuit

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013242714A (ja) * 2012-05-21 2013-12-05 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
CN116842903B (zh) * 2023-09-04 2023-11-21 深圳鲲云信息科技有限公司 优化芯片动态功耗的方法及芯片、电子设备和计算设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002092065A (ja) * 2000-09-11 2002-03-29 Toshiba Corp 回路設計方法及び回路設計装置
JP2007164590A (ja) * 2005-12-15 2007-06-28 Fujitsu Ltd 回路設計装置、回路設計プログラム、及び回路設計方法
US7594200B2 (en) * 2005-12-19 2009-09-22 International Business Machines Corporation Method for finding multi-cycle clock gating
JP4704299B2 (ja) * 2006-09-06 2011-06-15 富士通株式会社 Lsiの消費電力ピーク見積プログラム及びその装置
JPWO2008114402A1 (ja) * 2007-03-20 2010-07-01 富士通株式会社 ゲーテッドクロック設計方法及び半導体集積回路
JP4955484B2 (ja) * 2007-08-24 2012-06-20 ルネサスエレクトロニクス株式会社 回路設計装置、回路設計方法、及び、回路設計プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404255B1 (en) 2018-02-27 2019-09-03 Kabushiki Kaisha Toshiba Device for automatic configuration of semiconductor integrated circuit

Also Published As

Publication number Publication date
JP2011100346A (ja) 2011-05-19

Similar Documents

Publication Publication Date Title
JP3357813B2 (ja) ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
KR100992025B1 (ko) 멀티-사이클 클록 게이팅 방법
US6195786B1 (en) Constrained register sharing technique for low power VLSI design
US10255403B1 (en) Method and apparatus for concurrently extracting and validating timing models for different views in multi-mode multi-corner designs
US20210089324A1 (en) Controlling the operating speed of stages of an asynchronous pipeline
US20150286355A1 (en) Crawling for extracting a model of a gui-based application
US20150278425A1 (en) Timing Closure Using Transistor Sizing in Standard Cells
JP5368941B2 (ja) 論理回路設計支援方法及び装置
JP2011039982A (ja) プロセッサ
Kim et al. Pulser gating: A clock gating of pulsed-latch circuits
GB2553010A (en) Efficient data selection for a processor
US8042074B2 (en) Circuit design device, circuit design program, and circuit design method
JP2014021573A (ja) 半導体集積回路の論理回路設計に用いるネットリストを最適化する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム
US10162917B1 (en) Method and system for implementing selective transformation for low power verification
TWI262411B (en) Integrated circuit design system
JP2011242825A (ja) 消費電力情報算出プログラム、消費電力情報算出方法、及び消費電力情報算出装置
US7194708B2 (en) Generation of clock gating function for synchronous circuit
JP2010062227A (ja) 自動配線装置、自動配線方法および自動配線プログラム
US20040230923A1 (en) Generation of improved input function for clocked element in synchronous circuit
US7131090B2 (en) Clocked gating based on measured performance
US10684862B2 (en) Processor synthesis device, processor synthesis method, and computer readable medium
US11983478B2 (en) Selection of full or incremental implementation flows in processing circuit designs
US7080335B2 (en) Methods for modeling latch transparency
CN112613261B (zh) 一种确定block端口时钟域的方法
Sitik et al. Multi-corner multi-voltage domain clock mesh design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130913

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