JP2677256B2 - 遅延最適化方法 - Google Patents

遅延最適化方法

Info

Publication number
JP2677256B2
JP2677256B2 JP7159465A JP15946595A JP2677256B2 JP 2677256 B2 JP2677256 B2 JP 2677256B2 JP 7159465 A JP7159465 A JP 7159465A JP 15946595 A JP15946595 A JP 15946595A JP 2677256 B2 JP2677256 B2 JP 2677256B2
Authority
JP
Japan
Prior art keywords
delay
level latch
clock
minimum
time
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
JP7159465A
Other languages
English (en)
Other versions
JPH098143A (ja
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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP7159465A priority Critical patent/JP2677256B2/ja
Priority to US08/670,128 priority patent/US5764528A/en
Publication of JPH098143A publication Critical patent/JPH098143A/ja
Application granted granted Critical
Publication of JP2677256B2 publication Critical patent/JP2677256B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は論理合成装置に利用す
る。特に、最小遅延制約の補償方法に関する。
【0002】
【従来の技術】まず、最小遅延を補償することの意味に
ついて説明する。例えば、D型フリップフロップ(以
下、DFFと記す)のデータ入力端の信号値は、クロッ
クの立ち上がり(または立ち下がり)の瞬間に読み込ま
れ出力端に伝播するが、クロックの立ち上がり(または
立ち下がり)時点の前後の一定の時間、入力信号が安定
な状態に固定されていないと正しい信号値が伝播できな
い。そのため、セットアップ時間(クロック立ち上がり
(または立ち下がり)時点の前の一定時間)、ホールド
時間(クロック立ち上がり(または立ち下がり)時点の
後の一定時間)という時間制約をDFFのデータ入力端
に設け、この時間内に入力信号が変化することを禁止し
ている。
【0003】一般に、記憶素子、例えばDFFを含んだ
順序同期回路は、DFFの出力端または外部入力端から
始まり、DFFのデータ入力端で終端する組合せ論理素
子から成る信号経路(以下、パスと記す)が存在する。
【0004】パス上の組合せ論理素子が複数の入力端を
有するとき、入力端に到着する信号は別々の経路を通っ
て来るために信号が到着する時間(到着時間)がそれぞ
れ異なり、組合せ論理素子の出力値は最初の入力信号が
到着した時点から変化し始め(不確定になり)、最後の
信号が到着した時点で確定する。この信号値が変化し始
める時間を最小到着時刻または最小遅延とよび、信号値
が確定する時間を最大到着時刻または最大遅延とよぶ。
ただし、入力信号値と直前の出力信号値の組合せによっ
ては出力信号値が変化しないこともある。
【0005】1相同期順序回路を仮定したとき、最大/
最小遅延はパス上を伝播し、パスの終端であるDFFの
データ入力端においても最小遅延と最大遅延が存在し、
同期順序回路が正しく動作するためには、まず、DFF
のデータ入力端における最小遅延がホールド時間(最小
要求時刻)よりも大きく(最小遅延制約)、最大遅延は
クロック周期からセットアップ時間を差し引いた時間
(最大要求時刻)よりも小さくなければならない(最大
遅延制約)。
【0006】パスの終端のDFFの入力端における最小
/最大要求時刻は、回路の遅延計算をすることによって
パス上を信号伝播方向とは反対方向に逆算して伝播する
ことができ、パス上の全ての組合せ論理素子の出力端
(以下、ネットと記す)に対して最小/最大要求時刻を
計算して設定することができる。
【0007】最小/最大遅延制約は全てのネットにおい
て満たされていなければならず、各ネットiの最大遅延
の到着時刻をA(i)、最小遅延の到着時刻をa
(i)、最大遅延の要求時刻をR(i)、最小遅延の要
求時刻をr(i)とすると、 A(i)<R(i) かつ r(i)<a(i) …(1) が成り立たなければならない。
【0008】順序同期回路において、順序同期回路のフ
リップフロップのホールド時間制約を満たすための補償
処理(以下、最小遅延補償という)として、従来、遅延
バッファを挿入する方法があった。この従来例を図9な
いし図11を参照して説明する。図9は最小遅延制約に
違反するパスを含む順序同期回路の例とその動作を示す
タイミングチャートを示す図である。図10は従来例の
遅延最適化方法を示すフローチャートである。図11は
従来例の遅延最適方法が適用された順同期回路の例とそ
の動作を示すタイミングチャートを示す図である。図9
において、F1〜F7はDFFで、これらのDFFはク
ロックの立ち上がりでトリガされ入力データを取り込み
保持するものとする。CLK1はクロック入力端、G1
〜G5は組合せ論理素子、N1〜N12はネットであ
る。F1〜F5からN10へ、以下に示す8本のパスが
存在する。
【0009】F1−N1−G5−N10、F2−N2−
G3−N9−G5−N10、F3−N3−G1−N6−
G3−N8−G5−N10、F3−N3−G1−N6−
G4−N9−G5−N10、F4−N4−G1−N6−
G3−N8−G5−N10、F4−N4−G1−N6−
G4−N9−G5−N10、F4−N4−G2−N7−
G4−N9−G5−N10、F5−N5−G2−N7−
G4−N9−G5−N10、ここでは、F1−N1−G
5−N10とF2−N2−G3−N8−G5−N10の
2つのパスを通った信号の到着時刻がN10の最小遅延
制約に違反しているものとする。
【0010】各ネットiの最大遅延の到着時刻をA
(i)、最小遅延の到着時刻をa(i)、最大遅延の要
求時刻をR(i)、最小遅延の要求時刻をr(i)とす
る。ネットiのルートに遅延dの遅延バッファを挿入す
ると、最大遅延も最小遅延もdだけ増大するため、挿入
後の回路が式(1)を満たすためには、 A(i)+d<R(i)かつr(i)<a(i)+d これを一つの式にまとめて、 (A(i)+d)+r(i)<R(i)+(a(i)+d) すなわち、 A(i)−a(i)<R(i)−r(i) もしくは、 r(i)−a(i)<R(i)−A(i) …(2) が成り立つネットにしかバッファを挿入できない。すな
わち、式(2)が成り立たないネットに最小遅延制約を
満たすように遅延バッファを挿入すると必ず最大遅延制
約に違反してしまう。
【0011】式(2)において、r(i)−a(i)を
最小スラック、R(i)−A(i)を最大スラックとい
う。
【0012】図10は従来の技術での、遅延素子やバッ
ファの挿入による最小遅延補償方法の例であり、N.
V.シェイノ、R.K.ブレイトン、A.L.サンジョ
ヴァンニ・ヴィンセント(N.V.Shenoy,R.K.Brayton,A.L.
Sangiovanni-Vincentelli),「ミニマム・パディング・
トゥ・サティスファイ・ショートパス・コンシトレイン
ツ(Minimum Padding to Satisfy Short Path Constrain
ts) 」、アイシーキャド93(ICCAD93),156 〜161 ペー
ジ,アイトリプルイー(IEEE),1993(文献
1)の中で基本的方法として述べられた方法に、面積を
節約するためのヒューリスティックを加えたものであ
る。
【0013】この処理方法は、1相クロックの順序同期
回路を対象とし、最大遅延の最適化がすでに実行済み
で、セットアップ時間制約(最大遅延制約)がすでに満
たされていることを前提としている。
【0014】ステップ81において、最大遅延計算を行
い、パス上の各ネットに最大スラックを書込む。ステッ
プ82において、最小遅延計算を行い、パス上の各ネッ
トに最小スラックを書き込み、最小遅延違反パスのリス
トを記憶部に保持する。ステップ83において、最小遅
延違反パスがあればステップ84に進み、なければ処理
を終了する。ステップ84において、遅延バッファ挿入
位置の計算と遅延バッファ挿入を行う。ステップ85に
おいて、最小遅延違反パスに含まれるネットの集合を選
び、S1とする。ステップ86において、S1のうち、
最大スラックおよび最小スラックが式(2)を満たすネ
ットを選び、S2とする。ステップ87において、S2
が空であればS1をS2とする。ステップ88におい
て、S2のうち、最小遅延違反パスの重複度が高いネッ
トを選び、S3とする。ステップ89において、S3か
らネットを1本選んで遅延バッファを挿入し、ステップ
81に戻る。
【0015】図11は図9の回路例に、以上説明した従
来例の遅延最適化方法を実行して得られた順序同期回路
とそのタイミングチャートである。遅延バッファ1個の
面積を2単位とする。DFFのデータ入力端における最
大遅延はそのままで、最小遅延だけが増加し、遅延制約
はすべて満たされている。挿入されたのは遅延バッファ
が6個で、面積増加分は12単位である。
【0016】
【発明が解決しようとする課題】従来例の順序同期回路
における遅延バッファ挿入による最小遅延補償方法で
は、最大遅延に影響をなるべく与えずに面積最小となる
最適挿入位置を計算するために、最大遅延と最小遅延の
両方を詳細に計算する必要があるため、計算処理時間が
大きいという問題がある。
【0017】また、複合論理ゲートやマルチプレクサな
どの多入力の組合せ論理素子で、到着時刻が早すぎる入
力端が多数あり、その一方で出力端のネットが式(2)
を満たさない場合には到着時刻が早すぎる入力端のネッ
トすべてに別々に遅延バッファを挿入せざるを得ず、挿
入位置数が多くなり面積増加が大きくなるという問題が
ある。
【0018】さらに、クロックスキューの影響を考慮し
て、ホールド時間のマージンをユーザが大きめにとる場
合があり、遅延バッファを挿入する方法では、ホールド
時間の長さに比例して複数個の遅延バッファを直列に挿
入しなければならず、面積増加が大きいという問題があ
る。
【0019】本発明は、このような背景に行われたもの
であり、最大遅延時間に影響を与えることのない遅延最
適化方法を提供することを目的とする。本発明は、計算
処理時間を短縮することができる遅延最適化方法を提供
することを目的とする。本発明は、順序同期回路の面積
増加を低減させることができる遅延最適化方法を提供す
ることを目的とする。
【0020】
【課題を解決するための手段】本発明は、順序同期回路
内のあらかじめ定められた最小遅延制約に違反して遅延
時間が不足する信号経路に対して最小遅延を補償するよ
うに遅延時間を付加する遅延最適化方法である。
【0021】ここで、本発明の特徴とするところは、前
記最小遅延制約に違反した信号経路にレベルラッチを挿
入するステップを備え、この挿入するステップは、前記
順序同期回路に含まれる出力端毎に最小遅延制約に違反
した信号経路の重複度を計算するステップと、この重複
度が大きい信号経路から順に前記順序同期回路のLSI
レイアウトパターン面積が最小となるように前記レベル
ラッチを挿入するステップとを備えたところにある。
【0022】前記挿入するステップは、フリップフロッ
プのクロックのエッジトリガ極性に応じクロックの立ち
上がりで入力データを取り込むフリップフロップに対し
てはアクティブローのレベルラッチを挿入しクロックの
立ち下がりで入力データを取り込むフリップフロップに
対してはアクティブハイのレベルラッチを挿入するステ
ップを含むことが望ましい。
【0023】前記レベルラッチに代えて少なくとも一部
に遅延バッファを挿入するステップを備えることもでき
る。
【0024】前記順序同期回路内のクロックのデューテ
ィ比を変化させるステップを備えることもできる。
【0025】前記レベルラッチに代えて遅延バッファを
挿入するステップを備え、前記レベルラッチまたは前記
遅延バッファを挿入したときの前記順序同期回路のLS
Iレイアウトパターン面積を比較するステップを備え、
遅延バッファを挿入した方がこのLSIレイアウトパタ
ーン面積が小さくなるとき前記レベルラッチに代えて遅
延バッファを挿入するステップを実行するステップを含
むこともできる。
【0026】
【作用】順序同期回路内の例えばフリップフロップのよ
うな論理素子の入力端では、複数の入力信号が同時かあ
るいは許容時間内の時間差をもって入力されることが要
求される。ところが、論理素子の入力端に到達するまで
の複数の信号経路の遅延量はまちまちであり、要求され
るタイミングで論理素子に入力されない信号が発生する
こともありうる。これを補償するために信号経路に遅延
要素を挿入することが行われる。
【0027】本発明では、遅延要素としてレベルラッチ
を用いている。レベルラッチはクロックに同期して一時
的に信号状態を保持するためのものであるから、レベル
ラッチが挿入されても、回路全体としては遅延は発生し
ない。したがって、所望の部位において信号状態を一時
保持することにより、あたかも遅延を与えたようにみせ
ることができるが、実際には遅延は発生していない。こ
れにより、レベルラッチを複数挿入することによる回路
全体の最大遅延時間に変化は起こらない。
【0028】このため、レベルラッチを挿入する毎に最
大遅延を計算し直す必要はなく、その分処理時間が短縮
される。また、遅延要素をいずれかに挿入することによ
り他の部位に何らかの処理を追加しなければならなくな
るような事態も回避できるため、LSIレイアウトパタ
ーン面積の増加を抑えることができる。
【0029】また、例えばレベルラッチ自体のホールド
時間またはセットアップ時間が無視できず、レベルラッ
チの挿入が問題となる部位については遅延バッファを併
用するようにすればよい。
【0030】最小遅延要求時間がレベルラッチのラッチ
時間よりも長いときには、クロックのデューティ比を変
化させるなどの処理を施すこともよい。
【0031】さらに、レベルラッチを挿入した場合と、
遅延バッファを挿入した場合とで回路面積の増加状態を
あらかじめ計算し、その小さい方の方法を自動的に切替
選択するようにしてもよい。
【0032】
【実施例】 (第一実施例)本発明第一実施例を図1ないし図3を参
照して説明する。図1は本発明方法の全体構成を示す図
である。図2は本発明方法の全体的な動作を示すフロー
チャートである。図3は本発明第一実施例の動作を示す
フローチャートである。図4は本発明第一実施例の適用
回路およびそのタイミングチャートを示す図である。
【0033】本発明は、回路入力部2から入力された順
序同期回路内の制約条件入力部3から入力されたあらか
じめ定められた最小遅延制約に違反して遅延時間が不足
する信号経路に対して最小遅延を補償するように遅延時
間を付加する遅延最適化方法である。
【0034】ここで、本発明の特徴とするところは、遅
延最適化部6では、前記最小遅延制約に違反した信号経
路にレベルラッチを挿入するステップを備え、この挿入
するステップは、前記順序同期回路に含まれる出力端毎
に最小遅延制約に違反した信号経路の重複度を計算する
ステップと、この重複度が大きい信号経路から順に前記
順序同期回路のLSIレイアウトパターン面積が最小と
なるように前記レベルラッチを挿入するステップとを備
えたところにある。
【0035】図1に示すように、本発明第一実施例は、
順序同期回路のテクノロジマッピングに用いるテクノロ
ジライブラリブロック情報を入力するライブラリ入力部
1と、論理合成対象回路である順序同期回路を読み込む
回路入力部2と、セットアップ/ホールド時間制約等の
最大/最小遅延等の制約条件を読み込む制約条件入力部
3と、読み込まれた論理合成対象回路の論理を最適化す
る論理最適化部4と、論理合成対象回路にテクノロジラ
イブラリブロックを割り当てるテクノロジマッピング部
5と、制約条件として指定された遅延制約を満たすこと
を目的関数に論理合成対象回路である順序同期回路の遅
延最適化を行う遅延最適化部6と、テクノロジライブラ
リと順序同期回路と制約条件を保持する記憶部7と、論
理合成結果の順序同期回路を出力する回路出力部8より
構成される。
【0036】次に、図2を参照して順序同期回路の全体
の動作を説明する。ライブラリ入力部1において、ライ
ブラリ入力処理12によりテクノロジライブラリブロッ
クの論理、遅延値などの情報が記述されたテクノロジラ
イブラリ11を入力し、記憶部7に保持する。回路入力
部2において、回路入力処理14により回路記述13を
入力し、記憶部7に保持する。制約条件入力部3におい
て、制約入力処理16により回路記述13に対する遅
延、LSIレイアウトパターン面積などの制約条件15
を入力し、記憶部7に保持する。
【0037】論理最適化部4および遅延最適化部6にお
いて、記憶部7に保持している回路に対し、テクノロジ
独立最適化処理17によりテクノロジ独立な状態での論
理最適化および記憶部7に保持している遅延に関する制
約条件を満たすことを目的としたテクノロジ独立な状態
での遅延最適化を行う。
【0038】テクノロジマッピング部5において記憶部
7に保持している回路に対して、記憶部7に保持してい
るLSIレイアウトパターン面積その他の制約条件を満
たすことを目的にテクノロジマッピング処理18により
テクノロジライブラリブロックを割当てる。
【0039】遅延最適化部6において、記憶部7に保持
している回路に対して、記憶部7に保持している遅延に
関する制約条件を満たすことを目的に最大遅延最適化処
理19によりテクノロジ依存状態での最大遅延最適化を
行う。
【0040】遅延最適化部6において、記憶部7に保持
している回路に対して、記憶部7に保持している遅延に
関する制約条件を満たすことを目的に最小遅延最適化処
理20によりテクノロジ依存状態での最小遅延最適化を
行う。
【0041】回路出力部8において、記憶部7に保持し
ている回路を回路出力処理21により出力し、回路記述
22を得る。
【0042】次に、最小遅延最適化処理20における、
レベルラッチ挿入による最小遅延補償の詳細を説明す
る。まず、最小遅延制約に違反しているネットにレベル
ラッチを挿入することで最小遅延補償ができることを説
明する。ここでは、ネットにレベルラッチを挿入すると
は、ある素子の出力端とネットの間にレベルラッチを挿
入し、素子の出力端とレベルラッチのデータ入力端を1
本の別のネットで接続し、レベルラッチの出力端ともと
のネットを接続することとする。
【0043】立ち上がりクロックでトリガされるDFF
を用いた1相同期順序回路の場合には、クロックがロー
レベルのときに入力信号値を出力に透過する状態になる
(アクティブ・ロー)レベルラッチをネットiに挿入
し、DFFに供給されているクロックと同じ波形のクロ
ックをレベルラッチにも供給することを考える(立ち下
がりクロックでトリガされるDFFの場合は、クロック
がハイレベルのときに入力信号値を出力に透過する状態
になる(アクティブ・ハイ)レベルラッチを挿入す
る)。
【0044】レベルラッチ挿入前のネットiの最小到着
時刻をa(i)、最大到着時刻をA(i)、最小要求時
刻をr(i)、最大要求時刻をR(i)とし、レベルラ
ッチがラッチされている時間、すなわちクロックがハイ
レベルになっている時間をTL、レベルラッチが入力信
号値を出力に透過する状態の(アクティブになってい
る)時間、すなわちクロックがローレベルになっている
時間をTAとする。信号がレベルラッチを透過するのに
かかる時間をTTとする(TTは一般にTLと比べて十
分小さい)。また、レベルラッチ自体のセットアップ時
間TS、ホールド時間THは、DFFのセットアップ時
間やホールド時間に比べて十分小さいものと仮定する。
【0045】レベルラッチ挿入後のネットiの最小遅延
はmax(a(i)、TL+TT)、最大遅延はmax
(A(i)、TL+TT)になる。
【0046】レベルラッチ挿入後のネットiの最小遅延
制約の式は、 r(i)<max(a(i),TL+TT) …(3) で、通常の回路設計でクロックのデューティ比が50%
前後のとき、 r(i)<TL が常に成り立つので、式(3)は常に成り立ち最小遅延
が補償される。
【0047】また、レベルラッチ挿入後のネットiの最
大遅延制約の式は、 max(A(i)+TT,TL+TT)<R(i) …(4) となり、最大遅延の最適化を実行済みで最大遅延制約が
TT程度の余裕を持ってすでに満たされている回路の場
合に、 A(i)+TT<R(i) は、レベルラッチ挿入前から成り立っているので、 TL+TT<R(i) …(5) が成り立つネットにレベルラッチを挿入しても式(4)
は満たされ最大遅延制約違反は発生しない。式(4)に
違反するネットには、以上により、ラッチの挿入により
最小遅延補償が原理的に可能なことを示した。
【0048】なお、レベルラッチ自体のセットアップ時
間、ホールド時間がDFFのものと比較して無視できな
い場合は、DFFのホールド時間に違反したネットにレ
ベルラッチを挿入するとレベルラッチ自体のホールド時
間に違反する場合があるため、DFFに供給しているも
のよりもレベルラッチのホールド時間の分だけ位相を早
めたクロックをレベルラッチにあらかじめ供給し、レベ
ルラッチのホールド時間の終了時刻とDFFのクロック
のトリガ(立ち上がり)時刻を一致させる必要がある。
【0049】ネットiに挿入したレベルラッチのデータ
入力端における最大要求時刻は、クロックの周期をTと
すると、 min(レベルラッチから算出される最大要求時刻、D
FFから算出される最大要求時刻)=min(T−TH
−TS、R(i)−TT) となるので、レベルラッチ挿入前のネットiの最大到着
時間A(i)が A(i)<min(T−TH−TS、R(i)−TT) …(6) を満たすネットにのみレベルラッチを挿入できる。
【0050】したがって、レベルラッチ自体のセットア
ップ時間、ホールド時間が無視できないときには、式
(5)と式(6)を同時に満たすネットが存在しない最
小遅延違反パスに対しては、レベルラッチ挿入による最
小遅延補償はできないので、従来の遅延バッファ挿入を
併用する必要がある。
【0051】これから、本発明第一実施例のレベルラッ
チ挿入による最小遅延補償を説明する。ここでは、1相
クロックの同期順序回路を対象とし、DFFのホールド
時間が、レベルラッチのラッチ期間よりも短いことと、
最大遅延の最適化がすでに実行済みでセットアップ時間
がすでに満たされており、最大スラックにラッチ透過遅
延分の余裕があることを前提としている。また、レベル
ラッチ自体のホールド時間セットアップ時間は無視でき
るものとする。
【0052】図3は本発明の遅延最適化部6における遅
延最低化の一つであるレベルラッチ挿入による最小遅延
最適化20の最小遅延補償の処理フローの第一実施例で
ある。ステップ31において最大遅延を計算し、各ネッ
トにおける最大遅延要求時刻を信号伝播方向とは反対の
方向に逆算し、記憶部7に保持する。ステップ32にお
いて最小遅延を計算し、最小遅延制約に違反したパス
(最小遅延違反パス)のリストを列挙して記憶部7に保
持する。なお、ここでは最大・最小遅延計算は、レベル
ラッチのラッチ期間や透過時間を含めて遅延を計算する
ものとする。ステップ33で、違反パスがなくなってい
れば処理を終了し、そうでない場合はステップ34に進
む。ステップ34において、最適挿入位置を計算する。
ステップ34はステップ35〜38で構成される。この
うち、ステップ35で、回路中のネットに最小遅延違反
パスの重複度を重みとして持たせる。ステップ36で、
式(5)を満たすネットのうち、重複度最大のネットを
1本選んでレベルラッチを1個挿入し、DFFに供給し
ているものと同じクロックをレベルラッチに供給する。
DFFがクロックの立ち上がりで入力データを取り込む
タイプである場合は、アクティブ・ローのレベルラッチ
を用い、DFFがクロックの立ち下がりで入力データを
取り込むタイプである場合は、アクティブ・ハイのレベ
ルラッチを用いる。ステップ37で、挿入したネットの
ルートを含むパスを記憶部の最小遅延パスのリストから
削除する。ステップ38で、ステップ35からステップ
37までの処理を最小遅延違反パスリストが空になるま
で繰り返し、空になったらステップ32に戻って、最小
遅延計算を再実行する。
【0053】図4は、従来例で示した図9の回路に対し
第一実施例を実行して得られる回路とそのタイミングチ
ャートであり、遅延制約がすべて満たされている。レベ
ルラッチ1個のLSIレイアウトパターン面積を6単位
とする。挿入されたのはレベルラッチ1個でLSIレイ
アウトパターン面積増加は6単位であり、従来方法の結
果を図9と比較して半分である。
【0054】(第二実施例)本発明第二実施例を図5お
よび図6を参照して説明する。図5は本発明第二実施例
の動作を示すフローチャートである。図6は本発明第二
実施例を適用した順序同期回路の例とその動作を示すタ
イミングチャートを示す図である。本発明第二実施例
は、本発明第一実施例の順序同期回路における最小遅延
補償処理において、レベルラッチ自体のホールド時間セ
ットアップ時間が無視できないものとし、レベルラッチ
挿入可能なネットの判定に、式(6)の判定を加え、レ
ベルラッチに供給するクロックを補正し、レベルラッチ
による補償が不可能なパスに対しては遅延バッファ挿入
による補償を自動選択する方法である。
【0055】図5は本発明の遅延最適化部6における遅
延最適化の一つであるレベルラッチ挿入による最小遅延
最適化20の最小遅延補償の処理フローの第二実施例で
ある。ステップ41において最大遅延を計算し、各ネッ
トにおける最大遅延要求時刻を信号伝播方向とは反対の
方向に逆算し、記憶部7に保持する。ステップ42にお
いて、最小遅延を計算し最小遅延違反パスのリストを列
挙して記憶部7に保持する。ステップ43で最小遅延違
反パスがなくなっていれば処理を終了し、そうでない場
合はステップ44に進む。ステップ44において、レベ
ルラッチの最適挿入位置を計算する。ステップ44はス
テップ45〜52で構成される。ステップ45におい
て、回路中のネットに最小遅延違反パスの重複度を重み
として持たせる。ステップ46において、最小遅延違反
パスに含まれるネットの集合を選び、S1とする。ステ
ップ47において、S1のうち、式(5)および式
(6)を満たすネットの集合を選び、S2とする。ステ
ップ48で、S2が空であればステップ52に進む。そ
うでない場合はステップ49に進む。ステップ49にお
いて、S2のうち、最小遅延違反パスの重複度最大のネ
ットを1本選んでレベルラッチを1個挿入し、DFFに
供給しているものよりもレベルラッチのホールド時間の
分だけ位相を早めたクロックをレベルラッチに供給す
る。ステップ50において、挿入したネットを含むパス
を記憶部の最小遅延パスのリストから削除する。ステッ
プ51で、最小遅延違反パスリストが空でなければステ
ップ45に進み、空になったらステップ42に戻って、
最小遅延計算を再実行する。ステップ52において、残
った最小遅延違反パスに対し、遅延バッファ挿入により
最小遅延を補償し、ステップ41に戻って最大遅延から
計算し直す。
【0056】図6は、従来例で示した図9の回路に対し
第一実施例を実行して得られる回路とそのタイミングチ
ャートであり、遅延制約がすべて満たされている。クロ
ックCLK1には、遅延バッファB1が1個挿入されて
いる。
【0057】(第三実施例)本発明第三実施例を図7を
参照して説明する。図7は本発明第三実施例を適用した
順序同期回路の例とその動作を示すタイミングチャート
を示す図である。本発明第三実施例は、本発明第一実施
例のステップ36または本発明第二実施例のステップ4
9において最小遅延要求時刻がラッチ期間よりも長い場
合にレベルラッチ挿入により最小遅延が補償できるよう
にレベルラッチに供給するクロックのデューティ比を変
化させる回路を付加する処理を加えたものである。DF
Fの動作はクロックのデューティ比に依存しないため、
レベルラッチへのクロックとDFFへのクロックは同一
でも別々でもかまわない。
【0058】図7は、本発明第三実施例の適用回路例
と、そのタイミングチャートである。もとのクロックC
LK3がハイレベルの時間、すなわちラッチ期間がDF
Fのホールド時間よりも短い場合に、クロックのデュー
ティ比変換回路D1(ここでは簡単な例として、CLK
3と、CLK3を遅延バッファB4で遅延させたCLK
4のOR論理(G6)をとってCLK5を生成してい
る)を付加してレベルラッチL1のラッチ期間を延長し
ている。
【0059】(第四実施例)本発明第四実施例を図8を
参照して説明する。図8は本発明第四実施例の動作を示
すフローチャートである。本発明第四実施例は、本発明
第一〜第三実施例において、遅延バッファ挿入とのLS
Iレイアウトパターン面積によるトレードオフを行うも
のである。図8は図3の処理フローを一部変更してトレ
ードオフを加えた処理フローである。ステップ66でレ
ベルラッチの挿入位置(S3)を選択し、ステップ67
において挿入位置S3のネットを含む最小遅延違反パス
すべてを遅延バッファ挿入によって最小遅延補償した場
合のLSIレイアウトパターン面積増加を見積もり、ス
テップ68でLSIレイアウトパターン面積増加がレベ
ルラッチのLSIレイアウトパターン面積よりも少なけ
ればステップ72に進んで遅延バッファ挿入を行い、そ
うでなければステップ69に進んでレベルラッチ挿入を
行う。
【0060】以上説明したように、本発明によるレベル
ラッチ挿入による最小遅延補償方法はレベルラッチを挿
入しても最大遅延に影響がほとんど出ないという特性の
ため、最大遅延計算は最初に1回実行しておけば十分
で、その後は最大遅延を特に考慮せずにラッチ挿入位置
を決定できる。このため、最大遅延と最小遅延の両方を
計算しながら遅延バッファを挿入する方法に比べ、最小
遅延の計算のみで済むために処理時間を50%以下に抑
えることができる。
【0061】また、最大遅延を考慮しないでよいため最
大遅延違反パスと重複したネット、または遅延バッファ
を挿入すると新たな最大遅延違反パスが発生するネット
もラッチの挿入位置の候補に加わり、挿入箇所数をより
少なく抑えられ、LSIレイアウトパターン面積増加を
抑えることができる。
【0062】ホールド時間のマージンをユーザが大きめ
にとる場合でもレベルラッチ挿入方法では、ホールド時
間が大きくなってもレベルラッチのラッチ期間の範囲内
であればパス中に1個のレベルラッチが挿入してあれば
遅延制約は満たすことができる。
【0063】1相同期ではない多相同期順序回路に対し
ても、本発明による方法は有効であり、レベルラッチを
挿入したパスを終端しているDFFに供給しているクロ
ックから、位相やデューティ比を変換したクロック信号
を生成してレベルラッチに供給することによって最小遅
延補償が行える。
【0064】従来から広く行われている2相マスタース
レーブの回路と比べても、2相マスタースレーブ回路で
は、始めから直列に接続されたペアのDFFまたはレベ
ルラッチが存在し、DFFやレベルラッチの数が通常の
設計方法の2倍あるのに対し、本発明の方法は、レベル
ラッチの挿入位置をDFFの直前に限らないため、挿入
するレベルラッチ数をもとのDFFの数以下に抑えるこ
とができ、LSIレイアウトパターン面積を節約するこ
とができる。
【0065】
【発明の効果】以上説明したように、本発明によれば、
最大遅延時間に影響を与えることがないため、計算処理
時間を短縮することができる。また、順序同期回路のL
SIレイアウトパターン面積増加を低減させることがで
きる。
【図面の簡単な説明】
【図1】本発明方法の全体構成を示す図。
【図2】本発明方法の全体的な動作を示すフローチャー
ト。
【図3】本発明第一実施例の動作を示すフローチャー
ト。
【図4】本発明第一実施例の適用回路およびそのタイミ
ングチャートを示す図。
【図5】本発明第二実施例の動作を示すフローチャー
ト。
【図6】本発明第二実施例を適用した順序同期回路の例
とその動作を示すタイミングチャートを示す図。
【図7】本発明第三実施例を適用した順序同期回路の例
とその動作を示すタイミングチャートを示す図。
【図8】本発明第四実施例の動作を示すフローチャー
ト。
【図9】最小遅延制約に違反するパスを含む順序同期回
路の例とその動作を示すタイミングチャートを示す図。
【図10】従来例の遅延最適化方法を示すフローチャー
ト。
【図11】従来例の遅延最適方法が適用された順同期回
路の例とその動作を示すタイミングチャートを示す図。
【符号の説明】
1 ライブラリ入力部 2 回路入力部 3 制約条件入力部 4 論理最適化部 5 テクノロジマッピング部 6 遅延最適化部 7 記憶部 8 回路出力部 F1〜F7 DFF G1〜G5 組合せ論理素子 N1〜N12 ネット B1〜B4 遅延バッファ CLK1〜CLK5 クロック D1 デューティ比変換回路 G6 OR論理

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 順序同期回路内のあらかじめ定められた
    最小遅延制約に違反して遅延時間が不足する信号経路に
    対して最小遅延を補償するように遅延時間を付加する遅
    延最適化方法において、 前記最小遅延制約に違反した信号経路にレベルラッチを
    挿入するステップを備え、 この挿入するステップは、前記順序同期回路に含まれる
    出力端毎に最小遅延制約に違反した信号経路の重複度を
    計算するステップと、この重複度が大きい信号経路から
    順に前記順序同期回路のLSIレイアウトパターン面積
    が最小となるように前記レベルラッチを挿入するステッ
    プとを備えたことを特徴とする遅延最適化方法。
  2. 【請求項2】 前記挿入するステップは、フリップフロ
    ップのクロックのエッジトリガ極性に応じクロックの立
    ち上がりで入力データを取り込むフリップフロップに対
    してはアクティブローのレベルラッチを挿入しクロック
    の立ち下がりで入力データを取り込むフリップフロップ
    に対してはアクティブハイのレベルラッチを挿入するス
    テップを含む請求項1記載の遅延最適化方法。
  3. 【請求項3】 前記レベルラッチに代えて少なくとも一
    部に遅延バッファを挿入するステップを備えた請求項1
    記載の遅延最適化方法。
  4. 【請求項4】 前記順序同期回路内のクロックのデュー
    ティ比を変化させるステップを備えた請求項1または2
    記載の遅延最適化方法。
  5. 【請求項5】 前記レベルラッチに代えて遅延バッファ
    を挿入するステップを備え、前記レベルラッチまたは前
    記遅延バッファを挿入したときの前記順序同期回路のL
    SIレイアウトパターン面積を比較するステップを備
    え、遅延バッファを挿入した方がこのLSIレイアウト
    パターン面積が小さくなるとき前記レベルラッチに代え
    て遅延バッファを挿入するステップを実行するステップ
    を含む請求項1記載の遅延最適化方法。
JP7159465A 1995-06-26 1995-06-26 遅延最適化方法 Expired - Fee Related JP2677256B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7159465A JP2677256B2 (ja) 1995-06-26 1995-06-26 遅延最適化方法
US08/670,128 US5764528A (en) 1995-06-26 1996-06-25 Delay optimizing method in logic circuit designing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7159465A JP2677256B2 (ja) 1995-06-26 1995-06-26 遅延最適化方法

Publications (2)

Publication Number Publication Date
JPH098143A JPH098143A (ja) 1997-01-10
JP2677256B2 true JP2677256B2 (ja) 1997-11-17

Family

ID=15694366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7159465A Expired - Fee Related JP2677256B2 (ja) 1995-06-26 1995-06-26 遅延最適化方法

Country Status (2)

Country Link
US (1) US5764528A (ja)
JP (1) JP2677256B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438518B2 (en) 2009-03-03 2013-05-07 Nec Corporation Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2882359B2 (ja) * 1996-04-27 1999-04-12 日本電気株式会社 レイアウト設計装置
US5999716A (en) * 1996-06-27 1999-12-07 Matsushita Electric Industrial Co., Ltd. LSI layout design method capable of satisfying timing requirements in a reduced design processing time
TW371758B (en) * 1997-06-04 1999-10-11 Siemens Ag Method to optimize the signal-propagation-time in a reprogrammable switching circuit and reprogrammable switching circuit with program-code optimized in said signal-propagation time
US6044209A (en) * 1997-09-15 2000-03-28 International Business Machines Corporation Method and system for segmenting wires prior to buffer insertion
US6202194B1 (en) * 1997-12-11 2001-03-13 Intrinsity, Inc. Method and apparatus for routing 1 of N signals
US6553550B1 (en) * 1999-03-05 2003-04-22 Peter Menegay Method and apparatus for computing delay correlation effects in digital circuits
KR100348303B1 (ko) * 1999-11-09 2002-08-10 주식회사 하이닉스반도체 다양한 클럭신호에 의한 클럭신호간 딜레이보상방법
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
DE60139260D1 (de) * 2001-10-29 2009-08-27 Ericsson Telefon Ab L M Optimierung des Entwurfs einer synchronen digitalen Schaltung
US7302657B2 (en) * 2001-10-29 2007-11-27 Telefonaktiebolaget L M Ericsson (Publ) Optimization of the design of a synchronous digital circuit
US6701505B1 (en) * 2001-11-30 2004-03-02 Sequence Design, Inc. Circuit optimization for minimum path timing violations
US6698005B2 (en) * 2002-02-19 2004-02-24 Telefonaktiebolaget L M Ericsson (Publ) Min-time / race margins in digital circuits
US7191416B2 (en) * 2003-01-27 2007-03-13 Stmicroelectronics Limited System and method for modifying integrated circuit hold times
US7739638B2 (en) * 2003-03-06 2010-06-15 Fujitsu Limited Circuit analyzing device, circuit analyzing method, program, and computer readable information recording medium considering influence of signal input to peripheral circuit which does not have logical influence
US20050077938A1 (en) * 2003-10-13 2005-04-14 International Business Machines Corporation High voltage i/o signal propagation boost circuit
US7308664B1 (en) * 2004-02-09 2007-12-11 Altera Corporation Method and apparatus for utilizing long-path and short-path timing constraints in an electronic-design-automation tool for routing
US7278126B2 (en) * 2004-05-28 2007-10-02 Qualcomm Incorporated Method and apparatus for fixing hold time violations in a circuit design
US7552409B2 (en) * 2005-06-07 2009-06-23 Synopsys, Inc. Engineering change order process optimization
US7996812B2 (en) * 2008-08-14 2011-08-09 International Business Machines Corporation Method of minimizing early-mode violations causing minimum impact to a chip design
JP6435892B2 (ja) * 2015-02-03 2018-12-12 京セラドキュメントソリューションズ株式会社 回路設計方法、回路設計ツール用セル・ライブラリのコンポーネント
US9886544B2 (en) * 2016-02-23 2018-02-06 Taiwan Semiconductor Manufacturing Co., Ltd. Layout checking system and method
CN112783065B (zh) * 2021-01-08 2022-01-28 重庆百瑞互联电子技术有限公司 一种时序电路优化方法、装置及其存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210700A (en) * 1990-02-20 1993-05-11 International Business Machines Corporation Automatic delay adjustment for static timing analysis
JP2695078B2 (ja) * 1991-06-10 1997-12-24 株式会社東芝 データ処理装置クロック信号の分配方法
JP3172211B2 (ja) * 1991-09-05 2001-06-04 富士通株式会社 回路合成システム
US5396435A (en) * 1993-02-10 1995-03-07 Vlsi Technology, Inc. Automated circuit design system and method for reducing critical path delay times
US5638291A (en) * 1994-10-14 1997-06-10 Vlsi Technology, Inc. Method and apparatus for making integrated circuits by inserting buffers into a netlist to control clock skew

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438518B2 (en) 2009-03-03 2013-05-07 Nec Corporation Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit

Also Published As

Publication number Publication date
JPH098143A (ja) 1997-01-10
US5764528A (en) 1998-06-09

Similar Documents

Publication Publication Date Title
JP2677256B2 (ja) 遅延最適化方法
JP2735034B2 (ja) クロック信号分配回路
US6118304A (en) Method and apparatus for logic synchronization
US5825658A (en) Method and a system for specifying and automatically analyzing multiple clock timing constraints in a VLSI circuit
JP4630718B2 (ja) クロック配線装置及びクロック配線方法
US4949249A (en) Clock skew avoidance technique for pipeline processors
CN113608600A (zh) 具有多个时钟域和复位域的系统中数据同步的方法和设备
JP2007170959A (ja) 半導体集積回路とその設計方法
US20090271747A1 (en) Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit
US20030210603A1 (en) Method and apparatus for performing signal synchronization
JP3695428B2 (ja) 論理回路の遅延最適化システムおよびその最適化方法ならびに制御プログラム
JP3698657B2 (ja) ゲーティッドクロック生成回路及び回路修正方法
KR100894427B1 (ko) 클록 회로를 위한 방법 및 장치
US6412099B1 (en) Apparatus and method for converting logical connection information of circuit
JPH10133768A (ja) クロックシステム、半導体装置、半導体装置のテスト方法、及びcad装置
Van Campenhout et al. Timing verification of sequential domino circuits
JP2003099495A (ja) 集積回路の設計システム、集積回路の設計方法およびプログラム
JP4389459B2 (ja) データバッファ装置
KR100303777B1 (ko) 지연-펄스-지연을 이용한 지연고정루프 클록발생기
EP1308862B1 (en) Optimization of the design of a synchronous digital circuit
US7010072B2 (en) Aligned clock forwarding scheme
JP2000353939A (ja) クロック信号同期式フリップフロップ回路
US7480607B2 (en) Circuit design verification
JP2993488B2 (ja) 集積回路の設計方法、集積回路及び記憶媒体
JP2001257566A (ja) イネーブル付きラッチ回路

Legal Events

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

Free format text: PAYMENT UNTIL: 20070725

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20080725

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090725

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees