JP5531479B2 - 回路設計方法、及び回路設計プログラム - Google Patents

回路設計方法、及び回路設計プログラム Download PDF

Info

Publication number
JP5531479B2
JP5531479B2 JP2009168537A JP2009168537A JP5531479B2 JP 5531479 B2 JP5531479 B2 JP 5531479B2 JP 2009168537 A JP2009168537 A JP 2009168537A JP 2009168537 A JP2009168537 A JP 2009168537A JP 5531479 B2 JP5531479 B2 JP 5531479B2
Authority
JP
Japan
Prior art keywords
clock
circuit
clock gating
netlist
design method
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
JP2009168537A
Other languages
English (en)
Other versions
JP2011022879A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009168537A priority Critical patent/JP5531479B2/ja
Publication of JP2011022879A publication Critical patent/JP2011022879A/ja
Application granted granted Critical
Publication of JP5531479B2 publication Critical patent/JP5531479B2/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)

Description

本発明は回路設計方法、及び回路設計プログラムに関し、特に回路にクロックゲーティングセルを挿入する回路設計方法、及び回路設計プログラムに関する。
近年のLSI設計においては、消費電力の削減が大きな課題となっており、その削減手法の1つとしてクロックゲーティングが一般的に用いられている。クロックゲーティングとは、LSI中のフリップフロップ回路、ラッチ回路、ドミノ回路などに供給するクロックを一時的、部分的に停止させる手法で、例えば図6に示す回路で実現される。
図6に示す回路は、クロック供給源110、クロックバッファ120、クロックゲーティングセル130〜132、フリップフロップ(FF)140〜145を有する。この回路では、クロック供給源110からクロックバッファ120、クロックゲーティングセル130〜132を経由して、各フリップフロップ140〜145にクロックが供給される。
クロックゲーティングセル130〜132は入力としてCLK、CEN(Clock ENable)、出力としてGCLKの各端子を備える。そして、イネーブル信号としてCEN端子に"1"が入力された時には、CLK端子に入力されたクロックがそのままGCLK端子に伝播する。一方、イネーブル信号としてCEN端子に"0"が入力された時には、CLK端子の入力にかかわらずGCLK端子の出力は0となる。GCLK端子からの出力はフリップフロップ140〜145のクロック入力端子に接続されているため、クロックゲーティングセルのCEN端子へイネーブル信号を入力することで、フリップフロップ140〜145へのクロック供給を制御することができる。
ここで、クロック供給が停止された際、フリップフロップ140〜145の出力は停止以前のデータを保持し続ける。すなわち、クロックゲーティングセル130〜132の挿入は、論理的にはCENをホールド条件とした1サイクル前の自己の値のホールドと同じ動作となる。また、CEN端子に常時"1"を入力すれば常時クロック伝播を続けることができ、クロックゲーティングを行わないフリップフロップと同じクロック分配回路を使用することができる。この様に、クロックゲーティングを用いることで、クロックゲーティングの出力バッファ及びそれに接続される配線、フリップフロップの入力ゲート等で消費される電力の削減、またフリップフロップの出力値が固定化されることによるフリップフロップ間のデータ伝播で消費される電力の削減が期待できる。
次に、クロックゲーティングセルを挿入する設計フローについて説明する。図7に設計フローの例を示す。まず、設計者は回路の通常動作を記述したRTL(Register Transfer Level)を作成する(ステップS101)。この場合の記述例を図8に示す。次に、クロックゲーティング条件の記述を、ステップS101で作成したRTL記述に挿入する(ステップS102)。図9はこの場合の記述例を示しており、この記述の"enable"がクロックゲーティング条件を示す。
次に、作成されたRTL記述を論理合成ツールに入力し、ネットリストを作成する(ステップS103)。論理合成ツールはRTL記述中のゲーティング条件及びホールド条件を自動で判定し、クロックゲーティング可能な箇所に対して自動的にクロックゲーティングセルを生成する。またこの際、ゲーティング条件が同じフリップフロップは一組のグループとして扱われ、1つのクロックゲーティングセルに対して複数のフリップフロップが接続される。
図10は、論理合成(ステップ103)後のネットリスト接続を示す図である。図10に示すように、クロック供給源110はフリップフロップ140に対して直接クロックを供給している。また、クロック供給源110はフリップフロップ141、142に対してクロックゲーティングセル131を介してクロックを供給している。また、クロック供給源110はフリップフロップ143〜145に対してクロックゲーティングセル132を介してクロックを供給している。
次に、レイアウトツールによる自動配置を行う(ステップS104)。レイアウトツールは配置制約、遅延制約、その他の条件に基づいてネットリスト中のセルの配置を行う。
次に、CTS(Clock Tree Synthesis)処理を行う(ステップS105)。CTS処理では、クロック分配対象セルの密度に合わせてクロックバッファが生成さる。また、離れた箇所にあるフリップフロップで共通して使用されるクロックゲーティングは、複製する等の処理が行なわれる。この結果、図6に示すような接続が生成される。
次に、CTSで生成、移動されたセルの再配置及びスキューを考慮した遅延最適化等を行い(ステップS106)、配線処理が行なわれる(ステップS107)。
また、特許文献1には低消費電力化と回路の簡素化を実現するための論理設計を行なう回路設計装置に関する技術が開示されている。特許文献1にかかる回路設計装置は、設計対象のRTL記述を解釈して構造解析を行ない、構造解析の結果に基づいてクロックゲーティングを予測してEN(イネーブル)生成論理のRTL記述を検出し、且つ、同一のEN生成論理を検出する。そして、検出されたEN生成論理からクロックゲーティング回路の挿入位置と論理階層の組み替えを決定して、論理合成における論理階層組み替えの指示と設計変更処理を行なう。更に、設計変更後のRTL記述と論理階層組み替えの指示とによって論理合成を行ない、具体的な回路構成にレイアウトしている。
また、特許文献2には高速化を実現することが可能な半導体装置の設計方法に関する技術が開示されている。特許文献2にかかる半導体装置の設計方法では、機能ブロック単位で階層化された半導体チップのネットリストに対し、機能ブロック単位の階層を展開し、同一クロック信号が供給される回路を抽出及び階層化することで、クロックドメイン単位の回路ブロックを含むネットリストを構築し、回路ブロックの単位で半導体チップ内の配線配置を行なっている。これにより、クロックパルス発生器からのクロックレイテンシが小さくなり、半導体装置の高速化が可能となる。
特開2007−164590号公報 特開2006−49638号公報
背景技術で説明した設計手法では、論理合成済みの回路に対して新たにクロックゲーティングセルを挿入する場合、人手でRTL記述にクロックゲーティング条件を追加する必要がある。つまり、図9に示すようなクロックゲーティング条件を示す記述である"enable"をRTL記述に追加する必要がある。また、背景技術で説明した設計手法では、論理合成ツールを用いてゲーティングセルを生成するためゲーティング条件等の制御性が悪く、設計者の意図した条件でゲーティングセルを生成するのが困難であるという問題がある。
よって本発明の目的は、論理合成済みの回路に対して容易かつ高精度にクロックゲーティングセルを挿入することができる回路設計方法、及び回路設計プログラムを提供することである。
本発明にかかる回路設計方法は、設計者の意図する論理に基づいて、クロックゲーティング条件を含まないRTL記述ファイルを作成する第1のステップと、論理合成ツールを用いて、前記RTL記述ファイルに基づき第1のネットリストを生成する第2のステップと、前記第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップと、自動レイアウトツールを用いて、前記第2のネットリストに含まれるセルの配置を決定する第4のステップと、を有する。
本発明にかかる、回路にクロックゲーティングセルを挿入するためのプログラムは、設計者の意図する論理に基づいて作成された、クロックゲーティング条件を含まないRTL記述ファイルを読み込む第1のステップと、論理合成ツールを用いて、前記RTL記述ファイルに基づき第1のネットリストを生成する第2のステップと、前記第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップと、自動レイアウトツールを用いて、前記第2のネットリストに含まれるセルの配置を決定する第4のステップと、をコンピュータに実行させるための回路設計プログラムである。
本発明により論理合成済みの回路に対して容易かつ高精度にクロックゲーティングセルを挿入することができる回路設計方法、及び回路設計プログラムを提供することができる。
実施の形態1にかかる回路設計方法を説明するためのフローチャートである。 実施の形態2にかかる回路設計方法を説明するためのフローチャートである。 論理合成(第2のステップ)により生成された第1のネットリストの接続状態を示す図である。 クロックゲーティングセル挿入(第3のステップ)により生成された第2のネットリストの接続状態を示す図である。 実施の形態2にかかる回路設計フローにより生成される回路図である。 背景技術にかかるクロックゲーティングセル挿入フローにより生成される回路図である。 背景技術にかかる回路設計方法を説明するためのフローチャートである。 クロックゲーティング条件が未挿入のRTL記述の一例である。 クロックゲーティング条件が挿入されたRTL記述の一例である。 背景技術にかかる回路設計フローの論理合成(ステップS103)後のネットリストの接続状態を示す図である。
実施の形態1.
以下、図面を参照して本発明の実施の形態1について説明する。図1は本実施の形態にかかる回路設計方法を説明するためのフローチャートである。
本実施の形態にかかる回路設計方法は、設計者の意図する論理に基づいて、クロックゲーティング条件を含まないRTL記述ファイルを作成する第1のステップ(図1のステップS1)と、論理合成ツールを用いて、第1のステップで生成されたRTL記述ファイルに基づき第1のネットリストを生成する第2のステップ(ステップS2)と、第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップ(ステップS3)と、自動レイアウトツールを用いて、第2のネットリストに含まれるセルの配置を決定する第4のステップ(ステップS4)と、を少なくとも有する。以下、各ステップについて詳細に説明する。
第1のステップ(ステップS1)では、設計者の意図する論理に基づいて、回路の通常動作を記述したRTL記述ファイルを作成する。本実施の形態にかかる回路設計方法では、RTL記述ファイルには回路の通常動作のみを記述し、クロックゲーティング条件は記述に含めない。RTL記述ファイルは、例えばハードウェア設計言語HDL(Hardware Description Language)を用いて、モジュール毎の機能の記述をすることで作成する。
また、RTL記述ファイルを作成後、RTL記述の品質チェックや機能検証等を実施してもよい。RTL記述ファイルの品質チェックでは、RTL記述の内容が文法上、記述規則上違反していないかチェックする。また、RTL記述の検証では、例えばシュミレータを用いて予め定められた仕様通りの機能がHDLで表現されているかを検証する。
第2のステップ(ステップS2)では、論理合成ツールを用いて、第1のステップで作成したRTL記述ファイルに基づき第1のネットリストを生成する。この際も、論理合成ツールによるクロックゲーティングセルの生成は行なわれない。第1のネットリストにはセル(回路素子)やそのセル間の接続状況が記載されている。第2のステップで生成される第1のネットリストの接続状態を図3に示す。図3に示すように、各フリップフロップ40〜44にはクロック供給源10からクロックが供給されている。
第3のステップ(ステップS3)では、第2のステップで生成した第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する。クロックゲーティングセルの挿入は、例えば特定の条件を満たす回路ブロック毎に、単一または複数のクロックゲーティングセルを挿入する。第3のステップで生成される第2のネットリストの接続状態を図4に示す。図4に示すように、各フリップフロップ40〜44とクロック供給源10との間にはクロックゲーティングセル30が設けられている。そして、各フリップフロップ40〜44へのクロックの供給は、クロックゲーティングセルのCEN入力に供給されるイネーブル信号により制御される。ここで、各フリップフロップ40〜44は特定の条件を満たす回路ブロック50である。特定の条件を満たす回路ブロック50としては、例えばテスト回路ブロック、同一のクロックで動作する回路ブロック、同一の機能を有する回路ブロックである。
なお、第3のステップにおいて、第1のネットリストにクロックゲーティングセルを挿入する場所は、例えば第1のネットリストを検索して特定の条件を満たす回路ブロックを自動で抽出することで決定することができる。また、第1のネットリストにクロックゲーティングセルを挿入する場所は、例えば第1のネットリストを参照して、設計者が入力手段を用いて指定することもできる。このようにして、第3のステップでは特定の条件を満たす回路ブロックとクロック供給源との間にクロックゲーティングセルを挿入する。
第4のステップ(ステップS4)では、自動レイアウトツールを用いて、第3のステップで生成された第2のネットリストに含まれるセル(クロックゲーティングセル、フリップフロップなど)の配置を決定する。自動レイアウトツールは、配置制約、遅延制約、その他の条件に基づいて第2のネットリスト中にあるセルの配置を行なう。
以上で説明した本実施の形態にかかる回路設計方法では、RTL記述ファイルにクロックゲーティング条件を含めるのではなく、RTL記述ファイルを論理合成することで生成された第1のネットリストにクロックゲーティングセルを挿入している。これにより、論理合成済みの回路に対して新たにクロックゲーティングセルを挿入する際に、人手でRTL記述にクロックゲーティング条件を追加する必要がなくなる。つまり、図9に示すようなクロックゲーティング条件を示す記述である"enable"をRTL記述に追加する必要がなくなるため、クロックゲーティング条件の記述漏れを抑制することができる。
また、本実施の形態にかかる回路設計方法では、論理合成ツールを用いてゲーティングセルを生成していないためゲーティング条件の制御性がよく、設計者の意図した条件でゲーティングセルを生成することができる。
よって、本実施の形態にかかる発明により論理合成済みの回路に対して容易かつ高精度にクロックゲーティングセルを挿入することができる回路設計方法を提供することができる。
一方、回路を構成する全ての回路ブロックに対して単一のゲーティング条件によるクロックゲーティングセルを挿入した場合、回路に対して一括してクロックの供給を停止することができる。
通常のクロックゲーティングセルの挿入フローでは、クロックゲーティング条件を含むRTL記述ファイルに基づき、論理合成ツールが自動でクロックゲーティング条件の抽出及びフリップフロップのグループ化を行うために、クロックゲーティングセルが生成されない場合や期待通りの条件でのクロックゲーティングが行われない可能性があった。また、クロックゲーティング条件の異なる複数のクロックゲーティングセルが生成されるため、これらに接続されるフリップフロップがそれぞれグループ化され、近傍に配置されることにより、レイアウト時の配置が制約されていた。
しかし、回路を構成する全ての回路ブロックに対して単一のゲーティング条件によるクロックゲーティングセルを挿入する場合、本実施の形態にかかる回路設計方法ではクロック供給源の根本にクロックゲーティングセルを挿入することができるので、100%のクロックゲーティング率を保証することができる。また、この場合はクロックゲーティング条件の異なる複数のクロックゲーティングセルが生成されないため、各フリップフロップのレイアウト時の配置が制約されることを抑制できる。
本実施の形態にかかる回路設計方法は、このように一括してクロックの供給を止めるような回路の設計により適している。このような回路としては、例えばLSI中に組み込まれたテスト回路(LSIの通常動作時に使用されず値が保持されないものとする)がある。この理由は、LSI中に組み込まれたテスト回路は、通常動作時には使用されないため、回路ブロック単位で完全に停止することが期待されているからである。また、LSIが動作する時間のうち大部分では回路ブロック全体が停止しているため、さらに細かい単位でクロックゲーティングセルを設ける必要性が低いからである。また、LSIの通常の回路では、複数に分配されたクロックゲーティングセルへの信号分配が課題となるが、テスト回路であれば動作の開始、停止の切り替えタイミングを調整でき、信号伝播にも十分な時間を確保することができるからである。
また、本実施の形態にかかる回路設計プログラムは、上記第1乃至第4のステップをコンピュータに実行させるためのプログラムである。
すなわち、本実施の形態にかかる、回路にクロックゲーティングセルを挿入するためのプログラムは、設計者の意図する論理に基づいて作成された、クロックゲーティング条件を含まないRTL記述ファイルを読み込む第1のステップと、論理合成ツールを用いて、RTL記述ファイルに基づき第1のネットリストを生成する第2のステップと、第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップと、自動レイアウトツールを用いて、第2のネットリストに含まれるセルの配置を決定する第4のステップと、をコンピュータに実行させるための回路設計プログラムである。
本実施の形態にかかる回路設計プログラムにおいても、回路設計方法と同様の効果、つまり、論理合成済みの回路に対して容易かつ高精度にクロックゲーティングセルを挿入することができるという効果を得ることができる。
実施の形態2.
次に、本発明の実施の形態2について説明する。図2は本実施の形態にかかる回路設計方法を説明するためのフローチャートである。図2に示すフローチャートでは、実施の形態1で説明した図1に示すフローチャートに、ステップS3'、ステップS5、ステップS6、ステップS7が追加されている。以下、本実施の形態にかかる回路設計方法について説明する。
第1のステップ(ステップS1)では、設計者の意図する論理に基づいて、クロックゲーティング条件を含まないRTL記述ファイルを作成する(図2のステップS1)。また、第2のステップ(ステップS2)では、論理合成ツールを用いて、第1のステップで生成されたRTL記述ファイルに基づき第1のネットリストを生成する。なお、第1及び第2のステップについては、実施の形態1の内容と重複するので説明を省略する。
第3'のステップ(ステップS3')では、第1のネットリストから特定の条件を満たす回路ブロックを抽出する。ここで、特定の条件を満たす回路ブロックとは、例えばテスト回路ブロック、同一のクロックで動作する回路ブロック、同一の機能を有する回路ブロックである。
テスト回路ブロックは、例えば第1のネットリストからテスト回路ブロックを構成するフリップフロップを検索することで抽出することができる。
また、同一のクロックで動作する回路ブロックは、例えば第1のネットリストを構成する各フリップフロップのうち、共通のクロック供給源に接続されているフリップフロップを検索することで抽出することができる。なお、複数のフリップフロップが階層化されている場合は、階層レベルで同一のクロックで動作する回路ブロックを抽出してもよい。
また、同一の機能を有する回路ブロックは、例えば第1のネットリストを構成する各フリップフロップのうち、同一の機能を有するフリップフロップを検索することで抽出することができる。
なお、本実施の形態にかかる回路設計方法では、回路ブロックを抽出するための特定の条件は任意に設定することができる。また、回路ブロックを抽出するための特定の条件は複数の条件の組み合わせであってもよい。
第3のステップ(ステップS3)では、第3'のステップで抽出した回路ブロックにクロックを供給するクロック供給源と当該回路ブロックとの間にクロックゲーティングセルを挿入して第2のネットリストを生成する。クロックゲーティングセルを挿入する場合は、例えばステップ3'で抽出された各回路ブロックを構成するフリップフロップの収束点を第1のネットリストから抽出し、この収束点にクロックゲーティングセルを挿入する。
なお、前述のクロックゲーティングセルの抽出処理(ステップ3')および挿入処理(ステップ3)は自動的に行なったが、これらの処理の一部または全ては設計者により手動で行なってもよい。
クロックゲーティングセルの抽出処理および挿入処理の一部を手動で行なう場合は、例えばステップ3'で第1のネットリストから特定の条件を満たす回路ブロックを自動で抽出する。そしてステップ3で、この抽出結果に基づいて設計者が手動でクロックゲーティングセルの挿入場所を決定する。
一方、クロックゲーティングセルの抽出処理および挿入処理の全てを手動で行なう場合は、例えばステップ3'で第1のネットリストから特定の条件を満たす回路ブロックを手動で抽出する。そしてステップ3で、この抽出結果に基づいて設計者が手動でクロックゲーティングセルの挿入場所を決定する。
第4のステップ(ステップS4)では、自動レイアウトツールを用いて、第3のステップで生成された第2のネットリストに含まれるセル(クロックゲーティングセル、フリップフロップなど)の配置を決定する。自動レイアウトツールは、配置制約、遅延制約、その他の条件に基づいて第2のネットリスト中にあるセルの配置を行なう。
第5のステップ(ステップS5)では、CTS処理を行なう。このステップでは、クロックゲーティングセルはフリップフロップの配置にあわせて適宜複製され、また複製されたクロックゲーティングセルの密度にあわせてクロックバッファが生成される。
第6のステップ(ステップS6)では、第5のステップのCTS処理で生成、移動されたセルを再配置し、また、クロック端子から各フリップフロップまでの配線遅延のずれ、つまりスキューがある規定値以内に収まるように最適化処理をする。
第7のステップ(ステップS7)では、フリップフロップ及びクロックゲーティングセルの配線をする。
なお、本実施の形態にかかる回路設計方法では、CTS処理(第5のステップ)以降のフローは通常のクロックゲーティング挿入フローと同様であり、また、使用されるクロックゲーティングセルも通常のものと同様であるため、CTS処理以降のフローの使用の有無によりレイアウト時に特別な領域を設けるなどの必要がない。
本実施の形態にかかる回路設計方法により生成された回路図を図5に示す。図5に示す回路では、フリップフロップ40〜44が回路ブロック50を構成しており、各フリップフロップ40〜44にはクロック供給源10からクロックバッファ20、クロックゲーティングセル30、31を介してクロックが供給されている。クロックゲーティングセル30はクロックバッファ20とフリップフロップ40〜42との間に設けられている。フリップフロップ40〜42へのクロックの供給は、クロックゲーティングセル30のCEN入力に供給されるイネーブル信号により制御される。クロックゲーティングセル31はクロックバッファ20とフリップフロップ43、44との間に設けられている。フリップフロップ43、44へのクロックの供給は、クロックゲーティングセル31のCEN入力に供給されるイネーブル信号により制御される。
図5に示す回路図と、図4に示す実施の形態1にかかる回路設計方法により生成された回路図とを比較すると、図5に示す回路図では回路ブロック50を構成するフリップフロップ40〜44に対してクロックゲーティングセルが2つ設けられており、また、クロック供給源10とクロックゲーティングセル30、31との間にはクロックバッファ20が設けられている。つまり、本実施の形態にかかる回路設計方法では、ステップ4の自動配置後にステップ5のCTS処理を実施することで、フリップフロップ40〜44の配置にあわせてクロックゲーティングセル30、31を配置でき、また、クロックゲーティングセル30、31の密度にあわせてクロックバッファ20を設けることができる。
本実施の形態にかかる回路設計方法では、回路ブロック内のクロックゲーティング条件を統一することで、CTS処理(第5のステップ)によるクロックゲーティングセル複製時に、回路ブロック内のフリップフロップを任意に組み合わせてゲーティングセルに接続させることができる。これにより、各フリップフロップの配置の自由度が増し、遅延の最適化、設計時間の短縮化を図ることができる。また、本実施の形態にかかる回路設計方法においても、実施の形態1の効果と同様の効果を得ることができる。
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
10 クロック供給源
20 クロックバッファ
30、31 クロックゲーティングセル
40、41、42、43、44 フリップフロップ
50 回路ブロック

Claims (8)

  1. コンピュータが回路を設計する回路設計方法であって、
    コンピュータが、設計者の意図する論理に基づいて、クロックゲーティング条件を含まないRTL記述ファイルを作成する第1のステップと、
    コンピュータが、論理合成ツールを用いて、前記RTL記述ファイルに基づき、クロックゲーティングセルを含まない第1のネットリストを生成する第2のステップと、
    コンピュータが、前記第1のネットリストから特定の条件を満たす回路ブロックを抽出し、当該回路ブロックにクロックを供給するクロック供給源と当該回路ブロックとの間にクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップと、
    コンピュータが、自動レイアウトツールを用いて、前記第2のネットリストに含まれるセルの配置を決定する第4のステップと、を有する回路設計方法。
  2. 前記第3のステップで抽出される前記特定の条件を満たす回路ブロックは、テスト回路ブロックである、請求項1に記載の回路設計方法。
  3. 前記第3のステップで抽出される前記特定の条件を満たす回路ブロックは、同一のクロックで動作する回路ブロックである、請求項1に記載の回路設計方法。
  4. 前記第3のステップで抽出される前記特定の条件を満たす回路ブロックは、同一の機能を有する回路ブロックである、請求項1に記載の回路設計方法。
  5. 前記第4のステップで配置された前記セルのうちフリップフロップの配置に基づき、コンピュータが前記クロックゲーティングセルを複製する第5のステップを更に有する、請求項1乃至4のいずれか一項に記載の回路設計方法。
  6. コンピュータが前記第5のステップで再配置された前記クロックゲーティングセルの配置に基づきクロックバッファを生成するステップを更に有する、請求項5に記載の回路設計方法。
  7. コンピュータがクロックスキューに基づき前記フリップフロップ及び前記クロックゲーティングセルの配置を最適化する第6のステップを更に有する、請求項5又は6に記載の回路設計方法。
  8. 回路にクロックゲーティングセルを挿入する処理をコンピュータに実行させるためのプログラムであって、
    設計者の意図する論理に基づいて作成された、クロックゲーティング条件を含まないRTL記述ファイルを読み込む第1のステップと、
    論理合成ツールを用いて、前記RTL記述ファイルに基づき、クロックゲーティングセルを含まない第1のネットリストを生成する第2のステップと、
    前記第1のネットリストから特定の条件を満たす回路ブロックを抽出し、当該回路ブロックにクロックを供給するクロック供給源と当該回路ブロックとの間にクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップと、
    自動レイアウトツールを用いて、前記第2のネットリストに含まれるセルの配置を決定する第4のステップと、
    をコンピュータに実行させるための回路設計プログラム。
JP2009168537A 2009-07-17 2009-07-17 回路設計方法、及び回路設計プログラム Expired - Fee Related JP5531479B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009168537A JP5531479B2 (ja) 2009-07-17 2009-07-17 回路設計方法、及び回路設計プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009168537A JP5531479B2 (ja) 2009-07-17 2009-07-17 回路設計方法、及び回路設計プログラム

Publications (2)

Publication Number Publication Date
JP2011022879A JP2011022879A (ja) 2011-02-03
JP5531479B2 true JP5531479B2 (ja) 2014-06-25

Family

ID=43632887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009168537A Expired - Fee Related JP5531479B2 (ja) 2009-07-17 2009-07-17 回路設計方法、及び回路設計プログラム

Country Status (1)

Country Link
JP (1) JP5531479B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3357813B2 (ja) * 1997-04-01 2002-12-16 株式会社東芝 ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
JP3412745B2 (ja) * 1997-09-18 2003-06-03 松下電器産業株式会社 半導体回路におけるクロック供給装置およびその設計方法
JP2001155045A (ja) * 1999-11-25 2001-06-08 Toshiba Corp クロック供給制御方式、クロック供給制御回路の設計方法、及び、クロック供給制御回路の設計プログラムを記録した記録媒体
JP2003067433A (ja) * 2001-08-24 2003-03-07 Nec Microsystems Ltd 冗長動作検出装置およびその検出方法ならびに動作停止回路の挿入方法
JP2004327827A (ja) * 2003-04-25 2004-11-18 Sharp Corp 集積回路および集積回路の回路構成方法
JP2005085206A (ja) * 2003-09-11 2005-03-31 Renesas Technology Corp 半導体集積回路およびスキャンパステスト回路設計方法
JP2006065389A (ja) * 2004-08-24 2006-03-09 Seiko Epson Corp 集積回路装置の設計方法、クロックツリー構築ツール及び集積回路装置
JP2009053830A (ja) * 2007-08-24 2009-03-12 Ricoh Co Ltd 自動配置配線方法およびレイアウト装置

Also Published As

Publication number Publication date
JP2011022879A (ja) 2011-02-03

Similar Documents

Publication Publication Date Title
US8065647B2 (en) Method and system for asynchronous chip design
US20050268268A1 (en) Methods and systems for structured ASIC electronic design automation
US20140165022A1 (en) Relative timing architecture
US9953120B2 (en) Relative timing characterization
US7917882B2 (en) Automated digital circuit design tool that reduces or eliminates adverse timing constraints due to an inherent clock signal skew, and applications thereof
JP2001357090A (ja) 論理合成方法及び論理合成装置
US7774730B2 (en) Method of and system for designing semiconductor integrated circuit
JP2010257164A (ja) 半導体集積回路装置の設計方法およびプログラム
JP2006343151A (ja) スキャンテスト回路及びその配置方法
JP5444985B2 (ja) 情報処理装置
US20080300806A1 (en) Power consumption calculating method
Quinton et al. Practical asynchronous interconnect network design
JP2007072995A (ja) レイアウト装置、自動配置配線方法および半導体集積回路製造方法
JP5531479B2 (ja) 回路設計方法、及び回路設計プログラム
JP2014041598A (ja) 論理回路設計方法、論理回路設計プログラム、および論理回路設計システム
JP7069608B2 (ja) 半導体設計支援装置、半導体設計支援方法及びプログラム
JP2005165405A (ja) 半導体集積回路の設計装置および半導体集積回路の設計方法
JP4855283B2 (ja) 半導体集積回路の設計装置
Robertson et al. Timing verification of dynamically reconfigurable logic for the Xilinx Virtex FPGA series
CN113688587B (zh) 一种电路布图的生成方法、装置、计算机设备及存储介质
US8875079B2 (en) System and method of automated design augmentation for efficient hierarchical implementation
US20220207225A1 (en) Lightweight unified power format implementation for emulation and prototyping
JP2006319162A (ja) クロックツリー作成方法およびクロックツリー作成プログラム
JP2006201825A (ja) 集積回路の遅延解析方法及び遅延解析プログラム
JP2010257003A (ja) 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140407

R150 Certificate of patent or registration of utility model

Ref document number: 5531479

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees