JPH06232735A - 同期ディジタル電子回路の設計方法 - Google Patents

同期ディジタル電子回路の設計方法

Info

Publication number
JPH06232735A
JPH06232735A JP5272319A JP27231993A JPH06232735A JP H06232735 A JPH06232735 A JP H06232735A JP 5272319 A JP5272319 A JP 5272319A JP 27231993 A JP27231993 A JP 27231993A JP H06232735 A JPH06232735 A JP H06232735A
Authority
JP
Japan
Prior art keywords
flip
cell
delay
integration
cells
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
JP5272319A
Other languages
English (en)
Inventor
Der Werf Albert Van
ファン デル ヴェルフ アルベルト
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Philips Electronics NV
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 Koninklijke Philips Electronics NV, Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JPH06232735A publication Critical patent/JPH06232735A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Television Signal Processing For Recording (AREA)
  • Pulse Circuits (AREA)

Abstract

(57)【要約】 【目的】 同期ディジタル電子回路の設計方法を提供す
る。 【構成】 網状に相互接続されたセルとクロックされた
フリップフロップが所定のクロック周期で動作する回路
の設計方法で、第1に、どのセルからでもどのサブパス
に対しても単一の方向にスタートして対応する遅延が積
算され、次に、前記のサブパスについての積算が所定の
クロック周期の整数倍を越えると当該サブパスに前記の
整数個のフリップフロップを設けるための信号を出して
この積算を停止する。最後に、全ての基本のセルとセル
との接続に前記の信号に合った最小数のフリップフロッ
プが接続される。本発明は特に、ディジタルビデオプロ
セッサーに使用されるような大きく且つ小さいクロック
周期の回路にとって利点を有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、網状に相互接続された
セルとクロックされているフリップフロップを有し、選
択的に位置を定めた該フリップフロップを通して所定の
クロック周期で動作し、回路のどのセルもセルの入力−
出力対間のパスにそれぞれの信号遅延を有し、該クロッ
ク周期を超える全遅延を与える内部回路パスには少なく
とも1つのフリップフロップを設ける同期ディジタル電
子回路の設計方法に関するものである。
【0002】
【従来の技術】回路の設計において考慮される粒状性が
微細である場合には、セル又はノードは本質的にクロッ
クされない組合せ素子であってよい。より粗い粒状性の
場合には、ノードは1又は複数のクロックされた素子を
含んでもよいし、より広い場合には連続的に動作する素
子を含んでもよい。更に、クロックされた素子の妥当性
は、後述するように、考慮の対象であるノードを通る実
際の信号パスに依存するようである。前記の方法は、文
献「リタイミング同期回路」(Retiming Synchronous C
ircuitry)Ch.E.Leiserson及びJ.B.Saxe, Algorithmica
1991, pp.5-35に記載されている。
【0003】特にビデオ信号のディジタル信号処理(D
SP)の導入は、信号の処理量に対する要求を増加させ
た。実際に、間挿されるセルの数によって、相互に接近
してフリップフロップを設置することが必要になる。参
考文献の特別の技術は、フリップフロップの再配置即ち
実行を促す“リタイミング”及び特に、更に高いクロッ
ク周波数を許容することである。サブセット即ちリタイ
ミングの特別の場合は、パイプライン化である。これら
2つの技術は、後に考察する。
【0004】
【発明が解決しようとする課題】参考文献によれば、回
路の待ち時間は増加しない。参考文献では、セル間の信
号遅延のマトリクスをセットアップし、全てのセル間パ
スに1クロック周期より大きい遅延時間を示すフリップ
フロップを設置している。続いて、フリップフロップは
リタイミング又はシフトの対象になる。しかしながら、
大きな回路については、特に、セルの任意の対を相互接
続するパスが長くなること及びセルの数が大きくなり前
記の条件の数が大きくなることのために、多くの条件を
解くことは効率的ではない。
【0005】
【課題を解決するための手段】従って、本発明の目的
は、短い処理時間で最良の解が得られるフリップフロッ
プの配置を行うための方法を提供することである。本発
明によって提供される知識は、比較的高いクロック周波
数により、連続するフリップフロップ間のセルの数は大
きくなく、従って問題の局所的な解が全体の解に比して
極めて迅速に得られる。多くの場合、2又はそれ以上の
条件の間には論理関係が存在しないか又は基本的な関係
を有する。
【0006】本発明の観点の1つによれば、どのセルか
らどのサブパスに対してスタートしてもこれに対応して
一方向に生じる遅延が加算され、この遅延の積算値が該
クロック周期の所定の整数値倍を超えたサブパスについ
ては続いて該整数個のフリップフロップを加えるための
信号が出され、更に直ちにその遅延の積算が停止され、
続いて、該信号の送出によって全ての基本のセルとセル
の相互接続に最小のフリップフロップが具備される同期
ディジタル電子回路の設計方法を提供する。
【0007】ここで、クロックパルス周期の所定の数が
1、2又はそれ以上の数に固定されているとしよう。特
に、固定しきい値“1”は処理メモリーの量を最小にす
る。もっと大きいしきい値での解が、回路に挿入される
のに必要なフリップフロップの数をより小さくすること
もある。固定しきい値に代わって、1つの範囲の整数値
をパス方向に割り振ってもよい。より大きい値に対して
は、パスが存在する限り又は遅延の決定が問題となる限
り、各パスについて決定される。決定は、集積回路の端
部で、回路ループに達したとき(なぜならば遅延の加算
が無意味であるから)、機能モジュールの端部で、又は
その他の場合に起きる。ときには、特定のノード対間の
加算が何回も行われ、多くのメモリーを必要とする場合
もある。
【0008】前記の所定の整数値が複数の数を含む1つ
の範囲をもってパス方向に割り振られた場合で、且つ特
定の2つのセル間に多重サブパスパターンが存在する場
合、最大の積算結果を持つサブパスの積算が前記2つの
セルの間の収束セルに到達したときをもって全ての前記
サブパスのそれ以上の積算を停止し、前記積算がパスの
固有のウェイトと共に減じられたクロック周期に対して
規格化された遅延になる。この総計は、最大量の付加フ
リップフロップを必要とするパスに対してのみ遂行され
る。パスのウェイトは、それ自体の機能性を実現するた
めに必要であるとの機能的理由のために既に導入されて
いるフリップフロップの数である。この方法は、最終的
には、ただ1つの所定値を不変に保持するよりもよい結
果をもたらし、それぞれを可能な限り長く保持するより
もコンピュータの時間とメモリーが少なくて済むことが
分かっている。
【0009】本発明においては、更にこの方法を実現す
るための装置を提供する。本発明は、更に本発明による
方法を実施することによって得られる電子回路構成にも
関するものである。更に、本発明の有利な点は、従属の
特許請求の範囲に述べられている。
【0010】
【実施例】図1a、1bはパイプライン化の前後の簡単
な回路を示す。図1aには、信号入力I、信号出力O、
2つのフリップフロップ20、24、及び2つの組み合わせ
素子26、28が示されている。2つの組合せ素子26、28は
EXORとして示されているが、原理的にはクロックさ
れた遅延のない実行可能などのようなロジック或いは算
術関数であってもよい。前記のように、クロックされた
遅延がないとの限定は重要ではない。簡単にするため
に、フリップフロップのクロックの入力は示していな
い。2つのフリップフロップを通して、この回路は3つ
の連続した状態を記憶できる。低いクロック周波数にお
いては、直列の2つの演算素子で生じる遅延はクロック
パルス周期より小さい。より高い周波数では、これはも
はや保証されず、図1bのように追加のフリップフロッ
プ30が素子26、28の間に挿入されている。追加のフリッ
プフロップ32はフリップフロップ24の出力と組合せ素子
26との間のタイミングの整合のために必要である。
【0011】図2a、2bはリタイミングの前後の簡単
な回路を示す。一般に図1a、1bと同様の回路素子が
示されている。リタイミングにおいては、フリップフロ
ップは相互接続に沿ってシフトされる。もしそうなら
ば、相互接続は2或いはそれ以上の異なった線に分岐
し、フリップフロップは多くの例と同様に各々の線に1
つづつ分配される。同様に、2或いはそれ以上のフリッ
プフロップが一本の線に合体する複数の平行線に沿って
動く場合は、これらのフリップフロップは一本の線に沿
って動く1つのフリップフロップに収束する。従って、
図2aから図2bへの転移は、2つのステップで行われ
る。第1に、フリップフロップ34が前方に動き、2つの
フリップフロップに、即ち1つはフリップフロップ36と
直列に、もう1つは相互接続46上に分離する。次に、後
者のフリップフロップとフリップフロップ36が前方に動
き、組合せ素子38と40の間で合体しフリップフロップ42
になる。フリップフロップ44はこれでそれ以上の修正な
しにシフトされたことになる。前記のように、パイプラ
イン化操作の説明は、実際にリタイミング操作のサブセ
ットである。図1bは、組合せ素子28で暗黙に表された
合体を経た後の分離と組合せて、出力Oにおけるフリッ
プフロップの後方への移動を通してのリタイミング操作
の結果として説明できる。しかしながら、タイミングの
制約がなお図2b(2つの組合せ素子38、40の間のフリ
ップフロップ)に合っており、フリップフロップの数が
最小である限りにおいて、図2bのセットアップが最善
であることを理解するのは容易である。
【0012】図3は、本発明による方法を明示するため
のセルと相互接続のシステムを示す。電子技術について
はここでは触れないが、一般的には全体の回路が1つの
集積回路のチップか又はその一部として実現できる。回
路は長方形で示されているセル50、70....84を持つ。更
に、図には、多くのセルとセルとの相互接続51、52、5
3、55、56、57、59、61、62、64、66及び出力相互接続6
8が示されている。セルのセットは、回路の意図された
総体的な機能性により、任意の組合せロジック機能を実
現でき、各セルはそれに固有の部分を実現する。図示さ
れたセルは内部アクセシビリティを持たないが、この制
約は重要ではない。各セルは、CAD(Computer-Aided
Design )環境のための固有の表現に基づく組合せライ
ブラリー素子として実現してもよい。データの流れは通
常は左から右に向いている。相互接続はそれぞれ2つの
セルの間に表される。実際に、物理的な相互接続は、勿
論3つ又はそれ以上のセルを相互接続してもよいが、図
では積算された遅延の割り振りを示すことのみを意図し
ている。各セルは、1或いはそれ以上の物理的入力相互
接続と1或いはそれ以上の出力相互接続を持つことがで
きる。実際には回路はもっとずっと大きい。セル78から
の出力から同じセルの入力に帰るような循環パス、又は
さらに複雑な配置による循環パスが構成されることもあ
る。本発明の出願以前においても、図1、2に匹敵する
種々のレジスター型又はフリップフロップ型の素子が存
在したかも知れない。
【0013】簡略化のために、信号の遅延はセルで合体
されているものとする。但しこの限定は必ずしも必要で
はない。各セルは例えば70Aのように小さい正方形で表
されている。これはセル固有の信号遅延を表している。
更に、例えばブロック70Bで相互接続52の遅延が表され
るように、各セルには次に続く相互接続の遅延も帰属す
る。特定のセルから2又はそれ以上の相互接続が出る場
合には、当該セルの右側のブロックが出力相互接続にあ
る遅延時間と同じ量を表す。特定のセルからのそれぞれ
の出力遅延は等しいこともそうでないこともある。従っ
てセルのそれぞれの入力に相互接続遅延を総計する方が
最適のようでもある。このようにする場合は、相互接続
遅延は勿論ブロック70Aで表されるような機能上の遅延
の反対側に位置させるべきである。
【0014】本発明によれば、処理は回路に存在するセ
ルから始まる。処理の方向はデータの流れに沿って左か
ら右へ単一の方向に進むものと仮定する。反対方向にし
ても同じ結果になる。特定のセルから出る相互接続はど
れでもその先は接続される。セル50からは第1の2つの
相互接続51及び53がセル70及びセル72にそれぞれ接続さ
れている。この各セルはそれぞれの遅延を表す。今、セ
ル50及び70の遅延が一方で積算され、他方でセル50と72
の遅延が積算される。次に、積算結果が目的とするクロ
ックパルス周期と比較される。全てのセルとこれに続く
基本相互接続が前記クロックパルス周期より小さい遅延
を持つことが確認される。ここで解析の間中、積算結果
が前記クロックパルス周期に等しいか又はこれより大き
くなったときは、当該サブパスがクロックで駆動される
フリップフロップ(一般にはD型フリップフロップ)の
挿入のためにマークされる。このマークは積算結果に寄
与した全てのサブパスについて行われる。
【0015】前記の積算処理は順次右方向へ進む。セル
72及び78からのように更に分岐が起きていることもあ
る。今、セル74の後で積算結果がクロックパルス周期を
越えたとすると、この点でセル50、70、74の列によって
構成されているサブパスにフリップフロップを挿入する
ための信号が出て、積算が停止される。この処理では、
積算はクロックパルス周期より若干大きい数が得られる
まで行われるが、これは決定を複雑にし且つよい結果を
もたらさない。しかしながら、本発明の主要な発想によ
れば、特に予め定められた積算値に到達することによっ
て制御され、この積算が停止する。前記と同様に、図3
に示された他のセルから積算がスタートする。この基本
回路について、10個の積算結果が出て来る。いくつか
の積算は回路の出力端子に到達して停止するので、前記
の全ての積算結果が所定のクロックパルス周期を越える
必要はない。
【0016】図7は解に対するいくつかの考察を表す。
図は、1つのセル100 からスタートする2つの相互接続
を示す。このセルは、図3と同様に、図3の50、72、78
のように実際に結合されたセルを示している。今、2つ
の相互接続 102、104 が直接に又は間接に同一セル106
に再収束すると、積算結果が両者共クロックパルス周期
と比較され、相互に比較される。両者共クロックパルス
周期を越えていない場合は、次の処理は簡単になり、よ
り高い積算結果に対してのみ次の計算が行われる。セル
106 の後に更に分岐が起きたときにはこの方法が更に適
用される。これは、所定の整数が1に等しいことを意味
する。少なくとも1つのフリップフロップが置かれると
の信号は、相互接続104 を含むサブパスと同様に相互接
続102 を含むサブパスに対しても個別に適用される。
【0017】前記の再収束問題は、回路が複雑である場
合には比較的重要である。遅延の積算がクロックパルス
周期に到達した後も続けられる場合は、状況はかなり複
雑になっており、これに対しては種々のアプローチが行
われる。パスのみの遅延Dは、パスのフリップフロップ
以外の素子から生じることに注意する必要がある。加え
て、パスの基本的な回路機能はそれ自身フリップフロッ
プの位置決めを指示する。パスの中で連続するこのフリ
ップフロップの数は、当該パスpのウェイトWである。
ここで、パスのラベルが遅延及び、当該パスの入力と出
力との間の再収束パスの1つを表すウェイトからなって
いるとする。更に、当該パスのラベル付けは次のように
行われる。再収束する全てのパスについて、リタイミン
グの後には同じ数のレジスタフリップフロップが存在し
なければならない。2つのセル又は動作の間の当該パス
は、最大数のレジスタが付加されなければならないパス
である。この数は、{D/C−W}である。ここで、C
はクロックパルス周期、Wは予め存在したレジスタの数
である。ここで、再収束するセルに到達すると、前記の
数の最大値のパスが更に積算され、他の再収束パスの積
算は停止される。これは、コンピュータの能力に対する
要求をかなり抑制する。
【0018】このようにして、フリップフロップの組が
図3の回路の中での位置についての信号を得るのであ
り、どの2つの連続するフリップフロップの間の最大遅
延においても必ずしもクロックパルス周期よりも大きい
という必要はない。右側からスタートし部分遅延が時間
と共に後方へ進むように積算されるときにおいても同様
の手順が実行される。次に、見出された条件の第1の組
の解が得られて実際に配置されるフリップフロップの組
が得られる。最後に、指定された位置へのフリップフロ
ップの配置は、図1a、1b、2a、2bについて説明
したようなリタイミング及び時としてパイプライン化の
手順に従う。しかしながら、リタイミングは本来局所的
な手順であり、従って時間の消費は少ない。
【0019】図4は、回路の例とそのタイミングモデル
を示す。回路は、1つの半加算器haと2つの全加算器fa
からなる3ビット加算器である。加算器の各々は2つの
入力ビットa、bを受信し加算ビットsと更に上位桁へ
のキャリィを出力する組合せ回路であり、最上位桁では
出力キャリィを生成する。更に、ここで普通に表記され
ているフリップフロップが2つの最も重要なステージの
間のキャリィパスに挿入されている。この例によれば、
全ての加算器が均一の5(任意単位)の遅延を生じるも
のと仮定する。
【0020】図5において、最上行は種々の入力Nを表
示している。第2行は、回路の最上位桁の加算器が位置
する基準位置に関するウェイト(フリップフロップの
数)を示している。第3行は、当該入力とフリップフロ
ップとの間の遅延を示している。同様に、最左側列は出
力を、次の列は最上位桁の加算器に関するウェイトを、
次の列はフリップフロップと当該出力との間の遅延を表
示している。この表の他の部分は、入力−出力の組の間
の遅延を示しており、5、10又はun(未定)である
ことを示している。未定の状態は、a0とs2との間な
どに間挿されたフリップフロップから、或いはb1とs
0との間のように2つの間の関係の不適合から発生する
ことがある。当該回路自体は、“パイプライン化を含む
階層的リタイミング”(Hierarchical Retiming Includ
ing Pipelining),Proceedings VLSI 1991 (A.van de
r Werf他)に記載されているが、この文献では、本発明
による前記のリタイミングに先行する動作には触れてい
ない。ここでは、特に連続動作セルが存在する場合でも
しなし場合でも、本発明における実現可能性を示すため
に引用している。
【0021】図6は本発明を実現するためのフローチャ
ートを示す。ブロック80は本発明の方法を実施する場合
の通常の起動によるスタートを表す。ブロック82では、
図4、5について例示されたような対応するパラメータ
ーと共に回路の記述がロードされる。セルは例えば数字
を付されたリストのように連続している。このリストで
は、各セルのエントリーが、回路の相互接続パターンに
おける前段のセルに対するポインター及び次段のセルに
対するポインターと共に与えられている。ブロック84で
は、第1リストセルがアクセスされる。ブロック86で
は、当該セルと共に記憶されたポインターによって(即
ち、シーケンシャルリストとして表されるこの特定のセ
ルに関するポインター自身によって)その次のセルがア
クセスされ、この特定のパスについての遅延が積算され
る。
【0022】ブロック88では、積算がクロック周期を超
えたか否かが検出される。イエスの場合は当該サブパス
がフリップフロップを得るためにマークされ、この処理
は停止する。ノーの場合はシステムはブロック86に戻
り、次のセルをアクセスする。探査ブロック86はツリー
構造に構成され、サブパスの停止が、既にスタートした
未探査のサブパスの最も近いセルへのジャンプ復帰を制
御する。ツリー探査自身はよく知られており、これ以上
の開示の必要はないと思われる。全てのサブパスが停止
すると、ブロック90におけるプロセスが、セルのリスト
が完全に処理されたか否かを検出する。回答がノーであ
る限り、システムはブロック84に戻り、シーケンスの次
のセルをアクセスする。これは、各セルは一束のサブパ
スのスタートとして1回だけ現れるに過ぎないが、他の
セルのスタートを通して複数回呼び出されることもある
ことを意味している。
【0023】セルのシーケンスについて全て終了した場
合は、システムはブロック92へ行き、探査処理を通して
フリップフロップを配置する。探査処理では、種々のサ
ブパスのセル間ストレッチに関してロジック関数が実行
される。例えば、サブパスIがストレッチa、b、cか
らなり、サブパスIIがストレッチc、d及びeからなる
とすると、1つのフリップフロップを用いて両サブパス
を構成する最も容易な方法は、フリップフロップをスト
レッチcに置くことである。サブパスは比較的短いの
で、つまり2クロックパルス周期の移動より短いので、
そのようにして生成されたロジック関数の性質は単純で
ある。プレースメントアルゴリズム自体は、Leiserson
等の文献に記載されている。フリップフロップが一度配
置されてしまうと、ブロック94では、図2a、2bにつ
いて既に説明したと同様の方法によって、それらがそれ
自身を基準としてリタイムされる。最後に、ブロック96
においては、例えばフリップフロップのリスト及びリタ
イミングの後のそれらの位置を出力している間にプロセ
スが停止する。
【0024】この時点で説明を図7に戻す。前に、2つ
の相互接続がただ1つの遅延を表すものとして考察され
た。これについての最も単純な実施例は、勿論この技術
の実現可能な実行例の1つとしての1本のワイヤーであ
る。更に、いくつかの抵抗器のような受動素子を含んで
いてもよい。基本論理素子自体は、同様に相互接続の一
部分を構成することができる。図7は、相互接続の1つ
又は双方が、それら自身による前記の積算処理で計算さ
れなかった1つ又はそれ以上のフリップフロップを含む
こともある次の1つのステップに移る。このようなフリ
ップフロップが始めの設計に既に存在していた場合は、
その存在は、積算しどこにフリップフロップが挿入され
るべきかを表示する条件の解を得た後で計算に入れられ
る。既に存在しているフリップフロップはここに至って
全て計算に入れられる。
【0025】今、積算の途中で図7の状態に直面した場
合、即ち2以上のパスが分岐して収束する場合(例えば
図3のセル50からセル80へ)、次のようになる。最初
に、相互接続中のフリップフロップの数が数えられる。
これらの数が違っている場合は、最小のウェイト即ち最
小数のフリップフロップを持つサブパスに対する積算の
みが遂行される。この数が全て等しい場合(ゼロを含
む)のみ、最大の結果についての積算が継続される。図
6の基本例に対して、種々の処理上でのショートカツト
ができる。その1つは、積算が収束の行われるセルに到
達した場合に、この特定のノードで収束する他の全ての
サブパスが追随するまで、積算を先に進めるか否かを決
めずに停止してもよい。
【0026】既に述べたように、フリップフロップの挿
入のためのサブパスのマーキングの後、適切なパスアプ
ローチによりD/C−Wの積算が続けられ、積算が次の
整数値を通過する各時間に、次のフリップフロップの挿
入の信号が出される。収束セルでは、積算の結果が比較
され、最大値のみが次の積算の基礎とされる。
【0027】前記の装置としては、プログラムされたデ
ィジタルコンピュータが好ましく、実現は容易である。
第1に、回路の記述をメモリーにロードする。次に、各
パス又はサブパスについて、前記で説明したようにウェ
イトがあるか否かを計算に入れて遅延を積算する。ここ
では単純な加算を行う。次に、予め定めたしきい値と対
比した評価を行う。この評価が正ならばフリップフロッ
プを挿入する。最後に、必要な結果を出力する。
【0028】図8には、ラベル付けを限定した効率的な
クロック周期のためのプログラムの抜粋を示す。ここ
で、Oは出力端子oの組、Iは入力端子iの組、Eはエ
ッジeの組、wはウェイト関数即ち特定の信号エッジで
信号が遅延するクロックサイクルの数、delは入力と
出力との間の遅延、datは入力から内部レジスタ又は
対応する動作の出力への内部パスの最大遅延、drtは
内部レジスタ又は対応する動作の入力から出力への内部
パスの最大遅延、Dはパスpの遅延、Wはパスのウェイ
トである。
【図面の簡単な説明】
【図1】図1a及び1bは、パイプライン化の前後の回
路を示す。
【図2】図2a及び2bは、リタイミングの前後の回路
を示す。
【図3】図3は、網状相互接続のシステムを示す。
【図4】図4は、回路の例とそのタイミングモデルを示
す。
【図5】図5は、図4に対応する種々の遅延を示す。
【図6】図6は、本発明を実施する際のフローチャート
を示す。
【図7】図7は、解についての細かい考察に用いる図で
ある。
【図8】図8は、ラベル付けを限定した効率的なクロッ
ク周期の抜粋プログラムを示す図である。
【符号の説明】
20,24,30,32,34,36,42,44 フリップフロップ 26,28,38,40 組合せ素子 46 相互接続 50,70 〜 84,100,106 セル 51,52,53,55,56,57,59,61,62,64,66,102,104 セル間相
互接続 68 出力相互接続

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 網状に相互接続されたセルとクロックさ
    れているフリップフロップを有し、選択的に位置を定め
    た該フリップフロップを通して所定のクロック周期で動
    作し、回路のどのセルもセルの入力−出力対間のパスに
    それぞれの信号遅延を有し、該クロック周期を超える全
    遅延を与える内部回路パスには少なくとも1つのフリッ
    プフロップを設ける同期ディジタル電子回路の設計方法
    において、どのセルからどのサブパスに対してスタート
    してもこれに対応して一方向に生じる遅延が加算され、
    この遅延の積算値が該クロック周期の所定の整数値倍を
    超えたサブパスについては続いて該整数個のフリップフ
    ロップを加えるための信号が出され、更に直ちにその遅
    延の積算が停止され、続いて、該信号の送出によって全
    ての基本のセルとセルの相互接続に最小のフリップフロ
    ップが具備されることを特徴とする同期ディジタル電子
    回路の設計方法。
  2. 【請求項2】 前記所定の整数値が1に等しいことを特
    徴とする請求項1に記載の同期ディジタル電子回路の設
    計方法。
  3. 【請求項3】 特定の2つのセルの間に多重サブパスパ
    ターンが存在する場合、最小のウェイトを持つサブパス
    の積算が該2つのセルの間の収束セルに到達したときを
    もって全ての該サブパスのそれ以上の積算を停止するこ
    とを特徴とする請求項1又は2に記載の同期ディジタル
    電子回路の設計方法。
  4. 【請求項4】 前記の所定の整数値が複数の数を含む1
    つの範囲をもってパス方向に割り振られた場合で、且つ
    特定の2つのセル間に多重サブパスパターンが存在する
    場合、最大の積算結果を持つサブパスの積算が該2つの
    セルの間の収束セルに到達したときをもって全ての該サ
    ブパスのそれ以上の積算を停止し、該積算がパスの固有
    のウェイトと共に減じられたクロック周期に対して規格
    化された遅延になることを特徴とする請求項1に記載の
    同期ディジタル電子回路の設計方法。
  5. 【請求項5】 1又はそれ以上の選択的に現存するフリ
    ップフロップに対し、前記信号によって表されたタイミ
    ング強制条件に従って、ノード方向に引き続いてサーチ
    動作を行うことを特徴とする請求項1乃至4のいずれか
    1項に記載の同期ディジタル電子回路の設計方法。
  6. 【請求項6】 請求項1乃至5のいずれか1項に記載の
    方法を実施するための装置であって、回路記述を受信す
    るための入力手段と、該入力手段の次に置かれ、信号遅
    延をパス方向に積算するための遅延積算手段と、該積算
    手段の次に置かれ、該遅延としきい値整数との差を識別
    する識別手段と、該識別手段の次に置かれ、該しきい値
    整数を超えて且つ最小のフリップフロップを該回路記述
    の中に挿入するためのフリップフロップ挿入手段とを有
    することを特徴とする装置。
  7. 【請求項7】 請求項1乃至5のいずれか1項に記載の
    方法によって設計された同期ディジタル電子回路であっ
    て、網状に相互接続されたセルとクロックされているフ
    リップフロップを有し、選択的に位置を定めた該フリッ
    プフロップを通して所定のクロック周期で動作し、回路
    のどのセルもセルの入力−出力対間のパスにそれぞれの
    信号遅延を有し、該クロック周期を超える全遅延を与え
    る内部回路パスには少なくとも1つのフリップフロップ
    を設けた同期ディジタル電子回路において、どのセルか
    らどのサブパスに対してスタートしてもこれに対応して
    一方向に生じる遅延が加算され、この遅延の積算値が該
    クロック周期の所定の整数値倍を超えたサブパスについ
    ては続いて該整数個のフリップフロップを加えるための
    信号が出され、更に直ちにその遅延の積算が停止され、
    続いて該信号の送出によって全ての基本のセルとセルの
    相互接続に最小のフリップフロップが具備されたことを
    特徴とする同期ディジタル電子回路。
JP5272319A 1992-11-02 1993-10-29 同期ディジタル電子回路の設計方法 Pending JPH06232735A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP92203362 1992-11-02
NL92203362:6 1992-11-02

Publications (1)

Publication Number Publication Date
JPH06232735A true JPH06232735A (ja) 1994-08-19

Family

ID=8211012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5272319A Pending JPH06232735A (ja) 1992-11-02 1993-10-29 同期ディジタル電子回路の設計方法

Country Status (5)

Country Link
US (1) US5898742A (ja)
JP (1) JPH06232735A (ja)
KR (1) KR100321013B1 (ja)
DE (1) DE69323692T2 (ja)
TW (1) TW286450B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3777768B2 (ja) * 1997-12-26 2006-05-24 株式会社日立製作所 半導体集積回路装置およびセルライブラリを記憶した記憶媒体および半導体集積回路の設計方法
US6167541A (en) * 1998-03-24 2000-12-26 Micron Technology, Inc. Method for detecting or preparing intercell defects in more than one array of a memory device
US7162704B2 (en) * 2003-05-09 2007-01-09 Synplicity, Inc. Method and apparatus for circuit design and retiming
US8843862B2 (en) * 2008-12-16 2014-09-23 Synopsys, Inc. Method and apparatus for creating and changing logic representations in a logic design using arithmetic flexibility of numeric formats for data
US10181001B2 (en) * 2017-02-02 2019-01-15 Intel Corporation Methods and apparatus for automatically implementing a compensating reset for retimed circuitry

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933837A (en) * 1986-12-01 1990-06-12 Advanced Micro Devices, Inc. Methods and apparatus for optimizing instruction processing in computer systems employing a combination of instruction cache and high speed consecutive transfer memories
US4833695A (en) * 1987-09-08 1989-05-23 Tektronix, Inc. Apparatus for skew compensating signals
JP2756325B2 (ja) * 1989-12-07 1998-05-25 株式会社日立製作所 クロック供給回路
US5163068A (en) * 1991-02-22 1992-11-10 El Amawy Ahmed Arbitrarily large clock networks with constant skew bound
US5406198A (en) * 1992-06-05 1995-04-11 Hitachi, Ltd. Digital circuitry apparatus
US5369640A (en) * 1993-04-16 1994-11-29 Digital Equipment Corporation Method and apparatus for clock skew reduction through remote delay regulation
US5418360A (en) * 1994-01-21 1995-05-23 Ecole Polytechnique Serial optical signal distribution system and method, and optical/electrical converter for implementation thereof

Also Published As

Publication number Publication date
US5898742A (en) 1999-04-27
KR100321013B1 (ko) 2002-06-20
DE69323692T2 (de) 1999-09-16
TW286450B (ja) 1996-09-21
DE69323692D1 (de) 1999-04-08

Similar Documents

Publication Publication Date Title
US5751596A (en) Automated system and method for identifying critical timing paths in integrated circuit layouts for use with automated circuit layout system
US5752000A (en) System and method for simulating discrete functions using ordered decision arrays
US5815655A (en) Device for generating error path list and method of extracting the worst paths
US5825658A (en) Method and a system for specifying and automatically analyzing multiple clock timing constraints in a VLSI circuit
Ke et al. Synthesis of delay-verifiable combinational circuits
US7795901B1 (en) Automatic isolation of a defect in a programmable logic device
Shenoy Retiming: Theory and practice
US20120232881A1 (en) Trace Routing Network
US8578306B2 (en) Method and apparatus for performing asynchronous and synchronous reset removal during synthesis
CN116502578B (zh) 网表化简时序模型的构建方法及静态时序分析方法
JPH06232735A (ja) 同期ディジタル電子回路の設計方法
US8904318B1 (en) Method and apparatus for performing optimization using don't care states
Ohta et al. PROTEUS: Programmable hardware for telecommunication systems
US7725855B1 (en) Symmetry-based optimization for the physical synthesis of programmable logic devices
US7080333B1 (en) Verifying logic synthesizers
US5761487A (en) Sequential network optimization designing apparatus
US6075936A (en) Logic circuit simulation apparatus having cycle-based simulator for simulating circuits including multi-cycle paths
US20040210807A1 (en) Methodology for selectively testing portions of an integrated circuit
Kanase et al. Physical implementation of shift register with respect to timing and dynamic drop
Jone et al. A tree-structured LFSR synthesis scheme for pseudo-exhaustive testing of VLSI circuits
US8701061B2 (en) Semiconductor design support apparatus
Petlin et al. Design for testability of an asynchronous adder
Crosetto System design and verification process for LHC programmable trigger electronics
EP0596557B1 (en) Optimal design method for synchronous digital circuit by retiming through selective flipflop positioning
Jervan et al. High-Level Test Synthesis with Hierarchical Test Generation