JP2006178775A - 検証環境作成装置及びその処理方法 - Google Patents

検証環境作成装置及びその処理方法 Download PDF

Info

Publication number
JP2006178775A
JP2006178775A JP2004371889A JP2004371889A JP2006178775A JP 2006178775 A JP2006178775 A JP 2006178775A JP 2004371889 A JP2004371889 A JP 2004371889A JP 2004371889 A JP2004371889 A JP 2004371889A JP 2006178775 A JP2006178775 A JP 2006178775A
Authority
JP
Japan
Prior art keywords
verification
port
logic circuit
verification device
search
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
JP2004371889A
Other languages
English (en)
Inventor
Daisuke Kuroki
大輔 黒木
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 JP2004371889A priority Critical patent/JP2006178775A/ja
Publication of JP2006178775A publication Critical patent/JP2006178775A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】 論理検証を行う際に、論理検証の検証環境を自動的に作成することで論理回路の論理検証期間を短縮させる。
【解決手段】 複数の検証装置を登録している検証装置ライブラリから検証対象の論理回路と接続可能な検証装置を検索し、検索された検証装置を、検証対象の論理回路を検証装置により機能検証するための検証環境にインスタンスし、その検証装置と論理回路を接続し、接続された論理回路の未接続ポートを所定の処理ルールに従って処理して検証環境を作成する。
【選択図】 図1

Description

本発明は、LSI開発における論理回路を機能検証する技術に関するものである。
現在、LSI開発における主たる論理検証方法として、コンピュータ上で検証対象である論理回路(DUT:Design Under Test)の動きをシミュレートさせる動的論理シミュレーションを用いた検証方法が提案されている。この方法は、DUTを検証するために、検証環境であるテストベンチを作成し、DUTに対してテストパターンを入力し、DUTからの出力及び内部状態のチェックを行うというものである(例えば、特許文献1参照)。
また、動的論理シミュレーションを用いた初歩的な論理検証方法では、DUTのポートへの“0”や“1”といった直接値の代入パターンを羅列したテストパターンを作成し、シミュレーションにおいて、そのテストパターン通りにDUTの信号を変化させることによりバスのトランザクションを発生させ、それによるDUTからの出力信号や内部状態などのシミュレーション結果の波形を目視により確認を行っている。従って、テストベンチによる検証は、DUTをインスタンスしただけの非常にシンプルなものであり、論理検証作業は、テストパターン作成と結果確認に時間を要していた。
しかし、LSIの複雑化・大規模化に伴い、上述の初歩的な論理検証方法では、テストパターン作成の負荷や目視による検証負荷が指数関数的に増大し、限られた時間内で確度の高い確実な検証が不可能となってきている。そこで、より効率的に論理検証を行うために、バスのトランザクションを発生させるためのバスモデルやバスプロトコル又はDUTの内部状態を監視するモニタといった検証装置を用いた動的論理シミュレーションによる論理検証が行われている。
この論理検証方法では、モデルやモニタといった検証装置を作成し、それら検証装置をインスタンスし、DUTに接続したテストベンチを作成することでバストランザクションを発生させるためのモデルへのコマンド発行、及びモデルがトランザクションにより得たデータと期待値比較を行うテストを作成することで論理検証が行われる。このようなバスプロトコルやDUTの内部状態の論理検証は、テスト実行による動的論理シミュレーション中にモニタにより自動的に行われる。この方法では、論理検証作業はテスト作成の他にテストベンチ作成に時間を要することとなる。また、テストベンチの作成は、各検証装置作成とその検証装置を用いたDUTのテストベンチ作成の2つに大別される。
しかし、近年LSIの大規模化・複雑化に対して、LSIの開発効率を上げるために、バスやインターフェースの共通化が図られ、そのため、モデルやモニタを含む様々な検証装置もLSIの開発ごとに作成するのではなく、以前のLSI開発で作成した検証装置を流用することが可能となってきている。従って、テストベンチの作成における作業負荷は、検証装置自身の作成よりも検証装置を用いたDUTのテストベンチ作成のほうにシフトしてきている。以下、「テストベンチ作成」は、検証装置を用いたDUTのテストベンチ作成を意味するものとする。
また、工業製品は小品種大量生産から多品種少量生産に移行してきており、LSI開発においても短期間での多機種開発が要求されている。
このような状況の中、現在、テストベンチ作成は、手作業によって行われている。
また、米国Mentor社のデザインエントリ用のEDA(Electronic Design Automation)ツールである“HDS”では、ワークエリア上にインスタンスしたDUTのポートと検証装置のポートを、ポート名から類推して接続する機能を有している。
また、特許文献2には、回路設計において対象モデルの論理シミュレーションの実行に必要なテストパターン入力用のシミュレーション用回路にテストパターンを組込みかつ回路設計で用いられる言語で記述されたテストベンチを生成するテストベンチ生成システムが開示されている。
特開2000-132416号公報 特開平10-124557号公報
上述したように、テストベンチ作成は、従来手作業によって行われている。もしくは、米国Mentor社の“HDS”を用いることにより半自動化が可能であるが、必要な検証装置のピックアップ、検証装置のインスタンス、そして、DUTにおける検証装置の接続されていないポートの処理に関しては、少なくともテストベンチ作成担当者が手作業で行わなければならない。
一般的に、LSI開発期間の約70%は、論理検証に費やされていると言われており、論理検証期間の短縮のためには、テストベンチ作成の時間を短縮することが重要となっている。しかし、手作業で行うということは、ミスが含まれることが考えられ、またLSIは、今後益々複雑化・大規模化することが容易に予想されることから、手作業によるテストベンチ作成の負荷も益々増大するという問題がある。また、手作業によるテストベンチ作成では、短期開発・短期検証に対応することは不可能である。
本発明は、上記課題を解決するためになされたもので、論理検証を行う際に、論理検証の検証環境を自動的に作成することで論理回路の論理検証期間を短縮させることを目的とする。
本発明は、検証対象の論理回路を検証装置により機能検証するための検証環境を作成する検証環境作成装置であって、複数の検証装置を登録している検証装置ライブラリから前記検証対象の論理回路と接続可能な検証装置を検索する検索手段と、前記検索手段で検索された検証装置を前記検証環境にインスタンスし、当該検証装置と前記論理回路を接続する手段と、前記接続された論理回路の未接続ポートを所定の処理ルールに従って処理する手段とを有することを特徴とする。
また、本発明は、検証対象の論理回路を検証装置により機能検証するための検証環境を作成する検証環境作成装置の処理方法であって、複数の検証装置を登録している検証装置ライブラリから前記検証対象の論理回路と接続可能な検証装置を検索する検索工程と、前記検索工程で検索された検証装置を前記検証環境にインスタンスし、当該検証装置と前記論理回路を接続する工程と、前記接続された論理回路の未接続ポートを所定の処理ルールに従って処理する工程とを有することを特徴とする。
本発明によれば、論理検証を行う際に、論理検証の検証環境を自動的に作成することで論理回路の論理検証期間を短縮させることができる。
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。尚、本実施形態では、検証対象としての論理回路(DUT:Design Under Test)を検証する際に検証環境であるテストベンチを作成するテストベンチ作成装置の構成及び動作について説明する。
図1は、本実施形態におけるテストベンチ作成装置の構成の一例を示す図である。図1において、101はテストベンチの作成対象であるDUT、102は本実施形態におけるテストベンチ作成装置、103はテストベンチ作成装置102が作成したテストベンチ、104はテストベンチ作成装置102が出力する処理結果レポート、105は検証装置を登録した検証装置ライブラリ、106は未接続ポートを処理する未接続ポート処理ルールである。尚、検証装置ライブラリ105及び未接続ポート処理ルール106の詳細な構成については、図2及び図3を用いて更に詳述する。
また、テストベンチ作成装置102は、検証装置ライブラリ105を記憶する検証装置ライブラリ記憶部111、DUT101と接続可能な検証装置を検証装置ライブラリ記憶部111から検索する検証装置検索部112、DUT101と検証装置とをテストベンチにインスタンスし、お互いに接続するインスタンス及び接続部113、未接続ポート処理ルール106を記憶する処理ルール記憶部114、未接続ポートを処理する未接続ポート処理部115、未接続ポート処理部115での処理結果をレポートするレポート部116から構成されている。
以上の構成において、テストベンチ作成装置102は検証装置ライブラリ記憶部111により検証装置ライブラリ105に登録されている検証装置を保持する。また処理ルール記憶部114により未接続ポート処理ルール106を保持する。テストベンチ作成対象であるDUT101をテストベンチ作成装置102に入力すると、検証装置検索部112により、検証装置ライブラリ105からDUT101と接続可能な検証装置を検索し、インスタンス及び接続部113により、DUT101と該当する検証装置をテストベンチにインスタンスし、お互いを接続する。その後、未接続ポート処理部115により、検証装置と未接続であるDUTのポートに対して、未接続ポート処理ルール106に従って未接続ポートを固定することによりDUT101のテストベンチ103を完成させて出力する。またレポート部116により、接続した検証装置名、検証装置のドキュメント名、DUT101の未接続ポートに対する処理内容を含む処理結果レポート104を出力する。
次に、図2を用いて検証装置をライブラリとして登録した検証装置ライブラリ105の詳細な構成について説明する。
図2は、本実施形態における検証装置ライブラリ105の構成の一例を示す図である。図2に示すように、検証装置ライブラリ105には検証装置の各種情報が登録され、その登録項目として、検証装置がマスターモデルなのか、スレーブモデルなのか、バスモニタなのかといった検証装置の種類を示す種類201と、検証装置名202と、ドキュメントを格納したファイルサーバーへのパスを示すドキュメント格納場所203と、オプション信号であり、使用しなくてもよい検証装置ポートを示す未使用可能ポート204と、複数のバス幅対応をサポートするためのカスタマイズパラメータ205と、検証装置のトップモジュールを格納したファイルサーバーへのパスを示す格納場所206がある。そして、上述した検証装置のドキュメント及びトップモジュールはファイルサーバー207に格納される。
図2に示す例では、検証装置ライブラリ105の先頭に、種類201が「バスマスターモデル」、検証装置名202が「バスA_マスターモデル」、検証装置のドキュメントの格納場所203が「…/BusA_Model/Master.pdf」、未使用可能ポート204が「wait」、バス幅のカスタマイズパラメータ205が「BUS_WIDTH」、検証装置のトップモジュールの格納場所206が「/…/busa_master_model/top.v」のモデルが登録されている。
尚、1つの検証装置が複数のファイル若しくはブロックから構成されている場合に対応するため、格納場所206にはポートを参照するべき検証装置のトップモジュールを登録する。
更に、登録項目として種類201を持つことにより、テストベンチ作成装置102が、検証装置を検索する際に、種類201により検索対象範囲を切り替え可能となる。また、使用したい検証装置の種類のみを検索対象とする。若しくは、使用したくない検証装置の種類を検索対象から除外する。更に、検索対象範囲は種類201のみならず、任意に設定しても良い。
また、登録項目としてドキュメント格納場所203に検証装置のドキュメント格納場所を登録することにより、テストベンチ作成装置102が出力する処理結果レポート104において、接続した検証装置のドキュメントの場所を示すことが可能となる。
そして、ドキュメント格納場所203及び格納場所206には、パスを登録するので、ドキュメント及び検証装置をファイルサーバー207上に任意に置くことができる。
次に、図3を用いて未接続ポートを処理するルールを定義した未接続ポート処理ルール106の詳細な構成について説明する。
図3は、本実施形態における未接続ポート処理ルール106の詳細な構成を示す図である。図3に示すように、未接続ポートの処理ルールとして、ポートの方向301とポート名302を条件に、ポートの処理303の内容を定義している。尚、異なる処理ルールをテストベンチ作成装置102に格納することで未接続ポートの処理ルールを変更することができる。
図3に示す例では、ポートの方向301が「入力」で、ポート名302の最後が「_l」、「_L」、「_x」、「_X」、の場合は、ロウアクティブと判断し、ポートの処理303を「ハイ固定」とし、それ以外の「入力」ポートでは、ハイアクティブと判断し、ポートの処理303を「ロウ固定」とするように定義されている。
また、ポートの方向301が「双方向」で、ポート名302の最後が「_l」、「_L」、「_x」、「_X」の場合は、ポートの処理303を「プルアップ」とし、それ以外の「双方向」ポートでは、ポートの処理303を「プルダウン」とするように定義されている。
そして、ポートの方向301が「出力」の場合は、何も接続せず、ポートの処理303をオープンとするように定義されている。
尚、上述した処理ルールはこれだけに限らず、例えばユーザ毎に任意のルールを持っても良い。
次に、上述したテストベンチ作成装置102において、検証装置ライブラリ105及び未接続ポート処理ルール106に基づいてDUT101のテストベンチ103を作成する処理を、図4及び図5を用いて説明する。
尚、本実施形態では、DUT101と接続可能な検証装置を検証装置ライブラリ105から検索する処理と、テストベンチへのインスタンス及びDUT101との接続処理とは、検証装置ライブラリ105の種類201に応じて、モニタ検証装置以外を一括対象とした処理と、モニタ検証装置を対象とした処理の別々の処理を有する。これは、モニタ検証装置以外の検証装置がDUT101の同一ポートに複数接続されることはないが、モニタ検証装置以外とモニタ検証装置とが同一ポートに接続されることはあり得るからである。
図4及び図5は、テストベンチを作成するテストベンチ作成処理を示すフローチャートである。上述のモニタ検証装置以外を対象とした処理がステップS404〜S410で、モニタ検証装置を対象とした検索とインスタンスと接続を行う処理がステップS503〜S510である。
まず、ステップS401で、テストベンチを作成するDUT101のトップモジュールのパスを入力する。次に、ステップS402で、DUT101をインスタンスしたテストベンチのトップモジュールを作成する。
次に、ステップS403では、検証装置ライブラリ105にモニタ検証装置以外で検索対象となる検証装置があるか否かを判定する。ここで、モニタ検証装置以外で検索対象となる検証装置がある場合にはステップS404へ進む。また、モニタ検証装置以外で検索対象となる検証装置がない場合にはステップS501へ進む。
尚、本実施形態では、上述の判定は、モニタ検証装置以外の種類の検証装置がDUTと接続可能か否かを判断することで判定しており、具体的には、検証装置の全てのポートとDUT101のポートにおいて以下の3つの条件が成立する場合、モニタ検証装置以外で検索対象となる検証装置があると判定するものである。
(1)ポート名302が一致。
(2)ポートの幅が一致。例えば、DUT101のポートが1ビットであれば検証装置のポートも1ビットであり、DUT101のポートが8ビットであれば検証装置のポートも8ビットであること。
(3)ポートの方向301に矛盾がない。例えば、DUT101のポートの方向301が入力であれば、検証装置のポートの方向は出力であること。
ステップS404で、検証装置が未接続で、かつ、接続可能判定を行っていないDUT101のポートがあるか否かをチェックする。ここで、ポートが存在する場合はステップS405へ進む。また、ポートが存在しない場合はステップS501へ進む。
ステップS405では、DUT101の接続可能判定をしていない1ポートに注目し、「ポート名」と「ポートの方向」を検索キーワードに検証装置ライブラリ105から接続できる可能性のある検証装置のポートを検索する。ここで、該当する検証装置のポートがある場合はステップS406へ進む。また、該当する検証装置のポートがない場合はステップS411へ進み、そのDUTポートは接続可能判定済みとする。
ステップS406では、該当する検証装置の持つ他の全てのポートと接続できる可能性のあるポートがDUT101に存在するかを「ポート名」と「ポートの方向」を検索キーワードに逆検索を行う。但し、DUT101に存在しないポートが未使用可能ポート204のみである場合は、接続できる可能性があるポートがDUTに存在すると判定する。
ここで、ポートが存在する場合はステップS407へ進む。また、ポートが存在しない場合はステップS411へ進み、そのDUTポートは接続可能判定済みとする。
ステップS407では、該当する全てのポートにおいて、「ポートの幅」が一致するか否かを判定する。尚、検証装置のポートの幅がカスタマイズパラメータにより可変の場合は、全てのポートで「ポートの幅」が一致するカスタマイズパラメータが存在する場合に一致すると判断する。
ここで、一致すると判定した場合はステップS408へ進む。また、一致しないと判定した場合はステップS408へ進み、そのDUTポートは接続可能判定済みとする。
ステップS408では、「ポートの名」、「ポートの方向」、「ポートの幅」の全てが一致するので、該当する検証装置がDUT101と接続可能であると判定する。そして、ステップS409で、ユーザーに該当する検証装置の検証装置名202を示し、接続してよいか否かを問い合わせる。この処理により、接続可能な検証装置であっても、検証項目によっては必要とせず、動的論理シミュレーションのスピードを低下させたくない場合、ユーザーは接続させないようにすることもできる。
ここで、ユーザーが接続してよいと判定した場合はステップS410へ進み、また接続させないと判定した場合はステップS411へ進み、そのDUTポートは接続可能判定済みとする。
ステップS410では、3つの条件が一致した検証装置をテストベンチにインスタンスし、DUT101と接続する。尚、カスタマイズパラメータが存在する場合は、検証装置インスタンス時に適用する。そして、ステップS411へ進み、そのDUTポートは接続可能判定済みとする。
上述したように、DUTポートの管理を行い、検証装置が未接続、かつ、接続可能なモニタ以外の検証装置があるか否かを検証装置ライブラリ105から検索していないDUTポートがなくなるまで、上述したステップS405からステップS411までのループを繰り返し、DUTポートがなくなるとステップS501へ進む。
次に、モニタ検証装置がDUT101と接続可能である場合は、モニタ検証装置の全てのポートとDUT101のポートにおいて以下の2つの条件が成立する場合である。
・「ポート名」が一致。
・「ポートの幅」が一致。例えば、DUT101のポートが1ビットであれば検証装置のポートも1ビット、DUTのポートが8ビットであれば検証装置のポートも8ビットであること。
尚、「ポートの方向」が条件にないのは、モニタ検証装置は、信号をサンプリングするのみ、即ち、入力のみであるためである。
まず、ステップS501で、モニタ検証装置を対象とした検索とインスタンスと接続を行う処理を実行する前に、ステップS411で行った接続判定情報をクリアする。そして、ステップS502で、検証装置ライブラリ105の検索対象にモニタ検証装置があるか否かを判定する。ここで、モニタ検証装置がある場合、モニタ検証装置を対象とした検索とインスタンスと接続を行うステップS5503へ進み、またモニタ検証装置がない場合はステップS511へ進み、未接続ポートの処理を行う。
ステップS503では、モニタ検証装置が未接続で、かつ、接続可能判定をしていないDUTポートがあるか否かをチェックする。ここで、ポートが存在する場合はステップS504へ進む。また、ポートが存在しない場合はステップS510へ進み、そのDUTポートは接続可能判定済みとする。
ステップS504では、DUT101の接続可能判定をしていないある1ポートに注目し、「ポート名」を検索キーワードに検証装置ライブラリ105から接続できる可能性のあるモニタ検証装置のポートを検索する。ここで、接続できる可能性のあるモニタ検証装置のポートが存在する場合はステップS505へ進む。また、存在しない場合はステップS510へ進み、そのDUTポートは接続可能判定済みとする。
ステップS505では、該当する検証装置のポートがある場合、該当する検証装置の持つ他の全てのポートと接続できる可能性のあるポートが、DUT101に存在するかを、「ポート名」を検索キーワードに逆検索を行う。
但し、DUT101に存在しないポートが未使用可能ポート204のみである場合は、接続できる可能性があるポートがDUT101に存在すると判定する。
ここで、存在する場合はステップS506へ進む。また、存在しない場合はステップS510へ進み、そのDUTポートは接続可能判定済みとする。
ステップS506では、該当する全てのポートにおいて、「ポートの幅」が一致するか否かを判定する。モニタ検証装置のポートの幅が、カスタマイズパラメータ205により可変の場合、全てのポートで「ポートの幅」が一致するカスタマイズパラメータ205が存在する場合、一致すると判定する。
ここで、全てのポートで「ポートの幅」が一致すると判定した場合はステップS507へ進む。また、一致しないと判定した場合はステップS510へ進み、そのDUTポートは接続可能判定済みとする。
ステップS507では、「ポートの名」、「ポートの幅」の全てが一致するので、該当するモニタ検証装置がDUT101と接続可能であると判定する。そして、ステップS508で、ユーザーに該当するモニタ検証装置の検証装置名202を示し、接続してよいか否かを問い合わせる。この処理により、接続可能なモニタ検証装置であっても、検証項目によっては必要とせず、動的論理シミュレーションのスピードを低下させたくない場合、ユーザーは接続させないようにすることもできる。
ここで、ユーザーが接続してよいと判定した場合はステップS509へ進み、また接続させないと判定した場合はステップS510へ進み、そのDUTポートは接続可能判定済みとする。
ステップS509では、2つの条件が一致したモニタ検証装置をテストベンチにインスタンスし、DUT101と接続する。尚、カスタマイズパラメータが存在する場合は、検証装置インスタンス時に適用する。そして、ステップS510へ進み、そのDUTポートは接続可能判定済みとする。
上述したように、DUTポートの管理を行い、モニタ検証装置が未接続、かつ、接続可能なモニタ検証装置があるか否かを検証装置ライブラリ105から検索していないDUTポートがなくなるまで、上述したステップS504からステップS510までのループを繰り返し、DUTポートがなくなるとステップS511へ進む。
ステップS511では、信号が接続されていないテストベンチ上の全てのDUT未接続ポートに対して図3に示した未接続ポートの処理ルールに従って信号を固定する。次に、ステップS512で、未接続ポートがなくなるまでステップS511の処理を繰り返し、未接続ポートがなくなるとステップS513へ進む。
ステップS513で、DUT101のテストベンチ103が完成し、ステップS514で、DUT101のテストベンチ103の出力と、接続した検証装置名とその検証装置のドキュメントの格納先と未使用検証装置ポート、検証装置カスタマイズパラメータ、未接続ポートに対して行った処理内容を含む処理結果レポート104を出力し、テストベンチ作成装置の処理を終了する。
尚、検証装置名と検証装置のドキュメント格納先は、検証装置ライブラリ105から取得する。
図6は、Verilogを用いた論理検証を説明するための図である。図6では、検証装置を検索する処理と未接続ポートの処理をHDL(Hardware Description Language)の1つであるVerilogを用いて説明したものである。
図6において、601はテストベンチ103を作成する検証対象であるDUT101のポートである。602はDUT101のポートをVerilogで記述した例である。603は検証装置ライブラリ105に登録されている検索対象の一つであるバスB_マスターモデルのポートである。604はバスB_マスターモデルのポート603をVerilogで記述した例である。
605は検証装置ライブラリ105に登録されている検索対象の一つであるバスA_マスターモデルのポートである。606はバスA_マスターモデルのポート605をVerilogで記述した例である。607は検証装置ライブラリ105に登録されている検索対象の一つであるバスA_スレーブモデルのポートである。608はバスA_スレーブモデルのポート607をVerilogで記述した例である。
609は検証装置ライブラリ105に登録されている検索対象の一つであり、種類としてはモニタに属するバスA_モニタのポートである。610はバスA_モニタのポート609をVerilogで記述した例である。611はDUTの未接続ポートに対する処理である。
尚、図6に示す(1)〜(7)及び[×][○]は、テストベンチ作成における処理の順番及び判定結果を示すものである。
まず、DUT101の1ポートであるAREQと接続可能なモニタ以外の検証装置のポートを「ポート名」、「ポートの方向」を検索キーワードとして検証装置ライブラリ105から検索する。(1)で、バスB_マスターモデルのポート603を全て検索し、その結果は[×]であり、接続可能なポートがないことを示している。次の(2)で、バスA_マスターモデルのポート605を検索する。その結果、「ポート名」が一致するポートAREQがあるが、「ポートの方向」がDUT101とモデルでは矛盾するので、接続可能なポートはないことを示している。
次に、(3)で、バスA_スレーブモデルのポート607を検索し、その結果は[○]であり、「ポート名」、「ポートの方向」が一致するポートAREQがあることを示している。次の(4)で、バスA_スレーブモデルの他のポートAADDR、A_WR、ADATA、AACK、WAITと、DUT101に接続可能ポートがあるか逆検索を行う。その結果、WAIT以外のポートは、「ポート名」、「ポートの方向」共に一致するポートがあることを示している。尚、WAITは、図2に示すように、未使用可能ポート204に登録されているので、無視することとする。
次に、WAIT以外の全てのポートで「ポートの幅」が一致するか否かを調べる。カスタマイズパラメータ205に、BUS_WIDTHが登録されており、BUS_WIDTH=64のときにすべての「ポートの幅」が一致する。従って、DUT101とバスA_スレーブモデルは、WAIT信号を未接続、BUS_WIDTH=64で、接続可能と判断して接続する。
次に、モニタ検証装置の検索及び接続を行う。(5)で、DUT101の1ポートであるAREQとモニタ検証装置のポートを「ポート名」を検索キーワードとして検証装置ライブラリ105から検索する。バスA_モニタのポート609を検索し、その結果は[○]であり、「ポート名」が一致するポートAREQがあることを示している。
次に、(6)で、バスA_モニタの他のポートとDUT101に接続可能ポートがあるか逆検索を行う。モニタ検証装置とDUT101とは「ポート名」、「ポートの幅」が接続可能判定条件であり、未使用可能ポート204とカスタマイズパラメータ205から、DUT101とバスA_モニタは、WAIT信号を未接続、BUS_WIDTH=64で、接続可能と判断して接続する。
そして、(7)で、DUT101の他のポートTEST_OUT、TEST_IN、INT_Lは、どの検証装置とも一致しないので、図3で示したポートの処理ルールに従って処理される。この例では、ポートTEST_OUTは出力なので「オープン」に、ポートTEST_INはハイアクティブの入力ポートと判定して「ロウ固定」に、INT_Lはロウアクティブの入力ポートと判定して「ハイ固定」にする。
以上説明したように本実施形態によれば、検証対象となるDUT101を入力することにより、検証装置の接続されたDUT101のテストベンチ103を容易に作成することができる。
従って、検証担当者は、使用可能な検証装置が存在するかの調査、使用する検証装置の取得、DUTと検証装置のテストベンチへのインスタンス、DUTと検証装置の接続、未接続ポートの処理を行う必要がなくなり、テストベンチ作成時間を短縮でき、手作業によるテストベンチ作成におけるミスの排除を行うことができ、直ちにテスト作成に着手することが可能となる。
従って、LSIの論理検証期間の短縮、即ち、LSI開発期間の短縮を図ることができ、製品開発の短縮が可能となる。また、今後のLSIの複雑化・大規模化に伴う、多品種少量生産に対応したLSIの短期開発・短期検証にも対応することが可能となる。
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本実施形態におけるテストベンチ作成装置の構成の一例を示す図である。 本実施形態における検証装置ライブラリ105の構成の一例を示す図である。 本実施形態における未接続ポート処理ルール106の詳細な構成を示す図である。 テストベンチを作成するテストベンチ作成処理を示すフローチャートである。 テストベンチを作成するテストベンチ作成処理を示すフローチャートである。 Verilogを用いた論理検証を説明するための図である。
符号の説明
101 DUT
102 テストベンチ作成装置
103 テストベンチ
104 処理結果レポート
105 検証装置ライブラリ
106 未接続ポート処理ルール
111 検証装置ライブラリ記憶部
112 検証装置検索部
113 インスタンス及び接続部
114 処理ルール記憶部
115 未接続ポート処理部
116 レポート部
201 種類
202 検証装置名
203 ドキュメント格納場所
204 未使用可能ポート
205 カスタマイズパラメータ
206 格納場所
207 ファイルサーバー

Claims (18)

  1. 検証対象の論理回路を検証装置により機能検証するための検証環境を作成する検証環境作成装置であって、
    複数の検証装置を登録している検証装置ライブラリから前記検証対象の論理回路と接続可能な検証装置を検索する検索手段と、
    前記検索手段で検索された検証装置を前記検証環境にインスタンスし、当該検証装置と前記論理回路を接続する手段と、
    前記接続された論理回路の未接続ポートを所定の処理ルールに従って処理する手段とを有することを特徴とする検証環境作成装置。
  2. 前記検証装置ライブラリは、検証装置として少なくともデバイスモデル、バスマスターモデル、バススレーブモデル、バスモニタ、クロックジェネレータ、及びリセットジェネレータを含むことを特徴とする請求項1記載の検証環境作成装置。
  3. 前記検証装置ライブラリに登録されている検証装置は、登録情報として少なくとも検証装置の種類、検証装置名、検証装置のドキュメント格納先、未使用可能ポート情報、カスタマイズパラメータ、及び検証装置の格納先を含むことを特徴とする請求項1記載の検証環境作成装置。
  4. 前記検索手段は、ポート情報であるポート名とポートの方向とポートの幅を検索キーワードとして、前記検証対象の論理回路と接続可能な検証装置を検索することを特徴とする請求項1記載の検証環境作成装置。
  5. 前記検索手段は、ポート情報であるポート名とポートの幅を検索キーワードとして、前記検証対象の論理回路と接続可能なモニタ検証装置を検索することを特徴とする請求項1記載の検証環境作成装置。
  6. 前記検索手段は、前記検証対象の論理回路と接続可能な検証装置が検索された後、当該検証装置の全てのポートが前記検証対象の論理回路と接続可能であるかを逆検索することを特徴とする請求項1記載の検証環境作成装置。
  7. 前記検索手段は、前記未使用可能ポート情報が示すポート以外の全てのポートについて前記検証対象の論理回路と接続可能であるかを検索することを特徴とする請求項3記載の検証環境作成装置。
  8. 前記検索装置ライブラリから検証装置を検索する検索範囲を切り換える切り換え手段を更に有することを特徴とする請求項3記載の検証環境作成装置。
  9. 前記切り換え手段は、前記検証装置の種類により前記検索装置ライブラリにおける検索範囲を切り換え可能であることを特徴とする請求項8記載の検証環境作成装置。
  10. 前記切り換え手段は、検索を禁止する検証装置の種類を指定することにより検索範囲を切り換えることを特徴とする請求項8記載の検証環境作成装置。
  11. 前記インスタンス及び接続する手段は、前記検証対象の論理回路と検証装置を検証環境にインスタンスし、前記論理回路と検証装置のポートを接続することを特徴とする請求項1記載の検証環境作成装置。
  12. 前記インスタンス及び接続する手段は、前記検証装置の検証環境へのインスタンス時に、ユーザーに問い合わせの上、インスタンス決定を行うことを特徴とする請求項11記載の検証環境作成装置。
  13. 前記論理回路のポート名とポートの方向を条件として、ポートの信号レベルをどのように固定するかを記述した処理ルールを記憶手段に格納していることを特徴とする請求項1記載の検証環境作成装置。
  14. 前記未接続ポートの処理は、所定の処理ルールに従って前記検証対象の論理回路の信号が接続されていない全ポートに対して、ポートの信号レベルの固定処理を行うことを特徴とする請求項1記載の検証環境作成装置。
  15. 前記検証対象の論理回路と接続した検証装置名、接続した検証装置のドキュメント格納先、未接続ポートに対して行った処理を含むレポートを出力する手段を更に有することを特徴とする請求項1記載の検証環境作成装置。
  16. 検証対象の論理回路を検証装置により機能検証するための検証環境を作成する検証環境作成装置の処理方法であって、
    複数の検証装置を登録している検証装置ライブラリから前記検証対象の論理回路と接続可能な検証装置を検索する検索工程と、
    前記検索工程で検索された検証装置を前記検証環境にインスタンスし、当該検証装置と前記論理回路を接続する工程と、
    前記接続された論理回路の未接続ポートを所定の処理ルールに従って処理する工程とを有することを特徴とする検証環境作成装置の処理方法。
  17. 請求項16記載の検証環境作成装置の処理方法をコンピュータに実行させるためのプログラム。
  18. 請求項17記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2004371889A 2004-12-22 2004-12-22 検証環境作成装置及びその処理方法 Withdrawn JP2006178775A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004371889A JP2006178775A (ja) 2004-12-22 2004-12-22 検証環境作成装置及びその処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004371889A JP2006178775A (ja) 2004-12-22 2004-12-22 検証環境作成装置及びその処理方法

Publications (1)

Publication Number Publication Date
JP2006178775A true JP2006178775A (ja) 2006-07-06

Family

ID=36732834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004371889A Withdrawn JP2006178775A (ja) 2004-12-22 2004-12-22 検証環境作成装置及びその処理方法

Country Status (1)

Country Link
JP (1) JP2006178775A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210004A (ja) * 2007-02-23 2008-09-11 Fujitsu Ltd 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
JP2008276628A (ja) * 2007-05-02 2008-11-13 Sony Corp 回路最適化情報管理装置およびその方法、並びにプログラム
JP2016506550A (ja) * 2012-10-28 2016-03-03 ザ マスワークス, インクThe Mathworks, Inc. 自己テスト型グラフィックコンポーネントアルゴリズム仕様
US10372841B2 (en) 2012-10-28 2019-08-06 The Mathworks, Inc. Self-testing graphical component algorithm specification

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210004A (ja) * 2007-02-23 2008-09-11 Fujitsu Ltd 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
JP2008276628A (ja) * 2007-05-02 2008-11-13 Sony Corp 回路最適化情報管理装置およびその方法、並びにプログラム
US8843863B2 (en) 2007-05-02 2014-09-23 Sony Corporation Apparatus, method and computer program for managing circuit optimization information
JP2016506550A (ja) * 2012-10-28 2016-03-03 ザ マスワークス, インクThe Mathworks, Inc. 自己テスト型グラフィックコンポーネントアルゴリズム仕様
US10360310B2 (en) 2012-10-28 2019-07-23 The Mathworks, Inc. Self-testing graphical component algorithm specification
US10372841B2 (en) 2012-10-28 2019-08-06 The Mathworks, Inc. Self-testing graphical component algorithm specification

Similar Documents

Publication Publication Date Title
US8417504B2 (en) Conversion of circuit description to a transaction model
CN100456308C (zh) 断言产生系统、电路验证系统以及断言产生方法
US9064068B1 (en) Debuggable opaque IP
US6757882B2 (en) Self-describing IP package for enhanced platform based SOC design
US20040117746A1 (en) Intent-driven functional verification of digital designs
JP2004171576A (ja) 高速チップ管理システム
US8539406B2 (en) Equivalence checking for retimed electronic circuit designs
JP5004566B2 (ja) 設計を検証するシステム
JP2002514822A (ja) 有限状態機械を識別して回路設計を検査するシステムおよび方法
US6539523B1 (en) Automatic formulation of design verification checks based upon a language representation of a hardware design to verify the intended behavior of the hardware design
US20070150249A1 (en) Verification Operation Supporting System and Method of the Same
CN108140059B (zh) 用于基于布局的检查的分析过程参数的可视化
JP2007094506A (ja) 回路検証システムと方法、及びプログラム
JP2006178775A (ja) 検証環境作成装置及びその処理方法
JP5447547B2 (ja) マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム
JP2007188517A (ja) タイミング配分装置
US7275223B2 (en) Facilitating high-level validation of integrated circuits in parallel with development of blocks in a hierarchical design approach
JPWO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
Raymond Tutorial Series 10 LSI/VLSI Design Automation
JP2005510787A (ja) 応答器による多様環境テスト
US20110072404A1 (en) Parallel Timing Analysis For Place-And-Route Operations
JP2005293349A (ja) 回路設計支援システム、設計方法及びプログラム
JP7351189B2 (ja) タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム
JP2007026180A (ja) テストベンチ自動生成装置
JP2006285860A (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: 20080304