JPH07129657A - 論理最適化装置 - Google Patents
論理最適化装置Info
- Publication number
- JPH07129657A JPH07129657A JP5294039A JP29403993A JPH07129657A JP H07129657 A JPH07129657 A JP H07129657A JP 5294039 A JP5294039 A JP 5294039A JP 29403993 A JP29403993 A JP 29403993A JP H07129657 A JPH07129657 A JP H07129657A
- Authority
- JP
- Japan
- Prior art keywords
- rule
- optimization
- priority
- delay
- 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.)
- Granted
Links
Abstract
(57)【要約】
【目的】 論理回路の最適化装置に於いて、処理速度を
高速化する。 【構成】 最適化ルールベース36中のルールはルールソ
ート手段25によって適用回数順にソートされている。ル
ール分離手段21は、最適化ルールベース36中のルールの
内、遅延優先モードのルールを遅延優先ルールベース38
に、面積優先のルールを面積優先ルールベース39に格納
する。遅延優先最適化手段22は、最適化の対象とする論
理回路の出力端子の内の出力端子表37に遅延優先の設定
がある出力端子に対して遅延優先ルールベース38中のル
ールを蓄積順に評価し、適用可能なルールであればそれ
を適用して最適化する処理を、遅延目標値をクリアする
まで続ける。面積優先最適化手段23は、出力端子表37に
面積優先の設定がある出力端子に対して面積優先ルール
ベース39中のルールを蓄積順に評価し、適用可能なルー
ルであればそれを適用して最適化するという処理を、面
積目標値をクリアするまで続ける。
高速化する。 【構成】 最適化ルールベース36中のルールはルールソ
ート手段25によって適用回数順にソートされている。ル
ール分離手段21は、最適化ルールベース36中のルールの
内、遅延優先モードのルールを遅延優先ルールベース38
に、面積優先のルールを面積優先ルールベース39に格納
する。遅延優先最適化手段22は、最適化の対象とする論
理回路の出力端子の内の出力端子表37に遅延優先の設定
がある出力端子に対して遅延優先ルールベース38中のル
ールを蓄積順に評価し、適用可能なルールであればそれ
を適用して最適化する処理を、遅延目標値をクリアする
まで続ける。面積優先最適化手段23は、出力端子表37に
面積優先の設定がある出力端子に対して面積優先ルール
ベース39中のルールを蓄積順に評価し、適用可能なルー
ルであればそれを適用して最適化するという処理を、面
積目標値をクリアするまで続ける。
Description
【0001】
【産業上の利用分野】本発明は、最適化ルールベース中
のルールに従って論理回路中の素子の置き換えを行なう
ことにより、遅延時間,面積の最適化を図る論理最適化
装置に関する。
のルールに従って論理回路中の素子の置き換えを行なう
ことにより、遅延時間,面積の最適化を図る論理最適化
装置に関する。
【0002】
【従来の技術】最適化の対象とする論理回路の接続情報
を入力し、最適化ルールベースに蓄積されているルール
に順次適用し、遅延時間,面積を最適化する論理最適化
装置は従来から提案されている。
を入力し、最適化ルールベースに蓄積されているルール
に順次適用し、遅延時間,面積を最適化する論理最適化
装置は従来から提案されている。
【0003】図12〜図15は、論理最適化装置によっ
て行なわれる最適化の様子を示した図である。図12〜
図15に於いて、IN1〜IN4は入力端子、OUT
1,OUT2は出力端子、INV1〜INV4はインバ
ータ、AND1,AND2はアンド回路、NAND1,
NAND2はナンド回路、NOR1はノア回路、OR1
はオア回路を示している。
て行なわれる最適化の様子を示した図である。図12〜
図15に於いて、IN1〜IN4は入力端子、OUT
1,OUT2は出力端子、INV1〜INV4はインバ
ータ、AND1,AND2はアンド回路、NAND1,
NAND2はナンド回路、NOR1はノア回路、OR1
はオア回路を示している。
【0004】図12は論理最適化装置に入力された接続
情報が示す論理回路の回路図であり、この論理回路は最
適化ルールベース中のルールが順次適用されることによ
り、図13〜図15に示す論理回路に順次変化してい
く。
情報が示す論理回路の回路図であり、この論理回路は最
適化ルールベース中のルールが順次適用されることによ
り、図13〜図15に示す論理回路に順次変化してい
く。
【0005】図13は、図12の論理回路に対して出力
にインバータが接続されているナンド回路をアンド回路
に置き換えるルールを適用した後の論理回路を示し、図
12中のナンド回路NAD1とインバータINV4と
が、図13ではアンド回路AND2に置き換えられてい
る。
にインバータが接続されているナンド回路をアンド回路
に置き換えるルールを適用した後の論理回路を示し、図
12中のナンド回路NAD1とインバータINV4と
が、図13ではアンド回路AND2に置き換えられてい
る。
【0006】図14は、図13の論理回路に対して両方
の入力にインバータが接続されているアンド回路をノア
回路に置き換えるルールを適用した後の論理回路を示
し、図13中のインバータINV1,INV2とアンド
回路AND1とが、図14ではノア回路NOR1に置き
換えられている。
の入力にインバータが接続されているアンド回路をノア
回路に置き換えるルールを適用した後の論理回路を示
し、図13中のインバータINV1,INV2とアンド
回路AND1とが、図14ではノア回路NOR1に置き
換えられている。
【0007】図15は、図14の論理回路に対して出力
にインバータが接続されているノア回路をオア回路に置
き換えるルールを適用した後の論理回路を示し、図14
中のノア回路NOR1とインバータINV3とがオア回
路OR1に置き換えられている。
にインバータが接続されているノア回路をオア回路に置
き換えるルールを適用した後の論理回路を示し、図14
中のノア回路NOR1とインバータINV3とがオア回
路OR1に置き換えられている。
【0008】このような最適化を行なうことにより、素
子数が減り、遅延時間の短縮,面積の縮小を図ることが
可能になる。
子数が減り、遅延時間の短縮,面積の縮小を図ることが
可能になる。
【0009】図16は従来の論理最適化装置の構成例を
示したブロック図であり、キーボード等の入力部161
と、論理最適化手段162と、最適化の結果をファイル
等に出力する出力部163と、接続情報記憶部165及
び最適化ルールベース166を含む記憶部164とから
構成されている。
示したブロック図であり、キーボード等の入力部161
と、論理最適化手段162と、最適化の結果をファイル
等に出力する出力部163と、接続情報記憶部165及
び最適化ルールベース166を含む記憶部164とから
構成されている。
【0010】利用者は最適化を行なう場合、先ず、最適
化を行なう論理回路の接続情報を入力部161を用いて
接続情報記憶部165に格納し、その後、論理最適化手
段162を起動する。
化を行なう論理回路の接続情報を入力部161を用いて
接続情報記憶部165に格納し、その後、論理最適化手
段162を起動する。
【0011】論理最適化手段162は起動されると、図
17の流れ図に示すように、先ず、接続情報によって示
される論理回路中の第1番目の出力端子に注目する (ス
テップS171,S172)。
17の流れ図に示すように、先ず、接続情報によって示
される論理回路中の第1番目の出力端子に注目する (ス
テップS171,S172)。
【0012】次いで、論理最適化手段162は、図18
に示すように、複数のルールが蓄積されている最適化ル
ールベース166中の第1番目のルールに注目する (ス
テップS174,S175)。
に示すように、複数のルールが蓄積されている最適化ル
ールベース166中の第1番目のルールに注目する (ス
テップS174,S175)。
【0013】その後、論理最適化手段162は、第1番
目の出力端子から入力端子に向かってパストレースを行
ない (ステップS178)、第1番目のルールを適用で
きる部分が存在するか否かを判断する (ステップS17
9)。
目の出力端子から入力端子に向かってパストレースを行
ない (ステップS178)、第1番目のルールを適用で
きる部分が存在するか否かを判断する (ステップS17
9)。
【0014】適用できる部分が存在しないと判断した場
合は、第2番目のルールに注目し (ステップS182,
S175)、前述したと同様の処理を行なう。
合は、第2番目のルールに注目し (ステップS182,
S175)、前述したと同様の処理を行なう。
【0015】また、適用できる部分が存在すると判断し
た場合は、第1番目のルールに従って素子の置き換えを
行ない (ステップS180)、置き換え後のパスが遅延
目標値等の目標をクリアしているか否かを判断する (ス
テップS181)。
た場合は、第1番目のルールに従って素子の置き換えを
行ない (ステップS180)、置き換え後のパスが遅延
目標値等の目標をクリアしているか否かを判断する (ス
テップS181)。
【0016】そして、目標をクリアしていると判断した
場合は第2番目の出力端子に注目し(ステップS17
7,S172)、前述したと同様の処理を行なう。
場合は第2番目の出力端子に注目し(ステップS17
7,S172)、前述したと同様の処理を行なう。
【0017】また、目標をクリアしていないと判断した
場合は、第2番目のルールに注目し(ステップS18
2,S175)、前述したと同様の処理を行なう。
場合は、第2番目のルールに注目し(ステップS18
2,S175)、前述したと同様の処理を行なう。
【0018】そして、全てのルールに対して前述した処
理を行なうと (ステップS176がYES)、論理最適
化手段162は、第2番目の出力端子に注目し (ステッ
プS177,S172)、前述したと同様の処理を行な
う。
理を行なうと (ステップS176がYES)、論理最適
化手段162は、第2番目の出力端子に注目し (ステッ
プS177,S172)、前述したと同様の処理を行な
う。
【0019】以下、論理最適化手段162は、第3番
目,第4番目,…の出力端子に対して前述したと同様の
処理を行ない、全ての出力端子に対して前述した処理を
行なうと (ステップS173がYES)、その処理を終
了する。
目,第4番目,…の出力端子に対して前述したと同様の
処理を行ない、全ての出力端子に対して前述した処理を
行なうと (ステップS173がYES)、その処理を終
了する。
【0020】
【発明が解決しようとする課題】上述したように、従来
は、遅延目標値等の目標がクリアされるまで、最適化デ
ータベースに蓄積されているルールの内、適用可能なル
ールを蓄積順に適用して最適化を行なっているが、次の
ような問題があった。
は、遅延目標値等の目標がクリアされるまで、最適化デ
ータベースに蓄積されているルールの内、適用可能なル
ールを蓄積順に適用して最適化を行なっているが、次の
ような問題があった。
【0021】即ち、従来は、最適化ルールベースへのル
ールの蓄積順を設計者が経験に頼って決定していたた
め、適用頻度の多いルールの蓄積順が適用頻度の少ない
ルールよりも後になることがある。このような場合、適
用不可能と判断される可能性が高い適用回数の少ないル
ールに対する処理が、適用可能と判断される可能性が高
い適用回数の多いルールに対する処理よりも前に行なわ
れることになるため、最適化目標をクリアするまでに参
照しなければならないルールの数が増え、最適化に要す
る時間が多くなるという問題がある。
ールの蓄積順を設計者が経験に頼って決定していたた
め、適用頻度の多いルールの蓄積順が適用頻度の少ない
ルールよりも後になることがある。このような場合、適
用不可能と判断される可能性が高い適用回数の少ないル
ールに対する処理が、適用可能と判断される可能性が高
い適用回数の多いルールに対する処理よりも前に行なわ
れることになるため、最適化目標をクリアするまでに参
照しなければならないルールの数が増え、最適化に要す
る時間が多くなるという問題がある。
【0022】また、ルールには、遅延時間を最適化する
ために有効なルール,面積を最適化するために有効なル
ール,遅延時間と面積の両方を最適化するために有効な
ルールが存在するが、従来は、これらのルールが混在し
ている最適化ルールベースを使用して論理回路の最適化
を行なっているため、遅延制約の厳しい論理回路の最適
化を行なう場合、面積を最適化するためのルールが適用
されることによって遅延制約をクリアできない事態が発
生する場合がある。
ために有効なルール,面積を最適化するために有効なル
ール,遅延時間と面積の両方を最適化するために有効な
ルールが存在するが、従来は、これらのルールが混在し
ている最適化ルールベースを使用して論理回路の最適化
を行なっているため、遅延制約の厳しい論理回路の最適
化を行なう場合、面積を最適化するためのルールが適用
されることによって遅延制約をクリアできない事態が発
生する場合がある。
【0023】そこで、遅延制約の厳しい論理回路の最適
化を行なう場合は、遅延時間を最適化するためのルール
だけを適用して最適化を行なうということが提案されて
いる。
化を行なう場合は、遅延時間を最適化するためのルール
だけを適用して最適化を行なうということが提案されて
いる。
【0024】しかし、この方法は、最適化の対象とする
論理回路全体に対して遅延時間最適化用のルールを選択
しているため、遅延制約の厳しい論理回路中に遅延制約
の厳しくないパスが存在している場合であっても、上記
パスに対して遅延を最適化するためのルールが適用さ
れ、面積を最適化するためのルールは適用されないた
め、論理回路の規模が大きくなってしまうという問題が
ある。
論理回路全体に対して遅延時間最適化用のルールを選択
しているため、遅延制約の厳しい論理回路中に遅延制約
の厳しくないパスが存在している場合であっても、上記
パスに対して遅延を最適化するためのルールが適用さ
れ、面積を最適化するためのルールは適用されないた
め、論理回路の規模が大きくなってしまうという問題が
ある。
【0025】本発明の目的は、論理回路の最適化処理に
要する時間を短縮させることができ、且つ、遅延制約の
厳しい論理回路を最適化する場合であっても遅延制約の
必要のないパスが存在する論理回路については回路規模
を小さくすることができる論理最適化装置を提供するこ
とにある。
要する時間を短縮させることができ、且つ、遅延制約の
厳しい論理回路を最適化する場合であっても遅延制約の
必要のないパスが存在する論理回路については回路規模
を小さくすることができる論理最適化装置を提供するこ
とにある。
【0026】
【課題を解決するための手段】本発明は、最適化処理に
要する時間を短縮させるために、(A)論理最適化を行
なうためのルールが蓄積された最適化ルールベースと、
前記最適化ルールベースに蓄積されているルールをその
蓄積順に評価して最適化の対象とする論理回路に対して
適用可能なルールであれば該ルールを適用して最適化す
る処理を、最適化目標値をクリアするまで続ける最適化
手段と、前記最適化ルールベースに蓄積されているルー
ルを適用回数順にソートするルールソート手段とを備え
たものである。
要する時間を短縮させるために、(A)論理最適化を行
なうためのルールが蓄積された最適化ルールベースと、
前記最適化ルールベースに蓄積されているルールをその
蓄積順に評価して最適化の対象とする論理回路に対して
適用可能なルールであれば該ルールを適用して最適化す
る処理を、最適化目標値をクリアするまで続ける最適化
手段と、前記最適化ルールベースに蓄積されているルー
ルを適用回数順にソートするルールソート手段とを備え
たものである。
【0027】また、本発明は、最適化処理に要する時間
を短縮させ、且つ遅延制約の厳しい論理回路であって
も、遅延制約の必要のないパスが存在する論理回路に対
しては回路規模を小さくできるようにするため、(B)
最適化の対象とする論理回路の各出力端子が、遅延優先
の最適化を行なう出力端子か、面積優先の最適化を行な
う出力端子かを示す情報が格納される出力端子表と、前
記最適化ルールベースに蓄積されているルールをその蓄
積順に評価して、最適化の対象とする論理回路中の各パ
スの内、前記出力端子表に遅延優先の最適化を行なうこ
とを示す情報が格納されている出力端子に対応する各パ
スに対して、適用可能なルールであれば該ルールを適用
して最適化する処理を、パスの遅延時間が遅延目標値を
クリアするまで続ける前記最適化手段に含まれる遅延優
先最適化手段と、該遅延優先最適化手段による最適化が
行なわれた後、前記最適化ルールベースに蓄積されてい
るルールをその蓄積順に評価して、最適化の対象とする
論理回路中の各パスの内、前記出力端子表に面積優先の
最適化を行なうことを示す情報が格納されている出力端
子に対応する各パスに対して、適用可能なルールであれ
ば該ルールを適用して最適化する処理を、前記論理回路
の面積が面積目標値をクリアするまで続ける前記最適化
手段に含まれる面積優先最適化手段とを備えたものであ
る。
を短縮させ、且つ遅延制約の厳しい論理回路であって
も、遅延制約の必要のないパスが存在する論理回路に対
しては回路規模を小さくできるようにするため、(B)
最適化の対象とする論理回路の各出力端子が、遅延優先
の最適化を行なう出力端子か、面積優先の最適化を行な
う出力端子かを示す情報が格納される出力端子表と、前
記最適化ルールベースに蓄積されているルールをその蓄
積順に評価して、最適化の対象とする論理回路中の各パ
スの内、前記出力端子表に遅延優先の最適化を行なうこ
とを示す情報が格納されている出力端子に対応する各パ
スに対して、適用可能なルールであれば該ルールを適用
して最適化する処理を、パスの遅延時間が遅延目標値を
クリアするまで続ける前記最適化手段に含まれる遅延優
先最適化手段と、該遅延優先最適化手段による最適化が
行なわれた後、前記最適化ルールベースに蓄積されてい
るルールをその蓄積順に評価して、最適化の対象とする
論理回路中の各パスの内、前記出力端子表に面積優先の
最適化を行なうことを示す情報が格納されている出力端
子に対応する各パスに対して、適用可能なルールであれ
ば該ルールを適用して最適化する処理を、前記論理回路
の面積が面積目標値をクリアするまで続ける前記最適化
手段に含まれる面積優先最適化手段とを備えたものであ
る。
【0028】また、本発明は、更に、最適化処理に要す
る時間を短縮させるため、(C)遅延優先ルールベース
と、面積優先ルールベースと、前記最適化ルールベース
に蓄積されているルールの内、遅延優先モードのルール
を前記最適化ルールベースに蓄積されている順序で前記
遅延優先ルールベースに格納し、面積優先モードのルー
ルを前記最適化ルールベースに蓄積されている順序で前
記面積優先ルールベースに蓄積するルール分離手段とを
備え、前記遅延優先最適化手段及び前記面積優先最適化
手段は、それぞれ前記遅延優先ルールベース及び面積優
先ルールベースを通じて前記最適化ルールベース中のル
ールを読み込むようにしたものである。
る時間を短縮させるため、(C)遅延優先ルールベース
と、面積優先ルールベースと、前記最適化ルールベース
に蓄積されているルールの内、遅延優先モードのルール
を前記最適化ルールベースに蓄積されている順序で前記
遅延優先ルールベースに格納し、面積優先モードのルー
ルを前記最適化ルールベースに蓄積されている順序で前
記面積優先ルールベースに蓄積するルール分離手段とを
備え、前記遅延優先最適化手段及び前記面積優先最適化
手段は、それぞれ前記遅延優先ルールベース及び面積優
先ルールベースを通じて前記最適化ルールベース中のル
ールを読み込むようにしたものである。
【0029】
【作用】本発明は、最適化処理に要する時間を短縮させ
るために、(A)の構成に於いては、ルールソート手段
が最適化ルールベースに蓄積されているルールを適用回
数順にソートし、最適化手段が最適化ルールベースに蓄
積されているルールをその蓄積順に評価して最適化の対
象とする論理回路に対して適用可能なルールであれば該
ルールを適用して最適化する処理を、最適化目標値をク
リアするまで続ける。
るために、(A)の構成に於いては、ルールソート手段
が最適化ルールベースに蓄積されているルールを適用回
数順にソートし、最適化手段が最適化ルールベースに蓄
積されているルールをその蓄積順に評価して最適化の対
象とする論理回路に対して適用可能なルールであれば該
ルールを適用して最適化する処理を、最適化目標値をク
リアするまで続ける。
【0030】(B)の構成に於いては、最適化の対象と
する論理回路の各出力端子の内、遅延優先の出力端子で
あることが出力端子表によって示されている出力端子に
対応するパスに対しては、遅延優先最適化手段が最適化
ルールベースに蓄積されているルールを蓄積順に評価
し、そのパスに対して適用可能なルールであればそれを
適用して最適化する処理を、パスの遅延時間が遅延目標
値をクリアするまで続ける。
する論理回路の各出力端子の内、遅延優先の出力端子で
あることが出力端子表によって示されている出力端子に
対応するパスに対しては、遅延優先最適化手段が最適化
ルールベースに蓄積されているルールを蓄積順に評価
し、そのパスに対して適用可能なルールであればそれを
適用して最適化する処理を、パスの遅延時間が遅延目標
値をクリアするまで続ける。
【0031】また、面積優先の出力端子であることが出
力端子表によって示されている出力端子に対応するパス
に対しては、面積優先最適化手段が最適化ルールベース
に蓄積されているルールを蓄積順に評価し、そのパスに
対して適用可能なルールであればそれを適用して最適化
する処理を、論理回路の面積が面積目標値をクリアする
まで続ける。
力端子表によって示されている出力端子に対応するパス
に対しては、面積優先最適化手段が最適化ルールベース
に蓄積されているルールを蓄積順に評価し、そのパスに
対して適用可能なルールであればそれを適用して最適化
する処理を、論理回路の面積が面積目標値をクリアする
まで続ける。
【0032】(C)の構成に於いては、ルール分離手段
が最適化ルールベースに蓄積されているルールの内、遅
延優先モードのルールを遅延優先ルールベースに格納
し、面積優先モードのルールを面積優先ルールベースに
格納し、遅延優先最適化手段,面積優先最適化手段が、
それぞれ遅延優先ルールベース,面積優先ルールベース
を通じて最適化ルールベース中のルールを読み込み、最
適化を行なう。
が最適化ルールベースに蓄積されているルールの内、遅
延優先モードのルールを遅延優先ルールベースに格納
し、面積優先モードのルールを面積優先ルールベースに
格納し、遅延優先最適化手段,面積優先最適化手段が、
それぞれ遅延優先ルールベース,面積優先ルールベース
を通じて最適化ルールベース中のルールを読み込み、最
適化を行なう。
【0033】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
詳細に説明する。
【0034】図1は本発明の実施例のブロック図であ
り、キーボード等の入力部1と、制御部2と、記憶部3
と、ファイル等へ最適化の結果を出力するための出力部
4とから構成されている。
り、キーボード等の入力部1と、制御部2と、記憶部3
と、ファイル等へ最適化の結果を出力するための出力部
4とから構成されている。
【0035】記憶部3は、ライブラリ31と、目標達成
表32と、遅延目標記憶部33と、面積目標記憶部34
と、接続情報記憶部35と、最適化ルールベース36
と、出力端子表37と、遅延優先ルールベース38と、
面積優先ルールベース39と、遅延優先ルール適用回数
表40と、面積優先ルール適用回数表41と、ルール適
用回数表42とを含んでいる。
表32と、遅延目標記憶部33と、面積目標記憶部34
と、接続情報記憶部35と、最適化ルールベース36
と、出力端子表37と、遅延優先ルールベース38と、
面積優先ルールベース39と、遅延優先ルール適用回数
表40と、面積優先ルール適用回数表41と、ルール適
用回数表42とを含んでいる。
【0036】最適化ルールベース36には、遅延最適
化,面積最適化を行なうためのルールが複数蓄積されて
いる。
化,面積最適化を行なうためのルールが複数蓄積されて
いる。
【0037】ルール適用回数表42には、最適化ルール
ベース36に蓄積されている各ルールのルール番号と適
用回数とが図2に示すように格納される。
ベース36に蓄積されている各ルールのルール番号と適
用回数とが図2に示すように格納される。
【0038】遅延優先ルールベース38には、最適化ル
ールベース36に蓄積されている各ルールの内、遅延優
先モードのルールが格納される。
ールベース36に蓄積されている各ルールの内、遅延優
先モードのルールが格納される。
【0039】面積優先ルールベース39には、最適化ル
ールベース36に蓄積されている各ルールの内、面積優
先モードのルールが格納される。
ールベース36に蓄積されている各ルールの内、面積優
先モードのルールが格納される。
【0040】遅延優先ルール適用回数表40には、或る
論理回路に対する最適化処理を開始してから終了するま
での間の遅延優先ルールベース38中の各ルールの適用
回数が格納される。
論理回路に対する最適化処理を開始してから終了するま
での間の遅延優先ルールベース38中の各ルールの適用
回数が格納される。
【0041】面積優先ルール適用回数表41には、或る
論理回路に対する最適化処理を開始してから終了するま
での間の面積優先ルールベース39中の各ルールの適用
回数が格納される。
論理回路に対する最適化処理を開始してから終了するま
での間の面積優先ルールベース39中の各ルールの適用
回数が格納される。
【0042】ライブラリ31には、遅延制約,面積制約
をクリアしたか否かを判断するために必要となる情報
(例えば、各素子の遅延時間,各素子の面積)等が格納
されている。
をクリアしたか否かを判断するために必要となる情報
(例えば、各素子の遅延時間,各素子の面積)等が格納
されている。
【0043】遅延目標記憶部33には、遅延目標値が格
納される。
納される。
【0044】面積目標記憶部34には、面積目標値が格
納される。
納される。
【0045】目標達成表32には、図3に示すように、
最適化の対象とする論理回路中の各出力端子の出力端子
番号に対応してその出力端子と対応するパスが遅延制約
をクリアしているか否かを示すクリア情報が格納され
る。
最適化の対象とする論理回路中の各出力端子の出力端子
番号に対応してその出力端子と対応するパスが遅延制約
をクリアしているか否かを示すクリア情報が格納され
る。
【0046】出力端子表37には、図4に示すように、
最適化の対象とする論理回路中の各出力端子の出力端子
番号と、その出力端子に対応するパスが遅延優先,面積
優先の最適化の内のどちらを行なうものなのかを示す情
報とが格納される。
最適化の対象とする論理回路中の各出力端子の出力端子
番号と、その出力端子に対応するパスが遅延優先,面積
優先の最適化の内のどちらを行なうものなのかを示す情
報とが格納される。
【0047】制御部2は、ルール分離手段21と、遅延
優先最適化手段22と、面積優先最適化手段23と、適
用回数更新手段24と、ルールソート手段25とから構
成されている。
優先最適化手段22と、面積優先最適化手段23と、適
用回数更新手段24と、ルールソート手段25とから構
成されている。
【0048】ルール分離手段21は、最適化ルールベー
ス36に格納されているルールの内、遅延優先モードの
ルールを遅延優先ルールベース38に格納し、面積優先
モードのルールを面積優先ルールベース39に格納する
機能を有する。
ス36に格納されているルールの内、遅延優先モードの
ルールを遅延優先ルールベース38に格納し、面積優先
モードのルールを面積優先ルールベース39に格納する
機能を有する。
【0049】遅延優先最適化手段22は、最適化を行な
う論理回路中の各パスの内、出力端子表37によって遅
延優先の最適化を行なうことが示されているパスに対し
て、パスの遅延時間が遅延目標記憶部33に格納されて
いる遅延目標値をクリアするまで、遅延優先ルールベー
ス38に格納されているルールの内、適用可能なルール
を適用して最適化を行なう機能と、或る論理回路に対す
る最適化を開始する時、目標達成表32及び遅延優先ル
ール適用回数表40に対する初期化処理を行なう機能
と、遅延優先ルールベース38中のルールを適用する毎
に遅延優先ルール適用回数表40を更新する機能とを有
する。
う論理回路中の各パスの内、出力端子表37によって遅
延優先の最適化を行なうことが示されているパスに対し
て、パスの遅延時間が遅延目標記憶部33に格納されて
いる遅延目標値をクリアするまで、遅延優先ルールベー
ス38に格納されているルールの内、適用可能なルール
を適用して最適化を行なう機能と、或る論理回路に対す
る最適化を開始する時、目標達成表32及び遅延優先ル
ール適用回数表40に対する初期化処理を行なう機能
と、遅延優先ルールベース38中のルールを適用する毎
に遅延優先ルール適用回数表40を更新する機能とを有
する。
【0050】面積優先最適化手段23は、最適化を行な
う論理回路中の各パスの内、出力端子表37によって面
積優先の最適化を行なうことが示されているパスに対し
て、論理回路の面積が面積目標記憶部34に格納されて
いる面積目標値をクリアするまで、面積優先ルールベー
ス39に格納されているルールの内、適用可能なルール
を適用して最適化を行なう機能と、或る論理回路に対す
る最適化処理を開始する時、面積優先ルールベース39
に対する初期化処理を行なう機能と、面積優先ルールベ
ース39中のルールを適用する毎に面積優先ルール適用
回数表41を更新する機能とを有する。
う論理回路中の各パスの内、出力端子表37によって面
積優先の最適化を行なうことが示されているパスに対し
て、論理回路の面積が面積目標記憶部34に格納されて
いる面積目標値をクリアするまで、面積優先ルールベー
ス39に格納されているルールの内、適用可能なルール
を適用して最適化を行なう機能と、或る論理回路に対す
る最適化処理を開始する時、面積優先ルールベース39
に対する初期化処理を行なう機能と、面積優先ルールベ
ース39中のルールを適用する毎に面積優先ルール適用
回数表41を更新する機能とを有する。
【0051】適用回数更新手段24は、或る論理回路に
対する最適化処理が終了した時、遅延優先ルール適用回
数表40,面積優先ルール適用回数表41に格納されて
いるテンポラリな適用回数を用いてルール適用回数表4
2を更新する機能を有する。
対する最適化処理が終了した時、遅延優先ルール適用回
数表40,面積優先ルール適用回数表41に格納されて
いるテンポラリな適用回数を用いてルール適用回数表4
2を更新する機能を有する。
【0052】ルールソート手段25は、ルール適用回数
表42に格納されている各ルールの適用回数に基づい
て、最適化ルールベース36に蓄積されている各ルール
を適用回数が多い順にソートする機能を有する。
表42に格納されている各ルールの適用回数に基づい
て、最適化ルールベース36に蓄積されている各ルール
を適用回数が多い順にソートする機能を有する。
【0053】図5はルール分離手段21の処理例を示す
流れ図、図6及び図7は遅延優先最適化手段22の処理
例を示す流れ図、図8及び図9は面積優先最適化手段2
3の処理例を示す流れ図、図10は適用回数更新手段2
4の処理例を示す流れ図、図11はルールソート手段2
5の処理例を示す流れ図であり、以下各図を参照して本
実施例の動作を説明する。
流れ図、図6及び図7は遅延優先最適化手段22の処理
例を示す流れ図、図8及び図9は面積優先最適化手段2
3の処理例を示す流れ図、図10は適用回数更新手段2
4の処理例を示す流れ図、図11はルールソート手段2
5の処理例を示す流れ図であり、以下各図を参照して本
実施例の動作を説明する。
【0054】利用者は、論理回路の最適化を行なう場
合、入力部1を用いて上記論理回路の接続情報を接続情
報記憶部35に格納し、遅延目標値を遅延目標記憶部3
3に格納し、面積目標値を面積目標記憶部34に格納
し、上記論理回路の各出力端子に対応するパスが遅延優
先の最適化を行なうものなのか面積優先の最適化を行な
うものなのかを示す情報を出力端子表37に格納する。
合、入力部1を用いて上記論理回路の接続情報を接続情
報記憶部35に格納し、遅延目標値を遅延目標記憶部3
3に格納し、面積目標値を面積目標記憶部34に格納
し、上記論理回路の各出力端子に対応するパスが遅延優
先の最適化を行なうものなのか面積優先の最適化を行な
うものなのかを示す情報を出力端子表37に格納する。
【0055】次いで、利用者は、入力部1を用いてルー
ル分離手段21に遅延優先の最適化のためだけに使用す
るルール及び面積優先の最適化のためだけに使用するル
ールを示す情報を入力し、その後、ルール分離手段21
を起動する。
ル分離手段21に遅延優先の最適化のためだけに使用す
るルール及び面積優先の最適化のためだけに使用するル
ールを示す情報を入力し、その後、ルール分離手段21
を起動する。
【0056】ルール分離手段21は、起動されると、図
5に示すように、最適化ルールベース36に蓄積されて
いるルールの内、遅延優先の最適化のためだけに使用す
ることが指定されたルール及び遅延優先の最適化のため
だけに使用することも面積優先の最適化のためだけに使
用することも指定されていないルール(遅延優先モード
のルール)を、最適化ルールベース36に蓄積されてい
る順序で遅延優先ルールベース38に格納する (ステッ
プS1)。
5に示すように、最適化ルールベース36に蓄積されて
いるルールの内、遅延優先の最適化のためだけに使用す
ることが指定されたルール及び遅延優先の最適化のため
だけに使用することも面積優先の最適化のためだけに使
用することも指定されていないルール(遅延優先モード
のルール)を、最適化ルールベース36に蓄積されてい
る順序で遅延優先ルールベース38に格納する (ステッ
プS1)。
【0057】次いで、ルール分離手段21は、最適化ル
ールベース36に蓄積されているルールの内、面積優先
の最適化のためだけに使用することが指定されたルール
及び遅延優先の最適化のためだけに使用することも面積
優先の最適化のためだけに使用することも指定されてい
ないルール(面積優先モードのルール)を、最適化ルー
ルベース36に蓄積されている順序で面積優先ルールベ
ース39に格納する (ステップS2)。
ールベース36に蓄積されているルールの内、面積優先
の最適化のためだけに使用することが指定されたルール
及び遅延優先の最適化のためだけに使用することも面積
優先の最適化のためだけに使用することも指定されてい
ないルール(面積優先モードのルール)を、最適化ルー
ルベース36に蓄積されている順序で面積優先ルールベ
ース39に格納する (ステップS2)。
【0058】ここで、最適化ルールベース36中のルー
ルは、ルールソート手段25によって適用回数の多い順
にソートされているので、遅延優先ルールベース38,
面積優先ルールベース39中のルールも適用回数の多い
順にソートされた形になる。
ルは、ルールソート手段25によって適用回数の多い順
にソートされているので、遅延優先ルールベース38,
面積優先ルールベース39中のルールも適用回数の多い
順にソートされた形になる。
【0059】ルール分離手段21の処理が終了すると、
遅延優先最適化手段22は、遅延優先ルールベース38
に格納されているルールの何番目のルールに注目するの
かを示す変数iを「1」にする(図6,ステップS1
1)。
遅延優先最適化手段22は、遅延優先ルールベース38
に格納されているルールの何番目のルールに注目するの
かを示す変数iを「1」にする(図6,ステップS1
1)。
【0060】次いで、遅延優先最適化手段22は、遅延
優先ルール適用回数表40に格納されている各ルールの
適用回数を全て「0」にすると共に、目標達成表32に
格納されている、遅延目標値をクリアしたか否かを示す
クリア情報を全て“0”(クリアしていないことを示
す)にする (ステップS12)。
優先ルール適用回数表40に格納されている各ルールの
適用回数を全て「0」にすると共に、目標達成表32に
格納されている、遅延目標値をクリアしたか否かを示す
クリア情報を全て“0”(クリアしていないことを示
す)にする (ステップS12)。
【0061】その後、遅延優先最適化手段22は、遅延
優先ルールベース38の第i番目のルールに注目し (ス
テップS13)、ルールが終了している場合 (ステップ
S14がYES)はその処理を終了する。
優先ルールベース38の第i番目のルールに注目し (ス
テップS13)、ルールが終了している場合 (ステップ
S14がYES)はその処理を終了する。
【0062】また、ルールが終了していなければ (ステ
ップS14がNO)、遅延優先最適化手段22は、最適
化の対象としている論理回路の何番目の出力端子に注目
するのかを示す変数jを「1」にする (ステップS1
5)。
ップS14がNO)、遅延優先最適化手段22は、最適
化の対象としている論理回路の何番目の出力端子に注目
するのかを示す変数jを「1」にする (ステップS1
5)。
【0063】その後、遅延優先最適化手段22は、第j
番目の出力端子に注目し (図7,ステップS16)、出
力端子が終了していなければ (ステップS17がN
O)、第j番目の出力端子が遅延優先の最適化を行なう
パスに対応するものであるか否かを出力端子表37の内
容に基づいて判断する (ステップS20)。
番目の出力端子に注目し (図7,ステップS16)、出
力端子が終了していなければ (ステップS17がN
O)、第j番目の出力端子が遅延優先の最適化を行なう
パスに対応するものであるか否かを出力端子表37の内
容に基づいて判断する (ステップS20)。
【0064】第j番目の出力端子が遅延優先の最適化を
行なうパスに対応するものでないと判断した場合 (ステ
ップS20がNO)は、変数jを+1し (ステップS2
9)、次の出力端子に注目する (ステップS16)。
行なうパスに対応するものでないと判断した場合 (ステ
ップS20がNO)は、変数jを+1し (ステップS2
9)、次の出力端子に注目する (ステップS16)。
【0065】また、第j番目の出力端子が遅延優先の最
適化を行なうパスに対応するものであると判断した場合
(ステップS20がYES)は、目標達成表32を参照
して上記パスが既に遅延目標値をクリアしているか否か
を判断する (ステップS21)。
適化を行なうパスに対応するものであると判断した場合
(ステップS20がYES)は、目標達成表32を参照
して上記パスが既に遅延目標値をクリアしているか否か
を判断する (ステップS21)。
【0066】そして、クリアしていると判断した場合
(ステップS21がYES)は、ステップS29の処理
を行ない、クリアしていないと判断した場合 (ステップ
S21がNO)は、第j番目の出力端子から入力端子に
向かってパストレースを行ない(ステップS22)、ト
レースしたパス中に第i番目のルールを適用できる部分
があるか否かを判断する (ステップS23)。
(ステップS21がYES)は、ステップS29の処理
を行ない、クリアしていないと判断した場合 (ステップ
S21がNO)は、第j番目の出力端子から入力端子に
向かってパストレースを行ない(ステップS22)、ト
レースしたパス中に第i番目のルールを適用できる部分
があるか否かを判断する (ステップS23)。
【0067】第i番目のルールを適用できる部分がない
と判断した場合 (ステップS23がNO)は、遅延優先
最適化手段22はステップS29の処理を行ない、適用
できる部分があると判断した場合 (ステップS23がY
ES)は、第i番目のルールに従って素子の置き換え
(変換)を行なう (ステップS24)。
と判断した場合 (ステップS23がNO)は、遅延優先
最適化手段22はステップS29の処理を行ない、適用
できる部分があると判断した場合 (ステップS23がY
ES)は、第i番目のルールに従って素子の置き換え
(変換)を行なう (ステップS24)。
【0068】ステップS24の処理が終了すると、遅延
優先最適化手段22は、遅延優先ルール適用回数表40
に格納されている第i番目のルールの適用回数を更新す
る (ステップS25)。ここで、上記パスに第i番目の
ルールを適用できる部分がk箇所存在する場合は、遅延
優先最適化手段22は、遅延優先ルール適用回数表40
に格納されている第i番目のルールの適用回数を+kす
る。
優先最適化手段22は、遅延優先ルール適用回数表40
に格納されている第i番目のルールの適用回数を更新す
る (ステップS25)。ここで、上記パスに第i番目の
ルールを適用できる部分がk箇所存在する場合は、遅延
優先最適化手段22は、遅延優先ルール適用回数表40
に格納されている第i番目のルールの適用回数を+kす
る。
【0069】その後、遅延優先最適化手段22は、ライ
ブラリ31に格納されている各素子の遅延時間に基づい
て、第j番目の出力端子から入力端子に至るまでの各パ
スの遅延時間を見積もり (ステップS26)、その全て
が遅延目標記憶部33に格納されている遅延目標値をク
リアしているか否かを判断する (ステップS27)。
ブラリ31に格納されている各素子の遅延時間に基づい
て、第j番目の出力端子から入力端子に至るまでの各パ
スの遅延時間を見積もり (ステップS26)、その全て
が遅延目標記憶部33に格納されている遅延目標値をク
リアしているか否かを判断する (ステップS27)。
【0070】ステップS27で遅延目標値をクリアして
いないパスが存在すると判断した場合(判断結果がN
O)は、遅延優先最適化手段22は、ステップS29の
処理を行ない、全てのパスが遅延目標値をクリアしてい
ると判断した場合(判断結果がYES)は、目標達成表
32の第j番目の出力端子に対応するクリア情報を
“1”(遅延目標値をクリアしたことを示す)にした後
(ステップS28)、次の出力端子に注目する (ステッ
プS29,S16)。
いないパスが存在すると判断した場合(判断結果がN
O)は、遅延優先最適化手段22は、ステップS29の
処理を行ない、全てのパスが遅延目標値をクリアしてい
ると判断した場合(判断結果がYES)は、目標達成表
32の第j番目の出力端子に対応するクリア情報を
“1”(遅延目標値をクリアしたことを示す)にした後
(ステップS28)、次の出力端子に注目する (ステッ
プS29,S16)。
【0071】以下、前述したと同様の処理を全ての出力
端子に対して行ない、全ての出力端子に対して前述した
処理を行なうと (ステップS17がYES)、遅延優先
最適化手段22は、目標達成表32を参照して全ての出
力端子に対応するパスが遅延目標値を達成しているか否
かを判断する (ステップS18)。
端子に対して行ない、全ての出力端子に対して前述した
処理を行なうと (ステップS17がYES)、遅延優先
最適化手段22は、目標達成表32を参照して全ての出
力端子に対応するパスが遅延目標値を達成しているか否
かを判断する (ステップS18)。
【0072】そして、全ての出力端子に対応するパスが
遅延目標値を達成していると判断した場合 (ステップS
18がYES)は、遅延優先最適化手段22は、その処
理を終了し、達成していないと判断した場合 (ステップ
S18がNO)は、遅延優先ルールベース38に格納さ
れている次のルールに注目し(図7ステップS19,図
6ステップS13)、前述したと同様の処理を行なう。
遅延目標値を達成していると判断した場合 (ステップS
18がYES)は、遅延優先最適化手段22は、その処
理を終了し、達成していないと判断した場合 (ステップ
S18がNO)は、遅延優先ルールベース38に格納さ
れている次のルールに注目し(図7ステップS19,図
6ステップS13)、前述したと同様の処理を行なう。
【0073】遅延優先最適化手段22の処理が終了する
と、面積優先最適化手段23は、面積優先ルールベース
39に格納されているルールの何番目のルールに注目す
るのかを示す変数mを「1」にし (図8,ステップS3
1)、その後、面積優先ルール適用回数表41に格納さ
れている各ルールの適用回数を全て「0」にする (ステ
ップS32)。
と、面積優先最適化手段23は、面積優先ルールベース
39に格納されているルールの何番目のルールに注目す
るのかを示す変数mを「1」にし (図8,ステップS3
1)、その後、面積優先ルール適用回数表41に格納さ
れている各ルールの適用回数を全て「0」にする (ステ
ップS32)。
【0074】次いで、面積優先最適化手段23は、面積
優先ルールベース39に格納されているルールの内の第
m番目のルールに注目し (ステップS33)、ルールが
終了している場合 (ステップS34がYES)はその処
理を終了し、ルールが終了していない場合(ステップS
34がNO)は最適化の対象とする論理回路の何番目の
出力端子に注目するのかを示す変数nを「1」にする
(ステップS35)。
優先ルールベース39に格納されているルールの内の第
m番目のルールに注目し (ステップS33)、ルールが
終了している場合 (ステップS34がYES)はその処
理を終了し、ルールが終了していない場合(ステップS
34がNO)は最適化の対象とする論理回路の何番目の
出力端子に注目するのかを示す変数nを「1」にする
(ステップS35)。
【0075】その後、面積優先最適化手段23は、第n
番目の出力端子に注目し (図9,ステップS36)、出
力端子が終了していなければ (ステップS37がN
O)、第n番目の出力端子が面積優先の最適化を行なう
パスに対応するものであるか否かを出力端子表37の内
容に基づいて判断する (ステップS41)。
番目の出力端子に注目し (図9,ステップS36)、出
力端子が終了していなければ (ステップS37がN
O)、第n番目の出力端子が面積優先の最適化を行なう
パスに対応するものであるか否かを出力端子表37の内
容に基づいて判断する (ステップS41)。
【0076】そして、第n番目の出力端子が面積優先の
最適化を行なうパスに対応するものでないと判断した場
合 (ステップS41がNO)は、次の出力端子に注目す
る (ステップS46,S36)。
最適化を行なうパスに対応するものでないと判断した場
合 (ステップS41がNO)は、次の出力端子に注目す
る (ステップS46,S36)。
【0077】また、第n番目の出力端子が面積優先の最
適化を行なうパスに対応するものであると判断した場合
(ステップS41がYES)は、第n番目の出力端子か
ら入力端子に向かってパストレースを行ない (ステップ
S42)、トレースしたパス中に第m番目のルールを適
用できる部分が存在するか否かを判断する (ステップS
43)。
適化を行なうパスに対応するものであると判断した場合
(ステップS41がYES)は、第n番目の出力端子か
ら入力端子に向かってパストレースを行ない (ステップ
S42)、トレースしたパス中に第m番目のルールを適
用できる部分が存在するか否かを判断する (ステップS
43)。
【0078】そして、第m番目のルールを適用できる部
分がないと判断した場合 (ステップS43がNO)は、
面積優先最適化手段23は、次の出力端子に注目し (ス
テップS46,S36)、適用できる部分があると判断
した場合 (ステップS43がYES)は、第m番目のル
ールに従って素子の変換を行なう (ステップS44)。
分がないと判断した場合 (ステップS43がNO)は、
面積優先最適化手段23は、次の出力端子に注目し (ス
テップS46,S36)、適用できる部分があると判断
した場合 (ステップS43がYES)は、第m番目のル
ールに従って素子の変換を行なう (ステップS44)。
【0079】ステップS44の処理が終了すると、面積
優先最適化手段23は、面積優先ルール適用回数表41
に格納されている第m番目のルールの適用回数を更新し
た後(ステップS45)、次の出力端子に注目する (ス
テップS46,S36)。
優先最適化手段23は、面積優先ルール適用回数表41
に格納されている第m番目のルールの適用回数を更新し
た後(ステップS45)、次の出力端子に注目する (ス
テップS46,S36)。
【0080】全ての出力端子に対して前述した処理を行
なうと (ステップS37がYES)、面積優先最適化手
段23は、ライブラリ31に格納されている各素子の面
積を示す情報に基づいて現段階に於ける論理回路の面積
を見積もる (ステップS38)。
なうと (ステップS37がYES)、面積優先最適化手
段23は、ライブラリ31に格納されている各素子の面
積を示す情報に基づいて現段階に於ける論理回路の面積
を見積もる (ステップS38)。
【0081】そして、面積の見積もりが、面積目標記憶
部34に格納されている面積目標値を達成している場合
(ステップS39がYES)は、その処理を終了し、達
成していない場合 (ステップS39がNO)は、次のル
ールに注目し (図9ステップS40,図8ステップS3
3)、前述したと同様の処理を行なう。
部34に格納されている面積目標値を達成している場合
(ステップS39がYES)は、その処理を終了し、達
成していない場合 (ステップS39がNO)は、次のル
ールに注目し (図9ステップS40,図8ステップS3
3)、前述したと同様の処理を行なう。
【0082】面積優先最適化手段23の処理が終了する
と、適用回数更新手段24は、図10に示すように、遅
延優先ルール適用回数表40,面積優先ルール適用回数
表41に格納されている各ルールのテンポラリな適用回
数を取得し (ステップS51,S52)、取得したテン
ポラリな適用回数をルール適用回数表42中の対応する
ルールの適用回数に加算する (ステップS53)。
と、適用回数更新手段24は、図10に示すように、遅
延優先ルール適用回数表40,面積優先ルール適用回数
表41に格納されている各ルールのテンポラリな適用回
数を取得し (ステップS51,S52)、取得したテン
ポラリな適用回数をルール適用回数表42中の対応する
ルールの適用回数に加算する (ステップS53)。
【0083】適用回数更新手段24の処理が終了する
と、ルールソート手段25は、図11に示すように、ル
ール適用回数表42から各ルールの適用回数を取得し
(ステップS61)、最適化ルールベース36に蓄積さ
れているルールを適用回数が多い順にソートする (ステ
ップS62)。
と、ルールソート手段25は、図11に示すように、ル
ール適用回数表42から各ルールの適用回数を取得し
(ステップS61)、最適化ルールベース36に蓄積さ
れているルールを適用回数が多い順にソートする (ステ
ップS62)。
【0084】尚、上述した実施例に於いては、ルール分
離手段21を用いて最適化ルールベース36に蓄積され
ている遅延優先モードのルール,面積優先モードのルー
ルをそれぞれ遅延優先ルールベース38,面積優先ルー
ルベース39に格納し、遅延優先最適化手段22,面積
優先最適化手段23でそれぞれ遅延優先ルールベース3
8,面積優先ルールベース39に格納されているルール
を用いて最適化を行なうようにしたが、最適化ルールベ
ース36に蓄積されているルールを遅延優先ルールベー
ス38,面積優先ルールベース39に分離せずに、遅延
優先最適化手段22,面積優先最適化手段23で最適化
ルールベース36に蓄積されているルールを用いて最適
化を行なうようにしても良いことは勿論である。
離手段21を用いて最適化ルールベース36に蓄積され
ている遅延優先モードのルール,面積優先モードのルー
ルをそれぞれ遅延優先ルールベース38,面積優先ルー
ルベース39に格納し、遅延優先最適化手段22,面積
優先最適化手段23でそれぞれ遅延優先ルールベース3
8,面積優先ルールベース39に格納されているルール
を用いて最適化を行なうようにしたが、最適化ルールベ
ース36に蓄積されているルールを遅延優先ルールベー
ス38,面積優先ルールベース39に分離せずに、遅延
優先最適化手段22,面積優先最適化手段23で最適化
ルールベース36に蓄積されているルールを用いて最適
化を行なうようにしても良いことは勿論である。
【0085】しかし、実施例のように、最適化ルールベ
ース36に蓄積されているルールを遅延優先ルールベー
ス38,面積優先ルールベース39に分離し、遅延優先
最適化手段22,面積優先最適化手段23でそれぞれ遅
延優先ルールベース38,面積優先ルールベース39に
蓄積されているルールを使用して最適化を行なう方がル
ールの参照回数が少なくなるので、処理が高速になる。
ース36に蓄積されているルールを遅延優先ルールベー
ス38,面積優先ルールベース39に分離し、遅延優先
最適化手段22,面積優先最適化手段23でそれぞれ遅
延優先ルールベース38,面積優先ルールベース39に
蓄積されているルールを使用して最適化を行なう方がル
ールの参照回数が少なくなるので、処理が高速になる。
【0086】
【発明の効果】以上説明したように、本発明によれば、
以下の効果を得ることができる。
以下の効果を得ることができる。
【0087】最適化ルールベースに蓄積されているルー
ルはルールソート手段によって適用回数順にソートされ
ており、最適化手段は、最適化ルールベース中のルール
を蓄積順に評価して最適化の対象とする論理回路に対し
て適用可能なルールであれば該ルールを適用して最適化
する処理を、最適化目標値をクリアするまで続けるの
で、最適化目標値をクリアするまでに評価するルールの
数が従来に比較して少なくなり、その結果、処理速度を
高速化することが可能になる。
ルはルールソート手段によって適用回数順にソートされ
ており、最適化手段は、最適化ルールベース中のルール
を蓄積順に評価して最適化の対象とする論理回路に対し
て適用可能なルールであれば該ルールを適用して最適化
する処理を、最適化目標値をクリアするまで続けるの
で、最適化目標値をクリアするまでに評価するルールの
数が従来に比較して少なくなり、その結果、処理速度を
高速化することが可能になる。
【0088】最適化の対象とする論理回路の各出力端子
が遅延優先のものなのか、面積優先のものなのかを示す
出力端子表を備え、先ず、出力端子表で遅延優先である
ことを示されている出力端子に対して遅延優先最適化手
段を用いて最適化を行ない、その後、面積優先であるこ
とが示されている出力端子に対して面積優先最適化手段
を用いて最適化を行なうものであるので、遅延制約が厳
しい論理回路の最適化がやりやすくなる効果があると共
に、遅延制約が厳しい論理回路であっても遅延制約の必
要のないパスが存在する論理回路については、規模を従
来に比較して小さくすることができる効果がある。
が遅延優先のものなのか、面積優先のものなのかを示す
出力端子表を備え、先ず、出力端子表で遅延優先である
ことを示されている出力端子に対して遅延優先最適化手
段を用いて最適化を行ない、その後、面積優先であるこ
とが示されている出力端子に対して面積優先最適化手段
を用いて最適化を行なうものであるので、遅延制約が厳
しい論理回路の最適化がやりやすくなる効果があると共
に、遅延制約が厳しい論理回路であっても遅延制約の必
要のないパスが存在する論理回路については、規模を従
来に比較して小さくすることができる効果がある。
【0089】ルール分離手段により、最適化ルールベー
ス中のルールの内、遅延優先モードのルールを遅延優先
ルールベースに格納し、面積優先モードのルールを面積
優先ルールベースに格納し、遅延優先最適化手段,面積
優先最適化手段は、それぞれ遅延優先ルールベース,面
積優先ルールベース中のルールを用いて最適化を行なう
ので、最適化ルールベースを用いて最適化を行なう場合
に比較して遅延優先最適化手段,面積優先最適化手段で
評価するルールの数が少なくなり、その結果、処理をよ
り高速化することが可能になる効果がある。
ス中のルールの内、遅延優先モードのルールを遅延優先
ルールベースに格納し、面積優先モードのルールを面積
優先ルールベースに格納し、遅延優先最適化手段,面積
優先最適化手段は、それぞれ遅延優先ルールベース,面
積優先ルールベース中のルールを用いて最適化を行なう
ので、最適化ルールベースを用いて最適化を行なう場合
に比較して遅延優先最適化手段,面積優先最適化手段で
評価するルールの数が少なくなり、その結果、処理をよ
り高速化することが可能になる効果がある。
【図1】本発明の実施例のブロック図である。
【図2】ルール適用回数表42の構成例を示す図であ
る。
る。
【図3】目標達成表32の構成例を示す図である。
【図4】出力端子表37の構成例を示す図である。
【図5】ルール分離手段21の処理例を示す流れ図であ
る。
る。
【図6】遅延優先最適化手段22の処理例を示す流れ図
である。
である。
【図7】遅延優先最適化手段22の処理例を示す流れ図
である。
である。
【図8】面積優先最適化手段23の処理例を示す流れ図
である。
である。
【図9】面積優先最適化手段23の処理例を示す流れ図
である。
である。
【図10】適用回数更新手段24の処理例を示す流れ図
である。
である。
【図11】ルールソート手段25の処理例を示す流れ図
である。
である。
【図12】最適化処理を説明するための図である。
【図13】最適化処理を説明するための図である。
【図14】最適化処理を説明するための図である。
【図15】最適化処理を説明するための図である。
【図16】従来例のブロック図である。
【図17】論理最適化手段162の処理例を示す流れ図
である。
である。
【図18】最適化ルールベース166の構成例を示す図
である。
である。
1…入力部 2…制御部 21…ルール分離手段 22…遅延優先最適化手段 23…面積優先最適化手段 24…適用回数更新手段 25…ルールソート手段 3…記憶部 31…ライブラリ 32…目標達成表 33…遅延目標記憶部 34…面積目標記憶部 35…接続情報記憶部 36…最適化ルールベース 37…出力端子表 38…遅延優先ルールベース 39…面積優先ルールベース 40…遅延優先ルール適用回数表 41…面積優先ルール適用回数表 42…ルール適用回数表 4…出力部
Claims (4)
- 【請求項1】 論理最適化を行なうためのルールが蓄積
された最適化ルールベースと、 前記最適化ルールベースに蓄積されているルールをその
蓄積順に評価して、最適化の対象とする論理回路に対し
て適用可能なルールであれば該ルールを適用して最適化
する処理を、最適化目標値をクリアするまで続ける最適
化手段と、 前記最適化ルールベースに蓄積されているルールを適用
回数順にソートするルールソート手段とを備えたことを
特徴とする論理最適化装置。 - 【請求項2】 最適化の対象とする論理回路の各出力端
子が、遅延優先の最適化を行なう出力端子か、面積優先
の最適化を行なう出力端子かを示す情報が格納される出
力端子表と、 前記最適化ルールベースに蓄積されているルールをその
蓄積順に評価して、最適化の対象とする論理回路中の各
パスの内、前記出力端子表に遅延優先の最適化を行なう
ことを示す情報が格納されている出力端子に対応する各
パスに対して、適用可能なルールであれば該ルールを適
用して最適化する処理を、パスの遅延時間が遅延目標値
をクリアするまで続ける前記最適化手段に含まれる遅延
優先最適化手段と、 該遅延優先最適化手段による最適化が行なわれた後、前
記最適化ルールベースに蓄積されているルールをその蓄
積順に評価して最適化の対象とする論理回路中の各パス
の内、前記出力端子表に面積優先の最適化を行なうこと
を示す情報が格納されている出力端子に対応する各パス
に対して適用可能なルールであれば該ルールを適用して
最適化する処理を、前記論理回路の面積が面積目標値を
クリアするまで続ける前記最適化手段に含まれる面積優
先最適化手段とを備えたことを特徴とする請求項1記載
の論理最適化装置。 - 【請求項3】 遅延優先ルールベースと、 面積優先ルールベースと、 前記最適化ルールベースに蓄積されているルールの内、
遅延優先モードのルールを前記最適化ルールベースに蓄
積されている順序で前記遅延優先ルールベースに格納
し、面積優先モードのルールを前記最適化ルールベース
に蓄積されている順序で前記面積優先ルールベースに蓄
積するルール分離手段とを備え、 前記遅延優先最適化手段及び前記面積優先最適化手段
は、それぞれ前記遅延優先ルールベース及び面積優先ル
ールベースを通じて前記最適化ルールベース中のルール
を読み込むことを特徴とする請求項2記載の論理最適化
装置。 - 【請求項4】 前記遅延優先最適化手段によって前記遅
延優先ルールベースに蓄積されているルールが適用され
た回数を保持する遅延優先ルール適用回数表と、 前記面積優先最適化手段によって前記面積優先ルールベ
ースに蓄積されているルールが適用された回数を保持す
る面積優先ルール適用回数表と、 ルール適用回数表と、 最適化の対象とする論理回路に対する最適化処理の終了
毎に、前記遅延優先ルール適用回数表及び前記面積優先
ルール適用回数表の内容に基づいて前記ルール適用回数
表を更新する適用回数更新手段とを備え、 前記ルールソート手段は、前記ルール適用回数表を参照
して前記最適化ルールベースに蓄積されているルールを
適用回数順にソートすることを特徴とする請求項3記載
の論理最適化装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5294039A JP2636709B2 (ja) | 1993-10-29 | 1993-10-29 | 論理最適化装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5294039A JP2636709B2 (ja) | 1993-10-29 | 1993-10-29 | 論理最適化装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07129657A true JPH07129657A (ja) | 1995-05-19 |
| JP2636709B2 JP2636709B2 (ja) | 1997-07-30 |
Family
ID=17802484
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5294039A Expired - Lifetime JP2636709B2 (ja) | 1993-10-29 | 1993-10-29 | 論理最適化装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2636709B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001037148A1 (en) * | 1999-11-18 | 2001-05-25 | Matsushita Electric Industrial Co. Ltd. | Ip base lsi designing system and designing method |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS634333A (ja) * | 1986-06-24 | 1988-01-09 | Toshiba Corp | エキスパ−トシステム |
| JPS6418879A (en) * | 1987-07-14 | 1989-01-23 | Hitachi Ltd | Production system |
| JPH04153780A (ja) * | 1990-10-17 | 1992-05-27 | Sharp Corp | 論理回路の合成方法 |
| JPH05101134A (ja) * | 1991-10-03 | 1993-04-23 | Nec Corp | 論理回路の遅延時間最適化方式 |
-
1993
- 1993-10-29 JP JP5294039A patent/JP2636709B2/ja not_active Expired - Lifetime
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS634333A (ja) * | 1986-06-24 | 1988-01-09 | Toshiba Corp | エキスパ−トシステム |
| JPS6418879A (en) * | 1987-07-14 | 1989-01-23 | Hitachi Ltd | Production system |
| JPH04153780A (ja) * | 1990-10-17 | 1992-05-27 | Sharp Corp | 論理回路の合成方法 |
| JPH05101134A (ja) * | 1991-10-03 | 1993-04-23 | Nec Corp | 論理回路の遅延時間最適化方式 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001037148A1 (en) * | 1999-11-18 | 2001-05-25 | Matsushita Electric Industrial Co. Ltd. | Ip base lsi designing system and designing method |
| US6961913B1 (en) | 1999-11-18 | 2005-11-01 | Matsushita Electric Industrial Co., Ltd. | IP base LSI designing system and designing method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2636709B2 (ja) | 1997-07-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5574893A (en) | Computer logic simulation with dynamic modeling | |
| US5333032A (en) | Logic design system and method in the same | |
| KR102104316B1 (ko) | 뉴스를 분석하여 기업의 주가를 예측하는 장치 및 이의 동작 방법 | |
| CN117556263B (zh) | 样本构建方法、代码生成方法、电子设备及存储介质 | |
| US20030140324A1 (en) | Functional timing analysis for characterization of virtual component blocks | |
| CN111966334A (zh) | 一种业务处理方法、装置及设备 | |
| Peng et al. | Representing ordinal preferences in the decision support system GMCR II | |
| CN108334626B (zh) | 新闻栏目的生成方法、装置和计算机设备 | |
| JPH07129657A (ja) | 論理最適化装置 | |
| US6412096B1 (en) | Method and apparatus for a hedge analysis technique for performance improvements of large scale integrated circuit logic design | |
| US6167556A (en) | System for logic extraction from a layout database | |
| JP5309354B2 (ja) | 高速パターンマッチング装置の探索方法 | |
| US5542091A (en) | Device for selecting and rearranging data based on arithmetic operation | |
| JP7624462B2 (ja) | 触感効果管理方法、装置、電子デバイス及び媒体 | |
| JPH10134084A (ja) | データ処理装置 | |
| JP2856141B2 (ja) | 遅延情報処理方法及び遅延情報処理装置 | |
| Murphy et al. | A mathematical programming approach to the scheduling of sorting operations | |
| JP5387371B2 (ja) | トライ木分類プログラムおよびトライ木分類方法 | |
| JPH07239860A (ja) | データ管理装置 | |
| US8136061B2 (en) | Method of logic circuit synthesis and design using a dynamic circuit library | |
| JPH03259329A (ja) | 大容量データのキー相対アドレス分類方式 | |
| JP3192415B2 (ja) | 文生成方式 | |
| JP2519336B2 (ja) | テクノロジ―マッピング方式 | |
| JP3293544B2 (ja) | 補助記憶装置を用いたソート方式 | |
| JPS6136867A (ja) | 情報検索装置 |