JP2014132403A - Verification support device and verification support method - Google Patents

Verification support device and verification support method Download PDF

Info

Publication number
JP2014132403A
JP2014132403A JP2013000412A JP2013000412A JP2014132403A JP 2014132403 A JP2014132403 A JP 2014132403A JP 2013000412 A JP2013000412 A JP 2013000412A JP 2013000412 A JP2013000412 A JP 2013000412A JP 2014132403 A JP2014132403 A JP 2014132403A
Authority
JP
Japan
Prior art keywords
flip
flop
condition
coverage
logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013000412A
Other languages
Japanese (ja)
Inventor
Tomokazu Takahashi
智一 高橋
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 JP2013000412A priority Critical patent/JP2014132403A/en
Publication of JP2014132403A publication Critical patent/JP2014132403A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To solve the problem in which many hardware description languages used for digital circuit design are languages which are different from description languages of software and in which connection relations of circuits around a flip-flop are described, so in verification of a digital circuit programmed therein, a coverage standard based upon the flip-flop in the center, namely, a coverage standard for measuring an operation coverage of the flip-flop is necessary.SOLUTION: A verification support device extracts, from a logic circuit program, conditions under which a flip-flop operates to update a state to 0, to update the state to 1, to maintain a current state, and to update the current state to an inverted value, and then measures whether those operations are activated through logic simulation.

Description

本発明は、検証支援装置および検証支援方法に係り、特にディジタル回路設計における検証支援装置および検証支援方法に関する。   The present invention relates to a verification support apparatus and a verification support method, and more particularly to a verification support apparatus and a verification support method in digital circuit design.

ディジタル回路の検証において、実行すべきテストパターンを十分に実行したか否かを評価する指標として、カバレッジという考え方がある。カバレッジは、元来ソフトウェアプログラムを対象として考案された指標であるが、論理合成技術の実用化に伴って、ディジタル回路をハードウェア記述言語によるプログラミングでソフトウェアライクに設計するに至り、現在では、ディジタル回路設計における検証の分野においてもカバレッジが一般的となってきている。   In verification of a digital circuit, there is a concept of coverage as an index for evaluating whether or not a test pattern to be executed is sufficiently executed. Coverage is an index originally designed for software programs, but with the practical application of logic synthesis technology, digital circuits have been designed in a software-like manner by programming in a hardware description language. Coverage has also become common in the field of verification in circuit design.

ディジタル回路のプログラミングに用いられるハードウェア記述言語は、ソフトウェア設計に用いられる逐次実行型の記述言語とは大きく性格が異なる。ディジタル回路の記述には、一般的にRTL(Register Transfer Level)と呼ばれる記述言語が用いられる。ソフトウェアのプログラミング言語が逐次実行型の動作記述であるのに対し、RTLはフリップフロップ(以降、FFと表記する)を中心として、回路の接続関係を表現したものであり、並列に動作する。したがって、これらの性格の相違故に、ディジタル回路の検証においては、ソフトウェアの検証では考慮する必要の無かった注意が必要である。   A hardware description language used for programming digital circuits is significantly different from a sequential execution description language used for software design. A description language generally called RTL (Register Transfer Level) is used to describe a digital circuit. Whereas the software programming language is a sequential execution type operation description, the RTL expresses the connection relationship of circuits with a flip-flop (hereinafter referred to as FF) as the center, and operates in parallel. Therefore, due to the difference between these characteristics, in the verification of the digital circuit, attention that should not be considered in the verification of the software is necessary.

本技術分野の背景技術として、特許文献1がある。特許文献1は、前述したハードウェア・ソフトウェアの性格の相違に対して、ハードウェア特有の並列動作性に着目し、これによって発生し得る競合状態を想定した回路構成が論理シミュレーションによってどれだけ活性化されたかを、カバレッジとして測定する技術を開示する。   As a background art of this technical field, there is Patent Document 1. Patent Document 1 focuses on hardware-specific parallel operability against the above-mentioned differences in hardware and software characteristics, and how much the circuit configuration assuming a race condition that can be caused by this is activated by logic simulation. Disclosed is a technique for measuring as a coverage.

非特許文献1にはカバレッジの簡単な解説が記載されている。また、非特許文献2は、良く知られるカバレッジ基準である、ステートメント・カバレッジ、ブランチ・カバレッジ等の他、様々な既存のカバレッジ基準を紹介している。   Non-Patent Document 1 describes a simple explanation of coverage. Non-Patent Document 2 introduces various existing coverage standards in addition to well-known coverage standards such as statement coverage and branch coverage.

特開2011−138428号公報JP 2011-138428 A

Lee Copeland、「はじめて学ぶソフトウェアのテスト技法」、日経BP社、2011年Lee Copeland, “First-time Software Testing Techniques”, Nikkei Business Publications, 2011 Steve Cornett、”Code Coverage Analysis”、[online]、Bullseye Testing Technology、[平成24年12月5日検索]、インターネット<http://www.bullseye.com/coverage.html>Steve Cornett, "Code Coverage Analysis", [online], Bullseye Testing Technology, [searched December 5, 2012], Internet <http://www.bullseye.com/coverage.html>

本発明は、上述した記述言語の性格の相違に対して、特許文献1とは異なった観点で、カバレッジを測定する。ハードウェア記述言語は、FFを中心として記述するものである。それゆえ、ハードウェア記述言語によってプログラミングされるディジタル回路の検証においても、本来は、FFを中心としたカバレッジ基準、すなわち、FFの動作の網羅率を測るカバレッジ基準が必要である。ところが、従来のディジタル回路検証には、そのようなカバレッジ基準が存在しなかった。このため、FFの動作に対する網羅的な検証を行うことは難しく、この点において、FFを中心とした配線記述のプログラムを対象とする観点を持たないソフトウェアのカバレッジ基準のみでは、たとえ100%のカバレッジを達成したとしても、依然として検証漏れを発生させる危険があった。   The present invention measures the coverage from a viewpoint different from that of Patent Document 1 with respect to the difference in character of the description language described above. The hardware description language is described with a focus on FF. Therefore, in verification of a digital circuit programmed by a hardware description language, a coverage standard centering on the FF, that is, a coverage standard for measuring the coverage rate of the FF operation is necessary. However, there is no such coverage standard in conventional digital circuit verification. For this reason, it is difficult to comprehensively verify the operation of the FF, and in this respect, even with a software coverage standard that does not have a viewpoint for a wiring description program centered on the FF, even with 100% coverage, Even if the above is achieved, there is still a risk of causing a verification failure.

上述した検証漏れを発生させないためには、システムを構成する大規模・複雑な論理において、回路中に多用されるFF一つ一つにつき、各々を中心とした全ての動作条件を漏れなく把握する必要がある。しかし、その数の多さと条件の複雑さから、人間がこれを把握することは、現実的に不可能である。また、これらの条件を人手で抽出することは、極めて困難な状況にある。   In order to prevent the above-mentioned verification failures from occurring, in the large-scale and complex logic that constitutes the system, for each FF frequently used in the circuit, grasp all the operating conditions centering on each one without omission There is a need. However, due to the large number and complexity of conditions, it is practically impossible for humans to grasp this. In addition, it is extremely difficult to manually extract these conditions.

本発明は、上述した状況を鑑みて、為されたものである。すなわち、本発明の目的は、FFの動作に注目した網羅的検証を行うための検証支援装置および検証支援方法の提供である。   The present invention has been made in view of the above-described situation. That is, an object of the present invention is to provide a verification support apparatus and a verification support method for performing comprehensive verification focusing on the operation of the FF.

上述した課題は、 論理回路中のフリップフロップの動作条件を算出するフリップフロップ動作条件算出部と、フリップフロップの各動作条件を表示させるフリップフロップ動作仕様表示指示部と、論理回路プログラムを論理シミュレーションし、フリップフロップの各動作条件の実行成否を監視するシミュレーション部と、条件監視によって得られたモニタ情報により、各フリップフロップ動作が活性化されたか否かを集計するカバレッジ集計部と、カバレッジ集計結果を表示させるカバレッジ表示指示部と、フリップフロップ動作仕様表示部とカバレッジ表示指示部とからの指示により情報出力を行う表示部と、を含む検証支援装置により、達成できる。   The above-mentioned problems are the logic simulation of the flip-flop operation condition calculation unit that calculates the operation condition of the flip-flop in the logic circuit, the flip-flop operation specification display instruction unit that displays each operation condition of the flip-flop, and the logic circuit program. A simulation unit that monitors the success or failure of each operation condition of the flip-flop, a coverage totaling unit that totals whether or not each flip-flop operation is activated based on the monitor information obtained by the condition monitoring, and a coverage totalization result This can be achieved by a verification support apparatus including a coverage display instruction unit to be displayed, and a display unit that outputs information according to instructions from the flip-flop operation specification display unit and the coverage display instruction unit.

また、ハードウェア記述言語により記述された論理回路プログラムを受け付けるステップと、論理回路プログラムから、フリップフロップを中心としたロジックコーンを表す論理式の算出を行うステップと、論理式からフリップフロップの遷移表を作成するステップと、遷移表に基づき、フリップフロップの動作の入力条件の算出を行うステップと、を含む検証支援方法により、達成できる。   A step of receiving a logic circuit program described in a hardware description language; a step of calculating a logical expression representing a logic cone centered on the flip-flop from the logic circuit program; and a transition table of the flip-flop from the logical expression. And a step of calculating the input condition of the flip-flop operation based on the transition table.

本発明に依れば、ハードウェア記述言語によって記述されるディジタル回路において、本来留意すべき、FFの動作に注目した客観的な検証品質指標を得ることができる。   According to the present invention, it is possible to obtain an objective verification quality index that pays attention to the FF operation, which should be noted in a digital circuit described in a hardware description language.

検証支援装置のハードウェアブロック図である。It is a hardware block diagram of a verification assistance apparatus. 検証支援装置の機能ブロック図である。It is a functional block diagram of a verification assistance apparatus. FF動作条件算出の処理を説明するフローチャートである。It is a flowchart explaining the process of FF operation condition calculation. ロジックコーンの概念を説明する図である。It is a figure explaining the concept of a logic cone. 単一のロジックコーンを説明する図である。It is a figure explaining a single logic cone. 単一のロジックコーンの回路図である。It is a circuit diagram of a single logic cone. FFからの自己回帰を持つロジックコーンを説明する図である。It is a figure explaining the logic cone which has the autoregression from FF. 論理式化した回路記述から各FF動作に対する入力条件が算出できる理由を説明する図である。It is a figure explaining the reason why the input condition for each FF operation can be calculated from the logicalized circuit description. ハードウェア記述言語で記述した論理回路プログラムである。A logic circuit program written in a hardware description language. FF遷移表への変換結果を示す図である。It is a figure which shows the conversion result to FF transition table. FF遷移表への変換方法を説明するフローチャートである。It is a flowchart explaining the conversion method to FF transition table. FFの各動作に対する入力条件式の算出結果を示す図である。It is a figure which shows the calculation result of the input conditional expression with respect to each operation | movement of FF. 多数の入力信号が有る場合の、FF遷移表への変換結果を示す図である。It is a figure which shows the conversion result to FF transition table in case there exist many input signals. 多数の入力信号が有る場合の、FFの各動作に対する入力条件式の算出結果を示す図である。It is a figure which shows the calculation result of the input conditional expression with respect to each operation | movement of FF in case there exist many input signals. 検証支援装置が出力する第1の表示を説明する図である。It is a figure explaining the 1st display which a verification assistance apparatus outputs. 検証支援装置が出力する第2の表示を説明する図である。It is a figure explaining the 2nd display which a verification assistance apparatus outputs. 検証支援装置が出力する第3の表示を説明する図である。It is a figure explaining the 3rd display which a verification assistance apparatus outputs. 検証支援装置が出力する第4の表示を説明する図である。It is a figure explaining the 4th display which a verification assistance apparatus outputs. 検証支援装置が出力する第5の表示を説明する図である。It is a figure explaining the 5th display which a verification assistance apparatus outputs. 検証支援装置が出力する第6の表示を説明する図である。It is a figure explaining the 6th display which a verification assistance apparatus outputs.

以下、本発明の実施の形態について、実施例を用い図面を参照しながら詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings using examples. The same reference numerals are assigned to substantially the same parts, and the description will not be repeated.

図1を参照して、検証支援装置のハードウェア構成を説明する。図1において、検証支援装置100は、メモリ110と、CPU120と、記憶装置130と、入力装置140と、出力装置150と、バス160とから構成される。   The hardware configuration of the verification support apparatus will be described with reference to FIG. In FIG. 1, the verification support apparatus 100 includes a memory 110, a CPU 120, a storage device 130, an input device 140, an output device 150, and a bus 160.

メモリ110は、CPU120が実行するプログラムを記憶する。CPU120は、メモリ110が記憶するプログラムを実行することにより、論理シミュレーションと、FF動作仕様算出およびカバレッジ情報算出を行う。記憶装置130は、HD(ハードディスク)等の補助記憶装置であり、論理回路プログラム、テストパターン、FF動作仕様算出結果、カバレッジ情報算出結果等を記憶する。入力装置140は、論理回路プログラムおよびテストパターンを読み込む。出力装置150は、カバレッジの出力結果を表示する。バス160はメモリ110と、CPU120と、記憶装置130と、入力装置140と、出力装置150とを相互接続する。   The memory 110 stores a program executed by the CPU 120. The CPU 120 performs logic simulation, FF operation specification calculation, and coverage information calculation by executing a program stored in the memory 110. The storage device 130 is an auxiliary storage device such as an HD (hard disk), and stores logic circuit programs, test patterns, FF operation specification calculation results, coverage information calculation results, and the like. The input device 140 reads a logic circuit program and a test pattern. The output device 150 displays the output result of coverage. The bus 160 interconnects the memory 110, the CPU 120, the storage device 130, the input device 140, and the output device 150.

図2を参照して、検証支援装置の機能的構成を説明する。図2において、検証支援装置100は、FF動作条件算出部201と、FF動作仕様表示指示部202と、シミュレーション部203と、カバレッジ集計部204と、カバレッジ表示指示部205と、表示部206とから構成される。   The functional configuration of the verification support apparatus will be described with reference to FIG. In FIG. 2, the verification support apparatus 100 includes an FF operation condition calculation unit 201, an FF operation specification display instruction unit 202, a simulation unit 203, a coverage aggregation unit 204, a coverage display instruction unit 205, and a display unit 206. Composed.

FF動作条件算出部201は、論理回路プログラム207を取得し、論理回路中の全FFに対し、各FF動作の入力条件情報209の算出を行う。ここで、論理回路プログラム207とは、検証対象となる論理回路をハードウェア記述言語で記述したプログラムである。FF動作仕様表示指示部202は、FF動作条件算出部201が算出した、各FF動作の入力条件情報209を表示部206に出力させる処理を行う。   The FF operation condition calculation unit 201 acquires the logic circuit program 207 and calculates the input condition information 209 for each FF operation for all FFs in the logic circuit. Here, the logic circuit program 207 is a program in which a logic circuit to be verified is described in a hardware description language. The FF operation specification display instruction unit 202 performs processing for causing the display unit 206 to output the input condition information 209 of each FF operation calculated by the FF operation condition calculation unit 201.

シミュレーション部203は、FF動作条件算出部201が算出した、各FF動作の入力条件情報209を取得し、論理シミュレーションによって、各々の条件が実行されたか否かの監視を行う。カバレッジ集計部204は、シミュレーション部203の条件監視によって得られるモニタ情報を取得し、各条件が実行されたか否か、すなわち、各FF動作が活性化されたか否かを、カバレッジ集計結果210として集計する。カバレッジ表示指示部205は、カバレッジ集計部204が集計した、カバレッジ集計結果210を表示部206に出力させる処理を行う。表示部206は、各FF動作の入力条件情報209およびカバレッジ集計結果210を表示する。   The simulation unit 203 acquires the input condition information 209 of each FF operation calculated by the FF operation condition calculation unit 201, and monitors whether or not each condition is executed by a logic simulation. The coverage tabulation unit 204 acquires monitor information obtained by the condition monitoring of the simulation unit 203, and tabulates whether or not each condition is executed, that is, whether or not each FF operation is activated as a coverage tabulation result 210. To do. The coverage display instructing unit 205 performs a process of causing the display unit 206 to output the coverage aggregation result 210 that has been aggregated by the coverage aggregation unit 204. The display unit 206 displays the input condition information 209 and coverage count result 210 for each FF operation.

図3を参照して、FF動作条件算出部の処理を説明する。図3において、FF動作条件算出部201は、論理回路プログラムを読込む(S31)。FF動作条件算出部201は、全てのFFの動作条件の算出が完了したか否かを判定する(S32)。検証対象の論理回路にFFが含まれなかった場合(YES)、FF動作条件算出部201は、処理は終了とする。   With reference to FIG. 3, the processing of the FF operation condition calculation unit will be described. In FIG. 3, the FF operation condition calculation unit 201 reads a logic circuit program (S31). The FF operating condition calculation unit 201 determines whether calculation of operating conditions for all FFs has been completed (S32). When the FF is not included in the logic circuit to be verified (YES), the FF operation condition calculation unit 201 ends the process.

ステップ32において、全てのFFの動作条件の算出が完了していなければ(NO)、FF動作条件算出部201は、未処理のFFの中から、今回、対象とするFFを1つ決定する(S33)。FF動作条件算出部201は、入力された論理回路プログラム207から、対象のFFのFF論理式を算出する(S34)。FF動作条件算出部201は、算出したFF論理式を、FF遷移表に変換する(S35)。FF動作条件算出部201は、得られたFF遷移表に基づき、各FF動作の入力条件の算出を行う(S36)。FF動作条件算出部201は、得られた各FF動作の入力条件情報を、記憶装置130に記憶し(S37)、ステップ32に戻る。   In step 32, if calculation of the operating conditions of all the FFs is not completed (NO), the FF operating condition calculating unit 201 determines one FF to be processed this time from unprocessed FFs ( S33). The FF operation condition calculation unit 201 calculates the FF logical expression of the target FF from the input logic circuit program 207 (S34). The FF operation condition calculation unit 201 converts the calculated FF logical expression into an FF transition table (S35). The FF operation condition calculation unit 201 calculates input conditions for each FF operation based on the obtained FF transition table (S36). The FF operation condition calculation unit 201 stores the obtained input condition information of each FF operation in the storage device 130 (S37), and returns to step 32.

ステップ34のFF論理式算出について、以下、さらに詳細に説明する。論理回路は、FF一つ一つを中心としたロジックコーンと呼ばれる論理構造グループに分割して考えることができる。ロジックコーンは、FF論理式生成に用いるものであり、この抽出方法について説明する。   The calculation of the FF logical expression in step 34 will be described in more detail below. The logic circuit can be divided into logical structure groups called logic cones centered on each FF. The logic cone is used for generating the FF logical expression, and this extraction method will be described.

図4を参照して、ロジックコーンの概念を説明する。図4において、ロジックコーン450は、FF440の出力を頂点とし、入力ポート410またはFF440の出力の組を底面とした円錐型の論理構造グループである。ロジックコーン450は、FF440の入力側に存在する組合せ論理回路430の接続関係を、他のFFの出力、または自分自身のFFの出力からの回帰、または入力ポートに辿り着くまで遡ることで抽出できる。論理回路は、各ロジックコーン450とその接続を指定することにより、一意に表すことが可能である。   The concept of the logic cone will be described with reference to FIG. In FIG. 4, a logic cone 450 is a conical logic structure group with the output of the FF 440 as a vertex and the output port of the input port 410 or FF 440 as a bottom surface. The logic cone 450 can extract the connection relationship of the combinational logic circuit 430 existing on the input side of the FF 440 by returning from the output of another FF or the output of its own FF, or going back to the input port. . A logic circuit can be uniquely expressed by designating each logic cone 450 and its connection.

図5を参照して、単一のロジックコーンの簡単な抽象図を説明する。図5において、ロジックコーン450は、FF440を頂点とする組合せ論理回路430から構成される。組合せ論理回路430は、単純に入力a、b、cのみによって出力Qnが決定されるので、これを論理関数fで(式1)のように表現することができる。
Qn=f(a,b,c) …(式1)
図6を参照して、図5のロジックコーンの具体的な回路を説明する。図6において、ロジックコーン450は、NOTゲート610と、ANDゲート620と、ORゲート630と、FF640とで構成されている。この回路おいて、(式1)の論理関数fは、(式2)で表される。
Qn=!a&(b|c) …(式2)
ここで、「!」は、論理否定を表す論理記号でありNOTゲート610を指す。「&」は、論理積を表す論理記号であり、ANDゲート620を指す。「|」は、論理和を表す論理記号でありORゲート630を指す。また、「b」、「!a」の変数と変数の否定のことをリテラルと呼ぶ。
With reference to FIG. 5, a simple abstract view of a single logic cone will be described. In FIG. 5, the logic cone 450 includes a combinational logic circuit 430 having the FF 440 as a vertex. In the combinational logic circuit 430, the output Qn is simply determined only by the inputs a, b, and c. Therefore, this can be expressed by the logical function f as in (Equation 1).
Qn = f (a, b, c) (Formula 1)
A specific circuit of the logic cone of FIG. 5 will be described with reference to FIG. In FIG. 6, the logic cone 450 includes a NOT gate 610, an AND gate 620, an OR gate 630, and an FF 640. In this circuit, the logical function f of (Expression 1) is expressed by (Expression 2).
Qn =! a & (b | c) (Formula 2)
Here, “!” Is a logical symbol representing logical negation and indicates the NOT gate 610. “&” Is a logical symbol representing a logical product, and indicates the AND gate 620. “|” Is a logical symbol representing a logical sum and indicates the OR gate 630. Also, the variables “b” and “! A” and the negation of the variables are called literals.

図7を参照して、現在の状態を保持する動作または現在の状態を反転した値に更新する動作を持つロジックコーンを説明する。図7において、ロジックコーン450Aは、FF440からの自己回帰を持つ。FF440が現在の状態を保持する動作または現在の状態を反転した値に更新する動作を持つ場合、必ずFF440の出力Qn−1が入力側の組合せ論理回路430の入力に回帰する論理構成となる。ここで、組合せ論理回路430の出力Qnを論理関数fで表現すると、(式3)となる。
Qn=f(a,b,c,Qn−1) …(式3)
図8と(式4)を参照して、論理式化した回路記述から、各FF動作とそれぞれの動作が成立するための条件式を算出できる理由を説明する。
Qn
=f1(a,b,c)|f2(a,b,c)&Qn-1|f3(a,b,c)&(!Qn-1)…(式4)
(式4)は、(式3)からQn−1および!Qn−1のリテラルを括り出した論理式である。f2は、Qn−1に対する係数となる論理式である。f3は、!Qn−1に対する係数となる論理式である。f1は、Qn−1および!Qn−1のリテラルを括り出した結果、余りとなる論理式である。f1、f2、f3は、いずれも、現在の入力信号a、b、cのみによって0か1かの論理値が一意に決定される論理式である。また、図5で表されるような、FFの自己回帰を持たないロジックコーンも、(式4)において、f2およびf3の論理値が常に0である論理であるとすることにより、表現できる。すなわち、(式4)は、どのようなロジックコーンであっても、必ず表現することが可能である。したがって、(式4)によれば、どのようなロジックコーンであっても、各FFの動作は、現在の入力条件のみから、計算によって求めることができる。
With reference to FIG. 7, a logic cone having an operation of maintaining the current state or an operation of updating the current state to an inverted value will be described. In FIG. 7, the logic cone 450 </ b> A has autoregression from the FF 440. When the FF 440 has an operation for holding the current state or an operation for updating the current state to an inverted value, the output Qn−1 of the FF 440 always has a logical configuration that returns to the input of the combinational logic circuit 430 on the input side. Here, when the output Qn of the combinational logic circuit 430 is expressed by the logic function f, (Equation 3) is obtained.
Qn = f (a, b, c, Qn-1) (Formula 3)
With reference to FIG. 8 and (Equation 4), the reason why each FF operation and a conditional expression for establishing each operation can be calculated from the logicalized circuit description will be described.
Qn
= F1 (a, b, c) | f2 (a, b, c) & Qn-1 | f3 (a, b, c) & (! Qn-1) (Formula 4)
(Equation 4) is obtained from (Equation 3) to Qn-1 and! This is a logical expression that enumerates literals of Qn-1. f2 is a logical expression that is a coefficient for Qn-1. f3! It is a logical expression that is a coefficient for Qn-1. f1 is Qn-1 and! This is a logical expression that is the result of summing up literals of Qn-1. Each of f1, f2, and f3 is a logical expression in which a logical value of 0 or 1 is uniquely determined only by the current input signals a, b, and c. A logic cone that does not have FF autoregression as shown in FIG. 5 can also be expressed by assuming that the logic values of f2 and f3 are always 0 in (Equation 4). That is, (Equation 4) can always be expressed with any logic cone. Therefore, according to (Equation 4), the operation of each FF can be obtained by calculation only from the current input condition regardless of the logic cone.

図8を参照して、その理由を具体的に説明する。図8において、条件と結果のテーブル820は、条件821と、Qn計算結果822と、意味823とで構成されている。図8において、f1の論理値が1である場合、または、f1の論理値が0であり、かつf2およびf3の論理値が共に1である場合、Qnの論理値は常に1となる。これは、FFの現在の状態に関わらず、次の状態は必ず1に更新されることを表す。   The reason will be specifically described with reference to FIG. In FIG. 8, the condition and result table 820 includes a condition 821, a Qn calculation result 822, and a meaning 823. In FIG. 8, when the logical value of f1 is 1, or when the logical value of f1 is 0 and both of the logical values of f2 and f3 are 1, the logical value of Qn is always 1. This means that the next state is always updated to 1 regardless of the current state of the FF.

f1およびf3の論理値が0であり、かつf2の論理値が1である場合、Qnの論理値は、常にQn−1と等しくなる。これは、FFの現在の状態を保持することを表す。
f1およびf2の論理値が0であり、かつf3の論理値が1である場合、Qnの値は、常に!Qn−1と等しくなる。これは、FFの次の状態が、現在の状態を反転した値に更新されることを表す。
それ以外の場合、Qnの論理値は、常に0となる。これは、FFの現在の状態に関わらず、次の状態は必ず0に更新されることを表す。
When the logical values of f1 and f3 are 0 and the logical value of f2 is 1, the logical value of Qn is always equal to Qn-1. This represents holding the current state of the FF.
If the logical values of f1 and f2 are 0 and the logical value of f3 is 1, the value of Qn is always! It becomes equal to Qn-1. This represents that the next state of the FF is updated to a value obtained by inverting the current state.
In other cases, the logical value of Qn is always 0. This means that the next state is always updated to 0 regardless of the current state of the FF.

図9を参照して、論理回路プログラムからのFF論理式算出について説明する。図9は、検証対象となる論理回路をハードウェア記述言語で記述した論理回路プログラムである。図9において、論理回路プログラムは、001:〜008:の行番号と制御文および命令文から構成される。ここで、”a”、”b”、”c”は、入力信号の信号名を表す。”ff1”は、FFの識別名称を表す。”1’b0”および”1’b1”は、それぞれ、1ビットの論理値の0と1を表す。”<=”の記号は、左辺の示すFFの状態を、右辺の示す値に更新する命令を表している。   With reference to FIG. 9, the calculation of the FF logical expression from the logic circuit program will be described. FIG. 9 is a logic circuit program in which a logic circuit to be verified is described in a hardware description language. In FIG. 9, the logic circuit program is composed of line numbers 001 to 008 :, control statements, and command statements. Here, “a”, “b”, and “c” represent signal names of the input signals. “Ff1” represents the identification name of the FF. "1'b0" and "1'b1" represent 1-bit logical values 0 and 1, respectively. The symbol “<=” represents an instruction for updating the state of the FF indicated by the left side to the value indicated by the right side.

図9の論理回路プログラムにおける、”ff1”に対し、FF論理式化した回路記述が、(式5)である。図9の論理回路プログラムと(式5)の論理式は表現方法の違いこそあれ、全く同じ回路構造を表すものである。論理回路プログラムから論理式を抽出することは、市販の論理設計支援ツールなどを用いて容易に実現することができる。
ff1=(ff1|(b|c))&(!a) …(式5)
ここで、(式5)の右辺の”ff1”は、”ff1”の現在の状態、すなわち、(式3)の右辺のQn−1を表す。一方、左辺の”ff1”は、”ff1”の次の状態、すなわち、(式3)の左辺のQnを表す。
In the logic circuit program of FIG. 9, the circuit description converted into the FF logic formula for “ff1” is (Formula 5). The logic circuit program of FIG. 9 and the logic expression of (Equation 5) represent the same circuit structure regardless of the difference in expression method. Extracting a logical expression from a logic circuit program can be easily realized by using a commercially available logic design support tool or the like.
ff1 = (ff1 | (b | c)) & (! a) (Formula 5)
Here, “ff1” on the right side of (Expression 5) represents the current state of “ff1”, that is, Qn−1 on the right side of (Expression 3). On the other hand, “ff1” on the left side represents the next state after “ff1”, that is, Qn on the left side of (Expression 3).

図10および図11を参照して、図3のステップ35のFF遷移表変換を説明する。図10は、(式5)のFF論理式における、”ff1”に対し、FF遷移表への変換を行った表である。FF遷移表1000において、a列1010、b列1020、c列1030は、それぞれ入力信号a、b、cの論理値を表している。Qn列1040は、FFの次の状態を表す。   With reference to FIGS. 10 and 11, the FF transition table conversion in step 35 of FIG. 3 will be described. FIG. 10 is a table in which “ff1” in the FF logical expression of (Expression 5) is converted into an FF transition table. In the FF transition table 1000, a column 1010, b column 1020, and c column 1030 represent logical values of input signals a, b, and c, respectively. The Qn column 1040 represents the next state of the FF.

具体的には、行1050において、入力信号a、b、cの組合せが、(式6)のときに、FFの次の状態QnがFFの現在の状態Qn−1となること、すなわち、現在の状態を保持することを意味する。
(a,b,c)=(0,0,0) …(式6)
同様に、行1060は、入力信号a,b,cの組合せが、(式7)のときに、FFの現在の状態に関わらず、次の状態を1に更新する。
(a,b,c)=(0,0,1),(0,1,0),(0,1,1) …(式7)
また、行1070は、入力信号a,b,cの組合せが、(式8)のときに、FFの現在の状態に関わらず、次の状態を0に更新する。
(a,b,c)
=(1,0,0),(1,0,1),(1,1,0),(1,1,1) …(式8)
なお、(式5)のFF論理式においては、現在の状態を反転する計算結果は、得られていない。
Specifically, in the row 1050, when the combination of the input signals a, b, and c is (Expression 6), the next state Qn of the FF becomes the current state Qn−1 of the FF, that is, the current It means to keep the state.
(a, b, c) = (0, 0, 0) (Formula 6)
Similarly, the row 1060 updates the next state to 1 regardless of the current state of the FF when the combination of the input signals a, b, and c is (Expression 7).
(a, b, c) = (0, 0, 1), (0, 1, 0), (0, 1, 1) (Expression 7)
The row 1070 updates the next state to 0 regardless of the current state of the FF when the combination of the input signals a, b, and c is (Expression 8).
(a, b, c)
= (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1) (Formula 8)
In the FF logical expression of (Expression 5), a calculation result that inverts the current state is not obtained.

図11を参照して、図10に示すFF遷移表を作成するための手順を説明する。図11において、FF動作条件算出部201は、全ての入力信号の組合せについてQnを算出したか否かを判定する(S111)。全ての入力信号についてQnの算出が完了していた場合、FF動作条件算出部201は、処理を終了する。   A procedure for creating the FF transition table shown in FIG. 10 will be described with reference to FIG. In FIG. 11, the FF operation condition calculation unit 201 determines whether or not Qn has been calculated for all combinations of input signals (S111). When the calculation of Qn has been completed for all input signals, the FF operation condition calculation unit 201 ends the process.

全ての入力信号の組合せについてQnの算出を完了していなかった場合、FF動作条件算出部201は、未算出の入力信号の組合せの中から今回算出対象とする入力信号の組合せを決定する(S112)。入力信号の組合せを、FF動作条件算出部201は、FF論理式に代入し、Qnの論理値を算出する(S113)。FF動作条件算出部201は、Qnの算出結果がいずれの値になったかを判定する(S114)。   If calculation of Qn has not been completed for all combinations of input signals, the FF operation condition calculation unit 201 determines a combination of input signals to be calculated this time from among uncalculated input signal combinations (S112). ). The FF operation condition calculation unit 201 substitutes the combination of input signals into the FF logical expression, and calculates the logical value of Qn (S113). The FF operation condition calculation unit 201 determines which value the calculation result of Qn has reached (S114).

Qnの算出結果には、Qn=Qn−1、Qn=!Qn−1、Qn=1、Qn=0の4通りがある。Qn=Qn−1であった場合、FF動作条件算出部201は、FF遷移表のQn列1040の内、今回算出に用いた入力信号の組合せに該当する欄に「Qn−1」と入力する(S115)。Qn=!Qn−1であった場合、FF動作条件算出部201は、該当する欄に「!Qn−1」と入力する(S116)。Qn=1であった場合、FF動作条件算出部201は、該当する欄に「1」と入力する(S117)。Qn=0であった場合、FF動作条件算出部201は、該当する欄に「0」と入力する(S118)。入力の後、FF動作条件算出部201は、ステップ111に戻る。   The calculation results of Qn include Qn = Qn−1, Qn =! There are four types, Qn-1, Qn = 1, and Qn = 0. When Qn = Qn−1, the FF operation condition calculation unit 201 inputs “Qn−1” in a column corresponding to the combination of input signals used for the current calculation in the Qn column 1040 of the FF transition table. (S115). Qn =! When it is Qn−1, the FF operation condition calculation unit 201 inputs “! Qn−1” in the corresponding column (S116). When Qn = 1, the FF operation condition calculation unit 201 inputs “1” in the corresponding field (S117). When Qn = 0, the FF operation condition calculation unit 201 inputs “0” in the corresponding field (S118). After the input, the FF operation condition calculation unit 201 returns to Step 111.

図12を参照して、図3のステップ36のFF動作条件算出について説明する。ステップ36では、ステップ35で作成したFF遷移表に基づき、各FF動作に対する入力条件を算出する。図12は、図10のFF遷移表1000に基づいて、各FF動作に対する入力条件を算出した表である。ここで、図12において、FF動作1210の「セット」は、FFの状態を1に更新する動作を定義する。「リセット」は、FFの状態を0に更新する動作を定義する。「保持」は、FFの現在の状態を保持する動作を定義する。「反転」は、FFの状態を現在の状態を反転した値に更新する動作を定義する。   With reference to FIG. 12, the FF operation condition calculation in step 36 of FIG. 3 will be described. In step 36, input conditions for each FF operation are calculated based on the FF transition table created in step 35. FIG. 12 is a table in which the input conditions for each FF operation are calculated based on the FF transition table 1000 of FIG. Here, in FIG. 12, “set” of the FF operation 1210 defines an operation of updating the FF state to 1. “Reset” defines the operation of updating the FF state to 0. “Hold” defines an operation for holding the current state of the FF. “Invert” defines the operation of updating the FF state to a value obtained by inverting the current state.

入力条件1220を、セット動作の入力条件について、説明する。FFがセット動作を行うための入力パターンは、図10の行1060で表される3パターンであるから、これらを論理式に変換する。入力aが0であり、かつ入力bまたは入力cが1であるときに、FFがセット動作を行うことから、この入力条件を論理式で表現すると、(式9)で表すことができる。
f(a,b,c)=!a&(b|c) …(式9)
リセット、保持の論理式については、図12に示す通りである。また、入力条件1220の内、反転動作に対する「−」は、条件が存在しないことを表し、”ff1”において、反転動作が起こり得ないことを意味する。
The input condition 1220 will be described for the input condition of the set operation. Since the input patterns for the FF to perform the set operation are the three patterns represented by the row 1060 in FIG. 10, these are converted into logical expressions. Since the FF performs a set operation when the input a is 0 and the input b or the input c is 1, when this input condition is expressed by a logical expression, it can be expressed by (Expression 9).
f (a, b, c) =! a & (b | c) (Formula 9)
The logical expressions for reset and hold are as shown in FIG. In the input condition 1220, “−” for the inversion operation means that the condition does not exist, and means that the inversion operation cannot occur at “ff1”.

なお、ここでは3入力のロジックコーンについて説明を行ったが、実際には図13に示すように、入力信号が多くなるほど遷移表1000Aは、拡大していく。遷移表1000Aを基に算出を行うと、図14に示すように、条件式が冗長になる。したがって、カルノー図法、クワイン・マクラスキー法などの簡単化手法を用いて、条件式を整理する。これにより、条件式の冗長化を抑止すると共に、以降の処理を効率的に行う。   Although a description has been given here of a three-input logic cone, in practice, as shown in FIG. 13, the transition table 1000A expands as the number of input signals increases. When calculation is performed based on the transition table 1000A, the conditional expression becomes redundant as shown in FIG. Therefore, the conditional expressions are organized using a simplified method such as the Carnot projection or the Quine-Macrasky method. Thereby, the redundancy of the conditional expression is suppressed and the subsequent processing is efficiently performed.

図15および図16を参照して、FF動作仕様表示指示部202が、表示部206に出力させる表示について、詳細に説明する。   With reference to FIG. 15 and FIG. 16, the display which the FF operation specification display instruction | indication part 202 makes the display part 206 output is demonstrated in detail.

図15を参照して、FF動作仕様表示指示部202が、まず始めに出力を指示する表示画面を説明する。図15において、出力結果1500は、block1〜blockNのブロック別FF数1510と、合計のFF数1520を表示する。   With reference to FIG. 15, a display screen in which the FF operation specification display instruction unit 202 first instructs output will be described. In FIG. 15, the output result 1500 displays the block-specific FF number 1510 of block 1 to block N and the total FF number 1520.

図16は、出力結果1500のblock1〜blockNの中から、ユーザが情報を希望するブロックを選択することにより出力する表示である。図16において、出力結果1600は、ユーザが選択したブロックに含まれる全てのFF1610に対して、各々の、セット、リセット、保持、反転の各動作の入力条件1620を表示する。また、該当の入力条件が存在しない場合は、「−」を表示する。(条件1.1)〜(条件N.4)の記載は、実際には論理式であり、”ff1”を図12に当てはめるならば、(条件1.1)は、条件1221より”!a&(b|c)”、(条件1.2)は、条件1222より”a”、(条件1.3)は、条件1223より”!a&!b&!c”、(条件1.4)は、条件1224より”−”となる。   FIG. 16 shows a display that is output when the user selects a block for which information is desired from among block 1 to block N of the output result 1500. In FIG. 16, the output result 1600 displays the input conditions 1620 for each of the set, reset, hold, and inversion operations for all the FFs 1610 included in the block selected by the user. If there is no corresponding input condition, “-” is displayed. The description of (Condition 1.1) to (Condition N.4) is actually a logical expression. If “ff1” is applied to FIG. (B | c) ”and (condition 1.2) are“ a ”from condition 1222, and (condition 1.3) are“! A &! B &! C ”and (condition 1.4) are from condition 1223, From the condition 1224, “−” is obtained.

出力結果1600により、各FFの動作が、設計者の考える仕様と一致しているか否かを確認することができる。これにより、記述誤り等の不注意、考慮漏れといった原因から発生するバグを抑止することができる。   From the output result 1600, it is possible to confirm whether or not the operation of each FF matches the specification considered by the designer. As a result, it is possible to suppress bugs that occur due to carelessness such as a description error and omission of consideration.

図17ないし図20を参照して、カバレッジ表示指示部205が、表示部206に出力させる表示について、詳細に説明する。
図17を参照して、カバレッジ表示指示部205がまず始めに出力を指示する表示画面を説明する。図17において、出力結果1700は、block1〜blockNのブロック別のFF数1710と、合計のFF数1720と、各々のブロックにおいて、監視対象となる全ての条件の数1730と、その内、論理シミュレーションによって実行された条件の数1740と、カバレッジ率1750を表示する。カバレッジ率1750は、監視対象となる全ての条件の数1730に対し、論理シミュレーションによって実行された条件の数1740の比率として算出され、百分率で表示する。
The display that the coverage display instruction unit 205 outputs to the display unit 206 will be described in detail with reference to FIGS.
With reference to FIG. 17, a display screen in which the coverage display instruction unit 205 first instructs output will be described. In FIG. 17, the output result 1700 includes the number of FFs 1710 for each block of block 1 to block N, the total number of FFs 1720, the number of all conditions 1730 to be monitored in each block, and among them, a logic simulation The number of conditions executed 1740 and the coverage rate 1750 are displayed. The coverage rate 1750 is calculated as a ratio of the number of conditions 1740 executed by the logic simulation to the number of conditions 1730 to be monitored, and is displayed as a percentage.

出力結果1700によれば、設計回路中のFFに発生し得る全ての動作が、論理シミュレーションによってどれだけ活性化されたかを評価尺度として、検証の十分性を的確かつ定量的に評価することができる。   According to the output result 1700, the sufficiency of verification can be accurately and quantitatively evaluated using as an evaluation measure how much all the operations that can occur in the FF in the design circuit are activated by the logic simulation. .

図18を参照して、出力結果1700のblock1〜blockNの中から、ユーザが情報を希望するブロックを選択することにより出力する表示を説明する。図18において、出力結果1800は、FF1810と、入力条件監視結果1820と、FF動作網羅率1830とから構成される。   With reference to FIG. 18, a display output by the user selecting a block for which information is desired from among block 1 to block N of the output result 1700 will be described. In FIG. 18, the output result 1800 includes an FF 1810, an input condition monitoring result 1820, and an FF operation coverage rate 1830.

FF1810は、ユーザの選択したブロックに含まれる全FFを表示する。入力条件監視結果1820は、FF1810に対して、各々の、セット、リセット、保持、反転の各FF動作の入力条件を表示し、また、それらの条件が、論理シミュレーションによって実行されたか否かの監視結果を、「○」と「×」で表示する。論理シミュレーション中に1回でも条件に合致するパターンがあった場合は「○」となり、全く合致するパターンが無かった場合は「×」となる。また、該当の入力条件が存在しない場合は、「−」を表示する。   The FF 1810 displays all the FFs included in the block selected by the user. The input condition monitoring result 1820 displays, for the FF 1810, input conditions for each of the set, reset, hold, and inversion FF operations, and monitors whether these conditions are executed by logic simulation. The result is displayed as “◯” and “×”. If there is a pattern that matches the condition even once in the logic simulation, it becomes “◯”, and if there is no pattern that matches at all, it becomes “X”. If there is no corresponding input condition, “-” is displayed.

(条件1.1)〜(条件N.4)の記載は、実際には論理式である。”ff1”を図12に当てはめるならば、(条件1.1)は、条件1221より”!a&(b|c)”、(条件1.2)は、条件1222より”a”、(条件1.3)は、条件1223”!a&!b&!c”となる。   The description of (Condition 1.1) to (Condition N.4) is actually a logical expression. If “ff1” is applied to FIG. 12, (condition 1.1) is “! A & (b | c)” from condition 1221, and (condition 1.2) is “a” from condition 1222 (condition 1). .3) is the condition 1223 "! A &! B &! C".

FF動作網羅率1830は、各FFについて、起こり得る全てのFF動作の数1831と、その内、論理シミュレーションによって活性化されたFF動作の数1832をそれぞれ表示する。   The FF operation coverage rate 1830 displays, for each FF, the number 1831 of all possible FF operations, and the number 1832 of FF operations activated by the logic simulation.

出力結果1800によれば、カバレッジ測定の結果、検証が不足していると判断される論理回路に対し、具体的に、どのFFの、どの動作が活性化されていないのか、また、その動作を活性化させるためには、どのような条件が必要なのかを確認することができ、検証設計にフィードバックするための詳細な情報を得ることができる。   According to the output result 1800, for the logic circuit determined to be insufficiently verified as a result of coverage measurement, specifically, which FF of which operation is not activated, and the operation In order to activate, it is possible to confirm what conditions are necessary, and to obtain detailed information for feedback to the verification design.

図19を参照して、出力結果1800に対し、ユーザが更に詳細な情報を要求した場合に出力する表示を説明する。図19において、出力結果1900は、FF1910と、入力条件実行網羅率1920とから構成される。入力条件実行網羅率1920は、各FF動作の入力条件に対して、それらの条件を構成する全ての入力信号の組合せの数1921と、その内、論理シミュレーションによって実行された入力信号の組合せの数1922と、それらの比を百分率で算出した結果1923を表示する。該当の入力条件が存在しない場合、入力条件実行網羅率1920は、「−」を表示する。   With reference to FIG. 19, the display output when the user requests more detailed information for the output result 1800 will be described. In FIG. 19, the output result 1900 includes an FF 1910 and an input condition execution coverage rate 1920. The input condition execution coverage ratio 1920 is the number of combinations 1921 of all input signals constituting the conditions for the input conditions of each FF operation, and the number of combinations of input signals executed by the logic simulation. 1922 and a result 1923 of calculating the ratio thereof as a percentage are displayed. When the corresponding input condition does not exist, the input condition execution coverage rate 1920 displays “−”.

出力結果1900によれば、各FF動作について、その動作を発生させる全ての入力ケースの内、論理シミュレーションでどれだけ実行されたかを確認することができる。これにより、検証内容の偏りを定量的に判断することができ、効率的な検証設計が可能となる。   According to the output result 1900, for each FF operation, it can be confirmed how much of the input cases that cause the operation is executed by the logic simulation. As a result, it is possible to quantitatively determine the bias of verification contents, and efficient verification design is possible.

図20を参照して、出力結果1900のff1〜ffNの中から、ユーザが特定のFFに対する詳細な情報を希望したときに出力する表示を説明する。図20において、出力結果2000は、FF動作2010と、入力信号2020と、監視結果2030とから構成される。FF動作2010は、ユーザの選択したFFにおいて、起こり得る全てのFF動作を表示する。入力信号2020は、FF動作2010に対する入力条件を満たす、全ての入力信号の組合せを表示する。監視結果2030は、入力信号2020に示す入力信号の組合せが、論理シミュレーションによって実行されたか否かを、「○」と「×」で表示する。論理シミュレーション中に1回でも条件に合致するパターンがあった場合は「○」となり、全く合致するパターンが無かった場合は「×」となる。なお、ここでは、反転の無い論理式について、示している。   With reference to FIG. 20, the display output when the user desires detailed information for a specific FF from ff1 to ffN of the output result 1900 will be described. In FIG. 20, the output result 2000 includes an FF operation 2010, an input signal 2020, and a monitoring result 2030. The FF operation 2010 displays all possible FF operations in the FF selected by the user. The input signal 2020 displays all input signal combinations that satisfy the input conditions for the FF operation 2010. The monitoring result 2030 displays by “◯” and “×” whether or not the combination of the input signals indicated by the input signal 2020 is executed by the logic simulation. If there is a pattern that matches the condition even once in the logic simulation, it becomes “◯”, and if there is no pattern that matches at all, it becomes “X”. Here, a logical expression without inversion is shown.

出力結果2000によれば、複合的な入力条件に対し、具体的にどのような入力パターンがテストされていないのかを個別に知ることができ、テストパターン検討のための、より直接的な手掛りとなる情報を得ることができる。   According to the output result 2000, it is possible to individually know what input patterns are not specifically tested for complex input conditions, and more direct clues for examining test patterns. Can be obtained.

上述した実施例に依れば、ハードウェア記述言語によって記述されるディジタル回路において、本来留意すべき、FFの動作に注目した客観的な検証品質指標を得ることができる。これにより、従来、人間の主観のみでは見逃しがちだった、検証の漏れを抑止すると共に、無駄の無い、高効率な検証を行うことを可能とする。   According to the embodiment described above, it is possible to obtain an objective verification quality index that pays attention to the operation of the FF in the digital circuit described in the hardware description language. Thus, it is possible to suppress the omission of verification, which has conventionally been overlooked only by human subjectivity, and to perform highly efficient verification without waste.

100…検証支援装置、110…メモリ、120…CPU、130…記憶装置、140…入力装置、150…出力装置、160…バス、200…検証支援装置、201…FF動作条件算出部、202…FF動作仕様表示指示部、203…シミュレーション部、204…カバレッジ集計部、205…カバレッジ表示指示部、206…表示部、207…論理回路プログラム、208…テストパターン、209…各FF動作の入力条件情報、210…カバレッジ集計結果。   DESCRIPTION OF SYMBOLS 100 ... Verification support apparatus, 110 ... Memory, 120 ... CPU, 130 ... Storage device, 140 ... Input device, 150 ... Output device, 160 ... Bus, 200 ... Verification support apparatus, 201 ... FF operation condition calculation part, 202 ... FF Operation specification display instruction unit, 203 ... simulation unit, 204 ... coverage totaling unit, 205 ... coverage display instruction unit, 206 ... display unit, 207 ... logic circuit program, 208 ... test pattern, 209 ... input condition information for each FF operation, 210 ... Coverage count result.

Claims (5)

論理回路中のフリップフロップの動作条件を算出するフリップフロップ動作条件算出部と、
フリップフロップの各動作条件を表示させるフリップフロップ動作仕様表示指示部と、
論理回路プログラムを論理シミュレーションし、フリップフロップの各動作条件の実行成否を監視するシミュレーション部と、
条件監視によって得られたモニタ情報により、各フリップフロップ動作が活性化されたか否かを集計するカバレッジ集計部と、
カバレッジ集計結果を表示させるカバレッジ表示指示部と、
前記フリップフロップ動作仕様表示部と前記カバレッジ表示指示部とからの指示により情報出力を行う表示部と、
を含むことを特徴とする検証支援装置。
A flip-flop operation condition calculation unit for calculating an operation condition of the flip-flop in the logic circuit;
Flip-flop operation specification display instruction unit for displaying each operation condition of the flip-flop,
A logic unit that performs a logic simulation of the logic circuit program and monitors the success or failure of each operation condition of the flip-flop;
A coverage counting unit that counts whether or not each flip-flop operation is activated by monitor information obtained by condition monitoring;
Coverage display instruction part for displaying coverage totalization results,
A display unit that outputs information in accordance with instructions from the flip-flop operation specification display unit and the coverage display instruction unit;
A verification support apparatus comprising:
ハードウェア記述言語により記述された論理回路プログラムを受け付けるステップと、
前記論理回路プログラムから、フリップフロップを中心としたロジックコーンを表す論理式の算出を行うステップと、
前記論理式から前記フリップフロップの遷移表を作成するステップと、
前記遷移表に基づき、前記フリップフロップの動作の入力条件の算出を行うステップと、
を含む検証支援方法。
Receiving a logic circuit program written in a hardware description language;
Calculating a logical expression representing a logic cone centered on a flip-flop from the logic circuit program;
Creating a transition table of the flip-flop from the logical expression;
Calculating an input condition of the operation of the flip-flop based on the transition table;
Verification support method including
請求項2に記載の検証支援方法であって、
前記動作は、状態を1に更新する動作、状態を0に更新する動作、現在の状態を保持する動作、現在の状態を反転した値に更新する動作、であること特徴とする検証支援方法。
The verification support method according to claim 2,
The verification support method is characterized in that the operation is an operation to update the state to 1, an operation to update the state to 0, an operation to hold the current state, and an operation to update the current state to an inverted value.
請求項2に記載の検証支援方法であって、
さらに、前記入力条件を、前記フリップフロップの動作仕様として表示するステップを、含む検証支援方法。
The verification support method according to claim 2,
The verification support method further includes the step of displaying the input condition as an operation specification of the flip-flop.
請求項2に記載の検証支援方法であって、
さらに、前記入力条件に対し論理シミュレーションによって条件実行の成否を監視するステップと、
監視によって得られたモニタ情報を集計するステップと、
集計により得られたカバレッジ情報を表示するステップと、
を含む検証支援方法。
The verification support method according to claim 2,
Furthermore, monitoring the success or failure of condition execution by logic simulation for the input condition;
A step of aggregating monitor information obtained by monitoring;
Displaying the coverage information obtained by the aggregation;
Verification support method including
JP2013000412A 2013-01-07 2013-01-07 Verification support device and verification support method Pending JP2014132403A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013000412A JP2014132403A (en) 2013-01-07 2013-01-07 Verification support device and verification support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013000412A JP2014132403A (en) 2013-01-07 2013-01-07 Verification support device and verification support method

Publications (1)

Publication Number Publication Date
JP2014132403A true JP2014132403A (en) 2014-07-17

Family

ID=51411465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013000412A Pending JP2014132403A (en) 2013-01-07 2013-01-07 Verification support device and verification support method

Country Status (1)

Country Link
JP (1) JP2014132403A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114135470A (en) * 2021-11-29 2022-03-04 华能烟台八角热电有限公司 Automatic drainage device based on efficient air compressor air storage tank

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114135470A (en) * 2021-11-29 2022-03-04 华能烟台八角热电有限公司 Automatic drainage device based on efficient air compressor air storage tank
CN114135470B (en) * 2021-11-29 2023-11-10 华能烟台八角热电有限公司 Automatic drainage device of air storage tank of air compressor based on high efficiency

Similar Documents

Publication Publication Date Title
JP2006244073A (en) Semiconductor design device
US9218447B2 (en) Automatic test pattern generation (ATPG) considering crosstalk effects
JP5684878B2 (en) Systems and methods for providing compliance inspection and detailed analysis of software applications
JP6568017B2 (en) Test support apparatus and test support method
JP2014132403A (en) Verification support device and verification support method
US20140115396A1 (en) Mutations on input for test generation
JP5672165B2 (en) Test data generation program, test data generation method, test data generation device
US10382311B2 (en) Benchmarking servers based on production data
JP6034614B2 (en) Information processing apparatus and method
JP5463226B2 (en) Source code inspection method and source code inspection apparatus
TWI712806B (en) Testing method and testing system
KR101996009B1 (en) Method for supporting composing testcase, server and user terminal for performing the same
WO2016199383A1 (en) Service design assistance device, method, and program recording medium
JP2017167732A (en) Circuit design verification apparatus and program
JP5319643B2 (en) Software product line development support apparatus and method
JP2016177666A (en) Model inspection device, model inspection method, and program
JP2014032466A (en) Complexity calculation device, complexity calculation method, and complexity calculation program
JP2016076162A (en) Software test support device and software test support program
JP5899781B2 (en) Design support apparatus, design support method, and design support program
JP5644899B1 (en) Circuit verification apparatus, circuit verification method, and circuit verification program
JP5321624B2 (en) Logic circuit verification device, logic circuit verification method, and program
Jenihhin et al. High-level decision diagrams based coverage metrics for verification and test
JP2012128727A (en) Reliability evaluation method and apparatus for software component
US11030370B2 (en) Modular event-based performance monitoring in integrated circuit development
JP6203433B2 (en) File management apparatus, file management method and program

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140908