JP2000507774A - High-speed programmable logic architecture - Google Patents
High-speed programmable logic architectureInfo
- Publication number
- JP2000507774A JP2000507774A JP09535222A JP53522297A JP2000507774A JP 2000507774 A JP2000507774 A JP 2000507774A JP 09535222 A JP09535222 A JP 09535222A JP 53522297 A JP53522297 A JP 53522297A JP 2000507774 A JP2000507774 A JP 2000507774A
- Authority
- JP
- Japan
- Prior art keywords
- input
- logic
- circuit
- output
- line
- 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.)
- Granted
Links
- 230000006870 function Effects 0.000 claims description 33
- 239000004020 conductor Substances 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 16
- 238000003491 array Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Logic Circuits (AREA)
Abstract
(57)【要約】 現在のプログラマブルロジックデバイスより実質的に速いクロックレートで動作し得るプログラマブルロジックデバイスのためのアーキテクチャーについて記載される。プログラマブルロジック要素(20)と入力(12)および出力(15)データバスとを相互接続するためにパッシブ回路要素を用いる代わりに、制御可能なアクティブドライバ回路(52,53)が用いられる。これらの回路により、従来のパッシブ接続部に存在する実質的にすべての抵抗が取り除かれる。 SUMMARY An architecture for a programmable logic device that can operate at a clock rate substantially faster than current programmable logic devices is described. Instead of using passive circuit elements to interconnect the programmable logic elements (20) and the input (12) and output (15) data buses, controllable active driver circuits (52, 53) are used. These circuits eliminate substantially all the resistance present in conventional passive connections.
Description
【発明の詳細な説明】 高速プログラマブルロジックアーキテクチャ 発明の背景 本発明は、プログラマブルロジックに関し、特に、アクティブドライバ回路を 相互接続アレイにおいて使用する、高速プログラマブルロジックアーキテクチャ に関する。 プログラマブルロジックデバイス(PLD)とは、回路の使用者がソフトウェ ア制御を使用して、回路が実施するロジック機能をカスタマイズすることが可能 な、プログラマブル集積回路である。以前は小、中、および大規模集積回路によ って実施されていたロジック機能は、現在では、プログラマブルロジックデバイ スによって実施されることが可能である。PLDは、現在、集積回路ごとにおよ そ50,000ゲートのオーダーの能力を有する。典型的なプログラマブルロジックデ バイスが集積回路製造業者によって供給されるときには、それはまだいかなる具 体的な機能も実施することができない。しかし、使用者は、同様に典型的にはプ ログラマブルロジックデバイス製造業者によって供給されるソフトウェアと組み 合わせて、PLDをプログラムして、具体的な機能または使用者の用途に必要な 機能を実施することが可能である。次いで、PLDは、あたかも専用のロジック チップが使用されたかのように、使用者によって設計された大きなシステムで機 能することが可能である。この機能性によって、使用者は、カスタムチップまた はゲートアレイの時間または費用に委ねることなく、システムロジックをデバッ グすることが可能である。この機能性によってまた、小規模な本番運転用および ハードウェアのカスタマイズを非常に具体的な用途に合わせることが可能である 。幾つかのPLDでは、ロジックは「進行中に(on-the-fly)」変更されること が可能であり、それによりPLDは、システムの動作中、ある時に1つの機能を 実施し、その後に別の機能を実施することが可能になる。 典型的なPLDは、同一のロジックセルのアレイから成る。このロジックセル は、個別にプログラムされることが可能であり、且つ任意に互いに相互接続され て内部入力および出力信号を与えることが可能であり、それにより非常に複雑な 組み合わせの連続的なロジック機能の実施を可能にする。プログラムは、メモリ セルなどのプログラム可能素子の状態を設定することによって、PLDにおいて 実施される。 プログラマブルロジックアレイ(PLA)として公知のプログラマブルロジッ クの1つのタイプは、積和ロジックを実施するようにプログラムすることが可能 な組合わせの二レベルAND/OR集積回路である。そのようなデバイスは、典 型的には、プログラム可能にチップ入力信号に接続することが可能な入力端子を 有するANDゲートの連続と、ANDゲートから出力信号を受信するためにプロ グラム可能に接続され得るORゲートの連続とから成る。 プログラマブルロジックデバイスの別のタイプは、プログラマブルアレイロジ ック(PAL)として公知である。PALは、固定したORアレイと双方向性の 入力/出力ピンとを使用する。PALおよびPLAの両方の欠点は、それらがプ ログラムされ得る密度の欠如である。言い換えれば、アレイは多くのロジック機 能を実施することが可能であるが、アレイの利用は望むほどには完全ではないと いうことである。さらに、アレイの寸法は、そのプログラミング能力よりも速く 増大する。 この課題に対する返答は、プログラマブルロジックデバイス内の「マクロセル 」またはロジックブロックであった。マクロセルまたはロジックブロックは、多 くの異なる機能を実施することが可能であり、且つ他のマクロセルまたはロジッ クブロックに選択的に相互接続可能なロジックの小区分である。これにより、プ ログラマブルロジックデバイス内のロジックは、ロジックの細片が他の細片と連 絡する、より一層の粒状構造を想定することが可能になり、また、集積回路の全 体的により効率的な利用を提供することが可能になる。ここでは、「プログラマ ブルロジックデバイス」という語句を用いて、プログラマブルアレイロジック、 プログラマブルロジックアレイ、フィールドプログラマブルゲートアレイ、およ びその他のタイプのプログラマブルロジックデバイスを集合的に呼ぶ。 現時点で利用可能な全てのプログラマブルロジックデバイスの顕著な欠点は、 比較的速度が遅いことである。上記のプログラマブルロジックデバイスの全てに おいて、ANDならびにORアレイ内部の接続、およびマクロセルへのまたはマ クロセルからの接続は、消去可能なプログラマブルリードオンリメモリセル、電 気的に消去可能なリードオンリメモリセル、スタティックランダムアクセスメモ リセル、ヒューズ、またはアンチヒューズ他を用いて行われる。これらの場合の それぞれにおいて、相互接続アプローチは受動的である。すなわち、メモリセル または可溶性の接続の状態は、それ自体が、2つのノード間の接続を行うまたは 壊す他の任意の装置を制御するために使用される。 これらの接続の全ては、接続に提供された信号は単に接続を通過する(または 接続が開いている場合には通過しない)という意味で、受動的である。その結果 、プログラマブルロジックデバイスの全体的な速度は、下記に論じられる理由に より制限される。現時点で利用可能な最も速い従来技術の大規模なフィールドプ ログラマブルゲートアレイでさえ、50mhzまたはそれより遅く動作する。幾 つかの小さなトランジスタートランジスタロジック(TTL)デバイスは、10 0メガヘルツより高速で動作することが可能である。現時点では、誰も大規模高 速アレイを製造していない。 従来技術のプログラマブルロジックデバイスの動作速度が比較的遅いことの主 要な理由の1つは、相互接続システムに存在する抵抗である。相互接続システム は、プログラマブル「配線」であり、この配線によって、ロジック信号は集積回 路チップを横切って伝搬される。この伝搬速度は、使用されるトランスファゲー トがEPROMセル、SRAMセル、アンチヒューズ他として形成されていよう と、トランスファゲートの直列抵抗によって制限される。その結果、従来技術の プログラマブルロジックデバイスの製造業者は、トランスファゲートに関する技 術的な選択において、抵抗と容量との間の選択を余儀なくされてきた。 上記のように、典型的な従来技術のプログラマブルロジックデバイスでは、ロ ジックは、互いに連絡しているロジックブロックにおいて実施される。そのよう なロジックブロックは、トランスファゲートと結合される場合には、接続ごとに ほぼ1,000オームのオーダープラスドライバ回路の抵抗の有効な駆動抵抗を有す る。例えばActel Corporationによって実施されているようなアンチヒューズ技 術では、効果的な駆動抵抗は、接続ごとにほぼ50〜500オームのオーダーの抵抗 プラスドライバ回路の抵抗である。後述するように、本発明のシステムの技術は 、有効な駆動抵抗とは、単に、ドライバ回路の抵抗である。 発明の要旨 従来のプログラマブルロジックデバイスより実質的に高い速度で動作を行い得 るプログラマブルロジックデバイスのためのアーキテクチャーを開発した。本発 明のシステムの好適な実施形態では、該システムのプログラマブルロジック技法 および現在利用可能なシリコン半導体技術を用いて、500mHzまでの速度が 実現可能である。 本発明の1つの具現例では、ロジック機能が行われるロジックセルを含むプロ グラマブルロジック回路のためのルーティング構造が提供される。ルーティング 構造は、ロジックセルによって処理される信号を供給する、ほぼ第1の方向に延 びる入力ラインセットと、ロジックセルによって処理された信号を受け取る、ほ ぼ第2の方向に延びる出力ラインセットとを含む。入力ラインおよび出力ライン が交差する場所には、出力ラインセットのうちの選択されたラインと入力ライン セットのうちの選択されたラインとの間をプログラム可能に接続するか、または 接続しないことにより、出力ラインに存在する信号を入力ラインのうちの所望の ラインに配置させることができる、制御可能なアクティブドライバ回路を含む接 合領域が確立される。制御可能なドライバ回路のそれぞれは、少なくとも、ドラ イバ回路がこれに供給される信号を複製するアクティブ状態かまたは、入力と出 力との間に高インピーダンスを提供するパッシブ状態にされ得るバッファ回路で ある。典型的には、制御可能なドライバ回路は、セット内の各出力ラインを入力 ラインセット内のいかなる所望のラインにも接続することができる。 別の実施形態では、本発明のシステムは、上述の構造と同様の構造を含むが、 さらに、入力ラインおよび出力ラインのうちの所望のラインをロジックセルに選 択的に相互接続する制御可能なドライバ回路セットを提供する。これにより、入 力ラインに存在する入力信号を、ロジックセルの適切なノードに供給することが でき、またロジックセルからの出力信号を他の所望のロジックセルまたは他の回 路に供給することができる。 本発明のシステムに関連して、制御可能なドライバ回路はまた、集積回路のピ ンと入力および出力ラインセットとの間のインタフェース回路で用いられ得る。 制御可能なドライバ回路により、集積回路のピンと入力および出力バスとの間の 所望の接続が可能となり、これにより、チップのピンに存在する所望の信号を適 切なロジックセルに供給し、同様にこれらロジックセルからの出力を適切なピン に印加することが可能となる。 本明細書で述べられる制御可能なドライバ回路などのアクティブ回路を使用す ることにより、本発明のシステムのプログラマブルロジックデバイスは、従来の 装置より実質的に速く動作することが可能になる。従来技術の1993 semiconduct or technologyを用いると、プログラマブルロジックデバイスが動作し得るクロ ック速度の上限は、50mHzである。本発明の技法を用いて製造されるプログ ラマブルロジックデバイスは、500mHzまでの速度で動作し得る。 図面の簡単な説明 図1は、本発明のプログラマブルロジックデバイスアーキテクチャを使用する 集積回路の全体的なレイアウトのブロック図である。 図2は、入力信号を本発明のロジックセルに供給し、且つ出力信号をこのロジ ックセルから受信する方法を示す模式図である。 図3は、入力/出力バスと集積回路入力/出力ピンとを相互接続する回路の一 実施形態を示す模式図である。 図4は、入力/出力バスと集積回路入力/出力ピンとを相互接続する回路の別 の実施形態を示す模式図である。 図5は、ドライバ回路がどのようにして、ロジックセルと入力または出力バス との間の相互接続の数を減少させる技術と共に、入力または出力バスにおいて使 用され得るかを示す。 図6は、接続の数を減少させる別の技術を示す。 図7は、入力バスと出力バスとの間の相互接続を、例えばそれらが交差する位 置で提供するために使用され得る回路の模式図である。 図8aは、2つの一方向性バスラインを示す。 図8bは、どちらの方向にでも一方向性にすることが可能なバスラインを示す 。 図8cは、制御可能なドライバ回路を使用して分割されたバスラインを示す。 図9は、1つのロジックセルの回路の模式図である。 図10は、図1で使用されたロジックブロックの好適な実施形態の詳細な回路 模式図である。そして、 図11は、図1においてブロック形式で示された、全体的なプログラマブルロ ジックデバイスの小部分のブロック図である。 具体的な実施形態の説明 図1は、本発明の好適な実施形態に従って製造された、高速プログラマブルロ ジックデバイスの全体的なレイアウトを示すブロック図である。図1に示すよう に、本デバイスは、ほぼ東西方向に配置されたルーティングチャネル12の第1 のセットと、ほぼ南北方向に配置されたルーティングチャネル15の第2のセッ トと、ルーティングチャネルのマトリクス内部に配置された一連のロジックセル 20とを含む。 プログラマブルロジックデバイスの動作の従来の方法では、ルーティングチャ ネルは、入力信号をロジックセルに供給し且つそこから出力信号を受信する、導 体のバスを含む。しばしば、ロジックセルからの出力信号は、別のロジックセル への入力信号として使用される。 周知のように、それぞれのロジックセルは、ロジックセルに供給される入力信 号に対して、組合わせたまたは連続的な、あるいはその両方である、任意の所望 の動作を実施する。ロジックセルによって実施される特定のロジック機能は、典 型的には外部回路を使用してセルに「ロード」されるそのプログラム状態に依存 する。この状態は、外部装置からの制御ビットを使用して規定され、マルチプレ クサ、フリップフロップ、ゲート等を設定する。 図1の一般的なブロック図では、ロジックセル20は、バス12から入力信号 を受信し、且つバス15に出力信号を供給する。入力信号は、バスから伝達され て導体23によってロジックセルに供給される。また、得られた出力信号は、導 体27を使用して出力バス15に供給される。後述のように、これらの導体は、 ロジックセルの入力ノードが入力データバス12において選択されたラインに接 続されている、または切断されているという意味において、それ自体がプログラ ム可能であり得る。言うまでもなく、上述のように、入力データバス自体が、他 のロジックセルからの出力情報を信号として搬送し得る。 入力データバスと出力データバスとの間の接続は、これらのバスが互いに交差 する位置30において成され得る。バスは、図1の図面において互いに交差する ように描写されているが、実際の実行では、それらは異なる金属層または他の導 電性材料を使用して集積回路上に形成され、そしてそれらの間に電気的な接続が 「プログラム」されない限り、互いに電気的に絶縁される。導体が交差領域30 において互いに結合され得る方法は、さらに下記に説明される。 本発明の構造の利点は、本発明がモジュール式であるということである。破線 40の内部に示すように、本発明の好適な実施形態では、本質的に集積回路領域 の全てが、バス12および15、ロジックセル20、ならびにバス23および2 7の相互接続からなり、ロジックセルに信号を提供し、且つロジックセルから信 号を受信する規則的なモジュール40によって使い尽くされる。このモジュール 式構造は、集積回路の効率的なレイアウトを容易にする。 図に示すように、このようにして、ロジックセルのそれぞれの出力は、チップ のレイアウトの垂直方向の全長に亘って延びる。出力バスは、ロジックセルの片 側にのみ沿って延び、そしてチップの縁で止まる。しかし、入力バスは、集積回 路の周囲を「包み込む」。例えば、バス12aと12bとは、回路の東端または 西端で接続される。この方法では、入力バスは、回路全体の表面全域に亘って蛇 行して(曲がりくねって)延びる。このようにして、バス12aがチップの東側 の縁または西側の縁のいずれかにおいてバス12bに接続され、次いで、バス1 2bが反対側等の縁においてバス12cに結合される。 入力および出力バスは、好適には一方向性である。例えば、エミッタ結合論理 (ECL)の実施では、または相補型MOS(CMOS)の実施では、バスは、 最も短いセグメントでは一方向性であるが、セグメントを後述のように互いに絶 縁することによって、共通バスの異なるセグメントでは双方向性にされることが 可能である。バスの長さ、入力/出力信号の強度、およびその他の要素に依存し て、バス内部に「リピータ」を使用することが望ましくあり得る。これらのリピ ータは、回路の容量を絶縁するための小さな増幅器から成り、それにより信号伝 搬の遅延を減少させ、全体的なシステムの速度を向上させる。 図2は、ロジックセル20とその入力バス23との間、およびロジックセル2 0とその出力バス27との間の相互接続システムのより詳細な図である。任意の 所望の数の入力および出力が、ロジックセルに提供され、且つロジックセルから 提供されることが理解されるべきである。図2の図面は、これらの相互接続の形 成および接続のプログラマブル制御への一般的なアプローチを示す。 図2に示すように、入力バス12は、制御可能なドライバ回路52および58 を使用して、ロジックセルの入力ノード41に選択的に接続され得る一連の導体 を有する。図面は、バス12のそれぞれの導電線が入力ノード41に別個に接続 可能であるように示しているが、これは、例示のみを目的とするものである。本 発明の回路の実際の実施では、下記のロジックセルの製造についての議論と関連 して明らかになるように、それぞれの入力ノードは、バス上の全てのラインに接 続される必要はない。 いずれにしても、図面では、バス12のそれぞれのバスラインは、ドライバ回 路を介して別個に接続される。ドライバ回路は、ライン54上のそれに供給され る入力信号の制御を受けて動作する、プログラム可能な三状態バッファとして機 能する。ライン54は、レジスタまたはその他の手段に結合される。レジスタま たはその他の手段の内部には、プログラマブルロジックデバイス全体を制御する プログラムが記憶される。このレジスタ、メモリ、ヒューズまたはその他の手段 内の別個のビットは、図2の図面のプログラマブル接続の対応する1つを制御す るために使用される。他のビットは、プログラマブルロジックデバイスの他の場 所の他のプログラマブル接続を制御するために使用される。このようにして、制 御メモリは、典型的には、制御されるプログラマブル接続と同じ数の、メモリに 記憶されるビットを有する。言うまでもなく、2つの構成は互いに排他的であり 且つ1つが、あるいは1つだけが、常に提供される場合には、単一のビットの相 補的な状態が2つの構成を制御することが可能である。メモリビットの制御下で は、回路52aは、アクティブまたは高インピーダンス状態のいずれかである。 入力54aが使用可能である場合には、回路52aは、その入力ノード57aに 結合された信号を繰り返す。言い換えれば、ロジカル1がバス12の導体12a 上に存在するならば、ドライバ52aの入力ノード57aは、ロジカル1である 。制御ライン54aが使用可能であると仮定すると、ドライバ52aからの出力 もまたロジカル1である。言うまでもなく、同一の条件が、ロジカル0が導体1 2a上に存在する場合に当てはまる。ドライバ52のそれぞれが、同じ方法で機 能する。 これに対して、制御ライン54が使用可能でない場合には、ドライバ回路は、 高インピーダンス状態を提供し、且つ開路として機能的に作用する。言い換えれ ば、ノード55は、バス12から完全に切断される。これにより、入力ノード4 1は、その入力ノードがバス12から信号を受信するものでない場合には、バス 12から切断されることが可能になる。 本発明の幾つかの実施形態では、別のドライバ回路58がノード55とノード 41との間に設けられる。この追加の回路を、入力ノード41への容量性の負荷 を減少させるのを補助するために使用することが可能である。図2には示してい ないが、ロジックセル20への他の入力ノードのそれぞれは、同様に入力信号バ ス12に結合される。 出力信号バス15は、同様の技術を使用して、ロジックセル20に結合される 。図に示すように、ロジックセルは、任意のドライバ回路59に供給される出力 ノード48を設ける。回路59は、回路58と同じ理由から、すなわちロジック セルへの容量性の負荷および回路要件を減少させるために設けられる。大容量を 駆動するのに十分な出力駆動電力を有するロジックセルに関しては、ドライバ回 路59は不要である。 回路59からの出力は、それぞれが対応するライン51に供給される情報を使 用してプログラム制御下で動作する、ドライバ回路53の入力に結合される。ラ イン51は、単一のシフトレジスタ素子、メモリセル、またはその他の記憶部に 接続され得る。制御可能なドライバ回路53は、回路52と同じ方法で機能する 。すなわち、ドライバ回路53は、それらの入力ノードにおいて提供された信号 を有する対応する出力バスラインを駆動するか、または高インピーダンス条件を 出 力バスに提供するかのいずれかである。高インピーダンス状態では、ロジックセ ルによって供給される信号が特定のバス導体の状態に影響を及ぼすことは防がれ る。このように、全体的な出力接続27(図1に示す)は、入力接続23(図1 に示す)の逆である。 本発明の別の実施形態では、回路52、53、58、および59は、マルチプ レクサに置き換えることが可能である。この場合、制御ライン51および54は 、制御信号を供給してマルチプレクサ入力ラインの中から選択して、適切な1つ をロジックセルに接続する。 図3は、本プログラマブルロジックデバイスの好適な実施形態のルーティング 構造をさらに詳細に示す。図3に示されているのは、集積回路の入力/出力ピン において提供された信号が、プログラマブルロジックデバイスの相互接続する入 力バスおよび出力バスに供給され、また、そこから受信される方法である。図3 に示すように、2つの例I/Oピン60および61は、同様に回路62を介して 、入力/出力バス12または15に接続される。図面では、バスは南北方向に延 びて示されているが、描写された回路は、バスが入力バス12であろうと出力バ ス15であろうと、同じ機能を実施することが可能であることが理解されるべき である。さらに、それぞれの入力/出力パッド60を、単に図3に示された構造 を繰り返すことによって、入力バスおよび出力バスの両方に結合することが可能 である。このように、入力接続60を、ドライバ回路62a、62b、・・・を介 してライン12の任意の1つに接続することが可能である。これにより、パッド 60において提供される入力信号を、集積回路のロジックセルの任意の1つに供 給するバス12に配置することが可能になる。同様に、出力ドライバ回路64a 、64b、等により、バス上で提供される信号をバスから出力パッドへ伝達する ことが可能になる。上述のように、描写された構造は出力バスのみを示すが、図 3の全構造を繰り返して入力バスへの接続を実現することが可能である。言うま でもなく、所望の数の多くの入力および出力ピンが使用され得る。 図4は、入力/出力パッドとバスとの間の相互接続への別のアプローチを示す 図である。図4に示すように、入力バス12aおよび12bは、入力/出力パッ ド60および61を通過して蛇行しで延びる。対照的に、出力バス15aおよび 15bは、I/Oパッド60および61を垂直方向に通過する。I/Oパッド6 0を、プログラマブルドライバ65aを使用して、出力バス15aに選択的に接 続することが可能である。また、I/Oパッド60および61を、ドライバ65 bを介してバス12aに、そしてドライバ65cを介してバス12bに選択的に 接続することも可能である。同様の方法で、入力/出力パッド61を、ドライバ 67aを用いて出力バス15bを駆動するように接続されることが可能であり、 且つドライバ67bおよび67cをそれぞれ使用して、バスライン12aまたは バスライン12bのいずれかから信号を受信するように接続されることが可能で ある。この構成では、入力はセル出力のように作用し、異なって見られるバス1 5の一部になり、そしてチップへの入力パッドをチップの外部ソースからの出力 と見なすことが可能である。 図5は、本発明のシステムの入力および出力バスの別の局面を示す。図5に示 すように、バス12、例えば入力バスは、同図の上部を横断して延びる。入力バ ス12は、図2に示すのと同じ技法を用いてロジックセル20に結合される。し かし、簡単のために、入力バス12とロジックセル20との間のロ−カルバス2 3内のドライバ回路は図示されていない。これらは上述の方法で配備される。 また、例示として、ロジックセル20への入力端子41は、入力バス12のす べてのラインに接続可能ではないように示されている。各入力ラインと各ロジッ クセルの各入力ノードとの間にそれぞれ接続部を配備することが望ましいが、実 際にはこれは不必要である。単にバスとロジックセルとの間の接続部セットおよ びサブセットを配備することによって、もっと効率的な設計が可能であり得る。 例えば、ロジックセル20aは、バスライン12aおよび12cに接続可能な入 力ノード41a、ならびにバスライン12bおよび12nに接続可能な入力ノー ド41bを有するように示されている。これに対して、ロジックセル20bは、 バスライン12aおよび12bに接続可能な入力ノード41cを有し、ノード4 1dは、バスライン12cおよび12nに接続可能である。従って、ライン12 aおよび12bのデータのみをロジックセル20への入力信号として用いてロジ ック機能が実行される場合は、この機能のためにはロジックセル20aが用いら れ得る(そしてこのタスクのためにソフトウェアによって選択され得る)。ロジ ックセル20aを用いることによって、セルの入力41aはライン12aの入力 信号を受け取ることができ、一方、入力41bはライン12bの入力信号を受け 取ることができる。 図5に示す本発明のシステムの別の特徴は、バスライン自体に制御可能なドラ イバ回路を使用することである。バスラインが妨害されることなくチップ全体の 表面を横切って曲がりくねって延びることが可能な場合は、セルの出力ドライバ には非常に高い容量負荷がかかる。この高い容量により、入力信号を駆動するド ライバが余分の電力を消費し、ドライバの動作が望ましくないほどに遅くなる結 果となる。この問題を解決するために、バスラインに沿って選択された間隔でド ライバ回路70が配備される。入力バス12に関連して図示しているが、同じ技 法は出力バス15においても用いられる。 図5では、これらのドライバ回路は、バスに沿って2つのロジックセル毎に配 置されているように示されている。特定の設計においての実際のドライバ回路の 数は、スペース、速度、および柔軟性の間のトレードオフによって決定される。 図5に示す実施形態では、いくつかのドライバ回路70はプログラム可能にさ れ、他の回路71はプログラム可能ではない。回路71は常時オン状態で配備さ れる。つまり、入力ノードに供給される信号がどのようなものであってもその信 号が出力ノードで再生される。 しかし、回路70はプログラマブルに制御可能にされ、制御可能なドライバ回 路と同じ回路を用いることができる。回路70のそれぞれは、上述の回路、例え ば図2のドライバ回路52および53に類似する。回路を高インピーダンス状態 にすることができるため、入力バス(または出力バス)をもっと小さな「部分」 に分割することが可能である。例えば、バスライン12aの機能が、単に入力信 号をロジックセル20aのノード41aに提供することである場合は、ドライバ 回路70dはオフにされ得る。これにより、バスライン12aを駆動するいかな る駆動回路であってもその駆動回路が、ドライバ回路70dを超えたバスライン の余分の容量を駆動する必要がなくなる。さらに、バスライン12aのドライバ 回路70dを超えた部分を他の目的、例えば2つのロジックセル間の「ローカル 」接続部として機能するように利用することが可能となる。 図6は、本発明のシステムのルーティング構造のさらに改良された例を示す。 図6に示すように、ロジックセル20からのいくつかの出力ノード41aは、出 力バスライン15aへの専用の接続部を提供し得る。同時に、ロジックセルから の他の接続部、例えば、出力41bは、制御可能なドライバ回路53を用いて出 力バスライン15bへの制御可能またはプログラマブル接続部を提供し得る。こ れにより不必要なドライバ回路がなくなり、設計を提供されるロジック機能クラ スに適合するように最適化することができる。本発明のシステムの典型的な具現 例では、いくつかの接続部は、ノード41aに示すように、ドライバ回路を設け ずに取り付けられ、一方、他の接続部は、ノード41bにおいて示すように、プ ログラマブル接続部を用い得る。 図7は、図1に示すバス相互接続領域30をもっと詳しく示したものである。 同図は、3本の出力バスライン15a、15b、および15n、ならびに5本の 入力バスライン12a、12b、12c、12d、および12nを示す。上述の ようなプログラマブルドライバ回路により、いかなる出力バスをいかなる入力バ スに接続することも可能である。例えば、バスライン15bの出力情報を入力バ ス12dに供給することが所望されると仮定する。これを実現するためには、回 路80bがオンにプログラムされ、これによりノード85でバス15bの状態が 複製される。さらに、回路83dがオンにプログラムされ、これによりノード8 5の状態が入力バス12dに渡される。他のすべてのプログラマブルドライバ回 路83は、それぞれの高インピーダンス状態でオフにプログラムされ、ノード8 5の情報が他のバスラインのいずれにも送られないようにされる。 また、例示として、出力バスライン15aが入力バスライン12a、12b、 ...、12nのいずれにも結合されないと仮定する。これを実現するためには、 回路80aがすべての回路82と共にオフにプログラムされ得る。これにより、 出力バス15aが入力バス12から隔離され得る。このようにして、所望の出力 バスが所望の入力バスに結合され得る。 図8a、8b、および8cは、本発明のシステムのルーティング構造の改良例 を示す。本発明のシステムの上記の好適な実施形態では、バスは一方向である。 このため、他の変更がなければ、例え最大限の柔軟性を有する場合でも、システ ムは各方向のバスを備える必要がある。例えば、入力バス12は東向きの信号伝 播を可能にするドライバ回路を備えたいくつかのライン、そして西向きの信号伝 播を可能にするドライバ回路を備えたいくつかのラインを有することが必要であ る。図8aは、信号を右側に伝播させるバスライン12aと信号を左側に伝播さ せるバスライン12bとを有する1つの例を示す。 図8bは、制御可能なドライバ回路を使用してバスライン12aをもっと小さ な領域にセグメント化し、これにより1つのラインの各部分を各方向に使用する ことが可能な、上記の技法の改変例を示す。図8bに示すように、いくつかの出 力バス15a、15b、15c、および15dは接合位置31,32、33、お よび34で入力バス12aと交差する。これらの接合位置のそれぞれは、出力バ スライン15と入力バスライン12との間の可能な相互接続を提供するために図 7に示す接続構造を用い得る。しかし、図8aの構造とは異なり、各接合部間に 一対の制御可能なドライバ回路が配備される。例えば、接合部31および32間 にはドライバ92および93が配備される。ドライバ回路のうちの一方をオンそ して他方をオフにプログラムすることによって、信号はノード31および32間 でいずれかの方向に伝播され得る。 図8cは1つの例を提供する。図8cでは、ライン15aの信号は入力バス1 2a上を左側および右側の両方向に伝送されると仮定する。これを実現するため には、回路91および92がオンにプログラムされ、回路90および93はオフ にプログラムされる。これにより、ライン15aの信号をノード35および32 に供給することが可能になる。例示として、回路88はオフにプログラムされて おり、これにより同じ双方向能力が、入力ラインと同様に出力ラインに提供され 得る。 ドライバ回路94、95、96、および97はすべてオフにプログラムされて おり、これによりノード32をノード34から隔離する。当然ながら、ノードは 、一対94および95または96および97のみをオフにプログラムすることに よっても隔離され得る。出力バス15dの信号を入力ライン12a上で右側に供 給することを可能にするためには、回路98はオンにプログラムされ、回路99 はオフにプログラムされる。 図9は、本発明のシステムで用いられるロジックセルの好適な実施形態の概略 図である。図1に関連して上述したように、ロジックセルは、入力バスからの入 力信号に論理演算を行い、得られる出力信号を他のセルによって使用されるよう に、または集積回路によって他の電子装置に供給されるように、出力バス上に置 くために使用される。 図9に示すように、この好適な実施形態では、ロジックセル20は18個まで の入力信号100、101、...、117を受け取り、これに応答して3個の出 力信号140、141、および142を提供し得る。排他的ORゲート119、 ANDゲート120、121、および122、ならびにORゲート128によっ て、組み合わせロジックが実行され得る。D型フリップフロップ133は、マル チプレクサ132の状態に依存して、入力信号または組み合わせロジックからの 出力信号に連続ロジックを実行する能力を提供する。 図9では、各入力信号は、同図の右下部に示すように、排他的ORゲートを用 いて形成される極性制御(PC)回路を通して供給される。内部に「PC」と記 した長方形の記号がこの極性制御接続を表しており、図面を簡略化するために用 いられている。 図示した特定のロジックセルにより、グローバルまたはローカルのクロック選 択が可能となり、これにより、ロジックセルのクロックレートを集積回路全体の クロックレートとは異なるようにすることができる。プログラマブル相互接続に より、未使用の回路は電力を消費せず、しかもすべての入力に極性制御が提供さ れる。 図示した特定のロジックセルは、桁繰り上げ付きの完全加算器、2ビット比較 器、または4入力マルチプレクサなどを実現し、またその機能を果たすように最 適化される。さらに、ロジックは、予めロード可能な左右シフトレジスタの単一 段として、または4ビットの予めロード可能な同期アップ/ダウンカウンタの1 つの段として容易に働き得る。 図10は、本発明のプログラマブルロジックアーキテクチャーで用いられるロ ジックブロックの好適な実施形態の詳細回路図である。ロジックブロックは、概 略的には、図1にブロック図の形態で示されるロジックブロック20の好適な実 施形態に対応する。概して、ロジックブロックは、プログラミングに依存して、 潜在的に、同図の左端に沿った端子で18個までの入力信号を受け取るように結 合される。これに応答して、ロジックブロックは、同図の右端に沿った端子14 3、144、および145から3個までの出力信号を供給する。説明のために、 ロジックブロックは、図10を横断して延びる鎖線によって示されるように4つ のセクションに分割されると考えられ得る。上部の2つのセクション146およ び147は、高レベルの機能を提供する。これについては後述する。第3のセク ション148は多重化機能を提供し、下部セクション149は演算および比較機 能を提供する。下部セクションの加算器は上部セクションに桁繰り上げを与える かまたは、3つのビットを比較してすべてが同じかどうかを検出可能にし得る。 上部セクション146では、ロジックゲート151、152、153、および 156はノードAにAND−ORロジックを提供する。マルチプレクサ170、 171、および172によってセクション147内のゲートのいくつかからのフ ィードバックが可能となる。これにより、セクション147に向かう入力信号の いくつかをセクション146にも供給することが可能となる。マルチプレクサ1 55はフィードバックマルチプレクサを提供し、ゲート156との組み合わせに よりラッチ機能を提供することができる。フリップフロップ157からのフィー ドバック経路は、カウンタまたはシフタのためのロード機能を提供する。フリッ プフロップ自体は、ロジックブロックから外部の回路へのデータの流れを制御す るための経路を提供する。フリップフロップがD型フリップフロップとして構成 されると、これはシフトを提供する。T型フリップフロップとして構成されると 、計数能力を提供する。 ロジックブロックの第2のセクション147は、上部セクションの機能を複製 し、マルチプレクサ158およびANDゲート159を介してノードCによって 上部セクションに連結される。ロジックブロックの上部の2つのセクションをプ ログラム可能に結合することによって、ロジックブロック全体は2ビットカウン タを提供し得る。このカウンタは、他のロジックブロックによって提供される他 のカウントと鎖状に結合されて、長いカウンタを形成することができる。ノード Cでの接続により上部ユニットがデータを下部ユニットにシフトさせることがで きる。 主にマルチプレクサ160よりなるロジックブロックの第3のセクション14 8は、入力信号サブセットに直線多重化機能(straight multiplexing function) を与えるようにプログラミングされ得る。 ロジックブロックの下部セクション149では、ゲート161、162、16 3、164、165、166、および167により、ノードGで桁繰り上げビッ トを有する完全加算器が提供される。合計はノードHに現れる。ゲート161お よび162により多重化が可能となり、ゲート163、168、および167に より3ビット量の比較が可能となる。 図10を通して、PCと記された小長方形記号は、図9の挿入図に示されるゲ ート構造を用いて、信号に極性制御を提供する。また、図示するように、ロジッ クブロック内の各マルチプレクサは、1つまたは2つの制御ビットによって制御 されるように接続される。これらはロジカル1またはロジカル0のいずれかであ り得、これにより1つまたは2つのビット制御信号がマルチプレクサに提供され 、マルチプレクサへの2つの入力ラインうちの1つ、または4つの入力ラインの うちの1つの選択が可能となる。選択されたラインがマルチプレクサの出力端子 に結合される。 図10に示すロジックブロックにより、ロジック機能セットを比較的容易に構 成することができる。他のプログラマブルロジックデバイスアーキテクチャーに よって行われる方法とは異なり、このアーキテクチャーは、全体的な完全な柔軟 性および機能性を提供するのではなく、様々な機能を提供するように最適化され る。比較的大きなロジックブロックを提供することによって、必要な接続は少な くなり、また全体の動作速度は速くなる。他のアーキテクチャーでは、多数の小 さなロジックブロックが配備され、この結果ブロック間に多くの相互接続が必要 となり、全体のシステム速度が低くなる。 図11は、図1にブロック形態で示した全体的なプログラム可能ロジックデバ イスチップの小部分を示すブロック図である。図11の左縁に沿って、「垂直チ ャネル」と呼ばれる一連のラインが示されている。これらのラインは、これまで の図面で示された入力ルーティングチャネルまたはバス12である。マルチプレ クサ200および201は、入力バスに結合され、ルーティングチャネル12か らロジックブロックの入力への接続を可能にする回路、ならびに、上述の入力極 性制御機能を生成するために使用される回路を含む。ロジックブロックはマルチ プレクサ200および201の右側に示される。 ANDゲート202、203、および204、ORゲート205、ならびにマ ルチプレクサ206よりなる、概略図の次の3つの部分は、ロジックブロック図 である図10の上部に示されるAND−OR−マルチプレクサチェーンを表す。 フリップフロップ207は、バス15の1つのラインを駆動するための出力を生 成するのに必要のなフリップフロップおよび回路を表す。図の次の4つのブロッ ク208、209、210、および211は一方向リピータである。図には4つ しか示していないが、所望数のリピータを用い得ることは明らかである。これら のリピータは、ゲート53、62、65、67、70、71、80、82、83 、または84などを作成するために用いられ得るリピータである。例示として、 抵抗器212および213はリピータ208および209に結合するように示さ れており、これらのリピータが他の回路の形態において駆動し得る負荷を表して いる。抵抗器自体はチップ上には製造されない。リピータ210および211は フィードバック経路を垂直チャネル12に戻る方向に駆動する。したがって、こ れらは図7にノード82で示すように、出力信号を入力バスに供給することを表 す。 以上、本発明のシステムのプログラム可能ロジックの好適な実施形態について 述べたが、上記の特定の詳細および構造の様々な変形例が具現化され得ることは 理解され得る。従って、本発明の範囲は、添付の請求の範囲によって示される。DETAILED DESCRIPTION OF THE INVENTION High-speed programmable logic architecture BACKGROUND OF THE INVENTION Regarding programmable logic, In particular, Using active driver circuits in an interconnect array; High-speed programmable logic architecture. What is a programmable logic device (PLD)? The user of the circuit uses software control to It is possible to customize the logic function performed by the circuit, It is a programmable integrated circuit. Formerly small, During, And the logic functions implemented by large-scale integrated circuits Currently, It can be implemented by a programmable logic device. PLD is Current, About 50 per integrated circuit, It has a capacity on the order of 000 gates. When a typical programmable logic device is supplied by an integrated circuit manufacturer, It cannot yet perform any specific functions. But, The user Similarly, typically in combination with software supplied by a programmable logic device manufacturer, Program the PLD, It is possible to perform a specific function or a function necessary for the user's application. Then PLD is As if a dedicated logic chip was used, It is possible to work with large systems designed by the user. With this functionality, The user Without leaving the time or expense of custom chips or gate arrays, It is possible to debug system logic. This functionality also Small production runs and hardware customizations can be tailored to very specific applications. In some PLDs, The logic can be changed "on-the-fly", This allows the PLD to While the system is running, At one point, they perform one function, Thereafter, another function can be performed. A typical PLD is Consists of an array of identical logic cells. This logic cell is Can be programmed individually, And optionally interconnected with each other to provide internal input and output signals; This allows for the implementation of very complex combinations of continuous logic functions. The program is By setting the state of a programmable element, such as a memory cell, Implemented in PLD. One type of programmable logic, known as a programmable logic array (PLA), is: A combination two-level AND / OR integrated circuit that can be programmed to implement product-sum logic. Such devices are: Typically, A series of AND gates having input terminals that can be programmably connected to the chip input signal; A series of OR gates that can be programmably connected to receive the output signal from the AND gate. Another type of programmable logic device is Known as Programmable Array Logic (PAL). PAL is Uses a fixed OR array and bidirectional input / output pins. The disadvantages of both PAL and PLA are: They are a lack of density that can be programmed. In other words, Arrays can perform many logic functions, The use of the array is not as complete as desired. further, The dimensions of the array It grows faster than its programming ability. The response to this assignment is It was a "macrocell" or logic block in a programmable logic device. Macro cells or logic blocks are It can perform many different functions, In addition, it is a subsection of logic that can be selectively interconnected to another macrocell or logic block. This allows The logic in a programmable logic device is Logic strips communicate with other strips, It is possible to assume a more granular structure, Also, It is possible to provide an overall more efficient use of the integrated circuit. here, Using the phrase "programmable logic device" Programmable array logic, Programmable logic array, Field programmable gate array, And other types of programmable logic devices. A notable disadvantage of all currently available programmable logic devices is that It is relatively slow. In all of the above programmable logic devices, Connection inside AND and OR arrays, And the connection to and from the macrocell, Erasable programmable read-only memory cells, Electrically erasable read-only memory cells, Static random access memory cells, fuse, Alternatively, this is performed using an antifuse or the like. In each of these cases, The interconnect approach is passive. That is, The state of the memory cell or fusible connection is By itself, Used to control any other device that makes or breaks a connection between two nodes. All of these connections The signal provided to the connection simply passes through the connection (or does not pass if the connection is open) Be passive. as a result, The overall speed of a programmable logic device is Limited by the reasons discussed below. Even the fastest prior art large field programmable gate arrays available at the moment, Operates at 50 mhz or slower. Some small transistor-transistor logic (TTL) devices are: It is possible to operate at speeds higher than 100 MHz. At the moment, No one produces large high-speed arrays. One of the main reasons for the relatively slow operating speed of prior art programmable logic devices is that The resistance present in the interconnect system. The interconnect system Programmable "wiring" With this wiring, Logic signals are propagated across integrated circuit chips. This propagation speed is The transfer gate used is an EPROM cell, SRAM cells, Whether formed as an antifuse or other, Limited by the series resistance of the transfer gate. as a result, Manufacturers of prior art programmable logic devices In the technical choice of transfer gate, There has been a choice between resistance and capacitance. As described above, In a typical prior art programmable logic device, The logic is Implemented in logic blocks that communicate with each other. Such a logic block is When combined with a transfer gate, Almost 1, Has an effective driving resistance of the order of 000 ohm plus the resistance of the driver circuit. For example, in antifuse technology as implemented by Actel Corporation, The effective driving resistance is Each connection is on the order of 50-500 ohms plus the resistance of the driver circuit. As described below, The technology of the system of the present invention The effective driving resistance is simply, This is the resistance of the driver circuit. SUMMARY OF THE INVENTION An architecture has been developed for a programmable logic device that can operate at substantially higher speeds than conventional programmable logic devices. In a preferred embodiment of the system of the present invention, Using the programmable logic techniques of the system and currently available silicon semiconductor technology, Speeds up to 500 mHz are feasible. In one embodiment of the present invention, A routing structure is provided for a programmable logic circuit including a logic cell that performs a logic function. The routing structure is Supply signals processed by the logic cells, An input line set extending substantially in a first direction; Receive the signal processed by the logic cell, An output line set extending substantially in the second direction. Where the input and output lines intersect, Programmably connect between a selected line of the output line set and a selected line of the input line set; Or by not connecting A signal present on the output line can be arranged on a desired line of the input lines, A junction area containing a controllable active driver circuit is established. Each of the controllable driver circuits is at least, An active state where the driver circuit duplicates the signal supplied to it, or A buffer circuit that can be made passive to provide high impedance between the input and the output. Typically, The controllable driver circuit is Each output line in the set can be connected to any desired line in the input line set. In another embodiment, The system of the present invention Includes a structure similar to the above structure, further, A controllable driver circuit set for selectively interconnecting desired ones of input and output lines to logic cells is provided. This allows The input signal present on the input line is Can be supplied to the appropriate node of the logic cell, Further, an output signal from the logic cell can be supplied to another desired logic cell or another circuit. In connection with the system of the present invention, The controllable driver circuit also It can be used in interface circuits between pins of an integrated circuit and a set of input and output lines. With controllable driver circuit, Allows the desired connection between the pins of the integrated circuit and the input and output buses, This allows Supply the desired signals present on the pins of the chip to the appropriate logic cells, Similarly, outputs from these logic cells can be applied to appropriate pins. By using an active circuit, such as the controllable driver circuit described herein, The programmable logic device of the system of the present invention comprises: It can operate substantially faster than conventional devices. Using the conventional technology 1993 semiconduct or technology, The upper limit of the clock speed at which a programmable logic device can operate is: 50 mHz. Programmable logic devices manufactured using the techniques of the present invention include: It can operate at speeds up to 500 mHz. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of the overall layout of an integrated circuit using the programmable logic device architecture of the present invention. FIG. Supplying an input signal to the logic cell of the present invention, FIG. 4 is a schematic diagram showing a method of receiving an output signal from the logic cell. FIG. FIG. 2 is a schematic diagram illustrating one embodiment of a circuit for interconnecting input / output buses and integrated circuit input / output pins. FIG. FIG. 4 is a schematic diagram illustrating another embodiment of a circuit for interconnecting input / output buses and integrated circuit input / output pins. FIG. How the driver circuit works Along with techniques to reduce the number of interconnects between logic cells and input or output buses, Indicates whether it can be used on an input or output bus. FIG. 5 illustrates another technique for reducing the number of connections. FIG. The interconnection between the input and output buses is FIG. 2 is a schematic diagram of a circuit that can be used, for example, to provide at the locations where they intersect. FIG. Shows two unidirectional bus lines. FIG. Shows bus lines that can be unidirectional in either direction. FIG. 4 shows a bus line divided using a controllable driver circuit. FIG. It is a schematic diagram of a circuit of one logic cell. FIG. FIG. 2 is a detailed circuit schematic diagram of a preferred embodiment of a logic block used in FIG. 1. And FIG. 1, shown in block form in FIG. FIG. 2 is a block diagram of a small portion of the overall programmable logic device. Description of Specific Embodiment FIG. Manufactured according to a preferred embodiment of the present invention; FIG. 2 is a block diagram illustrating an overall layout of a high-speed programmable logic device. As shown in FIG. This device is A first set of routing channels 12 arranged in a generally east-west direction; A second set of routing channels 15 arranged in a substantially north-south direction; A series of logic cells 20 arranged inside a matrix of routing channels. In the conventional method of operation of a programmable logic device, The routing channel is Providing an input signal to a logic cell and receiving an output signal therefrom; Including conductor bus. often, The output signal from the logic cell is Used as an input signal to another logic cell. As we all know, Each logic cell is For the input signal supplied to the logic cell, Combined or continuous, Or both, Perform any desired operations. The specific logic functions performed by the logic cells are: It typically depends on its programmed state to be "loaded" into the cell using external circuitry. This state is Is defined using control bits from an external device, Multiplexer, flip flop, Set the gate and so on. In the general block diagram of FIG. The logic cell 20 Receiving an input signal from the bus 12, In addition, an output signal is supplied to the bus 15. The input signal is The signal is transmitted from the bus and supplied to the logic cell by the conductor 23. Also, The output signal obtained is It is supplied to output bus 15 using conductor 27. As described below, These conductors The input node of the logic cell is connected to the selected line on the input data bus 12; Or in the sense that it is disconnected As such, it may be programmable. not to mention, As mentioned above, The input data bus itself Output information from other logic cells may be carried as signals. The connection between the input data bus and the output data bus is These buses may be made at locations 30 where they cross each other. The bus is Although they are drawn to cross each other in the drawing of FIG. 1, In actual execution, They are formed on integrated circuits using different metal layers or other conductive materials, And unless the electrical connection between them is "programmed" They are electrically insulated from each other. The manner in which the conductors can be joined together at the intersection region 30 is Further described below. The advantages of the structure of the present invention are: That is, the present invention is modular. As shown inside the dashed line 40, In a preferred embodiment of the present invention, Essentially all of the integrated circuit area, Buses 12 and 15, Logic cell 20, And the interconnection of buses 23 and 27, Provide signals to logic cells, And is exhausted by the regular module 40 receiving signals from the logic cells. This modular structure Facilitates efficient layout of integrated circuits. As shown in the figure, In this way, The output of each logic cell is It extends over the entire vertical length of the chip layout. The output bus is Extends along only one side of the logic cell, Then stop at the edge of the chip. But, The input bus is "Wrap" around the integrated circuit. For example, Buses 12a and 12b Connected at the east or west end of the circuit. in this way, The input bus is It extends in a meandering manner across the entire surface of the circuit. In this way, A bus 12a is connected to the bus 12b at either the east or west edge of the chip; Then Bus 12b is coupled to bus 12c at an edge such as the opposite side. Input and output buses Preferably it is unidirectional. For example, In the implementation of emitter coupled logic (ECL), Alternatively, in the implementation of complementary MOS (CMOS), The bus is The shortest segment is one-way, By insulating the segments from each other as described below, Different segments of the common bus can be made bidirectional. Bus length, Input / output signal strength, And depending on other factors, It may be desirable to use a "repeater" inside the bus. These repeaters are It consists of a small amplifier to isolate the capacitance of the circuit, This reduces the signal propagation delay, Improve overall system speed. FIG. Between the logic cell 20 and its input bus 23, And a more detailed diagram of the interconnection system between the logic cell 20 and its output bus 27. Any desired number of inputs and outputs can be Provided to the logic cell, It is to be understood that they are provided from logic cells. The drawing in FIG. A general approach to the formation of these interconnects and the programmable control of the connections is shown. As shown in FIG. The input bus 12 Using controllable driver circuits 52 and 58, It has a series of conductors that can be selectively connected to the input node 41 of the logic cell. The drawing is Although each conductive line of bus 12 is shown as being separately connectable to input node 41, this is, It is for illustration purposes only. In a practical implementation of the circuit of the invention, As will become apparent in connection with the discussion of logic cell fabrication below, Each input node is It does not need to be connected to every line on the bus. In any case, In the drawing, Each bus line of the bus 12 They are separately connected via a driver circuit. The driver circuit is Operate under the control of an input signal provided to it on line 54; Serves as a programmable tri-state buffer. Line 54 is Coupled to a register or other means. Inside a register or other means, A program for controlling the entire programmable logic device is stored. This register, memory, A separate bit in a fuse or other means Used to control a corresponding one of the programmable connections of the drawing of FIG. The other bits are Used to control other programmable connections elsewhere in the programmable logic device. In this way, The control memory is Typically, The same number of programmable connections to be controlled, Has bits stored in memory. not to mention, The two configurations are mutually exclusive and one is Or only one, If always provided, The complementary state of a single bit can control the two configurations. Under control of the memory bits, The circuit 52a is Either active or high impedance state. If input 54a is available, The circuit 52a is The signal coupled to the input node 57a is repeated. In other words, If Logical 1 is on conductor 12a of bus 12, The input node 57a of the driver 52a is Logical 1. Assuming control line 54a is available, The output from the driver 52a is also logical 1. not to mention, The same condition, This is true if Logical 0 is present on conductor 12a. Each of the drivers 52 Works in the same way. On the contrary, If the control line 54 is not available, The driver circuit is Provides a high impedance state, In addition, it functions as an open circuit. In other words, Node 55 is It is completely disconnected from the bus 12. This allows The input node 41 is If the input node does not receive a signal from bus 12, It can be disconnected from the bus 12. In some embodiments of the present invention, Another driver circuit 58 is provided between node 55 and node 41. This additional circuit It can be used to help reduce the capacitive load on input node 41. Although not shown in FIG. 2, Each of the other input nodes to the logic cell 20 Similarly, it is coupled to input signal bus 12. The output signal bus 15 Using a similar technique, Coupled to logic cell 20. As shown in the figure, The logic cell is An output node 48 supplied to an arbitrary driver circuit 59 is provided. The circuit 59 is For the same reasons as circuit 58, That is, it is provided to reduce the capacitive load on the logic cell and the circuit requirements. For logic cells that have enough output drive power to drive large capacity, The driver circuit 59 is unnecessary. The output from circuit 59 is Each operating under program control using the information provided on the corresponding line 51; It is coupled to the input of driver circuit 53. Line 51 is A single shift register element, Memory cells, Or it may be connected to other storage units. The controllable driver circuit 53 includes: It functions in the same way as circuit 52. That is, The driver circuit 53 Drive the corresponding output bus lines with the signals provided at their input nodes, or Or provide a high impedance condition to the output bus. In the high impedance state, Signals provided by the logic cells are prevented from affecting the state of certain bus conductors. in this way, The overall output connection 27 (shown in FIG. 1) The opposite of input connection 23 (shown in FIG. 1). In another embodiment of the present invention, Circuit 52, 53, 58, And 59 are It can be replaced by a multiplexer. in this case, The control lines 51 and 54 are Supply control signal to select from multiplexer input line, Connect the appropriate one to the logic cell. FIG. 2 shows the routing structure of a preferred embodiment of the present programmable logic device in more detail. What is shown in FIG. The signal provided at the input / output pins of the integrated circuit is Supplied to the interconnecting input and output buses of the programmable logic device, Also, That is how it is received. As shown in FIG. Two example I / O pins 60 and 61 are: Similarly, via the circuit 62, Connected to input / output bus 12 or 15. In the drawing, The bus is shown extending north and south, The depicted circuit is Whether the bus is an input bus 12 or an output bus 15, It should be understood that the same function can be performed. further, Each input / output pad 60 is By simply repeating the structure shown in FIG. It is possible to couple to both input and output buses. in this way, The input connection 60 A driver circuit 62a, 62b, .. Can be connected to any one of the lines 12. This allows The input signal provided at pad 60 is It can be placed on a bus 12 that supplies any one of the logic cells of the integrated circuit. Similarly, An output driver circuit 64a, 64b, Etc. Signals provided on the bus can be transmitted from the bus to the output pads. As mentioned above, The depicted structure shows only the output bus, The connection to the input bus can be realized by repeating the entire structure of FIG. not to mention, Any number of input and output pins can be used as desired. FIG. FIG. 4 illustrates another approach to the interconnection between the input / output pads and the bus. As shown in FIG. Input buses 12a and 12b It extends in a meandering manner through the input / output pads 60 and 61. In contrast, Output buses 15a and 15b It passes vertically through I / O pads 60 and 61. I / O pad 60 Using the programmable driver 65a, It is possible to selectively connect to the output bus 15a. Also, I / O pads 60 and 61 To the bus 12a via the driver 65b; And it is also possible to selectively connect to the bus 12b via the driver 65c. In a similar way, Input / output pad 61 Can be connected to drive output bus 15b using driver 67a, And using the drivers 67b and 67c respectively It can be connected to receive signals from either bus line 12a or bus line 12b. In this configuration, The input acts like a cell output, Become a part of bus 15 which looks different, The input pad to the chip can then be considered as an output from an external source on the chip. FIG. 5 illustrates another aspect of the input and output buses of the system of the present invention. As shown in FIG. Bus 12, For example, the input bus It extends across the top of the figure. The input bus 12 It is coupled to logic cell 20 using the same technique as shown in FIG. But, For simplicity, The driver circuit in the local bus 23 between the input bus 12 and the logic cell 20 is not shown. These are deployed in the manner described above. Also, As an example, The input terminal 41 to the logic cell 20 It is shown that not all lines of the input bus 12 can be connected. It is desirable to provide a connection between each input line and each input node of each logic cell, In practice this is unnecessary. By simply deploying sets and subsets of connections between buses and logic cells, More efficient designs may be possible. For example, The logic cell 20a An input node 41a connectable to the bus lines 12a and 12c, And having an input node 41b connectable to bus lines 12b and 12n. On the contrary, The logic cell 20b An input node 41c connectable to the bus lines 12a and 12b, Node 4 1d It can be connected to the bus lines 12c and 12n. Therefore, If the logic function is performed using only the data on lines 12a and 12b as input signals to logic cell 20, Logic cell 20a can be used for this function (and can be selected by software for this task). By using the logic cell 20a, Cell input 41a can receive an input signal on line 12a; on the other hand, Input 41b can receive an input signal on line 12b. Another feature of the system of the present invention shown in FIG. The use of a controllable driver circuit in the bus line itself. If the bus line can extend across the entire chip surface without interruption, The output driver of the cell has a very high capacitive load. With this high capacity, The driver driving the input signal consumes extra power, The result is that the operation of the driver is undesirably slow. to solve this problem, Driver circuits 70 are provided at selected intervals along the bus line. Although shown in connection with the input bus 12, The same technique is used on output bus 15. In FIG. These driver circuits are It is shown as being arranged every two logic cells along the bus. The actual number of driver circuits in a particular design is space, speed, And flexibility. In the embodiment shown in FIG. Some driver circuits 70 are made programmable, Other circuits 71 are not programmable. The circuit 71 is provided in an always-on state. That is, Whatever signal is provided to the input node, the signal is reproduced at the output node. But, The circuit 70 is made programmable and controllable, The same circuit as the controllable driver circuit can be used. Each of the circuits 70 The circuit described above, For example, it is similar to the driver circuits 52 and 53 of FIG. Because the circuit can be in a high impedance state, It is possible to split the input bus (or output bus) into smaller "parts". For example, The function of the bus line 12a is If simply providing an input signal to node 41a of logic cell 20a, The driver circuit 70d can be turned off. This allows Whatever drive circuit drives the bus line 12a, There is no need to drive an extra capacitance of the bus line beyond the driver circuit 70d. further, The portion of the bus line 12a beyond the driver circuit 70d is used for other purposes. For example, it can be used to function as a "local" connection between two logic cells. FIG. 4 shows a further improved example of the routing structure of the system of the present invention. As shown in FIG. Some output nodes 41a from the logic cell 20 are: A dedicated connection to output bus line 15a may be provided. at the same time, Other connections from logic cells, For example, The output 41b is The controllable driver circuit 53 may be used to provide a controllable or programmable connection to the output bus line 15b. This eliminates unnecessary driver circuits, The design can be optimized to fit the provided logic function class. In a typical embodiment of the system of the invention, Some connections are As shown in node 41a, Attached without providing a driver circuit, on the other hand, Other connections are As shown at node 41b, A programmable connection may be used. FIG. FIG. 2 shows the bus interconnect area 30 shown in FIG. 1 in more detail. The figure shows Three output bus lines 15a, 15b, And 15n, And five input bus lines 12a, 12b, 12c, 12d, And 12n. With the programmable driver circuit as described above, Any output bus can be connected to any input bus. For example, Assume that it is desired to provide output information on bus line 15b to input bus 12d. To achieve this, Circuit 80b is programmed on, As a result, the state of the bus 15b is duplicated at the node 85. further, The circuit 83d is programmed on, As a result, the state of the node 85 is passed to the input bus 12d. All other programmable driver circuits 83 Programmed off in each high impedance state, Information at node 85 is not sent to any of the other bus lines. Also, As an example, The output bus line 15a is connected to the input bus line 12a, 12b, . . . , 12n. To accomplish this, circuit 80a may be programmed off with all circuits 82. Thus, the output bus 15a can be isolated from the input bus 12. In this way, the desired output bus can be coupled to the desired input bus. Figures 8a, 8b and 8c show an improved routing structure of the system of the present invention. In the above preferred embodiment of the system of the present invention, the bus is unidirectional. Thus, without other changes, the system needs to have a bus in each direction, even with maximum flexibility. For example, the input bus 12 needs to have some lines with driver circuits that allow eastbound signal propagation, and some lines with driver circuits that allow westbound signal propagation. . FIG. 8a shows one example having a bus line 12a for propagating signals to the right and a bus line 12b for propagating signals to the left. FIG. 8b illustrates a variation of the above technique in which a controllable driver circuit is used to segment bus line 12a into smaller areas, thereby allowing each portion of a line to be used in each direction. Show. As shown in FIG. 8b, several output buses 15a, 15b, 15c, and 15d intersect input bus 12a at junction locations 31, 32, 33, and. Each of these junction locations may use the connection structure shown in FIG. 7 to provide a possible interconnection between the output bus line 15 and the input bus line 12. However, unlike the structure of FIG. 8a, a pair of controllable driver circuits are provided between each junction. For example, drivers 92 and 93 are provided between the joints 31 and 32. By programming one of the driver circuits on and the other off, signals can be propagated between nodes 31 and 32 in either direction. FIG. 8c provides one example. In FIG. 8c, assume that the signal on line 15a is transmitted on input bus 12a in both the left and right directions. To accomplish this, circuits 91 and 92 are programmed on and circuits 90 and 93 are programmed off. This allows the signal on line 15a to be supplied to nodes 35 and 32. By way of example, the circuit 88 is programmed off so that the same bidirectional capability can be provided on the output line as well as the input line. Driver circuits 94, 95, 96, and 97 are all programmed off, thereby isolating node 32 from node 34. Of course, nodes can also be isolated by programming off only pairs 94 and 95 or 96 and 97. Circuit 98 is programmed on and circuit 99 is programmed off to allow the signal on output bus 15d to be provided to the right on input line 12a. FIG. 9 is a schematic diagram of a preferred embodiment of a logic cell used in the system of the present invention. As described above in connection with FIG. 1, a logic cell performs a logical operation on an input signal from an input bus, and the resulting output signal is used by another cell or by another integrated device by an integrated circuit. Used to be placed on the output bus as supplied to the As shown in FIG. 9, in this preferred embodiment, the logic cell 20 has up to 18 input signals 100, 101,. . . , 117, and may provide three output signals 140, 141, and 142 in response. Exclusive OR gate 119, AND gates 120, 121, and 122, and OR gate 128 may perform combinational logic. D-type flip-flop 133 provides the ability to perform continuous logic on input signals or output signals from combinational logic, depending on the state of multiplexer 132. In FIG. 9, each input signal is supplied through a polarity control (PC) circuit formed using an exclusive OR gate, as shown at the bottom right of the figure. A rectangular symbol with "PC" inside represents this polarity control connection and is used to simplify the drawing. The particular logic cell shown allows global or local clock selection, which allows the clock rate of the logic cell to be different from the clock rate of the entire integrated circuit. The programmable interconnect consumes no power in unused circuits and provides polarity control for all inputs. The particular logic cell shown implements a full adder with carry, a 2-bit comparator, or a four-input multiplexer, and is optimized to perform its function. Further, the logic can easily act as a single stage of a preloadable left and right shift register or as one stage of a 4-bit preloadable synchronous up / down counter. FIG. 10 is a detailed circuit diagram of a preferred embodiment of a logic block used in the programmable logic architecture of the present invention. The logic block generally corresponds to the preferred embodiment of the logic block 20 shown in block diagram form in FIG. Generally, the logic blocks, depending on the programming, are potentially coupled to receive up to 18 input signals at terminals along the left edge of the figure. In response, the logic block provides up to three output signals from terminals 143, 144, and 145 along the right edge of the figure. For purposes of illustration, the logic block may be considered to be divided into four sections as indicated by the dashed lines extending across FIG. The top two sections 146 and 147 provide a high level of functionality. This will be described later. Third section 148 provides multiplexing functions, and lower section 149 provides arithmetic and comparison functions. The adder in the lower section may provide carry to the upper section or compare the three bits to make it possible to detect if they are all the same. In the upper section 146, logic gates 151, 152, 153, and 156 provide AND-OR logic for node A. Multiplexers 170, 171 and 172 allow feedback from some of the gates in section 147. This allows some of the input signal going to section 147 to also be supplied to section 146. Multiplexer 155 provides a feedback multiplexer and, in combination with gate 156, can provide a latch function. The feedback path from flip-flop 157 provides a load function for a counter or shifter. The flip-flop itself provides a path for controlling the flow of data from the logic block to an external circuit. This provides a shift if the flip-flop is configured as a D-type flip-flop. When configured as a T-type flip-flop, it provides counting capability. The second section 147 of the logic block duplicates the function of the upper section and is connected to the upper section by node C via multiplexer 158 and AND gate 159. By programmably combining the top two sections of the logic block, the entire logic block may provide a 2-bit counter. This counter can be chained with other counts provided by other logic blocks to form a long counter. The connection at node C allows the upper unit to shift data to the lower unit. A third section 148 of the logic block, consisting primarily of multiplexer 160, can be programmed to provide a straight multiplexing function to the input signal subset. In the lower section 149 of the logic block, gates 161, 162, 163, 164, 165, 166, and 167 provide a full adder with a carry bit at node G. The sum appears at node H. Gates 161 and 162 allow for multiplexing, and gates 163, 168 and 167 allow for a 3-bit quantity comparison. Throughout FIG. 10, the small rectangle symbol labeled PC provides polarity control to the signal using the gate structure shown in the inset of FIG. Also, as shown, each multiplexer in the logic block is connected to be controlled by one or two control bits. These can be either logical 1 or logical 0, whereby one or two bit control signals are provided to the multiplexer, one of two input lines to the multiplexer, or one of four input lines. One choice becomes possible. The selected line is coupled to the output terminal of the multiplexer. With the logic block shown in FIG. 10, a logic function set can be configured relatively easily. Unlike the methods performed by other programmable logic device architectures, this architecture is optimized to provide a variety of functions, rather than providing overall full flexibility and functionality. By providing a relatively large logic block, fewer connections are required and overall operating speed is increased. In other architectures, many small logic blocks are deployed, which requires more interconnect between the blocks and lowers overall system speed. FIG. 11 is a block diagram illustrating a small portion of the overall programmable logic device chip shown in block form in FIG. Along the left edge of FIG. 11, a series of lines called "vertical channels" are shown. These lines are the input routing channels or buses 12 shown in the previous figures. Multiplexers 200 and 201 are coupled to the input bus and include circuitry that allows connection from routing channel 12 to the input of the logic block, as well as circuitry used to generate the input polarity control function described above. The logic blocks are shown to the right of multiplexers 200 and 201. The next three parts of the schematic, consisting of AND gates 202, 203 and 204, OR gate 205, and multiplexer 206, represent the AND-OR-multiplexer chain shown at the top of FIG. 10, which is a logic block diagram. Flip-flop 207 represents the flip-flops and circuits required to generate an output to drive one line on bus 15. The next four blocks 208, 209, 210, and 211 in the figure are one-way repeaters. Although only four are shown in the figure, it is clear that any desired number of repeaters can be used. These repeaters are repeaters that can be used to create gates 53, 62, 65, 67, 70, 71, 80, 82, 83, 84, or the like. By way of example, resistors 212 and 213 are shown coupled to repeaters 208 and 209, representing loads that these repeaters may drive in other circuit configurations. The resistors themselves are not manufactured on chip. Repeaters 210 and 211 drive the feedback path back to vertical channel 12. Thus, they represent supplying an output signal to the input bus, as shown by node 82 in FIG. Having described the preferred embodiment of the programmable logic of the system of the present invention, it will be understood that various modifications of the specific details and structure described above may be embodied. The scope of the invention is, therefore, indicated by the appended claims.
Claims (1)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US1996/004409 WO1997037431A1 (en) | 1994-01-27 | 1996-03-29 | High speed programmable logic architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000507774A true JP2000507774A (en) | 2000-06-20 |
JP3774234B2 JP3774234B2 (en) | 2006-05-10 |
Family
ID=22254910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP53522297A Expired - Lifetime JP3774234B2 (en) | 1996-03-29 | 1996-03-29 | High-speed programmable logic architecture |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0913032A4 (en) |
JP (1) | JP3774234B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006527902A (en) * | 2003-06-18 | 2006-12-07 | ラティス セミコンダクタ コーポレイション | Bidirectional buffering for memory data lines |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5504440A (en) * | 1994-01-27 | 1996-04-02 | Dyna Logic Corporation | High speed programmable logic architecture |
EP1594228A3 (en) * | 1994-04-14 | 2005-11-16 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
-
1996
- 1996-03-29 EP EP96912515A patent/EP0913032A4/en not_active Withdrawn
- 1996-03-29 JP JP53522297A patent/JP3774234B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006527902A (en) * | 2003-06-18 | 2006-12-07 | ラティス セミコンダクタ コーポレイション | Bidirectional buffering for memory data lines |
Also Published As
Publication number | Publication date |
---|---|
EP0913032A4 (en) | 2001-03-14 |
JP3774234B2 (en) | 2006-05-10 |
EP0913032A1 (en) | 1999-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5504440A (en) | High speed programmable logic architecture | |
US5742179A (en) | High speed programmable logic architecture | |
US6181160B1 (en) | Programmable logic device with hierarchical interconnection resources | |
US6246259B1 (en) | High-speed programmable logic architecture having active CMOS device drivers | |
JP3488258B2 (en) | Programmable logic array integrated circuit | |
US6300794B1 (en) | Programmable logic device with hierarchical interconnection resources | |
US7161384B1 (en) | Flexible macrocell interconnect | |
US5818254A (en) | Multi-tiered hierarchical high speed switch matrix structure for very high-density complex programmable logic devices | |
US6396304B2 (en) | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks | |
US6504399B2 (en) | Method and apparatus for universal program controlled bus architecture | |
US7154299B2 (en) | Architecture for programmable logic device | |
US6810513B1 (en) | Method and apparatus of programmable interconnect array with configurable multiplexer | |
US5614844A (en) | High speed programmable logic architecture | |
US6748577B2 (en) | System for simplifying the programmable memory to logic interface in FPGA | |
US6414514B1 (en) | Logic device architecture and method of operation | |
JPH0653817A (en) | Programmable logic array integrated circuit | |
US5463328A (en) | Expanded programmable logic architecture | |
EP1968193B1 (en) | Utilization of unused IO block for core logic functions | |
JP3774234B2 (en) | High-speed programmable logic architecture | |
US20050146354A1 (en) | Multi-level routing architecture in a field programmable gate array having transmitters and receivers | |
US20030071651A1 (en) | Memory controlled signal steering and wave shaping circuit as a universal connector | |
US20030057999A1 (en) | Very low power, high performance universal connector for reconfigurable macro cell arrays | |
GB2346724A (en) | Programmable logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050607 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050804 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050804 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050906 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050922 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051206 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060217 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090224 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100224 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100224 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110224 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120224 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130224 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130224 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140224 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |