(57)【要約】【課題】システム回路設計に当たり、ＬＳＩやＰＣＢのタイミング配分に関し、上流工程においてフロアプランを考慮したタイミング配分及びタイミング検証により、下流工程の手戻りを削減するとともに、設計期間を短縮化及び高品質化できるようにする。【解決手段】複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベース５７ａ〜５７ｅから回路の機能に関するブロック情報を入力され、回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部５４ａ〜５４ｅと、複数のタイミング配分作成部５４ａ〜５４ｅのそれぞれの間の接続を動的に変更するとともに、複数のタイミング配分作成部５４ａ〜５４ｅのそれぞれの間とタイミング配分値に関する修正情報を送受信する階層間連携マネージャ５３とをそなえて構成する。【選択図】図２０
2007188517.tif 000002
【特許請求の範囲】
【請求項１】
階層設計において、
複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され、該回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部と、
該複数のタイミング配分作成部のそれぞれの間の接続を動的に変更するとともに、該複数のタイミング配分作成部のそれぞれの間と該タイミング配分値に関する修正情報を送受信する階層間連携マネージャとをそなえて構成されていることを特徴とする、タイミング配分装置。
【請求項２】
該タイミング配分作成部が、該複数の設計階層のそれぞれに対応して設けられ設計情報を有する階層エンティティと該設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、
該階層間連携マネージャが、該エージェントとしての該タイミング配分作成部に接続され該複数の設計階層のそれぞれと該タイミング配分値に関する情報を送受信するマネージャとして構成されたことを特徴とする、請求項１記載のタイミング配分装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば大規模回路設計に用いて好適な、タイミング配分装置に関する。
【背景技術】
【０００２】
一般に、半導体チップの回路（以下、半導体回路と称する）や、半導体やプリント版等の電子機器全体又は電子機器を構成する要素もしくはサブシステム（以下、システム回路と称する）の設計においては、設計者（ユーザ）は、回路全体を２以上の単位に分割し、個々の単位を独立して設計する分割設計と呼ばれる手法を用いている。
この単位とは、所定の回路機能を有するものを意味し、回路モジュール又はモジュールと称される。以下の説明において、処理される前の単位と処理された後の単位とを区別するために、処理される前の単位を、処理すべき単位又は設計対象となる単位と称する。さらに、処理された後の単位を、処理された単位又は処理済みの単位と称する。
【０００３】
また、一つの単位が、他の独立して設計された単位を内包（含む）する状態で設計する手法は、階層設計と呼ばれる。この階層設計は、内包される単位が下位であり、内包する単位が上位であって、階層性を有する。そして、分割設計された部分回路は、全体回路を最上位階層として、最終的に一つの単位に集約される。以下の説明では、階層設計という言葉を用いて、分割設計一般を指すものとする。
【０００４】
図４３は階層設計の概念図である。この図４３に示す半導体回路（以下、チップと称することがある）１００は、最上位階層の回路であって、回路モジュール（以下、モジュールと称することがある）１００ｘ，１００ｙを内包する。また、モジュール１００ｘはモジュール１０１ｘ，１０２ｘを内包し、モジュール１００ｙはモジュール１０１ｙ，１０２ｙを内包している。さらに、モジュール１０１ｘ，１０１ｙはそれぞれモジュール１０３ｘ，１０３ｙを内包し、モジュール１０２ｘ，１０２ｙはそれぞれモジュール１０４ｘ，１０４ｙを内包している。これにより、設計者は、各モジュールをそれぞれ個別に設計することができ、設計効率が向上する。
【０００５】
また、回路の規模は年々増加しているため、回路設計装置（以下、設計装置と称することがある）は、より大規模なデータを処理できる能力を求められている。
そして、階層設計によらず、半導体回路全体を一括して設計することは、一括設計と呼ばれている。この一括設計は、設計装置の主にハードウェア能力の理由により、ある規模以上の回路については行なわれておらず、階層設計が一般的に行なわれている。
【０００６】
すなわち、作業用メモリは、その容量について制約があり、また、処理時間の制約がある。設計装置は、回路変更等による処理のため、作業用メモリ等を大量に使用する。この回路変更等の処理について、図４４〜図４６を用いて説明する。
図４４は半導体回路設計装置のブロック図である。この図４４に示す設計装置５００は、半導体回路を設計するものであって、自動設計処理部２００と回路情報データベース３００とをそなえて構成されている。この回路情報データベース３００は、回路要素（例えばフリップフロップやレジスタ等）の情報を保持するものである。さらに、自動設計処理部２００は、回路設計を実行するものであって、ＨＤＬ（Hardware Description Language）変換処理部２００ａと、固有化処理部２００ｂと、テスト回路生成処理部２００ｃと、負荷調整処理部２００ｄと、ＨＤＬ出力処理部２００ｅとをそなえて構成されている。
【０００７】
ここで、ＨＤＬ変換処理部２００ａは、ＨＤＬソースコード（以下、ソースコードと略称することがある）をＨＤＬ変換して、処理すべき単位を回路情報データベース３００に保持するものであり、固有化処理部２００ｂは設計者の回路変更により生じる別モジュールの名称を重複しないように割り当てるものである。
そして、テスト回路生成処理部２００ｃは、テスト回路を生成するものであり、階層名，追加端子又は追加ゲートの名称，モジュール間の接続順序等の情報を生成する。さらに、負荷調整処理部２００ｄは、モジュールの負荷を調整するものであり、階層名，入力端子負荷，出力端子の駆動能力等の情報を生成する。加えて、ＨＤＬ出力処理部２００ｅは、これらの処理が行なわれた後にその処理結果をソースコードに反映するものである。
【０００８】
大規模な回路設計において、同一機能の回路が複数必要な場合には、一般に、複数参照と呼ばれる手法が用いられている。この複数参照とは、必要な機能を有するモジュールを一つの処理すべき単位として設計し、そして、上位階層が、その処理すべき単位を複数回参照する手法である。これにより、設計者は、モジュールの繰り返し配置を省略でき、同一モジュールに関する情報を作業用メモリにロードでき、繰り返して計算する冗長性を防止できる。なお、この複数参照に対して、一度しか参照されない単位は単一参照と呼ばれる。次に、固有化について、図４５（ａ），（ｂ）を用いて説明する。
【０００９】
図４５（ａ），（ｂ）はそれぞれ固有化処理を説明するための図である。この図４５（ａ）に示すチップ１５０ａは、固有化前の回路であって、同一のモジュール１５１を２個有し、このモジュール１５１は、モジュール１５１ａ（Ａと付されたもの）を有する。そして、このモジュール１５１ａの情報は、回路情報データベース３００の中に、データイメージ１５４ａ（Ａと付されたもの）として書き込まれている。
【００１０】
一方、図４５（ｂ）に示すチップ１５０ｂは、固有化後の回路であって、モジュール１５１と、モジュール１５２とを有する。ここで、モジュール１５２はモジュール１５１が固有化されて得られたものであって、さらに、内包するモジュール回路から複製されたモジュール１５２ａ（Ａ′と付されたもの）を有する。そして、これらのモジュール１５１ａ，１５２ａの情報は、それぞれ、回路情報データベース３００の中に、データイメージ１５４ｂ（Ａ−０と付されたもの），１５４ｃ（Ａ−１と付されたもの）として書き込まれている。
【００１１】
ここで、図４５（ａ）に示すチップ１５０ａは、設計工程（以後、工程と称することがある）のある期間において複数参照されている単位（例えばモジュール１５１）を有する。固有化処理とは、設計者が、複数参照されている状態をその後の工程において、図４５（ｂ）に示すように、単一参照可能な状態に変更するために必要な処理を意味する。
具体的には、設計者が、その単位（モジュール１５１）が参照された回数分だけ複製し、かつ、その単位の名称を変更して単一参照されている単位へモジュールを移行するように処理するのである。例えば、図４５（ｂ）に示す場合では、１個だけ複製されている。これにより、複製と同時に、元のモジュール１５１ａと、複製されたモジュール１５２ａとに、それぞれ、固有名Ａ−０とＡ−１とが割り当てられ、設計者は区別できるのである。
【００１２】
さらに、図４４において、固有化処理部２００ｂにて各工程における変更が、回路情報データベース３００に書き込まれて、固有化処理が完了する。この後、テスト回路生成処理部２００ｃと負荷調整処理部２００ｄとにおいて、それぞれ、固有化処理にて変更された内容が、回路情報データベース３００から読み出され、テスト回路が生成され、また、負荷調整されるのである。
【００１３】
また、階層設計又は一括設計とは別の手法として、ＥＣＯ（Engineering Change Order）設計がよく用いられている。このＥＣＯ設計とは、処理すべき単位の一部のみを変更し、回路のその他の部分については無変更のまま再設計する手法であり、ＥＣＯ設計は、階層設計を適用するようにもできる。
このＥＣＯ設計が使用される理由は、主に、半導体回路の部分のみについての再設計が、全体回路の再設計よりも処理時間が短縮されるからである。
【００１４】
図４６（ａ）〜（ｃ）はそれぞれＥＣＯ設計を説明するための図である。この図４６（ａ）に示すチップ２５０ａは、一旦、設計が完了したもの（以下、通常設計と称することがある）であり、これからＥＣＯ設計する前におけるものである。ここで、モジュール２５２ａ（Ｃと付されたもの）は、モジュール２５１ａの回路要素である。すなわち、モジュール２５１ａと、モジュール２５２ａとは、ともに、テスト回路やクロック回路が追加されたモジュールであって、設計装置によって自動的に生成されたものである。さらに、モジュール２５２ａは、回路情報データベース３００にデータイメージ２６０ａ（Ｃと付されたもの）として書き込まれている。
【００１５】
また、図４６（ｂ）に示すチップ２５０ａは、ＥＣＯ設計を開始するときのものである。この図４６（ｂ）に示すチップ２５０ａは、図４６（ａ）に示すチップ２５０ａ中のモジュール２５２ａが、テスト回路を追加されていない状態で回路変更されたものである。すなわち、モジュール２５２ａが変更されたものがモジュール２５２ｂ（Ｃ′と付されたもの）に置き換えられ、そのイメージが表示されている。さらに、変更された後のモジュール２５２ｂは、回路情報データベース３００にデータイメージ２６０ｂ（Ｃ′と付されたもの）として書き込まれている。
【００１６】
また、図４６（ｃ）に示すチップ２５０ａは、ＥＣＯ設計終了時のものであり、モジュール２５２ｂが変更されるほか、テスト回路が追加され、モジュール２５２ｃ（Ｃ″と付されたもの）に置き換えられたものである。
このとき、モジュール２５２ｂの回路は、モジュール２５２ａのテスト回路を追加する前の回路と同一回路と、変更を追加した回路とを有する。設計者は、モジュール２５２ｂについて、再度、テスト回路を生成するときに、変更された部分以外の部分については、モジュール２５２ａの回路と同一になるように設計する。ここで、先に設計されたモジュール２５２ａと、ＥＣＯ設計を用いて設計されたモジュール２５２ｃとの違いが微々ならば、設計者は、レイアウト設計についても、変更する部分を再度設計するだけで済む。従って、設計者は設計に要する時間を短縮できる。
【００１７】
ところで、図４４〜図４６における階層設計に当たり、昨今の設計規模に対するデータベースの容量は、きわめて大きく、設計装置は、データをすべて作業用メモリにロードすることが困難となっている。このメモリ不足を回避するために、設計者は、一括設計向けの設計装置を使用するときに、ブラックボックス化した回路データを予め作成しており、このため、複雑な繰り返し手順が必要となっている。
【００１８】
一方、設計者が分割設計向きの設計装置を用いた場合においても、その設計装置が、処理しない部分に関する情報を管理する機能を有していないときには、設計者は、処理すべき部分を正しく認識し、かつ、処理すべき部分以外において関係する部分の情報を知らなければならない。加えて、設計者は処理すべき部分以外の情報を個々に指定し、分割設計向けの設計装置に、関連情報を与えなければならない。
【００１９】
ここで、設計情報が参照されないと、ＥＣＯ設計において、通常設計時（後述する図８参照）の固有名と異なる固有名が付与される可能性があり、後続の処理において、固有名と設計情報とを対比するときに名称が不一致となることがある。
また、従来のＥＣＯ設計においては、旧回路と新回路とのそれぞれの回路が比較されながら、回路が復元されていた。このＥＣＯ設計においては、回路の比較と差分解析とが行なわれるため、複雑な処理が必要となり、このため、設計者が自分で情報を指定する等の煩雑性を有する。
【００２０】
次に、図４７〜図４９を用いて、システム回路である機器の設計や、装置設計等のシステム設計におけるタイミング配分について説明する。システム設計においては、ＰＣＢ（Printed Circuit Board：プリント回路基板）設計やＬＳＩ（Large Scale Integration：大規模集積回路）設計を含むタイミング配分について設計される。
図４７はタイミング配分を説明するための図である。この図４７に示すＰＣＢ１４０ｂの両端には、ＰＣＢ１４０ａ，１４０ｃがコネクタピン（図示省略）を介して接続されている。また、ＰＣＢ１４０ａ，１４０ｃは、それぞれ、ＬＳＩ２４０，２４１を有する。ここで、タイミング配分とは、ＬＳＩ２４０からＬＳＩ２４１まで信号が伝達するのに要する時間を配分することを意味し、また、設計者はＰＣＢ１４０ａ〜１４０ｃの間において、伝送時間をどの程度割り当てるかを検討する。そして、ＰＣＢ上においてＬＳＩの置かれる位置は、セットアップ条件やホールド条件と呼ばれる条件に基づいて検討されるようになっている。ここで、セットアップ条件とは、信号の伝搬時間が所定時間内に収まる条件をいい、ホールド条件とは、データとそのデータのためのクロックとを正確に一致させるための条件をいう。
【００２１】
例えばＰＣＢ１４０ａ上のＬＳＩ２４０が、ＰＣＢ１４０ｃ上のＬＳＩ２４１から遠い側に置かれると、配線が長くなり、信号遅延が生じる。また、この信号遅延は、ホールド条件から外れるほど、短か過ぎる配線による悪影響を受ける。従って、ＬＳＩ２４０とＬＳＩ２４１との間を近づけた場合と遠ざけた場合とのそれぞれにおいて、遅延時間を検討する必要があり、この遅延時間を配分する仕様は、タイミング仕様と呼ばれている。
【００２２】
また、図４７において、ａは負のスラックであり、ｃは正のスラックであり、負のスラックａ側から正のスラックｃ側に対して、配分値を分けて欲しいとの要求情報が送信されるようになっている。
従来のタイミング配分の設計フローは、システムの初期アーキテクチャを検討した後にＰＣＢ及びＬＳＩの分割を行ない、タイミング仕様を制約条件として設定し、そして、下位階層のＬＳＩ内部等の設計及び実装（以後、インプリメントと称する）をするようになっている。
【００２３】
これらのタイミング仕様の検討は、まず、ＰＣＢとＬＳＩとの間において、ＡＣ（Alternative Current）スペックと呼ばれるクロックとデータとの関係を規定した仕様が設計され、その仕様に合致するようにインプリメントされる。ここで、インプリメントされた結果、そのタイミング仕様を満足できない場合があり、タイミング仕様の限界値を知ることが重要となっている。
【００２４】
図４８は装置設計の概略を説明するためのフローチャートである。まず、装置仕様が検討され（ステップＷ１）、アーキテクチャが設計され（ステップＷ２）、そして、回路機能が、ＰＣＢ又はＬＳＩに割り当てられて分割設計される（ステップＷ３）。
このステップＷ３にてＰＣＢが選択されると、ステップＷ４にてＰＣＢ設計が開始され、論理設計のほか、タイミング設計，波形解析，実装設計及び熱設計が行なわれ、ステップＷ５にてＰＣＢがインプリメントされる。一方、ステップＷ３にてＬＳＩが選択されると、ステップＷ６にてＬＳＩ設計が開始され、論理設計，タイミング設計，レイアウト設計，消費電力解析が行なわれ、ステップＷ７にてＬＳＩがインプリメントされる。
【００２５】
図４９はタイミング設計を説明するためのフローチャートである。まず、システムの仕様が決定されると（ステップＷ５０）、システムアーキテクチャが検討され（ステップＷ５１）、ＰＣＢ／ＬＳＩが分割検討される（ステップＷ５２）。
また、ステップＷ５３にてＰＣＢのタイミング仕様が検討され、ステップＷ５４にてＰＣＢがインプリメントされる。また、ステップＷ５５にてＬＳＩのタイミング仕様が検討され、ステップＷ５６にてＬＳＩがインプリメントされる。
【００２６】
これらＬＳＩとＰＣＢとを個々にインプリメントする工程においては、ＳＴＡ（Static Timing Analysis）が用いられており、このＳＴＡは、シミュレーションパターンを生成せずに静的にタイミング検証が可能となる。
また、タイミング配分については、以下の公知文献が知られている。
特開平５−１８１９２９号公報（以下、公知文献１と称する）に記載された技術は、階層的な論理回路の遅延検証を行なう際、上位階層の論理回路の遅延検証を下位階層の論理回路の設計，遅延検証が完了していなくとも行なえるようにするものである。この公知文献１には、回路ブロックの階層的なタイミング配分についての遅延時間検証方式が開示されている。
【００２７】
特開平９−２１２５３３号公報（以下、公知文献２と称する）に記載された技術は、階層設計されたハードウェアを各階層ごとに最適化する際に階層間にまたがったクリティカルパスに対して、パスへの遅延制約を階層ごとに適切に分配し、効率よく遅延最適化するものである。この公知文献２には、配分の最適化の方法が開示されている。なお、クリティカルな部分とは、遅延が許されない部分であって、この部分において遅延が生ずると、タイミングが適切に割り当てられなくなるものをいう。
【００２８】
そして、これらの公知文献１，２に記載された技術によって、遅延配分が効率的に行なわれる。
【発明の開示】
【発明が解決しようとする課題】
【００２９】
しかしながら、従来の手法によると、設計者の手入力による項目が多く、設計手順の複雑化を招き、設計者の負担の増加や、誤り発生の原因となるという課題がある。
そのうえ、設計者が、一旦、設計が完成した回路を変更する場合、その変更により、外部端子が追加又は削除されるため、上位階層と下位階層との間で端子構成の不一致が発生することがある。従って、従来の設計手法においては端子構成が一致していないと、上位階層と下位階層との間において不整合が発生し、エラーと認識され、設計効率が非常に悪くなるという課題がある。
【００３０】
また、タイミング配分については、アーキテクチャ設計検討において、設計者は何回も値を変化させて試行する。従って、設計者は、対象とするＰＣＢ又はＬＳＩについての確定値を、ライブラリから対象回路にマッピングするまで、詳細なタイミングを明確に知ることができず、また、設計者は、一旦、所定の遅延値をＰＣＢ又はＬＳＩに割り当てて、その他の検討をするようにしている。
【００３１】
そのため、フリップフロップ等の回路要素を設計者が直接見ることができない工程においては、システム全体のタイミング配分は、不確定な部分が多く、また、システム全体のタイミングを決定できず、タイミング変更に対して柔軟に対応できないという課題がある。
加えて、ＬＳＩやＰＣＢ等からなる各回路ブロックは、いずれも密接には連携していない。さらに、回路要素を有する回路ブロックについて、レイテンシ（処理するために必要な時間）や遅延値の見積もりを計算するためには、設計者は実際にインプリメント設計をしなければならない。これに対して、クリティカル部分（遅延が許されない部分）については、アーキテクチャ決定と実際のインプリメント工程との連携が希薄である。そのため、一つのアーキテクチャを詳細に検討することや、物理階層をまたがったフロアプラン（例えばＰＣＢからＬＳＩへのフロアプラン）を別回路ブロックヘ継承することが困難であるという課題がある。
【００３２】
また、ＬＳＩのディープサブミクロン化が進み、ゲート遅延よりも、配線遅延の占める割合が顕著になっており、配線遅延、特にグローバル配線部分における遅延の影響が大きくなってきている。
さらに、配置されたピン間を配線するためには、マンハッタン長による手法があり、この手法によって簡易的かつ高速に配線長が計算されている。図５０はマンハッタン長を説明するための図である。この図５０に示す回路モジュール１７０は、回路モジュールＩ５１，Ｉ５０を有し、これらの間が、パスＬ１，Ｌ２により接続されている。これらのパスＬ１，Ｌ２は、それぞれ、マンハッタン長に相当し、２点間の直角距離を表している。
【００３３】
しかしながら、これらの手法は配線混雑度が密な場所においては精度が悪く、また、実配線においては処理速度が困難となる。具体的には次の（１−１）〜（１−１３）に示すようなことが生ずる。
（１−１）設計者は、決定された仕様に基づきインプリメントするが、その仕様やフロアプランの良否の判断が困難であり、仕様にて配分されたタイミングに偏りが生じた場合、設計不可能又はタイミング調整するための冗長な回路が増加する。
【００３４】
（１−２）設計部分の仕様に基づき、複数の設計者が並行して分散設計する場合は、各設計者は、それぞれ、自己の設計に当たり、上位階層や下位階層のタイミング配分を把握し難く、ＰＣＢやＬＳＩで構成されたシステム全体のタイミング配分や検証が困難である。
（１−３）設計者がインプリメントする場合にタイミング仕様が満たされないときは、設計者は、変更により影響を受ける他の設計者と仕様変更のために交渉しなければならず、また、変更できないときは、上位アーキテクチャを変更しなければならず、大幅に設計期間が増大する。
【００３５】
（１−４）使用部品又は回路ブロックの精度については、タイミングライブラリにて定義されているそれぞれの精度が異なる。従って、複数の部品を組み合わせて設計する場合、精度の悪い部品が、精度の高い部品を使用している部分に影響し、設計者はその部分のタイミングを正確に把握できない。
（１−５）上記のマンハッタン長配線は、ＰＣＢ上の斜め配線を考慮していないため、実配線遅延との相違が大きく現れる。
【００３６】
（１−６）配線混雑度が密であると、マンハッタン長で計算した配線遅延値は、実配線の遅延値との誤差が大きくなり、タイミングエラーが発生しやすい。
（１−７）回路図又はソースコードにより表現されたネットリストにおいて、送信側のピンから受信側のピンに対して、どのような遠近関係で配線されるかについては、レイアウト結果が出るまで論理設計者は知ることができない。
【００３７】
（１−８）ＬＳＩ及びＰＣＢの分割検討時に、ＰＣＢ上の配線を用いて信号伝送するか、又はＬＳＩ内部にモジュールを配置するかを検討する際に、ＰＣＢテクノロジとＬＳＩテクノロジとの間のテクノロジを切り替えて判断するのに必要な工数が多くなる。また、ＰＣＢのフロアプランからＬＳＩのフロアプランヘ継承して設計する場合、設計者はＬＳＩ専用のフロアプランツールを用いて、再度そのフロアプランを入力しなければならず工数が多くなる。
【００３８】
（１−９）仕様検討時に、設計者は、各ネットの配線を、仮配線を用いるか、実配線を用いるかの判断が困難である。
（１−１０）必要な配線層の数は、把握し難い。
（１−１１）ＬＳＩのピン数の増加により、各ピンごとにタイミングを配分する工数が大きい。
【００３９】
（１−１２）ＰＣＢアーキテクチャの設計工程において、設計者はＬＳＩの完成前に波形解析ができない。
（１−１３）アーキテクチャ設計工程において、配線遅延の影響により、設計者はブロック間の信号が１クロックで伝送できるか否かの検討ができない。
また、図４９に示すフローチャートの進行方向は一方的であるが、アーキテクチャ設計工程内においてタイミング配分が決定されることもあり、設計工程を柔軟に変更できる必要がある。
【００４０】
本発明は、このような課題に鑑み創案されたもので、システム回路設計に当たり、ＬＳＩやＰＣＢのタイミング配分に関し、上流工程においてフロアプランを考慮したタイミング配分及びタイミング検証により、下流工程の手戻りを削減するとともに、設計期間を短縮化及び高品質化できる、タイミング配分装置を提供し、併せて、回路が変更されたときに、他の設計者もその変更内容を参照できるようにすることを目的とする。
【課題を解決するための手段】
【００４１】
このため、本発明のタイミング配分装置は、複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され、回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部と、複数のタイミング配分作成部のそれぞれの間の接続を動的に変更するとともに、複数のタイミング配分作成部のそれぞれの間とタイミング配分値に関する修正情報を送受信する階層間連携マネージャとをそなえて構成されていることを特徴としている（請求項１）。
【００４２】
そして、上記のタイミング配分作成部は、複数の設計階層のそれぞれに対応して設けられ設計情報を有する階層エンティティと設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、階層間連携マネージャが、エージェントとしてのタイミング配分作成部に接続され複数の設計階層のそれぞれとタイミング配分値に関する情報を送受信するマネージャとして構成されてもよい（請求項２）。
【発明の効果】
【００４３】
このように、本発明のタイミング分配装置によれば、階層設計において、複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され、回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部と、複数のタイミング配分作成部のそれぞれの間の接続を動的に変更するとともに、複数のタイミング配分作成部のそれぞれの間とタイミング配分値に関する修正情報を送受信する階層間連携マネージャとをそなえて構成されているので、タイミング仕様が変更されたときに、その影響範囲を即座に参照でき、仕様変更の参照ミスがなくなる。また、仮配線と実配線との組み合わせにより、フロアプランの実行速度向上と精度の向上の両立が図れる。さらに、階層エンティティを用いることができ分散設計環境が構築でき、トップダウン設計において、必要部分のみ詳細化でき、一つの設計チームにおいて、試行検討で分割されたタイミング仕様の良否を検討でき、インプリメント時の問題を予測でき、手戻りを削減できる（請求項１）。
【００４４】
さらに、タイミング配分作成部が、複数の設計階層のそれぞれに対応して設けられ設計情報を有する階層エンティティと設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、階層間連携マネージャが、エージェントとしてのタイミング配分作成部に接続され複数の設計階層のそれぞれとタイミング配分値に関する情報を送受信するマネージャとして構成されてもよく、このようにすれば、オブジェクト指向的な階層エンティティにより、論理設計と物理レイアウトとを融合させたタイミングドリブンレイアウト処理を行なうときに、各論理階層と物理階層との間における情報の流れが明確となり、連携が容易となる（請求項２）。
【発明を実施するための最良の形態】
【００４５】
以下、図面を参照して本発明の実施の形態を説明する。
（Ａ）本発明の第１実施形態の説明
図１は本発明の第１実施形態に係る回路設計装置の構成図である。この図１に示す回路設計装置１（以下、設計装置１と称することがある）は、半導体回路を設計するものであって、回路情報データベース２と、自動設計処理部３と、設計情報データベース５とをそなえて構成されている。
【００４６】
ここで、回路情報データベース２は、回路に関する情報を保持するものであり、自動設計処理部３は、回路情報データベース２から回路に関する情報を読み出し所定の処理すべき単位ごとに回路を処理しうるものであり、また、設計情報データベース５は、自動設計処理部３において得られた回路要素の固有化情報，回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を保持するものである。
【００４７】
これにより、自動設計処理部３にて、回路情報データベース２から回路に関する情報が読み出され、処理すべき単位ごとに回路処理され、得られた設計情報等が設計情報データベース５に書き込まれる。また、自動設計処理部３にて、設計情報データベース５から処理内容に応じて所望の設計情報が読み出されるようになっている。
ここで、回路情報データベース２は、階層設計又はＥＣＯ設計において、処理された単位（処理済みの単位）ごとに回路情報を保持しており、他の回路モジュールが、処理すべき単位ごとにその回路情報を参照できるようになっている。
【００４８】
また、回路情報データベース２には、ハードウェア記述言語により記述されたソースコードが、計算機プログラムが処理しやすいような形式に分類されて書き込まれている。例えばＶＨＤＬソースコードのＥｎｔｉｔｙやＶｅｒｉｌｏｇＨＤＬソースコードのｍｏｄｕｌｅに相当する階層は、種々の情報を有する。すなわち、各階層は、いずれも、階層名、階層端子、ネットリスト、内包する論理ゲート、下位階層等の構成要素情報や、それらの名称や接続情報等を有する。
【００４９】
次に、設計情報データベース５は、回路に加えられた変更や他階層に与える影響を情報として保持しており、また、テスト回路を生成するためのプログラムや回路を最適化するためのプログラムを保持し、これにより、回路が作成され更新される。そして、設計情報データベース５は、回路要素を個別のファイルに保存しうる複数の保持部（図示省略）をそなえて構成されている。従って、設計情報が回路設計に反映され、設計期間等の作業効率が向上する。
【００５０】
さらに、設計情報データベース５には、次の（２−１）〜（２−４）に示す情報が分類されて保持されている。
（２−１）固有化情報
インスタンス名，固有化前の名称，固有化後の名称及び固有化処理の対象となる単位名。ここで、インスタンス名とは、対象となる単位の内部に含まれるセルが有する固有名である。また、固有化処理（階層固有化処理）とは、階層設計において、所定機能を有する単位を、上位階層が複数回参照する場合に、被参照単位を複数参照の回数分だけ複製し固有名を付与し一度のみ参照される単一参照単位へ変更することを意味する。
【００５１】
（２−２）テスト回路情報
階層名と、追加端子の名称及び機能と、追加する論理ゲートの名称及び機能と、接続関係（スキャンチェーン）の接続順序。
（２−３）階層負荷情報
階層名と、大きさと、入力端子の名称及び負荷と、出力端子の名称及び駆動能力とファンアウト数。
【００５２】
（２−４）階層情報
回路情報データベース２に保持されている階層名と、階層間の上下関係。
このように、各情報がそれぞれ分類されて保持されているので、設計者は、効率よく回路を設計できる。
次に、自動設計処理部３は、ＨＤＬ読み込み部３ａ，パラメータ入力部３ｂ，処理結果出力部３ｃ，計算処理部４をそなえて構成されている。このＨＤＬ読み込み部３ａは、ＨＤＬ言語で書かれたソースコードを読み込み、その読み込んだデータを計算処理部４に入力するものである。
【００５３】
パラメータ入力部３ｂは、設計者が指定したユーザ指定パラメータ（以下、パラメータと称することがある）を計算処理部４に入力するものである。このパラメータとは、処理の流れに関するものであって、例えば階層設計において、どの階層から処理を開始するかという情報や、後述するテスト回路規則入力部３ｄ（図３参照）が読み込む複数のテスト回路情報のうちいずれかを選択するかについての情報等に関するものである。
【００５４】
さらに、処理結果出力部３ｃは、計算処理部４にて自動設計された処理内容を、一定のフォーマットで出力するものであって、これにより、設計者は処理内容を確認したり、後続の設計に利用できるようになっている。この自動設計処理部３の機能は、図示を省略するが、ＣＰＵ（Central Processing Unit）やＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等により実現されている。
【００５５】
また、これにより、設計者がパラメータ入力部３ｂに、一つのパラメータを入力するだけで、これらの処理が自動的に実行され、設計者は、各処理において別々のパラメータを入力することなく、設計できるようになる。
さらに、計算処理部４は、回路の計算処理を行なうものであって、ＨＤＬ変換処理部４ａ，固有化処理部４ｂ，テスト回路生成処理部４ｃ，負荷調整処理部４ｄ，ＨＤＬ出力処理部４ｅをそなえて構成されている。
【００５６】
このＨＤＬ変換処理部４ａは、ソースコードとパラメータとを入力され、そのパラメータに指定された内容に基づいて、ソースコードを変換し、その変換したデータを回路情報データベース２に出力するものである。
図５は本発明の第１実施形態に係るＨＤＬ変換の概念図である。この図５に示すＨＤＬソースコード４０ａ（ＣＨＩＰ），４０ｂ（ｓｕｂｍｏｄＡ），４０ｃ（ｓｕｂｍｏｄＢ）は、それぞれ、ＨＤＬ変換処理部４ａ（図１参照）にて、変換されて、回路情報データベース２に書き込まれるようになっている。
【００５７】
また、図５に示すデータイメージ４１ａ，４１ｂ，４１ｃは、いずれも、この回路情報データベース２に保持されるものを概念的に表したものであって、例えば端子負荷・駆動能力情報（端子情報と略記されたもの）、ネット情報、要素情報の３種類に分類されて保持されるようになっている。なお、このＨＤＬ変換は一括して行なったり、又は分割して複数回数にわたって行なってもよい。
【００５８】
次に、固有化処理部４ｂ（図１参照）は、設計情報データベース５から固有化情報を読み出して、処理すべき単位のそれぞれについて相異なる固有名を付与するものである。また、この固有化処理部４ｂは、パラメータと上記処理にて変換された回路情報データベース２とを読み出し、被複数参照単位データを複製したり、固有名を変更するようになっている。
【００５９】
さらに、テスト回路生成処理部４ｃは、設計情報データベース５から変更履歴情報を読み出し上位階層のテスト回路を生成しうるものである。負荷調整処理部４ｄは、設計情報データベース５から端子負荷・駆動能力情報を読み出し上位階層の回路に含まれる端子のそれぞれについて設計情報を付与するとともに、設計情報に基づいて負荷を調整するものである。
【００６０】
また、ＨＤＬ出力処理部４ｅは、パラメータ入力部３ｂにて入力されたパラメータと回路情報データベース２とを読み込み、ソースコード（ＨＤＬソースコード）に必要なデータを書き込むものである。そして、これらの固有化処理部４ｂ，テスト回路生成処理部４ｃ，負荷調整処理部４ｄは、いずれも、回路情報データベース２と設計情報データベース５とに接続され、これらに保持されたデータの読み出し及び書き込みが可能である。
【００６１】
そして、これらの固有化処理部４ｂ，テスト回路生成処理部４ｃ，負荷調整処理部４ｄは、いずれも、階層設計及びＥＣＯ設計を行なうようになっている。ここで、階層設計とは、処理すべき単位のうちの一つの単位が、他の独立して設計された単位を階層的に内包した状態で回路を設計するものである。この階層設計により、大規模回路を部分ごとに設計できるようになる。
【００６２】
また、ＥＣＯ設計とは、処理すべき単位のうちの一部分を変更し、回路における他の部分を変更しないで再設計するものである。
そして、これら階層設計とＥＣＯ設計とにより、設計装置１においては、回路の設計が同一の操作手順を使用できるようになっている。
次に、図２を用いて固有化処理部４ｂについてさらに詳細に説明し、図３を用いてテスト回路生成処理部４ｃについて、図４を用いて負荷調整処理部４ｄについてそれぞれさらに説明する。
【００６３】
図２は本発明の第１実施形態に係る固有化処理部４ｂのブロック図である。この図２に示す固有化処理部４ｂは、回路情報データベース２中の被複数参照単位を、固有名の付与及びデータの複製によって、単一参照するために処理するようになっている。また、固有化処理部４ｂは、階層設計やＥＣＯ設計に対応するため、付加的な機能を有し、回路を処理する処理部１００ｂと、この処理部１００を制御する制御部１００ａとを有する。なお、処理部１００ａと制御部１００ｂとは、それぞれ、例えばソフトウェアにより実現される。
【００６４】
ここで、上述したものと同一の符号を有するものは同一のもの又は同様の機能を有するものなので、更なる説明を省略する。図２に示す各部間の太線は、接続されていることを表す。なお、これら以外の各部間がそれぞれ、接続されるようにもできる。
まず、処理部１００ｂは、設計情報読み込み部６ｂ，処理データ取得部７ｂ，複数参照解析部８ｂ，固有名生成部９ｂ，回路データ複製部１０ｂ，回路情報書き込み部１１ｂ，設計情報書き込み部１２ｂを有する。
【００６５】
設計情報読み込み部６ｂは、設計情報データベース５に書き込まれた設計情報を読み込むものであって、固有化前の階層名と固有化後の階層名とを対応づけて、固有化前の階層名による固有化後の回路データを参照できるようになっている。従って、固有化処理部４ｂが、固有化処理の有無と固有化前後における階層名とを得られ、処理不要な回路データか否かの判別や、同一の固有名が発生するのを抑制するのに使用できるので、設計の効率が向上する。
【００６６】
加えて、固有化処理部４ｂは、ＥＣＯ設計に当たり、通常設計情報（ＥＣＯ設計以前に一旦完了した設計の設計情報）を用いて通常設計された回路と変更箇所以外とが同一の回路を設計するようになっている。また、設計情報読み込み部６ｂは、第１の単位Ａを処理して得られる第１の単位Ａの処理結果（第１の単位Ａを処理して得られる第１の単位Ａの位置等）に関する第１単位情報を設計情報データベース５から読み込むようになっている。なお、設計情報読み込み部６ｂは、一時的にデータを保持するメモリ（図示省略）と接続されている。
【００６７】
処理データ取得部７ｂは処理対象判別部７ａにより判別された処理対象／処理対象外に基づいて、回路情報データベース２から処理すべき単位の回路データを取得するものである。
これにより、固有化処理部４ｂが上位階層を処理するときには、設計情報書き込み部１２ｂにて下位階層についての処理結果が設計情報データベース５に書き込まれる。そして、設計情報データベース５に保持された情報は、設計情報読み込み部６ｂを介して読み込まれ、次に、処理対象判別部７ａにて設計情報データベース５に書き込まれた下位階層についての既処理／未処理が認識され、その認識結果に基づき下位階層についての処理対象／処理対象外が判別されるのである。
【００６８】
また、複数参照解析部８ｂは、回路中において、同一の回路単位を複数使用している箇所を検索し、その箇所における回路単位の種別について、階層，セル，ブラックボックスを判別するものである。この複数参照解析部８ｂにより、固有化処理が効率よくでき、かつ、きめ細かい設計が可能となる。
さらに、固有名生成部９ｂは、処理対象判別部７ａにて処理対象と判別された場合は設計情報データベース５に保持された参照関係と同一の参照関係になるように固有名を生成し、非処理対象と判別された場合は既に割り当てた固有名と異なる固有名を生成するものである。
【００６９】
すなわち、固有名生成部９ｂは、処理対象判別部７ａにより処理対象と判別され、複数参照解析部８ｂにより複数参照されていると判断された回路単位に固有名を付与すべく、名称を発生させるのである。
また、階層設計を用いて部分ごとの設計を行なう場合は、固有名生成部９ｂは、設計単位を超えた回路間で固有名の重複が起きないように、単一参照単位についても設定されたネーミング規則（固有名付与規則）に従った固有名を付与する。
【００７０】
さらに、ＥＣＯ設計においては、固有名生成部９ｂは、通常設計において付与した固有名と同一の固有名を、同一の参照関係にある回路単位に割り付ける必要があるので、設計情報データベース５に保持された参照関係の情報と固有名の情報とを使用して、ＥＣＯ処理対象回路に対する固有名を生成する。
また、この固有名生成部９ｂは、複数参照解析部８ｂにて判別された、複数参照単位及び単一参照単位のそれぞれについて固有名を生成するようになっている。
【００７１】
さらに、固有名生成部９ｂは、ＥＣＯ設計で設計情報データベース５に既存の固有名を使用する場合以外においては、固有名付与規則設定部９ａにて設定されたネーミング規則に基づいて、処理すべき単位に、既に処理された単位に付与した固有名と異なる固有名を生成するようにもなっている。
これにより、処理対象判別部７ａにて、処理すべき単位について設計情報の書き込み有りと判別された場合は同一の参照関係になるように固有名が生成され、また、処理すべき単位について設計情報の書き込み無しと判別された場合は既に割り当てた固有名と異なる固有名が生成される。
【００７２】
なお、この固有化処理については、図６を用いて後述する。
回路データ複製部１０ｂは、固有名生成部９ｂにて生成された固有名を複数参照単位と単一参照単位とのそれぞれに割り付けて、回路データを複製するものである。この回路データとは、例えば回路モジュール４５（図６参照）のようなものである。そして、回路情報書き込み部１１ｂは、記憶装置上のデータベースに回路情報を書き込むものである。
【００７３】
加えて、設計情報書き込み部１２ｂは、設計情報データベース５に接続され、処理した階層の設計情報を設計情報データベース５に書き込むものである。これにより、固有化処理の情報が蓄積され、上位階層処理時における処理不要な部分の判別や、ＥＣＯ設計での同一固有名の付与に利用できるようになる。
また、この設計情報書き込み部１２ｂは、第１の単位Ａの処理結果に関する第１単位情報を収集し第１単位情報を設計情報データベース５に書き込むようにもなっている。
【００７４】
次に、図２に示す制御部１００ａは、設計情報読み込み制御部６ａ，処理対象判別部７ａ，複数参照解析制御部８ａ，固有名付与規則設定部９ａ，回路データ複製制御部１０ａ，回路情報書き込み制御部１１ａ，設計情報書き込み制御部１２ａを有する。
まず、設計情報読み込み制御部６ａは、パラメータ入力部３ｂから得られるパラメータを解析し、設計情報データベース５から固有化情報を取得するか否かを判断し、設計情報読み込み部６ｂに対して入力を指示するものである。
【００７５】
処理対象判別部７ａは、設計情報データベース５に書き込まれた設計情報に基づいて、処理すべき単位について処理対象／非処理対象を判別するものである。この処理対象判別部７ａは、設計情報読み込み部６ｂを介して設計情報データベース５に保持された情報を得られるようになっている。
そして、処理対象判別部７ａは、設計情報データベース５に現在処理中の単位についての設計情報（固有化情報）の書き込みの有無を判別し、下位階層が処理済みであることを認識すると、処理済みの回路データの取得を停止するようになっている。従って、作業用のメモリの節約が可能となる。
【００７６】
また、処理対象判別部７ａは、設計情報のうち、第１の単位Ａを処理して得られる第１の単位Ａの処理結果に関する第１単位情報に基づいて、次に処理する第２の単位Ｂが内包する単位が処理された単位であるか否かを判別するようにもなっている。
これにより、処理対象判別部７ａは、パラメータ入力部３ｂにて設計者によって入力されたパラメータと、設計情報読み込み部６ｂから得られた固有化情報とに基づいて処理すべき対象の箇所を、容易に判別するのである。
【００７７】
さらに、処理対象判別部７ａは、処理データ取得部７ｂを制御し、これにより、処理データ取得部７ｂが回路情報データベース２から処理データを取得するようになっている。従って、処理すべき部分に関する情報が容易に得られるようになる。
そして、固有化処理部４ｂが回路の階層構造に基づく分割設計を行なう場合に、上位階層を処理するときは、まず、設計情報読み込み部６ｂにて設計情報データベース５に書き込まれた下位階層についての既処理／未処理が読み込まれ、処理対象判別部７ａにてその既処理／未処理に基づき下位階層について処理対象／処理対象外が判別されるようになっている。
【００７８】
続いて、複数参照解析制御部８ａは、複数参照解析部８ｂを制御するものである。固有名付与規則設定部９ａは、設計情報データベース５に基づいて、回路要素の名称に関するパラメータに基づき、処理すべき単位のそれぞれについて固有名を付与すべく、ネーミング規則を設定するものである。そして、固有名付与規則設定部９ａは、そのパラメータに含まれるネーミング規則と、固有化情報に含まれる既存の固有名とを解析するようになっている。
【００７９】
これにより、固有名生成部９ｂは、ネーミング規則に適合し、かつ、他の固有名と重複しない固有名を生成できる。
回路データ複製制御部１０ａは、ネーミング規則に基づいて、複数参照された複数参照単位及び単一参照された単一参照単位のそれぞれについて固有名を付与するとともに、データを複製するものである。具体的には、回路データ複製制御部１０ａは、被複数参照単位が個々に単一参照される状態にすべく、回路データの複製処理を制御するようになっている。
【００８０】
また、回路情報書き込み制御部１１ａは、回路情報書き込み部１１ｂを制御するものである。これにより、固有名の付与と複製したデータとが、それぞれ、回路情報データベース２に書き込まれる処理が制御されるようになっている。
さらに、設計情報書き込み制御部１２ａは、設計情報書き込み部１２ｂを制御するものである。そして、設計情報書き込み制御部１２ａは、固有化処理にて扱った単位の固有化前の単位名，固有化後の単位名及び回路全体における位置を特定するための情報等を設計情報データベース５に書き込むべく制御するようになっている。
【００８１】
そして、この図２において、制御のために必要な情報は、設計情報データベース５から、Ｌ３と付したルート（点線）を通り、制御部１００ａに入力されるようになっており、また、回路（設計対象）のデータは、設計情報データベース５から、Ｌ４と付したルート（点線）を通り、処理部１００ｂにて、データ処理されるようになっている。
このように、制御データと、回路データとが２系統にてそれぞれ伝送するので、効率よく設計できるようになる。
【００８２】
次に、固有化処理部４ｂの処理について、図６を用いて説明する。固有化処理部４ｂは、固有名を重複させないように２種類の手法を用いている。
図６は本発明の第１実施形態に係る固有化処理を説明するための図である。この図６に示す回路モジュール４３は、回路モジュール４３ａ，４３ｂ（以下、回路モジュール４３ａ，４３ｂをそれぞれモジュール４３ａ，４３ｂと称する）を内包し、これらは、それぞれ、回路モジュール４５を内包する。ここで、モジュール４５は、一例として、フリップフロップやラッチ回路であり、Ａという名称を付されている。モジュール４３ａ，４３ｂは、それぞれ、レジスタやカウンタであり、その名称は、それぞれ、Ｘ，Ｙである。
【００８３】
第１の手法は、設計者が、パラメータを用いて処理すべき単位ごとにネーミング規則の設定を変更し、そして、その設定されたネーミング規則に基づいて名称を発生させる手法である。固有化処理部４ｂは、図６において、モジュール４３ａに含まれる３個のモジュール４５を、例えばＡ−Ｘ−０，Ａ−Ｘ−１，Ａ−Ｘ−２とし、モジュール４３ｂに含まれる２個のモジュール４５を、Ａ−Ｙ−０，Ａ−Ｙ−１とするのである。すなわち、パラメータが解析され、複数参照されている単位（モジュール４５）について、その参照されている回数分（３回又は２回）だけ複製され、その複製された単位（モジュール）名が、現在処理中の単位名と重複しないように生成されるのである。
【００８４】
また、第２の手法は、設計者が、設計情報データベース５に保持されている名称以外の名称を発生させる手法である。すなわち、固有化処理部４ｂは、モジュール４３ａに含まれる３個のモジュール４５を、それぞれ、Ａ−０，Ａ−１，Ａ−２とし、モジュール４３ｂに名称を付与するに当たり、設計情報データベース５を参照して、設計情報データベース５に保持されている名称と重複しないように、Ａ−０，Ａ−１，Ａ−２を使用せずに、モジュール４３ｂに含まれる２個のモジュール４５を、Ａ−３，Ａ−４とするのである。
【００８５】
このように、階層設計に当たり、まず、固有名付与規則設定部９ａ（図２参照）にて設計者が指定したパラメータに基づき、処理すべき単位のそれぞれについてネーミング規則が設定され、また、固有名生成部９ｂにて、既に処理済みの単位に付した固有名と異なるように、そのネーミング規則に基づき、処理すべき単位に固有名が生成される。
これらの手法によれば、元の固有名と、設計者により指定されたネーミング規則とに基づいて新たな名称が生成される。このため、固有化処理によって新たに名称が複数個生成されても、それらの名称の判別を明確にでき、設計者はそれらの名称をグループ分け（グルーピング）することが容易となり、また、処理すべき単位ごとにグルーピングできる。さらに、処理された単位と現在処理中の単位の名称との重複が回避される。
【００８６】
従って、新たに名称を生成するときに、設計情報データベース５が参照され、設定されているネーミング規則に基づいて、設定情報データベース５及び作業用メモリ（図示省略）にロードされている固有名情報と重複しない名称が生成されるのである。
このため、階層設計において、回路の部分ごとに固有化処理されても、回路全体において生成された名称のすべてを考慮して名称が付与されるので、名称の重複が生じない。
【００８７】
このように、固有化処理部４ｂは、上位階層を処理するときに、内包している下位階層について、回路情報データベース２から情報を取得する代わりに、下位階層を処理すべき単位として設計した処理結果等が保持されている設計情報データベース５から情報を取得できる。
また、本発明の回路設計方法を、２種類説明する。
【００８８】
本発明の第１の回路設計方法は、まず、固有化処理部４ｂが、回路に関する情報を保持する回路情報データベース２から回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる自動設計処理部３において、第１の単位Ａを処理して得られる第１の単位Ａの処理結果に関する第１単位情報を生成する（処理生成ステップ）。
続いて、固有化処理部４ｂは、処理生成ステップにて生成中の回路要素の固有化情報，回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を収集する（設計情報収集ステップ）。
【００８９】
また、固有化処理部４ｂは、設計情報収集ステップにて収集された設計情報を、自動設計処理部３に接続され設計情報を保持する設計情報データベース５に処理すべき単位ごとに書き込む（設計情報書き込みステップ）。
さらに、固有化処理部４ｂは、後に別単位を処理する場合に、設計情報書き込みステップにて書き込まれた設計情報に基づいて第２の単位Ｂを処理すべく、第１の単位Ａに関する設計情報を参照する（参照ステップ）。
【００９０】
そして、固有化処理部４ｂは、参照ステップにて参照された第１の単位Ａに関する設計情報についての参照関係を認識する（認識ステップ）。従って、設計情報データベース５内の情報が使用され、その第２の単位Ｂが、既に処理された第１の単位Ａを内包するか否かがチェックされる。
続いて、固有化処理部４ｂは、参照ステップにて得られた参照関係に基づき、回路情報データベース２に保持された位置と処理結果とに関する単位情報を参照する（回路情報データベース参照ステップ）。次に、固有化処理部４ｂは、設計処理された回路データを更新する（回路情報データベース書き込みステップ）。
【００９１】
このように、内包する場合には第１の単位Ａが処理済であるか否かが自動的に認識される。
また、これにより、設計情報書き込み部１２ｂにて、第１の単位Ａの位置と処理結果とに関する第１単位情報が収集され、第１単位情報が設計情報データベース５に書き込まれ、その書き込まれた第１単位情報は設計情報読み込み部６ｂにて読み込まれる。そして、処理対象判別部７ａにて、第１単位情報に基づき、第２の単位Ｂが第１の単位Ａを内包しているか否かが判別され、また、内包有りと判別した場合は第１の単位Ａが処理された単位であるか否かが判別されるのである。
【００９２】
従って、固有化処理部４ｂは、処理された単位を自動的に判別するので、下位階層について、回路情報データベース２からの読み出しが不要となり、これにより、固有化処理のために使用する、作業用メモリの容量等が大幅に節約できる。
また、本発明の第２の回路設計方法は、まず、固有化処理部４ｂが、回路に関する情報を保持する回路情報データベース２から回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる自動設計処理部３において、第３の単位Ｃを内包する第４の単位を処理する（第１処理ステップ）。
【００９３】
次に、固有化処理部４ｂが、第１処理ステップにて生成中の第３の単位Ｃの処理結果に関する第３単位情報を収集する（第３単位情報収集ステップ）。
さらに、固有化処理部４ｂが、第３単位情報収集ステップにて収集された第３単位情報を、自動設計処理部３に接続され設計情報を保持する設計情報データベースに書き込む（設計情報書き込みステップ）。
【００９４】
そして、固有化処理部４ｂが、設計情報書き込みステップにて書き込まれた第３単位情報に基づき、第３の単位Ｃを変更して得られる第３処理済単位が第４の単位を変更して得られる第４処理済単位を内包するか否かを判別するとともに、第３処理済単位が第３の単位Ｃと同等か否かを判別する（判別ステップ）。
このように、本発明の２種類の回路設計方法を用いることにより、全自動化による連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。
【００９５】
また、設計者又はシステム構築の担当者（以下、設計者等と称することがある）は、本設計装置１を、パソコン又はワークステーション（以下、コンピュータと称する）を用いて構築する。すなわち、設計者等は、ソフトウェアプログラムを作成し、コンピュータのハードディスクに保持するようにしており、そのプログラムは、上述した処理をコンピュータ上にて実行させることができるものである。
【００９６】
本発明のプログラムは、コンピュータを、回路に関する情報を保持する回路情報データベース２から回路に関する情報を読み出し所定の処理すべき単位ごとに回路を設計するとともに、設計によって得られた回路要素の固有化情報，回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を設計情報データベース５に保持するように機能させるものである。
【００９７】
換言すれば、自動設計処理部３の機能は、このプログラムが、コンピュータのＣＰＵによって読み取られて実行されることにより実現される。
なお、本発明のプログラムをそのハードディスクにインストールする方法は、コンピュータが有する読み取り装置に応じて、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＣＤ−Ｒ(CD-Recordable)、ＣＤ−ＲＷ(CD-Rewritable)及びフロッピーディスク等の記録媒体を用いるようになっている。
【００９８】
このように、設計者等は、大規模回路を設計する環境を簡便に構築することができる。
また、本発明のプログラムは、コンピュータに、以下に示す各ステップを実行させるように機能させるものである。すなわち、本発明のプログラムは、回路に関する情報を保持する回路情報データベース２から回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる自動設計処理部３において、まず、第１の単位Ａを処理して得られる第１の単位Ａの処理結果に関する第１単位情報を生成させ（処理生成ステップ）、生成中の回路要素の固有化情報，回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を収集させる（設計情報収集ステップ）。
【００９９】
そして、このプログラムは、収集された設計情報を、自動設計処理部３に接続され設計情報を保持する設計情報データベースに処理すべき単位ごとに書き込ませて（設計情報書き込みステップ）、書き込まれた設計情報に基づいて第２の単位Ｂを処理すべく、第１の単位Ａに関する設計情報を参照させる（参照ステップ）。
さらに、このプログラムは、参照された第１の単位Ａに関する設計情報についての参照関係を認識させ（認識ステップ）、得られた参照関係に基づき、回路情報データベース２に保持された位置と処理結果とに関する単位情報を参照させ（回路情報データベース参照ステップ）、設計処理された回路データを更新させる（回路情報データベース書き込みステップ）ようコンピュータに機能させるのである。
【０１００】
このように、全自動化により連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。
さらに、本発明のプログラムは、コンピュータに、以下に示す各ステップを実行させるように機能させるものである。すなわち、本発明のプログラムは、回路に関する情報を保持する回路情報データベース２から回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる自動設計処理部３において、第３の単位を内包する第４の単位Ｄを処理させ（第１処理ステップ）、生成中の第３の単位の処理結果に関する第３単位情報を収集させ（第３単位情報収集ステップ）、収集された第３単位情報を、自動設計処理部３に接続され設計情報を保持する設計情報データベースに書き込ませる（設計情報書き込みステップ）。
【０１０１】
続いて、このプログラムは、書き込まれた第３単位情報に基づき、第３の単位を変更して得られる第３処理済単位が第４の単位Ｄを変更して得られる第４処理済単位を内包するか否かを判別するとともに、第３処理済単位が第３の単位と同等か否かを判別させる（判別ステップ）ようコンピュータに機能させるのである。
このように、全自動化により連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。
【０１０２】
次に、ＥＣＯ設計における固有化処理について説明する。
図７（ａ）〜（ｄ）及び図８はいずれも本発明の第１実施形態に係るＥＣＯ設計における固有化処理を説明するための図である。この図７（ａ）に示すチップ８０は、モジュールＡ，Ｃを内包し、また、モジュールＡとモジュールＣとはそれぞれ、モジュールＢを内包している。通常設計において、固有化が実行されると、例えば、図７（ａ）に示すような固有なモジュール名が付けられる。そして、図７（ｂ）に示すように、その変更履歴には、モジュールＡは名称Ａ−１と書き込まれ、モジュールＣは名称Ｃ−１と書き込まれる。同様に、モジュールＡ内のモジュールＢは名称Ｂ−１と、モジュールＣ内のモジュールＢは名称Ｂ−２と書き込まれる。
【０１０３】
図７（ｃ）に示す回路は、この回路のいずれかのモジュール（例えばモジュールＢ）の論理を変更した場合における、ＥＣＯ設計を開始するときの回路である。そして、現在処理中の単位についての情報が、設計情報データベース５に保持されているか否かが判別され、保持されている場合は、図７（ｄ）に示すように、設計情報データベース５に書き込まれている参照関係と同一の参照関係になるように名称が生成される。一方、保持されていない場合は、図示しないが、書き込まれている他の単位の名称と重複しないように名称が生成される。
【０１０４】
なお、設計情報が参照されないと、ＥＣＯ設計において、図８に示すような通常設計時の固有名と異なる固有名が付与される可能性があり、後続の処理において、固有名と設計情報とを対比するときに名称が不一致となることがある。
従って、ＥＣＯ設計において、回路変更が発生した箇所以外を旧回路と同等に復元することができる。すなわち、固有化処理において、固有化後の階層名が旧回路の設計時と同一の名称を割り当てられるので、固有化前の回路からＥＣＯ処理を続行できる。
【０１０５】
また、固有化処理部４ｂは、旧回路の設計で作成された設計情報データベース５から、固有化情報データを入力されたときに、その固有化情報を用いて、同一のインスタンス名を有する階層であって未だ固有化されていないものに対して、旧回路と同一の固有名を自動的に付与できる。
このように、新旧回路の階層を一致させることができる。
【０１０６】
そして、このように、固有化処理部４ｂは、設計情報として通常設計時の固有化情報を読み込むので、ＥＣＯ設計を図７（ｃ）に示すチップ８０の全体が、固有化前の回路を用いて再処理されなくても、図７（ｂ）に示すチップ８０が有する設計完了状態の回路情報と、変更のあったモジュール（例えばモジュールＢ）の回路情報とを用いて、再処理することも可能である。このとき、通常設計が完了したときの設計情報が、「全モジュール固有化済み」を示していても、ＥＣＯ設計処理においては、パラメータ指定されたＥＣＯ設計の対象となるモジュールは、強制的に再処理される。
【０１０７】
さらに、図１に示すテスト回路生成処理部４ｃと負荷調整処理部４ｄとの詳細を、それぞれ、図３と図４とを用いて詳述する。
図３は本発明の第１実施形態に係るテスト回路生成処理部４ｃのブロック図である。この図３に示すテスト回路生成処理部４ｃは、階層設計やＥＣＯ設計に対応するため、付加的な機能を有し、回路を処理する処理部１０１ｂと、この処理部１０１ｂを制御する制御部１０１ａとを有し、制御部１０１ａの入力側に、テスト回路規則入力部（テスト回路ルール入力部）３ｄが設けられている。また、図３に示すもので、上述したものと同一の符号を有するものは同一のもの又は同様の機能を有するものなので、更なる説明を省略する。各部間の太線についても、図２に示すものと同様である。
【０１０８】
ここで、テスト回路規則入力部３ｄは、どのようにテスト回路を生成するかについてのテスト回路情報をテスト回路生成処理部４ｃに入力するものである。このテスト回路情報とは、例えばスキャン（回路から信号を取り出したり、あるいは、その信号を設定すること）と呼ばれる手法や、ビスト（自動ラストのための回路を埋め込むこと）と呼ばれる手法等についての詳細な情報である。そして、設計者は、必要なテスト回路情報が書き込まれた複数のファイルの中から所望のファイルを選択し、これにより、設計装置１が起動したときに、その選択されたファイルが自動的に読み込まれるようになっている。
【０１０９】
まず、処理部１０１ｂは、固有化処理部４ｂの処理部１００ｂと異なり、回路解析部８ｄとテスト回路生成部９ｄと階層整合性復元部１０ｄとを有する。
回路解析部８ｄは、設計情報データベース５に基づいて、ＥＣＯ設計対象単位について、通常設計時に作成された通常設計情報及びテスト回路規則を用いて、通常設計時と同一のテスト回路を生成できる部分と、新たなテスト回路を生成すべき部分とのそれぞれを識別する識別データを抽出するものである。これにより、作業用メモリの使用量が最適化される。
【０１１０】
テスト回路生成部９ｄは、回路解析部８ｄにより抽出された識別データに基づき、ＥＣＯ設計対象単位について、通常設計時と同一のテスト回路を生成できる部分について同一のテスト回路を生成し、新たなテスト回路を生成すべき部分についてテスト回路規則に従ったテスト回路を生成するものである。これにより、ＥＣＯ設計におけるテスト回路の設計効率が大幅に向上する。
【０１１１】
階層整合性復元部１０ｄは、設計情報データベース５に保持された設計情報に基づいて、下位階層にテスト信号入力用として追加した端子と上位階層が参照した階層における端子との間の端子不整合を解消するものであって、これにより、ＥＣＯ設計における設計者の操作性が大幅に向上する。
また、この階層整合性復元部１０ｄは、ＥＣＯ設計に当たり、設計情報のうち通常設計時についての通常時設計情報とＥＣＯ設計対象単位と上位階層における端子情報とを用いて、階層整合性を復元するようになっている。
【０１１２】
次に、制御部１０１ａは、固有化処理部４ｂの制御部１００ａと異なり、回路解析制御部８ｃとテスト回路生成制御部９ｃと階層整合性復元制御部１０ｃとを有する。ここで、回路解析制御部８ｃは回路解析部８ｄを制御するものでありテスト回路生成制御部９ｃはテスト回路生成部９ｄを制御するものであり、また、階層整合性復元制御部１０ｃは階層整合性復元部１０ｄを制御するものである。
【０１１３】
なお、制御部１０１ａと処理部１０１ｂとは、それぞれ、例えばソフトウェアにより実現される。
そして、固有化処理部４ｂ（図２参照）と同様に、制御のために必要な情報が、設計情報データベース５から、Ｌ３と付したルートを通り、制御部１０１ａに入力され、また、設計対象のデータは、設計情報データベース５から、Ｌ４と付したルートを通り、処理部１０１ｂにて、データ処理される。
【０１１４】
このように、制御データと、回路データとが２系統にてそれぞれ伝送するので、効率よく設計できるようになる。
次に、図９（ａ），（ｂ）を用いてテスト回路生成処理部４ｃの階層設計を説明し、図１０（ａ）〜（ｄ）を用いてＥＣＯ設計を説明する。
図９（ａ），（ｂ）はいずれも本発明の第１実施形態に係る階層設計におけるテスト回路生成処理を説明するための図である。この図９（ａ）に示す回路モジュールＣ（モジュールＣ）は、２個の回路モジュール（内部の２個の四角形）を内包する。また、図９（ｂ）に示す回路モジュールＤは、モジュールＣのほか他の回路モジュールを内包している。
【０１１５】
そして、テスト回路生成処理部４ｃは、図９（ｂ）に示すモジュールＣと他のモジュールとを接続するために端子名称を回路情報データベース２から読み出す。さらに詳述すると、処理対象判別部７ａ（図３参照）にて第３の単位Ｃが設計情報データベース５に書き込まれているか否かが判別される。そして、第３の単位Ｃの書き込み有りと判別された場合は第３の単位Ｃについて設計情報データベース５に保持された設計情報が読み出され、処理データ取得部７ｂにて必要な設計情報が取得され、回路解析部８ｄを介して、テスト回路生成部９ｄにてテスト回路が生成されるのである。
【０１１６】
換言すれば、階層設計において、第３の単位Ｃが処理され、次に第３の単位Ｃを内包している第４の単位Ｄを処理するに当たり、第３の単位Ｃが第４の単位Ｄにおいて参照されていても、設計情報データベース５に情報が格納されているか否かが自動判別され、格納されているときはその情報によって、第４の単位Ｄの回路が変更される。
次に、図１０（ａ）〜（ｄ）はいずれも本発明の第１実施形態に係るＥＣＯ設計におけるテスト回路生成処理を説明するための図であって、テスト用のスキャンチェーンを例にして説明する。この図１０（ａ）に示すチップ８２は、回路モジュールＧ（モジュールＧ）を内包し、モジュールＧは、複数のフリップフロップ（ＦＦ）を内包する。また、図１０（ｂ）に示す回路は、スキャン完成回路であって、モジュールＧ内の複数のフリップフロップ（ＦＦ）間がそれぞれ接続され、また、回路の端子情報が付与され、モジュールＧと回路の端子とが接続されている。
【０１１７】
テスト回路生成処理において、ＥＣＯ処理により回路変更した部分以外については、旧回路のテスト回路を復元する必要がある。このため、テスト回路生成処理部４ｃは、旧回路の設計で作成された設計情報データベース５を読み込み、同一端子の追加、同一論理ゲートの追加、同一のテスト用のスキャンチェーンの接続等によって旧回路と同等のテスト回路を復元する。そして、回路変更のあった箇所については新たにテスト回路が生成される。
【０１１８】
例えば、図１０（ｃ）に示す回路は、設計者がモジュールＧを変更したものであり、モジュールＧ′となっている。このモジュールＧ′は、図１０（ａ）のモジュールＧと同じく、スキャン完成回路が存在しない状態である。
図１０（ｄ）に示すモジュールＧ′は、復元されたテスト回路であり、テスト回路生成処理部４ｃは、設計情報データベース５から履歴情報を読み出して、フリップフロップ間の接続やテスト端子名を認識し、旧回路と同等なテスト用のスキャンチェーンを生成するのである。
【０１１９】
このように、テスト回路生成処理において、追加した端子の情報、追加した論理ゲートの情報、テスト回路の接続情報が、それぞれ、設計情報として書き込まれる。
また、このように、上位階層の処理において、各回路モジュールは、いずれも、設計情報データベース５から下位階層のテスト回路情報を取得して、上位階層のテスト回路が生成される。
【０１２０】
さらに、このように、ＥＣＯ設計において、旧回路と新回路とのそれぞれの回路を比較する必要がなく、また、回路の比較と差分解析とが不要となるので、複雑な処理が不要となり、さらに、設計者の情報入力が不要となるので、設計効率が大幅に向上する。
このようにして、旧回路を設計したときの設計情報が使用され、新回路の回路変更箇所以外を自動的に旧回路と同等に復元できる。
【０１２１】
また、図３に示すテスト回路生成処理部４ｃは、固有化処理部４ｂと同様に、上位階層を処理するときに、内包している下位階層について、回路情報データベース２の代わりに、設計情報データベース５から情報を取得する。具体的には、テスト回路生成処理部４ｃは、下位階層を処理すべき単位として設計した処理結果等を取得し、処理された部分を自動的に判別する。
【０１２２】
このようにして、下位階層についての回路情報データベース２が不要となり、テスト回路生成処理のために使用する、作業用メモリの容量が大幅に節約できる。
次に、図４を用いて、負荷調整処理部４ｄについて説明する。
図４は本発明の第１実施形態に係る負荷調整処理部４ｄのブロック図である。この図４に示す負荷調整処理部４ｄは、回路を処理する処理部１０２ｂとこの処理部１０２ｂを制御する制御部１０２ａとを有する。図４に示すもので、上述したものと同一の符号を有するものは、同一のもの又は同様の機能を有するものなので、重複した説明を省略する。また、これらのものは、いずれも、回路情報データベース２と設計情報データベース５とに接続されている。
【０１２３】
処理部１０２ｂは、固有化処理部４ｂの処理部１００ｂと異なり、端子負荷・駆動能力設定部８ｆと、負荷解析部９ｆと、回路調整部１０ｆとを有する。また、制御部１０２ａは、固有化処理部４ｂの制御部１００ａと異なり、端子負荷・駆動能力設定制御部８ｅと、負荷解析制御部９ｅと、回路調整制御部１０ｅとを有する。
ここで、端子負荷・駆動能力設定部８ｆは、上位階層の回路から参照する下位階層端子のそれぞれについて、下位階層の負荷調整処理で得られた負荷情報及び駆動能力情報を付与するものである。この端子負荷・駆動能力設定部８ｆは、設計情報データベース５に保持された階層端子のみなし負荷容量値を設定する。
【０１２４】
そして、負荷解析部９ｆは、論理ゲート（論理素子）が駆動可能な端子容量を解析して、駆動不能な端子を抽出するものである。具体的には、負荷解析部９ｆは、論理ゲートの駆動能力と、駆動される論理ゲートや処理済み階層における階層端子の負荷容量及び配線容量から計算される総負荷容量とを評価して駆動不能箇所を抽出するものである。ここで、処理済み階層における階層端子の負荷容量や駆動能力は、端子負荷・駆動能力設定部８ｆによって、設計情報データベース５中の情報を利用して設定される。
【０１２５】
さらに詳述すると、駆動される側が論理ゲートであるときは、その負荷容量値は、テクノロジライブラリ（図示省略）から取得される。また、駆動する配線の負荷容量は、配線長と分岐数とに基づいて計算される。そして、駆動する側が論理ゲートであるときは、その駆動能力値は、テクノロジライブラリから取得される。
また、回路調整部１０ｆは、負荷解析部９ｆにて抽出された駆動不能な端子を調整するものである。具体的には、回路調整部１０ｆは、負荷解析部９ｆにてエラーが抽出された論理ゲートについて、より大きい駆動能力を有する論理ゲートに置き換えたり、あるいは、ファンアウト数が多い部分について、バッファを回路に挿入して負荷を分散させるように調整する。これにより、回路における各端子がいずれも適切な容量に調整されるようになる。
【０１２６】
また、端子負荷・駆動能力設定制御部８ｅ，負荷解析制御部９ｅ，回路調整制御部１０ｅは、それぞれ、端子負荷・駆動能力設定部８ｆ，負荷解析部９ｆ，回路調整部１０ｆを制御するものである。
そして、固有化処理部４ｂ（図２参照）と同様に、制御のために必要な情報が、設計情報データベース５から、Ｌ３と付したルートを通り、制御部１０２ａに入力され、また、設計対象のデータは、設計情報データベース５から、Ｌ４と付したルートを通り、処理部１０２ｂにて、データ処理される。
【０１２７】
これにより、負荷調整において、分割された単位ごとに調整され、その単位の最上位階層の各端子に階層内部の論理ゲートのスペックから求めた負荷と駆動能力とを設定した、設計情報が作成される。そして、より上位の階層における負荷調整実行時には、設計情報データベース５から負荷と駆動能力の情報とを取得することによって、処理される。
次に、図１１（ａ）〜（ｄ）を用いて、負荷調整処理について説明する。
【０１２８】
図１１（ａ）〜（ｄ）はいずれも本発明の第１実施形態に係る階層設計における負荷調整処理を説明するための図であって、主として回路調整部１０ｆにて処理されるものである。この図１１（ａ）に示すチップ８３は、モジュールＡ，Ｂ，Ｃ，Ｄを内包しており、モジュールＡ，Ｂ間に、論理ゲート（以下、ゲートと称することがある）ＬＧが存在することもある。
【０１２９】
まず、モジュールＡなどの負荷調整を行なうと、図１１（ｂ）に示すような論理ゲートで構成された回路が含まれる。この図１１（ｂ）に示すゲートＧ１は、ゲート群Ｇ２の４個の論理ゲートを駆動するので、駆動能力が不足し駆動不能となる可能性がある。ここで、駆動可能とするためには、ゲートＧ１を同一の論理でより駆動能力の大きな論理ゲートに置き換えるか、又は、図１１（ｃ）に示すように、バッファ６６を挿入し、それぞれの論理ゲートが駆動する論理ゲートの数を減少させるのである。このような方法により、モジュールＡ〜Ｄのそれぞれの負荷調整を処理する。
【０１３０】
また、モジュールＡの負荷調整が処理されると、モジュール端子（階層端子とも称する）の入力端子に、その先にて駆動される論理ゲートの負荷容量値を代表してもたせることが可能であり、モジュール端子の出力端子に、その端子に信号を送信する論理ゲートの駆動能力を代表してもたせることができる。
このようにして、図１１（ｄ）に示すように、モジュールＡ〜Ｄのそれぞれについて、端子負荷・駆動能力情報が、設計情報データベース５にファイルとして、書き込まれる。
【０１３１】
これにより、階層設計において、モジュールＡ〜Ｄが、一旦、負荷調整完了した後に、チップレベルの負荷調整が実行され、モジュールＡ〜Ｄの駆動能力と負荷とに関する情報が利用される。
また、図４に示す負荷調整処理部４ｄは、固有化処理部４ｂ及びテスト回路生成処理部４ｃと同様に、上位階層を処理するときに、内包している下位階層について、回路情報データベース２の代わりに、設計情報データベース５にアクセスして、下位階層を処理すべき単位として設計した処理結果等を取得し、処理された部分を自動的に判別する。
【０１３２】
このようにして、下位階層についての回路情報データベース２が不要となり、回路計算において、作業用メモリの容量が大幅に節約できる。
上述の構成により、図１２を用いて回路データの流れについて説明し、また、図１３及び図１４を用いて階層設計について説明し、図１５及び図１６を用いてＥＣＯ設計について詳述する。
【０１３３】
図１２は本発明の第１実施形態に係る回路データの流れを説明するための図である。この図１２に示す回路モジュールイメージ４２ａ（以下、モジュール４２ａと称する）は、回路情報データベース２に保持されたデータイメージであり、サブモジュールＡ，Ｂ（ｓｕｂｍｏｄＡ，ｓｕｂｍｏｄＢ）を内包する。また、サブモジュールＡは、回路要素Ａ１，Ａ２を内包し、サブモジュールＢは、回路要素Ｂ１と、配線Ｄ１，Ｄ２，Ｄ３とを内包する。
【０１３４】
さらに、回路モジュールイメージ４２ｂ（以下、モジュール４２ｂと称する）は、自動設計処理部３にて処理された後のデータイメージである。そして、モジュール４２ａのサブモジュールＡはテスト回路生成処理により、回路要素Ａ１，Ａ２間が配線され、テスト端子Ａ３，Ａ４（ＳＩ，ＳＯと付されたもの）が付与される。また、モジュール４２ａのサブモジュールＢは負荷調整により、回路要素Ｂ２が配線Ｄ１〜Ｄ３に設けられる。
【０１３５】
また、データイメージ４１ｄ，４１ｅは、いずれも、設計情報データベース５に保持され、そして、テスト回路生成処理により発生したテスト端子の情報や、スキャンチェーンの情報が、モジュール４２ｂのサブモジュールＡの回路生成情報として保持される。さらに、負荷調整処理により発生した情報は、サブモジュールＢの負荷容量情報及び駆動能力情報として保持される。
【０１３６】
これにより、モジュール４２ａを一度に処理するには、作業メモリが不足する場合においても、サブモジュールＡの処理と、サブモジュールＢの処理と、設計情報データベース５を利用したモジュール４２ａの処理とを順番に行なうことにより、少ない作業用メモリで処理できる。
図１３は本発明の第１実施形態に係る半導体回路Ａのデータイメージを示す図である。この図１３に示す半導体回路Ａは、所定階層におけるチップ（以下、チップＡと称することがある）であり、回路モジュールＢ，Ｄ（以下、モジュールＢ，Ｄと称する）と、２個の回路モジュールＣ（以下、モジュールＣと称する）とを内包している。さらに、これらのモジュールＢ，Ｃ，Ｄは、それぞれ、サブモジュールＸを内包する。
【０１３７】
そして、この半導体回路Ａについて、モジュールＢ，Ｃ，Ｄ，Ｘ，Ａの順に、ＨＤＬ変換処理、固有化処理、テスト回路生成処理、負荷調整処理が実行される。
なお、以下の説明では、このモジュールは、単位（処理すべき単位又は処理された単位）という意味でも使用する。
図１４は本発明の第１実施形態に係る階層設計を説明するためのフローチャートである。まず、ステップＡ１にて、ＨＤＬで記述された半導体回路（チップ）Ａのデータが、回路情報データベース２に変換される。そして、このＨＤＬ変換によりモジュールＢ，Ｃ，Ｄがそれぞれ、回路情報データベース２に保持される。
【０１３８】
次に、モジュールＢとモジュールＢに属するモジュールの処理が、ステップＡ２にて行なわれる。すなわち、固有化処理され（ステップＡ２ｘ）、テスト回路生成処理され（ステップＡ２ｙ）、負荷調整処理される（ステップＡ２ｚ）。また、これらの処理により変更された情報はそれぞれ設計情報データベース５に保持される。
続いて、モジュールＣとモジュールＣに属するモジュールの処理が、ステップＡ３にて行なわれる。すなわち、固有化処理され（ステップＡ３ｘ）、テスト回路生成処理され（ステップＡ３ｙ）、負荷調整処理され（ステップＡ３ｚ）、そして、これらの処理により変更された情報はそれぞれ設計情報データベース５に保持される。
【０１３９】
同様に、モジュールＤとモジュールＤに属するモジュールの処理が、ステップＡ４にて行なわれる。すなわち、固有化処理され（ステップＡ４ｘ）、テスト回路生成処理され（ステップＡ４ｙ）、負荷調整処理され（ステップＡ４ｚ）、これらの処理により変更された情報はそれぞれ設計情報データベース５に保持される。
そして、ステップＡ５にて、チップレベル処理により作業用メモリの容量不足を生じる可能性がある階層が、既に処理済みか否かが判定され、処理済みでないときは、Ｎルートを通り、ステップＡ６にて未処理の階層が処理され、また、処理済みのときは、Ｙルートを通る。
【０１４０】
ここで、ステップＡ７において、チップＡを処理する場合には内包しているモジュールＢ，Ｃ，Ｄの情報が既に設計情報データベース５に保持されているため、回路情報データベース２からチップＡの情報が読み込まれ、設計情報データベース５から必要な情報を取得され、回路が変更される。さらに、既に処理されたモジュールに関する実体については参照されない。
【０１４１】
まず、チップＡの未処理の部分について、固有化処理され（ステップＡ７ｘ）、テスト回路生成処理され（ステップＡ７ｙ）、負荷調整処理される（ステップＡ７ｚ）。また、テスト回路生成処理及び負荷調整においては設計情報データベース５に保持されているモジュールＢ，Ｃ，Ｄの情報が参照されて、チップＡの回路が変更される。ここで、実体の回路情報は参照されていない。続いて、ステップＡ８において、ゲートレベルとして完成されたチップＡのゲートレベルのデータ（ＨＤＬデータなど）が出力され、以降、物理設計工程に進む。
【０１４２】
このように、回路情報データベース２からチップＡの情報を読み込むときに、設計情報データベース５から必要な情報だけが取得され、変更が不要な回路については情報が取得されないで、設計が行なわれる。
また、このようにして、処理されたモジュールが複数参照されている場合でも設計情報データベース５に保持された情報が使用されることにより、上位階層におけるモジュールの回路変更が可能となる。
【０１４３】
続いて、ＥＣＯ処理について説明する。
図１５は本発明の第１実施形態に係る他の半導体回路（チップ）Ａのデータイメージを示す図である。この図１５に示すチップＡは、回路モジュールＢ，Ｃ，Ｄ，Ｅ（以下、モジュールＢ，Ｃ，Ｄ，Ｅと称する）を内包する。ここで、モジュールＣに含まれるサブモジュールＹ−０は、設計者が、一旦、設計を完成した後のものである。そして、このサブモジュールＹ−０は、設計者の設計変更により名称Ｙ′を有するサブモジュールに置き換えられる。なお、この図１５に示す名称Ａ，Ｂ，Ｃ，Ｄは、いずれも図１３，図１４に示すそれらとは別のものである。
【０１４４】
前提として、設計の対象となるチップＡの全体は、既に設計装置１を用いて設計されている。そして、設計者はＥＣＯ処理の対象とするモジュールの回路情報を含む回路情報データベース２の他に、設計完成時において生成された設計情報データベース５を保持しているとする。
設計者は、回路の論理を変更しない場合は、設計装置１を用いて設計完了した回路を変更するのではなく、それ以前における回路を変更する。この回路は、設計者自身が仕様に基づき作成した回路である。そして、その変更された情報は、ＨＤＬ変換により回路情報データベース２に再入力される。
【０１４５】
そして、設計者は、変更したモジュールの名称を、設計装置１に対してパラメータとして入力する。設計装置１は、この名称から、設計情報データベース５内の階層情報を読み出して、回路情報データベース２内から必要な回路情報のみを選択して作業用メモリにロードする。
ここで、ＥＣＯ設計の対象となるモジュールが、複数参照されているモジュールであり、かつ、固有化が必要な場合には、設計装置１は、設計情報データベース５の固有化情報を参照する。そして、その参照したモジュールが、それ以前の固有化時に存在していたモジュールである場合には、同一の名称が再度付与される。
【０１４６】
一方、その参照したモジュールが、設計情報データベース５の固有化情報に存在しないモジュールであって新たに追加されたものである場合は、設計装置１は、現在参照している設計情報データベース５に保持された情報の範囲内において、他のモジュールと重複しない名称に変更する。
そして、設計者が前回の処理時にはなかった端子を追加したり又は逆に端子を削減した場合であって、ＥＣＯ設計でないときは、設計装置１は、ＨＤＬ記述違反としてエラーとする。一方、ＥＣＯ設計であるときは、設計装置１は、設計情報データベース５を参照して一時的不整合を容認する。
【０１４７】
さらに、設計装置１は、ＥＣＯ設計の対象となったモジュールに含まれるものであっても、設計情報データベース５を参照し、前回の処理時に付加した回路と同一の回路を可能な限り、復元する。このとき、設計情報データベース５中の情報と、ＥＣＯ設計対象モジュール中の回路との対応は、インスタンス名の一致などにより判断あれ、いずれも前回処理されたときと同一構成の付加回路に含まれるように処理される。
【０１４８】
次に、図１６（ａ），（ｂ）を用いてＥＣＯ処理について説明する。図１６（ａ），（ｂ）は本発明の第１実施形態に係るＥＣＯ処理を説明するためのフローチャートである。ここで、図１６（ａ）は通常処理を表すものであり、図１６（ｂ）は本発明のＥＣＯ処理を表す。
まず、図１６（ａ）において、未完成の半導体回路ＡのＨＤＬデータが、回路情報データベース２に変換され（ステップＢ１）、固有化処理され（ステップＢ２）、テスト回路生成処理され（ステップＢ３）、負荷調整処理され（ステップＢ４）、そして、ゲートレベルとして完成された半導体回路ＡのＨＤＬデータが出力される（ステップＢ５）。
【０１４９】
また、図１６（ｂ）において、一旦完成された半導体回路ＡのＨＤＬデータと、回路変更されたサブモジュールＹのＨＤＬデータとが、それぞれ、回路情報データベース２に変換され（ステップＣ１）、ステップＣ２において、通常処理時の履歴に基づき固有化処理されて、新たなサブモジュールＹ′が得られ、この名称Ｙ′が名称Ｙ−０に変更される。さらに、階層構造の復元が確認され（ステップＣ３）、通常処理時の履歴に基づきテスト回路生成処理され（ステップＣ４）、接続関係の復元が確認され（ステップＣ５）、通常処理時の履歴に基づいて負荷調整処理され（ステップＣ６）、ＥＣＯ処理が完了した半導体回路ＡのＨＤＬデータが出力される（ステップＣ７）。
【０１５０】
このように、本発明の設計装置１は、大規模半導体回路の階層設計又はＥＣＯ設計において、回路のすべてにわたって回路情報データベース２を参照せずに、各階層を処理したときや、又は、前回処理したときに自動的に抽出した設計情報データベース５を参照し、各モジュール間の関係を自動的に認識して処理するため、作業用メモリの使用量を最適にでき、設計者の負担を一括設計と同等にまで削減できる。
【０１５１】
また、このように、すべての工程が自動化されるため、複数の処理を連続的に実行することが可能になり、処理時間の削減、ひいては設計期間が短縮され、そして、固有化処理と、テスト回路生成処理と、負荷調整処理とのそれぞれについて設計効率が向上する。
このようにして、例えば端子の境界情報や端子等の設計情報が自動的に入力され、履歴情報から現在の処理における処理対象外の部分が自動的に判別され、また、その処理対象外の部分に含まれる設計情報が自動的に抽出されて、現在設計中の部分の処理に利用される。
【０１５２】
従って、このようにして、階層設計が容易に実現でき、また、大規模回路の階層設計が非常に効率よくできる。
（Ｂ）本発明の第２実施形態の説明
第２実施形態は、回路設計におけるタイミング配分装置についてのものであり、この回路設計においては、ＰＣＢ設計やＬＳＩ設計を含むタイミング配分について設計される。
【０１５３】
図１７は本発明の第２実施形態に係る回路設計の工程を示す図である。まず、システム仕様が設計され（ステップＰ１）、ステップＰ２にて、システムアーキテクチャが検討され（ステップＰ２ｘ）、ＰＣＢ及びＬＳＩのブロック分割が設計される（ステップＰ２ｙ）。続いて、ＰＣＢのタイミング仕様が設計された後（ステップＰ３）、ＰＣＢがインプリメントされる（ステップＰ４）。一方、ＬＳＩについては、タイミング仕様が設計された後（ステップＰ５）、ＬＳＩがインプリメントされる（ステップＰ６）。
【０１５４】
そして、ＰＣＢのタイミング仕様の設計と、ＬＳＩのタイミング仕様の設計とは、それぞれ、相互に密接にデータを共有するようにして進めることができるようになっている。本発明のタイミング配分装置は、ステップＰ２〜ステップＰ３又はステップＰ５の間の工程にて用いられるのが好ましく、また、分散設計に用いるのが好ましく、さらに、ＰＣＢ又はＬＳＩのインプリメントに重大な影響を与えるものである。なお、ステップＰ３とステップＰ５との間は、独立して設計されているが、設計中のデータを相互に参照することができるようになっている。
【０１５５】
図１８は本発明の第２実施形態に係るブロック分割設計の工程を示す図であり、この図１８に示すステップ名のうち、図１７に示すものと同一のものは、同一のステップを表す。ここで、ステップＰ２ｙにて、ＰＣＢとＬＳＩとにブロック分割され、ブロック情報が生成され、ステップＰ７において、タイミング配分（ＰＣＢ，ＬＳＩ）について設計される。具体的には、ブロック情報，制約定義情報，ＨＤＬソースコード（以下、ソースコードと略称することがある）及び後述するライブラリデータに基づいて、タイミング配分が決定されるようになっている。一方、ソースコードに設計内容が反映され（ステップＰ８）、タイミング付き論理シミュレーションが可能となるとともに（ステップＰ９）、ＰＣＢ又はＬＳＩがインプリメントされる（ステップＰ４，Ｐ６）。
【０１５６】
図１９は本発明の第２実施形態に係る回路設計装置の構成図である。この図１９に示す回路設計装置１ａ（以下、設計装置１ａと称することがある）は、回路を設計するものであって、タイミング配分装置５１と、配分レポート作成部５０ｄとをそなえて構成されている。また、図１９に示す設計装置１ａは、レイアウトＣＡＤ装置５２ａ，５２ｃと、波形解析ＣＡＤ装置５２ｂと接続されている。ここで、レイアウトＣＡＤ装置５２ａ，５２ｃは、それぞれ、ＬＳＩ用／ＰＣＢ用のレイアウトに関して設計するものであり、波形解析ＣＡＤ装置５２ｂは、回路の波形を解析するものであり、ＬＳＩ及びＰＣＢの双方を設計できる。
【０１５７】
図２０は本発明の第２実施形態に係るタイミング配分装置５１のブロック図である。この図２０に示すタイミング配分装置５１（以下、本装置５１と称することがある）は、階層設計において、タイミング配分値を決定するものであって、階層間連携マネージャ５３と、タイミング配分作成部５４ａ〜５４ｅと、タイミング情報データベース（以下、ＴＤＢ［Timing Data Base］と称することがある）５７ａ〜５７ｅとをそなえて構成されている。
【０１５８】
このタイミング配分値（以下、配分値と称することがある）とは、回路ブロック間の配線における第１の配分値と回路ブロック単位の内部における第２の配分値とを意味する。第１の配分値は、ブロック間配線遅延値，配線長，配線負荷容量について配分したものであり、第２の配分値は、トランジスタ製造プロセスによるばらつきや温度も考慮したゲート遅延値，処理が完了するまでの時間を示す遅延サイクル数，ブロック内部の配線における遅延値について配分したものである。
【０１５９】
また、階層間連携マネージャ５３は、タイミング配分作成部５４ａ〜５４ｅのそれぞれに接続され、タイミング配分作成部５４ａ〜５４ｅのそれぞれの間とタイミング配分値に関する修正情報を送受信するものである。また、タイミング配分作成部５４ａ〜５４ｅは、それぞれ、複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリストを有するＴＤＢ５７ａ〜５７ｅから回路の機能に関するブロック情報を入力され、回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうるものである。
【０１６０】
さらに、ＴＤＢ５７ａ〜５７ｅは、それぞれ、ネットリスト表現によるデータベースであって、階層エンティティのうちの制約定義情報と、仮レイアウト及び実レイアウト後のタイミング情報とを配線形態を意識した状態で保持している。なお、配線形態を意識した状態での保持内容については、図３３（ａ）〜（ｃ）を用いて後述する。
ここで、階層エンティティとは、各階層ごとの情報を管理するものであり、図２１，図２２を用いて後述する。また、ネットリストとは、回路における部品、配線接続情報、位置情報等をテキストファイルのリスト形式で出力したものであり、このネットリストが読み込まれることにより、設計者が部品を１つづつ入力せずに、全部品を回路上に配置できるようにするためのものである。
【０１６１】
さらに、制約定義情報とは、タイミングに関する制約情報であり、例えば一つの端子から他の端子に信号を伝送するのに、何ｎｍ（ナノメートル）以下の制限がある等の情報を意味するほか、回路設計において、部品配置が禁止されている箇所や、部品の高さ等を表す情報を意味する。そして、タイミング情報とは、フロアプラン（配置位置情報）が生成された後のものであり、その内容は配線形態を意識したネットリスト表現で保持されている。この配線形態を意識したネットリスト表現とは、ネットリストの名称付与に関するものであって、その詳細については、図３３（ａ）〜（ｃ）を用いて後述する。
【０１６２】
次に、図２０に示す配分マネージャ５６ａ〜５６ｅと、階層間連携マネージャ５３との間における配分値の送受信について説明する。フロアプラン部５５ａは論理／制約情報保持部６４ａに接続され、回路素子の配置及び回路素子間の配線に関するフロアプランに基づきタイミングを配分して仮配線するものである。そして、配分マネージャ５６ａは論理／制約情報保持部６４ａとタイミング情報保持部６５ａとに接続され、ネットリストに基づいて遅延値を出力するものである。配分マネージャ５６ｂ〜５６ｅは、それぞれ、論理／制約情報保持部６４ｂ〜６４ｅとタイミング情報保持部６５ｂ〜６５ｅとに接続され、ネットリストに基づいて遅延値を出力するものである。なお、論理／制約情報保持部６４ａ，タイミング情報保持部６５ａの詳細については、図２４を用いて後述する。
【０１６３】
図２１は本発明の第２実施形態に係る階層間の配分値の送受信を説明するための図である。この図２１に示す階層間連携マネージャ５３は、各階層エンティティを担当する各配分マネージャ５６ａ〜５６ｅとの間において、データを送受信し、必要な情報を得るようになっている。
また、階層間連携マネージャ５３は、ＴＤＢ５７ａ〜５７ｅのうちの一つが送信したタイミング配分仕様変更要求を受信し、タイミング配分仕様変更が影響を与えうる他のＴＤＢ５７ａ〜５７ｅを抽出し、他のＴＤＢ５７ａ〜５７ｅに対してタイミング配分値の変更の可否を問い合わせるようになっており、他のＴＤＢ５７ａ〜５７ｅからタイミング配分値の変更可能を受信すると、所望のＴＤＢ５７ａ〜５７ｅに対して変更可能を出力するようになっており、さらに、タイミング配分値が変更されると、その変更された階層よりも上位の階層エンティティが更新されるようになっている。
【０１６４】
すなわち、設計者によるタイミング仕様変更が影響を与える他階層が自動的に抽出され、その変更の可否が階層間連携マネージャ５３及び配分マネージャ５６ａ〜５６ｅを介して、その階層のＴＤＢ５７ａ〜５７ｅに問い合わせられるのである。また、その変更可否の結果が、タイミング配分値の変更が可能であるものであれば、設計者に対して、変更通知が発行されるようになっている。これにより、タイミング仕様の変更が迅速に通知される。
【０１６５】
そして、タイミング配分値が変更された場合、階層間連携マネージャ５３によって、タイミング変更された階層エンティティのＴＤＢ５７ａ〜５７ｅから、必要な部分のみがその階層エンティティよりも上位の階層エンディティに対して、自動的に、タイミング配分値として取り込まれる。
なお、図２１に示す配分マネージャ５６ｄは配分マネージャ５６ａと同様のものであり、ＴＤＢ５７ｄもＴＤＢ５７ａと同様なものであり、更なる説明を省略する。
【０１６６】
図２２は本発明の第２実施形態に係る上位階層と下位階層との間の配分値の送受信を説明するための図である。この図２２に示すもので、上述したものと同一の符号を有するものは同一のもの又は同様の機能を有するものであるので、更なる説明を省略する。
これにより、最上位階層は、下位階層からの配分値を得られるので、システム全体での静的なタイミング解析（ＳＴＡ）が可能となる。このＳＴＡとは、テストベンチをせずにタイミング検証することを意味する。
【０１６７】
また、階層間連携マネージャ５３は、ＴＤＢ５７ａ〜５７ｅに対して、タイミング情報データが不足している回路ブロックを抽出して入力するとともに、その不足している回路ブロックを設計者に対して通知するようになっており、これにより、設計者の作業効率が向上する。
次に、この図２１に示す各配分マネージャ５６ａ〜５６ｅを模式化したものを図２３に示す。
【０１６８】
図２３は本発明の第２実施形態に係る階層エンティティを説明するための図である。この図２３に示す円のそれぞれが、各設計階層ごとに設けられた階層エンティティを表し、これらは木構造になっている。この階層エンティティは、具体的には各設計階層において必要な設計情報を一まとめにしたものである。ここで、設計情報とは、ＴＤＢ，ネットリスト，ブロック情報，制約定義情報，レイアウト情報，仮／実レイアウト後，タイミング情報等を意味する。
【０１６９】
従って、階層設計において、各階層ごとに階層エンティティと階層エンティティのデータを処理するプログラムとが、一つの設計階層として分割されている。換言すれば、オブジェクト指向（エージェント指向）を用いることにより、システム全体のタイミングが配分されるのである。
これにより、複数の設計階層が、相互に、階層間連携マネージャ５３を介して通信できるようになっている。
【０１７０】
図２３に示す階層エンティティ９０ａ（ＰＣＢブロック）は、階層エンティティ９０ｂ（ＬＳＩ２ブロック）に対して、見積もり要求やバックアノテーション要求を送信し、また、階層エンティティ９０ｂからの見積もり返答や実遅延値返答を受信する。さらに、階層エンティティ９０ｂは、階層エンティティ９０ｃ（ＨＬＢ２−２ブロック）及び階層エンティティ９０ｄ（ＨＬＢ２−１ブロック）との間で、同様な要求又は返答を送受信する。また、これら以外の各階層エンティティについても、同様である。そして、見積もり要求／バックアノテーション要求，見積もり返答／実遅延値返答は、それぞれ、階層間連携マネージャ５３と配分マネージャ５６ａというプログラムによって実行される。なお、ＨＬＢ（Hierarchy Layout Block：階層レイアウトブロック）とは、ＬＳＩ中のサブブロックを表す。
【０１７１】
従って、本装置５１は、タイミング配分作成部５４ａ〜５４ｅが、複数の設計階層のそれぞれに対応して設けられ設計情報を有する階層エンティティと設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、階層間連携マネージャ５３が、エージェントとしてのタイミング配分作成部５４ａ〜５４ｅに接続され複数の設計階層のそれぞれとタイミング配分値に関する情報を送受信するマネージャとして構成されたことになる。
【０１７２】
また、階層間連携マネージャ５３（図２１，図２２等参照）は、配分マネージャ５６ａ〜５６ｅの組み合わせを変更できるようになっている。従って、階層間連携マネージャ５３と、配分マネージャ５６ａ〜５６ｅのそれぞれとに対応する階層エンティティは、設計対象に応じて自由にかつ動的に変更できる。このため、図２３に示す木構造のうちの特定の円にぶら下がっている（接続されている）複数の円をまとめて、他の複数の円を付け替えることもできる。
【０１７３】
従って、階層エンティティが、全体から部分へ、さらに、部分から他の部分への順に階層間が密接に連携して動作できる。このため、設計者は、設計対象の回路ブロックを下位ブロックヘ分割するときに、試行検討で分割したタイミング仕様についての良否判断が容易となる。加えて、分割が上位から下位に行なわれるので、設計者はタイミング配分値を、概略値から詳細値ヘと得ることができ、アーキテクチャ設計に当たり、タイミングがクリティカルな部分の予測又は検討が可能になる。
【０１７４】
また、そのタイミングがクリティカルな部分については、対象となる部分のみが、実レイアウトを実行されるので、先行検証が可能となる。さらに、設計者は他の回路ブロックにおける配分値を参照しながら設計できるため、誤った配分を防止できる。また、要求される時間（制約）と到着する時間（遅延値）との差は、スラックマージンと呼ばれ、この値の正負により検討する。すなわち、スラックが負の場合は遅延違反となり、正の場合はタイミング要求の範囲内となる。インプリメント時にタイミング仕様にて指定されたその要求を満足できない場合（遅延違反）は、他の部分に配分されている正のスラックを消費することにより、負のスラックの改善を図ることができる。
【０１７５】
なお、タイミング配分作成部５４ｂ〜５４ｅも、タイミング配分作成部５４ａと同一の構成であるので、重複した説明を省略する。次に、図２０に示すタイミング配分作成部５４ａについて、図２４を用いて説明する。
図２４は本発明の第２実施形態に係るタイミング配分作成部５４ａのブロック図である。この図２４に示すタイミング配分作成部５４ａは、フロアプラン部５５ａ，配分マネージャ５６ａ，論理／制約情報保持部６４ａ，タイミング情報保持部６５ａ，ＨＤＬアノテータ５８ｅ，ＨＤＬコンパイラ５８ｆ，配分レポート作成部５０ｄ，波形解析用情報作成部５８ｈ，波形解析用情報保持部５８ｉをそなえて構成されている。以下、論理／制約情報保持部６４ａ，タイミング情報保持部６５ａ，波形解析用情報保持部５８ｉを、それぞれ、保持部６４ａ，６５ａ，５８ｉと称することがある。また、この図２４に示すもので、上述したものと同一の符号を有するものは同一のもの又は同様の機能を有するものであるので、重複した説明を省略する。なお、〔１〕，〔２〕（図中、それぞれ丸付き数字１，２で示す）と付されたものは図３６を用いて説明する。
【０１７６】
なお、以下の説明において、図２１，図２２，図２４，図３６〜図３８に示す丸付き数字は、それぞれ、〔〕付き数字を用いて説明する。
ここで、保持部６４ａは、設計言語のソースコードに関するネットリスト，ブロック情報及び配線に関する制約情報を有する論理／制約情報を保持するものであって、制約条件保持部５８ｂ，構造部分ネットリスト保持部５８ｃ（以下、制約条件保持部５８ｂ，構造部分ネットリスト保持部５８ｃを、それぞれ、保持部５８ｂ，５８ｃと称することがある）を有する。保持部５８ｂは、制約定義情報を入力され、その情報に基づき、部品等が占める面積やタイミング仕様を制約条件として保持するものであり、保持部５８ｃはブロック情報を入力され、ネットリストを保持するものである。
【０１７７】
また、フロアプラン部５５ａは保持部６４ａに接続され、回路素子の配置及び回路素子間の配線に関するフロアプランに基づきタイミングを配分して仮配線を行なうものである。そして、タイミング情報保持部（タイミング情報）６５ａは、フロアプラン部５５ａに接続され、上記のブロック情報やネットリスト、タイミング情報を保持するものである。
ここで、２以上の配分値を用いた計算においては、配分値の最小値及び最大値が自動的に生成され、そして、遅延値が計算されるようになっている。この精度差は、四捨五入により元の数値になる範囲に逆丸め込み演算することにより得られる。ここで、一例として、遅延値を、計算対象とする２．２２７ｎｓ（ナノ秒）に有効数字桁数を合わせるために、有効数字２桁の１．２ｎｓから４桁の範囲を有する数値（１．１４５〜１．２４４ｎｓ）に変換する手法について説明する。
【０１７８】
従って、他階層が自動的に抽出され、その変更の可否が、各階層のＴＤＢ５７ａ〜５７ｅに問い合わせられ、その変更可否の結果が、タイミング配分値の変更可能であれば、設計者に対して、変更通知が発行される。これにより、柔軟な設計変更が可能となる。
タイミングライブラリにおいて、遅延値が１．２ｎｓと保持されているとする。そのため、設計者は、丸め込みのため、誤差範囲を０．０９ｎｓ（０．０９９９９９…ｎｓ）と設定する。そして、この誤差範囲０．０９ｎｓを有し、かつ、小数第２位における四捨五入により遅延値１．２ｎｓになる範囲を求めると、最小値１．１５ｎｓ〜最大値１．２４ｎｓとなる。換言すれば、この間の遅延値を小数第２位において四捨五入することにより、１．２ｎｓが得られるようになっている。
【０１７９】
次に、これらの最小値１．１５ｎｓ，最大値１．２４ｎｓのそれぞれについて、最小値と最大値とを設計者が計算し、１．１５ｎｓについては、最小値１．１４５ｎｓ〜最大値１．１５４ｎｓの範囲を得て、また、１．２４ｎｓについては、最小値１．２３５ｎｓ〜最大値１．２４４ｎｓの範囲を得る。そして、得られた範囲に基づいて、最小値１．１４５ｎｓ〜最大値１．２４４ｎｓの範囲が得られるのである。
【０１８０】
従って、有効数字２桁が４桁に拡張され、２桁の遅延値（１．２ｎｓ）が４桁の遅延値（１．１４５〜１．２４４ｎｓ）を得られるので、他の数値と同一の有効数字桁数の遅延値を生成することができる。
また、他のタイミングライブラリにおいて、遅延値が有効数字４桁の場合（計算対象の２．２３７ｎｓ）は、最小値と最大値との双方が２．２３７ｎｓとなる。
【０１８１】
このように、配分値の精度が、タイミングライブラリに保持されているデータに基づき、異なる精度を有するデータ間において、自動的に決定される。このため、高速部品と低速部品とが接続された場合でも、これらの部品に生じる精度差によらずに、計算が可能である。
また、精度の異なる複数のタイミングライブラリを用いることが可能となる。さらに、誤差を含め、最小値／最大値表現によりスラックを把握しやすくなる。
【０１８２】
すなわち、配分マネージャ５６ａは、マージンが減少する方向に、配分値を変更できるか否かに関する可否情報を有し、各配分値のうち、クリティカルなパスを抽出できるようになっており、また、改善可能な部分を抽出できるようになっている。これにより、回路の配分修正が可能となり、設計者は修正部分を容易に知ることができる。
ＨＤＬアノテータ５８ｅは、タイミング配分値に起因する情報をソースコードに書き込むものであり、タイミング情報保持部６５ａから所望のデータを読み込み、ソースコードに必要なデータを書き込むようになっている。また、ＨＤＬアノテータ５８ｅは、ソースコードに、配線形態に関するネットリストを書き込むようにもなっている。すなわち、信号代入に必要な時間の記述について、ＨＤＬアノテータ５８ｅにより配分された値が、ソースコードにバックアノテーションされ、遅延値が、設定又は変更されるのである。また、このバックアノテーションをすると、配線形態を意識したネットリスト表現についても、ソースコードに、コメント文として、書き込まれる。
【０１８３】
これにより、設計者と本装置５１との間のユーザインターフェースが、より密接になる。
ＨＤＬコンパイラ５８ｆは、ソースコードとパラメータとを入力され、そのデータを構造部分ネットリスト保持部５８ｃに出力するものである。
さらに、波形解析用情報作成部５８ｈは、ＬＳＩの階層のＩ／Ｏバッファ情報（入出力バッファ情報）からＰＣＢの波形解析用の情報を生成するものである。従って、設計者は波形が簡易に解析できる。
【０１８４】
そして、波形解析用情報保持部５８ｉは、波形解析用情報作成部５８ｈと波形解析ＣＡＤ装置５２ｂとに接続され、波形解析用情報作成部５８ｈにより書き込まれるタイミング配分値のほか、各ＬＳＩブロックについてのデータを保持しており、各ＰＣＢブロックは、いずれも、波形解析に必要なネットリストについてのデータを保持している。従って、波形解析用のライブラリとして機能している。また、この波形解析用情報保持部５８ｉは、波形解析ＣＡＤ装置５２ｂと接続され、この波形解析用情報保持部５８ｉがそれらのデータを参照できるようになっている。
【０１８５】
図２５は本発明の第２実施形態に係るフロアプラン部５５ａのブロック図であり、この図２５に示すフロアプラン部５５ａは、配置処理部５９ｆ，物理テクノロジ情報保持部５９ｃ，実配線・仮配線実行部６０，配線情報保持部（配線情報）５９ｄ，変換部５９ｅをそなえて構成されている。
配置処理部５９ｆは保持部６４ａに接続され、属性情報としての配分値を制約情報からのスラックに基づき改善と修正とが可能な部分を提示するとともに、遅延要素情報に起因する配置情報を保持するものであって、属性情報としての配分値を制約情報からのスラックに基づき改善と修正とが可能な部分を提示する配置支援部５９ａと、遅延要素情報に起因する配置情報を保持する配置情報保持部５９ｂとを有する。
【０１８６】
実配線・仮配線実行部６０は配置処理部５９ｆに接続され、実配線への連携と仮配線とを行なうとともに配線情報を出力するものであって、マンハッタン長仮配線部６０ａ，斜めマンハッタン長仮配線部６０ｂ，実配線連携部６０ｃ，６０ｄ，抽出部６０ｅ，名称付与部６０ｆをそなえて構成されている。ここで、実配線とは配線層を考慮し、配線を３次元で配線し他の配線との衝突や配線幅を考慮したものであって、処理時間が長い配線手法である。仮配線とは配線を２次元で配線しかつ配線間ショートを考慮しない配線手法である。
【０１８７】
また、実配線・仮配線実行部６０が、マンハッタン長仮配線と斜めマンハッタン長仮配線と実配線とに基づいて仮配線するようになっている。これにより、配線混雑度が密な場所においても精度が向上する。
そして、実配線・仮配線実行部６０は、選択された階層について遅延値及び負荷容量を、物理テクノロジ情報保持部５９ｃから読み出し、単位配線長当たりの遅延時間を変化させて配分するようにもなっている。従って、タイミング仕様の変更時に、再計算を即座に行なえるようになる。
【０１８８】
上記のマンハッタン長仮配線部６０ａは配置支援部５９ａの配置結果に基づき、ＰＣＢとＬＳＩとの双方についてマンハッタン長仮配線する。従って、配線作業の効率が向上する。
斜めマンハッタン長仮配線部６０ｂ（以下、仮配線部６０ｂと称することがある）は配置支援部５９ａの配置結果に基づきＰＣＢの縁に対して斜めに配線する斜め配線を用いて仮配線するものであり、また、ＰＣＢに用いられる配線手法である。従って、やはり、配線作業の効率が向上する。
【０１８９】
図２６は本発明の第２実施形態に係る斜めマンハッタン長仮配線を説明するための図であり、Ｐと付されたものはピンを表し、これらのピンＰ間が配線されている。この配線アルゴリズムは、次の（３−１）〜（３−３）に示すようになる。
（３−１）仮配線部６０ｂは、予め設定した斜め配線率に基づき、斜め配線成分を生成する。
【０１９０】
（３−２）仮配線部６０ｂは、マンハッタン配線における角（かど）の部分について、総配線長のうち斜め配線率分に相当する配線長の部分を４５度配線する。
（３−３）負のスラック（余剰時間）を有するパスであれば、仮配線部６０ｂは、斜め配線率を上げて再配線する。ここで、斜め配線部分の総配線長は、図２６に示すように、直交配線部分の相当する部分の配線長のルート２分の１である。
【０１９１】
さらに、実配線・仮配線実行部６０は、仮配線により得られたタイミング配分値について計算されたマージンと配線密度を表す配線混雑度とに基づいて実配線するようになっている。これにより、配線混雑度に応じて仮配線又は実配線が自動的に切り替えられるため、トレードオフを有効活用でき、設計者の手間を削減できる。
加えて、抽出部６０ｅは、配線混雑度を抽出するものである。従って、実配線・仮配線実行部６０が、配線禁止の領域と配線混雑度とに基づいて、仮配線及び実配線をするようになっている。この配線混雑度は、２種類のアルゴリズムを用いて、自動的に抽出されるようになっている。
【０１９２】
図２７，図２８はいずれも本発明の第２実施形態に係る配線混雑度を抽出するためのアルゴリズムを説明するための図であり、回路ブロックＢ１，Ｂ２が配置され、これらのブロック間が、多数の線（Ｌと付された円に含まれる線分）によって、接続されている。
まず、第１のアルゴリズムは、簡易アルゴリズムと呼ばれ、次の（４−１），（４−２）に示すようなものである。
【０１９３】
（４−１）各回路ブロックの端子と端子との間に線を引く。
（４−２）図２７に示すＳ１と付した単位面積当たりの線数をカウントし、その値を配線混雑度とする。
第２のアルゴリズムは、マンハッタン長を用いたアルゴリズムであり、次の（５−１），（５−２）に示すようになる。
【０１９４】
（５−１）図２８に示す直角的な配線のように、マクロな回路ブロックＢ１，Ｂ２や配線禁止領域等を避けて、グリッド線に沿って配線する。
（５−２）図２８に示すＳ２と付した単位面積当たりの配線数をカウントし、その値を配線混雑度とする。
さらに、実配線連携部６０ｃ，６０ｄは協働して、ＬＳＩとＰＣＢとについて配線するものであり、このうち実配線連携部６０ｃはＬＳＩ用であり、実配線連携部６０ｄはＰＣＢ用である。そして、実配線連携部６０ｃは、レイアウトＣＡＤ装置５２ａと接続されて、データを送受信でき、また、実配線連携部６０ｄは、レイアウトＣＡＤ装置５２ｃと接続されて、データを送受信できるようになっている。
【０１９５】
従って、仮配線と設計対象となる回路ブロックに依存した詳細な実配線とを混在させて配線でき、タイミングの配分値を抽出できる。
加えて、実配線・仮配線実行部６０は、実配線のみ行なえる他の計算機を援用する設計装置と連動させるべく、実配線にて不足する情報に関する解析用の情報を出力するようになっている。
【０１９６】
これにより、本装置５１が実配線する際に、不足する情報が設計者に通知され、設計者がその情報に基づき解析に必要な情報を作成して、その情報を実配線専用のレイアウトＣＡＤ装置５２ａ，５２ｃに送信して配線できるようになる。
また、実配線・仮配線実行部６０は、長い計算時間を要する実配線と計算時間が短い仮配線とを併用して配線し、かつ、タイミング配分値を抽出するようになっている。
【０１９７】
これにより、設計者は、まず、仮配線によりタイミング仕様を検討し、その検討にて得られた結果に基づいてタイミング配分を変更して実配線できる。
さらに、図２５において、フロアプラン部５５ａは、回路ブロックの規模（大きさ）又は形状を実配線及び仮配線している間に変更できるようになっている。
図２９は本発明の第２実施形態に係る配置領域の拡大を模式的に示す図である。この図２９に示す回路ブロックＩ２０の配置領域が拡大されて、回路ブロックＩ２１が得られ、Ｉ２０中には入らなかったＤ，Ｅ及びＦの配置が、Ｉ２１においては、可能となった。逆に、大き過ぎる配置領域を縮小することも可能になっている。従って、柔軟な配置設計が可能となる。
【０１９８】
加えて、図２５において、フロアプラン部５５ａは、回路ブロック中の配線幅を、実配線及び仮配線している間に変更できるようになっている。この配線幅が小さいと配線容量が小さくなり、大きいと配線容量が大きくなる。従って、この配線幅を変更できるので、回路を柔軟に設計できる。
そして、配線情報保持部５９ｄは実配線・仮配線実行部６０に接続され、配線情報を保持するものである。変換部５９ｅは配線情報保持部５９ｄと物理テクノロジ情報保持部５９ｃとに接続され、配線長及び負荷容量に基づいて配線情報を遅延値に変換して出力するものである。また、物理テクノロジ情報保持部５９ｃは、単位長当たりの遅延値，単位長当たりの負荷容量とを、相互に関連づけて保持するものである。これらの値（ライブラリ）は、配線幅及び配線層ごとに用意されており、それらが、ＰＣＢのテクノロジ（ＰＣＢテクノロジ）やＬＳＩのテクノロジ（ＬＳＩテクノロジ）ごとに用意され、保持されている。そして、この物理テクノロジ情報を用いて、配線長から遅延値が算出されるようになっている。
【０１９９】
従って、変換部５９ｅにて、物理配線長に基づき物理テクノロジ情報保持部５９ｃからその単位長当たりの遅延値が読み出され、配線長と遅延値とが変換される。また、変換部５９ｅにて、負荷容量に基づき、その単位容量による遅延値が読み出され、負荷容量と遅延値とが変換される。これにより、容易に配線長から遅延値が算出される。
さらに、実配線・仮配線実行部６０（図２５参照）は、選択された階層について物理テクノロジを変更可能となっており、遅延値及び負荷容量を、物理テクノロジ情報保持部５９ｃから読み出し、単位配線長当たりの遅延時間を、選択した物理テクノロジに合わせて自動的に設定して配分するようになっている。すなわち、回路ブロックの物理テクノロジを変更可能なため、タイミング制約を満たすための物理テクノロジを検索することができる。
【０２００】
また、さらに、実配線・仮配線実行部６０は、制約条件として使用されたクロック周波数に基づき到達しなければならない時間内（１周期分）に到達可能の可否を判定し、到達不可と判定すると複数の回路ブロック間のネットリストに対してバッファ及びフリップフロップの挿入を指示するようになっている。これにより、仮想ピンまで到達不可能な場合にのみ、バッファ等が挿入されるので、制約条件を効果的に満たすことができる。
【０２０１】
図３０は本発明の第２実施形態に係るＬＳＩ内部のタイミング配分を説明するための図である。この図３０に示すチップ６１は、回路モジュール（モジュール）６１ａ〜６１ｅを有し、その外周部又は内部には、端子（外周部については四角形のもの）を有する。また、各モジュール６１ａ〜６１ｅは、それぞれ、モジュールの端部に仮想ピン（円形で表示されたもの）を設けている。この仮想ピンは、他のモジュールに設けられた仮想ピンと接続され、例えばクロック（ＣＬＫ）等が共有するようになっている。
【０２０２】
そして、実配線・仮配線実行部６０は、回路ブロックに含まれる端子（仮想ピン）を制約情報に基づいて配置するようになっている。すなわち、仮想ピンの位置については、負のスラックとなるものから優先的にモジュール端部の所定位置に設けられる。そして、その位置において、マンハッタン長で配線したときのスラックが計算され、負のスラックが発生しなければその位置に決定する。この図３０に示す他のモジュール６１ｂ〜６１ｅについても、モジュール６１ａと同様である。なお、ＰＣＢの設計においては、斜めマンハッタン長も含まれる。従って、配置が簡易になる。
【０２０３】
さらに、モジュール６１ｂの仮想ピンＱは、クリティカルネット６１ｆと接続されており、また、クリティカルネット６１ｆには、フリップフロップ６１ｇが接続されている。これにより、クリティカルネット６１ｆが負のスラックを有し、タイミング条件を満たせない場合は、そのタイミング条件を満たすように、フリップフロップ，バッファ又はインバータが挿入される。
【０２０４】
このフリップフロップを挿入することにより、仮想ピンＱから出力される信号は、フリップフロップにて、１サイクル遅延するが、仮想ピンＱ〜フリップフロップ６１ｇ，フリップフロップ６１ｇ〜モジュール６１ｃの端子Ａとの間においては、セットアップ条件が満たされる。
従って、配分値と、与えられたクロック周波数とに基づき、１クロックで回路ブロックのピン，仮想ピンから、他の回路ブロックのピン，仮想ピンまで到達できるか否かが計算され、到達不可能な場合には、回路ブロック間のネットリストに、フリップフロップ等が挿入される。また、この例におけるチップ６１は、９ｍｍ（ミリメートル）長だけ配線すると、６ｎｓの遅延値となるものであり、従って、動作周波数が１６６ＭＨｚ（メガヘルツ）以下であれば動作する。
【０２０５】
このように、ＲＴＬ（Register Transfer Level）設計前に、タイミングを調整できる。次に、タイミング配分値の設定について、説明する。
図２４において、タイミング配分作成部５４ａは、予め設定された他のタイミング仕様とフロアプラン部５５ａにて配分されたタイミングとに基づいて、タイミング配分値を出力するようになっている。そして、配分レポート作成部５０ｄは、タイミング仕様とフロアプラン部５５ａにて配分されたタイミング条件とを参照して、フロアプランとタイミング仕様との妥当性を配分レポートとして出力する。この配分レポートとは、配分値を記載したテキストファイルであって、設計者の参照等に使用される。
【０２０６】
さらに、ソースコードとタイミング配分作成部５４ａとの間における機能について、説明する。
タイミング配分作成部５４ａは、ＨＤＬコンパイラ５８ｆによりソースコードを用いて、論理設計時又はレイアウト検討からバックアノテートされたタイミング配分値を読み込むようになっている。具体的には、ネットリストのほか、シミュレーションするのに必要なタイミング遅延値が含まれるソースコードが読み出される。従って、設計者は容易にシミュレーションを行なえる。
【０２０７】
続いて、図２４に示す配分マネージャ５６ａは、保持部６４ａとタイミング情報保持部６５ａとＴＤＢ５７ａと階層間連携マネージャ５３とに接続され、ネットリストに基づいて遅延値を出力するものである。
図３１は本発明の第２実施形態に係る配分マネージャ５６ａのブロック図であり、この図３１に示す配分マネージャ５６ｂ〜５６ｅもこの配分マネージャ５６ａと同一の構造である。この配分マネージャ５６ａは、配分エディタ６３ａ，データベース参照登録部６３ｅ，自階層ＴＤＢ出力・他階層ＴＤＢ自動反映部（自階層ＴＤＢ出力・他階層ＴＤＢ反映部；以下、ＴＤＢ出力反映部と称することがある。）６３ｄ，調停制御部６３ｆをそなえて構成されている。この配分エディタ６３ａは、保持部６４ａに接続され、タイミング配分するものであり、データベース参照登録部６３ｅは、配分エディタ６３ａと保持部６４ａとタイミング情報保持部６５ａとに接続され、ネットリストと配分値とを入出力するものであって、ＴＤＢ登録部６３ｂ，ＴＤＢ参照部６３ｃを有する。ＴＤＢ登録部６３ｂは、ＴＤＢ５７ａにデータを書き込むものであり、ＴＤＢ参照部６３ｃは、ＴＤＢ５７ａからデータを読み出すものである。
【０２０８】
さらに、ＴＤＢ出力反映部６３ｄは、自己の階層のタイミング配分情報と他の階層のタイミング配分情報とを入出力するものである。すなわち、他の階層（他階層、下位階層）に関するデータを、階層間連携マネージャ５３を介して、ＴＤＢ５７ａに反映させるとともに、自己の階層（自階層）に関するデータを、階層間連携マネージャ５３を介して他のＴＤＢ５７ｂ〜５７ｅのうち、自階層の一つ上位の階層に反映させるのである。また、反映する／反映しないは、調停制御部６３ｆによって、制御されるようになっている。この調停制御部６３ｆは、ＴＤＢ出力反映部６３ｄと配分エディタ６３ａとに接続され、配分値を自階層と他階層とのうちのいずれかを選択するかを調停し、また、配分値の反映可否を決定するものである。
【０２０９】
これにより、調停制御部６３ｆは、自階層のデータと他階層のデータとを用いてタイミング制約を満たすか否かを判断し、満たせば、反映可とし、また、満たさなければ反映不可として再設定要求を出す。再設定時は、自階層のデータは、ＴＤＢ出力反映部６３ｄにより、ＴＤＢ５７ａから読み出され、再設定が必要であるというメッセージが、調停制御部６３ｆを介して、配分エディタ６３ａに入力されるとともに、他階層の配分マネージャ５６ａ〜５６ｅからのデータ送信要求により階層間連携マネージャ５３を介して出力されるのである。また、他階層のデータは、階層間連携マネージャ５３に対して要求した後、送信されてきた所望の他階層のデータは、配分エディタ６３ａに入力され、制約情報を満たすまで繰り返され、制約が満たされると、ＴＤＢ５７ａに書き込まれる。
【０２１０】
なお、配分マネージャ５６ｂ〜５６ｅ（図２０参照）の構成も、配分マネージャ５６ａと同一であるので、重複した説明を省略する。
図３２は本発明の第２実施形態に係るスキュー計算を説明するための図であり、この図３２に示すネットリスト６２ａは、回路モジュールＩ１，Ｉ２，Ｉ３，Ｉ４，Ｉ５を有する（四角形で表示されたもの）。この図３２において、例えばＩ１（Ｉ１と表現するのは、回路モジュールＩ１を意味し、その他の回路モジュールについても同様である）から出力された信号の位相は、ＰＣＢ上を伝搬するときに遅延し、また、Ｉ２の回路モジュールに入力されたときにも、その入力ピン容量の影響により遅延する。
【０２１１】
これを踏まえて、設計者は、Ｉ１〜Ｉ３間の遅延値と、Ｉ１〜Ｉ４間の遅延値と、Ｉ１〜Ｉ５間の遅延値とをそれぞれ計算する。ここで、遅延発生の要素は、Ｉ１，Ｉ２のそれぞれの内部遅延（ａ，ｃと表したもの）と、Ｉ１〜Ｉ２間の遅延値（ｂと表したもの）と、Ｉ２〜Ｉ３，Ｉ２〜Ｉ４，Ｉ２〜Ｉ５間の遅延値（ｄ，ｅ，ｆ，ｇと表したもの）とがある。
【０２１２】
そして、例えばＩ１〜Ｉ３（の遅延時間）と、Ｉ１〜Ｉ５（の遅延時間）との位相差とを得る計算においては、通常基準点（Ｉ１の遅延値ａに相当）からの遅延値の差が計算される。ここで、ａ，ｂ，ｃ，ｄの遅延値は、いずれも、Ｉ１〜Ｉ３と、Ｉ１〜Ｉ５との双方に共通したパスによるものなので、各回路モジュール間のばらつきや、配線のばらつきが考慮されない。従って、位相差は、（遅延値ｅ＋Ｉ３の入力ピン容量）と（遅延値ｆ＋遅延値ｇ＋Ｉ５の入力ピン容量）との差で計算できる。これらの２つの入力ピン容量は、Ｉ３とＩ５とに同一の論理回路がインプリメントされていても、製造ばらつき等が存在する。
【０２１３】
このため、配分マネージャ５６ａは、信号の到着時間の位相差を表すスキューを、配線形態に関するネットリストの配線パスのうち共通の配線パス以外のものに基づいて計算するようになっている。
すなわち、ネットリストに基づき、信号伝搬方向とは逆の方向からパスを辿っていき、共通部分が現れたところで、共通部分でない部分を抽出することにより、共通部分のばらつきを除去された計算が自動的に実行されるのである。
【０２１４】
図３３（ａ）〜（ｃ）はいずれも本発明の第２実施形態に係るネットリスト表現を説明するための図である。この図３３（ａ）に示すネットリスト６２は、回路モジュールＩ１，Ｉ２，Ｉ３，Ｉ４（以下、モジュールＩ１等と略称する）を有する論理回路であり、モジュールＩ１のポートＡは、信号を出力するものであり、モジュールＩ２〜Ｉ４のポートＢ，Ｃ，Ｄは、それぞれ、信号を入力するものである。また、図３３（ｂ），（ｃ）には、それぞれ、配線された物理レイアウトが表示されている。この図３３（ｂ）に示すチップ６３は、インプリメントしたものを表す。
【０２１５】
ここで、サブ信号名は、"Ｉ１．Ａ−Ｉ２．Ｂ−Ｉ３．Ｃ−Ｉ４．Ｄ"で表されることができる。なお、ネットリスト表現は、区切り文字を"−"とし、インスタンス名との区切り文字を"．"としている。ここで、ポートＡのファンアウトは３であり、ポートＢ，Ｃ，Ｄをそれぞれ駆動させており、この順に一筆書きのように配線されていることを意味する。
図３３（ｃ）に示すネットリスト表現は、ネットリストに等長の区間（ＡＢとＡＣとが等長）が存在するときのものである。すなわち、この場合、等長にする部分にかっこを付すようにし、サブ信号名は、"Ｉ１．Ａ−（Ｉ２．Ｂ−Ｉ３．Ｃ）−Ｉ４．Ｄ"で表される。遅延に制約があるときは、例えば、"＃"を用いて遅延値を記述し、サブ信号名は、"Ｉ１．Ａ−（１．４ｎｓ＃Ｉ２．Ｂ−Ｉ３．Ｃ）−１．２ｎｓ＃Ｉ４．Ｄと表される。
【０２１６】
さらに、負荷容量、配線長、配線幅、配線層指定等のその他の制約についても、次の（６−１）〜（６−３）のようなサブ信号名で記述できる。ここで、ｐｆはピコファラッドを表し、μｍ（マイクロメートル）は配線長を表し、ｗは配線幅（μｍ）を表す。ＬＡ，ＬＢはそれぞれ配線層を表す。
Ｉ１．Ａ−（０．３ｐｆ＃Ｉ２．Ｂ−Ｉ３．Ｃ）−１．２ｎｓ＃Ｉ４．Ｄ
…（６−１）
Ｉ１．Ａ−（１．４ｎｓ＃Ｉ２．Ｂ−Ｉ３．Ｃ）−３１．２μｍ＃Ｉ４．Ｄ
…（６−２）
０．６ｗ＃ＬＡ，ＬＢ＃Ｉ１．Ａ−Ｉ２．Ｂ−Ｉ３．Ｃ−Ｉ４．Ｄ
…（６−３）
すなわち、ＬＡ層は０．６μｍ幅で配線され、Ｉ１〜Ｉ２，Ｉ１〜Ｉ３，Ｉ１〜Ｉ４の配線は、いずれも、ＬＢ層で一筆書き配線することを制約している。
【０２１７】
さらに、ＰＣＢ設計の場合において、斜め配線するときの表記は、斜め配線部分に、"−"の代わりに"／"が用いられる。例えば、サブ信号名は、"Ｉ１．Ａ／Ｉ２．Ｂ−Ｉ３．Ｃ−Ｉ４．Ｄ"で表される。
従って、配分マネージャ５６ａが、配線パスに、副信号名として配線形態を表す名称を付与するように構成されたことになり、副信号名とファンアウト数とを関連づけて命名するように構成されたことになる。
【０２１８】
また、図示を省略するが、配分マネージャ５６ａは、配線した部分について、制約情報の値に応じたグラデーションを操作画面にて色彩表示するようになっており、配分マネージャ５６ａは、回路ブロックを示す図に、タイミング配分値とタイミング配分できる値の範囲を表示するようになっている。
このように、共通部分のばらつきを除去することができるので、信頼性の高い回路を設計できる。
【０２１９】
また、本発明のプログラムは、階層設計するに当たり、コンピュータを、複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリストを有するＴＤＢ５７ａ〜５７ｅから回路の機能に関するブロック情報を入力され回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうるタイミング配分作成部５４ａ〜５４ｅと、タイミング配分作成部５４ａ〜５４ｅのそれぞれに接続され、タイミング配分作成部５４ａ〜５４ｅのそれぞれの間とタイミング配分値に関する修正情報を送受信する階層間連携マネージャ５３として機能させるためのものである。
【０２２０】
すなわち、タイミング配分作成部５４ａと階層間連携マネージャ５３との機能は、それぞれ、タイミング配分装置５１として使用されるコンピュータのハードディスク等の記録媒体（図示省略）に記憶されたプログラムを、そのコンピュータのＣＰＵが読み取って動作することにより実現される。
また、本発明のプログラムをそのハードディスク等の記録媒体にインストールする方法は、コンピュータが有する読み取り装置に応じて、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ及びフロッピーディスク等の記録媒体を用いるようになっている。
【０２２１】
上述の構成により、本発明のタイミング配分装置５１の動作について、図３４〜図４５を参照して詳述する。
図３４は本発明の第２実施形態に係るブロック設計の工程を示す図である。この図３４に示す工程は、ＰＣＢ，ＬＳＩ及びＬＳＩ内のサブブロックについての３階層のタイミング設計が同時に進行することを表している。
【０２２２】
まず、システム仕様が設計された後（ステップＰ１）、ステップＰ１０と付されたＰＣＢ設計が開始される。まず、ステップＰ１０ａにおいて、ＬＳＩの設計をするときは、１と付したルートを通り、ステップＰ２０以降の処理が行なわれ、ＰＣＢの設計は、２と付したルートを通り、ＶＨＤＬ，ＶＨＤＬ＋等を用いてコーディングされる（ステップＰ１０ｂ）。そして、ステップＰ１０ｂにて、ソースコードが得られると、１と付されたルートを通り、ステップＰ４０にてＰＣＢのインプリメントが開始され、また、ステップＰ１０ｂにて、ソースコードが得られると、２と付されたルートを通り、ステップＰ１０ｃにて、タイミング配分が作成される。また、タイミング配分するに当たり、ステップＰ１０ｆにおいて、ＴＤＢ５７ａ〜５７ｅと、階層間連携マネージャ５３と連携しながら実行される。その後、フロアプランが生成され（ステップＰ１０ｄ）、レイアウトＣＡＤ装置（ＰＣＢ物理レイアウトＣＡＤ装置）５２ｃによりそのフロアプランが読み出される（ステップＰ１０ｅ）。このフロアプランが、ステップＰ４０のＰＣＢインプリメントに使用される。
【０２２３】
ＬＳＩとＬＳＩ内のサブブロックについても同様である。ステップＰ１０ａにおいて、ＬＳＩの設計をするときは、１と付したルートを通り、ステップＰ２０ａにおいて、ＬＳＩ設計が開始される。このステップＰ２０ａにて、ＬＳＩ内のサブブロックについて設計するときは、１と付したルートを通り、ステップＰ３０以降の処理が行なわれ、ＬＳＩの設計は、２と付したルートを通り、ＶＨＤＬ，ＶＨＤＬ＋等を用いてコーディングされる（ステップＰ２０ｂ）。
【０２２４】
そして、ステップＰ２０ｂにて、ソースコードが得られると、１と付されたルートを通り、ステップＰ４１にてＬＳＩがインプリメントされ、また、ステップＰ２０ｂにて、ソースコードが得られると、２と付されたルートを通り、ステップＰ２０ｃにて、タイミング配分が作成される。また、タイミング配分するに当たり、ステップＰ２０ｆにおいて、ＴＤＢ５７ａ〜５７ｅと、階層間連携マネージャ５３と連携する。その後、フロアプランが生成され（ステップＰ２０ｄ）、レイアウトＣＡＤ装置（ＬＳＩ物理レイアウトＣＡＤ装置）５２ａによりそのフロアプランが読み出される（ステップＰ２０ｅ）。このフロアプランが、ステップＰ４１のＬＳＩインプリメントに使用される。
【０２２５】
ＬＳＩ内のサブブロックについても、まず、設計が開始され（ステップＰ３０ａ）、ＶＨＤＬ，ＶＨＤＬ＋等を用いてコーディングされる（ステップＰ３０ｂ）。そして、ステップＰ３０ｂにて、ソースコードが得られると、１と付されたルートを通り、ステップＰ４１にてＬＳＩのサブブロックのインプリメントが開始され、また、ステップＰ３０ｂにて、ソースコードが得られると、２と付されたルートを通り、ステップＰ３０ｃにて、タイミング配分が作成される。また、タイミング配分するに当たり、ステップＰ３０ｆにおいて、ＴＤＢ５７ａ〜５７ｅと、階層間連携マネージャ５３と連携する。その後、フロアプランが生成され（ステップＰ３０ｄ）、レイアウトＣＡＤ装置５２ａによりそのフロアプランが読み出される（ステップＰ３０ｅ）。このフロアプランが、ステップＰ４１のＬＳＩインプリメントに使用される。
【０２２６】
従って、各回路ブロックは、いずれも、他の回路ブロックのタイミング情報をリアルタイムに把握できるので、タイミング仕様の変更時に、再計算を即座に行なえるようになり、設計効率が向上する。
また、分散設計環境によるタイミング配分により、設計者は、他の回路ブロックヘの影響を考慮しながら設計し、また、影響がある場合は許容範囲内か否かを配分レポートによりチェックしながら設計する。
【０２２７】
図３５は本発明の第２実施形態に係るタイミング配分を説明するためのフローチャートである。各設計階層のタイミング配分作成部５４ａ〜５４ｅに、ブロックの制約定義情報と対象ブロックのネットリスト又はタイミング仕様が記述されたソースコードが入力され（ステップＱ１０）、フロアプラン部５５ａと、配分マネージャ５６ａとによりタイミング配分処理され（ステップＱ１１）、ＴＤＢ５７ａ〜５７ｅのそれぞれに、各ブロックのタイミング配分値が書き込まれ（ステップＱ１２）、配分レポートが出力され、配分値が検討される（ステップＱ１３）。
【０２２８】
従って、複数の設計者が同時に、タイミング仕様とインプリメント条件とを相互に参照できるので、設計者間におけるミスコミュニケーションを防止できる。
また、ＴＤＢ５７ａ〜５７ｅに保持されたタイミング仕様は、既に決定された部分については、属性情報が変更不可に設定されて定数として扱われ、そして、変更された部分は、即座にＴＤＢ５７ａ〜５７ｅに書き込まれる。複数の階層間をまたがった部分については、階層間連携マネージャ５３は、一つ上位の階層のＴＤＢ５７ａ〜５７ｅに即座に反映される。
【０２２９】
次に、図３６〜図３８を用いて、図２１，図２２に示す階層間連携マネージャ５３と配分マネージャ５６ａ〜５６ｅとの間のデータ送受信について説明する。
図３６〜図３８はいずれも本発明の第２実施形態に係るタイミング配分の一部を説明するためのフローチャートである。図３６に示すものは、中間階層の間においてデータを更新するときのものであり、図２１に示すＡ−〔１〕及びＡ−〔２〕と付した箇所に対応する。また、図３７に示すものは中間階層間において問い合わせる処理であり、図２１に示すＢ−〔１〕〜Ｂ−〔４〕と付した箇所に対応する。図３７に示すものは最上位階層と中間階層とにおけるものであって全体タイミングを問い合わせるときのものである。また、これら図３６〜図３８に示すフローチャートは、階層間連携マネージャ５３と配分マネージャとの間にてメッセージ通信を行なうものである。
【０２３０】
このように、階層間連携マネージャ５３は、配分マネージャ５６ａからのメッセージをどの配分マネージャに送信したらよいかを判断し、目的の配分マネージャ５に送信されたメッセージデータを送信する。
まず、図３６のステップＱ２０にて、ある階層において、ＬＳＩのサブブロックが有する各仮想ピンのＡＣスペック，クロックスキューの配分値が、一つ上位の階層（例えばＬＳＩのＴＤＢ）に取り込まれる。続いて、ステップＱ２１にて、ＬＳＩの各仮想ピンのＡＣスペック、クロックスキュー配分値が、一つ上位の階層（例えばＰＣＢのＴＤＢ）に取り込まれる。
【０２３１】
図３７のステップＱ３０において、各配分マネージャ５６ａ〜５６ｅは、それぞれ、ＬＳＩ内の他のサブブロックの配分値がどの程度であるかを階層間連携マネージャ５３に問い合わせる。次に、階層間連携マネージャ５３は、相当するＬＳＩブロック（一つ上位のブロック）に対して配分値を問い合わせる（ステップＱ３１）。ＬＳＩブロックは、そのＬＳＩにインスタンスしている他のＬＳＩブロックの配分値を保持しているので、問い合わせられたＬＳＩブロックは、階層間連携マネージャ５３に対して配分値を返却し（ステップＱ３２）、階層間連携マネージャ５３は、最初に問い合わせを発したＬＳＩのサブブロックに対してＬＳＩの他のサブブロックの配分値を受け取る（ステップＱ３３）。
【０２３２】
また、図３８のステップＱ４０において、最上位階層（ＰＣＢ）より、ＰＣＢ上に存在する各部品に対して配分値が問い合わせられる。そして、各部品は、それぞれ、各部品中に存在する各サブブロックに対して配分値を問い合わせて（ステップＱ４１）、各サブブロックは、問い合わせた元の部品に対して自己のブロックの配分値を返却し（ステップＱ４２）、各部品は問い合わせ元のＰＣＢに対して自己の部品の配分値を返却する（ステップＱ４３）。なお、この図３８に示す〔１〕〜〔４〕と付した記号は、図２２に示すものと対応する。
【０２３３】
図３９は本発明の第２実施形態に係るタイミング配分作成部５４ａ〜５４ｅの動作を説明するためのフローチャートである。まず、ソースコードの存在の有無が判定され（ステップＲ１）、存在する場合はＹと付されたルートを通り、ソースコードよりブロック間接続情報が抽出されて構造部分のネットリストが生成され（ステップＲ２）、ステップＲ３にて、ソースコード中に遅延値記述の存在の有無が判定される。ここで、存在する場合はＹルートを通り、ステップＲ４にて、制約定義情報の制約条件（動作速度やゲート規模等）とソースコード中の遅延値記述よりタイミング仕様が抽出され制約条件が作成される。また、ステップＲ３にて、遅延値記述がない場合は、Ｎルートを通り、ステップＲ９以降の処理が行なわれる。
【０２３４】
また、ステップＲ１にて、ソースコードが存在しない場合は、Ｎと付されたルートを通り、ブロック情報よりブロック間接続情報が抽出されて構造部分のネットリストが生成され（ステップＲ５）、ステップＲ６にて、タイミング仕様の値を設定するか否かが判定され、設定する場合は、Ｙルートを通り、ステップＲ７にて、制約条件タイミング配分作成部５４ａは構造部分ネットリスト保持部５８ｃから、ネットリストを読み出して、配分マネージャ５６ａ中の配分エディタ６３ａ（図３１参照）により、人手でタイミング仕様を入力する（図２１〔１〕参照）。また、その設定内容を制約条件のうちのタイミング仕様として制約条件保持部５８ｂに書き込む（図２１〔２〕参照）。さらに、ステップＲ６にて、タイミング仕様の値を設定しない場合は、Ｎルートを通り、ステップＲ９にて、タイミング仕様の値は空（なし）と設定される。
【０２３５】
そして、配分マネージャ５６ａは、他階層の配分値を参照して配分を検討し（ステップＲ８）、フロアプラン部５５ａは、フロアプラン後のタイミング情報を生成し（ステップＲ１０）、タイミング仕様とタイミング情報とが、配分マネージャ５６ａを通じて配分値としてＴＤＢ５７ａに登録される（ステップＲ１１）。そして、配分レポート作成部５０ｄは、配分レポートを出力し（ステップＲ１２）、フロアプラン部５５ａにて得られたタイミング情報が、ＨＤＬアノテータ５８ｅによりソースコードに反映され（ステップＲ１３）、タイミング情報が波形解析用情報作成部５８ｈにより、波形解析ＣＡＤ用のファイルに変換されて連携するのである（ステップＲ１４）。
【０２３６】
次に、上述した丸め込み手法により、低い精度の部品又は回路ブロックが使用している値に対しては、最小値／最大値を用いて遅延時間の範囲を設けることにより、高精度の部品又は回路ブロックと接続され、また、精度の異なる部品又は回路ブロックを混合して設計される。
さらに、ＰＣＢのタイミング配分は、既存の手法を使用するほか、斜め配線も使用し、タイミング情報が作成される。まず、マンハッタン長、斜めマンハッタン長による配線を用いて、配線混雑度が計算され、配線混雑度が設定条件よりも低い場合には、単純マンハッタン長又は斜め配線を考慮したマンハッタン長による配線により配分する。
【０２３７】
一方、配線混雑度が設定条件よりも高い場合には、次の（７−１），（７−２）のうちのいずれかが用いられてタイミング配分される。
（７−１）配線混雑度に対応させて遅延値を増加し、より大きい遅延値を得る。
（７−２）実配線連携部６０ｃ，６０ｄが、それぞれ、データ変換し、既存の手法を用いた実配線をし、その配線情報に基づき遅延値に変換し、配分する。
【０２３８】
図４０は本発明の第２実施形態に係るフロアプラン部５５ａの動作を説明するためのフローチャートであり、フロアプラン部５５ｂ〜５５ｅも同様である。フロアプラン部５５ａは、制約条件と構造部分ネットリストとを入力され（ステップＲ２０）、配置支援部５９ａは、仮配線部（マンハッタン長仮配線部６０ａ，斜めマンハッタン長仮配線部６０ｂ）と連携し、配線を考慮して配置決定し、配置情報を作成し（ステップＲ２１）、その配置情報に基づき仮配線が実行される（ステップＲ２２）。
【０２３９】
また、ステップＲ２３にて、配線混雑度が設定値を超えたか、又は、スラックが設定条件以下になったかが判定され、いずれかが満足されると、Ｙルートを通り、ステップＲ２４にて、設定値を超えた部分について、実配線連携部６０ｃ，６０ｄは、レイアウトＣＡＤ装置５２ａ，５２ｃを用いて実配線して配線情報を作成する。さらに、フロアプラン部５５ａは、物理テクノロジ情報を用いて配線長や負荷容量を遅延値に変換し、論理／制約情報保持部６４ａに書き込む（ステップＲ２５）。なお、ステップＲ２３にて、いずれも満足されなければ、Ｎルートを通り、フロアプラン部５５ａは、仮配線の結果を用いて配線情報を作成し（ステップＲ２６）、ステップＲ２５の処理をする。
【０２４０】
図４１と図４２とはともに本発明の第２実施形態に係る配分マネージャ５６ａの動作を説明するためのフローチャートであり、配分マネージャ５６ｂ〜５６ｅも同様である。
図４１に示すステップＲ３０にて、配分マネージャ５６ａは、階層間連携マネージャ５３からのＴＤＢ出力要求の有無を判定し、要求有りの場合はＹルートを通り、ステップＲ３１にて、ＴＤＢ出力反映部６３ｄは、自階層のＴＤＢ入出力部分の内容を階層間連携マネージャ５３に入力し、ステップＲ３２にて、階層間連携マネージャ５３は他階層の配分マネージャ５６ｂ〜５６ｅに対して受け取った内容を入力する。
【０２４１】
また、ステップＲ３０における判定により、ＴＤＢ出力要求がない場合はＮルートを通り、ステップＲ３３にて、他階層のＴＤＢ５７ａ〜５７ｅの内容を反映させるか否かが判定され、反映させる場合は、Ｙルートを通り、配分マネージャ５６ａは、階層間連携マネージャ５３に対して他階層のＴＤＢ５７ａ〜５７ｅの内容の参照要求を発行し（ステップＲ３４）、階層間連携マネージャ５３は他階層からＴＤＢ５７ａ〜５７ｅの入出力部分の内容を受け取ると（ステップＲ３５）、参照要求のあった配分マネージャ５６ａ〜５６ｅに対して、他階層のＴＤＢ５７ａ〜５７ｅの入出力部分の内容を入力する（ステップＲ３６）。そして、ステップＲ３７にて、処理が終了したか否かが判定されて、終了した場合はＹルートを通り、処理が終了し、そうでなければ、Ｎルートを通り、ステップＲ３０からの処理が行なわれる。
【０２４２】
また、ステップＲ３３にて、他階層のＴＤＢ５７ａ〜５７ｅの内容を反映させない場合はＮルートを通り（１と付されたもの）、図４２に示すステップＲ３８に進む。また、２と付されたものは、図４２に示すステップＲ３９又はステップＲ４１が実行された後に実行されるものである。
図４２に示すステップＲ３８にて、配分マネージャ５６ａは、配分エディタ６３ａを用いて他階層の配分内容を参照するか否かを判定し、参照する場合は、Ｙルートを通り、ステップＲ３９にて、ＴＤＢ参照部６３ｃを用いて、ＴＤＢ５７ａより他階層の配分値を読み込み、処理が終了する。また、ステップＲ３８にて、参照しない場合は、Ｎルートを通り、ステップＲ４０にて、配分マネージャ５６ａは、制約条件やタイミング情報をＴＤＢ５７ａ〜５７ｅに登録するか否かを判定し、登録する場合はＹルートを通り、ステップＲ４１にて、配分マネージャ５６ａは、ＴＤＢ登録部６３ｂを用いてＴＤＢ５７ａ〜５７ｅに自階層の制約条件やタイミング情報を登録する。一方、ステップＲ４０にて登録しない場合はＮルートを通り、処理が終了する（図４１のステップＲ３７）。
【０２４３】
このように、他階層との連携により、システム全体のタイミング条件を満足させることができる。また、フロアプラン部５５ａにより、設計者は、処理速度と見積もり精度とのトレードオフを気にすることなく、精度よくタイミング配分できる。
これは、上記（７−１），（７−２）により、仮配線で配線すべきか、実配線で配線すべきかが自動的に選択され（図４０参照）、各回路ブロック（論理ブロック）ごとに決定され、１ＰＣＢ又は１チップ上に、仮配線と実配線とを混在できるためである。
【０２４４】
このように、配線混雑度に応じて仮配線又は実配線が自動的に切り替えられるため、トレードオフを有効活用でき、設計者の手間を削減できる。さらに、配線中に配線混雑度のしきい値を超えた場合、超えるごとに配線層の数を増加し、最終的な配線層として算出する。
このように、再レイアウトせずに必要な配線層数を知ることが可能となる。また、各ピンや各配線に対して属性を与え、複数のピンや複数配線をまとめて配分し、配分のための工数を削減する。
【０２４５】
また、次に、設計者は、配線形態を意識したネットリスト表現を適用して、レイアウト後のサブシグナル名が、ＨＤＬアノテータ５８ｅによりＨＤＬソースコードに書き込まれる。このサブシグナル名に関する情報は、次の（８−１）〜（８−３）に示す態様を用いて取り込まれる。
（８−１）サブシグナル名に関する情報は、ＨＤＬアノテータ５８ｅに取り込まれ、ソースコードの信号代入文の遅延値記述に反映される。これにより、タイミング配分値を指定できる。
【０２４６】
（８−２）ソースコードに配線形態を意識したネットリスト表現がコメント文の形式にて取り込まれる。これにより、フロアプラン後にソースピンとシンクピンとの距離の遠近や順序関係について、設計者はＨＤＬ設計に当たり、ファンアウト数、配分値とともに把握しながら進めることができる。また、レイアウト前に、論理設計からも配線形態を指定できる。従って、レジスタの入力を記述するＲＴＬ設計前に、フロアプランが作成され、予め配線パスの長さが予測できる。このため、設計者は、信号伝搬時間が１サイクル内であるか否かを検討でき、１サイクル内でない場合は、フリップフロップやバッファを挿入するように指示でき早期対策が可能となる。
【０２４７】
（８−３）サブシグナル名に関する情報は、波形解析用情報作成部５８ｈに取り込まれ、波形解析に必要な情報が出力される。
さらに、物理テクノロジ情報には、各テクノロジごとに、単位配線長当たりの遅延値や、負荷容量が保持されており、設計者は、これらの情報を用いて、アーキテクチャ設計からＰＣＢ設計へのサブシステム分割と、アーキテクチャ設計からＬＳＩ設計へのサブシステム分割とのそれぞれについて試行検討する。さらに、設計者は、細部検討が必要な部分については、既存のレイアウトＣＡＤ装置５２ａ，５２ｃを用いて検討する。
【０２４８】
加えて、この物理テクノロジ情報を用いることにより、設計者はフロアプラン作成時に、回路ブロックに使用するテクノロジ（ＰＣＢ又はＬＳＩ）を変更できる。そして、変更された場合は、フロアプランを作成するときに用いられる単位配線長当たりの遅延値や、負荷容量は、それぞれ、この物理テクノロジ情報を参照して、自動的に変更される。
さらに、ＬＳＩ階層のＴＤＢ５７ａ〜５７ｅに保持された情報を用いて、ＰＣＢの波形解析用のライブラリが生成される。加えて、上記（８−１）〜（８−３）により、ＰＣＢ階層から、波形解析のために必要な情報として配線形態を取り入れることができ、ＬＳＩ完成前にＰＣＢの波形解析が可能となる。
【０２４９】
また、配線遅延値は、次の（９）式により計算できる。ここで、クロストークとは、配線間隔が近接していることにより生じるノイズを意味し、そのノイズを除去すべく、配線間隔を拡げたり、そのクロストークが生じている部分の長さを変更する。
配線遅延値＝（単位配線長当たりの遅延値×配線長）＋（クロストーク部分の単位配線長当たりの遅延値×クロストーク部分の配線長）            …（９）
例えば、ＰＣＢテクノロジ又はＬＳＩテクノロジについて、単位配線長当たりの遅延値が７ｐｓ／ｍｍ（ピコ秒／ミリメートル）であり、全配線長が１５７ｍｍ、クロストーク部分の単位配線長当たりの遅延値が１ｐｓ／ｍｍ、クロストーク部分の配線長が５０ｍｍであるとした場合、遅延値は、７ｐｓ×１５７＋１ｐｓ×５０＝１．１４９ｎｓとなる。
【０２５０】
また、フロアプランに関するデータは、実配線連携部６０ｃ，６０ｄによって、インプリメント用のレイアウトデータに自動的に変換され、レイアウト情報が継承される。また、不足する情報は、設計者に通知される。
このように、シュリンク（半導体の微細化が進み、密度が上がり同一面積内により多くの回路を集積できることにより、チップ面積が収縮すること）時に上位の回路ブロック（例えばＰＣＢのフロアプラン）情報が、下位の回路ブロック（ＬＳＩ）に継承されるため、設計者は、レイアウト情報（ＰＣＢのレイアウト情報）についての設計資産を有効に利用できる。
【０２５１】
また、このように、フロアプラン結果に基づいて、ＳＴＡが行なわれ、１サイクルに収まらない場合にはフリップフロップやバッファ挿入指示が配分レポートとして出力される。予め、伝送遅延を配分してからＲＴＬを設計でき、インプリメント時の問題を予測でき、手戻り（イタレーション）を削減できる。
従って、このように、アーキテクチャ設計時にタイミングを考慮したフリップフロップが挿入されるので、ＲＴＬの再設計の手戻りが削減できる。加えて、フリップフロップを挿入する場合、バッファを挿入する場合に比較して、制御条件（セットアップ時間）を満たすべき遅延時間を超えてしまってもパスを分割することにより、制約条件内に遅延時間を抑えることができる。
【０２５２】
（Ｃ）その他
本発明は上述した実施態様に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、種々変形して実施することができる。
例えば例示した名称は、種々変更することができる。なお、上記の説明におけるデータイメージは、その形式に限定されるものではない。第１実施形態において、名称の表記は、ハイフン記号の代わりに、アンダースコア記号を用いることもできる。
【０２５３】
固有化処理，テスト回路生成処理，負荷調整処理の順番は、この順に限定されるのではなく、種々変更したり、これらの処理の間に他の処理を入れて実行されることは言うまでもなく、それらの順番を変更したものに対しても、本発明の優位性は何ら損なわれることはない。
（Ｄ）付記
（付記１）  回路に関する情報を保持する回路情報データベースと、
該回路情報データベースから該回路に関する情報を読み出し所定の処理すべき単位ごとに該回路を設計する設計処理部と、
該設計処理部において得られた少なくとも回路要素の固有化情報，該回路を変更した履歴を表す変更履歴情報及び該回路の端子負荷・駆動能力情報を含む設計情報を保持する設計情報データベースとをそなえて構成されたことを特徴とする、回路設計装置。
【０２５４】
（付記２）  該設計処理部が、
該設計情報データベースから該固有化情報を読み出して、該処理すべき単位のそれぞれについて相異なる固有名を付与する固有化処理部と、
該設計情報データベースから該変更履歴情報を読み出し上位階層のテスト回路を生成しうるテスト回路生成処理部と、
該設計情報データベースから該端子負荷・駆動能力情報を読み出し該上位階層の回路に含まれる端子のそれぞれについて該設計情報を付与するとともに、該設計情報に基づいて負荷を調整する負荷調整処理部とをそなえて構成されたことを特徴とする、付記１記載の回路設計装置。
【０２５５】
（付記３）  該固有化処理部と、該テスト回路生成処理部と、該負荷調整処理部とのうちの少なくとも一つが、
該処理すべき単位のうちの一つの単位が、他の独立して設計された単位を階層的に内包した状態で上記回路の設計を行なう階層設計をするように構成されたことを特徴とする、付記２記載の回路設計装置。
【０２５６】
（付記４）  該固有化処理部が、
該設計情報データベースに基づいて、該回路要素の名称に関するパラメータに基づき、該処理すべき単位のそれぞれについて固有名を付与すべく、固有名付与規則を設定する固有名付与規則設定部と、
該固有名付与規則設定部にて設定された該固有名付与規則に基づいて、該処理すべき単位に、既に処理された単位に付与した固有名と異なる固有名を生成する固有名生成部とをそなえて構成されたことを特徴とする、付記３記載の回路設計装置。
【０２５７】
（付記５）  該固有化処理部が、
同一の回路単位を複数使用している箇所を検索し、該箇所における回路単位の種別について、階層，セル，ブラックボックスを判別する複数参照解析部をそなえ、
該固有名生成部が、
該複数参照解析部にて判別された、複数参照単位及び単一参照単位のそれぞれについて固有名を生成するように構成されたことを特徴とする、付記４記載の回路設計装置。
【０２５８】
（付記６）  該固有化処理部が、
該固有名生成部にて生成された固有名を該複数参照単位と該単一参照単位とのそれぞれに割り付けて、回路データを複製する回路データ複製部とをそなえて構成されたことを特徴とする、付記５記載の回路設計装置。
（付記７）  該固有化処理部と、該テスト回路生成処理部と、該負荷調整処理部とのうちの少なくとも一つが、該上位階層を処理するときには、
該設計情報データベースに書き込まれた該設計情報に基づいて、処理すべき単位について処理対象／非処理対象を判別する処理対象判別部と、
該処理対象判別部により判別された該処理対象／処理対象外に基づいて、該回路情報データベースから該処理すべき単位の回路データを取得する処理データ取得部とをそなえて構成されたことを特徴とする、付記３記載の回路設計装置。
【０２５９】
（付記８）  該固有化処理部と、該テスト回路生成処理部と、該負荷調整処理部とのうちの少なくとも一つが、
該設計情報データベースに書き込まれた該設計情報に基づいて、処理すべき単位について処理対象／非処理対象を判別する処理対象判別部とをそなえて構成されたことを特徴とする、付記２記載の回路設計装置。
【０２６０】
（付記９）  該処理対象判別部が、
該設計情報のうち、第１の単位を処理して得られる第１の単位の処理結果に関する第１単位情報に基づいて、次に処理する第２の単位が内包する単位が該処理された単位であるか否かを判別するように構成されたことを特徴とする、付記２記載の回路設計装置。
（付記１０）  該テスト回路生成処理部が、
該設計情報データベースに保持された該設計情報に基づいて、下位階層にテスト信号入力用として追加した端子と上位階層が参照した階層における端子との間の端子不整合を解消する階層整合性復元部をそなえて構成されたことを特徴とする、付記３記載の回路設計装置。
【０２６１】
（付記１１）  該固有化処理部と、該テスト回路生成処理部と、該負荷調整処理部とのうちの少なくとも一つが、
該処理すべき単位のうちの一部分を変更し、上記回路における他の部分を変更しないで再設計するエンジニアリングチェインジオーダー設計（以下、ＥＣＯ設計と称する）をするように構成されたことを特徴とする、付記２記載の回路設計装置。
【０２６２】
（付記１２）  該固有化処理部と、該テスト回路生成処理部と、該負荷調整処理部とのうちの少なくとも一つが、
通常設計により作成された通常設計情報を読み込む設計情報読み込み部と、
該通常設計情報とパラメータで与えられるＥＣＯ対象単位情報とを用いて処理すべき回路データを判別する処理対象判別部とをそなえ、
該通常設計情報を用いて通常設計された回路と変更箇所以外とが同一の回路を設計するように構成されたことを特徴とする、付記１１記載の回路設計装置。
【０２６３】
（付記１３）  該固有化処理部が、
該上位階層が該設計情報を参照する場合に、該処理すべき単位を該複数参照の回数分だけ複製し該付加後の処理すべき単位のそれぞれに該固有名を付与すべく、
該設計情報データベースに書き込まれた該設計情報に基づいて、処理すべき単位について処理対象／非処理対象を判別する処理対象判別部と、
該処理対象判別部にて処理対象と判別された場合は該設計情報データベースに保持された該参照関係と同一の参照関係になるように該固有名を生成し、非処理対象と判別された場合は既に割り当てた固有名と異なる固有名を生成する固有名生成部とをそなえて構成されたことを特徴とする、付記１１記載の回路設計装置。
【０２６４】
（付記１４）  該テスト回路生成処理部が、
該設計情報データベースに基づいて、ＥＣＯ設計対象単位について、通常設計時に作成された通常設計情報及びテスト回路規則を用いて、該通常設計時と同一のテスト回路を生成できる部分と、新たなテスト回路を生成すべき部分とのそれぞれを識別する識別データを抽出する回路解析部とをそなえて構成されたことを特徴とする、付記１１記載の回路設計装置。
【０２６５】
（付記１５）  該テスト回路生成処理部が、
該設計情報データベースに保持された該設計情報に基づいて、下位階層にテスト信号入力用として追加した端子と上位階層が参照した階層における端子との間の端子不整合を解消する階層整合性復元部をそなえ、
該階層整合性復元部が、
該設計情報のうち通常設計時についての通常時設計情報とＥＣＯ設計対象単位と該上位階層における端子情報とを用いて、階層整合性を復元するように構成されたことを特徴とする、付記１１記載の回路設計装置。
【０２６６】
（付記１６）  該テスト回路生成処理部が、
該回路解析部により抽出された識別データに基づき、該ＥＣＯ設計対象単位について、通常設計時と同一のテスト回路を生成できる部分について同一のテスト回路を生成し、新たなテスト回路を生成すべき部分についてテスト回路規則に従ったテスト回路を生成するテスト回路生成部とをそなえて構成されたことを特徴とする、付記１４記載の回路設計装置。
【０２６７】
（付記１７）  該固有化処理部が、
該設計情報データベースから該設計情報を読み出す設計情報読み込み部とをそなえ、
該設計情報読み込み部が、
固有化前の階層名と固有化後の階層名とを対応づけて、固有化前の階層名による固有化後の回路データを参照できるように構成されたことを特徴とする、付記２又は付記１１記載の回路設計装置。
【０２６８】
（付記１８）  該負荷調整処理部が、
論理素子が駆動可能な端子容量を解析して、駆動不能な端子を抽出する負荷解析部と、
該負荷解析部にて抽出された該駆動不能な端子の駆動能力を調整する回路調整部とをそなえて構成されたことを特徴とする、付記２記載の回路設計装置。
（付記１９）  該回路情報データベースが、
階層設計とエンジニアリングチェインジオーダー設計（以下、ＥＣＯ設計と称する）とのうちの少なくとも一方において、
該処理された単位ごとに回路情報を該回路情報データベースに書き込む回路情報書き込み部と、
該回路情報書き込み部に接続され、該処理すべき単位ごとに書き込まれた回路情報を参照できる参照部とをそなえて構成されたことを特徴とする、付記１記載の回路設計装置。
【０２６９】
（付記２０）  該設計情報データベースが、
該回路要素を個別のファイルに保存しうる複数の保持部をそなえて構成されたことを特徴とする、付記１１記載の回路設計装置。
（付記２１）  回路設計方法において、
回路に関する情報を保持する回路情報データベースから該回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる設計処理部において、第１の単位を処理して得られる第１の単位の処理結果に関する第１単位情報を生成する処理生成ステップと、
該処理生成ステップにて生成中の少なくとも回路要素の固有化情報，該回路を変更した履歴を表す変更履歴情報及び該回路の端子負荷・駆動能力情報を含む設計情報を収集する設計情報収集ステップと、
該設計情報収集ステップにて収集された該設計情報を、該設計処理部に接続され該設計情報を保持する設計情報データベースに該処理すべき単位ごとに書き込む設計情報書き込みステップと、
該設計情報書き込みステップにて書き込まれた該設計情報に基づいて第２の単位を処理すべく、第１の単位に関する設計情報を参照する参照ステップと、
該参照ステップにて参照された第１の単位に関する設計情報についての参照関係を認識する認識ステップと、
該参照ステップにて得られた該参照関係に基づき、該回路情報データベースに保持された位置と処理結果とに関する単位情報を参照する回路情報データベース参照ステップと、
設計処理された回路データを更新する回路情報データベース書き込みステップとをそなえて構成されたことを特徴とする、回路設計方法。
【０２７０】
（付記２２）  回路設計方法において、
回路に関する情報を保持する回路情報データベースから該回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる設計処理部において、第３の単位を内包する第４の単位を処理する第１処理ステップと、
該第１処理ステップにて生成中の該第３の単位の処理結果に関する第３単位情報を収集する第３単位情報収集ステップと、
該第３単位情報収集ステップにて収集された該第３単位情報を、該設計処理部に接続され該設計情報を保持する設計情報データベースに書き込む設計情報書き込みステップと、
該設計情報書き込みステップにて書き込まれた該第３単位情報に基づき、該第３の単位を変更して得られる第３処理済単位が該第４の単位を変更して得られる第４処理済単位を内包するか否かを判別するとともに、該第３処理済単位が該第３の単位と同等か否かを判別する判別ステップとをそなえて構成されたことを特徴とする、回路設計方法。
【０２７１】
（付記２３）  コンピュータを、
回路に関する情報を保持する回路情報データベースから該回路に関する情報を読み出し所定の処理すべき単位ごとに該回路を設計するとともに、該設計によって得られた少なくとも回路要素の固有化情報，該回路を変更した履歴を表す変更履歴情報及び該回路の端子負荷・駆動能力情報を含む設計情報を該設計情報データベースに保持するように機能させるための、プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【０２７２】
（付記２４）  コンピュータに、
回路に関する情報を保持する回路情報データベースから該回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる設計処理部において、第１の単位を処理して得られる第１の単位の処理結果に関する第１単位情報を生成する処理生成ステップと、
該処理生成ステップにて生成中の少なくとも回路要素の固有化情報，該回路を変更した履歴を表す変更履歴情報及び該回路の端子負荷・駆動能力情報を含む設計情報を収集する設計情報収集ステップと、
該設計情報収集ステップにて収集された該設計情報を、該設計処理部に接続され該設計情報を保持する設計情報データベースに該処理すべき単位ごとに書き込む設計情報書き込みステップと、
該設計情報書き込みステップにて書き込まれた該設計情報に基づいて第２の単位を処理すべく、第１の単位に関する設計情報を参照する参照ステップと、
該参照ステップにて参照された第１の単位に関する設計情報についての参照関係を認識する認識ステップと、
該参照ステップにて得られた該参照関係に基づき、該回路情報データベースに保持された位置と処理結果とに関する単位情報を参照する回路情報データベース参照ステップと、
設計処理された回路データを更新する回路情報データベース書き込みステップとを実行するように機能させるための、プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【０２７３】
（付記２５）  コンピュータに、
回路に関する情報を保持する回路情報データベースから該回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる設計処理部において、第３の単位を内包する第４の単位を処理する第１処理ステップと、
該第１処理ステップにて生成中の該第３の単位の処理結果に関する第３単位情報を収集する第３単位情報収集ステップと、
該第３単位情報収集ステップにて収集された該第３単位情報を、該設計処理部に接続され該設計情報を保持する設計情報データベースに書き込む設計情報書き込みステップと、
該設計情報書き込みステップにて書き込まれた該第３単位情報に基づき、該第３の単位を変更して得られる第３処理済単位が該第４の単位を変更して得られる第４処理済単位を内包するか否かを判別するとともに、該第３処理済単位が該第３の単位と同等か否かを判別する判別ステップとを実行するように機能させるための、プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【０２７４】
（付記２６）  階層設計において、
複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され、該回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部と、
該複数のタイミング配分作成部のそれぞれの間の接続を動的に変更するとともに、該複数のタイミング配分作成部のそれぞれの間と該タイミング配分値に関する修正情報を送受信する階層間連携マネージャとをそなえて構成されていることを特徴とする、タイミング配分装置。
【０２７５】
（付記２７）  該タイミング配分作成部が、該複数の設計階層のそれぞれに対応して設けられ設計情報を有する階層エンティティと該設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、
該階層間連携マネージャが、該エージェントとしての該タイミング配分作成部に接続され該複数の設計階層のそれぞれと該タイミング配分値に関する情報を送受信するマネージャとして構成されたことを特徴とする、付記２６記載のタイミング配分装置。
【０２７６】
（付記２８）  該タイミング配分作成部が、
少なくとも設計言語のソースコードに関するネットリスト，該ブロック情報及び配線に関する制約情報を有する論理／制約情報を保持する論理／制約情報保持部と、
該論理／制約情報保持部に接続され、回路素子の配置及び回路素子間の配線に関するフロアプランに基づきタイミングを配分して仮配線を行なうフロアプラン部と、
該フロアプラン部に接続され、該ネットリスト情報を保持するタイミング情報保持部と、
該論理／制約情報保持部と該タイミング情報保持部とに接続され、少なくとも該ネットリスト情報に基づいて該遅延値を出力する配分マネージャとをそなえて構成されたことを特徴とする、付記２７記載のタイミング配分装置。
【０２７７】
（付記２９）  該フロアプラン部が、
該論理／制約情報保持部に接続され、属性情報としての配分値を該制約情報からのスラックに基づき改善と修正とが可能な部分を提示するとともに、該遅延要素情報に起因する配置情報を保持する配置処理部と、
該配置処理部に接続され、実配線への連携と仮配線とを行なうとともに配線情報を出力する実配線・仮配線実行部と、
該実配線・仮配線実行部に接続され、該配線情報を保持する配線情報保持部と、
該タイミング情報を出力すべく、少なくとも配線幅及び配線層に対応した単位長当たりの遅延値及び単位長当たりの負荷容量からなる物理テクノロジ情報を保持する物理テクノロジ情報保持部と、
該配線情報保持部と該物理テクノロジ情報保持部とに接続され、遅延長及び負荷容量に基づいて該配線情報を遅延値に変換して出力する変換部とをそなえて構成されたことを特徴とする、付記２８記載のタイミング配分装置。
【０２７８】
（付記３０）  該実配線・仮配線実行部が、
長い計算時間を要する実配線と計算時間が短い仮配線とを併用して配線し、かつ、該タイミング配分値を抽出するように構成されたことを特徴とする、付記２９記載のタイミング配分装置。
（付記３１）  該実配線・仮配線実行部が、
属性情報としての配分値を制約情報からのスラックに基づき改善と修正とが可能な部分を提示する配置支援部の配置結果に基づき、プリント回路基板と大規模集積回路との双方についてマンハッタン長仮配線するマンハッタン長仮配線部と、
該配置結果に基づき該プリント回路基板の縁に対して斜めに配線する斜め配線を用いて仮配線する斜めマンハッタン長仮配線部と、
該プリント回路基板と該大規模集積回路とについて配線する実配線連携部とをそなえて構成されたことを特徴とする、付記２９記載のタイミング配分装置。
【０２７９】
（付記３２）  該実配線・仮配線実行部が、
該マンハッタン長仮配線と該斜めマンハッタン長仮配線と実配線とに基づいて該仮配線するように構成されたことを特徴とする、付記３１記載のタイミング配分装置。
（付記３３）  該実配線・仮配線実行部が、
選択された該階層について該遅延値及び該負荷容量を、該物理テクノロジ情報保持部から読み出し、単位配線長当たりの遅延時間を変化させて配分するように構成されたことを特徴とする、付記２９記載のタイミング配分装置。
【０２８０】
（付記３４）  該実配線・仮配線実行部が、
該仮配線により得られた該タイミング配分値について計算された該マージンと配線密度を表す配線混雑度とに基づいて実配線するように構成されたことを特徴とする、付記３１記載のタイミング配分装置。
（付記３５）  該実配線・仮配線実行部が、
該実配線のみ行なえる他の計算機を援用する設計装置と連動させるべく、該実配線にて不足する情報に関する解析用の情報を出力するように構成されたことを特徴とする、付記３１記載のタイミング配分装置。
【０２８１】
（付記３６）  該実配線・仮配線実行部が、
少なくとも配線禁止の領域と該配線混雑度とに基づいて、該仮配線及び実配線をするように構成されたことを特徴とする、付記３１記載のタイミング配分装置。
（付記３７）  該実配線・仮配線実行部が、
制約条件として使用されたクロック周波数に基づき到達しなければならない時間内に到達可能の可否を判定し、到達不可と判定すると複数の該回路ブロック間の該ネットリスト情報に対してバッファ及びフリップフロップのうちの少なくとも一つの挿入を指示するように構成されたことを特徴とする、付記３１記載のタイミング配分装置。
【０２８２】
（付記３８）  該実配線・仮配線実行部が、
該回路ブロックに含まれる端子を該制約情報に基づいて配置するように構成されたことを特徴とする、付記３１記載のタイミング配分装置。
（付記３９）  該階層間連携マネージャが、
該タイミング情報データベースに対して、該タイミング情報データが不足している該回路ブロックを抽出して入力するとともに、その不足している該回路ブロックを設計者に対して通知するように構成されたことを特徴とする、付記２７記載のタイミング配分装置。
【０２８３】
（付記４０）  該フロアプラン部が、
該回路ブロック中の該配線幅を、実配線及び仮配線している間に変更できるように構成されたことを特徴とする、付記２８記載のタイミング配分装置。
（付記４１）  該階層間連携マネージャが、
該複数の配分マネージャの組み合わせを変更できるように構成されたことを特徴とする、付記２７記載のタイミング配分装置。
【０２８４】
（付記４２）  該タイミング配分作成部が、さらに、
大規模集積回路の階層の入出力バッファ情報からプリント回路基板の波形解析用の情報を生成する波形解析用情報作成部をそなえて構成されたことを特徴とする、付記２８記載のタイミング配分装置。
（付記４３）  該タイミング配分作成部が、
予め設定された他のタイミング仕様と該フロアプラン部にて配分された該タイミングとに基づいて、該タイミング配分値を出力するように構成されたことを特徴とする、付記２８記載のタイミング配分装置。
【０２８５】
（付記４４）  該フロアプラン部が、
該回路ブロックの規模又は形状のうちの少なくとも一方を実配線及び仮配線している間に変更できるように構成されたことを特徴とする、付記２８記載のタイミング配分装置。
（付記４５）  該タイミング配分作成部が、
該ソースコードを用いて、論理設計時又はレイアウト検討からバックアノテートされたタイミング配分値を読み込むように構成されたことを特徴とする、付記２８記載のタイミング配分装置。
【０２８６】
（付記４６）  該タイミング配分作成部が、さらに、
該タイミング配分値に起因する情報を該ソースコードに書き込むアノテータをそなえて構成されたことを特徴とする、付記２８記載のタイミング配分装置。
（付記４７）  該アノテータが、
該ソースコードに、配線形態に関するネットリスト情報を書き込むように構成されたことを特徴とする、付記４６記載のタイミング配分装置。
【０２８７】
（付記４８）  該物理テクノロジ情報保持部が、
該配線長と、該単位長当たりの遅延値，該単位長当たりの負荷容量とを、相互に関連づけて保持するように構成されていることを特徴とする、付記２９記載のタイミング配分装置。
（付記４９）  該階層間連携マネージャが、
該複数のタイミング情報データベースのうちの一つが送信したタイミング配分仕様変更要求を受信し、該タイミング配分仕様変更が影響を与えうる他のタイミング情報データベースを抽出し、該他のタイミング情報データベースに対して該タイミング配分値の変更の可否を問い合わせるように構成されたことを特徴とする、付記２６記載のタイミング配分装置。
【０２８８】
（付記５０）  該階層間連携マネージャが、
該他のタイミング情報データベースから該タイミング配分値の変更可能を受信すると、所望のタイミング情報データベースに対して変更可能を出力するように構成されたことを特徴とする、付記２７記載のタイミング配分装置。
（付記５１）  該階層間連携マネージャが、
該タイミング配分値が変更されると、その変更された階層よりも上位の該階層エンティティが更新されるように構成されたことを特徴とする、付記２８記載のタイミング配分装置。
【０２８９】
（付記５２）  該配分マネージャが、
該論理／制約情報保持部に接続され、タイミング配分する配分エディタと、
該配分エディタと該論理／制約情報保持部と該タイミング情報保持部とに接続され、該ネットリスト情報を出力するデータベース参照登録部と、
自己の階層のタイミング配分情報と他の階層のタイミング配分情報とを入出力する自階層タイミング情報データベース出力・他階層タイミング情報データベース反映部と、
調停を行なう調停制御部とをそなえて構成されたことを特徴とする、付記２７記載のタイミング配分装置。
【０２９０】
（付記５３）  該配分マネージャが、
信号の到着時間の位相差を表すスキューを、配線形態に関するネットリスト情報の該配線パスのうち共通の配線パス以外のものに基づいて計算するように構成されたことを特徴とする、付記２８記載のタイミング配分装置。
（付記５４）  該配分マネージャが、
該配線パスに、副信号名として配線形態を表す名称を付与するように構成されたことを特徴とする、付記２８記載のタイミング配分装置。
【０２９１】
（付記５５）  該配分マネージャが、
副信号名とファンアウト数とを関連づけて命名するように構成されたことを特徴とする、付記２８記載のタイミング配分装置。
（付記５６）  該配分マネージャが、
配線した部分について、該制約情報の値に応じたグラデーションを操作画面にて色彩表示するように構成されたことを特徴とする、付記２８記載のタイミング配分装置。
【０２９２】
（付記５７）  該配分マネージャが、
該回路ブロックを示す図に、該タイミング配分値とタイミング配分できる値の範囲を表示するように構成されたことを特徴とする、付記２８記載のタイミング配分装置。
（付記５８）  階層設計するに当たり、コンピュータを、
複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され該回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部と、
該複数のタイミング配分作成部のそれぞれに接続され、該複数のタイミング配分作成部のそれぞれの間と該タイミング配分値に関する修正情報を送受信する階層間連携マネージャとして機能させるための、プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【０２９３】
以上、詳述したような付記記載の本発明の関連技術としての回路設計装置，回路設計方法及び本発明のタイミング配分装置によれば、以下のような効果が得られる。
（１）回路設計装置が、回路に関する情報を保持する回路情報データベースと、回路情報データベースから回路に関する情報を読み出し所定の処理すべき単位ごとに回路を処理しうる設計処理部と、設計処理部において得られた少なくとも回路要素の固有化情報，回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を保持する設計情報データベースとをそなえて構成されているので、作業用メモリの使用量が最適化され、階層設計やＥＣＯ設計における、設計者の負担を一括設計する場合と同等にまで削減できる。また、全自動化により連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。
【０２９４】
（２）設計処理部が、設計情報データベースから固有化情報を読み出して、処理すべき単位のそれぞれについて相異なる固有名を付与する固有化処理部と、設計情報データベースから変更履歴情報を読み出し上位階層のテスト回路を生成しうるテスト回路生成処理部と、設計情報データベースから端子負荷・駆動能力情報を読み出し上位階層の回路に含まれる端子のそれぞれについて設計情報を付与するとともに、設計情報に基づいて負荷を調整する負荷調整処理部とをそなえて構成されてもよく、このようにすれば、階層の境界情報や端子などの設計情報が自動的に入力され、処理履歴から現在の処理における処理対象部分が、自動的に判断され、また、処理対象外の部分に含まれる設計情報が自動的に抽出されて、現在設計中の部分の処理に利用できる利点がある。
【０２９５】
（３）回路設計方法が、回路に関する情報を保持する回路情報データベースから回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる設計処理部において、第１の単位を処理して得られる第１の単位の処理結果に関する第１単位情報を生成する処理生成ステップと、処理生成ステップにて生成中の少なくとも回路要素の固有化情報，回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を収集する設計情報収集ステップと、設計情報収集ステップにて収集された設計情報を、設計処理部に接続され設計情報を保持する設計情報データベースに処理すべき単位ごとに書き込む設計情報書き込みステップと、設計情報書き込みステップにて書き込まれた設計情報に基づいて第２の単位を処理すべく、第１の単位に関する設計情報を参照する参照ステップと、参照ステップにて参照された第１の単位に関する設計情報についての参照関係を認識する認識ステップと、参照ステップにて得られた参照関係に基づき、回路情報データベースに保持された位置と処理結果とに関する単位情報を参照する回路情報データベース参照ステップと、設計処理された回路データを更新する回路情報データベース書き込みステップとをそなえて構成されているので、下位階層について回路情報データベースからの読み出しが不要となり、固有化処理のために使用する、作業用メモリの容量等が大幅に節約できる。
【０２９６】
（４）タイミング配分装置が、階層設計において、複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され、回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部と、複数のタイミング配分作成部のそれぞれの間の接続を動的に変更するとともに、複数のタイミング配分作成部のそれぞれの間とタイミング配分値に関する修正情報を送受信する階層間連携マネージャとをそなえて構成されているので、タイミング仕様が変更されたときに、その影響範囲を即座に参照でき、仕様変更の参照ミスがなくなる。また、仮配線と実配線との組み合わせにより、フロアプランの実行速度向上と精度の向上の両立が図れる。さらに、階層エンティティを用いることができ分散設計環境が構築でき、トップダウン設計において、必要部分のみ詳細化でき、一つの設計チームにおいて、試行検討で分割されたタイミング仕様の良否を検討でき、インプリメント時の問題を予測でき、手戻りを削減できる。
【０２９７】
（５）タイミング配分作成部が、複数の設計階層のそれぞれに対応して設けられ設計情報を有する階層エンティティと設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、階層間連携マネージャが、エージェントとしてのタイミング配分作成部に接続され複数の設計階層のそれぞれとタイミング配分値に関する情報を送受信するマネージャとして構成されてもよく、このようにすれば、オブジェクト指向的な階層エンティティにより、論理設計と物理レイアウトとを融合させたタイミングドリブンレイアウト処理を行なうときに、各論理階層と物理階層との間における情報の流れが明確となり、連携が容易となる。
【０２９８】
（６）固有化処理部が、固有名付与規則設定部と、固有名生成部とをそなえて構成されてもよく、このようにすれば、設計者が回路変更する前における元の固有名と、設計者により設定された設定値とに基づいて新たな名称が生成され、複数参照されて新たに名称が複数個生成されても、それらの名称の判別が明確にでき、設計者はそれらの名称をグループ分けが容易となり、処理すべき単位ごとにグルーピングできる。また、処理された単位と現在処理中の単位の名称との重複が回避される。
【０２９９】
（７）固有化処理部が同一の回路単位を複数使用している箇所を検索し、その箇所における回路単位の種別について、階層，セル，ブラックボックスを判別する複数参照解析部をそなえ、固有化処理部が前記複数参照解析部にて判別された、複数参照単位及び単一参照単位のそれぞれについて固有名を生成するように構成されてもよく、また、固有名生成部にて生成された固有名を複数参照単位と単一参照単位とのそれぞれに割り付けて、回路データを複製する回路データ複製部をそなえて構成されてもよく、このようにすれば、固有化処理が効率よくでき、かつ、きめ細かい設計が可能となる。
【０３００】
（８）固有化処理部と、テスト回路生成処理部と、負荷調整処理部とが、それぞれ、上位階層を処理するときには、設計情報データベースに書き込まれた設計情報に基づいて、処理すべき単位について処理対象／非処理対象を判別する処理対象判別部と、処理対象判別部により判別された処理対象／処理対象外に基づいて、回路情報データベースから処理すべき単位の回路データを取得する処理データ取得部とをそなえて構成されてもよく、このようにすれば、作業用のメモリの節約が可能となる。
【０３０１】
（９）固有化処理部と、テスト回路生成処理部と、負荷調整処理部とが、それぞれ、設計情報データベースに書き込まれた設計情報に基づいて、処理すべき単位について処理対象／非処理対象を判別する処理対象判別部とをそなえて構成されてもよく、このようにすれば、処理すべき部分に関する情報が容易に得られるようになる。
（１０）処理対象判別部が、設計情報のうち、第１の単位を処理して得られる第１の単位の処理結果に関する第１単位情報に基づいて、次に処理する第２の単位が内包する単位が処理された単位であるか否かを判別するように構成されてもよく、このようにすれば、処理すべき対象の箇所を、容易に判別できる。
【０３０２】
（１１）テスト回路生成処理部が、設計情報データベースに保持された設計情報に基づいて、下位階層にテスト信号入力用として追加した端子と上位階層が参照した階層における端子との間の端子不整合を解消する階層整合性復元部をそなえて構成されてもよく、このようにすれば、ＥＣＯ設計における設計者の操作性が大幅に向上する。
（１２）固有化処理部と、テスト回路生成処理部と、負荷調整処理部とが、それぞれ、ＥＣＯ設計するように構成されてもよく、このようにすれば、回路の設計が同一の操作手順を使用できる。
【０３０３】
（１３）固有化処理部と、テスト回路生成処理部と、負荷調整処理部とが、それぞれ、通常設計により作成された通常設計情報を読み込む設計情報読み込み部と、通常設計情報とパラメータで与えられるＥＣＯ対象単位情報とを用いて処理すべき回路データを判別する処理対象判別部とをそなえ、通常設計情報を用いて通常設計された回路と変更箇所以外とが同一の回路を設計するように構成されてもよく、このようにすれば、全自動化により連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。
【０３０４】
（１４）固有化処理部が、設計情報データベースに書き込まれた設計情報に基づいて、処理すべき単位について処理対象／非処理対象を判別する処理対象判別部と、処理対象判別部にて処理対象と判別された場合は設計情報データベースに保持された参照関係と同一の参照関係になるように固有名を生成し、非処理対象と判別された場合は既に割り当てた固有名と異なる固有名を生成する固有名生成部とをそなえて構成されてもよく、このようにすれば、上位階層が設計情報を参照する場合に、処理すべき単位を複数参照の回数分だけ複製でき、付加後の処理すべき単位のそれぞれに重複しない固有名を付与できる。
【０３０５】
（１５）テスト回路生成処理部が、設計情報データベースに基づいて、ＥＣＯ設計対象単位について、通常設計時に作成された通常設計情報及びテスト回路規則を用いて、通常設計時と同一のテスト回路を生成できる部分と、新たなテスト回路を生成すべき部分とのそれぞれを識別する識別データを抽出する回路解析部とをそなえて構成されてもよく、このようにすれば、作業用メモリの使用量が最適化される。
【０３０６】
（１６）階層整合性復元部が、設計情報のうち通常設計時についての通常時設計情報とＥＣＯ設計対象単位と上位階層における端子情報とを用いて、階層整合性を復元するように構成されてもよく、このようにすれば、大規模回路を部分ごとに設計できる。
（１７）テスト回路生成処理部が、回路解析部により抽出された識別データに基づき、ＥＣＯ設計対象単位について、通常設計時と同一のテスト回路を生成できる部分について同一のテスト回路を生成し、新たなテスト回路を生成すべき部分についてテスト回路規則に従ったテスト回路を生成するテスト回路生成部とをそなえて構成されてもよく、このようにすれば、ＥＣＯ設計の設計効率が大幅に向上する。
【０３０７】
（１８）設計情報読み込み部が、固有化前の階層名と固有化後の階層名とを対応づけて、固有化前の階層名による固有化後の回路データを参照できるように構成されてもよく、このようにすれば、固有化処理の有無と固有化前後における階層名とを得られる。
（１９）負荷調整処理部が、論理素子が駆動可能な端子容量を解析して、駆動不能な端子を抽出する負荷解析部と、負荷解析部にて抽出された駆動不能な端子の駆動能力を調整する回路調整部とをそなえて構成されてもよく、このようにすれば、回路における各端子がいずれも適切な容量に調整されるようになる。
【０３０８】
（２０）回路情報データベースが、階層設計とＥＣＯ設計とにおいて、処理された単位ごとに回路情報を回路情報データベースに書き込む回路情報書き込み部と、回路情報書き込み部に接続され、処理すべき単位ごとに書き込まれた回路情報を参照できる参照部とをそなえて構成されてもよく、このようにすれば、設計効率が向上する。
（２１）設計情報データベースが、回路要素を個別のファイルに保存しうる複数の保持部をそなえて構成されてもよく、このようにすれば、設計情報が回路設計に反映され、設計期間等の作業効率が向上する。
【０３０９】
（２２）回路設計方法が、設計処理部において、第３の単位を内包する第４の単位を処理する第１処理ステップと、生成中の第３の単位の処理結果に関する第３単位情報を収集する第３単位情報収集ステップと、収集された第３単位情報を設計処理部に接続され設計情報を保持する設計情報データベースに書き込む設計情報書き込みステップと、書き込まれた第３単位情報に基づき、第３の単位を変更して得られる第３処理済単位が第４の単位を変更して得られる第４処理済単位を内包するか否かを判別するとともに、第３処理済単位が第３の単位と同等か否かを判別する判別ステップとをそなえて構成されているので、全自動化により連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。階層設計が容易に実現でき、また、大規模回路の階層設計が非常に効率よくできる。
【０３１０】
（２３）本発明のプログラムが、コンピュータを、回路情報データベースから回路に関する情報を読み出し処理すべき単位ごとに回路を設計するとともに、設計によって得られた回路要素の固有化情報，回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を設計情報データベースに保持するように機能させているので、大規模回路を設計する環境を簡便に構築することができる。
【０３１１】
（２４）本発明のプログラムが、コンピュータに、設計処理部において、第１の単位の処理結果に関する第１単位情報を生成する処理生成ステップと、生成中の変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を収集する設計情報収集ステップと、収集された設計情報を、設計情報データベースに処理すべき単位ごとに書き込む設計情報書き込みステップと、書き込まれた設計情報に基づいて第２の単位を処理すべく、第１の単位に関する設計情報を参照する参照ステップと、参照された第１の単位に関する設計情報についての参照関係を認識する認識ステップと、得られた参照関係に基づき、回路情報データベースに保持された位置と処理結果とに関する単位情報を参照する回路情報データベース参照ステップと、設計処理された回路データを更新する回路情報データベース書き込みステップとを実行するように機能させるので、例えば内包する場合には第１の単位が処理済であるか否かが自動的に認識される。
【０３１２】
（２５）本発明のプログラムは、コンピュータに、回路情報データベースから回路に関する情報を読み出して、設計処理部において、第３の単位を内包する第４の単位を処理する第１処理ステップと、生成中の第３の単位の処理結果に関する第３単位情報を収集する第３単位情報収集ステップと、収集された第３単位情報を、設計情報データベースに書き込む設計情報書き込みステップと、書き込まれた第３単位情報に基づき、第３の単位を変更して得られる第３処理済単位が第４の単位を変更して得られる第４処理済単位を内包するか否かを判別するとともに、第３処理済単位が第３の単位と同等か否かを判別する判別ステップとを実行するように機能させるので、全自動化により連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。
【０３１３】
（２６）タイミング配分作成部が、複数の設計階層のそれぞれに対応して設けられた階層エンティティと設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、階層間連携マネージャが、エージェントとしてのタイミング配分作成部に接続され複数の設計階層のそれぞれとタイミング配分値に関する情報を送受信するマネージャとして構成されてもよく、このようにすれば、複数の設計階層が、相互に、階層間連携マネージャを介して通信できる。
【０３１４】
（２７）タイミング配分作成部が、遅延要素情報を保持する論理／制約情報保持部と、フロアプランに基づきタイミングを配分して仮配線を行なうフロアプラン部と、ネットリスト情報を保持するタイミング情報保持部と、ネットリスト情報に基づいて遅延値を出力する配分マネージャとをそなえて構成されてもよく、このようにすれば、柔軟な設計変更が可能となる。
【０３１５】
（２８）フロアプラン部が、属性情報としての配分値を制約情報からのスラックに基づき改善と修正とが可能な部分を提示するとともに遅延要素情報に起因する配置情報を保持する配置処理部と、実配線への連携と仮配線とを行なうとともに配線情報を出力する実配線・仮配線実行部と、配線情報を保持する配線情報保持部と、単位長当たりの遅延値及び単位長当たりの負荷容量からなる物理テクノロジ情報を保持する物理テクノロジ情報保持部と、遅延長及び負荷容量に基づいて配線情報を遅延値に変換して出力する変換部とをそなえて構成されてもよく、このようにすれば、容易に配線長から遅延値が算出される。
【０３１６】
（２９）実配線・仮配線実行部が、長い計算時間を要する実配線と計算時間が短い仮配線とを併用して配線し、かつ、タイミング配分値を抽出するように構成されてもよく、このようにすれば、設計者は仮配線によりタイミング仕様を検討しその検討にて得られた結果に基づいてタイミング配分を変更して実配線できる。
（３０）実配線・仮配線実行部が、ＰＣＢとＬＳＩとの双方についてマンハッタン長仮配線するマンハッタン長仮配線部と、斜めに配線する斜め配線を用いて仮配線する斜めマンハッタン長仮配線部と、プリント回路基板と大規模集積回路とについて配線する実配線連携部とをそなえて構成されてもよく、このようにすれば、配線作業の効率が向上する。
【０３１７】
（３１）実配線・仮配線実行部が、マンハッタン長仮配線と斜めマンハッタン長仮配線と実配線とに基づいて仮配線するように構成されてもよく、このようにすれば、配線混雑度が密な場所においても精度が向上する。
（３２）実配線・仮配線実行部が、選択された階層について遅延値及び負荷容量を、物理テクノロジ情報保持部から読み出し、単位配線長当たりの遅延時間を変化させて配分するように構成されてもよく、このようにすれば、配線作業の効率が向上する。
【０３１８】
（３３）実配線・仮配線実行部が、仮配線により得られたタイミング配分値について計算されたマージンと配線密度を表す配線混雑度とに基づいて実配線するように構成されてもよく、このようにすれば、配線混雑度に応じて仮配線又は実配線が自動的に切り替えられるため、トレードオフを有効活用でき、設計者の手間を削減できる。
（３４）実配線・仮配線実行部が、実配線のみ行なえる他の計算機を援用する設計装置と連動させるべく、実配線にて不足する情報に関する解析用の情報を出力するように構成されてもよく、このようにすれば、実配線する際に不足する情報が設計者に通知され、設計者がその情報に基づき解析に必要な情報を作成しその情報を実配線専用のレイアウトＣＡＤ装置に送信して配線できる。
【０３１９】
（３５）実配線・仮配線実行部が、配線禁止の領域と配線混雑度とに基づいて、仮配線及び実配線をするように構成されてもよく、このようにすれば、仮配線と設計対象となる回路ブロックに依存した詳細な実配線とを混在させて配線でき、タイミングの配分値を抽出できる。
（３６）実配線・仮配線実行部が、制約条件として使用されたクロック周波数に基づき到達しなければならない時間内に到達可能の可否を判定し、到達不可と判定すると複数の回路ブロック間のネットリスト情報に対してバッファ及びフリップフロップの挿入を指示するように構成されてもよく、このようにすれば、仮想ピンまで到達不可能な場合にのみ、バッファ等が挿入されるので、制約条件を効果的に満たすことができる。
【０３２０】
（３７）実配線・仮配線実行部が、回路ブロックに含まれる端子を制約情報に基づいて配置するように構成されてもよく、このようにすれば、配置が簡易になる。
（３８）階層間連携マネージャが、タイミング情報データベースに、タイミング情報データが不足している回路ブロックを抽出し、その不足している回路ブロックを設計者に対して通知するように構成されてもよく、このようにすれば、設計者の作業効率が向上する。
【０３２１】
（３９）フロアプラン部が、回路ブロック中の配線幅を、実配線及び仮配線している間に変更できるように構成されてもよく、このようにすれば、配線幅を変更できるので、回路を柔軟に設計できる。
（４０）階層間連携マネージャが、複数の配分マネージャの組み合わせを変更できるように構成されてもよく、このようにすれば、設計対象に応じて自由にかつ動的に変更できる。
【０３２２】
（４１）タイミング配分作成部が、ＬＳＩの階層のＩ／Ｏバッファ情報からＰＣＢの波形解析用の情報を生成する波形解析用情報作成部をそなえて構成されてもよく、このようにすれば、波形が簡易に解析できる。
（４２）タイミング配分作成部が、予め設定された他のタイミング仕様とフロアプラン部にて配分されたタイミングとに基づいて、タイミング配分値を出力するように構成されてもよく、このようにすれば、設計者は配分値を記載した配分レポートを参照できる。
【０３２３】
（４３）フロアプラン部が、回路ブロックの規模又は形状を実配線及び仮配線している間に変更できるように構成されてもよく、このようにすれば、柔軟な配置設計が可能となる。
（４４）タイミング配分作成部が、ソースコードを用いて、論理設計時又はレイアウト検討からバックアノテートされたタイミング配分値を読み込むように構成されてもよく、このようにすれば、設計者は容易にシミュレーションを行なえる。
【０３２４】
（４５）タイミング配分作成部が、タイミング配分値に起因する情報をソースコードに書き込むアノテータをそなえて構成されてもよく、このようにすれば、設計者と回路設計装置との間のユーザインターフェースがより密接になる。
（４６）アノテータが、ソースコードに、配線形態に関するネットリスト情報を書き込むように構成されてもよく、このようにすれば、配分された値がソースコードにバックアノテーションされ、遅延値が自動的に設定又は変更される。
【０３２５】
（４７）物理テクノロジ情報保持部が、配線長と、単位長当たりの遅延値，単位長当たりの負荷容量とを、相互に関連づけて保持するように構成されてもよく、このようにすれば、配線長から遅延値が算出される。
（４８）階層間連携マネージャが、複数のタイミング情報データベースのうちの一つが送信したタイミング配分仕様変更要求を受信し、タイミング配分仕様変更が影響を与えうる他のタイミング情報データベースを抽出し、他のタイミング情報データベースに対してタイミング配分値の変更の可否を問い合わせるように構成されてもよく、このようにすれば、タイミング仕様の変更が迅速に通知される。
【０３２６】
（４９）階層間連携マネージャが、他のタイミング情報データベースからタイミング配分値の変更可能を受信すると、所望のタイミング情報データベースに対して変更可能を出力するように構成されてもよく、このようにすれば、やはり、タイミング仕様の変更が迅速になる。
（５０）階層間連携マネージャが、タイミング配分値が変更されると、その変更された階層よりも上位の階層エンティティが更新されるように構成されてもよく、このようにすれば、やはり、タイミング仕様の変更が迅速になる。
【０３２７】
（５１）配分マネージャが、論理／制約情報保持部に接続され、タイミング配分する配分エディタと、配分エディタと論理／制約情報保持部とタイミング情報保持部とに接続され、ネットリスト情報を出力するデータベース参照登録部と、自己の階層のタイミング配分情報と他の階層のタイミング配分情報とを入出力する自階層ＴＤＢ出力・他階層ＴＤＢ自動反映部と、調停を行なう調停制御部とをそなえて構成されてもよく、このようにすれば、配分値が効率的に反映される。
【０３２８】
（５２）配分マネージャが、スキューを、配線形態に関するネットリスト情報の配線パスのうち共通の配線パス以外のものに基づいて計算するように構成されてもよく、このようにすれば、共通部分のばらつきを除去された計算が自動的に行なえる。
（５３）配分マネージャが、配線パスに、副信号名として配線形態を表す名称を付与するように構成されてもよく、このようにすれば、再度のレイアウトが不要となり配線層数を知ることができ、また、配分のための工数が削減する。
【０３２９】
（５４）配分マネージャが、副信号名とファンアウト数とを関連づけて命名するように構成されてもよく、このようにすれば、各ピンや各配線に対して属性が与えられるのでやはり工数が削減する。
（５５）配分マネージャが、配線した部分について、制約情報の値に応じたグラデーションを操作画面にて色彩表示するように構成されてもよく、このようにすれば、共通部分のばらつきを除去することができる。
【０３３０】
（５６）配分マネージャが、回路ブロックを示す図に、タイミング配分値とタイミング配分できる値の範囲を表示するように構成されてもよく、このようにすれば、設計者は信頼性の高い回路を設計できる。
（５７）本発明のプログラムが、階層設計するに当たり、コンピュータを、複数のタイミング配分作成部と、階層間連携マネージャとして機能させているので、例えば端子の境界情報や端子等の設計情報が自動的に入力され、処理履歴から現在の処理における処理対象外部分が自動的に判断され、また、処理対象外部分に含まれる設計情報が自動的に抽出されて、現在設計中の部分の処理に利用できる。そして、クリティカル部分については、レイアウト前に配線形態を指定できるため、実レイアウト後の高信頼性を有する配線が可能となる。既存のＰＣＢ用レイアウトＣＡＤ装置やＬＳＩ用レイアウトＣＡＤ装置を用いて詳細検討でき、インプリメントに直結できるため、既存の設計フローを変更することなく設計できる。加えて、波形解析用情報により、ＬＳＩ完成前にＰＣＢを波形解析できるため、ＬＳＩとＰＣＢとの並行設計が容易となる。
【０３３１】
また、テクノロジに依存しないフロアプラン情報の再利用ができるため、既存のレイアウト資産を有効利用できる。さらに、今後ますます重要となる高速系システムの構成要素であるＰＣＢ，ＬＳＩを総合したタイミング設計が可能となる。そして、アーキテクチャテクチャ設計において、インプリメント時にクリティカルかつ重要なタイミング仕様を有する部分が、分散検討により先行把握でき、開発期間の大幅な短縮と、高信頼性設計とができる。
【図面の簡単な説明】
【０３３２】
【図１】本発明の第１実施形態に係る回路設計装置の構成図である。
【図２】本発明の第１実施形態に係る固有化処理部のブロック図である。
【図３】本発明の第１実施形態に係るテスト回路生成処理部のブロック図である。
【図４】本発明の第１実施形態に係る負荷調整処理部のブロック図である。
【図５】本発明の第１実施形態に係るＨＤＬ変換の概念図である。
【図６】本発明の第１実施形態に係る固有化処理を説明するための図である。
【図７】（ａ）〜（ｄ）はいずれも本発明の第１実施形態に係るＥＣＯ設計における固有化処理を説明するための図である。
【図８】本発明の第１実施形態に係るＥＣＯ設計における回路変更を説明するための図である。
【図９】（ａ），（ｂ）はいずれも本発明の第１実施形態に係る階層設計におけるテスト回路生成処理を説明するための図である。
【図１０】（ａ）〜（ｄ）はいずれも本発明の第１実施形態に係るＥＣＯ設計におけるテスト回路生成処理を説明するための図である。
【図１１】（ａ）〜（ｄ）はいずれも本発明の第１実施形態に係る階層設計における負荷調整処理を説明するための図である。
【図１２】本発明の第１実施形態に係る回路データの流れを説明するための図である。
【図１３】本発明の第１実施形態に係る半導体回路のデータイメージを示す図である。
【図１４】本発明の第１実施形態に係る階層設計を説明するためのフローチャートである。
【図１５】本発明の第１実施形態に係る他の半導体回路のデータイメージを示す図である。
【図１６】（ａ），（ｂ）は本発明の第１実施形態に係るＥＣＯ処理を説明するためのフローチャートである。
【図１７】本発明の第２実施形態に係る回路設計の工程を示す図である。
【図１８】本発明の第２実施形態に係るブロック分割設計の工程を示す図である。
【図１９】本発明の第２実施形態に係る回路設計装置の構成図である。
【図２０】本発明の第２実施形態に係るタイミング配分装置のブロック図である。
【図２１】本発明の第２実施形態に係る階層間の配分値の送受信を説明するための図である。
【図２２】本発明の第２実施形態に係る上位階層と下位階層との間の配分値の送受信を説明するための図である。
【図２３】本発明の第２実施形態に係る階層エンティティを説明するための図である。
【図２４】本発明の第２実施形態に係るタイミング配分作成部のブロック図である。
【図２５】本発明の第２実施形態に係るフロアプラン部のブロック図である。
【図２６】本発明の第２実施形態に係る斜めマンハッタン長仮配線を説明するための図である。
【図２７】本発明の第２実施形態に係る配線混雑度を抽出するためのアルゴリズムを説明するための図である。
【図２８】本発明の第２実施形態に係る配線混雑度を抽出するためのアルゴリズムを説明するための図である。
【図２９】本発明の第２実施形態に係る配置領域の拡大を模式的に示す図である。
【図３０】本発明の第２実施形態に係るＬＳＩ内部のタイミング配分を説明するための図である。
【図３１】本発明の第２実施形態に係る配分マネージャのブロック図である。
【図３２】本発明の第２実施形態に係るスキュー計算を説明するための図である。
【図３３】（ａ）〜（ｃ）はいずれも本発明の第２実施形態に係るネットリスト表現を説明するための図である。
【図３４】本発明の第２実施形態に係るブロック設計の工程を示す図である。
【図３５】本発明の第２実施形態に係るタイミング配分を説明するためのフローチャートである。
【図３６】本発明の第２実施形態に係るタイミング配分の一部を説明するためのフローチャートである。
【図３７】本発明の第２実施形態に係るタイミング配分の一部を説明するためのフローチャートである。
【図３８】本発明の第２実施形態に係るタイミング配分の一部を説明するためのフローチャートである。
【図３９】本発明の第２実施形態に係るタイミング配分作成部の動作を説明するためのフローチャートである。
【図４０】本発明の第２実施形態に係るフロアプラン部の動作を説明するためのフローチャートである。
【図４１】本発明の第２実施形態に係る配分マネージャの動作を説明するためのフローチャートである。
【図４２】本発明の第２実施形態に係る配分マネージャの動作を説明するためのフローチャートである。
【図４３】階層設計の概念図である。
【図４４】半導体回路設計装置のブロック図である。
【図４５】（ａ），（ｂ）はそれぞれ固有化処理を説明するための図である。
【図４６】（ａ）〜（ｃ）はそれぞれＥＣＯ設計を説明するための図である。
【図４７】タイミング配分を説明するための図である。
【図４８】装置設計の概略を説明するためのフローチャートである。
【図４９】タイミング設計を説明するためのフローチャートである。
【図５０】マンハッタン長を説明するための図である。
【符号の説明】
【０３３３】
１，１ａ  半導体回路設計装置
２  回路情報データベース
３  自動設計処理部
４  計算処理部
５  設計情報データベース
３ａ  ＨＤＬ言語読み込み部
３ｂ  パラメータ入力部
３ｃ  処理結果出力部
３ｄ  テスト回路規則入力部
４ａ  ＨＤＬ変換処理部
４ｂ  固有化処理部
４ｃ  テスト回路生成処理部
４ｄ  負荷調整処理部
４ｅ  ＨＤＬ出力処理部
６ａ  設計情報読み込み制御部
６ｂ  設計情報読み込み部
７ａ  処理対象判別部
７ｂ  処理データ取得部
８ａ  複数参照解析制御部
８ｂ  複数参照解析部
８ｃ  回路解析制御部
８ｄ  回路解析部
８ｅ  端子負荷・駆動能力設定制御部
８ｆ  端子負荷・駆動能力設定部
９ａ  固有名付与規則設定部
９ｂ  固有名生成部
９ｃ  テスト回路生成制御部
９ｄ  テスト回路生成部
９ｅ  負荷解析制御部
９ｆ  負荷解析部
１０ａ  回路データ複製制御部
１０ｂ  回路データ複製部
１０ｃ  階層整合性復元制御部
１０ｄ  階層整合性復元部
１０ｅ  回路調整制御部
１０ｆ  回路調整部
１１ａ  回路情報書き込み制御部
１１ｂ  回路情報書き込み部
１２ａ  設計情報書き込み制御部
１２ｂ  設計情報書き込み部
４０ａ，４０ｂ，４０ｃ  ソースコード
４１ａ，４１ｂ，４１ｃ，４１ｄ，４１ｅ  データイメージ
４２ａ，４２ｂ  回路モジュールイメージ
４３，４３ａ，４３ｂ，４５，６１ａ〜６１ｅ  回路モジュール
５０ｄ  配分レポート作成部
５１  タイミング配分装置
５２ａ,５２ｃ  レイアウトＣＡＤ装置
５２ｂ  波形解析ＣＡＤ装置
５３  階層間連携マネージャ
５４ａ〜５４ｅ  タイミング配分作成部
５５ａ〜５５ｅ  フロアプラン部
５６ａ〜５６ｅ  配分マネージャ
５７ａ〜５７ｅ  ＴＤＢ
５８ｂ  制約条件保持部
５８ｃ  構造部分ネットリスト保持部
５８ｅ  ＨＤＬアノテータ
５８ｆ  ＨＤＬコンパイラ
５８ｈ  波形解析用情報作成部
５８ｉ  波形解析用情報保持部
５９ａ  配置支援部
５９ｂ  配置情報保持部
５９ｃ  物理テクノロジ情報保持部
５９ｄ  配線情報保持部
５９ｅ  変換部
５９ｆ  配置処理部
６０  実配線・仮配線実行部
６０ａ  マンハッタン長仮配線部
６０ｂ  斜めマンハッタン長仮配線部
６０ｃ，６０ｄ  実配線連携部
６０ｅ  抽出部
６０ｆ  名称付与部
６１，６３,８０〜８３  チップ
６１ｆ  クリティカルネット
６１ｇ  フリップフロップ
６２，６２ａ  ネットリスト
６３ａ  配分エディタ部
６３ｂ  ＴＤＢ登録部
６３ｃ  ＴＤＢ参照部
６３ｄ  自階層ＴＤＢ出力・他階層ＴＤＢ自動反映部
６３ｅ  データベース参照登録部
６３ｆ  調停制御部
６４ａ〜６４ｅ  論理／制約情報保持部
６５ｂ〜６５ｅ  タイミング情報保持部
６６  バッファ
９０ａ〜９０ｃ  階層エンティティ
１００ａ，１０１ａ，１０２ａ  制御部
１００ｂ，１０１ｂ，１０２ｂ  処理部
【図１】
2007188517.tif 000003
【図２】
2007188517.tif 000004
【図３】
2007188517.tif 000005
【図４】
2007188517.tif 000006
【図５】
2007188517.tif 000007
【図６】
2007188517.tif 000008
【図７】
2007188517.tif 000009
【図８】
2007188517.tif 000010
【図９】
2007188517.tif 000011
【図１０】
2007188517.tif 000012
【図１１】
2007188517.tif 000013
【図１２】
2007188517.tif 000014
【図１３】
2007188517.tif 000015
【図１４】
2007188517.tif 000016
【図１５】
2007188517.tif 000017
【図１６】
2007188517.tif 000018
【図１７】
2007188517.tif 000019
【図１８】
2007188517.tif 000020
【図１９】
2007188517.tif 000021
【図２０】
2007188517.tif 000022
【図２１】
2007188517.tif 000023
【図２２】
2007188517.tif 000024
【図２３】
2007188517.tif 000025
【図２４】
2007188517.tif 000026
【図２５】
2007188517.tif 000027
【図２６】
2007188517.tif 000028
【図２７】
2007188517.tif 000029
【図２８】
2007188517.tif 000030
【図２９】
2007188517.tif 000031
【図３０】
2007188517.tif 000032
【図３１】
2007188517.tif 000033
【図３２】
2007188517.tif 000034
【図３３】
2007188517.tif 000035
【図３４】
2007188517.tif 000036
【図３５】
2007188517.tif 000037
【図３６】
2007188517.tif 000038
【図３７】
2007188517.tif 000039
【図３８】
2007188517.tif 000040
【図３９】
2007188517.tif 000041
【図４０】
2007188517.tif 000042
【図４１】
2007188517.tif 000043
【図４２】
2007188517.tif 000044
【図４３】
2007188517.tif 000045
【図４４】
2007188517.tif 000046
【図４５】
2007188517.tif 000047
【図４６】
2007188517.tif 000048
【図４７】
2007188517.tif 000049
【図４８】
2007188517.tif 000050
【図４９】
2007188517.tif 000051
【図５０】
2007188517.tif 000052