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 PDF

Info

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
Application number
JP2005188331A
Other languages
Japanese (ja)
Inventor
Naohiro Nonogaki
直浩 野々垣
Rina Tanaka
里奈 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005188331A priority Critical patent/JP2007011477A/en
Publication of JP2007011477A publication Critical patent/JP2007011477A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a logical circuit operation model generation device which realizes simulation precision which is sufficient for achieving a purpose of verification, completes simulation within a permissible range of time even in a large-scale system, and generates an adequate logical circuit operation model in a short period even if a designer of the circuit is different from the designer of a logical circuit operation model. <P>SOLUTION: The logical circuit operation model generation device is provided with; a generation part which integrates a logical circuit RTL model, which is obtained by describing the operation of a logical circuit with an RTL, with an external operation model which describes an input/output operation, and generates a first logical circuit operation model which integrally describes the operations of the logical circuit and external device connected to the logical circuit; and a conversion part which inputs a restricted model in which verification precision is described in accordance with a purpose of verification, and reduces and converts the scale of the first logical circuit operation model within a range, in which the verification precision is guaranteed, based on the restricted model, to generate a second logical circuit operation model. <P>COPYRIGHT: (C)2007,JPO&INPIT

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, Patent Documents 1 to 3 disclose a technique for creating a simulation model with a rough simulation accuracy (high abstraction level) and sequentially refining the simulation model. Among these, Patent Document 1 discloses a technique for creating a model of a programming language that can be sequentially processed, greatly reducing the time required for verification, and easily realizing system level verification. Further, Patent Document 2 discloses a model with coarse accuracy by performing bit precision conversion for displaying decimal points of input / output data and converting bit widths using an interface model that connects a model with coarse simulation accuracy and a fine model. A technique for replacing a part is disclosed. Patent Document 3 discloses a technique for preparing a behavior description with rough simulation accuracy for each predetermined motion unit, and selecting them to create a model.

これとは逆に、シミュレーション精度の細かい(抽象度の低い)モデルを作成し、これを要約していく技術もある。例えば、特許文献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, Patent Document 4 discloses a technique for shortening a logic verification time by omitting an event generated in a circuit that performs a logic operation in synchronization with one clock domain. Patent Document 5 discloses a technique for reducing a part of a logic circuit model by fixing a part of input and register values according to a verification purpose. Patent Document 6 discloses a technique for creating a table for each time in a clock cycle by taking advantage of the characteristics of a synchronous circuit and performing an event schedule before performing a simulation.

さらに、特許文献7には、論理回路ブロックが有する状態を動作開始状態及び動作終了状態として設定し、状態から状態へ遷移させる入出力命令のシーケンスを1クロック毎にRTLモデルに与えてその動作を抽出し、時間の概念を持たないモデルを作成する技術が開示されている。   Further, in Patent Document 7, the states of the logic circuit block are set as the operation start state and the operation end state, and a sequence of input / output instructions for making a transition from the state to the state is given to the RTL model every clock and the operation is performed. A technique for extracting and creating a model having no concept of time is disclosed.

また、特許文献8には、論理回路の動作を特徴づける制御部に相当する回路を指定し、制御部によって動作が決定される回路を抽出してソフトウェア向けのプログラミング言語に適したモデルを作成する技術が開示されている。
特開2001−14356号公報 特開2001−101247号公報 特開2003−141204号公報 特開2004−185213号公報 特開2001−22808号公報 米国特許第5,862,361号明細書 特開2003−16134号公報 特開2004−21841号公報
Also, in Patent Document 8, a circuit corresponding to a control unit that characterizes the operation of a logic circuit is specified, a circuit whose operation is determined by the control unit is extracted, and a model suitable for a programming language for software is created. Technology is disclosed.
JP 2001-14356 A JP 2001-101247 A JP 2003-141204 A JP 2004-185213 A Japanese Patent Laid-Open No. 2001-22808 US Pat. No. 5,862,361 Japanese Patent Laid-Open No. 2003-16134 JP 2004-21841 A

上記のように、シミュレーションを行うためのモデル(以下、このモデルを「論理回路動作モデル」という。)は、「論理回路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 (Patent Documents 1 to 3) of newly creating a model with high simulation accuracy (high abstraction level) and sequentially refining the model is performed manually (or semi-automatically) according to the purpose of verification. This is a method of creating a “model”. For this reason, the quality (first condition) of the “logic circuit operation model” is achieved if sufficient manpower and time are required.

しかしながら、この方法は、「論理回路動作モデル」と「論理回路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 Patent Document 3, although the creation period can be shortened by creating a “component” for creating a “logic circuit operation model” in advance, the created “component” group and the “logic” Since the consistency cannot be inspected with the “circuit RTL model”, the problem that the consistency between the “logic circuit operation model” and the “logic circuit RTL model” cannot be guaranteed becomes more serious.

他方、シミュレーション精度の細かい(抽象度の低い)モデルを要約する方法(特許文献4乃至8)は、設計済みの「論理回路RTLモデル」を出発点として自動的に要約して「論理回路動作モデル」を作成するため、第2の条件(開発の手間)を満足する可能性は比較的高い。   On the other hand, methods for summarizing models with low simulation accuracy (low abstraction) (Patent Documents 4 to 8) automatically summarize a designed “logic circuit RTL model” as a starting point, and “logic circuit operation model”. Therefore, the possibility that the second condition (development effort) is satisfied is relatively high.

しかしながら、開示されている従来技術においては、第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, Patent Document 4 or Patent Document 5 maintains clock cycle accuracy as temporal accuracy, is excessive accuracy for system level verification, and simulation execution time becomes enormous and the first condition is satisfied. Do not meet.

一方、特許文献7が開示する方法は、「論理回路RTLモデル」の内部状態を人手で設定するステップを持ち、人手で設定した内部状態を「論理回路動作モデル」への変換の出発点とするものである。このため、モデル化対象の論理回路の振る舞いを十分に分析して漏れや重複が無いように適切に内部状態を設定しないと所望の「論理回路動作モデル」を得ることができない。また、「論理回路動作モデル」を総て人手で生成する場合は、モデル化対象の論理回路の振る舞いについて仕様書等を通して分析し、漏れや重複が無いように適切に内部状態を定義する工程は、一般に、全体の約半分を占めると考えられている。このため、実際にモデルを記述する工程やモデルの整合性を確保する工程が削減されたとしても、内部状態の適切な定義の工程に多くの時間を費やし、結果的には第2の条件(開発の手間)を満足できなくなる可能性が高い。さらに、特許文献7が開示する方法は、時間の概念のある「論理回路RTLモデル」から、時間の概念の無い「論理回路動作モデル」に一気に変換する方法であるため、特定時刻を指定してモニタ・検証することができず、検証用途が限定されたものとなってしまう。   On the other hand, the method disclosed in Patent Document 7 includes a step of manually setting the internal state of the “logic circuit RTL model”, and the internal state set manually is used as a starting point for conversion to the “logic circuit operation model”. Is. Therefore, a desired “logic circuit operation model” cannot be obtained unless the behavior of the logic circuit to be modeled is sufficiently analyzed and the internal state is appropriately set so that there is no leakage or duplication. In addition, when all “logic circuit operation models” are generated manually, the process of analyzing the behavior of the logic circuit to be modeled through specifications etc. and defining the internal state appropriately so that there is no leakage or duplication is the process It is generally considered to account for about half of the total. For this reason, even if the process of actually describing the model and the process of ensuring the consistency of the model are reduced, a lot of time is spent on the process of appropriately defining the internal state, and as a result, the second condition ( There is a high possibility that the development effort will not be satisfied. Furthermore, since the method disclosed in Patent Document 7 is a method of converting from a “logic circuit RTL model” having a concept of time to a “logic circuit operation model” having no concept of time, a specific time is designated. Monitoring and verification cannot be performed, and the verification application is limited.

特許文献8の方法は、論理回路がもつ制御部を指定してそれを出発点とすることで、特許文献7の方法で用いる内部状態の設定ステップを不要としている。しかしながら、制御部が回路内に分散して複数存在する場合や、論理回路設計担当者と「論理回路動作モデル」設計担当者が異なる等の理由で「論理回路RTLモデル」について詳細な知識が無い場合等においては、適切な制御部を指定することが困難となることもあり、改良の余地がある。   The method of Patent Document 8 designates a control unit of a logic circuit and uses it as a starting point, thereby eliminating the internal state setting step used in the method of Patent Document 7. However, there is no detailed knowledge about the “logic circuit RTL model” because there are a plurality of control units dispersed in the circuit, or because the logic circuit designer and the “logic circuit operation model” designer are different. In some cases, it may be difficult to specify an appropriate control unit, and there is room for improvement.

本発明は、上記事情に鑑みてなされたもので、検証目的を達成するに十分なシミュレーション精度を達成し、かつ大規模なシステムであってもシミュレーション実行時間を許容範囲に収めることが可能であり、回路設計者と「論理回路動作モデル」設計者が異なる場合であっても短期間で的確な「論理回路動作モデル」を生成することができる論理回路動作モデル生成装置及び論理回路動作モデル生成方法を提供することを目的とする。   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 claim 1. A generating unit that integrates an external operation model including a description of input / output operations for the model, and generates a first logic circuit operation model that integrally describes the operation of the logic circuit and the operation of an external device coupled thereto. A constraint model describing verification accuracy according to the verification purpose 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 a conversion unit that generates a logic circuit operation model of the instruction, wherein the generation unit represents an instruction representing a procedure, a variable representing a value used or generated by the instruction, a time, and a branch state. It is possible to describe a graph with a node representing a storage location of a storage element including a number and a register as a node, and an arrow line connecting the nodes as a branch so as to indicate the usage relationship or substitution relationship of the instruction and each variable. 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.

また、本発明に係る論理回路動作モデル生成方法は、請求項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-scale logic circuit 200, the logic circuit 210, and the microprocessor 220 are connected to each other via a bus.

このうち、大規模論理回路200は、既に設計済みで実績のある回路、或いは詳細設計が終了しているレベルである。即ち、大規模論理回路200は、論理合成が可能なレジスタ・トランスファ・レベル(RTL)でのハードウェア記述言語で記述されたモデルが既に存在している。このモデルを論理回路RTLモデル100と呼ぶ。   Among these, the large-scale logic circuit 200 is a circuit that has already been designed and has a track record, or a level at which detailed design has been completed. That is, the large-scale logic circuit 200 already has a model described in a hardware description language at a register transfer level (RTL) capable of logic synthesis. This model is called a logic circuit RTL model 100.

他方、論理回路210は、概略設計の段階であり、レジスタ・トランスファ・レベル(RTL)でのハードウェア記述言語は存在していない。ただし、概略の機能性能や外部インタフェース(バスを介してのトランザクション)は決まっている。   On the other hand, the logic circuit 210 is in a schematic design stage, and there is no hardware description language at the register transfer level (RTL). However, the general functional performance and external interface (transaction via the bus) are determined.

また、マイクロプロセッサ220が実行するソフトウェアについても外部インタフェースは決まっているものとする。即ち、論理回路210や、マイクロプロセッサ220のソフトウェについては、バスを介してのトランザクション(読み出しや書込み)を記述することが可能なレベルであり、この外部インタフェースや概略機能を記述したモデルを外部モデル110と呼ぶ。   It is also assumed that the external interface is determined for the software executed by the microprocessor 220. In other words, the logic circuit 210 and the software of the microprocessor 220 are at a level at which transactions (reading and writing) via the bus can be described. This is called model 110.

このような構成のシステムをシミュレーション等によって検証するためのモデルを、検証目的に応じた「粗さ」で生成することが本発明の位置付けとなる。   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 circuit RTL model 100 in which the large-scale logic circuit 200 is described in RTL is described in such a manner that signal transmission between registers can be expressed at the level of a clock unit.

従って、論理回路RTLモデル100と外部動作モデル110とを単純に結合したモデル(これを、第1の論理回路動作モデル50と呼ぶ)では、クロック毎に動作し、かつ内部状態もクロック毎に変化するため検証時間が膨大になってくる。   Therefore, in a model in which the logic circuit RTL model 100 and the external operation model 110 are simply combined (referred to as the first logic circuit operation model 50), the circuit operates at each clock and the internal state also changes at each clock. Therefore, the verification time becomes enormous.

他方、シミュレーション等による検証は、通常何らかの検証目的をもって行われるものであり、検証目的に応じて必要となってくる検証精度は異なってくる。ここで検証精度とは、時間的な精度と、検証対象回路の範囲(空間的精度)の双方を言っている。   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 circuit operation model 50 is reduced and converted under the constraints of the constraint model, and the second logic circuit operation model 60 is obtained. The second logic circuit operation model 60 is generated and a simulation or the like is verified. As a result, the system can be evaluated in a short time and with verification accuracy according to the verification purpose.

本発明に係る論理回路動作モデル生成装置および論理回路動作モデル生成方法は、論理回路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 circuit operation model 50 from the logic circuit RTL model 100 and the external operation model 110, and The conversion is automatically reduced to the logic circuit operation model 60.

図2は、本発明に係る論理回路動作モデル生成装置1の実施形態の構成例を示す図である。   FIG. 2 is a diagram showing a configuration example of an embodiment of the logic circuit behavior model generation device 1 according to the present invention.

論理回路動作モデル生成装置1は、論理回路RTLモデル100と外部動作モデル110とから第1の論理回路動作モデル50を生成する生成部2と、制約モデル120の制約の下で生成した第1の論理回路動作モデル50を縮小変換し、第2の論理回路動作モデル60を生成する変換部3とを備えて構成される。   The logic circuit operation model generation apparatus 1 includes a generation unit 2 that generates a first logic circuit operation model 50 from the logic circuit RTL model 100 and the external operation model 110, and a first circuit that is generated under the constraints of the constraint model 120. The logic circuit operation model 50 is reduced and converted to generate a second logic circuit operation model 60.

変換部3は、第1の論理回路動作モデル50の内部の各節点(命令や変数を表す点)に対して制約モデル120の制約の下で「評価記号」を求め、評価記号表を生成する記号評価部30と、所定の方法の縮小変換が可能か否かを評価記号表に基づいて判定し、縮小変換表を生成する縮小変換判定部31と、縮小変換表に基づいて第1の論理回路動作モデル50から第2の論理回路動作モデル60へ縮小変換するとともに所定の解析結果を出力する更新部32とを備えて構成される。   The conversion unit 3 obtains an “evaluation symbol” under the constraints of the constraint model 120 for each node (a point representing an instruction or a variable) inside the first logic circuit operation model 50, and generates an evaluation symbol table. Based on the evaluation symbol table, the symbol evaluation unit 30 determines whether or not reduction conversion of a predetermined method is possible, generates a reduction conversion table, and a first logic based on the reduction conversion table. An updating unit 32 that performs reduction conversion from the circuit operation model 50 to the second logic circuit operation model 60 and outputs a predetermined analysis result is provided.

(2)論理回路動作モデル生成装置1の動作
図3は、論理回路動作モデル生成装置1の基本動作の流れを示すフローチャートである。
(2) Operation of Logic Circuit Operation Model Generation Device 1 FIG. 3 is a flowchart showing a basic operation flow of the logic circuit operation model generation device 1.

ステップST1では、論理回路RTLモデル100と外部動作モデル110とから第1の論理回路動作モデル50を生成する。   In step ST1, a first logic circuit operation model 50 is generated from the logic circuit RTL model 100 and the external operation model 110.

ステップST2では、第1の論理回路動作モデル50(又は縮小変換中の第2の論理回路動作モデル60)の記述上の各箇所(各節点)について、予め定めてある記号評価規則と制約モデル120とに基づいて「評価記号」を求め、評価記号表を生成する。   In step ST2, a symbol evaluation rule and a constraint model 120 that are determined in advance for each location (each node) on the description of the first logic circuit operation model 50 (or the second logic circuit operation model 60 during the reduction conversion). Based on the above, an “evaluation symbol” is obtained, and an evaluation symbol table is generated.

次に、ステップST3では、第1の論理回路動作モデル50(又は縮小変換中の第2の論理回路動作モデル60)と評価記号表を参照し、予め定めてある縮小変換判定基準に基づいて縮小変換が可能か否かを判定し、第1の論理回路動作モデル50(又は縮小変換中の第2の論理回路動作モデル60)の記述上の各箇所(各節点)について縮小変換の可否を記載した縮小変換表を生成する。また、本ステップで解析結果報告を生成する形態としてもよい。   Next, in step ST3, the first logic circuit operation model 50 (or the second logic circuit operation model 60 during the reduction conversion) and the evaluation symbol table are referred to, and reduction is performed based on a predetermined reduction conversion determination criterion. It is determined whether or not conversion is possible, and whether or not reduction conversion is possible for each location (each node) on the description of the first logic circuit operation model 50 (or the second logic circuit operation model 60 during reduction conversion) is described. A reduced conversion table is generated. In addition, an analysis result report may be generated in this step.

ステップ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 circuit operation model 60 during the reduction conversion) is reduced and converted according to the contents of the reduction conversion table to generate the second logic circuit operation model 60. The part for which the reduction conversion is completed is deleted from the reduction conversion table.

ステップST5における縮小変換によって第2の論理回路動作モデル60はその記述上の構造の一部が変更される。このため、再度ステップST2に戻って、変更された構造に基づいて再度各箇所の評価記号表を生成する形態としている。   Part of the description structure of the second logic circuit operation model 60 is changed by the reduction conversion in step ST5. For this reason, it is set as the form which returns to step ST2 again and produces | generates the evaluation symbol table | surface of each location again based on the changed structure.

ステップ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 circuit operation model 60 is generated.

なお、縮小変換処理に時間を要するような場合には、外部からの操作によって、ステップ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 constraint model 120. In such a case, it is good also as a form which restarts from step ST2 after correcting the constraint model 120. FIG.

上記の各ステップについて、具体例を示しつつ以下に詳細に説明する。   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 circuit operation model 50 is generated with the logic circuit RTL model 100 and the external operation model 110 as inputs. Therefore, first, the logic circuit RTL model 100 and the external operation model 110 will be described using specific circuits as examples. In addition, the constraint model 120 will also be described.

以下の説明では、論理回路の具体例として、非同期リセット付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-scale logic circuit 200 in FIG. 1).

図4は、非同期リセット付8ビットカウンタ回路101(以下、単にカウンタ回路101と言う。)の構成を示したものである。カウンタ回路101は、バスに接続されており、バス入力102として、WRIO(書込み指示)、RDIO(読出し指示)、CS(チップセレクト)、AB(アドレスバス)、及びIOBUSI(バス入力データ)を有している。また、バス出力103として、IOBUSO(バス出力データ)を有している。   FIG. 4 shows the configuration of an 8-bit counter circuit 101 with asynchronous reset (hereinafter simply referred to as counter circuit 101). The counter circuit 101 is connected to a bus, and has WRIO (write instruction), RDIO (read instruction), CS (chip select), AB (address bus), and IOBUSI (bus input data) as the bus input 102. is doing. The bus output 103 has IOBUSO (bus output data).

カウンタ回路101の内部は、論理回路A、B、およびCを有するほか、レジスタとして、IOBUSOレジスタ、CONTROLレジスタ、COUNTレジスタ等を有している。   The counter circuit 101 includes logic circuits A, B, and C, and includes an IOBUSO register, a CONTROL register, a COUNT register, and the like as registers.

カウンタ回路101の基本的な動作は、RESET信号がH(「1」)の場合は、CLK信号の立ち上がりで順次カウントアップし、RESET信号がL(「0」)に立ち下がるとゼロリセットするという単純なものである。   The basic operation of the counter circuit 101 is that when the RESET signal is H (“1”), the counter circuit 101 sequentially counts up at the rising edge of the CLK signal, and resets to zero when the RESET signal falls to L (“0”). It's simple.

バスを介してRDIO(読出し指示)がカウンタ回路101に入力されると、その時のAB(アドレスバス)の値に応じて、カウント値が格納されているCOUNTレジスタの値か、内部状態のデータが格納されているCONTROLレジスタの値のいずれかを出力するように構成されている。   When RDIO (read instruction) is input to the counter circuit 101 via the bus, the value of the COUNT register in which the count value is stored or the data of the internal state is stored according to the value of AB (address bus) at that time. One of the stored CONTROL register values is output.

図4の構成および動作が、論理回路RTLモデル100として記述されることになる。   The configuration and operation of FIG. 4 are described as the logic circuit RTL model 100.

図5は、カウンタ回路101へ入出力される上記のバス入力102、バス出力103、およびCLK信号とRESET信号のタイミング関係を示す図である。   FIG. 5 is a diagram showing the timing relationship between the bus input 102, the bus output 103, and the CLK signal and the RESET signal input / output to / from the counter circuit 101.

図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 logic circuit 210 or the microprocessor 220 in FIG. 1) via the bus.

図5に示したタイミング関係が、後述するように外部動作モデル110として記述されることになる。   The timing relationship shown in FIG. 5 is described as the external operation model 110 as described later.

図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 time 0, the CLK signal is “0”, the RESET signal is “H”, the WRIO (write instruction) is “L”, and the other signals are “undefined”. ".

第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 circuit operation model 50 to the second It is possible to increase the scale of the reduction conversion to the logic circuit operation model 60, and as a result, the verification time (simulation time) is shortened.

第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 time 0 and time 3, and the observation signal targets are all signals (points indicated by asterisks in FIG. 6) except the CLK signal and the RESET signal. is doing.

時刻の規定は、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 constraint model 120.

なお、図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 circuit RTL model 100 in which the counter circuit 101 shown in FIG. 4 is described in a hardware description language. Verilog-HDL is used as the hardware description language. The description level is a level at which logic synthesis is possible, that is, a register transfer level (RTL).

本例の論理回路RTLモデル100は、大きくは5つのブロックから構成されている。ブロック0は、カウンタ回路101の入出力ポート(バス入力102、バス出力103)や内部レジスタの定義をしている部分である。   The logic circuit RTL model 100 of this example is mainly composed of five blocks. The block 0 is a part defining input / output ports (bus input 102, bus output 103) and internal registers of the counter circuit 101.

ブロック1は、内部レジスタの値をバス出力103(IOBUSO)へ出力する動作を記述している。ブロック2は、内部レジスタの設定・更新に関する動作を記述している。   Block 1 describes the operation of outputting the value of the internal register to the bus output 103 (IOBUSO). Block 2 describes operations related to setting / updating of internal registers.

ブロック3およびブロック4が実際にCLK信号の立ち上がりでカウンタをカウントアップする動作を記述している。   Block 3 and block 4 describe the operation of actually counting up the counter at the rising edge of the CLK signal.

図8は、図7のうち、ブロック1の記述部分のみを抽出したものである。   FIG. 8 shows only the description part of block 1 extracted from FIG.

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 external operation model 110. The external operation model 110 is also described in Verilog-HDL.

図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 circuit operation model 50, a model described in Verilog-HDL is converted into a model described in “graph”.

なお、一般にグラフ理論等によれば、「グラフ」と隣接行列若しくは辺リストとは相互に変換可能である。従って、第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 circuit operation model 50 may be generated in the form of an adjacency matrix or an edge list.

以下の説明では、第1の論理回路動作モデル50を「グラフ」で記述したモデルに変換する場合を例として説明する。   In the following description, a case where the first logic circuit operation model 50 is converted into a model described by “graph” will be described as an example.

図11は、Verilog-HDLで記述されたカウンタ回路101のブロック1の部分(図8に相当する部分)を「グラフ」記述に変換したものである。   FIG. 11 is obtained by converting the block 1 portion (the portion corresponding to FIG. 8) of the counter circuit 101 described in Verilog-HDL into a “graph” description.

「グラフ」記述の第1の論理回路動作モデル50(以下、単に第1の論理回路動作モデル50という。)は、複数種の節点と、各節点を結ぶ矢印(枝)とで構成されている。   The first logic circuit operation model 50 described in the “graph” (hereinafter simply referred to as the first logic circuit operation model 50) is composed of a plurality of types of nodes and arrows (branches) connecting the nodes. .

節点は、手続を示す命令(「wait」、「load」、「store」、「equal」、「select」等)を含む箱状の節点(符号301等)、命令が使用し或いは生成する値(r03等)を表す8角形の節点(符号303等)、時刻を示す変数(c0001等)および分岐状態を表す丸状の節点(符号302等)等によって構成されている。また、箱状の節点は、レジスタを含む記憶場所を表す変数(「CONTROL」、「COUNT」、「CS」、「AB」、「RDIO」等)を含んでいる。   A node is a box-like node (reference numeral 301 or the like) including instructions (“wait”, “load”, “store”, “equal”, “select”, etc.) indicating a procedure, and a value ( r03, etc.), octagonal nodes (symbol 303, etc.), time variables (c0001, etc.), branching state round nodes (symbol 302, etc.), and the like. Further, the box-like node includes variables (“CONTROL”, “COUNT”, “CS”, “AB”, “RDIO”, etc.) representing the storage location including the register.

図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 reference numeral 301 is to wait until the contents of the registers “CONTROL”, “COUNT”, “CS”, “AB”, “RDIO”, and “WRIO” change. This corresponds to the always statement on the second line. When the contents of each register change, the value stored in each register is read (processing in the range indicated by A in FIG. 11).

次に、「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 reference numeral 306. The selected value is written into the “IOBUSO” register by the procedure indicated by reference numeral 307.

符号301から符号308までの一連の処理は、各クロックごとに繰り返されることになる。この繰り返しは、符号309のcall文による末尾再帰の形態で行われる。   A series of processing from reference numeral 301 to reference numeral 308 is repeated for each clock. This repetition is performed in the form of tail recursion by a call statement of reference numeral 309.

ブロック2乃至ブロック3の処理も同様にして、「グラフ」記述に変換される。また、Verilog-HDLで記述された外部動作モデル110(図9)も同様に「グラフ」記述に変換される。   The processing of block 2 to block 3 is similarly converted to a “graph” description. Similarly, the external operation model 110 (FIG. 9) described in Verilog-HDL is also converted into a “graph” description.

図12は、コールグラフと呼ばれる図であり、「グラフ」記述された論理回路RTLモデル100のブロック1からブロック4の各ブロックと外部動作モデル110とを呼び出して統合させる手順を表現している。   FIG. 12 is a diagram called a call graph, which expresses a procedure for calling and integrating the blocks 1 to 4 of the logic circuit RTL model 100 described in “graph” and the external operation model 110.

コールグラフでは、ブロック間の統合を行うと共に、時間軸方向への展開を行っている。ブロック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 block 1 to block 4 are repeatedly executed at every clock with the always statement. Therefore, the integration of blocks by the call graph is developed by duplicating each block for each clock and sequentially coupling in the time axis direction.

時間軸方向への展開は、制約モデル120で記述された観測時刻の範囲まで展開する。本例では、図6で示したように、時刻0と時刻3を観測時刻と規定している。従って、時刻0から時刻3までの間にある3クロック分の範囲まで展開すれば十分である。   Expansion in the time axis direction is expanded up to the observation time range described by the constraint model 120. In this example, as shown in FIG. 6, time 0 and time 3 are defined as observation times. Therefore, it is sufficient to expand to the range of 3 clocks between time 0 and time 3.

このように各ブロックの処理を時間軸方向に展開することによって、クロック毎に変化する内部状態(レジスタ等の値の変化)を正確に一意に表現することが可能となる。   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 constraint model 120, the development in the time axis direction can be limited to the minimum range required for verification.

図13は、コールグラフに従って統合した最終形態の第1の論理回路動作モデル50を示した図である。図13では、外部動作モデル110と、3クロック分の範囲で時間軸方向に展開されたブロック1からブロック4の処理が「グラフ」記述されている。   FIG. 13 is a diagram showing the first logic circuit operation model 50 in the final form integrated according to the call graph. In FIG. 13, the external operation model 110 and the processing of block 1 to block 4 expanded in the time axis direction within a range of 3 clocks are described as “graph”.

なお、「書込み待ち」と記されているラインは、クロック毎にレジスタにデータが書き込まれてその内容が変化することを待って次の処理を進めること(書込み待ち)に対応するものである。   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 circuit operation model 50 in the final form, an “evaluation symbol” is obtained based on a predetermined symbol evaluation rule and constraint model 120, and each node and “evaluation” are determined. An evaluation symbol table in which “symbols” are associated is generated.

ここで、記号評価規則とは、算術演算規則や論理演算規則等の一般的な規則や、「時刻が不明(未確定)な状態で読み込まれた値は不定とする」といった規則である。また、「評価記号」とは、定数や不定値のことをいう。   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 reference numeral 401 in FIG. 14 indicates a procedure for reading the CLK signal at time 0 (c0000). Reference numerals 402 and 403 denote procedures for reading the RESET signal at time 0 (c0000).

制約モデル120(図6参照)では、時刻0においては、CLK=0、RESET=1と規定されている。従って、読込んだCLKの値は0(定数)に確定している(CLK=0)。そこで、r01_14には、評価記号として定数「0」を割り付けて評価記号表に書き込む。   In the constraint model 120 (see FIG. 6), at time 0, CLK = 0 and RESET = 1 are defined. Therefore, the value of the read CLK is fixed to 0 (constant) (CLK = 0). Therefore, a constant “0” is assigned to r01_14 as an evaluation symbol and written to the evaluation symbol table.

同様に、r02_14は、時刻0におけるRESETは1(定数)に確定しているため、評価記号として定数「1」を割り付けて評価記号表に書き込む。   Similarly, since RESET at time 0 is fixed to 1 (constant), r02_14 assigns a constant “1” as an evaluation symbol and writes it to the evaluation symbol table.

一方、符号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 reference numeral 406 and the reference numeral 407 are both logical operations between constants, and the result is uniquely determined as a constant. As shown in FIG. 14, that is, 1 (constant) is assigned to r05_14 and 1 (constant) is assigned to r07_14 as evaluation symbols.

このようにして、統合した最終形態の第1の論理回路動作モデル50の各節点における評価対象変数に対して評価記号を求めてゆき、図15に例示したような評価記号表を生成することができる。   In this way, evaluation symbols are obtained for the evaluation target variables at the respective nodes of the integrated first logic circuit operation model 50 in the final form, and an evaluation symbol table as illustrated in FIG. 15 is generated. it can.

なお、上述の説明では、定数や不定値を評価記号として取り扱い、これらの組み合わせを算術演算や論理演算等の記号評価規則に基づいて評価記号を求めている。   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 circuit operation model 50, and whether or not reduction conversion is actually possible is performed. It will be determined.

本実施形態では、読込み命令と書込み命令との短絡、書込み待ち命令と書込み命令との短絡、定数値の畳み込み、および確定した条件分岐命令の除去、の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 circuit operation model 50 can be reduced and converted (short-circuited) without deteriorating the verification accuracy.

図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 circuit operation model 50 can be reduced and converted (short-circuited) without deteriorating the verification accuracy.

図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 circuit RTL model 100. If the evaluation symbols are all constants in the predetermined area, the result of the procedure between the constants is also a constant. Therefore, it is possible to represent all the procedures in the area collectively as one or a plurality of constants. This process is called constant convolution.

図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 constraint model 120 and the like. It is said that there is.

この結果、実線で囲まれた領域は、最終的にはひとつの定数に畳み込むことが可能となる。この実線で囲まれた領域の定数を畳み込んだとしても観測時空間に影響を与えない。したがって、検証精度を劣化させることなく第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 circuit operation model 50 can be reduced and converted (short-circuited) without deteriorating the verification accuracy.

図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 circuit operation model 50 can be reduced and converted (short-circuited).

図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 circuit operation model 60. .

縮小変換前の記述では、クロックサイクルの精度で記述されており、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 circuit operation model 60 after the reduction conversion, 60.3% of instructions are removed from the first logic circuit operation model 50 before the reduction conversion.

シミュレーション等による検証は、縮小変換された第2の論理回路動作モデル60に基づいて行われる。一般に、シミュレーション等の実行時間はモデルに含まれる命令数と強い相関関係をもつことが示されている。従って、命令数の削減によってシミュレーション等の時間を短縮することが可能となる。   Verification by simulation or the like is performed based on the second logic circuit operation model 60 subjected to reduction conversion. In general, it is shown that the execution time of simulation or the like has a strong correlation with the number of instructions included in the model. Therefore, it is possible to shorten the simulation time by reducing the number of instructions.

(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 circuit operation model 60 subjected to the reduction conversion.

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 external operation model 110 is used for the “COUNT” register, the “CONTROL” register, and the “RUN_next” register. The constraint model 120 does not specifically define each of these registers, and this is because the value of each register is treated as an indefinite value.

この解析結果報告を受け取ったモデル作成者が、例えば、「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 constraint model 120 with “RUN_next” at time 0. By adding a description that the value of the register is 0 (constant), the range that can be reduced and converted can be increased. As a result, the scale of the second logic circuit operation model 60 can be further reduced and converted.

本実施形態に係る論理回路動作モデル生成装置1および論理回路動作モデル生成方法によれば、制約モデル120で規定した時間的精度(観測時刻)と空間的精度(観測対象とするレジスタ等の範囲)を一貫して保持するように縮小変換している。この結果、生成した第2の論理回路動作モデル60の精度は、クロック毎に内部レジスタの内容を記述した第1の論理回路動作モデル50の精度を劣化させないことが保証されている。   According to the logic circuit behavior model generation device 1 and the logic circuit behavior model generation method according to the present embodiment, the temporal accuracy (observation time) and spatial accuracy (range of registers to be observed) defined by the constraint model 120. Is reduced and converted to keep it consistent. As a result, the accuracy of the generated second logic circuit operation model 60 is guaranteed not to deteriorate the accuracy of the first logic circuit operation model 50 describing the contents of the internal register for each clock.

また、本実施形態に係る論理回路動作モデル生成装置1および論理回路動作モデル生成方法によれば、制約モデル120で規定した時間的精度、空間的精度が保証された形態で第2の論理回路動作モデル60へ縮小変換している。カウンタ回路101に係る具体例では、命令数が337から134に削減されている。この結果、縮小変換されたモデルでのシミュレーション時間を大幅に短縮することが可能となる。   Further, according to the logic circuit operation model generation device 1 and the logic circuit operation model generation method according to the present embodiment, the second logic circuit operation is performed in a form in which the temporal accuracy and the spatial accuracy specified by the constraint model 120 are guaranteed. Reduction conversion to the model 60 is performed. In the specific example of the counter circuit 101, the number of instructions is reduced from 337 to 134. As a result, it is possible to greatly shorten the simulation time in the reduced model.

さらに、第2の論理回路動作モデル60の生成は、論理回路RTLモデル100、外部動作モデル110、および制約モデル120のみから自動的に生成することができる。   Furthermore, the generation of the second logic circuit operation model 60 can be automatically generated only from the logic circuit RTL model 100, the external operation model 110, and the constraint model 120.

この結果、論理回路RTLモデル100が既に存在する場合には、一般的に規模の大きな論理回路RTLモデル100の詳細な構造や内部状態に関する知識をモデル作成者(第2の論理回路動作モデル60の作成者)が知らない場合であっても、外部動作に関する知識と検証に必要な知識があれば外部動作モデル110と制約モデル120を生成することによって、自動的に第2の論理回路動作モデル60が生成される。   As a result, when the logic circuit RTL model 100 already exists, knowledge of the detailed structure and internal state of the logic circuit RTL model 100 that is generally large in scale is obtained by the model creator (the second logic circuit operation model 60). Even if the creator does not know, if there is knowledge about the external operation and knowledge necessary for verification, the external operation model 110 and the constraint model 120 are generated to automatically generate the second logic circuit operation model 60. Is generated.

このため、第2の論理回路動作モデル60の生成に係る工数を大幅に削減することができる。   For this reason, the man-hour concerning the production | generation of the 2nd logic circuit operation | movement model 60 can be reduced significantly.

さらに、本実施形態に係る論理回路動作モデル生成装置1および論理回路動作モデル生成方法によれば、制約モデル120に記述を追加する等によって、過去に作成した論理回路動作モデルからより効率の高い論理回路動作モデルを生成することができる。このため、過去の改良結果を積み重ねて利用することも可能であり、改良に関する時間を削減することが可能である。   Furthermore, according to the logic circuit operation model generation device 1 and the logic circuit operation model generation method according to the present embodiment, by adding a description to the constraint model 120 or the like, a more efficient logic can be obtained from a previously created logic circuit operation model. A circuit behavior model can be generated. For this reason, past improvement results can be used in a stacked manner, and the time for improvement can be reduced.

また、解析結果報告には、影響範囲の広い箇所が明示される。そこで、影響範囲の広いものから優先的に、例えば、不定であった条件を具体的に特定できるか否かを論理回路設計者に問い合わせて確認することもできる。このように、条件特定のための調査にかかる工数も削減することができる。   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.

本発明に係る論理回路動作モデル生成装置および論理回路動作モデル生成方法の位置付けを説明する図。The figure explaining the positioning of the logic circuit operation model generation device and the logic circuit operation model generation method according to the present invention. 本発明に係る論理回路動作モデル生成装置の実施形態の構成例を示す図。The figure which shows the structural example of embodiment of the logic circuit operation | movement model production | generation apparatus which concerns on this invention. 本発明に係る論理回路動作モデル生成方法の基本的な処理の流れを示すフローチャート。The flowchart which shows the flow of a basic process of the logic circuit operation | movement model generation method which concerns on this invention. 論理回路RTLモデルを説明するための具体例としてのブロック図。The block diagram as a specific example for demonstrating a logic circuit RTL model. 外部動作モデルを説明するための具体例としてのタイミングチャート。The timing chart as a specific example for demonstrating an external operation model. 制約モデルを説明する具体例を示す図。The figure which shows the specific example explaining a constraint model. Verilog-HDLで記述された論理回路RTLモデルの具体例を示す第1の図。The 1st figure which shows the specific example of the logic circuit RTL model described by Verilog-HDL. Verilog-HDLで記述された論理回路RTLモデルの具体例を示す第2の図。The 2nd figure which shows the specific example of the logic circuit RTL model described by Verilog-HDL. Verilog-HDLで記述された外部動作モデルの具体例を示す図。The figure which shows the specific example of the external operation model described by Verilog-HDL. 制約モデルを記述した具体例を示す図。The figure which shows the specific example which described the constraint model. グラフで記述された論理回路RTLモデルの具体例を示す図。The figure which shows the specific example of the logic circuit RTL model described with the graph. コールグラフの具体例を示す図。The figure which shows the specific example of a call graph. 統合された第1の論理回路動作モデルの具体例を示す図。The figure which shows the specific example of the integrated 1st logic circuit operation | movement model. 評価記号の生成方法の一例を示す図。The figure which shows an example of the production | generation method of an evaluation symbol. 生成される評価記号表の一例を示す図。The figure which shows an example of the evaluation symbol table produced | generated. 読込み命令と書込み命令の短絡判定の一例を示す図。The figure which shows an example of the short circuit determination of a read command and a write command. 書込み待ち命令と書込み命令の短絡判定の一例を示す図。The figure which shows an example of the short circuit determination of a write wait command and a write command. 定数の畳み込み判定の一例を示す図。The figure which shows an example of the convolution determination of a constant. 確定した条件の分岐命令削除判定の一例を示す図。The figure which shows an example of the branch instruction deletion determination of the defined conditions. 縮小変換前の論理回路動作モデルと縮小変換後の論理回路動作モデルの一例を示す図。The figure which shows an example of the logic circuit operation | movement model before reduction conversion, and the logic circuit operation | movement model after reduction conversion. 解析結果報告の一例を示す図。The figure which shows an example of an analysis result report.

符号の説明Explanation of symbols

1 論理回路動作モデル生成装置
2 生成部
3 変換部
30 記号評価部
31 縮小変換判定部
32 更新部
50 第1の論理回路動作モデル
60 第2の論理回路動作モデル
70 解析結果
100 論理回路RTLモデル
110 外部動作モデル
120 制約モデル
DESCRIPTION OF SYMBOLS 1 Logic circuit operation model production | generation apparatus 2 Production | generation part 3 Conversion part 30 Symbol evaluation part 31 Reduction | contraction conversion determination part 32 Update part 50 1st logic circuit operation model 60 2nd logic circuit operation model 70 Analysis result 100 Logic circuit RTL model 110 External motion model 120 Constraint model

Claims (30)

論理回路の動作をレジスタ・トランスファ・レベルで記述した論理回路RTLモデルと前記論理回路RTLモデルに対する入出力動作の記述を含む外部動作モデルとを統合し、前記論理回路の動作とそれに結合される外部装置の動作とを統合的に記述した第1の論理回路動作モデルを生成する生成部と、
検証目的に応じた検証精度が記述された制約モデルを入力し、前記制約モデルに基づいて前記検証精度を保証する範囲で前記第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に記載の論理回路動作モデル生成装置。 3. The logic circuit operation model according to claim 2, wherein the symbol evaluation unit treats the evaluation symbol including a constant and an indefinite value as the evaluation symbol, and obtains the evaluation symbol based on a symbol evaluation rule for a combination thereof. Generator. 前記記号評価部は、一次式、範囲式、論理式の少なくとも1つを前記評価記号として扱い、これらの組み合わせについての記号評価規則に基づいて前記評価記号をさらに求めることを特徴とする請求項6に記載の論理回路動作モデル生成装置。 The symbol evaluation unit treats at least one of a primary expression, a range expression, and a logical expression as the evaluation symbol, and further determines the evaluation symbol based on a symbol evaluation rule for a combination thereof. The logic circuit operation model generation device described in 1. 前記縮小変換判定部は、
読込み命令と書込み命令とがある場合において、
前記読込み命令が読み込む記憶場所と前記書込み命令が書き込む記憶場所とが同一であり、前記読込み命令が実行されたときに、前記書込み命令が直近の過去に無条件で実行されることを縮小変換判定基準とし、
前記縮小変換判定基準が満たされたとき、前記読込み命令と前記書込み命令とを短絡することを縮小変換方法とする、
ことを特徴とする請求項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
前記変換部は、縮小変換の中断を指示された場合、指示された時点が縮小変換の途中であっても、前記制約モデルを満たす既に縮小変換された範囲を第2の論理回路動作モデルとして生成することを特徴とする請求項1に記載の論理回路動作モデル生成装置。 When the conversion unit is instructed to interrupt the reduction conversion, the conversion unit generates an already reduced-conversion range that satisfies the constraint model as the second logic circuit operation model even if the instructed time point is in the middle of the reduction conversion. The logic circuit operation model generation device according to claim 1, 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.
論理回路の動作をレジスタ・トランスファ・レベルで記述した論理回路RTLモデルと前記論理回路RTLモデルに対する入出力動作の記述を含む外部動作モデルとを統合し、前記論理回路の動作とそれに結合される外部装置の動作とを統合的に記述した第1の論理回路動作モデルを生成する生成ステップと、
検証目的に応じた検証精度が記述された制約モデルを入力し、前記制約モデルに基づいて前記検証精度を保証する範囲で前記第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に記載の論理回路動作モデル生成方法。 18. The logic circuit operation model according to claim 17, wherein the symbol evaluation step treats the evaluation symbol including a constant and an indefinite value as the evaluation symbol, and obtains the evaluation symbol based on a symbol evaluation rule for a combination thereof. Generation method. 前記記号評価ステップは、一次式、範囲式、論理式の少なくとも1つを前記評価記号として扱い、これらの組み合わせについての記号評価規則に基づいて前記評価記号をさらに求めることを特徴とする請求項21に記載の論理回路動作モデル生成方法。 The symbol evaluation step treats at least one of a primary expression, a range expression, and a logical expression as the evaluation symbol, and further determines the evaluation symbol based on a symbol evaluation rule for a combination thereof. 2. A logic circuit operation model generation method described in 1. 前記縮小変換判定ステップは、
読込み命令と書込み命令とがある場合において、
前記読込み命令が読み込む記憶場所と前記書込み命令が書き込む記憶場所とが同一であり、前記読込み命令が実行されたときに、前記書込み命令が直近の過去に無条件で実行されることを縮小変換判定基準とし、
前記縮小変換判定基準が満たされたとき、前記読込み命令と前記書込み命令とを短絡することを縮小変換方法とする、
ことを特徴とする請求項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.
JP2005188331A 2005-06-28 2005-06-28 Logical circuit operation model generation device and logical circuit operation model generation method Pending JP2007011477A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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