JP3373641B2 - テスト系列生成装置 - Google Patents

テスト系列生成装置

Info

Publication number
JP3373641B2
JP3373641B2 JP04288294A JP4288294A JP3373641B2 JP 3373641 B2 JP3373641 B2 JP 3373641B2 JP 04288294 A JP04288294 A JP 04288294A JP 4288294 A JP4288294 A JP 4288294A JP 3373641 B2 JP3373641 B2 JP 3373641B2
Authority
JP
Japan
Prior art keywords
description
rtl
behavior
test
test sequence
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
JP04288294A
Other languages
English (en)
Other versions
JPH07254008A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP04288294A priority Critical patent/JP3373641B2/ja
Publication of JPH07254008A publication Critical patent/JPH07254008A/ja
Application granted granted Critical
Publication of JP3373641B2 publication Critical patent/JP3373641B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はハードウェア設計言語で
設計されたシステムのテスト系列生成装置に関する。
【0002】
【従来の技術】従来論理システムのハードウェア設計に
おいて、半導体技術の進歩に伴う設計工数の増大という
問題の一つの解決方法として、論理合成が盛んに行われ
るようになってきている。論理合成を用いることによ
り、RTL記述(レジスタ転送レベルによるハードウェ
ア設計記述)からこれに対応するゲートレベルの論理回
路が自動的に合成されるようになった。
【0003】このRTL記述を検証するテスト系列とし
て、レジスタやバスや演算器がクロックや制御信号のも
とで動作し、決めされたサイクルに正しい結果が得られ
るかどうかを検証するパターンが用いられる。それは入
力ポートに印加する入力テストパターンと、出力ポート
における期待値パターンと、回路の内部を検証するため
のレジスタに印加するテストパターン、レジスタにおけ
る期待値パターンからなる。
【0004】前述のように入力となるRTLの入力テス
トパターンについては設計者が人手で作成していた。ま
た期待値パターンについては、設計者がテスト系列を用
いてRTLのシミュレーションを行った後、得られた結
果が仕様通りかどうかを確かめ、正しい場合にその結果
を期待値としていた。
【0005】一方、より抽象度の高いビヘイビア記述か
ら高位合成装置で生成されたRTL記述に関する検証用
テスト系列を作成するためには、設計者はまず合成され
たRTL記述を理解する必要があった。例えば、すべて
の入力ポートに印加するテストパターンのタイミング
と、出力ポートに現れる演算結果のタイミング情報を、
RTL記述から読み取る必要があった。1メガゲート規
模のLSIのRTL記述は、記述の行数が数万、ポート
数が数百にもなり、設計者が1ポートずつそのタイミン
グを調べるのは大変時間の要する作業だった。
【0006】ポートには整数型をはじめとして浮動少数
型、ビット型等のさまざまなデータタイプが存在するた
め、ビヘイビア記述のポートのデータタイプと、レジス
タ転送記述のデータタイプが異なる場合には、それを考
慮してテストパターンの値を変換する必要があった。そ
のうえ、ポート毎に異ったデータタイプが使用されてい
ると、タイプ変換に伴う作業が大変繁雑で大変時間を要
していた。このように、設計者はRTL記述の入力また
は出力のスケージューリング情報の獲得、パターンの値
の変換を人手で行いながら入力テスト系列を作成してい
た。
【0007】又、大規模な論理システムのRTL記述は
数万〜数十万行にもなり、この記述のテスト系列はそれ
と同等の行もしくはそれ以上となり、人手で作成するの
は大変な作業であった。
【0008】一方、設計の効率向上のために、すでに他
の目的で設計された回路を別の大規模システムの部品と
して再利用する場合がある。設計の対象となるシステム
が大規模になるにつれこのような機会は多くなる。この
ような場合、たとえ再利用される回路の動作がそれ自身
で正しいと保証されていても、システムの整合性をチェ
ックするためにもその回路を組み込んでシステム全体で
動作を検証する必要がある。
【0009】大規模なシステム全体をシミュレーション
により検証するには、RTLよりもさらに抽象度を高め
た高位の記述レベルである、ビヘイビアレベルで行なう
方が効率が良い。抽象度が高いため詳細な部分まではシ
ミュレーションできないが、シミュレーション自体は高
速に行なうことができる。しかし、回路内部の動作をよ
り詳細に検証したい場合は、RTLでのシミュレーショ
ンの方が適している。このことから、前記のような既設
計の回路モジュールをいくつか含んだ大規模システムを
検証するには、新たに作成した回路モジュールは詳細に
検証を必要とするためRTLで、既設計の回路モジュー
ルは他モジュールとのインターフェイスに関わる部分が
主に必要なためビヘイビアレベルで記述し、両レベルの
モジュール間のタイミング等の調整をとりながら全体を
シミュレーションしたいという要求が強くなってきてい
る。
【0010】
【発明が解決しようとする課題】しかし、既設計の回路
の多くはRTLで設計されているため、前記のような検
証方法をとるためには、既設計回路をRTL記述からビ
ヘイビア記述に書き直す必要がある。このとき、書き直
したビヘイビア記述がもとのRTL記述の仕様として正
しいかどうかという検証を行わなければならない。この
検証は、RTL記述の既設計回路を検証する時に用いた
RTLテスト系列と等価なビヘイビアレベルのテスト系
列を作成し、RTL記述のシミュレーション結果と、ビ
ヘイビア・テスト系列によりビヘイビア記述をシミュレ
ーション結果とを比較することができれば可能となる。
【0011】ところが、上記のようなRTL記述をシミ
ュレーションするためのRTLテスト系列から、それと
等価なビヘイビア記述をシミュレーションするためのビ
ヘイビア・テスト系列を作成することは、以下に述べる
ようにRTLとビヘイビアのレベルにおいて、時間、デ
ータ等に関して抽象度が異なるため、容易にはRTLテ
スト系列と等価なビヘイビア・テスト系列は作成できな
いという問題があった。
【0012】データに関しては、例えば、RTLではデ
ータ型として、整数を扱う場合もあるが多くの場合はビ
ット列や多値論理が主である。これに対しビヘイビアレ
ベルでは、前記のデータ型に加え、リテラルや構造体の
ような抽象的なデータを扱うこともある。
【0013】時間に関しては、RTLではクロックに同
期した状態という概念があり、このため時系列に沿った
テスト系列を作成する時は、各状態毎、あるいはクロッ
クのサイクル単位時間毎にテストベクトルを指定するこ
とになる。また各状態での回路動作が決定しているた
め、入力値を変化させる時刻もそれに合わせて決定しな
ければならない。
【0014】これに対しビヘイビアのレベルでは、RT
Lのようなロックに同期した状態という概念はなく、個
々の動作の順序関係が時間的概念として考えらられるた
め、単位時間毎に入力ベクトルを指定するのではなく、
ビヘイビア記述の出力変数に変化がみられる可能性のあ
る入力ベクトルを逐次的に指定することになる。
【0015】このように、RTLとビヘイビアレベルで
はデータや時間等に関して抽象度が異なるため、RTL
のテスト系列からそれと等価なビヘイビアレベルのテス
ト系列を作成し、ビヘイビア記述を検証することは困難
であった。
【0016】また、RTLのテスト系列とは独立にビヘ
イビア・テスト系列を作成し、それを用いてビヘイビア
記述のシミュレーションを行ない、検証する方法も考え
られる。これにより、ビヘイビア記述の正しさは検証で
きる。しかしながらこの手法では、RTL記述より回路
の動作仕様を解釈してビヘイビア記述を作成する作業の
解釈段階で誤りがあると、その誤りは検出されず、もと
のRTL記述と等価なビヘイビア記述であることは保証
されないという問題があった。
【0017】このように、RTLで記述された回路をビ
ヘイビア記述に書き直したとしてもそれが等価であると
いう検証を行なうことは困難であるという問題があっ
た。このため、RTLで記述された回路モジュールをビ
ヘイビア記述に書き直し、その部分はビヘイビアレベル
でシミュレーションを行い、システム全体の検証の効率
を上げようとしても、書き直したビヘイビア記述がもと
のRTL記述と等価でない場合が生じるため、検証結果
の信頼性が低下し、システム検証時にビヘイビア記述の
修正がたびたび必要となり、結局は設計全体の効率向上
にはならないという問題があった。
【0018】本発明の第1の様相による目的は、ビヘイ
ビア記述の検証用テスト系列がすでに存在し、かつRT
L記述が人手で設計された場合に、RTLの検証用テス
ト系列と期待値系列の生成を自動化することにより、R
TLの記述の設計検証時間を短縮することと、高位合成
で生成されたRTL記述のテスト系列の作成に際し、設
計者が高位合成されたRTL記述から回路の機能を理解
するのが困難なために、RTL記述の検証用テスト系列
の作成にかかっていた時間を大幅に削減することと、R
TLの回路の機能を誤解してテスト系列を作成したり、
RTL記述の変更に伴って必要なテスト系列を修正を、
人手で行うことから発生する不具合の混入を防ぐため
に、RTL記述のテスト系列の作成を自動化することで
ある。
【0019】又、前記のビヘイビア記述とRTL記述と
を混在させたシステム全体のシミュレーションを適用し
ても設計の効率向上にはつながらないという問題は、R
TL記述からビヘイビア記述を作成した時、ビヘイビア
記述がRTL記述と等価であるかどうかを検証する手段
であれば、解決することが可能である。一般に記述の検
証としてシミュケーションが有効であるが、テスト系列
も等価なものを使用する必要がある。しかし、RTLテ
スト系列からそれと等価なビヘイビア系列を作成するこ
とは、両レベルの抽象度の違いなどから困難であった。
【0020】このため本発明の第2の様相によれば、R
TLテスト系列からそれと等価なビヘイビア・テスト系
列を生成する機能を実現することを目的とする。これに
より、RTLテスト系列によるRTL記述のシミュレー
ション結果とビヘイビア・テスト系列によるビヘイビア
記述のシミュレーション結果が比較可能となり、ビヘイ
ビア記述とRTL記述とが等価であるかどうかを検証す
ることができ、前記の問題も解決される。
【0021】
【課題を解決するための手段】本発明の第1の様相によ
れば、テスト系列生成装置は、論理システムのビヘイビ
アレベルの仕様記述と、前記仕様記述に対応したレジス
タ転送レベルの記述とから、前記レジスタ転送レベルの
状態の遷移に対応する制御ステップの各ステップにおい
て、レジスタ転送レベルの記述及びビヘイビアレベルの
仕様記述の信号名及びポートの対応付けを行うことによ
って、前記仕様記述と前記レジスタ転送レベルの記述と
の対応をとる対応作成部と、前記仕様記述を検証するた
めのテスト系列データをもとに、前記対応作成部によっ
て得られた、前記仕様記述と前記レジスタ転送レベルの
記述との対応関係に基づいて、レジスタ転送レベルのテ
スト系列データを自動で生成するテスト系列生成部とを
有する。
【0022】本発明の上記課題の第2の様相によるテス
ト系列生成装置は、RTL記述の状態遷移の情報を解析
するRTL解析部と、前記RTL解析部の生成した状態
遷移情報をもとにRTLテスト系列(RTLテストパタ
ーン)を必要とするステップ数に加工するテスト系列
(テストパターン)加工部と、RTL−ビヘイビア記述
の対応情報を基にRTL記述とビヘイビア記述にそれぞ
れ存在するファシリティと変数と、それらのデータ型の
対応づけを行い、テスト系列の形態を変更してビヘイビ
アレベルのテスト系列を生成するテスト表現形態変更部
からなる。
【0023】
【作用】本発明の第1の様相によれば、ビヘイビアレベ
ルの仕様記述とレジスタ転送レベルの記述との対応作成
部は、ビヘイビアレベルの記述データと、RTLの記述
データと、RTLのファシリティとビヘイビア記述の信
号名との対応情報から、RTLのファシリティやビヘイ
ビアの信号のデータタイプや、RTLのファシリティに
対してなされるテストパターンの印加または観測時間、
RTL記述に付加されたファシリティのパターンの値か
らなるRTLのテスト系列情報を生成する。RTLの検
証用テスト系列を生成するテスト生成部は、上記ビヘイ
ビアレベルの入力テスト系列と期待値系列のデータを取
り込み、上記対応作成部が生成したテスト系列情報を用
いて、RTL記述の入力テスト系列と期待値系列を生成
する。
【0024】本発明の第2の様相によれば、まずRTL
解析部がRTL記述の状態遷移の情報を解析し、RTL
記述の状態数、状態遷移の条件、各状態において参照さ
れる入力ポート、値の設定される出力ポートの情報を生
成する。これらの情報をもとに、テストパターン加工部
は、RTLテスト系列の各ステップがRTL記述のどの
状態にあるかを調査し、RTLテスト系列において有効
な値を抽出し、テストパターンのステップの併合や削除
を行ない、ビヘイビア・テスト系列と同数のステップの
テスト系列を生成する。テスト表現形態変更部は、ビヘ
イビア記述の情報を基にRTL記述とビヘイビア記述の
間のファシリティと変数、データ型の対応づけを行な
い、前記テスト系列加工部の生成したテストパターンに
おいても、同様にファシリティと変数のエントリィの対
応付けを行ない、一つのRTLファシリティが複数のビ
ヘイビア変数で記述されている場合には、テスト系列の
前記RTLファシリティの列を変数の列に分け、ファシ
リティのRTLでのデータの値をビヘイビアレヘルでの
より抽象的表現形態に変更する。また、テスト表現形態
変更部において、ファシリティを複数の変数に対応させ
ることによるテストの列数に変更があった場合、テスト
パターン加工部において新たにテスト系列のステップの
併合が可能かどうかを調べ、可能であれば変更を行な
う。
【0025】
【実施例】一般に、対象となる論理システムが大規模に
なり、対応するRTL記述が数万から数十万となってく
ると、それをテストするテストパターンを人手で作成す
ることは極めて困難になる。その場合に、抽象化された
ビヘイビアレベルでのテストパターンから、RTL記述
のためのテストパターンを自動的に生成できれば、大規
模論理システムのRTL記述用のテストパターンの作成
が極めて容易になる。その為の装置が、本発明の第1実
施例として以下に示される。
【0026】第1実施例の説明は次の順序で行う。第1
に本発明のテスト系列生成装置の構成図を説明する。第
2にビヘイビアレベルのテスト系列について説明する。
第3に、生成されたRTLのテスト系列を説明する。第
4にビヘイビアレベルの仕様記述とレジスタ転送レベル
の記述との対応作成部に与えるコマンドと、該作成部が
作成するデータと、該作成部の処理フローを説明する。
第5にテスト系列生成装置の処理フローを説明する。最
後に簡単なモチーフ回路を用いてテスト系列生成の処理
フローを詳細に説明する。
【0027】図1は、本発明のテスト系列生成装置の一
実施例の構成を示すブロック図である。
【0028】ビヘイビアレベルの仕様記述データ1とレ
ジスタ転送レベル(RTL)の記述データ2は、それぞ
れのレベルのハードウェア設計記述をコンパイルした後
の中間回路データである。回路の動作や機能を表す演算
子そのもののデータと演算子間の接続情報が格納されて
いる。これらの記述は設計者が人手で設計したり、合成
装置を用いて設計したものである。
【0029】ビヘイビアレベルの仕様記述とRTL記述
との対応作成部3は、RTL記述のファシリティとビヘ
イビア記述の信号名との対応情報からなるコマンドと、
ビヘイビアレベルの記述データと、RTLの記述データ
とから、ファシリティや信号のデータタイプやRTLの
ファシリティに対して行われるテストパターンの印加ス
テップ(サイクル)や、演算結果を観測する観測ステッ
プ、RTL記述に印加されたファシリティのパターン値
の情報を生成する。
【0030】ビヘイビアレベルの記述を検証するテスト
系列のデータを格納する格納部4は、入力テスト系列及
び期待値系列を記述するテスト専用記述や、テスト系列
も記述可能なハードウェアの設計記述などからコンパイ
ルされた後の、またはビヘイビアレベルのシミュレーシ
ョン装置のコマンドで与えられたパターン記述を翻訳装
置を用いて変換した後の、入力テスト系列及び期待値テ
スト系列の中間データを格納している。
【0031】RTL記述の入力及び期待値テスト系列を
生成するテスト系列生成部5は、ビヘイビア記述を検証
する入力テスト系列と期待値系列を格納する格納部4か
ら、テスト系列を、ビヘイビアレベルの仕様記述とRT
L記述との対応作成部3が生成したRTL記述の入力ポ
ートにテストパターンが印加される制御ステップと、R
TL記述の内部の演算が実行され結果が観測される制御
ステップの情報を用いて、テストパターンのフレームデ
ータを作成し、該フレームをもとにテスト系列の変換を
行いRTLのテスト系列を生成する。
【0032】RTL記述の入力及び期待値テスト系列デ
ータ46は、テスト系列生成部で生成されたRTLのテ
スト系列と期待値データである。
【0033】図2は、ビヘイビアレベルのテスト系列の
データ4と、RTLのテスト系列データ6を説明する図
である。
【0034】まずビヘイビアレベルのテストパターンが
如何なるものかを説明する。ビヘイビアレベルの記述か
らなる回路は、テストパターンを印加すると記述内の手
続きに従ってデータの演算を行い、遅延無しで出力ポー
トから結果を出力する。演算の動作とその順序だけで時
間の概念が導入されていない。従ってテスト系列も時間
の概念がなく、ビヘイビアの回路モデルに入力すれば同
時に出力が得られる。
【0035】図2(a)は、ビヘイビアレベルのテスト
系列に関するデータを説明する図である。実際には多数
のテスト系列が存在するが、簡単のため本実施例では3
つのテスト系列を示している。この表にはテスト系列を
識別するテスト系列番号、パターンを印加したり観測し
たりする入力ポート名、内部変数名、出力ポート名があ
る。ポートや変数の属性として入力/期待値判別情報が
格納される。INは入力パターンを、EXPは期待値パ
ターンを示す。テスト系列番号の行にある数字は、テス
トパターンの値は、本実施例では、簡単のためにそのデ
ータタイプはすべて整数で表示している(パターンの値
はポートのデータタイプに依存し、例えば実数、整数、
ビット、ビット列などがあり、それらのタイプに応じて
格納される)。内部変数の出力ポートの欄には期待値が
格納されており、これは一般にビヘイビアレベルのシミ
ュレーションの結果から作成されるものである。すべて
の内部変数の値が観測される必要はなく、ビヘイビア記
述がRTL記述に変換されたあとに、レジスタとして残
る場合に観測の対象となる図2(a)の表の1行は、1
動作あたりのテストパターンと期待値パターンである。
【0036】つぎにRTLのテスト系列について簡単に
説明する。順序回路からなるRTLの回路は、初期状態
から次の状態へ遷移を行いながら外部から取り込んだデ
ータを終えたらまた初期状態に戻り動作を繰り返す。本
実施例ではこの状態の遷移を制御ステップと称し各ステ
ップを状態識別子で示す。テスト系列には、各状態での
演算に必要な入力テスト系列と、各状態で観測される出
力の期待値系列がある。
【0037】図2(b)は、レジスタ転送レベメのテス
ト系列のデータを説明する図である。図2(b)は多数
存在するテスト系列の一部を示している。本実施例では
3状態の動作を検証するテスト系列を用いて説明する。
a,bは入力ポート,r1,r3はレジスタ,z1は出
力ポートである。本実施例では入力,レジスタ,出力ポ
ートのデータタイプを整数としているが、ビットまたは
ビット列でも良い。簡単のためここでは整数の例で説明
する。入力,期待値判別情報はビヘイビアレベルのテス
ト系列と同様である。テスト系列1はステート1のパタ
ーンを示し、入力ポートaに値’1’を、入力ポートb
に値’2’を印加する。テスト系列2のステート2で
は、入力a,bに’−’が記してあるが、これは、デー
タタイプが同一ならばどのような値でもよいという意味
である。(ドントケアパターンと称す)。またレジスタ
r1の期待値は’3’である。テスト系列3のステート
3のパターンでは、出力ポートz1の期待値が’5’で
ある。
【0038】図3〜図5を用いて、ビヘイビアレベルの
仕様記述とRTL記述との対応作成部を説明する。はじ
めにコマンドについて、次に体策作成布が生成する情報
について、そして本作成部の処理フローを説明する。
【0039】図3(a)は、ビヘイビアレベルの仕様記
述とRTL記述との対応作成部に係わるコマンド入力記
述を説明する図である。コマンドは、RTLのファシリ
ティとビヘイビア記述の変数との対応情報を与える。
“RTL IN”はRTL記述の入力ポート名を宣言す
るキーワードで、a,b,c1は入力ポート名である。
“RTL REG”はRTL記述のレジスタを宣言する
キーワードで、r1,r3はレジスタ名である。“RT
OUT”は、RTL記述の出力ポート名を宣言する
キーワードで、z1は出力ポート名である。“BL
N”はビヘイビア記述の入力ポート名を、“BL VA
R”は変数で、“BL OUT”は出力ポート名を宣言
するキーワードで、キーワードの後ろの文字はそれぞれ
の名前である。“EQUAL”は、RTLのポート名ま
たはレジスタ名と、ビヘイビア記述のポート名または変
数名の対応をとるためのコマンドで、“(a:a)”
は、RTLの入力ポート“a”(第1のa)がビヘイビ
ア記述の“a”(第2のa)に対応することを示し、
“(z1:z1,z2)”は、RTLの出力ポート“z
1”が、ビヘイビア記述の“z1”と“z2”に対応す
ることを示している。すなわち、RTLの出力ポート
“z1”は、ビヘイビア記述の“z1”と“z2”の値
を時分割して出力することを示している。
【0040】図3(b)は、RTL記述に存在するが、
ビヘイビア記述に存在しないポートの情報を入力するコ
マンドを示している。キーワードは、図3(a)と同じ
意味を有し、また“IN”は入力パターンを印加するポ
ートまたはレジスタを示し、“EXP”は期待値パター
ンを観測するポートまたはレジスタを示している。“:
=’P’”はポジティブパルスの印加を、“:=’
L’”は1ビットの期待値0を、:=“LHL”はレジ
スタr4に係わる3ビットの期待値010を示してい
る。また、“:=”以降に式を記述し入力パターンの値
を条件によって選択したり、1制御ステップ前のパター
ンの値を使用して現在の制御ステップのパターン値を計
算できる(詳細な例については後述する)。
【0041】以上コマンドを例に説明したが、本発明の
ビヘイビアレベルの仕様記述とRTL記述との対応作成
部は、コマンドによって制限されるものではなく、コマ
ンドを利用して与えた情報を他の手段、例えばテーブル
形式の入力手段や、ハードウェア記述言語の属性記述等
を用いて与えてもよい。
【0042】図4(a)はビヘイビアレベルの仕様記述
とRTL記述との対応作成部が生成する対応情報を説明
する図である。本図のデータは、(1)本実施例のよう
にコマンドとビヘイビア記述のデータとRTL記述のデ
ータを取り込んで解析して作成したり、(2)設計者が
本発明の装置の外部から入力装置で与えたり、(3)高
位合成装置が作成するレファンス情報から得られる。
【0043】RTL記述のポート、レジスタ、信号の名
前、これらのデータタイプ(例ではINTEGER)
と、これらのファシリティにテスト系列を印加したり、
出力が観測される制御ステップ情報が格納される。ステ
ート1は第1のステートを示すステート番号である。R
TL記述では同一ポートに関して、異なるステートで異
なるパターンを印加したり、観測したりする場合があ
り、この場合は同一ポートに対して複数の制御ステップ
が存在する。本図ではRTL記述のポートz1が、ビヘ
イビア記述のポートz1とz2とに対応している、さら
に、RTL記述のポートに対応するビヘイビア記述のポ
ートの名前と、それらのデータタイプを格納している。
データタイプとしてはビット、ビット列、整数、実数型
やこれらを要素とするレコード型等が存在する。
【0044】また図4(b)は、RTL記述には存在す
るが、ビヘイビア記述に存在しないポートやレジスタに
関するデータタイプと、パターンの印加または観察され
る制御ステップと、上述したコマンドから取り込んだ印
加または観察の判別情報と、パターンの値を示す。本実
施例ではクロック信号のclk、システムリセット信号
のrst,スキャンアウト信号のsoの例を示した。c
lk信号は、1ビットで、ステート1からステート3の
それぞれのステップに、入力パターン“010”のポジ
ティブパルス(P)が与えられる。またパターン値の計
算式が与えられた場合は、本図のパターンの値を格納す
る領域に、パターンの値自体ではなく計算式との関連を
表す情報が格納される。
【0045】図5及び図6は、ビヘイビアレベルの仕様
記述とRTL記述との対応作成部に係わる処理フローを
説明する図である。本作成部は、以下のステップで図3
1(a),(b)のビヘイビアレベルの仕様記述とRT
L記述との対応情報を作成する。図5の101と図6の
111の端子で処理の開始と終了を示す。ステップ10
2〜110は処理を示す。RTLの入力、レジスタ、出
力のファシリティ名と、入力/期待値判別情報、パター
ンの値からなるコマンドと、ビヘイビアレベルの入力、
変数、出力ポート名を宣言するコマンドと、RTLのポ
ート名やレジスタ名とビヘイビア記述のポートや変数名
とを対応づけたコマンド情報(図3(a),(b)を取
り込んで、RTL記述のポート、レジスタ名、対応する
ビヘイビアレベルのポート名、変数名のパターンの値を
セットする(ステップ102)。RTL記述のデータを
取り込む(ステップ103)。ビヘイビア記述のデータ
を取り込む(ステップ104)。ステップ103で取り
込んだ、RTLのデータを用いて、コマンドから取り込
んだポートやレジスタの持つデータタイプやビット幅を
抽出してセットする(ステップ105)。同様にステッ
プ104で取り込んだ、ビヘイビア記述のデータを用い
て、コマンドから取り込んだポートや変数の持つデータ
タイプを抽出してセットする(ステップ106)。RT
Lの記述のデータを用いて、ステートの順番を識別する
ステート番号を作成し、各ステートにおいて読み書きさ
れるファシリティ名を求める(ステップ107)。例え
ば下の表のような内部データを作成する。ステート1で
は、ファシリティa,bで世乱しが発生し、ステート2
でファシリティr3に書き込みが発生する。
【0046】
【表1】 異なる制御ステップで読み書きが発生するか調べる(ス
テップ108)。YESの場合は、コマンドから取り込
んだファシリティに対応するビヘイビア記述のポートや
変数が、ビヘイビア記述に出現する順番を求め、これと
ファシリティが読み書きされるステート番号を対比し、
各制御ステップにおけるファシリティとビヘイビア記述
のポートや変数との対応をとる。上記例では、出力ポー
トz1については、ステート2とステート3にパターン
が出力されるため、RTLのポート名z1に対応するビ
ヘイビア記述のポートz1とz2が、ビヘイビア記述で
現れる順番を取り出し、前者の制御ステップの順番と比
較し、両者の対応をとる。すると、ステート2のz1が
ビヘイビア記述内で最初に現れるz1に対応し、ステー
ト3のz1がビヘイビア記述のz2に対応する(ステッ
プ109)。NOの場合は、ステップ107で作成した
情報を用いて入力ポート、レジスタ、出力ポートの制御
ステップをセットする(ステップ110)。以上のステ
ップを経て図4(a)のデータが生成される。図4
(b)のデータの入力,出力,レジスタのファシリティ
名とデータタイプと制御ステップに関しては、上記処理
フローで作成され、入力、期待値の判別情報とパターン
の値については、コマンドから入力された値をセットす
る。
【0047】テスト系列生成部は、テスト系列のフレー
ム情報生成部と、テスト系列変換部の2つから構成され
る。図7〜図9を用いて第1の処理であるテスト系列の
フレーム情報生成に係わる処理フローを説明する。ここ
では処理フローの説明にとどめ、モチーフを使用した詳
細な説明については後述する。
【0048】図7の201と図8の218は端子で処理
の開始と終了を示す。ステップ202〜217は処理を
示す。ビヘイビアレベルのテスト系列データから、入力
ポート名、内部変数名、出力ポート名と入力か期待値か
の判別情報を取り込む(ステップ202)。ビヘイビア
レベルの仕様記述とRTL記述との対応作成部3が作成
した、RTL記述の入力と出力ポートとレジスタの制御
ステップ情報と、RTL記述の各ポートまたはレジスタ
の制御ステップに対応するビヘイビア記述の入力、出力
ポート名、内部変数名を取り込む。RTL記述に新たに
追加されたポート名と入力、期待値判別情報を取り込む
(ステップ203)。RTL記述の制御ステップ情報を
解析してステート数を求め、実行に必要なステート数を
パターンフィールド数とする。また各フィールドとステ
ート番号の関連情報を作成する(ステップ204)。
【0049】ステップ203で取り込んだビヘイビア記
述とRTL記述のポートの対応情報から、ビヘイビア記
述の入力ポートとして存在し、かつRTLの入力ポート
としても存在する数を入力テスト系列コラム数とし、各
コラムとRTL記述のポート名との対応情報を作成する
(ステップ205)。RTL記述のポート数がビヘイビ
ア記述のポート数より少ないことがある(1ポートを多
重化して使う)が、この場合はRTLのポートのコラム
を作る上では問題ない。反対に、ビヘイビア記述に存在
しないポートがRTL記述に付加される場合があるの
で、まず付加された入力ポートとパターンの値が既知か
どうか調べる(ステップ206)。YESの場合は、付
加されたポートのコラム数を上記コラム数に加算し、コ
ラムとRTLのポート名の対応をとる(ステップ20
7)。NOの場合はステップ208に進む。ステップ2
03で取り込んだRTL記述のレジスタとビヘイビア記
述の内部変数の対応情報を使用して、ビヘイビア記述の
内部変数の印加または観測かの情報を取り出し、印加パ
ターンかどうか調べる(ステップ208)。YESの場
合は、入力パターンのコラム数を再計算し、コラムとR
TL記述のレジスタ名との対応をとる(ステップ20
9)。NOの場合は、期待値パターンのコラム数とし、
コラムとRTL記述のレジスタ名との対応をとる(ステ
ップ210)。
【0050】RTL記述に付加されたレジスタが存在す
るかどうか調べる(ステップ211)。YESの場合
は、ステップ211に進み、NOの場合はステップ21
5に進む。ステップ203で取り込んだRTL記述の付
加レジスタの印加または観測かの情報を取り出し、印加
パターンかどうか調べる(ステップ212)。YESの
場合は、入力パターンのコラム数を再計算し、コラムと
RTL記述のレジスタ名との対応をとる(ステップ21
3)。NOの場合は、期待値パターンのコラム数とし、
コラムとRTL記述のレジスタ名との対応をとる(ステ
ップ214)。入力ポートと同様に、ステップ203で
取り込んだRTL記述とビヘイビア記述のポートの対応
情報から、ビヘイビア記述の出力ポートとして存在し、
かつRTLの出力ポートとしても存在する数を計算済み
の期待値コラム数に加算し、コラムとRTL記述の出力
ポートとの対応情報を作成する(ステップ215)。
【0051】ビヘイビア記述に存在せずRTL記述にの
み存在する出力ポートについて、名前や印加/期待値判
別情報が存在し期待値パターンが既知か調べる(ステッ
プ216)。YESの場合は、付加出力ポート数を上記
期待値コラム数に付加し、コラムとRTL記述の出力ポ
ート名との対応情報を作成する(ステップ217)。N
Oの場合はステップ218に進む。以上の処理でテスト
パターンのフレーム情報が作成される。
【0052】次にテスト系列の生成処理を説明する。図
10の301と306は端子で処理の開始と終了を示
す。302から305は処理を示す。RTLのテストパ
ターンのフレーム情報と、ビヘイビアレベルの仕様記述
とRTL記述との対応情報と、ビヘイビアレベルのテス
ト系列からポート名を取り込む(ステップ302)。
【0053】ただし、本生成処理をビヘイビアレベルの
仕様記述とRTL記述との対応情報と、テストパターン
のフレーム情報作成に引き続いて行うときは不要であ
る。ビヘイビアレベルのテスト系列をビヘイビアレベル
のテスト系列データから1つ取り出す(ステップ30
3)。フレーム情報を用いて対応するフィールドのコラ
ムに入力パターン値、期待値パターンの値を代入する
(ステップ304)。すべてのパターンを取り込んでR
TLのテストパターンを生成したかを判定し(ステップ
305)、YESの場合は終了、NOの場合はステップ
303に戻り、ステップ303からステップ305を繰
り返す。
【0054】次に図11及び図12に例示するハードウ
ェア設計言語による記述を例に採って、本発明の実施例
を詳細に説明する。まず3つのモチーフ回路について説
明する。これらはVHDL(IEEE標準のハードウェ
ア設計言語)で記述された回路である。VHDLではe
ntityと称するキーワードで回路の外部インターフ
ェースを記述する必要があるが、本実施例では重要では
ないので省いている。
【0055】図11(a)はデータの演算だけからなる
回路で。入力ポートはa,b,c1,c2でデータタイ
プは整数、出力ポートはz1とz2でデータタイプは整
数である。architecture以下の記述は、回
路の本体を記述するところで、processから以下
end processまでの文は順次処理される。r
1,r2,r3は内部変数で“:=”は代入である。ま
た“<=”は左辺が信号の場合の代入である。’+’は
加算で、“r2:=−r1;”の’−’は符号反転であ
る。process後の()内記述されたセンシティ
ビティリストと称する信号の内、少なくとも1つにイベ
ントが発生した場合に、process文内のbegi
n以下の回路が順番に実行され、センシティビティリス
トの信号に次のイベントが発生するまでend pro
cessで待機する。r1,r2,r3への代入は遅延
無しで実行されるが、z1とz2への代入にはデルタ遅
延と称する非常に小さい時間を要する。ただしここでは
デルタ時間を無視する。すなわち本記述からなるビヘイ
ビアレベルの回路は、入力ポートに値が与えられたら、
順次処理され瞬時に出力ポートに値が計算されて出力さ
れる回路とみなせる。
【0056】図11(b)は高位子合成装置で生成され
たRTL記述を、設計者が人手又は修正装置で修正した
後のRTL記述、もしくは設計者が人手で設計した回路
の例である。process文以下のシーケンシャル文
は、3つのwait until文によって区切られて
いる。wait until clk=’1’は1ビッ
トのクロック新号clkが’0’から’1’に変化する
までwait文でそれ以下の実行を待機する。clkが
立ち上がると次のwait文までの間に信号代入文を実
行する。第1のwait文までは初期ステートでステー
ト0(ステート名は存在しないので仮にステート番号0
としてある)、r1への代入がステート1で、r3とz
1への出力がステート2で、その下のz1はステート3
である。ただし最上位のwait文までのステート0は
初期ステートで、動作開始後に一度だけとるステートで
ある。信号r1とr3は代入したステートと異なるステ
ートで参照されているので、レジスタの如く動作する。
【0057】図11(c)は条件により演算の実行とそ
の結果を選択する回路で、入力ポートはa,b,c0,
でデータタイプは整数、出力ポートはzでデータタイプ
は整数である。if(a<b)は、aとbの値の大小比
較の結果でthen以下の変数代入文と、else以下
の変数代入文を選択する条件文である。elseの下の
変数代入文の’−’は減算である。
【0058】図11(d)は図11(b)と同様な設計
過程を経て記述されたRTLの回路で、2つのwai
t、until文によって信号代入文が区切られてい
る。第1のwait文までが初期ステートで(ステート
0)、条件a<bでa+bとa−bを選択実行し、レジ
スタr1へ値を代入する。さらに条件a<bの結果もレ
ジスタr2に保持される(ステート1)。ステート2
で、ステート1でラッチしたr2の値でzへの出力をさ
らに選択し、r2が偽の場合に、r1にc0に加算して
zに出力している。
【0059】図12(a)はループ記述があり、ビット
列のaに格納された’1’に係数する回路である。入力
ポートはaでデータタイプは4ビットのビット列で、出
力ポートはzでデータタイプは整数である。for−−
−の文は以下end loopまでの変数代入文を4回
繰り返すループ文である。tmp(0) and ’
1’は、配列tmpのインデックス0番の値と、ビット
‘1’の論理積を取ったものである。すなわち、tmp
のlsb(最小ビット)が1の場合にcntを1加算し
ている。shrはtmpの値を右にシフトする関数で、
ここでは第2引き数の1ビット分をシフトしている。
【0060】図12(b)は図11(b)と同様な設計
過程を経た図12(a)に対するRTLの回路である。
これは4つのwait until文によって信号代入
文が区切られた5状態の回路である。第1のwait文
までが初期ステートで(ステート0)で信号cntを初
期化している。次のステート(ステート1)では、入力
ポートaの0ビット目の値とビット’1’の論理積をと
り、真の場合にcntを1加算している。以下のステー
トではaの異なるインデックスの値とビット’1’の論
理積を取ってaの要素が値が’1’の数を計数してい
る。
【0061】図11及び図12のモチーフ記述を例に取
って、テスト系列の生成アルゴリズムを説明する。高位
合成または人手で、図11(a)のビヘイビア記述が図
38(b)のRTL記述に変換されたとする。図11
(a)のビヘイビア記述を検証するビヘイビアレベルの
テスト系列を図2(a)を用いて説明する。入力ポート
a,b,c1,c2にそれぞれ整数1,2,8,1(8
と1は図2(a)には示していない)を印加した場合、
内部変数のr1とr2の期待値は、それぞれ3と−3に
なり、出力ポートz1とz2の期待値は5と4になる。
つぎに図4(a)を流用して、ビヘイビアレベルの仕様
記述とRTL記述との対応情報を説明する。RTL記述
の入力ポートa,b,c1には、ビヘイビアのテストパ
ターンをそれぞれステート1、ステート1、ステート2
に印加し、RTL記述の出力ポートz1には、ステート
3にビヘイビア記述のz1の結果が得られ、ステート1
にz2の結果が得られる。ただしz2は第1ステートに
は値が出力されず、第4ステートになってはじめて値が
出力される。同様に、レジスタr1とr3にはビヘイビ
ア記述の変数r1,r3が期待値が、それぞれステート
2とステート3に得られる。簡単のため、ポートレジス
タのデータタイプには対応するビヘイビア記述のポート
や変数のデータタイプと同じとする。RTL記述に新た
に生成されたポートclkについては、外部から入力し
たコマンドのパターン情報を格納する。データは図4
(b)のclkの行のようになる。1ビットの入力パタ
ーン(ポジティブパルスで010のパターン)をステー
ト1と2と3で印加する。
【0062】図7〜図9の処理手順に従って、図11
(b)のRTL記述のテスト系列に関するフレーム情報
の作成を説明する。
【0063】ビヘイビアレベルのテスト系列データ4か
ら、ポート名、内部変数名、入力、期待値判別情報をテ
スト系列生成部5のメモリ内に取り込む。
【0064】
【表2】 次に図4(a)のビヘイビアレベルの仕様記述とRTL
記述との対応情報を、テスト系列生成部のメモリ内に取
り込む。
【0065】次にRTLのテスト系列のフレーム情報を
作成する。RTL記述の最大ステート数は出力ポートの
内、最後のステート番号(ステート3)が表しているの
で、初期ステートから計数して何番目かを計数する。最
大ステート数3をテスト系列のフィールド数(行数)と
する。フィールドとステート番号の関係を作成する。 フィールド1 −−> ステート1 フィールド2 −−> ステート2 フィールド3 −−> ステート3 RTL記述の入力ポート数は4で、これを入力パターン
のコラム数とする。コラン番号とポートの対応を作成す
る。またRTLのファシリティに対応するビヘイビア記
述のポート、変数名を取り出し、上記メモリに取り込ん
だデータを使ってパターンが入力か期待値かの情報を判
別し、フレーム情報に登録する。RTL記述に新たに生
成されたポートclkをフレームに登録する。
【0066】RTL記述のレジスタについてもパターン
のコラムを作成する。パターンの印加か観測かを調べ
る。レジスタr1に対応するビヘイビア記述の変数r1
の判別情報から、期待値パターンとなる。
【0067】RTL記述の出力ポートについても同様に
フレームに登録する。この様にして生成したフレームは
図13の様になる。
【0068】本実施例ではポートのデータタイプを整数
として説明したが、ビヘイビアレベルの仕様記述とRT
L記述との対応情報のRTLのポートとビヘイビアレベ
ルのポートとのデータタイプの対応情報を用いて、デー
タタイプに応じてパターンのコラム数を確保してフレー
ムを作成する。
【0069】図10の処理手順に従って、フレーム情報
を用いたテスト系列の精製について説明する。図10に
は、フレーム情報と、ビヘイビアレベルの仕様記述とR
TL記述との対応情報とビヘイビアレベルのポート名並
びに取り込むと記しているが、すでにこれらの情報がメ
モリ上に存在すれば取り込む必要はない。ビヘイビアレ
ベルのテストパターン“1,2,8,1,3,−3,−
−,5,4”(この値は図2(a)を参照)を取り込
む。ビヘイビアレベルの仕様記述とRTL記述との対応
情報を用いて、ビヘイビアのテストパターンを制御ステ
ップにセットする。すなわちRTLのポートaについて
は、ステート1に、ビヘイビアのaのパターン“1”を
セットする(図4(a)と図2(b)を参照)。以下同
様にポートbには、ステート1にビヘイビアのbのパタ
ーン“1”をセットする。他のポートやレジスタについ
ても同様にして生成するRTL記述とビヘイビア記述の
ポートのデータタイプが異なる場合には、例えばビヘイ
ビア記述のポートが整数で、RTL記述のポートがビッ
ト列の場合には、ポートが有するビット幅のビット表現
のパターンに変換してセットする。
【0070】本実施例ではRTL記述の双方向ポートに
ついて説明しなかったが、同一ポートに対してテストの
印加と出力の観測があり、印加のステートと出力のステ
ートが異なるとして本実施例を拡張することで容易に対
応できる。
【0071】図11(c)のモチーフ記述のように条件
文が存在する場合も、本実施例の図9と図10の処理フ
ローを用いることで、RTL記述のテスト系列と期待値
系列を生成できる。図14(a)は図11(c)のモチ
ーフを検証するテスト系列で、図14(b)は本実施例
を用いて生成したRTLのテスト系列である。入力と出
力ファシリティのテスト系列と期待値系列については、
上記処理フローを用いて自動生成される。
【0072】ただし図11(d)のRTL記述では、レ
ジスタr1はビヘイビア記述の変数r1とは異なる意味
を有する。ビヘイビア記述には存在しないレジスタr2
が存在するなど図11(b)と異なる部分があるので、
この点に関する処理を説明する。テスト系列の値がa>
bの場合には、図11(d)のレジスタr1の期待値と
して図11(c)の変数r1の期待値を用いることがで
きないとか、レジスタr2は新たに発生されたファシリ
ティなので、パターン情報がない。そこで図14(c)
のように、clkにはポジティブパルス’P’の入力パ
ターンを、レジスタr1については、条件a<bが真の
場合には、入力パターンa+bの値を期待値とし、偽の
場合はa−bの計算値を期待値とする。同様にレジスタ
r2の期待値は、条件a<bが真の場合は’H’で偽の
場合は’L’になる。これらのパターンの値を計算する
式は、テスト系列生成部が図37のパターンを生成する
とき、すなわちビヘイビアレベルのテストパターンの値
を取り込んだあとに利用して期待値を計算して(図10
には示していないが)セットする。このように、ビヘイ
ビアレベルの仕様記述とRTL記述との対応作成部に於
いて、外部からコマンドを介して、セットすることによ
って、期待値パターンを生成することができる。
【0073】図12(a)のモチーフ記述についても、
図11(a)の場合と同様に処理しRTL記述のテスト
系列と期待値系列を生成できる。図15(a)は、図3
9(a)のビヘイビア記述の検証テスト系列である。4
ビットの入力ポートaに“0101”が印加されると、
変数cntと出力ポートzは2になることが期待され
る。図12(b)のレジスタ転送記述の回路は、4ステ
ートで動作する。またcntはレジスタになる。ステー
ト1〜ステート3のレジスタcntの期待値として、ビ
ヘイビア記述の変数の期待値が利用できないため、もし
これらのステートでcntの値を観測したいのであれ
ば、人手で与える必要がある。図42(c)はcntの
期待値を与えるコマンドを示す。“RTL REG”は
上述したようにレジスタの名前を宣言するコマントで、
EXPは期待値,“:=”以下の式は期待値を計算する
式である。cnt+CASE−−−は前のステートのc
ntの値にCASE式によって求まる4ビットのaの値
が持つ1の個数を加算し、各ステートのcntの期待値
を計算できる。このようにビヘイビアレベルの仕様記述
とRTL記述との対応作成部に外部からコマンドを介し
てセットすることによって、期待値パターンを生成する
ことができる。
【0074】今まで説明したきたように、入力、出力ポ
ートのみならずレジスタについても印加するテストパタ
ーンと期待値パターンの生成が可能なので、本発明の装
置は検証用テスト系列の生成に関して大変有効である。
従って本テスト系列生成装置を用いてテスト系列と期待
値系列を生成し、これらの系列を用いてRTLシミュレ
ーションし、修正後のRTL記述がビヘイビアの仕様と
等しいかどうか検証できる。
【0075】一方、既に検証済みの回路モジュールを別
の大規模論理システムに組み込む場合がしばしばある
が、この論理システムをテストする際に問題となるの
は、その回路モジュールの内部の動作ではなく、他のモ
ジュールとのインターフェイスの部分である。従って、
より抽象度の高いビヘイビアレベルでのシミュレーショ
ンを行うのが取り扱い上効率的である。この場合、その
回路モジュールのRTL記述をビヘイビア記述に書き直
す必要があり、又、その書き直しが正しいか否かを検証
するビヘイビアレベルでのテストパターンを作成する必
要がある。次に、RTL記述でのテストパターンからビ
ヘイビアレベルでのテストパターンを生成するための装
置を、本発明の第2実施例として説明する。
【0076】図16に本発明の第2実施例の構成図を示
す。本実施例は、RTLテストパターン格納部11,R
TL記述格納部12,テストパターン加工部13,テス
ト表現形態変更部15からなる。
【0077】以下の例において、RTLテスト系列の単
位時間は状態遷移を制御するクロックサイクルであると
し、RTLテスト系列は初期状態から始まるものとす
る。また以下の例においてRTLを記述する言語として
VHDLモデルとする。状態マシンの記述方法は、逐次
処理を表すprocess 文を用い、クロックを表す信号をc
lkと指定し、wait on clk の文によりクロックに同期
した状態遷移を表すこととする。
【0078】本実施例では簡単のため、RTL記述から
これと等価なビヘイビア記述を作成する際、入出力に関
しては一対一で対応させ名前も変更させないというルー
ルの下で行なうものとする。このようなビヘイビア記述
を作成する際のルールが指定されていない場合にも、ビ
ヘイビア記述とRTL記述の名前の対応関係を対応情報
を与えるようにすれば実現できる。
【0079】図17のRTL記述から図18のビヘイビ
ア記述を作成した例を考える。RTLテスト系列として
図19のテスト系列が与えられたとする。RTL解析部
の構成を図20に示す。RTL解析部は、フローグラフ
作成部(14−1)、状態識別部(14−2)、内部表
作成部(14−3)からなる。状態遷移が陽に記述され
ているようなRTL記述では、フローグラフ作成部(1
4−1)と状態識別部(14−2)では処理は行なわな
い。内部表作成部(14−3)は、状態遷移表、入出力
有効状態表、状態併合不可情報表等、テストパターン加
工部に必要な内部表を作成する。状態遷移表の代わりに
状態遷移グラフなど状態マシンを表す他のデータ構造を
用いることもできる。
【0080】本例のRTL記述では状態遷移が陽に記述
されていない逐次処理文からなるため、フローグラフ作
成の処理が必要である。フローグラフ作成部(14−
1)の処理フローを図21に示す。例にそって説明する
と、フローグラフ作成部(14−1)は図17のRTL
記述にある信号代入文,,,,に対する節点
を作成する(ステップ1)。次に処理ステップで文を一
つ取り出すが始めに文を取り出し、処理ステップにお
いて文に続いて実行される信号代入文として文を取
り出したとする(ステップ3)。ここでフローグラフ作
成部F1、文に対応する節点vlから文に対応する
節点v2へ向かう枝e=(v1,v2)を付加する(ス
テップ4)。文はwait条件を除くと文の次に無条件
に実行されるので、処理ステップでは枝eに条件ラベル
Lc(e)は設定しない。しかしwait文が両文の間に存
在するので、ステップG6において枝eにwaitフラグラ
ベルLw(e)をONにセットする。文以外に文の
次に実行される信号代入文は存在しないので、処理ステ
ップ7の次にステップ8へと移行する。このように全て
の信号代入文に処理ステップ2からステップ8を適用す
ることにより、図22に示すフローグラフが生成され
る。本例では全ての文がwait条件を除いて無条件で行わ
れるため、図22のグラフの枝に条件ラベルはつかな
い。また、枝の両端点で表される文の途中にwait on cl
k の文が存在する場合はその枝のwaitフラグラベルがセ
ットされる。図22では枝e12, e34がこれにあたる。こ
れらの枝が状態遷移を表すことになる。
【0081】状態識別部14−2は、waitフラグラベル
がセットされている枝によりグラフを分割する図22で
は、枝e12 と e34で分割され、(v1),(v2,v3),(v4,v5)と
いう三つの部分グラフに分割できる。この分割された部
分グラフを一つの状態とする。図17の記述は状態が陽
に書かれていないため、状態名は状態識別部14−2が
st0, st1, st2 と自動的に決定する。
【0082】内部表作成部14−3は分割されたグラフ
をもとに状態遷移表を作成する。図22のグラフでは、
分割する枝e12, e34の条件ラベルはともに設定されてい
ないので、図23に示すような状態遷移条件のない状態
遷移表となる。
【0083】次に内部作成部14−3は、フローグラフ
をもとに入出力有効状態表を作成する。入力ポートaは
図22では節点v1で参照されており、節点v1は状態st0
に属している。これにより、入出力有効状態表のaの
「参照/設定される状態」の欄にst0 が登録される。こ
の処理を全ての入出力に対して行うことにより、本例で
は図24に示す入出力有効状態表を生成する。
【0084】最後に内部表作成部14−3は次に入出力
有効状態表の各入出力ポートの欄において、参照/設定
される状態が複数存在する場合、それらの状態は併合不
可能であるとして、状態併合不可情報表を作成してい
く。図24の入出力有効状態表では、すべての入出力ポ
ートは一つの状態のみにおいて参照/設定されているの
で、各状態に対しそれらと併合できない状態は存在せ
ず、図25のような状態併合不可情報表を生成する。
【0085】テスト系列加工部13の構成を図26に示
す。テスト系列加工部は、RTLテス系列の各ステップ
と状態の対応づけを行なうテスト系列状態対応作成部1
3−1と、テスト系列の連続するステップを併合するテ
スト系列圧縮部13−2からなる。
【0086】テスト系列状態対応作成部13−1の処理
フローを図27に示す。この処理を図23の状態遷移表
と図19のRTLテスト系列をもとに図27の処理フロ
ーにそって説明する。処理ステップA1により現状態を
表す変数(STT)を初期状態st0 に設定し、step
を1とする。処理ステップA2により、図19のRTL
テスト系列の1ステップ目は状態st0 に対応づけられ
る。1ステップは最終ステップではないので、処理ステ
ップA4に進む。ここで、図23状態遷移表からst0 の
次の状態とその遷移条件を抽出するが、st0 は無条件で
st1 へと遷移するので、ここでは遷移条件とテスト系列
を比較せずに新たにSTTをst1 に設定できる。処理ス
テップA5によりテスト系列のステップを一つ進め、以
下同様の処理を繰り返す。図27の処理フローを終了す
ると、図28のような各ステップ状態に対応づけたテス
ト系列が得られる。
【0087】次にテスト系列圧縮部53−2の処理フロ
ーを図29に示す。処理フローにそって説明すると、処
理ステップB1からB5までで、step=1,step2=
2,ST1 =st0 ,ST2 =st1 となる。図25の状態併合
不可情報表により、st0 とst1は併合可能であるため処
理ステップB7へ進み、図28のテスト系列の1ステッ
プ目と2ステップ目を併合する。このとき、図24から
入力ポートa,bに関してはst0 にあたる1ステップ目
の値を、入力ポートcに関してはst1 にあたる2ステッ
プ目の値を併合されてできるテスト系列の値とする。入
力ポートdはst0,st1 のどちらでも参照されないので
どちらの値を取ってきてもかまわない。次に処理ステッ
プB9によりST1 にst1 を加え、ST1 =st0,st1 とし、
今度は併合された1ステップ目と3ステップ目について
処理を行なう。処理ステップB4,B5によりstep2 =
3,ST2 =st2 となる。図29によりst2 はst0 ,st1
のどちらとも併合できるので、併合された1ステップ目
と3ステップ目を併合する。入力ポートdの値はst2 で
ある3ステップ目の値を設定する。テスト系列はこれで
最終行であるので、処理を終了する。この結果図30の
ようなテスト系列を生成する。
【0088】最後にテスト表現形態変更部55が、テス
ト系列の変数名とデータ型の対応づけを行なう。本実施
例では、RTL記述からビヘイビア記述を作成する際、
入出力に関しては一対一で対応させ名前も変更させない
というルールの下で行なうものとしているため、ビヘイ
ビア記述とRTL記述の入出力の定義部を比較すること
により、RTL記述のデータ型とビヘイビア記述のデー
タ型の対応表を作成する。次にこの対応表をもとに、テ
スト系列加工部が生成したテストパターンのデータ表現
形態を変更する。本実施例では、図17のRTL記述も
図3のビヘイビア記述もデータ型は整数型として変更し
ていないので、図30のテスト系列が最終的なビヘイビ
アのテスト系列となる。
【0089】別の例として、図31のRTL記述から図
32のビヘイビア記述を作成した例を考える。RTLテ
スト系列として図33のテスト系列が与えられたとす
る。図31のRTL記述からRTL解析部(4) は、図3
4のようなフローグラフを作成する。先の例と異なる所
は図31の文(4) の次に実行されうる文が、条件により
文(4) 自身と文(8) の二通りあることで、フローグラフ
も図34のように、枝分かれのあるグラフとなる。状態
遷移表も図35のように遷移条件の存在する表となる。
図36の入出力有効状態表、図37の状態併合不可情報
表は先の例と同様に生成できる。
【0090】次に図27のテスト系列状態対応作成部の
処理に従い、図33の状態遷移表と図35のRTLテス
ト系列の入力値から、RTLテスト系列の各ステップが
どの状態にあるのかを判別する(図38)。先の例と異
なり状態遷移に条件が存在するため、処理ステップA4
では、図35のテスト系列の1ステップ目の入力値(a
=0,b=0)が遷移条件となるst0 の次状態を図33
より検索し抽出する。図33よりこの条件の時の次状態
はsa0 であることがわかり、図35のステップ目のst0
であることがわかる。このような処理を繰り返し、図3
8のようなテスト系列が得られる。
【0091】次に図28のテスト系列圧縮部の処理に従
って、図38のテスト系列の連続がするステップを併合
する。この例でも先の例と同様に併合できない状態はな
いが、同じ状態が連続して現れる場合はまとめられない
ため、図39のようなテスト系列となる。
【0092】最後にテスト表現形態変更部がデータ型の
変更などを行い、ビヘイビア・テスト系列を生成する。
データ型に変更がないとすると図39が求めるビヘイビ
ア・テスト系列となる。
【0093】
【発明の効果】本発明の第1の様相によれば、仕様変更
の生じたRTLのテスト系列と期待値系列を自動生成で
きるので、人手で作成していたテスト系列の作成時間を
大幅に削減できる。また人手が介在しないためバグが入
らないという効果がある。さらに本発明の装置を用いて
RTL記述の仕様変更に伴うテストと期待値系列の修正
を短時間に行えるので、RTL記述の設計検証時間が大
幅に短縮されるという効果がある。
【0094】本発明の第2の様相によれば、RTLテス
ト系列からビヘイビア・テスト系列を作成することがで
き、RT記述からその仕様となるビヘイビア記述を作成
した時、ビヘイビア記述が仕様として正しいかどうかを
シミュレーションにより検証するという作業が効率良く
行なうことができる。そして、RTL記述から作成した
ビヘイビア記述を利用することが可能になり、既設計の
回路モジュールをいくつか含んだ大規模システムを検証
するときに、RTLで設計されたそれらの既設計の回路
記述をビヘイビア記述に書き直し、それらの部分はより
高速なビヘイビアレベルでのシミュレーションを行なう
ことにより、システム全体の検証の効率をあげることが
できる。またこのことにより、資源再利用による設計効
率の向上につながり、実際に大規模システムを設計する
ときに非常に有用である。
【図面の簡単な説明】
【図1】本発明の第1実施例によるテスト系列生成装置
の構成図。
【図2】テスト系列格納部のデータの概念図。
【図3】ビヘイビアレベルの仕様記述とRTL記述との
対応作成部が取り込むコマンドの説明図。
【図4】ビヘイビアレベルの仕様記述とRTL記述との
対応情報のデータ概念図。
【図5】ビヘイビアレベルの仕様記述とRTL記述との
対応作成部の処理フローの前半を示す図。
【図6】図5のフローチャートの後半を説明する図。
【図7】テスト系列生成部のフレーム情報生成処理フロ
ーの最初の部分を示す図。
【図8】図7のフローチャートの中間部分を示す図。
【図9】図7のフローチャートの最後の部分を示す図。
【図10】テスト系列生成部のテスト系列の生成を説明
する図。
【図11】ビヘイビア記述とRTL記述を説明する図。
【図12】ビヘイビア記述とRTL記述を説明する図。
【図13】RTLのパターンのフレーム情報を説明する
図。
【図14】図11(c)のビヘイビア記述と、図11
(d)のRTL記述のテスト系列を説明する図。
【図15】図12(a)のビヘイビア記述と、図12
(b)のRTL記述のテスト系列を説明する図。
【図16】本発明の第2の実施例のシステムの構成を示
す図。
【図17】RTL記述の例を表す図。
【図18】ビヘイビア記述の例を表す図。
【図19】RTLテスト系列の例を表す図。
【図20】RTL解析部の処理フローの概要を表す図。
【図21】RTL解析部のフローグラフの作成部の処理
フローを表す図。
【図22】フローグラフの例を表す図。
【図23】状態遷移表を表す図。
【図24】入出力有効状態表を表す図。
【図25】状態併合不可情報表を表す図。
【図26】テスト系列加工部の処理フローの概要を表す
図。
【図27】テスト系列加工部のテスト系列状態対応作成
部の処理フローを表す図。
【図28】各ステップに状態を対応づけたRTLテスト
系列を表す図。
【図29】テスト系列加工部のテスト系列圧縮部の処理
フローを表す図。
【図30】ビヘイビア・テスト系列を表す図。
【図31】RTL記述の例を表す図。
【図32】ビヘイビア記述の例を表す図。
【図33】RTLテスト系列の例を表す図。
【図34】フローグラフの例を表す図。
【図35】状態遷移表を表す図。
【図36】入出力有効状態表を表す図。
【図37】状態併合不可情報表を表す図。
【図38】各ステップに状態を対応づけたRTLテスト
系列を表す図。
【図39】ビヘイビア・テスト系列を表す図。
【符号の説明】
1 ビヘイビアレベルの仕様記述 2 レジスタ転送レベルの記述 3 ビヘイビアレベルの仕様記述とレジスタ転送レベル
記述との対応作成部 4 ビヘイビアレベルのテスト系列データ 5 テスト系列生成部 6 レジスタ転送レベルのテスト系列データ 11 RTLテストパターン格納部 12 RTL記述格納部 13 テストパターン加工部 14 RTL解析部 15 テスト表現形態変更部 16 RTL−ビヘイビア対応情報 17 ビヘイビアテストパターン
フロントページの続き (56)参考文献 Gerd Krueger,A To ol for Hierarchica l Test Generation, IEEE Transactions on Computer−Aided Design,米国,1991年4月,vo l.10 no.4,p519−524 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 論理システムのビヘイビアレベルの仕様
    記述と、前記仕様記述に対応したレジスタ転送レベルの
    記述とから、前記レジスタ転送レベルの状態の遷移に対
    応する制御ステップの各ステップにおいて、レジスタ転
    送レベルの記述及びビヘイビアレベルの仕様記述の信号
    名及びポートの対応付けを行うことによって、前記仕様
    記述と前記レジスタ転送レベルの記述との対応をとる対
    応作成部と、前記仕様記述を検証するためのテスト系列
    データをもとに、前記対応作成部によって得られた、前
    記仕様記述と前記レジスタ転送レベルの記述との対応関
    係に基づいて、レジスタ転送レベルのテスト系列データ
    を自動で生成するテスト系列生成部とを有することを特
    徴とするテスト系列生成装置。
  2. 【請求項2】 RTL記述の状態遷移の情報を解析する
    RTL解析部と、前記RTL解析部の生成した状態遷移
    情報をもとにRTLテスト系列を必要とするステップ数
    に加工するテスト系列加工部と、RTL−ビヘイビア記
    述の対応情報を基にRTL記述とビヘイビア記述にそれ
    ぞれ存在するファシリティと変数と、それらのデータ型
    の対応づけを行い、テスト系列の形態を変更してビヘイ
    ビアレベルのテスト系列を自動で生成するテスト表現形
    態変更部からなるテスト系列生成装置。
JP04288294A 1994-03-14 1994-03-14 テスト系列生成装置 Expired - Fee Related JP3373641B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04288294A JP3373641B2 (ja) 1994-03-14 1994-03-14 テスト系列生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04288294A JP3373641B2 (ja) 1994-03-14 1994-03-14 テスト系列生成装置

Publications (2)

Publication Number Publication Date
JPH07254008A JPH07254008A (ja) 1995-10-03
JP3373641B2 true JP3373641B2 (ja) 2003-02-04

Family

ID=12648415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04288294A Expired - Fee Related JP3373641B2 (ja) 1994-03-14 1994-03-14 テスト系列生成装置

Country Status (1)

Country Link
JP (1) JP3373641B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006038629A (ja) * 2004-07-27 2006-02-09 Fujitsu Ltd メモリテストパターン合成方法,装置及びプログラム
JP4492803B2 (ja) * 2005-03-31 2010-06-30 日本電気株式会社 動作合成装置及びプログラム
JP4946588B2 (ja) 2007-04-17 2012-06-06 富士通株式会社 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
JP6147094B2 (ja) * 2013-05-30 2017-06-14 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Gerd Krueger,A Tool for Hierarchical Test Generation,IEEE Transactions on Computer−Aided Design,米国,1991年4月,vol.10 no.4,p519−524

Also Published As

Publication number Publication date
JPH07254008A (ja) 1995-10-03

Similar Documents

Publication Publication Date Title
US5752000A (en) System and method for simulating discrete functions using ordered decision arrays
US8533642B1 (en) Hardware definition language generation for frame-based processing
US6609229B1 (en) Method for automatically generating checkers for finding functional defects in a description of a circuit
JP2862886B2 (ja) Asic用計算機支援設計システム
US5068812A (en) Event-controlled LCC stimulation
US7363097B2 (en) Automatic design apparatus, automatic design method, and automatic design program of digital circuit
US7421668B1 (en) Meaningful visualization of properties independent of a circuit design
US20080127009A1 (en) Method, system and computer program for automated hardware design debugging
US6074426A (en) Method for automatically generating behavioral environment for model checking
US20020046391A1 (en) Method for generating behavior model description of circuit and apparatus for logic verification
JP2007510223A (ja) ダイアグラミング環境言語のための単純化データ信号サポート
JPH03156572A (ja) 論理回路比較検証システムおよび方法
US7523029B2 (en) Logic verification and logic cone extraction technique
US5987239A (en) Computer system and method for building a hardware description language representation of control logic for a complex digital system
US20030131324A1 (en) Method of and apparatus for, and program for verifying equivalence between behavioral description and register transfer level description
US9626468B2 (en) Assertion extraction from design and its signal traces
US7152218B2 (en) Behavioral synthesis system, behavioral synthesis method, control program, readable recording medium, logic circuit production method, and logic circuit
US6077305A (en) Latch inference using dataflow analysis
JP3373641B2 (ja) テスト系列生成装置
US8296697B2 (en) Method and apparatus for performing static analysis optimization in a design verification system
JP4044732B2 (ja) 電気回路の比較方法
JP5229834B2 (ja) 回路設計方法、回路設計システム及び記録媒体
Chang et al. InVerS: an incremental verification system with circuit similarity metrics and error visualization
JP2010257003A (ja) 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体
JP2924222B2 (ja) 論理シミュレータ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees