JP5006121B2 - Logic verification device and logic verification method - Google Patents

Logic verification device and logic verification method Download PDF

Info

Publication number
JP5006121B2
JP5006121B2 JP2007168795A JP2007168795A JP5006121B2 JP 5006121 B2 JP5006121 B2 JP 5006121B2 JP 2007168795 A JP2007168795 A JP 2007168795A JP 2007168795 A JP2007168795 A JP 2007168795A JP 5006121 B2 JP5006121 B2 JP 5006121B2
Authority
JP
Japan
Prior art keywords
error
memory
data
cpu
address
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.)
Expired - Fee Related
Application number
JP2007168795A
Other languages
Japanese (ja)
Other versions
JP2009009270A (en
Inventor
敏幸 松永
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2007168795A priority Critical patent/JP5006121B2/en
Publication of JP2009009270A publication Critical patent/JP2009009270A/en
Application granted granted Critical
Publication of JP5006121B2 publication Critical patent/JP5006121B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、論理検証装置に関し、特に半導体集積回路の論理検証装置に関する。   The present invention relates to a logic verification device, and more particularly to a logic verification device for a semiconductor integrated circuit.

近年、プロセスの微細化、低電圧化に伴い、トランジスタのばらつき、電源ノイズ、配線のクロストーク、中性子線など、メモリに保持するデータが化ける可能性が高まっている。   In recent years, with the miniaturization of processes and the reduction in voltage, there is an increasing possibility that data held in a memory, such as transistor variations, power supply noise, wiring crosstalk, and neutron beams, may be garbled.

従って、高信頼性が求められる分野では、エラー発生を抑えると同時に、発生したデータを検出し、システムとして誤動作しないように制御する必要がある。   Therefore, in the field where high reliability is required, it is necessary to suppress the occurrence of errors and at the same time detect the generated data and perform control so that the system does not malfunction.

また、マイクロプロセッサのうち、特に高信頼性を求められる製品に採用されるものは、プロセッサ内の各種データ信号に対し、パリティを付加し、データ保護を行う。パリティエラー等のエラーが発生した時には、そのエラーを見逃さずプロセッサ外に通知し、システム全体のチェックを行うなど特別な動作をすることが求められる。更に、論理シミュレーション時にエラーが発生した場合の動作を検証するためには、実際に信号に正しくないデータを載せる必要がある。   Among microprocessors, those employed in products that require particularly high reliability add data parity to various data signals in the processor to protect data. When an error such as a parity error occurs, it is required to perform a special operation such as notifying the outside of the processor without overlooking the error and checking the entire system. Furthermore, in order to verify the operation when an error occurs during logic simulation, it is necessary to actually put incorrect data on the signal.

関連する技術として、特開2001−134629号公報(特許文献1)にシミュレーション方法及びシミュレーション装置が開示されている。この公知技術では、メモリモデルにアクセスするためのアドレスのうち、有効なメモリアドレス(下位)と無効なメモリアドレス(上位)を持つ。無効なメモリアドレスにエラー発生のためのアドレスを乗せ、メモリモジュール内部に存在するエラー制御モジュールはその内容に基づき、メモリのRead(読み出し)/Write(書き込み)データに所望のエラーを発生させる。この公知技術では、実際に読み書きするメモリモジュール領域を限定することで無効なアドレスビットを作り出し、その無効なアドレスビットをエラー制御に使用している。このような処理を行うことで、LSIモデルによるメモリへのアクセス時に、任意のアドレスやデータに対し、所望のエラーを発生させることができる。そして、エラー発生の検出などの動作検証を行うことができる。   As a related technique, JP-A-2001-134629 (Patent Document 1) discloses a simulation method and a simulation apparatus. This known technique has a valid memory address (lower) and an invalid memory address (upper) among the addresses for accessing the memory model. An error generation address is added to an invalid memory address, and an error control module existing in the memory module generates a desired error in Read / Write data of the memory based on the contents. In this known technique, an invalid address bit is created by limiting the memory module area that is actually read and written, and the invalid address bit is used for error control. By performing such processing, a desired error can be generated for an arbitrary address or data when accessing the memory by the LSI model. Then, operation verification such as detection of an error occurrence can be performed.

特開2001−134629号公報JP 2001-134629 A

先に説明した公知技術では、メモリモジュールのアドレスの無効な部分を使ってエラー発生の制御を行っているため、無効なアドレスの存在しないメモリでは、そもそもエラーの発生を制御することができない。公知技術では、実際に読み書きするメモリモジュール領域を限定することで無効なアドレスビットを作り出しており、その無効なアドレスビットをエラー制御に使用している。   In the known technique described above, the error occurrence is controlled using the invalid portion of the address of the memory module. Therefore, in the memory where there is no invalid address, the occurrence of the error cannot be controlled in the first place. In the known technique, an invalid address bit is created by limiting the memory module area that is actually read and written, and the invalid address bit is used for error control.

以下に、[発明を実施するための最良の形態]で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。但し、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。   In the following, means for solving the problem will be described using the numbers used in [Best Mode for Carrying Out the Invention] in parentheses. These numbers are added to clarify the correspondence between the description of [Claims] and [Best Mode for Carrying Out the Invention]. However, these numbers should not be used to interpret the technical scope of the invention described in [Claims].

本発明の論理検証装置は、CPU(10)と、CPU(10)に接続され、論理検証のためのエラー発生条件を保持するエラー制御用メモリ(21)と、CPU(10)内に設けられ、論理検証実行中、エラー発生条件と、CPU(10)のバスアクセスの状態とに基づき、エラー発生信号を出力するエラー発生制御回路(122)と、CPU(10)内に設けられ、エラー発生信号の内容に応じたバスエラーを発生させるエラー発生回路(123)とを具備する。   The logic verification apparatus of the present invention is provided in the CPU (10), an error control memory (21) connected to the CPU (10) and holding error occurrence conditions for logic verification, and the CPU (10). During the logic verification, an error occurrence control circuit (122) for outputting an error occurrence signal based on the error occurrence condition and the bus access state of the CPU (10) and an error occurrence are provided in the CPU (10). And an error generation circuit (123) for generating a bus error according to the content of the signal.

このように、論理検証用のエラー発生条件を格納したエラー制御用メモリをCPUの外、エラー発生制御回路とエラー発生回路をCPU内部のハードマクロ(メモリ)論理シミュレーション用機能モデル内に設ける。これらを一つの論理シミュレーション環境内に設けることで、CPUコアからハードマクロ(メモリ)論理シミュレーション用機能モデルへのアドレスをフルに利用したシミュレーション実行中にエラーの発生をプログラム上でコントロールできる。   As described above, the error control memory storing the error generation conditions for logic verification is provided outside the CPU, and the error generation control circuit and the error generation circuit are provided in the function model for hardware macro (memory) logic simulation inside the CPU. By providing these in one logic simulation environment, it is possible to control the occurrence of errors on the program during the simulation execution using the address from the CPU core to the function model for hard macro (memory) logic simulation.

メモリモデルのどこにアクセスしてもエラーを発生させることが可能となる。   An error can be generated no matter where the memory model is accessed.

以下に、本発明の第1実施例について添付図面を参照して説明する。
図1は、本発明の対象となる論理シミュレーション環境を示す。なお、この論理シミュレーション環境は、本発明に係る論理検証装置のシステム構成を示す。
論理シミュレーション環境(論理検証装置)1は、CPU10と、外部メモリ20を含む。CPU10と外部メモリ20は、メモリR/W用バス30で接続されている。なお、R/Wは、Read/Writeを示す。
A first embodiment of the present invention will be described below with reference to the accompanying drawings.
FIG. 1 shows a logic simulation environment to which the present invention is applied. This logic simulation environment shows the system configuration of the logic verification apparatus according to the present invention.
The logic simulation environment (logic verification device) 1 includes a CPU 10 and an external memory 20. The CPU 10 and the external memory 20 are connected by a memory R / W bus 30. Note that R / W indicates Read / Write.

論理シミュレーション環境1は、検証者によって作成された検証用プログラムを実行することで、CPU10が仕様に適合しているかどうかをチェックする。すなわち、正しく機能するか論理検証する。期待通りの動作をすればOK、期待と異なる動作をすればNGと判定する。   The logic simulation environment 1 checks whether the CPU 10 conforms to the specification by executing a verification program created by the verifier. In other words, logical verification is performed to confirm whether it functions correctly. If the operation is as expected, it is determined to be OK.

CPU10は、論理検証の対象となる半導体集積回路であり、メモリR/W用バス30を介して、外部メモリ20にRead/Writeアクセスをすることで、外部メモリ20内の命令コードやデータの読み出し、命令の実行、結果の書き込み等を行う。   The CPU 10 is a semiconductor integrated circuit to be subjected to logic verification, and reads an instruction code or data in the external memory 20 by performing Read / Write access to the external memory 20 via the memory R / W bus 30. , Execute instructions, write results, etc.

CPU10は、CPUコア11と、ハードマクロ(メモリ)論理シミュレーション用機能モデル12を備える。   The CPU 10 includes a CPU core 11 and a function model 12 for hard macro (memory) logic simulation.

CPUコア11は、論理検証の対象となる部分であるCPU内部ロジックを管理し、エラー付きデータを受け取ると仕様に基づいてパリティエラー等のエラーの検出、処理を行う。ここでは、パリティエラーを例に説明するが、実際にはパリティエラーに限定されない。   The CPU core 11 manages the internal logic of the CPU, which is a part to be subjected to logic verification. When data with an error is received, the CPU core 11 detects and processes an error such as a parity error based on the specification. Here, a parity error will be described as an example, but it is not actually limited to a parity error.

ハードマクロ(メモリ)論理シミュレーション用機能モデル12は、実際のデバイス内に存在するハードマクロ(メモリ)の動作と等価なシミュレーション用モデルである。   The hard macro (memory) logic simulation function model 12 is a simulation model equivalent to the operation of a hard macro (memory) existing in an actual device.

外部メモリ20は、エラー制御用メモリ領域21と、命令・データ用メモリ領域22を有する。エラー制御用メモリ領域21と命令・データ用メモリ領域22は、それぞれ物理的に独立したメモリであっても良い。   The external memory 20 has an error control memory area 21 and an instruction / data memory area 22. The error control memory area 21 and the instruction / data memory area 22 may be physically independent memories.

エラー制御用メモリ領域21は、CPU11からのRead/Writeアクセスによって読み書き可能な領域である。これにより、エラーの発生を制御することができる。   The error control memory area 21 is a readable / writable area by Read / Write access from the CPU 11. Thereby, the occurrence of an error can be controlled.

命令・データ用メモリ領域22は、論理検証のための検証用プログラムや、期待値のデータを格納する。   The instruction / data memory area 22 stores a verification program for logic verification and expected value data.

図1では、検証用プログラムとして、テストパタンファイル40が示されている。
テストパタンファイル40は、CPU10の命令セットに基づいて作成された検証用テストプログラムをアセンブラ等で変換したものである。メモリイメージとして命令・データ用メモリ領域22に格納される。ハードマクロ(メモリ)論理シミュレーション用機能モデル12が複数の場合、それぞれのハードマクロ(メモリ)論理シミュレーション用機能モデルに対し、エラー制御用メモリ領域21の番地を設定することで、独立してエラーの発生を制御することができる。
In FIG. 1, a test pattern file 40 is shown as a verification program.
The test pattern file 40 is obtained by converting a verification test program created based on the instruction set of the CPU 10 with an assembler or the like. The data is stored in the instruction / data memory area 22 as a memory image. When there are a plurality of hard macro (memory) logic simulation function models 12, by setting the address of the error control memory area 21 for each hard macro (memory) logic simulation function model, an error Generation can be controlled.

なお、図1では、ハードマクロ(メモリ)を一つしか図示していないが、CPU10の内部構成によっては複数メモリが存在する。ハードマクロ(メモリ)論理シミュレーション用機能モデル12は、機能が異なるハードマクロ(メモリ)毎に存在する。図2は、複数のハードマクロ(メモリ)論理シミュレーション用機能モデル12(12−i、i=1〜n:nは任意)が存在している場合を示す。   Although only one hard macro (memory) is shown in FIG. 1, there are a plurality of memories depending on the internal configuration of the CPU 10. The function model 12 for hard macro (memory) logic simulation exists for each hard macro (memory) having different functions. FIG. 2 shows a case where there are a plurality of hard macro (memory) logic simulation function models 12 (12-i, i = 1 to n: n is arbitrary).

ハードマクロ(メモリ)論理シミュレーション用機能モデル12は、メモリ本体121と、エラー発生制御回路122と、エラー発生回路123を備える。エラー発生制御回路122とエラー発生回路123は、メモリ本体121に接続されたCPU内部バス上の任意の場所に設置可能である。   The function model 12 for hard macro (memory) logic simulation includes a memory body 121, an error generation control circuit 122, and an error generation circuit 123. The error generation control circuit 122 and the error generation circuit 123 can be installed at any location on the CPU internal bus connected to the memory main body 121.

メモリ本体121は、ハードマクロ(メモリ)論理シミュレーション用機能モデル12の内部にあるハードマクロ(メモリ)である。   The memory main body 121 is a hard macro (memory) inside the functional model 12 for hard macro (memory) logic simulation.

エラー発生制御回路122は、論理シミュレーション実行中、エラー制御用メモリ領域21のデータをプローブしている。エラー制御用メモリ領域21の値から生成される条件と、CPUコア11からのバスアクセスの条件がマッチ(適合)した時、エラー発生回路123にエラー発生信号を出力する。   The error generation control circuit 122 probes the data in the error control memory area 21 during the logic simulation. When the condition generated from the value of the error control memory area 21 matches the condition of the bus access from the CPU core 11, an error occurrence signal is output to the error generation circuit 123.

エラー発生回路123は、エラー発生制御回路122からのエラー発生信号を受けて、その内容に応じたバスエラーを発生させ、CPUコア11へエラー付きデータを返す。若しくは、メモリ本体121にエラー付きデータを格納する。   The error generation circuit 123 receives the error generation signal from the error generation control circuit 122, generates a bus error according to the content, and returns data with an error to the CPU core 11. Alternatively, data with an error is stored in the memory main body 121.

次に、図3を参照して、本発明における全体的な動作について説明する。
(1)ステップS101
検証者等によって記述されたテストプログラムは、図4に示すように、アセンブラ等によりテストパタンファイル40に変換され、メモリイメージとして命令・データ用メモリ領域22に格納される。
(2)ステップS102
CPU10は、リセットが解除されたら外部メモリ20から命令を読み出し、命令に応じた処理を行う。
(3)ステップS103
テストプログラムによっては、エラー制御用メモリ領域21にRead/Writeする記述になっている場合がある。エラー制御用メモリ領域21に書き込まれた内容によっては、エラー発生制御回路122によりハードマクロ(メモリ)論理シミュレーション用機能モデル12の書き込みデータ、読み出しデータにエラーを発生させる場合がある。エラー発生時、CPUコア11は、エラー検出時の仕様に基づいた例外処理を行い、その後再び通常の処理を行う。
(4)ステップS104
テストパタンファイル40に記述された一連の動作を行うと正常終了となる。
(5)ステップS105
仕様に反した動作を行うと異常終了となる。
Next, the overall operation of the present invention will be described with reference to FIG.
(1) Step S101
As shown in FIG. 4, the test program written by the verifier is converted into a test pattern file 40 by an assembler or the like, and stored in the instruction / data memory area 22 as a memory image.
(2) Step S102
When the reset is released, the CPU 10 reads an instruction from the external memory 20 and performs processing according to the instruction.
(3) Step S103
Depending on the test program, the error control memory area 21 may be described to read / write. Depending on the contents written in the error control memory area 21, the error generation control circuit 122 may cause an error in the write data and read data of the hard macro (memory) logic simulation function model 12. When an error occurs, the CPU core 11 performs exception processing based on the specification at the time of error detection, and then performs normal processing again.
(4) Step S104
When a series of operations described in the test pattern file 40 is performed, the process ends normally.
(5) Step S105
If the operation is against the specifications, it will end abnormally.

図5を参照して、論理シミュレーションの流れを説明する。なお、ここではパリティエラーを例に説明しているが、実際には、パリティエラーに限定されない。
(a)パリティエラーが発生しない場合
シミュレーション開始後、リセットが解除されると、CPU10は、テストプログラムに書かれた命令を処理し続ける。この間、外部メモリ20へのRead/Write、ハードマクロ(メモリ)論理シミュレーション用機能モデル12へのRead/Writeを行う。処理実行中に仕様違反が発生すれば、シミュレーションは異常終了となる。仕様違反が発生することなく一連の動作を行えば、シミュレーションは正常終了となる。
(b)パリティエラーが発生する場合
シミュレーション開始後、エラー制御用メモリ領域21に書き込むことでパリティエラー発生条件を設定する。設定された条件に基づいてパリティエラーの検出を行う。パリティエラーが検出できなければ、シミュレーションは異常終了となる。パリティエラーが検出されれば、パリティエラー検出時の仕様に基づいた例外処理を行う。例外処理中であっても仕様違反が発生すれば、シミュレーションは異常終了となる。
A logic simulation flow will be described with reference to FIG. Although a parity error is described here as an example, the present invention is not limited to a parity error in practice.
(A) When no parity error occurs When the reset is released after the simulation is started, the CPU 10 continues to process the instructions written in the test program. During this time, Read / Write to the external memory 20 and Read / Write to the function model 12 for hard macro (memory) logic simulation are performed. If a specification violation occurs during processing execution, the simulation ends abnormally. If a series of operations are performed without causing a specification violation, the simulation ends normally.
(B) When a parity error occurs After the simulation is started, a parity error occurrence condition is set by writing to the error control memory area 21. Parity error detection is performed based on the set conditions. If no parity error is detected, the simulation ends abnormally. If a parity error is detected, exception processing based on the specification at the time of parity error detection is performed. If a specification violation occurs even during exception processing, the simulation ends abnormally.

次に、図6を参照して、エラー制御用メモリ領域21の詳細について説明する。   Next, the details of the error control memory area 21 will be described with reference to FIG.

図6は、ハードマクロ(メモリ)Nに対し、アドレス0x2番地へのReadアクセス発生時、読み出しデータが0xffff_ff00だった場合、データの0bit目が反転し、エラーを発生するという条件を設定した例である。   FIG. 6 shows an example in which a condition is set for a hard macro (memory) N that, when Read access to address 0x2 occurs, if the read data is 0xffff_ff00, the 0th bit of the data is inverted and an error occurs. is there.

図6に示した例では、CPU10が、エラー制御用メモリ領域21に対し、ハードマクロ(メモリ)の数(N)に分割してハードマクロ(メモリ)1〜N用領域を設定する。更に、一つのハードマクロ(メモリ)N用領域(ベースアドレス0x0100)は、アクセスアドレス(オフセット0x0)、アクセスデータ(オフセット0x8)、アクセスタイプ(オフセット0x10)、エラー内容(オフセット0x18)という内容を保持する。論理シミュレーション実施中は、CPUコアからのLoad(読み込み)/Store(格納)命令により読み書き可能である。   In the example shown in FIG. 6, the CPU 10 divides the error control memory area 21 into the number (N) of hard macros (memory) and sets areas for hard macros (memory) 1 to N. Further, one hard macro (memory) N area (base address 0x0100) holds the contents of access address (offset 0x0), access data (offset 0x8), access type (offset 0x10), and error contents (offset 0x18). To do. During the logic simulation, reading / writing can be performed by a Load (read) / Store (store) instruction from the CPU core.

次に、図7を参照して、エラー発生制御回路122とエラー発生回路123の詳細について説明する。   Next, the details of the error generation control circuit 122 and the error generation circuit 123 will be described with reference to FIG.

図7は、図6の設定をした時、アドレス0x2番地へのReadアクセス時、読み出しデータが0xffff_ff00の時、データの0bit目を反転するためのエラー発生信号をエラー発生回路に通知する場合の例である。   FIG. 7 shows an example of notifying the error generation circuit of an error occurrence signal for inverting the 0th bit of data when the read of the address 0x2 is performed and the read data is 0xffff_ff00 when the setting of FIG. 6 is performed. It is.

図7に示すように、エラー発生制御回路122は、メモリプローブ部1221と、エラー発生条件チェック部1222を備える。   As shown in FIG. 7, the error occurrence control circuit 122 includes a memory probe unit 1221 and an error occurrence condition check unit 1222.

メモリプローブ部1221は、エラー制御用メモリ領域21の値を論理シミュレーション中にプローブしている。エラー発生制御回路122は、メモリプローブ部1221においてクロックの立ち上がりに同期して毎サイクル、外部メモリ20の情報と、CPUコア11からのアクセスアドレス、アクセスタイプ、アクセスデータ(書き込みデータ)を監視している。   The memory probe unit 1221 probes the value of the error control memory area 21 during the logic simulation. The error generation control circuit 122 monitors the information in the external memory 20, the access address, access type, and access data (write data) from the CPU core 11 every cycle in synchronization with the rising edge of the clock in the memory probe unit 1221. Yes.

エラー発生条件チェック部1222は、メモリプローブ部1221で読み取ってきたデータと、CPUコア11が出力するアクセスアドレス、アクセスタイプ、書き込みデータ、読み出しデータをチェックし、条件にマッチしているか判定する。判定は、プログラム等により実施しても良い。   The error occurrence condition check unit 1222 checks the data read by the memory probe unit 1221 and the access address, access type, write data, and read data output by the CPU core 11, and determines whether or not the condition is met. The determination may be performed by a program or the like.

例えば、Verilog HDL(ハードウェア記述言語)では、PLI等を使用することや、階層を指定したassign文などで実装することができる。   For example, Verilog HDL (hardware description language) can be implemented using PLI or the like, or an assign statement specifying a hierarchy.

説明のため、以下にVerilog HDLによる記述のイメージを示す。但し、実際には、この例に限定されない。
<記述例>
assign.TargetAddr=board.ExtMem.PErrAdr;
assign.TargetType=board.ExtMem.PErrTyp;
assign.TargetData=board.ExtMem.PErrDat;
always @(posedge clk)begin
Match=(TargetAddr==MemAddr)
&(TargetType==MemType)
&(TargetData==MemData);
end
For the sake of explanation, an image of description in Verilog HDL is shown below. However, actually, it is not limited to this example.
<Description example>
assign. TargetAddr = board. ExtMem. PErrAdr;
assign. TargetType = board. ExtMem. PErrTyp;
assign. TargetData = board. ExtMem. PErrDat;
always @ (possed clk) begin
Match = (TargetAddr == MemAddr)
& (TargetType == MemType)
& (TargetData == MemData);
end

ここで、「assign」は、継続的代入を示す。例えば電気回路の配線接続に相当する。「TargetAddr」は、条件となるアクセスアドレスを示す。「TargetType」は、条件となるアクセスタイプを示す。「TargetData」は、条件となるアクセスデータを示す。「board」は、基盤となる半導体集積回路を示す。ここでは、論理シミュレーション環境(論理検証装置)1を示す。「ExtMem」は、外部メモリ20を示す。ここでは、特にエラー制御用メモリ領域21を示す。すなわち、「board.ExtMem.PErrAdr」は、エラー制御用メモリ領域21の値であるアクセスアドレスを示す。同様に、「board.ExtMem.PErrTyp」は、エラー制御用メモリ領域21の値であるアクセスタイプを示す。「board.ExtMem.PErrDat」は、エラー制御用メモリ領域21の値であるアクセスデータを示す。「always @(イベント式)」は、イベント式にあるイベントが発生するたびに実行されるブロックである。「posedge clk」は、クロック信号が0から1に変化した場合を指定する。すなわち、クロック信号の立ち上がりエッジに同期する。「begin ... end」は、汎用のブロック範囲である。「MemAddr」は、CPUコア11からのアクセスアドレスを示す。「MemType」は、CPUコア11からのアクセスタイプを示す。「MemData」は、CPUコア11からのアクセスデータを示す。「Match=(TargetAddr==MemAddr)&(TargetType==MemType)&(TargetData==MemData);」は、条件にマッチしているか否かの判定を示す。ここでは、アクセスアドレス、アクセスタイプ、アクセスデータが全て一致すれば条件にマッチしていると判断する。但し、実際には、アクセスアドレス、アクセスタイプ、アクセスデータのいずれかが一致すれば条件にマッチしていると判断するようにしても良い。   Here, “assign” indicates continuous assignment. For example, it corresponds to wiring connection of an electric circuit. “TargetAddr” indicates an access address as a condition. “TargetType” indicates an access type as a condition. “TargetData” indicates access data as a condition. “Board” indicates a semiconductor integrated circuit serving as a base. Here, a logic simulation environment (logic verification device) 1 is shown. “ExtMem” indicates the external memory 20. Here, an error control memory area 21 is particularly shown. That is, “board.ExtMem.PErrAdr” indicates an access address that is a value of the error control memory area 21. Similarly, “board.ExtMem.PErrTyp” indicates an access type that is a value of the error control memory area 21. “Board.ExtMem.PErrDat” indicates access data that is a value of the error control memory area 21. “Always @ (event formula)” is a block that is executed whenever an event in the event formula occurs. “Position clk” designates a case where the clock signal changes from 0 to 1. That is, it is synchronized with the rising edge of the clock signal. “Begin... End” is a general block range. “MemAddr” indicates an access address from the CPU core 11. “MemType” indicates an access type from the CPU core 11. “MemData” indicates access data from the CPU core 11. “Match = (TargetAddr == MemAddr) & (TargetType == MemType) & (TargetData == MemData);” indicates whether or not the condition is met. Here, if the access address, access type, and access data all match, it is determined that the condition is met. However, in practice, it may be determined that the condition is matched if any of the access address, the access type, and the access data matches.

エラー発生条件チェック部1222は、条件にマッチすればエラー発生回路123にエラー発生信号を出力する。   The error occurrence condition check unit 1222 outputs an error occurrence signal to the error generation circuit 123 if the condition is met.

エラー発生回路123は、エラー発生信号の内容に応じてデータの反転処理を行う。   The error generation circuit 123 performs data inversion processing according to the content of the error generation signal.

次に、図8を参照して、論理シミュレーション実施中にCPU10からハードマクロ(メモリ)N用領域に対し、アクセスアドレス(0x2)、アクセスデータ(0xffff_ff00)、アクセスタイプ(0x1)、エラー内容(0x1)が書き込まれた場合の動作について説明する。すなわち、0x2番地からの読み出しデータが0xffff_ff00の時にデータの0bit目を反転するという設定である。   Next, referring to FIG. 8, during the logic simulation, the CPU 10 accesses the hard macro (memory) N area from the access address (0x2), access data (0xffff_ff00), access type (0x1), and error content (0x1). ) Will be described. That is, when the read data from address 0x2 is 0xffff_ff00, the 0th bit of the data is inverted.

(1)ステップS201
エラー発生制御回路122内のメモリプローブ部1221は、ハードマクロ(メモリ)用領域の値をプローブしている。
(2)ステップS202
エラー発生制御回路122内のエラー発生条件チェック部1222は、CPUコア11からのアクセスアドレス、アクセスタイプ、書き込みデータ、メモリ本体121からの読み出しデータという実際のアクセスと、メモリプローブ部1221の値を比較し、条件にマッチしたらエラー発生信号を出力する。ここでは、読み出しデータの0bit目を反転させるための信号を生成する。
(3)ステップS203
エラー発生回路123は、エラー発生制御回路122からのエラー発生信号を受け、読み出しデータの0bit目を反転させ、CPUコア11に読み出しデータとしてエラー付きデータを渡す。
(4)ステップS204
CPUコア11は、エラー付きデータを受け取り、仕様に定められた動作を行う。
(1) Step S201
The memory probe unit 1221 in the error occurrence control circuit 122 probes the value of the hard macro (memory) area.
(2) Step S202
The error occurrence condition check unit 1222 in the error occurrence control circuit 122 compares the actual access of the access address, access type, write data, and read data from the memory body 121 with the value of the memory probe unit 1221. If the condition is met, an error occurrence signal is output. Here, a signal for inverting the 0th bit of the read data is generated.
(3) Step S203
The error generation circuit 123 receives the error generation signal from the error generation control circuit 122, inverts the 0th bit of the read data, and passes the data with an error to the CPU core 11 as the read data.
(4) Step S204
The CPU core 11 receives data with an error and performs an operation defined in the specification.

以上のように、本発明では、エラー制御用メモリ領域をCPUの外、エラー発生制御回路とエラー発生回路をハードマクロ(メモリ)論理シミュレーション用機能モデル内に設ける。これらを一つの論理シミュレーション環境内に設けることで、CPUコアからハードマクロ(メモリ)論理シミュレーション用機能モデルへのアドレスをフルに利用したシミュレーション実行中にパリティエラーの発生をプログラム上でコントロールできる。公知技術では、メモリモデルの限定された領域でしかエラーの発生を制御できなかったが、本発明では、この問題を解決することができる。   As described above, in the present invention, the error control memory area is provided outside the CPU, and the error generation control circuit and the error generation circuit are provided in the function model for hard macro (memory) logic simulation. By providing these in one logic simulation environment, the occurrence of a parity error can be controlled on the program during the simulation execution using the address from the CPU core to the function model for hard macro (memory) logic simulation. In the known technology, the occurrence of errors can be controlled only in a limited area of the memory model, but the present invention can solve this problem.

本発明により、パリティエラーの発生タイミングを考慮した論理シミュレーションが可能となる。また、メモリモデルのどこにアクセスしてもエラーを発生させることが可能となる。なお、パリティをECCに置き換えて動作させることも可能である。また、メモリ毎にパリティエラーの発生を制御できるので、例えば、複数メモリでの同時エラー発生といった、普通では起き得ないようなケースなども検証可能となる。更に、実機でパリティエラー起因と思われる不良品の解析をシミュレーションで行うような場合の解析を容易にする。   According to the present invention, a logic simulation can be performed in consideration of the occurrence timing of a parity error. In addition, an error can be generated regardless of where the memory model is accessed. It is also possible to operate by replacing the parity with ECC. In addition, since the occurrence of a parity error can be controlled for each memory, it is possible to verify cases that cannot occur normally, such as simultaneous errors in a plurality of memories. Furthermore, it is possible to facilitate the analysis in the case where an analysis of a defective product that seems to be caused by a parity error in a real machine is performed by simulation.

以下に、本発明の第2実施例について説明する。
背景技術において説明した公知技術では、アクセスすることがトリガ(契機)となってエラーが制御されているので、ランダムなタイミングでエラーが発生するようなケース(事例)には対応できないと考えられる。
The second embodiment of the present invention will be described below.
In the publicly-known technology described in the background art, since an error is controlled by a trigger (trigger) as an access, it is considered that a case (example) in which an error occurs at random timing cannot be handled.

本実施例における論理シミュレーション環境(論理検証装置)の基本構成は、第1実施例と同様である。本実施例では、Read(読み出し)/Write(書き込み)の処理に特徴がある。   The basic configuration of the logic simulation environment (logic verification device) in this embodiment is the same as that in the first embodiment. This embodiment is characterized by Read (read) / Write (write) processing.

まず、Read(読み出し)の処理について説明する。
本実施例では、read要求がない時でも、エラー制御用メモリ領域21のアクセスタイプに「read」を設定し、エラー発生条件チェック部1222においてランダムエラー発生条件にマッチしていれば、エラー発生回路123とCPUコア11間の読み出しデータバスにエラーを発生させる。これは、メモリが出しているデータ(例えば前のread時のデータ)に対し、CPUコア11がエラーを誤検出しないという動作をチェックするために行っている。
First, the Read process will be described.
In this embodiment, even when there is no read request, if the read type is set to “read” in the error control memory area 21 and the error occurrence condition check unit 1222 matches the random error occurrence condition, the error occurrence circuit An error is generated in the read data bus between the CPU 123 and the CPU core 11. This is performed to check an operation in which the CPU core 11 does not erroneously detect an error with respect to data output from the memory (for example, data at the previous read time).

次に、Write(書き込み)の処理について説明する。
本実施例では、write要求がない時でも、エラー制御用メモリ領域21のアクセスタイプに「write」を設定し、エラー発生条件チェック部1222においてランダムエラー発生条件にマッチしていれば、エラー発生回路123からメモリ本体121への書き込みデータにエラーを発生させ、実際にエラー付きのデータをメモリ本体に書き込む。
Next, a write (write) process will be described.
In this embodiment, even when there is no write request, if “write” is set in the access type of the error control memory area 21 and the error occurrence condition check unit 1222 matches the random error occurrence condition, the error occurrence circuit An error is generated in the write data from 123 to the memory main body 121, and the data with the error is actually written in the memory main body.

例えば、メモリ本体を4セット(way)のキャッシュメモリと想定した場合、同じreadアドレスに対し、4セット(way)のreadデータを出力する。CPUコア11では、読み出してきた4セットのデータから必要なデータを1セット選択し、使用する。   For example, assuming that the memory body is a cache memory of 4 sets (way), 4 sets of read data are output to the same read address. The CPU core 11 selects one set of necessary data from the read four sets of data and uses it.

エラー付きのデータをメモリ本体にランダムに書き込むことによって、本来必要でないセット(way)のデータにエラーが発生していてもCPUコア11がエラーを誤検出しないという動作をチェックする。   By randomly writing data with an error in the memory main body, the CPU core 11 checks the operation that the error is not erroneously detected even if an error has occurred in the data of a set that is not originally necessary.

read時に必要でないセット(way)のデータに対し、CPUコア11からのwriteアクセスを発生させエラーつきで書き込んだ上で再び読み出すという手順を省くことができる。   It is possible to omit the procedure of generating a write access from the CPU core 11, writing with an error, and then reading the set data that is not necessary at the time of reading again.

図9を参照して、本実施例におけるエラー制御用メモリ領域21の詳細について説明する。   The details of the error control memory area 21 in this embodiment will be described with reference to FIG.

本実施例では、ハードマクロ(メモリ)Nに対し、ランダムにエラーが発生するように変更している。図9は、発生時間間隔が0x00000100〜0x0000ff00の範囲、保持期間が0x00000001〜0x000000ffの範囲、発生アドレスが0x00〜0xffの範囲で、Readデータ、Writeデータにデータの0bit目が反転し、エラーを発生するという条件を設定した例である。   In this embodiment, the hard macro (memory) N is changed so that errors occur randomly. FIG. 9 shows that when the generation time interval is in the range of 0x00000100 to 0x0000ff00, the retention period is in the range of 0x00000001 to 0x000000ff, and the generation address is in the range of 0x00 to 0xff, the 0th bit of the data is inverted in the Read data and Write data, and an error occurs. This is an example in which a condition to do is set.

図9に示した例では、一つのハードマクロ(メモリ)N用領域(ベースアドレス0x0100)は、発生アドレス(オフセット0x0)、発生時間間隔データ(オフセット0x8)、アクセスタイプ(オフセット0x10)、エラー内容(オフセット0x18)という内容を保持する。図6と図9を比較すると、「アクセスアドレス」と「アクセスデータ」の代わりに、「発生アドレス」と「発生時間間隔データ」が保持されている。すなわち、「アクセスアドレス」として「発生アドレス」を保持し、「アクセスデータ」として「発生時間間隔データ」を保持する。なお、「発生時間間隔データ」の上位32bitを「保持期間」とし、「発生時間間隔データ」の下位32bitを「発生時間間隔」とする。   In the example shown in FIG. 9, one hard macro (memory) N area (base address 0x0100) has a generated address (offset 0x0), generated time interval data (offset 0x8), access type (offset 0x10), and error contents. The content of (offset 0x18) is held. Comparing FIG. 6 and FIG. 9, “generation address” and “generation time interval data” are held instead of “access address” and “access data”. That is, “occurrence address” is held as “access address”, and “occurrence time interval data” is held as “access data”. The upper 32 bits of the “occurrence time interval data” are set as “holding period”, and the lower 32 bits of the “occurrence time interval data” are set as “occurrence time interval”.

次に、図10を参照して、本実施例におけるエラー発生制御回路122とエラー発生回路123の詳細について説明する。   Next, the details of the error generation control circuit 122 and the error generation circuit 123 in this embodiment will be described with reference to FIG.

図10は、基本的に図7と同様であるが、本実施例では、ランダム設定時にはCPUコア11からのアクセスアドレス、アクセスタイプ、アクセスデータ(書き込みデータ)を監視しない。   FIG. 10 is basically the same as FIG. 7, but in this embodiment, the access address, access type, and access data (write data) from the CPU core 11 are not monitored during random setting.

図11を参照して、ランダム設定時の動作について説明する。
エラー発生制御回路122内のエラー発生条件チェック部1222や、エラー発生回路123は、以下のような動作を行い、ランダムなエラーを発生する。
The operation at the time of random setting will be described with reference to FIG.
The error generation condition check unit 1222 and the error generation circuit 123 in the error generation control circuit 122 perform the following operations and generate random errors.

(1)ステップS301
エラー発生回路123は、発生時間間隔で示される範囲内の乱数を発生させる。これをエラー発生までのクロック数(A)とする。
(2)ステップS302
エラー発生回路123は、保持期間で示される範囲内の乱数を発生させる。これをエラー発生が継続するクロック数(B)とする。
(3)ステップS303
エラー発生回路123は、発生アドレスで示される範囲内の乱数を発生させる。これをエラー発生対象となるアドレス(C)とする。
(4)ステップS304
エラー発生条件チェック部1222は、クロック数(A)をクロック毎に1ずつ減算する。
(5)ステップS305
エラー発生回路123は、クロック数(A)が0になったらエラーを発生させる。
(6)ステップS306
エラー発生条件チェック部1222は、クロック数(A)が0になったらクロック数(B)をクロック毎に1ずつ減算する。
(7)ステップS307
エラー発生条件チェック部1222は、アクセスタイプをチェックする。
(8)ステップS308
エラー発生回路123は、アクセスタイプがReadであればクロック数(B)が0になるまでの間、読み出しアクセスが発生するしないにかかわらず、エラー発生回路123からCPUコア11への読み出しデータパスにエラー内容に応じたエラーを発生させる。
(9)ステップS309
エラー発生回路123は、アクセスタイプがWriteであればアドレス(C)に対し、エラー内容に応じたエラーを発生させ、メモリ本体に書き込む。
(1) Step S301
The error generation circuit 123 generates a random number within the range indicated by the generation time interval. This is the number of clocks (A) until an error occurs.
(2) Step S302
The error generation circuit 123 generates a random number within the range indicated by the holding period. This is the number of clocks (B) in which the occurrence of errors continues.
(3) Step S303
The error generation circuit 123 generates a random number within the range indicated by the generation address. This is the address (C) where the error occurs.
(4) Step S304
The error occurrence condition check unit 1222 subtracts 1 from the number of clocks (A) for each clock.
(5) Step S305
The error generation circuit 123 generates an error when the clock number (A) becomes zero.
(6) Step S306
When the number of clocks (A) reaches 0, the error occurrence condition check unit 1222 subtracts 1 from the number of clocks (B) for each clock.
(7) Step S307
The error occurrence condition check unit 1222 checks the access type.
(8) Step S308
If the access type is “Read”, the error generation circuit 123 sets the read data path from the error generation circuit 123 to the CPU core 11 regardless of whether the read access occurs until the clock number (B) becomes zero. Generate an error according to the error content.
(9) Step S309
If the access type is Write, the error generating circuit 123 generates an error corresponding to the error content for the address (C) and writes it in the memory body.

以上の動作を繰り返す。   The above operation is repeated.

本実施例では、ランダム設定に基づき発生するエラーのタイミングをCPUコア11からのメモリアクセスのタイミングと分離する。すなわち、トリガとしない。   In this embodiment, the timing of an error that occurs based on random settings is separated from the timing of memory access from the CPU core 11. That is, it is not a trigger.

以下に、本発明の第3実施例について説明する。
本実施例では、CPU、メモリ、I/O(Input/Output)をつなぐ内部共通バス上でエラーを発生させる。
The third embodiment of the present invention will be described below.
In this embodiment, an error is generated on an internal common bus that connects a CPU, memory, and I / O (Input / Output).

図12を参照して、本実施例におけるCPUの構成について説明する。
本実施例では、CPU10は、CPUコア11と、ハードマクロ(メモリ)論理シミュレーション用機能モデル12と、I/O13と、メモリI/F(インタフェース)14と、内部共通バス15を備える。
With reference to FIG. 12, the configuration of the CPU in this embodiment will be described.
In this embodiment, the CPU 10 includes a CPU core 11, a function model 12 for hard macro (memory) logic simulation, an I / O 13, a memory I / F (interface) 14, and an internal common bus 15.

CPUコア11(11−j、j=1〜m:mは任意)は、複数でも良い。すなわち、CPU10は、少なくとも1つのCPUコア11を備えている。図12では、例として、CPUコア11−1と、CPUコア11−2を示している。ハードマクロ(メモリ)論理シミュレーション用機能モデル12は、メモリ本体121と、エラー発生制御回路122と、エラー発生回路123を備える。I/O13は、各種の入出力ポートである。メモリI/F14は、外部メモリ20と接続するためのインタフェースである。内部共通バス15は、CPUコア11と、ハードマクロ(メモリ)論理シミュレーション用機能モデル12と、I/O13と、メモリI/F14を相互に接続するための内部バスである。   There may be a plurality of CPU cores 11 (11-j, j = 1 to m: m is arbitrary). That is, the CPU 10 includes at least one CPU core 11. In FIG. 12, a CPU core 11-1 and a CPU core 11-2 are shown as an example. The function model 12 for hard macro (memory) logic simulation includes a memory body 121, an error generation control circuit 122, and an error generation circuit 123. The I / O 13 is various input / output ports. The memory I / F 14 is an interface for connecting to the external memory 20. The internal common bus 15 is an internal bus for mutually connecting the CPU core 11, the function model 12 for hard macro (memory) logic simulation, the I / O 13, and the memory I / F 14.

CPU10と外部メモリ20は、メモリR/W用バス30で接続されている。外部メモリ20は、エラー制御用メモリ領域21と、命令・データ用メモリ領域22を有する。エラー制御用メモリ領域21は、エラー発生制御回路122にデータを提供する。   The CPU 10 and the external memory 20 are connected by a memory R / W bus 30. The external memory 20 has an error control memory area 21 and an instruction / data memory area 22. The error control memory area 21 provides data to the error generation control circuit 122.

このような構成にすることにより、ハードマクロ(メモリ)論理シミュレーション用機能モデル12から内部共通バス15上に読み出されたデータ、若しくは内部共通バス15を介してハードマクロ(メモリ)論理シミュレーション用機能モデル12に書き込まれるデータに、エラーを発生させることができる。   With this configuration, data read out from the hard macro (memory) logic simulation function model 12 onto the internal common bus 15 or the hard macro (memory) logic simulation function via the internal common bus 15. An error can be generated in the data written to the model 12.

最後に、本発明の特徴について説明する。
本発明では、CPUの外側にあるエラー制御用メモリ領域のデータをもとに、エラー発生制御回路がエラー発生回路を制御し、パリティエラーを発生させる。また、エラー発生制御回路とエラー発生回路が、論理合成されないハードマクロ(メモリ)論理シミュレーション用機能モデルの全アドレスに対し、エラーを制御する。そのため、CPUコアに特別なアドレスのビット幅拡張などのための回路を必要としない。更に、エラー発生制御回路とエラー発生回路を変更すれば、エラーの発生方法を自由に変更することができる。プロセッサがテープアウトした後でも可能である。
Finally, features of the present invention will be described.
In the present invention, based on the data in the error control memory area outside the CPU, the error generation control circuit controls the error generation circuit to generate a parity error. Further, the error generation control circuit and the error generation circuit control errors for all addresses of the function model for hard macro (memory) logic simulation that is not logically synthesized. Therefore, a circuit for extending the bit width of a special address is not required for the CPU core. Further, the error generation method can be freely changed by changing the error generation control circuit and the error generation circuit. It is possible even after the processor has taped out.

このように、本発明は、シミュレーション時のエラーの発生をプロセッサ内のリソースを増やすことなく実現し、動作の検証を行うことを容易にする。或いは、実機評価などでエラーが発生した時にシミュレーション上で状況を再現するための手助けになる。   As described above, the present invention realizes the occurrence of an error during simulation without increasing the resources in the processor, and facilitates operation verification. Alternatively, it helps to reproduce the situation on the simulation when an error occurs during actual machine evaluation.

本発明は、高信頼性を求められるマイクロプロセッサの論理検証分野に適用することが可能である。   The present invention can be applied to the logic verification field of microprocessors that require high reliability.

図1は、本発明の対象となる論理シミュレーション環境(論理検証装置)の構成図である。FIG. 1 is a configuration diagram of a logic simulation environment (logic verification apparatus) that is an object of the present invention. 図2は、CPU内に複数のメモリが存在する場合の例を示す図である。FIG. 2 is a diagram illustrating an example where a plurality of memories exist in the CPU. 図3は、本発明における動作を示すフローチャートである。FIG. 3 is a flowchart showing the operation in the present invention. 図4は、テストプログラムの例を示す図である。FIG. 4 is a diagram illustrating an example of a test program. 図5は、論理シミュレーションの流れを説明するための図である。FIG. 5 is a diagram for explaining the flow of logic simulation. 図6は、第1実施例におけるエラー制御用メモリ領域の説明のための図である。FIG. 6 is a diagram for explaining the error control memory area in the first embodiment. 図7は、第1実施例におけるエラー発生制御回路とエラー発生回路の説明のための図である。FIG. 7 is a diagram for explaining the error generation control circuit and the error generation circuit in the first embodiment. 図8は、論理シミュレーション実施中にCPUからハードマクロ(メモリ)用領域に各種データがが書き込まれた場合の動作を示すフローチャートである。FIG. 8 is a flowchart showing the operation when various data are written from the CPU to the hard macro (memory) area during the logic simulation. 図9は、第2実施例におけるエラー制御用メモリ領域の説明のための図である。FIG. 9 is a diagram for explaining an error control memory area in the second embodiment. 図10は、第2実施例におけるエラー発生制御回路とエラー発生回路の説明のための図である。FIG. 10 is a diagram for explaining the error generation control circuit and the error generation circuit in the second embodiment. 図11は、ランダム設定時の動作を示すフローチャートである。FIG. 11 is a flowchart showing an operation at the time of random setting. 図12は、第3実施例におけるCPUの説明のための図である。FIG. 12 is a diagram for explaining the CPU in the third embodiment.

符号の説明Explanation of symbols

1… 論理シミュレーション環境(論理検証装置)
10… CPU
11… CPUコア
12… ハードマクロ(メモリ)論理シミュレーション用機能モデル
121… メモリ本体(ハードマクロ(メモリ))
122… エラー発生制御回路
1221… メモリプローブ部
1222… エラー発生条件チェック部
123… エラー発生回路
20… 外部メモリ
21… エラー制御用メモリ領域
22… 命令・データ用メモリ領域
1 ... Logic simulation environment (logic verification device)
10 ... CPU
11 ... CPU core 12 ... Functional model for hard macro (memory) logic simulation 121 ... Memory body (hard macro (memory))
DESCRIPTION OF SYMBOLS 122 ... Error generation control circuit 1221 ... Memory probe part 1222 ... Error generation condition check part 123 ... Error generation circuit 20 ... External memory 21 ... Error control memory area 22 ... Instruction / data memory area

Claims (4)

CPUと、  CPU,
前記CPUに接続され、論理検証のための前記エラー発生条件として、アクセスアドレス、アクセスデータ、アクセスタイプ、発生時間間隔、保持期間、及び発生アドレスに関する情報を保持するエラー制御用メモリと  An error control memory connected to the CPU and holding information on an access address, access data, an access type, an occurrence time interval, a retention period, and an occurrence address as the error occurrence condition for logic verification;
を具備し、Comprising
前記CPUは、  The CPU
CPUコアと、  CPU core,
前記CPUコアとバスを介して接続される内部メモリと、  An internal memory connected to the CPU core via a bus;
論理検証実行中、前記エラー発生条件と、前記CPUのバスアクセスの状態とに基づき、エラー発生信号を出力するエラー発生制御回路と、  An error generation control circuit that outputs an error generation signal based on the error generation condition and the state of the bus access of the CPU during the logic verification;
前記エラー発生信号の内容に応じたバスエラーを発生させるエラー発生回路と  An error generation circuit for generating a bus error according to the content of the error generation signal;
を具備し、Comprising
前記エラー発生制御回路は、  The error generation control circuit includes:
論理検証実行中に前記エラー制御用メモリの値をプローブするメモリプローブ部と、  A memory probe for probing the value of the error control memory during logic verification; and
前記メモリプローブ部でプローブされたデータと、前記CPUコアから前記内部メモリに出力するデータとを比較し、前記CPUコアから前記内部メモリへのアクセスの条件と、前記エラー発生条件とが一致した場合に、前記エラー発生信号を前記エラー発生回路に出力するエラー発生条件チェック部と  When the data probed by the memory probe unit and the data output from the CPU core to the internal memory are compared, and the access condition from the CPU core to the internal memory matches the error occurrence condition In addition, an error occurrence condition check unit that outputs the error occurrence signal to the error generation circuit;
を具備し、Comprising
前記エラー発生条件チェック部は、前記発生時間間隔で示される範囲内の乱数に基づきエラー発生までの第1クロック数を設定し、前記保持期間で示される範囲内の乱数に基づきエラー発生が継続する第2クロック数を設定し、前記発生アドレスで示される範囲内の乱数に基づきエラー発生対象となるアドレスを設定し、前記第1クロック数をクロック毎に1ずつ減算し、前記第1クロック数が0になったら前記第2クロック数をクロック毎に1ずつ減算し、アクセスタイプをチェックし、  The error occurrence condition check unit sets a first clock number until an error occurs based on a random number within the range indicated by the occurrence time interval, and the error occurrence continues based on the random number within the range indicated by the holding period. A second clock number is set, an address as an error generation target is set based on a random number within the range indicated by the generated address, and the first clock number is subtracted by 1 for each clock, and the first clock number is When it reaches 0, subtract the second clock number by 1 for each clock, check the access type,
前記エラー発生回路は、前記第1クロック数が0になったらエラーを発生させ、アクセスタイプがReadであれば前記第2クロック数が0になるまでの間、前記エラー発生回路から前記CPUコアへの読み出しデータパスにエラー内容に応じたエラーを発生させ、アクセスタイプがWriteであれば前記アドレスに対し、エラー内容に応じたエラーを発生させ、前記内部メモリに書き込む  The error generation circuit generates an error when the first clock number becomes zero, and if the access type is Read, the error generation circuit transfers from the error generation circuit to the CPU core until the second clock number becomes zero. An error corresponding to the error content is generated in the read data path, and if the access type is Write, an error corresponding to the error content is generated for the address and written to the internal memory.
論理検証装置。  Logic verification device.
請求項に記載の論理検証装置であって、
前記内部メモリが、複数である場合、
前記エラー制御用メモリは、前記複数の内部メモリ毎に前記エラー発生条件を保持し、
前記エラー発生制御回路及び前記エラー発生回路は、前記複数の内部メモリ毎に設けられている
論理検証装置。
The logic verification device according to claim 1 ,
When the internal memory is plural,
The error control memory holds the error occurrence condition for each of the plurality of internal memories,
The error generation control circuit and the error generation circuit are provided for each of the plurality of internal memories.
請求項1又は2に記載の論理検証装置であって、
前記エラー制御用メモリは、ランダムなバスエラーを発生させるためのランダムエラー発生条件を保持し、
前記エラー発生回路は、前記ランダムエラー発生条件に基づき、ランダムなタイミング及びアドレスを用いてバスエラーを発生させる
論理検証装置。
The logic verification device according to claim 1 or 2 ,
The error control memory holds a random error occurrence condition for generating a random bus error,
The error generation circuit generates a bus error using a random timing and address based on the random error generation condition.
請求項1乃至のいずれか一項に記載の論理検証装置であって、
前記エラー発生回路は、前記エラー発生信号の内容に応じてデータの反転処理を行い、前記CPUコアにエラー付きデータを渡す
論理検証装置。
The logic verification device according to any one of claims 1 to 3 ,
The error generation circuit performs data inversion processing according to the content of the error generation signal, and passes data with an error to the CPU core .
JP2007168795A 2007-06-27 2007-06-27 Logic verification device and logic verification method Expired - Fee Related JP5006121B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007168795A JP5006121B2 (en) 2007-06-27 2007-06-27 Logic verification device and logic verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007168795A JP5006121B2 (en) 2007-06-27 2007-06-27 Logic verification device and logic verification method

Publications (2)

Publication Number Publication Date
JP2009009270A JP2009009270A (en) 2009-01-15
JP5006121B2 true JP5006121B2 (en) 2012-08-22

Family

ID=40324307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007168795A Expired - Fee Related JP5006121B2 (en) 2007-06-27 2007-06-27 Logic verification device and logic verification method

Country Status (1)

Country Link
JP (1) JP5006121B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5056625B2 (en) 2008-07-01 2012-10-24 富士通株式会社 Circuit design apparatus and circuit design method
JP5521846B2 (en) * 2010-07-16 2014-06-18 富士通株式会社 Communication path simulation program, logic verification program, and logic verification method
US11334459B2 (en) * 2020-08-18 2022-05-17 Advantest Corporation Flexible test systems and methods

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058431A (en) * 2005-08-23 2007-03-08 Canon Inc Simulation model and simulation method

Also Published As

Publication number Publication date
JP2009009270A (en) 2009-01-15

Similar Documents

Publication Publication Date Title
US7506217B2 (en) Apparatus and method for software-based control flow checking for soft error detection to improve microprocessor reliability
US20040255225A1 (en) Control circuit for error checking and correction and memory controller
JP5350677B2 (en) Bus signal control circuit and signal processing circuit having bus signal control circuit
US7752527B2 (en) Microcontroller and RAM
JP5462453B2 (en) Semiconductor device
JP2008009721A (en) Evaluation system and evaluation method thereof
JP2007041665A (en) Ecc functional test circuit and ecc functional test method
JP5006121B2 (en) Logic verification device and logic verification method
Floridia et al. Hybrid on-line self-test strategy for dual-core lockstep processors
US7797134B2 (en) System and method for testing a memory with an expansion card using DMA
JP4426468B2 (en) Embedded MCU capable of high-speed test using memory emulation module and test method thereof
US9245652B2 (en) Latency detection in a memory built-in self-test by using a ping signal
US20080195821A1 (en) Method and system of fast clearing of memory using a built-in self-test circuit
US7350109B2 (en) System and method for testing a memory using DMA
CN113760751B (en) Method for generating test case, electronic device and storage medium
JP5510107B2 (en) Error correction test method
JP2008176828A (en) Test circuit and test method of error detection correcting circuit
JP2007058450A (en) Semiconductor integrated circuit
JP2010040092A (en) Semiconductor integrated circuit
KR101917165B1 (en) Semiconductor memory apparatus
JP6003735B2 (en) DIMM simulated fault generation method and DIMM simulated fault generation apparatus
JP4426344B2 (en) Memory device control method and apparatus
US7472328B1 (en) Automatic testing of microprocessor bus integrity
US10120737B2 (en) Apparatus for detecting bugs in logic-based processing devices
JP6358122B2 (en) Microcomputer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120515

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120524

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees