JPH11239053A - 最適化されたエミュレーションとプロトタイピングの体系 - Google Patents

最適化されたエミュレーションとプロトタイピングの体系

Info

Publication number
JPH11239053A
JPH11239053A JP10321888A JP32188898A JPH11239053A JP H11239053 A JPH11239053 A JP H11239053A JP 10321888 A JP10321888 A JP 10321888A JP 32188898 A JP32188898 A JP 32188898A JP H11239053 A JPH11239053 A JP H11239053A
Authority
JP
Japan
Prior art keywords
crossbar
logic
level
input
interconnect
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10321888A
Other languages
English (en)
Inventor
Stephen P Sample
スティーブン・ピー・サンプル
Michael R Butts
マイケル・アール・ブッツ
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.)
Quickturn Design Systems Inc
Original Assignee
Quickturn Design Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Quickturn Design Systems Inc filed Critical Quickturn Design Systems Inc
Publication of JPH11239053A publication Critical patent/JPH11239053A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/17736Structural details of routing resources
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 集積回路のエミュレーション、プロトタイピ
ングに有用である論理チップを提供する。 【解決手段】 論理チップは、複数の部分集合に分割さ
れる複数の論理素子を含む。論理チップは複数の第1レ
ベル相互接続をさらに含む。複数の第1レベル相互接続
は、論理素子の複数の部分集合のうちの1つと相互接続
し、複数の第1レベル論理ユニットを形成する。複数の
第1レベル論理ユニットは、第1レベル論理ユニットの
複数の部分集合に分割される。論理チップは複数の第2
レベル相互接続をも含む。第2レベル相互接続は、第1
レベル論理ユニットの複数の部分集合のうちの1つと相
互接続し、複数の第2レベル論理ユニットを形成する。
論理チップは第3レベル相互接続をも含む。第3レベル
相互接続は、複数の第2レベル論理ユニットと相互接続
し、第3レベル論理を形成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラム可能な
論理装置体系の分野、特に最適化されたエミュレーショ
ンとプロトタイピングの論理チップとして利用するよう
特別に適応させられた、論理ブロックとプログラム可能
な相互接続ネットワークに関する。
【0002】
【発明の背景】規格部品として入手可能な(即ち商業的
に入手可能な)汎用のプログラム可能な論理チップは、
論理エミュレーションやプロトタイピングやコンピュー
テイングのような特定の適用に、あつらえて設計される
ものでは一般的には、無い。汎用のプログラム可能な論
理チップの例としては、フィールド・プログラマブル・
ゲートアレイ(“FPGAs”)、プログラマブル・ロ
ジック・アレイ(“PLAs”)、プログラマブル・ア
レイ・ロジック(“PLAs”)がある。汎用のプログ
ラム可能な論理チップは、ハードウエア上での論理エミ
ュレーションやプロトタイピングやコンピューテイング
のような適用の、初期の発展において十分な役目を果た
してきた。しかしながら、これらの適用では、汎用の論
理チップには幾つかの欠点がある。多くの汎用の論理チ
ップは、他の目標よりも、速度と密度(即ち、いかに多
くの論理ゲートを単一のチップ内に実現し得るか)に重
きを置く。多くの適用に対し十分コストに見合うように
するため、汎用のプログラム可能な論理体系は、その体
系内に設計を適合させ集積回路内に多くの利用可能論理
ゲートの利用を割り当てるのに、十分な機会を与える経
路設定資源を供給すべきである。しかしながら、汎用の
プログラム可能な論理体系を用いると、ゲートカウント
(即ち、プログラム可能な論理チップの製造者が、チッ
プが搭載可能だと公言するゲートの数)がチップの見積
り容量内であるとしても、与えられた設計即ち分割では
搭載しえない可能性が常にある。また、コンパイル処理
の速度は、汎用の論理チップでは重要視されるものでは
ない。
【0003】対照的に、論理エミュレーションやプロト
タイピングやコンピューテイングの設計では、優先順位
が異なる。論理チップは、数十から数百の論理チップを
備えることがしばしばである、より大きい多重チップシ
ステムの、部分であることが通常である。大きな入力設
計ネットリストは、非常に高程度まで成功しておりユー
ザの介入が最小限であるよう、自動的に全てこれらの論
理チップにコンパイルされねばならない。ネットリスト
は、設計の構成要素(例えば、論理ゲート)や該構成要
素がいかに相互接続されるかについて仕様表現する、論
理設計の記述である。ネットリストのそれぞれの“ネッ
ト”は、構成要素又は入力・出力パッドのピン間の回路
経路を定義する。これらの適用で用いられる論理チップ
は、大抵の論理資源を完全自動コンパイル処理にて用い
られるよう仕向けることにおいてほとんど常に成功させ
るほどの順応性及び能力がある、経路設定資源を供給す
ることが、不可欠である。このコンパイル処理は素早く
実行されるべきである。短いコンパイル時間は、ユーザ
の設計がエミュレータシステムに与えられる時点から、
全ての論理チップがプログラムされユーザの設計を稼動
させる(即ちユーザの設計をエミュレートする)準備が
整う時点に到るまでに、要求される時間を、最小のもの
にする。
【0004】汎用の論理チップの目標と、エミュレーシ
ョンやプロトタイピングやコンピューテイングの適用で
用いられる論理チップの目標との差異は、論理エミュレ
ーションやプロトタイピングやコンピューテイングの適
用に特定化した論理チップが必要である場合に生じる。
【0005】
【発明の概要】本発明は、特に論理エミュレーション、
プロトタイピング及び・又はコンピューテイング適用に
て有用である、プログラム可能な論理装置体系に関す
る。本発明の特別な実施形態は、複数の論理素子を含
み、該論理素子は論理素子の複数の部分集合に分割され
る。本発明の好ましい実施形態では、複数の論理素子の
各々は、データ選択論理を含む。
【0006】論理チップは複数の第1レベルの相互接続
をさらに含む。複数の第1レベルの相互接続は、論理素
子の複数の部分集合のうちの1つと相互接続し、よっ
て、複数の第1レベルの論理ユニットを形成する。複数
の第1レベルの論理ユニットは、第1レベルの論理ユニ
ットの複数の部分集合に、分割される。論理チップは、
複数の第2レベルの相互接続をも含む。好ましい実施形
態では、複数の第2レベルの相互接続は、部分クロスバ
ー相互接続を含む。第2レベルの相互接続は、第1レベ
ルの論理ユニットの複数の部分集合のうちの1つと相互
接続し、よって、複数の第2レベルの論理ユニットを形
成する。論理チップは、第3レベルの相互接続をも含
む。好ましい実施形態では、第3レベルの相互接続は、
部分クロスバー相互接続を含む。第3レベルの相互接続
は、複数の第2レベルの論理ユニットと相互接続し、よ
って、第3レベルの論理ユニットを形成する。
【0007】本発明の特別な実施形態では、複数の第1
レベルの相互接続は、複数の完全占有クロスバーと部分
占有クロスバーを含む。部分占有クロスバーの特別な実
施形態は、複数の入力グループと複数のマルチプレクサ
を含むことができる。複数のマルチプレクサの各々は、
少なくとも2つのデータ入力、少なくとも1つの選択入
力、及び少なくとも1つの出力を、含む。複数の入力グ
ループの各々の入力は、複数のマルチプレクサのうちの
1つのデータ入力と、電気的にコミュニケートする。複
数のマルチプレクサの各々の少なくとも1つの選択入力
は、復号化部と電気的に接続し、該復号化部はプログラ
ミングセルと電気的に接続する。プログラム可能なクロ
スポイントは、複数のマルチプレクサの各々の出力とク
ロスバー出力ピンとの間を、電気的に伝達する。プログ
ラム可能なクロスポイントは、パストランジスタとプロ
グラム可能なメモリセルを含む。
【0008】好ましい第2第3レベルの相互接続にて用
いられる部分クロスバー体系は、強力で柔軟性があり、
ユーザの設計をシステムレベルの論理エミュレーション
適用の中にコンパイルするのにかかる時間量を、削減す
る。
【0009】チップ上への部分クロスバー相互接続の搭
載は、システムレベルでの形態とは異なる形態を取りう
る。というのは、相互接続された論理ブロック、クロス
バー及び相互接続ワイヤは、全て同じ媒体内にあり、異
なるパッケージ内に分離しないからである。この発明
は、チップ上への部分クロスバー相互接続の搭載の幾つ
かの仕方を含む。部分クロスバー相互接続は、数多くの
論理ブロックにまで広がるために、単体レベル部分クロ
スバー相互接続よりも多重レベルのクロスバーをより効
果的に用いて階層形状で適用されることができる。
【0010】素子の搭載と組合せに関する種々の新しい
詳述を含む、本発明の上記の及び他の好適な特徴が、添
付の図面を参照して以下により詳しく述べられており、
かつ請求項で強調されている。本発明を具現する特定の
方法と回路は、例示としてのみ示されるのであり発明を
限定するものとして示されるのではない、ということは
理解されることである。当業者が理解するように、この
発明の原理と特徴は、発明の範囲から離れることなく、
種々のかつ数多くの実施形態において用いられ得る。
【0011】
【発明の実施の形態】図面を参照しつつ、本発明に係る
望ましい装置と方法について、以下述べる。
【0012】以下の一般的な議論は、図26から図37
に関連して以下に開示される好適な実施形態に対してだ
けでなく、図1から図25に関して、一般的な背景をも
たらすものである。さらに、プログラム可能な論理シス
テムと相互接続ネットワークに関する詳細な記述が、米
国特許第5,036,473号、第5,109,353
号、第5,448,496号、第5,452,231号
において見出すことができる。それらの特許のそれぞれ
は、本出願の譲受人に譲渡されている。米国特許第5,
036,473号、第5,109,353号、第5,4
48,496号、第5,452,231号の開示は、そ
っくりそのまま参照することでここに一体のものとす
る。
【0013】エミュレーションに用いる論理チップとし
て有用な装置は、以下のことを備えるべきである。 1)容量上の限界を条件として、論理回路の組合せ(と
任意で記憶装置と)からなるどのデジタル論理ネットワ
ークに従っても、設定されることができる。 2)その機能と内部の相互接続は、多くの異なる論理ネ
ットワークに適合するように何度でも電子工学的に設定
されうる、という点で、電子工学的に再設定可能であ
る。 3)特定のネットワークかどうかに関わりなく又はどの
入力・出力ピンが特定化されるかに関わり無く、入力・
出力ピンとデジタルネットワークを自由に接続し、エミ
ュレーションシステムの部分クロスバー又は直接の相互
接続が、首尾よく論理チップを相互接続するよう仕向け
る能力を備える。
【0014】本発明は、組合せ論理機能(例えば、アン
ドゲート、オアゲート等)、順次論理機能(例えば、フ
リップフロップ、ラッチ等)そして記憶機能を与えるよ
うプログラムされ得る、内部論理ブロックを含む。論理
ブロックの各々は、論理ブロックを各々の特定の論理ブ
ロック以外の回路要素に相互接続するのに用いられる、
多数の入力・出力(“I/O”)ピンを備える。本発明
はまた、外部入力・出力(“I/O”)パッドとプログ
ラム可能な相互接続も含む。外部I/Oパッドは、他の
チップや装置との接続に備えるものである。プログラム
可能な相互接続は、論理ブロック及び・又はI/Oパッ
ド間の信号を通すよう動作する。とりわけ、プログラム
可能な相互接続は、部分クロスバー相互接続体系を用い
る。部分クロスバー相互接続により相互接続可能とする
ために、論理ブロックの各々は、論理チップ全体に関す
る上述の特徴を備える。特に、論理ブロックの各々は、
(1)容量上の限界を条件として、論理回路の組合せ
(と任意で記憶装置と)からなるどのデジタル論理ネッ
トワークに従っても、設定されることができ、(2)そ
の機能と内部の相互接続は、多くの異なる論理ネットワ
ークに適合するように何度でも電子工学的に設定されう
る、という点で、電子工学的に再設定可能であり、
(3)特定のネットワークかどうかに関わりなく又はど
の入力・出力ピンが特定化されるかに関わり無く、入力
・出力ピンとデジタルネットワークを自由に接続し、部
分クロスバー相互接続が、首尾よく論理ブロックを相互
接続するよう仕向ける能力を備える。
【0015】この発明では、プログラム可能な論理チッ
プ内部の論理ブロックはこの基準を満たす。従ってそれ
らは、米国特許第5,036,473号、第5,10
9,353号、第5,452,231号にて定義されて
いる“論理チップリアライザ”と同等のものである。論
理ブロックのI/Oピンは、その論理ブロックと、同一
のプログラム可能な論理チップ内の他の内部要素との間
を通す信号のための端子であり、チップがパッケージさ
れるときに外部I/Oピンと接続される、プログラム可
能な論理チップの外部I/Oパッドと、混同すべきでは
ない。
【0016】部分クロスバー相互接続体系について、述
べる。
【0017】本発明で利用される部分クロスバー相互接
続では、プログラム可能なクロスバーが論理ブロックを
相互接続する。各々の論理ブロックのI/Oピンは、各
々の論理ブロックにおいては同一の分割方法が用いられ
て、適当な部分集合に分割される。各々のクロスバーの
ピンは、あらゆる論理ブロックの各々からの、ピンの同
じ部分集合と接続される。従って、クロスバー“n”
は、各々の論理ブロックのピンの部分集合“n”と接続
される。部分集合が存在する分だけ多くのクロスバーが
用いられ、それぞれのクロスバーは、部分集合のピンの
数と論理ブロックの数を掛けた積と同数のピンを有す
る。各々の論理ブロック・クロスバーのペアは、各々の
部分集合のピンと同数の、パスと呼ばれるワイヤによ
り、相互接続される。
【0018】各々のクロスバーは、各々の論理ブロック
上の同じ部分集合のピンと接続されるため、1つの論理
ブロック上の1つのピン部分集合での1つのI/Oピン
から、別の論理ブロック上の異なるピン部分集合での1
つのI/Oピンへの、相互接続は、設定され得ない。相
互接続される論理ブロックの各々の同一のピン部分集合
でのI/Oピンを利用した各々のネットを相互接続し、
結果として論理ブロックを設定することにより、このこ
とは避けられているのである。
【0019】図1は本発明の部分クロスバー相互接続の
例の概略ブロック図である。相互接続115は、4つの
クロスバー(第1のクロスバー110、第2のクロスバ
ー111、第3のクロスバー112そして第4のクロス
バー113)と、複数のワイヤ118を備える。4つの
クロスバー110、111、112、113の各々は、
8本のピン114を備える。論理ブロック100、10
1、102、103の各々は、8本のピン105を備
え、2つごとの4つの部分集合に分割され、A、B、
C、Dと名付けられている。各々のクロスバーは、各々
の論理ブロックの2ピンの同一の部分集合と接続する。
従って、第1のクロスバー110は、4つの論理ブロッ
ク100、101、102、103のA部分集合ピンの
何れもと接続し得る。第2のクロスバー111は、4つ
の論理ブロック100、101、102、103のB部
分集合ピンの何れもと接続し得る。第2のクロスバー1
11は、4つの論理ブロック100、101、102、
103のB部分集合ピンの何れもと接続し得る。第3の
クロスバー112は、4つの論理ブロック100、10
1、102、103のC部分集合ピンの何れもと接続し
得る。最後に、第4のクロスバー113は、4つの論理
ブロック100、101、102、103のD部分集合
ピンの何れもと接続し得る。クロスバー110、11
1、112、113は、ワイヤ108がそれらと論理ブ
ロック100、101、102、103とを接続するこ
とにより、部分クロスバー相互接続115を、一体して
形成する。
【0020】本発明の部分クロスバー体系を利用する論
理チップにてネットがいかにして搭載されるかの例が、
図1に示される。デザインネットXは、第3の論理ブロ
ック102に源を有し、第1の論理ブロック100と第
2の論理ブロック101内の目的地と接続されなければ
ならない。4つのクロスバーの何れもがそのような相互
接続を実現する本来的な容量を備える。この例では、第
1のクロスバー110と、従ってA部分集合論理ブロッ
クピンが選択されている。第1のクロスバー110は、
源たる論理ブロック、つまり第3の論理ブロック102
と接続するピンが、第1の論理ブロック100と第2の
論理ブロック101と接続するピンに経路設定されるよ
うに、プログラムされるのである。第3の論理ブロック
102は、ネットの源をそのA部分集合ピンと接続する
ようプログラムされるのであり、A部分集合ピンはこの
ネットのために選ばれた第1のクロスバー110のピン
と配線される。同じように、第1の論理ブロック100
と第2の論理ブロック101とは、それらのA部分集合
ピンの目的地と接続するようプログラムされるのであ
り、A部分集合ピンはこのネットのために選ばれたクロ
スバー110のピンと配線される。同様に、デザインネ
ットYは、第3のクロスバー112を選択し、従ってそ
のためのC部分集合論理ブロックピンを選択することに
より、相互接続されている。第4の論理ブロック103
と第1の論理ブロック100と第3のクロスバーはしか
るべくプログラムされる。
【0021】論理ブロック100、101、102、1
03とクロスバー相互接続110、111、112、1
13のコレクションはそれ自身が、単体のより高レベル
論理ブロックとして動作し得る。図1の例では、論理ブ
ロック100、101、102、103は、部分クロス
バー相互接続115により相互接続され、単体のより高
レベル論理ブロックとして動作し得る。単体の高レベル
論理ブロックとして用いられるときは、各々のクロスバ
ー110、111、112、113はI/Oピンとして
機能する追加端子120を備えている。端子120は、
このより高レベル論理ブロックに関する入力信号と出力
信号とを運ぶ。
【0022】そのようなより高レベル論理ブロックはそ
れら自身が、図2に示されるように、部分クロスバー相
互接続により階層的に相互接続されることがあり得る。
4つの第2レベル論理ブロック200は各々が、部分ク
ロスバー相互接続220により相互接続される第1レベ
ルの論理ブロック210を含む。これら論理ブロック2
00は、第2レベルクロスバー230を含む第2レベル
部分クロスバー相互接続240により、相互接続され
る。第2レベルの論理ブロック200と部分クロスバー
相互接続240のこのコレクションはそれ自身が、さら
により高度の第3レベルの論理ブロックとして動作し
得、以下同様である。各々のクロスバー230はI/O
ピンとして機能する追加端子250を備えている。端子
250は、この第3レベル論理ブロックに関する入力信
号と出力信号とを運ぶ。
【0023】これらのプログラム可能な論理装置により
エミュレートされるユーザ設計(即ち入力論理設計)の
大抵は、一般的には、局所的には(即ち、設計の最下の
層では)より過密に相互接続され、包括的には(即ち、
設計の最上の層では)より非過密に相互接続されるとい
う実際上の利点が、論理ブロックの階層状相互接続に存
する。第1レベル論理ブロック(即ち、論理ブロック1
00、101、102、103)は、小グループのみに
おいて過密に相互接続されるのが常であり、演算装置、
制御論理ネットワーク、カウンタ等々のような、入力論
理設計での基本機能を含む。これらの基本機能は一般的
に互いに接続されて、より高レベル機能を形成する。基
本機能間においては、基本機能の内部よりも、より非過
密な相互接続が求められる。1つのチップに多数の第1
レベル論理ブロックがあるときは、チップ上の全ての第
1レベル論理ブロック間を単一レベル相互接続で繋ぐ
と、過度に高価なものになる。これは、もし単一レベル
の相互接続しかないならば、少数の論理ブロック間で局
所的に必要とされる相互接続の冗長さは全体では全ての
論理ブロック間では何倍にもなってしまう、という理由
による。その代わりとして、階層多重レベル相互接続
は、相互接続の局所性を反映し得るのであり、全ての第
1レベル論理ブロックの相互接続をより経済的に実現し
得る。
【0024】階層状のプログラム可能な論理チップにつ
いて、述べる。
【0025】3層階層を備えたプログラム可能な論理チ
ップが、図3に示されている。第1レベル論理ブロック
は、L0ブロック525として示される。それは複数の
論理ユニット(LU)526を含むのであり、LUの各
々は小さい論理機能組合せ及び・若しくは少量の記憶装
置を与え得るのである。LU526は、X0相互接続5
27として示される相互接続により相互接続される。X
0相互接続527は、次のレベルの相互接続への接続に
備えるI/Oピン528もまた含む。
【0026】第2レベル論理ブロックは、L1ブロック
505として示される。それは、X1相互接続521と
して示される相互接続により相互接続される、複数のL
0論理ブロック525を含む。X1相互接続521は、
次のレベルの接続に備えるI/Oピン522もまた含
む。第3レベル論理ブロックは、L2ブロック425と
して示される。L2ブロック425は、複数のL1論理
ブロック505を含む。L1論理ブロック505は、X
2相互接続511として示される相互接続により相互接
続される。X2相互接続511は、I/Oピン512を
備える。本発明のこの好ましい実施形態では、単体のL
2論理ブロックは、プログラム可能な論理チップ全体を
含む。そのI/Oピン512は、チップI/Oパッド4
35と繋がり、そのチップI/Oパッドはチップがパッ
ケージされているならば外部のピンや導線と接続し得
る。
【0027】十分なI/Oピンが、各々のレベルでの論
理ブロックの論理容量をサポートするよう、与えられる
べきである。X0相互接続527、X1相互接続52
1、X2相互接続511の各々の適切なサイズは、相互
接続されなければならないI/Oピンの数の関数であ
る。用いるレベルの全体数、各々のレベルでの論理ブロ
ックのサイズ、各々のレベルでの論理ブロックI/Oピ
ンの数、相互接続の結果としてのサイズ、これらの間
で、最適バランスを比較検討すべきである。
【0028】図3の、多重レベル階層状に相互接続され
たプログラム可能な論理チップは、そのX0相互接続5
27、X1相互接続521、X2相互接続511の内部
となる体系に関して多数の異なるものを、1つ又はそれ
以上用いてもよい。以下の議論では、完全占有するか或
いは部分的に占有する単体の単純なクロスバーであろう
と、多重の単純なクロスバーを含む部分クロスバー相互
接続であろうと、クロスバーを基礎とした体系が用いら
れている。
【0029】クロスバーについて、述べる。
【0030】単純クロスバー410の概略ブロック図が
図4に示される。クロスバー410は局所端子411間
の接続を確立するようプログラムされ得る。クロスバー
410が完全占有されると、どの局所端子411からの
1つ又はそれ以上の他の局所端子411へのどの接続も
プログラムされ得る。部分占有されると、全ての接続で
はなくいくつかの接続が、プログラムされ得る。部分占
有されたクロスバーは、ハードウエアの面においてコス
トがよりかからないが、しかし相互接続の容量がより少
なくなり、接続を確定するために、より複雑なソフトウ
エアの又は付加的なソフトウエアの、ルーチンを要求す
ることもある。
【0031】クロスバー410のための外部端子412
が図4に示される。クロスバー410は、外部端子41
2と局所端子411の間の接続を設定し得るが、外部端
子412と他の外部端子412の間は必ずしも設定し得
ない。クロスバー410が部分クロスバー相互接続にて
用いられると、局所端子411は相互接続される論理ブ
ロックと接続され、外部端子412は結果としてより高
レベルの論理ブロックに対するI/Oピンとして利用さ
れる。
【0032】クロスバー410の1つの可能な形態、ク
ロスポイント型クロスバーの、内部構造が、図5に示さ
れる。局所端子411と外部端子412の各々は、プロ
グラム可能な双方向性トランシーバ1040に繋がれて
いる。この好適な双方向性トランシーバ1040の概略
図が、図6に示されている。各々のトランシーバ104
0は1対のドライバを備える。各々のドライバ1041
は、メモリセル1042をプログラミングすることによ
り制御される。プログラミング・メモリセル1042
は、エスラム(SRAM)セルやフリップフロップやラ
ッチや、その出力に少量のプログラミング情報を保持す
る他の何らかの構造として、設定されてよい。そのよう
な構造は当業者には公知であるが、それ自体のプログラ
ミングの内容はここでは示されない。プログラム可能な
メモリセル1042がゼロにセットされれば、1つのド
ライバ1041はオン状態にもう1つのドライバはオフ
状態になり、信号を1方向に伝送しトランシーバを通
す。プログラム可能なメモリセル1042が1にセット
されれば、状況は逆転し、ドライバ1041に逆方向に
信号を伝送させる。このように、各々の端子は、クロス
バーへの入力にもクロスバー410への出力にもなるよ
うにプログラムされる。クロスバー410への入力とし
てプログラムされると、端子は信号を外部世界からクロ
スバー410の中へ引き入れる。クロスバー410から
の出力としてプログラムされると、端子は信号をクロス
バー410から外部世界へ引き出す。
【0033】各々のトランシーバ1040は内部ワイヤ
と接続されている。これらのワイヤはマトリックス状に
論理的に配置されており、1対のワイヤはクロスポイン
ト1030によって接合される。各々のクロスポイント
1030はプログラミングメモリセル1034をそなえ
ており、該セルはパストランジスタ1033を制御し、
信号を通すようオン状態にしたり信号をブロックするよ
うオフ状態にしたりする。この回路の例が図7に見うけ
られる。パストランジスタ1033のソースとドレイン
は、2つのワイヤ1031と1032をそれぞれ接合
し、トランシーバ1041により駆動される信号をその
方向に流すか、またはブロックする。クロスポイント1
030は、局所端子411と外部端子412との間で接
続がプログラムされるよう、形成される。示されるよう
に、図5の例は、何れかの局所端子411を、何れかの
他の1つ又はそれ以上の局所端子411と接続させるク
ロスポイント1030を備える。図5の例は、外部端子
412と局所端子411との間の接続を確立するクロス
ポイント1030も備えるが、外部端子412と他の外
部端子412との間の直接接続を確立するのではない。
適用を満足するように十分な経路設定可能性が存在する
限りは、クロスバー410を搭載する他の形態は、本発
明の範囲内である。このチップレベルの応用例に対しよ
り適切な、他の好適な搭載形態は以下に示される。
【0034】部分クロスバーにより相互接続されたプロ
グラム可能な論理チップについて、述べる。
【0035】部分クロスバー相互接続が図8に示され
る。図8は、図3に描かれる階層状に相互接続されたプ
ログラム可能な論理チップのための、相互接続搭載の例
を示す。これは、単体のL2論理ブロック425を含
む。この例では、X1相互接続521とX2相互接続5
11はそれぞれ部分クロスバー相互接続である。X1相
互接続521とX2相互接続511は共に2レベルの階
層状部分クロスバー相互接続を形成する。X2相互接続
511はX2クロスバー510を含み、その各々は、局
所端子610と外部端子615を備えた(図4に示され
る)クロスバー410の各々の例であり、ワイヤは局所
端子610をL1論理ブロックI/Oピン725と接続
する。
【0036】X2クロスバー510は、各々のL1論理
ブロック505のI/Oピン725が適切な部分集合に
分割されるようL1論理ブロック505と接続される。
ここで各々のL1論理ブロック505では同じ分割が利
用される。各々のX2クロスバー510の局所端子61
0は、あらゆるL1論理ブロック505の各々からのI
/Oピン725の同じ部分集合と、接続される。クロス
バー510とL1論理ブロック505とを接続する、ワ
イヤのネットワークのうちで最も外部にあるワイヤのみ
が、示されているのであり、個々を図に示すにはあまり
に数が多すぎる。他のそのようなワイヤは図8には示さ
れていないが、上記定義に従って、それらもまた存在し
ている。外部端子615はL2論理ブロックI/Oピン
515と接続される。
【0037】各々のL1論理ブロック505の要素は図
9に示される。X1相互接続521は、局所端子916
と外部端子915を備えたX1クロスバー520を含
み、該X1クロスバー520は(図4に示される)クロ
スバー410の各々の例であり、ワイヤは局所端子91
6をL0論理ブロックI/Oピン925と接続する。こ
のX1相互接続521では、X1クロスバー520は、
各々のL0論理ブロック525のI/Oピン925が適
切な部分集合に分割されるようL0論理ブロック525
と接続する。ここで各々のL0論理ブロック525では
同じ分割が利用される。各々のX1クロスバー520の
局所端子916は、あらゆるL0論理ブロック525の
各々からのI/Oピン925の同じ部分集合と、接続さ
れる。外部端子915はL1論理ブロック505のI/
Oピン725と接続され、それらは図8に示されるよう
にX2クロスバー510と接続する。
【0038】L0論理ブロック525の数、各々のL0
論理ブロック525上のI/Oピン925の数、X1ク
ロスバー520の数、そして各々のX1クロスバー52
0上の局所端子916の数、それらの数に依存して、各
々のL0ブロック525とX1クロスバー520の対の
間のワイヤに関し、ある数字“n”が存在する。例え
ば、それぞれに64本のI/Oピン925を備えた8個
のL0論理ブロック525が存在し、さらにそれぞれに
32本の局所端子916を備えた16個のX1クロスバ
ー520が存在するならば、“n”は4に等しい。即
ち、各々のL0ブロック525とX1クロスバー520
の対の間に4本のワイヤが存在する。“n”の値が高く
なればなるほど、経路設定の容易さは大きなものにな
り、経路設定成功の見込みが高いものになる。
【0039】チップ指向のクロスバー及び部分クロスバ
ーの相互接続搭載について、述べる。
【0040】クロスバー410を搭載する他の手段が、
集積回路をレイアウトする際に通常なされるような、単
体のシリコンダイ上の構成要素の直線的レイアウトとよ
り一致し、またこれら他の搭載手段が操作上の利点をそ
なえるならば、クロスバー410を搭載する他の手段
は、プログラム可能な論理チップにて用いるのにより適
切である。図10は、マルチプレクサ型クロスバーとし
て搭載されたクロスバー410を示す。4つの端子13
20の各々は、局所端子411または外部端子412に
対応する。ドライバ1310は常に、端子1320の論
理値をワイヤ1330の1つに引き入れる。ワイヤ13
30は、図に示すためだけに水平になっていることを銘
記すべきである。実際の搭載では、各々のワイヤ133
0は水平である必要はない。各々の端子1320は従っ
て常にその論理値を運ぶワイヤを備える。各々の端子1
320は、プログラム可能なマルチプレクサ1300に
よっても稼動可能であり、該マルチプレクサ1300
は、ワイヤ1330のうちの1つを選択するようプログ
ラムすることが可能であるし、その論理値を端子132
0上に引き入れるか否かをプログラムすることも可能で
ある。端子1320がこのクロスバー410からの出力
であるならば、マルチプレクサ1300は端子を引き動
かし望ましい入力端子1320により引き動かされるワ
イヤ1330を選択するようプログラムされる。そうで
ないならば、端子1320はクロスバー410への入力
であり、マルチプレクサは端子を引き動かさないように
プログラムされる。
【0041】クロスバー410のこのマルチプレクサ搭
載には、マルチプレクサを通しての伝達遅延があるため
クロスバープログラミングに対し比較的左右されないと
いう、操作上の利点がある。このことは、図5で示され
るような、クロスポイント型クロスバーには当てはまら
ない。しかも、マルチプレクサには、図5のトランジス
タ1033のような、受動パストランジスタを搭載する
必要はなく、代わりにより速い動作を可能とする能動論
理回路を搭載することができる。さらに、マルチプレク
サは本来矩形であり、チップ上で大きな距離を占め得る
ものであり、部分クロスバー相互接続を形成するのに用
いると形状上での利点がある。
【0042】同様なマルチプレクサ型クロスバー410
搭載が図11で示される。端子1450、1470の各
々は、局所端子411又は外部端子412に対応する。
プログラム可能な3隣接のドライバ1440は、プログ
ラミング・メモリ・セル1441によってドライビング
状態になるようにプログラムされていると、端子145
0上の論理値をワイヤ1430のうちの一本の上に引き
動かす。各々の端子1450は、プログラミング・メモ
リ・セル1411によってワイヤ1430の内の一本を
選択するようプログラムすることができるプログラム可
能なマルチプレクサ1410を備える。図11にみられ
るように、マルチプレクサ選択論理値は、プログラム可
能なドライバ1480がプログラミング・メモリ・セル
1481によって稼動するようにプログラムされている
と、プログラム可能なドライバ1480の利用により端
子1450上に引き動かされる。端子1450がこのク
ロスバー410からの出力ならば、マルチプレクサ14
10とドライバ1480は、端子を引き動かし望ましい
ワイヤ1430を選択するようにプログラムされる。端
子1450が入力であれば、ドライバ1480は端子を
引き動かさないようプログラムされる。これらの端子1
450は、クロスバー410構造をまたがって、本来配
列されるのであり、チップ上のこの構造の頂上又は底面
にある装置と接続するのに便利である。
【0043】各々の端子1470は、ワイヤ1430と
接続され得る。端子1470が出力であれば、マルチプ
レクサ1410と、ワイヤを引き動かすドライバ144
0、1480とは、望ましい入力を選択しこのワイヤ1
430を引き動かすよう、プログラムされる。双方向ト
ランシーバ1460は、そのあと外部端子1470を引
き動かすようにプログラムされる。端子1470が入力
であれば、そのワイヤ1430のプログラム可能な双方
向トランシーバ1460は、端子の論理値をワイヤ上に
引き動かすようプログラムされる。これらの端子147
0はクロスバー410構造の端部に本来位置するもので
あり、チップ上のこの構造の左端部又は右端部にある装
置との接続に有益である。
【0044】図12、図13、図14及び図15は、こ
れらクロスバー410搭載構造にて可能な形状上の信号
経路のバリエーションを示す。このクロスバー410と
接続する、論理ブロックやI/Oピンのような、論理チ
ップ上の構造物の望ましい形状配置に依存して、設定さ
れるべき特定の経路に適うバリエーションをひとつ、選
択し得る。マルチプレクサ出力ドライバ1480と全て
のプログラミングメモリセル1411、1441、14
81は、わかりやすくするため図12、図13、図14
及び図15では示されていない。それらは図11で見ら
れる。
【0045】図12では、信号は、該構造の頂上端部に
ある端子1450a上にてクロスバーに入力し、内部通
過する経路設定をされ、同様に頂上端部にある出力端子
1450bに到る。端子1450aは入力であるから、
そのマルチプレクサ1410aはプログラムされず、そ
のドライバ1440aはプログラムされる。端子145
0bは出力であるから、そのマルチプレクサ1410b
はプログラムされ、ドライバ1440aにより引き動か
されるワイヤ1430を選択する。
【0046】図13では、信号は、該構造の端部にある
端子1470上にてクロスバーに入力し、内部通過する
経路設定をされ、頂上端部にある出力端子1450に到
る。端子1470は入力であるから、その双方向トラン
シーバ1460はそのワイヤ1430を引き動かすよう
プログラムされる。端子1450は出力であるから、そ
のマルチプレクサ1410はプログラムされ、トランシ
ーバ1460により引き動かされるワイヤ1430を選
択する。
【0047】図14では、信号は、該構造の頂上端部に
ある端子1450上にてクロスバーに入力し、内部通過
する経路設定をされ、端部にある出力端子1470に到
る。端子1450は入力であるから、そのマルチプレク
サ1410aはプログラムされず、そのドライバ144
0はプログラムされる。端子1470は出力であるか
ら、その双方向トランシーバ1460はその端子147
0を引き動かすようプログラムされる。
【0048】図15では、信号は、該構造の端部にある
端子1470a上にてクロスバーに入力し、内部通過す
る経路設定をされ、端部にある出力端子1470bに到
る。端子1470aは入力であるから、その双方向トラ
ンシーバ1460aはそのワイヤ1430aを引き動か
すようプログラムされる。端子1470bは出力である
から、そのマルチプレクサ1410はプログラムされ、
トランシーバ1460により引き動かされるワイヤ14
30aを選択し、さらにそのドライバ1480はプログ
ラムされ、ワイヤ1430bを引き動かす。ワイヤ14
30b上の双方向トランシーバ1460bはその端子1
470bを引き動かすようプログラムされる。
【0049】図16と図17は、図11、図12、図1
3、図14及び図15に示されるクロスバー410構造
を用いた、典型的な部分クロスバー相互接続を示す。図
16にて示されるように、L1論理ブロック1500
は、それぞれ3本のI/Oピンを備えた4つのL0論理
ブロック1160で構成され、それぞれ4本の局所端子
1450とそれぞれ2本の外部端子を備えた3つのX1
クロスバー1400で相互接続される。X1の外部端子
1400は、L1論理ブロックの6本のI/Oピン14
70として機能する。
【0050】図17は、論理チップ上に相対形状配置し
た、X1クロスバー1400、L0論理ブロック116
0及びL1I/Oピン1470を示す。X1クロスバー
1400は構造の幅全体に広がって伸び、L0論理ブロ
ック1160は頂上端部に広がって配置され、I/Oピ
ン1470は左端部に3本右端部に3本、端部に配置さ
れる。
【0051】図18、図19及び図20は、クロスバー
410と部分クロスバー相互接続の、別の搭載を示す。
図18はこの例で用いられるL1論理ブロックを示す。
図18のL1論理ブロックは、4つのL0論理ブロック
1600と、2つのX1クロスバー、即ち第1のX1ク
ロスバー1610と第2のX1クロスバー1612と
を、含む。この実施形態では、第1のX1クロスバー1
610と第2のX1クロスバー1612は、L0論理ブ
ロック1600のI/Oピンと部分クロスバー相互接続
により接続される。この実施形態では、第1のX1クロ
スバー1610と第2のX1クロスバー1612は、局
所端子411に相当する16本の局所端子を備える。こ
のことは、4つのL0論理ブロック1600の各々との
4本の接続を設定することに備えるものである。第1の
X1クロスバー1610と第2のX1クロスバー161
2は、外部端子412に相当する2本の外部端子163
0もまた備え、このL0論理ブロックの4本のI/Oピ
ンとなる。
【0052】図19は、クロスポイント1620の詳細
を示す。各々のクロスポイントは、パストランジスタ1
623を制御するプログラミング・メモリセル1624
を備え、該メモリセルはトランジスタをオン状態にし信
号を伝送する(即ち、短絡回路を作る)か、トランジス
タをオフ状態にし信号をさえぎる(即ち、開回路を作
る)か、のいずれかを行う。パストランジスタは、該ト
ランジスタが接続されているワイヤ1621、1622
を結合し、どの方向でも流される信号を通過させるか、
またはさえぎるか、の何れかを行う。
【0053】図20は、論理チップ上に相対形状配置し
た、2つのX1クロスバー(第1のX1クロスバー16
10と第2のX1クロスバー1612)、4つのL0論
理ブロック1600及びL1I/Oピン1630を含む
L1論理ブロックの実施形態を示す。第1のX1クロス
バー1610と第2のX1クロスバー1612のクロス
ポイント1620はチップ上の位置において形状上交互
に重ねられていることを、銘記すべきである。各々のL
0論理ブロックと接続する、第1のX1クロスバー16
10のクロスポイントは、各々のL0論理ブロックと直
接隣接して位置する。このように、X1クロスバーの各
々は、各々のL0論理ブロックに隣接してクロスポイン
トの幾個かを備える。各々のX1クロスバー(即ち、第
1のX1クロスバー1610と第2のX1クロスバー1
612)のクロスポイントの合計全体は、構造の幅全体
に広がる。大まかには三角形の全体形状になるというこ
とに注目すると、2つのそのような構造が、それらの斜
辺が概略共に一致するように、並んで配置されてもよ
い。構造をペアにすると結果として、矩形領域を満たす
効果がある。
【0054】各々の論理ブロック1600が(x*i)
本ピンを備え各々のクロスバー1610、1612が
(L*i)プラス“k”本ピンを備えるような、“L”
個の論理ブロック1600と“x”個のクロスバー16
10、1612を仮定すると、論理ブロック−クロスバ
ーのペア毎に“i”本の経路が存在する。1つのプログ
ラム可能なクロスポイント1620により占領される領
域にセルを印付けると、各々のセルは、“x”本の横線
と1本の縦線が横切る。従って、全体幅は(L**i)
セルと書くことができ、全体高さは((L−1)*i+
k)セルと与えられる。この交互に重ねられた構造は、
能動クロスポイントが許容するよりも、より高密度、即
ち空間効率に備えるものである。しかしながら、上記に
て議論したように、図10、図11、図12、図13、
図14、図15、図16、図17のような能動クロスポ
イントは、より速い速度とより一様な遅延をもたらし得
る。
【0055】L0論理ブロックとX0相互接続搭載につ
いて、述べる。
【0056】図21は、論理チップ上に相対形状配置し
た、L0論理ブロック525の基本要素を示す。X0相
互接続527は、長辺の1つ又は両方に沿って配置され
た論理ユニット(LU)526を備える。L0ブロック
525のI/Oピン528はX0相互接続527の1つ
又は両方の端部に位置する。X0相互接続527は、完
全占有単純クロスバーや部分占有単純クロスバーやそれ
らの組合せを含んで、多くの異なる形態のうちのひとつ
で構築されてよい。
【0057】図22は、L0論理ブロック525内のX
0相互接続527の1つの可能な搭載を示す。X0相互
接続527は、2つのクロスバー、即ちX0入力クロス
バー600とX0出力クロスバー700とを含む。この
ことにより各々のクロスバーがその機能に従い最適化さ
れることが許容される。X0入力クロスバー600は、
LU出力560とL0論理ブロックI/Oピン528と
から入力を取る。X0入力クロスバー600の出力は、
LU526の各々の入力550と接続されている。X0
出力クロスバー700は、LU出力560から入力を取
る。その出力は、L0論理ブロックI/Oピン528に
接続されている。各々のL0論理ブロックI/Oピン5
28は、プログラム可能な双方向トランシーバ540を
備える。I/Oピン528がL0論理ブロック525か
らの出力となるようプログラムされX0出力クロスバー
700により引き動かされるのならば、プログラム可能
な双方向トランシーバ540は、出力方向に稼動する。
I/Oピン528がL0論理ブロック525への入力と
なるようプログラムされ、I/Oピン528が接続され
る(図9に示される)X1クロスバー520により引き
動かされるのならば、プログラム可能な双方向トランシ
ーバ540は、入力方向に稼動する。
【0058】プログラム可能な論理チップ400の融通
性とコンパイルスピードとは、X0相互接続527のク
ロスバーが単純完全クロスバーであれば最大となる。こ
れは、単純完全クロスバーは直接に、可能なあらゆる相
互接続を実現し得るという理由による。したがって、そ
のような相互接続に必要な資源が利用できないために生
じる相互接続ブロッキングのような、経路設定の問題
を、コンパイラーは解決する必要がない。そのような完
全クロスバーを構築する一つの方法は、入力ピンと出力
ピンのあらゆるペアの間にプログラム可能なクロスポイ
ントを与えることである。この例が、局所端子411に
対する図5にてみられる。しかしながら、好ましい実施
形態では、L0論理ブロック525が与え得る限りの多
くのLU526を備えるならば、それが最もよい。この
ことによりX0相互接続527のサイズが大きくなって
しまい、L2論理ブロック425全体で非常に多くのX
0相互接続が生じてしまうことから特に費用がかかる。
【0059】図23に示されるクロスバー600には、
各々の可能な入力信号610を各々の出力620と相互
接続する、プログラム可能なクロスポイント605があ
る。これらのクロスポイント605の各々は、プログラ
ム可能なメモリセル607とパストランジスタ606を
含む。どの1出力620でもこれと接続する全てのこれ
らクロスポイント605のなかで、1つだけがプログラ
ム可能なメモリセルを1(即ち“ハイ”)にセットされ
ており他の残り全てがゼロ(即ち“ロー”)にセットさ
れている。情報符号上の意味では、どの入力610が該
出力620と接続されるかを表すただ1つの数字は、そ
の数字の各々の値に対する1ビットによって完全復号方
式で表される。したがって、これは完全復号クロスポイ
ント型クロスバーとして表するのが有用である。これと
は対照的に、マルチプレクサ型クロスバー(例えば、図
11で示され上記で議論したマルチプレクサ型クロスバ
ー)は、マルチプレクサ選択メモリセル1411内に、
バイナリフォームでこの数字を完全に符号化する。そこ
では、ビット1411の各々の組合せが、異なる入力の
選択を表す。現実にプログラム可能なメモリセルがシリ
コン領域の大半を占めるため、シリコンウェハ上に作製
されるべきメモリセルの個数は、クロスバーのチップ領
域と強い関係がある。したがって、要求されるメモリセ
ルの個数が増加すると、シリコンチップのサイズも同様
に増加する。
【0060】完全復号化クロスポイント型クロスバーと
完全符号化マルチプレクサ型クロスバーとの混成型が、
図24に示される。クロスバーの入力信号610がグル
ープ化されている。図24の例では、2つのグループが
示される。第1のグループ611は4つの入力信号を含
んでおり第2のグループ612は4つの入力信号を含
む。各々のクロスバー出力620に対して、グループの
数と同数の、4入力マルチプレクサ630が備わってい
る。図24の例では、2つのグループがあるので、2つ
のマルチプレクサ630がある。各々のマルチプレクサ
630は、そのグループの入力信号611(又は61
2)と接続するデータ入力と一般に称されるものを備え
る。クロスバー出力620に供給するマルチプレクサ6
30の全ては、バイナリ復号化部640を経由してプロ
グラミングメモリセル641のセットに共通して接続す
る、選択入力631と一般に称されるものを備える。全
ての入力信号610のうちからたった1つの入力信号6
10が入力として最終的には選択されるため、このこと
は許容されるのである。したがって、選択される入力6
10に接続しない他のマルチプレクサ630全てのセッ
トは、クロスバー出力620に何ら影響を及ぼさない。
各々のマルチプレクサ出力632は、プログラム可能な
クロスポイント650を経由してクロスバー出力620
と接続する。各々のプログラム可能なクロスポイント6
50はパストランジスタ651とプログラム可能なメモ
リセル652を備える。要求された入力信号610と接
続するマルチプレクサ630と接続するクロスポイント
650だけが、オン状態となるようプログラムされる。
残りのクロスポイント650は、オフ状態となるようプ
ログラムされる。
【0061】この構成では、より少ないプログラム可能
なメモリセルしか必要とされない。従って、クロスバー
600にはチップ上でより少ない領域しか必要でない。
例えば、以下で記述する好適な実施形態のように、X0
入力クロスバー600に対し96本入力610があると
すれば、完全復号化クロスポイント型クロスバーは、図
23のように、クロスバー出力620毎に96個のプロ
グラム可能なメモリセル607を必要とする。図24に
示される混成マルチプレクサ−クロスポイント・クロス
バー構成では、96本の入力610は24のグループに
分けられる。各々の出力620は24個のマルチプレク
サ630を備え、全てのマルチプレクサは2つのプログ
ラミングメモリセル641により制御される(議論した
ように、プログラミングメモリセル641の個数は増加
しない)。各々の出力620は、マルチプレクサ出力6
32をクロスバー出力620と接続する、24個のクロ
スポイント650を備える。従って、クロスバー出力6
20毎の26個のプログラミングメモリセル合計のさら
に総計が必要である。
【0062】その代わりに、96入力マルチプレクサ6
30を1個だけ備えクロスポイント650を備えない、
完全符号化マルチプレクサ型クロスバーが用いられれ
ば、図24に示されるマルチプレクサ630と同様に構
成すると、96個のパストランジスタと96本の選択入
力631が必要である。これは非常に高価である。さら
に、マルチプレクサの技術分野では公知の、パストラン
ジスタ・マルチプレクサのバイナリツリー型が代わりに
用いられると、信号は7個のパストランジスタを直列に
通過しなければならない。各々のパストランジスタは、
信号経路に対し抵抗とキャパシタンス(電気容量)を加
えるため、7つのパストランジスタが利用されると速度
と信号の質は悪くなる。このように、図24に示される
混成マルチプレクサ−クロスポイント・クロスバーは、
符号化の経済性と信号遅延経路の最小化との間の、よき
均衡を図るものである。
【0063】クロスバーのプログラム可能なメモリセル
の個数を削減する別の代替手段は、図23のような復号
化クロスポイント型クロスバー構成を用いることであ
り、それも部分的にのみプログラム可能なクロスポイン
ト605において占有使用することである。換言する
と、可能な入力信号は、各々の出力に必ずしも全て接続
するわけではないということである。そのようなクロス
バーが図25に示されており、X0出力クロスバー70
0として用いられている。LU526の各々は、そのL
U出力560をクロスバー700の入力端子710に接
続している。プログラム可能なクロスポイント605
は、入力710を出力端子720に接続する。可能性の
あるクロスポイント位置のうちの一部分のみ、クロスポ
イント605が置かれる。
【0064】一般的にいうと、X0出力クロスバーの入
力端子710と出力端子720との間に必要とされる一
連の相互接続を与えても、クロスポイント605の部分
的占有使用は、相互接続を与えきれないことがしばしば
起こる。しかしながら、入力端子710上の信号源が自
由に再配置できるならば、より高い成功率が達成される
のが見うけられる。目標の出力端子720を与えると、
入力端子710を目標出力720と結合させるクロスポ
イント605を確かに備える入力端子710を、上記源
が引き動かすように、上記源を設定し得る。図22に示
されるL0論理ブロック525の構造では、一様に識別
されるLU526はどんな相対的配置にも再配置でき
る。というのは完全占有入力クロスバー600はLU入
力550へのどんな接続をも成し遂げることができるか
らである。
【0065】同様に、出力端子720に接続する信号目
標が、ある程度まで自由に再配置できるならば、より高
い成功率が達成される。出力端子720を入力源入力7
10と結合するクロスポイント605を確かに備える出
力端子720に、目標が接続するように目標は設置し得
る。図22に示されるL0論理ブロック525では、同
じX1クロスバー520に接続する4つのX0出力クロ
スバーの出力が、どんな相対的配置にでも再配置されう
る。これは、完全占有X1クロスバー520が、その局
所端子916から他の局所端子916及び・又は外部端
子915への接続をどんなものでも成し遂げることがで
きる、との理由による。信号源と信号目標の両方に幾分
かの再配置の自由があるならは、たとえクロスバーがク
ロスポイント605に疎らにしか占有されていなくても
接続が完遂するように、その両方の自由を利用し得る。
【0066】このように、この部分占有X0出力クロス
バー700は、その部分占有にもかかわらず、非常に高
い成功率で利用することができる。L0論理ブロック5
25のためのプログラミングの準備をする、コンパイラ
での経路設定段階は、論理の割り振りを特定の物理論理
ユニット526の中に作り上げる。X0入力クロスバー
600とX0出力クロスバー700の中のクロスポイン
ト605のプログラミングを作り上げ、さらにX1クロ
スバー520のプログラミングをスペック化する間に、
コンパイラはこのことを同時に行う。
【0067】好ましい実施形態で、エミュレーションと
プロトタイピングのために最適化されたプログラム可能
な論理チップが、図26にて示されている。単体L2論
理ブロック1100からなる。L2論理ブロック110
0体系は、図26に描かれるチップ・フロア・プランに
従って構成される。L2論理ブロック1100は、エミ
ュレーション・プロトタイピング最適化チップとして機
能するよう構成される。
【0068】L2チップ体系1100では、複数のX2
クロスバー1110が、複数のL1論理ブロック113
0間のX2部分クロスバー相互接続1120を形成す
る。各々のL1論理ブロック1130は、複数のX1ク
ロスバー1140を含み、そのX1クロスバー1140
は複数のL0論理ブロック1160間のX1部分クロス
バー相互接続1150を形成する。各々のL0論理ブロ
ック1160はX0相互接続1170を含み、そのX0
相互接続1170は複数のLU1180を相互接続す
る。
【0069】X2部分クロスバー相互接続1120には
52本X2クロスバー1110がある。各々のX2クロ
スバー1110は、図11、図12、図13、図14、
図15、図16、図17、図18、図19及び図20に
示されるような、マルチプレクサ型に関するものであ
る。各々のX2クロスバーには32本局所端子があり、
それぞれがL1論理ブロックI/Oピンに接続してい
る。各々のX2クロスバーには10本外部端子があり、
それぞれがL2論理ブロックI/Oピン1190であ
る。L2論理ブロック1100は630個のパッド11
90を含み、そのうち520個がL2論理ブロックI/
Oピン1190に接続するパッドである。残りのパッド
は、第2の制御目的のために、そして電源と接地接続の
ために、利用される。
【0070】8個のL1論理ブロック1130があり、
各々は208本I/OピンとX1部分クロスバー相互接
続1150を含んでおり、該X1部分クロスバー相互接
続1150は16本クロスバー1140を含む。各々の
X1クロスバー1140は、図11、図12、図13、
図14、図15、図16、図17、図18、図19及び
図20に示されるような、マルチプレクサ型に関するも
のである。各々のX1クロスバーには36本局所端子が
あり、それぞれがL0論理ブロックI/Oピンに接続し
ている。各々のX1クロスバーには13本外部端子があ
り、それぞれがL1論理ブロックI/Oピンである。各
々のL1論理ブロック1130は9個L0論理ブロック
1160を含み、それぞれが64本I/OピンとX0相
互接続1170を含んでおり、またX0相互接続117
0は32個の論理ユニット(LU)1180と接続す
る。各々のLU1180は、メモリ素子、フリップフロ
ップ・ラッチ、そしてプログラム可能な遅延素子を含
む。各々のL1論理ブロック1130の内部には288
個のLUがある。従って、L2論理ブロック1100内
部には2304個のLU1180がある。
【0071】プログラム可能な論理チップ上のそのよう
なL2論理ブロックは、他の多くの可能なレイアウトに
従って、配置され得るのであり、レイアウトの選択は、
サイズと経路設定との効率性のみにより指図されるので
ある。例えば、図26のL2論理ブロック1100の物
理的配置とは対照的に、L2論理ブロックは、図27に
示されるような、代替の実施形態に従って、配置され得
る。L2論理ブロック1200もまた全体で2304個
LUを備える。たとえ入力設計の頂上レベルでの入力・
出力ネットが特定のI/Oピンに予め割り振られていて
も相互接続の経路設定可能性を助長する、14本のピン
交換クロスバー1210を経由して、L2論理ブロック
1200と接続する616本I/Oピンを、L2論理ブ
ロック1200は備える。ピン交換クロスバー1210
は、ピン共有のために時間的な多重送信も可能である。
L2論理ブロック1200は、能動クロスポイントを利
用するX2相互接続1230をも含む。
【0072】8個L1の論理ブロック1220は、L2
論理ブロック1200の内部に含まれる。各々のL1論
理ブロック1220は、221本I/Oピン、図18、
図19、図20に示されるタイプの受動クロスポイント
クロスバーを用いたX1相互接続1240、そして12
個のL0論理ブロック1250を、備える。各々のL0
論理ブロック1250は24個のLU1260とX0相
互接続ネットワーク1270とを備える。
【0073】この好ましい実施形態では、図26のL2
チップ1100のX2クロスバー1110は、図28に
描かれるように形状上構成され得る。X2クロスバー1
110は、図29に示されるX2部分クロスバー相互接
続1120を形成するために、L1論理ブロック113
0と論理上インタフェイス接続する。このX2部分クロ
スバー相互接続1120は、図10、図11、図12、
図13、図14、図15、図16、そして図17に示さ
れるような仕方でマルチプレクサ型クロスバーで構成さ
れる。このように、52個のX2クロスバー1110の
各々は、42本の(単純化のため単線で示されている)
端子を含み、そのうち32本は局所端子で10本は外部
端子である。局所端子の内の4本は、8個のL1論理ブ
ロック1130の各々のI/Oピン1131に接続す
る。外部端子は、論理チップI/Oパッド1190と接
続するL2論理ブロックI/Oピンであり、該ピンはこ
の好ましい実施形態では、520本である。各々のX2
クロスバー1110は、42入力のマルチプレクサ14
10(図示せず)を含む。
【0074】X1クロスバー1140、L0論理ブロッ
ク1160、そしてL1論理ブロック1130のLU1
180は、図30に示されるように形状上構成してもよ
い。X1クロスバー1140は、図31に描かれるX1
部分クロスバー相互接続1150を形成するために、L
0論理ブロック1160と論理上インタフェイス接続す
る。このX1部分クロスバー相互接続1150は、図1
0、図11、図12、図13、図14、図15、図1
6、そして図17に示されるような仕方でマルチプレク
サ型クロスバーで構成される。このように、16本のX
1クロスバー1140の各々は、L2論理ブロック11
00の残部に対して全体で208本のL1論理ブロック
I/Oピン1131となる、13本の外部端子と、9個
のL0論理ブロック1160のI/Oピン1161に4
本束で接続する36本の局所端子を、含む。(単純化の
ため、ピンは単線で描かれている。)各々のX1クロス
バー1140は、49入力のマルチプレクサ1410
(図示せず)を含む。
【0075】この好ましい実施形態では、L0論理ブロ
ック1160は、図32に示されるように配置される。
図32に示されるL0論理ブロック1160は、X0相
互接続ネットワーク1170が32個のLU1180と
相互接続するように配置される。X0相互接続ネットワ
ーク1170は64個のI/Oを含む。この好ましい実
施形態では、単体の完全占有入力クロスバーは、L0I
/OピンからのLU入力とLU出力とを与え、単体の部
分占有出力クロスバーは、LU出力をL0I/Oピンと
接続する。
【0076】好ましい実施形態では、図26のL2論理
ブロック1100は、図33に描かれるプログラム可能
な論理チップ経路設定体系1100を含み、上述の、図
28、図29、図30、図31及び図32に係る相互接
続を、図解要約している。
【0077】この好ましい実施形態では、LU1180
は、図34に示されるように、搭載される。LU118
0は、16ビットスタテイックRAM(ランダム・アク
セス・メモリ)1900と、フリップフロップ又はラッ
チ回路1910とを、含む。この好ましいLU1180
は、16:1のマルチプレクサ1920とプログラム可
能な遅延素子1930をも、含む。さらに、この好まし
いLU1180は、16ビット動的シフトレジスタ19
40と1ビットシフトレジスタ1950をも、含む。1
6ビット動的シフトレジスタ1940と1ビットシフト
レジスタ1950は、プログラミングに用いられる。
【0078】この好ましいLU1180は、組合せ論理
機能を実行するために、データ選択論理を用いる。SR
AM1900は論理関数の真偽表を備えるようプログラ
ムされる。4個のLU入力1985は、マルチプレクサ
1920を経由して16SRAMビットの内の1つを選
択するために用いられる。プログラム可能なフリップフ
ロップ・ラッチ1910は、論理値記憶装置として利用
可能である。フリップフロップ・ラッチ1910は、エ
ッジ波を引き動かすDフリップフロップとしても、透過
ラッチとしても、いずれでも動作するようプログラムし
得る。さもなくば、フリップフロップ・ラッチ1910
は、データ、クロック、クロックイネーブル、前もって
セットされクリアな入力、及び1つの出力を、備えた伝
統的な型に関するものである。プログラム可能なマルチ
プレクサ1931は、LUだけで組合せて動作するた
め、マルチプレクサ1920の出力となるか、フリップ
フロップ・ラッチ1910の出力となるか選択する。こ
れは、レジスタとしてのLUの動作か、ラッチとしての
LUの動作かを、選択する。この値は、それから、プロ
グラム可能な遅延素子1930を通過する。該遅延素子
は遅延が無いようにプログラムしてもよく、1又はそれ
以上の時間遅延値を生じるようにプログラムしてもよ
い。プログラム可能な遅延素子1930の利用を通じて
時間遅延をプログラムし得るということは、重要なこと
である。なぜなら、LU1180を待機時間違反を解決
するために用いることができるからである。LU118
0は、ユーザ設計の中に意図的にデザインが込められる
遅延のような、他の時間調節目的にも用いることができ
る。LU1180の出力は、LU出力1990である。
【0079】この好ましい実施形態では、4つのクロッ
ク信号1925のセットが、L2論理ブロック1100
全体における全てのLU1180に配布される。4つの
フリップフロップ制御信号1926のセットが、各々の
L0論理ブロック1160における全てのLU1180
に配布される。プログラム可能な論理1980は、クロ
ック信号1925と制御信号1926の間から選択する
ことができ、フリップフロップ・ラッチ1910に対
し、クロック、クロックイネーブル、前もってセットさ
れクリアな信号を、プログラムされた通りに、与えるこ
とができる。論理1980は、必要ならばこれら信号の
どれでもプログラムにより反転することもできる。
【0080】SRAM1900を備えたメモリセル(図
示せず)は、16ビットシフトレジスタから専用書込み
ポート1975の中へプログラムされる。このように、
LU1900は、L2論理ブロック1100の動作中に
選択的にプログラムされ得る。LU1900の内容は、
16ビットシフトレジスタ1940の中に読み戻すこと
もできる。また、LU出力1990は、1ビットシフト
レジスタ1950の中にサンプルされることもでき、L
2論理ブロック1100が動作している間に素早く読み
戻すこともできる。L0論理ブロック1160内の各々
のLUのプログラミング・シフト・レジスタ1940、
1950は、直列に接続している。これらのシフトレジ
スタ1940、1950は、L2論理ブロック1100
全体に渡って、互いに直列に接続しており、アメリカ電
気・電子通信学会・スタンダード1149JTAGテス
トポートのような、標準的直列インタフェイスに、制御
論理を通じて接続する。このプログラミング制御論理
は、SRAM1900セルと、L2論理ブロック110
0の他の全てのプログラム可能なメモリセルとを、プロ
グラムするのに必要な制御信号をも与える。
【0081】この好ましい実施形態では、(LU118
1、1182、1183、1184、1185、118
6、1187、1188として示される)8個のLUの
グループ1180は、必要とあらば、8ビットメモリに
より16ビットワードとしてふるまうようプログラムさ
れるように、図35に示される如く共にグループ化され
る。各々のLU1180(図35の、LU1181、1
182、1183、1184、1185、1186、1
187、1188)中のSRAM1900は、8ビット
メモリの1ビットとしてふるまう。このメモリは、読み
込みポートと書込みポートとを、備える。読み込みポー
トは、LU入力1985とマルチプレクサ1920とを
用いて、SRAM1900のメモリセルに蓄えられたデ
ータを読む。8つのLU1181、1182、118
3、1184、1185、1186、1187、118
8の全てに共通な、書込み復号化部1994と書込み可
能パルス生成部1992は、各々のSRAM1900の
メモリセルの中にデータを書き込む。書込みアドレスの
4ビットは、図35に示されるように、通常、LUのう
ちの1つ、LU1180に対し用いられる信号から、取
られる。3つのマルチプレクサ1810は、3つのLU
1180の入力の間に挿入され、この実施形態ではLU
1181、1182及び1183、そしてX0相互接続
1170の間である。通常では、これらのマルチプレク
サは、X0相互接続1170からそれらLU入力198
5の各々にまで、信号を送信するようセットされる。8
個のLUのグループが、メモリとして利用されるようプ
ログラムされているならば、第4のLU1184の入力
1985に送信される入力信号を、第1の3つのLU1
181、1182、1183の入力1985に複写する
ために、代わりにスイッチされる。このことにより、第
1のLU1181の入力1985に通常送られるX0相
互接続1170からの4ビット信号を、書込み復号化部
1994に送信して書込みアドレス1820として利用
し得ることになる。また、第2の及び第3のLU118
2、1183の入力1985に通常送られるX0相互接
続1170からの8ビット信号を、グループ化された8
個のLUの各々への書込みデータ入力として利用し得る
ことになる。書込み可能パルス生成部1992への書込
み可能入力は、制御信号1926の1つから、取られ
る。
【0082】図36は、この好ましい実施形態のL0論
理ブロック1160の内部構造を示す。マルチプレクサ
1810は、わかりやすくするため、示されていない。
X0相互接続1170は、2つのクロスバー、即ちX0
入力クロスバー1700とX0出力クロスバー1750
とから、なる。X0入力クロスバー1700は、32個
のLU出力1990と、L0論理ブロックI/Oピン1
161とから、全体で96個の入力を得る。その出力
は、32個のLU1180の各々につき4個の入力、即
ち全体で128個の入力と、全LUで共有される4個の
制御入力とに、接続する。X0入力クロスバー1700
は、図24の混成マルチプレクサ−クロスポイント・ク
ロスバー構成を用いて構成される。その96個の入力
は、4入力毎の24グループに分割され、出力ではそれ
ぞれが、24個の4入力マルチプレクサと、マルチプレ
クサから出力への24個のクロスポイントとを、備え
る。
【0083】X0出力クロスバー1750は、32個の
LU出力1990から入力を得る。その64個の出力
は、L0論理ブロックI/Oピン1161に接続する。
各々のL0論理ブロックI/Oピン1161は、プログ
ラム可能な双方向トランシーバ1162を備える。双方
向トランシーバ1162の引き動かすI/Oピンが、X
0出力クロスバー1750により引き動かされて、L0
論理ブロック1160からの出力となるようプログラム
されているならば、双方向トランシーバ1162は出力
方向に引き動く。双方向トランシーバ1162が、接続
されたX1クロスバー1140により引き動かされて、
L0論理ブロック1160への入力となるようプログラ
ムされているならば、双方向トランシーバ1162は入
力方向に引き動く。X0出力クロスバーは、図25にク
ロスバー700として示し既に議論したタイプの、部分
占有クロスポイント型クロスバーである。
【0084】図37は、X0出力クロスバー1750の
(図25に示される)クロスポイント605の占有パタ
ーンを示す。チャート中の各々の列は、単体のLU出力
1990に繋がる単体の入力端子710を表す。チャー
ト中の各々の行は、単体のX1クロスバー1140に繋
がる4本のX0論理ブロックI/Oピン1161と接続
する、4つの出力端子720を表す。行−列のエントリ
部が“・”を示しているならば、その列の入力端子71
0が、その行のどの出力端子720とも接続するクロス
ポイント605がない。行−列のエントリ部が数字
(0、1、2又は3)を示しているならば、その列の入
力端子710が、その行の出力端子720の1つと接続
するクロスポイント605がある。4つの出力端子72
0のうちのどの1つが接続しているかは、行−列のエン
トリ部の数字により示される。各々の入力端子710に
は、それが出力端子720と接続する4つのクロスポイ
ント605が備わる、ということが、みられる。完全占
有クロスバーでは、64個のクロスポイント605が各
々の入力端子710と接続するので、この部分占有X0
出力クロスバー1750は、完全占有等価クロスバー
の、クロスポイント数の16分の1しか備わらず、よっ
て領域も16分の1だけ備わる。
【0085】このように、本発明の好ましい実施形態が
示され記された。しかしながら、ここで開示された実施
形態に対し、本発明の精神若しくは範囲から離れること
なく、数多くの変更をなし得ることは、当業者には明ら
かである。従って、本発明は添付の請求項に従っての
み、制限される。
【図面の簡単な説明】
【図1】 部分クロスバー相互接続構造のブロック図で
ある。
【図2】 第2レベルの部分クロスバー相互接続構造の
ブロック図である。
【図3】 論理ブロックと相互接続の階層のブロック図
である。
【図4】 クロスバーを描くブロック図である。
【図5】 図4のクロスバーのクロスポイント型構造を
詳述するブロック図である。
【図6】 図5に示されるクロスポイント型構造にて用
いられる本発明の好適な双方向トランシーバの概略図で
ある。
【図7】 図5に示されるクロスポイント型構造にて用
いられる本発明の好適なクロスポイントの概略図であ
る。
【図8】 L0論理ブロックとL1論理ブロックを相互
接続する2レベル階層部分クロスバー相互接続のブロッ
ク図である。
【図9】 図8のL1ブロックのブロック図である。
【図10】 ハード−ワイヤ線ドライバを備えたマルチ
プレクサを用いるクロスバー回路とレイアウト技術を示
すブロック図である。
【図11】 図10の技術に係る、ハード−ワイヤ・ク
ロスポイントを備えた6ピンクロスバーのブロック図で
ある。
【図12】 図11の6ピンクロスバーの種々のレイア
ウト構成バージョンを示すブロック図である。
【図13】 図11の6ピンクロスバーの種々のレイア
ウト構成バージョンを示すブロック図である。
【図14】 図11の6ピンクロスバーの種々のレイア
ウト構成バージョンを示すブロック図である。
【図15】 図11の6ピンクロスバーの種々のレイア
ウト構成バージョンを示すブロック図である。
【図16】 図11のクロスバーを用いた部分クロスバ
ー相互接続構造のブロック図である。
【図17】 図11のクロスバーを用いた、図16の部
分クロスバー相互接続構造のより詳細なブロック図であ
る。
【図18】 部分クロスバー相互接続構造のブロック図
である。
【図19】 パストランジスタクロスポイントのブロッ
ク図である。
【図20】 パストランジスタクロスポイントを用いた
部分クロスバー相互接続構造の形状レイアウトのブロッ
ク図である。
【図21】 L0ブロックのブロック図である。
【図22】 L0論理ブロックの、LUとX0クロスバ
ーのブロック図である。
【図23】 完全占有クロスポイント型クロスバーのブ
ロック図である。
【図24】 完全占有混成マルチプレクサ−クロスポイ
ント・クロスバーのブロック図である。
【図25】 部分占有クロスポイント型X0出力クロス
バーのブロック図である。
【図26】 L1ブロック、L0ブロックと相互接続
の、形状配置を示すチップの図である。
【図27】 L1ブロック、L0ブロックと相互接続
の、異なる形状配置を示すチップの図である。
【図28】 X2クロスバーの形状配置を示す、図26
のX2相互接続の図である。
【図29】 図26のチップのL1論理ブロックとX2
クロスバーとの間の接続を示すブロック図である。
【図30】 X1クロスバーとL0論理ブロックとの形
状配置を示す、L1論理ブロックの図である。
【図31】 図30のL1論理ブロックのL0論理ブロ
ックとX1クロスバーとの間の接続を示すブロック図で
ある。
【図32】 構成要素の形状配置を示す、L0論理ブロ
ックの図である。
【図33】 図26のチップのためのチップ経路設定体
系のブロック図である。
【図34】 図30のL0論理ブロックで用いられる論
理ユニットのブロック図である。
【図35】 論理ユニットのグループをメモリとして用
いるための設備を示すブロック図である。
【図36】 図30のL0論理ブロックの論理ユニット
とX0クロスバーのブロック図である。
【図37】 図36のX0出力クロスバーのクロスポイ
ントのための例示占有パターンを示すチャートである。
【符号の説明】
115・・・部分クロスバー相互接続、200・・・論
理ブロック、240・・・部分クロスバー相互接続、4
00・・・論理チップ、410・・・クロスバー、50
5・・・L1論理ブロック、511・・・X2相互接
続、525・・・L0論理ブロック、600・・・X0
入力クロスバー、700・・・X0出力クロスバー、1
030・・・クロスポイント、1040・・・双方向性
トランシーバ、1100・・・L2論理ブロック、11
80・・・論理ユニット(LU)、1200・・・L2
論理ブロック、1300・・・マルチプレクサ、140
0・・・X1クロスバー、1500・・・X1クロスバ
ー、1600・・・L0論理ブロック、1700・・・
X0入力クロスバー、1900・・・16ビットスタテ
イックRAM(ランダム・アクセス・メモリ)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・アール・ブッツ アメリカ合衆国97213オレゴン州ポートラ ンド、ノースイースト・フォーティナイン ス・アベニュー2734番

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 論理素子の複数の部分集合に分割される
    複数の論理素子と、 各々が、論理素子の上記論理素子の複数の部分集合のう
    ちの1つと相互接続し、それにより、第1レベルの論理
    ユニットの複数の部分集合に分割される複数の第1レベ
    ルの論理ユニットを形成する、複数の第1レベルの相互
    接続と、 各々が、第1レベルの論理ユニットの上記複数の部分集
    合のうちの1つと相互接続し、それにより、複数の第2
    レベルの論理ユニットを形成する、複数の第2レベルの
    相互接続と、 上記複数の第2レベルの論理ユニットと相互接続し、そ
    れにより、第3レベルの論理ユニットを形成する、第3
    レベルの相互接続と、から構成される集積回路。
  2. 【請求項2】 上記複数の論理素子の各々がデータ選択
    論理を含む、請求項1の集積回路。
  3. 【請求項3】 上記複数の第1レベルの相互接続の各々
    が、複数の部分占有クロスバーと複数の完全占有クロス
    バーとを含む、請求項1の集積回路。
  4. 【請求項4】 上記複数の部分占有クロスバーが、 複数の入力グループと、 複数のマルチプレクサと、 プログラム可能なクロスポイントと、を含み、 上記複数のマルチプレクサの各々が、少なくとも2つの
    データ入力、少なくとも1つの選択入力、及び少なくと
    も1つの出力を、含み、上記複数の入力グループの各々
    の入力は、上記複数のマルチプレクサのうちの1つの上
    記データ入力と、電気的に伝達し、上記複数のマルチプ
    レクサの各々の少なくとも1つの上記選択入力が、復号
    化部と電気的に接続し、上記復号化部はプログラミング
    セルと電気的に接続し、 上記プログラム可能なクロスポイントが、パストランジ
    スタとプログラム可能なメモリセルを含み、上記複数の
    マルチプレクサの各々の少なくとも1つの上記出力とク
    ロスバー出力ピンとの間を電気的に伝達する、請求項1
    の集積回路。
  5. 【請求項5】 上記複数の第2レベルの相互接続の各々
    が部分クロスバー相互接続を含む、請求項1の集積回
    路。
  6. 【請求項6】 上記第3レベルの相互接続が部分クロス
    バー相互接続を含む、請求項1の集積回路。
  7. 【請求項7】 複数の入力・出力ピンをさらに含む、請
    求項1の集積回路。
  8. 【請求項8】 上記複数の論理素子が、上記複数の論理
    素子の各々の容量限界を条件として、どのデジタルネッ
    トワークに従っても設定可能である、請求項1の集積回
    路。
  9. 【請求項9】 上記第3レベルの相互接続が、上記複数
    の入力・出力ピンを、上記複数の論理素子内に設定され
    た上記デジタル論理ネットワークに自由に接続する、請
    求項8の集積回路。
JP10321888A 1997-11-12 1998-11-12 最適化されたエミュレーションとプロトタイピングの体系 Pending JPH11239053A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/968401 1997-11-12
US08/968,401 US6289494B1 (en) 1997-11-12 1997-11-12 Optimized emulation and prototyping architecture

Publications (1)

Publication Number Publication Date
JPH11239053A true JPH11239053A (ja) 1999-08-31

Family

ID=25514226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10321888A Pending JPH11239053A (ja) 1997-11-12 1998-11-12 最適化されたエミュレーションとプロトタイピングの体系

Country Status (3)

Country Link
US (2) US6289494B1 (ja)
EP (1) EP0919938A3 (ja)
JP (1) JPH11239053A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002223162A (ja) * 2000-09-18 2002-08-09 Altera Corp 特定機能ブロックを有するプログラマブルロジックデバイス
JP2016512418A (ja) * 2013-03-15 2016-04-25 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア 境界のない階層型インターコネクトのためのネットワークアーキテクチャ

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570404B1 (en) 1996-03-29 2003-05-27 Altera Corporation High-performance programmable logic architecture
DE69923769T2 (de) * 1998-04-01 2006-02-02 Mosaid Technologies Incorporated, Kanata Asynchrones halbleiterspeicher-fliessband
US7233167B1 (en) 2000-03-06 2007-06-19 Actel Corporation Block symmetrization in a field programmable gate array
US6861869B1 (en) 2000-03-06 2005-03-01 Actel Corporation Block symmetrization in a field programmable gate array
US6268743B1 (en) 2000-03-06 2001-07-31 Acatel Corporation Block symmetrization in a field programmable gate array
US6285212B1 (en) 2000-03-06 2001-09-04 Actel Corporation Block connector splitting in logic block of a field programmable gate array
US6567968B1 (en) * 2000-03-06 2003-05-20 Actel Corporation Block level routing architecture in a field programmable gate array
US6697957B1 (en) * 2000-05-11 2004-02-24 Quickturn Design Systems, Inc. Emulation circuit with a hold time algorithm, logic analyzer and shadow memory
US7171542B1 (en) * 2000-06-19 2007-01-30 Silicon Labs Cp, Inc. Reconfigurable interface for coupling functional input/output blocks to limited number of i/o pins
US6693456B2 (en) 2000-08-04 2004-02-17 Leopard Logic Inc. Interconnection network for a field programmable gate array
JP3420195B2 (ja) * 2000-09-26 2003-06-23 エヌイーシーマイクロシステム株式会社 クロック配線の設計方法
US6590417B1 (en) * 2001-04-03 2003-07-08 Cypress Semiconductor Corporation Cascadable bus based crossbar switch in a programmable logic device
US6594810B1 (en) * 2001-10-04 2003-07-15 M2000 Reconfigurable integrated circuit with a scalable architecture
US7305633B2 (en) * 2001-10-30 2007-12-04 Mentor Graphics Corporation Distributed configuration of integrated circuits in an emulation system
US7130788B2 (en) 2001-10-30 2006-10-31 Mentor Graphics Corporation Emulation components and system including distributed event monitoring, and testing of an IC design under emulation
US7035787B2 (en) * 2001-10-30 2006-04-25 Mentor Graphics Corporation Emulation components and system including distributed routing and configuration of emulation resources
US6874136B2 (en) 2002-01-10 2005-03-29 M2000 Crossbar device with reduced parasitic capacitive loading and usage of crossbar devices in reconfigurable circuits
US6769108B2 (en) * 2002-03-14 2004-07-27 International Business Machines Corporation Triangular assignment of pins used for diagonal interconnections between diagonal chips in a multi-chip module
US20030188278A1 (en) * 2002-03-26 2003-10-02 Carrie Susan Elizabeth Method and apparatus for accelerating digital logic simulations
US7340585B1 (en) * 2002-08-27 2008-03-04 Xilinx, Inc. Method and system for fast linked processor in a system on a chip (SoC)
US20040243384A1 (en) * 2002-10-10 2004-12-02 Nang-Ping Chen Complete graph interconnect structure for the hardware emulator
US7373561B2 (en) * 2002-10-29 2008-05-13 Broadcom Corporation Integrated packet bit error rate tester for 10G SERDES
US20040115995A1 (en) * 2002-11-25 2004-06-17 Sanders Samuel Sidney Circuit array module
US7042248B1 (en) * 2003-06-03 2006-05-09 Altera Corporation Dedicated crossbar and barrel shifter block on programmable logic resources
EP1489531A1 (en) * 2003-06-20 2004-12-22 Robert Bosch Gmbh Simulation system and computer-implemented method for simulation and verifying a control system
US7386826B1 (en) * 2003-06-24 2008-06-10 Xilinx, Inc. Using redundant routing to reduce susceptibility to single event upsets in PLD designs
US6990010B1 (en) 2003-08-06 2006-01-24 Actel Corporation Deglitching circuits for a radiation-hardened static random access memory based programmable architecture
US7698118B2 (en) * 2004-04-15 2010-04-13 Mentor Graphics Corporation Logic design modeling and interconnection
US7676661B1 (en) 2004-10-05 2010-03-09 Xilinx, Inc. Method and system for function acceleration using custom instructions
US7224184B1 (en) * 2004-11-05 2007-05-29 Xilinx, Inc. High bandwidth reconfigurable on-chip network for reconfigurable systems
US7353162B2 (en) * 2005-02-11 2008-04-01 S2C, Inc. Scalable reconfigurable prototyping system and method
US7478261B2 (en) * 2005-09-13 2009-01-13 M2000 Reconfigurable circuit with redundant reconfigurable cluster(s)
US8010826B2 (en) * 2005-09-13 2011-08-30 Meta Systems Reconfigurable circuit with redundant reconfigurable cluster(s)
US7275196B2 (en) * 2005-11-23 2007-09-25 M2000 S.A. Runtime reconfiguration of reconfigurable circuits
US7274215B2 (en) 2006-01-17 2007-09-25 M2000 Sa. Reconfigurable integrated circuits with scalable architecture including one or more adders
US7768301B2 (en) 2006-01-17 2010-08-03 Abound Logic, S.A.S. Reconfigurable integrated circuits with scalable architecture including a plurality of special function elements
US8082526B2 (en) * 2006-03-08 2011-12-20 Altera Corporation Dedicated crossbar and barrel shifter block on programmable logic resources
US7725304B1 (en) * 2006-05-22 2010-05-25 Cadence Design Systems, Inc. Method and apparatus for coupling data between discrete processor based emulation integrated chips
US8124429B2 (en) * 2006-12-15 2012-02-28 Richard Norman Reprogrammable circuit board with alignment-insensitive support for multiple component contact types
US8131909B1 (en) 2007-09-19 2012-03-06 Agate Logic, Inc. System and method of signal processing engines with programmable logic fabric
US7970979B1 (en) * 2007-09-19 2011-06-28 Agate Logic, Inc. System and method of configurable bus-based dedicated connection circuits
CN101404491B (zh) * 2008-05-23 2012-03-28 雅格罗技(北京)科技有限公司 一种具有交叉链接的可编程互连网络的集成电路
DE102010001962A1 (de) * 2010-02-16 2011-08-18 Robert Bosch GmbH, 70469 Verfahren zum Betreiben eines Steuergeräts
US8269524B2 (en) * 2010-04-27 2012-09-18 Atmel Corporation General purpose input/output pin mapping
US8442588B2 (en) * 2010-09-08 2013-05-14 Apple Inc. Systems having cables with wireless communications capabilities
TWI450118B (zh) * 2010-11-02 2014-08-21 Global Unichip Corp 混合的電子設計系統及其可重組連接矩陣
US20120298166A1 (en) * 2011-05-24 2012-11-29 Rfmarq, Inc. Solar Panel with Energy Efficient Bypass Diode System
US8959010B1 (en) 2011-12-08 2015-02-17 Cadence Design Systems, Inc. Emulation system with improved reliability of interconnect and a method for programming such interconnect
US8743735B1 (en) 2012-01-18 2014-06-03 Cadence Design Systems, Inc. Emulation system for verifying a network device
US8595683B1 (en) 2012-04-12 2013-11-26 Cadence Design Systems, Inc. Generating user clocks for a prototyping environment
FR3003969B1 (fr) 2013-03-28 2015-04-17 Nanoxplore Dispositif d'interconnexion programmable
US9405877B1 (en) 2014-12-22 2016-08-02 Cadence Design Systems, Inc. System and method of fast phase aligned local generation of clocks on multiple FPGA system
US9495492B1 (en) 2015-01-05 2016-11-15 Cadence Design Systems, Inc. Implementing synchronous triggers for waveform capture in an FPGA prototyping system
US9294094B1 (en) 2015-01-08 2016-03-22 Cadence Design Systems, Inc. Method and apparatus for fast low skew phase generation for multiplexing signals on a multi-FPGA prototyping system
US10169511B2 (en) * 2017-03-29 2019-01-01 International Business Machines Corporation Method to synthesize a cross bar switch in a highly congested environment
US10333508B2 (en) 2017-03-29 2019-06-25 International Business Machines Corporation Cross bar switch structure for highly congested environments
US10902175B1 (en) * 2019-09-11 2021-01-26 International Business Machines Corporation Cross-hierarchical block pin placement

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3149460C2 (de) 1981-12-14 1984-04-12 Rohde & Schwarz GmbH & Co KG, 8000 München Logikanalysator
US4870302A (en) 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
USRE34363E (en) 1984-03-12 1993-08-31 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
US4775942A (en) 1985-12-09 1988-10-04 International Business Machines Corporation Seed and stitch approach to embedded arrays
US4922441A (en) 1987-01-19 1990-05-01 Ricoh Company, Ltd. Gate array device having a memory cell/interconnection region
US4924468A (en) 1987-11-30 1990-05-08 Kontron Holding Ag Logic analyzer
USRE34444E (en) 1988-01-13 1993-11-16 Xilinx, Inc. Programmable logic device
US5452231A (en) 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
JP3060018B2 (ja) 1988-10-05 2000-07-04 クイックターン デザイン システムズ インコーポレイテッド 複数の電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法
US5329470A (en) 1988-12-02 1994-07-12 Quickturn Systems, Inc. Reconfigurable hardware emulation system
US5109353A (en) 1988-12-02 1992-04-28 Quickturn Systems, Incorporated Apparatus for emulation of electronic hardware system
US5343406A (en) 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5212652A (en) 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5260881A (en) * 1989-10-30 1993-11-09 Advanced Micro Devices, Inc. Programmable gate array with improved configurable logic block
US5255203A (en) 1989-08-15 1993-10-19 Advanced Micro Devices, Inc. Interconnect structure for programmable logic device
US5457409A (en) 1992-08-03 1995-10-10 Advanced Micro Devices, Inc. Architecture of a multiple array high density programmable logic device with a plurality of programmable switch matrices
US5377124A (en) 1989-09-20 1994-12-27 Aptix Corporation Field programmable printed circuit board
US5140193A (en) 1990-03-27 1992-08-18 Xilinx, Inc. Programmable connector for programmable logic device
US5345580A (en) 1990-11-29 1994-09-06 Kabushiki Kaisha Toshiba Microprocessor device and emulator device thereof
US5122685A (en) 1991-03-06 1992-06-16 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
US5255221A (en) 1991-04-02 1993-10-19 At&T Bell Laboratories Fully configurable versatile field programmable function element
US5384499A (en) 1991-04-25 1995-01-24 Altera Corporation High-density erasable programmable logic device architecture using multiplexer interconnections
US5338984A (en) 1991-08-29 1994-08-16 National Semiconductor Corp. Local and express diagonal busses in a configurable logic array
US5260610A (en) 1991-09-03 1993-11-09 Altera Corporation Programmable logic element interconnections for programmable logic array integrated circuits
US5208491A (en) 1992-01-07 1993-05-04 Washington Research Foundation Field programmable gate array
US5352123A (en) 1992-06-08 1994-10-04 Quickturn Systems, Incorporated Switching midplane and interconnection system for interconnecting large numbers of signals
EP0584910B1 (en) 1992-08-03 1996-09-04 Advanced Micro Devices, Inc. Programmable logic device
WO1994003856A1 (en) 1992-08-07 1994-02-17 Massachusetts Institute Of Technology Column-associative cache
US5425036A (en) 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
US5424589A (en) 1993-02-12 1995-06-13 The Board Of Trustees Of The Leland Stanford Junior University Electrically programmable inter-chip interconnect architecture
US5729752A (en) 1993-02-19 1998-03-17 Hewlett-Packard Company Network connection scheme
US5396126A (en) 1993-02-19 1995-03-07 At&T Corp. FPGA with distributed switch matrix
GB2280293B (en) 1993-07-19 1997-12-10 Hewlett Packard Co Architecture for programmable logic
US5457410A (en) 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US5315178A (en) 1993-08-27 1994-05-24 Hewlett-Packard Company IC which can be used as a programmable logic cell array or as a register file
US5455525A (en) 1993-12-06 1995-10-03 Intelligent Logic Systems, Inc. Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array
US5682107A (en) 1994-04-01 1997-10-28 Xilinx, Inc. FPGA architecture with repeatable tiles including routing matrices and logic matrices
US5659716A (en) 1994-11-23 1997-08-19 Virtual Machine Works, Inc. Pipe-lined static router and scheduler for configurable logic system performing simultaneous communications and computation
US5630088A (en) 1995-03-09 1997-05-13 Hewlett-Packard Company Virtual to physical address translation
US5818254A (en) * 1995-06-02 1998-10-06 Advanced Micro Devices, Inc. Multi-tiered hierarchical high speed switch matrix structure for very high-density complex programmable logic devices
US5521529A (en) * 1995-06-02 1996-05-28 Advanced Micro Devices, Inc. Very high-density complex programmable logic devices with a multi-tiered hierarchical switch matrix and optimized flexible logic allocation
US5671432A (en) 1995-06-02 1997-09-23 International Business Machines Corporation Programmable array I/O-routing resource
US5649176A (en) 1995-08-10 1997-07-15 Virtual Machine Works, Inc. Transition analysis and circuit resynthesis method and device for digital circuit modeling
US5821773A (en) 1995-09-06 1998-10-13 Altera Corporation Look-up table based logic element with complete permutability of the inputs to the secondary signals
US5574388A (en) 1995-10-13 1996-11-12 Mentor Graphics Corporation Emulation system having a scalable multi-level multi-stage programmable interconnect network
US5754827A (en) 1995-10-13 1998-05-19 Mentor Graphics Corporation Method and apparatus for performing fully visible tracing of an emulation
US5777489A (en) 1995-10-13 1998-07-07 Mentor Graphics Corporation Field programmable gate array with integrated debugging facilities
US5642058A (en) 1995-10-16 1997-06-24 Xilinx , Inc. Periphery input/output interconnect structure
US5732407A (en) 1995-12-11 1998-03-24 Hewlett-Packard Co. Configurable random access memory for programmable logic devices
US5790832A (en) 1996-04-23 1998-08-04 Mentor Graphics Corporation Method and apparatus for tracing any node of an emulation
US5999725A (en) 1996-04-23 1999-12-07 Mentor Graphics Corporation Method and apparatus tracing any node of an emulation
US5790771A (en) 1996-05-01 1998-08-04 Hewlett-Packard Company Apparatus and method for configuring a reconfigurable electronic system having defective resources
US5742181A (en) * 1996-06-04 1998-04-21 Hewlett-Packard Co. FPGA with hierarchical interconnect structure and hyperlinks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002223162A (ja) * 2000-09-18 2002-08-09 Altera Corp 特定機能ブロックを有するプログラマブルロジックデバイス
JP2016512418A (ja) * 2013-03-15 2016-04-25 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア 境界のない階層型インターコネクトのためのネットワークアーキテクチャ

Also Published As

Publication number Publication date
US6625793B2 (en) 2003-09-23
EP0919938A3 (en) 2002-04-17
EP0919938A2 (en) 1999-06-02
US6289494B1 (en) 2001-09-11
US20020095649A1 (en) 2002-07-18

Similar Documents

Publication Publication Date Title
JPH11239053A (ja) 最適化されたエミュレーションとプロトタイピングの体系
JP3414770B2 (ja) マルチプレクサ相互接続を用いた高密度な消去可能型プログラマブル論理デバイスのアーキテクチャ
US5491353A (en) Configurable cellular array
US5371422A (en) Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements
US5598108A (en) High-density erasable programmable logic device architecture using multiplexer interconnections, and registered macrocell with product term allocation and adjacent product term stealing
US7646218B2 (en) Architecture and interconnect scheme for programmable logic circuits
JP3684241B2 (ja) スケーリング可能な多重レベル相互接続アーキテクチャ用のフロア・プラン
US6567969B1 (en) Configurable logic array including lookup table means for generating functions of different numbers of input terms
US5692147A (en) Memory mapping method and apparatus to fold sparsely populated structures into densely populated memory columns or rows by selectively transposing X and Y address portions, and programmable gate array applications thereof
US6492834B1 (en) Programmable logic device with highly routable interconnect
JP2565497B2 (ja) 半導体集積回路
US6292018B1 (en) Configurable cellular array
US5734869A (en) High speed logic circuit simulator
US5268598A (en) High-density erasable programmable logic device architecture using multiplexer interconnections
JP2515078B2 (ja) 配置可能機能エレメント
US6882176B1 (en) High-performance programmable logic architecture
KR19990008270A (ko) 스케일가능한 복수 레벨 상호연결 아키텍춰
JPH1092943A (ja) プログラマブル論理素子
KR20030028469A (ko) 홀드 타임 알고리즘, 로직 애널라이저 및 쉐도우 메모리를갖는 에뮬레이션 회로
JPH10233676A (ja) 論理アレイブロック内でローカル相互接続ラインを配列する方法およびプログラマブル論理回路
US4727268A (en) Logic circuitry having two programmable interconnection arrays
GB1604945A (en) Logic circuits
JP3576837B2 (ja) プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
US6429681B1 (en) Programmable logic device routing architecture to facilitate register re-timing