JP3171182B2 - 機能合成方法,機能合成装置およびその記録媒体 - Google Patents
機能合成方法,機能合成装置およびその記録媒体Info
- Publication number
- JP3171182B2 JP3171182B2 JP04544799A JP4544799A JP3171182B2 JP 3171182 B2 JP3171182 B2 JP 3171182B2 JP 04544799 A JP04544799 A JP 04544799A JP 4544799 A JP4544799 A JP 4544799A JP 3171182 B2 JP3171182 B2 JP 3171182B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- logic circuit
- state
- function
- generating
- 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
Links
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)
Description
ム言語(例えば、C言語)で記述されたプログラムを、
該プログラムが示す動作を有する論理回路に変換する機
能合成方法に関する。また、この発明は、上記機能合成
方法を実行する機能合成装置に関する。更に、この発明
は、上記機能合成方法のプログラムを記録した記録媒体
に関する。
グラム言語(例えば、C言語)で記述されたプログラム
を、該プログラムが示す動作を有する論理回路に変換す
ること(以下、「機能合成」と称する)が、一般的によ
く行われる。なお、変換後の論理回路を示すデータは、
「RT(レジスタ・トランスファー)レベルデータ」ま
たはゲートレベルデータである。RTレベルデータは、
ハードウェア記述言語で書かれた論理回路を示すデータ
であり、ゲートレベルデータは、トランジスタゲートの
組み合わせからなるデータである。
電子回路データ(マスクデータ)生成システムの構成例
を示すブロック図である。なお、この図に示す電子回路
データ生成システムは、具体的には、CPU(中央処理
装置)およびその周辺回路・周辺装置からなるコンピュ
ータ装置である。該コンピュータ装置は、内蔵の半導体
メモリ(ROM,RAM等)や外部記憶媒体(ハードデ
ィスク,光磁気ディスク等)に記録された制御プログラ
ムに基づいて、以下に示す動作を実行する。
は、所望の電子回路(または、該電子回路の一部)の動
作を示すCプログラムを格納する。機能合成部102
は、Cプログラム格納部1に格納されたCプログラム
を、RTレベルデータに変換する(即ち、機能合成を行
う)。最適化部3は、機能合成部102で生成されたR
Tレベルデータを最適化する。なお、上記最適化は、演
算器共有による最適化であり、後に詳述する。
で最適化されたRTレベルデータを格納する。論理合成
部5は、RTレベルデータ格納部4に格納されたRTレ
ベルデータを、Gateレベルデータ格納部6は、論理
合成部5で生成されたGateレベルデータを格納す
る。
格納部6に格納されたGateレベルデータを、(該G
ateレベルデータが示すトランジスタゲートの組み合
わせを生成するのに必要な)マスクデータに変換する。
マスクデータ格納部8は、レイアウト部7で生成された
マスクデータを格納する。以上の処理によってマスクデ
ータが生成されると、所定の製造工程(図示略)は該マ
スクデータを使用して、所望の電子回路を製造する。
合成部(即ち、図21の機能合成部102)の構成・動
作について説明する。図22は、機能合成部102の構
成例を示すブロック図である。また、図23は、機能合
成部102の動作例を示すフローチャートである。
は、スケジューリング部1021とFSM生成部102
2とデータパス生成部1023と結合部1024とスケ
ジューリング結果格納部1025とから構成される。
所定の操作盤(図示略)を使用して、機能合成部102
に対し、機能合成の実行命令を与えると、機能合成部1
02の処理は、図23のステップS101に進む。
部1021が、Cプログラム格納部1からCプログラム
を読み出す。ここでは、一例(以下、「従来実施例」と
称する)として、図4に示すCプログラムが読み出され
たとする。
み出されたCプログラムにおいて、出力文を無視し、演
算文のみに基づいてデータフローグラフを生成する。こ
こで、「出力文」とは、プリント文などのように(演算
ではなく)データの印字を目的とするプログラム文を指
す。従来実施例の場合、スケジューリング部1021
は、図4に示すCプログラムに基づいて、図5に示すデ
ータフローグラフを生成する。その後、機能合成部10
2の処理は、図23のステップS102に進む。
部1021が、所定の動作クロックを使用して、データ
フローグラフを、該動作クロックの各クロックにおいて
実行される演算に分割する。従来実施例の場合、スケジ
ューリング部1021は、図5に示すデータフローグラ
フを、図6に示すように分割する。
クにおいて実行される演算の数)は、オペレータによっ
て予め設定された(電子回路設計に関する)各種パラメ
ータに依存する。即ち、高速の電子回路を生成するよう
に上記パラメータが設定されている場合には、1クロッ
クでできるだけ多くの演算が実行されるように、データ
フローグラフが分割される。一方、電子回路の規模を小
さく押さえるように上記パラメータが設定されている場
合には、1つのゲートができるだけ多くの演算で再利用
可能となるように(即ち、同一種類の演算ができるだけ
別々のクロックで実行されるように)、データフローグ
ラフが分割される。
クロックに(各クロック固有の識別名である)状態名を
割り当てる。従来実施例の場合、図6に示すように、状
態名ST01,ST02,ST03が割り当てられる。
以下、該状態名割り当て後のデータフローグラフを「状
態割り当てされたデータフローグラフ」と称する。そし
て、スケジューリング部1021は、状態割り当てされ
たデータフローグラフを、スケジューリング結果格納部
1025に格納する。その後、機能合成部102の処理
は、図23のステップS104に進む。
22が、スケジューリング結果格納部1025に格納さ
れたスケジューリング結果(即ち、状態割り当されたデ
ータフローグラフ)に基づいて、FSM(finite state
machine:有限状態マシン)を生成する。従来実施例の
場合、FSM生成部1022は、図6に示すデータフロ
ーグラフに基づいて、図8に示すFSMを生成する。な
お、この図に示すように、FSMの各状態(ST01,
ST02,ST03)から引き出された線を、ここで
は、「制御信号線」と称する。その後、機能合成部10
2の処理は、図23のステップS106に進む。
1023が、スケジューリング結果格納部1025に格
納されたスケジューリング結果(即ち、状態割り当され
たデータフローグラフ)に基づいて、データパスを生成
する。また、データパス生成部1023は、状態割り当
てされたデータフローグラフに基づいて、複数の状態に
渡って値を保持すべき変数を検出し、検出された変数に
対応する(データパス内の)信号線にフリップフロップ
を付加する。
信号(制御信号)は、該フリップフロップに対応する変
数の値を使用して演算を行う状態の1つ手前の状態に対
応した信号が与えられる。従来実施例の場合、データパ
ス生成部1023は、図6に示すデータフローグラフに
基づいて、図10に示すデータパスを生成する。
態ST02の加算で使用するので、図10において、変
数a,bに対応するフリップフロップへは、状態ST0
1に対応した制御信号が与えられる。また、変数c,d
の値は、状態ST03の加算で使用するので、変数c,
dに対応するフリップフロップへは、状態ST02に対
応した制御信号が与えられる。また、変数xの値は、状
態ST03の乗算で使用するので、変数xに対応するフ
リップフロップへは、状態ST02に対応した制御信号
が与えられる。また、変数yの値は、複数の状態に渡っ
て保持する必要はないので、変数yに対応するフリップ
フロップは付加されない。なお、変数zの値は、出力さ
れるのみで演算では使用しないように見えるが、出力し
た先で更に別の回路がつながっている(演算に使われ
る)と考えると、状態ST01で外部回路で使用するの
で(図8に示すように、状態ST03の次は状態ST0
1であることに注意されたい)、変数zに対応するフリ
ップフロップへは、状態ST03に対応した制御信号が
与えられる。その後、機能合成部102の処理は、図2
3のステップS107に進む。
1023が、Cプログラムにおいて出力文で印字指定さ
れている変数(以下、「観測変数」と称する)を、該C
プログラムから検出する。本従来実施例の場合、Cプロ
グラム内に出力文 printf(“x=%d¥n”,x); および printf(“y=%d¥n”,y); が存在するので、データパス生成部1023は、xとy
とを観測変数として検出する。
記観測変数に対応する信号線を、データパスから検出
し、検出された信号線に(RTレベル記述の)出力端子
を付加する。従来実施例の場合、観測変数はx,yであ
るので、データパス生成部1023は、図11に示すよ
うに、観測変数x,yに対応する信号線に(RTレベル
記述の)出力端子を付加する。その後、機能合成部10
2の処理は、図23のステップS108に進む。
が、(FSM生成部1022が生成した)FSMと(デ
ータパス生成部1023が生成した)データパスとを結
合し、RTレベルデータを生成する。具体的には、結合
部1024は、各状態に対応する(FSM内の)制御信
号線を、該状態に対応する(データパス内の)フリップ
フロップのクロック端子に接続する。従来実施例では、
結合部1024は、図8に示すFSMと図11に示すデ
ータパスとを結合し、図24に示すRTレベルデータを
生成する。以上が、機能合成部102の構成・動作であ
る。
タの)最適化について説明する。最適化とは、ここで
は、対象としている論理回路と等価な機能を回路規模が
より小さい(例えば、演算器またはレジスタの数がより
少ない)回路で実現することを意味する。図25は、最
適化部3が行う最適化処理の一例を示すフローチャート
である。ここでは、一例として、図15に示すRTレベ
ルデータを最適化する場合を考える。なお、図15に示
すRTレベルデータは、x=a+b+cを機能合成した
ものである。
て、2つの演算器を選択する。図15の例では、加算器
op1,op2を選択する。ステップS112では、選
択された2つの演算器の入力に接続されたフリップフロ
ップ(以下、「入力側FF」と称する)の制御信号を調
べ、該2つの制御信号のON期間が重なっていたら、ス
テップS111に戻り、別の演算器を選択する。一方、
2つの制御信号のON期間が重なっていなければ、ステ
ップ113に進む。図15の例では、制御信号ST0
1,ST02は同時にONになることはないので、ステ
ップS113に進む。
力側FFと共にデータパス部から切り離す。また、デー
タパス部において、切り離した箇所にラベル(信号名)
を付けておく。図15の例では、図26に示すように、
加算器op1,op2を入力側FFと共にデータパス部
から切り離す。また、図26に示すように、データパス
部において、切り離した箇所に信号名a,b,c,x、
w,ST01,ST02を付けておく。
れた2つの演算器(図26に示す2つの演算器)を1つ
の演算器(図27に示す演算器)に共有化する過程であ
る。ステップS114では、切り離された2つの演算器
を、いずれか一方の演算器に共有化する。また、共有演
算器の出力には、共有化される前の2つの演算器の出力
名のいずれをも、ラベルとして付けておく。ステップS
115では、切り離された2つの演算器の入力側FF
を、ステップS114で共有化した方の演算器の入力側
FFに共有化する。
の演算器の入力側FFの制御信号の論理和をとる。ま
た、該論理和をとった制御信号を、ステップS115で
共有された入力側FF(以下、「共有入力側FF」と称
する)の制御信号とする。ステップS117では、一方
の演算器の入力側FFの入力信号と他方の演算器の入力
側FFの入力信号との切換回路を、マルチプレクサを使
用して作成する。また、上記マルチプレクサの出力信号
を共有入力側FFの入力信号とする
算器の入力側FFの制御信号を、上記マルチプレクサの
セレクト入力とする。この場合、セレクト信号が入力さ
れると、該セレクト信号として入力された制御信号に対
応する演算器の入力側FFの入力信号が、マルチプレク
サによって選択されるようにする。図15の例では、ス
テップS114〜S118の処理によって、図26に示
す2つの演算器が、図27に示す1つの演算器に共有化
される。
ベルとステップS114〜S118によって生成された
回路のラベルとを接続することによって、該共有化され
た回路をデータパス部に戻す。図15の例では、図27
に示す(共有化された)演算器が、図26に示すデータ
パス部に戻され、図16に示すRTレベルデータに最適
化される。この例では、図15のフリップフロップR
a,Rwが図16のフリップフロップRa/wに共有化
され、図15のフリップフロップRb,Rcが図16の
フリップフロップRb/cに共有化され、図15の加算
器op1,op2が図16の加算器op1/2に共有化
された。以上で、最適化が完了する。
ステムにおいては、一般的に、その中間過程で生成され
る各データ(RTレベルデータ,Gateレベルデー
タ)の動作検証が行われる。図21に示すプログラム実
行部9,RTレベルシミュレータ10,Gateレベル
シミュレータ11,テストベンチプログラム格納部1
3,プログラム実行結果格納部14,RTレベルシミュ
レーション結果格納部15,Gateレベルシミュレー
ション結果格納部16は、上記動作検証を行うための構
成である。なお、これらの構成も、具体的には、CPU
(中央処理装置)およびその周辺回路・周辺装置からな
るコンピュータ装置である。該コンピュータ装置は、内
蔵の半導体メモリ(ROM,RAM等)や外部記憶媒体
(ハードディスク,光磁気ディスク等)に記録された制
御プログラムに基づいて、以下に示す動作を実行する。
格納部13は、テストベンチプログラムを格納する。こ
こで、「テストベンチプログラム」とは、Cプログラ
ム,RTレベルデータ,Gateレベルデータに所定の
テストデータを与えるプログラムを指す。テストベンチ
プログラム格納部13は、同一のテストデータを与える
テストベンチプログラムを、CプログラムとRTレベル
データとGateレベルデータとのそれぞれに対して格
納している。
グラム格納部13に格納された(Cプログラム用の)テ
ストベンチプログラムを使用して、Cプログラム格納部
1に格納されたCプログラムを実行する。プログラム実
行結果格納部14は、該Cプログラムの実行結果を格納
する。図14は、Cプログラムのテストベンチプログラ
ムとその実行結果との一例を示す説明図である。この図
に示す実行結果は、同図に示すテストベンチプログラム
を使用して図4に示すCプログラムを実行した場合の実
行結果である。
ンチプログラム格納部13に格納された(RTレベルデ
ータ用の)テストベンチプログラムを使用して、RTレ
ベルデータ格納部4に格納されたRTレベルデータが示
す論理回路の動作をシミュレーションする。RTレベル
シミュレーション結果格納部15は、該RTレベルデー
タが示す論理回路の動作結果を格納する。図28は、従
来の機能合成方法によって生成されたRTレベルデータ
が示す論理回路の動作結果の一例を示す説明図である。
トベンチプログラム格納部13に格納された(Gate
レベルデータ用の)テストベンチプログラムを使用し
て、Gateレベルデータ格納部6に格納されたGat
eレベルデータが示す電子回路(トランジスタゲートの
組み合わせ)の動作をシミュレーションする。Gate
レベルシミュレーション結果格納部16は、該Gate
レベルデータが示す電子回路の動作結果を格納する。
に格納された実行結果(Cプログラムの実行結果)やR
Tレベルシミュレーション結果格納部15に格納された
シミュレーション結果(RTレベルデータが示す論理回
路の動作結果)、Gateレベルシミュレーション結果
をそれぞれ目視し、与えたテストベンチプログラムをも
とにした推測から、妥当な結果が出ていることを確認す
ることで、「機能合成部102による機能合成が正常に
行われた」と判定する。
成されたRTレベルデータが示す論理回路の動作結果の
一例を示すタイミング図である。なお、図29は、図2
8に示す動作結果をタイミング図の形式で示したもので
ある。この図において、「データa,b,c,d」とし
て与えられる値、即ち”1,1,2,2”および”1,
2,1,2”は、図24に示す入力端子a,b,c,d
から(図29に示すタイミングで)読み込まれる値(テ
ストデータ)であり、図14に示す(Cプログラム用
の)テストベンチプログラムで与えられるテストデータ
(関数calcの引数)と同じ値である。
な値が得られているかを確認し、機能合成が正常か否か
を判定する。図29において、「観測変数x」として読
み出される値、即ち”2”および”3”は、図24に示
す出力端子xから(図29に示すタイミングで)読み出
される値であり、図14に示すCプログラム実行結
果(”x=2”および”x=3”)と同じ値である(こ
こで、演算途中の中間値x,y及び最終値zのいずれの
場合も含めて実行結果と呼んでいる)。また、図29に
おいて、「観測変数y」として読み出される値、即ち”
4”および”3”は、図24に示す出力端子yから(図
29に示すタイミングで)読み出される値であり、図1
4に示すCプログラム実行結果(”y=4”および”y
=3”)と同じ値である。また、図29において、「実
行結果z」として読み出される値、即ち”8”および”
9”は、図24に示す出力端子zから(図29に示すタ
イミングで)読み出される値であり、図14に示すCプ
ログラム実行結果(”result=8”および”re
sult=9”)と同じ値である。
端子zからの出力値を作業者が確認していた。即ち、こ
の場合、作業者により、図14(b)に示す(Cプログ
ラムの)実行結果と図29に示す(RTレベルデータ
の)シミュレーション結果とを比較し、両者が一致して
いるので、「機能合成部102による機能合成が正常に
行われた」と確認することができる。
来の機能合成方法では、Cプログラム実行結果、RTレ
ベルデータ、Gateレベルデータのそれぞれのシミュ
レーション結果の確認作業が必要であった。また、いず
れかのシミュレーション結果のみ人手で確認し、残りは
機械的な比較によって自動化しようとする場合、「機能
合成方法によって生成されたRTレベルデータが示す論
理回路の動作検証を行う場合、Cプログラムの実行結果
と比較されるべき値を(RTレベルデータのシミュレー
ション時に)どのタイミングで読み出せばよいのか分か
り難い」という課題があった。
次的に処理され、出力文(例えば、プリント文)が記述
された行に到達して初めて変数値が出力(例えば、印
字)されるのに対して、一方、RTレベルデータのシミ
ュレーションの場合、変数値は(対応する信号線が引き
出されている限り)処理中のどのタイミングにおいても
読み出すことができるため、両変数値の対応づけが難し
いことに起因する。
をタイミングで読み出すと、これらの値は、図14に
示す”x=2 y=4”と一致し、変数x,yの値をタ
イミングで読み出すと、これらの値は、図14に示
す”x=3 y=3”と一致するが、変数x,yの値を
タイミングで読み出した場合、これらの値は(x,
y)=(3,4)となり、Cプログラムの何れの実行結
果(図14参照)とも一致しない。その結果、RTレベ
ルデータが示す論理回路が正常動作を示しているにもか
かわらず、「機能合成部102による機能合成が正常に
行われていない」と判定してしまう。
では、「作業者が機能合成が正常に行われていることを
確認しようとすると膨大なデータを人手で行うため、多
大な工数・時間を要すると同時に、どのタイミングのデ
ータを比較すればよいのかがわからないため、正確な判
断が難しかった」という課題があった。また、自動化し
て、機能合成の動作検証を行う場合でも、「Cプログラ
ムの実行結果と比較されるべき値をどのタイミングで読
み出せばよいのか分かり難く、その結果、Cプログラム
の実行結果と(RTレベルデータが示す)論理回路の動
作結果とを比較することは困難である」という課題があ
った。従って、機能合成の動作検証を途中の段階で行う
ことは難しかった。途中で動作検証を行わずに論理回路
を作成した場合、もし設計通りに動作しない場合には、
当初の段階に戻って機能合成の設計を行うことになり、
それまでかかった工数が無駄になるとともに開発日程が
大幅に遅れるという問題があった。
たもので、プログラムの実行結果と容易に比較すること
ができる動作結果を示す論理回路を生成することができ
る機能合成方法および機能合成装置およびその記録媒体
を提供することを目的とする。
プログラムから論理回路を生成する機能合成方法におい
て、前記プログラムの出力文で指定された観測変数およ
び実行結果が確定するタイミングを与える論理回路を生
成することを特徴とする。ここで、実行結果とは、演算
での中間値または最終値またはその両方を示す。請求項
2記載の発明は、プログラムから論理回路を生成する機
能合成方法において、前記プログラムを分割する過程
と、個々の分割範囲に状態名を割り当てる過程と、前記
プログラムの出力文で指定された観測変数の値を出力す
る演算が実行される状態名を検出する過程と、前記プロ
グラムに基づいて、前記各状態名が示す状態間の状態遷
移を制御するFSMを生成する過程と、前記検出された
状態名が示す状態への遷移タイミングを示す制御信号の
信号線を前記観測変数を読み取るタイミングを与える信
号線として出力に引き出す過程と、前記プログラムに基
づいて、データパスを生成する過程と、前記FSMと前
記データパスとを結合して、論理回路を生成する過程と
を具備することを特徴とする。請求項3記載の発明は、
請求項2に記載された過程と、前記生成した論理回路を
変形して、前記論理回路と等価な機能でかつ前記論理回
路よりも構成要素(例えば、演算器やレジスタ)の数が
少ない論理回路を生成する最適化過程とを有することを
特徴とする。請求項4記載の発明は、請求項1から請求
項3のいずれかに記載の機能合成方法と、前記出力文に
よる出力結果と生成された論理回路が示すタイミングで
得られた出力結果とを比較する過程と、該比較結果に基
づいて機能合成の正否を判定する過程とを具備すること
を特徴とする。
理回路を生成する機能合成装置において、前記プログラ
ムの出力文で指定された観測変数および実行結果が確定
するタイミングを与える論理回路を生成することを特徴
とする。請求項6記載の発明は、プログラムから論理回
路を生成する機能合成装置において、前記プログラムを
分割する手段と、個々の分割範囲に状態名を割り当てる
手段と、前記プログラムの出力文で指定された観測変数
の値を出力する演算が実行される状態名を検出する手段
と、前記プログラムに基づいて、前記各状態名が示す状
態間の状態遷移を制御するFSMを生成する手段と、前
記検出された状態名が示す状態への遷移タイミングを示
す制御信号の信号線を前記観測変数を読み取るタイミン
グを与える信号線として出力に引き出す手段と、前記プ
ログラムに基づいて、データパスを生成する手段と、前
記FSMと前記データパスとを結合して、論理回路を生
成する手段とを具備することを特徴とする。請求項7記
載の発明は、請求項6に記載された手段と、前記生成し
た論理回路を変形して、前記論理回路と等価な機能でか
つ前記論理回路よりも回路規模の小さい論理回路を生成
する手段とを有することを特徴とする。請求項8記載の
発明は、請求項5から請求項7のいずれかに記載の機能
合成装置と、前記出力文による出力結果と生成された論
理回路が示すタイミングで得られた出力結果とを比較す
る手段と、該比較結果に基づいて機能合成の正否を判定
する手段とを具備することを特徴とする。
理回路を生成する機能合成方法をコンピュータに実行さ
せるためのプログラムを記録した記録媒体において、前
記プログラムの出力文で指定された観測変数および実行
結果が確定するタイミングを与える論理回路を生成する
ことを特徴とする。請求項10記載の発明は、プログラ
ムから論理回路を生成する機能合成方法をコンピュータ
に実行させるためのプログラムを記録した記録媒体にお
いて、前記プログラムを分割する過程と、個々の分割範
囲に状態名を割り当てる過程と、前記プログラムの出力
文で指定された観測変数の値を出力する演算が実行され
る状態名を検出する過程と、前記プログラムに基づい
て、前記各状態名が示す状態間の状態遷移を制御するF
SMを生成する過程と、前記検出された状態名が示す状
態への遷移タイミングを示す制御信号の信号線を前記観
測変数を読み取るタイミングを与える信号線として出力
に引き出す過程と、前記プログラムに基づいて、データ
パスを生成する過程と、前記FSMと前記データパスと
を結合して、論理回路を生成する過程とをコンピュータ
に実行させるためのプログラムを記録したことを特徴と
する。請求項11記載の発明は、請求項9または請求項
10のいずれかに記載の機能合成方法と、前記出力文に
よる出力結果と生成された論理回路が示すタイミングで
得られた出力結果とを比較する過程と、該比較結果に基
づいて機能合成の正否を判定する過程とをコンピュータ
に実行させるためのプログラムを記録したことを特徴と
する。
の実施形態について説明する。図1は、この発明の一実
施形態による機能合成方法を適用した電子回路データ
(マスクデータ)生成システムの構成例を示すブロック
図である。この図において、図21の各部に対応する部
分には同一の符号を付け、その説明を省略する。この図
に示す電子回路データ生成システムは、機能合成部10
2に代えて機能合成部2を新たに設けたことを特徴とす
る。
成方法を実行する機能合成部(即ち、図1の機能合成部
2)の構成・動作について説明する。図2は、機能合成
部2の構成例を示すブロック図である。また、図3は、
機能合成部2の動作例を示すフローチャートである。
ジューリング部21とFSM生成部22とデータパス生
成部23と結合部24とスケジューリング結果格納部2
5と観測変数−状態リスト格納部26とから構成され
る。
所定の操作盤(図示略)を使用して、機能合成部2に対
し、機能合成の実行命令を与えると、機能合成部2の処
理は、図3のステップS1に進む。
1が、Cプログラム格納部1からCプログラムを読み出
す。ここでは、一例(以下、「本実施例」と称する)と
して、図4に示すCプログラムが読み出されたとする。
されたCプログラムにおいて、出力文を無視し、演算文
のみに基づいてデータフローグラフを生成する。本実施
例の場合、スケジューリング部21は、図4に示すCプ
ログラムに基づいて、図5に示すデータフローグラフを
生成する。その後、機能合成部2の処理は、図3のステ
ップS2に進む。
1が、所定の動作クロックを使用して、データフローグ
ラフを、該動作クロックの各クロック周期において実行
される演算に分割する。本実施例の場合、スケジューリ
ング部21は、図5に示すデータフローグラフを、図6
に示すように分割する。
ン(即ち、各クロック周期において実行される演算の
数)は、オペレータによって予め設定された(電子回路
設計に関する)各種パラメータに依存する。即ち、高速
の電子回路を生成するように上記パラメータが設定され
ている場合には、1クロックでできるだけ多くの演算が
実行されるように、データフローグラフが分割される。
一方、電子回路の規模を小さく押さえるように上記パラ
メータが設定されている場合には、1つのゲートができ
るだけ多くの演算で再利用されるように(即ち、同一の
演算ができるだけ別々のクロックで実行されるよう
に)、データフローグラフが分割される。
ックに(各クロック固有の識別名である)状態名を割り
当てる。本実施例の場合、図6に示すように、状態名S
T01,ST02,ST03が割り当てられる。そし
て、スケジューリング部21は、状態割り当てされたデ
ータフローグラフを、スケジューリング結果格納部25
に格納する。その後、機能合成部2の処理は、図3のス
テップS3に進む。
1は、観測変数を、Cプログラムから検出する。本実施
例の場合、Cプログラム内に出力文 printf(“x=%d¥n”,x); および printf(“y=%d¥n”,y); が存在するので、スケジューリング部21は、xとyと
を観測変数として検出する。
り当てされたデータフローグラフから上記観測変数を検
出することによって、該観測変数の値を出力する演算
を、状態割り当てされたデータフローグラフから検出す
る。本実施例の場合、スケジューリング部21は、観測
変数xの値を出力する演算Aと観測変数yの値を出力す
る演算Bとを図6に示すデータフローグラフから検出す
る。
された演算(観測変数の値を出力する演算)が実行され
る状態名と該観測変数とからなる観測変数−状態リスト
を生成し、該観測変数−状態リストを観測変数−状態リ
スト格納部26に格納する。本実施例の場合、観測変数
xの値を出力する演算Aは状態ST02で実行され、観
測変数yの値を出力する演算Bは状態ST03で実行さ
れるので、スケジューリング部21は、図7に示す観測
変数−状態リストを生成する。その後、機能合成部2の
処理は、図3のステップS4に進む。
スケジューリング結果格納部25に格納されたスケジュ
ーリング結果(即ち、状態割り当されたデータフローグ
ラフ)に基づいて、FSMを生成する。本実施例の場
合、FSM生成部22は、図6に示すデータフローグラ
フに基づいて、図8に示すFSMを生成する。その後、
機能合成部2の処理は、図3のステップS5に進む。
観測変数−状態リストに格納された各状態について、該
各状態に対応する制御信号線を上記FSMから検出し、
検出された制御信号線に(RTレベル記述の)出力端子
を付加する。本実施例の場合、図7に示すように、観測
変数−状態リストには、状態ST02,ST03が格納
されているので、FSM生成部22は、図9に示すよう
に、状態ST02,ST03に対応する制御信号線を引
き出し、(RTレベル記述の)出力端子x_vali
d,y_validを付加する。その後、機能合成部2
の処理は、図3のステップS6に進む。
が、スケジューリング結果格納部25に格納されたスケ
ジューリング結果(即ち、状態割り当されたデータフロ
ーグラフ)に基づいて、データパスを生成する。また、
データパス生成部23は、状態割り当てされたデータフ
ローグラフに基づいて、複数の状態に渡って値を保持す
べき変数を検出し、検出された変数に対応する(データ
パス内の)信号線にフリップフロップを付加する。ここ
で、各フリップフロップへのトリガー信号(制御信号)
は、該フリップフロップに対応する変数の値を使用して
演算を行う状態の1つ手前の状態に対応した信号が与え
られる。本実施例の場合、データパス生成部23は、図
6に示すデータフローグラフに基づいて、図10に示す
データパスを生成する。
態ST02の加算で使用するので、図10において、変
数a,bに対応するフリップフロップへは、状態ST0
1に対応した制御信号が与えられる。また、変数c,d
の値は、状態ST03の加算で使用するので、変数c,
dに対応するフリップフロップへは、状態ST02に対
応した制御信号が与えられる。また、変数xの値は、状
態ST03の乗算で使用するので、変数xに対応するフ
リップフロップへは、状態ST02に対応した制御信号
が与えられる。また、変数yの値は、複数の状態に渡っ
て保持する必要はないので、変数yに対応するフリップ
フロップは付加されない。なお、変数zの値は、出力さ
れるのみで演算では使用しないように見えるが、出力し
た先で更に別の回路がつながっている(演算に使われ
る)と考えると、状態ST01で外部回路で使用するの
で(図8に示すように、状態ST03の次は状態ST0
1であることに注意されたい)、変数zに対応するフリ
ップフロップへは、状態ST03に対応した制御信号が
与えられる。その後、機能合成部2の処理は、図3のス
テップS7に進む。
が、観測変数に対応する信号線を、データパスから検出
し、検出された信号線に(RTレベル記述の)出力端子
を付加する。本実施例の場合、観測変数はx,yである
ので、データパス生成部23は、図11に示すように、
観測変数x,yに対応する信号線に(RTレベル記述
の)出力端子を付加する。その後、機能合成部2の処理
は、図3のステップS8に進む。
M生成部22が生成した)FSMと(データパス生成部
23が生成した)データパスとを結合し、RTレベルデ
ータを生成する。具体的には、結合部24は、各状態に
対応する(FSM内の)制御信号線を、該状態に対応す
る(データパス内の)フリップフロップのクロック端子
に接続する。本実施例では、結合部24は、図9に示す
FSMと図11に示すデータパスとを結合し、図12に
示すRTレベルデータを生成する。以上が、機能合成部
2の構成・動作である。
いても、その中間過程で生成される各データ(RTレベ
ルデータ,Gateレベルデータ)の動作検証が行われ
る。図1に示すプログラム実行部9,RTレベルシミュ
レータ10,Gateレベルシミュレータ11,一致判
定部12,テストベンチプログラム格納部13,プログ
ラム実行結果格納部14,RTレベルシミュレーション
結果格納部15,Gateレベルシミュレーション結果
格納部16は、上記動作検証を行うための構成である。
によって生成されたRTレベルデータが示す論理回路の
動作結果の一例を示すタイミング図である。なお、図1
3は、図14に示す(Cプログラム用の)テストベンチ
プログラムと同一のテストデータを与える(RTレベル
データ用の)テストベンチプログラムによる動作結果を
示す。この図において、「状態ST01,ST02,S
T03」は、図12に示すフリップフロップ(のクロッ
ク端子)に入力されるパルスである。
c,d」として与えられる値、即ち”1,1,2,2”
および”1,2,1,2”は、図12に示す入力端子
a,b,c,dから(図13に示すタイミングで)読み
込まれる値(テストデータ)であり、図14に示す(C
プログラム用の)テストベンチプログラムで与えられる
テストデータ(関数calcの引数)と同じ値である。
また、図13において、「観測変数x」として読み出さ
れる値、即ち”2”および”3”は、図12に示す出力
端子xから(図13に示すタイミングで)読み出される
値であり、図14に示すCプログラム実行結果(”x=
2”および”x=3”)と同じ値である(ここでは、x
は中間値)。なお、この値は、図13に示すタイミング
(”1+1”および”1+2”)で演算される。
して読み出される値、即ち”4”および”3”は、図1
2に示す出力端子yから(図13に示すタイミングで)
読み出される値であり、図14に示すCプログラム実行
結果(”y=4”および”y=3”)と同じ値である
(ここでは、yは中間値)。なお、この値は、図13に
示すタイミング(”2+2”および”1+2”)で演算
される。
alid」は、図12に示す出力端子x_validか
ら出力されるパルスであり、データxの読み出しタイミ
ングを示す。また、図13において、「有効変数y_v
alid」は、図12に示す出力端子y_validか
ら出力されるパルスであり、データyの読み出しタイミ
ングを示す。
(ここでは、zは最終値)として読み出される値、即
ち”8”および”9”は、図12に示す出力端子zから
(図13に示すタイミングで)読み出される値であり、
図14に示すCプログラム実行結果(”result=
8”および”result=9”)と同じ値である。な
お、この値は、図13に示すタイミング(”2*4”お
よび”3*3”)で演算される。
validが示すタイミングで(図12に示す)出力端
子xからデータを読み出し、かつ、パルスy_vali
dが示すタイミングで(図12に示す)出力端子yから
データを読み出す。そして、一致判定部12は、これら
の値と出力端子zから読み出されたデータとを、図14
に示す(Cプログラムの)実行結果と比較する。その結
果、図13および図14に示す例では、両者が一致して
いるので、一致判定部12は、「機能合成部2による機
能合成が正常に行われた」と判定する。
対応する信号線に(RTレベル記述の)出力端子を付加
すると共に、該観測変数の値を出力する演算が実行され
る状態に対応する制御信号線にも(RTレベル記述の)
出力端子を付加するので、該観測変数の読み出しタイミ
ングを後者の出力端子から容易に得ることができる。そ
のため、Cプログラムの実行結果と該Cプログラムを機
能合成して得られたRTレベルデータが示す論理回路の
動作結果とを容易に比較することができる。
て詳述してきたが、具体的な構成はこの実施形態に限ら
れるものではなく、この発明の要旨を逸脱しない範囲の
設計の変更等があってもこの発明に含まれる。たとえ
ば、上述した一実施形態(および従来技術)において
は、機能合成部と最適化部3とを別の構成として説明し
たが、両者の関係は必ずしもこれに限定されず、例え
ば、最適化部3は機能合成部に含まれてもよい。また、
論理合成部が機能合成部に含まれる場合でも、同様に、
Cプログラム実行結果とGateレベルデータのシミュ
レーション結果との比較が容易となる。
ブロック図を示した。本実施形態によると、機能合成部
2で生成されたRTレベルデータ(即ち、最適化前のR
Tレベルデータ)と最適化部3で最適化されたRTレベ
ルデータとを(同じテストベンチプログラムを使用し
て)RTレベルシミュレータ10でシミュレーション
し、一致判定部12で両シミュレーション結果を比較す
ることによって、最適化部3による最適化の正否を判定
することができる。
図15に示すRTレベルデータを、図16に示すRTレ
ベルデータに最適化した場合を考える。ここで、「最適
化前の(即ち、図15の)RTレベルデータのシミュレ
ーション結果におけるxの値と最適化後の(即ち、図1
6の)RTレベルデータのシミュレーション結果におけ
るxの値とを比較したところ両者が一致しなかった。そ
こで、a+bを計算した時点で値が既におかしいのか否
かを調べるために、図15に示すwの値と図16に示す
w’の値とを比較する」という場合を考える。
RTレベルデータのシミュレーション結果であり、図1
8は、最適化後の(即ち、図16の)RTレベルデータ
のシミュレーション結果である。ここで、図17のwの
値と図18のw’の値とを比較する場合、最適化後の
(即ち、図16の)RTレベルデータの出力端子w’に
は入力端子aからの入力値と演算子op1/2の演算結
果とが交互に現れるため、最適化前のシミュレーション
結果(図17)のwと最適化後のシミュレーション結果
(図18)のw’とをどのタイミングで比較すればよい
のか分からない、という課題があった。
用した場合、図19に示すRTレベルデータが得られ
る。本実施形態によるRTレベルデータ(図19)は、
従来技術によるRTレベルデータ(図16)と比較し
て、出力端子w_validが追加されている。この出
力端子w_validは、最適化部3による最適化より
以前に(即ち、機能合成部2によって)付加されたもの
であるが、この端子の出力信号は(最適化部3による最
適化の後も)w’のタイミング信号として使用すること
ができる。
本実施形態によるRTレベルデータ(図19)のシミュ
レーション結果である。この図に示すように、本実施形
態によるRTレベルデータの場合、加算器op1/2の
演算結果が確定するタイミングが出力端子w_vali
dから得られるので、該出力端子w_validの出力
信号がONになるタイミングで得られたw’の値を最適
化前のシミュレーション結果(図17)のwと比較する
ことによって、最適化前後においてwの値が一致してい
るか否か(即ち、最適化の正否)を判定することができ
る。従来の方法では、図20に示すように、w_val
idの値をどのタイミングで比較すればよいのかわから
ないので、例えば、w_validの出力信号がOFF
である図20の真ん中の点線に囲まれた部分で比較する
とエラーとなる。
ば、プログラムの実行結果と論理回路の動作結果を容易
にタイムリーに比較することができる、という効果があ
る。これにより、機能合成が正常に動作しているか否か
を途中の段階で検証することができる。従って、異常だ
った場合の変更を迅速に行うことが可能になった。ま
た、最適化前後での内部端子(演算の途中結果)の比較
も容易となる。
用した電子回路データ(マスクデータ)生成システムの
構成例を示すブロック図である。
る。
である。
る。
説明図である。
ある。
明図である。
示す説明図である。
を示す説明図である。
論理回路の動作結果の一例を示すタイミング図である。
(a)とその実行結果(b)との一例を示す説明図であ
る。
説明図である。
説明図である。
示すタイミング図である。
示すタイミング図である。
ルデータの一例を示す説明図である。
ーション結果の一例を示すタイミング図である。
ータ(マスクデータ)生成システムの構成例を示すブロ
ック図である。
図である。
ャートである。
示す説明図である。
ある。
理回路の動作結果の一例を示す説明図である。
理回路の動作結果の一例を示すタイミング図である。
ブロック図である。
ラム実行部、10……RTレベルシミュレータ、 12
……一致判定部、21……スケジューリング部、 22
……FSM生成部、23……データパス生成部、 24
……結合部、25……スケジューリング結果格納部、2
6……観測変数−状態リスト格納部
Claims (11)
- 【請求項1】 プログラムから論理回路を生成する機能
合成方法において、 前記プログラムの出力文で指定された観測変数および実
行結果が確定するタイミングを与える論理回路を生成す
ることを特徴とする機能合成方法。 - 【請求項2】 プログラムから論理回路を生成する機能
合成方法において、 前記プログラムを分割する過程と、 個々の分割範囲に状態名を割り当てる過程と、 前記プログラムの出力文で指定された観測変数の値を出
力する演算が実行される状態名を検出する過程と、 前記プログラムに基づいて、前記各状態名が示す状態間
の状態遷移を制御するFSMを生成する過程と、 前記検出された状態名が示す状態への遷移タイミングを
示す制御信号の信号線を前記観測変数を読み取るタイミ
ングを与える信号線として出力に引き出す過程と、 前記プログラムに基づいて、データパスを生成する過程
と、 前記FSMと前記データパスとを結合して、論理回路を
生成する過程と、 を具備することを特徴とする機能合成方法。 - 【請求項3】 請求項2に記載された過程と、 前記生成した論理回路を変形して、前記論理回路と等価
な機能でかつ前記論理回路よりも回路規模の小さい論理
回路を生成する過程とを有することを特徴とする請求項
2記載の機能合成方法。 - 【請求項4】 請求項1から請求項3のいずれかに記載
の機能合成方法と、 前記出力文による出力結果と生成された論理回路が示す
タイミングで得られた出力結果とを比較する過程と、 該比較結果に基づいて機能合成の正否を判定する過程と
を具備することを特徴とする機能検証方法。 - 【請求項5】 プログラムから論理回路を生成する機能
合成装置において、 前記プログラムの出力文で指定された観測変数および実
行結果が確定するタイミングを与える論理回路を生成す
ることを特徴とする機能合成装置。 - 【請求項6】 プログラムから論理回路を生成する機能
合成装置において、 前記プログラムを分割する手段と、 個々の分割範囲に状態名を割り当てる手段と、 前記プログラムの出力文で指定された観測変数の値を出
力する演算が実行される状態名を検出する手段と、 前記プログラムに基づいて、前記各状態名が示す状態間
の状態遷移を制御するFSMを生成する手段と、 前記検出された状態名が示す状態への遷移タイミングを
示す制御信号の信号線を前記観測変数を読み取るタイミ
ングを与える信号線として出力に引き出す手段と、 前記プログラムに基づいて、データパスを生成する手段
と、 前記FSMと前記データパスとを結合して、論理回路を
生成する手段とを具備することを特徴とする機能合成装
置。 - 【請求項7】 請求項6に記載された手段と、 前記生成した論理回路を変形して、前記論理回路と等価
な機能でかつ前記論理回路よりも回路規模の小さい論理
回路を生成する手段とを有することを特徴とする請求項
6記載の機能合成装置。 - 【請求項8】 請求項5から請求項7のいずれかに記載
の機能合成装置と前記出力文による出力結果と生成され
た論理回路が示すタイミングで得られた出力結果とを比
較する手段と、 該比較結果に基づいて機能合成の正否を判定する手段と
を具備することを特徴とする機能検証装置。 - 【請求項9】 プログラムから論理回路を生成する機能
合成方法をコンピュータに実行させるためのプログラム
を記録した記録媒体において、 前記プログラムの出力文で指定された観測変数および実
行結果が確定するタイミングを与える論理回路を生成す
ることを特徴とする記録媒体。 - 【請求項10】 プログラムから論理回路を生成する機
能合成方法をコンピュータに実行させるためのプログラ
ムを記録した記録媒体において、 前記プログラムを分割する過程と、 個々の分割範囲に状態名を割り当てる過程と、 前記プログラムの出力文で指定された観測変数の値を出
力する演算が実行される状態名を検出する過程と、 前記プログラムに基づいて、前記各状態名が示す状態間
の状態遷移を制御するFSMを生成する過程と、 前記検出された状態名が示す状態への遷移タイミングを
示す制御信号の信号線を前記観測変数を読み取るタイミ
ングを与える信号線として出力に引き出す過程と、 前記プログラムに基づいて、データパスを生成する過程
と、 前記FSMと前記データパスとを結合して、論理回路を
生成する過程とをコンピュータに実行させるためのプロ
グラムを記録したことを特徴とする記録媒体。 - 【請求項11】 請求項9または請求項10のいずれか
に記載の機能合成方法と、 前記出力文による出力結果と生成された論理回路が示す
タイミングで得られた出力結果とを比較する過程と、 該比較結果に基づいて機能合成の正否を判定する過程と
をコンピュータに実行させるためのプログラムを記録し
たことを特徴とする記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04544799A JP3171182B2 (ja) | 1999-02-23 | 1999-02-23 | 機能合成方法,機能合成装置およびその記録媒体 |
US09/506,365 US6711728B1 (en) | 1999-02-23 | 2000-02-18 | Function synthesizing method and apparatus, and recording medium on which program of said method is recorded |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04544799A JP3171182B2 (ja) | 1999-02-23 | 1999-02-23 | 機能合成方法,機能合成装置およびその記録媒体 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000345117A Division JP2001188822A (ja) | 2000-11-13 | 2000-11-13 | 機能合成方法および機能合成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000242684A JP2000242684A (ja) | 2000-09-08 |
JP3171182B2 true JP3171182B2 (ja) | 2001-05-28 |
Family
ID=12719602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04544799A Expired - Fee Related JP3171182B2 (ja) | 1999-02-23 | 1999-02-23 | 機能合成方法,機能合成装置およびその記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6711728B1 (ja) |
JP (1) | JP3171182B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7007271B2 (en) * | 2002-04-18 | 2006-02-28 | Sun Microsystems, Inc. | Method and apparatus for integrated instruction scheduling and register allocation in a postoptimizer |
US8265920B1 (en) | 2004-07-30 | 2012-09-11 | Synopsys, Inc. | Determining large-scale finite state machines using constraint relaxation |
US20060195732A1 (en) * | 2005-02-11 | 2006-08-31 | Joerg Deutschle | Method and system for executing test cases for a device under verification |
JP4853312B2 (ja) | 2007-01-30 | 2012-01-11 | 日本電気株式会社 | テストベンチ生成機能を有する動作合成装置と方法及びプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044211A (en) * | 1994-03-14 | 2000-03-28 | C.A.E. Plus, Inc. | Method for graphically representing a digital device as a behavioral description with data and control flow elements, and for converting the behavioral description to a structural description |
US5539680A (en) * | 1994-08-03 | 1996-07-23 | Sun Microsystem, Inc. | Method and apparatus for analyzing finite state machines |
JP3243207B2 (ja) * | 1997-12-03 | 2002-01-07 | 株式会社半導体理工学研究センター | テスト容易な集積回路、集積回路のテスト容易化設計方法、および集積回路のテスト容易化設計のためのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6182268B1 (en) * | 1998-01-05 | 2001-01-30 | Synplicity, Inc. | Methods and apparatuses for automatic extraction of finite state machines |
-
1999
- 1999-02-23 JP JP04544799A patent/JP3171182B2/ja not_active Expired - Fee Related
-
2000
- 2000-02-18 US US09/506,365 patent/US6711728B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6711728B1 (en) | 2004-03-23 |
JP2000242684A (ja) | 2000-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8468475B2 (en) | Conversion of circuit description to an abstract model of the circuit | |
US6199031B1 (en) | HDL simulation interface for testing and verifying an ASIC model | |
US7472361B2 (en) | System and method for generating a plurality of models at different levels of abstraction from a single master model | |
US6536031B2 (en) | Method for generating behavior model description of circuit and apparatus for logic verification | |
EP0445942A2 (en) | Analytical development and verification of control-intensive systems | |
KR19980032933A (ko) | 에뮬레이션 및 시뮬레이션을 이용한 설계 검증 방법 및 장치 | |
JP2006285865A (ja) | レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム | |
JP4492803B2 (ja) | 動作合成装置及びプログラム | |
JPH11513512A (ja) | ディジタル信号プロセッサの製造方法 | |
US7266791B2 (en) | High level synthesis device, method for generating a model for verifying hardware, method for verifying hardware, control program, and readable recording medium | |
US9223910B1 (en) | Performance and memory efficient modeling of HDL ports for simulation | |
JP3171182B2 (ja) | 機能合成方法,機能合成装置およびその記録媒体 | |
Buchmann et al. | A fully static scheduling approach for fast cycle accurate SystemC simulation of MPSoCs | |
JP2001188822A (ja) | 機能合成方法および機能合成装置 | |
JP2000268074A (ja) | 検証プログラム自動生成装置および方法並びにプロパティ自動生成装置および方法 | |
JP5147801B2 (ja) | ハードウェア検証用プログラミング記述生成装置、ハードウェア検証用プログラミング記述生成方法、及び制御プログラム | |
JP2000515658A (ja) | 複雑なデジタル集積回路の設計方法並びに回路構造体 | |
Deschamps et al. | Development Tools | |
Golshan | Design Requirements | |
WO2000068782A1 (fr) | Procede de mise au point d'un circuit integre a semiconducteur | |
JPH05197774A (ja) | 高位レベル合成における回路修正方式 | |
CN115358184A (zh) | 基于增量编译的fpga原型验证方法及*** | |
Gajski | New Strategies for System Level Design | |
JP2005122636A (ja) | シミュレーションモデル生成装置および方法 | |
JP2000305967A (ja) | 状態遷移情報調整装置及び回路設計装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000919 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010220 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080323 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090323 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100323 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100323 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110323 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110323 Year of fee payment: 10 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110323 Year of fee payment: 10 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110323 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120323 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130323 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130323 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140323 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |