JPH08510885A - ダイナミックロジックコアに動的に相互接続するフィールドプログラマブル・ロジックデバイス - Google Patents

ダイナミックロジックコアに動的に相互接続するフィールドプログラマブル・ロジックデバイス

Info

Publication number
JPH08510885A
JPH08510885A JP7500966A JP50096695A JPH08510885A JP H08510885 A JPH08510885 A JP H08510885A JP 7500966 A JP7500966 A JP 7500966A JP 50096695 A JP50096695 A JP 50096695A JP H08510885 A JPH08510885 A JP H08510885A
Authority
JP
Japan
Prior art keywords
logic
dynamic
signal
level
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP7500966A
Other languages
English (en)
Inventor
ナラシムハ ビー バート
カマル チョードハリー
Original Assignee
リージェンツ オブ ザ ユニバーシティー オブ カリフォルニア
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 リージェンツ オブ ザ ユニバーシティー オブ カリフォルニア filed Critical リージェンツ オブ ザ ユニバーシティー オブ カリフォルニア
Publication of JPH08510885A publication Critical patent/JPH08510885A/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06CDIGITAL COMPUTERS IN WHICH ALL THE COMPUTATION IS EFFECTED MECHANICALLY
    • G06C13/00Storage mechanisms
    • 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/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • 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

Landscapes

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

Abstract

(57)【要約】 新規なフィールドプログラマブル・ロジックデバイスの構造、動作及び設計について開示する。このデバイス(20)は、具現化される回路のロジックレベルに対応する段階的ロジックを実行するダイナミックロジックコア(22)を使用することにより回路を具現化する。ダイナミックロジックコアへのロジック入力は、動的な相互接続アレー(26)から得られる。所与のロジックレベルに対する適当なロジック入力が動的に選択され、そして動的な相互接続アレー(26)によってルート指定される。必要なときに、動的な相互接続アレー(26)は、その後のロジックレベルにおいて必要とされる信号をバッファする。動的な相互接続アレー(26)は、回路入力信号、バッファされた信号及びダイナミックロジックコア出力信号から所与のロジックレベルに対するロジック入力を選択する。

Description

【発明の詳細な説明】 ダイナミックロジックコアに動的に相互接続するフィールド プログラマブル・ロジックデバイス発明の分野 本発明は一般にフィールドプログラマブル(使用現場でプログラム可能な)・ ロジックデバイスに係る。より詳細には、本発明は、段階的なロジックレベルで 動的に変化するロジックコアをアクセスするための動的な相互接続を有するフィ ールドプログラマブル・ロジックデバイスの構造、動作及び設計に係る。先行技術の説明 プログラマブル・ロジックデバイス(PLD)は、電子装置を制御するロジッ ク機能を実施するために広く使用されている。マスクプログラマブル・ロジック デバイスは、デバイスの製造プロセス中に製造者によってプログラムされる。こ れに対して、フィールドプログラマブル・ロジックデバイスは、製造者により非 プログラム状態で流通される。その後、デバイスの購入者は、所望の機能を実行 するようにそれを「フィールド(使用現場)」でプログラムする。本発明は、フ ィールドプログラマブル・ロジックデバイス(FPLD)に係る。フィールドプ ログラマブル・ゲートアレー(FPGA)は、FPLDの1つの形態である。 FPLDの主たる効果は、ユーザがプログラムできることにより迅速に且つ安 価に原型を開発できることである。FPLDに関連した別の重要な効果は、異な る設計を実行するように再プログラムできることである。 所与の構造内で具現化されるべき特定の設計は、コンピュータ・エイデッド・ デザイン(CAD)技術とも称するエレクトロニック・デザイン・オートメーシ ョン(EDA)技術で開発される。EDAツールは、ロジックシンセサイザー、 物理的なデザインツール及びタイミング照合手段を含む。ロジックシンセサイザ ーは、回路の高レベル記述を、回路部品及び回路部品間の接続を記述するネット リストに変換する。ネットリストが与えられると、物理的なデザインツールは、 部品と、部品間の接続を実現するに必要なワイヤセグメントとの物理的な位置を 決定する。デザインプロセスのこの段階は一般に計算上経費がかかる。従って、 このプロセスを改良することが目下の課題である。 タイミング照合手段は、ネットリストに記述された回路のタイミング性能を分 析する。回路のタイミング性能に基づいて、エンジニアは、回路の性能を改善す るようにネットリストを変更する。 所与の回路をFPLDアーキテクチャーへと完全に自動的に具現化することが 所望される。これを行うために、EDAツールがタイミング性能を正確に推定で き且つ所与の回路設計を容易に配置及びルート決めできるよう確保するようにF PLDアーキテクチャを設計することが重要である。FPLDアーキテクチャー は複雑な回路を実現化する能力を排除することなく、前記の特徴をもたねばなら ない。 一般に、FPGAにはルックアップテーブル(LUT)が使用される。LUT は、所与の1組の入力値に対して出力値を与えるデジタルデバイスである。この 出力値は、入力値によってアドレスされたメモリ位置に記憶される。 LUTに基づくFPGAは、一連のLUTを使用して多レベル構造体を形成す る。このようなデバイスでは、第1のLUTからの出力は、第2のLUTにおい て新たな入力値と合成されて、新たな出力値を形成する。第2のLUTは、第2 のロジックレベルと見なす。同様に、第2のLUTからの出力値は、その後に、 第3のLUTにおいて付加的な入力値と合成される。このようなデバイスでは、 各ロジックレベルごとにLUTを伴い3つのロジックレベルがある。 慣例的なLUTベースのFPGAに関連して多数の問題が存在する。前記で述 べたように、これらのデバイスは、ロジックを具現化するシリコンダイにわたり LUTが分布された逐次構造を有する。この解決策は、空間的に費用がかかる。 更に別の問題は、種々のLUT間の接続のルートに関するものである。LUT間 の接続は、予想できない不所望な信号伝播遅延を導入する。この伝播遅延により 全てのタイミング制約を満たすまで回路を再配置し且つ再ルート決めすることが 必要となる。ある環境においては、妥当なタイミング制約を満足するようにFP GA上に所与の回路設計を配置し且つルート決めすることは不可能である。発明の要旨 フィールドプログラマブル・ロジックデバイスの新規な構造、動作及び設計に ついて開示する。このデバイスは、具現化される回路のロジックレベルに対応す る段階的ロジックを実行するダイナミックロジックコアを用いることにより回路 を具現化する。ダイナミックロジックコアへのロジック入力は、動的な相互接続 アレーから得られる。所与のロジックレベルに対する適当なロジック入力は動的 な相互接続アレーにより動的に選択されルート決めされる。必要であれば、その 後のロジックレベルに要求される信号が動的な相互接続アレーによってバッファ される。動的な相互接続アレーは、回路入力信号からの所与のロジックレベルに 対するロジック入力、バッファされた信号及びダイナミックロジックコアの出力 信号を選択する。図面の簡単な説明 本発明の特徴及び目的を良く理解するために、添付図面を参照して、本発明を 以下に詳細に説明する。 図1は、本発明のFPLDの高レベル回路図である。 図2は、本発明のFPLDの回路図である。 図3は、本発明の関連して用いられるレベルカウンタを示す図である。 図4は、本発明により使用されるダイナミックロジックモジュールを示す図で ある。 図5は、本発明により設計をFPLDへと具現化するのに関連した処理段階を 示す図である。 図6Aは、図5の処理段階を具現化するのに使用する装置を示す図である。 図6Bは、図6Aの装置により発生されるダウンロードロジックと、このダウ ンロードロジックをその後に使用するFPLDとの間の関係を示す図である。 図7は、本発明のFPLDの動作に関連した制御シーケンスを示す図である。 図8は、本発明のFPLDにおいて例示的に具現化した回路の回路図である。 図9は、図8の回路図に関連したロジックテーブル又はルックアップテーブル を示す図であり、これらテーブルは、本発明のダイナミックロジックモジュール において具現化されるものである。 図10ないし13は、図8の回路を本発明のFPLDへと具現化したところを 示す図である。 図14は、本発明のFPLDにおいて例示的に具現化された回路の回路図であ る。 図15は、図14の回路図に関連したロジックテーブル又はルックアップテー ブルを示す図であり、これらテーブルは、本発明のダイナミックロジツクモジユ ールにおいて具現化されるものである。 図16ないし20は、図14の回路を本発明のFPLDへと具現化したところ を示す図である。 これらの図面にわたり対応する部分は同じ参照番号で示す。好ましい実施形態の詳細な説明 図1は、本発明によるフィールドプログラマブル・ロジックデバイス(FPL D)20を示す。FPLD20はダイナミックロジックコア22を備え、これは ダイナミックロジックモジュール24のアレーを含んでいる。以下に詳細に述べ るように、各ダイナミックロジックモジュール24は、1組の論理演算を実行す る。1組の論理演算は、多数の個々のロジック段階即ちレベルを含む。各ロジッ クレベルは、FPLD20で具現化される回路のゲートレベル表示におけるロジ ツクレベルに対応する。 ダイナミックロジックコア22は、動的な相互接続アレー26に接続される。 動的な相互接続アレー26は、ダイナミックロジックコア22の各ロジックレベ ルが適当な入力信号を受け取るようにロジックコア22への接続を動的に変更す る。全回路を具現化するのに同じルート決めリソースが使用されるので、本発明 はシリコンリソースを最適なものにする。この技術の別の効果は、回路のルート 決めが単純であり、従って、回路の設計自動化が簡単なことである。 インターフェイスラッチ28は、ダイナミックロジックコア22と動的な相互 接続アレー26との間に設けられる。バッファアレー30は、以下に詳細に述べ るように、ダイナミックロジックコア22の選択されたロジックレベルをバイパ スするのに使用される。最終的に、本発明のFPLD20は、入力ラッチ32及 び出力ラッチ34を使用して具現化される。 図2は、図1のFPLD20を詳細に示すものである。ダイナミックロジック モジュール24は、動的な相互接続アレー26の一部分を形成するロジッククロ スバー(L−クロスバー)モジュール40によって信号供給される。以下に述べ るように、L−クロスバーモジュール40は多数の仕方で具現化できる。現在の ところ、L−クロスバーモジュール40は、最終的にダイナミックロジックモジ ュール24へ送られる値をルート決めするためのデバイスとみなすべきである。 L−クロスバーモジュール40は、L−クロスバーダイナミック構成コントロー ラ42によって作動される。 コントローラ42への1つの入力は「レベル」値である。以下に詳細に述べる ように、このレベル値は、具現化する回路のロジックレベルである。このレベル 値は、L−クロスバーモジュール40の適切な制御を決定するのに使用される。 図3は、本発明により使用されるレベルカウンタコントロールモジュール44 を示す。このモジュール44は、回路レベルを追跡するカウンタ46を備えてい る。コントローラ48は、内部レベルカウンタ50の動作を制御する。以下に述 べるように、本発明を実施するためにマルチチップモードが選択された場合は、 コントローラ48は、次のチップへの制御を作動し、手前のチップからの信号を 用いる。さもなくば、これらの信号は無視される。内部レベルカウンタ50は、 モード及びカウンタ46に記憶されたワードに基づいてコントローラ48により 増加又はリセットされる。カウンタ50のワードは、次いで、図2に示すように FPLD20内の種々のデバイスへ送られる。 L−クロスバ−40は、ダイナミックロジックモジュール24からダイナミッ クロジックモジュール24へ入力値、バッファ値及び出力をルート決めする。L −クロスバー40は、以下に述べるように、具現化する回路の各レベルごとに、 ダイナミックロジックモジュール24への相互接続を動的に変更する。図2に示 すように、入力ラッチ32は、入力値を受け取る。入力値は、次いで、マルチプ レクサ54へ送られる。マルチプレクサ54は、バッファアレー30からの値も 受け取る。入力又はバッファアレー30からの信号の選択は、一次入力/バッフ ァ選択コントローラ56によって制御される。 マルチプレクサ54の出力は、バッファクロスバーモジュール58(B−クロ スバー)へ送られる。このB−クロスバーモジュール58は、第1ロジックレベ ルにある値であって将来のロジックレベルにおいても必要とされる値をルート決 めする。特に、別のロジックレベルへバイパスされるべき値は、B−クロスバー モジュールからバッファアレー30へ送られる。マルチプレクサ61は、以下に 述べるように、B−クロスバーモジュール58からの値又はダイナミックロジッ クコア22からの出力値を選択するのに用いられる。ラッチ34は、マルチプレ クサ61の制御信号を記憶する。 B−クロスバーモジュール58は、B−クロスバーダイナミック構成コントロ ーラ60によって制御される。ロジックレベル値はB−クロスバーダイナミック 構成コントローラ60への入力を形成する。前記したように、レベル値は、具現 化される回路のロジックレベルに対応する。図示されたように、これらの値はB −クロスバー58をバイパスし、L−クロスバーモジュール40に接続される。 前記したように、L−クロスバーからの値は、次いで、ダイナミックロジックモ ジュール24へ送られる。ダイナミックロジックモジュール24の出力は、全て のロジックレベルが実行された後に、出力ラッチ34へ送られる。 図4は、本発明によるダイナミックロジックモジュール24を示している。こ れらのダイナミックロジックモジュールは、ルックアップテーブル、マルチプレ クサをベースとするモジュール又はその組合せによって具現化される。ルックア ップをベースとするモジュールは、1組の入力値に対し全ての組合せ機能を具現 化できるので、本発明において好ましいものである。ルックアップテーブルは、 単一又は多数の出力を有する。 図4は、ダイナミックロジックモジュール24をK入力・2出力LUTの形態 で示している。K入力値は、LUTに対するアドレスラインの数としてみなされ る。従って、Kが3に等しい場合には、モジュール24は、3本のアドレスライ ンを伴うLUTの形態で具現化される。入力値に加えて、レベル入力が必要とさ れる。前記したように、レベルは、具現化される回路のロジックレベルに対応す る。入力及びレベルがセットアップされると、マルチプレクサ66は、その選択 ラインを経て、適当なロジックビット(1つ又は複数)を選択するのに使用され る。 ダイナミックロジックモジュール24は、出力当たりLx2kビットのメモリ を必要とする。「L」は、所与のFPLDデバイスにおいて具現化することので きるレベルの数の上限に対応する。レベル選択ライン及びK本のアドレスライン を一緒に結合できるようにする方法は多数ある。このアーキテクチャーの所与の 具現化に対する特定の技術は、エリアの使用量及びメモリの読み取り時間に基づ き、そしてこれは使用する技術に基づく。 本発明のアーキテクチャー全体について以下に説明する。このアーキテクチャ ーの構造及び動作について以下に注目する。本発明の構造及び動作を、最初に、 一般的なレベルで説明する。その後、多数の例を参照して本発明の構造及び動作 を特に詳細に説明する。 図5は、本発明のFPLDアーキテクチャーにおいて回路設計を実行する場合 の関連処理ステップを示す。このプロセスに関連した第1のステップは、回路の 記述を受け取ることである(ブロック70)。一般に、回路の記述は、ハードウ ェア記述言語、レジスタ転送言語又は回路図記述の形態であり、これらは全て当 業者に知られたものである。 このプロセスに関連した次のステップは、回路内の種々のロジックレベルを識 別することである(ブロック72)。このステップは、既知のロジック合成技術 に関連して行われる。 回路は、多数のロジックレベルに分割される。即ち、1組の入力信号が第1組 の回路部品によって最初に処理され、第1レベルの出力値を発生する。第1レベ ルの出力値、及びおそらくは幾つかの初期入力信号は、第2組の回路部品へ通さ れる。このプロセスは、多数のロジックレベルを通じて繰り返される。この動作 の特定の説明は、以下で行う。 このプロセスに関連した次のステップは、各ロジックレベルごとにロジックテ ーブルを形成することである(ブロック74)。このステップでは、各ロジック レベルにおいてロジックモジュールによって実行される論理演算を定めるために ロジックテーブルが形成される。 このプロセスの次のステップは、PI/バッファコントローラのロジックを形 成することである(ブロック76)。この形成されたロジックは、1組のマルチ プレクサ選択値を生じ、これらは、異なる処理段階(ロジックレベル)でマルチ プレクサ54へ送られる。例えば、第1のロジックレベルにおけるバッファアレ ー30からの値を、第2ロジックレベルでの処理のために通過すべきときには、 適当な選択信号が発生されてマルチプレクサ54に信号を通せるようにする。 B−クロスコントローラロジックの形成は、プロセスの次のステップ(ブロッ ク78)である。このステップでは、B−クロスバー58が、その後に、あるロ ジック段階の実行中にバッファされる値をルート指定できるようなロジックが形 成される。 プロセスの次のステップは、L−クロスコントローラロジックを定義すること である(ブロック80)。このステップでは、L−クロスバー40が、その後に ダイナミックロジックコア22へラッチされる値をルート指定できるようにする ロジックが定義される。 ステップ74、76、78及び80において上記のロジックが定義された後、 それが構成メモリ99へダウンロードされる(ブロック82)。ダウンロードさ れると、ロジックは、以下に述べるように実行することができる。 図6Aは、図5のプロセスを実行するのに用いられる装置90を示している。 この装置90は、中央処理ユニット(CPU)92を備え、これはバス93を経 てユーザインターフェイス94へ接続される。ユーザインターフェイス94は、 キーボード、マウス、スキャナ、モニタ、プリンタ等の既知のコンピュータ入力 及び出力装置の組合せである。ユーザインターフェイス94は、本発明のFPL Dにおいて具現化されるべき回路記述96を受け取る。 CPU92は、メモリ98に記憶された多数のプログラムを実行する。これら のプログラムは、一般に、公知形式のロジックシンセサイザーを補足する。 CPU92は、ロジックレベル識別手段100(ステップ72に対応する)、 ロジックテーブル形成手段102(ステップ74に対応する)、PI/バッファ コントローラ手順(ステップ76に対応する)、B−クロスコントローラ発生手 段106(ステップ78に対応する)及びL−クロスコントローラ定義手段(ス テップ80に対応する)を実行する。これらのモジュールは、各々、ロジックレ ベル、ロジックテーブル、PI/バッファロジック、B−クロスコントローラロ ジック、及びL−クロスコントローラロジックを発生する。 CPU92の指令において、発生されたロジックが、適当なインターフェイス 110を経て不揮発性構成メモリ99へダウンロードされる。フィールドプログ ラマブル・ロジックデバイスに値を記憶するためのインターフェイスは、公知で ある。 図6Bは、不揮発性構成メモリ99と本発明のFPLD20との間の関係を示 している。特に、不揮発性構成メモリ99に適当なロジック値がロードされた後 に、それが装置90に係わりなく使用される。特に、不揮発性の構成メモリ99 は、FPLD20に接続される。標準的なメモリダウンロード回路101は、不 揮発性構成メモリ99からのロジック値の受け取りを整合するためにFPLD2 0に使用される。図6Bに示されたように、FPLD20は、ダイナミックロジ ックコア22、L−クロスバーコントローラ42、PI/バッファコントローラ 56、及びB−クロスバーコントローラ60に対するロジックを受け取る。 図7は、本発明のFPLD20の動作に関連した処理ステップを示している。 このプロセスの第1ステップは、入力値の読み取りである(ブロック120)。 入力値は、PI/バッファ選択コントローラ56によって制御されるマルチプレ クサ54を介して得られる。その後、バッファ値(ブロック122)及びロジッ ク値(ブロック124)がルート指定される。バッファ値は、B−クロスバーコ ントローラ60によってルート指定され、そしてロジック値は、L−クロスバー コントローラ42によってルート指定される。これらのオペレーションは、一般 に、同時に実行されるが、図7には順次のオペレーションとして示されている。 本発明のFPLDに関連した次の処理ステップは、所与の段階即ちロジックレ ベルに対し、ダイナミックロジックモジュール24内のロジックを実行すること である(ブロック126)。同時に、ロジックレベルはカウンタ4により増加さ れ(ブロック128)、全てのロジックレベルが処理されたかどうかの判断がな される(判断ブロック130)。図7のステップ126、128及び130は、 並列に実行されるのが好ましいが、図7には説明上順次のオペレーションとして 示されている。全てのロジックレベルが処理された場合には、出力値が発生され る。さもなくば、ブロック120において処理が再び開始される。 以上、本発明を充分に説明したが、本発明を更に完全に理解するために、多数 の例について注目する。図8は、本発明により実施される例示的回路140のゲ ートレベル回路図である。回路への3つの入力(a、b、c)がオアゲート14 2へ送られて「G」出力が発生される。又、2つの入力(d、e)がアンドゲー ト144へ送られて「H」出力が発生される。オアゲート146は「c」入力と 「H」入力を受け取る。XOR(排他的オア)ゲート148は、「G」入力及び 「H」入力を受け取る。回路140は、次のブール状態を特徴とする。 図8は、図5のステップ70に対応する「回路記述」を構成する。式(1)な いし(4)は、別の(しかし同等の)「回路記述」を与える。図5のブロック7 0の実施に基づいて、特定の形態の「回路記述」を供給しなければならない。こ こに示す例の説明上、回路図又は式のフォーマットで充分である。 図5に示すように、回路記述が受け取られた(ブロック70)後に、本発明の FPLDへと回路を具現化するのに関連した次のステップは、ロジックレベルを 識別することである(ブロック72)。図8の回路の場合は、2つのロジックレ ベルがある。第1のレベルには、オアゲート142及びアンドゲート144があ る。第2のレベルには、オアゲート146及びXORゲート148がある。図5 の処理に関連した次のステップは、各ロジックレベルに対しロジックテーブルを 形成することである(ブロック74)。図9は、図8の回路に対応するロジック テーブルを示す。第1レベルにおいては、「G」出力及び「H」出力に対してロ ジックテーブルが設けられる。「G」出力に対するロジックテーブルを参照すれ ば、3つの入力値(a、b、c)に対応する8個のアドレス可能な値(23)が あることに注意されたい。種々の入力値に関連したロジックは、列「G」に与え られている。即ち、オアゲート142の場合は、全ての入力値が0でない限り、 出力は「1」となる。「H」出力に対するロジックテーブルは、2つの入力値し かもたない。それ故、最上位入力ビットは「ドント・ケア」状態とみなされる。 従って、最初の4つの値に対するロジックは、次の4つの値に対するロジックと 同じである。いずれにせよ、アンドゲート144に対する「H」出力は、「d」 及び「e」が「1」であるときだけ「1」となる。 図9の第2レベルは、「x」出力及び「y」出力に対するロジックテーブルを 含んでいる。「x」出力に対するロジックテーブルは、XORゲート148に対 するロジックを記述し、一方、「y」出力に対するロジックテーブルは、オアゲ ート146に対するロジックを記述する。各テーブルは2つの入力しかもたず、 従って、「ドント・ケア」状態があり、繰り返し出力パターンとなることに再び 注意されたい。 図5のステップ76により、ここで、PI/バッファコントローラロジックが 形成される。この例では、回路の第1レベルにおいて、PI/バッファ選択コン トローラ56は、入力ラッチ32からの全ての入力値(a、b、c、d、e)が マルチプレクサ54に通されるような選択信号を発生する。ロジックの第2レベ ルにおいては、バッファされた値「c」をマルチプレクサ54に通すことのでき る選択信号が発生される。 又、図5のステップ78に関連したB−クロスコントローラロジックは、この 接続点において導出されてもよい。この例では、B−クロスダイナミック構成コ ントローラは、第1ロジックレベルで受け取られた値「c」をルート指定するた めのロジックを与えなければならない。第2ロジックレベルでは、何のオペレー ションも必要とされない。 図5のステップ80に関連したL−クロスコントローラロジックは、次のよう に定義される。第1のロジックレベルにおいて、L−クロスバーダイナミック構 成コントローラ42は、入力値「a」、「b」、「c」、「d」及び「e」をル ート指定しなければならない。これらの値は、その後、ダイナミックロジックコ ア22にラッチされる。第2のロジックレベルにおいて、入力値「G」、「H」 及び「c」が記憶される。 以上のロジックが図5のステップ82に従ってダウンロードされた後、本発明 の装置の実行が、図7に特徴付けされたように開始される。 図10ないし13は、以上の例に関連して本発明のアーキテクチャー及び動作 を示すものである。これらの図は、図7に示した処理ステップに関連して説明す る。 図10は、図8の回路を具現化するのに使用できるFPLD20Aを示す。こ の装置20Aは、一般に図2の装置に対応する。L−クロスバー40及びB−ク ロスバー58は、交差点150の格子として示されていることに注意されたい。 図10は、PI/バッファ選択コントローラ56を示していない。他の図は、L −クロスバーコントローラ42も、B−クロスバーコントローラ60も示してい ない。 図11は、図7のステップ120、122及び124を実行した後の結果を示 している。これらステップの幾つかは、並列に実行できることを想起されたい。 しかしながら、本発明の説明を明確にするために、これらのステップは、順次に 実行されるものとしてしばしば説明する。 図示されたように、入力値「a」、「b」、「c」、「d」及び「e」は入力 ラッチ32にラッチされる(図7のステップ120)。又、黒丸で図示されたよ うに、バッファ値「c」は、B−クロスバー58を経てルート指定される(図7 のステップ122)。又、図示されたように、入力値「a」、「b」、「c」、 「d」及び「e」は、L−クロスバー40を経てルート指定される(図7のステ ップ124)。 図12は、図7のステップ126、128、130及び120を実行した後の 結果を示している。図示されたように、L−クロスバー40及びB−クロスバー 58からの値はラッチ28にロードされている。その後、レベル1の「G」ロジ ックテーブル及び「H」ロジックテーブルに対応して、L−クロスバー値がダイ ナミックロジックモジュール24A及び24Bへ送られる。ダイナミックロジッ クモジュール24Aは値Gを生じそしてダイナミックロジックモジュール24B は値Hを生じている(図7のステップ126)。このロジックの実行と同時に、 カウンタ44(図3に示すが、図12には示されていない)はロジックレベルを 増加する(図7のブロック128)。この例においては、第1ロジックレベルの みが処理され、従って、もう1つのロジックレベルを処理しなければならない。 第2ロジックレベルは、最後のロジックレベルであるから、バッファ値をルー ト指定する必要がない(図7のブロック122)。一方、ロジック値は、L−ク ロスバー40を経てルート指定されねばならない(図7のブロック124)。図 12において、「G」出力は、ダイナミックロジックモジュール24Aから交差 点152においてL−クロスバーに直接的に通される。同様に、「H」出力は、 ダイナミックロジックモジュール24Bから交差点154及び156においてL −クロスバーに直接的に通される。最後に、バッファされた値「c」は、交差点 158においてL−クロスバーに通される。 L−クロスバーコントローラ42は、これらの位置への「書き込み」をイネー ブルする。L−クロスコントローラロジックを定義する際に(図5のブロック8 0)、例えば、第2のロジックレベルにおいて、ダイナミックロジックモジュー ル24Aによって具現化される「x」ロジックテーブルに対して入力「G」及び 「H」が必要とされる。それ故、「G」及び「H」値を受け取るためにダイナミ ックロジックモジュール24Aへの2つの入力がイネーブルされる。より詳細に は、ダイナミックロジックモジュール24の出力からデータを受け取るように、 行160及び162がイネーブルされる。本発明のクロスバー構造に対する任意 の実施について以下に述べる。 図13は、図7のステップ126、128及び130に関連した処理を示して いる。図13は、第2レベルの入力値「G」及び「H」がラッチ28にラッチさ れることを示している。これらの値は、次いで、ダイナミックロジックモジュー ル24Aにより具現化されるロジックテーブル「x」へ送られる。同様に、第2 レベルの入力値「H」及び「c」も、ダイナミックロジックモジュール24Bに より具現化されるロジックテーブル「y」へ送られる。 次いで、ロジックモジュールは、それらの各々のロジックを実行し(図7のス テップ126)そしてカウンタ(図示せず)が増加される(図7のステップ12 8)。第2レベルが処理されているので、「x」及び「y」出力値は、出力ラッ チ34へ送られる。 ここで、装置20Aは、別の1組の入力値を処理することができる(図7のス テップ120)。図13は、入力ラッチ32における新たな1組の入力値を示し ている。これら値の処理は、前記したように行われる。 図14は、本発明により実施される別の回路178を示している。回路178 の分析は、4つのロジックレベルがあることを明らかにする。第1のロジックレ ベルは、入力信号を処理し、別のレベルからの出力に基づくものではない。第1 のロジックレベルは、XORゲート180、182、184、アンドゲート18 6、及びアンドゲート188を含む。第2のロジックレベルは、入力信号と、第 1のロジックレベルで発生された信号とを処理する。第2ロジックレベルにおけ るゲートは、XORゲート190、アンドゲート192、アンドゲート194、 オアゲート196(これは3つのアンドゲート197A、197B、197Cに 接続される)及びアンドゲート198を備えている。第3ロジックレベルは、第 1ロジックレベル及び第2ロジックレベルで発生された信号を処理し、又、入力 信号も処理できるが、この場合は行わない。この例の第3ロジックレベルは、オ アゲート200、アンドゲート202、及びアンドゲート204(これはオアゲ ート205に接続される)を備えている。この例の最後のロジックレベルである 第4のロジックレベルは、出力値を発生する。第4のロジックレベルは、アンド ゲート206、XORゲート208、及びオアゲート210(これはアンドゲー ト212に接続される)を備えている。更に複雑な回路の場合には、当業者に良 く知られた有向非サイクルグラフ(Directed Acyclic Graph)を用いて、レベル 分け(levelization)プロセスが簡単化される。 従って、図14は回路記述を表している(図5のステップ70)。前記の文節 では回路に関連したロジックレベルが識別される(図5のステップ72)。図1 5は、各レベルごとのロジックテーブルを示している(図5のステップ74)。 レベル1のテーブル「HO」は、2つの出力値を形成することに注意されたい。 出力値「0」は、3つの入力「b」、「c」及び「d」(XORゲート184及 びアンドゲート186へ進む)を必要とする。一方、値「H」は、2つの入力「 c」及び「d」しか必要とせず、従って、入力値「b」については「ドント・ケ ア」状態が存在する。この形式の組合せは、有効なダイナミックロジックモジュ ール24を形成するように行うことができる。レベル2のテーブル「KI」は、 リソースを共用できる別の例である。 本発明によるFPLDの設計に関連した次の処理ステップは、種々のコントロ ーラに対して適当なロジックを発生することに関する。ここに示す例では、PI /バッファコントローラ56は、第1のロジックレベルにおける全ての入力値を 選択する必要がある。第2のロジックレベルにおいては、PI/バッファコント ローラ56は、全ての初期入力値を将来の処理のためにマルチプレクサ54に通 せるようにする。第3のロジックレベルにおいては、PI/バッファコントロー ラ56は、中間信号「F」、「H」、「O」及び入力信号「b」を通せるように する。第4のロジックレベルにおいては、PI/バッファコントローラ56は、 最終段階入力値「H」、「B」、「F」、「G」及び「K」を処理のために通せ るようにする。 B−クロスバーダイナミック構成コントローラ60は、4段階のロジックを用 いて図14の回路を実施する。第1のロジックレベルにおいては、B−クロスコ ントローラ60は、B−クロスバーが全ての入力値をルート指定できるようにす る。というのは、それらが全てその後の処理に必要だからである。第2のロジッ クレベルにおいては、B−クロスコントローラ60は、B−クロスバーが、第4 ロジックレベルで必要となる値「b」のみをルート指定できるようにする。第3 ロジックレベルでは、B−クロスコントローラ60は、B−クロスバーが、第4 ロジックレベルの処理に必要とされる値「F」、「H」及び「b」をルート指定 できるようにする。最終ロジックレベルにおいては、B−クロスコントローラ6 0は、いかなるルート指定制御を開始する必要もない。 L−クロスバーダイナミック構成コントローラ42のロジックは、種々のロジ ックレベルにおいてダイナミックロジックモジュール24に対する適当な入力を イネーブルしなければならない。第1ロジックレベルにおいては、L−クロスコ ントローラ42は、L−クロスバー40がダイナミックロジックモジュール24 Aについては値「a」及び「e」をルート指定できるようにし、ダイナミックロ ジックモジュール24Bについては値「b」、「c」及び「d」をルート指定で きるようにし、そしてダイナミックロジックモジュール24Cについては「c」 及び「d」をルート指定できるようにする。第2ロジックレベルにおいては、L −クロスコントローラ42は、L−クロスバー40がダイナミックロジックモジ ュール24Aについては値「H」、「F」及び「b」をルート指定できるように し、ダイナミックロジックモジュール24Bについては値「a」及び「e」をル ート指定できるようにし、そしてダイナミックロジックモジュール24Cについ ては「c」、「b」及び「d」をルート指定できるようにする。第3ロジックレ ベルでは、L−クロスコントローラ42は、L−クロスバー40がダイナミック ロジックモジュール24Aについては値「G」、「M」及び「K」をルート指定 できるようにし、ダイナミックロジックモジュール24Bについては値「F」、 「H」及び「I」をルート指定できるようにし、そしてダイナミックロジックモ ジュール24Cについては「G」、「P」及び「O」をルート指定できるように する。第4ロジックレベルでは、L−クロスコントローラ42は、L−クロスバ ー40がダイナミックロジックモジュール24Aについては値「J」、「N」及 び「Q」をルート指定できるようにし、ダイナミックロジックモジュール24B については「H」、「F」及び「b」をルート指定できるようにし、そしてダイ ナミックロジックモジュール24Cについては「G」、「J」及び「K」をルー ト指定できるようにする。 図5に戻ると、ロジックテーブル、PI/バッファコントローラ、B−クロス コントローラ及びL−クロスコントローラのための適当なロジックが今や記述さ れている。このロジックは、次いで、不揮発性メモリへダウンロードすることが できる(ブロック82)。 図14の回路に関連した入力信号の処理を、図7及び図16ないし20を参照 して以下に説明する。図16は、図7の処理ステップ120、122及び124 を示す。特に、図示されたように、入力値は、入力ラッチ32に送られる(図7 のブロック120)。又、図示されたように、バッファ値は、交差点220ない し228においてB−クロスバー58に通される(図7のブロック122)。更 に、図16に示すように、ロジック値は、L−クロスバー40に通される。例え ば、交差点230は値「a」を通し、そして交差点232は値「e」を通す。こ れら値の各々は、その後に、ラッチ28へ送られ、ダイナミックロジックモジュ ール24Aによって実行される。 図17は、図7に関連した処理ステップ126、120、122及び124を 順次に示している(多数のこれらステップは並列に実行できることを想起された い)。図示されたように、ラッチ28は、ロジック実行のためにダイナミックロ ジックモジュール24をロードする(図7のステップ126)。又、図示された ように、ラッチ28は、バッファ31をロードする。図7に示すように、次の処 理段階は、ロジックレベルを増加し(ブロック128)そして全てのレベルが処 理されたかどうか質問する(判断ブロック130)ことである。ロジックレベル は、図17には増加されて示されていないが、この目的のための回路は、図3に 示した。この点においては全てのロジックレベルが処理されていないので、新た な入力が得られる(図7のブロック120)。従って、この点では、前記したよ うに、PI/バッファコントローラ56は、バッファされた全て値をマルチプレ クサ54に通せるようにする。次いで、適当なバッファ値がB−クロスバー58 にロードされる(図7のブロック122)。図17に示すように、交差点234 においては、値「b」が通され、これは、この処理接続点における唯一の値で、 次に使用しなければならない値である。 最終的に、図17は、第2のロジックレベルに対してロードされるロジック値 を示している(図7のブロック124)。例えば、交差点236において、出力 値「F」はL−クロスバー40にロードされることに注意されたい。この値は、 ダイナミックロジックモジュール24Aから直接得られる。交差点236は、ダ イナミックロジックモジュール24Aから直接受け取った出力値「H」を通す。 交差点238は、既にバッファされた値である値「b」を通す。 図18は、図14の回路に関連した続きの処理を示している。図示されたよう に、第2レベルのロジック値がラッチ28にロードされる。又、ロジックの実行 による出力も図示されている。更に、これらの出力が本発明によりいかに再処理 されるかも示されている。例えば、出力「G」は交差点250及び252を経て 送られ、その後、それらは、第3ロジックレベルの実行中にダイナミックロジッ クモジュール24A及び24Cへの入力として働く。又、図18に示すように、 値「F」、「O」及び「B」は、その後の処理のためにB−クロスバー58にお いて交差点254、256及び258にルート指定される(値「F」、「O」は ロジックレベル3に使用され、値「b」はロジックレベル4に使用される)。最 終的に、図18に示すように、既にバッファされた値がL−クロスバー40に通 される。例えば、交差点260は、既にバッファされた値「O」を通し、そして 交差点262は、既にバッファされた値「P」を通す。これら両方の値は、ロジ ックレベル3の間に、ダイナミックロジックモジュール24Cへの入力として働 く。 図19は、本発明に関連した第3のロジックレベルを示している。第3ロジッ クレベルの入力値は、ラッチ28に存在するものとして示されている。第3ロジ ックレベルの出力値は、ダイナミックロジックモジュール24の出力信号として 示されている。図示されたように、ロジック値「N」、「J」及び「Q」はL− クロスバー40を経て送られている。ロジック値「N」は交差点280を経て送 られ、ロジック値「J」は交差点282及び284を経て送られ、そしてロジッ ク値「Q」は交差点286を経て送られる。L−クロスバー40における他の値 は、バッファ31から得られたものである。バッファ値「F」はクロスバー29 0を経て送られ、値「G」はクロスバ-292を経て送られ、値「H」はクロス バー294を経て送られ、値「K」はクロスバー296を経て送られ、そして値 「b」はクロスバー298を経て送られる。最終的なロジックレベルが実行され ようとするので、B−クロスバー58には値がないことに注意されたい。 図20を参照すれば、第4レベルロジック入力がラッチ28に示されている。 又、図20は、ダイナミックロジックモジュール出力「x」、「y」及び「z」 も示している。これは最後のロジックレベルであるから、これらの値は出力ラッ チ34へ送られる。更に、回路20Bに入る次の段の入力も示されている。この 構成は、既に述べた図16の構成と同じである。 次に、幾つかの具現化事項について述べる。所与のFPLDがL個のレベルと c個のダイナミックロジックモジュール24を有し、その各々がm個の出力を有 すると仮定する。又、具現化されるロジックネットワークは実現可能なネットワ ークである(即ちネットワークの各ノードが≦Kの入力及びc≦mの出力を有す る)と仮定する。そうでない場合には、既知のロジック合成技術を用いてそれを このように変換することができる。実現可能なネットワークの組合せ部分をトポ ロジー的にレベル分けする。ρをレベルの数とし、Γを回路の任意のレベルにお けるモジュールの最大数とする。ρ≦L及びΓ≦Cの場合には(例えば、図9で は、ρ=2、Γ=2、L=4、C=3;図15では、ρ=4、Γ=3、L=4、 C=3)、マッピングが単純であり、回路の1つのレベルが各内部サイクルにお いて評価される。ρ>L又はΓ>Cの場合には、多数のレベルにわたってモジュ ールをグループ分けすることにより回路を具現化することができる。次いで、各 グループは、2つ以上の内部サイクルにおいて実現化することができ、その後、 次のグループへ切り換えられる。 設計が単一チップ上に適合しない場合には、多数のチップにわたり設計を分割 することができる。区画が独立している(即ち、共通の信号を共用しない)場合 には、分割によって問題を招くことはない。 ρ(ρ>L)レベルの組合せロジックがあり、レベル当たりC個のモジュール がある場合を考える。この場合に、ρ/L個のチップと、それらのレベルカウン ト回路を同期するメカニズムとを必要とする。図3は、2つの信号「次のチップ へ」及び「手前のチップより」を示している。これらの信号は、ディジーチェー ン形態で接続され、従って、チップCi-1の後に接続されたチップCiは、チップ Ci-1がその最大レベルに到達した後にのみそのレベルカウンタを始動する。Γ >Cの設計である場合には、チップにわたって分割すると、ロジックの複製が必 要となる。 上記のように、ダイナミックロジックモジュール24は、異なる機能を具現化 するよう繰り返し変更できる再構成可能なロジック構造体であってもよい。他の 考えられるロジックモジュールの具現化は、(1)K及びmを整数とすれば、K −入力、m−出力のルックアップテーブル、(2)各々1つ以上の出力を有しそ して異なるか又は同数の入力を有する多数のルックアップテーブルの相互接続、 (3)マルチプレクサをベースとするロジックモジュール、(4)2レベルのア ンド−オアロジック平面及びその変型であって、アンド及びオア入力がプログラ マブルな読み取り/書き込みメモリビットによって制御されるもの、及び(5) ロジック具現化の組合せを用いた異種のダイナミックロジックモジュール、を含 む。 又、動的な相互接続アレー26も、全アーキテクチャー及びそのアーキテクチ ャーの実際の具現化の両方において非常に多数の変型が可能である。以下、別の 具現化について詳細に述べる。 クロスバーの各交差点はトランジスタで具現化される。例えば、トランジスタ のソースは、バッファアレー30又はロジックコア22からの出力ラインに接続 される。トランジスタのドレインは、適当なダイナミックロジックアレー24に 接続される。次いで、L−クロスバーコントローラ42又はB−クロスバーコン トローラ60を用いて、所与のダイナミックロジックモジュールへ信号を送るべ きときにゲート信号を発生することができる。 本発明のクロスバー構造を具現化する別の解決策は、シフトレジスタを使用す ることである。クロスバーの各交差点は、Lビットのメモリを有し、レベル当た り1ビットが使用される。これらのビットは、レベルの変化により丁度1ビット シフトするようにシフトレジスタのように構成できる。このような具現化の欠点 は、第1のレベルの復帰する前にLビット全体がシフトされねばならず、従って Lの完全除数を1とすれば、1レベルの回路しか具現化できないことである。そ れより優れた設計は、L行のメモリを有し、各行が全ての交差点に対するメモリ を構成するようにし、そしてレベルカウンタによって使用行を選択することであ る。 又、クロスバー構造は、マルチプレクサを用いて具現化することもできる。例 えば、クロスバーの各行にマルチプレクサが使用される。マルチプレクサへの入 力は、バッファアレー30からの信号及びダイナミックロジックコア22からの 信号となる。各マルチプレクサからの出力は、ダイナミックロジックモジュール 22に接続される。L−クロスコントローラ42又はB−クロスコントローラ6 0を用いて各マルチプレクサごとに適当な選択信号が発生される。 L−クロスバーには(MC+B)KCの交差点があるので、(MC+B)KC Lのメモリビットが必要となる。しかしながら、ロジックモジュールのK入力の 各々は同一であり、どの1つに信号が指定されるかは問題でない。換言すれば、 (MC+B)信号は、ダイナミックロジックモジュール24当たりK個の入力の 1つに接続されるだけでよい。これは、Kビットを信号当たりlog2Kビット に減少することができ、全ビットをlog2KCL(MC+B)に減少できるこ とを意味する。しかしながら、これは、各レベルにおけるデコーダを保証する。 各ダイナミックロジックモジュール24の入力においては、(MC+B)・対・ Kのマルチプレクサが必要とされ、(MC+B)・対・Kのクロスバーではない ことを認識するのが好ましい。(MC+B)・対・1のマルチプレクサは、lo g2(MC+B)本の選択ラインと、K個のマルチプレクサとを必要とする。各 選択ラインは、レベル当たり1ビットを必要とし、それ故、KCLlog2(M C+B)ビットと、KC(MC+B)・対・1のデコーダとが必要になる。これ は、デコーダ及びゲートのビット等価値をδとすれば、KCLlog2(MC+ B)+KC(MC+B)δ<KCL(MC+B)の場合に、より高いエリア効率 となる。ダイナミックロジックモジュール24及び相互接続の両方がデコーダを 必要とするので、デコーダを共用することができる。これは、ダイナミックロジ ックモジュールの出力に余計なラッチを配置することを必要とする。 固定布線接続により交差点の数をそれ以上に減少することができる。各ダイナ ミックロジックモジュールは、K個のダイナミックロジックモジュールへの固定 布線接続を有することができ、そして各ダイナミックロジックモジュールは、K 個のダイナミックロジックモジュール、好ましくはそれに隣接したモジュールか ら到来する入力をもつ。これは、クロスバー(場合によってはマルチプレクサ) が(MC−K+B)KC個の交差点に減少され、KC個の付加的な2入力マルチ プレクサ(各入力の1つ)、及びそれに関連したKCL個の選択ビットが存在す ることになる。この相互接続構成は、ダイナミックロジックモジュールの出力か らの扇状に広がる点の数を、初期のKCではなくて、(MC−K)K+Kへ減少 する。 全てのダイナミックロジックモジュール入力が同等であることを認識すること により異なる形式の相互接続戦略を採用することができる。従って、入力におけ る相互接続スイッチは、回路スイッチング用語によれば、(MC+B)・対・K の集中手段である。換言すれば、(MC+B)個の信号からK個を選択しなけれ ばならない。これは、この分野で二項集中手段として知られている2レベルの希 薄接続クロスバーを用いることによって達成できる。このような相互接続戦略を 用いる主たる効果は、交差点の全数が減少され、その結果、記憶に用いられるビ ット数が減少されることである。欠点は、2つの交差点に直列に信号を通さねば ならないことである。これは、相互接続遅延を高める。 別の方法は、ルート決めを「コピー」機能として処理することである。例えば 1つのDLM入力について考える。これは、手前のレベルから到来する(MC+ B)個の信号のいずれか1つに接続することができる。即ち、その値を(MC+ B)個の信号の1つの値にセットしなければならない。これは、メモリが(MC +B)ビットより成りそしてそれらの1つをスイッチ出力に読み出さねばならな いようなメモリ読み取り動作に等しい。それ故、プリチャージ回路及び感知増幅 器を用いることにより選択を行うことができる。(MC+B)個の信号は、1列 のメモリに対応し、セル選択トランジスタの1つがデコーダ又はローカルメモリ ビットにより選択される。この形式の具現化を用いると、エリア及び速度の両方 に効果がある。セル選択トランジスタは、スイッチ入力と出力との間に直接接続 が要求される場合に必要とされた大きなパストランジスタに比して最小のサイズ である。そして感知増幅器を使用すると、読み取り動作を迅速に行うことができ る。更に、メモリのプリチャージ時間は、ダイナミックロジックモジュールのル ックアップ時間とインターリーブして、相互接続遅延を更に短縮することができ る。これは、相互接続遅延がロジックモジュールの遅延と同じ大きさになり、更 に小さくできることを意味する。 別の実施形態では、C個のダイナミックロジックモジュール24があり、その 各々がK個の入力及び1つの出力を有すると仮定することができる。ダイナミッ クロジックモジュールがK個のクラスに分割される場合には、クラス当たりC/ Kモジュールとなる。クラスj(j=1・・・k)のモジュールは、各ダイナミ ックロジックモジュールのj番目の入力に接続される(各入力ではなく)。これ は、交差点及びメモリビットの数を係数Kで減少する。上記解決策の1つ以上を 組み合わせ、ハイブリッドの動的相互接続アレー26を開発することもできる。 要約すれば、フィールドプログラマブル・ロジックデバイスの改良されたアー キテクチャーが開示されたことが明らかであろう。本発明の動的に変化するロジ ックコア及び相互接続アレーは、シリコンリソースの共用を容易にする一方、回 路の配置及びルート指定が単純であるので回路の具現化プロセスを簡単なものに する。本発明に関連した別の効果は、タイミング性能を正確に予想することので きる改良されたタイミング性能及びそれに関連した利点である。 以上、本発明の特定の実施形態を一例として説明した。本発明は、ここに開示 した厳密な形態に何ら限定されるものではなく、上記の教示に鑑み多数の変更や 修正がなされ得ることが明らかである。上記の実施形態は、本発明の原理及びそ の実際の応用を最も良く説明し、それにより、当業者が、意図された特定の用途 に適するように本発明及び種々の実施形態を種々変更して最良に利用できるよう にするために選択されたものである。本発明の範囲は、以下の請求の範囲及びそ の等効物によって限定されるものとする。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AT,AU,BB,BG,BR,BY, CA,CH,CN,CZ,DE,DK,ES,FI,G B,GE,HU,JP,KG,KP,KR,KZ,LK ,LU,LV,MD,MG,MN,MW,NL,NO, NZ,PL,PT,RO,RU,SD,SE,SI,S K,TJ,TT,UA,UZ,VN (72)発明者 チョードハリー カマル アメリカ合衆国 カリフォルニア州 95060 サンタ クルーズ ペルトン ア ベニュー 200‐707

Claims (1)

  1. 【特許請求の範囲】 1.ダイナミックロジックコアを備え、該コアは、 1組の入力信号に対して第1の論理演算を実行して複数の内部信号を発生する ための手段と、 1組の選択された内部信号に対して第2の論理演算を実行するための手段とを 含み、上記第1の論理演算は回路の第1ロジックレベルに対応し、上記第2の論 理演算は回路の第2ロジックレベルに対応し、そして更に、 上記ダイナミックロジックコアに接続された動的な相互接続アレーを備え、該 動的な相互接続アレーは、 上記複数の内部信号から上記選択された内部信号を識別するための手段と、 上記選択された内部信号を上記ダイナミックロジックコアへルート指定するた めの手段とを含むことを特徴とするフィールドプログラマブル・ロジックデバイ ス。 2.上記動的な相互接続アレーは、更に、1組の上記入力信号をバッファして それに対応する1組のバッファされた信号を発生するための手段を含み、上記バ ッファされた信号は、上記内部信号の一部分を形成する請求項1に記載のフィー ルドプログラマブル・ロジックデバイス。 3.上記バッファ手段は、上記入力信号をバッファするためのバッファクロス バー相互接続構造体を含む請求項2に記載のフィールドプログラマブル・ロジツ クデバイス。 4.上記バッファ手段は、上記バッファクロスバー相互接続構造体に接続され たバッファクロスバーコントローラを含み、このバッファクロスバーコントロー ラは、上記バッファされた信号を選択するための1組の論理コマンドを実行する 請求項3に記載のフィールドプログラマブル・ロジックデバイス。 5.上記入力信号及び上記バッファされた信号を上記動的な相互接続アレーへ 指向するための手段を更に備えた請求項2に記載のフィールドプログラマブル・ ロジックデバイス。 6.上記指向手段は、上記入力信号及び上記バッファされた信号を選択するた めの入力/バッファコントローラを備えている請求項5に記載のフィールドプロ グラマブル・ロジックデバイス。 7.上記動的な相互接続アレーの上記ルート指定手段は、上記選択された内部 信号をルート指定するためのロジッククロスバー構造体を含む請求項1に記載の フィールドプログラマブル・ロジックデバイス。 8.上記動的な相互接続アレーの上記識別手段は、1組の論理コマンドを実行 して上記選択された内部信号を識別するためのロジッククロスバーコントローラ を含む請求項8に記載のフィールドプログラマブル・ロジックデバイス。 9.上記ダイナミックロジックコアはルックアップテーブルであり、上記第1 論理演算は上記ルックアップテーブルにおける第1組の値に対応し、そして上記 第2論理演算は上記ルックアップテーブルにおける第2組の値に対応する請求項 1に記載のフィールドプログラマブル・ロジックデバイス。 10.上記ダイナミックロジックコアは、上記第1論理演算及び上記第2論理 演算を選択するためのカウンタを含む請求項1に記載のフィールドプログラマブ ル・ロジックデバイス。 11.フィールドプログラマブル・ロジックデバイスに回路を具現化する方法 において、 (A)1組の入力信号を受け取り、 (B)上記入力信号から選択された信号がその後のロジックレベルにおいて必 要とされるときにその選択された信号をバッファし、このバッフア段階はバッフ ァされた信号を発生し、 (C)上記入力信号に対して一次の組のロジックを実行して1組の内部信号を 発生し、 (D)上記バッファされた信号及び内部信号から1組の中間信号を選択し、 (E)上記中間信号からの指定の信号がその後のロジックレベルにおいて必要 とされるときにその指定の信号をバッファし、 (F)上記中間信号に対し予め選択された組のロジックを実行して新たな組の 内部信号を発生し、そして (G)回路における複数のロジックレベルに対応する所定の組のロジックが実 行されるまで上記段階(D)ないし(F)を繰り返す、 という段階を備えたことを特徴とする方法。 12.上記実行段階の上記予め選択された組のロジックは、上記複数のロジッ クレベル内にロジックレベルを定義することにより指定される請求項11に記載 の方法。 13.上記定義段階の上記ロジックレベルは、各実行段階の後に増加される請 求項12に記載の方法。 14.フィールドプログラマブル・ロジックデバイスの設計方法において、 上記フィールドプログラマブル・ロジックデバイス内に具現化されるべき回路 の記述を受け取り、 上記回路内のロジックレベルを識別し、 上記回路内の上記ロジックレベルの各々に対応するロジックを実行するために ロジックテーブルを形成し、 上記ロジックテーブルに付与されるべき入力値及びバッファされた値を選択す るために入力/バッファロジックを形成し、 後続のロジックレベルにおいて使用しなければならない第1ロジックレベルの バッファされた値を記憶できるようにバッファコントローラロジックを形成し、 そして 上記ロジックテーブルにその後に付与される入力値及びバッファされた値を記 憶できるようにロジックコントローラのロジックを定義する、 という段階を備えたことを特徴とする方法。 15.上記入力/バッファロジック、上記バッファコントローラロジック及び 上記ロジックコントローラロジックを不揮発性メモリデバイスにダウンロードす る段階を更に備えた請求項14に記載の方法。 16.入力/バッファコントローラ、バッファコントローラ及びロジックコン トローラを含むフィールドプログラマブル・ロジックデバイスへ上記不揮発性メ モリデバイスを接続する段階を更に備えた請求項15に記載の方法。
JP7500966A 1993-05-28 1994-05-26 ダイナミックロジックコアに動的に相互接続するフィールドプログラマブル・ロジックデバイス Ceased JPH08510885A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US7010293A 1993-05-28 1993-05-28
US08/070,102 1993-05-28
PCT/US1994/005942 WO1994028475A1 (en) 1993-05-28 1994-05-26 Field programmable logic device with dynamic interconnections to a dynamic logic core

Publications (1)

Publication Number Publication Date
JPH08510885A true JPH08510885A (ja) 1996-11-12

Family

ID=22093130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7500966A Ceased JPH08510885A (ja) 1993-05-28 1994-05-26 ダイナミックロジックコアに動的に相互接続するフィールドプログラマブル・ロジックデバイス

Country Status (9)

Country Link
US (1) US5596743A (ja)
EP (1) EP0701713B1 (ja)
JP (1) JPH08510885A (ja)
KR (1) KR960702643A (ja)
CN (1) CN1125006A (ja)
AU (1) AU6958694A (ja)
DE (1) DE69427758T2 (ja)
SG (1) SG46393A1 (ja)
WO (1) WO1994028475A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002095946A1 (en) * 2001-05-24 2002-11-28 Ip Flex Inc. Integrated circuit device
US7365566B2 (en) 2004-02-12 2008-04-29 Matsushita Electric Industrial Co., Ltd. Programmable logic circuit

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377124A (en) * 1989-09-20 1994-12-27 Aptix Corporation Field programmable printed circuit board
US5457410A (en) 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US6462578B2 (en) 1993-08-03 2002-10-08 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US5757207A (en) * 1995-03-22 1998-05-26 Altera Corporation Programmable logic array integrated circuit incorporating a first-in first-out memory
WO1996035261A1 (en) 1995-05-03 1996-11-07 Btr, Inc. Scalable multiple level interconnect architecture
US5850564A (en) 1995-05-03 1998-12-15 Btr, Inc, Scalable multiple level tab oriented interconnect architecture
US5784313A (en) * 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US5646545A (en) * 1995-08-18 1997-07-08 Xilinx, Inc. Time multiplexed programmable logic device
US5841295A (en) * 1996-02-09 1998-11-24 Hewlett-Packard Company Hybrid programmable logic device
US6624658B2 (en) 1999-02-04 2003-09-23 Advantage Logic, Inc. Method and apparatus for universal program controlled bus architecture
US6034547A (en) 1996-09-04 2000-03-07 Advantage Logic, Inc. Method and apparatus for universal program controlled bus
US6112020A (en) * 1996-10-31 2000-08-29 Altera Corporation Apparatus and method for generating configuration and test files for programmable logic devices
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
DE10081643D2 (de) 1999-06-10 2002-05-29 Pact Inf Tech Gmbh Sequenz-Partitionierung auf Zellstrukturen
US6931572B1 (en) 1999-11-30 2005-08-16 Synplicity, Inc. Design instrumentation circuitry
US7072818B1 (en) * 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US7356786B2 (en) * 1999-11-30 2008-04-08 Synplicity, Inc. Method and user interface for debugging an electronic system
US6823497B2 (en) * 1999-11-30 2004-11-23 Synplicity, Inc. Method and user interface for debugging an electronic system
US7240303B1 (en) 1999-11-30 2007-07-03 Synplicity, Inc. Hardware/software co-debugging in a hardware description language
US7065481B2 (en) * 1999-11-30 2006-06-20 Synplicity, Inc. Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer
US6320412B1 (en) 1999-12-20 2001-11-20 Btr, Inc. C/O Corporate Trust Co. Architecture and interconnect for programmable logic circuits
AU2002257367A1 (en) * 2000-12-14 2002-08-06 Yu-Liang Wu System and method for alternative wiring using pre-analyzed patterns
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US6605962B2 (en) 2001-05-06 2003-08-12 Altera Corporation PLD architecture for flexible placement of IP function blocks
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
US7363609B2 (en) * 2001-07-26 2008-04-22 International Business Machines Corporation Method of logic circuit synthesis and design using a dynamic circuit library
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US7827510B1 (en) 2002-06-07 2010-11-02 Synopsys, Inc. Enhanced hardware debugging with embedded FPGAS in a hardware description language
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
US7096437B2 (en) * 2003-10-07 2006-08-22 University Of Florida Research Foundation, Inc. Method and apparatus for a chaotic computing module using threshold reference signal implementation
US7310728B2 (en) * 2003-11-24 2007-12-18 Itt Manufacturing Enterprises, Inc. Method of implementing a high-speed header bypass function
US7167025B1 (en) 2004-02-14 2007-01-23 Herman Schmit Non-sequentially configurable IC
US7284222B1 (en) * 2004-06-30 2007-10-16 Tabula, Inc. Method and apparatus for identifying connections between configurable nodes in a configurable integrated circuit
US7425841B2 (en) 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
US6975139B2 (en) 2004-03-30 2005-12-13 Advantage Logic, Inc. Scalable non-blocking switching network for programmable logic
US7698118B2 (en) * 2004-04-15 2010-04-13 Mentor Graphics Corporation Logic design modeling and interconnection
US7312630B2 (en) 2004-06-30 2007-12-25 Tabula, Inc. Configurable integrated circuit with built-in turns
US7282950B1 (en) * 2004-11-08 2007-10-16 Tabula, Inc. Configurable IC's with logic resources with offset connections
US7460529B2 (en) 2004-07-29 2008-12-02 Advantage Logic, Inc. Interconnection fabric using switching networks in hierarchy
US7116131B1 (en) 2004-09-15 2006-10-03 Xilinx, Inc. High performance programmable logic devices utilizing dynamic circuitry
US7301242B2 (en) 2004-11-04 2007-11-27 Tabula, Inc. Programmable system in package
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
US7317331B2 (en) 2004-11-08 2008-01-08 Tabula, Inc. Reconfigurable IC that has sections running at different reconfiguration rates
US7743085B2 (en) * 2004-11-08 2010-06-22 Tabula, Inc. Configurable IC with large carry chains
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
US7530033B2 (en) 2005-03-15 2009-05-05 Tabula, Inc. Method and apparatus for decomposing functions in 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
US8201124B1 (en) 2005-03-15 2012-06-12 Tabula, Inc. System in package and method of creating system in package
US8205186B1 (en) 2005-04-11 2012-06-19 Synopsys, Inc. Incremental modification of instrumentation logic
US7443196B2 (en) * 2005-07-15 2008-10-28 Tabula, Inc. Configuration network for a configurable IC
US7652922B2 (en) * 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US8463836B1 (en) 2005-11-07 2013-06-11 Tabula, Inc. Performing mathematical and logical operations in multiple sub-cycles
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
US7679401B1 (en) 2005-12-01 2010-03-16 Tabula, Inc. User registers implemented with routing circuits in a configurable IC
US7423453B1 (en) 2006-01-20 2008-09-09 Advantage Logic, Inc. Efficient integrated circuit layout scheme to implement a scalable switching network used in interconnection fabric
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
US7797497B1 (en) * 2006-03-08 2010-09-14 Tabula, Inc. System and method for providing more logical memory ports than physical memory ports
US7930666B1 (en) 2006-12-12 2011-04-19 Tabula, Inc. System and method of providing a memory hierarchy
US7521959B2 (en) 2007-03-20 2009-04-21 Tabula, Inc. Configurable IC having a routing fabric with storage elements
US7610566B1 (en) 2007-03-22 2009-10-27 Tabula, Inc. Method and apparatus for function decomposition
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
US7652498B2 (en) * 2007-06-27 2010-01-26 Tabula, Inc. Integrated circuit with delay selecting input selection circuitry
US8069425B2 (en) * 2007-06-27 2011-11-29 Tabula, Inc. Translating a user design in a configurable IC for debugging the user design
US7969184B1 (en) 2007-09-06 2011-06-28 Tabula, Inc. Configurable high speed high voltage input/output circuit for an IC
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
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
WO2010016857A1 (en) * 2008-08-04 2010-02-11 Tabula, Inc. Trigger circuits and event counters for an ic
EP2345160A4 (en) * 2008-09-17 2016-11-16 Altera Corp CONTROLLABLE MEMORY ELEMENTS FOR AN IC
US7999570B2 (en) 2009-06-24 2011-08-16 Advantage Logic, Inc. Enhanced permutable switching network with multicasting signals for interconnection fabric
US8072234B2 (en) 2009-09-21 2011-12-06 Tabula, Inc. Micro-granular delay testing of configurable ICs
WO2011123151A1 (en) 2010-04-02 2011-10-06 Tabula Inc. System and method for reducing reconfiguration power usage
WO2011162858A1 (en) 2010-06-23 2011-12-29 Tabula, Inc. Rescaling
US8650514B2 (en) 2010-06-23 2014-02-11 Tabula, Inc. Rescaling
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
US9203397B1 (en) 2011-12-16 2015-12-01 Altera Corporation Delaying start of user design execution
US9000801B1 (en) 2013-02-27 2015-04-07 Tabula, Inc. Implementation of related clocks
WO2018004590A1 (en) * 2016-06-30 2018-01-04 Intel Corporation Method and apparatus for remote field programmable gate array processing
US10936286B2 (en) * 2018-11-13 2021-03-02 Microsemi Soc Corp. FPGA logic cell with improved support for counters
US11736107B2 (en) 2021-08-19 2023-08-22 Wuxi Esiontech Co., Ltd. Field-programmable gate array (FPGA) for using configuration shift chain to implement multi-bitstream function
CN113656344B (zh) * 2021-08-19 2023-08-15 无锡中微亿芯有限公司 利用配置移位链实现多码流功能的fpga
KR102612588B1 (ko) * 2023-05-15 2023-12-12 메티스엑스 주식회사 프로그램가능 반도체 소자, 이를 포함하는 전자 장치, 및 프로그램가능 반도체 소자에 의해 연산을 수행하는 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3987286A (en) * 1974-12-20 1976-10-19 International Business Machines Corporation Time split array logic element and method of operation
US4422072A (en) * 1981-07-30 1983-12-20 Signetics Corporation Field programmable logic array circuit
US4870302A (en) * 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4642487A (en) * 1984-09-26 1987-02-10 Xilinx, Inc. Special interconnect for configurable logic array
US5027315A (en) * 1984-09-28 1991-06-25 Advanced Micro Devices, Inc. Programmable logic array using internally generated dynamic logic signals as selection signals for controlling its functions
US4706216A (en) * 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
US4740721A (en) * 1985-10-21 1988-04-26 Western Digital Corporation Programmable logic array with single clock dynamic logic
US4703206A (en) * 1985-11-19 1987-10-27 Signetics Corporation Field-programmable logic device with programmable foldback to control number of logic levels
US5075576A (en) * 1985-11-19 1991-12-24 North American Philips Corporation Field-programmable logic device with programmable foldback to control number of logic levels
US5015885A (en) * 1986-09-19 1991-05-14 Actel Corporation Reconfigurable programmable interconnect architecture
JPS6478023A (en) * 1987-09-18 1989-03-23 Fujitsu Ltd Programmable logic device
US4855619A (en) * 1987-11-17 1989-08-08 Xilinx, Inc. Buffered routing element for a user programmable logic device
ATE265712T1 (de) * 1988-10-05 2004-05-15 Quickturn Design Systems Inc Verfahren zur verwendung einer elektronisch wiederkonfigurierbaren gatterfeld-logik und dadurch hergestelltes gerät
IT1225638B (it) * 1988-12-28 1990-11-22 Sgs Thomson Microelectronics Dispositivo logico integrato come una rete di maglie di memorie distribuite
US4930097A (en) * 1988-12-30 1990-05-29 Intel Corporation Architecture for an improved performance of a programmable logic device
US5185706A (en) * 1989-08-15 1993-02-09 Advanced Micro Devices, Inc. Programmable gate array with logic cells having configurable output enable
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5140193A (en) * 1990-03-27 1992-08-18 Xilinx, Inc. Programmable connector for programmable logic device
US5338984A (en) * 1991-08-29 1994-08-16 National Semiconductor Corp. Local and express diagonal busses in a configurable logic array

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002095946A1 (en) * 2001-05-24 2002-11-28 Ip Flex Inc. Integrated circuit device
EA005344B1 (ru) * 2001-05-24 2005-02-24 Ай Пи ФЛЕКС ИНК. Интегральная схема
US7365566B2 (en) 2004-02-12 2008-04-29 Matsushita Electric Industrial Co., Ltd. Programmable logic circuit

Also Published As

Publication number Publication date
DE69427758D1 (de) 2001-08-23
US5596743A (en) 1997-01-21
SG46393A1 (en) 1998-02-20
KR960702643A (ko) 1996-04-27
HK1013868A1 (en) 1999-09-10
EP0701713A4 (en) 1997-10-22
AU6958694A (en) 1994-12-20
EP0701713A1 (en) 1996-03-20
EP0701713B1 (en) 2001-07-18
DE69427758T2 (de) 2001-10-31
WO1994028475A1 (en) 1994-12-08
CN1125006A (zh) 1996-06-19

Similar Documents

Publication Publication Date Title
JPH08510885A (ja) ダイナミックロジックコアに動的に相互接続するフィールドプログラマブル・ロジックデバイス
US6047115A (en) Method for configuring FPGA memory planes for virtual hardware computation
US6421817B1 (en) System and method of computation in a programmable logic device using virtual instructions
JP3729943B2 (ja) 時間多重書込可能論理装置
US6480954B2 (en) Method of time multiplexing a programmable logic device
US6195788B1 (en) Mapping heterogeneous logic elements in a programmable logic device
US6446249B1 (en) Emulation circuit with a hold time algorithm, logic and analyzer and shadow memory
US6539535B2 (en) Programmable logic device having integrated probing structures
US5838954A (en) Computer-implemented method of optimizing a time multiplexed programmable logic device
US6721926B2 (en) Method and apparatus for improving digital circuit design
US5825662A (en) Computer-implemented method of optimizing a time multiplexed programmable logic device
Sangiovanni-Vincentelli et al. Synthesis method for field programmable gate arrays
US9069920B2 (en) Automated circuit design
US9026967B1 (en) Method and apparatus for designing a system on multiple field programmable gate array device types
Zheng et al. Topopart: a multi-level topology-driven partitioning framework for multi-fpga systems
US10867090B2 (en) Method and apparatus for implementing an application aware system on a programmable logic device
JP5437564B2 (ja) 減少された挿入遅延を持つプログラマブル遅延回路
US6114873A (en) Content addressable memory programmable array
US9230047B1 (en) Method and apparatus for partitioning a synthesis netlist for compile time and quality of results improvement
US20080301608A1 (en) Methods and apparatuses for designing multiplexers
US20080074142A1 (en) Routing for Microprocessor Busses
Sharma et al. Development of a place and route tool for the RaPiD architecture
HK1013868B (en) Field programmable logic device with dynamic interconnections to a dynamic logic core
US7358767B1 (en) Efficient multiplexer for programmable chips
JP3614306B2 (ja) Lsiレイアウト方法及びlsiレイアウト用プログラムを格納した記録媒体

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040225

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040525

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040713

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20041130