(57)【特許請求の範囲】
【請求項１】
コンピュータによりシステム設計を支援するＣＡＤシステムにおいて、
独立した機能を表現するシンボルとそれらのシンボルをつなぐラインとを含むブロック図を編集する手段と、
前記シンボルと前記ラインとに、それぞれ同じ抽象度の形態で設計情報を設定する手段と、
前記シンボル及び前記ラインにそれぞれ同じ抽象度の形態で設定される前記設計情報のそれぞれに、レベルレイヤに応じた抽象度の異なる複数の詳細レベル情報をリンクさせることができるデータ構造で前記設計情報を記憶する手段とを備えたことを特徴とするシステム設計／評価ＣＡＤシステム。
【請求項２】
請求項１記載のシステム設計／評価ＣＡＤシステムにおいて、
前記ブロック図を編集する手段により入力するシンボルまたはラインに付与する見積もりパラメタ情報を入力するためのテンプレートを保持する手段と、
前記テンプレートに従ってユーザに入力を促し、シンボルまたはラインに付与する見積もりパラメタ情報をユーザから入力可能にする手段とを備えたことを特徴とするシステム設計／評価ＣＡＤシステム。
【請求項３】
請求項１記載のシステム設計／評価ＣＡＤシステムにおいて、
設計の途中段階でその設計の評価を行った場合に、評価を行った時点の設計情報と評価結果情報とをリンクして自動保管する手段を備えたことを特徴とするシステム設計／評価ＣＡＤシステム。
【請求項４】
請求項１記載のシステム設計／評価ＣＡＤシステムにおいて、
再利用可能な設計ブロックを利用する際に、そのブロックの持つパラメタテンプレートを参照し、パラメタテンプレートに基づくパラメタ設定ウインドウを表示する手段と、
表示したパラメタ設定ウインドウにより、当該ブロック利用時の固有なパラメタを入力する手段とを備えたことを特徴するシステム設計／評価ＣＡＤシステム。
【請求項５】
請求項１記載のシステム設計／評価ＣＡＤシステムにおいて、
設計の詳細化が進むにつれて一つのブロックが、より詳細なレベルの複数のブロックから構成されるようになった場合に、重複するパラメタ情報はより詳細な下位の設定レベルに付与されたパラメタを利用して評価を行う手段を備えたことを特徴とするシステム設計／評価ＣＡＤシステム。
【請求項６】
コンピュータによりシステム設計を支援するＣＡＤシステムに用いられるプログラムを記憶した媒体であって、
独立した機能を表現するシンボルとそれらのシンボルをつなぐラインとを含むブロック図を編集する処理と、
前記シンボルと前記ラインとに、それぞれ同じ抽象度の形態で設計情報を設定する処理と、
前記シンボル及び前記ラインにそれぞれ同じ抽象度の形態で設定される前記設計情報のそれぞれに、レベルレイヤに応じた抽象度の異なる複数の詳細レベル情報をリンクさせることができるデータ構造で前記設計情報を管理する処理とをコンピュータに実行させるプログラムを記憶したことを特徴とするシステム設計／評価ＣＡＤシステムのプログラム記憶媒体。
【請求項７】
請求項１記載のシステム設計／評価ＣＡＤシステムにおいて、前記設計情報設定手段は、レベルレイヤに応じた複数レベルの情報を参照しながらその設計情報の編集を行う設計情報編集手段を備えたことを特徴とするシステム設計／評価ＣＡＤシステム。
【請求項８】
請求項１記載のシステム設計／評価ＣＡＤシステムにおいて、前記設計情報に、ドキュメントデータをリンクするドキュメントデータリンク手段を備え、設計情報の編集中にドキュメントデータの編集を行うドキュメントデータ編集手段を備えたことを特徴とするシステム設計／評価ＣＡＤシステム。
【請求項９】
請求項１記載のシステム設計／評価ＣＡＤシステムにおいて、前記設計情報設定手段は、前記シンボルの大きさを任意の大きさに設定する大きさの編集手段を有することを特徴とするシステム設計／評価ＣＡＤシステム。
【請求項１０】
請求項１記載のシステム設計／評価ＣＡＤシステムにおいて、前記ブロック図編集手段は、作成したシンボルにラインを接続したとき、信号の入出力ポートを自動的に作成する入出力ポート作成手段を有することを特徴とするシステム設計／評価ＣＡＤシステム。
【請求項１１】
請求項１記載のシステム設計／評価ＣＡＤシステムにおいて、一つのシンボルに他の設計情報をリンクさせて複数の階層情報を割り付る手段を備え、一つのシンボルに複数の階層を定義することを特徴とするシステム設計／評価ＣＡＤシステム。
【請求項１２】
請求項１記載のシステム設計／評価ＣＡＤシステムにおいて、シンボル作成用記述言語及びブロック図のデータをシンボル作成パネル上にドラック＆ドロップする事によって、シンボル形状データを自動的に作成するシンボル自動作成手段を備えたことを特徴とするシステム設計／評価ＣＡＤシステム。
【請求項１３】
請求項１記載のシステム設計／評価ＣＡＤシステムにおいて、複数のブロックを指定して、それらを一つの階層に合成あるいは複数の階層に分離する階層編集手段を備えたことを特徴とするシステム設計／評価ＣＡＤシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は電子装置のシステム設計を支援するＣＡＤシステムに係わり、特に装置の仕様検討やアーキテクチャの検討を行う設計フェーズへの利用を図り、装置設計全体の設計最適化、設計品質の向上、設計の効率化を実現するシステム設計／評価ＣＡＤシステムおよびそのプログラム記憶媒体に関するものである。
【０００２】
【従来の技術】
従来、電子装置の設計の初期段階、つまり仕様やアーキテクチャの検討段階において、装置を構成するＬＳＩやプリント回路基板（ＰＣＢ）回路の物理的な実現規模や消費電力などを見積もるには、過去に設計した装置、ＰＣＢ、ＬＳＩの同様な機能などを参考にし、机上で個々の構成要素の物理的な実現規模等を見積もり、それを装置に組み上げたときの規模などを算出していた。したがって、設計者の経験によるところが大きかった。
【０００３】
ここで見積もる物理的なパラメタには次のようなものがある。ＬＳＩやＦＰＧＡなどではゲート数（面積）、チップの入出力となるピン数、チップの消費電力、遅延（サイクル数）、ＰＣＢに搭載する際の実装面積、ＰＣＢへの搭載部品数、ＰＣＢの入出力となるコネクタピン数などである。また個々の部品の価格情報なども見積もり評価のためのパラメタとなる。
【０００４】
例えば図２１に示すようなブロック図を用いて装置の機能構成を検討し、一つの機能を表す個々のブロックである箱（シンボル）について、前述の物理パラメタを見積もり値として積算、集計する。ブロック図における一つの箱（シンボル）は中身をさらに詳細化し、同様のブロック図で表現されるような階層化が行われる。この場合、下位の階層においても個々の箱について見積もりを行い、集計結果を上位の箱に積み上げるという方法になる。
【０００５】
もちろん、個々の機能が過去に設計済みである箱（シンボル）を流用するのであれば、その情報から正確な見積もり結果を得ることができる。
装置設計の初期検討段階では、装置の機能・性能と共に、物理的な実現性（部品点数、大きさ、熱など）やコストも重要な検討要素であり、装置のアーキテクチャ、ＬＳＩやＰＣＢの分割方法などを変えた数多くのパターンで最適な設計を確認する必要がある。
【０００６】
従来は図３６のようなブロック図を書き、各ブロックのパラメタ値を見積もり、それらを入手、あるいは表計算ソフトウェアなどを使って集計していた。
【０００７】
【発明が解決しようとする課題】
前述のように従来の手法では、装置設計者の経験や勘により個々のブロックの見積もりを行い、それを積み上げていた。このため、以下に挙げるような問題点があった。
【０００８】
・設計者個人の経験による見積もりであるため、見積もり精度に個人差が大きく現れる。
・設計・見積もりのノウハウが個人に留まることになり、共通情報として蓄積されない。
【０００９】
・装置の構成をカット・アンド・トライする場合に、煩雑な同様の計算を繰り返し行う必要があり、時間を要する。また計算ミスも増える。
・求めた装置構成やアーキテクチャが最適な解であることの客観的な評価が難しい。
【００１０】
・仕様検討の段階で作成した装置構成ブロック図などの設計情報が以降の設計に活かせず、下流工程でＣＡＤシステムへの再入力が必要になる。
本発明は上記問題点の解決を図り、装置設計の上流工程であるシステム設計の工程をコンピュータで支援する手段を提供することを目的とする。
【００１１】
【課題を解決するための手段】
図１は、本発明のブロック構成例を示す図である。
図１において、１はＣＰＵおよびメモリなどからなる処理装置、２はブロック図入力・編集部、３は見積もり評価処理部、４はユーザインタフェース部、５はパラメタテンプレート保持部、６はブロック情報記憶部、７は設計情報記憶部、８は下流工程処理システムとのインタフェース部を表す。
【００１２】
ブロック図入力・編集部２は、ブロック図を入力・編集し、編集結果のデータをブロック情報記憶部６へライブラリとして保存し、また設計情報記憶部７へブロック図とともに入力された設計情報を格納する手段である。ブロック図入力・編集部２は、ブロック図面編集部２１、パラメタ設定部２２、属性プロパティ管理部２３を持つ。
【００１３】
ブロック図面編集部２１は、設計対象のブロック図を構成するシンボル、ラインを入力し編集する手段である。ここでは、ブロック図のシンボルとラインとは同じように設計情報を代表（シンポライズ）したものとして扱う。モデル（シンボル、ライン）の入力には、パラメタテンプレート保持部５に登録されたパラメタテンプレートを用いることができ、また、ブロック情報記憶部６にライブラリ化されている既存のブロック情報を利用することができる。
【００１４】
パラメタ設定部２２は、パラメタテンプレート保持部５に記録された見積もり評価用パラメタのテンプレートにパラメタの追加または変更を行い、またパラメタの値を任意に設定する。
【００１５】
属性プロパティ管理部２３は、ブロック図面編集部２１により入力されたモデル（シンボル、ライン）に設計情報やパラメタ情報を付与し管理する手段である。具体的には、モデルに物理的パラメタ、下位のブロックや他の環境で設計した設計情報などへのリンク情報、見積もり評価用のパラメタ等の設計情報やパラメタ情報を属性プロパティとして管理する。
【００１６】
また、再利用が可能なシンボルやラインの属性プロパティを設計情報記憶部７に記憶してライブラリ化する。さらに、各ブロックの設計情報に複数の階層化した詳細情報を保持できるような構造を持たせて管理する。
【００１７】
見積もり評価処理部３は、ブロックごとの見積もり評価およびブロック図全体の見積もり評価を行い、その評価結果を設計情報記憶部７へ格納する手段であり、ブロックルール演算部３１、全体見積もり演算部３２を持つ。
【００１８】
ブロックルール演算部３１は、そのブロック固有のパラメタと見積もり評価ルールを用いてブロックの見積もり評価を行う手段である。
全体見積もり演算部３２は、各ブロックに指定されたパラメタおよびブロックルール演算部３１で計算された値を用いて設計対象全体の見積もり評価を行う手手段である。
【００１９】
ユーザインタフェース部４は、ブロック図入力・編集部２または見積もり評価処理部３とユーザとのインタフェースをとる手段である。ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を用いる。
【００２０】
パラメタテンプレート保持部５は、ブロック図の入力・編集において、シンボル、ラインのパラメタ入力のためのテンプレートを記憶する手段である。
ブロック情報記憶部６は、ブロック図入力・編集部２で生成された再利用が可能なブロック情報をライブラリ化して登録し保存する手段である。ブロック情報とは、そのブロックのシンボル、固有のプロパティテンプレート、見積もり評価ルール等である。
【００２１】
設計情報記憶部７は、設計情報をデータベースとして記憶する手段である。
下流工程処理システムとのインタフェース部８は、本システムと下流工程の処理システムとのインタフェースをとる手段である。
【００２２】
本発明は、以下のような特徴を持つ。
（１）本発明は、シンボルとラインとを同じようなモデルとして扱い、また複数の抽象レベルが扱えるブロック図入力・編集システムである。
【００２３】
システムの設計・検討を行う際に作成するブロック図では、独立した機能を表現する箱（シンボル）と、箱と箱とをつなぐ線（ライン）自体も機能を持つ。いずれも設計情報やパラメタ情報を付与できる構造で、かつそれぞれの設計情報にレイヤという考えで複数の詳細レベル情報を持たせることができる構造としている。
【００２４】
本システムは、シンボルとラインとを、同じように設計情報を代表（シンボライズ）するものとして編集する。
（２）本発明は、プロパティとパラメタテンプレートによる汎用性を持たせたブロック図編集・評価システムである。
【００２５】
本システムは、パラメタテンプレート保持部５に、ブロック図入力・編集部２で入力したシンボルやラインに付与する見積もりパラメタ情報をテンプレートとして用意することで、ユーザへの入力促進を行う。さらに、設計対象や見積もり評価内容に応じた任意のパラメタを自由に追加・変更可能なパラメタ設定部２２を持つ。
【００２６】
（３）本発明は、設計・評価過程の設計および評価結果データの蓄積ができるブロック図編集・評価システムである。
本システムは、設計の途中段階でその設計の評価を行った場合に、評価を行った時点の設計情報と評価結果情報とをリンクして自動保管する見積もり評価処理部３を備える。これにより様々の設計ケースをカット・アンド・トライで評価し、多数の評価結果を比較検討し、最適解の設計を採用することを可能にする。
【００２７】
（４）本発明は、設計ブロックへの評価ルールを蓄積できるブロック図編集・評価システムである。
本システムは、再利用可能な設計ブロックに対して、その設計ブロックを利用する際の評価を行うための入力用のパラメタテンプレート、さらに入力されたパラメタに基づいて見積もり評価（計算）を行うための見積もり評価ルールを登録できる。
【００２８】
（５）本発明は、ブロックごとのパラメタテンプレートによるパラメタ設定が可能なブロック図入力・編集システムである。
本システムは、再利用可能なブロックを利用する際に、ブロック情報記憶部６に記憶したそのブロックの持つパラメタテンプレートを参照し、パラメタの設定ウィンドウを表示することにより、当該ブロック利用時の固有なパラメタの入力促進を図る。
【００２９】
（６）本発明は、入力のレベルに応じた精度での評価パラメタを採用するブロック図評価システムである。本システムは、設計の詳細化が進むにつれて一つのブロックが、より詳細なレベルの複数のブロックから構成されるようになった場合には、重複するパラメタ情報はより詳細な設計レベル（下位レベル）に付与されたパラメタを利用して評価を行う全体見積もり演算部３２を備える。全体見積もり演算部３２は、下位レベルブロックのパラメタが不完全な場合には上位ブロックのパラメタを採用する。つまり、パラメタ毎により詳細なレベルで、かつそのレベルで完全な（そのレベルで全てのブロックに付与されている）パラメタを採用する機能を持つ。
（７）本発明では（１）において、前記設計情報設定手段は、レベルレイヤに応じた複数レベルの情報を参照しながらその設計情報の編集を行う設計情報編集手段を備えることが好ましい。（１）において、前記設計情報に、ドキュメントデータをリンクするドキュメントデータリンク手段を備え、設計情報の編集中にドキュメントデータの編集を行うドキュメントデータ編集手段を備えることができる。（１）において、前記設計情報設定手段は、前記シンボルの大きさを任意の大きさに設定する大きさの編集手段を有することを特徴とするシステム設計／評価ＣＡＤシステム。（１）において、前記ブロック図編集手段は、作成したシンボルにラインを接続したとき、信号の入出力ポートを自動的に作成する入出力ポート作成手段を有するようにすることも可能である。（１）において、一つのシンボルに他の設計情報をリンクさせて複数の階層情報を割り付る手段を備え、一つのシンボルに複数の階層を定義するようにすることも可能である。（１）において、シンボル作成用記述言語及びブロック図のデータをシンボル作成パネル上にドラック＆ドロップする事によって、シンボル形状データを自動的に作成するシンボル自動作成手段を備えたようにすることも可能である。（１）において、複数のブロックを指定して、それらを一つの階層に合成あるいは複数の階層に分離する階層編集手段を備えたようにすることも可能である。
【００３０】
また、各階層において、ブロックの編集を行い、その階層での編集内容を、他の上位あるいは下位の階層に反映させることも可能である。
なお、以上の各構成は可能な限り互いに組み合わせて使用することができる。
【００３１】
本発明は、以下のように作用する。
本発明では、システム検討のためにブロック図をベースにして構成図を入力し、各シンボルやライン（インタフェース）にパラメタを付与し、見積もり評価を行う。さらに、アーキテクチャ検討で使用したブロック図は設計の詳細化に使用することができ、ブロック図が除々に回路図レベルまで詳細化できるようになっている。またはブロック図とＨＤＬ（ハードウェア設計言語）設計データとのリンク情報を持ち、上流工程から下流工程まで扱えるエントリツールの構造となる。
【００３２】
【発明の実施の形態】
以下に、本発明の実施の形態の一例を説明する。
［１］ブロック図による情報エントリ
コンピュータによりシステム設計の支援を行うには、まず設計情報をコンピュータに入力する必要がある。本発明では、ブロック図という設計ドキュメントを扱い、ブロック図入力・編集部２によりブロック図を入力・編集する。
【００３３】
ブロック図入力・編集部２の機能は、概ね従来からなるＣＡＤ技術であるが、システム設計の段階で使用するため、柔軟性のある操作性や各種の物理的パラメタなどの情報を付与できるようにしている。
【００３４】
本発明によるブロック図入力・編集部２の機能の一つの特徴は、個々のシンボル間を接続するラインをシンボルと同レベルで扱い、共に階層的な表現ができるようにしている点である。従来のブロック図や回路図の入力では、シンボル（ブロック）が機能を表現し、それらを接続するラインは単なるワイヤであった。本発明のシステムで扱うブロック図では、ラインを単純なワイヤではなく、機能を持たせることができるモデルとして扱うようにする。
【００３５】
さらに、ラインへの物理的なパラメタも付与できるようにしている。図２は、エントリ設計モデルの考え方を説明する図である。
図２に示すように、シンボルやライン（シグナル）の設計情報を属性プロパティとして管理する。シンボルの設計情報の実体は機能ブロックであり、シグナルの設計情報の実体はインタフェースである。設計情報は、それぞれのモデルの属性プロパティとして管理する。
【００３６】
具体的に、ラインの機能とは、プロトコルそのものであったり、プロトコルを実現する機能などである。これの物理的パラメタとは、そのプロトコルを実現した場合の実際のワイヤ本数や機能を具体化するための回路規模、また信号のトグル周波数であったりする。
【００３７】
機能ブロックは、階層設計の下位ブロックや他の環境で設計した設計データなどへのリンク、見積もり評価用のパラメタを持ち、インタフェースも同様に設計データへのリンク情報、評価パラメタなどを持つ。
【００３８】
機能ブロック、インタフェースは、それぞれ抽象レベルの異なる設計情報を抽象レベルレイヤという概念で複数持つことができる構造とする。図３は、設計情報のレベルレイヤの例を示す図である。この例では、機能ブロックおよびインタフェースの設計情報は、レイヤ１〜レイヤ３の複数の構造を持っている。レイヤ１として日本語ドキュメント（ｄｏｃ）、仕様記述等の情報、レイヤ２として例えばハードウェア記述言語（ＨＤＬ）等の情報、レイヤ３として実際の回路図等の情報を持つ。レイヤ１には、もっとも抽象度が高いレベルの情報が記述され、レイヤ２、レイヤ３の順に、より具体的で詳細な情報が記述されていく。
【００３９】
設計情報は、ブロック図で表現した機能ブロック、インタフェースのシンボルに対して抽象的な記述から具体的な詳細記述まで複数レベルの設計情報にリンク可能な構造とする。このような構造により、抽象度の高いレベルから設計を始め、段階的に詳細化する設計手法がとれるようになる。
【００４０】
以上説明した設計情報のレベルレイヤを管理し、設計情報を保持するために、図４に示すようなデータ構造の設計情報を持つ。図４は、設計情報のデータ構造の例を示す図である。
【００４１】
図４中、シンボル、ライン（シグナル）の各属性プロパティが、それぞれの設計情報へのリンクや、見積もり評価用のパラメタなど複数のパラメタを保持し、設計データ全体へのリンク構造を形作っている。
【００４２】
例えば、シグナルの属性プロパティは、そのシグナル個別情報と次のレベルレイヤのインタフェースへのリンク情報を持つ。さらに、リンク先のインタフェースには、レイヤの情報とそのインタフェースプロパティを持ち、インタフェースプロパティは、インタフェースの設計情報へのリンク情報を持つ。
【００４３】
同様に、シンボルの属性プロパティは、そのシンボル個別情報と次のレベルレイヤのモジュールへのリンク情報を持つ。ここで、モジュールとは階層設計する際などの設計情報の管理単位であり、ブロックの外部仕様となる情報を持つ。モジュールの実際の中身は、インタフェース設計情報や機能ブロック設計情報あるいは詳細なブロック図である。
【００４４】
［２］プロパティとテンプレート
見積もり評価用のパラメタの入力は、ユーザの任意のものとすると見積もりの基準が曖昧になるし、集計するシステムも設計者の数だけ必要になってしまう。見積もり評価の標準化と、設計者への情報入力を促すために、本システムでは、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）によるパラメタ入力フィールドを設ける。このために、入力の雛形（テンプレート）を外部の定義ファイルとしてパラメタテンプレート保持部５に持つ構造とする。
【００４５】
システム起動の際に、パラメタ設定部２２は、パラメタテンプレート保持部５からテンプレートファイルを読み込み、定義してある情報を解析し、定義されているパラメタの入力用のＧＵＩウィンドウを動的に作成する。これにより、ユーザである設計者がブロックやインタフェースにパラメタを設定しようとした際に、必要となるパラメタの入力を促す。パラメタのテンプレートには、必須項目、任意項目の区分を付けることにより、必要な情報を漏れなく設定させることができ、設計者個人による見積もり情報のバラツキを押さえることができる。
【００４６】
このテンプレートのファイルを設計対象の種類別などで用意することにより、装置に応じた見積もりパラメタを漏れなく入力することが可能になる。
また、このテンプレートによって、後述する蓄積した設計資産の再利用のためにも、資産ブロックごとにブロック固有のパラメタの入力促進および入力が行えるようになっている。
【００４７】
［３］ライブラリブロックへのテンプレート登録
機能ブロックは、再利用を考えて設計し、その設計した資産を再利用するためにライブラリとして登録しておく場合が多い。このため、本システムでは、ブロック図入力・編集部２で得たブロック情報をライブラリ化してブロック情報記憶部６に記憶する。ブロック情報をライブラリとして登録する場合に、そのブロック固有のパラメタテンプレートを設定しておくことにより、そのブロックを使用する際にブロック固有の見積もりパラメタの入力促進を行うことができる。この場合のパラメタ入力促進用にも前述のテンプレートを用いる。再利用するためにライブラリ化するブロック情報の中に、このプロパティテンプレートを埋め込んでおく。
【００４８】
図５は、ライブラリにノウハウとして蓄積されるブロック情報の例を示す。ブロック情報には、ブロックを示すシンボル、そのブロック固有の見積もり評価ルール、プロパティテンプレート等が含まれる。
【００４９】
ブロック図面編集部２１は、あるブロックを引用する際には、ブロック情報記憶部６のライブラリから該当するブロック情報のテンプレート情報を読み込み、そのテンプレート情報から入力促進ＧＵＩを動的に作成し、入力を促すようにする。
【００５０】
［４］ライブラリブロックへの見積もりルール登録
本システムでは、ライブラリブロックに、そのブロック固有の見積もり評価用のルールを登録することができる。見積もり評価ルールは、前述したパラメタテンプレートから作成された入力用のＧＵＩに沿って入力されたパラメタを使って、各種の設計情報の見積もりを行うための簡単なプログラムである。
【００５１】
見積もり評価処理部３は、ブロック固有の見積もり評価ルールを用いて、そのブロックの見積もり計算を行う。
設計システム全体の見積もり評価を行う場合には、見積もり評価ルールを持つ個々のブロックごとに、パラメタにより制御された見積もり評価ルールによる計算を行う。これらの計算結果を、システム全体で積み上げていく。
【００５２】
設計対象毎に評価予測の精度を上げるためには、ノウハウの蓄積が必要であり、設計資産ブロックやマクロブロックなどに対して、それぞれ固有のパラメタ、算出方法を与える。
【００５３】
具体的には、ライブラリの機能ブロックに、▲１▼その機能ブロックに与える固有パラメタのテンプレート、▲２▼固有パラメタおよび設定対象全体に付与するパラメタから評価値を導く式、を定義可能とする。
【００５４】
ブロック図の編集時には、ブロック固有なパラメタテンプレート情報によりＧＵＩウィンドウを表示してパラメタの設定を促し、設計情報記憶部７内にパラメタ情報を格納する。
【００５５】
見積もり評価を行う際には、ユーザに設定されたパラメタと、予め定義されている見積もり評価ルールに基づいて規模、パワー予測などの計算を行う。
図６は、評価に必要な汎用パラメタ値の見積もり評価ルールの例を示す図である。見積もり評価ルールは、計算方法を記述したプログラムである。基本的には、条件（ｉｆ）と、条件を満たす場合または満たさない場合の演算の手続きからなる。
【００５６】
この見積もり評価ルールとパラメタとにより、ライブラリ化するブロック情報に設計ノウハウを蓄積することができる。見積もり評価と最終的な設計結果から、見積もり評価ルールや指定パラメタの更新を行うことで、将来のための見積もり評価の精度を上げていくことができる。
【００５７】
［５］見積もり評価処理
見積もり評価の処理は、図７に示すように、ユーザインタフェース部４と、見積もり評価処理部３のブロックルール演算部３１と全体見積もり演算部３２とにより行う。
【００５８】
ブロックルール演算部３１は、前出の［３］および［４］の項で述べたブロック固有のパラメタと見積もり評価ルールを使って評価を行う。全体見積もり演算部３２は、各ブロックに指定されたパラメタ値、およびブロックルール演算部３１で計算された値を使って設定対象全体の見積もり積算を行う。
【００５９】
見積もり評価処理の実行は、設計対象全体の見積もり積算の処理の中で、各ブロックの階層ツリーを亘り、ブロック個々の見積もり評価計算を行っていく。
［６］階層設計とパラメタ設定設計の詳細化が進むにつれ、個々のブロックの中を、さらにブロック図表記していく。その際に下位階層のブロックにもパラメタを指定していくことができる。これにより、より細かいパラメタ指示が行え、見積もり評価の精度を上げることができる。
【００６０】
上位階層のブロックおよぶその下位階層のブロックの両方にパラメタが指定された場合には、下位階層のデータを優先するようにする。下位階層でパラメタが満たされない場合、すなわち特定のパラメタが指定されていないブロックがあった場合には、そのパラメタについては上位階層のブロックに付与されたものを採用する。
【００６１】
図８は、階層設計とパラメタ精度の関係を説明する図である。
図８において、上位階層のパラメタ値ＰＲＭ１は下位階層パラメタ値を積算した値である。
【００６２】
上位階層ブロックＢＬＫ−Ａは、ブロックＢＬＫ−ＸＸ、ＢＬＫ−Ｄ、ＢＬＫ−Ｅの３個の下位階層ブロックからなる。
上位階層ブロックＢＬＫ−Ａのパラメタ値ＰＲＭ１は５００であるが、その下位階層ブロックの各パラメタ値が、ブロックＢＬＫ−ＸＸではＰＲＭ１＝１１０、ＢＬＫ−ＤではＰＲＭ１＝１８０、ＢＬＫ−ＥではＰＲＭ１＝１８０であったとすると、この場合、ＢＬＫ−Ａのより詳細化したレベルのパラメタの積算値が４７０となることから、ＢＬＫ−ＡのＰＲＭ１の値“５００”ではなく、下位の階層のパラメタの積算値“４７０”を使用する。
【００６３】
一方、上位階層のブロックＢＬＫ−ＣのＰＲＭ１の値が２００であって、その下位階層のブロックのうちＢＬＫ−ＷＷのＰＲＭ１が未設定である場合には、詳細化した下位階層のブロックのパラメタの積算値は使用せず、上位階層のブロックＢＬＫ−ＣのＰＲＭ１の値を使用する。
【００６４】
図８に示すＰＲＭ１というパラメタは、下位階層のパラメタ値を積算すれば、上位ブロックのパラメタになるという一例である。このような見積もり用パラメタには、例えば面積、コスト、消費電力などがある。当然、単純な積算では済まないパラメタもあり、例えば遅延時間（サイクルタイム）や、信頼性パラメタなどのパラメタは、それぞれのパラメタに応じた見積もり評価ルールを持つ。なお、図８の例では、ブロックへのパラメタ設定だけであるが、前述したようにブロック間を繋ぐインタフェースへのパラメタもある。具体的には、インタフェースへのパラメタとして、物理的な線の本数や、信号のトグル周波数、信号レベルやデバイステクノロジなどがある。
【００６５】
また、上位階層と下位階層でのブロックのパラメタ値に明らかな矛盾がある場合、例えば回路規模を算出するパラメタが、上位のブロックよりもそれに含まれる下位のブロックの方が著しく大きい場合などは正常ではない。見積もり評価処理部３は、このような場合にパラメタ値の矛盾を検出する機能を持つ。
【００６６】
図９は、パラメタ矛盾検出処理を説明する図である。図９（Ａ）は処理をするブロックの階層構造の例を示し、図９（Ｂ）は各ブロックのパラメタ情報のデータ構造を示している。
【００６７】
パラメタ矛盾を検出する仕組みは、図９（Ａ）に示すようなデータ構造で、階層のブロックリンク情報と、図９（Ｂ）に示すようなパラメタを持つことより実現することが可能である。
【００６８】
各ブロックは、図９（Ｂ）に示すように、ブロック名、下位ブロックリンクの他に、パラメタ数分のパラメタ情報を持ち、各パラメタ情報には、自己のパラメタ値、下位ブロックに基づくパラメタ値、フラグ等がある。パラメタ毎にあるフラグの種類と意味は次の通りで、全体の積算を行う処理で各ブロックのデータを取り出すときの判断を行う。
【００６９】
・下位ブロックパラメタ算出済（下位パラメタ値を使用）
・下位ブロックパラメタ不完全（自己パラメタ値を使用）
・下位ブロックパラメタ未確認（下位ブロックを調査）
・下位ブロックなし
［７］カット・アンド・トライ評価と設計情報の保存
一般に、システムの検討時には、複数の実現手法で装置構成を検討する場合が多い。それぞれの装置構成や物理的な実現方法で見積もり評価を行い、各方法でのデータと見積もり評価結果を蓄積する。複数の評価結果を蓄積後、それらを比較検討するためのグラフ化などを行うＧＵＩにより、最適解を探す支援を行うようにする。複数の評価結果の中での最適解を見定めたら、その時点の設計情報を呼び出すことができ、さらにその設計情報から構成方法を変更したり、評価パラメタをチューニングすることにより最適な実現方法を絞り込んでいく。
【００７０】
本システムでは、設計情報に対して細かい版数管理を行い、見積もり評価処理部３により見積もり評価を行う都度、設計情報の版数を上げて複数のデータを持てるようにする。この設計情報の中に評価結果データも合わせて持つ構造とし、設計情報と評価結果とを合わせて管理する。
【００７１】
また、評価結果から設計情報をさらにアップデートする場合には、設計情報の版数が枝分かれしていくように管理する。このような版数管理の方法は従来からある技術であるが、設計情報と評価結果とを合わせて保持し、評価結果を比較検討できるところに特徴がある。
【００７２】
本システムで取り扱う設計情報は、設計の上流工程での設計データであるため、データ量は回路図などに比べるとはるかに少ないが、それでも設計情報全体を見積もり評価の度に保管するとデータ量が膨大になってしまう。
【００７３】
そこで、設計情報の全体を丸ごと保管するのではなく、設計情報は変更があったものだけ階層ブロック単位に版数を付けて保管する。そして、全体を管理するインデックス（どのブロックが何版であるかを管理するデータ）の版数を上げ、評価結果と共に設計情報記憶部７に保管する。見積もり評価結果のデータは、全体管理のデータベース（ＤＢ）に格納してもよく、また、別のＤＢやファイルに格納して、ポインタ情報のみ管理ＤＢ（この場合、設計情報記憶部７）に格納するようにしてもよい。
【００７４】
見積もり評価の実行タイミングは、そのシステム全体を構成する各ブロックの版数をチェックし、以前の評価時から変更があったブロックについて、版数を上げて保管する。そして、インデックスを作成し、見積もり評価データと共に保管する。各ブロックの版数は枝版数を持たず、単純にインクリメントされる。この管理方法により設計データの保管量の削減を図ることができる。
【００７５】
図１０は、評価データの蓄積と設計版数の関係を示す図である。図１０においては、見積もり評価データは別納して、ポインタ情報のみを設計情報記憶部７に格納する場合を例にしている。
【００７６】
図１０（Ａ）は、全体の版数２から枝分かれした版数２．１と、版数２．１におけるＢＬＫ−Ａ、ＢＬＫ−Ｂ、ＢＬＫ−Ｃそれぞれの版数の関係を示している。全体の版数２．１では、各ブロックの設計情報の版数は、ＢＬＫ−Ａが第２版、ＢＬＫ−Ｂが第２版、ＢＬＫ−Ｃが第４版となっている。
【００７７】
図１０（Ｂ）は、全体の版数管理のインデックスの例を示している。インデックスには、見積もり評価データへのポインタ情報と、各ブロックの版数情報とを格納する。
【００７８】
本システムは、一例としてワークステーションやパソコンなどのコンピュータのハードウェアおよびソフトウェアによって実現される。
図１１は、本発明を実施する場合の装置構成の例を示す。本システムを実現するプログラムや設計データは通常は磁気ディスク１０３に格納され、プログラムを実行する際にメモり１０２に読み込まれる。ＣＰＵ１０１は、メモリ１０２に読み込まれたプログラムの命令をフェッチし実行する。
【００７９】
ブロック図やパラメタ情報も編集中はメモリ１０２上に置かれ、ディスプレイ１０４への表示やキーボードその他の入力デバイス１０５からの入力による編集処理がプログラムにより行われる。設計データは、編集を終えると磁気ディスク１０３に格納される。また、見積もり評価を行った結果も磁気ディスク１０３に格納される。
【００８０】
外部Ｉ／Ｆ１０６は他のワークステーションやパソコンなどと接続する装置で、本発明には必須ではないが、複数のワークステーションやパソコンを使って設計作業を行う場合の連携に使用する。
【００８１】
次に、ＬＳＩの設計を例に本発明の処理の流れを説明する。
（１）概略ブロック図入力処理
ブロック図入力・編集部２により、概略のブロック図を入力する。
【００８２】
ブロック図の入力では、ライブラリを用いずに任意にシンボルやシグナルを作成することもできる。任意のタイプのシグナル（ライン）を入力してシンボルを接続するとピンができる。なお、ブロック情報記憶部６に記憶したシステムマクロ等の資産ライブラリも入力に使用することができる。Ｓｙｓｔｅｍ、ＢＷＢ、ＰＣＢ、ＬＳＩなどの物理階層を気にしないで入力できる。
【００８３】
図１２は、ブロック図の入力処理により入力された概略ブロック図の例を示す図である。
（２）パラメタの設定
ブロック図入力・編集部２により、図１２に示すブロック図上で見積もり評価のためのパラメタを入力・設定する。パラメタテンプレート保持部５に記憶されたテンプレート定義ファイル等から自動作成したパラメタ入力画面を表示する。ユーザは、その項目に基づいてパラメタを入力する。
【００８４】
図１３はパラメタ入力の例を示す図である。
ブロック図のシンボル＃２と＃６とを結ぶシグナルのシグナルパラメタ入力ウインドウ１１０は、パラメタテンプレート保持部５に記憶されたテンプレート定義ファイルから自動作成される画面である。また、シンボル＃６のモジュールパラメタ入力ウインドウ１１１も、同様にパラメタテンプレート保持部５に記憶されたテンプレート定義ファイルから自動作成される。シンボル＃３のマクロパラメタ入力ウインドウ１１２は、ライブラリブロック固有のパラメタの入力画面である。ライブラリ毎にテンプレートを持っている。
【００８５】
ユーザ（設計者）は、これらの入力ウインドウ１１０、１１１、１１２等からパラメタを入力・変更し、任意にパラメタを設定する。例えば、シンボル＃６の任意に作成した論理モジュールには、フリップフロップ（ＦＦ）数やＧａｔｅ数、動作周波数、動作率などの汎用パラメタを設定する。シンボル＃３のライブラリマクロに対しては、マクロ固有のパラメタ、実現方式や機能、Ｂｉｔなどを設定する。シンボル＃２−＃６間のシグナルには、インプリメント時の信号本数（高速、通常）や周波数などを設定する。ＲＯＭ、ＲＡＭには、Ｂｉｔ、Ｗｏｒｄ、Ｃｏｌｕｍｎなどを設定する。
【００８６】
図１４は、各ブロックに付与されたパラメタ情報の例を示している。上記の入力ウインドウから入力されたパラメタ情報は、例えばシステム内部では図１４に示すようなパラメタリストで管理される。
【００８７】
（３）見積もり評価の条件の設定
続いて、見積もり評価の条件を設定する。
図１５は、見積もりの評価条件の設定の例を示す。ブロック図入力・編集部２により、図１５に示すような見積もり評価条件設定ウインドウ１２０を、テンプレート定義ファイルから自動生成して表示する。このウインドウ１２０の入力画面から、インプリメントするテクノロジ（ＬＳＩシリーズ）やパッケージタイプ、スキャンタイプ、平均動作周波数、電源電圧等の設計条件を設定する。テクノロジ等を選択することで、そのテクノロジで指定可能なメニュー情報がパラメタテンプレート保持部５等から読み出され、メニューから選択する形で各種の条件を設定することができる。
【００８８】
図１６は、図１５に示すような評価条件設定ウインドウ１２０からの入力によって設定された見積もり評価条件の具体例を示している。
（４）見積もり評価処理の実行
設定された見積もり評価条件に基づき、見積もり評価処理部３は、見積もり評価を行う。ブロックが階層構造であれば、各ブロックの見積もり評価処理と下位の階層ブロックの評価結果を積算した全体の見積もり評価とを算出する。
【００８９】
さらに、カット・アンド・トライ等の物理分割の見積もり評価を行うことができる。図１７は、物理分割の見積もり評価結果を表示する画面の例を示す。
例えば、チップ分割の場合のように、物理的に分割する範囲を指定することで、その分割の範囲ごとに、ピン数、合計ＢＣ数、バルクに対する使用率、消費電力等の見積もり評価結果を確認することができる。図１７において点線および一点鎖線の枠は、分割の範囲を表している。他に、色を変えて表示するというようなこともできる。各分割の範囲ごとに、評価結果のレポートが表示される。
【００９０】
分割範囲の変更、見積もり評価の実行、見積もり評価結果の表示を繰り返すことで、カット・アンド・トライを容易に実行することができる。
（５）物理分割（階層構造の再構築）
見積もり評価処理部３により、カット・アンド・トライ等を行い、物理的な見積もり評価を行った後、物理階層への切り出し（例えばチップ分割）を行う。
【００９１】
図１８は、評価結果から物理階層を決め、ブロック図の階層を変更した例を示す。見積もり評価結果に基づき、図１８（Ａ）に示すような分割範囲で物理階層を定め、図１８（Ｂ）に示すようにブロック図の階層（レベルレイヤ）を変更することができる。このような物理階層への切り出しは、ブロック図入力・編集部２等が持つシステム記述エディタの階層組み替え機能を用いて容易に行うことができる。
【００９２】
（６）詳細設計
詳細設計では、各モジュールの中を、さらにブロック図による構造設計とＨＤＬにより動作・機能設計とによって詳細化していく。
【００９３】
図１９は、ＨＤＬ記述による詳細化の例を示す図である。図１９に示すように、詳細化によって、シンボルからＨＤＬ記述等への詳細情報へのリンクがなされる。このブロック図の構造記述部は、ＨＤＬネットリスト生成を行う。動作・機能設計を行うＨＤＬ記述については、ＢＬ、ＲＴＬを問わない。
【００９４】
図２０（Ａ）は、見積もり評価条件に基づく各ブロックの評価結果の出力例を示している。図２０（Ｂ）は、ＬＳＩ全体の評価結果の出力例を示している。もちろんこれらは一例であり、任意の形式で評価結果を出力することは、以上の説明から容易に実施することができる。
【００９５】
＜本システムによるエディタ機能＞
図２１に、本発明のシステムをより発展させたエディタの内部構成を示す。
そして、本エディタは、環境設定ファイル、ライブラリ、データベース、プロパティ・テンプレート等からデータを引き出し編集するとともに、環境設定ファイルやデータベースにはデータを登録できるようになっている。そして、本エディタから評価ツールや、他ツールとして他のアプリケーションを起動しこれらをＸウインドウやウインドウズなどのＯＳ等で本エディタとともに連携して処理することができる。なお、本実施例ではＸウィンドウ環境下のもとで、エディタ等のアプリケーションとＸウインドウとの間の画像処理系ＡＰＩとしてＧＡＬＡＸＹ
ＡＰＩ（米国ＶＩＳＩＸ社製）を用いることを想定して説明している。
【００９６】
以下、図２１に示す構成を順次説明する。
（１）  環境設定ファイル
エディタの編集・表示機能など各種のモード設定、画面の配色、画面サイズなど動作、編集環境などユーザーが設定可能な項目値を定義したファイルである。
【００９７】
（２）  環境Ｌｏａｄ／Ｓａｖｅ手段
上記、環境設定ファイルをメモリテーブルに展開（Ｌｏａｄ）する機能と、
環境設定処理部により変更されたメモリテーブルをファイルに書き出す（Ｓａｖｅ）機能を持つ手段である。
【００９８】
（３）  環境設定Ｔａｂｌｅ
前述の環境設定ファイルをメモリ上に展開したテーブル（Ｃ＋＋のクラス定義）  であり、各種の編集処理、画面表示処理に於いて、本テーブルを参照し、設定された動作を行う。また、後述の環境設定処理部によって設定内容の変更を行うことができる。
【００９９】
（４）  環境設定処理部
エディタの編集・表示機能強ど各種のモード設定、画面の配色、画面サイズなどをユーザーが設定するためのＧＵＩ部である。
【０１００】
ノートブックタイプ・のメニューを使い、カテゴリ毎にページ（タブ）を分ける。
設定ウィンドウを開き、設定項目毎にボタン、選択メニュー、文字列表示・入力などが行え、変更された内容を環境設定テーブルに反映する。
【０１０１】
（５）ライブラリ（Ｌｉｂｒａｒｙ）／データベース（Ｄａｔａｂａｓｅ）
本システムではライブラリ、データベースの構造を同一としており、運用時のディレクトリで切り分けることとする。
【０１０２】
ライブラリには既設計資産、マクロ、セルなど各レベルのモジュール（Ｍｏｄｕｌｅ）が含まれ、データベースはそれらを組み合わせた、あるいは新規モジュールによるブロック図データが格納される。
【０１０３】
従来の機能図、回路図にあるページの概念はなく、１階層（モジュール）単位に扱う。
データベースの形式はＵＮＩＸのファイルシステムそのもので、モジュール毎にファイルを分ける。細かくは、モジュール外皮と、中身であるブロック図本体のファイルに別れている。モジュール外皮とは、自己シンボル、ポート（ｐｏｒｔ）情報、プロパティ（ｐｒｏｐｅｒｔｙ）、テンプレート（ｔｅｍｐｌａｔｅ）などの情報を格納するテーブルである。モジュールは既存設計資産、マクロ、セルなどの各レベルの情報であり、自己シンボル形状、ポート情報、プロパティ情報、テンプレート情報を持つ。
【０１０４】
ファイルの中身はＡＳＣＩＩファイルであり、シーケンシャル・アクセスしてメモリ上に読み込んで編集操作を行う。
（６）ライブラリ／データベース展開（Ｌｉｂｒａｒｙ／ＤＢ  Ｌｏａｄ）
前述のライブラリ、データベースをメモリテーブルに展開する処理を行う部分で、モジュール外皮とブロック図本体の展開部から構成される。
【０１０５】
モジュール外皮はデータテーブル（Ｄａｔａ  Ｔａｂｌｅ（モジュール））に展開され、ブロック図本体はデータテーブル（Ｄａｔａ  Ｔａｂｌｅ（ブロック図））上に展開される。
【０１０６】
各ファイルはシーケンシャル・アクセスするが、必要な部分だけを高速に読み出すために部分的に展開する機能をもつ。指示されなかった部分は読み飛ばし、メモリテーブルに展開しない。
【０１０７】
これによりファイルのアクセス時間そのものは短縮されないが、ＡＳＣＩＩファイルを解析し展開する時間を省くことができる。
読み込み時には”ｒｅａｄ”モード（参照だけ行う）、”Ｗｒｉｔｅモード（編集を行い、書き込むことが前提の読み出し）を指定でき、同一モジュールに対しての排他・共有制御機能を持つ。
（７）  データベース保存（ＤＢ  Ｓａｖｅ）
メモリテーブル上で編集されたブロック図データ、モジュールデータをデータベースに書き込む処理を行う。Ｌｉｂｒｒｙ／ＤＢ  Ｌｏａｄで述べた排他制御を行う。
（８）データテーブル（Ｄａｔａ  Ｔａｂｌｅ（ブロック図））
ブロック図を構成するシンボルやラインなどの要素を格納するテーブルで、本テーブル上でブロック図の編集処理を行う。
【０１０８】
既存データの場合、ＤＢ  Ｌｏａｄ処理によりデータベースから本テーブルが作成される。新規設計データの場合には編集機能により本テーブルにシンボルやラインが追加、削除などが行われ、ブロック図データが構築されていく。
（９）データテーブル（Ｄａｔａ  Ｔａｂｌｅ（モジュール））
編集中のブロック図に対応するモジュール外皮情報であり、自己シンボル、ポート（ｐｏｒｔ）情報、プロパティ（ｐｒｏｐｅｒｔｙ）、テンプレート（ｔｅｍｐｌａｔｅ）などの情報を格納するテーブルで、本テーブル上でモジュールの編集処理を行う。
【０１０９】
既存モジュールの場合、ＤＢ  Ｌｏａｄ処理によって本テーブルが作成され、新規の場合にはモジュールの編集処理によって作成される。
ライブラリ引用時のライブラリシンボル形状は本テーブルではなく、ＤａｔａＴａｂｌｅ（ブロック図）の方に格納される。本テーブルは設計データであるモジュールの情報のみ扱う。
（１０）プロパティ  テンプレート（Ｐｒｏｐｅｒｔｙ  Ｔｅｍｐｌａｔｅ）ファイル
ブロックシンボルやインタフェース（接続定義）に付与可能なパラメタ（プロパティ：Ｐｒｏｐｅｒｔｙ情報）を外部定義したファイルである。これにより、プログラムの変更が最小限でプロパティ入力用のパネルを作成可能である。これはライブラリブロックにも定義可能で、同一の記述方法をとる。この場合、  ＡＣＣＩＩファイル形式で一般のテキストエディタを使用して定義する。
（１１）テンプレート展開（Ｔｅｍｐｌａｔｅ  Ｌｏａｄ）処理
前述のＰｒｏｐｅｒｔｙ  Ｔｅｍｐｌａｔｅのファイルを読み込んでメモリ上のテーブルに展開する処理である。
（１２）テンプレート  テーブル（Ｔｅｍｐｌａｔｅ  Ｔａｂｌｅ）
ブロックシンボルやインタフェースに対する汎用的なプロパティ情報のテンプレートとなるメモリ上のテーブルであり、ここの情報を元にＧＵＩのダイアログボックスを生成し、ユーザーにパラメタ値の設定を促す。
（１３）ブロック図表示処理
データテーブル（Ｄａｔａ  Ｔａｂｌｅ）に格納されているシンボル、ラインなどの要素を編集ウィンドウに表示（消去を含む）する処理を行う。
【０１１０】
表示に当たっては、ズーム、パン、画面サイズ変更などを処理し、画面の表示範囲内のみを表示するクリッピング処理を行う。
表示する項目（ブロック名称、固有名、信号名、プロパティ値など）について表示／非表示の制御を行える。
（１４）基本描画機能
ブロック図や階層シンボルを編集画面に表示（消去を含む）するための基本的な図形描画ルーチンであり、直線、連続線、円、円弧、矩形、文字などの描画、消去を行う。
【０１１１】
表示図形の重なりについては、重なった部分の色が変わり、一方の図形を消去した場合には他方の図形（の色）が元に戻る。
図形のドラッグやラバーバンド機能、マウスポインタ図形の変更についても取り扱う。
（１５）ブロック図編集機能
シンボルや信号線などブロック図を構成する要素の追加、削除、移動、複写などの編集機能であり、エディタのメインとなる部分である。
【０１１２】
範囲を指定しての削除、移動、複写や、信号線が追従するシンボル移動など機能は多い。また、下位階層の上位階層への展開機能や、その逆の１階層下のモジュール生成などが可能である。
【０１１３】
エントリのスタイルを固定せず、ユーザーフレンドリで自由なオペレーションでブロック図を描ける。
（１６）ブロック／シンボル（Ｂｌｏｃｋ／Ｓｙｍｂｏｌ）編集コマンド処理編集画面上で行われるマウスアクショシを取り出し、各種の編集磯能に振り分ける処理を行う。
（１７）モジュール編集機能
モジュールのシンボル（階層シンボル）情報、プロパティテンプレート、計算式ルールなどを編集する機能である。
【０１１４】
ブロック図やＶＨＤＬ言語記述が存在する場合にはポート（ｐｏｒｔ）情報からシンボルを自動生成する機能を備える。
（１８）Ｐｒｏｐｅｒｔｙ設定パネル生成、設定
ブロックシンボル、モジュール、ライン、インタフェースに設定するプロパティ情報の入力用ダイアログボックスをダイナミックに生成する機能であり、設定された内容をデータテーブルに格納する機能を備える。
【０１１５】
プロパティは複数の要素に対して与えられるが、全てこの共通機能を使用して設定する。
（１９）フレーム、メニュー、ボタン（Ｆｒａｍｅ，Ｍｅｎｕ，Ｂｕｔｔｏｎ）作成
エディタ全体のＧＵＩフレームとなるＦｒａｍｅ，Ｍｅｎｕ，Ｂｕｔｔｏｎなど各種のウィジェット、コールバックルーチンなどを定義する部分である。
【０１１６】
この部分はＧＵＩビルダーや市販のウィジェットキットが有効に活用できる。
（２０）他ツール起動
他のアプリケーションツールの起動、パラメタなどを渡す処理を行う。
【０１１７】
これは、ブロック図中のシンボルの中身がＶＨＤＬの場合や、他のツールで作られている場合にテキスト編集ツールや他のアプリケーションを起動して、その編集や参照が行えるようにするためである。
（２１）評価ツール連携
物理分割などの支援を行う評価ツールとの連携を行う部分である。
【０１１８】
設計データの受け渡し（当初はＤＢインタフェース）や分割範囲などの情報の受け渡しや評価ツールの起動、評価結果の画面へのフィードバック処理を行う。
画面へのフイードバックとしては、ブロック図中のシンボルへのゲート規模や電力表示、色の変化、リスト表示、グラフ化などがある。
以上が、図２１の各構成の機能であるが、次に、この図２１に示した構成によりブロック図を作成する場合の特徴を説明する。
【０１１９】
本発明の特徴は、個々のブロックとブロック間を接続する線  （以下、インタフェースと呼ぶ）を同レベルで扱い、共に階層的な表現ができるようにしている点である。
【０１２０】
従来のブロック図や回路図の入力では、ブロックが機能を表現し、接続するラインは単なるワイヤーであった。本発明のブロック図ではラインが単純なワイヤーではなく機能を持たせるとことができるようにする。さらに、ラインへの物理的なパラメタも付与可能としている（図２２参照）。
【０１２１】
具体的にラインの機能とは、プロトコルそのものであったり、プロトコルを実現する機能などである。物理的なパラメタとはそのプロトコルを実現した場合の実際のワイヤー本数や機能を具体化するための回路規模、また信号のトグル周波数であったりする。
以上のように設計情報を属性プロパティとして管理する。ブロックには階層設計の下位ブロックや他の環境で設計した設計データ、ドキュメントデータなどへのリンク、見積もり評価用のパラメタを持ち、インタフェースにも同様に設計データへのリンク情報、評価パラメタなどを持つ。
【０１２２】
図２２は、図２とほぼ同様であるが、ドキュメント情報をプロパティとしてリンクしている点が、図２と異なる。
機能ブロック、インタフェースそれぞれ抽象レベルの異なる設計情報を抽象レベルレイヤー（アーキテクチャ）と云う概念で複数持つことができる構造とする。これは図３に示すように、ブロック図で表現した機能ブロック、インタフェースのシンボルに対して抽象的な記述から具体的な詳細記述まで複数レベルの設計情報にリンク可能な構造である。
【０１２３】
これにより抽象度の高いしベルから設計をはじめ、段階的に詳細化する設計手法がとれるようになる。
以上を管理し、設計情報を保持するために、図４に示すようなデータ構造を持つ。図中、プロパティの箱が設計情報へのリンクや、見積もり評価用のパラメタなど複数のパラメタを保持し、設計データ全体のリンク構造を形作っている。
【０１２４】
ここでモジュールとは階層設計する際などの設計データの管理単位であり、ブロックの外部仕様となる情報を持つ。実際の中身はインタフェース設計情報や機能ブロック設計情報、あるいは詳細なブロック図である。
＜設計データのリンクの方式・手順＞
（１）図２３に設計データのリンク方式を示す
▲１▼まず、設計データをリンクしたいオブジェクト（シンボル・ライン等）をクリックする。
▲２▼すると、属性設定パネルが表示されるので新規の場合はアーキテクチャ名を入れてリターンキーを押す。
▲３▼次いで、新しいＴＡＢが作成されて新規パネルが表示される。その場合はそのパネルにリンクするデータ名を入力または選択する。
▲４▼既存の場合はリンクしたいＴＡＢを選択してパネルを全面に表示させそのパネルにリンクするデータ名を入力または選択する。
＜外部プロパティとテンプレート＞
評価用のパラメタ入力は、設計者への情報入力を促すために、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）によるパラメタ入力フィールドを設けている。本システムでは評価情報の変更にフレキシブルに対応するために入力の雛形（テンプレート）を外部の定義ファイルに持つ構造とする。
【０１２５】
システム起動の際にテンプレートファイルを読み込み、定義してある情報を解析し、定義されているパラメタの入力用のＧＵＩウインドウを動的に作成する。これにより、ユーザーである設計者がブロックやインタフェースにパラメタを設定しようとした際に、入力が必要なパラメタの入力を促す。パラメタの雛形には必須項目、任意項目の区分を付けることにより、必要な情報を漏れなく設定させることができ、設計者個人による見積もり情報のバラツキを押さえることができる。
【０１２６】
このテンプレートのファイルを設計対象の種類別などで用意することにより、装置に応じた見積もりパラメタを漏れなく入力することが可能になる。
以下に外部テンプレートの構成を示す。
（１）設計データと外部テンプレートの関係
図２４に設計データと外部テンプレートの関係を示す。
【０１２７】
本システムが起動すると同時に外部テンプレートファイルが読み込まれ、各設計データが設計者に指定されると同時に対応する情報がパネルに表示される。（２）処理フロー
図２５に処理フローを示す。
【０１２８】
ここで、まずシステムを起動する（ステップ１０１）。次いで、外部プロパティテンプレートファイルからファイル読み込みをする（ステップ１０２）。その後、プロパティファイルの解析を行い（ステップ１０３）、画面レイアウトを作成した後（ステップ１０４）、プロパティ設定用パネルを出力する（ステップ１０５）。
（３）外部テンプレート（定義例）
図２６に定義例を示す。
（４）外部テンプレート（画面例）
図２７に出力画面例を示す。
＜シンボル編集機能＞
次いで、ライブラリレスシンボルの編集機能を説明する。
【０１２９】
従来エントリでは図２８で示すようにシンボルを入力する前に、入力するシンボルを作成することが必要であった。
本システムでは、図２９〜図３１に示したように、ブロック図編集において任意の大きさのシンボルを作成し、そのシンボルに対してライン（線）を任意の場所へ繋ぐだけで自動的にＰＯＲＴを作成する。
【０１３０】
以下に入力の手順を示す。
▲１▼ツールバー又はメニューからシンボル作成機能を選び、テンプレートメニュー（矩形、台形、ＡＬＵタイプなど）を表示。このウィンドウはクローズするまで表示される。
▲２▼テンプレートメニューから所望の形状をクリックして選ぶ。
▲３▼配置したい位置にマウスポインタを置き、クリック（押すだけ）し、対角線方向にドラッグするとシンボル形状のドラッグが伸びていく。
▲４▼マウスボタンを離すとサイズが確定し、シンボル形状ができる。
【０１３１】
対角線のドラッグ方向は左下→右上、右上→左下、右下→左上、左上→右下のいづれでもよい。
（１）シンボル入力フローを図３０に示す。
（２）さらに、ラインの入力方法について図３１に示す。
【０１３２】
▲１▼ツールバー又はメニューからライン入力機能を選ぶ。
▲２▼始点をクリック（押すだけ）するとラバーバンドが始まる。
▲３▼終点位置にマウスポインタを移動し、マウスを離すと、入力完了。
【０１３３】
▲４▼続いてクリックする際に折れ曲がり点ができる。
▲５▼矢印の大きさ長さ、線の太さ、種類、色等はメニューで変更可能である。
▲６▼ラインは自由な角度で入力できる。デフォルトでは水平、垂直のみとする。
【０１３４】
Ｓｈｉｆｔキーを押下げしながら入力すると自由な角度で描画可能である。
＜階層間インターフェイス＞
次に、階層間インタフェースを図３２に基づいて説明する。
【０１３５】
シンボルの階層情報定義及び接続するシグナルと下位階層のｐｏｒｔの接続方式は以下のような機能を持つ。
シンボルと階層情報のリンクはシンボル属性定義パネルで行う。このパネルではアーキテクチャ別に複数の情報を一つのシンボルにすることができる。
【０１３６】
更にそのシンボルに関連するドキュメントデータのリンクも定義できる。
シンボルのｐｏｒｔと下位階層のシグナル結合はシンボルＰｏｒｔコネクトパネルで行う。コネクトした下位シグナルの属性は全て上位のＰｏｒｔの属性に複写される。
このため、下位の階層で設計したブロックの内容はそのまま、上位の階層へと反映され、上位の階層で設計したブロックの内容はそのまま下位の階層に反映される。
＜階層シンボル自動作成＞
階層シンボル自動作成機能を図３３に従い説明する。
【０１３７】
ＶＨＤＬのｅｎｔｉｔｙ記述、またはモジュールに対応付けられたブロック図のｐｏｒｔ情報から、シンボルを自動作成する機能である。ファイル一覧からブロック図または階層シンボル編集ウィンドウにドラッグ＆ドロップすることによって生成可能である。
【０１３８】
以下に機能を示す。
シンボルの左右に配置するピン数に合わせて形状の縦方向サイズを決める。
ｐｏｒｔ名、ｉ／ｏ種別、信号の型、Ｖｅｃｔｏｒのレンジ、ｐｏｒｔの並び順を情報とする。
シンボル形状のタイプ、幅、ｉ／ｏピンの位置、ピンの並び方などは、オプションのダイアログボックスから選択可能とする。項目は以下の通りである。
【０１３９】
シンボル形状タイプ
・矩形、台形等
・形状の幅（段階的な選択で可）
ピンの配置
・ｉｎｐｕｔ，ｏｕｔｐｕｔ，ｉｎｏｕｔそれぞれ左右どちらに配置するか
ピンの並び順
・ｐｏｒｔ名の昇順、降順、ｅｎｔｉｔｙに記述されていた順又はブロック図の配置順
（１）以下に構成と手順を示す。
【０１４０】
（１）図３３のように、シンボル形状のタイプ、幅、ｉ／ｏピンの配置、ピンの並び等をオプションパネルで設定しておく。
（２）ファイル一覧から変換したいファイル名を選択または、マウスでドラッグしてシンボル編集ウィンドウまで移動する、シンボル編集ウィンドウでマウスを離すと（１）で登録しておいた方式にしたがってシンボルの形状作成が開始される。
【０１４１】
図３４に構成と手順を示す。
（合成処理）
▲１▼ブロック図上で合成したいシンボルを選択する（マウスで範囲指定、またはマウスクリックによる選択）。
【０１４２】
▲２▼選択したシンボル群で新たな階層シンボルを作成する。
▲３▼ｐｏｒｔ情報生成。
▲４▼下位シンボル生成。
【０１４３】
（展開処理）
▲１▼展開したいシンボルを選択する（複数化）。
▲２▼展開機能を起動する。
【０１４４】
▲３▼下位階層をロードして上位にブロック図に展開する。
シンボル（図形情報）を生成。
【０１４５】
（展開処理）
展開はこの逆で、下位の階層の内容を上位階層に展開する。その際にはシグナル名、ｉｎｓｔａｎｃｅ名の重複などに注意する。
【０１４６】
シンボルへのプロパテイの指定は形状確定の直後に設定するか、あとで設定するか切り替えられる。
シンボルの領域がシグナルの端点と接する場合にはｐｏｒｔの生成を行う。
次に、図３５に本ＣＡＤシステムをワークステーションやパソコンなどのコンピュータ上のソフトウェアとして実現したときの構成を示す。また、ハードウェアで実現しても構わない。
【０１４７】
図３５で、システムを実現するプログラムや設計データは通常はディスクに格納され、プログラムを実行する際にメモリに読み込まれＣＰＵを動作させる。ブロック図やパラメタ情報も編集中はメモリ上に置かれ、ディスプレイへの表示やキーボード等から入力された編集処理がプログラムにより行われる。設計データは編集を終えるとディスクに格納される。また、見積もり評価を行なった結果もディスクに格納される。
【０１４８】
外部Ｉ／Ｆは他のワークステーションやパソコンなどと接続する装置で、本発明には必須ではないが、複数のワークステーションやパソコンを使って設計作業を行なう場合の連携に使用する。
【０１４９】
【発明の効果】
以上説明したように、本発明によれば、装置設計の上流工程、すなわち設計の早期段階での高精度で実現性のある見積もりを行うことによって、最適アーキテクチャや装置構成の実現を図ることができる。
【０１５０】
また、設計や見積もりのノウハウをライブラリとして蓄積でき、さらに見積もり精度を高めていくことができる。
さらに、アーキテクチャ検討段階でエントリした設計情報は、下流工程へ継承することが可能となり、下流工程での再エントリ工数や設計ミスを削減することが可能となる。
【図面の簡単な説明】
【図１】本発明のブロック構成例を示す図である。
【図２】エントリ設計モデルの考え方の説明図である。
【図３】設計情報のレベルレイヤの例を示す図である。
【図４】設計情報のデータ構造の例を示す図である。
【図５】ブロック情報の例を示す図である。
【図６】見積もり評価ルールの例を示す図である。
【図７】見積もり評価の処理の説明図である。
【図８】階層設計とパラメタ精度の関係を説明する図である。
【図９】パラメタ値検出の処理を説明する図である。
【図１０】見積もり評価データの蓄積と設計版数の関係を説明する図である。
【図１１】本発明の装置構成の例を示す図である。
【図１２】概略ブロック図の例を示す図である。
【図１３】パラメタ入力の例を示す図である。
【図１４】各ブロックに付与されたパラメタ情報の例を示す図である。
【図１５】見積もり評価条件の設定の例を示す図である。
【図１６】見積もり評価条件の具体例を示す図である。
【図１７】物理分割の見積もり評価結果の例を示す図である。
【図１８】物理階層への切り出しの例を示す図である。
【図１９】ＨＤＬによる詳細化の例を示す図である。
【図２０】見積もり評価結果の具体例を示す図である。
【図２１】エディタ内部構成を示す図である。
【図２２】エントリ設計モデルの考え方を示す図である。
【図２３】設計データのリンク方式を示す図である。
【図２４】設計データと外部テンプレートの関係を示す図である。
【図２５】プロパティ設定の手順を示すフローチャート図である。
【図２６】外部テンプレート定義例を示す図である。
【図２７】画面例を示す図である。
【図２８】従来型エントリを示す図である。
【図２９】本発明のシステムにおけるエントリを示す図である。
【図３０】シンボル入力フローを示す図である。
【図３１】ライン入力を示す図である。
【図３２】階層間インターフェイスを示す図である。
【図３３】階層シンボル自動生成を示す図である。
【図３４】階層展開・合成を示す図である。
【図３５】ソフトウェアで実施した場合の装置構成図を示す図である。
【図３６】ブロック図の例を示す図である。
【符号の説明】
１  処理装置（ＣＰＵ／メモリ）
２  ブロック図入力・編集部
２１  ブロック図面編集部
２２  パラメタ設定部
２３  属性プロパティ管理部
３  見積もり評価処理部
３１  ブロックルール演算部
３２  全体見積もり演算部
４  ユーザインタフェース部
５  パラメタテンプレート保持部
６  ブロック情報記憶部
７  設計情報記憶部
８  下流工程処理システムとのインタフェース部
【図１】
0003571526.tif 000002
【図２】
0003571526.tif 000003
【図３】
0003571526.tif 000004
【図４】
0003571526.tif 000005
【図５】
0003571526.tif 000006
【図６】
0003571526.tif 000007
【図７】
0003571526.tif 000008
【図８】
0003571526.tif 000009
【図９】
0003571526.tif 000010
【図１０】
0003571526.tif 000011
【図１１】
0003571526.tif 000012
【図１２】
0003571526.tif 000013
【図１３】
0003571526.tif 000014
【図１４】
0003571526.tif 000015
【図１５】
0003571526.tif 000016
【図１６】
0003571526.tif 000017
【図１７】
0003571526.tif 000018
【図１８】
0003571526.tif 000019
【図１９】
0003571526.tif 000020
【図２０】
0003571526.tif 000021
【図２１】
0003571526.tif 000022
【図２２】
0003571526.tif 000023
【図２３】
0003571526.tif 000024
【図２４】
0003571526.tif 000025
【図２５】
0003571526.tif 000026
【図２６】
0003571526.tif 000027
【図２７】
0003571526.tif 000028
【図２８】
0003571526.tif 000029
【図２９】
0003571526.tif 000030
【図３０】
0003571526.tif 000031
【図３１】
0003571526.tif 000032
【図３２】
0003571526.tif 000033
【図３３】
0003571526.tif 000034
【図３４】
0003571526.tif 000035
【図３５】
0003571526.tif 000036
【図３６】
0003571526.tif 000037