JP2011203962A - Verification apparatus and verification method for semiconductor integrated circuit - Google Patents
Verification apparatus and verification method for semiconductor integrated circuit Download PDFInfo
- Publication number
- JP2011203962A JP2011203962A JP2010070005A JP2010070005A JP2011203962A JP 2011203962 A JP2011203962 A JP 2011203962A JP 2010070005 A JP2010070005 A JP 2010070005A JP 2010070005 A JP2010070005 A JP 2010070005A JP 2011203962 A JP2011203962 A JP 2011203962A
- Authority
- JP
- Japan
- Prior art keywords
- information
- semiconductor integrated
- connection
- integrated circuit
- terminal
- 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.)
- Pending
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
本発明は、半導体集積回路の検証装置及び検証方法に関するものである。 The present invention relates to a semiconductor integrated circuit verification apparatus and verification method.
一般に論理回路の検証方法には、大きく分けて論理シミュレーションとフォーマル検証がある。論理シミュレーションは、入力パターンを検証対象回路に与えて動作をシミュレーションし、出力パターンを期待値と比較して回路の正しさを検証する方法である。 In general, logic circuit verification methods are roughly classified into logic simulation and formal verification. Logic simulation is a method in which an input pattern is applied to a circuit to be verified to simulate an operation, and an output pattern is compared with an expected value to verify the correctness of the circuit.
一方、フォーマル検証は、設計の仕様と、検証対象回路をそれぞれ数学的に解析することで、回路の正しさを検証する方法である。なお、上記設計の仕様は、通常、IEEEで標準化されたPSL(Property Specification Language)や、SVA(System Verilog Assertion)のアサーション言語で記述される。 On the other hand, formal verification is a method for verifying the correctness of a circuit by mathematically analyzing a design specification and a circuit to be verified. The design specifications are generally described in PSL (Property Specification Language) standardized by IEEE or SVA (System Verilog Assertion) assertion language.
半導体集積回路は、各機能ブロック(以下、マクロと称す)から構成される。半導体集積回路は、年々回路の大規模化が進んでいる。大規模な半導体集積回路において、構成するマクロ間の接続関係を検証するために論理シミュレーションを用いる場合、膨大なテストパターンと、それをシミュレーションする膨大な時間がかかってしまう。このため、多大な検証工数が必要となってしまう。 A semiconductor integrated circuit is composed of functional blocks (hereinafter referred to as macros). The scale of semiconductor integrated circuits is increasing year by year. In a large-scale semiconductor integrated circuit, when a logic simulation is used to verify the connection relationship between macros constituting a large amount of time, it takes a huge amount of test patterns and a long time to simulate them. For this reason, a great amount of verification steps are required.
一方、フォーマル検証では、テストパターンを作成する必要がないため、大幅な工数削減が期待できる。また、数学的に証明できるため、シミュレーションにおけるテストパターン漏れの心配が無い。そのため、マクロ間の接続検証には、フォーマル検証がシミュレーションより有効であり、その利用が拡大している。 On the other hand, in formal verification, since it is not necessary to create a test pattern, a significant reduction in man-hours can be expected. In addition, since it can be mathematically proved, there is no worry of test pattern leakage in the simulation. For this reason, formal verification is more effective than simulation for connection verification between macros, and its use is expanding.
半導体集積回路を構成する回路の接続仕様及びその回路記述との回路接続関係の一致性をフォーマル検証する半導体集積回路の検証装置として、例えば特許文献1のような検証装置が提案されている。特許文献1に開示されている検証装置10の構成を図13に示す。
As a semiconductor integrated circuit verification apparatus for formal verification of the consistency of circuit connection relations with the connection specifications of the circuits constituting the semiconductor integrated circuit and its circuit description, for example, a verification apparatus as disclosed in
図13に示すように、検証装置10は、プロパティ生成手段3と、検証実行手段5と、検証結果確認手段6とを有する。
As illustrated in FIG. 13, the
プロパティ生成手段3は、検証対象回路の接続仕様1を読み込み、プロパティ4を生成する。プロパティ生成手段3は、個々の出力信号に対しユニークなプロパティを設定し、その出力信号が接続される入力信号については同一のプロパティ、若しくは同一のプロパティに極性情報を付加したプロパティを生成する。
The property generation unit 3 reads the
検証実行手段5は、プロパティ4と回路記述2を読み込み、接続される出力信号と入力信号のプロパティが一致しているかの比較検証を行う。
The verification execution means 5 reads the property 4 and the
検証結果確認手段6は、検証実行手段5での検証結果を表示する。
The verification result confirmation unit 6 displays the verification result in the
特許文献1のような従来技術では、接続仕様からアサーション(プロパティ)に変換できるものしか検証できない。このため、通常、接続仕様として存在する半導体集積回路のマクロの端子がオープン(未接続)である箇所については検証できない。
In the conventional technique such as
このことは、半導体集積回路の設計仕様と回路記述との一致性を検証するために行われるフォーマル検証において、設計仕様の記述言語として一般に使用されるアサーション言語(例えばPSL、SVA)では、オープンである端子を記述するという概念そのものがなく、記述できないからである。 This is open in the assertion languages (for example, PSL, SVA) generally used as the description language of the design specification in the formal verification performed for verifying the coincidence between the design specification of the semiconductor integrated circuit and the circuit description. This is because there is no concept of describing a terminal and it cannot be described.
従って、設計者が意図してオープンとしたのか、設計ミスとしてオープンとしたのかの区別がつかない問題がある。 Therefore, there is a problem that it cannot be distinguished whether the designer intentionally opened it or opened it as a design mistake.
本発明の一態様は、半導体集積回路を構成する回路の接続関係を示す接続仕様情報と、前記半導体集積回路の構成を記述した回路記述情報との回路接続関係の一致性を検証する半導体集積回路の検証装置であって、前記接続仕様情報をアサーション言語で記述された接続情報ファイルに変換するアサーション生成部と、前記接続仕様情報からオープンである端子を抽出した第1の端子情報と、前記回路記述情報からオープンである端子の情報を抽出した第2の端子情報とに応じて、前記第1の端子情報と第2の端子情報の一致性を比較する比較部と、前記接続情報ファイルと前記回路記述情報とに応じてフォーマル検証を行うフォーマル検証部と、を有し、前記フォーマル検証部の検証結果と前記比較部の比較結果から、半導体集積回路を構成する回路の接続関係を検証する半導体集積回路の検証装置である。 One embodiment of the present invention is a semiconductor integrated circuit that verifies the consistency of circuit connection relation between connection specification information indicating a connection relation of circuits constituting the semiconductor integrated circuit and circuit description information describing the configuration of the semiconductor integrated circuit. An assertion generator for converting the connection specification information into a connection information file described in an assertion language, first terminal information obtained by extracting an open terminal from the connection specification information, and the circuit A comparison unit that compares the match between the first terminal information and the second terminal information in accordance with second terminal information obtained by extracting information on terminals that are open from the description information; the connection information file; and A formal verification unit that performs formal verification according to the circuit description information, and configures the semiconductor integrated circuit from the verification result of the formal verification unit and the comparison result of the comparison unit. A verification device for a semiconductor integrated circuit to verify the connection relation of the circuit to be.
本発明の他の態様は、半導体集積回路を構成する回路の接続関係を示す接続仕様情報と、前記半導体集積回路の構成を記述した回路記述情報との回路接続関係の一致性を検証する半導体集積回路の検証方法であって、前記接続仕様情報をアサーション言語で記述された接続情報ファイルに変換し、前記接続仕様情報からオープンである端子を抽出した第1の端子情報と、前記回路記述情報からオープンである端子の情報を抽出した第2の端子情報とに応じて、前記第1の端子情報と第2の端子情報の一致性を比較し、前記接続情報ファイルと前記回路記述情報とに応じてフォーマル検証を行い、前記フォーマル検証の検証結果と、前記第1の端子情報と第2の端子情報の一致性の比較結果とから半導体集積回路を構成する回路の接続関係を検証する半導体集積回路の検証方法である。 Another aspect of the present invention is a semiconductor integrated circuit that verifies the consistency of circuit connection relation between connection specification information indicating a connection relation of circuits constituting a semiconductor integrated circuit and circuit description information describing the structure of the semiconductor integrated circuit. A method for verifying a circuit, comprising: converting the connection specification information into a connection information file described in an assertion language; extracting first open terminals from the connection specification information; and the circuit description information. The first terminal information and the second terminal information are compared in accordance with the second terminal information obtained by extracting the information of the terminal that is open, and in accordance with the connection information file and the circuit description information. Formal verification is performed, and the connection relation of the circuits constituting the semiconductor integrated circuit is checked from the verification result of the formal verification and the comparison result of the coincidence between the first terminal information and the second terminal information. It is a method of verifying a semiconductor integrated circuit.
本発明にかかる半導体集積回路の検証装置は、半導体集積回路を構成する回路の端子間に限定された接続仕様だけでなく、半導体集積回路を構成する回路の端子のオープン(未接続)箇所も含まれた接続仕様を用いて、設計結果である回路記述との回路接続関係の一致性を検証するこができる。これにより、半導体集積回路を構成する回路の接続検証に加えて、半導体集積回路を構成する回路のオープン端子について、設計者が意図してオープンとしたのか、設計ミスとしてオープンとしたのかを区別することが可能である。 The verification apparatus for a semiconductor integrated circuit according to the present invention includes not only connection specifications limited between the terminals of the circuits constituting the semiconductor integrated circuit but also open (unconnected) locations of the terminals of the circuits constituting the semiconductor integrated circuit. It is possible to verify the coincidence of the circuit connection relationship with the circuit description as the design result by using the connected specification. As a result, in addition to verifying the connection of the circuit constituting the semiconductor integrated circuit, the open terminal of the circuit constituting the semiconductor integrated circuit is distinguished whether the designer intentionally opened it or opened it as a design error. It is possible.
本発明は、半導体集積回路の設計品質の向上を可能とする。 The present invention makes it possible to improve the design quality of a semiconductor integrated circuit.
発明の実施の形態1
以下、本発明を適用した具体的な実施の形態1について、図面を参照しながら詳細に説明する。この実施の形態1は、本発明を半導体集積回路の検証装置に適用したものである。図1に本実施の形態1にかかる半導体集積回路100の検証装置のブロック構成を示す。
Hereinafter, a specific first embodiment to which the present invention is applied will be described in detail with reference to the drawings. In the first embodiment, the present invention is applied to a semiconductor integrated circuit verification apparatus. FIG. 1 shows a block configuration of a verification apparatus of the semiconductor integrated
図1に示すように、半導体集積回路の検証装置100は、アサーション生成部103と、オープンリスト生成部105と、オープン検出部107と、フォーマル検証部108と、オープン比較部109と、検証結果確認部110とを有する。
As shown in FIG. 1, the semiconductor integrated
アサーション生成部103は、接続仕様101をアサーション言語で記述された接続情報ファイルであるアサーション104に変換する。
The
ここで、接続仕様101は、検証対象となる回路記述102のマクロ間の接続仕様が記述されている。また、回路記述102は、半導体集積回路の構成を記述した検証対象となる回路記述であり、複数のマクロから構成され、通常VerilogやVHDLで記述される。
Here, the
フォーマル検証部108は、接続情報ファイルであるアサーション104と回路記述102との一致性を検証する。
The
オープンリスト生成部105は、接続仕様101からオープン(未接続)である端子情報を抽出してオープンリスト106を生成する。
The open
オープン検出部107は、回路記述102からオープン(未接続)である端子情報を抽出する。
The
オープン比較部109は、オープンリスト生成部105により生成されたオープンリスト106と、オープン検出部107により抽出された回路記述102のオープン端子情報とを比較する。
The
検証結果確認部110は、フォーマル検証部108により得られた検証結果と、オープン比較部109で得られたオープン比較結果とを合わせて総合的な検証結果として表示する。
The verification
次に、半導体集積回路の検証装置100の動作について説明する。まず、図2に接続仕様101の一例を示す。また、図3、図4に、それぞれ回路記述102による半導体集積回路S_CHIPの構成例、Verilog記述例を示す。なお、図4のVerilogの記述内容が、図3の半導体集積回路S_CHIPの構成となることは、当業者において自明であるため図4の記述内容に関する詳細な説明は省略する。
Next, the operation of the semiconductor integrated
半導体集積回路は、通常、複数のマクロから構成されており、図3の例では半導体集積回路S_CHIPが、2つのマクロD_MACRO、C_MACROを有する。ここでは、マクロD_MACRO、C_MACROのインスタンス名がそれぞれDINSTとCINSTとして構成され、図3で示されるように接続されている。 The semiconductor integrated circuit is usually composed of a plurality of macros. In the example of FIG. 3, the semiconductor integrated circuit S_CHIP has two macros D_MACRO and C_MACRO. Here, the instance names of the macros D_MACRO and C_MACRO are configured as DINST and CINST, respectively, and are connected as shown in FIG.
図3の半導体集積回路S_CHIPの構成を、接続仕様として定義しているが図2の接続仕様101である。この接続仕様101において、マクロ間の接続、マクロと外部端子との接続、マクロの端子でクランプされている箇所、マクロの端子でオープン(未接続)である箇所が定義されている。
The configuration of the semiconductor integrated circuit S_CHIP in FIG. 3 is defined as a connection specification, which is the
詳細には、図2に示されているように、トップモジュール名、from側インスタンス名、ポート名、ビット範囲、to側インスタンス名、ポート名、ビット範囲が記述されていて、それぞれのマクロ端子間の接続が定義される。 In detail, as shown in Fig. 2, the top module name, from-side instance name, port name, bit range, to-side instance name, port name, and bit range are described. Connections are defined.
例えば、マクロのインスタンス名CINST、端子名CLKである端子が、外部端子名CCLKである外部端子に接続される仕様の場合、From instance-name欄に「CINST」、From port-name欄に「CLK」、To instance-name欄に外部端子接続を示す「exported:」、To port-name欄に「CCLK」と記述される。 For example, if the macro instance name CINST and the terminal name CLK are connected to the external terminal with the external terminal name CCLK, “CINST” in the From instance-name column and “CLK” in the From port-name column "Exported:" indicating external terminal connection in the To instance-name column, and "CCLK" in the To port-name column.
また、マクロのインスタンス名CINST、端子名DATA_O[31:0]であるバス端子が、マクロのインスタンス名DINST、端子名DATA_I[31:0]であるバス端子に接続される仕様の場合、From instance-name欄に「CINST」、From port-name欄に「DATA_O」、From msb欄に「31」、From lsb欄に「0」、To instance-name欄に「DINST」、To port-name欄に「DATA_I」、To msb欄に「31」、To lsb欄に「0」と記述される。 Also, if the specification is such that the bus terminal with macro instance name CINST and terminal name DATA_O [31: 0] is connected to the bus terminal with macro instance name DINST and terminal name DATA_I [31: 0], From instance -name field is "CINST", From port-name field is "DATA_O", From msb field is "31", From lsb field is "0", To instance-name field is "DINST", To port-name field is “DATA_I”, “31” in the Tomsb column, and “0” in the Tolsb column.
また、マクロのインスタンス名DINST、端子名がACKである端子が、オープン(未接続)である仕様の場合は、From instance-name欄に「DINST」、From port-name欄に「ACK」、To instance-name欄にオープンを示す「open:」と記述される。 In addition, if the macro instance name DINST and the terminal whose terminal name is ACK are open (unconnected), “DINST” in the From instance-name field, “ACK” in the From port-name field, To In the instance-name field, “open:” indicating opening is described.
このような接続仕様101からアサーション生成部103によりアサーション104が生成される。アサーション104は、アサーションファイル、バインドファイルから構成される。なお、アサーションは一般的に使用されているSVA(System Verilog Assertion)言語で生成される。以下、本実施の形態1においてもSVA言語が使用されるものとする。
An
図2の接続仕様の例からアサーション生成部103により生成されるアサーションファイルの例を図5、バインドファイルの例を図6に示す。図2、図5、図6を参照してアサーション生成部103の動作を説明する。
An example of an assertion file generated by the
図5に示されるように、接続検証のアサーションは、プロパティ名がconnectionである以下に示すpropertyブロック構文を各assertステートメントが呼び出す形で作成される。
property connection(sig_a, sig_b);
@(sva_check_clk)(sig_a == sig_b);
endproperty:connection
As shown in FIG. 5, the assertion of connection verification is created in such a way that each assert statement calls the property block syntax shown below whose property name is connection.
property connection (sig_a, sig_b);
@ (sva_check_clk) (sig_a == sig_b);
endproperty: connection
図2の接続仕様101で、マクロのインスタンス名CINST、端子名CLKである端子が、外部端子名CCLKである外部端子に接続される仕様の場合、assertステートメントは次のように生成される。
CINST__CLK___CCLK:
assert property (connection (CINST_p_CLK, CCLK));
In the
CINST__CLK___CCLK:
assert property (connection (CINST_p_CLK, CCLK));
ここで、上記「CINST__CLK___CCLK」は、アサートラベルでインスタンス名、端子名、外部端子名が分かるようなラベルが生成される。また、上記「assert property (connection(CINST_p_CLK, CCLK))」でconnection propertyブロック構文を呼び出している。 Here, for “CINST__CLK___CCLK”, a label is generated so that the instance name, the terminal name, and the external terminal name can be recognized by the assert label. In addition, the connection property block syntax is called by the “assert property (connection (CINST_p_CLK, CCLK))”.
connection(CINST_p_CLK, CCLK)の「CINST_p_CLK」は、回路記述102でマクロのインスタンス名CINST、端子名CLKである端子を示すS_CHIP.CINST.CLKとバインドされるよう図6のバンドファイルが生成される。同様に、connection(CINST_p_CLK, CCLK)の「CCLK」は、回路記述102で外部端子名CCLKである外部端子を示すS_CHIP.CCLKとバインドされるよう図6のバインドファイルが生成される。以降、同様な繰り返しで図2の接続仕様101からassertステートメントとバインドファイルが生成される。
The band file of FIG. 6 is generated so that “CINST_p_CLK” of connection (CINST_p_CLK, CCLK) is bound to S_CHIP.CINST.CLK indicating the terminal having the macro instance name CINST and the terminal name CLK in the
ここで、接続仕様101から、オープンリスト生成部105によりオープンリスト106が生成される。図2の接続仕様101からオープンリスト生成部105により生成されたオープンリスト106を図7に示す。
Here, the
図2、図7を参照してオープンリスト生成部105の動作を説明する。図2の接続仕様でTo instance-name欄が「open:」である行を抽出して、インスタンス名、端子名、ビット範囲からオープンリストを生成する。To instance-name欄が「open:」で、From instance-name欄が「DINST」、From port-name欄が「ACK」の場合は、図7に示すようにオープンリストに「DINST.ACK」が生成される。
The operation of the open
ここで、回路記述102から、オープン検出部107によりオープン端子が検出される。図3を参照してオープン検出部107の動作を説明する。オープン検出部107は、図3の回路記述102で、各マクロのそれぞれの端子を一つずつ別のマクロに繋がっているか、外部端子に繋がっているか、あるいはクランプされているかをトレースし、そのいずれでもないものをオープンとして検出する。図3の回路記述102の場合では、マクロ名D_MACRO、インスタンス名DINSTの端子であるACKとEND[7:1]が検出される。そして、この検出結果がオープン端子情報として生成される。
Here, an open terminal is detected by the
ここで、アサーション104と回路記述102の一致性をフォーマル検証部108により検証する。図5、図6、図4を参照してフォーマル検証部108の動作を説明する。
Here, the
フォーマル検証部108は、図6のバインドファイルに応じて、図5のアサーションファイルの記述と図4の回路記述102(Verilog記述)とをバインドし、その後、バインドした対象が接続されているかを検証する。例えば、以下に示すような図5のアサーションファイルの記述は、DINST_p_TCOとCINST_p_INT[9]とが接続されていることを検証するアサーションである。
DINST__TCO___CINST__INT__msb9lsb9:
assert property (connection (DINST_p_TCO, CINST_p_INT[9]));
The
DINST__TCO___CINST__INT__msb9lsb9:
assert property (connection (DINST_p_TCO, CINST_p_INT [9]));
上記アサーションファイルの記述により、DINST_p_TCOが、図6のバインドファイルに応じて、図4のVerilog記述のS_CHIP.DINST.TCOにバインドされる。ここで「S_CHIP.DINST.TCO」は図4のVerilog記述でモジュール名S_CHIP、インスタンス名DINST、端子名TCOの端子であることを示している。 According to the description of the assertion file, DINST_p_TCO is bound to S_CHIP.DINST.TCO of the Verilog description of FIG. 4 according to the bind file of FIG. Here, “S_CHIP.DINST.TCO” indicates a terminal having a module name S_CHIP, an instance name DINST, and a terminal name TCO in the Verilog description of FIG.
また、CINST_p_INT[9]が、図6のバインドファイルに応じて、図4のVerilog記述のS_CHIP.CINST.INT[9]にバインドされる。ここで「S_CHIP.CINST.INT[9]」は図4のVerilog記述でモジュール名S_CHIP、インスタンス名CINST、端子名INT[9]の端子であることを示している。 Also, CINST_p_INT [9] is bound to S_CHIP.CINST.INT [9] of the Verilog description of FIG. 4 according to the bind file of FIG. Here, “S_CHIP.CINST.INT [9]” indicates a terminal having the module name S_CHIP, the instance name CINST, and the terminal name INT [9] in the Verilog description of FIG.
そして、このアサーションファイルの記述により、Verilog記述のモジュール名S_CHIP、インスタンス名DINST、端子名TCOの端子と、モジュール名S_CHIP、インスタンス名CINST、端子名INT[9]の端子とが、接続されているかをフォーマル検証部108によりフォーマル検証される。このフォーマル検証において、上記端子同士が接続されていればそのアサーションはPassと判定、もしくは、Verilog記述で違った接続がされていればFailと判定される。そして、このようなフォーマル判定が図5のアサーションファイルの記述毎に行われる。
Whether the module name S_CHIP, instance name DINST, and terminal name TCO of the Verilog description and the terminal of module name S_CHIP, instance name CINST, and terminal name INT [9] are connected by this assertion file description. The
ここで、オープンリスト106とオープン検出部107により検出されたオープン端子情報とが、オープン比較部109により比較される。そして、その比較結果により、一致しているか、もしくは、オープンリスト106に余分なリストがあるのか、足りないリストがあるのかのオープン比較結果情報が生成される。
Here, the
このオープン比較結果情報により、一致していると判定される場合は、接続仕様101に記述されたオープン端子の仕様通りに回路記述102は設計されていることを示している。
If it is determined by the open comparison result information that they match, it indicates that the
また、オープン比較結果情報により、オープンリスト106に余分なリストがあると判定される場合は、接続仕様101に記述されたオープン端子の仕様とは異なり、回路記述102ではオープンではない箇所があることを示している。逆に、オープン比較結果情報により、オープンリスト106に足らないリストがあると判定される場合は、接続仕様101で定義されていないオープン端子が回路記述102に存在していることを示している。
Also, when it is determined by the open comparison result information that there is an extra list in the
検証結果確認部110は、フォーマル検証部108からのアサーション104と回路記述102の一致性の判定情報を、オープン比較部109からオープンリスト106と回路記述102のマクロの端子がオープンである箇所とのオープン比較結果情報を、読み込む。そして、総合的な検証結果として表示装置等に表示、もしくは、データ出力装置等にデータとして出力する。例えば、図2の接続仕様101及び図4の回路記述102(Verilog記述)の場合、図8に示す結果が表示される。
The verification
以下に図8を参照して検証結果確認部110の動作を説明する。図8に示すように、「アサーションチェック結果(Summary)」の「Pass」には、接続仕様通りに回路記述が接続されている箇所の数、「Fail」には接続仕様通りに回路記述が接続されていない箇所の数が表示される。
The operation of the verification
また、図8に示すように、「オープン端子チェック結果(Summary)」の「Pass」には、接続仕様通りに回路記述のマクロの端子がオープンになっている箇所の数が示される。「Fail」には、接続仕様ではオープンになっているが回路記述では該当のマクロの端子がオープンになっていない箇所の数が示される。「Undef」には、接続仕様ではオープンと定義されていないが回路記述ではオープンになっている箇所の数が表示される。 Also, as shown in FIG. 8, “Pass” of “Open terminal check result (Summary)” indicates the number of locations where the terminals of the macro in the circuit description are open according to the connection specification. “Fail” indicates the number of locations where the connection specification is open but the circuit description does not open the corresponding macro terminal. “Undef” displays the number of locations that are not defined as open in the connection specification but are open in the circuit description.
更に、「アサーションチェック結果(詳細)」には、アサートラベルと前記Pass、Failの結果が表示される。アサートラベルは図5で示したものと同様で、「<インスタンス名>__<端子名>___<インスタンス名>__<端子名>」という構成となっている。そして、上記情報からどの端子間の接続アサーションがPass、Failしたかが分かる。 Further, the assertion check result (details) displays the assert label and the results of Pass and Fail. The assert label is the same as that shown in FIG. 5 and is configured as “<instance name> _ << terminal name> __ <instance name> _ << terminal name>”. Then, it can be seen from the above information which connection assertion between terminals has passed or failed.
更に「オープン端子チェック結果(詳細)」には、接続仕様及び回路記述から抽出されたオープン端子が前記Pass、Fail、Undefの情報を伴い表示される。 Further, in the “open terminal check result (detail)”, the open terminal extracted from the connection specification and the circuit description is displayed with the information of the Pass, Fail, and Undef.
以上のように、本実施の形態1の半導体集積回路の検証装置100は、テストパターンが必要ないフォーマル検証でマクロ間の接続検証を行う場合に、接続仕様101を用いて、設計結果である回路記述102との回路接続関係の一致性を検証するこができる。
As described above, the
このことは、マクロの端子間の接続仕様についてはアサーション生成部103により生成されるアサーション104と回路記述102とのフォーマル検証で、マクロの端子のオープン仕様についてはオープンリスト生成部105により生成されるオープンリスト106と回路記述102からオープン検出部107により生成されるオープン端子情報との比較で、行われる。
This is a formal verification between the
これにより、マクロ間の接続検証に加えて、マクロのオープン端子について、設計者が意図してオープンとしたのか、設計ミスとしてオープンとしたのかの区別がつき、半導体集積回路の設計品質の向上が可能となる。 As a result, in addition to verifying the connection between macros, it is possible to distinguish whether the open terminal of a macro is intentionally open or whether it is open as a design error, which improves the design quality of semiconductor integrated circuits. It becomes possible.
発明の実施の形態2
以下、本発明を適用した具体的な実施の形態2について、図面を参照しながら詳細に説明する。この実施の形態2は、実施の形態1と同様、本発明を半導体集積回路の検証装置に適用したものである。図9に本実施の形態1にかかる半導体集積回路200の検証装置のブロック構成を示す。
Hereinafter, a specific second embodiment to which the present invention is applied will be described in detail with reference to the drawings. In the second embodiment, as in the first embodiment, the present invention is applied to a semiconductor integrated circuit verification apparatus. FIG. 9 shows a block configuration of the verification apparatus of the semiconductor integrated
図9に示すように、半導体集積回路の検証装置200は、アサーション生成部103と、オープンリスト生成部105と、オープン検出部107と、フォーマル検証部108と、オープン比較部109と、検証結果確認部110と、仕様網羅性比較部211とを有する。なお、図9に示された符号のうち、図1と同じ符号を付した構成は、図1と同じか又は類似の構成を示している。実施の形態1と異なるのは、仕様網羅性比較部211を更に備えている点である。よって、本実施の形態2では、その相違部分を重点的に説明し、その他実施の形態1と同様の部分の説明は、特に必要でない限り省略する。
As shown in FIG. 9, the semiconductor integrated
仕様網羅性比較部211は、アサーション104、オープンリスト106、回路記述102を読み込み、定義された接続仕様以外の余計な接続が回路記述102にないことの検証を行う。
The specification
検証結果確認部110は、フォーマル検証部108により得られた検証結果の判定情報と、オープン比較部109で得られたオープン比較結果情報と、仕様網羅性比較部211で得られた仕様網羅性比較結果情報とを合わせて総合的な検証結果として表示する。
The verification
次に、半導体集積回路の検証装置200の動作について説明する。この動作の説明では、実施の形態1との差分部分のみを行う。その他の実施の形態1と同様の部分の説明は省略する。
Next, the operation of the semiconductor integrated
仕様網羅性比較部211は、アサーション104、オープンリスト106、回路記述102を読み込む。そして、回路記述102からは、外部端子、マクロの端子を全て抽出する。アサーション104からは、アサーションの記述に含まれている外部端子、マクロの端子を全て抽出する。上記アサーション104から抽出された端子に、オープンリスト106の端子を加えたものと、上記回路記述102から抽出された端子の比較を行い、その結果を検証結果確認部110に伝える。
The specification
検証結果確認部110は、フォーマル検証部108からのアサーション104と回路記述102の一致性の判定情報を、オープン比較部109からオープンリスト106と回路記述102のマクロ端子がオープンである箇所との比較結果情報(オープン比較結果情報)を、仕様網羅性比較部211からアサーション104の端子情報にオープンリスト106の端子情報を加えたものと回路記述102の端子情報との比較結果情報(仕様網羅性比較結果情報)を読み込み、総合的な検証結果として表示する。
The verification
ここで、図10に本実施の形態2の接続仕様101の例を示す。この接続仕様101と図4の回路記述102(Verilog記述)の場合、検証結果確認部110により図11に示す結果が表示される。
Here, FIG. 10 shows an example of the
図10の接続仕様101では、図2の接続仕様101と比較して、マクロのインスタンス名DINST、端子名TCOである端子と、マクロのインスタンス名CINST、端子名INT[9]である端子との接続の定義がされていない。この図10の接続仕様101と、設計された図4の回路記述102から、上述した定義の無い部分を接続仕様101で定義し忘れたか、あるいは、図4の回路記述102により誤って接続仕様101にない接続を設計してしまったことが考えられる。
In the
図11を参照して検証結果確認部110の動作を説明する。図11に示す「アサーションチェック結果(Summary)」、「オープン端子チェック結果(Summary)」、「アサーションチェック結果(詳細)」、「オープン端子チェック結果(詳細)」については、実施の形態1と同様のため説明を省略する。
The operation of the verification
図11に示すように、「接続定義漏れのチェック結果(Summary)」において、アサーション104の端子情報にオープンリスト106の端子情報を加えたものより、回路記述102の端子情報の方に一致しない余分な端子が存在する場合にその数を「Fail」として表示する。また、「接続定義漏れのチェック結果(詳細)」において、アサーション104の端子情報にオープンリスト106の端子情報を加えたもの以外の余計な端子情報が回路記述102の端子情報に存在する場合にその端子名を表示する。
As shown in FIG. 11, in the “connection definition omission check result (Summary)”, the terminal information of the
以上のように、本実施の形態2の半導体集積回路の検証装置200は、実施の形態1と同様、テストパターンが必要ないフォーマル検証でマクロ間の接続検証を行う場合に、接続仕様101を用いて、設計結果である回路記述102との回路接続関係の一致性を検証するこができる。
As described above, the semiconductor integrated
このことは、マクロの端子間の接続仕様についてはアサーション生成部103により生成されるアサーション104と回路記述102とのフォーマル検証で、マクロの端子のオープン仕様についてはオープンリスト生成部105により生成されるオープンリスト106と回路記述102からオープン検出部107により生成されるオープン端子情報との比較で、行われる。
This is a formal verification between the
これにより、マクロ間の接続検証に加えて、マクロのオープン端子について、設計者が意図してオープンとしたのか、設計ミスとしてオープンとしたのかの区別がつき、半導体集積回路の設計品質の向上が可能となる。 As a result, in addition to verifying the connection between macros, it is possible to distinguish whether the open terminal of a macro is intentionally open or whether it is open as a design error, which improves the design quality of semiconductor integrated circuits. It becomes possible.
更に、本実施の形態2では、アサーション104の端子にオープンリスト106の端子を加えたものと、回路記述102の端子とを仕様網羅性比較部211で比較を行うことができる。
Furthermore, in the second embodiment, the specification
アサーション104の端子にオープンリスト106の端子を加えたものは、接続仕様101で定義されているオープン箇所を含めた端子である。このため、これと回路記述102の端子との比較を、仕様網羅性比較部211が行うことで、オープン箇所も含めて接続仕様が網羅的に検証できているのかを検証することができる。
What added the terminal of the open list |
実施の形態1では、接続仕様の網羅性検証として、接続仕様以外の余計な接続が回路記述にないことの検証、あるいは、接続仕様漏れの検証が不十分なものとなってしまう可能性があった。しかし、本実施の形態2では、定義された接続仕様以外の余計な接続が回路記述にないことの検証、あるいは、回路記述の接続仕様漏れの検証を正確に行うことができる。よって、実施の形態1と比較して、さらなる半導体集積回路の設計品質の向上が可能となる。 In the first embodiment, as the comprehensiveness verification of the connection specification, there is a possibility that the verification that there is no extra connection other than the connection specification in the circuit description or the verification of the leakage of the connection specification is insufficient. It was. However, in the second embodiment, it is possible to accurately verify that there is no extra connection in the circuit description other than the defined connection specification, or to verify the connection specification omission in the circuit description. Therefore, the design quality of the semiconductor integrated circuit can be further improved as compared with the first embodiment.
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。 Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.
例えば、上述した実施の形態1、2の半導体集積回路の検証装置は、図12に示すようなPC等のコンピュータ300で実現してもよい。以下、このようなコンピュータ300で、半導体集積回路の検証装置を構成した例を簡単に説明する。図12に示すようにコンピュータ300は、CPU301と、主メモリ302と、HDD303と、ROM304と、入出力装置305と、バス306とを有する。バス306は、CPU301、主メモリ302、HDD303、ROM304、入出力装置305と接続され、各種情報を伝達する。
For example, the above-described semiconductor integrated circuit verification device according to the first and second embodiments may be realized by a
上述した接続仕様101、回路記述102の各情報は、コンピュータ300のHDD303や、ネットワーク内のデータベース307等に保存されている。そして、CPU301は、HDD303もしくはROM304に格納されている半導体集積回路の検証を実現するためのプログラム(以下、処理プログラムと称す)を呼び出し、主メモリ302に展開する。
Each information of the
上述したアサーション生成部103、オープンリスト生成部105、オープン検出部107、フォーマル検証部108、オープン比較部109、検証結果確認部110、仕様網羅性比較部211は、この処理プログラム内でモジュール化されている。なお、このコンピュータ300を制御するオペレーティングシステムが各モジュールプログラムを制御するようにしてもよい。
The
例えば、実施の形態1において、アサーション生成部103及びオープンリスト生成部105として動作するプログラムは、HDD303等に格納されている接続仕様101の情報から、それぞれアサーション104及びオープンリスト106を生成する。また、オープンリスト検出部105として動作するプログラムはHDD303等に格納されている回路記述102から、オープン端子情報を生成する。
For example, in the first embodiment, programs that operate as the
そして、フォーマル検証部108として動作するプログラムが、アサーション104、接続仕様101から判定情報を生成する。また、オープン比較部109として動作するプログラムが、オープン比較結果情報を生成する。そして、検証結果確認部110として動作するプログラムが、判定情報、オープン比較結果情報に応じた総合的な検証結果として表示装置(不図示)等に表示する。
Then, a program that operates as the
なお、アサーション生成部103、オープンリスト生成部105、オープン検出部107、フォーマル検証部108、オープン比較部109、検証結果確認部110、仕様網羅性比較部211をプログラムではなく、専用のハードウエアで実現してもよい。
Note that the
100、200 半導体集積回路の検証装置
101 接続仕様
102 回路記述
103 アサーション生成部
104 アサーション
105 オープンリスト生成部
106 オープンリスト
107 オープン検出部
108 フォーマル検証部
109 オープン比較部
110 検証結果確認部
211 仕様網羅性比較部
100, 200 Semiconductor integrated
Claims (9)
前記接続仕様情報をアサーション言語で記述された接続情報ファイルに変換するアサーション生成部と、
前記接続仕様情報からオープンである端子を抽出した第1の端子情報と、前記回路記述情報からオープンである端子の情報を抽出した第2の端子情報とに応じて、前記第1の端子情報と第2の端子情報の一致性を比較する比較部と、
前記接続情報ファイルと前記回路記述情報とに応じてフォーマル検証を行うフォーマル検証部と、を有し、
前記フォーマル検証部の検証結果と前記比較部の比較結果から、半導体集積回路を構成する回路の接続関係を検証する
半導体集積回路の検証装置。 A verification apparatus for a semiconductor integrated circuit that verifies the consistency of circuit connection relation between connection specification information indicating a connection relation of circuits constituting a semiconductor integrated circuit and circuit description information describing a configuration of the semiconductor integrated circuit,
An assertion generator for converting the connection specification information into a connection information file described in an assertion language;
The first terminal information according to the first terminal information extracted from the connection specification information and the second terminal information extracted from the circuit description information. A comparison unit for comparing the coincidence of the second terminal information;
A formal verification unit that performs formal verification according to the connection information file and the circuit description information;
A verification apparatus for a semiconductor integrated circuit that verifies a connection relation of circuits constituting a semiconductor integrated circuit from a verification result of the formal verification section and a comparison result of the comparison section.
前記オープンリスト生成部は、前記接続仕様情報からオープンである端子の情報を抽出し、前記第1の端子情報として生成し、
前記オープン検出部は、前記回路記述情報からオープンである端子の情報を抽出し、前記第2の端子情報として生成する
請求項1に記載の半導体集積回路の検証装置。 An open detection unit, and an open list generation unit;
The open list generation unit extracts terminal information that is open from the connection specification information, and generates the first terminal information.
2. The semiconductor integrated circuit verification device according to claim 1, wherein the open detection unit extracts information on a terminal that is open from the circuit description information and generates the information as the second terminal information.
請求項1または請求項2に記載の半導体集積回路の検証装置。 3. The semiconductor integrated circuit according to claim 1, wherein an open terminal can be verified in a connection relationship of the circuits constituting the semiconductor integrated circuit from a verification result of the formal verification unit and a comparison result of the comparison unit. Verification device.
前記仕様網羅性比較部は、前記接続情報ファイルと、前記第1の端子情報と、前記回路記述情報とから前記半導体集積回路を構成する回路の接続関係を抽出し、第3の端子情報を生成する
請求項1〜請求項3のいずれか1項に記載の半導体集積回路の検証装置。 It also has a specification coverage comparison unit,
The specification coverage comparison unit extracts connection relations of circuits constituting the semiconductor integrated circuit from the connection information file, the first terminal information, and the circuit description information, and generates third terminal information. The verification apparatus of the semiconductor integrated circuit of any one of Claims 1-3 which do.
請求項4に記載の半導体集積回路の検証装置。 From the verification result of the formal verification unit, the comparison result of the comparison unit, and the third terminal information, the terminal that is open in the connection relationship of the circuits constituting the semiconductor integrated circuit, and the connection specification information The semiconductor integrated circuit verification device according to claim 4, wherein the matching error of the circuit description information can be verified.
前記接続仕様情報をアサーション言語で記述された接続情報ファイルに変換し、
前記接続仕様情報からオープンである端子を抽出した第1の端子情報と、前記回路記述情報からオープンである端子の情報を抽出した第2の端子情報とに応じて、前記第1の端子情報と第2の端子情報の一致性を比較し、
前記接続情報ファイルと前記回路記述情報とに応じてフォーマル検証を行い、
前記フォーマル検証の検証結果と、前記第1の端子情報と第2の端子情報の一致性の比較結果とから半導体集積回路を構成する回路の接続関係を検証する
半導体集積回路の検証方法。 A method for verifying a semiconductor integrated circuit for verifying the coincidence of circuit connection relation between connection specification information indicating a connection relation of circuits constituting a semiconductor integrated circuit and circuit description information describing a configuration of the semiconductor integrated circuit,
Convert the connection specification information into a connection information file described in the assertion language,
The first terminal information according to the first terminal information extracted from the connection specification information and the second terminal information extracted from the circuit description information. Compare the consistency of the second terminal information,
Perform formal verification according to the connection information file and the circuit description information,
A semiconductor integrated circuit verification method for verifying a connection relationship of circuits constituting a semiconductor integrated circuit from a verification result of the formal verification and a comparison result of coincidence between the first terminal information and the second terminal information.
請求項6に記載の半導体集積回路の検証方法。 The open terminal can be verified in the connection relationship of the circuits constituting the semiconductor integrated circuit from the verification result of the formal verification and the comparison result of the coincidence between the first terminal information and the second terminal information. Item 7. A method for verifying a semiconductor integrated circuit according to Item 6.
請求項6もしくは請求項7に記載の半導体集積回路の検証方法。 8. The third terminal information is generated by extracting a connection relationship of circuits constituting the semiconductor integrated circuit from the connection information file, the first terminal information, and the circuit description information. 2. A method for verifying a semiconductor integrated circuit according to 1.
請求項8に記載の半導体集積回路の検証方法。 Based on the verification result of the formal verification, the comparison result of the coincidence between the first terminal information and the second terminal information, and the third terminal information, the connection relationship of the circuits constituting the semiconductor integrated circuit is opened. 9. The method for verifying a semiconductor integrated circuit according to claim 8, wherein the terminal and the coincidence error between the connection specification information and the circuit description information can be verified.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010070005A JP2011203962A (en) | 2010-03-25 | 2010-03-25 | Verification apparatus and verification method for semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010070005A JP2011203962A (en) | 2010-03-25 | 2010-03-25 | Verification apparatus and verification method for semiconductor integrated circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011203962A true JP2011203962A (en) | 2011-10-13 |
Family
ID=44880547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010070005A Pending JP2011203962A (en) | 2010-03-25 | 2010-03-25 | Verification apparatus and verification method for semiconductor integrated circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011203962A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015056076A (en) * | 2013-09-12 | 2015-03-23 | 富士通セミコンダクター株式会社 | Determination method, determination program, and determination device |
JP2016206957A (en) * | 2015-04-23 | 2016-12-08 | 株式会社ソシオネクスト | Design method, design device, and program |
CN113075911A (en) * | 2021-03-24 | 2021-07-06 | 中广核工程有限公司 | Automatic verification method and system for nuclear power plant safety-level digital instrument control system software |
-
2010
- 2010-03-25 JP JP2010070005A patent/JP2011203962A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015056076A (en) * | 2013-09-12 | 2015-03-23 | 富士通セミコンダクター株式会社 | Determination method, determination program, and determination device |
US9047428B2 (en) | 2013-09-12 | 2015-06-02 | Socionext Inc. | Determining method, computer product, and determining apparatus |
JP2016206957A (en) * | 2015-04-23 | 2016-12-08 | 株式会社ソシオネクスト | Design method, design device, and program |
CN113075911A (en) * | 2021-03-24 | 2021-07-06 | 中广核工程有限公司 | Automatic verification method and system for nuclear power plant safety-level digital instrument control system software |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112560401B (en) | Verilog file conversion method, device, storage medium and equipment | |
CN112417798B (en) | Time sequence testing method and device, electronic equipment and storage medium | |
JP2009087354A (en) | Automatic test generation system and method for web application | |
CN105868114A (en) | FPGA software system and all module testing system and method thereof | |
Chen et al. | Assertion-based functional consistency checking between TLM and RTL models | |
JP4147842B2 (en) | Logic verification system and method, logic cone extraction apparatus and method, logic verification and logic cone extraction program | |
Pevtsov et al. | Design for testability of integrated circuits and project protection difficulties | |
JP4586864B2 (en) | Automatic property generator | |
JP4533918B2 (en) | Circuit specification description design analysis apparatus and circuit specification description design analysis method | |
JP2011203962A (en) | Verification apparatus and verification method for semiconductor integrated circuit | |
CN117094269B (en) | Verification method, verification device, electronic equipment and readable storage medium | |
JP2007034833A (en) | Function verification description generation device, function verification description generation method and function verification description generation program | |
US20080244484A1 (en) | Circuit design verification system, method and medium | |
CN110717305A (en) | Method, system, device and medium suitable for verifying and confirming FPGA | |
JP5292164B2 (en) | Failure diagnosis method and failure diagnosis system | |
US8943457B2 (en) | Simulating scan tests with reduced resources | |
JP5259082B2 (en) | Concordance verification method and apparatus | |
CN115687108A (en) | Verification method, platform, terminal and storage medium based on combination of UVM and FPV | |
Brinkmann et al. | Formal verification—the industrial perspective | |
JP3941336B2 (en) | Logic circuit verification device | |
JP6146224B2 (en) | Determination method, determination program, and determination apparatus | |
CN112131807A (en) | Cross-clock domain verification method, device, equipment and medium | |
JP4899927B2 (en) | Test pattern automatic generation method and test pattern automatic generation program | |
Jacobson | Validation of software in measuring instruments | |
CN110990263B (en) | Automatic generator and generation method of test case set |