JP2630258B2 - Delay optimization method and logic synthesizer - Google Patents

Delay optimization method and logic synthesizer

Info

Publication number
JP2630258B2
JP2630258B2 JP6122119A JP12211994A JP2630258B2 JP 2630258 B2 JP2630258 B2 JP 2630258B2 JP 6122119 A JP6122119 A JP 6122119A JP 12211994 A JP12211994 A JP 12211994A JP 2630258 B2 JP2630258 B2 JP 2630258B2
Authority
JP
Japan
Prior art keywords
register
path
information
input
block
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.)
Expired - Fee Related
Application number
JP6122119A
Other languages
Japanese (ja)
Other versions
JPH07334531A (en
Inventor
敦資 中村
政道 河原林
俊治 浅香
直孝 前田
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP6122119A priority Critical patent/JP2630258B2/en
Publication of JPH07334531A publication Critical patent/JPH07334531A/en
Application granted granted Critical
Publication of JP2630258B2 publication Critical patent/JP2630258B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は遅延最適化方法および論
理合成装置に関し、特にレジスタの移動によるリタイミ
ング手法を用い遅延最適化をする遅延最適化方法および
論理合成装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a delay optimizing method and a logic synthesizing apparatus, and more particularly to a delay optimizing method and a logic synthesizing apparatus for optimizing a delay by using a retiming method by moving registers.

【0002】[0002]

【従来の技術】論理合成における遅延最適化手法の一つ
であるリタイミングとは、順序回路において、制約条件
の一つである許容最大遅延値を超過しているパスの入力
端または出力端のDFFなどのレジスタ素子(以下レジ
スタ)を、その間にある組合せ論理素子をまたいで(飛
越して)移動することにより、入力信号に対する出力論
理を変えることなく回路の最大遅延を削減して各パス遅
延の配分を均等化し、より高速なクロックサイクルでの
回路動作を実現する遅延最適化方法である。
2. Description of the Related Art Retiming, which is one of the delay optimizing techniques in logic synthesis, is defined as a sequential circuit in which an input terminal or an output terminal of a path exceeding an allowable maximum delay value, which is one of constraint conditions, is used. By moving a register element (hereinafter referred to as a register) such as a DFF across (jumping) a combinational logic element between them, the maximum delay of the circuit can be reduced without changing the output logic with respect to the input signal, and each path delay can be reduced. This is a delay optimization method for equalizing the distribution of data and realizing a circuit operation in a faster clock cycle.

【0003】ここでは、入力端が外部入力端子(以下入
力端子)もしくはレジスタのいずれかで始まり、組合せ
回路を経由して、出力端が出力端子(以下出力端子)も
しくはレジスタのいずれかで終端する組合せ論理回路部
分の信号経路のことをパスという。また、許容最大遅延
値を超過したパスをクリティカルパスといい、クリティ
カルパスのなかで超過の度合いが最大のパスをワースト
クリティカルパスという。なお、入力端が入力端子で、
出力端が出力端子であるパスは、レジスタを端点に持た
ないパスであるため、このようなパスに対してはレジス
タの移動による遅延最適化すなわちリタイミングの適用
ができない。
Here, an input terminal starts at an external input terminal (hereinafter referred to as an input terminal) or a register, and an output terminal terminates at an output terminal (hereinafter referred to as an output terminal) or a register via a combinational circuit. The signal path of the combinational logic circuit portion is called a path. A path that exceeds the allowable maximum delay value is called a critical path, and a path having the greatest degree of excess among the critical paths is called a worst critical path. The input terminal is the input terminal,
Since a path whose output terminal is an output terminal is a path that does not have a register at an end point, delay optimization by moving the register, that is, retiming cannot be applied to such a path.

【0004】また、順序回路の組合せ論理回路部分をブ
ロック化したものを組合せ論理ブロック(以下ブロッ
ク)といい、各々のブロックは単一または複数の組合せ
論理素子から成るものとする。
[0004] A combinational logic circuit portion of a sequential circuit is called a combinational logic block (hereinafter, block), and each block is composed of a single or a plurality of combinational logic elements.

【0005】従来のリタイミングによる順序回路の遅延
最適化方法は、例えば、テクニカルメモランダムTM3
72・エムアイティー/エルシーエス,MITラボラト
リ,1987年10月(Technical Memo
randum MIT/LCS/TM372)所載のシ
ー・イー・リーザソンとジエー・ビー・サックス(C.
E.Leiserson and J.B.Saxe)
の論文「リタイミング・シンクロナス・サーキットリ
(Retiming SynchronousCirc
uitry)」第1〜27頁(文献1)に、順序回路中
で、ある組合せ論理素子の全ての入力端子に直接接続さ
れていたレジスタを削除し、この組合せ論理素子の全て
の出力端子側に直接挿入接続しても、すなわち、組合せ
論理素子をまたいでレジスタを移動しても、回路の入力
信号に対する出力信号の動作が不変であるという基本的
な理論が記載されている。
A conventional method for optimizing the delay of a sequential circuit by retiming is described in, for example, Technical Memorandum TM3.
72 MIT / LCS, MIT Laboratory, October 1987 (Technical Memo)
C. Lee Searson and J.B.Sachs (C.random MIT / LCS / TM372).
E. FIG. Leiserson and J.M. B. (Saxe)
Paper "Retiming Synchronous Circuit"
(Utry) ”, pp. 1-27 (Reference 1), the register directly connected to all the input terminals of a certain combinational logic element is deleted in the sequential circuit, and all the output terminals of this combinational logic element are removed. The basic theory describes that the operation of the output signal with respect to the input signal of the circuit does not change even if the register is directly inserted and connected, that is, even if the register is moved across the combinational logic element.

【0006】また、この文献1の第11〜12頁に、リ
タイミングによる基本的な遅延最適化方法の一つとし
て、遅延制約条件として与えられたクロックサイクルが
レジスタ移動によって実現可能かどうかを判定するアル
ゴリズムFEASと呼ぶ遅延最適化アルゴリズムが述べ
られている。この判定結果、実現可能な場合には判定と
同時に最適化された回路が得られるが、クロックサイク
ルが短すぎて実現不可能な場合には最適化された回路が
得られない。
Further, as one of basic delay optimization methods based on retiming, it is determined whether a clock cycle given as a delay constraint condition can be realized by register movement as one of basic delay optimization methods by retiming. A delay optimization algorithm called FEAS is described. As a result of this determination, if it is feasible, an optimized circuit is obtained simultaneously with the determination, but if the clock cycle is too short to be feasible, an optimized circuit cannot be obtained.

【0007】このアルゴリズムFEASでは、最適化対
象の回路の全ての外部入力および出力端子を仮想的な1
個のブロックにまとめて表して上記回路をループ状と
し、上記回路内の組合せ論理素子をブロックで表した等
価回路をデータ構造に持つ。このループ状の等価回路に
対して、上記回路の組合せ回路部分を含むパスの最大遅
延が指定クロックサイクル以下になるように、全てのク
リティカルパスの出力端レジスタをこのレジスタの出力
端子に直接接続されたブロックをまたいで出力方向にそ
れぞれ移動することを回路中のクリティカルパスがなく
なるまで、あるいは、指定された上限回数まで反復す
る。上記上限回数以内でクリティカルパスが解消した場
合には指定クロックサイクル内の回路遅延が実現可能と
判定され、同時に遅延が最適化された回路が得られる。
上記上限回数まで反復してもクリティカルパスが解消し
ない場合には指定クロックサイクル内の回路遅延が実現
不可能と判定され、この場合は遅延の改善された回路は
得られない。
In this algorithm FEAS, all external input and output terminals of a circuit to be optimized are virtually
The above circuit is formed into a loop by being collectively represented by a plurality of blocks, and the data structure has an equivalent circuit in which the combinational logic elements in the circuit are represented by blocks. The output terminals of all the critical paths are directly connected to the output terminals of this register so that the maximum delay of the path including the combinational circuit portion of the above-mentioned circuit is not more than the designated clock cycle. The movement in the output direction across the blocks is repeated until there is no more critical path in the circuit or up to a specified upper limit. If the critical path is resolved within the above upper limit number, it is determined that the circuit delay within the designated clock cycle can be realized, and at the same time, a circuit with the optimized delay is obtained.
If the critical path is not resolved even after repeating the upper limit, it is determined that the circuit delay within the designated clock cycle cannot be realized. In this case, a circuit with an improved delay cannot be obtained.

【0008】このアルゴリズムFEASを用いた従来の
第1の遅延最適化方法では、レジスタの実際の移動方向
は一方向のみであるが、外部入力および出力端子を表す
ブロックをまたいでレジスタを移動することにより逆方
向へのレジスタ移動と等価な移動を実現している。
In the first conventional delay optimization method using the algorithm FEAS, the actual movement direction of the register is only one direction, but the register is moved across blocks representing external input and output terminals. Realizes a movement equivalent to register movement in the reverse direction.

【0009】また、従来の第1の遅延最適化方法の変形
として、回路構造によっては、レジスタの実際の移動方
向を一方向だけでなく逆方向にも可能な従来の第2の遅
延最適化方法が適用できる。
As a modification of the first conventional delay optimization method, the second conventional delay optimization method allows the actual moving direction of the register to be changed not only in one direction but also in the opposite direction depending on the circuit structure. Can be applied.

【0010】上述したアルゴリズムFEASに基ずき、
全ての外部入力および出力端子を一つの組合せ論理ブロ
ックでまとめたループ状の等価回路を用いる一般的な従
来の第1の遅延最適化方法の処理フローを示す図9を参
照すると、この従来の第1の遅延最適化方法の処理フロ
ーは、レジスタの初期配置をレジスタ配置探索履歴デー
タに記憶するステップQ1と、ワーストクリティカルパ
スに対してレジスタ移動により最大遅延を削減するステ
ップQ8と、レジスタ配置探索履歴データの照合と追加
記憶を行うステップQ9とから構成される。
[0010] Based on the algorithm FEAS described above,
Referring to FIG. 9, which shows a processing flow of a general conventional first delay optimization method using a loop-like equivalent circuit in which all the external input and output terminals are combined by one combinational logic block, The processing flow of the first delay optimization method includes a step Q1 of storing an initial arrangement of registers in register arrangement search history data, a step Q8 of reducing a maximum delay by moving a register to a worst critical path, and a register arrangement search history. Step Q9 for collating and additionally storing data.

【0011】遅延最適化の対象回路に対し、外部入力お
よび出力端子を仮想的な1個のブロックにまとめて表し
て回路をループ状にし、組合せ論理素子をブロックで表
した等価回路に対して以下の処理を施す。
For a circuit to be subjected to delay optimization, external input and output terminals are collectively represented in one virtual block to form a circuit loop, and an equivalent circuit in which a combinational logic element is represented by a block is as follows. Is performed.

【0012】まず、ステップQ1で、レジスタの初期配
置をレジスタ配置探索履歴データに記憶する。このレジ
スタ配置探索履歴データは、探索したレジスタ配置を順
次追加記憶し蓄積するものであり、このレジスタ配置探
索履歴データを参照することにより過去に探索したレジ
スタ配置を知ることができ、あるレジスタ配置が探索済
みかどうかを調べることができる。
First, in step Q1, the initial arrangement of registers is stored in register arrangement search history data. The register arrangement search history data is for sequentially storing and accumulating the searched register arrangement sequentially. By referring to the register arrangement search history data, the register arrangement searched in the past can be known. You can check if you have already searched.

【0013】ステップQ3で、クリティカルパスを検出
する。ただし、等価回路上で外部入力および出力端子を
表すブロックを経由するパスについては、入力端子から
出力端レジスタまでのパスの遅延が制約値を超過してい
る場合、または、出力端レジスタから出力端子までのパ
スの遅延が制約値を超過している場合、クリティカルパ
スであると定義する。クリティカルパスがなければ処理
を終了し、検出された場合は、ステップQ4でワースト
クリティカルパスを選択する。
At step Q3, a critical path is detected. However, for paths that pass through blocks representing external input and output terminals on the equivalent circuit, if the delay of the path from the input terminal to the output terminal register exceeds the constraint value, or if the path from the output terminal register to the output terminal If the delay of the path to the path exceeds the constraint value, it is defined as a critical path. If there is no critical path, the process is terminated. If a critical path is detected, the worst critical path is selected in step Q4.

【0014】ステップQ5で、ワーストクリティカルパ
スの出力端レジスタを出力端レジスタの入力端子に直接
接続された組合せ論理ブロックをまたいで入力方向に移
動し、ステップQ6で、レジスタ配置探索履歴データを
照合してレジスタ配置が過去に探索したレジスタ配置と
一致した場合、全ての可能なレジスタ配置を探索し終わ
ったと判断でき、遅延最適化を終了する。そうでない場
合は、ステップQ7で、レジスタ配置探索履歴データに
レジスタ移動後のレジスタ配置の情報を追加記憶し、ス
テップQ2に戻る。
In step Q5, the output end register of the worst critical path is moved in the input direction across the combinational logic block directly connected to the input terminal of the output end register. In step Q6, the register arrangement search history data is compared. If the register arrangement matches the register arrangement searched in the past, it can be determined that all possible register arrangements have been searched, and the delay optimization ends. Otherwise, in step Q7, the information of the register arrangement after the register is moved is additionally stored in the register arrangement search history data, and the process returns to step Q2.

【0015】従来の第1の遅延最適化方法の適用例を対
象回路の最適化前を(a)に最適化途中を(b)〜
(e)に最適化の最終結果を(f)にそれぞれ示す図1
0を参照すると、この図に示す対象回路はレジスタR
1,R2,R3と、入力端子T1と、出力端子T3と、
順序回路の組合せ論理回路部分を表現したブロックB1
〜1B7とを含む。通常ブロックはそれぞれ複数のファ
ンインおよびファンアウトを持つが、ここでは簡略化し
てそれぞれ単一のファンインおよびファンアウトで表現
する。
An example of application of the first conventional delay optimization method is as follows: (a) before optimization of a target circuit;
FIG. 1 (e) shows the final result of the optimization in (f), respectively.
0, the target circuit shown in FIG.
1, R2, R3, an input terminal T1, an output terminal T3,
Block B1 expressing a combinational logic part of a sequential circuit
To 1B7. Normally, each block has a plurality of fan-ins and fan-outs, but here, for simplicity, each block is represented by a single fan-in and fan-out.

【0016】等価回路上では出力端子T3と入力端子T
1を一つのブロックとみなし、レジスタR3から出力端
子T3と入力端子T1を経由してレジスタR1へ行く破
線で示した経路は上記等価回路上でのパスである。
On the equivalent circuit, the output terminal T3 and the input terminal T
1 is regarded as one block, and a path indicated by a broken line from the register R3 to the register R1 via the output terminal T3 and the input terminal T1 is a path on the equivalent circuit.

【0017】図10において、ブロックB1〜B7の各
々の遅延は1(単位時間)であるとし、遅延制約条件と
してクロックサイクル=2を与え、どのパスの最大遅延
も2以下になるように遅延最適化を行う場合について示
す。
In FIG. 10, it is assumed that each of the blocks B1 to B7 has a delay of 1 (unit time), a clock cycle = 2 is given as a delay constraint condition, and the delay is optimized so that the maximum delay of any path is 2 or less. The case where the conversion is performed will be described.

【0018】まず、図10(a)で、ステップQ1によ
りレジスタの初期配置をレジスタ配置探索履歴データに
記憶する。ステップQ2,ステップQ3により、パスP
1,P2の各々の遅延がそれぞれ4と3であることから
これらがクリティカルパスであることがわかり、そのう
ちのワーストクリティカルパスはP1であるので、ステ
ップQ4によりこのワーストクリティカルパスP1を処
理対象として選択する。ステップQ5で、クリティカル
パスP1の出力端のレジスタR3をブロック107をま
たいで入力方向に移動し、その結果、図10(b)の状
態になる。ステップQ6で、レジスタ配置探索履歴デー
タを照合してレジスタ配置が過去に探索したレジスタ配
置と一致しないことを確認する。ステップQ7で、レジ
スタ配置探索履歴データに図10(b)のレジスタ配置
の情報を追加記憶し、ステップQ2に戻る。
First, in FIG. 10A, the initial arrangement of registers is stored in register arrangement search history data in step Q1. By the steps Q2 and Q3, the path P
Since the delay of each of P1 and P2 is 4 and 3, respectively, it is known that these are critical paths. Since the worst critical path is P1, the worst critical path P1 is selected as a processing target in step Q4. I do. In step Q5, the register R3 at the output end of the critical path P1 is moved in the input direction across the block 107, and as a result, the state shown in FIG. In step Q6, the register arrangement search history data is compared to confirm that the register arrangement does not match the register arrangement searched in the past. In step Q7, the register arrangement information of FIG. 10B is additionally stored in the register arrangement search history data, and the process returns to step Q2.

【0019】次に、図10(b)で、ステップQ2〜Q
4によりワーストクリティカルパスP2を処理対象とし
て選択する。ワーストクリティカルパスP2は等価回路
上では出力端子T3と入力端子T1を経由してレジスタ
R1で終端しているため、ステップQ2〜Q6の繰り返
しにより、入力端子T1と出力端子T3およびブロック
B7をまたいでレジスタR1を入力方向に移動し、図1
0(c)に示す状態になる。ステップQ7で、レジスタ
配置探索履歴データに図10(c)のレジスタ配置の情
報を追加記憶し、ステップQ2に戻る。
Next, in FIG. 10B, steps Q2 to Q
4, the worst critical path P2 is selected as a processing target. Since the worst critical path P2 is terminated on the equivalent circuit by the register R1 via the output terminal T3 and the input terminal T1, the input terminal T1, the output terminal T3, and the block B7 are repeated by repeating steps Q2 to Q6. By moving the register R1 in the input direction, FIG.
The state shown in FIG. In step Q7, the register arrangement information of FIG. 10C is additionally stored in the register arrangement search history data, and the process returns to step Q2.

【0020】以下同様に処理を続け、図10の(c)、
(d)、(e)を経て(f)に示す最終結果となる。
The processing is continued in the same manner as in FIG.
After (d) and (e), the final result shown in (f) is obtained.

【0021】図10(f)で、ステップQ2によりクリ
ティカルパスが解消したことを確認し、処理を終了す
る。図10(f)は全ての遅延制約を満足し、クリティ
カルパスは解消している。
In FIG. 10 (f), it is confirmed in step Q2 that the critical path has been resolved, and the processing is terminated. FIG. 10 (f) satisfies all delay constraints and eliminates the critical path.

【0022】[0022]

【発明が解決しようとする課題】上述した従来の第1の
遅延最適化方法は、最適化途中の回路におけるクリティ
カルパスを選択し、この選択したクリティカルパスの出
力端のレジスタを入力方向に移動することのみで逐次的
に解を探索するが、実際の上記レジスタの移動方向は一
方向のみ可能で、逆方向へのレジスタ移動は外部入力お
よび出力端子を表す組合せ論理ブロックをまたいでレジ
スタ移動することで等価的に実現していたため、回路の
構成や規模によっては上記レジスタの直接の逆方向移動
ができないことに起因して膨大な処理時間を要するとい
う欠点があった。
In the above-mentioned first conventional delay optimization method, a critical path in a circuit being optimized is selected, and a register at an output terminal of the selected critical path is moved in an input direction. A solution is sequentially searched for only by itself, but the actual moving direction of the register can be only one direction, and the register moving in the opposite direction is to move the register across combinational logic blocks representing external input and output terminals. Therefore, there is a disadvantage that a huge amount of processing time is required due to the fact that the register cannot be directly moved in the reverse direction depending on the circuit configuration and scale.

【0023】また、回路構造に依存しレジスタの移動方
向が正逆可能である従来の第2の遅延最適化方法は、処
理対象のクリティカルパスの選択方法や移動対象レジス
タおよびその移動方向の決定方法が単純であると、全て
の可能な解を非効率に探索してしまい、冗長なレジスタ
移動が実行されてしまい、特に大規模回路に適用した場
合に膨大な処理時間を必要とするという欠点があった。
そのため、回路の状況から移動対象のレジスタとそのレ
ジスタの移動方向との効率的な決定方法の確立が課題で
あった。
Further, the second conventional delay optimization method in which the direction of register movement is reversible depending on the circuit structure is a method of selecting a critical path to be processed and a method of determining a register to be moved and its moving direction. Is simplistic in that all possible solutions are searched inefficiently, redundant register moves are performed, and a huge processing time is required, especially when applied to a large-scale circuit. there were.
Therefore, it has been a problem to establish a method for efficiently determining a register to be moved and a moving direction of the register from the state of the circuit.

【0024】[0024]

【課題を解決するための手段】本発明の遅延最適化方法
は、入力端子あるいはレジスタのいずれかで始まり複数
の論理回路の組合せから成るブロックを経由して出力端
子またはレジスタのいずれかで終端する信号経路であり
予め定めた許容最大遅延値を超過している第1および超
過していない第2のパスを含む順序回路の前記第1のパ
スの入力端または出力端のレジスタの前記ブロックをま
たぐ移動によりこの第1のパスの最大遅延を削減して前
記第1および第2のパス相互間の遅延の配分を均等化し
より高速なクロックサイクルでの回路動作を実現する遅
延最適化方法において、前記論理回路を記述したデータ
構造中の前記レジスタの各々または前記ブロックの各々
に移動可能方向を指示するフラグを付加し、一方の端点
が入力端子または出力端子であり他方の端点が前記レジ
スタである前記第1のパスを検出し、前記第1のパスの
前記移動対象のレジスタの選択と前記移動方向の決定を
前記フラグの情報にしたがって行うことを特徴とするも
のである。
SUMMARY OF THE INVENTION The delay optimization method of the present invention begins at either an input terminal or a register and terminates at either an output terminal or a register via a block comprising a combination of a plurality of logic circuits. A signal path straddling the block of registers at the input or output end of the first path of a sequential circuit including a first path and a second path not exceeding a predetermined maximum allowable delay value. In the delay optimizing method for reducing the maximum delay of the first path by moving and equalizing the delay distribution between the first and second paths and realizing a circuit operation with a faster clock cycle, A flag indicating a movable direction is added to each of the registers or each of the blocks in a data structure describing a logic circuit, and one end point is an input terminal or Detecting the first path whose input terminal is the other end of which is the register, and performing the selection of the register to be moved in the first path and the determination of the movement direction according to the information of the flag. It is a feature.

【0025】本発明の論理合成装置は、入力端子あるい
はレジスタのいずれかで始まり複数の論理回路の組合せ
から成るブロックを経由して出力端子またはレジスタの
いずれかで終端する信号経路であり予め定めた許容最大
遅延値を超過している第1および超過していない第2の
パスを含む順序回路を含む論理合成対象回路を構成する
論理および遅延値を含むテクノロジライブラリブロック
の情報を読込むライブラリ入力部と、前記論理合成対象
回路の接続情報を読込む回路入力部と、前記許容最大遅
延値を含む制約条件を読込む制約条件入力部と、読込ま
れた前記論理合成対象回路の合成結果の論理を最適化す
る論理最適化部と、前記論理合成対象回路に前記テクノ
ロジライブラリブロックを割当てるテクノロジマッピン
グ部と、前記第1のパスの入力端または出力端のレジス
タの前記ブロックをまたぐ移動による再配置によりこの
第1のパスの最大遅延を削減して前記第1および第2の
パス相互間の遅延の配分を均等化しより高速なクロック
サイクルでの回路動作を実現する遅延最適化部とを備え
る論理合成装置において、前記遅延最適化部が前記テク
ノロジライブラリブロックのデータ構造中の前記レジス
タの各々または前記ブロックの各々に移動可能方向を指
示するフラグを付加するフラグ付加手段と、前記第1の
パスの前記移動対象のレジスタの選択と前記移動方向の
決定を前記フラグの情報にしたがって行う遅延最適化手
段とを備えて構成される。
The logic synthesizing apparatus of the present invention is a signal path which starts at one of an input terminal and a register and ends at one of an output terminal and a register via a block composed of a combination of a plurality of logic circuits. A library input unit for reading information of a technology library block including a logic and a delay value constituting a logic synthesis target circuit including a sequential circuit including a first path not exceeding an allowable maximum delay value and a second path not exceeding the allowable maximum delay value A circuit input unit for reading connection information of the logic synthesis target circuit, a constraint input unit for reading constraint conditions including the allowable maximum delay value, and a logic of a synthesis result of the read logic synthesis target circuit. A logic optimization unit for optimizing, a technology mapping unit for allocating the technology library block to the logic synthesis target circuit, Relocation of the register at the input or output end of the path by moving the block across the block reduces the maximum delay of this first path, thereby equalizing the distribution of delay between the first and second paths, and increasing the speed. And a delay optimizing unit for realizing a circuit operation in a specific clock cycle, wherein the delay optimizing unit can move to each of the registers or each of the blocks in the data structure of the technology library block. And a delay optimizing means for selecting the register to be moved in the first path and determining the moving direction according to the information of the flag. .

【0026】[0026]

【実施例】次に、本発明の実施例を適用する遅延最適化
対象論理回路のデータ構造をブロックで示す図2を参照
すると、この図に示す遅延最適化対象論理回路は2つの
入力端子T1,T2と、出力端子T3と、組合せ論理ブ
ロック(以下ブロック)B1〜B3と、レジスタR1〜
R3と、レジスタR1〜R3の各々の移動可能方向を制
御する情報を保持するフラグF1〜F3とを備える。
FIG. 2 is a block diagram showing the data structure of a delay optimization target logic circuit to which the embodiment of the present invention is applied. Referring to FIG. 2, the delay optimization target logic circuit shown in FIG. , T2, an output terminal T3, combinational logic blocks (hereinafter, blocks) B1 to B3, and registers R1 to R3.
R3 and flags F1 to F3 that hold information for controlling the movable directions of the registers R1 to R3.

【0027】フラグF1〜F3は、「方向制限なし(N
L)」,「入力方向へのみ移動可(MI)」,「出力方
向へのみ移動可(MO)」のいずれかの情報を保持し、
初期値が「方向制限なし(NL)」である移動可能方向
を示す。レジスタR1〜R3の各々を移動する際には、
そのレジスタ対応のフラグの保持情報にしたがって移動
方向を決定する。
Flags F1 to F3 indicate "no direction restriction (N
L), “movable only in the input direction (MI)”, and “movable only in the output direction (MO)”.
It indicates a movable direction whose initial value is “no direction restriction (NL)”. When moving each of the registers R1 to R3,
The moving direction is determined according to the held information of the flag corresponding to the register.

【0028】次に、本発明の第1の実施例をフローチャ
ートで示す図1を参照すると、本実施例の処理フロー
は、入力端子または出力端子を一方の端点とするクリテ
ィカルパスの最大遅延を削減するステップS12と、全
てのパスの中からワーストクリティカルパスを選択しフ
ラグの情報を参照して移動するレジスタとその移動方向
を決定するステップS13と、レジスタ移動とフラグの
情報設定を行うステップS14とから構成される。
Next, referring to FIG. 1 showing a flowchart of the first embodiment of the present invention, the processing flow of the present embodiment reduces the maximum delay of a critical path having an input terminal or an output terminal as one end point. Step S12 to select the worst critical path from all paths, determine the register to be moved by referring to the flag information and determine the direction of movement, and Step S14 to perform register movement and flag information setting Consists of

【0029】ステップS12はステップS1〜S3から
成り、ステップS13はステップS4〜S6から成り、
ステップS14はステップS7〜S11から成る。
Step S12 comprises steps S1 to S3, step S13 comprises steps S4 to S6,
Step S14 includes steps S7 to S11.

【0030】図1および図2を参照して本実施例の動作
を説明すると、まず、ステップS1で、入力端子もしく
は出力端子を一方の端点とし他方がレジスタであるクリ
ティカルパスを検出する。検出されない場合はステップ
S4へ進む。検出された場合にはステップS2で、出力
端が出力端子であるクリティカルパスに対しては入力端
のレジスタをこのレジスタの出力端子に直接接続された
ブロック(以下出力側ブロック)をまたいで出力方向に
移動し、入力端が入力端子であるクリティカルパスに対
しては出力端のレジスタをこのレジスタの入力端子に直
接接続されたブロック(以下入力側ブロック)をまたい
で入力方向に移動することにより、これらクリティカル
パスの最大遅延を削減する。
The operation of this embodiment will be described with reference to FIGS. 1 and 2. First, in step S1, a critical path having an input terminal or an output terminal as one end point and the other as a register is detected. If not detected, the process proceeds to step S4. If it is detected, in step S2, for a critical path having an output terminal as an output terminal, the input terminal register is connected to a block directly connected to the output terminal of the register (hereinafter referred to as an output block) in an output direction. By moving the register at the output end for the critical path whose input end is the input terminal across the block directly connected to the input terminal of this register (hereinafter referred to as the input side block), The maximum delay of these critical paths is reduced.

【0031】ステップS3で、移動したレジスタのフラ
グに、入力端のレジスタを出力方向へ移動した場合には
「MO(出力方向へのみ移動可)」、出力端のレジスタ
を入力方向へ移動した場合には「MI(入力方向へのみ
移動可)」の情報をそれぞれ設定する。その後、ステッ
プS1に戻る。
At step S3, the flag of the moved register indicates "MO (movable only in the output direction)" if the register at the input end is moved in the output direction, and if the register at the output end is moved in the input direction. , Information of “MI (movable only in the input direction)” is set. Then, the process returns to step S1.

【0032】次に、ステップS4で、全てのパスを対象
に、クリティカルパスを検出する。クリティカルパスが
検出されない場合は終了する。クリティカルパスが検出
された場合は、ステップS5でワーストクリティカルパ
スを選ぶ。
Next, in step S4, a critical path is detected for all paths. If no critical path is detected, the process ends. If a critical path is detected, the worst critical path is selected in step S5.

【0033】次に、ステップS6で、ステップS5で選
んだワーストクリティカルパスの入力端および出力端の
レジスタのフラグを参照し、フラグの情報の組合せによ
りケース1、ケース2、ケース3、ケース4のいずれか
に処理を進める。
Next, in step S6, the flag of the register at the input end and the output end of the worst critical path selected in step S5 is referred to, and the combination of the information of the flag is used to determine the case 1, the case 2, the case 3, and the case 4. Proceed to one of them.

【0034】入力端が入力端子であるかまたは入力端レ
ジスタのフラグの情報が「MI」である場合で、かつ出
力端が出力端子であるかまたは出力端レジスタのフラグ
の情報が「MO」である場合は、クリティカルパスの遅
延削減のための入力端レジスタの出力方向への移動およ
び出力端レジスタの入力方向への移動のいずれも不可能
であり、したがってワーストクリティカルパスの遅延削
減が不可能ため処理を終了する(ケース1)。
When the input terminal is an input terminal or the flag information of the input terminal register is "MI", and the output terminal is an output terminal or the flag information of the output terminal register is "MO". In some cases, neither the movement of the input end register in the output direction nor the movement of the output end register in the input direction to reduce the delay of the critical path is possible. The process ends (Case 1).

【0035】入力端レジスタのフラグの情報が「NL
(方向制限なし)」または「M」で、かつ出力端レジ
スタのフラグの情報が「MO」である場合は、出力端レ
ジスタの入力方向への移動はできないが入力端レジスタ
の出力方向への移動は可能であるので、ステップS7に
進み、上記入力端レジスタをこのレジスタの出力側ブロ
ックをまたいで出力方向に移動することにより、ワース
トクリティカルパスの遅延を削減する(ケース2)。そ
の後、ステップS10で、移動した入力端レジスタのフ
ラグに「MO」の情報を設定し、ステップS4に戻る。
When the flag information of the input end register is "NL"
(No direction restriction) "or" M O ", and if the information of the flag of the output register is" MO "includes, but is not able to move to the input direction of the output terminal registers to the output direction of the input register Since the movement is possible, the process proceeds to step S7, in which the input end register is moved in the output direction across the output side block of this register, thereby reducing the delay of the worst critical path (case 2). Then, in step S10, the information of "MO" is set in the flag of the moved input terminal register, and the process returns to step S4.

【0036】入力端レジスタのフラグの情報が「MI」
であり、かつ出力端レジスタのフラグの情報が「NL」
または「MI」である場合は、入力端レジスタの出力方
向への移動はできないが、出力端レジスタの入力方向へ
の移動は可能であるので、ステップS8に進み、上記出
力端レジスタをこのレジスタの入力側ブロックをまたい
で入力方向に移動することにより、ワーストクリティカ
ルパスの遅延を削減する(ケース3)。その後、ステッ
プS11で、移動した出力端レジスタのフラグに「入力
方向へのみ移動可」の情報を設定し、ステップS4に戻
る。
When the flag information of the input end register is "MI"
And the information of the flag of the output end register is "NL"
Or, in the case of "MI", the input end register cannot be moved in the output direction, but the output end register can be moved in the input direction. By moving in the input direction across the input side block, the delay of the worst critical path is reduced (case 3). Then, in step S11, information of "movable only in the input direction" is set in the flag of the moved output end register, and the process returns to step S4.

【0037】入力端レジスタのフラグの情報が「NL」
または「MO」であり、かつ出力端レジスタのフラグの
情報が「NL」または「MI」である場合は、クリティ
カルパスの遅延削減のための入力端レジスタの出力方向
への移動と出力端レジスタの入力方向への移動との両方
が可能であるので、ステップS9に進む。この場合、入
力端あるいは出力端のいずれのレジスタを移動してもよ
いが、ここでは説明の便宜上、出力端レジスタを移動す
るものとし、上記出力端レジスタをこのレジスタの入力
側ブロックをまたいで入力方向に移動することにより、
ワーストクリティカルパスの遅延を削減する(ケース
4)。ただし、この場合はフラグの設定は行わない。そ
の後、ステップS4に戻る。
The flag information of the input end register is "NL"
Alternatively, if the flag is “MO” and the information of the flag of the output terminal register is “NL” or “MI”, the input terminal register is moved in the output direction to reduce the delay of the critical path and the output terminal register is moved. Since both movement in the input direction are possible, the process proceeds to step S9. In this case, either the input terminal or the output terminal may be moved, but here, for convenience of explanation, the output terminal register is moved, and the output terminal register is input across the input side block of this register. By moving in the direction
Reduce the delay of the worst critical path (Case 4). However, in this case, no flag is set. Then, the process returns to step S4.

【0038】以上の処理を繰り返し、遅延制約条件を出
来るかぎり満たすように遅延最適化する。
The above processing is repeated to optimize the delay so as to satisfy the delay constraint as much as possible.

【0039】次に、本実施例の遅延最適化方法の適用例
を対象回路の最適化前を(a)に最適化途中を(b),
(c)に最適化の最終結果を(f)にそれぞれ示す図3
を参照すると、この図に示す対象回路はフラグF1,F
2,F3をそれぞれ持つレジスタR1,R2,R3と、
入力端子T1と、出力端子T3と、順序回路の組合せ論
理回路部分を表現したブロックB1〜B7とを含む。通
常ブロックはそれぞれ複数のファンインおよびファンア
ウトを持つが、従来と同様に、ここでは簡略化してそれ
ぞれ単一のファンインおよびファンアウトで表現する。
Next, the application example of the delay optimizing method according to the present embodiment will be described with reference to FIG.
FIG. 3 (c) shows the final result of optimization in (f), respectively.
, The target circuit shown in FIG.
Registers R1, R2, and R3 having F2 and F3, respectively;
It includes an input terminal T1, an output terminal T3, and blocks B1 to B7 expressing a combinational logic circuit portion of a sequential circuit. Each ordinary block has a plurality of fan-ins and fan-outs. However, as in the conventional case, each block is simplified and represented by a single fan-in and a fan-out.

【0040】また、従来と同様に、ブロックB1〜B7
の各々の遅延は1(単位時間)であるとし、遅延制約条
件としてクロックサイクル=2を与え、どのパスの最大
遅延も2以下になるように遅延最適化を行う場合につい
て示す。
As in the conventional case, the blocks B1 to B7
Is 1 (unit time), clock cycle = 2 is given as a delay constraint condition, and delay optimization is performed so that the maximum delay of any path is 2 or less.

【0041】ステップS1により、出力端子を含まない
ワーストクリティカルパスP1よりも優先して出力端子
T3を含むクリティカルパスP2の方を選び、ステップ
S1,S2,S3の反復により、クリティカルパスP2
の入力端レジスタR3をパスP2がクリティカルパスで
なくなるまで出力方向に移動し、レジスタR3のフラグ
F3に「MO(出力方向へのみ移動可)」の情報を設定
し、その結果(b)の状態になる。
In step S1, the critical path P2 including the output terminal T3 is selected in preference to the worst critical path P1 not including the output terminal. By repeating steps S1, S2, and S3, the critical path P2 is selected.
Is moved in the output direction until the path P2 is no longer a critical path, and information of "MO (movable only in the output direction)" is set in the flag F3 of the register R3. become.

【0042】図3(b)で、出力端子T3を含むクリテ
ィカルパスは解消し、入力端子T1を含むクリティカル
パスも存在しないので、ステップS4に進む。ステップ
S4で、全てのパスを対象に、クリティカルパスを検出
し、ステップS5でワーストクリティカルパスP1を選
択する。ステップS6の分岐処理で、ワーストクリティ
カルパスP1の出力端レジスタR3は、もはやフラグF
3による出力方向への移動が不可能なためケース2に進
み、ステップS4,S5,S6,S7,およびS10の
反復により、パスP1の出力端レジスタR2をパスP1
がワーストクリティカルパスでなくなるまで出力方向に
移動し、ステップS14でレジスタR2のフラグF2に
「MO」の情報を設定し、その結果(c)の状態にな
る。
In FIG. 3B, since the critical path including the output terminal T3 has been eliminated and there is no critical path including the input terminal T1, the process proceeds to step S4. In step S4, a critical path is detected for all paths, and in step S5, the worst critical path P1 is selected. In the branch processing in step S6, the output end register R3 of the worst critical path P1 no longer has the flag F
3 cannot move in the output direction, the process proceeds to case 2. By repeating steps S4, S5, S6, S7, and S10, the output end register R2 of the path P1 is changed to the path P1.
Move in the output direction until is no longer the worst critical path, and in step S14, the information of "MO" is set in the flag F2 of the register R2, and as a result, the state of (c) is reached.

【0043】図3(c)で、ステップS4,S5によ
り、新たなワーストクリティカルパスP3を選ぶ。ステ
ップS6の分岐処理により、ワーストクリティカルパス
P3の出力端レジスタR2のフラグF2による出力方向
への移動が不可能なことからケース2に進み、ステップ
S7で入力端のレジスタR1を出力方向に移動し、ステ
ップS10でレジスタR1のフラグF1に「MO」の情
報を設定し、(d)の状態になり、ステップS4でクリ
ティカルパスが解消したことを確認して本処理を終了す
る。
In FIG. 3C, a new worst critical path P3 is selected in steps S4 and S5. By the branching process in step S6, the output terminal register R2 of the worst critical path P3 cannot be moved in the output direction by the flag F2, so the process proceeds to case 2. In step S7, the input terminal register R1 is moved in the output direction. Then, in step S10, the information of "MO" is set in the flag F1 of the register R1, and the state of (d) is reached. In step S4, it is confirmed that the critical path has been resolved, and this processing is ended.

【0044】本実施例では、入力または出力端子を含む
パスを優先的に処理することにより、レジスタの移動が
完了するまでの計算所要時間を従来のループ状に表した
等価回路の全てのクリチカルパスのレジスタの移動によ
る方法と比較して約20%短縮できる。また、レジスタ
の移動可能方向を制限するフラグをデータ構造に有する
ことにより、回路中のレジスタのうち移動可能範囲に制
約があるレジスタが5%ある場合は全体の計算時間を従
来と比較して約10%短縮できる。
In the present embodiment, the path including the input or output terminal is preferentially processed, so that the time required for the calculation until the movement of the register is completed is calculated for all the critical paths of the equivalent circuit in a conventional loop. The method can be shortened by about 20% as compared with the method of moving the register. Further, by providing a flag for limiting the direction in which the register can be moved in the data structure, when 5% of the registers in the circuit are restricted in the movable range, the total calculation time is reduced by approximately Can be reduced by 10%.

【0045】次に、本発明の第2の実施例である第1の
実施例の遅延最適化処理を実行する遅延最適化部6を含
む論理合成装置をブロックで示す図4を参照すると、こ
の図に示す本実施例の論理合成装置は、論理回路のテク
ノロジマッピングに用い論理と遅延値とを含むテクノロ
ジライブラリブロック情報を入力するライブラリ入力部
1と、論理合成対象回路を読込む回路入力部2と、最大
遅延値等の制約条件を読込む制約条件入力部3と、読込
まれた論理合成対象回路の論理を最適化する論理最適化
部4と、論理合成対象回路にテクノロジライブラリブロ
ックを割り当てるテクノロジマッピング部5と、上記論
理合成対象回路の各パスのレジスタにフラグを付加する
フラグ付加部61と最適化処理部62とを備え第1の実
施例の遅延最適化処理方法により論理合成対象回路の遅
延最適化を行う遅延最適化部6と、上記テクノロジライ
ブラリと上記論理合成対象回路と上記制約条件とを保持
する記憶部7と、論理合成結果の論理回路を出力する回
路出力部8とを備える。
Next, referring to FIG. 4, which is a block diagram showing a logic synthesizing apparatus including a delay optimizing unit 6 for executing the delay optimizing process according to the first embodiment which is the second embodiment of the present invention. The logic synthesizing apparatus according to the present embodiment shown in FIG. 1 includes a library input unit 1 for inputting technology library block information including logic and a delay value used for technology mapping of a logic circuit, and a circuit input unit 2 for reading a logic synthesis target circuit. A constraint input unit 3 for reading constraints such as a maximum delay value, a logic optimization unit 4 for optimizing the logic of the read logic synthesis target circuit, and a technology for allocating a technology library block to the logic synthesis target circuit The delay optimization according to the first embodiment includes a mapping unit 5, a flag addition unit 61 for adding a flag to a register of each path of the logic synthesis target circuit, and an optimization processing unit 62. A delay optimizing unit 6 for optimizing the delay of the logic synthesis target circuit by a logical method, a storage unit 7 for holding the technology library, the logic synthesis target circuit, and the constraint conditions, and outputting the logic circuit of the logic synthesis result. And a circuit output unit 8 that performs the operation.

【0046】次に、図4および本実施例の処理の流れを
示す図5を参照して本実施例の動作について説明する
と、本実施例は、第1の実施例で説明したように、クリ
ティカルパスの遅延の削減方法が、入力端子を含む場合
は出力端のレジスタの入力方向への、出力端子を含む場
合は入力端のレジスタの出力方向へのそれぞれの移動に
限定されることを利用する。
Next, the operation of the present embodiment will be described with reference to FIG. 4 and FIG. 5 which shows the flow of processing of the present embodiment. The method of reducing the delay of the path is utilized in that the method is limited to the movement of the output terminal in the input direction of the register when the input terminal is included, and the movement of the input terminal in the output direction of the register when the output terminal is included. .

【0047】まず、ライブラリ入力部1は、ライブラリ
入力処理A1によりテクノロジライブラリブロックの論
理や遅延値などの情報が記述されたテクノロジライブラ
リ11を入力し、記憶部7に保持する。回路入力部2
は、回路入力処理A2により回路記述12を入力し、記
憶部7に保持する。制約条件入力部3は、制約入力処理
A3により回路記述12に対する遅延や面積などの制約
条件13を入力し、記憶部7に保持する。次に、論理最
適化部4は、記憶部7に保持している論理合成対象回路
に対して論理最適化処理A4により論理の最適化を行
う。次に、遅延最適化部6は、回路入力処理A2により
入力され記憶部7に保持している上記論理合成対象回路
に対して第1の実施例で説明したレジスタ対応のフラグ
を付加し、制約入力処理A3により入力され記憶部7に
保持している上記遅延制約条件を満たすことを目的に第
1の実施例の遅延最適化処理A5によりテクノロジ独立
状態でのレジスタ移動等の遅延最適化を行う。
First, the library input unit 1 inputs the technology library 11 in which information such as the logic of the technology library block and the delay value is described by the library input process A 1, and stores the technology library 11 in the storage unit 7. Circuit input unit 2
Inputs the circuit description 12 by the circuit input processing A2 and stores it in the storage unit 7. The constraint condition input unit 3 inputs constraint conditions 13 such as delay and area for the circuit description 12 by the constraint input process A3, and stores them in the storage unit 7. Next, the logic optimization unit 4 optimizes the logic of the logic synthesis target circuit held in the storage unit 7 by the logic optimization process A4. Next, the delay optimizing unit 6 adds the flag corresponding to the register described in the first embodiment to the logic synthesis target circuit input in the circuit input processing A2 and held in the storage unit 7, In order to satisfy the above-mentioned delay constraint condition input in the input processing A3 and held in the storage unit 7, delay optimization such as register movement in a technology independent state is performed by the delay optimization processing A5 of the first embodiment. .

【0048】次に、テクノロジマッピング部5は、記憶
部7に保持している上記論理合成対象回路に対して、制
約入力処理A3により入力され記憶部7に保持している
面積等の制約条件を満たすことを目的にテクノロジマッ
ピング処理A6により所定のテクノロジライブラリブロ
ックを割り当てる。このテクノロジマッピング処理A6
の後、再度、遅延最適化部6は、記憶部7に保持してい
る上記論理合成対象回路に対して、上記遅延制約条件を
満たすことを目的に遅延最適化処理A7によりテクノロ
ジ依存状態でのレジスタ移動等の遅延最適化を行う。こ
の遅延最適化処理A7の終了後、回路出力部8は、処理
A1〜A7の処理結果の論理合成回路の回路記述14を
回路出力処理A8により出力する。
Next, the technology mapping unit 5 applies, to the logic synthesis target circuit held in the storage unit 7, the constraint condition such as the area input by the constraint input processing A 3 and held in the storage unit 7. A predetermined technology library block is allocated by technology mapping processing A6 for the purpose of satisfying the condition. This technology mapping process A6
After that, the delay optimizing unit 6 again executes the logic optimization target circuit held in the storage unit 7 by the delay optimizing process A7 in the technology dependent state for the purpose of satisfying the delay constraint condition. Performs delay optimization such as register movement. After the end of the delay optimizing process A7, the circuit output unit 8 outputs the circuit description 14 of the logic synthesis circuit resulting from the processes A1 to A7 by the circuit output process A8.

【0049】次に、本発明の第3の実施例を適用する第
2の遅延最適化対象論理回路のデータ構造をブロックで
示す図7を参照すると、この図に示す第2の論理回路の
図2に示す第1の論理回路との相違点はレジスタR1,
R2,R3の各々に対応の移動可能方向指示用のフラグ
F1,F2,F3の代りに、ブロックB1,B2,B3
の各々が任意のレジスタに対しまたぐことにより移動可
能な方向制限の情報を保持するフラグF11〜F13を
備えることである。
Next, referring to FIG. 7 which shows, by blocks, the data structure of a second delay optimization target logic circuit to which the third embodiment of the present invention is applied, a diagram of the second logic circuit shown in FIG. The difference from the first logic circuit shown in FIG.
Instead of the flags F1, F2, F3 for indicating the movable direction corresponding to each of R2, R3, blocks B1, B2, B3
Are provided with flags F11 to F13 which hold information on direction restrictions that can be moved by straddling an arbitrary register.

【0050】フラグF11〜F13は、「方向制限なし
(NL)」,「入力方向へのみまたいで移動可(MI
J)」,「出力方向へのみまたいで移動可(MOJ)」
のいずれかの情報を保持し、初期値が「NL」である移
動可能方向を示す。ブロックをまたいでレジスタR1〜
R3の各々を移動する場合には、またぐ対象の上記ブロ
ックのフラグの保持情報にしたがって移動方向を決定す
る。例えば、フラグF13の情報が「MOJ」であれ
ば、ブロックB3を入力方向にまたぐレジスタR3の移
動はできない。
The flags F11 to F13 are set to "no direction limitation (NL)" and "movable to look in the input direction (MI
J) ”,“ Move in the output direction (MOJ) ”
, And indicates a movable direction whose initial value is “NL”. Registers R1 to R4
In the case of moving each of R3, the moving direction is determined according to the holding information of the flag of the block to be straddled. For example, if the information of the flag F13 is " MOJ ", the register R3 cannot move over the block B3 in the input direction.

【0051】次に、本発明の第3の実施例をフローチャ
ートで示す図6を参照すると、本実施例の処理フローの
図1の第1の実施例との相違点は、ステップ3の代りに
またいだブロックのフラグに、入力端のレジスタを出力
方向へ移動した場合には「MOJ(出力方向へのみまた
いで移動可)」あるいは出力端のレジスタを入力方向へ
移動した場合には「MIJ(入力方向へのみまたいで移
動可)」の情報をそれぞれ設定するステップ3Aと、ス
テップ6の代りに選んだワーストクリティカルパスの入
力端レジスタの出力端子直接接続されたブロックおよび
出力端レジスタの入力側ブロックのフラグを参照し、フ
ラグの情報の組合せによりケース1、ケース2、ケース
3、ケース4のいずれかに処理を進めるステップ6A
と、ステップ10の代りにまたいだブロックのフラグに
「MOJ」の情報を設定するステップ10Aと、ステッ
プ11の代りにまたいだブロックのフラグに「MIJ」
の情報を設定するステップ11Aとをそれぞれ有するこ
とである。
Next, referring to FIG. 6, which is a flowchart showing the third embodiment of the present invention, the difference between the processing flow of the present embodiment and the first embodiment of FIG. When the register at the input end is moved in the output direction, "MOJ (movable by looking at the output direction)" is set in the flag of the inserted block. When the register at the output end is moved in the input direction, "MIJ ( 3A to set the information of the input terminal of the worst critical path selected in place of step 6 and the input side block of the output terminal register. Step 6A in which the process proceeds to one of Case 1, Case 2, Case 3, and Case 4 by referring to the flags
Step 10A for setting the information of “MOJ” in the flag of the block straddling in place of Step 10, and “MIJ” in the flag of the block straddling in place of Step 11
And step 11A for setting the above information.

【0052】図6および図7を参照して本実施例の動作
を説明すると、まず、第1の実施例と同様のステップS
1で、クリティカルパスを検出する。検出されない場合
はステップS4へ進む。検出された場合にはステップS
2で、出力端が出力端子であるクリティカルパスに対し
ては入力端のレジスタをこのレジスタの出力側ブロック
をまたいで出力方向に移動し、入力端が入力端子である
クリティカルパスに対しては出力端のレジスタをこのレ
ジスタの入力側ブロックをまたいで入力方向に移動する
ことにより、これらクリティカルパスの最大遅延を削減
する。
The operation of this embodiment will be described with reference to FIGS. 6 and 7. First, the same step S as in the first embodiment is performed.
At 1, a critical path is detected. If not detected, the process proceeds to step S4. If detected, step S
In step 2, the register at the input terminal is moved in the output direction across the output side block of this register for the critical path whose output terminal is the output terminal, and the output is performed for the critical path whose input terminal is the input terminal. Moving the end registers in the input direction across the input blocks of these registers reduces the maximum delay of these critical paths.

【0053】ステップS3Aで、移動したレジスタがま
たいだブロックのフラグに、入力端のレジスタを出力方
向へ移動した場合には「MOJ(出力方向へのみまたい
で移動可)」、出力端のレジスタを入力方向へ移動した
場合には「MIJ(入力方向へのみまたいで移動可)」
の情報をそれぞれ設定する。その後、ステップS1に戻
る。
In step S3A, if the register at the input end is moved in the output direction to the flag of the block straddled by the moved register, the register at the output end is set to "MOJ (movable by looking at the output direction)". When moving in the input direction, "MIJ (Move in the direction of the input is possible)"
Set the information of each. Then, the process returns to step S1.

【0054】次に、ステップS4で全てのパスを対象に
クリティカルパスを検出し、検出された場合はステップ
S5でワーストクリティカルパスを選ぶ。
Next, in step S4, critical paths are detected for all paths, and if detected, the worst critical path is selected in step S5.

【0055】次に、ステップS6Aで、ワーストクリテ
ィカルパスの入力端レジスタの出力側ブロックおよび出
力端のレジスタの入力側ブロックのそれぞれのフラグを
参照し、フラグの情報の組合せによりケース1、ケース
2、ケース3、ケース4のいずれかに処理を進める。
Next, in step S6A, the respective flags of the output side block of the input end register of the worst critical path and the input side block of the output end register are referred to, and the combination of the information of the flags is used for Case 1, Case 2, The process proceeds to either Case 3 or Case 4.

【0056】入力端が入力端子であるかまたは入力端レ
ジスタの出力側ブロックのフラグの情報が「MIJ」で
ある場合で、かつ出力端が出力端子であるかまたは出力
端レジスタの入力側ブロックのフラグの情報が「MO
J」である場合は、入力端レジスタの出力方向への移動
および出力端レジスタの入力方向への移動のいずれも不
可能であり、したがってワーストクリティカルパスの遅
延削減が不可能ため処理を終了する(ケース1)。
When the input terminal is an input terminal or the information of the flag of the output block of the input terminal register is "MIJ", and the output terminal is the output terminal or of the input block of the output terminal register. If the flag information is "MO
In the case of "J", neither the movement of the input end register in the output direction nor the movement of the output end register in the input direction is possible, so that the delay of the worst critical path cannot be reduced. Case 1).

【0057】入力端レジスタの出力側ブロックのフラグ
の情報が「NL(方向制限なし)」または「MJ」
で、かつ出力端レジスタの入力側ブロックのフラグの情
報が「MOJ」である場合は、出力端レジスタの入力方
向への移動はできないが入力端レジスタの出力方向への
移動は可能であるので、ステップS7に進み、上記入力
端レジスタをこのレジスタの出力側ブロックをまたいで
出力方向に移動することにより、ワーストクリティカル
パスの遅延を削減する(ケース2)。その後、ステップ
S10Aで、移動した入力端レジスタがまたいだブロッ
クのフラグに「MOJ」の情報を設定し、ステップS4
に戻る。
[0057] Information of the flag of the output-side block of the input register is "NL (no direction restriction)" or "M O J"
If the flag information of the input side block of the output end register is "MOJ", the output end register cannot be moved in the input direction but the input end register can be moved in the output direction. Proceeding to step S7, the delay of the worst critical path is reduced by moving the input end register in the output direction across the output side block of this register (case 2). Then, in step S10A, the information of “MOJ” is set to the flag of the block straddled by the moved input end register, and step S4
Return to

【0058】入力端レジスタの出力側ブロックのフラグ
の情報が「MIJ」であり、かつ出力端レジスタの入力
側ブロックのフラグの情報が「NL」または「MIJ」
である場合は、入力端レジスタの出力方向への移動はで
きないが、出力端レジスタの入力方向への移動は可能で
あるので、ステップS8に進み、上記出力端レジスタを
このレジスタの入力側ブロックをまたいで入力方向に移
動することにより、ワーストクリティカルパスの遅延を
削減する(ケース3)。その後、ステップS11Aで、
移動した出力端レジスタの入力側ブロックのフラグに
「MIJ」の情報を設定し、ステップS4に戻る。
The flag information of the output side block of the input end register is "MIJ", and the flag information of the input side block of the output end register is "NL" or "MIJ".
, The input end register cannot be moved in the output direction, but the output end register can be moved in the input direction. Therefore, the process proceeds to step S8, where the output end register is connected to the input side block of this register. Further, by moving in the input direction, the delay of the worst critical path is reduced (case 3). Then, in step S11A,
The information of “MIJ” is set in the flag of the input side block of the moved output end register, and the process returns to step S4.

【0059】入力端レジスタの出力側ブロックのフラグ
の情報が「NL」または「MOJ」であり、かつ出力端
レジスタの入力側ブロックのフラグの情報が「NL」ま
たは「MI」である場合は、入力端レジスタの出力方向
への移動と出力端レジスタの入力方向への移動との両方
が可能であるので、ステップS9に進む。説明の便宜
上、出力端レジスタを移動するものとし、上記出力端レ
ジスタをこのレジスタの入力側ブロックをまたいで入力
方向に移動することにより、ワーストクリティカルパス
の遅延を削減する(ケース4)。この場合はフラグの設
定は行わなずにステップS4に戻る。
When the information of the flag of the output side block of the input end register is “NL” or “MOJ” and the information of the flag of the input side block of the output end register is “NL” or “MI”, Since both the movement of the input end register in the output direction and the movement of the output end register in the input direction are possible, the process proceeds to step S9. For convenience of explanation, it is assumed that the output end register is moved, and the output end register is moved in the input direction across the input side block of this register, thereby reducing the delay of the worst critical path (Case 4). In this case, the process returns to step S4 without setting the flag.

【0060】次に、本実施例の遅延最適化方法の適用例
を対象回路の最適化前を(a)に最適化途中を(b),
(c)に最適化の最終結果を(f)に図3と共通の構成
要素には共通の参照文字/数字を付して同様にそれぞれ
示す図8を参照すると、この図に示す対象回路はレジス
タR1,R2,R3と、入力端子T1と、出力端子T3
と、順序回路の組合せ論理回路部分を表現しフラグF1
1〜F17をそれぞれ持つたブロックB1〜B7とを含
む。これらフラグF11〜F17は初期状態として「N
L(移動方向制限なし)」の情報が設定されている。
Next, the application example of the delay optimizing method of the present embodiment will be described as (a) before optimizing the target circuit and (b) during the optimizing of the target circuit.
Referring to FIG. 8, which shows the final result of the optimization in (c) and (f) common constituent elements with those of FIG. 3 with common reference characters / numbers, respectively, the target circuit shown in FIG. Registers R1, R2, R3, input terminal T1, and output terminal T3
Represents the combinational logic circuit portion of the sequential circuit and the flag F1
1 to F17, respectively. These flags F11 to F17 are initially set to "N
L (no movement direction restriction) "is set.

【0061】また、第1の実施例と同様に、ブロックB
1〜B7の各々の遅延は1(単位時間)であるとし、遅
延制約条件としてクロックサイクル=2を与え、どのパ
スの最大遅延も2以下になるように遅延最適化を行う場
合について示す。
Further, similarly to the first embodiment, the block B
It is assumed that each delay of 1 to B7 is 1 (unit time), clock cycle = 2 is given as a delay constraint, and delay optimization is performed so that the maximum delay of any path is 2 or less.

【0062】ステップS12AのステップS1〜S3A
の反復により、選んだクリティカルパスP2の入力端レ
ジスタR3をパスP2がクリティカルパスでなくなるま
で出力方向に移動し、レジスタR3の入力側のブロック
B4のフラグF14に「MOJ(出力方向へのみまたい
で移動可)」の情報を設定し、その結果(b)の状態に
なる。
Steps S1 to S3A of step S12A
Is repeated, the input end register R3 of the selected critical path P2 is moved in the output direction until the path P2 is no longer a critical path, and the flag F14 of the block B4 on the input side of the register R3 is set to "MOJ (look in the output direction). (Movable)), and the state (b) results.

【0063】次に、ステップS13AのステップS4,
S5でワーストクリティカルパスP1を選択する。ステ
ップS6Aの分岐処理で、ワーストクリティカルパスP
1の出力端レジスタR3は出力方向への移動が不可能な
ためケース2に進み、ステップS4,S5,S6A,S
7,およびS10Aの反復により、パスP1の出力端レ
ジスタR2をパスP1がワーストクリティカルパスでな
くなるまで出力方向に移動し、ステップS14Aでレジ
スタR2がまたいだブロックB1〜B3の各々のフラグ
F11〜F13の各々に「MOJ」の情報を設定し、そ
の結果(c)の状態になる。
Next, step S4 of step S13A,
In S5, the worst critical path P1 is selected. In the branch processing of step S6A, the worst critical path P
Since the output end register R3 of No. 1 cannot move in the output direction, the process proceeds to Case 2, and steps S4, S5, S6A, S
7 and S10A, the output end register R2 of the path P1 is moved in the output direction until the path P1 is no longer the worst critical path, and the flags F11 to F13 of the blocks B1 to B3 straddled by the register R2 in step S14A. Is set to the information of “MOJ”, and as a result, the state of FIG.

【0064】次に、ステップS4,S5により、新たな
ワーストクリティカルパスP3を選ぶ。ステップS6A
の分岐処理により、ワーストクリティカルパスP3の出
力端レジスタR2が出力方向への移動が不可能なことか
らケース2に進み、ステップS7で入力端のレジスタR
1を出力方向に移動し、ステップS10AでレジスタR
1がまたいだブロックB1のフラグF11に「MOJ」
の情報を設定し、(d)の状態になり、ステップS4で
クリティカルパスが解消したことを確認して本処理を終
了する。
Next, in steps S4 and S5, a new worst critical path P3 is selected. Step S6A
Since the output end register R2 of the worst critical path P3 cannot move in the output direction, the process proceeds to Case 2 at step S7.
1 in the output direction, and in step S10A, register R
"MOJ" is set in the flag F11 of the block B1 straddled by 1
Is set, and the state of (d) is set. In step S4, it is confirmed that the critical path has been resolved, and the process is terminated.

【0065】[0065]

【発明の効果】以上説明したように、本発明の遅延最適
化方法および論理合成装置は、遅延最適化対象論理回路
を記述したデータ構造中のレジスタの各々またはブロッ
クの各々に移動可能方向を指示するフラグを付加し、一
方の端点が入力端子または出力端子であるパスを優先処
理することにより、レジスタ移動の完了までの計算時間
を従来に比較して大幅に短縮できるという効果がある。
As described above, the delay optimizing method and the logic synthesizing apparatus according to the present invention indicate the movable direction to each of the registers or each of the blocks in the data structure describing the logic circuit to be delay-optimized. By adding a flag, and giving priority to the path whose one end point is an input terminal or an output terminal, there is an effect that the calculation time until the completion of register movement can be significantly reduced as compared with the conventional case.

【0066】また、上述のようにレジスタまたはブロッ
クがレジスタ移動可能方向の制限フラグを有することに
より冗長なレジスタ移動の探索が不要となるので、全体
の計算時間をさらに大幅に短縮できるという効果があ
る。
Further, as described above, since the register or the block has the restriction flag of the direction in which the register can be moved, it is not necessary to search for the redundant register movement, so that the entire calculation time can be further reduced. .

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施例の遅延最適化方法を示す
フローチャートである。
FIG. 1 is a flowchart illustrating a delay optimizing method according to a first embodiment of the present invention.

【図2】本実施例の適用対象論理回路のデータ構造を示
すブロック図である。
FIG. 2 is a block diagram illustrating a data structure of a logic circuit to which the present embodiment is applied;

【図3】本実施例の遅延最適化方法による遅延最適化の
過程を示す動作説明図である。
FIG. 3 is an operation explanatory diagram showing a process of delay optimization by the delay optimization method of the embodiment.

【図4】本発明の第2の実施例の論理合成装置を示すブ
ロック図である。
FIG. 4 is a block diagram showing a logic synthesizer according to a second embodiment of the present invention.

【図5】本実施例の処理の流れを示す動作説明図であ
る。
FIG. 5 is an operation explanatory diagram showing a flow of processing in the embodiment.

【図6】本発明の第3の実施例の遅延最適化方法を示す
フローチャートである。
FIG. 6 is a flowchart illustrating a delay optimizing method according to a third embodiment of the present invention;

【図7】本実施例の適用対象論理回路のデータ構造を示
すブロック図である。
FIG. 7 is a block diagram illustrating a data structure of a logic circuit to which the present embodiment is applied;

【図8】本実施例の遅延最適化方法による遅延最適化の
過程を示す動作説明図である。
FIG. 8 is an operation explanatory diagram showing a process of delay optimization by the delay optimization method of the embodiment.

【図9】従来の遅延最適化方法を示すフローチャートで
ある。
FIG. 9 is a flowchart showing a conventional delay optimization method.

【図10】従来の遅延最適化方法による遅延最適化の過
程を示す動作説明図である。
FIG. 10 is an operation explanatory diagram showing a process of delay optimization by a conventional delay optimization method.

【符号の説明】[Explanation of symbols]

1 ライブラリ入力部 2 回路入力部 3 制約条件入力部 4 論理最適化部 5 テクノロジマッピング部 6 遅延最適化部 7 記憶部 8 回路出力部 11 テクノロジライブラリ 12,14 回路記述 13 制約条件 61 フラグ付加部 62 最適化処理部 B1〜B7 ブロック F1〜F3,F11〜F17 フラグ P1〜P3 パス R1〜R3 レジスタ T1〜T3 端子 REFERENCE SIGNS LIST 1 Library input unit 2 Circuit input unit 3 Constraint condition input unit 4 Logic optimization unit 5 Technology mapping unit 6 Delay optimization unit 7 Storage unit 8 Circuit output unit 11 Technology library 12, 14 Circuit description 13 Constraint condition 61 Flag addition unit 62 Optimization processing unit B1 to B7 Block F1 to F3, F11 to F17 Flag P1 to P3 Path R1 to R3 Register T1 to T3 terminal

───────────────────────────────────────────────────── フロントページの続き (72)発明者 前田 直孝 東京都港区芝五丁目7番1号 日本電気 株式会社内 (56)参考文献 特開 平3−238555(JP,A) 特開 平6−243195(JP,A) ────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Naotaka Maeda 5-7-1 Shiba, Minato-ku, Tokyo NEC Corporation (56) References JP-A-3-238555 (JP, A) JP-A-6 −243195 (JP, A)

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 入力端子あるいはレジスタのいずれかで
始まり複数の論理回路の組合せから成るブロックを経由
して出力端子またはレジスタのいずれかで終端する信号
経路であり予め定めた許容最大遅延値を超過している第
1および超過していない第2のパスを含む順序回路の前
記第1のパスの入力端または出力端のレジスタの前記ブ
ロックをまたぐ移動によりこの第1のパスの最大遅延を
削減して前記第1および第2のパス相互間の遅延の配分
を均等化しより高速なクロックサイクルでの回路動作を
実現する遅延最適化方法において、 前記論理回路を記述したデータ構造中の前記レジスタの
各々または前記ブロックの各々に移動可能方向を指示す
るフラグを付加し、 一方の端点が入力端子または出力端子であり他方の端点
が前記レジスタである前記第1のパスを検出し、 前記第1のパスの前記移動対象のレジスタの選択と前記
移動方向の決定を前記フラグの情報にしたがって行うこ
とを特徴とする遅延最適化方法。
1. A signal path that starts at one of an input terminal or a register and ends at one of an output terminal or a register via a block composed of a combination of a plurality of logic circuits, and exceeds a predetermined allowable maximum delay value. Moving the register of the input or output end of the first path of the sequential circuit including the first and non-exceeding second paths across the block reduces the maximum delay of this first path. A delay optimizing method for equalizing the distribution of delay between the first and second paths and realizing a circuit operation in a faster clock cycle, wherein each of the registers in a data structure describing the logic circuit is provided. Alternatively, a flag indicating a movable direction is added to each of the blocks, and one end point is an input terminal or an output terminal, and the other end point is the register. It said first detecting path delay optimizing method characterized by the determination of the first of said selection of the mobile target register to the moving direction of the path be effected in accordance with the information of the flag that.
【請求項2】 前記レジスタの各々が前記フラグを備
え、 各々の前記フラグの情報が方向制限なしを示す第1の情
報と入力方向へのみ移動可を示す第2の情報と出力方向
へのみ移動可の第3の情報とのうちのいずれか1つの情
報を保持し初期値が前記第1の情報である移動可能方向
を示し、 入力端子または出力端子を一方の端点とし他方が前記レ
ジスタである前記第1のパスを検出する第1のステップ
と、 前記第1のパスの出力端が前記出力端子である場合には
入力端の前記レジスタである第1のレジスタをこの第1
のレジスタの出力端子に直接接続された前記ブロックで
ある第1のブロックをまたいで出力方向に、前記入力端
が前記入力端子である場合には出力端の前記レジスタで
ある第2のレジスタをこの第2のレジスタの力端子に
直接接続された前記ブロックである第2のブロックをま
たいで入力方向にそれぞれ移動することによりこの第1
のパスの最大遅延を削減する第2のステップと、 前記第2のステップで移動したレジスタが前記第1のレ
ジスタである場合にはこの第1のレジスタ対応の第1の
フラグに前記第の情報を前記第2のレジスタである場
合にはこの第2のレジスタ対応の第2のフラグに前記第
の情報をそれぞれ設定する第3のステップと、 全ての前記パスのうちから前記第1のパスを検出し、検
出した全ての第1のパスのうちの前記許容最大遅延値を
最も超過している第3のパスを選択する第4のステップ
と、 前記第3のパスの入力端および出力端の各々の前記レジ
スタである第3および第4のレジスタの各々の第3およ
び第4のフラグの情報を参照しこれら第3および第4の
フラグの前記第1〜第3の情報の組合せによりこれら第
3および第4のレジスタの移動の実行とこれら第3およ
び第4のフラグの情報の再設定を行う第5のステップと
を含むことを特徴とする請求項1記載の遅延最適化方
法。
Wherein each of said registers comprising said flag, to the second information and output direction indicated only movably to the first information and the input direction shows the no information of each said flag in direction only limited Holding any one of the movable third information and an initial value indicating a movable direction in which the first information is the first information; an input terminal or an output terminal as one end point; A first step of detecting a certain first path; and, when an output terminal of the first path is the output terminal, the first register which is the register of the input terminal is replaced with the first register.
In the output direction across the first block, which is the block directly connected to the output terminal of the register, the second register, which is the register at the output end when the input terminal is the input terminal, this by moving to the input direction across the second block is directly connected to said block to the input terminal of the second register first
A second step of reducing the maximum delay of the path of the second step, and when the register moved in the second step is the first register, the third flag corresponding to the first register is added to the third flag. If information is stored in the second register, the second flag corresponding to the second register is stored in the second flag.
A third step of setting the information of each of the first and second paths, and detecting the first path from all the paths, and exceeding the allowable maximum delay value of all the detected first paths most. A fourth step of selecting a third path that is present; and setting a third and a fourth flag of each of the third and fourth registers that are the registers at the input end and the output end of the third path. With reference to the information, execution of the movement of the third and fourth registers and resetting of the information of the third and fourth flags are performed by combining the first to third information of the third and fourth flags. 5. The method according to claim 1, further comprising the step of:
【請求項3】 前記ブロックの各々が前記フラグを備
え、 各々の前記フラグの情報が方向制限なしを示す第1の情
報と入力方向へのみまたいで移動可を示す第4の情報と
出力方向へのみまたいで移動可の第5の情報とのうちの
いずれか1つの情報を保持し初期値が前記第1の情報で
ある移動可能方向を示し、 入力端子または出力端子を一方の端点とし他方が前記レ
ジスタである前記第1のパスを検出する第1のステップ
と、 前記第1のパスの出力端が前記出力端子である場合には
入力端の前記レジスタである第1のレジスタをこの第1
のレジスタの出力端子に直接接続された前記ブロックで
ある第1のブロックをまたいで出力方向に、前記入力端
が前記入力端子である場合には出力端の前記レジスタで
ある第2のレジスタをこの第2のレジスタの力端子に
直接接続された前記ブロックである第2のブロックをま
たいで入力方向にそれぞれ移動することによりこの第1
のパスの最大遅延を削減する第2のステップと、 前記第2のステップで移動したレジスタが前記第1のレ
ジスタである場合には前記第1のブロックの第5のフラ
グに前記第の情報を前記第2のレジスタである場合に
は前記第2のブロック対応の第6のフラグに前記第
情報をそれぞれ設定する第6のステップと、 全ての前記パスのうちから前記第1のパスを検出し、検
出した全ての第1のパスのうちの前記許容最大遅延値を
最も超過している第3のパスを選択する第4のステップ
と、 前記第3のパスの入力端および出力端の各々の前記レジ
スタである第3および第4のレジスタにそれぞれ対応す
る第3および第4のブロックの各々の第7および第8の
フラグの情報を参照しこれら第7および第8のフラグの
前記第1,第4,第5の情報の組合せによりこれら第3
および第4のレジスタの移動の実行とこれら第7および
第8のフラグの情報の再設定を行う第7のステップとを
含むことを特徴とする請求項1記載の遅延最適化方法。
Wherein each of said blocks comprising the flag, the fourth information and the output direction shown movably across only information of each said flag in the first information and the input direction shows the no direction restriction In this case, any one of the movable fifth information is held, and the initial value indicates the movable direction, which is the first information. A first step of detecting the first path which is the register; and, when an output terminal of the first path is the output terminal, the first register which is the register of the input terminal. 1
In the output direction across the first block, which is the block directly connected to the output terminal of the register, the second register, which is the register at the output end when the input terminal is the input terminal, this by moving to the input direction across the second block is directly connected to said block to the input terminal of the second register first
A second step of reducing the maximum delay of the path of the first block, and when the register moved in the second step is the first register, the fifth information is stored in a fifth flag of the first block. A sixth step of setting the fourth information to a sixth flag corresponding to the second block when the second register is the second register; and a step of setting the first path among all the paths. And selecting a third path that exceeds the allowable maximum delay value of all the detected first paths, and an input terminal and an output terminal of the third path. Of the seventh and eighth flags of the third and fourth blocks respectively corresponding to the third and fourth registers, which are the above-mentioned registers, respectively. First, fourth and fifth information The combination of these 3
2. The delay optimizing method according to claim 1, further comprising a seventh step of executing the movement of the fourth and fourth registers and resetting the information of the seventh and eighth flags.
【請求項4】 入力端子あるいはレジスタのいずれかで
始まり複数の論理回路の組合せから成るブロックを経由
して出力端子またはレジスタのいずれかで終端する信号
経路であり予め定めた許容最大遅延値を超過している第
1および超過していない第2のパスを含む順序回路を含
む論理合成対象回路を構成する論理および遅延値を含む
テクノロジライブラリブロックの情報を読込むライブラ
リ入力部と、前記論理合成対象回路の接続情報を読込む
回路入力部と、前記許容最大遅延値を含む制約条件を読
込む制約条件入力部と、読込まれた前記論理合成対象回
路の合成結果の論理を最適化する論理最適化部と、前記
論理合成対象回路に前記テクノロジライブラリブロック
を割当てるテクノロジマッピング部と、前記第1のパス
の入力端または出力端のレジスタの前記ブロックをまた
ぐ移動による再配置によりこの第1のパスの最大遅延を
削減して前記第1および第2のパス相互間の遅延の配分
を均等化しより高速なクロックサイクルでの回路動作を
実現する遅延最適化部とを備える論理合成装置におい
て、 前記遅延最適化部が前記テクノロジライブラリブロック
のデータ構造中の前記レジスタの各々または前記ブロッ
クの各々に移動可能方向を指示するフラグを付加するフ
ラグ付加手段と、 前記第1のパスの前記移動対象のレジスタの選択と前記
移動方向の決定を前記フラグの情報にしたがって行う遅
延最適化手段とを備えることを特徴とする論理合成装
置。
4. A signal path which starts at one of an input terminal or a register and ends at one of an output terminal or a register via a block composed of a combination of a plurality of logic circuits, and exceeds a predetermined allowable maximum delay value. A library input unit for reading information of a technology library block including a logic and a delay value constituting a logic synthesis target circuit including a sequential circuit including a first path not exceeding and a second path not exceeding the second path; A circuit input unit for reading connection information of a circuit, a constraint input unit for reading a constraint condition including the allowable maximum delay value, and a logic optimization for optimizing a logic of a synthesis result of the read logic synthesis target circuit A technology mapping unit that allocates the technology library block to the logic synthesis target circuit; and an input terminal or output of the first path. Relocation by moving end registers across the block reduces the maximum delay of this first path, equalizes the distribution of delay between the first and second paths, and provides a faster clock cycle circuit. A logic optimizing device comprising a delay optimizing unit for realizing an operation, wherein the delay optimizing unit adds a flag indicating a movable direction to each of the registers or each of the blocks in the data structure of the technology library block A logic synthesizing apparatus, comprising: a flag adding unit that performs a selection of the register to be moved in the first path and a determination of the moving direction according to the information of the flag.
JP6122119A 1994-06-03 1994-06-03 Delay optimization method and logic synthesizer Expired - Fee Related JP2630258B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6122119A JP2630258B2 (en) 1994-06-03 1994-06-03 Delay optimization method and logic synthesizer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6122119A JP2630258B2 (en) 1994-06-03 1994-06-03 Delay optimization method and logic synthesizer

Publications (2)

Publication Number Publication Date
JPH07334531A JPH07334531A (en) 1995-12-22
JP2630258B2 true JP2630258B2 (en) 1997-07-16

Family

ID=14828101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6122119A Expired - Fee Related JP2630258B2 (en) 1994-06-03 1994-06-03 Delay optimization method and logic synthesizer

Country Status (1)

Country Link
JP (1) JP2630258B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7477486B2 (en) * 2021-09-01 2024-05-01 Kddi株式会社 DESIGN APPARATUS, OPERATION CIRCUIT, DESIGN METHOD, AND DESIGN PROGRAM

Also Published As

Publication number Publication date
JPH07334531A (en) 1995-12-22

Similar Documents

Publication Publication Date Title
US3287702A (en) Computer control
US4187539A (en) Pipelined data processing system with centralized microprogram control
US5960182A (en) Hardware-software co-simulation system, hardware-software co-simulation method, and computer-readable memory containing a hardware-software co-simulation program
JPH077385B2 (en) Data processing device
US4584642A (en) Logic simulation apparatus
JPS63291134A (en) Logically integrated circuit
JP3297213B2 (en) Integrated circuit simulator and integrated circuit simulation method
JP2630258B2 (en) Delay optimization method and logic synthesizer
JPS6142031A (en) Sorting processor
US3238508A (en) Logical manipulator
US5245549A (en) Gate addressing system for logic simulation machine
JP2853649B2 (en) How to create a logic simulation model
JP3048969B2 (en) Cycle-based simulator
JP2626549B2 (en) Horizontal microprogram optimization method and apparatus
JPH10254914A (en) Logic simulated result analyzer
JP2996153B2 (en) ASIC verification method
JPH03245223A (en) Arithmetic unit
JPS61199126A (en) Microprogram check system
JPH0489698A (en) Writable non-volatile memory
JPH03218524A (en) Instruction processor
JPH05233380A (en) Measuring process method for parallel execution performance
JPH05282395A (en) Bidirectional pin input/output switching method for hardware simulator
JPH04215130A (en) Instruction execution processing system for parallel pipeline instruction processing device
JPH0721154A (en) Vector processor
JPS60178540A (en) By-pass control system of information processor

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970304

LAPS Cancellation because of no payment of annual fees