JPH05303606A - 論理シミュレータ - Google Patents
論理シミュレータInfo
- Publication number
- JPH05303606A JPH05303606A JP4109835A JP10983592A JPH05303606A JP H05303606 A JPH05303606 A JP H05303606A JP 4109835 A JP4109835 A JP 4109835A JP 10983592 A JP10983592 A JP 10983592A JP H05303606 A JPH05303606 A JP H05303606A
- Authority
- JP
- Japan
- Prior art keywords
- trace
- value
- signal
- event
- start condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】
【目的】 無駄なトレース処理の実行を排除してシミュ
レーション速度の向上を図ることを目的とする。 【構成】 論理モデル中の各信号の値とこれら信号の値
のトレース指定の有無を示すフラグとトレース開始条件
値指定の有無を示すフラグを記憶する値表メモリ2と、
イベント発生信号から接続先の信号の値を求める演算処
理部3と、イベント発生検出用の比較器4と、フラグの
状態をチェックするフラグチェック回路5と、トレース
開始条件値を保持するラッチ6と、ラッチ6に保持され
たトレース開始条件値とトレース開始条件値指定された
信号の値とを比較してトレース開始条件成立の判定を行
う比較器7と、トレース開始条件の成立後、トレース指
定された信号にイベントが発生した場合、演算処理部3
で求めた信号の値についてトレース処理を行うトレース
処理部10とを有する。
レーション速度の向上を図ることを目的とする。 【構成】 論理モデル中の各信号の値とこれら信号の値
のトレース指定の有無を示すフラグとトレース開始条件
値指定の有無を示すフラグを記憶する値表メモリ2と、
イベント発生信号から接続先の信号の値を求める演算処
理部3と、イベント発生検出用の比較器4と、フラグの
状態をチェックするフラグチェック回路5と、トレース
開始条件値を保持するラッチ6と、ラッチ6に保持され
たトレース開始条件値とトレース開始条件値指定された
信号の値とを比較してトレース開始条件成立の判定を行
う比較器7と、トレース開始条件の成立後、トレース指
定された信号にイベントが発生した場合、演算処理部3
で求めた信号の値についてトレース処理を行うトレース
処理部10とを有する。
Description
【0001】
【産業上の利用分野】例えばASICの論理設計などで
用いられる論理シミュレータに係り、特にイベント・ド
リブン方式の論理シミュレータに関する。
用いられる論理シミュレータに係り、特にイベント・ド
リブン方式の論理シミュレータに関する。
【0002】
【従来の技術】従来から、大規模な論理装置のシミュレ
ーションを行うものとしてイベント・ドリブン方式の論
理シミュレータが知られている。このイベント・ドリブ
ン方式とは、シミュレーション対象回路の入力端子、論
理ゲート、フリップフロップ、レジスタ、インバータな
どの機能素子あるいは複数の機能素子の組み合わせから
なる機能ブロックの入出力端子間を接続する配線上の信
号値の変化をイベントとしてとらえ、この変化した信号
を接続先の機能素子あるいは機能ブロックに伝搬するこ
とによってシミュレーションを進めて行く方式である。
ーションを行うものとしてイベント・ドリブン方式の論
理シミュレータが知られている。このイベント・ドリブ
ン方式とは、シミュレーション対象回路の入力端子、論
理ゲート、フリップフロップ、レジスタ、インバータな
どの機能素子あるいは複数の機能素子の組み合わせから
なる機能ブロックの入出力端子間を接続する配線上の信
号値の変化をイベントとしてとらえ、この変化した信号
を接続先の機能素子あるいは機能ブロックに伝搬するこ
とによってシミュレーションを進めて行く方式である。
【0003】このような論理シミュレータでは、トレー
ス処理を行いたい論理モデル中の信号を予め指定してお
き、シミュレーションの実行中にこの指定された信号の
値に変化があると(イベントが発生すると)、その信号
の値をトレース情報としてシミュレーション結果ファイ
ルに蓄積したり、ディスプレイに表示していた。
ス処理を行いたい論理モデル中の信号を予め指定してお
き、シミュレーションの実行中にこの指定された信号の
値に変化があると(イベントが発生すると)、その信号
の値をトレース情報としてシミュレーション結果ファイ
ルに蓄積したり、ディスプレイに表示していた。
【0004】しかしながら、シミュレーション結果の検
証においては、必ずしもすべてのトレース情報を必要と
はしない。例えば、CPUのようなチップのシミュレー
ションでは、ある特定の命令を受け付けてから以降の動
作のみを検証の対象とする場合が多い。このように特定
の状態あるいは時刻からのシミュレーション結果の検証
を行いたい場合、それまでのトレース処理はすべて無駄
なものになってしまう。こうしたトレース処理の無駄は
論理装置の大規模化が進むにつれて今後益々深刻な問題
となって行くことが予想され、その対策が強く望まれて
いる。
証においては、必ずしもすべてのトレース情報を必要と
はしない。例えば、CPUのようなチップのシミュレー
ションでは、ある特定の命令を受け付けてから以降の動
作のみを検証の対象とする場合が多い。このように特定
の状態あるいは時刻からのシミュレーション結果の検証
を行いたい場合、それまでのトレース処理はすべて無駄
なものになってしまう。こうしたトレース処理の無駄は
論理装置の大規模化が進むにつれて今後益々深刻な問題
となって行くことが予想され、その対策が強く望まれて
いる。
【0005】
【発明が解決しようとする課題】このように従来の論理
シミュレータでは、検証したい機能部分が限られている
場合でも、トレース指定された信号についてはその値が
変化する度に例外なくトレース処理を行っている。この
ため、多くの無駄なトレース処理に時間を費やしてしま
うと共に、無駄なトレース処理結果にファイル容量が奪
われてしまう等の問題があった。
シミュレータでは、検証したい機能部分が限られている
場合でも、トレース指定された信号についてはその値が
変化する度に例外なくトレース処理を行っている。この
ため、多くの無駄なトレース処理に時間を費やしてしま
うと共に、無駄なトレース処理結果にファイル容量が奪
われてしまう等の問題があった。
【0006】本発明はこのような課題を解決するための
もので、シミュレーション結果を解析する立場から無意
味なトレース処理の実行を規制して、シミュレーション
速度の向上を図ることのできる論理シミュレータの提供
を目的としている。
もので、シミュレーション結果を解析する立場から無意
味なトレース処理の実行を規制して、シミュレーション
速度の向上を図ることのできる論理シミュレータの提供
を目的としている。
【0007】
【課題を解決するための手段】本発明の論理シミュレー
タは上記した目的を達成するために、イベント・ドリブ
ン方式で論理モデルのシミュレーションを行う論理シミ
ュレータにおいて、論理モデル中の各信号の値と、これ
ら信号の値のトレース指定の有無を示す第1の情報およ
びトレース開始条件値指定の有無を示す第2の情報とを
記憶する記憶手段と、イベント発生信号を基に論理モデ
ル中の接続先の信号の値を求める演算手段と、演算手段
で求めた信号の値と記憶手段に記憶された演算前の信号
の値とを比較してイベント発生の検出を行うイベント検
出手段と、記憶手段に記憶された第1および第2の情報
を基に、演算手段で求めた信号の値についてのトレース
指定の有無およびトレース開始条件値指定の有無を判定
する判定手段と、予め設定されたトレース開始条件値を
保持する条件値保持手段と、判定手段により演算手段で
求めた信号の値がトレース開始条件値指定されたもので
あることが判定されると同時に、イベント検出手段にて
イベント発生が検出された場合、演算手段で求めた信号
の値と条件値保持手段に保持されたトレース開始条件値
とを比較してトレース開始条件成立の可否を判定する手
段と、トレース開始条件の成立後、判定手段により演算
手段で求めた信号の値がトレース指定されたものである
ことが判定されると同時に、イベント検出手段にてイベ
ント発生が検出された場合、演算手段で求めた信号の値
についてトレース処理を行う手段とを具備している。
タは上記した目的を達成するために、イベント・ドリブ
ン方式で論理モデルのシミュレーションを行う論理シミ
ュレータにおいて、論理モデル中の各信号の値と、これ
ら信号の値のトレース指定の有無を示す第1の情報およ
びトレース開始条件値指定の有無を示す第2の情報とを
記憶する記憶手段と、イベント発生信号を基に論理モデ
ル中の接続先の信号の値を求める演算手段と、演算手段
で求めた信号の値と記憶手段に記憶された演算前の信号
の値とを比較してイベント発生の検出を行うイベント検
出手段と、記憶手段に記憶された第1および第2の情報
を基に、演算手段で求めた信号の値についてのトレース
指定の有無およびトレース開始条件値指定の有無を判定
する判定手段と、予め設定されたトレース開始条件値を
保持する条件値保持手段と、判定手段により演算手段で
求めた信号の値がトレース開始条件値指定されたもので
あることが判定されると同時に、イベント検出手段にて
イベント発生が検出された場合、演算手段で求めた信号
の値と条件値保持手段に保持されたトレース開始条件値
とを比較してトレース開始条件成立の可否を判定する手
段と、トレース開始条件の成立後、判定手段により演算
手段で求めた信号の値がトレース指定されたものである
ことが判定されると同時に、イベント検出手段にてイベ
ント発生が検出された場合、演算手段で求めた信号の値
についてトレース処理を行う手段とを具備している。
【0008】
【作用】本発明の論理シミュレータでは、まず演算手段
にて接続先の信号の値を求め、続いて記憶手段から当該
接続先の信号の演算前の値と共にこれに対応付けられた
第1および第2の情報を読み出す。次にイベント検出手
段は、演算手段で求めた信号の値と記憶手段より読み出
された演算前の信号の値とを比較してイベント発生の検
出を行う。一方、判定手段は、記憶手段より読み出され
た第1および第2の情報から、演算手段で求めた信号の
値についてのトレース指定の有無およびトレース開始条
件値指定の有無を判断する。ここで判定手段により演算
手段で求めた信号の値がトレース開始条件値指定された
ものであることが判定されると同時に、イベント検出手
段にてイベント発生が検出された場合は、演算手段で求
めた信号の値と条件値保持手段に保持されたトレース開
始条件値との比較によるトレース開始条件成立の可否判
定を行う。トレース開始条件の成立後は、判定手段によ
り演算手段で求めた信号の値がトレース指定されたもの
であることが判定されると同時に、イベント検出手段に
てイベント発生が検出された場合は、演算手段で求めた
信号の値についてトレース処理を行う。
にて接続先の信号の値を求め、続いて記憶手段から当該
接続先の信号の演算前の値と共にこれに対応付けられた
第1および第2の情報を読み出す。次にイベント検出手
段は、演算手段で求めた信号の値と記憶手段より読み出
された演算前の信号の値とを比較してイベント発生の検
出を行う。一方、判定手段は、記憶手段より読み出され
た第1および第2の情報から、演算手段で求めた信号の
値についてのトレース指定の有無およびトレース開始条
件値指定の有無を判断する。ここで判定手段により演算
手段で求めた信号の値がトレース開始条件値指定された
ものであることが判定されると同時に、イベント検出手
段にてイベント発生が検出された場合は、演算手段で求
めた信号の値と条件値保持手段に保持されたトレース開
始条件値との比較によるトレース開始条件成立の可否判
定を行う。トレース開始条件の成立後は、判定手段によ
り演算手段で求めた信号の値がトレース指定されたもの
であることが判定されると同時に、イベント検出手段に
てイベント発生が検出された場合は、演算手段で求めた
信号の値についてトレース処理を行う。
【0009】したがって、本発明によれば、イベント発
生信号の値が特定の値(トレース開始条件値)に変化し
てから以降の信号についてのみトレース処理を行うこと
が可能になり、無駄なトレース処理の排除によってシミ
ュレーションの高速化およびトレース情報を保存するフ
ァイルの小容量化等を図ることができる。
生信号の値が特定の値(トレース開始条件値)に変化し
てから以降の信号についてのみトレース処理を行うこと
が可能になり、無駄なトレース処理の排除によってシミ
ュレーションの高速化およびトレース情報を保存するフ
ァイルの小容量化等を図ることができる。
【0010】
【実施例】以下、本発明の実施例を図面を参照しなから
説明する。
説明する。
【0011】図1は本発明に係る一実施例の論理シミュ
レータのシステム構成を示すブロック図である。同図に
示すように、この論理シミュレータは、ホストコンピュ
ータAと、ホストコンピュータAより転送された論理モ
デルデータ、テストデータ、および各種のシミュレーシ
ョン実行コマンドに基づいて論理モデルのシミュレーシ
ョンを実行する論理シミュレータBとからなっている。
レータのシステム構成を示すブロック図である。同図に
示すように、この論理シミュレータは、ホストコンピュ
ータAと、ホストコンピュータAより転送された論理モ
デルデータ、テストデータ、および各種のシミュレーシ
ョン実行コマンドに基づいて論理モデルのシミュレーシ
ョンを実行する論理シミュレータBとからなっている。
【0012】また図2は論理シミュレータBの構成を説
明するためのブロック図である。
明するためのブロック図である。
【0013】同図において、1は論理モデルを構成する
機能素子(または機能ブロック)のデータや接続テーブ
ルを記憶するモデルデータメモリである。
機能素子(または機能ブロック)のデータや接続テーブ
ルを記憶するモデルデータメモリである。
【0014】2は論理モデル中の各信号の値と各種トレ
ースフラグとをそれぞれ対応付けて記憶する値表メモリ
である。すなわち、この値表メモリ2は、図3に示すよ
うに、トレースフラグ領域2aと信号値領域2bとから
なっている。トレースフラグ領域2aには、1ユーザ時
刻内(ひとつのテストデータの入力によるシミュレーシ
ョン期間)にトレースバッファメモリ9に一度値表メモ
リアドレスを登録した信号であるか否かを示すトレース
検出有無フラグF1、トレース指定された信号であるか
否かを示すトレース指定有無フラグF2、トレース開始
条件値が指定された信号であるか否かを示すトレース開
始条件値指定有無フラグF3がそれぞれ記憶される。な
お、トレース指定有無フラグF2およびトレース開始条
件値指定有無フラグF3はホストコンピュータAを通し
てユーザにより任意に設定される。 3はモデルデータ
メモリ1に記憶されたモデルデータおよび値表メモリ2
に記憶された信号の値を用いて、イベント発生信号が伝
搬する機能素子(または機能ブロック)の出力信号の値
を接続先の信号の値として求める演算処理部である。
4は演算処理部3で求めた信号の値と値表メモリ2に記
憶された演算前の信号の値とを比較してイベントの発生
を検出する第1の比較器である。この第1の比較器4は
イベントの発生を検出すると“H”レベルのイベント検
出信号aを出力する。
ースフラグとをそれぞれ対応付けて記憶する値表メモリ
である。すなわち、この値表メモリ2は、図3に示すよ
うに、トレースフラグ領域2aと信号値領域2bとから
なっている。トレースフラグ領域2aには、1ユーザ時
刻内(ひとつのテストデータの入力によるシミュレーシ
ョン期間)にトレースバッファメモリ9に一度値表メモ
リアドレスを登録した信号であるか否かを示すトレース
検出有無フラグF1、トレース指定された信号であるか
否かを示すトレース指定有無フラグF2、トレース開始
条件値が指定された信号であるか否かを示すトレース開
始条件値指定有無フラグF3がそれぞれ記憶される。な
お、トレース指定有無フラグF2およびトレース開始条
件値指定有無フラグF3はホストコンピュータAを通し
てユーザにより任意に設定される。 3はモデルデータ
メモリ1に記憶されたモデルデータおよび値表メモリ2
に記憶された信号の値を用いて、イベント発生信号が伝
搬する機能素子(または機能ブロック)の出力信号の値
を接続先の信号の値として求める演算処理部である。
4は演算処理部3で求めた信号の値と値表メモリ2に記
憶された演算前の信号の値とを比較してイベントの発生
を検出する第1の比較器である。この第1の比較器4は
イベントの発生を検出すると“H”レベルのイベント検
出信号aを出力する。
【0015】5はイベント発生検出のため値表メモリ2
より読み出された信号の値と対応付けられた各トレース
フラグF1、F2、F3の状態をチェックするフラグチ
ェック回路である。すなわち、このフラグチェック回路
5はトレース検出有無フラグF1が“未検出”、トレー
ス開始条件値指定有無フラグF3が“指定有り”の状態
にセットされている場合に“H”レベルのトレース開始
条件値指定検出信号bを出力する。また、フラグチェッ
ク回路5はトレース検出有無フラグF1が“検出済
み”、トレース指定有無フラグF2が“指定有り”の状
態にそれぞれセットされている場合に“H”レベルのト
レース指定検出信号cを出力する。
より読み出された信号の値と対応付けられた各トレース
フラグF1、F2、F3の状態をチェックするフラグチ
ェック回路である。すなわち、このフラグチェック回路
5はトレース検出有無フラグF1が“未検出”、トレー
ス開始条件値指定有無フラグF3が“指定有り”の状態
にセットされている場合に“H”レベルのトレース開始
条件値指定検出信号bを出力する。また、フラグチェッ
ク回路5はトレース検出有無フラグF1が“検出済
み”、トレース指定有無フラグF2が“指定有り”の状
態にそれぞれセットされている場合に“H”レベルのト
レース指定検出信号cを出力する。
【0016】6はトレース開始条件値として設定された
任意の値を保持するラッチである。7はラッチ6に保持
されたトレース開始条件値とトレース開始条件値指定さ
れた信号の値とを比較してトレース開始条件成立の判定
を行う第2の比較器である。この第2の比較器7はトレ
ース開始条件成立を判断すると“H”レベルのトレース
開始条件成立信号dを出力する。
任意の値を保持するラッチである。7はラッチ6に保持
されたトレース開始条件値とトレース開始条件値指定さ
れた信号の値とを比較してトレース開始条件成立の判定
を行う第2の比較器である。この第2の比較器7はトレ
ース開始条件成立を判断すると“H”レベルのトレース
開始条件成立信号dを出力する。
【0017】8はフラグチェック回路5より出力された
トレース開始条件値指定検出信号bおよびトレース指定
検出信号cと、第1の比較器4および第2の比較器7よ
り出力されたイベント検出信号aおよびトレース開始条
件成立信号dとに基づき、トレース処理起動信号eを生
成する組合せ論理回路である。この組合せ論理回路8
は、トレース開始条件値指定検出信号bとイベント検出
信号aとの論理積をとる第1のAND回路8aと、トレ
ース指定検出信号c、イベント検出信号aおよびトレー
ス開始条件成立信号dの論理積をとる第2のAND回路
8bと、第1のAND回路8aおよび第2のAND回路
8bのそれぞれの出力の論理和をとるOR回路8cとか
ら構成される。
トレース開始条件値指定検出信号bおよびトレース指定
検出信号cと、第1の比較器4および第2の比較器7よ
り出力されたイベント検出信号aおよびトレース開始条
件成立信号dとに基づき、トレース処理起動信号eを生
成する組合せ論理回路である。この組合せ論理回路8
は、トレース開始条件値指定検出信号bとイベント検出
信号aとの論理積をとる第1のAND回路8aと、トレ
ース指定検出信号c、イベント検出信号aおよびトレー
ス開始条件成立信号dの論理積をとる第2のAND回路
8bと、第1のAND回路8aおよび第2のAND回路
8bのそれぞれの出力の論理和をとるOR回路8cとか
ら構成される。
【0018】9はトレース開始条件値指定された信号の
値またはトレース指定された信号の値が格納された値表
メモリ2上のアドレスが登録されるトレースバッファメ
モリである。
値またはトレース指定された信号の値が格納された値表
メモリ2上のアドレスが登録されるトレースバッファメ
モリである。
【0019】10はトレース指定された信号の値につい
てトレース処理を行うトレース処理部である。このトレ
ース処理部10の構成については後で詳しく説明する。
てトレース処理を行うトレース処理部である。このトレ
ース処理部10の構成については後で詳しく説明する。
【0020】11は演算処理部3より出力された値表メ
モリアドレスまたはトレースバッファメモリ9より読み
出された値表メモリアドレスのいずかを選択して値表メ
モリ2のアドレス入力端子に送出するセレクタである。
モリアドレスまたはトレースバッファメモリ9より読み
出された値表メモリアドレスのいずかを選択して値表メ
モリ2のアドレス入力端子に送出するセレクタである。
【0021】次に図4を用いてトレース処理部10の構
成を説明する。
成を説明する。
【0022】同図において、101はトレース開始条件
値指定された信号の値またはトレース指定された信号の
値を格納した値表メモリ2上のアドレスをトレースバッ
ファメモリ9に書き込む制御を行うトレース前処理制御
部である。
値指定された信号の値またはトレース指定された信号の
値を格納した値表メモリ2上のアドレスをトレースバッ
ファメモリ9に書き込む制御を行うトレース前処理制御
部である。
【0023】102はトレースバッファメモリ9からの
値表メモリアドレスの読み出しおよびこのアドレスに基
づく値表メモリ2からの信号の値の読み出しを制御する
トレース後処理制御部である。
値表メモリアドレスの読み出しおよびこのアドレスに基
づく値表メモリ2からの信号の値の読み出しを制御する
トレース後処理制御部である。
【0024】103は値表メモリアドレスをトレースバ
ッファメモリ9に書き込む際に必要なライトアドレス
(トレースバッファメモリ9のライトアドレス)を生成
するアドレス生成部である。このアドレス生成部103
はセレクタ103a、103bとアダー103cとから
構成されている。
ッファメモリ9に書き込む際に必要なライトアドレス
(トレースバッファメモリ9のライトアドレス)を生成
するアドレス生成部である。このアドレス生成部103
はセレクタ103a、103bとアダー103cとから
構成されている。
【0025】104はアドレス生成部103により生成
されたトレースバッファメモリ9のライトアドレスを一
時的に保持するアドレスレジスタである。
されたトレースバッファメモリ9のライトアドレスを一
時的に保持するアドレスレジスタである。
【0026】105はトレース開始条件の成立後、1ユ
ーザ時刻内で値表メモリアドレスを格納したトレースバ
ッファメモリ9上の最終アドレスを保持するラッチであ
る。106はアドレスレジスタ104に保持されたライ
トアドレスとラッチ105に保持された最終アドレスと
を比較する比較器である。この比較器106にて各アド
レスが一致した場合、トレース後処理の終了を指示する
信号fをトレース後処理制御部102に送出する。
ーザ時刻内で値表メモリアドレスを格納したトレースバ
ッファメモリ9上の最終アドレスを保持するラッチであ
る。106はアドレスレジスタ104に保持されたライ
トアドレスとラッチ105に保持された最終アドレスと
を比較する比較器である。この比較器106にて各アド
レスが一致した場合、トレース後処理の終了を指示する
信号fをトレース後処理制御部102に送出する。
【0027】107は1ユーザ時刻内でイベントの伝搬
が無くなったこと(イベント情報を格納するメモリが空
になったこと)を示す信号gを入力したとき、トレース
後処理制御部102に起動信号hを出力するAND回路
である。
が無くなったこと(イベント情報を格納するメモリが空
になったこと)を示す信号gを入力したとき、トレース
後処理制御部102に起動信号hを出力するAND回路
である。
【0028】次に本実施例の論理シミュレータの動作を
説明する。
説明する。
【0029】演算処理部3はイベント発生信号を入力す
ると、モデルデータメモリ1に格納されたモデルデータ
と値表メモリ2に格納された信号の値から当該イベント
発生信号が伝搬する機能素子(または機能ブロック)の
出力信号の値を接続先の信号の値として求め、この信号
の値を第1の比較器4の一方の入力端子に入力する。続
いて演算処理部3は、接続テーブルを参照して当該接続
先の信号の演算前の値を格納した値表メモリ2上のアド
レスを求め、値表メモリ2より該当する信号の値とこれ
に対応付けられた各トレースフラグF1、F2、F3を
読み出す。こうして読み出された信号の値は第1の比較
器4の他方の入力端子に入力される。また各トレースフ
ラグF1、F2、F3はフラグチェック回路5に入力さ
れる。第1の比較器4は、演算処理部3で求めた信号の
値と値表メモリ2より読み出された演算前の信号の値と
を比較してイベント発生の検出を行う。この結果、各値
が不一致の場合はイベントが発生したものとして、第1
の比較器4から組合せ論理回路8内の各AND回路8
a、8bに“H”レベルのイベント検出信号aが送られ
る。
ると、モデルデータメモリ1に格納されたモデルデータ
と値表メモリ2に格納された信号の値から当該イベント
発生信号が伝搬する機能素子(または機能ブロック)の
出力信号の値を接続先の信号の値として求め、この信号
の値を第1の比較器4の一方の入力端子に入力する。続
いて演算処理部3は、接続テーブルを参照して当該接続
先の信号の演算前の値を格納した値表メモリ2上のアド
レスを求め、値表メモリ2より該当する信号の値とこれ
に対応付けられた各トレースフラグF1、F2、F3を
読み出す。こうして読み出された信号の値は第1の比較
器4の他方の入力端子に入力される。また各トレースフ
ラグF1、F2、F3はフラグチェック回路5に入力さ
れる。第1の比較器4は、演算処理部3で求めた信号の
値と値表メモリ2より読み出された演算前の信号の値と
を比較してイベント発生の検出を行う。この結果、各値
が不一致の場合はイベントが発生したものとして、第1
の比較器4から組合せ論理回路8内の各AND回路8
a、8bに“H”レベルのイベント検出信号aが送られ
る。
【0030】一方、フラグチェック回路5は、トレース
開始条件値指定有無フラグF3が“指定有り”の状態に
セットされ、かつトレース検出有無フラグF1が“未検
出”の状態にセットされていることを判断すると“H”
レベルのトレース開始条件値指定検出信号bを第1のA
ND回路8aに入力する。またフラグチェック回路5
は、トレース指定有無フラグF2が“指定有り”の状態
にセットされ、かつトレース検出有無フラグF1が“検
出済み”の状態にセットされていることを判断すると
“H”レベルのトレース指定検出信号cを第2のAND
回路8bに入力する。 ここで、トレース開始条件成立
前の状態において、第1の比較器4よりイベント検出信
号aが出力され、かつフラグチェック回路5よりトレー
ス開始条件値指定検出信号bが出力された場合を想定す
る。この場合、組合せ論理回路8内の第1のAND回路
8aの出力信号が“H”レベルとなり、OR回路8cを
通じてこの信号はトレース前処理の起動信号eとしてト
レース処理部10に出力される。 トレース前処理制御
部101はこの起動信号eを入力すると、アドレス生成
部103を制御して値表メモリアドレスを書き込むべき
トレースバッファメモリ9のライトアドレスを生成す
る。そしてトレース前処理制御部101は生成したライ
トアドレスをアドレスレジスタ104を介してトレース
バッファメモリ9のアドレス入力端子に入力する。これ
によりトレースバッファメモリ9に、トレース開始条件
値指定された信号の値を格納した値表メモリ2のアドレ
スが格納される。またこのとき、値表メモリ2上の該当
するトレース検出有無フラグF1を“検出済み”の状態
に更新する。これにより、トレースバッファメモリ9へ
の同一データの書き込みを防止する。
開始条件値指定有無フラグF3が“指定有り”の状態に
セットされ、かつトレース検出有無フラグF1が“未検
出”の状態にセットされていることを判断すると“H”
レベルのトレース開始条件値指定検出信号bを第1のA
ND回路8aに入力する。またフラグチェック回路5
は、トレース指定有無フラグF2が“指定有り”の状態
にセットされ、かつトレース検出有無フラグF1が“検
出済み”の状態にセットされていることを判断すると
“H”レベルのトレース指定検出信号cを第2のAND
回路8bに入力する。 ここで、トレース開始条件成立
前の状態において、第1の比較器4よりイベント検出信
号aが出力され、かつフラグチェック回路5よりトレー
ス開始条件値指定検出信号bが出力された場合を想定す
る。この場合、組合せ論理回路8内の第1のAND回路
8aの出力信号が“H”レベルとなり、OR回路8cを
通じてこの信号はトレース前処理の起動信号eとしてト
レース処理部10に出力される。 トレース前処理制御
部101はこの起動信号eを入力すると、アドレス生成
部103を制御して値表メモリアドレスを書き込むべき
トレースバッファメモリ9のライトアドレスを生成す
る。そしてトレース前処理制御部101は生成したライ
トアドレスをアドレスレジスタ104を介してトレース
バッファメモリ9のアドレス入力端子に入力する。これ
によりトレースバッファメモリ9に、トレース開始条件
値指定された信号の値を格納した値表メモリ2のアドレ
スが格納される。またこのとき、値表メモリ2上の該当
するトレース検出有無フラグF1を“検出済み”の状態
に更新する。これにより、トレースバッファメモリ9へ
の同一データの書き込みを防止する。
【0031】こうしてトレース開始条件値指定された信
号についてイベントが発生するごとに、値表メモリアド
レスがトレースバッファメモリ9に順次書き込まれる。
号についてイベントが発生するごとに、値表メモリアド
レスがトレースバッファメモリ9に順次書き込まれる。
【0032】この後、1ユーザ時刻内でイベントの伝搬
が無くなると、AND回路107を通じてトレース後処
理制御部102に起動信号hが入力される。これにより
トレース後処理制御部102はトレースバッファメモリ
9の先頭アドレスから順次値表メモリアドレスを読み出
し、この値表メモリアドレスを基に値表メモリ2から該
当する信号の値を読み出す。
が無くなると、AND回路107を通じてトレース後処
理制御部102に起動信号hが入力される。これにより
トレース後処理制御部102はトレースバッファメモリ
9の先頭アドレスから順次値表メモリアドレスを読み出
し、この値表メモリアドレスを基に値表メモリ2から該
当する信号の値を読み出す。
【0033】値表メモリ2より読み出された信号の値
は、第2の比較器7にてラッチ6に保持されたトレース
開始条件値と比較される。この結果、各値が一致した場
合はトレース開始条件の成立を判断し、“H”レベルの
トレース開始条件成立信号dを組合せ論理回路8内の第
2のAND回路8bに出力する。
は、第2の比較器7にてラッチ6に保持されたトレース
開始条件値と比較される。この結果、各値が一致した場
合はトレース開始条件の成立を判断し、“H”レベルの
トレース開始条件成立信号dを組合せ論理回路8内の第
2のAND回路8bに出力する。
【0034】こうしてトレース開始条件が成立した後
は、トレース指定された信号についてイベントが発生す
るごとにトレース処理を実行し、ユーザ時刻の最後でそ
のトレース処理の結果をホストコンピュータAに転送す
る。
は、トレース指定された信号についてイベントが発生す
るごとにトレース処理を実行し、ユーザ時刻の最後でそ
のトレース処理の結果をホストコンピュータAに転送す
る。
【0035】すなわち、イベント検出信号a、トレース
指定検出信号cおよびトレース開始条件成立信号dがそ
れぞれ“H”レベルになることで第2のAND回路8b
の出力信号は“H”レベルになり、OR回路8cを通じ
てこの信号はトレース前処理の起動信号eとしてトレー
ス処理部10に送られる。
指定検出信号cおよびトレース開始条件成立信号dがそ
れぞれ“H”レベルになることで第2のAND回路8b
の出力信号は“H”レベルになり、OR回路8cを通じ
てこの信号はトレース前処理の起動信号eとしてトレー
ス処理部10に送られる。
【0036】トレース前処理制御部101はこの起動信
号eを入力すると、アドレス生成部103を制御して値
表メモリアドレスを書き込むべきトレースバッファメモ
リ9のライトアドレスを生成する。そしてトレース前処
理制御部101は生成したアドレスをアドレスレジスタ
104を通じてトレースバッファメモリ9のアドレス入
力端子に入力する。この際、1ユーザ時刻内で最後に生
成されたトレースバッファメモリ9のライトアドレスが
ラッチ105に保持される。
号eを入力すると、アドレス生成部103を制御して値
表メモリアドレスを書き込むべきトレースバッファメモ
リ9のライトアドレスを生成する。そしてトレース前処
理制御部101は生成したアドレスをアドレスレジスタ
104を通じてトレースバッファメモリ9のアドレス入
力端子に入力する。この際、1ユーザ時刻内で最後に生
成されたトレースバッファメモリ9のライトアドレスが
ラッチ105に保持される。
【0037】この後、1ユーザ時刻内でイベントの伝搬
が無くなると、トレース後処理制御部102が起動され
る。トレース後処理制御部102は、トレースバッファ
メモリ9に格納された値表メモリアドレスを基に値表メ
モリ2から信号の値を読み出し、これをトレース情報と
してホストコンピュータAに転送する。この際、値表メ
モリ2内の当該信号の値に対応するトレース検出有無フ
ラグF1を“未検出”の状態に更新する。
が無くなると、トレース後処理制御部102が起動され
る。トレース後処理制御部102は、トレースバッファ
メモリ9に格納された値表メモリアドレスを基に値表メ
モリ2から信号の値を読み出し、これをトレース情報と
してホストコンピュータAに転送する。この際、値表メ
モリ2内の当該信号の値に対応するトレース検出有無フ
ラグF1を“未検出”の状態に更新する。
【0038】この後、アドレスレジスタ104に保持さ
れた現在のアドレスとラッチ105に保持された最終ア
ドレスとが一致したことが比較器106にて検出される
と、この最終アドレスによる値表メモリ2からの信号の
値の読み出しおよびホストコンピュータAへのトレース
情報転送を終えた後、トレース後処理制御部102によ
るトレース処理は終了する。
れた現在のアドレスとラッチ105に保持された最終ア
ドレスとが一致したことが比較器106にて検出される
と、この最終アドレスによる値表メモリ2からの信号の
値の読み出しおよびホストコンピュータAへのトレース
情報転送を終えた後、トレース後処理制御部102によ
るトレース処理は終了する。
【0039】このように本実施例の論理シミュレータで
は、トレース開始条件値指定された信号についてイベン
トが発生すると、この信号の値と予め設定されたトレー
ス開始条件値とを比較してトレース開始条件の成立の可
否を判定する。この結果、トレース開始条件が成立すれ
ば、以降、トレース指定された信号についてイベントが
発生するごとにこの信号の値をトレース情報として処理
する。したがって、この論理シミュレータによれば、イ
ベント発生信号の値が特定の値(トレース開始条件値)
に変化してから以降の信号についてのみトレース処理を
行うことが可能になり、無駄なトレース処理の排除によ
ってシミュレーションの高速化およびトレース情報を保
存するファイルの小容量化等を図ることができる。
は、トレース開始条件値指定された信号についてイベン
トが発生すると、この信号の値と予め設定されたトレー
ス開始条件値とを比較してトレース開始条件の成立の可
否を判定する。この結果、トレース開始条件が成立すれ
ば、以降、トレース指定された信号についてイベントが
発生するごとにこの信号の値をトレース情報として処理
する。したがって、この論理シミュレータによれば、イ
ベント発生信号の値が特定の値(トレース開始条件値)
に変化してから以降の信号についてのみトレース処理を
行うことが可能になり、無駄なトレース処理の排除によ
ってシミュレーションの高速化およびトレース情報を保
存するファイルの小容量化等を図ることができる。
【0040】次に本発明の他の実施例を説明する。
【0041】図5は本実施例の論理シミュレータの構成
を示すブロック図である。
を示すブロック図である。
【0042】同図において、21はモデルデータメモ
リ、22は値表メモリ、23は演算処理部、24はイベ
ント検出用の第1の比較器である。これらの構成につい
ては図2と同じであるため詳細な説明は省略する。
リ、22は値表メモリ、23は演算処理部、24はイベ
ント検出用の第1の比較器である。これらの構成につい
ては図2と同じであるため詳細な説明は省略する。
【0043】25はフラグチェック回路である。このフ
ラグチェック回路25はトレース検出有無フラグF1が
“未検出”で、トレース指定有無フラグF2およびトレ
ース開始条件値指定有無フラグF3がそれぞれ“指定有
り”の状態にセットされている場合に“H”レベルのト
レース有効信号iを出力する。
ラグチェック回路25はトレース検出有無フラグF1が
“未検出”で、トレース指定有無フラグF2およびトレ
ース開始条件値指定有無フラグF3がそれぞれ“指定有
り”の状態にセットされている場合に“H”レベルのト
レース有効信号iを出力する。
【0044】26はトレース開始条件値として設定され
た任意の値を保持するラッチである。 27はイベント
発生が検出された信号の値(イベント値)とラッチ26
に保持されたトレース開始条件値とを比較してトレース
開始条件の成立の可否を判定する第2の比較器である。
た任意の値を保持するラッチである。 27はイベント
発生が検出された信号の値(イベント値)とラッチ26
に保持されたトレース開始条件値とを比較してトレース
開始条件の成立の可否を判定する第2の比較器である。
【0045】28は第2の比較器27にて各値が一致し
た場合に“1”の値をトレース開始条件成立信号jとし
てクリア信号が入力されるまでの間保持するレジスタで
ある。 29はレジスタ28に保持すべき信号の値を選
択するためのセレクタである。すなわち、第2の比較器
27にて各値が一致した場合はセレクタ29にて“1”
の値が選択され、不一致の場合は現在レジスタ28に保
持されている“1”か“0”の値が選択される。したが
って、レジスタ28に“1”の値が既に保持されている
場合、その後第2の比較器27にて各値の不一致が検出
されても、レジスタ28に保持された値はクリア信号が
入力されるまで“1”に固定される。
た場合に“1”の値をトレース開始条件成立信号jとし
てクリア信号が入力されるまでの間保持するレジスタで
ある。 29はレジスタ28に保持すべき信号の値を選
択するためのセレクタである。すなわち、第2の比較器
27にて各値が一致した場合はセレクタ29にて“1”
の値が選択され、不一致の場合は現在レジスタ28に保
持されている“1”か“0”の値が選択される。したが
って、レジスタ28に“1”の値が既に保持されている
場合、その後第2の比較器27にて各値の不一致が検出
されても、レジスタ28に保持された値はクリア信号が
入力されるまで“1”に固定される。
【0046】30は第1の比較器24より出力されたイ
ベント検出信号h、フラグチェック回路25より出力さ
れたトレース有効信号i、およびレジスタ28より出力
されたトレース開始条件成立信号jの論理積をとるAN
D回路である。
ベント検出信号h、フラグチェック回路25より出力さ
れたトレース有効信号i、およびレジスタ28より出力
されたトレース開始条件成立信号jの論理積をとるAN
D回路である。
【0047】31はトレース情報としての信号の値を格
納した値表メモリ22上のアドレスが登録されるトレー
スバッファメモリである。
納した値表メモリ22上のアドレスが登録されるトレー
スバッファメモリである。
【0048】32はAND回路30より入力したトレー
ス処理起動信号kに基づきトレース処理を行うトレース
処理部である。
ス処理起動信号kに基づきトレース処理を行うトレース
処理部である。
【0049】33は演算処理部23より出力された値表
メモリアドレスまたはトレースバッファメモリ31より
読み出された値表メモリアドレスのいずかを選択して値
表メモリ22のアドレス入力端子に送出するセレクタで
ある。
メモリアドレスまたはトレースバッファメモリ31より
読み出された値表メモリアドレスのいずかを選択して値
表メモリ22のアドレス入力端子に送出するセレクタで
ある。
【0050】次にこの論理シミュレータの動作を説明す
る。
る。
【0051】演算処理部23はイベント発生信号を入力
すると、モデルデータメモリ21に格納されたモデルデ
ータと値表メモリ22に格納された信号の値から接続先
の信号の値を求め、この信号の値を第1の比較器24の
一方の入力端子に入力する。続いて演算処理部23は、
接続テーブルを参照して当該接続先の信号の演算前の値
を格納した値表メモリ22上のアドレスを調べ、このア
ドレスを基に値表メモリ22より該当する信号の値とこ
れに対応付けられた各トレースフラグF1、F2、F3
を読み出す。こうして読み出された信号の値は第1の比
較器24の他方の入力端子に入力される。また各トレー
スフラグF1、F2、F3はフラグチェック回路25に
入力される。
すると、モデルデータメモリ21に格納されたモデルデ
ータと値表メモリ22に格納された信号の値から接続先
の信号の値を求め、この信号の値を第1の比較器24の
一方の入力端子に入力する。続いて演算処理部23は、
接続テーブルを参照して当該接続先の信号の演算前の値
を格納した値表メモリ22上のアドレスを調べ、このア
ドレスを基に値表メモリ22より該当する信号の値とこ
れに対応付けられた各トレースフラグF1、F2、F3
を読み出す。こうして読み出された信号の値は第1の比
較器24の他方の入力端子に入力される。また各トレー
スフラグF1、F2、F3はフラグチェック回路25に
入力される。
【0052】第1の比較器24では、演算処理部23で
求めた信号の値と値表メモリ22より読み出された演算
前の信号の値とを比較し、各値が不一致の場合はイベン
トが発生したものとして“H”レベルのイベント検出信
号hをAND回路30の入力端子に入力する。また、イ
ベントが発生することにより、値表メモリ22上の信号
の値は演算処理部23で求めた信号の値に更新され、更
新後の信号の値(イベント値)は第2の比較器27に入
力される。
求めた信号の値と値表メモリ22より読み出された演算
前の信号の値とを比較し、各値が不一致の場合はイベン
トが発生したものとして“H”レベルのイベント検出信
号hをAND回路30の入力端子に入力する。また、イ
ベントが発生することにより、値表メモリ22上の信号
の値は演算処理部23で求めた信号の値に更新され、更
新後の信号の値(イベント値)は第2の比較器27に入
力される。
【0053】またフラグチェック回路25において、ト
レース検出有無フラグF1が“未検出”で、トレース指
定有無フラグF2およびトレース開始条件値指定有無フ
ラグF3がそれぞれ“指定有り”の状態にセットされて
いることが判断された場合、フラグチェック回路25か
ら“H”レベルのトレース有効信号iがAND回路30
の入力端子に入力される。
レース検出有無フラグF1が“未検出”で、トレース指
定有無フラグF2およびトレース開始条件値指定有無フ
ラグF3がそれぞれ“指定有り”の状態にセットされて
いることが判断された場合、フラグチェック回路25か
ら“H”レベルのトレース有効信号iがAND回路30
の入力端子に入力される。
【0054】さらに第2の比較器27では、ラッチ26
に保持されたトレース開始条件値とイベント値との比較
が行われる。この結果、各値が一致した場合、セレクタ
29を通してレジスタ28に“1”の値がセットされ、
この結果、AND回路30の入力端子に“H”レベルの
トレース開始条件成立信号jが入力される。以降このレ
ジスタ28にセットされた値はクリア信号が入力される
まで保持される。
に保持されたトレース開始条件値とイベント値との比較
が行われる。この結果、各値が一致した場合、セレクタ
29を通してレジスタ28に“1”の値がセットされ、
この結果、AND回路30の入力端子に“H”レベルの
トレース開始条件成立信号jが入力される。以降このレ
ジスタ28にセットされた値はクリア信号が入力される
まで保持される。
【0055】AND回路30は入力したイベント検出信
号h、トレース有効信号iおよびトレース開始条件成立
信号jの論理積をとり、この結果、“H”の信号が得ら
れた場合、これをトレース処理起動信号kとしてトレー
ス処理部32に入力する。
号h、トレース有効信号iおよびトレース開始条件成立
信号jの論理積をとり、この結果、“H”の信号が得ら
れた場合、これをトレース処理起動信号kとしてトレー
ス処理部32に入力する。
【0056】トレース処理部32はトレース処理起動信
号kを入力すると、演算処理部23で求めた信号の値が
格納された値表メモリ22上のアドレスをトレースバッ
ファメモリ31に登録する。この際、値表メモリ22内
の当該信号の値に対応するトレース検出有無フラグF1
を“検出済み”の状態に更新する。
号kを入力すると、演算処理部23で求めた信号の値が
格納された値表メモリ22上のアドレスをトレースバッ
ファメモリ31に登録する。この際、値表メモリ22内
の当該信号の値に対応するトレース検出有無フラグF1
を“検出済み”の状態に更新する。
【0057】以降、トレース処理部32は、1ユーザ時
刻内でトレース指定およびトレース開始条件値指定され
た信号についてイベントが発生するごとに、この信号の
値が格納された値表メモリ22上のアドレスをトレース
バッファメモリ31に登録して行く。
刻内でトレース指定およびトレース開始条件値指定され
た信号についてイベントが発生するごとに、この信号の
値が格納された値表メモリ22上のアドレスをトレース
バッファメモリ31に登録して行く。
【0058】そして1ユーザ時刻内でイベントの伝搬が
無くなると、トレース処理部32はトレースバッファメ
モリ31に格納された値表メモリアドレスを基に値表メ
モリ21から信号の値を読み出し、これをトレース情報
としてホストコンピュータAに転送する。この際、値表
メモリ22内の当該信号の値に対応するトレース検出有
無フラグF1を“未検出”の状態に更新する。
無くなると、トレース処理部32はトレースバッファメ
モリ31に格納された値表メモリアドレスを基に値表メ
モリ21から信号の値を読み出し、これをトレース情報
としてホストコンピュータAに転送する。この際、値表
メモリ22内の当該信号の値に対応するトレース検出有
無フラグF1を“未検出”の状態に更新する。
【0059】かくしてこの実施例の論理シミュレータに
よれば、イベント値が特定の値(トレース開始条件値)
に変化したときからトレース処理を開始することがで
き、無駄なトレース処理の排除によるシミュレーション
速度の向上およびトレース情報を保存するファイルの小
容量化等を図ることができる。次に本発明のさらに他の
実施例を説明する。
よれば、イベント値が特定の値(トレース開始条件値)
に変化したときからトレース処理を開始することがで
き、無駄なトレース処理の排除によるシミュレーション
速度の向上およびトレース情報を保存するファイルの小
容量化等を図ることができる。次に本発明のさらに他の
実施例を説明する。
【0060】図6は本実施例の論理シミュレータの構成
を説明するためのブロック図である。 同図において、
41はモデルデータメモリ、42は値表メモリである。
この値表メモリ42は、図7に示すように、トレースフ
ラグ領域42aと信号値領域42bとからなっている。
トレースフラグ領域42aには、1ユーザ時刻内にトレ
ースバッファメモリ50に一度値表メモリアドレスを登
録した信号であるか否かを示すトレース検出有無フラグ
F1、トレース指定された信号であるか否かを示すトレ
ース指定有無フラグF2、トレース開始時刻が指定され
た信号であるか否かを示すトレース開始時刻指定有無フ
ラグF3がそれぞれ記憶される。なお、ここで、トレー
ス指定有無フラグF2およびトレース開始時刻指定有無
フラグF3はホストコンピュータAを通してユーザによ
り任意に設定される。
を説明するためのブロック図である。 同図において、
41はモデルデータメモリ、42は値表メモリである。
この値表メモリ42は、図7に示すように、トレースフ
ラグ領域42aと信号値領域42bとからなっている。
トレースフラグ領域42aには、1ユーザ時刻内にトレ
ースバッファメモリ50に一度値表メモリアドレスを登
録した信号であるか否かを示すトレース検出有無フラグ
F1、トレース指定された信号であるか否かを示すトレ
ース指定有無フラグF2、トレース開始時刻が指定され
た信号であるか否かを示すトレース開始時刻指定有無フ
ラグF3がそれぞれ記憶される。なお、ここで、トレー
ス指定有無フラグF2およびトレース開始時刻指定有無
フラグF3はホストコンピュータAを通してユーザによ
り任意に設定される。
【0061】43は演算処理部、44はイベント検出用
の第1の比較器である。
の第1の比較器である。
【0062】45はフラグチェック回路である。このフ
ラグチェック回路45はトレース検出有無フラグF1が
“未検出”で、トレース指定有無フラグF2およびトレ
ース開始時刻指定有無フラグF3がそれぞれ“指定有
り”の状態にセットされている場合だけ“H”レベルの
トレース有効信号lを出力する。
ラグチェック回路45はトレース検出有無フラグF1が
“未検出”で、トレース指定有無フラグF2およびトレ
ース開始時刻指定有無フラグF3がそれぞれ“指定有
り”の状態にセットされている場合だけ“H”レベルの
トレース有効信号lを出力する。
【0063】46は予め設定されたトレース開始時刻を
保持する第1のレジスタである。
保持する第1のレジスタである。
【0064】47は現在のシミュレーション時刻を保持
する第2のレジスタである。
する第2のレジスタである。
【0065】48は第1のレジスタ46に保持されたト
レース開始時刻と第2のレジスタ47に保持された現在
のシミュレーション時刻とを比較する第2の比較器であ
る。この第2の比較器48は現在のシミュレーション時
刻がトレース開始時刻と等しくなったとき、並びに現在
のシミュレーション時刻がトレース開始時刻を越えたと
き、トレース開始時刻成立信号mを出力する。
レース開始時刻と第2のレジスタ47に保持された現在
のシミュレーション時刻とを比較する第2の比較器であ
る。この第2の比較器48は現在のシミュレーション時
刻がトレース開始時刻と等しくなったとき、並びに現在
のシミュレーション時刻がトレース開始時刻を越えたと
き、トレース開始時刻成立信号mを出力する。
【0066】49は第1の比較器44より出力されたイ
ベント検出信号n、フラグチェック回路45より出力さ
れたトレース有効信号l、および第2の比較器48より
出力されたトレース開始時刻成立信号mの論理積をとる
AND回路である。
ベント検出信号n、フラグチェック回路45より出力さ
れたトレース有効信号l、および第2の比較器48より
出力されたトレース開始時刻成立信号mの論理積をとる
AND回路である。
【0067】50はトレース情報としての信号の値を格
納した値表メモリ42上のアドレスが登録されるトレー
スバッファメモリである。
納した値表メモリ42上のアドレスが登録されるトレー
スバッファメモリである。
【0068】51はAND回路49より入力したトレー
ス処理起動信号oに基づきトレース処理を行うトレース
処理部である。
ス処理起動信号oに基づきトレース処理を行うトレース
処理部である。
【0069】52は演算処理部43より出力された値表
メモリアドレスまたはトレースバッファメモリ50より
読み出された値表メモリアドレスのいずかを選択して値
表メモリ42のアドレス入力端子に送出するセレクタで
ある。
メモリアドレスまたはトレースバッファメモリ50より
読み出された値表メモリアドレスのいずかを選択して値
表メモリ42のアドレス入力端子に送出するセレクタで
ある。
【0070】次にこの実施例の論理シミュレータの動作
を説明する。
を説明する。
【0071】演算処理部43はイベント発生信号を入力
すると、モデルデータメモリ41に格納されたモデルデ
ータと値表メモリ42に格納された信号の値から接続先
の信号の値を求め、この信号の値を第1の比較器44の
一方の入力端子に入力する。続いて演算処理部43は、
接続テーブルを参照して当該接続先の信号の演算前の値
を格納した値表メモリ42上のアドレスを求め、値表メ
モリ42より該当する信号の値とこれに対応付けられた
各トレースフラグF1、F2、F3を読み出す。こうし
て読み出された信号の値は第1の比較器44の他方の入
力端子に入力される。また各トレースフラグF1、F
2、F3はフラグチェック回路45に入力される。
すると、モデルデータメモリ41に格納されたモデルデ
ータと値表メモリ42に格納された信号の値から接続先
の信号の値を求め、この信号の値を第1の比較器44の
一方の入力端子に入力する。続いて演算処理部43は、
接続テーブルを参照して当該接続先の信号の演算前の値
を格納した値表メモリ42上のアドレスを求め、値表メ
モリ42より該当する信号の値とこれに対応付けられた
各トレースフラグF1、F2、F3を読み出す。こうし
て読み出された信号の値は第1の比較器44の他方の入
力端子に入力される。また各トレースフラグF1、F
2、F3はフラグチェック回路45に入力される。
【0072】第1の比較器44は、演算処理部43で求
めた信号の値と値表メモリ42より読み出された演算前
の信号の値とを比較し、各値が不一致の場合はイベント
が発生したものとして“H”レベルのイベント検出信号
nをAND回路49の入力端子に入力する。
めた信号の値と値表メモリ42より読み出された演算前
の信号の値とを比較し、各値が不一致の場合はイベント
が発生したものとして“H”レベルのイベント検出信号
nをAND回路49の入力端子に入力する。
【0073】またフラグチェック回路45は、トレース
検出有無フラグF1が“未検出”、トレース指定有無フ
ラグF2およびトレース開始時刻指定有無フラグF3が
それぞれ“指定有り”の状態にセットされていることを
判断すると、“H”レベルのトレース有効信号lをAN
D回路49の入力端子に入力する。
検出有無フラグF1が“未検出”、トレース指定有無フ
ラグF2およびトレース開始時刻指定有無フラグF3が
それぞれ“指定有り”の状態にセットされていることを
判断すると、“H”レベルのトレース有効信号lをAN
D回路49の入力端子に入力する。
【0074】一方、第2の比較器48は、第1のレジス
タ46に保持されたトレース開始時刻と第2のレジスタ
47に保持された現在のシミュレーション時刻とを常に
比較している。そして、シミュレーション時刻がトレー
ス開始時刻と等しくなったとき、並びにシミュレーショ
ン時刻がトレース開始時刻を越えたとき、“H”レベル
のトレース開始時刻成立信号mをAND回路49の入力
端子に入力する。
タ46に保持されたトレース開始時刻と第2のレジスタ
47に保持された現在のシミュレーション時刻とを常に
比較している。そして、シミュレーション時刻がトレー
ス開始時刻と等しくなったとき、並びにシミュレーショ
ン時刻がトレース開始時刻を越えたとき、“H”レベル
のトレース開始時刻成立信号mをAND回路49の入力
端子に入力する。
【0075】AND回路49は、入力したイベント検出
信号nとトレース有効信号lとトレース開始時刻成立信
号mとの論理積をとり、この結果“H”の信号が得られ
た場合、この信号をトレース処理起動信号oとしてトレ
ース処理部51に入力する。トレース処理部51はトレ
ース処理起動信号oを入力すると、演算処理部43で求
めた信号の値が格納される値表メモリ42上のアドレス
をトレースバッファメモリ50に登録する。この際、値
表メモリ42内の当該信号の値に対応するトレース検出
有無フラグF1を“検出済み”の状態に更新する。
信号nとトレース有効信号lとトレース開始時刻成立信
号mとの論理積をとり、この結果“H”の信号が得られ
た場合、この信号をトレース処理起動信号oとしてトレ
ース処理部51に入力する。トレース処理部51はトレ
ース処理起動信号oを入力すると、演算処理部43で求
めた信号の値が格納される値表メモリ42上のアドレス
をトレースバッファメモリ50に登録する。この際、値
表メモリ42内の当該信号の値に対応するトレース検出
有無フラグF1を“検出済み”の状態に更新する。
【0076】以降、トレース処理部51は、1ユーザ時
刻内でトレース指定およびトレース開始時刻指定された
信号についてイベントが発生するごとに、この信号の値
が格納される値表メモリ42上のアドレスをトレースバ
ッファメモリ50に登録する処理を行う。
刻内でトレース指定およびトレース開始時刻指定された
信号についてイベントが発生するごとに、この信号の値
が格納される値表メモリ42上のアドレスをトレースバ
ッファメモリ50に登録する処理を行う。
【0077】そして1ユーザ時刻内でイベントの伝搬が
無くなると、トレース処理部51はトレースバッファメ
モリ50に格納された値表メモリアドレスを基に値表メ
モリ42から信号の値を読み出し、これをトレース情報
としてホストコンピュータAに転送する。この際、値表
メモリ42内の当該信号の値に対応するトレース検出有
無フラグF1を“未検出”の状態に更新する。
無くなると、トレース処理部51はトレースバッファメ
モリ50に格納された値表メモリアドレスを基に値表メ
モリ42から信号の値を読み出し、これをトレース情報
としてホストコンピュータAに転送する。この際、値表
メモリ42内の当該信号の値に対応するトレース検出有
無フラグF1を“未検出”の状態に更新する。
【0078】かくしてこの実施例の論理シミュレータに
よれば、トレース処理を予め設定した時刻から開始する
ことができ、無駄なトレース処理の排除によるシミュレ
ーション速度の向上およびトレース情報を保存するファ
イルの小容量化等を図ることができる。
よれば、トレース処理を予め設定した時刻から開始する
ことができ、無駄なトレース処理の排除によるシミュレ
ーション速度の向上およびトレース情報を保存するファ
イルの小容量化等を図ることができる。
【0079】
【発明の効果】以上説明したように本発明の論理シミュ
レータによれば、シミュレーション結果を解析する立場
から無意味なトレース処理の実行を規制して、シミュレ
ーション速度の向上を図ることができる。
レータによれば、シミュレーション結果を解析する立場
から無意味なトレース処理の実行を規制して、シミュレ
ーション速度の向上を図ることができる。
【図1】本発明に係る一実施例の論理シミュレータのシ
ステム構成を示すブロック図である。
ステム構成を示すブロック図である。
【図2】図1の論理シミュレータの構成を詳細に説明す
るためのブロック図である。
るためのブロック図である。
【図3】図2の論理シミュレータにおける値表メモリの
データ構造を示す図である。
データ構造を示す図である。
【図4】図2の論理シミュレータにおけるトレース処理
部の構成を説明するためのブロック図である。
部の構成を説明するためのブロック図である。
【図5】本発明に係る他の実施例の論理シミュレータの
構成を説明するためのブロック図である。
構成を説明するためのブロック図である。
【図6】本発明に係るさらに他の実施例の論理シミュレ
ータの構成を説明するためのブロック図である。
ータの構成を説明するためのブロック図である。
【図7】図6の論理シミュレータにおける値表メモリの
データ構造を示す図である。
データ構造を示す図である。
1…モデルデータメモリ、2…値表メモリ、3…演算処
理部、4…第1の比較器、5…フラグチェック回路、6
…トレース開始条件値保持用のラッチ、7…第2の比較
器、8…組合せ論理回路、9…トレースバッファメモ
リ、10…トレース処理部。
理部、4…第1の比較器、5…フラグチェック回路、6
…トレース開始条件値保持用のラッチ、7…第2の比較
器、8…組合せ論理回路、9…トレースバッファメモ
リ、10…トレース処理部。
Claims (3)
- 【請求項1】 イベント・ドリブン方式で論理モデルの
シミュレーションを行う論理シミュレータにおいて、 前記論理モデル中の各信号の値と、これら信号の値のト
レース指定の有無を示す第1の情報およびトレース開始
条件値指定の有無を示す第2の情報とを記憶する記憶手
段と、 イベント発生信号を基に前記論理モデル中の接続先の信
号の値を求める演算手段と、 前記演算手段で求めた信号の値と前記記憶手段に記憶さ
れた演算前の信号の値とを比較してイベント発生の検出
を行うイベント検出手段と、 前記記憶手段に記憶された第1および第2の情報を基
に、前記演算手段で求めた信号の値についてのトレース
指定の有無およびトレース開始条件値指定の有無を判定
する判定手段と、 予め設定されたトレース開始条件値を保持する条件値保
持手段と、 前記判定手段により前記演算手段で求めた信号の値がト
レース開始条件値指定されたものであることが判定され
ると同時に、前記イベント検出手段にてイベント発生が
検出された場合、前記演算手段で求めた信号の値と前記
条件値保持手段に保持されたトレース開始条件値とを比
較してトレース開始条件成立の可否を判定する手段と、 トレース開始条件の成立後、前記判定手段により前記演
算手段で求めた信号の値がトレース指定されたものであ
ることが判定されると同時に、前記イベント検出手段に
てイベント発生が検出された場合、前記演算手段で求め
た信号の値についてトレース処理を行う手段とを具備す
ることを特徴とする論理シミュレータ。 - 【請求項2】 イベント・ドリブン方式で論理モデルの
シミュレーションを行う論理シミュレータにおいて、 前記論理モデル中の各信号の値と、これら信号の値のト
レース指定の有無を示す第1の情報およびトレース開始
条件値指定の有無を示す第2の情報とを記憶する記憶手
段と、 イベント発生信号を基に前記論理モデル中の接続先の信
号の値を求める演算手段と、 前記演算手段で求めた信号の値と前記記憶手段に記憶さ
れた演算前の信号の値とを比較してイベント発生の検出
を行うイベント検出手段と、 前記記憶手段に記憶された第1および第2の情報を基
に、前記演算手段で求めた信号の値についてのトレース
指定の有無およびトレース開始条件値指定の有無を判定
する判定手段と、 予め設定されたトレース開始条件値を保持する条件値保
持手段と、 前記イベント検出手段にてイベント発生が検出された信
号の値と前記条件値保持手段に保持されたトレース開始
条件値とを比較し、各値が一致した場合、トレース開始
条件成立信号を出力する比較手段と、 前記比較手段より出力されたトレース開始条件成立信号
を保持する信号保持手段と、 前記判定手段により前記演算手段で求めた信号の値がト
レース指定およびトレース開始条件値指定されたもので
あることが判定されると同時に、前記イベント検出手段
にてイベント発生が検出され、かつ前記信号保持手段に
前記トレース開始条件成立信号が保持されている場合、
前記演算手段で求めた信号の値についてトレース処理を
行う手段とを具備することを特徴とする論理シミュレー
タ。 - 【請求項3】 イベント・ドリブン方式で論理モデルの
シミュレーションを行う論理シミュレータにおいて、 前記論理モデル中の各信号の値と、これら信号の値のト
レース指定の有無を示す第1の情報およびトレース開始
時刻指定の有無を示す第2の情報とを記憶する記憶手段
と、 イベント発生信号を基に前記論理モデル中の接続先の信
号の値を求める演算手段と、 前記演算手段で求めた信号の値と前記記憶手段に記憶さ
れた演算前の信号の値とを比較してイベント発生の検出
を行うイベント検出手段と、 前記記憶手段に記憶された第1および第2の情報を基
に、前記イベント検出手段にて比較した信号の値につい
てのトレース指定の有無およびトレース開始時刻指定の
有無を判定する判定手段と、 予め設定されたトレース開始時刻を保持するトレース開
始時刻保持手段と、 現在のシミュレーション時刻を保持するシミュレーショ
ン時刻保持手段と、 前記トレース開始時刻保持手段に保持されたトレース開
始時刻と前記シミュレーション時刻保持手段に保持され
たシミュレーション時刻とを比較して、各時刻が一致し
た場合および前記シミュレーション時刻が前記トレース
開始時刻を越えた場合にトレース開始時刻成立信号を出
力する比較手段と、 前記判定手段により前記演算手段で求めた信号の値がト
レース指定およびトレース開始時刻指定されたものであ
ることが判定されると同時に、前記イベント検出手段に
てイベント発生が検出され、かつ前記比較手段よりトレ
ース開始条件成立信号が出力されている場合、前記演算
手段で求めた信号の値についてトレース処理を行う手段
とを具備することを特徴とする論理シミュレータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4109835A JPH05303606A (ja) | 1992-04-28 | 1992-04-28 | 論理シミュレータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4109835A JPH05303606A (ja) | 1992-04-28 | 1992-04-28 | 論理シミュレータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05303606A true JPH05303606A (ja) | 1993-11-16 |
Family
ID=14520416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4109835A Withdrawn JPH05303606A (ja) | 1992-04-28 | 1992-04-28 | 論理シミュレータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05303606A (ja) |
-
1992
- 1992-04-28 JP JP4109835A patent/JPH05303606A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019142266A1 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
JPH05303606A (ja) | 論理シミュレータ | |
JPH03209569A (ja) | 論理シミュレーション方法 | |
JP6949441B2 (ja) | ベクタ適正化装置及びベクタ適正化用プログラム | |
JP2525492B2 (ja) | プログラマブルコントロ―ラ | |
JP3028589B2 (ja) | 論理回路検証装置のエラー検出制御方法 | |
JP3144617B2 (ja) | 論理回路の検証方法 | |
JPH06282599A (ja) | 論理検証方法および装置 | |
JP2908117B2 (ja) | ベクトル演算処理装置 | |
JP2743889B2 (ja) | プログラム評価の方法および装置 | |
JPH04311269A (ja) | シミュレーション方式 | |
JP2022122773A (ja) | 評価装置および評価方法 | |
JP3693873B2 (ja) | マスクビット数演算装置、ベクトル処理装置、情報処理装置 | |
JP2967741B2 (ja) | Cpu互換性テスト装置 | |
JP2797955B2 (ja) | 期待値照合装置および方法 | |
JP2926951B2 (ja) | 退避/復帰レジスタアドレス生成回路 | |
JP3037787B2 (ja) | 論理シミュレーション方法及び論理シミュレーション装置 | |
CN112102874A (zh) | Dram测试系统、测试方法和装置 | |
JPS59191656A (ja) | メモリicシミュレ−タ | |
JPH05181642A (ja) | 演算装置 | |
JPH0395676A (ja) | シミュレーション結果検証支援装置 | |
JPH04273382A (ja) | Lsiの論理シミュレーション方式 | |
JPH0468472A (ja) | 論理図入力装置 | |
JPH02126344A (ja) | プログラム処理時間測定システム | |
JPH05210535A (ja) | トレース処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990706 |