JP2003216683A - Function verification unit - Google Patents

Function verification unit

Info

Publication number
JP2003216683A
JP2003216683A JP2002011953A JP2002011953A JP2003216683A JP 2003216683 A JP2003216683 A JP 2003216683A JP 2002011953 A JP2002011953 A JP 2002011953A JP 2002011953 A JP2002011953 A JP 2002011953A JP 2003216683 A JP2003216683 A JP 2003216683A
Authority
JP
Japan
Prior art keywords
verification
signal
information
timing diagram
hdl
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.)
Granted
Application number
JP2002011953A
Other languages
Japanese (ja)
Other versions
JP4153699B2 (en
Inventor
Masaaki Tanimoto
匡亮 谷本
Hiromi Ara
宏視 荒
Takashi Suzuki
敬 鈴木
Masaki Ito
雅樹 伊藤
Konagi Uchibe
こなぎ 内部
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002011953A priority Critical patent/JP4153699B2/en
Publication of JP2003216683A publication Critical patent/JP2003216683A/en
Application granted granted Critical
Publication of JP4153699B2 publication Critical patent/JP4153699B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a function verification generation unit capable of preparing the function verification description to verify function verification items of a circuit to be verified even when a person in charge of verification does not learn HDL or a verification description language other than HDL, a designer who has learned HDL does not learn the verification description language other than HDL, or the function verification description itself described in HDL is not verified, and a description method in which a designer or a person in charge of verification clearly and uniformly describes the verification content of the circuit operation by using a timing diagram. <P>SOLUTION: The function verification description generation unit having a means to input the logical relationship between wave profiles and the generation information of the logical relationship in the timing diameter and a means to generate the verification description from the timing diagram based on the logical relationship between the wave profiles and the generation information of the logical relationship comprises a terminal information extracting unit 1, a timing diagram editing unit 2, a verified operation extracting unit 3, and a verification description generation unit 4. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、機能検証装置に関
し、特にハードウェア機能記述言語の形式で記述され
た、たとえばCPU(中央演算処理装置)やDSP(デ
ジタル信号処理装置)などのデジタル回路全般の機能検
証における機能検証記述の生成装置に適用して有効な技
術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a function verification device, and more particularly to general digital circuits such as a CPU (central processing unit) and a DSP (digital signal processing device) described in a hardware function description language format. The present invention relates to a technique effective when applied to a function verification description generation device in function verification.

【0002】[0002]

【従来の技術】本発明者が検討したところによれば、機
能検証装置に関しては、たとえば特開平6−33297
1号公報に記載される技術などが挙げられる。前記特開
平6−332971号公報には、端子情報と、この端子
の入出力信号波形と、この入出力信号波形のタイミング
制約情報を伴うタイミングダイアグラムからHDL(ハ
ードウェア機能記述言語)形式の機能モデルを生成する
HDL生成手段を有する機能モデル生成装置が開示され
ている。
2. Description of the Related Art According to a study made by the present inventor, regarding a function verification device, for example, Japanese Patent Laid-Open No. 6-33297 is disclosed.
The technique described in Japanese Patent Publication No. 1 is cited. The above-mentioned Japanese Patent Laid-Open No. 6-332971 discloses a functional model in HDL (Hardware Function Description Language) format from terminal information, an input / output signal waveform of this terminal, and a timing diagram with timing constraint information of this input / output signal waveform. There is disclosed a functional model generation device having HDL generation means for generating.

【0003】[0003]

【発明が解決しようとする課題】ところで、前記特開平
6−332971号公報の機能モデル生成装置では、タ
イミングダイアグラム上に検証項目を明確に記述する手
段が提供されておらず、さらに明確化された機能検証項
目を検証するための機能検証記述の生成も行っていな
い。特に、HDL以外の検証記述言語による記述生成は
行っていない。
By the way, the functional model generating apparatus disclosed in Japanese Patent Laid-Open No. 6-332971 does not provide means for clearly describing verification items on a timing diagram, which is further clarified. The functional verification description for verifying the functional verification items is not generated. In particular, description generation using a verification description language other than HDL is not performed.

【0004】また、本発明者が、前記のような機能検証
装置に関して検討した結果、以下のようなことが明らか
となった。
Further, as a result of the examination by the present inventor of the above-mentioned function verification device, the following facts have become clear.

【0005】たとえば、論理回路からなる回路素子につ
いて、近年、HDLを入力する高性能の機能シミュレー
タの出現に伴い、ハードウェアの機能設計をHDLで行
うという設計スタイルが定着してきた。また、近年、検
証すべき論理回路の大規模化に伴い、機能シミュレータ
を用いた機能検証を効率的に行うための検証記述言語や
時相論理や時区間論理に基づいた検証記述言語を用いる
モデル検査法による網羅的な機能検証技術も定着してき
た。特に、論理回路の機能検証においては、設計者や検
証担当者はタイミングダイアグラムを用いて回路動作の
検証内容の明確化を行うが、作成したタイミングダイア
グラムから直接に検証対象論理回路の検証を行うための
手段が提供されず、マニュアルでHDLやHDL以外の
検証記述言語による機能検証記述を整備する必要があ
る。
For example, regarding a circuit element composed of a logic circuit, in recent years, with the advent of a high-performance functional simulator for inputting HDL, a design style of performing functional design of hardware by HDL has been established. In addition, in recent years, with the increase in the scale of logic circuits to be verified, a model using a verification description language based on temporal logic or time interval logic for efficiently performing functional verification using a functional simulator has been developed. Comprehensive functional verification technology using inspection methods has also become established. Especially in functional verification of logic circuits, designers and verifiers use timing diagrams to clarify the verification contents of circuit operation, but to verify the verification target logic circuit directly from the created timing diagram. However, the function verification description in HDL or a verification description language other than HDL needs to be prepared manually.

【0006】しかしながら、機能検証記述を作成するた
めには、たとえば検証担当者がHDLやHDL以外の機
能記述言語を記述できなければならず、そのため検証担
当者はHDLやHDL以外の検証記述言語を学習しなけ
ればならず、検証担当者にとって負担が大きいという問
題がある。また、HDLを学習済みの設計者がHDLで
機能検証記述を作成する場合であっても、HDLで記述
した機能検証記述自体の検証を行わねばならず、さらに
大規模な論理回路においては機能検証項目が多いことか
ら、同様にHDLを学習済みの設計者にとって負担が大
きいという問題がある。
However, in order to create a functional verification description, for example, a verifier must be able to describe HDL or a function description language other than HDL. Therefore, the verifier uses HDL or a verification description language other than HDL. There is a problem that the person in charge of verification has to learn and the burden is heavy on the person in charge of verification. Further, even when a designer who has learned HDL creates a function verification description in HDL, the function verification description itself described in HDL must be verified, and the function verification is performed in a larger-scale logic circuit. Since there are many items, there is also a problem that a designer who has already learned HDL has a heavy burden.

【0007】そこで、本発明は、このような問題を解決
するためになされたもので、検証担当者が新たにHDL
やHDL以外の検証記述言語を学習しなくても、HDL
を学習済みの設計者がHDL以外の検証記述言語を学習
したり、HDLで記述した機能検証記述自体の検証を行
わなくても、検証対象回路の機能検証項目を検証するた
めの機能検証記述を作成可能とする機能検証記述生成装
置を提供することを目的とするものである。
Therefore, the present invention has been made to solve such a problem, and a person in charge of verification newly adds HDL.
HDL without learning verification description languages other than
Even if a designer who has already learned the verification learning language other than HDL does not perform the verification of the functional verification description itself described in HDL, the functional verification description for verifying the functional verification items of the circuit to be verified is provided. It is an object to provide a functional verification description generation device that can be created.

【0008】また、設計者や検証担当者はタイミングダ
イアグラムを用いて回路動作の検証内容の明確化を行う
場合、タイミングダイアグラム上に検証項目を明確に記
述する手段が与えられておらず、検証項目を表現する手
段が曖昧になり、設計者や検証担当者の間で正確な情報
の交換ができず、人的ミスによる検証効率の低下が起こ
るという問題がある。
In addition, when the designer and the person in charge of verification clarify the verification contents of the circuit operation using the timing diagram, there is no means for clearly describing the verification item on the timing diagram, and the verification item is not provided. There is a problem in that the means for expressing is unclear, accurate information cannot be exchanged between the designer and the person in charge of verification, and verification efficiency is reduced due to human error.

【0009】そこで、本発明は、このような問題をも解
決するためになされており、設計者や検証担当者がタイ
ミングダイアグラムを用いて回路動作の検証内容を明確
にかつ統一的に記述する記述法を提供することも目的と
するものである。
Therefore, the present invention has been made in order to solve such a problem, and the designer and the person in charge of verification clearly and uniformly describe the verification contents of the circuit operation using the timing diagram. It is also intended to provide law.

【0010】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述および添付図面から明らかに
なるであろう。
The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

【0011】[0011]

【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
次のとおりである。
Among the inventions disclosed in the present application, a brief description will be given to the outline of typical ones.
It is as follows.

【0012】すなわち、本発明による機能検証装置は、
タイミングダイアグラムに波形間の論理的関係と、前記
論理的関係の生起情報とを入力する手段と、前記波形間
の論理的関係と、前記論理的関係の生起情報とを基に検
証記述をタイミングダイアグラムから生成する手段と、
を有することを特徴とするものである。特に、タイミン
グダイアグラムの作成時に、予め用意されたオブジェク
トを挿入しながら記述可能とし、かつ作成データから機
能検証に用いる動作仕様チェッカHDL記述、およびモ
デル検査法で用いられるプロパティ言語記述を自動生成
し、内部動作のチェック、外部入力信号が満たすべき信
号遷移を守っているかのチェックを可能とするものであ
る。
That is, the functional verification device according to the present invention is
A timing diagram of a verification description based on the logical relationship between the waveforms and the means for inputting the occurrence information of the logical relationship to the timing diagram, the logical relationship between the waveforms, and the occurrence information of the logical relationship. Means to generate from
It is characterized by having. In particular, at the time of creating a timing diagram, it is possible to describe by inserting objects prepared in advance, and automatically generate the behavior specification checker HDL description used for functional verification from the created data and the property language description used in the model checking method, It is possible to check the internal operation and whether the external input signal is observing the signal transition that should be satisfied.

【0013】具体的に、本発明による機能検証装置は、
検証対象のHDL形式の設計データを読み込んで、この
読み込んだ検証対象のHDL形式の設計データに備わる
端子および内部ピンに関して、少なくとも端子名、内部
ピン名、入出力の別、および入出力信号と内部ピン名の
ビット数の各端子および内部ピン情報を取得する端子情
報抽出手段と、前記端子情報抽出手段に接続され、端子
情報抽出手段にて取得した各端子および内部ピン情報を
選択し、前記端子および内部ピンを介して入出力する信
号について、この信号と波形を含みタイミングに関する
タイミング制約情報、この波形間の論理的関係、および
この論理的関係が常に成立するのか少なくとも1回は成
立するのかの生起情報を入力することで、前記検証対象
のHDLの設計データにおけるタイミングダイアグラム
を編集するタイミングダイアグラム編集手段と、前記タ
イミングダイアグラム編集手段に接続され、前記タイミ
ングダイアグラム編集手段から前記各端子および内部ピ
ン情報、前記タイミング制約情報、前記波形間の論理的
関係情報、および前記論理的関係の生起情報からなる検
証対象動作情報を抽出する検証対象動作抽出手段と、前
記検証対象動作抽出手段に接続され、前記検証対象動作
情報に基づき検証記述言語で表現された前記検証対象動
作が満足されているかの検証を目的とする機能検証記述
やHDL形式の前記検証対象動作が満足されているかの
検証を目的とする機能検証記述を生成する検証記述生成
手段と、を備えたことを特徴とする。
Specifically, the function verification device according to the present invention is
The design data in the HDL format to be verified is read, and at least the terminal name, the internal pin name, the type of input / output, and the input / output signal and the internal regarding the terminals and internal pins included in the read design data in the HDL format to be verified A terminal information extracting unit for acquiring each terminal and internal pin information having the number of bits of the pin name, and each terminal and internal pin information connected to the terminal information extracting unit and acquired by the terminal information extracting unit, and selecting the terminal. For signals input and output via the and internal pins, timing constraint information regarding timing including this signal and a waveform, a logical relationship between the waveforms, and whether the logical relationship is always established or is established at least once. By inputting the occurrence information, the timing diagram in the design data of the HDL to be verified is edited. Connected to the timing diagram editing means and from the timing diagram editing means, the terminals and internal pin information, the timing constraint information, the logical relationship information between the waveforms, and the occurrence of the logical relationship. Verification target motion extraction means for extracting verification target motion information consisting of information, and whether the verification target motion expressed in a verification description language based on the verification target motion information is satisfied. And a verification description generation means for generating a function verification description for the purpose of verifying and the function verification description for the purpose of verifying whether the verification target operation in the HDL format is satisfied.

【0014】このように構成することで、設計者や検証
担当者は検証対象の比較的操作可能なタイミングダイア
グラム編集手段上でHDLの記述から得られた端子およ
び内部ピン情報を選択し、タイミングダイアグラム編集
手段上で、この選択後の端子や内部ピンの信号の波形、
この波形間の論理的関係、およびこの論理的関係が常に
成立するのか少なくとも1回は成立するのかの生起情報
を入力しながら、タイミングダイアグラム編集手段上で
タイミングダイアグラムを作成編集する。よって、タイ
ミングダイアグラム編集手段は、タイミングダイアグラ
ム上に検証項目を明確に記述することが可能となるよう
に作用し、よって検証項目の表現の曖昧さを排除するよ
うに作用する。よって、設計者や検証担当者の間で正確
な情報の交換が可能となるように作用し、人的ミスを排
除するように作用する。
With this configuration, the designer and the person in charge of verification select the terminal and internal pin information obtained from the description of the HDL on the timing diagram editing means that is relatively operable to be verified, and the timing diagram is displayed. On the editing means, the signal waveform of the terminal or internal pin after this selection,
The timing diagram is created and edited on the timing diagram editing means while inputting the logical relationship between the waveforms and the occurrence information indicating whether the logical relationship is always established or is established at least once. Therefore, the timing diagram editing means acts so that the verification items can be clearly described on the timing diagram, and thus acts to eliminate the ambiguity of the expression of the verification items. Therefore, it works so that accurate information can be exchanged between the designer and the person in charge of verification, and works to eliminate human error.

【0015】さらに、検証対象動作抽出手段は、前記タ
イミングダイアグラム編集手段を使用し、設計者や検証
担当者によって編集されたタイミングダイアグラム編集
手段から送出されるタイミングダイアグラム情報から波
形間の論理的関係、この論理的関係が指定された波形を
含む端子や内部ピン情報、およびこの論理的関係が常に
成立するのか少なくとも1回は成立するのかの生起情報
などを抽出し、検証記述生成手段は前記検証対象動作抽
出手段から供給される前記波形の論理的関係、この論理
的関係が指定された波形を含む端子や内部ピン情報、お
よびこの論理的関係が常に成立するのか少なくとも1回
は成立するのかの生起情報などに基づき機能検証記述を
自動生成する。よって、検証記述生成手段などは、設計
者や検証担当者がHDLやHDL以外の検証記述言語を
知らなくとも、タイミングダイアグラム編集手段を使用
してタイミングダイアグラムを編集して回路動作の検証
内容の明確化を行うという設計者や検証担当者が従来よ
り行っている操作を行うことで、機能検証記述を生成す
る。よって、検証記述生成手段などは、設計者や検証担
当者の機能検証作業負担を軽減するように作用し、機能
検証効率の向上による設計コストの低減、さらには製品
の生産コストを低減するように作用する。
Further, the verification target operation extracting means uses the timing diagram editing means, and uses the timing diagram information sent from the timing diagram editing means edited by the designer or the person in charge of verification to determine the logical relationship between the waveforms. The terminal and internal pin information including the waveform in which this logical relationship is designated, and the occurrence information of whether this logical relationship is always established or at least once is extracted, and the verification description generation means is the verification target. Occurrence of the logical relationship of the waveforms supplied from the operation extracting means, the terminal and internal pin information including the waveform in which the logical relationship is designated, and whether the logical relationship is always established or is established at least once. A function verification description is automatically generated based on information. Therefore, even if the designer or the person in charge of verification does not know the HDL or the verification description language other than HDL, the verification description generation means edits the timing diagram using the timing diagram editing means to clarify the verification contents of the circuit operation. The functional verification description is generated by performing the operation that the designer and the person in charge of verification, which is to implement the function, has been performed conventionally. Therefore, the verification description generation means, etc. acts to reduce the function verification work load on the designer and the person in charge of verification, reduces the design cost by improving the function verification efficiency, and further reduces the product production cost. To work.

【0016】なお、本発明の技術と、前記特開平6−3
32971号公報の技術とを比較した場合には、以下の
ような違いがある。前記特開平6−332971号公報
の技術は、HDLにより設計記述が存在しない機能ブロ
ックではあるが、シミュレーションによる検証を行う際
に何らかのHDL記述が必要となるものに対して、HD
Lの動作モデル記述を生成する技術であり、本発明の技
術はHDLによる設計記述が存在し、その設計データの
検証を行うためのHDL記述を生成する技術である。そ
の違いは、入力データの違いに現れていると言える。す
なわち、特開平6−332971号公報の技術がタイミ
ングダイアグラムを編集する手段から始まっているのに
対して、本発明の技術が設計データの読み込み手段から
始まっている。
The technique of the present invention and the above-mentioned Japanese Patent Laid-Open No. 6-3
When compared with the technology of Japanese Patent No. 32971, there are the following differences. The technology disclosed in Japanese Patent Laid-Open No. 6-332971 is a functional block in which no design description exists due to HDL, but some HDL description is required for verification by simulation.
This is a technique for generating an L behavior model description, and the technique of the present invention is a technique for generating an HDL description for verifying the design data in which a design description in HDL exists. It can be said that the difference appears in the difference in the input data. That is, the technique disclosed in Japanese Patent Laid-Open No. 6-332971 starts with a means for editing a timing diagram, whereas the technique according to the present invention starts with a means for reading design data.

【0017】以下において、両者の技術の違いを図65
および図66にて簡単に説明する。たとえば、メモリイ
ンターフェースのHDL記述を作成し、その検証を行お
うとすると、メモリをHDLで記述する必要があるが、
公報の技術(図65)によれば、メモリの動作モデルを
記述したHDLがタイミングダイアグラムから生成可能
である。ただし、メモリアクセスの動作が正しいかの検
証はシミュレータがサポートする波形ビューワで目視に
よる動作確認を行うか、動作が正しいかを検証するため
のHDLのチェッカを記述する必要がある。
In the following, the difference between the two technologies is shown in FIG.
A brief description will be given with reference to FIG. For example, if you create an HDL description of a memory interface and try to verify it, you need to describe the memory in HDL.
According to the technology of the publication (FIG. 65), an HDL that describes an operation model of a memory can be generated from a timing diagram. However, to verify whether the memory access operation is correct, it is necessary to visually check the operation with a waveform viewer supported by the simulator, or to write an HDL checker for verifying whether the operation is correct.

【0018】これに対して、本発明の技術(図66)を
適用すると、メモリの動作モデルが不要となるばかりで
なく、動作が正しく行われているかを検証するためのH
DL記述が自動生成できるため、動作が正しく行われて
いるかの確認が自動化される。また、前記の例では、入
力と出力の両方を見ているが、入力のみ、出力のみをチ
ェックする記述を生成することも可能であり、前者は、
たとえば前段の論理回路HDLが正しい出力信号を検証
対象HDLに送出しているかを検証する目的で用いるこ
とができ、後者は検証対象HDLが正しい出力信号の系
列を出力しているかを検証する目的で用いることができ
る。
On the other hand, when the technique of the present invention (FIG. 66) is applied, not only the operation model of the memory becomes unnecessary, but also H for verifying whether the operation is performed correctly.
Since the DL description can be automatically generated, confirmation of whether the operation is performed correctly is automated. Further, in the above example, although both the input and the output are viewed, it is also possible to generate a description that checks only the input and only the output.
For example, it can be used for the purpose of verifying whether the logic circuit HDL in the preceding stage is sending a correct output signal to the verification target HDL, and the latter is for verifying whether the verification target HDL outputs a correct output signal sequence. Can be used.

【0019】[0019]

【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。なお、実施の形態を説明す
るための全図において、同一部材には同一の符号を付
し、その繰り返しの説明は省略する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described in detail below with reference to the drawings. In all the drawings for explaining the embodiments, the same members are designated by the same reference numerals, and the repeated description thereof will be omitted.

【0020】また、本発明の実施の形態では、1.機能
検証記述生成装置の構成、2.オブジェクトの説明、
3.検証対象動作木の構成とその変形、4.TDO2V
erilog Algorithm、5.TDO2CT
L Algorithm、の順に説明する。
In the embodiment of the present invention, Configuration of functional verification description generation device, 2. Object description,
3. 3. Structure of the motion tree to be verified and its modification, 4. TDO2V
erilog Algorithm5. TDO2CT
The description will be made in the order of L Algorithm.

【0021】1.機能検証記述生成装置の構成 図1により、本発明の一実施の形態の機能検証記述生成
装置の構成の一例を説明する。図1は本実施の形態の機
能検証記述生成装置を示す構成図である。
1. Configuration of Function Verification Description Generation Device An example of the configuration of the function verification description generation device according to the embodiment of the present invention will be described with reference to FIG. FIG. 1 is a block diagram showing a functional verification description generation device according to the present embodiment.

【0022】本実施の形態の機能検証記述生成装置は、
大きく分類すると、端子情報抽出手段である端子情報抽
出装置1と、タイミングダイアグラム編集手段であるタ
イミングダイアグラム編集装置2と、検証対象動作抽出
手段である検証対象動作抽出装置3と、検証記述生成手
段である検証記述生成装置4などからなり、検証記述生
成装置4により生成された検証記述は検証記述ファイル
5に格納されるような構成となっている。
The functional verification description generation device according to the present embodiment is
When roughly classified, the terminal information extracting device 1 which is the terminal information extracting device, the timing diagram editing device 2 which is the timing diagram editing device, the verification target operation extracting device 3 which is the verification target operation extracting device, and the verification description creating device. It is composed of a certain verification description generation device 4, etc., and the verification description generated by the verification description generation device 4 is stored in the verification description file 5.

【0023】端子情報抽出装置1は、HDL読み込み装
置11、このHDL読み込み装置11の出力側に接続さ
れるHDL記憶装置12、このHDL記憶装置12の出
力側に接続される端子情報抽出装置13、この端子情報
抽出装置13の出力側に接続される端子情報記憶装置1
4から構成される。この端子情報抽出装置1は、検証対
象のHDL形式の設計データを読み込んで、この読み込
んだ検証対象のHDL形式の設計データに備わる端子お
よび内部ピンに関して、少なくとも端子名、内部ピン
名、入出力の別、および入出力信号と内部ピン名のビッ
ト数の各端子および内部ピン情報を取得する端子情報抽
出手段である。
The terminal information extracting device 1 includes an HDL reading device 11, an HDL storage device 12 connected to an output side of the HDL reading device 11, a terminal information extracting device 13 connected to an output side of the HDL storage device 12, A terminal information storage device 1 connected to the output side of the terminal information extraction device 13
It is composed of 4. This terminal information extraction device 1 reads design data in the HDL format to be verified, and at least the terminal name, internal pin name, and input / output of the terminals and internal pins included in the read design data in the HDL format to be verified. It is a terminal information extracting means for acquiring the input / output signal, each terminal of the number of bits of the internal pin name, and the internal pin information.

【0024】タイミングダイアグラム編集装置2は、上
記端子情報抽出装置1、すなわち上記端子情報記憶装置
14の出力側に接続される。このタイミングダイアグラ
ム編集装置2は、上記端子情報抽出装置1にて取得した
各端子および内部ピン情報を選択し、端子および内部ピ
ンを介して入出力する信号について、この信号と波形を
含みタイミングに関するタイミング制約情報、この波形
間の論理的関係、およびこの論理的関係が常に成立する
のか少なくとも1回は成立するのかの生起情報を入力す
ることで、検証対象のHDLの設計データにおけるタイ
ミングダイアグラムを編集するタイミングダイアグラム
編集手段である。
The timing diagram editing device 2 is connected to the terminal information extraction device 1, that is, the output side of the terminal information storage device 14. The timing diagram editing device 2 selects the terminal and internal pin information acquired by the terminal information extracting device 1 and, regarding a signal input / output via the terminal and the internal pin, includes a timing related to the timing including the signal and the waveform. The constraint diagram, the logical relationship between these waveforms, and the occurrence information as to whether this logical relationship is always satisfied or at least once is input to edit the timing diagram in the design data of the HDL to be verified. It is a timing diagram editing means.

【0025】検証対象動作抽出装置3は、上記タイミン
グダイアグラム編集装置2の出力側に接続されるタイミ
ングダイアグラム記憶装置31、このタイミングダイア
グラム記憶装置31の出力側に接続される検証対象動作
情報抽出装置32、この検証対象動作情報抽出装置32
の出力側に接続される検証対象動作情報記憶装置33か
ら構成される。この検証対象動作抽出装置3は、タイミ
ングダイアグラム編集装置2から各端子および内部ピン
情報、タイミング制約情報、波形間の論理的関係情報、
および論理的関係の生起情報からなる検証対象動作情報
を抽出する検証対象動作抽出手段である。
The verification target operation extraction device 3 includes a timing diagram storage device 31 connected to the output side of the timing diagram editing device 2 and a verification target operation information extraction device 32 connected to the output side of the timing diagram storage device 31. The verification target motion information extraction device 32
Of the verification target operation information storage device 33 connected to the output side of. The verification target operation extraction device 3 receives information on each terminal and internal pin, timing constraint information, logical relationship information between waveforms from the timing diagram editing device 2,
And verification target motion extraction means for extracting verification target motion information consisting of occurrence information of a logical relationship.

【0026】検証記述生成装置4は、上記検証対象動作
抽出装置3、すなわち上記検証対象動作情報記憶装置3
3の出力側に接続される。この検証記述生成装置4は、
検証対象動作情報に基づき検証記述言語で表現された検
証対象動作が満足されているかの検証を目的とする機能
検証記述やHDL形式の検証対象動作が満足されている
かの検証を目的とする機能検証記述を生成する検証記述
生成手段である。
The verification description generation device 4 includes the verification target action extraction device 3, that is, the verification target action information storage device 3.
3 is connected to the output side. This verification description generation device 4
Functional verification for the purpose of verifying whether the verification target operation expressed in the verification description language based on the verification target operation information is satisfied or functional verification for the purpose of verifying whether the verification target operation in HDL format is satisfied. It is a verification description generation means for generating a description.

【0027】2.オブジェクトの説明 図2〜図5により、本実施の形態の機能検証記述生成装
置において、オブジェクトの一例を説明する。図2はコ
ンペアオブジェクトを説明するための回路例の説明図、
図3はコンペアオブジェクトを説明するためのタイミン
グダイアグラム例の説明図、図4はウェイトオブジェク
トを説明するためのタイミングダイアグラム例の説明
図、図5はウェイトオブジェクトを説明するためのチェ
ックボックス例の説明図である。
2. Description of Object An example of an object in the function verification description generation device according to the present exemplary embodiment will be described with reference to FIGS. 2 to 5. FIG. 2 is an explanatory diagram of a circuit example for explaining a compare object,
3 is an explanatory diagram of an example of a timing diagram for explaining a compare object, FIG. 4 is an explanatory diagram of an example of a timing diagram for explaining a weight object, and FIG. 5 is an explanatory diagram of an example of a check box for explaining a weight object. Is.

【0028】タイミングダイアグラムに動作内容や、検
証したい信号遷移を明示的に記述することを可能とする
目的で、シグナルオブジェクト(signal obj
ect)、コンペアオブジェクト(compare o
bject)、ウェイトオブジェクト(wait ob
ject)、リレーションオブジェクト(relati
on object)の4種類のオブジェクトを導入す
る。
Signal objects (signal obj) are used for the purpose of explicitly describing the operation contents and signal transitions to be verified in the timing diagram.
ect), compare object (compare o
object), a weight object (wait ob)
object), relation object (relati)
4 types of objects (on object) are introduced.

【0029】2−1.シグナルオブジェクト(sign
al object) タイミングダイアグラムに描かれた信号波形のrela
tion objectの始点または終点となった所の
値とその値がタイミングダイアグラム上の何サイクル目
かを表す。特に、値としては、信号値と信号変化を取る
ことができる。また、信号変化は、特定の信号値から特
定の信号値、特定の信号値からの変化、特定の信号値へ
の変化、および特定の信号値が与えられている分けでは
ないが信号値の変化、何れかを表現可能とする。さら
に、exiを指定することで、たとえば「指定サイクル
で信号変化する、ということが少なくとも1回は起こ
る」や「指定サイクルで信号値がある値になる、という
ことが少なくとも1回は起こる」などを表現可能とす
る。
2-1. Signal object (sign
al object) rela of the signal waveform drawn on the timing diagram
The value at the start point or the end point of the action object and the number of cycles on the timing diagram are shown. In particular, the value can take a signal value and a signal change. In addition, a signal change is a change from a specific signal value to a specific signal value, a change from a specific signal value, a change to a specific signal value, and a change in a signal value although it is not a division given a specific signal value. , Either of them can be expressed. Further, by specifying exi, for example, "a signal changes in a specified cycle at least once" or "a signal value reaches a certain value in a specified cycle occurs at least once". Can be expressed.

【0030】2−2.コンペアオブジェクト(comp
are object) タイミングダイアグラムに描かれた信号波形上に設定す
ることで、設定された信号値に対して、信号値比較など
の比較演算を記述することが可能である。特に、比較を
行う際に左辺にはcompare objectが指定
された信号のみからなる、ビット切り出しやシフト、イ
ンクリメント、デクリメントなどの算術論理演算が記述
可能である。また、右辺には、タイミングダイアグラム
に描かれた任意の信号、信号:n形式にて与えられるc
ompare objectが指定されたサイクルから
nサイクル前の信号値を表す信号、およびそれらのビッ
ト切り出しからなる算術論理演算式が記述可能である。
比較演算としては、<、≦、==、≠、≧、>の何れか
が記述可能である。さらに、exiを指定することで、
「指定サイクルでcompare objectに設定
された比較演算が成立する、ということが少なくとも1
回は起こる」を表現可能とする。
2-2. Compare object (comp
are object) By setting on the signal waveform drawn in the timing diagram, it is possible to describe a comparison operation such as signal value comparison with respect to the set signal value. In particular, when performing comparison, arithmetic logic operations such as bit cutout, shift, increment, and decrement can be described on the left side that consist of only signals for which compare object is designated. Also, on the right side, an arbitrary signal drawn in the timing diagram, signal: c given in the form of n
It is possible to describe a signal representing a signal value n cycles before the cycle in which the ompare object is designated, and an arithmetic logic operation expression formed by cutting out those bits.
As the comparison operation, any one of <, ≤, ==, ≠, ≥,> can be described. Furthermore, by specifying exi,
“At least 1 means that the comparison operation set in compare object is satisfied in the specified cycle.
“Times occur” can be expressed.

【0031】たとえば、図2に示す回路例では、マルチ
サイクルの加算器(レイテンシー=3サイクル)におい
て、CLK、Valid、A[7:0]、B[7:0]
の入力に対してD[8:0]を出力する場合である。機
能は、Valid立ち上がりで入力データA[7:0]
とB[7:0]を取り込み、3サイクル後に加算結果を
出力する。正しく加算が行われているかを検証対象とす
る。
For example, in the circuit example shown in FIG. 2, in a multi-cycle adder (latency = 3 cycles), CLK, Valid, A [7: 0], B [7: 0].
In this case, D [8: 0] is output in response to the input of. The function is input data A [7: 0] at the rising edge of Valid.
And B [7: 0] are fetched and the addition result is output after three cycles. Verify that the addition is done correctly.

【0032】この図2のマルチサイクルの加算器におい
て、タイミングダイアグラム例は、たとえば図3に示す
ように、relation objectのrel_H
1の始点αと終点βにおける、compare obj
ectのcompare(D==A:3+B:3)を示
している。
In the multi-cycle adder of FIG. 2, an example of a timing diagram is, for example, as shown in FIG. 3, rel_H of a relation object.
Compare obj at start point α and end point β of 1
The ect compare (D == A: 3 + B: 3) is shown.

【0033】2−3.ウェイトオブジェクト(wait
object) タイミングダイアグラムに描かれたクロック信号の立ち
上がりエッジに対して指定可能であり、ある条件(以
降、wait解除条件という)が成立するまで、その前
のサイクルの信号値が繰り返し実行されることを表す。
特に、wait解除条件はタイミングダイアグラム上の
任意の信号、およびそのビット切り出しからなる算術論
理演算式を指定可能である。また、繰り返し実行におい
て、チェックされるべき信号名を指定可能である。特
に、繰り返し実行でチェックする信号を指定しなけれ
ば、「何時かwait解除条件が成立」を表す。さら
に、exiを指定することで、「何時かwait解除条
件が成立する、ということが少なくとも1回は起こる」
や「何時かwait解除条件が成立し、それまでは指定
信号が繰り返し同じ値を取る、ということが少なくとも
1回は起こる」を表現可能である。
2-3. Weight object (wait
object) It can be specified for the rising edge of the clock signal drawn in the timing diagram, and the signal value of the previous cycle can be repeatedly executed until a certain condition (hereinafter, wait release condition) is satisfied. Represent
In particular, as the wait release condition, it is possible to specify an arbitrary signal on the timing diagram and an arithmetic logic operation expression formed by cutting out the bit. In addition, a signal name to be checked can be designated in repeated execution. In particular, unless a signal to be checked by repeated execution is designated, "sometime the wait cancellation condition is satisfied" is displayed. Furthermore, by specifying exi, "sometime the wait cancellation condition is met occurs at least once."
It can be expressed as "or at least one time the wait cancellation condition is met and the designated signal repeatedly takes the same value until then".

【0034】たとえば、複数のwait object
を設定する場合、特にobject間の順番だけが規定
可能で、サイクル差を指定できない場合がある。これに
対応するため、図4に示すような特殊仕様を設ける。こ
のタイミングダイアグラム例では、A立ち上がりの1サ
イクル後にwait((B==C)&B&!E)が成立
後、最低0サイクル経過した後、wait((B==
C)&&!E)が成立し、その最低0サイクル後、wa
it(A==1)が成立することを意味している。な
お、wait(A==1)成立後の1サイクル後にDが
0から1に変化することも示している。
For example, a plurality of wait objects
In some cases, only the order between objects can be specified and the cycle difference cannot be specified. In order to deal with this, special specifications as shown in FIG. 4 are provided. In this timing diagram example, after waiting ((B == C) & B &! E) is established one cycle after the rising edge of A, at least 0 cycles have elapsed, and then wait ((B ==
C) &&! E) is established, and after at least 0 cycle, wa
It means that it (A == 1) holds. It is also shown that D changes from 0 to 1 one cycle after the establishment of wait (A == 1).

【0035】また、チェックボックス例は、たとえば図
5に示すように、信号名A〜Eの繰り返しとWait解
除のボックスに対して、チェックでチェック対象、ノン
チェックで非対象とし、またデフォルトはノンチェック
とする。ただし、信号値がDon’t careの場合
は、デフォルトでチェックし、ユーザによる変更不可と
する。
Further, in the example of the check box, as shown in FIG. 5, for the boxes of repeating the signal names A to E and the Wait release, the check is checked, the check is not checked, and the default is non-checked. Check. However, when the signal value is Don't care, it is checked by default and cannot be changed by the user.

【0036】2−4.リレーションオブジェクト(re
lation object) タイミングダイアグラムに描かれた信号波形間の論理的
関係を表す。つまり、ある信号があるサイクルである値
を取ったなら、ある信号があるサイクルである値を取る
ということを表現するためのものである。−>を”なら
ば”とすると、A−>Bなる命題の−>を表現するのが
relation objectの役目である。なお、
relation objectの始点・終点として
は、全てのobjectを取ることが可能である。ま
た、終点が一致する場合、relation obje
ct同士の論理演算を指定可能であり、たとえば(A−
>B)△(C−>B)の場合、A△C−>Bと解釈す
る。特に、△は論理AND、論理OR、論理EORの何
れかを表す。さらに、(A−>B)−>Cは、A−>
(B−>C)=A&B−>Cと解釈され、一般に、n個
のrelation objectにより直列に構成さ
れる命題式は括弧の付け方によらず、 A1−>A2−>・・・An−>An+1 式(1) と解釈され、その意味は下記で与えられる。
2-4. Relation object (re
relation object) represents a logical relationship between signal waveforms depicted in a timing diagram. That is, it is for expressing that a certain signal takes a certain value in a certain cycle, and a certain signal takes a certain value in a certain cycle. It is the role of the relation object to express-> in the proposition A-> B, where-> is "if". In addition,
It is possible to take all objects as the start and end points of the relation object. If the end points match, the relation object
It is possible to specify a logical operation between cts, for example (A-
> B) Δ (C-> B), it is interpreted as AΔC-> B. In particular, Δ represents any one of logical AND, logical OR, and logical EOR. Furthermore, (A->B)-> C is A->
(B-> C) = A &B-> C, and in general, a propositional expression configured in series by n relation objects is A1->A2-> ... An->, regardless of how parentheses are attached. An + 1 is interpreted as equation (1) and its meaning is given below.

【0037】A1&A2&・・・&An−>An+1 特に、A1−>A2、A2−>A3とrelation
objectと指定した場合は、個別に、 A1−>A2 A2−>A3 の命題が描かれたものとして解釈を行う。すなわち、式
(1)に示す命題を得るためには、必ず、relati
on objectを始点または終点にして描く必要が
ある。たとえば、 A1−>A2、(A1とA2を結ぶrelation
object)−>A3 と描くと、 (A1−>A2)−>A3 となり、結局、 A1&A2−>A3 と解釈される。また、A2−>A3、A1−>(A2と
A3を結ぶrelation object)と描く
と、 A1−>(A2−>A3)=A1&A2−>A3 と解釈される。
A1 & A2 & ... &An-> An + 1 Especially, A1-> A2, A2-> A3 and relation
When object is designated, it is interpreted as if the proposition A1-> A2 A2-> A3 is drawn individually. That is, in order to obtain the proposition shown in equation (1), it is necessary to
It is necessary to draw on object as the start point or the end point. For example, A1-> A2, (relation connecting A1 and A2
object)-> A3, it becomes (A1->A2)-> A3, which is interpreted as A1 &A2-> A3. Further, when it is drawn as A2-> A3, A1-> (relation object connecting A2 and A3), it is interpreted as A1->(A2-> A3) = A1 &A2-> A3.

【0038】さらに、exiの指定は、relatio
n objectにより構成された命題の−>に対応す
る部分に指定したときのみ有効であり、それ以外は無視
され、指定が有効な場合、「命題が成立する、というこ
とが少なくとも1回は起こる」と解釈される。
Further, exi is specified by relatio.
It is valid only when it is specified in the part corresponding to-> of the proposition composed of no objects, and is ignored otherwise, and when the specification is valid, "the proposition holds true at least once". Is interpreted as

【0039】3.検証対象動作木の構成とその変形 図6〜図27により、検証対象動作木の構成とその変形
の一例を説明する。図6は検証対象動作木の構成とその
変形を示すフロー図、図7はHDLの端子情報の格納に
おける階層ツリーを示す説明図、図8は図7の階層ツリ
ーに付随する端子情報を示す説明図、図9〜図19はタ
イミングダイアグラムの格納におけるタイミングダイア
グラム例を示す説明図、図20はタイミングダイアグラ
ム分割例を示す説明図、図21および図22はタイミン
グダイアグラムの記憶イメージを示す説明図、図23は
タイミングダイアグラム分割手段の動作を示すフロー
図、図24は検証対象動作の切り出しにおける検証対象
動作情報取得手段の動作を示すフロー図、図25は検証
対象動作情報の記憶イメージを示す説明図、図26およ
び図27は検証対象動作から作成される木構造の記憶イ
メージを示す説明図である。
3. Configuration of verification target operation tree and its modification An example of the configuration of the verification target operation tree and its modification will be described with reference to FIGS. 6 to 27. 6 is a flow diagram showing the structure of the operation tree to be verified and its modification, FIG. 7 is an explanatory diagram showing a hierarchical tree in storing HDL terminal information, and FIG. 8 is an explanatory diagram showing terminal information associated with the hierarchical tree of FIG. FIGS. 9 to 19 are explanatory diagrams showing an example of a timing diagram in storing a timing diagram, FIG. 20 is an explanatory diagram showing an example of dividing a timing diagram, and FIGS. 21 and 22 are explanatory diagrams showing stored images of the timing diagram. 23 is a flow chart showing the operation of the timing diagram dividing means, FIG. 24 is a flow chart showing the operation of the verification target operation information acquiring means in the extraction of the verification target operation, and FIG. 25 is an explanatory view showing the storage image of the verification target operation information. 26 and 27 are explanatory diagrams showing a storage image of a tree structure created from the verification target operation.

【0040】図6に示すように、検証対象動作木の構成
とその変形は、まず、入力HDLの端子情報の格納方式
を述べ(ステップS101)、次いで、入力したタイミ
ングダイアグラムをどのような形式で記憶装置に格納す
るかを述べ(ステップS102)、最後に、そこから検
証対象動作をどのように識別して切り出し、どのような
形式で記憶装置に格納するかを述べる(ステップS10
3)。
As shown in FIG. 6, the structure of the operation tree to be verified and its modification are described by first describing the storage method of the terminal information of the input HDL (step S101), and then in what format the input timing diagram is input. It is described how to store in the storage device (step S102), and finally, how to identify and cut out the verification target operation from that, and what format is stored in the storage device (step S10).
3).

【0041】3−1.HDLの端子情報の格納(図7お
よび図8) HDLを読み込み、解析する手段に関しては既知である
ので、端子情報の記憶イメージのみを下記に示す。HD
Lの階層ツリーに付随して、入力・出力・入出力の別に
端子の名前およびビット幅を格納する。なお、階層ツリ
ー自体も下位階層のインスタンス名を保持する。
3-1. Storing terminal information of HDL (FIGS. 7 and 8) Since a means for reading and analyzing HDL is known, only a storage image of terminal information is shown below. HD
The terminal name and bit width are stored separately for input / output / input / output in association with the L hierarchical tree. The hierarchical tree itself holds the instance name of the lower hierarchy.

【0042】前述した図1に示す、端子情報抽出装置1
のHDL読み込み装置11には、たとえばHDL形式で
記述された、たとえばCPUなどのデジタル回路が入力
される。また、HDL読み込み装置11が送出するHD
L形式のデジタル回路の情報は、図1に示すように、H
DL記憶装置12に格納するようにしてもよいし、HD
L読み込み装置11の出力側を端子情報抽出装置13に
接続してもよい。この端子情報抽出装置13により、H
DL読み込み装置11またはHDL記憶装置12から送
出されるHDL形式のデジタル回路情報から、たとえば
図7および図8に示す”名前”、”方向”などの端子情
報が抽出され、抽出された端子情報は端子情報記憶装置
14に記憶される。なお、図7および図8は端子情報が
端子情報記憶装置14に記憶される際のイメージを示し
た図である。なお、上述したような端子情報抽出装置1
は、従来より存在する、いわゆるHDLパーサが生成す
る記号表から容易に作成されるものであり、特に本発明
の機能検証記述生成装置用に開発したものではない。
The terminal information extraction device 1 shown in FIG. 1 described above.
A digital circuit described in, for example, the HDL format, such as a CPU, is input to the HDL reading device 11. Also, the HD transmitted by the HDL reading device 11
As shown in FIG. 1, the information of the digital circuit of L format is H
It may be stored in the DL storage device 12 or HD.
The output side of the L reading device 11 may be connected to the terminal information extracting device 13. With this terminal information extraction device 13, H
Terminal information such as “name” and “direction” shown in FIGS. 7 and 8 is extracted from the digital circuit information in the HDL format sent from the DL reading device 11 or the HDL storage device 12, and the extracted terminal information is It is stored in the terminal information storage device 14. 7 and 8 are diagrams showing an image when the terminal information is stored in the terminal information storage device 14. The terminal information extraction device 1 as described above
Is easily created from a conventional symbol table generated by a so-called HDL parser, and is not particularly developed for the function verification description generation device of the present invention.

【0043】すなわち、図7に示す階層ツリー例では、
最上位階層−サブ階層(名前:pcpun,pmas
n,・・・)−サブ階層(名前:DW01,YX01,
・・・,DW01,・・・)・・・を示している。ま
た、図8の端子情報例では、最上位階層−入力−出力−
入出力、入力−端子1−端子2・・・、端子1−名前:
CMD/ビット幅:3、端子2−名前:READ_n/
ビット幅:1、出力−端子1・・・、端子1−名前:W
AIT/ビット幅:1、入出力−端子1・・・、端子1
−名前:DATA/ビット幅:32を示している。さら
に、サブ階層についても同様に図8の通りである。
That is, in the hierarchical tree example shown in FIG.
Top hierarchy-sub hierarchy (name: pcpun, pmas
n, ...)-Sub hierarchy (name: DW01, YX01,
..., DW01, ...). In the terminal information example of FIG. 8, the highest hierarchy-input-output-
Input / Output, Input-Terminal 1-Terminal 2 ..., Terminal 1-Name:
CMD / bit width: 3, terminal 2-Name: READ_n /
Bit width: 1, output-terminal 1 ..., terminal 1-name: W
AIT / bit width: 1, input / output-terminal 1, ..., Terminal 1
-Name: DATA / bit width: 32 is shown. Further, the sub-tiers are also as shown in FIG.

【0044】3−2.タイミングダイアグラムの格納
(図9〜図23) 前述した図1に示す、タイミングダイアグラム編集装置
2は、端子情報抽出装置1に接続され、GUIなどによ
り端子情報抽出装置1にて取得した端子名や内部ピン名
が設計者や検証担当者により選択され、ならびに各端子
や内部ピンのたとえば入出力波形、セットアップ、ホー
ルドタイムなどのタイミング制約情報、この波形間の論
理的関係、およびこの論理的関係が常に成立するのか少
なくとも1回は成立するのかの生起情報が設計者や検証
担当者により入力される。このように被選択端子情報、
およびタイミング制約情報、入出力波形、波形間の論理
的関係、およびこの論理的関係の生起情報が供給される
タイミングダイアグラム編集装置2は、被選択端子情
報、およびタイミング制約情報、入出力波形、波形間の
論理的関係、およびこの論理的関係の生起情報に基づ
き、たとえば図9〜図19に示すようなタイミングダイ
アグラムを編集する。
3-2. Storage of Timing Diagram (FIGS. 9 to 23) The timing diagram editing device 2 shown in FIG. 1 described above is connected to the terminal information extracting device 1 and the terminal name and internal information acquired by the terminal information extracting device 1 by GUI or the like. Pin names are selected by designers and verifiers, and timing constraint information such as input / output waveforms, setup and hold times for each terminal and internal pin, logical relationships between these waveforms, and this logical relationship are always Occurrence information as to whether it is established or is established at least once is input by a designer or a person in charge of verification. In this way, the selected terminal information,
The timing diagram editing device 2 to which the timing constraint information, the input / output waveform, the logical relationship between the waveforms, and the occurrence information of this logical relationship are supplied is the selected terminal information, the timing constraint information, the input / output waveform, and the waveform. Based on the logical relationship between them and the occurrence information of this logical relationship, for example, a timing diagram as shown in FIGS. 9 to 19 is edited.

【0045】なお、図9〜図19において、たとえば”
CMD[0:1]”は信号が入出力する端子名または内
部ピン名およびビット数を示し、”(in)”はその端
子が入力端子であることを示している。また、図9〜図
19において、矢印”→”は始点と終点の論理的関係を
表し、始点および終点として信号または矢印または記
号”WAIT”をとることができ、この記号”WAI
T”は信号が同期するクロックエッジに付加することが
でき、この記号”WAIT”には信号変化を監視する条
件、すなわち条件成立までタイミングダイアグラムの進
行を上記”WAIT”が付加されたクロックエッジで停
止させるためのタイミングダイアグラムの制御条件をこ
の記号”WAIT”が付加された信号値を用いて設計者
または検証担当者が指定することができ、上記始点およ
び終点および上記矢印に記号”exi”を付加すること
ができ、この記号”exi”はこの記号”exi”が付
加された始点または終点または始点と終点を結ぶ矢印が
表す論理的関係が少なくとも1回は起こるという生起情
報を表し、矢印同士の論理演算を定義することができ、
この矢印同士の論理演算は被演算矢印の表す論理的関係
同士の論理的関係を表す。なお、上記論理的関係は以降
の説明で明らかとなる。また、上記論理的関係は1つの
タイミングダイアグラム上に複数設定可能である。
In FIGS. 9 to 19, for example, ""
CMD [0: 1] "indicates a terminal name or an internal pin name and the number of bits through which a signal is input / output, and" (in) "indicates that the terminal is an input terminal. In FIG. 19, an arrow “→” represents a logical relationship between a start point and an end point, and a signal or an arrow or a symbol “WAIT” can be taken as the start point and the end point.
T "can be added to the clock edge with which the signal is synchronized, and this symbol" WAIT "is a condition for monitoring a signal change, that is, the progress of the timing diagram until the condition is satisfied is the clock edge to which the above" WAIT "is added. The control condition of the timing diagram for stopping can be specified by the designer or the person in charge of verification using the signal value to which the symbol "WAIT" is added, and the symbol "exi" is added to the start point and end point and the arrow. This symbol "exi" represents occurrence information that the logical relationship represented by the start point or the end point or the arrow connecting the start point and the end point to which the sign "exi" is added occurs at least once, and the arrows You can define the logical operation of
The logical operation between the arrows represents the logical relationship between the logical relationships represented by the operated arrows. The above logical relationship will be clarified in the following description. Further, a plurality of the above logical relationships can be set on one timing diagram.

【0046】図9において、信号”CMD[0:1]”
を始点とし、信号”TAG”を終点とするrel_A1
とラベルの付けられた矢印”→”は信号”CMD[0:
1]”と信号”TAG”の論理的関係を表し、”CMD
[0:1]が2‘b01に等しいならばTAGは1サイ
クル後に立ち上がる”という命題A1を表す。また、r
el_A2とラベルの付けられた上記rel_A1とラ
ベルの付けられた矢印を始点とし信号”D[0:7]”
を終点とする矢印は、上記矢印”rel_A1”と信
号”D[0:7]”の論理的関係を表し、”CMD
[0:1]が2’b01に等しくかつ、TAGがその1
サイクル後に立ち上がるならその2サイクル後にD
[0:7]は8‘bxx1101xxに等しい”という
命題A2を表す。
In FIG. 9, the signal "CMD [0: 1]".
With rel_A1 as the starting point and the signal "TAG" as the ending point
The arrow labeled "→" labeled "Signal" CMD [0:
1] ”and a signal“ TAG ”are expressed as a logical relationship,
If [0: 1] is equal to 2'b01, TAG rises after one cycle ".
Signals "D [0: 7]" starting from the arrow labeled rel_A1 above labeled el_A2
The arrow terminating at represents the logical relationship between the above-mentioned arrow "rel_A1" and the signal "D [0: 7]".
[0: 1] is equal to 2'b01 and TAG is 1
If it starts after two cycles, D after two cycles
[0: 7] represents the proposition A2 "equal to 8'bxx1101xx".

【0047】図10において、記号”exi”が付加さ
れたクロックサイクル1での信号”CMD[0:1]”
は”少なくとも1回はCMD[0:1]が2‘b01に
等しくなることがある”を表し、信号”CMD[0:
1]”を始点とし信号”TAG”を終点とするrel_
B1とラベルの付けられた矢印”→”は信号”CMD
[0:1]”と信号”TAG”の論理的関係を表し、”
少なくとも1回はCMD[0:1]が2‘b01に等し
くなることがあるならTAGはその1サイクル後に立ち
上がる”という命題B1を表す。また、rel_B2と
ラベルの付けられた上記rel_B1とラベルの付けら
れた矢印を始点とし信号”D[0:7]”を終点とする
矢印は、上記矢印”rel_B1”と信号”D[0:
7]”の論理的関係を表し、”少なくとも1回はCMD
[0:1]が2’b01に等しくなる事があり、かつT
AGがその1サイクル後に立ち上がるならその2サイク
ル後にD[0:7]は8‘bxx1101xxに等し
い”という命題B2を表す。
In FIG. 10, the signal "CMD [0: 1]" in clock cycle 1 to which the symbol "exi" is added.
Means "at least once CMD [0: 1] may be equal to 2'b01", and the signal "CMD [0:
1] ”as the starting point and the signal“ TAG ”as the ending point rel_
The arrow "→" labeled B1 is the signal "CMD"
"0: 1""and the signal" TAG "represent the logical relationship,
TAG stands up one cycle later if CMD [0: 1] can be equal to 2'b01 at least once. "And also labeled rel_B1 above labeled rel_B2. The arrow starting from the given arrow and ending at the signal "D [0: 7]" is the arrow "rel_B1" and the signal "D [0:
7] ”represents a logical relationship and“ at least once is CMD
[0: 1] may be equal to 2'b01, and T
If AG rises one cycle later, two cycles later D [0: 7] is equal to 8'bxx1101xx. "

【0048】図11において、記号”exi”が付加さ
れたクロックサイクル2での信号”TAG”は”少なく
とも1回はTAGが立ち上がることがある”を表し、信
号”CMD[0:1]”を始点とし信号”TAG”を終
点とするrel_C1とラベルの付けられた矢印”→”
は信号”CMD[0:1]”と信号”TAG”の論理的
関係を表し、”CMD[0:1]が2‘b01に等しい
ならその1サイクル後に少なくとも1回はTAGが立ち
上がることがある”という命題C1を表す。また、re
l_C2とラベルの付けられた上記rel_C1とラベ
ルの付けられた矢印を始点とする矢印は、上記矢印”r
el_C1”と信号”D[0:7]”の論理的関係を表
し、”CMD[0:1]が2’b01に等しくかつ、そ
の1サイクル後にTAGが立ち上がる事がすくなくとも
1回はあるならその2サイクル後にD[0:7]は8
‘bxx1101xxに等しい”という命題C2を表
す。
In FIG. 11, the signal "TAG" in the clock cycle 2 to which the symbol "exi" is added represents "the TAG may rise at least once" and the signal "CMD [0: 1]". An arrow labeled "→" labeled rel_C1 with a starting point and a signal "TAG" as an end point
Represents a logical relationship between the signal "CMD [0: 1]" and the signal "TAG". If "CMD [0: 1] is equal to 2'b01, the TAG may rise at least once after one cycle. Represents the proposition C1. Also, re
The arrow starting from the arrow labeled rel_C1 labeled l_C2 is the arrow “r”
el_C1 "and the signal" D [0: 7] "are expressed in a logical relationship," CMD [0: 1] is equal to 2'b01, and TAG rises at least once after one cycle, if at least once. D [0: 7] is 8 after 2 cycles
It represents the proposition C2 "equal to bxx1101xx".

【0049】図12において、記号”exi”が付加さ
れたクロックサイクル3に同期して出力される信号”D
[0:7]”は”少なくとも1回はD[0:7]が8
‘bxx1101xxに等しくなることがある”を表
し、信号”CMD[0:1]”を始点とし信号”TA
G”を終点とするrel_D1とラベルの付けられた矢
印”→”は信号”CMD[0:1]”と信号”TAG”
の論理的関係を表し、”CMD[0:1]が2‘b01
に等しいならTAGは1サイクル後に立ち上がる”とい
う命題D1を表す。また、rel_D2とラベルの付け
られた上記rel_D1とラベルの付けられた矢印を始
点とし信号”D[0:7]”を終点とする矢印は、上記
矢印”rel_D1”と信号”D[0:7]”の論理的
関係を表し、”CMD[0:1]が2’b01に等しく
かつ、TAGがその1サイクル後に立ち上がるならその
2サイクル後に少なくとも1回はD[0:7]が8‘b
xx1101xxに等しくなることがある”という命題
D2を表す。
In FIG. 12, the signal "D" output in synchronization with the clock cycle 3 to which the symbol "exi" is added.
“[0: 7]” is “D [0: 7] is 8 at least once.
"It may be equal to bxx1101xx", and the signal "TA" with the signal "CMD [0: 1]" as the starting point
The arrow labeled “→” labeled rel_D1 ending in G ”is the signal“ CMD [0: 1] ”and the signal“ TAG ”.
"CMD [0: 1] is 2'b01."
TAG stands for the proposition D1 that "rises after one cycle. Also, the arrow labeled rel_D1 above labeled rel_D2 is the starting point and the signal" D [0: 7] "is the endpoint. The arrow represents the logical relationship between the arrow "rel_D1" and the signal "D [0: 7]", and if "CMD [0: 1] is equal to 2'b01 and TAG rises one cycle later, then 2 D [0: 7] is 8'b at least once after the cycle
It may be equal to xx1101xx ”.

【0050】図13において、記号”exi”が付加さ
れた信号”CMD[0:1]”を始点とし信号”TA
G”を終点とするラベルrel_E1は”ラベルrel
_E1が表す命題が少なくとも1回は成立することがあ
る”を表し、信号”CMD[0:1]”を始点とし信
号”TAG”を終点とする上記rel_E1とラベルの
付けられた矢印”→”は信号”CMD[0:1]”と信
号”TAG”の論理的関係を表し、”CMD[0:1]
が2‘b01に等しいならTAGは1サイクル後に立ち
上がるという命題が少なくとも1回は成立することがあ
る”という命題E1を表す。また、rel_E2とラベ
ルの付けられた上記rel_E1とラベルの付けられた
矢印を始点とし信号”D[0:7]”を終点とする矢印
は、上記矢印”rel_E1”と信号”D[0:7]”
の論理的関係を表し、”CMD[0:1]が2’b01
に等しくかつ、TAGがその1サイクル後に立ち上がる
ならその2サイクル後にD[0:7]は8‘bxx11
01xxに等しい”という命題E2を表す。ここで、”
exi”が無視されている事に注意したい。
In FIG. 13, a signal "TA" starts from a signal "CMD [0: 1]" to which a symbol "exi" is added.
The label rel_E1 whose end point is G "is" label rel
An arrow labeled "rel_E1", which represents "the proposition represented by _E1 may be satisfied at least once," starts with the signal "CMD [0: 1]" and ends with the signal "TAG""→" Represents a logical relationship between the signal "CMD [0: 1]" and the signal "TAG", and "CMD [0: 1]".
Is equal to 2′b01, the proposition that TAG rises after one cycle may be met at least once. ”And the arrow labeled rel_E1 above labeled rel_E2. The arrow starting from and ending at the signal "D [0: 7]" is the above-mentioned arrow "rel_E1" and the signal "D [0: 7]".
"CMD [0: 1] is 2'b01."
And if TAG rises one cycle later, D [0: 7] will be 8′bxx11 two cycles later.
It represents the proposition E2 "equal to 01xx."
Note that the "exi" is ignored.

【0051】図14において、記号”exi”が付加さ
れた信号”CMD[0:1]”を始点とし信号”TA
G”を終点とするrel_F1とラベルの付けられた矢
印を始点とし信号”D[0:7]”を終点とするラベル
rel_F2は”少なくとも1回はラベルrel_F2
が表す命題が少なくとも1回は成立することがある”を
表し、信号”CMD[0:1]”を始点とし信号”TA
G”を終点とする上記rel_F1とラベルの付けられ
た矢印”→”は信号”CMD[0:1]”と信号”TA
G”の論理的関係を表し、”CMD[0:1]が2‘b
01に等しいならTAGは1サイクル後に立ち上がる”
という命題F1を表す。また、rel_G2とラベルの
付けられた上記rel_F1とラベルの付けられた矢印
を始点とし信号”D[0:7]”を終点とする矢印は、
上記矢印”rel_F1”と信号”D[0:7]”の論
理的関係を表し、”CMD[0:1]が2’b01に等
しくかつ、TAGがその1サイクル後に立ち上がるなら
その2サイクル後にD[0:7]は8‘bxx1101
xxに等しいという命題が少なくとも1回は成立するこ
とがある”という命題F2を表す。
In FIG. 14, a signal "TA" starts from a signal "CMD [0: 1]" to which a symbol "exi" is added.
The label rel_F2 starting from the arrow labeled rel_F1 ending in G ”and ending in the signal“ D [0: 7] ”is“ label rel_F2 at least once.
The proposition represented by may be satisfied at least once, and the signal "CMD [0: 1]" is the starting point and the signal "TA
The arrow "→" labeled rel_F1 with the G "as the end point is the signal" CMD [0: 1] "and the signal" TA ".
G "represents a logical relationship, and" CMD [0: 1] is 2'b.
If it equals 01, TAG will rise after one cycle "
Represents the proposition F1. Further, an arrow starting from the arrow labeled rel_F1 and labeled rel_F1 and ending with the signal "D [0: 7]" is
If the arrow "rel_F1" and the signal "D [0: 7]" represent a logical relationship, and "CMD [0: 1] is equal to 2'b01 and TAG rises after one cycle, D after two cycles. [0: 7] is 8'bxx1101
The proposition "equal to xx may be satisfied at least once" is represented as proposition F2.

【0052】図15において、信号”CMD[0:
1]”を始点とし信号”TAG”を終点とするrel_
G1とラベルの付けられた矢印”→”は信号”CMD
[0:1]”と信号”TAG”の論理的関係を表し、”
CMD[0:1]が2‘b01に等しいならTAGは1
サイクル後に立ち上がる”という命題G1を表す。ま
た、rel_G2とラベルの付けられた信号”D[0:
7]”を始点とし上記rel_G1とラベルの付けられ
た矢印を終点とする矢印は、上記矢印”rel_G1”
と信号”D[0:7]”の論理的関係を表し、”D
[0:7]が8‘bxx1101xxに等しくかつ、3
サイクル前にCMD[0:1]が2’b01に等しいな
ら、2サイクル前にTAGが立ち上がる”という命題G
2を表す。
In FIG. 15, the signal "CMD [0:
1] ”as the starting point and the signal“ TAG ”as the ending point rel_
The arrow "→" labeled G1 is the signal "CMD"
"0: 1""and the signal" TAG "represent the logical relationship,
If CMD [0: 1] is equal to 2'b01, TAG is 1.
It represents the proposition G1 of "rise after a cycle" and also the signal "D [0:
7] "as the starting point and the arrow labeled rel_G1 as the end point is the above-mentioned arrow" rel_G1 ".
And the signal "D [0: 7]",
[0: 7] is equal to 8'bxx1101xx and 3
If CMD [0: 1] equals 2'b01 before the cycle, then TAG rises two cycles before "
Represents 2.

【0053】図16において、rel_H1とラベルの
付けられた矢印”→”の終点であるクロックサイクル2
の信号”TAG”に付加された記号”WAIT”は”条
件TAG=1‘b1が成立するまでの間クロックサイク
ル1からクロックサイクル2までの波形を繰り返す”、
すなわち”条件TAG=1‘b1が成立するまでの間T
AGが0に等しくかつD[0:7]が8‘bxx001
01xxに等しい”を表し、信号”CMD[0:1]”
を始点とし上記記号”WAIT”を終点とするrel_
H1とラベルの付けられた矢印”→”は信号”CMD
[0:1]”と上記記号”WAIT”の論理的関係を表
し、”CMD[0:1]が2‘b01に等しいなら条件
TAG=1‘b1が成立するまでの間TAGが0に等し
くかつD[0:7]が8‘bxx00101xxに等し
い”という命題H1を表す。また、rel_H2とラベ
ルの付けられた上記rel_H1とラベルの付けられた
矢印を始点とし信号”D[0:7]”を終点とする矢印
は、上記矢印”rel_H1”と信号”D[0:7]”
の論理的関係を表し、”CMD[0:1]が2’b01
に等しくかつ、条件TAG==1’b1が成立する迄の
間TAGが0に等しくかつ、D[0:7]が8’bxx
00101xxに等しいならその2サイクル後にD
[0:7]は8‘bxx1101xxに等しい”という
命題H2を表す。
In FIG. 16, clock cycle 2 which is the end of the arrow "→" labeled rel_H1.
The symbol "WAIT" added to the signal "TAG" of "repeates the waveform from clock cycle 1 to clock cycle 2 until the condition TAG = 1'b1 is satisfied",
That is, until the condition TAG = 1'b1 is satisfied, T
AG is equal to 0 and D [0: 7] is 8'bxx001
The signal "CMD [0: 1]" represents "equal to 01xx".
Rel_ starting from and ending at the above symbol "WAIT"
The arrow "→" labeled H1 is the signal "CMD"
Represents a logical relationship between [0: 1] "and the above-mentioned symbol" WAIT ". If" CMD [0: 1] is equal to 2'b01, TAG is equal to 0 until the condition TAG = 1'b1 is satisfied. " And D [0: 7] is equal to 8'bxx00101xx ", and the signal" D [0: 7] "starts from the arrow labeled rel_H1 labeled rel_H2. The arrow ending at is the above-mentioned arrow "rel_H1" and signal "D [0: 7]".
"CMD [0: 1] is 2'b01."
And TAG is equal to 0 and D [0: 7] is 8'bxx until the condition TAG == 1'b1 is satisfied.
If equal to 00101xx, D after 2 cycles
[0: 7] represents the proposition H2 "equal to 8'bxx1101xx".

【0054】図17において、rel_I2とラベルの
付けられた矢印”→”の始点であるクロックサイクル2
の信号”TAG”に付加された記号”WAIT”は”条
件TAG=1‘b1が成立するまでの間クロックサイク
ル1からクロックサイクル2までの波形を繰り返す”、
すなわち”いつかはTAGが0から1に変化しかつD
[0:7]がTAGが0と等しい間8‘bxx0010
1xxを繰り返し保持した後それ以外の値に変化する”
を表し、上記記号”WAIT”を始点とし信号”D
[0:7]”を終点とするrel_I2とラベルの付け
られた矢印”→”は上記記号”WAIT”と信号”D
[0:7]”との論理的関係を表し、”いつかはTAG
が0から1に変化しかつD[0:7]が8‘bxx00
101xxからそれ以外の値に変化するならばその2サ
イクル後に[0:7]は8‘bxx1101xxに等し
い”という命題I1を表す。また、rel_I1とラベ
ルの付けられた信号”CMD[0:1]”を始点とし上
記rel_I2とラベルの付けられた矢印を始点とする
矢印は、信号”CMD[0:1]”と上記矢印”rel
_I2”の論理的関係を表し、”CMD[0:1]が2
‘b01に等しいなら上記命題I1が成立する”という
命題I2を表す。
In FIG. 17, clock cycle 2 which is the starting point of the arrow "→" labeled rel_I2.
The symbol "WAIT" added to the signal "TAG" of "repeates the waveform from clock cycle 1 to clock cycle 2 until the condition TAG = 1'b1 is satisfied",
That is, "someday TAG changes from 0 to 1 and D
8'bxx0010 while [0: 7] is equal to 0 for TAG
After repeatedly holding 1xx, it changes to other values ”
, And the signal "D" starting from the above-mentioned symbol "WAIT"
The arrow labeled "→" labeled rel_I2 ending in [0: 7] "is the above symbol" WAIT "and signal" D ".
[0: 7] ”, which represents a logical relationship with
Changes from 0 to 1 and D [0: 7] is 8'bxx00
If it changes from 101xx to any other value, then two cycles later [0: 7] represents the proposition I1 "equal to 8'bxx1101xx." Also, the signal "CMD [0: 1] labeled rel_I1." The arrow starting from the arrow labeled "rel_I2" is the signal "CMD [0: 1]" and the above arrow "rel".
_I2 ”represents a logical relationship, and“ CMD [0: 1] is 2
It represents a proposition I2 that "if it is equal to b01, the above proposition I1 is satisfied".

【0055】図18において、rel_J2とラベルの
付けられた矢印”→”の始点であるクロックサイクル2
の信号”TAG”に付加された記号”WAIT”は”条
件TAG=1‘b1が成立するまでの間クロックサイク
ル1からクロックサイクル2までの波形を繰り返す”、
すなわち”いつかはTAGが0から1に変化する”を表
し、上記記号”WAIT”を始点とし信号”D[0:
7]”を終点とするrel_J2とラベルの付けられた
矢印”→”は上記記号”WAIT”と信号”D[0:
7]”との論理的関係を表し、”いつかはTAGが0か
ら1に変化するならばその2サイクル後にD[0:7]
は8‘bxx1101xxに等しい”という命題J1を
表す。また、rel_J1とラベルの付けられた信号”
CMD[0:1]”を始点とし上記rel_J2とラベ
ルの付けられた矢印を始点とする矢印は、信号”CMD
[0:1]”と上記矢印”rel_J2”の論理的関係
を表し、”CMD[0:1]が2‘b01に等しいなら
上記命題J1が成立する”という命題J2を表す。
In FIG. 18, clock cycle 2 which is the starting point of the arrow "→" labeled rel_J2.
The symbol "WAIT" added to the signal "TAG" of "repeates the waveform from clock cycle 1 to clock cycle 2 until the condition TAG = 1'b1 is satisfied",
That is, it means "someday TAG changes from 0 to 1", and the signal "D [0:
7] ”labeled rel_J2 and ending with“ → ”is the above symbol“ WAIT ”and signal“ D [0:
7] ”, and“ someday, if TAG changes from 0 to 1 two days later, D [0: 7]
Represents the proposition J1 "equal to 8'bxx1101xx. Also, the signal labeled rel_J1"
The arrow starting from CMD [0: 1] "and starting from the arrow labeled rel_J2 is the signal" CMD ".
It represents a logical relationship between [0: 1] and the arrow "rel_J2", and represents a proposition J2 that "the above proposition J1 holds if CMD [0: 1] is equal to 2'b01".

【0056】図19において、信号”CMD[0:
1]”を始点とし信号”D[0:7]”を終点とするr
el_K1とラベルの付けられた矢印”→”は信号”C
MD[0:1]”と信号”D[0:7]”の論理的関係
を表し、”CMD[0:1]が2‘b01に等しいなら
D[0:7]は4サイクル後に8‘bxx1101xx
と等しくなる”という命題K1を表す。また、rel_
K2とラベルの付けられた矢印”→”の始点であるクロ
ックサイクル2の信号”TAG”に付加された記号”W
AIT”は”条件TAG=1‘b1が成立するまでの間
クロックサイクル1からクロックサイクル2までの波形
を繰り返す”、すなわち”いつかはTAGが0から1に
変化しかつD[0:7]が8‘bxx00101xxか
らそれ以外の値に変化する”を表し、上記記号”WAI
T”を始点とし信号”D[0:7]”を終点とするre
l_K2とラベルの付けられた矢印”→”は上記記号”
WAIT”と信号”D[0:7]”との論理的関係を表
し、”いつかはTAGが0から1に変化しかつD[0:
7]がTAGが0と等しい間8‘bxx00101xx
を繰り返し保持した後8‘bxx00101xxからそ
れ以外の値に変化するならばその2サイクル後にD
[0:7]は8‘bxx1101xxに等しい”という
命題K2を表す。また、rel_K3とラベルの付けら
れたこのラベルrel_K1とこのラベルrel_K2
の論理和は、”命題K1か命題K2の何れかが成立す
る”という命題K3を表す。また、上記ラベルrel_
K2を始点とし信号”TAG”を終点とするrel_K
4とラベルの付けられた矢印”→”は上記ラベルrel
_K2と信号”TAG”との論理的関係を表し、”いつ
かはTAGが0から1に変化し、かつTAGが0と等し
い間D[0:7]が8‘bxx00101xxを繰り返
し保持した後、その2サイクル後にD[0:7]が8’
bxx1101xxに等しいならTAGが0から1に変
化しかつD[0:7]が8‘bxx00101xxから
それ以外の値に変化した時点から1サイクル後に信号T
AGが立ち下がる”という命題K4を表す。
In FIG. 19, the signal "CMD [0:
1] ”as a starting point and signals“ D [0: 7] ”as an ending point r
The arrow labeled "→" labeled el_K1 is the signal "C"
It represents the logical relationship between MD [0: 1] "and the signal" D [0: 7] ". If" CMD [0: 1] is equal to 2'b01, D [0: 7] will be 8'after 4 cycles. " bxx1101xx
Represents the proposition K1 "equal to". Also, rel_
The symbol "W" added to the signal "TAG" of clock cycle 2 which is the starting point of the arrow "→" labeled K2
AIT is “repeat the waveform from clock cycle 1 to clock cycle 2 until the condition TAG = 1′b1 is satisfied”, that is, “someday TAG changes from 0 to 1 and D [0: 7] is 8'bxx00101xx changes to other values "and represents the above symbol" WAI
Re starting from T "and ending with signal" D [0: 7] "
The arrow "→" labeled l_K2 is the above symbol "
It represents a logical relationship between the WAIT "and the signal" D [0: 7] "," someday the TAG changes from 0 to 1 and D [0:
7] is 8'bxx00101xx while TAG is equal to 0
If the value changes from 8'bxx00101xx to any other value after repeatedly holding, then D after two cycles
[0: 7] represents the proposition K2 "equal to 8'bxx1101xx." Also, this label rel_K1 and this label rel_K2 labeled rel_K3.
Represents a proposition K3 that "either proposition K1 or proposition K2 holds". Also, the label rel_
Rel_K with K2 as the starting point and the signal "TAG" as the ending point
The arrow labeled "→" labeled 4 is the label rel above
_K2 represents a logical relationship between the signal "TAG", "someday after TAG changes from 0 to 1 and D [0: 7] holds 8'bxx00101xx repeatedly while TAG is equal to 0, D [0: 7] is 8'after 2 cycles
If it is equal to bxx1101xx, TAG changes from 0 to 1 and D [0: 7] changes from 8'bxx00101xx to any other value.
It represents the proposition K4 that "AG falls."

【0057】前述した図1に示す、タイミングダイアグ
ラム記憶装置31は、タイミングダイアグラム編集装置
2にて設計者または検証対象者が入力および編集した、
たとえば前述した図9〜図19に示すようなタイミング
ダイアグラムの情報を記憶する。なお、図21および図
22はタイミングダイアグラム編集装置2にて設計者ま
たは検証対象者が入力および編集したタイミングダイア
グラム情報がタイミングダイアグラム記憶装置31に記
憶される際のイメージを示した図である。
The timing diagram storage device 31 shown in FIG. 1 is input and edited by the designer or the verification subject by the timing diagram editing device 2.
For example, the information of the timing diagrams as shown in FIGS. 9 to 19 is stored. 21 and 22 are views showing an image when the timing diagram information input and edited by the designer or the verification subject by the timing diagram editing device 2 is stored in the timing diagram storage device 31.

【0058】すなわち、図21および図22に示すタイ
ミングダイアグラムの記憶イメージ例では、端子1−端
子2−端子3、端子1−名前/方向/ビット幅/対象ク
ロック−ハイ期間/ロウ期間/立ち上がりエッジ/立ち
下がりエッジ−0−0→1・・・、0−値/セットアッ
プ値/ホールド値/出力遅延/WAIT設定/exi設
定/矢印−始終点/exi設定/矢印を示している。さ
らに、0→1・・・、端子2、端子3についても同様に
図21および図22の通りである。
That is, in the storage image examples of the timing diagrams shown in FIGS. 21 and 22, terminal 1-terminal 2-terminal 3, terminal 1-name / direction / bit width / target clock-high period / low period / rising edge. / Falling edge-0-0 → 1 ..., 0-value / setup value / hold value / output delay / WAIT setting / exi setting / arrow-starting / ending point / exi setting / arrow. Further, 0 → 1 ..., Terminal 2 and terminal 3 are similarly as shown in FIGS. 21 and 22.

【0059】タイミングダイアグラム情報の取得におい
ては、まず図23に示す動作フローチャートが示すタイ
ミングダイアグラム分割手段に従い、クロックサイクル
が0、0から1に変化、1などのようにタイミングダイ
アグラムを分割する。すなわち、以下の通りである。
In acquiring the timing diagram information, first, the timing diagram dividing means shown in the operation flowchart of FIG. 23 divides the timing diagram such that the clock cycle changes from 0, 0 to 1, 1 or the like. That is, it is as follows.

【0060】(1)ステップS201において、ダイア
グラムの端子を1つ選択し、ステップS202にて端子
に定義された波形の左からのスキャンを開始し、ステッ
プS203にて変数flgを0に設定し、ステップS2
04にてスキャンしているこの波形が信号変化を表して
いる所まで到達したか否かを判定し、到達している場合
は処理をステップS205に移し、到達していない場合
は処理をステップS206に移す。
(1) In step S201, one terminal of the diagram is selected, the scanning from the left of the waveform defined in the terminal is started in step S202, and the variable flg is set to 0 in step S203. Step S2
In 04, it is determined whether or not this waveform being scanned has reached a position indicating a signal change. If it has reached, the process proceeds to step S205; otherwise, the process proceeds to step S206. Move to.

【0061】(2)次いで、ステップS205では上記
変数flgに1を代入し、処理をステップS206へ移
す。
(2) Next, in step S205, 1 is assigned to the variable flg, and the process proceeds to step S206.

【0062】(3)ステップS206では、ステップS
204にてスキャンしているこの波形がセットアップ、
ホールドや出力遅延などのタイミング制約を設定してい
る個所に到達したか否かを判定し、到達している場合は
処理をステップS207に移し、到達していない場合は
処理をステップS209に移す。
(3) In step S206, step S
This waveform scanning at 204 is setup,
It is determined whether or not the point where the timing constraint such as hold or output delay is set is reached. If the point is reached, the process is moved to step S207, and if not reached, the process is moved to step S209.

【0063】(4)ステップS207では、タイミング
制約が関連付けられている信号名および信号エッジを取
得し、この端子が同期しているクロックとして識別し、
ステップS208では識別したこのクロックおよびこの
クロックのエッジを分割点として、ステップS204に
てスキャンしているこの波形を分割し、処理をステップ
S209に移す。
(4) In step S207, the signal name and the signal edge associated with the timing constraint are acquired and identified as the clock with which this terminal is synchronized,
In step S208, the identified clock and the edge of the clock are used as division points to divide the waveform being scanned in step S204, and the process proceeds to step S209.

【0064】(5)次いで、ステップS209では、ス
テップS204にて行っているスキャンが終了したか否
かを判定し、終了していれば処理をステップS210
へ、終了していなければ処理をステップS204へ移
す。
(5) Next, in step S209, it is determined whether or not the scan performed in step S204 is completed, and if it is completed, the process is completed in step S210.
If not completed, the process proceeds to step S204.

【0065】(6)ステップS210では、上記記号f
lgが0に一致するか否かを判定し、一致した場合は処
理をステップS211へ、一致しなかった場合は処理を
ステップS213へ移す。
(6) In step S210, the symbol f
It is determined whether or not lg matches 0. If they match, the process proceeds to step S211, and if they do not match, the process proceeds to step S213.

【0066】(7)ステップS211では、上記端子が
同期すべきクロック信号とクロックエッジをユーザに問
い合わせ、ユーザ情報を取得し、ステップS212にて
このユーザ情報に基づきこの端子に定義されている波形
を分割し、処理をステップS216へ移す。
(7) In step S211, the user is inquired about the clock signal and the clock edge to be synchronized with the terminal, the user information is acquired, and the waveform defined in this terminal based on the user information is acquired in step S212. Division is performed, and the process proceeds to step S216.

【0067】(8)また、ステップS213では、上記
端子に定義されている波形を信号変化の所で分割し、ス
テップS214でこの信号変化の所からの距離が最短の
この同期クロックエッジにより与えられた分割点でかつ
この距離が半サイクル周期未満の分割点を排除し、ステ
ップS215ではこの波形を再び左からスキャンし、隣
接し合う分割区間であって互いの区間調和が1サイクル
周期未満のものを併合し、処理をステップS216へ移
す。
(8) In step S213, the waveform defined at the terminal is divided at the signal change point, and in step S214, the distance from the signal change point is given by the shortest synchronous clock edge. That is, the division points whose distance is less than a half cycle period are excluded, and in step S215, this waveform is scanned again from the left side, and the adjacent division sections whose section harmony is less than one cycle period. Are merged, and the process proceeds to step S216.

【0068】(9)ステップS216では、再びこの波
形を左からスキャンしながら上記各分割区間に対してサ
イクル数を割り当てる。
(9) In step S216, the number of cycles is assigned to each of the divided sections while scanning the waveform again from the left.

【0069】(10)最後に、ステップS217にて全
ての端子を処理したか否かを判定し、処理した場合は終
了し、処理していない場合は処理をステップS201へ
移す。
(10) Finally, in step S217, it is determined whether or not all the terminals have been processed. If all the terminals have been processed, the processing ends. If not processed, the processing proceeds to step S201.

【0070】なお、図20は上記タイミングダイアグラ
ム分割手段により得られたタイミングダイアグラムのイ
メージを示した図である。すなわち、図20に示すタイ
ミングダイアグラム分割例では、CLK(in)に同期
する、CMD[0:1](in)、TAG(in)、D
[0:7](out)の変化をサイクル0、サイクル
1、サイクル2、サイクル3への分割を示している。
FIG. 20 is a diagram showing an image of the timing diagram obtained by the timing diagram dividing means. That is, in the timing diagram division example shown in FIG. 20, CMD [0: 1] (in), TAG (in), D synchronized with CLK (in)
The change of [0: 7] (out) is divided into cycle 0, cycle 1, cycle 2, and cycle 3.

【0071】次いで、上記タイミングダイアグラム分割
手段にて得られた分割区間内での端子または内部ピンの
波形情報、たとえば記号”WAIT”が設定されている
かの情報、記号”WAIT”が設定されていた場合はこ
の分割の1つ前の分割区間内での全ての端子または内部
ピンの波形情報、記号”exi”が設定されているかの
情報、矢印”→”の始点または終点となっているかの情
報、上記矢印の始点または終点となっていた場合はこの
矢印のラベル名、この矢印には記号”exi”が設定さ
れているかの情報、またこの矢印が別の矢印の始点また
は終点となっているかの情報、この端子または内部ピン
の信号値、このクロックに対するセットアップ、ホール
ド、出力遅延などのタイミング制約情報を取得すること
でタイミングダイアグラム情報の取得を行う。
Next, the waveform information of the terminal or the internal pin within the divided section obtained by the timing diagram dividing means, for example, information indicating whether the symbol "WAIT" is set, the symbol "WAIT" is set. In the case, the waveform information of all terminals or internal pins in the division section immediately before this division, the information whether the symbol "exi" is set, the information indicating whether the arrow "→" is the start point or the end point , If the arrow is the start point or the end point of the arrow, the label name of the arrow, information whether the symbol "exi" is set for this arrow, and whether this arrow is the start point or the end point of another arrow Information, the signal value of this pin or internal pin, and timing constraint information such as setup, hold, and output delay for this clock. Carry out the acquisition of gram information.

【0072】また、出力端子の場合は信号変化に設定さ
れた出力遅延制約をその次の分割区間内の波形情報にも
設定し、入力端子の場合は信号変化に設定されたセット
アップタイミング制約を1つ前の分割区間内の波形情報
にも設定する。分割区間内に端子または内部ピンの波形
情報が存在しない場合は、前述した図21および図22
に示すように記号”null”を取得したものとする。
なお、タイミングダイアグラム情報の取得においては、
信号値として0、1や2進数値以外の立ち上がり、立ち
下がり、変化なども値として識別する。
In the case of the output terminal, the output delay constraint set for the signal change is also set for the waveform information in the next divided section, and for the input terminal, the setup timing constraint set for the signal change is 1. It is also set in the waveform information in the previous divided section. When there is no terminal or internal pin waveform information in the divided section, the above-described FIG. 21 and FIG.
It is assumed that the symbol “null” is acquired as shown in FIG.
When acquiring the timing diagram information,
Rising, falling, and changes other than 0, 1, and binary values as signal values are also identified as values.

【0073】3−3.検証対象動作の切り出し(図24
〜図27) 前述した図1に示す、検証対象動作情報抽出装置32
は、図24に示す動作フローチャートに示すように動作
し、タイミングダイアグラム記憶装置31に格納された
タイミングダイアグラム情報から検証対象動作情報を取
得し、結果を検証対象動作情報記憶装置33に格納す
る。すなわち、以下の通りである。
3-3. Cut out verification target operation (Fig. 24)
27 to 27) The verification target operation information extraction device 32 shown in FIG. 1 described above.
24 operates as shown in the operation flowchart of FIG. 24, acquires verification target operation information from the timing diagram information stored in the timing diagram storage device 31, and stores the result in the verification target operation information storage device 33. That is, it is as follows.

【0074】(1)ステップS301において、変数j
に0を代入し、ステップS302にてこの変数jに1を
加える。
(1) In step S301, the variable j
Is substituted with 0, and 1 is added to this variable j in step S302.

【0075】(2)次いで、ステップS303におい
て、タイミングダイアグラム記憶装置31内に格納され
ているタイミングダイアグラム情報からj番目の端子ま
たは内部ピンの波形情報を取得し、ステップS304に
おいて、上記j番目の端子または内部ピンの波形情報に
設定されている端子名または内部ピンの名前、方向、お
よび同期クロックとこの同期クロックの同期エッジの情
報を取得し、ステップS305で変数iに1を代入し、
ステップS306にて上記j番目の端子または内部ピン
の波形情報からi番目に対応する分割区間内波形情報を
取得する。ただし、本ステップにおいて取得したこの分
割区間内波形情報内の値が変化である場合は、前後のサ
イクルの分割区間内波形情報も合わせて取得する。
(2) Next, in step S303, the waveform information of the jth terminal or the internal pin is acquired from the timing diagram information stored in the timing diagram storage device 31, and in step S304, the jth terminal is acquired. Alternatively, the terminal name set in the waveform information of the internal pin, the name of the internal pin, the direction, and the information of the synchronization clock and the synchronization edge of this synchronization clock are acquired, and 1 is assigned to the variable i in step S305,
In step S306, waveform information in the divided section corresponding to the i-th terminal is acquired from the waveform information of the j-th terminal or internal pin. However, if the value in the waveform information in the divided section acquired in this step is a change, the waveform information in the divided section of the preceding and succeeding cycles is also acquired.

【0076】(3)ステップS307において、上記i
番目に対応する分割区間内波形情報内に矢印が設定され
ているか否かを判定し、設定されている場合は処理をス
テップS311へ移し、設定されていない場合は処理を
ステップS308へ移す。
(3) In step S307, the above i
It is determined whether or not an arrow is set in the waveform information in the divided section corresponding to the second, and if it is set, the process proceeds to step S311; otherwise, the process proceeds to step S308.

【0077】(4)ステップS308では、上記i番目
に対応する分割区間内波形情報内に記号”WAIT”が
設定されているか否かを判定し、設定されている場合は
処理をステップS309へ移し、設定されていない場合
は処理をステップS316へ移す。
(4) In step S308, it is determined whether or not the symbol "WAIT" is set in the waveform information in the divided section corresponding to the i-th above, and if it is set, the process proceeds to step S309. If not set, the process moves to step S316.

【0078】(5)ステップS309において、設定さ
れたこの記号”WAIT”の条件、およびこの記号”W
AIT”に関連付けられている端子または内部ピンの波
形情報内の端子名または内部ピン名の情報とこの端子ま
たは内部ピンの波形情報内のi−1、i+1番目の分割
区間内波形情報の取得を行い、ステップS310にて上
記j番目の端子または内部ピンの波形情報に設定されて
いる上記i番目に対応する分割区間内波形情報の記号”
WAIT”設定個所を参照し、処理をステップS313
へ移す。
(5) In step S309, the condition of this symbol "WAIT" set and this symbol "W"
Information of the terminal name or internal pin name in the waveform information of the terminal or internal pin associated with AIT ”and the waveform information of the i−1, i + 1th divided section in the waveform information of this terminal or internal pin Then, in step S310, the symbol of the waveform information in the divided section corresponding to the i-th set in the waveform information of the j-th terminal or the internal pin
Referring to the WAIT "setting location, the process is performed in step S313.
Move to.

【0079】(6)ステップS311では、上記j番目
の端子または内部ピンの波形情報に設定されている上記
i番目に対応する分割区間内波形情報内の波形に対する
記号”exi”の設定情報と矢印に対する記号”ex
i”の設定情報を取得し、次いでステップS312にて
上記j番目の端子または内部ピンの波形情報に設定され
ている上記i番目に対応する分割区間内波形情報内に設
定されている矢印が始点であるか終点であるかの情報を
取得し、処理をステップS313へ移す。
(6) In step S311, the setting information of the symbol "exi" and the arrow for the waveform in the waveform information within the divided section corresponding to the i-th terminal set in the waveform information of the j-th terminal or internal pin are set. For "ex"
The setting information of i ″ is acquired, and then, in step S312, the arrow set in the waveform information in the divided section corresponding to the i-th terminal set in the waveform information of the j-th terminal or the internal pin is the starting point. Information is acquired or the end point is acquired, and the process proceeds to step S313.

【0080】(7)ステップS313からステップS3
15では、上記j番目の端子または内部ピンの波形情報
が設定されている上記i番目に対応する分割区間内波形
情報内の記号”WAIT”または”exi”から辿って
得られるリストに矢印が設定されているか否かを判定
し、設定されている場合は矢印の始点か終点かの情報と
矢印への記号”exi”設定情報を取得し、リストがな
くなるまでこの処理を続け、設定されていない場合やリ
ストがなくなった場合は処理をステップS316へ移
す。
(7) Steps S313 to S3
In 15, the arrow is set in the list obtained by tracing from the symbol "WAIT" or "exi" in the waveform information in the divided section corresponding to the i-th, where the waveform information of the j-th terminal or the internal pin is set. If it is set, it acquires the information of the start point or end point of the arrow and the symbol "exi" setting information for the arrow, and this processing is continued until the list is exhausted, and it is not set. In the case or when there is no list, the process proceeds to step S316.

【0081】(8)ステップS314では、この矢印の
記号”exi”の設定情報を取得し、ステップS315
ではこの矢印が始点であるか終点であるかの情報取得を
行い、この矢印の始点か終点かの情報が格納されたリス
トを参照するように設定してから処理をステップS31
3へ移す。
(8) In step S314, the setting information of this arrow symbol "exi" is acquired, and in step S315
Then, information indicating whether the arrow is the start point or the end point is acquired, and the list in which the information indicating the start point or the end point of the arrow is stored is set, and then the process is performed in step S31.
Move to 3.

【0082】(9)ステップS316において、上記記
号iに1を加え、ステップS317にて上記記号iが上
記j番目の端子または内部ピンの波形情報に設定されて
いる分割区間内波形情報の総数を超えたか否かを判定
し、越えている場合は処理をステップS318へ、越え
ていない場合は処理をステップS318へ移す。
(9) In step S316, 1 is added to the symbol i, and in step S317, the total number of pieces of waveform information in the divided section in which the symbol i is set in the waveform information of the j-th terminal or internal pin is calculated. Whether or not it is exceeded is determined. If it is exceeded, the process proceeds to step S318, and if not exceeded, the process proceeds to step S318.

【0083】(10)さらに、ステップS318では、
上記記号jが上記タイミングダイアグラム情報内の端子
または内部ピンの波形情報の総数を超えたか否かを判定
し、越えている場合は処理を終了し、越えていない場合
は処理をステップS302へ移す。
(10) Further, in step S318,
It is determined whether or not the symbol j exceeds the total number of waveform information of terminals or internal pins in the timing diagram information. If it exceeds, the process ends, and if not, the process proceeds to step S302.

【0084】前述した図1に示す、検証対象動作情報記
憶装置33は、検証対象動作情報抽出装置32の出力に
接続されており、上記タイミングダイアグラム情報内に
設計者または検証担当者が設定した検証対象動作、すな
わち波形間の論理的関係の情報を格納する。なお、図2
5は上記タイミングダイアグラム情報から抽出した検証
対象動作が上記検証対象動作情報記憶装置33に記憶さ
れる際のイメージを示した図である。
The verification target operation information storage device 33 shown in FIG. 1 described above is connected to the output of the verification target operation information extraction device 32, and the verification set by the designer or the person in charge of verification in the above timing diagram information. The target operation, that is, information on the logical relationship between the waveforms is stored. Note that FIG.
5 is a diagram showing an image when the verification target operation extracted from the timing diagram information is stored in the verification target operation information storage device 33. FIG.

【0085】すなわち、図25に示す検証対象動作情報
の記憶イメージ例では、rel_K1−rel_K2−
rel_K3−rel_K4、rel_K1−始点/終
点/exi設定/論理式、始点−方向/値/セットアッ
プ値/ホールド値/出力遅延/クロック/サイクル/e
xi設定/WAIT設定を示している。さらに、終点、
rel_K2、rel_K3、rel_K4についても
同様に図25の通りである。ただし、WAIT設定がn
ullでない場合は、条件/端子1波形情報/端子2波
形情報/端子3波形情報につながる。
That is, in the storage image example of the verification target operation information shown in FIG. 25, rel_K1-rel_K2-
rel_K3-rel_K4, rel_K1-start point / end point / exi setting / logical expression, start point-direction / value / setup value / hold value / output delay / clock / cycle / e
xi setting / WAIT setting is shown. Furthermore, the end point,
The same applies to rel_K2, rel_K3, and rel_K4 as shown in FIG. However, the WAIT setting is n
If not, the condition / terminal 1 waveform information / terminal 2 waveform information / terminal 3 waveform information is connected.

【0086】上記検証対象動作情報記憶装置33に格納
された検証対象動作情報を各矢印ラベルと矢印ラベルの
関連付けられた始点および終点のなすグラフの隣接リス
トと見なして、各隣接リストの親のみからなる矢印ラベ
ルの集合1と各隣接リストの子のみからなる矢印ラベル
の集合2を作成し、集合1と集合2の要素数の多い方の
集合から少ない方の集合を集合演算の意味で引き、その
結果を集合3とする。
The verification target motion information stored in the verification target motion information storage device 33 is regarded as the adjacency list of the graph formed by the start point and end point associated with each arrow label, and only the parent of each adjacency list is considered. A set 1 of arrow labels and a set 2 of arrow labels consisting only of children of each adjacency list are created, and the set with the smaller number of elements of set 1 and set 2 is subtracted in the sense of the set operation. The result is set 3.

【0087】次いで、上記集合3に含まれる矢印ラベル
を1つ取り出し、たとえば隣接リストを幅優先で探索す
ることで木を構築し、この操作を上記集合3が空となる
まで繰り返すことで、上記検証対象動作情報記憶装置3
3に格納された検証対象動作情報から木構造を構築す
る。なお、図26および図27は前記図25に示した検
証対象動作の記憶イメージから作成される木構造、以下
検証対象動作木と呼び、このイメージを示した図であ
る。
Then, one arrow label included in the set 3 is taken out, a tree is constructed by, for example, searching the adjacency list in breadth-first order, and this operation is repeated until the set 3 becomes empty. Target motion information storage device 3
A tree structure is constructed from the verification target operation information stored in 3. 26 and 27 are tree diagrams created from the stored image of the verification target operation shown in FIG. 25, hereinafter referred to as a verification target operation tree, and are views showing this image.

【0088】すなわち、図26および図27に示す、前
記図25の検証対象動作から作成される木構造の記憶イ
メージ例では、rel_K3/exi設定−rel_K
1|rel_K2−rel_K1/始終点/exi設定
−CMD[0:1]/始終点/exi設定−方向/値/
セットアップ値/ホールド値/出力遅延/クロック/サ
イクル/exi設定/WAIT設定を示している。さら
に、D[0:7]/始終点/exi設定、rel_K2
/始終点/exi設定−TAG/始終点/exi設定、
D[0:7]/始終点/exi設定や、rel_K4に
ついてもほぼ同様に図26および図27の通りである。
That is, in the example of the storage image of the tree structure created from the verification target operation of FIG. 25 shown in FIGS. 26 and 27, rel_K3 / exi setting-rel_K
1 | rel_K2-rel_K1 / start / end point / exi setting-CMD [0: 1] / start / end point / exi setting-direction / value /
It shows setup value / hold value / output delay / clock / cycle / exi setting / WAIT setting. Furthermore, D [0: 7] / start / end point / exi setting, rel_K2
/ Start / End / exi setting-TAG / Start / End / exi setting,
The setting of D [0: 7] / start / end point / exi and rel_K4 are substantially the same as in FIGS. 26 and 27.

【0089】4.TDO2Verilog Algor
ithm 図28〜図62により、TDO2Verilog Al
gorithmの一例を説明する。図28はTDO2V
erilog Algorithmを示すフロー図、図
29は格納変数の割り当てを示すフロー図、図30は格
納サイクル数の算出を示すフロー図、図31は格納サイ
クル数の算出におけるテーブル構造を示す説明図、図3
2はWait制御用フラグ生成・初期値決定を示すフロ
ー図、図33はWait制御用フラグ生成・初期値決定
におけるテーブル構造を示す説明図、図34は初期値決
定を示すフロー図、図35は変数宣言HDL記述生成を
示すフロー図、図36は変数値格納HDL記述生成を示
すフロー図、図37はグラフ変形を示すフロー図、図3
8〜図54はグラフ変形を示す説明図、図55は検証H
DLの生成を示すフロー図、図56はProperty
_simpleを示すフロー図、図57はProper
ty_waitを示すフロー図、図58および図59は
WaitBlockを示すフロー図、図60および図6
1はWaitORBlockを示すフロー図、図62は
ConseqBlockを示すフロー図である。
4. TDO2 Verilog Algor
itm According to FIG. 28 to FIG. 62, TDO2Verilog Al
An example of gorithm will be described. Figure 28 shows TDO2V
29 is a flow chart showing allocation of storage variables, FIG. 30 is a flow chart showing calculation of the number of storage cycles, FIG. 31 is an explanatory diagram showing a table structure in the calculation of the number of storage cycles, and FIG.
2 is a flow chart showing the generation of the Wait control flag and determination of the initial value, FIG. 33 is an explanatory diagram showing the table structure in the generation of the Wait control flag and determination of the initial value, FIG. 34 is a flow chart showing the determination of the initial value, and FIG. FIG. 36 is a flow chart showing variable declaration HDL description generation, FIG. 36 is a flow chart showing variable value storing HDL description generation, FIG. 37 is a flow chart showing graph transformation, and FIG.
8 to 54 are explanatory diagrams showing graph transformation, and FIG. 55 is a verification H.
56 is a flow chart showing the generation of DL, FIG. 56 is Property
Flow chart showing _simple, FIG. 57 is Proper
ty_wait showing a flow chart, FIGS. 58 and 59 show WaitBlock showing a flow chart, FIG. 60 and FIG.
1 is a flow chart showing WaitORBlock, and FIG. 62 is a flow chart showing ConseqBlock.

【0090】図28に示すように、TDO2Veril
og Algorithmは、まず、各信号に対して何
サイクル前までの値を格納するかを識別して格納変数を
割り当て、初期値を決定する手段、および信号値を格納
する記述を生成する手段を述べ(ステップS401)、
次いで、検証対象動作木の変形方式を述べ(ステップS
402)、最後に、最終的に得られた検証対象動作木か
らのHDL検証記述生成手段を述べる(ステップS40
3)。
As shown in FIG. 28, TDO2Veril
og Algorithm first describes a means for identifying the number of cycles before which a value is stored for each signal, assigning a storage variable, determining an initial value, and generating a description for storing a signal value. (Step S401),
Next, the modification method of the verification target operation tree is described (step S
402) Finally, the HDL verification description generation means from the finally obtained verification target operation tree will be described (step S40).
3).

【0091】4−1.格納変数の割り当て(図29〜図
36:図29) (1)ステップS501において、検証対象動作木の信
号名を格納しているノードの信号に対して、何サイクル
までの信号を格納すべきかを決定し、各信号にサイクル
数と同じ数の信号値格納用レジスタを割り当て、その情
報をテーブルに格納する。
4-1. Storage variable allocation (FIGS. 29 to 36: FIG. 29) (1) In step S501, the number of cycles of the signal of the node storing the signal name of the operation tree to be verified should be stored. Then, the signal value storage registers of the same number as the number of cycles are assigned to each signal, and the information is stored in the table.

【0092】(2)ステップS502において、検証対
象動作木がwait objectを含むか判定し、も
し含んでいるなら処理をステップS503に移し、そう
でなければ処理をステップS504に移す。
(2) In step S502, it is determined whether the operation tree to be verified includes a wait object. If it does, the process moves to step S503, and if not, the process moves to step S504.

【0093】(3)ステップS503において、検証対
象動作木に含まれるwait objectの数だけw
ait制御用のフラグを生成する。
(3) In step S503, w is equal to the number of wait objects included in the operation tree to be verified.
A flag for ait control is generated.

【0094】(4)ステップS504において、各信号
に割り当てたレジスタのリセット時の初期値を決定す
る。これは、初期化の段階で検証HDLが誤動作を起こ
さないために行う。
(4) In step S504, the initial value at reset of the register assigned to each signal is determined. This is done so that the verification HDL does not malfunction at the initialization stage.

【0095】(5)ステップS505において、各信号
に割り当てたレジスタ、およびwait制御用フラグの
変数宣言のHDL記述を生成する。
(5) In step S505, the HDL description of the variable declaration of the register assigned to each signal and the wait control flag is generated.

【0096】(6)ステップS506において、各信号
に割り当てたレジスタに対する、リセット時の初期化、
および信号値代入のHDL記述を生成する。
(6) In step S506, the registers assigned to the respective signals are initialized at reset,
And an HDL description of signal value substitution is generated.

【0097】4−1−1.格納サイクル数の算出(図3
0および図31) (1)ステップS601において、検証対象動作木の信
号名を格納しているノードのサイクル数を全て取得し、
最大値を決定する。この値がテーブルのサイクル数の最
大値となる。
4-1-1. Calculation of the number of storage cycles (Fig. 3
0 and FIG. 31) (1) In step S601, all the cycle numbers of the node storing the signal name of the verification target operation tree are acquired,
Determine the maximum value. This value is the maximum number of cycles in the table.

【0098】(2)ステップS602において、全ての
信号に対して、1からステップS601で得られた最大
値までのサイクルで、wait設定、格納要・不要、初
期値の情報を格納可能とするテーブルを作成する。
(2) In step S602, a table that allows the setting of wait, storage / unnecessity, and initial value information to be stored in a cycle from 1 to the maximum value obtained in step S601 for all signals To create.

【0099】(3)ステップS603において、検証対
象動作木の信号名を格納しているノードのサイクル数を
取得し、その信号の格納サイクル数をステップS601
で得た最大値−取得したサイクル数、として求め、格納
要・不要の欄の1から前記演算で得られた値まで、1を
立てる(初期状態では0が格納されているものとす
る)。
(3) In step S603, the number of cycles of the node storing the signal name of the operation tree to be verified is acquired, and the number of storage cycles of the signal is calculated in step S601.
The maximum value obtained in step-the acquired number of cycles is obtained, and 1 is set from 1 in the column of storage required / not required to the value obtained by the above calculation (it is assumed that 0 is stored in the initial state).

【0100】(4)ステップS604において、検証対
象動作木上の信号名を格納しているノードを全て探索し
たのであれば処理を終了し、そうでなければ処理をステ
ップS603へ移す。
(4) In step S604, if all the nodes storing the signal name on the operation tree to be verified have been searched, the process is terminated, and if not, the process proceeds to step S603.

【0101】なお、この格納サイクル数の算出における
テーブル構造は、たとえば図31のようになる。すなわ
ち、図31のテーブル構造例では、信号名、信号値を格
納する領域、さらにレジスタ要・不要、Wait設定、
初期値に対するサイクル数を格納する領域がそれぞれ設
けられている。
The table structure for calculating the number of storage cycles is, for example, as shown in FIG. That is, in the table structure example of FIG. 31, a signal name, an area for storing a signal value, whether or not a register is required, Wait setting,
Each area is provided for storing the number of cycles with respect to the initial value.

【0102】4−1−2.Wait制御用フラグ生成・
初期値決定(図32および図33) (1)ステップS701において、検証対象動作木のw
ait objectが設定されているノードを識別す
る。
4-1-2. Wait control flag generation
Initial value determination (FIGS. 32 and 33) (1) In step S701, w of the verification target operation tree
Identify the node for which the ait object is set.

【0103】(2)ステップS702において、ステッ
プS701で識別されたノードが、繰り返しチェックを
表すものであれば、処理をステップS703へ、そうで
なければ処理をステップS704へ移す。
(2) In step S702, if the node identified in step S701 represents a repeat check, the process proceeds to step S703, and if not, the process proceeds to step S704.

【0104】(3)ステップS703において、テーブ
ルの該当信号の該当サイクルのwait設定部に文字列
itr[I]を格納し、対応するレジスタ要・不要フラ
グを1にセットする(初期値はNULLであるとする。
また、配列インデックスIはフラグ数に対応して増加し
ていく変数である)。
(3) In step S703, the character string itr [I] is stored in the wait setting section of the corresponding cycle of the corresponding signal in the table, and the corresponding register necessity / unnecessity flag is set to 1 (initial value is NULL. Suppose there is.
The array index I is a variable that increases in accordance with the number of flags).

【0105】(4)ステップS704において、ステッ
プS701で識別されたノードが、終了条件に用いられ
ているものであれば、処理をステップS705へ、そう
でなければ処理をステップS706へ移す。
(4) In step S704, if the node identified in step S701 is used for the end condition, the process proceeds to step S705, and if not, the process proceeds to step S706.

【0106】(5)ステップS705において、テーブ
ルの該当信号の該当サイクルのwait設定部に文字列
cond[I]を格納し、対応するレジスタ要・不要フ
ラグを1にセットする(初期値はNULLであるとす
る。また、配列インデックスIはフラグ数に対応して増
加していく変数である)。
(5) In step S705, the character string cond [I] is stored in the wait setting section of the corresponding cycle of the corresponding signal in the table, and the corresponding register necessity / unnecessity flag is set to 1 (initial value is NULL. The array index I is a variable that increases according to the number of flags).

【0107】(6)ステップS706において、wai
t制御フラグの数をカウントアップする(初期値は0で
あるとする)。なお、フラグ名は、wait_flg
[2:0]とし、wait_flg[0]が繰り返し開
始フラグであり、1で開始、0で未開始を表す。また、
wait_flg[1]が繰り返し継続フラグであり、
1で継続、0で未継続を表す。最後に、wait_fl
g[2]が繰り返し終了フラグであり、1で終了、0で
未終了を表す。初期値は全て0である。特に、複数存在
する場合は、reg[2:0]wait_flg[フラ
グ数−1:0]のような二次元配列として宣言すること
で、複数のフラグを割り当てる。たとえば、I番目のフ
ラグは、wait_flg[I][2:0]となる。
(6) In step S706, wai
The number of t control flags is incremented (the initial value is 0). The flag name is wait_flg.
[2: 0] is set, and wait_flg [0] is a repeat start flag, and 1 indicates start and 0 indicates not start. Also,
wait_flg [1] is the repeat continuation flag,
1 indicates continuation, and 0 indicates non-continuation. Finally, wait_fl
g [2] is a repetition end flag, and 1 indicates end and 0 indicates not end. The initial values are all 0. In particular, when there are a plurality of flags, a plurality of flags are assigned by declaring them as a two-dimensional array such as reg [2: 0] wait_flg [number of flags-1: 0]. For example, the I-th flag is wait_flg [I] [2: 0].

【0108】(7)ステップS707において、全ての
wait objectが設定されているノードを探索
したのであれば処理を終了し、そうでなければ処理をス
テップS701へ移す。
(7) In step S707, if all the nodes for which the wait object is set have been searched, the process is terminated, and if not, the process proceeds to step S701.

【0109】なお、このWait制御用フラグ生成・初
期値決定におけるテーブル構造は、たとえば図33のよ
うになる。すなわち、図33のテーブル構造例では、信
号名、信号値を格納する領域、さらにレジスタ要・不
要、Wait設定、初期値に対するサイクル数を格納す
る領域がそれぞれ設けられている。
The table structure in the generation of the Wait control flag and the determination of the initial value is as shown in FIG. 33, for example. That is, in the table structure example of FIG. 33, there are provided areas for storing signal names and signal values, and areas for storing register necessity / unnecessity, Wait setting, and the number of cycles for initial values.

【0110】4−1−3.初期値決定(図34) (1)ステップS801において、検証対象動作木の信
号名が設定されているノードを識別する。
4-1-3. Initial value determination (FIG. 34) (1) In step S801, the node in which the signal name of the verification target operation tree is set is identified.

【0111】(2)ステップS802において、ステッ
プS801で識別した全ての信号に対して、対応するビ
ット幅の0を割り当てる。
(2) In step S802, 0 of the corresponding bit width is assigned to all the signals identified in step S801.

【0112】4−1−4.変数宣言HDL記述生成(図
35) (1)ステップS901において、テーブル上の信号名
に対するレジスタ要・不要フラグが1の個数を算出す
る。
4-1-4. Variable Declaration HDL Description Generation (FIG. 35) (1) In step S901, the number of register required / unnecessary flags for the signal name on the table is 1.

【0113】(2)ステップS902において、ステッ
プS901で識別された信号が、1ビットであれば、処
理をステップS903へ、そうでなければ処理をステッ
プS904へ移す。
(2) In step S902, if the signal identified in step S901 is 1 bit, the process proceeds to step S903; otherwise, the process proceeds to step S904.

【0114】(3)ステップS903において、一次元
配列として、ステップS901で取得した個数のビット
幅を持つ、変数名_tmpのreg宣言を行う。すなわ
ち、reg[(1)で取得した個数−1:0]変数名_
tmp;なる記述を生成する。ステップS905へ処理
を移す。
(3) In step S903, reg declaration of variable name_tmp having a bit width of the number acquired in step S901 is made as a one-dimensional array. That is, reg [the number obtained by (1) -1: 0] variable name_
tmp; is generated. The processing moves to step S905.

【0115】(4)ステップS904において、二次元
配列として、ステップS901で取得した配列数の、変
数名_tmpのreg宣言を行う。すなわち、 reg[ビット幅−1:0]変数名_tmp[(1)で
取得した個数−1:0]; なる記述を生成する。
(4) In step S904, as a two-dimensional array, the number of arrays acquired in step S901 is declared as a variable name_tmp. That is, the following description is generated: reg [bit width-1: 0] variable name_tmp [number obtained by (1) -1: 0];

【0116】(5)ステップS905において、wai
tカウント数分のwaitフラグの二次元配列のreg
宣言を行う。すなわち、 reg[2:0]wait_flg[waitカウント
数−1:0]; なる記述を生成する。
(5) In step S905, wai
Two-dimensional array reg of wait flags for t counts
Make a declaration. That is, the following description is generated: reg [2: 0] wait_flg [wait count number-1: 0];

【0117】(6)ステップS906において、テーブ
ル上の全ての信号を取得したのであれば処理をステップ
S907へ、そうでなければ処理をステップS901へ
移す。
(6) In step S906, if all the signals on the table have been acquired, the process proceeds to step S907, and if not, the process proceeds to step S901.

【0118】(7)ステップS907において、[Lo
g2最大個数+1]を算出し、そのビット幅のcnt_
tmpをreg宣言し、flg_tmpもreg宣言す
る。すなわち、 reg[[log2((1)で取得した個数の最大
値)]+1:0]cnt_tmp; reg flg_tmp; なる記述を生成する。ここで、[log2((1)で取
得した個数の最大値)]は、log2((1)で取得し
た個数の最大値)を越えない最大の整数を表す。
(7) In step S907, [Lo
g2 maximum number + 1] is calculated, and cnt_ of the bit width is calculated.
tmp is declared as reg, and flg_tmp is also declared as reg. That is, the following description is generated: reg [[log2 (maximum value of the number acquired in (1))] + 1: 0] cnt_tmp; regflg_tmp ;. Here, [log2 (the maximum value of the number acquired in (1))] represents the maximum integer that does not exceed log2 (the maximum value of the number acquired in (1)).

【0119】4−1−5.変数値格納HDL記述生成
(図36) (1)ステップS1001において、reg宣言した変
数の数だけInteger変数を宣言する。すなわち、 Integer[変数の数−1:0]I; なる記述を生成する。
4-1-5. Variable Value Storage HDL Description Generation (FIG. 36) (1) In step S1001, as many integer variables as the number of reg-declared variables are declared. That is, the following description is generated: Integer [Number of variables-1: 0] I;

【0120】(2)ステップS1002において、下記 always@(posedge クロック信号名 o
r negedge リセット信号名)begin if(!リセット信号名)begin なる記述を生成する。
(2) In step S1002, the following alwayss @ (posedge clock signal name o
r negage reset signal name) begin if (! reset signal name) begin is generated.

【0121】(3)ステップS1003において、re
g宣言した全ての変数の初期化記述を、信号名_tmp
の配列番号とテーブルのサイクル番号との対応を取りな
がら、信号名_tmpへの初期値代入を行う記述を生成
する。たとえば、下記 信号名_tmp[0]<=1’b0; などの記述を生成する。
(3) In step S1003, re
g Initialization description of all declared variables is signal name_tmp
While creating the correspondence between the array number of the above and the cycle number of the table, a description for assigning an initial value to the signal name_tmp is generated. For example, a description such as the following signal name_tmp [0] <= 1'b0; is generated.

【0122】(4)ステップS1004において、下記 end else begin なる記述を生成する。(4) In step S1004, end else begin To generate the description.

【0123】(5)ステップS1005において、re
g宣言した変数全てに対して、1ビットか多ビットかに
従い、下記 信号名_tmp[0]<=信号名;//1ビットの場合 信号名_tmp[0][ビット幅−1:0]<=信号名
[ビット幅−1:0];//多ビットの場合 なる記述の何れかを生成する。
(5) In step S1005, re
g For all declared variables, depending on whether it is 1-bit or multi-bit, the following signal name_tmp [0] <= signal name; // 1 bit signal name_tmp [0] [bit width-1: 0] < = Signal name [bit width-1: 0]; // Generate any of the descriptions in the case of multiple bits.

【0124】(6)ステップS1006において、re
g宣言した変数全てに対して、1ビットか多ビットかに
従い、下記記述の何れかを生成する。ただし、kは信号
名が変わる毎に0から1ずつ増加させる。
(6) In step S1006, re
g For any of the declared variables, one of the following descriptions is generated according to whether it is 1-bit or multi-bit. However, k is incremented by 1 each time the signal name changes.

【0125】for(I[k]=0;I[k]<ビット
幅;I[k]=I[k]+1)//1ビットの場合 信号名_tmp[I[k]+1]<=信号名_tmp
[I[k]]; for(I[k]=0;I[i]<ビット幅;I[k]
=I[k]+1)//多ビットの場合 信号名_tmp[I[k]+1][ビット幅−1:0]
<=信号名_tmp[I[k]][ビット幅−1:
0]; (7)ステップS1007において、下記 if(!flg_tmp)begin cnt_tmp=cnt_tmp+1; if(cnt_tmp==多ビット信号名_tmp名変
数のビット幅の最大値) flg_tmp=1; end なる記述を生成する。
For (I [k] = 0; I [k] <bit width; I [k] = I [k] +1) // in case of 1 bit Signal name_tmp [I [k] +1] <= signal First name_tmp
[I [k]]; for (I [k] = 0; I [i] <bit width; I [k]
= I [k] +1) / in the case of multiple bits Signal name_tmp [I [k] +1] [bit width-1: 0]
<= Signal name_tmp [I [k]] [bit width-1:
0]; (7) In step S1007, if (! Flg_tmp) begin cnt_tmp = cnt_tmp + 1; if (cnt_tmp == multi-bit signal name_tmp maximum value of bit width of variable) flg_tmp = 1; .

【0126】(8)ステップS1008において、下記 end end なる記述を生成する。(8) In step S1008, end end To generate the description.

【0127】4−2.検証対象動作木の変形(図37〜
図54:図37) (1)検証対象動作木の頂点であってsignal o
bjectのみが設定されている頂点は、全てテーブル
を参照して、対応するインデックスを持つ、変数名_t
mpに置き換える。また、それ以外の頂点であっても、
信号名を有する場合はこの変換を行う。
4-2. Deformation of motion tree to be verified (Fig. 37-
(FIG. 54: FIG. 37) (1) The vertex of the operation tree to be verified, which is signal o
All vertices for which only bject is set have a corresponding index with reference to the table, variable name_t
Replace with mp. In addition, even at the other vertices,
This conversion is performed when the signal name is included.

【0128】(2)ステップS1101において、検証
対象動作木上のrelationobject同士のブ
ール演算を表す頂点を取得する。
(2) In step S1101, the vertices representing the Boolean operation between the relation objects on the verification target operation tree are acquired.

【0129】(3)ステップS1102において、re
lation object同士のブール演算頂点以下
の部分木に対して、その木の信号頂点の左方向への深さ
優先探索によるトポロジカルソートを実施し、得られた
順番と逆順に信号頂点を並べることで、 (A−>B)−>CをA−>(B−>C)とし、A&B
−>C となるようにグラフを変形する。また、一般には、括弧
を全て外して、A1&A2&・・・&An−>An+1
となるようにグラフを変形する。特に、この処理はre
lation object同士のブール演算を下位の
部分木が含まない条件でまず行い、次いで、relat
ion object同士のブール演算以下の部分木を
固定したものとして、再帰的に処理を実施するものとす
る。
(3) In step S1102, re
Boolean operation between the relation objects, topological sorting by depth-first search of the signal vertices of the tree to the left and below for the subtrees, and arranging the signal vertices in the reverse order to the obtained order, Let (A->B)-> C be A->(B-> C) and A & B
Transform the graph so that-> C. In general, all parentheses are removed and A1 & A2 & ... &An-> An + 1.
Transform the graph so that In particular, this process is re
Boolean operation between the relation objects is first performed under the condition that the lower subtree is not included, and then the relat
Boolean operation between ion objects The following subtrees are fixed and the processing is recursively performed.

【0130】(4)ステップS1103において、re
lation object同士のブール演算が&を含
むか判定し、含む場合は、処理をステップS1104
へ、そうでない場合は処理をステップS1105へ移行
する。
(4) In step S1103, re
It is determined whether or not the Boolean operation between the relation objects includes &, and if it does, the process proceeds to step S1104.
Otherwise, the process proceeds to step S1105.

【0131】(5)ステップS1104において、その
下位の部分木にwait objectが設定されてい
るか判定し、されている場合は処理をステップS110
7へ、そうでない場合は処理をステップS1106へ移
行する。
(5) In step S1104, it is determined whether or not the wait subobject is set in the lower subtree, and if so, the process proceeds to step S110.
If not, the process proceeds to step S1106.

【0132】(6)ステップS1105において、その
下位の部分木にwait objectが設定されてい
るか判定し、されている場合は処理をステップS110
8へ、そうでない場合は処理をステップS1106へ移
行する。
(6) In step S1105, it is determined whether or not the wait object is set in the lower subtree, and if it is, the process proceeds to step S110.
8, otherwise, the process proceeds to step S1106.

【0133】(7)ステップS1106において、re
lation objectのブール演算を用いたグラ
フ変形を実施し、処理をステップS1109へ移行す
る。
(7) In step S1106, re
The graph transformation using the Boolean operation of the relation object is performed, and the process proceeds to step S1109.

【0134】(8)ステップS1107において、ユー
ザにwait objectの設定が不正であると通知
し、処理を終了する。
(8) In step S1107, the user is notified that the wait object setting is incorrect, and the process ends.

【0135】(9)ステップS1108において、木の
wait object以外の信号をマージすることで
グラフ変形を行い、木の最下位に位置するwait o
bjectをマーキングする。
(9) In step S1108, graph transformation is performed by merging signals other than the wait object of the tree, and the wait o located at the bottom of the tree is merged.
Mark bject.

【0136】(10)ステップS1109において、全
てのrelation objectのブール演算を取
得したかを判定し、取得した場合は処理をステップS1
110へ、そうでない場合は処理をステップS1101
へ移行する。
(10) In step S1109, it is determined whether or not the Boolean operations of all relation objects have been acquired, and if so, the process proceeds to step S1.
110, otherwise, the process proceeds to step S1101.
Move to.

【0137】(11)ステップS1110において、r
elation object同士のブール演算以下の
部分木を固定したものとして、ステップS1102の処
理を検証対象動作木に対して行い、処理を終了する。
(11) In step S1110, r
Boolean operation between association objects Assuming that the subtree below is fixed, the process of step S1102 is performed on the verification target operation tree, and the process is terminated.

【0138】図38の例を通して、グラフ変形を説明す
る。四角で囲まれたrはrelation objec
tを表す頂点であり、それ以外は信号頂点である。特
に、m、yの信号頂点はwait objectが設定
されていることを表す。すなわち、図38の例では、r
−r−(r1‖r2)&r3−r1,r2,r3−・・
・−a,b,c,d,e,f,g,i,j,k、r−r
−a4、r−r−r4‖r5−r4−・・・−h,l,
m,a1、r−r−r4‖r5−r5−a5、r−r−
r4‖r5−r5−r−r6‖r7&r8−r6,r
7,r8−・・・−o,p,q,r,s,t,u,v,
w、r−r−r4‖r5−r5−r−r−・・・−x,
y,z,a1、r−r−r−a2,a3の階層ツリーを
示している。
The graph transformation will be described through the example of FIG. R surrounded by a square is a relation objec
The vertices representing t, and the other vertices are signal vertices. In particular, the signal vertices of m and y indicate that the wait object is set. That is, in the example of FIG. 38, r
-R- (r1 | r2) & r3-r1, r2, r3 -...
-A, b, c, d, e, f, g, i, j, k, r-r
-A4, r-r-r4 | r5-r4 -...- h, l,
m, a1, r-r-r4 | r5-r5-a5, r-r-
r4 | r5-r5-r-r6 | r7 & r8-r6, r
7, r8 -...- o, p, q, r, s, t, u, v,
w, r-r-r4 | r5-r5-r-r -...- x,
It shows a hierarchical tree of y, z, a1, r-r-r-a2, a3.

【0139】この図38のグラフ変形は、図39〜図5
4に従って以下のように行われる。
The graph modification of FIG. 38 is similar to that of FIGS.
According to No. 4, it is performed as follows.

【0140】(1)図39において、relation
booleanの識別を表す。(r1‖r2)&r3
−・・・、r6‖r7&r8−・・・、r4‖r5−・
・・を識別する。
(1) In FIG. 39, the relation
Represents a Boolean identification. (R1 ‖ r2) & r3
-..., r6 | r7 & r8 -..., r4 | r5-
.. is identified.

【0141】(2)図40において、(A−>B)−>
CのA−>(B−>C)への変形を表す。r1−・・・
−a,b,c,kの順番を、(a)のようにa,b
,c,kに決定して、(b)のように変形する。
(2) In FIG. 40, (A->B)->
The transformation of C into A->(B-> C) is shown. r1 -...
-The order of a, b, c, k is a, b as in (a).
, C, k, and transform as shown in (b).

【0142】(3)図41において、(A−>B)−>
CのA−>(B−>C)への変形(続き)を表す。同様
に、r2−・・・−d,e,f,g,hの順番、r3−
・・・−i,j,kの順番を(a)のように決定して、
(b)のように変形する。
(3) In FIG. 41, (A->B)->
The transformation (continuation) of C into A->(B-> C) is shown. Similarly, r2 -...- d, e, f, g, h in order, r3-
...- Determine the order of i, j, k as shown in (a),
It deforms as shown in (b).

【0143】(4)図42において、A−>(B−>
C)のA&B−>Cへの変形を表す。(a)から(b)
のように、(r1‖r2)&r3−r1−a&b&c,
k、(r1‖r2)&r3−r2−d&e&f&g,
k、(r1‖r2)&r3−r3−i&j,kに変形す
る。
(4) In FIG. 42, A->(B->
The transformation of C) into A &B-> C is shown. (A) to (b)
, (R1 | r2) & r3-r1-a & b & c,
k, (r1 | r2) & r3-r2-d & e & f & g,
k, (r1 | r2) & r3-r3-i & j, k.

【0144】(5)図43において、relation
booleanを用いた変形を表す。(a)から
(b)のように、r−(a&b&c‖d&e&f&g)
&i&jに変形する。
(5) In FIG. 43, the relation
Represents a transformation using Boolean. As in (a) to (b), r- (a & b & c | d & e & f & g)
& I & j.

【0145】(6)図44において、relation
boolean(残り)を用いた変形を表す。(a)
のような、r6‖r7&r8−r6,r7,r8−・・
・−o,p,q,r,s,t,u,v,wを、(b)の
ように変形する。
(6) In FIG. 44, the relation
Represents the transformation with Boolean (remaining). (A)
, R6 | r7 & r8-r6, r7, r8 -...
-Modify -o, p, q, r, s, t, u, v, w as shown in (b).

【0146】(7)図45において、relation
boolean(残り)を用いた変形(続き)を表
す。同様に、(a)から(b)のように、r6‖r7&
r8−r6−o&p&q,w、r6‖r7&r8−r7
−r&s&t,w、r6‖r7&r8−r8−u&v,
wに変形する。さらに、(c)のように、r−o&p&
q&r&s&t‖u&v,wに変形する。
(7) In FIG. 45, the relation
Representation (continuation) using Boolean (remaining). Similarly, as in (a) to (b), r6‖r7 &
r8-r6-o & p & q, w, r6 | r7 & r8-r7
-R & s & t, w, r6 | r7 & r8-r8-u & v,
Transform into w. Furthermore, as in (c), r-o & p &
Transformed into q & r & s & t / u & v, w.

【0147】(8)図46において、グラフ変形の途中
結果を表す。上記図43と図45の結果をまとめると図
46のようになる。
(8) In FIG. 46, an intermediate result of graph transformation is shown. The results of FIGS. 43 and 45 are summarized in FIG. 46.

【0148】(9)図47において、relation
booleanを再び用いた変形を表す。同様に再
び、r4‖r5−r4−・・・−h,l,m,a1、r
4‖r5−r5−a5、r4‖r5−r5−r−・・・
−o&p&q&r&s&t‖u&v,w,x,y,z,
a1を変形する。
(9) In FIG. 47, the relation
Represents a variant using Boolean again. Similarly, again, r4 | r5-r4 -...- h, l, m, a1, r
4 | r5-r5-a5, r4 | r5-r5-r -...
-O & p & q & r & s & t | u & v, w, x, y, z,
Transform a1.

【0149】(10)図48において、relatio
n booleanの処理の再帰的実行を表す。(a)
のように順番を決定して、(b)のように変形する。
(10) In FIG. 48, relatio
Represents a recursive execution of n Boolean processing. (A)
The order is determined as shown in FIG.

【0150】(11)図49において、wait ob
jectが入っている場合のA−>(B−>C)のA&
B−>Cへの変形を表す。(a)から(b)のように、
r4‖r5−r4−・・・−h,l,m,a1、r4‖
r5−・・・−a5&(o&p&q&r&s&t‖u&
v)&w&x,y,z,a1に変形する。
(11) In FIG. 49, wait ob
A->(B-> C) when Jject is included
The transformation from B to C is shown. From (a) to (b),
r4 || r5-r4 -...- h, l, m, a1, r4 |
r5 -...- a5 & (o & p & q & r & s & t / u &
v) & w & Transform to x, y, z, a1.

【0151】(12)図50において、部分木の最下位
のwait objectの識別を表す。wait o
bjectはmとyである。
(12) In FIG. 50, the identification of the lowest wait object in the subtree is shown. wait o
bject is m and y.

【0152】(13)図51において、グラフ変形の途
中結果を表す。上記図46と図50の結果をまとめると
図51のようになる。
(13) In FIG. 51, an intermediate result of graph transformation is shown. The results of FIG. 46 and FIG. 50 are summarized in FIG.

【0153】(14)図52において、検証対象動作木
全体でのグラフ変形(順番決定)を表す。検証対象動作
木全体について、図52のように順番を決定する。
(14) In FIG. 52, graph transformation (order determination) in the entire verification target operation tree is shown. The order is determined as shown in FIG. 52 for the entire verification target operation tree.

【0154】(15)図53において、検証対象動作木
全体でのグラフ変形((A−>B)−>CのA−>(B
−>C)への変形)を表す。上記図52のように順番を
決定して変形すると図53のようになる。
(15) In FIG. 53, graph transformation ((A->B)-> C A-> (B in the entire verification target operation tree
-> C)). When the order is determined and transformed as shown in FIG. 52, the result is as shown in FIG.

【0155】(16)図54において、検証対象動作木
全体でのグラフ変形(A−>(B−>C)のA&B−>
Cへの変形)を表す。最終的に、検証対象動作木全体で
のグラフ変形は図54のようになる。すなわち、r−
((a&b&c‖d&e&f&g)&i&j)&k&a
4、r−r−r4‖r5−r4−・・・−h,i,m,
a1、r−r−r4‖r5−r5−a5&(o&p&q
&r&s&t‖u&v)&w&x、r−r−r4‖r5
−r5−r−・・・y,z,a1、r−r−r−a2,
a3となる。
(16) In FIG. 54, A &B-> of graph transformation (A->(B-> C) in the entire operation tree to be verified.
(Transformation into C). Finally, the graph transformation in the entire verification target operation tree is as shown in FIG. That is, r-
((A & b & c | d & e & f & g) & i & j) & k & a
4, r-r-r4 | r5-r4 -...- h, i, m,
a1, r-r-r4 | r5-r5-a5 & (o & p & q
& R & s & t | u & v) & w & x, r-r-r4 | r5
-R5-r -... y, z, a1, r-r-r-a2
It becomes a3.

【0156】4−3.検証HDLの生成(図55〜図6
2:図55) (1)ステップS1201において、delayCnt
=1とし、検証対象動作木の一番左の頂点を取得し、m
ost_leftとする。
4-3. Generation of verification HDL (FIGS. 55 to 6)
2: FIG. 55) (1) In step S1201, delayCnt
= 1 and the leftmost vertex of the motion tree to be verified is acquired, and m
ost_left.

【0157】(2)ステップS1202において、木が
waitを含まないか否かを判定し、そうならステップ
S1203へ、そうでないならステップS1204へ処
理を移行する。
(2) In step S1202, it is determined whether or not the tree does not include wait, and if so, the process proceeds to step S1203, and if not, the process proceeds to step S1204.

【0158】(3)ステップS1203において、Pr
operty_simpleを実行し、処理を終了す
る。
(3) In step S1203, Pr
execute operation_simple, and terminate the process.

【0159】(4)ステップS1204において、Pr
operty_waitを実行し、処理をステップS1
205へ移行する。
(4) In step S1204, Pr
execute operation_wait and execute the process in step S1.
Move to 205.

【0160】(5)ステップS1205において、Co
nseqBlockを実行し、処理を終了する。
(5) In step S1205, Co
nseqBlock is executed, and the process ends.

【0161】4−3−1.Property_simp
le(図56) (1)ステップS1301において、検証対象動作木の
頂点から右方向に深さ優先探索の手順で次の頂点を取得
する。
4-3-1. Property_simp
le (FIG. 56) (1) In step S1301, the next vertex is acquired rightward from the vertex of the verification target operation tree in the depth-first search procedure.

【0162】(2)ステップS1302において、下記 always@(posedgeクロック名)begi
n #delayCnt if(flg_tmp&取得した頂点の表すブール式)
begin なる記述を生成する。
(2) In step S1302, the following alwayss @ (posseged clock name) begin
n #delayCnt if (flg_tmp & Boolean expression representing acquired vertex)
Generate a description called begin.

【0163】(3)ステップS1303において、木が
exiを含むか判定し、そうなら処理をステップS13
05へ、そうでないなら処理をステップS1304へ移
行する。
(3) In step S1303, it is determined whether the tree includes exi, and if so, the process proceeds to step S13.
05, otherwise, the process proceeds to step S1304.

【0164】(4)ステップS1304において、下記 if(!(most_leftが表すブール式)) なる記述を生成する。(4) In step S1304, the following if (! (most_left represents the boolean expression)) To generate the description.

【0165】(5)ステップS1305において、下記 if(!(most_leftが表すブール式)) $display(“Error occurred!
!”); なる記述を生成する。
(5) In step S1305, the following if (! (Boolean expression represented by most_left)) $ display ("Error occurred!
!! )); Is generated.

【0166】(6)ステップS1306において、下記 end end なる記述を生成し、処理を終了する。(6) In step S1306, end end The following description is generated, and the processing ends.

【0167】4−3−2.Property_wait
(図57) (1)ステップS1401において、flow_flg
=0とする。
4-3-2. Property_wait
(FIG. 57) (1) In step S1401, flow_flg
= 0.

【0168】(2)ステップS1402において、検証
対象動作木の頂点から右方向に深さ優先探索の手順で次
の頂点を取得する。
(2) In step S1402, the next vertex is acquired rightward from the vertex of the operation tree to be verified in the depth-first search procedure.

【0169】(3)ステップS1403において、ステ
ップS1402で取得した頂点が、most_left
か否か判定し、そうなら処理を終了し、そうでないなら
ステップS1404へ処理を移行する。
(3) In step S1403, the vertex acquired in step S1402 is most_left.
It is determined whether or not, and if so, the process ends, and if not, the process proceeds to step S1404.

【0170】(4)ステップS1404において、ステ
ップS1402で取得した頂点が、relationか
否か判定し、そうならステップS1405へ、そうでな
いならステップS1406へ処理を移行する。
(4) In step S1404, it is determined whether the vertex acquired in step S1402 is relation, and if so, the process proceeds to step S1405, and if not, the process proceeds to step S1406.

【0171】(5)ステップS1405において、Pr
operty_waitを実行する。
(5) In step S1405, Pr
Executes operation_wait.

【0172】(6)ステップS1406において、ステ
ップS1402で取得した頂点が、bool式のrel
ationか否か判定し、そうならステップS1407
へ、そうでないならステップS1408へ処理を移行す
る。
(6) In step S1406, the vertex acquired in step S1402 is the rel of the boolean expression.
determination is made, and if so, step S1407
Otherwise, the process proceeds to step S1408.

【0173】(7)ステップS1407において、Wa
it_Blockを実行する。
(7) In step S1407, Wa
Execute it_Block.

【0174】(8)ステップS1408において、ステ
ップS1402で取得した頂点が、信号からなるブール
式か否か判定し、そうならステップS1409へ、そう
でないならステップS1413へ処理を移行する。
(8) In step S1408, it is determined whether the vertex obtained in step S1402 is a Boolean expression consisting of signals, and if so, the process proceeds to step S1409, and if not, the process proceeds to step S1413.

【0175】(9)ステップS1409において、fl
ow_flg==0か否か判定し、そうならステップS
1410へ、そうでないならステップS1412へ処理
を移行する。
(9) In step S1409, fl
It is determined whether or not ow_flg == 0, and if so, step S
If not, the process proceeds to step S1412.

【0176】(10)ステップS1410において、f
low_flg=1とする。
(10) In step S1410, f
Let low_flg = 1.

【0177】(11)ステップS1411において、I
f_expressionに下記flg_tmp&取得
した頂点の表すブール式を代入する。
(11) In step S1411, I
Substitute the following flg_tmp & Boolean expression representing the acquired vertex into f_expression.

【0178】(12)ステップS1412において、I
f_expressionに下記取得した頂点の表すブ
ール式を代入する。
(12) In step S1412, I
Substitute the Boolean expression represented by the acquired vertex below into f_expression.

【0179】(13)ステップS1413において、ス
テップS1402で取得した頂点が、waitか否か判
定し、そうならステップS1414へ処理を移行する。
(13) In step S1413, it is determined whether the vertex acquired in step S1402 is a wait, and if so, the process proceeds to step S1414.

【0180】(14)ステップS1414において、W
aitBlockを実行する。
(14) In step S1414, W
Execute aitBlock.

【0181】4−3−3.WaitBlock(図58
および図59) (1)ステップS1501において、下記 always@(posedgeクロック名) #delayCntなる記述を生成する。
4-3-3. WaitBlock (Fig. 58
And FIG. 59) (1) In step S1501, a description "always @ (posseged clock name) #delayCnt" is generated.

【0182】(2)ステップS1502において、Wa
it_expressionが空か判定し、そうならス
テップS1503へ、そうでないならステップS150
6へ処理を移行する。
(2) In step S1502, Wa
It is determined whether it_expression is empty, and if so, to step S1503, and if not, to step S150.
The processing shifts to 6.

【0183】(3)ステップS1503において、If
_expressionが空か判定し、そうならステッ
プS1504へ、そうでないならステップS1505へ
処理を移行する。
(3) In step S1503, If
It is determined whether _expression is empty, and if so, the process proceeds to step S1504, and if not, the process proceeds to step S1505.

【0184】(4)ステップS1504において、下記 if(!wait解除条件)wait_flg[k]
[0]=1’b1; else wait_flg[k]
[0]=1’b0; なる記述を生成する。
(4) In step S1504, the following if (! Wait cancellation condition) wait_flg [k] is set.
[0] = 1'b1; else wait_flg [k]
[0] = 1′b0;

【0185】(5)ステップS1505において、下記 if(If_expression)wait_flg
[k][0]=1’b1; else wait_flg
[k][0]=1’b0; なる記述を生成する。
(5) In step S1505, the following if (If_expression) wait_flg is set.
[K] [0] = 1'b1; else wait_flg
[K] [0] = 1′b0;

【0186】(6)ステップS1506において、下記 if(Wait_expression)begin wait(Wait_expression)begi
n なる記述を生成する。
(6) In step S1506, the following if (Wait_expression) begin wait (Wait_expression) begin
Generate a description n.

【0187】(7)ステップS1507において、la
stWaitFlgが空か判定し、そうならステップS
1508へ、そうでないならステップS1509へ処理
を移行する。
(7) In step S1507, la
Determine whether stWaitFlg is empty, and if so, step S
If not, the process proceeds to step S1509.

【0188】(8)ステップS1508において、下記 wait_flg[k][2]=1’b0; なる記述を生成する。(8) In step S1508, wait_flg [k] [2] = 1'b0; To generate the description.

【0189】(9)ステップS1509において、la
stWaitFlg内の全てのwait_flgを全て
1’b0にセットする。
(9) In step S1509, la
Set all wait_flg in stWaitFlg to 1'b0.

【0190】(10)ステップS1510において、I
f_expressionが空か判定し、そうならステ
ップS1511へ、そうでないならステップS1512
へ処理を移行する。
(10) In step S1510, I
It is determined whether f_expression is empty, and if so, the process proceeds to step S1511, and if not, step S1512.
Process shifts to.

【0191】(11)ステップS1511において、下
記 wait_flg[k][0]=1’b1; end end なる記述を生成する。
(11) In step S1511, the description wait_flg [k] [0] = 1'b1; end end is generated.

【0192】(12)ステップS1512において、下
記 if(If_expression)begin wait_flg[k][0]=1’b1; end else begin wait_flg[k][0]=1’b0; end end なる記述を生成する。
(12) In step S1512, the description if (If_expression) begin wait_flg [k] [0] = 1'b1; end else begin wait_flg [k] [0] = 1'b0; end end is generated. .

【0193】(13)ステップS1513において、d
elayCntをインクリメントする。
(13) In step S1513, d
Increment elayCnt.

【0194】(14)ステップS1514において、下
記 always@(posedgeクロック名) #delayCnt if(|wait_flg[k][1:0])begi
n wait(|wait_flg[k][1:0])be
gin wait_flg[k][0]=1’b0; if(!(wait解除条件))begin if(繰り返し条件) wait_flg[k][2:1]=2’b01; else begin wait_flg[k][1:0]=2’b00; $display(“Error occurred
at interation.”); end end else wait_flg[k][2:1]=2’b10; end endなる記述を生成する。
(14) In step S1514, the following alwayss @ (posedge clock name) #delayCnt if (| wait_flg [k] [1: 0]) begi
n wait (| wait_flg [k] [1: 0]) be
gin wait_flg [k] [0] = 1′b0; if (! (wait cancellation condition)) begin if (repetition condition) wait_flg [k] [2: 1] = 2′b01; else begin wait_flg [k] [1 : 0] = 2′b00; $ display (“Error Occurred
at interpolation. )); End end else wait_flg [k] [2: 1] = 2'b10; end end is generated.

【0195】(15)ステップS1515において、W
ait_expressionに下記 wait_flg[k][2] を代入する。
(15) In step S1515, W
The following wait_flg [k] [2] is assigned to ait_expression.

【0196】(16)ステップS1516において、d
elayCntをインクリメントし、kをインクリメン
トして、処理を終了する。
(16) In step S1516, d
elayCnt is incremented, k is incremented, and the process ends.

【0197】4−3−4.WaitORBlock(図
60および図61) (1)ステップS1601において、relation
のブール式の下位に存在する最も上位のrelatio
nの数を取得し、RootRelCntとする。
4-3-4. WaitORBlock (FIGS. 60 and 61) (1) In step S1601, relation
Highest-level relative that exists below the Boolean expression of
The number of n is acquired and set as RootRelCnt.

【0198】(2)ステップS1602において、re
lationのブール式の下位に存在する最も左端の頂
点を取得し、sub_most_leftとする。
(2) In step S1602, re
The leftmost vertex existing in the lower part of the Boolean expression of the relation is acquired and set as sub_most_left.

【0199】(3)ステップS1603において、j=
1とする。
(3) In step S1603, j =
Set to 1.

【0200】(4)ステップS1604において、左か
らj番目の最上位relationを取得する。
(4) In step S1604, the jth highest relation from the left is acquired.

【0201】(5)ステップS1605において、下記 subdelayCnt=delayCnt subIF_expression=If_expre
ssion subWait_expression=Wait_e
xpression の代入を行う。
(5) In step S1605, the following subdelayCnt = delayCnt subIF_expression = If_expre
session subWait_expression = Wait_e
Substitute xpression.

【0202】(6)ステップS1606において、Pr
operty_waitを実行する。
(6) In step S1606, Pr
Executes operation_wait.

【0203】(7)ステップS1607において、jを
インクリメントする。
(7) In step S1607, j is incremented.

【0204】(8)ステップS1608において、j>
RootRelCntか判定し、そうならステップS1
609へ、そうでなければステップS1604へ処理を
移す。
(8) In step S1608, j>
It is determined whether it is RootRelCnt, and if so, step S1
If not, the process proceeds to step S1604.

【0205】(9)ステップS1609において、su
bdelayCntの最大値をdelayCntとす
る。
(9) In step S1609, su
The maximum value of bdelayCnt is set as delayCnt.

【0206】(10)ステップS1610において、W
ait_expressionを上記処理で得られた subIF_expression&&subWait
_expression のOR表現とする。すなわち、下記式 Wait_expression=‖IsubIF_e
xpression[I]&&subWait_exp
ression[I] をWait_expressionに代入する。
(10) In step S1610, W
ait_expression is the subIF_expression && subWait obtained by the above process.
It is an OR expression of _expression. That is, the following formula Wait_expression = | IsubIF_e
xpression [I] && subWait_exp
Substitute region [I] into Wait_expression.

【0207】(11)ステップS1611において、l
astWaitFlgにsubWait_expres
sionを全て格納する。
(11) In step S1611, l
subWait_expres to astWaitFlg
Stores all sions.

【0208】(12)ステップS1612において、I
f_expressionを空にする。
(12) In step S1612, I
Empty f_expression.

【0209】(13)ステップS1613において、s
ub_most_left!=most_leftを判
定し、もしそうならステップS1614へ、そうでなけ
れば処理を終了する。
(13) In step S1613, s
ub_most_left! = Most_left is determined, and if so, the process proceeds to step S1614, and if not, the process ends.

【0210】(14)ステップS1614において、頂
点が信号かを識別し、もしそうならステップS1615
へ、そうでないならステップS1616へ処理を移す。
(14) In step S1614, it is identified whether the vertex is a signal, and if so, step S1615.
Otherwise, the process proceeds to step S1616.

【0211】(15)ステップS1615において、I
f_expressionに信号からなるブール式を代
入する。
(15) In step S1615, I
Substitute a Boolean expression consisting of a signal for f_expression.

【0212】(16)ステップS1616において、頂
点がwaitかを識別し、処理をステップS1617へ
移行する。
(16) In step S1616, it is identified whether the vertex is a wait and the process proceeds to step S1617.

【0213】(17)ステップS1617において、W
aitBlockを実行し、処理を終了する。
(17) In step S1617, W
Execute aitBlock and end the process.

【0214】4−3−5.ConseqBlock(図
62) (1)ステップS1701において、most_lef
tがwaitか判定し、そうならステップS1702
へ、そうでないならステップS1704へ処理を移す。
4-3-5. ConseqBlock (FIG. 62) (1) In step S1701, most_left
It is determined whether t is wait, and if so, step S1702
Otherwise, the process proceeds to step S1704.

【0215】(2)ステップS1702において、Wa
itBlockを実行する。
(2) In step S1702, Wa
Execute itBlock.

【0216】(3)ステップS1703において、下記 always@(posedgeクロック名)begi
n #delayCnt if(Wait_expression) wait(Wait_expression) end なる記述を生成し、処理を終了する。
(3) In step S1703, the following alwayss @ (posseged clock name) begin
n #delayCnt if (Wait_expression) wait (Wait_expression) end A description is generated, and the process ends.

【0217】(4)ステップS1704において、下記 always@(posedge) #delayCnt なる記述を生成する。(4) In step S1704, alwayss @ (posedge) #DelayCnt To generate the description.

【0218】(5)ステップS1705において、Wa
it_expressionが空か判定し、そうならス
テップS1708へ、そうでないならステップS170
6へ処理を移す。
(5) In step S1705, Wa
It is determined whether it_expression is empty, and if so, to step S1708, otherwise, to step S170.
Processing is transferred to 6.

【0219】(6)ステップS1706において、下記 if(Wait_expression)begin wait(Wait_expression)begi
n なる記述を生成する。
(6) In step S1706, the following if (Wait_expression) begin wait (Wait_expression) begin
Generate a description n.

【0220】(7)ステップS1707において、la
stWaitFlgが空か判定し、そうならステップS
1708へ、そうでないならステップS1709へ処理
を移す。
(7) In step S1707, la
Determine whether stWaitFlg is empty, and if so, step S
If not, the process proceeds to step S1709.

【0221】(8)ステップS1708において、下記 wait_expression=1’b0; なる記述を生成する。(8) In step S1708, wait_expression = 1'b0; To generate the description.

【0222】(9)ステップS1709において、La
stWaitFlgに含まれる全flgに対してflg
=1’b0;なる記述を生成する。
(9) In step S1709, La
flg for all flg included in stWaitFlg
= 1′b0;

【0223】(10)ステップS1710において、I
f_expressionが空か判定し、そうならステ
ップS1712へ、そうでないならステップS1711
へ処理を移行する。
(10) In step S1710, I
It is determined whether f_expression is empty, and if so, to step S1712, and if not, step S1711.
Process shifts to.

【0224】(11)ステップS1711において、下
記 if(If_expression)begin なる記述を生成し、処理をステップS1712へ移行す
る。
(11) In step S1711, the following description if (If_expression) begin is generated, and the process proceeds to step S1712.

【0225】(12)ステップS1712において、検
証対象動作木がexiを含むか判定し、そうならステッ
プS1713へ、そうでないならステップS1714へ
処理を移す。
(12) In step S1712, it is determined whether the verification target operation tree includes exi, and if so, the process proceeds to step S1713, and if not, the process proceeds to step S1714.

【0226】(13)ステップS1713において、下
記 if(!(most_leftの表す信号のブール
式)) $display(“Error occurre
d.”); なる記述を生成し、処理をステップS1715へ移行す
る。
(13) In step S1713, the following if (! (Boolean expression of signal represented by most_left)) $ display ("Error occurre")
d. "); Is generated, and the process proceeds to step S1715.

【0227】(14)ステップS1714において、下
記 if(!(most_leftの表す信号のブール
式)) なる記述を生成し、処理をステップS1715へ移行す
る。
(14) In step S1714, the following description if (! (Boolean expression of signal represented by most_left)) is generated, and the process proceeds to step S1715.

【0228】(15)ステップS1715において、W
ait_expressionが空か判定し、そうなら
ステップS1717へ、そうでないならステップS17
16へ処理を移す。
(15) In step S1715, W
It is determined whether ait_expression is empty, and if so, to step S1717, otherwise, to step S17.
The process is transferred to 16.

【0229】(16)ステップS1716において、下
記 end なる記述を生成し、処理をステップS1717へ移す。
(16) In step S1716, the following description "end" is generated, and the process proceeds to step S1717.

【0230】(17)ステップS1717において、I
f_expressionが空か判定し、そうならステ
ップS1719へ、そうでないならステップS1718
へ処理を移す。
(17) In step S1717, I
It is determined whether f_expression is empty, and if so, to step S1719, and if not, step S1718.
Move the processing to.

【0231】(18)ステップS1718において、下
記 end なる記述を生成し、処理をステップS1719へ移行す
る。
(18) In step S1718, the following description "end" is generated, and the process proceeds to step S1719.

【0232】(19)ステップS1719において、下
記 end なる記述を生成し、処理を終了する。
(19) In step S1719, the description "end" is generated, and the process ends.

【0233】5.TDO2CTL Algorithm 図63および図64により、TDO2CTL Algo
rithmの一例を説明する。図63はTDO2CTL
Algorithmを示すフロー図、図64はCTL
生成可能性判定を示すフロー図である。
5. TDO2CTL Algolithm FIG. 63 and FIG. 64 show that TDO2CTL Algo
An example of ritm will be described. Figure 63 is TDO2CTL
Flow chart showing Algorithm, Figure 64 is CTL
It is a flowchart which shows a production possibility determination.

【0234】図63に示すように、TDO2CTL A
lgorithmは、まず、検証対象動作木がCTL生
成可能かの判定チェックを行う方法を述べ(ステップS
1801)、次いで、検証対象動作木の変形アルゴリズ
ムの変更点に触れ(ステップS1802)、最終的に得
られた検証対象動作木からCTLを生成するアルゴリズ
ムを述べる(ステップS1803)。ただし、前述した
Verilog−HDL生成と同様な部分が多いため、
詳しくは述べない。
As shown in FIG. 63, TDO2CTL A
lgorithm first describes a method for checking whether a verification target operation tree can generate a CTL (step S
1801), then, the modification point of the modification algorithm of the verification target operation tree is described (step S1802), and the algorithm for generating the CTL from the finally obtained verification target operation tree is described (step S1803). However, since there are many parts similar to the Verilog-HDL generation described above,
I will not go into details.

【0235】5−1.CTL生成可能性判定(図64) (1)ステップS1901において、検証対象動作木の
信号頂点で、左側より過去のサイクルが指定されている
右側の頂点が存在するか否かを判定し、そうならステッ
プS1904へ、そうでなければステップS1902へ
処理を移行する。
5-1. CTL Generation Possibility Judgment (FIG. 64) (1) In step S1901, it is judged whether or not there is a vertex on the right side in which a cycle past from the left side is specified among the signal vertices of the operation tree to be verified. If not, the process proceeds to step S1904.

【0236】(2)ステップS1902において、AN
Dを含むrelationのブール式頂点の下位にwa
it頂点があるか判定し、もしあればステップS190
4へ、なければステップS1903へ処理を移行する。
(2) In step S1902, AN
Wa below the Boolean vertices of the relation containing D
It is determined whether or not there is an it vertex, and if there is, the step S190.
4, if not, the process proceeds to step S1903.

【0237】(3)ステップS1903において、検証
対象動作木の最右端頂点(most_leftと呼ぶ)
が接続されているrelationの頂点にexiが指
定されていて、かつ片側の頂点の時刻が最右端頂点の時
刻と一致するか判定し、そうならステップS1904
へ、そうでないならステップS1905へ処理を移行す
る。
(3) In step S1903, the rightmost vertex of the operation tree to be verified (called most_left)
If exi is specified for the relation vertex to which is connected, and if the time of the vertex on one side matches the time of the rightmost vertex, then step S1904
Otherwise, the process proceeds to step S1905.

【0238】(4)ステップS1904において、CT
L生成不能である旨、ユーザに通知し、処理を終了す
る。
(4) In step S1904, CT
The user is notified that L cannot be generated, and the process ends.

【0239】(5)ステップS1905において、Mo
st_leftに最も近い、ブール式でないrelat
ion頂点以外のexi指定は全て削除し、処理を終了
する。
(5) In step S1905, Mo
The closest non-Boolean relat to st_left
All exi specifications other than the ion vertex are deleted, and the process ends.

【0240】5−2.検証対象動作木の変形 検証対象動作木の変形における変更・追加点のみを述べ
る。検証対象動作木の変形において、まず最初に全ての
wait頂点に対して、wait頂点情報を AX:n{A(繰り返し条件&!wait解除条件Uw
ait解除条件)} に置換する。特に、AX:nのnはwait obje
ctの波形上でのサイクル数に対応する。
5-2. Deformation of the verification target motion tree Only the changes and additions in the modification of the verification target motion tree are described. In the modification of the motion tree to be verified, first, the wait vertex information is set to AX: n {A (repetition condition &! Wait cancellation condition Uw for all wait vertices.
ait cancellation condition)}. In particular, n of AX: n is a wait obje.
Corresponds to the number of cycles on the waveform of ct.

【0241】次いで、各信号頂点をサイクル数nを用い
て、AX:n(信号名)に置換する。そして、トポロジ
カルソートを行い、一番順番の若いwait頂点または
exiが付加された信号頂点を検索し、検索された頂点
がrelationのブール演算頂点の下位にある場合
とそうでない場合とに分けて下記操作を行う。基本的
に、左方向の深さ優先探索の手順で木を辿りながら処理
を行う。
Next, each signal vertex is replaced with AX: n (signal name) using the cycle number n. Then, a topological sort is performed to search for the youngest wait vertex or the signal vertex to which the exi is added in order, and the search vertex is divided into the case where it is subordinate to the Boolean operation vertex of relation and the case where it is not, and Do the operation. Basically, the processing is performed while tracing the tree in the depth-first search procedure in the left direction.

【0242】1)検索された頂点がrelationの
ブール演算頂点の下位にある場合その頂点が含まれる部
分木を以下の方法で取得する。
1) Boolean operation of relation when searched vertex is lower than vertex: A subtree including the vertex is acquired by the following method.

【0243】(1)relationのブール演算頂点
の直下に位置するrelation頂点で、今対象とし
ているwait頂点を下位に含む頂点を選択する。
(1) Boolean operation of relation A relation vertex located immediately below the vertex is selected, and a vertex including the currently targeted wait vertex in the lower order is selected.

【0244】(2)(1)で選択したrelation
頂点の下位全てからなる部分木を取得する。
(2) Relation selected in (1)
Get a subtree consisting of all subordinate vertices.

【0245】次いで、そのwait頂点よりも、トポロ
ジカルソートで得られた順番が大きい信号頂点のサイク
ル情報を順番に従った相対サイクル情報に置き換える。
これを木の範囲内で行う。他のrelationのブー
ル演算頂点の直下に位置するrelation頂点を頂
点とする木に対しても、waitかexi付き頂点が含
まれているなら同じことをする。
Next, the cycle information of the signal vertex whose order obtained by topological sort is larger than that wait vertex is replaced with the relative cycle information according to the order.
Do this within a tree. The same is done for trees with relation vertices located immediately below the Boolean operation vertices of other relations, if a vertex with wait or exi is included.

【0246】さらに、relationのブール演算頂
点より順番が大きいものに対しても、同様に相対サイク
ル情報への置換を行うが、これは2)の手順を用いる。
Further, the replacement with the relative cycle information is similarly performed for the one having a larger order than the Boolean operation vertex of the relation, which uses the procedure of 2).

【0247】2)そうでない場合 その頂点よりも、トポロジカルソートで得られた順番が
大きい信号頂点のサイクル情報を順番に従った相対サイ
クル情報に置き換える。操作がrelationのブー
ル演算頂点に辿り着くと、relationのブール演
算頂点の下位のrelation頂点を頂点とする木夫
々に対して独立に相対サイクル情報への置き換えを行
う。この操作が終わると、また木を辿りながら相対サイ
クル情報への置換をrelationのブール演算頂点
に辿り着くまで行う。
2) Otherwise, the cycle information of the signal vertex obtained by the topological sort having a higher order than that vertex is replaced with the relative cycle information according to the order. When the operation reaches the Boolean operation vertex of relation, each tree having a relation vertex lower than the Boolean operation vertex of relation as a vertex is independently replaced with relative cycle information. After this operation is completed, the tree is traced again and the relative cycle information is replaced until the Boolean operation vertex of the relation is reached.

【0248】なお、相対サイクル情報への置換では、A
X:n(信号名)をAY:m(信号名)に置換し、mは
相対サイクル情報とする。
In the replacement with the relative cycle information, A
X: n (signal name) is replaced with AY: m (signal name), and m is relative cycle information.

【0249】次に、exiが付加されている頂点情報の
AをEに置換する。
Next, A of the vertex information to which exi is added is replaced with E.

【0250】次に、(A−>B)−>CをA&B−>C
に変換する操作では、AYやEX、EYが含まれない場
合は、たとえば AX(a)&AX(b)&AX:2(c)=AX(a&
b&AX(C)) のようにサイクル数による括り出しを行う。含まれる場
合は、以下の式変形ルールを適時用いて求める。
Next, (A->B)-> C is changed to A &B-> C.
In the operation of converting to, when AY, EX, and EY are not included, for example, AX (a) & AX (b) & AX: 2 (c) = AX (a &
b & AX (C)), and squeezing is performed by the number of cycles. If it is included, the following formula transformation rule is used as needed.

【0251】P&AY(Q)=P&AX(Q) P&EY(Q)=P&EX(Q) AX(P)&AY(Q)=AX(P&AX(Q)) AX(P)&EY(Q)=AX(P&EX(Q)) AY(P)&AY(Q)=AY(P&AX(Q)) AY(P)&EY(Q)=AY(P&EX(Q)) EX(P)&AY(Q)=EX(P&AX(Q)) EX(P)&EY(Q)=EX(P&EX(Q)) EY(P)&AY(Q)=EY(P&AX(Q)) EY(P)&EY(Q)=EY(P&EX(Q)) 特に、式変形は左から行う。たとえば、下記のようであ
る。
P & AY (Q) = P & AX (Q) P & EY (Q) = P & EX (Q) AX (P) & AY (Q) = AX (P & AX (Q)) AX (P) & EY (Q) = AX (P & EX (Q) Q)) AY (P) & AY (Q) = AY (P & AX (Q)) AY (P) & EY (Q) = AY (P & EX (Q)) EX (P) & AY (Q) = EX (P & AX (Q) ) EX (P) & EY (Q) = EX (P & EX (Q)) EY (P) & AY (Q) = EY (P & AX (Q)) EY (P) & EY (Q) = EY (P & EX (Q)) , The formula transformation is performed from the left. For example:

【0252】 AY(P)&EY(Q)&AY:2(R)&EY:3(S) =AY(P)&EY(Q)&AY:2(R&EX:3(S)) =AY(P)&EY(Q&AX:2(R&EX:3(S))) =AY(P&EX(Q&AX:2(R&EX:3(S))) また、‖が含まれている場合などは、それを‖の両辺を
固まりと見なして扱う。たとえば下記のようである。
AY (P) & EY (Q) & AY: 2 (R) & EY: 3 (S) = AY (P) & EY (Q) & AY: 2 (R & EX: 3 (S)) = AY (P) & EY ( Q & AX: 2 (R & EX: 3 (S)) = AY (P & EX (Q & AX: 2 (R & EX: 3 (S))) Also, if ‖ is included, both sides of ‖ are regarded as a mass. For example:

【0253】 AY(P)&EY(Q)&(AY:2(R)‖EY:3(S)) =AY(P)&EY(Q&(AX:2(R)‖EX:3(S))) =AY(P&EX(Q&(AX:2(R)‖EX:3(S))) なお、AND−OR式の扱いは、分配法則を適用して右
側を扱ってから、OR内部の&から変形して上記のよう
に扱えばよい。たとえば下記のようである。
AY (P) & EY (Q) & (AY: 2 (R) .parallel.EY: 3 (S)) = AY (P) & EY (Q & (AX: 2 (R) .parallel.EX: 3 (S)) ) = AY (P & EX (Q & (AX: 2 (R) ‖EX: 3 (S))) Note that the AND-OR expression is handled by applying the distributive law to the right side and then from & inside the OR. It can be modified and treated as described above, for example:

【0254】 AY(P)&EY(Q)&(AY:2(R)&EY(R2)‖EY:3( S)&AY(S2))&AY(T) =AY(P)&EY(Q)&(AY:2(R)&EY(R2)&AY(T )‖EY:3(S)&AY(S2)&AY(T)) =AY(P)&EY(Q)&(AY:2(R)&EY(R2&AX(T) ‖EY:3(S)&AY(S2&AX(T)) =AY(P)&EY(Q)&(AY:2(R&EX(R2&AX(T)) ‖EY:3(S&AX(S2&AX(T))) =AY(P)&EY(Q&(AX:2(R&EX(R2&AX(T))‖ EX:3(S&AX(S2&AX(T)))) =AY(P&EX(Q&(AX:2(R&EX(R2&AX(T))‖E X:3(S&AX(S2&AX(T))))) AY(P)&EY(Q)&(AY:2(R)&‖EY:3(S))&(A Y(T)‖AY(T2))&AY(T3) =AY(P)&EY(Q)&(AY:2(R)&‖EY:3(S))&( AY(T&AX(T3))‖AY(T2&AX(T3))) =AY(P)&EY(Q)&(AY:2(R)&AY(T&AX(T3) )‖AY:2(R)&AY(T2&AX(T3))‖EY:3(S)&(AY( T&AX(T3)‖EY:3(S)&AY(T2&AX(T3))) =AY(P)&EY(Q)&(AY:2(R&AX(T&AX(T3)) )‖AY:2(R&AX(T2&AX(T3)))‖EY:3(S&AX(T& AX(T3)‖EY:3(S&AX(T2&AX(T3))) =AY(P)&EY(Q&(AX:2(R&AX(T&AX(T3))) ‖AX:2(R&AX(T2&AX(T3)))‖EX:3(S&AX(T&A X(T3)‖EX:3(S&AX(T2&AX(T3)))) =AY(P&EX(Q&(AX:2(R&AX(T&AX(T3)))‖ AX:2(R&AX(T2&AX(T3)))‖EX:3(S&AX(T&AX (T3)‖EX:3(S&AX(T2&AX(T3))))) 次に、relationのブール式の扱いであるが、こ
れはVerilog−HDL生成と同様である。
AY (P) & EY (Q) & (AY: 2 (R) & EY (R2) .parallel.EY: 3 (S) & AY (S2)) & AY (T) = AY (P) & EY (Q) & ( AY: 2 (R) & EY (R2) & AY (T) ‖EY: 3 (S) & AY (S2) & AY (T)) = AY (P) & EY (Q) & (AY: 2 (R) & EY (R2 & AX) (T) ‖EY: 3 (S) & AY (S2 & AX (T)) = AY (P) & EY (Q) & (AY: 2 (R & EX (R2 & AX (T)) ‖EY: 3 (S & AX (S2 & AX (T)) )) = AY (P) & EY (Q & (AX: 2 (R & EX (R2 & AX (T)) ‖EX: 3 (S & AX (S2 & AX (T)))) = AY (P & EX (Q & (AX: 2 (R & EX (R2 & AX (R2 & AX) (T)) ‖EX: 3 (S & AX (S2 & AX (T))))) AY (P) & EY (Q) & (AY: 2 (R) & ‖EY: 3 (S)) & (AY (T) ‖AY (T2)) & AY (T3) = AY (P) & EY (Q) & (AY: 2 (R) & ‖EY: 3 (S)) & (AY (T & AX (T3)) ‖AY (T2 & AX (T3))) = AY (P) & EY (Q) & (AY: 2 ( R) & AY (T & AX (T3)) ‖AY: 2 (R) & AY (T2 & AX (T3)) ‖EY: 3 (S) & (AY (T & AX (T3) ‖EY: 3 (S) & AY (T2 & AX (T3) ))) = AY (P) & EY (Q) & (AY: 2 (R & AX (T & AX (T3))) ‖AY: 2 (R & AX (T2 & AX (T3))) ‖EY: 3 (S & AX (T & AX (T3)) ) ‖EY: 3 (S & AX (T2 & AX (T3))) = AY (P) & EY (Q & (AX: 2 (R & AX ( T & AX (T3))) ‖AX: 2 (R & AX (T2 & AX (T3))) ‖EX: 3 (S & AX (T & AX (T3) ‖EX: 3 (S & AX (T2 & AX (T3)))) = AY (P & EX ( Q & (AX: 2 (R & AX (T & AX (T3))) ‖AX: 2 (R & AX (T2 & AX (T3))) ‖EX: 3 (S & AX (T & AX (T3) ‖EX: 3 (S & AX (T2 & AX (T3))) ))) Next, regarding the Boolean expression of relation, this is the same as the Verilog-HDL generation.

【0255】以上が、検証対象動作木での変更・追加処
理である。
The above is the change / addition processing in the verification target operation tree.

【0256】5−3.CTLの生成 基本的にVerilog−HDLのchecker生成
と同じく、変形後の検証対象動作木を辿りながら処理を
行う。これに関しても概略のみを述べる。
5-3. Generation of CTL Basically, the processing is performed while following the modified verification target operation tree as in the case of the Verilog-HDL checker generation. Only the outline will be described here.

【0257】まず、木での最左端の頂点を取得する。そ
の頂点以外の部分の処理を以下に述べる。木を辿りなが
ら頂点情報を&で単純に結合していき、relatio
nのOR演算に辿り着くと、以下の処理を行い、それを
終了して続きがあるなら、また&で単純に結合してい
く。これを最左端の頂点に辿り着くまで行い、得られた
&結合式−>最左端頂点の式なる式を構成して、全体式
変形処理を行う。
First, the leftmost vertex of the tree is acquired. The processing of the parts other than the vertex will be described below. While tracing the tree, simply combine the vertex information with &, and relatio
When it reaches the OR operation of n, the following processing is performed, and if it is terminated and there is a continuation, it is simply combined with & again. This is repeated until the leftmost vertex is reached, and the obtained & join formula-> the formula of the leftmost vertex is constructed, and the general formula transformation process is performed.

【0258】relationのOR演算での処理 本頂点下位の部分木を識別し、夫々の木の最左端を取得
する。それらが一致していなければ、処理を中断し、一
致していれば、それが先に取得した最左端頂点と一致す
るか識別する。
Processing by the OR operation of relation The subtrees at the lower level of this vertex are identified, and the leftmost end of each tree is acquired. If they do not match, the process is interrupted, and if they match, it is identified whether they match the leftmost vertex acquired earlier.

【0259】1)最左端と一致した場合 夫々の部分木の頂点の&を左方向の深さ優先探索の順番
で最左端頂点の手前まで&で結合していく。得られた式
−>最左端頂点の式の形式を各部分木に対して構成し、
たとえば部分木が3つあったとすると、 (部分木1の&結合式‖部分木2の&結合式‖部分木3
の&結合式)−>最左端頂点の式 を構成し、これを今まで得た&結合式に&で結合し全体
式変形処理へ進む。
1) When it coincides with the leftmost end: The & of the vertices of the respective subtrees are joined by & in front of the leftmost end vertex in the order of depth-first search in the left direction. The resulting expression-> the form of the expression of the leftmost vertex is constructed for each subtree,
For example, if there are three sub-trees, (& join expression of sub-tree 1 ‖ sub-tree 2 & join expression ‖ sub-tree 3
&& Formula of-)-> Construct the formula of the leftmost vertex, and join it with && formula obtained up to now with & to proceed to the general formula transformation process.

【0260】2)一致しない場合 夫々の部分木の頂点の&を左方向の深さ優先探索の順番
で&で結合していく。たとえば部分木が3つあったとす
ると、 (部分木1の&結合式‖部分木2の&結合式‖部分木3
の&結合式) を構成し、これを今まで得た&結合式に&で結合する。
2) If they do not match, the & of the vertices of each subtree are joined by & in the order of depth-first search in the left direction. For example, if there are three sub-trees, (& join expression of sub-tree 1 ‖ sub-tree 2 & join expression ‖ sub-tree 3
& Join expression of) and join this with the & join expression obtained so far.

【0261】全体式変形処理では、最左端頂点の式にY
がある場合、得られた&結合式−>最左端頂点の式を、
得られた&結合式−>(得られた&結合式)&最左端頂
点の式に変形し、−>の前後の式に対して頂点での式変
形同様右側から式変形処理を行う。このとき、頂点の式
変形で用いた変形規則および下記式変形規則を適宜適用
し、Yを除去する。得られた変形式を対応する−>の両
端の式に代入し、これで、CTLが得られる。Yが無い
場合は、そのまま出力すればよい。
In the general expression transformation process, Y is added to the expression of the leftmost vertex.
If there is, the obtained & join expression-> the expression of the leftmost vertex is
The obtained & combined expression-> (obtained & combined expression) & is transformed into the expression of the leftmost vertex, and the expression transformation processing is performed from the right side for the expressions before and after-> as in the expression transformation at the vertex. At this time, the transformation rule used in the equation transformation of the vertex and the following equation transformation rule are appropriately applied to remove Y. Substituting the obtained modified formula into the corresponding formulas at both ends of->, the CTL is obtained. If there is no Y, it may be output as it is.

【0262】A(P1UP2)&AY(Q)=A(P1
U(P2&AX(Q)) A(P1UP2)&EY(Q)=A(P1U(P2&E
X(Q)) E(P1UP2)&AY(Q)=E(P1U(P2&A
X(Q)) E(P1UP2)&EY(Q)=E(P1U(P2&E
X(Q)) たとえば、以下のようである。
A (P1UP2) & AY (Q) = A (P1
U (P2 & AX (Q)) A (P1UP2) & EY (Q) = A (P1U (P2 & E
X (Q)) E (P1UP2) & AY (Q) = E (P1U (P2 & A
X (Q)) E (P1UP2) & EY (Q) = E (P1U (P2 & E
X (Q)) For example,

【0263】 P&AY(Q)&AY:2(A(P1UP2))&EY(S)&EY(A (P3UP4)&AY(T)−>AY:2(O) から、 P&AY(Q)&AY:2(A(P1UP2))&EY(S)&EY(A (P3UP4)&AY(T) および P&AY(Q)&AY:2(A(P1UP2))&EY(S)&EY(A (P3UP4)&AY(T)&AY:2(O) を構成する。さらに、 P&AY(Q)&AY:2(A(P1UP2))&EY(S)&EY(A (P3UP4)&AY(T) =P&AY(Q)&AY:2(A(P1UP2))&EY(S)&EY( A(P3UP4&AX(T))) =P&AY(Q)&AY:2(A(P1UP2))&EY(S&EX(A (P3UP4&AX(T)))) =P&AY(Q)&AY:2(A(P1U(P2&EX(S&EX(A( P3UP4&AX(T))))))) =P&AY(Q&AX:2(A(P1U(P2&EX(S&EX(A(P 3UP4&AX(T)))))))) =P&AX(Q&AX:2(A(P1U(P2&EX(S&EX(A(P 3UP4&AX(T)))))))) P&AY(Q)&AY:2(A(P1UP2))&EY(S)&EY(A (P3UP4)&AY(T)&AY:2(O) =P&AY(Q)&AY:2(A(P1UP2))&EY(S)&EY( A(P3UP4)&AY(T&AX:2(O)) =P&AY(Q)&AY:2(A(P1UP2))&EY(S)&EY( A(P3U(P4&AX(T&AX:2(O))))) =P&AY(Q)&AY:2(A(P1UP2))&EY(S&EX(A (P3U(P4&AX(T&AX:2(O)))))) =P&AY(Q)&AY:2(A(P1U(P2&EX(S&EX(A( P3U(P4&AX(T&AX:2(O))))))))) =P&AY(Q&AX:2(A(P1U(P2&EX(S&EX(A(P 3U(P4&AX(T&AX:2(O)))))))))) =P&AX(Q&AX:2(A(P1U(P2&EX(S&EX(A(P 3U(P4&AX(T&AX:2(O)))))))))) 従って、下記 P&AX(Q&AX:2(A(P1U(P2&EX(S&EX(A(P3 UP4&AX(T)))))))) −>P&AX(Q&AX:2(A(P1U(P2&EX(S&EX(A (P3U(P4&AX(T&AX:2(O)))))))))) なるCTLを得る。[0263]       P & AY (Q) & AY: 2 (A (P1UP2)) & EY (S) & EY (A (P3UP4) & AY (T)-> AY: 2 (O) From       P & AY (Q) & AY: 2 (A (P1UP2)) & EY (S) & EY (A (P3UP4) & AY (T) and       P & AY (Q) & AY: 2 (A (P1UP2)) & EY (S) & EY (A (P3UP4) & AY (T) & AY: 2 (O) Make up. further,       P & AY (Q) & AY: 2 (A (P1UP2)) & EY (S) & EY (A (P3UP4) & AY (T)       = P & AY (Q) & AY: 2 (A (P1UP2)) & EY (S) & EY ( A (P3UP4 & AX (T)))       = P & AY (Q) & AY: 2 (A (P1UP2)) & EY (S & EX (A (P3UP4 & AX (T))))       = P & AY (Q) & AY: 2 (A (P1U (P2 & EX (S & EX (A ( P3UP4 & AX (T)))))))       = P & AY (Q & AX: 2 (A (P1U (P2 & EX (S & EX (A (P 3UP4 & AX (T))))))))       = P & AX (Q & AX: 2 (A (P1U (P2 & EX (S & EX (A (P 3UP4 & AX (T))))))))       P & AY (Q) & AY: 2 (A (P1UP2)) & EY (S) & EY (A (P3UP4) & AY (T) & AY: 2 (O)       = P & AY (Q) & AY: 2 (A (P1UP2)) & EY (S) & EY ( A (P3UP4) & AY (T & AX: 2 (O))       = P & AY (Q) & AY: 2 (A (P1UP2)) & EY (S) & EY ( A (P3U (P4 & AX (T & AX: 2 (O)))))       = P & AY (Q) & AY: 2 (A (P1UP2)) & EY (S & EX (A (P3U (P4 & AX (T & AX: 2 (O))))))       = P & AY (Q) & AY: 2 (A (P1U (P2 & EX (S & EX (A ( P3U (P4 & AX (T & AX: 2 (O)))))))))       = P & AY (Q & AX: 2 (A (P1U (P2 & EX (S & EX (A (P 3U (P4 & AX (T & AX: 2 (O))))))))))       = P & AX (Q & AX: 2 (A (P1U (P2 & EX (S & EX (A (P 3U (P4 & AX (T & AX: 2 (O)))))))))) Therefore,       P & AX (Q & AX: 2 (A (P1U (P2 & EX (S & EX (A (P3 UP4 & AX (T))))))))         -> P & AX (Q & AX: 2 (A (P1U (P2 & EX (S & EX (A (P3U (P4 & AX (T & AX: 2 (O))))))))))) CTL is obtained.

【0264】従って、本実施の形態の機能検証記述生成
装置によれば、設計者や検証担当者は検証対象の比較的
操作可能なタイミングダイアグラム編集装置2上でHD
Lの記述から得られた端子および内部ピン情報を選択
し、タイミングダイアグラム編集装置2上で、この選択
後の端子や内部ピンの信号の波形、この波形間の論理的
関係、およびこの論理的関係が常に成立するのか少なく
とも1回は成立するのかの生起情報を入力しながら、タ
イミングダイアグラム編集装置2上でタイミングダイア
グラムを作成編集することができる。
Therefore, according to the function verification description generation apparatus of the present embodiment, the designer or the person in charge of verification can perform HD processing on the timing diagram editing apparatus 2 which is relatively operable for verification.
The terminal and internal pin information obtained from the description of L is selected, and on the timing diagram editing device 2, the waveform of the signal of the selected terminal or internal pin, the logical relationship between these waveforms, and this logical relationship. It is possible to create and edit the timing diagram on the timing diagram editing device 2 while inputting the occurrence information indicating whether or not is always satisfied or is satisfied at least once.

【0265】よって、タイミングダイアグラム編集装置
2は、タイミングダイアグラム上に検証項目を明確に記
述することが可能となり、これによって検証項目の表現
の曖昧さを排除することができる。従って、設計者や検
証担当者の間で正確な情報の交換が可能となり、人的ミ
スを排除することができる。
Therefore, the timing diagram editing device 2 can clearly describe the verification item on the timing diagram, and thereby the ambiguity of the expression of the verification item can be eliminated. Therefore, accurate information can be exchanged between the designer and the person in charge of verification, and human error can be eliminated.

【0266】さらに、検証対象動作抽出装置3は、タイ
ミングダイアグラム編集装置2を使用し、設計者や検証
担当者によって編集されたタイミングダイアグラム編集
装置2から送出されるタイミングダイアグラム情報から
波形間の論理的関係、この論理的関係が指定された波形
を含む端子や内部ピン情報、およびこの論理的関係が常
に成立するのか少なくとも1回は成立するのかの生起情
報などを抽出し、検証記述生成装置4は検証対象動作抽
出装置3から供給される波形の論理的関係、この論理的
関係が指定された波形を含む端子や内部ピン情報、およ
びこの論理的関係が常に成立するのか少なくとも1回は
成立するのかの生起情報などに基づき機能検証記述を自
動生成することができる。
Further, the verification target operation extraction device 3 uses the timing diagram editing device 2 to logically analyze the waveforms from the timing diagram information sent from the timing diagram editing device 2 edited by the designer or the person in charge of verification. The verification description generation device 4 extracts the relationship, the terminal and internal pin information including the waveform in which this logical relationship is designated, and the occurrence information whether this logical relationship is always established or is established at least once. Logical relationship of waveforms supplied from the verification target operation extraction device 3, information on terminals and internal pins including waveforms in which this logical relationship is designated, and whether this logical relationship is always established or is established at least once. It is possible to automatically generate the functional verification description based on the occurrence information and the like.

【0267】よって、検証記述生成装置4などは、設計
者や検証担当者がHDLやHDL以外の検証記述言語を
知らなくとも、タイミングダイアグラム編集装置2を使
用してタイミングダイアグラムを編集して回路動作の検
証内容の明確化を行うという設計者や検証担当者が従来
より行っている操作を行うことで、機能検証記述を生成
することができる。従って、検証記述生成装置4など
は、設計者や検証担当者の機能検証作業負担を軽減し、
機能検証効率の向上による設計コストの低減、さらには
製品の生産コストを低減することができる。
Therefore, the verification description generation device 4 or the like edits the timing diagram using the timing diagram editing device 2 and edits the circuit operation even if the designer or the person in charge of verification does not know the HDL or the verification description language other than HDL. The functional verification description can be generated by performing the operation conventionally performed by the designer or the person in charge of verification for clarifying the verification content of. Therefore, the verification description generation device 4 reduces the function verification work load on the designer and the person in charge of verification,
It is possible to reduce the design cost by improving the function verification efficiency and further reduce the product production cost.

【0268】以上、本発明者によってなされた発明をそ
の実施の形態に基づき具体的に説明したが、本発明は前
記実施の形態に限定されるものではなく、その要旨を逸
脱しない範囲で種々変更可能であることはいうまでもな
い。
Although the invention made by the present inventor has been specifically described based on the embodiments, the present invention is not limited to the above embodiments and various modifications can be made without departing from the scope of the invention. It goes without saying that it is possible.

【0269】たとえば、本発明は、前記実施の形態に記
述したような技術に限らず、デジタル回路全般に適用す
ることが可能であり、さらに設計仕様書、機能検査仕様
書の作成からHDL、コーディング後に行うデバッグ作
業などまで幅広い技術に応用することができる。
For example, the present invention is not limited to the technique described in the above embodiments, but can be applied to all digital circuits, and further, from the creation of design specifications and function inspection specifications to HDL and coding. It can be applied to a wide range of technologies including debugging work performed later.

【0270】[0270]

【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
以下のとおりである。
The effects obtained by the typical ones of the inventions disclosed in the present application will be briefly described as follows.
It is as follows.

【0271】(1)タイミングダイアグラム編集手段
は、タイミングダイアグラム上に検証項目を明確に記述
することが可能となり、これによって検証項目の表現の
曖昧さを排除することができるので、設計者や検証担当
者の間で正確な情報の交換が可能となり、人的ミスを排
除することができる。
(1) Since the timing diagram editing means can clearly describe the verification items on the timing diagram, and the ambiguity of the expression of the verification items can be eliminated by this, the designer and the person in charge of verification. Accurate information exchange between persons is possible, and human error can be eliminated.

【0272】(2)検証記述生成手段などは、設計者や
検証担当者がHDLやHDL以外の検証記述言語を知ら
なくとも、タイミングダイアグラム編集手段を使用して
タイミングダイアグラムを編集して回路動作の検証内容
の明確化を行うという設計者や検証担当者が従来より行
っている操作を行うことで、機能検証記述を生成するこ
とができるので、設計者や検証担当者の機能検証作業負
担を軽減し、機能検証効率の向上による設計コストの低
減、さらには製品の生産コストを低減することができ
る。
(2) Even if the designer or the person in charge of verification does not know the HDL or the verification description language other than HDL, the verification description generating means, etc., edits the timing diagram using the timing diagram editing means to check the circuit operation. The function verification description can be generated by performing the operation that the designer and the person in charge of verification clarify the contents of verification, which reduces the burden of the function verification work on the designer and person in charge of verification. However, it is possible to reduce the design cost by improving the function verification efficiency and further reduce the production cost of the product.

【0273】(3)検証担当者が新たにHDLやHDL
以外の検証記述言語を学習しなくても、HDLを学習済
みの設計者がHDL以外の検証記述言語を学習したり、
HDLで記述した機能検証記述自体の検証を行わなくて
も、検証対象回路の機能検証項目を検証するための機能
検証記述を作成可能とする機能検証記述生成装置を提供
することが可能となる。
(3) The verification person newly adds HDL or HDL
A designer who has already learned HDL can learn a verification description language other than HDL without learning a verification description language other than
It is possible to provide a functional verification description generation device capable of creating a functional verification description for verifying a functional verification item of a verification target circuit without performing verification of the functional verification description itself described in HDL.

【0274】(4)設計者や検証担当者がタイミングダ
イアグラムを用いて回路動作の検証内容を明確にかつ統
一的に記述する記述法を提供することが可能となる。
(4) It becomes possible for the designer and the person in charge of verification to provide a description method that clearly and uniformly describes the verification contents of the circuit operation using the timing diagram.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施の形態の機能検証記述生成装置
を示す構成図である。
FIG. 1 is a configuration diagram showing a function verification description generation device according to an embodiment of the present invention.

【図2】本発明の一実施の形態の機能検証記述生成装置
において、コンペアオブジェクトを説明するための回路
例の説明図である。
FIG. 2 is an explanatory diagram of a circuit example for explaining a compare object in the functional verification description generation device according to the embodiment of the present invention.

【図3】本発明の一実施の形態の機能検証記述生成装置
において、コンペアオブジェクトを説明するためのタイ
ミングダイアグラム例の説明図である。
FIG. 3 is an explanatory diagram of an example of a timing diagram for explaining a compare object in the functional verification description generation device according to the embodiment of the present invention.

【図4】本発明の一実施の形態の機能検証記述生成装置
において、ウェイトオブジェクトを説明するためのタイ
ミングダイアグラム例の説明図である。
FIG. 4 is an explanatory diagram of an example of a timing diagram for explaining a weight object in the functional verification description generation device according to the embodiment of the present invention.

【図5】本発明の一実施の形態の機能検証記述生成装置
において、ウェイトオブジェクトを説明するためのチェ
ックボックス例の説明図である。
FIG. 5 is an explanatory diagram of a check box example for explaining a weight object in the function verification description generation device according to the embodiment of the present invention.

【図6】本発明の一実施の形態の機能検証記述生成装置
において、検証対象動作木の構成とその変形を示すフロ
ー図である。
FIG. 6 is a flowchart showing a configuration of a verification target operation tree and its modification in the function verification description generation device according to the exemplary embodiment of the present invention.

【図7】本発明の一実施の形態の機能検証記述生成装置
において、HDLの端子情報の格納における階層ツリー
を示す説明図である。
FIG. 7 is an explanatory diagram showing a hierarchical tree in storing HDL terminal information in the functional verification description generation device according to the embodiment of the present invention.

【図8】本発明の一実施の形態の機能検証記述生成装置
において、図7の階層ツリーに付随する端子情報を示す
説明図である。
8 is an explanatory diagram showing terminal information associated with the hierarchical tree of FIG. 7 in the functional verification description generation device according to the embodiment of the present invention. FIG.

【図9】本発明の一実施の形態の機能検証記述生成装置
において、タイミングダイアグラムの格納におけるタイ
ミングダイアグラム例(1)を示す説明図である。
FIG. 9 is an explanatory diagram showing a timing diagram example (1) in storing a timing diagram in the functional verification description generation device according to the embodiment of the present invention.

【図10】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラムの格納におけるタ
イミングダイアグラム例(2)を示す説明図である。
FIG. 10 is an explanatory diagram showing a timing diagram example (2) in storing a timing diagram in the functional verification description generation device according to the embodiment of the present invention.

【図11】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラムの格納におけるタ
イミングダイアグラム例(3)を示す説明図である。
FIG. 11 is an explanatory diagram showing a timing diagram example (3) in storing a timing diagram in the functional verification description generation device according to the embodiment of the present invention.

【図12】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラムの格納におけるタ
イミングダイアグラム例(4)を示す説明図である。
FIG. 12 is an explanatory diagram showing a timing diagram example (4) in storing a timing diagram in the functional verification description generation device according to the embodiment of the present invention.

【図13】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラムの格納におけるタ
イミングダイアグラム例(5)を示す説明図である。
FIG. 13 is an explanatory diagram showing a timing diagram example (5) in storing a timing diagram in the functional verification description generation device according to the embodiment of the present invention.

【図14】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラムの格納におけるタ
イミングダイアグラム例(6)を示す説明図である。
FIG. 14 is an explanatory diagram showing a timing diagram example (6) in storing a timing diagram in the functional verification description generation device according to the embodiment of the present invention.

【図15】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラムの格納におけるタ
イミングダイアグラム例(7)を示す説明図である。
FIG. 15 is an explanatory diagram showing a timing diagram example (7) in storing a timing diagram in the functional verification description generation device according to the embodiment of the present invention.

【図16】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラムの格納におけるタ
イミングダイアグラム例(8)を示す説明図である。
FIG. 16 is an explanatory diagram showing a timing diagram example (8) in storing a timing diagram in the functional verification description generation device according to the embodiment of the present invention.

【図17】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラムの格納におけるタ
イミングダイアグラム例(9)を示す説明図である。
FIG. 17 is an explanatory diagram showing a timing diagram example (9) in storing a timing diagram in the functional verification description generation device according to the embodiment of the present invention.

【図18】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラムの格納におけるタ
イミングダイアグラム例(10)を示す説明図である。
FIG. 18 is an explanatory diagram showing a timing diagram example (10) in storing a timing diagram in the functional verification description generation device according to the embodiment of the present invention.

【図19】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラムの格納におけるタ
イミングダイアグラム例(11)を示す説明図である。
FIG. 19 is an explanatory diagram showing a timing diagram example (11) in storing a timing diagram in the functional verification description generation device according to the embodiment of the present invention.

【図20】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラム分割例を示す説明
図である。
FIG. 20 is an explanatory diagram showing a timing diagram division example in the functional verification description generation device according to the embodiment of the present invention.

【図21】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラムの記憶イメージを
示す説明図である。
FIG. 21 is an explanatory diagram showing a storage image of a timing diagram in the functional verification description generation device according to the embodiment of the present invention.

【図22】本発明の一実施の形態の機能検証記述生成装
置において、図21に続くタイミングダイアグラムの記
憶イメージを示す説明図である。
22 is an explanatory diagram showing a storage image of a timing diagram following FIG. 21 in the functional verification description generation device according to the embodiment of the present invention. FIG.

【図23】本発明の一実施の形態の機能検証記述生成装
置において、タイミングダイアグラム分割手段の動作を
示すフロー図である。
FIG. 23 is a flowchart showing the operation of the timing diagram dividing means in the functional verification description generation device according to the embodiment of the present invention.

【図24】本発明の一実施の形態の機能検証記述生成装
置において、検証対象動作の切り出しにおける検証対象
動作情報取得手段の動作を示すフロー図である。
FIG. 24 is a flowchart showing the operation of the verification target operation information acquisition unit in the extraction of the verification target operation in the functional verification description generation device according to the embodiment of the present invention.

【図25】本発明の一実施の形態の機能検証記述生成装
置において、検証対象動作情報の記憶イメージを示す説
明図である。
FIG. 25 is an explanatory diagram showing a storage image of verification target operation information in the function verification description generation device according to the embodiment of the present invention.

【図26】本発明の一実施の形態の機能検証記述生成装
置において、検証対象動作から作成される木構造の記憶
イメージを示す説明図である。
FIG. 26 is an explanatory diagram showing a storage image of a tree structure created from a verification target operation in the functional verification description generation device according to the exemplary embodiment of the present invention.

【図27】本発明の一実施の形態の機能検証記述生成装
置において、図26に続く検証対象動作から作成される
木構造の記憶イメージを示す説明図である。
FIG. 27 is an explanatory diagram showing a storage image of a tree structure created from the verification target operation subsequent to FIG. 26 in the functional verification description generation device according to the exemplary embodiment of the present invention.

【図28】本発明の一実施の形態の機能検証記述生成装
置において、TDO2Verilog Algorit
hmを示すフロー図である。
FIG. 28 is a diagram showing a functional verification description generation device according to an embodiment of the present invention, in which TDO2Verilog Algorithm
It is a flowchart which shows hm.

【図29】本発明の一実施の形態の機能検証記述生成装
置において、格納変数の割り当てを示すフロー図であ
る。
FIG. 29 is a flowchart showing allocation of storage variables in the functional verification description generation device according to the embodiment of the present invention.

【図30】本発明の一実施の形態の機能検証記述生成装
置において、格納サイクル数の算出を示すフロー図であ
る。
FIG. 30 is a flowchart showing calculation of the number of storage cycles in the function verification description generation device according to the embodiment of the present invention.

【図31】本発明の一実施の形態の機能検証記述生成装
置において、格納サイクル数の算出におけるテーブル構
造を示す説明図である。
FIG. 31 is an explanatory diagram showing a table structure for calculating the number of storage cycles in the function verification description generation device according to the embodiment of the present invention.

【図32】本発明の一実施の形態の機能検証記述生成装
置において、Wait制御用フラグ生成・初期値決定を
示すフロー図である。
FIG. 32 is a flowchart showing Wait control flag generation / initial value determination in the function verification description generation device according to the embodiment of the present invention.

【図33】本発明の一実施の形態の機能検証記述生成装
置において、Wait制御用フラグ生成・初期値決定に
おけるテーブル構造を示す説明図である。
FIG. 33 is an explanatory diagram showing a table structure in the Wait control flag generation / initial value determination in the function verification description generation device according to the embodiment of the present invention.

【図34】本発明の一実施の形態の機能検証記述生成装
置において、初期値決定を示すフロー図である。
FIG. 34 is a flowchart showing initial value determination in the function verification description generation device according to the embodiment of the present invention.

【図35】本発明の一実施の形態の機能検証記述生成装
置において、変数宣言HDL記述生成を示すフロー図で
ある。
FIG. 35 is a flowchart showing variable declaration HDL description generation in the function verification description generation device according to the embodiment of the present invention.

【図36】本発明の一実施の形態の機能検証記述生成装
置において、変数値格納HDL記述生成を示すフロー図
である。
FIG. 36 is a flowchart showing generation of a variable value storage HDL description in the functional verification description generation device according to the embodiment of the present invention.

【図37】本発明の一実施の形態の機能検証記述生成装
置において、グラフ変形を示すフロー図である。
FIG. 37 is a flowchart showing graph transformation in the function verification description generation device according to the embodiment of the present invention.

【図38】本発明の一実施の形態の機能検証記述生成装
置において、グラフ変形を示す説明図である。
FIG. 38 is an explanatory diagram showing graph transformation in the function verification description generation device according to the embodiment of the present invention.

【図39】本発明の一実施の形態の機能検証記述生成装
置において、グラフ変形(relation bool
eanの識別)を示す説明図である。
FIG. 39 is a graph showing a relation transformation (relation bool) in the function verification description generation device according to the embodiment of the present invention.
It is an explanatory view showing identification of ean).

【図40】(a),(b)は本発明の一実施の形態の機
能検証記述生成装置において、グラフ変形((A−>
B)−>CのA−>(B−>C)への変形)を示す説明
図である。
40A and 40B are graph transformations ((A->) in the functional verification description generation device according to the exemplary embodiment of the present invention.
It is explanatory drawing which shows the transformation of B)-> C into A->(B-> C).

【図41】(a),(b)は本発明の一実施の形態の機
能検証記述生成装置において、グラフ変形((A−>
B)−>CのA−>(B−>C)への変形(続き))を
示す説明図である。
41 (a) and 41 (b) are graph transformations ((A->) in the functional verification description generation device according to the exemplary embodiment of the present invention.
It is explanatory drawing which shows the transformation (continuation) of B)-> C to A->(B-> C).

【図42】(a),(b)は本発明の一実施の形態の機
能検証記述生成装置において、グラフ変形(A−>(B
−>C)のA&B−>Cへの変形)を示す説明図であ
る。
42A and 42B are graph transformations (A-> (B) in the functional verification description generation device according to the embodiment of the present invention.
It is an explanatory view showing a transformation of-> C) to A &B-> C).

【図43】(a),(b)は本発明の一実施の形態の機
能検証記述生成装置において、グラフ変形(relat
ion booleanを用いた変形)を示す説明図で
ある。
43 (a) and (b) are graph transformations (relat) in the functional verification description generation device according to the embodiment of the present invention.
It is explanatory drawing which shows the deformation | transformation using ion Boolean.

【図44】(a),(b)は本発明の一実施の形態の機
能検証記述生成装置において、グラフ変形(relat
ion boolean(残り)を用いた変形)を示す
説明図である。
44 (a) and 44 (b) are graph transformations (relat) in the functional verification description generation device according to the embodiment of the present invention.
It is explanatory drawing which shows the deformation | transformation using ion Boolean (remaining).

【図45】(a),(b),(c)は本発明の一実施の
形態の機能検証記述生成装置において、グラフ変形(r
elation boolean(残り)を用いた変形
(続き))を示す説明図である。
45 (a), (b) and (c) are graph transformations (r) in the function verification description generation device according to the embodiment of the present invention.
It is explanatory drawing which shows the modification (continuation) using the elimination Boolean (remaining).

【図46】本発明の一実施の形態の機能検証記述生成装
置において、グラフ変形(グラフ変形の途中結果)を示
す説明図である。
FIG. 46 is an explanatory diagram showing graph transformation (interim result of graph transformation) in the function verification description generation device according to the embodiment of the present invention.

【図47】本発明の一実施の形態の機能検証記述生成装
置において、グラフ変形(relation bool
eanを再び用いた変形)を示す説明図である。
[Fig. 47] Fig. 47 is a graph showing a relationship transformation graph in the functional verification description generation device according to the embodiment of the present invention.
It is explanatory drawing which shows the deformation | transformation which used ean again.

【図48】(a),(b)は本発明の一実施の形態の機
能検証記述生成装置において、グラフ変形(relat
ion booleanの処理の再帰的実行)を示す説
明図である。
48 (a) and 48 (b) are graph transformations (relat) in the function verification description generation device according to the embodiment of the present invention.
It is an explanatory view showing the recursive execution of the processing of ion Boolean).

【図49】(a),(b)は本発明の一実施の形態の機
能検証記述生成装置において、グラフ変形(wait
objectが入っている場合のA−>(B−>C)の
A&B−>Cへの変形)を示す説明図である。
49 (a) and (b) are graph transformations (wait) in the functional verification description generation device according to the embodiment of the present invention.
It is explanatory drawing which shows the transformation of A->(B-> C) into A &B-> C when an object is contained.

【図50】本発明の一実施の形態の機能検証記述生成装
置において、グラフ変形(部分木の最下位のwait
objectの識別)を示す説明図である。
FIG. 50 is a graph transformation (lowermost wait of subtree) in the function verification description generation device according to the embodiment of the present invention.
It is an explanatory view showing identification of object).

【図51】本発明の一実施の形態の機能検証記述生成装
置において、グラフ変形(グラフ変形の途中結果)を示
す説明図である。
FIG. 51 is an explanatory diagram showing graph transformation (interim result of graph transformation) in the function verification description generation device according to the embodiment of the present invention.

【図52】本発明の一実施の形態の機能検証記述生成装
置において、グラフ変形(検証対象動作木全体でのグラ
フ変形(順番決定))を示す説明図である。
FIG. 52 is an explanatory diagram showing graph transformation (graph transformation (order determination) in the entire verification target operation tree) in the functional verification description generation device according to the embodiment of the present invention.

【図53】本発明の一実施の形態の機能検証記述生成装
置において、グラフ変形(検証対象動作木全体でのグラ
フ変形((A−>B)−>CのA−>(B−>C)への
変形))を示す説明図である。
FIG. 53 is a graph transformation (graph transformation ((A->B)-> C in A->(B-> C) of the entire verification target operation tree) in the function verification description generation device according to the embodiment of the present invention; It is explanatory drawing which shows the transformation to))).

【図54】本発明の一実施の形態の機能検証記述生成装
置において、グラフ変形(検証対象動作木全体でのグラ
フ変形(A−>(B−>C)のA&B−>Cへの変
形))を示す説明図である。
FIG. 54 is a graph transformation (graph transformation in the entire verification target operation tree (transformation of A->(B-> C) to A &B-> C) in the functional verification description generation device according to the embodiment of the present invention; FIG.

【図55】本発明の一実施の形態の機能検証記述生成装
置において、検証HDLの生成を示すフロー図である。
FIG. 55 is a flowchart showing generation of verification HDL in the functional verification description generation device according to the exemplary embodiment of the present invention.

【図56】本発明の一実施の形態の機能検証記述生成装
置において、Property_simpleを示すフ
ロー図である。
FIG. 56 is a flowchart showing Property_sample in the function verification description generation device according to the embodiment of the present invention.

【図57】本発明の一実施の形態の機能検証記述生成装
置において、Property_waitを示すフロー
図である。
FIG. 57 is a flowchart showing Property_wait in the function verification description generation device according to the embodiment of the present invention.

【図58】本発明の一実施の形態の機能検証記述生成装
置において、WaitBlockを示すフロー図であ
る。
FIG. 58 is a flowchart showing WaitBlock in the functional verification description generation device according to the embodiment of the present invention.

【図59】本発明の一実施の形態の機能検証記述生成装
置において、図58に続くWaitBlockを示すフ
ロー図である。
FIG. 59 is a flowchart showing WaitBlock following FIG. 58 in the function verification description generation device according to the embodiment of the present invention.

【図60】本発明の一実施の形態の機能検証記述生成装
置において、WaitORBlockを示すフロー図で
ある。
FIG. 60 is a flowchart showing WaitORBlock in the functional verification description generation device according to the embodiment of the present invention.

【図61】本発明の一実施の形態の機能検証記述生成装
置において、図60に続くWaitORBlockを示
すフロー図である。
FIG. 61 is a flowchart showing WaitORBlock following FIG. 60 in the functional verification description generation device according to the exemplary embodiment of the present invention.

【図62】本発明の一実施の形態の機能検証記述生成装
置において、ConseqBlockを示すフロー図で
ある。
FIG. 62 is a flowchart showing ConseqBlock in the function verification description generation device according to the embodiment of the present invention.

【図63】本発明の一実施の形態の機能検証記述生成装
置において、TDO2CTL Algorithmを示
すフロー図である。
FIG. 63 is a flowchart showing TDO2CTL Algorithm in the functional verification description generation device according to the exemplary embodiment of the present invention.

【図64】本発明の一実施の形態の機能検証記述生成装
置において、CTL生成可能性判定を示すフロー図であ
る。
FIG. 64 is a flowchart showing CTL generation possibility determination in the function verification description generation device according to the embodiment of the present invention.

【図65】本発明の技術と公開公報の技術とを比較する
ための、公開公報の技術の概要を示す説明図である。
[Fig. 65] Fig. 65 is an explanatory diagram showing an outline of a technique of the publication for comparing the technique of the present invention and the technique of the publication.

【図66】本発明の技術と公開公報の技術とを比較する
ための、本発明の技術の概要を示す説明図である。
FIG. 66 is an explanatory diagram showing an outline of the technique of the present invention for comparing the technique of the present invention with the technique of the publication.

【符号の説明】[Explanation of symbols]

1 端子情報抽出装置 2 タイミングダイアグラム編集装置 3 検証対象動作抽出装置 4 検証記述生成装置 5 検証記述ファイル 11 HDL読み込み装置 12 HDL記憶装置 13 端子情報抽出装置 14 端子情報記憶装置 31 タイミングダイアグラム記憶装置 32 検証対象動作情報抽出装置 33 検証対象動作情報記憶装置 1-terminal information extraction device 2 Timing diagram editing device 3 Verification target motion extraction device 4 Verification description generator 5 Verification description file 11 HDL reader 12 HDL storage device 13-terminal information extraction device 14-terminal information storage device 31 Timing diagram storage 32 Verification target motion information extraction device 33 Verification target operation information storage device

───────────────────────────────────────────────────── フロントページの続き (72)発明者 鈴木 敬 東京都国分寺市東恋ヶ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 伊藤 雅樹 東京都国分寺市東恋ヶ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 内部 こなぎ 東京都国分寺市東恋ヶ窪一丁目280番地 株式会社日立製作所中央研究所内 Fターム(参考) 5B046 AA08 BA03    ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Kei Suzuki             1-280, Higashikoigakubo, Kokubunji, Tokyo             Central Research Laboratory, Hitachi, Ltd. (72) Inventor Masaki Ito             1-280, Higashikoigakubo, Kokubunji, Tokyo             Central Research Laboratory, Hitachi, Ltd. (72) Inside the inventor             1-280, Higashikoigakubo, Kokubunji, Tokyo             Central Research Laboratory, Hitachi, Ltd. F-term (reference) 5B046 AA08 BA03

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 タイミングダイアグラムに波形間の論理
的関係と、前記論理的関係の生起情報とを入力する第1
の手段と、 前記波形間の論理的関係と、前記論理的関係の生起情報
とを基に検証記述をタイミングダイアグラムから生成す
る第2の手段と、を有することを特徴とする機能検証装
置。
1. A first inputting logical relationship between waveforms and occurrence information of the logical relationship to a timing diagram.
And a second means for generating a verification description from a timing diagram based on a logical relationship between the waveforms and the occurrence information of the logical relationship.
【請求項2】 請求項1記載の機能検証装置において、 前記第1の手段は、 検証対象のHDL形式の設計データを読み込んで、この
読み込んだ検証対象のHDL形式の設計データに備わる
端子および内部ピンに関して、少なくとも端子名、内部
ピン名、入出力の別、および入出力信号と内部ピン名の
ビット数の各端子および内部ピン情報を取得する端子情
報抽出手段と、 前記端子情報抽出手段に接続され、前記端子情報抽出手
段にて取得した各端子および内部ピン情報を選択し、前
記端子および内部ピンを介して入出力する信号につい
て、この信号と波形を含みタイミングに関するタイミン
グ制約情報、この波形間の論理的関係情報、およびこの
論理的関係が常に成立するのか少なくとも1回は成立す
るのかの生起情報を入力することで、前記検証対象のH
DL形式の設計データにおけるタイミングダイアグラム
を編集するタイミングダイアグラム編集手段と、を含む
ことを特徴とする機能検証装置。
2. The function verification device according to claim 1, wherein the first means reads design data in HDL format to be verified, and a terminal and an internal part provided in the read design data in HDL format to be verified. Regarding the pin, at least a terminal name, an internal pin name, a distinction between input and output, and terminal information extraction means for obtaining each terminal and internal pin information of the number of bits of the input / output signal and the internal pin name, and connecting to the terminal information extraction means Then, the terminal and internal pin information acquired by the terminal information extracting means is selected, and regarding the signal input and output through the terminal and the internal pin, timing constraint information regarding the timing including the signal and the waveform, and between the waveforms. By inputting the logical relationship information of and the occurrence information of whether this logical relationship is always established or is established at least once, H to be verified
And a timing diagram editing means for editing a timing diagram in design data in DL format.
【請求項3】 請求項2記載の機能検証装置において、 前記第2の手段は、 前記タイミングダイアグラム編集手段に接続され、前記
タイミングダイアグラム編集手段から前記各端子および
内部ピン情報、前記タイミング制約情報、前記波形間の
論理的関係情報、および前記論理的関係の生起情報から
なる検証対象動作情報を抽出する検証対象動作抽出手段
と、 前記検証対象動作抽出手段に接続され、前記検証対象動
作情報に基づき検証記述言語で表現された前記検証対象
動作が満足されているかの検証を目的とする機能検証記
述やHDL形式の前記検証対象動作が満足されているか
の検証を目的とする機能検証記述を生成する検証記述生
成手段と、を含むことを特徴とする機能検証装置。
3. The function verification device according to claim 2, wherein the second means is connected to the timing diagram editing means, and the terminals and internal pin information, the timing constraint information, from the timing diagram editing means, Verification target operation extraction means for extracting verification target operation information consisting of logical relationship information between the waveforms and occurrence information of the logical relationship, and connected to the verification target operation extraction means, based on the verification target operation information A function verification description for verifying whether the verification target operation expressed in a verification description language is satisfied or a function verification description for verifying whether the verification target operation in HDL format is satisfied is generated. A verification description generation means, and a function verification device characterized by including.
【請求項4】 請求項1記載の機能検証装置において、 前記タイミングダイアグラムの作成時に、予め用意され
たオブジェクトを挿入しながら記述可能とし、かつ作成
データから機能検証に用いる動作仕様チェッカHDL記
述、およびモデルチェッキングで用いられるプロパティ
言語記述を自動生成し、内部動作のチェック、外部入力
信号が満たすべき信号遷移を守っているかのチェックを
可能とすることを特徴とする機能検証装置。
4. The function verification device according to claim 1, wherein at the time of creating the timing diagram, it is possible to describe while inserting an object prepared in advance, and an operation specification checker HDL description used for function verification from created data, and A function verification device characterized by automatically generating a property language description used in model checking, checking internal operations, and checking whether a signal transition that an external input signal should satisfy is being observed.
【請求項5】 請求項4記載の機能検証装置において、 前記オブジェクトは、前記タイミングダイアグラムに描
かれた信号波形のリレーションオブジェクトの始点また
は終点となった所の値と、その値がタイミングダイアグ
ラム上の何サイクル目かを表すことが可能なシグナルオ
ブジェクトを含むことを特徴とする機能検証装置。
5. The function verification device according to claim 4, wherein the object is a value at a start point or an end point of a relation object of a signal waveform drawn on the timing diagram, and the value on the timing diagram. A functional verification device characterized in that it includes a signal object capable of expressing the cycle number.
【請求項6】 請求項4記載の機能検証装置において、 前記オブジェクトは、前記タイミングダイアグラムに描
かれた信号波形上に設定することで、この設定された信
号値に対して、信号値比較などの比較演算を記述するこ
とが可能なコンペアオブジェクトを含むことを特徴とす
る機能検証装置。
6. The function verifying device according to claim 4, wherein the object is set on a signal waveform drawn on the timing diagram so that a signal value comparison or the like is performed with respect to the set signal value. A functional verification device comprising a compare object capable of describing a comparison operation.
【請求項7】 請求項4記載の機能検証装置において、 前記オブジェクトは、前記タイミングダイアグラムに描
かれたクロック信号の立ち上がりエッジに対して指定可
能であり、所定の条件が成立するまで、その前のサイク
ルの信号値が繰り返し実行されることを表すことが可能
なウェイトオブジェクトを含むことを特徴とする機能検
証装置。
7. The functional verification device according to claim 4, wherein the object can be designated with respect to a rising edge of a clock signal drawn in the timing diagram, and a predetermined condition is satisfied until a predetermined condition is satisfied. A functional verification device comprising a weight object capable of representing that a signal value of a cycle is repeatedly executed.
【請求項8】 請求項4記載の機能検証装置において、 前記オブジェクトは、タイミングダイアグラムに描かれ
た信号波形間の論理的関係を表すことが可能なリレーシ
ョンオブジェクトを含むことを特徴とする機能検証装
置。
8. The function verifying device according to claim 4, wherein the object includes a relation object capable of representing a logical relationship between signal waveforms drawn on a timing diagram. .
JP2002011953A 2002-01-21 2002-01-21 Functional verification description generator Expired - Fee Related JP4153699B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002011953A JP4153699B2 (en) 2002-01-21 2002-01-21 Functional verification description generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002011953A JP4153699B2 (en) 2002-01-21 2002-01-21 Functional verification description generator

Publications (2)

Publication Number Publication Date
JP2003216683A true JP2003216683A (en) 2003-07-31
JP4153699B2 JP4153699B2 (en) 2008-09-24

Family

ID=27649305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002011953A Expired - Fee Related JP4153699B2 (en) 2002-01-21 2002-01-21 Functional verification description generator

Country Status (1)

Country Link
JP (1) JP4153699B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286426B2 (en) 2014-04-23 2016-03-15 International Business Machines Corporation Method and apparatus for testing

Also Published As

Publication number Publication date
JP4153699B2 (en) 2008-09-24

Similar Documents

Publication Publication Date Title
Braun et al. Ontology Maturing: a Collaborative Web 2.0 Approach to Ontology Engineering.
CN102918500B (en) Input-output example is used to generate text steering program
US8065336B2 (en) Data semanticizer
Yang et al. Mave: A product dataset for multi-source attribute value extraction
CN109766465A (en) A kind of picture and text fusion book recommendation method based on machine learning
Van Ham et al. Interactive visualization of state transition systems
WO2020158217A1 (en) Information processing device, information processing method, and information processing program
CN110135032B (en) Auxiliary clothing generation method and device based on confrontation generation network
CN109376775A (en) The multi-modal sentiment analysis method of online news
CN105989067A (en) Method for generating text abstract from image, user equipment and training server
CN115131698B (en) Video attribute determining method, device, equipment and storage medium
CN110245349A (en) A kind of syntax dependency parsing method, apparatus and a kind of electronic equipment
Kaluarachchi et al. A systematic literature review on automatic website generation
CN110826321A (en) Contract file risk checking method and device, computer equipment and storage medium
Shi et al. Reverse-engineering information presentations: Recovering hierarchical grouping from layouts of visual elements
Rizvi et al. A hybrid approach and unified framework for bibliographic reference extraction
Ye et al. Generative ai for visualization: State of the art and future directions
Teilans et al. Design of UML models and their simulation using ARENA
KR102269606B1 (en) Method, apparatus and computer program for analyzing new contents for solving cold start
JP5357313B2 (en) Information processing apparatus, information processing method, program, and data structure
Zheng et al. Faceoff: Assisting the manifestation design of web graphical user interface
JP2003216683A (en) Function verification unit
Zhang et al. MEGAnno: Exploratory labeling for NLP in computational notebooks
Liu et al. Towards the unification of generative and discriminative visual foundation model: A survey
Vermeer et al. Generating Novel Furniture with Machine Learning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080617

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080704

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130711

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees