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

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

Info

Publication number
JP2001067384A
JP2001067384A JP23918599A JP23918599A JP2001067384A JP 2001067384 A JP2001067384 A JP 2001067384A JP 23918599 A JP23918599 A JP 23918599A JP 23918599 A JP23918599 A JP 23918599A JP 2001067384 A JP2001067384 A JP 2001067384A
Authority
JP
Japan
Prior art keywords
integrated circuit
designing
circuit device
performance
data
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
JP23918599A
Other languages
English (en)
Inventor
Masanobu Mizuno
雅信 水野
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 JP23918599A priority Critical patent/JP2001067384A/ja
Priority to US09/637,871 priority patent/US6536012B1/en
Publication of JP2001067384A publication Critical patent/JP2001067384A/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】 再設計の無駄な繰り返しや設計不能を回避す
るためのデータベース及びこれを用いた設計方法を提供
する。 【解決手段】 集積回路装置の各要素を設計するために
必要なデータを少なくとも仕様VCとRTL−VCとに
分けて格納するVCクラスタと、仕様VCに格納され、
その仕様に対するRTL−VCの性能に関するデータで
ある実現容易性判定用情報とを含むデータベースを用い
る。各要素に対応する仕様VCをエントリーした後、仕
様VCの実現容易性判定用情報に基づいて、エントリー
した仕様VCを用いた集積回路装置の設計の容易性を判
定する。設計の上流側で、各VCが要求性能を容易に満
たせるのか、あるいは満たすことが困難なのかを判定で
きるので、無理な要求を出すことに起因する再設計の頻
繁な繰り返しや設計不能に陥る事態がなくなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、集積回路装置の設
計方法やその設計に用いるデータベースに係り、特にシ
ステムLSI等の大規模な集積回路装置を設計する際の
高効率化対策に関する。
【0002】
【従来の技術】従来より、集積回路装置の設計の手順と
しては、上流側から、仕様設計,アーキテクチャ設計
(動作レベルの設計),RT(レジスター・トランスフ
ァ)設計などにおける要素に置き換えるべきブロック
(又はコア)などの生成を行ない、最終的にそれらの論
理合成を行なって、実際の集積回路装置の構成を作り上
げるのが一般的である。
【0003】図16は、一般的なLSIの設計手順を示
すフローチャート図である。その際、仕様設計において
は、設計者が経験的に机上で設計の仕様を生成し、仕様
設計又はアーキテクチャ設計が終了した時点で、機能検
証(機能シミュレーション)を行なって、当該仕様によ
るシステムの機能を確認することが多い。また、下流側
のRT設計においては、さらに性能解析を行なって、最
適なブロックがあればそのブロックを採用し、なければ
上流側に戻って再設計を行なうというループの繰り返し
によって次第に最適なシステムに近づいてゆき、最終的
に最適なシステムを構築している。
【0004】
【発明が解決しようとする課題】しかしながら、システ
ムLSIのようにきわめて多くの要素が複雑に構成され
た集積回路を設計する際に、設計の上流側で非常に過剰
な要求(オーバースペックな要求)を出すと、設計の手
順で再設計のループの頻繁な繰り返しによって設計の完
了に多大な時間を費やしたり、設計が完了しないつまり
設計不能に陥るなどの不具合がある。
【0005】ところが、実際にはそれほど厳しいスペッ
クは必要としないことも多いにもかかわらず、当初はで
きるだけ高い性能を要求するのが設計者の常であり、下
流側の設計で行き詰まってから初めて要求性能を落とす
などの措置を講じているのが現状である。その結果、現
実の性能と遊離した性能の要求は、システムLSIのよ
うに1つ1つのブロックの設計に多大の工数を費やすも
のを設計するのに対する障害となっている。
【0006】本発明の目的は、設計のスタート時にでき
るだけ現実の性能に沿った要求をなし得る手段を講ずる
ことにより、再設計の無駄な繰り返しや設計不能を回避
するためのデータベース及びこれを用いた設計方法を提
供することにある。
【0007】
【課題を解決するための手段】本発明の第1の集積回路
装置の設計用データベースは、複数の要素からなる集積
回路装置を設計するために必要なデータを格納するデー
タベースであって、上記各要素を設計するために必要な
データを、少なくとも仕様VC(バーチャル・コア)
と、RTL−VCとに分けて格納するVCクラスタと、
上記仕様VCに格納され、その仕様に対する当該VCク
ラスタ中のRTL−VCの性能に関するデータである実
現容易性判定用情報とを備えている。
【0008】これにより、設計の上流側である仕様レベ
ルにおいて、集積回路装置が要求性能を容易に満たせる
のか、あるいは満たすことが困難なのかを判定するのに
役立つデータベースを提供することができる。
【0009】上記第1の集積回路装置の設計用データベ
ースにおいて、上記実現容易性判定用情報は、処理時
間,レイアウト面積,消費電力及びテストコストのうち
少なくともいずれか1つに関するデータを含んでいるこ
とが好ましい。
【0010】上記第1の集積回路装置の設計用データベ
ースにおいて、上記実現容易性判定用情報は、処理時間
とデータの入出力に要する時間とに関するデータを少な
くとも含んでいることにより、データ転送に要する時間
をも含めた処理時間についての実現容易性の判定に供す
ることができる。
【0011】上記第1の集積回路装置の設計用データベ
ースにおいて、上記実現容易性判定用情報は、その仕様
に対するRTL−VCが複数個ある場合には、上記デー
タを各RTL−VCの最小値,平均値,最大値及び最適
値のうち少なくともいずれか1つとして含んでいること
が好ましい。
【0012】上記第1の集積回路装置の設計用データベ
ースにおいて、上記仕様VCに格納され、その仕様に対
するVCの新規開発に要する工数と、その仕様に対する
VCの再利用に要する工数とに関するデータである工数
見積り用情報をさらに備えていることが好ましい。
【0013】本発明の第2の集積回路装置の設計用デー
タベースは、複数の要素からなる集積回路装置を設計す
るために必要なデータを格納するデータベースであっ
て、上記各要素を設計するために必要なデータを、少な
くとも、仕様VC(バーチャル・コア)と、RTL−V
Cとに分けて格納するVCクラスタと、上記仕様VCに
格納され、その仕様に対するVCの新規開発に要する工
数と、その仕様に対するVCの再利用に要する工数とに
関するデータである工数見積り用情報とを備えている。
【0014】これにより、設計の上流側で設計に要する
工数を一定の精度で見積もることができるので、工数と
納期とを考慮して必要な設計者の数などを把握すること
が可能になる。
【0015】上記第1及び第2の集積回路装置の設計用
データベースにおいて、上記仕様VCは、仕様・動作V
Cとして動作VCと一体化されていてもよい。
【0016】本発明の集積回路装置の設計方法は、複数
の要素からなる集積回路装置の各要素を設計するために
必要なデータを少なくとも仕様VC(バーチャル・コ
ア)とRTL−VCとに分けて格納するVCクラスタ
と、上記仕様VCに格納され、その仕様に対するRTL
−VCの性能に関するデータである実現容易性判定用情
報とを含むデータベースを用いた集積回路装置の設計方
法であって、上記各要素に対応する仕様VCをエントリ
ーするステップ(a)と、上記仕様VCの実現容易性判
定用情報に基づいて、上記エントリーした仕様VCを用
いた集積回路装置の設計の容易性を判定するステップ
(b)とを含んでいる。
【0017】この方法により、集積回路装置の設計の上
流側で、各VCが要求性能を容易に満たせるのか、ある
いは満たすことが困難なのかを判定できるので、無理な
要求を出すことに起因する再設計の頻繁な繰り返しや設
計不能に陥る事態を回避できる。したがって、大規模な
集積回路装置であっても、その設計の容易化を図ること
ができる。
【0018】上記集積回路装置の設計方法において、上
記実現容易性判定用情報に、処理時間,レイアウト面
積,消費電力及びテストコストのうち少なくともいずれ
か1つに関するデータを含ませておき、上記ステップ
(b)における判定を、処理時間,レイアウト面積,消
費電力及びテストコストのうち少なくともいずれか1つ
について行なうことが好ましい。
【0019】上記集積回路装置の設計方法において、上
記実現容易性判定用情報に、処理時間とデータの入出力
に要する時間とに関するデータを少なくとも含ませてお
き、上記ステップ(b)における判定を、データ転送に
要する時間と処理時間とについて行なうことが好まし
い。
【0020】上記集積回路装置の設計方法において、上
記実現容易性判定用情報に、上記データを各RTL−V
Cの最小値,平均値,最大値及び最適値のうち少なくと
もいずれか1つとして含ませておき、上記ステップ
(b)における判定を、上記パラメータの最小値,平均
値,最大値及び最適値のうち少なくともいずれか1つに
ついて行なうことが好ましい。
【0021】上記集積回路装置の設計方法において、上
記ステップ(b)における判定を、上記性能の要求値
と、上記仕様VCの実現容易性判定用情報から得られる
VCの性能とを比較することにより行なうことができ
る。
【0022】その場合、上記ステップ(b)における判
定を、上記性能の要求値を100としたときの,上記V
Cの性能のパーセンテージを指標として行なうことによ
り、設計者の経験だけでなく客観的な指標に基づく実現
容易性の判定が可能になる。
【0023】また、上記ステップ(b)における判定
を、複数のVCのうちある性能についてもっとも実現容
易性が低いVCをボトルネックとして抽出しながら行な
うことにより、新規に開発すべきVCや要求性能を落と
す必要のあるVCが明確になるので、上流側における再
設計をスムーズに行なうことができる。
【0024】上記ステップ(b)では、上記複数の要素
のうち再利用可能な要素についてはその要素に対応する
VCクラスタのRTL−VCの性能を用い、他の要素に
ついてはその要素に対応するVCクラスタの仕様VCの
上記実現容易性判定用情報中の性能を用いることによ
り、実現容易性の判定をきわめて簡易に行なうことが可
能になる。
【0025】また、設計実現例のある機能モデルを再利
用し、その一部の要素を変更して機能モデルを作成する
場合に、上記ステップ(b)では、上記複数の要素のう
ち再利用可能な要素については、設計実現例で使用され
たVCクラスタのRTL−VCの性能を用いることによ
り、実現容易性の判定をきわめて簡易に行なうことが可
能になる。
【0026】上記ステップ(b)の後、全体の要求性能
を上記複数の要素に対応する各VCごとに、重み付けし
て分割するステップをさらに備えることにより、下流側
の設計において各VCそれぞれが満たすべき性能が明確
になり、下流側の設計の迅速化を図ることができる。
【0027】上記ステップ(b)の後、全体の要求性能
を上記複数の要素に対応する各VCごとに、均等に分割
するステップをさらに備えても同様である。
【0028】また、上記データベースの仕様VCに、そ
の仕様に対するVCの新規開発に要する工数と、その仕
様に対するVCの再利用に要する工数とに関するデータ
である工数見積り用情報とがさらに格納されている場合
には、上記性能を分割するステップの後、各要素に対応
する仕様VCの工数見積り情報から各要素の工数を見積
もるステップをさらに備えることにより、設計の納期管
理などが円滑に行なわれる。
【0029】上記集積回路装置の設計方法において、上
記ステップ(a)を行なった後、上記ステップ(b)を
行なう前に、全体の要求性能を上記各VCごとに分割す
るステップをさらに備え、上記ステップ(b)における
判定を、各要素に対応する仕様VCの実現容易性判定用
情報から各要素の分割された性能を満たす実現例の割合
が所定値以上か否かによって行なうこともできる。
【0030】上記全体の要求性能の分割を、各VCごと
に重み付けして行なってもよいし、各VCごとに均等に
行なってもよい。
【0031】その場合にも、上記ステップ(b)におけ
る判定を、複数のVCのうちある性能についてもっとも
実現容易性が低いVCをボトルネックとして抽出しなが
ら行なうことが好ましい。
【0032】上記データベースの仕様VCに、その仕様
に対するVCの新規開発に要する工数と、その仕様に対
するVCの再利用に要する工数とに関するデータである
工数見積り用情報とがさらに格納されている場合には、
上記ステップ(b)の後、各要素に対応する仕様VCの
工数見積り情報から各要素の工数を見積もるステップを
さらに備えることが好ましい。
【0033】
【発明の実施の形態】まず、本発明の各実施形態におい
て採用するVCDS(バーチャル・コア・デザインシス
テムの一般的な構成について説明する。
【0034】−VCの説明− 本発明におけるVC(バーチャル・コア)とは、IP
(機能ブロック)としばしば同義に使用されるバーチャ
ルコンポーネントとしての”VC”とは異なる概念であ
って、1つのまとまったブロックで構成されるシステム
LSIの設計を対象としており、その中でも、再利用が
可能なハードウェア,ソフトウェアを含むデータを指す
ものとする。そして、VCDS(バーチャル・コア・デ
ザイン・システム)とは、このVCを利用してシステム
LSIのハード,ソフトを最適化するためのシステム全
体を指すものとする。また、VCDB(バーチャル・コ
ア・データベース)とは、VCを利用した設計のために
用いられるデータベースを指すものとする。
【0035】−VCDSの概略構成− 図1は、本発明の実施形態に係るシステムLSI設計の
ためのデザインシステム(VCDS)の構成を概念的に
示す図である。
【0036】図1に示すように、本実施形態に係るデザ
インシステムは、システムの設計のためのデータの格納
層であるVCDB1(VCデータベース)と、VCDB
1の最適化などを行うための制御システムであるVCD
BMS2(VCDBマネージメントシステム)とにより
構成されている。
【0037】VCDB1には、VCの集合体として捉え
られるVCクラスタ3と、このVCクラスタ3中のVC
の構造を決定するためのアーキテクチャ情報4とが含ま
れている。VCクラスタ3には、仕様レベルで記述され
るデータを格納するバーチャル・コアである仕様VC5
と、動作レベルで記述されるデータを格納する動作VC
6と、RTレベル(レジスター・トランスファレベル)
で記述されるデータを格納するバーチャル・コアである
RTL−VC7と、各VCの性能を評価するための性能
指標8とが存在する。
【0038】ここで、“仕様”とは、関数とでもいうべ
き,基本的な入出力関係を規定するものである。“動
作”とは1つの仕様に対してソフトウェア,ハードウェ
アの割り当てを定めたものであって、一般的には1つの
仕様に対して複数の動作がある。“RT”(レジスター
・トランスファ)とは、動作に対してハードウェア的に
実現できるものであって、一般的には1つの動作に対し
て、重視するパラメータの相違などに応じた何種類かの
実現方法がある。すなわち、後に詳しく説明するよう
に、1つの仕様VCに対して複数の動作VCを、1つの
動作VCに対して複数のRTL−VCをそれぞれ階層的
に有しているのが一般的である。ただし、仕様と動作と
はいずれも機能的な概念を表すものともいえるので、そ
の区別が困難な場合もあり、その場合には、仕様・動作
VCとしてデータベースを持っておくことも可能であ
る。
【0039】また、性能指標8とは、例えば面積,スピ
ードなどのパラメータをいい、例えばRTレベルでは、
ある値をかなり正確に算出することができる。また、実
際にあるRTレベルでハードを実現したことがあれば、
その結果も性能指標8に組み込んでおくことができる。
【0040】アーキテクチャ情報4には、実際にそれぞ
れのVCをどう使用するかということの情報が含まれて
いる。例えばあるタスクをソフトウェアで実現する場合
には、「それを実行するプロセッサはなにを使用するの
か」、「バス(インターフェイス)はなにを使用するの
か」、「電源,クロック供給方式はどうするか」、「論
理合成する際のテスト方式はなにを用いるか」、「命名
規則の制約(ツールの制約や重複防止のための規則)は
どうか」など、そのシステムLSIに必要な種々の情報
が含まれている。
【0041】一方、VCDBMS2は、VCDB1に対
する登録や、VCDB1の外方からの検索,インスタン
スの生成などを行なう。登録には、新たなコアとして登
録するほか、既存VCを参照して新たなVCを生成し、
そのVCの機能を改変したり、VC内のデータの追加登
録を行なったり,差分管理情報を格納したりすることが
含まれる。検索とは、どのレベルのVCでどういう種類
の情報が欲しいかということの検索である。これらの詳
細についても後述する。
【0042】図2は、本実施形態のVCDSにおける設
計の基本的な流れを示す図である。同図に示すように、
仕様レベル,動作レベル及びRTレベルのいずれにおい
ても、記述,検証,評価,合成の手順によりVCの生
成,改変などが行なわれる。その際、図中矢印に示す方
向に沿ってデータが流れて、データの記述,検証,評価
が行なわれ、評価はフィードバックされる。例えば、仕
様VCであるS1,S2が選び出されたり、新たなVC
であるS3が生成されたりする。また、動作レベルで
は、各仕様VCであるS1,S2,S3に対応した動作
VCであるD1,D2,D3が生成されるが、各VCは
ハードウェア,ソフトウェアに機能分割される。また、
RTレベルでは、各動作VCであるD1,D2,D3に
対応するRTL−VCであるR1,R2,R3が生成さ
れるとともに、これらを接続するバス,CPU,メモリ
等が生成される。つまり、より具体化されることにな
る。
【0043】ただし、図2には示されていないが、仕様
レベルにおいては、後述するように、実現容易性判定が
行なわれ、その判定結果はフィードバックされる。この
実現容易性判定が本発明の特徴部分であり、具体的な内
容については、後に詳細に説明する。
【0044】各々のタスクは、外部入出力部及び仕様V
Cと状態遷移などで記述されている。仕様VCは、状態
遷移,論理,真理値表などを表現できる言語あるいは図
形で記述されている。
【0045】このように、各階層にVCを配置してこれ
らを総合的に管理することにより、従来の機能ブロック
とは異なり、フレキシブルに利用できるデータベースの
提供を図ることができる。
【0046】−VCクラスタの構成− 次に、図3は、図1に示すシステムの機能部分を抜き出
して示すブロック回路図である。同図において、VCク
ラスタ3を格納しているデータベース格納層10に情報
を入力するための入力部11と、データベース格納層1
0からの出力情報を受ける出力部12と、データベース
格納層10,入力部11及び出力部12を制御する制御
部13とを有する。VCクラスタ3には、仕様VCを生
成する仕様層と動作VCを生成する動作層とを含む仕様
動作層14と、RTL−VCを生成するRT層15とい
う機能が存在する。このうち、仕様層と動作層とは必ず
しも明確に区分できない場合があるので、仕様動作層1
4と一括して示されている。
【0047】図4は、VCクラスタの機能を詳細に説明
する図である。同図に示すように、仕様層においてある
機能を表現する仕様VCがあり、その下流側の動作層に
おいてはそれを実現するための複数の動作VC1,動作
VC2が一般的には存在し、さらに下流側のRT層にお
いては各動作VC1,動作VC2を実現するためのそれ
ぞれ複数のRTL−VC1a,RTL−VC1b,RT
L−VC2a,RTL−VC2bが一般的には存在す
る。例えば、”乗算”という1つの仕様に対し、”乗
算”を実現するための動作は複数の足し算とシフトなど
の動作の組み合わせからなるので、複数通りの動作が存
在するのが一般的である。もちろん、下流側に1つのV
Cしか存在しないこともあり得る。図4に示す例では、
例えば”乗算”という1つの仕様VCに対し、遅延を重
視した実現方法が動作層VC1であり、(占有)面積を
重視した実現方法が動作層VC2である。そして、各層
ごとにインスタンスVCを生成して付加する機能が備わ
っており、図4には、例としてRTL−VC1a,RT
L−VC1b,RTL−VC2a,RTL−VC2bに
おいて、それぞれ1又は複数のインスタンスVCを生成
する機能が表わされている。
【0048】図5は、本実施形態における各VCの構造
を示す図である。仕様層,動作層,RT層などの各階層
のVCには、後述する設計データ(図)と、テストベク
タなどの検証データと、面積,遅延,消費電力などの性
能情報と、対象VCの上位概念を持つ上位層VC,下位
概念を持つ下位層VCなどに関するリンク情報となる上
下層(親子)情報と、VC作成時に参照した同一層のV
Cや参照されたVCなどに関する派生情報と、同一層
(例えばいずれも動作層にある場合など)に属するVC
間で共有する情報があればその共有情報と、追加や修正
があった場合にはその改変内容と、例えばパラレル又は
シリアル又はPCIパスなどのバスを生成するためのイ
ンターフェイス情報とが備えられている。また、仕様層
には、実現容易性判定用情報が備えられている。
【0049】図6は、設計の各層におけるVCのデータ
及び性能情報の相違点を示すための図である。同図の右
側には、(占有)面積と遅延とを性能評価のパラメータ
として採用したときの各層の性能情報の例が示されてい
るが、同図の左側には、各層の設計データや検証データ
が存在するが、図6においては説明を簡単にするために
図示を省略する。
【0050】仕様層は機能とでもいうべき基本的な入出
力関係を規定する部分であるので、仕様層内の設計デー
タには、入出力信号の種別や、テキストベースのデー
タ,プロトコルなどの規格、ある規格に合わせるための
目標性能などの性能、ドキュメントとして与えられてい
る機能仕様がある。仕様検証モデルは、FSM(状態遷
移),CFG(コントロールフローグラフ),DFG
(データフローグラフ)などで表現されている仕様記述
(言語又は図)である。具体的なフォーマットの例とし
ては、例えばVHDL,SDL,LOTOS,C/C+
+などというものである。
【0051】動作層は、アーキテクチャ情報と、ハード
ウェア部と、ソフトウェア部とに分かれている。アーキ
テクチャ情報は、対象プロセッサ名、OS名、ハードウ
ェア,ソフトウェアの通信方法などを含んでいる。例え
ば、プロセッサとOSとシミュレーションとを組み合わ
せる場合には、使用するプロセッサはSparc,Pe
ntiumなどで、使用するOSはUNIX,Wind
owsなどで、使用するハードウェア,ソフトウェアの
通信方法はIPC,PLIなどであって、これらの適当
な組み合わせを記述すると共に、必要な前提条件などを
記述しておく。ただし、CPUはなくてもよい場合があ
る。また、ハードウェア部には、仕様層に対して具体化
した機能がドキュメントとして残されており、具体的に
は、仕様になかった詳細な動作モードが記述されてい
る。
【0052】次に、RT層も基本的には、上述の動作層
と同様に、アーキテクチャ情報と、ハードウェア部と、
ソフトウェア部とを備えている。ただし、RT層におい
ては、ハードウェア部(HW)と、CPUと、メモリ
(MEM)と、ソフトウェア部(SW),OSとを接続
するバスが形成されている。つまり、通信方法について
も、どのように接続するのかというレベルまで具体化さ
れ、ハードウェアに確実に具現化できる,つまり論理合
成できるものになっている。
【0053】RT層内のアーキテクチャ情報としては、
以下のような情報がある。まず、プロセッサ(CPU)
情報として、動作層及びRT層で使用する協調検証モデ
ルがある。これはプロセッサごとに存在する。次に、バ
ス(IF)情報として、バスの信号の種別や幅などの情
報や、バスのプロトコル(タイミング)がある。これら
は、プロセッサを各ハードウェアを接続するための内容
が含まれている。
【0054】仕様層において、図4に示す仕様VCがあ
る場合、この仕様VCの性能を面積と遅延で表すと図6
の右上部に示す範囲(ハッチング部)である。そして、
この仕様VCに対して、図4に示すような遅延を重視し
た実現方法である動作VC1と、面積を重視した実現方
法である動作VC2とがあった。図6の右中央部に示す
ように、動作VC1,動作VC2の範囲は、それぞれハ
ッチングが施された遅延の小さい領域及び面積の小さい
領域である。さらに、RT層には、図4に示すように、
動作VC1に対するRTL−VC1a,RTL−VC1
bと、動作VC2に対するRTL−VC2a及びRTL
−VC2bとがあった。図6の右下部に示すように、各
VCの面積及び遅延は具体的な曲線状のある点として定
まる。
【0055】ここで、性能情報には多数のパラメータが
あることから、各層の性能情報は実際には図6のような
平面座標系ではなく、多次元座標系で表されることにな
る。したがって、性能情報は、RT層においては多次元
空間内のある範囲又は点として、仕様層又は動作層にお
いては多次元空間内のある範囲として、それぞれ表され
ることになる。
【0056】ここで、上述のように、本発明の目的は、
設計のスタートにできるだけ実現性の高い仕様を生成
し、又は、システム全体を各部分の機能に切り分ける際
に、より精度の高い要求仕様を作り出すことにある。設
計の当初にある程度妥当な仕様を作成しておくと、上述
のようなオーバースペックな仕様の要求に起因する設計
の非能率化や設計不能という事態を回避できるからであ
る。つまり、ある部分は厳しいスペックが必要だが、あ
る部分は緩やかなスペックでよいというように、システ
ムの各部分ごとに適切な仕様を生成するのである。以
下、そのための具体的な手法について説明する。
【0057】(第1の実施形態) −実現容易性判定を含む仕様層の設計手順− 次に、上述のVCDSを利用した本実施形態におけるシ
ステムLSIの仕様層の設計方法について説明する。図
7は、本実施形態における実現容易性判定を含む仕様層
の設計手順を示すフローチャート図である。
【0058】まず、ステップST1で、データベースか
ら仕様VCをエントリーして、仕様が明確になったモデ
ルを組み合わせ、それを組み合わせた形としてシステム
LSIが要求する仕様のモデル(以下、“機能モデル”
という)を開発(生成)する。このような機能モデルの
例としては、後に説明する図9に示すようなデジタルス
チルカメラ用LSIの機能モデルなどがある。VCDB
内の仕様VCをエントリーして、各仕様VCを配置し、
その間にどういうデータを流すかという依存関係を定義
することにより、システム全体の機能モデルを生成する
のが、このステップST1における処理の内容である。
【0059】次に、ステップST2において、ステップ
ST1で組み合わされて生成された機能モデルの機能を
シミュレーションする仕様,機能検証を行ない、ステッ
プST3で、この機能モデルが、正しく要求通りに機能
しているか否かを判定する。ただし、この時点での仕
様,機能は定性的なものであって、後に判定する“性
能”というような定量的なものではない。このステップ
ST2,ST3の処理は、ステップST4の後で行なっ
てもよい。
【0060】次に、要求機能を満足する機能モデルが生
成されていることを確認してから、ステップST4で、
そのシステムの実現容易性を判定する。つまり、システ
ムLSIの要求する性能及びコスト(処理時間,スルー
プット,消費電力,レイアウト面積,テストコストな
ど)に応じ、この要求に対応しうるVC(設計例)があ
るかないかによって実現容易性を判定する。そのとき、
後述するような判断指標を用いて、システムに対する要
求を実現することが容易か否かを判定する。なお、要求
を満足しうるVCがない場合には、ステップST1に戻
って、要求に応じたVCを生成するか、新たなVCは生
成せずに要求のレベルを下げた後、ステップST2〜S
T4の処理を繰り返す。また、要求を満足するVCの生
成が容易かどうかをも実現容易性の判定に含めることも
できる。
【0061】このようにして、ステップST1〜ST4
を繰り返すことにより、一応実現が容易であろうと推定
されるシステムが生成される。
【0062】次に、ステップST4の判定で実現容易性
が十分あると判定された場合は、ステップST5に進
み、コストを含む要求性能の分割を行なう。すなわち、
全体の要求が与えられているが、それぞれのVCが満た
せばよい性能をシステム全体が要求される性能から分割
して決定する。そして、この処理によって決定された性
能を有する各VCを生成するように、その後の設計を進
めるのである。この処理の具体例については、後述す
る。
【0063】なお、既存のVCの再利用が容易な場合は
短い工数でできるし、新たなVCの生成を伴う場合に
は、多くの工数が必要である。そこで、任意のステップ
として、ステップST6で、新たに生成の必要なVCの
数に応じて、ある程度の工数の見積りを行なった後、ス
テップST7で、その見積り結果が予定工数内か否かを
判定して、予定工数内でなければステップST1に戻る
ようにしてもよい。このように、工数見積り結果に応じ
て仕様を作成し直すこともあり得る。
【0064】以下、図7に示すフローの流れに沿って、
本発明の特徴的な部分について、詳細に説明する。
【0065】−データベースの構造ー 図8は、本実施形態におけるデータベースの特徴的な部
分を抜き出して示す図である。仕様VCには、純粋な機
能と入出力とを定義する部分があって、それを実際に検
証するためのシミュレーションモデルを持っている。本
実施形態においては、さらに、実現容易性判定用情報を
備えている。この実現容易性判定用情報は、クラスタ内
の実現例の性能情報である。仕様VCには、その仕様に
対する動作VC,RTL−VCの実現例に関するデータ
が格納されている。ただし、仕様・動作層を1まとめに
してVCクラスタを構成する場合には、仕様・動作層に
実現容易性判定用情報が格納されている。
【0066】そして、クラスタ内の実現例の性能情報
は、例えば、図8中の表に示すように、RTL−VCの
実現例によって得られる処理時間,スループット,消費
電力,(レイアウト)面積,テストコストの最大値MA
X,最小値MIN,平均値AVE,最適値OPT,…な
どである。最適値OPTとは、性能を評価する各パラメ
ータのトレードオフを考慮した上で最適な値である最適
値OPTである。例えば、レイアウト面積,処理時間,
消費電力は、互いにトレードオフになっており、それら
の各パラメータを掛け合わせた値が最小のときに最適と
なる。つまり、この場合には、この3つのパラメータの
積の最小値を与えるレイアウト面積,処理時間,消費電
力が最適値OPTである。
【0067】−機能モデル− 図9は、機能モデルの一例を示す図であって、デジタル
スチルカメラ用LSIの機能モデルを示すブロック図で
ある。たとえば、CCDの入力信号i1を受けてこれを
信号を処理する要素に対応するCCD信号処理VC−S
1と、このCCD信号によって生成される画像を圧縮す
る要素に対応する画像圧縮VC−S2と、圧縮された画
像データを出力O1としてメディアに出力するための要
素に対応するメディア出力VC−S3と、圧縮された画
像データを出力O2として外付けメモリに出力するため
の要素に対応する外付けメモリ出力VC−S4と、圧縮
された画像データを伸長するための画像伸長VC−S5
と、伸長された画像データを出力O3としてモータに出
力するための要素に対応するモータ出力VC−S6とが
生成されている。なお、データベースVCDB内には、
仕様層,動作層,RT層に亘るデータを有するVCクラ
スタが登録されている。図9の下方には、画像圧縮VC
クラスタの構造が例示されている。
【0068】−実現容易性判定のための性能を表すパラ
メータ− 実現容易性の判定は、システムに対する要求と、エント
リーしたVCクラスタ内の仕様VCに格納されている実
現容易性情報から算出される性能値とを比較して、要求
が性能値の範囲内に収まっていれば実現性があると判定
するように行なうのが原則である。この性能を表すパラ
メータとしては、処理時間,スループット,レイアウト
面積,消費電力,テストコストなどがある。ここでは、
“性能”を、コストも含む概念として定義するものとす
る。
【0069】また、本実施形態における実現容易性判定
は、なるべく性能を表す数値が小さいほど集積回路装置
にとって有利と考えられるように、性能を評価するパラ
メータを設定して行なうものとする。例えば、データの
処理速度と処理時間とについてみると、両者は掛け合わ
したときにデータの処理量となるもので互いに反比例す
るパラメータである。そして、処理速度が大きいほど集
積回路装置にとっては有利だが、処理時間は小さいほど
有利である。したがって、この場合には処理時間を実現
容易性判定のための1つのパラメータとする。
【0070】もちろん、処理速度を1つのパラメータと
して判断してもよいが、その場合にはVCから算出され
る性能値が要求よりも大きいほど実現容易性が高くなる
と判断することはいうまでもない。
【0071】一方、データベースのVCクラスタの実現
容易性情報には、上述のように、RTレベルのVCによ
って得られた性能の最大値MAX,平均値AVE,最小
値MIN,最適値OPTが記述されている。そして、実
現容易性の判定は、MAX,MIN,AVE,OPTの
いずれを用いても行なうことができるが、複数のVCに
ついての性能を合計する際には、すべてがMAX,MI
N,AVE又はOPTに統一されている必要がある。た
だし、小さいほど有利なパラメータに関しては最大値M
AXはあまりにも余裕を持った判断を行なってしまうの
で、性能のMINの値によって実現容易であるにもかか
わらず実現不可能と判定してしまうおそれがある。この
ような場合には、最小値MIN,平均値AVE又は最適
値OPTを用いるのが好ましいといえる。ただし、大き
いほど有利なパラメータ例えばスループットなどを用い
るときには、最大値MAX,平均値AVE又は最適値O
PTを用いるのが好ましい。
【0072】ここで、以下の説明では、小さいほど有利
なパラメータを用いることを前提とする。この場合、最
小値MINを採用して実現できるかどうかを判断した場
合には、1つのパラメータだけについての性能は確保さ
れることになるが、他のパラメータとのトレードオフを
考慮すると、必ずしも実現できるという保証はない。つ
まり、厳密な意味で“実現可能か否か”を判断している
ことになる。一方、平均値AVEを採用して実現できる
かどうかを判断すると、余裕を持って判断しているの
で、各パラメータ間のトレードオフを考慮して“実現容
易か否か”を判定することができる。ただし、実現でき
るものまで排除することもあり得る。この段階では、R
Tレベルにおける性能評価のような厳密な性能評価を行
うわけではなく、数値的にある程度の予想ができればよ
いだけであるので、最小値を採用するにしても、平均値
を採用するにしても、要求値とVCの性能値とをそのま
ま比較するのではなく、何らかの補正を行なった上で評
価するのが好ましい。
【0073】−実現性容易性判定のための指標の作成− ここで、実現容易性を数値化して、実現容易性がどの程
度あるかを迅速に判定するための数値的な指標を作成し
ておく一例について説明する。
【0074】ここでは、各要求の性能値を100として
指標化し、エントリーした各仕様VCの実現容易性判定
用情報に記述されている性能の合計値がその何%になる
かによって実現容易性を判定するものとする。
【0075】図9に示すシステムにおいて、VCS1,
S2,S3という直列に接続されたパスの処理時間を例
にとって説明する。要求の処理時間(転送時間を含まな
い)が90サイクルであるのに対し、VCS1,S2,
S3のVCクラスタ内に格納されている実現可能性判定
用情報から得られる処理時間(MIN)が、それぞれ5
0サイクル,10サイクル,10サイクルであったとす
ると、合計の処理時間の要求に対するパーセンテージ
は、 100×{(50+10+10)/90}=100×
{70/90}=67(%) である。このとき、処理時間の最小値を採用しているこ
となどを考慮して、一定のマージンをあらかじめ定めて
おく。例えば、マージンを20%とすると、このマージ
ンを上のパーセンテージ(67%)に加算した合計のパ
ーセンテージ(87%)を実現可能性判定指標とする。
この場合は、合計パーセンテージが100%以下である
ので、実現可能と判定する。このマージンのパーセンテ
ージは、設計品種ごとに指定される。なお、経験的なマ
ージンの情報を仕様VCの情報と対応づけてデータベー
ス化することも可能である。
【0076】以上の処理を整理すると、「小さいほど有
利な特性となるように性能を設定し、エントリーしたV
Cクラスタの最小の性能値に一定のマージンを加えたも
のが、要求性能値に対して100%以下のパーセンテー
ジであれば、実現可能性ありと判定する」ことになる。
【0077】このように、実現容易性という数値化され
た指標を設定しておくことにより、設計者が指標100
に対してどの程度の範囲であれば実際に設計が容易であ
るかを、経験的に把握していくので、設計者がそのシス
テムに応じて適正なマージン(%)を設定することがで
きる。
【0078】ただし、実現容易性を判定するためにこの
指標を必ず用いなければならないわけではない。また、
上述のように、VCクラスタ内に格納されている実現容
易性情報から平均値AVEを取り出して実現容易性判定
のための指標を作成してもよい。
【0079】−処理時間と消費電力とからみた実現容易
性判定の例− 例えば図10に示すように、入力i1についてある要素
(以下、説明を単純化するために要素はすべてVCに置
き換わったとして説明を進める)−S1による処理を施
した後、分岐してVC−S2,S3による処理を施した
後、それぞれ出力O1,O2として外部にデータを出力
するシステムがあるとする。このとき、各VC−S1,
S2,S3がエントリーされたとする。そして、VC−
S1のVCクラスタ内の実現容易性判定用情報(実現
例)から、処理時間は50サイクルで消費電力は100
mWであることがわかり、VC−S2のVCクラスタ内
の実現容易性判定用情報(実現例)から、処理時間は2
0サイクルで消費電力は200mWであることがわか
り、VC−S1のVCクラスタ内の実現容易性判定用情
報(実現例)から、処理時間は40サイクルで消費電力
は100mWであることがわかったとする。この処理時
間,消費電力の値は、いずれも最小値MINであるとす
る。
【0080】ここでは、上述のような要求100に対す
るVCの実現容易性情報から得られる性能(最小値)の
パーセンテージがマージンを考慮して100以下か否か
によって、実現容易性を判定するものとする。
【0081】処理時間についての要求が、「入力i1か
ら出力O1までの処理時間が100サイクル以下で、入
力i1から出力O2までの処理時間が50サイクル以下
であること」であったとする。VCクラスタ内の実現例
から算出される入力i1から出力O1までの処理時間
は、50+20=70(サイクル)(AVE)となり、
要求100に対するパーセンテージは70(%)であ
る。これにマージン20(%)を加えると90(%)に
なる。これは、100以下であるので、実現容易であ
る。一方、各VCクラスタ内の実現例から算出される入
力i1から出力O2までの処理時間は、50+40=9
0(サイクル)となり、要求に対するパーセンテージ
は、180(%)である。これにマージン20%を加え
ると200(%)になる。これは100をはるかに越え
てしまうので、実現困難である(つまり実現容易でな
い)。その結果、処理時間というパラメータについての
実現容易性の判定は、「実現容易性は低い。ボトルネッ
ク:入力i1から出力O2への処理時間90サイクル」
というように行なわれる。
【0082】また、消費電力についての要求が、「消費
電力が全体で700mW以下であること」であったとす
る。このとき、各VCクラスタ内の実現例から算出され
るシステム全体の消費電力は、100+200+100
=400(mW)となり、要求700mWに対するパー
センテージは、約71.4(%)である。これにマージ
ン20(%)を加えると、91.4(%)になる。この
数値は100以下であるので、消費電力というパラメー
タについての実現容易性の判定は、「実現性が高い」と
いうように行なわれる。
【0083】一方、消費電力についての要求が、「消費
電力が全体で200mW以下であること」あったとす
る。このとき、各VCクラスタ内の実現例から算出され
るシステム全体の消費電力は400(mW)であるか
ら、要求200mWに対するパーセンテージは200
(%)になる。これにマージン20(%)を加えると、
220(%)になる。この値はもちろん100をはるか
に超えるので、消費電力というパラメータについての実
現容易性の判定は、「実現容易性は低い。ボトルネッ
ク:VC−S2の消費電力200mW」というように行
なわれる。
【0084】−データ転送を考慮した実現容易性判定の
例− 上述の説明では、処理時間について、各VC−S1,S
2,S3における処理時間のみを考慮し、データ転送に
要する処理時間は無視している。およそ各VCけるデー
タの入出力に要する時間が均一であれば、要求自体もデ
ータ転送に要する時間を含まなければ、上述の例で不具
合はない。しかし、現実のシステムにおいては、データ
転送に要する処理時間が各VCによって不均一なことも
多い。そこで、この例では、データ転送時間に要する処
理時間を考慮した実現容易性判定について説明する。こ
こでは、VCの性能を平均値AVEに基づいて算出し、
これをマージンを設定せずに要求性能と直接比較するこ
とにより、実現容易性を判定する方法について説明す
る。
【0085】例えば図11に示すように、入力i1につ
いてあるVC−S1を施し、さらにVC−S2を施した
後、出力O1として外部にデータを出力するシステムが
あるとする。このとき、各VC−S1,S2のVCがエ
ントリーされたとする。そして、VC−S1のVCクラ
スタ内の実現容易性判定用情報(実現例)から、処理時
間は50サイクルで、データの入力に要する時間は10
サイクルで、データの出力に要する時間が20サイクル
でことがわかり、VC−S2のVCクラスタ内の実現容
易性判定用情報(実現例)から、処理時間は20サイク
ルで、データの入力に要する時間は10サイクルで、デ
ータの出力に要する時間が10サイクルでことがわかっ
たとする。この処理時間の値は、いずれも平均AVEの
値を示している。
【0086】このとき、処理時間についての要求が、
「入力i1から出力O1までの処理時間が100サイク
ル以下であること」であったとする。このとき、各VC
クラスタ内の実現例から算出される入力i1から出力O
1までの処理時間は、10+50+20+20+10=
110(サイクル)となる。これは、要求100サイク
ルに対して10%大きい(110%)ので、実現容易で
はない。その結果、処理時間というパラメータについて
の実現容易性の判定は、例えば「実現容易性は低い。ボ
トルネック:VC−S1の処理時間50サイクル」とい
うように行なわれる。
【0087】−要求性能分割− 重み付けによる分割 次に、図7のフローチャートにおけるステップST5の
要求性能分割処理について説明する。
【0088】図11に示すシステムにおいて、処理時間
に対する要求が、「入力i1から出力O1までの処理時
間が100サイクル以下であること」であったとする。
それに対して、VCクラスタの実現容易性情報から得ら
れるVC−S1の処理時間が50サイクル(平均値AV
E)で、VC−S2の処理時間が40サイクル(平均値
AVE)であったとする。このとき、各VC−S1,S
2の要求性能を S1: 100×{50/(50+40)}=56(サイクル) S2: 100×{40/(50+40)}=44(サイクル) の比に分割する。つまり、VC−S1,S2に対して、
それぞれ処理時間が56(サイクル),44(サイク
ル)というVCを生成すればよいことになる。
【0089】 均等分割 この方法では、VC−S1,S2に対する要求性能を5
0(サイクル)と50(サイクル)とに均等に分割す
る。つまり、VC−S1,S2に対して、それぞれ処理
時間が50(サイクル),50(サイクル)というVC
を生成すればよいことになる。
【0090】 データ転送を含めた分割 上述の図11について説明したデータ転送を含めた処理
時間についての実現容易性の判定に用いたデータを用い
て説明する。
【0091】この場合、VC−S1についてのデータの
入出量を含めた処理時間は、50+10+20=80
(サイクル)である。VC−S2についてのデータの入
出力を含めた処理時間は20+10+10=40(サイ
クル)である。このとき、各VC−S1,S2の要求性
能を S1: 100×{80/(80+40)}=66.7(サイクル) S2: 100×{40/(80+40)}=33.3(サイクル) の比に分割する。つまり、VC−S1,S2に対して、
それぞれ処理時間が66.7(サイクル),33.3
(サイクル)というVCを生成すればよいことになる。
【0092】また、レイアウト面積,消費電力などの他
のパラメータについても、上述の処理時間における性能
分割と同様の処理を行なって、その後の設計において各
VCが満たすべきレイアウト面積,消費電力などのパラ
メータを決定する。
【0093】−仕様変更の例− ここでは、上記図9に示すシステムの実現性判定におい
て、実現容易性がない(実現困難)と判定されたとき
に、仕様を変更する例について説明する。
【0094】処理時間に対する要求が、「入力i1から
メディア出力O1までの処理時間が500サイクル以下
で、入力i1からメモリ出力O2までの処理時間が50
0サイクル以下で、入力i1からモータ出力O3までの
処理時間が100サイクル以下であること」であったと
する。
【0095】一方、各VC−S1〜S6に格納されてい
る実現容易性判定用情報から得られる処理時間のMIN
などに基づいて、実現容易性を判定した結果、「入力i
1からメディア出力O1までの処理時間は実現容易であ
り、入力i1からメモリ出力O2までの処理時間は実現
容易であり、入力i1からモータ出力O3までの処理時
間は実現困難である」と判定されたとする。
【0096】このとき、ステップST1に戻り、「VC
−S1からVC−S6に至る信号経路については、VC
−S2,S5を省略する」(図9の点線参照)というよ
うに仕様そのものを変更する。この仕様の変更により、
VC−S1の処理を行なった後直接VC−S6の処理を
行なうことで、処理時間の要求に対して実現容易と判定
されることになる。この例では、VC−S2で画像圧縮
を行なった後、VC−S5でその圧縮された画像を伸長
し直して確認するという機能を果たしている。しかし、
このような確認処理を行なっていたのでは、要求性能を
満たせないことが明らかになったので、確認処理をあき
らめて直接画像データをモータ出力O3に送るという次
善の設計に変更するのである。このように変更しても、
別段不都合は生じない。
【0097】このように、実現容易性の結果をみて可能
な範囲で仕様の変更を行うことにより、過剰な仕様によ
って設計が不可能な自体に陥るのを予め予見できる。特
に、システムLSIの規模が大きくなると、下流側の設
計まで行なって試行錯誤した後に設計不可能と判定する
ような無駄な設計を行なってしまうおそれが増大する。
それに対し、この例のように、上流側での実現容易性の
判定結果によっては、要求性能を1ランク下げるなどの
仕様変更を行なうことにより、無駄な設計を回避するこ
とができる。
【0098】−再利用を含む実現容易性判定− 今までの説明においては、システム内のいずれのVCに
ついても、新たに設計するという前提から、各VCを新
たにVCDB内からエントリーするものとして、実現容
易性判定について説明してきた。ここでは、システム中
の各VCのうちほとんどのVCがすでに決まっていて、
あるVCのみを修正するような場合における実現容易性
の判定方法について説明する。
【0099】例えば、図9に示すデジタルスチルカメラ
用LSIというシステムの設計において、画像圧縮処理
のVC−S2のみ新たなVC−S2’に置き換える。そ
して、他のVC−S1,S3〜S6についてはすでに決
まっているVCを再利用するものとする。
【0100】図12は、このシステムにおける入力i1
からモータ出力O3までの処理時間についての実現容易
性判定を行なう際の計算方法を示す図である。同図に示
すように、VCDB内には、すでに決まっているVC−
S1〜S6があり、各VCクラスタのRT層内には設計
例データベースがあり、各VC−S1〜S6の処理時間
のデータも記述されている。そして、変更しないVC−
S1,VCS3〜S6については、各VC−S1,VC
S3〜S6にすでに登録されているデータを再利用する
ことになる。
【0101】そこで、入力i1からモータ出力O3まで
の処理時間についての実現容易性を判定する際、修正し
ないVC−S1,S5,S6については、図7のステッ
プST1では、VC−S1,S2’S5,S6をVCD
Bからエントリーするとともに、図7のステップST4
においては、VC−S1,S5,S6各内のRT層に記
述された処理時間の値X1,X5,X6を取り込む。一
方、修正するVC−S2については、新たにVCDB内
からエントリーしたVC−S2’の仕様層に格納されて
いる実現容易性判定用情報のデータY2を用いる。そし
て、例えば、この経路の処理時間の合計値(X1+Y2
+X5+X6)と要求される処理時間とを比較して、実
現容易性を判定する。
【0102】その場合、上述の各種の方法を採用するこ
とができる。例えば、処理時間のデータY2として平均
値AVEを採用して、その合計値が要求される処理時間
以下か否かによって判定してもよい。あるいは、処理時
間のデータY2として最小値MINを採用して、この合
計値の要求される処理時間に対するパーセンテージを求
め、これにマージンを加えた値が100(%)以下であ
れば実現容易と判定するようにしてもよい。また、デー
タの入出力に要する時間を考慮する場合も、VC−S2
のデータ入力に要する時間と、VC−S2自体の処理時
間と、データの出力に要する時間とを、VC−S2’の
実現容易性判定用情報から取り出してくればよい。
【0103】(第2の実施形態)次に、要求分割による
実現容易性判定を行なうようにした第2の実施形態につ
いて説明する。図13は、本実施形態における仕様レベ
ルの設計手順を示すフローチャートである。
【0104】まず、ステップST11〜ST13では、
上記第1の実施形態におけるステップST1〜ST3と
同様の処理を行なう。
【0105】次に、ステップST14で、事前の要求性
能分割を行なう。例えば、図14に示すように、入力i
1から出力O1までの処理時間に対する要求が100サ
イクルである場合に、第1の実施形態におけるステップ
ST5の処理について行なった分割と同様にして、S
1:S2=56(サイクル):44(サイクル)に分割
されたものとする。
【0106】次に、ステップST15で、各VC−S
1,S2の仕様VCに対して、分割された要求性能を満
足する実現例を探索する。そして、例えばVC−S1の
仕様VCの実現容易性判定用情報に記述されている処理
時間の最小値が60サイクルで、VC−S2の仕様VC
の実現容易性判定用情報に記述されている処理時間の最
小値が43サイクルであったとする。このときには、V
C−S1に対して要求される処理時間56サイクルを実
現した例はなく、VC−S2に対しては要求される処理
時間44サイクルを実現した例があることになる。
【0107】次に、ステップST16で、実現例の割合
が所定値以上か否かを判定する。VC−S1,S2に対
する実現例の割合は50%である。そこで、判定のため
の所定値を例えば60%とすると、実現容易性はない
(つまり実現困難)ことになる。その結果、実現容易性
の判定は、例えば「実現容易性なし。ボトルネック:V
C−S1の処理時間60サイクル」というように表示さ
れる。
【0108】その後、実現容易性がなければ、ステップ
ST11に戻って、要求に応じたVCを生成するか、新
たなVCは生成せずに要求のレベルを下げた後、ステッ
プST12〜ST16の処理を繰り返す。また、要求を
満足するVCの生成が容易かどうかをも実現容易性の判
定に含めることもできる。
【0109】このように、ステップST11〜ST16
を繰り返すことにより、一応実現が可能であろうと推定
されるシステムが生成される。
【0110】その後、任意のステップとして、ステップ
ST16で、新たに生成の必要なVCの数に応じて、あ
る程度の工数の見積りを行なった後、ステップST17
で、その見積り結果が予定工数内か否かを判定して、予
定工数内でなければステップST11に戻るようにして
もよい。このように、工数見積り結果に応じて仕様を作
成し直すこともあり得る。
【0111】図15は、VCDB内の工数見積り用情報
を説明するための図である。同図に示すように、VCD
B内に、仕様VCの工数データとして、新規にVCを開
発した場合の工数(人・月)と、すでに存在するVCを
再利用する場合の工数(人・月)とが格納されている。
そして、実現容易性判定を行なう際には、各VCに対し
て実現例があれば再利用を図り、実現例がなければ新規
にVCを開発するものとする。この新規にVCを開発す
るのに必要な工数の見積り値は、仕様VCのクラスタ内
の既存のRTL−VCを新規設計した際の工数をデータ
ベース化したものであり、再利用する場合の工数の見積
り値は、仕様VCのクラスタ内のRTL−VCを再利用
した際の工数をデータベース化したものである。
【0112】ここで、図14に示すシステムの設計に関
する例では、VC−S1の分割された要求56サイクル
に対して、VC−S1については、VCDB内の仕様V
Cの実現容易性判定用情報に記述されている処理時間6
0サイクルからみて実現例はなく、VC−S2について
は、VCDB内の実現容易性判定用情報に記述されてい
る処理時間43サイクルからみて実現例があった。そし
て、VC−S1については、ステップST11に戻った
ときに、要求性能を下げるのではなく、VCを新規に開
発することが決まっていたものとすると、工数は30人
・月と見積もられる。一方、VC−S2については、既
存のVCを再利用できるので、工数は15人・月と見積
もられる。その結果、トータルの工数は、45人・月と
見積もられることになる。
【0113】このような工数の見積りを行なうことによ
って、納期と工数とを比較して必要な設計者の数を把握
することもできる。
【0114】なお、すべてのVCに対して、既存のVC
を用いる場合、あるいはすべてのVCを新規に開発する
場合も、工数の見積りを行なうようにしてもよい。な
お、工数見積りに応じて仕様を作成し直すこともあり得
る。
【0115】なお、以上の説明では、工数見積りを図1
3のフローチャートのステップST17において行なっ
たが、この工数見積りの手順は、図7のフローチャート
のステップST6においても行なうことができる。この
場合にも、ステップST1に戻った処理において、ある
処理については新規にVCを開発することが決まってい
ることがある。なお、すべてのVCに対して、既存のV
Cを用いる場合、あるいはすべてのVCを新規に開発す
る場合も、工数の見積りを行なうようにしてもよい。
【0116】
【発明の効果】本発明の集積回路装置の設計のためのデ
ータベース又は設計方法によると、仕様レベルという上
流側の設計において、要求性能の実現容易性を判定する
ためのデータベースを準備し、あるいはこのデータベー
スを用いて実現容易性を判定するようにしたので、無理
な要求性能の設定などによる再設計の繰り返しや設計不
可能に陥る事態を回避することができ、大規模な集積回
路装置の設計の容易化を図ることができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るシステムLSI設計の
ためのデザインシステム(VCDS)の構成を概念的に
示す図である。
【図2】本発明の各実施形態のVCDSにおける設計の
基本的な流れを示す図である。
【図3】図1に示すシステムの機能部分を抜き出して示
すブロック回路図である。
【図4】VCクラスタの機能を詳細に説明する図であ
る。
【図5】本発明の各実施形態における各VCの構造を示
す図である。
【図6】設計の各層におけるVCのデータ及び性能情報
の相違点を示すための図である。
【図7】第1の実施形態における実現容易性判定を含む
仕様層の設計手順を示すフローチャート図である。
【図8】第1の実施形態におけるデータベースの特徴的
な部分を抜き出して示す図である。
【図9】機能モデルの一例として、デジタルスチルカメ
ラ用LSIの機能モデルを示すブロック図である。
【図10】第1の実施形態における処理時間と消費電力
とからみた実現容易性判定の例を説明するためのシステ
ムのブロック回路図である。
【図11】第1の実施形態におけるデータ転送を考慮し
た実現容易性判定の例を説明するためのシステムのブロ
ック回路図である。
【図12】第1の実施形態における再利用を含む実現容
易性判定の例を説明するためのシステムのブロック回路
図である。
【図13】第2の実施形態における仕様レベルの設計手
順を示すフローチャートである。
【図14】第2の実施形態における事前の要求性能分割
の例を説明するためのシステムのブロック回路図であ
る。
【図15】第1又は第2の実施形態におけるVCDB内
の工数見積り用情報を説明するための図である。
【図16】一般的なLSIの設計手順を示すフローチャ
ート図である。
【符号の説明】 1 VCDB(VCデータベース) 2 VCDBMS(VCデータベースマネージャ) 3 VCクラスタ 4 アーキテクチャ情報 5 仕様VC 6 動作VC 7 RTL−VC 10 データベース格納層 11 入力部 12 出力部 13 制御部 14 仕様動作層 15 RT層

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】 複数の要素からなる集積回路装置を設計
    するために必要なデータを格納するデータベースであっ
    て、 上記各要素を設計するために必要なデータを、少なくと
    も仕様VC(バーチャル・コア)と、RTL−VCとに
    分けて格納するVCクラスタと、 上記仕様VCに格納され、その仕様に対する当該VCク
    ラスタ中のRTL−VCの性能に関するデータである実
    現容易性判定用情報とを備えていることを特徴とする集
    積回路装置の設計用データベース。
  2. 【請求項2】 請求項1記載の集積回路装置の設計用デ
    ータベースにおいて、 上記実現容易性判定用情報は、処理時間,レイアウト面
    積,消費電力及びテストコストのうち少なくともいずれ
    か1つに関するデータを含んでいることを特徴とする集
    積回路装置の設計用データベース。
  3. 【請求項3】 請求項1又は2記載の集積回路装置の設
    計用データベースにおいて、 上記実現容易性判定用情報は、処理時間とデータの入出
    力に要する時間とに関するデータを少なくとも含んでい
    ることを特徴とする集積回路装置の設計用データベー
    ス。
  4. 【請求項4】 請求項1〜3のうちいずれか1つに記載
    の集積回路装置の設計用データベースにおいて、 上記実現容易性判定用情報は、その仕様に対するRTL
    −VCが複数個ある場合には、上記データを各RTL−
    VCの最小値,平均値,最大値及び最適値のうち少なく
    ともいずれか1つとして含んでいることを特徴とする集
    積回路装置の設計用データベース。
  5. 【請求項5】 請求項1〜4のうちいずれか1つに記載
    の集積回路装置の設計用データベースにおいて、 上記仕様VCに格納され、その仕様に対するVCの新規
    開発に要する工数と、その仕様に対するVCの再利用に
    要する工数とに関するデータである工数見積り用情報を
    さらに備えていることを特徴とする集積回路装置の設計
    用データベース。
  6. 【請求項6】 複数の要素からなる集積回路装置を設計
    するために必要なデータを格納するデータベースであっ
    て、 上記各要素を設計するために必要なデータを、少なくと
    も、仕様VC(バーチャル・コア)と、RTL−VCと
    に分けて格納するVCクラスタと、 上記仕様VCに格納され、その仕様に対するVCの新規
    開発に要する工数と、その仕様に対するVCの再利用に
    要する工数とに関するデータである工数見積り用情報と
    を備えていることを特徴とする集積回路装置の設計用デ
    ータベース。
  7. 【請求項7】 請求項1〜6のうちいずれか1つに記載
    の集積回路装置の設計用データベースにおいて、 上記仕様VCは、仕様・動作VCとして動作VCと一体
    化されていることを特徴とする集積回路装置の設計用デ
    ータベース。
  8. 【請求項8】 複数の要素からなる集積回路装置の各要
    素を設計するために必要なデータを少なくとも仕様VC
    (バーチャル・コア)とRTL−VCとに分けて格納す
    るVCクラスタと、上記仕様VCに格納され、その仕様
    に対するRTL−VCの性能に関するデータである実現
    容易性判定用情報とを含むデータベースを用いた集積回
    路装置の設計方法であって、 上記各要素に対応する仕様VCをエントリーするステッ
    プ(a)と、 上記仕様VCの実現容易性判定用情報に基づいて、上記
    エントリーした仕様VCを用いた集積回路装置の設計の
    容易性を判定するステップ(b)とを含む集積回路装置
    の設計方法。
  9. 【請求項9】 請求項8記載の集積回路装置の設計方法
    において、 上記実現容易性判定用情報は、処理時間,レイアウト面
    積,消費電力及びテストコストのうち少なくともいずれ
    か1つに関するデータを含んでおり、 上記ステップ(b)における判定を、処理時間,レイア
    ウト面積,消費電力及びテストコストのうち少なくとも
    いずれか1つについて行なうことを特徴とする集積回路
    装置の設計方法。
  10. 【請求項10】 請求項8又は9記載の集積回路装置の
    設計方法において、 上記実現容易性判定用情報は、処理時間とデータの入出
    力に要する時間とを少なくとも含んでおり、 上記ステップ(b)における判定を、データ転送に要す
    る時間と処理時間とについて行なうことを特徴とする集
    積回路装置の設計方法。
  11. 【請求項11】 請求項8〜10のうちいずれか1つに
    記載の集積回路装置の設計方法において、 上記実現容易性判定用情報は、上記データを各RTL−
    VCの最小値,平均値,最大値及び最適値のうち少なく
    ともいずれか1つとして含んでおり、 上記ステップ(b)における判定を、上記パラメータの
    最小値,平均値,最大値及び最適値のうち少なくともい
    ずれか1つについて行なうことを特徴とする集積回路装
    置の設計方法。
  12. 【請求項12】 請求項8〜11のうちいずれか1つに
    記載の集積回路装置の設計方法において、 上記ステップ(b)における判定を、上記性能の要求値
    と、上記仕様VCの実現容易性判定用情報から得られる
    VCの性能とを比較することにより行なうことを特徴と
    する集積回路装置の設計方法。
  13. 【請求項13】 請求項12記載の集積回路装置の設計
    方法において、 上記ステップ(b)における判定を、上記性能の要求値
    を100としたときの,上記VCの性能のパーセンテー
    ジを指標として行なうことを特徴とする集積回路装置の
    設計方法。
  14. 【請求項14】 請求項12又は13記載の集積回路装
    置の設計方法において、 上記ステップ(b)における判定を、複数のVCのうち
    ある性能についてもっとも実現容易性が低いVCをボト
    ルネックとして抽出しながら行なうことを特徴とする集
    積回路装置の設計方法。
  15. 【請求項15】 請求項12〜14のうちいずれか1つ
    に記載の集積回路装置の設計方法において、 上記ステップ(b)では、上記複数の要素のうち再利用
    可能な要素についてはその要素に対応するVCクラスタ
    のRTL−VCの性能を用い、他の要素についてはその
    要素に対応するVCクラスタの仕様VCの上記実現容易
    性判定用情報中の性能を用いることを特徴とする集積回
    路装置の設計方法。
  16. 【請求項16】 請求項12〜14のうちいずれか1つ
    に記載の集積回路装置の設計方法において、 設計実現例のある機能モデルを再利用し、その一部の要
    素を変更して機能モデルを作成する場合に、上記ステッ
    プ(b)では、上記複数の要素のうち再利用可能な要素
    については、設計実現例で使用されたVCクラスタのR
    TL−VCの性能を用いることを特徴とする集積回路装
    置の設計方法。
  17. 【請求項17】 請求項12〜16のうちいずれか1つ
    に記載の集積回路装置の設計方法において、 上記ステップ(b)の後、全体の要求性能を上記複数の
    要素に対応する各VCごとに、重み付して分割するステ
    ップをさらに備えていることを特徴とする集積回路装置
    の設計方法。
  18. 【請求項18】 請求項12〜16のうちいずれか1つ
    に記載の集積回路装置の設計方法において、 上記ステップ(b)の後、全体の要求性能を上記複数の
    要素に対応する各VCごとに、均等に分割するステップ
    をさらに備えていることを特徴とする集積回路装置の設
    計方法。
  19. 【請求項19】 請求項17又は18記載の集積回路装
    置の設計方法において、 上記データベースの仕様VCには、その仕様に対するV
    Cの新規開発に要する工数と、その仕様に対するVCの
    再利用に要する工数とに関するデータである工数見積り
    用情報とがさらに格納されており、 上記性能を分割するステップの後、各要素に対応する仕
    様VCの工数見積り情報から各要素の工数を見積もるス
    テップをさらに備えていることを特徴とする集積回路装
    置の設計方法。
  20. 【請求項20】 請求項8〜11のうちいずれか1つに
    記載の集積回路装置の設計方法において、 上記ステップ(a)を行なった後、上記ステップ(b)
    を行なう前に、全体の要求性能を上記各VCごとに分割
    するステップをさらに備え、 上記ステップ(b)における判定を、各要素に対応する
    仕様VCの実現容易性判定用情報から各要素の分割され
    た性能を満たす実現例の割合が所定値以上か否かによっ
    て行なうことを特徴とする集積回路装置の設計方法。
  21. 【請求項21】 請求項20記載の集積回路装置の設計
    方法において、 上記全体の要求性能の分割を、各VCごとに重み付けし
    て行なうことを特徴とする集積回路装置の設計方法。
  22. 【請求項22】 請求項20記載の集積回路装置の設計
    方法において、 上記全体の要求性能の分割を、各VCごとに均等に行な
    うことを特徴とする集積回路装置の設計方法。
  23. 【請求項23】 請求項20〜22のうちいずれか1つ
    に記載の集積回路装置の設計方法において、 上記ステップ(b)における判定を、複数のVCのうち
    ある性能についてもっとも実現容易性が低いVCをボト
    ルネックとして抽出しながら行なうことを特徴とする集
    積回路装置の設計方法。
  24. 【請求項24】 請求項20〜23のうちいずれか1つ
    に記載の集積回路装置の設計方法において、 上記データベースの仕様VCには、その仕様に対するV
    Cの新規開発に要する工数と、その仕様に対するVCの
    再利用に要する工数とに関するデータである工数見積り
    用情報とがさらに格納されており、 上記ステップ(b)の後、各要素に対応する仕様VCの
    工数見積り情報から各要素の工数を見積もるステップを
    さらに備えていることを特徴とする集積回路装置の設計
    方法。
JP23918599A 1999-08-26 1999-08-26 集積回路装置の設計用データベース及び集積回路装置の設計方法 Pending JP2001067384A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP23918599A JP2001067384A (ja) 1999-08-26 1999-08-26 集積回路装置の設計用データベース及び集積回路装置の設計方法
US09/637,871 US6536012B1 (en) 1999-08-26 2000-08-15 Database for designing integrated circuit device, and method for designing integrated circuit device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23918599A JP2001067384A (ja) 1999-08-26 1999-08-26 集積回路装置の設計用データベース及び集積回路装置の設計方法

Publications (1)

Publication Number Publication Date
JP2001067384A true JP2001067384A (ja) 2001-03-16

Family

ID=17040991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23918599A Pending JP2001067384A (ja) 1999-08-26 1999-08-26 集積回路装置の設計用データベース及び集積回路装置の設計方法

Country Status (2)

Country Link
US (1) US6536012B1 (ja)
JP (1) JP2001067384A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7444602B2 (en) 2001-12-26 2008-10-28 Kabushiki Kaisha Toshiba Method of generating ASIC design database

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3852741B2 (ja) * 2000-10-31 2006-12-06 シャープ株式会社 高位合成方法および高位合成装置
JP2004102703A (ja) * 2002-09-10 2004-04-02 Matsushita Electric Ind Co Ltd レジスタ転送レベル設計支援装置
JP2005044016A (ja) * 2003-07-24 2005-02-17 Incs Inc 製品の回路設計支援方法及び回路設計支援システム
US7134102B2 (en) * 2003-09-12 2006-11-07 Infineon Technologies Ag Automated layout transformation system and method
US7376664B2 (en) * 2003-10-31 2008-05-20 Abb Research Ltd. Method for evaluating a transformer design
US7203918B2 (en) * 2003-11-05 2007-04-10 Legend Design Technology, Inc. Delay and signal integrity check and characterization
US7448012B1 (en) 2004-04-21 2008-11-04 Qi-De Qian Methods and system for improving integrated circuit layout
US20060190111A1 (en) * 2005-02-03 2006-08-24 Wang Beniz System and method of designing a product or a module therein based on experiences of modular designs accumulated previously
JP4528728B2 (ja) * 2006-01-31 2010-08-18 株式会社東芝 デジタル回路の自動設計装置、自動設計方法、および自動設計プログラム
US7802073B1 (en) 2006-03-29 2010-09-21 Oracle America, Inc. Virtual core management
US8225315B1 (en) 2007-07-23 2012-07-17 Oracle America, Inc. Virtual core management

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598344A (en) * 1990-04-06 1997-01-28 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
US5953519A (en) * 1995-06-12 1999-09-14 Fura; David A. Method and system for generating electronic hardware simulation models
US5729466A (en) 1996-04-03 1998-03-17 Cadence Design Systems, Inc. Optimization multiple performance criteria by simulating the behavior of a constraint graph expanded by subgraphs derived from PWL convex cost functions
US5663891A (en) 1996-04-03 1997-09-02 Cadence Design Systems, Inc. Optimization of multiple performance criteria of integrated circuits by expanding a constraint graph with subgraphs derived from multiple PWL convex cost functions
JP2954894B2 (ja) * 1996-12-13 1999-09-27 株式会社半導体理工学研究センター 集積回路設計方法、集積回路設計のためのデータベース装置および集積回路設計支援装置
US6086626A (en) * 1997-05-16 2000-07-11 Fijutsu Limited Method for verification of combinational circuits using a filtering oriented approach
US6169968B1 (en) * 1997-07-09 2001-01-02 Matsushita Electric Industrial Co., Ltd. Apparatus and method for estimating performance integrated circuit
US6199031B1 (en) * 1998-08-31 2001-03-06 Vlsi Technology, Inc. HDL simulation interface for testing and verifying an ASIC model

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7444602B2 (en) 2001-12-26 2008-10-28 Kabushiki Kaisha Toshiba Method of generating ASIC design database

Also Published As

Publication number Publication date
US6536012B1 (en) 2003-03-18

Similar Documents

Publication Publication Date Title
JP2954894B2 (ja) 集積回路設計方法、集積回路設計のためのデータベース装置および集積回路設計支援装置
US7020856B2 (en) Method for verifying properties of a circuit model
CN1885295B (zh) 使用逻辑单元建置集成电路
US8719742B2 (en) Conversion of circuit description to an abstract model of the circuit
US20030009734A1 (en) Method for generating design constraints for modules in a hierarchical integrated circuit design system
US20030101419A1 (en) Logic circuit design method and cell library for use therewith
JP2001067384A (ja) 集積回路装置の設計用データベース及び集積回路装置の設計方法
US6622290B1 (en) Timing verification method employing dynamic abstraction in core/shell partitioning
JPH09212533A (ja) 論理回路の最適化装置及びその方法
JP3005538B1 (ja) 機能ブロックのモデル作成によるlsi設計システム及びそのlsi設計方法
EP1958103A1 (en) Timing constraint merging in hierarchical soc designs
JP2000123061A (ja) 集積回路装置の設計用データベース及び集積回路装置の設計方法
US6845489B1 (en) Database for design of integrated circuit device and method for designing integrated circuit device
CN104573167A (zh) 连接不完美匹配nurbs面片以形成适于有限元分析的计算机模型
JP2000315223A (ja) 集積回路装置の設計用データベース及び集積回路装置の設計方法
US20050039152A1 (en) Timing path detailer
US8739094B2 (en) Power estimation using activity information
Elléouet et al. An FPGA power aware design flow
US6701496B1 (en) Synthesis with automated placement information feedback
US20230101972A1 (en) SYSTEM AND METHOD FOR AREA AND TIMING ASSESSMENT OF A NETWORK-ON-CHIP (NoC) IMPLEMENTATION
JP3561661B2 (ja) 半導体集積回路及び半導体集積回路の設計方法
JP2000311186A (ja) 性能評価方法及び装置
JPH09282341A (ja) Lsiのレイアウト設計方法および設計装置
JP2006201825A (ja) 集積回路の遅延解析方法及び遅延解析プログラム
JP2000113019A (ja) 回路設計方法および設計支援装置