JP4657912B2 - 設計装置および設計方法とそのプログラム - Google Patents

設計装置および設計方法とそのプログラム Download PDF

Info

Publication number
JP4657912B2
JP4657912B2 JP2005372906A JP2005372906A JP4657912B2 JP 4657912 B2 JP4657912 B2 JP 4657912B2 JP 2005372906 A JP2005372906 A JP 2005372906A JP 2005372906 A JP2005372906 A JP 2005372906A JP 4657912 B2 JP4657912 B2 JP 4657912B2
Authority
JP
Japan
Prior art keywords
fsm
state
transition
input
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.)
Expired - Fee Related
Application number
JP2005372906A
Other languages
English (en)
Other versions
JP2007172542A (ja
Inventor
隆 松浦
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2005372906A priority Critical patent/JP4657912B2/ja
Priority to US11/394,322 priority patent/US7512913B2/en
Publication of JP2007172542A publication Critical patent/JP2007172542A/ja
Application granted granted Critical
Publication of JP4657912B2 publication Critical patent/JP4657912B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318314Tools, e.g. program interfaces, test suite, test bench, simulation hardware, test compiler, test program languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は設計装置の検査方法に係り、特にFSMカバレッジ測定を利用した検査の技術に関する。
近年、EDA(Electronic Design Automation)ツールを駆使したHDL(Hardware Description Language:ハードウェア記述言語)などによるディジタル回路設計が行われている。このような設計では従来の設計手法とは異なり、ソフトウェア開発と並行してハードウェア設計が行われるようになり、データ処理やプロトコル処理など、ソフトウェアが対応してきた処理をディジタル回路化することも多くなっている。そのため、大規模な論理回路をHDLなどでシステム設計を行った場合、設計時のデバッグ時間や出荷時の検査時間が増加する傾向にある。
例えば、HDL記述で設計された論理回路のモデルの検査は、一般的に検証スイート(テストベンチ)をシミュレータに入力して検証を行う。この検証の進捗は、RTL(レジスタ転送レベル)記述に記述された論理式や条件文の活性化、各状態の網羅率、さらに状態間の遷移が既存の検証スイートでカバー(補償)されているかで判断される。その検査のひとつとして、カバレッジ測定がある。カバレッジ測定は重要な項目であり、検査に使用するテストベンチ自体の品質を把握しないまま検査をしても、定量的な品質向上を図ることに直接つながるわけではなく、カバレッジ (コード実行網羅率、ブランチ実行網羅率、パス実行網羅率、MC/DCなど)の測定を行うことにより、どれだけ十分に検査できたかを定量的に把握し、出荷可能かどうかの客観的な判断基準とするものである。
しかしながら、このカバレッジ(補償範囲)を計測するカバレッジ評価において検査をする場合、網羅率が100%にならないときがあり、網羅率を100%にするために記述内容を調査するなど原因を特定する調査に時間を費やすことになり、設計時のデバッグ時間や出荷時の検査時間が増加してしまう。
特許文献1によれば、カバレッジ評価行うために、RTL記述と検証スイートを機能テストカバレッジを計測する機能テストカバレッジ計測装置と、RTL記述を簡単化するRTL簡単化装置に入力する。そして変換された検証スイートを出力する。この出力される検証スイートは、入力された検証スイートに含まれるテストベクタのうち、RTL記述の冗長な部分に関する不要なものを削除して生成する。この検証スイートを利用することで検査時間を短縮している。
また、カバレッジ測定を向上させるための方法として、最初にブラックボックステスト(ソースコードを確認しないテスト)でカバレッジをある程度上げておき、その後、実行されていないパス、コードを発見し、その箇所を実行するためのテストケースを作成し再度テストを実行する方法が提案されている。
ところで、FSM(Finite State Machine)のカバレッジ測定に注目すると、モジュール単位でFSM抽出を行って定義されている状態に遷移したかを測定するFSMステートカバレッジ、各状態からの条件分岐による遷移が発生したかを測定するFSMアークカバレッジがある。図16はFSMを図で示したもので、状態(ステート:Sx)と遷移(アーク:Ax)によって示す方法が一般的に使用されている。図16に示すステートマシンでは、ステートS0においてステートS1に遷移する条件として、A0の矢印が示す遷移により変化する条件と、またA2の矢印が示すルートで遷移する条件があり、この遷移により次のS1の状態に遷移する。同様にS0からS2への条件が揃ったときは遷移A1のルートで遷移する。また、S3へもA3のルートで遷移する。S1からS3に遷移する場合はA5のルートで変化する。S2の場合はA4、A7のルートでS0、S3に遷移し、A4ではS0に、A7ではS3に遷移する。S3ではA6でS2に遷移する。
検査では、このようにS0〜S3の4状態を全数として全ての状態に遷移すれば、このステートを網羅したことになり、同様にA0〜A7の8遷移を全数として全ての遷移が発生すれば、このアークを網羅した事になり検査をパスすることになる。
しかしながら、FSMステートカバレッジでは、状態(Sx)として定義されたすべてが総数となるため、設計の意図として絶対に遷移しないエラー状態等が記述されていると、そのエラー状態に遷移しないため、遷移検査結果が100%にならない。つまり、状態(Sx)の全総数を分母とし、シミュレーションなどで実際に遷移した状態を分子とすると、遷移しない状態があるかぎり分子と分母は同じならず結果は100%にならない。
また、FSMアークカバレッジではFSM記述のあるモジュール内でのみ最適化された遷移(Ax)が総数となるため、モジュール階層間において定数となる記述や排他的な論理記述があると結果が100%にならない。
シミュレーション実行後にFSMカバレッジ結果が100%にならない場合、カバーされていない箇所を抽出して原因の解析を行い問題がないかを確認する必要があり、問題のない記述の場合には不要な原因解析を行うこととなり非常に効率が悪い。
特開2001−014365号公報
本発明は上記のような実情に鑑てなされたものであり、FSMカバレッジ測定のエラー状態を検出し検査時間を短縮する装置と方法とプログラムを提供することを目的とする。
本発明のひとつの態様では、言語記述された論理回路とテストベンチに基づいてFSMカバレッジ測定をコンピュータに実行させるプログラムであって、上記言語記述および上記言語記述に基づき生成される設計情報からFSM構成を抽出する機能と、上記FSMの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、モジュール入力に対する階層間のFSM入力論理を抽出する抽出機能と、上記FSM入力論理で検出された排他性を有する論理とFSMの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する検出機能と、をコンピュータに実行させるプログラムである。
好ましくは、上記検出機能は、上記FSM入力論理で検出された定数伝播の論理とFSMの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する定数伝播による検出をするようにしてもよい。
また、好ましくは上記検出機能は、上記抽出機能とともに最適化を実行して、上記最適化されたFSM入力論理で検出された排他性を有する論理とFSMの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出するようにしてもよい。
また、好ましくは検出機能の出力を、上記絶対に到達しない状態数をFSMステートカバレッジの総数から削減し、上記絶対に発生しない遷移数をFSMアークカバレッジの総数から削減し、その後に上記カバレッジ測定を実行して網羅率を算出し、上記算出の結果を出力するようにしてもよい。
本発明の他の態様では、言語記述された論理回路とテストベンチに基づいてFSMカバレッジ測定をコンピュータに実行させるプログラムであって、上記言語記述および上記言語記述に基づき生成される設計情報からFSMの構成を抽出する抽出機能と、上記FSMのFSMレジスタ変数を入力として使用している派生変数を抽出する派生変数抽出機能と、上記派生変数が次状態の遷移先として使用されている状態を抽出する第1状態抽出機能と、上記FSMレジスタ変数または上記派生変数がFSMの遷移条件として使用されている状態を抽出する第2状態抽出機能をコンピュータに実行させる。
好ましくは、上記第1抽出機能の演算結果を表示するようにしてもよい。
また、好ましくは上記第2抽出機能の演算結果を表示するようにしてもよい。
上記構成によりFSMカバレッジ測定前に排他的な絶対に到達しない状態および絶対に発生しない遷移を、網羅率から予め削除できるため、FSMカバレッジ測定を効率よく行うことができる。また、抽出結果を利用者に表示することでソースの変更を促すことができる。
本発明の他の態様では、コンピュータによって言語記述された論理回路とテストベンチに基づいてFSMカバレッジ測定をする方法であって、上記言語記述および上記言語記述に基づき生成される設計情報からFSM構成を抽出する工程と、
上記FSMの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、モジュール入力に対する階層間の論理を抽出する工程と、抽出した論理とFSMでの遷移条件を合わせて定数伝播と最適化をし、上記絶対に到達しない状態および上記絶対に発生しない遷移がないかをチェックし、上記チェックの結果を出力する工程と、上記絶対に到達しない状態数をFSMステートカバレッジ総数から削減し、上記絶対に発生しない遷移数をFSMアークカバレッジ総数から削減し、上記カバレッジ測定を実行した結果を出力する工程と、を実行させることを特徴とする。
本発明の他の態様では、コンピュータによって言語記述された論理回路とテストベンチに基づいてFSMカバレッジ測定をする方法であって、上記言語記述および上記言語記述に基づき生成される設計情報からFSMの構成を抽出する処理と、上記FSMのFSMレジスタ変数を入力として使用している派生変数を抽出する処理と、上記派生変数が次状態の遷移先として使用されている状態を抽出する処理と、上記FSMレジスタ変数または上記派生変数がFSMの遷移条件として使用されている状態を抽出する処理と、を実行させることを特徴とする。
本発明の他の態様では、言語記述された論理回路とテストベンチに基づいてFSMカバレッジ測定を行う設計装置であって、上記言語記述および上記言語記述に基づき生成される設計情報からFSM構成を抽出し、上記FSMの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、定数伝播と最適化をし、絶対に到達しない状態および絶対に発生しない遷移がないかをシミュレーション実行前チェックして上記チェック結果を出力するFSMチェック部と、上記絶対に到達しない状態をFSMステートカバレッジの総数から削減するとともに、上記絶対に発生しない遷移をFSMアークカバレッジの総数から削減し、上記テストベンチに基づいて上記FSMカバレッジ測定を実行してFSMカバレッジ結果を出力するFSMカバレッジ測定部と、上記FSMのFSMレジスタ変数を入力として使用している派生変数を抽出する派生変数抽出部と、上記派生変数が次状態の遷移先として使用されている状態を抽出する第1状態抽出部と、上記FSMレジスタ変数または上記派生変数がFSMの遷移条件として使用されている状態を抽出する第2状態抽出部と、を具備する構成とする。
上記構成によりFSMカバレッジ測定前に排他的な絶対に到達しない状態および絶対に発生しない遷移を、網羅率から予め削除できるため、FSMカバレッジ測定を効率よく行うことができる。
本発明によれば、HDLにより記述されたソースに基づいて生成されるFSMカバレッジ測定を効率よく行うことができる。
以下図面に基づいて、本発明の実施形態について詳細を説明する。
(実施例1)
(本発明のシステム構成)
図1は本発明を実現するためのシステム構成を示すブロック図である。図1において、設計装置10は、CPU11、ROM12、RAM13、ハードディスクドライブ(HDD)14、フレキシブルディスクドライブ(FDD)15、入力インタフェース(入力I/F)16、通信インタフェース(通信I/F)17、出力インタフェース(出力I/F)19、グラフィック処理部110などを備えている。また、上記各構成部はバス111によってそれぞれ接続されている。
CPU11は、ROM12、RAM13、HDD14、FDD15に格納されているプログラムやデータに応じた処理を実行し、設計装置10の全体の制御などをする。ROM12は、CPU11が実行する基本的なプログラム(ブートプログラムなど)やデータを記録する。RAM13は、CPU11が実行途中のプログラムやデータを記録し、ワークエリアなどとして使用される。
HDD14には、CPU11が実行するOS(Operation System)やアプリケーションプログラムなどが記録され、CPU11の制御に従いハードディスクにデータのリード/ライトを実行する。FDD15は、CPU11の制御にしたがってFD15aに対するデータのリード/ライトを制御する。FD15aは、FDD15の制御で書き込まれたデータを記憶したり、FD15aに記憶されたデータを設計装置10に読み取らせたりする。また、着脱可能な記録媒体としてFD15aのほか、コンピュータで読み取り可能な記録媒体として、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact DiscRead OnlyMemory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Opticaldisk)などがある。
入力I/F16は、マウスやキーボードが接続され、ユーザが入力した情報を受信し、バス111を介してCPU11に送信する。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウスは、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
通信I/F17は、必要に応じ、他のコンピュータとの間のLAN接続やインターネット接続や無線接続のためのインタフェースである。通信回線18を通じてインターネットなどのネットワークを介して他の装置に接続される。そして、ネットワーク18と内部のインタフェースは、外部装置からのデータの入出力を制御する。例えば、モデムやLANアダプタなどを採用することができる。
出力I/F19は、プリンタなどの出力装置19aを制御するために備えられている。また、グラフィック処理部110には、ディスプレイなどの表示装置110aが接続され、グラフィック処理部110は、CPU11からの描画命令に従って表示装置110aの画面上に操作情報、論理シミュレーション後のログやカバレッジの集計結果、信号波形等を表示する。例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。なお、グラフィック処理部110を介さずに、出力I/F19から表示装置と接続してもよい。
(本発明の原理)
図2は本発明の原理を示すブロック図である。
言語により回路記述をし、例えばHDLによりRTL記述を行ったソース21と、シミュレーションなどを実行するさいに用いるテストベンチ22を作成し、FSMチェック部23とFSMカバレッジ測定部24に入力する。
そして、入力されたソース21を取り込み、構文木を生成し、ソース21に含まれる変数や演算、条件文、ループ文等を解析して、コントロールデータフローグラフ(CDFG:CDFG:control data flow graph)を生成する。この、コントロールデータフローグラフとは、演算をノード、演算間のデータの流れをエッジとしたグラフである。
また、CDFGを基に、値保持に必要なレジスタを割り付け、FSMを認識し、状態、状態間の遷移、遷移を起こす条件を作成する。なお、このCDFGでは、ポートや信号、論理/機能演算子、左辺信号への代入及び「IF」や「CASE」文等の条件をノードとして表現し、またノード間の結線をアークとして内部形式で表現する。
また、このCDFGに基づいて、所望の動作を実行する演算器数とステップ数を決めるスケジューリング処理や、さらに「アロケーション(データパス割り当て)」と呼ばれる処理を実行する。また、変数や演算に対応するレジスタや演算器に割り当てる。スケジューリングとデータパス割り当てが終了すると、回路のシーケンスを決めてデータパスの制御信号を出力するステートマシンを生成し、データパスの記述とともに論理合成可能なRTL記述に変換する。
ここでは詳細について説明をしないが、実際のCDFGは分岐やループなどを含んだ複雑なものとなる。また動作合成の制約条件として、演算器数やレジスタ数、入出力端子数、さらにアクセス時間などが設定されるのが普通である。
FSMチェック部23では、A)ソース21を構成するモジュールの記述に対応する変換された設計情報を格納したファイル(CDFGやそれと同様なデータ有するデータベースなどで構成されるデータ)からFSMを抽出(FSM抽出部)する。その後、B)FSMの入力となる変数からバックトレースしてFF(フリップフロップ)出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開して定数伝播部では定数伝播を検出し、最適化部では最適化を行い、C)絶対に到達しない状態および絶対に発生しない遷移がないかをシミュレーション実行前チェック部でシミュレーション実行前にチェックする。ここで、シミュレーション実行前チェックとは1)絶対に到達しない状態が存在する記述、2)絶対に発生しない遷移が存在する記述をチェックすることである。ここで記述とは記述から変換されたCDFGやデータベースとしてもよい。
また、FSMカバレッジ測定部24ではD)絶対に到達しない状態数、絶対に発生しない遷移数をFSMカバレッジ総数から削除(FSMカバレッジ総数削除部)し、E)FSMカバレッジ測定を行う。ここで、FSMカバレッジ総数の削減は、F)絶対に到達しない状態をFSMステートカバレッジの総数から削減(ステート削減部)することと、G)絶対に発生しない遷移をFSMアークカバレッジの総数から削減(アーク削減部)することである。その後、FSMチェック部23からチェック結果25を出力する。また、FSMカバレッジ測定部24からFSMカバレッジ結果26を出力する。
(本発明の処理)
図3に上記説明した処理内容のフローを示し説明する。
ステップ(S1)では、FSMの特定と、モジュール入力に対する階層間の論理であるFSM入力論理を抽出する。ステップ(S2)では、FSM遷移論理の抽出を行う。ステップS1、S2では、論理回路のソース21を読み込みモジュール単位にFSMの特定を行い、各FSMごとに入力となる変数からモジュール階層を展開しながらバックトレースしてFF出力またはトップモジュールの外部入力に到達するまでの範囲に関して抽出する(抽出機能)。
ステップ(S3)では、抽出したFSM入力論理をFSM遷移論理に加えて、FSMの論理に影響を与える排他的に絶対に発生しない論理を検出する(検出機能)。検出は定数伝播をしている箇所の検出や、最適化をしてから排他的に絶対に発生しない論理を検出してもよい。
ステップ(S4)では、絶対に到達しない状態と発生しない遷移のチェックを行う。また、ステップ(S5)では、シミュレーションを実行する。
ステップ(S6)では、S4で絶対に到達しない状態および絶対に発生しない遷移がないかをチェックし、この処理をシミュレーション前に実行してチェック結果を出力する。それとともに、FSMカバレッジ測定も行うことでFSMステートカバレッジ総数から絶対に到達しない状態を削減し、FSMアークカバレッジ総数からも絶対に発生しない遷移をそれぞれ削減して結果を出力する。
(定数伝播のチェック)
図4のRTL記述(ソース21:例文Verilog-HDLで記載)は、モジュール名「module sample1」(ライン1〜10)をトップモジュールとして記述されたものであり、ライン1〜44までの記述範囲で「module sample1」はトップモジュールとなっている。このトップモジュールの下位階層に下位モジュール「sample1_fsm」が存在する構成となっている。
図5は図4に示したRTL記述に基づいて処理を実行した場合のフローを示した図である。ステップ(S51)では、「sample1_fsm」モジュール内でFSMの入力となる変数i1、i2、i3ごとに入力方向へのバックトレースにより論理抽出をする。i1→i1、i2→high(1’b1:ビット幅1の定数1を意である)、i3→i1&i2|〜i1|〜i2を抽出する。
ステップ(S52)では、論理抽出した部分に定数伝播による論理計算をした結果をFSMの遷移条件に適用(i2、i3は常に1となり、図4のライン34、36は未発生)し、絶対に発生しないアーク(遷移)S0→S3、S1→S4を抽出する。
ステップ(S53)では、絶対に発生しない遷移の有無を判定する。その結果、絶対に発生しない遷移が無ければ終了し、有る場合はステップ(S54)に移行する。
ステップ(S54)では、絶対に発生しない遷移をレポートし、遷移先の状態が当該遷移なしで絶対に到達しないステートS3、S4を抽出する。
ステップ(S55)では、絶対に到達しない状態の有無を判定する。その結果、絶対に到達しない状態が無ければ終了し、有る場合はステップ(S56)に移行する。
ステップ(S56)では、絶対に到達しない状態のレポートをし、状態から遷移する全ての絶対に発生しないアークS3→S0、S4→S0を抽出する。
ステップ(S57)では、遷移の有無を判定する。その結果遷移が無ければ終了し、有る場合はステップ(S54)に戻る。
図6のFSMの遷移図を用い説明すると、図4のライン26に記述されたリセット(RST信号)により最初の状態がS0になる(ライン40にもデフォルトでS0が記述されている)。その後、S0の状態で入力i1がhighつまり1(ライン32)であればS1に遷移(図6のアークi1)をする。次にS0の状態でi1がLowでi2がhighつまり(〜i1&i2)がhigh(ライン33)であればS2に遷移(図6のアーク〜i1&i2)をする。そして上記条件以外であればS3に遷移(図6の点線アーク〜i1&〜i2)をする。
S1の状態ではi3がhigh(ライン35)のときS0に戻る遷移(図6のアークi3)をする。また〜i3つまりi3がlow(ライン36)のときS4に遷移(図6の点線アーク〜i3)をする。S2、S3、S4の状態からの戻りは、無条件(ライン37〜39)でS0に遷移(図6のアーク‘1’)をする。
上記のようにFSMが記述されたモジュールをインスタンスとする場合、下位モジュールの入力に定数または論理計算により定数となる変数が接続される場合がある。モジュール「sample1_fsm」内でFSM記述のみでカバレッジ総数を抽出するとステート(状態)数がS0、S1、S2、S3、S4の5つのステートと、アーク数がS0→S1、S0→S2、S0→S3、S1→S0、S1→S4、S2→S0、S3→S0、S4→S0の8つのアークであることが分かる。
次に、FSMの入力となる変数(i1、i2、i3)からトップモジュール「sample1」へのバックトレースにより論理抽出を行うとi2ピンに定数(1’b1)が、i3ピンには論理計算により定数となる変数(W)が接続されている。その結果、定数伝播を行うとアークS0→S3、S1→S4への遷移条件は絶対に発生せず、ステートS3、S4への遷移は当該アークのみであることからステートS3、S4は絶対に到達しない状態となり、ステートS3、S4からの遷移も絶対に発生しない。そのため、カバレッジ総数としてはステート数がS0、S1、S2の3ステート、アーク数がS0→S1、S0→S2、S1→S0、S2→S0の4アークとなる。
上記結果から図6で示した点線の矢印の遷移は発生しないため、図7のような結果となる。図7は約5000回のテストをした結果を示したものであり、図7(a)は図4の記述を従来のFSMステートカバレッジ測定した結果である。S3、S4の状態には、到達できないため60%(3/5)になっている。同図(b)は従来のFSMアークカバレッジ測定の結果は、発生しない遷移が4つあるため50%(4/8)になっている。
しかし、同図(c)(d)では、到達しない状態、発生しない遷移はカバレッジ測定以前に分母から削減されているため、ともに100%の結果を示している。
上記のように構成することで、例えばエラー記述(作為的な場合も含む)がソース21に記述されていた場合でも、自動でFSMのエラー記述部分を除いてカバレッジ測定をすることで検査時間を短縮できる。
(論理最適化のチェック)
次に、FSMが記述されたモジュールをインスタンスする場合、下位モジュールの入力へ接続する論理がFSM入力への論理に影響を与えて排他的に絶対にあり得ない論理となる場合がある。図8は「sample2」をトップモジュールとして下位モジュールに「sample2_ff」、「sample2_fsm」を配した構成のRTL記述(ソース21)である。
まず、モジュール「sample2_fsm」内のFSM記述のみでカバレッジ総数を抽出するとステート数がS0、S1、S2、S3、S4の5ステート、アーク数がS0→S1、S0→S2、S0→S3、S0→S4、S1→S0、S1→S1、S1→S2、S1→S4、S2→S0、S3→S0、S4→S0の11アークとなる。
FSM記述で入力となる変数C0、C1、C2、C3からバックトレースしてトップモジュール「sample2」外部入力ピンまたはFF出力に到達する範囲を論理抽出する。そして、FSMの入力論理への最適化を行うとステートS0では図9に示すように入力変数(i1、R、i3)において、(C1)が(1’b1)かつ(C2)が(1’b0)かつ(C3)が(1’b0)という遷移条件は絶対に発生しないという排他性がある。このことからアークS0→S3は絶対に発生せず、S3への遷移は当該アークのみであることからステートS3は絶対に到達しない状態となり、S3から遷移するアークも絶対に発生しない。そのため、カバレッジ総数としてはステート数がS0、S1、S2、S4の4ステート、アーク数がS0→S1、S0→S2、S0→S4、S1→S0、S1→S1、S1→S2、S1→S4、S2→S0、S4→S0の9アークとなる。
なお、同様な遷移条件であるS1では、図10に示すようにi2がFF(「sample2_ff」)前後となるため、排他的論理とはならずに全ての遷移が発生する。ライン59〜67に記述された条件を全て満足する。
上記処理について図11に示すフローで説明する。
ステップ(S111)では、モジュール「sample2_fsm」内でFSMの入力となる変数(C0、C1、C2、C3)ごとにトップモジュール外部入力(i1、i2、i3)またはFF出力(R)まで入力方向にバックトレースして論理抽出する。本例ではアークC0→i1&i2、C1→i1&R、C2→R&i3、C3→R&〜i3を抽出する。
ステップ(S112)では、論理抽出した部分を論理最適化した結果をFSMの遷移条件に適用され、C1&C2がhighの条件下ではC3は常にhighつまり1となる(ライン57が未発生)。絶対に発生しないアークS0→S3を抽出する。
ステップ(S113)では、絶対に発生しない遷移の有無を判定する。絶対に発生しない遷移が無い場合は終了し、有る場合はステップS114に移行する。
ステップ(S114)では、絶対に発生しない遷移をレポートし、遷移先の状態が当該遷移なしで絶対に到達しないステートS3を抽出する。
ステップ(S115)では、絶対に到達しない状態の有無を判定する。絶対に到達しない状態が無い場合は終了し、有る場合はステップS116に移行する。
ステップ(S116)では、絶対に到達しない状態レポートし、当該状態からの遷移すべてを絶対に発生しないアークS3→S0を抽出する。
ステップ(S117)では、遷移の有無を判定し、遷移が無い場合は終了し、有る場合はステップS114に戻る。
上記処理を図12のFSM遷移図で説明すると、ステートS0をデフォルトとしてステートS1〜S4への遷移が考えられる。つまり、図8のライン55に記述されたS1への遷移(図12のアークC1&C2)、図8のライン56に記述されたS2への遷移(図12のアークC1&〜C2&C3)、図8のライン57に記述されたS3への遷移(図12の点線アークC1&〜C2&〜C3)、図8のライン58に記述されたS4への遷移(図12のアーク〜C1)である。
S1からの遷移は、図8のライン59〜63に記述された、S1へのループする遷移(図12のアークC0&〜C2&C3)と、S0に戻る遷移(図12のアークC0&C2)と、S2への遷移(図12のアークC0&〜C2&〜C3)と、S4への遷移(図12のアーク〜C0)である。
S2、S3、S4からの遷移は、図8のライン64〜66に記述されているように無条件でS0に遷移(図12のアーク‘1’)する。
しかし、点線矢印で示したアークS0→S3には遷移しないためステートS3に到達することはない。よって、S3→S0に戻るアークも存在しないことになる。この戻らないことが自明な遷移についても抽出する。
図13にFSMカバレッジ測定結果を示す。図13(a)では従来のFSMカバレッジ測定の結果はS3に到達しないため80%(4/5)である。また図13(b)では2アークが上記説明したように2つあるため81%(9/11)になっている。図13(c)(d)では、論理最適化によりFSMカバレッジ測定をしているので、到達しない状態および絶対に発生しない遷移を削減しているので100%の結果となっている。
上記のように構成することで、例えばエラー記述(作為的な場合も含む)がソース21に記述されていた場合でも、自動でFSMのエラー記述部分を除いてカバレッジ測定をすることで検査時間を短縮できる。
(実施例2)
FSMの状態内において遷移先を決定する論理にFSMレジスタ変数、またはその派生変数が記述されて、かつFSMレジスタ変数・派生変数が状態分岐以外の遷移条件内や次状態として使用されている場合には、FSMカバレッジ100%達成が難しい。図14に示すRTL記述は、ライン28〜52のFSMに記述されたレジスタ変数(cur_stat,nxt_stat)からの派生として派生変数(state)が存在し、ステートS3において派生変数(state)との比較条件、ステートS5においてレジスタ変数(cur_stat)との比較条件、及び派生変数(state)への遷移先への代入が記述されている。
図15に上記の場合について抽出処理について説明する。
ステップ(S151)では、「sample3」モジュール内のFSMレジスタ変数(cur_stat,nxt_stat)を入力として使用している派生変数を抽出する。本例では(state)を抽出する(派生変数抽出機能)。
ステップ(S152)では、上記派生変数の有無を判断する。例えば、図14の記述または上述した設計情報を調べ派生変数が無い場合はステップ(S156)に移行し、有る場合はステップ(S153)に移行する。
ステップ(S153)では、派生変数が次状態の遷移先として使用されている状態を抽出する(第1状態抽出機能)。本例ではステートS5を抽出する。
ステップ(S154)では、使用箇所の有無を判定する。無い場合はステップ(S156)に進み、有る場合はステップ(S155)に進む。本例ではライン47に派生変数が記述され、ステートS5に遷移している。
ステップ(S155)では、使用箇所としてステートS5をレポートする。
ステップ(S156)では、FSMレジスタ変数または派生変数がFSMの遷移条件で使用されている状態を抽出する(第2状態抽出機能)。本例ではステートS3, S5を抽出する
ステップ(S157)では、使用箇所の有無を判定する。無い場合は終了し、有る場合はステップ(S158)に進む。本例ではライン41〜43、45〜49に記述されているステートS3、S5にFSMレジスタ変数と派生変数が使用されている。
ステップ(S158)では、使用箇所としてステートS3、S5をレポートする。
上記フローによるチェックの結果、FSMレジスタ、派生変数を遷移条件に使用した状態がステートS3、S5の2つとなり、派生変数を遷移先に使用した状態はS5である。
上記のように構成することで、RTL記述(ソース21)からFSMのレジスタ変数を遷移条件に使用したFSMと、FSMのレジスタを遷移論理使用した状態を抽出することができる。その結果に基づいて、ソース21を書き換えるように注意を促すことができる。
このようなハードウェア構成を有するコンピュータを1台または2台以上用いることによって、上記説明した各種処理機能が実現される。その場合システムが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行させることにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次受け取ったプログラムに従った処理を実行することもできる。
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。
(付記1)
言語記述された論理回路とテストベンチに基づいてFSMカバレッジ測定を行うのためのプログラムを記録した記録媒体であって、
前記言語記述および前記言語記述に基づき生成される設計情報からFSM構成を抽出する機能と、
前記FSMの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、モジュール入力に対する階層間のFSM入力論理を抽出する抽出機能と、
前記FSM入力論理で検出された排他性を有する論理とFSMの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する検出機能と、
を実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
(付記2)
前記検出機能は、前記FSM入力論理で検出された定数伝播の論理とFSMの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する定数伝播による検出をすることを特徴とする付記1に記載のコンピュータに実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
(付記3)
前記検出機能は、前記抽出機能とともに最適化を実行して、前記最適化されたFSM入力論理で検出された排他性を有する論理とFSMの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出することを特徴とする付記1に記載のコンピュータに実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
(付記4)
検出機能の出力を、前記絶対に到達しない状態数をFSMステートカバレッジの総数から削減し、前記絶対に発生しない遷移数をFSMアークカバレッジの総数から削減し、その後に前記カバレッジ測定を実行して網羅率を算出し、前記算出の結果を出力する出力機能を特徴とする付記1に記載のコンピュータで実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
(付記5)
言語記述された論理回路とテストベンチに基づいてFSMカバレッジ測定を行うのためのプログラムを記録した記録媒体であって、
前記言語記述および前記言語記述に基づき生成される設計情報からFSMの構成を抽出する抽出機能と、
前記FSMのFSMレジスタ変数を入力として使用している派生変数を抽出する派生変数抽出機能と、
前記派生変数が次状態の遷移先として使用されている状態を抽出する第1状態抽出機能と、
前記FSMレジスタ変数または前記派生変数がFSMの遷移条件として使用されている状態を抽出する第2状態抽出機能と、
をコンピュータで実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
(付記6)
前記第1抽出機能の演算結果を表示することを特徴とする付記5に記載のコンピュータに実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
(付記7)
前記第2抽出機能の演算結果を表示することを特徴とする付記5に記載のコンピュータに実行させるプログラムを記録したコンピュータで読み取り可態な記録媒体。
(付記8)
言語記述された論理回路とテストベンチに基づいてFSMカバレッジ測定を行う設計装置であって、
前記言語記述および前記言語記述に基づき生成される設計情報からFSM構成を抽出し、前記FSMの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、定数伝播と最適化をし、絶対に到達しない状態および絶対に発生しない遷移がないかをシミュレーション実行前チェックして前記チェック結果を出力するFSMチェック部と、
前記絶対に到達しない状態をFSMステートカバレッジの総数から削減するとともに、前記絶対に発生しない遷移をFSMアークカバレッジの総数から削減し、前記テストベンチに基づいて前記FSMカバレッジ測定を実行してFSMカバレッジ結果を出力するFSMカバレッジ測定部と、
を具備することを特徴とする設計装置。
(付記9)
付記8に記載の設計装置であって、
さらに、前記言語記述および前記言語記述に基づき生成される設計情報からFSMの構成を抽出する抽出部と、
前記FSMのFSMレジスタ変数を入力として使用している派生変数を抽出する派生変数抽出部と、
前記派生変数が次状態の遷移先として使用されている状態を抽出する第1状態抽出部と、
前記FSMレジスタ変数または前記派生変数がFSMの遷移条件として使用されている状態を抽出する第2状態抽出部と、
を具備することを特徴とする設計装置。
(付記10)
前記検出機能は、前記FSM入力論理で検出された定数伝播の論理とFSMの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する定数伝播による検出をすることを特徴とする付記8に記載の設計装置。
(付記11)
前記検出機能は、前記抽出機能とともに最適化を実行して、前記最適化されたFSM入力論理で検出された排他性を有する論理とFSMの遷移論理に基づいた演算結果により、絶対に到達しない状態および絶対に発生しない遷移がないかを検出することを特徴とする付記8に記載の設計装置。
(付記12)
検出機能の出力を、前記絶対に到達しない状態数をFSMステートカバレッジの総数から削減し、前記絶対に発生しない遷移数をFSMアークカバレッジの総数から削減し、その後に前記カバレッジ測定を実行して網羅率を算出し、前記算出の結果を出力する出力機能を特徴とする付記8に記載の設計装置。
(付記13)
前記第1抽出機能の演算結果を表示することを特徴とする付記9に記載の設計装置。
(付記14)
前記第2抽出機能の演算結果を表示することを特徴とする付記9に記載の設計装置。
本発明を実現させるためのシステム構成を示した図である。 本発明の原理を示すブロック図である。 本発明の処理内容のフローを示す図である。 定数伝播のチェック時のRTL記述例を示す図である。 図4に示したRTL記述に基づいて処理を実行した場合のフローを示した図である。 図4に示したRTL記述のFSMの遷移図である。 図4に示したRTL記述のFSMカバレッジ測定した結果である。(a)従来のFSMステートカバレッジ測定、(b)従来のFSMアークカバレッジ測定、(c)本発明のFSMステートカバレッジ測定、(d)本発明のFSMアークカバレッジ測定 論理最適化のチェック時のRTL記述例を示す図である。 図8に示したRTL記述のステートS0の遷移カバーを示す図である。 図8に示したRTL記述のステートS1の遷移カバーを示す図である。 図8に示したRTL記述に基づいて処理を実行した場合のフローを示した図である 図8に示したRTL記述のFSMの遷移図である。 図8に示したRTL記述のFSMカバレッジ測定した結果である。(a)従来のFSMステートカバレッジ測定、(b)従来のFSMアークカバレッジ測定、(c)本発明のFSMステートカバレッジ測定、(d)本発明のFSMアークカバレッジ測定 実施例2のRTL記述例を示す図である。 実施例2の処理を示すフロー図である。 FSMを示す図である。
符号の説明
10 設計装置
11 CPU
12 ROM
13 RAM
14 ハードディスクドライブ(HDD)
15 フレキシブルディスクドライブ(FDD)
15a FD
16 入力インタフェース(入力I/F)
16a 入力装置
17 通信インタフェース(通信I/F)
18 通信回線
19 出力インタフェース(出力I/F)
19a 出力装置
21 ソース
22 テストベンチ
23 FSMチェック部
24 FSMカバレッジ測定部
25 チェック結果
26 FSMカバレッジ結果
110 グラフィック処理部
110a 表示装置
111 バス

Claims (4)

  1. 言語記述された論理回路とテストベンチに基づいてFSMカバレッジ測定を実行させるプログラムであって、
    前記言語記述および前記言語記述に基づき生成される設計情報からFSM構成を抽出する機能と、
    前記FSMの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、モジュール入力に対する階層間のFSM入力論理を抽出する抽出機能と、
    前記FSM入力論理FSMの遷移論理に、定数伝播を用いて、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する機能と、前記FSM入力論理最適化た結果と、前記FSMの遷移論理を用いて、絶対に到達しない状態および絶対に発生しない遷移がないかを検出する機能と、を有する検出機能と、
    前記検出機能の出力である前記絶対に到達しない状態数をFSMステートカバレッジの総数から削減し、前記絶対に発生しない遷移数をFSMアークカバレッジの総数から削減し、その後に前記カバレッジ測定を実行して網羅率を算出し、前記算出の結果を出力する出力機能と、
    をコンピュータに実行させるプログラム。
  2. 前記FSMのFSMレジスタ変数を入力として使用している派生変数を抽出する派生変数抽出機能と、
    前記派生変数が次状態の遷移先として使用されている状態を抽出する第1状態抽出機能と、
    前記FSMレジスタ変数または前記派生変数がFSMの遷移条件として使用されている状態を抽出する第2状態抽出機能と、
    前記第1状態抽出機能と前記第2状態抽出機能の抽出結果を出力する前記出力機能を、
    コンピュータに実行させることを特徴とする請求項1に記載のプログラム。
  3. 言語記述された論理回路とテストベンチに基づいてFSMカバレッジ測定をする方法であって、
    コンピュータが、
    記録部に記録されている前記言語記述および前記言語記述に基づき生成される設計情報からFSM構成を抽出する処理と、
    前記FSMの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、モジュール入力に対する階層間の論理を抽出する処理と、
    抽出した前記論理とFSMの遷移条件に、定数伝播を用いて、前記絶対に到達しない状態および前記絶対に発生しない遷移がないかと、前記抽出した論理を最適化と前記FSMの遷移条件を用いて、前記絶対に到達しない状態および前記絶対に発生しない遷移がないかをチェックする処理と、
    前記チェックのひとつの結果である前記絶対に到達しない状態数をFSMステートカバレッジ総数から削減し、前記チェックの他の結果である前記絶対に発生しない遷移数をFSMアークカバレッジ総数から削減し、前記カバレッジ測定を実行する処理と、
    前記FSMのFSMレジスタ変数を入力として使用している派生変数を抽出して、前記派生変数が次状態の遷移先として使用されている第1の状態の抽出と、前記FSMレジスタ変数または前記派生変数がFSMの遷移条件として使用されている第2の状態の抽出をする処理と、
    前記カバレッジ測定の実行結果と、前記第1の状態と前記第2の状態の抽出結果を、出力装置または表示装置に出力する処理と、
    を実行することを特徴とするFSMカバレッジ測定方法。
  4. 言語記述された論理回路とテストベンチに基づいてFSMカバレッジ測定を行う設計装置であって、
    前記言語記述および前記言語記述に基づき生成される設計情報からFSM構成を抽出し、前記FSMの入力となる変数からバックトレースしてフリップフロップ出力またはトップモジュールの外部入力に到達するまでの範囲でモジュール階層間を展開し、モジュール入力に対する階層間のFSM入力論理を抽出し、
    前記FSM入力論理FSMの遷移論理に、定数伝播を用いて、絶対に到達しない状態および絶対に発生しない遷移がないかを検出して、前記FSM入力論理最適化た結果と、前記FSMの遷移論理を用いて、絶対に到達しない状態および絶対に発生しない遷移がないかを検出して、絶対に到達しない状態および絶対に発生しない遷移がないかをェックるFSMチェック部と、
    前記絶対に到達しない状態をFSMステートカバレッジの総数から削減、前記絶対に発生しない遷移をFSMアークカバレッジの総数から削減し、記FSMカバレッジ測定を実行してFSMカバレッジ測定の結果を求めるFSMカバレッジ測定部と、
    前記FSMのFSMレジスタ変数を入力として使用している派生変数を抽出する派生変数抽出部と、
    前記派生変数が次状態の遷移先として使用されている状態を抽出する第1状態抽出部と、
    前記FSMレジスタ変数または前記派生変数がFSMの遷移条件として使用されている状態を抽出する第2状態抽出部と、
    前記カバレッジ測定の結果と、前記第1状態抽出部と前記第2の状態の抽出結果を出力する出力部と、
    を具備することを特徴とする設計装置。
JP2005372906A 2005-12-26 2005-12-26 設計装置および設計方法とそのプログラム Expired - Fee Related JP4657912B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005372906A JP4657912B2 (ja) 2005-12-26 2005-12-26 設計装置および設計方法とそのプログラム
US11/394,322 US7512913B2 (en) 2005-12-26 2006-03-31 Designing apparatus, designing method, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005372906A JP4657912B2 (ja) 2005-12-26 2005-12-26 設計装置および設計方法とそのプログラム

Publications (2)

Publication Number Publication Date
JP2007172542A JP2007172542A (ja) 2007-07-05
JP4657912B2 true JP4657912B2 (ja) 2011-03-23

Family

ID=38195370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005372906A Expired - Fee Related JP4657912B2 (ja) 2005-12-26 2005-12-26 設計装置および設計方法とそのプログラム

Country Status (2)

Country Link
US (1) US7512913B2 (ja)
JP (1) JP4657912B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4528728B2 (ja) * 2006-01-31 2010-08-18 株式会社東芝 デジタル回路の自動設計装置、自動設計方法、および自動設計プログラム
JP4946651B2 (ja) * 2007-06-15 2012-06-06 富士通株式会社 仕様検証プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、仕様検証装置、および仕様検証方法
JP5163350B2 (ja) * 2008-05-19 2013-03-13 富士通株式会社 検証支援プログラム、検証支援装置および検証支援方法
JP2010009384A (ja) * 2008-06-27 2010-01-14 Fujitsu Ltd 検証支援プログラム、検証支援装置、および検証支援方法
US8943451B2 (en) * 2010-06-23 2015-01-27 Mentor Graphics Corporation Hierarchical finite state machine generation for power state behavior in an electronic design
FR2982684B1 (fr) * 2011-11-10 2014-01-10 Commissariat Energie Atomique Systeme et procede de conception de circuit numerique a capteur d'activite
US9619595B2 (en) * 2014-03-20 2017-04-11 Infineon Technologies Ag Generation of test stimuli
US20180107509A1 (en) * 2015-07-31 2018-04-19 Adrian Shaw Migration of computer systems
CN106407126B (zh) * 2016-11-30 2019-04-30 网易(杭州)网络有限公司 覆盖率数据的处理方法、装置和服务器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014365A (ja) * 1999-06-29 2001-01-19 Toshiba Corp 論理回路の検証カバレッジ評価方法
JP2004240753A (ja) * 2003-02-06 2004-08-26 Toshiba Corp 設計検証システム、設計検証方法及び設計検証プログラム
JP2004355130A (ja) * 2003-05-27 2004-12-16 Matsushita Electric Ind Co Ltd 集積回路装置の設計方法および設計装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01184579A (ja) * 1988-01-20 1989-07-24 Toshiba Corp 論理回路設計情報表示装置
JPH1185828A (ja) * 1997-09-11 1999-03-30 Toshiba Corp 順序回路機能検証方法および順序回路機能検証システム
US6182268B1 (en) * 1998-01-05 2001-01-30 Synplicity, Inc. Methods and apparatuses for automatic extraction of finite state machines
US6389586B1 (en) * 1998-01-05 2002-05-14 Synplicity, Inc. Method and apparatus for invalid state detection
JP4679041B2 (ja) 2003-06-20 2011-04-27 株式会社東芝 高周波増幅装置
US7007251B2 (en) * 2003-11-12 2006-02-28 International Business Machines Corporation Database mining system and method for coverage analysis of functional verification of integrated circuit designs
JP4271067B2 (ja) 2004-03-29 2009-06-03 富士通マイクロエレクトロニクス株式会社 非同期回路検証方法および非同期回路検証プログラム
JP4391300B2 (ja) 2004-04-19 2009-12-24 富士通マイクロエレクトロニクス株式会社 レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体
JP2005316595A (ja) 2004-04-27 2005-11-10 Fujitsu Ltd 回路記述間の等価性検証方法および回路記述間の等価性検証プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014365A (ja) * 1999-06-29 2001-01-19 Toshiba Corp 論理回路の検証カバレッジ評価方法
JP2004240753A (ja) * 2003-02-06 2004-08-26 Toshiba Corp 設計検証システム、設計検証方法及び設計検証プログラム
JP2004355130A (ja) * 2003-05-27 2004-12-16 Matsushita Electric Ind Co Ltd 集積回路装置の設計方法および設計装置

Also Published As

Publication number Publication date
US7512913B2 (en) 2009-03-31
US20070150845A1 (en) 2007-06-28
JP2007172542A (ja) 2007-07-05

Similar Documents

Publication Publication Date Title
JP4657912B2 (ja) 設計装置および設計方法とそのプログラム
JP4148527B2 (ja) 機能テスト・スクリプト生成装置
US7676777B2 (en) Method and apparatus for supporting verification, and computer product
US20070168741A1 (en) Method, system and program product for facilitating debugging of simulation results obtained for an optimized simulation model of a device design having hierarchically-connected components
JP2006185211A (ja) プログラム解析装置、テスト実行装置、その解析方法及びプログラム
US20090319246A1 (en) Detection program, detecting device, and detecting method
US5796990A (en) Hierarchical fault modeling system and method
US6964027B2 (en) System and method for optimizing exceptions
US8312400B2 (en) Verification supporting system
JP2000207440A (ja) 半導体集積回路の設計検証装置、方法及び記憶媒体
US10380313B1 (en) Implementation and evaluation of designs for heterogeneous computing platforms with hardware acceleration
US20120290282A1 (en) Reachability analysis by logical circuit simulation for providing output sets containing symbolic values
JP5018781B2 (ja) 信号選択装置、回路修正装置、回路シミュレータ、回路エミュレータ、信号選択方法およびプログラム
US8458110B2 (en) Verification support apparatus, verification support method, and computer product
JP5067317B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
US8015523B2 (en) Method and system for sequential netlist reduction through trace-containment
US8015519B2 (en) Verification supporting apparatus, verification supporting method, and computer product
US10816600B1 (en) Protocol analysis and visualization during simulation
JP5321286B2 (ja) プログラムモデル検査方法、プログラムモデル検査プログラム
JP5348065B2 (ja) 検証支援プログラム、検証支援装置および検証支援方法
US11782682B2 (en) Providing metric data for patterns usable in a modeling environment
US11586791B1 (en) Visualization of data buses in circuit designs
JP4983642B2 (ja) 設計検証プログラム、設計検証方法および設計検証装置
JP4825357B2 (ja) シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体
JP6201382B2 (ja) 論理検証装置及び論理検証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080416

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101122

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: 20101221

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: 20101222

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees