JPH04227576A - 順序論理回路及びディジタル論理回路の同期操作提供方法 - Google Patents
順序論理回路及びディジタル論理回路の同期操作提供方法Info
- Publication number
- JPH04227576A JPH04227576A JP3112623A JP11262391A JPH04227576A JP H04227576 A JPH04227576 A JP H04227576A JP 3112623 A JP3112623 A JP 3112623A JP 11262391 A JP11262391 A JP 11262391A JP H04227576 A JPH04227576 A JP H04227576A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- user
- flip
- data
- original
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4217—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、ディジタル順序論理回
路、特にユーザネットリスト(user net li
st)又はプロトタイプ構成から論理回路を実行するシ
ステム内でホールド時間の妨害を自動的に除去するため
の方法に関する。
路、特にユーザネットリスト(user net li
st)又はプロトタイプ構成から論理回路を実行するシ
ステム内でホールド時間の妨害を自動的に除去するため
の方法に関する。
【0002】
【従来の技術】電子部品及び電子システムは更に複雑に
なっているので、これらの部品及びシステムの設計は更
に時間を要する仕事となっている。最近、電子部品及び
電子システムのエミュレーションが設計者にとって重要
な工具として登場した。今日シミュレーションシステム
は、ユーザの設計図又はネットリストから設計すべき集
積回路又はシステムのハードウェアプロトタイプを迅速
且つ自動的に生成することにより、集積回路及びシステ
ム設計の開発を援助する装置を含んでいる。このような
装置は米国特許明細書第279,477号に開示されて
いる。このようなシステムでは、プロトタイプ回路は、
電気的に再構成され且つ手動の配線変更又は装置交換の
ない無数の設計を示すように改造され得る。プロトタイ
プ回路はリアルタイムで実行されるか又はリアルタイム
スピードに非常に接近し且つより大型のシステム内に組
み込まれ得る。更には、VLSIチップ又はASIC装
置がプロトタイプ回路内にプラグインされ且つエミュレ
ーションされた設計の一部として実行され得る。
なっているので、これらの部品及びシステムの設計は更
に時間を要する仕事となっている。最近、電子部品及び
電子システムのエミュレーションが設計者にとって重要
な工具として登場した。今日シミュレーションシステム
は、ユーザの設計図又はネットリストから設計すべき集
積回路又はシステムのハードウェアプロトタイプを迅速
且つ自動的に生成することにより、集積回路及びシステ
ム設計の開発を援助する装置を含んでいる。このような
装置は米国特許明細書第279,477号に開示されて
いる。このようなシステムでは、プロトタイプ回路は、
電気的に再構成され且つ手動の配線変更又は装置交換の
ない無数の設計を示すように改造され得る。プロトタイ
プ回路はリアルタイムで実行されるか又はリアルタイム
スピードに非常に接近し且つより大型のシステム内に組
み込まれ得る。更には、VLSIチップ又はASIC装
置がプロトタイプ回路内にプラグインされ且つエミュレ
ーションされた設計の一部として実行され得る。
【0003】
【発明が解決しようとする課題】このような回路の設計
時には、必要な論理関数を実施し且つこれらの論理関数
を完全な機能設計(functioning desi
gn)に接続することが重要である。同期は、データが
クロックパルスに比べて適時フリップフロップのような
論理装置に到達することを必要とする。任意のクロック
装置用“セットアップ時間”及び“ホールド時間”が規
定されている。セットアップ時間の場合、入力データが
クロック遷移前にフリップフロップ装置のデータ入力リ
ードで、所定時間安定した形態で存在しなければならな
い。ホールド時間は、データが適切な操作のためにフリ
ップフロップの制御リードに到着時のクロック遷移の時
から、クロック到着後の所定時間まで安定していること
を必要とする。例えばいわゆる7474TTLポジティ
ブエッジトリガされたD型フリップフロップはセットア
ップ時間が20ナノ秒で、ホールド時間が5ナノ秒であ
る。数千のフリップフロップ装置を含んでいるユーザネ
ットリストデータから回路を実行するときに、厳しいホ
ールド時間又はセットアップ時間のパラメータが妨害さ
れると、実行回路の適切な操作が妨げられる。ユーザネ
ットリストから論理回路を実行するキープロセスは、デ
ータのセットアップ時間及びホールド時間を、対応する
クロックの到着と同期させることである。実行される論
理回路の適切な操作を確保するために、データがクロッ
ク入力の対応するクロックの到着に比べて特定時間、フ
リップフロップのD入力に存在し且つ安定していなけれ
ばならない。
時には、必要な論理関数を実施し且つこれらの論理関数
を完全な機能設計(functioning desi
gn)に接続することが重要である。同期は、データが
クロックパルスに比べて適時フリップフロップのような
論理装置に到達することを必要とする。任意のクロック
装置用“セットアップ時間”及び“ホールド時間”が規
定されている。セットアップ時間の場合、入力データが
クロック遷移前にフリップフロップ装置のデータ入力リ
ードで、所定時間安定した形態で存在しなければならな
い。ホールド時間は、データが適切な操作のためにフリ
ップフロップの制御リードに到着時のクロック遷移の時
から、クロック到着後の所定時間まで安定していること
を必要とする。例えばいわゆる7474TTLポジティ
ブエッジトリガされたD型フリップフロップはセットア
ップ時間が20ナノ秒で、ホールド時間が5ナノ秒であ
る。数千のフリップフロップ装置を含んでいるユーザネ
ットリストデータから回路を実行するときに、厳しいホ
ールド時間又はセットアップ時間のパラメータが妨害さ
れると、実行回路の適切な操作が妨げられる。ユーザネ
ットリストから論理回路を実行するキープロセスは、デ
ータのセットアップ時間及びホールド時間を、対応する
クロックの到着と同期させることである。実行される論
理回路の適切な操作を確保するために、データがクロッ
ク入力の対応するクロックの到着に比べて特定時間、フ
リップフロップのD入力に存在し且つ安定していなけれ
ばならない。
【0004】単に設計がクロックされているスピードを
下げることによりセットアップ時間の妨害が改善され得
ると考えられる。しかしながら、クロックスピードとは
関係なくホールド時間の妨害は存続し、この妨害は設計
の種々の部分でのクロックスキューにのみ依存している
。
下げることによりセットアップ時間の妨害が改善され得
ると考えられる。しかしながら、クロックスピードとは
関係なくホールド時間の妨害は存続し、この妨害は設計
の種々の部分でのクロックスキューにのみ依存している
。
【0005】従ってユーザネットリストデータから回路
を実行する際には、クロックスキューによるクロックラ
インの過剰遅延のために、クロック信号の適切なタイミ
ングが妨害され得る。これによりフリップフロップ又は
シフトレジスタのような第1の論理装置上のデータは第
2のレジスタ上のデータより早くシフトされ得る。シフ
トレジスタが適切に同期されなければ、第2のレジスタ
のホールド時間の要件が妨害され、次にデータビットが
失われ得る。
を実行する際には、クロックスキューによるクロックラ
インの過剰遅延のために、クロック信号の適切なタイミ
ングが妨害され得る。これによりフリップフロップ又は
シフトレジスタのような第1の論理装置上のデータは第
2のレジスタ上のデータより早くシフトされ得る。シフ
トレジスタが適切に同期されなければ、第2のレジスタ
のホールド時間の要件が妨害され、次にデータビットが
失われ得る。
【0006】ユーザネットリストからの高速論理システ
ムの実行では、フリップフロップのような数千の論理装
置が複写され且つ極めて正確に同期されねばならないと
予想される。このような実行で生じ得る問題は、フリッ
プフロップがクロック信号自体を受け取る前に、クロッ
クにより生じたデータを実際に受け取り得るようにクロ
ックライン上のスキューが発生し得ることである。この
場合、意図されるデータがより新しいデータにより重ね
書きされるので、フリップフロップはこのデータでクロ
ックすることができないであろう。
ムの実行では、フリップフロップのような数千の論理装
置が複写され且つ極めて正確に同期されねばならないと
予想される。このような実行で生じ得る問題は、フリッ
プフロップがクロック信号自体を受け取る前に、クロッ
クにより生じたデータを実際に受け取り得るようにクロ
ックライン上のスキューが発生し得ることである。この
場合、意図されるデータがより新しいデータにより重ね
書きされるので、フリップフロップはこのデータでクロ
ックすることができないであろう。
【0007】従って、ユーザネットリストからの高速論
理回路の実行を容易にするために、大きなクロックスキ
ューの存在下でもホールド時間の妨害の除去方法が必要
であることは明白である。このようなホールド時間妨害
の除去方法は、自動的に実行されるのが有利である。こ
れは、トライアル及びエラー技術によりクロックの適切
な到着をデータのセットアップ時間及びホールド時間と
手動同期させる必要性を排除している。
理回路の実行を容易にするために、大きなクロックスキ
ューの存在下でもホールド時間の妨害の除去方法が必要
であることは明白である。このようなホールド時間妨害
の除去方法は、自動的に実行されるのが有利である。こ
れは、トライアル及びエラー技術によりクロックの適切
な到着をデータのセットアップ時間及びホールド時間と
手動同期させる必要性を排除している。
【0008】クロック分布システムの従来の同期方法は
“CURRENT TECHNOLOGY AND D
ESIGNMETHODOLOGY FOR SYST
EM DESIGNERS, J. Zasio, W
ESCON Conference Record,
November 14−15. 1989.”の論文
で説明されている。この方法は、レベルトリガされたラ
ッチと、2相非並行クロックとの使用を提案している。 2つのクロック相が並行していない限り、ホールド時間
の妨害はないであろう。しかしながら、この従来技術の
方法は、組合わせ論理をエミュレーションするのに2倍
のクロックが必要であるという欠点がある。従って、プ
ロトタイプ回路の複雑さを極端に増さないホールド時間
の妨害の自動除去方法が必要であることは明白である。
“CURRENT TECHNOLOGY AND D
ESIGNMETHODOLOGY FOR SYST
EM DESIGNERS, J. Zasio, W
ESCON Conference Record,
November 14−15. 1989.”の論文
で説明されている。この方法は、レベルトリガされたラ
ッチと、2相非並行クロックとの使用を提案している。 2つのクロック相が並行していない限り、ホールド時間
の妨害はないであろう。しかしながら、この従来技術の
方法は、組合わせ論理をエミュレーションするのに2倍
のクロックが必要であるという欠点がある。従って、プ
ロトタイプ回路の複雑さを極端に増さないホールド時間
の妨害の自動除去方法が必要であることは明白である。
【0009】
【課題を解決するための手段】ユーザネットリストから
高速論理回路等を実行する際に、クロック分布システム
を、フリップフロップ装置を通じてのデータの到着及び
伝播と同期させるという先に論じた問題を克服するため
に、本発明はクロックスキューの存在下でもホールド時
間の妨害を自動的に除去するための方法を提供する。本
発明の方法では、ユーザネットリスト又はプロトタイプ
回路の各オリジナルユーザフリップフロップ又はラッチ
は、実行回路において、オリジナルユーザフリップフロ
ップへのデータ経路の上流に付加された対応するシャド
ウフリップフロップ又はラッチを有する。本明細書では
シャドウフリップフロップ、同期フリップフロップ、シ
ャドウラッチ又は同期ラッチもシンクロナイザと称する
。各シンクロナイザフリップフロップ装置は、オリジナ
ルユーザネットリストからデータを受け取るためのデー
タ入力リード、クロック信号を受け取るための制御リー
ド、及び対応するオリジナルユーザフリップフロップの
データ入力リードに接続されている出力リードを有する
。シンクロナイザが確実に適時にユーザネットリストデ
ータを入手するように、シンクロナイザは同期クロック
により駆動されている。同期クロックは常に、ユーザク
ロックの前に、また新規ユーザデータの前にシンクロナ
イザに到着せねばならない。従って、ユーザのオリジナ
ルクロックは、一連のバッファのような遅延手段により
又は良く知られている他の遅延導入技術に従って遅延さ
れる。
高速論理回路等を実行する際に、クロック分布システム
を、フリップフロップ装置を通じてのデータの到着及び
伝播と同期させるという先に論じた問題を克服するため
に、本発明はクロックスキューの存在下でもホールド時
間の妨害を自動的に除去するための方法を提供する。本
発明の方法では、ユーザネットリスト又はプロトタイプ
回路の各オリジナルユーザフリップフロップ又はラッチ
は、実行回路において、オリジナルユーザフリップフロ
ップへのデータ経路の上流に付加された対応するシャド
ウフリップフロップ又はラッチを有する。本明細書では
シャドウフリップフロップ、同期フリップフロップ、シ
ャドウラッチ又は同期ラッチもシンクロナイザと称する
。各シンクロナイザフリップフロップ装置は、オリジナ
ルユーザネットリストからデータを受け取るためのデー
タ入力リード、クロック信号を受け取るための制御リー
ド、及び対応するオリジナルユーザフリップフロップの
データ入力リードに接続されている出力リードを有する
。シンクロナイザが確実に適時にユーザネットリストデ
ータを入手するように、シンクロナイザは同期クロック
により駆動されている。同期クロックは常に、ユーザク
ロックの前に、また新規ユーザデータの前にシンクロナ
イザに到着せねばならない。従って、ユーザのオリジナ
ルクロックは、一連のバッファのような遅延手段により
又は良く知られている他の遅延導入技術に従って遅延さ
れる。
【0010】ユーザクロックに付加される遅延の量は、
実行されるべき回路のスキューの量に依存している。実
行回路でのスキューの量は、当業者がよく知っているタ
イミング分析技術によりユーザネットリスト又はプロト
タイプ回路構成から決定される。スキューが決定された
後に、同期クロックが常に、ユーザクロックがユーザの
オリジナルフリップフロップに到着する前にシンクロナ
イザフリップフロップに到着するように、ちょうど十分
の遅延がユーザクロックに付加される。
実行されるべき回路のスキューの量に依存している。実
行回路でのスキューの量は、当業者がよく知っているタ
イミング分析技術によりユーザネットリスト又はプロト
タイプ回路構成から決定される。スキューが決定された
後に、同期クロックが常に、ユーザクロックがユーザの
オリジナルフリップフロップに到着する前にシンクロナ
イザフリップフロップに到着するように、ちょうど十分
の遅延がユーザクロックに付加される。
【0011】通常の設計は、他のより大型の又は個別の
システムへの入力を受け取り且つ出力を転送せねばなら
ない。例えば集積回路は集積回路が取り付けられている
プリント回路板への入力を受け取り且つ出力を転送する
。本明細書に記載の同期方法では、データが他の同期フ
リップフロップから来ている限り、データは必ず同期ク
ロックの到着前にシンクロナイザフリップフロップへの
入力で安定している。データが同期設計とは無関係な所
から来ているならば、クロック及び設計へのデータ入力
がほぼ同時に変化すると想定して、同期クロックが確実
に新規データの前に同期フリップフロップに到着するよ
うに、遅延ファクタがデータ入力に付加されねばならな
い。
システムへの入力を受け取り且つ出力を転送せねばなら
ない。例えば集積回路は集積回路が取り付けられている
プリント回路板への入力を受け取り且つ出力を転送する
。本明細書に記載の同期方法では、データが他の同期フ
リップフロップから来ている限り、データは必ず同期ク
ロックの到着前にシンクロナイザフリップフロップへの
入力で安定している。データが同期設計とは無関係な所
から来ているならば、クロック及び設計へのデータ入力
がほぼ同時に変化すると想定して、同期クロックが確実
に新規データの前に同期フリップフロップに到着するよ
うに、遅延ファクタがデータ入力に付加されねばならな
い。
【0012】本発明の同期クロック発振器は、シンクロ
ナイザフリップフロップのクロック入力リードに適用さ
れる同期クロックを生じる。同一の基準フレーム上にあ
る、即ち同一ソースから得られる全ての同期クロックは
、多重入力リードを有するORゲートにより共にゲート
される。これは、ユーザのオリジナルネットリストの各
基準フレームに対して単一の同期クロックを生じる。 最も単純な形態の同期クロック発振器は、排他的ORゲ
ートを通じて、ユーザのオリジナルクロック及び遅延ク
ロックを共にゲートする。排他的ORゲートの出力は、
データがシンクロナイザフリップフロップのD入力に到
着する前に、常にシンクロナイザフリップフロップのク
ロック入力に到着する同期クロック信号を提供する。同
期方法の操作を2段階で考えてもよい。第1段階では、
全てのシンクロナイザフリップフロップ内に入力される
のに十分な時間の同期クロックが与えられる。これは、
ユーザネットリスト又はシンクロナイザのプロトタイプ
回路の設計の完全な状態を捕獲している。次の段階では
、ユーザのマスタクロックが伝播され、このようにして
ユーザのフリップフロップ内に適切なデータがクロック
される。
ナイザフリップフロップのクロック入力リードに適用さ
れる同期クロックを生じる。同一の基準フレーム上にあ
る、即ち同一ソースから得られる全ての同期クロックは
、多重入力リードを有するORゲートにより共にゲート
される。これは、ユーザのオリジナルネットリストの各
基準フレームに対して単一の同期クロックを生じる。 最も単純な形態の同期クロック発振器は、排他的ORゲ
ートを通じて、ユーザのオリジナルクロック及び遅延ク
ロックを共にゲートする。排他的ORゲートの出力は、
データがシンクロナイザフリップフロップのD入力に到
着する前に、常にシンクロナイザフリップフロップのク
ロック入力に到着する同期クロック信号を提供する。同
期方法の操作を2段階で考えてもよい。第1段階では、
全てのシンクロナイザフリップフロップ内に入力される
のに十分な時間の同期クロックが与えられる。これは、
ユーザネットリスト又はシンクロナイザのプロトタイプ
回路の設計の完全な状態を捕獲している。次の段階では
、ユーザのマスタクロックが伝播され、このようにして
ユーザのフリップフロップ内に適切なデータがクロック
される。
【0013】本発明に基づき誘導される同期クロックは
、たとえユーザのオリジナルフリップフロップのクロッ
ク入力上のユーザクロック及びシンクロナイザフリップ
フロップのデータ入力リード上のデータがどのような順
番で変化し得るか知られていないにせよ、ユーザクロッ
クが変化する前に又はシンクロナイザのデータ入力ピン
上のデータが変化する前に、対応するシンクロナイザに
到着する。シンクロナイザへの同期クロックの到着は、
シンクロナイザのデータ入力ピンに存在するデータの古
い値を入手し、且つユーザクロックが適時に到着し得る
ように、この値をユーザフリップフロップのデータ入力
ピンでの安定値として示す。特に、シンクロナイザのデ
ータ入力ピンのデータへの変化はシンクロナイザ内に既
に入手されているものを変更し得ない。同期クロックは
ユーザのマスタークロックの各エッジに対して立上がり
エッジを有する。従って、ユーザのオリジナルフリップ
フロップが立上がりエッジ上でデータを入手しようとも
、クロックの立下がりエッジ上でデータを入手しようと
もかまわない。同期クロックはマスタークロックの各エ
ッジに対して立上がりエッジを有するので、シンクロナ
イザはマスタークロックの各エッジに対して入手される
全てのデータでクロックする。即ち、ユーザフリップフ
ロップがクロックの立上がりエッジによりトリガされる
ならば、同期クロックのパルスはシンクロナイザでデー
タを適切に入手する。ユーザのオリジナルフリップフロ
ップがクロックの立下がりエッジによりトリガされたな
らば、同期クロックはそのデータも入手し且つこのデー
タをシンクロナイザ内で適切にクロックする。余分のエ
ッジは本発明の同期システムに有害ではない。即ち、ユ
ーザクロックが立上がりエッジでのみデータを入手する
ならば、立上がりエッジに対応する同期クロック上のパ
ルスはデータを入手する。同期クロックの他方パルスも
データを入手するが、取り付けられたユーザフリップフ
ロップはクロックされず、そこで余分の同期クロックは
効果がなくなる。
、たとえユーザのオリジナルフリップフロップのクロッ
ク入力上のユーザクロック及びシンクロナイザフリップ
フロップのデータ入力リード上のデータがどのような順
番で変化し得るか知られていないにせよ、ユーザクロッ
クが変化する前に又はシンクロナイザのデータ入力ピン
上のデータが変化する前に、対応するシンクロナイザに
到着する。シンクロナイザへの同期クロックの到着は、
シンクロナイザのデータ入力ピンに存在するデータの古
い値を入手し、且つユーザクロックが適時に到着し得る
ように、この値をユーザフリップフロップのデータ入力
ピンでの安定値として示す。特に、シンクロナイザのデ
ータ入力ピンのデータへの変化はシンクロナイザ内に既
に入手されているものを変更し得ない。同期クロックは
ユーザのマスタークロックの各エッジに対して立上がり
エッジを有する。従って、ユーザのオリジナルフリップ
フロップが立上がりエッジ上でデータを入手しようとも
、クロックの立下がりエッジ上でデータを入手しようと
もかまわない。同期クロックはマスタークロックの各エ
ッジに対して立上がりエッジを有するので、シンクロナ
イザはマスタークロックの各エッジに対して入手される
全てのデータでクロックする。即ち、ユーザフリップフ
ロップがクロックの立上がりエッジによりトリガされる
ならば、同期クロックのパルスはシンクロナイザでデー
タを適切に入手する。ユーザのオリジナルフリップフロ
ップがクロックの立下がりエッジによりトリガされたな
らば、同期クロックはそのデータも入手し且つこのデー
タをシンクロナイザ内で適切にクロックする。余分のエ
ッジは本発明の同期システムに有害ではない。即ち、ユ
ーザクロックが立上がりエッジでのみデータを入手する
ならば、立上がりエッジに対応する同期クロック上のパ
ルスはデータを入手する。同期クロックの他方パルスも
データを入手するが、取り付けられたユーザフリップフ
ロップはクロックされず、そこで余分の同期クロックは
効果がなくなる。
【0014】本発明の同期方法が多重非並行ユーザクロ
ックに機能すると考えられる。同一の基準フレーム上の
多重クロックが、同期フリップフロップに適用される前
にORゲートを通じて置かれるだけでよい。ユーザクロ
ックが並行ならば、同期クロックは各ユーザクロックか
ら独立的に発生される。次に個々の同期クロックがOR
ゲートにより共にゲートされる。エッジがそれほど接近
して生じないように注意せねばならない。何故ならばそ
れにより同期クロックが並行していまうからである。
ックに機能すると考えられる。同一の基準フレーム上の
多重クロックが、同期フリップフロップに適用される前
にORゲートを通じて置かれるだけでよい。ユーザクロ
ックが並行ならば、同期クロックは各ユーザクロックか
ら独立的に発生される。次に個々の同期クロックがOR
ゲートにより共にゲートされる。エッジがそれほど接近
して生じないように注意せねばならない。何故ならばそ
れにより同期クロックが並行していまうからである。
【0015】更には、ユーザのマスタークロックにのみ
遅延を付加する必要があると考えられる。その同一の基
準フレーム上の他の全てのユーザクロックが次に自動的
に遅延される。本発明は、複数の基準フレーム上で作動
する複数のマスタークロックを含んでいるユーザネット
リストに適用される。単一の同期クロックがユーザネッ
トリストの各個別の基準フレームに対して誘導されるだ
けでよい。
遅延を付加する必要があると考えられる。その同一の基
準フレーム上の他の全てのユーザクロックが次に自動的
に遅延される。本発明は、複数の基準フレーム上で作動
する複数のマスタークロックを含んでいるユーザネット
リストに適用される。単一の同期クロックがユーザネッ
トリストの各個別の基準フレームに対して誘導されるだ
けでよい。
【0016】透明ラッチが同期要素用フリップフロップ
の代わりに使用され得ると考えられる。ユーザのオリジ
ナルネットリスト内で同期されている装置がラッチなら
ば、ユーザのオリジナル装置の透明性を維持するために
ラッチが同期要素として好まれる。
の代わりに使用され得ると考えられる。ユーザのオリジ
ナルネットリスト内で同期されている装置がラッチなら
ば、ユーザのオリジナル装置の透明性を維持するために
ラッチが同期要素として好まれる。
【0017】
【実施例】以下の好ましい実施例の詳細な説明を添付図
面を参照して検討することにより、本発明のこれらの利
点及び他の利点が評価され得る。
面を参照して検討することにより、本発明のこれらの利
点及び他の利点が評価され得る。
【0018】図1を参照すると、本発明の同期装置は、
データ同期された実行回路を提供するためにユーザネッ
トリストに明記されている装置に適用される。ユーザネ
ットリストは任意のディジタル順序論理回路のテキスト
の説明である。ユーザネットリストは通常、複数のD型
フリップフロップ10a,10b,...10nを明記
し得る。ユーザネットリスト内で種々の順序論理を構成
するために使用され得るように、各ユーザフリップフロ
ップ10a,10b,...10nがこのような全ての
ユーザフリップフロップを代表していることが当業者に
より理解されるべきである。代表的な目的のために、各
ユーザフリップフロップ10a,10b,...10n
を、データ入力D、クロック信号を受け取るためのクロ
ック入力及びデータ出力Qを有するD型フリップフロッ
プとして示す。但し当業者は、本発明が他のクロック要
素と共に使用され得ることをよく認めている。
データ同期された実行回路を提供するためにユーザネッ
トリストに明記されている装置に適用される。ユーザネ
ットリストは任意のディジタル順序論理回路のテキスト
の説明である。ユーザネットリストは通常、複数のD型
フリップフロップ10a,10b,...10nを明記
し得る。ユーザネットリスト内で種々の順序論理を構成
するために使用され得るように、各ユーザフリップフロ
ップ10a,10b,...10nがこのような全ての
ユーザフリップフロップを代表していることが当業者に
より理解されるべきである。代表的な目的のために、各
ユーザフリップフロップ10a,10b,...10n
を、データ入力D、クロック信号を受け取るためのクロ
ック入力及びデータ出力Qを有するD型フリップフロッ
プとして示す。但し当業者は、本発明が他のクロック要
素と共に使用され得ることをよく認めている。
【0019】データは、各フリップフロップクロック入
力に通じるライン12a,12b,...12nに沿っ
てユーザクロックにより発生されるクロック信号の立上
がりエッジ又は立下がりエッジ上で、よく知られた方法
に従って、ユーザネットリストの各ユーザフリップフロ
ップ内にクロックされる。各ユーザフリップフロップ1
0a,10b,...10nは、対応する組合わせ論理
ユニット14a,14b,...14nにも結合されて
いる。データは従来の方法に従って組合わせ論理ユニッ
トを通じて伝播し、各論理ユニットの出力は対応するフ
リップフロップ装置16a,16b,...16n内に
クロックされる。
力に通じるライン12a,12b,...12nに沿っ
てユーザクロックにより発生されるクロック信号の立上
がりエッジ又は立下がりエッジ上で、よく知られた方法
に従って、ユーザネットリストの各ユーザフリップフロ
ップ内にクロックされる。各ユーザフリップフロップ1
0a,10b,...10nは、対応する組合わせ論理
ユニット14a,14b,...14nにも結合されて
いる。データは従来の方法に従って組合わせ論理ユニッ
トを通じて伝播し、各論理ユニットの出力は対応するフ
リップフロップ装置16a,16b,...16n内に
クロックされる。
【0020】図2はユーザネットリストから直接実行さ
れる非同期論理回路の実施例を示している。データは、
クロック信号がライン28を通じてオリジナルフリップ
フロップ18,20のクロック入力22,24に到着す
る前に、ユーザのオリジナルフリップフロップ18,2
0のデータ入力Dに存在せねばならない。オリジナルフ
リップフロップ18の出力Qはオリジナルフリップフロ
ップ20のデータ入力Dに接続されている。遅延要素2
6はクロックラインのスキュー効果を示すためにクロッ
クライン28上に示されている。
れる非同期論理回路の実施例を示している。データは、
クロック信号がライン28を通じてオリジナルフリップ
フロップ18,20のクロック入力22,24に到着す
る前に、ユーザのオリジナルフリップフロップ18,2
0のデータ入力Dに存在せねばならない。オリジナルフ
リップフロップ18の出力Qはオリジナルフリップフロ
ップ20のデータ入力Dに接続されている。遅延要素2
6はクロックラインのスキュー効果を示すためにクロッ
クライン28上に示されている。
【0021】適切な操作のために、データはフリップフ
ロップ18のデータ入力D上に出現せねばならず、次に
クロックがフリップフロップ18のクロック入力22に
存在せねばならない。クロックの前後にデータは安定し
ていなければならない。クロックエッジから得られる新
規データは、同一のクロックエッジが全てのフリップフ
ロップに達する前に任意の入力ピン上に出現してはなら
ない。次にデータはフリップフロップ18を通じて出力
Qに沿ってフリップフロップ20の入力Dに伝播される
。フリップフロップ20のクロック入力24のクロック
信号は、データをフリップフロップ20を通じて正確に
クロックするために、フリップフロップ18から来る新
規データの前に到着せねばならない。クロックライン上
のスキューのために、時折クロック信号が到着する前に
データがデータ入力リードに到着し、その結果回路が不
正確に作動することがあると考えられる。
ロップ18のデータ入力D上に出現せねばならず、次に
クロックがフリップフロップ18のクロック入力22に
存在せねばならない。クロックの前後にデータは安定し
ていなければならない。クロックエッジから得られる新
規データは、同一のクロックエッジが全てのフリップフ
ロップに達する前に任意の入力ピン上に出現してはなら
ない。次にデータはフリップフロップ18を通じて出力
Qに沿ってフリップフロップ20の入力Dに伝播される
。フリップフロップ20のクロック入力24のクロック
信号は、データをフリップフロップ20を通じて正確に
クロックするために、フリップフロップ18から来る新
規データの前に到着せねばならない。クロックライン上
のスキューのために、時折クロック信号が到着する前に
データがデータ入力リードに到着し、その結果回路が不
正確に作動することがあると考えられる。
【0022】図3のタイムチャートは、実行される論理
回路を正確に作動させるために、データが、クロックパ
ルスのクロック入力への到着に比べて、フリップフロッ
プ装置の入力D上で所定時間安定していなければならな
いことを示している。図3に示す如く、任意のクロック
装置に対して“セットアップ時間”ts及び“ホールド
時間”thが規定されている。入力データは適切な操作
のために、クロック遷移前の少なくともtsに等しい期
間から、クロック遷移後の少なくともthに等しい期間
まで存在し且つ安定していなければならない。実施例と
しては、tsが20ナノ秒に等しく、thが5ナノ秒に
等しくてもよい。即ちデータ入力が次のクロック立上が
りエッジ前に少なくとも20ナノ秒間安定していたなら
ば、セットアップ時間の要件は満たされる。
回路を正確に作動させるために、データが、クロックパ
ルスのクロック入力への到着に比べて、フリップフロッ
プ装置の入力D上で所定時間安定していなければならな
いことを示している。図3に示す如く、任意のクロック
装置に対して“セットアップ時間”ts及び“ホールド
時間”thが規定されている。入力データは適切な操作
のために、クロック遷移前の少なくともtsに等しい期
間から、クロック遷移後の少なくともthに等しい期間
まで存在し且つ安定していなければならない。実施例と
しては、tsが20ナノ秒に等しく、thが5ナノ秒に
等しくてもよい。即ちデータ入力が次のクロック立上が
りエッジ前に少なくとも20ナノ秒間安定していたなら
ば、セットアップ時間の要件は満たされる。
【0023】ユーザネットリストに明記されている装置
の自動データ同期についての本発明の好ましい実施例を
図4に示す。ユーザネットリストに明記されている対応
する各ユーザオリジナルフリップフロップ10a,10
bに対して本発明のシンクロナイザフリップフロップ3
0a,30bが備わっている。各シンクロナイザフリッ
プフロップ30a,30bは、対応するオリジナルユー
ザフリップフロップ10a,10bの各々に比べてデー
タ経路の上流に備わっている“シャドウ”フリップフロ
ップである。各シンクロナイザフリップフロップ30a
,30bはそれぞれ、データ入力D、データ出力Q及び
クロック入力32a,32bを含んでいる。同様に各オ
リジナルユーザフリップフロップ10a,10bはそれ
ぞれ、データ入力D、データ出力Q及びクロック入力3
4a,34bを含んでいる。設計の具体化で固有に生じ
るクロックスキューを遅延要素36a,36bにより概
略的に示す。図4は簡単にするために、単に2つのオリ
ジナルユーザフリップフロップ10a,10b、及び2
つのシンクロナイザフリップフロップ30a,30bを
示している。実際に本発明に従って実施する場合、同期
され得るフリップフロップ装置の数に限度はないと考え
られる。
の自動データ同期についての本発明の好ましい実施例を
図4に示す。ユーザネットリストに明記されている対応
する各ユーザオリジナルフリップフロップ10a,10
bに対して本発明のシンクロナイザフリップフロップ3
0a,30bが備わっている。各シンクロナイザフリッ
プフロップ30a,30bは、対応するオリジナルユー
ザフリップフロップ10a,10bの各々に比べてデー
タ経路の上流に備わっている“シャドウ”フリップフロ
ップである。各シンクロナイザフリップフロップ30a
,30bはそれぞれ、データ入力D、データ出力Q及び
クロック入力32a,32bを含んでいる。同様に各オ
リジナルユーザフリップフロップ10a,10bはそれ
ぞれ、データ入力D、データ出力Q及びクロック入力3
4a,34bを含んでいる。設計の具体化で固有に生じ
るクロックスキューを遅延要素36a,36bにより概
略的に示す。図4は簡単にするために、単に2つのオリ
ジナルユーザフリップフロップ10a,10b、及び2
つのシンクロナイザフリップフロップ30a,30bを
示している。実際に本発明に従って実施する場合、同期
され得るフリップフロップ装置の数に限度はないと考え
られる。
【0024】ユーザネットリストの実行に成功するのに
必要なデータとクロック信号との正確な同期を達成する
ためには、同期方法は、オリジナルフリップフロップ1
0a,10bがデータを受け取る前に、シンクロナイザ
フリップフロップ30a,30bがデータライン38b
,38cに沿っての各入力上でデータを受け取り且つ適
切にデータクロックすることを確実にせねばならない。 ある程度の量の遅延を外側データライン38aに加える
ことによりこのことが実施される。遅延を提供するため
の手段40は一連のインバータ又は他の公知の信号遅延
手段であり得る。遅延の量は、最初にユーザのオリジナ
ルネットリストのスキューの量を決定することにより選
択される。スキューの量は従来の技術に基づき経験的に
決定され得る。
必要なデータとクロック信号との正確な同期を達成する
ためには、同期方法は、オリジナルフリップフロップ1
0a,10bがデータを受け取る前に、シンクロナイザ
フリップフロップ30a,30bがデータライン38b
,38cに沿っての各入力上でデータを受け取り且つ適
切にデータクロックすることを確実にせねばならない。 ある程度の量の遅延を外側データライン38aに加える
ことによりこのことが実施される。遅延を提供するため
の手段40は一連のインバータ又は他の公知の信号遅延
手段であり得る。遅延の量は、最初にユーザのオリジナ
ルネットリストのスキューの量を決定することにより選
択される。スキューの量は従来の技術に基づき経験的に
決定され得る。
【0025】更には各シンクロナイザ30a,30bへ
のクロック信号は、ユーザクロックが各ユーザフリップ
フロップ10a,10bのクロック入力に到着する前に
、各シンクロナイザ30a,30bの各クロック入力3
2a,32bに到着せねばならない。従って、ユーザの
オリジナルフリップフロップ装置10a,10bのクロ
ック入力34a,34bへのクロック信号の到着を遅延
させるために、遅延手段42が各クロックライン44に
備わっている。遅延手段42はクロック信号の到着を遅
延させる任意の好適な手段であり得る。本発明の単純な
同期クロック発振器46が、同一の基準フレーム上の各
オリジナルユーザクロックから同期クロックを誘導する
ために備わっている。本発明の同期方法は、多重非並行
ユーザクロック、即ち同一の基準フレーム上の複数のユ
ーザクロックに機能する。同期フリップフロップに適用
される前に、同一の基準フレーム上の多重クロックが、
多重入力リードと、単一の出力リードとを有するORゲ
ート(図示せず)内にゲートされるだけでよい。ORゲ
ートの出力は、図4に示す如くライン42a上にクロッ
クを提供する。従って同一の基準フレーム上の各ユーザ
クロックに対して、対応するシンクロナイザ30a,3
0bのクロック入力リード32a,32bに適用される
べき同期クロックを誘導する単一の同期クロック発振器
46が提供され得る。
のクロック信号は、ユーザクロックが各ユーザフリップ
フロップ10a,10bのクロック入力に到着する前に
、各シンクロナイザ30a,30bの各クロック入力3
2a,32bに到着せねばならない。従って、ユーザの
オリジナルフリップフロップ装置10a,10bのクロ
ック入力34a,34bへのクロック信号の到着を遅延
させるために、遅延手段42が各クロックライン44に
備わっている。遅延手段42はクロック信号の到着を遅
延させる任意の好適な手段であり得る。本発明の単純な
同期クロック発振器46が、同一の基準フレーム上の各
オリジナルユーザクロックから同期クロックを誘導する
ために備わっている。本発明の同期方法は、多重非並行
ユーザクロック、即ち同一の基準フレーム上の複数のユ
ーザクロックに機能する。同期フリップフロップに適用
される前に、同一の基準フレーム上の多重クロックが、
多重入力リードと、単一の出力リードとを有するORゲ
ート(図示せず)内にゲートされるだけでよい。ORゲ
ートの出力は、図4に示す如くライン42a上にクロッ
クを提供する。従って同一の基準フレーム上の各ユーザ
クロックに対して、対応するシンクロナイザ30a,3
0bのクロック入力リード32a,32bに適用される
べき同期クロックを誘導する単一の同期クロック発振器
46が提供され得る。
【0026】ユーザクロックが並行ならば、同期クロッ
クは各ユーザクロックから独立的に発生される。次に、
個々の同期クロックがORゲートにより共にゲートされ
る。エッジがそれほど接近して生じないように注意すべ
きである。何故ならばそれにより同期クロックが並行し
ていまうからである。
クは各ユーザクロックから独立的に発生される。次に、
個々の同期クロックがORゲートにより共にゲートされ
る。エッジがそれほど接近して生じないように注意すべ
きである。何故ならばそれにより同期クロックが並行し
ていまうからである。
【0027】図5を参照すると、同期クロック発振器4
6は、第1の入力52、第2の入力54及び出力56を
有する排他的ORゲート50を含んでいる。入力52は
遅延手段58を通じてユーザクロックに接続されている
。遅延手段58は、クロック信号内に遅延を導入するた
めの一連のインバータのような任意の適切な手段であり
得る。排他的ORゲート50の第2の入力54は、ユー
ザクロック信号に直接接続されている。図4及び図5に
示す如く、同期クロック信号(排他的ORゲート50の
出力)は同期クロック発振器46内の排他的ORゲート
50の出力56を通じて、シンクロナイザ30a,30
bのクロック入力32a,32bに適用されている。
6は、第1の入力52、第2の入力54及び出力56を
有する排他的ORゲート50を含んでいる。入力52は
遅延手段58を通じてユーザクロックに接続されている
。遅延手段58は、クロック信号内に遅延を導入するた
めの一連のインバータのような任意の適切な手段であり
得る。排他的ORゲート50の第2の入力54は、ユー
ザクロック信号に直接接続されている。図4及び図5に
示す如く、同期クロック信号(排他的ORゲート50の
出力)は同期クロック発振器46内の排他的ORゲート
50の出力56を通じて、シンクロナイザ30a,30
bのクロック入力32a,32bに適用されている。
【0028】再度図4を参照すると、本発明の方法は、
完全に同期されたフリップフロップ装置FF1,FF2
からなる実行回路を提供している。実行回路はユーザの
オリジナルネットリストに明記されている回路の完全に
同期された型である。シンクロナイザフリップフロップ
30a,30b及びユーザのオリジナルフリップフロッ
プ装置10a,10bは共に、遅延要素40,42が正
確に選択されるならば、不可避的且つ予測不可能なクロ
ックスキューとは無関係に回路を正確に作動させ得る同
期フリップフロップ装置FF1,FF2を含んでいる。
完全に同期されたフリップフロップ装置FF1,FF2
からなる実行回路を提供している。実行回路はユーザの
オリジナルネットリストに明記されている回路の完全に
同期された型である。シンクロナイザフリップフロップ
30a,30b及びユーザのオリジナルフリップフロッ
プ装置10a,10bは共に、遅延要素40,42が正
確に選択されるならば、不可避的且つ予測不可能なクロ
ックスキューとは無関係に回路を正確に作動させ得る同
期フリップフロップ装置FF1,FF2を含んでいる。
【0029】図4に示す回路の順次処理は、図6のタイ
ムチャートを参照すれば理解され得る。入力データ38
aがクロック44の立上がりエッジによりユーザのオリ
ジナルフリップフロップ10aにラッチされるときに、
回路は正確に作動する。データが組合わせ論理ユニット
21を貫通して、ユーザのオリジナルフリップフロップ
10b内にラッチされるときに、このデータは次の立上
がりクロックエッジまでフリップフロップ10a内でセ
ーブされている。同期フリップフロップ30a,30b
がなければ、固有のクロックスキューはあるフリップフ
ロップ、例えば10bのクロック入力でのクロック信号
の立上がりエッジを、入力リード上のデータが有効な区
域の外側に移動させる。
ムチャートを参照すれば理解され得る。入力データ38
aがクロック44の立上がりエッジによりユーザのオリ
ジナルフリップフロップ10aにラッチされるときに、
回路は正確に作動する。データが組合わせ論理ユニット
21を貫通して、ユーザのオリジナルフリップフロップ
10b内にラッチされるときに、このデータは次の立上
がりクロックエッジまでフリップフロップ10a内でセ
ーブされている。同期フリップフロップ30a,30b
がなければ、固有のクロックスキューはあるフリップフ
ロップ、例えば10bのクロック入力でのクロック信号
の立上がりエッジを、入力リード上のデータが有効な区
域の外側に移動させる。
【0030】図6では、シンクロナイザフリップフロッ
プ30a,30bのクロック入力32a,32bの同期
クロックはクロック信号44から発生される。異なるシ
ンクロナイザフリップフロップのクロック入力又は制御
入力間のスキューは、タイムチャートの二重の立上がり
線及び立下がり線により示されている。同様にユーザの
オリジナルフリップフロップ10a,10bへのクロッ
ク入力34a,34bの遅延クロック信号は、異なる入
力間のスキューを示すために多重の立上がり線及び立下
がり線で示されている。
プ30a,30bのクロック入力32a,32bの同期
クロックはクロック信号44から発生される。異なるシ
ンクロナイザフリップフロップのクロック入力又は制御
入力間のスキューは、タイムチャートの二重の立上がり
線及び立下がり線により示されている。同様にユーザの
オリジナルフリップフロップ10a,10bへのクロッ
ク入力34a,34bの遅延クロック信号は、異なる入
力間のスキューを示すために多重の立上がり線及び立下
がり線で示されている。
【0031】同期回路は以下のように作動する。最初に
入力データ38aが波形38bを作るために遅延される
。入力データ38aは次に、同期クロック信号の立上が
りエッジによりシンクロナイザフリップフロップ30a
にラッチされる。遅延要素40は、同期クロック信号の
遅延及びスキューにもかかわらず、同期クロックの立上
がりエッジでデータが確実に有効となるのに十分の遅延
を提供せねばならない。実施例によってはこの遅延要素
は不必要であり得る。同期クロック信号の幅がフリップ
フロップ30a,30bのパルス幅の要件を満たすのに
十分である限り、この同期クロック信号の幅は重要では
ない。有効データがシンクロナイザフリップフロップ3
0aでセーブされた後に、このデータはユーザのオリジ
ナルフリップフロップ10aに転送され且つ遅延クロッ
ク信号34a,34bの立上がりエッジによりセーブさ
れる。
入力データ38aが波形38bを作るために遅延される
。入力データ38aは次に、同期クロック信号の立上が
りエッジによりシンクロナイザフリップフロップ30a
にラッチされる。遅延要素40は、同期クロック信号の
遅延及びスキューにもかかわらず、同期クロックの立上
がりエッジでデータが確実に有効となるのに十分の遅延
を提供せねばならない。実施例によってはこの遅延要素
は不必要であり得る。同期クロック信号の幅がフリップ
フロップ30a,30bのパルス幅の要件を満たすのに
十分である限り、この同期クロック信号の幅は重要では
ない。有効データがシンクロナイザフリップフロップ3
0aでセーブされた後に、このデータはユーザのオリジ
ナルフリップフロップ10aに転送され且つ遅延クロッ
ク信号34a,34bの立上がりエッジによりセーブさ
れる。
【0032】クロック信号は同期クロック信号のスキュ
ーにもかかわらず、データをシンクロナイザフリップフ
ロップ30aを通じて伝播し且つフリップフロップ10
aの入力に存在させるために、時間が同期クロックの立
上がりエッジから確実に提供されるように十分遅延され
ねばならない。データは次に組合わせ論理ユニット21
を通じて伝播し且つ次の同期クロックによりシンクロナ
イザフリップフロップ30bでセーブされる。複数のユ
ーザオリジナルフリップフロップが立上がりエッジトリ
ガではなく、立下がりエッジトリガ型ならば、同期クロ
ック信号はクロック44の立上がりエッジ及び立下がり
エッジで発生される。
ーにもかかわらず、データをシンクロナイザフリップフ
ロップ30aを通じて伝播し且つフリップフロップ10
aの入力に存在させるために、時間が同期クロックの立
上がりエッジから確実に提供されるように十分遅延され
ねばならない。データは次に組合わせ論理ユニット21
を通じて伝播し且つ次の同期クロックによりシンクロナ
イザフリップフロップ30bでセーブされる。複数のユ
ーザオリジナルフリップフロップが立上がりエッジトリ
ガではなく、立下がりエッジトリガ型ならば、同期クロ
ック信号はクロック44の立上がりエッジ及び立下がり
エッジで発生される。
【0033】本発明は、図4に示す如く実行回路に、完
全に同期されたフリップフロップ装置FF1,FF2を
提供する。実行回路はこのようにして、同期された実行
ユーザネットリストとみなされ得る。本発明の同期方法
は、実行回路のクロックスキューの量を考慮せずにユー
ザネットリストを自動同期する方法を提供する。従って
本発明は、実行される回路に存在し得る多量のクロック
スキューの存在下でも完全に同期された実行回路が製造
されるために、従来技術に比べてかなりの利点がある。 本発明は、クロックスキューの存在下でもホールド時間
の妨害及びセットアップの制約なしに実行回路に自動デ
ータ同期を提供する。以前設計は、ラインのクロックス
キューの量を決定するためにプロトタイプ構成で手動に
より実行されねばならなかった。次にフリップフロップ
装置が適切なデータを入手できるように、適切なデータ
ライン用セットアップ時間及びホールド時間の決定でク
ロックスキューが考慮された。本発明は、ホールド時間
の妨害を除去するために設計を最初手動で実行して試験
せねばならないということをないがしろにせずに、ユー
ザがユーザネットリストから設計を実行し得るという利
点を有する。本発明の自動データ同期方法では、ユーザ
ネットリストから完全な回路設計を実行するのに従来技
術と比較してかなりの時間が節約されると考えられる。
全に同期されたフリップフロップ装置FF1,FF2を
提供する。実行回路はこのようにして、同期された実行
ユーザネットリストとみなされ得る。本発明の同期方法
は、実行回路のクロックスキューの量を考慮せずにユー
ザネットリストを自動同期する方法を提供する。従って
本発明は、実行される回路に存在し得る多量のクロック
スキューの存在下でも完全に同期された実行回路が製造
されるために、従来技術に比べてかなりの利点がある。 本発明は、クロックスキューの存在下でもホールド時間
の妨害及びセットアップの制約なしに実行回路に自動デ
ータ同期を提供する。以前設計は、ラインのクロックス
キューの量を決定するためにプロトタイプ構成で手動に
より実行されねばならなかった。次にフリップフロップ
装置が適切なデータを入手できるように、適切なデータ
ライン用セットアップ時間及びホールド時間の決定でク
ロックスキューが考慮された。本発明は、ホールド時間
の妨害を除去するために設計を最初手動で実行して試験
せねばならないということをないがしろにせずに、ユー
ザがユーザネットリストから設計を実行し得るという利
点を有する。本発明の自動データ同期方法では、ユーザ
ネットリストから完全な回路設計を実行するのに従来技
術と比較してかなりの時間が節約されると考えられる。
【0034】ユーザオリジナルネットリストが、エッジ
トリガフリップフロップの他に又はその代わりに透明ラ
ッチを含んでいるならば、前述した本発明の実施例は適
用されない。透明ラッチを含んでいる回路はしばしば、
制御入力又はクロック入力がアクティブである限り、デ
ータがラッチを通じて転送させられるという特性に頼っ
ている。シンクロナイザフリップフロップが透明ラッチ
の正面に置かれれば、データは同期クロック信号の立上
がりエッジ上に転送させられ、またあるときはブロック
される。
トリガフリップフロップの他に又はその代わりに透明ラ
ッチを含んでいるならば、前述した本発明の実施例は適
用されない。透明ラッチを含んでいる回路はしばしば、
制御入力又はクロック入力がアクティブである限り、デ
ータがラッチを通じて転送させられるという特性に頼っ
ている。シンクロナイザフリップフロップが透明ラッチ
の正面に置かれれば、データは同期クロック信号の立上
がりエッジ上に転送させられ、またあるときはブロック
される。
【0035】透明ラッチを含んでいる回路用に使用され
得る本発明の変形例を図7に示す。図7は、ユーザオリ
ジナルフリップフロップ装置10a,10b及び同期フ
リップフロップ30a,30bの代わりにそれぞれ透明
ラッチ64a,64b及び66a,66bが使用されて
いることを除いて、図4と同一である。従って図7では
、シンクロナイザラッチ66a,66bは、同期クロッ
ク発振器46からの同期クロックが低い限りデータを転
送し、同期クロックが高いときにデータをブロックする
ようにアクティブ低制御入力68a,68bを有する。 あるいは、同期クロック信号が変換されて、アクティブ
高シンクロナイザラッチが使用され得る。
得る本発明の変形例を図7に示す。図7は、ユーザオリ
ジナルフリップフロップ装置10a,10b及び同期フ
リップフロップ30a,30bの代わりにそれぞれ透明
ラッチ64a,64b及び66a,66bが使用されて
いることを除いて、図4と同一である。従って図7では
、シンクロナイザラッチ66a,66bは、同期クロッ
ク発振器46からの同期クロックが低い限りデータを転
送し、同期クロックが高いときにデータをブロックする
ようにアクティブ低制御入力68a,68bを有する。 あるいは、同期クロック信号が変換されて、アクティブ
高シンクロナイザラッチが使用され得る。
【0036】図7の回路のタイムチャートを図8に示す
。同期クロックは前述した如くクロック発振器46を同
期させることにより発生させられる。但しパルス幅は、
図7のクロックラインの遅延20に示されるクロックス
キューにもかかわらず、全ての順序論理要素について遅
延クロックの立上がりエッジ又は立下がりエッジの後に
同期クロックの立下がりエッジが生じるように制御され
ねばならない。この回路の操作は、同期クロックを、遅
延クロック信号上でスキュー期間中にユーザオリジナル
ラッチを通じてデータを転送させ得ないブロック信号と
みなすことにより理解され得る。同期クロックの幅は同
期回路の操作の最高速度に直接影響するので、この幅を
あまり長くすることは望ましくない。
。同期クロックは前述した如くクロック発振器46を同
期させることにより発生させられる。但しパルス幅は、
図7のクロックラインの遅延20に示されるクロックス
キューにもかかわらず、全ての順序論理要素について遅
延クロックの立上がりエッジ又は立下がりエッジの後に
同期クロックの立下がりエッジが生じるように制御され
ねばならない。この回路の操作は、同期クロックを、遅
延クロック信号上でスキュー期間中にユーザオリジナル
ラッチを通じてデータを転送させ得ないブロック信号と
みなすことにより理解され得る。同期クロックの幅は同
期回路の操作の最高速度に直接影響するので、この幅を
あまり長くすることは望ましくない。
【0037】同期クロックネット及びユーザクロックネ
ットのスキューの量を最初に決定することにより、同期
クロックの幅が調整される。次に、同期クロックの幅が
設定され、そこで同期ラッチの立下がりエッジが、オリ
ジナルユーザネットリストの全てのラッチに対して対応
するオリジナルユーザラッチでのユーザクロックの立上
がりエッジ又は立下がりエッジの後に生じる。
ットのスキューの量を最初に決定することにより、同期
クロックの幅が調整される。次に、同期クロックの幅が
設定され、そこで同期ラッチの立下がりエッジが、オリ
ジナルユーザネットリストの全てのラッチに対して対応
するオリジナルユーザラッチでのユーザクロックの立上
がりエッジ又は立下がりエッジの後に生じる。
【0038】ユーザのオリジナル逐次装置がエッジトリ
ガフリップフロップ又は透明ラッチならば、同期要素と
して透明ラッチを使用する同期技術が使用され得る。同
期要素としてエッジトリガフリップフロップを使用する
同期技術は、ユーザオリジナル逐次装置がエッジトリガ
フリップフロップである場合にのみ使用され得る。透明
ラッチとエッジトリガフリップフロップとの混合物を含
んでいる設計は、透明ラッチを同期要素として使用する
か又は透明ラッチとエッジトリガフリップフロップとの
混合物を同期要素として使用することにより同期され得
る。
ガフリップフロップ又は透明ラッチならば、同期要素と
して透明ラッチを使用する同期技術が使用され得る。同
期要素としてエッジトリガフリップフロップを使用する
同期技術は、ユーザオリジナル逐次装置がエッジトリガ
フリップフロップである場合にのみ使用され得る。透明
ラッチとエッジトリガフリップフロップとの混合物を含
んでいる設計は、透明ラッチを同期要素として使用する
か又は透明ラッチとエッジトリガフリップフロップとの
混合物を同期要素として使用することにより同期され得
る。
【0039】現在最も実践的であると考えらえる好まし
い実施例に関して本発明を説明したが、本発明が開示さ
れた実施例に制限されず、逆に前述した特許請求の範囲
内で種々の変形及び同等の配置を包含するものと理解さ
れる。
い実施例に関して本発明を説明したが、本発明が開示さ
れた実施例に制限されず、逆に前述した特許請求の範囲
内で種々の変形及び同等の配置を包含するものと理解さ
れる。
【図1】通常のオリジナルなユーザネットリストに明記
されている装置の概略線図である。
されている装置の概略線図である。
【図2】ユーザネットリストから直接実行される非同期
論理回路を示す線図である。
論理回路を示す線図である。
【図3】適切なセットアップ時間及びホールド時間を示
すタイムチャートである。
すタイムチャートである。
【図4】本発明の同期方法の概略線図である。
【図5】本発明の単一同期クロック発振器の概略線図で
ある。
ある。
【図6】図4の回路のタイムチャートである。
【図7】オリジナルネットリストがフリップフロップの
代わりにラッチを含んでいる、本発明の方法の概略線図
である。
代わりにラッチを含んでいる、本発明の方法の概略線図
である。
【図8】図7の回路のタイムチャートである。
10a,10b,10n,16a,16b,16n,1
8,20,30a,30b フリップフロップ14a
,14b,14n,21 組合わせ論理ユニット22
,24,32a,32b,34a,34b,68a,6
8b,70a,70b クロック入力46 同期ク
ロック発振器 50 排他的ORゲート
8,20,30a,30b フリップフロップ14a
,14b,14n,21 組合わせ論理ユニット22
,24,32a,32b,34a,34b,68a,6
8b,70a,70b クロック入力46 同期ク
ロック発振器 50 排他的ORゲート
Claims (7)
- 【請求項1】 ネットリスト又は論理構成データ又は
同様物から実行されると共に、少なくとも1つの共通基
準フレームから発生される1つ以上のクロック信号から
制御され且つ各々が、データ信号受信用のデータ入力リ
ードと、該クロック信号受信用のクロック入力と、出力
とを有する複数のクロックフリップフロップ装置を含ん
でいる順序論理回路等の同期操作提供方法であって、該
方法が、データ信号を受取るために接続されているデー
タ入力と、各対応するフリップフロップ装置のデータ入
力に接続されている出力と、制御クロック入力とを有す
る対応するシンクロナイザフリップフロップを、前記ネ
ットリストの各オリジナルフリップフロップ装置に対し
てデータ経路の上流に提供し、該オリジナルフリップフ
ロップ装置の各々のクロック入力に適用される前記クロ
ック信号を遅延させ、同一の基準フレーム上の各オリジ
ナルクロック信号から同期クロックを発生して、前記シ
ンクロナイザフリップフロップ装置の各々のクロック入
力に、発生された該同期クロックを適用し、且つ前記実
行回路の同期構成を提供するために、前記同期フリップ
フロップ装置及び前記オリジナルフリップフロップ装置
を通じて前記のクロック信号及びデータ信号を伝播させ
る段階を含んでいることを特徴とする方法。 - 【請求項2】 前記クロック信号に付加されるべき遅
延の量を決定する段階が、最初にネットリストに記載さ
れている論理回路でのクロックスキューの量を決定し、
且つ該クロック信号が常に、前記シンクロナイザフリッ
プフロップの制御入力への同期クロック信号の到着後に
前記オリジナルフリップフロップの制御入力に到着する
ように、クロック入力リード上に十分な遅延を付加する
段階を含んでいることを特徴とする請求項1に記載の方
法。 - 【請求項3】 同一の基準フレーム上の各オリジナル
クロックから同期クロックを誘導する段階が、任意のオ
リジナルクロック信号が前記オリジナルフリップフロッ
プ装置の前記クロック入力に出現する前に、ゲートされ
たクロック信号が前記シンクロナイザフリップフロップ
装置の各々のクロック入力に出現するように、該オリジ
ナルクロック信号及び前記遅延クロック信号を、排他的
ORゲートを通じてゲートする段階を含んでいることを
特徴とする請求項1に記載の方法。 - 【請求項4】 論理回路構成データを説明しているユ
ーザネットリストから実行されると共に、少なくも1つ
の共通基準フレームから発生されたクロックネットの1
つ以上のユーザクロック信号から制御され且つ各々が、
データ信号受信用のデータ入力と、該クロック信号受信
用のクロック入力と、出力とを有する複数のクロック透
明ラッチを含んでいるディジタル論理回路等の同期操作
提供方法であって、該方法が、データ信号を受取るため
に接続されているデータ入力と、各対応するユーザ透明
ラッチのデータ入力リードに接続されている出力と、ク
ロック入力とを有する対応するシンクロナイザラッチを
、前記ユーザネットリストの各ユーザ透明ラッチ装置に
対してデータ経路の上流に提供し、該ユーザ透明ラッチ
の各々のクロック入力に適用される前記クロック信号を
遅延させ、同一の基準フレーム上の各ユーザオリジナル
クロック信号から同期クロックを発生して、前記シンク
ロナイザラッチの各々のクロック入力に、発生された前
記同期クロックを適用し、且つ前記ユーザネットリスト
の同期構成を提供するために、前記シンクロナイザラッ
チ及び前記ユーザ透明ラッチを通じて前記のクロック信
号及びデータ信号を伝播させる段階を含んでいることを
特徴とする方法。 - 【請求項5】 前記クロック信号に付加されるべき遅
延の量を決定する段階が、最初にユーザネットリストに
記載されている論理回路でのクロックスキューの量を決
定し、且つクロック信号が常に、前記シンクロナイザラ
ッチの制御入力への同期クロック信号の到着後に前記ユ
ーザオリジナルラッチの制御入力に到着するように、ク
ロック入力上に十分な遅延を付加する段階を含んでいる
ことを特徴とする請求項4に記載の方法。 - 【請求項6】 同一の基準フレーム上の各ユーザオリ
ジナルクロックから同期クロックを誘導する前記段階が
、任意のオリジナルユーザクロック信号が前記オリジナ
ル透明ラッチの前記クロック入力に出現する前に、ゲー
トされたクロック信号が前記シンクロナイザラッチ装置
の各々の該クロック入力に出現するように、該オリジナ
ルクロック信号及び前記遅延クロック信号を、排他的O
Rゲートを通じてゲートする段階を含んでいることを特
徴とする請求項4に記載の方法。 - 【請求項7】 最初に同期クロックネット及びユーザ
クロックネットのスキューの量を決定し、次にオリジナ
ルユーザネットリストの全てのラッチに対して対応する
オリジナルユーザラッチでのユーザクロックの立上がり
エッジ又は立下がりエッジの後に同期ラッチの立下がり
エッジが生じるように同期クロックの幅を設定すること
により、同期クロックの幅が調整されることを特徴とす
る請求項4に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US51069890A | 1990-04-18 | 1990-04-18 | |
| US510698 | 1990-04-18 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04227576A true JPH04227576A (ja) | 1992-08-17 |
Family
ID=24031805
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3112623A Pending JPH04227576A (ja) | 1990-04-18 | 1991-04-17 | 順序論理回路及びディジタル論理回路の同期操作提供方法 |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP0453171A3 (ja) |
| JP (1) | JPH04227576A (ja) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5475830A (en) * | 1992-01-31 | 1995-12-12 | Quickturn Design Systems, Inc. | Structure and method for providing a reconfigurable emulation circuit without hold time violations |
| FR2724472B1 (fr) * | 1994-09-14 | 1996-11-15 | Suisse Electronique Microtech | Automate insensible aux delais d'horloge |
| US5548797A (en) * | 1994-10-03 | 1996-08-20 | International Business Machines Corporation | Digital clock pulse positioning circuit for delaying a signal input by a fist time duration and a second time duration to provide a positioned clock signal |
| US5649176A (en) * | 1995-08-10 | 1997-07-15 | Virtual Machine Works, Inc. | Transition analysis and circuit resynthesis method and device for digital circuit modeling |
| DE19627634C1 (de) * | 1996-07-09 | 1997-07-24 | Siemens Ag | CMOS-Schaltung aus CMOS-Schaltungsblöcken, die in bitparallelen Datenpfaden angeordnet sind |
| US5960191A (en) | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
| US6064232A (en) * | 1997-12-18 | 2000-05-16 | Advanced Micro Devices, Inc. | Self-clocked logic circuit and methodology |
| US7653168B2 (en) * | 2005-01-12 | 2010-01-26 | Nokia Corporation | Digital clock dividing circuit |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0461291A1 (en) * | 1990-06-15 | 1991-12-18 | International Business Machines Corporation | Clock generation in a multi-chip computersystem |
-
1991
- 1991-04-10 EP EP19910303169 patent/EP0453171A3/en not_active Withdrawn
- 1991-04-17 JP JP3112623A patent/JPH04227576A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| EP0453171A2 (en) | 1991-10-23 |
| EP0453171A3 (en) | 1992-11-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5259006A (en) | Method for substantially eliminating hold time violations in implementing high speed logic circuits or the like | |
| US6353906B1 (en) | Testing synchronization circuitry using digital simulation | |
| US8656324B2 (en) | Circuit design systems for replacing flip-flops with pulsed latches | |
| US6009531A (en) | Transition analysis and circuit resynthesis method and device for digital circuit modeling | |
| US5087828A (en) | Timing circuit for single line serial data | |
| JP2626920B2 (ja) | スキャンテスト回路およびそれを用いた半導体集積回路装置 | |
| US7456674B2 (en) | Clock generator having improved deskewer | |
| JP2658903B2 (ja) | スキャンパス回路、その設計装置及びその設計方法 | |
| US7284143B2 (en) | System and method for reducing clock skew | |
| Muttersbach | Globally-asynchronous locally-synchronous architectures for VLSI systems | |
| US20070089076A1 (en) | Application of consistent cycle context for related setup and hold tests for static timing analysis | |
| Cummings et al. | Asynchronous & synchronous reset design techniques-part deux | |
| Agrawal et al. | Generating tests for delay faults in nonscan circuits | |
| US7382824B1 (en) | Method and apparatus for accurate modeling of multi-domain clock interfaces | |
| JPH04227576A (ja) | 順序論理回路及びディジタル論理回路の同期操作提供方法 | |
| US6690203B2 (en) | Method and apparatus for a failure-free synchronizer | |
| EP1116087B1 (en) | Synchronous polyphase clock distribution system | |
| US6711089B2 (en) | Method and apparatus for performing signal synchronization | |
| WO2000014875A1 (en) | Circuit for distribution of clock signals using muller elements | |
| US6993671B2 (en) | High speed clock divider with synchronous phase start-up over physically distributed space | |
| US6928574B1 (en) | System and method for transferring data from a lower frequency clock domain to a higher frequency clock domain | |
| Van Campenhout et al. | Timing verification of sequential domino circuits | |
| Heath et al. | Synchro-tokens: Eliminating nondeterminism to enable chip-level test of globally-asynchronous locally-synchronous SoC's | |
| US8564337B2 (en) | Clock tree insertion delay independent interface | |
| US6973422B1 (en) | Method and apparatus for modeling and circuits with asynchronous behavior |