JP2000315222A - 集積回路装置の設計用データベース及び集積回路装置の設計方法 - Google Patents

集積回路装置の設計用データベース及び集積回路装置の設計方法

Info

Publication number
JP2000315222A
JP2000315222A JP11124068A JP12406899A JP2000315222A JP 2000315222 A JP2000315222 A JP 2000315222A JP 11124068 A JP11124068 A JP 11124068A JP 12406899 A JP12406899 A JP 12406899A JP 2000315222 A JP2000315222 A JP 2000315222A
Authority
JP
Japan
Prior art keywords
integrated circuit
circuit device
cluster
designing
model
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.)
Pending
Application number
JP11124068A
Other languages
English (en)
Inventor
Masanobu Mizuno
雅信 水野
Sadashige Sugiura
貞重 杉浦
Kazumi Hamaguchi
加寿美 浜口
Hiroshi Takahashi
博 高橋
Katsuya Fujimura
克也 藤村
Toshiyuki Yokoyama
敏之 横山
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP11124068A priority Critical patent/JP2000315222A/ja
Priority to US09/560,154 priority patent/US6845489B1/en
Publication of JP2000315222A publication Critical patent/JP2000315222A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Abstract

(57)【要約】 【課題】 データをフレキシブルに利用しうる状態で格
納した集積回路装置の設計用データベース及びこれを利
用した集積回路装置の設計方法を提供する。 【解決手段】 設計データの格納層であるVCDB10
0(VCデータベース)と、制御システムであるVCD
BMS200(VCDBマネージメントシステム)とを
備えている。VCDB100には、VCクラスタ300
と、テストベクタクラスタ304と、目的別機能検証モ
デル320とが含まれている。VCDB100内には、
共用テストクラスタ410と周辺モデルクラスタ420
とを含むシステム検証用データベース402が配置され
ている。VCDBMS200内には、テストシナリオ,
目的別機能検証モデル,システム検証モデルなどの生成
を行なう機能検証支援手段500や、VCインターフェ
ース合成手段700などが配設されている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、集積回路装置の設
計に用いられるデータベース及びそれを利用した設計方
法に係り、特に、システムオンチップ化に対応するため
の設計技術に関するものである。
【0002】
【従来の技術】従来より、電子機器内の半導体装置は、
例えばメモリ,プロセッサなどの種類ごとの個別のLS
Iとして半導体チップ上に形成された後、各チップをプ
リント配線基板などの母基板上に実装することにより製
造されてきた。
【0003】ところが、最近、電子機器のより広範な利
用を図るべく、電子機器に用いられる半導体装置は小型
化,軽量化,省電力化及びコストの削減を要求されてお
り、特に、デジタル情報家電分野はその傾向が強い。そ
して、このような電子機器産業界の要請に応じて、半導
体産業はその重心をメモリからシステムLSIに移行さ
せることを余儀なくされている。
【0004】かかるシステムLSIは、具体的には、メ
モリや各種の論理回路を1つのチップ上に設けることに
より実現される。システムオンチップ化のためには、異
なる構造を有するトランジスタ等の素子を共通の基板上
に形成するためのプロセス上の技術が必要であることは
いうまでもないが、設計技術においても大きな変革が要
求される。
【0005】そこで、このようなシステムオンチップ化
に対応した設計技術として、ある機能を実現する多くの
セルからなる1つのブロック(例えば機能ブロックと呼
ばれるもの)を設計するためのデータを予め用意してお
いて、このデータを利用して、各ブロックを組み合わせ
た所望のシステムLSIを設計することが提案されてい
る。その場合、各機能ブロックごとに機能を実現するた
めの構造が定められているので、半導体装置全体の設計
においては、各機能ブロック間の配線や周辺回路の設計
を行なうだけで済む。このようにして、設計効率の大幅
な向上を図ろうとするものである。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来の設計手法では、論理設計,レイアウト設計などの下
位側の設計において設計されたブロックのうち何を利用
し、それらをどのように配置,配線するなどの設計を行
なうだけなので、各ブロック内の一部の要素のみを利用
するなど、ブロックをフレキシブルに活用することがで
きない。そのために、システムLSIに対する小型化な
どの多彩な要求を十分満たすことができないおそれがあ
る。
【0007】本発明は、上記従来の設計手法の問題点に
鑑み、上記従来のようなブロックを用いた設計手法に変
わる新たな設計システムを構築することを目的として成
されたものであり、特に、1つのまとまったコアとして
把握される要素のデータをフレキシブルに利用しうる状
態で格納した集積回路装置の設計用データベース及びこ
れを利用した集積回路装置の設計方法を提供することを
目的とする。
【0008】
【課題を解決するための手段】本発明の第1の集積回路
装置の設計用データベースは、集積回路装置を設計する
ために必要なデータを格納する複数のVC(バーチャル
・コア)からなるVCクラスタを備え、該VCクラスタ
を抽象化の度合いに応じて上位から下位まで複数の層に
階層化してなる集積回路装置の設計用データベースであ
って、上記VCクラスタは、上記VCクラスタの階層化
された各層に応じた同数の層に階層化され、上記VCの
機能及び上記VCを用いて構成されるシステムの機能を
検証するために必要なデータを格納するテストクラスタ
を備えている。
【0009】これにより、集積回路装置の検証を行なう
際に、階層化されたVCクラスタの各層毎に仕様,動
作,機能などの検証が可能となる。
【0010】上記テストクラスタは、テストベンチ,テ
ストシナリオ,タスク及びモデルのうち少なくともいず
れか1つを含むことが好ましい。
【0011】本発明の第2の集積回路装置の設計用デー
タベースは、集積回路装置を設計するために必要なデー
タを格納する複数のVC(バーチャル・コア)クラスタ
を備え、各VCクラスタを抽象化の度合いに応じて上位
から下位まで複数の層に階層化してなる集積回路装置の
設計用データベースであって、上記VCクラスタの階層
化された各層に応じた同数の層に階層化され、上記各V
Cを組み合わせて上記集積回路装置を構築したときのシ
ステムの検証を行なうためのシステム検証用データベー
スを備えている。
【0012】これにより、集積回路装置のある部分だけ
ではなくシステム全体としての仕様,動作,機能などの
検証が可能となる。
【0013】上記第2の集積回路装置の設計用データベ
ースにおいて、上記システム検証用データベースには、
上記VCクラスタの階層化された各層に応じた同数の層
に階層化された上記VCの機能及びVCを用いて構成さ
れるシステムの機能を検証するために必要なデータを格
納するテストクラスタが配設されていることが好まし
い。
【0014】上記第2の集積回路装置の設計用データベ
ースにおいて、上記システム検証用データベースには、
上記VCクラスタの階層化された各層に応じた同数の層
に階層化され、VCの周辺に接続されシステムの検証に
用いられる周辺モデルクラスタが配設されていることが
好ましい。
【0015】本発明の第3の集積回路装置の設計用デー
タベースは、集積回路装置を設計するために必要なデー
タを格納する複数のVC(バーチャル・コア)クラスタ
を備え、上記VCクラスタに、集積回路装置を構成する
ために必要な仕様・動作レベルのデータを格納する仕様
・動作VCと、上記各仕様・動作VCが格納しているデ
ータが示す仕様・動作を満たすために必要なRTレベル
(レジスター・トランスファレベル)のデータを格納す
るRT−VCとを配置してなる集積回路装置の設計用デ
ータベースであって、上記集積回路装置の機能を検証す
るために用いられる検証目的別に分けられた目的別機能
検証モデルを、上記RT−VCとリンクさせて備えてい
る。
【0016】これにより、集積回路装置の機能検証をそ
の目的に応じて迅速に行なうことが可能となる。
【0017】目的別機能検証モデルには、機能検証時に
おける信号をクロックの半周期の倍数に変更してなる同
期化モデルや、記述最適化モデルがある。
【0018】記述最適化モデルには、集積回路装置の実
動作で使用される処理のうち機能検証時において使用さ
れない処理を削除してなるモデル、上記VCクラスタ内
の各層に対応した回路データにおいて、互いに階層が異
なる複数の層同士に亘る信号線を単一化してなるモデ
ル、集積回路装置の回路記述の形式を機能検証に用いる
シミュレータの処理速度が最も高い形式に統一してなる
モデル、機能検証を行なう集積回路装置のうち機能検証
時に動作しない部分の記述を削除してなるモデル、異常
動作などを警告する手段を備えたモデルなどがある。
【0019】本発明の第4の集積回路装置の設計用デー
タベースは、集積回路装置を設計するために必要なデー
タを格納する複数のVC(バーチャル・コア)からなる
VCクラスタを備え、該VCクラスタを抽象化の度合い
に応じて上位から下位まで複数の層に階層化してなる集
積回路装置の設計用データベースであって、VC本体内
の故障検査を最適化するための手法に関する情報を備え
ている。
【0020】これにより、テストコストを最小化するた
めの故障検査などに利用できる情報の提供を図ることが
できる。
【0021】本発明の第5の集積回路装置の設計用デー
タベースは、集積回路装置を設計するために必要なデー
タを格納する複数のVC(バーチャル・コア)からなる
VCクラスタを備え、該VCクラスタを抽象化の度合い
に応じて上位から下位まで複数の層に階層化してなる集
積回路装置の設計用データベースであって、VC本体内
の動作回数を解析するためのモデルを備えている。
【0022】これにより、動作回数の少ないあるいは均
一化された低消費型で信頼性の高い集積回路装置の設計
に利用できるモデルの提供を図ることができる。
【0023】本発明の第5の集積回路装置の設計用デー
タベースは、集積回路装置を設計するために必要なデー
タを格納する複数のVC(バーチャル・コア)からなる
複数のVCクラスタを備え、該VCクラスタを抽象化の
度合いに応じて上位から下位まで複数の層に階層化して
なる集積回路装置の設計用データベースであって、上記
複数のVCクラスタを組み合わせてシステムLSIを構
築するために利用可能なモデルであって、各VCクラス
タにおける相異なる層のVCを組み合わせるためのつな
ぎのモデルとなるVCインターフェースモデルを備えて
いるこ。
【0024】これにより、複数のVCクラスタの設計レ
ベルが一致していない状態でも、円滑なシミュレーショ
ンを行なうことが可能になる。
【0025】本発明の集積回路装置の設計方法は、集積
回路装置を設計するために必要なデータを格納する複数
のVC(バーチャル・コア)クラスタを備え、各VCク
ラスタを抽象化の度合いに応じて上位から下位まで複数
の層に階層化してなるVCデータベースを用いた集積回
路装置の設計方法であって、上記上記集積回路装置の検
証要求に応じて、上記VCデータベースのVCクラスタ
に関する情報を入力し、集積回路装置の検証のためのテ
ストクラスタを生成するステップを含んでいる。
【0026】この方法により、検証に必要なデータや検
証の手順に関する記述,タスクなどを自動的に生成する
ことが可能になる。
【0027】本発明の第2の集積回路装置の設計方法
は、集積回路装置を設計するために必要なデータを格納
する複数のVC(バーチャル・コア)クラスタを備え、
各VCクラスタを抽象化の度合いに応じて上位から下位
まで複数の層に階層化してなるVCデータベースを用い
た集積回路装置の設計方法であって、上記上記集積回路
装置の検証要求に応じて、上記VCクラスタの機能レベ
ルのVCにリンクさせて、上記集積回路装置の機能を検
証するために用いられる検証目的別に分けられた目的別
機能検証モデルを生成するステップを含んでいる。
【0028】この方法により、集積回路装置の機能検証
をその目的に応じて迅速に行なうことができる。
【0029】この目的別機能検証モデルには、上述のも
のがある。
【0030】本発明の第3の集積回路装置の設計方法
は、集積回路装置を設計するために必要なデータを格納
する複数のVC(バーチャル・コア)クラスタを備え、
各VCクラスタを抽象化の度合いに応じて上位から下位
まで複数の層に階層化してなるVCデータベースを用い
た集積回路装置の設計方法であって、上記VCクラスタ
の階層化された各層に応じた同数の層に階層化され、上
記各VCを組み合わせて上記集積回路装置を構築したと
きのシステムの検証を行なうためのシステム検証用モデ
ルを生成するステップを含んでいる。
【0031】この方法により、システム全体の検証の容
易性や迅速性を図ることができる。
【0032】本発明の第4の集積回路装置の設計方法
は、集積回路装置を設計するために必要なデータを格納
する複数のVC(バーチャル・コア)クラスタを備え、
各VCクラスタを抽象化の度合いに応じて上位から下位
まで複数の層に階層化してなるVCデータベースと検証
のためのCPUとを用いた集積回路装置の設計方法であ
って、シミュレーションの結果に応じて上記VCデータ
ベースからVCを取り出す一方、シミュレーションの結
果から使用するCPUに関するパラメータを抜き出し
て、使用するCPUのパラメータに適合したインターフ
ェースを選択又は生成して上記VC内に格納するステッ
プを含んでいる。
【0033】この方法により、シミュレーション時にイ
ンターフェースを使用するCPUに適合させるための処
理を逐一行なう必要がなくなり、迅速なシミュレーショ
ンを行なうことが可能になる。
【0034】上記第4の集積回路装置の設計方法におい
て、例えば、上記インターフェースが上記CPUのバス
との間で信号を授受するためのバスインターフェースで
ある場合には、上記バスインターフェースを上記VC内
においてVCの機能本体部と分離して格納し使用するC
PUのプロトコルに合わせて生成することにより、迅速
なシミュレーションが可能になる。
【0035】本発明の第5の集積回路装置の設計方法
は、集積回路装置を設計するために必要なデータを格納
する複数のVC(バーチャル・コア)クラスタを備え、
各VCクラスタを抽象化の度合いに応じて上位から下位
まで複数の層に階層化してなるVCデータベースを用い
た集積回路装置の設計方法であって、上記VC本体内の
動作回数を解析するステップを含んでいる。
【0036】この方法により、低消費型で信頼性の高い
集積回路装置を設計することが可能となる。
【0037】本発明の第6の集積回路装置の設計方法
は、集積回路装置を設計するために必要なデータを格納
する複数のVC(バーチャル・コア)クラスタを備え、
各VCクラスタを抽象化の度合いに応じて上位から下位
まで複数の層に階層化してなるVCデータベースを用い
た集積回路装置の設計方法であって、上記VC本体内の
故障検査を最適化するためのステップを含んでいる。
【0038】この方法により、故障検査のためのテスト
コストや制約条件を考慮した集積回路装置の設計が可能
になる。
【0039】
【発明の実施の形態】以下、本発明の実施形態につい
て、VC,VCDS,VCDB等の概念の定義と、VC
DSの概略構成と、各部の詳細な内容とに分けて説明す
る。
【0040】[VC,VCDS,VCDBの概念]ま
ず、本発明におけるVC及びVCDSの概念について説
明する。
【0041】本発明におけるVC(バーチャル・コア)
とは、IP(機能ブロック)としばしば同義に使用され
るバーチャルコンポーネントとしての”VC”とは異な
る概念であって、1つのまとまったブロックで構成され
るシステムLSIの設計を対象としており、その中で
も、再利用が可能なハードウェア,ソフトウェアを含む
データを指すものとする。そして、VCDS(バーチャ
ル・コア・デザイン・システム)とは、このVCを利用
してシステムLSIのハード,ソフトを最適化するため
のシステム全体を指すものとする。また、VCDB(バ
ーチャル・コア・データベース)とは、VCを利用した
設計のために用いられるデータベースを指すものとす
る。
【0042】[VCDSの概略構成]図1は、本発明の
実施形態に係るシステムLSI設計のためのデザインシ
ステム(VCDS)の構成を概念的に示す図である。
【0043】図1に示すように、本実施形態に係るデザ
インシステムは、システムの設計のためのデータの格納
層であるVCDB100(VCデータベース)と、VC
DB100の最適化などを行うための制御システムであ
るVCDBMS200(VCDBマネージメントシステ
ム)とにより構成されている。
【0044】VCDB100には、VCの集合体として
捉えられるVCクラスタ300と、このVCクラスタ3
00中のVCの構造を決定するためのアーキテクチャ情
報401と、システム検証データ402とが含まれてい
る。
【0045】VCクラスタ300には、仕様で記述され
るデータを格納するバーチャル・コアである仕様層(仕
様VC301)と、動作で記述されるデータを格納する
動作層(動作VC302)と、RTレベル(レジスター
・トランスファレベル)で記述されるデータを格納する
バーチャル・コアである機能層(RT−VC303)と
からなる本体部がある。また、VCクラスタ300に
は、パラメタライズされたテストパターンを有すると共
に回路のシミュレーションを行なうためのテストクラス
タ304と、シミュレーションなどを行なって各VCの
性能を評価するための性能情報305とが存在する。
【0046】性能情報305には、例えば面積,スピー
ドなどのパラメータである性能指標が組み込まれてお
り、例えばRTレベルでは、ある値をかなり正確に算出
することができる。また、実際にあるRTレベルでハー
ドを実現したことがあれば、その結果も性能指標に組み
込んでおくことができる。
【0047】また、VCクラスタ300内には、各々V
Cクラスタ本体の1つ又は複数のVCにリンクして、以
下の要素が組み込まれている。まず、仕様VC301
(仕様層),動作VC302(動作層),RT−VC3
03(機能層)にリンクした動作回数を解析するモデル
310が組み込まれている。また、RT−VC303
(機能層)にリンクした目的別機能検証モデル320が
組み込まれている。さらに、RT−VC303(機能
層)にリンクした,スキャン,BISTなどVCにどの
テストを行なうことができるかなどの情報に関する故障
検査手法情報330が組み込まれている。
【0048】アーキテクチャ情報401には、実際にそ
れぞれのVCをどう使用するかということの情報が含ま
れている。例えばあるタスクをソフトウェアで実現する
場合には、「それを実行するプロセッサはなにを使用す
るのか」、「バス(インターフェイス)はなにを使用す
るのか」、「電源,クロック供給方式はどうするか」、
「論理合成する際のテスト方式はなにを用いるか」、
「命名規則の制約(ツールの制約や重複防止のための規
則)はどうか」など、そのシステムLSIに必要な種々
の情報が含まれている。
【0049】システム検証データベース402は、VC
を組み合わせた1つのLSIを構成する場合に、それを
機能検証するためのデータベースとなるものである。こ
のシステム検証データ402には、共用テストクラスタ
410と、周辺モデルクラスタ420と、VCインター
フェースモデルとが組み込まれている。
【0050】共用テストクラスタ410やVCクラスタ
300内のテストクラスタ304は、テストベンチ,テ
ストシナリオ,タスク,モデルを含む。テストベンチと
は、テスト用システム構造及び機能モデルからなってい
る。テストシナリオとは、システムレベルの検証の流
れ、システム動作シーケンスをいう。タスクとは、VC
を初期化するタスクあるいは特定機能を実行させるタス
クをいう。モデルとは、テストベンチの構成で使用され
るシミュレーションモデル,VCモデルあるいは周辺シ
ミュレーションモデルへのリンクをいう。これらのテス
トクラスタの具体的な構成例については後述する。
【0051】周辺モデルクラスタ420は、システム検
証を行なうときに使用するVCの周辺のモデルであっ
て、例えば外部メディア,外部メモリ,通信用LSIに
おける伝送路,センサーなどを記述したモデルなどがあ
る。VCだけでなくこのような周辺モデルを組み合わせ
ることにより、全体のシステム検証を円滑に行なうこと
が可能になる。VCインターフェースモデルは、システ
ムシミュレーションを行なう際に各VCを係合させてシ
ミュレーションを行なうためのつなぎのモデルとなる部
分である。
【0052】また、VCDBMS200は、VCDB1
00に対する登録や、VCDB100の外方からの検
索,インスタンスの生成,その他下記に説明する各種の
処理を行なう。登録には、新たなコアとして登録するほ
か、既存VCを参照して新たなVCを生成し、そのVC
の機能を改変したり、VC内のデータの追加登録を行な
ったり,差分管理情報を格納したりすることが含まれ
る。検索とは、どのレベルのVCでどういう種類の情報
が欲しいかということの検索である。
【0053】そして、VCDBMS200内には、テス
トシナリオ生成,目的別検証用モデル(シミュレーショ
ンモデル)の生成,システム検証モデル(システムシミ
ュレーションモデル)の生成などを行なう機能検証支援
手段500と、動作回数解析及び回路最適化手段600
と、VCインターフェース合成手段700と、VC故障
検査方式の選択・最適化や故障検査スケジュールの立案
を行なうための故障検査戦略最適化手段800とが設け
られている。
【0054】図2は、本実施形態のVCDSにおける設
計の基本的な流れを示す図である。同図に示すように、
仕様レベル,動作レベル及びRTレベルのいずれにおい
ても、記述,検証,評価,合成の手順によりVCの生
成,改変などが行なわれる。例えば、仕様レベルにおい
ては、仕様VCであるS1,S2が選び出されたり、新
たなVCであるS3が生成されたりする。その際、図中
矢印に示す方向に沿ってデータが流れて、データの記
述,検証,評価が行なわれ、評価はフィードバックされ
る。動作レベルでは、各仕様VCであるS1,S2,S
3に対応した動作VCであるD1,D2,D3が生成さ
れるが、各VCはハードウェア,ソフトウェアに機能分
割される。また、RTレベルでは、各動作VCであるD
1,D2,D3に対応するRT−VCであるR1,R
2,R3が生成されるとともに、これらを接続するバ
ス,CPU,メモリ等が生成される。つまり、より具体
化されることになる。
【0055】各々のタスクは、外部入出力部及び仕様V
Cと状態遷移などで記述されている。仕様VCは、状態
遷移,論理,真理値表などを表現できる言語あるいは図
形で記述されている。
【0056】このように、各階層にVCを配置してこれ
らを総合的に管理することにより、従来の機能ブロック
とは異なり、フレキシブルに利用できるデータベースの
提供を図ることができる。
【0057】図3は、図1に示すシステムの機能部分を
抜き出して示すブロック回路図である。同図において、
VCクラスタを格納しているデータベース格納層に情報
を入力するための入力部と、データベース格納層からの
出力情報を受ける出力部と、データベース格納層,入力
部及び出力部を制御する制御部とを有する。VCクラス
タには、仕様VCを生成する仕様層と動作VCを生成す
る動作層とを含む仕様動作層と、RT−VCを生成する
RT層という機能が存在する。このうち、仕様層と動作
層とは必ずしも明確に区分できない場合があるので、仕
様動作層と一括して示されている。ここで、動作とは1
つの仕様に対してソフトウェア,ハードウェアの割り当
てを定めたものであって、一般的には1つの仕様に対し
て複数の動作がある。RT(レジスター・トランスフ
ァ)とは、動作に対してハードウェア的に実現できるも
のであって、一般的には1つの動作に対して、重視する
パラメータの相違などに応じた何種類かの実現方法があ
る。すなわち、後に詳しく説明するように、1つの仕様
VCに対して複数の動作VCを、1つの動作VCに対し
て複数のRT−VCをそれぞれ階層的に有しているのが
一般的である。ただし、仕様と動作とはいずれも機能的
な概念を表すものともいえるので、その区別が困難な場
合もあり、その場合には、仕様・動作VCとしてデータ
ベースを持っておくことも可能である。
【0058】[VCクラスタの構成]次に、図1に示す
VCDSの各部の詳細な構造や機能などについて、それ
ぞれ各部に分けて説明する。
【0059】(VCクラスタ本体部の構成)図4は、V
Cクラスタ本体部の機能を詳細に説明する図である。同
図に示すように、仕様層においてある機能を表現する仕
様VCがあると、その下流側の動作層においてはそれを
実現するための複数の動作VC1,動作VC2が一般的
には存在し、さらに下流側のRT層においては各動作V
C1,動作VC2を実現するためのそれぞれ複数のRT
−VC1a,RT−VC1b,RT−VC2a,RT−
VC2bが一般的には存在する。例えば、”乗算”とい
う1つの仕様に対し、”乗算”を実現するための動作は
複数の足し算とシフトなどの動作の組み合わせからなる
ので、複数通りの動作が存在するのが一般的である。も
ちろん、下流側に1つのVCしか存在しないこともあり
得る。図4に示す例では、例えば”乗算”という1つの
仕様VCに対し、遅延を重視した実現方法が動作層VC
1であり、(占有)面積を重視した実現方法が動作層V
C2である。そして、各層ごとにインスタンスVCを生
成して付加する機能が備わっており、図4には、例とし
てRT−VC1a,RT−VC1b,RT−VC2a,
RT−VC2bにおいて、それぞれ1又は複数のインス
タンスVCを生成する機能が表わされている。
【0060】図5は、本実施形態における各VCの構造
を示す図である。仕様層,動作層,RT層などの各階層
のVCには、後述する設計データ(図)と、テストベク
タなどの検証データと、面積,遅延(,消費電力)など
の性能情報と、対象VCの上位概念を持つ上位層VC,
下位概念を持つ下位層VCなどに関するリンク情報とな
る上下層(親子)情報と、VC作成時に参照した同一層
のVCや参照されたVCなどに関する派生情報と、同一
層(動作層など)に属するVC間で共有する情報があれ
ばその共有情報と、追加や修正があった場合にはその改
変内容と、例えばパラレル又はシリアル又はPCIパス
などのバスを生成するためのインターフェイス情報とが
備えられている。
【0061】図6は、各層のVCのデータ及び性能情報
の関係を示す図であって、同図の右側には、(占有)面
積と遅延とを性能評価のパラメータとして採用したとき
の各層の性能情報の例が示されているが、同図の左側に
は、後述する図7〜図9に例示するような各層の設計デ
ータや検証データが存在するが、図6においては説明を
簡単にするために図示を省略する。以下、各層の内容に
ついて説明する。
【0062】−仕様層− 仕様層は機能とでもいうべき基本的な入出力関係を規定
する部分であるので、仕様層内の設計データには、入出
力信号の種別や、テキストベースのデータ,プロトコル
などの規格、ある規格に合わせるための目標性能などの
性能、ドキュメントとして与えられている機能仕様があ
る。仕様検証モデルは、FSM(状態遷移),CFG
(コントロールフローグラフ),DFG(データフロー
グラフ)などで表現されている仕様記述(言語又は図)
である。具体的なフォーマットの例としては、例えばV
HDL,SDL,LOTOS,C/C++などというも
のである。図7は、SDLというフォーマットで記述さ
れたある設計データの例である。
【0063】−動作層− 動作層は、アーキテクチャ情報と、ハードウェア部と、
ソフトウェア部とに分かれている。アーキテクチャ情報
は、対象プロセッサ名、OS名、ハードウェア,ソフト
ウェアの通信方法などを含んでいる。例えば、プロセッ
サとOSとシミュレーションとを組み合わせる場合に
は、使用するプロセッサはSparc,Pentium
などで、使用するOSはUNIX,Windowsなど
で、使用するハードウェア,ソフトウェアの通信方法は
IPC,PLIなどであって、これらの適当な組み合わ
せを記述すると共に、必要な前提条件などを記述してお
く。ただし、CPUはなくてもよい場合がある。また、
ハードウェア部には、仕様層に対して具体化した機能が
ドキュメントとして残されており、具体的には、仕様に
なかった詳細な動作モードが記述されている。図8は、
ハードウェア部に格納されているデータの例を示す図で
ある。VerilogHDL,VHDLなどのハードウ
ェア記述言語で記述されている。ソフトウェア部の内容
は、ソースコード(例えばC/C++)により記述され
る。図9は、ソフトウェア部に格納されたデータの例を
示す図である。
【0064】図10は、動作層の検証の際に使用される
環境を示す図である。ハードウェア部(HW)と、ソフ
トウェア部(SW)と、CPUが存在する場合にはCP
Uと、これらを接続する通信手段(Communica
tion)とが存在している。場合によっては、通信手
段とソフトウェア部との間にOSが介在していることも
ある。つまり、この状態では、バスの接続は未定であ
る。
【0065】−RT層− 次に、RT層も基本的には、上述の動作層と同様に、ア
ーキテクチャ情報と、ハードウェア部と、ソフトウェア
部とを備えている。ただし、図11に示すように、RT
層においては、ハードウェア部(HW)と、CPUと、
メモリ(MEM)と、ソフトウェア部(SW),OSと
を接続するバスが形成されている。つまり、通信方法に
ついても、どのように接続するのかというレベルまで具
体化され、ハードウェアに確実に具現化できる,つまり
論理合成できるものになっている。そして、ハードウェ
ア部及びソフトウェア部の双方に、メタ層とインスタン
ス層とが存在する。ただし、インスタンス層とは、変数
をパラメータとして記述されているメタ層の変数を定数
で置き換えたものである。図12は、RT層におけるメ
タとインスタンスとの例を示す図である。
【0066】RT層内のアーキテクチャ情報としては、
以下のような情報がある。
【0067】まず、プロセッサ(CPU)情報として、
動作層及びRT層で使用する協調検証モデルがある。こ
れはプロセッサごとに存在する。
【0068】次に、バス(IF)情報として、バスの信
号の種別や幅などの情報や、バスのプロトコル(タイミ
ング)がある。これらは、プロセッサを各ハードウェア
を接続するための内容が含まれている。
【0069】テスト方式に関する情報として、テスト方
式と必要な機能・仕様(専用端子),付加回路)があ
る。例えばFull Scanの方式であれば、Sin
(スキャンイン),Sout(スキャンアウト),Sc
lk(スキャンクロック),TEの信号などの情報が必
要である。バウンダリースキャンテスト方式の1つであ
るJTAGを採用するのであれば、制御端子やTAPコ
ントローラ回路などの情報が必要である。外部から直接
それぞれのコアをテストする分離テストを行なうのであ
れば、テストモード端子,セレクタ回路などの情報が必
要である。命名規則としては、例えば「モジュール名は
英数字の小文字16字以下であること」などいう,生成
したインスタンスVCを処理するEDAツールごとの制
約や、「モジュール名の先頭に、”A981005 N
を付加すること」などという,同じ名称で異なるインス
タンスVCを生成しないための制約などがある。
【0070】−各層における性能情報− 仕様層において、図4に示す仕様VCがある場合、この
仕様VCの性能を面積と遅延で表すと図6の右上部に示
す範囲(ハッチング部)である。そして、この仕様VC
に対して、図4に示すような遅延を重視した実現方法で
ある動作VC1と、面積を重視した実現方法である動作
VC2とがあった。図6の右中央部に示すように、動作
VC1,動作VC2の範囲は、それぞれハッチングが施
された遅延の小さい領域及び面積の小さい領域である。
さらに、RT層には、図4に示すように、動作VC1に
対するRT−VC1a,RT−VC1bと、動作VC2
に対するRT−VC2a及びRT−VC2bとがあっ
た。図6の右下部に示すように、各VCの面積及び遅延
は具体的な曲線状のある点として定まる。
【0071】ここで、性能情報には多数のパラメータが
あることから、各層の性能情報は実際には図6のような
平面座標系ではなく、多次元座標系で表されることにな
る。したがって、性能情報は、RT層においては多次元
空間内のある範囲又は点として、仕様層又は動作層にお
いては多次元空間内のある範囲として、それぞれ表され
ることになる。
【0072】(VCクラスタの外部の構成) −動作回数解析モデル− 図13は、図1中の動作回数解析及び回路最適化手段の
処理を概念的に示すブロック図である。ブロック内のネ
ット長に比べてブロック間のネット長は長くなるので、
動作回数の多い配線がブロック間にある場合にはその配
線をブロック内に組み込む。これにより、配線容量が低
減し消費電力が削減される。また、例えば回路を並列化
して回路動作を分散させることにより、モジュール内の
動作回数を低減する。入力情報を交換しても出力結果が
異ならない複数のピンがある場合には、ピンに接続する
ネットを交換することにより内部動作回数を低減でき、
ネットの信号の遷移を均等化させることにより回路の劣
化を抑制することができる。さらに、フロアプラン時に
は合計の長さしか考慮されていなかったネット配線に関
して、動作回数を考慮したネット配線を行なうことによ
り、遅延制約に反しない範囲で動作回数の低減を図るこ
とができる。そして、このような処理を行なうためのモ
デルをVCDB100内に組み込むことにより、低消費
電力で信頼性の高いLSIを設計することが可能にな
る。
【0073】−目的別検証モデル− 図14は、目的別機能検証モデル320の内容の例を示
す図である。同図に示すように、VCクラスタ本体部の
RT−VC303には、実際の回路として表されるよう
なRTレベルの設計記述であるRT−VC1,RT−V
C2,…が組み込まれている。これに加えて、機能検証
システムにおいても、ある特定の目的に応じて検証がで
きるような検証モデル(シミュレーションモデル)であ
る目的別機能検証モデル320が、各RT−VC1,R
T−VC2,…毎に組み込まれている。1つの目的別機
能検証モデル320には、例えば、同期化モデル32
1、記述最適化モデル322、動作チェッカー組込モデ
ル324などが並列に配設されている。
【0074】同期化モデル321は、通常単位時間で動
作するようなモデルに対し、同期クロック信号のサイク
ル毎にしか検証しないというものである。これは、実動
作ほどの正確さが不要な検証においては、細かい動作や
遅延などを省略してシミュレーションの高速化を図ろう
とするものである。
【0075】記述最適化モデル322は、以下の目的で
設けられている。実際に回路化するには論理合成できる
ような記述が必要であるが、そのような記述を用いて検
証用のシミュレーションを行なうと遅くなりすぎる場合
がある。そこで、記述をシミュレーション向きに変換し
て、回路合成上はよくないがシミュレーション上は最適
になるようなモデル高速化するために記述最適化モデル
322と、この記述最適化モデル322とVCクラスタ
本体部のRT−VC中の本来の回路記述との対応付けを
行なうためのリファレンス323とを備えている。
【0076】動作チェッカー組込みモデル324は、後
述するように、VCの使用上あるVCはどのような測り
方をすればよいかを示すモデルである。例えば、入力信
号にはある信号パターンを入れてはいけないとか、内部
状態においてもあるシーケンスで内部状態が遷移しては
いけないなどという禁止事項をシミュレーションモデル
に組み込んであり、そのような禁止事項がシミュレーシ
ョンの実行中に生じた場合には、エラー情報を返してく
るような仕組みが組み込んであるモデルである。この動
作チェッカー組込みモデルには、エラーがあったときエ
ラーの意味を解析するためのチェック結果解析情報32
5が付設されている。つまり、VCクラスタ本体部の各
VCに入っている実際の回路に関する設計データそのも
のを用いて検証を行なうのではなく、目的に応じた最適
な検証を行なうためのモデルを備えている。
【0077】図15は、目的別機能検証モデル320内
の各モデルのうち特に同期化モデル321の使用方法を
示す図である。本実施形態における同期化モデル321
は、上述のようにクロックのサイクルだけに同期して検
証を行なわせるためのモデルである。しかし、VCクラ
スタ本体部に同期化モデル321があるというだけで
は、高速の検証を行なわせるための同期化が困難である
ことが多い。そこで、共用テストクラスタ410中の各
RT−VCや周辺モデルクラスタ420にも、VCクラ
スタ本体部中の同期化モデルと同じ精度を有する同期化
テストクラスタ411,同期化モデル421がそれぞれ
組み込まれている。これらの同期化モデルの作り方につ
いては、後述する。
【0078】−システム検証データベース− 図16は、システム検証用データベース内において共用
テストクラスタ410,周辺モデルクラスタ420を用
いたテストの流れ(テストシナリオ)を示す図である。
同図に示すように、共用テストクラスタ410は、アプ
リケーション層411(仕様レベル)と、アーキテクチ
ャ層412(動作レベル)と、機能層413(機能レベ
ル)とに階層化されている。周辺モデルクラスタ420
は、アプリケーション層421(仕様レベル)と、アー
キテクチャ層422(動作レベル)と、機能層423
(RTレベル)とに階層化されている。そして、システ
ム検証データベース402には、共用テストクラスタ4
10と周辺モデルクラスタ420との間で、VCクラス
タ本体部の各VC301,302,303と共通の階層
においてシミュレーションを行なうための仕様レベルシ
ステム検証モデルと、動作レベルシステム検証モデル
と、RTレベルシステム検証モデルとが備えられてい
る。
【0079】−故障検査戦略最適化手段− 図17は、故障検査戦略最適化手段800による故障検
査戦略を最適化する方法を示すブロック図である。同図
に示すように、設計要求がなされると、故障検査戦略最
適化手段800により、VCDB100からRT層のV
C(RT−VC)と、故障検査方式とが選択される。設
計要求には、システムLSIの要求仕様(面積,ピン
数,テスト時間,優先制約重み情報など)や、VC情報
がある。故障検査戦略最適化手段800は、故障検査戦
略知識ベースを参照して、各種のパラメータを考慮した
最適化の演算を行ない、最適な故障検査戦略と、1チッ
プ故障検査制御回路とを生成する。
【0080】ここで、上記VCDB100には、複数の
機能が同じでテスト手法が互いに異なる複数のVCクラ
スタが格納されている。また、VCDB100には、V
Cクラスタの1つについて、機能が同じでテストパター
ンが互いに異なる複数のテスト手法が格納されている。
さらに、VCDB100には、複数のテスト手法につい
てのテストコストに関連する情報が格納されており、例
えば、集積回路装置の使用するピン数,テストパターン
長,集積回路装置の面積,故障検出率,テスト時間,設
計工数及び集積回路装置の歩留まりなどがある。また、
VCDB100内には、テスト制約に関連する情報も格
納されており、例えば、ピンの状態,ダイナミック又は
スタティックであることの制限及びテストパターンの分
割に関する情報がある。
【0081】次に、テストコストを最小化するための対
策について説明する。
【0082】例えば、テストコストを面積とテスト時間
と設計工数の3つのパラメータによって評価するとす
る。この場合、総テストコストCtotlは、面積コストC
sizeとテスト時間コストCtimeと設計工数コストCproc
の和として表される。
【0083】Ctotl=Csize+Ctime+Cproc ところが、上述のように禁止事項やトレードオフになる
関係があるので、ユーザの重視度合いに応じて、面積コ
スト,テスト時間コスト,設計工数コストに対して、そ
れぞれ重み付けα,β,γをつけることにより、制約条
件を考慮したコストの評価を行なうことができる。
【0084】その結果、テストコストを最小化するため
の評価関数は、下記式で表されることになる。
【0085】 Ctotl=α・Csize+β・Ctime+γ・Cproc そして、上式に基づいてテストコストを最小化するため
のテスト手法を選択することが可能になる。ただし、評
価関数を構築するに際しては、上述の3つのパラメータ
だけでなく他のパラメータを組み込むことができる。
【0086】このような故障検査最適化手段800を設
けることにより、禁止されるテスト種類の組み合わせや
トレードオフ関係にあるテスト種類を選択するという制
約条件下において、テストコストを最小化することが可
能になる。
【0087】−VC合成インターフェースモデル− VCインターフェースモデルとは、VCクラスタのうち
相異なる層(例えば仕様層とRT層)のVCモデルを組
み合わせ、VCベースのシステムLSIシステムシミュ
レーション(ミックスレベル)を行なうためのシミュレ
ーションモデルである。
【0088】一般に、シミュレーションは、抽象度の高
い層から順に,つまり仕様層,動作層,RT層の順にト
ップダウンで行なわれる。ところが、設計の進め方によ
っては、あるVCにおいてはどのRT−VCを用いるか
まで具体的に決まっているが、別のVCではまだ仕様V
Cまでしか決まっていない状態で、回路全体のシミュレ
ーションを行ないたいときがある。ところが、共通の層
でしかシミュレーションを行なうことができないと、シ
ステムLSIのシミュレーションにおいて、仕様・動作
層の設計を行なう段階で部分的にRT層のVCを組み込
んだシミュレーションや、RT層のVCにおけるシミュ
レーションで一部に仕様層のVCを組み込んだシミュレ
ーションを容易に実施することができず、設計の効率化
を図ることができない。
【0089】一般に、シミュレーションは抽象度の高い
層から順に,つまり仕様層,動作層,RT層の順にトッ
プダウンで行なわれる。ところが、設計の進め方によっ
ては、あるVCにおいてはどのRT−VCを用いるかま
で具体的に決まっているが、別のVCではまだ仕様VC
までしか決まっていない状態で、回路全体のシミュレー
ションを行ないたいときがある。また、シミュレーショ
ンの際にVCによって求められる精度が異なる場合に
は、可能な限り抽象的なレベルでシミュレーションを行
なったほうが高速化を図ることができる。
【0090】そこで、例えばアーキテクチャ層VCイン
ターフェースにより、VC−A,B,CについてはRT
レベルを、VC−Xについては動作レベルを、VC−Y
については仕様レベルを用いることにより、レベルの異
なるモデルを組み合わせてシミュレーションを行なうこ
とができる。VCインターフェースモデルとは、このよ
うにレベルの異なるモデルを組み合わせてシミュレーシ
ョンを行なう際に用いられるつなぎのモデルである。V
Cインターフェースモデルは、アプリケーション層やア
ーキテクチャ層から見ると、マイコン制御における状態
遷移図のようなレベルのモデルである。
【0091】図53は、VCインターフェースモデルの
構成を示すブロック図である。同図に示すように、VC
インターフェースモデルは、VCクラスタの仕様層,動
作層,RT層のデータをそれぞれ入力する仕様層入力
部,動作層入力部,RT層入力部と、該各入力部からの
入力データを出力先のデータ転送レートに応じて転送レ
ートを変換する転送レート変換手段と、出力先のデータ
精度に応じて各データの精度を変換するデータ精度変換
手段と、出力先のプロトコルに応じて各データのプロト
コルを変換するプロトコル変換手段と、これらの各変換
手段で変換されたデータをVCクラスタの仕様層,動作
層,RT層にそれぞれ出力する仕様層出力部,動作層出
力部,RT層出力部とを備えている。例えば、仕様層の
入出力はデータファイル形式,実数で取り扱われ、動作
層の入出力は同期転送,整数で取り扱われ、RT層の入
出力は同期転送,有限ビット列,同期信号,イネーブル
信号制御で取り扱われる。
【0092】図54は、VCインターフェースモデルを
組み込んだVCDB100を利用してシステムのシミュ
レーションを行なう際に(例えば機能検証支援手段50
0により)生成されるシステムシミュレーションモデル
の一例を説明するためのブロック図である。VCDB1
00内には、VCインターフェースモデルと、コントロ
ールVCクラスタ,信号圧縮VCクラスタ,メモリVC
クラスタなどのVCクラスタとが組み込まれている。そ
して、機能検証支援手段500により、システムシミュ
レーションモデルとして例えば以下の要素が生成され
る。例えばVCDB100内のコントローラVCクラス
タの動作VCを利用してコントローラ動作VCが生成さ
れる。VCDB100内の信号圧縮VCクラスタの仕様
VCを利用して信号圧縮仕様VCが生成される。VCD
B100内のメモリVCクラスタのRT−VCを利用し
てメモリRT−VCが生成される。そして、VCDB1
00内のインターフェースVCモデルを利用して、シス
テムシミュレーションモデル内に生成されたコントロー
ラ動作VCと信号圧縮仕様VCという互いに異なる層の
2つのVC同士をつなぐための第1VCインターフェー
スモデルが生成される。また、システムシミュレーショ
ンモデル内に生成されたコントローラ動作VC,信号圧
縮仕様VC及びメモリRT−VCというそれぞれ異なる
層の3つのVC間をつなぐための第2VCインターフェ
ースが生成される。
【0093】図55は、システムシミュレーションモデ
ル内における第2VCインターフェースモデルの役割を
説明するためのブロック図である。上述のように、仕様
層の入出力はデータファイル形式,実数で取り扱われ、
動作層の入出力は同期転送,整数で取り扱われ、RT層
の入出力は同期転送,有限ビット列,同期信号,イネー
ブル信号制御で取り扱われる。そして、第2VCインタ
ーフェースモデルは、例えば信号圧縮仕様VCとメモリ
RT−VCとの間をつなぐために、パラレル/シリアル
転送変換,同期読み出し,有限ビット幅への丸め込みな
どの機能を備えている。そして、第2VCインターフェ
ースモデルは、信号圧縮仕様VCに対してはデータファ
イル,遅延時間0,実数でデータを授受する一方、メモ
リRT−VCに対しては有限ビット幅(例えば16ビッ
ト幅)での同期転送,バスプロトコルありなどによって
データを授受するような構成となっている。
【0094】このようなVCインターフェースモデルを
備えることにより、トップダウンにシステムLSIを設
計する際に、異なる層のVCモデルを組み合わせたシミ
ュレーションモデルを容易かつ柔軟に構築することがで
き、設計の効率化を図ることができる。
【0095】[機能検証のための各種手段と生成された
モデル]ここでは、図1に示すVCDBMS200内の
各手段によるマネージメント方法と、その結果生成され
る検証のための各種モデルとについて説明する。生成さ
れたモデルは、図1に示すVCBD100内のいずれか
に組み込まれているのが原則であるが、必ずしもVCB
D100内に組み込まれなくてもよい。
【0096】(機能検証支援手段) −概略構成− 図18は、機能検証支援手段500の動作を説明するた
めのブロック図である。まず、どのような検証(シミュ
レーション)を行ないたいかについての検証要求(パラ
メータ)が入力される。すなわち、検証要求として、検
証するのにどのVCを使用するのか、VCのレベルはど
の階層を使用するのか、同期モデルや記述最適化モデ
ル,動作チェッカー組込みモデルなどのうちどのモデル
を使用するのか(モデル指定)、どのようなテストシナ
リオを使用するのか、どのようなテストベンチを準備す
るのかというパラメータが入力される。機能検証支援手
段500は、このような検証要求に対応したVCクラス
タに関する情報や、共用テストクラスタ,周辺モデルに
関する情報などをVCDB100から取り出して、シミ
ュレーションするためのテストベンチ,テストシナリ
オ,タスクや、シミュレーションモデル(目的別機能検
証用モデル,システム検証モデルなど)を生成する。ま
た、この生成したモデルをVCDB100に格納するこ
とも可能である。
【0097】図19は、仕様レベル,動作レベル,機能
レベルを含む一般的なシミュレーションの手順を概略的
に示す図である。シミュレーション回路条件がデータベ
ースに入力されると、すでに作成されたシミュレーショ
ン用回路を用いて、あるいは一部不足しているものがあ
れば新規に設計した回路を用いて、論理シミュレータに
よりシミュレーションを行なって、シミュレーション結
果を出力する。
【0098】−同期化モデルの作成例− 図20は、機能検証支援手段500の一部である同期化
モデル生成手段510によるモデル生成方法を示す図で
ある。同期化モデル生成手段510は、使用する回路,
メモリ,テストクラスタの指定及びそれらで定義されて
いるパラメータの指定などに関するシミュレーション回
路条件の入力に応じ、VCDB100内のRT−VC,
メモリモデル,テストクラスタ(機能層)などに関する
シミュレーションモデルの記述を参照して同期化モデル
を生成する。同期化モデル生成手段510には、タイミ
ング解析手段511と回路変更手段512とが含まれて
おり、このタイミング解析手段511と回路変更手段5
12とにより、以下の手順で同期化モデルが生成され、
RTレベル回路とメモリモデルとテストクラスタ(機能
層)とを含むシミュレーション用回路が生成される。
【0099】図21は、VCDB100内のテストクラ
スタ,RTレベル回路,メモリモデルに関するシミュレ
ーションモデルの記述を示すブロック図である。テスト
クラスタからRTレベル回路に入力される信号tb−o
utは220ns後に出力“1”になり、420ns後
に出力“0”になるものとする。テストクラスタから5
0ns毎に反転するクロックclkが入力されるものと
する。このとき、RTレベル回路内において、信号tb
−outを入力信号cir−in1として受け、フリッ
プフロップをベースとする同期回路を経て、メモリモデ
ルにメモリ要求のための信号cir−out1が出力さ
れる。また、メモリモデル内において、メモリ取り出し
要求信号mem−inが入力されてからメモリ出力信号
mem−outが出力されるまでの遅延時間が120n
sであるものとする。その後、RTレベル回路におい
て、信号mem−outを入力信号cir−in2とし
て受け、ラッチをベースとする非同期回路を経て、信号
cir−out2が出力される。そして、テストクラス
タにおいて、信号cir−outを入力信号tb−in
として受ける。
【0100】図22(a),(b)は、それぞれ同期化
モデル生成手段510によって同期化される前のシミュ
レーションモデルと同期化後のシミュレーションモデル
(機能レベルの)におけるタイミングチャートである。
例えば、元のシミュレーションモデルにおけるtb−o
utの立ち上がり,立ち下がりタイミングがそれぞれ2
20ns,420nsである場合に、このタイミングを
それぞれクロックの半周期50nsの倍数である200
ns,400sに修正する。また、元のシミュレーショ
ンモデルにおいてはメモリモデル内における遅延時間が
120nsであったのを、50nsの倍数である100
nsに修正する。ただし、クロックのエッジを詳細に見
ると微妙にずれていてもよい。
【0101】通常、設計される回路は複雑なタイミング
制御によって動作する。その場合、従来のシミュレーシ
ョンモデルでは、実動作におけるタイミングに沿ったシ
ミュレーションモデルを作成する。しかし、機能検証の
ためのシミュレーションを行なう場合には、実動作とは
異なり、細かい遅延時間などは無視してクロックの半周
期長単位で処理しても実際上不都合を生じないことが多
い。これによって、シミュレーションの高速化を図るこ
とができる。
【0102】なお、この例では、シミュレーションのタ
イミングをクロックの半周期の倍数に同期させたが、ク
ロックの1/4周期などクロックと同期する半周期以外
の特定周期の倍数となるようにしてもよい。
【0103】−記述最適化モデルの作成例1− 図23は、機能検証支援手段500の一部である記述最
適化モデル生成手段520Aによるモデル生成方法を示
す図である。記述最適化モデル生成手段520Aは、使
用する回路,共用テストクラスタの指定などに関するシ
ミュレーション回路条件の入力に応じ、VCDB100
内のRT−VC,共用テストクラスタなどに関するシミ
ュレーションモデルの記述を参照して記述最適化モデル
を生成する。記述最適化モデル生成手段520Aには、
回路検索手段521と回路変更手段522とが含まれて
おり、この回路検索手段521と回路変更手段522と
により、以下の手順で記述最適化モデルが生成され、R
Tレベル回路とテストクラスタとを含むシミュレーショ
ン用回路が生成される。
【0104】図24は、このときの具体的な処理の例を
示す図である。まず、回路検索手段521により、VC
DB100内の回路VCの記述と、テストクラスタ内の
条件式信号線の値の設定に関する記述とを読み込む。そ
の結果、回路VCの記述には、flg1が“1”のとき
には処理1aを行ない、flg1が“1”でないときに
は処理1bを行なうという条件文があり、テストクラス
タVC内の記述には、flg1の値は変化するがflg
2の値は変化しないことがわかったとする(図中#0,
#100は時刻を示す)。ところが、flg2は“0”
のままなのでこのシミュレーションでは処理2aは実行
されず、常に処理2bが実行されることがわかる。そこ
で、回路変更手段522により、処理2a及び制御記述
2中の条件文を削除してシミュレーションモデルを生成
する。その結果、シミュレーション用回路記述における
制御記述2においては、flg2が“0”であるか否か
に拘わらず処理2bを行なうことように記述される。た
だし、このように記述を変更すると、元の回路記述との
対応がわからなくなるおそれがあるので、その対応関係
を検索するための情報としてリファレンスを設けてお
く。つまり、変更された回路記述においてはflg2が
どのような値を持っているのかわからないが、このリフ
ァレンスを参照するとflg2は常に“0”であること
がわかる。
【0105】このように、回路記述を変更することによ
り、シミュレーションの際には不要となる処理を行なう
ことによる時間の無駄をなくすことができ、シミュレー
ション用回路記述の最適化を行うことができる。
【0106】−記述最適化モデルの作成例2− 図25は、機能検証支援手段500の一部である記述最
適化モデル生成手段520Bによるモデル生成方法を示
す図である。記述最適化モデル生成手段520Bは、使
用する回路,テストクラスタの指定に関するシミュレー
ション回路条件の入力に応じ、VCDB100内のRT
−VC,テストクラスタなどに関するシミュレーション
モデルの記述を参照して記述最適化モデルを生成する。
記述最適化モデル生成手段520Bには、階層情報検索
手段523と階層展開手段524とが含まれており、こ
の階層情報検索手段523と階層展開手段524とによ
り、以下の手順で記述最適化モデルが生成され、RTレ
ベル回路とテストクラスタとを含むシミュレーション用
回路と回路図変換情報とが生成される。
【0107】図26は、このときの具体的な処理の例を
示す図である。ここでは、上位にモジュールMAがあ
り、その下位の階層にモジュールMB,MCがあり、さ
らにモジュールMCの下位の階層にモジュールMDがあ
るとする。ここで、階層情報検索手段523により、階
層展開前における回路データの階層と信号線の接続情報
とを抽出する。その結果、モジュールMB中の素子から
モジュールMC中の素子に入力される信号については、
モジュールMB内における信号処理B1と、モジュール
MA内における信号処理A1と、モジュールMC内にお
ける信号処理C1とがあり、モジュールMC中の素子か
らモジュールMB中の素子に入力される信号について
は、モジュールMC内における信号処理C2と、モジュ
ールMA内における信号処理A2と、モジュールMC内
における信号処理B2とがある。また、モジュールMC
中の素子からモジュールMD中の素子に入力される信号
については、モジュールMC内における信号処理C3
と、モジュールMD内における信号処理D1とがあり、
モジュールMD中の素子からモジュールMC中の素子に
入力される信号については、モジュールMD内における
信号処理D2と、モジュールMC内における信号処理C
4とがある。また、信号線の接続情報として、上述のデ
ータに対応した記述が含まれている。
【0108】ここで、信号B1,A1,C1は信号名が
異なっているが、本来1つの信号線を流れる1つの信号
にすぎない。このように、信号が流れるモジュール毎に
信号名を代えているのは、設計の容易さを考慮したから
である。ところが、シミュレーション時には、このよう
な区切りを明確にする必要はない。そこで、階層展開手
段524により、階層を展開して重複する信号線を共通
化したした回路を生成する。その際、異なる階層間で同
じ信号を扱う信号線名は、最も最上位の階層における信
号線名とする。その結果、階層展開前のシミュレーショ
ンモデルにおいては10個あった信号線及び信号の名称
が、階層展開後のシミュレーションモデルにおいてはそ
れぞれ4個に低減される。これにより、シミュレーショ
ン速度を高めることができる。
【0109】なお、下層の信号線には先頭にモジュール
名をつけておく。階層展開前と展開後とにおける信号線
の対応関係を示すリストをリファレンスとして作成して
おくことにより、デバック時には信号線及び信号につい
て階層展開前と同様に名称を扱うことができる。
【0110】−記述最適化モデルの作成例3− 図27は、機能検証支援手段500の一部である記述最
適化モデル生成手段520Cによるモデル生成方法を示
す図である。記述最適化モデル生成手段520Cは、使
用する回路,シミュレータの指定に関するシミュレーシ
ョン回路条件の入力に応じ、VCDB100内のRT−
VCに関するシミュレーションモデルの記述を参照して
記述最適化モデルを生成する。記述最適化モデル生成手
段520Cには、回路記述解析手段525と、回路変換
手段526と、シミュレータ個別情報と、回路変換ルー
ルとが含まれており、この回路記述解析手段525と回
路変換手段526とにより、以下の手順で記述最適化モ
デルが生成され、RTレベル回路を含むシミュレーショ
ン用回路が生成される。
【0111】図28は、このときの具体的な処理の例を
示す図である。VCDB100内においては、回路変換
ルールにより変換可能な記述によりRT−VCが作成さ
れる。RT−VCにおける改変前のシミュレーションモ
デルには、処理の種類によってcase文とif文とが
混ざり合って使用されているのが一般的である。ところ
が、あるシミュレータを使用する場合にはif文に従っ
て処理したほうがシミュレーション速度が速くなるが、
別のシミュレータを使用する場合にはcase文に従っ
て処理したほうがシミュレーション速度が速い場合があ
る。
【0112】ここでは、シミュレータ個別情報から、シ
ミュレータAはcase文で処理したほうが処理速度が
速く、シミュレータBはif文で処理したほうが処理速
度が速いという情報が得られるものとする。そこで、シ
ミュレータBを使用する場合には、回路記述解析手段5
25により、シミュレーションモデル中にcase文が
あるかどうかを解析して検索する。そして、回路変換手
段526により、シミュレータ個別情報と、case文
−if文間の変換を行なう際に従うべき回路変換ルール
とを参照して、シミュレーションモデル中のcase文
をif文に変換する。
【0113】その結果、シミュレータBを用いる場合に
より高速で処理を行なうことが可能なシミュレーション
用回路が生成される。
【0114】−記述最適化モデルの作成例4− 図29は、機能検証支援手段500の一部である記述最
適化モデル生成手段520Dによるモデル生成方法を示
す図である。記述最適化モデル生成手段520Cは、使
用する回路の指定に関するシミュレーション回路条件の
入力とシミュレーションに使用しない機能の入力とに応
じ、VCDB100内のRT−VCに関するシミュレー
ションモデルの記述を参照して記述最適化モデルを生成
する。記述最適化モデル生成手段520Dには、機能解
析手段527と、回路変換手段528とが含まれてお
り、この機能解析手段527と回路変換手段528とに
より、以下の手順で記述最適化モデルが生成され、RT
レベル回路を含むシミュレーション用回路が生成され
る。
【0115】図30は、このときの具体的な処理の例を
示す図である。シミュレーションにおいて回路の動作に
寄与しないものがある。図30に示すRT−VCにおい
て、機能解析手段527により、RT−VCの機能を解
析した結果、シミュレーションを行なう際に、モジュー
ルMAの下位層において、モジュールMBとモジュール
MCとは動作して出力に影響を及ぼすが、モジュールM
Dは動作しないことがわかったとする。つまり、モジュ
ールMDは、データには含まれているが、シミュレーシ
ョンの結果には何ら影響を及ぼさないものである。そこ
で、回路変換手段528により、モジュールMDについ
ての回路記述を削除し、モジュールMDがアクセスされ
るとエラーを返す回路を組み込む。つまり、モジュール
MDを切りはなしたシミュレーションモデルを自動的に
生成できるようなシミュレーション用回路を作成する。
【0116】これにより、ワークステーション等を用い
てシミュレーションを行なう場合に、モジュールMDの
分だけメモリを占有することによるシミュレーション速
度の低下を回避できる。また、モジュールMDが動作し
なくても、入力信号が変化するとシミュレーションは遅
くなるが、これを回避することができる。
【0117】ただし、モジュールMDが使用されること
もあり得るので、誤ってモジュールMDが使用された場
合にこれをチェックするアクセスチェック回路を生成す
る。これは、シミュレーション速度に影響を与えない程
度の小さな容量しか持っていない。
【0118】(検証におけるチェックモデル)ここで
は、検証においてVC自体が正常に動作しているかどう
かということの検証や、VCを組み込んだ検証において
各VCが正常に使用されているかどうかということのチ
ェック機能について説明する。この手段は、図14に示
される動作チェッカー組込モデル324として、目的別
機能検証モデル320内に組み込まれている。
【0119】図31は、検証のチェック方法を示すブロ
ック図である。VCDB100内には、時相チェックモ
デル431と内部状態チェックモデル342と入出力デ
ータチェックモデル343とを含むモデルが組み込まれ
ている。そして、変換プログラムによって、チェック内
容に応じて実際のシミュレーションモデルの中にチェッ
クする仕組みが組み込まれる。この変換プログラムに従
って、言語ツールと機能又は論理シミュレータとを用い
てシミュレーションを行なうことにより、以下のような
各種のチェックが可能となる。
【0120】入出力データチェックモデル343は、以
下のようなチェックを行なう記述を含んでいる。例えば
図32に示すような入力A1,A2に応じて出力O1,
O2を生成する回路がある場合を例に採る。この場合
に、各VCの入出力ピンの状態値に関する制約事項が守
られているかどうかをチェックするのが入出力データチ
ェックモデル343の機能である。例えば、VCを利用
した設計におけるシミュレーション時に、VCに禁止さ
れた組み合わせの入力が入ってこないか、逆に、禁止状
態の出力がないかなどをシミュレーション中に見張る記
述が含まれている。
【0121】内部状態チェックモデル342は、以下の
ようなチェックを行なう記述を含んでいる。例えば図3
3に示す内部状態S1,S2,S3を示す回路がある場
合、各VCの内部の信号や設計におけるシミュレーショ
ン時に、VC内部で禁止されている内部状態が存在しな
いかをシミュレーション中に見張る記述が含まれてい
る。
【0122】時相チェックモデル341は、以下のよう
な入出力ピンや内部ピンの時相論理のチェックを行なう
記述を含んでいる。例えば、図34(a)に示すような
入力信号A1,A2を受ける回路において、入力信号A
1,A2が図34(b)に示すような変化を示すとす
る。このとき、入力信号A1がHからLに変化したとき
に、次にHになるまでに入力信号A2はHにならなけれ
ばならないという制約があれば、その制約が守られてい
るかどうかを見張る記述が含まれている。
【0123】従来のテストパターンを用いたシミュレー
ションでは、内部の深い領域で異常状態が発生しても、
そのシミュレーションの実行中にそれが外部ピンまで伝
わってこない場合がある。それに対して、図31に示す
ようなチェックモデル341,342,343をVCD
B100内に備えておくことにより、異常現象をそれが
発生した時点,場所で即座に検出することができる。ま
た、エラーが発生したときに、そのエラーがどういうル
ールに違反しているかということもわかる。
【0124】従来、以上の3つのようなチェック項目
は、HDL又はC言語で記述できるものもある。しか
し、このようなチェック項目を現実に記述すること自体
がかなり困難であり、かつ、記述量も多くなる。それに
対し、本例のようにVCDB100内にこのチェックモ
デルを組み込むことで、チェックの容易性とチェック精
度の向上とを図ることができる。
【0125】(VCインターフェースの合成)従来の手
法をそのままVCDSに適用したのでは、LSI設計者
がVCDB内のVCをそのまま使用できない。すなわ
ち、VCを組み合わせて回路を設計する際に各VCがデ
ータを入出力するインターフェースとして異なる仕様な
いし手順(プロトコル)を有する場合に、そのまま並べ
て信号線を接続しただけでは正しい信号の授受を行なう
ことができない。たとえば、バスとVCとの間に配置さ
れるインターフェースであるバスI/Fインターフェー
スの場合、設計上VCを使用するためには、使用するホ
スト(CPUなど)に合わせてバスI/Fを修正する必
要がある。その結果、流用するVCの数だけバスI/F
を修正することになるので、その間人手によるミスが発
生するおそれがある。
【0126】以下に説明するVCインターフェース合成
手段700(図1参照)とは、異なる手続きを持ったイ
ンターフェース同士でも、自動的にそれらを合わせ込む
機能を持ったインターフェース回路というべきものを合
成するものである。
【0127】図35は、VCインターフェース合成手段
700を用いた設計方法を示すブロック図である。設計
する回路のシミュレーションの結果、VCDB100内
からVC(RT層)が選び出される。このVCはVCD
B100内に格納されているものである。また、シミュ
レーションにより、インターフェースのパラメータ(例
えばアクセスビット数,バッファサイズなど)もわか
る。そこで、インターフェース合成手段700により、
パラメータを適正に合わせ込みながら適正なVCを選択
し,あるいは合成して最適なインターフェースを持った
VCを決定するように構成されている。
【0128】例えば、各インターフェースのアクセスビ
ット数が異なっている場合には、信号の授受を行なうこ
とができない。各インターフェースにおけるバッファサ
イズが異なると、一定の速度で信号を流したいのに、こ
れが適正に流れなくなるという事態を招く。そこで、イ
ンターフェース合成手段700によってこれらのパラメ
ータを合わせ込みつつ適正なVCを決定することによ
り、自動的に最適なインターフェースを持ったVCを利
用した設計が可能となる。
【0129】−バスI/Fへの適用− 図36は、図35に示すインターフェース合成手法を、
バスとVCとの間のインターフェースであるバスI/F
に適用した場合のインプリメンテーションフローを示す
図である。
【0130】まず、最適なVC(RT層)を選択する。
そのときに、シミュレーションに使用したホスト(CP
Uなど)のバスプロトコルに応じ、VCDB100から
VC(VC1,VC2,…)を選択する。また、ホスト
のバスプロトコルからアクセスビット数やバッファサイ
ズなどのパラメータもわかる。これらの情報を受けて、
バスインターフェース合成手段700により、そのホス
トのバスプロトコルに合わせたバスインターフェース
を、VC1,VC2,…毎に自動的に決定する。インタ
ーフェース合成手段700は、このときのパラメータな
どの条件を、全て動作レベル,仕様レベルなどのシミュ
レーションで出力されたものから受け取り、これらのパ
ラメータを、ホストが要求するバスプロトコルの仕様
と、VC自体が持っているインターフェースの仕様とが
適合するように、いわばインターフェース部分を吸収す
るように自動的に決定するのである。このとき、VCD
B100から取り出されたVCに適切なものがあればこ
れを選び、適切なVCがなければ適切なVCを生成す
る。これによって、そのインターフェースを合わせたV
C1A,VC2A,…などが生成される。そして、この
VC1A,VC2A,…などを1チップのインプリメン
テーションに使用する。
【0131】−バスI/Fに関する具体例− 図37は、本具体例におけるVCDB100内のVC
(RT層)の構造を示すブロック図である。同図に示す
ように、VCの構成を機能本体部とバスI/F部とに分
離し、機能本体部は、バスI/F部のタイミング等に無
関係にしておく。バスI/F部としては、使用するホス
トのバスプロトコルに合わせた各種のバスI/F部を生
成しておく。図37に示す例では、VCDB100内の
VC1には3つのバスI/F部−A,B,Cと機能本体
部とがあり、VC2には2つのバスI/F部−X,Yと
機能本体部とがある。
【0132】図38は、図37に示すバスI/F部−
A,B,C,X,Yのビット幅と、リード/ライトサイ
クルと、最大ブロック周波数とを表にして示す図であ
る。このように、1つのVCに対して複数種のバスI/
F部を準備しておくことにより、インターフェース合成
の際のパラメータの合わせ込みをより迅速に行なうこと
ができる。
【0133】図39は、インターフェース合成手順を示
すフローチャート図である。以下、図39を参照しなが
ら、バスI/Fの自動生成手順について説明する。
【0134】まず、ステップST701において、ター
ゲット仕様(機能,動作周波数など)を決定し、CPU
や周辺部のVC*を選択する。
【0135】次に、ステップST702において、仕様
/動作レベルのシミュレーションを行なってから、ステ
ップST703に進み、ステップST703において選
択したVC*がターゲット仕様を満足しているか否かを
判別する。
【0136】その結果、VC*がターゲット仕様を満足
していなければ、ステップST704でステップST7
02のシミュレーションを実行していないVC*がある
か否かを判別する。そして、判別結果がYESである間
はステップST701に戻り、ターゲット仕様を満足す
るVC*が見つかるまで、ST701,ST702,S
T703の処理を繰り返す。一方、選択したVC*がタ
ーゲット仕様を満足していないにも拘わらずST702
のシミュレーションを実行していないVC*がなくなっ
てしまった場合には、ST705においてターゲット仕
様を変更してからステップST701に戻る。
【0137】以上の制御をターゲット仕様を満足してい
るVC*が見つかるまで行なった後、ターゲット仕様を
満足しているVC*が現れると、ステップST706に
移行して、使用するVCと、このVCに用いられるバス
I/F部とを決定する。
【0138】また、シミュレーションにより、CPUと
しては図40に示す3つのCPU−1,2,3のうちC
PU−2を選択したとする。この場合、機能層のVC
(RT−VC)において用意されているCPU−2のバ
スプロトコルは図40に示されるとおりである。そこ
で、図38に示すVC1,VC2の各種のうち、このC
PU−2のバスプロトコルに適合するものを選ぶと、V
C1に対してはバスI/F部−Bに、VC2に対しては
バスI/F部−Xがそれぞれ選択されることになる。
【0139】そして、図39に示すように、VCDB1
00のRT層において、CPU−2と、バスI/F部−
B及び機能本体部によって構成されているVC1’と、
バスI/F部−X及び機能本体部によって構成されてい
るVC2’という3つのRT−VCが生成される。
【0140】図41は、この選択されたRT−VC間の
接続状態を示すブロック図である。同図に示すように、
VC1’及びVC2’がCPU−2用の専用バスを介し
てCPU−2と接続されており、各VC1’,VC2’
とホスト(CPU−2)との間のバスのパラメータ(ビ
ット数,動作周波数など)が合わせ込まれているので、
VC1’,VC2’,CPU−2同士の間で信号を適正
に流通させることができ、自動的な設計が可能になる。
【0141】(システム検証のための構造)次に、シス
テム検証モデル中の階層テストクラスタについて説明す
る。上述のように、テストクラスタは、テストベンチ,
テストシナリオ,タスク,モデルを含む。テストベンチ
とは、テスト用システム構造及び機能モデルからなって
いる。テストシナリオとは、システムレベルの検証の流
れ、システム動作シーケンスをいう。タスクとは、VC
を初期化するタスクあるいは特定機能を実行させるタス
クをいう。モデルとは、テストベンチの構成で使用され
るシミュレーションモデル,VCモデルあるいは周辺シ
ミュレーションモデルへのリンクをいう。
【0142】図1に示すように、VCDB100内にお
いて、VCクラスタ本体部は仕様VC301,動作VC
302,RT−VC303の各層に階層化されている。
ここでは、システム検証のために生成される階層化され
たテストクラスタについて説明する。
【0143】−テストクラスタの階層化− 図42は、VCクラスタに対応して階層化されたテスト
クラスタ全体の構造を示すブロック図である。図43,
図44,図45は、それぞれ順に、仕様層及び動作層に
おけるテストクラスタの構造と、機能層におけるテスト
クラスタの構造と、プロトコル層におけるテストクラス
タの構造とを詳細に示すブロック図である。なお、図4
2において、略記によって示されているパラメータP−
1〜10と、各種テストクラスタと、シーケンスのモデ
ルS1〜S4及び構成要素S3−1〜S3−6の具体的
な内容は、図43〜図45に示すとおりである。
【0144】ここで、これらのテストクラスタは、図1
に示すVCクラスタ300内のテストクラスタ304を
利用してもよいし、あるいは、これらのテストクラスタ
は、すでに準備されているテストシナリオや周辺モデル
を含む共用テストクラスタ410を利用して生成するこ
ともできる。例えば、テストシナリオや周辺モデルは、
複数のVCクラスタに共通なものや、VCクラスタ30
0外のシステム検証用データベース402として備えて
いるものがある。
【0145】例えば、ある機器を有線(ワイヤ)で接続
したり、機器を無線で接続したりすることがある。その
データの媒体の例としては音声がある。図42〜図45
においては、音声のデータを有線又は無線によってある
機器Aから機器Bに転送するシステムを例にとってお
り、このシステムをブロック化して示している。ここで
は、この無線データ転送のための回路を設計の対象とし
ている。
【0146】仕様層においては、例えば有線データによ
って転送したデータを無線データに変換し、さらにそれ
を音声に変換してアウトプットするなどのタスクが行な
われる。このようなアプリケーションが抽象的に表現さ
れたところで、検証が可能になる。この仕様レベルにお
ける検証とは、例えば音声のデータをインプットして、
それを単にデータを横に転送するというようなレベルで
の動作だけの検証を行なう段階になっている。
【0147】動作層においては、無線データ転送部のシ
ーケンス制御の内容が構成A,構成B,構成C,…のV
Cクラスタとして詳細化される。例えば、構成AのVC
クラスタ内には、そのシーケンスで動作するモデルの例
として、Timer(S1)と、CPU(S2)と、I
rDA(S3)(米国のInfrared data association
(規格化団体)で規格化された赤外線を用いた汎用イン
ターフェース名)と、DMA(S4)とが含まれてい
る。
【0148】また、テストクラスタの動作層において
は、以下のように詳細化される。有線データ転送部がテ
ストクラスタ1(TB−1),テストクラスタ2(TB
−2)などとして詳細化される。例えば、転送の形態が
シリアルであり、転送速度が1Mbpsであり、転送タ
イプがバルク転送であることなどをパラメータとして持
つテストクラスタ1が現れる。また、音声変換は、テス
トクラスタa(TB−a),テストクラスタb(TB−
b),…として詳細化される。例えば、変換速度が10
0bpsであること、圧縮率が90%であることなどを
パラメータとして持つテストクラスタaが詳細化され
る。各VCクラスタの構成A,B,Cには、それぞれ初
期化テストクラスタ(I−TB−A,B,C,…)が準
備されている。すなわち、仕様層でパラメータP−1〜
3を与えることによって、無線データ通信の動作層にお
けるVCクラスタや、有線データ転送部及び音声変換部
のテストクラスタがテーブルから選択されて生成され
る。
【0149】ここで、動作層になると制御が複雑にな
り、互いにシーケンスを持つようになる。例えば、無線
側のテストクラスタa(TB−a)から構成AのVCク
ラスタに対してデータがインプットされると、構成Aの
VCクラスタにおいては、モデルS1〜S4が、“デー
タの受け取り告知−転送の連絡−転送許可の返答に応じ
た転送”という手順で作動するように単なるシーケンス
レベルで表現されている。そして、実際に転送する場合
には、有線データ転送部のテストクラスタ1(TB−
1)にデータの転送をし始める。同様に、音声変換部の
テストクラスタbからVCクラスタ内の構成Bにデータ
がインプットされると、構成B内の各モデルがシーケン
スで作動して、有線データ転送部のテストクラスタ2に
シーケンスの結果の信号が出力される。
【0150】次に、動作層から機能層に展開する場合に
ついて説明する。例えば、動作層における構成A中のモ
デルの1つである赤外線通信IrDAを展開すると、赤
外線通信IrDAの構成要素である制御部(S3−
1),送受信フレーマ(S3−2),CRC計算(S3
−3),DMAI/F(S3−4),16bitホスト
I/F(S3−5),シリアルI/F(S3−6)が現
れる。その際、ビットの幅,エラーの訂正の方法などの
機能的な面まで表現した機能層として詳細化されてい
る。また、Timer(S1),CPU(S2),DM
A(S4)についても、それぞれテストクラスタT−T
B,H−TB,D−TBが準備されている。例えば、T
imerに対しては、8bitのTimerテストクラ
スタ(T−TB1)と16bitのTimerテストク
ラスタ(T−TB2)とが準備されている。CPUに対
しては、16bitホストI/Fテストクラスタ(H−
TB1)と32bitホストI/Fテストクラスタ(H
−TB2)とが準備されている。DMAに対しては、D
emand DMAテストクラスタ(D−TB1)と、
シングルDMAテストクラスタ(D−TB2)とが準備
されている。このような各テストクラスタは、パラメー
タP−4〜9を与えるとテーブルによって選択される。
テーブルで呼び出す際には、テストクラスタのモデルと
タスクとが格納されているデータベースから各テストク
ラスタを呼び出す。これによって、テストを行なうため
の環境のパーツが揃ったことになる。ここの段階では、
データベースとして各要素が準備できることが示されて
いる。
【0151】一方、機能層の音声変換部及び有線データ
転送部においては、動作層からさらに詳細化されたテス
トクラスタが準備されている。例えば、動作層における
音声変換部のテストクラスタaには変換速度と圧縮率し
か表現されていなかったのを、機能層におけるテストク
ラスタには、変換の手法としてADPCM(Adaptivedi
fferential Pulse Code Modulationという規格の音声C
ODEC変換)を使用することがパラメータとして与え
られている。その結果、機能層における音声変換部のA
DPCMテストクラスタには、ADPCMに相当するモ
デルとタスクが格納されているデータベースが準備され
ることになる。同様に、機能層における有線データ転送
部には、通信プロトコルとしてUSB(Universal Seri
al Busという規格の汎用インターフェース名)を使用す
ることや、IEEE1394(IEEE(米国電気電子
技術者協会)で規格化された汎用インターフェース名)
を使用することがパラメータとして与えられたUSBテ
ストクラスタ,1394テストクラスタが準備されてい
る。以上の構成により、テストを行なうための準備がで
き、テスト環境が整ったことになる。
【0152】このように、システム検証用データベース
において、設計対象回路だけでなく、設計対象回路に信
号を入力する入力側回路と、設計対象回路の出力を受け
る出力側回路とにも階層化されたテストクラスタを備え
ることにより、設計対象回路,入力側回路及び出力側回
路の共通の階層において実際に流れる信号の授受とそれ
に応じたシーケンスなどの動作に対する検証を行なうこ
とができる。
【0153】例えば動作層におけるVCクラスタの構成
A,Bにおいて、構成A,Bの各モデルが存在するだけ
では構成A,Bの各部分の検証を行なうことはできるも
ののシステム全体としての検証を行なうことができな
い。それに対し、この例のごとく、VCクラスタの構成
A,において、音声変換部のテストクラスタa,bから
のデータのインプットと、有線データ転送側部テストク
ラスタ1,2へのアウトプットという信号の授受機能を
持たせることによって、システム全体の検証を行なうこ
とが可能になる。
【0154】構成Aの1つのモデルにおいても、赤外線
通信IrDAという部分だけを捉えて何かデータをイン
プットし、何らかのデータをアウトプットしたとしただ
けでは、その部分のみの設計の検証にはなっても、その
赤外線通信IrDAという部分がシステム全体の中でど
のように作動するかという検証にはならない。この例の
ように階層化されたテストクラスタを利用することによ
り、各モデルが実際のシステムに適合した検証を行なう
ことができる。機能層のような下位の階層においても同
様である。
【0155】また、プロトコル層は、データの授受に関
する詳細なプロトコル及びタイミングの詳細化を検証す
るための層である。例えば、図42,図図45には、1
6bitホストI/Fに関して、16bitPCI,3
2MHzをパラメータとしてプロトコル及びタイミング
に関する詳細化を行なって、16bitPCI−I/F
(32MHz)及びそのテストクラスタである16bi
tPCI−I/Fテストクラスタを生成している。
【0156】−テストクラスタの生成方法− 図46は、仕様層−動作層間のテストクラスタ生成方法
を説明するためのブロック図である。また、図47及び
図48は、それぞれ順に、図46中のテストクラスタ生
成のためのパーツと、生成されたテストクラスタとを個
別に詳示する部分拡大図である。ここでは、図42〜図
45に示す階層化されたテストクラスタのシステムを前
提としている。
【0157】無線データ転送のテストクラスタには、無
線転送モデル,初期化,送信数設定,データ送信,デー
タ受信という要素がある。無線データ転送のテストシナ
リオには、送信側と受信側とに分かれて、それぞれ初期
化,送信(受信)数設定,データ送信(受信)というス
テップがある。また、動作層の無線データ転送のテスト
クラスタを生成するために、動作層の有線データ転送部
におけるテストクラスタ1,2と、構成Aに付設されて
いる初期化テストクラスタと、動作層の音声変換部にお
けるテストクラスタa,bとが使用される。
【0158】そして、動作層のテストクラスタは、無線
データ転送のテストクラスタと、上述の各テストクラス
タ1,2,a,b及び構成Aの初期化テストクラスタと
を組み合わせて生成される。すなわち、無線データ転送
のテストシナリオに沿って、動作層における有線データ
転送部のテストクラスタ1中のモデル1,動作層におけ
る音声変換部のテストクラスタa中のモデルb,無線デ
ータ転送のVCクラスタ中の構成Aに対し、それぞれ初
期化,送信(受信)数設定,データ送信(受信)の順に
タスクのモデルを生成する。例えば、モデル1の初期化
とモデルbの初期化と構成Aの初期化とを加えることに
より、仕様層における無線データ転送のテストシナリオ
における送信の初期化が詳細化されたコマンドになる。
【0159】この例の方法によると、仕様層におけるテ
ストクラスタを詳細化する際に、上位のテストクラスタ
から下位のテストクラスタを構築することが可能にな
る。すなわち、従来の手法を用いたのでは、各階層のテ
ストクラスタつまり各タスクを個別に生成する必要があ
る。それに対し、この例の方法では、設計対象回路の共
用テストクラスタ(テストクラスタ+テストシナリオ)
だけでなく、設計対象回路に信号を与える入力側回路
と、設計対象回路からの出力を受ける出力側回路とにお
ける階層化されたテストクラスタを準備し、これと上位
のテストクラスタとを用いて下位のテストクラスタを生
成しているので、上位のテストクラスタを有効に活用す
ることができる。そして、このテストクラスタの生成を
上位層から階層に順次行なっていくことにより、システ
ム全体の検証に必要なテスト環境を整えることができ
る。
【0160】図49は、動作層−機能層間のテストクラ
スタ生成方法を説明するためのブロック図である。ま
た、図50及び図51は、それぞれ順に、図49中のテ
ストクラスタ生成のためのパーツと、生成されたテスト
クラスタとを個別に詳示する部分拡大図である。ここで
も、図42〜図45に示す階層化されたテストクラスタ
のシステムを前提としている。
【0161】ここでは、詳細な手順の説明は省略する
が、無線データ転送の動作層のテストクラスタに加え
て、機能層のVCクラスタ内における8bitのTim
erテストクラスタ(T−TB1)及び16bitのT
imerテストクラスタ(T−TB2)と、16bit
ホストI/Fテストクラスタ(H−TB1)及び32b
itホストI/Fテストクラスタ(H−TB2)と、D
emand DMAテストクラスタ(D−TB1)及び
シングルDMAテストクラスタ(D−TB2)と、機能
層の音声変換におけるADPCMテストクラスタと、機
能層の有線データ転送部におけるUSBテストクラスタ
及び1394テストクラスタとを用いて、無線データ転
送の機能層テストクラスタが生成される。
【0162】図52は、機能層−プロトコル層間のテス
トクラスタ生成方法を説明するためのブロック図であ
る。
【0163】ここでは、詳細な手順の説明は省略する
が、無線データ転送の機能層のテストクラスタに加え
て、機能層のVCクラスタ内における16bitのPC
I−I/Fテストクラスタ及び16bitのAPB−I
/Fテストクラスタとを用いて、無線データ転送のプロ
トコル層テストクラスタが生成される。ここで、PCI
とは、Peripheral Component Interconnect の略語であ
って高速なローカルバスの規格をいう。APBとは、Ad
vanced Peripheral Bus の略語であってARM社で使用
されているローカルバスの名称をいう。
【0164】なお、上述の手順で生成されたテストクラ
スタはVCDB100内に配設してもよいし、検証のと
きのみVCDB100とは別の場所に格納してもよい。
【0165】
【発明の効果】本発明の集積回路装置の設計用データベ
ースによると、テストベクタクラスタや、目的別機能検
証モデルや、システム検証用データベースを備えること
により、特に設計中における検証を行なう際における利
用性の高い設計用データベースを提供することができ
る。
【0166】本発明の集積回路装置の設計方法による
と、機能検証を支援するためのテストシナリオや検証用
モデルを作成し、検証の際にはVCインターフェースを
合成することにより、設計中における検証を自動的かつ
迅速に行なうことができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るシステムLSI設計の
ためのデザインシステム(VCDS)の構成を概念的に
示す図である。
【図2】本発明の実施形態のVCDSにおけるタスクの
基本的な流れを示す図である。
【図3】図1に示すシステムの機能部分を抜き出して示
すブロック回路図である。
【図4】本発明の実施形態のVCクラスタの機能を詳細
に説明する図である。
【図5】本発明の実施形態における各VCの構造を示す
図である。
【図6】本発明の実施形態における各層のVCのデータ
及び性能情報の関係を示す図である。
【図7】本発明の実施形態におけるSDLというフォー
マットで記述されたある設計データの例である。
【図8】本発明の実施形態におけるハードウェア部に生
成されたデータの例を示す図である。
【図9】本発明の実施形態におけるソフトウェア部に生
成されたデータの例を示す図である。
【図10】本発明の実施形態における動作層の検証の際
に使用される環境を示す図である。
【図11】本発明の実施形態におけるRT層の検証の際
に使用される環境を示す図である。
【図12】本発明の実施形態におけるRT層内のメタと
インスタンスとの例を示す図である。
【図13】図1中の動作回数解析及び回路最適化手段の
処理を概念的に示すブロック図である。
【図14】本発明の実施形態における目的別機能検証モ
デルの内容の例を示す図である。
【図15】本発明の実施形態における目的別機能検証モ
デル内の同期化モデルの使用方法を示す図である。
【図16】本発明の実施形態におけるシステム検証用デ
ータベース内において共用テストクラスタ,周辺モデル
クラスタを用いたテストの流れ(テストシナリオ)を示
す図である。
【図17】本発明の実施形態における故障検査戦略を最
適化する方法を示すブロック図である。
【図18】本発明の実施形態における機能検証支援手段
の動作を説明するためのブロック図である。
【図19】本発明の実施形態における仕様レベル,動作
レベル,機能レベルを含む一般的なシミュレーションの
手順を概略的に示す図である。
【図20】本発明の実施形態における機能検証支援手段
の一部である同期化モデル生成手段によるモデル生成方
法を示す図である。
【図21】本発明の実施形態におけるVCDB内の共用
テストクラスタ,RTレベル回路,メモリモデルに関す
るシミュレーションモデルの記述を示すブロック図であ
る。
【図22】(a),(b)は、それぞれ本発明の実施形
態における同期化モデル生成手段によって同期化される
前のシミュレーションモデルと同期化後のシミュレーシ
ョンモデル(機能レベルの)におけるタイミングチャー
トである。
【図23】本発明の実施形態における機能検証支援手段
の一部である記述最適化モデル生成手段によるモデル生
成方法を示す図である。
【図24】本発明の実施形態におけるシミュレーション
用回路を生成するときの具体的な処理の例を示す図であ
る。
【図25】本発明の実施形態における機能検証支援手段
一部である記述最適化モデル生成手段によるモデル生成
方法を示す図である。
【図26】本発明の実施形態におけるシミュレーション
用回路と回路図変換情報とを生成するときの具体的な処
理の例を示す図である。
【図27】本発明の実施形態における機能検証支援手段
一部である記述最適化モデル生成手段によるモデル生成
方法を示す図である。
【図28】本発明の実施形態におけるRTレベル回路を
含むシミュレーション用回路を生成するときの具体的な
処理の例を示す図である。
【図29】本発明の実施形態における機能検証支援手段
の一部である記述最適化モデル生成手段によるモデル生
成方法を示す図である。
【図30】本発明の実施形態におけるRTレベル回路を
含むシミュレーション用回路を生成するときの具体的な
処理の例を示す図である。
【図31】本発明の実施形態における検証のチェック方
法を示すブロック図である。
【図32】本発明の実施形態における検証のチェック対
象となる入出力ピンを含む回路の構成を概略的に示す図
である。
【図33】本発明の実施形態における検証のチェック対
象となる内部状態を含む回路の構成を概略的に示す図で
ある。
【図34】(a),(b)は、それぞれ本発明の実施形
態における検証のチェック対象となる回路の構成を概略
的に示す図、及び信号のタイミングチャート図である。
【図35】本発明の実施形態におけるVCインターフェ
ース合成手段を用いた設計方法を示すブロック図であ
る。
【図36】図35に示すインターフェース合成手法を、
バスとVCとの間のインターフェースであるバスI/F
に適用した場合のインプリメンテーションフローを示す
図である。
【図37】本発明の実施形態におけるバスI/Fを備え
たVCDB内のVC(RT層)の構造を示すブロック図
である。
【図38】図37に示すバスI/F部−A,B,C,
X,Yのビット幅と、リード/ライトサイクルと、最大
ブロック周波数とを表にして示す図である。
【図39】本発明の実施形態におけるインターフェース
合成の手順を示すフローチャート図である。
【図40】本発明の実施形態におけるインターフェース
合成における各種CPUの仕様を表にして示す図であ
る。
【図41】本発明の実施形態におけるインターフェース
合成によって選択されたRT−VC間の接続状態を示す
ブロック図である。
【図42】本発明の実施形態におけるVCクラスタに対
応して階層化されたテストクラスタ全体の構造を示すブ
ロック図である。
【図43】図42中の仕様層及び動作層の構成を詳細に
示す部分拡大図である。
【図44】図42中の機能層の構成を詳示する部分拡大
図である。
【図45】図42中のプロトコル層の構成を詳示する部
分拡大図である。
【図46】本発明の実施形態における仕様層−動作層間
のテストクラスタを生成する方法を概略的に示すブロッ
ク図である。
【図47】図46中のテストクラスタ生成のためのパー
ツを詳示する部分拡大図である。
【図48】図46中の生成されたテストクラスタ及びテ
ストシナリオを詳示する部分拡大図である。
【図49】本発明の実施形態における動作層−機能層間
のテストクラスタを生成する方法を概略的に示すブロッ
ク図である。
【図50】図49中のテストクラスタ生成のためのパー
ツを詳示する部分拡大図である。
【図51】図49中の生成されたテストクラスタ及びテ
ストシナリオを詳示する部分拡大図である。
【図52】本発明の実施形態における動作層−プロトコ
ル層間のテストクラスタを生成する方法を示すブロック
図である。
【図53】本発明の実施形態におけるVCインターフェ
ースモデルの構成を示すブロック図である。
【図54】本発明の実施形態におけるVCインターフェ
ースモデルを組み込んだVCDBを利用して生成される
システムシミュレーションモデルの一例を説明するため
のブロック図である。
【図55】システムシミュレーションモデルにおける第
2VCインターフェースモデルの役割を説明するための
ブロック図である。
【符号の説明】
100 VCDB(VCデータベース) 200 VCDBMS(VCデータベースマネージ
ャ) 300 VCクラスタ 301 仕様VC 302 動作VC 303 RT−VC 304 テストベクタクラスタ 310 動作回数解析モデル 320 目的別機能検証モデル 330 故障検査手法情報 401 アーキテクチャ情報 402 システム検証用データベース 410 共用テストクラスタ 420 周辺モデルクラスタ 430 VCインターフェースモデル 500 機能検証支援手段 600 動作回数解析及び回路最適手段 700 VCインターフェース合成手段 800 故障検査戦略最適化手段
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H01L 21/82 C 27/04 U (72)発明者 浜口 加寿美 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 高橋 博 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 藤村 克也 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 横山 敏之 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B046 AA08 JA05 KA05 KA08 5F038 DF11 DT07 DT19 EZ09 EZ10 5F064 AA01 BB31 DD04 EE47 EE54 HH06 HH09 HH10 HH17

Claims (33)

    【特許請求の範囲】
  1. 【請求項1】 集積回路装置を設計するために必要なデ
    ータを格納する複数のVC(バーチャル・コア)からな
    るVCクラスタを備え、該VCクラスタを抽象化の度合
    いに応じて上位から下位まで複数の層に階層化してなる
    集積回路装置の設計用データベースであって、 上記VCクラスタは、上記VCクラスタの階層化された
    各層に応じた同数の層に階層化され、上記VCの機能及
    び上記VCを用いて構成されるシステムの機能を検証す
    るために必要なデータを格納するテストクラスタを備え
    ていることを特徴とする集積回路装置の設計用データベ
    ース。
  2. 【請求項2】 請求項1に記載の集積回路装置の設計用
    データベースにおいて、 上記テストクラスタは、テストベンチ,テストシナリ
    オ,タスク及びモデルのうち少なくともいずれか1つを
    含むことを特徴とする集積回路装置の設計用データベー
    ス。
  3. 【請求項3】 集積回路装置を設計するために必要なデ
    ータを格納する複数のVC(バーチャル・コア)クラス
    タを備え、各VCクラスタを抽象化の度合いに応じて上
    位から下位まで複数の層に階層化してなる集積回路装置
    の設計用データベースであって、 上記VCクラスタの階層化された各層に応じた同数の層
    に階層化され、上記各VCを組み合わせて上記集積回路
    装置を構築したときのシステムの検証を行なうためのシ
    ステム検証用データベースを備えていることを特徴とす
    る集積回路装置の設計用データベース。
  4. 【請求項4】 請求項3に記載の集積回路装置の設計用
    データベースにおいて、 上記システム検証用データベースには、上記VCクラス
    タの階層化された各層に応じた同数の層に階層化された
    上記VCの機能及びVCを用いて構成されるシステムの
    機能を検証するために必要なデータを格納するテストク
    ラスタが配設されていることを特徴とする集積回路装置
    の設計用データベース。
  5. 【請求項5】 請求項4に記載の集積回路装置の設計用
    データベースにおいて、 上記テストクラスタは、VCを用いた異なるシステムL
    SI実現の検証で共有されるテストベンチ,テストシナ
    リオ,タスク及びタスクのうち少なくともいずれか1つ
    を含むことを特徴とする集積回路装置の設計用データベ
    ース。
  6. 【請求項6】 請求項4に記載の集積回路装置の設計用
    データベースにおいて、 上記システム検証用データベースには、上記VCクラス
    タの階層化された各層に応じた同数の層に階層化され、
    VCの周辺に接続されシステムの検証に用いられる周辺
    モデルクラスタが配設されていることを特徴とする集積
    回路装置の設計用データベース。
  7. 【請求項7】 集積回路装置を設計するために必要なデ
    ータを格納する複数のVC(バーチャル・コア)クラス
    タを備え、 上記VCクラスタに、集積回路装置を構成するために必
    要な仕様・動作レベルのデータを格納する仕様・動作V
    Cと、上記各仕様・動作VCが格納しているデータが示
    す仕様・動作を満たすために必要なRTレベル(レジス
    ター・トランスファレベル)のデータを格納するRT−
    VCとを配置してなる集積回路装置の設計用データベー
    スであって、 上記集積回路装置の機能を検証するために用いられる検
    証目的別に分けられた目的別機能検証モデルを、上記R
    T−VCとリンクさせて備えていることを特徴とする集
    積回路装置の設計用データベース。
  8. 【請求項8】 請求項7に記載の集積回路装置の設計用
    データベースにおいて、 上記目的別機能検証モデルは、機能検証時における信号
    をクロックと同期する特定周期の倍数に変更してなる同
    期化モデルを含むことを特徴とする集積回路装置の設計
    用データベース。
  9. 【請求項9】 請求項7に記載の集積回路装置の設計用
    データベースにおいて、 上記目的別機能検証モデルは、集積回路装置の実動作で
    使用される処理のうち機能検証時において使用されない
    処理を削除してなる記述最適化モデルを含むことを特徴
    とする集積回路装置の設計用データベース。
  10. 【請求項10】 請求項7に記載の集積回路装置の設計
    用データベースにおいて、 上記目的別機能検証モデルは、上記VCクラスタ内の各
    層に対応した回路データにおいて、互いに階層が異なる
    複数の層同士に亘る信号線を単一化してなる記述最適化
    モデルを含むことを特徴とする集積回路装置の設計用デ
    ータベース。
  11. 【請求項11】 請求項7に記載の集積回路装置の設計
    用データベースにおいて、 上記目的別機能検証モデルは、集積回路装置の回路記述
    の形式を機能検証に用いるシミュレータの処理速度が最
    も高い形式に統一してなる記述最適化モデルを含むこと
    を特徴とする集積回路装置の設計用データベース。
  12. 【請求項12】 請求項7に記載の集積回路装置の設計
    用データベースにおいて、 上記目的別機能検証モデルは、機能検証を行なう集積回
    路装置のうち機能検証時に動作しない部分の記述を削除
    してなる記述最適化モデルを含むことを特徴とする集積
    回路装置の設計用データベース。
  13. 【請求項13】 請求項12に記載の集積回路装置の設
    計用データベースにおいて、 上記目的別機能検証モデルは、上記記述最適化モデルを
    使用した検証において削除した記述を起動する動作を行
    なったときにこれを検出,警告するための手段を備えて
    いることを特徴とする集積回路装置の設計用データベー
    ス。
  14. 【請求項14】 請求項7に記載の集積回路装置の設計
    用データベースにおいて、 上記目的別機能検証モデルは、上記集積回路装置の検証
    時に回路動作が正常に行なわれていることをチェック
    し、異常な動作を検出し、警告する手段を備えているこ
    とを特徴とする集積回路装置の設計用データベース。
  15. 【請求項15】 集積回路装置を設計するために必要な
    データを格納する複数のVC(バーチャル・コア)から
    なるVCクラスタを備え、該VCクラスタを抽象化の度
    合いに応じて上位から下位まで複数の層に階層化してな
    る集積回路装置の設計用データベースであって、 VC本体内の故障検査を最適化するための手法に関する
    情報を備えていることを特徴とする集積回路装置の設計
    用データベース。
  16. 【請求項16】 集積回路装置を設計するために必要な
    データを格納する複数のVC(バーチャル・コア)から
    なるVCクラスタを備え、該VCクラスタを抽象化の度
    合いに応じて上位から下位まで複数の層に階層化してな
    る集積回路装置の設計用データベースであって、 VC本体内の動作回数を解析するためのモデルを備えて
    いることを特徴とする集積回路装置の設計用データベー
    ス。
  17. 【請求項17】 集積回路装置を設計するために必要な
    データを格納する複数のVC(バーチャル・コア)から
    なる複数のVCクラスタを備え、該VCクラスタを抽象
    化の度合いに応じて上位から下位まで複数の層に階層化
    してなる集積回路装置の設計用データベースであって、 上記複数のVCクラスタを組み合わせてシステムLSI
    を構築するために利用可能なモデルであって、各VCク
    ラスタにおける相異なる層のVCを組み合わせるための
    つなぎのモデルとなるVCインターフェースモデルを備
    えていることを特徴とする集積回路装置の設計用データ
    ベース。
  18. 【請求項18】 請求項17に記載の集積回路装置の設
    計用データベースにおいて、 上記VCインターフェースモデルは、 上記VCクラスタの階層化された各層に応じた同数の層
    に階層化されたデータの入力部及び出力部と、 上記入力部と出力部との間に介設され、上記VCクラス
    タの各層毎に設定されているパラメータの変換を行う変
    換手段とを備えていることを特徴とする集積回路装置の
    設計用データベース。
  19. 【請求項19】 集積回路装置を設計するために必要な
    データを格納する複数のVC(バーチャル・コア)クラ
    スタを備え、各VCクラスタを抽象化の度合いに応じて
    上位から下位まで複数の層に階層化してなるVCデータ
    ベースを用いた集積回路装置の設計方法であって、 上記上記集積回路装置の検証要求に応じて、上記VCデ
    ータベースのVCクラスタに関する情報を入力し、集積
    回路装置の検証のためのテストクラスタを生成するステ
    ップを含むことを特徴とする集積回路装置の設計方法。
  20. 【請求項20】 請求項19に記載の集積回路装置の設
    計方法において、 上記テストクラスタとして、テストベンチ,シナリオ,
    タスク及びモデルのうち少なくともいずれか1つ生成す
    ることを特徴とする集積回路装置の設計方法。
  21. 【請求項21】 集積回路装置を設計するために必要な
    データを格納する複数のVC(バーチャル・コア)クラ
    スタを備え、各VCクラスタを抽象化の度合いに応じて
    上位から下位まで複数の層に階層化してなるVCデータ
    ベースを用いた集積回路装置の設計方法であって、 上記上記集積回路装置の検証要求に応じて、上記VCク
    ラスタの機能レベルのVCにリンクさせて、上記集積回
    路装置の機能を検証するために用いられる検証目的別に
    分けられた目的別機能検証モデルを生成するステップを
    含むことを特徴とする集積回路装置の設計方法。
  22. 【請求項22】 請求項21記載の集積回路装置の設計
    方法において、 上記目的別機能検証モデルとして、機能検証時における
    信号をクロックと同期する特定周期の倍数に変更してな
    る同期化モデルを生成することを特徴とする集積回路装
    置の設計方法。
  23. 【請求項23】 請求項21記載の集積回路装置の設計
    方法において、 上記目的別機能検証モデルとして、集積回路装置の実動
    作で使用される処理のうち機能検証時において使用され
    ない処理を削除してなる記述最適化モデルを生成するこ
    とを特徴とする集積回路装置の設計方法。
  24. 【請求項24】 請求項21記載の集積回路装置の設計
    方法において、 上記目的別機能検証モデルとして、上記VCクラスタ内
    の各層に対応した回路データにおいて、互いに階層が異
    なる複数の層同士に亘る信号線を単一化してなる記述最
    適化モデルを生成することを特徴とする集積回路装置の
    設計方法。
  25. 【請求項25】 請求項21記載の集積回路装置の設計
    方法において、 上記目的別機能検証モデルとして、集積回路装置の回路
    記述の形式を機能検証に用いるシミュレータの処理速度
    が最も高い形式に統一してなる記述最適化モデルを生成
    することを特徴とする集積回路装置の設計方法。
  26. 【請求項26】 請求項21記載の集積回路装置の設計
    方法において、 上記目的別機能検証モデルとして、機能検証を行なう集
    積回路装置のうち機能検証時に動作しない部分の記述を
    削除してなる記述最適化モデルを生成することを特徴と
    する集積回路装置の設計方法。
  27. 【請求項27】 請求項26記載の集積回路装置の設計
    方法において、 上記目的別機能検証モデルとして、上記記述最適化モデ
    ルを使用した検証において削除した記述を起動する動作
    を行なったときにこれを検出,警告する手段をさらに備
    えている記述最適化モデルを生成することを特徴とする
    集積回路装置の設計方法。
  28. 【請求項28】 請求項26記載の集積回路装置の設計
    方法において、 上記目的別機能検証モデルとして、上記集積回路装置の
    検証時に回路動作が正常に行なわれていることをチェッ
    クし、異常な動作を検出し、警告する手段をさらに備え
    ている記述最適化モデルを生成することを特徴とする集
    積回路装置の設計方法。
  29. 【請求項29】 集積回路装置を設計するために必要な
    データを格納する複数のVC(バーチャル・コア)クラ
    スタを備え、各VCクラスタを抽象化の度合いに応じて
    上位から下位まで複数の層に階層化してなるVCデータ
    ベースを用いた集積回路装置の設計方法であって、 上記VCクラスタの階層化された各層に応じた同数の層
    に階層化され、上記各VCを組み合わせて上記集積回路
    装置を構築したときのシステムの検証を行なうためのシ
    ステム検証用モデルを生成するステップを含むことを特
    徴とする集積回路装置の設計方法。
  30. 【請求項30】 集積回路装置を設計するために必要な
    データを格納する複数のVC(バーチャル・コア)クラ
    スタを備え、各VCクラスタを抽象化の度合いに応じて
    上位から下位まで複数の層に階層化してなるVCデータ
    ベースと検証のためのCPUとを用いた集積回路装置の
    設計方法であって、 シミュレーションの結果に応じて上記VCデータベース
    からVCを取り出す一方、シミュレーションの結果から
    使用するCPUに関するパラメータを抜き出して、使用
    するCPUのパラメータに適合したインターフェースを
    選択又は生成して上記VC内に格納するステップを含む
    ことを特徴とする集積回路装置の設計方法。
  31. 【請求項31】 請求項30記載の集積回路装置の設計
    方法において、 上記インターフェースは、上記CPUのバスとの間で信
    号を授受するためのバスインターフェースであり、 上記バスインターフェースは、上記VC内においてVC
    の機能本体部と分離して格納され、使用するCPUのプ
    ロトコルに合わせて生成されていることを特徴とする集
    積回路装置の設計方法。
  32. 【請求項32】 集積回路装置を設計するために必要な
    データを格納する複数のVC(バーチャル・コア)クラ
    スタを備え、各VCクラスタを抽象化の度合いに応じて
    上位から下位まで複数の層に階層化してなるVCデータ
    ベースを用いた集積回路装置の設計方法であって、 上記VC本体内の動作回数を解析するステップを含むこ
    とを特徴とする集積回路装置の設計方法。
  33. 【請求項33】 集積回路装置を設計するために必要な
    データを格納する複数のVC(バーチャル・コア)クラ
    スタを備え、各VCクラスタを抽象化の度合いに応じて
    上位から下位まで複数の層に階層化してなるVCデータ
    ベースを用いた集積回路装置の設計方法であって、 上記VC本体内の故障検査を最適化するためのステップ
    を含むことを特徴とする集積回路装置の設計方法。
JP11124068A 1999-04-30 1999-04-30 集積回路装置の設計用データベース及び集積回路装置の設計方法 Pending JP2000315222A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11124068A JP2000315222A (ja) 1999-04-30 1999-04-30 集積回路装置の設計用データベース及び集積回路装置の設計方法
US09/560,154 US6845489B1 (en) 1999-04-30 2000-04-28 Database for design of integrated circuit device and method for designing integrated circuit device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11124068A JP2000315222A (ja) 1999-04-30 1999-04-30 集積回路装置の設計用データベース及び集積回路装置の設計方法

Publications (1)

Publication Number Publication Date
JP2000315222A true JP2000315222A (ja) 2000-11-14

Family

ID=14876161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11124068A Pending JP2000315222A (ja) 1999-04-30 1999-04-30 集積回路装置の設計用データベース及び集積回路装置の設計方法

Country Status (2)

Country Link
US (1) US6845489B1 (ja)
JP (1) JP2000315222A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004001634A1 (ja) * 2002-06-25 2003-12-31 Primegate Limited 論理検証システム,論理検証方法,コンピュータプログラム,および記録媒体
JP2009524138A (ja) * 2006-01-20 2009-06-25 メンター グラフィックス コーポレイション モデル化およびシミュレーション方法
JP2010231633A (ja) * 2009-03-27 2010-10-14 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法
CN111984232A (zh) * 2020-07-31 2020-11-24 中国航空工业集团公司济南特种结构研究所 一种基于信号流的雷达罩测试软件设计方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7100124B2 (en) * 2000-07-03 2006-08-29 Cadence Design Systems, Inc. Interface configurable for use with target/initiator signals
JP3907398B2 (ja) * 2000-11-16 2007-04-18 松下電器産業株式会社 半導体集積回路装置の設計方法
US7231335B2 (en) * 2003-06-26 2007-06-12 International Business Machines Corporation Method and apparatus for performing input/output floor planning on an integrated circuit design
US7289859B2 (en) * 2005-09-30 2007-10-30 Hitachi, Ltd. Method for determining parameter of product design and its supporting system
JP5057421B2 (ja) * 2006-02-09 2012-10-24 ルネサスエレクトロニクス株式会社 シミュレーション方法
JP2008123103A (ja) * 2006-11-09 2008-05-29 Matsushita Electric Ind Co Ltd プログラム変換装置
JP2009015491A (ja) * 2007-07-03 2009-01-22 Nec Electronics Corp 半導体集積回路のレイアウト設計方法
US8539417B2 (en) * 2011-05-02 2013-09-17 International Business Machines Corporation Generating physical designs for electronic circuit boards
JP6319086B2 (ja) * 2012-10-16 2018-05-09 日本電気株式会社 回路シミュレーション装置、回路シミュレーション方法及びプログラム
US9684527B1 (en) * 2015-08-12 2017-06-20 VCE IP Holding Company LLC Classification and validation system and method for an integrated computing system
US10426424B2 (en) 2017-11-21 2019-10-01 General Electric Company System and method for generating and performing imaging protocol simulations
US11487925B1 (en) * 2021-07-02 2022-11-01 Changxin Memory Technologies, Inc. Simulation method, apparatus, and device, and storage medium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544066A (en) 1990-04-06 1996-08-06 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of low-level design constraints
EP0453160A3 (en) * 1990-04-20 1993-09-15 Digital Equipment Corporation A method and apparatus for analyzing the flow of data through a complex information exchange system
US5323108A (en) * 1992-01-23 1994-06-21 Hewlett-Packard Company Method for generating functional tests for printed circuit boards based on pattern matching of models
JP2972540B2 (ja) 1994-03-24 1999-11-08 松下電器産業株式会社 Lsi自動設計システム及びlsi自動設計方法
US5623684A (en) 1994-05-17 1997-04-22 Commquest Technologies, Inc. Application specific processor architecture comprising pre-designed reconfigurable application elements interconnected via a bus with high-level statements controlling configuration and data routing
US5867400A (en) 1995-05-17 1999-02-02 International Business Machines Corporation Application specific processor and design method for same
US5812561A (en) * 1996-09-03 1998-09-22 Motorola, Inc. Scan based testing of an integrated circuit for compliance with timing specifications
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6289412B1 (en) * 1998-03-13 2001-09-11 Legend Design Technology, Inc. Layout synopsizing process for efficient layout parasitic extraction and circuit simulation in post-layout verification
JP2001036981A (ja) * 1999-07-16 2001-02-09 Fujitsu Ltd 遠隔制御装置および遠隔制御プログラムを記録したコンピュータ読み取り可能な記録媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004001634A1 (ja) * 2002-06-25 2003-12-31 Primegate Limited 論理検証システム,論理検証方法,コンピュータプログラム,および記録媒体
JP2009524138A (ja) * 2006-01-20 2009-06-25 メンター グラフィックス コーポレイション モデル化およびシミュレーション方法
JP2010231633A (ja) * 2009-03-27 2010-10-14 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法
CN111984232A (zh) * 2020-07-31 2020-11-24 中国航空工业集团公司济南特种结构研究所 一种基于信号流的雷达罩测试软件设计方法

Also Published As

Publication number Publication date
US6845489B1 (en) 2005-01-18

Similar Documents

Publication Publication Date Title
US6477691B1 (en) Methods and arrangements for automatic synthesis of systems-on-chip
US5930148A (en) Method and system for verifying a digital circuit design including dynamic circuit cells that utilize diverse circuit techniques
Mehta ASIC/SoC functional design verification
US6968514B2 (en) Block based design methodology with programmable components
US6574778B2 (en) Block based design methodology
Bergamaschi et al. Designing systems-on-chip using cores
US7058921B1 (en) Method and system for resource allocation in FPGA-based system-on-chip (SoC)
JP2000315222A (ja) 集積回路装置の設計用データベース及び集積回路装置の設計方法
CN112100949A (zh) 集成电路芯片的自动开发方法及装置、电子设备
JP2005517223A (ja) 階層的な集積回路設計システムのモジュールに対する設計制約の生成方法
JP4077578B2 (ja) 集積回路装置の設計方法
Scheffer Methodologies and tools for pipelined on-chip interconnect
US6526561B2 (en) Database for designing integrated circuit device, and method for designing integrated circuit device
CN115935872A (zh) 一种可扩展的fpga仿真验证自动化方法
US7496869B1 (en) Method and apparatus for implementing a program language description of a circuit design for an integrated circuit
Darringer et al. Early analysis tools for system-on-a-chip design
US10437946B1 (en) Using implemented core sources for simulation
Zeidman Verilog designer's library
JP2004303022A (ja) プリプロセッサ、集積回路の設計システム及び集積回路の設計方法
WO2022198447A1 (zh) 一种数字电路的综合方法及综合装置
IL142342A (en) Method and apparatus for managing the configuration and functionality of a semiconductor design
DN Designing SPI to I2C protocol converter base on ASIC technology and implementing on the FPGA platform
Rust et al. From high-level Petri nets to SystemC
US7852117B1 (en) Hierarchical interface for IC system
US20030225559A1 (en) Verification of multi-cycle paths