[go: up one dir, main page]

JP2003157182A - Logic verification method - Google Patents

Logic verification method

Info

Publication number
JP2003157182A
JP2003157182A JP2001354744A JP2001354744A JP2003157182A JP 2003157182 A JP2003157182 A JP 2003157182A JP 2001354744 A JP2001354744 A JP 2001354744A JP 2001354744 A JP2001354744 A JP 2001354744A JP 2003157182 A JP2003157182 A JP 2003157182A
Authority
JP
Japan
Prior art keywords
bus
model
master
slave
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2001354744A
Other languages
Japanese (ja)
Other versions
JP2003157182A5 (en
Inventor
Hiroshi Nonoshita
博 野々下
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2001354744A priority Critical patent/JP2003157182A/en
Priority to US10/291,508 priority patent/US7548841B2/en
Publication of JP2003157182A publication Critical patent/JP2003157182A/en
Publication of JP2003157182A5 publication Critical patent/JP2003157182A5/ja
Priority to US12/432,394 priority patent/US8112263B2/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 テストベンチ上に実際に起こるよりも厳しい
条件を簡単に発生させ、検証対象回路のバグ出しを行な
い設計品質の向上を図る。 【解決手段】 テストベンチ上に実際の回路とは異なる
マスタモデルやスレーブモデルを複数配置し各種データ
転送をランダムに発生させる。
(57) [Summary] [PROBLEMS] To improve the design quality by easily generating a stricter condition than actually occurring on a test bench and performing bug detection on a circuit to be verified. SOLUTION: A plurality of master models and slave models different from an actual circuit are arranged on a test bench, and various data transfers are randomly generated.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】システムLSI開発、特に論
理検証手法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to system LSI development, and particularly to a logic verification method.

【0002】[0002]

【従来の技術】従来、CPUを内蔵するシステムLSI
開発では、実際の論理回路を使用して、実機で動作する
ソフトウェアを使用してシミュレーションを行う事で論
理検証していた。
2. Description of the Related Art Conventionally, a system LSI having a built-in CPU
In the development, the logic was verified by using an actual logic circuit and performing simulation using software that operates on an actual machine.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、実際の
論理回路では、動作を発生させる迄に詳細な設定を行な
う必要があったり、任意のタイミングで所望の動作を発
生させる事は、不可能であった。従って、設計対象とな
る論理回路に対して与える外部変化を十分に発生させる
事が非常に困難で潜在的な問題を持ったまま、製造され
る事にもなっていた。また、シミュレーションの実行時
間も非常にかかり検証に時間がかかりすぎるという問題
点もあった。
However, in an actual logic circuit, it is necessary to make detailed settings before the operation is generated, or it is impossible to generate a desired operation at an arbitrary timing. It was Therefore, it has been very difficult to sufficiently generate an external change given to the logic circuit to be designed, and it has been manufactured with a potential problem. In addition, there is a problem in that it takes a very long time to execute the simulation and the verification takes too long.

【0004】本発明は、以上に点に着目して成されたも
ので、実際に接続される論理回路の代わりにマスタモデ
ルやスレーブモデルを使用する事で、複雑な設定無しで
容易に動作を開始させる事が出来、しかも、転送開始時
間を制御する事も可能となり、設計者が意図していなか
った複雑な状況を発生させたり、実際以上に厳しい条件
での検証が可能となる。
The present invention has been made by paying attention to the above points. By using a master model or a slave model in place of the actually connected logic circuit, the operation can be easily performed without complicated settings. It is possible to start it, and it is also possible to control the transfer start time, which can cause a complicated situation that the designer did not intend or can perform verification under more severe conditions than it actually is.

【0005】また、設計者が意図していなかった状況を
検証する事で、論理回路のバグを早期発見出来る。ま
た、実際以上に厳しい条件で検証する事で、潜在バグを
発見する事も可能になる。
Further, by verifying a situation that the designer did not intend, a bug in the logic circuit can be found early. Also, latent bugs can be discovered by conducting verification under stricter conditions than they actually are.

【0006】また、更に本発明の論理検証手法を用いる
事で、バグのない高品質のシステムLSIを開発する事
が可能となる論理検証手法を提供することを目的とす
る。
Another object of the present invention is to provide a logic verification method which enables the development of a high quality system LSI without bugs by using the logic verification method of the present invention.

【0007】[0007]

【課題を解決するための手段】本発明を用いると、実際
のCPUの代わりにバスファンクションモデルを使用す
る事で、該CPU用のソフトウェアがなくてもシミュレ
ーションを実行でき、論理検証が可能となる。またCP
U以外のDMAコントローラ回路の代わりにバスマスタ
ーモデルを使用する事で、DMAコントローラ固有の面
倒な設定を省いて同様の動作を発生させる事が可能とな
り、容易に動作検証を行う事が出来る。また、検証対象
の回路の外部に存在すべき論理回路が未だ完成していな
い状態でもシミュレーションを実行して論理検証が可能
となる。
According to the present invention, by using a bus function model instead of an actual CPU, a simulation can be executed without software for the CPU, and logic verification can be performed. . Also CP
By using the bus master model instead of the DMA controller circuit other than U, it is possible to omit the troublesome setting peculiar to the DMA controller and to generate the same operation, so that the operation verification can be easily performed. Further, the logic verification can be performed by executing the simulation even in the state where the logic circuit to be present outside the circuit to be verified is not completed yet.

【0008】また、実際のDMAコントローラ等が発生
するバス動作には、ある特定のパターンを持った転送が
発生し易く、複雑な状況が発生する確率は低いが、本発
明による能動モデルを使用する事で、特定のパターンを
持たないランダムな転送を発生する事が可能となり、設
計者が意図していなかった複雑な状況が発生する確率が
高くなり、より正確な検証が可能となる。
Further, in the bus operation generated by an actual DMA controller or the like, a transfer having a specific pattern is likely to occur, and a complicated situation is unlikely to occur, but the active model according to the present invention is used. By doing so, it is possible to generate a random transfer that does not have a specific pattern, the probability of occurrence of a complicated situation not intended by the designer increases, and more accurate verification becomes possible.

【0009】更に、実際のDMAコントローラ等では、
1サイクル単位での制御は困難であるが、能動モデルは
1サイクル単位で転送の発生を制御可能であり、複数の
能動モデルからの転送を1サイクル単位でずらしてぶつ
けるようなスイープテストも可能となる。また任意のサ
イクルで転送を発生する事が可能な為、複数の能動モデ
ルからのコンカレントな転送を容易に発生させて複雑な
状況を検証する事が可能となる。またスレーブモデルを
用いる事でスレーブからの応答を任意に、或いはランダ
ムに発生させる事で、更に複雑な状況を検証する事が可
能となる。
Further, in an actual DMA controller or the like,
Although it is difficult to control in 1-cycle units, the active model can control the occurrence of transfers in 1-cycle units, and it is possible to perform a sweep test in which transfers from multiple active models are staggered in 1-cycle units. Become. Further, since it is possible to generate a transfer in an arbitrary cycle, it becomes possible to easily generate a concurrent transfer from a plurality of active models and verify a complicated situation. Further, by using the slave model, it is possible to verify a more complicated situation by generating a response from the slave arbitrarily or randomly.

【0010】なお、さらに詳細に説明すれば、本発明は
下記の構成によって前記課題を解決できた。
Further, in more detail, the present invention can solve the above problems by the following constitution.

【0011】(1)システムLSI開発における論理検
証の為のテストベンチにおいて、実際に存在しないモデ
ルを用いる事を特徴とする論理検証手法。
(1) A logic verification method characterized by using a model that does not actually exist in a test bench for logic verification in system LSI development.

【0012】(2)モデルは実際の論理回路よりも厳し
い条件を生成する事を特徴とする前記(1)記載の論理
検証手法。
(2) The logic verification method according to (1), wherein the model generates a stricter condition than an actual logic circuit.

【0013】(3)モデルにはマスタモデルとスレーブ
モデルがある事を特徴とする前記(1)記載の論理検証
手法。
(3) The logic verification method according to (1), wherein the model includes a master model and a slave model.

【0014】(4)マスタモデルは実際の論理回路より
も容易に動作を開始できる事を特徴とする前記(3)記
載の論理検証手法。
(4) The logic verification method according to (3), wherein the master model can start the operation more easily than an actual logic circuit.

【0015】(5)スレーブモデルはマスタからの要求
に対してランダムな時間を経て応答する事を特徴とする
前記(3)記載の論理検証手法。
(5) The logic verification method according to (3), wherein the slave model responds to the request from the master after a random time elapses.

【0016】[0016]

【作用】本発明によれば、先ず、実際のCPUの代わり
にバスファンクションモデルを使用する事で実際のソフ
トウェアがない状態でも、検証対象の論理回路にとっ
て、興味深い動作を発生させる事が出来ると同時に、実
際のソフトウェアでは実現できないランダムな種類でラ
ンダムな値のデータ転送を発生させる事が出来る。これ
により、設計者が意図していなかった状況をシミュレー
ションで検証が可能である。
According to the present invention, first, by using the bus function model instead of the actual CPU, it is possible to generate an interesting operation for the logic circuit to be verified even without the actual software. , It is possible to generate random value data transfer with a random type that cannot be realized by actual software. This makes it possible to verify by simulation a situation that was not intended by the designer.

【0017】また、本発明によれば、マスタモデル、ス
レーブモデルを複数インスタンスする事で、実際のソフ
トウェアでは実現できないランダムな種類でランダムな
値のデータ転送を発生させる事が出来る。これにより、
設計者が意図していなかった状況をシミュレーションで
検証が可能である。
Further, according to the present invention, by making a plurality of instances of the master model and the slave model, it is possible to generate data transfer of a random value with a random type that cannot be realized by actual software. This allows
It is possible to verify by simulation the situation that the designer did not intend.

【0018】[0018]

【発明の実施の形態】(第1の実施例)以下、図1〜図
4に基づき、本発明による論理検証手法を説明する。
BEST MODE FOR CARRYING OUT THE INVENTION (First Embodiment) A logic verification method according to the present invention will be described below with reference to FIGS.

【0019】本発明の第1の実施例を示す図1におい
て、1は回路全体を制御するCPUのバス動作のみを発
生するBus Function model、2は回路内の様々なバスを
結び、バス間のデータ転送をつかさどるBus Bridge、3
は記憶装置であるMemory、4は記憶装置への読み書きを
制御するMemory Controller、5は回路内で各種入出力
機器やデバイスとの間のデータ転送でデータの通り道で
あるIO-Bus、6はこの回路に接続されるIO装置とのデー
タ転送を制御するIO1 Interface、7はこの回路に接続
されるIO装置とのデータ転送を制御するIO2 Interfac
e、8はこの回路に接続されるIO装置とのデータ転送を
制御するIO3 Interface、9は実際の回路の代わりにデ
ータ転送を発生するIO-Bus master model1、10は実際
の回路の代わりにデータ転送を発生するIO-Bus master
model2、11は内部の論理回路間でデータ転送を行う際
のデータの通り道であるDevice・Bus、12は圧縮・伸長
などの論理機能を有するDevice1、13は圧縮・伸長な
どの論理機能を有するDevice2、14は実際の回路の代
わりにデータ転送を発生するDevice-Bus master model
1、15は実際の回路の代わりにデータ転送を発生するD
evice・Bus master model2、16は実際の回路の代わり
にマスタからのデータ転送要求に応答するIO-Bus slave
model1、17は実際の回路の代わりにマスタからのデ
ータ転送要求に応答するIO-Bus slave model2、18は
実際の回路の代わりにマスタからのデータ転送要求に応
答するDevice-Bus slave model1、19は実際の回路の
代わりにマスタからのデータ転送要求に応答するDevice
-Bus slave model2である。
In FIG. 1 showing the first embodiment of the present invention, 1 is a Bus Function model for generating only the bus operation of a CPU controlling the entire circuit, and 2 is a connection between various buses in the circuit, and a bus between the buses. Bus Bridge that controls data transfer, 3
Is a memory device which is a memory device, 4 is a memory controller which controls reading and writing to the memory device, 5 is an IO-Bus which is a data path for data transfer between various input / output devices and devices in the circuit, and 6 is this IO1 Interface that controls the data transfer with the IO device connected to the circuit, 7 is the IO2 Interfac that controls the data transfer with the IO device connected to this circuit
e, 8 is an IO3 Interface that controls data transfer with an IO device connected to this circuit, 9 is a data transfer instead of the actual circuit IO-Bus master model1, 10 is data instead of the actual circuit IO-Bus master generating transfer
model2 and 11 are Device / Bus that is a data path when data is transferred between internal logic circuits, 12 is a Device1 having a logical function such as compression / expansion and 13 is a Device2 having a logical function such as compression / expansion. , 14 is a Device-Bus master model that generates data transfer instead of the actual circuit
1 and 15 are D that generate data transfer instead of actual circuit
evice / Bus master model 2, 16 is an IO-Bus slave that responds to data transfer requests from the master instead of the actual circuit.
model1, 17 responds to the data transfer request from the master instead of the actual circuit IO-Bus slave model2, 18 responds to the data transfer request from the master instead of the actual circuit Device-Bus slave model1, 19 Device that responds to the data transfer request from the master instead of the actual circuit
-Bus slave model 2.

【0020】図4は従来例を示しており、20は回路全
体を制御するCPU、21はプログラム等を記憶してお
くROM(Read only Memory)、2〜8及び11〜13は
図1と同様である。
FIG. 4 shows a conventional example, 20 is a CPU for controlling the entire circuit, 21 is a ROM (Read only Memory) for storing programs and the like, 2 to 8 and 11 to 13 are the same as in FIG. Is.

【0021】図4で示した従来例では、実際の回路で使
われる機能のみで構成されており、CPU20はプログ
ラムをROM21から読み込んできて実行したり、その
内容をMemory3に転送した後、Memory3から命令を読み
出して実行を行う。この場合、CPU20は次に何を実
行するかは、読み出してくる命令によって決定される
為、何らかのデータの転送を行う場合でも、必ず命令の
読み込み(Instruction Fetch)が発生する。但し、CP
U20内部のキャッシュに命令がヒットしている間はこ
の限りではない。
In the conventional example shown in FIG. 4, it is configured only by the functions used in the actual circuit, and the CPU 20 can read the program from the ROM 21 and execute it, or after transferring the contents to the Memory 3, the memory 3 Read and execute instructions. In this case, what is to be executed next by the CPU 20 is determined by the instruction to be read, and therefore, even when transferring some data, instruction reading (Instruction Fetch) always occurs. However, CP
This does not apply while the instruction is hit in the cache inside U20.

【0022】以上述べてきたような事から、論理回路の
検証を行う際、実際のソフトウェアを記述してROMイ
メージを作成して、シミュレーションを実行しなければ
ならない。ところが、所望の機能ブロックの検証を行う
ためのステイミュラスを実際のソフトウェアで記述する
事は容易な事ではなく、CPU等様々な部分の初期化も
必要であり、簡単に検証を行う事は困難である。更に、
シミュレーションでは実際のCPUを使用すると、実行
に非常に時間を要してしまう。実機で10秒程度で終了
する事でもシミュレーションでは24時間を要する事も
ある。
As described above, when verifying the logic circuit, it is necessary to describe the actual software, create the ROM image, and execute the simulation. However, it is not easy to describe the sturmulus for verifying the desired functional block in actual software, and it is also necessary to initialize various parts such as the CPU, so it is difficult to verify easily. is there. Furthermore,
If a real CPU is used in the simulation, it takes a very long time to execute. Even if it is completed in about 10 seconds on the actual machine, it may take 24 hours in the simulation.

【0023】図1におけるBus Function model 1は、
実際のCPUの機能のうち、バス上に現れる信号の変化
だけをコマンドによって発生する事が出来る。この場
合、CPU20が行うような命令の読み込みは不要であ
る。従って、余分な転送無しで所望のデータ転送を発生
させる事が容易に実現できる。例えば、Memory3等のあ
るアドレスヘデータを書き込む場合は、write(address,
data);のようなBus Function model 1が有するコマン
ドを発行すれば良い。
Bus Function model 1 in FIG.
Of the actual functions of the CPU, only the change of the signal appearing on the bus can be generated by the command. In this case, it is not necessary to read the instruction as the CPU 20 does. Therefore, it is possible to easily realize generation of desired data transfer without extra transfer. For example, when writing data to an address such as Memory3, write (address,
data); such as Bus Function model 1 may be issued.

【0024】次に、図4の従来例では、CPU20以外
からデータ転送を開始させる為には、IO1 Interface 1
等に対して設定を行ってDMA(Direct Memory Access)
を起動する必要がある。この場合、IO毎に設定方法も異
なるし、転送レートもIOの種類によって決まってしま
う。
Next, in the conventional example of FIG. 4, in order to start data transfer from other than the CPU 20, the IO1 Interface 1
DMA (Direct Memory Access)
Need to start. In this case, the setting method differs for each IO, and the transfer rate also depends on the type of IO.

【0025】従って、設定自体が複雑な上に、そこで発
生させる転送の種類も限定されてしまう。そうなると、
次から次へと転送を発生させる事も出来ず、色々な事が
重なる複雑な状況を発生させる事が出来ない。従って、
十分な検証を行う事が困難である。
Therefore, the setting itself is complicated, and the type of transfer generated there is also limited. When that happens,
Transfers cannot be generated one after another, and complicated situations where various things overlap cannot be generated. Therefore,
It is difficult to perform sufficient verification.

【0026】図1におけるIO-Bus master model1 9やI
O-Bus master model2 10は、IO-Bus5上で様々なデー
タ転送を複雑な設定を行う必要がなく発生させる事が出
来る。この場合も、io_write(address,data);のよう
なコマンドを発行するだけで良い。Device-Bus master
model1 14やDevice-Bus master model2 15も同様で
ある。IO-Bus slave model1 16やIO-Bus slave model
2 17は、Bus Function model 1やIO-Bus master mod
el1 9等のマスタモデルからの転送要求に対して応答す
るスレーブモデルであり、決まったサイクルで応答する
だけでなくランダムなサイクルだけ待って応答する事も
可能である。またこれらのスレーブモデルからデータを
送出する場合もランダムデータを生成する。また、バス
エラーやリトライといった通常動作以外の動作時に論理
回路のバグが存在する事が多く、これらのスレーブにバ
スエラーやリトライで応答させる事も出来、論理回路の
バグ発見にも役立つ。Device-Bus slave model1 18や
Device-Bus slave model219についても同様である。
IO-Bus master model 1 9 and I in FIG.
O-Bus master model2 10 can generate various data transfers on IO-Bus 5 without the need for complicated settings. Also in this case, it is only necessary to issue a command such as io_write (address, data) ;. Device-Bus master
The same applies to model1 14 and Device-Bus master model2 15. IO-Bus slave model1 16 and IO-Bus slave model
217 is Bus Function model 1 and IO-Bus master mod
It is a slave model that responds to a transfer request from a master model such as el19, and it is possible to respond not only in a fixed cycle but also in a random cycle. Random data is also generated when sending data from these slave models. In addition, there are often bugs in the logic circuit during operations other than normal operations such as bus errors and retries, and it is possible to respond to these slaves with bus errors and retries, which is useful for finding bugs in the logic circuit. Device-Bus slave model1 18 and
The same applies to the Device-Bus slave model 219.

【0027】上述してきたように、実際の回路には存在
しないマスタモデルやスレーブモデルを用いる事で、設
計者が意図しない状況や複雑な事象の複合動作を検証す
る事が出来る。
As described above, by using the master model and the slave model that do not exist in the actual circuit, it is possible to verify the situation that the designer does not intend or the complex operation of complicated events.

【0028】図2は上述の各種モデルを動作させて検証
を行うテストの記述例を示している。ここで、forkとjo
inで囲まれる部分は各行に記述されたタスクがコンカレ
ントに動作する。例えば、cpu_master_kickとio1_ma
ster_kickは同時に開始される。
FIG. 2 shows an example of the description of a test in which the various models described above are operated and verified. Where fork and jo
In the part surrounded by in, the tasks described in each line operate concurrently. For example, cpu_master_kick and io1_ma
ster_kick is started at the same time.

【0029】例えば、図2において、cpu_master_kic
kはBus Functional model1 1からMemory3やIO-Bus sl
ave model1 16等への転送をランダムなシーケンスで
ランダムなアドレスで発生させるような記述をする。同
様に、io1_master_kickにはIO-Bus master model1 9
からの転送シーケンスを、io2_master_kickにはIO-Bu
s master model2 10からの転送シーケンスを、io1_sl
ave_kickにはIO-Busslave model1 16への転送シーケ
ンスを、io2_slave_kickにはIO-Bus slavemodel2 1
7への転送シーケンスを、dev1_master_kickにはDevi
ce-Bus master model1 14からの転送シーケンスを、d
ev2_master_kickにはDevice-Bus master model2 15
からの転送シーケンスを、dev1_slave_kickにはDevic
e-Busslave model1 18への転送シーケンスを、dev2_
slave_kickにはDevice・Bus slave model2 19への転
送シーケンスを記述する。
For example, in FIG. 2, cpu_master_kic
k is Bus Functional model1 to Memory3 and IO-Bus sl
The description is such that the transfer to ave model1 16 etc. is generated in a random sequence with a random address. Similarly, io1_master_kick has IO-Bus master model1 9
From IO-Bu to io2_master_kick
s master model2 Transfer sequence from 10 is io1_sl
ave_kick is the transfer sequence to IO-Bus slave model1 16 and io2_slave_kick is the IO-Bus slavemodel2 1
The transfer sequence to 7 is devi for dev1_master_kick
Transfer sequence from ce-Bus master model1 14 to d
ev2_master_kick has Device-Bus master model2 15
Transfer sequence from dev, Dev1_slave_kick to Devic
The transfer sequence to e-Busslave model1 18 is dev2_
In slave_kick, describe the transfer sequence to Device / Bus slave model219.

【0030】このように、各タスクにそれぞれのマスタ
モデルからのデータ転送を行うシーケンスやCPUから
スレーブモデルヘの転送シーケンスを記述しておくと、
各マスタモデルからメモリや各スレーブモデルヘの動作
が発生し、検証対象の論理回路が、その設計された論理
に従って処理を行う。
In this way, if a sequence for transferring data from each master model and a transfer sequence from the CPU to the slave model are described in each task,
An operation from each master model to each memory or slave model occurs, and the logic circuit to be verified performs processing according to the designed logic.

【0031】図2の例では、for分がfork−join分の外
側にある為、for loopを1回実行する度に、各動作を同
時に開始させ、それぞれのシーケンスが終わった時点で
次のfor loopが行われる。つまり、先に動作を終了した
タスクは他の全てのタスクが動作を終了するまで次の動
作開始を待つ事になる。
In the example of FIG. 2, since the for part is outside the fork-join part, each operation is started at the same time each time the for loop is executed, and when each sequence ends, the next for is executed. loop is performed. In other words, the task that completed the operation first waits for the start of the next operation until all other tasks have completed the operation.

【0032】図3の例ではfork−join分の内側で、それ
ぞれのタスクにfor分を配置している。この場合、それ
ぞれのタスクは最初の動作開始は同時だが、それぞれの
タスクは定められた回数だけloopを繰り返す。つまりそ
れぞれのタスクの動作は、他のタスクの動作に関わら
ず、次々と連続で実行される。この場合、Bus Bridge 2
は休みなく全方向からの転送を処理する必要があり、実
動作以上のストレスをかける事が可能となる。
In the example of FIG. 3, inside the fork-join portion, the for portion is arranged for each task. In this case, each task starts the first operation at the same time, but each task repeats the loop a predetermined number of times. That is, the operation of each task is continuously executed one after another regardless of the operation of other tasks. In this case, Bus Bridge 2
Has to process transfers from all directions without any breaks, which makes it possible to apply more stress than it actually does.

【0033】また、各タスクの最初で、先ずランダムな
値を生成し、その値分のサイクルを待って動作を開始さ
せる事で、動作が特定のパターン化する事を避ける事が
可能である。更に、ランダムなサイクルを待つ代わり
に、for loop を用いて動作開始を1サイクルづつ順に遅
らせる事も容易であり、あるタスクの動作開始を他のタ
スクの動作開始に対してスイープさせる事も容易に実現
できる。
Further, at the beginning of each task, a random value is first generated, and the operation is started after waiting for a cycle corresponding to the value, so that the operation can be prevented from forming a specific pattern. Furthermore, instead of waiting for a random cycle, it is easy to delay the operation start one cycle at a time by using for loop, and it is also easy to sweep the operation start of one task with respect to the operation start of another task. realizable.

【0034】このように、テストプログラムの大部分は
書き換える事なく、それぞれのタスクの呼び出し方を少
し変更する事で、色々な状況や複雑な状況をシミュレー
ションで実行可能となる。
As described above, various situations and complicated situations can be executed by simulation by slightly changing the calling method of each task without rewriting most of the test program.

【0035】[0035]

【発明の効果】以上説明したように本発明によれば先
ず、実際に接続される論理回路の代わりにマスタモデル
やスレーブモデルを使用する事で、複雑な設定無しで容
易に動作を開始させる事が出来、しかも、転送開始時間
を制御する事も可能となり、設計者が意図していなかっ
た複雑な状況を発生させたり、実際以上に厳しい条件で
の検証が可能となる。
As described above, according to the present invention, first, the master model or the slave model is used instead of the actually connected logic circuit, so that the operation can be easily started without complicated setting. In addition, it is possible to control the transfer start time, and it is possible to generate a complicated situation that the designer did not intend or to perform verification under more severe conditions than it actually is.

【0036】設計者が意図していなかった状況を検証す
る事で、論理回路のバグを早期発見出来る。また、実際
以上に厳しい条件で検証する事で、潜在バグを発見する
事も可能になる。
By verifying a situation that the designer did not intend, a bug in the logic circuit can be found early. Also, latent bugs can be discovered by conducting verification under stricter conditions than they actually are.

【0037】本発明の論理検証手法を用いる事で、バグ
のない高品質のシステムLSIを開発する事が可能とな
る。
By using the logic verification method of the present invention, it is possible to develop a high quality system LSI without bugs.

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

【図1】 本発明の実施例におけるシミュレーション対
象のブロック図
FIG. 1 is a block diagram of a simulation target according to an embodiment of the present invention.

【図2】 本発明の実施例におけるシミュレーションを
実行するテストの記述例である。
FIG. 2 is a description example of a test for executing a simulation according to the embodiment of the present invention.

【図3】 本発明の実施例におけるシミュレーションを
実行するテストの記述例である。
FIG. 3 is a description example of a test for executing a simulation according to the embodiment of the present invention.

【図4】 従来例のブロック図FIG. 4 is a block diagram of a conventional example.

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

1 Bus Function model 2 Bus Bridge 3 Memory 4 Memory Controller 5 IO-Bus 6 IO1 Interface 7 IO2 Interface 8 IO3 Interface 9 IO-Bus master model1 10 IO-Bus master model2 11 Device-Bus 12 Device1 13 Device2 14 Device-Bus master model1 15 Device-Bus master model2 16 IO-Bus slave model1 17 IO-Bus slave model2 18 Device-Bus slave model1 19 Device-Bus slave model2 20 CPU 21 ROM 1 Bus Function model 2 Bus Bridge 3 Memory 4 Memory Controller 5 IO-Bus 6 IO1 Interface 7 IO2 Interface 8 IO3 Interface 9 IO-Bus master model1 10 IO-Bus master model2 11 Device-Bus 12 Device1 13 Device2 14 Device-Bus master model1 15 Device-Bus master model2 16 IO-Bus slave model1 17 IO-Bus slave model2 18 Device-Bus slave model1 19 Device-Bus slave model2 20 CPU 21 ROM

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 システムLSI開発における論理検証の
為のテストベンチにおいて、実際に存在しないモデルを
用いる事を特徴とする論理検証手法。
1. A logic verification method characterized by using a model that does not actually exist in a test bench for logic verification in system LSI development.
【請求項2】 モデルは実際の論理回路よりも厳しい条
件を生成する事を特徴とする請求項1記載の論理検証手
法。
2. The logic verification method according to claim 1, wherein the model generates a stricter condition than an actual logic circuit.
【請求項3】 モデルにはマスタモデルとスレーブモデ
ルがある事を特徴とする請求項1記載の論理検証手法。
3. The logic verification method according to claim 1, wherein the model includes a master model and a slave model.
【請求項4】 マスタモデルは実際の論理回路よりも容
易に動作を開始できる事を特徴とする請求項3記載の論
理検証手法。
4. The logic verification method according to claim 3, wherein the master model can start operation more easily than an actual logic circuit.
【請求項5】 スレーブモデルはマスタからの要求に対
してランダムな時間を経て応答する事を特徴とする請求
項3記載の論理検証手法。
5. The logic verification method according to claim 3, wherein the slave model responds to a request from the master at random times.
JP2001354744A 2001-11-16 2001-11-20 Logic verification method Withdrawn JP2003157182A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001354744A JP2003157182A (en) 2001-11-20 2001-11-20 Logic verification method
US10/291,508 US7548841B2 (en) 2001-11-16 2002-11-12 Method for logic checking to check operation of circuit to be connected to bus
US12/432,394 US8112263B2 (en) 2001-11-16 2009-04-29 Method for logic checking to check operation of circuit to be connected to bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001354744A JP2003157182A (en) 2001-11-20 2001-11-20 Logic verification method

Publications (2)

Publication Number Publication Date
JP2003157182A true JP2003157182A (en) 2003-05-30
JP2003157182A5 JP2003157182A5 (en) 2005-07-14

Family

ID=19166550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001354744A Withdrawn JP2003157182A (en) 2001-11-16 2001-11-20 Logic verification method

Country Status (1)

Country Link
JP (1) JP2003157182A (en)

Similar Documents

Publication Publication Date Title
US8112263B2 (en) Method for logic checking to check operation of circuit to be connected to bus
JP4529063B2 (en) System simulator, simulation method, and simulation program
US8892794B2 (en) Using central direct memory access (CDMA) controller to test integrated circuit
GB2546603A (en) Arbiter verification
US20110185153A1 (en) Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information
JP2008009721A (en) Evaluation system and evaluation method thereof
WO2025179999A1 (en) Server, task execution method and device, and nonvolatile readable storage medium
US11797421B2 (en) Semiconductor apparatus and debug system
US20060212768A1 (en) Verification circuitry for master-slave system
US6820219B1 (en) Integrated testing method for concurrent testing of a number of computer components through software simulation
JP2003157182A (en) Logic verification method
JP2006127017A (en) Logic verification method
CN112912958B (en) Testing Read-Only Memory Using the Built-In Self-Test Controller
CN114924918B (en) Firmware testing method, device, equipment and storage medium
JP6726136B2 (en) Data access device and access error notification method
JP5279817B2 (en) Test apparatus and test method
US20250173279A1 (en) Systems of semiconductor devices and operating methods thereof
JP2004185060A (en) Microcomputer
KR101244684B1 (en) Microcomputing apparatus and method capable of detecting error
JP2012014364A (en) Logic verification scenario generator, and logic verification scenario generation program
CN110462603B (en) Microcomputer
JP2008152665A (en) Operation analysis method of semiconductor integrated circuit
JP2000276502A (en) Software simulator
JP4100901B2 (en) Logic verification method for system LSI
JP2007206909A (en) Data processing apparatus and data processing method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070308

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070308