JP3549077B2 - プログラマブル・アレイ相互接続ラッチ - Google Patents

プログラマブル・アレイ相互接続ラッチ Download PDF

Info

Publication number
JP3549077B2
JP3549077B2 JP12139096A JP12139096A JP3549077B2 JP 3549077 B2 JP3549077 B2 JP 3549077B2 JP 12139096 A JP12139096 A JP 12139096A JP 12139096 A JP12139096 A JP 12139096A JP 3549077 B2 JP3549077 B2 JP 3549077B2
Authority
JP
Japan
Prior art keywords
programmable
data
selectively
circuit
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP12139096A
Other languages
English (en)
Other versions
JPH098646A (ja
Inventor
スコット・ホイットニー・グールド
フランク・レイ・キーザー
ウェンデル・レイ・ラーセン
ブライアン・ワース
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH098646A publication Critical patent/JPH098646A/ja
Application granted granted Critical
Publication of JP3549077B2 publication Critical patent/JP3549077B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • G01R31/318519Test of field programmable gate arrays [FPGA]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0375Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、概して集積回路素子に関し、更に詳細には、複数のプログラム可能論理セル及びプログラム可能相互接続ネットワークを有する、プログラム可能集積回路素子に関する。特に本発明は、プログラム可能相互接続ネットワークの特定の相互接続内の、プログラム可能ラッチの設置に関する。
【0002】
【従来の技術】
プログラム可能な集積回路は当該技術分野では周知のものであり、プログラム可能なロジック・デバイス(PLD)、プログラム可能なアレイ・ロジック(PAL)、及びプログラム可能なロジック・アレイ(PLA)が含まれる。これらのプログラム可能な回路のそれぞれは、入力AND論理プレーン及びその後に付くOR論理プレーンを備える。出力関数は、入力条件の積を加算したものとして計算される。論理プレーンは一般にプログラム可能であり、したがってこれらプレーンの当初の全体的なレイアウトは、特定の用途のためにカストマイズできる。
【0003】
プログラム可能な回路に対する更に一般的なアプローチは、プログラマブル・ゲート・アレイ(PGA)中に個別の特定の機能のものでない論理セルの配列を設けることである。セルを相互接続し、配列にデータを入力し、配列から出力を取り出すために、一般にプログラム可能な相互接続ネットワークが設けられる。カストマイゼーション、即ち一般には共通なものとして設計される論理セル、及び相互接続ネットワークをプログラムすることは、特定の用途に対して行われる。そのような配列の1つは、マスク式プログラマブル・ゲート・アレイ(MPGA)であり、この配列では、セル及び配線ネットワークの構成が、集積回路に最後の金属化層を付着させるときに行われる。変形のアプローチでは、金属化パターンをカストマイズするためにレーザが方向づけられたエネルギを用いる。このような配列のもう1つは、フィールド・プログラマブル・ゲート・アレイ(FPGA)であり、この配列では、構成は「フィールド」でユーザが行うことができる。こうした構成は、電気的にプログラム可能な可溶性の結線、アンチフューズ、メモリ制御トランジスタ、又はフローティング・ゲート・トランジスタの使用によりもたらされる。
【0004】
目的の回路を提供するためにプログラマブル・アレイが構成されると、論理回路全体の中の特定のモジュールを分離して試験することが望ましい。特定モジュールの試験方法の1つには、プログラマブル・アレイの選択入出力ピン間に、特定モジュールをもつ、プログラマブル・アレイを再構成することが含まれる。試験データが、選択入出力ピンを介して特定モジュールへ渡される。しかし、特定モジュールを選択入出力ピン間で直接インターフェースする必要なしに、構成されるプログラマブル・アレイ内のプログラム可能境界を使用して、特定モジュールを残りの論理回路から分離する方法のほうが望ましい。特定モジュールの境界に関連付けられたプログラム可能相互接続ネットワークの特定の相互接続が、特定モジュールの分離及び試験のために選択的にオープンされ、アクセスされるのが理想的である。
【0005】
【発明が解決しようとする課題】
本発明の目的は、プログラマブル・ゲート・アレイの相互接続ネットワークの、改良されたプログラム可能相互接続を提供することにある。
本発明の更に別の目的は、プログラマブル・ゲート・アレイ内の構成回路の特定のブロックの分離及び試験のために、プログラマブル・ゲート・アレイのプログラム可能相互接続ネットワークの相互接続内の、改良された回路を提供することにある。
本発明の更にもう1つの目的は、フィールド・プログラマブル・ゲート・アレイの選択プログラム可能リソースの境界スキャン分離及び試験を可能にする、改良された装置及び方法を提供することにある。
【0006】
【課題を解決するための手段】
本発明の1つの実施例では、集積回路は複数のプログラム可能論理回路、及びプログラム可能論理回路を接続するためのプログラム可能相互接続ネットワークをもつ。プログラム可能インターフェース回路が、プログラム可能相互接続ネットワーク内で接続される。プログラム可能インターフェース回路は、少なくとも1つのデータ入力ノード、及び少なくとも1つのデータ出力ノードをもつ。回路は、データ入力ノード及びデータ出力ノード間で接続され、データ入力ノードでの論理状態と関連するバッファリングされた出力信号を、データ出力ノードへ選択的に与える。信号記憶回路もデータ入力ノードに接続され、データ入力ノードから受信される論理状態を選択的に記憶する。
【0007】
本発明のこの実施例の更に別の面では、プログラム可能インターフェース回路は、二次入力ノード及び二次出力を更に含む。信号記憶回路は、データ入力ノード又は二次入力ノードのいずれかから受信された論理状態を選択的に記憶するための、選択的記憶素子を含む。追加回路が、記憶された論理状態を表すデータを二次出力ノードへ与える。
【0008】
本発明の更に別の面に従って、プログラム可能インターフェース回路は、記憶された論理状態を表すデータを、データ出力ノードへ選択的に提供するための回路を更に含む。
【0009】
本発明のこの実施例の好ましい面では、選択回路が信号記憶回路を制御信号パス又は試験制御信号パスへ選択的に接続させるので、その結果、信号記憶回路を集積回路の試験又は操作の間のそれぞれのいずれにも使用できる。
【0010】
本発明のこの実施例の更に別の面では、信号記憶回路はLSSDレジスタ・ラッチを含む。LSSDレジスタ・ラッチは、直列入力データを受信するための二次入力ノード、及び直列出力データを送信するための二次出力ノードをもつ。一次及び二次ラッチは、それぞれ一次及び二次ラッチ・データを保存する。第1の選択カプラが、データ入力ノードと一次ラッチとの間に配置され、第1のクロック信号に従って、データ入力ノードの一次データを一次ラッチに選択的に結合し、その結果、一次データを一次ラッチ・データとして取込む。第2の選択カプラが、二次入力ノードと一次ラッチとの間に配置され、第2のクロックに従って、二次入力ノードの直列入力データを一次ラッチに選択的に結合し、その結果、直列入力データを一次ラッチ・データとして取込む。更に、第3の選択カプラが、一次ラッチと二次ラッチとの間に配置され、第3のクロックに従って、一次ラッチの一次ラッチ・データを二次ラッチに選択的に結合する。このようにして、二次ラッチの二次ラッチ・データが、一次ラッチ・データに従って更新される。二次ラッチの二次ラッチ・データは、二次出力ノードにおいて直列出力データとして提供される。好ましくは、信号記憶回路が、二次ラッチ・データを表す出力信号をデータ出力ノードへ選択的に出力するためのプログラム可能出力を更に含み、そこでデータがプログラム可能選択信号に従って選択的に出力される。
【0011】
本発明の第2の実施例に従い、集積回路の操作方法が提供される。複数のプログラム可能論理回路、プログラム可能論理回路の接続のためのプログラム可能相互接続ネットワーク、所定のプログラム可能相互接続内で信号を選択的にバッファリングするためのプログラム可能バッファ、及び所定のプログラム可能相互接続のデータを選択的に取込み、記憶するための第1の直列スキャン・チェーンの信号記憶回路をもつ集積回路が設けられる。複数の論理回路の選択プログラム可能論理回路が、選択プログラム可能相互接続により構成され、プログラム可能バッファ及び信号記憶回路と関連付けられた、所定のプログラム可能相互接続を含む構成された論理回路を提供する。既知データが構成される論理回路に与えられ、そこで信号記憶回路が選択的に操作され、構成された論理回路の処理の結果生ずる所定のプログラム可能相互接続のデータを取込む。その後、取込まれたデータが第1のスキャン・チェーンからスキャンされる。
【0012】
本発明のこの第2の実施例の代替的な面では、集積回路は第2のスキャン・チェーンの第2の信号記憶回路も含み、既知データを構成論理回路に選択的に適用する。したがって、既知データを構成される論理回路へ適用する場合、既知データは最初に第2のスキャン・チェーンにスキャンされ、その後、第2のスキャン・チェーンの信号記憶回路から構成される論理回路へ転送される。
【0013】
本発明の第3の実施例に従い、複数のプログラム可能論理回路、プログラム可能論理回路の接続のためのプログラム可能相互接続ネットワーク、プログラム可能相互接続ネットワークの所定のプログラム可能相互接続と関連付けられた信号を、選択的にバッファリングするためのプログラム可能バッファ、及び出力データを前記所定のプログラム可能相互接続へ選択的に提供するための、直列スキャン・チェーンの信号記憶回路をもつ集積回路の操作方法を提供する。プログラム可能バッファ、及び信号記憶回路に関連付けられた所定のプログラム可能相互接続を含む、前記プログラム可能相互接続ネットワークの選択プログラム可能相互接続と一緒に、複数の論理回路の選択プログラム可能論理回路を構成することにより、構成された論理回路が設けられる。信号記憶回路に関連付けられた直列スキャン・チェーンを介して、既知データがその信号記憶回路に直列にスキャンされる。構成される論理回路への入力データとして、既知データを所定のプログラム可能相互接続へ転送するために、信号記憶回路が選択的に操作される。
【0014】
本発明のこの第3の実施例の更に別の面では、入力データが構成された論理回路により処理され、そして処理の結果生ずる出力データが、第2の直列スキャン・チェーンの第2の信号記憶回路に取込まれる。
【0015】
本発明の第4の実施例に従い、プログラマブル・ゲート・アレイは、複数のプログラム可能論理回路及び複数のプログラム可能相互接続を含む。複数のプログラム可能相互接続の少なくとも1つのプログラム可能相互接続内に、中継器ラッチ回路が設けられる。中継器ラッチは、関連するプログラム可能相互接続の第1及び第2の部分とそれぞれ結合する、第1及び第2のノードをもつ。プログラム可能結合回路が、第1及び第2のノード間に配置され、第1の選択信号に従って信号をノード間で選択的に伝達する。LSSDレジスタも第1及び第2のノード間に配置される。LSSDレジスタは、一次データを受信するための第1のノードと結合された一次入力、及び直列データを受信するための直列入力を有す。第1のラッチは、入力データとして、一次入力の一次データをCクロックのパルスの結果として取込むか、又は直列入力の直列データをAクロックのパルスの結果として取込む。第2のラッチは、Bクロックのパルスを受信すると、第1のラッチが取込んだデータに対応するデータをラッチ・データとしてその中にラッチする。第2のラッチのラッチ・データと対応する直列出力データが、LSSDレジスタの直列出力に提供される。プログラム可能一次出力は、ラッチ・データに対応する一次出力データを第2のノードへ選択的に提供する。一次出力データは、プログラム可能一次出力が、第2の選択信号により使用可能になると、第2のノードへ出力される。
【0016】
本発明のこの第4の実施例の更に別の面では、プログラム可能結合回路は、第1及び第2のノード間に、更に通過ゲートを配置する。通過ゲートは、第3の選択信号に従って、選択的に使用可能になる。
【0017】
本発明のこの第4の実施例の好ましい面では、複数のメモリ・セルがプログラマブル・ゲート・アレイの個別のプログラム可能リソースに関連付けられる。複数のメモリ・セルの第1のメモリ・セルは、プログラム可能結合回路と関係付けられ、そこに記憶されたデータに従って第1の選択信号を提供する。複数のメモリ・セルの第2のメモリ・セルは、LSSDレジスタのプログラム可能一次出力と関係付けられ、そこに記憶されたデータに従って第2の選択信号を提供する。
【0018】
本発明のこの第4の実施例の更に別の面では、LSSDレジスタは、直列スキャン・チェーンの複数のLSSDレジスタの中の1つであり、個々のA、B、Cクロックを共用し、個々のプログラム可能一次出力用に独立した選択ラインをもつ。
【0019】
本発明のこの第4の実施例のもう1つ別の面では、機能用クロック線又は試験用クロック線のいずれかをLSSDレジスタに二者択一的に結合するための、プログラム可能セレクタが設けられる。したがって、LSSDレジスタは、プログラマブル・ゲート・アレイの関連する論理回路の機能操作中は機能用クロックにより計時され、あるいは代替的にプログラマブル・ゲート・アレイの試験中は試験用クロックにより計時される。
【0020】
【発明の実施の形態】
図1を参照すると、複数の論理セルを含むプログラマブル・ゲート・アレイ10のレイアウトが示されている。この特定の実施例では、複数のプログラム可能論理セルは、セクタ12に分割されている56×56配列のセルから成っている。個々のセクタ12は、8×8のセル・グループによって画定されている。配列の周辺に沿って入出力ピン14も示されており、これらはデータの入力及び出力に使われる。更にこれらのいくつかのピンは、クロック・ピン、リセット・ピン、又は配列10のプログラム可能リソースをプログラムするための構成用ピンの用途に専用とされる。この配列の入出力部分は、米国特許申請、主題「PROGRAMMABLE ARRAY I/O−ROUTING RESOURCE」に従って実現できる。
【0021】
図2を参照すると、論理161,1から168,8によって成るプログラム可能論理セルの単一セクタ12が示されている。論理セル161,6は、垂直方向の相互接続導体18a及び18b、ならびに水平方向の相互接続導体20a及び20bによって囲まれていることが示されている。それぞれの水平方向及び垂直方向の相互接続導体は、配列の関連する行及び列の間に配置され、配列内のいずれかの2つの論理セル間、及びこれと入出力ピンとの間の接続を行う。相互接続導体はバスと呼ばれることもあり、一緒になってプログラマブル・アレイの全体的な相互接続ネットワークを形成する。加えてバス折り返し点(示されてない)が、特定の垂直相互接続導体と特定の水平相互接続導体との間に、プログラム可能な相互接続を提供するために用いられることもある。相互接続ネットワークは、米国特許申請、主題「PROGRAMMABLE ARRAY INTERCONNECT NETWORK」に従って実現することができる。
【0022】
個々の論理セル16は、図3、4、及び5に示すように、複数の論理素子及び内部相互接続を含む。プログラム可能入力マルチプレクサ24a〜24dは、論理セルを囲むローカル・バスL1、L2、L3、L4のそれぞれからの複数の入力を受信する。更にマルチプレクサへの入力のいくつかは近隣の論理セルへの直接接続F、Gを提供し、又はクロック、フィードバック、及び論理1又は論理0信号との結合を行う。
【0023】
個々の入力マルチプレクサは、スタティックRAMのプログラム可能ビットによって駆動され、論理セル16の内部論理にどの入力が結合するのかを選択するための選択ラインをもつ。プログラム可能入力マルチプレクサ24aは16の入力をもち、したがって16の入力のどの1つが自身の出力Eに送られるのかを選択するために、4つのプログラム可能ビットを必要とする。プログラム可能入力マルチプレクサ24bは、8入力の1つを選択して自身の出力Fに送るために、マルチプレクサを構成するための関連するプログラム可能ビットに従って構成される。プログラム可能入力マルチプレクサ24cは、マルチプレクサ24dと共に16入力をもち、したがってそれぞれのマルチプレクサは、4つの構成用ビットを必要とする。
【0024】
各マルチプレクサからの出力は、それぞれのNAND/NOR論理素子22に送られる。このとき、関連する反転回路26のプログラミング状態に従い、反転なしに直接送信されるか、又は反転して間接的に送信されるかいずれかである。プログラム可能NAND/NORゲート22の論理は、それらが関連する構成データに従って決定される。論理素子22からの出力I、Jは、追加の論理素子27、29及びマルチプレクサ28、30と結合される。フリップ・フロップ25は、論理素子29からD入力信号、及び関連するリセット及びクロック信号を受信する。
【0025】
出力マルチプレクサ28は4つの入力をもつ。それらは論理素子22からの出力I、論理素子27からの出力の反転回路を経由したもの、フリップ・フロップ25からの出力、及びマルチプレクサ30からの出力である。マルチプレクサ28は自身の構成データに従って構成され、その出力はトライ・ステイト・バッファ32を介して、プログラム可能出力マルチプレクサ34に結合されている。マルチプレクサ28の出力は反転バッファを介して、北、東、西、南、にある近接の論理セルに直接接続信号Fを供給する。マルチプレクサ30も4つの入力をもつ。それらは論理素子22からの出力J、論理素子29及び27からの2つの出力、ならびにマルチプレクサ28からの出力である。マルチプレクサ30の出力は、反転バッファを介して近接論理セルに直接接続信号Gを供給する。
【0026】
通過ゲート・マルチプレクサは、ローカル・バスへの論理セルの相互接続を行う入出力マルチプレクサとして用いられる。これらのマルチプレクサは、静的ランダム・アクセス・メモリ(SRAM)セルによって制御される。SRAMセルは、通過ゲート・マルチプレクサ内の通過ゲートに直接に、又は間接に(デコーダを経由)結合され、通過ゲートの状態を制御する。例えば論理セル16aは、論理セルの多数の側面に存在する入力接続Eを制御する、プログラム可能入力マルチプレクサ24aを含む。この開示の特定の実施例では、個々の潜在的バスから伝送ゲートのソース/ドレインの組み合わせに単一の接続がされ、そして伝送ゲートのソース/ドレインの組み合わせは、論理セルの入力ノードに結合されている。16のこのような伝送ゲートが、16:1通過ゲート・マルチプレクサに存在する。ソフトウェア及びデコード論理回路が、ただ1つの特定の通過ゲートが、いずれかの単一入力ノードに接続されることを保証する。
【0027】
出力マルチプレクサ34は、論理セルの多数サイドにおいて関連するローカル・バスL1〜L4への16の出力をもつ。トライ・ステイト・バッファ32からの出力信号は、マルチプレクサの構成ビットに従って16の出力の中の1つに選択的に結合される。論理セル16の内部論理及び相互接続のこれ以上の説明は、米国特許申請、主題「PROGRAMMABLE LOGIC CELL」に記述されている。
【0028】
図4に示すように、個々のコア・セルの対角線に位置する2つの角(かど)に、プログラム可能なバス折り返し点38が設けられ、スーパ・バス以外のすべてのバスに対して、垂直バスを水平バスに結合することを可能にする。コア・セル16を取囲むバス配線間にプログラム可能バス折り返し点を構成するための構成データは、所定の論理セルに対する関連する配線構成データ中に含まれる。
【0029】
図4及び図5を参照すると、水平バス及び垂直バスが、フィールド・プログラマブル・ゲート・アレイ内で論理セル16のそれぞれを取囲んでいる。これらのバスは4つのローカル・バスL1、L2、L3、L4、2つの直通バスE1、E2、及び1つのスーパ・バスS1を含んでいる。個々のセクタの境界において、例えば8つの論理セル毎にローカル・バス、直通バス、及びスーパ・バス配線間の切り替えを行うため、及びフィールド・プログラマブル・ゲート・アレイの多数のセクタにわたってバスの信号をバッファリングするために、中継器のグループ36がバス配線の中間に置かれる。更に、特定の中継器グループは中継器ラッチを含み、関連するローカル・バスからのデータの選択的取込み、及びそのローカル・バスへのデータの選択的送付を可能にする。中継器グループの各中継器は、関連する構成データによりプログラム可能であり、複数の中継機構成の1つを備える。
【0030】
プログラマブル・ゲート・アレイ内のコア・セルの行の片側に関連付けられるバスのグループを、図6及び図7に示す。中継器回路、例えば36aが、8個のコア・セル毎の間隔で、各セクタ境界においてローカル・バスL1及び直通バスE1と関連付けられる。更に、ローカル・バスL1はジャンパ53を含み、これはローカル・バスを小さなバス・セグメントへ選択的に分割することを可能にする。中継器ラッチ50が(矢印で示す)、ローカル・バスと関連付けられた各中継器回路に並列に設けられる。例えば中継器ラッチ501は、ローカル・バスL1の部分52と部分56との間に結合されたLSSDレジスタを含む。同様に、図で示すように同じような中継器ラッチ502、503、504が中継器回路36b及び36c内でローカル・バスL2、L3及びL4とそれぞれ関連付けられる。
【0031】
図7を参照すると、中継器回路、例えば中継器回路36aの各種ノードを相互接続する点線が、4つの各ノード、52、54、56、58間の可能なバッファ構成を示す。中継器回路36aに含まれる各種のプログラム可能トライ・ステイト・バッファ62、64(図8を参照)は、多様な構成を可能にする。フィールド・プログラマブル・ゲート・アレイ内の各行20及び各列18のバスは、行バス20a(図2)に対応する構造を含む。
【0032】
図9は、中継器36aに関連付けられたいくつかのプログラム可能リソースの詳細を示す。通過ゲート60は、ノード52及びノード56との間のチャネルのそれぞれと結合された2つのFET素子からなる。通過ゲート60のFETのゲートは、選択信号PS0(及びその補数)により使用可能にされる。トライ・ステイト・バッファ62の入力は、ノード52に結合され、出力はノード56に結合される。バッファ62のトライ・ステイト・イネーブルは、第2の選択信号PS1を受信するために結合される。第2のトライ・ステイト・バッファ64は、ノード52と56との間で反対向きに結合され、そのトライ・ステイト・イネーブルは第3の選択信号PS2を受信して使用可能にされる。
【0033】
中継器ラッチ50(図9及び図10を参照)は、一次入力Dinをもち、ローカル・バスL1のノード52から入力データを受信する。中継器ラッチ50の一次出力Doutが、ローカル・バスL1のノード56に結合される。二次入力及び二次出力のSin及びSoutが、それぞれ直列スキャン・チェーンの直列データの受信及び送信のために設けられ、この中に中継器ラッチ50が組込まれる。中継器ラッチ50は、A、B、及びCクロックの受信のために3つのクロック入力をもち、これらが中継器ラッチのLSSD操作を可能にする。中継器ラッチのトライ・ステイト・イネーブルがトライ・ステイト・イネーブル信号TSE(及びその補数)の受信のために結合され、中継器ラッチがその一次出力Doutへデータを提供することを可能にする。
【0034】
図10は、中継器ラッチ50の代表的な構成図を示す。通過ゲート70及び72が、一次入力Din及び二次入力Sinそれぞれを、反転回路74及び76を含む第1のラッチに選択的に結合させる。通過ゲート78が第1のラッチ74、76と、反転回路80、82を含む第2のラッチとの間に設けられる。第2のラッチ80、82の出力が、二次出力Sout及びトライ・ステイト反転回路84の入力にも与えられる。トライ・ステイト反転回路84の出力は、トライ・ステイト・イネーブル信号TSEにより使用可能になったときに、一次出力Doutをドライブし、第2のラッチのデータをノード56へ送信する。
【0035】
図11の直列スキャン・チェーン51の例のような直列スキャン・チェーンに直列データを入力するために、中継器ラッチ50はAクロック入力でクロック・パルスを受信する。Aクロック・パルスはNFET72のゲートに与えられ、二次入力Sinのデータの第1のラッチ74、76への転送を可能にする。代替的に一次入力Dinのデータを取込むには、一次入力Dinからのデータを第1のラッチ74、76へ転送するために、Cクロック・パルスがNFET70のゲートに与えられる。データを第1のラッチから第2のラッチへシフトするためには、Bクロック・パルスがNFET78のゲートに与えられ、その結果第2のラッチのラッチ・データが第1のラッチに取込まれたデータに従って更新される。第2のラッチのラッチ・データを一次出力Doutに出力するには、トライ・ステイト反転回路84を使用可能にするトライ・ステイト・イネーブル信号TSEを与えるように、中継器ラッチ50用の構成データをプログラムする。代替の方法としては、一次入力Dinと関連付けられた一次データ経路に反転回路(表示されていない)が設けられ、一次入力から一次出力へ伝達されるデータが全体として反転されることを防ぐ。但し、本発明のこの実施例では、回路構成を生成する合成ソフトウェアが、単一トライ・ステイト反転回路84により生ずる一次入力と一次出力との間の極性反転を許容できる。
【0036】
図10の構成図は、本発明の範囲で提供できるLSSDタイプのラッチ・レジスタの実施例の1つを示すにすぎないことに留意されたい。第2のラッチのデータを、プログラマブル・ゲート・アレイの分配相互接続に関連付けられた一次出力Doutへ選択的に結合するために、プログラム可能トライ・ステイト出力が含まれるならば、他のLSSDレジスタも使用できる。本開示で使用されるように、LSSDは、レベル・センシティブ・スキャン・デザインを表す。既知のLSSD技術及び回路は、本発明の代理人に譲渡された、Eichelbergerによる米国特許第3,783,254号、主題「LEVEL SENSITIVE LOGIC SYSTEM」、及びR.W.Bassett、外によるIBM Journal of Research & Development、Vol 14、No.2/4、1990年3月/5月、主題「Boundary−Scan Design Principles for Effective LSSD ASIC Testing」などに記載されている。
【0037】
図7、図11、及び図12を参照すると、本発明の好ましい実施例で、複数の中継器ラッチが次々につながり、直列スキャン・チェーン51を構成する。直列スキャン・チェーンは、個々の中継器ラッチへの直列データ入力及びそこからの直列データ出力の直列スキャニングを可能にする。個々の直列中継器ラッチ、例えば中継器ラッチ501は、その後の中継器ラッチ、例えば502の直列入力Sinと接続される個々の直列出力Soutをもつ。スキャン・チェーン51の第1の中継器ラッチ501の直列入力Sinは、スキャン・チェーン51のスキャン入力SIを提供する。スキャン・チェーンの最後の中継器ラッチ5024の直列出力Soutは、スキャン・チェーン51のスキャン出力SOを提供する。スキャン・チェーン51内の各中継器ラッチは、A、B、Cクロック入力を共用し、そのLSSD操作用のA、B、Cクロックのそれぞれを受信する。これと対照的に、関連する中継器ラッチの一次出力Doutを提供する各トライ・ステイト反転回路は、構成メモリ92の独自のメモリ・セルを割り当てられる。したがって、関連する中継器ラッチの各トライ・ステイト反転回路は、関連するメモリ・セル内の構成データに従って提供される、それ独自のトライ・ステイト・イネーブル信号により、他とは独立して使用可能になる。
【0038】
本発明の好ましい実施例では、中継器ラッチは個々の行バス20内の個別の並列スキャン・チェーンに一列に並べられる。同様に、追加中継器ラッチも、個々の垂直の列バス18(これらのバスは、図2に示す)内の個々の並列スキャン・チェーンに一列に並べられる。好ましくは、個々のスキャン・チェーンのスキャン・アウトSO及びスキャン・インSIが、プログラマブル・ゲート・アレイの機能ラインの中から、プログラマブル・ゲート・アレイの関連する行及び列に近接する個々の入出力ポート14に、選択的に多重化される(表示されていない)のが望ましい。
【0039】
操作では、プログラマブル・ゲート・アレイ内の論理セル16の選択グループが、所望の論理回路に従って構成され、相互接続される。構成される論理回路の境界に関連付けられる各相互接続は、関連する中継器ラッチ50を含む。好ましくは、構成される論理回路の相互接続入力は、関連する第1のスキャン・チェーン51(図12)の中継器ラッチにより交差され、直列スキャンされた入力データを構成される論理回路の入力に送付することを可能にし、一方で構成される論理回路の相互接続出力が第2のスキャン・チェーンの中継器ラッチ(表示されていない)と交差する。個々のスキャン・チェーンのスキャン入力SI及びスキャン出力SOが、プログラマブル・ゲート・アレイの入出力ポートで他の機能ラインと共用される場合、個々の第1及び第2のスキャン・チェーンのスキャン入力及びスキャン出力をアクセスするために、関連する二重使用入力ポートを構成するための適切なプログラミングが必要である。
【0040】
一旦適切に構成されると、試験ベクトルがA、Bクロックそれぞれの作用により第1のスキャン・チェーンにスキャン・インされ、一方トライ・ステイト・バッファ62、64、及び関連する中継器回路の通過ゲート60は使用不能にされる。試験ベクトルが第1のスキャン・チェーンにスキャン・インされた後で、第1のスキャン・チェーンの各中継器ラッチのトライ・ステイト反転回路84が使用可能にされ、試験ベクトルを構成される論理回路の入力に送付する。構成される回路による適切な処理の後、Cクロックの適切な作用により、第2のスキャン・チェーンの関連する中継器ラッチの第1のラッチに、構成された回路の処理の結果生ずるデータ出力が取込まれる。構成された論理回路の処理の結果生ずる出力データを取込んだ後で、取込みデータはA、Bクロックそれぞれの作用により第2のスキャン・チェーンからスキャン・アウトされる。スキャン・アウトされた結果のデータは、次に、構成された論理回路の適切な機能性を判定するために、所定の予想データと分析比較される。
【0041】
上記の操作の中で、構成される論理回路をプログラマブル・ゲート・アレイの他の部分から分離するために、構成される論理回路の相互接続が開放された。次に試験データが構成される論理回路に与えられ、そこからの結果データが境界スキャン・チェーンを介して得られた。したがって、構成される論理回路はプログラマブル・ゲート・アレイの他の部分からは独立して試験される。
【0042】
図12及び図13を参照すると、各セクタの各列は、クロック及びリセット信号を論理セル16のフリップ・フロップ25へ分配するための分配ネットワークをもつ。列クロック線106は、関連する列クロック・マルチプレクサ102の出力からクロック信号を受信し、このクロック信号を所定のセクタの所定の列の各論理セル16のフリップ・フロップ25に分配する。マルチプレクサ102は、それ自身の列又は最大2列離れた列のクロック信号から1つのクロック信号を選択するように構成される。同様の回路及び信号ラインが、さまざまな列の論理セルのフリップ・フロップ25にリセット信号を分配するために設けられる。
【0043】
フィールド・プログラマブル・ゲート・アレイの各列と関連付けられ、複数のセクタにわたる、グローバル列クロック線104が設けられ、関連するグローバル列マルチプレクサ100からのクロック信号を分配する。グローバル・マルチプレクサ100は、多数のシステム・クロック112及び関連する内部で生成されたクロック101の中から1つのクロックを選択的に結合し、個々のグローバル列クロック線104をドライブする。フィールド・プログラマブル・ゲート・アレイ内のクロック、及びリセット・ネットワークの構成及びプログラミングに関するこれ以上の情報は、米国特許申請、主題「PROGRAMMABLE ARRAY CLOCK/RESET RESOURCE」に記載されている。
【0044】
本発明の代替実施例では、マルチプレクサ108(図12を参照)が、操作制御信号パス112のシステム・クロック、又は試験制御信号パス110の試験クロックを、スキャン・チェーン51の中継器ラッチ50のA、B、C入力114に選択的に結合する。したがって、プログラマブル・ゲート・アレイの試験中に、試験クロック110のA、B、Cクロックにより与えられる適切な計時を用いて中継器ラッチ501、502...を使用できる。代替的に、中継器ラッチ501、502...を、プログラマブル・ゲート・アレイの機能操作中に、他の論理セル16と共に使用し、システム・クロック112が提供する適切な計時によりデータのラッチ及び処理を実行できる。
【0045】
一般的に、中継器ラッチが他の論理セル16と共に機能上で使用される場合、中継器ラッチのC及びBクロック入力だけが計時され、一方で中継器ラッチのトライ・ステイト反転回路84が、そのラッチ・データを関連する相互接続へ送付するために使用可能にされる。更に、単一のクロックから、2つの個別のクロックをC及びB入力のために生成することが可能である。単一クロックの非反転信号が中継器ラッチのC入力に送付され、一方中継器ラッチのB入力はその単一クロックの反転信号を受信する。このような操作を行うために、マルチプレクサ108は、中継器ラッチ50のB及びC入力と結合された2つの出力ライン114をもち、マルチプレクサの2つの入力は、試験クロック110のB及びCクロックと結合され、代替する2つの入力はシステム・クロック112の関連するクロック線と結合される。マルチプレクサの代替入力と結合された、システム・クロック112の2つの関連するクロックは、単一クロックでも与えられる。ここで、その非反転信号が1つのクロック線と結合され、もう1つのクロック線は反転回路を介した(表示されていない)同じ信号によりドライブされる。
【0046】
配列(array)をプログラム可能にするために、多様な技術が当分野に知識のある当業者には知られている。マスクを使ったプログラミング技術は、最後の金属化層の付着をカストマイズすることを含み、この金属化層は、カストマイズされないときは共通に設計された集積回路に使われるものである。(例えば、Cox、外に発行された米国特許第3,993,919号、主題「PROGRAMMABLE LATCH AND OTHER CIRCUITS FOR LOGIC ARRAYS」、1976年11月23日付、及びFitzgeraldに発行された米国特許第4,742,383号、主題「MULTI−FUNCTION FET MASTERSLICE CELL」、1988年5月3日付、を参照されたい。これら双方の特許は本申請と同じ出願人に譲渡されている。)レーザを使ったプログラミング技術は、金属化層の付着後に金属化層をカストマイズすることを含む。(例えば、Raffel、外による主題「A WAFER−SCALE DIGITAL INTEGRATOR USING RESTRUCTURABLE VLSI」、IEEE Journal ofSolid−State Circuits、Vol.SC−20、No.1、1985年2月、頁399を参照されたい。)溶融可能リンク、又はアンチ・フューズも用いられ、これらは恒久的な(揮発性でない)プログラミングを行う。(例えば、Millanによる主題「MICROELECTRONICS」、McGraw−Hill社、1979年出版、頁196、及びElgamal、外に発行された米国特許第4,758,745号、主題「USER PROGRAMMABLE INTEGRATED CIRCUIT INTERCONNECT ARCHITECTURE AND TEST METHOD」、1988年7月19日付を参照されたい。)消去可能プログラム可能読み出し専用メモリ(EPROM)素子、及び電気的に消去可能なプログラム可能読み出し専用メモリ(EEPROM)素子も用いられ、半恒久的なプログラミングを提供する。EPROM及びEEPROMは両方とも電気的にプログラム可能であり、電源が切れてもそれらの状態を保持する。しかしこれらの素子を再プログラムするためには、特別な消去手順が用いられる。(例えば、Wood、外による主題「AN ELECTRICALLY ALTERABLE PLA FOR FAST TURNAROUND TIME VLSI DEVELOPMENT HARDWARE」、IEEE Journal of Solid−StateCircuits、Vol.SC−16、No.5、1981年10月、頁570を参照されたい。)最後に揮発性のランダム・アクセス・メモリ(RAM)素子も使用可能であり、これらは完全にプログラム可能及び再プログラム可能であるが、電源が切れるとそのプログラム状態が失われる。(例えば、Balasubramanian、外に発行された米国特許第4,177,452号、1979年12月4日付を参照されたい。この特許は本申請と同じ出願人に譲渡されている。)配列をプログラムするこれらの技術及び他の技術は、当分野の当業者には周知のものであり、又S.Brown、R.Francis、J.Rose及びZ.Vranesicによる主版物、主題「FIELD−PROGRAMMABLE GATE ARRAYS」、Kluwer Academic Publishers 1992年発行にも全体的に記述されている。
【0047】
配列をプログラムするための本発明の好ましい方法は、ユーザがプログラムするSRAMメモリ・セルを含む。配列は、主題「APPLICATION NOTE AT6000 SERIES CONFIGURATION」の出版物、1993年5月発行、改定1B、Atmel Corporation社発行、で開示されている技術に従って構成される。SRAMのメモリ・セルは、関連する論理ビット・マップに従ってフィールド・プログラマブル・ゲート・アレイ、FPGAのプログラム可能リソースに割り当てられる。
【0048】
図11を参照すると、フィールド・プログラマブル・ゲート・アレイ90(FPGA)がコンピュータ・システムに組込まれる場合、FPGA用のSRAM92にFPGAのプログラム可能リソースを構成するための所定の構成データがロードされる。電源投入時に、データ源96の構成データが、例えばEEPROMからダウンロードされ、SRAMの関連するメモリ・セルにロードされ、プログラマブル・ゲート・アレイの各種のプログラム可能リソースをドライブする。
【0049】
代替として、外部コントローラ(表示されていない)がフィールド・プログラマブル・ゲート・アレイとインターフェースされ、構成データを提供する。通常はFPGAの機能操作中には試験操作は実施されないので、このような試験に関連する構成データは、標準ブートアップ・メモリ素子内には含まれない。その代わり、このような試験操作を可能にするための構成データを提供するために、一般的に品質保証試験システムの一部である外部コントローラが、フィールド・プログラマブル・ゲート・アレイのSRAM92をアドレス指定し、相互接続及び中継器ラッチを構成するために、その中に適切な構成データをロードする。このようにして、上で説明したように試験が可能になる。更に、外部コントローラは、個々のスキャン・チェーンへのデータのスキャン・イン及びそこからのデータのスキャン・アウト、ならびに適切なスキャン・チェーンへのデータの取込みに必要なA、B、Cクロックを提供する。システム・クロックは、必要に応じて、所定の構成される論理回路内の各種の論理セルの機能操作用に提供される。
【0050】
したがって、上記で開示したものは、プログラマブル・ゲート・アレイの選択相互接続内に組込まれるプログラム可能中継器ラッチであり、これは、プログラマブル・ゲート・アレイの構成される回路の特定のブロックの分離及び試験を可能にする。更に、この他にも、プログラム可能中継器ラッチは、プログラマブル・ゲート・アレイの関連する構成される回路と機能的に協調動作する機能素子としても使用できる。
【0051】
本発明を、特に好ましい実施例を参照にして開示し、説明したが、本発明の意図及び範囲を逸脱することなく、その中に形態及び詳細について各種の他の変更が可能であることは、当分野に知識をもつ当業者には明かであろう。
【0052】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0053】
(1) 複数のプログラム可能論理回路と、前記プログラム可能論理回路の接続のためのプログラム可能相互接続ネットワークと、前記プログラム可能相互接続ネットワーク内に接続される少なくとも1つのプログラム可能インターフェース回路とを有する集積回路であって、前記プログラム可能インターフェース回路が、
少なくとも1つの入力ノード及び少なくとも1つの出力ノードと、
前記入力ノードと前記出力ノードとの間に接続され、前記入力ノードにおける論理状態に関連するバッファリングされた出力信号を前記出力ノードへ選択的に与えるための回路と、
前記入力ノードから受信した論理状態を選択的に記憶するために、前記入力ノードに接続される信号記憶回路と、
を含む集積回路。
(2) 前記プログラム可能インターフェース回路が二次入力ノード及び二次出力ノードを更に含み、前記信号記憶回路が、
前記入力ノード又は前記二次入力ノードのいずれかから受信した論理状態を選択的に記憶するために、前記入力ノード又は前記二次入力ノードと選択的に結合される一次選択ラッチと、
前記一次選択ラッチと選択的に結合され、更に前記二次出力ノードにラッチされたデータを与えるために、前記二次出力ノードに結合される二次選択ラッチであって、前記ラッチされたデータは、前記一次選択ラッチの事前に記憶された論理状態を表すものである二次選択ラッチと、
を更に含む、(1)に記載の集積回路。
(3) 前期プログラム可能インターフェース回路が、前記ラッチされたデータを表すデータを前記出力ノードへ選択的に与えるために、前記出力ノードと選択的に結合されるプログラム可能ドライバを更に含む、(2)に記載の集積回路。
(4) 前記複数のプログラム可能論理回路の各々が信号記憶ラッチを含む、(1)に記載の集積回路。
(5) 前記集積回路が複数の操作制御信号パス及び複数の試験制御信号パスを更に含み、前記集積回路が、
前記複数の操作制御信号パスの少なくとも1つの選択操作制御信号パスと、前記複数の試験制御信号パスの少なくとも1つの選択試験制御信号パスで構成されるグループの、少なくとも1つの信号パスを前記信号記憶回路に選択的に接続し、その結果前記信号記憶回路が前記集積回路の試験時、又は前記集積回路の操作時に選択的に使用できるプログラム可能カプラとを更に含む、
(1)に記載の集積回路。
(6) 前記信号記憶回路が、
直列入力データの受信のための二次入力ノードと、
直列出力データの送信のための二次出力ノードと、
一次及び二次のラッチされるデータそれぞれを保存する一次及び二次ラッチと、
前記入力ノードと前記一次ラッチとの間に配置される第1の選択カプラであって、前記第1の選択カプラが、第1のクロック信号に従って前記入力ノードの一次データを前記一次ラッチに選択的に結合し、その結果一次データが前記一次のラッチされるデータとして取込まれる、第1の選択カプラと、
前記二次入力ノードと前記一次ラッチとの間に配置される第2の選択カプラであって、前記第2の選択カプラが、第2のクロック信号に従って前記二次入力ノードの直列入力データを前記一次ラッチに選択的に結合し、その結果直列入力データが前記一次のラッチされたデータとして取込まれる、第2の選択カプラと、
前記一次ラッチと前記二次ラッチとの間に配置される第3の選択カプラであって、前記第3の選択カプラが、第3のクロック信号に従って前記一次ラッチを前記二次ラッチに選択的に結合し、その結果前記二次ラッチの二次ラッチされたデータを前記一次ラッチされたデータに従って更新し、二次ラッチされたデータを表すデータが前記二次出力ノードにおいて直列出力データとして提供される、第3の選択カプラと、
を含む、(1)に記載の集積回路。
(7) 前記信号記憶回路が、
前記二次ラッチされたデータを表す出力信号を前記出力ノードへ選択的に出力するためのプログラム可能出力手段と、
第1のプログラム可能選択信号に従って前記出力信号を選択的に出力するためのプログラム可能出力手段と、
を更に含む、(6)に記載の集積回路。
(8) 前記プログラム可能出力がトライ・ステイト反転回路を含み、その入力は前記二次ラッチされたデータを受信するために前記二次ラッチに結合され、そのトライ・ステイト・イネーブルは、前記第1のプログラム可能選択信号によりドライブするように結合され、更にその出力は前記第1のプログラム可能選択信号により使用可能にされたときに、前記出力信号を提供するために前記出力ノードに結合される、(7)に記載の集積回路。
(9) 前記入力ノード及び前記出力ノード間に接続される前記回路が、入力が前記入力ノードに結合され、出力が前記出力ノードに結合されるトライ・ステイト・バッファを含み、更にそのトライ・ステイト・イネーブルは、第2のプログラム可能選択信号を受信するように結合される、(7)に記載の集積回路。
(10) 前記信号記憶回路がスキャン・チェーンの一部である、(1)に記載の集積回路。
(11) 前記回路の選択性を制御するための第1の構成データを提供する第1のデータ源と、
前記信号記憶回路の選択性を制御するための第2の構成データを提供する第2のデータ源と、
を更に含む、(1)に記載の集積回路。
(12) 集積回路を操作する方法であって、
複数のプログラム可能論理回路と、前記プログラム可能論理回路を接続するためのプログラム可能相互接続ネットワークと、前記プログラム可能相互接続ネットワークの所定のプログラム可能相互接続内において、信号を選択的にバッファリングするためのプログラム可能バッファと、前記所定のプログラム可能相互接続のデータを選択的に取込み、記憶するための第1の直列スキャン・チェーンの信号記憶回路とを有する集積回路を提供するステップと、
所望の論理設計を実施するために、構成される論理回路として、前記複数の論理回路の選択プログラム可能論理回路と、前記所定のプログラム可能相互接続を含む前記プログラム可能相互接続ネットワークの、選択プログラム可能相互接続とを構成するステップと、
前記構成される論理回路にその励振用に既知データを与えるステップと、
前記既知データによる励振に応答する前記構成される論理回路の処理の結果生ずる、前記所定のプログラム可能相互接続のデータを、前記第1のスキャン・チェーンの前記信号記憶回路に取込むために、前記信号記憶回路を選択的に操作するステップと、
前記第1のスキャン・チェーンから前記取込みデータをスキャン・アウトするステップと、
を含む方法。
(13) 前記集積回路が、前記既知データを受信し、更に前記既知データを前記構成される論理回路に選択的に与えるために、第2のスキャン・チェーンの第2の信号記憶回路をも含み、
前記構成される論理回路に既知データを与える前記ステップが、既知データを前記第2のスキャン・チェーンにスキャン・インすること、及び前記第2のスキャン・チェーンの前記第2の信号記憶回路から、既知データを励振用に前記構成される論理回路に転送するために、前記第2の信号記憶回路を選択的に操作することとを含む、
(12)に記載の方法。
(14) 集積回路を操作する方法であって、
複数のプログラム可能論理回路と、前記プログラム可能論理回路を接続するためのプログラム可能相互接続ネットワークと、前記プログラム可能相互接続ネットワークの所定のプログラム可能相互接続内において、信号を選択的にバッファリングするためのプログラム可能バッファと、前記所定のプログラム可能相互接続にデータを選択的に提供するための直列スキャン・チェーンの信号記憶回路とを有する集積回路を提供するステップと、
所望の論理設計を実施するために、構成される論理回路として、前記複数の論理回路の選択プログラム可能論理回路、及び前記所定のプログラム可能相互接続を含む前記プログラム可能相互接続ネットワークの、選択プログラム可能相互接続を構成するステップと、
前記直列スキャン・チェーンを介して前記信号記憶回路に既知データを直列にスキャン・インするステップと、
前記既知データを前記構成される論理回路への入力データとして、前記所定のプログラム可能相互接続に与えるために、前記信号記憶回路を選択的に操作するステップと、
を含む方法。
(15) 前記構成される論理回路による前記入力データを処理することと、
前記構成される論理回路の前記処理の結果生ずる出力データを、第2の直列スキャン・チェーンの第2の信号記憶回路に取込むことと、
を更に含む、(14)に記載の方法。
(16) 集積回路を操作する方法であって、
複数のプログラム可能論理回路と、前記プログラム可能論理回路を接続するためのプログラム可能相互接続ネットワークと、前記プログラム可能相互接続ネットワークの個々の相互接続内に関連する信号を選択的にバッファリングするための、プログラム可能バッファと、関連する前記プログラム可能相互接続のデータを選択的に取込み記憶するため、又はその記憶されたデータを関連する前記プログラム可能相互接続に選択的に出力するための、個々のプログラム可能バッファと並列となる、複数の信号記憶回路とを有する集積回路を提供するステップと、所望の論理設計を実施するために、構成される論理回路として、前記複数の論理回路の選択プログラム可能論理回路、及び前記プログラム可能相互接続ネットワークの選択プログラム可能相互接続を構成するステップと、
前記構成される論理回路の少なくとも1つの入力線にわたる入力直列スキャン・チェーンとして、前記複数の信号記憶回路の第1の選択信号記憶回路を構成するステップと、
前記構成される論理回路の少なくとも1つの出力線にわたる出力直列スキャン・チェーンとして、前記複数の信号記憶回路の第2の選択信号記憶回路を構成するステップと、
前記入力直列スキャン・チェーンに既知データをスキャン・インするステップと、
前記構成される論理回路の少なくとも1つの入力線と関連づけて、選択プログラム可能相互接続のプログラム可能バッファを選択的に使用不能にするステップと、
前記既知データを前記構成される論理回路に与えるために、前記入力直列スキャン・チェーンの前記第1の選択信号記憶回路を選択的に使用可能にするステップと、
前記構成される論理回路で前記既知データを処理するステップと、
前記構成される論理回路の結果として、前記少なくとも1つの出力線で出力データを取込むために、前記出力直列スキャン・チェーンの前記第2の選択信号記憶回路を選択的に操作するステップと、
前記出力直列スキャン・チェーンから前記取込みデータをスキャン・アウトするために、前記出力直列スキャン・チェーンの前記第2の選択信号記憶回路を選択的に操作するステップと、
を含む方法。
(17) 複数のプログラム可能論理回路と、複数のプログラム可能相互接続とを有するプログラマブル・ゲート・アレイ(PGA)であって、前記複数のプログラム可能相互接続の少なくとも1つのプログラム可能相互接続が、その中に配置された中継器/ラッチ回路を含み、前記中継器/ラッチ回路が、
前記少なくとも1つのプログラム可能相互接続の第1の部分に結合される第1のノードと、
前記少なくとも1つのプログラム可能相互接続の第2の部分に結合される第2のノードと、
前記第1及び第2のノード間に配置され、第1の選択信号に従ってその間に信号を選択的に伝達するためのプログラム可能結合回路と、
前記第1及び第2のノード間に配置されるLSSDレジスタと、
を含み、前記LSSDレジスタが、
一次データを受信するために前記第1のノードに結合される一次入力と、
直列データを受信するための直列入力と、
Cクロックのパルスにより有効になる前記一次入力の一次データ、又はAクロックのパルスにより有効になる前記直列入力の直列データのいずれかを、取込みデータとして選択的に取込むために、前記一次入力又は前記直列入力に選択的に結合される第1の選択ラッチと、
前記第1の選択ラッチの前記取込みデータに対応して、ラッチされるデータとしてその中にデータをラッチするために、前記第1の選択的ラッチに選択的に結合される第2の選択ラッチであって、前記ラッチされるデータのラッチ操作はBクロックのパルスに有効になる、第2の選択ラッチと、
前記第2の選択ラッチの前記ラッチされるデータに対応して、直列出力データを送信するための直列出力と、
前記ラッチされるデータに対応して、前記第2のノードへ一次出力データを選択的に出力するためのプログラム可能一次出力であって、前記一次出力データは第2の選択信号に従って前記第2のノードへ選択的に送付される、プログラム可能一次出力と、
を有する、プログラマブル・ゲート・アレイ。
(18) 前記プログラム可能結合回路が、トライ・ステイト・バッファを含み、その入力は前記第1のノードに結合され、その出力は前記第2のノードに結合され、更にそのトライ・ステイト・イネーブルは前記第1の選択信号を受信するために結合されるトライ・ステイト・バッファである、(17)に記載のPGA。
(19) 前記プログラム可能結合回路が、第2のトライ・ステイト・バッファを更に含み、その入力は前記第2のノードに結合され、その出力は前記第1のノードに結合され、更にそのトライ・ステイト・イネーブルは第3の選択信号を受信するために結合されるトライ・ステイト・バッファである、(18)に記載のPGA。
(20) 前記トライ・ステイト・バッファがトライ・ステイト反転回路を含む、(18)に記載のPGA。
(21) 前記プログラム可能結合回路が、前記第1のノードと前記第2のノード間に配置される通過ゲートを更に含み、前記通過ゲートが第3の選択信号に従って前記第1のノードを前記第2のノードに選択的に結合する、(18)に記載のPGA。
(22) 前記PGAの個々のプログラム可能リソースに関連付けられる複数のメモリ・セルと、
前記複数のメモリ・セルの第1のメモリ・セルであって、前記第1のメモリ・セルが前記プログラム可能結合回路と関連付けられ、更に前記第1のメモリ・セルに記憶されるデータに従って前記第1の選択信号を提供する、前記第1のメモリ・セルと、
前記複数のメモリ・セルの第2のメモリ・セルであって、前記第2のメモリ・セルが前記LSSDレジスタの前記プログラム可能一次出力と関連付けられ、更に前記第2のメモリ・セルに記憶されるデータに従って前記第2の選択信号を提供する、第2のメモリ・セルと、
を更に含む、(17)に記載のPGA。
(23) 前記第1及び第2のノード間に信号を伝達するために、前記プログラム可能結合回路を構成するように、前記第1のメモリ・セルにデータがロードされており、前記第2のノードに前記LSSDレジスタの一次出力データを与えるために、前記LSSDレジスタの前記プログラム可能一次出力を構成するように、前記第2のメモリ・セルにデータがロードされている、プログラム済みの(22)に記載のPGA。
(24) (22)に記載のPGAを使用するコンピュータ・システムであって、
前記プログラム可能結合回路、及び前記LSSDレジスタの前記プログラム可能一次出力の所望の構成状態に従い、前記第1及び第2のメモリ・セルそれぞれの中に前記関連する記憶データとして記憶するために、所定の第1及び第2の構成データを提供するための構成手段を更に含む、
コンピュータ・システム。
(25) 前記構成手段が、RAM、ROM、EPROM及びEEPROMからなるグループのメモリ素子を含み、前記メモリ素子が、前記プログラム可能結合回路、及び前記LSSDレジスタの前記プログラム可能一次出力を含む、前記PGAのプログラム可能リソースに割当てられるデータ構造体メモリ・マップを含む、(24)に記載のコンピュータ・システム。
(26) 前記LSSDレジスタの前記プログラム可能一次出力がトライ・ステイト・バッファを含み、その出力は前記第2のノードに結合され、その入力は前記ラッチされたデータを受信するために結合され、更にそのトライ・ステイト・イネーブルは前記第2の選択信号を受信するために結合される、(17)に記載のPGA。
(27) 前記LSSDレジスタが、直列スキャン・チェーンを設ける複数のLSSDレジスタの1つであり、前記複数のLSSDレジスタの隣接するLSSDレジスタが、近傍の直列出力/入力に結合される個々の直列入力/出力を有し、前記直列スキャン・チェーンの前記複数のLSSDレジスタがA、B、Cクロックそれぞれを共用し、更に個々のプログラム可能一次出力用に個別の前記第2の選択信号を受信する、(17)に記載のPGA。
(28) 前記複数のプログラム可能論理回路の関連する構成される論理回路を計時するために、前記関連する構成される論理回路の機能操作中に、各種のシステム・クロック信号を伝達するための複数の機能クロック線と、
前記LSSDレジスタを計時するために、前記PGAの試験中に試験クロック信号を伝達するための複数の試験クロック線と、
前記複数の機能クロック線の少なくとも1つの選択機能クロック線、又は前記の複数の試験クロック線の少なくとも1つの選択試験クロック線のいずれかを、前記LSSDレジスタの関連する前記A、B、Cクロックとして関連付けて、二者択一的に前記LSSDレジスタに結合させるためのプログラム可能選択手段であって、その結果前記LSSDレジスタが、前記PGAの機能操作中には、関連する少なくとも1つの機能クロック信号により計時され、あるいは前記PGAの試験中には、関連する少なくとも1つの試験クロック信号により代わって計時される、プログラム可能選択手段と、
を更に含む、(17)に記載のPGA。
(29) 前記プログラム可能選択手段が、前記LSSDレジスタのC及びBクロックを選択的に提供する、(28)に記載のPGA。
(30) 前記プログラム可能選択手段がマルチプレクサを含む、(28)に記載のPGA。
【図面の簡単な説明】
【図1】複数のプログラム可能論理セルを中に配置した、プログラマブル・ゲート・アレイを示す図である。
【図2】中に配置される複数のプログラム可能論理セル、及び論理セルを選択的に接続するためのプログラム可能相互接続ネットワークを有する、プログラマブル・ゲート・アレイのセクタ部分を示す図である。
【図3】プログラム可能論理素子及び論理セルの相互接続を示すブロック図である。
【図4】4つの論理セル、ならびにそれらに関連するバス配置及び4つの個別セクタの境界に配置されたバス中継器を示す図である。
【図5】図4の単一論理セルとこれに関連する周囲のバス配置を示す図である。
【図6】プログラマブル・ゲート・アレイ内の論理セルの行に沿ったプログラム可能バス配置相互接続の中継器及びジャンパ回路を示すブロック図である。
【図7】図6の中継器回路の構成オプションを示す詳細なブロック図である。
【図8】本発明に基づく中継器ラッチを有する中継器回路の機能ブロック図である。
【図9】図8の中継器のいくつかの素子の詳細を示す部分的ブロック図である。
【図10】中継器ラッチの構造図である。
【図11】構成データの受信のために外部回路とインターフェースするプログラマブル・ゲート・アレイのブロック図である。
【図12】試験クロック又はシステム・クロックのいずれかを受信するために、選択的に結合されるスキャン・チェーンの中継器ラッチを示すブロック図である。
【図13】クロック線に結合された論理セルのラッチを示す図である。
【符号の説明】
10 プログラマブル・ゲート・アレイ
12 セクタ
14 入出力ピン
16 論理セル
161、1〜168、8 論理セル
16a、16b、16c、16d 論理セル
18a、18b 垂直相互接続導体
20a、20b 水平相互接続導体
22 プログラム可能NAND/NOR論理素子
24a、24b、24c、24d プログラム可能入力マルチプレクサ
25 フリップ・フロップ
26 反転回路
27 論理素子
28 出力マルチプレクサ
29 論理素子
30 出力マルチプレクサ
32 トライ・ステイト・バッファ
34 プログラム可能出力マルチプレクサ
36 中継器
36a、36b、36c 中継器回路
38 バス折り返し点
50 中継器ラッチ
501、502、503、504、505、5024 中継器ラッチ
51 直列スキャン・チェーン
52、521、522 ローカル・バス
53 ジャンパ
54 ローカル・バス
56、561、562 ローカル・バス
58 ローカル・バス
60 通過ゲート
62、64 プログラム可能トライ・ステイト・バッファ
70、72 通過ゲート(NFET)
74、76 第1ラッチ(反転回路より構成)
78 通過ゲート(NFET)
80、82 第2ラッチ(反転回路より構成)
84 トライ・ステイト反転回路
90 フィールド・プログラマブル・ゲート・アレイ
92 構成メモリ(SRAM)
94 コントローラ
96 データ源
100 グローバル列マルチプレクサ
101 内部生成クロック
102 列クロック・マルチプレクサ
104 グローバル列クロック線
106 列クロック線
108 マルチプレクサ
110 試験クロック(試験制御信号パス)
112 システム・クロック(操作制御信号パス)
114 A、B、C入力

Claims (11)

  1. マトリクス状に配置された複数のプログラム可能論理セルと、前記プログラム可能論理セルを接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワーク内の入力相互接続リードと出力相互接続リードとの間に接続される少なくとも1つのプログラム可能インターフェース回路とを有する集積回路であって、前記プログラム可能インターフェース回路が、
    前記入力相互接続リードから前記プログラム可能インターフェース回路へデータを運ぶための入力ノードと、前記プログラム可能インターフェース回路から前記出力相互接続リードへデータを運ぶための出力ノードと、
    前記入力ノードと前記出力ノードとの間に接続され、前記入力ノードにおける論理状態に関連するバッファリングされた出力信号を前記出力ノードへ選択的に与えるための回路と、
    前記入力ノードから受信した論理状態を選択的に記憶するために、前記入力ノードに接続される信号記憶回路と、
    を含む集積回路。
  2. マトリクス状に配置された複数のプログラム可能論理セルと、前記プログラム可能論理セルを接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワーク内に接続される少なくとも1つのプログラム可能インターフェース回路とを有する集積回路であって、前記プログラム可能インターフェース回路が、
    入力ノード及び出力ノードと、
    前記入力ノードと前記出力ノードとの間に接続され、前記入力ノードにおける論理状態に関連するバッファリングされた出力信号を前記出力ノードへ選択的に与えるための回路と、
    前記入力ノードから受信した論理状態を選択的に記憶するために、前記入力ノードに接続される信号記憶回路と、
    二次入力ノード及び二次出力ノードと、を含み、前記信号記憶回路が、
    前記入力ノード又は前記二次入力ノードのいずれかから受信した論理状態を選択的に記憶するために、前記入力ノード又は前記二次入力ノードと選択的に結合される一次選択ラッチと、
    前記一次選択ラッチと選択的に結合され、更に前記二次出力ノードにラッチされたデータを与えるために、前記二次出力ノードに結合される二次選択ラッチであって、前記ラッチされたデータは、前記一次選択ラッチの事前に記憶された論理状態を表すものである二次選択ラッチと、
    を含む、集積回路。
  3. マトリクス状に配置された複数のプログラム可能論理セルと、前記プログラム可能論理セルを接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワーク内に接続される少なくとも1つのプログラム可能インターフェース回路とを有する集積回路であって、前記プログラム可能インターフェース回路が、
    入力ノード及び出力ノードと、
    前記入力ノードと前記出力ノードとの間に接続され、前記入力ノードにおける論理状態に関連するバッファリングされた出力信号を前記出力ノードへ選択的に与えるための回路と、
    前記入力ノードから受信した論理状態を選択的に記憶するために、前記入力ノードに接続される信号記憶回路と、を含み、
    前記集積回路が複数の操作制御信号パス及び複数の試験制御信号パスを更に含み、前記集積回路が、
    前記複数の操作制御信号パスの少なくとも1つの選択操作制御信号パスと、前記複数の試験制御信号パスの少なくとも1つの選択試験制御信号パスで構成されるグループの、少なくとも1つの信号パスを前記信号記憶回路に選択的に接続するプログラム可能カプラを含み、その結果前記信号記憶回路が前記集積回路の試験時、又は前記集積回路の操作時に選択的に使用され得る、
    ことを特徴とする集積回路。
  4. マトリクス状に配置された複数のプログラム可能論理セルと、前記プログラム可能論理セルを接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワーク内に接続される少なくとも1つのプログラム可能インターフェース回路とを有する集積回路であって、前記プログラム可能インターフェース回路が、
    入力ノード及び出力ノードと、
    前記入力ノードと前記出力ノードとの間に接続され、前記入力ノードにおける論理状態に関連するバッファリングされた出力信号を前記出力ノードへ選択的に与えるための回路と、
    前記入力ノードから受信した論理状態を選択的に記憶するために、前記入力ノードに接続される信号記憶回路と、を含み、
    前記信号記憶回路が、
    直列入力データを受信するための二次入力ノードと、
    直列出力データを送信するための二次出力ノードと、
    一次及び二次のラッチされるデータそれぞれを保存する一次及び二次ラッチと、
    前記入力ノードと前記一次ラッチとの間に配置される第1の選択カプラであって、前記第1の選択カプラが、第1のクロック信号に従って前記入力ノードの一次データを前記一次ラッチに選択的に結合し、その結果一次データが前記一次のラッチされるデータとして取込まれる、第1の選択カプラと、
    前記二次入力ノードと前記一次ラッチとの間に配置される第2の選択カプラであって、前記第2の選択カプラが、第2のクロック信号に従って前記二次入力ノードの直列入力データを前記一次ラッチに選択的に結合し、その結果直列入力データが前記一次のラッチされるデータとして取込まれる、第2の選択カプラと、
    前記一次ラッチと前記二次ラッチとの間に配置される第3の選択カプラであって、前記第3の選択カプラが、第3のクロック信号に従って前記一次ラッチを前記二次ラッチに選択的に結合し、その結果前記二次ラッチの二次ラッチされたデータを前記一次ラッチされたデータに従って更新し、二次ラッチされたデータを表すデータが前記二次出力ノードにおいて直列出力データとして提供される、第3の選択カプラと、
    を含む、集積回路。
  5. 前記複数のプログラム可能論理セルの内のいくつかが、信号記憶ラッチを含む、請求項1〜4の何れか1つに記載の集積回路。
  6. 前記信号記憶回路がスキャン・チェーンの一部である、請求項1〜4の何れか1つに記載の集積回路。
  7. 前記回路の選択性を制御するための第1の構成データを提供する第1のデータ源と、
    前記信号記憶回路の選択性を制御するための第2の構成データを提供する第2のデータ源と、
    を更に含む、請求項1〜4の何れか1つに記載の集積回路。
  8. マトリクス状に配置された複数のプログラム可能論理セルと、前記プログラム可能論理セルを接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワークの所定のプログラム可能相互接続内において、信号を選択的にバッファリングするためのプログラム可能バッファと、前記所定のプログラム可能相互接続のデータを選択的に取込み及び記憶しそして前記所定のプログラム可能相互接続にデータを選択的に提供するための直列スキャン・チェーンの信号記憶回路と、を有する集積回路を提供するステップと、
    所望の論理設計を実施するために、構成される論理回路として、前記複数の論理セルの選択プログラム可能論理セルと、前記プログラム可能相互接続ネットワークの選択プログラム可能相互接続とを構成し、そして前記所定のプログラム可能相互接続を含むステップと、
    前記構成される論理回路にその励振用にデータを与えるステップと、
    前記データによる励振に応答する前記構成される論理回路の処理の結果生ずる、前記所定のプログラム可能相互接続のデータを、前記スキャン・チェーンの前記信号記憶回路に取込むために、前記信号記憶回路を選択的に操作するステップと、
    前記スキャン・チェーンから前記取込みデータをスキャン・アウトするステップと、
    を含む方法。
  9. 集積回路を操作する方法であって、
    マトリクス状に配置された複数のプログラム可能論理セルと、前記プログラム可能論理セルを接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワークの所定のプログラム可能相互接続内において、信号を選択的にバッファリングするためのプログラム可能バッファと、前記所定のプログラム可能相互接続のデータを選択的に取込み及び記憶しそして前記所定のプログラム可能相互接続にデータを選択的に提供するための直列スキャン・チェーンの信号記憶回路と、を有する集積回路を提供するステップと、 所望の論理設計を実施するために、構成される論理回路として、前記複数の論理セルの選択プログラム可能論理セルと、前記プログラム可能相互接続ネットワークの選択プログラム可能相互接続とを構成し、前記所定のプログラム可能相互接続を含むステップと、
    前記直列スキャン・チェーンを介して前記信号記憶回路にデータを直列にスキャン・インするステップと、
    前記データを前記構成される論理回路への入力データとして、前記所定のプログラム可能相互接続に与えるために、前記信号記憶回路を選択的に操作するステップと、
    を含む方法。
  10. 集積回路を操作する方法であって、
    マトリクス状に配置された複数のプログラム可能論理回路と、前記プログラム可能論理回路を接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワークの個々の相互接続内に関連する信号を選択的にバッファリングするための、プログラム可能バッファと、関連する前記プログラム可能相互接続のデータを選択的に取込み記憶するため、又はその記憶されたデータを関連する前記プログラム可能相互接続に選択的に出力するための、個々のプログラム可能バッファと並列となる、複数の信号記憶回路とを有する集積回路を提供するステップと、
    所望の論理設計を実施するために、構成される論理回路として、前記複数の論理回路の選択プログラム可能論理回路、及び前記プログラム可能相互接続ネットワークの選択プログラム可能相互接続を構成するステップと、
    前記構成される論理回路の少なくとも1つの入力線にわたる入力直列スキャン・チェーンとして、前記複数の信号記憶回路の第1の選択信号記憶回路を構成するステップと、
    前記構成される論理回路の少なくとも1つの出力線にわたる出力直列スキャン・チェーンとして、前記複数の信号記憶回路の第2の選択信号記憶回路を構成するステップと、
    前記入力直列スキャン・チェーンにデータをスキャン・インするステップと、
    前記構成される論理回路の少なくとも1つの入力線と関連づけて、選択プログラム可能相互接続のプログラム可能バッファを選択的に使用不能にするステップと、
    前記データを前記構成される論理回路に与えるために、前記入力直列スキャン・チェーンの前記第1の選択信号記憶回路を選択的に使用可能にするステップと、
    前記構成される論理回路で前記データを処理するステップと、
    前記構成される論理回路に、前記少なくとも1つの出力線における出力データを取込むために、前記出力直列スキャン・チェーンの前記第2の選択信号記憶回路を選択的に操作するステップと、
    前記出力直列スキャン・チェーンから前記取込みデータをスキャン・アウトするために、前記出力直列スキャン・チェーンの前記第2の選択信号記憶回路を選択的に操作するステップと、
    を含む方法。
  11. マトリクス状に配置された複数のプログラム可能論理回路と、行方向及び列方向に配置された複数のプログラム可能相互接続とを有するプログラマブル・ゲート・アレイ(PGA)であって、前記複数のプログラム可能相互接続の少なくとも1つのプログラム可能相互接続が、その中に配置されたプログラム可能インターフェース回路を含み、前記プログラム可能インターフェース回路が、
    前記少なくとも1つのプログラム可能相互接続の第1の部分に結合される第1のノードと、
    前記少なくとも1つのプログラム可能相互接続の第2の部分に結合される第2のノードと、
    前記第1及び第2のノード間に配置され、第1の選択信号に従ってその間に信号を選択的に伝達するためのプログラム可能結合回路と、
    前記第1及び第2のノード間に配置されるLSSDレジスタと、
    を含み、前記LSSDレジスタが、
    一次データを受信するために前記第1のノードに結合される一次入力と、
    直列データを受信するための直列入力と、
    Cクロックのパルスにより有効になる前記一次入力の一次データ、又はAクロックのパルスにより有効になる前記直列入力の直列データのいずれかを、取込みデータとして選択的に取込むために、前記一次入力又は前記直列入力に選択的に結合される第1の選択ラッチと、
    前記第1の選択ラッチの前記取込みデータに対応して、ラッチされるデータとしてその中にデータをラッチするために、前記第1の選択ラッチに選択的に結合される第2の選択ラッチであって、前記ラッチされるデータのラッチ操作はBクロックのパルスにより有効になる、第2の選択ラッチと、
    前記第2の選択ラッチの前記ラッチされるデータに対応して、直列出力データを送信するための直列出力と、
    前記ラッチされるデータに対応して、前記第2のノードへ一次出力データを選択的に出力するためのプログラム可能一次出力であって、前記一次出力データは第2の選択信号に従って前記第2のノードへ選択的に送付される、プログラム可能一次出力と、
    を有する、プログラマブル・ゲート・アレイ。
JP12139096A 1995-06-07 1996-05-16 プログラマブル・アレイ相互接続ラッチ Expired - Fee Related JP3549077B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US480639 1995-06-07
US08/480,639 US5732246A (en) 1995-06-07 1995-06-07 Programmable array interconnect latch

Publications (2)

Publication Number Publication Date
JPH098646A JPH098646A (ja) 1997-01-10
JP3549077B2 true JP3549077B2 (ja) 2004-08-04

Family

ID=23908755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12139096A Expired - Fee Related JP3549077B2 (ja) 1995-06-07 1996-05-16 プログラマブル・アレイ相互接続ラッチ

Country Status (3)

Country Link
US (1) US5732246A (ja)
EP (1) EP0748053A2 (ja)
JP (1) JP3549077B2 (ja)

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867507A (en) * 1995-12-12 1999-02-02 International Business Machines Corporation Testable programmable gate array and associated LSSD/deterministic test methodology
US5894565A (en) * 1996-05-20 1999-04-13 Atmel Corporation Field programmable gate array with distributed RAM and increased cell utilization
JP3484296B2 (ja) * 1996-06-28 2004-01-06 ブラザー工業株式会社 半導体集積回路
US5907843A (en) * 1997-02-27 1999-05-25 Apple Computer, Inc. Replaceable and extensible navigator component of a network component system
WO1998038581A1 (en) * 1997-02-28 1998-09-03 Kristian Rusanov Angelov A device for digital signal processing
US5995425A (en) * 1997-07-23 1999-11-30 International Business Machines Corporation Design of provably correct storage arrays
US6071314A (en) * 1997-09-29 2000-06-06 Xilinx, Inc. Programmable I/O cell with dual boundary scan
US5991908A (en) * 1997-09-29 1999-11-23 Xilinx, Inc. Boundary scan chain with dedicated programmable routing
US6120551A (en) 1997-09-29 2000-09-19 Xilinx, Inc. Hardwire logic device emulating an FPGA
US6209118B1 (en) * 1998-01-21 2001-03-27 Micron Technology, Inc. Method for modifying an integrated circuit
US7389487B1 (en) 1998-04-28 2008-06-17 Actel Corporation Dedicated interface architecture for a hybrid integrated circuit
US6519674B1 (en) * 2000-02-18 2003-02-11 Chameleon Systems, Inc. Configuration bits layout
US6536028B1 (en) * 2000-03-14 2003-03-18 Ammocore Technologies, Inc. Standard block architecture for integrated circuit design
US6718522B1 (en) * 2000-08-15 2004-04-06 Hewlett-Packard Development Company, L.P. Electrical rules checker system and method using tri-state logic for electrical rule checks
US6880133B2 (en) * 2002-05-15 2005-04-12 Sonics, Inc. Method and apparatus for optimizing distributed multiplexed bus interconnects
US7234092B2 (en) * 2002-06-11 2007-06-19 On-Chip Technologies, Inc. Variable clocked scan test circuitry and method
US7206831B1 (en) * 2002-08-26 2007-04-17 Finisar Corporation On card programmable filtering and searching for captured network data
US7480010B2 (en) * 2002-09-04 2009-01-20 Denace Enterprise Co., L.L.C. Customizable ASIC with substantially non-customizable portion that supplies pixel data to a mask-programmable portion in multiple color space formats
US7202908B2 (en) * 2002-09-04 2007-04-10 Darien K. Wallace Deinterlacer using both low angle and high angle spatial interpolation
US7346876B2 (en) * 2002-09-04 2008-03-18 Darien K. Wallace ASIC having dense mask-programmable portion and related system development method
US7782398B2 (en) * 2002-09-04 2010-08-24 Chan Thomas M Display processor integrated circuit with on-chip programmable logic for implementing custom enhancement functions
US6941539B2 (en) * 2002-10-31 2005-09-06 Src Computers, Inc. Efficiency of reconfigurable hardware
US6915503B1 (en) * 2002-12-17 2005-07-05 Xilinx, Inc. Methods of utilizing noise cores in PLD designs to facilitate future design modifications
US7200784B2 (en) * 2003-01-24 2007-04-03 On-Chip Technologies, Inc. Accelerated scan circuitry and method for reducing scan test data volume and execution time
US7131043B1 (en) * 2003-09-25 2006-10-31 Altera Corporation Automatic testing for programmable networks of control signals
US7109752B1 (en) 2004-02-14 2006-09-19 Herman Schmit Configurable circuits, IC's, and systems
US7193440B1 (en) 2004-02-14 2007-03-20 Herman Schmit Configurable circuits, IC's, and systems
US7193432B1 (en) 2004-02-14 2007-03-20 Herman Schmit VPA logic circuits
US7126373B1 (en) 2004-02-14 2006-10-24 Herman Schmit Configurable logic circuits with commutative properties
US7126381B1 (en) 2004-02-14 2006-10-24 Herman Schmit VPA interconnect circuit
US7167025B1 (en) 2004-02-14 2007-01-23 Herman Schmit Non-sequentially configurable IC
US7157933B1 (en) 2004-02-14 2007-01-02 Herman Schmit Configurable circuits, IC's, and systems
US7425841B2 (en) 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
US7284222B1 (en) * 2004-06-30 2007-10-16 Tabula, Inc. Method and apparatus for identifying connections between configurable nodes in a configurable integrated circuit
US7282950B1 (en) * 2004-11-08 2007-10-16 Tabula, Inc. Configurable IC's with logic resources with offset connections
US7193438B1 (en) 2004-06-30 2007-03-20 Andre Rohe Configurable integrated circuit with offset connection
US7312630B2 (en) * 2004-06-30 2007-12-25 Tabula, Inc. Configurable integrated circuit with built-in turns
US7449915B2 (en) * 2004-06-30 2008-11-11 Tabula Inc. VPA logic circuits
US7439766B2 (en) * 2004-06-30 2008-10-21 Tabula, Inc. Configurable logic circuits with commutative properties
US7145361B1 (en) 2004-06-30 2006-12-05 Andre Rohe Configurable integrated circuit with different connection schemes
US7408382B2 (en) * 2004-06-30 2008-08-05 Tabula, Inc. Configurable circuits, IC's, and systems
US7330050B2 (en) * 2004-11-08 2008-02-12 Tabula, Inc. Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements
US7301368B2 (en) * 2005-03-15 2007-11-27 Tabula, Inc. Embedding memory within tile arrangement of a configurable IC
US7342415B2 (en) * 2004-11-08 2008-03-11 Tabula, Inc. Configurable IC with interconnect circuits that also perform storage operations
US7573296B2 (en) 2004-11-08 2009-08-11 Tabula Inc. Configurable IC with configurable routing resources that have asymmetric input and/or outputs
US7917559B2 (en) * 2004-11-08 2011-03-29 Tabula, Inc. Configurable IC's with configurable logic circuits that perform adder and/or subtractor operations
US7276933B1 (en) 2004-11-08 2007-10-02 Tabula, Inc. Reconfigurable IC that has sections running at different looperness
US7224181B1 (en) 2004-11-08 2007-05-29 Herman Schmit Clock distribution in a configurable IC
US7295037B2 (en) * 2004-11-08 2007-11-13 Tabula, Inc. Configurable IC with routing circuits with offset connections
US7259587B1 (en) 2004-11-08 2007-08-21 Tabula, Inc. Configurable IC's with configurable logic resources that have asymetric inputs and/or outputs
US7317331B2 (en) * 2004-11-08 2008-01-08 Tabula, Inc. Reconfigurable IC that has sections running at different reconfiguration rates
US20070244958A1 (en) * 2004-11-08 2007-10-18 Jason Redgrave Configurable IC's with carry bypass circuitry
US7743085B2 (en) * 2004-11-08 2010-06-22 Tabula, Inc. Configurable IC with large carry chains
US7242216B1 (en) 2004-11-08 2007-07-10 Herman Schmit Embedding memory between tile arrangement of a configurable IC
US7268586B1 (en) * 2004-11-08 2007-09-11 Tabula, Inc. Method and apparatus for accessing stored data in a reconfigurable IC
US7496879B2 (en) * 2004-12-01 2009-02-24 Tabula, Inc. Concurrent optimization of physical design and operational cycle assignment
US7428721B2 (en) 2004-12-01 2008-09-23 Tabula, Inc. Operational cycle assignment in a configurable IC
US7236009B1 (en) 2004-12-01 2007-06-26 Andre Rohe Operational time extension
US7230869B1 (en) 2005-03-15 2007-06-12 Jason Redgrave Method and apparatus for accessing contents of memory cells
US7825684B2 (en) * 2005-03-15 2010-11-02 Tabula, Inc. Variable width management for a memory of a configurable IC
US7310003B2 (en) * 2005-03-15 2007-12-18 Tabula, Inc. Configurable IC with interconnect circuits that have select lines driven by user signals
US7530033B2 (en) 2005-03-15 2009-05-05 Tabula, Inc. Method and apparatus for decomposing functions in a configurable IC
US20070244959A1 (en) * 2005-03-15 2007-10-18 Steven Teig Configurable IC's with dual carry chains
US7224182B1 (en) 2005-03-15 2007-05-29 Brad Hutchings Hybrid configurable circuit for a configurable IC
US7298169B2 (en) * 2005-03-15 2007-11-20 Tabula, Inc Hybrid logic/interconnect circuit in a configurable IC
US7443196B2 (en) * 2005-07-15 2008-10-28 Tabula, Inc. Configuration network for a configurable IC
US7372297B1 (en) 2005-11-07 2008-05-13 Tabula Inc. Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources
US7765249B1 (en) 2005-11-07 2010-07-27 Tabula, Inc. Use of hybrid interconnect/logic circuits for multiplication
US7818361B1 (en) 2005-11-07 2010-10-19 Tabula, Inc. Method and apparatus for performing two's complement multiplication
US8463836B1 (en) 2005-11-07 2013-06-11 Tabula, Inc. Performing mathematical and logical operations in multiple sub-cycles
US7679401B1 (en) 2005-12-01 2010-03-16 Tabula, Inc. User registers implemented with routing circuits in a configurable IC
US7461362B1 (en) 2005-12-01 2008-12-02 Tabula, Inc. Replacing circuit design elements with their equivalents
US7489162B1 (en) 2005-12-01 2009-02-10 Tabula, Inc. Users registers in a reconfigurable IC
US7518400B1 (en) 2006-03-08 2009-04-14 Tabula, Inc. Barrel shifter implemented on a configurable integrated circuit
US7504858B1 (en) 2006-03-08 2009-03-17 Tabula, Inc. Configurable integrated circuit with parallel non-neighboring offset connections
US7694083B1 (en) * 2006-03-08 2010-04-06 Tabula, Inc. System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture
US7609085B1 (en) 2006-03-08 2009-10-27 Tabula, Inc. Configurable integrated circuit with a 4-to-1 multiplexer
US7797497B1 (en) * 2006-03-08 2010-09-14 Tabula, Inc. System and method for providing more logical memory ports than physical memory ports
US7529992B1 (en) 2006-03-27 2009-05-05 Tabula, Inc. Configurable integrated circuit with error correcting circuitry
US7669097B1 (en) 2006-03-27 2010-02-23 Tabula, Inc. Configurable IC with error detection and correction circuitry
US7463060B1 (en) 2006-06-13 2008-12-09 Lattice Semiconductor Corporation Programmable logic device and method of testing
US7906987B2 (en) * 2006-07-27 2011-03-15 Panasonic Corporation Semiconductor integrated circuit, program transformation apparatus, and mapping apparatus
US7930666B1 (en) 2006-12-12 2011-04-19 Tabula, Inc. System and method of providing a memory hierarchy
US7587697B1 (en) 2006-12-12 2009-09-08 Tabula, Inc. System and method of mapping memory blocks in a configurable integrated circuit
US7514957B2 (en) * 2007-03-20 2009-04-07 Tabula, Inc Configurable IC having a routing fabric with storage elements
US8112468B1 (en) 2007-03-22 2012-02-07 Tabula, Inc. Method and apparatus for performing an operation with a plurality of sub-operations in a configurable IC
US8412990B2 (en) * 2007-06-27 2013-04-02 Tabula, Inc. Dynamically tracking data values in a configurable IC
US7839162B2 (en) 2007-06-27 2010-11-23 Tabula, Inc. Configurable IC with deskewing circuits
US8069425B2 (en) 2007-06-27 2011-11-29 Tabula, Inc. Translating a user design in a configurable IC for debugging the user design
US7652498B2 (en) 2007-06-27 2010-01-26 Tabula, Inc. Integrated circuit with delay selecting input selection circuitry
US7928761B2 (en) 2007-09-06 2011-04-19 Tabula, Inc. Configuration context switcher with a latch
US8990651B2 (en) 2007-09-19 2015-03-24 Tabula, Inc. Integrated circuit (IC) with primary and secondary networks and device containing such an IC
US7996805B2 (en) * 2008-01-08 2011-08-09 National Semiconductor Corporation Method of stitching scan flipflops together to form a scan chain with a reduced wire length
US8863067B1 (en) 2008-02-06 2014-10-14 Tabula, Inc. Sequential delay analysis by placement engines
US8166435B2 (en) 2008-06-26 2012-04-24 Tabula, Inc. Timing operations in an IC with configurable circuits
US8525548B2 (en) * 2008-08-04 2013-09-03 Tabula, Inc. Trigger circuits and event counters for an IC
US8674721B2 (en) 2008-09-17 2014-03-18 Tabula, Inc. Controllable storage elements for an IC
EP2190022B1 (en) * 2008-11-20 2013-01-02 Hitachi Ltd. Spin-polarised charge carrier device
US8239590B1 (en) * 2009-01-31 2012-08-07 Xilinx, Inc. Method and apparatus for transferring data between two different interfaces
US8448008B2 (en) * 2009-03-27 2013-05-21 Mentor Graphics Corporation High speed clock control
US8072234B2 (en) 2009-09-21 2011-12-06 Tabula, Inc. Micro-granular delay testing of configurable ICs
US8760193B2 (en) 2011-07-01 2014-06-24 Tabula, Inc. Configurable storage elements
US9148151B2 (en) 2011-07-13 2015-09-29 Altera Corporation Configurable storage elements
US8984464B1 (en) 2011-11-21 2015-03-17 Tabula, Inc. Detailed placement with search and repair
US8593175B2 (en) * 2011-12-15 2013-11-26 Micron Technology, Inc. Boolean logic in a state machine lattice
CN103630829A (zh) * 2012-08-23 2014-03-12 中国科学院微电子研究所 用于布线资源故障检测的配置方法
US8839063B2 (en) * 2013-01-24 2014-09-16 Texas Instruments Incorporated Circuits and methods for dynamic allocation of scan test resources
CN110109694B (zh) * 2019-04-28 2023-04-07 新华三技术有限公司 器件管脚控制方法和可编程逻辑器件

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4074851A (en) * 1976-06-30 1978-02-21 International Business Machines Corporation Method of level sensitive testing a functional logic system with embedded array
US4140967A (en) * 1977-06-24 1979-02-20 International Business Machines Corporation Merged array PLA device, circuit, fabrication method and testing technique
US4177452A (en) * 1978-06-05 1979-12-04 International Business Machines Corporation Electrically programmable logic array
US4225957A (en) * 1978-10-16 1980-09-30 International Business Machines Corporation Testing macros embedded in LSI chips
DE3029883A1 (de) * 1980-08-07 1982-03-11 Ibm Deutschland Gmbh, 7000 Stuttgart Schieberegister fuer pruef- und test-zwecke
US4404635A (en) * 1981-03-27 1983-09-13 International Business Machines Corporation Programmable integrated circuit and method of testing the circuit before it is programmed
US4441075A (en) * 1981-07-02 1984-04-03 International Business Machines Corporation Circuit arrangement which permits the testing of each individual chip and interchip connection in a high density packaging structure having a plurality of interconnected chips, without any physical disconnection
US4495629A (en) * 1983-01-25 1985-01-22 Storage Technology Partners CMOS scannable latch
US4553236A (en) * 1983-01-25 1985-11-12 Storage Technology Partners System for detecting and correcting errors in a CMOS computer system
US4761768A (en) * 1985-03-04 1988-08-02 Lattice Semiconductor Corporation Programmable logic device
US4684830A (en) * 1985-03-22 1987-08-04 Monolithic Memories, Inc. Output circuit for a programmable logic array
US4635261A (en) * 1985-06-26 1987-01-06 Motorola, Inc. On chip test system for configurable gate arrays
US4749947A (en) * 1986-03-10 1988-06-07 Cross-Check Systems, Inc. Grid-based, "cross-check" test structure for testing integrated circuits
US4782283A (en) * 1986-08-22 1988-11-01 Aida Corporation Apparatus for scan testing CMOS integrated systems
GB8626516D0 (en) * 1986-11-06 1986-12-10 Int Computers Ltd Testing programmable logic arrays
US4855669A (en) * 1987-10-07 1989-08-08 Xilinx, Inc. System for scan testing of logic circuit networks
US5047710A (en) * 1987-10-07 1991-09-10 Xilinx, Inc. System for scan testing of logic circuit networks
US5068603A (en) * 1987-10-07 1991-11-26 Xilinx, Inc. Structure and method for producing mask-programmed integrated circuits which are pin compatible substitutes for memory-configured logic arrays
US4893311A (en) * 1988-04-25 1990-01-09 Motorola, Inc. CMOS implementation of a built-in self test input generator (BISTIG)
US4980889A (en) * 1988-12-29 1990-12-25 Deguise Wayne J Multi-mode testing systems
DE69029390T2 (de) * 1990-09-15 1997-06-12 Ibm Programmierbare Schaltung für eine neurale Logik
US5285453A (en) * 1990-12-28 1994-02-08 International Business Machines Corporation Test pattern generator for testing embedded arrays
US5298805A (en) * 1991-08-29 1994-03-29 National Semiconductor Corporation Versatile and efficient cell-to-local bus interface in a configurable logic array
US5337255A (en) * 1991-10-30 1994-08-09 Xilinx, Inc. Method for implementing set/reset synchronously or asynchronously in a programmable logic device
US5257223A (en) * 1991-11-13 1993-10-26 Hewlett-Packard Company Flip-flop circuit with controllable copying between slave and scan latches
US5250852A (en) * 1992-04-16 1993-10-05 Texas Instruments Incorporated Circuitry and method for latching a logic state
US5291079A (en) * 1992-07-23 1994-03-01 Xilinx, Inc. Configuration control unit for programming a field programmable gate array and reading array status
US5386154A (en) * 1992-07-23 1995-01-31 Xilinx, Inc. Compact logic cell for field programmable gate array chip

Also Published As

Publication number Publication date
US5732246A (en) 1998-03-24
EP0748053A2 (en) 1996-12-11
JPH098646A (ja) 1997-01-10

Similar Documents

Publication Publication Date Title
JP3549077B2 (ja) プログラマブル・アレイ相互接続ラッチ
US5764079A (en) Sample and load scheme for observability of internal nodes in a PLD
US7080300B1 (en) Testing a programmable logic device with embedded fixed logic using a scan chain
JP3710070B2 (ja) テスト可能なプログラマブル・ゲート・アレイとそのテスト方法
US5764076A (en) Circuit for partially reprogramming an operational programmable logic device
US4609986A (en) Programmable logic array device using EPROM technology
EP1008025B1 (en) Configuration control in a programmable logic device using non-volatile elements
JP2575764B2 (ja) 複数の制御/観察ノードを有するテスト可能な論理装置
JP3477313B2 (ja) プログラマブル・アレイ、プログラマブル・アレイを構成する方法及びシステム
US4855954A (en) In-system programmable logic device with four dedicated terminals
US6968487B1 (en) User available body scan chain
US6499124B1 (en) Intest security circuit for boundary-scan architecture
US5804960A (en) Circuits for testing the function circuit modules in an integrated circuit
US5651013A (en) Programmable circuits for test and operation of programmable gate arrays
US8281195B1 (en) Scan architecture for full custom blocks
EP0602973A2 (en) Mixed signal integrated circuit architecture and test methodology
JP4361681B2 (ja) Asic用試験回路
US4983959A (en) Logic output macrocell
EP0411069A1 (en) Redundancy and testing techniques for ic wafers
US6983405B1 (en) Method and apparatus for testing circuitry embedded within a field programmable gate array
US7477070B2 (en) Rapid interconnect and logic testing of FPGA device
JPH06188725A (ja) 集積回路
US5495486A (en) Method and apparatus for testing integrated circuits
US6334208B1 (en) Method and apparatus for in-system programming with a status bit
JP2951775B2 (ja) 集積回路装置

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040107

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040305

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: 20040406

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20040407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040415

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees