(57)【特許請求の範囲】
【請求項１】
論理回路を対象とする論理シミュレーションシステムにおいて、論理回路記述を解析して論理回路データを作成する論理記述解析部と、解析された論理回路データとテスト波形をもとに論理シミュレーションを実行する実行部からなり、論理記述解析部において論理回路記述とは別に遅延値を指定し、論理回路記述から遅延に関する記述を抽出し、指定された遅延値以下の論理回路記述中の遅延記述を０に変換した後に論理回路記述の解析を行い、論理シミュレーションモデルを作成することを特徴とする論理シミュレーション方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、論理回路、特にクロック同期式の論理回路の論理シミュレーション方式に関する。
【０００２】
【従来の技術】
論理シミュレーションにおいて、処理を高速化する手法として、クロック同期式の回路に関しては、対象回路の素子は遅延を持たないものとし、レベル付けコンパイルドコードシミュレーションが用いられる。これは、たとえば（Ｃosling，Ｓimulation  in  the  Ｄesign  of  Ｄigital  Ｅlectric  Ｓystems，1993）に記述されているように、各々実行コードを持った論理素子が、接続された順序を解析してレベル付けし、レベル付けされた順序でシミュレーションコードを生成する方法である。この場合、通常タイミングは無視され、クロックサイクルをタイムステップとした時間単位でシミュレーションが実行される。一方、信号変化（イベント発生）のみに着目して計算し、時刻を進めていくイベント駆動論理シミュレーションでは、詳細なタイミングが考慮できるが、処理速度は、コンパイル方式に劣っている。
【０００３】
このため、実際には遅延考慮のできるイベント駆動シミュレーションにおいて、同時に実行できるイベントをまとめて評価するといった高速化の手法が考えられている。（たとえば、Ｄ．Ｔ．Ｂlaauw他“Ｒeducing  the  Ｓcheduling  Ｃost  in  Ｅvent-Ｄriven  Ｓimulation  Ｔhrough  Ｃomponent  Ｃlustering”，Ｐroceedings  Ｔhe  Ｅuropean  Ｃonference  on  Ｄesign  Ａutomation，pp．18-22，1993）このような方法を実現するために、クロック同期式回路では、遅延を０とした論理素子を使用する、クロックにまたがる遅延シミュレーション実行時にクロックに同期したイベントとしてそろえて処理する方法がある。
【０００４】
また、通常クロックサイクルベースのベースのシミュレータでは、回路記述内の遅延を無視する場合、全て０として無視する方法がとられる。
【０００５】
【発明が解決しようとする課題】
上記従来技術は、以下のような問題があった。
【０００６】
(１)同時刻のイベントとして処理するための０遅延用のライブラリ、遅延を０にした回路記述を用意する必要がある。
【０００７】
(２)イベント駆動シミュレーションにおいてシミュレーション実行時にクロックに同期したイベントとして処理する場合、遅延するイベントをクロックに同期させるために実行処理時間が増加する。
【０００８】
(３)論理回路中の遅延をすべて０とみなす場合、クロック同期回路対象の論理シミュレーションでもテストデータ等には複数のクロックにまたがる遅延を記述することも必要であり、これを特別に扱う必要がある。
【０００９】
そこで、本発明の目的は、論理シミュレーション対象回路中で、指定された遅延値以下の遅延を０とみなして解析し、シミュレーションファイルを作成することにより、０遅延シミュレーション以外の論理シミュレータと共通の論理回路記述を使用し、論理シミュレーションにおいて実行時の高速処理を行うことである。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明では、論理回路記述を入力する手段と、論理回路記述から遅延値を取り出す手段と、比較のための遅延値を指定する手段と、回路記述中の遅延値を指定された遅延値と比較して小さい場合は遅延値０に置き換える手段と、論理回路記述シミュレータ用データに変換する手段を備えている。
【００１１】
【発明の実施の形態】
以下、本発明の実施形態を図面を用いて具体的に説明する。
【００１２】
図１は、本発明の一実施例のフロー及び処理手順であり、論理シミュレーションシステムのうち、論理回路記述解析部を中心に示したものである。論理シミュレーションの対象回路を記述した論理記述１０１は、論理記述入力部１０３で読みとられる。解析の際の制約及び指定値１０２は、制約・指定値入力部１０４により読み込まれる。制約・指定値とは、出力するシミュレーション用のデータの格納場所の指定、ライブラリの指定、最適化レベル指定等があり、本発明で使用する、遅延値の指定もここで行う。以下、制約・指定値入力部１０４で指定された遅延値を指定遅延値と呼ぶ。論理記述変換部１０５では、読み込まれた制約・指定値をもとに、論理記述の解析が行われる。ここでは、論理記述解析の前処理として次の処理が行われる。論理記述内の各実行文（プロセス）に対し（１１１）、実行文を走査して遅延時間の記述を取り出す（１１２）。論理記述内の遅延値を指定遅延値と比較してそれ以下だった場合（１１３）、論理記述内の遅延値を０に書き換える（１１４）。この後、論理記述を解析し、シミュレーション用データとしてファイルに出力する（１１５）。
【００１３】
図２は、データに着目した処理図である。
【００１４】
２０１は、論理記述の一部を示したものである。第一行目は信号ａにｂとｃの信号値の和を５０ns遅延して代入することを示している。第二行目は信号ｄにｅの信号値を３ns遅延して代入することを示している。２０２は論理記述２０１に対応する木構造の内部表現である。論理ブロックから各実行文（この場合は代入文）が接続する。各代入文は代入先と代入式、遅延により構成され、各々をポイントしている。第一行目では代入先がａ、代入式がｂ＋ｃ、遅延が５０nsである。２０３は制約・指定値ファイルを示し、ここでは、指定遅延値を１０nsとしている。２つの実行文に対応する木構造をトレースし、遅延に関するデータを取得する。２０２では、論理ブロック→代入文→遅延とトレースし、２１１及び２１２を得る。２１１と２１２は遅延を数値と単位に分けて格納した木構造データである。一方、指定遅延値も上記同様の木構造とする（２０５）。ここで、各遅延値と指定遅延値を比較する。まず単位を調べ、ＦＳ（femto-second）の倍数に変換する。その後、数値部にこれを乗じて比較する。比較後、遅延が指定遅延値以下の場合は０への変換を行う。ここでは、
第一行の遅延値５０ns（２１１）＞指定遅延値１０ns（２０５）
より、第一行目の遅延値は記述通りの値５０nsとし、
第二行の遅延値３ns（２１２）≦指定遅延値１０ns（２０５）
より、第二行目の遅延値は０に置き換えられる。
【００１５】
２０４は、論理記述解析部の前処理実行後の内部記述である。２１３に示すように２１２は、数値０・単位なしの遅延に置き換える。これをもとに回路が解析され、シミュレーションファイルを作成する。
【００１６】
図３にシミュレーション実行部における本発明の利用形態を示す。通常イベント駆動型の論理シミュレーションでは、イベントを３０１に示すようなタイムホイールに登録する。このとき、通常は時刻Ｔのイベント処理の際、次に起こるイベントは、時刻Ｔ＋ｄに登録される。（０遅延イベントの場合ｄ＝デルタ）ここで、たとえば図３（ｂ）に示すように、０遅延イベントを同時刻Ｔでまとめて処理することにすると、タイムホイールに登録されるイベントを減らし、イベントのスケジュールにかかる時間が短縮されるため、処理時間を小さくすることができる。図１，２で示した方法によると、指定遅延値以下の遅延は０遅延としてシミュレーションファイルが作成され、指定遅延値以下の遅延を持つイベント群はまとめて処理される。また、遅延値の変換をシミュレーションファイル作成時に行うため、シミュレーション実行時に処理時間を増加させない。同期式論理回路の場合、組み合わせ回路内の遅延記述はクロックサイクルの長さ以下である場合が多い。したがって指定遅延値をクロックサイクルの長さにした場合、本発明による遅延時間の置き換えを行うとタイムホイールの登録数を大きく減らせるため、シミュレーション実行時間の短縮を図ることができる。図３（ｃ）にイベント発生の概略を示す。３２１の論理を考えた場合、通常のシミュレーションでは３２２のように信号ｂの変化はａの変化の５ns後に、信号ｃの変化はｂの変化の６ns後にイベント処理が行われる。本発明を利用した論理シミュレーションでは、たとえば指定遅延値を１０nsに設定した場合、３２１の論理記述の遅延値は、０に置き換えられる。このため、信号変化（イベント処理）は３２３のように時刻Ｔに集まり、処理時間を短縮できる。
【００１７】
【発明の効果】
本発明によれば、論理シミュレーション対象回路中で、ある遅延値以下の遅延を０とみなして解析し、シミュレーション用ファイルを作成することにより、同時刻に発生するイベントを集中させ、シミュレーション実行時の高速処理を行うことができる。論理記述解析時に行うため、０遅延シミュレーション以外の論理シミュレータと共通の論理回路記述を使用でき、シミュレーション実行時の処理を増加させずにすむ。
【図面の簡単な説明】
【図１】本発明の一実施例のフロー及び処理手順
【図２】本発明のデータに着目した処理図
【図３】シミュレーション実行部における本発明の利用形態
【図１】
0003772375.tif 000002
【図２】
0003772375.tif 000003
【図３】
0003772375.tif 000004