JP2007087176A - Storage element verification method for logic circuit - Google Patents
Storage element verification method for logic circuit Download PDFInfo
- Publication number
- JP2007087176A JP2007087176A JP2005276133A JP2005276133A JP2007087176A JP 2007087176 A JP2007087176 A JP 2007087176A JP 2005276133 A JP2005276133 A JP 2005276133A JP 2005276133 A JP2005276133 A JP 2005276133A JP 2007087176 A JP2007087176 A JP 2007087176A
- Authority
- JP
- Japan
- Prior art keywords
- verification
- storage element
- register
- information
- module
- 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
Links
Images
Abstract
Description
本発明は、LSI開発における論理回路の検証に関するものである。 The present invention relates to verification of logic circuits in LSI development.
従来、LSI開発における論理シミュレーションを用いた記憶素子の検証方法は、各検証担当者が、検証対象の仕様書をもとに、記憶素子の検証指針に従って記憶素子にアクセスするテストを作成し検証することであった。 記憶素子の検証指針は、データ短絡の検証方法、アドレス短絡の検証方法などを文書化したものである。 Conventionally, the verification method of a memory element using logic simulation in LSI development is that each verification person creates and verifies a test that accesses the memory element according to the verification guideline of the memory element based on the specification to be verified. Was that. The memory element verification guidelines document a data short-circuit verification method, an address short-circuit verification method, and the like.
従来例を図3を用いて説明する。 A conventional example will be described with reference to FIG.
(従来例)
図3において、1は32bitデータの記憶素子であるアドレス32'h1000のレジスタ1とアドレス32'h1004のレジスタ2をもつ検証対象であるモジュールA、2は32bitデータの記憶素子であるアドレス32'h2000のレジスタ3、アドレス32'h2004のレジスタ4そしてアドレス32'h2008のレジスタ5をもつ検証対象であるモジュールB、3はバスCのトランザクションを発行してモジュールAとモジュールBにバスCを介してアクセスする検証を目的としたCPUのバスファンクションモデル、4はモジュールA、モジュールBそしてCPUバスファンクションモデルを接続するバスC、5はモジュールBの機能仕様書、6はモジュールAの機能仕様書、7は記憶素子の検証指針、8はモジュールBの検証担当者BがモジュールB仕様書と記憶素子の検証指針を元に作成したモジュールBのレジスタ3、レジスタ4そしてレジスタ5のテスト、9はモジュールAの検証担当者AがモジュールA仕様書と記憶素子検証指針を元に作成したモジュールAのレジスタ1とレジスタ2のテストである。
(Conventional example)
In FIG. 3, 1 is a module A to be verified having a
LSI開発の論理検証において、検証対象固有の機能を検証する前段階として、まず、検証対象にある記憶素子の検証という基本検証を行う。 In the logic verification of LSI development, as a pre-stage for verifying the function specific to the verification target, first, basic verification is performed, that is, verification of the memory element in the verification target.
モジュールAの検証担当者Aは、モジュールA仕様書からモジュールAの記憶素子に注目し、記憶素子の検証指針に従って、モジュールAのレジスタ1とレジスタ2の記憶素子のテストである9のモジュールAのレジスタテストを作成する。9のモジュールAレジスタテストの中身は、CPUバスファンクションモデルからモジュールAのレジスタへのライトやリードといったバスCのトランザクション発行するCPUバスファンクションモデルへの命令と、レジスタのデータをリードした値とレジスタが持つべきデータとの期待値検証である。9のレジスタテストを実行することで、CPUバスファンクションモデルからモジュールAのレジスタ1とレジスタ2にライトおよびリードのアクセスが行われ、期待値比較によってモジュールAの記憶素子レジスタ1とレジスタ2の検証が行われる。
Module A verifier A pays attention to module A's storage element from the module A specification, and in accordance with the storage element verification guidelines, module A's
同様に、モジュールBの検証担当者Bは、検証担当者Aとは別に、モジュールB仕様書と記憶素子の検証指針を元に8のモジュールBのレジスタテストを作成し、そのテストがCPUバスファンクションモデルに命令を発行することで、CPUバスファンクションモデルはモジュールBにアクセスおよび期待値比較により、モジュールBの記憶素子であるレジスタ3、レジスタ4そしてレジスタ5の検証を行う。
Similarly, verifier B of module B creates a register test for
7の記憶素子の検証指針には、検証すべき項目とその項目を検証するためにどのようなデータを用いて、また、どのようなアクセスシーケンスを行うのかという方法が記載されている。検証すべき項目としては、リセット時の初期値、記憶素子のデータ短絡していないか、アドレス短絡していないかなどである。
The memory
データ短絡の一例は、CPUバスファンクションモデルから32bitデータのモジュールAレジスタ1に対して32bitデータ 32'h0000_000Fのライトトランザクションを行ったとき、実際のモジュールAレジスタ1のデータは32'h000F_0000となる不具合である。アドレス短絡の一例は、CPUバスファンクションモデルからモジュールAレジスタ1アドレス32'h1000にライトトランザクションを行ったとき、モジュールAレジスタ1ではなくアドレス32'h1004のモジュールAレジスタ2にライトされる不具合である。
An example of a data short-circuit is when a 32-bit data 32'h0000_000F write transaction is performed on the 32-bit
レジスタテストの記述は、CPUバスファンクションモデルへの命令と期待値比較を検証指針にあるシーケンスにそって記述するのみで、各レジスタテストの違いは、レジスタ数やアドレスの違いなどに依存する部分のみである。 The description of the register test is only written according to the sequence in the verification guideline for the instruction to the CPU bus function model and the expected value comparison, and the difference between each register test is only the part depending on the difference in the number of registers and the address. It is.
また、モジュールの論理検証を行う時、現在のレジスタ設定によって処理を変更する場合について図4を用いて説明する。8のテストは、モジュールAのレジスタ1のデータをバスC経由でリードし、該データによって処理を変更する。該データを変数dataに格納しておき、次に参照する時にはこのdataを参照することでモジュールAへのバスC経由のアクセスは発生しない。しかしながら、他のテストが同一シミュレーション中にレジスタ1へのライトを行うような場合には、実際のレジスタの状態と矛盾してしまう場合がある。
In addition, a case where the processing is changed according to the current register setting when performing the logic verification of the module will be described with reference to FIG. In the test No. 8, the data in the
図5はこのようなケースに対応した例である。8のテストA1がレジスタ1を2度目以降参照する時にも1のモジュールAのレジスタ1からデータをリードすることによって、他のテストとの並列動作を行うシステムテストにおいての矛盾を回避している。
FIG. 5 shows an example corresponding to such a case. Even when the test A1 of 8 refers to the
従来例としては、例えば特許文献1をあげることが出来る。
上記従来例で述べたように、レジスタテストは、記憶素子の検証指針に従ってテストを記述するという機械作業的な面を多く含んでおり、また、モジュール固有機能の検証を行う前の基本テストであるにもかかわらず、そのテスト記述には多くの時間を必要とするといった非常に非効率な課題がある。 As described in the above conventional example, the register test includes many mechanical work aspects of describing the test in accordance with the storage element verification guidelines, and is a basic test before verifying the module specific function. Nevertheless, the test description has a very inefficient problem of requiring a lot of time.
また、各検証担当者が、各検証対象のレジスタテストを記述するため、記述ミスなどによりテストによっては品質が十分でない、検証担当者間・テスト間で品質が異なるという可能性が生じる。 Further, since each verification person describes the register test to be verified, there is a possibility that the quality may not be sufficient depending on the test due to a description mistake or the like, and the quality may differ between verification persons or between tests.
さらに、複数のテストが並列動作する場合には、テストが現在のレジスタ設定を参照する時に毎回レジスタからのリードを行うことでシミュレーションサイクルを進め、余分な時間を消費してしまうという課題がある。 Furthermore, when a plurality of tests are operated in parallel, there is a problem that a simulation cycle is advanced by reading from the register every time the test refers to the current register setting, and extra time is consumed.
上記の課題を解決するために、検証対象となる記憶素子の情報を登録するリストとそのリストを参照・更新しつつ記憶素子にアクセスおよび期待値比較により検証を行う装置により記憶素子の検証を行う検証手法を設ける。 In order to solve the above problem, a storage element is verified by a list for registering information of a storage element to be verified, and a device that performs verification by accessing and comparing the storage element while referring to and updating the list. Provide a verification method.
リストに登録する記憶素子の情報の要素は、"記憶素子名"、"アドレス"、"初期値データ"、"現在のデータ"、"ライト可能か"、"リード可能か"、"ライトして良いか"などの要素である。 The elements of the storage element information to be registered in the list are “storage element name”, “address”, “initial value data”, “current data”, “writable”, “readable”, “write” It is an element such as "Is it good?"
リストは、すべての検証担当者が任意に記憶素子の情報の更新を行えるリストである。 The list is a list in which all the verification persons can arbitrarily update the information of the storage element.
検証装置が行う記憶素子へのアクセスと期待値比較の方法は、記憶素子の検証指針に従う。 The method of accessing the storage element and comparing the expected value performed by the verification apparatus follows the verification guidelines for the storage element.
[作用]
本発明の検証対象となる記憶素子の情報を登録するリストとそのリストを参照・更新しつつ記憶素子にアクセスおよび期待値比較により検証を行う装置により記憶素子の検証を行う検証手法を用いることにより、各モジュールの検証担当者の作業はモジュール仕様書から記憶素子に関する情報をリストに登録するのみでよく、記憶素子の検証指針にそった記憶素子へのアクセスや期待値比較は自動的に行われる。
[Action]
By using a verification method for verifying a storage element by a list for registering information of a storage element to be verified according to the present invention, and a device that performs verification by comparing and expecting the storage element while referring to and updating the list The task of the person in charge of verifying each module is only to register the information about the storage element from the module specification in the list, and access to the storage element and the expected value comparison are automatically performed according to the verification guideline of the storage element. .
従って、記憶素子の検証指針にそってテストを記述するという機械作業的な面を多く含みかつ時間のかかった作業を省くことが可能となる。また、テストを各検証担当者が行うのではなく同一の検証装置が行うので、記述ミスなどによりテストによっては品質が十分でない、また検証担当者間・テスト間で品質が異なるということはなくなる。 Accordingly, it is possible to omit a time-consuming work including many mechanical work aspects of describing a test in accordance with a verification guideline for a storage element. In addition, since the same verification device does not perform the test by each verification person, the quality is not sufficient depending on the test due to a description mistake or the like, and the quality does not differ between verification persons or between tests.
また、該リストをライト時に更新することから、記憶素子のデータを参照する際に該リストを参照すれば良く、記憶素子へのアクセスによってシミュレーションサイクルを進めて余分な時間を消費することが無くなる。 Further, since the list is updated at the time of writing, it is only necessary to refer to the list when referring to the data in the storage element, and it is not necessary to advance the simulation cycle by accessing the storage element and consume extra time.
上で説明した本発明の検証手法により、記憶素子の情報をリストに登録するのみで記憶素子の検証が可能となり検証担当者の手間を省くことができ、検証対象ごとの固有機能の検証に早期に専念することができる。また、全体での記憶素子の検証の質を高めることができる。 With the verification method of the present invention described above, the storage element can be verified simply by registering the information of the storage element in the list, and the labor of the person in charge of verification can be saved. Can be devoted to. Further, the quality of verification of the memory element as a whole can be improved.
また、記憶素子のデータの参照時に該記憶素子へのアクセスによってシミュレーションサイクルを進めて余分な時間を消費することが無くなり、シミュレーションが高速化する。 Further, when referring to the data in the storage element, the simulation cycle is not advanced by accessing the storage element, so that no extra time is consumed, and the simulation speeds up.
従って、本発明の検証手法を用いることで、効率的にLSIの論理検証を行うことが可能となり、LSIの開発期間の短縮、および、高品質なLSIを開発することが出来る。 Therefore, by using the verification method of the present invention, it is possible to efficiently perform LSI logic verification, shorten the LSI development period, and develop a high-quality LSI.
(実施例1)
まず、請求項1〜4に対する実施例を、図1を用いて説明する。
Example 1
First, the Example with respect to Claims 1-4 is demonstrated using FIG.
図1において、1は32bitデータの記憶素子であるアドレス32'h1000のレジスタ1とアドレス32'h1004のレジスタ2をもつ検証対象であるモジュールA、2は32bitデータの記憶素子であるアドレス32'h2000のレジスタ3、アドレス32'h2004のレジスタ4、そしてアドレス32'h2008のレジスタ5をもつ検証対象であるモジュールB、3はバスCのトランザクションを発行してモジュールAとモジュールBにバスCを介してアクセスする検証を目的としたCPUのバスファンクションモデル、4はモジュールA、モジュールBそしてCPUバスファンクションモデルを接続するバスC、5は記憶素子の検証指針、 6はモジュールAの機能仕様書、7はモジュールBの機能仕様書、8は検証を行う記憶素子の情報を登録するリスト、9は8のリストを参照・更新しつつ記憶素子にアクセスおよび期待値比較により検証を行う装置、10は8のリストに登録されたモジュールAレジスタ1情報の詳細である。
In FIG. 1, 1 is a module A to be verified having a
記憶素子の検証指針にあるレジスタ検証のシーケンスに従って、8の記憶素子情報リストに登録されているレジスタすべてを検証するレジスタアクセスのバスCトランザクションを行うCPUモデルコマンドの発行および期待値比較を行う9の検証装置を設ける。 Issue a CPU model command to perform a register access bus C transaction to verify all registers registered in the 8 storage element information list and compare expected values according to the register verification sequence in the storage element verification guidelines A verification device is provided.
リストに登録される各レジスタ情報には、10のレジスタ1情報に示すように"レジスタ名"、"アドレス"、"初期値データ"、"現在のデータ"、"ライト可能"、"リード可能"、"ライトして良いか"の要素がある。レジスタ情報の"初期値データ"をリセット時期待値として検証を行う。CPUバスファンクションモデルからレジスタにライトするときに、ライトするデータをレジスタ情報の"現在のデータ"に更新することにより、後にCPUバスファンクションモデルからレジスタのデータをリードするとき、"現在のデータ"を期待値として用いる。レジスタ情報の"ライト可能か","リード可能か"の要素により、レジスタのリザーブ領域などライトしてもレジスタのデータに反映されない等におけるマスク値として用いる。レジスタ情報の"ライトして良いか"に関しては、検証を行う上である値をライトした場合誤動作するなどの不具合が生じるレジスタのデータを示し、そこに関しては検証を行わないことを示すために用いる。記憶素子情報リストのレジスタ情報と検証指針にあるアクセスシーケンスにより、9の検証装置は、自動で記憶素子の検証を行う。
Each register information registered in the list includes "register name", "address", "initial value data", "current data", "writable", and "readable" as shown in 10
モジュールAの検証担当者は、モジュールA仕様書から記憶素子であるレジスタに注目し、レジスタ1とレジスタ2の情報を8の記憶素子情報リストに登録するのみで、モジュールAの記憶素子の検証を行える。
The person in charge of verification of module A pays attention to the register that is the storage element from the module A specification, and only registers the information of
同様に、モジュールBの検証担当者は、モジュールB仕様書から記憶素子であるレジスタに注目し、レジスタ1、レジスタ2とレジスタ3の情報を8の記憶素子情報リストに登録するのみで、モジュールBの記憶素子の検証を行える。
Similarly, the person in charge of verifying module B pays attention to the register that is a storage element from the module B specification, and only registers the information of
(実施例2)
次に、請求項5に対する実施例を、図2を用いて説明する。
(Example 2)
Next, an embodiment corresponding to claim 5 will be described with reference to FIG.
図1に対して8のリストを参照・更新しつつ記憶素子にアクセスおよび期待値比較により検証を行う装置が2つになり、それぞれを9の検証装置A、9'の検証装置Bとする。検証装置A、B共に8の1のレジスタ1へのリード、ライトアクセスを行うものとする。
As shown in FIG. 1, there are two devices that perform verification by accessing the storage element and comparing the expected value while referring to and updating the list of 8 and let them be 9 verification devices A and 9 ′, respectively. Assume that both the verification devices A and B perform read / write access to the
まず、9の検証装置AがモジュールAの動作設定を行うために1のレジスタ1へのライトを行う時、同時に8の記憶素子情報リストのレジスタ1情報の“現在のデータ”を更新する。次に、9'の検証装置Bが1のレジスタ1のデータを参照する時、実際のレジスタ1にアクセスせず、8の記憶素子情報リストのレジスタ1情報の“現在のデータ”をリードして参照する。
First, when 9 verification devices A write to 1
1 モジュールA
2 バスファンクションモデル
4 バスC
5 記憶素子の検証指針
6 モジュールAの機能仕様書
7 モジュールBの機能仕様書
8 検証を行う記憶素子の情報を登録するリスト
9 検証を行う装置
10 モジュールAレジスタ1情報の詳細
1 Module A
2 Bus function model
4 Bus C
5 Memory element verification guidelines
6 Functional specifications of module A
7 Module B Functional Specification
8 List for registering information on storage elements to be verified
9 Device for verification
10 Module A
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005276133A JP2007087176A (en) | 2005-09-22 | 2005-09-22 | Storage element verification method for logic circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005276133A JP2007087176A (en) | 2005-09-22 | 2005-09-22 | Storage element verification method for logic circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007087176A true JP2007087176A (en) | 2007-04-05 |
Family
ID=37974089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005276133A Withdrawn JP2007087176A (en) | 2005-09-22 | 2005-09-22 | Storage element verification method for logic circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007087176A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115481594A (en) * | 2021-11-22 | 2022-12-16 | 北京百度网讯科技有限公司 | Score board implementation method, score board, electronic device and storage medium |
-
2005
- 2005-09-22 JP JP2005276133A patent/JP2007087176A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115481594A (en) * | 2021-11-22 | 2022-12-16 | 北京百度网讯科技有限公司 | Score board implementation method, score board, electronic device and storage medium |
CN115481594B (en) * | 2021-11-22 | 2023-09-08 | 北京百度网讯科技有限公司 | Scoreboard implementation method, scoreboard, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6126211B2 (en) | Reinitialization of processing system from volatile memory when resuming from low power state | |
US9037812B2 (en) | Method, apparatus and system for memory validation | |
US9146846B2 (en) | Programmable physical address mapping for memory | |
US9921949B2 (en) | Software testing | |
JP6005392B2 (en) | Method and apparatus for routing | |
US9256544B2 (en) | Way preparation for accessing a cache | |
JP2008009721A (en) | Evaluation system and evaluation method thereof | |
CN110765032A (en) | Method for reading and writing I2C memory based on system management bus interface | |
CN110637521B (en) | Data real-time storage method and system based on model simulation | |
JP2001134629A (en) | Simulation method and simulation system | |
CN103389893B (en) | A kind of configuration register reading/writing method and device | |
JP2007087176A (en) | Storage element verification method for logic circuit | |
US20130054218A1 (en) | Method and Software Tool for Automatically Testing a Circuit Design | |
US8122205B2 (en) | Structured virtual registers for embedded controller devices | |
US20160246601A1 (en) | Technique for translating dependent instructions | |
JP2007087182A (en) | Method for verifying storage element in logic circuit | |
CN112912958A (en) | Testing read-only memory using built-in self-test controller | |
TWI739853B (en) | Computing device and operation method | |
Datta et al. | Formal verification of a public-domain DDR2 controller design | |
US20080016264A1 (en) | Method and system for handling user-defined interrupt request | |
US11966633B1 (en) | Control algorithm generator for non-volatile memory module | |
US20180341601A1 (en) | Information processing apparatus, control method thereof, and control program thereof | |
Devi et al. | Efficient implementation of memory controllers and memories and virtual platform | |
JP4351961B2 (en) | Simulator program and storage medium | |
JP5559932B2 (en) | Semiconductor 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: 20081202 |