JP4946588B2 - 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法 - Google Patents

検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法 Download PDF

Info

Publication number
JP4946588B2
JP4946588B2 JP2007108429A JP2007108429A JP4946588B2 JP 4946588 B2 JP4946588 B2 JP 4946588B2 JP 2007108429 A JP2007108429 A JP 2007108429A JP 2007108429 A JP2007108429 A JP 2007108429A JP 4946588 B2 JP4946588 B2 JP 4946588B2
Authority
JP
Japan
Prior art keywords
verification
functional block
input terminal
input
exception
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
JP2007108429A
Other languages
English (en)
Other versions
JP2008269082A (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 Ltd
Original Assignee
Fujitsu 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 Ltd filed Critical Fujitsu Ltd
Priority to JP2007108429A priority Critical patent/JP4946588B2/ja
Priority to US12/081,417 priority patent/US7895553B2/en
Publication of JP2008269082A publication Critical patent/JP2008269082A/ja
Application granted granted Critical
Publication of JP4946588B2 publication Critical patent/JP4946588B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

この発明は、検証対象回路の論理検証を支援する検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法に関する。
LSI設計では、LSIが正常に動作するか否かを検証する論理検証作業によって動作確認をおこなうことが必要不可欠である。特に、大規模化、高機能化、高速化および低消費電力化が要求されているLSIについては、高品質を維持するためにもこの論理検証作業は重要である一方、従来から設計期間の短縮による作業効率化が要求されている。
一般に、LSIを論理検証するテスト系列には、正常系の動作確認をおこなうテストと、異常系の動作確認をおこなうテストとがある。正常系のテストは、LSIの機能を実現する正常シナリオを用いてLSIの基本動作を確認するテストである。また、異常系のテストは、LSIの例外処理を実現する例外シナリオを用いてLSIの例外動作を確認するテストである。
近年、LSIの論理検証作業の効率化を図る様々な技術が開示されている。たとえば、検証対象回路に関するビヘイビアレベルの仕様記述と、その仕様記述に対応したRTLレベルの記述とから、仕様記述とRTLレベルとの対応をとり、仕様記述を検証するためのテスト系列データをもとに、RTLレベルのテスト系列データを生成する技術が開示されている(たとえば、下記特許文献1参照。)。
これによれば、仕様変更の生じたRTLのテスト系列と期待値系列とを自動生成するため、人手で作成していたテスト系列の作成時間を削減することができる。
特開平7−254008号公報
しかしながら、上述した特許文献1の従来技術では、LSIの異常系の動作確認をおこなうテストについては何ら検討されていない。通常、LSIの論理検証では、正常系の動作確認をおこなうテストに比べて、異常系の動作確認をおこなうテストにおけるバグの発生率が高くなっている。
なぜなら、正常系の動作確認をおこなうテストは、LSIの基本動作の確認のため、バグの発生が少ないからである。一方、異常系の動作確認をおこなうテストは、検証対象とするユニット、ポートおよびその組み合わせの数が膨大となるため、どの程度までの動作確認をおこなえばよいのか判断が難しく、予期しないバグが発生しやすい。
このため、異常系の動作を確認する例外シナリオ検証を検証者の試行錯誤によっておこなうこととなり、結果的に論理検証の手戻りが生じてしまい、検証者の負担が増大するとともに、検証作業の長期化を招くという問題があった。
この発明は、上述した従来技術による問題点を解消するため、膨大な数の例外シナリオを効率的に絞り込んで効果的な論理検証をおこなうことにより、検証者の負担軽減および検証期間の短縮化を図ることができる検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法は、検証対象回路の実装記述情報の入力を受け付け、その実装記述情報に基づいて、前記検証対象回路内の機能ブロックのうち前記検証対象回路の外部から入力信号を取り込む入力端子(以下「外部入力端子」という)を有する機能ブロックを検出し、その検出結果に基づいて、前記検証対象回路の機能を実現する動作とは異なる異常系の動作を検証する機能ブロックを決定することを特徴とする。
また、上記発明において、前記実装記述情報を参照することにより、前記検証対象回路の中から任意の機能ブロックを抽出し、その任意の機能ブロックの中から前記外部入力端子を検出し、前記外部入力端子が検出された場合、前記任意の機能ブロックを前記異常系の動作を検証する機能ブロックに決定することとしてもよい。
これらの発明によれば、異常系の動作を確認する例外シナリオ検証でバグが発生しやすい機能ブロックを自動的に特定することができる。
また、上記発明において、前記検証対象回路内の各機能ブロックの異常系の動作を検証する例外シナリオ情報の集合の中から、異常系の動作を検証する機能ブロックに決定された機能ブロックに応じた例外シナリオ情報を抽出し、その例外シナリオ情報を出力することとしてもよい。
この発明によれば、例外シナリオ情報の集合の中から例外シナリオ検証を実行すべき機能ブロックに応じた例外シナリオ情報を自動的に抽出することができる。
また、上記発明において、前記例外シナリオ情報の集合の中から異常系の動作を検証する機能ブロックに決定された機能ブロックが有する外部入力端子に応じた例外シナリオ情報を抽出することとしてもよい。
この発明によれば、例外シナリオ情報の集合の中から例外シナリオ検証を実行すべき機能ブロックが有する外部入力端子に応じた例外シナリオ情報を自動的に抽出することができる。
本発明にかかる検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法によれば、膨大な数の例外シナリオを効率的に絞り込んで効果的な論理検証をおこなうことにより、検証者の負担軽減および検証期間の短縮化を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法の好適な実施の形態を詳細に説明する。
(検証支援装置のハードウェア構成)
まず、この発明の実施の形態にかかる検証支援装置100のハードウェア構成について説明する。図1は、この発明の実施の形態にかかる検証支援装置100のハードウェア構成を示す説明図である。図1において、検証支援装置100は、コンピュータ本体110と、入力装置120と、出力装置130と、から構成されており、不図示のルータやモデムを介してLAN、WANやインターネットなどのネットワーク140に接続可能である。
コンピュータ本体110は、CPU、メモリ、インタフェースを有する。CPUは、検証支援装置100のハードウェア構成の全体の制御を司る。メモリは、ROM、RAM、HD、光ディスク111、フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。
また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク111はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク111およびフラッシュメモリはコンピュータ本体110に対し着脱自在である。インタフェースは、入力装置120からの入力、出力装置130への出力、ネットワーク140に対する送受信の制御をおこなう。
また、入力装置120としては、キーボード121、マウス122、スキャナ123などがある。キーボード121は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス122は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ123は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体110内のメモリに格納される。なお、スキャナ123にOCR機能を持たせてもよい。
また、出力装置130としては、ディスプレイ131、スピーカ132、プリンタ133などがある。ディスプレイ131は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ132は、効果音や読み上げ音などの音声を出力する。また、プリンタ133は、画像データや文書データを印刷する。
(検証対象回路の一例)
つぎに、検証対象回路の一例について説明する。図2は、検証対象回路200の一例を示す説明図である。検証対象回路200は、複数のインターフェースレジスタからなるレジスタ群201,202と、機能ブロックA,BおよびCからなる内部論理203とを備えるディジタル回路である。
レジスタ群201には、正常シナリオに応じた値がセットされる。また、レジスタ群202には、正常シナリオが実行されたときの機能ブロックA,BおよびCの動作により、値が書き込まれたり、保持された値が読み出されたりする。
(例外シナリオ情報DB300の記憶内容)
つぎに、例外シナリオ情報DB300について説明する。図3は、例外シナリオ情報DB300の記憶内容を示す説明図である。図3において、例外シナリオ情報DB300は、検証対象となる機能ブロックA〜Cに応じた例外シナリオ情報300−1〜300−7を格納している。
具体的には、例外シナリオ情報300−1〜300−7は、各機能ブロックA〜Cと各機能ブロックA〜Cが有する各入力端子1〜5との組み合わせごとに、異常系の動作を検証する例外シナリオを有している。たとえば、例外シナリオ情報300−1は、機能ブロックAと機能ブロックAが有する入力端子1との組み合わせに応じた例外シナリオ「機能ブロックA例外シナリオ1」を有している。
また、例外シナリオ情報300−2は、機能ブロックBと機能ブロックBが有する入力端子2との組み合わせに応じた例外シナリオ「機能ブロックB例外シナリオ1」を有している。また、例外シナリオ情報300−3は、機能ブロックCと機能ブロックCが有する入力端子3との組み合わせに応じた例外シナリオ「機能ブロックC例外シナリオ1」を有している。
(検証支援装置100の機能的構成)
つぎに、この発明の実施の形態にかかる検証支援装置100の機能的構成について説明する。図4は、この発明の実施の形態にかかる検証支援装置100の機能的構成を示すブロック図である。図4において、検証支援装置100は、例外シナリオ情報DB300と、入力部401と、検出部402と、決定部403と、抽出部404と、シナリオ抽出部405と、出力部406と、から構成されている。
これら各機能401〜406は、メモリに格納された当該機能に関するプログラムをCPUに実行させることにより、当該機能を実現することができる。また、各機能401〜406からの出力データはメモリに保持される。また、図4中矢印で示した接続先の機能的構成は、接続元の機能からの出力データをメモリから読み込んで、当該機能に関するプログラムをCPUに実行させる。
一般に、検証対象回路200の異常系の動作を確認する例外シナリオ検証に用いる例外シナリオは、検証対象とする機能ブロック、入力端子、およびその組み合わせの数が膨大(たとえば、100万個程度)となるため、例外シナリオを効率的に絞り込むことが難しい。そこで、本実施の形態にかかる検証支援装置100は、膨大な数の例外シナリオを効率的に絞り込むことにより、効果的な論理検証を実現する。
まず、入力部401は、検証対象回路200の実装記述情報Dの入力を受け付ける機能を有する。実装記述情報Dとは、検証対象回路200のRTLのHDL記述情報や、その論理合成結果であるネットリストが含まれる。たとえば、図1に示したキーボード121やマウス122などの入力装置120をユーザが操作することで実装記述情報Dを入力する。入力部401によって入力された実装記述情報Dはメモリに保持される。
検出部402は、入力部401によって入力された実装記述情報Dに基づいて、検証対象回路200内の機能ブロックA〜Cのうち検証対象回路200の外部から入力信号を取り込む入力端子(以下「外部入力端子」という)を有する機能ブロックを検出する機能を有する。
具体的には、入力部401によって入力された実装記述情報Dをメモリから読み出して、その実装記述情報Dを読み込むことにより、検証対象回路200内の各機能ブロックA〜Cの接続状況を判断し、外部入力端子を有する機能ブロックを検出してメモリに保持する。
より具体的には、抽出部404は、メモリから読み出した実装記述情報Dを参照することにより、検証対象回路200の中から任意の機能ブロックを抽出する。そして、検出部402は、抽出部404によって抽出された任意の機能ブロックの中から外部入力端子を検出する。たとえば、実装記述情報Dにおける任意の機能ブロックA〜Cに関する記述内容を読み込むことにより、外部入力端子をあらわす記述を検出する。
ここで、検証対象回路200内の各機能ブロックA〜Cの接続状況について説明する。図5は、検証対象回路200内の各機能ブロックA〜Cの接続状況を示す説明図である。図5において、検証対象回路200内の機能ブロックAは入力端子1を、機能ブロックBは入力端子2を、機能ブロックCは入力端子3,4および5を有している。
これら入力端子1〜5のうち入力端子1および入力端子3は、検証対象回路200の外部から入力信号を取り込む外部入力端子である。また、入力端子2、入力端子4および入力端子5は、検証対象回路200内部の機能ブロックから入力信号を取り込む内部入力端子である。
たとえば、機能ブロックCの入力端子3〜5を例に挙げると、入力端子3は検証対象回路200の外部から入力信号を取り込む外部入力端子であり、入力端子4は機能ブロックAから入力信号を取り込む内部入力端子であり、入力端子5は機能ブロックBから入力信号を取り込む内部入力端子である。
図5において、検出部402は、外部入力端子である入力端子1を有する機能ブロックAと、外部入力端子である入力端子3を有する機能ブロックCとを検出することとなる。より具体的には、抽出部404により、機能ブロックA〜Cを順に抽出して、検出部402により、その機能ブロックA〜Cの中から外部入力端子を検出する。
図4の説明に戻り、決定部403は、検出部402によって検出された検出結果に基づいて、検証対象回路200の機能を実現する動作とは異なる異常系の動作を検証する機能ブロックを決定する機能を有する。異常系の動作とは、たとえば、誤った入力信号が機能ブロックに入力された場合に、その機能ブロックが実行する例外処理(例外動作)である。
この異常系の動作の検証は、検証対象回路200の例外動作を実現する例外シナリオを用いておこなう。一方で、検証対象回路200の機能を実現する正常系の動作の検証は、検証対象回路200の機能を実現する正常シナリオを用いておこなう。この例外シナリオ情報は、図3に示した例外シナリオ情報DB300に格納されている。
具体的には、たとえば、決定部403は、検出部402によって検出された検出結果をメモリから読み出して、その検出結果から外部入力端子を有する機能ブロックを特定することにより、異常系の動作を検証する機能ブロックを決定し、その決定結果をメモリに保持する。
より具体的には、決定部403は、抽出部404によって抽出された任意の機能ブロックの中から外部入力端子が検出された場合、その任意の機能ブロックを異常系の動作を検証する機能ブロックに決定する。図5において、決定部403は、外部入力端子を有する機能ブロックAおよび機能ブロックCを異常系の動作を検証する機能ブロックに決定することとなる。
なお、例外シナリオ検証に用いる例外シナリオの内容(例外動作)は、たとえば、検証者によって予め任意に設定されている。しかし、上述したように、検証対象回路200に適用する例外シナリオは膨大な数(図3に示す例では7個)となってしまうため、検証優先度に応じて例外シナリオを効率的に絞り込む必要がある。
ここでは、検証対象回路200内の機能ブロックA〜Cのうち外部からの入力信号を取り込む外部入力端子を有する機能ブロックについての検証優先度を高く設定し、それらの機能ブロックについてのみ例外シナリオ検証をおこなう。なぜなら、外部入力端子に比べて内部入力端子に誤った入力信号が入力される可能性が低いからである。
たとえば、図2に示した機能ブロックAが有する入力端子1に誤った入力信号が入力されなければ、機能ブロックBが有する入力端子2に誤った入力信号が入力される可能性は低い。このため、例外シナリオ検証を実行する箇所を、最もバグの発生可能性が高い外部入力端子を有する機能ブロックに絞り込むことで無駄な例外シナリオ検証を低減させる。
なお、本実施の形態にかかる検証支援手法によって検証対象回路200の論理検証をおこなう場合、検証対象回路200の機能が正常に実現されることが前提となる。このため、検証対象回路200の正常系の動作を検証する正常シナリオ検証を予め実行し、検証対象回路200の機能が正常に実現されることを確認したあとに、例外シナリオ検証を実行することが望ましい。
ここで、決定部403によって決定された決定結果について説明する。図6は、決定結果の一例を示す説明図である。図6において、決定結果600は、検証対象回路200内の機能ブロックA〜Cごとに、異常系の動作を検証する例外シナリオ検証の要否が示されている。
具体的には、検証対象回路200内の各機能ブロックA〜Cと各機能ブロックA〜Cが有する入力端子との組み合わせごとに、異常系の動作を検証する例外シナリオ検証の要否が示されている。機能ブロックAについて、例外シナリオ検証の必要あり、また、その組み合わせは機能ブロックAと入力端子1(外部入力端子)との組み合わせである。
機能ブロックBについて、外部入力端子を有していないため、例外シナリオ検証は不要となっている。機能ブロックCについて、例外シナリオ検証の必要あり、また、その組み合わせは機能ブロックCと入力端子3(外部入力端子)との組み合わせである。
この決定結果600は、後述する出力部406によって出力することとしてもよい。検証者は、この決定結果600の内容を確認することにより、検証対象回路200内の機能ブロックA〜Cのうち、例外シナリオ検証の必要がある機能ブロックと入力端子との組み合わせを判断することができる。
シナリオ抽出部405は、検証対象回路200内の各機能ブロックA〜Cの異常系の動作を検証する例外シナリオ情報の集合の中から、決定部403によって決定された機能ブロックに応じた例外シナリオ情報Sを抽出する機能を有する。この例外シナリオ情報の集合は、たとえば、図3に示したシナリオ情報DB300に相当する。
具体的には、たとえば、シナリオ抽出部405は、決定結果600をメモリから読み出して、その決定結果600を参照することにより、決定部403によって決定された機能ブロックAに応じた例外シナリオ情報300−1および機能ブロックCに応じた例外シナリオ情報300−3〜300−7をシナリオ情報DB300の中から抽出してメモリに保持する。
このように、例外シナリオ検証を実行する箇所をバグの発生可能性が高い外部入力端子を有する機能ブロックに限定することにより、検証対象回路200に関する例外シナリオを図3に示した7個から5個(例外シナリオ情報300−3〜300−7)に絞り込むことができる。
また、シナリオ抽出部405は、例外シナリオ情報の集合の中から決定部403によって決定された機能ブロックが有する外部入力端子に応じた例外シナリオ情報Sを抽出する機能を有する。具体的には、たとえば、シナリオ抽出部405は、決定結果600をメモリから読み出して、例外シナリオ検証が必要な機能ブロックと入力端子との組み合わせを参照することにより、例外シナリオ情報300−1,300−3および300−5をシナリオ情報DB300の中から抽出してメモリに保持する。
このように、外部入力端子を有する機能ブロックに限定するだけでなく、さらに、その外部入力端子に限定することにより、検証対象回路200に関する例外シナリオを5個(例外シナリオ情報300−3〜300−7)から3個(例外シナリオ情報300−1,300−3および300−5)に絞り込むことができる。
なお、本実施の形態では、例外シナリオ情報300−1〜300−7は、例外シナリオ情報DB300に予め格納されていることとしたが、検証支援装置100に直接入力することとしてもよく、また、ネットワーク140を介して外部のコンピュータ装置から取得することとしてもよい。具体的には、たとえば、検証対象回路200の動作仕様を記述したユースケースシナリオを検証支援装置100に入力することにより、そのユースケースシナリオに定義されている例外シナリオ情報を取得する。
出力部406は、シナリオ抽出部405によって抽出された例外シナリオ情報Sを出力する機能を有する。具体的には、出力部406は、シナリオ抽出部405によって抽出された例外シナリオ情報Sをメモリから読み出して、その例外シナリオ情報Sを出力する。
出力部406による出力形式は、ディスプレイ131での画面表示、プリンタ133での印刷出力、メモリへのデータ出力(保存)、外部のコンピュータ装置への送信のいずれであってもよい。ここで、出力部406によって出力される例外シナリオ情報Sについて説明する。
図7は、例外シナリオ情報Sの一例を示す説明図である。図7において、例外シナリオ情報Sは、検証対象回路200における異常系の動作を検証する検証対象ごとに、その例外シナリオ検証に用いる例外シナリオを有している。具体的には、機能ブロックAの例外シナリオ「機能ブロックA例外シナリオ1」と、機能ブロックCの例外シナリオ「機能ブロックC例外シナリオ1」と、機能ブロックCの例外シナリオ「機能ブロックC例外シナリオ2」と、を有している。
この例外シナリオ情報Sを用いて検証対象回路200の例外シナリオ検証をおこなうことにより、実行すべき例外シナリオを漏らすことなく無駄な例外シナリオを削除して、例外シナリオの数を効率的に絞りこむことができるため、効果的な論理検証をおこなうことができる。
また、本実施の形態では、外部入力端子を有する機能ブロックを異常系の動作を確認する検証対象として決定したが、さらに、汎用的なサブセットを異常系の動作を確認する検証対象として決定することとしてもよい。図8は、サブセットの一例を示す説明図である。
図8において、サブセット800は、DUT810(Device Under Test)とVRAM820(Video Random Access Memory)とがバス830を介して接続されている。
ここで、サブセット800の正常系の動作を検証する正常シナリオは、HReady(信号名)の信号が「HReady=1」となると、DUT810からVRAM820にアクセス可能となり、VRAM820に対してデータをリード/ライト可能とする。
また、異常系の動作を検証する例外シナリオは、DUT810からのアクセス先が複数存在する場合には、意図しない動作を想定して、「HReady=0」となると、DUT810からVRAM820にアクセス不能にする必要がある。
しかし、このサブセット800ではDUT810からのアクセス先がVRAM820しか存在しないため、「HReady=0」となっても、DUT810からVRAM820にアクセス可能とし、VRAM820に対してデータをリード/ライト可能とする例外シナリオを用意する。すなわち、本実施の形態における外部入力端子を有する機能ブロックと同様にサブセット800のように様々な仕様で利用可能なサブセット(機能ブロック)を異常系の動作を確認する検証対象として決定する。
これにより、検証対象回路内にサブセット800のような汎用的な機能ブロックが含まれる場合であっても、必要となる例外シナリオを漏らすことなく膨大な数の例外シナリオを効率的に絞り込むことができ、効果的な論理検証をおこなうことができる。
(検証支援装置100の検証支援処理手順)
つぎに、この発明の実施の形態にかかる検証支援装置100の検証支援処理手順について説明する。図9は、この発明の実施の形態にかかる検証支援装置100の検証支援処理手順を示すフローチャートである。
図9のフローチャートにおいて、まず、入力部401により、検証対象回路200の実装記述情報Dの入力を受け付けたか否かを判断する(ステップS901)。ここで、実装記述情報Dが入力されるのを待って(ステップS901:No)、入力された場合(ステップS901:Yes)、この実装記述情報Dに基づいて、検証対象回路200内の機能ブロックA〜Cのうち検証対象回路200の外部から入力信号を取り込む外部入力端子を有する機能ブロックを検出する検出処理を実行する(ステップS902)。
このあと、決定部403により、ステップS902において検出された検出結果に基づいて、検証対象回路200の機能を実現する動作とは異なる異常系の動作を検証する機能ブロックを決定する(ステップS903)。つぎに、シナリオ抽出部405により、例外シナリオ情報DB300の中から、ステップS903において決定された機能ブロックに応じた例外シナリオ情報を抽出する(ステップS904)。
最後に、出力部406により、その例外シナリオ情報を出力して(ステップS905)、本フローチャートによる一連の処理を終了する。また、ステップS904において、シナリオ抽出部405により、シナリオ情報DB300の中からステップS903において決定された機能ブロックが有する外部入力端子に応じた例外シナリオ情報を抽出することとしてもよい。
つぎに、図9に示したステップS902における検出処理の処理手順について説明する。図10は、検出処理の処理手順を示すフローチャートである。図10のフローチャートにおいて、まず、抽出部404により、ステップS901において入力された実装記述情報Dを参照することによって、検証対象回路200の中から任意の機能ブロックを抽出する(ステップS1001)。
このあと、検出部402により、ステップS1001において抽出された任意の機能ブロックの中から外部入力端子を検出する(ステップS1002)。つぎに、検証対象回路200内のすべての機能ブロックA〜Cを抽出したか否かを判断し(ステップS1003)、抽出していない場合(ステップS1003:No)、ステップS1001に戻る。また、すべての機能ブロックA〜Cを抽出した場合(ステップS1003:Yes)、図9に示したステップS903に移行する。
このように、本実施の形態によれば、検証対象回路200の異常系の動作を確認する例外シナリオ検証でバグが発生しやすい機能ブロックAおよびCを自動的に特定することができる。これにより、例外シナリオ検証に用いる例外シナリオをバグが発生しやすい機能ブロックAおよびCに応じた例外シナリオに限定することができ、必要となる例外シナリオを効率的に絞り込むことができる。
さらに、機能ブロックAおよびCが有する外部入力端子に応じた例外シナリオに限定することにより、必要となる例外シナリオをより効率的に絞りこむことができる。また、絞り込まれた例外シナリオを用いて検証対象回路200の例外シナリオ検証を実行することにより、効果的な論理検証をおこなうことができる。
以上説明したように、検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法によれば、膨大な数の例外シナリオを効率的に絞り込んで効果的な論理検証をおこなうことにより、検証者の負担軽減および検証期間の短縮化を図ることができる。
なお、本実施の形態で説明した検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
また、上述した検証支援装置100は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した検証支援装置100の機能的構成401〜406をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、検証支援装置100を製造することができる。
(付記1)検証対象回路の実装記述情報の入力を受け付けさせる入力工程と、
前記入力工程によって入力された実装記述情報に基づいて、前記検証対象回路内の機能ブロックのうち前記検証対象回路の外部から入力信号を取り込む入力端子(以下「外部入力端子」という)を有する機能ブロックを検出させる検出工程と、
前記検出工程によって検出された検出結果に基づいて、前記検証対象回路の機能を実現する動作とは異なる異常系の動作を検証する機能ブロックを決定させる決定工程と、
をコンピュータに実行させることを特徴とする検証支援プログラム。
(付記2)前記実装記述情報を参照することにより、前記検証対象回路の中から任意の機能ブロックを抽出させる抽出工程を前記コンピュータに実行させ、
前記検出工程は、
前記抽出工程によって抽出された任意の機能ブロックの中から前記外部入力端子を検出させ、
前記決定工程は、
前記検出工程によって前記外部入力端子が検出された場合、前記任意の機能ブロックを前記異常系の動作を検証する機能ブロックに決定させることを特徴とする付記1に記載の検証支援プログラム。
(付記3)前記検証対象回路内の各機能ブロックの異常系の動作を検証する例外シナリオ情報の集合の中から、前記決定工程によって決定された機能ブロックに応じた例外シナリオ情報を抽出させるシナリオ抽出工程と、
前記シナリオ抽出工程によって抽出された例外シナリオ情報を出力させる出力工程と、
を前記コンピュータに実行させることを特徴とする付記1または2に記載の検証支援プログラム。
(付記4)前記シナリオ抽出工程は、
前記例外シナリオ情報の集合の中から前記決定工程によって決定された機能ブロックが有する外部入力端子に応じた例外シナリオ情報を抽出させることを特徴とする付記3に記載の検証支援プログラム。
(付記5)付記1〜4のいずれか一つに記載の検証支援プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
(付記6)検証対象回路の実装記述情報の入力を受け付ける入力手段と、
前記入力手段によって入力された実装記述情報に基づいて、前記検証対象回路内の機能ブロックのうち前記検証対象回路の外部から入力信号を取り込む入力端子(以下「外部入力端子」という)を有する機能ブロックを検出する検出手段と、
前記検出手段によって検出された検出結果に基づいて、前記検証対象回路の機能を実現する動作とは異なる異常系の動作を検証する機能ブロックを決定する決定手段と、
を備えることを特徴とする検証支援装置。
(付記7)前記実装記述情報を参照することにより、前記検証対象回路の中から任意の機能ブロックを抽出する抽出手段を備え、
前記検出手段は、
前記抽出手段によって抽出された任意の機能ブロックの中から前記外部入力端子を検出し、
前記決定手段は、
前記検出手段によって前記外部入力端子が検出された場合、前記任意の機能ブロックを前記異常系の動作を検証する機能ブロックに決定することを特徴とする付記6に記載の検証支援装置。
(付記8)前記検証対象回路内の各機能ブロックの異常系の動作を検証する例外シナリオ情報の集合の中から、前記決定手段によって決定された機能ブロックに応じた例外シナリオ情報を抽出するシナリオ抽出手段と、
前記シナリオ抽出手段によって抽出された例外シナリオ情報を出力する出力手段と、
を備えることを特徴とする付記6または7に記載の検証支援装置。
(付記9)前記シナリオ抽出手段は、
前記例外シナリオ情報の集合の中から前記決定手段によって決定された機能ブロックが有する外部入力端子に応じた例外シナリオ情報を抽出することを特徴とする付記8に記載の検証支援装置。
(付記10)検証対象回路の実装記述情報の入力を受け付ける入力工程と、
前記入力工程によって入力された実装記述情報に基づいて、前記検証対象回路内の機能ブロックのうち前記検証対象回路の外部から入力信号を取り込む入力端子(以下「外部入力端子」という)を有する機能ブロックを検出する検出工程と、
前記検出工程によって検出された検出結果に基づいて、前記検証対象回路の機能を実現する動作とは異なる異常系の動作を検証する機能ブロックを決定する決定工程と、
を含んだことを特徴とする検証支援方法。
(付記11)前記実装記述情報を参照することにより、前記検証対象回路の中から任意の機能ブロックを抽出する抽出工程を含み、
前記検出工程は、
前記抽出工程によって抽出された任意の機能ブロックの中から前記外部入力端子を検出し、
前記決定工程は、
前記検出工程によって前記外部入力端子が検出された場合、前記任意の機能ブロックを前記異常系の動作を検証する機能ブロックに決定することを特徴とする付記10に記載の検証支援方法。
(付記12)前記検証対象回路内の各機能ブロックの異常系の動作を検証する例外シナリオ情報の集合の中から、前記決定工程によって決定された機能ブロックに応じた例外シナリオ情報を抽出するシナリオ抽出工程と、
前記シナリオ抽出工程によって抽出された例外シナリオ情報を出力する出力工程と、
を含んだことを特徴とする付記10または11に記載の検証支援方法。
(付記13)前記シナリオ抽出工程は、
前記例外シナリオ情報の集合の中から前記決定工程によって決定された機能ブロックが有する外部入力端子に応じた例外シナリオ情報を抽出することを特徴とする付記12に記載の検証支援方法。
以上のように、本発明にかかる検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法は、LSIの異常系の動作を確認する例外シナリオ検証に有用である。
この発明の実施の形態にかかる検証支援装置のハードウェア構成を示す説明図である。 検証対象回路の一例を示す説明図である。 例外シナリオ情報DBの記憶内容を示す説明図である。 この発明の実施の形態にかかる検証支援装置の機能的構成を示すブロック図である。 検証対象回路内の各機能ブロックの接続状況を示す説明図である。 決定結果の一例を示す説明図である。 例外シナリオ情報の一例を示す説明図である。 サブセットの一例を示す説明図である。 この発明の実施の形態にかかる検証支援装置の検証支援処理手順を示すフローチャートである。 検出処理の処理手順を示すフローチャートである。
符号の説明
100 検証支援装置
200 検証対象回路
300 例外シナリオ情報DB
401 入力部
402 検出部
403 決定部
404 抽出部
405 シナリオ抽出部
406 出力部
600 決定結果
800 サブセット
D 実装記述情報
S 例外シナリオ情報

Claims (7)

  1. 検証対象回路の実装記述情報の入力を受け付け入力工程と、
    前記入力工程によって入力された実装記述情報に基づいて、前記検証対象回路内の機能ブロックのうち前記検証対象回路の外部から入力信号を取り込む入力端子(以下「外部入力端子」という)を有する機能ブロックを検出する検出工程と、
    前記検出工程によって検出された検出結果に基づいて、前記検証対象回路の機能を実現する動作とは異なる異常系の動作を検証する機能ブロックを決定する決定工程と、
    をコンピュータに実行させることを特徴とする検証支援プログラム。
  2. 前記実装記述情報を参照することにより、前記検証対象回路の中から任意の機能ブロックを抽出する抽出工程を前記コンピュータに実行させ、
    前記検出工程は、
    前記抽出工程によって抽出された任意の機能ブロックの中から前記外部入力端子を検出
    前記決定工程は、
    前記検出工程によって前記外部入力端子が検出された場合、前記任意の機能ブロックを前記異常系の動作を検証する機能ブロックに決定することを特徴とする請求項1に記載の検証支援プログラム。
  3. 前記検証対象回路内の各機能ブロックの異常系の動作を検証する例外シナリオ情報の集合の中から、前記決定工程によって決定された機能ブロックに応じた例外シナリオ情報を抽出するシナリオ抽出工程と、
    前記シナリオ抽出工程によって抽出された例外シナリオ情報を出力する出力工程と、
    を前記コンピュータに実行させることを特徴とする請求項1または2に記載の検証支援プログラム。
  4. 前記シナリオ抽出工程は、
    前記例外シナリオ情報の集合の中から前記決定工程によって決定された機能ブロックが有する外部入力端子に応じた例外シナリオ情報を抽出することを特徴とする請求項3に記載の検証支援プログラム。
  5. 請求項1〜4のいずれか一つに記載の検証支援プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
  6. 検証対象回路の実装記述情報の入力を受け付ける入力手段と、
    前記入力手段によって入力された実装記述情報に基づいて、前記検証対象回路内の機能ブロックのうち前記検証対象回路の外部から入力信号を取り込む入力端子(以下「外部入力端子」という)を有する機能ブロックを検出する検出手段と、
    前記検出手段によって検出された検出結果に基づいて、前記検証対象回路の機能を実現する動作とは異なる異常系の動作を検証する機能ブロックを決定する決定手段と、
    を備えることを特徴とする検証支援装置。
  7. コンピュータが検証対象回路の実装記述情報の入力を受け付ける入力工程と、
    前記コンピュータが前記入力工程によって入力された実装記述情報に基づいて、前記検証対象回路内の機能ブロックのうち前記検証対象回路の外部から入力信号を取り込む入力端子(以下「外部入力端子」という)を有する機能ブロックを検出する検出工程と、
    前記コンピュータが前記検出工程によって検出された検出結果に基づいて、前記検証対象回路の機能を実現する動作とは異なる異常系の動作を検証する機能ブロックを決定する決定工程と、
    を含んだことを特徴とする検証支援方法。
JP2007108429A 2007-04-17 2007-04-17 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法 Expired - Fee Related JP4946588B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007108429A JP4946588B2 (ja) 2007-04-17 2007-04-17 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
US12/081,417 US7895553B2 (en) 2007-04-17 2008-04-15 Verification support method and apparatus, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007108429A JP4946588B2 (ja) 2007-04-17 2007-04-17 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法

Publications (2)

Publication Number Publication Date
JP2008269082A JP2008269082A (ja) 2008-11-06
JP4946588B2 true JP4946588B2 (ja) 2012-06-06

Family

ID=39873487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007108429A Expired - Fee Related JP4946588B2 (ja) 2007-04-17 2007-04-17 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法

Country Status (2)

Country Link
US (1) US7895553B2 (ja)
JP (1) JP4946588B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5048748B2 (ja) 2009-12-18 2012-10-17 三菱電機株式会社 試験テーブル生成装置及び試験テーブル生成方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0827808B2 (ja) * 1988-03-31 1996-03-21 富士通株式会社 テストデータ編集装置
JP3373641B2 (ja) * 1994-03-14 2003-02-04 株式会社東芝 テスト系列生成装置
JPH0877244A (ja) * 1994-07-08 1996-03-22 Ricoh Co Ltd 端子情報編集装置及び端子情報編集方法
JP2738338B2 (ja) * 1995-04-24 1998-04-08 日本電気株式会社 フォールトトレラントシステム
JPH1078975A (ja) * 1996-09-04 1998-03-24 Mitsubishi Electric Corp 論理検証装置
JP2002064142A (ja) * 2000-08-22 2002-02-28 Mitsubishi Electric Corp 半導体集積回路
JP4078435B2 (ja) * 2001-06-06 2008-04-23 株式会社ルネサステクノロジ 論理集積回路及び論理集積回路設計方法及び論理集積回路のハードウェア動作記述を生成するハードウェア記述生成方法
JP2003076742A (ja) * 2001-09-05 2003-03-14 Matsushita Electric Ind Co Ltd 検証パターン抽出装置とその方法
JP2005004605A (ja) * 2003-06-13 2005-01-06 Mitsubishi Electric Corp シミュレーション装置及びシミュレーション方法
JP4080464B2 (ja) * 2004-07-14 2008-04-23 松下電器産業株式会社 検証ベクタ生成方法およびこれを用いた電子回路の検証方法
JP4791267B2 (ja) * 2006-06-23 2011-10-12 株式会社日立ハイテクノロジーズ 欠陥検査システム
JP2008028345A (ja) * 2006-07-25 2008-02-07 Matsushita Electric Ind Co Ltd 誤動作検知回路を含む半導体集積回路とその設計方法
JP2008070962A (ja) * 2006-09-12 2008-03-27 Matsushita Electric Ind Co Ltd 論理回路検証装置

Also Published As

Publication number Publication date
US7895553B2 (en) 2011-02-22
JP2008269082A (ja) 2008-11-06
US20080263485A1 (en) 2008-10-23

Similar Documents

Publication Publication Date Title
US7231627B2 (en) Merging a hardware design language source file with a separate assertion file
JP4946651B2 (ja) 仕様検証プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、仕様検証装置、および仕様検証方法
KR100935684B1 (ko) 단말기 메모리 데이터 추출 장치 및 그 방법
JP4707191B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
TWI309384B (ja)
JP4946588B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
JP5125385B2 (ja) 検証シナリオ作成プログラム、該プログラムを記録した記録媒体、検証シナリオ作成装置、および検証シナリオ作成方法
JP2008197883A (ja) Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法
JPWO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
JP5225553B2 (ja) テストケース抽出装置、テストケース抽出プログラム、テストケース抽出プログラムが格納された記憶媒体およびテストケース抽出方法
JP2009157649A (ja) 命令チェックプログラム、命令チェック方法、命令チェック装置およびi/oシミュレータ
JP2007018313A (ja) 回路設計プログラム、回路設計装置、回路設計方法
JP2008234080A (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム、半導体集積回路、半導体集積回路の製造方法
JP5262678B2 (ja) 動作合成システム、動作合成方法、及び動作合成用プログラム
JP5899711B2 (ja) データフロー検証支援装置およびデータフロー検証支援方法
JP4448048B2 (ja) 構造解析プログラム
JP2011081760A (ja) 情報処理装置
JP2011034517A (ja) 等価性検証装置、そのデータ処理方法、およびプログラム
JP2009217720A (ja) プログラム生成装置およびプログラム生成方法
JP4082568B2 (ja) 集積回路設計支援装置及び方法、並びにそのプログラム
JP2004145670A (ja) テストベンチ生成方法、テストベンチ生成装置、及びコンピュータプログラム
JP6331400B2 (ja) 検証方法、検証装置および検証プログラム
JP2006221473A (ja) 論理検証装置、論理検証方法および論理検証プログラム
JP2008262479A (ja) 画像検証装置および画像検証方法
US20060206772A1 (en) Method and apparatus for supporting test pattern generation, and computer product

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110829

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

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

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

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4946588

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees