JPH04248675A - Lsi設計支援装置 - Google Patents
Lsi設計支援装置Info
- Publication number
- JPH04248675A JPH04248675A JP3014317A JP1431791A JPH04248675A JP H04248675 A JPH04248675 A JP H04248675A JP 3014317 A JP3014317 A JP 3014317A JP 1431791 A JP1431791 A JP 1431791A JP H04248675 A JPH04248675 A JP H04248675A
- Authority
- JP
- Japan
- Prior art keywords
- control
- software program
- lsi
- simulator
- data
- 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.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】[発明の目的]
【0002】
【産業上の利用分野】本発明はLSI設計の容易化を図
るLSI設計支援装置に関し、特にソフトウェアの一部
ハードウェア化を少ない作業で行なうことの出来るLS
I設計支援装置に関する。
るLSI設計支援装置に関し、特にソフトウェアの一部
ハードウェア化を少ない作業で行なうことの出来るLS
I設計支援装置に関する。
【0003】
【従来の技術】近年、LSI設計の容易化を図るLSI
設計支援装置において、あるソフトウェアプログラムの
処理を高速化する為に、そのソフトウェアプログラムの
特定の処理ブロックをLSI化し、残りの処理ブロック
を制御ソフトウェアプログラムとして分担させ、元のソ
フトウェアプログラムの機能を実現する試みが行なわれ
ている。
設計支援装置において、あるソフトウェアプログラムの
処理を高速化する為に、そのソフトウェアプログラムの
特定の処理ブロックをLSI化し、残りの処理ブロック
を制御ソフトウェアプログラムとして分担させ、元のソ
フトウェアプログラムの機能を実現する試みが行なわれ
ている。
【0004】このようにソフトウェアプログラムで実現
されている機能の一部をLSIで実現する場合に、元の
ソフトウェアプログラムのどの部分をLSI化するのが
最も効果的であるかを考察し、また、残りの制御ソフト
ウェアプログラムの部分とLSI化した部分とのデータ
交換の方法をどうするかを考える必要があった。このた
め、元のソフトウェアプログラムの分割を変更する場合
には、入力データや交換データの大幅な変更を必要とす
る場合があり、膨大な作業量が発生していた。
されている機能の一部をLSIで実現する場合に、元の
ソフトウェアプログラムのどの部分をLSI化するのが
最も効果的であるかを考察し、また、残りの制御ソフト
ウェアプログラムの部分とLSI化した部分とのデータ
交換の方法をどうするかを考える必要があった。このた
め、元のソフトウェアプログラムの分割を変更する場合
には、入力データや交換データの大幅な変更を必要とす
る場合があり、膨大な作業量が発生していた。
【0005】また、一般にLSIを設計する際にはシミ
ュレータを使用して検証を行なうが、これは図9に示す
ように、シミュレータに対して回路を記述したテスト回
路記述のファイルFI1と回路の入力信号の入力パター
ンが書かれている入力ファイルFI2とを与えて演算部
EXでシミュレーションを実行した後、回路の出力信号
の出力パターンが書かれている出力ファイルFO1を生
成して、回路の論理的な検証を行なうものである。例え
ば、図10に示すようなテスト回路の場合、入力パター
ン、テスト回路記述、及び出力パターンはそれぞれ図1
0のようになる。このようにシミュレータに対してテス
ト回路毎にその入力データを作成する必要があり、ある
ソフトウェアプログラムの一部をLSI化する場合には
、入力データの作成に際してソフトウェアプログラムの
実行時の内部状態を解析して、実行の各ステップに応じ
てLSI部に対応する部分への入力データを与える必要
があった。
ュレータを使用して検証を行なうが、これは図9に示す
ように、シミュレータに対して回路を記述したテスト回
路記述のファイルFI1と回路の入力信号の入力パター
ンが書かれている入力ファイルFI2とを与えて演算部
EXでシミュレーションを実行した後、回路の出力信号
の出力パターンが書かれている出力ファイルFO1を生
成して、回路の論理的な検証を行なうものである。例え
ば、図10に示すようなテスト回路の場合、入力パター
ン、テスト回路記述、及び出力パターンはそれぞれ図1
0のようになる。このようにシミュレータに対してテス
ト回路毎にその入力データを作成する必要があり、ある
ソフトウェアプログラムの一部をLSI化する場合には
、入力データの作成に際してソフトウェアプログラムの
実行時の内部状態を解析して、実行の各ステップに応じ
てLSI部に対応する部分への入力データを与える必要
があった。
【0006】具体例として、シミュレータの演算部の一
部をLSI化する場合について考える。シミュレータの
演算部は、本来テスト回路と同等の機能を実現するため
にある所定の言語によって書かれたソフトウェアプログ
ラムであり、その一部をLSI化することはシミュレー
ションの高速化に貢献する。この場合、従来では、図1
1に示すような全体構成で実現していた。先ず、元の演
算部EXに対してテスト回路記述ファイルFI1及び入
力パターンファイルFI2を入力して、シミュレーショ
ン結果である出力パターンファイルFO1を得る。次に
、LSI化する部分EX1を指定して、部分EX1を取
り除いた残りの演算部EX2に対するシミュレーション
を行ない出力パターンFO2を得る。そしてLSI化す
る部分EX1(ファイルFM)を言語変換部LTでハー
ドウェア記述ファイルFI3に言語変換して、この部分
回路EX1に対する入力パターンファイルFI4を新規
に作成し、それぞれの入力ファイルを入力して、部分回
路EX1に対するシミュレーションを行ない出力パター
ンファイルFO3を得る。更に、得られた出力パターン
ファイルFO2及びFO3の比較を行ない対応をチェッ
クし、得られた出力パターンファイルFO1及びFO3
の対応をチェックして、出力パターンファイルFO3の
内容が出力パターンファイルFO1に正しく反映されて
いるか判断される。このように繰り返しシミュレーショ
ンを実行し、それぞれの出力ファイルを比較、対応して
チェックする必要があり、その作業量は非常に大きなも
のであった。
部をLSI化する場合について考える。シミュレータの
演算部は、本来テスト回路と同等の機能を実現するため
にある所定の言語によって書かれたソフトウェアプログ
ラムであり、その一部をLSI化することはシミュレー
ションの高速化に貢献する。この場合、従来では、図1
1に示すような全体構成で実現していた。先ず、元の演
算部EXに対してテスト回路記述ファイルFI1及び入
力パターンファイルFI2を入力して、シミュレーショ
ン結果である出力パターンファイルFO1を得る。次に
、LSI化する部分EX1を指定して、部分EX1を取
り除いた残りの演算部EX2に対するシミュレーション
を行ない出力パターンFO2を得る。そしてLSI化す
る部分EX1(ファイルFM)を言語変換部LTでハー
ドウェア記述ファイルFI3に言語変換して、この部分
回路EX1に対する入力パターンファイルFI4を新規
に作成し、それぞれの入力ファイルを入力して、部分回
路EX1に対するシミュレーションを行ない出力パター
ンファイルFO3を得る。更に、得られた出力パターン
ファイルFO2及びFO3の比較を行ない対応をチェッ
クし、得られた出力パターンファイルFO1及びFO3
の対応をチェックして、出力パターンファイルFO3の
内容が出力パターンファイルFO1に正しく反映されて
いるか判断される。このように繰り返しシミュレーショ
ンを実行し、それぞれの出力ファイルを比較、対応して
チェックする必要があり、その作業量は非常に大きなも
のであった。
【0007】また、上述の言語変換は、動作記述からレ
ジスタトランスファレベルの回路データとしてのハード
ウェア記述に変換するものであるが、従来、動作記述か
ら内部データを作成し表示する段階では図12及び図1
3のように表示していた。これは制御系の流れとデータ
系の流れを同時に表しているので、コントロール/デー
タフローグラフと呼ばれているものである。この表記法
においては、記述中の条件分岐の部分を表しているのが
IFと書かれた分岐点で、条件が真の場合はTHENの
方にデータが流れ、偽の場合はELSEの方にデータが
流れることを表している。このような表記法では、条件
分岐がある度にデータの流れが不明確になるという欠点
があり、記述で表現されている制御情報を抽出すること
は出来るが、陽に表現されずに暗黙の内に制御条件がか
かっているような演算に対しては、その制御条件を抽出
するのは困難であった。
ジスタトランスファレベルの回路データとしてのハード
ウェア記述に変換するものであるが、従来、動作記述か
ら内部データを作成し表示する段階では図12及び図1
3のように表示していた。これは制御系の流れとデータ
系の流れを同時に表しているので、コントロール/デー
タフローグラフと呼ばれているものである。この表記法
においては、記述中の条件分岐の部分を表しているのが
IFと書かれた分岐点で、条件が真の場合はTHENの
方にデータが流れ、偽の場合はELSEの方にデータが
流れることを表している。このような表記法では、条件
分岐がある度にデータの流れが不明確になるという欠点
があり、記述で表現されている制御情報を抽出すること
は出来るが、陽に表現されずに暗黙の内に制御条件がか
かっているような演算に対しては、その制御条件を抽出
するのは困難であった。
【0008】例えば図13では、実際には変数bの値が
真の場合にはa=2、偽の場合にはa=1としてa=a
+1の演算が実行される記述となっているが、bの値が
偽である場合にa=1であることは陽には表現されてお
らず、同図の記述及びコントロール/データフローグラ
フを見ただけでこの制御情報を抽出するのは難しい。
真の場合にはa=2、偽の場合にはa=1としてa=a
+1の演算が実行される記述となっているが、bの値が
偽である場合にa=1であることは陽には表現されてお
らず、同図の記述及びコントロール/データフローグラ
フを見ただけでこの制御情報を抽出するのは難しい。
【0009】
【発明が解決しようとする課題】以上のように、あるソ
フトウェアプログラムで実現されている機能の一部をL
SIで実現する場合に、従来のLSI設計支援装置では
、元のソフトウェアプログラムの分割を変更する際に入
力データや交換データの大幅な変更を必要とする場合が
あり、またシミュレーションで検証する際の入力データ
の作成に、ソフトウェアプログラムの実行時の内部状態
を解析して、実行の各ステップに応じてLSI化する部
分への入力データを与える必要があり、共に膨大な作業
量を発生するという欠点があった。更に、動作記述から
レジスタトランスファレベルの回路データとしてのハー
ドウェア記述に変換する言語変換において、従来の内部
データの表記法では、陽に表現されずに暗黙の内に制御
条件がかかっているような演算に対しては、その制御条
件を抽出するのは難しいという欠点があった。
フトウェアプログラムで実現されている機能の一部をL
SIで実現する場合に、従来のLSI設計支援装置では
、元のソフトウェアプログラムの分割を変更する際に入
力データや交換データの大幅な変更を必要とする場合が
あり、またシミュレーションで検証する際の入力データ
の作成に、ソフトウェアプログラムの実行時の内部状態
を解析して、実行の各ステップに応じてLSI化する部
分への入力データを与える必要があり、共に膨大な作業
量を発生するという欠点があった。更に、動作記述から
レジスタトランスファレベルの回路データとしてのハー
ドウェア記述に変換する言語変換において、従来の内部
データの表記法では、陽に表現されずに暗黙の内に制御
条件がかかっているような演算に対しては、その制御条
件を抽出するのは難しいという欠点があった。
【0010】本発明は、上記問題点を解決するもので、
その目的は、元のソフトウェアの分割を変更する場合に
ソフトウェアの内部データから自動的にシミュレータ側
へのデータ設定を可能とし、LSI化する部分と残りの
部分のシミュレーションの実行を同期的に行ない、内部
状態を相互に交換することによりシミュレータへの入力
データの設計と交換データの選定作業を軽減できるLS
I設計支援装置を提供することである。また更なる目的
は、動作記述からレジスタトランスファレベルの回路デ
ータへの言語変換において、データの流れと制御の流れ
を同時に表し、且つ制御のかかっているデータ転送のす
べてが簡単に抽出でき、記述には陽に表されていない制
御条件を導出できるLSI設計支援装置を提供すること
である。
その目的は、元のソフトウェアの分割を変更する場合に
ソフトウェアの内部データから自動的にシミュレータ側
へのデータ設定を可能とし、LSI化する部分と残りの
部分のシミュレーションの実行を同期的に行ない、内部
状態を相互に交換することによりシミュレータへの入力
データの設計と交換データの選定作業を軽減できるLS
I設計支援装置を提供することである。また更なる目的
は、動作記述からレジスタトランスファレベルの回路デ
ータへの言語変換において、データの流れと制御の流れ
を同時に表し、且つ制御のかかっているデータ転送のす
べてが簡単に抽出でき、記述には陽に表されていない制
御条件を導出できるLSI設計支援装置を提供すること
である。
【0011】
【課題を解決するための手段】前記課題を解決するため
に、本発明の第1の特徴は、あるソフトウェアプログラ
ムの一部をLSI化して高速化を図るLSI設計支援装
置において、図1に示す如く、あるソフトウェアプログ
ラム10をLSI化する部分11と残りのソフトウェア
プログラム15に分割する分割指定部1と、前記LSI
化する部分11の記述をレジスタトランスファレベルの
ハードウェア記述に変換する言語変換部2と、前記ハー
ドウェア記述を入力してシミュレーションを行なうシミ
ュレータ5と、前記残りのソフトウェアプログラム15
で使用するデータと前記シミュレータ5で使用する回路
データを保持する共有記憶部6と、前記残りのソフトウ
ェアプログラム15と前記シミュレータ5とを同期をと
って並列実行させ前記シミュレータ5が前記共有記憶部
6のデータを使用して検証し前記残りのソフトウェアプ
ログラム15の動作を確認するよう制御する制御部7と
を具備することである。
に、本発明の第1の特徴は、あるソフトウェアプログラ
ムの一部をLSI化して高速化を図るLSI設計支援装
置において、図1に示す如く、あるソフトウェアプログ
ラム10をLSI化する部分11と残りのソフトウェア
プログラム15に分割する分割指定部1と、前記LSI
化する部分11の記述をレジスタトランスファレベルの
ハードウェア記述に変換する言語変換部2と、前記ハー
ドウェア記述を入力してシミュレーションを行なうシミ
ュレータ5と、前記残りのソフトウェアプログラム15
で使用するデータと前記シミュレータ5で使用する回路
データを保持する共有記憶部6と、前記残りのソフトウ
ェアプログラム15と前記シミュレータ5とを同期をと
って並列実行させ前記シミュレータ5が前記共有記憶部
6のデータを使用して検証し前記残りのソフトウェアプ
ログラム15の動作を確認するよう制御する制御部7と
を具備することである。
【0012】また、本発明の第2の特徴は、請求項1の
記載のLSI設計支援装置において、図1に示す如く、
前記言語変換部2は、入力した言語記述を各種演算の演
算ノード及び条件分岐等の制御ノードとそれらノードを
信号名と制御条件を付加したエッジで接続して構成され
るコントロール/データフローグラフに変換するコント
ロール/データフローグラフ作成部3と、作成されたコ
ントロール/データフローグラフから暗黙の内にデータ
転送に制御条件のかかっているエッジを抽出する制御情
報抽出部4とを具備することである。
記載のLSI設計支援装置において、図1に示す如く、
前記言語変換部2は、入力した言語記述を各種演算の演
算ノード及び条件分岐等の制御ノードとそれらノードを
信号名と制御条件を付加したエッジで接続して構成され
るコントロール/データフローグラフに変換するコント
ロール/データフローグラフ作成部3と、作成されたコ
ントロール/データフローグラフから暗黙の内にデータ
転送に制御条件のかかっているエッジを抽出する制御情
報抽出部4とを具備することである。
【0013】また、本発明の第3の特徴は、請求項2の
記載のLSI設計支援装置において、前記コントロール
/データフローグラフは、制御条件の異なる同一変数名
のエッジが複数本存在してもよく、ある演算ノードの1
つの入力に対して複数本のエッジが存在してもよいとい
う規則を有することである。
記載のLSI設計支援装置において、前記コントロール
/データフローグラフは、制御条件の異なる同一変数名
のエッジが複数本存在してもよく、ある演算ノードの1
つの入力に対して複数本のエッジが存在してもよいとい
う規則を有することである。
【0014】
【作用】本発明の第1の特徴のLSI設計支援装置では
、先ず分割指定部1で、あるソフトウェアプログラム1
0をLSI化する部分11と残りのソフトウェアプログ
ラム15に分割し、LSI化する部分11の記述を言語
変換部2でレジスタトランスファレベルのハードウェア
記述に変換し、シミュレータ5に入力として与える。 次に制御部7は、残りのソフトウェアプログラム15と
シミュレータ5とを同期をとって並列実行させ、シミュ
レータ5が残りのソフトウェアプログラム15で使用す
るデータとシミュレータ5で使用する回路データを保持
する共有記憶部6を参照してシミュレーションを行ない
、残りのソフトウェアプログラム15の動作を確認する
よう制御する。
、先ず分割指定部1で、あるソフトウェアプログラム1
0をLSI化する部分11と残りのソフトウェアプログ
ラム15に分割し、LSI化する部分11の記述を言語
変換部2でレジスタトランスファレベルのハードウェア
記述に変換し、シミュレータ5に入力として与える。 次に制御部7は、残りのソフトウェアプログラム15と
シミュレータ5とを同期をとって並列実行させ、シミュ
レータ5が残りのソフトウェアプログラム15で使用す
るデータとシミュレータ5で使用する回路データを保持
する共有記憶部6を参照してシミュレーションを行ない
、残りのソフトウェアプログラム15の動作を確認する
よう制御する。
【0015】本発明の第2及び第3の特徴のLSI設計
支援装置では、言語変換部2が入力した言語記述をコン
トロール/データフローグラフ作成部3で、各種演算の
演算ノード及び条件分岐等の制御ノードとそれらノード
を信号名と制御条件を付加したエッジで接続して構成さ
れるコントロール/データフローグラフに変換すると、
次に制御情報抽出部4で、作成されたコントロール/デ
ータフローグラフから暗黙の内にデータ転送に制御条件
のかかっているエッジを抽出し、制御情報を出力する。
支援装置では、言語変換部2が入力した言語記述をコン
トロール/データフローグラフ作成部3で、各種演算の
演算ノード及び条件分岐等の制御ノードとそれらノード
を信号名と制御条件を付加したエッジで接続して構成さ
れるコントロール/データフローグラフに変換すると、
次に制御情報抽出部4で、作成されたコントロール/デ
ータフローグラフから暗黙の内にデータ転送に制御条件
のかかっているエッジを抽出し、制御情報を出力する。
【0016】
【実施例】以下、本発明に係る実施例を図面に基づいて
説明する。
説明する。
【0017】図2に本発明の第1の実施例に係るLSI
設計支援装置の全体構成図を示す。同図はあるソフトウ
ェアプログラム10をLSI化する部分11と残りのソ
フトウェアプログラム15に分割して検証を行なう様子
を示したものである。
設計支援装置の全体構成図を示す。同図はあるソフトウ
ェアプログラム10をLSI化する部分11と残りのソ
フトウェアプログラム15に分割して検証を行なう様子
を示したものである。
【0018】先ず、あるソフトウェアプログラム10の
LSI化する部分11を指定する。次に、指定された部
分11を言語変換部2によりハードウェア記述に自動変
換し、更にシミュレータ用の記述に変換してシミュレー
タ13に回路データ14として与える。また、残りのソ
フトウェアプログラム15には追加制御部16を、シミ
ュレータ13の実行部には追加制御部17を追加する。 そして、残りのソフトウェアプログラム15とシミュレ
ータ13は、共有記憶領域18を共有して平行に実行さ
れ、元のソフトウェアプロフラム10と同等の機能の動
作を行なうか検証される。
LSI化する部分11を指定する。次に、指定された部
分11を言語変換部2によりハードウェア記述に自動変
換し、更にシミュレータ用の記述に変換してシミュレー
タ13に回路データ14として与える。また、残りのソ
フトウェアプログラム15には追加制御部16を、シミ
ュレータ13の実行部には追加制御部17を追加する。 そして、残りのソフトウェアプログラム15とシミュレ
ータ13は、共有記憶領域18を共有して平行に実行さ
れ、元のソフトウェアプロフラム10と同等の機能の動
作を行なうか検証される。
【0019】次に、図3を用いて残りのソフトウェアプ
ログラム15とシミュレータ13の実行時の制御関係を
説明する。図3は制御関係を説明するための図であり、
図3は実行のフローチャートを示す。
ログラム15とシミュレータ13の実行時の制御関係を
説明する。図3は制御関係を説明するための図であり、
図3は実行のフローチャートを示す。
【0020】先ず、残りのソフトウェアプログラム15
はステップS11で、シミュレータ13はステップS2
1で同時に起動され、シミュレータ13は回路の評価点
(追加制御部17a)で待機している。他方、残りのソ
フトウェアプログラム15は■を実行し追加制御部16
aで制御メッセージをシミュレータ13に渡し、待機す
る(ステップS12)。制御メッセージを受けたシミュ
レータ13は評価を再開して■を実行し、追加制御部1
7bで制御メッセージを残りのソフトウェアプログラム
15に渡す(ステップS22)。残りのソフトウェアプ
ログラム15は追加制御部16aで別処理を行なった後
、追加制御部16bで待機中のところ、制御メッセージ
を受け取りステップ13で再評価を開始し、■を実行し
て終了する。
はステップS11で、シミュレータ13はステップS2
1で同時に起動され、シミュレータ13は回路の評価点
(追加制御部17a)で待機している。他方、残りのソ
フトウェアプログラム15は■を実行し追加制御部16
aで制御メッセージをシミュレータ13に渡し、待機す
る(ステップS12)。制御メッセージを受けたシミュ
レータ13は評価を再開して■を実行し、追加制御部1
7bで制御メッセージを残りのソフトウェアプログラム
15に渡す(ステップS22)。残りのソフトウェアプ
ログラム15は追加制御部16aで別処理を行なった後
、追加制御部16bで待機中のところ、制御メッセージ
を受け取りステップ13で再評価を開始し、■を実行し
て終了する。
【0021】次に、本実施例に対して行なった実例を説
明する。
明する。
【0022】図4は実際の元のソフトウェアプログラム
に対して行なった分割とその変更の実例を示す図である
。元のソフトウェアプログラム10は、表示、入力処理
、特殊処理、構造の探索、及び計算の5つの機能を有し
ており、先ず、実行頻度の多少に従い分割する。即ち、
構造の探索及び計算のブロック43は実行頻度が多く高
速処理を要する部分であることからLSI化する部分と
してシミュレータ13に、また表示、入力処理、及び特
殊処理のブロック41は、実行頻度が少なく高速処理を
要しないことから残りのソフトウェアプログラム15に
分割する。
に対して行なった分割とその変更の実例を示す図である
。元のソフトウェアプログラム10は、表示、入力処理
、特殊処理、構造の探索、及び計算の5つの機能を有し
ており、先ず、実行頻度の多少に従い分割する。即ち、
構造の探索及び計算のブロック43は実行頻度が多く高
速処理を要する部分であることからLSI化する部分と
してシミュレータ13に、また表示、入力処理、及び特
殊処理のブロック41は、実行頻度が少なく高速処理を
要しないことから残りのソフトウェアプログラム15に
分割する。
【0023】このような初期の分割で全体のシミュレー
ションを行なった結果、共有記憶領域18への参照回数
が多すぎてスピードネックとなっていることが判明した
。このため特殊機能をシミュレータ13と残りのソフト
ウェアプログラム15に分割して全体を再分割するよう
に変更を行ない、全体のシミュレーションを行なったと
ころ、共有記憶領域18への参照回数が減少し、全体の
処理速度の向上が図れた。尚、最終的に分割の再指定を
数回行ない、また併せて処理構造の変更も行なった。
ションを行なった結果、共有記憶領域18への参照回数
が多すぎてスピードネックとなっていることが判明した
。このため特殊機能をシミュレータ13と残りのソフト
ウェアプログラム15に分割して全体を再分割するよう
に変更を行ない、全体のシミュレーションを行なったと
ころ、共有記憶領域18への参照回数が減少し、全体の
処理速度の向上が図れた。尚、最終的に分割の再指定を
数回行ない、また併せて処理構造の変更も行なった。
【0024】次に、本発明の第2の実施例に係るLSI
設計支援装置を図5を用いて説明する。図5は従来技術
の具体例として説明したシミュレータの演算部の一部を
LSI化する場合に本発明を適用したものである。同図
において、図11(従来例)と重複する部分には同一の
符号を附して説明を省略する。
設計支援装置を図5を用いて説明する。図5は従来技術
の具体例として説明したシミュレータの演算部の一部を
LSI化する場合に本発明を適用したものである。同図
において、図11(従来例)と重複する部分には同一の
符号を附して説明を省略する。
【0025】先ず、LSI化する部分EX1を指定して
、言語変換部2でハードウェア記述ファイルFI3に言
語変換して、シミュレータSYM2の入力とする。次に
、元の演算部EXからLSI化する部分EX1を取り除
いた残りの部分EX2に追加制御部EXC2を付加し、
またLSI化する部分EX1に追加制御部EXC1を付
加し、シミュレータSYM1に対してテスト回路記述フ
ァイルFI1及び入力パターンファイルFI2を入力し
て、シミュレータSYM1とシミュレータSYM2を同
時に平行して実行してシミュレーション結果である出力
パターンファイルFO1を得て検証を行なう。この時の
制御関係は第1の実施例と同様である。
、言語変換部2でハードウェア記述ファイルFI3に言
語変換して、シミュレータSYM2の入力とする。次に
、元の演算部EXからLSI化する部分EX1を取り除
いた残りの部分EX2に追加制御部EXC2を付加し、
またLSI化する部分EX1に追加制御部EXC1を付
加し、シミュレータSYM1に対してテスト回路記述フ
ァイルFI1及び入力パターンファイルFI2を入力し
て、シミュレータSYM1とシミュレータSYM2を同
時に平行して実行してシミュレーション結果である出力
パターンファイルFO1を得て検証を行なう。この時の
制御関係は第1の実施例と同様である。
【0026】このように本実施例では、従来行なってい
た部分回路EX1に対する入力パターンファイルFI4
の新規作成、部分EX1を取り除いた残りの演算部EX
2に対するシミュレーション(出力パターンFO2)、
部分回路EX1に対するシミュレーション(出力パター
ンファイルFO3)、得られた出力パターンファイルF
O2及びFO3の比較対応チェック、及び得られた出力
パターンファイルFO1及びFO3の対応チェックの各
作業が不要となり、シミュレータへの入力データの設計
と交換データの選定作業を軽減できる。
た部分回路EX1に対する入力パターンファイルFI4
の新規作成、部分EX1を取り除いた残りの演算部EX
2に対するシミュレーション(出力パターンFO2)、
部分回路EX1に対するシミュレーション(出力パター
ンファイルFO3)、得られた出力パターンファイルF
O2及びFO3の比較対応チェック、及び得られた出力
パターンファイルFO1及びFO3の対応チェックの各
作業が不要となり、シミュレータへの入力データの設計
と交換データの選定作業を軽減できる。
【0027】次に、本発明の第3の実施例を図を用いて
説明する。
説明する。
【0028】図6は本発明の第3の実施例に係るLSI
設計支援装置の全体構成図を示す。同図において、61
は制御情報を抽出しようとする動作記述、62は記述か
らエッジに信号名と制御情報を付加したコントロール/
データフローグラフを作成するコントロール/データフ
ローグラフ作成部、63はこれにより出力されたコント
ロール/データフローグラフ、64はコントロール/デ
ータフローグラフの各エッジに対する変数名と条件を記
載した制御情報テーブル、65はこのコントロール/デ
ータフローグラフを基に制御情報を抽出する制御情報抽
出部、66は出力となる制御情報である。
設計支援装置の全体構成図を示す。同図において、61
は制御情報を抽出しようとする動作記述、62は記述か
らエッジに信号名と制御情報を付加したコントロール/
データフローグラフを作成するコントロール/データフ
ローグラフ作成部、63はこれにより出力されたコント
ロール/データフローグラフ、64はコントロール/デ
ータフローグラフの各エッジに対する変数名と条件を記
載した制御情報テーブル、65はこのコントロール/デ
ータフローグラフを基に制御情報を抽出する制御情報抽
出部、66は出力となる制御情報である。
【0029】次に、実際の具体例を用いて説明する。本
発明によるコントロール/データフローグラフの表記法
では、円の中に+、−、×の演算子の記されたものが演
算のノードであり、矩形で表されたものが制御のノード
である。そしてそれらのノード間を線分で接続している
ものがエッジである。また、制御条件の異なる同一変数
名のエッジが複数本存在してもよく、ある演算ノードの
1つの入力に対して複数本のエッジが存在してもよいと
いう規則を持つ。
発明によるコントロール/データフローグラフの表記法
では、円の中に+、−、×の演算子の記されたものが演
算のノードであり、矩形で表されたものが制御のノード
である。そしてそれらのノード間を線分で接続している
ものがエッジである。また、制御条件の異なる同一変数
名のエッジが複数本存在してもよく、ある演算ノードの
1つの入力に対して複数本のエッジが存在してもよいと
いう規則を持つ。
【0030】図7は第1の具体例で、記述とそのコント
ロール/データフローグラフを示している。また、表1
はコントロール/データフローグラフの各エッジに対し
て信号名と制御条件を記したものである。即ち、動作記
述61をコントロール/データフローグラフ作成部62
に入力し、コントロール/データフローグラフ63を生
成すると共に、エッジ毎に信号名、制御されている条件
を明記したテーブル64を作成する。表1ではエッジe
2に制御条件がかかっているだけであるが、同一の演算
の入力に接続しているe1には制御条件がかかっていな
い。そこで制御条件抽出部65ではこの演算ノードの1
つの入力に対して複数のエッジが入力されているノード
を中心に解析を行なって、e1のエッジに対してe2の
エッジの条件と排他的な条件(即ち、変数yの値が真の
時はa=2、偽の時はa=1)を付加し制御情報66を
更新する。この更新後の制御条件を表したものが表2で
ある。このように本実施例によれば、従来制御条件がな
かったエッジに対して制御条件を付加することが可能と
なり、記述中には陽に表現されていない制御条件を導出
できる。
ロール/データフローグラフを示している。また、表1
はコントロール/データフローグラフの各エッジに対し
て信号名と制御条件を記したものである。即ち、動作記
述61をコントロール/データフローグラフ作成部62
に入力し、コントロール/データフローグラフ63を生
成すると共に、エッジ毎に信号名、制御されている条件
を明記したテーブル64を作成する。表1ではエッジe
2に制御条件がかかっているだけであるが、同一の演算
の入力に接続しているe1には制御条件がかかっていな
い。そこで制御条件抽出部65ではこの演算ノードの1
つの入力に対して複数のエッジが入力されているノード
を中心に解析を行なって、e1のエッジに対してe2の
エッジの条件と排他的な条件(即ち、変数yの値が真の
時はa=2、偽の時はa=1)を付加し制御情報66を
更新する。この更新後の制御条件を表したものが表2で
ある。このように本実施例によれば、従来制御条件がな
かったエッジに対して制御条件を付加することが可能と
なり、記述中には陽に表現されていない制御条件を導出
できる。
【0031】
【表1】
【0032】
【表2】
【0033】次に、図8は第2の具体例で、記述とその
コントロール/データフローグラフを示している。また
、表3はコントロール/データフローグラフの各エッジ
に対して信号名と制御条件を記したものである。表3で
は制御条件がかかっているエッジはe9、e10だけで
ある。制御条件抽出部65ではこれらのエッジを遡り、
エッジe1、e2、e5、e5にエッジe9と同じ条件
が、またエッジe3、e4、e7、e8にエッジe10
と同じ条件がかかっていることを見い出し、制御情報を
更新する。この更新後の制御条件を表したものが表4で
ある。このように本実施例によれば、記述中には陽に表
現されていない文に対する制御条件も抽出できる。
コントロール/データフローグラフを示している。また
、表3はコントロール/データフローグラフの各エッジ
に対して信号名と制御条件を記したものである。表3で
は制御条件がかかっているエッジはe9、e10だけで
ある。制御条件抽出部65ではこれらのエッジを遡り、
エッジe1、e2、e5、e5にエッジe9と同じ条件
が、またエッジe3、e4、e7、e8にエッジe10
と同じ条件がかかっていることを見い出し、制御情報を
更新する。この更新後の制御条件を表したものが表4で
ある。このように本実施例によれば、記述中には陽に表
現されていない文に対する制御条件も抽出できる。
【0034】
【表3】
【0035】
【表4】
【0036】以上の例のように、制御情報を抽出した後
で回路構成を考えることで、条件によっては不必要な演
算(例えば、論理的に成立し得ない条件がかかった流れ
にある演算等)を削除したり、排他的な条件の基にある
(演算器は同時に実行されることがないことから)演算
器同士を同一のハードウェアで表現したりするというこ
とが考え易くなる。
で回路構成を考えることで、条件によっては不必要な演
算(例えば、論理的に成立し得ない条件がかかった流れ
にある演算等)を削除したり、排他的な条件の基にある
(演算器は同時に実行されることがないことから)演算
器同士を同一のハードウェアで表現したりするというこ
とが考え易くなる。
【0037】
【発明の効果】以上のように本発明によれば、ソフトウ
ェアプログラムの一部をLSI化する場合に、LSI化
する部分と残りの部分のシミュレーションの実行を同期
的に行ない、内部状態を相互に交換することとしたので
、検証の際のシミュレーションに使用する入力データの
作成作業を軽減でき、また、LSI化する範囲を変更す
る場合にも自動的に制御データを付加することが可能と
なり交換データの選定作業を軽減できるLSI設計支援
装置を提供することができる。
ェアプログラムの一部をLSI化する場合に、LSI化
する部分と残りの部分のシミュレーションの実行を同期
的に行ない、内部状態を相互に交換することとしたので
、検証の際のシミュレーションに使用する入力データの
作成作業を軽減でき、また、LSI化する範囲を変更す
る場合にも自動的に制御データを付加することが可能と
なり交換データの選定作業を軽減できるLSI設計支援
装置を提供することができる。
【0038】また本発明によれば、動作記述からレジス
タトランスファレベルの回路データへ言語変換する場合
、データの流れと制御の流れを同時に表し、且つ制御条
件部分の抽出を容易に行なうことができ、記述には陽に
表されていない制御条件をも導出できるので、質の良い
回路設計が可能なLSI設計支援装置を提供することが
できる。
タトランスファレベルの回路データへ言語変換する場合
、データの流れと制御の流れを同時に表し、且つ制御条
件部分の抽出を容易に行なうことができ、記述には陽に
表されていない制御条件をも導出できるので、質の良い
回路設計が可能なLSI設計支援装置を提供することが
できる。
【図1】本発明のクレーム対応図である。
【図2】本発明の第1の実施例に係るLSI設計支援装
置の全体構成図である。
置の全体構成図である。
【図3】第1の実施例の残りのソフトウェアプログラム
とシミュレータの実行時の制御関係を説明する図である
。
とシミュレータの実行時の制御関係を説明する図である
。
【図4】第1の実施例において実際の元のソフトウェア
プログラムに対して行なった分割とその変更の実例を示
す図である。
プログラムに対して行なった分割とその変更の実例を示
す図である。
【図5】本発明の第2の実施例に係るLSI設計支援装
置の全体構成図である。
置の全体構成図である。
【図6】本発明の第3の実施例に係るLSI設計支援装
置の全体構成図である。
置の全体構成図である。
【図7】本発明の第3の実施例の第1の具体例に係る動
作記述とコントロール/データフローグラフである。
作記述とコントロール/データフローグラフである。
【図8】本発明の第3の実施例の第2の具体例に係る動
作記述とコントロール/データフローグラフである。
作記述とコントロール/データフローグラフである。
【図9】従来のシミュレータと入出力ファイルの関係を
説明する図である。
説明する図である。
【図10】従来のシミュレータの入出力ファイルの具体
例である。
例である。
【図11】従来のシミュレータを使用して演算部の一部
をLSI化する場合の全体構成図である。
をLSI化する場合の全体構成図である。
【図12】従来の動作記述とコントロール/データフロ
ーグラフの第1の具体例である。
ーグラフの第1の具体例である。
【図13】従来の動作記述とコントロール/データフロ
ーグラフの第2の具体例である。
ーグラフの第2の具体例である。
1 分割指定部
2 言語変換部
3 コントロール/データフローグラフ作成部4
制御情報抽出部 5 シミュレータ 6 共有記憶部 7 制御部 10 あるソフトウェアプログラム 11 LSI化する部分 12 ハードウェア記述 13 シミュレータ 15 残りのソフトウェアプログラム16 追加制
御部 16a 追加制御部 16b 追加制御部 17 追加制御部 17a 追加制御部 17b 追加制御部 18 共有記憶領域 61 動作記述 62 コントロール/データフローグラフ作成部63
コントロール/データフローグラフ64 制御情
報テーブル 65 制御情報抽出部 66 制御情報
制御情報抽出部 5 シミュレータ 6 共有記憶部 7 制御部 10 あるソフトウェアプログラム 11 LSI化する部分 12 ハードウェア記述 13 シミュレータ 15 残りのソフトウェアプログラム16 追加制
御部 16a 追加制御部 16b 追加制御部 17 追加制御部 17a 追加制御部 17b 追加制御部 18 共有記憶領域 61 動作記述 62 コントロール/データフローグラフ作成部63
コントロール/データフローグラフ64 制御情
報テーブル 65 制御情報抽出部 66 制御情報
Claims (3)
- 【請求項1】 あるソフトウェアプログラムの一部を
LSI化して高速化を図るLSI設計支援装置において
、あるソフトウェアプログラムをLSI化する部分と残
りのソフトウェアプログラムに分割する分割指定部と、
前記LSI化する部分の記述をレジスタトランスファレ
ベルのハードウェア記述に変換する言語変換部と、前記
ハードウェア記述を入力してシミュレーションを行なう
シミュレータと、前記残りのソフトウェアプログラムで
使用するデータと前記シミュレータで使用する回路デー
タを保持する共有記憶部と、前記残りのソフトウェアプ
ログラムと前記シミュレータとを同期をとって並列実行
させ前記シミュレータが前記共有記憶部のデータを使用
して検証し前記残りのソフトウェアプログラムの動作を
確認するよう制御する制御部とを有することを特徴とす
るLSI設計支援装置。 - 【請求項2】 前記言語変換部は、入力した言語記述
を各種演算の演算ノード及び条件分岐等の制御ノードと
それらノードを信号名と制御条件を付加したエッジで接
続して構成されるコントロール/データフローグラフに
変換するコントロール/データフローグラフ作成部と、
作成されたコントロール/データフローグラフから暗黙
の内にデータ転送に制御条件のかかっているエッジを抽
出する制御情報抽出部とを有することを特徴とする請求
項1に記載のLSI設計支援装置。 - 【請求項3】 前記コントロール/データフローグラ
フは、制御条件の異なる同一変数名のエッジが複数本存
在してもよく、ある演算ノードの1つの入力に対して複
数本のエッジが存在してもよいという規則を有すること
を特徴とする請求項2に記載のLSI設計支援装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3014317A JPH04248675A (ja) | 1991-02-05 | 1991-02-05 | Lsi設計支援装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3014317A JPH04248675A (ja) | 1991-02-05 | 1991-02-05 | Lsi設計支援装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04248675A true JPH04248675A (ja) | 1992-09-04 |
Family
ID=11857717
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3014317A Pending JPH04248675A (ja) | 1991-02-05 | 1991-02-05 | Lsi設計支援装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04248675A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004003794A1 (ja) * | 2002-06-26 | 2004-01-08 | E-Trees.Japan Inc. | ソフトウェアをハードウェアに置き換えることにより通信プロトコルを高速処理する方法および装置 |
| JP2006004044A (ja) * | 2004-06-16 | 2006-01-05 | Sanyo Electric Co Ltd | 回路装置およびプログラム処理方法 |
-
1991
- 1991-02-05 JP JP3014317A patent/JPH04248675A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004003794A1 (ja) * | 2002-06-26 | 2004-01-08 | E-Trees.Japan Inc. | ソフトウェアをハードウェアに置き換えることにより通信プロトコルを高速処理する方法および装置 |
| JP2006004044A (ja) * | 2004-06-16 | 2006-01-05 | Sanyo Electric Co Ltd | 回路装置およびプログラム処理方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2563663B2 (ja) | 論理設計処理装置およびタイミング調整方法 | |
| US5960182A (en) | Hardware-software co-simulation system, hardware-software co-simulation method, and computer-readable memory containing a hardware-software co-simulation program | |
| EP0433066A2 (en) | Common symbol library architecture | |
| US7966590B2 (en) | Circuit design data conversion apparatus, circuit design data conversion method, and computer product | |
| JPH04248675A (ja) | Lsi設計支援装置 | |
| Shang et al. | Asynchronous system synthesis based on direct mapping using VHDL and Petri nets | |
| JPH1091677A (ja) | シミュレーション/エミュレーションの効率を増すための論理変換方法 | |
| JP4205525B2 (ja) | 並列シミュレーション装置および並列シミュレーション方法 | |
| JP2714015B2 (ja) | 論理回路合成装置 | |
| JP3246668B2 (ja) | 並列処理プログラムコンパイル装置 | |
| JP2972499B2 (ja) | 論理回路遅延シミュレータ装置 | |
| JP6949440B2 (ja) | ベクタ生成装置及びベクタ生成用プログラム | |
| JP2980761B2 (ja) | 論理回路最適化装置 | |
| JPS63137451A (ja) | Cadシステム | |
| JP3311761B2 (ja) | 並列処理プログラムシミュレータ | |
| JPH05282395A (ja) | ハードウェアシミュレータの双方向ピン入出力切換え方法 | |
| JPH05298390A (ja) | 位置情報を利用したクロツク分配方法 | |
| KR0161763B1 (ko) | 오엠티 기법을 이용한 설계 정보 편집 방법 | |
| JP3930622B2 (ja) | スタティックタイミング検証用遅延値導出方法 | |
| JP2000113019A (ja) | 回路設計方法および設計支援装置 | |
| JP2797955B2 (ja) | 期待値照合装置および方法 | |
| JPH1078973A (ja) | 順序処理記述の変換方法および装置 | |
| JP2000305967A (ja) | 状態遷移情報調整装置及び回路設計装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| JP2000206209A (ja) | テストシステム | |
| JPH0363878A (ja) | Lsi設計支援システム |