JP2601168B2 - 順次回路をリタイミングする方法および再設計する方法 - Google Patents

順次回路をリタイミングする方法および再設計する方法

Info

Publication number
JP2601168B2
JP2601168B2 JP5311820A JP31182093A JP2601168B2 JP 2601168 B2 JP2601168 B2 JP 2601168B2 JP 5311820 A JP5311820 A JP 5311820A JP 31182093 A JP31182093 A JP 31182093A JP 2601168 B2 JP2601168 B2 JP 2601168B2
Authority
JP
Japan
Prior art keywords
delay
circuit
path
latch
retiming
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
JP5311820A
Other languages
English (en)
Other versions
JPH06290232A (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
Publication of JPH06290232A publication Critical patent/JPH06290232A/ja
Application granted granted Critical
Publication of JP2601168B2 publication Critical patent/JP2601168B2/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/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • 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】
【産業上の利用分野】この発明は集積回路の計算機援用
設計(CAD)に関し、特に、回路が動作されるクロッ
ク期間を減少させる順次集積回路の再設計に関する。
【0002】
【従来の技術】コンピュータを使用した論理合成法は、
ラッチとしても知られているクロックの駆動フリップフ
ロップおよびレジスタのような記憶つまりメモリ素子に
よって分離された組合せ副論理回路を含む回路である大
規模順次集積回路の設計に対する標準技術となってきて
いる。
【0003】CADツールにより初めに合成されるよう
な順次回路が、再設計により、通常では望ましい因子で
ある短いクロック期間で動作される組合せ副論理回路を
含む場合もしばしばある。これらが駆動されるクロック
期間を減少させる順次集積回路の再設計に対する技術開
発はなおも行われており、リタイミングつまり再調時作
業はこうした技術のうちの重要なものである。一般に、
リタイミングには、より短い組合せ副論理回路の長さを
犠牲にして、最も長い組合せ副論理回路の長さを減少さ
せるためにその回路におけるフリップフロップの再位置
決めが含まれる。場合によっては、組合せ副論理回路の
再合成により、速い集積回路が得られる。リタイミング
と合成との組合せは、そうした技術の1つのみを使用し
ては不可能な短いクロック期間を達成できる。
【0004】
【課題を解決するための手段】1つの局面において、本
発明はリタイミングおよび再合成の組合せを使用して高
性能の集積回路を合成する基本的問題に対する特定の解
決策を表している。
【0005】別な局面において、本発明は、特定の解決
策においてのみならずまた、一般的な集積回路をリタイ
ミングするためにも使用できるリタイミングに対する新
規な技術に関する。
【0006】本発明は、遅延制約条件(delay c
onstraints)の最適なセットの計算機処理導
出と、そしてその関数犠牲に影響することなく順次回路
を再合成するためのかかるセットの使用とを含んでい
る。その最適なセットを引き出すために、順次回路は、
前以って指定された遅延を有する経路セグメントの相互
接続として処理され、その経路セグメントはフリップフ
ロップ、1次入力または1次出力により境界づけられる
セグメントを示している。特に、その経路セグメントは
まず、回路の経路グラフを形成し、その後、もしもその
重みが所望の減少されたクロック期間を超えているなら
ば長いとして、もしもその重みが所望のクロックの期間
よりも小さいかまたはそれに等しいならば短いとして、
そのグラフの各弧を分類するために使用される。そこで
は短いおよび長い弧に対する不等式のセットが形式化さ
れ、1つの不等式は各短い弧に対応し、3つの不等式は
各長い弧に対応している。そこでは、すべての経路セグ
メントに関し、特に長い経路セグメントに向かってバイ
アスされる許容可能な遅延を増大させる目的関数が構成
される。既知の最小コスト・フローアルゴリズムは、遅
延制約条件の最適なセットを引き出すために、その関数
に関して使用される。その後、その回路は、上述した遅
延制約条件の最適なセットを満たすために、既知の組合
せ再合成技術を使用して再合成される。この再合成され
た回路は所望の減少されたクロック期間を達成するため
にリタイムつまり再調時される。好都合なことに、好ま
しい実施例において、本発明は、その主な特徴である新
規なリタイミング技術を採用している。
【0007】
【実施例】ここでは、まず、本発明の実施の過程で成さ
れる予定のいくつかの仮定について論議する。もしも所
望のクロック期間φ−ε(φは現行のクロック期間、ε
は求められる低減の量)がリタイミングにより達成され
ないとすると、組合せ遅延最適化器が順次回路の組合せ
ロジックを再合成するために使用される。
【0008】順次回路Sについて検討する。L={l1
・・・lk }をフリップフロップ、Sの1次入力および
1次出力のセットとする。Sの1次入力つまりラッチ出
力はその組合せロジックの1次入力である。また、Sの
1次出力つまりラッチ入力はその組合せロジックの1次
出力である。以下の説明では、組合せロジックの1次入
力および1次出力を簡単に入力および出力としてそれぞ
れ取り扱う。組合せ遅延最適化器は組合せロジックを再
合成するのに使用できる。遅延最適化器は組合せロジッ
クの入力と出力との間における前以って指定された最大
許容経路遅延を満たすように作用する。組合せロジック
の所定の入力と出力との間における最大の許容可能な経
路遅延を遅延制約条件として扱う。異なる入力および出
力対は異なる遅延制約条件を持つことができる。こうし
た遅延制約条件は通常、組合せロジックの1次入力およ
び1次出力それぞれの到着必要時間として指定される。
組合せロジックの入力および出力それぞれの到着および
必要時間を表すのに以下の表示法を使用する。li をラ
ッチとすると、その出力は組合せロジックに対する入力
である。ラッチ出力の到着時間をxi n として表す。同
様に、ラッチli への入力は組合せロジックの出力であ
って、ラッチ入力信号の必要時間はxi r として表す。
もしもli がSの1次入力であるとすると、それは組合
せロジックの入力でもある。この入力の到着時間はxi
n によって表される。この場合、xi r は規定されない
ことに注意されたい。同様にして、もしもli がSの1
次出力であるとすると、それはまた、組合せロジックの
出力である。また、この出力の必要時間はxi r によっ
て表される。この場合、xi n は規定されないことに注
意されたい。外部のインタフェース制約条件のない場
合、すべての1次入力に対する到着時間は0、そしてす
べての1次出力に対する必要時間は所望のクロック期間
であると仮定している。もしも外部タイミング制約条件
が指定されるならば、それらは我々の遅延計算体系に容
易に組み入れることができる。
【0009】遅延制約条件の簡単で自然な仕様は、0の
到着時間をその組合せロジックのすべての入力に割当
て、そしてφ−εの必要時間をそのすべての出力に割当
てることである。もしも遅延最適化器が遅延制約条件の
このセットを満たすためにそのロジックを再合成できる
とすると、合成されたロジックはφ−εのクロック期間
で動作できる。しかしながら、多くの場合において、こ
の遅延制約条件に合うようにその回路を再合成すること
は不可能に近い。
【0010】順次回路の性能最適化に対する最近の提案
では、遅延制約条件の簡単なセットを得るのにラッチの
入力スラック(slack)を利用している。この提案
は、1992年11月5日付けで出願され、本願と同じ
譲受け人に譲渡されている同時係属の米国特許出願第0
7/972,149号明細書に記述されている。この提
案では、もしもラッチli が入力スラックsi を持って
いるならば、そのラッチ出力信号にxi n =−si の到
着時間を割当てている。このことは、ラッチがli で終
端するいずれかの経路を重大にすることなくsi だけ前
方に移されるので、可能である。しかしながら、ラッチ
をsi だけ前方に動かすことは、ラッチ入力信号が組合
せロジックのすべての出力に対するデフォルト必要時間
よりもsi の単位時間だけ早く到着しなければならない
ことを意味する。従って、ラッチ入力信号に対する新し
い必要時間は、xi r =φ−ε−si である。遅延最適
化器はこうした遅延制約条件の下で組合せロジックを再
合成する。しかしながら、そこには、その遅延最適化器
がその遅延仕様を満たせない場合もある。再度指摘する
に、そこでの遅延要件を満たす組合せロジックの処理は
存在しない。
【0011】例えば、図1の回路を検討する。図から見
られるように、この回路10は入力端子aおよびbをそ
れぞれ持つ1対のインバータ11および12を含み、そ
れらインバータはラッチl1 およびl2 を介して、OR
ゲート13に別々な入力を供給する。ORゲート13の
出力はANDゲート14の一方の入力となり、ANDゲ
ート14の他方の入力には1次入力cが供給されてい
る。ANDゲート14の出力はラッチl3 を介してAN
Dゲート15の一方の入力となり、ANDゲート15の
他方の入力には1次入力端子dが接続されている。AN
Dゲート15の出力はORゲート16の一方の入力とな
り、ORゲート16の他方の入力には入力端子eが接続
されている。ORゲート16の出力はANDゲート17
の一方の入力となり、ANDゲート17の他方の入力に
はラッチl2 の出力が供給されている。ANDゲート1
7の出力は出力端子fに通じている。もしも各ゲートが
単位遅延を与えるものと仮定すると、その回路にとって
必要とされるクロック期間はφ=3であり、これはリタ
イミングによってもそれ以上減らせない。これは、1次
入力dと3の遅延を持つ1次出力端子fとの間に組合せ
経路があるためである。また、組合せ遅延最適化はその
回路の遅延をそれ以上減少させることができない。もし
も所望のクロック期間が2であるとすると、ラッチl1
およびl2 は1の入力スラックを持っている。しかしな
がら、ラッチl3 は入力スラックを持っていない。それ
故、x1 n =x2 n =−1そしてx3 n =0。すべての
1次入力の到着時間は0であり、そして1次入力fの必
要時間は2である。l1 ,l2 およびl3 のラッチ入力
信号の必要時間は、x1 r =x2 r =1,x3 r =2。
遅延制約条件に一致するfに対しては処理が存在しない
ので、上述した遅延制約条件に合う組合せロジックを再
合成することは不可能である。しかしながら、本発明
は、遅延最適化器により満たされる一層容易なセットで
の遅延制約条件を計算するのを可能にする。2のクロッ
ク期間は、以下の記述から明らかになるように、組合せ
再合成および引き続くリタイミングにより達成される。
【0012】上述した例はラッチの入力スラックに似た
局部的情報に基づいた遅延制約条件を計算することにつ
いての制限を表している。また、遅延最適化器は他のも
のよりももっと容易に或る遅延制約条件を満たすことが
でき、そして遅延最適化器に対する困難の大きさを規定
することは重要である。我々は遅延最適化器に対する困
難の大きさを提案し、それから、遅延最適化器に対する
最適遅延制約条件のセットを計算する。我々の対策は遅
延最適化器により満たされる予定の明白な経路遅延に基
づいている。更に、我々の対策は有り得る遅延制約条件
のセットに関して半順序を誘導する。遅延制約条件のセ
ットは、それが遅延最適化器に対して指定される最も容
易な制約条件であるという点で最適である。
【0013】最適遅延制約条件のセットは、図1に示さ
れている順次回路を前以って指定された遅延を持つ経路
セグメントの相互接続として見ることによって計算され
る。経路セグメントはフリップフロップ、1次入力また
は1次出力により境界づけされるセグメントである。我
々はすべての経路セグメントに関する遅延を考えると同
時に、遅延制約条件計算問題を最小コスト回路網フロー
問題として形式化する。フロー問題に対する最適解は最
適遅延制約条件のセットに対応している。もしも遅延最
適化器がこの遅延制約条件のセットを満たすとすると、
再合成された回路は所望のクロック期間を超えた幾つか
の経路を持つことになる。しかしながら、再合成された
回路は所望のクロック期間を達成するために再調時され
る。
【0014】もしも遅延最適化器が前述の同時係属出願
で提案されている遅延制約条件を満たすのに組合せロジ
ックを再合成できるとすると、その遅延最適化器は我々
の最適遅延制約条件のセットを満たすことができる。し
かしながら、後でも示すように、逆は成り立たない。遅
延最適化器は最適の遅延制約条件のセットを満たすため
にロジックを再合成できるが、前述の同時係属出願で指
定されている遅延制約条件を満たすことは不可能であ
る。
【0015】組合せ遅延最適化器は他のものよりも容易
に或る遅延制約条件を満たすことができる。例えば、す
べての経路にφ−εよりも小さい遅延を要求する遅延制
約条件のセットは、大半の経路にφ−εより小さいかま
たはそれに等しい遅延を要求し、幾つかにφ−εよりも
大きい遅延を許容する遅延制約条件のセットよりも一層
厳格である。これは、その遅延最適化器が後者の制約条
件セットを満たすためにそのロジックを合成できるけれ
ども、前者の制約条件セットについては満たせないため
である。また、もしもその遅延最適化器が前者の制約条
件セットを満たすならば、それは後者の制約条件セット
を自動的に満たすことになる。
【0016】本発明の実現のために、我々は組合せの遅
延最適化に対する困難さについて次の対策を提案する。
回路についての構造上の描写が与えられると、我々は困
難さの大きさを得るのに組合せロジックでの経路長を利
用する。もしもその回路つまりその内部信号についての
機能情報が利用できるとすると、この情報を我々の対策
に組み入れることが可能である。D1 およびD2 を組合
せロジックでの経路上における2つの遅延制約条件セッ
トとし、pを組合せロジックにおけるいずれかの経路と
する。もしも制約条件セットD1 でのいずれかの経路p
上における最大の許容可能な経路遅延が常にセットD2
でのp上における対応する許容可能な経路遅延よりも大
きいかまたはそれに等しいならば、D1 ≦D2 と規定す
る。我々の定義では、組合せロジックでの経路上におけ
る遅延制約条件に関して半順序を誘導する。遅延最適化
器により制約条件D1 は満たされるが、D2 は満たされ
ないので、D1 はD2 よりも厳格でない。また、D
1 は、D2 が満たされるときにはいつでも、自動的に満
たされる。
【0017】D2 を組合せロジックのいずれかの入力お
よび出力対間における実際の最大経路のセットとする。
もしも組合せロジックがm個の入力とn個の出力を持つ
とすると、D2 は多くてm×n個のエレメントを持つこ
とができる。Sのクロック期間は所望のクロックの期間
φ−εよりも大きいので、組合せロジックでの或る経路
上における遅延はφ−εを超える。所望のクロック期間
を超える遅延を持つ経路は長い経路と呼ばれ、所望のク
ロック期間よりも小さいかまたはそれに等しい遅延を持
つ経路は短い経路と呼ばれる。
【0018】我々は、次に示す2つの条件を満たす遅延
制約条件D1 を得るために、すべての経路セグメント上
での遅延を同時に考える。つまり; 1.D1 ≦D2 2.D1 はD2 に対する最も大きな下側限界である。そ
れ故、遅延制約条件D3 はないので、D3 ≦D2 ≦D2 或る意味において、制約条件D1 は遅延最適化器に対し
て指定される最も容易な制約条件である。もしも再合成
されたロジックが遅延制約条件D1 を満たすならば、そ
こには所望のクロック期間を超えた遅延を持つ経路セグ
メントがある。しかしながら、後でも示すように、所望
のクロック期間φ−εを達成するために、この方法で再
合成された回路を再調時することは常に可能である。
【0019】組合せロジックの入力および出力それぞれ
の到着および要求時間は順次回路のすべての経路セグメ
ントを同時に考慮することにより計算される。組合せロ
ジックのすべての入力のデフォルト到着時間を0とし、
φ−εを組合せロジックのすべての出力のデフォルト必
要時間とする。順次回路Sの1次入力および出力はセッ
トでのいずれかの最適遅延制約条件でのデフォルト値を
取る。我々は、組合せロジックのすべての入力の到着時
間をSの1次入力に関して指定する。同様にして、我々
は、組合せロジックのすべての出力の必要時間をSの1
次出力の必要時間に関して指定する。ラッチの出力信号
の到着時間およびラッチ入力信号の必要時間は以下のよ
うに関連している。ラッチli について考える。もしも
ラッチ出力信号の到着時間がxi n だけ進められるとす
ると(すなわち、この信号はxi n の単位時間、Sの1
次入力にも先立って到着する)、ラッチ入力信号の必要
時間も同量だけ進められる。従って、ラッチの入力信号
は、xi n の単位時間、Sの1次出力に先立って準備さ
れることが必要である。xi を、Sの1次入力に比較し
てラッチli の出力信号が進められる時間単位の数とす
る。もしもxi が負であるとすると、ラッチli の出力
信号は時間単位−xだけSの1次入力に遅れて到着す
る。また、x0 はSの1次入力および1次出力の到着お
よび必要時間での変化を表すものとする。
【0020】我々はSの短いおよび長い経路セグメント
を別々に考えることにより最適化問題を形式化する。
【0021】短い経路について:pをラッチli からl
j までの最大遅延とする。ここでは、短い経路セグメン
トを考慮しているので、p≦φ−ε。ここで、ラッチl
i の出力信号がSの1次入力と同じ時間に到着すると仮
定すると、ラッチli の入力信号が、φ−εのデフォル
ト必要時間前に用意される。ラッチli の入力信号は、
j の単位時間だけ、そのデフォルト必要時間に先立っ
て到着する。これは、ラッチli の出力信号がxj の単
位時間、Sの1次入力に先立って準備されることを意味
する。それ故、ラッチlj から生ずるすべての経路セグ
メントに関しては、xj の単位時間の付加的遅延が許さ
れる。遅延最適化器はラッチlj から生ずる経路セグメ
ントを再合成できるので、それらの遅延はφ−εのデフ
ォルト値ではなくて、φ−ε+xj を超えないことにな
る。遅延最適化器がφ−ε+xj の遅延制約条件に合う
ようにそうした経路セグメントを再合成できると仮定す
ると、再合成された経路セグメントの或るものはφ−ε
の所望のクロック期間を超える遅延をもつことができ
る。しかしながら、これらの再合成された経路セグメン
ト上での遅延は、リタイミング相中、多くてxj の単位
時間だけラッチli を前方に移すことにより減少され
る。
【0022】同様な配列はラッチli で終端する経路セ
グメントにも適用する。ラッチljの入力信号がSの1
次出力と同じ時間に到着すると仮定すると、ラッチli
の出力信号は、1次入力信号が到着した後に到着でき
る。これは、li とlj との間での経路セグメントが短
いためである。jxi を、Sの1次入力信号が到着した
後にラッチli の出力信号が到着できる時間ユニットの
数とする。これは、ラッチli の入力信号がxi の単位
時間だけSの1次出力に遅れて準備されることを意味す
る。それ故、ラッチli で終端するすべての経路セグメ
ントに関しては、xi の単位時間の付加的遅延が許され
る。ここでの遅延最適化器はラッチli で終端する経路
セグメントを再合成できるので、それらの遅延がφ−ε
のデフォルト値でなくて、φ−ε+xi を超えることは
ない。再度指摘するに、遅延最適化器がφ−ε+xj
遅延制約条件に合うようにそうした経路セグメントを再
合成できると仮定すると、再合成された経路セグメント
の或るものはφ−εの所望のクロック期間を超える遅延
を持つことができる。しかしながら、これらの再合成さ
れた経路セグメント上での遅延は、リタイミング相中、
多くてxi の単位時間だけラッチli を後方に移すこと
により減少される。
【0023】ここでは、再ラッチの出力信号の到着時間
が前進される一層一般的な場合を解析する。xi および
j を、ラッチli およびlj をそれぞれの出力信号が
前進される量とする。もしもラッチ出力信号にそれらの
デフォルト到着時間が割当てられるとすると、遅延最適
化器は、その遅延がφ−εを超えないように、li とl
j との間での経路セグメントを再合成しなければならな
い。もしもラッチliの出力信号のみを進めるならば、
ラッチli とlj との間にφ−ε+xi の遅延が許され
る。しかしながら、もしもラッチlj の出力信号のみを
進めるならば、φ−ε−xj だけの遅延が2つのラッチ
間に許される。もしも、φ−ε−xj ≧pであるなら
ば、その遅延制約条件はすでに現行の処理によって満た
されているので、遅延最適化器がラッチ間での経路セグ
メントを再合成する必要はない。もしも両ラッチの出力
信号が進められるとすると、遅延最適化器は、その遅延
がφ−ε−Δpを超えないように、2つのラッチ間での
経路セグメントを再合成しなければならない。ここで、
Δp=xj −xi は、φ−εのデフォルト許容可能な遅
延に比較して、2つのラッチ間での許容可能な遅延にお
ける正味の減少である。もしもφ−ε−Δpがpの元の
遅延以下になるならば、この遅延境界を達成するために
そのロジックを再合成することは不可能に近い。それ
故、我々は、φ−ε−Δp≧pであることを要求する。
【0024】長い経路について:pをli からlj まで
の最大遅延とすると、必然的に、p>φ−εとなる。も
しも2つのラッチの出力信号にそれらのデフォルト到着
時間が割当てられるとすると、遅延最適化器はεの遅延
をpからφ−εへ減少させるために、li とljとの間
での経路セグメントを再合成しなければならない。もし
もラッチli の出力信号のみを進めるとすると、ラッチ
i とlj との間にはφ−ε+xi の遅延が許され、そ
してこの経路セグメントの遅延をpから、φ−εではな
く、φ−ε+xi へ減少させるのに、遅延最適化器が使
用される。遅延最適化器がφ−ε+xi の遅延制約条件
に合うようにそうした経路セグメントを再合成できると
仮定すると、再合成された経路セグメントの或るもの
は、φ−εの所望のクロックの期間を超える遅延を持つ
ことができる。しかしながら、それらの再合成された経
路セグメントでの遅延は、リタイミング相中、多くてx
i の単位時間だけラッチli を前方に移すことにより減
少される。
【0025】もしもラッチlj の出力信号のみを進める
とすると、2つのラッチ間には、φ−ε−xj の遅延の
みが許される。遅延最適化器は、この経路セグメントの
遅延をpから、φ−εの元の目標よりも達成するのが一
層困難なφ−ε−xj へ減少させなければならない。も
しも両ラッチの出力信号が進められるとすると、遅延最
適化器は、その遅延をpからφ−ε−Δpへ減少させる
ために、2つのラッチ間での経路セグメントを再合成し
なければならず、ここでは、Δp=0という条件が必要
である。さもない場合、遅延最適化器はその遅延をpか
ら、φ−εよりも小さい量へ減少させなければならず、
これを達成するのは不可能に近い。
【0026】Δpの値が小さければ小さいほど、遅延最
適化器に対する遅延制約条件は厳格でなくなる。しかし
ながら、Δpがφ−ε−pを超えて小さくなる必要はな
い。これは、Δpのこの値において、経路セグメント上
での許容可能な遅延がpに等しく、そしてこの遅延制約
条件がすでに現行の処理により満たされているためであ
る。従って、遅延最適化器は経路セグメントを再合成す
る必要がない。Δpがφ−ε−pを超えて減少すること
を必要としないという事実は下記のような最適化体系に
おいて示される。つまり: 最小化 εij Δp−εij≦φ−ε−p εij≧0 ここで、εijは、遅延最適化器が経路上での経路遅延を
jからjへ減少させなければならない量である。これを
減少因子として記述するのが好都合である。
【0027】我々は長い経路セグメントに関する許容可
能な遅延を増大させる方向に重厚にバイアスされる目的
関数を構成し、そこでの許容可能な遅延は現行の処理で
の遅延に等しい。これはすべての長い経路セグメントに
対するΣεijを最小化することになる。2次的目標はす
べての経路セグメントに関する許容可能な遅延を増大さ
せることである。
【0028】Pをすべての経路セグメントのセットとす
る。また、P1 およびP2 を短いおよび長い経路セグメ
ントのセットとする。我々は、li からlj までの経路
セグメントをli →lj として表す。dijをこのセグメ
ントの遅延とする。最適の遅延制約条件を得る最適化問
題は以下のように示される。つまり:
【0029】
【数1】
【0030】ここで、αは本質的にβよりも大きく、ま
た、αおよびβは相対的重要さのパラメータであり、そ
の最適化は以下の制約条件の下で行われる。つまり:短
い経路セグメントに関する許容可能な遅延は多くてそれ
らが所望のクロック期間に満たない量だけ減少される。
【0031】長い経路に関する許容可能な遅延は所望の
クロック期間よりも大きいかまたはそれに等しい。
【0032】最適化問題の解はx0 ≧0を持つことにな
る。それ故、ラッチli の出力信号に対する到着時間は
i −x0 によって与えられる。
【0033】上述した最適化問題は最小コスト・フロー
問題の双対である。我々は上述した最適化問題を双対問
題とし、そして最小フローコスト問題を主問題として取
扱う。フロー問題に対する回路網は双対における各変数
i に対する頂点から成っている。もしも双対が制約条
件xj −xi ≦cを持つとすると、回路網はjからiま
での弧を持っている。更に、この弧にわたる単位フロー
のコストはcに等しく、そしてこの弧は任意に大量の非
ネガティブ・フローを運ぶことができる。もしも双対が
制約条件xj −xi −εij<eとすると、その回路網は
jからiまでの弧を持っている。この弧にわたる単位フ
ローのコストはcに等しく、この弧上でのフローはαを
超えることができない。双対目的関数におけるxi の係
数はフロー回路網における頂点iの正味のフローアウト
である。もしも正味のフローが正(負)であるとする
と、頂点iはソース(シンク)である。もしも正味のフ
ローが0であるとすると、頂点iは回路網の中継ノード
であり、そして全フローは保存される。
【0034】上述した問題の有用な変更は次の通りであ
る。長い経路中には、或る長い経路を他のものよりも一
層減少させたいものがある。我々の好みは長い経路につ
いて利用可能な機能的情報により示される。これは次の
ように目的関数へと容易に組み入れられる。もしもli
とlj との間の最大経路遅延がp(p≧φ−ε)である
とすると、目的関数には頂p×(−Δp)が含まれる。
別な変更はいずれかのラッチ出力(入力)信号の到着時
間(必要時間)が1次入力(出力)に先行していること
を必要とすることである。すべてのこうした変更は基本
的最適化体系に対して容易に加えられる付加的な制約条
件へと移行する。上述の最適化体系を利用することで、
多くの他の変更も可能である。
【0035】遅延制約条件の最適なセットを得る体系的
手続は以下の通りである。
【0036】1.回路Sに対する経路グラフを構成す
る。経路グラフPは各ラッチli に対し頂点li を持っ
ている。回路Sの1次入力および1次出力は単一の頂点
0 により表される。もし回路Sにラッチli からlj
への或る経路があると、グラフPは頂点li から頂点l
j への弧を持ち、そこでの重みはラッチli からラッチ
j 迄の最大経路遅延に等しい。もしもli が1次入力
であるならば、l0 からlj への弧がある。同様にし
て、もしもlj が1次出力ならば、li からl0 への弧
がある。こうした経路上における遅延は組合せ再合成に
よってのみ減少されるので、1次入力と1次出力との間
での組合せ経路はその経路グラフに含まれない。
【0037】2.弧を短い弧と長い弧に分類する。その
重みが所望のクロック期間を超える(より小さい)とき
での弧は長い(短い)。
【0038】3.短いおよび長い弧に対する不等式を形
式化する。各短い弧に対しては1つの不等式があり、そ
して各長い弧に対しては3つの不等式がある。
【0039】4.目的関数を構成する。
【0040】5.最小コスト・フローアルゴリズムを使
用して最適化問題を解く。
【0041】適当なアルゴリズムは、Prentice
Hall Inc.,Englewood Clif
fs,N.J.,C.HパパデミトリオおよびK.ステ
イグリツによる“組合せ最適化:アルゴリズムおよび計
算量”という名称の本において見られる。xi ,0≦i
<≦kをラッチli の出力信号の最適到着時間とする。
もしもx0 が零でないとすると、ラッチ出力信号に対す
る到着時間はxi −x0 により与えられるように調整す
る。この変更は、1次入力の到着時間に変化がないの
で、成される。結局、我々は、この調整(必要ならば)
が行われ、そしてxi がラッチ出力信号に対する調整さ
れた到着時間を示すものと仮定する。
【0042】組合せ遅延最適化器に対する最適の到着お
よび必要時間は以下のように得られる。つまり: 1.1次入力には0の到着時間が割当てられる。また、
ラッチl2 の出力には−xi の到着時間が割当てられ
る。
【0043】2.1次出力には所望のクロック期間φ−
εに等しい必要時間が割当てられる。全ての他のラッチ
入力にはφ−ε−xi の必要時間が割当てられる。
【0044】我々は遅延制約条件セットの計算を例を通
して示す。前に述べた図1に示されている回路を考え
る。前にも述べたように、回路のクロック期間はφ=2
であり、そしてこれは、リタイミングによってもそれ以
上減少させることができない。これは、1次入力dと、
3の遅延を持つ1次出力fとの間に組合せ経路があるた
めである。また、組合せ遅延最適化は回路の遅延をそれ
以上減らせない。これは、1次出力関数fが2のクロッ
ク期間を達成するのに再合成されないためである。我々
は、セットでの最適遅延制約条件を使用した組合せ再合
成がクロック期間を2に減らせることを示す。それ故、
クロック期間における減少はε=1である。
【0045】図1での回路に対する経路グラフは図2に
示されている。それは回路における3つのラッチに対応
する3つの頂点l1 ,l2 およびl3 を持っている。頂
点l0 は、前に概説した手続のステップ1で論議したよ
うに、その回路の1次入力および1次出力に対応してお
り、そこには1次入力から1の最大遅延を持つラッチl
1 への経路があるので、我々はその経路グラフに1の重
みを持つ弧l0 →l1を含んでいる。同様にして、ラッ
チl3 から1次出力への経路は弧l3 →l0 によって表
される。l3 から1次出力へのいずれかの経路上での最
大遅延は3であるので、上述した弧の重みは3である。
経路グラフにおける他の弧は同様にして構成できる。
【0046】弧l0 →l3 は短い弧であり、対応する不
等式はx3 −x0 ≦1である。同様な不等式は経路グラ
フにおける残る5つの短い弧に対しても構成される。経
路グラフは唯一の長い弧l3 →l0 を持っている。この
弧は、次の3つの不等式に関係している。
【0047】l0 −l3 ≦0, l0 −l3 −ε03≦−1 ε03≧0 最適化問題は経路グラフからじかに形式化できる。つま
り 最大化 −αε30+β(x0 +x2 −2x
3 ) x1 −x0 ≦1 x2 −x0 ≦1 x3 −x0 ≦1 x3 −x1 ≦0 x3 −x2 ≦0 x0 −x2 ≦1 x0 −x3 ≦0 x0 −x3 −ε30≦−1 ε30
≧0 初めの6つの不等式は短い弧に対応している。最後の3
つの不等式は長い弧l3 →l0 に対応している。我々
は、従来の最小コスト・フローアルゴリズムを用いて最
適化問題を解き、解つまり:x=0,x1 =1,x2
1およびx3 =1を得る。我々は、α=10およびβ=
1を仮定する。すべての1次入力に対する到着時間は0
である。ラッチl1 ,l2 およびl3 の出力に対する到
着時間はそれぞれ、−1,−1および−1である。すべ
ての1次出力に対する必要時間は所望のクロック期間2
である。ラッチl1 ,l2 およびl3 の入力に対する必
要時間はそれぞれ、1,1および1である。我々はこう
した遅延制約条件の下で組合せロジックを再合成する。
【0048】図3には、再合成された回路が示されてい
る。図から見られるように、再合成された回路20は、
入力端子aおよびbにそれぞれ接続されたインバータ2
1および22を含んでいる。
【0049】インバータの2つの出力はラッチl1 およ
びl2 への入力を形成し、それらラッチの出力はORゲ
ート23への入力を形成している。ORゲート23の出
力はANDゲート24への一方の入力を形成し、他方の
入力は端子cに通じている。ANDゲート24の出力は
ラッチl3 への入力となり、ラッチl3 の出力はAND
ゲート25への一方の入力を形成し、他方の入力はラッ
チl2 の出力に通じている。また、ラッチl2 の出力は
ANDゲート26の一方の入力ともなっており、他方の
入力は入力端子eに通じている。ANDゲート25の出
力はANDゲート27への一方の入力となり、他方の入
力は端子dに通じている。ANDゲート27およびAN
Dゲート26の出力はORゲート28への2つの入力を
形成し、ORゲート28の出力は出力端子fにおいて利
用できる。遅延最適化器はすべての指定された遅延制約
条件を満たした。しかしながら、再合成された組合せロ
ジックは2の所望のクロック期間を超える経路を持って
いることに注意されたい。しかしながら、所望のクロッ
ク期間はこの回路を再調時することで達成される。
【0050】これは次のように示される。S′を、最適
の遅延制約条件を使用して回路Sを再合成することによ
り得られる回路とする。回路S′は常に、φ−εのクロ
ック機関を達成するのに再調時可能である。ここでは、
再合成された回路S′が以下で成されるように臨界経路
つまりサイクルを持たないことを示すだけで十分であ
る。これは、臨界経路つまり長さがリタイミングを防止
するのに必要な条件であることを確立したためである。
臨界経路つまりサイクルの存在がリタイミングを防止す
るのに十分な条件であることは既に知られている。
【0051】我々はここで、臨界経路つまりサイクルが
リタイミングを防止するのに必要な条件であることを示
す。我々はディジタル回路を有向グラフG(V,E)と
してモデル化し、ここで、VおよびEは頂点および弧セ
ットをそれぞれ示す。グラフGは各1次入力、1次出力
または組合せ論理ゲートに対する頂点を持っている。も
しもゲートuがゲートcへの入力であるとすると、そこ
には、頂点uから頂点vへの弧e(u→e vとして表さ
れる)がある。更に、我々は遅延dv ≧0を頂点vに関
連づけると共に、重みwε≧0を各弧εに関連づける。
ここで、dv はゲートvの伝搬遅延であり、そしてwε
は弧ε上におけるラッチの数である。
【0052】拡張グラフHは、グラフGにおける1次入
力および1次出力頂点を単一のホスト・ノードで置き換
えることにより、グラフGから得られる。それ故、グラ
フHは、Gの1次入力および1次出力頂点を除いて、グ
ラフGと同じセットの頂点を持っている。また、Hは付
加的なホスト頂点を持っている。グラフHは、1次入力
頂点の流出弧および1次出力頂点の流入弧を除いて、グ
ラフGと同じ弧セットを持っている。ここで、グラフG
での1次入力頂点からのすべての流出弧は拡張グラフH
でのホストから生ずる。同様にして、Gでの1次出力頂
点へのすべての流入弧はホストに入る。また、Gおよび
Hにおける頂点の遅延は、ホスト頂点に零の遅延が割当
てられることを除いて、同じである。Hにおける弧の重
みはGにおける弧の重みと同じである。もしも、グラフ
Gに、1次入力から1次出力viへの零遅延経路がある
とすると、Hには、零重みサイクルがある。しかしなが
ら、我々は、ホストのすべての流入弧上における重みを
1だけインクリメントし、かかる弧をラッチ弧として取
扱う。ラッチ上における重みをインクリメントすること
は、グラフGにおける1次出力vi と、この1次出力を
駆動するノードとの間に余分なラッチを加えることに等
価である。Hには、Gにある1次出力の数に同程度のラ
ッチ弧がある。
【0053】1991年、アルゴリズミカ(Algor
ithmica),Vol.6,pp.5〜35で公表
された“Retiming Synchronous
Circuitry”という名称の文献において、レイ
ザーソンおよびサクセは、拡張グラフにおけるすべての
頂点が単位遅延を持つと仮定したときに、いずれかの拡
張グラフが再調時可能である必要且つ十分な条件を解明
した。我々の場合、Hにおけるホスト・ノードは零伝搬
遅延を持ち、後でも示すように、それらを完全に証明す
るには、僅かな技術的問題がある。更に、我々は、HR
が各ラッチ弧に関して少なくとも1つのラッチを持つ特
定のリタイミングについて関心がある。レイザーソンお
よびサクセにより提案されたリタイミングはこれを保証
しない。各ラッチ弧が少なくとも1つのラッチを持って
いるHについての特定のリタイミングを得ることは、そ
れらの結果の僅かな修正を使用することにより可能であ
る。
【0054】Gを単位遅延周期回路Sの回路グラフと
し、そしてHをGから得られる拡張グラフとする。もし
も、各ラッチ弧がHR に1の重みを持つように、拡張グ
ラフHが再調時されるとすると、Gも再調時可能であ
る。Hのリタイミングが与えられると、我々はGR を次
のように得る。我々はホスト・ノードを削除して、各流
入弧からのラッチをHR でのホスト・ノードへと移す。
【0055】同じ頂点セットおよび弧セットをHとして
持つ新しいグラフH′を導入することは好都合である。
H′での頂点はHでの対応する頂点と同じ遅延を持って
いる。しかしながら、H′におけるいずれかの弧eの弧
重みw′e は、ホストの流出弧を除いて、
【0056】
【数2】
【0057】である。もしもeがホストからの流出弧で
あるとすると、w′e はwe に等しい。我々は、グラフ
H′を使用してHのリタイミングを得る。同様な技術は
レイザーソンおよびサクセによっても使用されている。
しかしながら、そこには2つの微妙な差異がある。レイ
ザーソンおよびサクセの技術は各頂点が単位遅延を持っ
ているグラフに対して適用可能である。我々は零伝搬遅
延を持つ頂点を認めるので、それらの結果はじかに適用
できない。更に、零伝搬遅延頂点を考慮するために、我
々はグラフH′を僅かばかり異なる仕方において構成す
る。HおよびH′におけるホストの流出弧は同一の重み
を持っている。レイザーソンおよびサクセの構成におい
て、ホストの流出弧の重みは
【0058】
【数3】
【0059】だけ減少される。このグラフをL′とす
る。もしもGが1次入力から遅延φ−eを持つ1次出力
への経路を持つとすると、L′における対応するサイク
ルは、
【0060】
【数4】
【0061】の負の重みを持つことになり、そしてGは
再調時できないものと我々は過って結論する。
【0062】補題1:もしもH′が負の重みサイクルを
持たないとすると、グラフHは正の重みを持つHR にお
ける各ラッチ弧について再調時可能である。
【0063】証明:H′は負の重みサイクルを持たない
ものと仮定する。我々は、クロックの期間がφ−εより
小さいかまたはそれに等しいように、Hのリタイミング
Rを作り出すことになる。g(v)をvからH′におけ
るホスト頂点であるvh への最も短い経路の重みとす
る。我々はリタイミング関数rを次のように規定する。
つまり、
【0064】
【数5】
【0065】我々はこれをHの正当なリタイミングと認
める。更に、我々は、各ラッチ弧が正の重みを持ってい
ることを示す。
【0066】非否定性制約条件:我々は、再調時したグ
ラフでの各弧が負でないエッジ重みを持っていることを
示す。uからvh への最短の経路は少なくとも、経路u
e v→p h と同程度に短い。ここで、pはvからv
h への最短経路である。もしもuがホストであるとする
と、g(u)≦g(v)+w(e)。従って、
【0067】
【数6】
【0068】両辺での上限を取ると、
【0069】
【数7】
【0070】これは、r(u)≦r(v)+w(e)を
生じさせる。同様にして、もしもuがホスト以外のいず
れかの頂点であるとすると、
【0071】
【数8】
【0072】それ故、提案したリタイミングは非否定性
制約条件を満足する。
【0073】タイミング制約条件:我々は、φ−εより
も大きい遅延を持ついずれかの経路上に少なくとも1つ
のラッチがあることを示す。ここでは2つのケースを検
討する。まず、ホスト頂点を含む経路u→p vについて
考える。それはφ−ε+1またはそれ以上の弧を持って
いる。従って、この経路の遅延は少なくとも、φ−ε+
1である。H′におけるこの経路上の重みは、
【0074】
【数9】
【0075】の重みを持つ少なくともe個のエッジがあ
るので、せいぜいw(p)−1にある。最短の経路拡張
を用いると、g(u)≦g(v)+w(p)−1とな
る。両辺に
【0076】
【数10】
【0077】を加えて、両辺の上限を取ることにより、
r(u)≦r(v)+w(ε)−1を得る。同様にし
て、ホストを含まない経路pを考える。それはφ−εま
たはそれ以上の弧を持っている。再度指摘するに、H′
におけるこの経路上での重みはせいぜい、w(p)−1
およびg(u)≦g(v)+w(p)−1である。ま
た、両辺に
【0078】
【数11】
【0079】を加え、両辺の上限を取ることにより、r
(u)≦r(v)+w(e)−1を得る。従って、提案
したリタイミングはタイミング制約条件を満足する。
【0080】正の重みを持つラッチ弧:u→e h のラ
ッチ弧について検討する。負サイクルの不在により、g
(vh)=0なので、
【0081】
【数12】
【0082】また、Hには負サイクルがなく、uがホス
ト頂点への経路のみを持っているので、
【0083】
【数13】
【0084】従って、r(u)=w(e)−1そして、
r(vh )−r(u)+w(e)=1。また、HH での
ラッチ弧上にはラッチがない。
【0085】もしもH′が負の重みサイクルを含むとす
ると、Hのリタイミングは不可能である。ホストを含み
そしてn弧を持つH′でのサイクルpについて検討す
る。従って、このサイクルの遅延はn−1である。サイ
クルは負の重みを持っているので、
【0086】
【数14】
【0087】ここで、w(p)はHにおける対応するサ
イクルの重みである。ラッチの数は
【0088】
【数15】
【0089】よりも小さいので、これは臨界サイクルで
ある。同様にして、ホストを含まずそしてn弧を持つサ
イクルpを考える。このサイクルの遅延はnである。従
って、
【0090】
【数16】
【0091】そしてサイクルは臨界である。ここから、
もしもH′が負のサイクルを持つとすると、そこでのリ
タイミングは不可能である。
【0092】我々はここで主要結果を述べる。
【0093】定理1:Sをクロック期間φを持つ単位遅
延同期回路とする。もしもSがnの臨界経路つまり臨界
サイクルを持つならば、回路Sは、クロック期間φ−ε
(ε>0)を達成するために再調時される。
【0094】説明:もしもSが臨界経路つまりサイクル
を持つとすると、Sは再調時できない。もしもSが再調
時できないならば、Sは臨界経路つまりサイクルを持た
なければならないことを示す必要がある。
【0095】Hを回路Sに対応した拡張グラフとする。
補題から、もしもH′が負の重みサイクルを持つなら
ば、Hは再調時できない。更に、H′における負の重み
サイクルはHにおける臨界サイクルに対応している。ホ
ストを含んでいるHでの臨界サイクルはSでの臨界経路
に対応している。同様にして、ホストを含まないHでの
臨界サイクルはSでの臨界サイクルに対応している。
【0096】補題から、そこにはHのリタイミングが存
在するので、各ラッチ弧は少なくとも1の重みを持って
いる。従って、回路SR は前にも述べたようにHR によ
り得られる。
【0097】リタイミングを防止するために臨界経路つ
まりサイクルが必要であることを確立してから、我々
は、最適遅延制約条件を使用した合成回路が臨界経路つ
まりサイクルを持たないことを示す。
【0098】定理2:S′を、最適遅延制約条件を用い
て回路Sを再合成することにより得られた回路とする。
回路S′は常に、φ−εのクロック期間を達成するのに
再調時可能である。
【0099】証明:前にも説明したように、ここでは、
再合成された回路Sが臨界経路つまりサイクルを持たな
いことを示すだけで十分である。
【0100】臨界経路の不在:1次入力l0 と、l2
・・ln-1 と指定されたn個のラッチからなる1次出力
n+1 とを持つ経路について検討する。我々は、この経
路の遅延が(n+1)×(φ−ε)よりも小さいかまた
はそれに等しいことを示す。pijとli とljとの間で
の遅延とする。従って、この経路の遅延は、
【0101】
【数17】
【0102】により境界づけられる。Sの再合成は、p
i,i+1 ≦(φ−ε)−(xi+1 −xi)およびx0 =x
n-1 =0であることを保証するので、合計は(n+1)
×(φ−ε)によって境界づけられる。
【0103】臨界サイクルの不在:ラッチli ・・・l
n を持つS′でのサイクルを考える。我々は、このサイ
クルの遅延がn×(φ−ε)よりも小さいかまたはそれ
に等しいことを示す。再度、pijをli とlj との間の
遅延とする。従って、この経路の遅延は、
【0104】
【数18】
【0105】により境界づけられる。ここで、pn,n+1
はラッチln とll との間の遅延である。pi,i+1
(φ−ε)−(xi+1 −xi )を使用すると、その合計
はn×(φ−ε)によって境界づけられる。
【0106】再合成回路のリタイミング:再合成した回
路は現存する種々な方法を使用して再調時できる。しか
しながら、回路をリタイミングするための新規で簡単な
方法はこの発明の別な特徴である。更に、この新しい手
法はいずれかの単位遅延の順次回路を再調時するのに使
用できる。再合成した回路は臨界経路つまりサイクルを
持っていない。故に、SRの1次入力と1次出力との間
でのすべての組合せ経路上での遅延は、φ−εの所望の
クロック期間よりも小さい。
【0107】リタイミングはラッチを動かす。回路を再
調時するのに必要なラッチ運動を計算することは、その
回路を経路セグメントの相互接続として再び見て、ラッ
チ出力信号の到着時間を計算することにより可能であ
る。我々は前に記述した短いおよび長い経路セグメント
制約条件を使用するが、異なる目的関数を構成する。こ
こで、我々の目標は長い経路セグメント上における許容
可能な遅延を大きくして、その許容可能な遅延をその再
合成処理での遅延に等しくすることである。この最適化
問題は以下のように述べることができる。つまり:
【0108】
【数19】
【0109】回路は臨界経路つまりリサイクルを持たな
いので、目的関数の最適値は0である。最小コスト回路
網フロー・アルゴリズムは最適到着時間を計算するのに
使用できる。もしも、Xi 0≦i<kがラッチli の出
力信号の最適到着時間であるとすると、そのラッチは前
向きのxi 単位時間である。もしもxi が負であるなら
ば、ラッチはxi の単位時間だけ後方に移される。
【0110】回路を再調時する体系的手続は以下の通り
である。すなわち: 1.再合成回路に対する経路グラフを構成する。
【0111】2.所望のクロック期間としてのφ−εを
持つ短いおよび長い弧へと弧を分類する。
【0112】3.短いおよび長い弧に対する不等式を形
式化する。各々の短い弧に対しては1つの不等式があ
り、各長い弧に対しては3つの不等式がある。
【0113】4.目的関数を構成する。これは、経路グ
ラフでの長い経路li →lj に対するすべてのεij's
合計である。
【0114】5.前に述べたように既知の最小コスト・
フローアルゴリズムを使用して最適化問題を解く。解は
0 ,X1 ,・・・,Xk とする。
【0115】6.もしも、Xi ,0≦i≦kがラッチl
2 の出力信号の最適到着時間とすると、ラッチはXi
位時間、前方に移される。もしもXi が負であるとする
と、ラッチはXi 単位時間、後方に移される。
【0116】一例として、図3に示されている前述の再
合成した回路について検討する。その経路グラフは図4
に示されている。経路グラフは2つの長い経路セグメン
トを持っている。そこにはl3 からl0 への長い経路が
あり、他の長い経路はl2 とl0 との間である。我々は
次の最適化問題を形式化する。すなわち: 最大化 −ε30−ε201 −x0 ≦1 x2 −x0 ≦1 x3 −x0 ≦1 x3 −x1 ≦0 x3 −x2 ≦0 x0 −x2 ≦1 x0 −x3 ≦0 x0 −x3 −ε30≦−1 ε30
≧0 x0 −x2 ≦0 x0 −x2 −ε20≦−1 ε20
≧0 最適解は、x0 =0,x1 =x2 =x3 =1。ラッチl
1 ,l2 およびl3 は、図5に示されている再調時され
た回路30を得るために、1単位時間だけ前方に移され
る。
【0117】図3の回路20と図5の回路30との比較
から見られるように、対応するゲートは回路30で10
だけ異なり、ラッチl1 はOR回路33の出力とAND
回路34の入力との間に導かれ、ラッチl2 はAND回
路35の出力とAND回路37の入力との間に再配置さ
れ、そしてラッチl3 はインバータ32の出力とAND
ゲート36の入力との間に再配置されている。
【0118】図6には、今まで記述してきた再設計プロ
セスの基本的ステップのフローチャート60が示されて
いる。
【0119】フローは、望ましくなく長い遅延の原因と
なる経路である回路の長い組合せセグメントの遅延を減
少させる標準の技術を行うことでスタートし、この種の
重要な技術はリタイミングとして、ブロック61により
示されている。
【0120】かかるリタイミング作業後、ブロック62
により示されているように、そのときに利用できる回路
に対して必要なクロック期間を計算し、次いで、ブロッ
ク63において、単位遅延のような或る遅延を初めに求
められるべき減少として選び出す。
【0121】その後、図2で示されている種類の経路セ
グメントグラフがブロック64において構成され、そし
てもしもその長さが求められつつある減少された遅延よ
りも大きかったならば長いとして、またもしもそれらの
長さが求められるつつある減少された遅延よりも大きく
なかったならば短いとして、そのグラフの各種弧が分類
される。弧がしかるべく分類された後、各長い弧に対し
ては3つ、各短い弧に対しては1つの経路不等式がブロ
ック65において形式化される。
【0122】こうしたセットでの経路不等式から、目的
関数がブロック66において構成され、そして標準の最
小コスト・フローアルゴリズムにより、ブロック68に
おいて、満たされることを必要とするセットでの最適遅
延制約条件が計算される。
【0123】その後、ブロック68によって表されてい
るように、組合せロジック・セグメントが図3に示され
ているセットでの最適遅延制約条件を満たす新しい回路
が合成される。
【0124】その後、ブロック70によって表されてい
るように、その回路が減少されたクロック期間で動作で
きる図5に示されている回路を与えるために再調時され
る。
【0125】クロック期間をなお一層減少させる場合に
は、ステップ63に戻って、一層の減少を選ぶ必要があ
る。
【図面の簡単な説明】
【図1】本発明に従って、そのクロック期間を2つの遅
延ユニットに減少させるために再設計される予定の順次
回路の概略ブロック図である。
【図2】図1の回路の経路セグメントグラフである。
【図3】本発明に従って見出されるセットでの最適遅延
制約条件に合うように合成された後の図1の回路の概略
ブロック図である。
【図4】図3の再合成された回路の経路セグメント・グ
ラフである。
【図5】2つの遅延ユニットのクロック期間で動作する
ように図3の再合成された回路をリタイミングすること
により得られる回路のブロック図である。
【図6】本発明の再設計プロセスの基本的ステップの流
れ図である。
【符号の説明】
11,12,21,22,31,33 インバータ 13,16,23,28,33,38 ORゲート 14,15,17,24,25,26,27,34,3
5,36,37 ANDゲート l1 ,l2 ,l3 ラッチ

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】順次回路のクロック期間を減少させるため
    に、回路の最適遅延制約条件に基づいて再調時可能とな
    るように当該回路を再合成するステップと、 前記再合成された回路を前記最適遅延制約条件を満たす
    ように再調時するステップとを含む順次回路を再設計す
    る方法において、 前記最適遅延条件を求めるために、 前記回路の経路セグメントグラフを形成するステップ
    と、 経路セグメントグラフの弧およびクロック期間での所望
    の減少に適切な経路不等式のセットを形成するステップ
    と、 前記不等式から目的関数を形成するステップと、 前記目的関数を満足する最適遅延制約条件を引き出すス
    テップと、 とを含むことを特徴とする順次回路を再設計する方法。
  2. 【請求項2】順次回路のクロック期間を減少させるため
    に、回路の最適遅延制約条件に基づいて再調時可能とな
    るように当該回路を再合成するステップと、 前記再合成された回路を前記最適遅延制約条件を満たす
    ように再調時するステップとを含む順次回路をリタイミ
    ングする方法において、 前記最適遅延条件を求めるために、 弧およびノードを含む、順次回路の経路セグメントグラ
    フを構成するステップと、 回路における組合せ経路セグメントを表している弧につ
    いて、前記遅延が減少されるべきものを長い弧として、
    前記遅延が減少されるべきものでないものを短い弧とし
    て分類するステップと、 前記長いおよび短い弧に適切な経路不等式のセットを形
    成し、当該経路不等式のセットから目的関数を形成する
    ステップと、 前記目的関数から最適遅延制約条件を引き出すステップ
    と、 を含むことを特徴とするに順次回路をリタイミングする
    方法。
  3. 【請求項3】前記最適遅延制約条件を引き出すステップ
    において、最小コストフロー解析を含んでいることを特
    徴とする請求項1に記載の順次回路を再設計する方法。
  4. 【請求項4】前記最適遅延制約条件を引き出すステップ
    において、最小コストフロー解析を含んでいることを特
    徴とする請求項2に記載の順次回路をリタイミングする
    方法。
JP5311820A 1993-03-30 1993-12-13 順次回路をリタイミングする方法および再設計する方法 Expired - Fee Related JP2601168B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US3847293A 1993-03-30 1993-03-30
US08/038472 1993-03-30

Publications (2)

Publication Number Publication Date
JPH06290232A JPH06290232A (ja) 1994-10-18
JP2601168B2 true JP2601168B2 (ja) 1997-04-16

Family

ID=21900166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5311820A Expired - Fee Related JP2601168B2 (ja) 1993-03-30 1993-12-13 順次回路をリタイミングする方法および再設計する方法

Country Status (2)

Country Link
US (1) US5663888A (ja)
JP (1) JP2601168B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5910898A (en) * 1995-12-14 1999-06-08 Viewlogic Systems, Inc. Circuit design methods and tools
US5894419A (en) * 1997-04-21 1999-04-13 International Business Machines Corporation System and method for robust clocking schemes for logic circuits
US20020091983A1 (en) * 2001-01-08 2002-07-11 Andreev Alexander E. Optimal clock timing schedule for an integrated circuit
JP3695428B2 (ja) 2002-07-17 2005-09-14 日本電気株式会社 論理回路の遅延最適化システムおよびその最適化方法ならびに制御プログラム
EP1623448B1 (en) * 2003-03-19 2016-12-14 Mentor Graphics Corporation Retimimg circuits using a cut-based approach
US7120888B2 (en) * 2004-07-12 2006-10-10 International Business Machines Corporation Method, system and storage medium for determining circuit placement
US7356793B2 (en) * 2004-07-12 2008-04-08 International Business Machines Corporation Genie: a method for classification and graphical display of negative slack timing test failures
US7526745B2 (en) * 2004-12-08 2009-04-28 Telefonaktiebolaget L M Ericsson (Publ) Method for specification and integration of reusable IP constraints
US7523426B2 (en) * 2005-03-29 2009-04-21 Lsi Corporation Intelligent timing analysis and constraint generation GUI
JP5743808B2 (ja) * 2011-08-24 2015-07-01 株式会社東芝 集積回路の配線方法、集積回路の配線プログラム及びそれを記憶した記憶媒体
US8645885B1 (en) 2013-01-04 2014-02-04 Altera Corporation Specification of multithreading in programmable device configuration
US8677298B1 (en) * 2013-01-04 2014-03-18 Altera Corporation Programmable device configuration methods adapted to account for retiming
US8713496B1 (en) 2013-01-04 2014-04-29 Altera Corporation Specification of latency in programmable device configuration
US8896344B1 (en) 2013-01-04 2014-11-25 Altera Corporation Heterogeneous programmable device and configuration software adapted therefor
US8863059B1 (en) 2013-06-28 2014-10-14 Altera Corporation Integrated circuit device configuration methods adapted to account for retiming
US9384311B1 (en) 2014-07-25 2016-07-05 Altera Corporation Programmable device configuration methods incorporating retiming

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4827428A (en) * 1985-11-15 1989-05-02 American Telephone And Telegraph Company, At&T Bell Laboratories Transistor sizing system for integrated circuits
EP0271596B1 (en) * 1986-12-17 1995-05-17 International Business Machines Corporation VLSI-chip design and manufacturing process
US4924430A (en) * 1988-01-28 1990-05-08 Teradyne, Inc. Static timing analysis of semiconductor digital circuits
US5282148A (en) * 1989-05-23 1994-01-25 Vlsi Technology, Inc. Method and apparatus for the design and fabrication of integrated circuits employing logic decomposition algorithms for the timing optimization of multilevel logic
US5095454A (en) * 1989-05-25 1992-03-10 Gateway Design Automation Corporation Method and apparatus for verifying timing during simulation of digital circuits
US5251147A (en) * 1989-06-20 1993-10-05 Digital Equipment Corporation Minimizing the interconnection cost of electronically linked objects
US5077676A (en) * 1990-03-30 1991-12-31 International Business Machines Corporation Reducing clock skew in large-scale integrated circuits
US5218551A (en) * 1990-04-30 1993-06-08 International Business Machines Corporation Timing driven placement
US5237514A (en) * 1990-12-21 1993-08-17 International Business Machines Corporation Minimizing path delay in a machine by compensation of timing through selective placement and partitioning
US5392221A (en) * 1991-06-12 1995-02-21 International Business Machines Corporation Procedure to minimize total power of a logic network subject to timing constraints
JP3076410B2 (ja) * 1991-07-08 2000-08-14 株式会社東芝 半導体集積回路の設計方法
US5448497A (en) * 1992-09-08 1995-09-05 Nec Research Institute, Inc. Exploiting multi-cycle false paths in the performance optimization of sequential circuits
US5553000A (en) * 1992-11-05 1996-09-03 Nec Usa, Inc. Eliminating retiming bottlenecks to improve performance of synchronous sequential VLSI circuits
JP2601177B2 (ja) * 1993-06-08 1997-04-16 日本電気株式会社 同期論理回路における最適クロック周期の決定方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会第42回全国大会講演論文集6−142〜143頁 1J−6 平塚憲晴他「順序回路のラッチ再割当て手法」

Also Published As

Publication number Publication date
JPH06290232A (ja) 1994-10-18
US5663888A (en) 1997-09-02

Similar Documents

Publication Publication Date Title
JP2601168B2 (ja) 順次回路をリタイミングする方法および再設計する方法
JP2609799B2 (ja) 順序回路の再設計方法
JP2874628B2 (ja) 論理回路の最適化装置及びその方法
US5734917A (en) System for producing combination circuit to satisfy prescribed delay time by deleting selected path gate and allowing to perform the permissible function for initial circuit
US5751596A (en) Automated system and method for identifying critical timing paths in integrated circuit layouts for use with automated circuit layout system
US5553000A (en) Eliminating retiming bottlenecks to improve performance of synchronous sequential VLSI circuits
KR20100124770A (ko) 동기에서 비동기로의 논리 변환
US6336205B1 (en) Method for designing semiconductor integrated circuit
US20050278681A1 (en) Method for synthesizing domino logic circuits
JPH08320893A (ja) 論理合成装置、論理合成方法及び半導体集積回路
US20100253409A1 (en) Clock generation system and clock dividing module
Branover et al. Asynchronous design by conversion: Converting synchronous circuits into asynchronous ones
Li et al. Multi-phase clocking for multi-threaded gate-level-pipelined superconductive logic
US7302657B2 (en) Optimization of the design of a synchronous digital circuit
Tien et al. Integrating logic retiming and register placement
Nookala et al. A method for correcting the functionality of a wire-pipelined circuit
Papaefthymiou Understanding retiming through maximum average-weight cycles
Chakradhar et al. Sequential circuit delay optimization using global path delays
EP1308862B1 (en) Optimization of the design of a synchronous digital circuit
Klimowicz Performance targeted minimization of incompletely specified finite state machines for implementation in FPGA devices
Kumthekar et al. A symbolic algorithm for low-power sequential synthesis
JP3004589B2 (ja) パストランジスタ論理設計方法
Yi et al. Hierarchical synthesis of complex DSP functions using IRIS
JP2002073712A (ja) 回路生成装置、回路生成方法及びcad設計装置
Kim et al. DEMI: A delay minimization algorithm for cell-based digital VLSI design

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: 19961126

LAPS Cancellation because of no payment of annual fees