JP6362318B2 - 半導体集積回路設計支援装置、方法及びプログラム - Google Patents
半導体集積回路設計支援装置、方法及びプログラム Download PDFInfo
- Publication number
- JP6362318B2 JP6362318B2 JP2013231732A JP2013231732A JP6362318B2 JP 6362318 B2 JP6362318 B2 JP 6362318B2 JP 2013231732 A JP2013231732 A JP 2013231732A JP 2013231732 A JP2013231732 A JP 2013231732A JP 6362318 B2 JP6362318 B2 JP 6362318B2
- Authority
- JP
- Japan
- Prior art keywords
- latency
- module
- level synthesis
- integrated circuit
- input
- 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.)
- Active
Links
- 238000013461 design Methods 0.000 title claims description 66
- 239000004065 semiconductor Substances 0.000 title claims description 64
- 238000000034 method Methods 0.000 title claims description 19
- 230000015572 biosynthetic process Effects 0.000 claims description 144
- 238000003786 synthesis reaction Methods 0.000 claims description 144
- 238000003780 insertion Methods 0.000 claims description 125
- 230000037431 insertion Effects 0.000 claims description 125
- 238000005457 optimization Methods 0.000 claims description 63
- 238000004458 analytical method Methods 0.000 claims description 44
- 230000003542 behavioural effect Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 7
- 230000001934 delay Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 25
- 230000006399 behavior Effects 0.000 description 11
- 238000000605 extraction Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 230000009467 reduction Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100113628 Arabidopsis thaliana CKL4 gene Proteins 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
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)
Description
一方で、高位合成ツールだけでは実現できない処理を実現する補助的な設計技術が提案されている。特開2010-165334号公報(特許文献1)では、複数のモジュール間におけるレイテンシを調整するために、モジュールのFF(フリップフロップ)段数を抽出し、自動的にFFをモジュール間に挿入することで、複数のモジュール間のレイテンシを自動で合わせることが出来ることが示されている。
図32に図31のモジュールCの内部の詳細を示した一例を示す。モジュールCでは、ピンa1の入力をFFで受けている点がポイントである。この場合、モジュールBとモジュールCの間に挿入されたFFとモジュールCの内部におけるピンa1の入力を受けるFFは相殺され、図33に示すようにモジュールBとモジュールCの間に挿入すべきFFを1個に削減できる。
一方で、もし仮にFFが挿入される箇所がモジュールBとモジュールCの間ではなく、図36に示すようにモジュールB内のFFのビット数が少ない箇所に挿入できるとしたなら、図37に示す算式のように挿入されるFF数は40bitとなり削減することができる。
このように特許文献1に開示されるモジュール間に挿入されるFFは、回路全体から見れば、回路規模の面で最適な箇所でない場合がある。
回路動作を記述した動作記述から高位合成手段により高位合成されたHDLまたは合成ログから取得した各モジュールのレイテンシ値より、モジュール間に挿入が必要な必要遅延であるFF数を算出するレイテンシ調整手段と、
前記HDLまたは合成ログより、入力がFF受けのピンを抽出し、入力遅延であるFF受けの入力FF段数を取得する入力FF数取得手段と、
前記レイテンシ調整手段からの必要遅延と前記入力FF数取得手段からの入力遅延から最適遅延を求めるレイテンシ再調整手段と、
前記合成ログまたはHDLから、FF挿入対象となるピンを持つモジュールを対象にモジュール内の各状態とそれぞれの状態で保持しているFF数の総和が最小となる状態を検出する前段モジュール解析手段と、
前記レイテンシ再調整手段からの最適遅延と前記前段モジュール解析手段からのFF数の最小状態から得たFF挿入箇所を元に前記高位合成手段により全体を再度高位合成することで最適化したHDLを得るFF挿入最適化合成手段とを備える。
高位合成されたHDLまたは合成ログより取得した各モジュールのレイテンシ値より取得したモジュール間に挿入が必要な必要遅延と、高位合成されたHDLまたは合成ログより入力がFF受けのピンを抽出し、FF受けの段数即ち入力遅延を取得し、レイテンシ再調整手段で必要遅延と入力遅延から最適遅延を求め、高位合成されたHDLまたは合成ログよりFF挿入対象となるピンを持つモジュールを対象として、各状態において保持しているFF数の総和を求め、FF数が最小の状態を検出し、上記で得たFFの挿入箇所を元に高位合成手段により、回路全体を再度高位合成することで、回路規模が小さなRTLの記述言語であるHDLを得ることが出来、設計者の能力に依存することなく小回路規模なハードウェア構成を短時間で得るという効果がある。
この発明における半導体集積回路設計支援装置は、コンピュータ本体、グラフィックディスプレイ装置、キーボード、マウス、CD-ROM(Compact Disc Read-Only Memory)が装着されるCD-ROM装置、及びネットワークを含む。
半導体集積回路設計支援プログラムはCD-ROM等の記憶媒体によって供給され、コンピュータ本体によって実行される。操作者はグラフィックディスプレイ装置を見ながらキーボードまたはマウス操作することにより半導体集積回路の設計支援を行う。
また、半導体集積回路設計支援プログラムは他のコンピュータより通信回線を経由し、ネットワークを介してコンピュータ本体に供給されてもよい。
コンピュータ本体は、CPU(Central Processor Unit)、ROM(Read-Only Memory)、RAM(Random Access Memory)及びハードディスクを含む。CPUは、グラフィックディスプレイ装置、キーボード、マウス、CD-ROM装置、ネットワーク、ROM、RAMまたはハードディスクとの間でデータを入出力しながら処理を行う。
CD-ROMに記録された半導体集積回路設計支援プログラムは、CPUによりCD-ROM装置を介して一旦ハードディスクに格納される。CPUはハードディスクから適宜半導体集積回路設計支援プログラムをRAMにロードして実行することにより半導体集積回路設計支援を行う。
ここで高位合成向け高位言語を説明する。一般に高位言語で記述されたコードは、高位合成ツールが高位合成できるように書き直しを行う必要がある。この書き直しは、高位合成ツールの制約で合成できない記述をコードから削除、あるいは合成可能な記述に書き換えるといった作業と、記述をアーキテクチャを考慮したコードに変更することを意味する。
半導体集積回路設計支援手段1は、図2に示すように、レイテンシ調整手段11、入力FF数取得手段12、レイテンシ再調整手段13、前段モジュール解析手段14、FF挿入最適化合成手段15を備える。
図3に本実施の形態1による半導体集積回路設計支援装置を適用するモジュール構成図を示す。
図2に示す半導体集積回路設計支援手段1を構成する各手段は必要なときにテーブル4および高位合成手段3との間でデータのやりとりを行う。
レイテンシ調整手段11が高位合成向け動作記述保管手段2から動作記述を入力として、動作記述中に定義されているそれぞれのモジュールにおいて、高位合成手段3により高位合成を行いHDL、または合成ログを得る。そしてこの合成結果から各モジュールのレイテンシを取得し、モジュール間に挿入する必要のあるFF数を算出する。レイテンシ調整手段11から出力されるデータは図4に示すようなものであり、これをテーブル4に書き込む。なお、本ステップは、従来技術と同様な処理である。
次に合成されたHDL、または合成ログから、入力FF数取得手段12により入力がFF受けになっているピンを抽出し、FF受けの段数を取得し、図5に示すデータを作成する。このデータをテーブル4に書き込む。
レイテンシ再調整手段13は、レイテンシ調整手段11で得た必要レイテンシと入力FF数取得手段12の入力FF段数から必要遅延の最適数を計算する。各ピン接続において、以下の計算式より、最適遅延を求める。
冗長FF数 = min(各最適化前遅延)
各最適遅延 = 各必要遅延 冗長FF
上記計算により図6に示すような結果を得、これをテーブル4に書き込む。なお、本ステップで最適な遅延がわかったため、適用後では図3に比べ、回路全体で図7のようにFFを削減できる。
ステップ4は、FF挿入対象となる出力ピンを持つモジュールを対象とする。本実施の形態では、モジュールBが該当する。従来の技術では、モジュールBの出力にFF挿入を行っていたが、本ステップでは、前段モジュール解析手段14が機能に影響しない複数の状態において、どこにFFを挿入したら、最もFF数が小さいかを抽出する。具体的には、動作記述から高位合成手段により高位合成された合成ログ、あるいはHDLから、モジュールB内の各状態とそれぞれの状態で保持しているFF数をリストアップする。ここで状態とは、状態遷移の意味の状態である。実際にHDL状態遷移がないパイプライン回路においてもFF間をそれぞれ状態と定義する。それぞれの状態において、状態をコピーできる箇所を選択する。状態のコピーの可否は、状態をコピーしても回路のレイテンシが延びることを除いて、正常に動作することが保障されるかに依存する。
上記において状態の抽出対象となるものは、高位合成ログまたは、動作記述コードからでもよい。抽出された状態のコピーが可能な各状態において、保持しているFF数の総和を求め、FF数が最も小さい状態を検出する。
ステップ3とステップ4で得たFF挿入箇所を元に、FF挿入最適化合成手段15が回路全体を再度高位合成し、最適化したHDLを得、RTL記憶部5に記憶する。最適となったFF構成の略図を図8に示す。
次に、本実施の形態2における半導体集積回路設計支援装置ついて説明する。本発明の実施の形態2に係る半導体集積回路設計支援装置の構成は図1と同じである。
モジュール接続関係抽出部21は、高位合成向け動作記述保管手段2から入力した動作記述に記述された集積回路の各モジュール間の接続関係を抽出し、その結果をモジュール接続リストとしてテーブル4に書き込む。このとき、モジュール接続リストには、各モジュールにおいて、入出力ピンの名前、入力ピンの場合は接続元となるモジュール名とその接続されるピン名、および、出力ピンの場合は接続先となるモジュール名とその接続されるピン名を含んだ情報を書きこむ。
前段/後段モジュール判定部22は、モジュール接続関係抽出部21が出力するモジュール接続リスト内の各モジュールについて、前段モジュールであるか、後段モジュールであるかを解析する。
仮高位合成部23は、テーブル4から、前段/後段モジュールリストを読み込み、各解析最小単位において、前段/後段モジュールリストで指定される後段モジュールおよび前段モジュールを、高位合成手段3と連携して高位合成する。そして、仮高位合成部23は、高位合成の中間結果である各モジュールの各出力ピンのレイテンシと各モジュール内の各クロック境界における信号線間の遅延情報(クリティカルパス)とを含むスケジューリング結果をテーブル4に書き込む。
レイテンシ仮調整部24は、テーブル4から、スケジューリング結果を読み込み、各解析最小単位内の前段モジュールの中で最も大きいレイテンシ値である最適化前最大レイテンシから、各前段モジュールのレイテンシの値を引いた値を最適化前挿入FF段数としてテーブル4に書き込む。
入力ラッチFF判定部25は、テーブル4から、スケジューリング結果を読み込み、各解析最小単位における後段モジュールにおいて、入力ラッチピンがどれだけあるかを算出する。ここで、入力ラッチピンとは、後段モジュールの入力ピンが論理を挟まずにFFでラッチされるピンである。入力ラッチFF判定部25は、スケジューリング結果を基に、入力ピンが論理を挟まずにクロック境界を超えている場合には、そのピンは入力ラッチピンであると判定する。
レイテンシ再調整部26は、各解析最小単位において、最適化前最大レイテンシ数を持つピンに接続される後段モジュールの入力ピンにおいて、入力ラッチFF段数の値を最適化前最大レイテンシから引く。この引いた値を最適化後最大レイテンシとする。次に最適化後最大レイテンシから前段モジュールの出力ピンの各レイテンシを引く。この数が最適化後挿入FF段数となる。
FF挿入箇所候補選定部27は、各解析最小単位の後段モジュールと前段モジュールにおいて、各解析最小単位の入出力からみて、最適化前挿入FFがモジュール間に挿入された場合と、モジュール内部の任意の箇所にFF挿入した場合とで、タイミング、機能が同じになる箇所を解析する。
FF挿入箇所判定部28は、挿入箇所候補範囲の中で、以下の3つのモードのうち、いずれかのモードを設計者が選択することで、FF挿入箇所を判定する。
(1) 回路規模削減モード:回路規模が最も小さくなる箇所に挿入
(2) クリティカルパス改善モード:クリティカルパスが最も大きい箇所に挿入
(3) 重みづけ判定モード:上記2つの重みづけ関数で判定
再高位合成部29は、ロックしたスケジューリング結果と、レイテンシ再調整部26またはFF挿入箇所判定部28が生成したスケジューリング結果を、テーブル4から読み出し、スケジューリング結果を統合する。さらに、統合したスケジューリング結果から、モジュール単位のスケジューリング結果に分割を行い、テーブル4に書き込む。そして、再高位合成部29は、最適化後のスケジューリング結果を、再度、高位合成手段3と連携することにより、高位合成(動作合成)を実施し、RTLを得る。
Claims (9)
- 回路動作を記述した動作記述から高位合成手段により高位合成されたHDLまたは合成ログから取得した各モジュールのレイテンシ値より、モジュール間に挿入が必要な必要遅延であるFF数を算出するレイテンシ調整手段と、
前記HDLまたは合成ログより、入力がFF受けのピンを抽出し、入力遅延であるFF受けの入力FF段数を取得する入力FF数取得手段と、
前記レイテンシ調整手段からの必要遅延と前記入力FF数取得手段からの入力遅延から最適遅延を求めるレイテンシ再調整手段と、
前記合成ログまたはHDLから、FF挿入対象となるピンを持つモジュールを対象にモジュール内の各状態とそれぞれの状態で保持しているFF数の総和が最小となる状態を検出する前段モジュール解析手段と、
前記レイテンシ再調整手段からの最適遅延と前記前段モジュール解析手段からのFF数の最小状態から得たFF挿入箇所を元に前記高位合成手段により全体を再度高位合成することで最適化したHDLを得るFF挿入最適化合成手段とを備えた半導体集積回路設計支援装置。 - 記憶媒体に記憶された半導体集積回路設計支援プログラムをコンピュータで実行する際に、前記コンピュータが、
回路動作を記述した動作記述から高位合成手段により高位合成されたHDLまたは合成ログから取得した各モジュールのレイテンシ値より、モジュール間に挿入が必要な必要遅延であるFF数を算出するレイテンシ調整工程と、
前記HDLまたは合成ログより、入力がFF受けのピンを抽出し、入力遅延であるFF受けの入力FF段数を取得する入力FF数取得工程と、
前記レイテンシ調整工程からの必要遅延と前記入力FF数取得工程からの入力遅延から最適遅延を求めるレイテンシ再調整工程と、
前記合成ログまたはHDLから、FFが挿入対象となるピンを持つモジュールを対象にモジュール内の各状態とそれぞれの状態で保持しているFF数の総和が最小となる状態を検出する前段モジュール解析工程と、
前記レイテンシ再調整工程からの最適遅延と前記前段モジュール解析工程からのFF数の最小状態から得たFF挿入箇所を元に全体を再度高位合成することで最適化したHDLを得るFF挿入最適化合成工程と
を実行する半導体集積回路設計支援方法。 - コンピュータを、
回路動作を記述した動作記述から高位合成手段により高位合成されたHDLまたは合成ログから取得した各モジュールのレイテンシ値より、モジュール間に挿入が必要な必要遅延であるFF数算出するレイテンシ調整手段と、
前記HDLまたは合成ログより、入力がFF受けのピンを抽出し、入力遅延であるFF受けの入力FF段数を取得する入力FF数取得手段と、
前記レイテンシ調整手段からの必要遅延と前記入力FF数取得手段からの入力遅延から最適遅延を求めるレイテンシ再調整手段と、
前記合成ログまたはHDLから、FF挿入対象となるピンを持つモジュールを対象にモジュール内の各状態とそれぞれの状態で保持しているFF数の総和が最小となる状態を検出する前段モジュール解析手段と、
前記レイテンシ再調整手段からの最適遅延と前記前段モジュール解析手段からのFF数の最小状態から得たFF挿入箇所を元に全体を再度高位合成することで最適化したHDLを得るFF挿入最適化合成手段として機能させることを特徴とする半導体集積回路設計支援プログラム。 - 高級言語により集積回路の回路動作を記述した動作記述を解析してRTLを生成する高位合成を実施する高位合成手段を備え、前記高位合成手段と連携し、前記高位合成手段が前記高位合成を行う際に中間結果として出力する前記集積回路の各モジュールの各出力ピンのレイテンシと各モジュール内の各クロック境界における信号線間の遅延情報とを含むスケジューリング結果を利用することにより、前記高位合成によって前記RTLに挿入されるFF(フリップフロップ)の挿入箇所および挿入段数を最適化する半導体集積回路設計支援装置であって、
前記動作記述の中から、レイテンシ調整対象モジュールを抽出するモジュール解析部と、
前記レイテンシ調整対象モジュール間のレイテンシを調整するために挿入されるべきFFの個数を、最適化前挿入FF段数として算出するレイテンシ仮調整部と、
前記挿入されるべきFFが入力となる後段モジュールにおいて、論理を介さずにFFによってラッチされている入力ラッチピンを抽出し、前記入力ラッチピンをラッチしている入力ラッチFFの段数を入力ラッチFF段数として算出する入力ラッチFF判定部と、
前記レイテンシ仮調整部で算出された前記最適化前挿入FF段数と、前記入力ラッチFF判定部で算出された前記入力ラッチFF段数との関係から、相殺可能な前記入力ラッチFFおよび前記挿入されるべきFFを特定し、FFの段数を削減するレイテンシ再調整部と、
前記レイテンシ再調整部により削減するとして特定されたFFを、前記スケジューリング結果から削除し、前記スケジューリング結果を最適化した上で、再度、前記高位合成手段と連携することにより、最適化された前記スケジューリング結果を基に、最適化された前記RTLを生成する再高位合成部と
をさらに備える半導体集積回路設計支援装置。 - 高級言語により集積回路の回路動作を記述した動作記述を解析してRTLを生成する高位合成を実施する高位合成手段を備え、前記高位合成手段と連携し、前記高位合成手段が前記高位合成を行う際に中間結果として出力する前記集積回路の各モジュールの各出力ピンのレイテンシと各モジュール内の各クロック境界における信号線間の遅延情報とを含むスケジューリング結果を利用することにより、前記高位合成によって前記RTLに挿入されるFF(フリップフロップ)の挿入箇所および挿入段数を最適化する半導体集積回路設計支援装置であって、
前記動作記述の中から、レイテンシ調整対象モジュールを抽出するモジュール解析部と、
前記レイテンシ調整対象モジュール間のレイテンシを調整するために挿入されるべきFFの個数を、最適化前挿入FF段数として算出するレイテンシ仮調整部と、
前記レイテンシ仮調整部において算出された前記最適化前挿入FF段数が挿入される前段および後段のレイテンシ調整対象モジュール内において、前記最適化前挿入FF段数がモジュール間に挿入された場合とタイミングおよび機能が同じになるFF挿入箇所候補を選定するFF挿入箇所候補選定部と、
前記FF挿入箇所候補選定部によって選定された前記FF挿入箇所候補から、前記集積回路全体の回路規模を縮小させることのできる挿入箇所を選択し、前記最適化前挿入FFの代わりとしてモジュール内に挿入すべきFFの挿入箇所を特定するFF挿入箇所判定部と、
前記FF挿入箇所判定部により挿入するとして特定されたFFを、前記スケジューリング結果に追加し、前記スケジューリング結果を最適化した上で、再度、前記高位合成手段と連携することにより、最適化された前記スケジューリング結果を基に、最適化された前記RTLを生成する再高位合成部と
をさらに備える半導体集積回路設計支援装置。 - 高級言語により集積回路の回路動作を記述した動作記述が記憶部に記憶されており、前記記憶部内に記憶された前記動作記述を解析してRTLを生成する高位合成処理を実施する高位合成ステップを有し、前記高位合成ステップと連携し、前記高位合成ステップが前記高位合成処理を行う際に中間結果として出力する前記集積回路の各モジュールの各出力ピンのレイテンシと各モジュール内の各クロック境界における信号線間の遅延情報とを含むスケジューリング結果を利用することにより、前記高位合成処理によって前記RTLに挿入されるFF(フリップフロップ)の挿入箇所および挿入段数を最適化する、コンピュータにより実行される半導体集積回路設計支援方法であって、
前記記憶部に記憶された前記動作記述の中から、レイテンシ調整対象モジュールを抽出するモジュール解析ステップと、
前記レイテンシ調整対象モジュール間のレイテンシを調整するために挿入されるべきFFの個数を、最適化前挿入FF段数として算出するレイテンシ仮調整ステップと、
前記挿入されるべきFFが入力となる後段モジュールにおいて、論理を介さずにFFによってラッチされている入力ラッチピンを抽出し、前記入力ラッチピンをラッチしている入力ラッチFFの段数を入力ラッチFF段数として算出する入力ラッチFF判定ステップと、
前記レイテンシ仮調整ステップで算出された前記最適化前挿入FF段数と、前記入力ラッチFF判定ステップで算出された前記入力ラッチFF段数との関係から、相殺可能な前記入力ラッチFFおよび前記挿入されるべきFFを特定し、FFの段数を削減するレイテンシ再調整ステップと、
前記レイテンシ再調整ステップにより削減するとして特定されたFFを、前記スケジューリング結果から削除し、前記スケジューリング結果を最適化した上で、再度、前記高位合成ステップと連携することにより、最適化された前記スケジューリング結果を基に、最適化された前記RTLを生成する再高位合成ステップと
をさらに有する半導体集積回路設計支援方法。 - 高級言語により集積回路の回路動作を記述した動作記述が記憶部に記憶されており、前記記憶部内に記憶された前記動作記述を解析してRTLを生成する高位合成処理を実施する高位合成ステップを有し、前記高位合成ステップと連携し、前記高位合成ステップが前記高位合成処理を行う際に中間結果として出力する前記集積回路の各モジュールの各出力ピンのレイテンシと各モジュール内の各クロック境界における信号線間の遅延情報とを含むスケジューリング結果を利用することにより、前記高位合成処理によって前記RTLに挿入されるFF(フリップフロップ)の挿入箇所および挿入段数を最適化する、コンピュータにより実行される半導体集積回路設計支援方法であって、
前記記憶部に記憶された前記動作記述の中から、レイテンシ調整対象モジュールを抽出するモジュール解析ステップと、
前記レイテンシ調整対象モジュール間のレイテンシを調整するために挿入されるべきFFの個数を、最適化前挿入FF段数として算出するレイテンシ仮調整ステップと、
前記レイテンシ仮調整ステップにおいて算出された前記最適化前挿入FF段数が挿入される前段および後段のレイテンシ調整対象モジュール内において、前記最適化前挿入FF段数がモジュール間に挿入された場合とタイミングおよび機能が同じになるFF挿入箇所候補を選定するFF挿入箇所候補選定ステップと、
前記FF挿入箇所候補選定ステップによって選定された前記FF挿入箇所候補から、前記集積回路全体の回路規模を縮小させることのできる挿入箇所を選択し、前記最適化前挿入FFの代わりとしてモジュール内に挿入すべきFFの挿入箇所を特定するFF挿入箇所判定ステップと、
前記FF挿入箇所判定ステップにより挿入するとして特定されたFFを、前記スケジューリング結果に追加し、前記スケジューリング結果を最適化した上で、再度、前記高位合成ステップと連携することにより、最適化された前記スケジューリング結果を基に、最適化された前記RTLを生成する再高位合成ステップと
をさらに有する半導体集積回路設計支援方法。 - 請求項4に記載の半導体集積回路設計支援装置において用いられる半導体集積回路設計支援プログラムであって、
コンピュータを、
前記動作記述の中から、レイテンシ調整対象モジュールを抽出するモジュール解析手段と、
前記レイテンシ調整対象モジュール間のレイテンシを調整するために挿入されるべきFFの個数を、最適化前挿入FF段数として算出するレイテンシ仮調整手段と、
前記挿入されるべきFFが入力となる後段モジュールにおいて、論理を介さずにFFによってラッチされている入力ラッチピンを抽出し、前記入力ラッチピンをラッチしている入力ラッチFFの段数を入力ラッチFF段数として算出する入力ラッチFF判定手段と、
前記レイテンシ仮調整手段で算出された前記最適化前挿入FF段数と、前記入力ラッチFF判定手段で算出された前記入力ラッチFF段数との関係から、相殺可能な前記入力ラッチFFおよび前記挿入されるべきFFを特定し、FFの段数を削減するレイテンシ再調整手段と、
前記レイテンシ再調整手段により削減するとして特定されたFFを、前記スケジューリング結果から削除し、前記スケジューリング結果を最適化した上で、再度、前記高位合成手段と連携することにより、最適化された前記スケジューリング結果を基に、最適化された前記RTLを生成する再高位合成手段と
して機能させる半導体集積回路設計支援プログラム。 - 請求項5に記載の半導体集積回路設計支援装置において用いられる半導体集積回路設計支援プログラムであって、
コンピュータを、
前記動作記述の中から、レイテンシ調整対象モジュールを抽出するモジュール解析手段と、
前記レイテンシ調整対象モジュール間のレイテンシを調整するために挿入されるべきFFの個数を、最適化前挿入FF段数として算出するレイテンシ仮調整手段と、
前記レイテンシ仮調整手段において算出された前記最適化前挿入FF段数が挿入される前段および後段のレイテンシ調整対象モジュール内において、前記最適化前挿入FF段数がモジュール間に挿入された場合とタイミングおよび機能が同じになるFF挿入箇所候補を選定するFF挿入箇所候補選定手段と、
前記FF挿入箇所候補選定手段によって選定された前記FF挿入箇所候補から、前記集積回路全体の回路規模を縮小させることのできる挿入箇所を選択し、前記最適化前挿入FFの代わりとしてモジュール内に挿入すべきFFの挿入箇所を特定するFF挿入箇所判定手段と、
前記FF挿入箇所判定手段により挿入するとして特定されたFFを、前記スケジューリング結果に追加し、前記スケジューリング結果を最適化した上で、再度、前記高位合成手段と連携することにより、最適化された前記スケジューリング結果を基に、最適化された前記RTLを生成する再高位合成手段と
して機能させる半導体集積回路設計支援プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013231732A JP6362318B2 (ja) | 2012-12-28 | 2013-11-08 | 半導体集積回路設計支援装置、方法及びプログラム |
US14/132,826 US9003352B2 (en) | 2012-12-28 | 2013-12-18 | Semiconductor integrated circuit design supporting apparatus, method, and program |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012286809 | 2012-12-28 | ||
JP2012286809 | 2012-12-28 | ||
JP2013231732A JP6362318B2 (ja) | 2012-12-28 | 2013-11-08 | 半導体集積回路設計支援装置、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014142918A JP2014142918A (ja) | 2014-08-07 |
JP6362318B2 true JP6362318B2 (ja) | 2018-07-25 |
Family
ID=51018870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013231732A Active JP6362318B2 (ja) | 2012-12-28 | 2013-11-08 | 半導体集積回路設計支援装置、方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9003352B2 (ja) |
JP (1) | JP6362318B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016122299A (ja) | 2014-12-24 | 2016-07-07 | 富士通株式会社 | ステートマシン分割プログラム、情報処理装置およびステートマシン分割方法 |
US9600614B2 (en) * | 2015-02-04 | 2017-03-21 | Xpliant | Automated flip-flop insertions in physical design without perturbation of routing |
US10303626B2 (en) * | 2015-03-31 | 2019-05-28 | Cavium, Llc. | Approach for chip-level flop insertion and verification based on logic interface definition |
US10268798B2 (en) | 2015-09-22 | 2019-04-23 | International Business Machines Corporation | Condition analysis |
WO2017119123A1 (ja) * | 2016-01-08 | 2017-07-13 | 三菱電機株式会社 | プロセッサ合成装置、プロセッサ合成方法及びプロセッサ合成プログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010165334A (ja) * | 2008-12-16 | 2010-07-29 | Ricoh Co Ltd | 高位合成装置、方法及びプログラム |
JP2011180841A (ja) * | 2010-03-01 | 2011-09-15 | Ricoh Co Ltd | 半導体設計支援装置 |
JP2014127048A (ja) * | 2012-12-26 | 2014-07-07 | Ricoh Co Ltd | 高位合成装置、及び高位合成方法 |
-
2013
- 2013-11-08 JP JP2013231732A patent/JP6362318B2/ja active Active
- 2013-12-18 US US14/132,826 patent/US9003352B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014142918A (ja) | 2014-08-07 |
US9003352B2 (en) | 2015-04-07 |
US20140189633A1 (en) | 2014-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6362318B2 (ja) | 半導体集積回路設計支援装置、方法及びプログラム | |
US7353491B2 (en) | Optimization of memory accesses in a circuit design | |
US7707530B2 (en) | Incremental timing-driven, physical-synthesis using discrete optimization | |
AU2014203218B2 (en) | Memory configuration for inter-processor communication in an MPSoC | |
US7360180B2 (en) | Computer program product, method, and system for hardware model conversion | |
JP2005512236A (ja) | タイミンググラフ縮小によるタイミングモデル抽出 | |
US8302041B1 (en) | Implementation flow for electronic circuit designs using choice networks | |
US8713506B2 (en) | System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce dynamic power in an electronic circuit and an apparatus incorporating the same | |
JP2010238054A (ja) | 半導体設計支援装置、高位合成方法及び半導体設計支援プログラム | |
US9081930B1 (en) | Throughput during high level synthesis | |
US20040210861A1 (en) | System and method for optimizing exceptions | |
US8990741B2 (en) | Circuit design support device, circuit design support method and program | |
US7941679B2 (en) | Method for computing power savings and determining the preferred clock gating circuit of an integrated circuit design | |
Doboli et al. | A VHDL-AMS compiler and architecture generator for behavioral synthesis of analog systems | |
JP5146087B2 (ja) | 消費電力見積方法、回路設計支援装置及びプログラム | |
US9330216B2 (en) | Integrated circuit design synthesis using slack diagrams | |
JP6242170B2 (ja) | 回路設計支援装置及びプログラム | |
US8701062B2 (en) | Apparatus and method for generating a netlist using non-uniquified module during logic synthesis stage | |
CN113688587B (zh) | 一种电路布图的生成方法、装置、计算机设备及存储介质 | |
JP6305644B2 (ja) | アーキテクチャ生成装置およびアーキテクチャ生成プログラム | |
Stievano et al. | Behavioural macromodels of digital IC receivers for analogue-mixed signal simulations | |
JP5849973B2 (ja) | データ処理装置、データ処理システム、データ処理方法、及びデータ処理プログラム | |
US7350162B2 (en) | Structure analytic program | |
KR102656245B1 (ko) | 출력 위상 조정을 위한 복합 로직 셀을 생성하는 방법 및 이를 생성하는 컴퓨팅 시스템 | |
JP6545406B2 (ja) | 高位合成装置、高位合成方法および高位合成プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161005 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171031 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171226 |
|
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: 20180529 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180626 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6362318 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |