JPH0451367A - Synthesis device for logical circuit - Google Patents

Synthesis device for logical circuit

Info

Publication number
JPH0451367A
JPH0451367A JP2159948A JP15994890A JPH0451367A JP H0451367 A JPH0451367 A JP H0451367A JP 2159948 A JP2159948 A JP 2159948A JP 15994890 A JP15994890 A JP 15994890A JP H0451367 A JPH0451367 A JP H0451367A
Authority
JP
Japan
Prior art keywords
circuit
stages
abstract
path
delay time
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.)
Granted
Application number
JP2159948A
Other languages
Japanese (ja)
Other versions
JP2980348B2 (en
Inventor
Hiroaki Nishi
西 宏晃
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2159948A priority Critical patent/JP2980348B2/en
Publication of JPH0451367A publication Critical patent/JPH0451367A/en
Application granted granted Critical
Publication of JP2980348B2 publication Critical patent/JP2980348B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To synthesize the logical circuits of high performance by providing a means which gives arbitrary delay time to the constitution element of an abstraction circuit, executing timing analysis at the stage of the abstraction circuit, and executing optimization so that the restriction of delay time is satisfied through the use of an analysis result. CONSTITUTION:A timing restriction 104 sets restriction delay time in the arbitrary point of a register transfer specification. A timing restriction setting/ violation detection part 105 fetches data on the type of the element of an initial abstraction circuit from a design data base part 103, calculates the delay time of the element and allocates it to the initial abstraction circuit generated in a design data conversion part 102, fetches the timing restriction 104 and inspects whether given timing restriction is realized or not. A logical synthesis part 106 analyzes a violation circuit detected in the violation detection part 105, develops the abstraction circuit to a concrete circuit, simplifies a redundancy circuit and allocates data to the circuit element.

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は論理回路を自動的に合成するための装置に係
り、特にタイミングの制約に基づいて論理回路を合成す
るための装置に関する。
[Detailed Description of the Invention] [Object of the Invention] (Industrial Application Field) The present invention relates to an apparatus for automatically synthesizing logic circuits, and in particular to an apparatus for automatically synthesizing logic circuits based on timing constraints. Regarding equipment.

(従来の技術) 論理合成技術の発展によって、レジスタ転送レベルの回
路記述から構造レベルの回路を自動生成できるようにな
った。
(Prior Art) With the development of logic synthesis technology, it has become possible to automatically generate a structural level circuit from a register transfer level circuit description.

ところが、熟練設計者が設旧した論理回路と自動合成さ
れた論理回路の性能(特に動作速度なと)を比較すると
、人手設計のほうが優れている。というのは、熟練設計
者は、回路の動作周波数を満たずようにレジスタのクロ
ックを決定し、クリティカルパスを絶えず考慮しながら
論理回路を設旧しているからである。すなわち、どの様
な構造を持った回路にすれば信号遅延時間が少なくて済
むかを熟知しているからである。
However, when comparing the performance (especially in terms of operating speed) of logic circuits designed by experienced designers and automatically synthesized logic circuits, the manually designed one is superior. This is because a skilled designer determines the register clock so as not to satisfy the operating frequency of the circuit, and designs the logic circuit while constantly considering the critical path. In other words, they are well aware of what kind of structure the circuit should have to minimize signal delay time.

また設計者はタイミング解析ツールを使用することによ
って、論理回路の詳細な信号遅延時間の解析結果を入手
できるようになったが(例えばとのパスが最長遅延もし
くは最小遅延パスであるか)これは設旧者が所望する論
理回路の設計を−通り終った後てないと使用できなった
。従って、論理合成後の論理回路に対してタイミング解
析を行い、設glfi−が考えている制約に違反する箇
所を人手で修1丁−する必要があった。
In addition, by using timing analysis tools, designers can now obtain detailed analysis results of signal delay times of logic circuits (for example, whether the path to and is the longest delay path or the least delay path). It could not be used until after the founder had completed the design of the desired logic circuit. Therefore, it was necessary to perform a timing analysis on the logic circuit after logic synthesis and manually repair the parts that violate the constraints considered by the GLFI.

一方、最近の論理合成技術では、ライブラリ化されたハ
ードウェアコンポーネント(ライブラリセル)をゲート
回路に割り当てた後で、論理合成システムに内蔵したタ
イミング解析手段を用いてタイミング解析を実行し、こ
の結果が設旧者の所望するタイミング制約を満たしてい
ない場合は、スピードの遅いハードウェアコンポーネン
トをスピードの速いハードウエアコンボーネン(・に交
換し、再びタイミング解析を実行してタイミング制約が
満たされているかとぅがを調べ、これが満たされるまで
、もしくはその限界まで繰り返すという手法をとってい
た。
On the other hand, in recent logic synthesis technology, after assigning library hardware components (library cells) to gate circuits, timing analysis is performed using the timing analysis means built into the logic synthesis system, and the results are If the timing constraints desired by the installer are not met, replace the slower hardware components with faster hardware components and run the timing analysis again to confirm that the timing constraints are met. The method used was to investigate the problem and repeat it until it was satisfied or reached its limit.

他方では、タイミンク情報をハードウェアコンポーネン
トのテクノロジに依存しないライブラリ化された抽象コ
ンポーネントに格納し、これを合成時に使用する手法も
考えられている。この技術に関しては、特開昭63−1
55268号公報において示されている。
On the other hand, a method has also been considered in which timing information is stored in an abstract component that is a library that does not depend on the technology of the hardware component, and this is used during synthesis. Regarding this technology, JP-A-63-1
This is disclosed in Japanese Patent No. 55268.

しかし抽象コンポーネントは入力数が可変であったりコ
ンポーネント自体ビット幅を有しているので、許される
ビット幅に応じた膨大な数のコンポーネントをライブラ
リに登録する必要があり、従ってこの手法では多大な記
録容量を必要とじていた。
However, since the number of inputs of abstract components is variable and the component itself has a bit width, it is necessary to register a huge number of components in the library according to the allowed bit width, and this method requires a large amount of recording. It needed capacity.

(発明か解決しようとする課題) 」二連したように従来技術では、部品ライブラリとして
用意されたコンポーネントによって回路が構成されてい
ないと、タイミング解析が実行できないという不具合が
あった。
(Problem to be solved by the invention) As mentioned above, the conventional technology has a problem in that timing analysis cannot be performed unless the circuit is configured with components prepared as a parts library.

また、レジスタ転送回路から変換された抽象回路では元
来入出力数が可変のため、遅延時間を使用可能な全ての
抽象回路に持たせて、それぞれをライブラリ化するとデ
ータ量が膨大になり不紅済である。
In addition, since the number of inputs and outputs is originally variable in abstract circuits converted from register transfer circuits, if all usable abstract circuits have delay times and create a library for each, the amount of data will be enormous and it will be difficult to understand. It has been completed.

本発明は、このような点に関してなされたもので、その
1」的は、同一機能を有するが、しかし異なる構造を持
ったハードウェアに適した遅延時間の割(=I手段を用
いて抽象回路の段階でタイミング解析を実行し、その結
果のタイミング違反情報を合成開始前あるいは途中の段
階で使用することで高性能な論理回路を合成することが
可能な装置を提f几するこ吉である。
The present invention has been made in view of these points, and its first objective is to create an abstract circuit using a delay time ratio (= I means) suitable for hardware having the same function but with a different structure. We would like to propose a device that can synthesize high-performance logic circuits by performing timing analysis at the stage of synthesis and using the resulting timing violation information before or during synthesis. .

[発明の構成] (課題を解決するための手段) 上記課題を解決するために本発明では、論理回路を自動
生成するだめの論理回路の合成装置において、合成の開
始前、あるいはその途中で生成された抽象回路を使用【
、てタイミング解析を行なうために、前記抽象回路を構
成している素子に任意の遅延時間を与える手段と、与え
られた遅延時間を用いてタイミング解析を行い、タイミ
ング制約条件が満たされるかどうかを検出する手段と、
前記検出されたタイミング解析結果を使用してタイミン
グ制約条件が満たされるように前記抽象回路を論理回路
に変換あるいは合成する手段と、前記タイミング制約に
違反する回路の遅延時間を最適化するために回路を変換
あるいは合成する手段と、を具備することを特徴とする
[Structure of the Invention] (Means for Solving the Problems) In order to solve the above problems, the present invention provides a logic circuit synthesis device that automatically generates logic circuits, which generates logic circuits before or during synthesis. Use the abstract circuit created by [
, in order to perform timing analysis, we need a means to give an arbitrary delay time to the elements constituting the abstract circuit, and perform timing analysis using the given delay time to determine whether the timing constraints are satisfied. a means for detecting;
means for converting or synthesizing the abstract circuit into a logic circuit so that a timing constraint is satisfied using the detected timing analysis results; and a circuit for optimizing the delay time of a circuit that violates the timing constraint. and means for converting or synthesizing.

(作用) 本発明の装置によれば、機能動作仕様記述から変換され
た抽象回路を構成する素子に任意の遅延時間を割当てる
ことができ、この遅延時間を使用して合成前あるいは合
成途中にタイミング検証が行える。さらにタイミンク解
析の結果を使用して遅延時間の制約を満足するように抽
象回路を論理回路に変換または合成し最適化を繰返して
行えるので、スピードの速い論理回路の合成ができる。
(Operation) According to the device of the present invention, any delay time can be assigned to the elements constituting the abstract circuit converted from the functional operation specification description, and this delay time can be used to provide timing before or during synthesis. Verification can be performed. Furthermore, using the results of timing analysis, abstract circuits can be converted or synthesized into logic circuits so as to satisfy delay time constraints, and optimization can be performed repeatedly, allowing high-speed synthesis of logic circuits.

(実施例) 以下、本発明の実施例を図面を参照して説明する。(Example) Embodiments of the present invention will be described below with reference to the drawings.

第1図は本発明の一実施例にかかる論理合成装置の構成
を示すブロック図である。
FIG. 1 is a block diagram showing the configuration of a logic synthesis device according to an embodiment of the present invention.

第1図の101は機能動作仕様を表すレジスタ転送仕様
の入力部で、レジスタ転送記述もしくは該仕様をスケマ
チック表示した機能ブロック図である。1〔〕2は設計
データ変換部(トランスレタ)である。この変換部]0
2は人力部101のレジスタ転送記述を構文解析して、
該記述に忠実な初期抽象回路を生成する。また機能ブロ
ック図の場合はスケマチック図よりネットワーク情報と
図形情報を抽出して初期抽象回路を生成する。103は
該抽象回路のネットワーク情報を格納する膜種データベ
ース部である。]04はタイミング制約入力部で、レジ
スタ転送仕様の任意の点に制約遅延時間を設定できる。
Reference numeral 101 in FIG. 1 is an input section for a register transfer specification representing a functional operation specification, and is a functional block diagram showing a register transfer description or a schematic representation of the specification. 1 [ ] 2 is a design data converter (translator). This conversion part] 0
2 parses the register transfer description of the human resources department 101,
An initial abstract circuit faithful to the description is generated. In the case of a functional block diagram, network information and graphic information are extracted from the schematic diagram to generate an initial abstract circuit. 103 is a film type database section that stores network information of the abstract circuit. ]04 is a timing constraint input section, which allows a constraint delay time to be set at any point in the register transfer specifications.

105はタイミング制約設定及び違反検出部で、トラン
スレータ部102で生成された抽象機能素子の入出力数
が一定でないため、設計データベース部103から該初
期抽象回路の素子のタイプと入力数またはビット幅を取
り出し、該素子の遅延時間を計算し割り付ける遅延時間
計算割(=J手段と、入力部104からタイミング制約
を取り込む手段と、jFjえられたタイミング制約が、
論理合成前及び途中の抽象回路もしくは論理回路におい
て実現されるかどうかを検証するクリティカルパス探索
手段から構成されている。]06は論理合成部で、前記
タイミング制約違反検出部105で検出された違反回路
を解析して該回路を最適化対象回路に分割し、さらに最
適化目標値を設定し、該最適化目標値に従って抽象回路
を具象回路に展開し、また、冗長な回路の簡単化及び、
テクノロジに依存した回路素子の割付けを行う各処理手
段から構成されている。107は設計データ変換部で、
記述変換やスケマチック図の生成を行うためのもので、
具体的には設旧データベースに格納されている回路情報
を論理回路(構造記述またはスケマチック図)に変換す
る。
Reference numeral 105 denotes a timing constraint setting and violation detection unit which, because the number of inputs and outputs of the abstract functional element generated by the translator unit 102 is not constant, inputs the type and number of inputs or bit width of the element of the initial abstract circuit from the design database unit 103. A delay time calculation unit (=J means, a means for taking in timing constraints from the input section 104, and a timing constraint obtained by jFj, which calculates and allocates the delay time of the element)
It consists of a critical path search means that verifies whether or not it is realized in abstract circuits or logic circuits before and during logic synthesis. ]06 is a logic synthesis unit that analyzes the violating circuit detected by the timing constraint violation detection unit 105, divides the circuit into optimization target circuits, further sets an optimization target value, and sets the optimization target value. Expand abstract circuits into concrete circuits, simplify redundant circuits, and
It consists of processing means for allocating circuit elements depending on technology. 107 is a design data conversion unit;
It is used to convert descriptions and generate schematic diagrams.
Specifically, the circuit information stored in the existing database is converted into a logical circuit (structural description or schematic diagram).

108は合成された論理回路の出力部である。108 is an output section of the synthesized logic circuit.

第2図は、第1図で説明した論理合成装置の処理フロー
を説明する図である。
FIG. 2 is a diagram illustrating the processing flow of the logic synthesis device explained in FIG. 1.

201は、レジスタ転送記述及びタイミング制約を人力
するステップで、202は、記述の動作解析を行って初
期抽象回路を生成するステップである。203は抽象回
路素子に遅延時間を#1算して割り付けるステップであ
る。204は、割り(=1けた遅延時間を使用して全体
回路の遅延時間計算を行い、クリティカルパスを検出し
タイミング制約が守られているかどうかを調べるステッ
プである。制約が守られていないときは、制約に違反し
ている箇所をレボ−1・もしくはスケマチック表示する
。また、該タイミンク制約に違反しているパスに関して
は、この制約か実現されるようにスピドの速い回路に展
開して最適化を行い(205)ステップ203及び20
4を繰り返して該タイミング制約が満たされているかど
うかを調べ、ノ\−ドウニアコンポーネントを割り付け
る(206)ことによって合成を終了する。以下各ステ
ップの処理内容について詳細に説明する。
201 is a step of manually creating a register transfer description and timing constraints, and 202 is a step of analyzing the operation of the description to generate an initial abstract circuit. 203 is a step in which the delay time is calculated by #1 and assigned to the abstract circuit element. Step 204 is a step of calculating the delay time of the entire circuit using division (=1-digit delay time), detecting the critical path, and checking whether the timing constraints are observed.If the constraints are not observed, , displays the parts that violate the constraints in Revo-1 or schematically.In addition, for the paths that violate the timing constraints, develop and optimize them into faster circuits so that the constraints are realized. (205) Steps 203 and 20
4 is repeated to check whether the timing constraints are satisfied, and the synthesis is completed by allocating a node (206). The processing contents of each step will be explained in detail below.

その前にレジスタ転送記述について説明する。Before that, the register transfer description will be explained.

レジスタ転送記述では、回路の素子と認識されるファシ
リティ(外部端子、内部信号、レジスタ、メモリなど)
とハードウェアの詳細まで立ち入らすに機能を表せる演
算子、組み込み関数(加算、減算など)、ファシリティ
の動作を表すプロセス(レジスタの非同期クリアなと)
の記述や状態遷移表現が可能である。以下ファシリティ
、演算子、組み込み関数、プロセス、ステー1・を抽象
機能素子と呼ぶ。
In register transfer descriptions, facilities that are recognized as circuit elements (external terminals, internal signals, registers, memory, etc.)
operators, built-in functions (such as addition and subtraction), and processes that represent facility operations (such as asynchronous clearing of registers)
It is possible to describe and express state transitions. Hereinafter, facilities, operators, built-in functions, processes, and stage 1 will be referred to as abstract functional elements.

ここで抽象機能素子の遅延時間について説明する。論理
合成は最終的に抽象機能素子を論理素子(ゲート)まで
展開して最適化を行い、これに所望のテクノロジからな
るハードウェアのライブラリセルを割り(=1けるもの
である。しかしレジスタ転送レベルの回路は機能レベル
の回路であり、必]0 ずしもハードウェアとして最適化された回路、すなわち
ケート数とかゲート段数を考慮して設J1された回路と
はなっていない。従って最初からすべての抽象機能素子
にハードウェアのセルを割り付けて考えるのは得策では
ない。また同一機能のセルであっても異なるスピードの
セルを割りイ=Iけることによって実遅延時間は変わっ
てしまうので、レジスタ転送レベルの回路の各抽象機能
素子に実時間を割り当てて信号伝播パスの遅延時間を4
算するのは適当ではない。そこでこの実施例の装置では
、基本的なゲートを単位としだゲート段数を遅延時間の
代わりに用いる。またハードウェアのNORゲートのセ
ルなどでは入力数か増加するにしたがって実遅延時間が
かなり異なってくるので(例えば6人力のNORは2人
力NORの4倍の遅延時間を有する)、このようなゲー
トでは人力数を考慮して段数を与えることにする。
Here, the delay time of the abstract functional element will be explained. Logic synthesis ultimately expands abstract functional elements to logic elements (gates), performs optimization, and divides (=1) hardware library cells made of the desired technology into this. However, at the register transfer level This circuit is a functional level circuit, and is not necessarily a hardware-optimized circuit, that is, a circuit designed with consideration to the number of gates and the number of gates. It is not a good idea to allocate hardware cells to abstract functional elements.Also, even if the cells have the same function, the actual delay time will change by allocating cells with different speeds. The delay time of the signal propagation path is calculated by allocating real time to each abstract functional element of the transfer level circuit.
It is not appropriate to calculate. Therefore, in the device of this embodiment, the basic gate is used as a unit and the number of gate stages is used instead of the delay time. Also, in hardware NOR gate cells, the actual delay time varies considerably as the number of inputs increases (for example, a 6-person NOR has a delay time four times that of a 2-person NOR). Now, we will give the number of stages in consideration of the number of manpower.

つぎに第1図の検出部]05のザブ手段である遅延時間
計見開(=J手段の処理について説明する。
Next, the processing of the delay time meter spread means (=J means) which is the sub means of the detecting section]05 in FIG. 1 will be explained.

まず論理合成途中で一部の抽象機能素子が具体的なハー
ドウェアセルに変換されてもクリティカルパスの検索が
可能なように、ハードウェアセルのライブラリに存在す
るセルについては、それを構成する論理素子を用いて段
数を計算l、遅延情報のライブラリに格納する。またレ
ジスタ転送レベルの抽象機能素子及び合成途中で生成さ
れる抽象機能素子または論理素子については、設R1デ
ータベース部103から抽象機能素子を取り出して、該
素子のタイプやビット幅や入力数を変数と17で、それ
らが論理合成途中に典型的な抽象素子や論理素子からな
るネットワークに展開されるとした遅延モデルや、論理
素子そのものの遅延モデルに従って段数を51算して、
設計データベースに格納する。ここで抽象機能素子の遅
延段数は抽象機能素子の展開後の回路によって異なって
くるので、前記段数の計算を行う手段とともに、遅延モ
デルを複数用意しておく。またこの処理で一度計算した
遅延段数については抽象機能素子のタイプ、入力数、ビ
ット幅と一緒にワーク記憶領域に保存しておき、膜種デ
ータベースから同一タイプの抽象機1 ] 能素子が再び取り出されたらハッシュイングを行って、
該ワーク記憶領域のデータを取り出して割りイ【jける
First, in order to be able to search for the critical path even if some abstract functional elements are converted to concrete hardware cells during logic synthesis, the cells existing in the hardware cell library are The number of stages is calculated using the elements and stored in the delay information library. Regarding abstract functional elements at the register transfer level and abstract functional elements or logic elements generated during synthesis, the abstract functional elements are retrieved from the configuration R1 database unit 103, and the type, bit width, and number of inputs of the elements are set as variables. In step 17, the number of stages is calculated to 51 according to a delay model that assumes that they are expanded into a network consisting of typical abstract elements and logic elements during logic synthesis, and a delay model of the logic elements themselves.
Store in design database. Here, since the number of delay stages of the abstract functional element differs depending on the circuit after expansion of the abstract functional element, a plurality of delay models are prepared as well as means for calculating the number of stages. In addition, the number of delay stages once calculated in this process is saved in the work storage area together with the type of abstract functional element, the number of inputs, and the bit width, and the abstract functional element of the same type is retrieved from the film type database again. If so, perform hashing,
The data in the work storage area is extracted and allocated.

ここで第6図の10ピッl−2人力全加算器6゜Oを例
にとって段数計算を説明する。
Here, the calculation of the number of stages will be explained by taking the 10-pin 2-manufactured full adder 6°O shown in FIG. 6 as an example.

いま論理合成で加算器をリップルキャリー型の加算器に
展開することになっている場合、第6図(b)の回路に
展開されるものとして遅延モデルを考える。第6図(b
→の回路は5個の2ビツト2人力の全加算器601〜6
05より構成されている。これらは下位ビットで計算さ
れたキャリの信号に対してシリアルに接続されており(
601〜605)、入力CIからCOまでのパスが最大
遅延段数を有している。また出力データsく8:9 >
 (609)も該段数と等しい遅延段数を有している。
If the adder is to be developed into a ripple carry type adder by logic synthesis, consider the delay model as being developed into the circuit shown in FIG. 6(b). Figure 6 (b
→The circuit consists of five 2-bit two-person full adders 601 to 6.
It is composed of 05. These are serially connected to the carry signal calculated in the lower bits (
601 to 605), the path from the input CI to the CO has the maximum number of delay stages. Also, the output data is 8:9>
(609) also has the same number of delay stages as the number of stages.

従って2ビツト2人力の加算器の最大遅延段数が6段で
あることがわかっているとき、]0ピッl−2人力全加
算器の最大遅延段数は30段になる。
Therefore, when it is known that the maximum number of delay stages for a 2-bit, 2-manual adder is 6 stages, the maximum number of delay stages for a 2-bit, 2-manpower full adder is 30 stages.

以下第3図を用いて第1図の検出部105におけるクリ
ティカルパス検索手段の処理について説明する。いま、
クリティカルパスの探索域は入力レジスタ間、入力−出
力間、レジスターレジスタ間、レジスター出力間とする
The processing of the critical path search means in the detection unit 105 of FIG. 1 will be explained below using FIG. 3. now,
The critical path search area is between input registers, between input and output, between registers, and between register outputs.

処理を開始する( 301. )。人力属性を有するフ
ァシリティやレジスタ転送記述に於ける定数に11、え
た初期遅延情報や終点の信号名およびタイミング制約デ
ータ(ゲート段数)情報を取り込む(302)。レジス
タ転送記述をトランスレートした結果を格納した設計デ
ータベースからネットワークデータを抽出する(303
)。ネットワークを構成している機能素子が遅延情報の
ライブラリ内に存在するかどうかを調べ(304) 、
存在する場合は該ライブラリよりその遅延情報を取り込
み該機能素子に割り付ける(305)。存在しない場合
は展開後の回路の遅延モデルに従い段数を計算して該機
能素子に割り付ける( 306 )。
Start processing (301.). Initial delay information, end point signal name, and timing constraint data (number of gate stages) information obtained by constants 11 in the facility and register transfer descriptions having human attributes are taken in (302). Extract network data from the design database that stores the results of translating the register transfer description (303
). Check whether the functional elements forming the network exist in the delay information library (304);
If it exists, the delay information is fetched from the library and allocated to the functional element (305). If it does not exist, the number of stages is calculated according to the delay model of the expanded circuit and allocated to the functional element (306).

つぎに入力点より終点信号方向に向ってパスをトレース
する。ここで入力点とは人力属性や定数属性を有するフ
ァシリティのことで、終点とはレジメタのデータ入力や
出力属性のファシリティを指す。このときデータバス、
制御パス(レジスタ転送記述ではif、caseなとて
データ転送を制御でき、このif、caseの条件信号
を作成するパス)、クロックパス(レジスタのクロック
入力に接続されるパス)のそれぞれについてパスの有す
る最大段数を伝播しながら計算する。またクロックパス
についてはレジスタに人力後はレジスタの出力に接続さ
れているデータバスについて段数を4算する。−度旧算
したパス上の各素子の人力からの段数は膜種データベー
スに格納する(307)。すべての終点に対する段数計
算が終了したらつぎの処理を行う。
Next, a path is traced from the input point toward the end point signal. Here, the input point refers to a facility that has a human power attribute or a constant attribute, and the end point refers to a facility that has data input or output attributes of the register. At this time, the data bus
For each of the control path (the path that can control data transfer using if and case in the register transfer description and creates the if and case condition signals) and the clock path (the path connected to the clock input of the register), The maximum number of stages to have is calculated while propagating. Regarding the clock path, after inputting the data to the register, the number of stages is calculated by 4 for the data bus connected to the output of the register. - The manually calculated number of stages of each element on the path is stored in the film type database (307). When the calculation of the number of stages for all end points is completed, the following processing is performed.

つぎに終点に割り付けられたタイミング制約情報を用い
て、終点から人力点に向かって抽象機能素子か持ってい
る段数を引去りながら、各抽象機能素子の出力で要求さ
れる最小の遅延段数(最もクリティカルな制約)を計算
して設計データパスに格納する(308)。抽象素子間
の信号はレジスタ転送レベルの回路ではファシリティと
じて認識されるのでパス自体の遅延についても考慮され
る。さらにスラック(いま求めた制約の遅延段数とパス
の人力からの段数との差)を計算して設計データベース
に格納する(309)。ここてスラックがマイナス値(
最大遅延を考えている)になった箇所はクルティカルパ
ス上に存在する。
Next, using the timing constraint information assigned to the end point, we subtract the number of stages that the abstract functional element has from the end point toward the human input point, and then calculate the minimum number of delay stages required for the output of each abstract functional element (the most critical constraints) and stored in the design data path (308). Since signals between abstract elements are recognized as facilities in circuits at the register transfer level, delays in the paths themselves are also taken into consideration. Furthermore, the slack (the difference between the number of delay stages of the constraint just found and the number of stages from the human input of the path) is calculated and stored in the design database (309). Here, the slack is a negative value (
The point where the maximum delay is considered) exists on the temporal path.

その後終点からスラックの値を頼りにタイミング制約を
満足しないパスをトレースする( 3 ]−0)さらに
このとき制御信号の値によって機能的に非現実的なパス
をクリティカルパスの候補としている場合があるのてi
f、caseの条件が矛盾なく成立するパスを本当のク
リティカルパスとし、膜種データベースにパス情報を格
納する。そしてクリティカルパス」二の各抽象素子の出
力における人力からの段数、制約、スラックなどの情報
を膜種データベースに格納して(31,1)木手段の処
理を終了する(31.2)。
After that, a path that does not satisfy the timing constraints is traced from the end point based on the slack value (3]-0) Furthermore, at this time, depending on the value of the control signal, a functionally unrealistic path may be selected as a critical path candidate. Note i
A path for which the conditions of f and case are satisfied without contradiction is defined as a true critical path, and the path information is stored in the film type database. Then, the information such as the number of stages, constraints, slack, etc. manually obtained from the output of each abstract element in the critical path 2 is stored in the film type database (31, 1), and the processing of the tree means is completed (31.2).

またクリティカルパス探索手段では、終点に与えた最大
遅延段数制約に対するクリティカルパスmax  (ス
ラックmax )と同しように、最小遅延段] 6 数制約に対するクリティカルパスmin  (スラック
min )が同時に探索できる。
In addition, the critical path search means can simultaneously search for the critical path min (slack min) for the minimum delay stage [6] number constraint, as well as the critical path max (slack max) for the maximum delay stage number constraint given to the end point.

以下第4図を用いて第1図のクリティカルパス探索手段
によって発見されたクリティカルパスから論理合成部1
06で行う被最適化回路(被最適化パス)の抽出と該パ
ス上の抽象機能素子の選択、展開及び最適化処理の手順
について説明する。
The logic synthesis unit 1 uses the critical path found by the critical path search means in FIG. 1 using FIG. 4 below.
The procedure of extraction of the circuit to be optimized (path to be optimized), selection of abstract functional elements on the path, expansion, and optimization processing performed in step 06 will be explained.

ここで説明の関係土木発明の論理合成が用いているルー
ルベースの方式について簡単に説明する。
Here, the rule-based method used in the logical synthesis of the related civil engineering invention will be briefly explained.

レジスタ転送記述をI・ランスレータで初期回路に変換
したあと、抽象機能素子をより抽象度の低い機能素子ま
たは論理素子に展開する。このとき展開の度合によって
ゲート数は多いがスピードの速い回路やスピードは遅い
がゲート数は少ない回路が構成できるので、展開の制御
はルールベース方式を用いている。すなわち展開の仕方
をルールで選択できる。」二連したように展開の仕方も
ルールで記述できるが展開ルールの選択制御そのものが
ルールで記述でき、このルールをメタルールと呼ぶこと
にする。また抽象機能素子同士を対象にした最適化はア
ルゴリズムを用いた手法では不可能なので、本最適化に
もルールを用いている。
After converting the register transfer description into an initial circuit using an I-translator, abstract functional elements are developed into functional elements or logical elements with a lower level of abstraction. At this time, depending on the degree of expansion, a circuit with a large number of gates but high speed, or a circuit with low speed but a small number of gates can be constructed, so a rule-based method is used to control the expansion. In other words, you can choose how to expand using rules. '' As mentioned above, the method of expansion can also be described by rules, but the selection control of expansion rules itself can be described by rules, and we will call these rules meta-rules. Furthermore, since optimization targeting abstract functional elements is impossible with methods using algorithms, rules are also used in this optimization.

以下の実施例ではクリティカルパス1Tlaxを最適化
合成する手順について説明する。なお、今後特に断らな
い限りクリティカルパスはクリティカルパスmaxの意
味で用い、スラックもスラックmaXの意味で使用する
。クリティカルパスを解消するように合成するには、ク
リティカルパス探索手段によって計算されたスラック値
をゼロにするようにすればよいのでスラック値の絶対値
を最適化目標値とする。
In the following embodiment, a procedure for optimizing and synthesizing the critical path 1Tlax will be described. Note that unless otherwise specified, critical path will be used to mean critical path max, and slack will also be used to mean slack max. In order to synthesize so as to eliminate the critical path, the slack value calculated by the critical path search means should be set to zero, so the absolute value of the slack value is used as the optimization target value.

処理を開始する(401)。クリティカルパスから被最
適化パス及び最適化目標値を求める(402)。被最適
化パスの選択については後述する。
Processing is started (401). An optimized path and an optimization target value are determined from the critical path (402). The selection of the path to be optimized will be described later.

つぎに被最適化パスコニの抽象機能素子から被展開候補
抽象機能素子を捜し出しく403)(これについても後
で詳しく説明する)、候補が存在する場合は、該抽象機
能素子を展開したとき遅延段数が減少する(最適化目標
値に近づく)かどうかを調べる(404)。なお遅延時
間割付手段でレジスタ転送レベルの抽象機能素子には典
型的な遅延段数を割り当てであるので、スピードの速い
抽象回路に展開するルールが存在すれば減少することが
わかる。減少しない場合はつぎの候補の抽象機能素子を
抽出する(403)。減少する場合は該抽象素子をより
抽象度の低い抽象素子に展開する(405)。そして展
開後の抽象素子に対して遅延情報ライブラリを用いて遅
延段数を割り当てる。
Next, a candidate abstract functional element to be expanded is searched for from the abstract functional elements of the optimized pathconi (403) (this will also be explained in detail later), and if a candidate exists, the number of delay stages when the abstract functional element is expanded. It is checked whether the value decreases (approaches the optimization target value) (404). It should be noted that since the delay time allocating means allocates a typical number of delay stages to the abstract functional element at the register transfer level, it can be seen that the delay time will be reduced if there is a rule for expanding to a faster abstract circuit. If the number does not decrease, the next candidate abstract functional element is extracted (403). If it decreases, the abstract element is expanded to an abstract element with a lower abstraction level (405). Then, the number of delay stages is assigned to the expanded abstract element using a delay information library.

該ライブラリにない場合はtl算して割り当てる(40
6)。展開後の抽象機能素子のネットワク仝体に対して
段数81算を行い(407)、展開前の抽象機能素子の
遅延段数といま4算した遅延段数を比較して、該被最適
化パスの最適化目標値が達成されたかどうかを調べる(
408)。達成されない場合は、つぎの候補の抽象機能
素子がなくなるまで抽出して繰り返す。その後で最適化
[1標値が達成されない場合は、展開後の機能素子同士
または被最適化パスの端点の機能素子同士について最適
化を行う(409)。全ての被最適化パスに対して上記
処理が終了したかどうか調べ(4]O)、終了した場合
は該全体回路に対してクリティカルパス検索を行い展開
最適化合成前のクリティカルパスが解消されているかど
うかを調べる(4]1)。解消されていない場合は一連
の処理でクリティカルパスが解消されずに残るまでステ
ップ402以下の処理を繰り返す(412)。クリティ
カルパスが解消された場合もしくは残存するのが確定し
た場合は、上記展開後の抽象機能素子以外のネットワー
クの抽象機能素子に対【7ても展開を行い、さらに素子
数最適化を行う(41’3)このききクリティカルパス
の解消のときに展開した回路については素子数最適化の
処理を行わない。以」二で遅延時間最適化合成の処理を
終rする(41.4)。
If it is not in the library, calculate tl and allocate it (40
6). The number of stages is calculated by 81 for the network body of the abstract functional element after expansion (407), and the number of delay stages of the abstract functional element before expansion is compared with the number of delay stages calculated by 4, and the optimal path of the optimized path is calculated. Check whether the target value has been achieved (
408). If this is not achieved, the next candidate abstract functional element is extracted and repeated until there are no more abstract functional elements. After that, optimization [1] If the target value is not achieved, optimization is performed for the functional elements after expansion or for the functional elements at the end points of the path to be optimized (409). Check whether the above processing has been completed for all the paths to be optimized (4] O), and if it has been completed, perform a critical path search for the entire circuit to ensure that the critical path before expansion optimization synthesis has been resolved. Check whether there is one (4] 1). If the critical path has not been resolved, the process from step 402 onwards is repeated through a series of processes until the critical path remains unresolved (412). When the critical path is resolved or it is confirmed that it remains, expand the abstract functional elements of the network other than the abstract functional elements after the above expansion [7], and further optimize the number of elements (41 '3) Do not perform element number optimization processing on the circuit developed when solving this critical path. This concludes the delay time optimization synthesis process (41.4).

つぎに第5図を用いて第4図のステップ4〔〕2の被最
適化パスの抽出手順について説明する。処理を開始する
( 501. )。まずクリデイカルパス探索手段で発
見されたクリティカルパスl1laXのスラック値から
最も危険度の高い(余裕度の小さい)パスを選択する(
502)。該パスが他のクリテ1 つ ィカルパスと重複するかどうか調べ(503)、この重
複パスがクリティカルパスminでないことを確かめる
(504)。クリティカルパスminと重複していない
場合、この重複クリティカルパスのスラックのうち危険
度の最も小さい(余裕度の最も大きい)値を選ぶ(50
5)。そして該重複したザブパスを被最適パスとし、い
ま求めた危険度の最も小さい(余裕度の最も大きい)ス
ラック値の絶対値を最適化目標値とする( 506 )
。また非−rft ljJザブパスの最適化1」標値は
、各クリティカルパスが有するスラック値に重複ザブパ
スの最適化1」標値を加えた値の絶対値になる(507
)。
Next, the procedure for extracting the optimized path in step 4 [ ] 2 of FIG. 4 will be explained using FIG. 5. Start processing (501.). First, the path with the highest degree of risk (smallest margin) is selected from the slack value of the critical path l1laX discovered by the critical path search means (
502). It is checked whether the path overlaps with another critical path (503), and it is confirmed that this overlapping path is not the critical path min (504). If it does not overlap with the critical path min, select the value with the lowest risk (highest margin) among the slacks of this duplicate critical path (50
5). Then, the duplicate subpath is set as the optimal path, and the absolute value of the slack value with the lowest risk (largest margin) just found is set as the optimization target value (506).
. In addition, the target value of "Optimization 1 of non-rft ljJ subpaths" is the absolute value of the slack value of each critical path plus the target value of "Optimization 1 of duplicate subpaths" (507
).

たたしこの値は重複ザブパスの最適化が成功したときに
用いる。すなわち最適化に失敗した場合は該重複クリテ
ィカルパスの未達最適化目標値分をそれぞれ被最適化ザ
ブパスの最適化目標値に対して加算し、最適化目標値を
更新する。ステップ503で調べたクリティカルパスが
他のものとmlしない場合は、取り出したクリティカル
パス全体を被最適化パスとし、またスラック値より最適
化目標値を求める(508)。すべてのクリティカルパ
スを被最適化パスに分けその最適化11標値が求まった
ら(509)本処理を中+1.L、(51(])、論理
合成へデータをインターフェースする。すなわち処理4
02へ進む。
However, this value is used when optimization of duplicate subpaths is successful. That is, when optimization fails, the unreached optimization target value of the duplicate critical path is added to the optimization target value of each subpath to be optimized, and the optimization target value is updated. If the critical path checked in step 503 does not match any other path, the entire extracted critical path is set as the path to be optimized, and an optimization target value is determined from the slack value (508). After dividing all the critical paths into optimized paths and finding the optimization 11 target value (509), this process is performed with medium+1. L, (51(]), interface data to logic synthesis, i.e. process 4
Proceed to 02.

つぎに第4図のステップ403の被最適化パス」二の抽
象機能素子の選択手順について説明する。
Next, the procedure for selecting the second abstract functional element in step 403 of FIG. 4 will be explained.

まず、(1)外部出力に最も近い抽象機能素子を捜し出
す。これは該抽象素子の変換によって発生する他の回路
への影響を最小限にするためである。
First, (1) find the abstract functional element closest to the external output. This is to minimize the influence on other circuits caused by the conversion of the abstract element.

(2)最も小さいファンアウトを有する抽象機能素子を
捜し出す。これは、いまファンアウトか多い抽象素子を
同一機能のより小さい遅延段数をもつ抽象素子に変換し
たとき、該変換後の抽象素子をノードとして持つパスが
最小段数違反パスとなる可能性があるからである。
(2) Find the abstract functional element with the smallest fanout. This is because when an abstract element with a high fanout is converted to an abstract element with the same function but a smaller number of delay stages, there is a possibility that a path that has the converted abstract element as a node will be a path that violates the minimum number of stages. It is.

(3)最も小さいファンインを有する抽象機能素子を捜
し出す。これは、いまファンインが多い抽象素子を同一
機能のより小さい遅延段数をもつ抽象素子に変換したと
き、該変換後の抽象素子をノードとして持つパスが最小
段数違反パスとなる1−iJ能性があるからである。
(3) Find the abstract functional element with the smallest fan-in. This means that when an abstract element with a large number of fan-ins is converted to an abstract element with the same function but a smaller number of delay stages, the path that has the converted abstract element as a node becomes a path that violates the minimum number of stages. This is because there is.

前記(1)〜(3)の優先度は(2)と(3)を満たず
ものでかつ(1)を満足するものが最優先で、(2)と
(3)に関しては(2)の値のより小さい抽象機能素子
を選択する。この優先度についてはルールベース方式を
用いているので自由に変更できる。
The priorities for (1) to (3) above are those that do not satisfy (2) and (3) and that satisfy (1). Select the abstract functional element with the smaller value. Since a rule-based system is used for this priority, it can be changed freely.

ここで第6図を用いて第1図の論理合成部106におけ
る抽象機能素子の展開の実施例について説明する。
Here, an example of expansion of abstract functional elements in the logic synthesis unit 106 of FIG. 1 will be described using FIG. 6.

第6図(a)に示ず]Oビット2人力加算器600の展
開の1順について説明する。第6図(b)は、2ビット
加算器を5つ(601〜605)用いてリップルキャリ
ー10ビット2人力加算器を構成した図である。第6図
(C)は2ビット加算器1つ(6(、) 6 )と4ビ
ツト加算器2つ(607。
[Not shown in FIG. 6(a)] One order of expansion of the O-bit two-manual adder 600 will be described. FIG. 6(b) is a diagram in which a ripple carry 10-bit two-manual adder is constructed using five 2-bit adders (601 to 605). FIG. 6(C) shows one 2-bit adder (6(,) 6 ) and two 4-bit adders (607).

608)を用いて]0ビット2人力加算器を構成した図
である。2ビット加算器のケート数は2 r)でゲート
段数は3段である。一方4ビット加算器のゲート数は4
5で段数は5段である。そこで第6図(b)の構造にす
るとゲート数は100でケト段数は15段になる。一方
、第6図(C)の構造にするとゲート数は110となり
ゲート段数は12段となる。
608) is used to configure a 0-bit two-manual adder. The number of gates of the 2-bit adder is 2 r) and the number of gate stages is three. On the other hand, the number of gates of a 4-bit adder is 4.
5, the number of stages is 5. Therefore, if the structure shown in FIG. 6(b) is adopted, the number of gates will be 100 and the number of keto stages will be 15. On the other hand, in the structure shown in FIG. 6(C), the number of gates is 110 and the number of gate stages is 12.

いま、クリティカルパス上の10ビット加算器を高速回
路に展開する要求が出されているときは、前記メタルー
ルを用いて第6図(C)の回路を選択しこれに展開する
。また反対に10ビット加算器がクリティカルパス上に
ない場合は、メタルールを用いて第6図(b)の回路を
選択してこれに展開する。
Now, when a request is made to develop a 10-bit adder on the critical path into a high-speed circuit, the circuit shown in FIG. 6(C) is selected and developed using the metal rule. On the other hand, if the 10-bit adder is not on the critical path, the circuit shown in FIG. 6(b) is selected and expanded using the metal rule.

展開後の抽象機能素子の最適化については、いま第6図
(b)の様な回路がクリティカルパス」二に存在する場
合、2ビツト加算器601と602の2つを4ピツ1〜
加算器1つに置き換えることによって段数が6段から5
段に減少し1段数分スピドが速くなる。
Regarding the optimization of the abstract functional element after expansion, if a circuit like that shown in FIG.
By replacing it with one adder, the number of stages can be increased from 6 to 5.
The number of steps decreases, and the speed increases by one step.

つぎに第7図を用いて抽象機能素子から論理素子への変
換について説明する。
Next, conversion from an abstract functional element to a logical element will be explained using FIG.

いま8ピツ]・の1加算器(インクリメンタ)を例に取
って説明する。レジスタ転送レベル言語で記述された8
ピットの]加算器は、I N C701という抽象素子
にトランスレートされる。そこで論理構成の処理が開始
されるとI N C70]という素子はEXOR(υ1
他的論理和)702、AND703、N0T704の論
理素子に展開される。
This will be explained using an example of a 1 adder (incrementer) of 8 bits. 8 written in register transfer level language
PIT's adder is translated into an abstract element called INC701. Then, when the logical configuration processing is started, the element I N C70] is EXOR(υ1
(alternative OR) 702, AND703, and N0T704.

いま第7図(b)の論理素子からなる回路と、第7図(
c)の回路と2つが考えられ、第7図(b)の回路では
各ピッ)・のキャリーの計算を独自の回路で行っている
のに対して、第7図(C)の回路は4ビットの1加算器
を2つ用いた構成であり、したがってF位4ビットから
のキャリーの4算結果を用いるようになっている。2つ
の展開回路の違いはそれぞれ他の物と比較して、第7図
(b)では信号伝播遅延が小さいのに対して(ゲート数
48、ゲート段数4段)、第7図(c) ではゲト数が
小さい(ゲート数40、ゲート段数5段)という特徴が
ある。この展開の処理をルールベースて行う場合、まず
2つの基本展開ルールが用意されており、前記クリティ
カルパス探索手段で発見されたクリティカルパス上にI
NCと言う素子−が使用されており、遅延最小の条件で
展開の要求が出された場合は、メタルールでそれを判断
して第7図(b)の回路に展開し、さもなければ第7図
(c)の回路に展開する。
Now, the circuit consisting of the logic elements shown in FIG. 7(b) and the circuit consisting of the logic elements shown in FIG.
Two circuits are considered: the circuit in Figure 7(b), where the carry calculation for each pin is performed by its own circuit, while the circuit in Figure 7(C) uses four circuits. It has a configuration using two 1-bit adders, and therefore uses the 4-carry result from the F-order 4 bits. The difference between the two expansion circuits is that the signal propagation delay in Fig. 7(b) is small (48 gates, 4 gate stages), whereas in Fig. 7(c), the signal propagation delay is small compared to the other circuits. It is characterized by a small number of gates (40 gates, 5 gate stages). When performing this expansion process based on rules, two basic expansion rules are prepared, and the I/O is placed on the critical path discovered by the critical path search means
An element called NC is used, and if a request for expansion is issued under the minimum delay condition, it will be determined by the metal rule and expanded to the circuit shown in Figure 7(b). This is developed into the circuit shown in Figure (c).

さらに簡単化ルールとして4人力ANDと2人力AND
がシリアルに接続されている場合、′3人力AND2つ
に変換するというものがある場合、」二紀元7図(b)
の回路は第7図(C)の回路になることが考えられるか
、ゲート数最小化のために設けられたANDのシリアル
結合は簡単化しないようにフラグをつけておく。そうす
ることによって、遅延時間最小化制約を満たす構造回路
を生成できる。
Furthermore, 4-person AND and 2-person AND are simplified rules.
If it is connected serially, if there is a method to convert it to 3 manual AND 2, 2 AD Figure 7 (b)
Is it possible that the circuit shown in FIG. 7(C) becomes the circuit shown in FIG. 7(C)?A flag is attached so that the serial combination of ANDs provided to minimize the number of gates is not simplified. By doing so, a structural circuit that satisfies the delay time minimization constraint can be generated.

上記実施例は、遅延時間最小化のルールによって生成さ
れた回路が、上記簡単化ルールのようなゲーI・数最小
化のルールによって回路が変更されないようにした例で
あるが、反対にゲート数最小化のルールによって回路を
小さくする場合はフラグをoffにすればよい。
The above embodiment is an example in which the circuit generated by the delay time minimization rule is not changed by the gate I/number minimization rule such as the above simplification rule. If the circuit is to be made smaller using the minimization rule, the flag may be turned off.

以下筒中なモチーフを用いてクリティカルパスの探索と
合成の処理を説明する。
The process of searching and synthesizing a critical path will be explained below using a simple motif.

第8図は合成前の機能ブロック図である。801〜80
5は入力端子である。ここで入力端子801〜803は
4ビット幅を有している。806゜807はクロック入
力端子である。また808は4ビット幅の出力端子であ
る。809は4ビツト2人力加等器で、810は4ピッ
l−2人力減算器である。8]]は比較器で、812は
4ビットの1加算器(INC)、813は4ビツトの1
減算器(D E C)である。8]4と815はそれぞ
れ1ビット、4ビットのレジスタで、816と817は
2〜1のマルチプレクサである。さらに818はAND
て、819,820はインバータである。また821は
内部信号である。
FIG. 8 is a functional block diagram before synthesis. 801-80
5 is an input terminal. Here, the input terminals 801 to 803 have a width of 4 bits. 806° and 807 are clock input terminals. Further, 808 is a 4-bit wide output terminal. 809 is a 4-bit 2-manual adder, and 810 is a 4-pill 2-manpower subtracter. 8]] is a comparator, 812 is a 4-bit 1 adder (INC), and 813 is a 4-bit 1 adder (INC).
It is a subtractor (DEC). 8] 4 and 815 are 1-bit and 4-bit registers, respectively, and 816 and 817 are 2-1 multiplexers. Furthermore, 818 is AND
819 and 820 are inverters. Further, 821 is an internal signal.

まずこの回路の機能素子及び結線情報をスケマチック人
力または機能膜種記述言語で書く。この情報をデータ変
換手段を用いて回路設計データに変換する。いまこの回
路全体を論理合成の対象として遅延時間の制約を与える
。ここでは、レジススタR2(815)を終点とするパ
スに対して最大遅延制約段数10を与える。また出力端
子G(808)に最大遅延制約段数19を設定する。
First, the functional elements and connection information of this circuit are written manually in a schematic or in a functional film type description language. This information is converted into circuit design data using a data conversion means. Now, this entire circuit is subjected to logic synthesis and constraints on delay time are given. Here, a maximum delay constraint stage count of 10 is given to the path ending at register R2 (815). Further, the maximum delay constraint stage number 19 is set to the output terminal G (808).

この設定の仕方はスケマチック人力ではレジスタシンボ
ルR2のデータ入力端子に対して最大遅延時間制約のテ
キスト人力テーブルを開いて行うことができる。出力端
子Gについても同様である。
This setting can be done manually in a schematic by opening a text manual table with maximum delay time constraints for the data input terminal of the register symbol R2. The same applies to the output terminal G.

スケマチックの情報がなくてもこれらの制約はコマンド
で入力できる。
These constraints can be entered using commands without any schematic information.

つぎに各抽象機能素r・に対する遅延情報の与え方につ
いて説明する。膜種者は機能ブロックの遅延時間を自由
に選択または設定できることが重要だが、機能ブロック
をスケマチック入力するたびに、もしくは機能素子を記
述するたびに遅延時間を設定していたのでは膜種効率が
大変悪いので、自動割当の手段を用いる。抽象機能素子
の遅延時間は人力数及びそのビット数に依存し、さらに
同一機能に対して構造回路は複数考えられるため、ここ
てはゲート数も遅延時間も良好な標準的な論理回路を想
定して遅延時間を17える。いま第8図の点線の円で囲
まれた数字は各機能ブロックの最大遅延段数である。イ
ンバータは他の論理ゲートに比べて遅延時間が小さいの
でここではゲート段数をOとしている。
Next, how to give delay information to each abstract functional element r. will be explained. It is important for film developers to be able to freely select or set delay times for functional blocks, but setting delay times each time a functional block is schematically input or a functional element is written reduces film efficiency. This is very bad, so automatic allocation is used. The delay time of an abstract functional element depends on the number of human resources and the number of bits, and more than one structural circuit can be considered for the same function, so here we assume a standard logic circuit with a good number of gates and delay time. and increment the delay time by 17. The numbers surrounded by dotted circles in FIG. 8 are the maximum number of delay stages for each functional block. Since the inverter has a smaller delay time than other logic gates, the number of gate stages is set to O here.

これを整理して示すと以下の表1のようになる。This is summarized in Table 1 below.

表    1 機能ブロックタイプ  遅延段数 ADD       6 SUB       7 COMP      5 MUX              ITNC3 DEC3 REG             2 AND              11NV    
         O これらは設ス1データヘースから各抽象機能素子のタイ
プと人力数と人力数のビット幅を取り出して、この情報
をもとに計算して割り当てたものであり、これらについ
ては合成途中で再度生成される可能性があるためワーク
記憶領域に保存しておく。
Table 1 Functional block type Number of delay stages ADD 6 SUB 7 COMP 5 MUX ITNC3 DEC3 REG 2 AND 11NV
O These are the types of abstract functional elements, the number of manpower, and the bit width of the number of manpower are taken out from the design space 1 data base, and calculated and assigned based on this information, and these are regenerated during synthesis. Save it in the work storage area because there is a possibility that it may be deleted.

そこで上で設定した遅延時間制約に基づいたクリティカ
ルパス探索の処理について説明する。
Therefore, the critical path search process based on the delay time constraints set above will be explained.

入力端子からの各抽象機能素子の出力における段数を求
める。入力点A (802) 、B (803)C(8
04) 、D (805)は0段で、クロック人力CK
i(806)にはA−D入力に対して遅延時間として3
段遅延を持たせ、CR2(807)は16段とする。
Find the number of stages in the output of each abstract functional element from the input terminal. Input points A (802), B (803) C (8
04), D (805) is 0 stage, clock manually CK
i (806) has a delay time of 3 for the A-D input.
A stage delay is provided, and CR2 (807) has 16 stages.

いま入力端子A (802) 、B (803)からの
データバスの段数について説明する。点線の四角形の上
から1段目の値が入力からの段数を示す。
The number of stages of data buses from input terminals A (802) and B (803) will now be explained. The value in the first row from the top of the dotted rectangle indicates the number of steps from the input.

減算器(810)の出力は7段となり加算器(809)
の出力は6段となる。またMUX(816)の出力は偽
人力(810)からの段数が大きいのでそれをとり8段
となる。一方MUX(81,6)の制御入力はCKi、
(806)か3段でレジスタ2つ R]、(81,4)の段数2を加えて5段となる。また
MUX(81,6)の出力は最大6段となる。従ってこ
のパスはデータバスからの8段をとる。比較器(81,
1)の出力はF(821)からのパスの8段と比較器本
体が有している5段を加えた13段となる。さらにMU
X (817)の出力はブタパスF(821)や1加算
器(81,2)の出力段数の3段よりも大きい14段の
値をとる。最終的に、レジスタR2(815)のデータ
人力へのパスの最大段数は14段となる。
The output of the subtracter (810) becomes 7 stages and the adder (809)
The output is 6 stages. Also, since the output of the MUX (816) has a large number of stages from the fake human power (810), it becomes 8 stages. On the other hand, the control input of MUX (81, 6) is CKi,
(806) has 3 stages and 2 registers R], and (81, 4) has 2 stages, resulting in 5 stages. Further, the output of MUX (81, 6) is a maximum of six stages. Therefore, this path takes eight stages from the data bus. Comparator (81,
The output of 1) has 13 stages, including the 8 stages of the path from F (821) and the 5 stages included in the comparator body. Further M.U.
The output of X (817) takes a value of 14 stages, which is larger than the 3 output stages of the pig path F (821) and the 1 adder (81, 2). Finally, the maximum number of stages of the path to the data input of register R2 (815) is 14 stages.

つぎにR2(815)を終点とするパスに対して制約段
数(点数の四角形の2段目の値)を計算する。R2には
10段の最大遅延の制約が割り付けられている。R2へ
人力するパスはMUX (817)から来ている。MU
Xの右から人力する制御信号822は偽のときの条件を
表しており、823は真のときの条件を表している。M
UX (817)の左から人力する信号はデータ信号で
右から人力する制御信号に対応するものである。いまM
UXのデータ人力F(821)に於ける制約を求めると
9段になる。ここでFはファンアウトが2以上であるの
てFの出力のもとの遅延段数決めることができない。そ
こでMUX(81,7)の真入力のデータバスの制約を
調べると、偽の場合と同様に9段となり、さらにINC
(8]2)は3段なのでINCの入力は6段となる。こ
のパスについては、いま終点を指定したレジスタの出力
に達したのでここで終了する。そこでMUX(817)
の制御信号のパスの制約段数を求める。MUXの制御入
力端子はそれぞれ9段である。MUXの偽のパスのイン
バータによる遅延は考慮せず比較器(81,1)の出力
端子に於ける段数は9段となる。そして比較器の入力端
子に於ける段数を4算する。比較器の遅延段数は5段で
あるので入力F(821)の出力は先はど4算した9段
よりも小さい、いま求めた4段を制約とする。以下同様
に加算器(809)、減算器(81,0)の出力はそれ
ぞれ3段となり減算器(810)の遅延段数が7段であ
るのでA (802) 、B (803)はそれぞれ−
4段となる。一方MUX (816)の制御入力に対し
てレジスタR1(814)の出力は3段となり、レジス
タR1,(81,4)のクロ・ツク人力からデータ出力
までの遅延段数を差し引いてクロック人力CK1.(8
06)は1段となる。
Next, the number of constraint stages (the value of the second stage of the rectangle of points) is calculated for the path whose end point is R2 (815). A maximum delay constraint of 10 stages is assigned to R2. The manual path to R2 comes from MUX (817). M.U.
A control signal 822 manually input from the right side of X represents a condition when it is false, and a control signal 823 represents a condition when it is true. M
The signal manually inputted from the left side of the UX (817) is a data signal and corresponds to the control signal manually inputted from the right side. Now M
The constraints on UX data and human power F (821) are 9 stages. Here, since F has a fanout of 2 or more, the original number of delay stages for the output of F cannot be determined. Therefore, when examining the constraints of the data bus of the true input of MUX (81, 7), it becomes 9 stages as in the case of false, and the INC
(8) Since 2) has three stages, the input to INC is six stages. This path ends here because it has reached the output of the register for which the end point has been specified. So MUX (817)
Find the constraint number of stages for the control signal path. Each MUX has nine stages of control input terminals. The number of stages at the output terminal of the comparator (81, 1) is nine, without considering the delay caused by the inverter of the false path of the MUX. Then, the number of stages at the input terminal of the comparator is calculated by four. Since the number of delay stages of the comparator is 5, the output of the input F (821) is smaller than the 9 stages calculated by 4 earlier, and the constraint is set to the 4 stages found just now. Similarly, the outputs of the adder (809) and the subtracter (81, 0) are 3 stages each, and since the number of delay stages of the subtracter (810) is 7 stages, A (802) and B (803) are respectively -
There will be 4 stages. On the other hand, in response to the control input of MUX (816), the output of register R1 (814) is 3 stages, and the clock power CK1 is calculated by subtracting the number of delay stages from the clock power of registers R1, (81, 4) to the data output. (8
06) is one stage.

ここでスラッジ(制約段数−始点からの段数)を求める
。点線の3段組の長方形の3段目の値がスラック値であ
る。そしてR2(815)からこのスラッジの値の内マ
イナス値をトレースすればこれがクリティカルパスとな
る。このモチーフでは−4のパスが最も危険なパスで、
つぎが−3のパスである。
Here, the sludge (constraint number of stages - number of stages from the starting point) is determined. The value in the third row of the three-column rectangle indicated by the dotted line is the slack value. If the negative value of this sludge value is traced from R2 (815), this becomes the critical path. In this motif, the -4 path is the most dangerous path,
Next is the -3 pass.

同様に出力G (808)については、ます人力CK2
(807)からの段数は入力A (802)、B (8
03) 、E (801)に対して16段の遅延を持っ
ているので、レジスタR2(81,5)のクロック人力
では16段となり、R2のデータ出力では18段となる
。さらにDEC(813)の出力端子て21段となり結
局出力G(808)で21段になる。つぎに出力Gには
制約19段がljえられているので、DEC(81,3
)の人力はDEC自体が有している3段の遅延段数を差
し引き16段となる。またレジスタR2のクロック入力
からデータ出力までの遅延段数を差し引いてクロック人
力CK2 (807)は14段となる。スラッジは−2
となりクリティカルパスはCK 2− R2−DEC−
Gのパスとなる。
Similarly, for the output G (808), the manual power CK2
The number of stages from (807) is input A (802), B (8
03), has a delay of 16 stages with respect to E (801), so the manual clock of register R2 (81, 5) has 16 stages, and the data output of R2 has 18 stages. Further, the output terminal of the DEC (813) becomes 21 stages, and finally the output G (808) becomes 21 stages. Next, since the output G has 19 stages of constraints lj, DEC(81,3
) becomes 16 stages after subtracting the 3 stages of delay stages that the DEC itself has. Further, by subtracting the number of delay stages from the clock input to the data output of the register R2, the clock input CK2 (807) becomes 14 stages. Sludge is -2
Then, the critical path is CK 2- R2-DEC-
It becomes the pass of G.

つぎに最適化パスの選択方法について説明する。Next, a method for selecting an optimization path will be explained.

クリティカルパスが有しているスラツク値から最も危険
度の高いパスを選ぶ。いまR2のデータ人力に与えた制
約に対して危険度の高いパスから示す。cpl、1とc
pl、、2はスラッジが−4のクルティカルパスで、c
p2.]とcp2.2はスラッジが−3のクリティカル
パスで、cp3゜]は−2のクリティカルパスである。
The path with the highest degree of risk is selected from the slack values of the critical paths. The paths with the highest degree of risk will be shown based on the constraints given to R2's data manpower. cpl, 1 and c
pl,,2 is a critical path with -4 sludge, c
p2. ] and cp2.2 are critical paths with -3 sludge, and cp3°] are critical paths with -2.

個々のクリティカルパスの最適化目標値はスラツク値の
絶対値としtarget1〜3に示す。以」二を総合す
ると次の第2表のようになる。
Optimization target values for each critical path are shown as absolute values of slack values in targets 1 to 3. Combining the above two results, we get the following Table 2.

(以下余白) cpl、1:A 第2表 SUB−MUX COMP −MUX−R2 CI)1. 2:B SUB MUX COMP MUX  −R2 5lackl: targetl:4 cp2.1  ・ A MUX−R2 cp2. 2:B −ADD MUX−R2 s  1  a  Ck  2  :  −3targ
et2:3 A  D  D MUX MUX COMP COMP cp3.1:CKI MUX OM P −MUX−R2 slack3ニー2 target3:2 いま、cpl、、iに着目するとこれは他の全てのクリ
ティカルパスに重複する部分を有しており、これを重複
パスoVp1とする。最適化11標値は全クリデイカル
パスのうちもっとも危険度の小さいスラックの絶対値を
取るので2(otl)となる。またcpl−、iはcp
l、2とも重複しておりこれをovp2と示す。最適化
L1標値はtargetl−otlで2(ot2)とな
る。
(Left below) cpl, 1:A Table 2 SUB-MUX COMP -MUX-R2 CI) 1. 2:B SUB MUX COMP MUX-R2 5lackl: targetl:4 cp2.1 ・A MUX-R2 cp2. 2: B -ADD MUX-R2 s 1 a Ck 2 : -3targ
et2:3 A D D MUX MUX COMP COMP cp3.1: CKI MUX OM P -MUX-R2 slack3 knee 2 target3:2 Now, if we focus on cpl,,i, this means that the part that overlaps with all other critical paths This is designated as an overlapping path oVp1. Optimization 11 The target value is 2 (otl) because the absolute value of the slack with the lowest risk among all critical paths is taken. Also, cpl-, i is cp
Both 1 and 2 overlap, and this is designated as ovp2. The optimization L1 target value is targetl-otl, which is 2 (ot2).

ovp 1 :MUX−F−COMP−MUX−R2o
tl:2 o v p 2 : SUB−MUX ot2二2 つぎにcp2,1に着目すると重複パスovp1につい
て処理済みなので、Cr2,2との重複パスovp3を
被最適化パスとし、最適化]−1標値ov3は1  (
target2−otl)となる。
ovp 1 :MUX-F-COMP-MUX-R2o
tl:2 ov p2: SUB-MUX ot22 Next, focusing on cp2,1, since the overlapping path ovp1 has already been processed, the overlapping path ovp3 with Cr2,2 is set as the path to be optimized, and optimization]-1 The target price ov3 is 1 (
target2-otl).

c p 3゜1についてはopplか被最適化ハスの候
補になるが最適化l」標値oplは0(target3
−otl)となるため候補からはずず。
For c p 3゜1, it becomes a candidate for oppl or the lotus to be optimized, but the target value opl is 0 (target3
-otl), so it was excluded from the candidates.

o v p 3 : ADD−MUX ov3:1 opp 1 : CKI−R1−MUXapl:0 但し0r)p]はovplで最適化が実現できた場合に
のみ最適化目標値はゼロとなる。
ov p 3 : ADD-MUX ov3:1 opp 1 : CKI-R1-MUXapl: 0 However, for 0r) p], the optimization target value becomes zero only when optimization can be realized with ovpl.

つぎに被最適化パスovplについて適用する最適化工
法について説明する。
Next, an optimization method applied to the optimized path ovpl will be explained.

いま説明する手法は被最適化パス上の複数の機能素子に
対【7て応分の最適化目標値を分担するものである。一
方被最適化バス」二のある機能素子に対して最大限の最
適化目標値を担わせ、最小回数の展開でlニー1標値を
実現する手法でも実現できる。
The method to be described now is one in which a proportionate optimization target value is shared among a plurality of functional elements on the path to be optimized. On the other hand, it can also be realized by a method of assigning the maximum optimization target value to a certain functional element of the bus to be optimized and realizing the target value with the minimum number of expansions.

ますはL7めに、よりファンアラI・の小さい抽象機能
素子を選択するがその対象となるものはMUX817で
ある。そこてMUXの展開方法について高速化ルールが
存在するかどうか調べ、いま高速化回路に展開するルー
ルが存在しないので(本実施例では存nニジないとした
)つぎの候補を捜す。
The cell L7 selects an abstract functional element with a smaller fan error I, and the target element is MUX817. Then, it is checked whether there is a speeding-up rule regarding the MUX development method, and since there is no current rule to develop the speed-up circuit (in this embodiment, it is assumed that there is no such rule), the next candidate is searched.

またファンアラi・の小さい抽象機能素子を選択すると
COMP(81,1)が候補に挙がる。そこでCOM 
Pを展開したあとて高速化されるかどうか:J!aべる
と是であるので実際に展開を行う。展開後の回路を第9
図に示す。そして展開後の個々の機能素子に対して遅延
段数を与える。展開後の部分回路の段数計算を行うと4
段になるので1段分たけ最適化1」標値が達成された。
Furthermore, when an abstract functional element with a small fan area i is selected, COMP (81, 1) is selected as a candidate. So COM
Will it be faster after expanding P: J! Since it is true that it is better to do so, we will actually develop it. The circuit after expansion is shown in 9th
As shown in the figure. Then, the number of delay stages is given to each functional element after expansion. When calculating the number of stages of the partial circuit after expansion, it is 4.
The target value of ``optimization 1'' was achieved by one step.

ただしEXOR(901)は2段、4人力N0R(90
2)は2段としている。ところが被最適化パスovpl
は最適化i〒1標値が2段であるので、まだ」二記展開
のみでは達成されないためつぎの候補を捜しにいくが、
MUX(81,6)も」二記理由により最適化展開が不
可能である。そのためCOMPの展開後の回路について
機能素子間で遅延段数の最適化を行うが、第9図のよう
に最適化の余地が残っていないのでっぎの被最適化パス
の展開を行う。
However, EXOR (901) is a 2-stage, 4-person powered N0R (90
2) has two stages. However, the optimized path ovpl
Since the optimization i〒1 target value is 2 stages, it cannot be achieved with just the two-fold expansion, so I will search for the next candidate, but
MUX(81,6) is also impossible to perform optimization for the reasons stated in the second paragraph. For this reason, the number of delay stages between functional elements is optimized for the circuit after COMP is expanded, but as shown in FIG. 9, there is no room left for optimization, so the path to be optimized is expanded.

被最適化パス0Vp2について最適化[1標値を計算す
る。重複したクリティカルパスovplの最適化1」標
値が実現できなかったので、本最適化パスはその分最適
化目標値が大きくなる。本来の最適化l」標値は2段で
あるが、いまovplの非実現最適化[1標値1段を加
えて3段になる。そこで最適化展開候補を捜すとSUB
 (810)か選択され、さらに高速化回路に展開する
ルールがあるかどうかを調べると存在するのて、SUB
を高速化回路に展開する。ここでは5段の遅延段数を持
つ回路に展開できるので(第10図を参照、1001は
4ビット全加算器で遅延段数は5段)、最適化[“1標
値3に対して2段分を満足させる。0vp2には他に最
適化展開可能な機能素子がないので、展開後の回路につ
いて機能素子間の最適化を行うが、最適化の余地が残っ
ていないのでクリティカルパスcp1.1とcps、2
は最適化11標値4を達成てきず3段分しか稼げなかっ
たことになる。同様にo v p 3の最適化目標値は
2段になりパス」−のADDは展開後最小5段にしかな
らないのでクリティカルパスcp2.1、cp2゜2の
最適化!−1標値の3段は実現できず1段分の危険度は
残る。さらに重複クリティカルパスの最適化目標値が実
現できなかったことから、パスopp1は最適化目標値
1段を持った被最適化パスになるか、oppl上にはM
UXとかREG等最等化適化候補いためなにも行われな
い。従ってクリティカルパスcp3.1について1段分
の危険度が残ってしまう。また各被最適化パスの端点同
士の最適化が可能かとうか試みるが本実施例では被最適
化パスがMUX(816)で分離されているため不可能
である。本実施例によると最長遅延段数が14段から1
1段に削減された。
Optimize [1 Calculate the target value for the optimized path 0Vp2. Since the target value of "Optimization 1 of duplicated critical path ovpl" could not be achieved, the optimization target value of this optimization pass increases accordingly. The original optimization l' target value is 2 stages, but now the unrealized optimization of OVPL [1 target value and 1 stage is added, resulting in 3 stages. So when I search for optimization deployment candidates, SUB
(810) is selected, and when I check whether there is a rule to expand to the speed-up circuit, I find that it exists.
is developed into a high-speed circuit. Here, it can be expanded to a circuit with 5 delay stages (see Figure 10, 1001 is a 4-bit full adder and the number of delay stages is 5). Since there are no other functional elements in 0vp2 that can be optimized and expanded, the circuit after expansion is optimized between functional elements, but since there is no room left for optimization, the critical path cp1.1 and cps, 2
This means that he could not achieve the optimization 11 target value of 4 and could only earn 3 steps. Similarly, the optimization target value for ov p 3 is 2 stages, and the ADD of "pass" - will only be a minimum of 5 stages after expansion, so optimize the critical path cp2.1, cp2゜2! -1 stage of the target price cannot be realized, and the risk level of 1 stage remains. Furthermore, since the optimization target value of the duplicate critical path could not be realized, path opp1 becomes an optimized path with one stage of optimization target value, or M
Nothing is done because there are no optimization optimization candidates such as UX or REG. Therefore, one level of risk remains for the critical path cp3.1. Also, an attempt is made to see if it is possible to optimize the end points of each path to be optimized, but this is not possible in this embodiment because the paths to be optimized are separated by a MUX (816). According to this embodiment, the maximum number of delay stages is 14 to 1.
Reduced to 1 stage.

本実施例は展開後の回路の遅延段数を既知として説明し
たが、未知の場合は展開後の回路の段数計算を行う必要
がある。さらに展開後の回路同士で遅延段数の最適化が
行われた場合は再度クリティカルパス探索手段で展開前
のクリティカルパスが回避されたかどうか調べ、クリテ
ィカルパス」二の機能素子がすべて展開されるまで繰り
返す。
Although this embodiment has been described assuming that the number of delay stages in the circuit after expansion is known, if it is unknown, it is necessary to calculate the number of stages in the circuit after expansion. Furthermore, if the number of delay stages is optimized between circuits after deployment, the critical path search means again checks whether the critical path before deployment has been avoided, and repeats this process until all functional elements on the second critical path are deployed. .

[発明の効果] 以」二説明したように、本発明の装置によれば少ないメ
モリ容量で抽象回路のレベルでタイミング検証が行え、
合成前にタイミング仕様が満たされるか否かの判定が可
能になる。また、抽象回路に割り当てられた遅延時間を
利用して、回路の展開及び最適化時にスピードの速い回
路を生成するの3 つ で、論理式の筒中化やハードウェアのインプリメンテー
ションによる遅延時間の最適化だけを用いた場合よりも
遅延時間の制約を満足する回路が実現できるという効果
がある。
[Effects of the Invention] As explained below, according to the apparatus of the present invention, timing verification can be performed at the abstract circuit level with a small memory capacity.
It becomes possible to determine whether timing specifications are met before synthesis. In addition, there are three ways to generate faster circuits during circuit expansion and optimization by using the delay time allocated to abstract circuits. This has the effect of realizing a circuit that satisfies the delay time constraints more than when optimization alone is used.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例にかかる論理回路の合成装置
の構成を説明するブロック図、第2図は本発明の一実施
例における論理合成の処理フローを説明する図、 第3図は本発明の一実施例におけるクリティカルパス探
索手段の処理を説明する図、 第4図は本発明の一実施例における被最適化回路(被最
適化パス)の油田と該パス上の抽象機能素rの選択、展
開及び最適化処理の手順について説明する図、 第5図は本発明の一実施例におけるクリティカルパスか
ら被最適化パスの抽出1法について説明する図、 第6図は本発明の一実施例における抽象機能素子の展開
について説明する図、 第7図は本発明の一実施例における抽象機能素子から論
理素子への変換について説明する図、第8図は本発明の
一実施例におけるクリティカルパスの探索と合成の処理
を説明するのに使用する簡単なモチーフの機能ブロック
図、 第9図は本発明の一実施例における比較器の論理素子へ
の変換について説明する図、および第10図は本発明の
一実施例における減算器の展開について説明する図であ
る。 101・ レジスタ転送仕様の人力部 ]04・タイミング制約の入力部 105−タイミング制約設定及び違反検111部106
 論理合成部 108 論理回路の出力部
FIG. 1 is a block diagram illustrating the configuration of a logic circuit synthesis apparatus according to an embodiment of the present invention, FIG. 2 is a diagram illustrating the processing flow of logic synthesis in an embodiment of the present invention, and FIG. A diagram illustrating the processing of the critical path search means in an embodiment of the present invention. FIG. FIG. 5 is a diagram explaining a method for extracting an optimized path from a critical path in an embodiment of the present invention. FIG. FIG. 7 is a diagram explaining the expansion of abstract functional elements in an embodiment of the present invention. FIG. 8 is a diagram explaining the conversion of an abstract functional element into a logic element in an embodiment of the present invention. FIG. 9 is a functional block diagram of a simple motif used to explain path search and synthesis processing; FIG. 9 is a diagram explaining the conversion of a comparator into a logic element in an embodiment of the present invention; and FIG. FIG. 2 is a diagram illustrating the expansion of a subtracter in an embodiment of the present invention. 101. Register transfer specification manual section] 04. Timing constraint input section 105 - Timing constraint setting and violation detection section 111 section 106
Logic synthesis section 108 Output section of logic circuit

Claims (2)

【特許請求の範囲】[Claims] (1)論理回路を自動生成するための論理回路の合成装
置において、 合成の開始前、あるいはその途中で生成された抽象回路
を使用してタイミング解析を行なうために、前記抽象回
路を構成している素子に任意の遅延時間を与える手段と
、 与えられた遅延時間を用いてタイミング解析を行い、タ
イミング制約条件が満たされるかどうかを検出する手段
と、 前記検出されたタイミング解析結果を使用してタイミン
グ制約条件が満たされるように前記抽象回路を論理回路
に変換あるいは合成する手段と、前記タイミング制約に
違反する回路の遅延時間を最適化するために回路を変換
あるいは合成する手段と、 を具備することを特徴とする論理回路の合成装置。
(1) In a logic circuit synthesis device for automatically generating a logic circuit, the abstract circuit is configured to perform timing analysis using the generated abstract circuit before or during synthesis. means for giving an arbitrary delay time to an element, means for performing timing analysis using the given delay time and detecting whether a timing constraint condition is satisfied, and using the detected timing analysis result. means for converting or synthesizing the abstract circuit into a logic circuit so that timing constraints are satisfied; and means for converting or synthesizing the circuit to optimize the delay time of a circuit that violates the timing constraints. A logic circuit synthesis device characterized by:
(2)前記遅延時間最適化のための回路の変換あるいは
合成手段は、前記タイミング解析手段で検出された制約
違反の回路を解析して前記回路を最適化対象回路に分割
するとともに分割された回路に最適化目標値を設定し、
前記最適化目標値にしたがって回路を変換あるいは合成
する手段を有することを特徴とする請求項1記載の論理
回路の合成装置。
(2) The circuit conversion or synthesis means for delay time optimization analyzes the circuit violating the constraints detected by the timing analysis means, divides the circuit into optimization target circuits, and divides the circuit into optimization target circuits. Set the optimization target value to
2. The logic circuit synthesis apparatus according to claim 1, further comprising means for converting or synthesizing the circuit according to the optimization target value.
JP2159948A 1990-06-20 1990-06-20 Logic circuit synthesizer Expired - Fee Related JP2980348B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2159948A JP2980348B2 (en) 1990-06-20 1990-06-20 Logic circuit synthesizer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2159948A JP2980348B2 (en) 1990-06-20 1990-06-20 Logic circuit synthesizer

Publications (2)

Publication Number Publication Date
JPH0451367A true JPH0451367A (en) 1992-02-19
JP2980348B2 JP2980348B2 (en) 1999-11-22

Family

ID=15704659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2159948A Expired - Fee Related JP2980348B2 (en) 1990-06-20 1990-06-20 Logic circuit synthesizer

Country Status (1)

Country Link
JP (1) JP2980348B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5883808A (en) * 1996-01-30 1999-03-16 Nec Corporation Logic circuit optimization apparatus and its method
JPWO2005038647A1 (en) * 2003-10-16 2007-01-18 三菱電機株式会社 User interface software design system
JP2013033360A (en) * 2011-08-01 2013-02-14 Fujitsu Semiconductor Ltd Lsi design method, design program and design device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5883808A (en) * 1996-01-30 1999-03-16 Nec Corporation Logic circuit optimization apparatus and its method
JPWO2005038647A1 (en) * 2003-10-16 2007-01-18 三菱電機株式会社 User interface software design system
JP2013033360A (en) * 2011-08-01 2013-02-14 Fujitsu Semiconductor Ltd Lsi design method, design program and design device

Also Published As

Publication number Publication date
JP2980348B2 (en) 1999-11-22

Similar Documents

Publication Publication Date Title
US10089426B2 (en) Logic circuit generation device and method
JP3175322B2 (en) Automatic logic generation method
US6622290B1 (en) Timing verification method employing dynamic abstraction in core/shell partitioning
US5574655A (en) Method of allocating logic using general function components
US5493505A (en) Initializable asynchronous circuit design
JPH0451367A (en) Synthesis device for logical circuit
US7051312B1 (en) Upper-bound calculation for placed circuit design performance
US7398424B2 (en) False path detection program
US5740070A (en) Apparatus for automatically generating logic circuit
US6243852B1 (en) Method of and an apparatus for logic circuit synthesis
US6877140B1 (en) Method and system for generating a schematic representing bus structures
JP2853649B2 (en) How to create a logic simulation model
Babakov et al. Structural classification of methods for synthesis of a microprogram finite-state machine with datapath of transitions
JP2980761B2 (en) Logic circuit optimization device
JP3101872B2 (en) Logic synthesis support method and system
JP2845154B2 (en) How to create a logic simulation model
Van Eijk A BDD-based verification method for large synthesized circuits
JPH11259555A (en) Design method for macro
WO2019216077A1 (en) Circuit description conversion system and circuit description search system
JP2925160B2 (en) Logic synthesis method
JP5115056B2 (en) Logic circuit description format conversion method, program and apparatus
JP2005107575A (en) Design method foe large-scale integrated circuit
JP3196735B2 (en) Sequential circuit equivalency verification apparatus, method and recording medium
JP2785708B2 (en) Logic simulation method
JPH1115865A (en) Device and method for synthesizing logic circuit, and computer-readable recording medium recorded with synthesis program of logic circuit

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees