JPH07129641A - Vlsiシステムを再タイミングする方法 - Google Patents

Vlsiシステムを再タイミングする方法

Info

Publication number
JPH07129641A
JPH07129641A JP6163512A JP16351294A JPH07129641A JP H07129641 A JPH07129641 A JP H07129641A JP 6163512 A JP6163512 A JP 6163512A JP 16351294 A JP16351294 A JP 16351294A JP H07129641 A JPH07129641 A JP H07129641A
Authority
JP
Japan
Prior art keywords
retiming
input
output
clock
phase
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.)
Pending
Application number
JP6163512A
Other languages
English (en)
Inventor
Teii Ishii Arekusandaa
ティー イシイ アレクサンダー
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 JPH07129641A publication Critical patent/JPH07129641A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 プリチャージされた構造及びゲーテッドクロ
ック信号を有する回路に直接適用できる様に、従来の再
タイミング技術を一般化する方法を提供する。 【構成】 タイミング制限の一般集合は、その集合のク
リティカルな要素を計算する方法と、ゲーテッドクロッ
ク信号及び/またはプリチャージされた回路構造を有す
るVLSIシステムの再タイミングを可能にする。一つ
の方法においては、システムの構成要素によって使用さ
れるクロック信号、または新たなクロック信号が、その
システムで使用されるために生成される。別の方法にお
いては、そのシステムの構成要素のそれぞれのペアに対
する複数のクリティカルな経路が計算される。構成要素
のそれぞれのペアに対する最もクリティカルな経路が選
択され、ペアに対する最もクリティカルな経路が正しく
時間合わせされない場合には、そのペアの一方の構成要
素がそのペアの構成要素を正しく時間合わせするために
再タイミングされる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、VLSIシステム、特
に、プリチャージされた回路構造及び/またはゲーテッ
ドクロック信号を含むVLSIシステムの再タイミング
方法に関する。すなわち、本発明は、プリチャージされ
た回路構造及びゲーテッドクロック信号と共に使用可能
で、フルカスタムVLSIの設計の再タイミングに適用
可能な方法に関する。
【0002】本発明は再タイミングとの関連で説明され
るが、その方法は、タイミング検証の問題解決に対して
も適用できる。すなわち、その結果は、プリチャージさ
れた回路構造及びゲーテッドクロック信号を含む回路に
直接適用できる、タイミング制限の一般集合に基づいて
いる。
【0003】
【従来の技術】プリチャージ技術及び/またはゲーテッ
ドクロック信号を利用した回路構造は、速度,電力及び
面積上の明白な有利性を有するため、これら二種類の技
術は、高性能VLSI設計においては一般的である。
【0004】面積及び消費電力ができるだけ小さい設計
のディジタルMOS/VLSIを製造する場合、プリチ
ャージされた回路構造及びゲーテッドクロック信号を使
用することになる。例えば、面積及び消費電力の節約
は、ドミノ論理の様なプリチャージされた回路構造によ
って組合せ論理ブロックを置き換えることにより、しば
しば達成できる。節約は、クロックパルスが特定のクロ
ックされた記憶素子に達するのを選択的に阻止するため
に組合せ論理ブロックを使用することによってもまた達
成できる。面積及び消費電力を最小化することの重要性
により、マイクロプロセッサの様な多くのフルカスタム
VLSIシステムにおいて、上記の様なプリチャージさ
れた回路構造及びゲーテッドクロック信号は、広く利用
されている。
【0005】
【発明が解決しようとする課題】再タイミングは、何ら
かの性能パラメータ、一般的にはクロック周期に対して
ラッチの配置を最適化させる過程である。従来の再タイ
ミング技術は、ゲーテッドクロック信号及び/またはプ
リチャージされた回路構造を利用した回路には直接適用
できない。というのは、従来の再タイミング技術は、そ
の様な構造が持っている追加タイミング制限を考慮して
いないからである。ゲーテッドクロック及びプリチャー
ジされた回路構造を扱えないことにより、従来の回路再
タイミング方法は、種々の高性能設計へ適用することが
できない。
【0006】以上のように、従来の再タイミング(ラッ
チ配置の最適化)は、プリチャージされた回路構造及び
ゲーテッドクロック信号の特殊性に焦点をあてておら
ず、したがって、多くのASIC以外のVLSIシステ
ムに適用できなかった。
【0007】
【課題を解決するための手段】本発明は、再タイミング
を行なう際の、複数の入力位相、複数の出力位相、及び
複数の時相の使用に関する。従来技術においては、単一
の(節点あたり)入力位相及び出力位相、及び単一の
(辺あたり)時相しか使用されない。
【0008】さらに、本発明は、厳密には組合せ論理ま
たはラッチ記憶素子には分類できない回路構造の再タイ
ミングに関する。従来技術においては、構造要素が厳密
に上記二種類の素子グループに分類できる回路に対して
しか、再タイミング技術は適用できなかった。
【0009】さらに、構成要素cの出力に単一のラッチ
を導入しても遅延した入力iが得られない場合はいつで
も、iを生成する構成要素cの再タイミングを強制する
という概念に関する。従来の再タイミング方法において
は、経路中にラッチを配置することにより遅延した信号
iが得られると仮定されている。
【0010】本発明の別の側面は、クロック信号入力
を、それが別の利用可能なクロック信号であると指定す
るか、または新たに生成されたクロック信号であると指
定することにより、クロック信号入力を遅延させるとい
う概念である。従来は、遅延はラッチによって導入され
るものであり、クロック信号の様な周期的な信号の遅延
のために別の利用可能なクロック信号を直接生成または
使用することはないと仮定されていた。
【0011】したがって、本発明の主な目的は、プリチ
ャージされた構造及びゲーテッドクロック信号を有する
回路に直接適用できる様に、従来の再タイミング技術を
一般化する方法を提供することである。タイミング制限
の一般集合、及び、その集合の「クリティカル」な要
素、すなわち満たされた場合に適切な回路タイミングを
保証するに十分なその集合の要素を計算する方法につい
て説明される。これらのクリティカルな制限は、レベル
クロック回路の再タイミングを計算するのに従来使われ
ている不等式に類似の不等式の集合を定式化するために
使われる。また、本発明は、従来の再タイミング方法で
は扱われていない、プリチャージされた回路構造及びゲ
ーテッドクロック構造を含む回路の再タイミングに関す
る。
【0012】
【実施例】特に図1〜図4を参照すると、図1には、ゲ
ーテッドクロック構造によって置き換えることのできる
回路構造が示される。図2は、図1の回路に置き換わる
ことができるゲーテッドクロック構造を示す。図3は、
完全に相補的なNORゲートを示し、図4は、プリチャ
ージされたNORゲートを示す。
【0013】図1〜図4に示された回路のメリット及び
デメリットには、図1及び図2の回路は概念的には同じ
関数を計算するものであるが、一般に図2の回路の方が
より効率的であるということが含まれている。というの
は、図2の回路は、入力と出力の間の伝搬遅延時間が短
いという利点を有し、また多くの場合、実用上小さなシ
リコン面積しか必要としないからである。同様に、図3
と図4の回路は概念的には同じ関数を計算するものであ
るが、一般に図4の回路の方が、pFETの個数が少な
いため、より効率的である。図2の回路は、ゲーテッド
クロック構造の例であり、図4の回路は、プリチャージ
された回路構造の例である。
【0014】ゲーテッドクロック構造の有利性を理解す
るため、図1に示された回路について考える。機能素子
Aは、その出力が、信号passが高電位の時にはEの
出力値となり、信号passが低電位の時には出力の値
となるマルチプレクサである。passの値はクロック
φ0 が低電位の期間のみ変化できると仮定すると、構成
要素A,B,C全体は、passが高電位である限り、
レジスタの様に振舞う。すなわち、出力の値は、クロッ
クφ0 が高電位から低電位に変わった最近の時点におけ
るEの出力値に等しい。もしpassが低電位ならば、
出力の値は、Bへ循環される。すなわち、出力の値は一
定である。図1の回路と同様の振舞いは、図2に示され
た様な回路を使って実現できる。後者の回路において
は、マルチプレクサ及び循環経路を組込む代わりに、信
号pass及びANDゲートAを使用してクロックφ0
のパルスを選択的に禁止することにより、Eからの新出
力がBに蓄積されるのを防止される。これら二つの回路
例を実現するために必要なハードウェアは概ね同等であ
るが、図2のゲーテッドクロック構造は、Aの出力が多
くの異なったラッチによって共用される様な一般的な状
況においては有利である。また、このゲーテッドクロッ
ク構造は、入力から出力への伝搬遅延を解消することが
でき、この点でも有利である。
【0015】図3に示されたpFET12,14,1
6,18及びnFET20,22,24,26は、4入
力NORゲートを実現している。すなわち、入力1,入
力2,入力3,入力4のいずれかが高電位である場合の
み、出力節点が低電位となる。図示されたNORゲート
は、多くのVLSI設計で広く用いられている。標準的
な完全に相補的なものである。
【0016】完全に相補的なゲートは、それらを実現す
るための面積及び動作させるための電力の点から、費用
が比較的高くなる傾向がある。例えば、図3の完全に相
補的なNORゲートは、4個のpFET及び4個のnF
ETから成っている。これに対し、図4に示されたpF
ET30及びnFET20,22,24,26,28
は、pFETが3個少ない構成で概念的に同じ機能を実
現する。pFETの個数が少ないという事実は、一般
に、回路がより小さいシリコン面積で実現できることを
意味する。さらに、nFET及びpFETの種々の端子
は、すべて非ゼロの電気的容量(その端子への論理電圧
が変化する度に充電及び放電される)として特徴づけら
れるので、図4の回路は、一般に、より速く動作し、動
作中の消費電力も小さい。
【0017】プリチャージされた回路の高い効率は、そ
れらの動作がより複雑であるという犠牲を払って得られ
るものである。所望の論理電圧を、単に入力に電圧の組
を与えることによって出力に得ることができる完全に相
補的なゲートとは異なり、プリチャージされた回路で
は、順序的な入力を与えることが必要である。例えば、
入力1〜入力4がシーケンス全体を通じて一定の値であ
ると仮定すると、ほとんどのプリチャージされた回路で
は、下記のシーケンスに類似のものが要求される。シー
ケンスの最初の入力の組は、入力φ0 が高電位であり、
入力φ1 が低電位である様な形でなければならない。最
初の入力の組が回路に与えられている間、回路の出力
は、高電位に引き上げられる。最初の入力の組が回路に
与えられている間、回路はプリチャージ中であり、この
期間は、プリチャージ段階である。
【0018】シーケンスにおける第2の入力の組が与え
られている間、φ0 は低電位であり、φ1 は高電位であ
る。もし入力1〜入力4が低電位であれば、種々の回路
要素に付随する電気的容量は、出力を高電位の状態に保
持する。もしこれらの入力の内どれかが高電位であれ
ば、出力と高電位の間で経路が生じる。出力の最終的な
値は、入力1〜入力4に対するNOR演算の結果とな
る。第2の入力の組が回路に与えられている間、回路は
計算中であり、この期間は計算段階である。
【0019】単純なレベルクロック回路(ゲーテッドク
ロック信号及びプリチャージされた回路構造が存在しな
い)に対するタイミング制限は、回路中の経路に沿った
伝搬遅延時間と、あるクロックパルスの立ち上がりエッ
ジとその後のあるクロックパルスの立ち下がりエッジの
間の時間長との間の不等式として記述することができ
る。例えば、図7に示された回路は、経路A→Eに沿っ
た全体の伝搬遅延時間が、時間τ(A→E)=φ0 +2
(ε0 +φ1 +ε1 +φ0 )=φ0 +2πより短くなけ
れば、正しく時間合わせされない。ここで、φ0
φ1 ,ε0 ,ε1 及びπは、図7に示された時間間隔を
表現するために、“オーバー・ロード”されている。同
様に、この回路は、経路B→Cに沿った全体の遅延時間
が、τ(B→C)=φ1 +ε1 +φ0 より短くなけれ
ば、正しく時間合わせされない。ある回路は、ラッチが
値を保持している時はいつでも(すなわち、そのクロッ
ク入力が低電位の時はいつでも)、すべての機能素子が
ゼロ伝搬遅延時間を有する様な等価な回路において保持
するであろう値と同じ値を保持する場合のみ、正しく動
作していると定義される。
【0020】ゲーテッドクロック信号及びプリチャージ
された構造は、さらに、より制限的なタイミング要請を
有する。例えば、図2の回路では、ラッチBから見たク
ロック波形がもはや回路の外部において生成されたもの
ではないという事実は、他の構成要素の遅延時間が、論
理グリッチまたはクロックの論理上発生したスキューの
ために所望のデータ値の過剰書込みを生じさせる。より
詳しく述べると、回路の正しいタイミングのためには、
信号passが、φ0 の立ち上がり以前に、Dを通過す
る必要がある。もしpassがこの時までに通過してい
なければ、入力の値は、意図しない形でBにラッチされ
るかも知れない。
【0021】同様に、図4に示された様なプリチャージ
された回路の出力は、プリチャージ段階が終了した後は
壊れ易いため、計算段階が始まる前に値が入力1,入力
2,入力3,入力4に完全に到達することが重要であ
る。そうでなければ、出力は意図しない形で低電位に引
き下げられるかも知れない。
【0022】図4に示された様なプリチャージされた回
路はまた、プルアップpFET30の時間は、信号φ0
が降下する以前に出力が高電位に達する様な形である、
という追加的な制限を有する。pFETは、抵抗がその
ゲート入力が高電位の時に無限大となり、低電位の時に
0でない有限の値Rとなる様な電圧制御抵抗と見なすこ
とができる。0でない抵抗Rの存在と、どの様な回路も
その出力に0でない容量を有するということから、プリ
チャージ段階の始まりから出力が高電位に達するまでに
遅延時間が発生することになる。もしこの遅延時間がプ
リチャージ段階の長さより長ければ、出力は決して高電
位には達しない。同様に、計算段階は、出力が低電位に
なるために十分長くしなければならないという制限も存
在する。
【0023】ゲーテッドクロック信号及びプリチャージ
された構造は、幾つかの経路の遅延時間は、あるクロッ
クパルスの立ち上がりエッジから別のクロックパルスの
立ち上がりエッジの間の時間より短くなければならない
という、付加的な制限を導入する。さらに、プリチャー
ジされた構造は、図4に示された回路のpFET30の
様な構成要素の遅延時間は、あるクロックパルスの立ち
上がりエッジから同じクロックパルスの立ち下がりエッ
ジまでの時間より短くなければならないという制限を課
す。
【0024】種々のタイミング制限の定式化を簡略化す
るため、図7に示す様に、以下の記載は、レベルクロッ
ク回路が、重複しない二つのクロックのみを使用すると
いう特別な場合に限定されている。当業者は、本願が、
その様な特別な制限のないレベルクロック回路に対して
も適用できるということを理解できる。
【0025】ゲーテッドクロック及びプリチャージされ
た回路構造のタイミング制限をケースごとに扱うより
も、それらは、一般的なタイミング制限の特別なケース
として考察される。すべての場合において、制限はやは
り、経路の遅延時間と、二つのクロックエッジ間の時間
長の間の不等式という形式となる。ある経路に沿った伝
搬遅延時間の決定は、別の問題として扱うことができる
ので、唯一の克服すべき困難は、適切な時間間隔の長さ
を系統的に認識することの必要性である。この量は経路
の時相と呼ばれる。
【0026】従来技術においては、考察すべき時間長の
タイプを制限するために、下記の二つの仮定が使われて
いる。第一に、すべての回路要素に関して、組合せ経路
を介してその構成要素に達することができるすべてのラ
ッチは、同じクロックφによって制御されなければなら
ない。クロックφは、入力位相、または、単純にその構
成要素の位相である。第二に、同じクロック位相によっ
て制御されるラッチ間には、ラッチを有さない経路があ
ってはならない(すなわち、ある経路に沿ったラッチ
は、交互のクロック位相によって制御される)。
【0027】上記の仮定を設けることにより、組合せ経
路を介して構成要素が達することができるすべてのラッ
チを制御する唯一のクロック波形φ′を、それぞれの構
成要素に付随させることが可能となる。このクロック
φ′は、構成要素の出力位相である。さらに、組合せ経
路を介して構成要素に達することができるすべてのラッ
チを制御する唯一のクロック波形φを、それぞれの構成
要素に付随させることも可能である。このクロックφ
は、構成要素の入力位相である。上記の仮定の基で、特
定の経路の時相は、経路上の最初の構成要素の入力位
相、経路上の最後の構成要素の出力位相、及び経路に沿
ったラッチの個数の関数として定式化される。
【0028】しかし、どの仮定の場合も、ゲーテッドク
ロック信号及びプリチャージされた回路構造を含むレベ
ルクロック回路に対して必ず成立するとは限らない。例
えば、図4の回路では、pFET30及びnFET28
はラッチとみなされ、出力に継がれたワイヤを構成要素
とみなすことができる。したがって、第一の仮定は出力
によって破られ、第二の仮定はnFET28及びラッチ
Bによって破られることは明らかである。
【0029】第一の仮定を破る様な回路を扱うために
は、入力位相及び出力位相の一般化された定義が必要で
ある。入力位相は、もしすべての伝搬時間が0であると
すれば、構成要素の出力が変化するであろうクロック事
象として概念化できる。出力位相は、構成要素の新出力
が準備しなければならないクロック遷移として概念化で
きる。入力位相及び出力位相に関するこれらの特徴づけ
は、複数の(かつ任意の)クロック遷移に対して直接適
用できるので、下記の定義が生じる。
【0030】構成要素uの入力位相は、もしすべての伝
搬遅延時間が0であるとすれば、uの出力が変化するで
あろうクロック遷移である。uのすべての入力位相の集
合は、uの入力位相集合
【0031】
【外6】
【0032】である。
【0033】構成要素uの出力位相は、uの入力におけ
る新しい値が、それ以前にuの出力に到達しなければな
らない様なクロック遷移である。uのすべての出力位相
の集合は、uの出力位相集合
【0034】
【外7】
【0035】である。
【0036】φ0 の立ち上がりエッジ、φ0 の立ち下が
りエッジ、φ1 の立ち上がりエッジ、及びφ1 の立ち下
がりエッジは、それぞれ↑φ0 ,↓φ0 ,↑φ1 ,↓φ
1 と表わされる。さらに、入力位相集合は↓φ0 または
↓φ1 を含むことができないと仮定する。ただし、この
仮定は、種々の定義の複雑化という犠牲を払えば、取り
除くことができる。上記定義により、従来技術において
は、位相集合は単集合であり、それぞれの構成要素の入
力位相集合及び出力位相集合は交わりを持たないと仮定
されている。
【0037】第二の仮定を破るような回路を扱うため
に、「時相」の概念が導入される。従来の再タイミング
においては、ある経路に沿ったラッチを制御するクロッ
クは、交互に発生すると仮定されているので、経路の時
相は、経路の終端における入力及び出力位相及び経路に
沿ったラッチの個数の関数として定式化できるであろ
う。その様な手法は、例えば、構成要素が複数の入力位
相を有する場合には、問題がある。φ0 によってクロッ
クされる一個のラッチu、及び経路pの一部を考える。
pの時相は、値の変化がpに沿って伝搬するのに利用で
きる時間である。しかし、この利用できる時間に対する
uの時間的寄与は、入力位相集合が単集合であるところ
のu(p中に存在する)より前の最後の構成要素vの入
力位相に依存して変化する。例えば、この寄与は、もし
vの入力位相が↑φ1 である(すなわち、経路p上でu
より前のラッチがφ1 によってクロックされている)と
すると、φ0 パルスの幅|φ0 |となり、もしvの入力
位相が↑φ0 である(すなわち、uがすべてφ0 によっ
てクロックされているラッチの継がりの一部である)と
すると、0となるであろう。入力位相集合は↑φ1 及び
↑φ0 の双方を含むことができるので、両方のケースが
同時に発生可能であり、またuが、それに付随した複数
の寄与を行なうことができることは明らかである。
【0038】一般に、ある経路p=u→vは、複数の時
相を有する。一つは、uの入力位相とvの出力位相のそ
れぞれの組合せに対するものである。別の時相は、次の
互いに再帰的な定義を使って記述することができる。
【0039】任意の経路pに対して、pの↑φi ↓φi
時相
【0040】
【外8】
【0041】は、次の通りである。
【0042】
【数2】
【0043】i≠jの場合のφの↑φi ↓φj 時相
【0044】
【外9】
【0045】は、次の通りである。
【0046】
【数3】
【0047】pの↑φi ↑φj 時相
【0048】
【外10】
【0049】は次の通りである。
【0050】
【数4】
【0051】すべての式において、
【0052】
【外11】
【0053】であり、サブスクリプトにおける加算は、
2を法として行なわれる。
【0054】ゲーテッドクロック信号及びプリチャージ
された回路構造に伴なうすべての付加的なタイミング制
限は、適当な回路要素の位相集合に、付加的な位相を追
加することにより記述することができる。経路p=u→
v、入力位相
【0055】
【外12】
【0056】、及び出力位相
【0057】
【外13】
【0058】のそれぞれの組合せに対して、正しいタイ
ミングとしては、タイミング制限
【0059】
【数5】
【0060】が満たされていることが必要である。
【0061】
【外14】
【0062】は、特定の制限のスラックである。
【0063】構成要素uの再タイミングは、uからのそ
れぞれの出力からの一個のラッチの除去及びuへのそれ
ぞれの入力への一個のラッチの挿入として、しばしば概
念化される。再タイミングの最終目的は、uで終わる経
路の時相を増加させ、それにより、その様な経路に沿っ
た全体の伝搬遅延時間に関する制限を緩めることであ
る。ラッチの除去及び追加による再タイミングの概念
は、図4の回路におけるAや図4におけるnFETの様
な構成要素に直接適用することはできない。というの
は、前者の場合、ラッチBは、通常の意味でのAの出力
には存在せず、後者の場合、その様な操作は、プリチャ
ージされた構造のプリチャージ及び計算段階を構成する
必要性を考慮していないからである。
【0064】再タイミングはまた、遅延によっても概念
化することができる。遅延の考えは、例えば、C.E.
Leiserson et al.,“Retimmi
ngSynchronous Circuitry”,
Algorithmica,6(1),1991に記載
されている。もし論理ブロックの伝搬遅延時間が0と仮
定され、構成要素uの入力値の時間点へのマッピングが
検討されると、uを再タイミングすること(ラッチの除
去及び追加)の機能的な影響は、マッピングの遅延であ
ること、すなわち、ある立ち上がりクロックエッジで発
生するすべての入力遷移それぞれが、次の立ち上がりク
ロックエッジで発生する様になることが明らかになるで
あろう。例えば、もし論理ブロックuが最初に↑φ0
入力位相を持っていれば、再タイミング後その入力位相
は↑φ1 となり、またuのすべての出力値遷移は、φ0
パルスの幅と、φ0 パルスとφ1 パルスのギャップ幅の
和の分だけ前方にシフトする(すなわち、次の↑φ1
で前方にシフトする)。この入力の遅延は、単純にuの
入力にラッチを追加することにより達成できるであろ
う。しかし、すべての入力の遅延は即、すべての出力の
遅延を意味するので、uの出力からラッチを取り除くこ
ともまた必要であり、その結果、遅延された出力は元の
値と時間のマッピングを満たすことになる。もしuの出
力に利用できるラッチがない場合、その出力が向かって
いるところの構成要素vをも再タイミングする(vへの
入力が遅延されて、uの遅延された出力に直接結合する
様に)必要がある。
【0065】入力の遅延としてのこの再タイミングの概
念は、ゲーテッドクロック構造に直接適用できる。例え
ば、図2の構成要素Dについて考える。Dへの入力を遅
延させるには、passと入力の間に、φ0 によってク
ロックされたラッチを単純に配置すればよい。DとAの
間にはラッチが存在しないので、Dを遅延させるために
は、Aを遅延させる必要がある。Dからの入力は既に遅
延されており、クロック入力は、φ0 からφ1 に変更す
ることにより遅延できるので、Aの遅延は達成できる。
両方の入力が遅らされたので、Aの出力は遅らすことに
なり、そのことは、Bの遅延の必要性を意味している。
Bへのクロック入力は既に遅らされており問題はなく、
Eからの別の入力は、φ0 によってクロックされたラッ
チを導入することにより遅延できる。Bの出力の遅延
は、ラッチCを除去することにより補償できるので、そ
れ以上の遅延は必要ない。この様に、遅延を導入するた
めに様々な方法を使用することにより、再タイミングは
達成できる。ゲーテッドクロック回路の最終的な再タイ
ミング回路構成が、図8に示されている。
【0066】Aの入力を遅延させるためには、Bの入力
を遅延させる必要があることは明らかであるが、Eへの
入力を遅らせる場合には、問題が生じる。特に、Bを、
Eの出力からEの入力へ移動させることにより、遅延は
達成できるであろう。これは、Bへのクロック入力がA
の出力のままである限り、所望の効果を有する。別の方
法としては、φ0 によってクロックされたラッチをEの
入力に導入することによっても、遅延は達成できるであ
ろう。後者の方法では、Bへのデータ入力を遅らせるの
で、Bへのクロック入力をも遅らせることが必要にな
る。AとBの間にラッチを導入することは所望の効果を
生じさせないが、解決策は単に、Aへの両方の入力を遅
らせること、すなわち、Aのクロック入力をφ1 に変更
し、φ0 によってクロックされたラッチをAへの別の入
力に設けることである。以下の記載においては、Bへの
入力を遅らせる後者の方法が仮定される。この仮定は、
A及びBが遅らされる(再タイミングされる)回数が等
しくなければならないことを意味する。
【0067】同様に、図4のnFETも再タイミングす
ることができる。例えば、入力1の遅延は、付加的なラ
ッチを導入することにより達成できる。nFET28か
らの入力の遅延は、nFETへのクロック入力をφ1
らφ0 に変更することにより達成される(nFET20
への低電位入力は、遷移が付随しないので、遅延は必要
ない)。nFET20の出力における暗黙の遅延は、信
号出力もまた遅延されることを要求する。構造のプリチ
ャージ及び計算段階が保たれる場合のみ、遅延を達成す
ることができる。これは、他のnFET22,24,2
6及びpFET30の入力を遅延させることにより達成
できる(nFET22,24,26の遅延は、nFET
28の遅延によっても必要とされることに注目を要す
る)。最後に、出力の遅延は、ラッチBを除去すること
により補償される。プリチャージされた回路の、最終的
な再タイミング回路構成は、図9に示されている。ゲー
テッドクロックの場合と同様に、正しいタイミングは、
種々の構成要素が等しく再タイミングされることを要求
することにより保証できる。
【0068】再タイミングの遅延による解釈が与えられ
ると、二個の構成要素u,vの再タイミングは、uとv
の間の経路のタイミング制限に、以下の様な形で影響す
る。
【0069】↑φ0 ,↓φ0 ,↑φ1 及び↓φ1 をそれ
ぞれχ0 ,χ1 ,χ2 及びχ3 により表わす。さらに、
δi を、χi とχi+1 の間の時間とし(サブスクリプト
の法は4)、rをuとvが遅延されるべき回数を示す再
タイミング関数とする。経路p及び入力−出力位相の組
合せχi −χj に対し、uとvの再タイミングは、どの
様な再タイミング関数値r(u),r(v)に対しても
次の様なタイミング制限をもたらす。ここで、d(p)
は、
【0070】
【数6】
【0071】pに沿った全体の伝搬遅延時間を表わす。
左辺の最初の二項は、vの再タイミングによる付加的な
時間的「距離」であり、不等式の右辺は、uの再タイミ
ングにより失われる時間的「距離」である。
【0072】再タイミング問題は、形式的に次の様に述
べることができる。レベルクロック回路を、有向マルチ
グラフ
【0073】
【外15】
【0074】と表わす。ここで、遅延関数dは、Vの要
素を負でない実数にマッピングし、
【0075】
【外16】
【0076】は、Vのそれぞれの要素を入力位相集合に
マッピングし、
【0077】
【外17】
【0078】は、Vのそれぞれの要素を出力位相集合に
マッピングする。
【0079】
【外18】
【0080】は、電圧が、組合せ論理ブロック、レベル
クロックラッチ、三状態バッファ、または単一のトラン
ジスタ等のある回路構造の「出力」信号とみなされると
ころの電気的節点(すなわちワイヤ)に対応する。エッ
ジの集合Eは、頂点によって表わされた信号の、別の頂
点によって表わされた信号の値に直接影響する能力だけ
でなく、ある信号を別の信号の集合を遅延させることに
より遅延させる能力をも示すものである。より形式的に
述べると、エッジの集合Eは、すべての
【0081】
【外19】
【0082】に対して、uによって表わされるすべての
電気的節点を
【0083】
【外20】
【0084】という形で遅延させることは、vによって
表わされる電気的節点の遅延を生じさせなければならな
い、ということを満たす必要がある。再タイミング問題
は、上記不等式(5)がG中のすべての経路p及び入力
−出力位相の組合せχi −χjに対して満たされ、か
つ、
【0085】
【外21】
【0086】であり、uによって表わされる信号の遅延
されたものは、データ入力がuであるラッチの導入によ
っては得ることができないという形で、すべてのu及び
vに対してr(u)=r(v)である、という形で再タ
イミング関数r:v→zを計算することである。
【0087】ゲーテッドクロック及びプリチャージされ
た構造を有する回路を再タイミングするための実際的な
アルゴリズムを得るためには、回路におけるクリティカ
ルな経路を識別する必要がある。上記不等式(5)で言
及されている経路の数は無限であるから、実際的な再タ
イミングアルゴリズムにおいて、それらのすべてを個々
に調べることは不可能である。
【0088】図10は、Yの再タイミングのためのXか
らのクリティカルな経路が、四つの異なった経路の内い
ずれでも良い様な状況を示している。もし入力位相が立
ち上がりクロックエッジに限定され、出力位相が立ち下
がりクロックエッジに限定されていると、これは最悪の
状況である。Xから始まるそれぞれの経路は、A,B,
CまたはDを通り、最終的にYに達する。簡単のため
に、中間の構成要素のラベルを、経路全体を参照するの
に使用する。Xの入力位相とYの出力位相のそれぞれの
可能な組合せに対して、図10における表の最も左の欄
には、それぞれの経路のスラック値が示されている。例
えば、最も左上の欄は、↑φ0 の入力位相を有するXへ
の入力と、↓φ1 の出力位相を有するYからの出力に対
して、Aを通る経路は1のスラックを有する。入力位相
と出力位相のそれぞれの組合せに対して、A,B,C及
びDの中でクリティカルな経路のスラックは、ボールド
体で示されている。それぞれの経路は、どれかの入力位
相と出力位相の組合せに対してクリティカルである。さ
らに、それぞれの経路は、X及びYのどれかの再タイミ
ング値の組に対して、絶対的にクリティカルな経路であ
る(すべての入力位相と出力位相の組合せに関して)。
テーブルの最も右側の四つの欄には、どれかの異なっ
た、発生し得る再タイミング値に対する、それぞれの経
路に対するスラックが示されている。これらのスラック
値は、経路がクリティカルであるところの初期入力−出
力位相組合せと組合せられたそれぞれの経路に対するも
のである。例えば、最初、経路Aは、位相の組合せφ0
−φ0 と組合されており、1のスラックを有する。しか
し、もしYが1だけ再タイミングされると、この経路に
対する出力位相はφ1 となり、経路のスラックは、右か
ら三番目の欄に示されている様に3となる。
【0089】頂点uとvのそれぞれのペアに対するクリ
ティカルな経路を計算するために、標準的な単一入力、
最短経路型のアルゴリズムを使用することができる。一
般に、単一入力、最短経路型のアルゴリズムは、選ばれ
た入力とすべての可能な行き先の間の最短経路を同時に
計算するので、その様なアルゴリズムを一回動作させる
ことにより、特定の入力uに対するすべてのクリティカ
ルな経路を計算することができる。最短経路アルゴリズ
ムのための測定基準は、本質的に、経路の種々の時相に
対するそれぞれの頂点の増加方向の寄与から、頂点の伝
搬遅延時間を引いたものである。時相の定義は互いに関
連し合っているので、最短経路アルゴリズムの一回の実
行において複数の時相を計算するのが便利である。
【0090】図11は、グラフGによって表わされた回
路を、与えられたクロック波形の組のタイミング制限を
満足する様に再タイミングできるかどうかテストするた
めのアルゴリズムRETIME(G)を示す。それぞれ
の頂点から他のすべての頂点へのクリティカルな経路
は、最短経路の一回の実行により計算できる。Bell
man−Ford型のアルゴリズムを仮定すると、ステ
ップ1はO(V2 E)の時間で完了する。クリティカル
な制限が与えられて、上記不等式(5)に記述された不
等式を形成し、ある構成要素が同等に再タイミングされ
なければならないという付加的な制限と組合せることが
できる。その結果生じる再タイミング制限の集合は、O
(V2 )のサイズを有し、整数単調計画(Intege
r Monotonic Programing:(I
PM)問題の例であることを示すことができる。IPM
問題は、A.T.Ishii, C.E.Leiser
sonand M.C.Papaefthymion,
“Optimizing Two−phase, Le
vel−clocked Circuitry inA
dvanced Research in VLSI
and Parallel Systems”, Pr
oc. of the 1992 Brown/MIT
Conference, MIT Press, p
p.245−265, March 1992に記載さ
れている。結果として、再タイミング制限の実現性は、
Ishiiらの論文に記載されている方法を使って、O
(V3)の時間でテストすることができる。RETIM
Eに機能上類似(動作時の複雑性は同等)のアルゴリズ
ムは、Ishiiらの論文に記載されているアルゴリズ
ム及び近似方式の主サブルーチンであるため、ゲーテッ
ドクロック信号及びプリチャージされた構造を利用した
レベルクロック回路を再タイミングするための、完全多
項式時間近似方式及びアルゴリズムを得ることは可能で
ある。
【0091】レベルクロック回路を再タイミングする方
法を説明、例示したが、発明の広い原理及び趣旨から逸
脱しない形で変更及び修正が可能であることは、当業者
には明らかであろう。
【0092】
【発明の効果】本発明は、ゲーテッドクロック信号及び
プリチャージされた回路構造を有するレベルクロックV
LSIシステムに、再タイミング技術を適用する方法を
記述する。レベルクロック回路を再タイミングするため
の従来の方法は、その様な回路構造に、直接適用できな
かった。さらに、マイクロプロセッサの様な多くの高性
能VLSIシステムもまた、ゲーテッドクロック及びプ
リチャージを広く使用しており、したがって、ここに説
明された方法は、最も一般的なタイプの実際のレベルク
ロック回路だけでなく、様々な種類のフルカスタムVL
SI設計に対しても、再タイミング技術の適用を初めて
可能にするものである。
【0093】ゲーテッドクロックとプリチャージされた
回路構造は、ここで対象とされている回路構造種類の例
であるが、本発明は、次の基本的な要請を満たすどの様
な回路構造にも同様に適用可能である。(1)入力及び
出力位相はクロックエッジである。(2)構造の出力を
遅延させることは、回路要素のある適切な集合のすべて
の出力を遅延させることにより達成できる。
【図面の簡単な説明】
【図1】ゲーテッドクロック構造によって置き換えるこ
とができる回路構造の概略図である。
【図2】図1の回路に置き換わることができる、より効
率的なゲーテッドクロック構造の概略図である。
【図3】完全に相補的なNORゲートの概略図である。
【図4】プリチャージされたNORゲートの概略図であ
る。
【図5】pFETとnFETの概略図である。
【図6】クロック信号φ0 ,φ1 のタイミング図であ
る。
【図7】レベルクロック回路の概略図、及びそのタイミ
ング図である。
【図8】再タイミングされたゲーテッドクロック回路の
概略図である。
【図9】再タイミングされた、プリチャージされた回路
構造の概略図である。
【図10】X及びYの再タイミングのためのクリティカ
ルな経路の概略図、タイミング図、及び経路表である。
【図11】グラフによって表現された回路を再タイミン
グできるかどうかをテストするためのアルゴリズムであ
る。
【符号の説明】
12,14,16,18 pFET 20,22,24,26 nFET

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】プリチャージされた回路構造及び/または
    ゲーテッドクロック信号、及びタイミング制限の集合を
    有するVLSIシステムを再タイミングする方法におい
    て、 タイミング制限の集合のクリティカルな要素を決定する
    ステップと、 経路の遅延と、二つのクロックエッジを境界とするクリ
    ティカルな時間長との間の不等式の集合を上記クリティ
    カルな要素を基に定式化するステップと、 VLSIシステムの入力/出力の振舞いを変化させるこ
    となく、VLSIシステムを再タイミングする不等式の
    集合に対するクロック信号を選択するステップと、 を含むことを特徴とするVLSIシステムを再タイミン
    グする方法。
  2. 【請求項2】上記クロック信号を選択するステップが、
    利用可能なクロック信号を交互に選択することを特徴と
    する請求項1記載の方法。
  3. 【請求項3】上記クロック信号を選択するステップが、
    新たに生成されたクロック信号を選択することを含むこ
    とを特徴とする請求項1記載の方法。
  4. 【請求項4】それぞれのクロック信号に対するクリティ
    カルなタイミング制限を決定することを更に含むことを
    特徴とする請求項1記載の方法。
  5. 【請求項5】p=u→v,d(p)をpに沿った全体の
    伝搬遅延時間、 【外1】 であることを特徴とする請求項1記載の方法。
  6. 【請求項6】複数の入力位相及び/または複数の出力位
    相、及び入力位相と出力位相のそれぞれの組合せに対す
    る複数の時相を有する構成要素を含むVLSIシステム
    を再タイミングする方法において、 クロック入力を変化させるか、または新たなクロック入
    力を使用することにより、そのVLSIシステムのクロ
    ック信号入力を遅延させるステップを含むことを特徴と
    するVLSIシステムを再タイミングする方法。
  7. 【請求項7】上記入力位相及び上記出力位相がクロック
    エッジであることを特徴とする請求項6記載の方法。
  8. 【請求項8】所定の入力位相とそれぞれの出力位相の間
    のクリティカルな経路を計算するステップと、 計算された最短のクリティカルな経路を決定するステッ
    プと、 最短のクリティカルな経路に対する再タイミング関数r
    (u)及びr(v)を計算するステップと、 VLSIシステムの構成要素u及びvを、上記再タイミ
    ング関数値によって決定される回数だけ遅延させるステ
    ップと、 をさらに含むことを特徴とする請求項6記載の方法。
  9. 【請求項9】上記遅延させるステップが、VLSIシス
    テムの選ばれた構成要素のすべての出力を遅延させるこ
    とを含むことを特徴とする請求項8記載の方法。
  10. 【請求項10】上記遅延させるステップが、クロック信
    号を選択することを含むことを特徴とする請求項6記載
    の方法。
  11. 【請求項11】上記遅延させるステップが、新たに生成
    されたクロック信号を選択することを含むことを特徴と
    する請求項6記載の方法。
  12. 【請求項12】遅延関数dはVの要素を負でない実数に
    マッピングし、 【外2】 はVのそれぞれの要素を入力位相集合にマッピングし、 【外3】 はVのそれぞれの要素を出力位相集合にマッピングし、
    Eはエッジの集合であるとした場合、有向マルチグラフ 【外4】 として表わされるレベルクロック回路を有するVLSI
    システムを再タイミングする方法において、 再タイミング関数r:v→zを、 【数1】 及び、 【外5】 であり、uによって表わされた信号の遅延されたもの
    は、データ入力がuの時にはラッチの導入によっては得
    ることができないという形で、u及びvに対してr
    (u)=r(v)であるという形で、再タイミング関数
    r:v→zを計算するステップと、 その計算された再タイミング関数値に従ってu及びvを
    遅延させるステップと、 を含むことを特徴とするVLSIシステムを再タイミン
    グする方法。
  13. 【請求項13】上記入力位相及び上記出力位相がクロッ
    クエッジであることを特徴とする請求項12記載の方
    法。
  14. 【請求項14】上記遅延させるステップが、クロック信
    号を選択することを含むことを特徴とする請求項13記
    載の方法。
  15. 【請求項15】上記遅延させるステップが、新たに生成
    されたクロック信号を選択することを含むことを特徴と
    する請求項13記載の方法。
  16. 【請求項16】それぞれが入力位相及び出力位相を有す
    る複数の構成要素を有するVLSIシステムを再タイミ
    ングする方法において、 (a)構成要素のそれぞれのペア、及びその構成要素の
    ペアに対する入力位相と出力位相のそれぞれのペアに対
    するクリティカルな経路を計算するステップと、 (b)構成要素のそれぞれのペアに対して最もクリティ
    カルな経路を選択するステップと、 (c)もしその最もクリティカルな経路が正しく時間合
    わせされないならば、その経路を正しく時間合わせする
    ためにその構成要素のペアの一方を再タイミングするス
    テップと、 (d)もし、ステップ(c)の後で、その最もクリティ
    カルな経路が正しく時間合わせされれば、それぞれのペ
    アの構成要素間のそれぞれの最もクリティカルな経路が
    正しく時間合わせされるまで、ステップ(b)及び
    (c)を繰り返すステップと、 を含むことを特徴とするVLSIシステムを再タイミン
    グする方法。
JP6163512A 1993-11-05 1994-07-15 Vlsiシステムを再タイミングする方法 Pending JPH07129641A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14869693A 1993-11-05 1993-11-05
US08/148696 1993-11-05

Publications (1)

Publication Number Publication Date
JPH07129641A true JPH07129641A (ja) 1995-05-19

Family

ID=22526935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6163512A Pending JPH07129641A (ja) 1993-11-05 1994-07-15 Vlsiシステムを再タイミングする方法

Country Status (2)

Country Link
US (1) US5644499A (ja)
JP (1) JPH07129641A (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5856746A (en) * 1996-06-17 1999-01-05 Sun Microsystems, Inc. Logic speed-up by selecting true/false combinations with the slowest logic signal
US5798938A (en) * 1996-07-02 1998-08-25 Hewlett-Packard Co. System and method for verification of a precharge critical path for a system of cascaded dynamic logic gates
US5963728A (en) * 1996-08-14 1999-10-05 International Business Machines Corporation Method to partition clock sinks into nets
US5956256A (en) * 1996-11-19 1999-09-21 Unisys Corporation Method and apparatus for optimizing a circuit design having multi-paths therein
US5980092A (en) * 1996-11-19 1999-11-09 Unisys Corporation Method and apparatus for optimizing a gated clock structure using a standard optimization tool
US5864487A (en) * 1996-11-19 1999-01-26 Unisys Corporation Method and apparatus for identifying gated clocks within a circuit design using a standard optimization tool
JP3357813B2 (ja) * 1997-04-01 2002-12-16 株式会社東芝 ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
JP3179363B2 (ja) * 1997-04-18 2001-06-25 日本電気株式会社 回路設計方法及び記憶媒体
US5894419A (en) * 1997-04-21 1999-04-13 International Business Machines Corporation System and method for robust clocking schemes for logic circuits
US6457167B1 (en) 1998-03-31 2002-09-24 Kabushiki Kaisha Toshiba Gated clock design supporting method, gated clock design supporting apparatus, and computer readable memory storing gated clock design supporting program
US20030144826A1 (en) * 2002-01-29 2003-07-31 Mandell Michael I. Register repositioning method for functional verification systems
US7120883B1 (en) * 2003-05-27 2006-10-10 Altera Corporation Register retiming technique
US7526745B2 (en) * 2004-12-08 2009-04-28 Telefonaktiebolaget L M Ericsson (Publ) Method for specification and integration of reusable IP constraints
US8346529B2 (en) 2009-12-29 2013-01-01 Mentor Graphics Corporation Delta retiming in logic simulation
US11894845B1 (en) * 2022-08-30 2024-02-06 Globalfoundries U.S. Inc. Structure and method for delaying of data signal from pulse latch with lockup latch

Also Published As

Publication number Publication date
US5644499A (en) 1997-07-01

Similar Documents

Publication Publication Date Title
JPH07129641A (ja) Vlsiシステムを再タイミングする方法
US6803872B2 (en) Programmable differential delay circuit with fine delay adjustment
CN1667954B (zh) 具有加速估算路径的n多米诺输出闩锁器
US7724036B2 (en) Clock guided logic with reduced switching
US5389835A (en) Vector logic method and dynamic mousetrap logic gate for a self-timed monotonic logic progression
JP3986103B2 (ja) 半導体集積回路
US6331793B1 (en) Apparatus, method and system for pulse passgate topologies
US6891399B2 (en) Variable pulse width and pulse separation clock generator
JP2013179598A (ja) 減少された挿入遅延を持つプログラマブル遅延回路
JP2001217707A (ja) 論理セル及びそれを用いた論理回路
US11200348B2 (en) Low overhead random pre-charge countermeasure for side-channel attacks
US6768342B2 (en) Surfing logic pipelines
US6928572B2 (en) Multistage clock delay circuit and method
KR101629231B1 (ko) 데이터 홀드 기능을 갖는 도미노 로직 블록 및 그것을 구비한 도미노 로직
Ishii Retiming gated-clocks and precharged circuit structures
EP1542365B1 (en) Dynamic logic return-to-zero latching circuit
US6233707B1 (en) Method and apparatus that allows the logic state of a logic gate to be tested when stopping or starting the logic gate's clock
JP4571960B2 (ja) 半導体集積回路
US6369611B1 (en) Sequential circuit for high frequency clocking
JP3072726B2 (ja) 同期遅延回路
KR100418574B1 (ko) 로드가능 업/다운 카운터 회로
US6958629B2 (en) Single stage, level restore circuit with mixed signal inputs
JPS6145629A (ja) 論理回路
KR100412475B1 (ko) 데이타 정렬회로 및 이를 이용한 자기타이밍 웨이브파이프라인 가산기
Rezaei et al. Implementation of low-power and high-performance asynchronous dual-rail join using domino logic gates in 16-nm technology

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970819