JP2005222371A - 論理回路の機能検証システムおよび方法 - Google Patents

論理回路の機能検証システムおよび方法 Download PDF

Info

Publication number
JP2005222371A
JP2005222371A JP2004030707A JP2004030707A JP2005222371A JP 2005222371 A JP2005222371 A JP 2005222371A JP 2004030707 A JP2004030707 A JP 2004030707A JP 2004030707 A JP2004030707 A JP 2004030707A JP 2005222371 A JP2005222371 A JP 2005222371A
Authority
JP
Japan
Prior art keywords
test
verification
logic circuit
group
functional
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.)
Withdrawn
Application number
JP2004030707A
Other languages
English (en)
Inventor
Shigeru Nishikawa
成 西川
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004030707A priority Critical patent/JP2005222371A/ja
Publication of JP2005222371A publication Critical patent/JP2005222371A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】 DUTの機能検証用のテスト項目、テスト仕様、テストを高品質かつ高効率に作成可能とし、DUTの機能検証を効率よく行う。
【解決手段】 論理回路の機能検証システムに、論理回路の機能仕様に応じて機能検証すべきテスト項目を網羅したテスト項目一覧に基づいて抽出されたテスト項目と論理回路の仕様を解析してテスト仕様を自動生成するテスト仕様生成部32と、当該テスト項目、テスト仕様、論理回路仕様、検証ライブラリを解析して当該論理回路の機能検証に必要となる検証モジュール群を自動抽出する検証モジュール群抽出部33と、当該テスト項目、テスト仕様、論理回路仕様、テストテンプレート群を解析して当該論理回路の機能検証に必要となるテスト群を自動生成するテスト群生成部34とを備える。
【選択図】 図1

Description

本発明は、論理回路の機能検証システムおよび方法に関し、必要十分な機能検証項目の設定及び当該機能検証項目に関わる機能検証を効率的かつ高品質に実施可能な機能検証システムおよび方法に関するものである。
従来、DUTの機能検証は当該DUTが機能仕様書に記載された機能仕様通りに機能するかを、動的或いは静的な検証手法によって機能検証が実施されてきた。通常、検証対象のDUTの機能検証を実施する検証者は、実際にDUTの各機能がどのように実装されているかという部分には踏み込まずに、DUTの可観測な端子の信号の状態を調べて、DUTが機能仕様通りに機能するかブラックボックス的に検証する。当該DUT検証にあたっては、検証者がDUTの機能仕様書から検証すべきテスト項目を抽出して、テスト仕様書を作成し、設計者がテスト項目の抜けが無いかレビュー等で確認した上で、検証者が完成されたテスト仕様書に基づきテストを作成し、検証を実施していた。
検証すべきテスト項目の抽出にあたっては、予め準備された各機能毎に抽出すべきテスト項目を網羅したテスト項目一覧を参照して、テスト項目の抽出抜けが無いか確認される場合もあった。また、設計者が検証者からテスト項目のレビューを受けることにより検証者が抽出したテスト項目に抜けが無いかを確認する場合もあった。これらの場合はテスト項目の抽出抜け回避にある程度効果は出ていた。
近年、ソフトウェア開発の分野において、構造化手法やオブジェクト指向方法論に基づき、仕様からプログラムを自動生成することが可能となって来ている。また、グラフィカルユーザインターフェースを介して入力されたソフトウェア要求仕様に基づいて、ソフトウェアコードを自動生成させる技術が考案されている(例えば、特許文献1参照)。
特開2002−073336号公報
上述した様に、従来のDUTの機能検証に際しては、DUTの機能仕様から検証すべきテスト項目を抽出する工程、テスト仕様書を作成する工程、テスト仕様をレビューする工程、そして、テストを作成する工程、テストを実行する工程に要する負荷が、DUTの大規模化に伴い、大幅に増大し、検証期間増大を招いているという問題点があった。また、機能仕様から検証すべきテスト項目の抽出が、担当する検証者のスキルに依存し、検証の品質を大きく左右するという問題点があった。検証項目抜けを回避する為に、予め準備された各機能毎に抽出すべきテスト項目を網羅したテスト項目一覧を参照することを検証者が行った場合でも不注意等により発生する検証漏れは回避できなかった。また、検証者によるテストアイテム抽出後に設計者と検証者と対となってテストレビューを実施しても、検証すべきテスト項目の一部が抜けてしまう場合も少なくなかった。また、上記検証に関わる工程のうち、最も上流の工程である、検証すべきテスト項目抽出工程において、いかに必要十分なテスト項目を抽出するかその後の検証品質を大きく左右する為、検証項目抽出の信頼性と生産性の向上を両立させることは大きな課題である。また、抽出したテスト項目に関する適切なテストを作成することも検証品質の観点から重要なポイントであり、その信頼性と生産性の向上を両立させることも大きな課題である。
また、上述した様に、仕様からプログラムを自動生成することが可能となってきているが、適用分野は主にアプリケーション或いは組込みソフトウェアの開発の分野においてあり、ハードウェア開発の分野でも一部適用が試みられてきている。即ち、実現すべきソフトウェアの仕様から当該ソフトウェアのプログラムを自動生成するものや、実現すべきハードウェアの機能仕様から当該ハードウェアの機能をハードウェア記述向けの拡張C言語等で記述されたプログラムを自動生成するものである。
また、実現すべきソフトウェアの仕様あるいはプログラムから当該ソフトウェアのテスト項目、そして、テストプログラムを自動生成する技術も提案されてきている。
しかし、ハードウェアの機能検証の分野において、機能検証用のテスト仕様、テストプログラムを自動生成する技術は開示されておらず、DUTの機能仕様から、当該機能に関する機能検証用のテスト項目、テスト仕様、テストを作成する工程を高品質に効率化する必要性が高まっている。
本発明の目的は、DUTの機能検証に関わり、実績のあるテスト項目一覧、パラメタライズ化されたモデル、モニタ等の検証モジュール、テスト項目に対応したテストテンプレートを有効活用することにより、当該DUTの機能検証用のテスト項目、テスト仕様、テストを高品質かつ高効率に作成可能とする機能検証システムおよび方法を提供することである。
かかる課題を解決する為、例えば、本発明の機能検証システムは、以下の構成を備える。
即ち、論理回路と当該論理回路機能検証用テストベンチ及びテストを含む検証環境を生成する機能検証システムであって、論理回路の機能仕様に応じて機能検証すべきテスト項目を網羅したテスト項目一覧に基づいて抽出されたテスト項目と論理回路の仕様を解析してテスト仕様を自動生成するテスト仕様生成部と、当該テスト項目、テスト仕様、論理回路仕様、検証ライブラリを解析して当該論理回路の機能検証に必要となる検証モジュール群を自動抽出する検証モジュール群抽出部と、当該テスト項目、テスト仕様、論理回路仕様、テストテンプレート群を解析して当該論理回路の機能検証に必要となるテスト群を自動生成するテスト群生成部と、検証対象の論理回路の検証に必要なベースH/Wを作成し、前記抽出した検証モジュール群と併せてテストベンチを構成し、検証対象の論理回路とテスト群を接続した検証環境を生成することを特徴とする機能検証システム。
本発明によれば、DUTの機能検証に関わり、実績のあるテスト項目一覧、パラメタライズ化されたモデル、モニタ等の検証モジュール、テスト項目に対応したテストテンプレートを有効活用することにより、当該DUTの機能検証用のテスト項目、テスト仕様、テストを高品質かつ高効率に作成することができ、検証工数削減、検証期間短縮、検証品質向上を同時に実現することができるという大きな効果がある。
以下、添付図面に従って、本発明に係わる実施形態を詳細に説明する。
(第一の実施形態)
図1に本発明の第一の実施形態の、機能検証システムの構成を示す。
尚、本実施の形態においては、DUTとDUT検証用のテストベンチおよびテストをソフトウェアシミュレータ上でシミュレーションを実行することにより動的検証を行うことを想定している。
図1の機能検証システム1は、データ入力/編集部10、データベース部20、検証要素抽出部30、検証要素群40、検証環境構築部50、検証環境60とから構成される。
データベース部20は、DUT仕様21、テスト項目一覧22、テスト項目23、検証ライブラリ24、テストテンプレート群25の電子データを格納するデータベース部であり、ワークステーション上のハードディスク等の電子データ蓄積デバイス上に電子データを格納し、当該電子データのバージョン管理等を行う。テスト項目一覧は、予め用意された、DUTの様々な機能毎にテスト項目として抽出すべき項目を網羅したテスト項目一覧のデータである。テスト項目群23は検証者がDUT仕様21よりテスト項目一覧22を参照して、或いは、参照せずに作成した当該DUTに対するテスト項目群の電子データである。検証ライブラリ24は予め用意された、様々なDUTの機能検証に必要となるモデル、モニタ等の検証モジュールのライブラリである。テストテンプレート群25は予め用意された、テスト項目一覧の各テスト項目に対応するテストのテンプレートのデータである。データ入力/編集部10は前記データベース内の各種データの入力、編集を行う為のデータベースにネットワーク接続されたワークステーション等から構成される、GUI等を有するマンマシンインタフェースである。
検証要素抽出部30は、テスト仕様生成部32、検証モジュール群抽出部33、テスト群生成部34から構成され、前記データベース部20内の各種データを解析して、当該DUTの検証に必要な後述する検証要素群40を抽出する検証要素抽出部である。検証要素群40は、テスト項目群41、テスト仕様42、検証モジュール群43、テスト群44とから構成される。テスト項目群41は前記テスト項目群23と同一のものであり、本実施形態においては検証者にマニュアルで生成されたことを想定している。
テスト仕様42は当該DUTの機能検証に必要な各テスト項目毎にDUT仕様に基づく制約条件を考慮したテスト仕様が自動抽出されたものである。検証モジュール群43は当該DUTの機能検証に必要となる検証モジュールの集合である。テスト群44は当該DUTの機能検証に必要となるテストの集合である。前記テスト仕様生成部32は、当該DUTの機能検証として実施すべきテスト項目群23の各テスト項目毎に、関連するDUT仕様21を解析して当該対応DUT仕様の制約条件を付加した各テスト仕様を自動生成し、全テスト項目群23に対応するテスト仕様42を自動生成する。
検証モジュール群抽出部33は、当該DUTの機能検証として実施すべきテスト項目群23の各テスト項目毎に、関連するDUT仕様21と当該テスト仕様42を解析して当該テスト項目に関する機能検証時にテスト側に実装すべき部分とモデル、モニタ等の検証モジュールの機能として実装すべき部分の切り分けを行い、当該テスト項目に関する機能検証に必要なモデル、モニタ等の検証モジュールを検証ライブラリ24から抽出し、必要に応じてテスト実行時に検証モジュールに設定すべきパラメータ情報を保持し、全テスト項目群23に対応する検証モジュール群を抽出する。
テスト群生成部34は、テスト項目群23の各テスト項目毎にテストテンプレート群25を解析して、対応するテストテンプレートを抽出し、関連するDUT仕様21とテスト仕様42および前記検証モジュール抽出部に保持されたテスト側から検証モジュールに設定すべきパラメータ情報を解析して、必要なパラメータを当該テストテンプレートに追加して、当該DUTの機能検証として実施すべきテストを自動生成し、これを全てのテスト項目に対して実行し、テスト項目群23に対応するテスト群44を生成する。
検証環境60は、テスト群44とテストベンチ63とDUT61と検証部/シミュレータI/F64とソフトウェアシミュレータ65とから構成される。テストベンチ63は、前記抽出された検証モジュール群とベースH/W62とから構成される。ベースH/W62はDUT61を包含するH/Wのトップ階層であり、検証モジュール群と接続されテストベンチ63を構成し、ソフトウェアシミュレータ上でシミュレーション実行が可能である。ソフトウェアシミュレータ65はハードウェア記述言語等で機能記述されたハードウェアのプログラムを実行可能な論理シミュレータである。
検証部/シミュレータI/F64はテスト群44および検証モジュール群43等検証言語等で記述された検証部をソフトウェアシミュレータ65上で実行させる為のインタフェースである。検証環境構築部50は、前記検証要素群40を組合せて前記検証環境60を自動構築する。
尚、本発明の第一の実施形態の上記各構成要素は、ワークステーション或いはPC上において、主記憶あるいは補助記憶装置に保存され、中央演算処理装置の制御に基づき機能するものとする。
次に、図2の本発明の第一の実施形態の動作フローによって、本発明の第一の実施形態の機能検証システムの主要部分の検証要素抽出部30と検証環境構築部50の動作フローを説明する。
尚、本実施の形態においては、データベース部20にDUT仕様21、テスト項目一覧22、テスト項目群23、検証ライブラリ24、テストテンプレート群25、DUT61に加えて、抽出、生成される、テスト仕様42、検証モジュール群43、テスト群44を保持する構成を想定している。
まず、検証要素抽出部の最初の工程としてS101で当該DUTに対応するテスト項目群23のテスト項目No.の初期化処理(i=1)を行う。次に、S101で当該テスト項目に関連するDUT仕様を解析して当該DUT仕様の制約条件を付加してテスト仕様を生成する。次にS102で当該テスト項目に関連するDUT仕様とテスト仕様を解析して、当該テスト項目に関する機能検証時にテスト側に実装すべき部分と検証モジュール側に実装すべき部分の切り分けを行った上で、必要な検証モジュールを検証ライブラリ24より抽出し、必要に応じてテスト実行時に検証モジュールに設定すべきパラメータ情報を保持する。
次にS103でテストテンプレート群25を解析して当該テスト項目に対応するテストテンプレートを抽出し、関連するDUT仕様とテスト仕様と検証モジュール抽出部33に保持されたパラメータ情報を解析して、必要な制約条件を当該テストテンプレートに付加してテストを作成する。次にS104で次テスト項目を選択する為にiをインクリメントする(i=i+1)。S105でiが当該DUTのテスト項目群23の総テスト項目数nを超えたら(i>n)、検証要素抽出の工程を終了し、S106に進む。iがn以下の場合は、S101に進んで、検証要素抽出の工程を続ける。
S106で生成したテスト仕様42をデータベース部20に格納する。S107で抽出した検証モジュール群43をデータベース部20に格納する。S108で生成したテスト群44をデータベース部20に格納する。
次に、検証環境構築部50の工程として、S109でDUT61をテストベンチ63に接続する為のDUT61の上位階層のモジュールとなるベースH/W62を生成し、DUT61を接続する。次にS110で前記抽出した検証モジュール群43をベースH/W62とDUT61に接続し、テストベンチを構成する.次にS111で前記生成したテスト群44をテストベンチに接続する。そして、最後にS112で全接続情報をデータベース部20に格納し、シミュレータ環境にテスト群44、テストベンチ63、DUT61を組込んで、検証環境60を構築する。
上記において、当該DUTの各テスト項目に関する機能検証に必要となるモデル、モニタ等の検証モジュールは検証ライブラリ24に含まれており、同様に、当該DUTの各テスト項目に関する機能検証に必要となるテストに対応するテストテンプレートもテストテンプレート群に含まれていることを想定している。
当該DUTの各テスト項目に関する機能検証に必要となるモデル、モニタ、或いはテストテンプレートが抽出不可能な場合は、必要となるモデル、モニタ、或いは、テストテンプレートを新規或いは類似モジュールを編集することにより作成し、データ入力/編集部10を介して、データベース部に追加する。
以上説明した本実施形態においては、検証要素抽出部の動作フローとして、各テスト項目毎に、テスト仕様抽出工程、検証モジュール抽出工程、テスト生成工程を実行して、次のテスト項目に移行しているが、全テスト項目分のテスト仕様抽出工程を実行した後に、全テスト項目分の検証モジュール抽出工程を実行し、更に、全テスト項目分のテスト生成工程を行うようにする、或いは、所定のテスト項目をまとめて、テスト仕様抽出工程、検証モジュール抽出工程、テスト生成工程を実行する等、検証要素抽出部の内部的な工程の進め方は様々な方法が考えられ、上述した方法に限定されるものではないということは言うまでもない。
次に、図3に示すDUT、テストベンチおよびテスト群の具体例に基づいて、本発明の第一の実施形態の、当該DUTの機能検証に必要となる、テスト項目群、テスト仕様、検証モジュールおよびテスト群の抽出/生成の方法に関して、具体例を挙げて説明する。
図3は本発明の第一の実施形態のDUT、テストベンチおよびテスト群の詳細構成例であり、DUTの中の後述するバスアービタの検証に関連するモジュールを示したものである。図3において、DUT61はバス602に接続されるバスアービタのみが示されているが、その他不図示の、当該バスに接続される4つのバスマスタ、アドレスデコーダ、バスマルチプレクサ等から構成されるものとする。テストベンチ63には、検証モジュール群として、バスマスタモデル1 201、バスマスタモデル2 202、バスマスタモデル3 203、バスマスタモデル4 204、バススレーブモデル205、バスモニタ206が示されているが、その他不図示のDUTの他の構成要素の機能検証に必要な検証モジュールとから構成されるものとする。また、テスト群44には、バスアービタテスト205のみが示されているが、その他不図示のDUTの他の構成要素の機能検証に必要なテストとから構成されるものとする。
バスマスタモデル1 201からバスマスタモデル4 204は各々当該バスのバスマスタとして機能する検証モジュールであり、バスアービタ601は当該バス上の前記4つのマスターモデルのバス権を調停する。バススレーブモデル205は前記バスマスタモデルからライト、リード等のアクセスを受ける検証モジュールである。当該バスの状態(信号のレベル、変化)、複数の信号の状態の時間関係はバスモニタ206によりモニタされる。また、バスアービタテスト205はテストベンチ63内の各モジュールに必要なデータを設定し、必要な出力データを収集し、論理シミュレータによるシミュレーションにおいて当該バスアービタ601の機能検証を実施するためのテストプログラムである。
図4は後述する図5に示すテスト項目に着目した場合に、検証要素抽出部30の中で解析すべき、本発明の第一の実施形態のDUT仕様の例を示したものである。
検証すべきテスト項目が定められると、検証要素抽出部30の中の、テスト仕様生成部32、検証モジュール群抽出部33、テスト群生成部34は、図示の直接該当するDUT仕様および関連するDUT仕様をピックアップする。
直接該当するDUT仕様として、X_Bus_Arbiterの仕様の Spec.xxx_2 “only one grant signal is hot. i.e.g_k=1 & g_i=0(i≠k) when k is granted (k∈{0,1,2,3})”が示されており、関連するDUT仕様として、X_Bus_Arbiterの仕様のSpec.xxx_1 “support master0,master1,master2,master3.”と、X_Bus_Master0の仕様のSpec.yyy_1 “signal path=/system0/…/…/xbusarb0”とが示されている。
図5は本発明の第一の実施形態のテスト項目一覧とテスト項目群の例を示したものである。テスト項目一覧には、例として、テスト項目aaa:grant_signal_for_arbitrationおよびテスト項目bbb:priority_of_arbitrationが 挙げられている。各テスト項目は、項目識番号:名称、概要、関連モジュール名が記載されているものとする。これらの記載事項は、特定の識別子(例においては“#”)を付加されたキーワードで識別可能に記載されているものとする。本発明の第一の実施形態においては、テスト項目群は、検証者により当該テスト項目一覧を参照して当該DUTの機能検証に必要なテスト項目がピックアップされたものとし、前記テスト項目一覧のうち、テスト項目aaaがピックアップされ、本説明においては、当該テスト項目aaaに着目して、以下のテスト仕様生成、検証モジュール抽出、テスト群抽出の説明を行うものとする。
テスト項目aaaにおいて、その概要“check if only one grant signal is hot. i.e. g_k=1 & g_i=0(i≠k) when k is granted)”は、同時には1つのgrant信号のみ1(許可)となることをチェックするというものである。また、関連モジュールとしては、bus_master_model、bus_slave_model、bus_monitorが挙げられている。
図6は本発明の第一の実施形態のテスト項目群からのテスト仕様の生成例を示したものである。テスト仕様生成部32において、前記テスト項目aaaに対して、前記図4に示された当該DUT仕様の制約条件を付加したテスト仕様が自動生成される。
テスト項目aaaに対応する当該DUTに対するテスト仕様として、DUT仕様(X_Bus_Arbiterの仕様のSpec.xxx_1)に合わせてバスマスタの数が4に制約されていると共に、当該DUTのバスの種類(x_busを使用)に合わせて、関連モジュールがx_busのマスターモデルx_bus_master_model、スレーブモデルx_bus_slave_model、モニタx_bus_monitorに制約されている。また、当該テスト項目aaa「バスアービタは同時には1つのgrant信号のみ1(許可)とすることをチェックする」に対するテスト仕様の詳細として、テストステップ“ 1.Issue write access from all x_bus_master_model to x_bus_slave_model0 concurrently with ramdom delay. 2.Check if only one grant signal is hot by x_bus_monitor.”が示されている。
図7は本発明の第一の実施形態の検証ライブラリからの検証モジュール群の抽出例を示したものである。同図において、検証ライブラリには、x_bus以外にもa_busに関連する検証モジュールが含まれているものとする。検証モジュール群抽出部33において、前記検証ライブラリより、当該テスト項目aaaの検証に必要な検証モジュール群として、x_bus_master_model、x_bus_slave_model、x_bus_monitorが自動抽出される。
図8は本発明の第一の実施形態のテストテンプレートからのテスト群の生成例を示したものである。同図において、テストテンプレートとして、テスト項目aaa「バスアービタは同時には1つのgrant信号のみ1(許可)とすることをチェックする」に対するテストのテンプレート“grant_signal_for_arbitration”が含まれている。本実施形態においては、当該テストは、検証専用言語を用いて記述されているものとし、0からn−1のn個のバスマスタモデルからバススレーブモデルに対してランダムな遅延を伴って、同時にアクセスを行うという内容が記載されている。テスト群生成部34において、前記テストテンプレートより、当該テスト項目aaaの検証用のテストとして、当該DUT仕様およびテスト仕様の制約を付加した、テストが自動生成される。具体的には、テスト名が“sys0_x_grant_signal_for_arbitration”に変更され、struct名、クロック名、各フィールド名に、例えば、“clk”が“x_clk”と変更されているように、“x_”が付加され、同時アクセスする関数write()の呼び出し数がDUT仕様のマスター数に応じてnから4に変更されている。
図9は本発明の第一の実施形態のx_bus_monitorにおけるgrant信号チェック記述例を示したものである。当該“x_bus_monitor”は、図6のテスト仕様に示した通り、当該テスト項目aaaに対する機能検証を実施するのに必要となる、“check if only one grant signal is hot”のチェック機能を記述した例である。本記述例においては、接続されるマスター数が仕様毎に異なるといった様々なDUT仕様に対応できるようにマスター数を最大16個のマスター数をサポートできるように記述されている。即ち、xgrantのbit数を16としている。内容的には、16bitからなる信号xの各bitの値の算術和を計算する関数bitsum(x:int(bits:16))を用意し、あるマスターに対するgrantが発生時(これを “grant”というeventと定義)に、bitsum(xgrant)=1であることをチェックするようにしている。また、xgrantはDUT仕様のX_Bus_Master0の仕様のSpec.yyy_1 “signal path=/system0/…/…/xbusarb0”に応じてDUTの信号をサンプルしたものである。
そして、検証環境構築部50により、図7に示した抽出された検証モジュール群x_bus_master_model、x_bus_slave_model、x_bus_monitorは、図3に示されたテストベンチ構成に従って、マスターモデルはx_bus_master_model0、x_bus_master_model1、x_bus_master_model2、x_bus_master_model3の4つが、スレーブモデルは1つのx_bus_slave_model0が、バスモニタは1つのx_bus_monitor0がインスタンスされて、DUTとのI/Fとして生成されるベースH/Wと共にテストベンチを構築し、前記テストと共に、シミュレータ環境に組込まれて、テスト項目aaaの機能検証の為のテストの実行が可能となる。
上記のようにして、本発明の第一の実施形態により、テスト項目群、検証対象のDUT仕様、検証資産である検証ライブラリおよびテストテンプレート群を元にして、着目するテスト項目の機能検証を実施する為のテスト仕様を自動生成し、必要となる検証モジュール群を自動抽出し、必要となるテストを自動生成することが可能となり、更に、DUTと検証モジュール群とテストからなる検証環境を構築することにより、当該テスト項目に対する機能検証を実行することが可能となる。
尚、上記説明した図3から図9のバスアービタのgrant信号に関する機能検証は一例であって、説明した検証要素抽出および検証環境構築の方法は、他のDUT仕様、テスト項目に関しても適用可能で、この例に限られたものではないことは言うまでもない。
また、上述の説明においては、テスト項目一覧の各項目の内容として項目識番号:名称、概要、関連モジュール名が記載されているものとし、また、これらの記載事項は、特定の識別子(例においては“#”)を付加されたキーワードで識別可能に記載されているものとするとしたが、テスト項目の記載の形式は上記に限らず、所定の細項目毎に表形式あるいは、所定タグを付加されたもの等、細項目毎の識別が可能であれば、他の形式であっても良いことは言うまでもない。
また、上述の説明においては、テスト項目とテスト仕様は項目識別番号および項目名称により対応付けをしていたが、項目毎の対応のさせ方は、上記に限らず、項目識別符号のみ、あるいは、所定のキーワード、タグ等、識別可能であれな、他の形式であっても良いことは言うまでもない。
また、上述の説明においては、テスト項目とDUT仕様はキーワードにより関連付けを解析したが、両者の関連性の解析は、上記に限らず、識別符号のみ、あるいは、所定のタグ等、識別可能であれな、他の形式であっても良いことは言うまでもない。
また、本発明の第一の実施形態においては、DUT仕様、テスト仕様等は細項目毎に自然言語に近い形式で記述したが、これらはUML等仕様記述言語により記述したものを解析するようにしても良いことは言うまでもない。
また、上述の説明において、テスト仕様はピックアップされたテスト項目に当該DUT仕様の制約条件を付加して自動生成するものとしたが、予め、用意されたテスト項目に対するテスト仕様のテンプレートに対して当該DUT仕様の制約条件を付加して自動生成するようにしても良いことは言うまでもない。
以上、説明したように、本発明の一実施形態に於いては、論理回路と当該論理回路機能検証用テストベンチ及びテストを含む検証環境を生成する機能検証システムであって、論理回路の機能仕様に応じて機能検証すべきテスト項目を網羅したテスト項目一覧に基づいて抽出されたテスト項目と論理回路の仕様を解析してテスト仕様を自動抽出するテスト仕様生成部と、当該テスト項目、テスト仕様、論理回路仕様、検証ライブラリを解析して当該論理回路の機能検証に必要となる検証モジュール群を自動抽出する検証モジュール群抽出部と、当該テスト項目、テスト仕様、論理回路仕様、テストテンプレート群を解析して当該論理回路の機能検証に必要となるテスト群を自動生成するテスト群生成部と、検証対象の論理回路の検証に必要なベースH/Wを作成し、前記抽出した検証モジュール群と併せてテストベンチを構成し、検証対象の論理回路とテスト群を接続した検証環境を生成する検証環境構築部を設けることにより、実績のあるテスト項目一覧、パラメタライズ化されたモデル、モニタ等の検証モジュール、テスト項目に対応したテストテンプレートを有効活用して、当該DUTの機能検証用のテスト項目、テスト仕様、テストを高品質かつ高効率に作成可能とする機能検証システムおよび方法を提供することができる。
(第二の実施形態)
図10に本発明の第二の実施形態の、機能検証システムの構成を示す。同図において、第一の実施形態の、機能検証システムの構成を示した図1と同一の部分は説明を省略する。
図10において、テスト項目抽出部31はDUT仕様21をテスト項目一覧22に基づいて解析することにより当該DUTの機能検証に必要なテスト項目群41を自動生成する点が、第一の実施形態と異なる点である。
本発明の第二の実施形態によれば、DUT仕様とテスト項目一覧から当該DUTの機能検証に必要となるテスト項目群を自動生成することにより、検証者が人手で多大な工数をかけてDUT仕様からテスト項目群を抽出し、その上検証者の人手で抽出する為に、テスト項目群に漏れが生じる可能性があるのに対して、人為ミスによる検証漏れを回避し、効率的かつ高品質に検証項目群を抽出可能であるという大きな効果がある。
(第三の実施形態)
第一、第二の実施形態がシミュレーションによる動的検証を想定していたのに対して、本実施形態はプロパティチェックによる静的検証を想定したものである。
図11に本発明の第三の実施形態の、機能検証システムの構成を示す。同図において、第二の実施形態の、機能検証システムの構成を示した図10と同一の部分は説明を省略する。
図11において、プロパティライブラリ26は予め用意された各種プロパティ仕様に対するプロパティのテンプレートのライブラリである。プロパティ仕様45は当該DUTの機能検証に必要な各テスト項目毎にDUT仕様に基づく制約条件を考慮したプロパティ仕様が自動抽出されたものである。プロパティ群46は当該DUTの機能検証に必要となるプロパティの集合である。プロパティ仕様生成部35は、当該DUTの機能検証として実施すべきテスト項目群23の各テスト項目毎に、関連するDUT仕様21を解析して当該対応DUT仕様の制約条件を付加した各プロパティ仕様を自動生成し、全テスト項目群23に対応するプロパティ仕様45を自動生成する。
プロパティ群生成部36は、テスト項目群23の各テスト項目毎にプロパティライブラリ26を解析して、対応するプロパティテンプレートを抽出し、関連するDUT仕様21とプロパティ仕様45を解析して、必要なパラメータ等の制約条件を当該プロパティテンプレートに追加して、当該DUTの機能検証として実施すべきプロパティを自動生成し、これを全てのテスト項目に対して実行し、テスト項目群23に対応するプロパティ群46を生成する。
検証環境60は、プロパティ群44とDUT61とプロパティチェッカー67とから構成される。プロパティチェッカー66は、ハードウェア記述言語等で機能記述されたハードウェアのプログラムを機能を、プロパティ専用言語等で記述されたプロパティに基づいて正当性を静的に検証する静的検証ツールである。検証環境構築部50は、前記検証要素群40を組合せて前記検証環境60を自動構築する。
本発明の第一の実施形態の機能検証システムの構成図 本発明の第一の実施形態の動作フローを示す図 本発明の第一の実施形態のDUT、テストベンチおよびテスト群の詳細構成例を示す図 本発明の第一の実施形態のDUT仕様の例を示す図 本発明の第一の実施形態のテスト項目一覧とテスト項目群の例を示す図 本発明の第一の実施形態のテスト項目群からのテスト仕様の生成例を示す図 本発明の第一の実施形態の検証ライブラリからの検証モジュール群の抽出例を示す図 本発明の第一の実施形態のテストテンプレートからのテスト群の生成例を示す図 本発明の第一の実施形態のx_bus_moniorにおけるgrant信号チェック記述例を示す図 本発明の第二の実施形態の機能検証システムの構成図 本発明の第三の実施形態の機能検証システムの構成図
符号の説明
1 機能検証システム
10 データ入力/編集部
20 データベース部
21 DUT仕様
22 テスト項目一覧
23 テスト項目群
24 検証ライブラリ
25 テストテンプレート群
30 検証要素抽出部
31 テスト項目抽出部
32 テスト仕様生成部
33 検証モジュール群抽出部
34 テスト群生成部
40 検証要素群
41 テスト項目群
42 テスト仕様
43 検証モジュール群
44 テスト群
50 検証環境構築部
60 検証環境
61 DUT
62 ベースH/W
63 テストベンチ
64 検証部/シミュレータI/F
65 ソフトウェアシミュレータ

Claims (16)

  1. 論理回路の機能検証システムであって、論理回路の機能仕様に応じて機能検証すべきテスト項目を網羅したテスト項目一覧に基づいて抽出されたテスト項目と論理回路の仕様を解析してテスト仕様を自動生成するテスト仕様生成手段と、当該テスト項目、テスト仕様、論理回路仕様、検証ライブラリを解析して当該論理回路の機能検証に必要となる検証モジュール群を自動抽出する検証モジュール群抽出手段と、当該テスト項目、テスト仕様、論理回路仕様、テストテンプレート群を解析して当該論理回路の機能検証に必要となるテスト群を自動生成するテスト群生成手段とを有することを特徴とする機能検証システム。
  2. さらに、前記検証対象の論理回路の検証に必要なベースH/Wを作成し、前記抽出した検証モジュール群と併せてテストベンチを構成し、検証対象の論理回路とテスト群を接続した検証環境を自動生成する検証環境自動生成手段とを有することを特徴とする請求項1記載の機能検証システム。
  3. 前記テスト仕様生成手段は、当該テスト項目に関連する論理回路の仕様を解析して当該論理回路の仕様の制約条件を付加してテスト仕様を生成することを特徴とする請求項1または2記載の機能検証システム。
  4. 前記検証モジュール群抽出手段は、当該テスト項目に関連する論理回路の仕様とテスト仕様を解析して、当該テスト項目に関する機能検証時にテスト側に実装すべき部分と検証モジュール側に実装すべき部分の切り分けを行った上で、必要な検証モジュールを検証ライブラリより抽出し、必要に応じてテスト実行時に検証モジュールに設定すべきパラメータ情報を保持することを特徴とする請求項1ないし3いずれか記載の機能検証システム。
  5. 前記テスト群生成手段は、テストテンプレート群を解析して当該テスト項目に対応するテストテンプレートを抽出し、関連する論理回路の仕様とテスト仕様と前記検証モジュール抽出部に保持されたパラメータ情報を解析して、必要な制約条件を当該テストテンプレートに付加してテストを作成することを特徴とする請求項1ないし4いずれか記載の機能検証システム。
  6. 論理回路の仕様をテスト項目一覧に基づいて解析することにより当該論理回路の機能検証に必要なテスト項目群を自動生成するテスト項目抽出手段を有することを特徴とする請求項1ないし5いずれか記載の機能検証システム。
  7. 論理回路の機能検証方法であって、論理回路の機能仕様に応じて機能検証すべきテスト項目を網羅したテスト項目一覧に基づいて抽出されたテスト項目と論理回路の仕様を解析してテスト仕様を自動生成するテスト仕様生成工程と、当該テスト項目、テスト仕様、論理回路仕様、検証ライブラリを解析して当該論理回路の機能検証に必要となる検証モジュール群を自動抽出する検証モジュール群抽出工程と、当該テスト項目、テスト仕様、論理回路仕様、テストテンプレート群を解析して当該論理回路の機能検証に必要となるテスト群を自動生成するテスト群生成工程とを有することを特徴とする機能検証方法。
  8. さらに、前記検証対象の論理回路の検証に必要なベースH/Wを作成し、前記抽出した検証モジュール群と併せてテストベンチを構成し、検証対象の論理回路とテスト群を接続した検証環境を自動生成する検証環境自動生成工程とを有することを特徴とする請求項7記載の機能検証方法。
  9. 前記テスト仕様生成工程は、当該テスト項目に関連する論理回路の仕様を解析して当該論理回路の仕様の制約条件を付加してテスト仕様を生成することを特徴とする請求項7または8記載の機能検証方法。
  10. 前記検証モジュール群抽出工程は、当該テスト項目に関連する論理回路の仕様とテスト仕様を解析して、当該テスト項目に関する機能検証時にテスト側に実装すべき部分と検証モジュール側に実装すべき部分の切り分けを行った上で、必要な検証モジュールを検証ライブラリより抽出し、必要に応じてテスト実行時に検証モジュールに設定すべきパラメータ情報を保持することを特徴とする請求項7ないし9いずれか記載の機能検証方法。
  11. 前記テスト群生成工程は、テストテンプレート群を解析して当該テスト項目に対応するテストテンプレートを抽出し、関連する論理回路の仕様とテスト仕様と前記検証モジュール抽出部に保持されたパラメータ情報を解析して、必要な制約条件を当該テストテンプレートに付加してテストを作成することを特徴とする請求項7ないし10いずれか記載の機能検証方法。
  12. 論理回路の仕様をテスト項目一覧に基づいて解析することにより当該論理回路の機能検証に必要なテスト項目群を自動生成するテスト項目抽出工程を有することを特徴とする請求項7ないし11いずれか記載の機能検証方法。
  13. 論理回路の機能検証システムであって、論理回路の機能仕様に応じて機能検証すべきテスト項目を網羅したテスト項目一覧に基づいて抽出されたテスト項目と論理回路の仕様を解析してプロパティ仕様を自動生成するプロパティ仕様生成手段と、当該テスト項目、プロパティ仕様、論理回路仕様、プロパティライブラリを解析して当該論理回路の機能検証に必要となるプロパティ群を自動生成するプロパティ群生成手段とを有することを特徴とする機能検証システム。
  14. 論理回路の仕様をテスト項目一覧に基づいて解析することにより当該論理回路の機能検証に必要なテスト項目群を自動生成するテスト項目生成手段を有することを特徴とする請求項13記載の機能検証システム。
  15. 論理回路の機能検証方法であって、論理回路の機能仕様に応じて機能検証すべきテスト項目を網羅したテスト項目一覧に基づいて抽出されたテスト項目と論理回路の仕様を解析してプロパティ仕様を自動生成するプロパティ仕様生成工程と、当該テスト項目、プロパティ仕様、論理回路仕様、プロパティライブラリを解析して当該論理回路の機能検証に必要となるプロパティ群を自動生成するプロパティ群生成工程とを有することを特徴とする機能検証方法。
  16. 論理回路の仕様をテスト項目一覧に基づいて解析することにより当該論理回路の機能検証に必要なテスト項目群を自動生成するテスト項目生成工程を有することを特徴とする請求項15記載の機能検証方法。
JP2004030707A 2004-02-06 2004-02-06 論理回路の機能検証システムおよび方法 Withdrawn JP2005222371A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004030707A JP2005222371A (ja) 2004-02-06 2004-02-06 論理回路の機能検証システムおよび方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004030707A JP2005222371A (ja) 2004-02-06 2004-02-06 論理回路の機能検証システムおよび方法

Publications (1)

Publication Number Publication Date
JP2005222371A true JP2005222371A (ja) 2005-08-18

Family

ID=34997942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004030707A Withdrawn JP2005222371A (ja) 2004-02-06 2004-02-06 論理回路の機能検証システムおよび方法

Country Status (1)

Country Link
JP (1) JP2005222371A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164780A (ja) * 2005-12-09 2007-06-28 Internatl Business Mach Corp <Ibm> 方法、システムおよびプログラム(設計を検証する方法およびシステム)
JP2007317096A (ja) * 2006-05-29 2007-12-06 Fujitsu Ltd 検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法
JP2008210004A (ja) * 2007-02-23 2008-09-11 Fujitsu Ltd 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
WO2021164279A1 (zh) * 2020-02-21 2021-08-26 上海御渡半导体科技有限公司 一种提高测试流效率的半导体自动测试设备及测试方法
WO2022075153A1 (ja) * 2020-10-05 2022-04-14 三菱電機株式会社 デザインレビュー支援装置、デザインレビュー支援方法、およびプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164780A (ja) * 2005-12-09 2007-06-28 Internatl Business Mach Corp <Ibm> 方法、システムおよびプログラム(設計を検証する方法およびシステム)
JP2007317096A (ja) * 2006-05-29 2007-12-06 Fujitsu Ltd 検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法
JP2008210004A (ja) * 2007-02-23 2008-09-11 Fujitsu Ltd 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
WO2021164279A1 (zh) * 2020-02-21 2021-08-26 上海御渡半导体科技有限公司 一种提高测试流效率的半导体自动测试设备及测试方法
WO2022075153A1 (ja) * 2020-10-05 2022-04-14 三菱電機株式会社 デザインレビュー支援装置、デザインレビュー支援方法、およびプログラム
JPWO2022075153A1 (ja) * 2020-10-05 2022-04-14
JP7446467B2 (ja) 2020-10-05 2024-03-08 三菱電機株式会社 デザインレビュー支援装置、デザインレビュー支援方法、およびプログラム

Similar Documents

Publication Publication Date Title
US9223915B1 (en) Method, system, and computer program product for checking, verifying, or testing a multi-fabric electronic design spanning across multiple design fabrics
US9064068B1 (en) Debuggable opaque IP
US7100133B1 (en) Computer system and method to dynamically generate system on a chip description files and verification information
WO2016197768A1 (zh) 芯片验证方法、装置及系统
TWI627547B (zh) 用於ic設計協定的自動化功能覆蓋生成和管理的系統和方法
US8234617B2 (en) Method and system for re-using digital assertions in a mixed signal design
US20070276644A1 (en) Conversion of circuit description to a transaction model
CN105468797B (zh) 一种信息处理方法及装置
US9934354B1 (en) Methods, systems, and computer program product for implementing a layout-driven, multi-fabric schematic design
CN103294600B (zh) 基于Perl的EDIF网表级电路的自动可测性设计系统的自动可测性设计方法
CN112560401B (zh) Verilog文件转换方法、装置、存储介质及设备
JP3822044B2 (ja) 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体
JP2006048525A (ja) シミュレーション方法
JP4850091B2 (ja) 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
CN115470748A (zh) 一种芯片仿真加速方法、装置、电子设备及存储介质
JP4544118B2 (ja) 回路検証システムと方法、及びプログラム
US7949509B2 (en) Method and tool for generating simulation case for IC device
US7900174B2 (en) Method and system for characterizing an integrated circuit design
US8327309B2 (en) Verification of design information for controlling manufacture of a system on a chip
JP2005222371A (ja) 論理回路の機能検証システムおよび方法
CN112861455B (zh) Fpga建模验证系统及方法
CN112347723B (zh) 基于版图的rom代码提取验证方法及装置
US8032847B2 (en) Layout design method of semiconductor integrated circuit
JP2006119922A (ja) 機能検証システム、制御方法、及びプログラム
JP6146224B2 (ja) 判定方法、判定プログラム、および判定装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070501