JP2004518334A - ダブルデータレートフリップフロップ - Google Patents

ダブルデータレートフリップフロップ Download PDF

Info

Publication number
JP2004518334A
JP2004518334A JP2002557053A JP2002557053A JP2004518334A JP 2004518334 A JP2004518334 A JP 2004518334A JP 2002557053 A JP2002557053 A JP 2002557053A JP 2002557053 A JP2002557053 A JP 2002557053A JP 2004518334 A JP2004518334 A JP 2004518334A
Authority
JP
Japan
Prior art keywords
clock signal
data
clock
latch
input
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.)
Withdrawn
Application number
JP2002557053A
Other languages
English (en)
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.)
Xilinx Inc
Original Assignee
Xilinx Inc
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 Xilinx Inc filed Critical Xilinx Inc
Publication of JP2004518334A publication Critical patent/JP2004518334A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/04Distributors combined with modulators or demodulators
    • H04J3/047Distributors with transistors or integrated circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Logic Circuits (AREA)
  • Electronic Switches (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

論理経路上のデータ伝送のスループットレートを倍にするための方法および装置は、伝送されるべきデータストリームの連続ビットを交互に受取る2つのラッチと、実質的に180度位相がずれた2つの別個のクロックによって交互にクロックされるデータ伝送経路を有するマルチプレクサとを設けることを含む。

Description

【0001】
【発明の分野】
この発明は、集積回路の入力/出力回路に関し、より具体的には、レジスタデータが集積回路装置に対して入出力され得るレートを倍にするための方法および装置に関する。
【0002】
【背景】
多くのデジタル論理応用では、IC装置が許容し得る限りできるだけ高いデータレートを用いて集積回路装置(IC)の入力/出力ポートにデータを与えることが望ましい。この高いデータスループットレートは、ネットワーク通信および携帯電話基地局等の応用において重要である。
【0003】
データ入力および出力レートを最大にするための様々なアプローチが、過去に用いられてきた。これらの原理は、装置が動作し得るクロックレートを高速化することであった。これらのアプローチは、IC装置を製造するために用いられる材料およびツールのプロセスまたは製造許容誤差を改善することに焦点を当ててきた。しかし、プロセスまたは装置に対していかなる改良が行なわれても、既存のいかなる技術でも、データレートを設定する最大のクロックレートが存在する。
【0004】
書替え可能ゲートアレイ(「FPGA」)等のリプログラマブル論理装置が、すべての種類のデジタル論理応用において一般的に用いられている。したがって、FPGAは、高いデータスループットを必要とする多くの応用で用いられている。FPGAのデータスループットレートも、他のICのように、その最大のクロックレートによって制限される。FPGAは通例、論理関数発生器または構成可能な論理素子のアレイ、入力/出力ポート、および行列状の配線を含む。行列状の配線は一般に、構成可能な論理素子を囲み、構成可能な論理素子間および構成可能な論理素子と入力/出力ポートとの間で論理データ信号を接続する。FPGAは、装置の構成を制御する、スタティックRAMセル、アンチヒューズ、EPROMセル、およびEEPROMセル等のプログラム用メモリ素子によって構成される。メモリ素子のプログラミングに応じて、構成可能な論理素子は、異なった論理機能を実行し、さまざまな様態で互いに、および入力/出力ポートに接続される。一般に、FPGAはまた、IC上で他の機能を構成するためのプログラマブルメモリセルを提供する。たとえば、クロック信号のルーティングおよびFPGA上での多数のクロックネットの使用は、多くの場合、ユーザによってプログラマブルに選択可能である。
【0005】
集積回路装置を製造するために用いられるプロセスの限界にかかわらず、いかなる既知の製造プロセスにおいても装置の出力部でのデータスループットレートを上げることのできる論理回路設計を実現することが望ましい。さらに、このような論理回路設計をFPGAに組込んで論理回路のスループット能力を活用し、また構成可能ではない装置内では実現され得ない論理回路設計にプログラマブル機能を提供することが望ましい。
【0006】
【発明の概要】
この発明に従うと、いかなる既存のクロック信号レートに対しても集積回路装置の入力/出力ポートのデータスループットレートを倍にすることのできる論理回路設計が開示される。この回路は、デバイス内通信に対して有用であり得る。FPGAに組込まれると、論理回路とともに用いられるクロックおよびデータソースは、プログラマブルに選択可能となり得る。
【0007】
この発明の第1の局面では、2つのマスタラッチと、スレーブラッチを含むマルチプレクサとから構成されるダブルデータレートフリップフロップが開示される。各マスタラッチは、別々のデータ信号と、他方のマスタラッチが受けるクロック信号から実質的に180度位相がずれたクロック信号とを受ける。
【0008】
各マスタラッチの出力信号は、マルチプレクサの入力部に送られる。マルチプレクサはまた、互いに180度位相がずれた2つのクロック信号を受け、これらは、マルチプレクサにその入力をその出力部とスレーブラッチとにクロック信号に同期して交互に与えさせる。
【0009】
この発明の第2の別の局面では、ダブルデータレートフリップフロップ回路は、入力経路、出力経路、および装置の入力/出力ポートでのトライステートイネーブル経路に任意に設けられ得る。
【0010】
この発明の第3の別の局面では、ダブルデータレートフリップフロップ回路は、ダブルデータレートフリップフロップ、通常のフリップフロップ、ラッチ、または非レジスタ化経路として動作するようにプログラマブルに選択され得る。
【0011】
この発明の第4の別の局面では、FPGAに組込まれると、ダブルデータレートフリップフロップのためのクロックソースは、単一のクロックとその反転との間で、または互いに180度位相がずれて動作するように同期された2つの別個のクロックとの間で、プログラマブルに選択され得、また、ダブルデータレートフリップフロップに対するデータソースは、プログラマブルに選択され得る。
【0012】
[詳細な説明]
図1は、この発明の1つの実施例に従ったダブルデータレートフリップフロップ10を示すブロック図である。構造10は、書替え可能ゲートアレイ等のより大きな集積回路装置の一部である。この回路は現在、ザイリンクス社(Xilinx, Inc.)から間もなくリリースされる予定のバーテックス(Virtex)II FPGA内に組込まれる。しかし、ダブルデータレートフリップフロップは、高速データスループット応用で採用されるどのような集積回路装置の種類に対しても有用である。
【0013】
伝統的には、フリップフロップは、単一のマスタラッチとスレーブラッチとで構成され、ダブルデータレートフリップフロップ10を生成するための制御回路系は、2つのマスタラッチ12および14と、スレーブラッチをその出力部に含むダブルデータレートマルチプレクサ16とを含む。各レジスタ12および14は、データ入力ピン18および20と、クロックピン22および24と、出力ピン26および28とを含む。データ入力ピン18および20は、集積回路装置の残りの部分から来るデータの異なるソースに接続されると仮定される。
【0014】
通例、2つのマスタラッチは、集積回路装置上または集積回路装置外のどこかに送られるデータストリームからの連続ビットを交互に受ける。この回路を組込んだFPGAの場合、データをマスタラッチ入力部に与えることは、データをマスタラッチ入力ピンに送るように適切に配線をプログラムすることによって達成される。
【0015】
通例、入力部は、関連のデータストリームを搬送する別個の配線にプログラマブルに接続される。プログラマブル接続は、プログラマブル論理技術の当業者には周知であるいくつかの手段のうちのいずれかを用いて行なわれ得る。たとえば、このようなプログラマブル接続は、スタティックラッチメモリセルが制御するnチャネルパストランジスタを用いて行なわれ得る。マスタラッチは、クロック制御されたアクセスゲートまたはいずれかの他の好適なクロックトリガ型メモリ回路を備えたクロスカップルされたインバータであり得る。
【0016】
マスタラッチのクロックピン22および24は、互いに実質的に180度位相がずれたクロック信号30および32をクロックソース34から受ける。しかし、2つのクロックピンが必要でないことも理解されるべきである。180度位相がシフトしたクロック信号を生成する働きをするフリップフロップ内部のインバータに結合される単一のクロックピンが代わりに用いられてもよい。
【0017】
この発明の好ましいFPGA、バーテックスIIは、クロックソースを制御する能力をダブルデータレートフリップフロップに提供する。
【0018】
具体的には、クロックソースは、単一のクロックおよびその反転信号であってもよく、またはそれらの間の位相のずれが180度で、かつ同じ周波数で動作するように同期された2つの別個のクロックであってもよい。後者のアプローチが、以下の点で有利である。すなわち、単一のクロックは一様でない立上がりエッジおよび立下がりエッジを有するおそれがあり、このことは、クロックスキューを引き起こし、ダブルデータレート動作に悪影響を及ぼすおそれがある点で、後者のアプローチが有利である。互いに180度位相がずれるように同期された2つの別個のクロックを用いることによって、この問題が回避される。なぜならば、立上がりエッジのみが問題となり、立上がりエッジと立下がりエッジとの間のいかなる差も無関係となるためである。ユーザが異なるオプションの間で選択することを可能にするユーザプログラマブル接続は、「デジタル移相器」(“Digital Phase Shifter”)と題された米国特許出願第09/684,540号においてヤング他(Young et. al.)によって説明されている。したがって、クロック信号30および32は、互いに実質的に180度位相がずれている。
【0019】
第1のマスタラッチ12の出力ピン26が、ダブルデータレートマルチプレクサ16の論理データ入力ピン36に接続される。第2のマスタラッチ14の出力ピン28が、ダブルデータレートマルチプレクサ16の論理データ入力ピン38に接続される。クロック信号30および32は、ダブルデータレートマルチプレクサにも送られ、ここで、これらは、制御入力ピン42および44に接続し、それがダブルデータレートモードで動作しているときダブルデータレートマルチプレクサを介しての論理データの伝送を制御する。ダブルデータレートマルチプレクサの出力ピン40の信号は、装置の出力段または適当ないずれの部分にも送られ得る。
【0020】
動作において、データストリーム内の連続ビットが、2つのマスタラッチの入力部18および20に与えられる。FPGA内では、これは、入力部を2つの異なる配線にプログラマブルに接続することによって達成され得る。これらのビットは、各関連のクロック信号の立上がりエッジでマスタラッチへとクロック同期して入れられる(これは、プログラマブルに変更可能なエッジトリガを用いるラッチが採用される場合にはプログラミングまたはラッチ設計に応じて、立下がりエッジ上で起こってもよい)。第1のクロック信号30の立上がりエッジ上では、第1のマスタラッチの出力値26が、ダブルデータレートマルチプレクサ16を通過する。第2のクロック信号32の立上がりエッジ上では、第2のマスタラッチの出力28が、ダブルデータレートマルチプレクサ16を通過する。2つのクロック信号は180度位相がずれているため、単一のクロックトレジスタを用いた場合に比べて2倍のデータスループットレートが達成されることが当業者によって理解されるであろう。
【0021】
図2は、この発明のマスタラッチ200の好ましい実施例の詳細な実現例を示す。マスタラッチ200は、(これが第1のマスタラッチまたは第2のマスタラッチであるかに応じてクロック信号30および32のうちのいずれか、または単一のクロック信号の真または補信号を受け得る)クロック入力ピン202、データ入力ピン204、クロックイネーブルピン206、グローバルセットおよびリセットピン208、セットピン210、およびリセットピン212の信号を有する。
【0022】
ラッチはさらに、クロスカップルされたインバータ214および216と、nチャネルパストランジスタで構成されるアクセスゲート218とを含む。通常の動作中、アクセスゲートは、その入力をクロックピン202から受けるインバータ220によって制御される。
【0023】
データは、入力ピン204上に与えられ、通常の動作中、ラッチのアクセスゲート218に与えられる。クロック信号がローになると、インバータ220は、その信号を反転させて、アクセスゲート218に入力ピン204からラッチへとデータを転送させる。ラッチの第1のインバータ214が、データを反転させ、それを第2のインバータ222に送り、これは、ラッチ出力部224でデータの真の値を利用可能にする。
【0024】
同時に、第1のインバータ214は、データをフィードバックインバータ216に送る。フィードバックインバータ216の出力部と第1のインバータ214の入力部との間には、クロックが制御するnチャネルパストランジスタ226がある。クロック信号がハイに遷移すると、パストランジスタ226は、フィードバックインバータ216からの出力を第1のインバータ214の入力部へと返し始め、したがって、データ値がラッチによって維持されることを確実にする。標準的なグローバルセット/リセットおよび個別のセットおよびリセット回路が、当業者には周知のように、またブロック228として示されるように、設けられ得る。
【0025】
図3は、この発明のダブルデータレートマルチプレクサ250の好ましい実施例を開示する。図3のマルチプレクサ250内では、4つのデータ伝送経路252、254、256、および258が存在する。これらの経路の各々が、入力ピンを有し、共通の出力ノード259で終端する。このノードは、クロスカップルされたインバータで構成されるスレーブラッチ261に結合する。図3に示されるように、スレーブラッチ261は、インバータ265とクロスカップルされたNORゲート263を含む。インバータ265は弱くされており(弱い保持回路)、これにより、マルチプレクサ出力部259上の信号は、インバータ265の出力を容易に打ち負かすことができ、また、出力部259上の信号が与えられない場合は、ラッチ261はその値を保持する。スレーブラッチ261はまた、パワーオンリセット信号PORによってイネーブルにされるパワーオンリセット機能を含む。ハイのPOR信号は、装置に電源が投入され、PORがローにされるまで、ダブルデータレート出力信号OUTをハイに保持する。
【0026】
図示されない別の実施例では、トランジスタ268、270、260、または264のうちのいずれかがオンの場合、インバータ265の出力部のパストランジスタは、衝突が起こらないように、インバータ265の出力部を線259から切離する。
【0027】
マルチプレクサ内でスレーブラッチを含むことは決定されたが、ある特定の応用のタイミングシーケンスおよびデータスループットレートは、スレーブラッチが不要であり、除去され得るようなものであってもよい。
【0028】
第3のデータ伝送経路256は、一個のnチャネルパストランジスタ260を含む。パストランジスタ260のゲートは、パストランジスタの導通状態を決定する信号266によって制御される。第4のデータ伝送経路258も、一個のnチャネルパストランジスタ264を含み、そのゲートは、パストランジスタの導通状態を決定する制御信号262によって制御される。マルチプレクサが非レジスタフィードスルーモードで動作することを可能にするように、第3の経路および第4の経路が設けられる。FPGAでは、制御信号262および266は、構成メモリセルによって与えられ、したがって、ダブルデータレートフリップフロップを非レジスタフィードスルーモードにされてもよい。
【0029】
第1のデータ伝送経路252および第2のデータ伝送経路254は、各々、単一のnチャネルパストランジスタ268、270によって制御され、その伝送は、180度位相がずれた2つのクロック信号272および274のうちの1つによって制御される。これらのトランジスタの各々は、同様の様態で制御されるため、これらのトランジスタのうちの1つの制御のみを詳細に説明する。第1のデータ経路のnチャネルパストランジスタ268は、2入力NANDゲート276の出力部に接続される。NANDゲート276の一方入力部282は、入力信号を生成する経路280により論理的に合成される信号278によって制御される。NANDゲート276への他方入力部284は、根本的には、第1のクロック信号272によって制御される。NANDゲート入力部284に到達する前に、クロック信号は2つの並列な経路を通過する。各経路は、第2のNANDゲート286への入力部で終端する。第2のNANDゲート286の出力部は、第1のNANDゲートの第2の入力部284に結合される。第2のNANDゲート286への一方入力は、第1のクロック信号272から直接得られる。第2のNANDゲートへの第2の入力は、第1のクロック信号の遅延信号である。この第1のクロック信号の遅延信号は、4つの遅延インバータ288および2入力NORゲート290を通過する。追加の遅延インバータ292が、所望であれば選択的にこの経路に加えられてもよい。
【0030】
マルチプレクサがダブルデータレートモードで用いられる場合、伝送用のデータの連続ビットは、マスタラッチから2つの入力ピン252および254上に交互に与えられる。データは、関連のパストランジスタが導通している場合にのみ、第1のデータ経路または第2のデータ経路を通過する。共通ノードでのいかなる競合も防ぐために、第3の経路256および第4の経路258に対する制御信号は、他の経路が導通しないように設定される。
【0031】
ここで、図3のダブルデータレート動作を表すタイミング図である図4を参照する。動作において、2入力NORゲート290は、その入力部のうちの1つ294上で論理ローを受け、したがって、それがその他方入力部上で受けるクロック信号の遅延信号のインバータとして働く。
【0032】
第1のクロック信号272は、時間tの間ローであり、これは、ロー信号が遅延インバータ288およびNORゲート290を伝搬するのに十分なほど長く、第2のNANDゲート286への2つの入力がロー信号およびハイ信号となる。これによって、第2のNANDゲート286の出力がハイとなる。第1のNANDゲート276が2つのハイの入力を受け、その出力がローとなり、第1のデータ経路252内のパストランジスタ268がオフとなるように、制御信号278も適切に設定される。(時間tの始めに)第1のクロック信号272がハイに遷移すると、第2のNANDゲート286の出力はローとなる。なぜならば、1つの入力はハイであり、第2の入力へのクロック遷移が遅延され、第2の入力信号は一時的にハイにされるためである。第2のNANDゲート286の出力は、ハイへのクロック遷移が遅延インバータ288およびNORゲート290を伝わる時間tの間、ローのままである。第1のNANDゲート276の一方入力部284上のローによって、第1のNANDゲートの出力がハイとなり、パストランジスタ268および第1のデータ経路がオンとなり、入力ピン252上のデータ信号が、共通の出力ノード259へと伝送され、スレーブラッチ261に書込まれる。第1のクロック信号のハイへの遷移が4つの遅延インバータ288およびNORゲート290を伝搬し(tの始め)、信号の5回の反転が引起こされた後、第2のNANDゲート286への第2の入力は、ロー入力に遷移する。これによって再び、第2のNANDゲート286の出力がハイになる。第2のNANDゲートの出力がハイとなると、これによって、第1のNANDゲート276の出力がローとなり、第1のデータ経路内のパストランジスタ268が再びオフとなる。
【0033】
第1のクロック信号と実質的に180度位相がずれた第2のクロック信号274によってこの第2の経路が制御されること以外は、第2のデータ経路254内のパストランジスタ270は、第1のデータ経路に関して説明されたものと本質的に同一である第2の組の回路によって制御される。したがって、動作において、第2のデータ経路254内のパストランジスタ270は、第1の経路から180度遅延した時間枠tの間導通する。クロック信号によって制御される経路に関連した制御回路および遅延インバータは、あるデータ経路上でデータが伝送される時間枠を作り、データがラッチへと書込まれる共通出力ノードでの衝突を防止することが、当業者によって理解されるであろう。
【0034】
ダブルデータレートモードに加えて、マルチプレクサ250は、2つの他の動作モードを有する。上述のように、それは、非レジスタ信号コネクタとして動作し得る。同様に、マルチプレクサ250は、2つのマスタラッチのうちの1つからのデータが非同期的に通過してマルチプレクサスレーブラッチに到達するラッチモードにプログラムされ得る。マルチプレクサは、以下のようにラッチモードでは動作する。第3のデータ伝送経路256および第4のデータ伝送経路258がオフにされる。最初の2つのデータ伝送経路252および254のうちの1つもオフにされる。第2のデータ経路254がオフにされると仮定すると、第1のデータ経路252は、制御信号279をハイに設定することによってオンにされる。このハイの信号は、インバータ281、NANDゲート283、インバータ285、およびNANDゲート276によって4回反転させられる。信号が4回反転させられるため、パストランジスタ268は、その制御ゲート上でハイの信号を受け、経路252をオンにし、これによって、マルチプレクサは、マスタラッチからのデータをスレーブラッチ261へと非同期的に渡す。
【0035】
図5は、この発明のダブルデータレートマルチプレクサ16の別の好ましい実施例の詳細な実現例を示す。このマルチプレクサは、4つの論理データ入力ピン50、52、54、および56を有する。各入力ピンは、少なくとも1つの論理データ伝送経路に接続される。第1のデータ経路58は、その経路上のデータの伝送を制御する直列の2つのnチャネルパストランジスタ60および62を有する。同様に、第2のデータ経路64も、その経路上のデータの伝送を制御する2つのnチャネルパストランジスタ66および68を有する。第3のデータ経路70および第4のデータ経路72は、各々、データの伝送を制御するための一個のnチャネルパストランジスタ74、76を有する。加えて、一番上のデータ入力ピン50は、一個のnチャネルパストランジスタ80が制御する第5の論理データ経路78に接続される。第2のデータ入力ピン52はまた、1つのパストランジスタ84が制御する第6の論理データ経路82に接続される。パストランジスタはまた、pチャネルデバイスを用いて実現され得る。論理データ経路の各々は、共通の出力ノード86において終端する。
【0036】
第1のデータ経路58の第1のパストランジスタ60の制御ゲートは、3入力NORゲート88の出力部に接続される。NORゲート88の1つの入力は、制御信号90から来る。第2の入力は、アクティブロークロックイネーブル信号92から来る。第3の入力は、NORゲートへのクロック信号の伝搬を遅延する4つのインバータ93を通過した後の第1のクロック信号30(図1参照)から来る。第1の論理データ経路58内の第2のパストランジスタ62の制御ゲートは、第1のクロック信号30に直接接続される。第2の論理データ経路64内の第1のパストランジスタ66の制御ゲートは、3入力NORゲート94の出力部に接続される。3入力NORゲート94は、その2入力として、制御信号96およびクロックイネーブル信号92を受ける。3入力NORゲート94の第3の入力は、NORゲートへのクロック信号の伝搬を遅延する4つのインバータ96を通過した後の第2のクロック信号32から来る。第2のデータ経路64内の第2のパストランジスタ68は、第2のクロック信号32に直接接続される。第3のデータ経路70は、一個のパストランジスタ74を有し、その制御ゲートは選択信号98に接続される。第4のデータ経路72は、一個のパストランジスタ76を有し、その制御ゲートは第2の選択信号100に接続される。第1の論理データ経路58と並列である第5の論理データ経路78は、一個のパストランジスタ80を有し、その制御ゲートは第3の選択信号102に接続される。第2の論理データ経路64と並列である第6のデータ経路82は、パストランジスタ84を有し、その制御ゲートは第4の選択信号104に接続される。共通の出力ノード86が、クロスカップルされたインバータで構成されるスタティックラッチ106の入力部に接続される。スタティックラッチ106の第1のインバータの出力は、ダブルデータレートマルチプレクサの出力である。
【0037】
マルチプレクサがダブルデータレートモードで用いられるべき場合、伝送用のデータの連続ビットは、2つの入力ピン50と52との上に交互に与えられる。データは、第1のデータ経路58または第2のデータ経路64を、その経路に関連した両方のパストランジスタが導通している場合にのみ、通過する。残りの経路に対する制御信号は、共通のノードでのいずれの競合も防ぐために、他の経路が導通しないように設定される。加えて、NORゲート制御信号90および96とクロックイネーブル信号92とがローとなり、各NORゲート88、94は、自身に入力される関連のクロック信号のインバータとして作用する。
【0038】
ここで、図5と図6との両方が参照される。図6は、ダブルデータレートモードで動作しているときの図5の回路のタイミング図である。以下の信号シーケンスによってダブルデータレートが生成される。第1の時間tでは、第1のクロック信号30はローである。このローの信号は、4つの遅延インバータ93を通って3入力NORゲート88へと伝わり、その出力が、論理ハイとなり、第1のパストランジスタ60が導通させられる。(時間tの始めに)第1のクロック信号30がハイの値に遷移すると、そのハイの値はすぐに第2のパストランジスタ62の制御ゲートに伝わり、これが次に導通する。両方のパストランジスタ60および62が導通すると、経路58は、入力ピン50からスタティックラッチ106が導通し、入力ピン50上の論理データ値がスタティックラッチ106に書込まれる。(時間tの終りに)第1のクロック信号30の立上がりエッジが4つの遅延インバータ93を伝搬した後、それはNORゲート88によって反転させられ、論理ロー値が第1のパストランジスタ60の制御ゲート上に置かれる。これによって、パスデバイスが導通を停止し、第1の論理データ経路58は、入力ピン50からスタティックラッチ106の導通を停止する。第1のクロック信号は、時間t+tの間、ハイのままである。
【0039】
第2のクロック信号32は、第1のクロック信号と実質的に180度位相がずれているため、(時間tの始めに)第1のクロック信号がハイに遷移するとき、第2のクロック信号はローに遷移する。このローへの遷移によって、第2のデータ経路64の第2のパストランジスタ68がオフとなる。クロック信号32のローへの遷移が、4つの遅延インバータ96を通ってNORゲート94へと伝搬した後、NORゲート94は、ローの信号をハイへと反転し、これによって、第2の論理データ伝送経路64の第1のパストランジスタ66が導通させられる。(時間tの始めに)第2のクロック信号32がハイの値へと遷移すると、第2の論理データ経路64の第2のパストランジスタ68も導通し始め、第2の入力ピン52上の論理データ値は、共通の出力ノード86に送られ、スタティックラッチ106に書込まれる。
【0040】
当業者によって理解されるように、遅延インバータ93および96とNORゲート88および94とが生成するこのタイミングシーケンスの目的は、第1の論理データ伝送経路と第2の論理データ伝送経路との間での衝突が共通の出力ノードに存在しないことを確実にすることである。データ経路が導通する時間枠は、値をスタティックラッチ106に書込むのに十分なほど長くなるように、注意が払われなければならない。図1および図2を再び参照して、クロック信号が遷移するとき、第1のマスタラッチからの出力信号が、マルチプレクサ16の第1の入力ピンでラッチされ、利用可能となることが理解されるだろう。図4および図6のタイミング図からわかるように、このデータ信号は、第1のクロック信号がハイに遷移するとき、マルチプレクサ16のスレーブラッチに書込まれる。
【0041】
一つの制御信号が制御する一つのスイッチを有する4つの論理データ経路70、72、78、および82が設けられてダブルデータレートマルチプレクサが伝統的な4対1のマルチプレクサとして働くことが可能になることも理解されるべきである。マルチプレクサの所望の機能に応じて、一つのスイッチ制御を備えた経路は、いくつ設けられてもよい。加えて、制御信号の適切な設定によって、図3のマルチプレクサに関して上で説明されたものと同様の様態でマルチプレクサ16がラッチモードで動作することが可能となる。
【0042】
図7は、ダブルデータレート能力が、入力部、出力部、および入力/出力ブロックのトライステート制御部に提供される、この発明の好ましい実施例を例示する。図7は、書き替え可能ゲートアレイ(図示せず)の入力/出力ブロック110を示す。このブロックは、IC装置の外部に接続されるパッド112を含む。1対の入力ラッチ114および116が、パッド112から論理データを受けるように接続される。入力ラッチ114および116は、180度位相がずれた2つの別個のクロック(図示せず)によってクロックされる。FPGA論理からパッドへの出力経路は、トライステートバッファ118によって制御される。トライステートバッファ118のデータ入力は、ダブルデータレートフリップフロップ120の出力から来る。トライステートバッファのための制御信号は、第2のダブルデータレートフリップフロップ122から来る。
【0043】
ダブルデータレートフリップフロップ120および122の各々は、一般に、図1に関連して上で説明されたように動作する。つまり、これらは、これらが含まれているFPGA装置の標準のクロックレートの2倍で、これらの出力ピン上にデータを出力することができる。したがって、FPGA装置のユーザは、装置をプログラムして、論理データの出力に対してダブルデータレートを用い得る。ダブルデータレートフリップフロップはまた、制御信号をトライステートバッファに供給する。これは、出力ポートがダブルデータレートモードで用いられている時にトライステートバッファが適宜、活性または非活性であることを確実にするために、必要である。クロックレートで動作させられるソースからトライステート制御信号が来る場合、データが損失し得るか、または衝突が結果として生じ得る。たとえば、トライステートが装置外部の共通のバス信号線に接続されると仮定する。バス信号線は、ダブルデータレートフリップフロップに接続されるトライステートバッファからそれが受取るダブルデータレートで動作する。他の出力が共通のバス信号線を駆動する時間が存在する。したがって、トライステートバッファは、他の時間ではなく、ある時間だけ活性であるべきである。有効なデータがトライステート入力においてはハーフクロック周期で変化している一方、トライステート制御がフルクロック周期でのみ変化している場合、競合が起こるおそれがあり、さらにはデータが損失するおそれもある。
【0044】
クロックフォワードまたはミラーリング機能でI/Oポート回路を用いることもできる。この動作モードでは、マスタラッチのうちの1つへの1つの入力は、プログラマブルにハイに固定される。残りのマスタラッチへの入力は、プログラマブルにローに固定される。ダブルデータレート動作中、ダブルデータレートフリップフロップは、ダブルデータレートで、ハイとローとの間でトグルする。この信号は、チップ外部に送られ得、FPGAクロックをミラーリングするスキューの小さなクロックである。FPGA上の多数の出力がこの態様でプログラムされて任意の設計に対して多数のクロックソースが生成され得る。
【0045】
最終的に、二重の入力ラッチ114および116は、ダブルデータレート入力信号を装置外部から受けることができる。パッド112から入力ラッチ114および116への入力経路上には、マルチプレクサは設けられない。なぜならば、ユーザの設計によってデータが所望のデータレートでパッドに与えられると仮定されるためである。
【0046】
この発明の上の説明は、限定的ではなく、例示的であることが意図される。この発明の他の実施例は、上の開示を参照することによって、当業者には明らかとなるであろう。
【図面の簡単な説明】
【図1】この発明の1つの実施例のダブルデータレートフリップフロップを示すブロック図である。
【図2】この発明のマスタラッチの1つの実施例の詳細な実現例を示す概略図である。
【図3】この発明のダブルデータレートマルチプレクサの1つの実施例の詳細な実現例を示す概略図である。
【図4】図3で示される回路の動作を示すタイミング図である。
【図5】この発明のダブルデータレートマルチプレクサの1つの実施例の詳細な実現例を示す概略図である。
【図6】図5で示される回路の動作を示すタイミング図である。
【図7】多数のダブルデータレートフリップフロップが集積回路装置の入力/出力ポートに設けられる、この発明の1つの実施例を表わすブロック図である。

Claims (8)

  1. マルチプレクサであって、
    第1のデータ伝送経路および第2のデータ伝送経路と、
    第1のクロック入力部および第2のクロック入力部とを含み、第1のクロック入力部は、第1のクロック信号を受け、第2のクロック入力部は、第1のクロック信号と実質的に180度位相がずれたクロック信号を受け、
    前記第1のデータ伝送経路は、第1のクロック信号によって制御される第1のクロックスイッチを有し、
    前記第2のデータ伝送経路は、第1のクロック信号と実質的に180度位相がずれたクロック信号によって制御される第2のクロックスイッチを有し、前記マルチプレクサはさらに、
    前記第1のデータ伝送経路および第2のデータ伝送経路に接続される共通の出力ノードを含む、マルチプレクサ。
  2. 第1のデータ伝送経路内の第1の選択スイッチと、第2のデータ伝送経路内の第2の選択スイッチとをさらに含み、第1の選択スイッチは、第1のクロック信号の遅延コピーによって制御され、第2の選択スイッチは、第1のクロック信号と実質的に180度位相がずれたクロック信号の遅延コピーによって制御され、これにより前記共通の出力ノードで衝突が存在しないようにされる、請求項1に記載のマルチプレクサ。
  3. 前記共通の出力ノードに接続されて、データ伝送経路のうちの1つを通過したデータ値を記憶するスタティックラッチをさらに含む、請求項1に記載のマルチプレクサ。
  4. ダブルデータレートフリップフロップであって、
    第1のラッチおよび第2のラッチを含み、第1のラッチおよび第2のラッチは、データ入力部およびデータ出力部を有し、前記ダブルデータレートフリップフロップはさらに、
    マルチプレクサを含み、前記マルチプレクサは、
    第1の端部上で前記第1のラッチのデータ出力部に結合され、第2の端部上で共通の出力ノードに結合され、かつ、さらに第1のクロック信号によって制御される第1のデータ伝送経路と、第1の端部上で第2のラッチのデータ出力部に結合され、第2の端部上で共通の出力ノードに結合され、かつ、さらに前記第1のクロック信号と実質的に180度位相がずれたクロック信号によって制御される第2のデータ伝送経路とを含む、ダブルデータレートフリップフロップ。
  5. 前記第1のクロック信号は第1のラッチへの書込を制御し、前記第1のクロック信号と実質的に180度位相がずれたクロック信号は、第2のラッチへの書込を制御する、請求項4に記載のダブルデータレートフリップフロップ。
  6. 前記共通の出力ノードに結合されるラッチをさらに含む、請求項4に記載のダブルデータレートフリップフロップ。
  7. 前記第1のクロック信号と実質的に180度位相がずれたクロック信号は、第1のクロック信号の反転である、請求項4に記載のダブルデータレートフリップフロップ。
  8. 前記第1のクロック信号と実質的に180度位相がずれたクロック信号は、第2のクロック信号である、請求項4に記載のダブルデータレートフリップフロップ。
JP2002557053A 2001-01-12 2001-12-20 ダブルデータレートフリップフロップ Withdrawn JP2004518334A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/759,432 US6525565B2 (en) 2001-01-12 2001-01-12 Double data rate flip-flop
PCT/US2001/049807 WO2002056515A2 (en) 2001-01-12 2001-12-20 Double data rate flip-flop

Publications (1)

Publication Number Publication Date
JP2004518334A true JP2004518334A (ja) 2004-06-17

Family

ID=25055624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002557053A Withdrawn JP2004518334A (ja) 2001-01-12 2001-12-20 ダブルデータレートフリップフロップ

Country Status (5)

Country Link
US (3) US6525565B2 (ja)
EP (1) EP1356616A2 (ja)
JP (1) JP2004518334A (ja)
CA (1) CA2432308A1 (ja)
WO (1) WO2002056515A2 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6825698B2 (en) 2001-08-29 2004-11-30 Altera Corporation Programmable high speed I/O interface
US6525565B2 (en) * 2001-01-12 2003-02-25 Xilinx, Inc. Double data rate flip-flop
US6678811B2 (en) * 2001-04-07 2004-01-13 Hewlett-Packard Development Company, L.P. Memory controller with 1X/MX write capability
US6633965B2 (en) * 2001-04-07 2003-10-14 Eric M. Rentschler Memory controller with 1×/M× read capability
JPWO2003012612A1 (ja) * 2001-07-27 2004-11-25 鈴木 隆 電気電子機器
US7167023B1 (en) 2001-08-29 2007-01-23 Altera Corporation Multiple data rate interface architecture
US6806733B1 (en) * 2001-08-29 2004-10-19 Altera Corporation Multiple data rate interface architecture
US7200769B1 (en) 2001-08-29 2007-04-03 Altera Corporation Self-compensating delay chain for multiple-date-rate interfaces
US6686769B1 (en) * 2001-12-14 2004-02-03 Altera Corporation Programmable I/O element circuit for high speed logic devices
US6611218B1 (en) * 2002-01-09 2003-08-26 Xilinx, Inc. Transmitter with multiphase data combiner for parallel to serial data conversion
US6933782B1 (en) 2002-01-09 2005-08-23 Xilinx, Inc. Degenerative inductor-based gain equalization
EP1404019A1 (en) 2002-09-30 2004-03-31 STMicroelectronics Limited Programmable input/output block
FR2846765B1 (fr) * 2002-11-04 2005-01-14 St Microelectronics Sa Registre tampon de sortie, circuit electronique et procede de delivrance de signaux l'utilisant
US7310728B2 (en) * 2003-11-24 2007-12-18 Itt Manufacturing Enterprises, Inc. Method of implementing a high-speed header bypass function
US7042263B1 (en) * 2003-12-18 2006-05-09 Nvidia Corporation Memory clock slowdown synthesis circuit
US7187220B1 (en) 2003-12-18 2007-03-06 Nvidia Corporation Memory clock slowdown
US7234069B1 (en) 2004-03-12 2007-06-19 Altera Corporation Precise phase shifting using a DLL controlled, multi-stage delay chain
US7778814B2 (en) * 2004-03-30 2010-08-17 Siemens Aktiengesellschaft Method and device for simulating an automation system
JP2005303464A (ja) * 2004-04-07 2005-10-27 Toshiba Corp フリップフロップ
US7126399B1 (en) 2004-05-27 2006-10-24 Altera Corporation Memory interface phase-shift circuitry to support multiple frequency ranges
US7176714B1 (en) 2004-05-27 2007-02-13 Altera Corporation Multiple data rate memory interface architecture
US7675927B2 (en) * 2004-06-17 2010-03-09 International Business Machines Corporation Trace information queueing system
US7123051B1 (en) 2004-06-21 2006-10-17 Altera Corporation Soft core control of dedicated memory interface hardware in a programmable logic device
US7466783B2 (en) * 2004-12-13 2008-12-16 Lexmark International, Inc. Method and system to implement a double data rate (DDR) interface
US7401179B2 (en) * 2005-01-21 2008-07-15 Infineon Technologies Ag Integrated circuit including a memory having low initial latency
US7031222B1 (en) * 2005-01-28 2006-04-18 Altera Corporation DQS postamble filtering
US7489173B1 (en) 2005-02-18 2009-02-10 Xilinx, Inc. Signal adjustment for duty cycle control
US8462858B2 (en) * 2005-02-18 2013-06-11 Texas Instruments Incorporated Wireless communications with transceiver-integrated frequency shift control and power control
US20070013424A1 (en) * 2005-07-18 2007-01-18 Padaparambil Muralikumar A Differential dual-edge triggered multiplexer flip-flop and method
US7292500B2 (en) * 2005-07-29 2007-11-06 Agere Systems Inc. Reducing read data strobe latency in a memory system
US7389457B2 (en) * 2005-10-28 2008-06-17 Sony Corporation Shift registers free of timing race boundary scan registers with two-phase clock control
US8542050B2 (en) * 2005-10-28 2013-09-24 Sony Corporation Minimized line skew generator
US7362134B2 (en) * 2006-03-24 2008-04-22 Freescale Semiconductor, Inc. Circuit and method for latch bypass
JP4811086B2 (ja) * 2006-03-31 2011-11-09 ヤマハ株式会社 半導体記憶装置
US7516385B2 (en) * 2006-04-28 2009-04-07 Sony Corporation Test semiconductor device in full frequency with half frequency tester
US7661010B2 (en) * 2006-05-31 2010-02-09 Mosaid Technologies Incorporated Apparatus and method for interfacing to a memory
US8127049B1 (en) * 2008-03-12 2012-02-28 Matrox Graphics Inc. Input/output pin allocation for data streams of variable widths
US8058900B1 (en) 2008-04-14 2011-11-15 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for clocking
US20120198179A1 (en) 2011-02-02 2012-08-02 Ware Frederick A Area-efficient, width-adjustable signaling interface
US8975933B1 (en) * 2012-07-02 2015-03-10 Marvell Israel (M.I.S.L.) Ltd. Systems and methods for a bypass flip flop with transparency
US9692418B1 (en) 2014-08-20 2017-06-27 Altera Corporation Pipelined interconnect circuitry with double data rate interconnections
US9355696B1 (en) * 2014-11-06 2016-05-31 Xilinx, Inc. Calibration in a control device receiving from a source synchronous interface
US10110232B2 (en) * 2015-06-30 2018-10-23 Taiwan Semiconductor Manufacturing Company, Ltd. Multiplexer and latch system
EP3217548B1 (en) * 2016-03-11 2021-05-05 Socionext Inc. Multiplexers
US10340898B1 (en) 2017-06-23 2019-07-02 Xilinx, Inc. Configurable latch circuit
JP2019057336A (ja) * 2017-09-19 2019-04-11 株式会社東芝 半導体集積回路
US20190317742A1 (en) * 2017-11-03 2019-10-17 Jeffrey Gregg Schoen Java Verilog Cross Compiler
US11240079B1 (en) * 2021-02-24 2022-02-01 Mellanox Technologies Tlv Ltd. Systems, methods, and devices for high-speed data modulation

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01130240A (ja) * 1987-11-16 1989-05-23 Yokogawa Hewlett Packard Ltd データ列発生装置
US4789984A (en) * 1987-10-16 1988-12-06 American Telephone And Telegraph Company, At&T Bell Laboratories High-speed multiplexer circuit
US6104726A (en) * 1997-03-31 2000-08-15 Motorola, Inc. Simultaneous transfer of voice and data information using multi-rate vocoder and bit control protocol
US5844844A (en) * 1997-07-09 1998-12-01 Xilinx, Inc. FPGA memory element programmably triggered on both clock edges
US6020760A (en) * 1997-07-16 2000-02-01 Altera Corporation I/O buffer circuit with pin multiplexing
KR100263484B1 (ko) * 1998-04-25 2000-08-01 김영환 클럭신호 지연 장치
KR100272167B1 (ko) * 1998-07-13 2000-11-15 윤종용 동기식 반도체 메모리 장치의 기준 신호 발생 회로
US6535043B2 (en) * 2000-05-26 2003-03-18 Lattice Semiconductor Corp Clock signal selection system, method of generating a clock signal and programmable clock manager including same
US7061941B1 (en) * 2000-11-28 2006-06-13 Winbond Electronics Corporation America Data input and output circuits for multi-data rate operation
US6525565B2 (en) * 2001-01-12 2003-02-25 Xilinx, Inc. Double data rate flip-flop
KR100382736B1 (ko) * 2001-03-09 2003-05-09 삼성전자주식회사 독출동작과 기입동작시 서로 다른 데이터율을 갖는 반도체메모리장치 및 이를 채용하는 시스템
US6686769B1 (en) * 2001-12-14 2004-02-03 Altera Corporation Programmable I/O element circuit for high speed logic devices

Also Published As

Publication number Publication date
WO2002056515A2 (en) 2002-07-18
US6525565B2 (en) 2003-02-25
US20020175704A1 (en) 2002-11-28
US7317773B2 (en) 2008-01-08
EP1356616A2 (en) 2003-10-29
WO2002056515A3 (en) 2003-08-21
US6777980B2 (en) 2004-08-17
US20040239365A1 (en) 2004-12-02
CA2432308A1 (en) 2002-07-18
US20030112032A1 (en) 2003-06-19

Similar Documents

Publication Publication Date Title
JP2004518334A (ja) ダブルデータレートフリップフロップ
US5500608A (en) Logic cell for field programmable gate array having optional internal feedback and optional cascade
US5646547A (en) Logic cell which can be configured as a latch without static one's problem
EP0340891B1 (en) Programmable logic device with programmable word line connections
US6744289B2 (en) Clock divider circuit with duty cycle correction and minimal additional delay
US6466049B1 (en) Clock enable control circuit for flip flops
US5319254A (en) Logic cell which can be configured as a latch without static one's problem
EP0624950B1 (en) Delay matching circuit
US5331226A (en) Logic cell for field programmable gate array having optional input inverters
US5621338A (en) High speed configuration independent programmable macrocell
JP2001504657A (ja) シフトレジスタとして倍加するルックアップテーブル
JP2005328547A (ja) 制御信号発生器、スキャニング機能を行うラッチ回路、フリップフロップ及び前記フリップフロップの動作の制御方法
WO1996038915A1 (en) Macrocell and clock signal allocation circuit for a programmable logic device (pld) enabling pld resources to provide multiple functions
US7233184B1 (en) Method and apparatus for a configurable latch
KR100612417B1 (ko) 펄스-기반 고속 저전력 게이티드 플롭플롭 회로
US7477071B2 (en) Three input field programmable gate array logic circuit configurable as a three input look up table, a D-latch or a D flip-flop
US5349255A (en) Programmable tco circuit
US6242941B1 (en) Reducing I/O noise when leaving programming mode
US5635856A (en) High speed programmable macrocell with combined path for storage and combinatorial modes
US5341048A (en) Clock invert and select circuit
KR101629231B1 (ko) 데이터 홀드 기능을 갖는 도미노 로직 블록 및 그것을 구비한 도미노 로직
JPH03285419A (ja) 論理信号のための出力制御回路
JP3842571B2 (ja) フリップフロップ回路
US6864727B2 (en) Pulse generator with polarity control
JPH09214454A (ja) マルチプレクサ回路

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050301