JP2006285865A - レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム - Google Patents
レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム Download PDFInfo
- Publication number
- JP2006285865A JP2006285865A JP2005107817A JP2005107817A JP2006285865A JP 2006285865 A JP2006285865 A JP 2006285865A JP 2005107817 A JP2005107817 A JP 2005107817A JP 2005107817 A JP2005107817 A JP 2005107817A JP 2006285865 A JP2006285865 A JP 2006285865A
- Authority
- JP
- Japan
- Prior art keywords
- description
- correspondence
- level description
- register transfer
- transfer level
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
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)
Abstract
【課題】
RTL記述と動作記述との間の対応関係をとる作業を容易化する。
【解決手段】
動作合成装置がスケジューリング、コントロールデータフローグラフ作成、演算器やレジスタの共有をどのように行っているかを解析し、RTL記述とCDFGの対応関係を定めた対応表と、CDFGと動作記述の対応関係を定めた対応表を作成しておく。パス特定装置は、これら対応表を結合し、RTL記述と動作記述の対応関係を定めた対応表を生成する。パス特定装置は、注目するパスをRTL記述に反映した後、RTL記述に対応する動作記述を、RTL記述が有するFSMの各状態と動作記述上の条件分岐により特定可能に出力する。
【選択図】
図1
RTL記述と動作記述との間の対応関係をとる作業を容易化する。
【解決手段】
動作合成装置がスケジューリング、コントロールデータフローグラフ作成、演算器やレジスタの共有をどのように行っているかを解析し、RTL記述とCDFGの対応関係を定めた対応表と、CDFGと動作記述の対応関係を定めた対応表を作成しておく。パス特定装置は、これら対応表を結合し、RTL記述と動作記述の対応関係を定めた対応表を生成する。パス特定装置は、注目するパスをRTL記述に反映した後、RTL記述に対応する動作記述を、RTL記述が有するFSMの各状態と動作記述上の条件分岐により特定可能に出力する。
【選択図】
図1
Description
本発明は、半導体集積回路のパスに対応する上流側の記述の特定を可能とする方法、装置及びプログラムに関し、特にレジスタ転送レベル記述と動作記述間の対応関係特定方法、上記方法を実施するための装置及びプログラムに関する。
LSIの集積度は年々指数関数的に増加しているが、設計者一人一人の能力には限界があるため、設計規模の増大に設計能力が追いつかないという状況が生じる。この設計生産性の危機を打開するための有効なアプローチのひとつに、設計の抽象度を上げるという方法があり、また、そのためのEDA(electronic design Automation)ツールも各種提案されている。
例えば、ある処理を実行するハードウェアを設計する際に、対象となる処理のアルゴリズムを直接的に動作レベルで記述した「動作記述」(behavioral description)から、レジスタやクロックによる同期などハードウェアに特有の概念を意識したレジスタ転送レベル記述(Register Transfer Level Description;以下、単に「RTL記述」ともいう)を自動的に合成する「動作合成」(高位合成、機能合成ともいう)により設計の抽象度を上げることができる。
ここで、動作合成の概要について例を示して説明する。図2は、動作記述、図3は、その動作記述から合成された、演算を処理するデータパス21と状態を制御するFSM(Finite State Machine=有限状態マシン)22から構成されるRTL記述の構造である。ここで、図3に例示した演算器、レジスタ、入出力端子などをノードといい、ノードで構成される回路図の形で示したものをRTL記述と呼ぶ。また、以下、状態とは、FSMが制御する状態(State)のことを指し、また条件分岐(以下、単に条件ともいう)とはデータパスのセレクタに対応するものである。
動作合成においては、レジスタ−レジスタ間や入出力端子−レジスタ間などの遅延を決める動作周波数や、演算器やレジスタなどのハードウェア資源の種類や数などの合成制約を満たすように、動作レベルで記述された処理を幾つかの状態にわけて実行するような変換が行われている。動作記述からRTL記述への変換の手順としては、動作仕様からの論理設計において、まず動作仕様から演算列即ち制御とデータの流れを抽出し、スケジューリングを行い、コントロールデータフローグラフ(CDFGともいう;図4参照)を生成する。最後に、コントロールデータフローグラフに基づいて演算に回路素子を割り付けて論理回路を合成するという手順が踏まれる(非特許文献1参照)。
このような手順をより効率よく実現するために、特許文献1に、演算器やレジスタなどのハードウェア資源の排他性を解析し排他の関係にあるもの同士を共有する、という技術が紹介されている。図4は、図2の動作記述に対応するコントロールデータフローグラフの一例であり、図2の動作記述に対して、特定の合成制約の下でスケジューリングを行った結果、2つの状態(状態1、状態2)からなる構造になった場合を示している。図4を参照すると、乗算1と乗算2と乗算3は異なる状態・条件に属しているため、排他の関係にあり、共有することができる。また、図2の動作記述でいうと、14行目の乗算(図4の乗算3に相当)は8行目(図4の乗算1に相当)や11行目(図4の乗算2に相当)の乗算とは異なる状態(状態2)に属している。また、8行目の乗算と11行目の乗算は同じ状態(状態1)に属しているが、8行目は条件s>10(条件1)の場合に実行され、11行目は条件s>10以外の場合(条件2)に実行される、つまり異なる条件に属しているので、RTL記述ではこれらの乗算を共有して一つの乗算器で表現することができる。
以上の判定の元に生成されたRTL記述の構造が図3である。図3を参照すると、図2の動作記述の8、11、14行目にある乗算が、動作合成によって一つの乗算器(図3の左側データパス21中の乗算器1)に割り付けられている。
このようにして合成されたRTL記述は論理合成により、レジスタ−レジスタ間や入出力端子−レジスタ間などの遅延の情報を有するゲートレベルの記述(ゲートレベル論理回路:ネットリスト;以下、単に「ゲート記述」ともいう)へ変換される。この段階で、静的タイミング解析を行い、回路の遅延情報(以後、タイミングレポートと呼ぶ)を見て、ゲート記述の回路データが、遅延や面積などの合成制約を満たしているかどうかを確認するが、遅延が設計条件を満たしていない場合、もしくは、満たしているが余裕が少ない場合、回路の中で最も遅延が大きいパス(以後、クリティカルパスと呼ぶ)の遅延を小さくするという改善を行わなければならなくなるが、そのためには、元の動作記述の修正が必要になる場合がある。
その際、ゲート記述におけるパス、特にクリティカルパスが動作記述のどの部分に対応するかを特定する必要があるが、ゲート記述は、動作合成・論理合成と2段階の自動合成を経て得られた回路データであるので、元の動作記述とは大きく異なる記述である。そのため、設計者には理解しにくいものであり、動作記述におけるクリティカルパスの特定に多くの時間が掛かるという事情があった。
特許文献2は、上記視点からなされたものであり、タイミングレポートにある回路の遅延情報とゲート記述を対応付ける方法を開示している。同公報によると、まず、FPGA設計システムによって、配置配線後の回路構成とその回路に対するタイミングレポートを、設計データであるゲート記述のセル名およびネット名を使用した回路構成に変換したパス回路構成表示レポートが作成される(特許文献2の図2ステップS307)。例えば、特許文献2の図4に示すような論理ブロック座標、ネット名、遅延時間、論理ブロックのインスタンス名、論理ブロック内に含まれるセルのインスタンス名などが含まれるタイミングレポートならば、特許文献2の図5のようなセルのインスタンス名、ネット名、セル名、遅延時間、論理ブロックの配置座標、セルの入力および出力ピンなどが含まれるパス回路構成表示レポートに変換される。
特許文献2によれば、続いて、FPGA設計システムは、上記パス回路構成表示レポートに基づき、配置配線後の回路構成にゲート記述を対応させて、図形表示した画像データを作成し、入出力端末装置に表示する(同ステップS308)。このような処理により、指定されたセルまたはネットが含まれるパスの回路構成を、タイミングレポートから求められる配置配線後の回路構成にゲート記述を対応させて表示することができる。従って、タイミングレポート上のパスがゲート記述のどこに相当するのかを探索し、また把握することが可能となる。
特開平5−334466号公報
特開2002−366597号公報
The High‐Level Synthesis of Digital Systems :MICHAEL C. McFARLAND, ALICE C. PARKER, RAULCAMPOSANO : Proceeding of the IEEE, Vo1.78,N0.2 ,1990
上述のように特許文献2を用いることで、クリティカルパスとゲート記述の対応をとることが可能であるが、ゲート記述は、上述のとおり論理合成及び動作合成を経て自動生成されたものであり、更に、その記述量は動作記述に比べ数倍から数十倍になることが多い。従って、特許文献2をもってしても、設計者にとって、ゲート記述を理解した上でそれを変更する作業が必須となり、クリティカルパスを改善することは、非常に難しく、時間が掛かるという問題点がある。
そこで、ゲート記述でなく、もともと設計者によって作成された動作記述を修正し、再度、動作合成・論理合成を行う手法をとることが考えられるが、そのためにはゲート記述におけるパスが動作記述のどの部分に対応するかを解析する、つまりゲート記述と動作記述との対応関係をとる必要がある。
一般に、ゲート記述とRTL記述との間では、回路記述中の信号名などでおおよその対応関係が分かったりするものではあるが、Synplicity社のSynplifyなどの論理合成ツールには、ゲート記述とRTL記述との対応関係を解析し、表示する機能などがあり、両者の対応関係が調べやすいような環境が整っている。
しかしながら、RTL記述と動作記述との間では対応関係をとることは難しい状況にある。その要因の一つとして、上述したように、合成制約に基づく資源の共有要請等によって、RTL記述における一つの演算器やレジスタが、動作記述においては複数の演算子・変数に対応することがあり、RTL記述と動作記述との間で「一対多」の関係が生じることがあることが挙げられる。
上述したように、動作合成により生成されたRTL記述上のパスと、動作記述上のパスとの対応を取るには、動作合成がスケジューリング、コントロールデータフローグラフ作成、演算器やレジスタの共有をどのように行っているかを解析することが必要となり、この作業も人手で行うものであり、時間がかかるという問題点があったのである。
本発明の第1の視点によれば、動作記述と合成制約から有限状態マシンを有するレジスタ転送レベル記述を生成する動作合成装置と、回路設計支援装置を用いて行う、前記レジスタ転送レベル記述と動作記述間の対応関係特定方法であって、上記動作合成の際に中間情報を利用して有限状態マシンを有するRTL記述と動作記述の対応関係を定めた対応表を作成しておき、前記回路設計支援装置をして、前記した有限状態マシンの各状態と前記動作記述に含まれていた条件分岐文によって、動作記述の中から意味のある箇所を特定可能に出力させる方法が提供される。より具体的には、動作合成装置がスケジューリング、コントロールデータフローグラフ作成、演算器やレジスタの共有を行った過程で得られる情報を利用し、親(動作記述)側の記述と、子(レジスタ転送レベル記述)側の記述とRTL記述の有限状態マシンの各状態と前記動作記述に含まれていた条件分岐との対応関係を示した対応表を生成していく。次いで、前記回路設計支援コンピュータが、前記対応表を用いて、RTL記述と動作記述の対応関係を、RTL記述の有限状態マシンの各状態と前記動作記述に含まれていた条件分岐の情報によって特定可能に出力する。
また、本発明の第2の視点によれば、上記した方法を実施するための動作合成装置、回路設計支援装置が提供される。前者の動作合成装置は、レジスタ転送レベル記述の生成過程における親(動作記述)側の記述と子(レジスタ転送レベル記述)側の記述と有限状態マシンの状態と前記動作記述における条件分岐との関係を記憶保持する対応関係格納手段と、前記対応関係格納手段に記憶保持された情報を用いて、少なくとも、子(レジスタ転送レベル記述)側の記述と、前記有限状態マシンの状態と、前記条件分岐の情報と、親(動作記述)側の記述との対応関係を示した対応表を生成する対応表生成手段と、を備えて構成される。また後者の回路設計支援装置は、前記した動作合成装置から対応表を入力して、レジスタ転送レベル記述と動作記述間の対応関係を、前記レジスタ転送レベル記述が有する有限状態マシンの各状態と、前記動作記述が有する条件分岐の情報によって特定可能に出力する対応特定手段を備えて構成される。
また、上記各手段を備えた動作合成装置、又は、回路設計支援装置は、一般のパーソナルコンピュータやワークステーション等の情報処理装置に実行させるプログラムにより実現可能であり、上記した各装置を構成するコンピュータに実行させるプログラムも提供される。このプログラムは、磁気ディスク等のコンピュータ可読記録媒体に記録されて提供され、コンピュータに読み込まれることにより、そのコンピュータの動作を制御し、そのコンピュータ上に動作合成装置(システム)、回路設計支援装置(システム)における各機能手段を実現する。
本発明によれば、LSIの設計生産性が向上され、また、回路の論理検証やシミュレーションも効率化される。その理由は、上記「状態と条件の解析」に至るまでの人手によらざるを得なかった各作業を自動化し、ゲートレベルの記述から動作記述に至るまでパスを遡って特定するための手段を提供したことにある。
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1は、本実施の形態で用いられる装置と各装置で行われる処理の流れを表した図である。図1を参照すると、本実施の形態は、図中点線で表された動作合成装置と、論理合成装置と、パス反映装置(回路設計支援装置)と、を用いる構成である。以下、先に示した図2の動作記述を基にし、動作合成・論理合成して得られたゲート記述の回路に対してタイミング解析を行い、タイミング解析の結果から得たタイミングレポート上のパスから動作記述上のパスを特定する例を挙げて説明する。
図1は、本実施の形態で用いられる装置と各装置で行われる処理の流れを表した図である。図1を参照すると、本実施の形態は、図中点線で表された動作合成装置と、論理合成装置と、パス反映装置(回路設計支援装置)と、を用いる構成である。以下、先に示した図2の動作記述を基にし、動作合成・論理合成して得られたゲート記述の回路に対してタイミング解析を行い、タイミング解析の結果から得たタイミングレポート上のパスから動作記述上のパスを特定する例を挙げて説明する。
まず、動作合成装置は、図2に例示した動作記述を解析し、動作周波数、演算器やレジスタなどのハードウェア資源の種類や数などの合成制約に基づいて、演算器の実行順序を決定するスケジューリングを行い(ステップS1)、中間レベル記述(内部表現)として図4に示す2つの状態(状態1、状態2)の構造を有するCDFGへ変換する(ステップS2)。その際、動作合成装置は、CDFGのノード(演算器、レジスタ、入出力端子)を生成する度に、対応する動作記述、状態、条件、を記録する。
この結果、図5に示したようにCDFGのノード(演算器、レジスタ、入出力端子)と、動作記述の行番号、状態および条件の対応表(第1の対応表)が作成される(ステップS3)。図5の対応表において、乗算1は、状態が1であり、かつ、比較演算s>10が真である(この場合を条件1とする)場合のみ実行される演算であるということを表している。また、乗算3については、状態2でかつ、条件1または比較演算s>10が偽の場合(この場合を条件2とする)に、この演算が実行されるということを表している。
次に、動作合成装置は、一般的な動作合成の手順に従ってCDFGから、CDFGが有している状態に基づいて回路動作を制御するFSMの生成、合成制約に基づいて演算器などのハードウェア資源の共有(シェアリング)、回路素子の割り付けを行い(ステップS4)、RTL記述を作成する(ステップS5)。上記ステップS3の過程においても、動作合成装置は、RTL記述のノードとCDFGのノードとを結びつける度に、その際の状態、条件を記録する。
その結果、例えば図3に例示されるような構造のRTL記述が得られたとすると、図6に示すようなRTL記述のノードとCDFGのノードとの対応表(第2の対応表)が生成される(ステップS6)。
また、上記ステップS5にて生成されたRTL記述は、その後、論理合成装置によって、論理合成処理が行われ、ゲート記述へ変換され、タイミングレポートが出力される(ステップS7)。なお、ここでは詳細は省略するが、このタイミングレポートは、前記RTL記述を論理合成して得られたゲート記述に対して、一般的な静的タイミング解析手法を適用して得られるタイミングレポートで何ら問題ない。
この時点で得られるタイミングレポート、第1、第2の対応表のデータが、オンライン乃至記録媒体を介して、パス反映装置(回路設計支援装置)に入力されて、以降の処理が実施される。まず、パス反映装置(回路設計支援装置)は、CDFGのノードを結合キーとして、第1、第2の対応表を結合し、図7のような対応表(第3の対応表)を得る(ステップS8)。
続いて、パス反映装置(回路設計支援装置)は、静的タイミング解析を行い、タイミングレポートからゲート記述におけるパスの情報を取得し、従来技術で述べた方法やEDAツール等を用いて、RTL記述のパスを得る(ステップS9)。
図8は、上記ステップS9で生成されたRTL記述のパスの一例を表した図である。この場合、図7より、RTL記述のパスの最後に位置するレジスタ1は、RTL記述と動作記述が1対1の対応であるから、対応する動作記述の箇所(13行目)を一意に特定できる。しかしながら、RTL記述の入力端子i1は動作記述の8、11行目、乗算器1は動作記述の8、11、14行目、加算器1は動作記述の9、15行目に対応しており、入力、乗算、加算の箇所を動作記述において一意に特定することができない。
この場合以下のように「状態と条件の解析」を行い、動作記述の対応箇所を絞り込むことができるので、その概要を説明する。回路動作として意味があるパスとは、例えば、図4の例でいうと、状態1に属する入力i1からr1までのパスや、状態2に属するr1からo2までのパスなどであり、CDFGにて一つの状態に属するパスである。このことに着目すると、あるパス上の演算器などのノードは、すべて同じ状態に属していなければならない、ということが了解される。
これを本例について当てはめてみると、図7の対応表(第3の対応表)の状態欄より、入力端子i1と比較器1とレジスタ1はすべて状態1のみに属していることが分かる。よって、図8のパスの乗算器1に対しては、状態1に属するものしか意味がないということになる。したがって、状態1に属する動作記述の乗算1は、8行目の乗算1と11行目の乗算2であり、どちらかが図8のパスの乗算器1に対応していることがわかる。同様に、加算器1については動作記述の9行目の加算1が図8のパスの加算器1に対応していることがわかる。
次に、パス上のノードが属する条件に注目する。状態の場合と同様に、回路動作として意味があるパスにあるノードはすべて同じ条件に属していなければならない。これを本例について当てはめてみると、図7の対応表(第3の対応表)の状態欄より、先ほどの状態にて絞り込んだ動作記述の9行目の加算1は条件1のみに属しているので、他のノードも条件1に属していなければならない。さらに、動作記述の8行目の乗算1と11行目の乗算2に注目すると、条件1に属しているのは8行目の乗算1のみである。よって図8のパスの乗算器1に対応する動作記述は8行目の乗算1であることがわかる。
同様に、動作記述の8行目の入力i1と11行目の入力i1に注目すると、条件1に属しているのは8行目の入力i1のみである。よって図8のパスの入力端子i1に対応する動作記述の入力i1は8行目の入力i1であることがわかる。
このように、図1のステップS10において「状態と条件の解析」を行うことにより、図8のパスに対応する動作記述の箇所を図9に示したように特定することができる。また、以上の手順を自動化することで、RTL記述上のパスを動作記述上で特定することを容易化することができる。
以上の説明したように、動作合成の過程において、RTL記述のノードと動作記述及び状態・条件との対応表(第3の対応表;図7参照)を作成し、更に、回路動作として意味のあるパスは同じ状態・条件に属しているという事実を利用することで、着目しているパスにある可能性のある動作記述上の演算や変数の中から異なる状態や条件に属している演算や変数を除外できる。また、併せて、回路動作として意味があるかどうかの判定を自動化すること、RTL記述と動作記述との対応関係の解析を自動化できる。これは、設計生産性の向上に大きく貢献するものであり、また、回路の論理検証やシミュレーションにおいても有効なツールとなって、人手による手間を大幅に削減することができる。
なお、上記実施の形態では、RTL記述を論理合成して得られたゲート記述に対して静的タイミング解析を行い、そのタイミングレポート結果からRTL記述のパス(クリティカルパス)を得ているが、RTL記述上の任意のパスであっても何ら問題なく、動作記述との対応関係をとることができる。
[第2の実施の形態]
また、RTL記述のノードではなく、RTL記述のノードへの入力又は出力と動作記述との対応表を作成することによっても、RTL記述と動作記述との対応関係をとることができる。以下、上記した実施の形態同様、RTL記述と動作記述の対応を取る第2の実施の形態について図2の動作記述から図4のCDFGを経て図3のような構造のRTL記述が得られたものとしてその手順を説明する。
また、RTL記述のノードではなく、RTL記述のノードへの入力又は出力と動作記述との対応表を作成することによっても、RTL記述と動作記述との対応関係をとることができる。以下、上記した実施の形態同様、RTL記述と動作記述の対応を取る第2の実施の形態について図2の動作記述から図4のCDFGを経て図3のような構造のRTL記述が得られたものとしてその手順を説明する。
まず、上記した実施の形態同様、動作合成装置が図1のステップS3、S6にて、動作合成時に対応表(第1、第2の対応表)を生成するが、その際、動作合成装置は、RTL記述やCDFGのノードではなく、各ノードの入力又は出力に着目し、図10、図11に例示するノードの入力又は出力との対応表を作成する。
続いて、上記した実施の形態同様、パス反映装置は、CDFGのノード入力又は出力を結合キーとして、前記第1、第2の対応表を結合し、図12のような対応表(第3の対応表)を得る。
続いて、パス反映装置(回路設計支援装置)は、上記した実施の形態同様、静的タイミング解析を行い、タイミングレポートからゲート記述におけるパスの情報を取得し、従来技術で述べた方法やEDAツール等を用いて、RTL記述のパスを得るが、図8のパスをRTL記述のノードの入力又は出力で表すと図13のようになる。
図13のパスについて状態・条件の解析を行うと、上記した実施の形態と同じ結果が得られ、動作記述の8、9、13行目に対応していることを判別することができる。このように、RTL記述のノードへの入力又は出力の対応表を用いる方法によっても、RTL記述上のパスを動作記述上で特定することができる。
以上、本発明の各実施の形態を説明したが、その原理からも明らかなとおり、本発明の技術的範囲は、上述した実施の形態に限定されるものではなく、動作合成の過程で生成された情報を利用してRTL記述に対応する動作記述の箇所を特定可能とするという本発明の要旨を逸脱しない範囲で、各種の変形・置換をなしうることが可能であることはいうまでもない。もちろん、上記した説明及び各図に示した動作記述、RTL記述、CDFGは、あくまで本発明の理解を助けるために用いたものであることはいうまでもない。
21 データパス
22 FSM(Finite State Machine)
22 FSM(Finite State Machine)
Claims (19)
- 少なくとも1つの条件分岐文を含む動作記述と合成制約とを入力し、
前記動作記述と前記合成制約から有限状態マシンを有するレジスタ転送レベル記述を生成する動作合成装置において、
前記レジスタ転送レベル記述の生成過程における親(動作記述)側の記述と子(レジスタ転送レベル記述)側の記述と有限状態マシンの状態と前記動作記述における条件分岐との関係を記憶保持する対応関係格納手段と、
前記対応関係格納手段に記憶保持された情報を用いて、少なくとも、子(レジスタ転送レベル記述)側の記述と、前記有限状態マシンの状態と、前記条件分岐の情報と、親(動作記述)側の記述との対応関係を示した対応表を生成する対応表生成手段と、を備えたこと、
を特徴とする動作合成装置。 - 前記対応表生成手段は、前記動作合成装置が動作記述から中間レベル記述を生成する際に前記対応関係格納手段に記憶保持された情報を用いて、少なくとも中間レベル記述のノードと、動作記述の対応部分とを対応付ける第1の対応表を生成し、
更に、前記動作合成装置が中間レベル記述と合成制約から有限状態マシンを有するレジスタ転送レベル記述を生成する際に前記対応関係格納手段に記憶保持された情報を用いて、少なくともレジスタ転送レベル記述のノードと、前記中間レベル記述のノードとを、前記中間レベル記述が有する有限状態マシンの状態と条件分岐の情報によって対応付ける第2の対応表を生成すること、
を特徴とする請求項1に記載の動作合成装置。 - 前記対応表生成手段は、前記動作合成装置が動作記述から中間レベル記述を生成する際に前記対応関係格納手段に記憶保持された情報を用いて、少なくとも中間レベル記述のノードからの入出力信号と、動作記述の対応部分とを対応付ける第1の対応表を生成し、
更に、前記動作合成装置が中間レベル記述と合成制約から有限状態マシンを有するレジスタ転送レベル記述を生成する際に前記対応関係格納手段に記憶保持された情報を用いて、少なくともレジスタ転送レベル記述のノードからの入出力信号と、前記中間レベル記述のノードからの入出力信号とを、前記中間レベル記述が有する有限状態マシンの状態と条件分岐の情報によって対応付ける第2の対応表を生成すること、
を特徴とする請求項1に記載の動作合成装置。 - 請求項1に記載の動作合成装置によって生成された対応表を入力して、レジスタ転送レベル記述と動作記述間の対応関係を、前記レジスタ転送レベル記述が有する有限状態マシンの状態と、前記動作記述における条件分岐の情報によって特定可能に出力する対応特定手段を備えたこと、
を特徴とする回路設計支援装置。 - 請求項2又は3に記載の動作合成装置によって生成された第1、第2の対応表を合成して第3の対応表を生成する手段と、
前記第3の対応表を用いて、レジスタ転送レベル記述と動作記述間の対応関係を、前記レジスタ転送レベル記述が有する有限状態マシンの状態と、前記動作記述における条件分岐の情報によって特定可能に出力する対応特定手段を備えたこと、
を特徴とする回路設計支援装置。 - 少なくとも1つの条件分岐文を含む動作記述と、
前記動作記述を動作合成して生成された有限状態マシンを有するレジスタ転送レベル記述と、
前記レジスタ転送レベル記述と前記有限状態マシンの状態と前記条件分岐の情報と前記動作記述との対応関係を示した対応表と、を入力して、
前記レジスタ転送レベル記述と前記動作記述間の対応関係を、前記レジスタ転送レベル記述が有する有限状態マシンの状態と、前記動作記述における条件分岐の情報によって特定可能に出力する対応特定手段を備えたこと、
を特徴とする回路設計支援装置。 - 前記対応特定手段は、
前記レジスタ転送レベル記述によるパス情報を入力し、
前記パス情報によって特定されるパス全体が、同一の有限状態マシンの状態、かつ、同一の条件分岐に属する動作記述のソース行を抽出し、
該抽出した動作記述のソース行を出力すること、
を特徴とする請求項4乃至6いずれか一に記載の回路設計支援装置。 - 少なくとも1つの条件分岐文を含む動作記述と合成制約とを入力し、前記動作記述と前記合成制約から有限状態マシンを有するレジスタ転送レベル記述を生成する動作合成装置を構成するコンピュータに実行させるプログラムであって、
前記レジスタ転送レベル記述の生成過程における親(動作記述)側の記述と子(レジスタ転送レベル記述)側の記述と有限状態マシンの状態と前記動作記述における条件分岐との関係を記憶保持する処理と、
前記対応関係格納手段に記憶保持された情報を用いて、少なくとも、子(レジスタ転送レベル記述)側の記述と、前記有限状態マシンの状態と、前記条件分岐の情報と、親(動作記述)側の記述との対応関係を示した対応表を生成する処理と、
を前記コンピュータに実行させるプログラム。 - 前記対応関係格納手段に記憶保持された情報を用いて、少なくとも、子(レジスタ転送レベル記述)側の記述と、前記有限状態マシンの状態と、前記条件分岐の情報と、親(動作記述)側の記述との対応関係を示した対応表を生成する処理として、
前記動作記述から中間レベル記述を生成する際に前記対応関係格納手段に記憶保持された情報を用いて、少なくとも中間レベル記述のノードと、動作記述の対応部分とを対応付ける第1の対応表を生成する処理と、
前記中間レベル記述と合成制約から有限状態マシンを有するレジスタ転送レベル記述を生成する際に前記対応関係格納手段に記憶保持された情報を用いて、少なくともレジスタ転送レベル記述のノードと、前記中間レベル記述のノードとを、前記中間レベル記述が有する有限状態マシンの状態と条件分岐の情報によって対応付ける第2の対応表を生成する処理と、
を前記コンピュータに実行させる請求項8に記載のプログラム。 - 前記対応関係格納手段に記憶保持された情報を用いて、少なくとも、子(レジスタ転送レベル記述)側の記述と、前記有限状態マシンの状態と、前記条件分岐の情報と、親(動作記述)側の記述との対応関係を示した対応表を生成する処理として、
前記動作記述から中間レベル記述を生成する際に前記対応関係格納手段に記憶保持された情報を用いて、少なくとも中間レベル記述のノードからの入出力信号と、動作記述の対応部分とを対応付ける第1の対応表を生成する処理と、
前記中間レベル記述と合成制約から有限状態マシンを有するレジスタ転送レベル記述を生成する際に前記対応関係格納手段に記憶保持された情報を用いて、少なくともレジスタ転送レベル記述のノードからの入出力信号と、前記中間レベル記述のノードからの入出力信号とを、前記中間レベル記述が有する有限状態マシンの状態と条件分岐の情報によって対応付ける第2の対応表を生成する処理と、
を前記コンピュータに実行させる請求項8に記載のプログラム。 - 少なくとも1つの条件分岐文を有する動作記述と合成制約とを入力し、
前記動作記述と前記合成制約から有限状態マシンを有するレジスタ転送レベル記述を生成するためのプログラムであって、
動作記述と合成制約に基づいて前記有限状態マシンの状態と前記動作記述における条件分岐を有する中間レベル記述を生成するとともに、少なくとも前記中間レベル記述のノードと前記動作記述の対応部分とを対応付ける第1の対応表を生成し、それぞれ中間レベル記述格納手段、第1の対応表格納手段に格納する中間レベル記述変換処理と、
前記中間レベル記述格納手段に格納されている中間レベル記述と前記合成制約に基づいて有限状態マシンを有するレジスタ転送レベル記述を生成するとともに、少なくとも前記レジスタ転送レベル記述のノードと前記中間レベル記述のノードとを、前記中間レベル記述が有する前記有限状態マシンの状態と前記条件分岐の情報によって対応付ける第2の対応表を生成し、それぞれ、レジスタ転送レベル記述格納手段、第2の対応表格納手段に格納するRTL生成処理と、
をコンピュータに実行させるプログラム。 - 請求項1に記載の動作合成装置によって生成された対応表を入力して、レジスタ転送レベル記述と動作記述間の対応関係を、前記レジスタ転送レベル記述が有する有限状態マシンの状態と、前記動作記述が有する条件分岐の情報によって特定可能に出力する処理、
を回路設計支援装置を構成するコンピュータに実行させるプログラム。 - 請求項2又は3に記載の動作合成装置によって生成された第1、第2の対応表を合成して第3の対応表を生成し、記憶保持する処理と、
前記第3の対応表を用いて、レジスタ転送レベル記述と動作記述間の対応関係を前記レジスタ転送レベル記述が有する有限状態マシンの状態と、前記動作記述が有する条件分岐の情報によって特定可能に出力する処理と、
を回路設計支援装置を構成するコンピュータに実行させるプログラム。 - 少なくとも1つの条件分岐文を含む動作記述と、前記動作記述を動作合成して生成された有限状態マシンを有するレジスタ転送レベル記述と、前記レジスタ転送レベル記述と前記有限状態マシンの状態と前記条件分岐の情報と前記動作記述との対応関係を示した対応表と、を入力し記憶保持する処理と、
前記レジスタ転送レベル記述と前記動作記述間の対応関係を、前記レジスタ転送レベル記述が有する有限状態マシンの状態と、前記動作記述における条件分岐の情報によって特定可能に出力する処理と、
を回路設計支援装置を構成するコンピュータに実行させるプログラム。 - 前記レジスタ転送レベル記述によるパス情報を入力する処理と、
前記パス情報によって特定されるパス全体が、同一の有限状態マシンの状態、かつ、同一の条件分岐に属する動作記述のソース行を抽出する処理と、
該抽出した動作記述のソース行を出力する処理と、
を回路設計支援装置を構成するコンピュータに実行させる請求項12乃至14いずれか一に記載のプログラム。 - 1つの条件分岐文を含む動作記述と合成制約から有限状態マシンを有するレジスタ転送レベル記述を生成する動作合成装置と、回路設計支援装置を用いて行う、前記レジスタ転送レベル記述と動作記述間の対応関係特定方法であって、
前記動作合成装置が前記レジスタ転送レベル記述の生成過程における親(動作記述)側の記述と子(レジスタ転送レベル記述)側の記述と有限状態マシンの状態と前記動作記述における条件分岐との関係を対応関係格納手段に記憶保持する工程と、
前記動作合成装置が前記対応関係格納手段に記憶保持された情報を用いて、少なくとも、子(レジスタ転送レベル記述)側の記述と、前記有限状態マシンの状態と、前記条件分岐の情報と、親(動作記述)側の記述との対応関係を示した対応表を生成する工程と、
前記回路設計支援装置が、前記対応表を用いて、レジスタ転送レベル記述と動作記述の対応関係を、前記有限状態マシンの状態と前記条件分岐の情報によって特定可能に出力する工程と、を含むこと、
を特徴とするレジスタ転送レベル記述と動作記述間の対応関係特定方法。 - 前記動作合成装置は、動作記述から中間レベル記述を生成する際に前記対応関係格納手段に記憶保持された情報を用いて、少なくとも中間レベル記述のノードと動作記述の対応部分とを対応付ける第1の対応表を生成し、
前記動作合成装置は、更に、前記動作合成装置が中間レベル記述と合成制約から有限状態マシンを有するレジスタ転送レベル記述を生成する際に前記対応関係格納手段に記憶保持された情報を用いて、少なくともレジスタ転送レベル記述のノードと、前記中間レベル記述のノードとを、前記中間レベル記述が有する有限状態マシンの状態と条件分岐の情報によって対応付ける第2の対応表を生成し、
前記回路設計支援装置が、第1、第2の対応表を合成して第3の対応表を生成し、該第3の対応表を用いて、前記レジスタ転送レベル記述と動作記述間の対応関係を、前記有限状態マシンの状態と前記条件分岐の情報によって特定可能に出力すること、
を特徴とする請求項16に記載のレジスタ転送レベル記述と動作記述間の対応関係特定方法。 - 前記動作合成装置は、動作記述から中間レベル記述を生成する際に前記対応関係格納手段に記憶保持された情報を用いて、少なくとも中間レベル記述のノードからの入出力信号と、動作記述の対応部分とを対応付ける第1の対応表を生成し、
前記動作合成装置は、更に、前記動作合成装置が中間レベル記述と合成制約から有限状態マシンを有するレジスタ転送レベル記述を生成する際に前記対応関係格納手段に記憶保持された情報を用いて、少なくともレジスタ転送レベル記述のノードからの入出力信号と、前記中間レベル記述のノードからの入出力信号とを、前記中間レベル記述が有する有限状態マシンの状態と条件分岐の情報によって対応付ける第2の対応表を生成し、
前記回路設計支援装置が、第1、第2の対応表を合成して第3の対応表を生成し、該第3の対応表を用いて、前記レジスタ転送レベル記述と動作記述間の対応関係を、前記有限状態マシンの状態と前記条件分岐の情報によって特定可能に出力すること、
を特徴とする請求項16に記載のレジスタ転送レベル記述と動作記述間の対応関係特定方法。 - 前記回路設計支援装置が、前記レジスタ転送レベル記述によるパス情報を入力する工程と、
前記回路設計支援装置が、前記第3の対応表から、前記パス情報によって特定されるパス全体が、同一の有限状態マシンの状態、かつ、同一の条件分岐に属する動作記述のソース行を抽出する工程と、
前記回路設計支援装置が、該抽出した動作記述のソース行を出力する工程と、を含むこと、
を特徴とする請求項17又は18に記載のレジスタ転送レベル記述と動作記述間の対応関係特定方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005107817A JP2006285865A (ja) | 2005-04-04 | 2005-04-04 | レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム |
US11/395,210 US20060225022A1 (en) | 2005-04-04 | 2006-04-03 | Method, apparatus and program for determining the relationship of correspondence between register transfer level description and behavioral description |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005107817A JP2006285865A (ja) | 2005-04-04 | 2005-04-04 | レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006285865A true JP2006285865A (ja) | 2006-10-19 |
Family
ID=37072117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005107817A Withdrawn JP2006285865A (ja) | 2005-04-04 | 2005-04-04 | レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060225022A1 (ja) |
JP (1) | JP2006285865A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008204111A (ja) * | 2007-02-19 | 2008-09-04 | Ricoh Co Ltd | 半導体集積回路の設計支援装置、その設計支援方法、その製造方法、プログラム、及び記録媒体 |
JP2009211606A (ja) * | 2008-03-06 | 2009-09-17 | Nec Corp | 回路設計支援システム、回路設計支援システムの表示方法、及びプログラム |
JP2010055293A (ja) * | 2008-08-27 | 2010-03-11 | Fujitsu Ltd | 検証支援プログラム、検証支援装置、および検証支援方法 |
JP2011159201A (ja) * | 2010-02-03 | 2011-08-18 | Nec Corp | 動作合成装置、動作合成方法及びプログラム |
US8117572B2 (en) | 2008-03-13 | 2012-02-14 | Nec Corporation | Data processing device, behavioral synthesis device, data processing method, and recording medium |
US8127259B2 (en) | 2008-03-06 | 2012-02-28 | Nec Corporation | Synthesis constraint creating device, behavioral synthesis device, synthesis constraint creating method and recording medium |
JP2012159977A (ja) * | 2011-01-31 | 2012-08-23 | Renesas Electronics Corp | 動作合成装置、動作合成方法及び動作合成プログラム |
JP2014174940A (ja) * | 2013-03-13 | 2014-09-22 | Renesas Electronics Corp | 動作合成装置及び動作合成プログラム |
US10192014B2 (en) | 2015-08-27 | 2019-01-29 | Mitsubishi Electric Corporation | Circuit design support apparatus and computer readable medium |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007034584A (ja) * | 2005-07-26 | 2007-02-08 | Toshiba Corp | 高位合成装置、自動高位合成方法、高位合成プログラム及びゲートネットリスト自動検証方法 |
EP1764715B1 (de) * | 2005-09-15 | 2010-11-17 | Onespin Solutions GmbH | Verfahren zur Bestimmung der Güte einer Menge von Eigenschaften, verwendbar zur Verifikation and zur Spezifikation von Schaltungen |
JP4706855B2 (ja) * | 2006-03-31 | 2011-06-22 | 日本電気株式会社 | 動作合成装置及び回路設計支援方法 |
JP5023652B2 (ja) * | 2006-10-17 | 2012-09-12 | 日本電気株式会社 | 回路生成システム、回路生成方法及び回路生成プログラム |
JP4945360B2 (ja) * | 2007-07-27 | 2012-06-06 | 株式会社日立製作所 | 設計装置、設計方法及びプログラム |
JP5233354B2 (ja) * | 2008-03-25 | 2013-07-10 | 日本電気株式会社 | プロパティ検証システム、プロパティ検証方法、及びプログラム |
JP2010033540A (ja) * | 2008-06-25 | 2010-02-12 | Toshiba Corp | レジスタ転送レベル構造の変更量見積もり装置及び方法 |
US20130046912A1 (en) * | 2011-08-18 | 2013-02-21 | Maxeler Technologies, Ltd. | Methods of monitoring operation of programmable logic |
CN103885819B (zh) * | 2012-12-21 | 2017-11-17 | 中国科学院微电子研究所 | 一种针对fpga面积优化的优先级资源共享方法 |
CN104809302B (zh) * | 2015-05-07 | 2018-04-13 | 上海安路信息科技有限公司 | Rtl电路综合中的资源共享方法及其系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3173729B2 (ja) * | 1999-03-04 | 2001-06-04 | 日本電気株式会社 | 論理シミュレーション方法及びそのシステム |
JP2006139729A (ja) * | 2004-11-15 | 2006-06-01 | Sharp Corp | ハードウェア検証用プログラミング言語モデル生成装置、ハードウェア検証用プログラミング言語モデル生成方法、コンピュータシステム、ハードウェアシミュレーション方法、制御プログラムおよび可読記憶媒体 |
-
2005
- 2005-04-04 JP JP2005107817A patent/JP2006285865A/ja not_active Withdrawn
-
2006
- 2006-04-03 US US11/395,210 patent/US20060225022A1/en not_active Abandoned
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008204111A (ja) * | 2007-02-19 | 2008-09-04 | Ricoh Co Ltd | 半導体集積回路の設計支援装置、その設計支援方法、その製造方法、プログラム、及び記録媒体 |
US7971167B2 (en) | 2007-02-19 | 2011-06-28 | Ricoh Company, Ltd. | Semiconductor design support device, semiconductor design support method, and manufacturing method for semiconductor integrated circuit |
JP2009211606A (ja) * | 2008-03-06 | 2009-09-17 | Nec Corp | 回路設計支援システム、回路設計支援システムの表示方法、及びプログラム |
US8127259B2 (en) | 2008-03-06 | 2012-02-28 | Nec Corporation | Synthesis constraint creating device, behavioral synthesis device, synthesis constraint creating method and recording medium |
US8117572B2 (en) | 2008-03-13 | 2012-02-14 | Nec Corporation | Data processing device, behavioral synthesis device, data processing method, and recording medium |
JP2010055293A (ja) * | 2008-08-27 | 2010-03-11 | Fujitsu Ltd | 検証支援プログラム、検証支援装置、および検証支援方法 |
JP2011159201A (ja) * | 2010-02-03 | 2011-08-18 | Nec Corp | 動作合成装置、動作合成方法及びプログラム |
JP2012159977A (ja) * | 2011-01-31 | 2012-08-23 | Renesas Electronics Corp | 動作合成装置、動作合成方法及び動作合成プログラム |
JP2014174940A (ja) * | 2013-03-13 | 2014-09-22 | Renesas Electronics Corp | 動作合成装置及び動作合成プログラム |
US10192014B2 (en) | 2015-08-27 | 2019-01-29 | Mitsubishi Electric Corporation | Circuit design support apparatus and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
US20060225022A1 (en) | 2006-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006285865A (ja) | レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム | |
US9064068B1 (en) | Debuggable opaque IP | |
US8146040B1 (en) | Method of evaluating an architecture for an integrated circuit device | |
JP4492803B2 (ja) | 動作合成装置及びプログラム | |
US7124070B2 (en) | Method of and apparatus for, and program for verifying equivalence between behavioral description and register transfer level description | |
US8117577B1 (en) | Determining timing paths within a circuit block of a programmable integrated circuit | |
JP2010238054A (ja) | 半導体設計支援装置、高位合成方法及び半導体設計支援プログラム | |
JP2000207440A (ja) | 半導体集積回路の設計検証装置、方法及び記憶媒体 | |
Guo et al. | Pillars: An integrated CGRA design framework | |
US10846449B1 (en) | Conversion of block model-based circuit designs into circuit implementations | |
Tatsuoka et al. | Physically aware high level synthesis design flow | |
JP2008299464A (ja) | 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置 | |
US8959467B2 (en) | Structural rule analysis with TCL scripts in synthesis or STA tools and integrated circuit design tools | |
JPWO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
JP2006268165A (ja) | 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体 | |
US10430540B1 (en) | Processing a block diagram circuit design into an efficient high-level language representation | |
US20070250803A1 (en) | High-level synthesis method and high-level synthesis system | |
TWI409659B (zh) | Circuit design methods, circuit design systems and recording media | |
Nasartschuk et al. | Visualization support for FPGA architecture exploration | |
JP2008250636A (ja) | 論理設計支援システム及びプログラム | |
Robertson et al. | Timing verification of dynamically reconfigurable logic for the Xilinx Virtex FPGA series | |
JP3171182B2 (ja) | 機能合成方法,機能合成装置およびその記録媒体 | |
JP5262678B2 (ja) | 動作合成システム、動作合成方法、及び動作合成用プログラム | |
US20240046018A1 (en) | Logic circuit design method and logic circuit designing apparatus | |
JP2011108164A (ja) | 動作合成システム及び動作合成方法並びに動作合成プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080701 |