JP3215210B2 - ハードウェア設計支援システム - Google Patents

ハードウェア設計支援システム

Info

Publication number
JP3215210B2
JP3215210B2 JP04662993A JP4662993A JP3215210B2 JP 3215210 B2 JP3215210 B2 JP 3215210B2 JP 04662993 A JP04662993 A JP 04662993A JP 4662993 A JP4662993 A JP 4662993A JP 3215210 B2 JP3215210 B2 JP 3215210B2
Authority
JP
Japan
Prior art keywords
signal
description
sensitivity
extracted
hardware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP04662993A
Other languages
English (en)
Other versions
JPH06259498A (ja
Inventor
奈穂美 高橋
雄一 黒澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP04662993A priority Critical patent/JP3215210B2/ja
Publication of JPH06259498A publication Critical patent/JPH06259498A/ja
Application granted granted Critical
Publication of JP3215210B2 publication Critical patent/JP3215210B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ハードウェアの設計を
支援するCAD(計算機支援設計)システムにおいて、
ハードウェア記述言語による設計を支援するハードウェ
ア設計支援システムに関するものである。
【0002】
【従来の技術】近年、LSI等の設計対象であるハード
ウェアの大規模化は目覚ましいものがあり、これにとも
ない設計効率の向上を目的として機能設計のような設計
の上位工程から設計を支援するCADシステムが開発さ
れている。
【0003】このようなCADシステムにおいては、そ
の入力データとしてソフトウェアのプログラム言語に類
似したハードウェア設計用のハードウェア記述言語(以
下HDLと表記する)が用いられる。
【0004】そして、このようなHDLとして、論理回
路の接続を記述するTDLと具体的な回路の構成を意識
せずに論理回路の機能を記述するDDLのように、単一
の記述形式で特定の設計レベルを対象とするものが開発
されてきた。
【0005】しかし、これらの言語は独立に開発され、
単一の設計レベルを対象としたものであるため、これら
の記述を混在させて設計対象ハードウェアのモデル記述
を行ってミックスレベルシミュレーションを行なうこと
はできないという問題点があった。
【0006】一方、設計対象ハードウェアの大規模化に
伴って、設計対象を複数のモジュールに分割して、複数
の設計者によりモジュール毎に並列して設計を行なう設
計手法が一般的になってきた。そして、このような設計
手法においては、モジュール毎に適切な記述形式、記述
レベルが異なる、あるいは、設計者により記述方式が異
なるため、単一のHDLにより複数の記述レベル、記述
方式でモデル記述を行ない、ミックスレベルシミュレー
ションにより、モデルを検証できることが望まれてき
た。
【0007】このような背景から最近、一つの言語で異
なる設計レベルの表現を混在させ、ミックスレベルシミ
ュレーションを行なうことができるHDLとして、Ve
rilog−HDLやVHDLが開発されている。この
うちのVHDLについては、1987年IEEE標準化
され、今後ほとんど全ての設計に使用されると予測され
る(参考文献、VHDL言語記述によるハードウェア設
計へのアプローチR.リプセット他著、杉山尚志他訳、
マグロウヒル出版(株)、Digital Desig
n with Verilog HDL Elieze
r Sternheim他著、Automata Pu
blishing Company)。
【0008】また、これらのHDLでは、ディレイや非
同期動作を扱うことを可能としていて、イベントドリブ
ンシミュレーションの概念に基づき言語仕様が設計され
ている(ここで、イベントドリブンシミュレーションと
は、ある時刻においてモジュールの出力信号値が変化し
たときのみ、前記出力信号を入力とするモジュールにつ
いて演算処理を行ない、シミュレーションを進めていく
方式である。この方式は、上記のディレイや非同期動作
を扱う一般的な手法として広く用いられている)。
【0009】すなわち、これらのHDLの基本となるス
テートメントの記述は、ある信号の変化が起こった時
に、あるいは一定の時間が経過した時に信号への代入を
実行するというイベントドリブン型の記述である。
【0010】例えば、クロック信号clkの立ち上がり
でレジスタRに信号Dの値を転送するという動作はVe
rilog−HDLでは図29のように記述し、VHD
Lでは図30のように記述する。
【0011】これらの並列動作の記述単位はプロセスと
呼ばれ、このプロセスを起動するトリガの役割をする信
号をセンシティビティリストと呼ぶ。上記の例ではcl
kがセンシティビティリストである。
【0012】図31は、信号Q,RDTの値から決定さ
れるテーブルTB,TAのアドレス部分を参照して信号
MBAの値を決定するセレクタ回路のVHDLによる機
能記述である。
【0013】上述のレジスタRへの転送の例ではセンシ
ティビティリストは一つの信号であったが、図31の様
な組合せ回路の機能を記述すると、一般に代入文の右
辺、条件文の条件式に現れる全ての信号を記述すること
が必要になることから、センシティビティリストの信号
数は多くなる。
【0014】図31に示す記述においては、Q(5),
Q(6),RDT(0),RDT(1)、RDT
(2),RDT(3),TA(2),TA(3),TA
(4),TA(5),TA(6),TA(7),TA
(8),TB(2),TB(3),TB(4),TB
(5),TB(6),TB(7),TB(8)の合計2
0個の信号がセンシティビティリストの信号となってい
る。
【0015】ここで、図31では、例えば8ビットの信
号Qの部分ビットQ(5to6)がセンシティビティリス
トに入っているが、これを単にQとした場合は(図32
参照)、その動作が異なってくる。すなわち、図31の
場合には信号Q(0),Q(1),Q(2),Q
(3),Q(4),Q(7)に変化が起ってもプロセス
に書かれている動作は実行されないが図32の場合には
プロセス内に記述されている処理が行なわれることにな
る。
【0016】このようにセンシティビティリストを記述
する際には配列信号の参照される部分に十分に注意を払
うことが必要である。
【0017】また、図31において信号TA,TBをセ
ンシティビティリストに入れなかった場合でも(図33
参照)文法的には誤りではない。
【0018】その理由としては、 (a)RDT(0to3),Q(5to6)の値に変化(以
下イベントと記す)が起こった時だけMBAの値を更新
し、それ以外の時は保存し続けるようにしたい場合図3
3の記述は正しい。
【0019】(b)図31のモジュールを使用する上位
階層の記述においてRDT(0to3),Q(5to6)に
対するイベント発生時に更新されるMBAの値のみ参照
している場合図33の記述は正しい。
【0020】からである。
【0021】しかし、TA,TBにイベントが発生する
タイミングがQ、RDTと異なり、MBAの値はこのプ
ロセスで計算される値を常に保持していなくてはならな
い場合には、参照される信号をすべてセンシティビティ
リストに入れておかなければならないため、図33の記
述は誤りである。これは、例えば、信号Qをセンシティ
ビティリストに入れなかった場合、信号Qにイベントが
発生してから、信号RDT,TA,TBにイベントが発
生するまでは、信号MBAはこのプロセスで示される値
を保持しているとは保証されないからである。
【0022】このようなセンシティビティリストは、従
来のTDL,DDL等には見られなかったものであり、
その記述の際は、上述したように記述したい動作の意味
を考えながら行なう必要があった。
【0023】このことは、従来のHDLに比べ、モデル
作成時の設計者の負担が大きくなり、特に、これまで論
理回路図を用いて設計を行なってきた設計者にとっては
このようなシミュレーション特有の概念は馴染みずら
く、HDLベースの設計へ移行しにくいという問題点が
あった。
【0024】また、図31のセレクタ等複雑な回路の機
能記述においては、センシティビティリストへ挿入すべ
き信号を書き忘れるミスも多くなり、さらには、センシ
ティビティリストへ必要な信号を書き忘れるミスはコン
パイル時には発見されずシミュレーション時に予期しな
い動作として現れるだけであるためデバッグの手間が増
加するという問題点もあった。
【0025】
【発明が解決しようとする課題】このように、VHD
L、Verilog−HDLのようなミックスレベルシ
ミュレーションを可能にするハードウェア記述言語を用
いて設計対象ハードウェアの機能記述を行なう場合に
は、それらの言語に共通なセンシティビティリストとい
う概念が、従来から回路図により設計を行なってきた設
計者にとって馴染みにくいという問題点がある。また、
そのハードウェアが複雑である場合にはセンシティビテ
ィリストに挿入すべき信号の数が多くなるため、必要な
信号を書き忘れるミスが多くなるという問題がある。さ
らに、センシティビティリストへ必要な信号を書き忘れ
るミスは、文法的には誤りではないためコンパイル時に
は発見させず、シミュレーション時に予期しない動作と
して現れるだけであるためデバッグの手間が増加すると
いう問題もある。
【0026】本発明は上記事情に鑑みてなされたもの
で、設計者のハードウェア記述言語による入力の負担を
軽減することができ、設計能率の向上を図ることができ
るハードウェア設計支援システムを提供することを目的
とする。
【0027】
【課題を解決するための手段】本発明に係るハードウェ
ア設計支援システムは、設計対象のハードウェア記述プ
ログラムからハードウェアの並列動作記述部分を抽出す
る第1抽出手段と、前記第1抽出手段より抽出された並
列動作記述部分から起動条件信号の候補となる信号を抽
出する第2抽出手段と、前記第2抽出手段より抽出され
た起動条件信号の候補となる信号を表示する信号表示手
段と、前記信号表示手段に表示された信号の中から指示
された信号を起動条件信号として選択する信号選択手段
と、前記信号選択手段より選択された起動条件信号を前
記ハードウェア記述プログラムの並列動作記述部分に挿
入する編集手段とを具備したことを特徴とする。
【0028】また、本発明に係るハードウェア設計支援
システムは、設計対象のハードウェア記述プログラムか
らハードウェアの並列動作記述部分を抽出する第1抽出
手段と、前記第1抽出手段より抽出された並列動作記述
部分から起動条件信号の候補となる信号を抽出する第2
抽出手段と、前記第1抽出手段より抽出された並列動作
記述部分から、記述されているセンシティビティ信号を
抽出する第3抽出手段と、前記第2抽出手段により抽出
された信号と前記第3抽出手段により抽出されたセンシ
ティビティ信号を比較する比較手段と、前記比較手段の
比較結果を表示する表示手段と、前記表示手段に表示さ
れた比較結果に基づいて、指示された所望のセンシティ
ビティ信号を選択する信号選択手段と、前記信号選択手
段より選択されたセンシティビティ信号を前記ハードウ
ェア記述プログラムに挿入する編集手段とを具備したこ
とを特徴とする。
【0029】
【作用】この結果、本発明によれば、設計対象ハードウ
ェアの記述から第1抽出手段によってハードウェアの並
列動作記述部分を抽出し、次に、並列動作記述部分毎に
信号代入文で参照されている、すなわち右辺に現れる信
号や、条件文の条件部に現れる信号など、該並列動作記
述部分内で参照されている信号を起動条件信号の候補と
して第2抽出手段によって抽出する。そして、抽出され
た信号を信号表示手段に表示し、この表示された信号か
ら、信号選択手段によって該並列動作記述部分に挿入す
べき信号を選択し、選択された信号を編集手段によって
該並列動作記述部分に挿入する。これにより、設計者
が、意図するハードウェアの動きを考慮しながら、表示
された信号のうち、該並列動作記述部分に挿入すべき信
号を選択し、該並列動作記述部分へ挿入することができ
る。この際、信号の書き忘れや、信号名のタイプミスを
減少させることができる。また、信号選択時には、複合
タイプ(配列や構造型)については、全体の信号名で選
択する他に部分名で選択することができる。
【0030】また、本発明によれば、第3抽出手段によ
ってハードウェア記述言語において並列動作記述部分に
記述されたセンシティビティ信号を抽出し、そのセンシ
ティビティ信号と第2抽出手段で抽出された信号とを比
較手段によって比較し、これらの比較結果を表示手段に
表示する。これにより、既に並列動作記述部分の起動条
件信号が記述される部分に記入してある記述についても
起動条件信号の書き忘れが無いか調べたり、信号を追加
挿入することができる。これにより、記述を最初に書い
た時だけでなく、更新後もチェックを行うことができ
る。
【0031】また、表示手段によって表示された比較結
果から所望の信号として並列動作記述部分の起動条件信
号が記述される部分に追加挿入すべき信号を選択し、こ
の選択された信号を編集手段によってハードウェア記述
プログラムに挿入する。これにより、既に起動条件信号
が記述されているハードウェア記述プログラムに対して
センシティビティ信号の書き忘れが無いか調べ、追加挿
入の必要のある信号を選択して付け加えることにより、
センシティビティ信号の記入漏れを減少させることがで
きる。
【0032】
【実施例】以下、本発明の実施例を図面に従い説明す
る。
【0033】(第1実施例)図1は第1実施例に係わる
ハードウェア設計支援システムの概略構成を示してい
る。図において、1は入力部で、この入力部1は、設計
者が設計対象とするハードウェアの動作仕様をハードウ
ェア記述プログラムとして入力するためのものである。
また、この入力部1には、センシティビティリスト選択
のための指示を行う選択指示部11を有している。
【0034】この入力部1には制御部2を接続し、この
制御部2には記憶部3および表示部4を接続している。
ここで、制御部2は、記憶部3および表示部4に対し制
御指令を出力するもので、プロセス抽出部21、参照信
号抽出部22、センシティビティリスト信号選択部23
および編集部24を有している。
【0035】プロセス抽出部21は、入力部1より入力
されたハードウェア記述プログラムからハードウェアの
並列動作記述単位をプロセスとして抽出するものであ
る。
【0036】参照信号抽出部22は、プロセス抽出部2
1より抽出されるプロセスのうちでシミュレーション時
におけるプロセスの起動条件信号の候補として並列動作
記述部分において参照されている信号を抽出するもの
で、ここでは、プロセスに書かれている信号のうち、代
入文の右辺、条件文の条件式に現れる全ての信号を抽出
するようにしている。
【0037】センシティビティリスト信号選択部23
は、表示部4の後述する参照信号表示部41に表示され
た参照信号から選択指示部11の指示に従ってセンシテ
ィビティリストとして挿入すべき信号を選択するもので
ある。
【0038】編集部24は、センシティビティリスト信
号選択部23によりセンシティビティリストとして挙げ
られる信号を用いて元のハードウェア記述プログラムを
編集し、センシティビティリストを挿入したハードウェ
ア記述プログラムを生成するするようにしている。
【0039】記憶部3は、入力部1より入力されたハー
ドウェア記述プログラムおよび編集部24で生成された
センシティビティリストを挿入したハードウェア記述プ
ログラムを記憶するものである。
【0040】表示部4は、入力部1より入力されたハー
ドウェア記述プログラムを表示するとともに、上記参照
信号抽出部22より抽出された信号を参照信号として参
照信号表示部41に表示しするようにしている。
【0041】次に、以上のように構成した実施例の動作
を説明する。
【0042】この場合、入力部1より図2に示すような
ハードウェア記述プログラムが入力された場合を例にと
って説明する。
【0043】図2に示すハードウェア記述プログラム
は、信号Q,RDTの値から決定されるテーブルTB,
TAのアドレス部分を参照して信号MBAの値を決定す
るセレクタの記述である。
【0044】このプログラムでは、第1行目から第7行
目にモジュールselectorの外部端子の宣言が書
かれており、第8行目から最後の行にかけてモジュール
selectorの内部で起こる回路の動作が記述され
ている。このうちの第13行目から第41行目までは、
モジュールselectorの中心部であるプロセスs
electの動作が記述されている。
【0045】しかして、図2に示すハードウェア記述プ
ログラムが入力され、センシティビティリストが自動生
成されることにより、設計者の意図に合うシミュレーシ
ョンを実現するハードウェア記述が作成されるまでを図
3に示すフローチャートにより説明する。
【0046】まず、設計者が入力部1より図2に示すハ
ードウェア記述プログラムを入力したとすると、プロセ
ス抽出部21がプロセスを抽出する(ステップ30
1)。この場合、プロセス抽出部21で抽出されるプロ
セスは、図2に示す記述のうちのA部分で、図4に示す
ように得られる。
【0047】ここで、プロセスが存在しなければ処理を
終了するが、図2に示す記述ではプロセスが存在してい
るので(ステップ302)、次のステップ303に進
む。
【0048】ステップ303では、参照信号抽出部22
において、プロセス抽出部21より抽出されたプロセス
に記述されている信号のうち、代入文の右辺、条件文の
条件式に現れる全ての信号を参照信号として抽出する。
この場合、抽出される参照信号は図6に示すように得ら
れる。
【0049】図5は、参照信号抽出部22での処理フロ
ーを示すものである。ここで、extract(s,
L)は、文sに含まれる参照信号を集合Lに入れる手続
きであり、文sが複文の場合はこの手続きが再帰的に呼
ばれる。
【0050】まず、ステップ501で抽出されたプロセ
スに現れる参照信号の集合を表すLISTを空集合に初
期化する。
【0051】次に、ステップ502で、このプロセスの
全ての文について処理が終了したかどうかの判定を行な
い、もし終了していなかったら残りの文sについてex
tract(s,L)を実行する。
【0052】次に、Lを空集合に初期化した後(ステッ
プ503)、ステップ504において、文sのタイプに
よって異なる処理を実行するようにする。
【0053】いま、文sがifの場合には、最初に条件
式を取り出す(ステップ505)。そして、条件式に現
れる信号を抽出して
【数1】 を行なう(ステップ506)。
【0054】ここで、もし
【数2】 ならばL=Lであり、Lの要素は重複しない。次に、i
f文のthen側の全ての文s′に対してextrac
t(s′,L′)を実行し、L′をLに含める(ステッ
プ507)。もし、if文にelse側があれば、el
se側についても同様のことを行なう(ステップ50
8)。
【0055】次に、文sがcase文の場合には、上述
したifの場合と同様にしてステップ509で条件式を
取り出し、ステップ510で条件式に現れる信号を抽出
して、Lに入れる。また、ステップ511で、全ての分
岐の全ての文s′に対してextract(s′,
L′)を実行し、L′をLに含める。
【0056】次に、文sが信号代入文の場合には、右辺
に現れる信号を抽出して、Lに入れるようになる(ステ
ップ512)。
【0057】そして、文sがそれ以外の文の場合には、
何もしない。
【0058】次に、これらextract(s,L)が
終了したら、sに含まれる参照信号の集合Lをプロセス
中の文に現れる参照信号の集合LISTに含めるように
する(ステップ513)。
【0059】その後、プロセス中の全ての文sについて
extract(s,L)を実行したら(ステップ50
2)、LISTにはプロセス中の参照信号の集合が入れ
られ、手続きは終了する。
【0060】図3に戻って、参照信号抽出部22で抽出
した信号を表示部4の参照信号表示部41に表示する
(ステップ304)。この場合、参照信号表示部41で
の参照信号の表示は、図6に示すようになる。
【0061】この状態から、設計者は、参照信号表示部
41に表示された信号を参照して、入力部1の選択指示
部11によりセンシティビティリストとして挿入すべき
信号を指示する(ステップ305)。これにより、セン
シティビティリスト信号選択部23では、選択指示部1
1の指示に従って参照信号表示部41の参照信号の中か
らセンシティビティリストとして挿入すべき信号を選択
する。
【0062】ここで、例えば設計者がRDT(0),R
DT(1to2),RDT(3),Q(5),Q(6)に
イベントの起こった時だけMBAの値を更新し、それ以
外の時は保存し続けるようにしたいと考えたとすると、
図7に示すように信号Q(5),Q(6),RDT
(0),RDT(1to2),RDT(3)をそれぞれチ
ェックすることにより選択するようになる。
【0063】そして、最後に編集部24においてセンシ
ティビティリスト挿入後のハードウェア記述プログラム
が自動的に作成される(ステップ306)。この場合、
センシティビティリスト挿入後のハードウェア記述プロ
グラムとしては、図8に示すものが得られることにな
る。
【0064】なお、TA,TBの値の変わるタイミング
がQ,RDTと異なり、MBAがこのプロセスで計算さ
れる値を常に保持していなくてはならないような場合
は、図6に示す参照信号を全て選択すればよい。この場
合、センシティビティリスト挿入後のハードウェア記述
プログラムとしては、図9に示すものが得られる。
【0065】従って、このようにすれば、参照信号抽出
部22より抽出された参照信号Q(5),Q(6),R
DT(0),RDT(1to2),RDT(3),TA
(2),TA(3),TA(4),TA(5),TA
(6),TA(7),TA(8),TB(2),TB
(3),TB(4),TB(5),TB(6),TB
(7),TB(8)から設計者が設計の意図に合った信
号のみを選択して、センシティビティリストとして挿入
することにより、センシティビティリストを書き忘れる
ようなミスを確実に防ぐことができる。
【0066】また、図2に示すようにセンシティビティ
リストが挿入されていないハードウェア記述プログラム
から、センシティビティリストに挿入すべき信号の候補
を抽出・表示し、設計者が設計の意図に合った信号を選
択し、センシティビティリストとして記述に挿入するこ
とにより、自動的にセンシティビティリストの記述を作
成することができる。
【0067】これにより、コンパイル時には発見できず
に、シミュレーション時に予期しない動作を招くような
プログラム記述ミスを極力少なくでき、シミュレーショ
ンに要する工数、時間を減らすことが可能になる。
【0068】(第2実施例)第1実施例では、センシテ
ィビティリストが挿入されていないハードウェア記述プ
ログラムから参照信号の抽出・表示を行ないセンシティ
ビティリストを作成・挿入するようにしたが、第2実施
例では、図11に示すように既にセンシティビティリス
トが挿入されているハードウェア記述プログラムに対し
て、センシティビティリストの記入洩れをチェックする
ようにしている。
【0069】図10は、第2実施例の概略構成を示すも
ので、この場合、制御部2は、図1で述べた構成に加え
てセンシティビティ信号を抽出するセンシティビティ信
号抽出部25、参照信号抽出部22において抽出された
参照信号とセンシティビティ信号抽出部25において抽
出されたセンシティビティ信号を比較する比較部26を
有し、この比較部26での比較結果を表示部4に表示す
るようにしている。その他は、図1と同様であり、同一
部分には同符号を付している。
【0070】しかして、いま、設計者が入力部1より図
11に示すハードウェア記述プログラムを入力したとす
る。
【0071】すると、プロセス抽出部21がプロセスを
抽出する。次いで、参照信号抽出部22によりプロセス
抽出部21より抽出されたプロセスに記述されている信
号のうち、代入文の右辺、条件文の条件式に現れる全て
の信号を参照信号として抽出する。また、センシティビ
ティ信号抽出部25において、プロセス抽出部21より
抽出されたプロセスよりセンシティビティ信号を抽出す
る。この場合のセンシティビティ信号は、図12に示す
ように得られる。
【0072】そして、参照信号抽出部22より抽出され
た参照信号と、センシティビティ信号抽出部25で抽出
されたセンシティビティ信号を比較部26で比較し、そ
の比較結果として、参照信号中でセンシティビティ信号
でない信号を表示部4に表示する。この場合の比較結果
は、図13に示すように得られる。
【0073】こうすることにより、既にセンシティビテ
ィリストが挿入されているハードウェア記述プログラム
に対してセンシティビティリストの記入洩れをチェック
することができる。
【0074】そして、表示部4に表示された信号からセ
ンシティビティリストに追加挿入すべき信号を入力部1
の選択指示部11より指示すると、センシティビティリ
スト信号選択部23がセンシティビティリストとして挿
入すべき信号を選択する。
【0075】ここで、例えば、図13に表示されている
信号のうちQ(5),RDT(3)を選択したとする
と、これら選択された信号はセンシティビティ信号に追
加され、新しいセンシティビティリストが生成され、最
後に、編集部24においてセンシティビティリスト挿入
後のハードウェア記述プログラムが自動的に作成される
ようになる。
【0076】従って、このようにすれば、既にセンシテ
ィビティリストが挿入されているハードウェア記述プロ
グラムに対してセンシティビティリストの記入洩れをチ
ェックできるようになる。
【0077】なお、この方法によれば、センシティビテ
ィリストを更新することも可能である。
【0078】(第3実施例)第1実施例および第2実施
例では、入力されたハードウェア記述プログラムから参
照信号として、if、caseの条件式に現れる信号と
信号代入文の右辺に現れる信号を全て抽出し表示するよ
うにした。
【0079】しかし、一般にif、caseの条件式に
現れる信号は回路の制御を表す信号で(以下ではこれを
制御信号と呼ぶ)、信号代入文の右辺に現れる信号は演
算データを表す信号であることが多い(以下ではこれを
データ信号と呼ぶ)。
【0080】そこで、第3実施例では、信号抽出・表示
の際にデータ信号は含まず制御信号のみを抽出し表示す
るモードを設け、プロセスを制御信号の変化のみにより
起動するようにしている。
【0081】図14は、第3実施例の概略構成を示すも
ので、この場合、入力部1は、図1で述べた構成に加え
て抽出信号モード指定部12を有している。その他は、
図1と同様であり、同一部分には同符号を付している。
【0082】抽出信号モード指定部12は、抽出信号モ
ードとして以下の3種のモードを用意している。
【0083】(a)クロック信号抽出モード(クロック
モード) (b)制御信号抽出モード(制御モード) (c)全ての参照信号抽出モード(allモード) そして、抽出信号モード指定部12では、設計者が上記
(a)〜(c)のいずれのモードにしたがってセンシテ
ィビティリストを抽出すべきかを指定する。
【0084】すると、参照信号抽出部22では、指定モ
ードに従って信号を抽出する。
【0085】ここで、図15に参照信号抽出のアルゴリ
ズムを示している。いま、図16に示すハードウェア記
述プログラムが入力されたとすると、抽出信号モード指
定部12で指定された抽出信号モードに従って(ステッ
プ1501)、以下述べる処理フローが実行される。
【0086】まず、抽出信号モードがクロックモードで
ある場合は、‘eventアトリビュートのある信号の
みが抽出され(ステップ1502)、参照信号表示部4
1には、図17に示す信号が表示される。
【0087】また、抽出信号モードが制御モードである
場合は、if、caseの条件部に現れる信号のみが抽
出され(ステップ1503)、参照信号表示部41に
は、図18に示す信号が表示される。
【0088】また、抽出信号モードがallモードであ
る場合は、参照される全ての信号が抽出され(ステップ
1504)、参照信号表示部41には、図19に示す信
号が表示される。
【0089】設計者は、これら表示された参照信号に対
して、入力部1の選択指示部11より指示すると、セン
シティビティリスト信号選択部23がセンシティビティ
リストとして挿入すべき信号を選択する。これにより、
編集部24において、設計者が選択した参照信号をセン
シティビティリストに挿入したハードウェア記述プログ
ラムが自動的に作成されるようになる。
【0090】なお、指定モードにしたがってシステムが
抽出した信号と、設計者が既に挿入しているセンシティ
ビティ信号とを比較し、その比較結果を表示するように
もできる。
【0091】従って、このようにすれば抽出信号モード
指定部12により抽出信号モードを指定すると、参照信
号抽出部22では、指定されたモードの信号を抽出する
ようになり、これを用いることで、設計対象ハードウェ
アにおいて参照される信号が多い場合に信号をモード毎
に分類して抽出でき、これにより、設計者が明らかに起
動条件信号のリストには入らないと判断する信号を信号
選択の前段階で排除することができ、信号を選択するの
が容易になる。
【0092】(第4実施例)第3実施例では、抽出信号
のモード指定を行なった後に、その指定されたモードに
したがって信号抽出を行ない、これを表示し、設計者
は、この表示からセンシティビティリストに挿入すべき
信号を選択するようにしているが、第4実施例では、設
計者は、抽出前にはモード指定を行わず、システムが信
号を抽出する際に、クロック信号、クロック信号以外の
制御信号、それ以外の全ての参照信号を分けて抽出し、
その後、抽出信号を表示する時点において、第3実施例
で述べた抽出信号モード指定部12によってモード指定
を行い、これら指定モードに沿った信号を抽出信号から
選んで参照信号表示部41に表示するようにしている。
【0093】このようにしても、第3実施例と同様な効
果が期待できる。
【0094】(第5実施例)第1乃至第4実施例では、
あるプロセスのセンシティビティリストに挿入する信号
の候補として表示する信号は、全てそのプロセスの記述
内で既に参照されている信号であった。
【0095】しかし、設計者の記述する回路は一般に複
数のモジュールからなり、それらのモジュールの中の複
数のプロセスがある信号をトリガにして動作することが
多い。そして、複数のプロセスを制御する信号はそれら
のプロセスの記述中に現れないことも多い。
【0096】そこで、第5実施例では、予め設計者によ
り大部分のプロセスで共通にセンシティビティリストに
入る可能性のある信号をあらかじめ登録しておき、セン
シティビティリストの候補として必ず表示させるように
している。
【0097】図20は、第5実施例のの概略構成を示す
もので、この場合、制御部2に、候補信号記憶部5を接
続し、予め設計者によりセンシティビティリストに挿入
する信号のデフォルト候補信号を記憶しておき、このデ
フォルト候補信号を参照信号とともに参照信号表示部4
1に表示するようにしている。その他は、図1と同様で
あり、同一部分には同符号を付している。
【0098】例えば、図21に示すようにClockと
いう名前のグローバル信号を参照できるモジュールm
1,m2,m3の中にプロセスp1,p2,p3がある
ような場合、これらプロセスp1〜p3の記述の中では
Clockは記述中で参照されていない。
【0099】しかし、設計者がこの回路の階層内でプロ
セスを記述する時に、候補信号記憶部5にClockを
記憶させたとすると、参照信号表示部41では図22の
ようにClock信号を含めた信号リストが表示され
る。
【0100】これを用いて、設計者が表示された信号を
全て選択すれば、図21に示す記述にセンシティビティ
リストを挿入した記述23が得られることになる。
【0101】上の例では、グローバル信号の場合を説明
したが、各モジュールのポート信号の場合も同様であ
る。
【0102】これにより、プロセスの記述内に現れない
信号のうち設計の中で複数のプロセスのトリガとなりう
る信号のセンシティビティリストへの挿入ミスを減少さ
せることができる。
【0103】なお、候補信号記憶部5に記憶させた信号
を参照信号として表示し、設計者に選択させる以外に
も、必ずセンシティビティリストに加えるという方法も
ある。また、候補信号記憶部5に信号を記憶させるの
に、上記の例では、設計者が信号を指定し、このとき、
当該信号が当該モジュールで参照可能である場合に候補
信号記憶部5に記憶させるようにしているが、システム
があるモジュールにおいて参照可能な信号を全て候補信
号記憶部5に記憶させてもよいし、あるモジュールにお
いて既に記述されたプロセスのセンシティビティリスト
に記述されている信号を順次候補信号記憶部5に記憶さ
せてもよいし、あるいは、指定された範囲の記述中で参
照されている信号をシステムが抽出しこれらに対して設
計者が第3実施例で述べたように各モードを指定し、当
該モードにあった信号を候補信号記憶部5に記憶させる
ようにしてもよい。
【0104】従って、このようにすれば候補信号記憶部
5により起動条件信号のリストに挿入する信号の候補を
記憶し、参照信号表示部41で記憶された候補の信号を
表示するとともに、あるプロセスの起動条件信号のリス
トに挿入する信号として、そのプロセス記述の中に現れ
る信号以外のものも候補信号として表示できる。これに
より、ある設計モジュールの内の複数のプロセスがそれ
に同期して動作するような、クロック信号が各プロセス
の中の記述には現れない場合、このクロック信号を候補
信号記憶手段に記憶させておき参照信号表示時にこの信
号を他の参照信号とともに表示することができる。この
ように、プロセス内の記述に直接現れない信号について
も起動条件信号のリストの記入洩れを減少させることが
できる。
【0105】(第6実施例)第1乃至第5実施例では、
センシティビティリストとして予約語processの
あとで括弧で囲んだ信号名を挿入したが、センシティビ
ティリストの記述方法としてwait文を用いた方法も
ある。
【0106】そこで、第6実施例では、センシティビテ
ィリストを挿入する前にどのような方法でセンシティビ
ティリストを記述するか設計者に選択させ、それに沿っ
た記述を出力するようにしている。
【0107】図24は、第6実施例の概略構成を示すも
ので、この場合、入力部1は、図1で述べた構成に加え
てセンシティビティリスト挿入モード指定部13を有し
ている。その他は、図1と同様であり、同一部分には同
符号を付している。
【0108】センシティビティリスト挿入モード指定部
13は、以下の2種のモードを選択するようにしてい
る。
【0109】(a)processのあとに括弧で囲ん
で挿入するモード(processモード) (b)wait onのあとに続けて挿入するモード
(waitモード) しかして、上述した第1実施例では、図2の記述から図
8のハードウェア記述プログラムを生成したが、第6実
施例においては、センシティビティリスト挿入モード指
定部13で、上述のモード(b)waitモードを指定
すると編集部24では図25の記述を生成することがで
きる。wait onにセンシティビティリストが書か
れる場合でも、記述中に既に書かれているセンシティビ
ティリストと参照信号を比較しその結果を表示してセン
シティビティリストの記入洩れをチェックすることもで
きる。
【0110】(第7実施例)第1乃至第6実施例ではセ
ンシティビティリストを抽出する記述の範囲は特に指定
していないが、その範囲を指定し、指定された範囲にお
いてプロセスの抽出を行ない、そのプロセスのセンシテ
ィビティリストを自動生成し、挿入することもできる。
【0111】図26は、第7実施例の概略構成を示すも
ので、この場合、制御部2は、図24で述べた構成に加
えて範囲指定部27を有している。その他は、図24と
同様であり、同一部分には同符号を付している。
【0112】範囲指定部27は、センシティビティリス
トを抽出する記述の範囲を記述の行番号の組(l1 ,l
2)(l1<l2)によって指定する。そして、ここで
指定された範囲の記述が複数のプロセスを含むものなら
ば、プロセス抽出部21から編集部24までの処理を行
なう。また、この範囲がプロセスの内部の記述で指定さ
れているならば、プロセス抽出部21によるプロセス抽
出処理は行なわず、参照信号抽出部22以降の処理を行
う。
【0113】例えば、図27のVHDL記述が入力され
範囲指定部13により行番号l1=12,l2=16が
指定されたとする(範囲(1))。このとき、システム
はこの範囲から制御信号Clockを抽出し、表示す
る。そして、設計者がセンシティビティリスト挿入モー
ド指定部5においてセンシティビティリストとして、上
述した第6実施例モード(b)waitモードを選択す
ると、システムは図28の(1)のような記述を生成す
る。図27の範囲(2),(3)に対しても同様に信号
抽出以下の処理を行なうと図28の(2),(3)のw
ait文を範囲指定部27で指定された行番号l1のス
テートメントの直前に挿入する。
【0114】このように範囲を指定する場合も参照信号
リストと記述中のセンシティビティリストを比較し、そ
の結果を表示するなども行なうことができる。
【0115】従って、このようにすれば設計対象ハード
ウェアの記述のうち、プロセス抽出、参照信号抽出を行
なう範囲を範囲指定部27で指定する。これにより、大
きなハードウェア記述に対しても、設計者が指定した必
要な範囲のみにおいて、プロセス抽出、参照信号抽出処
理を行なうことになり、設計者の要求に高速に応えるこ
とが可能になる。また、プロセスを起動させる箇所が信
号によって異なるようなハードウェア記述についても起
動条件信号のリストの記入ミスを減少させることができ
る。
【0116】(第8実施例)プロセス記述においてセン
シティビティリストが存在せず、その他プロセスの停止
・開始を陽に指定するwait文が存在しない時、その
プロセスは無限ループに陥る。そこで、図1に示す参照
信号抽出部22に信号が抽出されず、かつプロセスwa
it文を含まない場合警告メッセージを出力するという
機能を付加し、無限ループに陥る可能性のある記述であ
ることを設計者に警告するという方法も考えられる。
【0117】
【発明の効果】以上のように、本発明によれば、ハード
ウェア記述言語によるハードウェア設計を行なう際に、
ハードウェア記述のセンシティビティリストを自動生成
することができるとともに、、センシティビティリスト
の記述に関するチェック機構を充実させることができ、
設計者の記述入力の負担を軽減するハードウェアの設計
支援を実現できる。
【0118】また、複雑な回路の機能記述を行なう場合
は、センシティビティリストへ挿入すべき信号を書き忘
れるミスが多くなり、また、センシティビティリストへ
必要な信号を書き忘れるミスは文法的には誤りではない
ためコンパイル時には発見されず、シミュレーション時
に予期しない動作として現れるだけであるためデバッグ
の手間が増加するという問題があったが、プロセスの参
照信号を抽出する処理と設計者によってデフォルトでセ
ンシティビティリストの候補信号として表示する信号を
指定する処理を設けることにより、センシティビティリ
スト信号の書き忘れをできるだけ少なくすることも可能
になる。さらに、センシティビティリストが挿入されて
いる記述と参照信号を比較することにより、設計者が自
分で作成したセンシティビティリストの確認や記述の変
更後のセンシティビティリストの修正などにも利用する
ことができる。
【図面の簡単な説明】
【図1】本発明の第1実施例の概略構成を示す図。
【図2】第1実施例に適用されるハードウェア記述プロ
グラムを示す図。
【図3】第1実施例の動作を説明するためのフローチャ
ート。
【図4】第1実施例のプロセス抽出部により抽出された
プロセスを示す図。
【図5】第1実施例の参照信号抽出部の動作を説明する
ためのフローチャート。
【図6】第1実施例のプロセスから抽出された参照信号
例を示す図。
【図7】第1実施例のセンシティビティリストに挿入す
る信号の選択例を示す図。
【図8】第1実施例のセンシティビティリスト挿入後の
ハードウェア記述プログラムを示す図。
【図9】第1実施例のセンシティビティリスト挿入後の
他のハードウェア記述プログラムを示す図。
【図10】本発明の第2実施例の概略構成を示す図。
【図11】第2実施例に適用されるハードウェア記述プ
ログラムを示す図。
【図12】第2実施例のセンシティビティ抽出部が抽出
したセンシティビティ信号を示す図。
【図13】第2実施例の参照信号からセンシティビティ
信号を除いた信号リストを示す図。
【図14】本発明の第3実施例の概略構成を示す図。
【図15】第3実施例の動作を説明するためのフローチ
ャート。
【図16】第3実施例に適用されるハードウェア記述プ
ログラムを示す図。
【図17】第3実施例のクロックモードの時に表示され
る参照信号を示す図。
【図18】第3実施例の制御モードの時に表示される参
照信号を示す図。
【図19】第3実施例のallモードの時に表示される
参照信号を示す図。
【図20】本発明の第5実施例の概略構成を示す図。
【図21】第5実施例に適用されるハードウェア記述プ
ログラムを示す図。
【図22】第5実施例のプロセスp1に関して表示され
る信号例を示す図。
【図23】第5実施例のセンシティビティリスト挿入後
のハードウェア記述プログラムを示す図。
【図24】本発明の第6実施例の概略構成を示す図。
【図25】第6実施例のセンシティビティリストを挿入
後のハードウェア記述プログラムを示す図。
【図26】本発明の第7実施例の概略構成を示す図。
【図27】第7実施例に適用されるハードウェア記述プ
ログラムを示す図。
【図28】第7実施例のセンシティビティリストを挿入
後のハードウェア記述プログラムを示す図。
【図29】従来のVerilog−HDLによる信号代
入の記述例を示す図。
【図30】従来のVHDLによる信号代入の記述例を示
す図。
【図31】従来のVHDLによるセレクタの記述例を示
す図。
【図32】従来のVHDLによるセレクタの記述例を示
す図。
【図33】従来のVHDLによるセレクタの記述例を示
す図。
【符号の説明】
1…入力部、11…選択指示部、12…抽出信号モード
指定部、13…センシティビティリスト挿入モード指定
部、2…制御部、21…プロセス抽出部、22…参照信
号抽出部、23…センシティビティリスト信号選択部、
24…編集部、25…センシティビティ信号抽出部、2
6…比較部、3…記憶部、4…表示部、41…参照信号
表示部。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/50

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】設計対象のハードウェア記述プログラムか
    らハードウェアの並列動作記述部分を抽出する第1抽出
    手段と、前記第1 抽出手段より抽出された並列動作記述部分から
    起動条件信号の候補となる信号を抽出する第2抽出手段
    と、前記第2 抽出手段より抽出された起動条件信号の候補と
    なる信号を表示する信号表示手段と、前記 信号表示手段に表示された信号の中から指示された
    信号を起動条件信号として選択する信号選択手段と、前記 信号選択手段より選択された起動条件信号を前記ハ
    ードウェア記述プログラムの並列動作記述部分に挿入す
    る編集手段とを具備したことを特徴とするハードウェア
    設計支援システム。
  2. 【請求項2】設計対象のハードウェア記述プログラムか
    らハードウェアの並列動作記述部分を抽出する第1抽出
    手段と、前記第1 抽出手段より抽出された並列動作記述部分から
    起動条件信号の候補となる信号を抽出する第2抽出手段
    と、前記第1抽出手段より抽出された並列動作記述部分か
    ら、記述されている センシティビティ信号を抽出する
    抽出手段と、 前記第2抽出手段により抽出された信号と前記第3抽出
    手段により抽出されたセンシティビティ信号を比較する
    比較手段と、前記 比較手段の比較結果を表示する表示手段と、前記 表示手段に表示された比較結果に基づいて、指示さ
    れた所望のセンシティビティ信号を選択する信号選択手
    段と、前記 信号選択手段より選択されたセンシティビティ信号
    を前記ハードウェア記述プログラムに挿入する編集手段
    とを具備したことを特徴とするハードウェア設計支援シ
    ステム。
JP04662993A 1993-03-08 1993-03-08 ハードウェア設計支援システム Expired - Fee Related JP3215210B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04662993A JP3215210B2 (ja) 1993-03-08 1993-03-08 ハードウェア設計支援システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04662993A JP3215210B2 (ja) 1993-03-08 1993-03-08 ハードウェア設計支援システム

Publications (2)

Publication Number Publication Date
JPH06259498A JPH06259498A (ja) 1994-09-16
JP3215210B2 true JP3215210B2 (ja) 2001-10-02

Family

ID=12752591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04662993A Expired - Fee Related JP3215210B2 (ja) 1993-03-08 1993-03-08 ハードウェア設計支援システム

Country Status (1)

Country Link
JP (1) JP3215210B2 (ja)

Also Published As

Publication number Publication date
JPH06259498A (ja) 1994-09-16

Similar Documents

Publication Publication Date Title
US6678644B1 (en) Integrated circuit models having associated timing exception information therewith for use with electronic design automation
US6817005B2 (en) Modular design method and system for programmable logic devices
US7434180B2 (en) Virtual data representation through selective bidirectional translation
US6026220A (en) Method and apparatus for incremntally optimizing a circuit design
US6438731B1 (en) Integrated circuit models having associated timing exception information therewith for use in circuit design optimizations
JP2003518666A (ja) 動的に再構成可能な論理回路のための物理設計を実現する方法
US7350180B1 (en) Search algorithm for inheriting clock contexts in hardware description language translation tools
EP0847022A2 (en) Method for designing an architectural system
JP2008065382A (ja) Lsiの消費電力算出方法及びその算出プログラム
US7194715B2 (en) Method and system for performing static timing analysis on digital electronic circuits
US10599802B2 (en) Methods for automatic engineering change order (ECO) bug fixing in integrated circuit design
JP3215210B2 (ja) ハードウェア設計支援システム
US7418675B2 (en) System and method for reducing the power consumption of clock systems
JP4881769B2 (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム
JPWO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
JP4777834B2 (ja) 論理図面表示方法、プログラム及び装置
US6789234B2 (en) Method and system for a timing based logic entry
JP3561661B2 (ja) 半導体集積回路及び半導体集積回路の設計方法
JP3105782B2 (ja) 電子回路の論理生成方法
JP2000137745A (ja) 論理回路のタイミング仕様入力システムおよび論理回路のタイミング仕様入力方法
JP3187506B2 (ja) 論理回路設計支援装置
US8205186B1 (en) Incremental modification of instrumentation logic
JP2993488B2 (ja) 集積回路の設計方法、集積回路及び記憶媒体
EP0605971A2 (en) Structured methodology for designing a dual phase data path
JP2001022808A (ja) 論理回路削減装置ならびに論理シミュレーション方法および装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080727

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090727

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees