JP2007188517A - Timing distribution device - Google Patents

Timing distribution device Download PDF

Info

Publication number
JP2007188517A
JP2007188517A JP2007046318A JP2007046318A JP2007188517A JP 2007188517 A JP2007188517 A JP 2007188517A JP 2007046318 A JP2007046318 A JP 2007046318A JP 2007046318 A JP2007046318 A JP 2007046318A JP 2007188517 A JP2007188517 A JP 2007188517A
Authority
JP
Japan
Prior art keywords
unit
design
information
circuit
wiring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007046318A
Other languages
Japanese (ja)
Inventor
Koji Takeyama
広治 竹山
Koichi Itaya
剛一 板矢
美紀 ▲高▼木
Yoshinori Takagi
Takehiro Yamazaki
健弘 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007046318A priority Critical patent/JP2007188517A/en
Publication of JP2007188517A publication Critical patent/JP2007188517A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce redoing at a downstream process, to shorten a design period and to improve design quality by timing distribution and timing verification in consideration of a floor plan at an upstream process regarding the timing distribution of an LSI and a PCB in system circuit design. <P>SOLUTION: This timing distribution device is equipped with: a plurality of timing distribution creation parts 54a-54e which are provided so as to correspond to a plurality of design hierarchies respectively, receive block information regarding functions of circuits from a plurality of timing information data bases 57a-57e having net list information regarding a wiring form and output a timing distribution value obtained by distributing a delay value generated by a delay element of the circuit; and a corporation manager 53 between hierarchies which dynamically changes connection among each of the plurality of timing distribution creation parts 54a-54e, transmits and receives correction information concerning the timing distribution value to and from each of the plurality of timing distribution creation parts 54a-54e. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、例えば大規模回路設計に用いて好適な、タイミング配分装置に関する。   The present invention relates to a timing distribution apparatus suitable for use in, for example, large-scale circuit design.

一般に、半導体チップの回路(以下、半導体回路と称する)や、半導体やプリント版等の電子機器全体又は電子機器を構成する要素もしくはサブシステム(以下、システム回路と称する)の設計においては、設計者(ユーザ)は、回路全体を2以上の単位に分割し、個々の単位を独立して設計する分割設計と呼ばれる手法を用いている。
この単位とは、所定の回路機能を有するものを意味し、回路モジュール又はモジュールと称される。以下の説明において、処理される前の単位と処理された後の単位とを区別するために、処理される前の単位を、処理すべき単位又は設計対象となる単位と称する。さらに、処理された後の単位を、処理された単位又は処理済みの単位と称する。
In general, in designing a circuit of a semiconductor chip (hereinafter referred to as a semiconductor circuit), an entire electronic device such as a semiconductor or a printing plate, or an element or subsystem constituting the electronic device (hereinafter referred to as a system circuit), a designer (User) uses a technique called division design in which the entire circuit is divided into two or more units and each unit is designed independently.
This unit means a unit having a predetermined circuit function and is called a circuit module or a module. In the following description, in order to distinguish a unit before processing from a unit after processing, the unit before processing is referred to as a unit to be processed or a unit to be designed. Furthermore, the unit after the processing is referred to as a processed unit or a processed unit.

また、一つの単位が、他の独立して設計された単位を内包(含む)する状態で設計する手法は、階層設計と呼ばれる。この階層設計は、内包される単位が下位であり、内包する単位が上位であって、階層性を有する。そして、分割設計された部分回路は、全体回路を最上位階層として、最終的に一つの単位に集約される。以下の説明では、階層設計という言葉を用いて、分割設計一般を指すものとする。   In addition, a method of designing in a state in which one unit includes (includes) another independently designed unit is called hierarchical design. In this hierarchical design, the unit to be included is lower, the unit to be included is higher, and has hierarchical properties. The partial circuits that are designed to be divided are finally integrated into one unit with the entire circuit as the highest hierarchy. In the following description, the term hierarchical design is used to indicate general division design.

図43は階層設計の概念図である。この図43に示す半導体回路(以下、チップと称することがある)100は、最上位階層の回路であって、回路モジュール(以下、モジュールと称することがある)100x,100yを内包する。また、モジュール100xはモジュール101x,102xを内包し、モジュール100yはモジュール101y,102yを内包している。さらに、モジュール101x,101yはそれぞれモジュール103x,103yを内包し、モジュール102x,102yはそれぞれモジュール104x,104yを内包している。これにより、設計者は、各モジュールをそれぞれ個別に設計することができ、設計効率が向上する。   FIG. 43 is a conceptual diagram of hierarchical design. A semiconductor circuit 100 (hereinafter may be referred to as a chip) 100 shown in FIG. 43 is a top-level circuit, and includes circuit modules (hereinafter also referred to as modules) 100x and 100y. The module 100x includes modules 101x and 102x, and the module 100y includes modules 101y and 102y. Further, the modules 101x and 101y include modules 103x and 103y, respectively, and the modules 102x and 102y include modules 104x and 104y, respectively. Thereby, the designer can design each module individually, and the design efficiency is improved.

また、回路の規模は年々増加しているため、回路設計装置(以下、設計装置と称することがある)は、より大規模なデータを処理できる能力を求められている。
そして、階層設計によらず、半導体回路全体を一括して設計することは、一括設計と呼ばれている。この一括設計は、設計装置の主にハードウェア能力の理由により、ある規模以上の回路については行なわれておらず、階層設計が一般的に行なわれている。
Further, since the scale of circuits is increasing year by year, circuit design apparatuses (hereinafter sometimes referred to as design apparatuses) are required to have an ability to process larger-scale data.
And, it is called collective design to design the entire semiconductor circuit at once regardless of the hierarchical design. This collective design is not performed for circuits larger than a certain scale mainly for reasons of hardware capability of the design apparatus, and hierarchical design is generally performed.

すなわち、作業用メモリは、その容量について制約があり、また、処理時間の制約がある。設計装置は、回路変更等による処理のため、作業用メモリ等を大量に使用する。この回路変更等の処理について、図44〜図46を用いて説明する。
図44は半導体回路設計装置のブロック図である。この図44に示す設計装置500は、半導体回路を設計するものであって、自動設計処理部200と回路情報データベース300とをそなえて構成されている。この回路情報データベース300は、回路要素(例えばフリップフロップやレジスタ等)の情報を保持するものである。さらに、自動設計処理部200は、回路設計を実行するものであって、HDL(Hardware Description Language)変換処理部200aと、固有化処理部200bと、テスト回路生成処理部200cと、負荷調整処理部200dと、HDL出力処理部200eとをそなえて構成されている。
In other words, the working memory has a limitation on its capacity and a processing time. The design apparatus uses a large amount of work memory or the like for processing due to circuit change or the like. The processing such as the circuit change will be described with reference to FIGS.
FIG. 44 is a block diagram of the semiconductor circuit design apparatus. A design apparatus 500 shown in FIG. 44 is for designing a semiconductor circuit, and includes an automatic design processing unit 200 and a circuit information database 300. The circuit information database 300 holds information on circuit elements (for example, flip-flops and registers). Further, the automatic design processing unit 200 executes circuit design, and includes an HDL (Hardware Description Language) conversion processing unit 200a, an individualization processing unit 200b, a test circuit generation processing unit 200c, and a load adjustment processing unit. 200d and an HDL output processing unit 200e.

ここで、HDL変換処理部200aは、HDLソースコード(以下、ソースコードと略称することがある)をHDL変換して、処理すべき単位を回路情報データベース300に保持するものであり、固有化処理部200bは設計者の回路変更により生じる別モジュールの名称を重複しないように割り当てるものである。
そして、テスト回路生成処理部200cは、テスト回路を生成するものであり、階層名,追加端子又は追加ゲートの名称,モジュール間の接続順序等の情報を生成する。さらに、負荷調整処理部200dは、モジュールの負荷を調整するものであり、階層名,入力端子負荷,出力端子の駆動能力等の情報を生成する。加えて、HDL出力処理部200eは、これらの処理が行なわれた後にその処理結果をソースコードに反映するものである。
Here, the HDL conversion processing unit 200a performs HDL conversion on the HDL source code (hereinafter sometimes abbreviated as source code) and holds the unit to be processed in the circuit information database 300. The unit 200b assigns the names of different modules generated by the designer's circuit change so as not to overlap.
The test circuit generation processing unit 200c generates a test circuit, and generates information such as a hierarchy name, an additional terminal or additional gate name, and a connection order between modules. Furthermore, the load adjustment processing unit 200d adjusts the load of the module, and generates information such as a hierarchy name, an input terminal load, and an output terminal drive capability. In addition, the HDL output processing unit 200e reflects the processing result in the source code after these processes are performed.

大規模な回路設計において、同一機能の回路が複数必要な場合には、一般に、複数参照と呼ばれる手法が用いられている。この複数参照とは、必要な機能を有するモジュールを一つの処理すべき単位として設計し、そして、上位階層が、その処理すべき単位を複数回参照する手法である。これにより、設計者は、モジュールの繰り返し配置を省略でき、同一モジュールに関する情報を作業用メモリにロードでき、繰り返して計算する冗長性を防止できる。なお、この複数参照に対して、一度しか参照されない単位は単一参照と呼ばれる。次に、固有化について、図45(a),(b)を用いて説明する。   In a large-scale circuit design, when a plurality of circuits having the same function are required, a technique called multiple references is generally used. The multiple reference is a technique in which a module having a necessary function is designed as a unit to be processed, and the upper layer refers to the unit to be processed a plurality of times. As a result, the designer can omit the repeated arrangement of the modules, can load information on the same module into the working memory, and can prevent redundant calculation. A unit that is referred to only once with respect to the multiple references is called a single reference. Next, the specificization will be described with reference to FIGS. 45 (a) and 45 (b).

図45(a),(b)はそれぞれ固有化処理を説明するための図である。この図45(a)に示すチップ150aは、固有化前の回路であって、同一のモジュール151を2個有し、このモジュール151は、モジュール151a(Aと付されたもの)を有する。そして、このモジュール151aの情報は、回路情報データベース300の中に、データイメージ154a(Aと付されたもの)として書き込まれている。   45A and 45B are diagrams for explaining the unique processing. The chip 150a shown in FIG. 45 (a) is a circuit before being unique, and has two identical modules 151. The module 151 has a module 151a (denoted as A). The information of the module 151a is written in the circuit information database 300 as a data image 154a (labeled A).

一方、図45(b)に示すチップ150bは、固有化後の回路であって、モジュール151と、モジュール152とを有する。ここで、モジュール152はモジュール151が固有化されて得られたものであって、さらに、内包するモジュール回路から複製されたモジュール152a(A′と付されたもの)を有する。そして、これらのモジュール151a,152aの情報は、それぞれ、回路情報データベース300の中に、データイメージ154b(A−0と付されたもの),154c(A−1と付されたもの)として書き込まれている。   On the other hand, a chip 150b illustrated in FIG. 45B is a circuit after being unique, and includes a module 151 and a module 152. Here, the module 152 is obtained by making the module 151 unique, and further includes a module 152a (denoted with A ′) duplicated from a module circuit included therein. The information of these modules 151a and 152a is written in the circuit information database 300 as data images 154b (labeled A-0) and 154c (marked A-1), respectively. ing.

ここで、図45(a)に示すチップ150aは、設計工程(以後、工程と称することがある)のある期間において複数参照されている単位(例えばモジュール151)を有する。固有化処理とは、設計者が、複数参照されている状態をその後の工程において、図45(b)に示すように、単一参照可能な状態に変更するために必要な処理を意味する。
具体的には、設計者が、その単位(モジュール151)が参照された回数分だけ複製し、かつ、その単位の名称を変更して単一参照されている単位へモジュールを移行するように処理するのである。例えば、図45(b)に示す場合では、1個だけ複製されている。これにより、複製と同時に、元のモジュール151aと、複製されたモジュール152aとに、それぞれ、固有名A−0とA−1とが割り当てられ、設計者は区別できるのである。
Here, the chip 150a shown in FIG. 45A includes a plurality of units (for example, the module 151) that are referred to in a certain period of the design process (hereinafter, sometimes referred to as a process). The unique process means a process necessary for the designer to change a state in which a plurality of references are made into a single reference possible state as shown in FIG. 45B in a subsequent process.
Specifically, the designer copies the unit (module 151) as many times as the number of times it is referred to, and changes the name of the unit to move the module to the unit that is single-referenced. To do. For example, in the case shown in FIG. 45 (b), only one copy is made. Thus, at the same time as the duplication, the unique names A-0 and A-1 are assigned to the original module 151a and the duplicated module 152a, respectively, and the designer can distinguish them.

さらに、図44において、固有化処理部200bにて各工程における変更が、回路情報データベース300に書き込まれて、固有化処理が完了する。この後、テスト回路生成処理部200cと負荷調整処理部200dとにおいて、それぞれ、固有化処理にて変更された内容が、回路情報データベース300から読み出され、テスト回路が生成され、また、負荷調整されるのである。   Further, in FIG. 44, the change in each process is written in the circuit information database 300 by the unique processing unit 200b, and the unique processing is completed. Thereafter, in the test circuit generation processing unit 200c and the load adjustment processing unit 200d, the contents changed in the unique processing are read from the circuit information database 300, a test circuit is generated, and the load adjustment is performed. It is done.

また、階層設計又は一括設計とは別の手法として、ECO(Engineering Change Order)設計がよく用いられている。このECO設計とは、処理すべき単位の一部のみを変更し、回路のその他の部分については無変更のまま再設計する手法であり、ECO設計は、階層設計を適用するようにもできる。
このECO設計が使用される理由は、主に、半導体回路の部分のみについての再設計が、全体回路の再設計よりも処理時間が短縮されるからである。
Also, ECO (Engineering Change Order) design is often used as a method different from hierarchical design or collective design. This ECO design is a technique in which only a part of the unit to be processed is changed and the other part of the circuit is redesigned without change, and the ECO design can be applied to a hierarchical design.
The reason why this ECO design is used is mainly because the redesign of only a part of the semiconductor circuit shortens the processing time than the redesign of the entire circuit.

図46(a)〜(c)はそれぞれECO設計を説明するための図である。この図46(a)に示すチップ250aは、一旦、設計が完了したもの(以下、通常設計と称することがある)であり、これからECO設計する前におけるものである。ここで、モジュール252a(Cと付されたもの)は、モジュール251aの回路要素である。すなわち、モジュール251aと、モジュール252aとは、ともに、テスト回路やクロック回路が追加されたモジュールであって、設計装置によって自動的に生成されたものである。さらに、モジュール252aは、回路情報データベース300にデータイメージ260a(Cと付されたもの)として書き込まれている。   46 (a) to 46 (c) are diagrams for explaining the ECO design. The chip 250a shown in FIG. 46 (a) has been once designed (hereinafter sometimes referred to as normal design), and is before the ECO design. Here, the module 252a (denoted with C) is a circuit element of the module 251a. That is, both the module 251a and the module 252a are modules to which a test circuit and a clock circuit are added, and are automatically generated by the design apparatus. Further, the module 252a is written in the circuit information database 300 as a data image 260a (labeled C).

また、図46(b)に示すチップ250aは、ECO設計を開始するときのものである。この図46(b)に示すチップ250aは、図46(a)に示すチップ250a中のモジュール252aが、テスト回路を追加されていない状態で回路変更されたものである。すなわち、モジュール252aが変更されたものがモジュール252b(C′と付されたもの)に置き換えられ、そのイメージが表示されている。さらに、変更された後のモジュール252bは、回路情報データベース300にデータイメージ260b(C′と付されたもの)として書き込まれている。   A chip 250a shown in FIG. 46 (b) is for starting the ECO design. The chip 250a shown in FIG. 46 (b) is obtained by changing the circuit of the module 252a in the chip 250a shown in FIG. 46 (a) without adding a test circuit. That is, the module 252a changed is replaced with the module 252b (labeled C '), and the image is displayed. Further, the changed module 252b is written in the circuit information database 300 as a data image 260b (labeled C ′).

また、図46(c)に示すチップ250aは、ECO設計終了時のものであり、モジュール252bが変更されるほか、テスト回路が追加され、モジュール252c(C″と付されたもの)に置き換えられたものである。
このとき、モジュール252bの回路は、モジュール252aのテスト回路を追加する前の回路と同一回路と、変更を追加した回路とを有する。設計者は、モジュール252bについて、再度、テスト回路を生成するときに、変更された部分以外の部分については、モジュール252aの回路と同一になるように設計する。ここで、先に設計されたモジュール252aと、ECO設計を用いて設計されたモジュール252cとの違いが微々ならば、設計者は、レイアウト設計についても、変更する部分を再度設計するだけで済む。従って、設計者は設計に要する時間を短縮できる。
A chip 250a shown in FIG. 46C is at the end of the ECO design. In addition to changing the module 252b, a test circuit is added and replaced with the module 252c (denoted with C ″). It is a thing.
At this time, the circuit of the module 252b has the same circuit as the circuit before the test circuit of the module 252a is added, and the circuit to which the change is added. When the designer generates the test circuit again for the module 252b, the designer designs the part other than the changed part to be the same as the circuit of the module 252a. Here, if the difference between the previously designed module 252a and the module 252c designed using the ECO design is slight, the designer only needs to redesign the part to be changed in the layout design. Therefore, the designer can shorten the time required for the design.

ところで、図44〜図46における階層設計に当たり、昨今の設計規模に対するデータベースの容量は、きわめて大きく、設計装置は、データをすべて作業用メモリにロードすることが困難となっている。このメモリ不足を回避するために、設計者は、一括設計向けの設計装置を使用するときに、ブラックボックス化した回路データを予め作成しており、このため、複雑な繰り返し手順が必要となっている。   Incidentally, in the hierarchical design in FIGS. 44 to 46, the capacity of the database with respect to the recent design scale is extremely large, and it is difficult for the design apparatus to load all the data into the work memory. In order to avoid this memory shortage, the designer creates circuit data in black box in advance when using a design device for collective design, which requires a complicated repetitive procedure. Yes.

一方、設計者が分割設計向きの設計装置を用いた場合においても、その設計装置が、処理しない部分に関する情報を管理する機能を有していないときには、設計者は、処理すべき部分を正しく認識し、かつ、処理すべき部分以外において関係する部分の情報を知らなければならない。加えて、設計者は処理すべき部分以外の情報を個々に指定し、分割設計向けの設計装置に、関連情報を与えなければならない。   On the other hand, even when a designer uses a design device suitable for split design, if the design device does not have a function for managing information related to a portion not to be processed, the designer correctly recognizes the portion to be processed. In addition, it is necessary to know information of related parts other than the part to be processed. In addition, the designer must individually specify information other than the parts to be processed, and give related information to the design apparatus for split design.

ここで、設計情報が参照されないと、ECO設計において、通常設計時(後述する図8参照)の固有名と異なる固有名が付与される可能性があり、後続の処理において、固有名と設計情報とを対比するときに名称が不一致となることがある。
また、従来のECO設計においては、旧回路と新回路とのそれぞれの回路が比較されながら、回路が復元されていた。このECO設計においては、回路の比較と差分解析とが行なわれるため、複雑な処理が必要となり、このため、設計者が自分で情報を指定する等の煩雑性を有する。
Here, if the design information is not referred to, there is a possibility that a unique name different from the proper name at the time of normal design (see FIG. 8 to be described later) may be given in the ECO design. The names may become inconsistent when comparing.
In the conventional ECO design, the circuit is restored while comparing the old circuit and the new circuit. In this ECO design, since circuit comparison and difference analysis are performed, complicated processing is required. Therefore, the designer has the trouble of designating information by himself / herself.

次に、図47〜図49を用いて、システム回路である機器の設計や、装置設計等のシステム設計におけるタイミング配分について説明する。システム設計においては、PCB(Printed Circuit Board:プリント回路基板)設計やLSI(Large Scale Integration:大規模集積回路)設計を含むタイミング配分について設計される。
図47はタイミング配分を説明するための図である。この図47に示すPCB140bの両端には、PCB140a,140cがコネクタピン(図示省略)を介して接続されている。また、PCB140a,140cは、それぞれ、LSI240,241を有する。ここで、タイミング配分とは、LSI240からLSI241まで信号が伝達するのに要する時間を配分することを意味し、また、設計者はPCB140a〜140cの間において、伝送時間をどの程度割り当てるかを検討する。そして、PCB上においてLSIの置かれる位置は、セットアップ条件やホールド条件と呼ばれる条件に基づいて検討されるようになっている。ここで、セットアップ条件とは、信号の伝搬時間が所定時間内に収まる条件をいい、ホールド条件とは、データとそのデータのためのクロックとを正確に一致させるための条件をいう。
Next, with reference to FIGS. 47 to 49, timing distribution in system design such as device design and device design as system circuits will be described. In system design, timing distribution including PCB (Printed Circuit Board) design and LSI (Large Scale Integration) design is designed.
FIG. 47 is a diagram for explaining timing distribution. PCBs 140a and 140c are connected to both ends of the PCB 140b shown in FIG. 47 via connector pins (not shown). The PCBs 140a and 140c have LSIs 240 and 241 respectively. Here, the timing distribution means that the time required for signal transmission from the LSI 240 to the LSI 241 is allocated, and the designer considers how much transmission time is allocated among the PCBs 140a to 140c. . The position where the LSI is placed on the PCB is examined based on conditions called setup conditions and hold conditions. Here, the setup condition refers to a condition in which the signal propagation time falls within a predetermined time, and the hold condition refers to a condition for accurately matching data with a clock for the data.

例えばPCB140a上のLSI240が、PCB140c上のLSI241から遠い側に置かれると、配線が長くなり、信号遅延が生じる。また、この信号遅延は、ホールド条件から外れるほど、短か過ぎる配線による悪影響を受ける。従って、LSI240とLSI241との間を近づけた場合と遠ざけた場合とのそれぞれにおいて、遅延時間を検討する必要があり、この遅延時間を配分する仕様は、タイミング仕様と呼ばれている。   For example, if the LSI 240 on the PCB 140a is placed on the side far from the LSI 241 on the PCB 140c, the wiring becomes long and a signal delay occurs. In addition, the signal delay is adversely affected by wiring that is too short as it deviates from the hold condition. Therefore, it is necessary to examine the delay time in each of the case where the LSI 240 and the LSI 241 are brought close to each other and the case where the LSI 240 is kept away from each other. The specification for allocating the delay time is called a timing specification.

また、図47において、aは負のスラックであり、cは正のスラックであり、負のスラックa側から正のスラックc側に対して、配分値を分けて欲しいとの要求情報が送信されるようになっている。
従来のタイミング配分の設計フローは、システムの初期アーキテクチャを検討した後にPCB及びLSIの分割を行ない、タイミング仕様を制約条件として設定し、そして、下位階層のLSI内部等の設計及び実装(以後、インプリメントと称する)をするようになっている。
In FIG. 47, a is negative slack, c is positive slack, and request information indicating that the distribution value should be divided from the negative slack a side to the positive slack c side is transmitted. It has become so.
In the conventional design flow of timing allocation, after examining the initial architecture of the system, the PCB and LSI are divided, the timing specifications are set as constraints, and the design and implementation of the LSI inside the lower hierarchy etc. (hereinafter, implementation) Are called).

これらのタイミング仕様の検討は、まず、PCBとLSIとの間において、AC(Alternative Current)スペックと呼ばれるクロックとデータとの関係を規定した仕様が設計され、その仕様に合致するようにインプリメントされる。ここで、インプリメントされた結果、そのタイミング仕様を満足できない場合があり、タイミング仕様の限界値を知ることが重要となっている。   In examining these timing specifications, first, a specification that defines the relationship between a clock and data called an AC (Alternative Current) specification is designed between the PCB and the LSI, and is implemented so as to match the specification. . Here, there are cases where the timing specification cannot be satisfied as a result of the implementation, and it is important to know the limit value of the timing specification.

図48は装置設計の概略を説明するためのフローチャートである。まず、装置仕様が検討され(ステップW1)、アーキテクチャが設計され(ステップW2)、そして、回路機能が、PCB又はLSIに割り当てられて分割設計される(ステップW3)。
このステップW3にてPCBが選択されると、ステップW4にてPCB設計が開始され、論理設計のほか、タイミング設計,波形解析,実装設計及び熱設計が行なわれ、ステップW5にてPCBがインプリメントされる。一方、ステップW3にてLSIが選択されると、ステップW6にてLSI設計が開始され、論理設計,タイミング設計,レイアウト設計,消費電力解析が行なわれ、ステップW7にてLSIがインプリメントされる。
FIG. 48 is a flowchart for explaining the outline of the device design. First, the device specification is examined (step W1), the architecture is designed (step W2), and the circuit function is assigned to the PCB or LSI for division design (step W3).
When a PCB is selected in step W3, PCB design is started in step W4. In addition to logic design, timing design, waveform analysis, mounting design, and thermal design are performed. In step W5, the PCB is implemented. The On the other hand, when an LSI is selected in step W3, LSI design is started in step W6, logic design, timing design, layout design, and power consumption analysis are performed, and LSI is implemented in step W7.

図49はタイミング設計を説明するためのフローチャートである。まず、システムの仕様が決定されると(ステップW50)、システムアーキテクチャが検討され(ステップW51)、PCB/LSIが分割検討される(ステップW52)。
また、ステップW53にてPCBのタイミング仕様が検討され、ステップW54にてPCBがインプリメントされる。また、ステップW55にてLSIのタイミング仕様が検討され、ステップW56にてLSIがインプリメントされる。
FIG. 49 is a flowchart for explaining timing design. First, when the system specifications are determined (step W50), the system architecture is examined (step W51), and the PCB / LSI is separately examined (step W52).
In step W53, the PCB timing specifications are examined, and in step W54, the PCB is implemented. In step W55, the LSI timing specifications are examined, and in step W56, the LSI is implemented.

これらLSIとPCBとを個々にインプリメントする工程においては、STA(Static Timing Analysis)が用いられており、このSTAは、シミュレーションパターンを生成せずに静的にタイミング検証が可能となる。
また、タイミング配分については、以下の公知文献が知られている。
特開平5−181929号公報(以下、公知文献1と称する)に記載された技術は、階層的な論理回路の遅延検証を行なう際、上位階層の論理回路の遅延検証を下位階層の論理回路の設計,遅延検証が完了していなくとも行なえるようにするものである。この公知文献1には、回路ブロックの階層的なタイミング配分についての遅延時間検証方式が開示されている。
In the process of individually implementing these LSI and PCB, STA (Static Timing Analysis) is used, and this STA can statically verify the timing without generating a simulation pattern.
Moreover, the following publicly known literature is known about timing distribution.
In the technique described in Japanese Patent Laid-Open No. 5-181929 (hereinafter referred to as publicly known document 1), when delay verification of a hierarchical logic circuit is performed, delay verification of an upper hierarchy logic circuit is performed on the lower hierarchy logic circuit. Design and delay verification can be performed even if not completed. This publicly known document 1 discloses a delay time verification method for hierarchical timing distribution of circuit blocks.

特開平9−212533号公報(以下、公知文献2と称する)に記載された技術は、階層設計されたハードウェアを各階層ごとに最適化する際に階層間にまたがったクリティカルパスに対して、パスへの遅延制約を階層ごとに適切に分配し、効率よく遅延最適化するものである。この公知文献2には、配分の最適化の方法が開示されている。なお、クリティカルな部分とは、遅延が許されない部分であって、この部分において遅延が生ずると、タイミングが適切に割り当てられなくなるものをいう。   The technique described in Japanese Patent Application Laid-Open No. 9-212533 (hereinafter referred to as publicly known document 2) is based on a critical path that straddles between hierarchies when optimizing hierarchically designed hardware for each hierarchy. The delay constraint to the path is appropriately distributed for each hierarchy, and the delay is optimized efficiently. This publicly known document 2 discloses a distribution optimization method. The critical part is a part where a delay is not allowed, and when a delay occurs in this part, the timing cannot be appropriately assigned.

そして、これらの公知文献1,2に記載された技術によって、遅延配分が効率的に行なわれる。   Then, the delay distribution is efficiently performed by the techniques described in these known documents 1 and 2.

しかしながら、従来の手法によると、設計者の手入力による項目が多く、設計手順の複雑化を招き、設計者の負担の増加や、誤り発生の原因となるという課題がある。
そのうえ、設計者が、一旦、設計が完成した回路を変更する場合、その変更により、外部端子が追加又は削除されるため、上位階層と下位階層との間で端子構成の不一致が発生することがある。従って、従来の設計手法においては端子構成が一致していないと、上位階層と下位階層との間において不整合が発生し、エラーと認識され、設計効率が非常に悪くなるという課題がある。
However, according to the conventional method, there are many items that are manually input by the designer, which leads to a complicated design procedure, increasing the burden on the designer, and causing an error.
In addition, when a designer changes a circuit for which design has been completed, an external terminal is added or deleted due to the change, which may cause a mismatch in the terminal configuration between the upper layer and the lower layer. is there. Therefore, in the conventional design method, if the terminal configurations do not match, there is a problem that an inconsistency occurs between the upper layer and the lower layer, which is recognized as an error, and the design efficiency becomes very poor.

また、タイミング配分については、アーキテクチャ設計検討において、設計者は何回も値を変化させて試行する。従って、設計者は、対象とするPCB又はLSIについての確定値を、ライブラリから対象回路にマッピングするまで、詳細なタイミングを明確に知ることができず、また、設計者は、一旦、所定の遅延値をPCB又はLSIに割り当てて、その他の検討をするようにしている。   In addition, regarding the timing distribution, in the architecture design study, the designer tries by changing the value many times. Therefore, the designer cannot clearly know the detailed timing until the deterministic value for the target PCB or LSI is mapped from the library to the target circuit, and the designer once has a predetermined delay. Values are assigned to PCBs or LSIs for other considerations.

そのため、フリップフロップ等の回路要素を設計者が直接見ることができない工程においては、システム全体のタイミング配分は、不確定な部分が多く、また、システム全体のタイミングを決定できず、タイミング変更に対して柔軟に対応できないという課題がある。
加えて、LSIやPCB等からなる各回路ブロックは、いずれも密接には連携していない。さらに、回路要素を有する回路ブロックについて、レイテンシ(処理するために必要な時間)や遅延値の見積もりを計算するためには、設計者は実際にインプリメント設計をしなければならない。これに対して、クリティカル部分(遅延が許されない部分)については、アーキテクチャ決定と実際のインプリメント工程との連携が希薄である。そのため、一つのアーキテクチャを詳細に検討することや、物理階層をまたがったフロアプラン(例えばPCBからLSIへのフロアプラン)を別回路ブロックヘ継承することが困難であるという課題がある。
For this reason, in the process where the designer cannot directly see the circuit elements such as flip-flops, the timing distribution of the entire system has many uncertain parts, and the timing of the entire system cannot be determined. There is a problem that it cannot respond flexibly.
In addition, each circuit block made up of LSI, PCB, etc. is not closely linked. Furthermore, in order to calculate an estimate of latency (time required for processing) and a delay value for a circuit block having circuit elements, a designer must actually perform an implementation design. On the other hand, in the critical part (part where delay is not allowed), the linkage between the architecture determination and the actual implementation process is sparse. Therefore, there are problems that it is difficult to examine one architecture in detail and to inherit a floor plan (for example, a floor plan from PCB to LSI) across physical layers to another circuit block.

また、LSIのディープサブミクロン化が進み、ゲート遅延よりも、配線遅延の占める割合が顕著になっており、配線遅延、特にグローバル配線部分における遅延の影響が大きくなってきている。
さらに、配置されたピン間を配線するためには、マンハッタン長による手法があり、この手法によって簡易的かつ高速に配線長が計算されている。図50はマンハッタン長を説明するための図である。この図50に示す回路モジュール170は、回路モジュールI51,I50を有し、これらの間が、パスL1,L2により接続されている。これらのパスL1,L2は、それぞれ、マンハッタン長に相当し、2点間の直角距離を表している。
Further, with the progress of deep sub-micron LSI, the proportion of wiring delay is more conspicuous than gate delay, and the influence of wiring delay, particularly delay in the global wiring portion, is increasing.
Furthermore, in order to wire between arranged pins, there is a method based on the Manhattan length, and the wiring length is calculated simply and at high speed by this method. FIG. 50 is a diagram for explaining the Manhattan length. The circuit module 170 shown in FIG. 50 includes circuit modules I51 and I50, which are connected by paths L1 and L2. Each of these paths L1 and L2 corresponds to a Manhattan length and represents a perpendicular distance between two points.

しかしながら、これらの手法は配線混雑度が密な場所においては精度が悪く、また、実配線においては処理速度が困難となる。具体的には次の(1−1)〜(1−13)に示すようなことが生ずる。
(1−1)設計者は、決定された仕様に基づきインプリメントするが、その仕様やフロアプランの良否の判断が困難であり、仕様にて配分されたタイミングに偏りが生じた場合、設計不可能又はタイミング調整するための冗長な回路が増加する。
However, these techniques have poor accuracy in places where the wiring congestion is high, and the processing speed becomes difficult in actual wiring. Specifically, the following (1-1) to (1-13) occur.
(1-1) The designer implements based on the determined specification, but it is difficult to judge the quality of the specification and the floor plan, and the design cannot be performed when the timing allocated in the specification is biased. Or the redundant circuit for timing adjustment increases.

(1−2)設計部分の仕様に基づき、複数の設計者が並行して分散設計する場合は、各設計者は、それぞれ、自己の設計に当たり、上位階層や下位階層のタイミング配分を把握し難く、PCBやLSIで構成されたシステム全体のタイミング配分や検証が困難である。
(1−3)設計者がインプリメントする場合にタイミング仕様が満たされないときは、設計者は、変更により影響を受ける他の設計者と仕様変更のために交渉しなければならず、また、変更できないときは、上位アーキテクチャを変更しなければならず、大幅に設計期間が増大する。
(1-2) When a plurality of designers perform distributed design in parallel based on the specifications of the design part, it is difficult for each designer to grasp the timing distribution of the upper hierarchy and the lower hierarchy in his own design. It is difficult to distribute and verify the timing of the entire system composed of PCBs and LSIs.
(1-3) When the timing specifications are not satisfied when the designer implements, the designers must negotiate with other designers affected by the change for the specification change, and cannot be changed. In some cases, it is necessary to change the upper architecture, which greatly increases the design period.

(1−4)使用部品又は回路ブロックの精度については、タイミングライブラリにて定義されているそれぞれの精度が異なる。従って、複数の部品を組み合わせて設計する場合、精度の悪い部品が、精度の高い部品を使用している部分に影響し、設計者はその部分のタイミングを正確に把握できない。
(1−5)上記のマンハッタン長配線は、PCB上の斜め配線を考慮していないため、実配線遅延との相違が大きく現れる。
(1-4) As for the accuracy of the used parts or circuit blocks, the accuracy defined in the timing library is different. Therefore, when designing by combining a plurality of parts, a part with poor accuracy affects a part using the part with high precision, and the designer cannot accurately grasp the timing of the part.
(1-5) Since the above Manhattan length wiring does not consider the diagonal wiring on the PCB, a difference from the actual wiring delay appears greatly.

(1−6)配線混雑度が密であると、マンハッタン長で計算した配線遅延値は、実配線の遅延値との誤差が大きくなり、タイミングエラーが発生しやすい。
(1−7)回路図又はソースコードにより表現されたネットリストにおいて、送信側のピンから受信側のピンに対して、どのような遠近関係で配線されるかについては、レイアウト結果が出るまで論理設計者は知ることができない。
(1-6) If the wiring congestion level is dense, the wiring delay value calculated by the Manhattan length has a large error from the delay value of the actual wiring, and a timing error is likely to occur.
(1-7) In the netlist expressed by the circuit diagram or source code, the perspective relationship between the pins on the transmission side and the pins on the reception side is logically determined until a layout result is obtained. The designer cannot know.

(1−8)LSI及びPCBの分割検討時に、PCB上の配線を用いて信号伝送するか、又はLSI内部にモジュールを配置するかを検討する際に、PCBテクノロジとLSIテクノロジとの間のテクノロジを切り替えて判断するのに必要な工数が多くなる。また、PCBのフロアプランからLSIのフロアプランヘ継承して設計する場合、設計者はLSI専用のフロアプランツールを用いて、再度そのフロアプランを入力しなければならず工数が多くなる。   (1-8) A technology between PCB technology and LSI technology when considering whether to transmit signals using wiring on the PCB or to arrange a module inside the LSI when dividing LSI and PCB More man-hours are required to switch and judge. Further, when a design is inherited from an PCB floor plan to an LSI floor plan, the designer must input the floor plan again using an LSI-dedicated floor plan tool, which increases man-hours.

(1−9)仕様検討時に、設計者は、各ネットの配線を、仮配線を用いるか、実配線を用いるかの判断が困難である。
(1−10)必要な配線層の数は、把握し難い。
(1−11)LSIのピン数の増加により、各ピンごとにタイミングを配分する工数が大きい。
(1-9) When examining specifications, it is difficult for a designer to determine whether to use a temporary wiring or an actual wiring for the wiring of each net.
(1-10) It is difficult to grasp the number of necessary wiring layers.
(1-11) Due to the increase in the number of pins of LSI, the man-hour for allocating timing for each pin is large.

(1−12)PCBアーキテクチャの設計工程において、設計者はLSIの完成前に波形解析ができない。
(1−13)アーキテクチャ設計工程において、配線遅延の影響により、設計者はブロック間の信号が1クロックで伝送できるか否かの検討ができない。
また、図49に示すフローチャートの進行方向は一方的であるが、アーキテクチャ設計工程内においてタイミング配分が決定されることもあり、設計工程を柔軟に変更できる必要がある。
(1-12) In the PCB architecture design process, the designer cannot perform waveform analysis before the LSI is completed.
(1-13) In the architecture design process, due to the influence of wiring delay, the designer cannot examine whether signals between blocks can be transmitted in one clock.
In addition, although the flow direction of the flowchart shown in FIG. 49 is unidirectional, timing distribution may be determined in the architecture design process, and it is necessary to be able to change the design process flexibly.

本発明は、このような課題に鑑み創案されたもので、システム回路設計に当たり、LSIやPCBのタイミング配分に関し、上流工程においてフロアプランを考慮したタイミング配分及びタイミング検証により、下流工程の手戻りを削減するとともに、設計期間を短縮化及び高品質化できる、タイミング配分装置を提供し、併せて、回路が変更されたときに、他の設計者もその変更内容を参照できるようにすることを目的とする。   The present invention was devised in view of such problems, and in system circuit design, with regard to LSI and PCB timing distribution, the downstream process is reworked by timing distribution and timing verification in consideration of the floor plan in the upstream process. The purpose is to provide a timing distribution device that can reduce the design period and improve the quality while reducing the design period, and also to allow other designers to refer to the contents of the change when the circuit is changed. And

このため、本発明のタイミング配分装置は、複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され、回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部と、複数のタイミング配分作成部のそれぞれの間の接続を動的に変更するとともに、複数のタイミング配分作成部のそれぞれの間とタイミング配分値に関する修正情報を送受信する階層間連携マネージャとをそなえて構成されていることを特徴としている(請求項1)。   Therefore, the timing distribution device of the present invention is provided corresponding to each of a plurality of design hierarchies, and receives block information related to the function of the circuit from a plurality of timing information databases having netlist information related to the wiring form, A plurality of timing distribution creation units capable of outputting timing distribution values obtained by allocating delay values generated by delay elements, and connections between each of the plurality of timing distribution creation units are dynamically changed, and a plurality of timing distributions It is characterized by comprising an inter-tier cooperation manager that transmits and receives correction information related to the timing distribution value and between each of the creating units (claim 1).

そして、上記のタイミング配分作成部は、複数の設計階層のそれぞれに対応して設けられ設計情報を有する階層エンティティと設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、階層間連携マネージャが、エージェントとしてのタイミング配分作成部に接続され複数の設計階層のそれぞれとタイミング配分値に関する情報を送受信するマネージャとして構成されてもよい(請求項2)。   The timing distribution creating unit is configured as an agent having a hierarchical entity having design information provided corresponding to each of a plurality of design hierarchies and program data for processing the design information. The cooperation manager may be configured as a manager that is connected to a timing distribution creating unit as an agent and transmits / receives information on timing distribution values to / from each of a plurality of design layers.

このように、本発明のタイミング分配装置によれば、階層設計において、複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され、回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部と、複数のタイミング配分作成部のそれぞれの間の接続を動的に変更するとともに、複数のタイミング配分作成部のそれぞれの間とタイミング配分値に関する修正情報を送受信する階層間連携マネージャとをそなえて構成されているので、タイミング仕様が変更されたときに、その影響範囲を即座に参照でき、仕様変更の参照ミスがなくなる。また、仮配線と実配線との組み合わせにより、フロアプランの実行速度向上と精度の向上の両立が図れる。さらに、階層エンティティを用いることができ分散設計環境が構築でき、トップダウン設計において、必要部分のみ詳細化でき、一つの設計チームにおいて、試行検討で分割されたタイミング仕様の良否を検討でき、インプリメント時の問題を予測でき、手戻りを削減できる(請求項1)。   Thus, according to the timing distribution device of the present invention, in hierarchical design, blocks related to circuit functions from a plurality of timing information databases provided corresponding to each of a plurality of design hierarchies and having netlist information relating to wiring forms. Dynamically change the connection between each of the multiple timing distribution generators and the multiple timing distribution generators that can output timing distribution values obtained by allocating delay values caused by delay elements of the circuit. In addition, since it is configured with inter-tier cooperation managers that send and receive correction information related to timing distribution values between each of a plurality of timing distribution creation units, the scope of influence when timing specifications are changed Reference can be made immediately, and there is no reference error in specification changes. In addition, the combination of temporary wiring and actual wiring can improve both floor plan execution speed and accuracy. Furthermore, hierarchical entities can be used, a distributed design environment can be constructed, only the necessary parts can be detailed in top-down design, and the quality of the timing specifications divided by trial examination can be examined by one design team at the time of implementation. Problem can be predicted and rework can be reduced (claim 1).

さらに、タイミング配分作成部が、複数の設計階層のそれぞれに対応して設けられ設計情報を有する階層エンティティと設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、階層間連携マネージャが、エージェントとしてのタイミング配分作成部に接続され複数の設計階層のそれぞれとタイミング配分値に関する情報を送受信するマネージャとして構成されてもよく、このようにすれば、オブジェクト指向的な階層エンティティにより、論理設計と物理レイアウトとを融合させたタイミングドリブンレイアウト処理を行なうときに、各論理階層と物理階層との間における情報の流れが明確となり、連携が容易となる(請求項2)。   Further, the timing distribution creating unit is configured as an agent provided corresponding to each of a plurality of design hierarchies and having a hierarchy entity having design information and program data for processing the design information, and an inter-layer cooperation manager May be configured as a manager that is connected to a timing distribution creation unit as an agent and transmits / receives information on timing distribution values to / from each of a plurality of design hierarchies. When timing-driven layout processing that combines design and physical layout is performed, the flow of information between each logical hierarchy and physical hierarchy is clarified, and cooperation is facilitated (claim 2).

以下、図面を参照して本発明の実施の形態を説明する。
(A)本発明の第1実施形態の説明
図1は本発明の第1実施形態に係る回路設計装置の構成図である。この図1に示す回路設計装置1(以下、設計装置1と称することがある)は、半導体回路を設計するものであって、回路情報データベース2と、自動設計処理部3と、設計情報データベース5とをそなえて構成されている。
Embodiments of the present invention will be described below with reference to the drawings.
(A) Description of First Embodiment of the Present Invention FIG. 1 is a configuration diagram of a circuit design apparatus according to a first embodiment of the present invention. A circuit design apparatus 1 (hereinafter sometimes referred to as a design apparatus 1) shown in FIG. 1 designs a semiconductor circuit, and includes a circuit information database 2, an automatic design processing unit 3, and a design information database 5. It is configured with.

ここで、回路情報データベース2は、回路に関する情報を保持するものであり、自動設計処理部3は、回路情報データベース2から回路に関する情報を読み出し所定の処理すべき単位ごとに回路を処理しうるものであり、また、設計情報データベース5は、自動設計処理部3において得られた回路要素の固有化情報,回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を保持するものである。   Here, the circuit information database 2 holds information about the circuit, and the automatic design processing unit 3 can read the information about the circuit from the circuit information database 2 and process the circuit for each unit to be processed. The design information database 5 includes design information including circuit element specific information obtained in the automatic design processing unit 3, change history information indicating the history of circuit changes, and circuit terminal load / drive capability information. Is to hold.

これにより、自動設計処理部3にて、回路情報データベース2から回路に関する情報が読み出され、処理すべき単位ごとに回路処理され、得られた設計情報等が設計情報データベース5に書き込まれる。また、自動設計処理部3にて、設計情報データベース5から処理内容に応じて所望の設計情報が読み出されるようになっている。
ここで、回路情報データベース2は、階層設計又はECO設計において、処理された単位(処理済みの単位)ごとに回路情報を保持しており、他の回路モジュールが、処理すべき単位ごとにその回路情報を参照できるようになっている。
As a result, the automatic design processing unit 3 reads out information about the circuit from the circuit information database 2, performs circuit processing for each unit to be processed, and writes the obtained design information and the like in the design information database 5. The automatic design processing unit 3 reads desired design information from the design information database 5 according to the processing content.
Here, the circuit information database 2 holds circuit information for each processed unit (processed unit) in hierarchical design or ECO design, and other circuit modules process the circuit for each unit to be processed. Information can be referred to.

また、回路情報データベース2には、ハードウェア記述言語により記述されたソースコードが、計算機プログラムが処理しやすいような形式に分類されて書き込まれている。例えばVHDLソースコードのEntityやVerilogHDLソースコードのmoduleに相当する階層は、種々の情報を有する。すなわち、各階層は、いずれも、階層名、階層端子、ネットリスト、内包する論理ゲート、下位階層等の構成要素情報や、それらの名称や接続情報等を有する。   In the circuit information database 2, source codes described in a hardware description language are classified and written in a format that can be easily processed by a computer program. For example, the hierarchy corresponding to the entity of the VHDL source code and the module of the Verilog HDL source code has various information. That is, each layer has component information such as a layer name, a layer terminal, a net list, a logic gate to be included, and a lower layer, and names and connection information thereof.

次に、設計情報データベース5は、回路に加えられた変更や他階層に与える影響を情報として保持しており、また、テスト回路を生成するためのプログラムや回路を最適化するためのプログラムを保持し、これにより、回路が作成され更新される。そして、設計情報データベース5は、回路要素を個別のファイルに保存しうる複数の保持部(図示省略)をそなえて構成されている。従って、設計情報が回路設計に反映され、設計期間等の作業効率が向上する。   Next, the design information database 5 holds information about changes made to the circuit and effects on other layers as information, and also holds a program for generating a test circuit and a program for optimizing the circuit. As a result, the circuit is created and updated. The design information database 5 includes a plurality of holding units (not shown) that can store circuit elements in individual files. Therefore, the design information is reflected in the circuit design, and the work efficiency such as the design period is improved.

さらに、設計情報データベース5には、次の(2−1)〜(2−4)に示す情報が分類されて保持されている。
(2−1)固有化情報
インスタンス名,固有化前の名称,固有化後の名称及び固有化処理の対象となる単位名。ここで、インスタンス名とは、対象となる単位の内部に含まれるセルが有する固有名である。また、固有化処理(階層固有化処理)とは、階層設計において、所定機能を有する単位を、上位階層が複数回参照する場合に、被参照単位を複数参照の回数分だけ複製し固有名を付与し一度のみ参照される単一参照単位へ変更することを意味する。
Furthermore, in the design information database 5, the information shown in the following (2-1) to (2-4) is classified and held.
(2-1) Uniqueization information Instance name, name before uniqueization, name after uniqueization, and unit name that is the target of uniqueization processing. Here, the instance name is a unique name of a cell included in the target unit. Also, the unique processing (hierarchical unique processing) means that in the hierarchical design, when the upper layer refers to a unit having a predetermined function multiple times, the referenced unit is duplicated by the number of times of multiple references and the unique name is It means changing to a single reference unit that is given and referenced only once.

(2−2)テスト回路情報
階層名と、追加端子の名称及び機能と、追加する論理ゲートの名称及び機能と、接続関係(スキャンチェーン)の接続順序。
(2−3)階層負荷情報
階層名と、大きさと、入力端子の名称及び負荷と、出力端子の名称及び駆動能力とファンアウト数。
(2-2) Test circuit information The hierarchy name, the name and function of the additional terminal, the name and function of the added logic gate, and the connection order of the connection relationship (scan chain).
(2-3) Hierarchical Load Information Hierarchy name, size, input terminal name and load, output terminal name and drive capability, and fanout number.

(2−4)階層情報
回路情報データベース2に保持されている階層名と、階層間の上下関係。
このように、各情報がそれぞれ分類されて保持されているので、設計者は、効率よく回路を設計できる。
次に、自動設計処理部3は、HDL読み込み部3a,パラメータ入力部3b,処理結果出力部3c,計算処理部4をそなえて構成されている。このHDL読み込み部3aは、HDL言語で書かれたソースコードを読み込み、その読み込んだデータを計算処理部4に入力するものである。
(2-4) Hierarchy information The hierarchy name held in the circuit information database 2 and the vertical relationship between the hierarchies.
Thus, since each information is classified and held, the designer can design the circuit efficiently.
Next, the automatic design processing unit 3 includes an HDL reading unit 3a, a parameter input unit 3b, a processing result output unit 3c, and a calculation processing unit 4. The HDL reading unit 3 a reads a source code written in the HDL language and inputs the read data to the calculation processing unit 4.

パラメータ入力部3bは、設計者が指定したユーザ指定パラメータ(以下、パラメータと称することがある)を計算処理部4に入力するものである。このパラメータとは、処理の流れに関するものであって、例えば階層設計において、どの階層から処理を開始するかという情報や、後述するテスト回路規則入力部3d(図3参照)が読み込む複数のテスト回路情報のうちいずれかを選択するかについての情報等に関するものである。   The parameter input unit 3b inputs a user-specified parameter (hereinafter sometimes referred to as a parameter) designated by the designer to the calculation processing unit 4. This parameter relates to the flow of processing. For example, in hierarchical design, information on which hierarchy is to be started, and a plurality of test circuits read by a test circuit rule input unit 3d (see FIG. 3) described later. It relates to information about which one of the information is to be selected.

さらに、処理結果出力部3cは、計算処理部4にて自動設計された処理内容を、一定のフォーマットで出力するものであって、これにより、設計者は処理内容を確認したり、後続の設計に利用できるようになっている。この自動設計処理部3の機能は、図示を省略するが、CPU(Central Processing Unit)やROM(Read Only Memory)、RAM(Random Access Memory)等により実現されている。   Furthermore, the processing result output unit 3c outputs the processing contents automatically designed by the calculation processing unit 4 in a fixed format, so that the designer can check the processing contents or perform subsequent design. It can be used for. The function of the automatic design processing unit 3 is realized by a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), etc., although not shown.

また、これにより、設計者がパラメータ入力部3bに、一つのパラメータを入力するだけで、これらの処理が自動的に実行され、設計者は、各処理において別々のパラメータを入力することなく、設計できるようになる。
さらに、計算処理部4は、回路の計算処理を行なうものであって、HDL変換処理部4a,固有化処理部4b,テスト回路生成処理部4c,負荷調整処理部4d,HDL出力処理部4eをそなえて構成されている。
In addition, as a result, the designer simply inputs one parameter to the parameter input unit 3b, and these processes are automatically executed. The designer does not input separate parameters in each process. become able to.
Further, the calculation processing unit 4 performs circuit calculation processing. The calculation processing unit 4 includes an HDL conversion processing unit 4a, an individualization processing unit 4b, a test circuit generation processing unit 4c, a load adjustment processing unit 4d, and an HDL output processing unit 4e. It is composed.

このHDL変換処理部4aは、ソースコードとパラメータとを入力され、そのパラメータに指定された内容に基づいて、ソースコードを変換し、その変換したデータを回路情報データベース2に出力するものである。
図5は本発明の第1実施形態に係るHDL変換の概念図である。この図5に示すHDLソースコード40a(CHIP),40b(submodA),40c(submodB)は、それぞれ、HDL変換処理部4a(図1参照)にて、変換されて、回路情報データベース2に書き込まれるようになっている。
The HDL conversion processing unit 4a receives a source code and a parameter, converts the source code based on the contents specified in the parameter, and outputs the converted data to the circuit information database 2.
FIG. 5 is a conceptual diagram of HDL conversion according to the first embodiment of the present invention. The HDL source codes 40a (CHIP), 40b (submod A), and 40c (sub mod B) shown in FIG. 5 are converted by the HDL conversion processing unit 4a (see FIG. 1) and written in the circuit information database 2. It is like that.

また、図5に示すデータイメージ41a,41b,41cは、いずれも、この回路情報データベース2に保持されるものを概念的に表したものであって、例えば端子負荷・駆動能力情報(端子情報と略記されたもの)、ネット情報、要素情報の3種類に分類されて保持されるようになっている。なお、このHDL変換は一括して行なったり、又は分割して複数回数にわたって行なってもよい。   Also, the data images 41a, 41b, and 41c shown in FIG. 5 conceptually represent what is held in the circuit information database 2. For example, terminal load / drive capability information (terminal information and (Abbreviated), net information, and element information are classified and held. Note that the HDL conversion may be performed all at once or dividedly and performed a plurality of times.

次に、固有化処理部4b(図1参照)は、設計情報データベース5から固有化情報を読み出して、処理すべき単位のそれぞれについて相異なる固有名を付与するものである。また、この固有化処理部4bは、パラメータと上記処理にて変換された回路情報データベース2とを読み出し、被複数参照単位データを複製したり、固有名を変更するようになっている。   Next, the unique processing unit 4b (see FIG. 1) reads the unique information from the design information database 5 and assigns different unique names to each unit to be processed. Further, the unique processing unit 4b reads the parameters and the circuit information database 2 converted by the above processing, and duplicates the plural reference unit data or changes the unique name.

さらに、テスト回路生成処理部4cは、設計情報データベース5から変更履歴情報を読み出し上位階層のテスト回路を生成しうるものである。負荷調整処理部4dは、設計情報データベース5から端子負荷・駆動能力情報を読み出し上位階層の回路に含まれる端子のそれぞれについて設計情報を付与するとともに、設計情報に基づいて負荷を調整するものである。   Further, the test circuit generation processing unit 4c can read the change history information from the design information database 5 and generate a test circuit of an upper hierarchy. The load adjustment processing unit 4d reads the terminal load / driving capability information from the design information database 5 and gives design information to each of the terminals included in the upper layer circuit, and adjusts the load based on the design information. .

また、HDL出力処理部4eは、パラメータ入力部3bにて入力されたパラメータと回路情報データベース2とを読み込み、ソースコード(HDLソースコード)に必要なデータを書き込むものである。そして、これらの固有化処理部4b,テスト回路生成処理部4c,負荷調整処理部4dは、いずれも、回路情報データベース2と設計情報データベース5とに接続され、これらに保持されたデータの読み出し及び書き込みが可能である。   The HDL output processing unit 4e reads the parameters input by the parameter input unit 3b and the circuit information database 2, and writes necessary data in the source code (HDL source code). The unique processing unit 4b, the test circuit generation processing unit 4c, and the load adjustment processing unit 4d are all connected to the circuit information database 2 and the design information database 5, and read and hold data stored in them. Can be written.

そして、これらの固有化処理部4b,テスト回路生成処理部4c,負荷調整処理部4dは、いずれも、階層設計及びECO設計を行なうようになっている。ここで、階層設計とは、処理すべき単位のうちの一つの単位が、他の独立して設計された単位を階層的に内包した状態で回路を設計するものである。この階層設計により、大規模回路を部分ごとに設計できるようになる。   Each of the unique processing unit 4b, the test circuit generation processing unit 4c, and the load adjustment processing unit 4d performs hierarchical design and ECO design. Here, the hierarchical design is to design a circuit in a state in which one unit to be processed hierarchically includes other independently designed units. This hierarchical design makes it possible to design a large-scale circuit for each part.

また、ECO設計とは、処理すべき単位のうちの一部分を変更し、回路における他の部分を変更しないで再設計するものである。
そして、これら階層設計とECO設計とにより、設計装置1においては、回路の設計が同一の操作手順を使用できるようになっている。
次に、図2を用いて固有化処理部4bについてさらに詳細に説明し、図3を用いてテスト回路生成処理部4cについて、図4を用いて負荷調整処理部4dについてそれぞれさらに説明する。
The ECO design is to redesign without changing the part of the unit to be processed and changing the other part of the circuit.
With the hierarchical design and the ECO design, the design apparatus 1 can use the same operation procedure for circuit design.
Next, the unique processing unit 4b will be described in more detail with reference to FIG. 2, the test circuit generation processing unit 4c with reference to FIG. 3, and the load adjustment processing unit 4d with reference to FIG.

図2は本発明の第1実施形態に係る固有化処理部4bのブロック図である。この図2に示す固有化処理部4bは、回路情報データベース2中の被複数参照単位を、固有名の付与及びデータの複製によって、単一参照するために処理するようになっている。また、固有化処理部4bは、階層設計やECO設計に対応するため、付加的な機能を有し、回路を処理する処理部100bと、この処理部100を制御する制御部100aとを有する。なお、処理部100aと制御部100bとは、それぞれ、例えばソフトウェアにより実現される。   FIG. 2 is a block diagram of the unique processing unit 4b according to the first embodiment of the present invention. The unique processing unit 4b shown in FIG. 2 processes a plurality of reference units in the circuit information database 2 for a single reference by assigning a unique name and duplicating data. In addition, the unique processing unit 4b has an additional function to cope with hierarchical design and ECO design, and includes a processing unit 100b that processes a circuit and a control unit 100a that controls the processing unit 100. The processing unit 100a and the control unit 100b are each realized by software, for example.

ここで、上述したものと同一の符号を有するものは同一のもの又は同様の機能を有するものなので、更なる説明を省略する。図2に示す各部間の太線は、接続されていることを表す。なお、これら以外の各部間がそれぞれ、接続されるようにもできる。
まず、処理部100bは、設計情報読み込み部6b,処理データ取得部7b,複数参照解析部8b,固有名生成部9b,回路データ複製部10b,回路情報書き込み部11b,設計情報書き込み部12bを有する。
Here, since the thing which has the same code | symbol as what was mentioned above has the same thing or a similar function, the further description is abbreviate | omitted. The thick line between each part shown in FIG. 2 represents having connected. In addition, it can also be made to connect between each part other than these, respectively.
First, the processing unit 100b includes a design information reading unit 6b, a processing data acquisition unit 7b, a multiple reference analysis unit 8b, a unique name generation unit 9b, a circuit data replication unit 10b, a circuit information writing unit 11b, and a design information writing unit 12b. .

設計情報読み込み部6bは、設計情報データベース5に書き込まれた設計情報を読み込むものであって、固有化前の階層名と固有化後の階層名とを対応づけて、固有化前の階層名による固有化後の回路データを参照できるようになっている。従って、固有化処理部4bが、固有化処理の有無と固有化前後における階層名とを得られ、処理不要な回路データか否かの判別や、同一の固有名が発生するのを抑制するのに使用できるので、設計の効率が向上する。   The design information reading unit 6b reads the design information written in the design information database 5, and associates the hierarchical name before uniqueization with the hierarchical name after uniqueization, and uses the hierarchical name before uniqueization. It is possible to refer to the circuit data after uniqueization. Accordingly, the unique processing unit 4b can obtain the presence / absence of the unique processing and the hierarchical names before and after the unique processing, and determine whether or not the circuit data is unnecessary for processing and suppress the occurrence of the same unique name. Therefore, the design efficiency is improved.

加えて、固有化処理部4bは、ECO設計に当たり、通常設計情報(ECO設計以前に一旦完了した設計の設計情報)を用いて通常設計された回路と変更箇所以外とが同一の回路を設計するようになっている。また、設計情報読み込み部6bは、第1の単位Aを処理して得られる第1の単位Aの処理結果(第1の単位Aを処理して得られる第1の単位Aの位置等)に関する第1単位情報を設計情報データベース5から読み込むようになっている。なお、設計情報読み込み部6bは、一時的にデータを保持するメモリ(図示省略)と接続されている。   In addition, in the ECO design, the unique processing unit 4b uses the normal design information (design information of the design once completed before the ECO design) to design a circuit that is the same as the circuit that is normally designed except for the changed part. It is like that. Further, the design information reading unit 6b relates to the processing result of the first unit A obtained by processing the first unit A (the position of the first unit A obtained by processing the first unit A, etc.). The first unit information is read from the design information database 5. The design information reading unit 6b is connected to a memory (not shown) that temporarily holds data.

処理データ取得部7bは処理対象判別部7aにより判別された処理対象/処理対象外に基づいて、回路情報データベース2から処理すべき単位の回路データを取得するものである。
これにより、固有化処理部4bが上位階層を処理するときには、設計情報書き込み部12bにて下位階層についての処理結果が設計情報データベース5に書き込まれる。そして、設計情報データベース5に保持された情報は、設計情報読み込み部6bを介して読み込まれ、次に、処理対象判別部7aにて設計情報データベース5に書き込まれた下位階層についての既処理/未処理が認識され、その認識結果に基づき下位階層についての処理対象/処理対象外が判別されるのである。
The processing data acquisition unit 7b acquires unit circuit data to be processed from the circuit information database 2 based on the processing target / non-processing target determined by the processing target determination unit 7a.
Thus, when the unique processing unit 4b processes the upper layer, the processing result for the lower layer is written in the design information database 5 by the design information writing unit 12b. The information held in the design information database 5 is read via the design information reading unit 6b, and then processed / unprocessed for the lower hierarchy written in the design information database 5 by the processing target determination unit 7a. The processing is recognized, and the processing target / non-processing target for the lower hierarchy is determined based on the recognition result.

また、複数参照解析部8bは、回路中において、同一の回路単位を複数使用している箇所を検索し、その箇所における回路単位の種別について、階層,セル,ブラックボックスを判別するものである。この複数参照解析部8bにより、固有化処理が効率よくでき、かつ、きめ細かい設計が可能となる。
さらに、固有名生成部9bは、処理対象判別部7aにて処理対象と判別された場合は設計情報データベース5に保持された参照関係と同一の参照関係になるように固有名を生成し、非処理対象と判別された場合は既に割り当てた固有名と異なる固有名を生成するものである。
In addition, the multiple reference analysis unit 8b searches for a location where a plurality of the same circuit units are used in the circuit, and determines a hierarchy, a cell, and a black box for the type of the circuit unit at the location. The multi-reference analysis unit 8b can efficiently perform the unique processing and can perform fine design.
Furthermore, the unique name generation unit 9b generates a unique name so that the reference relationship is the same as the reference relationship held in the design information database 5 when it is determined as the processing target by the processing target determination unit 7a. When it is determined that it is a processing target, a unique name different from the already assigned unique name is generated.

すなわち、固有名生成部9bは、処理対象判別部7aにより処理対象と判別され、複数参照解析部8bにより複数参照されていると判断された回路単位に固有名を付与すべく、名称を発生させるのである。
また、階層設計を用いて部分ごとの設計を行なう場合は、固有名生成部9bは、設計単位を超えた回路間で固有名の重複が起きないように、単一参照単位についても設定されたネーミング規則(固有名付与規則)に従った固有名を付与する。
In other words, the proper name generation unit 9b generates a name so as to assign a proper name to each circuit unit that is determined as a processing target by the processing target determination unit 7a and is determined to be referred to plurally by the multiple reference analysis unit 8b. It is.
In addition, when designing each part using hierarchical design, the unique name generation unit 9b is also set for a single reference unit so that unique names do not overlap between circuits exceeding the design unit. Assign a unique name according to the naming rules (rules for assigning unique names).

さらに、ECO設計においては、固有名生成部9bは、通常設計において付与した固有名と同一の固有名を、同一の参照関係にある回路単位に割り付ける必要があるので、設計情報データベース5に保持された参照関係の情報と固有名の情報とを使用して、ECO処理対象回路に対する固有名を生成する。
また、この固有名生成部9bは、複数参照解析部8bにて判別された、複数参照単位及び単一参照単位のそれぞれについて固有名を生成するようになっている。
Further, in the ECO design, the unique name generation unit 9b needs to assign the same unique name as the unique name assigned in the normal design to the circuit units having the same reference relationship, and is therefore stored in the design information database 5. The unique name for the ECO processing target circuit is generated using the reference relationship information and the unique name information.
In addition, the proper name generation unit 9b generates a proper name for each of the multiple reference units and the single reference unit determined by the multiple reference analysis unit 8b.

さらに、固有名生成部9bは、ECO設計で設計情報データベース5に既存の固有名を使用する場合以外においては、固有名付与規則設定部9aにて設定されたネーミング規則に基づいて、処理すべき単位に、既に処理された単位に付与した固有名と異なる固有名を生成するようにもなっている。
これにより、処理対象判別部7aにて、処理すべき単位について設計情報の書き込み有りと判別された場合は同一の参照関係になるように固有名が生成され、また、処理すべき単位について設計情報の書き込み無しと判別された場合は既に割り当てた固有名と異なる固有名が生成される。
Furthermore, the unique name generation unit 9b should perform processing based on the naming rules set by the unique name assignment rule setting unit 9a except when an existing unique name is used in the design information database 5 in ECO design. For each unit, a unique name different from the unique name assigned to the already processed unit is generated.
As a result, when the processing object determination unit 7a determines that the unit to be processed is written with design information, a unique name is generated so as to have the same reference relationship, and the design information about the unit to be processed If it is determined that there is no writing, a unique name different from the already assigned unique name is generated.

なお、この固有化処理については、図6を用いて後述する。
回路データ複製部10bは、固有名生成部9bにて生成された固有名を複数参照単位と単一参照単位とのそれぞれに割り付けて、回路データを複製するものである。この回路データとは、例えば回路モジュール45(図6参照)のようなものである。そして、回路情報書き込み部11bは、記憶装置上のデータベースに回路情報を書き込むものである。
This unique processing will be described later with reference to FIG.
The circuit data duplicating unit 10b assigns the unique name generated by the unique name generating unit 9b to each of a plurality of reference units and a single reference unit, and duplicates the circuit data. The circuit data is, for example, a circuit module 45 (see FIG. 6). The circuit information writing unit 11b writes circuit information in a database on the storage device.

加えて、設計情報書き込み部12bは、設計情報データベース5に接続され、処理した階層の設計情報を設計情報データベース5に書き込むものである。これにより、固有化処理の情報が蓄積され、上位階層処理時における処理不要な部分の判別や、ECO設計での同一固有名の付与に利用できるようになる。
また、この設計情報書き込み部12bは、第1の単位Aの処理結果に関する第1単位情報を収集し第1単位情報を設計情報データベース5に書き込むようにもなっている。
In addition, the design information writing unit 12 b is connected to the design information database 5 and writes the processed hierarchy design information into the design information database 5. As a result, the information on the unique processing is accumulated and can be used to determine a portion that does not need to be processed at the time of higher layer processing or to assign the same unique name in the ECO design.
Further, the design information writing unit 12b collects first unit information related to the processing result of the first unit A and writes the first unit information in the design information database 5.

次に、図2に示す制御部100aは、設計情報読み込み制御部6a,処理対象判別部7a,複数参照解析制御部8a,固有名付与規則設定部9a,回路データ複製制御部10a,回路情報書き込み制御部11a,設計情報書き込み制御部12aを有する。
まず、設計情報読み込み制御部6aは、パラメータ入力部3bから得られるパラメータを解析し、設計情報データベース5から固有化情報を取得するか否かを判断し、設計情報読み込み部6bに対して入力を指示するものである。
Next, the control unit 100a shown in FIG. 2 includes a design information reading control unit 6a, a processing target determination unit 7a, a multiple reference analysis control unit 8a, a unique name assignment rule setting unit 9a, a circuit data duplication control unit 10a, and circuit information writing. It has a control unit 11a and a design information write control unit 12a.
First, the design information reading control unit 6a analyzes the parameters obtained from the parameter input unit 3b, determines whether or not to acquire the unique information from the design information database 5, and inputs the design information reading unit 6b. It is an instruction.

処理対象判別部7aは、設計情報データベース5に書き込まれた設計情報に基づいて、処理すべき単位について処理対象/非処理対象を判別するものである。この処理対象判別部7aは、設計情報読み込み部6bを介して設計情報データベース5に保持された情報を得られるようになっている。
そして、処理対象判別部7aは、設計情報データベース5に現在処理中の単位についての設計情報(固有化情報)の書き込みの有無を判別し、下位階層が処理済みであることを認識すると、処理済みの回路データの取得を停止するようになっている。従って、作業用のメモリの節約が可能となる。
The processing target discriminating unit 7 a discriminates the processing target / non-processing target for the unit to be processed based on the design information written in the design information database 5. The processing object discriminating unit 7a can obtain information held in the design information database 5 through the design information reading unit 6b.
Then, the processing target determination unit 7a determines whether or not the design information (specification information) for the unit currently being processed is written in the design information database 5 and recognizes that the lower hierarchy has been processed. The acquisition of the circuit data is stopped. Therefore, the working memory can be saved.

また、処理対象判別部7aは、設計情報のうち、第1の単位Aを処理して得られる第1の単位Aの処理結果に関する第1単位情報に基づいて、次に処理する第2の単位Bが内包する単位が処理された単位であるか否かを判別するようにもなっている。
これにより、処理対象判別部7aは、パラメータ入力部3bにて設計者によって入力されたパラメータと、設計情報読み込み部6bから得られた固有化情報とに基づいて処理すべき対象の箇所を、容易に判別するのである。
Further, the processing target determination unit 7a is a second unit to be processed next based on the first unit information regarding the processing result of the first unit A obtained by processing the first unit A in the design information. It is also determined whether or not the unit included in B is a processed unit.
As a result, the processing target discriminating unit 7a can easily determine the target portion to be processed based on the parameter input by the designer in the parameter input unit 3b and the unique information obtained from the design information reading unit 6b. It is determined to be.

さらに、処理対象判別部7aは、処理データ取得部7bを制御し、これにより、処理データ取得部7bが回路情報データベース2から処理データを取得するようになっている。従って、処理すべき部分に関する情報が容易に得られるようになる。
そして、固有化処理部4bが回路の階層構造に基づく分割設計を行なう場合に、上位階層を処理するときは、まず、設計情報読み込み部6bにて設計情報データベース5に書き込まれた下位階層についての既処理/未処理が読み込まれ、処理対象判別部7aにてその既処理/未処理に基づき下位階層について処理対象/処理対象外が判別されるようになっている。
Further, the processing object determination unit 7a controls the processing data acquisition unit 7b, whereby the processing data acquisition unit 7b acquires processing data from the circuit information database 2. Therefore, information regarding the portion to be processed can be easily obtained.
When the unique processing unit 4b performs the divided design based on the circuit hierarchical structure, when processing the upper layer, first, the design information reading unit 6b first processes the lower layer written in the design information database 5. The processed / unprocessed is read, and the processing target determining unit 7a determines the processing target / non-processed for the lower hierarchy based on the processed / unprocessed.

続いて、複数参照解析制御部8aは、複数参照解析部8bを制御するものである。固有名付与規則設定部9aは、設計情報データベース5に基づいて、回路要素の名称に関するパラメータに基づき、処理すべき単位のそれぞれについて固有名を付与すべく、ネーミング規則を設定するものである。そして、固有名付与規則設定部9aは、そのパラメータに含まれるネーミング規則と、固有化情報に含まれる既存の固有名とを解析するようになっている。   Subsequently, the multi-reference analysis control unit 8a controls the multi-reference analysis unit 8b. The unique name assignment rule setting unit 9a sets a naming rule based on the design information database 5 so as to assign a unique name to each unit to be processed, based on parameters relating to the names of circuit elements. Then, the unique name assigning rule setting unit 9a analyzes the naming rule included in the parameter and the existing unique name included in the unique information.

これにより、固有名生成部9bは、ネーミング規則に適合し、かつ、他の固有名と重複しない固有名を生成できる。
回路データ複製制御部10aは、ネーミング規則に基づいて、複数参照された複数参照単位及び単一参照された単一参照単位のそれぞれについて固有名を付与するとともに、データを複製するものである。具体的には、回路データ複製制御部10aは、被複数参照単位が個々に単一参照される状態にすべく、回路データの複製処理を制御するようになっている。
Thereby, the unique name generation unit 9b can generate a unique name that conforms to the naming rule and does not overlap with other unique names.
The circuit data replication control unit 10a assigns a unique name to each of a plurality of reference units that are referred to a plurality of units and a single reference unit that is referred to a single reference and replicates data based on a naming rule. Specifically, the circuit data duplication control unit 10a controls the circuit data duplication processing so that the plurality of units to be referenced are individually referred to individually.

また、回路情報書き込み制御部11aは、回路情報書き込み部11bを制御するものである。これにより、固有名の付与と複製したデータとが、それぞれ、回路情報データベース2に書き込まれる処理が制御されるようになっている。
さらに、設計情報書き込み制御部12aは、設計情報書き込み部12bを制御するものである。そして、設計情報書き込み制御部12aは、固有化処理にて扱った単位の固有化前の単位名,固有化後の単位名及び回路全体における位置を特定するための情報等を設計情報データベース5に書き込むべく制御するようになっている。
The circuit information writing control unit 11a controls the circuit information writing unit 11b. As a result, the process of writing the unique name and the copied data to the circuit information database 2 is controlled.
Furthermore, the design information writing control unit 12a controls the design information writing unit 12b. Then, the design information writing control unit 12a stores in the design information database 5 the unit name before the unit specification, the unit name after the specification, the information for specifying the position in the entire circuit, etc. Control to write.

そして、この図2において、制御のために必要な情報は、設計情報データベース5から、L3と付したルート(点線)を通り、制御部100aに入力されるようになっており、また、回路(設計対象)のデータは、設計情報データベース5から、L4と付したルート(点線)を通り、処理部100bにて、データ処理されるようになっている。
このように、制御データと、回路データとが2系統にてそれぞれ伝送するので、効率よく設計できるようになる。
In FIG. 2, information necessary for control is input from the design information database 5 to the control unit 100a through a route (dotted line) labeled L3, and a circuit ( The data of the design target) is processed from the design information database 5 through the route (dotted line) labeled L4 by the processing unit 100b.
In this way, control data and circuit data are transmitted in two systems, respectively, so that the design can be made efficiently.

次に、固有化処理部4bの処理について、図6を用いて説明する。固有化処理部4bは、固有名を重複させないように2種類の手法を用いている。
図6は本発明の第1実施形態に係る固有化処理を説明するための図である。この図6に示す回路モジュール43は、回路モジュール43a,43b(以下、回路モジュール43a,43bをそれぞれモジュール43a,43bと称する)を内包し、これらは、それぞれ、回路モジュール45を内包する。ここで、モジュール45は、一例として、フリップフロップやラッチ回路であり、Aという名称を付されている。モジュール43a,43bは、それぞれ、レジスタやカウンタであり、その名称は、それぞれ、X,Yである。
Next, the process of the unique process part 4b is demonstrated using FIG. The unique processing unit 4b uses two types of methods so as not to duplicate unique names.
FIG. 6 is a diagram for explaining the unique processing according to the first embodiment of the present invention. The circuit module 43 shown in FIG. 6 includes circuit modules 43a and 43b (hereinafter, the circuit modules 43a and 43b are referred to as modules 43a and 43b, respectively), and these each include a circuit module 45. Here, the module 45 is a flip-flop or a latch circuit, for example, and is named A. The modules 43a and 43b are registers and counters, respectively, and their names are X and Y, respectively.

第1の手法は、設計者が、パラメータを用いて処理すべき単位ごとにネーミング規則の設定を変更し、そして、その設定されたネーミング規則に基づいて名称を発生させる手法である。固有化処理部4bは、図6において、モジュール43aに含まれる3個のモジュール45を、例えばA−X−0,A−X−1,A−X−2とし、モジュール43bに含まれる2個のモジュール45を、A−Y−0,A−Y−1とするのである。すなわち、パラメータが解析され、複数参照されている単位(モジュール45)について、その参照されている回数分(3回又は2回)だけ複製され、その複製された単位(モジュール)名が、現在処理中の単位名と重複しないように生成されるのである。   The first method is a method in which a designer changes the setting of a naming rule for each unit to be processed using a parameter, and generates a name based on the set naming rule. In FIG. 6, the unique processing unit 4b sets the three modules 45 included in the module 43a to, for example, AX-0, AX-1, and AX-2, and includes two modules 45b included in the module 43b. These modules 45 are AY-0 and AY-1. That is, parameters are analyzed, and a plurality of referenced units (module 45) are duplicated as many times as the number of times they are referenced (three times or twice), and the duplicated unit (module) name is currently processed. It is generated so as not to overlap with the unit name inside.

また、第2の手法は、設計者が、設計情報データベース5に保持されている名称以外の名称を発生させる手法である。すなわち、固有化処理部4bは、モジュール43aに含まれる3個のモジュール45を、それぞれ、A−0,A−1,A−2とし、モジュール43bに名称を付与するに当たり、設計情報データベース5を参照して、設計情報データベース5に保持されている名称と重複しないように、A−0,A−1,A−2を使用せずに、モジュール43bに含まれる2個のモジュール45を、A−3,A−4とするのである。   The second method is a method in which the designer generates names other than the names held in the design information database 5. That is, the unique processing unit 4b designates the three modules 45 included in the module 43a as A-0, A-1, and A-2, respectively, and assigns a name to the module 43b. Referring to the two modules 45 included in the module 43b without using A-0, A-1, and A-2 so that the names held in the design information database 5 are not duplicated, A −3, A-4.

このように、階層設計に当たり、まず、固有名付与規則設定部9a(図2参照)にて設計者が指定したパラメータに基づき、処理すべき単位のそれぞれについてネーミング規則が設定され、また、固有名生成部9bにて、既に処理済みの単位に付した固有名と異なるように、そのネーミング規則に基づき、処理すべき単位に固有名が生成される。
これらの手法によれば、元の固有名と、設計者により指定されたネーミング規則とに基づいて新たな名称が生成される。このため、固有化処理によって新たに名称が複数個生成されても、それらの名称の判別を明確にでき、設計者はそれらの名称をグループ分け(グルーピング)することが容易となり、また、処理すべき単位ごとにグルーピングできる。さらに、処理された単位と現在処理中の単位の名称との重複が回避される。
Thus, in the hierarchical design, first, a naming rule is set for each unit to be processed based on parameters designated by the designer in the unique name assignment rule setting unit 9a (see FIG. 2). In the generation unit 9b, a unique name is generated for a unit to be processed based on the naming rule so as to be different from a unique name given to a unit that has already been processed.
According to these methods, a new name is generated based on the original unique name and the naming rule specified by the designer. For this reason, even if a plurality of new names are generated by the unique processing, the names can be clearly identified, and it becomes easy for the designer to group the names. Group by power unit. Furthermore, duplication of the processed unit and the name of the unit currently being processed is avoided.

従って、新たに名称を生成するときに、設計情報データベース5が参照され、設定されているネーミング規則に基づいて、設定情報データベース5及び作業用メモリ(図示省略)にロードされている固有名情報と重複しない名称が生成されるのである。
このため、階層設計において、回路の部分ごとに固有化処理されても、回路全体において生成された名称のすべてを考慮して名称が付与されるので、名称の重複が生じない。
Accordingly, when a new name is generated, the design information database 5 is referred to, and based on the set naming rules, the unique name information loaded in the setting information database 5 and the working memory (not shown) A unique name is generated.
For this reason, in the hierarchical design, even if the unique processing is performed for each part of the circuit, the names are given in consideration of all the names generated in the entire circuit, so that there is no duplication of names.

このように、固有化処理部4bは、上位階層を処理するときに、内包している下位階層について、回路情報データベース2から情報を取得する代わりに、下位階層を処理すべき単位として設計した処理結果等が保持されている設計情報データベース5から情報を取得できる。
また、本発明の回路設計方法を、2種類説明する。
In this way, the unique processing unit 4b, when processing the upper layer, processes the lower layer included as a unit to be processed instead of acquiring information from the circuit information database 2 for the included lower layer. Information can be acquired from the design information database 5 in which results and the like are held.
Two types of circuit design methods of the present invention will be described.

本発明の第1の回路設計方法は、まず、固有化処理部4bが、回路に関する情報を保持する回路情報データベース2から回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる自動設計処理部3において、第1の単位Aを処理して得られる第1の単位Aの処理結果に関する第1単位情報を生成する(処理生成ステップ)。
続いて、固有化処理部4bは、処理生成ステップにて生成中の回路要素の固有化情報,回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を収集する(設計情報収集ステップ)。
In the first circuit design method of the present invention, first, the unique processing unit 4b reads out information about the circuit from the circuit information database 2 that holds information about the circuit, and designs a circuit for each unit to be processed. In the automatic design processing unit 3, the first unit information related to the processing result of the first unit A obtained by processing the first unit A is generated (processing generation step).
Subsequently, the unique processing unit 4b collects design information including the specific information of the circuit element being generated in the process generation step, the change history information indicating the history of changing the circuit, and the terminal load / drive capability information of the circuit. (Design information collection step)

また、固有化処理部4bは、設計情報収集ステップにて収集された設計情報を、自動設計処理部3に接続され設計情報を保持する設計情報データベース5に処理すべき単位ごとに書き込む(設計情報書き込みステップ)。
さらに、固有化処理部4bは、後に別単位を処理する場合に、設計情報書き込みステップにて書き込まれた設計情報に基づいて第2の単位Bを処理すべく、第1の単位Aに関する設計情報を参照する(参照ステップ)。
The unique processing unit 4b writes the design information collected in the design information collecting step for each unit to be processed in the design information database 5 connected to the automatic design processing unit 3 and holding the design information (design information). Writing step).
Furthermore, when the unique unit 4b processes another unit later, the design information related to the first unit A is processed to process the second unit B based on the design information written in the design information writing step. (Refer step).

そして、固有化処理部4bは、参照ステップにて参照された第1の単位Aに関する設計情報についての参照関係を認識する(認識ステップ)。従って、設計情報データベース5内の情報が使用され、その第2の単位Bが、既に処理された第1の単位Aを内包するか否かがチェックされる。
続いて、固有化処理部4bは、参照ステップにて得られた参照関係に基づき、回路情報データベース2に保持された位置と処理結果とに関する単位情報を参照する(回路情報データベース参照ステップ)。次に、固有化処理部4bは、設計処理された回路データを更新する(回路情報データベース書き込みステップ)。
And the unique process part 4b recognizes the reference relationship about the design information regarding the 1st unit A referred in the reference step (recognition step). Therefore, the information in the design information database 5 is used, and it is checked whether or not the second unit B includes the already processed first unit A.
Subsequently, the unique processing unit 4b refers to the unit information regarding the position and the processing result held in the circuit information database 2 based on the reference relationship obtained in the reference step (circuit information database reference step). Next, the unique processing unit 4b updates the circuit data subjected to the design process (circuit information database writing step).

このように、内包する場合には第1の単位Aが処理済であるか否かが自動的に認識される。
また、これにより、設計情報書き込み部12bにて、第1の単位Aの位置と処理結果とに関する第1単位情報が収集され、第1単位情報が設計情報データベース5に書き込まれ、その書き込まれた第1単位情報は設計情報読み込み部6bにて読み込まれる。そして、処理対象判別部7aにて、第1単位情報に基づき、第2の単位Bが第1の単位Aを内包しているか否かが判別され、また、内包有りと判別した場合は第1の単位Aが処理された単位であるか否かが判別されるのである。
In this way, in the case of inclusion, it is automatically recognized whether or not the first unit A has been processed.
Accordingly, the design information writing unit 12b collects the first unit information related to the position of the first unit A and the processing result, and the first unit information is written into the design information database 5 and written. The first unit information is read by the design information reading unit 6b. Then, the processing target discriminating unit 7a discriminates whether or not the second unit B includes the first unit A based on the first unit information. It is determined whether the unit A is a processed unit.

従って、固有化処理部4bは、処理された単位を自動的に判別するので、下位階層について、回路情報データベース2からの読み出しが不要となり、これにより、固有化処理のために使用する、作業用メモリの容量等が大幅に節約できる。
また、本発明の第2の回路設計方法は、まず、固有化処理部4bが、回路に関する情報を保持する回路情報データベース2から回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる自動設計処理部3において、第3の単位Cを内包する第4の単位を処理する(第1処理ステップ)。
Therefore, since the unique processing unit 4b automatically determines the processed unit, it is not necessary to read out the lower hierarchy from the circuit information database 2, and thus the work unit used for the specific processing is used. Memory capacity can be saved significantly.
In the second circuit design method of the present invention, first, the unique processing unit 4b reads out information about the circuit from the circuit information database 2 that holds information about the circuit, and selects a circuit for each unit to be processed. In the automatic design processing unit 3 that can be designed, the fourth unit including the third unit C is processed (first processing step).

次に、固有化処理部4bが、第1処理ステップにて生成中の第3の単位Cの処理結果に関する第3単位情報を収集する(第3単位情報収集ステップ)。
さらに、固有化処理部4bが、第3単位情報収集ステップにて収集された第3単位情報を、自動設計処理部3に接続され設計情報を保持する設計情報データベースに書き込む(設計情報書き込みステップ)。
Next, the unique processing unit 4b collects third unit information related to the processing result of the third unit C being generated in the first processing step (third unit information collecting step).
Further, the unique processing unit 4b writes the third unit information collected in the third unit information collecting step into a design information database connected to the automatic design processing unit 3 and holding design information (design information writing step). .

そして、固有化処理部4bが、設計情報書き込みステップにて書き込まれた第3単位情報に基づき、第3の単位Cを変更して得られる第3処理済単位が第4の単位を変更して得られる第4処理済単位を内包するか否かを判別するとともに、第3処理済単位が第3の単位Cと同等か否かを判別する(判別ステップ)。
このように、本発明の2種類の回路設計方法を用いることにより、全自動化による連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。
Then, based on the third unit information written in the design information writing step, the unique processing unit 4b changes the fourth unit from the third processed unit obtained by changing the third unit C. It is determined whether or not the obtained fourth processed unit is included, and it is determined whether or not the third processed unit is equivalent to the third unit C (determination step).
As described above, by using the two types of circuit design methods of the present invention, it is possible to perform continuous processing by full automation, and it is possible to reduce the processing time and hence the design period.

また、設計者又はシステム構築の担当者(以下、設計者等と称することがある)は、本設計装置1を、パソコン又はワークステーション(以下、コンピュータと称する)を用いて構築する。すなわち、設計者等は、ソフトウェアプログラムを作成し、コンピュータのハードディスクに保持するようにしており、そのプログラムは、上述した処理をコンピュータ上にて実行させることができるものである。   A designer or a person in charge of system construction (hereinafter sometimes referred to as a designer or the like) constructs the design apparatus 1 using a personal computer or a workstation (hereinafter referred to as a computer). That is, a designer or the like creates a software program and stores it in a hard disk of a computer, and the program can execute the above-described processing on the computer.

本発明のプログラムは、コンピュータを、回路に関する情報を保持する回路情報データベース2から回路に関する情報を読み出し所定の処理すべき単位ごとに回路を設計するとともに、設計によって得られた回路要素の固有化情報,回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を設計情報データベース5に保持するように機能させるものである。   The program of the present invention reads out information related to a circuit from the circuit information database 2 that holds information related to the circuit, designs a circuit for each unit to be processed, and provides circuit element specific information obtained by the design. The design information database 5 is made to function so as to hold design information including change history information indicating a history of circuit change and terminal load / drive capability information of the circuit.

換言すれば、自動設計処理部3の機能は、このプログラムが、コンピュータのCPUによって読み取られて実行されることにより実現される。
なお、本発明のプログラムをそのハードディスクにインストールする方法は、コンピュータが有する読み取り装置に応じて、CD−ROM(Compact Disk-Read Only Memory)、CD−R(CD-Recordable)、CD−RW(CD-Rewritable)及びフロッピーディスク等の記録媒体を用いるようになっている。
In other words, the function of the automatic design processing unit 3 is realized by the program being read and executed by the CPU of the computer.
Note that the method of installing the program of the present invention on the hard disk is based on a reading device of the computer, such as a CD-ROM (Compact Disk-Read Only Memory), a CD-R (CD-Recordable), a CD-RW (CD -Rewritable) and recording media such as floppy disks.

このように、設計者等は、大規模回路を設計する環境を簡便に構築することができる。
また、本発明のプログラムは、コンピュータに、以下に示す各ステップを実行させるように機能させるものである。すなわち、本発明のプログラムは、回路に関する情報を保持する回路情報データベース2から回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる自動設計処理部3において、まず、第1の単位Aを処理して得られる第1の単位Aの処理結果に関する第1単位情報を生成させ(処理生成ステップ)、生成中の回路要素の固有化情報,回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を収集させる(設計情報収集ステップ)。
In this way, designers and the like can easily construct an environment for designing a large-scale circuit.
Moreover, the program of this invention functions to make a computer perform each step shown below. That is, the program of the present invention first reads the information about the circuit from the circuit information database 2 holding the information about the circuit, and in the automatic design processing unit 3 that can design the circuit for each unit to be processed, first, The first unit information related to the processing result of the first unit A obtained by processing the unit A is generated (processing generation step), the unique information of the circuit element being generated, and the change history representing the history of changing the circuit Design information including information and circuit terminal load / drive capability information is collected (design information collection step).

そして、このプログラムは、収集された設計情報を、自動設計処理部3に接続され設計情報を保持する設計情報データベースに処理すべき単位ごとに書き込ませて(設計情報書き込みステップ)、書き込まれた設計情報に基づいて第2の単位Bを処理すべく、第1の単位Aに関する設計情報を参照させる(参照ステップ)。
さらに、このプログラムは、参照された第1の単位Aに関する設計情報についての参照関係を認識させ(認識ステップ)、得られた参照関係に基づき、回路情報データベース2に保持された位置と処理結果とに関する単位情報を参照させ(回路情報データベース参照ステップ)、設計処理された回路データを更新させる(回路情報データベース書き込みステップ)ようコンピュータに機能させるのである。
Then, this program writes the collected design information for each unit to be processed in the design information database connected to the automatic design processing unit 3 and holding the design information (design information writing step), and the written design In order to process the second unit B based on the information, the design information related to the first unit A is referred to (reference step).
Further, the program recognizes the reference relationship for the design information related to the first unit A that has been referenced (recognition step), and based on the obtained reference relationship, the position and processing result held in the circuit information database 2 The unit information is referred to (circuit information database reference step), and the computer is caused to function so as to update the designed circuit data (circuit information database write step).

このように、全自動化により連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。
さらに、本発明のプログラムは、コンピュータに、以下に示す各ステップを実行させるように機能させるものである。すなわち、本発明のプログラムは、回路に関する情報を保持する回路情報データベース2から回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる自動設計処理部3において、第3の単位を内包する第4の単位Dを処理させ(第1処理ステップ)、生成中の第3の単位の処理結果に関する第3単位情報を収集させ(第3単位情報収集ステップ)、収集された第3単位情報を、自動設計処理部3に接続され設計情報を保持する設計情報データベースに書き込ませる(設計情報書き込みステップ)。
In this way, continuous processing is possible by full automation, so that the processing time can be reduced and the design period can be shortened.
Further, the program of the present invention causes a computer to function so as to execute the following steps. That is, the program of the present invention reads the information about the circuit from the circuit information database 2 holding the information about the circuit, and in the automatic design processing unit 3 that can design the circuit for each unit to be processed, the third unit Is processed (first processing step), third unit information related to the processing result of the third unit being generated is collected (third unit information collecting step), and the collected third unit is collected. The unit information is written in a design information database connected to the automatic design processing unit 3 and holding the design information (design information writing step).

続いて、このプログラムは、書き込まれた第3単位情報に基づき、第3の単位を変更して得られる第3処理済単位が第4の単位Dを変更して得られる第4処理済単位を内包するか否かを判別するとともに、第3処理済単位が第3の単位と同等か否かを判別させる(判別ステップ)ようコンピュータに機能させるのである。
このように、全自動化により連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。
Subsequently, the program calculates the fourth processed unit obtained by changing the fourth unit D from the third processed unit obtained by changing the third unit based on the written third unit information. In addition to determining whether or not to include, the computer is caused to function to determine whether or not the third processed unit is equivalent to the third unit (determination step).
In this way, continuous processing is possible by full automation, so that the processing time can be reduced and the design period can be shortened.

次に、ECO設計における固有化処理について説明する。
図7(a)〜(d)及び図8はいずれも本発明の第1実施形態に係るECO設計における固有化処理を説明するための図である。この図7(a)に示すチップ80は、モジュールA,Cを内包し、また、モジュールAとモジュールCとはそれぞれ、モジュールBを内包している。通常設計において、固有化が実行されると、例えば、図7(a)に示すような固有なモジュール名が付けられる。そして、図7(b)に示すように、その変更履歴には、モジュールAは名称A−1と書き込まれ、モジュールCは名称C−1と書き込まれる。同様に、モジュールA内のモジュールBは名称B−1と、モジュールC内のモジュールBは名称B−2と書き込まれる。
Next, the unique process in the ECO design will be described.
FIGS. 7A to 7D and FIG. 8 are diagrams for explaining the unique processing in the ECO design according to the first embodiment of the present invention. The chip 80 shown in FIG. 7A includes modules A and C, and each of the module A and the module C includes a module B. In the normal design, when uniqueization is executed, a unique module name as shown in FIG. Then, as shown in FIG. 7B, the module A is written with the name A-1 and the module C is written with the name C-1 in the change history. Similarly, module B in module A is written as name B-1, and module B in module C is written as name B-2.

図7(c)に示す回路は、この回路のいずれかのモジュール(例えばモジュールB)の論理を変更した場合における、ECO設計を開始するときの回路である。そして、現在処理中の単位についての情報が、設計情報データベース5に保持されているか否かが判別され、保持されている場合は、図7(d)に示すように、設計情報データベース5に書き込まれている参照関係と同一の参照関係になるように名称が生成される。一方、保持されていない場合は、図示しないが、書き込まれている他の単位の名称と重複しないように名称が生成される。   The circuit shown in FIG. 7C is a circuit for starting ECO design when the logic of any module (for example, module B) of this circuit is changed. Then, it is determined whether or not the information about the unit currently being processed is held in the design information database 5, and if it is held, it is written in the design information database 5 as shown in FIG. The name is generated so that the reference relationship is the same as the reference relationship. On the other hand, when not held, a name is generated so as not to overlap with the name of another unit written, although not shown.

なお、設計情報が参照されないと、ECO設計において、図8に示すような通常設計時の固有名と異なる固有名が付与される可能性があり、後続の処理において、固有名と設計情報とを対比するときに名称が不一致となることがある。
従って、ECO設計において、回路変更が発生した箇所以外を旧回路と同等に復元することができる。すなわち、固有化処理において、固有化後の階層名が旧回路の設計時と同一の名称を割り当てられるので、固有化前の回路からECO処理を続行できる。
If the design information is not referred to, a unique name different from the unique name at the time of normal design as shown in FIG. 8 may be given in the ECO design. Names may become inconsistent when compared.
Therefore, in the ECO design, the part other than the part where the circuit change has occurred can be restored to the same level as the old circuit. In other words, in the unique process, the hierarchical name after the unique process is assigned the same name as when designing the old circuit, so that the ECO process can be continued from the circuit before the unique process.

また、固有化処理部4bは、旧回路の設計で作成された設計情報データベース5から、固有化情報データを入力されたときに、その固有化情報を用いて、同一のインスタンス名を有する階層であって未だ固有化されていないものに対して、旧回路と同一の固有名を自動的に付与できる。
このように、新旧回路の階層を一致させることができる。
Further, the unique processing unit 4b uses the unique information when the unique information data is input from the design information database 5 created by the design of the old circuit, and uses the unique information in the hierarchy having the same instance name. The same unique name as that of the old circuit can be automatically given to those that have not yet been made unique.
In this way, the hierarchy of the old and new circuits can be matched.

そして、このように、固有化処理部4bは、設計情報として通常設計時の固有化情報を読み込むので、ECO設計を図7(c)に示すチップ80の全体が、固有化前の回路を用いて再処理されなくても、図7(b)に示すチップ80が有する設計完了状態の回路情報と、変更のあったモジュール(例えばモジュールB)の回路情報とを用いて、再処理することも可能である。このとき、通常設計が完了したときの設計情報が、「全モジュール固有化済み」を示していても、ECO設計処理においては、パラメータ指定されたECO設計の対象となるモジュールは、強制的に再処理される。   In this way, since the unique processing unit 4b reads the unique information at the time of normal design as the design information, the entire chip 80 shown in FIG. 7C uses the circuit before the unique design. Even if reprocessing is not performed, reprocessing may be performed using circuit information in the design completion state of the chip 80 shown in FIG. 7B and circuit information of the module (for example, module B) that has been changed. Is possible. At this time, even if the design information when the normal design is completed indicates that “all modules have been specified”, in the ECO design process, the parameter-designated ECO design target module is forcibly restarted. It is processed.

さらに、図1に示すテスト回路生成処理部4cと負荷調整処理部4dとの詳細を、それぞれ、図3と図4とを用いて詳述する。
図3は本発明の第1実施形態に係るテスト回路生成処理部4cのブロック図である。この図3に示すテスト回路生成処理部4cは、階層設計やECO設計に対応するため、付加的な機能を有し、回路を処理する処理部101bと、この処理部101bを制御する制御部101aとを有し、制御部101aの入力側に、テスト回路規則入力部(テスト回路ルール入力部)3dが設けられている。また、図3に示すもので、上述したものと同一の符号を有するものは同一のもの又は同様の機能を有するものなので、更なる説明を省略する。各部間の太線についても、図2に示すものと同様である。
Further, details of the test circuit generation processing unit 4c and the load adjustment processing unit 4d shown in FIG. 1 will be described in detail with reference to FIGS. 3 and 4, respectively.
FIG. 3 is a block diagram of the test circuit generation processing unit 4c according to the first embodiment of the present invention. The test circuit generation processing unit 4c shown in FIG. 3 has an additional function to cope with hierarchical design and ECO design, and a processing unit 101b that processes the circuit and a control unit 101a that controls the processing unit 101b. And a test circuit rule input unit (test circuit rule input unit) 3d is provided on the input side of the control unit 101a. Further, what is shown in FIG. 3 and has the same reference numerals as those described above has the same or similar functions, and therefore further explanation is omitted. The thick lines between the parts are the same as those shown in FIG.

ここで、テスト回路規則入力部3dは、どのようにテスト回路を生成するかについてのテスト回路情報をテスト回路生成処理部4cに入力するものである。このテスト回路情報とは、例えばスキャン(回路から信号を取り出したり、あるいは、その信号を設定すること)と呼ばれる手法や、ビスト(自動ラストのための回路を埋め込むこと)と呼ばれる手法等についての詳細な情報である。そして、設計者は、必要なテスト回路情報が書き込まれた複数のファイルの中から所望のファイルを選択し、これにより、設計装置1が起動したときに、その選択されたファイルが自動的に読み込まれるようになっている。   Here, the test circuit rule input unit 3d inputs test circuit information on how to generate a test circuit to the test circuit generation processing unit 4c. The test circuit information is, for example, details about a method called scan (takes out a signal from the circuit or sets the signal), a method called bist (embedding a circuit for automatic last), and the like. Information. Then, the designer selects a desired file from a plurality of files in which necessary test circuit information is written, and thus the selected file is automatically read when the design apparatus 1 is activated. It is supposed to be.

まず、処理部101bは、固有化処理部4bの処理部100bと異なり、回路解析部8dとテスト回路生成部9dと階層整合性復元部10dとを有する。
回路解析部8dは、設計情報データベース5に基づいて、ECO設計対象単位について、通常設計時に作成された通常設計情報及びテスト回路規則を用いて、通常設計時と同一のテスト回路を生成できる部分と、新たなテスト回路を生成すべき部分とのそれぞれを識別する識別データを抽出するものである。これにより、作業用メモリの使用量が最適化される。
First, unlike the processing unit 100b of the unique processing unit 4b, the processing unit 101b includes a circuit analysis unit 8d, a test circuit generation unit 9d, and a hierarchical consistency restoration unit 10d.
Based on the design information database 5, the circuit analysis unit 8d uses the normal design information and test circuit rules created during normal design for the ECO design target unit, and can generate the same test circuit as during normal design. The identification data for identifying each of the parts where a new test circuit is to be generated is extracted. Thereby, the usage amount of the working memory is optimized.

テスト回路生成部9dは、回路解析部8dにより抽出された識別データに基づき、ECO設計対象単位について、通常設計時と同一のテスト回路を生成できる部分について同一のテスト回路を生成し、新たなテスト回路を生成すべき部分についてテスト回路規則に従ったテスト回路を生成するものである。これにより、ECO設計におけるテスト回路の設計効率が大幅に向上する。   Based on the identification data extracted by the circuit analysis unit 8d, the test circuit generation unit 9d generates the same test circuit for the portion that can generate the same test circuit as that at the time of normal design for the ECO design target unit. A test circuit is generated in accordance with a test circuit rule for a portion where a circuit is to be generated. Thereby, the design efficiency of the test circuit in the ECO design is greatly improved.

階層整合性復元部10dは、設計情報データベース5に保持された設計情報に基づいて、下位階層にテスト信号入力用として追加した端子と上位階層が参照した階層における端子との間の端子不整合を解消するものであって、これにより、ECO設計における設計者の操作性が大幅に向上する。
また、この階層整合性復元部10dは、ECO設計に当たり、設計情報のうち通常設計時についての通常時設計情報とECO設計対象単位と上位階層における端子情報とを用いて、階層整合性を復元するようになっている。
Based on the design information stored in the design information database 5, the hierarchical consistency restoration unit 10d detects terminal mismatch between the terminal added for test signal input to the lower hierarchy and the terminal in the hierarchy referenced by the upper hierarchy. Thus, the operability of the designer in the ECO design is greatly improved.
Further, the hierarchical consistency restoration unit 10d restores hierarchical consistency by using normal-time design information for normal design, ECO design target unit, and terminal information in the upper hierarchy among the design information in ECO design. It is like that.

次に、制御部101aは、固有化処理部4bの制御部100aと異なり、回路解析制御部8cとテスト回路生成制御部9cと階層整合性復元制御部10cとを有する。ここで、回路解析制御部8cは回路解析部8dを制御するものでありテスト回路生成制御部9cはテスト回路生成部9dを制御するものであり、また、階層整合性復元制御部10cは階層整合性復元部10dを制御するものである。   Next, unlike the control unit 100a of the unique processing unit 4b, the control unit 101a includes a circuit analysis control unit 8c, a test circuit generation control unit 9c, and a hierarchical consistency restoration control unit 10c. Here, the circuit analysis control unit 8c controls the circuit analysis unit 8d, the test circuit generation control unit 9c controls the test circuit generation unit 9d, and the hierarchical consistency restoration control unit 10c performs hierarchical matching. It controls the property restoration unit 10d.

なお、制御部101aと処理部101bとは、それぞれ、例えばソフトウェアにより実現される。
そして、固有化処理部4b(図2参照)と同様に、制御のために必要な情報が、設計情報データベース5から、L3と付したルートを通り、制御部101aに入力され、また、設計対象のデータは、設計情報データベース5から、L4と付したルートを通り、処理部101bにて、データ処理される。
The control unit 101a and the processing unit 101b are each realized by software, for example.
As in the unique processing unit 4b (see FIG. 2), information necessary for control is input from the design information database 5 to the control unit 101a through the route labeled L3, Is processed by the processing unit 101b from the design information database 5 through the route labeled L4.

このように、制御データと、回路データとが2系統にてそれぞれ伝送するので、効率よく設計できるようになる。
次に、図9(a),(b)を用いてテスト回路生成処理部4cの階層設計を説明し、図10(a)〜(d)を用いてECO設計を説明する。
図9(a),(b)はいずれも本発明の第1実施形態に係る階層設計におけるテスト回路生成処理を説明するための図である。この図9(a)に示す回路モジュールC(モジュールC)は、2個の回路モジュール(内部の2個の四角形)を内包する。また、図9(b)に示す回路モジュールDは、モジュールCのほか他の回路モジュールを内包している。
In this way, control data and circuit data are transmitted in two systems, respectively, so that the design can be made efficiently.
Next, the hierarchical design of the test circuit generation processing unit 4c will be described with reference to FIGS. 9A and 9B, and the ECO design will be described with reference to FIGS.
9A and 9B are diagrams for explaining test circuit generation processing in the hierarchical design according to the first embodiment of the present invention. The circuit module C (module C) shown in FIG. 9A includes two circuit modules (two internal squares). In addition, the circuit module D shown in FIG. 9B includes other circuit modules in addition to the module C.

そして、テスト回路生成処理部4cは、図9(b)に示すモジュールCと他のモジュールとを接続するために端子名称を回路情報データベース2から読み出す。さらに詳述すると、処理対象判別部7a(図3参照)にて第3の単位Cが設計情報データベース5に書き込まれているか否かが判別される。そして、第3の単位Cの書き込み有りと判別された場合は第3の単位Cについて設計情報データベース5に保持された設計情報が読み出され、処理データ取得部7bにて必要な設計情報が取得され、回路解析部8dを介して、テスト回路生成部9dにてテスト回路が生成されるのである。   Then, the test circuit generation processing unit 4c reads the terminal name from the circuit information database 2 in order to connect the module C shown in FIG. 9B and another module. More specifically, it is determined whether or not the third unit C is written in the design information database 5 by the processing object determination unit 7a (see FIG. 3). When it is determined that the third unit C has been written, the design information held in the design information database 5 for the third unit C is read, and necessary design information is acquired by the processing data acquisition unit 7b. Then, the test circuit generation unit 9d generates a test circuit via the circuit analysis unit 8d.

換言すれば、階層設計において、第3の単位Cが処理され、次に第3の単位Cを内包している第4の単位Dを処理するに当たり、第3の単位Cが第4の単位Dにおいて参照されていても、設計情報データベース5に情報が格納されているか否かが自動判別され、格納されているときはその情報によって、第4の単位Dの回路が変更される。
次に、図10(a)〜(d)はいずれも本発明の第1実施形態に係るECO設計におけるテスト回路生成処理を説明するための図であって、テスト用のスキャンチェーンを例にして説明する。この図10(a)に示すチップ82は、回路モジュールG(モジュールG)を内包し、モジュールGは、複数のフリップフロップ(FF)を内包する。また、図10(b)に示す回路は、スキャン完成回路であって、モジュールG内の複数のフリップフロップ(FF)間がそれぞれ接続され、また、回路の端子情報が付与され、モジュールGと回路の端子とが接続されている。
In other words, in the hierarchical design, when the third unit C is processed and then the fourth unit D including the third unit C is processed, the third unit C is converted into the fourth unit D. Even if it is referred to, whether or not the information is stored in the design information database 5 is automatically determined, and when it is stored, the circuit of the fourth unit D is changed by the information.
Next, FIGS. 10A to 10D are diagrams for explaining the test circuit generation processing in the ECO design according to the first embodiment of the present invention, taking a test scan chain as an example. explain. The chip 82 shown in FIG. 10A includes a circuit module G (module G), and the module G includes a plurality of flip-flops (FF). The circuit shown in FIG. 10B is a scan completion circuit, and a plurality of flip-flops (FF) in the module G are connected to each other, and terminal information of the circuit is given to the module G and the circuit. Is connected to the terminal.

テスト回路生成処理において、ECO処理により回路変更した部分以外については、旧回路のテスト回路を復元する必要がある。このため、テスト回路生成処理部4cは、旧回路の設計で作成された設計情報データベース5を読み込み、同一端子の追加、同一論理ゲートの追加、同一のテスト用のスキャンチェーンの接続等によって旧回路と同等のテスト回路を復元する。そして、回路変更のあった箇所については新たにテスト回路が生成される。   In the test circuit generation process, it is necessary to restore the test circuit of the old circuit except for the part changed by the ECO process. Therefore, the test circuit generation processing unit 4c reads the design information database 5 created in the design of the old circuit, and adds the same terminal, the same logic gate, the connection of the same test scan chain, etc. Restore the equivalent test circuit. Then, a new test circuit is generated at a location where the circuit has been changed.

例えば、図10(c)に示す回路は、設計者がモジュールGを変更したものであり、モジュールG′となっている。このモジュールG′は、図10(a)のモジュールGと同じく、スキャン完成回路が存在しない状態である。
図10(d)に示すモジュールG′は、復元されたテスト回路であり、テスト回路生成処理部4cは、設計情報データベース5から履歴情報を読み出して、フリップフロップ間の接続やテスト端子名を認識し、旧回路と同等なテスト用のスキャンチェーンを生成するのである。
For example, the circuit shown in FIG. 10C is obtained by changing the module G by the designer, and becomes a module G ′. This module G ′ is in a state where the scan completion circuit does not exist, like the module G of FIG.
The module G ′ shown in FIG. 10D is a restored test circuit, and the test circuit generation processing unit 4 c reads the history information from the design information database 5 and recognizes the connection between the flip-flops and the test terminal name. Then, a test scan chain equivalent to the old circuit is generated.

このように、テスト回路生成処理において、追加した端子の情報、追加した論理ゲートの情報、テスト回路の接続情報が、それぞれ、設計情報として書き込まれる。
また、このように、上位階層の処理において、各回路モジュールは、いずれも、設計情報データベース5から下位階層のテスト回路情報を取得して、上位階層のテスト回路が生成される。
In this way, in the test circuit generation process, the added terminal information, the added logic gate information, and the test circuit connection information are written as design information.
Further, in this way, in the upper layer processing, each circuit module acquires the lower layer test circuit information from the design information database 5 to generate the upper layer test circuit.

さらに、このように、ECO設計において、旧回路と新回路とのそれぞれの回路を比較する必要がなく、また、回路の比較と差分解析とが不要となるので、複雑な処理が不要となり、さらに、設計者の情報入力が不要となるので、設計効率が大幅に向上する。
このようにして、旧回路を設計したときの設計情報が使用され、新回路の回路変更箇所以外を自動的に旧回路と同等に復元できる。
Further, in this way, in the ECO design, it is not necessary to compare the old circuit and the new circuit, and the comparison of the circuit and the difference analysis are not required, so that complicated processing is unnecessary. Since the designer does not need to input information, the design efficiency is greatly improved.
In this way, design information when the old circuit is designed is used, and the parts other than the circuit change portion of the new circuit can be automatically restored to the same level as the old circuit.

また、図3に示すテスト回路生成処理部4cは、固有化処理部4bと同様に、上位階層を処理するときに、内包している下位階層について、回路情報データベース2の代わりに、設計情報データベース5から情報を取得する。具体的には、テスト回路生成処理部4cは、下位階層を処理すべき単位として設計した処理結果等を取得し、処理された部分を自動的に判別する。   In addition, the test circuit generation processing unit 4c shown in FIG. 3 uses the design information database instead of the circuit information database 2 for the included lower layer when processing the upper layer, similarly to the unique processing unit 4b. 5 to obtain information. Specifically, the test circuit generation processing unit 4c acquires a processing result or the like designed as a unit for processing a lower hierarchy, and automatically determines the processed part.

このようにして、下位階層についての回路情報データベース2が不要となり、テスト回路生成処理のために使用する、作業用メモリの容量が大幅に節約できる。
次に、図4を用いて、負荷調整処理部4dについて説明する。
図4は本発明の第1実施形態に係る負荷調整処理部4dのブロック図である。この図4に示す負荷調整処理部4dは、回路を処理する処理部102bとこの処理部102bを制御する制御部102aとを有する。図4に示すもので、上述したものと同一の符号を有するものは、同一のもの又は同様の機能を有するものなので、重複した説明を省略する。また、これらのものは、いずれも、回路情報データベース2と設計情報データベース5とに接続されている。
In this way, the circuit information database 2 for the lower hierarchy is not required, and the capacity of the working memory used for the test circuit generation process can be greatly saved.
Next, the load adjustment processing unit 4d will be described with reference to FIG.
FIG. 4 is a block diagram of the load adjustment processing unit 4d according to the first embodiment of the present invention. The load adjustment processing unit 4d shown in FIG. 4 includes a processing unit 102b that processes a circuit and a control unit 102a that controls the processing unit 102b. 4 having the same reference numerals as those described above have the same or similar functions, and thus redundant description is omitted. These are all connected to the circuit information database 2 and the design information database 5.

処理部102bは、固有化処理部4bの処理部100bと異なり、端子負荷・駆動能力設定部8fと、負荷解析部9fと、回路調整部10fとを有する。また、制御部102aは、固有化処理部4bの制御部100aと異なり、端子負荷・駆動能力設定制御部8eと、負荷解析制御部9eと、回路調整制御部10eとを有する。
ここで、端子負荷・駆動能力設定部8fは、上位階層の回路から参照する下位階層端子のそれぞれについて、下位階層の負荷調整処理で得られた負荷情報及び駆動能力情報を付与するものである。この端子負荷・駆動能力設定部8fは、設計情報データベース5に保持された階層端子のみなし負荷容量値を設定する。
Unlike the processing unit 100b of the unique processing unit 4b, the processing unit 102b includes a terminal load / driving capability setting unit 8f, a load analysis unit 9f, and a circuit adjustment unit 10f. Unlike the control unit 100a of the unique processing unit 4b, the control unit 102a includes a terminal load / drive capability setting control unit 8e, a load analysis control unit 9e, and a circuit adjustment control unit 10e.
Here, the terminal load / drive capability setting unit 8f gives load information and drive capability information obtained by load adjustment processing in the lower layer to each of the lower layer terminals referenced from the upper layer circuit. The terminal load / driving capacity setting unit 8 f sets the hierarchical load capacity value of the hierarchical terminal stored in the design information database 5.

そして、負荷解析部9fは、論理ゲート(論理素子)が駆動可能な端子容量を解析して、駆動不能な端子を抽出するものである。具体的には、負荷解析部9fは、論理ゲートの駆動能力と、駆動される論理ゲートや処理済み階層における階層端子の負荷容量及び配線容量から計算される総負荷容量とを評価して駆動不能箇所を抽出するものである。ここで、処理済み階層における階層端子の負荷容量や駆動能力は、端子負荷・駆動能力設定部8fによって、設計情報データベース5中の情報を利用して設定される。   The load analyzing unit 9f analyzes a terminal capacity that can be driven by a logic gate (logic element), and extracts a terminal that cannot be driven. Specifically, the load analysis unit 9f cannot drive by evaluating the driving capacity of the logic gate and the total load capacity calculated from the load capacity and wiring capacity of the driven logic gate and the hierarchical terminal in the processed hierarchy. The part is extracted. Here, the load capacity and drive capability of the hierarchical terminal in the processed hierarchy are set by using the information in the design information database 5 by the terminal load / drive capability setting unit 8f.

さらに詳述すると、駆動される側が論理ゲートであるときは、その負荷容量値は、テクノロジライブラリ(図示省略)から取得される。また、駆動する配線の負荷容量は、配線長と分岐数とに基づいて計算される。そして、駆動する側が論理ゲートであるときは、その駆動能力値は、テクノロジライブラリから取得される。
また、回路調整部10fは、負荷解析部9fにて抽出された駆動不能な端子を調整するものである。具体的には、回路調整部10fは、負荷解析部9fにてエラーが抽出された論理ゲートについて、より大きい駆動能力を有する論理ゲートに置き換えたり、あるいは、ファンアウト数が多い部分について、バッファを回路に挿入して負荷を分散させるように調整する。これにより、回路における各端子がいずれも適切な容量に調整されるようになる。
More specifically, when the driven side is a logic gate, the load capacity value is obtained from a technology library (not shown). Also, the load capacity of the wiring to be driven is calculated based on the wiring length and the number of branches. When the driving side is a logic gate, the driving capability value is acquired from the technology library.
The circuit adjustment unit 10f adjusts the undriveable terminals extracted by the load analysis unit 9f. Specifically, the circuit adjustment unit 10f replaces the logic gate from which the error has been extracted by the load analysis unit 9f with a logic gate having a larger driving capability, or buffers the portion having a large fanout number. Adjust to distribute load by inserting into circuit. Thereby, each terminal in the circuit is adjusted to an appropriate capacity.

また、端子負荷・駆動能力設定制御部8e,負荷解析制御部9e,回路調整制御部10eは、それぞれ、端子負荷・駆動能力設定部8f,負荷解析部9f,回路調整部10fを制御するものである。
そして、固有化処理部4b(図2参照)と同様に、制御のために必要な情報が、設計情報データベース5から、L3と付したルートを通り、制御部102aに入力され、また、設計対象のデータは、設計情報データベース5から、L4と付したルートを通り、処理部102bにて、データ処理される。
The terminal load / drive capability setting control unit 8e, load analysis control unit 9e, and circuit adjustment control unit 10e control the terminal load / drive capability setting unit 8f, load analysis unit 9f, and circuit adjustment unit 10f, respectively. is there.
As in the unique processing unit 4b (see FIG. 2), information necessary for control is input from the design information database 5 through the route labeled L3 to the control unit 102a. Is processed by the processing unit 102b from the design information database 5 through the route labeled L4.

これにより、負荷調整において、分割された単位ごとに調整され、その単位の最上位階層の各端子に階層内部の論理ゲートのスペックから求めた負荷と駆動能力とを設定した、設計情報が作成される。そして、より上位の階層における負荷調整実行時には、設計情報データベース5から負荷と駆動能力の情報とを取得することによって、処理される。
次に、図11(a)〜(d)を用いて、負荷調整処理について説明する。
As a result, load information is adjusted for each divided unit, and design information is created by setting the load and drive capacity obtained from the specifications of the logic gate in the hierarchy to each terminal of the highest hierarchy of that unit. The Then, when load adjustment is executed in a higher hierarchy, processing is performed by obtaining the load and drive capability information from the design information database 5.
Next, the load adjustment process will be described with reference to FIGS.

図11(a)〜(d)はいずれも本発明の第1実施形態に係る階層設計における負荷調整処理を説明するための図であって、主として回路調整部10fにて処理されるものである。この図11(a)に示すチップ83は、モジュールA,B,C,Dを内包しており、モジュールA,B間に、論理ゲート(以下、ゲートと称することがある)LGが存在することもある。   FIGS. 11A to 11D are diagrams for explaining load adjustment processing in the hierarchical design according to the first embodiment of the present invention, and are mainly processed by the circuit adjustment unit 10f. . The chip 83 shown in FIG. 11A includes modules A, B, C, and D, and a logic gate (hereinafter sometimes referred to as a gate) LG exists between the modules A and B. There is also.

まず、モジュールAなどの負荷調整を行なうと、図11(b)に示すような論理ゲートで構成された回路が含まれる。この図11(b)に示すゲートG1は、ゲート群G2の4個の論理ゲートを駆動するので、駆動能力が不足し駆動不能となる可能性がある。ここで、駆動可能とするためには、ゲートG1を同一の論理でより駆動能力の大きな論理ゲートに置き換えるか、又は、図11(c)に示すように、バッファ66を挿入し、それぞれの論理ゲートが駆動する論理ゲートの数を減少させるのである。このような方法により、モジュールA〜Dのそれぞれの負荷調整を処理する。   First, when the load adjustment of the module A or the like is performed, a circuit composed of logic gates as shown in FIG. 11B is included. Since the gate G1 shown in FIG. 11B drives the four logic gates of the gate group G2, there is a possibility that the driving capability is insufficient and the driving becomes impossible. Here, in order to enable driving, the gate G1 is replaced with a logic gate having a larger driving capability with the same logic, or a buffer 66 is inserted as shown in FIG. The number of logic gates driven by the gate is reduced. The load adjustment of each of the modules A to D is processed by such a method.

また、モジュールAの負荷調整が処理されると、モジュール端子(階層端子とも称する)の入力端子に、その先にて駆動される論理ゲートの負荷容量値を代表してもたせることが可能であり、モジュール端子の出力端子に、その端子に信号を送信する論理ゲートの駆動能力を代表してもたせることができる。
このようにして、図11(d)に示すように、モジュールA〜Dのそれぞれについて、端子負荷・駆動能力情報が、設計情報データベース5にファイルとして、書き込まれる。
Further, when the load adjustment of the module A is processed, the input terminal of the module terminal (also referred to as a hierarchical terminal) can be represented by the load capacity value of the logic gate that is driven beyond that, The output terminal of a module terminal can be represented by the drive capability of a logic gate that transmits a signal to that terminal.
In this way, as shown in FIG. 11 (d), the terminal load / drive capability information is written as a file in the design information database 5 for each of the modules A to D.

これにより、階層設計において、モジュールA〜Dが、一旦、負荷調整完了した後に、チップレベルの負荷調整が実行され、モジュールA〜Dの駆動能力と負荷とに関する情報が利用される。
また、図4に示す負荷調整処理部4dは、固有化処理部4b及びテスト回路生成処理部4cと同様に、上位階層を処理するときに、内包している下位階層について、回路情報データベース2の代わりに、設計情報データベース5にアクセスして、下位階層を処理すべき単位として設計した処理結果等を取得し、処理された部分を自動的に判別する。
As a result, in the hierarchical design, after the modules A to D have once completed the load adjustment, the chip level load adjustment is executed, and information on the driving ability and the load of the modules A to D is used.
In addition, the load adjustment processing unit 4d shown in FIG. 4 is similar to the unique processing unit 4b and the test circuit generation processing unit 4c. Instead, the design information database 5 is accessed to obtain a processing result or the like designed as a unit for processing a lower hierarchy, and the processed portion is automatically determined.

このようにして、下位階層についての回路情報データベース2が不要となり、回路計算において、作業用メモリの容量が大幅に節約できる。
上述の構成により、図12を用いて回路データの流れについて説明し、また、図13及び図14を用いて階層設計について説明し、図15及び図16を用いてECO設計について詳述する。
In this way, the circuit information database 2 for the lower hierarchy is unnecessary, and the capacity of the working memory can be greatly saved in circuit calculation.
With the above configuration, the flow of circuit data will be described with reference to FIG. 12, the hierarchical design will be described with reference to FIGS. 13 and 14, and the ECO design will be described in detail with reference to FIGS.

図12は本発明の第1実施形態に係る回路データの流れを説明するための図である。この図12に示す回路モジュールイメージ42a(以下、モジュール42aと称する)は、回路情報データベース2に保持されたデータイメージであり、サブモジュールA,B(submodA,submodB)を内包する。また、サブモジュールAは、回路要素A1,A2を内包し、サブモジュールBは、回路要素B1と、配線D1,D2,D3とを内包する。   FIG. 12 is a diagram for explaining the flow of circuit data according to the first embodiment of the present invention. A circuit module image 42a (hereinafter referred to as a module 42a) shown in FIG. 12 is a data image held in the circuit information database 2, and includes submodules A and B (submod A, submod B). The submodule A includes circuit elements A1 and A2, and the submodule B includes circuit elements B1 and wirings D1, D2, and D3.

さらに、回路モジュールイメージ42b(以下、モジュール42bと称する)は、自動設計処理部3にて処理された後のデータイメージである。そして、モジュール42aのサブモジュールAはテスト回路生成処理により、回路要素A1,A2間が配線され、テスト端子A3,A4(SI,SOと付されたもの)が付与される。また、モジュール42aのサブモジュールBは負荷調整により、回路要素B2が配線D1〜D3に設けられる。   Furthermore, the circuit module image 42b (hereinafter referred to as module 42b) is a data image after being processed by the automatic design processing unit 3. The sub-module A of the module 42a is wired between the circuit elements A1 and A2 by the test circuit generation process, and is given test terminals A3 and A4 (labeled SI and SO). Further, in the sub-module B of the module 42a, the circuit element B2 is provided on the wirings D1 to D3 by load adjustment.

また、データイメージ41d,41eは、いずれも、設計情報データベース5に保持され、そして、テスト回路生成処理により発生したテスト端子の情報や、スキャンチェーンの情報が、モジュール42bのサブモジュールAの回路生成情報として保持される。さらに、負荷調整処理により発生した情報は、サブモジュールBの負荷容量情報及び駆動能力情報として保持される。   The data images 41d and 41e are both stored in the design information database 5, and the test terminal information generated by the test circuit generation processing and the scan chain information are generated by the circuit generation of the submodule A of the module 42b. Retained as information. Further, the information generated by the load adjustment process is held as the load capacity information and drive capability information of the submodule B.

これにより、モジュール42aを一度に処理するには、作業メモリが不足する場合においても、サブモジュールAの処理と、サブモジュールBの処理と、設計情報データベース5を利用したモジュール42aの処理とを順番に行なうことにより、少ない作業用メモリで処理できる。
図13は本発明の第1実施形態に係る半導体回路Aのデータイメージを示す図である。この図13に示す半導体回路Aは、所定階層におけるチップ(以下、チップAと称することがある)であり、回路モジュールB,D(以下、モジュールB,Dと称する)と、2個の回路モジュールC(以下、モジュールCと称する)とを内包している。さらに、これらのモジュールB,C,Dは、それぞれ、サブモジュールXを内包する。
Thus, in order to process the module 42a at a time, even when the working memory is insufficient, the processing of the submodule A, the processing of the submodule B, and the processing of the module 42a using the design information database 5 are sequentially performed. By doing so, processing can be performed with a small working memory.
FIG. 13 is a diagram showing a data image of the semiconductor circuit A according to the first embodiment of the present invention. A semiconductor circuit A shown in FIG. 13 is a chip (hereinafter sometimes referred to as chip A) in a predetermined hierarchy, and circuit modules B and D (hereinafter referred to as modules B and D) and two circuit modules. C (hereinafter referred to as module C). Further, these modules B, C, and D each include a sub module X.

そして、この半導体回路Aについて、モジュールB,C,D,X,Aの順に、HDL変換処理、固有化処理、テスト回路生成処理、負荷調整処理が実行される。
なお、以下の説明では、このモジュールは、単位(処理すべき単位又は処理された単位)という意味でも使用する。
図14は本発明の第1実施形態に係る階層設計を説明するためのフローチャートである。まず、ステップA1にて、HDLで記述された半導体回路(チップ)Aのデータが、回路情報データベース2に変換される。そして、このHDL変換によりモジュールB,C,Dがそれぞれ、回路情報データベース2に保持される。
Then, for this semiconductor circuit A, HDL conversion processing, unique processing, test circuit generation processing, and load adjustment processing are executed in the order of modules B, C, D, X, and A.
In the following description, this module is also used as a unit (unit to be processed or processed unit).
FIG. 14 is a flowchart for explaining hierarchical design according to the first embodiment of the present invention. First, in step A1, the data of the semiconductor circuit (chip) A described in HDL is converted into the circuit information database 2. Modules B, C, and D are held in the circuit information database 2 by the HDL conversion.

次に、モジュールBとモジュールBに属するモジュールの処理が、ステップA2にて行なわれる。すなわち、固有化処理され(ステップA2x)、テスト回路生成処理され(ステップA2y)、負荷調整処理される(ステップA2z)。また、これらの処理により変更された情報はそれぞれ設計情報データベース5に保持される。
続いて、モジュールCとモジュールCに属するモジュールの処理が、ステップA3にて行なわれる。すなわち、固有化処理され(ステップA3x)、テスト回路生成処理され(ステップA3y)、負荷調整処理され(ステップA3z)、そして、これらの処理により変更された情報はそれぞれ設計情報データベース5に保持される。
Next, module B and the module belonging to module B are processed in step A2. That is, the unique processing is performed (step A2x), the test circuit generation processing is performed (step A2y), and the load adjustment processing is performed (step A2z). Further, the information changed by these processes is held in the design information database 5 respectively.
Subsequently, the processing of module C and the module belonging to module C is performed in step A3. That is, the unique processing (step A3x), the test circuit generation processing (step A3y), the load adjustment processing (step A3z), and the information changed by these processing are held in the design information database 5, respectively. .

同様に、モジュールDとモジュールDに属するモジュールの処理が、ステップA4にて行なわれる。すなわち、固有化処理され(ステップA4x)、テスト回路生成処理され(ステップA4y)、負荷調整処理され(ステップA4z)、これらの処理により変更された情報はそれぞれ設計情報データベース5に保持される。
そして、ステップA5にて、チップレベル処理により作業用メモリの容量不足を生じる可能性がある階層が、既に処理済みか否かが判定され、処理済みでないときは、Nルートを通り、ステップA6にて未処理の階層が処理され、また、処理済みのときは、Yルートを通る。
Similarly, processing of module D and modules belonging to module D is performed in step A4. That is, the unique processing (step A4x), the test circuit generation processing (step A4y), the load adjustment processing (step A4z), and the information changed by these processing are held in the design information database 5, respectively.
Then, in step A5, it is determined whether or not a hierarchy that may cause a shortage of working memory capacity due to chip level processing has already been processed. If it has not been processed, the route passes through the N route to step A6. The unprocessed hierarchy is processed, and when it has been processed, the Y route is taken.

ここで、ステップA7において、チップAを処理する場合には内包しているモジュールB,C,Dの情報が既に設計情報データベース5に保持されているため、回路情報データベース2からチップAの情報が読み込まれ、設計情報データベース5から必要な情報を取得され、回路が変更される。さらに、既に処理されたモジュールに関する実体については参照されない。   Here, when processing the chip A in step A7, the information on the included modules B, C, and D is already held in the design information database 5, so that the information on the chip A is obtained from the circuit information database 2. It is read, necessary information is acquired from the design information database 5, and the circuit is changed. Furthermore, no reference is made to the entities relating to modules that have already been processed.

まず、チップAの未処理の部分について、固有化処理され(ステップA7x)、テスト回路生成処理され(ステップA7y)、負荷調整処理される(ステップA7z)。また、テスト回路生成処理及び負荷調整においては設計情報データベース5に保持されているモジュールB,C,Dの情報が参照されて、チップAの回路が変更される。ここで、実体の回路情報は参照されていない。続いて、ステップA8において、ゲートレベルとして完成されたチップAのゲートレベルのデータ(HDLデータなど)が出力され、以降、物理設計工程に進む。   First, an unprocessed portion of the chip A is subjected to a unique process (step A7x), a test circuit generation process (step A7y), and a load adjustment process (step A7z). In the test circuit generation process and load adjustment, the information of the modules B, C, and D held in the design information database 5 is referred to change the circuit of the chip A. Here, the actual circuit information is not referred to. Subsequently, in step A8, gate level data (HDL data or the like) of the completed chip A is output as the gate level, and the process proceeds to the physical design process.

このように、回路情報データベース2からチップAの情報を読み込むときに、設計情報データベース5から必要な情報だけが取得され、変更が不要な回路については情報が取得されないで、設計が行なわれる。
また、このようにして、処理されたモジュールが複数参照されている場合でも設計情報データベース5に保持された情報が使用されることにより、上位階層におけるモジュールの回路変更が可能となる。
As described above, when the information of the chip A is read from the circuit information database 2, only necessary information is acquired from the design information database 5, and design is performed without acquiring information for circuits that do not need to be changed.
Further, even when a plurality of processed modules are referred to in this way, the information held in the design information database 5 is used, so that the circuit of the module in the upper hierarchy can be changed.

続いて、ECO処理について説明する。
図15は本発明の第1実施形態に係る他の半導体回路(チップ)Aのデータイメージを示す図である。この図15に示すチップAは、回路モジュールB,C,D,E(以下、モジュールB,C,D,Eと称する)を内包する。ここで、モジュールCに含まれるサブモジュールY−0は、設計者が、一旦、設計を完成した後のものである。そして、このサブモジュールY−0は、設計者の設計変更により名称Y′を有するサブモジュールに置き換えられる。なお、この図15に示す名称A,B,C,Dは、いずれも図13,図14に示すそれらとは別のものである。
Next, the ECO process will be described.
FIG. 15 is a view showing a data image of another semiconductor circuit (chip) A according to the first embodiment of the present invention. The chip A shown in FIG. 15 includes circuit modules B, C, D, and E (hereinafter referred to as modules B, C, D, and E). Here, the submodule Y-0 included in the module C is a module after the designer has completed the design once. The submodule Y-0 is replaced with a submodule having the name Y ′ due to a design change by the designer. Note that the names A, B, C, and D shown in FIG. 15 are all different from those shown in FIGS.

前提として、設計の対象となるチップAの全体は、既に設計装置1を用いて設計されている。そして、設計者はECO処理の対象とするモジュールの回路情報を含む回路情報データベース2の他に、設計完成時において生成された設計情報データベース5を保持しているとする。
設計者は、回路の論理を変更しない場合は、設計装置1を用いて設計完了した回路を変更するのではなく、それ以前における回路を変更する。この回路は、設計者自身が仕様に基づき作成した回路である。そして、その変更された情報は、HDL変換により回路情報データベース2に再入力される。
As a premise, the whole chip A to be designed has already been designed using the design apparatus 1. Then, it is assumed that the designer holds the design information database 5 generated at the completion of the design in addition to the circuit information database 2 including the circuit information of the module to be subjected to ECO processing.
When the designer does not change the logic of the circuit, the designer does not change the circuit that has been designed by using the design apparatus 1 but changes the circuit before that. This circuit is a circuit created by a designer based on specifications. The changed information is re-input to the circuit information database 2 by HDL conversion.

そして、設計者は、変更したモジュールの名称を、設計装置1に対してパラメータとして入力する。設計装置1は、この名称から、設計情報データベース5内の階層情報を読み出して、回路情報データベース2内から必要な回路情報のみを選択して作業用メモリにロードする。
ここで、ECO設計の対象となるモジュールが、複数参照されているモジュールであり、かつ、固有化が必要な場合には、設計装置1は、設計情報データベース5の固有化情報を参照する。そして、その参照したモジュールが、それ以前の固有化時に存在していたモジュールである場合には、同一の名称が再度付与される。
Then, the designer inputs the changed module name as a parameter to the design apparatus 1. The design apparatus 1 reads out the hierarchical information in the design information database 5 from this name, selects only the necessary circuit information from the circuit information database 2 and loads it into the working memory.
Here, when a plurality of modules to be subjected to ECO design are modules that are referred to, and designation is necessary, the design apparatus 1 refers to designation information in the design information database 5. If the referenced module is a module that has existed at the time of previous uniqueization, the same name is assigned again.

一方、その参照したモジュールが、設計情報データベース5の固有化情報に存在しないモジュールであって新たに追加されたものである場合は、設計装置1は、現在参照している設計情報データベース5に保持された情報の範囲内において、他のモジュールと重複しない名称に変更する。
そして、設計者が前回の処理時にはなかった端子を追加したり又は逆に端子を削減した場合であって、ECO設計でないときは、設計装置1は、HDL記述違反としてエラーとする。一方、ECO設計であるときは、設計装置1は、設計情報データベース5を参照して一時的不整合を容認する。
On the other hand, if the referenced module is a module that does not exist in the unique information of the design information database 5 and is newly added, the design apparatus 1 holds it in the currently referred design information database 5. Change the name so that it does not overlap with other modules within the scope of the information.
If the designer adds a terminal that was not at the time of the previous process or reduces the number of terminals and does not design the ECO, the design apparatus 1 generates an error as an HDL description violation. On the other hand, when it is ECO design, the design apparatus 1 refers to the design information database 5 and accepts the temporary inconsistency.

さらに、設計装置1は、ECO設計の対象となったモジュールに含まれるものであっても、設計情報データベース5を参照し、前回の処理時に付加した回路と同一の回路を可能な限り、復元する。このとき、設計情報データベース5中の情報と、ECO設計対象モジュール中の回路との対応は、インスタンス名の一致などにより判断あれ、いずれも前回処理されたときと同一構成の付加回路に含まれるように処理される。   Furthermore, the design apparatus 1 refers to the design information database 5 and restores the same circuit as the circuit added at the previous processing as much as possible even if it is included in the module that is the target of ECO design. . At this time, the correspondence between the information in the design information database 5 and the circuit in the ECO design target module is determined by a match of instance names or the like, and both are included in the additional circuit having the same configuration as the previous process. To be processed.

次に、図16(a),(b)を用いてECO処理について説明する。図16(a),(b)は本発明の第1実施形態に係るECO処理を説明するためのフローチャートである。ここで、図16(a)は通常処理を表すものであり、図16(b)は本発明のECO処理を表す。
まず、図16(a)において、未完成の半導体回路AのHDLデータが、回路情報データベース2に変換され(ステップB1)、固有化処理され(ステップB2)、テスト回路生成処理され(ステップB3)、負荷調整処理され(ステップB4)、そして、ゲートレベルとして完成された半導体回路AのHDLデータが出力される(ステップB5)。
Next, the ECO process will be described with reference to FIGS. FIGS. 16A and 16B are flowcharts for explaining the ECO processing according to the first embodiment of the present invention. Here, FIG. 16A shows a normal process, and FIG. 16B shows an ECO process of the present invention.
First, in FIG. 16A, the HDL data of the unfinished semiconductor circuit A is converted into the circuit information database 2 (step B1), subjected to unique processing (step B2), and subjected to test circuit generation processing (step B3). Then, the load adjustment processing is performed (step B4), and the HDL data of the semiconductor circuit A completed as the gate level is output (step B5).

また、図16(b)において、一旦完成された半導体回路AのHDLデータと、回路変更されたサブモジュールYのHDLデータとが、それぞれ、回路情報データベース2に変換され(ステップC1)、ステップC2において、通常処理時の履歴に基づき固有化処理されて、新たなサブモジュールY′が得られ、この名称Y′が名称Y−0に変更される。さらに、階層構造の復元が確認され(ステップC3)、通常処理時の履歴に基づきテスト回路生成処理され(ステップC4)、接続関係の復元が確認され(ステップC5)、通常処理時の履歴に基づいて負荷調整処理され(ステップC6)、ECO処理が完了した半導体回路AのHDLデータが出力される(ステップC7)。   In FIG. 16B, the HDL data of the semiconductor circuit A once completed and the HDL data of the submodule Y whose circuit has been changed are converted into the circuit information database 2 (step C1), and step C2 In FIG. 5, the unique process is performed based on the history of the normal process to obtain a new submodule Y ′, and this name Y ′ is changed to the name Y-0. Further, the restoration of the hierarchical structure is confirmed (step C3), the test circuit generation process is performed based on the history at the time of normal processing (step C4), the restoration of the connection relation is confirmed (step C5), and the history at the time of normal processing is based. Then, the load adjustment processing is performed (step C6), and the HDL data of the semiconductor circuit A for which the ECO processing is completed is output (step C7).

このように、本発明の設計装置1は、大規模半導体回路の階層設計又はECO設計において、回路のすべてにわたって回路情報データベース2を参照せずに、各階層を処理したときや、又は、前回処理したときに自動的に抽出した設計情報データベース5を参照し、各モジュール間の関係を自動的に認識して処理するため、作業用メモリの使用量を最適にでき、設計者の負担を一括設計と同等にまで削減できる。   As described above, the design apparatus 1 according to the present invention performs the processing when each layer is processed without referring to the circuit information database 2 over the entire circuit in the hierarchical design or ECO design of a large-scale semiconductor circuit, or the previous processing. Since the design information database 5 automatically extracted is referenced and the relationship between modules is automatically recognized and processed, the amount of work memory used can be optimized and the designer's burden can be designed in a batch. Can be reduced to the same level.

また、このように、すべての工程が自動化されるため、複数の処理を連続的に実行することが可能になり、処理時間の削減、ひいては設計期間が短縮され、そして、固有化処理と、テスト回路生成処理と、負荷調整処理とのそれぞれについて設計効率が向上する。
このようにして、例えば端子の境界情報や端子等の設計情報が自動的に入力され、履歴情報から現在の処理における処理対象外の部分が自動的に判別され、また、その処理対象外の部分に含まれる設計情報が自動的に抽出されて、現在設計中の部分の処理に利用される。
In addition, since all the processes are automated in this way, it is possible to execute multiple processes continuously, reducing the processing time and consequently the design period, and the unique process and test. Design efficiency is improved for each of the circuit generation processing and the load adjustment processing.
In this way, for example, terminal boundary information and design information such as terminals are automatically input, and from the history information, a non-processing target part in the current processing is automatically determined, and the non-processing target part Is automatically extracted and used to process the part currently being designed.

従って、このようにして、階層設計が容易に実現でき、また、大規模回路の階層設計が非常に効率よくできる。
(B)本発明の第2実施形態の説明
第2実施形態は、回路設計におけるタイミング配分装置についてのものであり、この回路設計においては、PCB設計やLSI設計を含むタイミング配分について設計される。
Therefore, in this way, hierarchical design can be easily realized, and hierarchical design of large-scale circuits can be performed very efficiently.
(B) Description of Second Embodiment of the Invention The second embodiment relates to a timing distribution device in circuit design. In this circuit design, timing distribution including PCB design and LSI design is designed.

図17は本発明の第2実施形態に係る回路設計の工程を示す図である。まず、システム仕様が設計され(ステップP1)、ステップP2にて、システムアーキテクチャが検討され(ステップP2x)、PCB及びLSIのブロック分割が設計される(ステップP2y)。続いて、PCBのタイミング仕様が設計された後(ステップP3)、PCBがインプリメントされる(ステップP4)。一方、LSIについては、タイミング仕様が設計された後(ステップP5)、LSIがインプリメントされる(ステップP6)。   FIG. 17 is a diagram showing a circuit design process according to the second embodiment of the present invention. First, a system specification is designed (step P1), a system architecture is examined in step P2 (step P2x), and block division of PCB and LSI is designed (step P2y). Subsequently, after the PCB timing specifications are designed (step P3), the PCB is implemented (step P4). On the other hand, for the LSI, after the timing specification is designed (step P5), the LSI is implemented (step P6).

そして、PCBのタイミング仕様の設計と、LSIのタイミング仕様の設計とは、それぞれ、相互に密接にデータを共有するようにして進めることができるようになっている。本発明のタイミング配分装置は、ステップP2〜ステップP3又はステップP5の間の工程にて用いられるのが好ましく、また、分散設計に用いるのが好ましく、さらに、PCB又はLSIのインプリメントに重大な影響を与えるものである。なお、ステップP3とステップP5との間は、独立して設計されているが、設計中のデータを相互に参照することができるようになっている。   The design of the PCB timing specifications and the design of the LSI timing specifications can be carried out by sharing data closely with each other. The timing distribution device of the present invention is preferably used in a process between Step P2 to Step P3 or Step P5, and is preferably used for distributed design, and has a significant influence on the implementation of PCB or LSI. Give. The steps P3 and P5 are designed independently, but the data under design can be referred to each other.

図18は本発明の第2実施形態に係るブロック分割設計の工程を示す図であり、この図18に示すステップ名のうち、図17に示すものと同一のものは、同一のステップを表す。ここで、ステップP2yにて、PCBとLSIとにブロック分割され、ブロック情報が生成され、ステップP7において、タイミング配分(PCB,LSI)について設計される。具体的には、ブロック情報,制約定義情報,HDLソースコード(以下、ソースコードと略称することがある)及び後述するライブラリデータに基づいて、タイミング配分が決定されるようになっている。一方、ソースコードに設計内容が反映され(ステップP8)、タイミング付き論理シミュレーションが可能となるとともに(ステップP9)、PCB又はLSIがインプリメントされる(ステップP4,P6)。   FIG. 18 is a diagram showing the process of block division design according to the second embodiment of the present invention. Of the step names shown in FIG. 18, the same steps as those shown in FIG. 17 represent the same steps. Here, in step P2y, the block is divided into PCB and LSI, and block information is generated. In step P7, timing distribution (PCB, LSI) is designed. Specifically, the timing distribution is determined based on block information, constraint definition information, HDL source code (hereinafter sometimes abbreviated as source code) and library data described later. On the other hand, design contents are reflected in the source code (step P8), logic simulation with timing becomes possible (step P9), and PCB or LSI is implemented (steps P4 and P6).

図19は本発明の第2実施形態に係る回路設計装置の構成図である。この図19に示す回路設計装置1a(以下、設計装置1aと称することがある)は、回路を設計するものであって、タイミング配分装置51と、配分レポート作成部50dとをそなえて構成されている。また、図19に示す設計装置1aは、レイアウトCAD装置52a,52cと、波形解析CAD装置52bと接続されている。ここで、レイアウトCAD装置52a,52cは、それぞれ、LSI用/PCB用のレイアウトに関して設計するものであり、波形解析CAD装置52bは、回路の波形を解析するものであり、LSI及びPCBの双方を設計できる。   FIG. 19 is a configuration diagram of a circuit design apparatus according to the second embodiment of the present invention. The circuit design device 1a shown in FIG. 19 (hereinafter sometimes referred to as the design device 1a) designs a circuit, and includes a timing distribution device 51 and a distribution report creation unit 50d. Yes. 19 is connected to layout CAD devices 52a and 52c and a waveform analysis CAD device 52b. Here, the layout CAD devices 52a and 52c are designed for the layout for LSI / PCB, respectively, and the waveform analysis CAD device 52b is for analyzing the waveform of the circuit. Both the LSI and the PCB are analyzed. Can design.

図20は本発明の第2実施形態に係るタイミング配分装置51のブロック図である。この図20に示すタイミング配分装置51(以下、本装置51と称することがある)は、階層設計において、タイミング配分値を決定するものであって、階層間連携マネージャ53と、タイミング配分作成部54a〜54eと、タイミング情報データベース(以下、TDB[Timing Data Base]と称することがある)57a〜57eとをそなえて構成されている。   FIG. 20 is a block diagram of a timing distribution device 51 according to the second embodiment of the present invention. The timing distribution device 51 (hereinafter also referred to as the present device 51) shown in FIG. 20 determines a timing distribution value in hierarchical design, and includes an inter-layer cooperation manager 53 and a timing distribution creation unit 54a. To 54e and timing information databases (hereinafter also referred to as TDB [Timing Data Base]) 57a to 57e.

このタイミング配分値(以下、配分値と称することがある)とは、回路ブロック間の配線における第1の配分値と回路ブロック単位の内部における第2の配分値とを意味する。第1の配分値は、ブロック間配線遅延値,配線長,配線負荷容量について配分したものであり、第2の配分値は、トランジスタ製造プロセスによるばらつきや温度も考慮したゲート遅延値,処理が完了するまでの時間を示す遅延サイクル数,ブロック内部の配線における遅延値について配分したものである。   This timing distribution value (hereinafter sometimes referred to as a distribution value) means a first distribution value in wiring between circuit blocks and a second distribution value inside a circuit block unit. The first distribution value is allocated to the inter-block wiring delay value, wiring length, and wiring load capacity, and the second distribution value is a gate delay value that takes into account variations and temperatures due to the transistor manufacturing process, and the processing is completed. The number of delay cycles indicating the time until completion and the delay value in the wiring inside the block are allocated.

また、階層間連携マネージャ53は、タイミング配分作成部54a〜54eのそれぞれに接続され、タイミング配分作成部54a〜54eのそれぞれの間とタイミング配分値に関する修正情報を送受信するものである。また、タイミング配分作成部54a〜54eは、それぞれ、複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリストを有するTDB57a〜57eから回路の機能に関するブロック情報を入力され、回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうるものである。   The inter-tier cooperation manager 53 is connected to each of the timing distribution creation units 54a to 54e, and transmits / receives correction information related to the timing distribution value between each of the timing distribution creation units 54a to 54e. The timing distribution creating units 54a to 54e are provided corresponding to the plurality of design hierarchies, respectively, and block information related to the function of the circuit is input from the TDBs 57a to 57e having a net list related to the wiring form, and the delay of the circuit A timing distribution value obtained by allocating a delay value generated by an element can be output.

さらに、TDB57a〜57eは、それぞれ、ネットリスト表現によるデータベースであって、階層エンティティのうちの制約定義情報と、仮レイアウト及び実レイアウト後のタイミング情報とを配線形態を意識した状態で保持している。なお、配線形態を意識した状態での保持内容については、図33(a)〜(c)を用いて後述する。
ここで、階層エンティティとは、各階層ごとの情報を管理するものであり、図21,図22を用いて後述する。また、ネットリストとは、回路における部品、配線接続情報、位置情報等をテキストファイルのリスト形式で出力したものであり、このネットリストが読み込まれることにより、設計者が部品を1つづつ入力せずに、全部品を回路上に配置できるようにするためのものである。
Further, each of the TDBs 57a to 57e is a database based on a netlist expression, and holds constraint definition information among hierarchical entities, timing information after provisional layout and actual layout in a state in which the wiring form is conscious. . Note that the content held in consideration of the wiring form will be described later with reference to FIGS.
Here, the hierarchy entity manages information for each hierarchy and will be described later with reference to FIGS. The netlist is the output of parts in the circuit, wiring connection information, position information, etc. in a text file list format. By reading this netlist, the designer can input parts one by one. In other words, all the components can be arranged on the circuit.

さらに、制約定義情報とは、タイミングに関する制約情報であり、例えば一つの端子から他の端子に信号を伝送するのに、何nm(ナノメートル)以下の制限がある等の情報を意味するほか、回路設計において、部品配置が禁止されている箇所や、部品の高さ等を表す情報を意味する。そして、タイミング情報とは、フロアプラン(配置位置情報)が生成された後のものであり、その内容は配線形態を意識したネットリスト表現で保持されている。この配線形態を意識したネットリスト表現とは、ネットリストの名称付与に関するものであって、その詳細については、図33(a)〜(c)を用いて後述する。   Furthermore, the constraint definition information is constraint information related to timing, for example, means that there is a limit of how many nm (nanometer) or less to transmit a signal from one terminal to another terminal, In the circuit design, this means information indicating a location where component placement is prohibited, the height of the component, and the like. The timing information is information after the floor plan (arrangement position information) is generated, and the contents are held in a netlist expression that is conscious of the wiring form. The netlist expression conscious of the wiring form relates to the name assignment of the netlist, and details thereof will be described later with reference to FIGS. 33 (a) to 33 (c).

次に、図20に示す配分マネージャ56a〜56eと、階層間連携マネージャ53との間における配分値の送受信について説明する。フロアプラン部55aは論理/制約情報保持部64aに接続され、回路素子の配置及び回路素子間の配線に関するフロアプランに基づきタイミングを配分して仮配線するものである。そして、配分マネージャ56aは論理/制約情報保持部64aとタイミング情報保持部65aとに接続され、ネットリストに基づいて遅延値を出力するものである。配分マネージャ56b〜56eは、それぞれ、論理/制約情報保持部64b〜64eとタイミング情報保持部65b〜65eとに接続され、ネットリストに基づいて遅延値を出力するものである。なお、論理/制約情報保持部64a,タイミング情報保持部65aの詳細については、図24を用いて後述する。   Next, transmission / reception of distribution values between the distribution managers 56a to 56e shown in FIG. 20 and the inter-tier cooperation manager 53 will be described. The floor plan unit 55a is connected to the logic / constraint information holding unit 64a, and distributes the timing based on the floor plan regarding the arrangement of circuit elements and the wiring between the circuit elements, and performs temporary wiring. The distribution manager 56a is connected to the logic / constraint information holding unit 64a and the timing information holding unit 65a, and outputs a delay value based on the net list. The distribution managers 56b to 56e are connected to the logic / constraint information holding units 64b to 64e and the timing information holding units 65b to 65e, respectively, and output delay values based on the netlist. Details of the logic / constraint information holding unit 64a and the timing information holding unit 65a will be described later with reference to FIG.

図21は本発明の第2実施形態に係る階層間の配分値の送受信を説明するための図である。この図21に示す階層間連携マネージャ53は、各階層エンティティを担当する各配分マネージャ56a〜56eとの間において、データを送受信し、必要な情報を得るようになっている。
また、階層間連携マネージャ53は、TDB57a〜57eのうちの一つが送信したタイミング配分仕様変更要求を受信し、タイミング配分仕様変更が影響を与えうる他のTDB57a〜57eを抽出し、他のTDB57a〜57eに対してタイミング配分値の変更の可否を問い合わせるようになっており、他のTDB57a〜57eからタイミング配分値の変更可能を受信すると、所望のTDB57a〜57eに対して変更可能を出力するようになっており、さらに、タイミング配分値が変更されると、その変更された階層よりも上位の階層エンティティが更新されるようになっている。
FIG. 21 is a diagram for explaining transmission / reception of distribution values between layers according to the second embodiment of the present invention. The inter-layer cooperation manager 53 shown in FIG. 21 is configured to transmit / receive data to / from each distribution manager 56a to 56e in charge of each hierarchical entity to obtain necessary information.
Further, the inter-tier cooperation manager 53 receives the timing distribution specification change request transmitted by one of the TDBs 57a to 57e, extracts other TDBs 57a to 57e that can be affected by the timing distribution specification change, and extracts the other TDBs 57a to 57e. 57e is inquired of whether or not the timing distribution value can be changed. When the timing distribution value can be changed from other TDBs 57a to 57e, the changeable value is output to the desired TDBs 57a to 57e. Further, when the timing distribution value is changed, the hierarchical entity higher than the changed hierarchy is updated.

すなわち、設計者によるタイミング仕様変更が影響を与える他階層が自動的に抽出され、その変更の可否が階層間連携マネージャ53及び配分マネージャ56a〜56eを介して、その階層のTDB57a〜57eに問い合わせられるのである。また、その変更可否の結果が、タイミング配分値の変更が可能であるものであれば、設計者に対して、変更通知が発行されるようになっている。これにより、タイミング仕様の変更が迅速に通知される。   That is, other hierarchies that are affected by changes in timing specifications by the designer are automatically extracted, and whether or not the changes can be made is inquired to the TDBs 57a to 57e of the hierarchies via the inter-layer cooperation manager 53 and the distribution managers 56a to 56e. It is. In addition, if the result of whether or not the change is possible is that the timing distribution value can be changed, a change notification is issued to the designer. Thereby, the change of timing specification is notified quickly.

そして、タイミング配分値が変更された場合、階層間連携マネージャ53によって、タイミング変更された階層エンティティのTDB57a〜57eから、必要な部分のみがその階層エンティティよりも上位の階層エンディティに対して、自動的に、タイミング配分値として取り込まれる。
なお、図21に示す配分マネージャ56dは配分マネージャ56aと同様のものであり、TDB57dもTDB57aと同様なものであり、更なる説明を省略する。
When the timing distribution value is changed, the inter-layer cooperation manager 53 automatically selects only necessary portions from the TDBs 57a to 57e of the hierarchical entity whose timing has been changed for the hierarchical entity higher than the hierarchical entity. Are taken in as timing distribution values.
The distribution manager 56d shown in FIG. 21 is the same as the distribution manager 56a, and the TDB 57d is also the same as the TDB 57a, and further description is omitted.

図22は本発明の第2実施形態に係る上位階層と下位階層との間の配分値の送受信を説明するための図である。この図22に示すもので、上述したものと同一の符号を有するものは同一のもの又は同様の機能を有するものであるので、更なる説明を省略する。
これにより、最上位階層は、下位階層からの配分値を得られるので、システム全体での静的なタイミング解析(STA)が可能となる。このSTAとは、テストベンチをせずにタイミング検証することを意味する。
FIG. 22 is a diagram for explaining transmission / reception of distribution values between an upper layer and a lower layer according to the second embodiment of the present invention. 22 that have the same reference numerals as those described above have the same or similar functions, and will not be described further.
As a result, since the uppermost layer can obtain distribution values from the lower layer, static timing analysis (STA) in the entire system is possible. This STA means that the timing is verified without a test bench.

また、階層間連携マネージャ53は、TDB57a〜57eに対して、タイミング情報データが不足している回路ブロックを抽出して入力するとともに、その不足している回路ブロックを設計者に対して通知するようになっており、これにより、設計者の作業効率が向上する。
次に、この図21に示す各配分マネージャ56a〜56eを模式化したものを図23に示す。
Further, the inter-layer cooperation manager 53 extracts and inputs circuit blocks for which timing information data is insufficient to the TDBs 57a to 57e, and notifies the designer of the insufficient circuit blocks. As a result, the work efficiency of the designer is improved.
Next, FIG. 23 schematically shows the distribution managers 56a to 56e shown in FIG.

図23は本発明の第2実施形態に係る階層エンティティを説明するための図である。この図23に示す円のそれぞれが、各設計階層ごとに設けられた階層エンティティを表し、これらは木構造になっている。この階層エンティティは、具体的には各設計階層において必要な設計情報を一まとめにしたものである。ここで、設計情報とは、TDB,ネットリスト,ブロック情報,制約定義情報,レイアウト情報,仮/実レイアウト後,タイミング情報等を意味する。   FIG. 23 is a view for explaining a hierarchical entity according to the second embodiment of the present invention. Each circle shown in FIG. 23 represents a hierarchical entity provided for each design hierarchy, and has a tree structure. Specifically, this hierarchical entity is a collection of design information necessary for each design hierarchy. Here, the design information means TDB, net list, block information, constraint definition information, layout information, provisional / actual layout, timing information, and the like.

従って、階層設計において、各階層ごとに階層エンティティと階層エンティティのデータを処理するプログラムとが、一つの設計階層として分割されている。換言すれば、オブジェクト指向(エージェント指向)を用いることにより、システム全体のタイミングが配分されるのである。
これにより、複数の設計階層が、相互に、階層間連携マネージャ53を介して通信できるようになっている。
Therefore, in the hierarchical design, the hierarchical entity and the program for processing the hierarchical entity data are divided into one design hierarchy for each hierarchy. In other words, the timing of the entire system is distributed by using object orientation (agent orientation).
Thereby, a plurality of design layers can communicate with each other via the inter-layer cooperation manager 53.

図23に示す階層エンティティ90a(PCBブロック)は、階層エンティティ90b(LSI2ブロック)に対して、見積もり要求やバックアノテーション要求を送信し、また、階層エンティティ90bからの見積もり返答や実遅延値返答を受信する。さらに、階層エンティティ90bは、階層エンティティ90c(HLB2−2ブロック)及び階層エンティティ90d(HLB2−1ブロック)との間で、同様な要求又は返答を送受信する。また、これら以外の各階層エンティティについても、同様である。そして、見積もり要求/バックアノテーション要求,見積もり返答/実遅延値返答は、それぞれ、階層間連携マネージャ53と配分マネージャ56aというプログラムによって実行される。なお、HLB(Hierarchy Layout Block:階層レイアウトブロック)とは、LSI中のサブブロックを表す。   The hierarchy entity 90a (PCB block) shown in FIG. 23 transmits an estimate request and a back annotation request to the hierarchy entity 90b (LSI2 block), and receives an estimate response and an actual delay value response from the hierarchy entity 90b. To do. Further, the hierarchical entity 90b transmits and receives similar requests or responses between the hierarchical entity 90c (HLB2-2 block) and the hierarchical entity 90d (HLB2-1 block). The same applies to each hierarchical entity other than these. The estimate request / back annotation request and the estimate response / actual delay value response are executed by programs called the inter-tier cooperation manager 53 and the distribution manager 56a, respectively. An HLB (Hierarchy Layout Block) represents a sub-block in the LSI.

従って、本装置51は、タイミング配分作成部54a〜54eが、複数の設計階層のそれぞれに対応して設けられ設計情報を有する階層エンティティと設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、階層間連携マネージャ53が、エージェントとしてのタイミング配分作成部54a〜54eに接続され複数の設計階層のそれぞれとタイミング配分値に関する情報を送受信するマネージャとして構成されたことになる。   Therefore, the apparatus 51 is configured as an agent in which the timing distribution creation units 54a to 54e are provided corresponding to each of a plurality of design hierarchies and have hierarchical entities having design information and program data for processing the design information. At the same time, the inter-layer cooperation manager 53 is configured as a manager that is connected to the timing distribution creating units 54a to 54e as agents and transmits / receives information regarding timing distribution values to / from each of a plurality of design layers.

また、階層間連携マネージャ53(図21,図22等参照)は、配分マネージャ56a〜56eの組み合わせを変更できるようになっている。従って、階層間連携マネージャ53と、配分マネージャ56a〜56eのそれぞれとに対応する階層エンティティは、設計対象に応じて自由にかつ動的に変更できる。このため、図23に示す木構造のうちの特定の円にぶら下がっている(接続されている)複数の円をまとめて、他の複数の円を付け替えることもできる。   Further, the inter-tier cooperation manager 53 (see FIG. 21, FIG. 22, etc.) can change the combination of the distribution managers 56a to 56e. Accordingly, the hierarchical entities corresponding to the inter-layer cooperation manager 53 and the distribution managers 56a to 56e can be freely and dynamically changed according to the design object. Therefore, a plurality of circles hanging (connected) in a specific circle in the tree structure shown in FIG. 23 can be collected and replaced with a plurality of other circles.

従って、階層エンティティが、全体から部分へ、さらに、部分から他の部分への順に階層間が密接に連携して動作できる。このため、設計者は、設計対象の回路ブロックを下位ブロックヘ分割するときに、試行検討で分割したタイミング仕様についての良否判断が容易となる。加えて、分割が上位から下位に行なわれるので、設計者はタイミング配分値を、概略値から詳細値ヘと得ることができ、アーキテクチャ設計に当たり、タイミングがクリティカルな部分の予測又は検討が可能になる。   Accordingly, hierarchical entities can operate in close cooperation between layers in order from the whole to a part, and further from a part to another part. For this reason, when a designer divides a circuit block to be designed into lower blocks, it becomes easy to determine whether or not the timing specifications are divided by trial examination. In addition, since the division is performed from the upper part to the lower part, the designer can obtain the timing distribution value from the approximate value to the detailed value, and can predict or examine the timing critical part in the architecture design. .

また、そのタイミングがクリティカルな部分については、対象となる部分のみが、実レイアウトを実行されるので、先行検証が可能となる。さらに、設計者は他の回路ブロックにおける配分値を参照しながら設計できるため、誤った配分を防止できる。また、要求される時間(制約)と到着する時間(遅延値)との差は、スラックマージンと呼ばれ、この値の正負により検討する。すなわち、スラックが負の場合は遅延違反となり、正の場合はタイミング要求の範囲内となる。インプリメント時にタイミング仕様にて指定されたその要求を満足できない場合(遅延違反)は、他の部分に配分されている正のスラックを消費することにより、負のスラックの改善を図ることができる。   In addition, with respect to a portion whose timing is critical, only the target portion is subjected to the actual layout, so that it is possible to perform prior verification. Furthermore, since the designer can design with reference to the distribution values in other circuit blocks, erroneous distribution can be prevented. Also, the difference between the required time (constraint) and the arrival time (delay value) is called slack margin, and is examined by the sign of this value. That is, if slack is negative, it is a violation of delay, and if it is positive, it is within the timing requirement range. When the requirement specified in the timing specification at the time of implementation cannot be satisfied (delay violation), negative slack can be improved by consuming positive slack allocated to other portions.

なお、タイミング配分作成部54b〜54eも、タイミング配分作成部54aと同一の構成であるので、重複した説明を省略する。次に、図20に示すタイミング配分作成部54aについて、図24を用いて説明する。
図24は本発明の第2実施形態に係るタイミング配分作成部54aのブロック図である。この図24に示すタイミング配分作成部54aは、フロアプラン部55a,配分マネージャ56a,論理/制約情報保持部64a,タイミング情報保持部65a,HDLアノテータ58e,HDLコンパイラ58f,配分レポート作成部50d,波形解析用情報作成部58h,波形解析用情報保持部58iをそなえて構成されている。以下、論理/制約情報保持部64a,タイミング情報保持部65a,波形解析用情報保持部58iを、それぞれ、保持部64a,65a,58iと称することがある。また、この図24に示すもので、上述したものと同一の符号を有するものは同一のもの又は同様の機能を有するものであるので、重複した説明を省略する。なお、〔1〕,〔2〕(図中、それぞれ丸付き数字1,2で示す)と付されたものは図36を用いて説明する。
Note that the timing distribution creating units 54b to 54e have the same configuration as the timing distribution creating unit 54a, and thus redundant description is omitted. Next, the timing distribution creating unit 54a shown in FIG. 20 will be described with reference to FIG.
FIG. 24 is a block diagram of the timing distribution creation unit 54a according to the second embodiment of the present invention. The timing distribution creating unit 54a shown in FIG. 24 includes a floor plan unit 55a, a distribution manager 56a, a logic / constraint information holding unit 64a, a timing information holding unit 65a, an HDL annotator 58e, an HDL compiler 58f, an distribution report creating unit 50d, a waveform. An analysis information creating unit 58h and a waveform analysis information holding unit 58i are provided. Hereinafter, the logic / constraint information holding unit 64a, the timing information holding unit 65a, and the waveform analysis information holding unit 58i may be referred to as holding units 64a, 65a, and 58i, respectively. Also, what is shown in FIG. 24 and has the same reference numeral as that described above has the same or similar function, and therefore redundant description is omitted. Note that items marked with [1] and [2] (represented by circled numbers 1 and 2 in the figure, respectively) will be described with reference to FIG.

なお、以下の説明において、図21,図22,図24,図36〜図38に示す丸付き数字は、それぞれ、〔〕付き数字を用いて説明する。
ここで、保持部64aは、設計言語のソースコードに関するネットリスト,ブロック情報及び配線に関する制約情報を有する論理/制約情報を保持するものであって、制約条件保持部58b,構造部分ネットリスト保持部58c(以下、制約条件保持部58b,構造部分ネットリスト保持部58cを、それぞれ、保持部58b,58cと称することがある)を有する。保持部58bは、制約定義情報を入力され、その情報に基づき、部品等が占める面積やタイミング仕様を制約条件として保持するものであり、保持部58cはブロック情報を入力され、ネットリストを保持するものである。
In the following description, the numbers with circles shown in FIG. 21, FIG. 22, FIG. 24, and FIG.
Here, the holding unit 64a holds a logic / constraint information having constraint information related to a net list, block information, and wiring related to a design language source code. 58c (hereinafter, the constraint condition holding unit 58b and the structural partial netlist holding unit 58c may be referred to as holding units 58b and 58c, respectively). The holding unit 58b receives the constraint definition information, and holds the area occupied by the component and the timing specification as a constraint based on the information. The holding unit 58c receives the block information and holds the net list. Is.

また、フロアプラン部55aは保持部64aに接続され、回路素子の配置及び回路素子間の配線に関するフロアプランに基づきタイミングを配分して仮配線を行なうものである。そして、タイミング情報保持部(タイミング情報)65aは、フロアプラン部55aに接続され、上記のブロック情報やネットリスト、タイミング情報を保持するものである。
ここで、2以上の配分値を用いた計算においては、配分値の最小値及び最大値が自動的に生成され、そして、遅延値が計算されるようになっている。この精度差は、四捨五入により元の数値になる範囲に逆丸め込み演算することにより得られる。ここで、一例として、遅延値を、計算対象とする2.227ns(ナノ秒)に有効数字桁数を合わせるために、有効数字2桁の1.2nsから4桁の範囲を有する数値(1.145〜1.244ns)に変換する手法について説明する。
The floor plan unit 55a is connected to the holding unit 64a, and performs temporary wiring by allocating timing based on the floor plan regarding the arrangement of circuit elements and wiring between circuit elements. The timing information holding unit (timing information) 65a is connected to the floor plan unit 55a and holds the block information, the net list, and the timing information.
Here, in the calculation using two or more distribution values, the minimum value and the maximum value of the distribution values are automatically generated, and the delay value is calculated. This accuracy difference is obtained by performing a reverse rounding operation to the range where the original numerical value is obtained by rounding off. Here, as an example, in order to match the number of significant digits to 2.227 ns (nanoseconds), which is a calculation target of the delay value, a numerical value (1. 145 to 1.244 ns) will be described.

従って、他階層が自動的に抽出され、その変更の可否が、各階層のTDB57a〜57eに問い合わせられ、その変更可否の結果が、タイミング配分値の変更可能であれば、設計者に対して、変更通知が発行される。これにより、柔軟な設計変更が可能となる。
タイミングライブラリにおいて、遅延値が1.2nsと保持されているとする。そのため、設計者は、丸め込みのため、誤差範囲を0.09ns(0.099999…ns)と設定する。そして、この誤差範囲0.09nsを有し、かつ、小数第2位における四捨五入により遅延値1.2nsになる範囲を求めると、最小値1.15ns〜最大値1.24nsとなる。換言すれば、この間の遅延値を小数第2位において四捨五入することにより、1.2nsが得られるようになっている。
Therefore, other hierarchies are automatically extracted, and whether or not the change is possible is inquired to the TDBs 57a to 57e of each hierarchy. A change notification is issued. Thereby, a flexible design change becomes possible.
Assume that the delay value is held at 1.2 ns in the timing library. Therefore, the designer sets the error range to 0.09 ns (0.099999... Ns) for rounding. When a range having the error range of 0.09 ns and a delay value of 1.2 ns is obtained by rounding off to the second decimal place, the minimum value is 1.15 ns and the maximum value is 1.24 ns. In other words, 1.2 ns can be obtained by rounding the delay value during this period to the second decimal place.

次に、これらの最小値1.15ns,最大値1.24nsのそれぞれについて、最小値と最大値とを設計者が計算し、1.15nsについては、最小値1.145ns〜最大値1.154nsの範囲を得て、また、1.24nsについては、最小値1.235ns〜最大値1.244nsの範囲を得る。そして、得られた範囲に基づいて、最小値1.145ns〜最大値1.244nsの範囲が得られるのである。   Next, the designer calculates a minimum value and a maximum value for each of these minimum value 1.15 ns and maximum value 1.24 ns, and for 1.15 ns, the minimum value 1.145 ns to the maximum value 1.154 ns. Further, for 1.24 ns, the range from the minimum value 1.235 ns to the maximum value 1.244 ns is obtained. And based on the obtained range, the range of the minimum value 1.145 ns to the maximum value 1.244 ns is obtained.

従って、有効数字2桁が4桁に拡張され、2桁の遅延値(1.2ns)が4桁の遅延値(1.145〜1.244ns)を得られるので、他の数値と同一の有効数字桁数の遅延値を生成することができる。
また、他のタイミングライブラリにおいて、遅延値が有効数字4桁の場合(計算対象の2.237ns)は、最小値と最大値との双方が2.237nsとなる。
Therefore, 2 significant digits are expanded to 4 digits, and a 2-digit delay value (1.2 ns) can be obtained as a 4-digit delay value (1.145 to 1.244 ns). A delay value with a number of digits can be generated.
In another timing library, when the delay value is 4 significant digits (calculation target 2.237 ns), both the minimum value and the maximum value are 2.237 ns.

このように、配分値の精度が、タイミングライブラリに保持されているデータに基づき、異なる精度を有するデータ間において、自動的に決定される。このため、高速部品と低速部品とが接続された場合でも、これらの部品に生じる精度差によらずに、計算が可能である。
また、精度の異なる複数のタイミングライブラリを用いることが可能となる。さらに、誤差を含め、最小値/最大値表現によりスラックを把握しやすくなる。
As described above, the accuracy of the distribution value is automatically determined between data having different accuracy based on the data held in the timing library. For this reason, even when a high-speed component and a low-speed component are connected, calculation is possible regardless of the difference in accuracy that occurs in these components.
It is also possible to use a plurality of timing libraries with different accuracy. Furthermore, it becomes easy to grasp slack by expressing the minimum value / maximum value including an error.

すなわち、配分マネージャ56aは、マージンが減少する方向に、配分値を変更できるか否かに関する可否情報を有し、各配分値のうち、クリティカルなパスを抽出できるようになっており、また、改善可能な部分を抽出できるようになっている。これにより、回路の配分修正が可能となり、設計者は修正部分を容易に知ることができる。
HDLアノテータ58eは、タイミング配分値に起因する情報をソースコードに書き込むものであり、タイミング情報保持部65aから所望のデータを読み込み、ソースコードに必要なデータを書き込むようになっている。また、HDLアノテータ58eは、ソースコードに、配線形態に関するネットリストを書き込むようにもなっている。すなわち、信号代入に必要な時間の記述について、HDLアノテータ58eにより配分された値が、ソースコードにバックアノテーションされ、遅延値が、設定又は変更されるのである。また、このバックアノテーションをすると、配線形態を意識したネットリスト表現についても、ソースコードに、コメント文として、書き込まれる。
That is, the distribution manager 56a has availability information regarding whether or not the distribution value can be changed in the direction in which the margin decreases, so that a critical path can be extracted from each distribution value. Possible parts can be extracted. As a result, the distribution of the circuit can be corrected, and the designer can easily know the corrected part.
The HDL annotator 58e writes information resulting from the timing distribution value in the source code, reads desired data from the timing information holding unit 65a, and writes necessary data in the source code. The HDL annotator 58e is also configured to write a net list relating to the wiring form in the source code. That is, for the description of the time required for signal substitution, the value distributed by the HDL annotator 58e is back-annotated in the source code, and the delay value is set or changed. In addition, when this back annotation is performed, a netlist expression conscious of the wiring form is also written as a comment sentence in the source code.

これにより、設計者と本装置51との間のユーザインターフェースが、より密接になる。
HDLコンパイラ58fは、ソースコードとパラメータとを入力され、そのデータを構造部分ネットリスト保持部58cに出力するものである。
さらに、波形解析用情報作成部58hは、LSIの階層のI/Oバッファ情報(入出力バッファ情報)からPCBの波形解析用の情報を生成するものである。従って、設計者は波形が簡易に解析できる。
Thereby, the user interface between a designer and this apparatus 51 becomes closer.
The HDL compiler 58f receives source code and parameters and outputs the data to the structure partial netlist holding unit 58c.
Further, the waveform analysis information creation unit 58h generates information for PCB waveform analysis from I / O buffer information (input / output buffer information) of the LSI layer. Therefore, the designer can easily analyze the waveform.

そして、波形解析用情報保持部58iは、波形解析用情報作成部58hと波形解析CAD装置52bとに接続され、波形解析用情報作成部58hにより書き込まれるタイミング配分値のほか、各LSIブロックについてのデータを保持しており、各PCBブロックは、いずれも、波形解析に必要なネットリストについてのデータを保持している。従って、波形解析用のライブラリとして機能している。また、この波形解析用情報保持部58iは、波形解析CAD装置52bと接続され、この波形解析用情報保持部58iがそれらのデータを参照できるようになっている。   The waveform analysis information holding unit 58i is connected to the waveform analysis information creation unit 58h and the waveform analysis CAD device 52b, and in addition to the timing distribution value written by the waveform analysis information creation unit 58h, Each PCB block holds data about a netlist necessary for waveform analysis. Therefore, it functions as a library for waveform analysis. The waveform analysis information holding unit 58i is connected to the waveform analysis CAD device 52b, and the waveform analysis information holding unit 58i can refer to the data.

図25は本発明の第2実施形態に係るフロアプラン部55aのブロック図であり、この図25に示すフロアプラン部55aは、配置処理部59f,物理テクノロジ情報保持部59c,実配線・仮配線実行部60,配線情報保持部(配線情報)59d,変換部59eをそなえて構成されている。
配置処理部59fは保持部64aに接続され、属性情報としての配分値を制約情報からのスラックに基づき改善と修正とが可能な部分を提示するとともに、遅延要素情報に起因する配置情報を保持するものであって、属性情報としての配分値を制約情報からのスラックに基づき改善と修正とが可能な部分を提示する配置支援部59aと、遅延要素情報に起因する配置情報を保持する配置情報保持部59bとを有する。
FIG. 25 is a block diagram of a floor plan unit 55a according to the second embodiment of the present invention. The floor plan unit 55a shown in FIG. 25 includes an arrangement processing unit 59f, a physical technology information holding unit 59c, actual wiring / provisional wiring. An execution unit 60, a wiring information holding unit (wiring information) 59d, and a conversion unit 59e are provided.
The placement processing unit 59f is connected to the holding unit 64a, presents a portion where the distribution value as attribute information can be improved and corrected based on slack from the constraint information, and holds the placement information resulting from the delay element information. An arrangement support unit 59a that presents a portion that can be improved and modified based on slack from the constraint information, and an arrangement information holding that holds arrangement information caused by delay element information Part 59b.

実配線・仮配線実行部60は配置処理部59fに接続され、実配線への連携と仮配線とを行なうとともに配線情報を出力するものであって、マンハッタン長仮配線部60a,斜めマンハッタン長仮配線部60b,実配線連携部60c,60d,抽出部60e,名称付与部60fをそなえて構成されている。ここで、実配線とは配線層を考慮し、配線を3次元で配線し他の配線との衝突や配線幅を考慮したものであって、処理時間が長い配線手法である。仮配線とは配線を2次元で配線しかつ配線間ショートを考慮しない配線手法である。   The actual wiring / provisional wiring execution unit 60 is connected to the placement processing unit 59f, performs cooperation with the actual wiring and temporary wiring, and outputs wiring information. The Manhattan length temporary wiring unit 60a, the diagonal Manhattan length temporary A wiring unit 60b, actual wiring cooperation units 60c and 60d, an extraction unit 60e, and a name assigning unit 60f are provided. Here, the actual wiring is a wiring method in which the wiring layer is considered, the wiring is wired in three dimensions, the collision with other wiring and the wiring width are considered, and the processing time is long. Temporary wiring is a wiring technique in which wiring is wired in two dimensions and does not take into account a short circuit between wirings.

また、実配線・仮配線実行部60が、マンハッタン長仮配線と斜めマンハッタン長仮配線と実配線とに基づいて仮配線するようになっている。これにより、配線混雑度が密な場所においても精度が向上する。
そして、実配線・仮配線実行部60は、選択された階層について遅延値及び負荷容量を、物理テクノロジ情報保持部59cから読み出し、単位配線長当たりの遅延時間を変化させて配分するようにもなっている。従って、タイミング仕様の変更時に、再計算を即座に行なえるようになる。
The actual wiring / temporary wiring execution unit 60 performs temporary wiring based on the Manhattan length temporary wiring, the oblique Manhattan length temporary wiring, and the actual wiring. This improves the accuracy even in places where the wiring congestion is high.
Then, the actual wiring / provisional wiring execution unit 60 reads the delay value and the load capacity for the selected hierarchy from the physical technology information holding unit 59c, and distributes the delay value per unit wiring length by changing the delay time. ing. Therefore, when the timing specification is changed, recalculation can be performed immediately.

上記のマンハッタン長仮配線部60aは配置支援部59aの配置結果に基づき、PCBとLSIとの双方についてマンハッタン長仮配線する。従って、配線作業の効率が向上する。
斜めマンハッタン長仮配線部60b(以下、仮配線部60bと称することがある)は配置支援部59aの配置結果に基づきPCBの縁に対して斜めに配線する斜め配線を用いて仮配線するものであり、また、PCBに用いられる配線手法である。従って、やはり、配線作業の効率が向上する。
The Manhattan length temporary wiring unit 60a performs the Manhattan length temporary wiring for both the PCB and the LSI based on the placement result of the placement support unit 59a. Therefore, the efficiency of wiring work is improved.
The oblique Manhattan length temporary wiring section 60b (hereinafter, sometimes referred to as the temporary wiring section 60b) performs temporary wiring using diagonal wiring that is obliquely wired with respect to the edge of the PCB based on the placement result of the placement support section 59a. Yes, it is a wiring technique used for PCB. Therefore, the efficiency of wiring work is also improved.

図26は本発明の第2実施形態に係る斜めマンハッタン長仮配線を説明するための図であり、Pと付されたものはピンを表し、これらのピンP間が配線されている。この配線アルゴリズムは、次の(3−1)〜(3−3)に示すようになる。
(3−1)仮配線部60bは、予め設定した斜め配線率に基づき、斜め配線成分を生成する。
FIG. 26 is a view for explaining the oblique Manhattan length temporary wiring according to the second embodiment of the present invention, where P is a pin, and the pin P is wired. This wiring algorithm is as shown in the following (3-1) to (3-3).
(3-1) The temporary wiring unit 60b generates a diagonal wiring component based on a preset diagonal wiring rate.

(3−2)仮配線部60bは、マンハッタン配線における角(かど)の部分について、総配線長のうち斜め配線率分に相当する配線長の部分を45度配線する。
(3−3)負のスラック(余剰時間)を有するパスであれば、仮配線部60bは、斜め配線率を上げて再配線する。ここで、斜め配線部分の総配線長は、図26に示すように、直交配線部分の相当する部分の配線長のルート2分の1である。
(3-2) The provisional wiring section 60b wires the portion of the wiring length corresponding to the diagonal wiring ratio of the total wiring length by 45 degrees with respect to the corner portion in the Manhattan wiring.
(3-3) If the path has negative slack (surplus time), the temporary wiring unit 60b performs rewiring by increasing the diagonal wiring rate. Here, as shown in FIG. 26, the total wiring length of the diagonal wiring portion is a route half of the wiring length of the corresponding portion of the orthogonal wiring portion.

さらに、実配線・仮配線実行部60は、仮配線により得られたタイミング配分値について計算されたマージンと配線密度を表す配線混雑度とに基づいて実配線するようになっている。これにより、配線混雑度に応じて仮配線又は実配線が自動的に切り替えられるため、トレードオフを有効活用でき、設計者の手間を削減できる。
加えて、抽出部60eは、配線混雑度を抽出するものである。従って、実配線・仮配線実行部60が、配線禁止の領域と配線混雑度とに基づいて、仮配線及び実配線をするようになっている。この配線混雑度は、2種類のアルゴリズムを用いて、自動的に抽出されるようになっている。
Further, the actual wiring / provisional wiring execution unit 60 performs actual wiring based on the margin calculated for the timing distribution value obtained by the temporary wiring and the wiring congestion level indicating the wiring density. Thereby, since temporary wiring or real wiring is automatically switched according to wiring congestion degree, a trade-off can be utilized effectively and a designer's effort can be reduced.
In addition, the extraction unit 60e extracts the wiring congestion level. Therefore, the actual wiring / temporary wiring execution unit 60 performs temporary wiring and actual wiring based on the wiring prohibition area and the wiring congestion degree. This wiring congestion degree is automatically extracted using two types of algorithms.

図27,図28はいずれも本発明の第2実施形態に係る配線混雑度を抽出するためのアルゴリズムを説明するための図であり、回路ブロックB1,B2が配置され、これらのブロック間が、多数の線(Lと付された円に含まれる線分)によって、接続されている。
まず、第1のアルゴリズムは、簡易アルゴリズムと呼ばれ、次の(4−1),(4−2)に示すようなものである。
27 and 28 are diagrams for explaining an algorithm for extracting the degree of wiring congestion according to the second embodiment of the present invention, where circuit blocks B1 and B2 are arranged, and between these blocks, They are connected by a large number of lines (lines included in a circle labeled L).
First, the first algorithm is called a simple algorithm and is as shown in the following (4-1) and (4-2).

(4−1)各回路ブロックの端子と端子との間に線を引く。
(4−2)図27に示すS1と付した単位面積当たりの線数をカウントし、その値を配線混雑度とする。
第2のアルゴリズムは、マンハッタン長を用いたアルゴリズムであり、次の(5−1),(5−2)に示すようになる。
(4-1) A line is drawn between the terminals of each circuit block.
(4-2) Count the number of lines per unit area labeled S1 shown in FIG. 27, and use that value as the wiring congestion level.
The second algorithm is an algorithm using the Manhattan length, and is as shown in the following (5-1) and (5-2).

(5−1)図28に示す直角的な配線のように、マクロな回路ブロックB1,B2や配線禁止領域等を避けて、グリッド線に沿って配線する。
(5−2)図28に示すS2と付した単位面積当たりの配線数をカウントし、その値を配線混雑度とする。
さらに、実配線連携部60c,60dは協働して、LSIとPCBとについて配線するものであり、このうち実配線連携部60cはLSI用であり、実配線連携部60dはPCB用である。そして、実配線連携部60cは、レイアウトCAD装置52aと接続されて、データを送受信でき、また、実配線連携部60dは、レイアウトCAD装置52cと接続されて、データを送受信できるようになっている。
(5-1) As in the case of right-angled wiring shown in FIG. 28, wiring is performed along the grid lines while avoiding the macro circuit blocks B1 and B2 and the wiring prohibited area.
(5-2) The number of wirings per unit area marked with S2 shown in FIG. 28 is counted, and the value is used as the wiring congestion degree.
Further, the actual wiring cooperation units 60c and 60d cooperate to wire the LSI and the PCB. Of these, the actual wiring cooperation unit 60c is for the LSI, and the actual wiring cooperation unit 60d is for the PCB. The actual wiring link unit 60c is connected to the layout CAD device 52a to transmit / receive data, and the actual wiring link unit 60d is connected to the layout CAD device 52c to transmit / receive data. .

従って、仮配線と設計対象となる回路ブロックに依存した詳細な実配線とを混在させて配線でき、タイミングの配分値を抽出できる。
加えて、実配線・仮配線実行部60は、実配線のみ行なえる他の計算機を援用する設計装置と連動させるべく、実配線にて不足する情報に関する解析用の情報を出力するようになっている。
Therefore, the temporary wiring and the detailed actual wiring depending on the circuit block to be designed can be mixed and wired, and the timing distribution value can be extracted.
In addition, the actual wiring / provisional wiring execution unit 60 outputs information for analysis related to information lacking in actual wiring so as to be linked with a design apparatus that supports other computers capable of performing only actual wiring. Yes.

これにより、本装置51が実配線する際に、不足する情報が設計者に通知され、設計者がその情報に基づき解析に必要な情報を作成して、その情報を実配線専用のレイアウトCAD装置52a,52cに送信して配線できるようになる。
また、実配線・仮配線実行部60は、長い計算時間を要する実配線と計算時間が短い仮配線とを併用して配線し、かつ、タイミング配分値を抽出するようになっている。
As a result, when the device 51 performs actual wiring, the designer is notified of insufficient information, the designer creates information necessary for analysis based on the information, and the information is used as a layout CAD device dedicated to actual wiring. 52a and 52c can be transmitted and wired.
In addition, the actual wiring / provisional wiring execution unit 60 performs wiring by using a real wiring that requires a long calculation time and a temporary wiring that has a short calculation time, and extracts a timing distribution value.

これにより、設計者は、まず、仮配線によりタイミング仕様を検討し、その検討にて得られた結果に基づいてタイミング配分を変更して実配線できる。
さらに、図25において、フロアプラン部55aは、回路ブロックの規模(大きさ)又は形状を実配線及び仮配線している間に変更できるようになっている。
図29は本発明の第2実施形態に係る配置領域の拡大を模式的に示す図である。この図29に示す回路ブロックI20の配置領域が拡大されて、回路ブロックI21が得られ、I20中には入らなかったD,E及びFの配置が、I21においては、可能となった。逆に、大き過ぎる配置領域を縮小することも可能になっている。従って、柔軟な配置設計が可能となる。
As a result, the designer first examines the timing specifications by provisional wiring, and can change the timing distribution based on the result obtained by the examination and perform actual wiring.
Furthermore, in FIG. 25, the floor plan unit 55a can change the scale (size) or shape of the circuit block while performing actual wiring and temporary wiring.
FIG. 29 is a diagram schematically showing the enlargement of the arrangement region according to the second embodiment of the present invention. The arrangement area of the circuit block I20 shown in FIG. 29 is expanded to obtain a circuit block I21. D, E, and F that did not enter I20 can be arranged in I21. On the other hand, it is possible to reduce an arrangement region that is too large. Therefore, flexible layout design is possible.

加えて、図25において、フロアプラン部55aは、回路ブロック中の配線幅を、実配線及び仮配線している間に変更できるようになっている。この配線幅が小さいと配線容量が小さくなり、大きいと配線容量が大きくなる。従って、この配線幅を変更できるので、回路を柔軟に設計できる。
そして、配線情報保持部59dは実配線・仮配線実行部60に接続され、配線情報を保持するものである。変換部59eは配線情報保持部59dと物理テクノロジ情報保持部59cとに接続され、配線長及び負荷容量に基づいて配線情報を遅延値に変換して出力するものである。また、物理テクノロジ情報保持部59cは、単位長当たりの遅延値,単位長当たりの負荷容量とを、相互に関連づけて保持するものである。これらの値(ライブラリ)は、配線幅及び配線層ごとに用意されており、それらが、PCBのテクノロジ(PCBテクノロジ)やLSIのテクノロジ(LSIテクノロジ)ごとに用意され、保持されている。そして、この物理テクノロジ情報を用いて、配線長から遅延値が算出されるようになっている。
In addition, in FIG. 25, the floor plan unit 55a can change the wiring width in the circuit block while performing actual wiring and temporary wiring. When this wiring width is small, the wiring capacity is small, and when it is large, the wiring capacity is large. Therefore, since the wiring width can be changed, the circuit can be designed flexibly.
The wiring information holding unit 59d is connected to the actual wiring / provisional wiring execution unit 60 and holds wiring information. The conversion unit 59e is connected to the wiring information holding unit 59d and the physical technology information holding unit 59c, and converts the wiring information into a delay value based on the wiring length and the load capacity and outputs the result. The physical technology information holding unit 59c holds a delay value per unit length and a load capacity per unit length in association with each other. These values (libraries) are prepared for each wiring width and wiring layer, and are prepared and held for each PCB technology (PCB technology) and LSI technology (LSI technology). A delay value is calculated from the wiring length using this physical technology information.

従って、変換部59eにて、物理配線長に基づき物理テクノロジ情報保持部59cからその単位長当たりの遅延値が読み出され、配線長と遅延値とが変換される。また、変換部59eにて、負荷容量に基づき、その単位容量による遅延値が読み出され、負荷容量と遅延値とが変換される。これにより、容易に配線長から遅延値が算出される。
さらに、実配線・仮配線実行部60(図25参照)は、選択された階層について物理テクノロジを変更可能となっており、遅延値及び負荷容量を、物理テクノロジ情報保持部59cから読み出し、単位配線長当たりの遅延時間を、選択した物理テクノロジに合わせて自動的に設定して配分するようになっている。すなわち、回路ブロックの物理テクノロジを変更可能なため、タイミング制約を満たすための物理テクノロジを検索することができる。
Accordingly, the conversion unit 59e reads the delay value per unit length from the physical technology information holding unit 59c based on the physical wiring length, and converts the wiring length and the delay value. In addition, the conversion unit 59e reads the delay value based on the unit capacity based on the load capacity, and converts the load capacity and the delay value. Thereby, the delay value is easily calculated from the wiring length.
Furthermore, the actual wiring / provisional wiring execution unit 60 (see FIG. 25) can change the physical technology for the selected hierarchy, reads the delay value and the load capacity from the physical technology information holding unit 59c, and performs unit wiring. The delay time per long is automatically set and distributed according to the selected physical technology. That is, since the physical technology of the circuit block can be changed, a physical technology that satisfies the timing constraint can be searched.

また、さらに、実配線・仮配線実行部60は、制約条件として使用されたクロック周波数に基づき到達しなければならない時間内(1周期分)に到達可能の可否を判定し、到達不可と判定すると複数の回路ブロック間のネットリストに対してバッファ及びフリップフロップの挿入を指示するようになっている。これにより、仮想ピンまで到達不可能な場合にのみ、バッファ等が挿入されるので、制約条件を効果的に満たすことができる。   Furthermore, when the actual wiring / provisional wiring execution unit 60 determines whether or not it can be reached within the time (one period) that must be reached based on the clock frequency used as the constraint condition, and determines that it cannot be reached. Insertion of buffers and flip-flops is instructed to a net list between a plurality of circuit blocks. Thereby, since the buffer or the like is inserted only when the virtual pin cannot be reached, the constraint condition can be satisfied effectively.

図30は本発明の第2実施形態に係るLSI内部のタイミング配分を説明するための図である。この図30に示すチップ61は、回路モジュール(モジュール)61a〜61eを有し、その外周部又は内部には、端子(外周部については四角形のもの)を有する。また、各モジュール61a〜61eは、それぞれ、モジュールの端部に仮想ピン(円形で表示されたもの)を設けている。この仮想ピンは、他のモジュールに設けられた仮想ピンと接続され、例えばクロック(CLK)等が共有するようになっている。   FIG. 30 is a view for explaining timing distribution inside the LSI according to the second embodiment of the present invention. The chip 61 shown in FIG. 30 includes circuit modules (modules) 61a to 61e, and terminals (outer peripheral parts are rectangular) on the outer periphery or inside thereof. Each of the modules 61a to 61e is provided with a virtual pin (displayed in a circle) at the end of the module. This virtual pin is connected to a virtual pin provided in another module, and is shared by, for example, a clock (CLK).

そして、実配線・仮配線実行部60は、回路ブロックに含まれる端子(仮想ピン)を制約情報に基づいて配置するようになっている。すなわち、仮想ピンの位置については、負のスラックとなるものから優先的にモジュール端部の所定位置に設けられる。そして、その位置において、マンハッタン長で配線したときのスラックが計算され、負のスラックが発生しなければその位置に決定する。この図30に示す他のモジュール61b〜61eについても、モジュール61aと同様である。なお、PCBの設計においては、斜めマンハッタン長も含まれる。従って、配置が簡易になる。   Then, the actual wiring / provisional wiring execution unit 60 arranges terminals (virtual pins) included in the circuit block based on the constraint information. That is, the position of the virtual pin is preferentially provided at a predetermined position on the module end from the negative slack. Then, at that position, the slack when wiring with the Manhattan length is calculated, and if no negative slack is generated, the position is determined. The other modules 61b to 61e shown in FIG. 30 are the same as the module 61a. In the PCB design, the oblique Manhattan length is also included. Therefore, the arrangement is simplified.

さらに、モジュール61bの仮想ピンQは、クリティカルネット61fと接続されており、また、クリティカルネット61fには、フリップフロップ61gが接続されている。これにより、クリティカルネット61fが負のスラックを有し、タイミング条件を満たせない場合は、そのタイミング条件を満たすように、フリップフロップ,バッファ又はインバータが挿入される。   Further, the virtual pin Q of the module 61b is connected to the critical net 61f, and the flip-flop 61g is connected to the critical net 61f. Thereby, when the critical net 61f has negative slack and the timing condition cannot be satisfied, a flip-flop, a buffer, or an inverter is inserted so as to satisfy the timing condition.

このフリップフロップを挿入することにより、仮想ピンQから出力される信号は、フリップフロップにて、1サイクル遅延するが、仮想ピンQ〜フリップフロップ61g,フリップフロップ61g〜モジュール61cの端子Aとの間においては、セットアップ条件が満たされる。
従って、配分値と、与えられたクロック周波数とに基づき、1クロックで回路ブロックのピン,仮想ピンから、他の回路ブロックのピン,仮想ピンまで到達できるか否かが計算され、到達不可能な場合には、回路ブロック間のネットリストに、フリップフロップ等が挿入される。また、この例におけるチップ61は、9mm(ミリメートル)長だけ配線すると、6nsの遅延値となるものであり、従って、動作周波数が166MHz(メガヘルツ)以下であれば動作する。
By inserting this flip-flop, the signal output from the virtual pin Q is delayed by one cycle in the flip-flop, but between the virtual pin Q and the flip-flop 61g, the flip-flop 61g and the terminal A of the module 61c. The setup condition is satisfied.
Therefore, based on the distribution value and the given clock frequency, it is calculated whether or not the circuit block pins and virtual pins can reach from other circuit block pins and virtual pins in one clock, and cannot be reached. In some cases, flip-flops and the like are inserted into the net list between circuit blocks. In addition, the chip 61 in this example has a delay value of 6 ns when wired for a length of 9 mm (millimeters), and thus operates if the operating frequency is 166 MHz (megahertz) or less.

このように、RTL(Register Transfer Level)設計前に、タイミングを調整できる。次に、タイミング配分値の設定について、説明する。
図24において、タイミング配分作成部54aは、予め設定された他のタイミング仕様とフロアプラン部55aにて配分されたタイミングとに基づいて、タイミング配分値を出力するようになっている。そして、配分レポート作成部50dは、タイミング仕様とフロアプラン部55aにて配分されたタイミング条件とを参照して、フロアプランとタイミング仕様との妥当性を配分レポートとして出力する。この配分レポートとは、配分値を記載したテキストファイルであって、設計者の参照等に使用される。
As described above, the timing can be adjusted before the RTL (Register Transfer Level) design. Next, the setting of the timing distribution value will be described.
In FIG. 24, the timing distribution creation unit 54a outputs a timing distribution value based on other preset timing specifications and the timing distributed by the floor plan unit 55a. Then, the distribution report creation unit 50d refers to the timing specification and the timing condition distributed by the floor plan unit 55a, and outputs the validity of the floor plan and the timing specification as a distribution report. This distribution report is a text file in which distribution values are described, and is used for reference by a designer.

さらに、ソースコードとタイミング配分作成部54aとの間における機能について、説明する。
タイミング配分作成部54aは、HDLコンパイラ58fによりソースコードを用いて、論理設計時又はレイアウト検討からバックアノテートされたタイミング配分値を読み込むようになっている。具体的には、ネットリストのほか、シミュレーションするのに必要なタイミング遅延値が含まれるソースコードが読み出される。従って、設計者は容易にシミュレーションを行なえる。
Furthermore, functions between the source code and the timing distribution creation unit 54a will be described.
The timing distribution creating unit 54a reads the timing distribution value back-annotated at the time of logic design or layout consideration using the source code by the HDL compiler 58f. Specifically, in addition to the net list, source code including a timing delay value necessary for simulation is read. Therefore, the designer can easily perform the simulation.

続いて、図24に示す配分マネージャ56aは、保持部64aとタイミング情報保持部65aとTDB57aと階層間連携マネージャ53とに接続され、ネットリストに基づいて遅延値を出力するものである。
図31は本発明の第2実施形態に係る配分マネージャ56aのブロック図であり、この図31に示す配分マネージャ56b〜56eもこの配分マネージャ56aと同一の構造である。この配分マネージャ56aは、配分エディタ63a,データベース参照登録部63e,自階層TDB出力・他階層TDB自動反映部(自階層TDB出力・他階層TDB反映部;以下、TDB出力反映部と称することがある。)63d,調停制御部63fをそなえて構成されている。この配分エディタ63aは、保持部64aに接続され、タイミング配分するものであり、データベース参照登録部63eは、配分エディタ63aと保持部64aとタイミング情報保持部65aとに接続され、ネットリストと配分値とを入出力するものであって、TDB登録部63b,TDB参照部63cを有する。TDB登録部63bは、TDB57aにデータを書き込むものであり、TDB参照部63cは、TDB57aからデータを読み出すものである。
Next, the distribution manager 56a shown in FIG. 24 is connected to the holding unit 64a, the timing information holding unit 65a, the TDB 57a, and the inter-layer cooperation manager 53, and outputs a delay value based on the netlist.
FIG. 31 is a block diagram of the distribution manager 56a according to the second embodiment of the present invention, and the distribution managers 56b to 56e shown in FIG. 31 have the same structure as the distribution manager 56a. The distribution manager 56a is a distribution editor 63a, a database reference registration unit 63e, an own layer TDB output / another layer TDB automatic reflection unit (an own layer TDB output / another layer TDB reflection unit; hereinafter referred to as a TDB output reflection unit). .) 63d and an arbitration control unit 63f. The distribution editor 63a is connected to the holding unit 64a for timing distribution, and the database reference registration unit 63e is connected to the distribution editor 63a, the holding unit 64a, and the timing information holding unit 65a, and the net list and the distribution value. And has a TDB registration unit 63b and a TDB reference unit 63c. The TDB registration unit 63b writes data to the TDB 57a, and the TDB reference unit 63c reads data from the TDB 57a.

さらに、TDB出力反映部63dは、自己の階層のタイミング配分情報と他の階層のタイミング配分情報とを入出力するものである。すなわち、他の階層(他階層、下位階層)に関するデータを、階層間連携マネージャ53を介して、TDB57aに反映させるとともに、自己の階層(自階層)に関するデータを、階層間連携マネージャ53を介して他のTDB57b〜57eのうち、自階層の一つ上位の階層に反映させるのである。また、反映する/反映しないは、調停制御部63fによって、制御されるようになっている。この調停制御部63fは、TDB出力反映部63dと配分エディタ63aとに接続され、配分値を自階層と他階層とのうちのいずれかを選択するかを調停し、また、配分値の反映可否を決定するものである。   Further, the TDB output reflection unit 63d inputs / outputs the timing distribution information of its own hierarchy and the timing distribution information of another hierarchy. That is, data relating to other layers (other layers, lower layers) is reflected in the TDB 57 a via the inter-layer cooperation manager 53, and data relating to its own layer (own hierarchy) is reflected via the inter-layer cooperation manager 53. Of the other TDBs 57b to 57e, it is reflected in the hierarchy one level higher than the own hierarchy. Whether to reflect or not is controlled by the arbitration control unit 63f. The arbitration control unit 63f is connected to the TDB output reflection unit 63d and the distribution editor 63a, arbitrates whether to select the distribution value from the own layer or another layer, and whether the distribution value can be reflected. Is to determine.

これにより、調停制御部63fは、自階層のデータと他階層のデータとを用いてタイミング制約を満たすか否かを判断し、満たせば、反映可とし、また、満たさなければ反映不可として再設定要求を出す。再設定時は、自階層のデータは、TDB出力反映部63dにより、TDB57aから読み出され、再設定が必要であるというメッセージが、調停制御部63fを介して、配分エディタ63aに入力されるとともに、他階層の配分マネージャ56a〜56eからのデータ送信要求により階層間連携マネージャ53を介して出力されるのである。また、他階層のデータは、階層間連携マネージャ53に対して要求した後、送信されてきた所望の他階層のデータは、配分エディタ63aに入力され、制約情報を満たすまで繰り返され、制約が満たされると、TDB57aに書き込まれる。   Thereby, the arbitration control unit 63f determines whether or not the timing constraint is satisfied by using the data of the own layer and the data of the other layer, and if it satisfies, it can be reflected, and if it does not satisfy, it is reset so that it cannot be reflected. Make a request. At the time of resetting, the data of the own hierarchy is read from the TDB 57a by the TDB output reflecting unit 63d, and a message that resetting is necessary is input to the distribution editor 63a via the arbitration control unit 63f. In response to a data transmission request from the distribution managers 56a to 56e in other layers, the data is output via the inter-layer cooperation manager 53. Further, after requesting data of other layers to the inter-layer cooperation manager 53, the desired other layer data transmitted is input to the distribution editor 63a and repeated until the constraint information is satisfied, and the constraints are satisfied. Is written to the TDB 57a.

なお、配分マネージャ56b〜56e(図20参照)の構成も、配分マネージャ56aと同一であるので、重複した説明を省略する。
図32は本発明の第2実施形態に係るスキュー計算を説明するための図であり、この図32に示すネットリスト62aは、回路モジュールI1,I2,I3,I4,I5を有する(四角形で表示されたもの)。この図32において、例えばI1(I1と表現するのは、回路モジュールI1を意味し、その他の回路モジュールについても同様である)から出力された信号の位相は、PCB上を伝搬するときに遅延し、また、I2の回路モジュールに入力されたときにも、その入力ピン容量の影響により遅延する。
Note that the configuration of the distribution managers 56b to 56e (see FIG. 20) is also the same as that of the distribution manager 56a, and thus a duplicate description is omitted.
FIG. 32 is a diagram for explaining skew calculation according to the second embodiment of the present invention, and the netlist 62a shown in FIG. 32 includes circuit modules I1, I2, I3, I4, and I5 (displayed as squares). ) In FIG. 32, for example, the phase of a signal output from I1 (representing I1 means the circuit module I1 and the same applies to other circuit modules) is delayed when propagating on the PCB. Also, when input to the I2 circuit module, it is delayed due to the influence of the input pin capacitance.

これを踏まえて、設計者は、I1〜I3間の遅延値と、I1〜I4間の遅延値と、I1〜I5間の遅延値とをそれぞれ計算する。ここで、遅延発生の要素は、I1,I2のそれぞれの内部遅延(a,cと表したもの)と、I1〜I2間の遅延値(bと表したもの)と、I2〜I3,I2〜I4,I2〜I5間の遅延値(d,e,f,gと表したもの)とがある。   Based on this, the designer calculates a delay value between I1 and I3, a delay value between I1 and I4, and a delay value between I1 and I5, respectively. Here, the elements of delay generation are internal delays of I1 and I2 (represented as a and c), delay values between I1 and I2 (represented as b), and I2 to I3 and I2 There is a delay value (denoted as d, e, f, g) between I4, I2 and I5.

そして、例えばI1〜I3(の遅延時間)と、I1〜I5(の遅延時間)との位相差とを得る計算においては、通常基準点(I1の遅延値aに相当)からの遅延値の差が計算される。ここで、a,b,c,dの遅延値は、いずれも、I1〜I3と、I1〜I5との双方に共通したパスによるものなので、各回路モジュール間のばらつきや、配線のばらつきが考慮されない。従って、位相差は、(遅延値e+I3の入力ピン容量)と(遅延値f+遅延値g+I5の入力ピン容量)との差で計算できる。これらの2つの入力ピン容量は、I3とI5とに同一の論理回路がインプリメントされていても、製造ばらつき等が存在する。   For example, in the calculation for obtaining the phase difference between I1 to I3 (delay time) and I1 to I5 (delay time), the difference between the delay values from the normal reference point (corresponding to the delay value a of I1). Is calculated. Here, since the delay values of a, b, c, and d are all based on paths common to both I1 to I3 and I1 to I5, variations between circuit modules and wiring variations are taken into consideration. Not. Therefore, the phase difference can be calculated by the difference between (delay value e + I3 input pin capacitance) and (delay value f + delay value g + I5 input pin capacitance). These two input pin capacities have manufacturing variations even if the same logic circuit is implemented in I3 and I5.

このため、配分マネージャ56aは、信号の到着時間の位相差を表すスキューを、配線形態に関するネットリストの配線パスのうち共通の配線パス以外のものに基づいて計算するようになっている。
すなわち、ネットリストに基づき、信号伝搬方向とは逆の方向からパスを辿っていき、共通部分が現れたところで、共通部分でない部分を抽出することにより、共通部分のばらつきを除去された計算が自動的に実行されるのである。
For this reason, the distribution manager 56a calculates a skew representing the phase difference of the arrival times of the signals based on the wiring paths other than the common wiring path among the wiring paths of the netlist related to the wiring form.
In other words, based on the netlist, the path is traced from the direction opposite to the signal propagation direction, and when the common part appears, the part that is not the common part is extracted to automatically calculate the calculation with the common part removed. It is executed automatically.

図33(a)〜(c)はいずれも本発明の第2実施形態に係るネットリスト表現を説明するための図である。この図33(a)に示すネットリスト62は、回路モジュールI1,I2,I3,I4(以下、モジュールI1等と略称する)を有する論理回路であり、モジュールI1のポートAは、信号を出力するものであり、モジュールI2〜I4のポートB,C,Dは、それぞれ、信号を入力するものである。また、図33(b),(c)には、それぞれ、配線された物理レイアウトが表示されている。この図33(b)に示すチップ63は、インプリメントしたものを表す。   33 (a) to 33 (c) are diagrams for explaining netlist expressions according to the second embodiment of the present invention. The net list 62 shown in FIG. 33A is a logic circuit having circuit modules I1, I2, I3, and I4 (hereinafter abbreviated as module I1 etc.), and the port A of the module I1 outputs a signal. The ports B, C, and D of the modules I2 to I4 are for inputting signals. Further, in FIGS. 33B and 33C, wired physical layouts are displayed, respectively. The chip 63 shown in FIG. 33 (b) represents what is implemented.

ここで、サブ信号名は、"I1.A−I2.B−I3.C−I4.D"で表されることができる。なお、ネットリスト表現は、区切り文字を"−"とし、インスタンス名との区切り文字を"."としている。ここで、ポートAのファンアウトは3であり、ポートB,C,Dをそれぞれ駆動させており、この順に一筆書きのように配線されていることを意味する。
図33(c)に示すネットリスト表現は、ネットリストに等長の区間(ABとACとが等長)が存在するときのものである。すなわち、この場合、等長にする部分にかっこを付すようにし、サブ信号名は、"I1.A−(I2.B−I3.C)−I4.D"で表される。遅延に制約があるときは、例えば、"#"を用いて遅延値を記述し、サブ信号名は、"I1.A−(1.4ns#I2.B−I3.C)−1.2ns#I4.Dと表される。
Here, the sub-signal name can be represented by “I1.A-I2.B-I3.C-I4.D”. In the netlist expression, the delimiter is “-” and the delimiter from the instance name is “.”. Here, the fan-out of port A is 3, which means that ports B, C, and D are driven, respectively, and are wired in this order in a single stroke.
The netlist expression shown in FIG. 33C is for a case where there are equal length sections (AB and AC are equal in length) in the netlist. That is, in this case, parentheses are added to the equal length parts, and the sub-signal name is represented by “I1.A- (I2.B-I3.C) -I4.D”. When the delay is limited, for example, the delay value is described using “#”, and the sub-signal name is “I1.A- (1.4 ns # I2.B-I3.C) -1.2 ns #. I4.D.

さらに、負荷容量、配線長、配線幅、配線層指定等のその他の制約についても、次の(6−1)〜(6−3)のようなサブ信号名で記述できる。ここで、pfはピコファラッドを表し、μm(マイクロメートル)は配線長を表し、wは配線幅(μm)を表す。LA,LBはそれぞれ配線層を表す。
I1.A−(0.3pf#I2.B−I3.C)−1.2ns#I4.D
…(6−1)
I1.A−(1.4ns#I2.B−I3.C)−31.2μm#I4.D
…(6−2)
0.6w#LA,LB#I1.A−I2.B−I3.C−I4.D
…(6−3)
すなわち、LA層は0.6μm幅で配線され、I1〜I2,I1〜I3,I1〜I4の配線は、いずれも、LB層で一筆書き配線することを制約している。
Furthermore, other constraints such as load capacity, wiring length, wiring width, wiring layer designation, etc. can be described by sub-signal names such as the following (6-1) to (6-3). Here, pf represents picofarad, μm (micrometer) represents a wiring length, and w represents a wiring width (μm). LA and LB each represent a wiring layer.
I1. A- (0.3pf # I2.B-I3.C) -1.2 ns # I4. D
... (6-1)
I1. A- (1.4 ns # I2.B-I3.C) -31.2 μm # I4. D
... (6-2)
0.6w # LA, LB # I1. A-I2. B-I3. C-I4. D
... (6-3)
That is, the LA layer is wired with a width of 0.6 μm, and all of the wirings I1 to I2, I1 to I3, and I1 to I4 are restricted from being drawn with a single stroke in the LB layer.

さらに、PCB設計の場合において、斜め配線するときの表記は、斜め配線部分に、"−"の代わりに"/"が用いられる。例えば、サブ信号名は、"I1.A/I2.B−I3.C−I4.D"で表される。
従って、配分マネージャ56aが、配線パスに、副信号名として配線形態を表す名称を付与するように構成されたことになり、副信号名とファンアウト数とを関連づけて命名するように構成されたことになる。
Furthermore, in the case of PCB design, “/” is used instead of “−” in the diagonal wiring portion when the diagonal wiring is performed. For example, the sub-signal name is represented by “I1.A / I2.B-I3.C-I4.D”.
Therefore, the distribution manager 56a is configured to give the wiring path a name representing the wiring form as the sub-signal name, and is configured to name the sub-signal name and the fan-out number in association with each other. It will be.

また、図示を省略するが、配分マネージャ56aは、配線した部分について、制約情報の値に応じたグラデーションを操作画面にて色彩表示するようになっており、配分マネージャ56aは、回路ブロックを示す図に、タイミング配分値とタイミング配分できる値の範囲を表示するようになっている。
このように、共通部分のばらつきを除去することができるので、信頼性の高い回路を設計できる。
Although not shown, the distribution manager 56a displays a gradation corresponding to the value of the restriction information on the operation screen for the wired portion, and the distribution manager 56a is a diagram showing a circuit block. In addition, the timing distribution value and the range of values that can be allocated the timing are displayed.
In this manner, since variations in common portions can be removed, a highly reliable circuit can be designed.

また、本発明のプログラムは、階層設計するに当たり、コンピュータを、複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリストを有するTDB57a〜57eから回路の機能に関するブロック情報を入力され回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうるタイミング配分作成部54a〜54eと、タイミング配分作成部54a〜54eのそれぞれに接続され、タイミング配分作成部54a〜54eのそれぞれの間とタイミング配分値に関する修正情報を送受信する階層間連携マネージャ53として機能させるためのものである。   In the hierarchical design, the program of the present invention is configured such that a computer is provided corresponding to each of a plurality of design hierarchies, and block information relating to the function of the circuit is input from TDBs 57a to 57e having net lists relating to wiring forms. Are connected to each of the timing distribution creation units 54a to 54e and the timing distribution creation units 54a to 54e that can output the timing distribution values obtained by allocating the delay values generated by the delay elements, and the timing distribution creation units 54a to 54e, respectively. It is for functioning as an inter-tier cooperation manager 53 that transmits and receives correction information related to timing distribution values.

すなわち、タイミング配分作成部54aと階層間連携マネージャ53との機能は、それぞれ、タイミング配分装置51として使用されるコンピュータのハードディスク等の記録媒体(図示省略)に記憶されたプログラムを、そのコンピュータのCPUが読み取って動作することにより実現される。
また、本発明のプログラムをそのハードディスク等の記録媒体にインストールする方法は、コンピュータが有する読み取り装置に応じて、CD−ROM、CD−R、CD−RW及びフロッピーディスク等の記録媒体を用いるようになっている。
That is, the functions of the timing distribution creating unit 54a and the inter-tier cooperation manager 53 are respectively configured to store a program stored in a recording medium (not shown) such as a hard disk of a computer used as the timing distribution device 51, and the CPU of the computer. Is realized by reading and operating.
The method of installing the program of the present invention on a recording medium such as a hard disk uses a recording medium such as a CD-ROM, CD-R, CD-RW, and floppy disk in accordance with the reading device of the computer. It has become.

上述の構成により、本発明のタイミング配分装置51の動作について、図34〜図45を参照して詳述する。
図34は本発明の第2実施形態に係るブロック設計の工程を示す図である。この図34に示す工程は、PCB,LSI及びLSI内のサブブロックについての3階層のタイミング設計が同時に進行することを表している。
With the above-described configuration, the operation of the timing distribution device 51 of the present invention will be described in detail with reference to FIGS.
FIG. 34 is a diagram showing a block design process according to the second embodiment of the present invention. The process shown in FIG. 34 represents that the three-layer timing design for the PCB, LSI, and sub-blocks in the LSI proceeds simultaneously.

まず、システム仕様が設計された後(ステップP1)、ステップP10と付されたPCB設計が開始される。まず、ステップP10aにおいて、LSIの設計をするときは、1と付したルートを通り、ステップP20以降の処理が行なわれ、PCBの設計は、2と付したルートを通り、VHDL,VHDL+等を用いてコーディングされる(ステップP10b)。そして、ステップP10bにて、ソースコードが得られると、1と付されたルートを通り、ステップP40にてPCBのインプリメントが開始され、また、ステップP10bにて、ソースコードが得られると、2と付されたルートを通り、ステップP10cにて、タイミング配分が作成される。また、タイミング配分するに当たり、ステップP10fにおいて、TDB57a〜57eと、階層間連携マネージャ53と連携しながら実行される。その後、フロアプランが生成され(ステップP10d)、レイアウトCAD装置(PCB物理レイアウトCAD装置)52cによりそのフロアプランが読み出される(ステップP10e)。このフロアプランが、ステップP40のPCBインプリメントに使用される。   First, after the system specifications are designed (step P1), the PCB design designated as step P10 is started. First, in step P10a, when designing an LSI, the route attached with 1 is passed through, and the processes after step P20 are performed. The PCB is designed through the route attached with 2, using VHDL, VHDL +, etc. Is coded (step P10b). Then, when the source code is obtained at step P10b, the implementation of the PCB is started at step P40 through the route labeled 1 and when the source code is obtained at step P10b, 2 is obtained. In step P10c, the timing distribution is created through the attached route. Further, when the timing is distributed, it is executed in cooperation with the TDBs 57a to 57e and the inter-tier cooperation manager 53 in Step P10f. Thereafter, a floor plan is generated (step P10d), and the floor plan is read by the layout CAD device (PCB physical layout CAD device) 52c (step P10e). This floor plan is used for the PCB implementation in Step P40.

LSIとLSI内のサブブロックについても同様である。ステップP10aにおいて、LSIの設計をするときは、1と付したルートを通り、ステップP20aにおいて、LSI設計が開始される。このステップP20aにて、LSI内のサブブロックについて設計するときは、1と付したルートを通り、ステップP30以降の処理が行なわれ、LSIの設計は、2と付したルートを通り、VHDL,VHDL+等を用いてコーディングされる(ステップP20b)。   The same applies to LSIs and sub-blocks within LSIs. When designing an LSI in step P10a, the LSI design is started in step P20a through the route labeled 1. When designing a sub-block in the LSI in this step P20a, the route after 1 is passed through the route attached with 1, and the processing after step P30 is performed. The LSI is designed through the route attached with 2 through VHDL, VHDL + Etc. (step P20b).

そして、ステップP20bにて、ソースコードが得られると、1と付されたルートを通り、ステップP41にてLSIがインプリメントされ、また、ステップP20bにて、ソースコードが得られると、2と付されたルートを通り、ステップP20cにて、タイミング配分が作成される。また、タイミング配分するに当たり、ステップP20fにおいて、TDB57a〜57eと、階層間連携マネージャ53と連携する。その後、フロアプランが生成され(ステップP20d)、レイアウトCAD装置(LSI物理レイアウトCAD装置)52aによりそのフロアプランが読み出される(ステップP20e)。このフロアプランが、ステップP41のLSIインプリメントに使用される。   If the source code is obtained in step P20b, the LSI is implemented in step P41 through the route labeled 1 and if the source code is obtained in step P20b, 2 is appended. In step P20c, a timing distribution is created. Further, when the timing is distributed, the TDBs 57a to 57e and the inter-tier cooperation manager 53 are linked in Step P20f. Thereafter, a floor plan is generated (step P20d), and the floor plan is read by the layout CAD device (LSI physical layout CAD device) 52a (step P20e). This floor plan is used for LSI implementation in step P41.

LSI内のサブブロックについても、まず、設計が開始され(ステップP30a)、VHDL,VHDL+等を用いてコーディングされる(ステップP30b)。そして、ステップP30bにて、ソースコードが得られると、1と付されたルートを通り、ステップP41にてLSIのサブブロックのインプリメントが開始され、また、ステップP30bにて、ソースコードが得られると、2と付されたルートを通り、ステップP30cにて、タイミング配分が作成される。また、タイミング配分するに当たり、ステップP30fにおいて、TDB57a〜57eと、階層間連携マネージャ53と連携する。その後、フロアプランが生成され(ステップP30d)、レイアウトCAD装置52aによりそのフロアプランが読み出される(ステップP30e)。このフロアプランが、ステップP41のLSIインプリメントに使用される。   For the sub-blocks in the LSI, first, design is started (step P30a), and coding is performed using VHDL, VHDL +, etc. (step P30b). Then, when the source code is obtained in step P30b, the implementation of LSI sub-blocks is started in step P41 through the route labeled 1, and the source code is obtained in step P30b. The timing distribution is created in step P30c through the route labeled 2. Further, when the timing is distributed, the TDBs 57a to 57e and the inter-tier cooperation manager 53 are linked in Step P30f. Thereafter, a floor plan is generated (step P30d), and the floor plan is read by the layout CAD device 52a (step P30e). This floor plan is used for LSI implementation in step P41.

従って、各回路ブロックは、いずれも、他の回路ブロックのタイミング情報をリアルタイムに把握できるので、タイミング仕様の変更時に、再計算を即座に行なえるようになり、設計効率が向上する。
また、分散設計環境によるタイミング配分により、設計者は、他の回路ブロックヘの影響を考慮しながら設計し、また、影響がある場合は許容範囲内か否かを配分レポートによりチェックしながら設計する。
Therefore, since each circuit block can grasp the timing information of other circuit blocks in real time, recalculation can be performed immediately when the timing specification is changed, thereby improving the design efficiency.
In addition, by timing distribution using the distributed design environment, the designer designs while considering the influence on other circuit blocks, and when there is an influence, the designer designs while checking whether it is within the allowable range by using the distribution report.

図35は本発明の第2実施形態に係るタイミング配分を説明するためのフローチャートである。各設計階層のタイミング配分作成部54a〜54eに、ブロックの制約定義情報と対象ブロックのネットリスト又はタイミング仕様が記述されたソースコードが入力され(ステップQ10)、フロアプラン部55aと、配分マネージャ56aとによりタイミング配分処理され(ステップQ11)、TDB57a〜57eのそれぞれに、各ブロックのタイミング配分値が書き込まれ(ステップQ12)、配分レポートが出力され、配分値が検討される(ステップQ13)。   FIG. 35 is a flowchart for explaining timing distribution according to the second embodiment of the present invention. Source code describing block constraint definition information and a target block netlist or timing specifications is input to the timing distribution creation units 54a to 54e of each design hierarchy (step Q10), and a floor plan unit 55a and a distribution manager 56a are input. Then, the timing distribution process is performed (step Q11), the timing distribution value of each block is written in each of the TDBs 57a to 57e (step Q12), the distribution report is output, and the distribution value is examined (step Q13).

従って、複数の設計者が同時に、タイミング仕様とインプリメント条件とを相互に参照できるので、設計者間におけるミスコミュニケーションを防止できる。
また、TDB57a〜57eに保持されたタイミング仕様は、既に決定された部分については、属性情報が変更不可に設定されて定数として扱われ、そして、変更された部分は、即座にTDB57a〜57eに書き込まれる。複数の階層間をまたがった部分については、階層間連携マネージャ53は、一つ上位の階層のTDB57a〜57eに即座に反映される。
Accordingly, since a plurality of designers can refer to the timing specifications and the implementation conditions at the same time, miscommunication among the designers can be prevented.
The timing specifications held in the TDBs 57a to 57e are treated as constants with the attribute information set to unchangeable for the already determined parts, and the changed parts are immediately written to the TDBs 57a to 57e. It is. For a portion that extends across multiple hierarchies, the inter-hierarchy cooperation manager 53 is immediately reflected in the TDBs 57a to 57e of the upper hierarchy.

次に、図36〜図38を用いて、図21,図22に示す階層間連携マネージャ53と配分マネージャ56a〜56eとの間のデータ送受信について説明する。
図36〜図38はいずれも本発明の第2実施形態に係るタイミング配分の一部を説明するためのフローチャートである。図36に示すものは、中間階層の間においてデータを更新するときのものであり、図21に示すA−〔1〕及びA−〔2〕と付した箇所に対応する。また、図37に示すものは中間階層間において問い合わせる処理であり、図21に示すB−〔1〕〜B−〔4〕と付した箇所に対応する。図37に示すものは最上位階層と中間階層とにおけるものであって全体タイミングを問い合わせるときのものである。また、これら図36〜図38に示すフローチャートは、階層間連携マネージャ53と配分マネージャとの間にてメッセージ通信を行なうものである。
Next, data transmission / reception between the inter-tier cooperation manager 53 and the distribution managers 56a to 56e shown in FIGS. 21 and 22 will be described with reference to FIGS.
36 to 38 are all flowcharts for explaining a part of the timing distribution according to the second embodiment of the present invention. What is shown in FIG. 36 is when data is updated between intermediate hierarchies, and corresponds to the locations marked A- [1] and A- [2] shown in FIG. Also, what is shown in FIG. 37 is a process for inquiring between the intermediate hierarchies, and corresponds to the locations marked B- [1] to B- [4] shown in FIG. What is shown in FIG. 37 is in the uppermost hierarchy and the intermediate hierarchy when inquiring about the overall timing. The flowcharts shown in FIGS. 36 to 38 perform message communication between the inter-tier cooperation manager 53 and the distribution manager.

このように、階層間連携マネージャ53は、配分マネージャ56aからのメッセージをどの配分マネージャに送信したらよいかを判断し、目的の配分マネージャ5に送信されたメッセージデータを送信する。
まず、図36のステップQ20にて、ある階層において、LSIのサブブロックが有する各仮想ピンのACスペック,クロックスキューの配分値が、一つ上位の階層(例えばLSIのTDB)に取り込まれる。続いて、ステップQ21にて、LSIの各仮想ピンのACスペック、クロックスキュー配分値が、一つ上位の階層(例えばPCBのTDB)に取り込まれる。
As described above, the inter-tier cooperation manager 53 determines to which distribution manager the message from the distribution manager 56 a should be transmitted, and transmits the message data transmitted to the target distribution manager 5.
First, in step Q20 of FIG. 36, the AC specifications and clock skew distribution values of the virtual pins of the LSI sub-blocks in a certain hierarchy are taken into one higher hierarchy (for example, the TDB of the LSI). Subsequently, in step Q21, the AC spec and clock skew distribution value of each virtual pin of the LSI are taken into the upper hierarchy (for example, TDB of PCB).

図37のステップQ30において、各配分マネージャ56a〜56eは、それぞれ、LSI内の他のサブブロックの配分値がどの程度であるかを階層間連携マネージャ53に問い合わせる。次に、階層間連携マネージャ53は、相当するLSIブロック(一つ上位のブロック)に対して配分値を問い合わせる(ステップQ31)。LSIブロックは、そのLSIにインスタンスしている他のLSIブロックの配分値を保持しているので、問い合わせられたLSIブロックは、階層間連携マネージャ53に対して配分値を返却し(ステップQ32)、階層間連携マネージャ53は、最初に問い合わせを発したLSIのサブブロックに対してLSIの他のサブブロックの配分値を受け取る(ステップQ33)。   In step Q30 of FIG. 37, each of the distribution managers 56a to 56e inquires the inter-layer cooperation manager 53 about the distribution value of the other sub-blocks in the LSI. Next, the inter-tier cooperation manager 53 inquires the distribution value to the corresponding LSI block (one higher block) (step Q31). Since the LSI block holds the distribution value of the other LSI block instanced in the LSI, the inquired LSI block returns the distribution value to the inter-tier cooperation manager 53 (step Q32). The inter-tier cooperation manager 53 receives the distribution value of the other sub-blocks of the LSI for the sub-block of the LSI that issues the inquiry first (step Q33).

また、図38のステップQ40において、最上位階層(PCB)より、PCB上に存在する各部品に対して配分値が問い合わせられる。そして、各部品は、それぞれ、各部品中に存在する各サブブロックに対して配分値を問い合わせて(ステップQ41)、各サブブロックは、問い合わせた元の部品に対して自己のブロックの配分値を返却し(ステップQ42)、各部品は問い合わせ元のPCBに対して自己の部品の配分値を返却する(ステップQ43)。なお、この図38に示す〔1〕〜〔4〕と付した記号は、図22に示すものと対応する。   Further, in step Q40 of FIG. 38, the distribution value is inquired for each component existing on the PCB from the highest hierarchy (PCB). Then, each component inquires the distribution value for each sub-block existing in each component (step Q41), and each sub-block determines its own block distribution value for the inquired original component. The parts are returned (Step Q42), and each part returns its own part distribution value to the inquiry source PCB (Step Q43). Note that the symbols [1] to [4] shown in FIG. 38 correspond to those shown in FIG.

図39は本発明の第2実施形態に係るタイミング配分作成部54a〜54eの動作を説明するためのフローチャートである。まず、ソースコードの存在の有無が判定され(ステップR1)、存在する場合はYと付されたルートを通り、ソースコードよりブロック間接続情報が抽出されて構造部分のネットリストが生成され(ステップR2)、ステップR3にて、ソースコード中に遅延値記述の存在の有無が判定される。ここで、存在する場合はYルートを通り、ステップR4にて、制約定義情報の制約条件(動作速度やゲート規模等)とソースコード中の遅延値記述よりタイミング仕様が抽出され制約条件が作成される。また、ステップR3にて、遅延値記述がない場合は、Nルートを通り、ステップR9以降の処理が行なわれる。   FIG. 39 is a flowchart for explaining the operation of the timing distribution creating units 54a to 54e according to the second embodiment of the present invention. First, the presence / absence of the source code is determined (step R1). If it exists, the connection information between the blocks is extracted from the source code through the route labeled Y, and a net list of the structure part is generated (step S1). R2) In step R3, it is determined whether or not there is a delay value description in the source code. If it exists, it passes through the Y route, and in step R4, the timing specifications are extracted from the constraint conditions (operation speed, gate scale, etc.) of the constraint definition information and the delay value description in the source code, and the constraint conditions are created. The If there is no delay value description in step R3, the process after step R9 is performed through the N route.

また、ステップR1にて、ソースコードが存在しない場合は、Nと付されたルートを通り、ブロック情報よりブロック間接続情報が抽出されて構造部分のネットリストが生成され(ステップR5)、ステップR6にて、タイミング仕様の値を設定するか否かが判定され、設定する場合は、Yルートを通り、ステップR7にて、制約条件タイミング配分作成部54aは構造部分ネットリスト保持部58cから、ネットリストを読み出して、配分マネージャ56a中の配分エディタ63a(図31参照)により、人手でタイミング仕様を入力する(図21〔1〕参照)。また、その設定内容を制約条件のうちのタイミング仕様として制約条件保持部58bに書き込む(図21〔2〕参照)。さらに、ステップR6にて、タイミング仕様の値を設定しない場合は、Nルートを通り、ステップR9にて、タイミング仕様の値は空(なし)と設定される。   If the source code does not exist in step R1, the connection information between blocks is extracted from the block information through the route labeled N, and a netlist of the structure part is generated (step R5). Step R6 In step R7, the constraint condition timing distribution creating unit 54a sends the net value from the structure partial net list holding unit 58c to determine whether or not to set the timing specification value. The list is read, and the timing specification is manually input by the distribution editor 63a (see FIG. 31) in the distribution manager 56a (see FIG. 21 [1]). Further, the set contents are written in the constraint condition holding unit 58b as the timing specifications of the constraint conditions (see FIG. 21 [2]). Further, if the timing specification value is not set in step R6, the route passes through the N route, and the timing specification value is set to empty (none) in step R9.

そして、配分マネージャ56aは、他階層の配分値を参照して配分を検討し(ステップR8)、フロアプラン部55aは、フロアプラン後のタイミング情報を生成し(ステップR10)、タイミング仕様とタイミング情報とが、配分マネージャ56aを通じて配分値としてTDB57aに登録される(ステップR11)。そして、配分レポート作成部50dは、配分レポートを出力し(ステップR12)、フロアプラン部55aにて得られたタイミング情報が、HDLアノテータ58eによりソースコードに反映され(ステップR13)、タイミング情報が波形解析用情報作成部58hにより、波形解析CAD用のファイルに変換されて連携するのである(ステップR14)。   Then, the distribution manager 56a examines distribution with reference to the distribution values of other layers (step R8), the floor plan unit 55a generates timing information after the floor plan (step R10), and the timing specifications and timing information. Are registered in the TDB 57a as distribution values through the distribution manager 56a (step R11). Then, the distribution report creation unit 50d outputs a distribution report (step R12), the timing information obtained by the floor plan unit 55a is reflected in the source code by the HDL annotator 58e (step R13), and the timing information is a waveform. The analysis information creating unit 58h converts the file into a waveform analysis CAD file and cooperates (step R14).

次に、上述した丸め込み手法により、低い精度の部品又は回路ブロックが使用している値に対しては、最小値/最大値を用いて遅延時間の範囲を設けることにより、高精度の部品又は回路ブロックと接続され、また、精度の異なる部品又は回路ブロックを混合して設計される。
さらに、PCBのタイミング配分は、既存の手法を使用するほか、斜め配線も使用し、タイミング情報が作成される。まず、マンハッタン長、斜めマンハッタン長による配線を用いて、配線混雑度が計算され、配線混雑度が設定条件よりも低い場合には、単純マンハッタン長又は斜め配線を考慮したマンハッタン長による配線により配分する。
Next, by using the rounding method described above, a high precision component or circuit can be obtained by providing a range of delay time using a minimum value / maximum value for a value used by a low accuracy component or circuit block. It is designed by mixing parts or circuit blocks that are connected to the blocks and have different accuracy.
Further, the timing distribution of the PCB is generated using not only an existing method but also diagonal wiring. First, the wiring congestion degree is calculated using wiring based on Manhattan length and diagonal Manhattan length, and if the wiring congestion level is lower than the set condition, distribution is performed using wiring based on Manhattan length considering simple Manhattan length or diagonal wiring. .

一方、配線混雑度が設定条件よりも高い場合には、次の(7−1),(7−2)のうちのいずれかが用いられてタイミング配分される。
(7−1)配線混雑度に対応させて遅延値を増加し、より大きい遅延値を得る。
(7−2)実配線連携部60c,60dが、それぞれ、データ変換し、既存の手法を用いた実配線をし、その配線情報に基づき遅延値に変換し、配分する。
On the other hand, when the degree of wiring congestion is higher than the set condition, one of the following (7-1) and (7-2) is used for timing distribution.
(7-1) The delay value is increased corresponding to the degree of wiring congestion, and a larger delay value is obtained.
(7-2) The actual wiring link units 60c and 60d respectively convert the data, perform the actual wiring using the existing method, convert to the delay value based on the wiring information, and distribute it.

図40は本発明の第2実施形態に係るフロアプラン部55aの動作を説明するためのフローチャートであり、フロアプラン部55b〜55eも同様である。フロアプラン部55aは、制約条件と構造部分ネットリストとを入力され(ステップR20)、配置支援部59aは、仮配線部(マンハッタン長仮配線部60a,斜めマンハッタン長仮配線部60b)と連携し、配線を考慮して配置決定し、配置情報を作成し(ステップR21)、その配置情報に基づき仮配線が実行される(ステップR22)。   FIG. 40 is a flowchart for explaining the operation of the floor plan unit 55a according to the second embodiment of the present invention, and the same applies to the floor plan units 55b to 55e. The floor plan unit 55a receives the constraint condition and the structure partial net list (step R20), and the placement support unit 59a cooperates with the temporary wiring unit (Manhattan length temporary wiring unit 60a, oblique Manhattan length temporary wiring unit 60b). Then, the placement is determined in consideration of the wiring, the placement information is created (step R21), and the temporary wiring is executed based on the placement information (step R22).

また、ステップR23にて、配線混雑度が設定値を超えたか、又は、スラックが設定条件以下になったかが判定され、いずれかが満足されると、Yルートを通り、ステップR24にて、設定値を超えた部分について、実配線連携部60c,60dは、レイアウトCAD装置52a,52cを用いて実配線して配線情報を作成する。さらに、フロアプラン部55aは、物理テクノロジ情報を用いて配線長や負荷容量を遅延値に変換し、論理/制約情報保持部64aに書き込む(ステップR25)。なお、ステップR23にて、いずれも満足されなければ、Nルートを通り、フロアプラン部55aは、仮配線の結果を用いて配線情報を作成し(ステップR26)、ステップR25の処理をする。   In step R23, it is determined whether the wiring congestion level has exceeded the set value or the slack has become equal to or less than the set condition. If any of the conditions is satisfied, the route passes through the Y route and the set value is set in step R24. For the portion exceeding, the actual wiring cooperation units 60c and 60d perform actual wiring using the layout CAD devices 52a and 52c to create wiring information. Further, the floor plan unit 55a converts the wiring length and the load capacity into a delay value using the physical technology information, and writes it into the logic / constraint information holding unit 64a (step R25). If none of the conditions is satisfied at step R23, the route plan unit 55a creates wiring information using the result of the temporary wiring (step R26) and performs the process of step R25.

図41と図42とはともに本発明の第2実施形態に係る配分マネージャ56aの動作を説明するためのフローチャートであり、配分マネージャ56b〜56eも同様である。
図41に示すステップR30にて、配分マネージャ56aは、階層間連携マネージャ53からのTDB出力要求の有無を判定し、要求有りの場合はYルートを通り、ステップR31にて、TDB出力反映部63dは、自階層のTDB入出力部分の内容を階層間連携マネージャ53に入力し、ステップR32にて、階層間連携マネージャ53は他階層の配分マネージャ56b〜56eに対して受け取った内容を入力する。
Both FIG. 41 and FIG. 42 are flowcharts for explaining the operation of the distribution manager 56a according to the second embodiment of the present invention, and the same applies to the distribution managers 56b to 56e.
In step R30 shown in FIG. 41, the distribution manager 56a determines whether or not there is a TDB output request from the inter-tier cooperation manager 53. If there is a request, the distribution manager 56a passes the Y route, and in step R31, the TDB output reflection unit 63d. Inputs the contents of the TDB input / output portion of the own hierarchy to the inter-layer cooperation manager 53, and in step R32, the inter-layer cooperation manager 53 inputs the received contents to the distribution managers 56b to 56e of the other hierarchies.

また、ステップR30における判定により、TDB出力要求がない場合はNルートを通り、ステップR33にて、他階層のTDB57a〜57eの内容を反映させるか否かが判定され、反映させる場合は、Yルートを通り、配分マネージャ56aは、階層間連携マネージャ53に対して他階層のTDB57a〜57eの内容の参照要求を発行し(ステップR34)、階層間連携マネージャ53は他階層からTDB57a〜57eの入出力部分の内容を受け取ると(ステップR35)、参照要求のあった配分マネージャ56a〜56eに対して、他階層のTDB57a〜57eの入出力部分の内容を入力する(ステップR36)。そして、ステップR37にて、処理が終了したか否かが判定されて、終了した場合はYルートを通り、処理が終了し、そうでなければ、Nルートを通り、ステップR30からの処理が行なわれる。   If it is determined in step R30 that there is no TDB output request, the route passes through the N route. In step R33, it is determined whether or not the contents of the TDBs 57a to 57e in the other layers are to be reflected. The distribution manager 56a issues a reference request for the contents of the TDBs 57a to 57e in the other layers to the inter-layer cooperation manager 53 (step R34), and the inter-layer cooperation manager 53 inputs / outputs the TDBs 57a to 57e from the other layers. When the contents of the part are received (step R35), the contents of the input / output parts of the TDBs 57a to 57e in the other layers are input to the distribution managers 56a to 56e that have made reference requests (step R36). Then, in step R37, it is determined whether or not the process has been completed. If the process has been completed, the process passes from the Y route. If not, the process ends. If not, the process from step R30 is performed through the N route. It is.

また、ステップR33にて、他階層のTDB57a〜57eの内容を反映させない場合はNルートを通り(1と付されたもの)、図42に示すステップR38に進む。また、2と付されたものは、図42に示すステップR39又はステップR41が実行された後に実行されるものである。
図42に示すステップR38にて、配分マネージャ56aは、配分エディタ63aを用いて他階層の配分内容を参照するか否かを判定し、参照する場合は、Yルートを通り、ステップR39にて、TDB参照部63cを用いて、TDB57aより他階層の配分値を読み込み、処理が終了する。また、ステップR38にて、参照しない場合は、Nルートを通り、ステップR40にて、配分マネージャ56aは、制約条件やタイミング情報をTDB57a〜57eに登録するか否かを判定し、登録する場合はYルートを通り、ステップR41にて、配分マネージャ56aは、TDB登録部63bを用いてTDB57a〜57eに自階層の制約条件やタイミング情報を登録する。一方、ステップR40にて登録しない場合はNルートを通り、処理が終了する(図41のステップR37)。
If the contents of the TDBs 57a to 57e in the other layers are not reflected in step R33, the route passes through the N route (labeled 1), and the process proceeds to step R38 shown in FIG. Also, what is marked 2 is executed after Step R39 or Step R41 shown in FIG.
In step R38 shown in FIG. 42, the distribution manager 56a determines whether or not to refer to the distribution contents of the other hierarchy using the distribution editor 63a. If so, the distribution manager 56a passes through the Y route and in step R39, Using the TDB reference unit 63c, the distribution value of the other hierarchy is read from the TDB 57a, and the process is completed. Further, in the case where reference is not made in step R38, the route passes through the N route, and in step R40, the distribution manager 56a determines whether or not to register constraint conditions and timing information in the TDBs 57a to 57e. In step R41, the distribution manager 56a registers the constraint conditions and timing information of its own hierarchy in the TDBs 57a to 57e using the TDB registration unit 63b. On the other hand, if registration is not performed in step R40, the process is terminated through the N route (step R37 in FIG. 41).

このように、他階層との連携により、システム全体のタイミング条件を満足させることができる。また、フロアプラン部55aにより、設計者は、処理速度と見積もり精度とのトレードオフを気にすることなく、精度よくタイミング配分できる。
これは、上記(7−1),(7−2)により、仮配線で配線すべきか、実配線で配線すべきかが自動的に選択され(図40参照)、各回路ブロック(論理ブロック)ごとに決定され、1PCB又は1チップ上に、仮配線と実配線とを混在できるためである。
In this way, the timing conditions of the entire system can be satisfied by cooperation with other layers. Further, the floor plan unit 55a allows the designer to allocate timing accurately without worrying about the trade-off between the processing speed and the estimated accuracy.
According to the above (7-1) and (7-2), it is automatically selected whether to wire by temporary wiring or by actual wiring (see FIG. 40), and for each circuit block (logical block). This is because temporary wiring and actual wiring can be mixed on one PCB or one chip.

このように、配線混雑度に応じて仮配線又は実配線が自動的に切り替えられるため、トレードオフを有効活用でき、設計者の手間を削減できる。さらに、配線中に配線混雑度のしきい値を超えた場合、超えるごとに配線層の数を増加し、最終的な配線層として算出する。
このように、再レイアウトせずに必要な配線層数を知ることが可能となる。また、各ピンや各配線に対して属性を与え、複数のピンや複数配線をまとめて配分し、配分のための工数を削減する。
Thus, since temporary wiring or actual wiring is automatically switched according to the degree of wiring congestion, the trade-off can be effectively utilized, and the effort of the designer can be reduced. Further, when the wiring congestion degree threshold is exceeded during wiring, the number of wiring layers is increased each time the wiring congestion threshold is exceeded, and a final wiring layer is calculated.
In this way, it is possible to know the number of necessary wiring layers without re-laying out. Further, an attribute is given to each pin and each wiring, and a plurality of pins and a plurality of wirings are distributed together to reduce the man-hours for the distribution.

また、次に、設計者は、配線形態を意識したネットリスト表現を適用して、レイアウト後のサブシグナル名が、HDLアノテータ58eによりHDLソースコードに書き込まれる。このサブシグナル名に関する情報は、次の(8−1)〜(8−3)に示す態様を用いて取り込まれる。
(8−1)サブシグナル名に関する情報は、HDLアノテータ58eに取り込まれ、ソースコードの信号代入文の遅延値記述に反映される。これにより、タイミング配分値を指定できる。
Next, the designer applies a netlist expression that is conscious of the wiring form, and the sub-signal name after layout is written into the HDL source code by the HDL annotator 58e. Information on the sub-signal name is taken in using the following modes (8-1) to (8-3).
(8-1) Information on the sub-signal name is taken into the HDL annotator 58e and reflected in the delay value description of the signal substitution statement of the source code. Thereby, a timing distribution value can be designated.

(8−2)ソースコードに配線形態を意識したネットリスト表現がコメント文の形式にて取り込まれる。これにより、フロアプラン後にソースピンとシンクピンとの距離の遠近や順序関係について、設計者はHDL設計に当たり、ファンアウト数、配分値とともに把握しながら進めることができる。また、レイアウト前に、論理設計からも配線形態を指定できる。従って、レジスタの入力を記述するRTL設計前に、フロアプランが作成され、予め配線パスの長さが予測できる。このため、設計者は、信号伝搬時間が1サイクル内であるか否かを検討でき、1サイクル内でない場合は、フリップフロップやバッファを挿入するように指示でき早期対策が可能となる。   (8-2) A netlist expression conscious of the wiring form is taken into the source code in the form of a comment sentence. As a result, the designer can proceed with understanding the distance and distance between the source pin and the sink pin after the floor plan, together with the number of fan-outs and the distribution value, in the HDL design. Also, the wiring form can be specified from the logical design before layout. Therefore, a floor plan is created before the RTL design describing the input of the register, and the length of the wiring path can be predicted in advance. For this reason, the designer can examine whether or not the signal propagation time is within one cycle, and if it is not within one cycle, an instruction can be given to insert a flip-flop or a buffer, and an early countermeasure can be taken.

(8−3)サブシグナル名に関する情報は、波形解析用情報作成部58hに取り込まれ、波形解析に必要な情報が出力される。
さらに、物理テクノロジ情報には、各テクノロジごとに、単位配線長当たりの遅延値や、負荷容量が保持されており、設計者は、これらの情報を用いて、アーキテクチャ設計からPCB設計へのサブシステム分割と、アーキテクチャ設計からLSI設計へのサブシステム分割とのそれぞれについて試行検討する。さらに、設計者は、細部検討が必要な部分については、既存のレイアウトCAD装置52a,52cを用いて検討する。
(8-3) Information relating to the sub-signal name is taken into the waveform analysis information creation unit 58h, and information necessary for waveform analysis is output.
Furthermore, the physical technology information holds a delay value per unit wiring length and a load capacity for each technology, and the designer uses this information to create a subsystem from architecture design to PCB design. Each of the division and the subsystem division from architecture design to LSI design will be examined. Further, the designer examines portions that require detailed examination using the existing layout CAD devices 52a and 52c.

加えて、この物理テクノロジ情報を用いることにより、設計者はフロアプラン作成時に、回路ブロックに使用するテクノロジ(PCB又はLSI)を変更できる。そして、変更された場合は、フロアプランを作成するときに用いられる単位配線長当たりの遅延値や、負荷容量は、それぞれ、この物理テクノロジ情報を参照して、自動的に変更される。
さらに、LSI階層のTDB57a〜57eに保持された情報を用いて、PCBの波形解析用のライブラリが生成される。加えて、上記(8−1)〜(8−3)により、PCB階層から、波形解析のために必要な情報として配線形態を取り入れることができ、LSI完成前にPCBの波形解析が可能となる。
In addition, by using this physical technology information, the designer can change the technology (PCB or LSI) used for the circuit block when creating the floor plan. When changed, the delay value per unit wiring length and the load capacity used when creating the floor plan are automatically changed with reference to the physical technology information.
Furthermore, a library for PCB waveform analysis is generated using information held in the TDBs 57a to 57e of the LSI hierarchy. In addition, according to the above (8-1) to (8-3), the wiring form can be taken in as information necessary for waveform analysis from the PCB layer, and the PCB waveform can be analyzed before the LSI is completed. .

また、配線遅延値は、次の(9)式により計算できる。ここで、クロストークとは、配線間隔が近接していることにより生じるノイズを意味し、そのノイズを除去すべく、配線間隔を拡げたり、そのクロストークが生じている部分の長さを変更する。
配線遅延値=(単位配線長当たりの遅延値×配線長)+(クロストーク部分の単位配線長当たりの遅延値×クロストーク部分の配線長) …(9)
例えば、PCBテクノロジ又はLSIテクノロジについて、単位配線長当たりの遅延値が7ps/mm(ピコ秒/ミリメートル)であり、全配線長が157mm、クロストーク部分の単位配線長当たりの遅延値が1ps/mm、クロストーク部分の配線長が50mmであるとした場合、遅延値は、7ps×157+1ps×50=1.149nsとなる。
Further, the wiring delay value can be calculated by the following equation (9). Here, the crosstalk means noise caused by the closeness of the wiring interval. In order to remove the noise, the wiring interval is widened or the length of the portion where the crosstalk is generated is changed. .
Wiring delay value = (delay value per unit wiring length × wiring length) + (delay value per unit wiring length of crosstalk portion × wiring length of crosstalk portion) (9)
For example, for PCB technology or LSI technology, the delay value per unit wiring length is 7 ps / mm (picosecond / millimeter), the total wiring length is 157 mm, and the delay value per unit wiring length of the crosstalk portion is 1 ps / mm. When the wiring length of the crosstalk portion is 50 mm, the delay value is 7 ps × 157 + 1 ps × 50 = 1.149 ns.

また、フロアプランに関するデータは、実配線連携部60c,60dによって、インプリメント用のレイアウトデータに自動的に変換され、レイアウト情報が継承される。また、不足する情報は、設計者に通知される。
このように、シュリンク(半導体の微細化が進み、密度が上がり同一面積内により多くの回路を集積できることにより、チップ面積が収縮すること)時に上位の回路ブロック(例えばPCBのフロアプラン)情報が、下位の回路ブロック(LSI)に継承されるため、設計者は、レイアウト情報(PCBのレイアウト情報)についての設計資産を有効に利用できる。
Further, the data related to the floor plan is automatically converted into the layout data for implementation by the actual wiring cooperation units 60c and 60d, and the layout information is inherited. In addition, the designer is notified of insufficient information.
In this way, information on higher-level circuit blocks (for example, a PCB floor plan) information at the time of shrink (semiconductor miniaturization, density increases, and more circuits can be integrated within the same area, which reduces the chip area) Since it is inherited by a lower circuit block (LSI), the designer can effectively use design assets for layout information (PCB layout information).

また、このように、フロアプラン結果に基づいて、STAが行なわれ、1サイクルに収まらない場合にはフリップフロップやバッファ挿入指示が配分レポートとして出力される。予め、伝送遅延を配分してからRTLを設計でき、インプリメント時の問題を予測でき、手戻り(イタレーション)を削減できる。
従って、このように、アーキテクチャ設計時にタイミングを考慮したフリップフロップが挿入されるので、RTLの再設計の手戻りが削減できる。加えて、フリップフロップを挿入する場合、バッファを挿入する場合に比較して、制御条件(セットアップ時間)を満たすべき遅延時間を超えてしまってもパスを分割することにより、制約条件内に遅延時間を抑えることができる。
Further, as described above, STA is performed based on the floor plan result, and if it does not fit in one cycle, a flip-flop or buffer insertion instruction is output as a distribution report. It is possible to design an RTL after allocating transmission delay in advance, predict problems during implementation, and reduce rework (iteration).
Accordingly, since the flip-flop considering the timing is inserted at the time of the architecture design in this way, the rework of the RTL redesign can be reduced. In addition, when inserting a flip-flop, the delay time is within the constraints by dividing the path even if the delay time that should satisfy the control condition (setup time) is exceeded, compared to when a buffer is inserted. Can be suppressed.

(C)その他
本発明は上述した実施態様に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、種々変形して実施することができる。
例えば例示した名称は、種々変更することができる。なお、上記の説明におけるデータイメージは、その形式に限定されるものではない。第1実施形態において、名称の表記は、ハイフン記号の代わりに、アンダースコア記号を用いることもできる。
(C) Others The present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the spirit of the present invention.
For example, the exemplified names can be variously changed. Note that the data image in the above description is not limited to that format. In the first embodiment, an underscore symbol can be used instead of a hyphen symbol for the name.

固有化処理,テスト回路生成処理,負荷調整処理の順番は、この順に限定されるのではなく、種々変更したり、これらの処理の間に他の処理を入れて実行されることは言うまでもなく、それらの順番を変更したものに対しても、本発明の優位性は何ら損なわれることはない。
(D)付記
(付記1) 回路に関する情報を保持する回路情報データベースと、
該回路情報データベースから該回路に関する情報を読み出し所定の処理すべき単位ごとに該回路を設計する設計処理部と、
該設計処理部において得られた少なくとも回路要素の固有化情報,該回路を変更した履歴を表す変更履歴情報及び該回路の端子負荷・駆動能力情報を含む設計情報を保持する設計情報データベースとをそなえて構成されたことを特徴とする、回路設計装置。
The order of the unique processing, test circuit generation processing, and load adjustment processing is not limited to this order, and it goes without saying that various processing is performed or other processing is performed between these processing. The superiority of the present invention is not impaired even when the order is changed.
(D) Appendix (Appendix 1) A circuit information database that holds information about the circuit;
A design processing unit that reads out information about the circuit from the circuit information database and designs the circuit for each unit to be processed;
And a design information database for storing design information including at least circuit element specific information obtained in the design processing unit, change history information indicating a history of modification of the circuit, and terminal load / drive capability information of the circuit. A circuit design apparatus characterized by being configured as described above.

(付記2) 該設計処理部が、
該設計情報データベースから該固有化情報を読み出して、該処理すべき単位のそれぞれについて相異なる固有名を付与する固有化処理部と、
該設計情報データベースから該変更履歴情報を読み出し上位階層のテスト回路を生成しうるテスト回路生成処理部と、
該設計情報データベースから該端子負荷・駆動能力情報を読み出し該上位階層の回路に含まれる端子のそれぞれについて該設計情報を付与するとともに、該設計情報に基づいて負荷を調整する負荷調整処理部とをそなえて構成されたことを特徴とする、付記1記載の回路設計装置。
(Appendix 2) The design processing unit
A unique processing unit that reads the unique information from the design information database and assigns different unique names to the units to be processed;
A test circuit generation processing unit capable of reading the change history information from the design information database and generating a test circuit of an upper layer;
A load adjustment processing unit that reads out the terminal load / driving capability information from the design information database, assigns the design information to each of the terminals included in the upper layer circuit, and adjusts the load based on the design information; The circuit design device according to appendix 1, wherein the circuit design device is configured.

(付記3) 該固有化処理部と、該テスト回路生成処理部と、該負荷調整処理部とのうちの少なくとも一つが、
該処理すべき単位のうちの一つの単位が、他の独立して設計された単位を階層的に内包した状態で上記回路の設計を行なう階層設計をするように構成されたことを特徴とする、付記2記載の回路設計装置。
(Supplementary Note 3) At least one of the unique processing unit, the test circuit generation processing unit, and the load adjustment processing unit includes:
One of the units to be processed is configured to perform a hierarchical design in which the circuit is designed in a state in which other independently designed units are hierarchically included. The circuit design device according to appendix 2.

(付記4) 該固有化処理部が、
該設計情報データベースに基づいて、該回路要素の名称に関するパラメータに基づき、該処理すべき単位のそれぞれについて固有名を付与すべく、固有名付与規則を設定する固有名付与規則設定部と、
該固有名付与規則設定部にて設定された該固有名付与規則に基づいて、該処理すべき単位に、既に処理された単位に付与した固有名と異なる固有名を生成する固有名生成部とをそなえて構成されたことを特徴とする、付記3記載の回路設計装置。
(Supplementary Note 4)
Based on the design information database, on the basis of parameters relating to the names of the circuit elements, a proper name assignment rule setting unit for setting proper name assignment rules for assigning proper names for each of the units to be processed;
Based on the proper name assignment rule set by the proper name assignment rule setting unit, a proper name generation unit that generates a unique name different from the proper name assigned to the unit that has already been processed, in the unit to be processed; The circuit design device according to appendix 3, characterized by comprising:

(付記5) 該固有化処理部が、
同一の回路単位を複数使用している箇所を検索し、該箇所における回路単位の種別について、階層,セル,ブラックボックスを判別する複数参照解析部をそなえ、
該固有名生成部が、
該複数参照解析部にて判別された、複数参照単位及び単一参照単位のそれぞれについて固有名を生成するように構成されたことを特徴とする、付記4記載の回路設計装置。
(Supplementary Note 5)
Searching for locations where the same circuit unit is used more than once, and providing a multiple reference analysis unit for determining the hierarchy, cell, and black box for the type of circuit unit at the location,
The proper name generation unit
The circuit design device according to appendix 4, wherein a unique name is generated for each of a plurality of reference units and a single reference unit determined by the plurality of reference analysis units.

(付記6) 該固有化処理部が、
該固有名生成部にて生成された固有名を該複数参照単位と該単一参照単位とのそれぞれに割り付けて、回路データを複製する回路データ複製部とをそなえて構成されたことを特徴とする、付記5記載の回路設計装置。
(付記7) 該固有化処理部と、該テスト回路生成処理部と、該負荷調整処理部とのうちの少なくとも一つが、該上位階層を処理するときには、
該設計情報データベースに書き込まれた該設計情報に基づいて、処理すべき単位について処理対象/非処理対象を判別する処理対象判別部と、
該処理対象判別部により判別された該処理対象/処理対象外に基づいて、該回路情報データベースから該処理すべき単位の回路データを取得する処理データ取得部とをそなえて構成されたことを特徴とする、付記3記載の回路設計装置。
(Appendix 6) The unique processing unit
A circuit data duplicating unit for duplicating circuit data by allocating the unique name generated by the unique name generating unit to each of the plurality of reference units and the single reference unit. The circuit design apparatus according to appendix 5.
(Supplementary Note 7) When at least one of the unique processing unit, the test circuit generation processing unit, and the load adjustment processing unit processes the upper layer,
A processing target determining unit that determines a processing target / non-processing target for a unit to be processed based on the design information written in the design information database;
A processing data acquisition unit configured to acquire circuit data of the unit to be processed from the circuit information database based on the processing target / non-processing target determined by the processing target determination unit. The circuit design apparatus according to appendix 3.

(付記8) 該固有化処理部と、該テスト回路生成処理部と、該負荷調整処理部とのうちの少なくとも一つが、
該設計情報データベースに書き込まれた該設計情報に基づいて、処理すべき単位について処理対象/非処理対象を判別する処理対象判別部とをそなえて構成されたことを特徴とする、付記2記載の回路設計装置。
(Supplementary Note 8) At least one of the unique processing unit, the test circuit generation processing unit, and the load adjustment processing unit includes:
The supplementary note 2 is characterized by comprising a processing target determining unit for determining a processing target / non-processing target for a unit to be processed based on the design information written in the design information database. Circuit design equipment.

(付記9) 該処理対象判別部が、
該設計情報のうち、第1の単位を処理して得られる第1の単位の処理結果に関する第1単位情報に基づいて、次に処理する第2の単位が内包する単位が該処理された単位であるか否かを判別するように構成されたことを特徴とする、付記2記載の回路設計装置。
(付記10) 該テスト回路生成処理部が、
該設計情報データベースに保持された該設計情報に基づいて、下位階層にテスト信号入力用として追加した端子と上位階層が参照した階層における端子との間の端子不整合を解消する階層整合性復元部をそなえて構成されたことを特徴とする、付記3記載の回路設計装置。
(Supplementary note 9)
Based on the first unit information related to the processing result of the first unit obtained by processing the first unit in the design information, the unit included in the second unit to be processed next is the processed unit. 3. The circuit design device according to appendix 2, wherein the circuit design device is configured to determine whether or not.
(Supplementary Note 10) The test circuit generation processing unit
A hierarchical consistency restoration unit that eliminates terminal inconsistency between a terminal added as a test signal input in a lower hierarchy and a terminal in a hierarchy referenced by an upper hierarchy based on the design information held in the design information database The circuit design device according to appendix 3, characterized by comprising:

(付記11) 該固有化処理部と、該テスト回路生成処理部と、該負荷調整処理部とのうちの少なくとも一つが、
該処理すべき単位のうちの一部分を変更し、上記回路における他の部分を変更しないで再設計するエンジニアリングチェインジオーダー設計(以下、ECO設計と称する)をするように構成されたことを特徴とする、付記2記載の回路設計装置。
(Supplementary Note 11) At least one of the unique processing unit, the test circuit generation processing unit, and the load adjustment processing unit includes:
A part of the unit to be processed is changed, and an engineering chain order design (hereinafter referred to as ECO design) is performed for redesign without changing other parts of the circuit. The circuit design device according to appendix 2.

(付記12) 該固有化処理部と、該テスト回路生成処理部と、該負荷調整処理部とのうちの少なくとも一つが、
通常設計により作成された通常設計情報を読み込む設計情報読み込み部と、
該通常設計情報とパラメータで与えられるECO対象単位情報とを用いて処理すべき回路データを判別する処理対象判別部とをそなえ、
該通常設計情報を用いて通常設計された回路と変更箇所以外とが同一の回路を設計するように構成されたことを特徴とする、付記11記載の回路設計装置。
(Supplementary Note 12) At least one of the unique processing unit, the test circuit generation processing unit, and the load adjustment processing unit includes:
A design information reading unit that reads normal design information created by normal design;
A processing target determination unit that determines circuit data to be processed using the normal design information and ECO target unit information given by parameters;
12. The circuit design device according to appendix 11, wherein the circuit designed by using the normal design information is designed to design a circuit that is the same as a circuit that is normally designed except for the changed part.

(付記13) 該固有化処理部が、
該上位階層が該設計情報を参照する場合に、該処理すべき単位を該複数参照の回数分だけ複製し該付加後の処理すべき単位のそれぞれに該固有名を付与すべく、
該設計情報データベースに書き込まれた該設計情報に基づいて、処理すべき単位について処理対象/非処理対象を判別する処理対象判別部と、
該処理対象判別部にて処理対象と判別された場合は該設計情報データベースに保持された該参照関係と同一の参照関係になるように該固有名を生成し、非処理対象と判別された場合は既に割り当てた固有名と異なる固有名を生成する固有名生成部とをそなえて構成されたことを特徴とする、付記11記載の回路設計装置。
(Supplementary note 13)
When the upper layer refers to the design information, the unit to be processed is duplicated as many times as the plurality of references, and the unique name is assigned to each unit to be processed after the addition.
A processing target determining unit that determines a processing target / non-processing target for a unit to be processed based on the design information written in the design information database;
When the processing target determination unit determines that the processing target is to be processed, the unique name is generated so that the reference relationship is the same as the reference relationship stored in the design information database, and the processing target determination unit determines that the processing target is not to be processed The circuit design device according to appendix 11, characterized by comprising a unique name generator for generating a unique name different from the already assigned unique name.

(付記14) 該テスト回路生成処理部が、
該設計情報データベースに基づいて、ECO設計対象単位について、通常設計時に作成された通常設計情報及びテスト回路規則を用いて、該通常設計時と同一のテスト回路を生成できる部分と、新たなテスト回路を生成すべき部分とのそれぞれを識別する識別データを抽出する回路解析部とをそなえて構成されたことを特徴とする、付記11記載の回路設計装置。
(Supplementary Note 14) The test circuit generation processing unit
Based on the design information database, using the normal design information and test circuit rules created during normal design for the ECO design target unit, a part that can generate the same test circuit as during normal design, and a new test circuit 12. A circuit design apparatus according to appendix 11, characterized by comprising a circuit analysis unit for extracting identification data for identifying each of the parts to be generated.

(付記15) 該テスト回路生成処理部が、
該設計情報データベースに保持された該設計情報に基づいて、下位階層にテスト信号入力用として追加した端子と上位階層が参照した階層における端子との間の端子不整合を解消する階層整合性復元部をそなえ、
該階層整合性復元部が、
該設計情報のうち通常設計時についての通常時設計情報とECO設計対象単位と該上位階層における端子情報とを用いて、階層整合性を復元するように構成されたことを特徴とする、付記11記載の回路設計装置。
(Supplementary Note 15) The test circuit generation processing unit
A hierarchical consistency restoration unit that eliminates terminal inconsistency between a terminal added as a test signal input in a lower hierarchy and a terminal in a hierarchy referenced by an upper hierarchy based on the design information held in the design information database With
The hierarchical consistency restoration unit
Supplementary note 11 characterized in that it is configured to restore hierarchical consistency using normal design information about normal design, ECO design target unit, and terminal information in the higher hierarchy among the design information. The circuit design apparatus described.

(付記16) 該テスト回路生成処理部が、
該回路解析部により抽出された識別データに基づき、該ECO設計対象単位について、通常設計時と同一のテスト回路を生成できる部分について同一のテスト回路を生成し、新たなテスト回路を生成すべき部分についてテスト回路規則に従ったテスト回路を生成するテスト回路生成部とをそなえて構成されたことを特徴とする、付記14記載の回路設計装置。
(Supplementary Note 16) The test circuit generation processing unit
Based on the identification data extracted by the circuit analysis unit, for the ECO design target unit, the same test circuit is generated for the part that can generate the same test circuit as in normal design, and a new test circuit is to be generated 15. The circuit design device according to appendix 14, characterized by comprising a test circuit generation unit for generating a test circuit in accordance with the test circuit rules.

(付記17) 該固有化処理部が、
該設計情報データベースから該設計情報を読み出す設計情報読み込み部とをそなえ、
該設計情報読み込み部が、
固有化前の階層名と固有化後の階層名とを対応づけて、固有化前の階層名による固有化後の回路データを参照できるように構成されたことを特徴とする、付記2又は付記11記載の回路設計装置。
(Supplementary Note 17) The unique processing unit
A design information reading unit for reading the design information from the design information database;
The design information reading unit
Supplementary Note 2 or Supplementary Note, wherein the hierarchical name before uniqueization is associated with the hierarchical name after uniqueization so that the circuit data after uniqueization by the hierarchical name before uniqueization can be referred to 11. The circuit design device according to 11.

(付記18) 該負荷調整処理部が、
論理素子が駆動可能な端子容量を解析して、駆動不能な端子を抽出する負荷解析部と、
該負荷解析部にて抽出された該駆動不能な端子の駆動能力を調整する回路調整部とをそなえて構成されたことを特徴とする、付記2記載の回路設計装置。
(付記19) 該回路情報データベースが、
階層設計とエンジニアリングチェインジオーダー設計(以下、ECO設計と称する)とのうちの少なくとも一方において、
該処理された単位ごとに回路情報を該回路情報データベースに書き込む回路情報書き込み部と、
該回路情報書き込み部に接続され、該処理すべき単位ごとに書き込まれた回路情報を参照できる参照部とをそなえて構成されたことを特徴とする、付記1記載の回路設計装置。
(Supplementary Note 18) The load adjustment processing unit
Analyzing the terminal capacitance that can be driven by the logic element, and extracting a terminal that cannot be driven,
3. The circuit design device according to appendix 2, characterized by comprising a circuit adjustment unit that adjusts the drive capability of the non-driveable terminal extracted by the load analysis unit.
(Supplementary note 19) The circuit information database is
In at least one of hierarchical design and engineering change order design (hereinafter referred to as ECO design),
A circuit information writing unit for writing circuit information to the circuit information database for each processed unit;
The circuit design apparatus according to appendix 1, characterized by comprising a reference unit connected to the circuit information writing unit and capable of referring to the circuit information written for each unit to be processed.

(付記20) 該設計情報データベースが、
該回路要素を個別のファイルに保存しうる複数の保持部をそなえて構成されたことを特徴とする、付記11記載の回路設計装置。
(付記21) 回路設計方法において、
回路に関する情報を保持する回路情報データベースから該回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる設計処理部において、第1の単位を処理して得られる第1の単位の処理結果に関する第1単位情報を生成する処理生成ステップと、
該処理生成ステップにて生成中の少なくとも回路要素の固有化情報,該回路を変更した履歴を表す変更履歴情報及び該回路の端子負荷・駆動能力情報を含む設計情報を収集する設計情報収集ステップと、
該設計情報収集ステップにて収集された該設計情報を、該設計処理部に接続され該設計情報を保持する設計情報データベースに該処理すべき単位ごとに書き込む設計情報書き込みステップと、
該設計情報書き込みステップにて書き込まれた該設計情報に基づいて第2の単位を処理すべく、第1の単位に関する設計情報を参照する参照ステップと、
該参照ステップにて参照された第1の単位に関する設計情報についての参照関係を認識する認識ステップと、
該参照ステップにて得られた該参照関係に基づき、該回路情報データベースに保持された位置と処理結果とに関する単位情報を参照する回路情報データベース参照ステップと、
設計処理された回路データを更新する回路情報データベース書き込みステップとをそなえて構成されたことを特徴とする、回路設計方法。
(Supplementary note 20) The design information database is
12. The circuit design device according to appendix 11, characterized by comprising a plurality of holding units capable of storing the circuit elements in individual files.
(Supplementary Note 21) In the circuit design method,
A first unit obtained by processing the first unit in a design processing unit that reads out information about the circuit from a circuit information database that holds information about the circuit and designs the circuit for each unit to be processed. A process generation step of generating first unit information relating to the process result of
A design information collecting step for collecting design information including unique information of at least circuit elements being generated in the process generating step, change history information indicating a history of changing the circuit, and terminal load / drive capability information of the circuit; ,
A design information writing step for writing the design information collected in the design information collecting step for each unit to be processed in a design information database connected to the design processing unit and holding the design information;
A step of referring to design information relating to the first unit to process the second unit based on the design information written in the design information writing step;
A recognition step for recognizing a reference relationship with respect to the design information related to the first unit referred to in the reference step;
A circuit information database reference step for referring to unit information regarding the position and processing result held in the circuit information database based on the reference relationship obtained in the reference step;
A circuit design method comprising a circuit information database writing step for updating circuit data subjected to design processing.

(付記22) 回路設計方法において、
回路に関する情報を保持する回路情報データベースから該回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる設計処理部において、第3の単位を内包する第4の単位を処理する第1処理ステップと、
該第1処理ステップにて生成中の該第3の単位の処理結果に関する第3単位情報を収集する第3単位情報収集ステップと、
該第3単位情報収集ステップにて収集された該第3単位情報を、該設計処理部に接続され該設計情報を保持する設計情報データベースに書き込む設計情報書き込みステップと、
該設計情報書き込みステップにて書き込まれた該第3単位情報に基づき、該第3の単位を変更して得られる第3処理済単位が該第4の単位を変更して得られる第4処理済単位を内包するか否かを判別するとともに、該第3処理済単位が該第3の単位と同等か否かを判別する判別ステップとをそなえて構成されたことを特徴とする、回路設計方法。
(Supplementary Note 22) In the circuit design method,
Read the information about the circuit from the circuit information database holding the information about the circuit, and process the fourth unit including the third unit in the design processing unit that can design the circuit for each unit to be processed. A first processing step;
A third unit information collecting step for collecting third unit information relating to the processing result of the third unit being generated in the first processing step;
A design information writing step for writing the third unit information collected in the third unit information collecting step into a design information database connected to the design processing unit and holding the design information;
Based on the third unit information written in the design information writing step, a third processed unit obtained by changing the third unit is obtained by changing the fourth unit. A circuit design method comprising: a step of determining whether or not to include a unit, and a determination step of determining whether or not the third processed unit is equivalent to the third unit .

(付記23) コンピュータを、
回路に関する情報を保持する回路情報データベースから該回路に関する情報を読み出し所定の処理すべき単位ごとに該回路を設計するとともに、該設計によって得られた少なくとも回路要素の固有化情報,該回路を変更した履歴を表す変更履歴情報及び該回路の端子負荷・駆動能力情報を含む設計情報を該設計情報データベースに保持するように機能させるための、プログラムが記録されたコンピュータ読み取り可能な記録媒体。
(Supplementary note 23)
The information related to the circuit is read from the circuit information database holding the information related to the circuit, the circuit is designed for each unit to be processed, and the at least circuit element specific information obtained by the design is changed. A computer-readable recording medium on which a program is recorded for causing a function to hold design information including change history information representing a history and terminal load / drive capability information of the circuit in the design information database.

(付記24) コンピュータに、
回路に関する情報を保持する回路情報データベースから該回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる設計処理部において、第1の単位を処理して得られる第1の単位の処理結果に関する第1単位情報を生成する処理生成ステップと、
該処理生成ステップにて生成中の少なくとも回路要素の固有化情報,該回路を変更した履歴を表す変更履歴情報及び該回路の端子負荷・駆動能力情報を含む設計情報を収集する設計情報収集ステップと、
該設計情報収集ステップにて収集された該設計情報を、該設計処理部に接続され該設計情報を保持する設計情報データベースに該処理すべき単位ごとに書き込む設計情報書き込みステップと、
該設計情報書き込みステップにて書き込まれた該設計情報に基づいて第2の単位を処理すべく、第1の単位に関する設計情報を参照する参照ステップと、
該参照ステップにて参照された第1の単位に関する設計情報についての参照関係を認識する認識ステップと、
該参照ステップにて得られた該参照関係に基づき、該回路情報データベースに保持された位置と処理結果とに関する単位情報を参照する回路情報データベース参照ステップと、
設計処理された回路データを更新する回路情報データベース書き込みステップとを実行するように機能させるための、プログラムが記録されたコンピュータ読み取り可能な記録媒体。
(Supplementary Note 24)
A first unit obtained by processing the first unit in a design processing unit that reads out information about the circuit from a circuit information database that holds information about the circuit and designs the circuit for each unit to be processed. A process generation step of generating first unit information relating to the process result of
A design information collecting step for collecting design information including unique information of at least circuit elements being generated in the process generating step, change history information indicating a history of changing the circuit, and terminal load / drive capability information of the circuit; ,
A design information writing step for writing the design information collected in the design information collecting step for each unit to be processed in a design information database connected to the design processing unit and holding the design information;
A step of referring to design information relating to the first unit to process the second unit based on the design information written in the design information writing step;
A recognition step for recognizing a reference relationship with respect to the design information related to the first unit referred to in the reference step;
A circuit information database reference step for referring to unit information regarding the position and processing result held in the circuit information database based on the reference relationship obtained in the reference step;
A computer-readable recording medium on which a program is recorded for causing a circuit information database writing step of updating circuit data subjected to design processing to be executed.

(付記25) コンピュータに、
回路に関する情報を保持する回路情報データベースから該回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる設計処理部において、第3の単位を内包する第4の単位を処理する第1処理ステップと、
該第1処理ステップにて生成中の該第3の単位の処理結果に関する第3単位情報を収集する第3単位情報収集ステップと、
該第3単位情報収集ステップにて収集された該第3単位情報を、該設計処理部に接続され該設計情報を保持する設計情報データベースに書き込む設計情報書き込みステップと、
該設計情報書き込みステップにて書き込まれた該第3単位情報に基づき、該第3の単位を変更して得られる第3処理済単位が該第4の単位を変更して得られる第4処理済単位を内包するか否かを判別するとともに、該第3処理済単位が該第3の単位と同等か否かを判別する判別ステップとを実行するように機能させるための、プログラムが記録されたコンピュータ読み取り可能な記録媒体。
(Supplementary note 25)
Read the information about the circuit from the circuit information database holding the information about the circuit, and process the fourth unit including the third unit in the design processing unit that can design the circuit for each unit to be processed. A first processing step;
A third unit information collecting step for collecting third unit information relating to the processing result of the third unit being generated in the first processing step;
A design information writing step for writing the third unit information collected in the third unit information collecting step into a design information database connected to the design processing unit and holding the design information;
Based on the third unit information written in the design information writing step, a third processed unit obtained by changing the third unit is obtained by changing the fourth unit. A program is recorded for determining whether to include a unit and to execute a determination step for determining whether the third processed unit is equivalent to the third unit. Computer-readable recording medium.

(付記26) 階層設計において、
複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され、該回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部と、
該複数のタイミング配分作成部のそれぞれの間の接続を動的に変更するとともに、該複数のタイミング配分作成部のそれぞれの間と該タイミング配分値に関する修正情報を送受信する階層間連携マネージャとをそなえて構成されていることを特徴とする、タイミング配分装置。
(Supplementary note 26) In hierarchical design,
Block information related to the function of the circuit is input from a plurality of timing information databases having netlist information related to the wiring form provided corresponding to each of the plurality of design hierarchies, and delay values generated by delay elements of the circuit are allocated. A plurality of timing distribution generation units capable of outputting the obtained timing distribution values;
A connection between the plurality of timing distribution creation units is dynamically changed, and an inter-layer cooperation manager is provided that transmits and receives correction information related to the timing distribution value between each of the plurality of timing distribution creation units. A timing distribution device, characterized by being configured.

(付記27) 該タイミング配分作成部が、該複数の設計階層のそれぞれに対応して設けられ設計情報を有する階層エンティティと該設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、
該階層間連携マネージャが、該エージェントとしての該タイミング配分作成部に接続され該複数の設計階層のそれぞれと該タイミング配分値に関する情報を送受信するマネージャとして構成されたことを特徴とする、付記26記載のタイミング配分装置。
(Supplementary Note 27) The timing distribution creation unit is configured as an agent having a hierarchy entity having design information provided corresponding to each of the plurality of design hierarchies and program data for processing the design information. ,
27. The appendix 26, wherein the inter-layer cooperation manager is configured as a manager that is connected to the timing distribution creation unit as the agent and transmits / receives information on the timing distribution value with each of the plurality of design layers. Timing distribution device.

(付記28) 該タイミング配分作成部が、
少なくとも設計言語のソースコードに関するネットリスト,該ブロック情報及び配線に関する制約情報を有する論理/制約情報を保持する論理/制約情報保持部と、
該論理/制約情報保持部に接続され、回路素子の配置及び回路素子間の配線に関するフロアプランに基づきタイミングを配分して仮配線を行なうフロアプラン部と、
該フロアプラン部に接続され、該ネットリスト情報を保持するタイミング情報保持部と、
該論理/制約情報保持部と該タイミング情報保持部とに接続され、少なくとも該ネットリスト情報に基づいて該遅延値を出力する配分マネージャとをそなえて構成されたことを特徴とする、付記27記載のタイミング配分装置。
(Supplementary Note 28) The timing distribution creation unit
A logic / constraint information holding unit for holding logic / constraint information having at least a netlist relating to the source code of the design language, the block information and the constraint information relating to wiring;
A floor plan unit that is connected to the logic / constraint information holding unit and distributes timing based on a floor plan related to arrangement of circuit elements and wiring between circuit elements, and performs temporary wiring;
A timing information holding unit connected to the floor plan unit and holding the netlist information;
Item 27. The apparatus according to claim 27, further comprising: a distribution manager connected to the logic / constraint information holding unit and the timing information holding unit and outputting at least the delay value based on the netlist information. Timing distribution device.

(付記29) 該フロアプラン部が、
該論理/制約情報保持部に接続され、属性情報としての配分値を該制約情報からのスラックに基づき改善と修正とが可能な部分を提示するとともに、該遅延要素情報に起因する配置情報を保持する配置処理部と、
該配置処理部に接続され、実配線への連携と仮配線とを行なうとともに配線情報を出力する実配線・仮配線実行部と、
該実配線・仮配線実行部に接続され、該配線情報を保持する配線情報保持部と、
該タイミング情報を出力すべく、少なくとも配線幅及び配線層に対応した単位長当たりの遅延値及び単位長当たりの負荷容量からなる物理テクノロジ情報を保持する物理テクノロジ情報保持部と、
該配線情報保持部と該物理テクノロジ情報保持部とに接続され、遅延長及び負荷容量に基づいて該配線情報を遅延値に変換して出力する変換部とをそなえて構成されたことを特徴とする、付記28記載のタイミング配分装置。
(Appendix 29) The floor plan section
Connected to the logic / constraint information holding unit, presents a portion where the distribution value as attribute information can be improved and corrected based on slack from the constraint information, and holds the arrangement information resulting from the delay element information An arrangement processing unit to
An actual wiring / provisional wiring execution unit that is connected to the placement processing unit and performs linkage to temporary wiring and temporary wiring and outputs wiring information;
A wiring information holding unit that is connected to the real wiring / provisional wiring execution unit and holds the wiring information;
A physical technology information holding unit that holds physical technology information including at least a delay value per unit length corresponding to a wiring width and a wiring layer and a load capacity per unit length in order to output the timing information;
The wiring information holding unit and the physical technology information holding unit are connected to each other, and are configured to include a conversion unit that converts the wiring information into a delay value based on a delay length and a load capacity, and outputs the delay value. The timing distribution device according to appendix 28.

(付記30) 該実配線・仮配線実行部が、
長い計算時間を要する実配線と計算時間が短い仮配線とを併用して配線し、かつ、該タイミング配分値を抽出するように構成されたことを特徴とする、付記29記載のタイミング配分装置。
(付記31) 該実配線・仮配線実行部が、
属性情報としての配分値を制約情報からのスラックに基づき改善と修正とが可能な部分を提示する配置支援部の配置結果に基づき、プリント回路基板と大規模集積回路との双方についてマンハッタン長仮配線するマンハッタン長仮配線部と、
該配置結果に基づき該プリント回路基板の縁に対して斜めに配線する斜め配線を用いて仮配線する斜めマンハッタン長仮配線部と、
該プリント回路基板と該大規模集積回路とについて配線する実配線連携部とをそなえて構成されたことを特徴とする、付記29記載のタイミング配分装置。
(Supplementary Note 30) The real wiring / provisional wiring execution unit
30. The timing distribution device according to appendix 29, wherein the timing distribution apparatus is configured to perform wiring in combination with an actual wiring that requires a long calculation time and a temporary wiring that has a short calculation time, and to extract the timing distribution value.
(Supplementary Note 31) The real wiring / provisional wiring execution unit
Manhattan-length temporary wiring for both printed circuit boards and large-scale integrated circuits based on the placement result of the placement support unit that presents parts that can be improved and modified based on slack from the constraint information. A Manhattan long temporary wiring section,
An oblique Manhattan length temporary wiring portion for temporary wiring using oblique wiring that is obliquely wired with respect to an edge of the printed circuit board based on the placement result;
30. The timing distribution device according to appendix 29, characterized by comprising an actual wiring link unit for wiring the printed circuit board and the large-scale integrated circuit.

(付記32) 該実配線・仮配線実行部が、
該マンハッタン長仮配線と該斜めマンハッタン長仮配線と実配線とに基づいて該仮配線するように構成されたことを特徴とする、付記31記載のタイミング配分装置。
(付記33) 該実配線・仮配線実行部が、
選択された該階層について該遅延値及び該負荷容量を、該物理テクノロジ情報保持部から読み出し、単位配線長当たりの遅延時間を変化させて配分するように構成されたことを特徴とする、付記29記載のタイミング配分装置。
(Supplementary Note 32) The real wiring / provisional wiring execution unit
32. The timing distribution device according to appendix 31, wherein the provisional wiring is configured based on the Manhattan long temporary wiring, the oblique Manhattan long temporary wiring, and the actual wiring.
(Supplementary Note 33) The actual wiring / temporary wiring execution unit
Supplementary note 29. The delay value and the load capacity of the selected hierarchy are read from the physical technology information holding unit and distributed by changing the delay time per unit wiring length. The timing distribution device described.

(付記34) 該実配線・仮配線実行部が、
該仮配線により得られた該タイミング配分値について計算された該マージンと配線密度を表す配線混雑度とに基づいて実配線するように構成されたことを特徴とする、付記31記載のタイミング配分装置。
(付記35) 該実配線・仮配線実行部が、
該実配線のみ行なえる他の計算機を援用する設計装置と連動させるべく、該実配線にて不足する情報に関する解析用の情報を出力するように構成されたことを特徴とする、付記31記載のタイミング配分装置。
(Appendix 34) The real wiring / provisional wiring execution unit
32. The timing distribution device according to appendix 31, wherein the timing distribution device is configured to perform actual wiring based on the margin calculated with respect to the timing distribution value obtained by the temporary wiring and a wiring congestion degree representing a wiring density. .
(Appendix 35) The real wiring / provisional wiring execution unit
Item 31. The supplementary note 31 is configured to output information for analysis related to information deficient in the actual wiring so as to be linked with a design apparatus that uses another computer capable of performing only the actual wiring. Timing distribution device.

(付記36) 該実配線・仮配線実行部が、
少なくとも配線禁止の領域と該配線混雑度とに基づいて、該仮配線及び実配線をするように構成されたことを特徴とする、付記31記載のタイミング配分装置。
(付記37) 該実配線・仮配線実行部が、
制約条件として使用されたクロック周波数に基づき到達しなければならない時間内に到達可能の可否を判定し、到達不可と判定すると複数の該回路ブロック間の該ネットリスト情報に対してバッファ及びフリップフロップのうちの少なくとも一つの挿入を指示するように構成されたことを特徴とする、付記31記載のタイミング配分装置。
(Supplementary Note 36) The actual wiring / temporary wiring execution unit
32. The timing distribution device according to appendix 31, wherein the timing distribution device is configured to perform the temporary wiring and the actual wiring based on at least a wiring prohibited area and the wiring congestion degree.
(Appendix 37) The real wiring / provisional wiring execution unit
Based on the clock frequency used as the constraint condition, it is determined whether or not it can be reached within the time that must be reached. The timing distribution device according to appendix 31, wherein the timing distribution device is configured to instruct insertion of at least one of them.

(付記38) 該実配線・仮配線実行部が、
該回路ブロックに含まれる端子を該制約情報に基づいて配置するように構成されたことを特徴とする、付記31記載のタイミング配分装置。
(付記39) 該階層間連携マネージャが、
該タイミング情報データベースに対して、該タイミング情報データが不足している該回路ブロックを抽出して入力するとともに、その不足している該回路ブロックを設計者に対して通知するように構成されたことを特徴とする、付記27記載のタイミング配分装置。
(Supplementary Note 38) The actual wiring / temporary wiring execution unit
32. The timing distribution device according to appendix 31, wherein terminals included in the circuit block are arranged based on the constraint information.
(Appendix 39) The inter-tier cooperation manager
The timing information database is configured to extract and input the circuit block for which the timing information data is lacking, and to notify the designer of the lack of the circuit block. 28. The timing distribution device according to appendix 27.

(付記40) 該フロアプラン部が、
該回路ブロック中の該配線幅を、実配線及び仮配線している間に変更できるように構成されたことを特徴とする、付記28記載のタイミング配分装置。
(付記41) 該階層間連携マネージャが、
該複数の配分マネージャの組み合わせを変更できるように構成されたことを特徴とする、付記27記載のタイミング配分装置。
(Appendix 40) The floor plan section
29. The timing distribution device according to appendix 28, wherein the wiring width in the circuit block is configured to be changed while performing actual wiring and temporary wiring.
(Supplementary note 41) The inter-tier cooperation manager
28. The timing distribution device according to appendix 27, wherein the combination of the plurality of distribution managers can be changed.

(付記42) 該タイミング配分作成部が、さらに、
大規模集積回路の階層の入出力バッファ情報からプリント回路基板の波形解析用の情報を生成する波形解析用情報作成部をそなえて構成されたことを特徴とする、付記28記載のタイミング配分装置。
(付記43) 該タイミング配分作成部が、
予め設定された他のタイミング仕様と該フロアプラン部にて配分された該タイミングとに基づいて、該タイミング配分値を出力するように構成されたことを特徴とする、付記28記載のタイミング配分装置。
(Supplementary Note 42) The timing distribution creation unit further includes:
29. The timing distribution device according to appendix 28, further comprising a waveform analysis information generation unit that generates information for waveform analysis of a printed circuit board from input / output buffer information of a hierarchy of a large-scale integrated circuit.
(Supplementary Note 43) The timing distribution creation unit
29. The timing distribution device according to appendix 28, wherein the timing distribution device is configured to output the timing distribution value based on other preset timing specifications and the timing allocated by the floor plan unit. .

(付記44) 該フロアプラン部が、
該回路ブロックの規模又は形状のうちの少なくとも一方を実配線及び仮配線している間に変更できるように構成されたことを特徴とする、付記28記載のタイミング配分装置。
(付記45) 該タイミング配分作成部が、
該ソースコードを用いて、論理設計時又はレイアウト検討からバックアノテートされたタイミング配分値を読み込むように構成されたことを特徴とする、付記28記載のタイミング配分装置。
(Appendix 44) The floor plan section
29. The timing distribution device according to appendix 28, wherein the timing distribution device is configured so that at least one of the scale and shape of the circuit block can be changed while performing actual wiring and temporary wiring.
(Supplementary Note 45) The timing distribution creation unit
29. The timing distribution device according to appendix 28, wherein the timing distribution device is configured to read a timing distribution value back-annotated from a logic design or layout study using the source code.

(付記46) 該タイミング配分作成部が、さらに、
該タイミング配分値に起因する情報を該ソースコードに書き込むアノテータをそなえて構成されたことを特徴とする、付記28記載のタイミング配分装置。
(付記47) 該アノテータが、
該ソースコードに、配線形態に関するネットリスト情報を書き込むように構成されたことを特徴とする、付記46記載のタイミング配分装置。
(Supplementary Note 46) The timing distribution creation unit
29. The timing distribution device according to appendix 28, further comprising an annotator for writing information resulting from the timing distribution value into the source code.
(Appendix 47) The annotator is
47. The timing distribution device according to appendix 46, wherein the source code is configured to write net list information relating to a wiring form.

(付記48) 該物理テクノロジ情報保持部が、
該配線長と、該単位長当たりの遅延値,該単位長当たりの負荷容量とを、相互に関連づけて保持するように構成されていることを特徴とする、付記29記載のタイミング配分装置。
(付記49) 該階層間連携マネージャが、
該複数のタイミング情報データベースのうちの一つが送信したタイミング配分仕様変更要求を受信し、該タイミング配分仕様変更が影響を与えうる他のタイミング情報データベースを抽出し、該他のタイミング情報データベースに対して該タイミング配分値の変更の可否を問い合わせるように構成されたことを特徴とする、付記26記載のタイミング配分装置。
(Supplementary Note 48) The physical technology information holding unit
30. The timing distribution device according to appendix 29, wherein the wiring length, the delay value per unit length, and the load capacity per unit length are held in association with each other.
(Supplementary Note 49) The inter-tier cooperation manager
The timing distribution specification change request transmitted by one of the plurality of timing information databases is received, another timing information database that can be affected by the timing distribution specification change is extracted, and the other timing information database is extracted. 27. The timing distribution device according to appendix 26, configured to inquire whether the timing distribution value can be changed.

(付記50) 該階層間連携マネージャが、
該他のタイミング情報データベースから該タイミング配分値の変更可能を受信すると、所望のタイミング情報データベースに対して変更可能を出力するように構成されたことを特徴とする、付記27記載のタイミング配分装置。
(付記51) 該階層間連携マネージャが、
該タイミング配分値が変更されると、その変更された階層よりも上位の該階層エンティティが更新されるように構成されたことを特徴とする、付記28記載のタイミング配分装置。
(Supplementary Note 50) The inter-tier cooperation manager
28. The timing distribution apparatus according to appendix 27, wherein the timing distribution device is configured to output a change possibility to a desired timing information database when receiving the change possibility of the timing distribution value from the other timing information database.
(Supplementary Note 51) The inter-tier cooperation manager
29. The timing distribution device according to appendix 28, wherein when the timing distribution value is changed, the hierarchy entity higher than the changed hierarchy is updated.

(付記52) 該配分マネージャが、
該論理/制約情報保持部に接続され、タイミング配分する配分エディタと、
該配分エディタと該論理/制約情報保持部と該タイミング情報保持部とに接続され、該ネットリスト情報を出力するデータベース参照登録部と、
自己の階層のタイミング配分情報と他の階層のタイミング配分情報とを入出力する自階層タイミング情報データベース出力・他階層タイミング情報データベース反映部と、
調停を行なう調停制御部とをそなえて構成されたことを特徴とする、付記27記載のタイミング配分装置。
(Supplementary Note 52) The allocation manager
A distribution editor that is connected to the logic / constraint information holding unit and distributes timing;
A database reference registration unit connected to the distribution editor, the logic / constraint information holding unit, and the timing information holding unit and outputting the netlist information;
Own hierarchy timing information database output / other hierarchy timing information database reflection unit for inputting / outputting timing distribution information of own hierarchy and timing distribution information of other hierarchy;
28. The timing distribution device according to appendix 27, further comprising an arbitration control unit that performs arbitration.

(付記53) 該配分マネージャが、
信号の到着時間の位相差を表すスキューを、配線形態に関するネットリスト情報の該配線パスのうち共通の配線パス以外のものに基づいて計算するように構成されたことを特徴とする、付記28記載のタイミング配分装置。
(付記54) 該配分マネージャが、
該配線パスに、副信号名として配線形態を表す名称を付与するように構成されたことを特徴とする、付記28記載のタイミング配分装置。
(Supplementary Note 53) The allocation manager
29. The apparatus according to claim 28, wherein the skew representing the phase difference of the arrival times of the signals is calculated based on the net list information relating to the wiring form based on the wiring path other than the common wiring path. Timing distribution device.
(Supplementary Note 54) The allocation manager
29. The timing distribution device according to appendix 28, wherein the wiring path is configured to give a name representing a wiring form as a sub-signal name.

(付記55) 該配分マネージャが、
副信号名とファンアウト数とを関連づけて命名するように構成されたことを特徴とする、付記28記載のタイミング配分装置。
(付記56) 該配分マネージャが、
配線した部分について、該制約情報の値に応じたグラデーションを操作画面にて色彩表示するように構成されたことを特徴とする、付記28記載のタイミング配分装置。
(Supplementary Note 55) The allocation manager
29. The timing distribution device according to appendix 28, wherein the sub-signal name and the fan-out number are associated and named.
(Supplementary Note 56) The allocation manager
29. The timing distribution device according to appendix 28, wherein a gradation corresponding to the value of the restriction information is displayed in a color on the operation screen for the wired portion.

(付記57) 該配分マネージャが、
該回路ブロックを示す図に、該タイミング配分値とタイミング配分できる値の範囲を表示するように構成されたことを特徴とする、付記28記載のタイミング配分装置。
(付記58) 階層設計するに当たり、コンピュータを、
複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され該回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部と、
該複数のタイミング配分作成部のそれぞれに接続され、該複数のタイミング配分作成部のそれぞれの間と該タイミング配分値に関する修正情報を送受信する階層間連携マネージャとして機能させるための、プログラムが記録されたコンピュータ読み取り可能な記録媒体。
(Supplementary Note 57) The allocation manager
29. The timing distribution apparatus according to appendix 28, wherein the timing distribution device is configured to display the timing distribution value and a range of values in which the timing distribution is possible in a diagram showing the circuit block.
(Supplementary Note 58) In designing a hierarchy, computers are
Provided corresponding to each of a plurality of design hierarchies, obtained by distributing block values related to the function of the circuit from a plurality of timing information databases having net list information related to the wiring form, and distributing delay values caused by delay elements of the circuit A plurality of timing distribution creation units capable of outputting timing distribution values;
A program is recorded that is connected to each of the plurality of timing distribution creation units, and functions as an inter-layer cooperation manager that transmits and receives correction information related to the timing distribution values between each of the plurality of timing distribution creation units. Computer-readable recording medium.

以上、詳述したような付記記載の本発明の関連技術としての回路設計装置,回路設計方法及び本発明のタイミング配分装置によれば、以下のような効果が得られる。
(1)回路設計装置が、回路に関する情報を保持する回路情報データベースと、回路情報データベースから回路に関する情報を読み出し所定の処理すべき単位ごとに回路を処理しうる設計処理部と、設計処理部において得られた少なくとも回路要素の固有化情報,回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を保持する設計情報データベースとをそなえて構成されているので、作業用メモリの使用量が最適化され、階層設計やECO設計における、設計者の負担を一括設計する場合と同等にまで削減できる。また、全自動化により連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。
As described above, according to the circuit design device, the circuit design method, and the timing distribution device of the present invention as the related art of the present invention described in the supplementary notes, the following effects can be obtained.
(1) a circuit design apparatus in which a circuit information database that holds information about a circuit, a design processing unit that reads out information about a circuit from the circuit information database and processes the circuit for each unit to be processed, and a design processing unit Since it is configured with at least the design information database that holds design information including at least circuit element specific information, change history information that represents the history of circuit changes, and circuit terminal load / drive capability information, The usage amount of the working memory is optimized, and the burden on the designer in hierarchical design and ECO design can be reduced to the same level as in the case of batch design. In addition, continuous processing is possible through full automation, which can reduce processing time and thus the design period.

(2)設計処理部が、設計情報データベースから固有化情報を読み出して、処理すべき単位のそれぞれについて相異なる固有名を付与する固有化処理部と、設計情報データベースから変更履歴情報を読み出し上位階層のテスト回路を生成しうるテスト回路生成処理部と、設計情報データベースから端子負荷・駆動能力情報を読み出し上位階層の回路に含まれる端子のそれぞれについて設計情報を付与するとともに、設計情報に基づいて負荷を調整する負荷調整処理部とをそなえて構成されてもよく、このようにすれば、階層の境界情報や端子などの設計情報が自動的に入力され、処理履歴から現在の処理における処理対象部分が、自動的に判断され、また、処理対象外の部分に含まれる設計情報が自動的に抽出されて、現在設計中の部分の処理に利用できる利点がある。   (2) The design processing unit reads the unique information from the design information database and assigns different unique names to each unit to be processed, and the change history information from the design information database and the upper hierarchy The test circuit generation processing unit that can generate the test circuit of the device, and the terminal load / drive capability information is read from the design information database, design information is assigned to each of the terminals included in the upper layer circuit, and the load based on the design information In this way, design information such as hierarchy boundary information and terminals is automatically input, and the processing target part in the current processing is processed from the processing history. Is automatically determined, and the design information included in the unprocessed part is automatically extracted to process the part currently being designed. There is an advantage that can be used to.

(3)回路設計方法が、回路に関する情報を保持する回路情報データベースから回路に関する情報を読み出して、所定の処理すべき単位ごとに回路を設計しうる設計処理部において、第1の単位を処理して得られる第1の単位の処理結果に関する第1単位情報を生成する処理生成ステップと、処理生成ステップにて生成中の少なくとも回路要素の固有化情報,回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を収集する設計情報収集ステップと、設計情報収集ステップにて収集された設計情報を、設計処理部に接続され設計情報を保持する設計情報データベースに処理すべき単位ごとに書き込む設計情報書き込みステップと、設計情報書き込みステップにて書き込まれた設計情報に基づいて第2の単位を処理すべく、第1の単位に関する設計情報を参照する参照ステップと、参照ステップにて参照された第1の単位に関する設計情報についての参照関係を認識する認識ステップと、参照ステップにて得られた参照関係に基づき、回路情報データベースに保持された位置と処理結果とに関する単位情報を参照する回路情報データベース参照ステップと、設計処理された回路データを更新する回路情報データベース書き込みステップとをそなえて構成されているので、下位階層について回路情報データベースからの読み出しが不要となり、固有化処理のために使用する、作業用メモリの容量等が大幅に節約できる。   (3) The circuit design method reads the information about the circuit from the circuit information database holding the information about the circuit, and processes the first unit in the design processing unit that can design the circuit for each unit to be processed. A process generation step for generating first unit information related to the processing result of the first unit obtained in this way, unique information of at least circuit elements being generated in the process generation step, change history information representing a history of circuit changes, and Design information collection step that collects design information including circuit terminal load and drive capability information, and the design information collected in the design information collection step is connected to the design processing unit and processed into a design information database that holds the design information The design information writing step for each unit to be written and the second unit based on the design information written in the design information writing step. Are obtained in the reference step for referring to the design information related to the first unit, the recognition step for recognizing the reference relationship for the design information related to the first unit referenced in the reference step, and the reference step. A circuit information database reference step for referring to unit information relating to positions and processing results held in the circuit information database, and a circuit information database writing step for updating design-processed circuit data. Therefore, reading from the circuit information database for the lower hierarchy is not required, and the capacity of the working memory used for the unique processing can be greatly saved.

(4)タイミング配分装置が、階層設計において、複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され、回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部と、複数のタイミング配分作成部のそれぞれの間の接続を動的に変更するとともに、複数のタイミング配分作成部のそれぞれの間とタイミング配分値に関する修正情報を送受信する階層間連携マネージャとをそなえて構成されているので、タイミング仕様が変更されたときに、その影響範囲を即座に参照でき、仕様変更の参照ミスがなくなる。また、仮配線と実配線との組み合わせにより、フロアプランの実行速度向上と精度の向上の両立が図れる。さらに、階層エンティティを用いることができ分散設計環境が構築でき、トップダウン設計において、必要部分のみ詳細化でき、一つの設計チームにおいて、試行検討で分割されたタイミング仕様の良否を検討でき、インプリメント時の問題を予測でき、手戻りを削減できる。   (4) The timing distribution device is provided corresponding to each of the plurality of design layers in the hierarchical design, and block information related to the function of the circuit is input from a plurality of timing information databases having net list information related to the wiring form, A plurality of timing distribution generation units capable of outputting timing distribution values obtained by allocating delay values caused by delay elements of the plurality of timing elements, and dynamically changing connections between the plurality of timing distribution generation units, and a plurality of timings Since it is configured with inter-tier linkage managers that send and receive correction information related to timing distribution values between each of the distribution creation units, when the timing specifications are changed, the affected range can be referred to immediately, and the specifications Change reference mistakes are eliminated. In addition, the combination of temporary wiring and actual wiring can improve both floor plan execution speed and accuracy. Furthermore, hierarchical entities can be used, a distributed design environment can be constructed, only the necessary parts can be detailed in top-down design, and the quality of the timing specifications divided by trial examination can be examined by one design team at the time of implementation. Problem can be predicted and rework can be reduced.

(5)タイミング配分作成部が、複数の設計階層のそれぞれに対応して設けられ設計情報を有する階層エンティティと設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、階層間連携マネージャが、エージェントとしてのタイミング配分作成部に接続され複数の設計階層のそれぞれとタイミング配分値に関する情報を送受信するマネージャとして構成されてもよく、このようにすれば、オブジェクト指向的な階層エンティティにより、論理設計と物理レイアウトとを融合させたタイミングドリブンレイアウト処理を行なうときに、各論理階層と物理階層との間における情報の流れが明確となり、連携が容易となる。   (5) The timing distribution creating unit is configured as an agent provided corresponding to each of a plurality of design hierarchies and having a hierarchy entity having design information and program data for processing the design information, and inter-tier cooperation The manager may be configured as a manager that is connected to the timing distribution creation unit as an agent and transmits / receives information on timing distribution values with each of a plurality of design hierarchies, and in this way, by an object-oriented hierarchical entity, When timing-driven layout processing that combines logical design and physical layout is performed, the flow of information between each logical hierarchy and physical hierarchy becomes clear, and cooperation is facilitated.

(6)固有化処理部が、固有名付与規則設定部と、固有名生成部とをそなえて構成されてもよく、このようにすれば、設計者が回路変更する前における元の固有名と、設計者により設定された設定値とに基づいて新たな名称が生成され、複数参照されて新たに名称が複数個生成されても、それらの名称の判別が明確にでき、設計者はそれらの名称をグループ分けが容易となり、処理すべき単位ごとにグルーピングできる。また、処理された単位と現在処理中の単位の名称との重複が回避される。   (6) The unique processing unit may be configured to include a unique name assigning rule setting unit and a unique name generation unit. In this way, the original unique name before the circuit is changed by the designer New names are generated based on the setting values set by the designer, and even when multiple names are generated by referring to multiple names, the names can be clearly identified. Names can be easily grouped and grouped by unit to be processed. Also, duplication of the processed unit and the name of the unit currently being processed is avoided.

(7)固有化処理部が同一の回路単位を複数使用している箇所を検索し、その箇所における回路単位の種別について、階層,セル,ブラックボックスを判別する複数参照解析部をそなえ、固有化処理部が前記複数参照解析部にて判別された、複数参照単位及び単一参照単位のそれぞれについて固有名を生成するように構成されてもよく、また、固有名生成部にて生成された固有名を複数参照単位と単一参照単位とのそれぞれに割り付けて、回路データを複製する回路データ複製部をそなえて構成されてもよく、このようにすれば、固有化処理が効率よくでき、かつ、きめ細かい設計が可能となる。   (7) The unique processing unit searches for a location where a plurality of the same circuit units are used, and includes a multiple reference analysis unit for discriminating a hierarchy, a cell, and a black box for the type of the circuit unit at the location, and is unique The processing unit may be configured to generate a unique name for each of the multiple reference unit and the single reference unit determined by the multiple reference analysis unit, and the unique name generated by the unique name generation unit A name may be assigned to each of a plurality of reference units and a single reference unit, and a circuit data duplicating unit that duplicates circuit data may be provided. In this way, the unique processing can be performed efficiently, and Fine design is possible.

(8)固有化処理部と、テスト回路生成処理部と、負荷調整処理部とが、それぞれ、上位階層を処理するときには、設計情報データベースに書き込まれた設計情報に基づいて、処理すべき単位について処理対象/非処理対象を判別する処理対象判別部と、処理対象判別部により判別された処理対象/処理対象外に基づいて、回路情報データベースから処理すべき単位の回路データを取得する処理データ取得部とをそなえて構成されてもよく、このようにすれば、作業用のメモリの節約が可能となる。   (8) When the unique processing unit, the test circuit generation processing unit, and the load adjustment processing unit respectively process the upper layer, the unit to be processed is based on the design information written in the design information database. Process data acquisition for acquiring a unit of circuit data to be processed from the circuit information database based on a process target determination unit for determining a process target / non-process target and a process target / non-process target determined by the process target determination unit In this way, it is possible to save working memory.

(9)固有化処理部と、テスト回路生成処理部と、負荷調整処理部とが、それぞれ、設計情報データベースに書き込まれた設計情報に基づいて、処理すべき単位について処理対象/非処理対象を判別する処理対象判別部とをそなえて構成されてもよく、このようにすれば、処理すべき部分に関する情報が容易に得られるようになる。
(10)処理対象判別部が、設計情報のうち、第1の単位を処理して得られる第1の単位の処理結果に関する第1単位情報に基づいて、次に処理する第2の単位が内包する単位が処理された単位であるか否かを判別するように構成されてもよく、このようにすれば、処理すべき対象の箇所を、容易に判別できる。
(9) The unique processing unit, the test circuit generation processing unit, and the load adjustment processing unit respectively select the processing target / non-processing target for the unit to be processed based on the design information written in the design information database. It may be configured to include a processing target determination unit for determining, and in this way, information regarding a portion to be processed can be easily obtained.
(10) The second unit to be processed next is included based on the first unit information on the processing result of the first unit obtained by processing the first unit in the design information. It may be configured to determine whether or not the unit to be processed is a processed unit, and in this way, the location to be processed can be easily determined.

(11)テスト回路生成処理部が、設計情報データベースに保持された設計情報に基づいて、下位階層にテスト信号入力用として追加した端子と上位階層が参照した階層における端子との間の端子不整合を解消する階層整合性復元部をそなえて構成されてもよく、このようにすれば、ECO設計における設計者の操作性が大幅に向上する。
(12)固有化処理部と、テスト回路生成処理部と、負荷調整処理部とが、それぞれ、ECO設計するように構成されてもよく、このようにすれば、回路の設計が同一の操作手順を使用できる。
(11) Based on the design information held in the design information database, the terminal mismatch between the terminal added for test signal input to the lower layer and the terminal in the layer referenced by the upper layer based on the design information held in the design information database In this way, the operability of the designer in ECO design is greatly improved.
(12) The unique processing unit, the test circuit generation processing unit, and the load adjustment processing unit may each be configured to perform ECO design, and in this way, an operation procedure with the same circuit design. Can be used.

(13)固有化処理部と、テスト回路生成処理部と、負荷調整処理部とが、それぞれ、通常設計により作成された通常設計情報を読み込む設計情報読み込み部と、通常設計情報とパラメータで与えられるECO対象単位情報とを用いて処理すべき回路データを判別する処理対象判別部とをそなえ、通常設計情報を用いて通常設計された回路と変更箇所以外とが同一の回路を設計するように構成されてもよく、このようにすれば、全自動化により連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。   (13) The unique processing unit, the test circuit generation processing unit, and the load adjustment processing unit are given by a design information reading unit that reads normal design information created by normal design, and normal design information and parameters, respectively. A processing target discriminating unit for discriminating circuit data to be processed using the ECO target unit information is configured so that a circuit that is normally designed using normal design information and a circuit other than the changed part are designed in the same manner. In this way, continuous processing can be performed by full automation, and the processing time can be reduced, and thus the design period can be shortened.

(14)固有化処理部が、設計情報データベースに書き込まれた設計情報に基づいて、処理すべき単位について処理対象/非処理対象を判別する処理対象判別部と、処理対象判別部にて処理対象と判別された場合は設計情報データベースに保持された参照関係と同一の参照関係になるように固有名を生成し、非処理対象と判別された場合は既に割り当てた固有名と異なる固有名を生成する固有名生成部とをそなえて構成されてもよく、このようにすれば、上位階層が設計情報を参照する場合に、処理すべき単位を複数参照の回数分だけ複製でき、付加後の処理すべき単位のそれぞれに重複しない固有名を付与できる。   (14) The unique processing unit determines a processing target / non-processing target for a unit to be processed based on the design information written in the design information database, and a processing target in the processing target determination unit If it is determined, a unique name is generated so that the reference relationship is the same as the reference relationship held in the design information database. If it is determined that it is not to be processed, a unique name different from the already assigned unique name is generated. In this way, when the upper layer refers to the design information, the unit to be processed can be duplicated by the number of multiple references, and the processing after the addition is performed. Each unique unit can be given a unique name.

(15)テスト回路生成処理部が、設計情報データベースに基づいて、ECO設計対象単位について、通常設計時に作成された通常設計情報及びテスト回路規則を用いて、通常設計時と同一のテスト回路を生成できる部分と、新たなテスト回路を生成すべき部分とのそれぞれを識別する識別データを抽出する回路解析部とをそなえて構成されてもよく、このようにすれば、作業用メモリの使用量が最適化される。   (15) Based on the design information database, the test circuit generation processing unit generates the same test circuit as in the normal design using the normal design information and the test circuit rules created in the normal design for the ECO design target unit. And a circuit analysis unit that extracts identification data for identifying each of a portion where a new test circuit should be generated and a circuit analysis unit that extracts identification data. Optimized.

(16)階層整合性復元部が、設計情報のうち通常設計時についての通常時設計情報とECO設計対象単位と上位階層における端子情報とを用いて、階層整合性を復元するように構成されてもよく、このようにすれば、大規模回路を部分ごとに設計できる。
(17)テスト回路生成処理部が、回路解析部により抽出された識別データに基づき、ECO設計対象単位について、通常設計時と同一のテスト回路を生成できる部分について同一のテスト回路を生成し、新たなテスト回路を生成すべき部分についてテスト回路規則に従ったテスト回路を生成するテスト回路生成部とをそなえて構成されてもよく、このようにすれば、ECO設計の設計効率が大幅に向上する。
(16) The hierarchical consistency restoration unit is configured to restore the hierarchical consistency using the normal design information about the normal design, the ECO design target unit, and the terminal information in the upper hierarchy among the design information. In this way, a large-scale circuit can be designed for each part.
(17) Based on the identification data extracted by the circuit analysis unit, the test circuit generation processing unit generates, for the ECO design target unit, the same test circuit for a portion that can generate the same test circuit as in normal design, A portion that should generate a test circuit may be configured to include a test circuit generation unit that generates a test circuit in accordance with the test circuit rule. In this way, the design efficiency of ECO design is greatly improved. .

(18)設計情報読み込み部が、固有化前の階層名と固有化後の階層名とを対応づけて、固有化前の階層名による固有化後の回路データを参照できるように構成されてもよく、このようにすれば、固有化処理の有無と固有化前後における階層名とを得られる。
(19)負荷調整処理部が、論理素子が駆動可能な端子容量を解析して、駆動不能な端子を抽出する負荷解析部と、負荷解析部にて抽出された駆動不能な端子の駆動能力を調整する回路調整部とをそなえて構成されてもよく、このようにすれば、回路における各端子がいずれも適切な容量に調整されるようになる。
(18) Even if the design information reading unit is configured to associate the hierarchical name before uniqueization with the hierarchical name after uniqueization and refer to circuit data after uniqueization by the hierarchical name before uniqueization. In this way, it is possible to obtain the presence / absence of the unique process and the hierarchy names before and after the unique process.
(19) The load adjustment processing unit analyzes the terminal capacity that can be driven by the logic element, and extracts a non-driveable terminal, and the drive capability of the non-driveable terminal extracted by the load analysis unit A circuit adjustment unit to be adjusted may be provided, and in this way, each terminal in the circuit is adjusted to an appropriate capacity.

(20)回路情報データベースが、階層設計とECO設計とにおいて、処理された単位ごとに回路情報を回路情報データベースに書き込む回路情報書き込み部と、回路情報書き込み部に接続され、処理すべき単位ごとに書き込まれた回路情報を参照できる参照部とをそなえて構成されてもよく、このようにすれば、設計効率が向上する。
(21)設計情報データベースが、回路要素を個別のファイルに保存しうる複数の保持部をそなえて構成されてもよく、このようにすれば、設計情報が回路設計に反映され、設計期間等の作業効率が向上する。
(20) A circuit information database is connected to the circuit information writing unit for writing circuit information to the circuit information database for each processed unit in the hierarchical design and the ECO design, and connected to the circuit information writing unit for each unit to be processed. A reference unit that can refer to the written circuit information may be provided. In this way, design efficiency is improved.
(21) The design information database may be configured to include a plurality of holding units that can store circuit elements in individual files. In this way, the design information is reflected in the circuit design, and the design period, etc. Work efficiency is improved.

(22)回路設計方法が、設計処理部において、第3の単位を内包する第4の単位を処理する第1処理ステップと、生成中の第3の単位の処理結果に関する第3単位情報を収集する第3単位情報収集ステップと、収集された第3単位情報を設計処理部に接続され設計情報を保持する設計情報データベースに書き込む設計情報書き込みステップと、書き込まれた第3単位情報に基づき、第3の単位を変更して得られる第3処理済単位が第4の単位を変更して得られる第4処理済単位を内包するか否かを判別するとともに、第3処理済単位が第3の単位と同等か否かを判別する判別ステップとをそなえて構成されているので、全自動化により連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。階層設計が容易に実現でき、また、大規模回路の階層設計が非常に効率よくできる。   (22) The circuit design method collects, in the design processing unit, the first processing step for processing the fourth unit including the third unit, and the third unit information regarding the processing result of the third unit being generated. A third unit information collecting step, a design information writing step for writing the collected third unit information to a design information database connected to the design processing unit and holding the design information, and a third unit information based on the written third unit information. It is determined whether or not the third processed unit obtained by changing the unit of 3 includes the fourth processed unit obtained by changing the fourth unit, and the third processed unit is the third processed unit. Since it is configured to include a determination step for determining whether or not it is equivalent to a unit, continuous processing can be performed by full automation, and the processing time can be reduced, and thus the design period can be shortened. Hierarchical design can be easily realized, and hierarchical design of large-scale circuits can be performed very efficiently.

(23)本発明のプログラムが、コンピュータを、回路情報データベースから回路に関する情報を読み出し処理すべき単位ごとに回路を設計するとともに、設計によって得られた回路要素の固有化情報,回路を変更した履歴を表す変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を設計情報データベースに保持するように機能させているので、大規模回路を設計する環境を簡便に構築することができる。   (23) The program of the present invention reads out information about a circuit from a circuit information database and designs a circuit for each unit to be processed, as well as circuit element specific information obtained by the design and history of circuit changes. Since the design information including the change history information representing the circuit information and the terminal load / drive capability information of the circuit is held in the design information database, an environment for designing a large-scale circuit can be easily constructed.

(24)本発明のプログラムが、コンピュータに、設計処理部において、第1の単位の処理結果に関する第1単位情報を生成する処理生成ステップと、生成中の変更履歴情報及び回路の端子負荷・駆動能力情報を含む設計情報を収集する設計情報収集ステップと、収集された設計情報を、設計情報データベースに処理すべき単位ごとに書き込む設計情報書き込みステップと、書き込まれた設計情報に基づいて第2の単位を処理すべく、第1の単位に関する設計情報を参照する参照ステップと、参照された第1の単位に関する設計情報についての参照関係を認識する認識ステップと、得られた参照関係に基づき、回路情報データベースに保持された位置と処理結果とに関する単位情報を参照する回路情報データベース参照ステップと、設計処理された回路データを更新する回路情報データベース書き込みステップとを実行するように機能させるので、例えば内包する場合には第1の単位が処理済であるか否かが自動的に認識される。   (24) The program according to the present invention causes the design processing unit to generate a first unit information related to the processing result of the first unit in the computer, a change history information being generated, and a terminal load / drive of the circuit A design information collecting step for collecting design information including capability information, a design information writing step for writing the collected design information for each unit to be processed in the design information database, and a second based on the written design information. Based on the obtained reference relationship, a reference step for referring to the design information related to the first unit, a recognition step for recognizing the reference relationship for the design information related to the referenced first unit to process the unit Circuit information database reference step for referring to unit information related to the position and processing result held in the information database, and design processing Since the is operable to execute a circuit information database writes updating circuit data, whether or not the first unit is already processing is automatically recognized in the case of for example contained.

(25)本発明のプログラムは、コンピュータに、回路情報データベースから回路に関する情報を読み出して、設計処理部において、第3の単位を内包する第4の単位を処理する第1処理ステップと、生成中の第3の単位の処理結果に関する第3単位情報を収集する第3単位情報収集ステップと、収集された第3単位情報を、設計情報データベースに書き込む設計情報書き込みステップと、書き込まれた第3単位情報に基づき、第3の単位を変更して得られる第3処理済単位が第4の単位を変更して得られる第4処理済単位を内包するか否かを判別するとともに、第3処理済単位が第3の単位と同等か否かを判別する判別ステップとを実行するように機能させるので、全自動化により連続処理が可能になり、処理時間の削減、ひいては設計期間を短縮できる。   (25) A program according to the present invention reads out information relating to a circuit from a circuit information database to a computer, and a first processing step of processing a fourth unit including the third unit in a design processing unit; A third unit information collecting step for collecting third unit information relating to the processing result of the third unit, a design information writing step for writing the collected third unit information in the design information database, and the written third unit Based on the information, it is determined whether the third processed unit obtained by changing the third unit includes the fourth processed unit obtained by changing the fourth unit, and the third processed unit Since the function to execute the determination step for determining whether the unit is equal to the third unit or not, continuous processing is possible by full automation, reducing the processing time and consequently the design period. It can be shortened.

(26)タイミング配分作成部が、複数の設計階層のそれぞれに対応して設けられた階層エンティティと設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、階層間連携マネージャが、エージェントとしてのタイミング配分作成部に接続され複数の設計階層のそれぞれとタイミング配分値に関する情報を送受信するマネージャとして構成されてもよく、このようにすれば、複数の設計階層が、相互に、階層間連携マネージャを介して通信できる。   (26) The timing distribution creating unit is configured as an agent having a hierarchy entity provided corresponding to each of a plurality of design hierarchies and program data for processing design information, and It may be configured as a manager that is connected to the timing distribution creation unit as an agent and transmits / receives information on timing distribution values to / from each of a plurality of design hierarchies. Communication is possible via the cooperation manager.

(27)タイミング配分作成部が、遅延要素情報を保持する論理/制約情報保持部と、フロアプランに基づきタイミングを配分して仮配線を行なうフロアプラン部と、ネットリスト情報を保持するタイミング情報保持部と、ネットリスト情報に基づいて遅延値を出力する配分マネージャとをそなえて構成されてもよく、このようにすれば、柔軟な設計変更が可能となる。   (27) A timing distribution creating unit holds a logic / constraint information holding unit that holds delay element information, a floor plan unit that distributes timing based on a floor plan and performs temporary wiring, and holds timing information that holds netlist information And a distribution manager that outputs a delay value based on the netlist information. In this way, a flexible design change is possible.

(28)フロアプラン部が、属性情報としての配分値を制約情報からのスラックに基づき改善と修正とが可能な部分を提示するとともに遅延要素情報に起因する配置情報を保持する配置処理部と、実配線への連携と仮配線とを行なうとともに配線情報を出力する実配線・仮配線実行部と、配線情報を保持する配線情報保持部と、単位長当たりの遅延値及び単位長当たりの負荷容量からなる物理テクノロジ情報を保持する物理テクノロジ情報保持部と、遅延長及び負荷容量に基づいて配線情報を遅延値に変換して出力する変換部とをそなえて構成されてもよく、このようにすれば、容易に配線長から遅延値が算出される。   (28) a layout processing unit that presents a portion that can be improved and modified based on slack from the constraint information with respect to the distribution value as attribute information, and that stores the layout information resulting from the delay element information; Real wiring / temporary wiring execution unit for linking to temporary wiring and temporary wiring and outputting wiring information, wiring information holding unit for holding wiring information, delay value per unit length and load capacity per unit length A physical technology information holding unit that holds physical technology information, and a conversion unit that converts the wiring information into a delay value based on the delay length and the load capacity, and outputs it. For example, the delay value can be easily calculated from the wiring length.

(29)実配線・仮配線実行部が、長い計算時間を要する実配線と計算時間が短い仮配線とを併用して配線し、かつ、タイミング配分値を抽出するように構成されてもよく、このようにすれば、設計者は仮配線によりタイミング仕様を検討しその検討にて得られた結果に基づいてタイミング配分を変更して実配線できる。
(30)実配線・仮配線実行部が、PCBとLSIとの双方についてマンハッタン長仮配線するマンハッタン長仮配線部と、斜めに配線する斜め配線を用いて仮配線する斜めマンハッタン長仮配線部と、プリント回路基板と大規模集積回路とについて配線する実配線連携部とをそなえて構成されてもよく、このようにすれば、配線作業の効率が向上する。
(29) The actual wiring / temporary wiring execution unit may be configured to perform wiring using both the actual wiring that requires a long calculation time and the temporary wiring that has a short calculation time, and extract a timing distribution value. In this way, the designer can examine the timing specifications by provisional wiring and change the timing distribution based on the result obtained by the examination to perform actual wiring.
(30) An actual wiring / temporary wiring execution unit, a Manhattan length temporary wiring unit for temporary wiring of Manhattan length for both PCB and LSI, and an oblique Manhattan length temporary wiring unit for temporary wiring using diagonal wiring for diagonal wiring The printed circuit board and the large-scale integrated circuit may be provided with an actual wiring link unit for wiring, and in this way, the efficiency of wiring work is improved.

(31)実配線・仮配線実行部が、マンハッタン長仮配線と斜めマンハッタン長仮配線と実配線とに基づいて仮配線するように構成されてもよく、このようにすれば、配線混雑度が密な場所においても精度が向上する。
(32)実配線・仮配線実行部が、選択された階層について遅延値及び負荷容量を、物理テクノロジ情報保持部から読み出し、単位配線長当たりの遅延時間を変化させて配分するように構成されてもよく、このようにすれば、配線作業の効率が向上する。
(31) The actual wiring / temporary wiring execution unit may be configured to perform temporary wiring based on the Manhattan long temporary wiring, the oblique Manhattan long temporary wiring, and the actual wiring. Accuracy is improved even in dense places.
(32) The real wiring / provisional wiring execution unit is configured to read the delay value and the load capacity for the selected hierarchy from the physical technology information holding unit, and distribute the variable while changing the delay time per unit wiring length. In this way, the efficiency of the wiring work is improved.

(33)実配線・仮配線実行部が、仮配線により得られたタイミング配分値について計算されたマージンと配線密度を表す配線混雑度とに基づいて実配線するように構成されてもよく、このようにすれば、配線混雑度に応じて仮配線又は実配線が自動的に切り替えられるため、トレードオフを有効活用でき、設計者の手間を削減できる。
(34)実配線・仮配線実行部が、実配線のみ行なえる他の計算機を援用する設計装置と連動させるべく、実配線にて不足する情報に関する解析用の情報を出力するように構成されてもよく、このようにすれば、実配線する際に不足する情報が設計者に通知され、設計者がその情報に基づき解析に必要な情報を作成しその情報を実配線専用のレイアウトCAD装置に送信して配線できる。
(33) The actual wiring / provisional wiring execution unit may be configured to perform actual wiring based on the margin calculated for the timing distribution value obtained by the temporary wiring and the wiring congestion degree indicating the wiring density. By doing so, since the temporary wiring or the actual wiring is automatically switched according to the degree of wiring congestion, the trade-off can be effectively utilized, and the effort of the designer can be reduced.
(34) The real wiring / provisional wiring execution unit is configured to output information for analysis related to information lacking in the actual wiring so as to be linked with a design apparatus that supports other computers capable of performing only actual wiring. In this way, the designer is notified of information that is insufficient when actual wiring is performed, and the designer creates information necessary for analysis based on the information, and sends the information to the layout CAD device dedicated to actual wiring. Can be sent and wired.

(35)実配線・仮配線実行部が、配線禁止の領域と配線混雑度とに基づいて、仮配線及び実配線をするように構成されてもよく、このようにすれば、仮配線と設計対象となる回路ブロックに依存した詳細な実配線とを混在させて配線でき、タイミングの配分値を抽出できる。
(36)実配線・仮配線実行部が、制約条件として使用されたクロック周波数に基づき到達しなければならない時間内に到達可能の可否を判定し、到達不可と判定すると複数の回路ブロック間のネットリスト情報に対してバッファ及びフリップフロップの挿入を指示するように構成されてもよく、このようにすれば、仮想ピンまで到達不可能な場合にのみ、バッファ等が挿入されるので、制約条件を効果的に満たすことができる。
(35) The actual wiring / temporary wiring execution unit may be configured to perform temporary wiring and actual wiring based on the wiring prohibition area and the wiring congestion degree. Detailed actual wiring depending on the target circuit block can be mixed and wired, and the timing distribution value can be extracted.
(36) The real wiring / provisional wiring execution unit determines whether it can be reached within the time that must be reached based on the clock frequency used as the constraint condition. It may be configured to instruct insertion of buffers and flip-flops with respect to the list information. In this way, a buffer or the like is inserted only when the virtual pin cannot be reached. Can be met effectively.

(37)実配線・仮配線実行部が、回路ブロックに含まれる端子を制約情報に基づいて配置するように構成されてもよく、このようにすれば、配置が簡易になる。
(38)階層間連携マネージャが、タイミング情報データベースに、タイミング情報データが不足している回路ブロックを抽出し、その不足している回路ブロックを設計者に対して通知するように構成されてもよく、このようにすれば、設計者の作業効率が向上する。
(37) The actual wiring / provisional wiring execution unit may be configured to arrange the terminals included in the circuit block based on the restriction information, and in this way, the arrangement becomes simple.
(38) The inter-layer cooperation manager may be configured to extract a circuit block lacking timing information data from the timing information database and notify the designer of the missing circuit block. In this way, the work efficiency of the designer is improved.

(39)フロアプラン部が、回路ブロック中の配線幅を、実配線及び仮配線している間に変更できるように構成されてもよく、このようにすれば、配線幅を変更できるので、回路を柔軟に設計できる。
(40)階層間連携マネージャが、複数の配分マネージャの組み合わせを変更できるように構成されてもよく、このようにすれば、設計対象に応じて自由にかつ動的に変更できる。
(39) The floor plan unit may be configured such that the wiring width in the circuit block can be changed while the actual wiring and the temporary wiring are being performed. In this way, the wiring width can be changed, so that the circuit Can be designed flexibly.
(40) The inter-tier cooperation manager may be configured to change the combination of a plurality of distribution managers, and in this way, it can be freely and dynamically changed according to the design object.

(41)タイミング配分作成部が、LSIの階層のI/Oバッファ情報からPCBの波形解析用の情報を生成する波形解析用情報作成部をそなえて構成されてもよく、このようにすれば、波形が簡易に解析できる。
(42)タイミング配分作成部が、予め設定された他のタイミング仕様とフロアプラン部にて配分されたタイミングとに基づいて、タイミング配分値を出力するように構成されてもよく、このようにすれば、設計者は配分値を記載した配分レポートを参照できる。
(41) The timing distribution creation unit may be configured to include a waveform analysis information creation unit that generates information for PCB waveform analysis from I / O buffer information of the LSI layer. Waveform can be easily analyzed.
(42) The timing distribution creation unit may be configured to output a timing distribution value based on other preset timing specifications and the timing distributed by the floor plan unit. For example, the designer can refer to the distribution report describing the distribution value.

(43)フロアプラン部が、回路ブロックの規模又は形状を実配線及び仮配線している間に変更できるように構成されてもよく、このようにすれば、柔軟な配置設計が可能となる。
(44)タイミング配分作成部が、ソースコードを用いて、論理設計時又はレイアウト検討からバックアノテートされたタイミング配分値を読み込むように構成されてもよく、このようにすれば、設計者は容易にシミュレーションを行なえる。
(43) The floor plan unit may be configured such that the scale or shape of the circuit block can be changed while the actual wiring and the temporary wiring are being performed. In this way, a flexible layout design is possible.
(44) The timing allocation creating unit may be configured to read the timing allocation value back-annotated from the logic design or layout examination using the source code. In this way, the designer can easily Can simulate.

(45)タイミング配分作成部が、タイミング配分値に起因する情報をソースコードに書き込むアノテータをそなえて構成されてもよく、このようにすれば、設計者と回路設計装置との間のユーザインターフェースがより密接になる。
(46)アノテータが、ソースコードに、配線形態に関するネットリスト情報を書き込むように構成されてもよく、このようにすれば、配分された値がソースコードにバックアノテーションされ、遅延値が自動的に設定又は変更される。
(45) The timing distribution creation unit may be configured to include an annotator that writes information resulting from the timing distribution value into the source code. In this way, a user interface between the designer and the circuit design device is provided. Get closer.
(46) The annotator may be configured to write netlist information relating to the wiring form in the source code. In this way, the distributed value is back-annotated in the source code, and the delay value is automatically set. Set or changed.

(47)物理テクノロジ情報保持部が、配線長と、単位長当たりの遅延値,単位長当たりの負荷容量とを、相互に関連づけて保持するように構成されてもよく、このようにすれば、配線長から遅延値が算出される。
(48)階層間連携マネージャが、複数のタイミング情報データベースのうちの一つが送信したタイミング配分仕様変更要求を受信し、タイミング配分仕様変更が影響を与えうる他のタイミング情報データベースを抽出し、他のタイミング情報データベースに対してタイミング配分値の変更の可否を問い合わせるように構成されてもよく、このようにすれば、タイミング仕様の変更が迅速に通知される。
(47) The physical technology information holding unit may be configured to hold the wiring length, the delay value per unit length, and the load capacity per unit length in association with each other. A delay value is calculated from the wiring length.
(48) The inter-layer cooperation manager receives the timing distribution specification change request transmitted by one of the plurality of timing information databases, extracts other timing information databases that can be affected by the timing distribution specification change, The timing information database may be inquired as to whether or not the timing distribution value can be changed. In this way, the timing specification change is promptly notified.

(49)階層間連携マネージャが、他のタイミング情報データベースからタイミング配分値の変更可能を受信すると、所望のタイミング情報データベースに対して変更可能を出力するように構成されてもよく、このようにすれば、やはり、タイミング仕様の変更が迅速になる。
(50)階層間連携マネージャが、タイミング配分値が変更されると、その変更された階層よりも上位の階層エンティティが更新されるように構成されてもよく、このようにすれば、やはり、タイミング仕様の変更が迅速になる。
(49) When the inter-layer cooperation manager receives the change of the timing distribution value from another timing information database, it may be configured to output the change possibility to the desired timing information database. As a result, the timing specification can be quickly changed.
(50) When the timing distribution value is changed, the inter-layer cooperation manager may be configured such that a hierarchical entity higher than the changed hierarchy is updated. Specification changes are quicker.

(51)配分マネージャが、論理/制約情報保持部に接続され、タイミング配分する配分エディタと、配分エディタと論理/制約情報保持部とタイミング情報保持部とに接続され、ネットリスト情報を出力するデータベース参照登録部と、自己の階層のタイミング配分情報と他の階層のタイミング配分情報とを入出力する自階層TDB出力・他階層TDB自動反映部と、調停を行なう調停制御部とをそなえて構成されてもよく、このようにすれば、配分値が効率的に反映される。   (51) A database in which a distribution manager is connected to a logic / constraint information holding unit and connected to a distribution editor for timing distribution, a distribution editor, a logic / constraint information holding unit, and a timing information holding unit, and outputs netlist information A reference registration unit, a self-hierarchy TDB output / other-hierarchy TDB automatic reflection unit for inputting / outputting timing distribution information of its own layer and timing distribution information of another layer, and an arbitration control unit that performs arbitration are configured. In this way, the distribution value is efficiently reflected.

(52)配分マネージャが、スキューを、配線形態に関するネットリスト情報の配線パスのうち共通の配線パス以外のものに基づいて計算するように構成されてもよく、このようにすれば、共通部分のばらつきを除去された計算が自動的に行なえる。
(53)配分マネージャが、配線パスに、副信号名として配線形態を表す名称を付与するように構成されてもよく、このようにすれば、再度のレイアウトが不要となり配線層数を知ることができ、また、配分のための工数が削減する。
(52) The distribution manager may be configured to calculate the skew on the basis of a wiring path other than the common wiring path among the wiring paths of the netlist information relating to the wiring form. Calculations with variations removed can be performed automatically.
(53) The distribution manager may be configured to give the wiring path a name representing the wiring form as the sub-signal name. In this way, the layout becomes unnecessary and the number of wiring layers is known. This also reduces man-hours for allocation.

(54)配分マネージャが、副信号名とファンアウト数とを関連づけて命名するように構成されてもよく、このようにすれば、各ピンや各配線に対して属性が与えられるのでやはり工数が削減する。
(55)配分マネージャが、配線した部分について、制約情報の値に応じたグラデーションを操作画面にて色彩表示するように構成されてもよく、このようにすれば、共通部分のばらつきを除去することができる。
(54) The distribution manager may be configured to name the sub-signal name and the fan-out number in association with each other. In this way, since the attribute is given to each pin and each wiring, the man-hour is also reduced. Reduce.
(55) The distribution manager may be configured to display a gradation according to the value of the constraint information on the operation screen with respect to the wired portion, so that variations in the common portion can be removed. Can do.

(56)配分マネージャが、回路ブロックを示す図に、タイミング配分値とタイミング配分できる値の範囲を表示するように構成されてもよく、このようにすれば、設計者は信頼性の高い回路を設計できる。
(57)本発明のプログラムが、階層設計するに当たり、コンピュータを、複数のタイミング配分作成部と、階層間連携マネージャとして機能させているので、例えば端子の境界情報や端子等の設計情報が自動的に入力され、処理履歴から現在の処理における処理対象外部分が自動的に判断され、また、処理対象外部分に含まれる設計情報が自動的に抽出されて、現在設計中の部分の処理に利用できる。そして、クリティカル部分については、レイアウト前に配線形態を指定できるため、実レイアウト後の高信頼性を有する配線が可能となる。既存のPCB用レイアウトCAD装置やLSI用レイアウトCAD装置を用いて詳細検討でき、インプリメントに直結できるため、既存の設計フローを変更することなく設計できる。加えて、波形解析用情報により、LSI完成前にPCBを波形解析できるため、LSIとPCBとの並行設計が容易となる。
(56) The distribution manager may be configured to display a timing distribution value and a range of values capable of timing distribution on the diagram showing the circuit block, and in this way, the designer can select a highly reliable circuit. Can design.
(57) When the hierarchical design is performed by the program of the present invention, since the computer functions as a plurality of timing distribution creation units and inter-layer cooperation managers, for example, terminal boundary information and terminal design information are automatically Is automatically determined from the processing history, and the design information contained in the non-processing part is automatically extracted and used for processing the part currently being designed. it can. For the critical portion, the wiring form can be designated before the layout, so that highly reliable wiring after the actual layout is possible. Detailed examination can be performed using an existing PCB layout CAD device or LSI layout CAD device, and the design can be directly connected to the implementation. Therefore, the design can be performed without changing the existing design flow. In addition, since the PCB can be analyzed by the waveform analysis information before the LSI is completed, the parallel design of the LSI and the PCB is facilitated.

また、テクノロジに依存しないフロアプラン情報の再利用ができるため、既存のレイアウト資産を有効利用できる。さらに、今後ますます重要となる高速系システムの構成要素であるPCB,LSIを総合したタイミング設計が可能となる。そして、アーキテクチャテクチャ設計において、インプリメント時にクリティカルかつ重要なタイミング仕様を有する部分が、分散検討により先行把握でき、開発期間の大幅な短縮と、高信頼性設計とができる。   In addition, since the floor plan information that does not depend on technology can be reused, existing layout assets can be used effectively. Furthermore, it becomes possible to design a timing that integrates PCB and LSI, which are components of a high-speed system that will become increasingly important in the future. In the architecture design, a part having a critical and important timing specification at the time of implementation can be grasped in advance by distributed examination, so that the development period can be greatly shortened and a highly reliable design can be achieved.

本発明の第1実施形態に係る回路設計装置の構成図である。1 is a configuration diagram of a circuit design device according to a first embodiment of the present invention. 本発明の第1実施形態に係る固有化処理部のブロック図である。It is a block diagram of the unique process part which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るテスト回路生成処理部のブロック図である。2 is a block diagram of a test circuit generation processing unit according to the first embodiment of the present invention. FIG. 本発明の第1実施形態に係る負荷調整処理部のブロック図である。It is a block diagram of the load adjustment process part which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るHDL変換の概念図である。It is a conceptual diagram of the HDL conversion which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る固有化処理を説明するための図である。It is a figure for demonstrating the unique process based on 1st Embodiment of this invention. (a)〜(d)はいずれも本発明の第1実施形態に係るECO設計における固有化処理を説明するための図である。(A)-(d) is a figure for demonstrating the specificization process in the ECO design which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るECO設計における回路変更を説明するための図である。It is a figure for demonstrating the circuit change in the ECO design which concerns on 1st Embodiment of this invention. (a),(b)はいずれも本発明の第1実施形態に係る階層設計におけるテスト回路生成処理を説明するための図である。(A), (b) is a figure for demonstrating the test circuit generation process in the hierarchical design based on 1st Embodiment of this invention. (a)〜(d)はいずれも本発明の第1実施形態に係るECO設計におけるテスト回路生成処理を説明するための図である。(A)-(d) is a figure for demonstrating the test circuit production | generation process in the ECO design which concerns on 1st Embodiment of this invention. (a)〜(d)はいずれも本発明の第1実施形態に係る階層設計における負荷調整処理を説明するための図である。(A)-(d) is a figure for demonstrating the load adjustment process in the hierarchical design which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る回路データの流れを説明するための図である。It is a figure for demonstrating the flow of the circuit data which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る半導体回路のデータイメージを示す図である。It is a figure which shows the data image of the semiconductor circuit which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る階層設計を説明するためのフローチャートである。It is a flowchart for demonstrating the hierarchical design which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る他の半導体回路のデータイメージを示す図である。It is a figure which shows the data image of the other semiconductor circuit which concerns on 1st Embodiment of this invention. (a),(b)は本発明の第1実施形態に係るECO処理を説明するためのフローチャートである。(A), (b) is a flowchart for demonstrating the ECO process which concerns on 1st Embodiment of this invention. 本発明の第2実施形態に係る回路設計の工程を示す図である。It is a figure which shows the process of the circuit design which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るブロック分割設計の工程を示す図である。It is a figure which shows the process of the block division | segmentation design which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る回路設計装置の構成図である。It is a block diagram of the circuit design apparatus which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るタイミング配分装置のブロック図である。It is a block diagram of the timing distribution apparatus which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る階層間の配分値の送受信を説明するための図である。It is a figure for demonstrating transmission / reception of the distribution value between the hierarchies which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る上位階層と下位階層との間の配分値の送受信を説明するための図である。It is a figure for demonstrating transmission / reception of the distribution value between the upper hierarchy based on 2nd Embodiment of this invention, and a lower hierarchy. 本発明の第2実施形態に係る階層エンティティを説明するための図である。It is a figure for demonstrating the hierarchy entity which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るタイミング配分作成部のブロック図である。It is a block diagram of the timing distribution preparation part which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るフロアプラン部のブロック図である。It is a block diagram of the floor plan part concerning a 2nd embodiment of the present invention. 本発明の第2実施形態に係る斜めマンハッタン長仮配線を説明するための図である。It is a figure for demonstrating the diagonal Manhattan length temporary wiring which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る配線混雑度を抽出するためのアルゴリズムを説明するための図である。It is a figure for demonstrating the algorithm for extracting the wiring congestion degree which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る配線混雑度を抽出するためのアルゴリズムを説明するための図である。It is a figure for demonstrating the algorithm for extracting the wiring congestion degree which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る配置領域の拡大を模式的に示す図である。It is a figure which shows typically expansion of the arrangement | positioning area | region which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るLSI内部のタイミング配分を説明するための図である。It is a figure for demonstrating the timing distribution inside LSI which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る配分マネージャのブロック図である。It is a block diagram of the distribution manager which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るスキュー計算を説明するための図である。It is a figure for demonstrating the skew calculation which concerns on 2nd Embodiment of this invention. (a)〜(c)はいずれも本発明の第2実施形態に係るネットリスト表現を説明するための図である。(A)-(c) is a figure for demonstrating the netlist expression which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るブロック設計の工程を示す図である。It is a figure which shows the process of the block design which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るタイミング配分を説明するためのフローチャートである。It is a flowchart for demonstrating the timing distribution which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るタイミング配分の一部を説明するためのフローチャートである。It is a flowchart for demonstrating a part of timing distribution which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るタイミング配分の一部を説明するためのフローチャートである。It is a flowchart for demonstrating a part of timing distribution which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るタイミング配分の一部を説明するためのフローチャートである。It is a flowchart for demonstrating a part of timing distribution which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るタイミング配分作成部の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the timing distribution preparation part which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るフロアプラン部の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the floor plan part which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る配分マネージャの動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the distribution manager which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る配分マネージャの動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the allocation manager which concerns on 2nd Embodiment of this invention. 階層設計の概念図である。It is a conceptual diagram of hierarchical design. 半導体回路設計装置のブロック図である。It is a block diagram of a semiconductor circuit design device. (a),(b)はそれぞれ固有化処理を説明するための図である。(A), (b) is a figure for demonstrating an individualization process, respectively. (a)〜(c)はそれぞれECO設計を説明するための図である。(A)-(c) is a figure for demonstrating ECO design, respectively. タイミング配分を説明するための図である。It is a figure for demonstrating timing allocation. 装置設計の概略を説明するためのフローチャートである。It is a flowchart for demonstrating the outline of apparatus design. タイミング設計を説明するためのフローチャートである。It is a flowchart for demonstrating timing design. マンハッタン長を説明するための図である。It is a figure for demonstrating Manhattan length.

符号の説明Explanation of symbols

1,1a 半導体回路設計装置
2 回路情報データベース
3 自動設計処理部
4 計算処理部
5 設計情報データベース
3a HDL言語読み込み部
3b パラメータ入力部
3c 処理結果出力部
3d テスト回路規則入力部
4a HDL変換処理部
4b 固有化処理部
4c テスト回路生成処理部
4d 負荷調整処理部
4e HDL出力処理部
6a 設計情報読み込み制御部
6b 設計情報読み込み部
7a 処理対象判別部
7b 処理データ取得部
8a 複数参照解析制御部
8b 複数参照解析部
8c 回路解析制御部
8d 回路解析部
8e 端子負荷・駆動能力設定制御部
8f 端子負荷・駆動能力設定部
9a 固有名付与規則設定部
9b 固有名生成部
9c テスト回路生成制御部
9d テスト回路生成部
9e 負荷解析制御部
9f 負荷解析部
10a 回路データ複製制御部
10b 回路データ複製部
10c 階層整合性復元制御部
10d 階層整合性復元部
10e 回路調整制御部
10f 回路調整部
11a 回路情報書き込み制御部
11b 回路情報書き込み部
12a 設計情報書き込み制御部
12b 設計情報書き込み部
40a,40b,40c ソースコード
41a,41b,41c,41d,41e データイメージ
42a,42b 回路モジュールイメージ
43,43a,43b,45,61a〜61e 回路モジュール
50d 配分レポート作成部
51 タイミング配分装置
52a,52c レイアウトCAD装置
52b 波形解析CAD装置
53 階層間連携マネージャ
54a〜54e タイミング配分作成部
55a〜55e フロアプラン部
56a〜56e 配分マネージャ
57a〜57e TDB
58b 制約条件保持部
58c 構造部分ネットリスト保持部
58e HDLアノテータ
58f HDLコンパイラ
58h 波形解析用情報作成部
58i 波形解析用情報保持部
59a 配置支援部
59b 配置情報保持部
59c 物理テクノロジ情報保持部
59d 配線情報保持部
59e 変換部
59f 配置処理部
60 実配線・仮配線実行部
60a マンハッタン長仮配線部
60b 斜めマンハッタン長仮配線部
60c,60d 実配線連携部
60e 抽出部
60f 名称付与部
61,63,80〜83 チップ
61f クリティカルネット
61g フリップフロップ
62,62a ネットリスト
63a 配分エディタ部
63b TDB登録部
63c TDB参照部
63d 自階層TDB出力・他階層TDB自動反映部
63e データベース参照登録部
63f 調停制御部
64a〜64e 論理/制約情報保持部
65b〜65e タイミング情報保持部
66 バッファ
90a〜90c 階層エンティティ
100a,101a,102a 制御部
100b,101b,102b 処理部
DESCRIPTION OF SYMBOLS 1,1a Semiconductor circuit design apparatus 2 Circuit information database 3 Automatic design processing part 4 Calculation processing part 5 Design information database 3a HDL language reading part 3b Parameter input part 3c Processing result output part 3d Test circuit rule input part 4a HDL conversion processing part 4b Unique processing unit 4c Test circuit generation processing unit 4d Load adjustment processing unit 4e HDL output processing unit 6a Design information reading control unit 6b Design information reading unit 7a Processing target determination unit 7b Processing data acquisition unit 8a Multiple reference analysis control unit 8b Multiple reference Analysis unit 8c Circuit analysis control unit 8d Circuit analysis unit 8e Terminal load / driving capability setting control unit 8f Terminal load / driving capability setting unit 9a Specific name assignment rule setting unit 9b Specific name generation unit 9c Test circuit generation control unit 9d Test circuit generation Section 9e Load analysis control section 9f Load analysis section 10a Circuit Data replication control unit 10b Circuit data replication unit 10c Hierarchy consistency restoration control unit 10d Hierarchy consistency restoration unit 10e Circuit adjustment control unit 10f Circuit adjustment unit 11a Circuit information write control unit 11b Circuit information write unit 12a Design information write control unit 12b Design Information writing unit 40a, 40b, 40c Source code 41a, 41b, 41c, 41d, 41e Data image 42a, 42b Circuit module image 43, 43a, 43b, 45, 61a-61e Circuit module 50d Distribution report creation unit 51 Timing distribution device 52a , 52c Layout CAD device 52b Waveform analysis CAD device 53 Inter-layer cooperation manager 54a-54e Timing distribution creation unit 55a-55e Floor plan unit 56a-56e Distribution manager 57a-57e T B
58b Constraint condition holding unit 58c Structural partial netlist holding unit 58e HDL annotator 58f HDL compiler 58h Waveform analysis information creating unit 58i Waveform analysis information holding unit 59a Placement support unit 59b Placement information holding unit 59c Physical technology information holding unit 59d Wiring information Holding unit 59e Conversion unit 59f Placement processing unit 60 Real wiring / temporary wiring execution unit 60a Manhattan length temporary wiring unit 60b Diagonal Manhattan length temporary wiring unit 60c, 60d Real wiring cooperation unit 60e Extraction unit 60f Name assignment unit 61, 63, 80- 83 chip 61f critical net 61g flip-flop 62, 62a net list 63a distribution editor unit 63b TDB registration unit 63c TDB reference unit 63d own layer TDB output / other layer TDB automatic reflection unit 63e database reference registration unit 63 f Arbitration control unit 64a to 64e Logical / constraint information holding unit 65b to 65e Timing information holding unit 66 Buffer 90a to 90c Hierarchical entity 100a, 101a, 102a Control unit 100b, 101b, 102b Processing unit

Claims (2)

階層設計において、
複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され、該回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力しうる複数のタイミング配分作成部と、
該複数のタイミング配分作成部のそれぞれの間の接続を動的に変更するとともに、該複数のタイミング配分作成部のそれぞれの間と該タイミング配分値に関する修正情報を送受信する階層間連携マネージャとをそなえて構成されていることを特徴とする、タイミング配分装置。
In hierarchical design,
Block information related to the function of the circuit is input from a plurality of timing information databases having netlist information related to the wiring form provided corresponding to each of the plurality of design hierarchies, and delay values generated by delay elements of the circuit are allocated. A plurality of timing distribution generation units capable of outputting the obtained timing distribution values;
A connection between the plurality of timing distribution creation units is dynamically changed, and an inter-layer cooperation manager is provided that transmits and receives correction information related to the timing distribution value between each of the plurality of timing distribution creation units. A timing distribution device, characterized by being configured.
該タイミング配分作成部が、該複数の設計階層のそれぞれに対応して設けられ設計情報を有する階層エンティティと該設計情報を処理するためのプログラムデータとを有するエージェントとして構成されるとともに、
該階層間連携マネージャが、該エージェントとしての該タイミング配分作成部に接続され該複数の設計階層のそれぞれと該タイミング配分値に関する情報を送受信するマネージャとして構成されたことを特徴とする、請求項1記載のタイミング配分装置。
The timing distribution creation unit is configured as an agent having a hierarchy entity having design information provided corresponding to each of the plurality of design hierarchies and program data for processing the design information,
The inter-layer cooperation manager is configured as a manager that is connected to the timing distribution creation unit as the agent and transmits / receives information on the timing distribution value with each of the plurality of design layers. The timing distribution device described.
JP2007046318A 2007-02-26 2007-02-26 Timing distribution device Pending JP2007188517A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007046318A JP2007188517A (en) 2007-02-26 2007-02-26 Timing distribution device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007046318A JP2007188517A (en) 2007-02-26 2007-02-26 Timing distribution device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000342069A Division JP4031905B2 (en) 2000-11-09 2000-11-09 Circuit design apparatus and circuit design method

Publications (1)

Publication Number Publication Date
JP2007188517A true JP2007188517A (en) 2007-07-26

Family

ID=38343583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007046318A Pending JP2007188517A (en) 2007-02-26 2007-02-26 Timing distribution device

Country Status (1)

Country Link
JP (1) JP2007188517A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171440B2 (en) 2008-08-20 2012-05-01 Nec Corporation Timing analyzing apparatus, timing analyzing method and program thereof
US8438518B2 (en) 2009-03-03 2013-05-07 Nec Corporation Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit
US8984456B2 (en) 2012-02-02 2015-03-17 Nec Corporation Macro timing analysis device, macro boundary path timing analysis method and macro boundary path timing analysis program
US11861284B2 (en) * 2021-05-27 2024-01-02 Taiwan Semiconductor Manufacturing Company, Ltd. Conductor scheme selection and track planning for mixed-diagonal-manhattan routing

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171440B2 (en) 2008-08-20 2012-05-01 Nec Corporation Timing analyzing apparatus, timing analyzing method and program thereof
US8438518B2 (en) 2009-03-03 2013-05-07 Nec Corporation Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit
US8984456B2 (en) 2012-02-02 2015-03-17 Nec Corporation Macro timing analysis device, macro boundary path timing analysis method and macro boundary path timing analysis program
US11861284B2 (en) * 2021-05-27 2024-01-02 Taiwan Semiconductor Manufacturing Company, Ltd. Conductor scheme selection and track planning for mixed-diagonal-manhattan routing

Similar Documents

Publication Publication Date Title
JP4031905B2 (en) Circuit design apparatus and circuit design method
US6295636B1 (en) RTL analysis for improved logic synthesis
NL192892C (en) Computer-aided system for integrated circuit design.
US6836877B1 (en) Automatic synthesis script generation for synopsys design compiler
US8516399B2 (en) Collaborative environment for physical verification of microdevice designs
CN102112988B (en) Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow
US5980092A (en) Method and apparatus for optimizing a gated clock structure using a standard optimization tool
KR101336516B1 (en) Method and program product for protecting information in eda tool design views
US7958470B1 (en) Method and system for false path analysis
US20050268258A1 (en) Rule-based design consultant and method for integrated circuit design
US5956256A (en) Method and apparatus for optimizing a circuit design having multi-paths therein
US10031986B1 (en) System and method for creating a spice deck for path-based analysis of an electronic circuit design using a stage-based technique
US20030101331A1 (en) ASIC design technique
US6289491B1 (en) Netlist analysis tool by degree of conformity
US8495535B2 (en) Partitioning and scheduling uniform operator logic trees for hardware accelerators
US8954915B2 (en) Structured placement of hierarchical soft blocks during physical synthesis of an integrated circuit
US20220075920A1 (en) Automated Debug of Falsified Power-Aware Formal Properties using Static Checker Results
US9361417B2 (en) Placement of single-bit and multi-bit flip-flops
Saxena et al. Routing Congestion in VLSI Circuits: Estimation and Optimization
Simpson FPGA design
JP2010257164A (en) Design method of semiconductor integrated circuit device, and program
JP2007188517A (en) Timing distribution device
JP5447547B2 (en) Macro delay analysis device, macro boundary path delay analysis method, macro boundary path delay analysis program
US8024681B2 (en) Hierarchical HDL processing method and non-transitory computer-readable storage medium
Reinhardt Automatic layout modification: including design reuse of the alpha cpu in 0.13 micron soi technology

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091020