(57)【要約】【課題】  デジタル回路の入出力信号等から、シミュレータで模倣すべき動作タイミングを洗いだすための支援ツールである入出力信号表示システムの提供する。【解決手段】入出力信号表示システムは、複数の入力信号の変化が出力信号に及ぼす影響を、デジタル回路の状態を介して出力信号波形として表示する。この際、入力信号の変化が回路状態に影響を与える為に満たさなければならない条件、回路状態が出力信号に影響を与える為に満たさなければならない条件、および影響を与えるタイミングの条件を設定することが可能であり、入力信号に応じて自動的に回路状態を変化させ、変化した回路状態に応じて出力信号を自動的に変化させ表示する。【選択図】  図１２
2005250607.tif 000002
【特許請求の範囲】
【請求項１】
デジタル回路の動作を模倣し、模倣した入力信号と出力信号とを表示する入出力信号表示システムであって、
前記入力信号と前記出力信号とを、時間の経過に対応づけて表示する信号表示手段と、
前記デジタル回路の状態を表す状態情報を、時間の経過に対応づけて表示する状態情報表示手段と、
前記状態情報を前記入力信号が変化した場合に変化させるか否かを示す変化条件を含む入力条件を取得する入力条件取得手段と、
前記出力信号を前記状態情報が変化した場合に変化させるか否かを示す変化条件と、前記出力信号を変化させるタイミングを指定するタイミング条件とを含む出力条件を取得する出力条件取得手段と、
前記入力条件取得手段によって取得された入力条件に含まれる変化条件が満たされた場合に、前記状態情報を変化させる第１制御手段と、
前記出力条件取得手段によって取得された出力条件に含まれる変化条件が満たされた場合に、前記出力条件に含まれるタイミング条件によって指定されるタイミングにおいて前記出力信号を変化させる第２制御手段と
を備えることを特徴とする入出力信号表示システム。
【請求項２】
前記出力条件に含まれるタイミング条件には、前記状態情報の変化の時から前記出力信号を変化させる時までの時間である遅延時間が含まれ、
前記第２制御手段は、前記出力条件に含まれる変化条件が満たされた場合に、前記出力信号を前記状態情報の変化の時から前記遅延時間の経過後に変化させる
ことを特徴とする請求項１記載の入出力信号表示システム。
【請求項３】
前記出力条件は、更に、優先順位を含み、
前記第２制御手段は、前記優先順位に従って、前記出力条件に含まれる変化条件が満たされているか否かを判断する
ことを特徴とする請求項２記載の入出力信号表示システム。
【請求項４】
前記入力条件は、更に、前記状態情報を変化させるタイミングを指定するタイミング条件を含み、
前記入力条件に含まれるタイミング条件には、前記入力信号の変化の時から前記状態情報を変化させる時までの時間である遅延時間が含まれ、
前記第１制御手段は、前記入力条件に含まれる変化条件が満たされた場合に、前記状態情報を前記入力信号の変化の時から前記遅延時間の経過後に変化させる
ことを特徴とする請求項１記載の入出力信号表示システム。
【請求項５】
デジタル回路の動作を模倣し、模倣した入力信号と出力信号とを表示する入出力信号表示システムであって、
前記入力信号と前記出力信号とを、時間の経過に対応づけて表示する信号表示手段と、
前記デジタル回路の状態を表す状態情報を、時間の経過に対応づけて表示する状態情報表示手段と、
前記状態情報を前記入力信号が変化した場合に変化させるか否かを示す変化条件と、前記状態情報を変化させるタイミングを指定するタイミング条件とを含む入力条件を取得する入力条件取得手段と、
前記出力信号を前記状態情報が変化した場合に変化させるか否かを示す変化条件を含む出力条件を取得する出力条件取得手段と、
前記入力条件取得手段によって取得された入力条件に含まれる変化条件が満たされた場合に、前記入力条件に含まれるタイミング条件によって指定されるタイミングにおいて前記状態情報を変化させる第１制御手段と、
前記出力条件取得手段によって取得された出力条件に含まれる変化条件が満たされた場合に、前記出力信号を変化させる第２制御手段と
を備えることを特徴とする入出力信号表示システム。
【請求項６】
前記入力条件に含まれるタイミング条件には、前記入力信号の変化の時から前記状態情報を変化させる時までの時間である遅延時間が含まれ、
前記第１制御手段は、前記入力条件に含まれる変化条件が満たされた場合に、前記状態情報を前記入力信号の変化の時から前記遅延時間の経過後に変化させる
ことを特徴とする請求項５記載の入出力信号表示システム。
【請求項７】
前記入力条件は、更に、優先順位を含み、
前記第１制御手段は、前記優先順位に従って、前記入力条件に含まれる変化条件が満たされているか否かを判断する
ことを特徴とする請求項６記載の入出力信号表示システム。
【請求項８】
前記入出力信号表示システムは、更に、
前記状態情報表示手段によって表示された状態情報が変化する位置と、その変化と対応する前記信号表示手段によって表示された入力信号または出力信号の変化位置とを結ぶ線を表示する結線表示手段を有する
ことを特徴とする請求項１または５記載の入出力信号表示システム。
【請求項９】
前記信号表示手段は、前記入力信号または前記出力信号の立ち上がりエッジと立ち下がりエッジとを、時間軸に対して傾きを持たせて表示する
ことを特徴とする請求項１または５記載の入出力信号表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル回路の入出力信号の表示システムに関し、特に、動作タイミングを考慮した入出力信号を表示するシステムに関する。
【背景技術】
【０００２】
現在、デジタル回路の設計工程において、デジタル回路の評価・検証を行う為にシミュレータが用いられている。このシミュレータは、設計中のデジタル回路の振る舞いを模倣するものであるため、そのデジタル回路を制御するソフトウェア等の各種ソフトウェアを開発する際にも用いられている。
デジタル回路のシミュレータには、通常２種類あり、１つは、ＨＤＬ（ハードウェア記述言語）を基に回路のシミュレーションを行う、いわゆるＨＤＬシミュレータであり、もう１つは、Ｃ言語等で実装される、いわゆる機能モデルである。
【０００３】
通常、上記ソフトウェアの開発には、ＨＤＬシミュレータよりも高速な機能モデルが用いられる。以下、単にシミュレータと述べる場合は、この機能モデルを指す。
ここで、タイミング制約の厳しいソフトウェアを開発する際に用いるシミュレータを作成する場合には、模倣対象のプロセッサ等のどの命令がどのタイミングで実行されるかという、いわゆる動作タイミングを正確に模倣する必要がある。
【０００４】
すなわち、Ｃ言語等の高級言語でその動作タイミングを記述して、シミュレータを作成することになる。
デジタル回路のシミュレータでは、通常そのデジタル回路の機能面での模倣は容易に行うことができるが、動作タイミングを模倣することは、非常に手間のかかる作業となっている。
【０００５】
というのは、デジタル回路のハードウェア仕様書には、機能面については明確に記載されているが、その動作タイミングについては、すべて記載されているとは限らないからである。シミュレータ開発者が、ＨＤＬシミュレータの出力波形、ハードウェア開発者からの情報、経験則等に基づいて、デジタル回路の状態を新たに設けること等で動作タイミングを求め、未記載部分を補っているのが現状である。
【０００６】
尚、従来技術として、プロセッサ内部の一部の命令の動作タイミングを模倣できるシミュレータがあるが（特許文献１参照）、命令フェッチやデータのロード／ストア等のバスアクセス、および、周辺Ｉ／Ｏ装置とのデータのやり取りの動作タイミングまでは模倣されていない。
【特許文献１】特開平１１−１４９４８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、模倣対象のデジタル回路の動作タイミングをすべて洗い出す作業は簡単ではない。
というのは、昨今の複雑化するハードウェア仕様においては、動作タイミングを決定する要因が多様化しており、その要因のすべてを考慮して、デジタル回路を開発する際に作成される仕様書にすべての動作タイミングを記載するのは困難といえるからである。また、同様の理由から、シミュレータ開発者が動作タイミングを洗い出す場合に、動作タイミングを決定する要因を考慮に入れるとデジタル回路の状態が激増してしまい、動作タイミングのすべてを洗いだすことは非常に手間のかかる作業となってしまうからである。
【０００８】
そこで、本発明は、デジタル回路の入出力信号等から、シミュレータで模倣すべき動作タイミングを洗いだすための支援ツールである入出力信号表示システムの提供を目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決する為に、本発明の入出力信号表示システムは、デジタル回路の動作を模倣し、模倣した入力信号と出力信号とを表示する入出力信号表示システムであって、前記入力信号と前記出力信号とを、時間の経過に対応づけて表示する信号表示手段と、前記デジタル回路の状態を表す状態情報を、時間の経過に対応づけて表示する状態情報表示手段と、前記状態情報を前記入力信号が変化した場合に変化させるか否かを示す変化条件を含む入力条件を取得する入力条件取得手段と、前記出力信号を前記状態情報が変化した場合に変化させるか否かを示す変化条件と、前記出力信号を変化させるタイミングを指定するタイミング条件とを含む出力条件を取得する出力条件取得手段と、前記入力条件取得手段によって取得された入力条件に含まれる変化条件が満たされた場合に、前記状態情報を変化させる第１制御手段と、前記出力条件取得手段によって取得された出力条件に含まれる変化条件が満たされた場合に、前記出力条件に含まれるタイミング条件によって指定されるタイミングにおいて前記出力信号を変化させる第２制御手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明に係る入出力信号表示システムは、上述の構成を備えることにより、複数の入力信号の変化が出力信号に及ぼす影響を、デジタル回路の状態を示す状態情報を介して出力信号波形として表示する。この際、入力信号の変化が状態情報に影響を与える為に満たさなければならない条件と、状態情報が出力信号に影響を与える為に満たさなければならない条件および影響を与えるタイミングの条件とを設定することが可能である。
【００１１】
従って、出力信号の変化に影響を及ぼした入力信号を容易に理解することができるとともに、前記条件を変更して再実行することができるので、シミュレータで模倣すべき動作タイミングを容易に選択することができるようになる。
さらに、デジタル回路の機能設計における試行錯誤を行うことを支援するツールとして使用することも可能である。
【００１２】
また、前記出力条件に含まれるタイミング条件には、前記状態情報の変化の時から前記出力信号を変化させる時までの時間である遅延時間が含まれ、前記第２制御手段は、前記出力条件に含まれる変化条件が満たされた場合に、前記出力信号を前記状態情報の変化の時から前記遅延時間の経過後に変化させることとしてもよい。
これにより、状態情報が出力信号に影響を与えるまでの時間を設定できるので、状態情報を新たに設ける必要がなくなり、入力信号と出力信号の依存関係に加えて、遅延時間を考慮した動作タイミングを容易に選択することができるようになる。
【００１３】
また、前記出力条件は、更に、優先順位を含み、前記第２制御手段は、前記優先順位に従って、前記出力条件に含まれる変化条件が満たされているか否かを判断することとしてもよい。
これにより、複数の状態情報が出力信号に影響を与える順序を設定できるので、入力信号と出力信号の依存関係に加えて、優先順位を考慮した動作タイミングを容易に選択することができるようになる。
【００１４】
また、前記入力条件は、更に、前記状態情報を変化させるタイミングを指定するタイミング条件を含み、前記入力条件に含まれるタイミング条件には、前記入力信号の変化の時から前記状態情報を変化させる時までの時間である遅延時間が含まれ、前記第１制御手段は、前記入力条件に含まれる変化条件が満たされた場合に、前記状態情報を前記入力信号の変化の時から前記遅延時間の経過後に変化させることとしてもよい。
【００１５】
これにより、状態情報が出力信号に影響を与えるまでの時間を設定できるだけでなく、入力信号が状態情報に影響を与えるまでの時間をも設定できるので、状態情報を新たに設ける必要がなくなり、入力信号と出力信号の依存関係に加えて、遅延時間を考慮した動作タイミングを容易に選択することができるようになる。
また、本発明の入出力信号表示システムは、デジタル回路の動作を模倣し、模倣した入力信号と出力信号とを表示する入出力信号表示システムであって、前記入力信号と前記出力信号とを、時間の経過に対応づけて表示する信号表示手段と、前記デジタル回路の状態を表す状態情報を、時間の経過に対応づけて表示する状態情報表示手段と、前記状態情報を前記入力信号が変化した場合に変化させるか否かを示す変化条件と、前記状態情報を変化させるタイミングを指定するタイミング条件とを含む入力条件を取得する入力条件取得手段と、前記出力信号を前記状態情報が変化した場合に変化させるか否かを示す変化条件を含む出力条件を取得する出力条件取得手段と、前記入力条件取得手段によって取得された入力条件に含まれる変化条件が満たされた場合に、前記入力条件に含まれるタイミング条件によって指定されるタイミングにおいて前記状態情報を変化させる第１制御手段と、前記出力条件取得手段によって取得された出力条件に含まれる変化条件が満たされた場合に、前記出力信号を変化させる第２制御手段とを備えることとしてもよい。
【００１６】
これにより、本発明に係る入出力信号表示システムは、複数の入力信号の変化が出力信号に及ぼす影響を、デジタル回路の状態を示す状態情報を介して出力信号波形として表示する。この際、入力信号の変化が状態情報に影響を与える為に満たさなければならない条件および影響を与えるタイミングの条件と、状態情報が出力信号に影響を与える為に満たさなければならない条件とを設定することが可能である。
【００１７】
従って、出力信号の変化に影響を及ぼした入力信号を容易に理解することができるとともに、前記条件を変更して再実行することができるので、シミュレーションで模倣すべき動作タイミングを容易に選択することができるようになる。
また、前記入力条件に含まれるタイミング条件には、前記入力信号の変化の時から前記状態情報を変化させる時までの時間である遅延時間が含まれ、前記第１制御手段は、前記入力条件に含まれる変化条件が満たされた場合に、前記状態情報を前記入力信号の変化の時から前記遅延時間の経過後に変化させることとしてもよい。
【００１８】
これにより、入力信号がデジタル回路の状態である状態情報に影響を与えるまでの時間を設定できるので、状態情報を新たに設ける必要がなくなり、入力信号と出力信号の依存関係に加えて、遅延時間を考慮した動作タイミングを容易に選択することができるようになる。
また、前記入力条件は、更に、優先順位を含み、前記第１制御手段は、前記優先順位に従って、前記入力条件に含まれる変化条件が満たされているか否かを判断することとしてもよい。
【００１９】
これにより、複数の入力信号がデジタル回路の状態を示す状態情報に影響を与える順序を設定できるので、入力信号と出力信号の依存関係に加えて、優先順位を考慮した動作タイミングを容易に選択することができるようになる。
また、前記入出力信号表示システムは、更に、前記状態情報表示手段によって表示された状態情報が変化する位置と、その変化と対応する前記信号表示手段によって表示された入力信号または出力信号の変化位置とを結ぶ線を表示する結線表示手段を有することとしてもよい。
【００２０】
これにより、入力信号の変化点とその変化が影響を与えた状態情報の変化点とを結んだ線が表示されるか、または、状態情報の変化点とその変化が影響を与えた出力信号の変化点とを結んだ線が表示される。従って、出力信号の変化がどの入力信号のどの変化によって生じたのかを、状態情報の変化を介して視覚的に認識することが可能となり、デジタル回路の動作タイミングを容易に理解することができるようになる。
【００２１】
また、前記信号表示手段は、前記入力信号または前記出力信号の立ち上がりエッジと立ち下がりエッジとを、時間軸に対して傾きを持たせて表示することとしてもよい。
これにより、入出力信号の変化のすべてを、信号の表示形態で表現することができるので、すべての信号の変化を認識できることとなり、迅速にデジタル回路の動作タイミングを洗い出すことができるようになる。
【発明を実施するための最良の形態】
【００２２】
＜概要＞
本発明に係る入出力信号表示システムは、動作タイミングを見極めるに必要な条件を、各入力信号の変化毎、および、回路の各状態の変化毎に設定することにより、入力信号に応じて自動的に回路状態を変化させ、変化した回路状態に応じて出力信号を自動的に変化させ表示する。
【００２３】
入力信号および回路状態の変化ごとに条件を設定できることから、複数の信号が絡み合った状態、いわゆるコーナーケースにおける動作タイミングのシミュレーションが容易となり、ハードウェア仕様書に記載されていない仕様を容易に明らかにすることができる。
また、信号等の変化毎に設定している条件を変更して、容易に再度シミュレーションを行うことが出来ることから、試行錯誤も容易に出来ることになり、シミュレータに盛り込む必要のない無駄な動作タイミングを見つけることも容易になる。
【００２４】
すなわち、本発明にかかる入出力信号表示システムによって、デジタル回路の機能仕様である複数信号の依存関係と、その信号変化に関する時間的要素とを同時に扱うことにより、ハードウェア仕様書には現れていないが、シミュレータに盛り込むべき動作タイミングを洗い出すことが容易に出来ることになる。
＜構成＞
図１は、本入出力信号表示システムの画面イメージの例である。
【００２５】
また、図２は、本入出力信号表示システムの構成を示す機能ブロック図である。
以下、本発明の実施形態に係る入出力信号表示システムについて、図１および図２を用いて説明する。
本システムは、波形ウィンドウ２０００とコンソールウィンドウ９０００の、２つのウィンドウから構成される。
【００２６】
スクリーン１０００内に、波形ウィンドウ２０００と、コンソールウィンドウ９０００が表示される。
波形ウィンドウ２０００は、入出力信号波形、および状態変数を表示する。
また、コンソールウィンドウ９０００は、使用者が本システムを制御する為に、コマンドを入力する。例では、「ＳＥＴ」コマンドにより、「ＷＡＶＥ＿ＯＮＬＹ＿ＭＯＤＥ」を指定して、波形ウィンドウ２０００に信号波形のみを表示するコマンドを入力している。
【００２７】
また、コンソールウィンドウ９０００の右下の矢印は、カーソル８０００を表す。
ここで、波形ウィンドウ２０００の左に記載する「ＣＬＫ」は、クロックを表し、「ＳＴＡＴＥ」は、状態変数（後で説明する。）を表す。また、矩形で囲んだ「ＬＤ」「ＡＣＫ」は、入力信号を表し、「ＲＥＱ」は出力信号を表す。
次に、図２の入出力信号表示システム５０００は、ユーザインタフェース部５１００、波形表示部５２００、制御部５３００、入力ルールファイル５４００、出力ルールファイル５５００、イベントファイル５６００、入力信号ファイル５７００、状態変数ファイル５８００及び出力信号ファイル５９００から構成される。
【００２８】
以下、機能処理部とファイルに分けて、説明する。
＜機能処理部の説明＞
ユーザインタフェース部５１００は、ディスプレイ、キーボード等の入出力デバイスで構成され、スクリーン１０００を表示し、使用者から本システムへの制御コマンド等を受け付ける機能を有する。
【００２９】
さらに、制御部５３００からの依頼を受けて、後述する入力信号の入力及び表示、入力ルール・出力ルールの作成及び表示等を行う機能をも有する。
制御部５３００は、イベント３０１の作成管理、各ファイルの読書き等を行う他、内部に有するサイクルカウンタ５３１０によって、シミュレーションの進行等の全体管理を行う。さらに、ユーザインタフェース部５１００及び波形表示部５２００に対し、信号の表示依頼等を行う機能を有する。
【００３０】
また、波形表示部５２００は、波形ウィンドウ２０００に入出力信号の波形、及び状態変数を表示する機能を有する。波形表示部５２００は、入力信号ファイル５７００等から信号等のデータを読み出し、ベクトルデータ等の画像データに変換し、その画像データをユーザインタフェース部５１００に渡し、表示を依頼する。
＜ファイルの説明＞
図３は、各データの関連を示した図である。各データの詳細については、＜データ＞で説明する。
【００３１】
ここで、図２の入力信号ファイル５７００、状態変数ファイル５８００及び出力信号ファイル５９００には、それぞれ入力信号変化情報３２１、状態変数変化情報３２３及び出力信号変化情報３２２が入っている。
入力信号変化情報３２１とは、入力信号がどのように変化するかを示す情報である。
また、状態変数変化情報３２３とは、状態変数がどのように変化するかを示す情報であり、状態変数とは、デジタル回路の現在の回路状態がデジタル回路仕様書の状態遷移図におけるどの状態であるかを数値化して表したものである。尚、この状態変数は、デジタル回路仕様書の状態遷移図における状態のみには限られない。
【００３２】
さらに、出力信号変化情報３２２とは、デジタル回路の出力信号が、どのように変化するかを示す情報である。
これらの変化情報を基に、波形表示部５２００は波形等を表示する。
次に、入力ルールファイル５４００と出力ルールファイル５５００には、それぞれ入力ルール３１１と出力ルール３１２、及び操作情報データ３３２が入っている。
【００３３】
入力ルール３１１は、入力信号の変化に対応して作成されるものであり、この信号の変化がデジタル回路内部の状態変数にどのような影響を与えるかを定義したものである。このルールは、原則として、１種類の変化に対して、１ルール作成される。
また、出力ルール３１２は、状態変数の変化に対応して作成されるものであり、この変数の変化が出力信号にどのような影響を与えるかを定義したものである。
【００３４】
すなわち、入力信号の変化は、入力ルールに基づいて状態変数を変化させ、状態変数の変化は、出力ルールに基づいて出力信号を変化させる。
操作情報データ３３２は、入力ルール３１１及び出力ルール３１２ごとに存在し、各ルールで指定された条件を満たした場合に実施される、具体的な操作を行うための関数を指定するものである。
【００３５】
次に、イベントファイル５６００には、イベント３０１及び引数情報データ３３１が入っている。
イベント３０１は、入力信号変化情報３２１に基づいて、制御部５３００によって作成され、イベントファイル５６００に登録される。
イベント３０１は、入力信号と、入力信号の変化が影響を与える出力信号とを、対応付けて管理するための役割を有する。
【００３６】
また、イベント３０１は、入力信号の１つの変化に対して１つ作成され、関連する出力信号への変更が成された時点で、完了となる。関連する出力信号が複数ある場合は、その数分のイベントが作成される。これら複数のイベントのＩＤは、入力信号変化情報３２１のイベントＩＤリスト３２１４に保存される。
イベントは、その作成から完了までの間、入力ルールおよび出力ルールの内容に基づき、時間待ち、条件待ち等とその状態を変化させていくことになる。
【００３７】
引数情報データ３３１は、出力信号が値を持つ場合に、その値を定義するものである。
＜データ＞
以下、入出力信号表示システム５０００が用いる主なデータについて、図３〜図７を用いて説明する。また、図１０および図１１は、本システムの画面の例であり、データの説明の際に参照する。
【００３８】
図３は、各データの関連を示した図である。
イベント３０１と引数情報データ３３１とは、イベントファイル５６００に入っているデータである。また、入力ルール３１１とその操作情報データ３３２とは、入力ルールファイル５４００に、出力ルール３１２とその操作情報データ３３２とは、出力ルールファイル５５００に入っており、さらに、入力信号変化情報３２１は、入力信号ファイル５７００に、状態変数変化情報３２３は、状態変数ファイル５８００に、出力信号変化情報３２２は、出力信号ファイル５９００に、それぞれ入っているデータである。
【００３９】
イベント３０１は、入力信号の１つの変化に対して少なくとも１つ作成され、入力信号の変化が、複数の出力信号に変化を及ぼす場合は、その出力信号の数だけイベント３０１が作成される。
どの入力信号の変化が、どの出力信号に変化を及ぼすのかをイベント３０１で管理する。
【００４０】
すなわち、イベント３０１には、その入力信号の変化がどのように回路の状態、すなわち状態変数に影響を与えるかという入力ルール３１１と、その出力信号はどのような場合に変化が与えられるかという出力ルール３１２をリンクしている。それらのルールは、実際の操作を実施する操作関数を指定した操作情報データ３３２をリンクしている。
また、各イベント３０１は、そのイベントの起因となった入力信号の変化を表す入力信号変化情報３２１とリンクされており、その入力信号の変化によって引き起こされた状態変数の変化と出力信号の変化を表す、状態変数変化情報３２３及び出力信号変化情報３２２ともリンクされている。
【００４１】
このように、イベントを中心に、入出力信号等の表示データと入出力ルールがリンクされていることにより、入力信号のどの変化と状態変数及び出力信号のどの変化とが依存関係にあり、かつ、どのようなルールの下に変化が及ぼされたのかを、画面に視覚的に表示することが可能となる。
以下、それぞれのデータについて、その詳細を説明する。
【００４２】
＜入出力信号及び状態変数の表示に関するデータ＞
図４は、入出力信号及び状態変数の表示に関するデータの構成例を示す図である。
図４（ａ）は、入力信号変化情報３２１の構成例を、図４（ｂ）は、状態変数変化情報３２３の構成例を、図４（ｃ）は、出力信号変化情報３２２の構成例を示す図である。
これら３種類のデータは、信号が初期状態から変化がなければ０個であるが、通常は、変化の個数分のデータが存在する。
【００４３】
まず、図４（ａ）に示す入力信号変化情報３２１は、変化時刻３２１１、信号名３２１２、信号更新値３２１３、イベントＩＤリスト３２１４及び引数情報３２１５から構成される。
変化時刻３２１１とは、入力信号が変化した時刻であり、例えば、図９では、信号「ＬＤ」の立ち上がりの変化時刻３２１１は「１クロック」となる。
【００４４】
信号名３２１２は、入力信号の名前であり、例えば、「ＬＤ」である。
また、信号更新値３２１３は、変化後の信号の値であり、例えば、「１」である。
さらに、イベントＩＤリスト３２１４は、本入力信号変化情報３２１に対応するイベント３０１の識別番号のリストである。入力信号の変化に対して、状態変数や出力信号が複数関連する場合が考えられることから、リスト形式となっている。
【００４５】
引数情報３２１５は、本入力信号変化情報３２１に関連する引数情報の識別番号である。引数情報については、後で説明する。
次に、図４（ｂ）に示す状態変数変化情報３２３は、変化時刻３２３１、状態変数名３２３２、状態変数更新値３２３３及びイベントＩＤ３２３４から構成される。
変化時刻３２３１とは、状態変数が変化した時刻であり、状態変数名３２３２は状態変数の名前であり、状態変数更新値３２３３は変化後の値である。
【００４６】
例えば、図１０では、状態変数名３２３２「ＳＴＡＴＥ」の変化時刻３２３１は「１クロック」であり、状態変数更新値３２３３は「１」となる。
イベントＩＤ３２３４は、本状態変数変化情報３２３に示す変化を生じさせるイベント３０１の識別番号である。
図４（ｃ）に示す出力信号変化情報３２２は、変化時刻３２２１、信号名３２２２、信号更新値３２２３及びイベントＩＤ３２２４から構成される。
【００４７】
変化時刻等の内容は、入力信号と出力信号と変わるのみで、力信号変化情報の説明と同様である。
例えば、図１１において、信号名３２２２「ＲＥＱ」は、変化時刻３２２１「１クロック」に、信号更新値「１」に変化したことになる。
＜入出力ルールに関するデータ＞
次に、図５は、入出力ルールに関するデータの構成例を示す図である。
【００４８】
以下、入力ルールを適用する入力信号の変化が発生させるイベントを入力イベントと、出力ルールを適用する状態変数の変化が発生させるイベントを出力イベントというものとする。
図５（ａ）は、入力ルール３１１の構成例を、図５（ｂ）は、出力ルール３１２の構成例を、図５（ｃ）は、操作情報データ３３２の構成例を示す図である。
【００４９】
まず、図５（ａ）に示す入力ルール３１１は、入力ルールＩＤ３１１１、入力発生条件３１１２、成立条件３１１３、操作情報３１１４、受付条件３１１５、遅延時間３１１６及び優先順位３１１７から構成される。
入力ルール３１１は、入力信号が状態変数に対して、いつ、どのような場合に、どのように変更を与えるかを指定するものである。
【００５０】
入力ルールＩＤ３１１１は、入力ルールの識別番号であり、自分の識別番号である。
入力発生条件３１１２は、本入力ルールが適用される入力信号の変化を示したものである。例えば、入力信号「ＬＤ」が立ち上がった時であれば、入力発生条件３１１２は「ＬＤ＋」となる。
また、成立条件３１１３は、入力イベントが入力イベントとして成立する条件を示す。すなわち、デジタル回路の状態である状態変数の値によって、この入力イベントにこの入力ルールを適用するか否かを指定する。従って、この条件により、入力信号とデジタル回路の状態との依存関係を設定することができる。
【００５１】
例えば、成立条件３１１３が「ＡＬＷＡＹＳ」であれば、無条件に成立する。また、「ＳＴＡＴＥ＞１」であれば、状態変数が「１」より大きい場合にのみ成立し、状態変数が１以下であった場合は、そのまま入力イベントは拒絶され、以後評価されることはない。
操作情報３１１４は、入力イベントが状態変数に対して行う操作について示す。すなわち、入力信号が状態変数をどのように変化させるかを指示する。従って、この条件により、デジタル回路の状態が入力信号によって、どのように遷移するかを設定することができる。
【００５２】
この操作情報３１１４には、操作名３３２１を指定する。操作情報が「＋１」であった場合には、状態変数に１を加算する処理を行う。具体的には、操作名３３２１が「＋１」の操作情報データ３３２で指定された操作関数３３２２が実行されることになる。
受付条件３１１５は、入力イベントが実行可能になる条件、すなわち入力イベントを実際に処理し始める条件を示す。すなわち、状態変数の値に応じて操作関数の実行を保留するよう指定することが可能になる。従って、デジタル回路の状態に応じて、きめ細かな時間操作が可能となる。
【００５３】
例えば、受付条件３１１５が「ＩＭＭＥＤＩＡＴＥＬＹ」の場合は、遅延時間３１１６経過後すぐに操作情報３１１４で指定されている操作関数３３２２が実行される。また、受付条件には、状態変数の値を指定することができる。例えば受付条件が「ＳＴＡＴＥ＝＝１」であり、現時点での状態変数が「２」の場合には、イベントは保留され、状態変数が「２」になって、遅延時間が経過したら、操作関数が実行される。
【００５４】
遅延時間３１１６は、入力信号が変化してから、その結果が状態変数に反映されるまでの時間を示す。従って、入力信号による状態変数の変更時間を指定することが出来る。
優先順位３１１７は、入力イベントを処理する優先順位を表す。
すなわち、入力イベントは、入力信号が変化した場合に作成されるが、成立条件３１１３に合致することで、入力イベントとして有効になる。その後、受付条件３１１５に合致し、遅延時間３１１６が経過した時に、操作情報３１１４で示される操作関数３３２２が実行され、状態変数に変更が反映され、入力イベントが完了する。
【００５５】
次に、図５（ｂ）に示す出力ルール３１２は、出力ルールＩＤ３１２１、出力信号名３１２２、成立条件３１２３、操作情報３１２４、受付条件３１２５、遅延時間３１２６及び優先順位３１２７から構成される。
出力ルールは、状態変数が出力信号に対して、いつ、どのような場合に、どのように変更を与えるかを指定するものである。
【００５６】
出力ルールＩＤ３１２１は、出力ルールの識別番号であり、自分の識別番号である。
出力信号名３１２２は、このルールで影響を与える出力信号の名前である。
図１１でいえば、「ＲＥＱ」となる。
また、成立条件３１２３は、デジタル回路の状態である状態変数の値によって、この出力ルールを適用するか否かを指定する。すなわち、この出力ルールを適用する場合の状態変数の状態を示す。従って、この条件により、出力信号とデジタル回路の状態との依存関係を設定することができる。
【００５７】
例えば、成立条件３１１３が「ＳＴＡＴＥ＝＝１」であれば、状態変数が「１」の場合にのみに成立する。
操作情報３１２４は、状態変数の変化が出力信号に対して行う操作について示す。すなわち、状態変数の変化が出力信号をどのように変化させるかを指示する。従って、この条件により、デジタル回路の状態によって、出力信号がどのように変化するかを設定することができる。
【００５８】
この操作情報３１２４には、操作名３３２１を指定する。操作情報が「ＳＥＴ」であった場合には、出力信号名３１２２「ＲＥＱ」の信号を０から１に立ち上げる処理を行う。具体的には、操作名３３２１が「ＳＥＴ」の操作情報データ３３２で指定された操作関数３３２２が実行されることになる。
受付条件３１２５は、指定されている操作を実際に処理し始める条件を示す。すなわち、状態変数の値に応じて操作関数の実行を保留するよう指定することが可能になる。従って、デジタル回路の状態に応じて、きめ細かな時間操作が可能となる。
【００５９】
遅延時間３１２６は、実際に操作関数を実行し、その結果が出力信号に反映されるまでの時間を示す。従って、出力ルールの成立条件が成立してから、出力信号に変化を与えるまでの時間を指定することが出来る。
優先順位３１２７は、出力ルールを処理する優先順位を表す。
次に、図５（ｃ）に示す操作情報データ３３２について説明する。
【００６０】
本操作情報データ３３２は、状態変数及び出力信号の変化を表すデータを作成する関数、すなわち操作関数３３２２を指定する。
操作関数３３２２は、状態変数変化情報３２３または出力信号変化情報３２２を作成する。入力ルール３１１から指定してある操作関数３３２２は、状態変数変化情報３２３を作成し、出力ルール３１２から指定してある操作関数３３２２は、出力信号変化情報３２２を作成する。
【００６１】
操作引数データ３３２３とは、操作関数３３２２内部で使用されるデータである。このデータの具体的な値等は、操作情報データ３３２を指すルールが指定されているイベント３０１の引数情報３０１２により示される引数情報データ３３１にある（図６参照）。例えば、出力信号の変化後の値である。出力信号が値を持つ場合には、その出力信号に変化を与える入力イベントで、その出力信号の変化後の値を指定する（図１５、図１６参照）。
【００６２】
入力ルール及び出力ルールは、デジタル回路のＨＤＬシミュレータ等による出力信号、デジタル回路設計書等を基に、作成される。
＜イベントに関するデータ＞
図６は、イベントに関するデータの構成例を示す図である。
図６（ａ）は、イベント３０１の構成例を示す図であり、図６（ｂ）は、引数情報データ３３１の構成例を示す図である。
【００６３】
まず、図６（ａ）のイベント３０１は、デジタル回路に入力される信号が、デジタル回路から出力されるどの信号に影響を与えるかを管理するデータである。
イベント３０１は、イベントＩＤ３０１１、引数情報３０１２、入力ルールＩＤ３０１４、入力発生時刻３０１５、入力受付時刻３０１６、入力状態３０１７、出力ルールＩＤ３０２４、出力発生時刻３０２５、出力受付時刻３０２６及び出力状態３０２７で構成される。
【００６４】
イベントＩＤ３０１１は、イベントの識別番号であり、自分を表す。イベントは、原則として、入力信号の変化が生ずる都度に発生する。
引数情報３０１２は、イベントの出力信号に関するデータ等を指示し、操作情報データ３３２の操作関数３３２２で参照される。例えば、出力信号が、単一の信号ではなく、複数の信号により値を表している場合に、その値についての情報を表す引数情報データ３３１を指す（図１５、図１６参照）。
【００６５】
この引数情報３０１２を設定し、画面に表示等することにより、使用者は信号間の依存関係だけでなく、信号の値がいかように伝播していくかを容易に把握することが可能となる。
次に、入力ルールＩＤ３０１４は、状態変数を変更するための条件である入力ルール３１１のＩＤである。該当する入力ルール３１１の入力ルールＩＤ３１１１を指定する。
【００６６】
入力発生時刻３０１４は、入力イベントが発生した時刻である。この入力発生時刻と入力信号変化情報３２１の変化時刻３２１１とはリンクしており、これらの時刻情報によって、イベント３０１と入力信号変化情報３２１を関連付けることができる。
入力受付時刻３０１６は、入力信号が状態変数に影響を与えた時刻である。この入力受付時刻と状態変数変化情報３２３の変化時刻３２３１とはリンクしており、これらの時刻情報によって、イベント３０１と状態変数変化情報３２３を関連付けることができる。
【００６７】
また、入力状態３０１７は、入力ルールの処理状態を表す。この処理状態には、「未評価」、「拒絶」、「保留」、「遅延」、「無効」、「完了」、及び「未完了」の７つの状態がある。イベントは、そのイベントを評価する処理を追うごとに、正常な場合は、その状態を「未評価」から「完了」まで変えながら変化する。
「未評価」とは、入力イベントが評価されていない状態、いわゆる、初期状態をいう。
【００６８】
「拒絶」とは、入力イベントが有効にならなかった状態、すなわち、入力ルールの成立条件３１１３を満たさなかった状態をいう。例えば、入力ルールの成立条件が「ＳＴＡＴＥ＝＝１」であって、現在の状態変数の値が「０」の場合である。拒絶になると、以後、イベントは評価されない。
「保留」とは、入力イベントが保留されている状態、すなわち、入力ルールの成立条件３１１３は満たしているが、受付条件３１１５が満たされるのを待っている状態をいう。例えば、入力ルールの成立条件が「ＳＴＡＴＥ＝＝０」、受付条件が「ＳＴＡＴＥ＝＝０」であって、現在の状態変数の値が「０」の場合である。尚、一旦成立条件を満たせば、成立しているものとする。
【００６９】
「遅延」とは、入力イベントの有効化が遅れる状態、すなわち、入力ルールの操作関数の実行を待っている状態を言う。
「無効」とは、入力イベントが無効となった状態をいう。いわゆる、キャンセルされた状態である。例えば、ある信号が発生したので、状態変数への変更を取りやめるために本入力ルールがキャンルされた場合である。具体的には、ある信号の入力ルールの操作情報で、本入力ルールをキャンセルする指示をすることになる。
【００７０】
「完了」とは、入力イベントの評価が完了した状態、すなわち入力ルールの操作関数の実行が終了した状態をいう。例えば、入力ルールの成立条件が「ＳＴＡＴＥ＝＝０」、受付条件が「ＩＭＭＥＤＩＡＴＥＬＹ」、遅延時間が「０」であって、現在の状態変数の値が「０」の場合は、入力条件が成立して操作関数実行されたら、「完了」となる。
「未完了」とは、入力イベントの評価が完了しないまま入力イベントの評価処理が終了してしまった状態をいう。例えば、入力イベントの評価が波形表示範囲として指定された時間（サイクル）内では完了しなかった場合である。すなわち、入力イベントの評価が完了する前に、シミュレーションが終了した場合等である。
【００７１】
出力ルールＩＤ３０２４は、出力ルール３１２のＩＤであり、出力発生時刻３０２５は、状態変数が変化した時間である。また、出力受付時刻３０２６は、状態変数が出力信号に変化を与えた時刻である。
出力状態３０２７は、入力イベントが出力イベントに変わるのみで、入力状態３０１７と同様である。
【００７２】
尚、入力信号の変化が、出力信号に変化を及ぼさない場合には、イベントに３０１に出力ルールＩＤ３０２４等は設定されない。
次に、図６（ｂ）の引数情報データ３３１は、引数名３３１１、引数型３３１２及びデータ３３１３で構成される。
引数情報データ３３１は、操作関数３３２２で参照する値等を示している。例えば、出力信号が値を持つような信号の場合の、出力信号名と入力信号によって変化した後の値である。
【００７３】
引数名３３１１は、出力信号の値の名前であり、引数型３３１２はその値の型であり、データ３３１３はその値をいう。
図７は、イベント、入力ルール、出力ルール、各変化情報のデータに、実際に値が設定された例を示す図である。内容は、図１１の時点での内容である。
＜動作＞
以下、上述した入出力信号表示システム５０００の動作について図８〜図１６を用いて説明する。図９〜図１６は、本システムの画面の例を示す図であり、図８を用いて処理の流れを説明する際に、これらの画面例を用いる。
【００７４】
図８は、入出力信号表示の処理を示すフローチャートである。
まず、本システムの初期化処理を行う（ステップＳ１０）。
本システムの起動の指示を受け付けた制御部５３００は、スクリーン１０００内に、波形ウィンドウ２０００と、コンソールウィンドウ９０００を表示する（図１参照）。
その後、制御部５３００は、ユーザインタフェース部５１００を通じて、どのような入力信号と出力信号について表示処理を行うかを受け取る。例えば、使用者は、コンソールウィンドウ９０００から、コマンドで表示する信号名を入力する。そのコマンドを解釈したユーザインタフェース部５１００から信号名を受け取った制御部は、波形表示部５２００に対して、受け取った信号を波形ウィンドウ２０００に表示する旨の依頼を送る。
【００７５】
信号の表示依頼を受け取った波形表示部５２００は、波形ウィンドウ２０００に信号を表示する。
図９の例では、入力信号として、「ＬＤ」と「ＡＣＫ」の２つの信号が表示されており、出力信号として「ＲＥＱ」が表示されている。「ＣＬＫ」と「ＳＴＡＴＥ」は、常に表示される。「ＣＬＫ」は、クロック信号であり、「ＳＴＡＴＥ」は、状態変数である。
【００７６】
初期化処理においては、その他メモリのクリア、サイクルカウンタ５３１０の初期化、処理を行うクロック数の設定等の必要な処理を行う。
尚、サイクルカウンタの初期値は、０とする。従って、クロックが０から信号の表示が始まることになる。また、使用者が、開始クロックと終了クロックを指定することも可能であり、その場合は、指定されたクロック分がシミュレートされ、信号が波形ウィンドウ２０００に表示される。
【００７７】
次に、制御部５３００は、入力信号ファイル５７００から、入力信号変化情報３２１の読み出し処理を行う（ステップＳ１１）。
信号「ＬＤ」が１クロックで立ち上がる旨の入力信号変化情報３２１が、入力信号ファイルに入っているものとする。
その入力信号変化情報を読み込んだ制御部５３００は、波形表示部５２００に表示依頼を行う。表示依頼を受けた波形表示部５２００は、読み込んだ入力信号変化情報の波形を表示する。
【００７８】
その後、制御部は、入力信号のこの変化に該当するイベント３０１を作成する。
制御部５３００は、イベントＩＤ３０１１と入力発生時刻３０１５以外の項目の入力を使用者に対して要求するウィンドウ３０００を、ユーザインタフェース部を通じて表示する。
使用者は、表示されたウィンドウから入力ルールを入力するか、又は、コンソールウィンドウ９０００から、入力ルールを設定するコマンドを入力し、入力発生条件等の必要項目を入力する。あるいは、既に存在する入力ルールのＩＤを入力する。
【００７９】
ユーザインタフェース部から、入力ルールの項目を受け取った制御部は、入力ルール３１１を作成し、イベントファイル５６００に登録する（ステップＳ１２）。
例えば、入力発生条件「ＬＤ＋」の入力ルールが作成される。
また、読み込んだ入力信号変化情報のイベントＩＤリスト３２１４に、作成したイベントまたは既存のイベントのイベントＩＤ３０１１を設定する。
【００８０】
他の入力信号変化情報がある場合は、その変化時刻が「１」のものを表示し、入力ルールを作成・登録する。
イベント３０１の作成、登録を行った制御部５３００は、入力イベントの処理を行う（ステップＳ１３）。
具体的には、設定された入力ルール３１１の成立条件３１１３、受付条件３１１５に合致しているかを判断し、その結果に基づいてイベントの入力状態３０１７を設定する。この判断の結果、操作情報３１１４の操作関数３３２２を実行することが必要な場合は、実行する。実行する場合とは、受付条件に合致し、遅延時間３１１６が経過している場合である。
【００８１】
操作関数を実行した例が、図１０の画面である。「ＳＴＡＴＥ」の値が「０」から「１」変化している。また、信号「ＬＤ」の立ち上がり部分をクリックすることにより、入力ルールの内容がウィンドウ３０００に表示されている（図５（ａ）参照）。
矢印は、入力信号のどの変化が、状態変数のどの変化に影響を及ぼしたかを示すものである。また、状態変数のどの変化が、出力信号のどの変化に影響を及ぼしたかも示す（図１１参照）。すなわち、信号の依存関係が表示されていることになる。実線は、入力信号と状態変数の依存関係を、破線は、状態変数と出力信号の依存関係を表す。図１０〜図１６まで、同様である。
【００８２】
尚、入力イベントの処理を行うか否かは、制御部５３００が、イベントファイル５６００に入っているすべてのイベント３０１の入力状態３０１７を基に判断する。例えば、「完了」や「無効」であれば、処理を行わない。制御部５３００によって、入力イベントの処理を行うと判断されたものについて、その入力ルール３１１の優先順位３１２７の順に処理が行われていく。
【００８３】
この入力イベントの処理順序は、出力イベントの処理においても同様である。
次に、出力イベントの処理を行う（ステップＳ１４）。
制御部５３００は、イベントファイル５６００を検索し、イベント３０１の出力状態３０２７を基に、出力イベントの処理を行うか否かを判断し、処理を行うと判断したものについて処理を行っていく。
【００８４】
イベント３０１に出力ルールＩＤ３０２４が記載されていない場合は、使用者に出力ルールの入力を要求する。出力ルールの入力、作成・登録は、入力ルールの場合と同様である。
出力イベントの処理は、設定された出力ルール３１２の成立条件３１２３、受付条件３１２５に合致しているかを判断し、その結果に基づいてイベントの出力状態３０２７を設定する。この判断の結果、操作情報３１１４の操作関数３３２２を実行することが必要な場合は、実行する。実行する場合とは、受付条件に合致し、遅延時間３１２６が経過している場合である。
【００８５】
操作関数を実行した例が、図１１の画面である。信号「ＲＥＱ」がクロック１で立ち上がっている。また、状態変数「ＳＴＡＴＥ」の変化した部分をクリックすることにより、出力ルールの内容がウィンドウ４０００に表示されている（図５（ｂ）参照）。
図７は、この状態での各データの内容を表している。
次に、サイクルカウンタ５３１０によって、クロックが更新され、クロック２における信号の処理に移る（ステップＳ１６，Ｎの処理）。
【００８６】
サイクルカウンタの値が、初期化処理（ステップＳ１０）で指定された処理を行うクロック数と同じになった場合に、入力信号表示処理は終了する（ステップＳ１６，Ｙの処理）。
図１２は、入力信号「ＡＣＫ」が立ち上がった場合に、状態変数「ＳＴＡＴＥ」に変化を及ぼしていることを表す図であり、その入力ルールをウィンドウ３０００に表示したものである。
【００８７】
また、図１３は、図１２での状態変数「ＳＴＡＴＥ」の変化が、出力信号「ＲＥＱ」に影響を及ぼして、ＲＥＳＥＴさせていることを表している図である。ウィンドウ４０００には、その出力ルールが表示されている。
これは、ＬＤ（ロード）命令が実行されて、ＲＥＱ（リクエスト）信号がセットされ、リクエストに対応する応答信号ＡＣＫがセットされると、リクエスト信号がリセットされる、というバスアクセスのプロトコルを再現したものである。
【００８８】
図１４は、入力信号「ＬＤ」が立ち上がった場合に、出力信号「ＲＥＱ」に影響を及ぼさない例を示した図である。
２クロックで入力信号「ＬＤ」が、立ち上がっている。この信号の変化で作成されるイベント３０１の入力ルールＩＤ３０１４に設定される入力ルール３１１は図１０のものと同じであり、出力ルールは図１１のものと同じとする。
【００８９】
このルールに則って、状態変数「ＳＴＡＴＥ」は「２」に変化している。
しかし、出力ルール（図１１参照）は、成立条件「ＳＴＡＴＥ＝＝１」を満たさない為、この出力ルールが適用されず、出力信号「ＲＥＱ」に変化は及ばない。
これで、ＬＤ命令が実行され、それに対応するＡＣＫが発生する前に、さらにＬＤ命令を実行すると、リクエスト（ＲＥＱ）信号とＡＣＫ信号がどのように変化するかを容易に確認することができる。したがって、動作タイミングの洗い出しが容易に出来るようになる。
【００９０】
＜引数情報の説明＞
次に、図１５と図１６を用いて、引数情報（図６（ｂ）参照）の説明を行う。
引数情報とは、入力信号の変化から発生するイベントに関連する出力ルールの操作関数に渡される引数の情報であって、基本的に出力信号の値である。
この引数情報は、入力信号と出力信号との依存関係を表すものではないが、それらの信号間の関連を認識する為の補助的役割を果たすものである。
【００９１】
出力信号「ＡＤＤＲ」の値を与える場合には、その出力信号を変化させる出力ルールでその値を設定する旨の指定をする（図１５参照）。その値を実際に指定するのは、出力信号のその変化に影響を与える入力信号の変化に対応する引数情報で指定することになる（図１６参照）。
例でいえば、図１５において、「出力ルール[６]」の「操作情報」で、「ＳＥＴ：＜ＡＤ：３２ｂｉｔ＞」とあるのは、「出力信号名」が「ＡＤＤＲ」の信号を立ち上げて、引数名３３１１「ＡＤ」、引数型３３１２「３２ｂｉｔ」の設定を行うことを示している。次に、図１６において、入力信号「ＬＤ」の変化に対して、ウィンドウ３１００を通じて、引数情報データ３３１を設定する。「引数名」が「ＡＤ」に「０ｘ１１１」を設定し、出力信号「ＡＤＤＲ」の値が「０ｘ１１１」と表示される。
【００９２】
尚、引数情報が予め設定されている場合は、このウィンドウ３１００で入力しなくても、「０ｘ１１１」が表示されることになる。
＜遅延時間が有効な例＞
図１７は、出力ルールで、遅延時間を設定した例である。
ウィンドウ４０００に表示されている出力ルール[１]は、入力信号「ＬＤ」のパルスが入り、状態変数「ＳＴＡＴＥ」が１から２に変化した場合に適用される出力ルールである。この出力ルールでは、遅延時間として「１」サイクルが指定されている。尚、「ＡＤＲＳ」は、出力信号である。
【００９３】
この出力ルール評価時には、状態変数「ＳＴＡＴＥ」は「２」であり、成立条件「ＳＴＡＴＥ＞０」を満たす。また、受付条件が「ＩＭＭＥＤＩＡＴＥＬＹ」であることから、すぐに、出力信号「ＡＤＲＳ」に「０ｘ０２」を設定する条件は整っている。
しかし、１サイクル遅らせて出力信号「ＡＤＲＳ」に「０ｘ０２」を設定したい為に、遅延時間を「１」に設定している。
【００９４】
仮に、出力ルールに遅延時間が設定できないとすれば、１サイクル遅れた入力信号「ＬＤ」のパルスをもう１つ発生させる等しなければならず、模倣しているデジタル回路の仕様を考慮した作業が煩雑になる等の不都合がある。
＜優先順位が有効な例＞
図１８は、出力ルールで、優先順位を設定した例である。また、図１９は、１サイクル内での信号の変化順の例を示した図である。
【００９５】
まず、図１８では、入力信号「ＬＤ」と「ＡＣＫ」が、同じクロックに状態変数「ＳＴＡＴＥ」を変更しようとしている。この場合、どちらの入力ルールを先に評価するかを優先順位で指定する。
例えば、入力ルール[１]では、優先順位が「２」であり、入力ルール[２]では、優先順位が「１」であることから、入力ルール[２]を先に評価する。
【００９６】
この優先順位は、実際の回路での信号の変化順序を表している。例えば、入力信号「ＬＤ」と「ＡＣＫ」が競合しているクロックでの、実際の回路での信号の変化を表示したウィンドウ２０１０の図が図１９である。
図１９では、入力信号「ＡＣＫ」が、入力信号「ＬＤ」よりも先に立ち上がっている。従って、入力信号「ＡＣＫ」の入力ルール[２]が、入力信号「ＬＤ」の入力ルール[１]よりも先に評価されるように、優先順位を設定している。優先順位を設定することができなければ、入力ルールの評価順序は一意に決まらず、シミュレーションの結果が定まらないという不都合がある。
【００９７】
またさらに、入力ルールのなかで優先順位を設定できることにより、サイクルベースのシミュレータでありながら、必要な部分ではイベントベースのシミュレーションを行うことができるという利点がある。
＜信号波形の説明＞
図２０は、信号の波形の形態を示す図である。図２０（ａ）は、信号の変化をサイクルベースで表示した場合の一般的な信号の表示例であり、図２０（ｂ）は、本入出力信号表示システムの信号の表示例である。
【００９８】
図２０（ａ）の表示方法は、単純にクロックのポジティブエッジでの値を直線で結ぶことで、表示する。すなわち、信号に変化があったとしても、サイクルベースで表示すると変化はなかったように表示される。
例えば、図２０（ａ）の信号「ＳＩＧ」は、２クロックが一体となっている。
一方、図２０（ｂ）の表示方法は、信号に変化があった場合や、変化があり得た場合には、信号のエッジに傾斜を付けて表示する。従って、その変化の事実を使用者が認識することができるようになる。
【００９９】
例えば、図２０（ｂ）の信号「ＳＩＧ」は、クロックサイクル内の信号の変化がわかるように表示されている。
例えば、図１８の状態変数「ＳＴＡＴＥ」は、実際の回路では、１サイクルの中で、その値が「１」から「０」に一旦変化し、その後「０」から「１」に変化していること（図１９参照）を使用者が認識できるように、信号に変化を付けて表示している（図１８のカーソル８０００が指示する部分）。
【０１００】
同様に、図１８の出力信号「ＲＥＱ」も、実際の回路での信号の変化を表すために、信号に変化を付けて表示している（図１９参照）。
本システムでは、信号の変化点は、デジタル回路の動作タイミングを見極めるためには重要な要素である。従って、このような信号の表示形態をとることにより、動作タイミングの洗い出し作業が、より正確に、より迅速に行うことが出来るようになる。
【０１０１】
＜補足＞
以上、本発明に係る入出力信号表示システムについて実施形態に基づいて説明したが、このシステムを部分的に変形することもでき、本発明は上述の実施形態に限られないことは勿論である。即ち、
（１）実施形態では、各種データをファイルに入れて管理することとなっているが、メモリ上に展開しておいてもよい。
（２）実施形態では、入力信号の変化に対応して、新たにイベントを作成し、その入力ルール、出力ルール等を入力しているが、既に作成したイベントや入力ルール等を用いての再実行を行うこともできる。
【０１０２】
すなわち、入力ルール等の一部を修正し、他のデータはそのまま使用して実行することが可能である。
（３）実施形態で示した本システムの各機能を実現させる為の各制御処理（図２等参照）をＣＰＵに実行させる為のプログラムを、記録媒体に記録し又は各種通信路等を介して、流通させ頒布することもできる。このような記録媒体には、ＩＣカード、光ディスク、フレキシブルディスク、ＲＯＭ、フラッシュメモリ等がある。流通、頒布されたプログラムは、機器におけるＣＰＵで読み取り可能なメモリ等に格納されることにより利用に供され、そのＣＰＵがそのプログラムを実行することにより実施形態で示した入出力信号表示システムの各機能が実現される。
【産業上の利用可能性】
【０１０３】
デジタル回路の入力信号と出力信号の依存関係を把握する技術として有用である。本システムは、入力信号と出力信号の依存関係を編集する手段を備え、編集された依存関係を基に自動的に出力信号を表示させることができるため、デジタル回路の入力信号と出力信号の依存関係を洗いだすだけでなく、デジタル回路の機能設計の際に試行錯誤を行うためのツールとして、また設計が完了したデジタル回路の入力信号と出力信号の依存関係を確認するためのツールとしても有用である。
【図面の簡単な説明】
【０１０４】
【図１】入出力信号表示システムの画面イメージの例である。
【図２】入出力信号表示システムの構成を示す機能ブロック図である。
【図３】各データの関連を示した図である。
【図４】入出力信号及び状態変数の表示に関するデータの構成例を示す図である。
【０１０５】
図４（ａ）は、入力信号変化情報３２１の構成例を、図４（ｂ）は、状態変数変化情報３２３の構成例を、図４（ｃ）は、出力信号変化情報３２２の構成例を示す図である。
【図５】入出力ルールに関するデータの構成例を示す図である。  図５（ａ）は、入力ルール３１１の構成例を、図５（ｂ）は、出力ルール３１２の構成例を、図５（ｃ）は、操作情報データ３３２の構成例を示す図である。
【図６】イベントに関するデータの構成例を示す図である。
【０１０６】
図６（ａ）は、イベント３０１の構成例を示す図であり、図６（ｂ）は、引数情報データ３３１の構成例を示す図である。
【図７】イベント、入力ルール、出力ルール、各変化情報のデータに、実際に値が設定された例を示す図である。
【図８】入出力信号表示の処理を示すフローチャートである。
【図９】信号「ＬＤ］をセットした画面の例である。
【図１０】状態変数「ＳＴＡＴＥ」の変化と入力ルールを表示した画面の例である。
【図１１】信号「ＬＤ」による信号「ＲＥＱ］の変化と出力ルールを表示した画面の例である。
【図１２】信号「ＡＣＫ」のセットと状態変数「ＳＴＡＴＥ」の変化と入力ルールを表示した画面の例である。
【図１３】信号「ＡＣＫ」による信号「ＲＥＱ］の変化と出力ルールを表示した画面の例である。
【図１４】信号「ＬＤ」が信号「ＲＥＱ」に影響を及ぼさない例である。
【図１５】出力ルールで引数情報を設定した例である。
【図１６】引数情報を表示した画面の例である。
【図１７】出力ルールで、遅延時間を設定した例である。
【図１８】出力ルールで、優先順位を設定した例である。
【図１９】１サイクル内での信号の変化順の例を示した図である。
【図２０】信号の波形の形態を示す図である。
【０１０７】
図２０（ａ）は、信号の変化をサイクルベースで表示した場合の一般的な信号の表示例であり、図２０（ｂ）は、本入出力信号表示システムの信号の表示例である。
【符号の説明】
【０１０８】
３０１    イベント
３１１    入力ルール
３１２    出力ルール
３２１    入力信号変化情報
３２２    出力信号変化情報
３２３    状態変数変化情報
３３１    引数情報データ
３３２    操作情報データ
１０００    スクリーン
２０００    波形ウィンドウ
３０００    ウィンドウ
３１００    ウィンドウ
４０００    ウィンドウ
５０００    入出力信号表示システム
５１００    ユーザインタフェース部
５２００    波形表示部
５３００    制御部
５３１０    サイクルカウンタ
５４００    入力ルールファイル
５５００    出力ルールファイル
５６００    イベントファイル
５７００    入力信号ファイル
５８００    状態変数ファイル
５９００    出力信号ファイル
８０００    カーソル
９０００    コンソールウィンドウ
【図１】
2005250607.tif 000003
【図２】
2005250607.tif 000004
【図３】
2005250607.tif 000005
【図４】
2005250607.tif 000006
【図５】
2005250607.tif 000007
【図６】
2005250607.tif 000008
【図７】
2005250607.tif 000009
【図８】
2005250607.tif 000010
【図９】
2005250607.tif 000011
【図１０】
2005250607.tif 000012
【図１１】
2005250607.tif 000013
【図１２】
2005250607.tif 000014
【図１３】
2005250607.tif 000015
【図１４】
2005250607.tif 000016
【図１５】
2005250607.tif 000017
【図１６】
2005250607.tif 000018
【図１７】
2005250607.tif 000019
【図１８】
2005250607.tif 000020
【図１９】
2005250607.tif 000021
【図２０】
2005250607.tif 000022