JP3192906B2 - 論理シミュレーションシステム及び論理変更方法 - Google Patents

論理シミュレーションシステム及び論理変更方法

Info

Publication number
JP3192906B2
JP3192906B2 JP04678095A JP4678095A JP3192906B2 JP 3192906 B2 JP3192906 B2 JP 3192906B2 JP 04678095 A JP04678095 A JP 04678095A JP 4678095 A JP4678095 A JP 4678095A JP 3192906 B2 JP3192906 B2 JP 3192906B2
Authority
JP
Japan
Prior art keywords
logic
simulation
simulation model
change
circuit
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
JP04678095A
Other languages
English (en)
Other versions
JPH07302281A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP04678095A priority Critical patent/JP3192906B2/ja
Publication of JPH07302281A publication Critical patent/JPH07302281A/ja
Priority to US08/985,743 priority patent/US6154719A/en
Application granted granted Critical
Publication of JP3192906B2 publication Critical patent/JP3192906B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

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)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は論理回路の設計方式に係
り、更に詳しくは論理回路の動作シミュレーションを行
う論理シミュレーションシステム、および論理シミュレ
ーションシステムにおける論理変更方法に関する。
【0002】
【従来の技術】ディジタル計算機などのように、論理回
路によって構成される装置は近年増々大規模、かつ複雑
となり、それらの装置の設計を検証するための論理シミ
ュレーションの重要性が高まっている。また装置が大規
模になるにつれて、論理シミュレーションの高速化が要
求され、そのため大規模な回路を高速にシミュレーショ
ンするための専用ハードウェアも開発されている。
【0003】これらのハードウェアを用いることにより
シミュレーションの高速化が実現されてきているが、シ
ミュレーションモデルの作成自体は依然として汎用計算
機によって行う必要があり、モデルの作成時間が長くな
ると言う問題点があった。特に論理回路の一部を修正す
る場合には、論理回路のデータを格納している論理デー
タベースの内容を変更し、シミュレーションモデルを再
作成すると言う方法が一般的にとられている。
【0004】図62は、従来の会話型シミュレーション
の概念を示している。設計者はまずシミュレーションの
対象となる論理回路のデータベースを作成し、計算機が
そのデータベースをモデル化してシミュレーションモデ
ルを生成する。そして、計算機は設計者と対話を行いな
がらシミュレーションを実行する。回路を修正する場
合、設計者はデータベースの一部を入力し直して変更す
る。
【0005】図63は、従来の会話型シミュレーション
のフローチャートである。図63において、設計者はま
ず回路にエラーがないかどうかを調べ(ステップS12
1)、エラーを発見した場合はその旨を計算機に入力す
る。計算機はシミュレーションを実行するかどうかを設
計者に問い合わせ(ステップS122)、回答がYES
であればシミュレーションを実行する(ステップS12
3)。そして、シミュレーションを終了する指示があっ
たときに(ステップS124、YES)、処理を終え
る。
【0006】ステップS121でエラーが発見されない
場合は、ステップS123以降の処理を行い、ステップ
S124で終了しない場合はステップS121以降の処
理を繰り返す。また、発見されたエラー箇所の回路を修
正したい場合は、設計者はステップS122でNOと回
答し、ステップS124でYESと回答して一旦シミュ
レーションを終了させる。そして、データベースの一部
を変更して会話型シミュレーションを再起動し、シミュ
レーションモデルを再作成させる。
【0007】この方法では、回路規模が大きくなるに従
ってモデル再作成に要する時間が増大し、論理修正を行
って再度シミュレーションによって結果を確認するため
のターンアラウンドタイムが長くなっていた。
【0008】このような問題点を解決するために、作成
されたシミュレーションモデルの部分的な修正を行う場
合、修正部分を含む階層ブロックのみを再コンパイルし
て、他の部分と結合することによって処理時間を短縮す
る方法もあった。しかしながら、この方法によっても、
階層ブロックの再コンパイルと他の部分との結合処理に
時間がかかり、大規模な回路では処理時間の短縮は十分
ではなかった。また、シミュレーションモデルに階層情
報を持つ必要があり、ファイルの規模が大きくなるとと
もに複雑になる問題がある。
【0009】更にシミュレーションで見つかったエラー
を修正する場合に、仮の修正を行ってシミュレーション
で正常動作を確認した後に、論理データベースの内容を
修正したいと言う要望が一般的に存在する。すなわち、
論理データベースは設計情報を一括して管理するための
マスター情報であって、複数の設計者が参照するファイ
ルであるために、論理の正当性を確認した後に変更を行
った方がよい。
【0010】
【発明が解決しようとする課題】本発明はその目的とし
て、2つの大きな問題点を解決しようとするものであ
る。第1の問題点は大規模回路のシミュレーションモデ
ル変更時間の高速化の問題であり、第2の問題点は論理
回路の変更を行う場合に、論理データベースを変更せず
にシミュレーションモデルを仮修正して、シミュレーシ
ョンによりその修正の正当性を確認した後に論理データ
ベースを変更したいと言う問題点である。
【0011】本発明は論理回路の修正を行おうとする場
合、論理データベースへの論理エントリからやり直して
変更を行うのではなく、すでに作成されているシミュレ
ーションモデルを直接変更することによって仮の修正を
行い、論理シミュレーションを行って結果を確認するま
でのターンアラウンドタイムを短縮することを目的とす
る。
【0012】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。同図は、論理データベースに格納されて
いる論理回路データをシミュレーションモデルに変換し
て、論理シミュレーションを行う論理シミュレーション
システムの原理ブロック図である。
【0013】図1において、シミュレーションモデル変
更手段1は論理回路の一部の変更を行おうとする時、論
理データベース内のデータの変更を行うことなく、変換
された論理シミュレーションモデルを直接変更するもの
である。
【0014】このシミュレーションモデル変更手段1
は、例えばグラフィック画面表示・変更指示手段3と、
新シミュレーションモデル作成手段4とによって構成さ
れる。システム内には、例えばシミュレーションモデル
を表示して、設計者がそのシミュレーションモデルに対
する変更指示を対話形式で入力できる表示手段2が備え
られ、グラフィック画面表示・変更指示手段3は表示手
段2の表示制御を行うと共に、シミュレーションモデル
に対する設計者からの変更指示を受け取り、古いシミュ
レーションモデルに対するシミュレーションモデル修正
情報を新シミュレーションモデル作成手段4に出力す
る。新シミュレーションモデル作成手段4は、グラフィ
ック画面表示・変更指示手段3から出力されたシミュレ
ーションモデル修正情報と古いシミュレーションモデル
とに基づいて、新しいシミュレーションモデルを作成す
る。
【0015】
【作用】本発明においては、論理データベースに格納さ
れる論理回路データは例えば複数の階層に区分された階
層表現の形式であり、その論理回路データが、実際にシ
ミュレーションを行うために、階層がなく、シミュレー
ションを即時実行できるゲートレベルのシミュレーショ
ンモデルに変換されて、シミュレーションが実行され
る。
【0016】しかしながら、このようなゲートレベルの
シミュレーションモデル自体は一般的に設計者が理解で
きるものではないため、そのようなシミュレーションモ
デルを表示手段2に表示する際には、設計者が理解する
ことができ、かつ1つ以上の論理ゲートを含むマクロの
レベルに変換されて、シミュレーションモデルの表示が
行われる。
【0017】設計者は、例えばこのようにして表示され
たシミュレーションモデルに対する変更指示を表示手段
2、例えばグラフィックディスプレイを介して対話形式
で行い、その指示がグラフィック画面表示・変更指示手
段3によって解釈され、シミュレーションモデルに対す
る修正情報が新シミュレーションモデル作成手段4に与
えられることにより、新しいシミュレーションモデルの
作成が行われ、そのシミュレーションモデルに対するシ
ミュレーションが実行される。
【0018】論理シミュレーションシステムには、例え
ばシミュレーションを行うためのソフトウェアシミュレ
ータおよびハードウェアシミュレータと、シミュレーシ
ョンモデルを格納するシミュレーションモデル格納部が
設けられる。そしてシミュレーションモデルの変更を行
う場合には、シミュレーションモデルの修正情報が読み
込まれ、その修正情報に応じて論理変更データが作成さ
れ、ソフトウェアシミュレータに対するデータ、ハード
ウェアシミュレータに対するデータ、およびシミュレー
ションモデル格納部に格納されているシミュレーション
モデルのいずれの変更が行われるかによって、例えばソ
フトウェアシミュレータの主記憶上のデータが変更さ
れ、あるいはハードウェアシミュレータにロードされて
いるデータが変更され、あるいはシミュレーションモデ
ル格納部に格納されているシミュレーションモデルの変
更が行われる。
【0019】以上のように本発明によれば、論理データ
ベースに格納されている論理回路データを変更すること
なく、シミュレーションモデルの直接変更が可能とな
る。
【0020】
【実施例】図2は本発明における論理シミュレーション
システムの構成ブロック図である。同図においてシミュ
レーションシステムは、論理を入力するための論理エン
トリ部10、論理エントリ部10によって入力された設
計データを格納する設計データベース11、例えば複数
の論理素子によって構成されるマクロに関するデータを
格納しているマクロライブラリ12、マクロライブラリ
12と設計データベース11との内容を用いて、マクロ
を更にアンドゲート、オアゲートレベルまで展開してシ
ミュレーションモデルを生成するシミュレーションモデ
ル生成部13、シミュレーションモデル生成部13によ
って生成されたシミュレーションモデルを格納するシミ
ュレーションモデル格納部14、シミュレーションモデ
ル格納部14に格納されているシミュレーションモデル
を用いてシミュレーションを実行するシミュレーション
実行部15、シミュレーション実行部15の指示に基づ
いてハードウェアシミュレーションを行うためのシミュ
レーション専用ハードウェア16、シミュレーションモ
デルを表示するグラフィックディスプレイ17、および
例えばグラフィックディスプレイ17を介して行われる
設計者との対話に基づいて、シミュレーションモデル格
納部14に格納されているシミュレーションモデルを変
更するシミュレーションモデル変更部18から構成され
ている。
【0021】図2において論理エントリ部10は、世界
的な標準設計言語であるVHDL(VHSICハードウ
ェアディスクリプションランゲージ)などによって記述
された設計情報20の読み込み、またはグラフィックデ
ィスプレイ17を用いた設計者による回路図イメージの
論理入力などに基づいて、階層ブロック毎の設計情報を
データベースに格納できる形式に整えて、その結果を複
数のファイルから構成される設計データベース11に出
力する。
【0022】シミュレーションモデル生成部13は、前
述のように設計データベース11とマクロライブラリ1
2との内容に基づき階層形式のデータをフラットに展開
すると共に、マクロをアンド、オアなどのプリミティブ
なゲートレベルに展開して、シミュレーションモデルを
生成する。
【0023】シミュレーション実行部15はその内部
に、シミュレーションモデルを汎用計算機の主記憶上に
展開してシミュレーションを実行するソフトウェアシミ
ュレータ21と、シミュレーションモデルをシミュレー
ション専用ハードウェア16にローディングしてシミュ
レーションを実行させるためのハードウェアシミュレー
タ制御ソフト22とを備えており、シミュレーションモ
デル格納部14に格納されているシミュレーションモデ
ルを用いて、ソフトウェアシミュレーション、またはハ
ードウェアシミュレーションのいずれかを実行する。ソ
フトウェアシミュレータ21により展開されたシミュレ
ーションモデルは、例えば回路データ情報23として主
記憶上に保持される。
【0024】シミュレーションモデル変更部18は本発
明の最も特徴的な部分であり、シミュレーションモデル
を直接変更する機能を持つ。このシミュレーションモデ
ル変更部18に対する変更指示の方法としては以下の3
つがある。第1の方法は、グラフィックディスプレイ1
7の画面上で回路図を用いて設計者が対話的に論理変更
を指示する方法であり、設計者にとっては回路図イメー
ジで修正指示ができるので、論理修正が容易である。
【0025】第2の方法は過去に論理修正を行った結果
としてのシミュレーションモデル修正情報25,26の
履歴情報をそのまま、またはマージ、あるいは編集して
入力する方法であり、この方法では何回も修正を行った
結果をマージして一度に修正したり、似たような修正を
繰り返して行う場合に、修正情報を例えばエディタを用
いて編集することができるため、この方法に慣れれば第
1の方法よりも早く修正指示を行うことができる。
【0026】第3の方法は、論理エントリ部10から出
力されたシミュレーションモデル修正情報26をそのま
ま、またはマージ、あるいは編集して入力する方法であ
り、この方法は論理エントリ部で修正を行った場合に、
論理データベースを変更せずに修正情報をシミュレーシ
ョンモデル変更部18に渡して、シミュレーションモデ
ルを直接変更する方法である。この場合、設計者から見
ればシミュレーションモデルの変更の意識が必要ない
が、設計データベース11は階層毎に別のファイルにデ
ータが格納されているために、例えば複数のLSIの間
の接続を変更する時、各LSIと、LSIを接続するプ
リント板とのファイルの内容を同時に入力することが、
場合によっては必要となる。
【0027】シミュレーションモデル変更部18による
シミュレーションモデルの変更方法として、次の4つの
方法がある。第1の方法は、すでにシミュレーションモ
デル格納部14に格納されているファイルの内容を書き
換えるものであり、この方法では出力用のシミュレーシ
ョンモデルファイルを用意する必要がないため、ディス
クが節約できる。
【0028】第2の方法は、変更したシミュレーション
モデルファイルを別のファイルとしてシミュレーション
モデル格納部14に出力する方法であり、この方法では
新たにファイルを用意する必要があるが、元のシミュレ
ーションモデルに対して何種類も変更を行って、それぞ
れ別のファイルを作成することが可能である。
【0029】第3の方法はソフトウェアシミュレータ2
1が主記憶上に読み込んだシミュレーションモデルを直
接変更する方法であり、また第4の方法はハードウェア
シミュレーション制御ソフト22がシミュレーション専
用ハードウェア16にロードしたシミュレーションモデ
ルを直接変更する方法である。これらの方法では、前述
の2つの方法に比較してファイルの出力時間が節約さ
れ、より高速にシミュレーションモデルの変更を実行で
きるが、例えば同一シミュレーションモデルに対して複
数回シミュレーションを実行する必要がある場合には毎
回シミュレーションモデルの変更を行うことになり、そ
の回数が多い場合はトータルとしてのオーバヘッドが第
1、対2の方法よりも大きくなり、処理時間が長くなる
可能性がある。
【0030】これらの4つの方法のいずれを用いても、
シミュレーションモデルの変更が行われた場合にはシミ
ュレーションモデル修正情報25が出力され、これはシ
ミュレーションモデル変更部18に対するシミュレーシ
ョンモデル修正情報26、および論理エントリ部10に
対するシミュレーションモデル修正情報27として用い
られる。なおこれらの4つの方法のいずれを用いるか
は、設計者が最適な方法を選択する。
【0031】シミュレーションモデルの変更が行われた
場合、シミュレーションにより論理修正の正当性が確認
された時点ではじめて設計データベース11が変更され
る。この時シミュレーションモデル修正情報27が論理
エントリ部10に入力され、論理エントリ部10によっ
てシミュレーションモデル修正情報27のフォーマット
が設計データベース11に対する入力データのフォーマ
ットに変更されることにより、設計データベース11の
自動変更が行われる。
【0032】図3は図2のシミュレーションモデル変更
部18の一例を示す詳細構成ブロック図である。同図に
おいて、シミュレーションモデル変更部18は、グラフ
ィック画面表示・変更指示部31と新シミュレーション
モデル作成部32とから構成され、新しいシミュレーシ
ョンモデルを自動的に生成する。
【0033】グラフィック画面表示・変更指示部31
は、設計者がグラフィックディスプレイ17を介して入
力する変更指示と、シミュレーションモデル格納部14
に格納されている古いシミュレーションモデルと、シミ
ュレーションモデル修正情報26、すなわち過去の修正
履歴とを用いて、それらをマージした結果としてシミュ
レーションモデル修正情報29を新しく作成し、それを
新シミュレーションモデル作成部32に出力する。新シ
ミュレーションモデル作成部32は、グラフィック画面
表示・変更指示部31から出力される新しいシミュレー
ションモデル修正情報29と、古いシミュレーションモ
デルとを用いて新しいシミュレーションモデルを作成
し、それをシミュレーションモデル格納部14に格納す
る。
【0034】図4および図5はグラフィック画面表示・
変更指示部の全体処理フローチャートである。このフロ
ーチャートにおいて処理が開始されると、まず図3で説
明したように例えば過去の修正履歴を示すシミュレーシ
ョンモデル修正情報がステップS1で読み込まれ、次い
でS2で設計者からグラフィックディスプレイを介して
指示されるコマンドが読み込まれ、コマンドの内容に応
じて、S3〜S12で名前表示か、マクロ表示か、バッ
クトレースか、フォワードトレースか、接続変更か、入
力ピン削除か、出力ピン接続変更か、出力ピン削除か、
論理ブロック追加か、またはブール式による論理追加か
否かがそれぞれ判定され、名前表示である時にはS13
で階層名表示処理が、マクロ表示である時にはS14で
マクロブロック表示処理が、バックトレースである時に
はS15でバックトレース処理が、フォワードトレース
である時にはS16でフォワードトレース処理が、接続
変更である時にはS17で接続変更処理が、入力ピン削
除である場合にはS18で入力ピン削除処理が、出力ピ
ン接続変更である時にはS19で出力ピン接続変更処理
が、出力ピン削除である時にはS20で出力ピン削除処
理が、論理ブロック追加である時にはS21で論理ブロ
ック追加処理が、またブール式による論理追加である時
にはブール式による論理追加処理がS22で行われる。
これらの処理の詳細については後述する。
【0035】S12でコマンドの内容がブール式による
論理追加ではないと判定された時には、S23で修正指
示が完了か否かが判定され、完了でない場合にはS2の
コマンド読込み以降の処理が繰り返される。修正指示完
了の場合には、S24で新しい修正指示に関連するシミ
ュレーションモデル修正情報が作成され、S25で古い
シミュレーションモデルと過去の修正履歴である古いシ
ミュレーションモデル修正情報26とのマージが行わ
れ、S26で新しいシミュレーション修正情報、すなわ
ち図3のシミュレーションモデル修正情報29が出力さ
れて処理を終了する。
【0036】図6は新シミュレーションモデル作成部の
処理フローチャートである。同図において処理が開始さ
れると、まずステップS30で図3の新しいシミュレー
ションモデル修正情報29が読み込まれ、その修正情報
に基づいてS31で論理変更データが作成される。この
論理変更データ作成については後述する。
【0037】S31で論理変更データが作成されるとS
32,S33、およびS34でそれぞれソフトシミュレ
ータの主記憶データ変更であるか、ハードシミュレータ
のデータ変更であるか、およびシミュレーションモデル
変更であるか否かが判定される。ソフトシミュレータの
主記憶上のデータ変更である場合にはS35で変更デー
タが図2のソフトウェアシミュレータ21に渡され、ハ
ードシミュレータデータ変更である場合には、S36で
図2のシミュレーション専用ハードウェア16、すなわ
ちハードシミュレータに変更データが渡され、シミュレ
ーションモデル変更である場合にはS37で古いシミュ
レーションモデルが読み込まれ、S38でシミュレーシ
ョンモデルの変更が行われ、S39で新しいシミュレー
ションモデルが出力されて処理を終了する。
【0038】なお例えばハードシミュレータのデータ変
更の場合でも、必要に応じてシミュレーションモデルの
変更が行われる。例えば1つのテストデータを用いてシ
ミュレーションを行い、その結果が良好であれば、シミ
ュレーションモデルを変更して、異なるシミュレーショ
ンデータを使ってシミュレーションを行うことも考えら
れる。
【0039】更にシミュレーションモデルが変更された
場合、その変更結果は原則として図2で論理エントリ部
10を介して設計データベース11に反映されるが、場
合によってはデータベースを変更しないこともあり、そ
の判断は設計者によって行われる。シミュレーションモ
デルの変更の有無、データベースの変更の有無などの組
合せは設計者の指示に応じて決定され、全ての組合せが
実際におこる可能性がある。
【0040】本発明においては、前述のように図2の設
計データベース11は階層毎のファイルで構成されてい
る。図7はこの階層の考え方を示す設計階層の具体例で
ある。同図において、システムの構成要素のうちで例え
ばプリント板が最上位の階層に属し、マクロが最下位の
階層に属している。マクロとは設計者が理解できる最下
位の階層であり、その内部は単一のゲートによって構成
されることもあり、また複数のゲートによって構成され
ることもある。マクロ内のゲート構成については設計者
は内容を知る必要はない。なお図中の論理ブロック(L
B)は一般に複数のマクロによって構成される。
【0041】最上位のプリント板と最下位のマクロとの
間には複数の途中階層が存在し、これらの途中階層は論
理ブロック(LB)、または集積回路(LSI)によっ
て一般に構成されるが、同一の階層に論理ブロックとマ
クロとが混在する場合もある。
【0042】図8および図9は設計データベース内の設
計データの階層構造のイメージを示す図である。図8
は、階層構造を表わすための各階層内のプリント板や、
論理ブロック、マクロなどの名前のツリー構造を示す。
図9は図8のツリー構造に対応するシステムのイメージ
である。図8における‘/’は最上位の階層、例えばシ
ステムを表わし、その下位に例えばプリント板U1及び
U2を構成要素とする階層があり、プリント板U1の下
にはLSIを表わすL1〜L4で構成される階層があ
り、更に例えばL3の下には論理ブロック(またはマク
ロ)B1とB2で構成される階層が存在する。
【0043】図10は図7で説明したようなツリー構造
の各階層における構成要素の名前を検索する場合の画面
表示例である。これは図4のステップS3でコマンドの
内容が名前表示であると判定された時に、S13で行わ
れる階層名表示処理の結果として表示される画面の例で
ある。この画面中で特定の名前を、例えばカーソルによ
って指定すると、その名前に相当するノードの下位にあ
る階層のノードの名前が表示され、これによって各階層
の構成ノードの名前を検索することができる。
【0044】図10で表示画面の下に記入されている注
の意味について説明する。注の1)カレントパス名は、
最上位の階層から現在の階層の直近上位のノードに至る
経路としてのパス名であり、例えば図8において‘/U
1’のカレントパス名に対してはU1の下の階層の構成
ノードとしてのL1〜L4の名前が表示される。
【0045】注の4)は上位階層のブロック検索(ファ
インドブロック)のためのキーを示し、このキーによっ
て例えば図8の‘/U1/L3’のカレントパス名に対
する表示から、‘/U1’のカレントパス名に対する表
示へと表示を変化させることができる。注5)はファイ
ンドブロックコマンドメニューを表示するためのキーで
ある。このコマンドメニューについては後述する。注
7)のブロック名は図7におけるノードL1,L2など
の名前のことであり、以後各ノードに対応するマクロ、
論理ブロックなどを全てブロックと呼ぶことにする。
【0046】図11は一般に階層構造の最下位に位置す
るノードに相当するマクロブロックの内部構成を示す。
このマクロは2つのアンドゲートと、オアゲート、およ
びインバータから構成されており、このマクロにはマク
ロの名前として‘M0001’が付けられている。
【0047】図12は図10のマクロブロック内の各ゲ
ートを最下位に持つ階層構造のツリー構造表示である。
ここでは、例えば図7と異なり、説明の都合上最下位に
4つのゲートの名前を持つノードが示されているが、こ
れらの4つのゲートによってマクロブロックが構成され
ている。このマクロブロックパス名は、このツリー構造
に対応して、図11に示されているように‘/A/B’
となる。図12のネーミングツリーを表現するデータに
は、マクロの出口に位置するゲート、すなわちインバー
タI1に対してマクロ出力ゲートフラグがオンとなって
おり、またマクロの入口に位置するゲート、すなわち2
つのアンドゲートA1,A2に対してマクロ入力ゲート
フラグがオンとなっている。
【0048】図13は図11に示されるマクロのディス
プレイ画面上での表示例である。例えば図10に示した
ようなブロックの名前検索画面例において図11のマク
ロが指定されると、このマクロを構成する全てのゲート
がリストアップされ、ゲート間の接続がトレースされ
て、マクロ入力フラグおよびマクロ出力フラグの参照結
果に基づきマクロの形状が再現されて、図13に示すよ
うな形式で表示される。ここでマクロの入力側の信号、
例えば‘/A/NETA’はブロックAの下にあるネッ
トの名前を表わす。なおネットとは電気的に等電位とな
るピンおよび配線の集合である。
【0049】前述のように、設計者はシミュレーション
対象の論理回路を図13に示されるマクロの形状のレベ
ルで認識し、このマクロについてはその出力と入力の間
の機能関係を知るのみである。これに対して実際のシミ
ュレーションモデル、すなわち図2においてシミュレー
ションモデル格納部14に格納されるモデルは、マクロ
の内部が図11に示すように単一のゲートレベルまで展
開されたものである。本発明においては、ゲートレベル
まで展開されたシミュレーションモデルの変更にあたっ
ては、例えば変更対象のマクロを図13に示すレベルで
例えばグラフィックディスプレイ上に表示し、このレベ
ルにおいて設計者からの変更指示を受け取ることにな
る。
【0050】なお図13に示すようなマクロ表示は、図
4のステップS4でコマンドの内容がマクロ表示である
と判定された時に、ステップS14で行われるマクロブ
ロック表示処理によって表示されるマクロの形式を示し
ている。
【0051】図4のステップS5でコマンドの内容がバ
ックトレースであると判定されると、S15でバックト
レース処理が行われるが、図14はこのバックトレース
処理の説明図である。バックトレース処理においては、
あるマクロの入力端子に接続されているマクロが検索さ
れ、そのマクロの表示が行われる。
【0052】バックトレース処理は、FNET CMD
(ファインドネット コマンド)メニューにおいて図1
4のに示すように‘バックトレース’が選択されるこ
とにより開始される。バックトレース対象の入力信号端
子名として選択可能な信号端子名は、例えば黄色に変色
する。この入力信号端子名は例えばFNETウィンド
ウ、またはFAN−INウィンドウ上で指定される。バ
ックトレースを中止する場合には、コマンドメニューに
おいて取消しを選択すればよい。
【0053】バックトレースの対象の信号端子名、すな
わちバックトレースの起点となる信号端子名がで示さ
れるように選択されると、その信号端子名は例えば赤い
色に変色する。そしてこの選択された入力端子に接続さ
れているマクロ、すなわちドライバブロックがFAN−
INウィンドウとして表示され、この表示においてこの
マクロは例えば赤い色で表示される。
【0054】図15は図4におけるステップS16で行
われるフォワードトレース処理の説明図である。このフ
ォワードトレース処理においては、前述のバックトレー
ス処理とは逆に、あるマクロの出力端子に接続されてい
るマクロが検索されて、そのマクロの名前などが表示さ
れる。
【0055】図15においてフォワードトレース処理は
FNET CMDメニューにおいて‘フォワードトレー
ス’を選択することにより開始される。フォワードトレ
ースの起点として選択可能な信号端子名はFNETウィ
ンドウ、またはFAN−INウィンドウ上で、例えば黄
色に変色する。フォワードトレースを中止する場合はコ
マンドメニューから取消しを選択する。
【0056】フォワードトレースの起点となる信号端子
名がで示すように選択されると、その信号端子名は例
えば赤い色に変色する。そしてこの信号端子名の先に接
続されたマクロ、すなわちレシーバブロックがFAN−
OUTウィンドウ上に表示される。図15では、信号端
子名‘/CHOP1’のファンアウト先として8つのレ
シーバブロックがあり、例えば第1のレシーバブロック
の名前は‘FS22’であり、そのパス名は‘/AAA
6 D/0027C’であり、そのファンアウト先の入
力ピンは‘0A’であることが示されている。
【0057】図16はファンインの2点間変更処理の説
明図である。2点間変更はあるマクロの入力信号、すな
わちファンインの信号名をウィンドウに表示中の信号の
端子名を利用して変更する処理である。この処理はFN
ETコマンドメニューにおいて‘2点間変更’を選択す
ることによって開始される。現在の入力信号に代わって
指定することができる信号端子名は、FBLK(ファイ
ンドブロック)ウィンドウのパス名一覧の中で水色で表
示されている信号端子名、またはFNETウィンドウ、
MONITORウィンドウに表示されている信号端子名
である。これらの新しい信号端子名に変更可能な現在の
入力信号端子名は例えば黄色に変色する。
【0058】これらの黄色に変色した選択可能な信号端
子名のうちで、に示すように新しい信号端子名に変更
したい個所を指定すると、その指定された信号端子名は
更に例えば水色に変色する。指定間違いをした場合に
は、コマンドメニューから取消しを選択することにより
その箇所の指定のキャンセルを行う。その後新しいファ
ンインの信号を示す信号端子名をウィンドウ上に表示さ
れている信号端子名から、′または″に示すよう
に選択する。2点間変更のための操作はこれによって完
了する。
【0059】図17は2点間変更の処理が行われた後の
表示例である。図16と図17とを比較すると、右下の
ウィンドウに表示されているマクロの一番上の入力信号
端子名が図16のなどで指定された新しい信号端子名
に変更されていることが分かる。なおこの2点間変更処
理は、コマンドの内容が図4のステップS7で接続変更
であると判定された時に、ステップS17で行われる接
続変更処理に相当する。
【0060】図4のステップS8でコマンドの内容が入
力ピン削除であると判定されると、ステップS18で入
力ピン削除処理が行われる。この入力ピン削除処理の内
容を図18を用いて説明する。図18において、点線で
示されるマクロの中のアンドゲートに対する上から3番
目の入力ピン、およびオアゲートに対する上から3番目
の入力ピンを削除する場合を考える。これは左側の上か
ら3つ目のアンドゲートの出力‘/C’と、6番目のア
ンドゲートの出力‘/F’とが接続される入力ピンを削
除することを意味する。
【0061】本発明においては、入力ピンを削除する場
合にはその削除、すなわち入力信号の切断によって結果
的に例えばアンドゲートやオアゲートの機能が変化しな
いように、すなわち切断されない入力信号によってこれ
らのゲートが正しく機能するように、切断される入力信
号の代わりに定数1、または定数0のブロックが接続さ
れる。図19はこの接続法の説明図である。同図におい
て、アンドゲートの入力ピンのうち入力信号の切断が指
示されたピンに対しては定数1、オアゲートの入力ピン
のうち切断指示されたピンに対しては定数0のブロック
が接続される。これによってアンドゲート、オアゲート
が残る2つの入力信号に応じて正しく機能することにな
る。
【0062】このように定数1、もしくは定数0のブロ
ックを接続すること自体は設計者の指示によって行うこ
とも可能であるが、図18、図19で説明した入力ピン
の接続の切断の場合には、切断の指示に応じてシステム
が自動的に定数1、または定数0のブロックの接続を行
う。定数1、または定数0のブロックのいずれを接続す
るかは、入力ピンへの信号が切断されるゲートの機能に
よってあらかじめ決定されることになり、テーブルにど
ちらを接続するかを格納しておくことにより、自動的な
判断が可能となる。
【0063】図20はこの定数1、または定数0のブロ
ックの接続のフローチャートである。同図において処理
が開始されると、まずステップS41で入力信号の切断
が指示されたピンを入力とするマクロを対象として、マ
クロライブラリを参照してその入力ピンを持つゲートの
種類が調べられ、ステップS42で定数1、定数0のブ
ロックに対する変換テーブルを参照し、定数1、または
定数0のどちらのブロックに接続するかが判断され、ス
テップS43で定数1、または定数0のブロックへの接
続指示情報が作成されて、処理を終了する。なおこの処
理は設計者が例えば図16でFNET CMDの‘切り
離し’を選択し、マクロの入力ピンを指定することによ
って開始される。
【0064】図4において、コマンドの内容がステップ
S9で出力ピン接続変更であると判定されると、ステッ
プS19で出力ピン接続変更処理が行われる。図21は
この出力ピン接続変更処理、すなわちファンアウトのつ
なぎかえ処理の説明図である。
【0065】ファンアウトのつなぎかえ処理は、コマン
ドメニューにおいて‘つなぎかえ’が選択されることに
よって開始される。あるマクロの出力ピンのうち、ファ
ンアウト先を変更するために選択可能な信号端子名は黄
色に変色する。つなぎかえ先として現在の信号端子名か
ら変更される信号端子名としては、ウィンドウに表示中
の信号端子名を利用して指定することができる。ウィン
ドウに表示中の信号端子名は図16で説明したものと同
じである。
【0066】あるマクロの出力ピンのうち、ファンアウ
ト先を変更するためにで示すように指定された信号端
子名は黄色から更に水色に変色する。指定間違いをした
場合には、コマンドメニューにおいて取消しを選択する
ことによってキャンセルされる。つなぎかえ先の信号端
子名が、′、または″で示すように選択される
と、つなぎかえのための操作は完了する。
【0067】本発明においてはファンアウトのつなぎか
えは、ファンアウト先のブロックに対して、ファンイン
のつなぎかえを行うことにより処理が行われる。図22
はこの処理の説明図である。同図において、ブロックA
のファンアウト先への接続を切断してブロックBのファ
ンアウト先に変更する場合には、同図(a) に示すように
ブロックAの直後において接続を切断してBの出力を接
続するのではなくて、(b) に示すようにファンアウト先
のブロック、ここではAA,AB、およびACのブロッ
クの直前で接続を切断し、ここにブロックBの出力を接
続することによって一括してファンアウトのつなぎかえ
が行われる。
【0068】図23は図21に対応するファンアウトの
つなぎかえ処理の説明図である。同図において、図21
ので選択された信号端子名のファンアウト先が、例え
ばで選択された信号端子名のファンアウト先に変更さ
れている。
【0069】図24はファンアウトの入れ替え処理の説
明図である。この処理も図4のステップS19で行われ
るものである。処理のための操作は図21で説明したフ
ァンアウトのつなぎかえ処理におけると同様であり、
で選択された信号端子名と、、′または″で選択
された信号端子名との間でのファンアウトの入れ替えが
行われる。
【0070】図25はこのファンアウトの入れ替え処理
の具体例である。同図において、2つのマクロの出力ピ
ンに接続されたそれぞれのファンアウト先が入れ替えら
れている。
【0071】図5のステップS11でコマンドの内容が
論理ブロック追加と判定されると、ステップS21で論
理ブロック追加処理が行われる。図26はシミュレーシ
ョンモデル上で追加できるブロック、すなわちマクロの
外観を示す。マクロ名のうち、例えば‘IAND’の先
頭の‘I’に特に意味はなく、この名前はアンドゲート
を表わす。また‘空き’はデータ入力に特に接続が行わ
れない場合に、定数0と定数1のどちらのブロックが接
続されるかを表わす。シミュレーションモデル上では、
このようなブロックが追加された後に接続変更が行われ
る。なおラッチのセットタイプとリセットタイプに対す
るマクロの外観は全く同じである。
【0072】図27はマクロの内部構成を示す。例えば
IANDゲートを表わすマクロにおいて、出力が負論理
となっているバッファを用いることにより、NANDゲ
ートが構成される。
【0073】図5のステップS12でコマンドの内容が
ブール式による論理の追加であると判定されると、ステ
ップS22でブール式による論理追加処理が行われる。
図28〜図34はこのブール式による論理追加処理の説
明図である。図28はブール式で論理を定義し、ブロッ
クとして追加する場合のブロック名、および入力/出力
ピンの数などを定義するための最初の手続きの説明図で
ある。FNETコマンドメニューにおいてに示すよう
に‘ブール’を選択すると、ブロック名とI/Oピン数
の定義メニューが表示される。
【0074】この定義メニュー上で、〜に示すよう
にブロックの名前、I/Oピンの数を指定してエンタキ
ーを押すことにより、内部論理の定義メニューが表示さ
れる。ブールブロックの作成を中止する場合には、例え
ばPF3キーを押せばよい。
【0075】図29はブールブロックの内部論理の定義
メニューを示す。同図は図28でブロック名、およびI
/Oピン数の定義メニューに対してキー入力を行った
後、エンタキーを押した直後の状態を示し、ブールブロ
ックの名称、ここでは‘BOOL01’、4つの入力ピ
ンI1〜I4、2つの出力ピンO1およびO2が表示さ
れており、設計者は画面上で入力と出力の間の論理関係
をブール式で記述すればよいことになる。
【0076】図30はブールブロック内の論理の記述例
であり、図31はこの記述例に対応する論理回路であ
る。図30の論理式内で、例えば‘110’は図31で
I1が入力されているインバータを示し、110の前の
記号‘¬’は論理の反転を意味する。このようにして定
義された論理はMONITORウィンドウに自動出力す
ることができる。すなわち、ブロック名をキーとして該
当する論理を参照することができる。
【0077】図32は定義されたブールブロックのFN
ETウィンドウにおける表示である。これは図30で論
理を定義した後、エンタキーが押されることによって表
示されるウィンドウの内容を示す。このようにFNET
ウィンドウに表示されたブールブロックに対しては、例
えば図16、図17で説明したようなファンインの2点
間変更など、FNETウィンドウ上で実行できる機能は
全て使うことができ、ファンアウトのつなぎかえなども
実行できる。
【0078】図33はブールブロックの内部論理の他の
記述例である。同図(a) は論理式の記述例であり、(b)
はこの論理式に対応する回路図を示す。図5のステップ
S22で行われるブール式による論理追加処理において
は、ブールブロックの内部論理に対する解釈は図3のグ
ラフィック画面表示・変更指示部31によって自動的に
行われる。図34はブールブロックの解釈処理、すなわ
ち回路生成アルゴリズムである。同図において処理が開
始されるとステップS51でブール式の構文が解析さ
れ、S52でブール式の右辺の演算子に対応するゲート
が生成され、S53で生成されたゲートに名前がつけら
れる。この名前としては、INPUT文で指定された場
合にはその名前、それ以外の場合にはブール式の左辺の
名前がつけられる。続いてステップS54でブール式の
左辺に反転記号‘¬’がある場合には、その指示を示す
〇印が設定され、S55で各ゲート間の接続が名前で対
応づけられて生成され、処理を終了する。
【0079】図35〜図39はシミュレーションモデル
の変更に対してシステム内のデータがどのように変更さ
れるかを示す。図35においてアンドゲート5の入力と
出力を切り離し、オアゲートを追加し、このオアゲート
に対する入力として2つのアンドゲート3と4の出力を
用い、またこのオアゲートの出力をアンドゲート6と7
に対する入力とする変更を行う場合を考える。図36は
変更後の回路図である。追加されたオアゲートはオアゲ
ート8である。なお例えばこのオアゲート8の番号
‘8’は、全てのゲートに対して連続的につけられるゲ
ート番号を意味する。
【0080】図37はシミュレーションモデルを表現す
るデータを格納するテーブルのフォーマットである。こ
のフォーマットは、図2のシミュレーションモデル格納
部14に格納されているシミュレーションモデルのファ
イル、ソフトウェアシミュレータ21、およびシミュレ
ーション専用ハードウェア16の内部のテーブルの全て
に共通のものであり、論理修正のためのアルゴリズムは
共通に使用可能である。
【0081】このテーブルにおいてゲートナンバーは前
述のゲート番号を表わし、ゲートタイプの欄にはアン
ド、オアなどのゲートのタイプに関する情報がコード化
されて格納されている。ゲートタイプのうち、例えば
‘CONST0’は前述の定数0のブロックである。フ
ァンイン−1〜4はファンイン側に接続されているゲー
トの番号を示すが、このうち‘0’は何も接続されてい
ないことを、‘1’は定数1のブロックが接続されてい
ることを表わす。この例ではファンインの数は固定され
ており、4となっている。
【0082】ファンアウトに関する情報はファンアウト
ポインタとファンアウトメモリとから構成されている。
これは1つのゲートに対するファンアウトの数が一定で
ないためである。ファンアウトポインタはファンアウト
メモリのアドレスを示すポインタであり、このポインタ
の指す位置からそのゲートのファンアウトとなるゲート
の番号が連続的に格納されており、対象となるデータの
最終位置にはエンドビットが立っている。
【0083】図37には省略されているが、ゲートタイ
プの後に各種の属性フラグが格納されている。図38は
この属性フラグの格納位置の説明図である。同図におい
て0〜15ビット目の16ビットはゲートタイプを示
し、その次の16〜19ビット目にFANIN−1〜4
の入力側で値を反転するか否かのフラグが格納されてい
る。このように各種の属性フラグはゲートタイプの直後
に格納される形式となっている。
【0084】図39は、図35から図36のようにシミ
ュレーションモデルを変更した場合の、テーブルの格納
内容の変化を示す。同図を図37と比較すると、ゲート
ナンバー3のアンドゲートに対するファンアウトポイン
タの値が‘4’となり、これに対応してファンアウトメ
モリのアドレス4にゲート番号‘8’が格納され、また
エンドビットが‘1’となっている。ゲートナンバー4
についても全く同様である。ゲートナンバー5のアンド
ゲートに対しては入力、出力が全て切り離されることか
ら、FANIN−1および2の値が‘1’となり、ファ
ンアウトポインタの値は‘0’となる。ゲートナンバー
6と7のアンドゲートに対してはFANIN−1の値が
‘8’となる。更にゲートナンバー8のゲートとしてオ
アゲートが追加され、図36に対応するFANINの値
とファンアウトポインタの値が格納されている。
【0085】このようにシミュレーションモデルの修正
は、テーブル上でのすでに格納されているゲートに対す
るデータの書き替え、および必要に応じたテーブルへの
データ追加によって実行される。従ってこのようなテー
ブルを主記憶、もしくは専用ハードウェアのメモリ上に
ロードした場合には、あらかじめテーブルに予備の領域
を用意しておくことにより、シミュレーションモデルの
修正を容易に行うことができる。またこのような変更に
おいてデータの並び替えを必要としないために、シミュ
レーションモデルの変更処理は極めて高速に実行するこ
とが可能である。
【0086】図37および図39で説明したシミュレー
ションモデルの変更に伴うテーブルデータの変更は、当
然設計者には意識されることなく、システムによって自
動的に行われる。この処理は図6におけるステップS3
1の論理変更データ作成処理に相当する。図40はこの
論理変更データ作成処理の詳細フローチャートである。
同図において処理が開始されると、まずステップS61
で追加すべきゲートがある場合、そのゲートに対応して
テーブル未使用領域、すなわちデータがすでに格納され
ている最大ゲート番号の次のゲート番号の位置からゲー
トタイプなどを定義することによりテーブル作成が開始
される。
【0087】続いてステップS62で、入力ピンの接続
変更指示に対応してFANIN−1〜4の値を変更対象
ゲートの全てを対象として書き替え、ステップS63で
出力ピンの接続変更、すなわちファンアウト変更指示に
基づき、ファンアウトポインタとファンアウトメモリの
内容を変更する。この処理ではゲートを切り離す場合は
ファンアウトポインタの値を‘0’とし、ファンアウト
先のゲートを変更する場合でもファンアウト先のゲート
の数が増えない場合にはファンアウトポインタの値のみ
を変更し、ファンアウト先のゲート数が増える場合には
ファンアウトメモリの未使用領域にファンアウト先のゲ
ート番号を新たに設定し、ファンアウトポインタの値と
してはその先頭番地を設定して、処理を終了する。
【0088】以上においては、図4および図5に対応し
てステップS2で読み込まれるコマンドの内容に対応す
る各種の処理を詳細に説明した。例えばステップS13
で階層名表示処理が行われると、図10で説明したよう
な名前検索画面が表示される。この画面において、例え
ばカーソルで‘CMD’の位置を指定するとコマンド入
力フィールドが表示され、そこからマクロ表示や接続変
更のコマンドを入力することができる。また例えば図1
4で説明したように、バックトレースを行った後に例え
ば‘BOOL’のコマンドを指定することにより、ブー
ル式による論理追加処理を行うことができる。このよう
にどのウィンドウからでもコマンドメニューにヒットす
るか、もしくはコマンド入力フィールドにコマンドを入
力することによって他の処理を呼び出すことができる。
この場合その処理に必要な新たなウィンドウが自動的に
生成される。
【0089】次に、図2のソフトウェアシミュレータ2
1により主記憶上に読み込まれたシミュレーションモデ
ルを直接変更する実施例について説明する。図41は、
会話型シミュレーションの概念を示している。図41で
は、シミュレータは設計者と対話しながら論理回路のシ
ミュレーションを実行する。シミュレーション実行中に
設計を変更する場合は、主記憶上に読み込まれたシミュ
レーションモデルの一例である回路データ情報をその場
で変更し、シミュレーションを続行する。回路データ情
報の内容はシミュレーションモデル格納部14に格納さ
れたシミュレーションモデルの内容とほぼ同じである。
しかし、回路データ情報はシミュレーションが実行され
ている間のみ主記憶上に存在し、シミュレーションモデ
ルはシミュレーションの開始前にDASD(Direct Acc
ess Storage Device)等の外部記憶装置に格納されてい
る。ここでは、主記憶上の回路データ情報を直接変更す
るので、シミュレーションモデルは必ずしも変更する必
要はない。
【0090】図42は、シミュレーション実行中に回路
データ情報を変更することが可能な会話型シミュレータ
の構成図である。図42において、シミュレータ41は
図41の会話型シミュレーションを行うシミュレータで
あり、端末42は例えばグラフィックディスプレイであ
る。また、入力装置43は端末42が備えるキーボード
やマウス等である。
【0091】シミュレータ41は、入出力制御部51、
結果表示部52、回路内部表示部53、ウィンドウ管理
テーブル格納部54、信号値管理テーブル格納部55、
回路変更コマンド列保持部56、コマンド解析部57、
トレースポイント変更部58、ウィンドウ設定部59、
回路変更部60、回路変更情報テーブル保持部61、監
視設定部62、監視ポイントテーブル保持部63、回路
データ情報格納部64、および論理シミュレーション部
65を備える。
【0092】入出力制御部51は端末42との間の入出
力インタフェース処理を実行し、回路データ情報保持部
64はシミュレーションの対象となる論理回路の回路デ
ータ情報を格納する。論理シミュレーション部65は回
路データ情報保持部64に保持された回路データ情報を
用いてシミュレーションを実行し、その結果情報を信号
値管理テーブル格納部55の信号値管理テーブルに登録
する。信号値管理テーブルには、シミュレーションの結
果情報を構成する信号端子毎の信号値の時系列データが
格納される。
【0093】ウィンドウ設定部59は、ユーザと対話す
ることにより、結果情報の任意の表示形式のうちの1つ
または複数を選択して、ウィンドウ管理テーブル格納部
54のウィンドウ管理テーブルに設定する。ウィンドウ
管理テーブルにはユーザが定義するフリーフォーマット
の表示形式が格納され、これを用いてマルチウィンドウ
等の管理が行われる。結果表示部52はウィンドウ管理
テーブルおよび信号値管理テーブルのデータを用いて、
結果情報を端末42のディスプレイに表示する。
【0094】回路内部表示部53は回路データ情報保持
部64の回路データ情報を用いて、論理回路の内部を端
末42のディスプレイに表示する。表示された論理回路
の画面上でユーザが指示した回路変更は、回路変更コマ
ンド列として回路変更コマンド列保持部56に保持され
る。
【0095】コマンド解析部57は入出力制御部51を
介してユーザからのコマンドを受け取り、それを解析す
る。そのコマンドが回路変更命令を伝える回路変更コマ
ンドである場合には、制御を回路変更部60に渡す。回
路変更部60は回路変更コマンドを回路変更コマンド列
保持部56に保存し、回路変更情報テーブル保持部61
に回路変更情報テーブルを生成する。そして、回路変更
部60は回路変更情報テーブルを用いて回路データ情報
保持部64の回路データ情報を書き換え、論理回路を修
正する。
【0096】この後、論理シミュレーション部65は変
更後の回路データ情報を用いてシミュレーションを続行
する。また、回路内部表示部53は変更後の回路データ
情報を参照して、修正された論理回路を表示する。回路
変更コマンド列は入出力制御部51を介してファイル等
に出力することができ、その内容を後でデータベースに
反映させることもできる。
【0097】トレースポイント変更部58は、ユーザと
対話することにより、トレースを開始または終了する信
号端子の情報(トレース情報)を得て、これを回路デー
タ情報に付加する。論理シミュレーション部65はトレ
ース情報に従って、信号値管理テーブル内の信号端子の
値を追加または削除し、トレースポイントの変更を行
う。ここで、トレースポイントとはシミュレーション結
果を保存して表示することができる信号端子を意味す
る。回路変更情報テーブルにより新たな回路が追加され
た場合でも、対応するトレース情報を付加することによ
り、追加回路のトレースが可能になる。
【0098】監視設定部62は、ユーザと対話すること
により、監視するポイントや監視のタイミング等の観測
条件を設定した監視ポイントテーブルを監視ポイントテ
ーブル保持部63に生成する。論理シミュレーション部
65は監視ポイントテーブルを参照しながらシミュレー
ションを実行し、論理回路の不安定状態を検出すること
ができる。
【0099】図43は、シミュレータ41による会話型
シミュレーションのフローチャートである。図43にお
いてシミュレーションが開始されると、ユーザは回路に
エラーがあるかどうかを調べ(ステップS71)、エラ
ーを発見した場合は入力装置43によりその旨を入力す
る。すると、入出力制御部51は回路を修正するかどう
かをユーザに問い合わせ(ステップS72)、回答がY
ESであればシミュレーションを一時中断する。そし
て、回路変更部60はユーザが入力する回路変更コマン
ドに従って回路データ情報を変更する(ステップS7
3)。
【0100】次に、入出力制御部51はシミュレーショ
ンを実行するかどうかをユーザに問い合わせ(ステップ
S74)、回答がYESであれば修正された回路のシミ
ュレーションを実行する(ステップS75)。そして、
シミュレーションを終了する指示があったときに(ステ
ップS76、YES)、処理を終える。
【0101】ステップS71でエラーを発見しない場
合、およびステップS72で修正を行わない場合はステ
ップS74以降の処理を行い、ステップS74で回答が
NOの場合はステップS76以降の処理を行う。また、
ステップS76で終了の指示がない場合はステップS7
1以降の処理を繰り返す。
【0102】図44は、図43のステップS73におけ
る回路修正処理のフローチャートである。図44におい
て処理が開始されると、まず入出力制御部51は回路変
更コマンド(入力イベント)を受け付け(ステップS8
1)、回路変更コマンド列保持部56に格納する。回路
変更部60は入力された回路変更コマンドにより論理の
修正があるかどうかを調べ(ステップS82)、修正の
必要がなければそのまま処理を終了する。必要があれば
回路変更情報テーブルを生成して回路データ情報を変更
し(ステップS83)、処理を終了する。
【0103】このように回路データ情報を直接変更すれ
ば、シミュレーション中に回路を修正してその場で動作
を確認することができ、回路設計に費やす時間を短縮で
きる。
【0104】次に図45から図53までを参照しなが
ら、回路修正の具体例について説明する。図45はシミ
ュレーション対象の論理回路の一部を示す例であり、図
46は図45の論理回路を変更した例を示している。図
45および図46において、AND1、AND2、AN
D3、AND4はAND回路を表し、SIG1、SIG
2、SIG3、SIG4、SIG5、SIG6、SIG
7、SIG8はそれらのAND回路の入力信号または出
力信号を表す。
【0105】図45では、AND1はSIG1とSIG
2を入力としてSIG4をAND2に出力し、AND2
はSIG3とSIG4を入力としてSIG7を出力し、
AND3はSIG5とSIG6を入力としてSIG8を
出力している。図46では、AND1から出力されるS
IG4がAND2から切り離されて、代わりにAND3
に入力するように変更されている。ここで、AND2の
入力信号はSIG3だけになってしまうが、必要があれ
ば次の変更でその入力に他の信号を追加することも可能
である。
【0106】図47は、図45の論理回路をシミュレー
ションしている間に回路データ情報保持部64に保持さ
れている回路データ情報の例を示している。ただし、こ
こでは図45に示された部分以外の回路の回路データ情
報は省略されている。
【0107】図47の回路データ情報においては、論理
回路を構成する各論理素子毎にそのファンイン数、ファ
ンアウト数、ファンインの信号名、およびファンアウト
の信号名が記述されている。例えば、AND1のファン
イン数は2なので、信号名の先頭から2つ目にあるSI
G2までがファンインの信号名を表し、その次以降はフ
ァンアウトの信号名を表すことがわかる。他のAND回
路についても同様である。論理シミュレーション部65
は、図47の回路データ情報を参照して図45の論理回
路のシミュレーションを行う。
【0108】図48は、ユーザが入力した回路変更コマ
ンドに従って回路変更部60が生成する回路変更情報テ
ーブルの例を示している。図48の回路変更情報テーブ
ルは回路データ情報と同様の形式で変更部分についての
み生成される。図48では、AND2のファンイン数が
2から1に変更され、その信号名のリストからSIG4
が削除されている。また、AND3のファンイン数が2
から3に変更され、その信号名のリストの先頭にSIG
4が追加されている。この回路変更情報テーブルは図4
5の論理回路から図46の論理回路への変更に対応す
る。
【0109】図49は、図48の回路変更情報テーブル
を用いて回路変更部60により変更された回路データ情
報を示している。図49が示すように、変更後の回路デ
ータ情報では、変更に関係する論理素子のデータが回路
変更情報テーブルの内容に置き換えられる。図49の回
路データ情報は図46の論理回路を表している。一旦回
路データ情報が変更されると、それ以後論理シミュレー
ション部65は自動的に変更後の論理回路のシミュレー
ションを行う。
【0110】図50および図51は、回路内部表示部5
3が回路データ情報を参照して論理回路を表示した画面
の例を示している。図50は図47の回路データ情報に
基づいて表示した画面であり、図51は図49の変更後
の回路データ情報に基づいて表示した画面である。図5
0および図51においては、各論理素子毎にその入力信
号と出力信号が図示されている。
【0111】図52および図53は、結果表示部52が
ウィンドウ管理テーブル、信号値管理テーブル、および
回路データ情報を参照してシミュレーション結果を表示
した画面の例を示している。図52および図53の上段
において、CLKはクロックのカウント数を表し、LV
Lは1つのクロックサイクル内における観測タイミング
を表す。また、下段はSIG1、SIG2、SIG3、
SIG4、SIG5、SIG6、SIG7、SIG8の
クロック毎の観測値、論理0または論理1を表す。
【0112】図52は図45の論理回路のCLK=02
までのシミュレーション結果を示している。この時点
で、シミュレーション対象が図46のように変更された
とすると、以後の表示は図53のようになる。図53の
CLK=02までとCLK=03(*の位置)以後の信
号値を比べると、SIG1、SIG2、SIG3、SI
G4、SIG5、およびSIG6の値は変わらないが、
AND2とAND3の入力が変更されたためSIG7と
SIG8の値が変化していることがわかる。
【0113】次に図54から図57までを参照しなが
ら、トレースポイントを変更する例について説明する。
図54は、トレースポイント変更処理のフローチャート
である。図54において処理が開始されると、トレース
ポイント変更部58はコマンド解析部57から受け取る
解析結果に従ってトレースポイントの追加か削除かを判
定する(ステップS91)。追加の場合は回路データ情
報保持部64が保持する回路データ情報の観測属性に新
たなトレースポイントを追加して(ステップS92)、
処理を終了する。削除の場合は回路データ情報の観測属
性からトレースポイントを削除して(ステップS9
3)、処理を終了する。
【0114】図55は、AND4とAND5から成る論
理回路に新たなゲート回路AND6を追加したときの表
示画面を示している。図55において、AND4はSI
GaとSIGbを入力としてSIGeを出力し、AND
5はSIGcとSIGdを入力としてSIGfを出力
し、AND6はSIGeとSIGfを入力としてSIG
gを出力する。つまり、AND6はAND4とAND5
の出力側に追加されている。このとき、入力された回路
変更コマンドからAND6の回路データ情報を表す回路
変更情報テーブルが生成され、シミュレーション対象の
回路データ情報が変更される。
【0115】図56はAND6が追加される前のシミュ
レーション結果の表示画面を示しており、図57は追加
後のシミュレーション結果の表示画面を示している。図
56において、TRACE SIGg ONはAND6
の追加後にユーザが入力したコマンドであり、AND6
の出力信号であるSIGgを新たに観測の対象(トレー
スポイント)として追加することを指示している。図5
6ではSIGgは観測されていないが、図57ではSI
Ggもトレースポイントとして追加され、*の付加され
たクロックからその信号値が観測されている。
【0116】次に図58から図60までを参照しなが
ら、回路の不安定状態を監視する例について説明する。
図58は、不安定状態を監視する処理のフローチャート
である。図58において処理が開始されると、論理シミ
ュレーション部65はシミュレーション実行中にイベン
トが発生したかどうかを判定する(ステップS10
1)。イベントが発生した場合は、それが監視ポイント
テーブルに登録された不安定状態監視の対象の信号端子
(監視ポイント)のイベントかどうかを調べる(ステッ
プS102)。監視ポイントの場合、結果表示部64が
その信号の状態に関するメッセージを画面に表示して
(ステップS103)、論理シミュレーション部65が
シミュレーションを続行し(ステップS104)、ステ
ップS101以降の処理を繰り返す。
【0117】ステップS101でイベントが発生しない
場合およびステップS102でイベントが監視ポイント
と無関係である場合は、処理を終了する。図59は、図
55のAND4およびAND5から成る部分についての
シミュレーション結果の表示画面を示している。図59
の状態においてユーザがコマンドONSTB 99を入
力すると、コマンド解析部57がその内容を監視設定部
62に伝え、監視設定部62は信号値を観測するタイミ
ングLVLを99として監視ポイントテーブルに設定す
る。
【0118】その後、論理シミュレーション部65は監
視ポイントテーブルを参照しながら回路を監視し、監視
ポイントの不安定状態を表すイベントが発生すると、結
果表示部64がメッセージを出力する。ここで、監視ポ
イントの不安定状態とは、監視対象の信号値が安定せず
に、例えば論理0と論理1を交互に示すような状態を指
す。
【0119】図60は、不安定状態を検出したことを伝
えるメッセージの表示例を示している。図60の+印の
付加されたクロックにおいて不安定状態が検出され、M
ESSAGEが表示されている。MESSAGEによれ
ば、監視ポイントSIGzが不安定であり、その値はC
LK10のLVL99の時点において論理0であったこ
とがわかる。ここで、SIGzはAND4およびAND
5の入出力信号以外の信号に相当する。
【0120】図61は、回路変更コマンド列保持部56
の回路変更コマンド列を出力する処理のフローチャート
である。図61において処理が開始されると、まず入出
力制御手段51は回路変更に関する情報を保存するかど
うかをユーザに問い合わせる(ステップS111)。ユ
ーザが保存を希望すれば、回路変更コマンド列保持部5
6から回路変更コマンド列を読み出して、外部記憶装置
のファイルに出力し(ステップS112)、処理を終了
する。ユーザが保存を希望しなければそのまま処理を終
了する。
【0121】出力された回路変更コマンド列のファイル
を用いて、データベースを同様に変更することができ
る。尚、回路変更コマンド列の代わりに、回路変更情報
テーブル保持部61が保持する回路変更情報テーブルを
ファイルに出力する構成としてもよい。この場合も、出
力されたファイルを用いて変更内容をデータベースに反
映させることができる。
【0122】
【発明の効果】以上詳細に説明したように、本発明によ
ればシミュレーションモデル自体を直接に変更すること
が可能となり、大規模回路に対するシミュレーションモ
デルの変更を高速に処理することが可能となる。この場
合、シミュレーションモデルはフラットに展開されたA
ND,ORレベルのモデルであるため、ファイルの構造
がシンプルになるとともにファイルサイズもコンパクト
になるメリットがある。また仮に論理を修正して、その
シミュレーションにより論理変更の正当性を確認した後
に、論理データベースを変更することも可能になり、論
理回路設計効率の向上に寄与するところが大きい。
【図面の簡単な説明】
【図1】本発明の原理構成ブロック図である。
【図2】本発明における論理シミュレーションシステム
の構成を示すブロック図である。
【図3】シミュレーションモデル変更部の詳細構成を示
すブロック図である。
【図4】グラフィック画面表示・変更指示部の全体処理
を示すフローチャート(その1)である。
【図5】グラフィック画面表示・変更指示部の全体処理
を示すフローチャート(その2)である。
【図6】新シミュレーションモデル作成部の処理を示す
フローチャートである。
【図7】論理回路の設計階層の具体例を説明する図であ
る。
【図8】階層構造におけるブロックなどの名前のツリー
構造を示す図である。
【図9】図8のツリー構造に対応するシステムのイメー
ジを示す図である。
【図10】各階層の構成要素の名前を検索する場合の画
面表示例を示す図である。
【図11】階層構造の最下位に位置するマクロブロック
の内部構成を示す図である。
【図12】マクロブロックを最下位に持つ階層構造のツ
リー構造表示を示す図である。
【図13】マクロブロックのディスプレイ画面上での表
示例を示す図である。
【図14】バックトレース処理の説明図である。
【図15】フォワードトレース処理の説明図である。
【図16】ファンインの2点間変更処理の説明図であ
る。
【図17】2点間変更の処理が行われた後の表示例を示
す図である。
【図18】入力ピン削除処理の内容の説明図である。
【図19】定数1または定数0のブロックの接続法を示
す図である。
【図20】定数1または定数0のブロックの接続処理の
フローチャートである。
【図21】出力ピン接続変更処理の説明図である。
【図22】ファンアウトのつなぎかえ処理の具体例の説
明図である。
【図23】図21に対応するファンアウトのつなぎかえ
処理の説明図である。
【図24】ファンアウトの入れ替え処理の説明図であ
る。
【図25】ファンアウトの入れ替え処理の具体例を示す
図である。
【図26】シミュレーションモデル上で追加できるマク
ロの外観を示す図である。
【図27】追加できるマクロの内部構成を示す図であ
る。
【図28】ブール式による論理追加のための最初の手続
きの説明図である。
【図29】ブールブロックの内部論理の定義メニューを
示す図である。
【図30】ブールブロック内の論理の記述例を示す図で
ある。
【図31】図30の記述例に対応する論理回路を示す図
である。
【図32】定義されたブールブロックのFNETウィン
ドウにおける表示を示す図である。
【図33】ブールブロックの内部論理の他の記述例を示
す図である。
【図34】ブールブロックの解釈処理のフローチャート
である。
【図35】シミュレーションモデルの変更例を説明する
図(その1)である。
【図36】シミュレーションモデルの変更例を説明する
図(その2)である。
【図37】シミュレーションモデル表現データ格納テー
ブルのフォーマットを示す図である。
【図38】属性フラグの格納位置の説明図である。
【図39】シミュレーションモデルを変更した場合のテ
ーブル格納内容の変化を示す図である。
【図40】論理変更データ作成処理のフローチャートで
ある。
【図41】一実施例の会話型シミュレーションを示す図
である。
【図42】回路データ情報の変更が可能な会話型シミュ
レータの構成図である。
【図43】実施例における会話型シミュレーションのフ
ローチャートである。
【図44】回路修正処理のフローチャートである。
【図45】論理回路の例を示す図である。
【図46】変更後の論理回路を示す図である。
【図47】回路データ情報の例を示す図である。
【図48】回路変更情報テーブルの例を示す図である。
【図49】変更後の回路データ情報を示す図である。
【図50】論理回路の表示画面の例を示す図である。
【図51】変更後の論理回路の表示画面を示す図であ
る。
【図52】シミュレーション結果の表示画面の例を示す
図(その1)である。
【図53】シミュレーション結果の表示画面の例を示す
図(その2)である。
【図54】トレースポイント変更処理のフローチャート
である。
【図55】ゲート追加後の論理回路の表示画面を示す図
である。
【図56】シミュレーション結果の表示画面の例を示す
図(その3)である。
【図57】シミュレーション結果の表示画面の例を示す
図(その4)である。
【図58】不安定状態監視処理のフローチャートであ
る。
【図59】シミュレーション結果の表示画面の例を示す
図(その5)である。
【図60】不安定状態を表すメッセージの表示例を示す
図である。
【図61】回路変更コマンド列の出力処理のフローチャ
ートである。
【図62】従来の会話型シミュレーションを示す図であ
る。
【図63】従来のシミュレーションのフローチャートで
ある。
【符号の説明】 1 シミュレーションモデル変更手段 2 表示手段 3 グラフィック画面表示・変更指示手段 4 新シミュレーションモデル作成手段 10 論理エントリ部 11 設計データベース 12 マクロライブラリ 13 シミュレーションモデル生成部 14 シミュレーションモデル格納部 15 シミュレーション実行部 16 シミュレーション専用ハードウェア 17 グラフィックディスプレイ 18 シミュレーションモデル変更部 20 設計情報 21 ソフトウェアシミュレータ 22 ハードウェアシミュレータ制御ソフト 25,26,27,29 シミュレーションモデル修
正情報 31 グラフィック画面表示・変更指示部 32 新シミュレーションモデル作成部 41 シミュレータ 42 端末 43 入力装置 51 入出力制御部 52 結果表示部 53 回路内部表示部 54 ウィンドウ管理テーブル格納部 55 信号値管理テーブル格納部 56 回路変更コマンド列保持部 57 コマンド解析部 58 トレースポイント変更部58 59 ウィンドウ設定部59 60 回路変更部 61 回路変更情報テーブル保持部 62 監視設定部 63 監視ポイントテーブル保持部 64 回路データ情報保持部 65 論理シミュレーション部
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−108750(JP,A) 特開 平3−116383(JP,A) 特開 昭62−132347(JP,A) 特開 昭60−147880(JP,A) 特開 昭56−87875(JP,A) 特開 平5−134012(JP,A) 特開 平4−17069(JP,A) 特表 平4−504321(JP,A) 国際公開90/11569(WO,A1) 羽毛田卓哉、外2名、”インクリメン タルシミュレーションのゲートレベルへ の適用”、情報処理学会研究報告、情報 処理学会、平成6年2月、DA−70(V ol.94、No.15)、p.1〜8 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 664 G06F 17/50 674 JICSTファイル(JOIS)

Claims (32)

    (57)【特許請求の範囲】
  1. 【請求項1】 論理データベースに格納されている階層
    構造の論理回路データをフラットに展開して、フラット
    シミュレーションモデルを生成するシミュレーション
    モデル生成手段と、 前記論理データベースに格納されている前記論理回路デ
    ータが表す 論理回路の一部の変更を行う時、論理回路
    データの変更を行うことなく、前記フラットなシミュレ
    ーションモデルを直接変更するシミュレーションモデル
    変更手段とを備えたことを特徴とする論理シミュレーシ
    ョンシステム。
  2. 【請求項2】 前記論理シミュレーションシステムが、
    シミュレーションモデルを表示し、設計者が該シミュレ
    ーションモデルに対する変更指示を対話形式で入力でき
    る表示手段を更に備え、 前記シミュレーションモデル変更手段が、該表示手段
    表示制御を行うと共に、該シミュレーションモデルに対
    する変更指示を受け取り、古いシミュレーションモデル
    に対する修正指示を表すシミュレーションモデル修正情
    報を出力するグラフィック画面表示・変更指示手段と、 該グラフィック画面表示・変更指示手段から出力された
    シミュレーションモデル修正情報を受け取り、古いシミ
    ュレーションモデルを変更して新しいシミュレーション
    モデルを出力する新シミュレーションモデル作成手段
    を備えたことを特徴とする請求項1記載の論理シミュレ
    ーションシステム。
  3. 【請求項3】 前記論理データベースが論理回路データ
    を複数の階層に分割された階層表現の形式で格納するこ
    とと、 前記論理シミュレーションシステムが、該論理データベ
    ースに格納されている論理回路データを、階層がなく、
    シミュレーションを即時実行できるゲートレベルのシミ
    ュレーションモデルに変換するシミュレーションモデル
    生成手段と、 該論理データベースに格納されているデータを、設計者
    がその動作を理解可能であり、かつ1つ以上の論理ゲー
    トを含むマクロのレベルに変換するためのデータを格納
    するマクロライブラリ手段とを更に備え、 前記グラフィック画面表示・変更指示手段が、該シミュ
    レーションモデル生成手段が生成したシミュレーション
    モデルとマクロライブラリ手段に格納されているデータ
    とを用いて、マクロレベルのシミュレーションモデルを
    生成して前記表示手段に表示させることを特徴とする請
    求項2記載の論理シミュレーションシステム。
  4. 【請求項4】 前記論理データベースに格納されている
    論理回路データの階層構造に対応して、該論理回路を構
    成する前記マクロ又は論理ブロックのそれぞれにツリー
    構造の名前が付けられていることと、 前記表示手段を介して設計者が論理回路を構成する1つ
    のマクロのブロック、または論理ブロックの名前の表示
    を指示した時、前記グラフィック画面表示・変更手段
    該表示手段に指定されたブロックと同一階層の全てのブ
    ロックの名前を表示させ、設計者による同一階層に属す
    るブロックの名前の検索、および表示されている階層よ
    り下位の階層に属するブロックの名前の検索を可能とさ
    せることを特徴とする請求項3記載の論理シミュレーシ
    ョンシステム。
  5. 【請求項5】 前記表示手段によって表示された同一階
    層の全てのブロックのうちの1つを設計者が指定した
    時、 該指定されたブロックがマクロのブロックである時、前
    記グラフィック画面表示・変更指示手段が該表示手段
    該マクロの形状と他のブロックとの接続状況を表示さ
    せ、マクロでない時には該指定されたブロックの下の階
    層のブロックの名前を表示させることを特徴とする請求
    項4記載の論理シミュレーションシステム。
  6. 【請求項6】 前記設計者によって指定されたブロック
    がマクロであるかマクロでないかに応じて、該指定され
    たブロックの名前を色を変えて表示することを特徴とす
    る請求項5記載の論理シミュレーションシステム。
  7. 【請求項7】 前記表示手段によって表示されているシ
    ミュレーションモデルのマクロブロックの入力ピンを設
    計者が指定して該入力ピンを起点とするバックトレース
    処理を指示した時、 前記グラフィック画面表示・変更指示手段が、バックト
    レース処理として、該指定された入力ピンに接続されて
    いるマクロブロックに関するデータを該表示手段に表示
    させることを特徴とする請求項3記載の論理シミュレー
    ションシステム。
  8. 【請求項8】 前記表示手段によって表示されているシ
    ミュレーションモデルのマクロブロックの出力ピンを設
    計者が指定して、該出力ピンを起点とするフォワードト
    レース処理を指示した時、 前記グラフィック画面表示・変更指示手段が、フォワー
    ドトレース処理として、該指定された出力ピンに接続さ
    れているマクロブロックに関するデータを該表示手段
    表示させることを特徴とする請求項3記載の論理シミュ
    レーションシステム。
  9. 【請求項9】 前記表示手段によって表示されているシ
    ミュレーションモデルのマクロブロックの入力ピンおよ
    び/または出力ピンを指定して、設計者が該入力ピンお
    よび/または出力ピンの接続変更を指示した時、 前記グラフィック画面表示・変更指示手段が、接続変更
    処理として、該入力ピンおよび/または出力ピンの接続
    変更を行うことを特徴とする請求項3記載の論理シミュ
    レーションシステム。
  10. 【請求項10】 前記表示手段に表示されているシミュ
    レーションモデルのマクロブロックの入力ピンに接続さ
    れている接続線の削除を設計者が指示した時、 前記グラフィック画面表示・変更指示手段が、該接続線
    が削除される入力ピンを持つマクロブロックの機能を判
    断して、該機能に対応して定数0、または定数1の値を
    出力するブロックを該入力ピンに接続して、該入力ピン
    以外の入力ピンへの入力による該マクロブロックの動作
    を保証することを特徴とする請求項3記載の論理シミュ
    レーションシステム。
  11. 【請求項11】 前記表示手段によって表示されている
    シミュレーションモデル内のマクロのブロックの1つの
    出力ピンに接続されている複数本の接続線を、他のマク
    ロブロックの1つの出力ピンに接続変更するか、または
    該他のマクロブロックの1つの出力ピンに接続されてい
    る複数本の接続線と入れかえる出力ピン接続変更を設計
    者が指示した時、 前記グラフィック画面表示・変更指示手段が、該出力ピ
    ン接続変更の処理として、該複数本の接続線の接続変
    更、または入れかえを行うことを特徴とする請求項3記
    載の論理シミュレーションシステム。
  12. 【請求項12】 前記表示手段によって表示されている
    シミュレーションモデルのマクロブロックの出力ピンか
    らの接続線の削除を設計者が指示した時、 前記グラフィック画面表示・変更指示手段が、該削除さ
    れる接続線の接続先としての入力ピンを持つマクロブロ
    ックの機能を判断して、該機能に対応して定数0、また
    は定数1の値を出力するブロックを該入力ピンに接続し
    て、該入力ピン以外の入力ピンへの入力による該マクロ
    ブロックの動作を保証することを特徴とする請求項3記
    載の論理シミュレーションシステム。
  13. 【請求項13】 前記表示手段を介して設計者が論理の
    種別、入力と出力の数、入力ピンと出力ピンに接続され
    る回路とを指定してマクロブロックの追加を指示した
    時、 前記グラフィック画面表示・変更指示手段が、マクロブ
    ロック追加処理として、前記シミュレーションモデルに
    対してマクロブロックの追加を行うことを特徴とする請
    求項3記載の論理シミュレーションシステム。
  14. 【請求項14】 前記追加すべきマクロブロックの論理
    の種別としてラッチ、またはフリップフロップのタイプ
    に加えて、クロック信号、セットもしくはリセット信号
    を設計者が指定した時、 前記グラフィック画面表示・変更指示手段が、マクロブ
    ロックとしてのラッチ、またはフリップフロップの追加
    を行うことを特徴とする請求項13記載の論理シミュレ
    ーションシステム。
  15. 【請求項15】 設計者が前記クロック信号、セットも
    しくはリセット信号の指定を省略した時、 前記グラフィック画面表示・変更指示手段が、前記ラッ
    チ、またはフリップフロップのタイプに応じて最適なク
    ロック信号、セットもしくはリセット信号を接続して、
    該ラッチまたはフリップフロップの追加を行うことを特
    徴とする請求項14記載の論理シミュレーションシステ
    ム。
  16. 【請求項16】 前記表示手段を介して設計者が論理の
    ブール式表現、入力と出力の数、入力ピンと出力ピンに
    接続される回路とを入力して、ブール式による論理追加
    を指示した時、 前記グラフィック画面表示・変更指示手段が、ブール式
    による論理追加処理として該ブール式を解釈し、該解釈
    結果に応じたマクロブロックの追加を行うことを特徴と
    する請求項3記載の論理シミュレーションシステム。
  17. 【請求項17】 前記論理シミュレーションシステムが
    シミュレーションモデルに対するシミュレーションを実
    行するソフトウェアシミュレータ手段をさらに備え、 前記表示手段を介して入力されたシミュレーションモデ
    ルに対する設計者からの変更指示に対応して、前記シミ
    ュレーションモデル変更手段が該ソフトウェアシミュレ
    ータ手段の主記憶上にローディングされているシミュレ
    ーションモデルをリアルタイムで変更することを特徴と
    する請求項2記載の論理シミュレーションシステム。
  18. 【請求項18】 前記論理シミュレーションシステムが
    シミュレーションモデルに対するシミュレーションを実
    行するシミュレーション専用ハードウェア手段をさらに
    備え、 前記表示手段を介して入力されたシミュレーションモデ
    ルに対する設計者からの変更指示に対応して、前記シミ
    ュレーションモデル変更手段が該シミュレーション専用
    ハードウェア手段にローディングされているシミュレー
    ションモデルをリアルタイムで変更することを特徴とす
    る請求項2記載の論理シミュレーションシステム。
  19. 【請求項19】 前記グラフィック画面表示・変更指示
    手段が第1のシミュレーションモデルに対するシミュレ
    ーションモデル修正情報を出力し、新シミュレーション
    モデル作成手段が新しいシミュレーションモデルとして
    第2のシミュレーションモデルを作成した後に、該第2
    のシミュレーションモデルを変更する必要が生じた時、 該グラフィック画面表示・変更指示手段が、第2のシミ
    ュレーションモデルの代わりに第1のシミュレーション
    モデルと該第1のシミュレーションモデルに対するシミ
    ュレーションモデル修正情報とに基づいて、第2のシミ
    ュレーションモデルを表現する論理回路を前記表示手段
    に表示させ、設計者の変更指示を入力可能とさせること
    を特徴とする請求項2記載の論理シミュレーションシス
    テム。
  20. 【請求項20】 前記論理シミュレーションシステム
    が、論理回路データのシステムへの入力を受けて、該論
    理回路データを前記論理データベースに格納する論理エ
    ントリ手段を更に備え、 該論理回路の一部の変更を必要とする時、該論理データ
    ベース内のデータの変更を行うことなく、該論理エント
    リ手段が前記グラフィック画面表示・変更指示手段にシ
    ミュレーションモデル修正情報を出力して、シミュレー
    ションモデルの直接変更を行わせることを特徴とする請
    求項2記載の論理シミュレーションシステム。
  21. 【請求項21】 前記論理シミュレーションシステム
    が、論理回路データのシステムへの入力を受けて、論理
    回路データを前記論理データベースに格納する論理エン
    トリ手段を更に備え、 すでに変更されたシミュレーションモデルに対応して該
    論理データベースに格納されている論理回路データを変
    更する時、前記グラフィック画面表示・変更指示手段
    よって出力されたシミュレーションモデル修正情報を修
    正履歴情報として、該論理エントリ手段が該修正履歴情
    報のフォーマットを該論理データベース内のデータフォ
    ーマットに変換して、該論理データベース内の論理回路
    データを修正することを特徴とする請求項2記載の論理
    シミュレーションシステム。
  22. 【請求項22】 前記論理シミュレーションシステム
    が、シミュレーションモデルを表示し、設計者が該シミ
    ュレーションモデルに対する変更指示を対話形式で入力
    できる表示手段と、 前記シミュレーションモデルを回路データ情報として、
    シミュレーション実行中に保持する回路データ情報保持
    手段とを更に備え、 前記シミュレーションモデル変更手段は、前記表示手段
    を介して入力された前記変更指示に対応して前記回路デ
    ータ情報を変更する回路変更手段を備えることを特徴と
    する請求項1記載の論理シミュレーションシステム。
  23. 【請求項23】 前記回路データ情報保持手段は、前記
    論理シミュレーションシステムの主記憶上に設けられる
    ことを特徴とする請求項22記載の論理シミュレーショ
    ンシステム。
  24. 【請求項24】 前記論理シミュレーションシステム
    が、前記回路データ情報保持手段が保持する前記回路デ
    ータ情報を用いて前記論理回路を表示手段に表示させる
    回路内部表示手段を更に備えることを特徴とする請求項
    22記載の論理シミュレーションシステム。
  25. 【請求項25】 前記回路変更手段が前記回路データ情
    報を変更したとき、前記回路内部表示手段は変更後の回
    路データ情報を用いて変更後の論理回路を表示手段に表
    示させることを特徴とする請求項24記載の論理シミュ
    レーションシステム。
  26. 【請求項26】 前記論理シミュレーションシステム
    が、前記回路データ情報保持手段が保持する前記回路デ
    ータ情報が変更されたときに、変更に関する情報を出力
    する入出力制御手段を更に備え、変更内容を前記論理回
    路データに反映させることができることを特徴とする請
    求項22記載の論理シミュレーションシステム。
  27. 【請求項27】 前記論理シミュレーションシステム
    が、前記回路データ情報保持手段が保持する前記回路デ
    ータ情報を参照しながらシミュレーションを実行し、前
    記回路データ情報が変更された後もシミュレーションを
    続行する論理シミュレーション手段を更に備えることを
    特徴とする請求項22記載の論理シミュレーションシス
    テム。
  28. 【請求項28】 前記シミュレーションモデル変更手段
    は、前記論理シミュレーション手段が観測するトレース
    ポイントをシミュレーション実行中に変更することので
    きるトレースポイント変更手段を更に備えることを特徴
    とする請求項27記載の論理シミュレーションシステ
    ム。
  29. 【請求項29】 前記シミュレーションモデル変更手段
    は、前記論理シミュレーション手段が監視すべき信号の
    観測条件を設定する監視設定手段を更に備え、 前記論理シミュレーション手段は、前記監視設定手段
    設定した前記観測条件に従ってシミュレーションを行
    い、前記論理回路内の不安定状態を検出することができ
    ることを特徴とする請求項27記載の論理シミュレーシ
    ョンシステム。
  30. 【請求項30】 論理回路のシミュレーションを行うソ
    フトウェアシミュレータおよびハードウェアシミュレー
    タ、シミュレーションモデルを格納するシミュレーショ
    ンモデル格納手段を備えた論理シミュレーションシステ
    ムにおける論理変更方法であって、階層構造の論理回路データをフラットに展開して、フラ
    ットなシミュレーションモデルを生成し、 前記フラットなシミュレーションモデルに対する修正指
    示を表す シミュレーションモデル修正情報を読み込み、 論理変更データを作成し、 ソフトウェアシミュレータの主記憶内に格納されている
    データの変更であるか否かを判定し、 主記憶データの変更である時には変更データをソフトウ
    ェアシミュレータに渡した後に、また主記憶データの変
    更でない時には直ちに、ハードウェアシミュレータのデ
    ータ変更か否かを判定し、 ハードウェアシミュレータのデータ変更である時、ハー
    ドウェアシミュレータに変更データを渡した後に、また
    ハードウェアシミュレータのデータ変更でない時には直
    ちに、シミュレーションモデル格納部に格納されている
    シミュレーションモデルの変更か否かを判定し、 シミュレーションモデルの変更である時には、前記フラ
    ットなシミュレーションモデルを読み込んで直接変更
    し、新しいシミュレーションモデルを出力して処理を終
    了し、 シミュレーションモデル変更でない時には直ちに処理を
    終了することを特徴とする論理シミュレーションシステ
    ムにおける論理変更方法。
  31. 【請求項31】 計算機を用いた論理シミュレーション
    システムにおいて、 論理データベースに格納されている階層構造の論理回路
    データをフラットに展開して、フラットなシミュレーシ
    ョンモデルに変換し、 該フラットなシミュレーションモデルを主記憶に読み込
    み、 論理回路の一部の変更を行う時、前記主記憶に読み込ま
    れたフラットなシミュレーションモデルを直接変更し、 変更されたシミュレーションモデルを用いてシミュレー
    ションを続行して、 変更後の論理回路の動作を確認することを特徴とする論
    理変更方法。
  32. 【請求項32】 前記主記憶に読み込まれたシミュレー
    ションモデルを変更した後、変更に関する情報を出力
    し、 出力された該変更に関する情報を用いて前記論理回路デ
    ータを変更することを特徴とする請求項31記載の論理
    変更方法。
JP04678095A 1994-03-11 1995-03-07 論理シミュレーションシステム及び論理変更方法 Expired - Fee Related JP3192906B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP04678095A JP3192906B2 (ja) 1994-03-11 1995-03-07 論理シミュレーションシステム及び論理変更方法
US08/985,743 US6154719A (en) 1994-03-11 1997-12-05 Logic simulation system and method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6-41163 1994-03-11
JP4116394 1994-03-11
JP04678095A JP3192906B2 (ja) 1994-03-11 1995-03-07 論理シミュレーションシステム及び論理変更方法

Publications (2)

Publication Number Publication Date
JPH07302281A JPH07302281A (ja) 1995-11-14
JP3192906B2 true JP3192906B2 (ja) 2001-07-30

Family

ID=26380726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04678095A Expired - Fee Related JP3192906B2 (ja) 1994-03-11 1995-03-07 論理シミュレーションシステム及び論理変更方法

Country Status (2)

Country Link
US (1) US6154719A (ja)
JP (1) JP3192906B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11275582B2 (en) * 2017-01-06 2022-03-15 Montana Systems Inc. Event-driven design simulation

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3056071B2 (ja) * 1996-04-25 2000-06-26 日本電気アイシーマイコンシステム株式会社 設計支援装置
US7050958B1 (en) * 2000-06-02 2006-05-23 Arm Limited Method and apparatus for accelerating hardware simulation
US7031899B2 (en) * 2001-04-09 2006-04-18 Novas Software, Inc. System for characterizing simulated circuit logic and behavior
DE10143056A1 (de) * 2001-09-03 2003-03-20 Delphi Tech Inc Verfahren zur Vorbereitung einer Computersimulation einer Kraftfahrzeugelektrik
DE10143101A1 (de) * 2001-09-03 2003-04-03 Infineon Technologies Ag Verfahren zur Validierung von Simulationsergebnissen eines Systems sowie darauf aufbauender Äquivalenzvergleich digitaler Schaltungen
US8224636B2 (en) * 2002-12-17 2012-07-17 Cadence Design Systems, Inc. Method and system for implementing parallel execution in a computing system and in a circuit simulator
US20040242461A1 (en) * 2003-04-08 2004-12-02 Schneider Michael D. Modulators of telomere stability
US7236917B1 (en) * 2003-10-31 2007-06-26 Sun Microsystems, Inc. Method and apparatus for generating minimal node data and dynamic assertions for a simulation
JP2005284751A (ja) 2004-03-30 2005-10-13 Fujitsu Ltd 論理検証装置、論理検証方法および論理検証プログラム
JP4698176B2 (ja) * 2004-07-01 2011-06-08 日本信号株式会社 移動体運行シミュレート装置及びこれを用いた移動体運行予測システム
US7493578B1 (en) * 2005-03-18 2009-02-17 Xilinx, Inc. Correlation of data from design analysis tools with design blocks in a high-level modeling system
US7496869B1 (en) 2005-10-04 2009-02-24 Xilinx, Inc. Method and apparatus for implementing a program language description of a circuit design for an integrated circuit
US7363599B1 (en) 2005-10-04 2008-04-22 Xilinx, Inc. Method and system for matching a hierarchical identifier
US7761272B1 (en) 2006-03-10 2010-07-20 Xilinx, Inc. Method and apparatus for processing a dataflow description of a digital processing system
US8402409B1 (en) 2006-03-10 2013-03-19 Xilinx, Inc. Method and apparatus for supporting run-time reconfiguration in a programmable logic integrated circuit
US7380232B1 (en) 2006-03-10 2008-05-27 Xilinx, Inc. Method and apparatus for designing a system for implementation in a programmable logic device
US20080141071A1 (en) * 2006-12-11 2008-06-12 Bergman Stephen C Pre-Mortem Waveform Trace Generation for Hardware Description Language Simulators
US10452797B2 (en) * 2013-12-06 2019-10-22 Synopsys, Inc. Fault insertion for system verification
US10902175B1 (en) * 2019-09-11 2021-01-26 International Business Machines Corporation Cross-hierarchical block pin placement
CN113326626B (zh) * 2021-06-08 2024-05-10 核电运行研究(上海)有限公司 一种面向用户的系统建模仿真平台及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2609280B2 (ja) * 1988-04-22 1997-05-14 株式会社日立製作所 シミュレーション方法
US4970664A (en) * 1988-06-10 1990-11-13 Kaiser Richard R Critical path analyzer with path context window
US5111413A (en) * 1989-03-24 1992-05-05 Vantage Analysis Systems, Inc. Computer-aided engineering
DE3925972A1 (de) * 1989-08-05 1991-02-07 Philips Patentverwaltung Kernresonanz-spektroskopieverfahren und anordnung zur durchfuehrung des verfahrens
US5220512A (en) * 1990-04-19 1993-06-15 Lsi Logic Corporation System for simultaneous, interactive presentation of electronic circuit diagrams and simulation data
US5555201A (en) * 1990-04-06 1996-09-10 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information
US5287289A (en) * 1990-04-13 1994-02-15 Hitachi, Ltd. Logic synthesis method
US5251159A (en) * 1991-03-20 1993-10-05 Vlsi Technology, Inc. Circuit simulation interface methods
US5473546A (en) * 1991-06-12 1995-12-05 Lsi Logic Corporation Method for flattening hierarchical design descriptions
GB9224225D0 (en) * 1992-11-19 1993-01-06 Int Computers Ltd Compilation mechanism for a simulation model
US5831869A (en) * 1995-12-15 1998-11-03 Unisys Corporation Method of compacting data representations of hierarchical logic designs used for static timing analysis

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
羽毛田卓哉、外2名、"インクリメンタルシミュレーションのゲートレベルへの適用"、情報処理学会研究報告、情報処理学会、平成6年2月、DA−70(Vol.94、No.15)、p.1〜8

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11275582B2 (en) * 2017-01-06 2022-03-15 Montana Systems Inc. Event-driven design simulation

Also Published As

Publication number Publication date
JPH07302281A (ja) 1995-11-14
US6154719A (en) 2000-11-28

Similar Documents

Publication Publication Date Title
JP3192906B2 (ja) 論理シミュレーションシステム及び論理変更方法
JP2862886B2 (ja) Asic用計算機支援設計システム
US6871331B1 (en) Combined waveform and data entry apparatus and method for facilitating fast behavioral verification of digital hardware designs
US9754059B2 (en) Graphical design verification environment generator
JP3027009B2 (ja) 設計取り込みシステム
US5623418A (en) System and method for creating and validating structural description of electronic system
US7299155B2 (en) Method and apparatus for decomposing and verifying configurable hardware
US5933356A (en) Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
US6120550A (en) Design file templates for implementation of logic designs
US5867399A (en) System and method for creating and validating structural description of electronic system from higher-level and behavior-oriented description
US7530046B1 (en) Chip debugging using incremental recompilation
US7024636B2 (en) Chip management system
US7765513B2 (en) Configuration database supporting selective presentation of configuration entities
US6308146B1 (en) System and method for simulating user input to control the operation of an application
US6754862B1 (en) Gaining access to internal nodes in a PLD
JP2002149727A (ja) テーブル形式パラダイムを使用するインターフェース・ベースの設計
US20040128638A1 (en) Method and apparatus for selecting and aligning cells using a placement tool
WO1990011569A1 (en) Computer-aided engineering
US7805695B2 (en) Presentation of a simulated or hardware system including configuration entities
US5907698A (en) Method and apparatus for characterizing static and dynamic operation of an architectural system
US8527254B2 (en) Simulator engine development system and simulator engine development method
Newton et al. Computer-aided design for VLSI circuits
US6810508B1 (en) Method for automatically-remapping an HDL netlist to provide compatibility with pre-synthesis behavioral test benches
JP4629183B2 (ja) 要求仕様記述支援装置およびその方法、記録媒体
JP2967174B2 (ja) 設計装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010515

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

Free format text: PAYMENT UNTIL: 20080525

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090525

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090525

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100525

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100525

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110525

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees