JP3034607B2 - 遅延時間最適化方法 - Google Patents

遅延時間最適化方法

Info

Publication number
JP3034607B2
JP3034607B2 JP5507604A JP50760493A JP3034607B2 JP 3034607 B2 JP3034607 B2 JP 3034607B2 JP 5507604 A JP5507604 A JP 5507604A JP 50760493 A JP50760493 A JP 50760493A JP 3034607 B2 JP3034607 B2 JP 3034607B2
Authority
JP
Japan
Prior art keywords
delay time
logic circuit
path
circuit
latch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP5507604A
Other languages
English (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5507604A priority Critical patent/JP3034607B2/ja
Priority claimed from PCT/JP1992/001354 external-priority patent/WO1993008598A1/ja
Application granted granted Critical
Publication of JP3034607B2 publication Critical patent/JP3034607B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】 技術分野 本発明はLSI等の設計システムに係り、更に詳しくは
入出力にラッチ回路を有するLSIの遅延時間最適化方式
に関する。
背景技術 半導体ICのロジック回路を用いた各種装置は、その信
頼性から非同期方式の回路より同期方式の回路を多く用
いている。
非同期方式においては、例えばカウンタの出力をデコ
ードする場合、リップルカウンタのように出力の各ビッ
トに時間差を有するならばカウンタが変化する時点でワ
ンショット的な雑音いわゆるヒゲが発生する。このため
非同期方式においては、各遅延時間を求めてタイミング
を合わせてヒゲを発生しないようにしている。
同期方式は順次入力するクロックに対応してラッチ回
路がデータを取り込み、次段のラッチ回路へ目的の論理
ゲートを介して出力する。そして、順次この動作を行
う。すなわち、同期方式においては、順次データを取り
込み演算した後、再度データを取り込んでいる。その取
り込みは同一のクロックで行われているため前述のよう
なヒゲは発生しない。この同期方式によれば、ラッチ回
路とラッチ回路の間の論理ゲートの遅延時間がラッチ回
路に入力するクロックの1周期間内であることを確認す
るだけで、確実に論理演算等の処理を行うことができ
る。
このように動作の確実性を高めるため、同期方式が多
く用いられている。
前述の同期方式を用いた各種装置の性能は、装置を動
かすクロック信号の周波数いわゆる動作周波数に依存し
ている。この動作周波数は半導体内部の2つのラッチ間
やフリップフロップ間に挟まれた組み合わせ回路の遅延
時間によって決定される。
前述した遅延時間が短いほど、クロック信号の繰り返
し周波数の高速化が可能となり、装置の性能は高まる。
しかしながらこうした論理回路はLSI内部に複数存在し
ており、それぞれの遅延時間が異なっている。このた
め、そのうちの最大の遅延時間がクロック信号の繰り返
し周波数を決定してしまう。従って、他の論理回路がど
んなに高速であっても1つの論理回路が遅い場合には遅
い周波数のクロック信号となり全体の装置性能を低下さ
せてしまうという問題を有していた。すなわち、装置性
能を充分に発揮させるためには、組み合わせ回路が同一
の遅延時間を有し且つ高速であることが必要となる。
発明の開示 本発明は、ラッチ回路間にある全ての組み合わせ回路
部に対してその論理回路全体の遅延時間を最適化する遅
延時間最適化方式を提供するものである。
本発明は基本的には4つの工程よりなる。
第1の工程は入力データに関係するデータをクロック
に対応して論理データを入出力する複数のラッチ回路間
に設けられた組み合わせ回路分から、2個以上の信号に
直接依存しない論理回路を分離する。
分離した論理回路は2個以上の信号に直接依存しない
ので、この工程によって各ラッチ回路の入力側や出力
側、さらには2個以上の信号に直接依存する論理ゲート
例えば多入力ゲート間に設けられたインバータやバッフ
ァ等が分離される。すなわち、ラッチ回路と、多入力ゲ
ートと、インバータやバッファ等の論理回路とに分離さ
れる。尚、この論理回路はインバータやバッファに限ら
ず、一連の処理を行う。アダー、シフタ、制御回路等で
もよく、この様な回路の時には一意的に1個のパスを決
定し、そのパスをもって1個の論理回路とする。
第2の工程は前記終点となる複数のラッチ回路と、始
点となるラッチ回路との間のパスの遅延時間をそれぞれ
計算する。この計算は、あらかじめ求めてある前述の各
論理回路や多入力ゲートの遅延時間のパス上の累算であ
る。
第3の工程は前記始点ラッチ回路と終点ラッチ回路と
の間に位置する前記分離した論理回路に対して遅延時間
に関係した重み付けを経路単位で行う。
この重み付けは、始点となるラッチから終点となるラ
ッチまでのパスの遅延時間に対するものである。例え
ば、順次1個の終点のラッチに着目し、複数の始点のラ
ッチからその終点までの遅延時間で、目標値より遅いパ
スに対しては遅いパス中でできるだけ共通の前述の論理
回路を求め、その論理回路の遅延時間を短くするように
重みを指定する。また、目標値より早いパスに対して
は、できるだけ共通の論理回路を求め、その論理回路の
遅延時間を長くするように重みを指定する。
第4の工程は第3の工程で得られた重み付けを、各論
理回路単位で計算し、各論理回路の相対指標を求める。
これらの工程を順次行うことにより各分離した論理回
路の相対指標が得られる。
この相対指標は例えば論理ゲートを構成するトランジ
スタの大きさの指示に関するデータであり、この相対指
標をもとにトランジスタを変化させ再度前記第2乃至第
4の工程を繰り返す。この繰り返しにより最適な論理ゲ
ートの構成を得ることができる。
図面の簡単な説明 第1図は、本発明の実施例の最適化方法の処理フロー
チャートである。
第2図は、重み付けの処理フローチャートである。
第3図は、モデル構成図である。
第4図は、論理回路の構成図である。
第5図は、論理回路の構成図である。
第6図は、論理回路の遅延時間の説明図である。
第7図は、遅延時間を示す図表である。
第8図は、遅延時間を示す図表(初期値)である。
第9図は、遅延時間を示す図表(1回目結果)であ
る。
第10図は、遅延時間を示す図表(2回目結果)であ
る。
第11図は、各論理回路の遅延時間の変化を表す図表で
ある。
第12図は、初期,1回目改善,2回目改善の処理を行った
際の各パスの正規化遅延時間を表す図である。
発明を実施するための最良の形態 本発明をより詳細に説明するために、添付の図面に従
ってこれを説明する。
第1図は本発明の実施例の最適化の処理フローチャー
トである。目的とする同期方式のIC回路が設計された
時、第1図の処理フローを実行させる。そして先ず終点
となる着目するラッチ回路と始点となる全てのラッチ回
路との間の全ての組み合わせ回路を求め、その中から2
個以上の入力に依存しない論理回路をステップS1で分割
する。
このステップS1の分割によって第1には2個以上の始
点ラッチ回路からの信号に直接依存しない論理回路と、
第2にはそれらの信号を用いて論理を構成したゲート出
力の2信号以上に直接依存しない論理回路が分割され
る。
この処理は遅延時間を変更する際に、どのパスの論理
回路の遅延時間を変更すれば良いかを確定するための分
割であり、2信号以上に直接依存する様な場合には、オ
ペレータ等によって一意的に1個のパスを決定し、2信
号以上に直接依存しない論理回路とする。
このステップS1で求めた論理回路は、例えばインバー
タやバッファ回路である。多入力ゲート回路と分離した
この論理回路は1入力、1出力であるので、遅延時間に
係わる要素のどこを変更しても、遅延時間を他に影響な
く変更できる。例えば、出力トランジスタの大きさによ
って遅延時間を変えることができる。この為にこの論理
回路を分離するのである。
ステップS1に続いて、ステップS2で終点のラッチ回路
(FF)に対し、始点となる全てのラッチ回路からのパス
の遅延時間を算出する。
続いてステップS3で当該終点のラッチ回路と始点のラ
ッチ回路間の前記ステップS1で分離した論理回路の重み
付けを行う。この重み付けは第2図で後述するが、目的
とするクロックの遅延すなわちクロック周波数をFとす
るならば1/F期間の遅延Tを標準とし、それより遅いか
速いかによって、又その間に共通した論理回路が存在す
るか否か等によってそれぞれの論理回路に要求する指標
を決定する。
ステップS3の重み付けの後、ステップS4でそれぞれの
分割回路の重み付けを計算する。これは分割指標に対す
る乗算である。
この重み付けの計算が全て目標内であるかをステップ
S5で判別し、目標以内である時(Y)には終了する。
また目標以内でない時(N)にはステップS6で出力の
トランジスタ面積を変更する。この変更は、例えば改善
が必要な論理回路のトランジスタのサイズをステップS4
で求めた計算値倍の処理である。
ステップS6によって出力トランジスタのサイズが変更
となった時点で再度終点のラッチ回路から始点となる全
てのラッチ回路間のパスの遅延時間を算出する。順次ス
テップS2,S3,S4を行うことにより、目的の改善指標とな
る計算値が求まり判別S5によって目標以内となり終了す
る。この時にはほぼその目的のLSIの構成値を設定する
ことができる。
すなわち、以上の動作により求めた各論理回路の重み
付け指標が1以下であったならば、目標値を達成したと
して処理を終了する。また1以上であったならば、再度
その重み付け指標によって各論理回路の出力のトランジ
スタを変更する。この処理を順次繰り返すことによって
重み付け指標が1となった時に目標が達成されたとして
処理を終了し、高速のLSIにおける設定値を決定する。
CMOS論理回路等ではトランジスタサイズ、特にトラン
ジスタの幅を大きくすると各駆動能力が向上して高速と
なり、逆に小さくすると駆動能力が低下して低速とな
る。
本発明はこの特性を応用し、遅延時間が大きい論理回
路すなわち要求指標が大きい論理回路はその出力段のト
ランジスタサイズを大きくし、遅延時間に余裕のある論
理回路は出力段のトランジスタサイズを小さくしてレイ
アウト面積を小さくするようにしている。
これによって遅延時間の厳しい論理回路の高速化をは
かり、厳しくないもののサイズを小さくし、最適なLSI
を設計する指標を求める。尚、トランジスタサイズの変
更は出力段のトランジスタの他、中間段や入力段でも良
い。
第2図は前述のステップS3における重み付け指標の処
理フローチャートである。ステップS3の処理を実行開始
すると、先ずパス間の時間が遅いパスであるか否かをス
テップS11で判別する。
遅いパスがない時(N)には後述のステップS12を実
行する。遅いステップがある時(Y)にはその遅いパス
が複数の論理回路からなるかをステップS13で判別す
る。
ステップS13の判別結果が複数の論理回路よりなる時
(Y)には、続いてステップS14において共通回路が複
数あるかを判別し、共通回路がある時(Y)にはステッ
プS15によって共通する回路を遅いと判断しその重み付
け指標をTX/Tとする。尚、ここでTXとは計算によって求
めた遅延時間であり、Tとは目標とする遅延時間であ
る。
ステップS14における共通回路があるか否かの判別に
おいて共通回路がない(N)と判別した時、あるいはス
テップS13において複数存在しないと判別した時(N)
には、ステップS16で該当する各論理回路の重み付け指
標をTX/Tとする。
ステップS15においては共通する回路のみを指標をTX/
Tとするが、ステップS16においては、論理回路が複数で
あった場合にそれぞれの回路を、また1個であった場合
にはその1個の論理回路をTX/Tとする。
前述した処理によって遅いパスが存在する場合につい
ての処理を終了し、続いてステップS12において速いパ
スがあるか否かを判別する。速いパスがない時(N)に
は全処理を終了する。
速いパスが存在する時(Y)には、そのパス内に遅い
パスに関係のない論理回路があるか否かをステップ17で
判別する。遅いパスに関係ない論理回路が存在しない時
(N)には処理を終了する。
ステップS15、S16においては遅いパスが存在する場合
の処理であり、遅い場合には必ずこの処理を行わないと
目標を満足する回路を得ることができない。これに対
し、速いパスが存在しても、それらのパスを構成する論
理回路が上述の遅いパスをも構成するものであるなら
ば、遅くすることはできない。このため、速いパスを構
成する論理回路であって、遅いパスに含まれない論理回
路の遅延時間を後述する処理で遅くする。
また遅いパスに関係ない回路が存在する時(Y)には
ステップS18でその関係しない論理回路のパスをTX/Tと
する。遅いパスに関係しないこの論理回路は速いパスに
存在するので、TX/T値は1以下の値が設定される。ステ
ップS18の処理終了の後全処理を終了する。
この重み付け指標の処理によって各論理回路は重み付
け指標が設定される。なお、ステップS15,S16,S18でそ
の回路の重み付け指標が設定されなかった論理回路はデ
フォルト値として1が設定されている。
共通回路とは、ひとつの終点ラッチ回路から、複数の
始点ラッチ回路にバックトレースした際、パスディレイ
値が遅い複数のパスに共通に寄与している論理回路Lnを
表わす。通常は、各論理回路(論理ブロック)を指定す
るので、計算機によって共通回路を認識・識別できる。
同様に、速いパスについても、全く遅いパスに関与して
いない論理回路Lnを識別すれば良い。
前述した第3図のモデル構成図の各論理回路L1〜L9に
含まれる回路は、全て入力信号数が1の回路で構成され
ているとしている。例えば、第4図に示す如く、第3図
の論理回路L1と論理回路L2は1入力1出力の複数の回路
L11〜L15,L21〜L25より構成されるとしている。しかし
ながら、本発明はこれに限るものでない。
以下では、他のモデル構成を説明する。実際のLSI設
計では、設計者がある程度の論理の集まりを論理ブロッ
クとして指示し、対象となるフリップフロップやラッチ
回路をも指定する。多くの場合、論理ブロックは機能ブ
ロックで分割する。例えば、アダー、シフタ、演算器、
制御回路等の機能で分割する。これらの論理ブロックは
1入力1出力の論理回路より構成されないが、その内の
1個のパスを一意的に決定し、そのパスを1入力1出力
の回路と仮定して、前述の処理を行う。例えば、第5図
に示す如く論理回路L11を3入力ゲート、論理回路L12が
2入力ゲート、論理回路L13が4入力ゲート、論理回路L
14が2入力ゲート、論理回路L15が1入力ゲートのよう
に、それぞれ複数個の入力を有するゲートであっても、
その内の1個を計算パスPSとして決定し、1個の1入力
1出力論理回路と仮定する。
一方、前述した論理回路L1〜L9内の各論理ゲートの遅
延時間(Tdgate)は、あらかじめ求めておく。通常、1
個の論理ゲートの遅延時間TLnは、第6図に示す如く各
ゲートが持つ基本ディレイ値(Tbase)と、各ゲートの
出力負荷(負荷ゲートの数(Fan−Out)とそれらを接続
する配線)ディレイ値(Tload)の和(Tbase+Tload)
により計算される。
ラッチ回路間のパスディレイ値および各論理回路Ln内
のディレイ値は、これらゲートディレイ値の積算とな
り、全て計算機を使用して計算可能である。
以下では、実際の例を用いて更に詳細に説明する。
第3図は本発明の論理を説明するモデル構成図であ
る。フリップフロップ回路等よりなるラッチ回路F1〜F3
は始点用のラッチ回路であり、同じくラッチ回路F4〜F6
は終点用のラッチ回路である。このモデル構成において
始点用ラッチ回路F1〜F3と終点用ラッチ回路F4,F6に挟
まれた回路から9つの論理回路L1〜L9を分離する。この
論理回路L1〜L9は内部にラッチ回路等の順序回路を持た
ない組み合わせ回路であり、2個以上の信号に直接存在
しないものである。尚、残りはナンドゲートとなってい
る。
すなわち、以下の接続構成となっている。始点用ラッ
チF1〜F3に論理回路L1〜L3が接続している。論理回路L
1、L2の出力はナンドゲートNAND1に入力し、その出力は
論理回路L4、L5に入力する。ナンドゲートNAND2の入力
には、論理回路L4、L3の出力が加わり、そのナンドゲー
トの出力は論理回路L7、L8を介し、終点用ラッチ回路F
4、F5に加わる。
さらに、論理回路L3の出力は論理回路L6に接続され
る。論理回路L5、L6の出力はナンドゲートNAND3に入力
し、ナンドゲートNAND3の出力は論理回路L9を介して終
点用ラッチ回路F6に加わる。
このように組み合わせ回路から論理回路を分離するの
が、第1図におけるステップS1である。
このような論理回路を分離したモデル構成に対応し、
各論理ゲートすなわち、第3図の構成においては論理回
路L1〜L9やナンドゲートNAND1〜NAND3自体の全ゲートを
標準としたトランジスタサイズで構成した場合の遅延時
間を演算する。そして、各終点ラッチ回路を出発点とし
て入力方向にバックトレースし、各始点ラッチ回路まで
の遅延時間の目標遅延時間Tに対する比率を計算し、第
7図に示す遅延時間図表を作成する。第7図における遅
延時間はそれぞれ求めた遅延時間を目標遅延時間Tで割
った値すなわち正規化した値である。第7図の表が第1
図のステップS2(1回目の処理)で求めたものである。
続いて第7図の遅延時間図表とモデル構成図とから、
共通して改善が必要な論理回路Lnと改善指標すなわち重
み付け指標を以下の順に計算する。この改善指標すなわ
ち重み付けを求める手順はステップS3を詳細に表した第
2図の処理による。
終点のラッチ回路F4へのパスに関し、ラッチ回路F1か
らのパス、ラッチ回路F2からのパス、ラッチ回路F3から
のパスの遅延時間を求める。この遅延時間はそれぞれ1.
3,0.9,1.1である。ラッチ回路F1からのパスとラッチF3
からのパスは目標の値に対し遅いものであり、ラッチ回
路F1とラッチ回路F3からラッチ回路F4までのパスで共通
に通過する論理回路を求める。
この共通に通過する論理回路は論理回路L7であるの
で、論理回路L7は高速化が必要であるとし改善指標を最
大値の1.3とする。この改善指標とはトランジスタサイ
ズを1.3倍とすることを表している。尚、トランジスタ
サイズは最終的に改善指標から求めた重み付け指標によ
って決定する。
またラッチ回路F2からのパスは0.9と速く、このパス
内の遅いパスに無関係なものは論理回路L2であり、論理
回路L2を低速化してもよいこととなる。よって改善指標
を0.9とする。すなわちトランジスタサイズを0.9倍す
る。
続いて終点のラッチ回路F5へのパスについて求める。
ラッチ回路F2からのパスが1.5と遅く共通に通過するも
のは論理回路L2,L4,L8であり、これらはそれぞれ高速化
が必要である。よって改善指標をそれぞれ最大値の1.5
とする。
またラッチ回路F2からのパスとラッチ回路F3からのパ
スが速い。よって遅いパスに関係ないものは論理回路L
1,L3であるので論理回路L1,L3は低速化してもよいもの
であり、よって改善指標をそれぞれ0.8,0.7とする。
更に、終点のラッチ回路F6のパスにおいては、ラッチ
回路F1からのパスが1.7と、ラッチ回路F3からのパスの
相対遅延時間が1.4と遅い。共通するものは論理回路L9
であり、論理回路L9は高速化を必要とする。この時の改
善指標は最大値の1.7とする。
また、ラッチ回路F2からのパスの遅延時間は0.6と速
い。よって遅いパスに関係ないものは論理回路L2であ
り、論理回路L2は低速化してもよいとなる。この時の改
善指標を0.6とする。
以上のようにそれぞれの論理に対し各パス単位で改善
指標である重みを求める。続いてその改善指標を各論理
回路で計算する。この計算が第1図におけるステップS4
である。この改善指標は KL1=1.0×0.8=0.8倍、 KL2=1.0×0.9×1.5×0.6=0.81倍、 KL3=1.0×0.7=0.7倍、 KL4=1.0×1.5=1.5倍、 KL5=1.0=1.0倍、 KL6=1.0=1.0倍、 KL7=1.0×1.3=1.3倍、 KL8=1.0×1.5=1.5倍 L9=1.0×1.7=1.7倍 とする。尚、KL1〜KL9は各論理回路L1〜L8の計算した改
善指標である。
以上の改善によってほぼ目的のものが達成される。し
かしながら、その論理は完全ではないので第1図におけ
るステップS5以後の様に再度トランジスタサイズの変更
を行うと共に遅延時間の演算を行う。そして、再度目標
遅延時間Tに対する比率を計算し改善を実施する。
以上のような繰り返しにより目標の遅延時間Tを満足
するLSIを設計値として得ることができる。
さらに、前述した改善指標を求める手順を複数回繰り
返すことにより、目標遅延時間内とする処理を第3図の
構成におけるICの実際の数値を用いて詳細に説明する。
論理回路のL1〜L9の遅延時間TL1〜TL9は第6図に示す
如く求められ、 TL1=3.0ns TL2=2.0ns TL3=1.0ns TL4=5.0ns TL5=4.0ns TL6=4.0ns TL7=6.0ns TL8=7.0ns TL9=9.0ns を得る。尚、目標遅延時間Tは T=10.0nsとする。
各ラッチ回路間の遅延時間は各パス間の論理回路の遅
延時間の累積である。
ラッチ回路F1からラッチ回路F4への正規化遅延時間
は、論理回路L1,L4,L7を通るので、それぞれの論理回路
の遅延時間TL1,TL4,TL7の和となり、3.0ns+5.0ns+6.0
ns=14nsとなる。これを目標遅延時間Tで割り、正規化
するので、1.4となる。各始点ラッチ回路F1,F2,F3から
終点ラッチ回路F4,F5,F6への正規化遅延時間は以下の如
くなる。
F1→F4=(TL1+TL4+TL7)÷T =(3.0+5.0+6.0)÷10.0=1.4 F2→F4=(TL2+TL4+TL7)÷T =(2.0+5.0+6.0)÷10.0=1.3 F3→F4=(TL3+TL7)÷T =(1.0+6.0)÷10.0=0.7 F1→F5=(TL1+TL4+TL8)÷T =(3.0+5.0+7.0)÷10.0=1.5 F2→F5=(TL2+TL4+TL8)÷T =(2.0+5.0+7.0)÷10.0=1.4 F3→F5=(TL3+TL8)÷T =(1.0+7.0)÷10.0=0.8 F1→F6=(TL1+TL5+TL9)÷T =(3.0+4.0+9.0)÷10.0=1.6 F2→F6=(TL2+TL5+TL9)÷T =(2.0+4.0+9.0)÷10.0=1.5 F3→F6=(TL3+TL6+TL9)÷T =(1.0+4.0+9.0)÷10.0=1.4 前述結果より、始点ラッチと終点ラッチ間の正規化遅
延時間は第8図の如くなる。
続いて、第8図の遅延時間図表とモデル構成図とか
ら、共通して改善が必要な論理回路Lnと改善指標すなわ
ち重み付け指標を以下の順に計算する。この改善指標の
求める手順は第2図の処理によるものであり、前述した
応用例と同様である。
終点ラッチ回路F4へのパスに関し、ラッチ回路F1から
のパスとラッチ回路F2からのパスの遅延時間は1.4と1.3
である。これは目標の値に対し遅いものであり、ラッチ
回路F4までのパスで共通に通過する論理回路は論理回路
L4,L7であるので、論理回路L4,L7の高速化が必要であ
る。この時の改善指標を最大値の1.4とする。
またラッチ回路F3からのパスは0.7と速く、このパス
内の遅いパスに無関係なものは論理回路L3であり、論理
回路L3を低速化してもよいこととなる。よって改善指標
を0.7とする。
続いて終点のラッチ回路F5へのパスについて求める。
ラッチ回路F1,F2からのパスが1.5,1.4と遅く、共通に通
過するものは論理回路L4であり、これらはそれぞれ高速
化が必要である。よって改善指標を最大値の1.5とす
る。
またラッチ回路F3からのパスが速い。遅いパスに関係
ないものは論理回路L3であるので、論理回路L3は低速化
してもよいものであり改善指標を0.8とする。
更に、終点のラッチ回路F6のパスにおいては、ラッチ
回路F1,F2,F3からのパスが1.6,1.5,1.4と遅い。共通す
るものは論理回路L9であり、論理回路L9は高速化を必要
とする。この時の改善指標は最大値の1.6とする。
続いて、求めた改善指標KL1〜KL9を各論理回路単位で
計算する。
KL1=1.0=1.0倍 KL2=1.0=1.0倍 KL3=1.0×0.7×0.8=0.56倍 KL4=1.0×1.4×1.5=2.1倍 KL5=1.0=1.0倍 KL6=1.0=1.0倍 KL7=1.0×1.4=1.4倍 KL8=1.0=1.0倍 KL9=1.0×1.6=1.6倍 とする。この改善指標KL1〜KL9で各論理回路の例えば出
力トランジスタの面積や長さを変更する。
トランジスタサイズと遅延時間は前述した様に、比例
するので、上述した変更の結果、各遅延時間TL1〜TL9は
以下の如くなる。
TL1=3.0ns TL2=2.0ns TL3=1.0÷(0.7×0.8)=1.79ns TL4=5.0÷(1.4×1.5)=2.38ns TL5=4.0ns TL6=4.0ns TL7=6.0÷1.4=4.29ns TL8=7.0ns TL9=9.0÷1.6=5.63ns 前述変更した各論理回路L1〜L9の遅延時間から、各パ
スの遅延時間を求める。これは前述した如く、第8図を
求める時の処理と同様であり、以下の式を計算する。
F1→F4=(TL1+TL4+TL7)÷T =(3.0+2.38+4.29)÷10.0=0.97 F2→F4=(TL2+TL4+TL7)÷T =(2.0+2.38+4.29)÷10.0=0.87 F3→F4=(TL3+TL7)÷T =(1.79+4.29)÷10.0=0.61 F1→F5=(TL1+TL4+TL8)÷T =(3.0+2.38+7.0)÷10.0=1.24 F2→F5=(TL2+TL4+TL8)÷T =(2.0+2.38+7.0)÷10.0=1.34 F3→F5=(TL3+TL8)÷T =(1.79+7.0)÷10.0=0.88 F1→F6=(TL3+TL4+TL9)÷T =(3.0+4.0+5.63)÷10.0=1.26 F2→F6=(TL2+TL5+TL9)÷T =(2.0+4.0+5.63)÷10.0=1.16 F3→F6=(TL3+TL6+TL9)÷T =(1.79+4.0+5.63)÷10.0=1.14 これにより、第9図に示す如く新たな遅延回路(1回
目結果)を得る。
続いて、第2回目の改善指標を求める。終点ラッチ回
路F4へのパスに関し、始点ラッチ回路F1,F2,F3からのパ
スの正規化遅延時間は0.97,0.87,0.61である。これらの
パスに共通する論理回路において、遅いパスに関係しな
い論理回路を求めると、論理回路L7であるので、この論
理回路L7の遅延指数を0.61とする。
終点のラッチ回路F5へのパスに関しては、始点ラッチ
回路F1,F2,F3からのパスの正規化遅延時間は1.2,1.34,
0.88である。遅い遅延パスが2個存在する。そのパスに
遅延に関係するものは論理回路L4,L8であるので、その
遅延時間の遅延指数を1.34とする。また、速いパスに係
り、遅いパスに関係しないものは論理回路L3であるの
で、遅延指数9を0.88とする。終点ラッチ回路F6へのパ
スに関しては、始点のラッチ回路F1,F2,F3からのパスの
正規化遅延時間は1.26,1.16,1.14で全て目標値より遅
い。それらのパス全てに関係するものは論理回路L9であ
るので、論理回路L9の遅延指数を最大値の1.26とする。
同様に各論理回路の遅延時間を再計算すると、 L1=3.0ns L2=2.0ns L3=1.79÷0.88=2.03ns L4=2.38÷1.34=1.78ns L5=4.0ns L6=4.0ns L7=4.29÷0.61=7.03ns L8=7.0÷1.34=5.22ns L9=5.63÷1.26=4.47ns この時、各ラッチ回路間の正規化遅延時間は以下となる
(第10図参照)。
F1→F4=(TL1+TL4+TL7)÷T =(3.0+1.78+7.03)÷10.0=1.18 F2→F4=(TL2+TL4+TL7)÷T =(2.0+1.78+7.03)÷10.0=1.08 F3→F4=(TL3+TL7)÷T =(2.03+7.03)÷10.0=0.91 F1→F5=(TL1+TL4+TL8)÷T =(3.0+1.78+5.22)÷10.0=1.00 F2→F5=(TL2+TL4+TL8)÷T =(2.0+1.78+5.22)÷10.0=0.90 F3→F5=(TL3+TL8)÷T =(2.03+5.22)÷10.0=0.73 F1→F6=(TL3+TL4+TL9)÷T =(3.0+4.0+4.47)÷10.0=1.15 F2→F6=(TL2+TL5+TL9)÷T =(2.0+4.0+4.47)÷10.0=1.05 F3→F6=(TL3+TL6+TL9)÷T =(2.03+4.0+4.47)÷10.0=1.05 以上の如く第11図に示す各論理回路の遅延時間の変化
を表わす図表の様に各論理回路を変更することにより、
順次目標値に近いパスの遅延時間となる。
第12図は初期、1回目改善、2回目改善の処理を行っ
た際の各パスの正規化遅延時間を表わす図である。初期
においては最大正規化遅延時間が1.6であったが、1回
目で1.34となり、2回目で1.18となっている。これは、
本発明の実施例の処理によって、同期式ICのクロックの
高速化が可能となることを表わしている。また、各パス
の遅延時間差(速いものと遅いものとの差)はl0,l1,l2
と小さくなっている。
前述した動作では2回で終了しているが、3回やそれ
以上の処理を行っても良い。
前述した第1回の実施例においては、全ての遅延時間
が目標値以内となった時に終了しているが、これに限る
ものではなく、最も速い遅延のパスと最も遅い遅延のパ
スの時間幅を常に求め、特定値以内となった時の処理を
終了してもよい。また、その時間幅が変化しなくなった
り、逆に大きくなったりした時に終了してもよい。
産業上の利用可能性 以上述べたように本発明によれば、論理回路の遅延時
間とレイアウト面積をバランスよく改善することがで
き、各論理回路が同一の遅延時間を有し且つ高速である
LSIを設計でき、信頼度の高いLSIを提供することができ
る。
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H01L 21/82 H01L 37/04 G06F 15/60

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】少なくとも組み合わせ回路と複数のラッチ
    回路から成る半導体IC回路の設計において、 クロックに対応してデータを入出力する前記複数のラッ
    チ回路間に設けられた組み合わせ回路から、2個以上の
    信号に直接依存しない論理回路を分離し、 終点となる前記複数のラッチ回路と、始点となる前記複
    数のラッチ回路とを決定し、前記各始点となるラッチ回
    路と終点となるラッチ回路間のパスに対して、それぞれ
    遅延時間を計算し、 前記分離した論理回路に対する前記遅延時間に関係した
    重み付けを前記パス単位で行い、 得られた重み付けから、前記分離した論理回路単位で、
    遅延時間を変更する相対指標を計算することを特徴とす
    る遅延時間最適化方法。
  2. 【請求項2】前記論理回路の相対指標は、前記論理回路
    を構成するトランジスタの大きさの指示に関するデータ
    であることを特徴とする請求項1記載の遅延時間最適化
    方法。
  3. 【請求項3】前記重み付けは、前記遅延時間を前記設計
    する半導体ICの目標の遅延時間で正規化した値の前記パ
    スに係わる前記論理回路への選択的な割り当てであるこ
    とを特徴とする請求項1記載の遅延時間最適化方法。
  4. 【請求項4】前記選択的な割り当ては、同じ終点側ラッ
    チへの複数のパスの遅延時間の正規化値が1より大きい
    時には、該複数のパスに共通する論理回路の前記相対指
    標に前記正規化値を乗じることを特徴とする請求項3記
    載の遅延時間最適化方法。
  5. 【請求項5】前記相対指標は、初期に設定したトランジ
    スタの大きさを1とし、それに前記正規化値を乗じた結
    果で、前記トランジスタの大きさを決定するデータであ
    ることを特徴とする請求項3記載の遅延時間最適化方
    法。
  6. 【請求項6】前記選択的な割り当ては、終点側ラッチへ
    のパスの遅延時間の正規化値が1より小さい時には、他
    のパスの正規化値が1より大きいパスに係わる論理回路
    以外の当該パスに係わる論理回路の前記相対指標に前記
    正規化値を乗じることを特徴とする請求項3記載の遅延
    時間最適化方法。
  7. 【請求項7】前記相対指標は初期に設定したトランジス
    タの大きさを1とし、それに前記正規化値を乗じた結果
    で前記トランジスタの大きさを決定することを特徴とす
    る請求項6記載の遅延時間最適化方法。
  8. 【請求項8】相対指標によって論理回路のゲートを改善
    して再度処理を繰り返し、最適なゲートとすることを特
    徴とする請求項1記載の遅延時間最適化方法。
  9. 【請求項9】前記2個以上の信号に直接依存しない論理
    回路は、複数の入力を有する組み合わせ回路に一意的に
    決定したパスであることを特徴とする請求項1記載の遅
    延時間最適化方法。
JP5507604A 1991-10-17 1992-10-19 遅延時間最適化方法 Expired - Fee Related JP3034607B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5507604A JP3034607B2 (ja) 1991-10-17 1992-10-19 遅延時間最適化方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP3-269771 1991-10-17
JP26977191 1991-10-17
PCT/JP1992/001354 WO1993008598A1 (en) 1991-10-17 1992-10-19 Method for optimizing delay time
JP5507604A JP3034607B2 (ja) 1991-10-17 1992-10-19 遅延時間最適化方法

Publications (1)

Publication Number Publication Date
JP3034607B2 true JP3034607B2 (ja) 2000-04-17

Family

ID=26548906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5507604A Expired - Fee Related JP3034607B2 (ja) 1991-10-17 1992-10-19 遅延時間最適化方法

Country Status (1)

Country Link
JP (1) JP3034607B2 (ja)

Similar Documents

Publication Publication Date Title
Smith et al. Designing asynchronous circuits using NULL convention logic (NCL)
US5404311A (en) Method of optimizing delay times
US7010763B2 (en) Method of optimizing and analyzing selected portions of a digital integrated circuit
JP2735034B2 (ja) クロック信号分配回路
US6651229B2 (en) Generation of refined switching windows in static timing analysis
US7222318B2 (en) Circuit optimization for minimum path timing violations
JP2609799B2 (ja) 順序回路の再設計方法
US6457159B1 (en) Functional timing analysis for characterization of virtual component blocks
JPH11353357A (ja) 再コンフュギュレ―ション可能なハ―ドウェアの評価装置及び評価方法
KR20100049614A (ko) 크로스토크로 유도된 노이즈를 위한 제한된 어그레서 세트 선택 방법
US6609241B2 (en) Method of designing clock wiring
JPH09293094A (ja) レイアウト設計装置
CN116401987A (zh) 一种芯片时序优化方法、系统、设备及介质
US5886904A (en) Latch optimization in hardware logic emulation systems
US20100253409A1 (en) Clock generation system and clock dividing module
US5966521A (en) System and method for analyzing static timing
JP2758817B2 (ja) 論理回路実現性判定システム
JP3034607B2 (ja) 遅延時間最適化方法
Motaqi et al. Detailed implementation of asynchronous circuits on commercial FPGAs
US6828838B1 (en) Vectored flip-flops and latches with embedded output-merge logic and shared clock drivers
JPH09246951A (ja) 動的論理符号化方法と装置
JP2000276504A (ja) 論理接続情報変換装置
JP3102408B2 (ja) 信号遅延低減方法及び装置
JP3004589B2 (ja) パストランジスタ論理設計方法
JP2924464B2 (ja) 論理合成手法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080218

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100218

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120218

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees