JP2007011477A - Logical circuit operation model generation device and logical circuit operation model generation method - Google Patents
Logical circuit operation model generation device and logical circuit operation model generation method Download PDFInfo
- Publication number
- JP2007011477A JP2007011477A JP2005188331A JP2005188331A JP2007011477A JP 2007011477 A JP2007011477 A JP 2007011477A JP 2005188331 A JP2005188331 A JP 2005188331A JP 2005188331 A JP2005188331 A JP 2005188331A JP 2007011477 A JP2007011477 A JP 2007011477A
- Authority
- JP
- Japan
- Prior art keywords
- logic circuit
- circuit operation
- model
- operation model
- reduction conversion
- 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
Abstract
Description
本発明は、論理回路動作モデル生成装置及び論理回路動作モデル生成方法に係り、特に、ハードウェア記述言語等で表現された論理回路RTLモデルを変換して論理回路動作モデルを生成する論理回路動作モデル生成装置及び論理回路動作モデル生成方法に関する。 The present invention relates to a logic circuit operation model generation apparatus and a logic circuit operation model generation method, and in particular, a logic circuit operation model that generates a logic circuit operation model by converting a logic circuit RTL model expressed in a hardware description language or the like. The present invention relates to a generation device and a logic circuit operation model generation method.
近年、LSI等の大規模な論理回路の設計・製造では、HDL(Hardware Description Language)と呼ばれる言語でハードウェアを記述し、記述したHDLからネットリストと呼ばれる回路要素の接続関係を表すデータに変換し、このネットリストから実際のLSI等のハードウェアを製造することが多い。 In recent years, in the design and manufacture of large-scale logic circuits such as LSI, hardware is described in a language called HDL (Hardware Description Language), and the described HDL is converted into data representing the connection relationship of circuit elements called a netlist. In many cases, hardware such as an actual LSI is manufactured from this netlist.
HDLからネットリストへ変換することを「論理合成」と呼び、所定の論理合成ツールを用いてHDLからネットリストへ変換することができる。ネットリストは、例えば、AND回路、OR回路、レジスタ、カウンタ等の回路要素と相互の接続関係を表すデータであり、このネットリストを用いて従来からあるいわゆる回路図をプリントアウトすることも可能である。 Conversion from the HDL to the netlist is called “logic synthesis”, and the HDL can be converted into the netlist using a predetermined logic synthesis tool. The netlist is data representing the mutual connection relationship with circuit elements such as an AND circuit, an OR circuit, a register, and a counter, for example, and a conventional so-called circuit diagram can be printed out using this netlist. is there.
ハードウェア記述言語(HDL)には、種々のものがあるが、例えば、Verilog-HDL、VHDL、SystemCといったHDLが今日多く用いられている。また、HDLには幾つかの記述レベルが存在し、代表的には、ビヘイビアレベルとレジスタ・トランスファ・レベル(RTL)がある。 There are various hardware description languages (HDLs), and for example, HDLs such as Verilog-HDL, VHDL, and SystemC are often used today. In addition, there are several description levels in HDL, typically, a behavior level and a register transfer level (RTL).
ビヘイビアレベルは、動作(ハードウェア動作に限らずソフトウェアの動作をも含む)を「クロックの概念」無しに表現したものである。詳細な設計仕様が固まっていない回路ブロックの記述や、シミュレーションを目的としたモデル、例えばCPUの動作をモデル化したもの、の記述に用いられる。 The behavior level represents an operation (including not only a hardware operation but also a software operation) without a “clock concept”. It is used to describe circuit blocks whose detailed design specifications are not fixed, and to describe models for simulation purposes, for example, modeled CPU operations.
これに対してレジスタ・トランスファ・レベル(Register Transfer Level:RTL)は、回路の構成要素であるレジスタやカウンタ等と、これらの間におけるデータの転送状態(接続状態)を表現しているレベルであり、これらを動作させるための「クロックの概念」が存在するものである。 On the other hand, a register transfer level (RTL) is a level that expresses a register, a counter, etc., which are circuit components, and a data transfer state (connection state) between them. There is a “clock concept” for operating these.
HDLを「論理合成」し、ネットリストを生成するためには、HDLをレジスタ・トランスファ・レベル(以下、単にRTLと言う。)で記述する必要がある。RTLのレベルのHDLで記述された論理回路を「論理回路RTLモデル」と呼ぶものとする。 In order to “logic-synthesize” HDL and generate a netlist, it is necessary to describe HDL at a register transfer level (hereinafter simply referred to as RTL). A logic circuit described in HDL at the RTL level is called a “logic circuit RTL model”.
他方、今日の大規模な回路では、回路自体の設計に加えて、設計した回路の検証および評価が非常に重要になってきている。設計段階において(物を作る前に)十分な検証および評価を実施することによって、結果的には開発期間が短縮され、開発コストを低減することが可能となる。 On the other hand, in today's large-scale circuits, in addition to designing the circuit itself, verification and evaluation of the designed circuit has become very important. By carrying out sufficient verification and evaluation (before making an object) at the design stage, the development period can be shortened and the development cost can be reduced.
さらに、今日のシステムの多くは、マイクロプロセッサ等を含むハードウェア/ソフトウェア一体型のシステムが一般的になってきている。このため、ハードウェアのみならず、マイクロプロセッサ等で動作するソフトウェアをも含めて検証、評価する必要が高くなってきている。 Furthermore, many of today's systems are generally hardware / software integrated systems including a microprocessor and the like. For this reason, it is becoming necessary to verify and evaluate not only hardware but also software that operates on a microprocessor or the like.
ところで、今日、広く用いられている論理回路は同期式論理回路であり、「論理回路RTLモデル」では、定義されたレジスタ群への書込みは、クロック、リセット等の同期信号を用いて書き込まれるように記述されている。従って、「論理回路RTLモデル」で評価可能な時間的精度は、周期的なクロック等の同期信号が入力される毎に、レジスタの値が正しいか否かが検証できることが保証される精度である(以下、この精度をクロックサイクル精度と呼ぶものとする)。このように、「論理回路RTLモデル」を用いた検証は、クロックサイクル毎に非常に緻密な検証が可能である。 By the way, a logic circuit widely used today is a synchronous logic circuit, and in the “logic circuit RTL model”, writing to a defined register group is written using a synchronization signal such as a clock and a reset. It is described in. Therefore, the temporal accuracy that can be evaluated by the “logic circuit RTL model” is an accuracy that ensures that the value of the register can be verified each time a synchronization signal such as a periodic clock is input. (Hereinafter, this accuracy will be referred to as clock cycle accuracy). As described above, the verification using the “logic circuit RTL model” enables very precise verification every clock cycle.
しかしながら、マイクロプロセッサ等を含む大規模な論理回路においては、個々の論理回路や、それらと相互に通信しマイクロプロセッサ上で動作するソフトウェアを、「論理回路RTLモデル」とマイクロプロセッサのシミュレータを接続したシミュレーション環境を用いてクロックサイクル精度で検証すると、シミュレーション時間が膨大になるという大きな問題がある。 However, in a large-scale logic circuit including a microprocessor, etc., each logic circuit and software that communicates with each other and operates on the microprocessor are connected to the “logic circuit RTL model” and the microprocessor simulator. When verifying with clock cycle accuracy using a simulation environment, there is a big problem that the simulation time becomes enormous.
一方、「論理回路RTLモデル」と通信するマイクロプロセッサ等のソフトウェアを検証する場合、クロックサイクル精度のような細かな精度で検証することは必ずしも必要ではない。また、「論理回路RTLモデル」の内部のレジスタの状態を総て検証する必要もない。 On the other hand, when verifying software such as a microprocessor that communicates with the “logic circuit RTL model”, it is not always necessary to verify with fine accuracy such as clock cycle accuracy. Further, it is not necessary to verify all the states of the registers in the “logic circuit RTL model”.
そこで、検証目的を達成する範囲で、シミュレーションの時間的精度(モニタ・検証する時間的な粗さ)や空間的精度(モニタ・検証するレジスタや信号の種類や量)を落とすことによって、シミュレーション時間を短縮する技術が種々開発されている。 Therefore, the simulation time can be reduced by reducing the temporal accuracy of the simulation (time roughness for monitoring and verification) and the spatial accuracy (types and amounts of registers and signals to be monitored and verified) as long as the verification purpose is achieved. Various techniques have been developed to shorten the time.
例えば、特許文献1乃至3には、シミュレーション精度の粗い(抽象度の高い)シミュレーションモデルを作成し、順次そのシミュレーションモデルを詳細化していく技術が開示されている。このうち、特許文献1には、逐次処理可能なプログラミング言語のモデルを作成して、検証にかかる時間を大幅に減少させ、システムレベルの検証を容易に実現可能とする技術が開示されている。また、特許文献2には、シミュレーション精度の粗いモデルと細かいモデルとを接続するインタフェースモデルを用いて、入出力データの小数点表示やビット幅の変換を行うビット精度変換を行い、精度の粗いモデルに一部を置き換える技術が開示されている。また、特許文献3には、予め定められた動作単位毎にシミュレーション精度の粗い動作記述を準備しておき、それらを選択してモデルを作成する技術が開示されている。
For example,
これとは逆に、シミュレーション精度の細かい(抽象度の低い)モデルを作成し、これを要約していく技術もある。例えば、特許文献4は、1つのクロックドメインに同期して論理動作を行う回路で発生するイベントを省略して論理の検証時間を短縮する技術が開示されている。また、特許文献5には、検証目的に応じて入力やレジスタの値を一部固定して論理回路モデルの一部を削減する技術が開示されている。また、特許文献6には、同期式回路の特徴を生かして、クロックサイクルの各時刻に対してテーブルを作成し、シミュレーションを行う前にイベントスケジュールを行う技術が開示されている。
On the other hand, there is also a technology that creates a model with a low simulation accuracy (low abstraction level) and summarizes it. For example,
さらに、特許文献7には、論理回路ブロックが有する状態を動作開始状態及び動作終了状態として設定し、状態から状態へ遷移させる入出力命令のシーケンスを1クロック毎にRTLモデルに与えてその動作を抽出し、時間の概念を持たないモデルを作成する技術が開示されている。
Further, in
また、特許文献8には、論理回路の動作を特徴づける制御部に相当する回路を指定し、制御部によって動作が決定される回路を抽出してソフトウェア向けのプログラミング言語に適したモデルを作成する技術が開示されている。
上記のように、シミュレーションを行うためのモデル(以下、このモデルを「論理回路動作モデル」という。)は、「論理回路RTLモデル」とは別に抽象度の高いモデルを新たに生成し、これを順次詳細化して「論理回路動作モデル」を生成する方法や、既存の「論理回路RTLモデル」(抽象度が低く細かいモデル)を用いてこれを要約することによって「論理回路動作モデル」に変換する方法によって生成されることが多い。 As described above, a model for performing a simulation (hereinafter, this model is referred to as a “logic circuit operation model”) is a newly generated model having a high abstraction level apart from the “logic circuit RTL model”. It is converted into a “logic circuit operation model” by summarizing it using a method of generating a “logic circuit operation model” by refinement sequentially or an existing “logic circuit RTL model” (a model with low abstraction level). Often generated by methods.
「論理回路動作モデル」の良否は、「論理回路動作モデル」の品質(第1の条件)と「論理回路動作モデル」の作成の手間(第2の条件)という2つの観点から判断する必要がある。 The quality of the “logic circuit operation model” must be judged from two viewpoints: the quality of the “logic circuit operation model” (first condition) and the time and effort for creating the “logic circuit operation model” (second condition). is there.
「論理回路動作モデル」の品質(第1の条件)は、検証目的を達成するに十分なシミュレーション精度(時間的精度および空間的精度)を確保すると共に、大規模なシステムであってもシミュレーション実行時間が実用上許容しうる範囲に収まることである。 The quality (first condition) of the “logic circuit operation model” ensures sufficient simulation accuracy (temporal accuracy and spatial accuracy) to achieve the verification purpose, and simulation is executed even for a large-scale system. The time is within a practically acceptable range.
また、「論理回路動作モデル」の作成の手間(第2の条件)は、論理回路やソフトウェアプログラムの検証開始時期までに、「論理回路動作モデル」が「論理回路RTLモデル」と整合が取れた状態で提供されることである。 In addition, the time required for creating the “logic circuit operation model” (second condition) was that the “logic circuit operation model” was consistent with the “logic circuit RTL model” by the time when the verification of the logic circuit or software program was started. Is to be provided in a state.
シミュレーション精度の粗い(抽象度の高い)モデルを新たに作成し、順次モデルを詳細化していく方法(特許文献1乃至3)は、検証目的に合わせて、人手(或いは半自動)によって「論理回路動作モデル」を作成する方法である。このため、人手と時間を十分かければ「論理回路動作モデル」の品質(第1の条件)は達成される。
A method (
しかしながら、この方法は、「論理回路動作モデル」と「論理回路RTLモデル」の二重開発となり、2つのモデル間で整合性を保証できないという問題がある。また、過去に設計済みの論理回路を組み込む場合、「論理回路RTLモデル」は存在しても「論理回路動作モデル」は存在しない場合が多く、仕様書等から新規に「論理回路動作モデル」を開発する必要がある。このため、検証開始時期までに「論理回路動作モデル」の開発が完了しないという問題が生じる(即ち、第2の条件を満たさない)。また、特許文献3が開示するように、「論理回路動作モデル」を作成するための「部品」を予め作成しておくことで作成期間の短縮はできるものの、作成した「部品」群と「論理回路RTLモデル」との間で整合性を検査できないため、「論理回路動作モデル」と「論理回路RTLモデル」と間での整合性を保証できないという問題はより深刻となる。
However, this method is a double development of the “logic circuit operation model” and the “logic circuit RTL model”, and there is a problem that consistency between the two models cannot be guaranteed. In addition, when incorporating a logic circuit that has been designed in the past, there are many cases where a “logic circuit RTL model” exists, but there is no “logic circuit operation model”. Need to develop. This causes a problem that the development of the “logic circuit operation model” is not completed before the verification start time (that is, the second condition is not satisfied). In addition, as disclosed in
他方、シミュレーション精度の細かい(抽象度の低い)モデルを要約する方法(特許文献4乃至8)は、設計済みの「論理回路RTLモデル」を出発点として自動的に要約して「論理回路動作モデル」を作成するため、第2の条件(開発の手間)を満足する可能性は比較的高い。
On the other hand, methods for summarizing models with low simulation accuracy (low abstraction) (
しかしながら、開示されている従来技術においては、第2の条件を満足する程度の開発期間では、検証目的にあった適切な時間的、空間的精度を確保し、かつ、大規模なシステムであってもシミュレーション実行時間を実用上耐えうる範囲に収めるという、第1の条件を満たす「論理回路動作モデル」を得ることは困難であると予想される。 However, in the disclosed prior art, in a development period that satisfies the second condition, an appropriate temporal and spatial accuracy suitable for the verification purpose is ensured, and the system is a large-scale system. However, it is expected that it is difficult to obtain a “logic circuit operation model” that satisfies the first condition that the simulation execution time is within a practically acceptable range.
例えば、特許文献4或いは特許文献5は、時間的精度としてはクロックサイクル精度を維持するものであり、システムレベルの検証としては過剰な精度であるとともに、シミュレーション実行時間が多大となり第1の条件を満たさない。
For example,
一方、特許文献7が開示する方法は、「論理回路RTLモデル」の内部状態を人手で設定するステップを持ち、人手で設定した内部状態を「論理回路動作モデル」への変換の出発点とするものである。このため、モデル化対象の論理回路の振る舞いを十分に分析して漏れや重複が無いように適切に内部状態を設定しないと所望の「論理回路動作モデル」を得ることができない。また、「論理回路動作モデル」を総て人手で生成する場合は、モデル化対象の論理回路の振る舞いについて仕様書等を通して分析し、漏れや重複が無いように適切に内部状態を定義する工程は、一般に、全体の約半分を占めると考えられている。このため、実際にモデルを記述する工程やモデルの整合性を確保する工程が削減されたとしても、内部状態の適切な定義の工程に多くの時間を費やし、結果的には第2の条件(開発の手間)を満足できなくなる可能性が高い。さらに、特許文献7が開示する方法は、時間の概念のある「論理回路RTLモデル」から、時間の概念の無い「論理回路動作モデル」に一気に変換する方法であるため、特定時刻を指定してモニタ・検証することができず、検証用途が限定されたものとなってしまう。
On the other hand, the method disclosed in
特許文献8の方法は、論理回路がもつ制御部を指定してそれを出発点とすることで、特許文献7の方法で用いる内部状態の設定ステップを不要としている。しかしながら、制御部が回路内に分散して複数存在する場合や、論理回路設計担当者と「論理回路動作モデル」設計担当者が異なる等の理由で「論理回路RTLモデル」について詳細な知識が無い場合等においては、適切な制御部を指定することが困難となることもあり、改良の余地がある。
The method of
本発明は、上記事情に鑑みてなされたもので、検証目的を達成するに十分なシミュレーション精度を達成し、かつ大規模なシステムであってもシミュレーション実行時間を許容範囲に収めることが可能であり、回路設計者と「論理回路動作モデル」設計者が異なる場合であっても短期間で的確な「論理回路動作モデル」を生成することができる論理回路動作モデル生成装置及び論理回路動作モデル生成方法を提供することを目的とする。 The present invention has been made in view of the above circumstances, achieves sufficient simulation accuracy to achieve the verification purpose, and can keep the simulation execution time within an allowable range even in a large-scale system. A logic circuit operation model generation apparatus and a logic circuit operation model generation method capable of generating an accurate “logic circuit operation model” in a short period of time even when the circuit designer and the “logic circuit operation model” designer are different The purpose is to provide.
本発明に係る論理回路動作モデル生成装置は、上記課題を解決するため、請求項1に記載したように、論理回路の動作をレジスタ・トランスファ・レベルで記述した論理回路RTLモデルと前記論理回路RTLモデルに対する入出力動作の記述を含む外部動作モデルとを統合し、前記論理回路の動作とそれに結合される外部装置の動作とを統合的に記述した第1の論理回路動作モデルを生成する生成部と、検証目的に応じた検証精度が記述された制約モデルを入力し、前記制約モデルに基づいて前記検証精度を保証する範囲で前記第1の論理回路動作モデルの規模を縮小変換し、第2の論理回路動作モデルを生成する変換部とを備え、前記生成部は、手続を表す命令、前記命令が使用し或いは生成する値を表す変数、時刻及び分岐状態を表す変数、及びレジスタを含む記憶要素の記憶場所を表す変数を節点とし、前記命令及び前記各変数の使用関係或いは代入関係を示すように前記節点の間を結ぶ矢線を枝とするグラフを記述可能な第1の論理回路動作モデル、又は前記グラフと相互に変換可能な隣接行列若しくは辺リストで記述された第1の論理回路動作モデルを生成することを特徴とする。
In order to solve the above-described problem, a logic circuit operation model generation apparatus according to the present invention includes a logic circuit RTL model in which an operation of a logic circuit is described at a register transfer level and the logic circuit RTL as described in
また、本発明に係る論理回路動作モデル生成方法は、請求項16に記載したように、論理回路の動作をレジスタ・トランスファ・レベルで記述した論理回路RTLモデルと前記論理回路RTLモデルに対する入出力動作の記述を含む外部動作モデルとを統合し、前記論理回路の動作とそれに結合される外部装置の動作とを統合的に記述した第1の論理回路動作モデルを生成する生成ステップと、検証目的に応じた検証精度が記述された制約モデルを入力し、前記制約モデルに基づいて前記検証精度を保証する範囲で前記第1の論理回路動作モデルの規模を縮小変換し、第2の論理回路動作モデルを生成する変換ステップとを備え、前記生成ステップは、手続を表す命令、前記命令が使用し或いは生成する値を表す変数、時刻及び分岐状態を表す変数、及びレジスタを含む記憶要素の記憶場所を表す変数を節点とし、前記命令及び前記各変数の使用関係或いは代入関係を示すように前記節点の間を結ぶ矢線を枝とするグラフを記述可能な第1の論理回路動作モデル、又は前記グラフと相互に変換可能な隣接行列若しくは辺リストで記述された第1の論理回路動作モデルを生成することを特徴とする。 The logic circuit operation model generation method according to the present invention includes a logic circuit RTL model in which the operation of the logic circuit is described at a register transfer level, and an input / output operation for the logic circuit RTL model. And generating a first logic circuit operation model that integrally describes the operation of the logic circuit and the operation of the external device coupled thereto, and for verification purposes. A constraint model in which the corresponding verification accuracy is described is input, the scale of the first logic circuit operation model is reduced and converted within a range in which the verification accuracy is guaranteed based on the constraint model, and a second logic circuit operation model And a conversion step for generating an instruction representing a procedure, a variable representing a value used or generated by the instruction, a time, and a branch state. Variables and variables representing the storage location of storage elements including registers can be described as nodes, and graphs with branches as arrows connecting the nodes to indicate the usage relationship or substitution relationship of the instructions and the variables can be described. A first logic circuit operation model, or a first logic circuit operation model described by an adjacency matrix or an edge list that can be mutually converted with the graph is generated.
本発明に係る論理回路動作モデル生成装置及び論理回路動作モデル生成方法によれば、検証目的を達成するに十分なシミュレーション精度を達成し、かつ大規模なシステムであってもシミュレーション実行時間を許容範囲に収めることが可能であり、回路設計者と「論理回路動作モデル」設計者が異なる場合であっても短期間で的確な「論理回路動作モデル」を生成することができる。 According to the logic circuit operation model generation apparatus and the logic circuit operation model generation method of the present invention, simulation accuracy sufficient to achieve the verification purpose is achieved, and the simulation execution time is allowed even in a large-scale system. Even when the circuit designer and the “logic circuit operation model” designer are different, an accurate “logic circuit operation model” can be generated in a short period of time.
本発明に係る論理回路動作モデル生成装置および論理回路動作モデル生成方法の実施形態について、添付図面を参照して説明する。 Embodiments of a logic circuit operation model generation device and a logic circuit operation model generation method according to the present invention will be described with reference to the accompanying drawings.
(1)論理回路動作モデル生成装置の位置付けと構成
図1は、本発明に係る論理回路動作モデル生成装置および論理回路動作モデル生成方法の位置付けについて概念的に説明した図である。
(1) Positioning and Configuration of Logic Circuit Operation Model Generation Device FIG. 1 is a diagram conceptually illustrating the positioning of a logic circuit operation model generation device and a logic circuit operation model generation method according to the present invention.
図1の左図は、対象となる大規模な論理回路のシステム構成をモデル化した図である。本モデルでは、大規模論理回路200、論理回路210、およびマイクロプロセッサ220がバスを介して相互に接続されている。
The left diagram of FIG. 1 is a diagram modeling a system configuration of a large-scale logic circuit as a target. In this model, the large-
このうち、大規模論理回路200は、既に設計済みで実績のある回路、或いは詳細設計が終了しているレベルである。即ち、大規模論理回路200は、論理合成が可能なレジスタ・トランスファ・レベル(RTL)でのハードウェア記述言語で記述されたモデルが既に存在している。このモデルを論理回路RTLモデル100と呼ぶ。
Among these, the large-
他方、論理回路210は、概略設計の段階であり、レジスタ・トランスファ・レベル(RTL)でのハードウェア記述言語は存在していない。ただし、概略の機能性能や外部インタフェース(バスを介してのトランザクション)は決まっている。
On the other hand, the
また、マイクロプロセッサ220が実行するソフトウェアについても外部インタフェースは決まっているものとする。即ち、論理回路210や、マイクロプロセッサ220のソフトウェについては、バスを介してのトランザクション(読み出しや書込み)を記述することが可能なレベルであり、この外部インタフェースや概略機能を記述したモデルを外部モデル110と呼ぶ。
It is also assumed that the external interface is determined for the software executed by the
このような構成のシステムをシミュレーション等によって検証するためのモデルを、検証目的に応じた「粗さ」で生成することが本発明の位置付けとなる。 The position of the present invention is to generate a model for verifying a system having such a configuration by simulation or the like with “roughness” according to the verification purpose.
大規模論理回路200をRTLで記述した論理回路RTLモデル100は、クロック単位のレベルでレジスタ間の信号伝送を表現可能に記述されており、正確ではあるものの非常に細かい。
The logic
従って、論理回路RTLモデル100と外部動作モデル110とを単純に結合したモデル(これを、第1の論理回路動作モデル50と呼ぶ)では、クロック毎に動作し、かつ内部状態もクロック毎に変化するため検証時間が膨大になってくる。
Therefore, in a model in which the logic
他方、シミュレーション等による検証は、通常何らかの検証目的をもって行われるものであり、検証目的に応じて必要となってくる検証精度は異なってくる。ここで検証精度とは、時間的な精度と、検証対象回路の範囲(空間的精度)の双方を言っている。 On the other hand, verification by simulation or the like is usually performed for some verification purpose, and the verification accuracy required depending on the verification purpose differs. Here, the verification accuracy refers to both temporal accuracy and the range (spatial accuracy) of the circuit to be verified.
通常、ソフトウェアの検証や、概略設計段階の論理回路の検証においては、クロックレベルの時間的精度や、全レジスタを検証範囲とするような空間的精度は不要である。 Normally, in the verification of software and the verification of the logic circuit in the schematic design stage, the temporal accuracy of the clock level and the spatial accuracy that covers all registers as the verification range are unnecessary.
そこで、検証目的から必要とされる検証精度を記述した制約モデルを明定し、この制約モデルの制約の下で第1の論理回路動作モデル50を縮小変換し、第2の論理回路動作モデル60を生成し、この第2の論理回路動作モデル60を用いてシミュレーション等の検証を行う。これによって、短時間でかつ検証目的に応じた検証精度でシステムを評価することができる。
Therefore, a constraint model describing the verification accuracy required for the purpose of verification is defined, the first logic
本発明に係る論理回路動作モデル生成装置および論理回路動作モデル生成方法は、論理回路RTLモデル100と外部動作モデル110とから第1の論理回路動作モデル50を自動的に生成し、さらに第2の論理回路動作モデル60へ自動的に縮小変換するものである。
The logic circuit operation model generation apparatus and the logic circuit operation model generation method according to the present invention automatically generate the first logic
図2は、本発明に係る論理回路動作モデル生成装置1の実施形態の構成例を示す図である。
FIG. 2 is a diagram showing a configuration example of an embodiment of the logic circuit behavior
論理回路動作モデル生成装置1は、論理回路RTLモデル100と外部動作モデル110とから第1の論理回路動作モデル50を生成する生成部2と、制約モデル120の制約の下で生成した第1の論理回路動作モデル50を縮小変換し、第2の論理回路動作モデル60を生成する変換部3とを備えて構成される。
The logic circuit operation
変換部3は、第1の論理回路動作モデル50の内部の各節点(命令や変数を表す点)に対して制約モデル120の制約の下で「評価記号」を求め、評価記号表を生成する記号評価部30と、所定の方法の縮小変換が可能か否かを評価記号表に基づいて判定し、縮小変換表を生成する縮小変換判定部31と、縮小変換表に基づいて第1の論理回路動作モデル50から第2の論理回路動作モデル60へ縮小変換するとともに所定の解析結果を出力する更新部32とを備えて構成される。
The
(2)論理回路動作モデル生成装置1の動作
図3は、論理回路動作モデル生成装置1の基本動作の流れを示すフローチャートである。
(2) Operation of Logic Circuit Operation
ステップST1では、論理回路RTLモデル100と外部動作モデル110とから第1の論理回路動作モデル50を生成する。
In step ST1, a first logic
ステップST2では、第1の論理回路動作モデル50(又は縮小変換中の第2の論理回路動作モデル60)の記述上の各箇所(各節点)について、予め定めてある記号評価規則と制約モデル120とに基づいて「評価記号」を求め、評価記号表を生成する。
In step ST2, a symbol evaluation rule and a
次に、ステップST3では、第1の論理回路動作モデル50(又は縮小変換中の第2の論理回路動作モデル60)と評価記号表を参照し、予め定めてある縮小変換判定基準に基づいて縮小変換が可能か否かを判定し、第1の論理回路動作モデル50(又は縮小変換中の第2の論理回路動作モデル60)の記述上の各箇所(各節点)について縮小変換の可否を記載した縮小変換表を生成する。また、本ステップで解析結果報告を生成する形態としてもよい。
Next, in step ST3, the first logic circuit operation model 50 (or the second logic
ステップST4では、縮小変換表に縮小変換が可能な箇所があるか否かを判定する。縮小変換が可能な箇所がある場合には、ステップST5へ進む。 In step ST4, it is determined whether or not there is a place where the reduction conversion is possible in the reduction conversion table. If there is a place where reduction conversion is possible, the process proceeds to step ST5.
ステップST5では、縮小変換表の内容に従って第1の論理回路動作モデル50(又は縮小変換中の第2の論理回路動作モデル60)を縮小変換し、第2の論理回路動作モデル60を生成する。また、縮小変換が完了した部位は縮小変換表から削除する。
In step ST5, the first logic circuit operation model 50 (or the second logic
ステップST5における縮小変換によって第2の論理回路動作モデル60はその記述上の構造の一部が変更される。このため、再度ステップST2に戻って、変更された構造に基づいて再度各箇所の評価記号表を生成する形態としている。
Part of the description structure of the second logic
ステップST4において、縮小変換可能な箇所が無いと判定されるまで、ステップST2からステップST5を繰り返す。 Step ST2 to step ST5 are repeated until it is determined in step ST4 that there is no portion that can be reduced and converted.
縮小変換可能な箇所が無くなった時点で、最終的な第2の論理回路動作モデル60が生成される。
When there is no place where reduction conversion is possible, the final second logic
なお、縮小変換処理に時間を要するような場合には、外部からの操作によって、ステップST3が終了した時点で中断可能な形態としてもよい。 When time is required for the reduction conversion process, it may be configured to be interrupted when step ST3 is completed by an external operation.
中断した後、解析結果報告等を設計者が分析した結果、制約モデル120に適宜の修正を加えることによってさらに縮小が可能であると判断される場合もある。このような場合には、制約モデル120に修正を加えた後、ステップST2から再開する形態としてもよい。
After the interruption, as a result of the analysis of the analysis result report or the like by the designer, it may be determined that further reduction is possible by making an appropriate correction to the
上記の各ステップについて、具体例を示しつつ以下に詳細に説明する。 Each of the above steps will be described in detail below with specific examples.
(3)各モデルの概要
第1の論理回路動作モデル50は、論理回路RTLモデル100および外部動作モデル110を入力として生成される。そこで、まず論理回路RTLモデル100および外部動作モデル110について、具体的な回路を例にとって説明する。併せて、制約モデル120についても説明する。
(3) Outline of Each Model The first logic
以下の説明では、論理回路の具体例として、非同期リセット付8ビットカウンタ回路を例として取り上げる(図1では、大規模論理回路200に相当する部分である)。
In the following description, an 8-bit counter circuit with asynchronous reset is taken as an example of a logic circuit (a part corresponding to the large-
図4は、非同期リセット付8ビットカウンタ回路101(以下、単にカウンタ回路101と言う。)の構成を示したものである。カウンタ回路101は、バスに接続されており、バス入力102として、WRIO(書込み指示)、RDIO(読出し指示)、CS(チップセレクト)、AB(アドレスバス)、及びIOBUSI(バス入力データ)を有している。また、バス出力103として、IOBUSO(バス出力データ)を有している。
FIG. 4 shows the configuration of an 8-
カウンタ回路101の内部は、論理回路A、B、およびCを有するほか、レジスタとして、IOBUSOレジスタ、CONTROLレジスタ、COUNTレジスタ等を有している。
The
カウンタ回路101の基本的な動作は、RESET信号がH(「1」)の場合は、CLK信号の立ち上がりで順次カウントアップし、RESET信号がL(「0」)に立ち下がるとゼロリセットするという単純なものである。
The basic operation of the
バスを介してRDIO(読出し指示)がカウンタ回路101に入力されると、その時のAB(アドレスバス)の値に応じて、カウント値が格納されているCOUNTレジスタの値か、内部状態のデータが格納されているCONTROLレジスタの値のいずれかを出力するように構成されている。
When RDIO (read instruction) is input to the
図4の構成および動作が、論理回路RTLモデル100として記述されることになる。
The configuration and operation of FIG. 4 are described as the logic
図5は、カウンタ回路101へ入出力される上記のバス入力102、バス出力103、およびCLK信号とRESET信号のタイミング関係を示す図である。
FIG. 5 is a diagram showing the timing relationship between the
図5の最上段に示している「data」が、バスを介して外部のシステム(図1では、論理回路210又はマイクロプロセッサ220に相当する部分)と授受するデータである。
“Data” shown at the top of FIG. 5 is data exchanged with an external system (a portion corresponding to the
図5に示したタイミング関係が、後述するように外部動作モデル110として記述されることになる。
The timing relationship shown in FIG. 5 is described as the
図6は、検証目的等から定めた制約を、図5と同じタイミング図上に付記したものである。第1の制約(制約1)として、時刻0においては、CLK信号は「0」、RESET信号は「H」、WRIO(書込み指示)は「L」に「確定」し、その他の信号は「不定」であることを規定している。
FIG. 6 shows the constraints determined from the verification purpose and the like on the same timing diagram as FIG. As the first constraint (constraint 1), at
第1の制約(制約1)において、「確定」又は「不定」の区分はシステム仕様に依存するが、「確定」させることができる範囲が多いほど、第1の論理回路動作モデル50から第2の論理回路動作モデル60への縮小変換の規模を大きくすることが可能となり、結果的には検証時間(シミュレーション時間)が短縮される。
In the first constraint (constraint 1), the category of “determined” or “undefined” depends on the system specifications, but the more the range that can be “determined”, the more the first logic
第2の制約(制約2)として、観測時刻と観測信号の対象を規定している。本例では、観測時刻としては時刻0と時刻3のみであり、観測信号の対象は、CLK信号とRESET信号を除く総ての信号(図6に星印で示した点)であることを規定している。
As a second constraint (constraint 2), the observation time and the target of the observation signal are defined. In this example, the observation time is only
時刻の規定は、CLK信号の立ち上がりの直前で規定しており、時刻はCLK信号の立ち上がり毎に進んでいく。 The time is defined immediately before the rising edge of the CLK signal, and the time advances at every rising edge of the CLK signal.
検証目的に応じて観測時刻の範囲や観測信号を限定(制約)することで、検証時間(シミュレーション時間)が短縮される。ただし、検証時間(シミュレーション時間)の短縮は、CLK信号を部分的に抽出することで実現されるものであり、各観測時刻の精度はCLK信号の精度を保持したものとなっている。図6に示した制約は、制約モデル120に記述されることになる。
By limiting (constraining) the range of observation time and the observation signal according to the verification purpose, the verification time (simulation time) is shortened. However, the shortening of the verification time (simulation time) is realized by partially extracting the CLK signal, and the accuracy of each observation time maintains the accuracy of the CLK signal. The constraints shown in FIG. 6 are described in the
なお、図6に示した例では、検証に必要な時刻の特定と論理回路上の構成要素の特定との双方を特定しているが、いずれか一方のみを特定する形態としてもよい。 In the example shown in FIG. 6, both the specification of the time required for verification and the specification of the components on the logic circuit are specified, but only one of them may be specified.
図7は、図4に示したカウンタ回路101をハードウェア記述言語で記述した論理回路RTLモデル100である。ハードウェア記述言語としては、Verilog-HDLを用いている。また記述レベルは、論理合成可能なレベル、即ちレジスタ・トランスファ・レベル(RTL)である。
FIG. 7 shows a logic
本例の論理回路RTLモデル100は、大きくは5つのブロックから構成されている。ブロック0は、カウンタ回路101の入出力ポート(バス入力102、バス出力103)や内部レジスタの定義をしている部分である。
The logic
ブロック1は、内部レジスタの値をバス出力103(IOBUSO)へ出力する動作を記述している。ブロック2は、内部レジスタの設定・更新に関する動作を記述している。
ブロック3およびブロック4が実際にCLK信号の立ち上がりでカウンタをカウントアップする動作を記述している。
図8は、図7のうち、ブロック1の記述部分のみを抽出したものである。
FIG. 8 shows only the description part of
1行目はコメント文である。2行目は、always文と呼ばれるもので、カッコ内のレジスタの値がひとつでも変化した場合には常にalways文以下の処理を実行せよ、と言う意味を持っている。 The first line is a comment sentence. The second line is called an always statement, which means that if any register value in the parentheses changes, always execute the processing below the always statement.
3行目以下は、「IOBUSO」レジスタへの代入命令と条件(内部レジスタの値による論理条件)を示している。 The third and subsequent lines show an assignment instruction to the “IOBUSO” register and a condition (logical condition based on the value of the internal register).
具体的には、CS=1、RDIO=1、WRIO=0、AB=8(ヘキサ)のときには、「CONTROL」Lレジスタの内容を「IOBUSO」レジスタへ代入せよ、また、CS=1、RDIO=1、WRIO=0、AB=A(ヘキサ)のときには、「COUNT」レジスタの内容を「IOBUSO」レジスタへ代入せよ、それ以外のときは、「IOBUSO」レジスタへ「Z(ヘキサ)」(ハイインピーダンスを意味する)を設定せよ、と言う処理を示している。 Specifically, when CS = 1, RDIO = 1, WRIO = 0, and AB = 8 (hexa), substitute the contents of the “CONTROL” L register into the “IOBUSO” register, and CS = 1, RDIO = 1. When WRIO = 0 and AB = A (hexa), assign the contents of the “COUNT” register to the “IOBUSO” register; otherwise, “Z (hexa)” (high impedance) This means the process of setting (meaning).
図9は、図5に示した各信号のタイミング図を外部動作モデル110として記述したものである。外部動作モデル110もVerilog-HDLで記述している。
FIG. 9 describes the timing diagram of each signal shown in FIG. 5 as the
図9において、記号「#」は遅延を意味しており、例えば「#10」は10単位だけ時刻を遅延することを意味している。従って、7行目から20行目にわたって、時刻単位の10毎にCLK信号を立ち上げ(CLK=1)、また立ち下げ(CLK=0)るというクロックの動作が記述されている。この他、CSやRDIOの立上がりや立下りのタイミングも図5に対応して記述されている。 In FIG. 9, the symbol “#” means delay, for example, “# 10” means that the time is delayed by 10 units. Therefore, from the 7th line to the 20th line, the clock operation of rising (CLK = 1) and falling (CLK = 0) the CLK signal every 10 time units is described. In addition, the rise and fall timings of CS and RDIO are also described corresponding to FIG.
(4)第1の論理回路動作モデル50の生成(ステップ1)
第1の論理回路動作モデル50を生成する第1段階として、Verilog-HDLで記述されたモデルを「グラフ」で記述したモデルに変換する。
(4) Generation of first logic circuit operation model 50 (step 1)
As a first step of generating the first logic
なお、一般にグラフ理論等によれば、「グラフ」と隣接行列若しくは辺リストとは相互に変換可能である。従って、第1の論理回路動作モデル50を隣接行列若しくは辺リストの態様で生成する形態としてもよい。
In general, according to graph theory or the like, a “graph” and an adjacency matrix or an edge list can be converted into each other. Therefore, the first logic
以下の説明では、第1の論理回路動作モデル50を「グラフ」で記述したモデルに変換する場合を例として説明する。
In the following description, a case where the first logic
図11は、Verilog-HDLで記述されたカウンタ回路101のブロック1の部分(図8に相当する部分)を「グラフ」記述に変換したものである。
FIG. 11 is obtained by converting the
「グラフ」記述の第1の論理回路動作モデル50(以下、単に第1の論理回路動作モデル50という。)は、複数種の節点と、各節点を結ぶ矢印(枝)とで構成されている。
The first logic
節点は、手続を示す命令(「wait」、「load」、「store」、「equal」、「select」等)を含む箱状の節点(符号301等)、命令が使用し或いは生成する値(r03等)を表す8角形の節点(符号303等)、時刻を示す変数(c0001等)および分岐状態を表す丸状の節点(符号302等)等によって構成されている。また、箱状の節点は、レジスタを含む記憶場所を表す変数(「CONTROL」、「COUNT」、「CS」、「AB」、「RDIO」等)を含んでいる。
A node is a box-like node (
図11のグラフ記述は、図8のVerilog-HDLによる記述に一意に対応したものである。 The graph description in FIG. 11 uniquely corresponds to the description in Verilog-HDL in FIG.
例えば、符号301に示す手続は、「CONTROL」、「COUNT」、「CS」、「AB」、「RDIO」、「WRIO」の各レジスタの内容が変化するまで待て、というもので、図8の2行目のalways文に対応するものである。各レジスタの内容が変化した場合には、各レジスタに記憶されている値をそれぞれ読み込む(図11のAで示す範囲の処理)。
For example, the procedure indicated by
次に、「CS」、「AB」、「RDIO」、「WRIO」の各レジスタの内容から論理演算を行って、図8のif文(3行目、5行目)の条件判定を行っている(図11のBで示す範囲の処理)。判定した条件に応じて、符号306の手続によって「CONTROL」、「COUNT」、および「z(ヘキサ)」の中から一つを選択する。選択された値は符号307の手続によって「IOBUSO」レジスタに書き込まれる。
Next, logical operation is performed from the contents of each register of “CS”, “AB”, “RDIO”, “WRIO”, and the condition of the if statement (3rd line, 5th line) in FIG. 8 is determined. (Processing in the range indicated by B in FIG. 11). Depending on the determined condition, one of “CONTROL”, “COUNT”, and “z (hexa)” is selected by the procedure of
符号301から符号308までの一連の処理は、各クロックごとに繰り返されることになる。この繰り返しは、符号309のcall文による末尾再帰の形態で行われる。
A series of processing from
ブロック2乃至ブロック3の処理も同様にして、「グラフ」記述に変換される。また、Verilog-HDLで記述された外部動作モデル110(図9)も同様に「グラフ」記述に変換される。
The processing of
図12は、コールグラフと呼ばれる図であり、「グラフ」記述された論理回路RTLモデル100のブロック1からブロック4の各ブロックと外部動作モデル110とを呼び出して統合させる手順を表現している。
FIG. 12 is a diagram called a call graph, which expresses a procedure for calling and integrating the
コールグラフでは、ブロック間の統合を行うと共に、時間軸方向への展開を行っている。ブロック1からブロック4までのブロックは、いずれもalways文でクロック毎に繰り返し実行される形態となっている。そこで、コールグラフによるブロックの統合は、クロック毎に各ブロックを複製して、時間軸方向に順次結合して展開している。
In the call graph, integration between blocks is performed and development in the time axis direction is performed. All of the blocks from
時間軸方向への展開は、制約モデル120で記述された観測時刻の範囲まで展開する。本例では、図6で示したように、時刻0と時刻3を観測時刻と規定している。従って、時刻0から時刻3までの間にある3クロック分の範囲まで展開すれば十分である。
Expansion in the time axis direction is expanded up to the observation time range described by the
このように各ブロックの処理を時間軸方向に展開することによって、クロック毎に変化する内部状態(レジスタ等の値の変化)を正確に一意に表現することが可能となる。 As described above, by expanding the processing of each block in the time axis direction, it is possible to accurately and uniquely represent the internal state (change in the value of a register or the like) that changes every clock.
他方、制約モデル120によって観測時刻を規定することによって、検証に必要となる最小限の範囲に時間軸方向の展開を制限することができる。
On the other hand, by defining the observation time with the
図13は、コールグラフに従って統合した最終形態の第1の論理回路動作モデル50を示した図である。図13では、外部動作モデル110と、3クロック分の範囲で時間軸方向に展開されたブロック1からブロック4の処理が「グラフ」記述されている。
FIG. 13 is a diagram showing the first logic
なお、「書込み待ち」と記されているラインは、クロック毎にレジスタにデータが書き込まれてその内容が変化することを待って次の処理を進めること(書込み待ち)に対応するものである。 The line marked “Waiting for writing” corresponds to waiting for the data to be written to the register at every clock and changing its contents before proceeding to the next processing (waiting for writing).
(5)評価記号表の生成(ステップ2)
次に、統合された最終形態の第1の論理回路動作モデル50の各節点において、予め定められている記号評価規則と制約モデル120に基づいて、「評価記号」をもとめ、各節点と「評価記号」とを対応付けた評価記号表を生成する。
(5) Generation of evaluation symbol table (step 2)
Next, at each node of the integrated first logic
ここで、記号評価規則とは、算術演算規則や論理演算規則等の一般的な規則や、「時刻が不明(未確定)な状態で読み込まれた値は不定とする」といった規則である。また、「評価記号」とは、定数や不定値のことをいう。 Here, the symbol evaluation rule is a general rule such as an arithmetic operation rule or a logical operation rule, or a rule such that “a value read when the time is unknown (undefined) is undefined”. The “evaluation symbol” refers to a constant or an indefinite value.
図14および図15の例を用いて説明する。 This will be described with reference to the examples of FIGS.
図14の符号401の手続は、時刻0(c0000)においてCLK信号を読込む手続を示している。また、符号402および403は、時刻0(c0000)においてRESET信号を読込む手続を示している。
The procedure denoted by
制約モデル120(図6参照)では、時刻0においては、CLK=0、RESET=1と規定されている。従って、読込んだCLKの値は0(定数)に確定している(CLK=0)。そこで、r01_14には、評価記号として定数「0」を割り付けて評価記号表に書き込む。
In the constraint model 120 (see FIG. 6), at
同様に、r02_14は、時刻0におけるRESETは1(定数)に確定しているため、評価記号として定数「1」を割り付けて評価記号表に書き込む。
Similarly, since RESET at
一方、符号408において読込まれるCLKの値は、読み込み時刻が不明なため、(符号403のウェイト命令により、非同期なRESET信号が0にセットされる時刻に依存する)「時刻が不明(未確定)な状態で読み込まれた値は不定とする」の規則により、評価記号としては、「不定」となる。 On the other hand, since the read time of the CLK value read at 408 is unknown (depending on the time at which the asynchronous RESET signal is set to 0 by the wait instruction at 403), the time is unknown (indeterminate ), The evaluation symbol is “undefined”.
また、符号406と符号407では、いずれも定数同士の論理演算となり、その結果も定数として一意に定まる。図14に示したように、即ち、r05_14には1(定数)が、またr07_14にも1(定数)がそれぞれ評価記号として割り付けられる。
In addition, the
このようにして、統合した最終形態の第1の論理回路動作モデル50の各節点における評価対象変数に対して評価記号を求めてゆき、図15に例示したような評価記号表を生成することができる。
In this way, evaluation symbols are obtained for the evaluation target variables at the respective nodes of the integrated first logic
なお、上述の説明では、定数や不定値を評価記号として取り扱い、これらの組み合わせを算術演算や論理演算等の記号評価規則に基づいて評価記号を求めている。 In the above description, constants and indefinite values are treated as evaluation symbols, and combinations of these are obtained as evaluation symbols based on symbol evaluation rules such as arithmetic operations and logical operations.
この他、定数や不定値の評価記号に加えて、一次式、範囲式、および論理式の少なくとも1つを評価記号として取り扱い、これらの組合せを記号評価規則に基づいて評価記号を求める形態としてもよい。 In addition to constant and indefinite value evaluation symbols, at least one of a primary expression, a range expression, and a logical expression is treated as an evaluation symbol, and a combination of these is obtained as an evaluation symbol based on a symbol evaluation rule. Good.
(6)第1の論理回路動作モデル50に対する縮小変換判定(ステップST3)
ステップST3では、記号評価規則を参照しつつ、所定の縮小変換方法毎に、第1の論理回路動作モデル50において縮小変換の可能性のある部位を検出し、さらに実際に縮小変換が可能か否かを判定していく。
(6) Reduction conversion determination for the first logic circuit operation model 50 (step ST3)
In step ST3, with reference to the symbol evaluation rule, for each predetermined reduction conversion method, a portion that is likely to be reduced conversion is detected in the first logic
本実施形態では、読込み命令と書込み命令との短絡、書込み待ち命令と書込み命令との短絡、定数値の畳み込み、および確定した条件分岐命令の除去、の4種類の縮小変換を行う形態としている。 In the present embodiment, four types of reduction conversion are performed: short-circuit between a read instruction and a write instruction, short-circuit between a write wait instruction and a write instruction, convolution of a constant value, and removal of a fixed conditional branch instruction.
図16は、読込み命令と書込み命令との短絡についての可能性判定を示す図である。この判定の対象は、読込み命令(load命令)である。判定基準としては、対象とする読込み命令で読み込むレジスタと同一のレジスタに書き込む書込み命令が、対象とする読込み命令の無条件かつ直近の過去に存在することである。この判定基準を満たす読込み命令と書込み命令とは短絡可能と判定する。 FIG. 16 is a diagram illustrating possibility determination regarding a short circuit between a read instruction and a write instruction. The object of this determination is a read command (load command). As a determination criterion, a write command for writing to the same register as the register read by the target read command exists unconditionally and in the latest past of the target read command. It is determined that a read command and a write command that satisfy this criterion can be short-circuited.
対象とするレジスタが同一であり、読込み命令の無条件かつ直近に書き込み命令がある場合は、これらを短絡したとしても観測時空間(観測時刻や観測対象ポイント)に影響を与えない。したがって、検証精度を劣化させることなく第1の論理回路動作モデル50を縮小変換(短絡)することが可能となる。
If the target register is the same and there is an unconditional read command and a write command is present immediately, even if they are short-circuited, the observation space-time (observation time and observation target point) is not affected. Therefore, the first logic
図16の例では、判定対象となる読込み命令(load:60)は、「RUN」レジスタの内容を読み込む命令である。読込み命令(load:60)と書込み命令(store:514)とは、同一のレジスタ、即ち「RUN」レジスタを対象としており、書込み命令(store:514)は、読込み命令(load:60)の無条件かつ直近の過去という条件に合致する。この結果、読込み命令(load:60)と書込み命令(store:514)とは、短絡可能と判定する。 In the example of FIG. 16, the read instruction (load: 60) to be determined is an instruction for reading the contents of the “RUN” register. The read command (load: 60) and the write command (store: 514) are directed to the same register, that is, the “RUN” register, and the write command (store: 514) is the same as the read command (load: 60). It meets the conditions of the condition and the latest past. As a result, it is determined that the read command (load: 60) and the write command (store: 514) can be short-circuited.
図17は、書込み待ち命令(wait命令)と書込み命令(store命令)との短絡についての可能性判定を示す図である。この判定の対象は、書込み待ち命令(wait命令)である。書込み待ち命令(wait命令)は1つ或いは複数の対象とするレジスタの内容をモニタし、対象レジスタの内容が変化しない限り待ちつづけ、変化したときに限り次へ(矢印の先の処理へ)進む命令である。 FIG. 17 is a diagram illustrating a possibility determination regarding a short circuit between a write wait instruction (wait instruction) and a write instruction (store instruction). The object of this determination is a write wait instruction (wait instruction). The write wait instruction (wait instruction) monitors the contents of one or more target registers and continues to wait as long as the contents of the target register do not change. It is an instruction.
書込み待ち命令と書込み命令との短絡可否の判定基準は、対象とするレジスタが同一であり、かつ対象とする書込み待ち命令に対して無条件かつ直近の未来に書込み命令がある場合である。この場合も、書込み待ち命令と書込み命令とを短絡しても観測時空間に影響を与えない。したがって、検証精度を劣化させることなく第1の論理回路動作モデル50を縮小変換(短絡)することが可能となる。
The criterion for determining whether or not the write wait instruction and the write instruction are short-circuited is the case where the target register is the same, and the write instruction is unconditionally in the immediate future with respect to the target write wait instruction. Also in this case, even if the write wait command and the write command are short-circuited, the observation time space is not affected. Therefore, the first logic
図17の例では、判定対象となる書込み待ち命令(wait:129)は、「CS」、「RDIO」、「WRIO」、「AB」、「CONTROL」、および「COUNT」の各レジスタへの書込みの有無を待っている。そこで、「CS」、「RDIO」、「WRIO」、「AB」、「CONTROL」、および「COUNT」のいずれかのレジスタに対する書込み命令(store命令)を探索する。図17の例では、store:518が「COUNT」レジスタに値r05_13を書き込む命令であり、store:516が「CONTROL」レジスタに値r04_13を書き込む命令となっている。したがってこれらの書込み命令が短絡候補ということになる。次に、これらの短絡候補となった書込み命令が、書込み待ち命令(wait:129)の無条件かつ直近の未来に位置するか否かを矢印(枝)で示されるパスを辿って判定する。無条件かつ直近の未来に位置すると判定されると、その書込み命令と書込み待ち命令は短絡可能と判定される。 In the example of FIG. 17, the write wait instruction (wait: 129) to be determined is writing to the “CS”, “RDIO”, “WRIO”, “AB”, “CONTROL”, and “COUNT” registers. Waiting for the presence or absence. Therefore, a write instruction (store instruction) for any of the registers “CS”, “RDIO”, “WRIO”, “AB”, “CONTROL”, and “COUNT” is searched. In the example of FIG. 17, store: 518 is an instruction for writing the value r05_13 into the “COUNT” register, and store: 516 is an instruction for writing the value r04_13 into the “CONTROL” register. Therefore, these write commands are short-circuit candidates. Next, it is determined by following the path indicated by the arrow (branch) whether or not these write commands that are short-circuit candidates are located in the unconditional and most recent future of the write wait command (wait: 129). If it is determined that it is unconditionally located in the immediate future, it is determined that the write command and the write wait command can be short-circuited.
図18は、定数の畳み込みについて説明する図である。 FIG. 18 is a diagram illustrating constant convolution.
ステップST2において、論理回路RTLモデル100の各節点について評価記号を求めた。所定の領域において、総て評価記号が定数である場合には、定数同士の手続きの結果も定数となる。従って、その領域の手続きを総てまとめて1つあるいは複数の定数として代表させることが可能となる。この処理を定数の畳み込みと呼んでいる。
In step ST2, an evaluation symbol is obtained for each node of the logic
図18において、実線で囲まれた領域は、複数の論理演算命令やその入力、出力の変数を節点として構成されているが、制約モデル120の条件等から総ての変数の評価記号が定数であるとされている。
In FIG. 18, the area surrounded by a solid line is configured with a plurality of logical operation instructions and their input and output variables as nodes, but the evaluation symbols for all variables are constants based on the conditions of the
この結果、実線で囲まれた領域は、最終的にはひとつの定数に畳み込むことが可能となる。この実線で囲まれた領域の定数を畳み込んだとしても観測時空間に影響を与えない。したがって、検証精度を劣化させることなく第1の論理回路動作モデル50を縮小変換(短絡)することが可能となる。
As a result, the area surrounded by the solid line can be finally folded into one constant. Even if the constants in the area surrounded by the solid line are convolved, the observation space-time is not affected. Therefore, the first logic
図19は、確定した分岐条件の分岐命令(branch命令)の除去について説明する図である。分岐命令の分岐条件をしめす変数の評価記号が定数である場合は、分岐命令の分岐先は一意に確定される。従って、この場合には、分岐命令を除去し、分岐命令の直前の手続きと分岐命令の直後の手続きとを直接短絡させても観測時空間に影響を与えず、検証精度を劣化させること無く第1の論理回路動作モデル50を縮小変換(短絡)することが可能となる。
FIG. 19 is a diagram for explaining the removal of a branch instruction (branch instruction) with a determined branch condition. When the evaluation symbol of the variable indicating the branch condition of the branch instruction is a constant, the branch destination of the branch instruction is uniquely determined. Therefore, in this case, even if the branch instruction is removed and the procedure immediately before the branch instruction and the procedure immediately after the branch instruction are directly short-circuited, the observation space-time is not affected and the verification accuracy is not degraded. One logic
図19の例では、分岐命令branch:87の条件を決める変数r11_14の評価記号が定数と評価されている。この結果、分岐命令branch:87を除去することが可能となる。 In the example of FIG. 19, the evaluation symbol of the variable r11_14 that determines the condition of the branch instruction branch: 87 is evaluated as a constant. As a result, the branch instruction branch 87 can be removed.
(7)縮小変換の実行(ステップST5)
ステップST5では、ステップST3で縮小変換が可能と判断された部位に対して、実際に縮小変換を行う。具体的には、読込み命令と書込み命令との短絡、書込み待ち命令と書込み命令との短絡、定数値の畳み込み、および確定した条件分岐命令の除去、の4種類の縮小変換を行う。また、短絡、畳み込み等で不要となった記述を除去する。
(7) Execution of reduction conversion (step ST5)
In step ST5, the reduction conversion is actually performed on the part determined to be reduction conversion in step ST3. Specifically, four types of reduction conversion are performed: a short-circuit between a read instruction and a write instruction, a short-circuit between a write wait instruction and a write instruction, convolution of a constant value, and removal of a fixed conditional branch instruction. It also removes descriptions that are no longer needed due to short circuits, convolutions, etc.
図20は、第1の論理回路動作モデル50(図13に示したグラフ記述されたモデル:縮小変換前)と縮小変換後のモデル、即ち、第2の論理回路動作モデル60を示すものである。
FIG. 20 shows the first logic circuit operation model 50 (the model described in the graph shown in FIG. 13: before the reduction conversion) and the model after the reduction conversion, that is, the second logic
縮小変換前の記述では、クロックサイクルの精度で記述されており、337の命令を含んでいる。これに対して、縮小変換後の記述は、トランザクションレベルの精度、即ち、バスを介しての外部からの読込み指示のタイミングでの精度で記述されたものとなっており、合計で134の命令数に縮小変換されている。 The description before the reduction conversion is described with the accuracy of the clock cycle and includes 337 instructions. On the other hand, the description after the reduction conversion is described with the accuracy at the transaction level, that is, the accuracy at the timing of the external read instruction via the bus, and the total number of instructions is 134. Has been reduced to
縮小変換後の第2の論理回路動作モデル60では、縮小変換前の第1の論理回路動作モデル50に対して、60.3%の命令が除去されている。
In the second logic
シミュレーション等による検証は、縮小変換された第2の論理回路動作モデル60に基づいて行われる。一般に、シミュレーション等の実行時間はモデルに含まれる命令数と強い相関関係をもつことが示されている。従って、命令数の削減によってシミュレーション等の時間を短縮することが可能となる。
Verification by simulation or the like is performed based on the second logic
(8)解析結果報告
図21は、縮小変換された第2の論理回路動作モデル60に対する解析結果の報告例を示す図である。
(8) Analysis Result Report FIG. 21 is a diagram illustrating a report example of an analysis result for the second logic
3つの読込み命令(load:213、load:96、load:716)に対して「短絡候補なし」と報告している。各読込み命令に対して、それぞれ「COUNT」レジスタ、「CONTROL」レジスタ、「RUN_next」レジスタに値を書き込む書込み命令が存在しなかったか、存在したとしてもそれが無条件かつ直近の過去に存在しなかったことを意味している。 It is reported that there is no short circuit candidate for three read instructions (load: 213, load: 96, load: 716). For each read instruction, there was no write instruction that writes values to the "COUNT" register, "CONTROL" register, and "RUN_next" register, or even if it existed, it did not exist unconditionally in the last past It means that.
また、変数r03_13で示されている節点からは多数の枝が出ている。これは、変数r03_13が多数参照されており、影響範囲が広いことを示している。変数r03_13は、「RUN_next」レジスタの値を読込んだ値である。 A large number of branches come out from the node indicated by the variable r03_13. This indicates that a large number of variables r03_13 are referenced and the influence range is wide. The variable r03_13 is a value obtained by reading the value of the “RUN_next” register.
3つの読込み命令が「短絡候補なし」となり、また、変数r03_13が広い影響範囲をもって残存している理由は、「COUNT」レジスタ、「CONTROL」レジスタ、「RUN_next」レジスタに対して、外部動作モデル110や制約モデル120において、これらの各レジスタに対して具体的に規定していないため、各レジスタの値を不定値として取り扱ったことに起因している。
The reason why the three read instructions are “no short-circuit candidates” and the variable r03_13 remains with a wide influence range is that the
この解析結果報告を受け取ったモデル作成者が、例えば、「RUN_next」レジスタの値が0(定数)であることが保証されることを何らかの方法で確認し、制約モデル120に時刻0において「RUN_next」レジスタの値が0(定数)であるとの記述を追加することで、縮小変換可能な範囲を増加させることができる。この結果、第2の論理回路動作モデル60の規模をさらに縮小変換することが可能となる。
The model creator who has received this analysis result report, for example, confirms that the value of the “RUN_next” register is guaranteed to be 0 (constant) by some method, and checks the
本実施形態に係る論理回路動作モデル生成装置1および論理回路動作モデル生成方法によれば、制約モデル120で規定した時間的精度(観測時刻)と空間的精度(観測対象とするレジスタ等の範囲)を一貫して保持するように縮小変換している。この結果、生成した第2の論理回路動作モデル60の精度は、クロック毎に内部レジスタの内容を記述した第1の論理回路動作モデル50の精度を劣化させないことが保証されている。
According to the logic circuit behavior
また、本実施形態に係る論理回路動作モデル生成装置1および論理回路動作モデル生成方法によれば、制約モデル120で規定した時間的精度、空間的精度が保証された形態で第2の論理回路動作モデル60へ縮小変換している。カウンタ回路101に係る具体例では、命令数が337から134に削減されている。この結果、縮小変換されたモデルでのシミュレーション時間を大幅に短縮することが可能となる。
Further, according to the logic circuit operation
さらに、第2の論理回路動作モデル60の生成は、論理回路RTLモデル100、外部動作モデル110、および制約モデル120のみから自動的に生成することができる。
Furthermore, the generation of the second logic
この結果、論理回路RTLモデル100が既に存在する場合には、一般的に規模の大きな論理回路RTLモデル100の詳細な構造や内部状態に関する知識をモデル作成者(第2の論理回路動作モデル60の作成者)が知らない場合であっても、外部動作に関する知識と検証に必要な知識があれば外部動作モデル110と制約モデル120を生成することによって、自動的に第2の論理回路動作モデル60が生成される。
As a result, when the logic
このため、第2の論理回路動作モデル60の生成に係る工数を大幅に削減することができる。
For this reason, the man-hour concerning the production | generation of the 2nd logic circuit operation |
さらに、本実施形態に係る論理回路動作モデル生成装置1および論理回路動作モデル生成方法によれば、制約モデル120に記述を追加する等によって、過去に作成した論理回路動作モデルからより効率の高い論理回路動作モデルを生成することができる。このため、過去の改良結果を積み重ねて利用することも可能であり、改良に関する時間を削減することが可能である。
Furthermore, according to the logic circuit operation
また、解析結果報告には、影響範囲の広い箇所が明示される。そこで、影響範囲の広いものから優先的に、例えば、不定であった条件を具体的に特定できるか否かを論理回路設計者に問い合わせて確認することもできる。このように、条件特定のための調査にかかる工数も削減することができる。 In the analysis result report, the area with a wide influence range is clearly indicated. Therefore, it is also possible to check with a logic circuit designer whether or not the condition that has been indefinite can be specifically specified, for example, in a priority order from the one having a wide influence range. In this way, the number of man-hours required for investigation for specifying conditions can be reduced.
なお、本発明は上記の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。 Note that the present invention is not limited to the above-described embodiments as they are, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, the constituent elements over different embodiments may be appropriately combined.
1 論理回路動作モデル生成装置
2 生成部
3 変換部
30 記号評価部
31 縮小変換判定部
32 更新部
50 第1の論理回路動作モデル
60 第2の論理回路動作モデル
70 解析結果
100 論理回路RTLモデル
110 外部動作モデル
120 制約モデル
DESCRIPTION OF
Claims (30)
検証目的に応じた検証精度が記述された制約モデルを入力し、前記制約モデルに基づいて前記検証精度を保証する範囲で前記第1の論理回路動作モデルの規模を縮小変換し、第2の論理回路動作モデルを生成する変換部と、を備え、
前記生成部は、
手続を表す命令、前記命令が使用し或いは生成する値を表す変数、時刻及び分岐状態を表す変数、及びレジスタを含む記憶要素の記憶場所を表す変数を節点とし、前記命令及び前記各変数の使用関係或いは代入関係を示すように前記節点の間を結ぶ矢線を枝とするグラフを記述可能な第1の論理回路動作モデル、又は前記グラフと相互に変換可能な隣接行列若しくは辺リストで記述された第1の論理回路動作モデルを生成する、
ことを特徴とする論理回路動作モデル生成装置。 The logic circuit RTL model describing the operation of the logic circuit at the register transfer level and the external operation model including the description of the input / output operation for the logic circuit RTL model are integrated, and the operation of the logic circuit and the external connected to the logic circuit RTL model are integrated. A generating unit that generates a first logic circuit operation model that integrally describes the operation of the device;
A constraint model in which verification accuracy according to the verification purpose is described is input, and the scale of the first logic circuit operation model is reduced and converted within a range in which the verification accuracy is guaranteed based on the constraint model, and the second logic A conversion unit for generating a circuit operation model,
The generator is
An instruction representing a procedure, a variable representing a value used or generated by the instruction, a variable representing a time and a branch state, and a variable representing a storage location of a storage element including a register, and the use of the instruction and each of the variables It is described by a first logic circuit operation model that can describe a graph having branches as arrows connecting the nodes so as to indicate a relation or substitution relation, or an adjacency matrix or an edge list that can be mutually converted with the graph. Generating a first logic circuit operation model;
A logic circuit operation model generation device characterized by the above.
前記節点において、前記制約モデルと所定の記号評価規則に従って評価記号を求め、前記節点と前記評価記号とを対応付けた評価記号表を生成する記号評価部と、
前記節点において前記評価記号表を参照し、所定の縮小変換方法毎に定められた縮小変換判定基準に基づいて縮小変換が可能か否かを判定し、縮小変換が可能と判定した場合には、縮小変換可能と判定された節点と縮小変換方法とを対応付けた縮小変換表を生成する縮小変換判定部と、
前記縮小変換表に基づいて、前記第1の論理回路動作モデルから前記第2の論理回路動作モデルに縮小変換する更新部と、
を備えたことを特徴とする請求項1に記載の論理回路動作モデル生成装置。 The converter is
A symbol evaluation unit for obtaining an evaluation symbol in the node according to the constraint model and a predetermined symbol evaluation rule, and generating an evaluation symbol table in which the node and the evaluation symbol are associated;
With reference to the evaluation symbol table at the node, it is determined whether or not reduction conversion is possible based on a reduction conversion determination standard defined for each predetermined reduction conversion method, and when it is determined that reduction conversion is possible, A reduction conversion determination unit that generates a reduction conversion table in which the nodes determined to be reduction conversion capable of being associated with the reduction conversion method;
An updating unit for performing reduction conversion from the first logic circuit operation model to the second logic circuit operation model based on the reduction conversion table;
The logic circuit operation model generation device according to claim 1, further comprising:
前記変換部は、前記検証に必要な時刻の精度が、前記第1の論理回路動作モデルによって得られる時刻精度と同等の精度となるように、前記第2の論理回路動作モデルを生成することを特徴とする請求項1に記載の論理回路動作モデル生成装置。 The constraint model is a model including a description for specifying a time required for verification,
The conversion unit generates the second logic circuit operation model so that the time accuracy required for the verification is equivalent to the time accuracy obtained by the first logic circuit operation model. The logic circuit operation model generation device according to claim 1, wherein
前記変換部は、前記検証に必要な論理回路上の構成要素の範囲を保持するように縮小変換して前記第2の論理回路動作モデルを生成することを特徴とする請求項1に記載の論理回路動作モデル生成装置。 The constraint model is a model including a description for specifying a component on a logic circuit necessary for verification,
2. The logic according to claim 1, wherein the conversion unit generates the second logic circuit operation model by performing reduction conversion so as to retain a range of components on the logic circuit necessary for the verification. Circuit behavior model generation device.
前記変換部は、前記検証に必要な時刻の精度が、前記第1の論理回路動作モデルによって得られる時刻精度と同等の精度となるように、かつ、前記検証に必要な論理回路上の構成要素の範囲を保持するように縮小変換して前記第2の論理回路動作モデルを生成することを特徴とする請求項1に記載の論理回路動作モデル生成装置。 The constraint model is a model including a description for specifying a time required for verification and a description for specifying a component on a logic circuit required for verification,
The conversion unit is a component on the logic circuit required for the verification so that the accuracy of the time required for the verification is equivalent to the time accuracy obtained by the first logic circuit operation model. 2. The logic circuit operation model generation device according to claim 1, wherein the second logic circuit operation model is generated by performing reduction conversion so as to maintain the range of the second logic circuit operation model.
読込み命令と書込み命令とがある場合において、
前記読込み命令が読み込む記憶場所と前記書込み命令が書き込む記憶場所とが同一であり、前記読込み命令が実行されたときに、前記書込み命令が直近の過去に無条件で実行されることを縮小変換判定基準とし、
前記縮小変換判定基準が満たされたとき、前記読込み命令と前記書込み命令とを短絡することを縮小変換方法とする、
ことを特徴とする請求項2に記載の論理回路動作モデル生成装置。 The reduction conversion determination unit
When there is a read command and a write command,
Decrease conversion determination that the memory location where the read command is read and the memory location where the write command is written are the same, and that the write command is executed unconditionally in the last past when the read command is executed As a reference,
Shortening the read command and the write command when the reduced conversion determination criterion is satisfied is a reduced conversion method,
The logic circuit operation model generation device according to claim 2, wherein
書込み待ち命令と書込み命令とがある場合において、
前記書込み待ち命令が参照する記憶場所と前記書込み命令が書き込む記憶場所とが同一であり、前記書込み待ち命令が実行されたときに、前記書込み命令が直近の未来に無条件で実行されることを縮小変換判定基準とし、
前記縮小変換判定基準が満たされたとき、前記書込み待ち命令と前記書込み命令とを短絡することを縮小変換方法とする、
ことを特徴とする請求項2に記載の論理回路動作モデル生成装置。 The reduction conversion determination unit
When there are a write wait command and a write command,
The storage location referred to by the write wait instruction is the same as the storage location written by the write command, and when the write wait command is executed, the write command is executed unconditionally in the immediate future. Use the reduced conversion criteria,
When the reduction conversion determination criterion is satisfied, the reduction conversion method is to short-circuit the write wait instruction and the write instruction.
The logic circuit operation model generation device according to claim 2, wherein
値を生成する命令がある場合において、
その命令が生成する値が定数値であることを縮小変換判定基準とし、
前記縮小変換判定基準が満たされたとき、前記値を生成する命令を削除することを縮小変換方法とする、
ことを特徴とする請求項2に記載の論理回路動作モデル生成装置。 The reduction conversion determination unit
If there is an instruction that generates a value,
The criterion that the value generated by the instruction is a constant value is the reduction conversion criterion,
When the reduction conversion determination criterion is satisfied, a reduction conversion method is to delete an instruction that generates the value.
The logic circuit operation model generation device according to claim 2, wherein
条件分岐命令がある場合において、
分岐先を決定する値が定数値であることを縮小変換判定基準とし、
前記縮小変換判定基準が満たされたとき、前記条件分岐命令の直前の命令と分岐先の直後の命令とを短絡することを縮小変換方法とする、
ことを特徴とする請求項2に記載の論理回路動作モデル生成装置。 The reduction conversion determination unit
If there is a conditional branch instruction,
The reduction conversion criterion is that the value that determines the branch destination is a constant value,
When the reduced conversion determination criterion is satisfied, the reduced conversion method is to short-circuit the instruction immediately before the conditional branch instruction and the instruction immediately after the branch destination.
The logic circuit operation model generation device according to claim 2, wherein
縮小変換が可能或いは不可能のいずれとも判定できず不明となる部位がある場合、その部位と理由を解析結果として出力することを特徴とする請求項1に記載の論理回路動作モデル生成装置。 The converter is
2. The logic circuit operation model generation device according to claim 1, wherein when there is a part that cannot be determined whether or not reduction conversion is possible and is unclear, the part and the reason are output as an analysis result.
前記第2の論理回路動作モデルに対してさらなる縮小変換を行うとすれば、影響を受ける可能性のある範囲を示す情報をさらに出力することを特徴とする請求項13に記載の論理回路動作モデル生成装置。 The converter is
14. The logic circuit operation model according to claim 13, wherein if further reduction conversion is performed on the second logic circuit operation model, information indicating a range that may be affected is further output. Generator.
前記第2の論理回路動作モデルをさらに縮小変換するため、修正された制約モデルを入力し、縮小変換の処理を再開することを特徴とする請求項1に記載の論理回路動作モデル生成装置。 The converter is
2. The logic circuit operation model generation apparatus according to claim 1, wherein a modified constraint model is input to further reduce and convert the second logic circuit operation model, and the reduction conversion process is resumed. 3.
検証目的に応じた検証精度が記述された制約モデルを入力し、前記制約モデルに基づいて前記検証精度を保証する範囲で前記第1の論理回路動作モデルの規模を縮小変換し、第2の論理回路動作モデルを生成する変換ステップと、を備え、
前記生成ステップは、
手続を表す命令、前記命令が使用し或いは生成する値を表す変数、時刻及び分岐状態を表す変数、及びレジスタを含む記憶要素の記憶場所を表す変数を節点とし、前記命令及び前記各変数の使用関係或いは代入関係を示すように前記節点の間を結ぶ矢線を枝とするグラフを記述可能な第1の論理回路動作モデル、又は前記グラフと相互に変換可能な隣接行列若しくは辺リストで記述された第1の論理回路動作モデルを生成する、
ことを特徴とする論理回路動作モデル生成方法。 The logic circuit RTL model describing the operation of the logic circuit at the register transfer level and the external operation model including the description of the input / output operation for the logic circuit RTL model are integrated, and the operation of the logic circuit and the external connected to the logic circuit RTL model are integrated. A generation step for generating a first logic circuit operation model that integrally describes the operation of the device;
A constraint model in which verification accuracy according to the verification purpose is described is input, and the scale of the first logic circuit operation model is reduced and converted within a range in which the verification accuracy is guaranteed based on the constraint model, and the second logic A conversion step for generating a circuit behavior model,
The generating step includes
An instruction representing a procedure, a variable representing a value used or generated by the instruction, a variable representing a time and a branch state, and a variable representing a storage location of a storage element including a register, and the use of the instruction and each of the variables It is described by a first logic circuit operation model that can describe a graph having branches as arrows connecting the nodes so as to indicate a relation or substitution relation, or an adjacency matrix or an edge list that can be mutually converted with the graph. Generating a first logic circuit operation model;
A logic circuit operation model generation method characterized by the above.
前記節点において、前記制約モデルと所定の記号評価規則に従って評価記号を求め、前記節点と前記評価記号とを対応付けた評価記号表を生成する記号評価ステップと、
前記節点において前記評価記号表を参照し、所定の縮小変換方法毎に定められた縮小変換判定基準に基づいて縮小変換が可能か否かを判定し、縮小変換が可能と判定した場合には、縮小変換可能と判定された節点と縮小変換方法とを対応付けた縮小変換表を生成する縮小変換判定ステップと、
前記縮小変換表に基づいて、前記第1の論理回路動作モデルから前記第2の論理回路動作モデルに縮小変換する更新ステップと、
を備えたことを特徴とする請求項16に記載の論理回路動作モデル生成方法。 The converting step includes
A symbol evaluation step for obtaining an evaluation symbol in the node according to the constraint model and a predetermined symbol evaluation rule, and generating an evaluation symbol table in which the node and the evaluation symbol are associated;
With reference to the evaluation symbol table at the node, it is determined whether or not reduction conversion is possible based on a reduction conversion determination standard defined for each predetermined reduction conversion method, and when it is determined that reduction conversion is possible, A reduction conversion determination step for generating a reduction conversion table in which the nodes determined to be reduction conversion capable of being associated with the reduction conversion method;
An update step for reducing and converting from the first logic circuit operation model to the second logic circuit operation model based on the reduction conversion table;
The logic circuit operation model generation method according to claim 16, further comprising:
前記変換ステップは、前記検証に必要な時刻の精度が、前記第1の論理回路動作モデルによって得られる時刻精度と同等の精度となるように、前記第2の論理回路動作モデルを生成することを特徴とする請求項16に記載の論理回路動作モデル生成方法。 The constraint model is a model including a description for specifying a time required for verification,
The converting step generates the second logic circuit operation model so that the time accuracy required for the verification is equivalent to the time accuracy obtained by the first logic circuit operation model. The logic circuit operation model generation method according to claim 16, wherein:
前記変換ステップは、前記検証に必要な論理回路上の構成要素の範囲を保持するように縮小変換して前記第2の論理回路動作モデルを生成することを特徴とする請求項16に記載の論理回路動作モデル生成方法。 The constraint model is a model including a description for specifying a component on a logic circuit necessary for verification,
17. The logic according to claim 16, wherein the converting step generates the second logic circuit operation model by performing a reduction conversion so as to retain a range of components on the logic circuit necessary for the verification. Circuit operation model generation method.
前記変換ステップは、前記検証に必要な時刻の精度が、前記第1の論理回路動作モデルによって得られる時刻精度と同等の精度となるように、かつ、前記検証に必要な論理回路上の構成要素の範囲を保持するように縮小変換して前記第2の論理回路動作モデルを生成することを特徴とする請求項16に記載の論理回路動作モデル生成方法。 The constraint model is a model including a description for specifying a time required for verification and a description for specifying a component on a logic circuit required for verification,
The conversion step includes a component on the logic circuit necessary for the verification so that the accuracy of the time required for the verification is equivalent to the time accuracy obtained by the first logic circuit operation model. 17. The logic circuit operation model generation method according to claim 16, wherein the second logic circuit operation model is generated by performing reduction conversion so as to maintain the range of
読込み命令と書込み命令とがある場合において、
前記読込み命令が読み込む記憶場所と前記書込み命令が書き込む記憶場所とが同一であり、前記読込み命令が実行されたときに、前記書込み命令が直近の過去に無条件で実行されることを縮小変換判定基準とし、
前記縮小変換判定基準が満たされたとき、前記読込み命令と前記書込み命令とを短絡することを縮小変換方法とする、
ことを特徴とする請求項17に記載の論理回路動作モデル生成方法。 The reduction conversion determination step includes:
When there is a read command and a write command,
Decrease conversion determination that the memory location where the read command is read and the memory location where the write command is written are the same, and that the write command is executed unconditionally in the last past when the read command is executed As a reference,
Shortening the read command and the write command when the reduced conversion determination criterion is satisfied is a reduced conversion method,
The logic circuit operation model generation method according to claim 17.
書込み待ち命令と書込み命令とがある場合において、
前記書込み待ち命令が参照する記憶場所と前記書込み命令が書き込む記憶場所とが同一であり、前記書込み待ち命令が実行されたときに、前記書込み命令が直近の未来に無条件で実行されることを縮小変換判定基準とし、
前記縮小変換判定基準が満たされたとき、前記書込み待ち命令と前記書込み命令とを短絡することを縮小変換方法とする、
ことを特徴とする請求項17に記載の論理回路動作モデル生成方法。 The reduction conversion determination step includes:
When there are a write wait command and a write command,
The storage location referred to by the write wait instruction is the same as the storage location written by the write command, and when the write wait command is executed, the write command is executed unconditionally in the immediate future. Use the reduced conversion criteria,
When the reduction conversion determination criterion is satisfied, the reduction conversion method is to short-circuit the write wait instruction and the write instruction.
The logic circuit operation model generation method according to claim 17.
値を生成する命令がある場合において、
その命令が生成する値が定数値であることを縮小変換判定基準とし、
前記縮小変換判定基準が満たされたとき、前記値を生成する命令を削除することを縮小変換方法とする、
ことを特徴とする請求項17に記載の論理回路動作モデル生成方法。 The reduction conversion determination step includes:
If there is an instruction that generates a value,
The criterion that the value generated by the instruction is a constant value is the reduction conversion criterion,
When the reduction conversion determination criterion is satisfied, a reduction conversion method is to delete an instruction that generates the value.
The logic circuit operation model generation method according to claim 17.
条件分岐命令がある場合において、
分岐先を決定する値が定数値であることを縮小変換判定基準とし、
前記縮小変換判定基準が満たされたとき、前記条件分岐命令の直前の命令と分岐先の直後の命令とを短絡することを縮小変換方法とする、
ことを特徴とする請求項17に記載の論理回路動作モデル生成方法。 The reduction conversion determination step includes:
If there is a conditional branch instruction,
The reduction conversion criterion is that the value that determines the branch destination is a constant value,
When the reduced conversion determination criterion is satisfied, the reduced conversion method is to short-circuit the instruction immediately before the conditional branch instruction and the instruction immediately after the branch destination.
The logic circuit operation model generation method according to claim 17.
前記縮小変換の中断を指示された場合、指示された時点が縮小変換の途中であっても、前記制約モデルを満たす既に縮小変換された範囲を第2の論理回路動作モデルとして生成することを特徴とする請求項16に記載の論理回路動作モデル生成方法。 The converting step includes
When instructed to interrupt the reduction conversion, the already reduced-converted range that satisfies the constraint model is generated as the second logic circuit operation model even if the instructed time is in the middle of the reduction conversion. The logic circuit operation model generation method according to claim 16.
縮小変換が可能或いは不可能のいずれとも判定できず不明となる部位がある場合、その部位と理由を解析結果として出力することを特徴とする請求項16に記載の論理回路動作モデル生成方法。 The converting step includes
17. The logic circuit operation model generation method according to claim 16, wherein when there is a part that cannot be determined whether or not reduction conversion is possible and is unclear, the part and the reason are output as an analysis result.
前記第2の論理回路動作モデルに対してさらなる縮小変換を行うとすれば、影響を受ける可能性のある範囲を示す情報をさらに出力することを特徴とする請求項28に記載の論理回路動作モデル生成方法。 The converting step includes
29. The logic circuit operation model according to claim 28, further outputting information indicating a range that may be affected if further reduction conversion is performed on the second logic circuit operation model. Generation method.
前記第2の論理回路動作モデルをさらに縮小変換するため、修正された制約モデルを入力し、縮小変換の処理を再開することを特徴とする請求項16に記載の論理回路動作モデル生成方法。 The converting step includes
17. The logic circuit operation model generation method according to claim 16, wherein a modified constraint model is input to further reduce and convert the second logic circuit operation model, and the reduction conversion process is resumed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005188331A JP2007011477A (en) | 2005-06-28 | 2005-06-28 | Logical circuit operation model generation device and logical circuit operation model generation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005188331A JP2007011477A (en) | 2005-06-28 | 2005-06-28 | Logical circuit operation model generation device and logical circuit operation model generation method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007011477A true JP2007011477A (en) | 2007-01-18 |
Family
ID=37749930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005188331A Pending JP2007011477A (en) | 2005-06-28 | 2005-06-28 | Logical circuit operation model generation device and logical circuit operation model generation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007011477A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009522652A (en) * | 2005-12-30 | 2009-06-11 | ケイデンス・デザイン・システムズ・インコーポレーテッド | System and method for generating multiple models at different levels of abstraction from a single master model |
US9639454B2 (en) | 2013-02-08 | 2017-05-02 | Fujitsu Limited | Computer-readable recording medium storing therein test data generating program, test data generating method, test data generating apparatus and information processing system |
-
2005
- 2005-06-28 JP JP2005188331A patent/JP2007011477A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009522652A (en) * | 2005-12-30 | 2009-06-11 | ケイデンス・デザイン・システムズ・インコーポレーテッド | System and method for generating multiple models at different levels of abstraction from a single master model |
US9639454B2 (en) | 2013-02-08 | 2017-05-02 | Fujitsu Limited | Computer-readable recording medium storing therein test data generating program, test data generating method, test data generating apparatus and information processing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4994393B2 (en) | System and method for generating multiple models at different levels of abstraction from a single master model | |
US20030208730A1 (en) | Method for verifying properties of a circuit model | |
JP2004502259A (en) | Method and system for checking tiered metal terminations, surroundings, and exposure | |
JP4492803B2 (en) | Behavioral synthesis apparatus and program | |
US6658630B1 (en) | Method to translate UDPs using gate primitives | |
US8281269B2 (en) | Method of semiconductor integrated circuit device and program | |
JP4654203B2 (en) | Method for creating HDL description file for digital system and resulting system | |
US20040210861A1 (en) | System and method for optimizing exceptions | |
JP2008077330A (en) | Model creation device for high speed hardware simulation and simulation device therefor | |
JP2000277617A (en) | Asic design method and equipment thereof | |
US9639644B1 (en) | Method and apparatus for master-clone optimization during circuit analysis | |
JP2007011477A (en) | Logical circuit operation model generation device and logical circuit operation model generation method | |
US10628623B2 (en) | Non-transitory computer-readable recording medium recording detour wiring check program, detour wiring check method, and information processing apparatus | |
JPWO2006025412A1 (en) | Logic verification method, logic module data, device data, and logic verification apparatus | |
JP5115003B2 (en) | Logic design support system and program | |
US8024681B2 (en) | Hierarchical HDL processing method and non-transitory computer-readable storage medium | |
JP2006190085A (en) | Modeling method and design method for digital circuit | |
JP4891807B2 (en) | High level synthesis apparatus and high level synthesis method | |
US20230205969A1 (en) | Techniques for modeling and verification of convergence for hierarchical domain crossings | |
US20110072404A1 (en) | Parallel Timing Analysis For Place-And-Route Operations | |
US20090326901A1 (en) | Apparatus and method for estimating change amount in register transfer level structure and computer-readable recording medium | |
US20230110701A1 (en) | Techniques for design verification of domain crossings | |
JP5262678B2 (en) | Behavioral synthesis system, behavioral synthesis method, and behavioral synthesis program | |
JP4448048B2 (en) | Structural analysis program | |
JP5115056B2 (en) | Logic circuit description format conversion method, program and apparatus |