JPH09212533A - 論理回路の最適化装置及びその方法 - Google Patents
論理回路の最適化装置及びその方法Info
- Publication number
- JPH09212533A JPH09212533A JP8014049A JP1404996A JPH09212533A JP H09212533 A JPH09212533 A JP H09212533A JP 8014049 A JP8014049 A JP 8014049A JP 1404996 A JP1404996 A JP 1404996A JP H09212533 A JPH09212533 A JP H09212533A
- Authority
- JP
- Japan
- Prior art keywords
- delay
- optimization
- circuit
- logic circuit
- constraint
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】
【課題】階層設計されたハードウェアを各階層毎に最適
化する際に階層間にまたがったクリティカルパスに対し
て、パスへの遅延制約を階層毎に適切に分配し、効率よ
く遅延最適化する。 【解決手段】各部分パスの最適化可能性に基づいて遅延
制約を各階層や配線に分配する遅延制約分配部5を備え
る。
化する際に階層間にまたがったクリティカルパスに対し
て、パスへの遅延制約を階層毎に適切に分配し、効率よ
く遅延最適化する。 【解決手段】各部分パスの最適化可能性に基づいて遅延
制約を各階層や配線に分配する遅延制約分配部5を備え
る。
Description
【0001】
【発明の属する技術分野】本発明は論理回路の最適化装
置及びその方法に関し、特に階層構造を有する論理回路
の遅延の最適化を図る論理回路の最適化装置及びその方
法に関する。
置及びその方法に関し、特に階層構造を有する論理回路
の遅延の最適化を図る論理回路の最適化装置及びその方
法に関する。
【0002】
【従来の技術】従来のこの種の論理回路の階層間をまた
がったパスの遅延の最適化方法として、特開平4−51
367号公報(文献1)記載の論理合成方法がある。
がったパスの遅延の最適化方法として、特開平4−51
367号公報(文献1)記載の論理合成方法がある。
【0003】文献1記載の従来の第1の論理回路の最適
化装置をブロックで示す図8を参照すると、この従来の
論理回路の最適化装置は、最適化対象の階層を持つ論理
回路を入力する階層回路仕様入力部1と、その回路の遅
延制約を入力する遅延制約入力部2と、入力した論理回
路および遅延制約を保存する回路データベース部3と、
回路データベース部3に保持している論理回路に対して
タイミング解析を行うタイミング解析部4と、設定され
た遅延制約に基づいて遅延の最適化を行う最適化部6
と、論理回路のターゲットライブラリを入力するライブ
ラリ入力部7と、入力したライブラリ情報を保持するラ
イブラリデータベース部8と、最適化結果の論理回路を
出力する出力部9とを備える。
化装置をブロックで示す図8を参照すると、この従来の
論理回路の最適化装置は、最適化対象の階層を持つ論理
回路を入力する階層回路仕様入力部1と、その回路の遅
延制約を入力する遅延制約入力部2と、入力した論理回
路および遅延制約を保存する回路データベース部3と、
回路データベース部3に保持している論理回路に対して
タイミング解析を行うタイミング解析部4と、設定され
た遅延制約に基づいて遅延の最適化を行う最適化部6
と、論理回路のターゲットライブラリを入力するライブ
ラリ入力部7と、入力したライブラリ情報を保持するラ
イブラリデータベース部8と、最適化結果の論理回路を
出力する出力部9とを備える。
【0004】図8を参照して従来の第1の論理回路の最
適化装置の動作について説明すると、まず、階層回路仕
様入力部1は最適化対象の論理回路を入力し、回路デー
タベース部3はこの論理回路を保存する。遅延制約入力
部2は回路全体もしくは階層毎にクロック情報,階層の
入力端子での信号の到着時刻,階層の出力端子での信号
の要求時刻などを含む遅延制約値を入力し、この遅延制
約値を回路データベース部3に保存した論理回路に付加
する。立ち上がり時刻,立ち下がり時刻,周期等を含む
クロック情報から、そのクロックで周期動作するDFF
などの記憶素子のセットアップ時間・ホールド時間を考
慮して、出力ピンにおける信号(出力信号)の到着時刻
および入力ピンにおける信号(入力信号)の要求時刻を
それぞれ算出できる。
適化装置の動作について説明すると、まず、階層回路仕
様入力部1は最適化対象の論理回路を入力し、回路デー
タベース部3はこの論理回路を保存する。遅延制約入力
部2は回路全体もしくは階層毎にクロック情報,階層の
入力端子での信号の到着時刻,階層の出力端子での信号
の要求時刻などを含む遅延制約値を入力し、この遅延制
約値を回路データベース部3に保存した論理回路に付加
する。立ち上がり時刻,立ち下がり時刻,周期等を含む
クロック情報から、そのクロックで周期動作するDFF
などの記憶素子のセットアップ時間・ホールド時間を考
慮して、出力ピンにおける信号(出力信号)の到着時刻
および入力ピンにおける信号(入力信号)の要求時刻を
それぞれ算出できる。
【0005】ライブラリ入力部7は、ターゲットライブ
ラリにおける各ブロックのタイミング解析のための情報
などから成るライブラリデータを入力し、ライブラリデ
ータベース部8はこのライブラリデータを格納する。タ
イミング解析部4は、回路全体のタイミング解析を行
う。便宜上、ここでは最大遅延時間についてのみ説明す
るが、最小遅延時間についても遅延時間の最小値を伝搬
することが違うだけで、同様の処理で算出できる。
ラリにおける各ブロックのタイミング解析のための情報
などから成るライブラリデータを入力し、ライブラリデ
ータベース部8はこのライブラリデータを格納する。タ
イミング解析部4は、回路全体のタイミング解析を行
う。便宜上、ここでは最大遅延時間についてのみ説明す
るが、最小遅延時間についても遅延時間の最小値を伝搬
することが違うだけで、同様の処理で算出できる。
【0006】階層の入力端子や記憶素子の出力ピン(以
降回路の始点と呼ぶ)に設定されている到着時刻に対し
て、ライブラリデータベース8を参照して回路中の信号
が到達するパス上のプリミティブ素子ブロックや下位階
層を参照するブロックの内部遅延時間とブロック間の配
線部分の遅延時間を加算し、出力ピン毎に各入力ピンか
らの最大値をブロックの出力ピンに到着時刻として設定
することを続け、階層の出力端子や記憶素子の入力ピン
(以降回路の終点と呼ぶ)に到達するまで到着時刻の伝
搬処理を繰り返す。この時点で各ブロックの出力ピンに
到着時刻が設定されている。
降回路の始点と呼ぶ)に設定されている到着時刻に対し
て、ライブラリデータベース8を参照して回路中の信号
が到達するパス上のプリミティブ素子ブロックや下位階
層を参照するブロックの内部遅延時間とブロック間の配
線部分の遅延時間を加算し、出力ピン毎に各入力ピンか
らの最大値をブロックの出力ピンに到着時刻として設定
することを続け、階層の出力端子や記憶素子の入力ピン
(以降回路の終点と呼ぶ)に到達するまで到着時刻の伝
搬処理を繰り返す。この時点で各ブロックの出力ピンに
到着時刻が設定されている。
【0007】ブロックが特定のターゲットライブラリに
マッピングされていれば、ライブラリデータベース部8
を参照して回路の状況とライブラリの格納値とを組み合
わせて計算できる値から、このブロックの内部遅延や配
線遅延が得られる。また、マッピングされていない場合
は、文献1でも記載しているように論理段数から遅延を
予測したり、1992年米国で発行されたTAU92予
稿集所載の論文「テクノロジインデペンデント論理式に
対する遅延予測(Delay Prediction
for Technology−Independen
t LogicEquations)」(文献2)記載
のように、組合せ回路を論理式で表現したときの論理の
複雑度やファンアウト数からブロックの内部遅延や配線
遅延時間を予測することができる。
マッピングされていれば、ライブラリデータベース部8
を参照して回路の状況とライブラリの格納値とを組み合
わせて計算できる値から、このブロックの内部遅延や配
線遅延が得られる。また、マッピングされていない場合
は、文献1でも記載しているように論理段数から遅延を
予測したり、1992年米国で発行されたTAU92予
稿集所載の論文「テクノロジインデペンデント論理式に
対する遅延予測(Delay Prediction
for Technology−Independen
t LogicEquations)」(文献2)記載
のように、組合せ回路を論理式で表現したときの論理の
複雑度やファンアウト数からブロックの内部遅延や配線
遅延時間を予測することができる。
【0008】このあと到着時刻伝搬とは逆の方向に要求
時刻を伝搬する。回路の終点に設定されている要求時刻
に対して、回路中の信号が到達するパス上のANDゲー
トやORゲート等のプリミティブ素子のみから成るプリ
ミティブブロックや下位階層を参照するブロックの内部
遅延時間とブロック間の配線部分の遅延時間を減算し、
ブロックの入力ピン・出力ピンに要求時刻を設定するこ
とを続け、回路の始点に到達するまで処理を繰り返す。
時刻を伝搬する。回路の終点に設定されている要求時刻
に対して、回路中の信号が到達するパス上のANDゲー
トやORゲート等のプリミティブ素子のみから成るプリ
ミティブブロックや下位階層を参照するブロックの内部
遅延時間とブロック間の配線部分の遅延時間を減算し、
ブロックの入力ピン・出力ピンに要求時刻を設定するこ
とを続け、回路の始点に到達するまで処理を繰り返す。
【0009】下位階層の内部遅延は、上記と同様に再帰
的にタイミング解析をすることにより算出できる。
的にタイミング解析をすることにより算出できる。
【0010】このようにして計算された要求時刻と到着
時刻の差をスラックと呼び、スラックが負の値である部
分回路は遅延制約を満たしていないことになる。その部
分回路のうち回路の始点から終点までのブロックの列を
クリティカルパスと呼ぶ。スラックが最小ブロックのみ
からなるパスを最大クリティカルパスと呼ぶ。
時刻の差をスラックと呼び、スラックが負の値である部
分回路は遅延制約を満たしていないことになる。その部
分回路のうち回路の始点から終点までのブロックの列を
クリティカルパスと呼ぶ。スラックが最小ブロックのみ
からなるパスを最大クリティカルパスと呼ぶ。
【0011】最適化部6は、クリティカルパスの遅延を
短縮するような回路の変更を行い、回路データベース部
3に格納する。全てのパス上のスラックが正の値になれ
ば、制約を満たしたことになる。
短縮するような回路の変更を行い、回路データベース部
3に格納する。全てのパス上のスラックが正の値になれ
ば、制約を満たしたことになる。
【0012】最適化結果の論理回路は出力部9から出力
される。
される。
【0013】一般に論理回路、特にLSIなどの大規模
回路を設計する際には、論理回路を特定の部分機能毎に
分割し、階層設計するのが普通である。
回路を設計する際には、論理回路を特定の部分機能毎に
分割し、階層設計するのが普通である。
【0014】階層設計した論理回路の一例を示す図9を
参照すると、トップ階層301は設計対象の論理回路全
体を表し、その中では下位参照階層302,303を参
照している。下位参照階層302の定義階層304は下
位参照階層305,306を参照している。下位参照階
層305の定義階層307は最下位階層であり、プリミ
ティブブロックのみから構成し、さらに下位の参照階層
は存在しない。
参照すると、トップ階層301は設計対象の論理回路全
体を表し、その中では下位参照階層302,303を参
照している。下位参照階層302の定義階層304は下
位参照階層305,306を参照している。下位参照階
層305の定義階層307は最下位階層であり、プリミ
ティブブロックのみから構成し、さらに下位の参照階層
は存在しない。
【0015】階層設計する理由は、大規模な論理回路を
特定の機能毎に部分回路を設計・検証でき設計効率が良
くなること、部分回路毎に別の設計者が並列で作業で
き、設計期間を短縮できること、論理合成に必要な時間
を短縮できることなどである。
特定の機能毎に部分回路を設計・検証でき設計効率が良
くなること、部分回路毎に別の設計者が並列で作業で
き、設計期間を短縮できること、論理合成に必要な時間
を短縮できることなどである。
【0016】設計に論理合成システムを利用するとき
に、最適化アルゴリムズの計算複雑度が素子数のn乗に
比例するとすると、さまざまな最適化アルゴリムズにお
いて通常はnは1よりも大きいことが知られている。す
なわち部分回路に分割することにより、一度の処理対象
回路規模が小さくなり素子数が低減するのでトータルの
処理時間は短縮できる。
に、最適化アルゴリムズの計算複雑度が素子数のn乗に
比例するとすると、さまざまな最適化アルゴリムズにお
いて通常はnは1よりも大きいことが知られている。す
なわち部分回路に分割することにより、一度の処理対象
回路規模が小さくなり素子数が低減するのでトータルの
処理時間は短縮できる。
【0017】ここで図10に示すように、階層間にまた
がるパスすなわち組合せ回路が存在するとする。上位階
層401に下位階層402,403が存在し、下位階層
402の中にはDFF404,組合せ回路405,40
6が存在し、下位階層403の中にはDFF409、組
合せ回路407、408が存在する。DFF404の出
力ピンはパスの始点となり、組合せ回路405,406
を経由して階層402の外部に出た後外層403に入
り、組合せ回路407,408を経由してDFF409
の入力ピンが終点となる。
がるパスすなわち組合せ回路が存在するとする。上位階
層401に下位階層402,403が存在し、下位階層
402の中にはDFF404,組合せ回路405,40
6が存在し、下位階層403の中にはDFF409、組
合せ回路407、408が存在する。DFF404の出
力ピンはパスの始点となり、組合せ回路405,406
を経由して階層402の外部に出た後外層403に入
り、組合せ回路407,408を経由してDFF409
の入力ピンが終点となる。
【0018】モデルの簡略化のため、DFFのセットア
ップ・ホールド時間,クロックスキュー,立い上がり・
立ち下がりの区別,最大・最小遅延,配線遅延時間など
を無視する。組合せ回路405から408の遅延時間を
それぞれ1ns,2ns,2ns,4nsとする。DF
F404の出力ピンの到着時間を0ns、DFF409
の入力ピンの要求時刻を6nsとすると、組合せ回路4
05から408の出力ピンでの到着時刻はそれぞれ、1
ns,3ns,5ns,9nsとなる。このパス上のス
ラックは全て−3nsであり、このパスに関して階層4
02,403にはそれぞれ同一遅延制約−3nsが設定
されたことになる。遅延の最適化時には各階層毎に行う
ため、例えば階層404を先に最適化すると想定する
と、3ns短縮すべき制約が設定されているため、この
階層404だけで3ns短縮できればパスの遅延制約は
満たされることになる。つまり階層402は最適化しな
くてもよいこととなる。
ップ・ホールド時間,クロックスキュー,立い上がり・
立ち下がりの区別,最大・最小遅延,配線遅延時間など
を無視する。組合せ回路405から408の遅延時間を
それぞれ1ns,2ns,2ns,4nsとする。DF
F404の出力ピンの到着時間を0ns、DFF409
の入力ピンの要求時刻を6nsとすると、組合せ回路4
05から408の出力ピンでの到着時刻はそれぞれ、1
ns,3ns,5ns,9nsとなる。このパス上のス
ラックは全て−3nsであり、このパスに関して階層4
02,403にはそれぞれ同一遅延制約−3nsが設定
されたことになる。遅延の最適化時には各階層毎に行う
ため、例えば階層404を先に最適化すると想定する
と、3ns短縮すべき制約が設定されているため、この
階層404だけで3ns短縮できればパスの遅延制約は
満たされることになる。つまり階層402は最適化しな
くてもよいこととなる。
【0019】次に、特開平4−320575公報記載の
従来の第2の論理回路の最適化方法では、最適化前に階
層を展開し、各々のクリティカルパスの遅延を最適化
し、最適化完了後元の階層構造に戻すことを行ってい
る。このように階層展開した場合は、クリティカルパス
に対してバランスのとれた、面積オーバーヘッドが少な
いなど効率の良い最適化が可能である。しかし、上述し
たように、最適化対象の回路が大規模となるため最適化
処理時間が非常に長くなり、また、最適化の結果階層の
境界のブロックが消滅し元の階層の端子を復元できない
こともある。
従来の第2の論理回路の最適化方法では、最適化前に階
層を展開し、各々のクリティカルパスの遅延を最適化
し、最適化完了後元の階層構造に戻すことを行ってい
る。このように階層展開した場合は、クリティカルパス
に対してバランスのとれた、面積オーバーヘッドが少な
いなど効率の良い最適化が可能である。しかし、上述し
たように、最適化対象の回路が大規模となるため最適化
処理時間が非常に長くなり、また、最適化の結果階層の
境界のブロックが消滅し元の階層の端子を復元できない
こともある。
【0020】
【発明が解決しようとする課題】上述した従来の第1の
論理回路の最適化装置は、遅延最適化の可能性を考慮せ
ずに階層毎に最適化を行うため、パス全体から見ると最
適化対象階層の選択順序により非常にバランスの悪い最
適化結果となり、結果として非常に面積が増大したり、
最適化処理の反復により処理時間が長くなるという欠点
があった。
論理回路の最適化装置は、遅延最適化の可能性を考慮せ
ずに階層毎に最適化を行うため、パス全体から見ると最
適化対象階層の選択順序により非常にバランスの悪い最
適化結果となり、結果として非常に面積が増大したり、
最適化処理の反復により処理時間が長くなるという欠点
があった。
【0021】また、従来の第2の論理回路の最適化装置
は、最適化対象の回路が大規模化するため最適化処理時
間が非常に長くなることと、最適化の結果階層の境界の
ブロックが消滅し元の階層の端子を復元できないことも
あるという欠点があった。
は、最適化対象の回路が大規模化するため最適化処理時
間が非常に長くなることと、最適化の結果階層の境界の
ブロックが消滅し元の階層の端子を復元できないことも
あるという欠点があった。
【0022】
【課題を解決するための手段】本発明の論理回路の最適
化装置は、階層構造を有する論理回路を入力する階層回
路仕様入力部と、前記論理回路の遅延制約を入力する遅
延制御入力部と、入力した前記論理回路および前記遅延
制約を保持する回路データベース部と、前記回路データ
ベースに保持している前記論理回路に対してタイミング
解析を行なうタイミング解析部と、前記遅延制約に基づ
いて遅延の最適化を行なう最適化部と、前記論理回路の
ターゲットのライブラリ情報を入力するライブラリ入力
部と、入力した前記ライブラリ情報を保持するライブラ
リデータベース部と、最適化結果の論理回路を出力する
出力部を備える論理回路の最適化装置において、最適化
可能性に基づいて前記遅延制約を各階層や配線に分配す
る遅延制約分配部を備えて構成されている。
化装置は、階層構造を有する論理回路を入力する階層回
路仕様入力部と、前記論理回路の遅延制約を入力する遅
延制御入力部と、入力した前記論理回路および前記遅延
制約を保持する回路データベース部と、前記回路データ
ベースに保持している前記論理回路に対してタイミング
解析を行なうタイミング解析部と、前記遅延制約に基づ
いて遅延の最適化を行なう最適化部と、前記論理回路の
ターゲットのライブラリ情報を入力するライブラリ入力
部と、入力した前記ライブラリ情報を保持するライブラ
リデータベース部と、最適化結果の論理回路を出力する
出力部を備える論理回路の最適化装置において、最適化
可能性に基づいて前記遅延制約を各階層や配線に分配す
る遅延制約分配部を備えて構成されている。
【0023】本発明の論理回路の最適化方法は、最適化
対象論理回路の全てもしくは一部分を入力論理回路とし
て入力する回路仕様入力ステップと、前記最適化論理回
路の遅延制約を前記入力論理回路に付加する遅延制約入
力ステップと、ターゲットライブラリにおける各ブロッ
クのタイミング解析用情報を含むライブラリ情報を入力
するライブラリ入力ステップと、前記入力論理回路のタ
イミング解析を行ない最適化可能性に基づいて各階層お
よび各配線に遅延制約を分配する制約分配ステップと、
前記制約分配された前記各階層に対して前記入力論理回
路を前記遅延制約に基づいて遅延最適化する遅延最適化
ステップと、前記入力論理回路の前記遅延最適化した結
果生成された最適化論理回路を出力するステップとを有
することを特徴とするものである。
対象論理回路の全てもしくは一部分を入力論理回路とし
て入力する回路仕様入力ステップと、前記最適化論理回
路の遅延制約を前記入力論理回路に付加する遅延制約入
力ステップと、ターゲットライブラリにおける各ブロッ
クのタイミング解析用情報を含むライブラリ情報を入力
するライブラリ入力ステップと、前記入力論理回路のタ
イミング解析を行ない最適化可能性に基づいて各階層お
よび各配線に遅延制約を分配する制約分配ステップと、
前記制約分配された前記各階層に対して前記入力論理回
路を前記遅延制約に基づいて遅延最適化する遅延最適化
ステップと、前記入力論理回路の前記遅延最適化した結
果生成された最適化論理回路を出力するステップとを有
することを特徴とするものである。
【0024】
【発明の実施の形態】次に本発明の第1の実施の形態を
図3と共通の構成要素には共通の参照文字/数字を付し
て同様にブロックで示す図1を参照すると、この図に示
す本実施の形態の論理回路の最適化装置は、従来と共通
の階層回路仕様入力部1と、遅延制約入力部2と、回路
データベース部3と、タイミング解析部4と、最適化部
6と、ライブラリ入力部7と、ライブラリデータベース
部8と、出力部9とに加えて、最適化可能性に基づいて
遅延制約を各階層に分配する遅延制約分配部5を備え
る。
図3と共通の構成要素には共通の参照文字/数字を付し
て同様にブロックで示す図1を参照すると、この図に示
す本実施の形態の論理回路の最適化装置は、従来と共通
の階層回路仕様入力部1と、遅延制約入力部2と、回路
データベース部3と、タイミング解析部4と、最適化部
6と、ライブラリ入力部7と、ライブラリデータベース
部8と、出力部9とに加えて、最適化可能性に基づいて
遅延制約を各階層に分配する遅延制約分配部5を備え
る。
【0025】次に本実施の形態の論理回路の最適化装置
の処理をフローチャートで示す図2を併せて参照して本
実施の形態の動作について説明すると、まず階層回路仕
様入力ステップS1により、最適化対象論理回路の全て
もしくは一部分を階層回路仕様(以下特記ない限り単に
論理回路と呼ぶ)として階層回路仕様入力部1より入力
し、回路データベース部3に格納する。上記論理回路は
レジスタトランスファ(RT)レベルのハードウェア記
述言語(HDL)で記述されたものでもよいし、ゲート
レベルのネットリストでもよい。
の処理をフローチャートで示す図2を併せて参照して本
実施の形態の動作について説明すると、まず階層回路仕
様入力ステップS1により、最適化対象論理回路の全て
もしくは一部分を階層回路仕様(以下特記ない限り単に
論理回路と呼ぶ)として階層回路仕様入力部1より入力
し、回路データベース部3に格納する。上記論理回路は
レジスタトランスファ(RT)レベルのハードウェア記
述言語(HDL)で記述されたものでもよいし、ゲート
レベルのネットリストでもよい。
【0026】次に、遅延制約入力ステップS2により、
最適化対象論理回路の遅延制約、すなわちクロック情
報,入力端子での信号の対着時刻,出力端子での信号の
要求時刻などで与えられた遅延制約値を回路データベー
ス部3に保存した階層回路仕様である論理回路に付加す
る。従来と同様に、立ち上がり時刻,立ち下がり時刻,
周期等を含むクロック情報から、そのクロックで周期動
作するDFFなどの記憶素子のセットアップ時間・ホー
ルド時間を考慮して、出力ピンにおける信号(出力信
号)の到着時刻および入力ピンにおける信号(入力信
号)の要求時刻をそれぞれ算出できる。
最適化対象論理回路の遅延制約、すなわちクロック情
報,入力端子での信号の対着時刻,出力端子での信号の
要求時刻などで与えられた遅延制約値を回路データベー
ス部3に保存した階層回路仕様である論理回路に付加す
る。従来と同様に、立ち上がり時刻,立ち下がり時刻,
周期等を含むクロック情報から、そのクロックで周期動
作するDFFなどの記憶素子のセットアップ時間・ホー
ルド時間を考慮して、出力ピンにおける信号(出力信
号)の到着時刻および入力ピンにおける信号(入力信
号)の要求時刻をそれぞれ算出できる。
【0027】ライブラリ入力ステップS3により、ライ
ブラリ入力部7から、ターゲットライブラリにおける各
ブロックのタイミング解析のための情報などを入力し、
ライブラリデータベース部8に格納する。
ブラリ入力部7から、ターゲットライブラリにおける各
ブロックのタイミング解析のための情報などを入力し、
ライブラリデータベース部8に格納する。
【0028】タイミング解析ステップS4により、回路
データベース3に格納されている論理回路のタイミング
解析を行う。便宜上ここでは最大遅延時間についてのみ
説明するが、最小遅延時間についても遅延時間の最小値
を伝搬することが違うだけで、同様の処理で算出でき
る。回路の始点に設定されている到着時刻に対して、回
路中の信号が到達するパス上のプリミティブ素子ブロッ
クや下位階層を参照するブロックの内部遅延時間とブロ
ック間の配線部分の遅延時間を加算し、出力ピン毎に各
入力ピンからの最大値をブロックの出力ピンに到着時刻
を設定することを続け、回路の終点に到達するまで処理
を反復する。この時点で各ブロックの出力ピンに到着時
刻が設定される。
データベース3に格納されている論理回路のタイミング
解析を行う。便宜上ここでは最大遅延時間についてのみ
説明するが、最小遅延時間についても遅延時間の最小値
を伝搬することが違うだけで、同様の処理で算出でき
る。回路の始点に設定されている到着時刻に対して、回
路中の信号が到達するパス上のプリミティブ素子ブロッ
クや下位階層を参照するブロックの内部遅延時間とブロ
ック間の配線部分の遅延時間を加算し、出力ピン毎に各
入力ピンからの最大値をブロックの出力ピンに到着時刻
を設定することを続け、回路の終点に到達するまで処理
を反復する。この時点で各ブロックの出力ピンに到着時
刻が設定される。
【0029】ブロックが特定のターゲットライブラリに
マッピングされていれば、ライブラリデータベース部8
を参照して回路の状況とライブラリに格納されている値
を組合せて計算できる値から、ブロックの内部遅延や配
線遅延が得られる。マッピングされていない場合は、従
来技術で説明した論理段数から遅延を予測する方法や、
組合せ回路を論理式で表現したときの論理の複雑度やフ
ァンアウト数からブロックの内部遅延や配線遅延時間を
予測する方法などを用いる。
マッピングされていれば、ライブラリデータベース部8
を参照して回路の状況とライブラリに格納されている値
を組合せて計算できる値から、ブロックの内部遅延や配
線遅延が得られる。マッピングされていない場合は、従
来技術で説明した論理段数から遅延を予測する方法や、
組合せ回路を論理式で表現したときの論理の複雑度やフ
ァンアウト数からブロックの内部遅延や配線遅延時間を
予測する方法などを用いる。
【0030】このあと到着時刻伝搬とは逆の方向に要求
時刻を伝搬する。回路の終点に設定されている要求時刻
に対して、回路中の信号が到達するパス上のプリミティ
ブ素子ブロックや下位階層を参照するブロックの内部遅
延時間とブロック間の配線部分の遅延時間を減算し、ブ
ロックの入力ピン・出力ピンに要求時刻を設定すること
を続け、回路の始点に到達するまで処理を反復する。
時刻を伝搬する。回路の終点に設定されている要求時刻
に対して、回路中の信号が到達するパス上のプリミティ
ブ素子ブロックや下位階層を参照するブロックの内部遅
延時間とブロック間の配線部分の遅延時間を減算し、ブ
ロックの入力ピン・出力ピンに要求時刻を設定すること
を続け、回路の始点に到達するまで処理を反復する。
【0031】下位階層の内部遅延は、上記と同様に再帰
的にタイミング解析をすることにより算出することがで
きる。
的にタイミング解析をすることにより算出することがで
きる。
【0032】終了判定ステップS7により、タイミング
解析の結果全てのパスのスラックが負でない数であれば
制約違反パスがないことを示しており、出力ステップS
8に処理を移す。各パスのスラックが負の数であれば制
約違反箇所があり、かつさらに最適化できる余地があれ
ば、以下の処理を続ける。
解析の結果全てのパスのスラックが負でない数であれば
制約違反パスがないことを示しており、出力ステップS
8に処理を移す。各パスのスラックが負の数であれば制
約違反箇所があり、かつさらに最適化できる余地があれ
ば、以下の処理を続ける。
【0033】遅延制約分配ステップS5により、階層間
にまたがるパスに対して遅延制約を分配する。
にまたがるパスに対して遅延制約を分配する。
【0034】遅延制約分配ステップS5の詳細を示す図
3を参照して遅延制約分配ステップS5の動作を詳細に
説明すると、パス選択ステップS51により処理対象で
あるが制約分配処理済みでないパスのうちスラック最小
のパスを取り出す。最適化可能性判定ステップS52に
より、階層の境界にまたがるパスの各部分組合せ回路や
配線に対して最適化可能性が設定されていればS54に
処理を進め、設定されていなければ最適化可能性設定ス
テップS53により最適化可能性を設定する。
3を参照して遅延制約分配ステップS5の動作を詳細に
説明すると、パス選択ステップS51により処理対象で
あるが制約分配処理済みでないパスのうちスラック最小
のパスを取り出す。最適化可能性判定ステップS52に
より、階層の境界にまたがるパスの各部分組合せ回路や
配線に対して最適化可能性が設定されていればS54に
処理を進め、設定されていなければ最適化可能性設定ス
テップS53により最適化可能性を設定する。
【0035】制約分配の例を示す図4を併せて参照する
と、上位階層501に下位階層502,503が存在
し、下位階層502の中にはDFF504,組合せ回路
505が存在し、下位階層503の中にはDFF50
7,組合せ回路506が存在する。DFF504の出力
ピンはパスの始点となり、組合せ回路505を経由して
階層502の外部に出た後階層503に入り、組合せ回
路506を経由してDFF507の入力ピンが終点とな
る。ここでは配線への遅延制約の分配はせず、DFF5
04からDFF507までのパスの組合せ回路505,
506に遅延制約を分配する。
と、上位階層501に下位階層502,503が存在
し、下位階層502の中にはDFF504,組合せ回路
505が存在し、下位階層503の中にはDFF50
7,組合せ回路506が存在する。DFF504の出力
ピンはパスの始点となり、組合せ回路505を経由して
階層502の外部に出た後階層503に入り、組合せ回
路506を経由してDFF507の入力ピンが終点とな
る。ここでは配線への遅延制約の分配はせず、DFF5
04からDFF507までのパスの組合せ回路505,
506に遅延制約を分配する。
【0036】従来と同様に、モデルの簡略化のため、D
FFのセットアップ・ホールド時間,クロックスキュ
ー,立ち上がり・立ち下がりの区別,最大・最小遅延、
配線遅延時間などを無視する。組合せ回路505と50
6の遅延時間をそれぞれ3ns,6nsとする。DFF
504の出力ピンの到着時刻を0ns、DFF507の
入力ピンの要求時刻を6nsとすると、組合せ回路50
5と506の各々の出力ピンでの到着時刻はそれぞれ3
ns,9nsとなる。
FFのセットアップ・ホールド時間,クロックスキュ
ー,立ち上がり・立ち下がりの区別,最大・最小遅延、
配線遅延時間などを無視する。組合せ回路505と50
6の遅延時間をそれぞれ3ns,6nsとする。DFF
504の出力ピンの到着時刻を0ns、DFF507の
入力ピンの要求時刻を6nsとすると、組合せ回路50
5と506の各々の出力ピンでの到着時刻はそれぞれ3
ns,9nsとなる。
【0037】例えば、各組合せ回路の遅延が現遅延時間
から1/3だけ短縮可能であるとすると、最適化可能性
は組合せ回路505は1ns、組合せ回路506は2n
sとなる。
から1/3だけ短縮可能であるとすると、最適化可能性
は組合せ回路505は1ns、組合せ回路506は2n
sとなる。
【0038】上記最適化可能性の算出には種々の方法が
あり、以下にその数例を示す。
あり、以下にその数例を示す。
【0039】まず、一度面積優先で合成したときの遅延
時間に対する一定比率から算出する方法は次式で表され
る。
時間に対する一定比率から算出する方法は次式で表され
る。
【0040】 最適化可能性=α*(面積優先で合成時の遅延時間)+β……………(1) 次に、既存の回路から同様の回路に対する可能性を予測
する方法は次式で表される。
する方法は次式で表される。
【0041】 最適化可能性=α*(既存回路からの類推)+β………………………(2) 次に従来技術で説明したような論理の複雑度やファンア
ウト数などから予測する方法は次式で表される。
ウト数などから予測する方法は次式で表される。
【0042】 最適化可能性=α*(a*(論理複雑度)+b*(ファンアウト数))+β …………(3) ここで、α,βは現状の遅延時間から短縮可能な割合を
表す係数であり、多数のデータによる統計処理などで実
験的に求めることができるが、回路中で一定の数値であ
る必要はない。また、ここでは最適化可能性を1次式で
示したが、さらに複雑な関数で表現しても良い。a,b
は遅延予測時の係数であり、aは論理の複雑度に対する
遅延時間への寄与を表し、bはファンアウト数に対する
遅延時間への寄与を表す。さらに最適化可能性に面積や
消費電力のオーバーヘッドを考慮することも可能であ
り、(1)式を拡張して、次式のように表現できる。
表す係数であり、多数のデータによる統計処理などで実
験的に求めることができるが、回路中で一定の数値であ
る必要はない。また、ここでは最適化可能性を1次式で
示したが、さらに複雑な関数で表現しても良い。a,b
は遅延予測時の係数であり、aは論理の複雑度に対する
遅延時間への寄与を表し、bはファンアウト数に対する
遅延時間への寄与を表す。さらに最適化可能性に面積や
消費電力のオーバーヘッドを考慮することも可能であ
り、(1)式を拡張して、次式のように表現できる。
【0043】 最適化可能性= α*(面積優先で合成時の遅延時間)/(1+γ*(面積増加割合))+β …………(4) (4)式より、その部分パスの面積増加割合を考慮した
最適化可能性を算出することができる。γは面積増加割
合を考慮した時の係数で、0の場合は、(1)式と同一
であり面積増加を考慮しないことになる。同様にして消
費電力のオーバーヘッドも考慮することが可能である。
最適化可能性を算出することができる。γは面積増加割
合を考慮した時の係数で、0の場合は、(1)式と同一
であり面積増加を考慮しないことになる。同様にして消
費電力のオーバーヘッドも考慮することが可能である。
【0044】遅延制約設定ステップS54により、遅延
制約をパス上の組合せ回路に設定する。DFF504の
出力ピンから階層502の出力端子までと階層503の
入力端子からDFF507の入力ピンまで、すなわち組
合せ回路505と506に設定される遅延制約は式
(6)で表現されるとする。 スラック残り=(終点要求時刻−終点到着時刻)−Σ(分配済制約)…(5) 遅延制約=スラック残り*最適化可能性/Σ(最適化可能性)…………(6) ここで、Σ(分配済み制約)は図3で示した繰り返しの
中で部分パスがスラックのより小さいバスに含まれてい
るために既に割り当てられた制約の合計であり、Σ(最
適化可能性)は遅延制約を分配するパス上の全ての部分
パスが最適化可能性の合計である。
制約をパス上の組合せ回路に設定する。DFF504の
出力ピンから階層502の出力端子までと階層503の
入力端子からDFF507の入力ピンまで、すなわち組
合せ回路505と506に設定される遅延制約は式
(6)で表現されるとする。 スラック残り=(終点要求時刻−終点到着時刻)−Σ(分配済制約)…(5) 遅延制約=スラック残り*最適化可能性/Σ(最適化可能性)…………(6) ここで、Σ(分配済み制約)は図3で示した繰り返しの
中で部分パスがスラックのより小さいバスに含まれてい
るために既に割り当てられた制約の合計であり、Σ(最
適化可能性)は遅延制約を分配するパス上の全ての部分
パスが最適化可能性の合計である。
【0045】図4の例ではΣ(分配済み制約)は0であ
るので、式(6)によると、組合せ回路505への遅延
制約は次のようになる。
るので、式(6)によると、組合せ回路505への遅延
制約は次のようになる。
【0046】 (6−9)*1/(1+2)=−3*1/3=−1 また、組合せ回路506への遅延制約は次のようにな
る。
る。
【0047】 (6−9)*2/(1+2)=−3*2/3=−2 つまり、組合せ回路505は1ns、組合せ回路506
は2ns短縮すべきであるという遅延制約が設定された
こととなる。ここではパス上の1階層中の組合せ回路が
1つしかない例を示したが、複数個存在しても上記
(6)式で同様に遅延制約を分配可能である。通常はプ
リミティブブロックよりは大きい、たとえば木構造を形
成するブロックの集合を一つの組合せ回路の単位として
制約を分配する。終了判定ステップS55により、対象
となる全てのパスを処理済みであれば制約分配S5を完
了する。まだ残っていればパス選択ステップS51に戻
り次のパスを選択する。最適化可能性は、可能性であり
実現できる保証はない数値であるので、(1)〜(4)
式の係数α,βは統計的に得られた値に対してある程度
のマージンをとった値を使用しても良い。
は2ns短縮すべきであるという遅延制約が設定された
こととなる。ここではパス上の1階層中の組合せ回路が
1つしかない例を示したが、複数個存在しても上記
(6)式で同様に遅延制約を分配可能である。通常はプ
リミティブブロックよりは大きい、たとえば木構造を形
成するブロックの集合を一つの組合せ回路の単位として
制約を分配する。終了判定ステップS55により、対象
となる全てのパスを処理済みであれば制約分配S5を完
了する。まだ残っていればパス選択ステップS51に戻
り次のパスを選択する。最適化可能性は、可能性であり
実現できる保証はない数値であるので、(1)〜(4)
式の係数α,βは統計的に得られた値に対してある程度
のマージンをとった値を使用しても良い。
【0048】次に、図2の最適化ステップS6により、
制約分配された各階層に対して回路データベース3部に
格納されている論理回路をステップS5で設定した遅延
制約に基づいて遅延最適化し、結果の論理回路を回路デ
ータベース3に格納する。最適化結果を判定するためタ
イミング解析ステップS4に戻る。このとき、最適化の
結果、変更のあった部分回路とその影響を及ぼす部分だ
けに対してインクリメンタルにタイミング解析・制約分
配し、処理を高速化することが可能である。
制約分配された各階層に対して回路データベース3部に
格納されている論理回路をステップS5で設定した遅延
制約に基づいて遅延最適化し、結果の論理回路を回路デ
ータベース3に格納する。最適化結果を判定するためタ
イミング解析ステップS4に戻る。このとき、最適化の
結果、変更のあった部分回路とその影響を及ぼす部分だ
けに対してインクリメンタルにタイミング解析・制約分
配し、処理を高速化することが可能である。
【0049】終了判定ステップS7により、タイミング
解析の結果制約違反パスがないか、これ以上最適化でき
なければ、出力ステップS8により、回路データベース
部3に格納されている回路全てを出力部9から出力す
る。
解析の結果制約違反パスがないか、これ以上最適化でき
なければ、出力ステップS8により、回路データベース
部3に格納されている回路全てを出力部9から出力す
る。
【0050】クリティカルでないパスに対しても遅延制
約を分配することにより、最適化ステップS6において
遅延制約違反をしない範囲内でローパワーブロックを使
用するなどの面積・消費電力削減も可能となる。この場
合、分配される遅延制約は短縮しなければいけない遅延
時間ではなく、延ばしても良い遅延時間余裕を意味す
る。
約を分配することにより、最適化ステップS6において
遅延制約違反をしない範囲内でローパワーブロックを使
用するなどの面積・消費電力削減も可能となる。この場
合、分配される遅延制約は短縮しなければいけない遅延
時間ではなく、延ばしても良い遅延時間余裕を意味す
る。
【0051】次に、図3に示した本実施の形態のステッ
プS5ではスラックの小さい順に各パスに対して遅延制
約を分配していたのに対し、面積増加割合を考慮したス
テップS5Aを含む本発明の第2の実施の形態を示す図
5を参照すると、この実施の形態を特徴ずけるステップ
S5Aの第1の実施の形態のステップS5との相違点
は、ステップS53,S54の代りに面積/遅延関係設
定ステップS64と、関係式作成ステップS66と、遅
延制約計算ステップS67とを含むことである。ただ
し、パス選択ステップS51では第1の実施の形態のよ
うに、スラックの順でパスを選択する必要はない。
プS5ではスラックの小さい順に各パスに対して遅延制
約を分配していたのに対し、面積増加割合を考慮したス
テップS5Aを含む本発明の第2の実施の形態を示す図
5を参照すると、この実施の形態を特徴ずけるステップ
S5Aの第1の実施の形態のステップS5との相違点
は、ステップS53,S54の代りに面積/遅延関係設
定ステップS64と、関係式作成ステップS66と、遅
延制約計算ステップS67とを含むことである。ただ
し、パス選択ステップS51では第1の実施の形態のよ
うに、スラックの順でパスを選択する必要はない。
【0052】面積/遅延関係設定ステップS64で、パ
スi上の各部分パスjに対して遅延制約をei j とする
と、その面積増加割合ai j は以下の一次式で関係を表
す。分配対象の遅延制約ei j は、制約違反している限
り負の数で表す。
スi上の各部分パスjに対して遅延制約をei j とする
と、その面積増加割合ai j は以下の一次式で関係を表
す。分配対象の遅延制約ei j は、制約違反している限
り負の数で表す。
【0053】 ai j =k*ei j +h……………………………………………………(7) ここでk,hは係数であり、多数のデータによる統計処
理などに実験的に求めることができるが、回路中で一定
の値である必要はない。
理などに実験的に求めることができるが、回路中で一定
の値である必要はない。
【0054】関係式作成ステップS66で、以下の関係
式を作成する。各パスiに対して、各部分パスjの遅延
最適化可能性をdi j とすると、以下の関係式が成り立
たなければいけない。
式を作成する。各パスiに対して、各部分パスjの遅延
最適化可能性をdi j とすると、以下の関係式が成り立
たなければいけない。
【0055】 −ei j ≦di j ……………………………………………………………(8) パスの遅延制約すなわちスラックをsi とすると、次式
が成り立つように遅延制約が分配され、制約通り最適化
されればパスiの制約違反は解消されることになる。
が成り立つように遅延制約が分配され、制約通り最適化
されればパスiの制約違反は解消されることになる。
【0056】
【0057】遅延制約計算ステップS67で、(7),
(8),(9)の条件のもとで、(10)式が最小とな
るよう、例えば線形計画法などの手法で解き、各部分パ
スの遅延制約ei j を求める。
(8),(9)の条件のもとで、(10)式が最小とな
るよう、例えば線形計画法などの手法で解き、各部分パ
スの遅延制約ei j を求める。
【0058】
【0059】ここでは面積増加割合と遅延制約の関係か
ら面積増加の最も少ない遅延制約分配を行なったが、同
様に消費電力増加割合と遅延制約の関係から、消費電力
増加の最も少ない遅延制約分配も可能である。
ら面積増加の最も少ない遅延制約分配を行なったが、同
様に消費電力増加割合と遅延制約の関係から、消費電力
増加の最も少ない遅延制約分配も可能である。
【0060】次に、本発明の第3の実施の形態の論理回
路の最適化装置を図1と共通の構成要素には共通の参照
文字/数字を付して同様にブロックで示す図6を参照す
ると、本実施の形態の前述の第1の実施の形態との相違
点は、論理合成手法に基づいた論理回路の変換による遅
延最適化を行なう最適化部6の代りに論理合成手法だけ
でなくLSIにおける各階層のフロアプランを実行する
ことにより遅延最適化する最適化部6Aを備えることで
ある。
路の最適化装置を図1と共通の構成要素には共通の参照
文字/数字を付して同様にブロックで示す図6を参照す
ると、本実施の形態の前述の第1の実施の形態との相違
点は、論理合成手法に基づいた論理回路の変換による遅
延最適化を行なう最適化部6の代りに論理合成手法だけ
でなくLSIにおける各階層のフロアプランを実行する
ことにより遅延最適化する最適化部6Aを備えることで
ある。
【0061】論理回路をLSIチップ上に階層毎にフロ
アプランすなわちレイアウトする時、階層間の配線長を
できるだけ短くすることで、配線遅延を短縮することが
可能である。すなわち、比較的長い配線、例えば階層間
の配線部分に遅延制約を割り当て、フロアプラン変更に
より遅延最適化する。
アプランすなわちレイアウトする時、階層間の配線長を
できるだけ短くすることで、配線遅延を短縮することが
可能である。すなわち、比較的長い配線、例えば階層間
の配線部分に遅延制約を割り当て、フロアプラン変更に
より遅延最適化する。
【0062】配線部分に遅延制約を割り当てた例を示す
図7を参照すると、図4との相違点は、階層902と9
03の間の配線遅延2nsがあり、その最適化可能性に
したがって、遅延制約が−1ns設定されている。
図7を参照すると、図4との相違点は、階層902と9
03の間の配線遅延2nsがあり、その最適化可能性に
したがって、遅延制約が−1ns設定されている。
【0063】さらに、配線遅延は通常ブロックの出力ピ
ンのドライブ能力、入力信号の鈍り、ファンアウト先の
配線容量と入力ピン容量の合計等の関数で表すことが多
い。LSIの設計において、ディープサブミクロンのよ
うな設計ルールの微細化により、比較的長い配線に関し
ては、配線抵抗が配線遅延時間に非常に大きく影響する
ことがわかっている。分岐などを無視した場合、配線抵
抗を考慮したときの配線遅延時間は配線長の2乗に比例
することが知られている。フロアプランなどで階層間で
比較的長い配線になることが予めわかっている場合は、
バッファもしくはインバータ挿入による遅延最適化も考
慮して、配線部分にも遅延制約を分配することが可能で
ある。遅延最適化は長い配線を等分割するようなバッフ
ァもしくはインバータを1つ以上挿入することにより、
配線抵抗に関する遅延時間を短縮する。インバータを挿
入する場合は配線上の論理が反転しないように複数個挿
入する必要がある。ただし、挿入するバッファ/インバ
ータの内部遅延や、入力ピン容量なども増加するので、
適切な配線分割・挿入する必要がある。
ンのドライブ能力、入力信号の鈍り、ファンアウト先の
配線容量と入力ピン容量の合計等の関数で表すことが多
い。LSIの設計において、ディープサブミクロンのよ
うな設計ルールの微細化により、比較的長い配線に関し
ては、配線抵抗が配線遅延時間に非常に大きく影響する
ことがわかっている。分岐などを無視した場合、配線抵
抗を考慮したときの配線遅延時間は配線長の2乗に比例
することが知られている。フロアプランなどで階層間で
比較的長い配線になることが予めわかっている場合は、
バッファもしくはインバータ挿入による遅延最適化も考
慮して、配線部分にも遅延制約を分配することが可能で
ある。遅延最適化は長い配線を等分割するようなバッフ
ァもしくはインバータを1つ以上挿入することにより、
配線抵抗に関する遅延時間を短縮する。インバータを挿
入する場合は配線上の論理が反転しないように複数個挿
入する必要がある。ただし、挿入するバッファ/インバ
ータの内部遅延や、入力ピン容量なども増加するので、
適切な配線分割・挿入する必要がある。
【0064】
【発明の効果】以上説明したように、本発明の論理回路
の最適化装置及びその方法は、各部分パスの最適化可能
性に基づいて前記遅延制約を各階層や配線に分配する遅
延制約分配部を備えることにより、最適化対象階層の選
択順序に依存したバランスの非常に悪い最適化結果の発
生を抑制し、回路面積増大の要因を除去するとともに最
適化の反復処理による処理時間の増大を抑圧できるとい
う効果がある。
の最適化装置及びその方法は、各部分パスの最適化可能
性に基づいて前記遅延制約を各階層や配線に分配する遅
延制約分配部を備えることにより、最適化対象階層の選
択順序に依存したバランスの非常に悪い最適化結果の発
生を抑制し、回路面積増大の要因を除去するとともに最
適化の反復処理による処理時間の増大を抑圧できるとい
う効果がある。
【0065】また、遅延最適化方法としては、論理合成
による階層内の最適化だけでなく、フロアプランや階層
間のバッファやインバータの挿入による最適化を行なう
ことができ、その回路にあった遅延最適化を選択するこ
とにより、所要面積が小さくかつ動作周波数の大きい論
理回路を効率良く設計できるという効果がある。
による階層内の最適化だけでなく、フロアプランや階層
間のバッファやインバータの挿入による最適化を行なう
ことができ、その回路にあった遅延最適化を選択するこ
とにより、所要面積が小さくかつ動作周波数の大きい論
理回路を効率良く設計できるという効果がある。
【図1】本発明の論理回路の最適化装置の第1の実施の
形態の構成を示すブロック図である。
形態の構成を示すブロック図である。
【図2】本実施の形態の最適化方法を示すフローチャー
トである。
トである。
【図3】図2の制約分配ステップの詳細を示すフローチ
ャートである。
ャートである。
【図4】本実施の形態の遅延制約設定の例を示す回路図
である。
である。
【図5】本発明の第2の実施の形態を特徴ずける制約分
配ステップの詳細を示すフローチャートである。
配ステップの詳細を示すフローチャートである。
【図6】本発明の論理回路の最適化装置の第3の実施の
形態の構成を示すブロック図である。
形態の構成を示すブロック図である。
【図7】本実施の形態の遅延制約設定の例を示す回路図
である。
である。
【図8】従来の第1の論理回路の最適化装置の構成を示
すブロック図である。
すブロック図である。
【図9】階層設計をした論理回路の一例を示す説明図で
ある。
ある。
【図10】従来の遅延制約設定の例を示す回路図であ
る。
る。
1 階層回路仕様入力部 2 遅延制約入力部 3 回路データベース部 4 タイミング解析部 5 遅延制約分配部 6,6A 最適化部 7 ライブラリ入力部 8 ライブラリデータベース部 9 出力部
Claims (5)
- 【請求項1】 階層構造を有する論理回路を入力する階
層回路仕様入力部と、前記論理回路の遅延制約を入力す
る遅延制御入力部と、入力した前記論理回路および前記
遅延制約を保持する回路データベース部と、前記回路デ
ータベースに保持している前記論理回路に対してタイミ
ング解析を行なうタイミング解析部と、前記遅延制約に
基づいて遅延の最適化を行なう最適化部と、前記論理回
路のターゲットのライブラリ情報を入力するライブラリ
入力部と、入力した前記ライブラリ情報を保持するライ
ブラリデータベース部と、最適化結果の論理回路を出力
する出力部を備える論理回路の最適化装置において、 最適化可能性に基づいて前記遅延制約を各階層や配線に
分配する遅延制約分配部を備えることを特徴とする論理
回路の最適化装置。 - 【請求項2】 前記最適化部が、前記各階層のレイアウ
トであるフロアプラン実行により各階層間の配線の遅延
時間の最小化を含む遅延最適化を行うことを特徴とする
請求項1記載の論理回路の最適化装置。 - 【請求項3】 最適化対象論理回路の全てもしくは一部
分を入力論理回路として入力する回路仕様入力ステップ
と、 前記最適化論理回路の遅延制約を前記入力論理回路に付
加する遅延制約入力ステップと、 ターゲットライブラリにおける各ブロックのタイミング
解析用情報を含むライブラリ情報を入力するライブラリ
入力ステップと、 前記入力論理回路のタイミング解析を行ない最適化可能
性に基づいて各階層および各配線に遅延制約を分配する
制約分配ステップと、 前記制約分配された前記各階層に対して前記入力論理回
路を前記遅延制約に基づいて遅延最適化する遅延最適化
ステップと、 前記入力論理回路の前記遅延最適化した結果生成された
最適化論理回路を出力するステップとを有することを特
徴とする論理回路の最適化方法。 - 【請求項4】 前記制約分配ステップが、処理対象であ
るが制約分配処理済みでないパスのうちパス上の所定点
における信号の要求時刻と到着時刻との差であるスラッ
クが最小の前記パスを取り出すパス選択ステップと、 階層の境界にまたがるパスの各部分の組合せ回路および
配線に対して最適化可能性の設定の有無を判定する最適
化可能性判定ステップと、 前記最適化可能性判定ステップの判定結果設定無しの場
合に最適化可能性を設定する最適化可能性設定ステップ
と、 前記最適化可能性判定ステップの判定結果設定有りの場
合に前記遅延制約を前記パス上の前記組合せ回路に設定
する遅延制約設定ステップとを含むことを特徴とする請
求項3記載の論理回路の最適化方法。 - 【請求項5】 前記制約分配ステップが、処理対象であ
るが制約分配処理済みでないパスのうちパス上の所定点
における信号の要求時刻と到着時刻との差であるスラッ
クが最小の前記パスを取り出すパス選択ステップと、 階層の境界にまたがるパスの各部分の組合せ回路および
配線に対して最適化可能性の設定の有無を判定する最適
化可能性判定ステップと、 前記最適化可能性判定ステップの判定結果設定無しの場
合に最適化可能性を設定する最適化可能性設定ステップ
と、 前記最適化可能性判定ステップの判定結果設定有りの場
合に回路面積増加割合と遅延時間短縮との関係を考慮し
て前記遅延制約を前記回路面積増加の増加が最小となる
よう設定する面積対遅延制約設定ステップとを含むこと
を特徴とする請求項3記載の論理回路の最適化方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8014049A JP2874628B2 (ja) | 1996-01-30 | 1996-01-30 | 論理回路の最適化装置及びその方法 |
TW086100975A TW322562B (ja) | 1996-01-30 | 1997-01-29 | |
US08/791,755 US5883808A (en) | 1996-01-30 | 1997-01-29 | Logic circuit optimization apparatus and its method |
KR1019970002747A KR100249251B1 (ko) | 1996-01-30 | 1997-01-30 | 논리회로 최적화 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8014049A JP2874628B2 (ja) | 1996-01-30 | 1996-01-30 | 論理回路の最適化装置及びその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09212533A true JPH09212533A (ja) | 1997-08-15 |
JP2874628B2 JP2874628B2 (ja) | 1999-03-24 |
Family
ID=11850248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8014049A Expired - Fee Related JP2874628B2 (ja) | 1996-01-30 | 1996-01-30 | 論理回路の最適化装置及びその方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5883808A (ja) |
JP (1) | JP2874628B2 (ja) |
KR (1) | KR100249251B1 (ja) |
TW (1) | TW322562B (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6457166B1 (en) | 1999-01-25 | 2002-09-24 | Nec Corporation | Constraint generating device for logic synthesis and its constraint generating method |
US6618834B2 (en) | 2000-11-09 | 2003-09-09 | Fujitsu Limited | Circuit designing apparatus, circuit designing method and timing distribution apparatus |
JP2008262562A (ja) * | 2007-04-09 | 2008-10-30 | Toshiba Corp | 経路切り取りを用いた遅延許容量割り当て |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2910723B2 (ja) * | 1997-04-09 | 1999-06-23 | 日本電気株式会社 | 半導体集積回路の設計支援方法及びその方法を用いたシステム及びその方法を記録した記録媒体 |
US6401231B1 (en) * | 1997-04-25 | 2002-06-04 | Cadence Design Systems, Inc. | Method and apparatus for performing both negative and positive slack time budgeting and for determining a definite required constraint during integrated circuit design |
US6090151A (en) * | 1997-07-01 | 2000-07-18 | Motorola, Inc. | Electronic device parameter estimator and method therefor |
TW557574B (en) * | 1997-07-03 | 2003-10-11 | Matsushita Electric Ind Co Ltd | Functional module model, pipelined circuit synthesis and pipelined circuit device |
US6044209A (en) * | 1997-09-15 | 2000-03-28 | International Business Machines Corporation | Method and system for segmenting wires prior to buffer insertion |
US6360350B1 (en) * | 1997-10-07 | 2002-03-19 | International Business Corporation | Method and system for performing circuit analysis on an integrated-circuit design having design data available in different forms |
US6430726B1 (en) * | 1997-12-19 | 2002-08-06 | Nec Corporation | Logic circuit synthesizing method and logic synthesizing system |
US6553550B1 (en) * | 1999-03-05 | 2003-04-22 | Peter Menegay | Method and apparatus for computing delay correlation effects in digital circuits |
US6412101B1 (en) * | 1999-06-08 | 2002-06-25 | Hewlett-Packard Company | Simultaneous path optimization (SPO) system and method |
JP4315532B2 (ja) * | 1999-08-04 | 2009-08-19 | 株式会社ルネサステクノロジ | 配線データ生成方法および当該方法により設計される大規模集積回路装置 |
US6678644B1 (en) * | 1999-09-13 | 2004-01-13 | Synopsys, Inc. | Integrated circuit models having associated timing exception information therewith for use with electronic design automation |
KR100335376B1 (ko) * | 1999-11-19 | 2002-05-06 | 조양호 | 디지털회로의 지연시간 조건 재합성 시스템 및 그 방법 |
US7036104B1 (en) | 1999-12-06 | 2006-04-25 | International Business Machines Corporation | Method of and system for buffer insertion, layer assignment, and wire sizing using wire codes |
US7013253B1 (en) | 2000-04-03 | 2006-03-14 | Magma Design Automation, Inc. | Method and apparatus for calculation of crosstalk noise in integrated circuits |
US6857116B1 (en) * | 2000-11-15 | 2005-02-15 | Reshape, Inc. | Optimization of abutted-pin hierarchical physical design |
JP3992947B2 (ja) * | 2001-06-22 | 2007-10-17 | 富士通株式会社 | 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム |
CN100378734C (zh) | 2001-08-29 | 2008-04-02 | 英芬能技术公司 | 集成电路芯片设计 |
US6526543B1 (en) * | 2001-11-29 | 2003-02-25 | International Business Machines Corporation | Method, system, and computer program product for optimizing logic during synthesis of logic designs |
JP2004102703A (ja) * | 2002-09-10 | 2004-04-02 | Matsushita Electric Ind Co Ltd | レジスタ転送レベル設計支援装置 |
US6981233B2 (en) * | 2003-02-24 | 2005-12-27 | Cadence Design Systems, Inc. | Method for analyzing path delays in an IC clock tree |
US7178118B2 (en) * | 2003-05-30 | 2007-02-13 | Synplicity, Inc. | Method and apparatus for automated circuit design |
JP4418708B2 (ja) * | 2004-05-07 | 2010-02-24 | パナソニック株式会社 | タイミング制約作成方法 |
JP4389701B2 (ja) * | 2004-07-09 | 2009-12-24 | 日本電気株式会社 | 集積回路階層設計システム及び集積回路階層設計プログラム |
US7584449B2 (en) * | 2004-11-22 | 2009-09-01 | Fulcrum Microsystems, Inc. | Logic synthesis of multi-level domino asynchronous pipelines |
US7240310B2 (en) * | 2004-12-07 | 2007-07-03 | International Business Machines Corporation | Method, system and program product for evaluating a circuit |
US7424693B2 (en) * | 2005-10-20 | 2008-09-09 | Agere Systems Inc. | Methods for measurement and prediction of hold-time and exceeding hold time limits due to cells with tied input pins |
US7350171B2 (en) * | 2005-11-17 | 2008-03-25 | Lizheng Zhang | Efficient statistical timing analysis of circuits |
US10831958B2 (en) * | 2018-09-27 | 2020-11-10 | International Business Machines Corporation | Integrated circuit design with optimized timing constraint configuration |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5095454A (en) * | 1989-05-25 | 1992-03-10 | Gateway Design Automation Corporation | Method and apparatus for verifying timing during simulation of digital circuits |
US5210700A (en) * | 1990-02-20 | 1993-05-11 | International Business Machines Corporation | Automatic delay adjustment for static timing analysis |
JP2980348B2 (ja) * | 1990-06-20 | 1999-11-22 | 株式会社東芝 | 論理回路の合成装置 |
US5353433A (en) * | 1990-09-06 | 1994-10-04 | Digital Equipment Corporation | Method and apparatus for organizing and analyzing timing information |
US5365463A (en) * | 1990-12-21 | 1994-11-15 | International Business Machines Corporation | Method for evaluating the timing of digital machines with statistical variability in their delays |
JPH04320575A (ja) * | 1991-04-19 | 1992-11-11 | Nec Corp | 論理合成方法およびその装置 |
US5381524B2 (en) * | 1991-11-12 | 1997-07-08 | Chronology Corp | Automated development of timing diagrams for electrical circuits |
JPH05274390A (ja) * | 1992-03-30 | 1993-10-22 | Matsushita Electric Ind Co Ltd | 回路素子割り付け方法及び遅延最適化方法並びに論理設計システム |
US5508937A (en) * | 1993-04-16 | 1996-04-16 | International Business Machines Corporation | Incremental timing analysis |
US5581738A (en) * | 1993-06-07 | 1996-12-03 | Xilinx, Inc. | Method and apparatus for back-annotating timing constraints into simulation models of field programmable gate arrays |
US5461576A (en) * | 1993-09-01 | 1995-10-24 | Arcsys, Inc. | Electronic design automation tool for the design of a semiconductor integrated circuit chip |
US5544071A (en) * | 1993-12-29 | 1996-08-06 | Intel Corporation | Critical path prediction for design of circuits |
US5475607A (en) * | 1994-04-12 | 1995-12-12 | International Business Machines Corporation | Method of target generation for multilevel hierarchical circuit designs |
US5636372A (en) * | 1994-09-30 | 1997-06-03 | International Business Machines Corporation | Network timing analysis method which eliminates timing variations between signals traversing a common circuit path |
US5726902A (en) * | 1995-06-07 | 1998-03-10 | Vlsi Technology, Inc. | Method and apparatus for characterizing timing behavior of datapaths for integrated circuit design and fabrication |
KR970002747A (ko) * | 1995-06-09 | 1997-01-28 | 심상철 | 환형연결망을 지닌 화상검사용 병렬 다중컴퓨터시스템 |
US5778216A (en) * | 1995-06-30 | 1998-07-07 | Cadence Design Systems, Inc. | Method for hierarchical time drive circuit layout by rebudgeting timing constraints of plurality of logical blocks after placement |
US5790830A (en) * | 1995-12-29 | 1998-08-04 | Synopsys, Incorporated | Extracting accurate and efficient timing models of latch-based designs |
-
1996
- 1996-01-30 JP JP8014049A patent/JP2874628B2/ja not_active Expired - Fee Related
-
1997
- 1997-01-29 TW TW086100975A patent/TW322562B/zh active
- 1997-01-29 US US08/791,755 patent/US5883808A/en not_active Expired - Fee Related
- 1997-01-30 KR KR1019970002747A patent/KR100249251B1/ko not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6457166B1 (en) | 1999-01-25 | 2002-09-24 | Nec Corporation | Constraint generating device for logic synthesis and its constraint generating method |
US6618834B2 (en) | 2000-11-09 | 2003-09-09 | Fujitsu Limited | Circuit designing apparatus, circuit designing method and timing distribution apparatus |
US6678871B2 (en) | 2000-11-09 | 2004-01-13 | Fujitsu Limited | Circuit designing apparatus, circuit designing method and timing distribution apparatus |
JP2008262562A (ja) * | 2007-04-09 | 2008-10-30 | Toshiba Corp | 経路切り取りを用いた遅延許容量割り当て |
Also Published As
Publication number | Publication date |
---|---|
TW322562B (ja) | 1997-12-11 |
KR100249251B1 (ko) | 2000-03-15 |
KR970059940A (ko) | 1997-08-12 |
JP2874628B2 (ja) | 1999-03-24 |
US5883808A (en) | 1999-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2874628B2 (ja) | 論理回路の最適化装置及びその方法 | |
US6080201A (en) | Integrated placement and synthesis for timing closure of microprocessors | |
US7676780B2 (en) | Techniques for super fast buffer insertion | |
US7624366B2 (en) | Clock aware placement | |
US6480991B1 (en) | Timing-driven global placement based on geometry-aware timing budgets | |
US8015522B2 (en) | System for implementing post-silicon IC design changes | |
US5751596A (en) | Automated system and method for identifying critical timing paths in integrated circuit layouts for use with automated circuit layout system | |
US6553338B1 (en) | Timing optimization in presence of interconnect delays | |
US10915685B1 (en) | Circuit stage credit based approaches to static timing analysis of integrated circuits | |
US5553000A (en) | Eliminating retiming bottlenecks to improve performance of synchronous sequential VLSI circuits | |
US20230107940A1 (en) | Layout context-based cell timing characterization | |
US8782591B1 (en) | Physically aware logic synthesis of integrated circuit designs | |
JP2002500435A (ja) | タイミング閉鎖方法 | |
US6622290B1 (en) | Timing verification method employing dynamic abstraction in core/shell partitioning | |
US11003821B1 (en) | Deterministic loop breaking in multi-mode multi-corner static timing analysis of integrated circuits | |
US6397169B1 (en) | Adaptive cell separation and circuit changes driven by maximum capacitance rules | |
US6480996B1 (en) | System and method for transposing wires in a circuit design | |
US20220391566A1 (en) | Machine learning models for predicting detailed routing topology and track usage for accurate resistance and capacitance estimation for electronic circuit designs | |
US20220300688A1 (en) | Fast synthesis of logical circuit design with predictive timing | |
Xiao et al. | Gate sizing to eliminate crosstalk induced timing violation | |
US11694016B2 (en) | Fast topology bus router for interconnect planning | |
JP2004102703A (ja) | レジスタ転送レベル設計支援装置 | |
Sivaswamy et al. | Variation-aware routing for FPGAs | |
JP4053969B2 (ja) | 半導体集積回路の設計装置および半導体集積回路の設計方法 | |
JP3193167B2 (ja) | 論理合成システム |
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: 19981215 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080114 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090114 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100114 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |