JP2636709B2 - Logic optimizer - Google Patents

Logic optimizer

Info

Publication number
JP2636709B2
JP2636709B2 JP5294039A JP29403993A JP2636709B2 JP 2636709 B2 JP2636709 B2 JP 2636709B2 JP 5294039 A JP5294039 A JP 5294039A JP 29403993 A JP29403993 A JP 29403993A JP 2636709 B2 JP2636709 B2 JP 2636709B2
Authority
JP
Japan
Prior art keywords
rule
priority
delay
optimization
area
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 - Lifetime
Application number
JP5294039A
Other languages
Japanese (ja)
Other versions
JPH07129657A (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 JP5294039A priority Critical patent/JP2636709B2/en
Publication of JPH07129657A publication Critical patent/JPH07129657A/en
Application granted granted Critical
Publication of JP2636709B2 publication Critical patent/JP2636709B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime 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 logic optimizing apparatus for optimizing a delay time and an area by replacing elements in a logic circuit according to rules in an optimization rule base.

【0002】[0002]

【従来の技術】最適化の対象とする論理回路の接続情報
を入力し、最適化ルールベースに蓄積されているルール
に順次適用し、遅延時間,面積を最適化する論理最適化
装置は従来から提案されている。
2. Description of the Related Art Conventionally, a logic optimization device that inputs connection information of a logic circuit to be optimized and sequentially applies the information to rules stored in an optimization rule base to optimize delay time and area has been known. Proposed.

【0003】図12〜図15は、論理最適化装置によっ
て行なわれる最適化の様子を示した図である。図12〜
図15に於いて、IN1〜IN4は入力端子、OUT
1,OUT2は出力端子、INV1〜INV4はインバ
ータ、AND1,AND2はアンド回路、NAND1,
NAND2はナンド回路、NOR1はノア回路、OR1
はオア回路を示している。
FIGS. 12 to 15 are diagrams showing the state of optimization performed by the logic optimizing device. FIG.
In FIG. 15, IN1 to IN4 are input terminals, OUT
1, OUT2 is an output terminal, INV1 to INV4 are inverters, AND1, AND2 are AND circuits, NAND1,
NAND2 is a NAND circuit, NOR1 is a NOR circuit, OR1
Indicates an OR circuit.

【0004】図12は論理最適化装置に入力された接続
情報が示す論理回路の回路図であり、この論理回路は最
適化ルールベース中のルールが順次適用されることによ
り、図13〜図15に示す論理回路に順次変化してい
く。
FIG. 12 is a circuit diagram of a logic circuit indicated by the connection information input to the logic optimization device. This logic circuit is applied to the logic rules shown in FIGS. Sequentially changes to the logic circuit shown in FIG.

【0005】図13は、図12の論理回路に対して出力
にインバータが接続されているナンド回路をアンド回路
に置き換えるルールを適用した後の論理回路を示し、図
12中のナンド回路NAD1とインバータINV4と
が、図13ではアンド回路AND2に置き換えられてい
る。
FIG. 13 shows a logic circuit after applying a rule for replacing a NAND circuit whose output is connected to an inverter with an AND circuit to the logic circuit of FIG. 12, and shows a NAND circuit NAD1 and an inverter in FIG. INV4 is replaced by an AND circuit AND2 in FIG.

【0006】図14は、図13の論理回路に対して両方
の入力にインバータが接続されているアンド回路をノア
回路に置き換えるルールを適用した後の論理回路を示
し、図13中のインバータINV1,INV2とアンド
回路AND1とが、図14ではノア回路NOR1に置き
換えられている。
FIG. 14 shows a logic circuit after applying a rule for replacing the AND circuit in which inverters are connected to both inputs to the NOR circuit with a NOR circuit to the logic circuit of FIG. The INV2 and the AND circuit AND1 are replaced with a NOR circuit NOR1 in FIG.

【0007】図15は、図14の論理回路に対して出力
にインバータが接続されているノア回路をオア回路に置
き換えるルールを適用した後の論理回路を示し、図14
中のノア回路NOR1とインバータINV3とがオア回
路OR1に置き換えられている。
FIG. 15 shows a logic circuit after applying a rule for replacing the NOR circuit whose output is connected with an inverter with an OR circuit to the logic circuit of FIG.
The NOR circuit NOR1 and the inverter INV3 in the middle are replaced with an OR circuit OR1.

【0008】このような最適化を行なうことにより、素
子数が減り、遅延時間の短縮,面積の縮小を図ることが
可能になる。
By performing such optimization, it is possible to reduce the number of elements, shorten the delay time, and reduce the area.

【0009】図16は従来の論理最適化装置の構成例を
示したブロック図であり、キーボード等の入力部161
と、論理最適化手段162と、最適化の結果をファイル
等に出力する出力部163と、接続情報記憶部165及
び最適化ルールベース166を含む記憶部164とから
構成されている。
FIG. 16 is a block diagram showing an example of the configuration of a conventional logic optimizing device.
, A logic optimization unit 162, an output unit 163 that outputs the result of optimization to a file or the like, and a storage unit 164 including a connection information storage unit 165 and an optimization rule base 166.

【0010】利用者は最適化を行なう場合、先ず、最適
化を行なう論理回路の接続情報を入力部161を用いて
接続情報記憶部165に格納し、その後、論理最適化手
段162を起動する。
[0010] When optimizing, the user first stores the connection information of the logic circuit to be optimized in the connection information storage unit 165 using the input unit 161, and then activates the logic optimizing means 162.

【0011】論理最適化手段162は起動されると、図
17の流れ図に示すように、先ず、接続情報によって示
される論理回路中の第1番目の出力端子に注目する (ス
テップS171,S172)。
When the logic optimizing means 162 is started, as shown in the flow chart of FIG. 17, first, it focuses on the first output terminal in the logic circuit indicated by the connection information (steps S171 and S172).

【0012】次いで、論理最適化手段162は、図18
に示すように、複数のルールが蓄積されている最適化ル
ールベース166中の第1番目のルールに注目する (ス
テップS174,S175)。
Next, the logic optimizing means 162
As shown in (1), attention is paid to the first rule in the optimization rule base 166 in which a plurality of rules are stored (steps S174 and S175).

【0013】その後、論理最適化手段162は、第1番
目の出力端子から入力端子に向かってパストレースを行
ない (ステップS178)、第1番目のルールを適用で
きる部分が存在するか否かを判断する (ステップS17
9)。
Thereafter, the logic optimizing means 162 performs a path trace from the first output terminal to the input terminal (step S178), and determines whether or not there is a portion to which the first rule can be applied. Yes (Step S17
9).

【0014】適用できる部分が存在しないと判断した場
合は、第2番目のルールに注目し (ステップS182,
S175)、前述したと同様の処理を行なう。
If it is determined that there is no applicable part, attention is paid to the second rule (step S182,
S175), the same processing as described above is performed.

【0015】また、適用できる部分が存在すると判断し
た場合は、第1番目のルールに従って素子の置き換えを
行ない (ステップS180)、置き換え後のパスが遅延
目標値等の目標をクリアしているか否かを判断する (ス
テップS181)。
If it is determined that there is an applicable portion, the element is replaced according to the first rule (step S180), and whether or not the replaced path satisfies the target such as the target delay value is determined. Is determined (step S181).

【0016】そして、目標をクリアしていると判断した
場合は第2番目の出力端子に注目し(ステップS17
7,S172)、前述したと同様の処理を行なう。
If it is determined that the target has been cleared, attention is paid to the second output terminal (step S17).
7, S172), the same processing as described above is performed.

【0017】また、目標をクリアしていないと判断した
場合は、第2番目のルールに注目し(ステップS18
2,S175)、前述したと同様の処理を行なう。
If it is determined that the target has not been cleared, attention is paid to the second rule (step S18).
2, S175), the same processing as described above is performed.

【0018】そして、全てのルールに対して前述した処
理を行なうと (ステップS176がYES)、論理最適
化手段162は、第2番目の出力端子に注目し (ステッ
プS177,S172)、前述したと同様の処理を行な
う。
When the above-described processing is performed for all the rules (YES in step S176), the logic optimizing unit 162 pays attention to the second output terminal (steps S177 and S172). The same processing is performed.

【0019】以下、論理最適化手段162は、第3番
目,第4番目,…の出力端子に対して前述したと同様の
処理を行ない、全ての出力端子に対して前述した処理を
行なうと (ステップS173がYES)、その処理を終
了する。
Hereinafter, the logic optimizing means 162 performs the same processing as described above for the third, fourth,... Output terminals, and performs the above-described processing for all output terminals. (Step S173 is YES), and the process is ended.

【0020】[0020]

【発明が解決しようとする課題】上述したように、従来
は、遅延目標値等の目標がクリアされるまで、最適化デ
ータベースに蓄積されているルールの内、適用可能なル
ールを蓄積順に適用して最適化を行なっているが、次の
ような問題があった。
As described above, conventionally, the applicable rules among the rules stored in the optimization database are applied in the storing order until the target such as the delay target value is cleared. However, there are the following problems.

【0021】即ち、従来は、最適化ルールベースへのル
ールの蓄積順を設計者が経験に頼って決定していたた
め、適用頻度の多いルールの蓄積順が適用頻度の少ない
ルールよりも後になることがある。このような場合、適
用不可能と判断される可能性が高い適用回数の少ないル
ールに対する処理が、適用可能と判断される可能性が高
い適用回数の多いルールに対する処理よりも前に行なわ
れることになるため、最適化目標をクリアするまでに参
照しなければならないルールの数が増え、最適化に要す
る時間が多くなるという問題がある。
In other words, conventionally, the order of accumulation of rules in the optimization rule base is determined by the designer based on experience, so that the order of accumulation of frequently applied rules is later than the order of accumulation of rules of low application frequency. There is. In such a case, processing for a rule with a small number of applications that is likely to be determined to be inapplicable is performed before processing for a rule with a large number of applications that is likely to be determined to be applicable. Therefore, there is a problem that the number of rules that must be referenced before the optimization target is cleared increases, and the time required for optimization increases.

【0022】また、ルールには、遅延時間を最適化する
ために有効なルール,面積を最適化するために有効なル
ール,遅延時間と面積の両方を最適化するために有効な
ルールが存在するが、従来は、これらのルールが混在し
ている最適化ルールベースを使用して論理回路の最適化
を行なっているため、遅延制約の厳しい論理回路の最適
化を行なう場合、面積を最適化するためのルールが適用
されることによって遅延制約をクリアできない事態が発
生する場合がある。
The rules include a rule effective for optimizing the delay time, a rule effective for optimizing the area, and a rule effective for optimizing both the delay time and the area. However, conventionally, since the logic circuit is optimized using an optimization rule base in which these rules are mixed, when optimizing a logic circuit with strict delay constraints, the area is optimized. May not be able to clear the delay constraint due to the application of the rules for the delay.

【0023】そこで、遅延制約の厳しい論理回路の最適
化を行なう場合は、遅延時間を最適化するためのルール
だけを適用して最適化を行なうということが提案されて
いる。
Therefore, it has been proposed that when optimizing a logic circuit with strict delay constraints, optimization is performed by applying only rules for optimizing the delay time.

【0024】しかし、この方法は、最適化の対象とする
論理回路全体に対して遅延時間最適化用のルールを選択
しているため、遅延制約の厳しい論理回路中に遅延制約
の厳しくないパスが存在している場合であっても、上記
パスに対して遅延を最適化するためのルールが適用さ
れ、面積を最適化するためのルールは適用されないた
め、論理回路の規模が大きくなってしまうという問題が
ある。
However, in this method, since a rule for delay time optimization is selected for the entire logic circuit to be optimized, a path with less severe delay constraints may be included in a logic circuit with severe delay constraints. Even if it exists, the rule for optimizing the delay is applied to the path and the rule for optimizing the area is not applied, so that the scale of the logic circuit increases. There's a problem.

【0025】本発明の目的は、論理回路の最適化処理に
要する時間を短縮させることができ、且つ、遅延制約の
厳しい論理回路を最適化する場合であっても遅延制約の
必要のないパスが存在する論理回路については回路規模
を小さくすることができる論理最適化装置を提供するこ
とにある。
An object of the present invention is to reduce the time required for the optimization processing of a logic circuit, and to provide a path that does not require a delay constraint even when optimizing a logic circuit with a strict delay constraint. An object of the present invention is to provide a logic optimizing device capable of reducing the circuit scale of an existing logic circuit.

【0026】[0026]

【課題を解決するための手段】本発明は、最適化処理に
要する時間を短縮させるために、理最適化を行なうた
めのルールが蓄積された最適化ルールベースと、遅延優
先ルールベースと、 面積優先ルールベースと、 前記最適
化ルールベースに蓄積されているルールの内、遅延優先
モードのルールを前記最適化ルールベースに蓄積されて
いる順序で前記遅延優先ルールベースに格納し、面積優
先モードのルールを前記最適化ルールベースに蓄積され
ている順序で前記面積優先ルールベースに蓄積するルー
ル分離手段と、 最適化の対象とする論理回路の各出力端
子が、遅延優先の最適化を行なう出力端子か、面積優先
の最適化を行なう出力端子かを示す情報が格納される出
力端子表と、 前記遅延優先ルールベースに蓄積されてい
るルールをその蓄積順に評価して、最適化の対象とする
論理回路中の各パスの内、前記出力端子表に遅延優先の
最適化を行なうことを示す情報が格納されている出力端
子に対応する各パスに対して、適用可能なルールであれ
ば該ルールを適用して最適化する処理を、パスの遅延時
間が遅延目標値をクリアするまで続ける遅延優先最適化
手段と、 該遅延優先最適化手段による最適化が行なわれ
た後、前記面積優先ルールベースに蓄積されているルー
ルをその蓄積順に評価して最適化の対象とする論理回路
中の各パスの内、前記出力端子表に面積優先の最適化を
行なうことを示す情報が格納されている出力端子に対応
する各パスに対して適用可能なルールであれば該ルール
を適用して最適化する処理を、前記論理回路の面積が面
積目標値をクリアするまで続ける面積優先最適化手段
と、前記最適化ルールベースに蓄積されているルールを
適用回数順にソートするルールソート手段とを備えたも
のである。
The present invention SUMMARY OF], in order to shorten the time required for the optimization process, the optimization rule base in which the rules are accumulated to perform a logical optimization, delay Yu
The previous rule base, and area priority rule base, the optimum
Out of the rules stored in the rule base
Mode rules are stored in the optimization rule base
In the delay priority rule base in the order
The rules of the previous mode are stored in the optimization rule base.
Rules stored in the area priority rule base in the order
Separation means and each output terminal of the logic circuit to be optimized
Is an output terminal that optimizes delay priority or an area priority
Output that indicates whether or not the output terminal performs optimization
Input terminal table and the delay priority rule base.
Rules are evaluated in the order in which they are stored, and targeted for optimization.
Of the paths in the logic circuit, the output terminal
Output terminal that stores information indicating that optimization is performed
Rules that are applicable for each path corresponding to a child
If the process is optimized by applying the rule,
Delay priority optimization until the delay clears the delay target value
Means, and optimization by the delay priority optimizing means is performed.
After that, the rules stored in the area priority rule base
Logic circuits that are evaluated based on their storage order
Of each path in the table, optimize the area prioritized in the output terminal table.
Corresponds to the output terminal that stores the information indicating that
Rules that can be applied to each path
The process of optimizing by applying
Area priority optimization means to continue until the product target value is cleared
And a rule sorting means for sorting the rules stored in the optimization rule base in the order of application times.

【0027】[0027]

【0028】[0028]

【0029】[0029]

【作用】先ず、ルールソート手段が、最適化ルールベー
スに蓄積されているルールを適用回数順にソートする。
次いで、ルール分離手段が、最適化ルールベースに蓄積
されているルールの内、遅延優先モードのルールを最適
化ルールベースに蓄積されている順序で遅延優先ルール
ベースに蓄積し、面積優先モードのルールを最適化ルー
ルベースに蓄積されている順序で面積優先ルールベース
に蓄積する。その後、遅延優先最適化手段が、遅延優先
ルールベースに蓄積されているルールをその蓄積順に評
価して、最適化の対象とする論理回路中の各パスの内、
出力端子表に遅延優先の最適化を行なうことを示す情報
が格納されている出力端子に対応する各パスに対して、
適用可能なルールであればそのルールを適用して最適化
する処理を、パスの遅延時間が遅延目標値をクリアする
まで続ける。遅延優先手段による最適化が終了すると、
面積優先最適化手段が、面積優先ルールベースに蓄積さ
れているルールをその蓄積順に評価して最適化の対象と
する論理回路中の各パスの内、出力端子表に面積優先の
最適化を行なうことを示す情報が格納されている出力端
子に対応する各パスに対して適用可能なルールであれば
そのルールを適用して最適化する処理を、前記論理回路
の面積が面積目標値をクリアするまで続ける。
First, the rule sorting means performs the optimization rule base.
The rules stored in the source are sorted in the order of application.
Next, the rule separation means accumulates in the optimization rule base
Out of the rules set in the delay priority mode
Priority rule in the order stored in the rule base
Accumulates in the base and optimizes area priority mode rules
Area priority rule base in the order stored in the rule base
To accumulate. After that, the delay priority optimizing means
The rules stored in the rule base are evaluated in the order of storage.
Of each path in the logic circuit to be optimized,
Information indicating that delay priority optimization is performed on the output terminal table
For each path corresponding to the output terminal where
Optimize by applying applicable rules if applicable
Processing, the path delay time clears the delay target value
Continue until. When optimization by the delay priority means ends,
Area priority optimization means are stored in the area priority rule base.
The rules that have been optimized are evaluated in the order
Of the paths in the logic circuit
Output terminal that stores information indicating that optimization is performed
If the rule is applicable to each path corresponding to the child
The process of optimizing by applying the rule is performed by the logic circuit.
Until the area of the area clears the area target value.

【0030】[0030]

【0031】[0031]

【0032】[0032]

【0033】[0033]

【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0034】図1は本発明の実施例のブロック図であ
り、キーボード等の入力部1と、制御部2と、記憶部3
と、ファイル等へ最適化の結果を出力するための出力部
4とから構成されている。
FIG. 1 is a block diagram of an embodiment of the present invention. An input unit 1 such as a keyboard, a control unit 2, and a storage unit 3
And an output unit 4 for outputting a result of the optimization to a file or the like.

【0035】記憶部3は、ライブラリ31と、目標達成
表32と、遅延目標記憶部33と、面積目標記憶部34
と、接続情報記憶部35と、最適化ルールベース36
と、出力端子表37と、遅延優先ルールベース38と、
面積優先ルールベース39と、遅延優先ルール適用回数
表40と、面積優先ルール適用回数表41と、ルール適
用回数表42とを含んでいる。
The storage unit 3 includes a library 31, a target achievement table 32, a delay target storage unit 33, and an area target storage unit 34.
, Connection information storage unit 35, and optimization rule base 36
An output terminal table 37, a delay priority rule base 38,
The area priority rule base 39, the delay priority rule application count table 40, the area priority rule application count table 41, and the rule application count table 42 are included.

【0036】最適化ルールベース36には、遅延最適
化,面積最適化を行なうためのルールが複数蓄積されて
いる。
The optimization rule base 36 stores a plurality of rules for performing delay optimization and area optimization.

【0037】ルール適用回数表42には、最適化ルール
ベース36に蓄積されている各ルールのルール番号と適
用回数とが図2に示すように格納される。
The rule application frequency table 42 stores the rule numbers and the application frequency of each rule stored in the optimization rule base 36 as shown in FIG.

【0038】遅延優先ルールベース38には、最適化ル
ールベース36に蓄積されている各ルールの内、遅延優
先モードのルールが格納される。
The delay priority rule base 38 stores the rules in the delay priority mode among the rules stored in the optimization rule base 36.

【0039】面積優先ルールベース39には、最適化ル
ールベース36に蓄積されている各ルールの内、面積優
先モードのルールが格納される。
The area priority rule base 39 stores the rules of the area priority mode among the rules stored in the optimization rule base 36.

【0040】遅延優先ルール適用回数表40には、或る
論理回路に対する最適化処理を開始してから終了するま
での間の遅延優先ルールベース38中の各ルールの適用
回数が格納される。
The number-of-delay-priority-rules application table 40 stores the number of times each rule in the delay-priority rule base 38 has been applied from the start to the end of optimization processing for a certain logic circuit.

【0041】面積優先ルール適用回数表41には、或る
論理回路に対する最適化処理を開始してから終了するま
での間の面積優先ルールベース39中の各ルールの適用
回数が格納される。
The area-priority rule application count table 41 stores the number of times each rule in the area-priority rule base 39 has been applied from the start to the end of optimization processing for a certain logic circuit.

【0042】ライブラリ31には、遅延制約,面積制約
をクリアしたか否かを判断するために必要となる情報
(例えば、各素子の遅延時間,各素子の面積)等が格納
されている。
The library 31 stores information (eg, delay time of each element, area of each element) and the like necessary for determining whether or not the delay constraint and the area constraint are cleared.

【0043】遅延目標記憶部33には、遅延目標値が格
納される。
The delay target storage unit 33 stores a delay target value.

【0044】面積目標記憶部34には、面積目標値が格
納される。
The area target storage section 34 stores an area target value.

【0045】目標達成表32には、図3に示すように、
最適化の対象とする論理回路中の各出力端子の出力端子
番号に対応してその出力端子と対応するパスが遅延制約
をクリアしているか否かを示すクリア情報が格納され
る。
In the goal achievement table 32, as shown in FIG.
Corresponding to the output terminal number of each output terminal in the logic circuit to be optimized, clear information indicating whether or not the path corresponding to the output terminal has cleared the delay constraint is stored.

【0046】出力端子表37には、図4に示すように、
最適化の対象とする論理回路中の各出力端子の出力端子
番号と、その出力端子に対応するパスが遅延優先,面積
優先の最適化の内のどちらを行なうものなのかを示す情
報とが格納される。
In the output terminal table 37, as shown in FIG.
Stores the output terminal number of each output terminal in the logic circuit to be optimized, and information indicating whether the path corresponding to the output terminal performs delay priority or area priority optimization. Is done.

【0047】制御部2は、ルール分離手段21と、遅延
優先最適化手段22と、面積優先最適化手段23と、適
用回数更新手段24と、ルールソート手段25とから構
成されている。
The control unit 2 comprises a rule separating means 21, a delay priority optimizing means 22, an area priority optimizing means 23, an application frequency updating means 24, and a rule sorting means 25.

【0048】ルール分離手段21は、最適化ルールベー
ス36に格納されているルールの内、遅延優先モードの
ルールを遅延優先ルールベース38に格納し、面積優先
モードのルールを面積優先ルールベース39に格納する
機能を有する。
The rule separating means 21 stores the rule in the delay priority mode among the rules stored in the optimization rule base 36 in the delay priority rule base 38, and stores the rule in the area priority mode in the area priority rule base 39. Has the function of storing.

【0049】遅延優先最適化手段22は、最適化を行な
う論理回路中の各パスの内、出力端子表37によって遅
延優先の最適化を行なうことが示されているパスに対し
て、パスの遅延時間が遅延目標記憶部33に格納されて
いる遅延目標値をクリアするまで、遅延優先ルールベー
ス38に格納されているルールの内、適用可能なルール
を適用して最適化を行なう機能と、或る論理回路に対す
る最適化を開始する時、目標達成表32及び遅延優先ル
ール適用回数表40に対する初期化処理を行なう機能
と、遅延優先ルールベース38中のルールを適用する毎
に遅延優先ルール適用回数表40を更新する機能とを有
する。
The delay-priority optimizing means 22 provides a path delay to a path indicated by the output terminal table 37 to be subjected to delay-priority optimization among the paths in the logic circuit to be optimized. A function of performing an optimization by applying an applicable rule among the rules stored in the delay priority rule base until the time clears the delay target value stored in the delay target storage unit 33; When starting optimization for a logic circuit, a function of performing initialization processing on the goal achievement table 32 and the delay priority rule application count table 40, and a delay priority rule application count every time a rule in the delay priority rule base 38 is applied. And a function of updating the table 40.

【0050】面積優先最適化手段23は、最適化を行な
う論理回路中の各パスの内、出力端子表37によって面
積優先の最適化を行なうことが示されているパスに対し
て、論理回路の面積が面積目標記憶部34に格納されて
いる面積目標値をクリアするまで、面積優先ルールベー
ス39に格納されているルールの内、適用可能なルール
を適用して最適化を行なう機能と、或る論理回路に対す
る最適化処理を開始する時、面積優先ルールベース39
に対する初期化処理を行なう機能と、面積優先ルールベ
ース39中のルールを適用する毎に面積優先ルール適用
回数表41を更新する機能とを有する。
The area priority optimizing means 23 applies a logic circuit to a path indicated by the output terminal table 37 to perform the area priority optimization among the paths in the logic circuit to be optimized. A function of performing optimization by applying an applicable rule among the rules stored in the area priority rule base 39 until the area clears the area target value stored in the area target storage unit 34; When the optimization process for a logic circuit is started, the area priority rule base 39
And a function of updating the area priority rule application count table 41 every time a rule in the area priority rule base 39 is applied.

【0051】適用回数更新手段24は、或る論理回路に
対する最適化処理が終了した時、遅延優先ルール適用回
数表40,面積優先ルール適用回数表41に格納されて
いるテンポラリな適用回数を用いてルール適用回数表4
2を更新する機能を有する。
When the optimization process for a certain logic circuit is completed, the application frequency updating means 24 uses the temporary application frequency stored in the delay priority rule application frequency table 40 and the area priority rule application frequency table 41. Rule application count table 4
2 has a function of updating.

【0052】ルールソート手段25は、ルール適用回数
表42に格納されている各ルールの適用回数に基づい
て、最適化ルールベース36に蓄積されている各ルール
を適用回数が多い順にソートする機能を有する。
The rule sorting means 25 has a function of sorting the rules stored in the optimization rule base 36 in the descending order of the number of applications based on the number of applications of each rule stored in the rule application table 42. Have.

【0053】図5はルール分離手段21の処理例を示す
流れ図、図6及び図7は遅延優先最適化手段22の処理
例を示す流れ図、図8及び図9は面積優先最適化手段2
3の処理例を示す流れ図、図10は適用回数更新手段2
4の処理例を示す流れ図、図11はルールソート手段2
5の処理例を示す流れ図であり、以下各図を参照して本
実施例の動作を説明する。
FIG. 5 is a flowchart showing an example of processing by the rule separating means 21, FIGS. 6 and 7 are flowcharts showing an example of processing by the delay priority optimizing means 22, and FIGS.
3 is a flowchart showing a processing example of FIG. 3, and FIG.
4 is a flowchart showing a processing example of FIG. 4, and FIG.
5 is a flowchart showing a processing example of No. 5, and the operation of this embodiment will be described below with reference to the drawings.

【0054】利用者は、論理回路の最適化を行なう場
合、入力部1を用いて上記論理回路の接続情報を接続情
報記憶部35に格納し、遅延目標値を遅延目標記憶部3
3に格納し、面積目標値を面積目標記憶部34に格納
し、上記論理回路の各出力端子に対応するパスが遅延優
先の最適化を行なうものなのか面積優先の最適化を行な
うものなのかを示す情報を出力端子表37に格納する。
When optimizing a logic circuit, the user uses the input unit 1 to store the connection information of the logic circuit in the connection information storage unit 35, and stores the target delay value in the delay target storage unit 3.
3, the area target value is stored in the area target storage unit 34, and whether the path corresponding to each output terminal of the logic circuit performs delay-first optimization or area-first optimization is performed. Is stored in the output terminal table 37.

【0055】次いで、利用者は、入力部1を用いてルー
ル分離手段21に遅延優先の最適化のためだけに使用す
るルール及び面積優先の最適化のためだけに使用するル
ールを示す情報を入力し、その後、ルール分離手段21
を起動する。
Next, the user uses the input unit 1 to input information indicating rules used only for delay-first optimization and rules used only for area-first optimization to the rule separating means 21. And then the rule separating means 21
Start

【0056】ルール分離手段21は、起動されると、図
5に示すように、最適化ルールベース36に蓄積されて
いるルールの内、遅延優先の最適化のためだけに使用す
ることが指定されたルール及び遅延優先の最適化のため
だけに使用することも面積優先の最適化のためだけに使
用することも指定されていないルール(遅延優先モード
のルール)を、最適化ルールベース36に蓄積されてい
る順序で遅延優先ルールベース38に格納する (ステッ
プS1)。
When the rule separating means 21 is activated, as shown in FIG. 5, it is specified that the rule separating means 21 is to be used only for delay-priority optimization among the rules stored in the optimization rule base 36. The rules (delay-priority mode rules) that are not specified to be used only for the optimization with delay priority or the optimization only for area priority are stored in the optimization rule base 36. Are stored in the delay priority rule base 38 in the order described (step S1).

【0057】次いで、ルール分離手段21は、最適化ル
ールベース36に蓄積されているルールの内、面積優先
の最適化のためだけに使用することが指定されたルール
及び遅延優先の最適化のためだけに使用することも面積
優先の最適化のためだけに使用することも指定されてい
ないルール(面積優先モードのルール)を、最適化ルー
ルベース36に蓄積されている順序で面積優先ルールベ
ース39に格納する (ステップS2)。
Next, the rule separating means 21 performs, out of the rules stored in the optimization rule base 36, the rule designated to be used only for the area priority optimization and the delay priority optimization. The rules (area-priority mode rules) which are not specified to be used only for area-priority optimization or area-priority optimization (area-priority mode rules) are stored in the optimization rule base 36 in the order stored in the optimization rule base 36. (Step S2).

【0058】ここで、最適化ルールベース36中のルー
ルは、ルールソート手段25によって適用回数の多い順
にソートされているので、遅延優先ルールベース38,
面積優先ルールベース39中のルールも適用回数の多い
順にソートされた形になる。
Here, the rules in the optimization rule base 36 are sorted by the rule sorting means 25 in the order of the number of times of application, so that the delay priority rule base 38,
The rules in the area priority rule base 39 are also sorted in descending order of the number of applications.

【0059】ルール分離手段21の処理が終了すると、
遅延優先最適化手段22は、遅延優先ルールベース38
に格納されているルールの何番目のルールに注目するの
かを示す変数iを「1」にする(図6,ステップS1
1)。
When the processing of the rule separating means 21 is completed,
The delay priority optimizing means 22 includes a delay priority rule base 38.
Is set to "1" which indicates the rule number of the rule stored in "1" (FIG. 6, step S1).
1).

【0060】次いで、遅延優先最適化手段22は、遅延
優先ルール適用回数表40に格納されている各ルールの
適用回数を全て「0」にすると共に、目標達成表32に
格納されている、遅延目標値をクリアしたか否かを示す
クリア情報を全て“0”(クリアしていないことを示
す)にする (ステップS12)。
Next, the delay priority optimizing means 22 sets the application count of each rule stored in the delay priority rule application count table 40 to all “0” and sets the delay All the clear information indicating whether the target value has been cleared is set to “0” (indicating that the target value has not been cleared) (step S12).

【0061】その後、遅延優先最適化手段22は、遅延
優先ルールベース38の第i番目のルールに注目し (ス
テップS13)、ルールが終了している場合 (ステップ
S14がYES)はその処理を終了する。
Thereafter, the delay priority optimizing means 22 pays attention to the ith rule in the delay priority rule base 38 (step S13), and terminates the processing if the rule has been completed (step S14 is YES). I do.

【0062】また、ルールが終了していなければ (ステ
ップS14がNO)、遅延優先最適化手段22は、最適
化の対象としている論理回路の何番目の出力端子に注目
するのかを示す変数jを「1」にする (ステップS1
5)。
If the rule has not been completed (NO in step S14), the delay priority optimizing unit 22 sets a variable j indicating the number of the output terminal of the logic circuit to be optimized to which attention is paid. Set to “1” (Step S1
5).

【0063】その後、遅延優先最適化手段22は、第j
番目の出力端子に注目し (図7,ステップS16)、出
力端子が終了していなければ (ステップS17がN
O)、第j番目の出力端子が遅延優先の最適化を行なう
パスに対応するものであるか否かを出力端子表37の内
容に基づいて判断する (ステップS20)。
After that, the delay priority optimizing means 22
Attention is paid to the third output terminal (FIG. 7, step S16). If the output terminal is not terminated (step S17 is N
O), it is determined based on the contents of the output terminal table 37 whether or not the j-th output terminal corresponds to a path for performing delay-priority optimization (step S20).

【0064】第j番目の出力端子が遅延優先の最適化を
行なうパスに対応するものでないと判断した場合 (ステ
ップS20がNO)は、変数jを+1し (ステップS2
9)、次の出力端子に注目する (ステップS16)。
When it is determined that the j-th output terminal does not correspond to the path for performing the delay priority optimization (NO in step S20), the variable j is incremented by 1 (step S2).
9) Attention is paid to the next output terminal (step S16).

【0065】また、第j番目の出力端子が遅延優先の最
適化を行なうパスに対応するものであると判断した場合
(ステップS20がYES)は、目標達成表32を参照
して上記パスが既に遅延目標値をクリアしているか否か
を判断する (ステップS21)。
When it is determined that the j-th output terminal corresponds to the path for performing the delay-first optimization.
(YES in step S20), it is determined with reference to the target achievement table 32 whether or not the path has already cleared the delay target value (step S21).

【0066】そして、クリアしていると判断した場合
(ステップS21がYES)は、ステップS29の処理
を行ない、クリアしていないと判断した場合 (ステップ
S21がNO)は、第j番目の出力端子から入力端子に
向かってパストレースを行ない(ステップS22)、ト
レースしたパス中に第i番目のルールを適用できる部分
があるか否かを判断する (ステップS23)。
When it is determined that the game is cleared
If (step S21 is YES), the process of step S29 is performed, and if it is determined that clearing has not been performed (step S21 is NO), a path trace is performed from the jth output terminal to the input terminal (step S22). ), It is determined whether or not there is a part to which the i-th rule can be applied in the traced path (step S23).

【0067】第i番目のルールを適用できる部分がない
と判断した場合 (ステップS23がNO)は、遅延優先
最適化手段22はステップS29の処理を行ない、適用
できる部分があると判断した場合 (ステップS23がY
ES)は、第i番目のルールに従って素子の置き換え
(変換)を行なう (ステップS24)。
If it is determined that there is no part to which the i-th rule can be applied (NO in step S23), the delay priority optimizing means 22 performs the processing of step S29, and determines that there is a part to which the i-th rule can be applied ( Step S23 is Y
ES) performs element replacement (conversion) according to the i-th rule (step S24).

【0068】ステップS24の処理が終了すると、遅延
優先最適化手段22は、遅延優先ルール適用回数表40
に格納されている第i番目のルールの適用回数を更新す
る (ステップS25)。ここで、上記パスに第i番目の
ルールを適用できる部分がk箇所存在する場合は、遅延
優先最適化手段22は、遅延優先ルール適用回数表40
に格納されている第i番目のルールの適用回数を+kす
る。
When the processing in step S24 ends, the delay priority optimizing means 22 sets the delay priority rule application count table 40
Is updated (step S25). Here, if there are k portions to which the i-th rule can be applied to the path, the delay priority optimizing unit 22 sets the delay priority rule application count table 40
Is incremented by + k.

【0069】その後、遅延優先最適化手段22は、ライ
ブラリ31に格納されている各素子の遅延時間に基づい
て、第j番目の出力端子から入力端子に至るまでの各パ
スの遅延時間を見積もり (ステップS26)、その全て
が遅延目標記憶部33に格納されている遅延目標値をク
リアしているか否かを判断する (ステップS27)。
Thereafter, the delay priority optimizing means 22 estimates the delay time of each path from the j-th output terminal to the input terminal based on the delay time of each element stored in the library 31 ( Step S26), it is determined whether or not all of them have cleared the delay target value stored in the delay target storage unit 33 (Step S27).

【0070】ステップS27で遅延目標値をクリアして
いないパスが存在すると判断した場合(判断結果がN
O)は、遅延優先最適化手段22は、ステップS29の
処理を行ない、全てのパスが遅延目標値をクリアしてい
ると判断した場合(判断結果がYES)は、目標達成表
32の第j番目の出力端子に対応するクリア情報を
“1”(遅延目標値をクリアしたことを示す)にした後
(ステップS28)、次の出力端子に注目する (ステッ
プS29,S16)。
If it is determined in step S27 that there is a path that has not cleared the delay target value (the determination result is N
O), the delay priority optimizing unit 22 performs the processing of step S29, and when it is determined that all the paths have cleared the delay target value (the determination result is YES), the jth of the target achievement table 32 After setting the clear information corresponding to the output terminal to "1" (indicating that the delay target value has been cleared)
(Step S28) Attention is paid to the next output terminal (Steps S29 and S16).

【0071】以下、前述したと同様の処理を全ての出力
端子に対して行ない、全ての出力端子に対して前述した
処理を行なうと (ステップS17がYES)、遅延優先
最適化手段22は、目標達成表32を参照して全ての出
力端子に対応するパスが遅延目標値を達成しているか否
かを判断する (ステップS18)。
Thereafter, the same processing as described above is performed for all output terminals, and when the above-described processing is performed for all output terminals (YES in step S17), the delay priority optimizing means 22 sets the target With reference to the achievement table 32, it is determined whether or not the paths corresponding to all the output terminals have achieved the delay target value (step S18).

【0072】そして、全ての出力端子に対応するパスが
遅延目標値を達成していると判断した場合 (ステップS
18がYES)は、遅延優先最適化手段22は、その処
理を終了し、達成していないと判断した場合 (ステップ
S18がNO)は、遅延優先ルールベース38に格納さ
れている次のルールに注目し(図7ステップS19,図
6ステップS13)、前述したと同様の処理を行なう。
If it is determined that the paths corresponding to all the output terminals have achieved the delay target value (step S
18 is YES), the delay priority optimizing means 22 terminates the processing, and determines that the processing has not been achieved (NO in step S18), and determines the next rule stored in the delay priority rule base 38. Attention is paid (step S19 in FIG. 7, step S13 in FIG. 6), and the same processing as described above is performed.

【0073】遅延優先最適化手段22の処理が終了する
と、面積優先最適化手段23は、面積優先ルールベース
39に格納されているルールの何番目のルールに注目す
るのかを示す変数mを「1」にし (図8,ステップS3
1)、その後、面積優先ルール適用回数表41に格納さ
れている各ルールの適用回数を全て「0」にする (ステ
ップS32)。
When the processing of the delay priority optimizing means 22 is completed, the area priority optimizing means 23 sets the variable m indicating which rule of the rules stored in the area priority rule base 39 to pay attention to “1”. (FIG. 8, step S3
1) Then, the number of times of application of each rule stored in the area priority rule application frequency table 41 is set to "0" (step S32).

【0074】次いで、面積優先最適化手段23は、面積
優先ルールベース39に格納されているルールの内の第
m番目のルールに注目し (ステップS33)、ルールが
終了している場合 (ステップS34がYES)はその処
理を終了し、ルールが終了していない場合(ステップS
34がNO)は最適化の対象とする論理回路の何番目の
出力端子に注目するのかを示す変数nを「1」にする
(ステップS35)。
Next, the area priority optimizing means 23 pays attention to the m-th rule among the rules stored in the area priority rule base 39 (step S33), and when the rule has been completed (step S34). Is YES), the process is terminated, and when the rule is not terminated (step S
34 is NO), the variable n indicating the number of the output terminal of the logic circuit targeted for optimization is set to “1”.
(Step S35).

【0075】その後、面積優先最適化手段23は、第n
番目の出力端子に注目し (図9,ステップS36)、出
力端子が終了していなければ (ステップS37がN
O)、第n番目の出力端子が面積優先の最適化を行なう
パスに対応するものであるか否かを出力端子表37の内
容に基づいて判断する (ステップS41)。
After that, the area priority optimizing means 23
Attention is paid to the third output terminal (FIG. 9, step S36). If the output terminal is not terminated (step S37 is N)
O), it is determined based on the contents of the output terminal table 37 whether or not the n-th output terminal corresponds to a path for performing area-priority optimization (step S41).

【0076】そして、第n番目の出力端子が面積優先の
最適化を行なうパスに対応するものでないと判断した場
合 (ステップS41がNO)は、次の出力端子に注目す
る (ステップS46,S36)。
If it is determined that the n-th output terminal does not correspond to the path for performing the area-priority optimization (NO in step S41), attention is paid to the next output terminal (steps S46 and S36). .

【0077】また、第n番目の出力端子が面積優先の最
適化を行なうパスに対応するものであると判断した場合
(ステップS41がYES)は、第n番目の出力端子か
ら入力端子に向かってパストレースを行ない (ステップ
S42)、トレースしたパス中に第m番目のルールを適
用できる部分が存在するか否かを判断する (ステップS
43)。
When it is determined that the n-th output terminal corresponds to a path for performing area-priority optimization
(Step S41 is YES), a path trace is performed from the nth output terminal to the input terminal (step S42), and it is determined whether or not there is a portion to which the mth rule can be applied in the traced path. Judge (Step S
43).

【0078】そして、第m番目のルールを適用できる部
分がないと判断した場合 (ステップS43がNO)は、
面積優先最適化手段23は、次の出力端子に注目し (ス
テップS46,S36)、適用できる部分があると判断
した場合 (ステップS43がYES)は、第m番目のル
ールに従って素子の変換を行なう (ステップS44)。
If it is determined that there is no portion to which the m-th rule can be applied (NO in step S43),
The area priority optimizing means 23 pays attention to the next output terminal (steps S46 and S36), and if it is determined that there is an applicable portion (step S43 is YES), performs element conversion according to the m-th rule. (Step S44).

【0079】ステップS44の処理が終了すると、面積
優先最適化手段23は、面積優先ルール適用回数表41
に格納されている第m番目のルールの適用回数を更新し
た後(ステップS45)、次の出力端子に注目する (ス
テップS46,S36)。
When the processing of step S44 is completed, the area priority optimizing means 23 sets the area priority rule application frequency table 41
Is updated (step S45), and the next output terminal is focused on (steps S46 and S36).

【0080】全ての出力端子に対して前述した処理を行
なうと (ステップS37がYES)、面積優先最適化手
段23は、ライブラリ31に格納されている各素子の面
積を示す情報に基づいて現段階に於ける論理回路の面積
を見積もる (ステップS38)。
When the above-described processing is performed on all the output terminals (YES in step S37), the area priority optimizing means 23 determines the current stage based on the information indicating the area of each element stored in the library 31. Is estimated (step S38).

【0081】そして、面積の見積もりが、面積目標記憶
部34に格納されている面積目標値を達成している場合
(ステップS39がYES)は、その処理を終了し、達
成していない場合 (ステップS39がNO)は、次のル
ールに注目し (図9ステップS40,図8ステップS3
3)、前述したと同様の処理を行なう。
Then, when the estimation of the area has achieved the area target value stored in the area target storage unit 34
If (step S39 is YES), the processing is terminated, and if the processing is not achieved (step S39 is NO), the next rule is noticed (step S40 in FIG. 9, step S3 in FIG. 8).
3) The same processing as described above is performed.

【0082】面積優先最適化手段23の処理が終了する
と、適用回数更新手段24は、図10に示すように、遅
延優先ルール適用回数表40,面積優先ルール適用回数
表41に格納されている各ルールのテンポラリな適用回
数を取得し (ステップS51,S52)、取得したテン
ポラリな適用回数をルール適用回数表42中の対応する
ルールの適用回数に加算する (ステップS53)。
When the processing of the area priority optimizing means 23 is completed, the application frequency updating means 24, as shown in FIG. 10, stores the delay priority rule application frequency table 40 and the area priority rule application frequency table 41 stored in the table 41. The temporary application count of the rule is obtained (steps S51 and S52), and the obtained temporary application count is added to the corresponding rule application count in the rule application count table 42 (step S53).

【0083】適用回数更新手段24の処理が終了する
と、ルールソート手段25は、図11に示すように、ル
ール適用回数表42から各ルールの適用回数を取得し
(ステップS61)、最適化ルールベース36に蓄積さ
れているルールを適用回数が多い順にソートする (ステ
ップS62)。
When the processing of the application frequency updating means 24 is completed, the rule sorting means 25 obtains the application frequency of each rule from the rule application frequency table 42 as shown in FIG.
(Step S61), the rules stored in the optimization rule base 36 are sorted in descending order of application number (Step S62).

【0084】尚、上述した実施例に於いては、ルール分
離手段21を用いて最適化ルールベース36に蓄積され
ている遅延優先モードのルール,面積優先モードのルー
ルをそれぞれ遅延優先ルールベース38,面積優先ルー
ルベース39に格納し、遅延優先最適化手段22,面積
優先最適化手段23でそれぞれ遅延優先ルールベース3
8,面積優先ルールベース39に格納されているルール
を用いて最適化を行なうようにしたが、最適化ルールベ
ース36に蓄積されているルールを遅延優先ルールベー
ス38,面積優先ルールベース39に分離せずに、遅延
優先最適化手段22,面積優先最適化手段23で最適化
ルールベース36に蓄積されているルールを用いて最適
化を行なうようにしても良いことは勿論である。
In the above-described embodiment, the rule of the delay priority mode and the rule of the area priority mode stored in the optimization rule base 36 by using the rule separating means 21 are respectively used as the delay priority rule base 38, It is stored in the area priority rule base 39, and the delay priority optimization means 22 and the area priority optimization means 23 respectively store the delay priority rule base 3
8. The optimization is performed using the rules stored in the area priority rule base 39. However, the rules stored in the optimization rule base 36 are divided into a delay priority rule base 38 and an area priority rule base 39. It is needless to say that the optimization may be performed by the delay priority optimizing means 22 and the area priority optimizing means 23 using the rules stored in the optimization rule base 36 without separating them.

【0085】しかし、実施例のように、最適化ルールベ
ース36に蓄積されているルールを遅延優先ルールベー
ス38,面積優先ルールベース39に分離し、遅延優先
最適化手段22,面積優先最適化手段23でそれぞれ遅
延優先ルールベース38,面積優先ルールベース39に
蓄積されているルールを使用して最適化を行なう方がル
ールの参照回数が少なくなるので、処理が高速になる。
However, as in the embodiment, the rules stored in the optimization rule base 36 are separated into a delay priority rule base 38 and an area priority rule base 39, and the delay priority optimization means 22 and the area priority optimization means When the optimization is performed by using the rules stored in the delay priority rule base 38 and the area priority rule base 39 at 23, respectively, the number of times of referring to the rules is reduced, so that the processing speed is increased.

【0086】[0086]

【発明の効果】以上説明したように、本発明によれば、
以下の効果を得ることができる。
As described above, according to the present invention,
The following effects can be obtained.

【0087】遅延優先ルールベース,面積優先ルールベ
ースに蓄積されているルールは、適用回数順にソートさ
れており、遅延優先最適化手段,面積優先最適化手段
は、それぞれ遅延優先ルールベース,面積優先ルールベ
ース中のルールを蓄積順に評価して最適化の対象とする
論理回路に対して適用可能なルールであれば該ルールを
適用して最適化する処理を、最適化目標値をクリアする
まで続けるので、最適化目標値をクリアするまでに評価
するルールの数が従来に比較して少なくなり、その結
果、処理速度を高速化することが可能になる。
The delay priority rule base and area priority rule base
The rules stored in the source are sorted in order of the number of applications.
Delay priority optimization means, area priority optimization means
Are the delay priority rule base and the area priority rule base, respectively.
The process of optimizing by applying the rule, if the applicable rule for a logic circuit to be subjected to optimization by evaluating the rules in over scan in the storage order, continued until clearing the optimization target value Therefore, the number of rules to be evaluated before the optimization target value is cleared is smaller than in the conventional case, and as a result, the processing speed can be increased.

【0088】最適化の対象とする論理回路の各出力端子
が遅延優先のものなのか、面積優先のものなのかを示す
出力端子表を備え、先ず、出力端子表で遅延優先である
ことを示されている出力端子に対して遅延優先最適化手
段を用いて最適化を行ない、その後、面積優先であるこ
とが示されている出力端子に対して面積優先最適化手段
を用いて最適化を行なうものであるので、遅延制約が厳
しい論理回路の最適化がやりやすくなる効果があると共
に、遅延制約が厳しい論理回路であっても遅延制約の必
要のないパスが存在する論理回路については、規模を従
来に比較して小さくすることができる効果がある。
An output terminal table is provided to indicate whether each output terminal of the logic circuit to be optimized is a delay-first or an area-first one. First, the output terminal table indicates that the priority is delay-first. The optimization is performed using the delay priority optimizing means for the output terminal that has been set, and then the optimization is performed using the area priority optimizing means for the output terminal that is indicated to be area priority. Therefore, the logic circuit having a strict delay constraint has an effect of being easily optimized, and a logic circuit having a strict delay constraint and having a path that does not require a delay constraint has a large scale. There is an effect that the size can be reduced as compared with the related art.

【0089】[0089]

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

【図1】本発明の実施例のブロック図である。FIG. 1 is a block diagram of an embodiment of the present invention.

【図2】ルール適用回数表42の構成例を示す図であ
る。
FIG. 2 is a diagram showing a configuration example of a rule application count table 42;

【図3】目標達成表32の構成例を示す図である。FIG. 3 is a diagram showing a configuration example of a goal achievement table 32;

【図4】出力端子表37の構成例を示す図である。FIG. 4 is a diagram showing a configuration example of an output terminal table 37.

【図5】ルール分離手段21の処理例を示す流れ図であ
る。
FIG. 5 is a flowchart showing a processing example of a rule separating unit 21;

【図6】遅延優先最適化手段22の処理例を示す流れ図
である。
FIG. 6 is a flowchart showing a processing example of the delay priority optimizing means 22;

【図7】遅延優先最適化手段22の処理例を示す流れ図
である。
FIG. 7 is a flowchart showing a processing example of the delay priority optimizing means 22;

【図8】面積優先最適化手段23の処理例を示す流れ図
である。
FIG. 8 is a flowchart showing a processing example of the area priority optimizing means 23;

【図9】面積優先最適化手段23の処理例を示す流れ図
である。
FIG. 9 is a flowchart showing a processing example of the area priority optimizing means 23;

【図10】適用回数更新手段24の処理例を示す流れ図
である。
FIG. 10 is a flowchart showing a processing example of an application count updating unit 24;

【図11】ルールソート手段25の処理例を示す流れ図
である。
FIG. 11 is a flowchart showing a processing example of a rule sorting unit 25;

【図12】最適化処理を説明するための図である。FIG. 12 is a diagram illustrating an optimization process.

【図13】最適化処理を説明するための図である。FIG. 13 is a diagram for explaining an optimization process.

【図14】最適化処理を説明するための図である。FIG. 14 is a diagram illustrating an optimization process.

【図15】最適化処理を説明するための図である。FIG. 15 is a diagram illustrating an optimization process.

【図16】従来例のブロック図である。FIG. 16 is a block diagram of a conventional example.

【図17】論理最適化手段162の処理例を示す流れ図
である。
17 is a flowchart showing a processing example of the logic optimizing unit 162. FIG.

【図18】最適化ルールベース166の構成例を示す図
である。
FIG. 18 is a diagram illustrating a configuration example of an optimization rule base 166.

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

1…入力部 2…制御部 21…ルール分離手段 22…遅延優先最適化手段 23…面積優先最適化手段 24…適用回数更新手段 25…ルールソート手段 3…記憶部 31…ライブラリ 32…目標達成表 33…遅延目標記憶部 34…面積目標記憶部 35…接続情報記憶部 36…最適化ルールベース 37…出力端子表 38…遅延優先ルールベース 39…面積優先ルールベース 40…遅延優先ルール適用回数表 41…面積優先ルール適用回数表 42…ルール適用回数表 4…出力部 DESCRIPTION OF SYMBOLS 1 ... Input part 2 ... Control part 21 ... Rule separation means 22 ... Delay priority optimization means 23 ... Area priority optimization means 24 ... Application frequency update means 25 ... Rule sort means 3 ... Storage part 31 ... Library 32 ... Target achievement table 33 ... delay target storage unit 34 ... area target storage unit 35 ... connection information storage unit 36 ... optimization rule base 37 ... output terminal table 38 ... delay priority rule base 39 ... area priority rule base 40 ... delay priority rule application count table 41 … Area priority application count table 42… Rule application count table 4… Output section

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 論理最適化を行なうためのルールが蓄積
された最適化ルールベースと、遅延優先ルールベースと、 面積優先ルールベースと、 前記最適化ルールベースに蓄積されているルールの内、
遅延優先モードのルールを前記最適化ルールベースに蓄
積されている順序で前記遅延優先ルールベースに蓄積
し、面積優先モードのルールを前記最適化ルールベース
に蓄積されている順序で前記面積優先ルールベースに蓄
積するルール分離手段と、 最適化の対象とする論理回路の各出力端子が、遅延優先
の最適化を行なう出力端子か、面積優先の最適化を行な
う出力端子かを示す情報が格納される出力端子表と、 前記遅延優先ルールベースに蓄積されているルールをそ
の蓄積順に評価して、最適化の対象とする論理回路中の
各パスの内、前記出力端子表に遅延優先の最適化を行な
うことを示す情報が格納されている出力端子に対応する
各パスに対して、適用可能なルールであれば該ルールを
適用して最適化する処理を、パスの遅延時間が遅延目標
値をクリアするまで続ける遅延優先最適化手段と、 該遅延優先最適化手段による最適化が行なわれた後、前
記面積優先ルールベースに蓄積されているルールをその
蓄積順に評価して最適化の対象とする論理回路中の各パ
スの内、前記出力端子表に面積優先の最適化を行なうこ
とを示す情報が格納されている出力端子に対応する各パ
スに対して適用可能なルールであれば該ルールを適用し
て最適化する処理を、前記論理回路の面積が面積目標値
をクリアするまで続ける面積優先最適化手段と、 前記最適化ルールベースに蓄積されているルールを適用
回数順にソートするルールソート手段とを備えたことを
特徴とする論理最適化装置。
1. An optimization rule base in which rules for performing logic optimization are stored, a delay priority rule base, an area priority rule base, and a rule stored in the optimization rule base.
Store the delay priority mode rules in the optimization rule base.
Stored in the delay priority rule base in the order in which they are stacked
And the rules of the area priority mode are
In the area priority rule base in the order in which
The rule separation means to accumulate and each output terminal of the logic circuit to be optimized
Output terminal for optimization of
An output terminal table that stores information indicating whether the terminal is an output terminal, and rules stored in the delay priority rule base.
Are evaluated in the order of accumulation of
In each path, delay priority optimization is performed on the output terminal table.
Corresponding to the output terminal that stores information indicating that
For each path, if applicable, apply the rule
Applying and optimizing processing, path delay time delay target
A delay priority optimizing means that continues until the value is cleared, and
The rules stored in the area priority rule base are
Each path in a logic circuit to be evaluated and evaluated in the order of accumulation is optimized.
Of the output terminal table should be optimized for area priority.
Corresponding to the output terminal storing the information indicating
Rules that are applicable to the rule
Optimizing the process, the area of the logic circuit is the target area value
And a rule sorting means for sorting the rules stored in the optimization rule base in the order of application times.
【請求項2】 前記遅延優先ルールベースに蓄積されて
いる各ルールそれぞれの、前記遅延優先最適化手段によ
る適用回数を保持する遅延優先ルール適用回数表と、 前記面積優先ルールベースに蓄積されている各ルールそ
れぞれの、前記面積優 先最適化手段による適用回数を保
持する面積優先ルール適用回数表と、 前記最適化ルールベースに蓄積されている各ルールそれ
ぞれの適用回数を保持するルール適用回数表と、 最適化の対象とする論理回路に対する最適化処理の終了
毎に、前記遅延優先ルール適用回数表及び前記面積優先
ルール適用回数表の内容に基づいて前記ルール適用回数
表を更新する適用回数更新手段とを備え、且つ、 前記遅延優先最適化手段は、前記遅延優先ルールベース
に蓄積されているルールを適用する毎に、前記遅延優先
ルール適用回数表に保持されている適用回数の内の、適
用したルールに対応する適用回数を更新する構成を備
え、 前記面積優先最適化手段は、前記面積優先ルールベース
に蓄積されているルールを適用する毎に、前記面積優先
ルール適用回数表に保持されている適用回数の内の、適
用したルールに対応する適用回数を更新する構成を備え
たことを 特徴とする請求項記載の論理最適化装置。
2. The data stored in the delay priority rule base
The delay priority optimizing means for each rule
That a delay priority rule application number table for holding a number of applications, each rule its accumulated in the area priority rule base
Of Re respectively, holding the number of applications by the area priority optimizing means
Table of the number of times the area priority rule is applied, and each rule stored in the optimization rule base
A rule application count table that holds each application count and the end of optimization processing for the logic circuit to be optimized
Each time, the delay priority rule application count table and the area priority
The rule application count based on the contents of the rule application count table
And a delay priority optimizing means , wherein the delay priority optimizing means includes a delay priority rule base.
Each time the rules stored in the
Of the application counts held in the rule application count table,
Configuration to update the number of applications corresponding to the rule used
The area-priority optimizing means is based on the area-priority rule base.
Each time the rules stored in
Of the application counts held in the rule application count table,
Configuration to update the number of applications corresponding to the rules used
2. The logic optimizing device according to claim 1, wherein:
JP5294039A 1993-10-29 1993-10-29 Logic optimizer Expired - Lifetime JP2636709B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5294039A JP2636709B2 (en) 1993-10-29 1993-10-29 Logic optimizer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5294039A JP2636709B2 (en) 1993-10-29 1993-10-29 Logic optimizer

Publications (2)

Publication Number Publication Date
JPH07129657A JPH07129657A (en) 1995-05-19
JP2636709B2 true JP2636709B2 (en) 1997-07-30

Family

ID=17802484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5294039A Expired - Lifetime JP2636709B2 (en) 1993-10-29 1993-10-29 Logic optimizer

Country Status (1)

Country Link
JP (1) JP2636709B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3974300B2 (en) * 1999-11-18 2007-09-12 松下電器産業株式会社 IP-based LSI design system and design method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS634333A (en) * 1986-06-24 1988-01-09 Toshiba Corp Expert system
JPH0642200B2 (en) * 1987-07-14 1994-06-01 株式会社日立製作所 Production system
JPH04153780A (en) * 1990-10-17 1992-05-27 Sharp Corp Logical circuit composing method
JPH05101134A (en) * 1991-10-03 1993-04-23 Nec Corp Optimization system for delay time of logic circuit

Also Published As

Publication number Publication date
JPH07129657A (en) 1995-05-19

Similar Documents

Publication Publication Date Title
US7099819B2 (en) Text information analysis apparatus and method
Efraimidis Weighted random sampling over data streams
JP4034602B2 (en) Data classification device, active learning method of data classification device, and active learning program
US8275730B2 (en) Information processing apparatus, information processing method, and computer program product for reducing states in a deterministic finite state automaton
WO2020197624A1 (en) Method for predicting the successfulness of the execution of a devops release pipeline
CN112966186A (en) Model training and information recommendation method and device
US20200380409A1 (en) Apparatus and method for analyzing time-series data based on machine learning
JP2636709B2 (en) Logic optimizer
JP3291642B2 (en) Failure support method
CN112559575A (en) Search processing method, customer service information processing method and device
CN113010562B (en) Information recommendation method and device
CN113627194A (en) Information extraction method and device, and communication message classification method and device
JPH01297723A (en) Control data regenerating device for sort processor
JPS6136868A (en) Information retriever
WO2020250597A1 (en) Information processing device, information processing method, and program
CN111984247A (en) Service processing method and device and electronic equipment
JP2020064470A (en) Apparatus, method and program for data processing
JP3151820B2 (en) Sorting method based on count classification using relative keys
CN110196947A (en) Method, apparatus, electronic equipment and the storage medium that recommendation information determines
US6931383B2 (en) Methods and apparatus for communicating information in a supervised learning system
US6643632B1 (en) Data processing system and computer-readable recording medium recorded with a program for causing a computer to process data
JP3215598B2 (en) Minimum error storage device
US20200110837A1 (en) Archiving of topmost ranked answers of a cognitive search
CN117556263A (en) Sample construction method, code generation method, electronic device, and storage medium
JPH06259409A (en) Numerical data explanatory sentence generating method