[go: up one dir, main page]

JP2005108007A - LSI design verification apparatus and LSI design verification method - Google Patents

LSI design verification apparatus and LSI design verification method Download PDF

Info

Publication number
JP2005108007A
JP2005108007A JP2003342111A JP2003342111A JP2005108007A JP 2005108007 A JP2005108007 A JP 2005108007A JP 2003342111 A JP2003342111 A JP 2003342111A JP 2003342111 A JP2003342111 A JP 2003342111A JP 2005108007 A JP2005108007 A JP 2005108007A
Authority
JP
Japan
Prior art keywords
lsi
simulation
design verification
assertion
history
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
JP2003342111A
Other languages
Japanese (ja)
Inventor
Masanobu Mizuno
雅信 水野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003342111A priority Critical patent/JP2005108007A/en
Publication of JP2005108007A publication Critical patent/JP2005108007A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an LSI design verification apparatus and an LSI design verification method that can verify whether results of an operation simulation in an upstream design phase and results of an RTL simulation in a downstream design phase match in an intermediate stage of the RTL simulation or in an LSI circuit to be verified. <P>SOLUTION: The LSI design verification apparatus 1 which executes system architecture design verification and detailed design verification comprises a first simulation part 2 for executing LSI system architecture design verification by operation simulation, an operation history extraction part 3 for extracting an operation history of the operation simulation, an assertion checking means generation part 4 for generating an assertion checking means for monitoring whether operations in simulation for detailed design verification correspond to operations in the extracted operation history, and a second simulation part 5 for executing detailed design verification by simulation using the assertion checking means. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、LSI、特にシステムLSIのシステムアーキテクチャ設計検証及び詳細設計検証を行うためのLSI設計検証装置及びLSI設計検証方法に関する。   The present invention relates to an LSI design verification apparatus and an LSI design verification method for performing system architecture design verification and detailed design verification of an LSI, particularly a system LSI.

近年、LSIの微細化、集積技術の進展により、1チップLSIを用いて大規模なデジタルシステムを実現することが可能になっている。このようなLSIはシステムLSIと呼ばれる。システムLSIの開発では、短期に、システム仕様・動作設計から、機能、論理及びレイアウトまでを、段階的に検証を行いながらトップダウンに設計し、早期に製品化を図ることが求められている。   In recent years, it has become possible to realize a large-scale digital system using a one-chip LSI due to the miniaturization of LSI and the progress of integration technology. Such an LSI is called a system LSI. In the development of system LSIs, it is required to design products from the system specification / operational design to the functions, logics, and layouts in a top-down manner while performing step-by-step verification and to commercialize them at an early stage.

特に、LSI化を前提としたシステムレベルの仕様・動作や実現アーキテクチャの基本設計においては、チップ製造後のアーキテクチャ変更が多大のコストを伴うことから、詳細設計を進める前に、システムLSIの処理性能、例えばそのボトルネック部分等を解析することが求められる。このため、C言語等を用いてシステムの機能的な動作記述を行って、仕様・機能を確認した後、機能を実現するアーキテクチャを適切な精度でモデル化することが行なわれている。   In particular, in system-level specifications / operations and realization of basic architectures based on the premise of LSI implementation, system LSI processing performance is required before proceeding with detailed design because architecture changes after chip manufacturing involve significant costs. For example, it is required to analyze the bottleneck portion. For this reason, a functional operation description of a system is performed using C language or the like, and after confirming specifications and functions, an architecture for realizing the functions is modeled with appropriate accuracy.

例えば、システムの動作やデータフロー、データバス上のデータの授受をトランザクション精度又は同期クロック信号のクロックサイクル精度でシミュレーションすることによって、当該システムアーキテクチャの機能検証が行われており、更にこれとともに、目的のシステムアーキテクチャで実現し得る性能の見積もりや、性能律束点の解析も行なわれる。   For example, functional verification of the system architecture has been performed by simulating system operation, data flow, and data transfer on the data bus with transaction accuracy or clock cycle accuracy of a synchronous clock signal. Performance estimation that can be realized with the system architecture and performance constraint analysis are also performed.

このようにして得られた複数のアーキテクチャ案に基づいて適切な設計選択が行われ、選択されたアーキテクチャ案を仕様としたマニュアルに基づいて次のステップの詳細設計が行われる。詳細設計は、例えば、RTL(Register Transfer Level)と呼ばれる回路のレジスタ構成をベ−スとした機能設計によって行われる。更に、クロックサイクル精度のシミュレーション、又はRTL記述に基づくHDL(Hardware Description Language)シミュレーションが実施され、詳細設計における検証が行われる。   Appropriate design selection is performed based on the plurality of architecture plans obtained in this way, and detailed design of the next step is performed based on a manual using the selected architecture plan as a specification. Detailed design is performed, for example, by functional design based on a register configuration of a circuit called RTL (Register Transfer Level). Further, simulation of clock cycle accuracy or HDL (Hardware Description Language) simulation based on RTL description is performed, and verification in detailed design is performed.

このようなシミュレーションを行った後は、設計上位の抽象度の高い、即ち、精度的に粗いシミュレーションレベルの動作と、設計下位工程でのマニュアルで設計された詳細なRTL設計結果との整合性を検証する必要がある。この検証は、これまでは、シミュレーションでのLSI出力値の比較を行って一致を確認することによって、又は上位の設計仕様に基づいて、RTL記述に対するアサーションチェックを設定し、仕様に違反する動作をしないかどうかをチェックすることによって行っている。   After such a simulation, the consistency between the high-level abstraction of the design upper level, that is, the operation of the coarse simulation level, and the detailed RTL design result designed manually in the design sub-process Need to verify. Until now, this verification has been performed by comparing the LSI output values in the simulation and confirming the match, or by setting an assertion check for the RTL description based on the higher-level design specification, and violating the specification. It is done by checking whether or not.

なお、アサーションチェックは、指定の条件・環境下における回路の許容できる動作を定義し、これに違反する場合に警告を発する仕組みである。アサーションチェックは、バスプロトコルや回路仕様に基づいて、専用のマニュアルで作成されており、一種の回路又は組み込みソフトウェアの一部として、RTL設計やソフトウェア中に組み込まれる(例えば、特許文献1、非特許文献1および非特許文献2参照)。   The assertion check is a mechanism that defines an allowable operation of a circuit under a specified condition / environment and issues a warning when it is violated. The assertion check is created in a dedicated manual based on the bus protocol and circuit specifications, and is incorporated into RTL design and software as part of a kind of circuit or embedded software (for example, Patent Document 1, Non-Patent Document). Reference 1 and Non-Patent Document 2).

また、アサーションチェックは、アサーションチェックツ−ルライブラリ(HDLシミュレ−タと結合してダイレクトにシミュレーション情報を観測及びチェックするソフトウェアモジュール群)として、既定のアサーションに対して提供される場合もある(非特許文献2)。
特開平10−312311号公報 原、植木、平山著「シミュレーションによる組み込みソフトウェアテスト方式とテスト環境の効率的な運用方式の提案」、情報処理学会、ソフトウェア工学研究会126回予稿集、PP.73−80(2000年3月) アール・ラメッシュ(R.Ramesh)、ティ・アンダーソン(T.Anderson)著、「アサーション・メソドロジー・フォー・ベリログデザイン(Assertion Methodology for Verilog Design)」、[online]、2001年4月27日、アイエスディ(Isd)、ザ・ジャーナル・オブ・ザ・デザイン・プロセス(The Journal of The Design Process)、[2002年7月1日検索]、インタ−ネット<URL:http://www.eedesign.com/story/OEG20010427S0083>
In addition, the assertion check may be provided for a predetermined assertion as an assertion check tool library (a software module group for directly observing and checking simulation information in combination with an HDL simulator) (non-existing). Patent Document 2).
Japanese Patent Laid-Open No. 10-312311 Hara, Ueki, Hirayama, "Proposal of Embedded Software Test Method by Simulation and Efficient Operation Method of Test Environment", Information Processing Society of Japan, 126th Proceedings of Software Engineering Society, PP. 73-80 (March 2000) R.Ramesh, T. Anderson, "Assertion Methodology for Verilog Design", [online], April 27, 2001 (Isd), The Journal of The Design Process, [Search July 1, 2002], Internet <URL: http://www.eedesign.com/ story / OEG20010427S0083>

しかしながら、シミュレーションでのLSI出力値の比較を行って一致を確認することによって、シミュレーションレベルの動作とRTL設計結果との整合性の検証を行う場合においては、動作の結果での一致及び不一致は確認できるが、シミュレーションの途中や回路内部で起きる動作の不一致、即ち、RTL設計での仕様外の動作を検出することができないという問題がある。   However, when verifying the consistency between the simulation level operation and the RTL design result by comparing the LSI output values in the simulation and confirming the match, the match and mismatch in the operation result are confirmed. However, there is a problem in that it is impossible to detect an operation mismatch that occurs in the middle of the simulation or inside the circuit, that is, an operation that is out of specification in the RTL design.

また、従来のアサーションチェックを設定することによって検証を行う場合においては、設計者によって作成又選択されたアサーションを、設計者が意識して指定した箇所に設定するため、RTL設計の検証における上位の動作シミュレーション、特にトランザクション精度の動作シミュレーションとアサーションチェックとの整合性を確認することができないという問題がある。   When verification is performed by setting a conventional assertion check, since the assertion created or selected by the designer is set at a location designated by the designer, the higher-level verification in the RTL design is performed. There is a problem that it is not possible to confirm the consistency between the operation simulation, in particular, the transaction accuracy operation simulation and the assertion check.

本発明の目的は、上記問題を解消し、設計上位の動作シミュレーションの結果と設計下位のRTLシミュレーションの結果とが、RTLシミュレーションの途中の段階において、又は検証対象となるLSIの回路内部において整合しているかどうかを検証し得るLSI設計検証装置及びLSI設計検証方法を提供することにある。   An object of the present invention is to solve the above-described problem, and the result of the upper-level operation simulation and the result of the lower-level RTL simulation match in the stage of the RTL simulation or in the LSI circuit to be verified. It is an object to provide an LSI design verification apparatus and an LSI design verification method capable of verifying whether or not they are present.

上記目的を達成するために本発明にかかるLSI設計検証方法は、LSIの設計における前記LSIのシステムアーキテクチャ設計検証及び詳細設計検証を行うLSI設計検証方法であって、(a)予め作成された前記LSIのシステム動作モデルの動作シミュレーションを行うことによって、前記LSIのシステムアーキテクチャ設計検証を行う工程と、(b)前記動作シミュレーションにおいてシミュレーションされた前記LSIの動作履歴を抽出する工程と、(c)前記LSIの詳細設計検証のシミュレーションにおいてシミュレーションされる前記LSIの動作が、抽出された前記動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成する工程と、(d)前記アサーションチェック手段を用いたシミュレーションを行って、前記詳細設計検証を行う工程とを少なくとも有することを特徴とする。   In order to achieve the above object, an LSI design verification method according to the present invention is an LSI design verification method for performing system architecture design verification and detailed design verification of the LSI in LSI design, and (a) the previously created LSI design verification method Performing a system architecture design verification of the LSI by performing an operation simulation of an LSI system operation model; (b) extracting an operation history of the LSI simulated in the operation simulation; Generating assertion check means for monitoring whether or not the operation of the LSI simulated in the detailed design verification simulation of the LSI corresponds to the operation of the extracted operation history; and (d) the assertion check means Simulation using Performing Shon, and having at least a step of performing the detailed design verification.

次に、上記目的を達成するために本発明にかかるLSI設計検証装置は、LSIの設計における前記LSIのシステムアーキテクチャ設計検証及び詳細設計検証を行うLSI設計検証装置であって、予め作成された前記LSIのシステム動作モデルの動作シミュレーションを行うことによって、前記LSIのシステムアーキテクチャ設計検証を行う第1のシミュレーション部と、前記動作シミュレーションにおいてシミュレーションされた前記LSIの動作履歴を抽出する動作履歴抽出部と、前記LSIの詳細設計検証のシミュレーションにおいてシミュレーションされる前記LSIの動作が、抽出された前記動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成するアサーションチェック手段生成部と、前記アサーションチェック手段を用いたシミュレーションを行って、前記詳細設計検証を行う第2のシミュレーション部とを少なくとも有することを特徴とする特徴とする。   Next, in order to achieve the above object, an LSI design verification apparatus according to the present invention is an LSI design verification apparatus that performs system architecture design verification and detailed design verification of the LSI in LSI design. A first simulation unit that performs system architecture design verification of the LSI by performing an operation simulation of an LSI system operation model; an operation history extraction unit that extracts an operation history of the LSI simulated in the operation simulation; An assertion check means generating section for generating an assertion check means for monitoring whether the operation of the LSI simulated in the detailed design verification simulation of the LSI corresponds to the operation of the extracted operation history; Performing simulation using the insertion checking means and characterized by having at least a second simulation unit for performing the detailed design verification.

また、本発明は、上記の本発明におけるLSI設計検証方法を具現化するためのプログラムであっても良い。このプログラムをコンピュータにインストールして実行することにより、本発明におけるLSI設計検証方法を実行できる。   Further, the present invention may be a program for realizing the LSI design verification method according to the present invention. By installing this program on a computer and executing it, the LSI design verification method of the present invention can be executed.

以上の特徴により、本発明にかかるLSI設計検証装置及びLSI設計検証方法によれば、設計上位の動作シミュレーションの結果と設計下位のRTLシミュレーションの結果とが、RTLシミュレーションの途中の段階において、又は検証対象となるLSIの回路内部において整合しているかどうか検証することができる。   With the above features, according to the LSI design verification apparatus and the LSI design verification method according to the present invention, the result of the upper-level operation simulation and the result of the lower-level RTL simulation are verified or verified in the middle of the RTL simulation. It is possible to verify whether or not there is a match within the target LSI circuit.

このため、従来であれば検出が困難であった設計不具合を検出できるので、詳細設計(RTL設計)における完成度の向上を図ることができる。よって、詳細設計以降の設計工程(例えば、レイアウト設計等)やサンプルLSIの評価においてバグが検出された場合の設計手戻りの開発ロスを大幅に改善でき、早期にLSI設計の完成度の向上を図り得ることができる。   For this reason, since it is possible to detect design defects that were difficult to detect in the prior art, it is possible to improve the degree of completeness in the detailed design (RTL design). Therefore, it is possible to greatly improve the development loss of design rework when a bug is detected in the design process after the detailed design (for example, layout design) and the evaluation of the sample LSI, and the improvement of the completeness of the LSI design can be improved at an early stage. It can be planned.

上記本発明におけるLSI設計検証方法においては、前記(b)の工程において、前記動作履歴として、前記動作シミュレーションから得られる前記LSI上の信号の出力履歴、及び前記動作シミュレーションから得られる前記LSI上の記憶領域の更新履歴を抽出するのが好ましい。   In the LSI design verification method according to the present invention, in the step (b), as the operation history, the output history of signals on the LSI obtained from the operation simulation and the LSI on the LSI obtained from the operation simulation. It is preferable to extract the update history of the storage area.

また、前記(c)の工程において、前記詳細設計検証のシミュレーションから得られる前記LSI上の信号が、これに対応する前記動作シミュレーションから得られる前記LSI上の信号の出力された時刻に、出力されたことをアサーションとするアサーションチェック手段が生成されるのも好ましい。この場合、前記詳細設計検証のシミュレーションから得られる前記LSI上の信号が、これに対応する前記動作シミュレーションから得られる前記LSI上の信号の出力された時刻を基準とする時間帯の範囲で出力されたことをアサーションの条件とすることもできる。   In the step (c), the signal on the LSI obtained from the detailed design verification simulation is output at the time when the corresponding signal on the LSI obtained from the operation simulation is output. It is also preferable that an assertion check means that generates the assertion is generated. In this case, the signal on the LSI obtained from the detailed design verification simulation is output in a time zone range based on the output time of the signal on the LSI obtained from the corresponding operation simulation. This can be used as a condition for assertion.

更に、前記(c)の工程において、前記詳細設計検証のシミュレーションから得られる前記LSI上の記憶領域が、これに対応する前記動作シミュレーションから得られる前記LSI上の記憶領域におけるデータ更新の発生した時刻に、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段が生成されるのも好ましい。この場合、前記詳細設計検証のシミュレーションから得られる前記LSI上の記憶領域が、これに対応する前記動作シミュレーションから得られる前記LSI上の記憶領域におけるデータ更新の発生した時刻を基準とする時間帯の範囲で前記更新履歴の内容でデータ更新されたことをアサーションの条件とすることもできる。   Furthermore, in the step (c), the time at which the storage area on the LSI obtained from the detailed design verification simulation is updated in the storage area on the LSI obtained from the corresponding operation simulation. In addition, it is preferable that an assertion check unit that generates an assertion that data has been updated with the content of the update history is preferably generated. In this case, the storage area on the LSI obtained from the detailed design verification simulation has a time zone based on the time when the data update occurred in the corresponding storage area on the LSI obtained from the operation simulation. An assertion condition may be that data has been updated with the content of the update history within a range.

また、上記本発明におけるLSI設計検証方法においては、前記(a)の工程における前記動作シミュレーションにおいて、前記記憶領域のデータ更新が前記信号の出力を起点として行われており、前記(c)の工程において、前記詳細設計検証のシミュレーションから得られる前記LSI上の記憶領域が、これに対応する前記動作シミュレーションから得られる前記LSI上の記憶領域におけるデータ更新の起点となった前記信号の出力された時刻の後であって、予め設定された時間が経過する前に、前記更新履歴の内容でデータ更新されていることをアサーションとするアサーションチェック手段が生成される態様とするのも好ましい。   In the LSI design verification method according to the present invention, in the operation simulation in the step (a), the data update in the storage area is performed starting from the output of the signal, and the step (c) In the above, the storage area on the LSI obtained from the simulation of the detailed design verification is the time when the signal that is the starting point of the data update in the storage area on the LSI obtained from the corresponding operation simulation is output. It is also preferable that an assertion check unit that generates an assertion that data is updated with the content of the update history is generated after a preset time has elapsed.

更に、 前記(c)の工程において、前記動作シミュレーションから得られる前記LSI上の記憶領域におけるデータ変更の有無を示すイベント情報に基づいて、前記データ変更の有無を判定するアサーションチェック手段が生成され、前記アサーションチェック手段は、前記動作シミュレーションから得られる前記LSI上の記憶領域の前記データ変更が行われていた場合に、これに対応する前記詳細設計検証のシミュレーションから得られる前記LSI上の記憶領域が、前記更新履歴の内容で更新されていることをアサーションとする態様とするのも好ましい。   Further, in the step (c), an assertion check means for determining the presence or absence of the data change is generated based on event information indicating the presence or absence of the data change in the storage area on the LSI obtained from the operation simulation, The assertion check means, when the data change of the storage area on the LSI obtained from the operation simulation has been performed, the storage area on the LSI obtained from the simulation of the detailed design verification corresponding thereto It is also preferable to adopt an aspect in which an update is made with the content of the update history.

また、上記本発明におけるLSI設計検証方法においては、前記(a)の工程において、前記動作シミュレーションがバストランザクション単位で行われており、前記(b)の工程において、バストランザクション単位で前記動作履歴が抽出される態様とすることができる。   In the LSI design verification method according to the present invention, the operation simulation is performed for each bus transaction in the step (a), and the operation history is stored for each bus transaction in the step (b). It can be set as the aspect extracted.

この態様においては、前記(b)の工程において、前記バストランザクション単位での前記動作履歴として、前記動作シミュレーションから得られる前記LSI上のバスリクエスト信号の出力履歴と、前記動作シミュレーションでアクセスされたアドレス空間の更新履歴とが抽出されるのが好ましい。   In this aspect, in the step (b), as the operation history in the bus transaction unit, the output history of the bus request signal on the LSI obtained from the operation simulation and the address accessed in the operation simulation. It is preferable to extract the update history of the space.

また、この態様においては、前記(c)の工程において、前記詳細設計検証のシミュレーションから得られる前記LSI上のバスリクエスト信号が、これに対応する前記動作シミュレーションから得られる前記LSI上のバスリクエスト信号の出力された時刻に、出力されたことをアサーションとするアサーションチェック手段を生成するのも好ましい。この場合は、前記詳細設計検証のシミュレーションから得られる前記LSI上のバスリクエスト信号が、これに対応する前記動作シミュレーションから得られる前記LSI上のバスリクエスト信号の出力された時刻を基準とする時間帯の範囲で出力されたことをアサーションの条件とすることができる。   In this aspect, in the step (c), the bus request signal on the LSI obtained from the simulation of the detailed design verification is the bus request signal on the LSI obtained from the corresponding operation simulation. It is also preferable to generate an assertion check means that asserts that it has been output at the output time. In this case, the bus request signal on the LSI obtained from the detailed design verification simulation is a time zone based on the output time of the bus request signal on the LSI obtained from the corresponding operation simulation. The assertion condition can be output in the range of.

更に、この態様においては、前記(c)の工程において、前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、これに対応する前記動作シミュレーションから抽出されたアドレス空間のデータ更新の発生した時刻に、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段を生成するのも好ましい。この場合は、前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、これに対応する前記動作シミュレーションから抽出されたアドレス空間のデータ更新の発生した時刻を基準とする時間帯の範囲で、前記更新履歴の内容でデータ更新されたことをアサーションの条件とすることができる。   Further, in this aspect, in the step (c), the address space accessed in the detailed design verification simulation is changed to the time at which the data update of the address space extracted from the corresponding operation simulation occurs. It is also preferable to generate an assertion check means that asserts that data has been updated with the content of the update history. In this case, the address space accessed in the detailed design verification simulation is updated within the time zone range based on the time when the data update of the address space extracted from the corresponding operation simulation occurs. The fact that the data has been updated with the contents of the history can be used as the condition for the assertion.

また、この態様においては、前記(a)の工程における前記動作シミュレーションにおいて、前記アドレス空間のデータ更新が前記バスリクエスト信号の出力を起点として行われており、前記(c)の工程において、前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、これに対応する前記動作シミュレーションから抽出されたアドレス空間におけるデータ更新の起点となった前記バスリクエスト信号の出力された時刻の後であって、予め設定された時間が経過する前に、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段を生成するのも好ましい。   In this aspect, in the operation simulation in the step (a), the data update in the address space is performed starting from the output of the bus request signal. In the step (c), the details The address space accessed in the design verification simulation is set in advance after the output time of the bus request signal that is the starting point of data update in the address space extracted from the corresponding operation simulation. It is also preferable to generate an assertion check means that asserts that data has been updated with the content of the update history before the elapsed time has elapsed.

更に、この態様においては、前記(c)の工程において、前記動作シミュレーションでアクセスされたアドレス空間におけるデータ変更の有無を示すイベント情報に基づいて、前記データ変更の有無を判定するアサーションチェック手段が生成され、前記アサーションチェック手段は、前記動作シミュレーションでアクセスされたアドレス空間の前記データ変更が行われていた場合に、これに対応する前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、前記更新履歴の内容で更新されていることをアサーションとするのも好ましい。   Further, in this aspect, in the step (c), the assertion check means for determining the presence / absence of the data change is generated based on the event information indicating the presence / absence of the data change in the address space accessed in the operation simulation. And the assertion check means, when the data change of the address space accessed in the operation simulation has been performed, the address space accessed in the simulation of the detailed design verification corresponding thereto is changed to the update history. It is also preferable to make an assertion that the content is updated.

上記本発明におけるLSI設計検証方法においは、前記システム動作モデルがCPUモデルを含んでおり、前記(b)の工程において、前記動作履歴として、前記動作シミュレーションにおけるCPUモデルの動作履歴を抽出する態様とすることもできる。   In the LSI design verification method of the present invention, the system operation model includes a CPU model, and in the step (b), the operation history of the CPU model in the operation simulation is extracted as the operation history. You can also

この態様においては、前記動作シミュレーションにおいて発生した前記CPUモデルのプログラムカウンタの変更に基づいて、前記CPUモデルの動作履歴が抽出されるのが好ましい。   In this aspect, it is preferable that the operation history of the CPU model is extracted based on the change in the program counter of the CPU model generated in the operation simulation.

更に、この態様においては、前記CPUモデルのプログラムカウンタが、前記CPUモデルにおいて実行されるプログラムをコンパイルしたときに抽出された命令のアドレス、前記命令のジャンプ先アドレス、サブルーチンの先頭アドレス、タスクの先頭アドレス、スレッドの先頭アドレス、及びプロセスの先頭アドレスのうち少なくとも一つを指していた場合に、前記CPUモデルの動作履歴が抽出されるのが好ましい。   Furthermore, in this aspect, the program counter of the CPU model stores the address of the instruction extracted when the program to be executed in the CPU model is compiled, the jump destination address of the instruction, the start address of the subroutine, the start of the task It is preferable that the operation history of the CPU model is extracted when at least one of an address, a thread start address, and a process start address is indicated.

また、この態様においては、前記CPUモデルの動作履歴が、前記動作シミュレーションにおける前記CPUモデルのプログラムカウンタの変更履歴及び前記プログラムカウンタの変更に伴って出力された信号の出力履歴であり、前記(c)の工程において、前記詳細設計検証のシミュレーションにおけるCPUモデルのプログラムカウンタの値が前記動作シミュレーションにおける前記CPUモデルのプログラムカウンタの値になった後に、前記詳細設計検証のシミュレーションにおけるCPUモデルのプログラムカウンタが前記値の場合に出力された信号が、前記出力履歴の内容で出力されたことをアサーションとするアサーションチェック手段が生成されるのが好ましい。   Also, in this aspect, the operation history of the CPU model is a change history of the program counter of the CPU model in the operation simulation and an output history of the signal output accompanying the change of the program counter, ), After the value of the CPU model program counter in the detailed design verification simulation becomes the value of the CPU model program counter in the operation simulation, the CPU model program counter in the detailed design verification simulation It is preferable that an assertion check unit that generates an assertion that a signal output in the case of the value is output with the content of the output history is generated.

更に、この態様においては、前記CPUモデルの動作履歴が、前記動作シミュレーションにおける前記CPUモデルのプログラムカウンタの変更履歴及び前記プログラムカウンタの変更に伴って使用された記憶領域の更新履歴であり、前記(c)の工程において、前記詳細設計検証のシミュレーションにおけるCPUモデルのプログラムカウンタの値が前記動作シミュレーションにおける前記CPUモデルのプログラムカウンタの値になった後であって、予め設定された時間の経過時に、前記詳細設計検証のシミュレーションにおけるCPUモデルのプログラムカウンタが前記値の場合に使用された記憶領域が、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段が生成されるのも好ましい。   Further, in this aspect, the operation history of the CPU model is a change history of the program counter of the CPU model in the operation simulation and an update history of the storage area used in association with the change of the program counter, In the step c), after the value of the CPU model program counter in the detailed design verification simulation becomes the value of the CPU model program counter in the operation simulation, when a preset time elapses, It is also preferable that an assertion check means is generated that asserts that the storage area used when the CPU model program counter in the detailed design verification simulation has the value is updated with the content of the update history. .

以下、本発明のLSI設計検証装置及びLSI設計検証方法について図面を用いて具体的に説明する。なお、本発明のLSI設計検証装置及びLSI設計検証方法は、以下の実施の形態に何等限定されるものではなく、要旨を逸脱しない範囲においては種々の態様で実施し得る。   Hereinafter, an LSI design verification apparatus and an LSI design verification method according to the present invention will be specifically described with reference to the drawings. The LSI design verification apparatus and the LSI design verification method of the present invention are not limited to the following embodiments, and can be implemented in various modes within the scope not departing from the gist.

(実施の形態1)
以下、本発明の実施の形態1におけるLSI設計検証装置及びLSI設計検証方法について、図1〜図18を参照しながら説明する。本実施の形態1は、動作シミュレーションにおけるバスリクエストに基づいて、動作履歴としてバストランザクション情報が抽出され、更に、この抽出されたバストランザクション情報に基づいて4種類のアサーションチェック手段が生成される例について示している。
(Embodiment 1)
Hereinafter, an LSI design verification apparatus and an LSI design verification method according to Embodiment 1 of the present invention will be described with reference to FIGS. In the first embodiment, bus transaction information is extracted as an operation history based on a bus request in an operation simulation, and four types of assertion check means are generated based on the extracted bus transaction information. Show.

最初に、図1〜図8に基づいて本実施の形態1におけるLSI設計検証装置の構成について説明する。図1は、本発明の実施の形態1におけるLSI設計検証装置の概略構成を示す図である。   First, the configuration of the LSI design verification apparatus according to the first embodiment will be described with reference to FIGS. FIG. 1 is a diagram showing a schematic configuration of an LSI design verification apparatus according to Embodiment 1 of the present invention.

図1に示すように、LSI設計検証装置1は、第1のシミュレーション部2と、動作履歴抽出部3と、アサーションチェック手段生成部4と、第2のシミュレーション部5とを有している。図1において、動作記述6は、C言語等によってシステムを機能的に記述することによって作成されており、設計上位のシステム動作モデルを記述している。また、RTL記述7は、詳細設計においてHDLによって作成されており、動作記述6におけるシステム動作モデルを更に具体的に記述している。   As shown in FIG. 1, the LSI design verification apparatus 1 includes a first simulation unit 2, an operation history extraction unit 3, an assertion check means generation unit 4, and a second simulation unit 5. In FIG. 1, an operation description 6 is created by functionally describing a system in C language or the like, and describes a system operation model at a higher design level. The RTL description 7 is created by HDL in the detailed design, and more specifically describes the system operation model in the operation description 6.

図1に示す第1のシミュレーション部2は、予め作成されたシステム動作モデルを動作記述6から読み出し、これを用いて動作シミュレーションを行うことによってLSIのシステムアーキテクチャ設計検証を行う。本実施の形態1においては、第1のシミュレーション部2は、システムアーキテクチャ設計検証を行うシミュレーション装置(シミュレータ)である。   The first simulation unit 2 shown in FIG. 1 reads a system behavior model created in advance from the behavior description 6 and performs an operation simulation using this to perform LSI system architecture design verification. In the first embodiment, the first simulation unit 2 is a simulation device (simulator) that performs system architecture design verification.

また、本実施の形態1においては、後述の図9に示すように、システム動作モデルは、LSI上のデータバスを用いて、LSIを構成するCPU等のバスマスタからのバスリクエストに応じてデータの授受を行っている。このため、第1のシミュレーション部2は、この一連のデータ転送をトランザクション転送としてひとまとめにした抽象化された動作シミュレーション、つまり、バストランザクション単位での動作シミュレーションを実行する。また、第1のシミュレーション部2は、動作シミュレーションの際、各バスマスタのバスリクエスト及びバストランザクションを観測し、これを、第1のシミュレーション部2が内部に備えた記憶部(図示せず)に動作履歴として記憶している。   In the first embodiment, as shown in FIG. 9 to be described later, the system operation model uses a data bus on an LSI, and data is transmitted in response to a bus request from a bus master such as a CPU constituting the LSI. Giving and receiving. For this reason, the first simulation unit 2 executes an abstracted operation simulation in which the series of data transfer is collectively performed as a transaction transfer, that is, an operation simulation in units of bus transactions. In addition, the first simulation unit 2 observes bus requests and bus transactions of each bus master during the operation simulation, and operates them in a storage unit (not shown) included in the first simulation unit 2. It is memorized as history.

図1に示す動作履歴抽出部3は、第1のシミュレーション部2による動作シミュレーションにおいてシミュレーションされたLSIの動作履歴を抽出する。抽出される動作履歴としては、動作シミュレーションから得られるLSI上の信号の出力履歴、及び動作シミュレーションから得られるLSI上の記憶領域の更新履歴が挙げられる。   The operation history extraction unit 3 illustrated in FIG. 1 extracts the operation history of the LSI simulated in the operation simulation by the first simulation unit 2. The extracted operation history includes an output history of signals on the LSI obtained from the operation simulation and an update history of the storage area on the LSI obtained from the operation simulation.

本実施の形態1においては、上述のように動作シミュレーションがバストランザクション単位で実行される。このため、動作履歴抽出部3は、バストランザクション単位で動作履歴を抽出しており、動作シミュレーションから得られるLSI上のバスマスタから出力されたバスリクエスト信号の出力履歴と、動作シミュレーションでアクセスされたアドレス空間の更新履歴とを抽出している。具体的には、動作履歴として図2に示すバストランザクション情報を抽出している。図2は、実施の形態1において抽出されるバストランザクション情報の一例を示す図である。   In the first embodiment, the operation simulation is executed for each bus transaction as described above. For this reason, the operation history extraction unit 3 extracts the operation history in units of bus transactions, the output history of the bus request signal output from the bus master on the LSI obtained from the operation simulation, and the address accessed in the operation simulation. The update history of the space is extracted. Specifically, the bus transaction information shown in FIG. 2 is extracted as the operation history. FIG. 2 is a diagram illustrating an example of bus transaction information extracted in the first embodiment.

図2に示すように、バストランザクション情報は、バスマスタID、バスリクエスト時刻、ターゲットアドレス、ターゲットアドレスが更新された時刻を示す更新時刻、及び更新された更新データ(記憶情報)といった情報によって構成されている。ターゲットアドレスは、トランザクションが完了したときに更新されるアドレス空間のアドレス情報を示している。   As shown in FIG. 2, the bus transaction information includes information such as a bus master ID, a bus request time, a target address, an update time indicating a time when the target address is updated, and updated update data (stored information). Yes. The target address indicates address information of an address space that is updated when a transaction is completed.

バスマスタIDはバスマスタが出力したバスリクエスト信号を識別する識別子である。本実施の形態1においては、このバスマスタIDが特定するバスリクエスト信号の出力が、トランザクションの起点となる。なお、本実施の形態1においては、バスマスタから出力されているバスリクエスト信号がアクティブになった場合に、バスリクエストが出力されたとみなされる。   The bus master ID is an identifier for identifying a bus request signal output by the bus master. In the first embodiment, the output of the bus request signal specified by the bus master ID becomes the starting point of the transaction. In the first embodiment, it is considered that a bus request is output when the bus request signal output from the bus master becomes active.

図1に示すアサーションチェック手段生成部4は、LSIの詳細設計検証のシミュレーションにおいてシミュレーションされるLSIの動作が、抽出された動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成する。本実施の形態1において、アサーションチェック手段は、Verilog言語等のHDLを利用して、一つの回路モジュールとして記述されたプログラムモジュールである。   The assertion check means generator 4 shown in FIG. 1 generates assertion check means for monitoring whether or not the LSI operation simulated in the LSI detailed design verification simulation corresponds to the extracted operation history operation. . In the first embodiment, the assertion check means is a program module described as one circuit module using HDL such as Verilog language.

また、本実施の形態1においては、上述したようにアサーションチェック手段は、4種類作成される(後述の図4〜図7参照)。更に、アサーションチェック手段生成部4は、RTL記述7を読み出して、これに作成したアサーションチェック手段を組み込んでいる。なお、生成されたアサーションチェック手段の全てがRTL記述7に組み込まれる場合と、一部のみがRTL記述7に組み込まれる場合とがある。以下にアサーションチェック手段の構成について図3を用いて説明する。   Moreover, in this Embodiment 1, as above-mentioned, four types of assertion check means are produced (refer below-mentioned FIGS. 4-7). Furthermore, the assertion check means generation unit 4 reads the RTL description 7 and incorporates the created assertion check means. There are cases where all of the generated assertion check means are incorporated in the RTL description 7 and only some are incorporated in the RTL description 7. The structure of the assertion check means will be described below with reference to FIG.

図3は、実施の形態1におけるアサーションチェック手段の基本構成を概略的に示す図である。アサーションチェック手段は、アサーションの条件と動作結果を判定するために必要な信号とを入力とする回路モジュールであり、HDLによって記述されている。また、図3に示すアサーションチェック手段では、詳細設計のためのシミュレーションにおいて、バスリクエスト信号の出力時刻や、アドレス空間の更新時刻及び更新データ等に、不具合が生じていた場合のメッセージを出力する機能は、HDL記述又は使用するHDLシミュレ−タが提供する組み込み機能を使用することによって実現できる。更に、図3には図示していないが、アサーションチェック手段は、入力された信号の信号値を比較するための期待値を格納する記憶領域(レジスタ配列)を有している。   FIG. 3 is a diagram schematically showing the basic configuration of the assertion check means in the first embodiment. The assertion check means is a circuit module that receives an assertion condition and a signal necessary for determining an operation result, and is described in HDL. In the assertion check means shown in FIG. 3, in the simulation for detailed design, a function for outputting a message when a problem has occurred in the output time of the bus request signal, the update time of the address space, the update data, etc. Can be realized by using a built-in function provided by the HDL description or the HDL simulator to be used. Further, although not shown in FIG. 3, the assertion check means has a storage area (register array) for storing expected values for comparing the signal values of the input signals.

図1に示す第2のシミュレーション部5は、アサーションチェック手段を用いたシミュレーションを行って、詳細設計検証を行う。本実施の形態1においては、第2のシミュレーション部5は、アサーションチェック手段生成部4によってアサーションチェック手段が組み込まれたRTL記述7を読み出し、上位の動作シミュレーションと同一のパタ−ンを用いて、このRTL記述7についてのシミュレーション(RTLシミュレーション)を行っている。このRTLシミュレーションの実行により詳細設計検証が行われる。   The second simulation unit 5 shown in FIG. 1 performs a detailed design verification by performing a simulation using an assertion check unit. In the first embodiment, the second simulation unit 5 reads the RTL description 7 in which the assertion check unit is incorporated by the assertion check unit generation unit 4 and uses the same pattern as the higher-level operation simulation, The RTL description 7 is simulated (RTL simulation). Detailed design verification is performed by executing this RTL simulation.

なお、「同一のパターン」とは、主にシミュレーション上でLSIに入力される入力信号のパターン(いわゆるテストベクタ)や、メモリの初期値を意味している。本実施の形態1において、動作シミュレーションと詳細設計のRTLシミュレーションとは、同一の入力条件で実行される。   Note that the “same pattern” mainly means an input signal pattern (so-called test vector) input to the LSI on simulation and an initial value of the memory. In the first embodiment, the operation simulation and the detailed design RTL simulation are executed under the same input conditions.

このため、RTL記述7に組み込まれたアサーションチェック手段によって、アサーション違反の有無が判断される。本実施の形態1においては、第2のシミュレーション部5は、詳細設計検証を行うシミュレーション装置である(HDLシミュレータ)である。   Therefore, the assertion check means incorporated in the RTL description 7 determines whether there is an assertion violation. In the first embodiment, the second simulation unit 5 is a simulation device (HDL simulator) that performs detailed design verification.

ここで、図4〜図8を用いて、本実施の形態1において生成されるアサーションチェック手段の具体例について説明する。図4〜図7は、実施の形態1におけるアサーションチェック手段の一例とバストランザクション情報の一例とを示す図である。なお、図4〜図7に示すアサーションチェック手段はHDLによって記述されており、それぞれ種類が異なっている。   Here, a specific example of the assertion check unit generated in the first embodiment will be described with reference to FIGS. 4 to 7 are diagrams showing an example of an assertion check unit and an example of bus transaction information in the first embodiment. The assertion check means shown in FIGS. 4 to 7 are described in HDL, and the types are different.

図4には、詳細設計検証のためのシミュレーション(RTLシミュレーション)で出力された信号が、これに対応する動作シミュレーションで出力された信号の出力された時刻に、出力されたことをアサーションとするアサーションチェック手段の一例が示されている。なお、本明細書でいう「信号の出力」には、非アクティブとなっていた信号をアクティブにすることも含む。この場合は、アクティブにした時刻が信号の出力された時刻となる。   FIG. 4 shows an assertion that asserts that the signal output in the simulation for detailed design verification (RTL simulation) is output at the time when the signal output in the corresponding operation simulation is output. An example of checking means is shown. Note that “signal output” in this specification includes activating a signal that has been inactive. In this case, the time when the signal is activated becomes the time when the signal is output.

図4の例では、アサーションチェック手段は、アサーションモジュールA1で構成されており、バストランザクション情報TR1に基づいて記述されている。また、アサーションモジュールA1は、構造体としてトランザクション情報TR1の情報を有しており、「バスマスタID」で示されるバスリクエスト信号を入力として参照している。   In the example of FIG. 4, the assertion check means is composed of the assertion module A1, and is described based on the bus transaction information TR1. Further, the assertion module A1 has the information of the transaction information TR1 as a structure, and refers to the bus request signal indicated by “bus master ID” as an input.

また、アサーションモジュールA1は、RTLシミュレーションのシミュレーション時刻がバストランザクション情報のバスリクエスト時刻に一致した場合に、RTLシミュレーションにおけるバスマスタIDで示されたバスマスタのバスリクエスト信号がアクティブ(図4の例では、アクティブ状態は「fire」で定義されている。)になっていなければ、アサーションエラーとするように記述されている。シミュレーション時刻の判定は、TIME()関数によって行われており、TIME()関数の値はHDLシミュレータ(第2のシミュレーション部5)から取得される。   Further, the assertion module A1 activates the bus request signal of the bus master indicated by the bus master ID in the RTL simulation when the simulation time of the RTL simulation matches the bus request time of the bus transaction information (in the example of FIG. If the state is not defined as “fire”), it is described as an assertion error. The determination of the simulation time is performed by the TIME () function, and the value of the TIME () function is acquired from the HDL simulator (second simulation unit 5).

このように、図4に示すアサーションチェック手段は、RTLシミュレーションにおけるバスリクエストが、バストランザクション情報TR1に含まれたバスリクエストの出力された時刻に出力されたことをアサーションする。   As described above, the assertion checking unit shown in FIG. 4 asserts that the bus request in the RTL simulation is output at the time when the bus request included in the bus transaction information TR1 is output.

図5には、詳細設計検証のためのシミュレーション(RTLシミュレーション)でアクセスされた記憶領域が、これに対応する動作シミュレーションでアクセスされた記憶領域のデータ更新の発生した時刻に、この動作シミュレーションで使用された記憶領域の更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段の一例が示されている。   FIG. 5 shows that the storage area accessed in the detailed design verification simulation (RTL simulation) is used in this operation simulation at the time when the data update of the storage area accessed in the corresponding operation simulation occurs. An example of an assertion check unit that asserts that data has been updated with the contents of the update history of the storage area is shown.

図5の例では、アサーションチェック手段は、アサーションモジュールA2で構成されており、バストランザクション情報TR2に基づいて記述されている。また、アサーションモジュールA2は、構造体としてトランザクション情報TR2の情報を有しており、入力変数mem[]によって、RTLシミュレーションにおけるターゲットアドレスを参照している。   In the example of FIG. 5, the assertion check means is composed of the assertion module A2, and is described based on the bus transaction information TR2. Further, the assertion module A2 has information of transaction information TR2 as a structure, and refers to a target address in the RTL simulation by an input variable mem [].

また、アサーションモジュールA2は、RTLシミュレーションが行われている間は常に(“Always(){}”で記述されている。)、バストランザクション情報TR2の更新時刻に到達したかどうかを判定し、トランザクション情報TR2のターゲットアドレスに対応するRTLシミュレーションにおける全てのターゲットアドレスについて(“for all()[]”で記述されている。)、アサーションチェックを行う。   Further, the assertion module A2 always determines whether or not the update time of the bus transaction information TR2 has been reached while the RTL simulation is being performed (described in “Always () {}”). An assertion check is performed for all target addresses in the RTL simulation corresponding to the target address of the information TR2 (described in “for all () []”).

具体的には、アサーションモジュールA2は、各更新時刻に到達した場合に、該当するアドレス空間、つまりRTLシミュレーションにおけるターゲットアドレスの値が、トランザクション情報TR2の更新データの値と一致しなければ、アサーションエラーとするように記述されている。   Specifically, when the assertion module A2 reaches each update time, if the corresponding address space, that is, the value of the target address in the RTL simulation does not match the value of the update data of the transaction information TR2, the assertion module A2 It is described as

このように、図5に示すアサーションチェック手段は、RTLシミュレーションで使用されたアドレス空間が、これに対応する動作シミュレーションで使用されたアドレス空間のデータ更新された時刻に、この動作シミュレーションで使用されたアドレス空間の更新履歴の内容でデータ更新されたことをアサーションとする。   As described above, the assertion check unit shown in FIG. 5 is used in the operation simulation at the time when the address space used in the RTL simulation is updated in the address space used in the corresponding operation simulation. Assertion is that the data has been updated with the contents of the update history of the address space.

なお、図5に示すアサーションモジュールA2では、RTLシミュレーションの毎時刻にターゲットアドレスの値をチェックする動作記述となっているが、図8に示すように、シミュレーション処理の効率化を図り得る態様とすることもできる。図8は、図5に示すアサーションチェック手段に対してシミュレーション処理の効率化が図られたアサーションチェック手段の具体例を示す図である。   The assertion module A2 shown in FIG. 5 has an operation description for checking the value of the target address at every time of the RTL simulation. However, as shown in FIG. 8, the simulation process can be made more efficient. You can also. FIG. 8 is a diagram showing a specific example of the assertion check means in which the simulation process is more efficient than the assertion check means shown in FIG.

図8に示すように、アサーションチェック手段としてのアサーションモジュールA8は、動作シミュレーションで使用されたLSIのアドレス空間(メモリモジュール)におけるデータ変更(イベント)の有無を予めチェックするように記述されている。   As shown in FIG. 8, the assertion module A8 as an assertion check means is described so as to check in advance whether or not there is a data change (event) in the LSI address space (memory module) used in the operation simulation.

アサーションモジュールA8は、動作シミュレーションでアクセスされたアドレス空間においてデータ変更が発生していた場合に初めて、該当するアドレス空間の値が、このデータ変更が発生していたアドレス空間の更新データの値と一致するかどうか判断するように記述されている。   The assertion module A8 does not match the value of the corresponding address space with the updated data value of the address space in which the data change has occurred until the data change has occurred in the address space accessed in the operation simulation. It is described to judge whether or not.

このため、アサーションモジュールA8によれば、データ変更(イベント)が発生していない場合のデータ比較処理を削減することができる。   For this reason, according to the assertion module A8, it is possible to reduce data comparison processing when no data change (event) occurs.

また、図8に示すアサーションモジュールA8は、動作シミュレーションを行う第1のシミュレーション部1が、イベント駆動方式のシミュレータであって、動作シミュレーションで使用されたアドレス空間におけるデータ変更の有無を示すイベント情報を作成する機能を有しており、この機能を利用することを前提に記述されている。   Further, in the assertion module A8 shown in FIG. 8, the first simulation unit 1 that performs the operation simulation is an event-driven simulator, and event information indicating whether or not the data in the address space used in the operation simulation is changed. It has a function to create and is described on the assumption that this function is used.

このため、図8に示すように、アサーションモジュールA8は、ターゲットアドレスにおけるイベントの有無をEVENT(mem [TR2.ターゲットアドレス])によって判定している。また、図8において、イベントが発生した際の状態は、「happen」で定義されている。   Therefore, as shown in FIG. 8, the assertion module A8 determines the presence / absence of an event at the target address based on EVENT (mem [TR2. Target address]). In FIG. 8, the state when the event occurs is defined as “happen”.

なお、動作シミュレーションを行う第1のシミュレーション部1が、イベント駆動方式以外の処理方式を採用するシミュレ−タである場合は、アサーションモジュールA8は、メモリモジュールへのライトイネ−ブル信号の入力を観測し、これによってデータ変更の有無を判定する構成とすることができる。   When the first simulation unit 1 that performs the operation simulation is a simulator that employs a processing method other than the event drive method, the assertion module A8 observes the input of the write enable signal to the memory module. Thus, it can be configured to determine the presence or absence of data change.

また、この場合においては、アサーションモジュールA8は、アサーションモジュールA8のターゲットアドレスの更新時刻を、アサーションチェックを実行させるイベントとして登録する構成とすることもできる。   In this case, the assertion module A8 may register the update time of the target address of the assertion module A8 as an event for executing the assertion check.

図6には、詳細設計検証のシミュレーションで使用された記憶領域が、これに対応する動作シミュレーションで使用された記憶領域におけるデータ更新の起点となった信号(バスリクエスト)の出力された時刻の後であって、予め設定された時間が経過する前に、この動作シミュレーションで使用された更新履歴の内容でデータ更新されていることをアサーションとするアサーションチェック手段の一例が示されている。   In FIG. 6, the storage area used in the detailed design verification simulation is after the output time of the signal (bus request) that is the starting point of the data update in the storage area used in the corresponding operation simulation. An example of an assertion check means that asserts that data has been updated with the content of the update history used in this operation simulation before a preset time has elapsed is shown.

図6の例では、アサーションチェック手段は、アサーションモジュールA3で構成されており、トランザクション情報TR3に基づいて記述されている。また、アサーションモジュールA3は、構造体としてトランザクション情報TR3の情報を有しており、入力変数mem[]によって、ターゲットアドレスに対応するRTLシミュレーションで使用されるアドレス空間を参照している。   In the example of FIG. 6, the assertion check means is composed of the assertion module A3 and is described based on the transaction information TR3. The assertion module A3 has transaction information TR3 information as a structure, and refers to the address space used in the RTL simulation corresponding to the target address by the input variable mem [].

また、アサーションモジュールA3は、RTLシミュレーションにおける時間の経過をカウントするため、静的変数timeを使用している。更に、アサーションモジュールA3は、定数Delayによって、バスリクエストの出力された時刻からRTLシミュレーションで使用されるアドレス空間のデータ更新がされるまでの間の時間が、予め設定された時間に到達したかどうかを判定している。なお、図6の例では、定数Delayは「N」に設定されている。「N」は、シミュレーション上の単位時間である。   The assertion module A3 uses a static variable time to count the passage of time in the RTL simulation. Further, the assertion module A3 determines whether the time from when the bus request is output until the data of the address space used in the RTL simulation is updated has reached a preset time by the constant Delay. Is judged. In the example of FIG. 6, the constant Delay is set to “N”. “N” is a unit time in simulation.

具体的には、アサーションモジュールA3は、RTLシミュレーションにおいてバスリクエスト信号がアクティブにされると(「fire」で定義されている。)、静的変数timeにおいて「Delay+1」を設定し、この値を時刻の経過に合わせてデクリメントするように記述されている。   Specifically, when the bus request signal is activated in the RTL simulation (defined by “fire”), the assertion module A3 sets “Delay + 1” in the static variable time, and sets this value as the time. It is described to be decremented as time passes.

また、アサーションモジュールA3は、単位時間Nの経過した時点、即ち、デクリメントされたtime変数の値が1になった時点で、トランザクション情報TR3のターゲットアドレスに対応するRTLシミュレーションにおける全てのターゲットアドレスの値が、トランザクション情報TR3の更新データの値と一致しなければ、アサーションエラーとするように記述されている。   Further, the assertion module A3, when the unit time N elapses, that is, when the value of the decremented time variable becomes 1, the values of all target addresses in the RTL simulation corresponding to the target address of the transaction information TR3. However, if it does not match the update data value of the transaction information TR3, it is described as an assertion error.

このように、図6に示すアサーションチェック手段は、RTLシミュレーションで使用されたアドレス空間が、これに対応する動作シミュレーションで使用されたアドレス空間のデータ更新の起点となったバスリクエストの出力された時刻の後であって、予め設定された時間が経過する前に、この動作シミュレーションで使用されたアドレス空間の更新履歴の内容でデータ更新されたことをアサーションとする。   As described above, the assertion check means shown in FIG. 6 is the time when the bus request from which the address space used in the RTL simulation is the starting point of the data update of the address space used in the corresponding operation simulation is output. Assume that the data has been updated with the contents of the update history of the address space used in this operation simulation after the preset time has elapsed.

図7には、詳細設計検証のためのシミュレーション(RTLシミュレーション)で出力された信号が、これに対応する動作シミュレーションで出力された信号の出力された時刻を基準とする時間帯の範囲で出力されたことをアサーションとするアサーションチェック手段の一例が示されている。   In FIG. 7, the signal output in the simulation for the detailed design (RTL simulation) is output in the time zone range based on the output time of the signal output in the corresponding operation simulation. An example of an assertion check means that asserts the fact is shown.

図7に示すアサーションチェック手段は、図4に示すアサーションチェック手段におけるアソシエーション条件の判断時期を、信号の出力された時点を含む時間帯の範囲にまで広げたものである。   The assertion check means shown in FIG. 7 extends the determination time of the association condition in the assertion check means shown in FIG. 4 to the time zone range including the time when the signal is output.

なお、図7に示すアサーションチェック手段は、詳細設計検証のシミュレーションで使用された記憶領域が、これに対応する動作シミュレーションで使用された記憶領域のデータ更新された時刻を基準とする時間帯の範囲で、更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段であっても良い。   Note that the assertion check means shown in FIG. 7 is a time zone range in which the storage area used in the detailed design verification simulation is based on the time when the data of the storage area used in the corresponding operation simulation is updated. Thus, it may be an assertion check means that asserts that data has been updated with the content of the update history.

つまり、図7に示すアサーションチェック手段は、図5に示すアサーションチェック手段におけるアソシエーション条件の判断時期を、信号の出力された時点を含む時間帯の範囲にまで広げたものであっても良い。   That is, the assertion check unit shown in FIG. 7 may extend the determination time of the association condition in the assertion check unit shown in FIG. 5 to a time range including the time when the signal is output.

図7の例では、アサーションチェック手段は、アサーションモジュールA4で構成されており、バストランザクション情報TR4に基づいて記述されている。また、アサーションモジュールA4は、構造体としてバストランザクション情報TR4の情報を有しており、「バスマスタID」で示されるバスリクエスト信号を入力として参照している。   In the example of FIG. 7, the assertion check means is composed of the assertion module A4 and is described based on the bus transaction information TR4. Further, the assertion module A4 has information of the bus transaction information TR4 as a structure, and refers to the bus request signal indicated by the “bus master ID” as an input.

また、アサーションモジュールA4は、RTLシミュレーションにおける上述の時間帯の範囲内にあるかどうかを判定するため、静的変数flagを使用している。更に、アサーションモジュールA4は、定数rangeによって、信号の出力された時点(バスリクエスト時刻の時点)を基準とした時間帯の範囲にあるかどうかを判定している。なお、図7の例では、定数rangeは「K」に設定されている。   In addition, the assertion module A4 uses a static variable flag in order to determine whether it is within the above-described time zone range in the RTL simulation. Furthermore, the assertion module A4 determines whether or not it is within the time zone range based on the time when the signal is output (the time of the bus request time) based on the constant range. In the example of FIG. 7, the constant range is set to “K”.

通常、上位の機能、動作、アーキテクチャ設計から詳細設計を行う際に、詳細設計の結果がその仕様となる上位の設計の動作と一定の範囲でずれることは許容されている。「K」は、このずれの範囲を示すシミュレーション上の単位時間である。本実施の形態1において、「K」の値は、設計者がその対象となる回路性質や設計目標に応じて適宜設定することができ、例えば、クロックサイクルや数サイクル等の値に設定される。   Normally, when a detailed design is performed from a higher-level function, operation, and architecture design, the result of the detailed design is allowed to deviate within a certain range from the operation of the higher-level design that is the specification. “K” is a unit time on the simulation indicating the range of this deviation. In the first embodiment, the value of “K” can be appropriately set by the designer according to the circuit properties and the design target, and is set to a value such as a clock cycle or several cycles, for example. .

具体的には、アサーションモジュールA4は、TIME()関数で参照されるRTLシミュレーションのシミュレーション時刻が、バストランザクション情報TR4におけるバスリクエスト時刻の単位時間K前になると、静的変数flagを1として、期間「バスリクエスト時刻−K+1」〜「バスリクエスト時刻+K−1」の間、バスマスタIDで特定されるバスリクエスト信号を監視するように記述されている。   Specifically, when the simulation time of the RTL simulation referred to by the TIME () function comes before the unit time K of the bus request time in the bus transaction information TR4, the assertion module A4 sets the static variable flag to 1 and sets the period It is described that the bus request signal specified by the bus master ID is monitored between “bus request time−K + 1” to “bus request time + K−1”.

また、アサーションモジュールA4は、バスマスタIDがfireの値をとるとflagをリセットし、シミュレーション時刻が「バスリクエスト時刻+K」のときにflagがリセットされていなければ、アサーションエラーとするように記述されている。   Further, the assertion module A4 is described so as to reset the flag when the bus master ID takes the value of fire, and to generate an assertion error if the flag is not reset when the simulation time is “bus request time + K”. Yes.

なお、上述のように図4〜図8までアサーションチェック手段の例を記載したが、本実施の形態1においては、これらのアサーションチェック手段のうち一部のみを作成する態様とすることもできる。   Although examples of assertion check means have been described with reference to FIGS. 4 to 8 as described above, in the first embodiment, only a part of these assertion check means may be created.

また、例えば、図4に示すアサーションチェック手段(アサーションチェックモジュールA1)のみを生成する態様とするのであれば、トランザクション情報としてターゲットアドレス情報、更新時刻、及び更新データを抽出しない態様とすることもできる。本発明におけるアサーションチェック手段は、上述の図4〜図8に示したアサーションチェック手段に限定されるものではない。   For example, if only the assertion check means (assertion check module A1) shown in FIG. 4 is generated, target address information, update time, and update data may not be extracted as transaction information. . The assertion check means in the present invention is not limited to the assertion check means shown in FIGS.

次に、具体的な検証対象を挙げて、本実施の形態1におけるLSI設計検証方法について図9〜図18を用いて説明する。但し、本実施の形態1にかかるLSI設計検証方法は、図1に示した本実施の形態1にかかるLSI設計検証装置を動作させることによって実施される。このため、適宜図1を参酌しながら、LSI設計検証装置の動作を説明することによって、LSI設計検証方法を説明する。   Next, the LSI design verification method according to the first embodiment will be described with reference to FIGS. However, the LSI design verification method according to the first embodiment is implemented by operating the LSI design verification apparatus according to the first embodiment shown in FIG. Therefore, the LSI design verification method will be described by describing the operation of the LSI design verification apparatus with appropriate reference to FIG.

図9は、本実施の形態1において検証対象となるLSIの構成を示すブロック図である。図10は、図9に示すLSIにおけるバスリクエスト及びトランザクションの発生を示すタイムチャートである。図11は、図9に示すLSIで発生したトランザクションの一覧を示す図である。   FIG. 9 is a block diagram showing a configuration of an LSI to be verified in the first embodiment. FIG. 10 is a time chart showing the generation of bus requests and transactions in the LSI shown in FIG. FIG. 11 is a diagram showing a list of transactions generated in the LSI shown in FIG.

図9に示すように、本実施の形態1において検証対象となるLSIは、CPU11、DMAコントロ−ラ(以下「DMAC」という。)12、バスの割り当て制御を行うバスコントロ−ラ13、データを一時記憶するバッファ(Buffer)14、大容量のメモリ(Memory)15、及びシステムバス17によって構成されている。なお、図9において「16」はバスリクエスト信号の経路を示している。   As shown in FIG. 9, the LSI to be verified in the first embodiment includes a CPU 11, a DMA controller (hereinafter referred to as “DMAC”) 12, a bus controller 13 that performs bus allocation control, and data. It is configured by a buffer 14 that temporarily stores, a large-capacity memory 15, and a system bus 17. In FIG. 9, “16” indicates the path of the bus request signal.

図9に示すLSIにおいて、バスマスタとなるCPU11及びDMAC12それぞれは、バスリクエスト信号をアクティブにすることによってバスリクエストをバスコントロ−ラ13に出力する。なお、CPU11が出力するバスリクエストのバスクリクエストIDが「1」、DMAC12が出力するバスリクエストのバスリクエストIDが「2」に設定されている。   In the LSI shown in FIG. 9, each of the CPU 11 and the DMAC 12 serving as a bus master outputs a bus request to the bus controller 13 by activating the bus request signal. The bus request ID of the bus request output by the CPU 11 is set to “1”, and the bus request ID of the bus request output from the DMAC 12 is set to “2”.

図9に示すLSIの動作シミュレーションにおいては、先ず、CPU11からBuffer14へのデータ書き込みのバストランザクションETR1が発生する。続いて、CPU11からDMAC12の設定レジスタへのDMA転送命令の書き込みのバストランザクションETR2が発生する。   In the LSI operation simulation shown in FIG. 9, first, a bus transaction ETR1 for writing data from the CPU 11 to the Buffer 14 occurs. Subsequently, a bus transaction ETR2 for writing a DMA transfer instruction from the CPU 11 to the setting register of the DMAC 12 occurs.

更に、このDMA転送命令によって、バストランザクションETR1においてBuffer14に書き込まれたデータがMemory15に書き込まれるトランザクションETR3が発生する。   Further, this DMA transfer instruction generates a transaction ETR3 in which data written to the Buffer 14 in the bus transaction ETR1 is written to the Memory 15.

図10に示すように、検証対象となるLSIにおいては、バストランザクションETR1、ETR2、及びETR3は、それぞれシミュレーション時刻がT1、T2、及びT3のときに発生する。図9及び図10で説明した各バストランザクションを、バストランザクション名、送信、受信、アクセスアドレス領域(アドレス空間)、及びバスリクエストIDといった項目でまとめると、図11に示す通りとなる。   As shown in FIG. 10, in the LSI to be verified, bus transactions ETR1, ETR2, and ETR3 occur when the simulation times are T1, T2, and T3, respectively. Each bus transaction described in FIG. 9 and FIG. 10 is summarized by items such as bus transaction name, transmission, reception, access address area (address space), and bus request ID as shown in FIG.

このようなLSIを検証対象とした本実施の形態1におけるLSI設計検証方法について、図12を用いて説明する。図12は、本発明の実施の形態1におけるLSI設計検証方法及び本実施の形態1におけるLSI設計検証装置の動作を示すフロー図である。   An LSI design verification method according to the first embodiment targeting such an LSI will be described with reference to FIG. FIG. 12 is a flowchart showing operations of the LSI design verification method according to the first embodiment of the present invention and the LSI design verification apparatus according to the first embodiment.

図12に示すように、最初に、第1のシミュレーション部2によって、図9に示すLSIの動作モデルを動作記述6から読み出して、動作シミュレーションが行なわれる(ステップS1)。これにより、図9の説明において述べたように、バストランザクションETR1、ETR2、及びETR3が発生する。   As shown in FIG. 12, first, the first simulation unit 2 reads the LSI behavior model shown in FIG. 9 from the behavior description 6 and performs an operation simulation (step S1). As a result, bus transactions ETR1, ETR2, and ETR3 are generated as described in the description of FIG.

また、第1のシミュレーション部2は、CPU11及びDMAC12から出力されたバスリクエストと、バストランザクションETR1、ETR2、及びETR3とを観測し、これを動作履歴として記憶する。   The first simulation unit 2 observes the bus request output from the CPU 11 and the DMAC 12 and the bus transactions ETR1, ETR2, and ETR3, and stores them as an operation history.

次に、動作履歴抽出部3によって、動作履歴として、第1のシミュレーション部2に記憶されているバストランザクション情報が抽出される(ステップS2)。本実施の形態1においては、図13に示すように、バストランザクション情報は、バストランザクション単位で抽出される。   Next, the bus history information stored in the first simulation unit 2 is extracted as the operation history by the operation history extraction unit 3 (step S2). In the first embodiment, as shown in FIG. 13, bus transaction information is extracted in units of bus transactions.

図13は、実施の形態1におけるLSI設計検証方法において抽出されるバストランザクション情報を示す図であり、図13(a)〜(c)それぞれには、バスリクエスト時刻の異なるバスリクエスト毎にバストランザクション情報が示されている。   FIG. 13 is a diagram showing bus transaction information extracted by the LSI design verification method according to the first embodiment. FIGS. 13A to 13C show bus transactions for each bus request having different bus request times. Information is shown.

図13(a)〜(c)に示すように、バストランザクション毎にレイテンシーが異なっている。また、各トランザクションにおいて、データ転送は32ビット単位で実行されている。   As shown in FIGS. 13A to 13C, the latency is different for each bus transaction. In each transaction, data transfer is executed in units of 32 bits.

次に、アサーションチェック手段生成部4によって、アサーションチェック手段の生成が行われる(ステップS3)。本実施の形態1におけるLSI設計検証方法においては、アサーションチェック手段生成部によって図14に示すアサーションチェック手段が生成され、これがRTL記述7に組み込まれる。図14は、実施の形態1におけるLSI設計検証方法において作成されるアサーションチェック手段の一例を示す図である。   Next, the assertion check means generation unit 4 generates assertion check means (step S3). In the LSI design verification method according to the first embodiment, the assertion check means generation unit generates the assertion check means shown in FIG. 14 and incorporates it in the RTL description 7. FIG. 14 is a diagram illustrating an example of an assertion check unit created by the LSI design verification method according to the first embodiment.

図14に示すアサーションチェック手段は、図4に示したアサーションチェック手段と同様のものであり、RTLシミュレーションで出力されたバスリクエスト信号が、バストランザクション情報におけるバスリクエスト時刻に出力されたこと(バスリクエスト信号がアクティブになっていること)をアサーションとするアサーションチェック手段である。   The assertion check means shown in FIG. 14 is the same as the assertion check means shown in FIG. 4, and the bus request signal output in the RTL simulation is output at the bus request time in the bus transaction information (bus request This is an assertion check means that asserts that the signal is active.

なお、図14では、アサーションモジュールA1−ETR1で構成され、構造体としてバストランザクション情報ETR1の情報を有したアサーションチェック手段を示しているが、バストランザクション情報ETR2及びETR3を有するアサーションチェック手段も作成される。   In FIG. 14, the assertion check means including the assertion modules A1-ETR1 and having the information of the bus transaction information ETR1 as a structure is shown. However, the assertion check means having the bus transaction information ETR2 and ETR3 is also created. The

本実施の形態1において、バストランザクション情報ETR2を構造体として有するアサーションチェック手段はアサーションモジュールA1−ETR2で構成されており、バストランザクション情報ETR3を構造体として有するアサーションチェック手段はアサーションモジュールA1−ETR3で構成されている。   In the first embodiment, the assertion check means having the bus transaction information ETR2 as a structure is composed of the assertion modules A1-ETR2, and the assertion check means having the bus transaction information ETR3 as a structure is the assertion modules A1-ETR3. It is configured.

図15は、アサーションチェック手段が組み込まれたRTL記述によって示されるLSIを示すブロック図である。図15に示すように、RTL記述へのアサーションチェック手段の組み込みにより、検証対象となるLSIのブロックに、バスリクエスト1を入力とするアサーションモジュールA1−ETR1及びA1−ETR2と、バスリクエスト2を入力とするアサーションンモジュールA1−ETR3とが接続される。   FIG. 15 is a block diagram showing an LSI indicated by an RTL description in which assertion check means is incorporated. As shown in FIG. 15, by incorporating assertion check means into the RTL description, assertion modules A1-ETR1 and A1-ETR2 that receive bus request 1 and bus request 2 are input to the LSI block to be verified. Are connected to the assertion modules A1-ETR3.

なお、図15に示すLSIは、アサーションモジュールA1−ETR1〜A1−ETR3が接続されている以外は、図9に示したLSIと同様に構成されている。   The LSI shown in FIG. 15 is configured in the same manner as the LSI shown in FIG. 9 except that the assertion modules A1-ETR1 to A1-ETR3 are connected.

次に、第2のシミュレーション部5によって、アサーションチェックモジュールA1−ETR1、A1−ETR2及びA1−ETR3が組み込まれたRTL記述が読み出され、これを用いてRTLシミュレーションが実施される(ステップS4)。この結果、アサーション違反の有無が確認される。   Next, the second simulation unit 5 reads out the RTL description in which the assertion check modules A1-ETR1, A1-ETR2, and A1-ETR3 are incorporated, and the RTL simulation is performed using the RTL description (step S4). . As a result, it is confirmed whether there is an assertion violation.

図16は、図15に示したLSIのRTLシミュレーションを実行した場合のタイムチャートを示す図である。図16に示すように、このRTLシミュレーションにおいては、バストランザクションETR2の発生が、図12に示すステップS1の動作シミュレーション時と異なっている。   FIG. 16 is a diagram showing a time chart when the RTL simulation of the LSI shown in FIG. 15 is executed. As shown in FIG. 16, in this RTL simulation, the generation of the bus transaction ETR2 is different from that in the operation simulation of step S1 shown in FIG.

つまり、ステップS1の動作シミュレーションにおいては、バストランザクションETR2は時刻[T2]で発生しているのに対し、ステップS4のRTLシミュレーションにおいては時刻[T2+3]で発生している。このため、アサーションモジュールA1−ETR1及びA1−ETR3はエラーメッセージを出力しないが、アサーションモジュールA1−ETR2は、時刻[T2]においてバスリクエストが発生していないためエラーメッセージを出力する。   That is, in the operation simulation of step S1, the bus transaction ETR2 occurs at time [T2], whereas in the RTL simulation of step S4, it occurs at time [T2 + 3]. For this reason, the assertion modules A1-ETR1 and A1-ETR3 do not output an error message, but the assertion modules A1-ETR2 output an error message because no bus request has occurred at time [T2].

このように、本実施の形態1におけるLSI設計検証装置及びLSI設計検証方法によれば、発生した時刻の異なるバストランザクション毎に、RTLシミュレーションの途中の段階において、又は検証対象となるLSIの回路内部において、設計上位の動作シミュレーションの結果と設計下位のRTLシミュレーションの結果とが整合しているかどうか検証することができる。   As described above, according to the LSI design verification apparatus and the LSI design verification method of the first embodiment, for each bus transaction that occurs at different times, in the middle of the RTL simulation or in the LSI circuit to be verified Thus, it is possible to verify whether the result of the upper-level operation simulation matches the result of the lower-level RTL simulation.

このため、従来であれば検出が困難であった設計不具合を検出できるので、詳細設計(RTL設計)における完成度の向上を図ることができ、早期にLSI設計の完成度の向上を図り得る。   For this reason, since it is possible to detect design defects that have been difficult to detect in the past, it is possible to improve the completeness in the detailed design (RTL design), and to improve the completeness of the LSI design at an early stage.

次に、上記の図12に示したLSI設計検証方法において、アサーション手段として、図6に示したアサーション手段と同様のものが使用される例について説明する。図17は、本実施の形態1におけるLSI設計検証方法において作成されるアサーションチェック手段の他の例を示す図である。   Next, in the LSI design verification method shown in FIG. 12, an example in which the same assertion means as the assertion means shown in FIG. 6 is used will be described. FIG. 17 is a diagram showing another example of assertion check means created in the LSI design verification method according to the first embodiment.

図17に示すアサーションチェック手段は、図6に示すアサーションチェック手段と同様に、バスリクエスト発生後からの一定の時間の経過時に転送先のアドレス空間が更新されることをチェックする。図17に示すアサーションチェック手段は、アサーションモジュールA3−ETR2で構成されており、トランザクション情報ETR2に基づいて記述された構造体ETR2を有している。   The assertion check unit shown in FIG. 17 checks that the address space of the transfer destination is updated when a certain time has elapsed after the bus request is generated, similarly to the assertion check unit shown in FIG. The assertion check means shown in FIG. 17 includes an assertion module A3-ETR2, and has a structure ETR2 described based on the transaction information ETR2.

構造体ETR2においては、バスリクエストID、バスリクエスト時刻、ターゲットアドレス、更新時刻及び更新データが設定されている。また、アサーションモジュールA3−ETR2においても、図6に示したアサーションモジュールA3と同様に、定数Delayによって、バスリクエスト出力後の一定時間の経過を判定している。図17の例では、定数Delayは単位時間10に設定されている。   In the structure ETR2, a bus request ID, a bus request time, a target address, an update time, and update data are set. Also in the assertion modules A3-ETR2, the elapse of a certain time after the bus request output is determined by the constant Delay, as in the assertion module A3 shown in FIG. In the example of FIG. 17, the constant Delay is set to unit time 10.

アサーションチェックモジュールA3−ETR2は、図15に示したように、検証対象となるLSIのブロックに組み込まれる。RTLシミュレーションの実行の結果得られるタイムチャートを図18に示す。図18は、図17に示すアサーションチェック手段を組み込んでRTLシミュレーションを実行した場合のタイムチャートを示す図である。   As shown in FIG. 15, the assertion check module A3-ETR2 is incorporated in an LSI block to be verified. A time chart obtained as a result of the execution of the RTL simulation is shown in FIG. FIG. 18 is a diagram showing a time chart when the RTL simulation is executed by incorporating the assertion check means shown in FIG.

図18には、バスリクエスト1又は2によって発生したトランザクションETR1、ETR2及びETR3と、アサーションモジュールA3−ETR2の変数timeの値と、エラーメッセージの発生の有無とが示されている。   FIG. 18 shows the transactions ETR1, ETR2, and ETR3 generated by the bus request 1 or 2, the value of the variable time of the assertion modules A3-ETR2, and whether or not an error message has occurred.

図18に示すように、時刻T2+3におけるバスリクエスト1の発生時点から、単位時間5が経過した時点でアドレス1024のデータが更新され、単位時間9が経過した時点でアドレス1028のデータが更新されている。このため、図18の例では、変数timeの値が1になる時刻T2+10において、アサーションモジュールA3−ETR2はエラーメッセージを出力しないことになる。   As shown in FIG. 18, the data at the address 1024 is updated when the unit time 5 elapses from the time when the bus request 1 occurs at time T2 + 3, and the data at the address 1028 is updated when the unit time 9 elapses. Yes. For this reason, in the example of FIG. 18, at time T2 + 10 when the value of the variable time becomes 1, the assertion module A3-ETR2 does not output an error message.

このように、図17及び図18に示した例では、RTLシミュレーションの途中の段階において、トランザクションの実行と記憶領域の更新とが正しく行なわれているかどうかを確認できる。このため、図17及び図18に示した例においても、従来であれば検出が困難であった設計不具合を検出できるので、詳細設計(RTL設計)における完成度の向上を図ることができる。   As described above, in the example shown in FIGS. 17 and 18, it is possible to confirm whether the execution of the transaction and the update of the storage area are correctly performed in the middle of the RTL simulation. For this reason, also in the examples shown in FIGS. 17 and 18, since it is possible to detect design defects that were difficult to detect in the prior art, it is possible to improve the completeness in the detailed design (RTL design).

なお、本実施の形態1においては、図4及び図6に示したタイプのアサーションチェック手段をRTL記述に組み込んだ例について示しているが、例えば図5に示したタイプのアサーションチェック手段(図8に示したアサーションチェック手段も含む。)を用いた場合であっても、図17及び図18に示した例と同様に、RTLシミュレーションの途中の段階において、トランザクションの実行と記憶領域の更新とが正しく行なわれているかどうかを確認できる。   In the first embodiment, an example in which the assertion check means of the type shown in FIGS. 4 and 6 is incorporated in the RTL description is shown. For example, the assertion check means of the type shown in FIG. 5 (FIG. 8). Even in the case of using the assertion check means shown in FIG. 17, as in the example shown in FIGS. 17 and 18, in the middle of the RTL simulation, transaction execution and storage area update are performed. You can check whether it is done correctly.

また、図7に示したアサーションチェック手段を用いた場合は、バスリクエスト時刻を基準とする所定の範囲の時間帯での動作条件をアサーションに含むことができるため、許容可能な範囲でのタイミングのずれに対してエラーを出力しないようにできる。よって、この場合は、不要な擬似エラーの発生や、それに伴い増加する解析工数の無駄の発生を抑制することができる。   Further, when the assertion check means shown in FIG. 7 is used, since the assertion can include an operation condition in a predetermined time zone based on the bus request time, the timing within an allowable range can be included. It is possible to prevent an error from being output for the deviation. Therefore, in this case, generation of unnecessary pseudo errors and generation of unnecessary analysis man-hours can be suppressed.

本実施の形態1におけるLSI設計検証装置は、コンピュ−タに、図12に示すステップS1〜S4を具現化させるプログラムをインスト−ルし、このプログラムを実行することによっても、実現することができる。   The LSI design verification apparatus according to the first embodiment can also be realized by installing a program for realizing steps S1 to S4 shown in FIG. 12 on a computer and executing the program. .

この場合、コンピュ−タのCPU(central processing unit)は、第1のシミュレーション部2、動作履歴抽出部3、アサーションチェック手段生成部4及び第2のシミュレーション部5として機能し、処理を行う。なお、これら各部は別々のコンピュータによって実現されていても良い。   In this case, a central processing unit (CPU) of the computer functions as the first simulation unit 2, the operation history extraction unit 3, the assertion check means generation unit 4, and the second simulation unit 5 to perform processing. Note that these units may be realized by separate computers.

(実施の形態2)
次に、本発明の実施の形態2におけるLSI設計検証装置及びLSI設計検証方法について、図19〜図21を参照しながら説明する。
(Embodiment 2)
Next, an LSI design verification apparatus and an LSI design verification method according to the second embodiment of the present invention will be described with reference to FIGS.

最初に、本実施の形態2におけるLSI設計検証装置の構成について説明する。本実施の形態2におけるLSI設計検証装置は、図1に示した実施の形態1におけるLSI設計検証装置と同様に構成されており、第1のシミュレーション部、動作履歴抽出部、アサーションチェック手段生成部、及び第2のシミュレーション部を有している(図1参照)。   First, the configuration of the LSI design verification apparatus according to the second embodiment will be described. The LSI design verification apparatus according to the second embodiment is configured similarly to the LSI design verification apparatus according to the first embodiment shown in FIG. 1, and includes a first simulation unit, an operation history extraction unit, and an assertion check means generation unit. And a second simulation unit (see FIG. 1).

但し、本実施の形態2におけるLSI設計検証装置は、実施の形態1におけるLSI設計検証装置と異なり、動作シミュレーションにおけるCPUモデルのプログラムカウンタの履歴に基づいて、アサーションチェック手段が生成される。   However, unlike the LSI design verification apparatus in the first embodiment, the LSI design verification apparatus in the second embodiment generates assertion check means based on the history of the CPU model program counter in the operation simulation.

このため、特に、本実施の形態2においては動作履歴抽出部の機能が実施の形態1と異なっている。本実施の形態2においては、動作履歴抽出部は、動作シミュレーションにおいて発生したCPUモデルのプログラムカウンタの変更に基づいて、CPUモデルの動作履歴を抽出する。   For this reason, in particular, in the second embodiment, the function of the operation history extraction unit is different from that in the first embodiment. In the second embodiment, the operation history extraction unit extracts the operation history of the CPU model based on the change of the program counter of the CPU model generated in the operation simulation.

具体的には、本実施の形態2においては、動作履歴抽出部は、CPUモデルにおいて実行されるプログラムのソフトウェアコンパイル結果に基づいて、予め設定された命令のアドレス、命令のジャンプ先アドレス、サブルーチンの先頭アドレス、タスクの先頭アドレス、スレッドの先頭アドレス、及びプロセスの先頭アドレス等をプログラムアドレス情報として抽出する。   Specifically, in the second embodiment, the operation history extraction unit is configured to set a preset instruction address, an instruction jump destination address, and a subroutine based on a software compilation result of a program executed in the CPU model. A start address, a task start address, a thread start address, a process start address, and the like are extracted as program address information.

更に、動作履歴抽出部は、第1のシミュレーション部による動作シミュレーションにおいて、CPUモデルのプログラムカウンタが上記の抽出したアドレスを指した場合に、CPUモデルの動作履歴(CPU動作情報)を抽出する。   Further, the operation history extraction unit extracts the operation history (CPU operation information) of the CPU model when the CPU model program counter indicates the extracted address in the operation simulation by the first simulation unit.

CPUモデルの動作履歴(CPU動作情報)としては、例えば、動作シミュレーションにおけるCPUモデルのプログラムカウンタの変更履歴(プログラムカウンタ値、変更時刻等)、プログラムカウンタの変更に伴ってCPUモデルから出力された信号の出力履歴、プログラムカウンタの変更に伴って使用された記憶領域(アドレス空間)の更新履歴(更新時刻、更新データ等)等が挙げられる。なお、CPUモデルの動作履歴(CPU動作情報)の具体例については後述する。   The CPU model operation history (CPU operation information) includes, for example, a CPU model program counter change history (program counter value, change time, etc.) in the operation simulation, and a signal output from the CPU model when the program counter is changed. Output history, update history (update time, update data, etc.) of the storage area (address space) used in association with the change of the program counter. A specific example of the operation history (CPU operation information) of the CPU model will be described later.

次に、本実施の形態2におけるLSI設計検証方法について図19〜図21を用いて説明する。但し、本実施の形態2にかかるLSI設計検証方法も、実施の形態1にかかるLSI設計検証方法と同様に、本実施の形態2にかかるLSI設計検証装置を動作させることによって実施される。このため、本実施の形態2においても、LSI設計検証装置の動作を説明することによって、LSI設計検証方法を説明する。   Next, an LSI design verification method according to the second embodiment will be described with reference to FIGS. However, the LSI design verification method according to the second embodiment is also implemented by operating the LSI design verification apparatus according to the second embodiment, similarly to the LSI design verification method according to the first embodiment. Therefore, also in the second embodiment, the LSI design verification method will be described by explaining the operation of the LSI design verification apparatus.

図19は、本発明の実施の形態2におけるLSI設計検証方法及び本実施の形態2におけるLSI設計検証装置の動作を示すフロー図である。図19に示すように、最初に、動作履歴抽出部によって、CPUモデルにおいて実行されるプログラムのソフトウェアコンパイル結果に基づいて、プログラムアドレス情報が抽出される(ステップS11)。   FIG. 19 is a flowchart showing operations of the LSI design verification method according to the second embodiment of the present invention and the LSI design verification apparatus according to the second embodiment. As shown in FIG. 19, first, the operation history extracting unit extracts program address information based on the software compilation result of the program executed in the CPU model (step S11).

次に、第1のシミュレーション部によって、CPUモデルを含むLSIの動作モデルを動作記述から読み出して、動作シミュレーションが行なわれる(ステップS12)。このとき、第1のシミュレーション部においては、CPUモデルのプログラムカウンタ、プログラムカウンタの変更に伴ってCPUモデルから出力された信号、及びプログラムカウンタの変更に伴って使用された記憶領域(アドレス空間)の値が観測され、観測結果が記憶される。   Next, the behavior model of the LSI including the CPU model is read from the behavior description by the first simulation unit, and the behavior simulation is performed (step S12). At this time, in the first simulation unit, the CPU model program counter, the signal output from the CPU model when the program counter is changed, and the storage area (address space) used when the program counter is changed The value is observed and the observation result is stored.

次に、動作履歴抽出部によって、第1のシミュレーション部による動作シミュレーションにおいて、CPUモデルのプログラムカウンタがステップS11で抽出したアドレスを指していたかどうかの判定が行なわれ、抽出したアドレスを指していた場合は、CPU動作情報を抽出する(ステップS13)。   Next, when the operation history extraction unit determines whether the program counter of the CPU model points to the address extracted in step S11 in the operation simulation by the first simulation unit, and points to the extracted address Extracts CPU operation information (step S13).

図20は、実施の形態2において抽出されるCPU動作情報の構成を示す図である。図20に示すように、本実施の形態2においては、CPU動作情報は、CPUモデルのプログラムカウンタ値、その変更時刻、観測期間、プログラムカウンタの変更に伴ってCPUモデルから出力された信号の出力履歴としての信号名/アドレス、更に、プログラムカウンタの変更に伴って使用されたアドレス空間の更新履歴としての更新時刻及び更新値/更新データによって構成されている。観測期間は、上記の信号やアドレス空間の変更を観測する期間であり、予め設定されている。   FIG. 20 is a diagram showing a configuration of CPU operation information extracted in the second embodiment. As shown in FIG. 20, in the second embodiment, the CPU operation information includes the CPU model program counter value, its change time, observation period, and the output of the signal output from the CPU model as the program counter changes. It is composed of a signal name / address as a history, an update time and an update value / update data as an update history of the address space used in association with the change of the program counter. The observation period is a period for observing the change of the signal and the address space, and is set in advance.

その後、アサーションチェック手段生成部によって、アサーションチェック手段の生成が行われる(ステップS14)。本実施の形態2におけるアサーションチェック手段も、実施の形態1と同様に、アサーションチェック手段は、Verilog言語等のHDLを利用して、一つの回路モジュールとして記述されたプログラムモジュールである。   Thereafter, the assertion check means generation unit generates assertion check means (step S14). Similarly to the first embodiment, the assertion check means in the second embodiment is a program module described as one circuit module using HDL such as Verilog language.

また、本実施の形態2におけるアサーションチェック手段の基本構成も、実施の形態1において図3を用いて示したものと同様である。作成されたアサーションチェック手段は、アサーションチェック手段生成部によって、RTL記述に組み込まれる。   Further, the basic configuration of the assertion check means in the second embodiment is the same as that shown in FIG. 3 in the first embodiment. The generated assertion check means is incorporated into the RTL description by the assertion check means generation unit.

図21は、実施の形態2におけるアサーションチェック手段の一例とCPU動作情報の一例とを示す図である。図21には、RTLシミュレーションにおけるCPUモデルのプログラムカウンタの値が動作シミュレーションにおけるCPUモデルのプログラムカウンタの値になった後であって、予め設定された時間が経過した時に、RTLシミュレーションにおけるCPUモデルのプログラムカウンタが上記の値の場合に使用されたアドレス空間が、CPU動作情報の内容でデータ更新されたことをアサーションとするアサーションチェック手段の一例が示されている。   FIG. 21 is a diagram illustrating an example of an assertion check unit and an example of CPU operation information according to the second embodiment. FIG. 21 shows the state of the CPU model in the RTL simulation after a preset time has elapsed after the value of the CPU model program counter in the RTL simulation has reached the value of the CPU model program counter in the operation simulation. An example of an assertion check unit is shown in which the address space used when the program counter is the above value is updated with data updated with the contents of the CPU operation information.

図21の例では、アサーションチェック手段は、アサーションモジュールAPで構成されており、CPU動作情報に基づいて記述されている。また、アサーションモジュールAPは、構造体としてCPU動作情報を有しており、入力変数PC,sig[],mem[]によって、RTLシミュレーションにおけるプログラムカウンタ値、プログラムカウンタの変更に伴ってCPUモデルから出力された信号の信号名/アドレス、及びプログラムカウンタの変更に伴って使用されたアドレス空間の更新値/更新データを参照している。   In the example of FIG. 21, the assertion check means is composed of an assertion module AP and is described based on CPU operation information. The assertion module AP has CPU operation information as a structure, and is output from the CPU model as the program counter value and program counter are changed in the RTL simulation by the input variables PC, sig [], and mem []. The signal name / address of the received signal and the update value / update data of the address space used in accordance with the change of the program counter are referred to.

また、アサーションモジュールAPは、RTLシミュレーションにおける時間の経過をカウントするため、静的変数timeを使用している。アサーションモジュールAPは、先ず、RTLシミュレーションのシミュレーション時刻(TIME()関数で返される)が、CPU動作情報の変更時刻に一致すると、変数PCの値とCPU動作情報のプログラムカウンタ値とを比較する。次いで、アサーションモジュールAPは、これらの値が一致しない場合は、エラーメッセージを出力する。   The assertion module AP uses a static variable time in order to count the passage of time in the RTL simulation. First, when the simulation time of the RTL simulation (returned by the TIME () function) coincides with the change time of the CPU operation information, the assertion module AP compares the value of the variable PC with the program counter value of the CPU operation information. The assertion module AP then outputs an error message if these values do not match.

一方、これらの値が一致している場合は、静的変数timeにCPU動作情報の観測期間+1を設定し、観測期間の経過後、即ち、シミュレーション時刻の経過に合わせてデクリメントしたtime変数の値が1になった時点で、CPU動作情報に含まれる全ての信号名/アドレスについて、更新値/更新データを探索する。探索の結果、探索した値と、動作シミュレーションにおける対応する更新データ値とが同一の値になっていない場合は、エラーメッセージを出力する。   On the other hand, if these values match, the CPU operation information observation period +1 is set to the static variable time, and the value of the time variable decremented after the observation period has elapsed, that is, with the lapse of the simulation time. When the value becomes 1, the search is performed for update values / update data for all signal names / addresses included in the CPU operation information. As a result of the search, if the searched value and the corresponding update data value in the operation simulation are not the same value, an error message is output.

次に、第2のシミュレーション部によって、アサーションチェックモジュールAPが組み込まれたRTL記述が読み出され、これを用いてRTLシミュレーションが実施される(ステップS15)。この結果、アサーション違反の有無が確認される。なお、このRTLシミュレーションは、実施の形態1の場合と同様に、上位の動作シミュレーションと同一のパタ−ンを用いて行なわれる。   Next, the RTL description in which the assertion check module AP is incorporated is read out by the second simulation unit, and an RTL simulation is performed using the RTL description (step S15). As a result, it is confirmed whether there is an assertion violation. This RTL simulation is performed using the same pattern as the higher-level operation simulation, as in the first embodiment.

このように、本実施の形態2におけるLSI設計検証装置及びLSI設計検証方法においても、実施の形態1と同様に、RTLシミュレーションの途中の段階において、又は検証対象となるLSIの回路内部において、設計上位の動作シミュレーションの結果と設計下位のRTLシミュレーションの結果とが整合しているかどうか検証することができる。このため、従来であれば検出が困難であった設計不具合を検出できるので、詳細設計(RTL設計)における完成度の向上を図ることができ、早期にLSI設計の完成度の向上を図り得る。   As described above, in the LSI design verification apparatus and the LSI design verification method according to the second embodiment, as in the first embodiment, the design is performed in the middle of the RTL simulation or inside the LSI circuit to be verified. It is possible to verify whether the result of the upper operation simulation matches the result of the RTL simulation lower than the design. For this reason, since it is possible to detect design defects that have been difficult to detect in the past, it is possible to improve the completeness in the detailed design (RTL design), and to improve the completeness of the LSI design at an early stage.

また、本実施の形態2においては、マルチタスク動作するソフトウェアの各タスクの先頭アドレスをCPU動作情報として抽出し、このCPU動作情報に基づいてアサーションチェックを行う態様とすることができる。この場合、動作シミュレーション及びRTLシミュレーションの両方において、タスクチェンジが発生したかどうかを検証できる。   In the second embodiment, the start address of each task of software that performs multitask operation is extracted as CPU operation information, and an assertion check can be performed based on the CPU operation information. In this case, it is possible to verify whether a task change has occurred in both the operation simulation and the RTL simulation.

更に、本実施の形態2においては、CPUモデルで実行されるプログラムが外部にアクセスして割り込み待ちに入るプログラムである場合は、外部へのアクセス命令アドレスを指したときのプログラムカウンタ値とその実行時刻とをCPU動作情報として抽出する態様とすることができる。この態様においては、一定期間内に発生した割り込み信号の発生をアサーションチェックとしてRTLシミュレーションの検証を行うことができるので、詳細設計における動作の正確性を容易に確認することができる。   Furthermore, in the second embodiment, when the program executed in the CPU model is a program that accesses the outside and enters an interrupt wait state, the program counter value when the external access instruction address is pointed and its execution It can be set as the aspect which extracts time as CPU operation information. In this aspect, since the RTL simulation can be verified using the generation of an interrupt signal generated within a certain period as an assertion check, the accuracy of the operation in the detailed design can be easily confirmed.

本発明の実施の形態1におけるLSI設計検証装置の概略構成を示す図である。It is a figure which shows schematic structure of the LSI design verification apparatus in Embodiment 1 of this invention. 実施の形態1において抽出されるバストランザクション情報の一例を示す図である。6 is a diagram illustrating an example of bus transaction information extracted in the first embodiment. FIG. 実施の形態1におけるアサーションチェック手段の基本構成を概略的に示す図である。FIG. 3 is a diagram schematically showing a basic configuration of assertion check means in the first embodiment. 実施の形態1におけるアサーションチェック手段の一例とバストランザクション情報の一例とを示す図である。It is a figure which shows an example of the assertion check means in Embodiment 1, and an example of bus transaction information. 実施の形態1におけるアサーションチェック手段の他の例とバストランザクション情報の他の例とを示す図である。It is a figure which shows the other example of the assertion check means in Embodiment 1, and the other example of bus transaction information. 実施の形態1におけるアサーションチェック手段の他の例とバストランザクション情報の他の例とを示す図である。It is a figure which shows the other example of the assertion check means in Embodiment 1, and the other example of bus transaction information. 実施の形態1におけるアサーションチェック手段の他の例とバストランザクション情報の他の例とを示す図である。It is a figure which shows the other example of the assertion check means in Embodiment 1, and the other example of bus transaction information. 図5に示すアサーションチェック手段に対してシミュレーション処理の効率化が図られたアサーションチェック手段の具体例を示す図である。It is a figure which shows the specific example of the assertion check means by which the efficiency of the simulation process was achieved with respect to the assertion check means shown in FIG. 本実施の形態1において検証対象となるLSIの構成を示すブロック図である。3 is a block diagram showing a configuration of an LSI to be verified in the first embodiment. FIG. 図9に示すLSIにおけるバスリクエスト及びトランザクションの発生を示すタイムチャートである。10 is a time chart showing generation of bus requests and transactions in the LSI shown in FIG. 9. 図9に示すLSIで発生したトランザクションの一覧を示す図である。FIG. 10 is a diagram showing a list of transactions generated in the LSI shown in FIG. 9. 本発明の実施の形態1におけるLSI設計検証方法及び本実施の形態1におけるLSI設計検証装置の動作を示すフロー図である。It is a flowchart which shows operation | movement of the LSI design verification method in Embodiment 1 of this invention, and the LSI design verification apparatus in this Embodiment 1. 実施の形態1におけるLSI設計検証方法において抽出されるバストランザクション情報を示す図であり、図13(a)〜(c)それぞれには、バスリクエスト時刻の異なるバスリクエスト毎にバストランザクション情報が示されている。FIG. 14 is a diagram showing bus transaction information extracted by the LSI design verification method in the first embodiment, and FIGS. 13A to 13C each show bus transaction information for each bus request having a different bus request time. ing. 実施の形態1におけるLSI設計検証方法において作成されるアサーションチェック手段の一例を示す図である。5 is a diagram illustrating an example of an assertion check unit created by the LSI design verification method according to Embodiment 1. FIG. アサーションチェック手段が組み込まれたRTL記述によって示されるLSIを示すブロック図である。It is a block diagram which shows LSI shown by the RTL description in which the assertion check means was incorporated. 図15に示したLSIのRTLシミュレーションを実行した場合のタイムチャートを示す図である。FIG. 16 is a diagram showing a time chart when an RTL simulation of the LSI shown in FIG. 15 is executed. 本実施の形態1におけるLSI設計検証方法において作成されるアサーションチェック手段の他の例を示す図である。It is a figure which shows the other example of the assertion check means produced in the LSI design verification method in this Embodiment 1. FIG. 図17に示すアサーションチェック手段を組み込んでRTLシミュレーションを実行した場合のタイムチャートを示す図である。It is a figure which shows the time chart at the time of incorporating the assertion check means shown in FIG. 17, and performing RTL simulation. 本発明の実施の形態2におけるLSI設計検証方法及び本実施の形態2におけるLSI設計検証装置の動作を示すフロー図である。It is a flowchart which shows operation | movement of the LSI design verification method in Embodiment 2 of this invention, and the LSI design verification apparatus in this Embodiment 2. 実施の形態2において抽出されるCPU動作情報の構成を示す図である。FIG. 10 is a diagram illustrating a configuration of CPU operation information extracted in the second embodiment. 実施の形態2におけるアサーションチェック手段の一例とCPU動作情報の一例とを示す図である。It is a figure which shows an example of the assertion check means in Embodiment 2, and an example of CPU operation information.

符号の説明Explanation of symbols

1 LSI設計検証装置
2 第1のシミュレーション部
3 動作履歴抽出部
4 アサーションcheck手段生成部
5 第2のシミュレーション部
6 動作記述
7 RTL記述
11 CPU
12 DMAC
13 バスコントローラ
14 Buffer
15 Memory
16 バスリクエスト信号の経路
17 システムバス
DESCRIPTION OF SYMBOLS 1 LSI design verification apparatus 2 1st simulation part 3 Operation | movement history extraction part 4 Assertion check means production | generation part 5 2nd simulation part 6 Operation | movement description 7 RTL description 11 CPU
12 DMAC
13 Bus controller 14 Buffer
15 Memory
16 Bus Request Signal Route 17 System Bus

Claims (23)

LSIの設計における前記LSIのシステムアーキテクチャ設計検証及び詳細設計検証を行うLSI設計検証方法であって、
(a)予め作成された前記LSIのシステム動作モデルの動作シミュレーションを行うことによって、前記LSIのシステムアーキテクチャ設計検証を行う工程と、
(b)前記動作シミュレーションにおいてシミュレーションされた前記LSIの動作履歴を抽出する工程と、
(c)前記LSIの詳細設計検証のシミュレーションにおいてシミュレーションされる前記LSIの動作が、抽出された前記動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成する工程と、
(d)前記アサーションチェック手段を用いたシミュレーションを行って、前記詳細設計検証を行う工程とを少なくとも有することを特徴とするLSI設計検証方法。
An LSI design verification method for performing system architecture design verification and detailed design verification of the LSI in LSI design,
(A) performing a system architecture design verification of the LSI by performing an operation simulation of the system operation model of the LSI created in advance;
(B) extracting an operation history of the LSI simulated in the operation simulation;
(C) generating an assertion check means for monitoring whether the operation of the LSI simulated in the detailed design verification simulation of the LSI corresponds to the operation of the extracted operation history;
(D) An LSI design verification method comprising at least a step of performing a detailed design verification by performing a simulation using the assertion check means.
前記(b)の工程において、前記動作履歴として、前記動作シミュレーションから得られる前記LSI上の信号の出力履歴、及び前記動作シミュレーションから得られる前記LSI上の記憶領域の更新履歴を抽出する請求項1記載のLSI設計検証方法。   2. In the step (b), as the operation history, an output history of signals on the LSI obtained from the operation simulation and an update history of storage areas on the LSI obtained from the operation simulation are extracted. The LSI design verification method described. 前記(c)の工程において、
前記詳細設計検証のシミュレーションから得られる前記LSI上の信号が、これに対応する前記動作シミュレーションから得られる前記LSI上の信号の出力された時刻に、出力されたことをアサーションとするアサーションチェック手段が生成される請求項2記載のLSI設計検証方法。
In the step (c),
Assertion check means for asserting that the signal on the LSI obtained from the simulation of the detailed design verification is output at the time when the signal on the LSI obtained from the corresponding operation simulation is output. The LSI design verification method according to claim 2, which is generated.
前記(c)の工程において、
前記詳細設計検証のシミュレーションから得られる前記LSI上の信号が、これに対応する前記動作シミュレーションから得られる前記LSI上の信号の出力された時刻を基準とする時間帯の範囲で、出力されたことをアサーションとするアサーションチェック手段が生成される請求項2記載のLSI設計検証方法。
In the step (c),
The signal on the LSI obtained from the simulation of the detailed design verification was output in a time zone range based on the output time of the signal on the LSI obtained from the corresponding operation simulation. 3. The LSI design verification method according to claim 2, wherein assertion check means using the assertion is generated.
前記(c)の工程において、
前記詳細設計検証のシミュレーションから得られる前記LSI上の記憶領域が、これに対応する前記動作シミュレーションから得られる前記LSI上の記憶領域におけるデータ更新の発生した時刻に、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段が生成される請求項2記載のLSI設計検証方法。
In the step (c),
The storage area on the LSI obtained from the simulation of the detailed design verification is updated with the contents of the update history at the time when the data update in the storage area on the LSI obtained from the corresponding operation simulation occurs. 3. The LSI design verification method according to claim 2, wherein assertion check means for generating the assertion is generated.
前記(c)の工程において、
前記詳細設計検証のシミュレーションから得られる前記LSI上の記憶領域が、これに対応する前記動作シミュレーションから得られる前記LSI上の記憶領域におけるデータ更新の発生した時刻を基準とする時間帯の範囲で、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段が生成される請求項2記載のLSI設計検証方法。
In the step (c),
The storage area on the LSI obtained from the simulation of the detailed design verification is in a time zone range based on the time when the data update occurred in the storage area on the LSI obtained from the corresponding operation simulation. 3. The LSI design verification method according to claim 2, wherein assertion check means for generating an assertion that data has been updated with the content of the update history is generated.
前記(a)の工程における前記動作シミュレーションにおいて、前記記憶領域のデータ更新が前記信号の出力を起点として行われており、
前記(c)の工程において、
前記詳細設計検証のシミュレーションから得られる前記LSI上の記憶領域が、これに対応する前記動作シミュレーションから得られる前記LSI上の記憶領域におけるデータ更新の起点となった前記信号の出力された時刻の後であって、予め設定された時間が経過する前に、前記更新履歴の内容でデータ更新されていることをアサーションとするアサーションチェック手段が生成される請求項2記載のLSI設計検証方法。
In the operation simulation in the step (a), the data update of the storage area is performed starting from the output of the signal,
In the step (c),
After the output time of the signal, the storage area on the LSI obtained from the detailed design verification simulation is the starting point of the data update in the corresponding storage area on the LSI obtained from the operation simulation. 3. The LSI design verification method according to claim 2, wherein assertion check means for generating an assertion that data has been updated with the content of the update history is generated before a preset time elapses.
前記(c)の工程において、
前記動作シミュレーションから得られる前記LSI上の記憶領域におけるデータ変更の有無を示すイベント情報に基づいて、前記データ変更の有無を判定するアサーションチェック手段が生成され、
前記アサーションチェック手段は、前記動作シミュレーションから得られる前記LSI上の記憶領域の前記データ変更が行われていた場合に、これに対応する前記詳細設計検証のシミュレーションから得られる前記LSI上の記憶領域が、前記更新履歴の内容で更新されていることをアサーションとする請求項2記載のLSI設計検証方法。
In the step (c),
Assertion check means for determining the presence or absence of the data change is generated based on event information indicating the presence or absence of the data change in the storage area on the LSI obtained from the operation simulation,
The assertion check means, when the data change of the storage area on the LSI obtained from the operation simulation has been performed, the storage area on the LSI obtained from the simulation of the detailed design verification corresponding thereto 3. The LSI design verification method according to claim 2, wherein an assertion is that the update history is updated.
前記(a)の工程において、前記動作シミュレーションがバストランザクション単位で行われており、
前記(b)の工程において、バストランザクション単位で前記動作履歴が抽出される請求項1記載のLSI設計検証方法。
In the step (a), the operation simulation is performed in units of bus transactions,
2. The LSI design verification method according to claim 1, wherein in the step (b), the operation history is extracted for each bus transaction.
前記(b)の工程において、
前記バストランザクション単位での前記動作履歴として、前記動作シミュレーションから得られる前記LSI上のバスリクエスト信号の出力履歴と、前記動作シミュレーションでアクセスされたアドレス空間の更新履歴とが抽出される請求項9記載のLSI設計検証方法。
In the step (b),
10. The output history of the bus request signal on the LSI obtained from the operation simulation and the update history of the address space accessed in the operation simulation are extracted as the operation history in units of the bus transaction. LSI design verification method.
前記(c)の工程において、
前記詳細設計検証のシミュレーションから得られる前記LSI上のバスリクエスト信号が、これに対応する前記動作シミュレーションから得られる前記LSI上のバスリクエスト信号の出力された時刻に、出力されたことをアサーションとするアサーションチェック手段を生成する請求項10記載のLSI設計検証方法。
In the step (c),
Assertion that the bus request signal on the LSI obtained from the detailed design verification simulation is output at the time when the bus request signal on the LSI obtained from the corresponding operation simulation is output. 11. The LSI design verification method according to claim 10, wherein assertion check means is generated.
前記(c)の工程において、
前記詳細設計検証のシミュレーションから得られる前記LSI上のバスリクエスト信号が、これに対応する前記動作シミュレーションから得られる前記LSI上のバスリクエスト信号の出力された時刻を基準とする時間帯の範囲で、出力されたことをアサーションとするアサーションチェック手段を生成する請求項10記載のLSI設計検証方法。
In the step (c),
The bus request signal on the LSI obtained from the simulation of the detailed design verification is in a time zone range based on the output time of the bus request signal on the LSI obtained from the corresponding operation simulation. 11. The LSI design verification method according to claim 10, wherein assertion check means for generating an assertion based on the output is generated.
前記(c)の工程において、
前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、これに対応する前記動作シミュレーションから抽出されたアドレス空間のデータ更新の発生した時刻に、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段を生成する請求項10記載のLSI設計検証方法。
In the step (c),
Assertion that the address space accessed in the detailed design verification simulation has been updated with the contents of the update history at the time when the data update of the address space extracted from the operation simulation corresponding thereto has occurred. 11. The LSI design verification method according to claim 10, wherein assertion check means is generated.
前記(c)の工程において、
前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、これに対応する前記動作シミュレーションから抽出されたアドレス空間のデータ更新の発生した時刻を基準とする時間帯の範囲で、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段を生成する請求項10記載のLSI設計検証方法。
In the step (c),
The address space accessed in the detailed design verification simulation is in the range of the time zone based on the time when the data update of the address space extracted from the corresponding operation simulation occurred, and the contents of the update history 11. The LSI design verification method according to claim 10, wherein assertion check means for generating an assertion that data has been updated is generated.
前記(a)の工程における前記動作シミュレーションにおいて、前記アドレス空間のデータ更新が前記バスリクエスト信号の出力を起点として行われており、
前記(c)の工程において、
前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、これに対応する前記動作シミュレーションから抽出されたアドレス空間におけるデータ更新の起点となった前記バスリクエスト信号の出力された時刻の後であって、予め設定された時間が経過する前に、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段を生成する請求項10記載のLSI設計検証方法。
In the operation simulation in the step (a), the data update in the address space is performed starting from the output of the bus request signal,
In the step (c),
The address space accessed in the detailed design verification simulation is after the output time of the bus request signal that is the starting point of the data update in the address space extracted from the corresponding operation simulation, 11. The LSI design verification method according to claim 10, wherein assertion check means for generating an assertion that data has been updated with the content of the update history is generated before a preset time elapses.
前記(c)の工程において、
前記動作シミュレーションでアクセスされたアドレス空間におけるデータ変更の有無を示すイベント情報に基づいて、前記データ変更の有無を判定するアサーションチェック手段が生成され、
前記アサーションチェック手段は、前記動作シミュレーションでアクセスされたアドレス空間の前記データ変更が行われていた場合に、これに対応する前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、前記更新履歴の内容で更新されていることをアサーションとする請求項10記載のLSI設計検証方法。
In the step (c),
Assertion check means for determining the presence or absence of the data change is generated based on event information indicating the presence or absence of the data change in the address space accessed in the operation simulation,
When the data change of the address space accessed in the operation simulation has been performed, the assertion check means includes the address space accessed in the detailed design verification simulation corresponding to the content of the update history. 11. The LSI design verification method according to claim 10, wherein the assertion is that the update is performed in step (a).
前記システム動作モデルがCPUモデルを含んでおり、
前記(b)の工程において、前記動作履歴として、前記動作シミュレーションにおけるCPUモデルの動作履歴を抽出する請求項1記載のLSI設計検証方法。
The system operation model includes a CPU model;
2. The LSI design verification method according to claim 1, wherein in the step (b), an operation history of a CPU model in the operation simulation is extracted as the operation history.
前記動作シミュレーションにおいて発生した前記CPUモデルのプログラムカウンタの変更に基づいて、前記CPUモデルの動作履歴が抽出される請求項17に記載のLSI設計検証方法。   18. The LSI design verification method according to claim 17, wherein an operation history of the CPU model is extracted based on a change in a program counter of the CPU model generated in the operation simulation. 前記CPUモデルのプログラムカウンタが、前記CPUモデルにおいて実行されるプログラムをコンパイルしたときに抽出された命令のアドレス、前記命令のジャンプ先アドレス、サブルーチンの先頭アドレス、タスクの先頭アドレス、スレッドの先頭アドレス、及びプロセスの先頭アドレスのうち少なくとも一つを指していた場合に、前記CPUモデルの動作履歴が抽出される請求項18記載のLSI設計検証方法。   The CPU model program counter extracts the instruction address extracted when the program executed in the CPU model is compiled, the instruction jump destination address, the subroutine start address, the task start address, the thread start address, 19. The LSI design verification method according to claim 18, wherein an operation history of the CPU model is extracted when pointing to at least one of a process start address. 前記CPUモデルの動作履歴が、前記動作シミュレーションにおける前記CPUモデルのプログラムカウンタの変更履歴及び前記プログラムカウンタの変更に伴って出力された信号の出力履歴であり、
前記(c)の工程において、
前記詳細設計検証のシミュレーションにおけるCPUモデルのプログラムカウンタの値が前記動作シミュレーションにおける前記CPUモデルのプログラムカウンタの値になった後に、前記詳細設計検証のシミュレーションにおけるCPUモデルのプログラムカウンタが前記値の場合に出力された信号が、前記出力履歴の内容で出力されたことをアサーションとするアサーションチェック手段が生成される請求項18記載のLSI設計検証方法。
The operation history of the CPU model is a change history of the program counter of the CPU model in the operation simulation and an output history of a signal output accompanying the change of the program counter,
In the step (c),
After the value of the CPU model program counter in the detailed design verification simulation becomes the value of the CPU model program counter in the operation simulation, the CPU model program counter in the detailed design verification simulation is the value. 19. The LSI design verification method according to claim 18, wherein assertion check means is generated that asserts that the output signal is output with the content of the output history.
前記CPUモデルの動作履歴が、前記動作シミュレーションにおける前記CPUモデルのプログラムカウンタの変更履歴及び前記プログラムカウンタの変更に伴って使用された記憶領域の更新履歴であり、
前記(c)の工程において、
前記詳細設計検証のシミュレーションにおけるCPUモデルのプログラムカウンタの値が前記動作シミュレーションにおける前記CPUモデルのプログラムカウンタの値になった後であって、予め設定された時間の経過時に、前記詳細設計検証のシミュレーションにおけるCPUモデルのプログラムカウンタが前記値の場合に使用された記憶領域が、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段が生成される請求項18記載のLSI設計検証方法。
The operation history of the CPU model is a change history of the program counter of the CPU model in the operation simulation and an update history of the storage area used in association with the change of the program counter,
In the step (c),
After the value of the CPU model program counter in the detailed design verification simulation becomes the value of the CPU model program counter in the operation simulation, when the preset time elapses, the detailed design verification simulation 19. The LSI design verification method according to claim 18, wherein an assertion check means is generated that asserts that the storage area used when the CPU model program counter is the value is updated with the contents of the update history. .
LSIの設計における前記LSIのシステムアーキテクチャ設計検証及び詳細設計検証を行うLSI設計検証装置であって、
予め作成された前記LSIのシステム動作モデルの動作シミュレーションを行うことによって、前記LSIのシステムアーキテクチャ設計検証を行う第1のシミュレーション部と、
前記動作シミュレーションにおいてシミュレーションされた前記LSIの動作履歴を抽出する動作履歴抽出部と、
前記LSIの詳細設計検証のシミュレーションにおいてシミュレーションされる前記LSIの動作が、抽出された前記動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成するアサーションチェック手段生成部と、
前記アサーションチェック手段を用いたシミュレーションを行って、前記詳細設計検証を行う第2のシミュレーション部とを少なくとも有することを特徴とするLSI設計検証装置。
An LSI design verification apparatus for performing system architecture design verification and detailed design verification of the LSI in LSI design,
A first simulation unit that performs system architecture design verification of the LSI by performing an operation simulation of the system operation model of the LSI created in advance;
An operation history extraction unit that extracts an operation history of the LSI simulated in the operation simulation;
An assertion check means generating section for generating an assertion check means for monitoring whether the operation of the LSI simulated in the detailed design verification simulation of the LSI corresponds to the operation of the extracted operation history;
An LSI design verification apparatus comprising at least a second simulation unit that performs a detailed design verification by performing a simulation using the assertion check means.
LSIの設計における前記LSIのシステムアーキテクチャ設計検証及び詳細設計検証をコンピュータに行わせるためのプログラムであって、
(a)予め作成された前記LSIのシステム動作モデルの動作シミュレーションを行うことによって、前記LSIのシステムアーキテクチャ設計検証を行うステップと、
(b)前記動作シミュレーションにおいてシミュレーションされた前記LSIの動作履歴を抽出するステップと、
(c)前記LSIの詳細設計検証のシミュレーションにおいてシミュレーションされる前記LSIの動作が、抽出された前記動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成するステップと、
(d)前記アサーションチェック手段を用いたシミュレーションを行って、前記詳細設計検証を行うステップとを前記コンピュータに実行させる命令を含むことを特徴とするプログラム。
A program for causing a computer to perform system architecture design verification and detailed design verification of the LSI in designing the LSI,
(A) performing a system architecture design verification of the LSI by performing an operation simulation of a system operation model of the LSI created in advance;
(B) extracting an operation history of the LSI simulated in the operation simulation;
(C) generating an assertion check means for monitoring whether or not the operation of the LSI simulated in the detailed design verification simulation of the LSI corresponds to the operation of the extracted operation history;
(D) A program that includes a command that causes the computer to execute a step of performing a detailed design verification by performing a simulation using the assertion check means.
JP2003342111A 2003-09-30 2003-09-30 LSI design verification apparatus and LSI design verification method Withdrawn JP2005108007A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003342111A JP2005108007A (en) 2003-09-30 2003-09-30 LSI design verification apparatus and LSI design verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003342111A JP2005108007A (en) 2003-09-30 2003-09-30 LSI design verification apparatus and LSI design verification method

Publications (1)

Publication Number Publication Date
JP2005108007A true JP2005108007A (en) 2005-04-21

Family

ID=34536501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003342111A Withdrawn JP2005108007A (en) 2003-09-30 2003-09-30 LSI design verification apparatus and LSI design verification method

Country Status (1)

Country Link
JP (1) JP2005108007A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009418A (en) * 2007-06-28 2009-01-15 Toshiba Corp Verification apparatus and verification method
JP2009041922A (en) * 2007-08-06 2009-02-26 Yokogawa Electric Corp Test support system
JP2009110076A (en) * 2007-10-26 2009-05-21 Fujitsu Ltd Software verification support program, recording medium recording the program, software verification support apparatus, and software verification support method
JP2009157811A (en) * 2007-12-27 2009-07-16 Fujitsu Ltd Method and program for generating assertion description and recording medium
JP2009230667A (en) * 2008-03-25 2009-10-08 Nec Corp Property generation system and property verification system
JP2010044622A (en) * 2008-08-13 2010-02-25 Hitachi Information & Communication Engineering Ltd Information processor test program and method
US7865345B2 (en) 2004-09-09 2011-01-04 Canon Kabushiki Kaisha Simulation apparatus and method
CN112329273A (en) * 2020-12-17 2021-02-05 深圳市芯天下技术有限公司 Method and device for improving chip verification efficiency, storage medium and terminal
CN112579417A (en) * 2020-12-22 2021-03-30 海光信息技术股份有限公司 Time scale checking method and device and electronic equipment

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865345B2 (en) 2004-09-09 2011-01-04 Canon Kabushiki Kaisha Simulation apparatus and method
JP2009009418A (en) * 2007-06-28 2009-01-15 Toshiba Corp Verification apparatus and verification method
US8578308B2 (en) 2007-06-28 2013-11-05 Kabushiki Kaisha Toshiba Verification apparatus and verification method
JP2009041922A (en) * 2007-08-06 2009-02-26 Yokogawa Electric Corp Test support system
JP2009110076A (en) * 2007-10-26 2009-05-21 Fujitsu Ltd Software verification support program, recording medium recording the program, software verification support apparatus, and software verification support method
JP2009157811A (en) * 2007-12-27 2009-07-16 Fujitsu Ltd Method and program for generating assertion description and recording medium
JP2009230667A (en) * 2008-03-25 2009-10-08 Nec Corp Property generation system and property verification system
JP2010044622A (en) * 2008-08-13 2010-02-25 Hitachi Information & Communication Engineering Ltd Information processor test program and method
CN112329273A (en) * 2020-12-17 2021-02-05 深圳市芯天下技术有限公司 Method and device for improving chip verification efficiency, storage medium and terminal
CN112329273B (en) * 2020-12-17 2023-10-24 芯天下技术股份有限公司 Method and device for improving chip verification efficiency, storage medium and terminal
CN112579417A (en) * 2020-12-22 2021-03-30 海光信息技术股份有限公司 Time scale checking method and device and electronic equipment
CN112579417B (en) * 2020-12-22 2023-03-21 海光信息技术股份有限公司 Time scale checking method and device and electronic equipment

Similar Documents

Publication Publication Date Title
US8417504B2 (en) Conversion of circuit description to a transaction model
CN113868987B (en) A verification platform and verification method for system-level chip
CN117094269B (en) Verification method, verification device, electronic equipment and readable storage medium
CN118133735B (en) Verification method, verification device, electronic equipment and readable storage medium
US5966306A (en) Method for verifying protocol conformance of an electrical interface
JP4147842B2 (en) Logic verification system and method, logic cone extraction apparatus and method, logic verification and logic cone extraction program
CN118798102A (en) Method and device for register function verification, and test verification equipment
JP2005108007A (en) LSI design verification apparatus and LSI design verification method
JP2007164780A (en) Method, system, and program (method and system of design verification)
JP5034916B2 (en) Performance evaluation model generation method, system performance evaluation method, and performance evaluation model generation apparatus
US7502966B2 (en) Testcase generation via a pool of parameter files
Chupilko et al. A TLM-based approach to functional verification of hardware components at different abstraction levels
Bombieri et al. On the mutation analysis of SystemC TLM-2.0 standard
Dellacherie et al. Improve-HDL-a DO-254 formal property checker used for design and verification of avionics protocol controllers
JPH10221410A (en) Automatic logic verification method for LSI
CN120407024B (en) Verification method and device for instruction sequence, electronic equipment and storage medium
US20090125292A1 (en) Method and system for testing functionality of a chip checker
CN117313650B (en) Chip test verification method and application device thereof
Lahbib et al. Verification flow optimization using an automatic coverage driven testing policy
JP2011145880A (en) Generation method for test task used in logic verification of semiconductor integrated circuit
JP2003233634A (en) Circuit function verification method and program
Ferro et al. Runtime verification of typical requirements for a space critical SoC platform
Stojanovic Why is a Verification Engineer the Most Wanted Person these Days?
JP2007156728A (en) Logic verification method and logic verification system
JPH10283388A (en) Logic verification device

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: 20061205