JP2010140255A - Reconfigurable logic circuit, verification method and verification program - Google Patents

Reconfigurable logic circuit, verification method and verification program Download PDF

Info

Publication number
JP2010140255A
JP2010140255A JP2008315898A JP2008315898A JP2010140255A JP 2010140255 A JP2010140255 A JP 2010140255A JP 2008315898 A JP2008315898 A JP 2008315898A JP 2008315898 A JP2008315898 A JP 2008315898A JP 2010140255 A JP2010140255 A JP 2010140255A
Authority
JP
Japan
Prior art keywords
assertion
verification
circuit
design target
reconfigurable logic
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
JP2008315898A
Other languages
Japanese (ja)
Inventor
Masayuki Matsukura
雅幸 松倉
Tomohiro Oka
朋寛 岡
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 JP2008315898A priority Critical patent/JP2010140255A/en
Publication of JP2010140255A publication Critical patent/JP2010140255A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To suppress an increase in scale of a verification circuit mounted on a reconfigurable logic circuit when the number of assertions in assertion-based verification increases. <P>SOLUTION: The reconfigurable logic circuit includes a designed circuit and a verification circuit for verifying the designed circuit. The verification circuit is shared in verifications based on a plurality of assertions included in assertion-based verification. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、再構成可能論理回路ならびに検証方法および検証プログラムに関し、特に、アサーションベース検証に係る再構成可能論理回路ならびに検証方法及び検証プログラムに関する。   The present invention relates to a reconfigurable logic circuit, a verification method, and a verification program, and more particularly to a reconfigurable logic circuit, a verification method, and a verification program related to assertion-based verification.

大規模化および複雑化するシステムLSIの設計において、シミュレーションおよびシミュレーション結果の確認に要する時間が増大している。したがって、シミュレーション高速化およびシミュレーション結果確認の自動化をすることが課題となっている。これらの課題を解決するために、ソフトウェアシミュレータの機能の拡張に基づくアサーションベース検証(Assertion Based Verification)が広く用いられている。   In the design of system LSIs that are becoming larger and more complicated, the time required for simulation and confirmation of simulation results is increasing. Therefore, it is a problem to speed up simulation and automate simulation result confirmation. In order to solve these problems, assertion-based verification based on the expansion of the function of the software simulator is widely used.

アサーション(Assertion)とは、設計対象である回路において本来成立すべき条件を表現したものである。回路がどのように振舞うべきか、または振舞ってはならないかは、アサーション記述言語(例えば、PSL、System Verilog Assertion)によって定義される。アサーションベース検証とは、シミュレーション実行中、設計対象である回路の動作をつねに監視し、アサーションの成否を確認することによって、設計対象である回路における不具合の発生時刻及び発生箇所を特定することをいう。   An assertion expresses a condition that should originally be satisfied in a circuit to be designed. How a circuit should or should not be defined is defined by an assertion description language (eg, PSL, System Verilog Assertion). Assertion-based verification refers to identifying the occurrence time and location of a malfunction in a circuit to be designed by constantly monitoring the operation of the circuit to be designed during simulation and checking the success or failure of the assertion. .

しかし、アサーションベース検証を適用した場合には、ソフトウェアシミュレータにより回路の動作を監視するための負荷が大きいため、アサーションベース検証を適用しない場合と比較して、シミュレーション時間が長くなるという問題がある。そこで、シミュレーションを高速化するために、ソフトウェアシミュレータとハードウェアエミュレータを接続した協調シミュレーションに基づくアサーションベース検証を実現することが望ましい。   However, when the assertion-based verification is applied, a load for monitoring the operation of the circuit by the software simulator is large. Therefore, there is a problem that the simulation time is longer than that when the assertion-based verification is not applied. Therefore, in order to speed up the simulation, it is desirable to realize assertion-based verification based on cooperative simulation in which a software simulator and a hardware emulator are connected.

特許文献1において、ハードウェア及びソフトウェアの協調シミュレーションが記載されている。特許文献1の図2を参照すると、シミュレーション装置は、サイクル動作を行う設計対象回路3aが実装されるプログラマブル回路1aと、時間制約のない動作記述として作成されたプログラムを実行するコンピュータ2とを備える。   In Patent Document 1, hardware and software co-simulation is described. Referring to FIG. 2 of Patent Document 1, the simulation apparatus includes a programmable circuit 1a on which a design target circuit 3a that performs a cycle operation is mounted, and a computer 2 that executes a program created as an operation description without time constraints. .

プログラマブル回路1aは、コンピュータ2及び設計対象回路3a間のデータ転送をトランザクション単位で行うデータ転送回路41a、41bと、設計対象回路3aの動作が仕様を満たしているかを検証し、設計対象回路3aの動作が仕様を満たしていないときにエラー検出として通知する検証回路31_1〜31_n、31_1〜31_kと、エラーの検出が通知された場合に設計対象回路3aの動作を一時的に停止させて、検証回路31_1〜31_n、31_1〜31_kによる検証の結果をコンピュータ2に転送する検証結果転送回路42a、42bとを備える。   The programmable circuit 1a verifies whether the operations of the data transfer circuits 41a and 41b that perform data transfer between the computer 2 and the design target circuit 3a in units of transactions and the design target circuit 3a satisfy the specifications, and the design target circuit 3a The verification circuits 31_1 to 31_n and 31_1 to 31_k that notify the error detection when the operation does not satisfy the specifications, and the operation of the design target circuit 3a when the error detection is notified are temporarily stopped, and the verification circuit And verification result transfer circuits 42 a and 42 b that transfer the results of verification by 31 — 1 to 31 — n and 31 — 1 to 31 — k to the computer 2.

特開2007−094591号公報(図2)Japanese Patent Laying-Open No. 2007-094591 (FIG. 2)

以下の分析は、本発明者によってなされたものである。特許文献1に記載されたシミュレーション装置においては、第1ないし第n検証回路31_1〜31_nおよび第1ないし第k検証回路32_1〜32_kの個数は、(例えば、HDL記述中に挿入される)アサーションの数に対応している。すなわち、設計対象回路3aに対するアサーションは、それぞれ別個の検証回路として実装される。   The following analysis was made by the present inventors. In the simulation apparatus described in Patent Document 1, the numbers of the first to nth verification circuits 31_1 to 31_n and the first to kth verification circuits 32_1 to 32_k are the number of assertions (for example, inserted in the HDL description). It corresponds to the number. That is, the assertion for the design target circuit 3a is implemented as a separate verification circuit.

したがって、特許文献1に記載されたシミュレーション装置においては、設計対象回路3aの規模が増大するのに伴ってアサーションの数も増加した場合に、プログラマブル回路(再構成可能論理回路ともいう。)に実装される検証回路の規模が増大するという問題がある。   Therefore, in the simulation apparatus described in Patent Document 1, when the number of assertions increases as the scale of the design target circuit 3a increases, it is mounted on a programmable circuit (also referred to as a reconfigurable logic circuit). There is a problem that the scale of the verification circuit to be increased.

そこで、アサーションベース検証におけるアサーションの数が増大した場合における、再構成可能論理回路に実装される検証回路の規模の増大を抑えることが課題となる。   Therefore, it becomes a problem to suppress an increase in the scale of the verification circuit mounted on the reconfigurable logic circuit when the number of assertions in the assertion-based verification increases.

本発明の第1の視点に係る再構成可能論理回路は、設計対象回路と該設計対象回路を検証する検証回路とを備え、前記検証回路は、アサーションベース検証に含まれる複数のアサーションに基づく検証に共用される。   A reconfigurable logic circuit according to a first aspect of the present invention includes a design target circuit and a verification circuit that verifies the design target circuit, and the verification circuit performs verification based on a plurality of assertions included in assertion-based verification. Shared by

本発明の第2の視点に係る検証方法は、設計対象回路と該設計対象回路を検証する検証回路とを備える再構成可能論理回路による検証方法であって、前記検証回路によって、アサーションベース検証に含まれる第1のアサーションに基づく検証を行う工程と、前記検証回路によって、前記アサーションベース検証に含まれる第2のアサーションに基づく検証を行う工程とを含む。   A verification method according to a second aspect of the present invention is a verification method using a reconfigurable logic circuit including a design target circuit and a verification circuit for verifying the design target circuit, and the verification circuit performs assertion-based verification. A step of performing verification based on the first assertion included, and a step of performing verification based on the second assertion included in the assertion base verification by the verification circuit.

本発明の第3の視点に係る検証プログラムは、設計対象回路と該設計対象回路を検証する検証回路とを備え、アサーションベース検証に含まれる複数のアサーションに基づく検証に該検証回路が共用されるように構成された再構成可能論理回路に接続されたコンピュータに、該複数のアサーションのうちのいずれのアサーションに基づいて該設計対象回路を検証すべきかを選択する制御コードを送信させる。   A verification program according to a third aspect of the present invention includes a design target circuit and a verification circuit for verifying the design target circuit, and the verification circuit is shared for verification based on a plurality of assertions included in assertion-based verification. A computer connected to the reconfigurable logic circuit configured as described above is caused to transmit a control code for selecting which of the plurality of assertions is to be used to verify the design target circuit.

本発明に係る再構成可能論理回路ならびに検証方法および検証プログラムにより、アサーションベース検証におけるアサーションの数が増大した場合において、再構成可能論理回路に実装される検証回路の規模の増大を抑えることができる。   With the reconfigurable logic circuit, the verification method, and the verification program according to the present invention, when the number of assertions in the assertion-based verification increases, it is possible to suppress an increase in the size of the verification circuit mounted on the reconfigurable logic circuit. .

(第1の実施形態)
本発明の第1の実施形態に係る検証回路について図面を参照して説明する。図1は、本実施形態に係る検証回路の構成を示すブロック図である。図1を参照すると、再構成可能論理回路20とコンピュータ10との間で協調シミュレーションが行われる。再構成可能論理回路20は、検証回路27および設計対象回路21を備える。
(First embodiment)
A verification circuit according to a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a verification circuit according to the present embodiment. Referring to FIG. 1, a co-simulation is performed between the reconfigurable logic circuit 20 and the computer 10. The reconfigurable logic circuit 20 includes a verification circuit 27 and a design target circuit 21.

検証回路27は、設計対象回路21を検証する。検証回路27は、アサーションベース検証に含まれる複数のアサーションに基づく検証に共用される。   The verification circuit 27 verifies the design target circuit 21. The verification circuit 27 is shared for verification based on a plurality of assertions included in the assertion-based verification.

検証回路27は、アサーションベース検証に含まれる複数のアサーションのうちの互いに類似するものに基づく検証に共用されることが好ましい。   The verification circuit 27 is preferably shared for verification based on similarities among the plurality of assertions included in the assertion-based verification.

再構成可能論理回路20は、さらに設定レジスタ28を備えるようにしてもよい。設定レジスタ28は、アサーションベース検証に含まれる複数のアサーションのうちのいずれのアサーションに基づいて設計対象回路21を検証すべきかを選択する制御コードを記録する。検証回路27は、設定レジスタ28に記録された制御コードにより選択されたアサーションに基づいて設計対象回路21を検証する。   The reconfigurable logic circuit 20 may further include a setting register 28. The setting register 28 records a control code for selecting which of the plurality of assertions included in the assertion-based verification should verify the design target circuit 21. The verification circuit 27 verifies the design target circuit 21 based on the assertion selected by the control code recorded in the setting register 28.

また、コンピュータ10は、再構成可能論理回路20に接続される。検証プログラム11は、複数のアサーションのうちのいずれのアサーションに基づいて設計対象回路21を検証すべきかを選択する制御コードをコンピュータ10に送信させるようにしてもよい。   The computer 10 is also connected to a reconfigurable logic circuit 20. The verification program 11 may cause the computer 10 to transmit a control code for selecting which of the plurality of assertions is to be used to verify the design target circuit 21.

アサーションベース検証に含まれる複数のアサーションの間で検証回路27を共有することによって、アサーションの数が増大した場合において、再構成可能論理回路20に実装される検証回路27の規模の増大を抑えることができる。   By sharing the verification circuit 27 among a plurality of assertions included in the assertion-based verification, an increase in the size of the verification circuit 27 mounted on the reconfigurable logic circuit 20 can be suppressed when the number of assertions increases. Can do.

また、アサーションの記述に誤りが含まれる場合であっても、再構成可能論理回路20を再構成することなく誤りを修正することができる。なぜなら、検証プログラム11により検証回路27に対する設定レジスタ28を書き換えることによって、検証回路27の機能を修正することができるからである。   Even if the assertion description includes an error, the error can be corrected without reconfiguring the reconfigurable logic circuit 20. This is because the function of the verification circuit 27 can be corrected by rewriting the setting register 28 for the verification circuit 27 by the verification program 11.

本発明に係る検証回路の実施例について、図面を参照して説明する。図2は、本実施例の検証回路を含むシミュレーション装置の構成を示すブロック図である。シミュレーション装置は、コンピュータ60と再構成可能論理回路70を備え、両者は再構成可能論理回路70のIOポート50を介して接続される。   Embodiments of a verification circuit according to the present invention will be described with reference to the drawings. FIG. 2 is a block diagram showing a configuration of a simulation apparatus including the verification circuit of this embodiment. The simulation apparatus includes a computer 60 and a reconfigurable logic circuit 70, and both are connected via an IO port 50 of the reconfigurable logic circuit 70.

再構成可能論理回路70は、設計対象回路71、検証回路77、クロック制御回路73、ブレイク制御回路72およびIOポート50を備える。設計対象回路は、例えばHDLによって設計される。検証回路77は、設計対象回路71に対して定義されたアサーションに応じて生成される。クロック制御回路73は、検証回路77および設計対象回路71を動作させるクロックを生成する。ブレイク信号76は、アサーション発生やエラー発生をブレイク制御回路72およびクロック制御回路73に通知する信号である。ブレイク制御回路72は、ブレイク要求信号75を生成する。ブレイク要求信号75は、チェック結果をコンピュータ60上の検証プログラム61に転送することを要求する信号である。IOポート50は、コンピュータ60上の検証プログラム61と再構成可能論理回路70間の通信を制御する。   The reconfigurable logic circuit 70 includes a design target circuit 71, a verification circuit 77, a clock control circuit 73, a break control circuit 72, and an IO port 50. The circuit to be designed is designed by HDL, for example. The verification circuit 77 is generated according to the assertion defined for the design target circuit 71. The clock control circuit 73 generates a clock for operating the verification circuit 77 and the design target circuit 71. The break signal 76 is a signal for notifying the break control circuit 72 and the clock control circuit 73 that an assertion or error has occurred. The break control circuit 72 generates a break request signal 75. The break request signal 75 is a signal requesting that the check result be transferred to the verification program 61 on the computer 60. The IO port 50 controls communication between the verification program 61 on the computer 60 and the reconfigurable logic circuit 70.

検証回路77は、第1ないし第nアサーション回路74_1〜74_n、第1ないし第n設定レジスタ78_1〜78_n、第1ないし第n検証結果レジスタ79_1〜79_nおよび検証プログラムI/F51を備える。第1ないし第nアサーション回路74_1〜74_nは、設計対象回路71を観測し、期待する動作であるか否かをチェックする。第1ないし第n設定レジスタ78_1〜78_nは、第1ないし第nアサーション回路74_1〜74_nの機能を制御する。第1ないし第n検証結果レジスタ79_1〜79_nは、検証結果を格納する。検証プログラムI/F51は、コンピュータ60上の検証プログラム61から検証回路77にアクセスするためのI/Fである。   The verification circuit 77 includes first to nth assertion circuits 74_1 to 74_n, first to nth setting registers 78_1 to 78_n, first to nth verification result registers 79_1 to 79_n, and a verification program I / F51. The first to nth assertion circuits 74_1 to 74_n observe the design target circuit 71 and check whether the operation is an expected operation. The first to nth setting registers 78_1 to 78_n control the functions of the first to nth assertion circuits 74_1 to 74_n. The first to nth verification result registers 79_1 to 79_n store verification results. The verification program I / F 51 is an I / F for accessing the verification circuit 77 from the verification program 61 on the computer 60.

コンピュータ60に設けた検証プログラム61は、第1ないし第nアサーション回路74_1〜74_nの機能を変更するための設定コードである第1アサーション制御コード62_1_1〜62_1_m、…、第nアサーション制御コード62_n_1〜62_n_kを備える。   The verification program 61 provided in the computer 60 includes first assertion control codes 62_1_1 to 62_1_m, which are setting codes for changing the functions of the first to nth assertion circuits 74_1 to 74_n, and nth assertion control codes 62_n_1 to 62_n_k. Is provided.

第1アサーション制御コード62_1_1〜62_1_m、…、第nアサーション制御コード62_n_1〜62_n_kは、IOポート50および検証プログラムI/F51を介して、第1ないし第n設定レジスタ78_1〜78_nに設定される。第1ないし第nアサーション回路74_1〜74_nは、第1ないし第n設定レジスタ78_1〜78_nに設定されたアサーション制御コードにしたがって動作する。   The first assertion control codes 62_1_1 to 62_1_m,..., Nth assertion control codes 62_n_1 to 62_n_k are set in the first to nth setting registers 78_1 to 78_n via the IO port 50 and the verification program I / F51. The first to nth assertion circuits 74_1 to 74_n operate according to the assertion control code set in the first to nth setting registers 78_1 to 78_n.

IOポート50は、検証回路77の検証プログラムI/F51、ブレイク制御回路72およびクロック制御回路73に接続される。ブレイク制御回路72およびクロック制御回路73は、検証回路77の出力であるブレイク信号76を受信する。   The IO port 50 is connected to the verification program I / F 51 of the verification circuit 77, the break control circuit 72, and the clock control circuit 73. The break control circuit 72 and the clock control circuit 73 receive the break signal 76 that is the output of the verification circuit 77.

検証プログラム61は、ブレイク要求信号75を受信する。検証回路77の第1ないし第nアサーション回路74_1〜74_nは、設計対象回路71の内部信号を受信する。   The verification program 61 receives the break request signal 75. The first to nth assertion circuits 74_1 to 74_n of the verification circuit 77 receive the internal signal of the design target circuit 71.

図3を参照して、図2に示したシミュレーション装置の動作を説明する。コンピュータ60に設けた検証プログラム61は、第1アサーション回路に対するアサーションコードである第1アサーション制御コード62_1_1〜62_1_mのいずれか1つをIOポート50および検証プログラムI/F51を介して検証回路77の第1設定レジスタ78_1に設定する。同様に、検証プログラム61は、第nアサーション回路に対するアサーションコードである第nアサーション制御コード62_n_1〜62_n_kのいずれか1つを第n設定レジスタ78_nに設定する(ステップS10)。   The operation of the simulation apparatus shown in FIG. 2 will be described with reference to FIG. The verification program 61 provided in the computer 60 receives one of the first assertion control codes 62_1_1 to 62_1_m, which is an assertion code for the first assertion circuit, via the IO port 50 and the verification program I / F 51. 1 is set in the 1 setting register 78_1. Similarly, the verification program 61 sets any one of the nth assertion control codes 62_n_1 to 62_n_k, which is an assertion code for the nth assertion circuit, in the nth setting register 78_n (step S10).

次に、クロック制御回路73は、設計対象回路71および検証回路77にクロックを供給し、シミュレーションを開始する(ステップS11)。   Next, the clock control circuit 73 supplies a clock to the design target circuit 71 and the verification circuit 77, and starts a simulation (step S11).

シミュレーションが終了したか否かを判定し(ステップS14)、シミュレーションが終了した場合には(ステップS14のYes)、検証を終了する。   It is determined whether or not the simulation is finished (step S14). When the simulation is finished (Yes in step S14), the verification is finished.

一方、シミュレーションが終了していない場合には(ステップS14のNo)、アサーションチェック(ステップS15)を行う。ここでは、アサーションの成否のチェックとして、第1ないし第nアサーション回路74_1〜74_nが、設計対象回路71の内部信号を受信して、第1ないし第n設定レジスタ78_1〜78_nに設定されたアサーション制御コードに応じたアサーションが成立するか否かをチェックする(ステップS15)。アサーションが成立しない場合には(ステップS15のNo)、ステップS14の処理へ戻ってシミュレーションを継続する。   On the other hand, if the simulation has not ended (No in step S14), an assertion check (step S15) is performed. Here, as a check for the success or failure of the assertion, the first to nth assertion circuits 74_1 to 74_n receive the internal signal of the design target circuit 71 and the assertion control set in the first to nth setting registers 78_1 to 78_n is performed. It is checked whether an assertion corresponding to the code is established (step S15). If the assertion is not established (No in step S15), the process returns to step S14 and the simulation is continued.

アサーションが成立した場合には(ステップS15のYes)、第1ないし第nアサーション回路74_1〜74_nは、ブレイク信号76によってアサーション検証の発生をブレイク制御回路72に通知する。ブレイク制御回路72は、検証プログラム61にブレイク要求信号75を通知する(ステップS16)。クロック制御回路73は、ブレイク信号76を受信した場合には、設計対象回路71に供給しているクロックを停止する(ステップS17)。   When the assertion is established (Yes in step S15), the first to nth assertion circuits 74_1 to 74_n notify the break control circuit 72 of the generation of the assertion verification by the break signal 76. The break control circuit 72 notifies the verification program 61 of the break request signal 75 (step S16). When receiving the break signal 76, the clock control circuit 73 stops the clock supplied to the design target circuit 71 (step S17).

検証プログラム61は、ブレイク制御回路72からブレイク要求信号75を受信した場合には、IOポート50を介してブレイク制御回路72の要因レジスタ(非図示)を読み取り(リードし)、検証回路77内の第1ないし第nアサーション回路74_1〜74_nのいずれのアサーション回路からの通知であるのかを判定し、判定後にブレイク要因をクリア(消去)する(ステップS18)。   When the verification program 61 receives the break request signal 75 from the break control circuit 72, the verification program 61 reads (reads) a factor register (not shown) of the break control circuit 72 via the IO port 50, and It is determined which of the first to nth assertion circuits 74_1 to 74_n is the notification from the assertion circuit, and the break factor is cleared (erased) after the determination (step S18).

検証プログラム61は、IOポート50を介して、上記の判定結果に応じて第1ないし第n検証結果レジスタ79_1〜79_nのいずれかに格納された検証結果を読み出す(ステップS19)。   The verification program 61 reads the verification result stored in any of the first to nth verification result registers 79_1 to 79_n according to the determination result via the IO port 50 (step S19).

次に、ステップS11に戻り、クロック供給を再開し、上記ステップS11ないしS19の工程をシミュレーションの終了条件が成立する(ステップS14のYes)まで繰り返す。   Next, returning to step S11, the clock supply is resumed, and the above steps S11 to S19 are repeated until the simulation end condition is satisfied (Yes in step S14).

シミュレーション終了後、次に、検証すべきアサーションがある場合、すなわち、チェックが完了していないアサーション制御コードがある場合には、第1アサーション制御コード62_1_1〜62_1_mのいずれか1つ、…、第nアサーション制御コード62_n_1〜62_n_kのいずれか1つを、それぞれIOポート50および検証プログラムI/F51を介して、それぞれ、第1ないし第n設定レジスタ78_1〜78_nに設定する(ステップS10)。   After the simulation, when there is an assertion to be verified next, that is, when there is an assertion control code that has not been checked, one of the first assertion control codes 62_1_1 to 62_1_m,. Any one of the assertion control codes 62_n_1 to 62_n_k is set in the first to nth setting registers 78_1 to 78_n via the IO port 50 and the verification program I / F 51, respectively (step S10).

再度、シミュレーション(ステップS11ないしS19)を行う。検証すべきアサーションが全て終了するまで、上記のシミュレーションの工程を繰り返す。   The simulation (steps S11 to S19) is performed again. The simulation process is repeated until all the assertions to be verified are completed.

本発明に係る検証回路の第2の実施例として、アサーション回路の共有化について説明する。図4は、アサーション定義におけるプロパティ宣言を示し、特に、設計者によって定義されたLib1という名前のプロパティを示す。図4のプロパティ宣言は、「ARG1とARG2の値が一致してから3クロック後にARG3とARG4が一致していれば仕様を満たす」ということを示す。   As a second embodiment of the verification circuit according to the present invention, sharing of an assertion circuit will be described. FIG. 4 shows property declarations in the assertion definition, and in particular, shows a property named Lib1 defined by the designer. The property declaration in FIG. 4 indicates that “the specification is satisfied if ARG3 and ARG4 match after 3 clocks after the values of ARG1 and ARG2 match”.

以下、図4のようにARG1とARG2の値が一致することをアサーション前提条件という。また、アサーション前提条件が成立してから3クロック後にARG3とARG4が一致することをアサーション発生という。   Hereinafter, the fact that the values of ARG1 and ARG2 match as shown in FIG. 4 is referred to as an assertion precondition. The fact that ARG3 and ARG4 match three clocks after the assertion precondition is satisfied is called assertion generation.

図5は、設計者によって定義されたLib1というプロパティを呼び出して、check1とcheck2という異なるアサーション定義をインスタンス化した例である。   FIG. 5 is an example in which a property called Lib defined by the designer is called to instantiate different assertion definitions called check1 and check2.

図5のアサーションは、check1において、「aとbの値が一致してから3クロック後にcとdが一致している」ことを検証するものである。一方、check2では、「eとfの値が一致してから3クロック後にgとhが一致している」ことを検証する。   The assertion of FIG. 5 verifies that “c and d match after 3 clocks after the values of a and b match” in check 1. On the other hand, check2 verifies that “g and h match after 3 clocks after the values of e and f match”.

図6は、本実施例に係るアサーション回路の構成を示すブロック図である。図6は、図5のアサーションのインスタンスcheck1およびcheck2を1つのアサーション回路に変換したものである。図6のアサーション回路80は、検証回路部81と入力選択部82により構成されている。   FIG. 6 is a block diagram illustrating the configuration of the assertion circuit according to the present embodiment. FIG. 6 is a diagram in which the assertion instances check1 and check2 in FIG. 5 are converted into one assertion circuit. The assertion circuit 80 in FIG. 6 includes a verification circuit unit 81 and an input selection unit 82.

検証回路部81は、第1比較器83、第2比較器84、コントローラ86および結果判定回路85を備えている。コントローラ86は、結果判定のタイミングを制御する。   The verification circuit unit 81 includes a first comparator 83, a second comparator 84, a controller 86, and a result determination circuit 85. The controller 86 controls the result determination timing.

また、入力選択部82の第1のセレクタは、入力信号aおよび入力信号eはセレクタを受信し、入力選択信号CNT1により選択された入力信号を第1比較器83に出力する。入力選択部82の第2のセレクタは、入力信号bおよび入力信号fを受信し、入力選択信号CNT2により選択された入力信号を第1比較器83に出力する。入力選択部82の第3のセレクタは、入力選択部82の入力信号cおよび入力信号gを受信し、入力選択信号CNT3により選択された入力信号を第2比較器84に出力する。入力選択部82の第4のセレクタは、入力信号dおよび入力信号hを受信し、入力選択信号CNT4により選択された入力信号を第2比較器84に出力する。   The first selector of the input selection unit 82 receives the input signal a and the input signal e and outputs the input signal selected by the input selection signal CNT1 to the first comparator 83. The second selector of the input selection unit 82 receives the input signal b and the input signal f, and outputs the input signal selected by the input selection signal CNT2 to the first comparator 83. The third selector of the input selection unit 82 receives the input signal c and the input signal g of the input selection unit 82 and outputs the input signal selected by the input selection signal CNT3 to the second comparator 84. The fourth selector of the input selection unit 82 receives the input signal d and the input signal h, and outputs the input signal selected by the input selection signal CNT4 to the second comparator 84.

図6のアサーション回路80の動作を説明する。入力選択部82は、入力選択信号CNT1〜CNT4の設定に応じて、入力信号を選択し、第1比較器83および第2比較器84に出力する。   The operation of the assertion circuit 80 in FIG. 6 will be described. The input selection unit 82 selects an input signal according to the settings of the input selection signals CNT <b> 1 to CNT <b> 4 and outputs the input signal to the first comparator 83 and the second comparator 84.

コントローラ86は、第1比較器83の比較結果を受信して、入力が一致してから3クロック後に、結果判定回路85に結果判定指示を送信する。   The controller 86 receives the comparison result of the first comparator 83 and transmits a result determination instruction to the result determination circuit 85 three clocks after the inputs match.

結果判定回路85は、コントローラ86からの結果判定指示を受信すると同時に、第2比較器84の比較結果を受信する。結果判定回路85は、第2比較器84の比較結果(以下、判定結果という)を端子RESULTに出力する。   The result determination circuit 85 receives the result determination instruction from the controller 86 and simultaneously receives the comparison result of the second comparator 84. The result determination circuit 85 outputs the comparison result (hereinafter referred to as a determination result) of the second comparator 84 to the terminal RESULT.

図6のアサーション回路80を図2のシミュレーション装置の第1アサーション回路74_1として搭載した場合には、第1設定レジスタ78_1は、アサーション回路80の入力選択信号CNT1〜CNT4を出力する。一方、第1検証結果レジスタ79_1は、端子RESULTに接続され、判定結果を受信する。検証プログラム61は、第1検証結果レジスタ79_1から検証結果を読み出す。   When the assertion circuit 80 of FIG. 6 is mounted as the first assertion circuit 74_1 of the simulation apparatus of FIG. 2, the first setting register 78_1 outputs the input selection signals CNT1 to CNT4 of the assertion circuit 80. On the other hand, the first verification result register 79_1 is connected to the terminal RESULT and receives the determination result. The verification program 61 reads the verification result from the first verification result register 79_1.

上記の構成によると、アサーション制御コードを複数用意することにより、アサーション検証内容の切り替えを行なうことができる。したがって、複数のアサーションの間で、アサーション回路80を共有することができる。   According to the above configuration, the assertion verification contents can be switched by preparing a plurality of assertion control codes. Therefore, the assertion circuit 80 can be shared among a plurality of assertions.

なお、本実施例において、図4の仕様のように「ARG1とARG2の値が一致してから3クロック後にARG3とARG4が一致していれば仕様を満たす」旨の設定をし、アサーションが参照する信号名を引数として変更できるものとしている。なお、「ARG1とARG2の値が一致してからnクロック後にARG3とARG4が一致していれば仕様を満たす」旨の設定を行い、クロック数nも引数として指定することにより、共用化できるアサーションの数をさらに増やすこともできる。   In this embodiment, as shown in the specification of FIG. 4, a setting is made that “the specification is satisfied if ARG3 and ARG4 match after 3 clocks after the values of ARG1 and ARG2 match”, and the assertion is referred to The signal name to be changed can be changed as an argument. Assertion that can be shared by setting "ARG3 and ARG4 meet the specifications if ARG3 and ARG4 match after n clocks after the values of ARG1 and ARG2 match" and specifying the number of clocks n as an argument The number of can also be increased.

本実施例に係るシミュレーション装置は、検証プログラムから制御可能な設定レジスタと、設定レジスタにより機能を変更することのできるアサーション回路と、設定レジスタにアサーション制御コードを転送し制御する検証プログラムと、アサーション回路の検証結果を格納するレジスタとを備える。特許文献1に記載されたシミュレーション装置においては、アサーションの数の増加に伴い、再構成可能論理回路に実装される検証回路の規模が増大するという問題があった。しかし、本実施例に係るシミュレーション装置により、かかる問題を解決することできる。   The simulation apparatus according to the present embodiment includes a setting register that can be controlled from a verification program, an assertion circuit whose function can be changed by the setting register, a verification program that transfers and controls an assertion control code to the setting register, and an assertion circuit And a register for storing the verification result. In the simulation apparatus described in Patent Document 1, there is a problem that the scale of the verification circuit mounted on the reconfigurable logic circuit increases as the number of assertions increases. However, such a problem can be solved by the simulation apparatus according to the present embodiment.

本発明の実施例に係る検証回路について図面を参照して説明する。図7は、本実施例に係る検証回路を備えるシミュレーション装置の構成を示すブロック図である。図7を参照すると、シミュレーション装置は、検証プログラム91および検証回路92を備える。   A verification circuit according to an embodiment of the present invention will be described with reference to the drawings. FIG. 7 is a block diagram illustrating a configuration of a simulation apparatus including a verification circuit according to the present embodiment. Referring to FIG. 7, the simulation apparatus includes a verification program 91 and a verification circuit 92.

本実施例においては、10個のアサーションが定義されたものとする。なお、10個のアサーションのうち、第1、第2、第4、第8および第9のアサーションによる検証内容が類似し、アサーション定義の第3、第5、第6、第7および第10のアサーションによる検証内容が類似するものとする。特許文献1に記載のシミュレーション装置においては、定義されたアサーションの数と同数の検証回路が再構成可能論理回路上に必要とされるため、再構成可能論理回路上に10個の検証回路を実現する必要がある。   In this embodiment, it is assumed that 10 assertions are defined. Of the 10 assertions, the verification contents by the first, second, fourth, eighth and ninth assertions are similar, and the third, fifth, sixth, seventh and tenth of the assertion definition The contents of verification by assertion are similar. In the simulation apparatus described in Patent Document 1, since the same number of verification circuits as the number of defined assertions are required on the reconfigurable logic circuit, 10 verification circuits are realized on the reconfigurable logic circuit. There is a need to.

本実施例のシミュレーション装置においては、検証内容が互いに類似するアサーションをグループ化し、グループ化されたアサーションは検証回路92における単一のアサーション回路を共有する。また、検証プログラム91によって設定されるアサーション制御コードに基づいてアサーション回路の動作を変更することにより、アサーション機能を実現する。   In the simulation apparatus of this embodiment, assertions whose verification contents are similar to each other are grouped, and the grouped assertions share a single assertion circuit in the verification circuit 92. Further, the assertion function is realized by changing the operation of the assertion circuit based on the assertion control code set by the verification program 91.

10個のアサーションは、検証プログラム91において、第1アサーション制御コード91aと第2アサーション制御コード91bの2つのグループに分割される。第1アサーション制御コード91aは第1アサーション回路92aを共有し、第2アサーション制御コード91bは第2アサーション回路92bを共有する。   The ten assertions are divided into two groups of the first assertion control code 91a and the second assertion control code 91b in the verification program 91. The first assertion control code 91a shares the first assertion circuit 92a, and the second assertion control code 91b shares the second assertion circuit 92b.

第1アサーション回路92aは、設定レジスタ92cおよび検証結果レジスタ92dに接続される。第2アサーション回路92bは、設定レジスタ92eおよび検証結果レジスタ92fに接続される。   The first assertion circuit 92a is connected to the setting register 92c and the verification result register 92d. The second assertion circuit 92b is connected to the setting register 92e and the verification result register 92f.

検証プログラム91は、設定レジスタ92cに設定される第1アサーション制御コード91aを変更するとともに、設定レジスタ92eに設定される第2アサーション制御コード91bを変更する。これにより、2つのアサーション回路、すなわち、第1アサーション回路92aおよび第2アサーション回路92bにより、10個のアサーションに関する設計対象回路の検証が可能となる。このとき、アサーションの増加に伴う、再構成可能論理回路に実現される検証回路の回路規模の増大を抑えることができる。したがって、特許文献1に記載されたシミュレーション装置における問題が解消される。   The verification program 91 changes the first assertion control code 91a set in the setting register 92c and also changes the second assertion control code 91b set in the setting register 92e. As a result, the two assertion circuits, that is, the first assertion circuit 92a and the second assertion circuit 92b can verify the circuit to be designed for the ten assertions. At this time, it is possible to suppress an increase in the circuit scale of the verification circuit realized in the reconfigurable logic circuit accompanying the increase in assertion. Therefore, the problem in the simulation apparatus described in Patent Document 1 is solved.

本発明の第4の実施例に係るシミュレーション装置について図面を参照して説明する。図8は、本実施例に係る検証回路を備えるシミュレーション装置の構成を示すブロック図である。   A simulation apparatus according to a fourth embodiment of the present invention will be described with reference to the drawings. FIG. 8 is a block diagram illustrating a configuration of a simulation apparatus including the verification circuit according to the present embodiment.

図8を参照すると、本実施例に係るシミュレーション装置と、第1の実施例に係るシミュレーション装置との違いは、以下の通りである。すなわち、検証回路77は、アサーション回路のそれぞれ対して、さらに、第1ないし第nアサーション前提条件確認レジスタ100_1〜100_nを備える。また、検証プログラム61は、さらに、第1ないし第nアサーション発生スケジュール101_1〜101_nを備える。   Referring to FIG. 8, the difference between the simulation apparatus according to the present embodiment and the simulation apparatus according to the first embodiment is as follows. That is, the verification circuit 77 further includes first to n-th assertion precondition checking registers 100_1 to 100_n for each of the assertion circuits. The verification program 61 further includes first to nth assertion generation schedules 101_1 to 101_n.

図9は、本実施例に係る検証回路を備えるシミュレーション装置におけるアサーション発生スケジュールを生成するためのフローチャートである。図9を参照すると、シミュレーションが終了したか否かを判定し(ステップS30)、シミュレーションが終了した場合には(ステップS30のYes)、処理を終了する。シミュレーションが終了していない場合には(ステップS30のNo)、検証プログラム61におけるアサーション制御コードを各アサーション回路の第1ないし第n設定レジスタ78_1〜78_nに設定する(ステップS31)。   FIG. 9 is a flowchart for generating an assertion generation schedule in the simulation apparatus including the verification circuit according to the present embodiment. Referring to FIG. 9, it is determined whether or not the simulation is finished (step S30), and when the simulation is finished (Yes in step S30), the process is finished. If the simulation has not ended (No in step S30), the assertion control code in the verification program 61 is set in the first to nth setting registers 78_1 to 78_n of each assertion circuit (step S31).

次に、第1ないし第nアサーション前提条件確認レジスタ100_1〜100_nをリードして、現時刻におけるアサーション前提条件の発生有無をチェックし(ステップS32)、アサーション前提条件が発生しているときには発生時刻(またはタイミング)と、何番目のアサーション回路の何番目の制御コードにおいて発生したのかをアサーション発生スケジュールに登録する(ステップS36)。   Next, the first to nth assertion precondition checking registers 100_1 to 100_n are read to check whether or not the assertion precondition is generated at the current time (step S32), and when the assertion precondition is generated, the generation time ( Or the timing) and what control code of the assertion circuit is registered in the assertion generation schedule (step S36).

アサーション回路を共有する複数のアサーションがある場合には、全てのアサーション制御コードを順にアサーション回路の第1ないし第n設定レジスタ78_1〜78_nに設定し、同一時刻におけるすべてのアサーション前提条件の発生の有無をチェックする(ステップS33)。すべてのアサーション前提条件の発生の有無をチェックした場合には(ステップS33のYes)、1クロックのみクロックを供給する(ステップS34)。   When there are a plurality of assertions sharing the assertion circuit, all the assertion control codes are sequentially set in the first to nth setting registers 78_1 to 78_n of the assertion circuit, and whether all the assertion preconditions are generated at the same time Is checked (step S33). If all the assertion preconditions are checked (Yes in step S33), only one clock is supplied (step S34).

シミュレーション終了時刻までステップS30ないしS34を繰り返すことにより、全時刻におけるアサーション発生スケジュールを抽出する(ステップS36)。   By repeating steps S30 to S34 until the simulation end time, the assertion generation schedule at all times is extracted (step S36).

図10は、本実施例におけるアサーション(プロパティ宣言)の例を示す。図10を参照すると、プロパティLib3は設計者によって定義されるプロパティであり、「ARG9とARG10が一致する場合において、同サイクルにおけるARG11とARG12が一致するときには仕様が満たされる」ことを表す。   FIG. 10 shows an example of assertion (property declaration) in this embodiment. Referring to FIG. 10, the property Lib3 is a property defined by the designer, and indicates that “when ARG9 and ARG10 match, the specification is satisfied when ARG11 and ARG12 match in the same cycle”.

図10のアサーションの場合には、アサーション発生確認(図9のステップS32)は次のように行われる。すなわち、「ARG9=ARG10」が成立するか否か確認することによって、アサーション発生時刻におけるアサーション前提条件の発生の有無を確認する。図10に示したアサーションの場合には、1サイクル内においてチェックが完結する。しかし、アサーションは複数クロックのシーケンスを含むものであってもよい。   In the case of the assertion in FIG. 10, the assertion occurrence confirmation (step S32 in FIG. 9) is performed as follows. That is, whether or not the assertion precondition is generated at the assertion occurrence time is confirmed by confirming whether or not “ARG9 = ARG10” is satisfied. In the case of the assertion shown in FIG. 10, the check is completed within one cycle. However, the assertion may include a sequence of multiple clocks.

図11は、本実施例におけるアサーション呼び出し(プロパティのインスタンス化)の例を示す。図11を参照すると、設計者によって定義されたLib3を呼び出して、check5ないしcheck8というアサーションがインスタンス化される。図11の場合には、4つのアサーション制御コードが、1つのアサーション回路を共有することになる。   FIG. 11 shows an example of assertion call (property instantiation) in this embodiment. Referring to FIG. 11, Lib3 defined by the designer is called, and assertions of check5 to check8 are instantiated. In the case of FIG. 11, four assertion control codes share one assertion circuit.

図12は、本実施例に係るアサーション回路の構成を示すブロック図である。アサーション回路180は、図10のアサーションを回路化したものである。図12を参照すると、アサーション回路180には、図6のアサーション回路80に対して、さらにOCCUR信号が追加される。アサーション回路180においては、ARG9とARG10によって選択される観測信号が一致する場合には、OCCUR信号がアクティブとなる。   FIG. 12 is a block diagram illustrating the configuration of the assertion circuit according to the present embodiment. The assertion circuit 180 is a circuitization of the assertion of FIG. Referring to FIG. 12, the OCCUR signal is further added to the assertion circuit 180 with respect to the assertion circuit 80 of FIG. 6. In the assertion circuit 180, when the observation signals selected by the ARG 9 and the ARG 10 match, the OCCUR signal becomes active.

図12のアサーション回路180を図8のシミュレーション装置に搭載した場合には、OCCUR信号は第1ないし第nアサーション前提条件確認レジスタ100_1〜100_nのいずれかに接続される。検証プログラム60は、検証プログラムI/F51を介して第1ないし第nアサーション前提条件確認レジスタ100_1〜100_nの内容を読み出すことによって、アサーション前提条件の発生の有無を確認する。   When the assertion circuit 180 of FIG. 12 is installed in the simulation apparatus of FIG. 8, the OCCUR signal is connected to one of the first to nth assertion precondition checking registers 100_1 to 100_n. The verification program 60 reads the contents of the first to nth assertion precondition checking registers 100_1 to 100_n via the verification program I / F 51, thereby checking whether or not an assertion precondition has occurred.

図13は、本実施例におけるアサーション発生スケジュールの例を示す図である。図13を参照すると、図9のアサーション発生スケジュールの抽出フローにしたがって生成された1つのアサーション回路に対するアサーション発生スケジュールが示される。図13における各行はシミュレーション時刻を示し、各列はアサーション定義式を示す。また、各シミュレーション時刻におけるアサーション前提条件の発生を丸印で示す。   FIG. 13 is a diagram illustrating an example of an assertion generation schedule in the present embodiment. Referring to FIG. 13, an assertion generation schedule for one assertion circuit generated according to the assertion generation schedule extraction flow of FIG. 9 is shown. Each row in FIG. 13 indicates a simulation time, and each column indicates an assertion definition formula. In addition, the occurrence of assertion preconditions at each simulation time is indicated by a circle.

アサーション前提条件の発生が重複しない時刻(クロック)1、3、5、7、8、11、12、13、14、17および18においては、アサーション前提条件の発生時刻までに該当するアサーション制御コードを各アサーション回路の第1ないし第n設定レジスタ78_1〜78_nに設定する。一方、同時刻においてアサーション前提条件の発生が重複する時刻4、6および10においては、いずれか1つのアサーション制御コードを選択して、各アサーション回路の第1ないし第n設定レジスタ78_1〜78_nに設定し、シミュレーションを実行する。   At times (clocks) 1, 3, 5, 7, 8, 11, 12, 13, 14, 17, and 18 when the assertion preconditions do not overlap, the assertion control code corresponding to the generation time of the assertion preconditions is displayed. The first to nth setting registers 78_1 to 78_n of each assertion circuit are set. On the other hand, at times 4, 6 and 10 at which the generation of assertion preconditions overlaps at the same time, any one assertion control code is selected and set in the first to nth setting registers 78_1 to 78_n of each assertion circuit. And run the simulation.

アサーション定義式が同時刻において重複したために設定されなかったアサーション制御コードについては、上記のシミュレーションが終了した後、次のシミュレーションにおいて、アサーション制御コードを各アサーション回路の第1ないし第n設定レジスタ78_1〜78_nに設定してシミュレーションを実行する。すべてのアサーション制御コードが設定されるまで、シミュレーションを繰り返す。   For the assertion control codes that are not set because the assertion definition formulas overlap at the same time, after the above simulation is completed, the assertion control codes are assigned to the first to nth setting registers 78_1 to 78_1 of each assertion circuit in the next simulation. Set to 78_n and execute the simulation. The simulation is repeated until all assertion control codes are set.

図14は、本実施例に係る検証方法のフローチャートである。図14におけるステップS10ないしS19は、第1の実施例におけるフローチャートと同様であることから、説明を省略する。   FIG. 14 is a flowchart of the verification method according to the present embodiment. Steps S10 to S19 in FIG. 14 are the same as those in the flowchart in the first embodiment, and thus description thereof is omitted.

検証プログラム61は、アサーション発生スケジュール101_1ないし101_nを参照し、次のクロックでアサーション制御コードを変更するものがあるか否かを判定する(ステップS40)。変更すべきものが無い場合には(ステップS40のNo)、ステップS11に進む。   The verification program 61 refers to the assertion generation schedules 101_1 to 101_n and determines whether or not there is one that changes the assertion control code at the next clock (step S40). If there is nothing to change (No in step S40), the process proceeds to step S11.

一方、アサーション制御コードにおいて変更すべきものがある場合には(ステップS40のYes)、アサーション発生スケジュール101_1〜101_nに基づいて、何番目のアサーション回路に対応する何番目のアサーション制御コードであるのかを判定し、該当するアサーション制御コードを第1アサーション制御コード62_1_1〜62_1_mないし第nアサーション制御コード62_n_1〜62_n_kのいずれか一つを選択し、該当するアサーション制御コードをIOポート50および検証プログラムI/F51を介して、検証回路77上の第1ないし第n設定レジスタ78_1〜78_nに設定し(ステップS41)、ステップS11に進む。   On the other hand, if there is a change in the assertion control code (Yes in step S40), it is determined which number of the assertion control code corresponds to the number of the assertion circuit based on the assertion generation schedules 101_1 to 101_n. Then, any one of the first assertion control code 62_1_1 to 62_1_m to the nth assertion control code 62_n_1 to 62_n_k is selected as the corresponding assertion control code, and the IO port 50 and the verification program I / F 51 are selected as the corresponding assertion control code. Then, the first to nth setting registers 78_1 to 78_n on the verification circuit 77 are set (step S41), and the process proceeds to step S11.

シミュレーションの終了後、アサーション発生スケジュール101_1〜101_nを参照し、検証すべきアサーションが残存している場合には、再度ステップS10ないしS41の処理を行い、検証すべきアサーションが無くなるまで、シミュレーションを繰り返す。   After the simulation is completed, the assertion generation schedules 101_1 to 101_n are referred to, and when the assertion to be verified remains, the processes of steps S10 to S41 are performed again, and the simulation is repeated until there is no assertion to be verified.

本実施例によると、アサーション回路180を共有しているアサーションの発生時刻が重複しない場合には、アサーション発生時刻の前にアサーション制御コードをアサーション回路180の設定レジスタに設定し、シミュレーションを行うことで、シミュレーションの回数を削減することができる。   According to the present embodiment, when the generation time of the assertion sharing the assertion circuit 180 does not overlap, the assertion control code is set in the setting register of the assertion circuit 180 before the assertion generation time, and simulation is performed. The number of simulations can be reduced.

以上の記載は実施例に基づいて行ったが、本発明は、上記実施例に限定されるものではない。   Although the above description has been made based on examples, the present invention is not limited to the above examples.

本発明の第1の実施形態に係る検証回路の構成を示すブロック図である。It is a block diagram which shows the structure of the verification circuit which concerns on the 1st Embodiment of this invention. 本発明の第1の実施例に係る検証回路の構成を示すブロック図である。1 is a block diagram showing a configuration of a verification circuit according to a first exemplary embodiment of the present invention. 本発明の第1の実施例に係る検証方法のフローチャートを示す図である。It is a figure which shows the flowchart of the verification method which concerns on 1st Example of this invention. 本発明の第2の実施例におけるアサーション(プロパティ宣言)の例を示す。The example of the assertion (property declaration) in the 2nd Example of this invention is shown. 本発明の第2の実施例におけるアサーション(プロパティのインスタンス化)の例を示す。An example of assertion (property instantiation) in the second embodiment of the present invention will be described. 本発明の第2の実施例に係るアサーション回路の構成を示すブロック図である。It is a block diagram which shows the structure of the assertion circuit based on 2nd Example of this invention. 本発明の第3の実施例に係る検証回路を備えるシミュレーション装置の構成を示すブロック図である。It is a block diagram which shows the structure of a simulation apparatus provided with the verification circuit based on 3rd Example of this invention. 本発明の第4の実施例に係る検証回路を備えるシミュレーション装置の構成を示すブロック図である。It is a block diagram which shows the structure of a simulation apparatus provided with the verification circuit based on the 4th Example of this invention. 本発明の第4の実施例に係る検証回路を備えるシミュレーション装置におけるアサーション発生スケジュールを生成するためのフローチャートである。It is a flowchart for producing | generating the assertion generation schedule in a simulation apparatus provided with the verification circuit based on the 4th Example of this invention. 本発明の第4の実施例におけるアサーション(プロパティ宣言)の例を示す。The example of assertion (property declaration) in the 4th example of the present invention is shown. 本発明の第4の実施例におけるアサーション呼び出し(プロパティのインスタンス化)の例を示す。An example of assertion call (property instantiation) in the fourth embodiment of the present invention will be described. 本発明の第4の実施例に係るアサーション回路の構成を示すブロック図である。It is a block diagram which shows the structure of the assertion circuit based on the 4th Example of this invention. 本発明の第4の実施例におけるアサーション発生スケジュールの例を示す図である。It is a figure which shows the example of the assertion generation schedule in 4th Example of this invention. 本発明の第4の実施例に係る検証方法のフローチャートである。It is a flowchart of the verification method which concerns on 4th Example of this invention.

符号の説明Explanation of symbols

10、60 コンピュータ
11、61、91 検証プログラム
20、70 再構成可能論理回路
21、71 設計対象回路
27、77、92 検証回路
28、78、92c、92e 設定レジスタ
50 IOポート
51 検証プログラムI/F
62_1_1〜62_1_m 第1アサーション制御コード
62_n_1〜62_n_k 第nアサーション制御コード
72 ブレイク制御回路
73 クロック制御回路
74 アサーション回路
74_1〜74_n 第1ないし第nアサーション回路
75 ブレイク要求信号
76 ブレイク信号
78_1〜78_n 第1ないし第n設定レジスタ
79_1〜79_n 第1ないし第n検証結果レジスタ
80、180 アサーション回路
81、181 検証回路部
82、182 入力選択部
83、183 第1比較器
84、184 第2比較器
85、185 結果判定回路
86、186 コントローラ
91a 第1アサーション制御コード
91b 第2アサーション制御コード
92a 第1アサーション回路
92b 第2アサーション回路
92d、92f 検証結果レジスタ
100_1〜100_n 第1ないし第nアサーション前提条件確認レジスタ
101_1〜101_n 第1ないし第nアサーション発生スケジュール
10, 60 Computer 11, 61, 91 Verification program 20, 70 Reconfigurable logic circuit 21, 71 Design target circuit 27, 77, 92 Verification circuit 28, 78, 92c, 92e Setting register 50 IO port 51 Verification program I / F
62_1_1 to 62_1_m first assertion control code 62_n_1 to 62_n_k n assertion control code 72 break control circuit 73 clock control circuit 74 assertion circuit 74_1 to 74_n first to nth assertion circuit 75 break request signal 76 break signal 78_1 to 78_n first to N-th setting registers 79_1 to 79_n first to n-th verification result registers 80 and 180 assertion circuits 81 and 181 verification circuit units 82 and 182 input selection units 83 and 183 first comparators 84 and 184 second comparators 85 and 185 results Determination circuit 86, 186 Controller 91a First assertion control code 91b Second assertion control code 92a First assertion circuit 92b Second assertion circuits 92d, 92f Verification result register 1 00_1 to 100_n 1st to nth assertion prerequisite check registers 101_1 to 101_n 1st to nth assertion generation schedule

Claims (7)

設計対象回路と該設計対象回路を検証する検証回路とを備え、
前記検証回路は、アサーションベース検証に含まれる複数のアサーションに基づく検証に共用されることを特徴とする再構成可能論理回路。
A design target circuit and a verification circuit for verifying the design target circuit;
The reconfigurable logic circuit is characterized in that the verification circuit is shared for verification based on a plurality of assertions included in assertion-based verification.
前記検証回路は、前記アサーションベース検証に含まれる複数のアサーションのうちの互いに類似するものに基づく検証に共用されることを特徴とする、請求項1に記載の再構成可能論理回路。   The reconfigurable logic circuit according to claim 1, wherein the verification circuit is shared for verification based on similarities among a plurality of assertions included in the assertion-based verification. 前記アサーションベース検証に含まれる複数のアサーションのうちのいずれのアサーションに基づいて前記設計対象回路を検証すべきかを選択する制御コードを記録する設定レジスタをさらに備え、
前記検証回路は、前記設定レジスタに記録された制御コードにより選択されたアサーションに基づいて前記設計対象回路を検証することを特徴とする、請求項1又は2に記載の再構成可能論理回路。
A setting register for recording a control code for selecting which of the plurality of assertions included in the assertion-based verification is to be used to verify the design target circuit;
The reconfigurable logic circuit according to claim 1, wherein the verification circuit verifies the design target circuit based on an assertion selected by a control code recorded in the setting register.
設計対象回路と該設計対象回路を検証する検証回路とを備える再構成可能論理回路による検証方法であって、
前記検証回路によって、アサーションベース検証に含まれる第1のアサーションに基づく検証を行う工程と、
前記検証回路によって、前記アサーションベース検証に含まれる第2のアサーションに基づく検証を行う工程とを含むことを特徴とする検証方法。
A verification method using a reconfigurable logic circuit comprising a design target circuit and a verification circuit for verifying the design target circuit,
Performing verification based on a first assertion included in the assertion-based verification by the verification circuit;
And a step of performing verification based on a second assertion included in the assertion-based verification by the verification circuit.
前記第1のアサーションと前記第2のアサーションとは互いに類似することを特徴とする、請求項4に記載の検証方法。   The verification method according to claim 4, wherein the first assertion and the second assertion are similar to each other. 前記アサーションベース検証に含まれる複数のアサーションのうちのいずれのアサーションに基づいて前記設計対象回路を検証すべきかを選択する制御コードを、前記再構成可能回路に設けた設定レジスタに記録する工程と、
前記検証回路によって、前記設定レジスタに記録された制御コードにより選択されたアサーションに基づいて前記設計対象回路を検証する工程とを含むことを特徴とする、請求項4又は5に記載の検証方法。
Recording a control code for selecting which of the plurality of assertions included in the assertion-based verification should verify the design target circuit in a setting register provided in the reconfigurable circuit;
The verification method according to claim 4, further comprising a step of verifying the design target circuit based on an assertion selected by the control circuit recorded in the setting register by the verification circuit.
設計対象回路と該設計対象回路を検証する検証回路とを備え、アサーションベース検証に含まれる複数のアサーションに基づく検証に該検証回路が共用されるように構成された再構成可能論理回路に接続されたコンピュータに、該複数のアサーションのうちのいずれのアサーションに基づいて該設計対象回路を検証すべきかを選択する制御コードを送信させることを特徴とする検証プログラム。   A design target circuit and a verification circuit for verifying the design target circuit, and connected to a reconfigurable logic circuit configured to share the verification circuit for verification based on a plurality of assertions included in the assertion-based verification A verification program that causes a computer to transmit a control code that selects which of the plurality of assertions is to be used to verify the design target circuit.
JP2008315898A 2008-12-11 2008-12-11 Reconfigurable logic circuit, verification method and verification program Withdrawn JP2010140255A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008315898A JP2010140255A (en) 2008-12-11 2008-12-11 Reconfigurable logic circuit, verification method and verification program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008315898A JP2010140255A (en) 2008-12-11 2008-12-11 Reconfigurable logic circuit, verification method and verification program

Publications (1)

Publication Number Publication Date
JP2010140255A true JP2010140255A (en) 2010-06-24

Family

ID=42350351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008315898A Withdrawn JP2010140255A (en) 2008-12-11 2008-12-11 Reconfigurable logic circuit, verification method and verification program

Country Status (1)

Country Link
JP (1) JP2010140255A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013200745A (en) * 2012-03-26 2013-10-03 Fujitsu Semiconductor Ltd Information processing device, information processing method, and program
JP2015069549A (en) * 2013-09-30 2015-04-13 富士通セミコンダクター株式会社 Semiconductor integrated circuit and verification method of semiconductor integrated circuit
US10401826B2 (en) 2016-03-23 2019-09-03 Fanuc Corporation Numerical controller facilitating measure to be taken after detection of interference

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013200745A (en) * 2012-03-26 2013-10-03 Fujitsu Semiconductor Ltd Information processing device, information processing method, and program
JP2015069549A (en) * 2013-09-30 2015-04-13 富士通セミコンダクター株式会社 Semiconductor integrated circuit and verification method of semiconductor integrated circuit
US10401826B2 (en) 2016-03-23 2019-09-03 Fanuc Corporation Numerical controller facilitating measure to be taken after detection of interference

Similar Documents

Publication Publication Date Title
CN1885295B (en) Building integrated circuits using logical units
US6536031B2 (en) Method for generating behavior model description of circuit and apparatus for logic verification
CN104732001A (en) Online design validation for electronic devices
US10055363B2 (en) Method for configuring an interface unit of a computer system
JP2010140255A (en) Reconfigurable logic circuit, verification method and verification program
US7228513B2 (en) Circuit operation verification device and method
JP2009230392A (en) Simulation device, simulation method, and program
WO2011125280A1 (en) Debugging support device, debugging support method and debugging support program
JP5056511B2 (en) Verification support program, recording medium storing the program, verification support apparatus, and verification support method
CN101866373A (en) Execution monitor for electronic design automation
JP2009009318A (en) Asynchronous circuit-verifying program data generation method, asynchronous circuit verification method and asynchronous circuit verification device
JP2008305079A (en) Requirement specification automatic verification method
US10162913B2 (en) Simulation device and simulation method therefor
JP2010250365A (en) Cooperative simulation system, hardware emulator, and cooperative simulation method
CN106781867B (en) Experiment platform based on IP core and EDA software
JP2007329586A (en) Semiconductor integrated circuit device, and design apparatus and design method thereof
CN115983171B (en) Method and simulation platform for post-simulation of system on chip
JP2003067010A (en) Bit arithmetic controller and programmable logic controller equipped with same
JP2007156728A (en) Logic verification method and logic verification system
JP2009146175A (en) Clock wiring processor, clock wiring processing method, and program
JP2009301192A (en) Simulation device and simulation method
JP2010237858A (en) High-level synthesis apparatus, high-level synthesis method, method for manufacturing semiconductor integrated circuit, control program, and readable storage medium
JP2007257313A (en) Business process execution management device, business process definition information forming device, dynamic process change device, and business process management system
JP2006146332A (en) Data processing system verification device, method, and program
US8205186B1 (en) Incremental modification of instrumentation logic

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120306