JPH10221410A - Automatic logic verification system for lsi - Google Patents

Automatic logic verification system for lsi

Info

Publication number
JPH10221410A
JPH10221410A JP9025145A JP2514597A JPH10221410A JP H10221410 A JPH10221410 A JP H10221410A JP 9025145 A JP9025145 A JP 9025145A JP 2514597 A JP2514597 A JP 2514597A JP H10221410 A JPH10221410 A JP H10221410A
Authority
JP
Japan
Prior art keywords
lsi
bus
verification
verified
test pattern
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.)
Abandoned
Application number
JP9025145A
Other languages
Japanese (ja)
Inventor
Minoru Saeki
稔 佐伯
Hitoshi Ishida
仁志 石田
Yuichi Tokunaga
雄一 徳永
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9025145A priority Critical patent/JPH10221410A/en
Publication of JPH10221410A publication Critical patent/JPH10221410A/en
Abandoned legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To automate logical verification of an LSI or a system including it by providing a probability setting file storing access frequency information defining the event generation probability of an access object constituting an address space, and the like. SOLUTION: A probability setting file 11 stores access frequency information defining the event generation probability of an access object constituting an address space, and transaction frequency information defining the type and the frequency of transaction with respect to the access object. A pattern generator 12 generates a test pattern automatically based on a probability provided from the pattern generation probability setting file 11. Since a test pattern is generated based on the probability setting tile 11 defining the event generation probability in the address space, a high quality test pattern where the test coverage is sustained at a constant level can be generated while eliminating leakage. Furthermore, a test pattern reflecting the proceeding situation of verification can be generated efficiently.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、LSIまたはこれ
を含んで構成されたLSIシステムの論理検証を効率的
かつ自動的に行う自動論理検証方式に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to an automatic logic verification method for efficiently and automatically performing logic verification of an LSI or an LSI system including the LSI.

【0002】[0002]

【従来の技術】従来の一般的なLSIの検証方法につい
て、図22、及び図23に基づいて説明する。図22
(a)はLSI単体のみを検証対象とした最も単純なシ
ミュレーションモデルである。このモデルにおいては、
LSIへの入力信号の値と入力タイミングは人手で与え
られ、LSIからの出力信号を目視または予め人手で作
成した出力パターンの期待値と比較することで動作の正
当性をチェックする。なお、双方向信号は入力タイミン
グでは入力信号、出力タイミングでは出力信号として扱
われる。図22(b)は図22(a)のモデルを発展さ
せたもので、被検証LSIに接続されるデバイスをモデ
ル化したものが使用される。このようにして、検証対象
となる動作内部の一部の信号値のみを人手で指定し、入
力タイミングやバスの制御信号等の殆どの部分は、被検
証LSIとそれに接続されるデバイスの間のプロトコル
に基づいて自動的に検証される。また、図示はしていな
いが、被検証デバイスが非同期回路である場合には、図
22と同様の環境でシミュレータがハザードマージンの
チェックを行う。
2. Description of the Related Art A conventional general LSI verification method will be described with reference to FIGS. FIG.
(A) is the simplest simulation model for which only the LSI itself is to be verified. In this model,
The value of the input signal to the LSI and the input timing are given manually, and the validity of the operation is checked by comparing the output signal from the LSI with the expected value of the output pattern visually or manually created in advance. The bidirectional signal is treated as an input signal at the input timing and as an output signal at the output timing. FIG. 22B is a development of the model of FIG. 22A, and uses a model of a device connected to the LSI to be verified. In this way, only a part of the signal value in the operation to be verified is manually specified, and most of the input timing, the bus control signal, and the like are transferred between the LSI to be verified and the device connected thereto. Validated automatically based on protocol. Although not shown, when the device to be verified is an asynchronous circuit, the simulator checks the hazard margin in the same environment as in FIG.

【0003】次に、動作について説明する。図23
(a)は、図22(a)を具体化した図である。被検証
LSIは簡単のために、3ビットのアップダウンカウン
タの機能のみを持つものとする。入力信号clkはLS
Iの動作タイミングを規定するクロック、up及びdo
wnはそれぞれカウント値のインクリメントとデクリメ
ントを指示する制御信号であり、up及びdown信号
が共に”0”の時はカウント値は変化せず、共に”1”
の時はカウント値をリセットするものと想定する。この
被検証モデルを用いてシミュレーションを行う時は、先
ず各入力信号に対する組合わせパターン(時刻と信号値
の組)を与える必要があるが、このパターン作成作業は
人手で行われる。この様子を図23(b)の”入力信
号”に示す。また、この時の出力信号の変化の状態は目
視により確認する必要があるが、この様子を図23
(b)の出力信号”count”に示す。ここで、図2
2(b)の構成をこのアップダウンカウンタの例に適用
すると、以下のような動作となる。なお、シミュレーシ
ョンモデルは図中の検証モデルAと、LSIのみからな
るものとする。まず、検証モデルAに対して次のように
動作を人手で指定する。 reset 1 increment 5 hold 1 decrement 3 increment 1 ・・・・ 各行は、「動作モード サイクル数」というフォーマッ
トに従うものとする。検証モデルAは、この指示を解釈
して図23(b)と同一の入力信号パターンを作成して
LSIに与えることで、先の例と同様のシミュレーショ
ン結果が得られる。次にハザードチェックであるが、こ
れは上記と同一の環境でシミュレータによって行われる
(ただし、この場合は被検証対象が機能記述されている
モジュールであってはならない)。シミュレータはハザ
ードチェック専用のライブラリを参照してシミュレーシ
ョンを進め、ハザードマージン不足を検出すると、その
属性を次段の素子にシフトしていく。
Next, the operation will be described. FIG.
(A) is a diagram which actualized FIG.22 (a). For simplicity, the LSI to be verified has only the function of a 3-bit up / down counter. The input signal clk is LS
Clocks, up and do, which define the operation timing of I
wn is a control signal for instructing increment and decrement of the count value, respectively. When both the up signal and the down signal are "0", the count value does not change and both are "1".
In the case of, it is assumed that the count value is reset. When performing a simulation using the model to be verified, it is necessary to first provide a combination pattern (a set of time and signal value) for each input signal, but this pattern creation operation is performed manually. This situation is shown as “input signal” in FIG. At this time, it is necessary to visually confirm the state of the change of the output signal.
The output signal “count” is shown in FIG. Here, FIG.
When the configuration of FIG. 2B is applied to the example of the up-down counter, the operation is as follows. It is assumed that the simulation model includes only the verification model A in the figure and the LSI. First, the operation of the verification model A is manually specified as follows. reset 1 increment 5 hold 1 decrement 3 increment 1... Each line follows the format of “operation mode cycle number”. The verification model A interprets this instruction, creates the same input signal pattern as shown in FIG. 23B, and gives it to the LSI, thereby obtaining a simulation result similar to the previous example. Next, the hazard check is performed by the simulator in the same environment as described above (however, in this case, the object to be verified must not be a module in which the function is described). The simulator proceeds with the simulation by referring to a library dedicated to hazard check, and upon detecting a shortage of the hazard margin, shifts the attribute to the next element.

【0004】[0004]

【発明が解決しようとする課題】従来のLSI検証は上
記のようにして実現されていたので、LSIが大規模
化、あるいは複雑化の傾向の一途をたどるにつれて、人
手によるテストパターンでは十分なテストケースをカバ
ーすることが不可能となってきており、また、テストパ
ターン自体にバグが混入する危険も大きいという問題点
があった。
Since the conventional LSI verification has been realized as described above, as the size of the LSI continues to increase or the complexity of the LSI continues to increase, a sufficient test can be performed with a manual test pattern. It has become impossible to cover the cases, and there is also a problem that there is a great risk that a bug is mixed in the test pattern itself.

【0005】また、人手による作成の場合、ある特定の
動作に注目したテストパターンを発生させることが困難
であったり、更に、どのようなケースについてのパター
ンを用意すべきかを把握しにくかったため、カバレッジ
を一定レベル以上に維持することが難しいという問題点
があった。
In the case of manual creation, it is difficult to generate a test pattern focusing on a specific operation, and furthermore, it is difficult to grasp what kind of pattern should be prepared. There is a problem that it is difficult to maintain the level above a certain level.

【0006】また、従来の方法では出力パターンを期待
値と比較して被検証モデルの動作の正当性をチェックし
ていたため、設計者が波形または信号値のログを見て判
断したり、動作を考慮しつつ時刻毎の期待値を逐一作成
しなければならず、作業効率が悪いのみならず、誤動作
を見落す恐れがあるという問題点があった。
Further, in the conventional method, the validity of the operation of the model to be verified is checked by comparing the output pattern with the expected value, so that the designer can determine the operation by checking the waveform or signal value log. An expected value for each time must be created one by one while taking into account the problem, and there is a problem that not only the work efficiency is poor but also a malfunction may be overlooked.

【0007】さらに、被検証モデルに接続される検証モ
デル(群)のバスプロトコルを自動でチェックする方法
もあったが、従来方式ではバス間を渡る動作検証を十分
に行えないという問題点があった。
Further, there has been a method of automatically checking a bus protocol of a verification model (group) connected to a model to be verified. However, the conventional method has a problem that operation verification across buses cannot be sufficiently performed. Was.

【0008】加えて、検証対象が大規模かつ複雑なLS
Iの場合、想定される全ての動作ケースの中でどの程度
が検証済みなのかというテストカバレッジを判断するの
が極めて困難となり、その結果、どのようなテストを後
どれ位行うべきかが分かりにくいという問題点があっ
た。さらに、ハザードチェックを行うためにも専用のツ
ールを必要とするという問題点があった。
In addition, the verification target is a large-scale and complicated LS
In the case of I, it is extremely difficult to determine the test coverage of how much has been verified in all the expected operation cases, and as a result, it is difficult to know what tests should be performed and how much later. There was a problem. Further, there is a problem that a dedicated tool is required to perform a hazard check.

【0009】本発明は、上記のような問題を解決するた
めになされたもので、LSIまたはそれを含んだシステ
ムの論理検証を自動化し、テストカバレッジを考慮した
高品質かつ効率的なLSIの自動論理検証システムを提
供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems. The present invention automates the logic verification of an LSI or a system including the same, and realizes a high-quality and efficient automatic LSI in consideration of test coverage. It is intended to provide a logic verification system.

【0010】[0010]

【課題を解決するための手段】第1の発明に係わるLS
Iの自動論理検証方式は、検証モデルを介して接続され
たLSIの内部回路を外部からの制御信号によって検証
するLSIの論理検証システムにおいて、アドレス空間
を構成するアクセス対象の事象発生確率を規定したアク
セス頻度情報と、該アクセス対象に対するトランザクシ
ョンの種類と出現頻度を規定したトランザクション発生
頻度情報を記憶した確率設定ファイルと、確率設定ファ
イルの情報に基づいて入力信号パターンをランダムに自
動生成するテストパターン生成手段を備えることによ
り、テストパターン生成手段の出力結果を検証モデルに
供給してシミュレーションを行うことで、テストパター
ン作成の効率化を図るようにしたものである。
An LS according to the first invention is provided.
The automatic logic verification method of I specifies an event occurrence probability of an access target constituting an address space in an LSI logic verification system for verifying an internal circuit of an LSI connected via a verification model by an external control signal. A probability setting file storing access frequency information, transaction occurrence frequency information defining the type and appearance frequency of a transaction for the access target, and a test pattern generation for automatically automatically generating an input signal pattern based on the information in the probability setting file With the provision of the means, the output result of the test pattern generation means is supplied to the verification model and simulation is performed, thereby increasing the efficiency of test pattern creation.

【0011】第2の発明は、第1の発明に係わるLSI
の自動論理検証方式において、テストパターン生成手段
が、アドレス空間を構成するアクセス対象の事象発生確
率を、既発生状況に基づく所定の規則に従って動的に変
化させるようにしたものである。
A second invention is directed to an LSI according to the first invention.
In the automatic logic verification method, the test pattern generation means dynamically changes the event occurrence probability of an access target constituting an address space in accordance with a predetermined rule based on an existing situation.

【0012】第3の発明は、第1の発明に係わるLSI
の自動論理検証方式において、テストパターン生成手段
が、テストパターン生成に要するパラメータをいくつか
のグループに分割し、該グループに属するパラメータを
一定の時間間隔で独立に変化させることによってテスト
パターンを生成するようにしたものである。
A third invention is directed to an LSI according to the first invention.
In the automatic logic verification method, the test pattern generation means generates a test pattern by dividing the parameters required for test pattern generation into several groups and independently changing the parameters belonging to the groups at certain time intervals. It is like that.

【0013】第4の発明に係わるLSIの自動論理検証
方式は、検証モデルを介して接続されたLSIの内部回
路を外部からの制御信号によって検証するLSIの論理
検証システムにおいて、検証モデル毎に被検証LSIに
与えるテストパターンを格納した複数組のコマンドファ
イルと、被検証LSIと検証モデルが接続されたバス上
のトランザクションを監視するモニタ手段と、モニタ手
段による監視結果に基づいて上記複数組のコマンドファ
イルを選択するコマンドファイル切り替え手段、を備え
ることにより、検証状況に応じてテストパターンを選択
しながらシミュレーションを行うようにしたものであ
る。
According to a fourth aspect of the present invention, there is provided an automatic logic verification system for an LSI, wherein a logic verification system for an LSI verifies an internal circuit of the LSI connected via a verification model by an external control signal. A plurality of sets of command files storing test patterns to be provided to the verification LSI, a monitor for monitoring transactions on a bus to which the LSI to be verified and the verification model are connected, and the plurality of sets of commands based on a monitoring result by the monitor; By providing a command file switching means for selecting a file, simulation is performed while selecting a test pattern according to a verification situation.

【0014】第5の発明に係わるLSIの自動論理検証
方式は、検証モデルを介して接続されたLSIの内部回
路を外部からの制御信号によって検証するLSIの論理
検証システムにおいて、被検証LSIに与えるテストパ
ターンを格納したコマンドファイルと、被検証LSIと
検証モデルが接続されたバス上のトランザクションを監
視するモニタ手段と、被検証LSIに対して動作の競合
状態を発生させるパターンを格納した競合リストファイ
ルと、モニタ手段による監視結果に基づき競合リストフ
ァイル中の競合状態発生コマンドがセットされるコマン
ドレジスタと、上記コマンドファイルとコマンドレジス
タの何れかを選択するコマンドファイル切り替え手段
と、を備えることにより、検証状況に応じた競合状態を
発生させながらシミュレーションを行うようにしたもの
である。
According to a fifth aspect of the present invention, there is provided an automatic logic verification method for an LSI, which is applied to an LSI to be verified in an LSI logic verification system for verifying an internal circuit of the LSI connected via a verification model by an external control signal. A command file storing a test pattern, monitoring means for monitoring a transaction on a bus to which the LSI to be verified and the verification model are connected, and a conflict list file storing a pattern for generating a race condition of operation for the LSI to be verified And a command register in which a race condition occurrence command in the race list file is set based on the monitoring result by the monitor means, and a command file switching means for selecting one of the command file and the command register. While generating race conditions according to the situation, It is obtained to perform the configuration.

【0015】第6の発明に係わるLSIの自動論理検証
方式は、検証モデルを介して接続されたLSIの内部回
路を外部からの制御信号によって検証するLSIの論理
検証システムにおいて、被検証LSIに与えるテストパ
ターンを格納したコマンドファイルと、被検証LSIと
検証モデルが接続されたバス上のトランザクションを監
視するモニタ手段とを備え、上記モニタ手段がメモリ空
間へのトランザクションを検出した場合に、被検証LS
Iに与えるテストパターンの印加タイミングを可変制御
するようにしたものである。
An automatic logic verification method for an LSI according to a sixth aspect of the present invention provides an LSI logic verification system for verifying an internal circuit of an LSI connected via a verification model by a control signal from the outside. A command file storing a test pattern; and a monitor for monitoring a transaction on a bus to which the LSI to be verified and the verification model are connected. When the monitor detects a transaction to the memory space,
The application timing of the test pattern given to I is variably controlled.

【0016】第7の発明に係わるLSIの自動論理検証
方式は、検証モデルを介して接続されたLSIの内部回
路を外部からの制御信号によって検証するLSIの論理
検証システムにおいて、被検証LSIに与えるテストパ
ターンを格納したコマンドファイルと、被検証LSIと
検証モデルが接続されたバス毎にバスのシミュレーショ
ン結果を格納するログファイルと、上記ログファイル内
容に基づいてバス間を跨ったトランザクションを解析ト
レースするバス間検証ツールを備えることにより、バス
間を渡る処理の正当性をチェックするようにしたもので
ある。
An automatic logic verification method for an LSI according to a seventh aspect of the present invention provides an LSI logic verification system for verifying an internal circuit of an LSI connected via a verification model by a control signal from the outside. A command file storing a test pattern, a log file storing a bus simulation result for each bus to which the LSI to be verified and the verification model are connected, and a transaction crossing between buses is analyzed and traced based on the contents of the log file. By providing an inter-bus verification tool, the legitimacy of the processing across buses is checked.

【0017】第8の発明に係わるLSIの自動論理検証
方式は、検証モデルを介して接続されたLSIの内部回
路を外部からの制御信号によって検証するLSIの論理
検証システムにおいて、被検証LSIに与えるテストパ
ターンを格納したコマンドファイルと、被検証LSIと
検証モデルが接続されたバス毎にバスのシミュレーショ
ン結果を格納するログファイルと、上記ログファイル内
容に基づいてバス間を跨ったトランザクションを解析ト
レースするバス間検証ツールと、バス間トランザクショ
ンのカバレッジ集計を行うカバレッジ集計ツールを備え
ることにより、バス間のトランザクション競合状態に基
づいてカバレッジ評価を行うようにしたものである。
An automatic logic verification method for an LSI according to the eighth invention is a logic verification system for an LSI which verifies an internal circuit of an LSI connected via a verification model by a control signal from the outside. A command file storing a test pattern, a log file storing a bus simulation result for each bus to which the LSI to be verified and the verification model are connected, and a transaction crossing between buses is analyzed and traced based on the contents of the log file. By providing an inter-bus verification tool and a coverage aggregation tool that aggregates coverage of transactions between buses, coverage evaluation is performed based on a transaction competition state between buses.

【0018】第9の発明に係わるLSIの自動論理検証
方式は、検証モデルを介して接続されたLSIの内部回
路を外部からの制御信号によって検証するLSIの論理
検証システムにおいて、被検証LSIに与えるテストパ
ターンを格納したコマンドファイルと、被検証LSIと
該被検証LSIの両端に位置する検証モデルを接続する
バスに接続されて被検証LSIの内部状態をモニタする
動作状態モニタと、上記動作状態モニタによるモニタ結
果を格納するログファイルと、を備えることにより、シ
ミュレーション結果に基づくカバレッジ評価を行うよう
にしたものである。
An automatic logic verification method for an LSI according to a ninth aspect of the present invention provides an LSI logic verification system for verifying an internal circuit of an LSI connected via a verification model by a control signal from the outside. A command file storing a test pattern; an operation state monitor connected to a bus connecting the LSI to be verified and verification models located at both ends of the LSI to be monitored to monitor an internal state of the LSI to be verified; And a log file for storing a monitoring result by the above method, thereby performing coverage evaluation based on the simulation result.

【0019】第10の発明は、第1の発明乃至第9の発
明のいずれかのLSIの自動論理検証方式において、論
理検証方式が、組合わせ回路素子の入力信号にハザード
発生条件が成立した場合に、当該回路素子の出力信号に
狭パルスを発生させるハザード検出ツールを備えるよう
にしたものである。
A tenth aspect of the present invention is the automatic logic verification method for an LSI according to any one of the first to ninth aspects, wherein the logic verification method is such that a hazard occurrence condition is satisfied for an input signal of a combinational circuit element. And a hazard detection tool for generating a narrow pulse in the output signal of the circuit element.

【0020】第11の発明は、第1の発明乃至第10の
発明のいずれかのLSIの自動論理検証方式において、
検証モデルが、外部バスとのインタフェースをとる入出
力部と、外部コマンドとして入力された応答条件に基づ
いて上記入出力部からの入力情報を記憶する受信記憶部
と、受信記憶部からの入力情報を外部コマンドとして入
力された起動条件に基づいて上記入出力部へ転送する送
信動作部を備え、上記入出力部と受信記憶部、および送
信動作部を簡易な通信プロトコルで接続することにより
検証モデルの内部構造を統一するようにしたものであ
る。
An eleventh invention is directed to the automatic logic verification method for an LSI according to any one of the first invention to the tenth invention,
A verification model, an input / output unit that interfaces with an external bus, a reception storage unit that stores input information from the input / output unit based on a response condition input as an external command, and an input information from the reception storage unit A transmission operation unit that transfers the input / output unit to the input / output unit based on a start condition input as an external command, and the input / output unit, the reception storage unit, and the transmission operation unit are connected by a simple communication protocol. Is to unify the internal structure.

【0021】[0021]

【発明の実施の形態】まず、本発明のテストパターン自
動生成による論理検証の環境構成について、図1を用い
て説明する。図において、13は被検証LSI及びそれ
に接続される検証モデルから構成されるシミュレーショ
ン対象であり、図22(b)に相当し、本発明では、パ
ターンジェネレータ12によりパターンの自動生成が行
われる。ここで、パターンジェネレータ12はパターン
発生の確率設定ファイル11で与えられる確率に基づい
てパターンを発生する。実施の形態1,2,3はこのパ
ターンの自動生成に関わるものである。また、実施の形
態4,5,6,11はシミュレーション対象13の構成
方法に関わるものである。シミュレーション対象13
は、シミュレータへ入力されてシミュレーションされる
(14)。実施の形態10はシミュレーションに使用す
るシミュレータに関わるものである。シミュレーション
の結果はその動作の正当性をチェックされる(15)と
ともに、どのような検証が行われたかを判断するための
カバレッジ集計手段16の対象となる。実施の形態7は
動作の正当性チェックに関わり、実施の形態8,9はカ
バレッジ集計に関わるものである。
DESCRIPTION OF THE PREFERRED EMBODIMENTS First, an environment configuration of a logic verification by automatic test pattern generation according to the present invention will be described with reference to FIG. In the figure, reference numeral 13 denotes a simulation target composed of an LSI to be verified and a verification model connected thereto, which corresponds to FIG. 22B. In the present invention, the pattern generator 12 automatically generates a pattern. Here, the pattern generator 12 generates a pattern based on the probability given in the pattern generation probability setting file 11. Embodiments 1, 2, and 3 relate to automatic generation of this pattern. The fourth, fifth, sixth, and eleventh embodiments relate to a method of configuring the simulation target 13. Simulation target 13
Is input to the simulator and simulated (14). Embodiment 10 relates to a simulator used for simulation. The result of the simulation is checked for validity of the operation (15), and is subjected to coverage counting means 16 for determining what kind of verification has been performed. The seventh embodiment is related to the operation validity check, and the eighth and ninth embodiments are related to coverage totalization.

【0022】実施の形態1.本発明の第1の実施形態に
ついて、図1乃至図4に基づいて説明する。なお、被検
証モジュールは2つのバスに接続されたブリッジLSI
を想定する。図1は、先に説明したようにテストパター
ンを自動生成し、論理シミュレーションを行う環境を示
した図である。図において、被検証モジュールは異なる
2つのバスを介して、それぞれのバスの挙動を模擬する
バスの検証モデルに接続されている。各バスの検証モデ
ルは、外部から与えられるテストパターンをそれぞれの
バスのプロトコルに従ってバスに出力するとともに、被
検証モジュールが出力する信号の処理を行う。バスAか
らバスBのデバイスにアクセスするときの動作は以下の
通りである。 1)バスA検証モデルとブリッジLSIの間でアービト
レーションを行い、検証モデルがバスAの使用権を獲得
する。 2)バスA検証モデルはテストパターン(A)の中で与
えられるパターンの1まとまり(例えば、読み出しの場
合はコマンドとアドレス、書き込みの場合はさらに書き
込みデータ群)を取り出してバスAに出力する。 3)ブリッジLSIとバスB検証モデルの間でアービト
レーションを行い、ブリッジLSIがバスBの使用権を
獲得する。 4)ブリッジLSIはバスAから依頼された処理をバス
B用のフォーマットに変換してバスBに出力する。(書
き込みの場合はこれで終了し、読み出しの場合はさら
に、以下に続く。) 5)バスB検証モデルは、指定されたアドレスの内容を
バスBに出力する。 6)ブリッジLSIはバスBから受け取ったデータをバ
スAに出力する。 7)バスA検証モデルはテストパターン(A)で示され
た期待値データとバスAから返ってきたデータを比較
し、異なっている場合にはエラーメッセージを表示す
る。 本実施形態は、図中の斜線で示したパターンジェネレー
タ12とパターンの発生確率設定ファイル11を用意し
て、従来非常に手間の掛かっていたパターン作成を自動
化する点に特徴がある。なお、確率が固定であれば確率
設定ファイルは特に必要なく、パターンジェネレータの
中に固定値を埋め込んでおけば十分である。
Embodiment 1 A first embodiment of the present invention will be described with reference to FIGS. The module to be verified is a bridge LSI connected to two buses.
Is assumed. FIG. 1 is a diagram illustrating an environment in which a test pattern is automatically generated and a logic simulation is performed as described above. In the figure, the module to be verified is connected via two different buses to a bus verification model that simulates the behavior of each bus. The verification model of each bus outputs a test pattern given from the outside to the bus according to the protocol of each bus, and performs processing of a signal output by the module to be verified. The operation when accessing the device on the bus B from the bus A is as follows. 1) Arbitration is performed between the bus A verification model and the bridge LSI, and the verification model acquires the right to use the bus A. 2) The bus A verification model extracts a set of patterns (for example, a command and an address in the case of reading, and a write data group in the case of writing) taken out of the test pattern (A), and outputs them to the bus A. 3) Arbitration is performed between the bridge LSI and the bus B verification model, and the bridge LSI acquires the right to use the bus B. 4) The bridge LSI converts the processing requested from the bus A into a format for the bus B and outputs the format to the bus B. (This ends in the case of writing, and continues in the case of reading.) 5) The bus B verification model outputs the contents of the specified address to the bus B. 6) The bridge LSI outputs the data received from the bus B to the bus A. 7) The bus A verification model compares the expected value data indicated by the test pattern (A) with the data returned from the bus A, and displays an error message if they are different. This embodiment is characterized in that a pattern generator 12 and a pattern occurrence probability setting file 11 indicated by oblique lines in the figure are prepared, and pattern creation which has conventionally been very troublesome is automated. If the probability is fixed, a probability setting file is not particularly required, and it is sufficient to embed a fixed value in the pattern generator.

【0023】次に、パターンの自動生成について説明す
る。図2は確率設定ファイルの例であり、図において、
1行目(21)では、アクセス対象がSRAM,DRA
M,IOの3通りあって、それぞれにアクセスする頻度
の比が1:7:2であることを示している。また、2行
目(22)では、トランザクションの種類としては、1
ワードの書き込み(WRITE1)、2ワードの書き込
み(WRITE2)、1ワードの読み出し(READ
1)、2ワードの読み出し(READ2)の4種類あ
り、出現頻度の比は全て同じ(1:1:1:1)である
ことを示している。確率設定ファイル内容の解釈は、次
に述べるパターンジェネレータとの取り決めに依存す
る。
Next, automatic generation of a pattern will be described. FIG. 2 is an example of the probability setting file.
In the first line (21), the access target is SRAM, DRA
M and IO indicate that the ratio of the frequency of accessing each is 1: 7: 2. In the second line (22), the type of transaction is 1
Write word (WRITE1), write two words (WRITE2), read one word (READ
1) There are four types of two-word reading (READ2), and the appearance frequency ratios are all the same (1: 1: 1: 1). The interpretation of the contents of the probability setting file depends on the agreement with the pattern generator described below.

【0024】図3は、パターンジェネレータ12の処理
フローを示したものである。以下に、パターンジェネレ
ータ12の動作について、図に基づいて説明する。初期
設定のフェーズでは、ツール起動時に指定される乱数の
種(seed)に基づいて、以降のプログラムで使用す
る疑似乱数列の設定を行う。また、同じく起動時に渡さ
れるカウント値(生成するパターン数)を変数coun
tに設定する。パラメータテーブルは、図2で示した確
率設定ファイルの内容(文字列)をパターンジェネレー
タで使用しやすいように数値に変換して展開したテーブ
ルである。メモリテーブルは、あるテストパターンが実
行された時点でのアドレスの内容を保持するテーブルで
あり、書き込みトランザクションで内容が更新され、読
み出しトランザクションでは期待値として参照される。
メモリテーブルは例えば、アドレスとデータの組からな
るテーブルである。これらの設定後、出力ファイルをオ
ープンしてパターンの生成フェーズに移る(ステップ
3.1)。生成フェーズでは1パターン生成する度にc
ountをデクリメントし(ステップ3.15)、その
値が0になるまでループする(ステップ3.2)パター
ン生成の手順は、まず図2の1行目(21)の設定に従
ってランダムにアドレス空間(即ちアドレスベース)を
選択し、ランダムに生成するオフセットと連結してアド
レスを生成する(ステップ3.3)。次に、図2の2行
目(22)の設定に従って、ランダムにコマンド(トラ
ンザクション)の種類を生成する(ステップ3.4)。
生成されたコマンドが書き込みトランザクションであっ
た場合(ステップ3.5,ステップ3.8)は、ランダ
ムな書き込みデータを生成し(ステップ3.6,ステッ
プ3.9)、メモリテーブルの内容を新たに書き込まれ
るデータに更新する(ステップ3.7,ステップ3.1
0)。コマンドが読み出しトランザクションの場合(ス
テップ3.11)は、メモリテーブルから生成されたア
ドレスの内容を読み出して期待値とする(ステップ3.
12,ステップ3.13)。書き込み、読み出し共に、
1ワードと2ワードの違いは、生成する書き込みデータ
または読み出し期待値を1つにするか2つにするかの差
である。これらの処理が終わると、生成したパターンを
出力ファイルに出力して(ステップ3.14)次のルー
プに入る(または終了する(ステップ3.16))。
FIG. 3 shows a processing flow of the pattern generator 12. Hereinafter, the operation of the pattern generator 12 will be described with reference to the drawings. In the initial setting phase, a pseudo-random number sequence to be used in subsequent programs is set based on the seed of the random number (seed) specified when the tool is started. Also, the count value (the number of patterns to be generated) passed at the time of startup is
Set to t. The parameter table is a table in which the contents (character strings) of the probability setting file shown in FIG. 2 are converted into numerical values so as to be easily used by the pattern generator and expanded. The memory table is a table that holds the contents of addresses at the time when a certain test pattern is executed. The contents are updated in a write transaction, and are referred to as expected values in a read transaction.
The memory table is, for example, a table including a set of an address and data. After these settings, the output file is opened and the process proceeds to the pattern generation phase (step 3.1). In the generation phase, every time one pattern is generated, c
“out” is decremented (step 3.15), and a loop is performed until the value becomes 0 (step 3.2). The procedure of pattern generation is as follows. First, according to the setting of the first row (21) in FIG. That is, address-based) is selected, and an address is generated by concatenating the offset with a randomly generated offset (step 3.3). Next, a command (transaction) type is randomly generated according to the setting of the second line (22) in FIG. 2 (step 3.4).
If the generated command is a write transaction (step 3.5, step 3.8), random write data is generated (step 3.6, step 3.9), and the contents of the memory table are newly updated. Update to the data to be written (step 3.7, step 3.1
0). If the command is a read transaction (step 3.11), the contents of the address generated from the memory table are read and set as the expected value (step 3.11).
12, step 3.13). For both writing and reading,
The difference between one word and two words is the difference between whether to generate one write data or two read expected values. When these processes are completed, the generated pattern is output to an output file (step 3.14), and the process enters the next loop (or ends (step 3.16)).

【0025】生成されたテストパターンの例を図4に示
す。各行は、「コマンド アドレスデータ1 データ
2」のフォーマットであり、データ1,データ2は書き
込みの場合は書き込みデータ、読み出しの場合は期待値
である。図4の内容について、さらに先の図2、及び図
3をも照らしあわせて説明すると、4パターンが生成さ
れていることから分かるように、countの初期値は
4であるので(ステップ3.1)の後、(ステップ3.
2)から(ステップ3.3)に進んで、図2(21)に
基づいて”adr=FF000000”が得られ、次に
(ステップ3.4)で図2(22)に基づいて”cmd
=WRITE1”が得られている。コマンドがWRIT
E1なので(ステップ3.9)が実行され、”data
l=12345678”,”data2=0”となる。
また、シミュレーションで図4(41)が実行された結
果、”FF000000”番値の内容は”123456
78”になり、以降同じアドレスを読む場合は更新され
た値を期待値とする必要があるので、(ステップ3.1
0)において”FF000000”番値に対応するメモ
リテーブルの内容を”12345678”に変更する。
以上のように生成されたパラメータが(ステップ3.1
4)によってファイルに出力されたものが図4の1行目
のパターン(41)である。(ステップ3.15)でc
ount=3となり、(ステップ3.2)を経由して次
のパターンの生成が開始される。図4の4パターン目が
出力されたところで、countが0になってパターン
生成が終了する(ステップ3.16)。
FIG. 4 shows an example of the generated test pattern. Each row has a format of “command address data 1 data 2”, and data 1 and data 2 are write data in the case of writing, and expected values in the case of reading. The contents of FIG. 4 will be further described with reference to FIGS. 2 and 3 described above. As can be seen from the generation of four patterns, the initial value of count is 4 (step 3.1). ), (Step 3.
From (2) to (Step 3.3), “adr = FF000000” is obtained based on FIG. 2 (21), and then “cmd” is calculated based on FIG. 2 (22) in (Step 3.4).
= WRITE1 ". The command is WRITE
Since it is E1, (step 3.9) is executed, and "data
1 = 1234678 "and" data2 = 0 ".
Also, as a result of executing FIG. 4 (41) in the simulation, the content of the number “FF000000” is “123456”.
78 ", and when reading the same address thereafter, the updated value must be used as the expected value.
In 0), the contents of the memory table corresponding to the value of “FF000000” are changed to “12345678”.
The parameters generated as described above (step 3.1)
What is output to the file by 4) is the pattern (41) on the first line in FIG. (Step 3.15) c
"out = 3", and generation of the next pattern is started via (step 3.2). When the fourth pattern in FIG. 4 is output, the count becomes 0 and the pattern generation ends (step 3.16).

【0026】実施の形態2.本発明の第2の実施形態を
説明する前に、第1の実施形態において図2の確率設定
ファイルの内容が図3のフローの中でどのように使用さ
れるのかを考えてみる。なお、プログラム中での疑似乱
数の発生方法については特に触れないが、例えば使用す
る計算機システムが用意している関数を呼び出すことに
すればよい。以下では簡単のために、1から100の間
の整数を全くランダムに返す関数が既に定義されてお
り、それを使用すると仮定する。図2の1行め(21)
はアドレス空間に関するものであり、3種類の空間に対
するアクセス頻度が1:7:2となっている。これに対
応するパターンテーブルは3つのエントリを持ち、各々
のエントリ内容は、10,80,100である。この値
は、100*(1/(1+7+2))、100*((1
+7)/(1+7+2))、100*((1+7+2)
/(1+7+2))で求められる。従って、パターンジ
ェネレータのパターン生成フェーズでは、アドレス発生
の際に前記関数から得られた乱数の値が10以下ならば
SRAM空間を、11〜80ならばDRAM空間を、8
1以上ならば10空間に対するアドレスを返す(図5
(a)参照)。同様にして、図2の2行目(22)に対
応するパラメータテーブルは、4つのエントリからなり
各内容は、25,50,75,100となる。尚、(2
1)と(22)の内容は全く独立に設定される。また、
発生確率が固定であれば、こうした手順を踏まずに、得
られた乱数値を適当な数値で割った時の剰余によってア
ドレス空間やコマンドを決定してもよい(図5(b)参
照)。
Embodiment 2 FIG. Before describing the second embodiment of the present invention, consider how the contents of the probability setting file of FIG. 2 are used in the flow of FIG. 3 in the first embodiment. A method of generating a pseudo-random number in a program is not particularly described. For example, a function provided by a computer system to be used may be called. In the following, for simplicity, it is assumed that a function that returns an integer between 1 and 100 at all is already defined and will be used. First line of FIG. 2 (21)
Is related to the address space, and the access frequency to the three types of spaces is 1: 7: 2. The corresponding pattern table has three entries, and the contents of each entry are 10, 80, and 100. This value is 100 * (1 / (1 + 7 + 2)), 100 * ((1
+7) / (1 + 7 + 2)), 100 * ((1 + 7 + 2)
/ (1 + 7 + 2)). Therefore, in the pattern generation phase of the pattern generator, when the value of the random number obtained from the function at the time of address generation is 10 or less, the SRAM space is used.
If it is 1 or more, the address for 10 spaces is returned (Fig. 5
(A)). Similarly, the parameter table corresponding to the second line (22) in FIG. 2 is composed of four entries, and their contents are 25, 50, 75, and 100, respectively. In addition, (2
The contents of 1) and (22) are set completely independently. Also,
If the occurrence probability is fixed, the address space and the command may be determined by the remainder when the obtained random number value is divided by an appropriate numerical value without performing such a procedure (see FIG. 5B).

【0027】上記のようにして、パラメータの発生確率
を定めた場合、パターンジェネレータは最初から最後ま
で一定の確率に基づいてパターンを生成することにな
る。このようなパターンを用いてシミュレーションを行
うと、出現しにくい競合ケースがあったり、一度出現す
れば十分であるようなケースが何度も現れたりして検証
効率が上がらないという問題が生じ得る。第2の実施形
態はこの問題を解決するためのものであり、パターン生
成の進行状況に従って、各パラメータの発生確率を動的
に変化させるものである。具体的には、例えば、「DR
AM空間への書き込みが3パターン連続して生成される
と以降はDRAM空間へのアクセス頻度を1だけ下げ
て、代わりにSRAM空間へのアクセス頻度を1だけ上
げる」、「書き込みが20パターン生成される度に書き
込みの比率を下げていく」、「あるパラメータの発生確
率が初期値の半分以下になったら初期設定に戻す」など
の規則を設けて、パターンジェネレータが条件をチェッ
クしながら逐次パラメータテーブルを更新していく。例
として、図2の1行目(21)に対応するパラメータテ
ーブルの内容が(10,70,20)の状態で第1の規
則が満たされると、この内容は(11,69,20)の
ように変化する。以上の内容を図3のパターンジェネレ
ータのフローチャートに組み込むことは容易であるので
特に図示はしない。
When the occurrence probabilities of the parameters are determined as described above, the pattern generator generates a pattern based on a certain probability from the beginning to the end. When a simulation is performed using such a pattern, there may be a problem that there is a conflict case that is difficult to appear, or that a case that appears once is sufficient many times, and the verification efficiency is not improved. The second embodiment is to solve this problem, and dynamically changes the occurrence probability of each parameter according to the progress of the pattern generation. Specifically, for example, “DR
When three patterns of writing to the AM space are generated in succession, thereafter, the frequency of access to the DRAM space is reduced by one, and the frequency of access to the SRAM space is increased by one instead. Each time the pattern generator checks the conditions, the rules such as `` reduce the writing ratio every time '', `` return to the initial setting when the occurrence probability of a certain parameter is less than half of the initial value '' Will be updated. As an example, if the first rule is satisfied in the state where the content of the parameter table corresponding to the first line (21) in FIG. 2 is (10, 70, 20), the content becomes (11, 69, 20). To change. Since the above contents can be easily incorporated into the flow chart of the pattern generator of FIG. 3, they are not particularly shown.

【0028】実施の形態3.本発明の第3の実施形態に
ついて、図6に基づいて説明する。本実施形態も、ラン
ダムパターンを使用して効率よくテストカバレッジを向
上させることを目的とするものであり、図3のアドレス
の決定(ステップ3.3)、及びコマンドの決定(ステ
ップ3.4)などの一つのインプリメント方法に関する
ものである。なお、第2の実施形態では予めテストパタ
ーンを一括生成してファイルに格納しておき、シミュレ
ーション中に1パターンずつ取り出して実行することを
想定していたが、本実施形態はテストパターンの生成を
シミュレーションの実行と並行して行いつつ、ランダム
に生成するパラメータをいくつかのグループに分け、グ
ループ毎に変化させる周期を変えることで、微妙に異な
るようなパターンを効率よく発生させるものである。
Embodiment 3 A third embodiment of the present invention will be described with reference to FIG. This embodiment also aims at efficiently improving test coverage by using a random pattern, and determines the address (step 3.3) and the command (step 3.4) in FIG. And other implementation methods. In the second embodiment, it is assumed that test patterns are collectively generated and stored in a file in advance, and the patterns are extracted and executed one by one during the simulation. The parameters generated at random are divided into several groups while the simulation is performed in parallel with each other, and the cycle of changing the parameters is changed for each group, so that a slightly different pattern is efficiently generated.

【0029】以下、本実施形態について、図6に基づい
て説明する。図6は、本実施形態の動作を示すフローチ
ャートであり、図において、601はパラメータ数決定
機構、602はパラメータ抽出機構、603はパラメー
タ決定機構、604はシミュレーション機構である。
Hereinafter, the present embodiment will be described with reference to FIG. FIG. 6 is a flowchart showing the operation of this embodiment. In the figure, 601 is a parameter number determining mechanism, 602 is a parameter extracting mechanism, 603 is a parameter determining mechanism, and 604 is a simulation mechanism.

【0030】次に、動作について説明する。シミュレー
ションにおいて、ランダムに変更することができるパラ
メータの種類は、例えばアドレス、コマンド、バスアク
セスの開始時間、データの応答時間等が考えられる。検
証するモデルに左右されるため、ここではX種類とす
る。まず、パラメータ数決定機構601は、X種類のパ
ラメータから何種類のパラメータを変動させるかを1〜
Xの範囲で無作為に決定し、その値Aをパラメータ抽出
機構602に渡す。パラメータ抽出機構602は、X種
類のパラメータからA個のパラメータを無作為に抽出
し、パラメータ決定機構603に渡す。パラメータ決定
機構603は、選択されたA個のパラメータに対し、そ
れぞれのパラメータで決められた範囲内の値を無作為に
決定する。なお、パラメータ抽出機構602で抽出され
なかったパラメータについては、以前に決定された値を
保持する。以上により、全てのパラメータ値が設定さ
れ、シミュレーション実行機構604によって、シミュ
レーション上で1つのバスアクセス動作が実行される。
実行終了後、再びパラメータ決定機構603に戻り、ル
ープ607で設定された回数だけ上記動作を繰り返す。
このように、1テストパターン毎に全てのパラメータを
バラバラに変化させるのではなく、ランダムの中にも規
則性を設けることで、全くランダムに行ったのでは発生
しにくい周期的なテストパターンの出現を加速すること
ができる。
Next, the operation will be described. In the simulation, types of parameters that can be randomly changed include, for example, an address, a command, a bus access start time, and a data response time. Since it depends on the model to be verified, there are X types here. First, the number-of-parameters determining mechanism 601 determines how many types of parameters are varied from the X types of parameters by 1 to 1.
The value is randomly determined within the range of X, and the value A is passed to the parameter extracting mechanism 602. The parameter extraction mechanism 602 randomly extracts A parameters from the X types of parameters and passes them to the parameter determination mechanism 603. The parameter determining mechanism 603 randomly determines a value within a range determined by each of the selected A parameters. Note that the parameters not extracted by the parameter extraction mechanism 602 retain the values determined before. As described above, all the parameter values are set, and the simulation execution mechanism 604 executes one bus access operation on the simulation.
After the execution is completed, the process returns to the parameter determining mechanism 603 again, and the above operation is repeated the number of times set in the loop 607.
In this way, instead of changing all the parameters for each test pattern separately, by providing regularity in the random pattern, the appearance of a periodic test pattern that is unlikely to occur when the test is performed completely at random Can be accelerated.

【0031】実施の形態4.本発明の第4の実施形態に
ついて、図7、図8に基づいて説明する。本実施形態
は、テストパターンが生成された後の論理検証に関わる
もので、テストパターン自体は自動生成、あるいは人手
による作成のいずれでもよい。図7において、701,
702はバスモデルAが実行するトランザクション群を
格納したコマンドファイル、703はフラグ704の値
に従ってコマンドファイルを切り替えるセレクタ、70
4はコマンドファイル切り替えを指示するフラグであ
る。また、705はバスB上のトランザクションを監視
し、フラグをセット/リセットするモニタモジュールで
あり、図1と同一の符号は同一または相当の部分を表わ
す。なお、図7では2つのコマンドファイルを切り替え
る例を示しているが、3つ以上のコマンドファイルを切
り替える場合も同様である。
Embodiment 4 FIG. A fourth embodiment of the present invention will be described with reference to FIGS. The present embodiment relates to logic verification after a test pattern is generated, and the test pattern itself may be either automatically generated or manually generated. In FIG. 7, 701,
702, a command file storing a group of transactions executed by the bus model A; 703, a selector for switching the command file according to the value of the flag 704;
Reference numeral 4 denotes a flag for instructing command file switching. A monitor module 705 monitors a transaction on the bus B and sets / resets a flag. The same reference numerals in FIG. 1 denote the same or corresponding parts. Although FIG. 7 shows an example in which two command files are switched, the same applies to a case in which three or more command files are switched.

【0032】次に、動作について図8も用いて説明す
る。ここでは動作例として、通常処理中に割り込みが発
生した場合について説明する。コマンドファイルA1
(701)、A2(702)にそれぞれ図8(a)に示
す通常処理、割り込み処理を格納しておく。バスモデル
Aは、最初コマンドファイルA1(701)に従ってト
ランザクションを実施する。モニタモジュール705は
バスB上の割り込み信号(図示せず)を監視し、割り込
み信号が有意になるとフラグ704をセットする(図8
(b)の時刻T1)。セレクタ703は、フラグ704
がセットされるとバスモデルAに印加するファイルを、
それまでのコマンドファイルA1(701)からA2
(704)に切り替える。モニタモジュール705は、
バスBの割り込み信号を監視し、”無意”になるとフラ
グ704をリセットする(図8(b)の時刻T2)。セ
レクタ703は、フラグ704がリセットされるとバス
モデルAに印加するファイルをコマンドファイルA2
(702)から元のA1(701)に切り替える。尚、
本実施形態では、割り込み信号を例に説明したが、エラ
ー信号やバス上のトランザクションの数をトリガにして
コマンドファイルを切り替えてもよい。以上のようにし
て、バス上の動作に従って動的にコマンドファイルを変
更できるため効率よく検証を行うことができる。
Next, the operation will be described with reference to FIG. Here, a case where an interrupt occurs during normal processing will be described as an operation example. Command file A1
The normal processing and the interrupt processing shown in FIG. 8A are stored in (701) and A2 (702), respectively. The bus model A first executes a transaction according to the command file A1 (701). The monitor module 705 monitors an interrupt signal (not shown) on the bus B, and sets the flag 704 when the interrupt signal becomes significant (FIG. 8).
(Time T1 in (b)). The selector 703 sets the flag 704
Is set, the file applied to bus model A is
From the previous command file A1 (701) to A2
Switch to (704). The monitor module 705 is
The interrupt signal on the bus B is monitored, and when it becomes "insignificant", the flag 704 is reset (time T2 in FIG. 8B). When the flag 704 is reset, the selector 703 sends a file to be applied to the bus model A to the command file A2.
Switching from (702) to the original A1 (701). still,
In the present embodiment, an interrupt signal has been described as an example, but the command file may be switched by using an error signal or the number of transactions on the bus as a trigger. As described above, since the command file can be dynamically changed according to the operation on the bus, the verification can be performed efficiently.

【0033】実施の形態5.(モデル間通信による入力
パターンの指定) 本発明の第5の実施形態について、図9、図10に基づ
いて説明する。図9において、801はバスモデルAが
実行するトランザクション群を格納したコマンドファイ
ル、802はバスモデルAが実行するトランザクション
を格納するコマンドレジスタ、803はバスB上のトラ
ンザクションを監視し、コマンドファイル切り替えフラ
グ704と、コマンドレジスタ802をセット/リセッ
トするモニタモジュール、804は被モジュールで検証
する競合パターンを格納した競合ファイルである。尚、
図1,図7と同一の符号は同一または相当の部分を表わ
す。
Embodiment 5 FIG. (Designation of Input Pattern by Inter-Model Communication) A fifth embodiment of the present invention will be described with reference to FIGS. In FIG. 9, reference numeral 801 denotes a command file storing a group of transactions executed by the bus model A; 802, a command register storing a transaction executed by the bus model A; 803, a transaction on the bus B; Reference numeral 704 denotes a monitor module for setting / resetting the command register 802, and reference numeral 804 denotes a conflict file storing a conflict pattern to be verified by the module under test. still,
1 and 7 represent the same or corresponding parts.

【0034】次に、動作について説明する。ここでは動
作例として、図10に示される競合パターンを検証する
場合について説明する。モニタモジュール803は、バ
スB上のトランザクションを監視し、競合ファイル80
4と一致するトランザクション(本例ではメモリ空間へ
のライトトランザクション)を検出すると、コマンドレ
ジスタ802へ衝突させるトランザクション(本例では
レジスタ空間へのライトトランザクション)をセットす
ると同時に、フラグ(704)をセットする。合わせ
て、モニタモジュール803は検証済みの競合パターン
を競合ファイル804から削除し、バスBを監視する。
セレクタ703は、フラグ704がセットされるとバス
モデルAに印加するファイルをコマンドファイルA(8
01)からコマンドレジスタ802に切り替える。以上
のようにして、バス上の動作に従って動的に実行するト
ランザクションを変更できるため効率よく検証を行うこ
とができる。
Next, the operation will be described. Here, as an operation example, a case will be described in which the conflict pattern shown in FIG. 10 is verified. The monitor module 803 monitors the transaction on the bus B, and
If a transaction (write transaction to the memory space in this example) that matches 4 is detected, a transaction to collide with the command register 802 (write transaction to the register space in this example) is set, and at the same time, a flag (704) is set. . At the same time, the monitor module 803 deletes the verified conflict pattern from the conflict file 804 and monitors the bus B.
When the flag 704 is set, the selector 703 stores the file to be applied to the bus model A in the command file A (8
01) to the command register 802. As described above, since the transaction to be executed can be dynamically changed according to the operation on the bus, the verification can be performed efficiently.

【0035】実施の形態6.本発明の第6の実施形態に
ついて、図11に基づいて説明する。図11において、
901はバスB上のトランザクションを監視して、バス
モデルAにコマンドを印加するタイミングを変動させる
モニタモジュールである。なお、図1,図7と同一の符
号は同一または相当の部分を表わす。
Embodiment 6 FIG. A sixth embodiment of the present invention will be described with reference to FIG. In FIG.
A monitor module 901 monitors a transaction on the bus B and changes the timing at which a command is applied to the bus model A. 1 and 7 represent the same or corresponding parts.

【0036】次に動作について説明する。ここでは動作
例として、バスB上でメモリ空間へのライトトランザク
ションが実行される毎にバスモデルAへのコマンドファ
イルの印加タイミングを変動させる場合について説明す
る。モニタモジュール901は、コマンドファイルA
(801)から順次トランザクションを取り出し、即時
バスモデルAにトランザクションを起動させる。一方、
モニタモジュール901は、バスB上のトランザクショ
ンを監視し、メモリ空間へのライトトランザクションを
検出すると、バスモデルAに起動させるトランザクショ
ンの印加タイミングを変動(例えば、1〜数十クロック
遅延を追加)させる。以上のようにして、バス上の動作
に従って動的に実行するトランザクションのタイミング
を変更できるため効率よく検証を行うことができる。
Next, the operation will be described. Here, as an operation example, a case where the timing of applying a command file to the bus model A is changed every time a write transaction to the memory space is executed on the bus B will be described. The monitor module 901 has a command file A
Transactions are sequentially taken out from (801) and the transaction is immediately activated by the bus model A. on the other hand,
The monitor module 901 monitors a transaction on the bus B, and when detecting a write transaction to the memory space, changes the application timing of the transaction to be activated by the bus model A (for example, adds a delay of one to several tens of clocks). As described above, the timing of the transaction to be executed can be dynamically changed according to the operation on the bus, so that the verification can be performed efficiently.

【0037】実施の形態7.本発明の第7の実施形態に
ついて、図12乃至図16に基づいて説明する。従来、
シミュレーション結果は、目視確認、または予め作成し
た出力値の期待値パターンとの照合によって正当性をチ
ェックしていた。また、図12の上部枠内のようなシミ
ュレーション対象(13)においては、バスモデル(ま
たは専用のモニタモジュール)がそれぞれのバスを監視
し、プロトコルに反する動作を検出した場合はエラーメ
ッセージを出力するといった具合にシミュレーション結
果のチェックを自動で行っていた。しかしながら、この
方法は動作チェックという点で、効率化の面では極めて
有効であるが、バス間を渡る動作のチェックという点で
は不十分であった。即ち、バスAからバスBへの書き込
みトランザクションはバスAを監視しているモジュール
から見るとバスブリッジLSIに届いた時点で終了であ
り、それが正しくバスBに伝達されるかどうかまではチ
ェックしていない。同様に、バスBを監視しているモジ
ュールは、バスブリッジLSIがバスBに出力したトラ
ンザクションがバスAからのトランザクションを正しく
反映したものかどうかのチェックは行なっていない。あ
るアドレスに対する書き込みが正しく行われたかどうか
のチェックは、同じアドレスの内容を読み出すトランザ
クションを発行して、返ってきたデータと書き込んだデ
ータを比較すれば十分であるように思えるが、ランダム
に生成されるテストパターンでは書き込みアドレスと同
じアドレスの内容が読み出される保証は一般にはない。
また、このことを保証しようとすると、バス上に現れる
パターンが制約を受けることになり、さらに、LSI内
部で固定的にアドレスが化けるようなバグは検出されな
い。
Embodiment 7 A seventh embodiment of the present invention will be described with reference to FIGS. Conventionally,
The validity of the simulation result was checked by visual confirmation or by comparing the output value created in advance with an expected value pattern. In the simulation target (13) as shown in the upper frame of FIG. 12, a bus model (or a dedicated monitor module) monitors each bus, and outputs an error message when detecting an operation contrary to the protocol. In this way, the simulation results were automatically checked. However, this method is extremely effective in terms of efficiency in terms of operation check, but is insufficient in checking operation across buses. In other words, the write transaction from the bus A to the bus B is completed when it reaches the bus bridge LSI from the viewpoint of the module monitoring the bus A, and it is checked whether the transaction is correctly transmitted to the bus B. Not. Similarly, the module monitoring the bus B does not check whether the transaction output to the bus B by the bus bridge LSI correctly reflects the transaction from the bus A. To check whether a write to a certain address has been performed correctly, it seems sufficient to issue a transaction that reads the contents of the same address and compare the returned data with the written data. In general, there is no guarantee that the contents of the same address as the write address will be read in a test pattern.
In order to guarantee this, the pattern appearing on the bus is restricted, and furthermore, a bug such that the address is fixedly changed in the LSI is not detected.

【0038】本発明の第7の実施形態は上記の問題に対
処するものであり、バス毎のプロトコルチェックと併用
され、概要は以下の通りである。まず図12に示すよう
に、従来通りの環境で論理シミュレーション14を行
う。この時、各バスの時刻毎の信号値をログファイル
(12.1,12.2)に出力させておく。シミュレー
ション終了後、これらのログファイルを相互に参照しな
がらバス間を渡るトランザクション処理の正当性をチェ
ックする(12.3)。ログファイルをもとに正当性を
チェックするためのツールは別途用意しておく。
The seventh embodiment of the present invention addresses the above problem, and is used together with a protocol check for each bus. The outline is as follows. First, as shown in FIG. 12, a logic simulation 14 is performed in a conventional environment. At this time, the signal value of each bus at each time is output to a log file (12.1, 12.2). After completion of the simulation, the legitimacy of the transaction processing across the buses is checked by mutually referring to these log files (12.3). Prepare a tool for checking the validity based on the log file separately.

【0039】次に、バス間を渡るトランザクションの正
当性チェック(12.3)の動作について以下に説明す
る。簡単のために、被検証LSIに接続されるバスは2
種類と仮定する。図13はバスA及びバスBのログの例
を示したもので、バスAは複数ワードの転送をサポート
し、バスBは1ワードの転送のみをサポートするものと
する。WriteN,readNは、それぞれNワード
の書き込みと読み出しを表わし、行頭の数字はその信号
がバスに現れた時刻を示している。(13.1)〜(1
3.7)までがバスA上に現れた1つのトランザクショ
ンが実行される過程(番号順)を示している。バスAで
は2ワードの書き込みとして現れているが、バスB上に
はそれが2つの1ワードの書き込みに分解されて現れて
いる。また、(13.8)〜(13.11)は、バスB
上に現れた1ワード読み出しトランザクションが処理さ
れる過程を示したもので、これらの処理の過程を膨大な
シミュレーションパターン全てに対して人手で行うこと
は不可能であり、本実施形態で自動化する。図14は、
図13のバスログに対して正当性チェックを行った結果
の出力ファイル例である。正当性チェックツールは、各
バスに発行されたトランザクションをターゲットのバス
まで追っていきトレース結果をファイルに出力する。ト
レースの際、データの比較チェックなどを行っており、
検出したエラー内容を同ファイルにレポートしている。
図中、ターゲットのバスの信号を示す行は、先頭カラム
の位置を右にずらして示している。図15はトランザク
ションをトレースして、正当性をチェックするツールの
概略フローを示したものである。図16は、図15中の
(ステップ15.2),(ステップ15.3)における
処理内容についての詳細フローである。図16中の変数
trans−numは着目しているトランザクションが
当該バスに何番目に現れたものかを示し、また、変数M
axは当該バスに現れるトランザクションの総数であ
り、図15の(ステップ15.1)のフェーズで求めら
れる。
Next, the operation of the validity check (12.3) of a transaction across buses will be described below. For simplicity, the bus connected to the LSI to be verified is 2
Assume type. FIG. 13 shows an example of the logs of the buses A and B. It is assumed that the bus A supports the transfer of a plurality of words and the bus B supports the transfer of only one word. WriteN and readN represent writing and reading of N words, respectively, and the number at the beginning of the line indicates the time when the signal appears on the bus. (13.1)-(1
Steps up to 3.7) show the steps (in numerical order) in which one transaction appearing on the bus A is executed. Although appearing as a two-word write on the bus A, it appears on the bus B as being broken down into two one-word writes. (13.8) to (13.11) correspond to bus B
This shows the process in which the one-word read transaction appearing above is processed, and it is impossible to perform these processes manually for all enormous simulation patterns, and this process is automated in this embodiment. FIG.
14 is an example of an output file as a result of performing a validity check on the bus log of FIG. 13. The validity check tool traces the transaction issued to each bus to the target bus and outputs a trace result to a file. At the time of tracing, we perform data comparison checks, etc.
The contents of the detected error are reported to the same file.
In the figure, the row indicating the signal of the target bus shows the position of the first column shifted to the right. FIG. 15 shows a schematic flow of a tool for tracing a transaction and checking the validity. FIG. 16 is a detailed flow chart of the processing contents in (Step 15.2) and (Step 15.3) in FIG. The variable trans-num in FIG. 16 indicates the order in which the transaction of interest appears on the bus, and the variable M
ax is the total number of transactions appearing on the bus, and is obtained in the phase of (step 15.1) in FIG.

【0040】以下、図15、図16に基づいて、更に動
作について説明する。 (1)前処理(ステップ15.1) (a)ツールが起動されるとまず、図13のログファイ
ルをもとに各バスのトランザクションテーブルを作成す
る。このテーブルは、トランザクションの開始時刻、ト
ランザクションの種類、トランザクションのアドレスな
どを保持する構造体である。構造体の1要素が当該バス
上の1つのトランザクションに関する情報を保持する。
(b)全てのログの内容が、未だトレース済みではない
旨の印をつける。(c)ツールの出力ファイルをオープ
ンする。 (2)バスAからバスB宛てのトランザクションをトレ
ースする(ステップ15.2) (3)バスBからバスA宛てのトランザクションをトレ
ースする(ステップ15.3) このフェーズでは(ステップ15.1)で作成したトラ
ンザクションテーブルを参照しながら、図16のフロー
に従ってバス間を渡るトランザクションをトレースす
る。図16に基づいて、さらに詳しく説明する。バスA
からバスB宛てのトランザクションをトレースする場合
の動作は、以下の通りである。trans−numはバ
スA上に現れたトランザクションに、出現順に付けられ
た番号である。(ステップ16.1),(ステップ1
6.2),(ステップ16.7)の走査によって、バス
A上に最初に現れたトランザクションから最後のトラン
ザクションまで順に処理していく。(ステップ16.
3)では、バスAのトランザクションテーブルのtra
ns−num番目のトランザクションのアドレスを見
て、当該トランザクションが被検証LSI宛て(即ちバ
スB宛て)であるかどうかを判断する。被検証LSI宛
てでなければ、このトランザクションはバスBからバス
A宛てのトランザクションの一部であるので、この時点
ではトレースしない。被検証LSI宛てであれば、(ス
テップ16.4)にてバスBのログのうち、未トレース
のものの中からトランザクションアドレスや種類が一致
するものを検索して、その結果を(ステップ16.5)
でファイルに出力する。新たにトレースされたログにつ
いては、トレース済みフラグをOFFにして(ステップ
16.6)、後のトランザクションがたまたま同じアド
レスにアクセスするものであった場合に誤って同じログ
が重複してトレースされてしまうのを回避する。 (4) 後処理(ステップ15.4) 全てのバスに対してトランザクションのトレースを終え
ると、最後にトレースされなかったログをレポートして
処理を終える。以上のように、本実施形態によればバス
間を渡るトランザクション処理の正当性チェックを自動
的に行うことが可能となる。なお、各バスモデルの入力
パターンファイルも併せて参照して、指定通りの動作を
していることをチェックすることも可能である。
The operation will be further described below with reference to FIGS. (1) Preprocessing (Step 15.1) (a) When the tool is started, first, a transaction table for each bus is created based on the log file shown in FIG. This table is a structure that holds the transaction start time, transaction type, transaction address, and the like. One element of the structure holds information about one transaction on the bus.
(B) Mark that the contents of all logs have not been traced yet. (C) Open the output file of the tool. (2) Trace the transaction from bus A to bus B (step 15.2) (3) Trace the transaction from bus B to bus A (step 15.3) In this phase, (step 15.1) While referring to the created transaction table, the transaction crossing the buses is traced according to the flow of FIG. This will be described in more detail with reference to FIG. Bus A
The operation when tracing a transaction addressed to bus B is as follows. “trans-num” is a number assigned to the transaction appearing on the bus A in the order of appearance. (Step 16.1), (Step 1
By the scanning of 6.2) and (step 16.7), the processing is performed in order from the transaction which first appears on the bus A to the last transaction. (Step 16.
In 3), the transaction table of bus A
By looking at the address of the ns-num-th transaction, it is determined whether the transaction is addressed to the LSI to be verified (that is, addressed to the bus B). If the transaction is not addressed to the LSI to be verified, this transaction is a part of the transaction addressed to the bus A from the bus B, and therefore, is not traced at this time. If it is addressed to the LSI to be verified, in step (16.4), the logs of the bus B are searched for those having the same transaction address and type from among the untraced logs, and the result is obtained (step 16.5). )
To output to a file. For a newly traced log, the traced flag is turned off (step 16.6), and if a later transaction happens to access the same address, the same log is erroneously duplicated and traced. Avoid getting lost. (4) Post-processing (Step 15.4) When the tracing of the transaction is completed for all the buses, the log that has not been traced last is reported, and the processing is completed. As described above, according to the present embodiment, it is possible to automatically check the validity of transaction processing across buses. It is also possible to check that the operation is performed as specified by referring to the input pattern file of each bus model.

【0041】実施の形態8.本発明の第8の実施形態に
ついて、図17に基づいて説明する。これまでの実施形
態の説明は、論理シミュレーションのための入力パター
ン作成や、シミュレーション結果の自動チェックによる
検証作業の効率化に関するものであった。ところで、検
証作業をどこで打ち切るかを決定するためには、カバレ
ッジの評価が必須である。カバレッジを知るにはまず、
どのようなケースがシミュレーション過程で現れたかを
集計しなければならず、カバレッジ評価のための集計対
象としては一般に、(1)被検証モジュールに接続され
るバスに現れたトランザクションの種類やアドレスなど
のように、特定バスのみを監視していれば直ちに分かる
もの、(2)特定トランザクションが被検証モジュール
に入力された時の被検証モジュールの内部状態や他のバ
スの状態に係わるもの、などが考えられる。まず、
(1)については、それぞれのバスのログまたはテスト
パターンから直接集計可能であり、単純な個別の集計ツ
ールを用意すれば十分である。もちろん、バスの検証モ
デルなどがシミュレーション中に集計してもよい。
(2)については(1)ほど単純ではなく、特定バスの
信号群のみを監視していても必要なデータは集計できな
い。本実施形態は、自動集計手段に関するもので、被検
証モジュールに接続される各バスのログをもとに、
(1)に関する集計を行うとともに、各バスのログを相
互に参照しながら被検証モジュール内部の状態(競合動
作)を集計するようにしたものである。
Embodiment 8 FIG. An eighth embodiment of the present invention will be described with reference to FIG. The description of the embodiments up to this point has dealt with the creation of input patterns for logic simulation and the efficiency of verification work by automatically checking simulation results. By the way, in order to decide where to end the verification work, it is necessary to evaluate the coverage. To know coverage,
It is necessary to summarize what kind of case has appeared in the simulation process. Generally, the aggregation target for the coverage evaluation includes (1) the type and address of a transaction appearing on the bus connected to the module to be verified. As described above, what can be immediately understood if only the specific bus is monitored, and (2) those relating to the internal state of the verified module and the state of other buses when the specific transaction is input to the verified module are considered. Can be First,
Regarding (1), the total can be directly calculated from the log or test pattern of each bus, and it is sufficient to prepare a simple individual totaling tool. Of course, a bus verification model or the like may be totaled during the simulation.
Regarding (2), it is not as simple as (1), and necessary data cannot be totaled even if only a signal group of a specific bus is monitored. The present embodiment relates to automatic counting means, and based on logs of each bus connected to the module to be verified,
In addition to the counting of (1), the status (conflicting operation) inside the module to be verified is counted while mutually referring to the logs of the buses.

【0042】以下に、集計対象として「あるバスから被
検証モジュールに入力された特定のトランザクション
と、その時に被検証モジュール内部に留まっている処理
中または処理待ちの全てのトランザクション群の組」を
考える場合について、説明する。なお、(1)に関する
集計の説明は省略する。上記の集計を行うためには、あ
る時刻に被検証モジュール内部にあるトランザクション
を知ることが必須である。これは、各バスに現れる全て
のトランザクションの開始時刻と終了時刻を把握しなけ
ればならないことを意味し、従って、バス間を渡るトラ
ンザクションのトレースを行う必要がある。バス間を渡
るトランザクションのトレースについては、第7の実施
形態(図15、図16)でその実現方法を述べたので、
本実施形態ではそれを利用する。また、図15のトラン
ザクションテーブルがトランザクションの開始時刻、ト
ランザクションの種類、アドレスなどを保持することは
先に述べたので、本実施形態では、さらにこのテーブル
にトランザクションの終了時刻を保持するエントリを追
加し、トランザクションのトレースフェーズでトレース
されたトランザクションの終了時刻をこのエントリに書
き込むことにする(デフォルトは値初期値=∞とす
る)。図17は、このようにして、全てのトランザクシ
ョンの終了時刻を含むトランザクションテーブルが完成
した後の動作フローである。先の実施形態と同様に、簡
単のために2つのバス(バスAとバスB)のみが接続さ
れるものと仮定する。まず、1つのバスを選択してその
トランザクションテーブルからトランザクションを1つ
ずつ取り出す。取り出したトランザクションが被検証モ
ジュール宛てであれば、(ステップ17.1)そのトラ
ンザクションについての情報をレポートし、そのトラン
ザクションの開始時刻を覚えておく(この値をstar
t−timeとする)(ステップ17.1)。次に、全
てのトランザクションテーブルを検索して、start
−time以前に開始され、start−time以降
に終了した被検証モジュール宛ての全てのトランザクシ
ョンを探してレポートする。(ステップ17.2)この
操作を全てのバスのトランザクションについて行うと、
任意のトランザクションが被検証モジュールに与えられ
た時に既に受け付けられており、かつ未終了であるトラ
ンザクションの一覧が得られる。このトランザクション
一覧をもとに、競合状態の集計が容易に行える。
In the following, a group of a specific transaction input from a certain bus to a verified module and all transactions in process or waiting in the verified module at that time is considered as an object to be counted. The case will be described. Note that the description of (1) aggregation is omitted. In order to perform the above tally, it is essential to know the transaction inside the module to be verified at a certain time. This means that the start time and end time of all transactions appearing on each bus must be known, and therefore, it is necessary to trace transactions across buses. Regarding the tracing of transactions across buses, the method of realizing the tracing has been described in the seventh embodiment (FIGS. 15 and 16).
This is used in the present embodiment. Since the transaction table in FIG. 15 stores the transaction start time, transaction type, address, and the like as described above, in the present embodiment, an entry for storing the transaction end time is added to this table. The end time of the transaction traced in the transaction tracing phase is written in this entry (the default is the initial value = ∞). FIG. 17 shows an operation flow after the transaction table including the end times of all the transactions is completed in this way. As in the previous embodiment, it is assumed that only two buses (bus A and bus B) are connected for simplicity. First, one bus is selected and transactions are taken out one by one from the transaction table. If the fetched transaction is addressed to the module to be verified (step 17.1), information about the transaction is reported, and the start time of the transaction is remembered (this value is defined as "star").
t-time) (step 17.1). Next, search all transaction tables and start
Find and report all transactions destined for the verified module that started before time and ended after start-time. (Step 17.2) When this operation is performed for all bus transactions,
When a given transaction is given to the module to be verified, a list of transactions that have already been accepted and have not been completed is obtained. Based on this transaction list, the total of the race conditions can be easily performed.

【0043】実施の形態9.次に、本発明の第9の実施
形態について、図18に基づいて説明する。本実施形態
も先の実施形態と同様に、テストカバレッジのための集
計方法に関わるものである。図18(a)は本実施形態
のモデル図であり、図18(b)は動作を示すタイミン
グ図である。モデル図18(a)において、1801は
被検証モジュールであり、ここではバスブリッジLSI
を指す。1802は被検証モジュール1801へデータ
転送を要求するバスA、1803は被検証モジュール1
801が他モジュールへデータを転送するバスBであ
る。また、1804は本実施形態のための動作状態モニ
タ装置である。タイミング図18(b)において、18
11はバスA1802の動作状態、1812は被検証モ
ジュール1801の内部状態、1813はバスB180
3の動作状態を示す。
Embodiment 9 Next, a ninth embodiment of the present invention will be described with reference to FIG. This embodiment also relates to a counting method for test coverage, as in the previous embodiment. FIG. 18A is a model diagram of the present embodiment, and FIG. 18B is a timing chart showing the operation. In FIG. 18A, reference numeral 1801 denotes a module to be verified, and here, a bus bridge LSI
Point to. Reference numeral 1802 denotes a bus A for requesting data transfer to the verified module 1801, and 1803 denotes a bus for requesting the
A bus B 801 transfers data to another module. Reference numeral 1804 denotes an operation state monitoring device for the present embodiment. In FIG. 18B, 18
11 is an operation state of the bus A 1802, 1812 is an internal state of the module to be verified 1801, 1813 is a bus B 180
3 shows the operation state of the third embodiment.

【0044】次に、動作について説明する。この例で
は、バスA(1802)から被検証モジュール1801
を通じてバスB(1803)へデータを転送するものと
する。バスA(1802)が転送を要求したとき、被検
証モジュール1801やバスB(1803)が常に同じ
状態であるとは限らない。被検証モジュール1801が
前のバスB(1803)への転送を実行中であったり、
バスB(1803)が別のモジュール間で転送を実施中
であったり、バスB(1803)から被検証モジュール
1801へデータ転送要求が来ていたりする。動作状態
モニタ装置1804は、例えば、(1)アイドル状態、
(2)バスA(1802)からデータを受信中、(3)
バスB(1803)へバス要求中、(4)バスB(18
03)へデータ転送中、のようにバスA(1802)と
バスB(1803)をモニタし、また、上記のように変
化する被検証モジュール1801の内部状態も常にチェ
ックしている。。ここで、バスA(1802)が被検証
モジュール(1801)へデータ転送を開始した瞬間、
この動作に影響を及ぼす状態、即ち被検証モジュール1
801の内部状態1812を記憶する。次に、被検証モ
ジュール1801がバスA(1802)からのデータを
受信し、バスB(1803)へバス要求を発行した瞬
間、影響を及ぼす状態、即ちバスB(1803)の状態
1813を記憶する。さらに被検証モジュール1801
がバスB(1803)へのデータ転送を終了する瞬間、
バスB(1803)の状態から転送が正常終了したか、
リトライ要求が発生したか等を記憶する。以上によっ
て、一つのデータ転送が完了したとき、上記記憶内容を
ログファイルとして出力する。このように、複数の情報
を選択的に、それぞれ状態変化を生じさせる時点で採取
して、そのまとまりを1つのログとすることで、詳細な
動作状況についてテストカバレッジの集計が可能とな
る。
Next, the operation will be described. In this example, the module to be verified 1801 is connected from the bus A (1802).
Data to the bus B (1803) through When the bus A (1802) requests the transfer, the verified module 1801 and the bus B (1803) are not always in the same state. The module to be verified 1801 is executing transfer to the previous bus B (1803),
The bus B (1803) is performing transfer between other modules, or a data transfer request is coming from the bus B (1803) to the module to be verified 1801. The operation state monitoring device 1804 includes, for example, (1) an idle state,
(2) Receiving data from bus A (1802), (3)
Bus request to bus B (1803), (4) bus B (18
During the data transfer to the module 03, the bus A (1802) and the bus B (1803) are monitored as described above, and the internal state of the verified module 1801 that changes as described above is constantly checked. . Here, the moment when the bus A (1802) starts data transfer to the module to be verified (1801),
The condition affecting this operation, that is, the module 1 to be verified
The internal state 1812 of 801 is stored. Next, at the moment when the module to be verified 1801 receives data from the bus A (1802) and issues a bus request to the bus B (1803), the state to be affected, that is, the state 1813 of the bus B (1803) is stored. . Further, the module to be verified 1801
Ends the data transfer to bus B (1803),
Whether the transfer has been completed normally from the state of the bus B (1803),
It stores whether or not a retry request has occurred. As described above, when one data transfer is completed, the stored contents are output as a log file. As described above, a plurality of pieces of information are selectively collected at the time when a state change is caused, and a set of the pieces of information is used as one log, so that test coverage can be totaled for a detailed operation state.

【0045】実施の形態10.次に、本発明の第10の
実施形態について、図19、図20に基づいて説明す
る。本実施形態はハザードを考慮したシミュレータの機
能であり、図1の(14)に関わる。図19は2入力の
論理積(AND)、図20は論理和(OR)の動作を示
したものである。3入力以上の場合は、2入力に着目し
てその他の入力を論理値”1”または”0”に固定する
ことにより、以下と同様に扱うことができる。(1)2
入力ANDの場合図19に基づいて、2入力ANDの場
合の動作について説明する。2入力のどちらか一方の信
号が論理値”1”から”0”に遷移したことを検知する
と(ステップ1901)、時刻t1の間に他方の信号が
論理値0から1へ遷移したか否かを判定する(ステップ
1902)。時刻t1の間に他方の信号が論理値”0”
から”1”へ遷移しなければ、状態をクリアする。時刻
t1の間に他方の信号が論理値”0”から”1”へ遷移
した場合は、2入力ANDの出力(信号Y)を時刻t2
の期間だけ強制的に反転させる(ステップ1903,1
904)。(2)2入力ORの場合図20に基づいて、
2入力ORの場合の動作について説明する。2入力のど
ちらか一方の信号が論理値”0”から”1”に遷移した
ことを検知すると(ステップ2005)、時刻t1の間
に他方の信号が論理値”1”から”0”へ遷移したか否
かを判定する(ステップ2006)。時刻t1の間に他
方の信号が論理値”1”から”0”へ遷移しなければ、
状態をクリアする。時刻t1の間に他方の信号が論理値
1から0へ遷移した場合は、2入力ORの出力(信号
Y)を時刻t2だけ強制的に反転する(ステップ200
7,2008)。上記実施例では、時刻t1,t2は固
定値として扱っているが、値を入れるレジスタを設け、
ハザードチェック時にプログラマブルにしてもよい。以
上のようにして、設計者側で機能を付加することによ
り、専用のライブラリを使用することなくハザードを検
出することができる。
Embodiment 10 FIG. Next, a tenth embodiment of the present invention will be described with reference to FIGS. The present embodiment is a simulator function that considers hazards, and relates to (14) in FIG. FIG. 19 shows the operation of the logical product (AND) of two inputs, and FIG. 20 shows the operation of the logical sum (OR). When there are three or more inputs, the other inputs can be handled in the same manner as described below by focusing on the two inputs and fixing the other inputs to logical values “1” or “0”. (1) 2
In the case of an input AND The operation in the case of a two-input AND will be described with reference to FIG. When it is detected that one of the two inputs has transitioned from the logical value "1" to "0" (step 1901), it is determined whether or not the other signal has transitioned from the logical value 0 to 1 during the time t1. Is determined (step 1902). During the time t1, the other signal has the logical value “0”.
If the state does not change from "1" to "1", the state is cleared. When the other signal transits from the logical value “0” to “1” during the time t1, the output of the two-input AND (signal Y) is changed to the time t2.
Is forcibly inverted only during the period (step 1903, 1
904). (2) In the case of 2-input OR based on FIG.
The operation in the case of a two-input OR will be described. When it is detected that one of the two input signals has transitioned from the logical value “0” to “1” (step 2005), the other signal transitions from the logical value “1” to “0” during time t1. It is determined whether or not the process has been performed (step 2006). If the other signal does not transition from the logical value “1” to “0” during the time t1,
Clear the state. If the other signal transitions from logical 1 to 0 during time t1, the output of two-input OR (signal Y) is forcibly inverted only at time t2 (step 200).
7, 2008). In the above embodiment, the times t1 and t2 are treated as fixed values.
You may make it programmable at the time of a hazard check. As described above, by adding a function on the designer side, a hazard can be detected without using a dedicated library.

【0046】実施の形態11.本発明の第11の実施形
態について、図21に基づいて説明する。本実施形態
は、被検証LSIと検証モデルからなるシミュレーショ
ンモデルの標準構成方法を示すものである。図21にお
いて、2101はシミュレーションモデル本体、210
2は外部とのインタフェースとなる入出力部、2103
は入出力部2102からの信号を処理する受信・記憶
部、2104は入出力部2102へ処理を要求する送信
動作部である。また、2105は受信・記憶部2103
の処理内容を決定するための応答条件判定部、2106
は送信動作部2104の処理内容を決定するための起動
条件判定部、2107は応答条件判定部2105と起動
条件判定部2106に外部から命令を与える命令コマン
ド部である。
Embodiment 11 FIG. An eleventh embodiment of the present invention will be described with reference to FIG. This embodiment shows a standard configuration method of a simulation model including an LSI to be verified and a verification model. In FIG. 21, reference numeral 2101 denotes a simulation model body;
2 is an input / output unit serving as an interface with the outside;
Is a reception / storage unit that processes a signal from the input / output unit 2102, and 2104 is a transmission operation unit that requests the input / output unit 2102 to perform processing. Reference numeral 2105 denotes a reception / storage unit 2103
Condition determination unit for determining the processing content of
Reference numeral 2107 denotes an activation condition determination unit for deciding the processing content of the transmission operation unit 2104, and 2107 denotes an instruction command unit for giving an external instruction to the response condition determination unit 2105 and the activation condition determination unit 2106.

【0047】次に動作について説明する。シミュレーシ
ョンモデル2101の3要素、即ち入出力部2102と
受信・記憶部2103と送信動作部2104はそれぞれ
バスによって接続されている。ここで、入出力部210
2と受信・記憶部2103、入出力部2102と送信動
作部2104は、シンプルかつ必要最低な通信プロトコ
ルで接続される。受信・記憶部2103では入出力部2
102からの情報を記憶装置に記憶し、記憶条件と情報
のデータ変換を応答条件判定部2105を介して外部の
命令コマンド部2107によって制御できるようにして
いる。また、送信動作部2104は受信・記憶部210
3からの情報を入出力部2102へ転送する機能を有
し、転送要求条件とデータ変換を起動条件判定部210
6を介して外部の命令コマンド部2107によって制御
できるようにしている。新しいシミュレーションモデル
を作成する場合、モデルの入出力仕様を、上記で定めた
通信プロトコルに変換する機構を入出力部2102内に
作成し、受信と送信に必要な応答条件を応答条件判定部
2105、起動条件判定部2106に命令コードとして
与える。以上により、シミュレーションモデルを新たに
作成する場合に比べて、作業の効率化を図ることができ
る。
Next, the operation will be described. The three elements of the simulation model 2101, that is, the input / output unit 2102, the reception / storage unit 2103, and the transmission operation unit 2104 are connected by a bus. Here, the input / output unit 210
2 and the reception / storage unit 2103, and the input / output unit 2102 and the transmission operation unit 2104 are connected by a simple and minimum necessary communication protocol. In the reception / storage unit 2103, the input / output unit 2
The information from the storage unit 102 is stored in a storage device, and the storage condition and the data conversion of the information can be controlled by the external command / command unit 2107 via the response condition determination unit 2105. The transmission operation unit 2104 includes the reception / storage unit 210
3 has a function of transferring the information from the input / output unit 3 to the input / output unit 2102, and performs the transfer request condition and the data conversion on the activation condition determination unit 210.
6, and can be controlled by an external command / command unit 2107. When a new simulation model is created, a mechanism for converting the input / output specifications of the model into the communication protocol defined above is created in the input / output unit 2102, and the response conditions necessary for reception and transmission are determined by the response condition determination unit 2105. It is given as an instruction code to the activation condition determination unit 2106. As described above, work efficiency can be improved as compared with the case where a simulation model is newly created.

【0048】[0048]

【発明の効果】本発明は、以上説明したようにして構成
されているので、下記のような効果を奏する。
Since the present invention is constructed as described above, it has the following effects.

【0049】アドレス空間内の事象発生確率を規定した
確率設定ファイルに基づいてテストパターンを生成する
ようにしたので、漏れがなく、またテストカバレッジを
一定レベルに維持した品質の高いテストパターンを生成
することができる。
Since the test pattern is generated based on the probability setting file that defines the event occurrence probability in the address space, a high-quality test pattern is generated without any omission and maintaining test coverage at a constant level. be able to.

【0050】テストパターン生成の進行状況に従って、
確率設定ファイル内のパターン発生頻度を動的に変更す
るようにしたので、検証の進行状況を反映したテストパ
ターンを効率良く生成することができるという効果があ
る。
According to the progress of the test pattern generation,
Since the pattern occurrence frequency in the probability setting file is dynamically changed, there is an effect that a test pattern reflecting the progress of the verification can be efficiently generated.

【0051】テストパターン生成に必要なパラメータを
複数のグループに分け、各グループごとに独立してパラ
メータを変化させるようにしたので、木目の細かなテス
トパターンを効率よく発生させることができるという効
果がある。
Since the parameters necessary for generating the test pattern are divided into a plurality of groups and the parameters are changed independently for each group, an effect that a test pattern with a fine grain can be efficiently generated. is there.

【0052】予め用意された複数のテストパターンコマ
ンドを、シミュレーション動作の監視結果に基づいて選
択するようにしたので、動作結果を反映した効率のよい
検証を行うことができる。
Since a plurality of test pattern commands prepared in advance are selected based on the result of monitoring the simulation operation, efficient verification reflecting the operation result can be performed.

【0053】シミュレーション動作の監視結果に基づ
き、強制的に競合状態を発生させて検証を行うようにし
たので、間欠的動作を反映した効率のよい検証を行うこ
とができる。
Since the verification is performed by forcibly generating a race condition based on the monitoring result of the simulation operation, efficient verification reflecting the intermittent operation can be performed.

【0054】特定のトランザクションを検出した場合
に、被検証LSIに与えるテストパターンの印加タイミ
ングを可変制御するようにしたので、テストパターンを
作り直すことなく、タイミングを条件に入れた検証を行
うことが可能となる。
When a specific transaction is detected, the application timing of the test pattern to be applied to the LSI to be verified is variably controlled, so that the verification can be performed on the basis of the timing without recreating the test pattern. Becomes

【0055】シミュレーション実行時に被検証モジュー
ルに接続される複数のバス毎にバスの状態をログファイ
ルに出力し、バス間トランザクション解析ツールでログ
内容に基づいてバス間を渡る処理の正当性をチェックす
るようにしたので、バスを跨って構成される広範なシス
テムに対しても正確なシミュレーションを実現できると
いう効果がある。
At the time of executing the simulation, the bus status is output to a log file for each of a plurality of buses connected to the module to be verified, and the validity of the process for crossing buses is checked based on the log contents by the inter-bus transaction analysis tool. As a result, there is an effect that accurate simulation can be realized even for a wide range of systems configured across the buses.

【0056】シミュレーション実行時に被検証モジュー
ルに接続されているバスの状態をログファイルに出力
し、カバレッジ解析ツールがログ内容を参照しながら競
合状態を集計するようにしたので、カバレッジ評価に基
づいた検証作業が行えるという効果がある。
The state of the bus connected to the module to be verified is output to a log file during the execution of the simulation, and the coverage analysis tool counts the race conditions while referring to the log contents, so that the verification based on the coverage evaluation is performed. There is an effect that work can be performed.

【0057】動作状態モニタを備えることにより被検証
モジュールの内部状態、およびバスの入出力状態をモニ
タしログファイルへ格納するようにしたので、詳細な動
作状況についてきめ細かいカバレッジ評価を実施できる
という効果がある。
Since the internal state of the module to be verified and the input / output state of the bus are monitored and stored in the log file by providing the operation state monitor, a detailed coverage evaluation can be performed for a detailed operation state. is there.

【0058】遅延時間を考慮したシミュレーション実行
時に組合わせゲートの入力信号をモニタし、ハザード発
生条件が成立する際に当該ゲートの出力信号に一定時間
狭パルス信号を発生させるようにしたので、特別なライ
ブラリを使用することなくハザード発生の有無を確認す
ることができる。
The input signal of the combination gate is monitored during the simulation in consideration of the delay time, and when the hazard generation condition is satisfied, a narrow pulse signal is generated in the output signal of the gate for a certain period of time. The presence or absence of a hazard can be confirmed without using a library.

【0059】被検証モジュールに接続される検証モデル
の内部構造を統一するようにしたのでシミュレーション
モデルの作成が簡単になるという効果がある。
Since the internal structure of the verification model connected to the module to be verified is unified, there is an effect that the creation of the simulation model is simplified.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明における論理検証の実行環境を示す
図。
FIG. 1 is a diagram showing an execution environment for logic verification according to the present invention.

【図2】 本発明の第1の実施形態におけるパターンジ
ェネレータに与える確率設定ファイル内容を示す図。
FIG. 2 is a view showing contents of a probability setting file given to a pattern generator according to the first embodiment of the present invention.

【図3】 本発明の第1の実施形態におけるパターンジ
ェネレータによるテストパターンの生成フローを示す
図。
FIG. 3 is a view showing a flow of generating a test pattern by a pattern generator according to the first embodiment of the present invention.

【図4】 本発明の第1の実施形態におけるパターンジ
ェネレータが生成したテストパターンを示す図。
FIG. 4 is a view showing a test pattern generated by a pattern generator according to the first embodiment of the present invention.

【図5】 本発明の第2の実施形態において与えられた
確率に基づいてパターンを発生させる様子を示す説明
図。
FIG. 5 is an explanatory diagram showing how a pattern is generated based on a probability given in a second embodiment of the present invention.

【図6】 本発明の第3の実施形態においてパラメータ
をグループ化してテストパターンを生成する様子を示す
フロー図。
FIG. 6 is a flowchart showing how a test pattern is generated by grouping parameters in the third embodiment of the present invention.

【図7】 本発明の第4の実施形態における検証モデル
間通信によるテストパターン選択を示す図。
FIG. 7 is a diagram showing test pattern selection by communication between verification models according to a fourth embodiment of the present invention.

【図8】 本発明の第4の実施形態における検証モデル
に与えるコマンドファイル、及びテストパターンを選択
するタイミングを示す図。
FIG. 8 is a diagram showing a command file given to a verification model and a timing of selecting a test pattern according to a fourth embodiment of the present invention.

【図9】 本発明の第5の実施形態における検証モデル
間通信による特定パターン印加の指定を示す図。
FIG. 9 is a diagram showing designation of application of a specific pattern by communication between verification models according to the fifth embodiment of the present invention.

【図10】 本発明の第5の実施形態における競合リス
トの例を示す図。
FIG. 10 is a diagram showing an example of a conflict list according to the fifth embodiment of the present invention.

【図11】 本発明の第6の実施形態におけるモニタモ
ジュールによるテストパターンの印加タイミング調整を
示す図。
FIG. 11 is a diagram illustrating adjustment of test pattern application timing by a monitor module according to a sixth embodiment of the present invention.

【図12】 本発明の第7の実施形態におけるシミュレ
ーション結果の自動チェックの流れを示す図。
FIG. 12 is a diagram showing a flow of an automatic check of a simulation result in a seventh embodiment of the present invention.

【図13】 本発明の第7の実施形態におけるシミュレ
ーション結果を自動チェックするためのシミュレーショ
ンログの例を示す図。
FIG. 13 is a diagram showing an example of a simulation log for automatically checking a simulation result according to the seventh embodiment of the present invention.

【図14】 本発明の第7の実施形態におけるシミュレ
ーション結果の自動チェック結果を示す図。
FIG. 14 is a view showing an automatic check result of a simulation result in the seventh embodiment of the present invention.

【図15】 本発明の第7の実施形態における正当性チ
ェックツールの動作の流れを示す図。
FIG. 15 is a diagram showing a flow of operation of a validity check tool according to a seventh embodiment of the present invention.

【図16】 本発明の第7の実施形態における正当性チ
ェックツールのトランザクショントレースフローを示す
図。
FIG. 16 is a view showing a transaction trace flow of a validity check tool according to the seventh embodiment of the present invention.

【図17】 本発明の第8の実施形態におけるシミュレ
ーションログから競合状態を集計するフローを示す図。
FIG. 17 is a diagram illustrating a flow of counting race conditions from a simulation log according to the eighth embodiment of the present invention.

【図18】 本発明の第9の実施形態におけるシミュレ
ーションの状況に応じたログ採取方法を説明する図。
FIG. 18 is a view for explaining a log collecting method according to a simulation situation in the ninth embodiment of the present invention.

【図19】 本発明の第10の実施形態におけるANDゲ
ートに対するハザードチェッカによるパルス生成フロー
を示す図。
FIG. 19 is a diagram showing a pulse generation flow of a hazard checker for an AND gate according to the tenth embodiment of the present invention.

【図20】 本発明の第10の実施形態におけるORゲー
トに対するハザードチェッカによるパルス生成フローを
示す図。
FIG. 20 is a diagram showing a pulse generation flow of a hazard checker for an OR gate according to the tenth embodiment of the present invention.

【図21】 本発明の第11の実施形態における共通化
した検証モデル構造を示す図。
FIG. 21 is a diagram showing a shared verification model structure according to an eleventh embodiment of the present invention.

【図22】 従来の論理検証方法に基づくシミュレーシ
ョン環境を示す図。
FIG. 22 is a diagram showing a simulation environment based on a conventional logic verification method.

【図23】 従来技術を用いた論理シミュレーションを
説明する図。
FIG. 23 is a diagram illustrating a logic simulation using a conventional technique.

【符号の説明】[Explanation of symbols]

11 確率設定ファイル、12 パターンジェネレー
タ、701、702 コマンドファイル、704 フラ
グ、705、803、901 モニタモジュール、80
4 競合リスト、1802、1803 バス、1804
動作状態モニタ、2102 入出力部、2103 受
信記憶部、2104 送信動作部。
11 probability setting file, 12 pattern generator, 701, 702 command file, 704 flag, 705, 803, 901 monitor module, 80
4 Competition list, 1802, 1803 bus, 1804
Operation state monitor, 2102 input / output unit, 2103 reception storage unit, 2104 transmission operation unit.

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 検証モデルを介して接続されたLSIの
内部回路を外部からの制御信号によって検証するLSI
の論理検証システムにおいて、 アドレス空間を構成するアクセス対象の事象発生確率を
規定したアクセス頻度情報と、該アクセス対象に対する
トランザクションの種類と出現頻度を規定したトランザ
クション発生頻度情報を記憶した確率設定ファイルと、 上記確率設定ファイルの情報に基づいて入力信号パター
ンをランダムに自動生成するテストパターン生成手段を
備えることにより、 上記テストパターン生成手段の出力結果を検証モデルに
供給してシミュレーションを行うことで、テストパター
ン作成の効率化を図るようにしたことを特徴とするLS
Iの自動論理検証方式。
An LSI for verifying an internal circuit of an LSI connected via a verification model by a control signal from the outside
In the logic verification system, the access frequency information defining the event occurrence probability of the access target constituting the address space, the probability setting file storing the transaction occurrence frequency information defining the type and appearance frequency of the transaction for the access target, By providing a test pattern generating means for automatically randomly generating an input signal pattern based on the information of the probability setting file, by supplying an output result of the test pattern generating means to a verification model and performing a simulation, LS characterized by improving the efficiency of creation
Automatic logic verification method for I.
【請求項2】 上記テストパターン生成手段は、アドレ
ス空間を構成するアクセス対象の事象発生確率を既発生
状況に基づく所定の規則に従って動的に変化させるよう
にしたことを特徴とする請求項1記載のLSIの自動論
理検証方式。
2. The test pattern generating means according to claim 1, wherein said test pattern generating means dynamically changes an event occurrence probability of an access target constituting an address space in accordance with a predetermined rule based on an occurrence situation. LSI automatic logic verification method.
【請求項3】 上記テストパターン生成手段は、テスト
パターン生成に要するパラメータをいくつかのグループ
に分割し、該グループに属するパラメータを一定の時間
間隔で独立に変化させることによってテストパターンを
生成するようにしたことを特徴とする請求項1記載のL
SIの自動論理検証方式。
3. The test pattern generating means divides parameters required for test pattern generation into several groups, and generates test patterns by independently changing parameters belonging to the groups at predetermined time intervals. The L according to claim 1, wherein
Automatic logic verification method for SI.
【請求項4】 検証モデルを介して接続されたLSIの
内部回路を外部からの制御信号によって検証するLSI
の論理検証システムにおいて、検証モデル毎に被検証L
SIに与えるテストパターンを格納した複数組のコマン
ドファイルと、 被検証LSIと検証モデルが接続されたバス上のトラン
ザクションを監視するモニタ手段と、 モニタ手段による監視結果に基づいて上記複数組のコマ
ンドファイルを選択するコマンドファイル切り替え手
段、 を備えることにより、検証状況に応じてテストパターン
を選択しながらシミュレーションを行うようにしたこと
を特徴とするLSIの自動論理検証方式。
4. An LSI for verifying an internal circuit of an LSI connected via a verification model by an external control signal.
In the logic verification system of FIG.
Plural sets of command files storing test patterns to be given to the SI, monitoring means for monitoring transactions on a bus to which the LSI to be verified and the verification model are connected, and the plural sets of command files based on monitoring results by the monitoring means An automatic logic verification method for an LSI, comprising: a command file switching means for selecting a test pattern; thereby performing a simulation while selecting a test pattern according to a verification situation.
【請求項5】 検証モデルを介して接続されたLSIの
内部回路を外部からの制御信号によって検証するLSI
の論理検証システムにおいて、 被検証LSIに与えるテストパターンを格納したコマン
ドファイルと、 被検証LSIと検証モデルが接続されたバス上のトラン
ザクションを監視するモニタ手段と、 被検証LSIに対して動作の競合状態を発生させるパタ
ーンを格納した競合リストファイルと、 モニタ手段による監視結果に基づき競合リストファイル
中の競合状態発生コマンドがセットされるコマンドレジ
スタと、 上記コマンドファイルとコマンドレジスタの何れかを選
択するコマンドファイル切り替え手段と、を備えること
により、検証状況に応じた競合状態を発生させながらシ
ミュレーションを行うようにしたことを特徴とするLS
Iの自動論理検証方式。
5. An LSI for verifying an internal circuit of an LSI connected via a verification model by an external control signal.
A command file storing a test pattern to be given to the LSI to be verified, monitoring means for monitoring a transaction on a bus connecting the LSI to be verified and the verification model, and a conflict of operations with the LSI to be verified. A conflict list file storing a pattern for generating a status, a command register in which a conflict status generation command in the conflict list file is set based on the result of monitoring by the monitor means, and a command for selecting one of the command file and the command register LS by performing a simulation while generating a race condition according to a verification situation by providing a file switching means.
Automatic logic verification method for I.
【請求項6】 検証モデルを介して接続されたLSIの
内部回路を外部からの制御信号によって検証するLSI
の論理検証システムにおいて、 被検証LSIに与えるテストパターンを格納したコマン
ドファイルと、 被検証LSIと検証モデルが接続されたバス上のトラン
ザクションを監視するモニタ手段とを備え、 上記モニタ手段がメモリ空間へのトランザクションを検
出した場合に、被検証LSIに与えるテストパターンの
印加タイミングを可変制御するようにしたことを特徴と
するLSIの自動論理検証方式。
6. An LSI for verifying an internal circuit of an LSI connected via a verification model by an external control signal.
A logic verification system comprising: a command file storing a test pattern to be supplied to a verification target LSI; and a monitor for monitoring a transaction on a bus connected to the verification target LSI and the verification model. Wherein the application timing of a test pattern applied to a verification target LSI is variably controlled when the above transaction is detected.
【請求項7】 検証モデルを介して接続されたLSIの
内部回路を外部からの制御信号によって検証するLSI
の論理検証システムにおいて、 被検証LSIに与えるテストパターンを格納したコマン
ドファイルと、 被検証LSIと検証モデルが接続されたバス毎にバスの
シミュレーション結果を格納するログファイルと、 上記ログファイル内容に基づいてバス間を跨ったトラン
ザクションを解析トレースするバス間検証ツールを備え
ることにより、バス間を渡る処理の正当性をチェックす
るようにしたことを特徴とするLSIの自動論理検証方
式。
7. An LSI for verifying an internal circuit of an LSI connected via a verification model by an external control signal.
In the logic verification system of (1), a command file storing a test pattern given to the LSI to be verified, a log file storing a bus simulation result for each bus to which the LSI to be verified and the verification model are connected, An automatic logic verification method for an LSI, characterized in that an inter-bus verification tool for analyzing and tracing transactions across buses is provided to check the validity of processing across buses.
【請求項8】 検証モデルを介して接続されたLSIの
内部回路を外部からの制御信号によって検証するLSI
の論理検証システムにおいて、 被検証LSIに与えるテストパターンを格納したコマン
ドファイルと、 被検証LSIと検証モデルが接続されたバス毎にバスの
シミュレーション結果を格納するログファイルと、 上記ログファイル内容に基づいてバス間を跨ったトラン
ザクションを解析トレースするバス間検証ツールと、 バス間トランザクションのカバレッジ集計を行うカバレ
ッジ集計ツールを備えることにより、バス間のトランザ
クション競合状態に基づいてカバレッジ評価を行うよう
にしたことを特徴とするLSIの自動論理検証方式。
8. An LSI for verifying an internal circuit of an LSI connected via a verification model by an external control signal.
In the logic verification system of (1), a command file storing a test pattern given to the LSI to be verified, a log file storing a bus simulation result for each bus to which the LSI to be verified and the verification model are connected, By providing a bus-to-bus verification tool that analyzes and traces transactions across buses, and a coverage tallying tool that totals coverage for bus-to-bus transactions, coverage evaluation is performed based on transaction competition between buses. An automatic logic verification method for an LSI characterized by the following.
【請求項9】 検証モデルを介して接続されたLSIの
内部回路を外部からの制御信号によって検証するLSI
の論理検証システムにおいて、 被検証LSIに与えるテストパターンを格納したコマン
ドファイルと、 被検証LSIと該被検証LSIの両端に位置する検証モ
デルを接続するバスに接続されて被検証LSIの内部状
態をモニタする動作状態モニタと、 上記動作状態モニタによるモニタ結果を格納するログフ
ァイルと、を備えることにより、シミュレーション結果
に基づくカバレッジ評価を行うようにしたことを特徴と
するLSIの自動論理検証方式。
9. An LSI for verifying an internal circuit of an LSI connected via a verification model by an external control signal.
In the logic verification system of the above, a command file storing a test pattern given to the LSI to be verified, and an internal state of the LSI to be verified connected to a bus connecting the LSI to be verified and the verification models located at both ends of the LSI to be verified. An automatic logic verification method for an LSI, comprising: an operation state monitor for monitoring; and a log file for storing a result of monitoring by the operation state monitor, wherein a coverage evaluation is performed based on a simulation result.
【請求項10】 上記論理検証方式は、組合わせ回路素
子の入力信号にハザード発生条件が成立した場合に、当
該回路素子の出力信号に狭パルスを発生させるハザード
検出ツールを備えるようにしたことを特徴とする請求項
1乃至請求項9のいずれかに記載のLSIの自動論理検
証方式。
10. The logic verification method according to claim 1, further comprising a hazard detection tool that generates a narrow pulse in an output signal of the combinational circuit element when a hazard generation condition is satisfied in the input signal of the combinational circuit element. 10. The automatic logic verification method for an LSI according to claim 1, wherein
【請求項11】 上記検証モデルは、 外部バスとのインタフェースをとる入出力部と、 外部コマンドとして入力された応答条件に基づいて上記
入出力部からの入力情報を記憶する受信記憶部と、 上記受信記憶部からの入力情報を外部コマンドとして入
力された起動条件に基づいて上記入出力部へ転送する送
信動作部を備え、 上記入出力部と受信記憶部、および送信動作部を簡易な
通信プロトコルで接続することにより検証モデルの内部
構造を統一するようにしたことを特徴とするLSIの自
動論理検証方式。
11. The verification model includes: an input / output unit that interfaces with an external bus; a reception storage unit that stores input information from the input / output unit based on a response condition input as an external command; A transmission operation unit that transfers input information from the reception storage unit to the input / output unit based on a start condition input as an external command, wherein the input / output unit, the reception storage unit, and the transmission operation unit use a simple communication protocol. An automatic logic verification method for an LSI, characterized in that the internal structure of the verification model is unified by connecting with each other.
JP9025145A 1997-02-07 1997-02-07 Automatic logic verification system for lsi Abandoned JPH10221410A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9025145A JPH10221410A (en) 1997-02-07 1997-02-07 Automatic logic verification system for lsi

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9025145A JPH10221410A (en) 1997-02-07 1997-02-07 Automatic logic verification system for lsi

Publications (1)

Publication Number Publication Date
JPH10221410A true JPH10221410A (en) 1998-08-21

Family

ID=12157833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9025145A Abandoned JPH10221410A (en) 1997-02-07 1997-02-07 Automatic logic verification system for lsi

Country Status (1)

Country Link
JP (1) JPH10221410A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007156728A (en) * 2005-12-02 2007-06-21 Hitachi Information & Communication Engineering Ltd Logic verification method and logic verification system
JP2010044622A (en) * 2008-08-13 2010-02-25 Hitachi Information & Communication Engineering Ltd Information processor test program and method
JP2010537156A (en) * 2007-08-21 2010-12-02 クゥアルコム・インコーポレイテッド Integrated circuit with self-test mechanism to verify functionality of external interface
US11106478B2 (en) 2017-11-10 2021-08-31 Mitsubishi Electric Corporation Simulation device, simulation method, and computer readable medium
CN116306400A (en) * 2023-05-17 2023-06-23 北京燧原智能科技有限公司 Integrated circuit verification method, system, device, equipment and medium

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007156728A (en) * 2005-12-02 2007-06-21 Hitachi Information & Communication Engineering Ltd Logic verification method and logic verification system
JP2010537156A (en) * 2007-08-21 2010-12-02 クゥアルコム・インコーポレイテッド Integrated circuit with self-test mechanism to verify functionality of external interface
US8484524B2 (en) 2007-08-21 2013-07-09 Qualcomm Incorporated Integrated circuit with self-test feature for validating functionality of external interfaces
JP2010044622A (en) * 2008-08-13 2010-02-25 Hitachi Information & Communication Engineering Ltd Information processor test program and method
US11106478B2 (en) 2017-11-10 2021-08-31 Mitsubishi Electric Corporation Simulation device, simulation method, and computer readable medium
CN116306400A (en) * 2023-05-17 2023-06-23 北京燧原智能科技有限公司 Integrated circuit verification method, system, device, equipment and medium
CN116306400B (en) * 2023-05-17 2023-07-28 北京燧原智能科技有限公司 Integrated circuit verification method, system, device, equipment and medium

Similar Documents

Publication Publication Date Title
US7246052B2 (en) Bus master and bus slave simulation using function manager and thread manager
US6571204B1 (en) Bus modeling language generator
US10255400B1 (en) Debugging system and method
US7409602B2 (en) Methodology for debugging RTL simulations of processor based system on chip
JP5308098B2 (en) Information processing apparatus test program and method
US8036874B2 (en) Software executing device and co-operation method
US5438673A (en) Automatic interface for CPU real machine and logic simulator diagnostics
US6810373B1 (en) Method and apparatus for modeling using a hardware-software co-verification environment
JP2002099584A (en) System and method for verifying design and computer- readable medium with program for design verification recorded thereon
US6510405B1 (en) Method and apparatus for selectively displaying signal values generated by a logic simulator
CN111624475B (en) Method and system for testing large-scale integrated circuit
CN103713977A (en) Microprocessor IP (internet protocol) kernel comparison and verification implementation method
US10929584B1 (en) Environmental modification testing for design correctness with formal verification
JPH10221410A (en) Automatic logic verification system for lsi
CN117130569A (en) Information display method, device, equipment and storage medium
JP2005108007A (en) Lsi design verification apparatus and lsi design verification method
US7856346B2 (en) Emulating multiple bus used within a data processing system
CN115391181A (en) Verification method of SOC chip
JPH10133914A (en) Computer system and device input/output simulator
JP3953243B2 (en) Synchronization method and apparatus using bus arbitration control for system analysis
RU2729210C1 (en) Electronic devices software testing system
US7024347B2 (en) Transaction conflict testing method and apparatus
JPH08180094A (en) Architecture simulator
US7277840B2 (en) Method for detecting bus contention from RTL description
CN116842902B (en) System-level simulation modeling method for black box model

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040420

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20040615