JP2609799B2 - 順序回路の再設計方法 - Google Patents

順序回路の再設計方法

Info

Publication number
JP2609799B2
JP2609799B2 JP5218895A JP21889593A JP2609799B2 JP 2609799 B2 JP2609799 B2 JP 2609799B2 JP 5218895 A JP5218895 A JP 5218895A JP 21889593 A JP21889593 A JP 21889593A JP 2609799 B2 JP2609799 B2 JP 2609799B2
Authority
JP
Japan
Prior art keywords
circuit
path
sequential
design
sequential circuit
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 - Lifetime
Application number
JP5218895A
Other languages
English (en)
Other versions
JPH07192025A (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
Princeton University
Original Assignee
NEC Corp
Princeton University
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, Princeton University filed Critical NEC Corp
Publication of JPH07192025A publication Critical patent/JPH07192025A/ja
Application granted granted Critical
Publication of JP2609799B2 publication Critical patent/JP2609799B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、半導体集積回路に関
し、特にコンピュータ支援による半導体集積回路の設計
に関するものである。
【0002】
【従来の技術】集積回路が複雑化し、特定用途にカスタ
マイズされた集積回路の必要性が増大するにつれて、コ
ンピュータ支援設計(CAD)は重要な技術になってき
た。さらに、設計過程でのターンアラウンドタイムを速
くするために、CADの主要な技術は、集積回路を設計
するような論理合成であった。この技術において、特定
の応用を実行するディジタル回路は、まずANDゲート
およびORゲートのような機能素子、およびレジスタの
ような記憶素子を組み合わせることによって、ブロック
図の形で合成される。種々のコンピュータ・プログラム
はこの過程で用いられる。
【0003】この手法は、速いターンアラウンドタイ
ム、および表面領域を有効に利用できかつテストが容易
な回路をもたらすけれども、回路の性能が特に向上しな
いことがしばしばあった。典型的には、このような回路
は通常その内部に不必要に長い経路を有し、この長い経
路が回路の速度を遅くするからである。回路の速度が遅
くなればなるほど、回路に欠かせないクロック周期も長
くなり、かつ回路の処理速度が遅くなる。一般に、この
ように合成された集積回路の性能を改善する技術は、設
計完了後に、特に長い遅延をもたらす経路を短縮するよ
うに回路を変更することである。
【0004】
【発明が解決しようとする課題】ディジタル回路の高性
能化の領域で行われる作業の大部分は、回路をその以前
の履歴に依存させるレジスタのような記憶素子のない回
路である組み合わせ論理回路に集中している。このよう
な記憶素子を有する回路は、一般的に順序回路と称され
る。これらの従来の技術が、より高速な組み合わせ論理
回路を設計する問題に対する、それらの手法によってか
なり変化するという事実を認めるが、本願発明者等は、
組み合わせ高速化技術または組み合わせ再合成技術であ
るとして従来の技術を総合的に分類し、従来の技術が組
み合わせ論理回路に集中するという事実を認識してい
る。組み合わせ高速化技術は、記憶素子間の組み合わせ
部分を考慮することによって、順序論理回路に直接適用
されてきた。すなわち、組み合わせ部分の高速化は直接
クロック周期の減少につながる。しかしながら、この手
法は、回路の順序動作から引き出される情報をまったく
活用していない。これに代わる手法として、Third
Caltech Conferenceの会報である
Advanced Research in VLSI
の論文“Optimizing Synchronou
s circuitry by Retiming”
(Computer Science Press,2
3〜36ページ,1983)の中に“再タイミング(r
etiming)”が記載されている。この手法は、他
方で回路の順序動作を認識し、記憶素子を再配置するこ
とによって回路のクロック周期を減少しようとしてい
る。組み合わせ高速化と再タイミングは、別の2つの領
域と考えられる。すなわち、組み合わせ高速化は、組み
合わせ論理回路のみに働いて記憶素子を無視する。ま
た、再タイミングは、記憶素子のみに集中し組み合わせ
論理回路の特性を無視している。このことは、別の2つ
の領域を結合させようとする企みにつながるのは当然で
ある。再タイミングおよび再合成の手法は、論文“Re
timing and Resynthesis:Op
timizing Sequencial Netwo
rks WithCombinational Tec
hniques”(IEEE Transaction
s on Computer−Aided Desig
n,Vol CAD−10 No.1,74〜84ペー
ジ,1991年1月)に記載されている。この記事は、
限られた種類の順序回路において、再タイミングと再合
成を如何に結合するかを示している。また、論文“Pe
rformance Optimization of
Pipelined Circuits”(Inte
rnational Conference on C
omputer−Aided Designの会報,1
990年11月,410〜413ページ)の中で、再タ
イミングおよび再合成を如何に最適に結合してパイプラ
イン回路を高性能化するかが説明されている。この手法
の最も大きな制約は、適用できる回路の種類が限定され
ることである。
【0005】本発明の目的は、順序回路により一般的に
応用できる設計手法を提供し、機能を変更することなく
順序回路の速度を改善することにある。
【0006】
【課題を解決するための手段】基本的に、本発明の方法
は以下のステップを含んでいる。速度を改善すべき回路
に対して、まず、N時間フレーム(Nが少なくとも2で
ある)にわたり原回路のN個のコピーを縦続接続して形
成された仮想回路を解析する。仮想回路では、記憶素子
は除去される。次に、仮想回路をタイミング解析(偽経
路を考慮して)し、最長の真経路の長さLを識別する。
次に、長さLよりも長い経路を原回路から除去し、N時
間フレームにわたって長い経路に沿った全ファンアウト
を考慮して、ファンアウトのない変更された回路を得
る。これは、ファンアウト内に含まれるゲートの多数の
コピーを、以下のように作成することを、一般に含んで
いる。すなわち、保持される偽でない経路に一方のコピ
ーが存在し、除去される偽経路に他方のコピーが存在す
る。次に、通常の技術を用いることによって、どのよう
な組み合わせ冗長または順序冗長をも、変更回路から除
去する。最後に、結果として得られた冗長のない回路
を、普通に再タイミングして遅延を減少し、所望の高速
な回路を得る。
【0007】この新しい方法の重要な要素は、Nコピー
(N>1)の原回路を縦続接続し、この縦続接続回路を
用いて原回路のタイミング特性を解析することである。
この要素は、順序回路を含む他の方法にも応用できる。
通常、縦続接続回路では記憶素子を除去することが望ま
しいが、これは必ずしも必要でない。記憶素子を除去し
ない場合には、タイミング解析ツールを適切に変更する
必要がある。
【0008】
【実施例】まず、本発明の原理を理解するためには、偽
経路の説明から始めるのがよいであろう。組み合わせ論
理回路の偽経路は広範に研究されており、完全な説明
は、S.Devadas,K.Keutzerおよび
S.Malik等著の“Delay Computat
ion in Combinational Circ
uit:Theory and Algorithm
s”(International Conferen
ce on Computer−Aided Desi
gnの会報,1991年11月)に記載されている。
【0009】図1において、回路10は、組み合わせ回
路における偽経路の概念、および偽経路の除去を説明す
るのに役立つ。この回路10は一連のゲートを有し、こ
れらのゲートはバッファ11および12、ANDゲート
13およびORゲート14である。この回路10のゲー
ト内の数字はゲートの仮定した遅延を表している。今、
回路10のフローティング・モード動作を考える。この
モードにおいて、回路10の状態は、所定の入力ベクト
ルが入力されたとき、未知であると見なされる。これ
は、最悪の場合の仮定であって、最長の真経路の長さを
過小評価していない。さらに、単純な高速化を許容して
いる。すなわち回路10の1つ以上のゲートを高速化
し、ゲートをその固有の遅延値よりも速くスイッチする
ときでさえ、解析は有効である。このように、1次入力
ベクトルvの各可能な値に対して、以下の2つのことが
発生したときに経路は偽である。
【0010】1.問題の経路に沿った或るゲートへの入
力において、経路上の信号値は非制御値を与えるが、経
路外信号(サイド入力とも呼ばれる)は制御値を与え
る。ゲートの制御値は、ゲートへの他の入力とは無関係
にゲートの出力値を決定する値であり、たとえばAND
ゲートの0値である。非制御値は、それ自身によって出
力値を決定できない値であり、ANDゲートの1値であ
る。したがって、経路外信号は出力を制御する。
【0011】2.経路上の信号および経路外の信号の両
方は制御値を与えるようにみえるが、経路外信号は最初
に制御値(これを初期入力とも呼ぶ)を与え、この値に
よってゲートの出力を決定する。
【0012】図1にこれらの両方の状態を示す。ここ
で、ゲート11,13および14を経ることによって、
バッファ11の入力である端子15からORゲート14
の出力である端子17への長さ4の経路について考え
る。また、端子15および16の2つの入力であるaお
よびbのすべての可能な割り当てについて考える。 a=0,b=0:前述した第2状態がANDゲート13
に生ずる。 a=0,b=1:前述した第1状態がORゲート14に
生ずる。 a=1,b=0:前述した第1状態がANDゲート13
に生ずる。 a=1,b=1:前述した第2状態がORゲート14に
生ずる。
【0013】したがって、この経路は偽である。
【0014】回路において、長さが少なくともδである
すべての経路が偽であれば、論理機能を維持し、かつ真
の遅延が増大しないようにすることを保証しながら、こ
れら偽経路を回路から除去することができることは周知
である。これはまず、これらの経路ファンアウトをなく
すことによって達成する。すなわち、経路に沿った各ゲ
ートが1つの出力接続を正確に有するならば、経路には
ファンアウトがないと言える。この過程は、回路に幾つ
かのゲートの複製ゲートを含むことができる。図2はこ
の例を示しており、ゲート11および13の複製ゲート
として、それぞれバッファ11AおよびANDゲート1
3Aを追加している。次に、これらの各経路に沿った第
1接続を一定値0または1のいずれかに設定する。各経
路の第1接続を除去することによって、その機能を変更
することなく、回路からこれらの経路を効果的に除去す
る。端子15から端子17への経路上のANDゲート1
3への“a”入力を0に設定すると、第1接続15およ
びANDゲート13を除去できる。その結果、得られた
回路は図3にようになる。回路内で長さが少なくともδ
の経路(そのすべてが偽である)を除去することによっ
て、回路内の最長の経路は長さδよりも短い経路になる
ことに留意すべきである。
【0015】次に、本発明の原理を、より詳細には、順
序回路の高速化の課題に対する適用性について説明す
る。図4は、その機能を変更することなく、より高速動
作をするように再構成された順序回路20の例である。
回路20は、一方の入力が入力端子i3に接続され、他
方の入力がレジスタr3に接続されたANDゲートg5
を有する。ANDゲートg5の出力はNANDゲートg
4の一方の入力に接続され、NANDゲートg4の他方
の入力はレジスタr2に接続されている。NANDゲー
トg4の出力はORゲートg1の一方の入力に接続さ
れ、ORゲートg1の他方の入力は入力端子i2に接続
されている。NANDゲートg4の出力は出力端子o4
にも接続されている。ORゲートg1の出力はレジスタ
r1の入力に接続され、レジスタr1の出力はANDゲ
ートg7の一方の入力およびORゲートg3の一方の入
力に接続されている。ANDゲートg7の出力はレジス
タr3の入力および出力端子o1に接続されている。出
力端子o3はORゲートg2の一方の入力およびORゲ
ートg3の他方の入力にも接続されている。ORゲート
g2の出力はレジスタr2の入力に接続され、レジスタ
r2の出力はORゲートg3の他方の入力に接続されて
いる。ORゲートg3の出力はANDゲートg6の一方
の入力に接続され、ANDゲートg6の他方の入力は入
力端子i5に接続されている。ANDゲートg6の出力
は出力端子o2に接続されている。
【0016】回路20の初期(始動)状態は、<r1=
0,r2=0,r3=0>である。簡単にするために、
各ゲートの遅延を1の時間単位とし、経路に沿った伝搬
遅延を経路に沿って発生したゲート遅延の総和とする。
すべてのゲートが2入力ゲートなので、この回路は理想
的な遅延モデルである(ゲート遅延の負荷への依存性
は、処理可能であり、オーソゴナル(orthogon
al)な問題である)。すべての1次入力はクロック・
エッジで得られ、すべての1次出力はクロック・エッジ
でのみ必要であるとする。したがって、回路20の可能
な最小クロック周期は3であり、ゲートg5,g4,g
1を経た遅延が許容される。回路20は、以下の特性を
有する。
【0017】・順序冗長を有しない。したがって、機能
を変更することなく、接続/ゲートを除去できない。
【0018】・再タイミングはクロック周期を3以下に
減少させることはできない。
【0019】・回路20の組み合わせ部分には偽経路が
ない。これは、回路20に起こり得ない状態(unre
achable state)も考慮している。状態<
r1=0,r2=0,r3=1>は起こり得ない。すな
わち、マシンをこの状態にドライブできる入力列が存在
しないのである。回路の所定経路を真にするために、マ
シンを起こり得ない状態にするのはありうることであ
る。しかしながら、このような状態は決してあり得ない
ので、この経路は真になることはない。したがって、経
路の真偽を決定する一方で、起こり得ない状態を考慮し
なければならない。この例において、経路を真にするた
めに、起こり得ない状態を必要とする経路は存在しな
い。このように、回路の各経路に対して、初期状態から
始まって、経路を真にする幾つかの入力ベクトル列が存
在する。
【0020】この例での最終目的は、この回路に必要な
クロック周期を2に減少させることである。
【0021】今、2クロック周期(またはサイクル)に
わたる回路の動作を考える。概念的には、図5に示すよ
うに、レジスタを除去した縦続接続回路の2つのコピー
の組み合わせ部分を考察することによって、回路動作を
視覚化することができる。この回路において、縦続接続
された2つの回路の対応するゲートには同一の参照記号
が用いられており、再タイミングおよび再合成について
の論文で示されたように、これらのゲートの新しい端子
にはプラスまたはマイナス記号のいずれかを付与する。
これは、順序論理回路のテスト・ベクトル生成において
多数の時間フレームを考察する考えに似ている。
【0022】回路の左側コピーのANDゲートg5の2
つの入力で始まり、NANDゲートg4,ORゲートg
1,回路の右側コピーのORゲートg3,ANDゲート
g6を経て出力o2+ に至る2つの破線経路を考える。
【0023】これらの経路は、2サイクル経路であり、
すなわち、回路の動作が2サイクルにわたっている。ま
た、1ゲートあたり1単位の遅延を前回と同様に仮定す
ると、経路長が5の2サイクル経路のみが存在する。こ
れらの経路が、偽経路であるのは興味深いことである。
なぜそうなのかを検証するために、この経路のどれもが
真であるためには、入力o3は初期サイド入力なので、
入力o3は経路に沿ったNANDゲートg4の入力に1
を与えなければならないことを観察する。しかしなが
ら、もしこれが起これば、ORゲートg2の出力も1で
あり、この出力は第2時間フレームにおいてORゲート
g3に与えられる。これらの経路のどれもが真であるた
めには、第2時間フレームにおけるORゲートg2から
g3への接続は、初期サイド入力なので0を与えなけれ
ばならない。したがって、問題の両方の経路は偽であ
る。これらの両経路の1サイクル部分は真であることに
留意すべきである。3つの1サイクル経路、すなわち
(1)レジスタrの出力からORゲートg1の出力xま
での経路、(2)入力i3からORゲートg1の出力x
までの経路、(3)ORゲートg1の出力xから端子o
+ までの経路は、各々真である。
【0024】両経路は偽なので、2サイクルにわたって
見られるような回路の機能動作を変更することなく除去
できる。しかしながら、これらの経路を除去する前に、
これら経路はファンアウトなしにされなければならな
い。
【0025】実際に、この手続きの主要ステップ、すな
わち2サイクルの偽経路の識別と除去、およびこれに続
く再タイミングは、原回路上で直接行われる。2サイク
ル期間の動作は、この回路で何が起こっているのかを概
念的に理解するためにのみ必要である。この技術は、ど
のようなサイクル(または時間フレーム)数にも拡張で
きる。
【0026】前述の説明から明らかなように、図4の回
路における以下の2つの最長の2サイクル経路(経路長
5)は偽である。これら2つの2サイクル経路は、r
3,g5,g4,g1,r1,g3,g6,o2の経
路、およびi3,g5,g4,g1,r1,g3,g
6,o2の経路である。前述したように、これらの経路
を活性化するために、第1クロック周期ではレジスタr
2の出力には1が、および第2クロック周期では0が必
要なので、これら2つの経路は偽である。これは、OR
ゲートg2が存在するので起こり得ない。
【0027】経路長5のすべての2サイクル経路が偽で
あることを前提に、図7に示すようなファンアウトのな
い長さが5である2つの2サイクル経路を有する回路が
得られた。この回路は、図4に示す原回路から以下のよ
うにして得られた。まず、最長経路の最終端子o2から
始めて、最長経路に沿って回路入力まで遡った。ファン
アウトが問題になる第1地点は、レジスタr1の出力で
ある。ORゲートg3に対するレジスタr1のファンア
ウトは、経路長5の2サイクル経路上に存在し、AND
ゲートg7に対するレジスタr1のファンアウトは存在
しない。最終目的はファンアウトのない長さが5の2サ
イクル経路を得ることなので、レジスタr1を複製して
レジスタr1とレジスタr1′を得た。レジスタr1′
の初期状態は、レジスタr1の初期状態と同じすなわち
0である。ここで、ORゲートg1はレジスタr1とレ
ジスタr1′へファンアウトする。同じステップをゲー
トg1,g4,g5に順を追って繰り返し、最終的に図
6の回路を得た。
【0028】図6の回路において、長さが5の2サイク
ル経路、すなわちr3,g5′,g4′,g1′,r
1′,g3,g6,o2の経路、およびi3,g5′,
g4′,g1′,r1′,g3,g6,o2の経路は、
偽であるばかりでなくファンアウトのない経路でもあ
る。その結果、ANDゲートg5′に対するレジスタr
3のファンアウト上の0縮退故障および1縮退故障の両
方は、順序的に冗長である。なぜならば、これらによる
影響は2時間フレームにわたって伝搬されないためであ
る。同様に、ANDゲートg5′に対する端子i3のフ
ァンアウト上の縮退故障も順序的に冗長である(AND
ゲートg5′に対するレジスタr3のファンアウト上の
故障とは無関係である)。したがって、2つの各接続線
は、一定値に置き換え可能である。ここでは、両方の接
続線を定数1に置き換えることにする。図7に一定値が
伝搬する回路を示す。これは、従来技術の論文に掲載さ
れた考察のより一般的な形態である。この論文には、フ
ァンアウトのない組み合わせ偽経路の第1リンクでの縮
退故障が、組み合わせ的に冗長であることを説明してい
る。
【0029】特に、図6の回路において、端子i3およ
びレジスタr3から与えられる入力が1に固定されてい
れば、ANDゲートg5′の出力は1であると確定され
る。これは、NANDゲートg4′の出力がレジスタr
2からの入力にのみ依存させる。結果として、図7に示
すように、ANDゲートg5′およびg4′が除去さ
れ、インバータ・ゲートg10が追加されることにな
る。インバータ・ゲートg10の入力および出力は、レ
ジスタr2の出力およびORゲートg1′の入力にそれ
ぞれ接続されている。
【0030】この回路の最長の2サイクル経路は、長さ
が4であり真である。この回路のクロック周期は依然と
して3であるが、図8に示すように、再タイミングによ
って2に減少される。再タイミングは、Third C
altech Conferenceの会報の“Adv
anced Research in VLSI”(C
omputer Science Press,23〜
36ページ,1983年)の前述の論文に説明されたよ
うに行われる。図8に示すように、再タイミングされた
回路においては、レジスタr1はORゲートg1の出力
経路で置き換えられ、レジスタr1″′がORゲートg
1の一方の入力に追加され、レジスタr1″がORゲー
トg1の他方の入力に新しく追加される。
【0031】再タイミングされた回路の初期状態は、<
r3=0,r2=0,r1′=0,r1″=0,r
1″′=0>である。以下の2つの事に留意されたい。
・図4〜図8のすべての回路は、機能的に同じである。
・図8の回路は9つのゲートと5つのレジスタを有する
が、原回路(図4)は7つのゲートと3つのレジスタを
有する。
【0032】前述したように、この技術は、必要であれ
ばどのようなサイクル数にわたる偽経路にも拡張できる
ことに留意されたい。
【0033】1コピーの回路上で動作する多サイクルの
偽経路利用アルゴリズムの詳細を以下に示す。
【0034】遅延最適化アルゴリズムは、1コピーの回
路上で動作する。このアルゴリズムは、クロック周期を
減少させるために、任意の数の時間フレームにわたって
偽経路を利用できるという意味で一般的である。全体的
なアルゴリズムの基本概要は、以下に示すように、論理
合成において設計者に馴染み深いC言語に似た構文であ
る。
【0035】 reduce-clock-period(ckt,num_tf) { /* ckt satisfies the property that it has no faise paths over num_tf-1 time frames */ casc_ckt = make-cascade(ckt,num_tf); δ = timing-analysis(casc_ckt); ckt = remove-multi-cycle-false-paths(ckt,num_tf,δ); ckt = remove-combinational-redunduncies(ckt); ckt = remove-sequential-redunduncies(ckt); ckt = retime-for-delay(ckt); return(ckt); } 図9にこの構文に対応する上位概念のフロー図を示す。
【0036】ブロック90で示すようにまず順序回路C
を準備する。用いるクロック周期の長さの制限要因とな
る不必要な最長経路を除去することによって、この順序
回路の遅延を減少する。これは上述の例では図4に相当
する。
【0037】次に、ブロック91に示すように、組み合
わせ形式の回路Cを、少なくとも2サイクルにわたって
縦続接続し、その結果得られる回路C′をタイミング解
析して、前述したような既知の方法で最長の真経路の長
さLを識別する。次に、図6に示すように、回路Cを再
構成し、長さLよりも長いどのような偽経路にも必要な
ファンアウトを与える。次に、再構成した回路からこの
ような偽経路を除去し、ブロック93に示すような回路
C″を得る。次に、ブロック94に示すように、組み合
わせ冗長および順序冗長を除去し(この例ではこのよう
な冗長は存在しなかった)、最後にブロック95に示す
ように、従来の方法によって回路を再タイミングし、最
終的に図8に示す回路を得る。
【0038】実際、再タイミングのステップ、および組
み合わせ冗長と順序冗長を除去するステップの相対順序
は重要ではなく、いずれを最初に実行してもよい。
【0039】アルゴリズムのより技術的な内容は以下の
通りである。アルゴリズムへの入力は、遅延に対し最適
化される順序回路(ckt)、および多サイクル偽経路
を識別し除去する時間フレームの数(num_tf)で
ある。第1ステップにおいて、cktをnum_tf倍
に広げることによって組み合わせ回路(casc_ck
t)を構成する。連続する時間フレームを接続する接続
線上にはレジスタは存在しない。この組み合わせ回路に
おいて、どのような1対の1次入力での、値の間に論理
的相関はなく、すべての1次出力は互いに区別される。
最長の真経路の長さδを決定するタイミング解析アルゴ
リズムは、この回路上で動作する。タイミング解析アル
ゴリズムは、δの値が正しいかどうか繰り返し検証する
ことにより長さδを決定する。図5に変換された回路を
示す。タイミング解析アルゴリズムを用いるために、1
次入力への到着時間を以下のように固定する。1次入力
iでの到着時間をai 、n番目の時間フレームにおける
1次入力iをin 、正確さを検証される最長経路の値を
δとして、in ,ainにおける到着時間を、(ai1+δ
×(n−1)/num_tf)に設定する。casc_
cktはタイミング解析のためのみに生成されることに
留意が必要である。アルゴリズムの第2ステップにおい
て、casc_ckt上でタイミング解析を行い、ca
sc_cktの最長真経路の長さδを求める。いったん
タイミング解析を実行すると、casc_cktは不要
となる。
【0040】次のステップにおいて、多サイクル偽経路
除去アルゴリズムを呼び出す。このアルゴリズムは、1
コピーの回路上で動作し、長い多サイクル偽経路からフ
ァンアウトをなくすのに必要な順序回路の部分を複製す
るのみであるという点で新規である。いったん長い偽経
路にファンアウトをなくすと、ファンアウトのない長い
偽経路の各々の第1接続を定数(0または1のいずれ
か)に設定し、この定数を可能な限り遠くへ伝搬させ
る。このアルゴリズムは、“Circuit stru
cture relations to redund
ancy anddelay:The KMS Alg
orithm Revisited”(the ACM
/SIGMA Workshop on Timing
Issues in the Specificat
ion and Synthesisof Digit
al Systemsの論文,1992年3月)に記述
されている組み合わせ回路における、偽経路を除去する
ためのアルゴリズムに基づいている。remove−m
ulti−cycly−paths()の概要を、以下
に疑似コードで示す。
【0041】
【外1】
【0042】
【外2】
【0043】
【外3】
【0044】
【外4】
【0045】いったん長い多サイクル偽経路が除去され
れば、組み合わせ冗長および順序冗長は除去され、その
領域を回復する。次に、回路を再タイミングしてクロッ
ク周期を減少させる。
【0046】ここで説明した処理は、回路の機能を変更
しないように示されている。
【0047】ここに示した特定の例は、本発明の一般原
理を単に示しており、典型的には、必要な回路構成は、
ここに示した回路よりもさらに複雑であることを理解で
きよう。
【図面の簡単な説明】
【図1】偽経路およびその除去を説明するための回路を
示す図である。
【図2】偽経路およびその除去を説明するための回路を
示す図である。
【図3】偽経路およびその除去を説明するための回路を
示す図である。
【図4】遅延を減少させ、速度を向上させるように変更
される回路の例を示す図である。
【図5】2サイクル動作のために、縦続接続された図4
の回路の組み合わせ部分を示す図である。
【図6】図5の回路において、2サイクルの偽経路を除
去し、除去された2サイクルの偽経路に対してファンア
ウトを補償した後の回路を示す図である。
【図7】図6の回路において、除去された偽経路の第1
段の接続を一定値に設定した後を示す図である。
【図8】図7の回路において、遅延を減少させるために
最終的な再タイミングを行った後の回路を示す図であ
る。
【図9】本発明の基本的な処理のフロー図である。
【符号の説明】
10 組み合わせ回路 11,11A,12 バッファ 13,13A ANDゲート 14 ORゲート 15,15A,16 入力端子 17,18 出力端子 20 順序回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スージット デイ アメリカ合衆国 08536 ニュージャー シー州 プ レインスボロ ハンプシャ ー ドライブ 69 (72)発明者 シャラッド マリック アメリカ合衆国 08540 ニュージャー シー州 プ リンストン ウエスターン ウエイ 58

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】動作機能に影響を及ぼすことなく遅延を減
    少させるように順序回路を再設計する方法において、 複数の時間フレームにわたって前記順序回路を縦続接続
    し、前記順序回路の縦続接続回路を設計変更するために
    記憶素子を除去するような設計を順序回路設計から準備
    する準備ステップと、 前記設計変更における最長の組み合わせ経路を通る信号
    が出力に影響を与えない(偽)かどうかを識別する識別
    ステップと、を含むことを特徴とする順序回路の再設計
    方法。
  2. 【請求項2】前記設計変更から前記記憶素子を除去しな
    い場合には、記憶素子による遅延を無視するように変更
    されたタイミング解析ツールを用いて前記設計変更にお
    ける最長の組み合わせ経路を通る信号が出力に影響を与
    えない(偽)かどうかを識別することを特徴とする請求
    項1記載の順序回路の再設計方法。
  3. 【請求項3】動作機能に影響を及ぼすことなく遅延を減
    少させるように順序回路を再設計する方法において、 複数の時間フレームにわたって前記順序回路を縦続接続
    して記憶素子のない縦続接続回路設計を与えるような設
    計を、順序回路設計から準備する準備ステップと、 前記縦続接続回路の最長の真経路の時間長Lを識別し、
    その結果から前記時間長Lよりも長い偽経路(当該経路
    を通る信号が出力に影響を与えない経路)を識別するた
    めに、前記縦続接続回路設計のタイミング解析を行うタ
    イミング解析ステップと、 前記縦続接続回路の機能に影響を及ぼすことなく、複数
    の時間フレームにわたって前記時間長Lよりも長い前記
    偽経路を除去するように初期順序回路設計を再構成する
    再構成ステップと、 再構成された順序回路設計の冗長組み合わせ回路もしく
    は冗長順序回路部分を除去する除去ステップと、得られた回路設計から不要な遅延を減少するために再タ
    イミングし、その結果遅延を減少した所望の回路を与え
    る再タイミング・ステップと、 を含むことを特徴とする順序回路の再設計方法。
  4. 【請求項4】動作機能に影響を及ぼすことなく遅延を減
    少させるように順序回路を再設計する方法において、 複数の時間フレームにわたって前記順序回路を縦続接続
    して記憶素子のない縦続接続回路設計を与えるような設
    計を、順序回路設計から準備する準備ステップと、 前記縦続接続回路の最長の真経路の時間長Lを識別し、
    その結果から前記時間長Lよりも長い偽経路(当該経路
    を通る信号が出力に影響を与えない経路)を識別するた
    めに、前記縦続接続回路設計のタイミング解析を行うタ
    イミング解析ステップと、 前記縦続接続回路の機能に影響を及ぼすことなく、複数
    の時間フレームにわたって前記時間長Lよりも長い前記
    偽経路を除去するように初期順序回路設計を再構成する
    再構成ステップと、得られた回路設計から不要な遅延を減少するために再タ
    イミングし、その結果遅延を減少した所望の回路を与え
    る再タイミング・ステップと、 再構成された順序回路設計の冗長組み合わせ回路もしく
    は冗長順序回路部分を除去する除去ステップと、 を含むことを特徴とする順序回路の再設計方法。
  5. 【請求項5】前記初期順序回路を再構成する前記再構成
    ステップは、回路の機能を維持するために、ファンアウ
    トを有し、長さLよりも長い前記偽経路に含まれるゲー
    トに対して、偽経路とは無関係な代替経路を付与する、
    ことを特徴とする請求項3記載の順序回路の再設計方
    法。
  6. 【請求項6】前記初期順序回路を再構成する前記再構成
    ステップは、回路の機能を維持するために、ファンアウ
    トを有し、長さLよりも長い前記偽経路に含まれるゲー
    トに対して、偽経路とは無関係な代替経路を付与する、
    ことを特徴とする請求項4記載の順序回路の再設計方
    法。
JP5218895A 1992-09-08 1993-09-02 順序回路の再設計方法 Expired - Lifetime JP2609799B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/941,658 US5448497A (en) 1992-09-08 1992-09-08 Exploiting multi-cycle false paths in the performance optimization of sequential circuits
US07/941658 1992-09-08

Publications (2)

Publication Number Publication Date
JPH07192025A JPH07192025A (ja) 1995-07-28
JP2609799B2 true JP2609799B2 (ja) 1997-05-14

Family

ID=25476848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5218895A Expired - Lifetime JP2609799B2 (ja) 1992-09-08 1993-09-02 順序回路の再設計方法

Country Status (2)

Country Link
US (1) US5448497A (ja)
JP (1) JP2609799B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5648909A (en) * 1992-06-12 1997-07-15 Digital Equipment Corporation Static timing verification in the presence of logically false paths
JP2601168B2 (ja) * 1993-03-30 1997-04-16 日本電気株式会社 順次回路をリタイミングする方法および再設計する方法
JP3153403B2 (ja) * 1993-12-28 2001-04-09 富士通株式会社 半導体集積回路の遅延時間計算装置
DE69533567T2 (de) * 1994-08-09 2005-11-24 Sun Microsystems, Inc., Mountain View Vorrichtung und Verfahren zum Auffinden von False-Timing-Paths in digitalen Schaltkreisen
JP2765506B2 (ja) * 1995-01-30 1998-06-18 日本電気株式会社 論理回路遅延情報保持方式
US5638290A (en) * 1995-04-06 1997-06-10 Vlsi Technology, Inc. Method for eliminating a false critical path in a logic circuit
US5657240A (en) * 1995-05-01 1997-08-12 Nec Usa, Inc. Testing and removal of redundancies in VLSI circuits with non-boolean primitives
US5822217A (en) * 1995-12-13 1998-10-13 Synopsys, Inc. Method and apparatus for improving circuit retiming
US5910898A (en) * 1995-12-14 1999-06-08 Viewlogic Systems, Inc. Circuit design methods and tools
US5819072A (en) * 1996-06-27 1998-10-06 Unisys Corporation Method of using a four-state simulator for testing integrated circuit designs having variable timing constraints
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
US6292924B1 (en) * 1997-11-05 2001-09-18 Lsi Logic Corporation Modifying timing graph to avoid given set of paths
US6360352B2 (en) * 1998-07-17 2002-03-19 David E. Wallace Digital circuit layout techniques
US6473885B1 (en) * 1998-07-17 2002-10-29 Mentor Graphics Corporation Digital circuit layout techniques using circuit decomposition and pin swapping
US6336205B1 (en) * 1998-11-12 2002-01-01 Matsushita Electric Industrial Co., Ltd. Method for designing semiconductor integrated circuit
US6247134B1 (en) * 1999-03-31 2001-06-12 Synopsys, Inc. Method and system for pipe stage gating within an operating pipelined circuit for power savings
US6516453B1 (en) * 1999-05-26 2003-02-04 Get2Chip Method for timing analysis during automatic scheduling of operations in the high-level synthesis of digital systems
US6874135B2 (en) * 1999-09-24 2005-03-29 Nec Corporation Method for design validation using retiming
US20050149301A1 (en) * 1999-09-24 2005-07-07 Nec Corporation Method for design validation using retiming
US6714902B1 (en) * 2000-03-02 2004-03-30 Cadence Design Systems, Inc. Method and apparatus for critical and false path verification
US6684375B2 (en) * 2000-11-22 2004-01-27 Matsushita Electric Industrial Co., Ltd. Delay distribution calculation method, circuit evaluation method and false path extraction method
JP3853604B2 (ja) * 2001-04-04 2006-12-06 松下電器産業株式会社 周波数変換回路
US6871310B2 (en) * 2002-06-03 2005-03-22 Fujitsu Limited Binary time-frame expansion of sequential systems
JP4128131B2 (ja) * 2003-11-19 2008-07-30 富士通株式会社 フォールスパス検出プログラム
KR100989899B1 (ko) * 2008-11-26 2010-10-26 한국과학기술원 펄스 래치를 사용하는 디지털 순차 회로의 속도 향상 방법 및 장치
US9710591B1 (en) * 2015-02-20 2017-07-18 Altera Corporation Method and apparatus for performing register retiming in the presence of timing analysis exceptions
US9971858B1 (en) 2015-02-20 2018-05-15 Altera Corporation Method and apparatus for performing register retiming in the presence of false path timing analysis exceptions
US9552456B2 (en) * 2015-05-29 2017-01-24 Altera Corporation Methods and apparatus for probing signals from a circuit after register retiming
US11176293B1 (en) 2018-03-07 2021-11-16 Synopsys, Inc. Method and system for emulation clock tree reduction

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4263651A (en) * 1979-05-21 1981-04-21 International Business Machines Corporation Method for determining the characteristics of a logic block graph diagram to provide an indication of path delays between the blocks
US4970664A (en) * 1988-06-10 1990-11-13 Kaiser Richard R Critical path analyzer with path context window
US5278769A (en) * 1991-04-12 1994-01-11 Lsi Logic Corporation Automatic logic model generation from schematic data base
US5191541A (en) * 1990-05-14 1993-03-02 Sun Microsystems, Inc. Method and apparatus to improve static path analysis of digital circuits
US5365528A (en) * 1992-04-03 1994-11-15 At&T Bell Laboratories Method for testing delay faults in non-scan sequential circuits

Also Published As

Publication number Publication date
US5448497A (en) 1995-09-05
JPH07192025A (ja) 1995-07-28

Similar Documents

Publication Publication Date Title
JP2609799B2 (ja) 順序回路の再設計方法
Beerel et al. Automatic gate-level synthesis of speed-independent circuits
US5764525A (en) Method for improving the operation of a circuit through iterative substitutions and performance analyses of datapath cells
US5553000A (en) Eliminating retiming bottlenecks to improve performance of synchronous sequential VLSI circuits
US7254796B2 (en) Method for synthesizing domino logic circuits cross reference to related patent application using partition
US6360352B2 (en) Digital circuit layout techniques
JP2002083001A (ja) 論理回路の設計方法及びそれに使用するセルライブラリ
US5886904A (en) Latch optimization in hardware logic emulation systems
US6192508B1 (en) Method for logic optimization for improving timing and congestion during placement in integrated circuit design
Xiao et al. Gate sizing to eliminate crosstalk induced timing violation
Branover et al. Asynchronous design by conversion: Converting synchronous circuits into asynchronous ones
Ashar et al. Exploiting multi-cycle false paths in the performance optimization of sequential circuits
Chen et al. A new framework for static timing analysis, incremental timing refinement, and timing simulation
Entrena et al. Timing optimization by an improved redundancy addition and removal technique
US7006962B1 (en) Distributed delay prediction of multi-million gate deep sub-micron ASIC designs
Kim et al. Concurrent transistor sizing and buffer insertion by considering cost-delay tradeoffs
Fujita et al. Delay estimation and optimization of logic circuits: a survey
Klimowicz Performance targeted minimization of incompletely specified finite state machines for implementation in FPGA devices
JP3080037B2 (ja) 論理シミュレーション用モデルの作成方法
JPH06310601A (ja) レイアウト設計方法
JP3004589B2 (ja) パストランジスタ論理設計方法
Espejo et al. Logic restructuring for MUX-based FPGAs
Kukimoto et al. Removing false paths from combinational modules
Huang et al. On circuit clustering for area/delay tradeoff under capacity and pin constraints
JP2845154B2 (ja) 論理シミュレーション用モデルの作成方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19961217

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

Free format text: PAYMENT UNTIL: 20080213

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090213

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100213

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20100213

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110213

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20110213

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120213

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20120213

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20130213

Year of fee payment: 16

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

Free format text: PAYMENT UNTIL: 20130213

Year of fee payment: 16

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

Free format text: PAYMENT UNTIL: 20140213

Year of fee payment: 17