JP2614986B2 - フィールドプログラム可能なゲートアレイ・インプリメンテーションをマスクプログラム可能な論理セル・インプリメンテーションに変換するための方法と装置 - Google Patents
フィールドプログラム可能なゲートアレイ・インプリメンテーションをマスクプログラム可能な論理セル・インプリメンテーションに変換するための方法と装置Info
- Publication number
- JP2614986B2 JP2614986B2 JP6319769A JP31976994A JP2614986B2 JP 2614986 B2 JP2614986 B2 JP 2614986B2 JP 6319769 A JP6319769 A JP 6319769A JP 31976994 A JP31976994 A JP 31976994A JP 2614986 B2 JP2614986 B2 JP 2614986B2
- Authority
- JP
- Japan
- Prior art keywords
- mplc
- fpga
- soft
- clb
- iob
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【発明の分野】本発明は、一般的には、フィールドプロ
グラム可能な論理セル・インプリメンテーションをマス
クプログラム可能な論理セル・インプリメンテーション
に変換するための方法と装置に関するものである。より
詳しくは、フィールドプログラム可能なゲートアレイ
(FPGA)インプリメンテーションをマスクプログラ
ム可能なゲートアレイ(MPGA)インプリメンテーシ
ョンあるいはマスクプログラム可能な通常のセル(MP
SC)インプリメンテーションに変換するための改良さ
れた方法と装置に関するものである。
グラム可能な論理セル・インプリメンテーションをマス
クプログラム可能な論理セル・インプリメンテーション
に変換するための方法と装置に関するものである。より
詳しくは、フィールドプログラム可能なゲートアレイ
(FPGA)インプリメンテーションをマスクプログラ
ム可能なゲートアレイ(MPGA)インプリメンテーシ
ョンあるいはマスクプログラム可能な通常のセル(MP
SC)インプリメンテーションに変換するための改良さ
れた方法と装置に関するものである。
【0002】
【従来の技術】集積回路(IC)チップのような電子装
置は、例えば、製造、工業、科学、防衛、娯楽、および
教育などの人類試行の多様な分野において現在使用され
ている。実際的には、この装置の目的は、その端子(す
なわち、ピン)に供給される信号により種々の機能を実
行することにある。
置は、例えば、製造、工業、科学、防衛、娯楽、および
教育などの人類試行の多様な分野において現在使用され
ている。実際的には、この装置の目的は、その端子(す
なわち、ピン)に供給される信号により種々の機能を実
行することにある。
【0003】設計の観点からは、各装置はそれが実行す
る機能、つまり、その入力信号に対する出力信号の対応
(すなわち、マッピング)により特徴付けられる。デジ
タル電子形式の装置の場合には、入力および出力信号は
分離した(すなわち、2進数)値あるいは変数に制約さ
れ、また装置のデジタル入力と出力信号の間に達成する
ことができるマッピング(すなわち、機能)の数は、装
置が達成する可能な状態および装置が変遷する状態遷移
の数により制限される。装置のデジタル入力と出力変数
との間に達成される種々のマッピングはブール代数を使
用して普遍的に説明され、またこれらのマッピングはし
ばしばブール関数として言及される。これらのブール関
数をなんらかの特定の「デジタル電子設計」のために物
理的に装置化しあるいは実現する際の態様は、基本的な
ブール関数を達成することができる、より単純な構成要
素(論理ゲートのような)を必須的に含む。結果として
得られた論理回路は、典型的には、従来の代数単純化方
法、カルノー図、真理値表などを使用して単純化され
る。このようにして、特別な方法で多くのこの種の論理
ゲートの入力と出力を結合および相互接続することで、
あらゆる特定のデジタル論理設計が物理的に実現され
る。
る機能、つまり、その入力信号に対する出力信号の対応
(すなわち、マッピング)により特徴付けられる。デジ
タル電子形式の装置の場合には、入力および出力信号は
分離した(すなわち、2進数)値あるいは変数に制約さ
れ、また装置のデジタル入力と出力信号の間に達成する
ことができるマッピング(すなわち、機能)の数は、装
置が達成する可能な状態および装置が変遷する状態遷移
の数により制限される。装置のデジタル入力と出力変数
との間に達成される種々のマッピングはブール代数を使
用して普遍的に説明され、またこれらのマッピングはし
ばしばブール関数として言及される。これらのブール関
数をなんらかの特定の「デジタル電子設計」のために物
理的に装置化しあるいは実現する際の態様は、基本的な
ブール関数を達成することができる、より単純な構成要
素(論理ゲートのような)を必須的に含む。結果として
得られた論理回路は、典型的には、従来の代数単純化方
法、カルノー図、真理値表などを使用して単純化され
る。このようにして、特別な方法で多くのこの種の論理
ゲートの入力と出力を結合および相互接続することで、
あらゆる特定のデジタル論理設計が物理的に実現され
る。
【0004】一般的には、特定のデジタル論理設計を具
現化するために使用される基礎技術においては、そのデ
ジタル論理設計の入力−出力関数を実現するための結合
と相互連結のために利用可能な論理ゲートの型を決定し
ている。よって、理論的には、ブール表現の特別な組に
より特徴付けされる特定のデジタル論理設計を具現化す
るための方法は無限にある。そして、当然のことなが
ら、最終目的は、最小数の論理ゲートを使用して設計の
機能を実現するインプリメンテーションを見出だすこと
である。
現化するために使用される基礎技術においては、そのデ
ジタル論理設計の入力−出力関数を実現するための結合
と相互連結のために利用可能な論理ゲートの型を決定し
ている。よって、理論的には、ブール表現の特別な組に
より特徴付けされる特定のデジタル論理設計を具現化す
るための方法は無限にある。そして、当然のことなが
ら、最終目的は、最小数の論理ゲートを使用して設計の
機能を実現するインプリメンテーションを見出だすこと
である。
【0005】特定のデジタル論理設計を完成したなら、
利用可能な技術を使用してデジタル論理設計を物理的に
具現化することが必要となる。最近では、フィールドプ
ログラム可能なゲートアレイ(FPGA)装置が低リス
クの原型作りおよび少量生産用途において人気がある。
利用可能な技術を使用してデジタル論理設計を物理的に
具現化することが必要となる。最近では、フィールドプ
ログラム可能なゲートアレイ(FPGA)装置が低リス
クの原型作りおよび少量生産用途において人気がある。
【0006】構造的には、各フィールドプログラム可能
なゲートアレイ装置は、チップパッケージ内に含まれた
シリコン基板上で実現された多数の基本構成要素、つま
り、チップパッケージ上のピン、基本的論理動作を達成
するための配列自在な論理ブロック(CLB)、特定の
CLBsにチップパッケージ上のピンをインターフェー
スするための入力/出力インターフェースブロック(I
OB)、並びにCLBsおよびIOBsの中から信号経
路選択機能を達成するためのプログラム可能な相互接続
切換用ゲート有している。
なゲートアレイ装置は、チップパッケージ内に含まれた
シリコン基板上で実現された多数の基本構成要素、つま
り、チップパッケージ上のピン、基本的論理動作を達成
するための配列自在な論理ブロック(CLB)、特定の
CLBsにチップパッケージ上のピンをインターフェー
スするための入力/出力インターフェースブロック(I
OB)、並びにCLBsおよびIOBsの中から信号経
路選択機能を達成するためのプログラム可能な相互接続
切換用ゲート有している。
【0007】典型的には、各CLBおよびIOBは、入
力と出力との間で規定された所望の論理機能を実現する
ために選択的に配列することができる、結合的および逐
次的な論理を有している。各CLBおよびIOBはま
た、具現化されるべき特定の論理機能を選択するために
機能する配列プログラムを記憶するためのランダムアク
セスメモリ(RAM)に関連している。同様に、各切換
用ゲートはまた、CLBsおよびIOBsの入力および
出力ポートの内から信号経路選択を行うするために機能
するデジタルコードを記憶するためのランダムアクセス
メモリに関連している。相互接続切換用ゲートの働き
は、それらの切換用ゲートのランダムアクセスメモリ内
に記憶されたデジタルコードによって決定される、CL
BsおよびIOBsの中から信号の経路選択の制御を容
易にすることにある。FPGA装置を使用した特定のデ
ジタル論理設計を物理的に具現化する(つまり、実現す
る)ために、FPGA装置のシリコン基板上の各利用さ
れたCLB、IOB、並びに切換用ゲートを適切なデジ
タルコードとしてRAM内にプログラムすることが必要
となる。
力と出力との間で規定された所望の論理機能を実現する
ために選択的に配列することができる、結合的および逐
次的な論理を有している。各CLBおよびIOBはま
た、具現化されるべき特定の論理機能を選択するために
機能する配列プログラムを記憶するためのランダムアク
セスメモリ(RAM)に関連している。同様に、各切換
用ゲートはまた、CLBsおよびIOBsの入力および
出力ポートの内から信号経路選択を行うするために機能
するデジタルコードを記憶するためのランダムアクセス
メモリに関連している。相互接続切換用ゲートの働き
は、それらの切換用ゲートのランダムアクセスメモリ内
に記憶されたデジタルコードによって決定される、CL
BsおよびIOBsの中から信号の経路選択の制御を容
易にすることにある。FPGA装置を使用した特定のデ
ジタル論理設計を物理的に具現化する(つまり、実現す
る)ために、FPGA装置のシリコン基板上の各利用さ
れたCLB、IOB、並びに切換用ゲートを適切なデジ
タルコードとしてRAM内にプログラムすることが必要
となる。
【0008】従来のFPGA装置を使用して、デジタル
論理設計がどのように具現化されるのかをより詳細に説
明することは、この理解の補助となる。
論理設計がどのように具現化されるのかをより詳細に説
明することは、この理解の補助となる。
【0009】図1AのブロックAで例示したように、F
PGAインプリメンテーション方法における第1のステ
ップには、例えば、当業界においては良く知られている
論理合成あるいは図式捕獲技術を使用してデジタル論理
設計を生成することを含むものである。このステップ
は、デジタル論理設計をすべて表すブール論理表現の組
を供給する。
PGAインプリメンテーション方法における第1のステ
ップには、例えば、当業界においては良く知られている
論理合成あるいは図式捕獲技術を使用してデジタル論理
設計を生成することを含むものである。このステップ
は、デジタル論理設計をすべて表すブール論理表現の組
を供給する。
【0010】図1AにおいてブロックBにより示したよ
うに、当該方法の第2のステップは、コンピュータを使
用してFPGAインプリメンテーションのハードウェア
記述を生成することである。この副処理では、開発プロ
グラムを実行しているコンピュータにより解釈される高
レベルのハードウェア記述言語を使用することを必要と
する。Xilinx2000および300シリーズFP
GA装置のためには、FPGAインプリメンテーション
はXilinx Netlist ファイルフォーマッ
ト(XNF)により示されている。一纏めにして考え
て、FPGAインプリメンテーション内の構成要素を述
べた記述的な命令文は、元の「ネットリスト」と称され
る。ここで、元のネットリストにおける各CLBおよび
IOB記述は、各CLB(すなわち、サブネットワー
ク)内の論理を特定する論理モデル記述を有していな
い。XNFハードウェア記述言語の構文および論理節ア
レイ(LCA)ライブラリに関しては、本明細書にその
全てが参考として取り入れられる、カリフォルニア州、
サンホセのキシリンクス インコーポレーテッド(Xi
linx,Inc.)による「LCA キシリンク ネ
ットリスト スペシフィケーション.バージョン 2.
00−1/26/89(LCA Xilink Net
list Specificaton、Version
2.00−1/26/89)」(69頁)に、より詳
細に記載されている。
うに、当該方法の第2のステップは、コンピュータを使
用してFPGAインプリメンテーションのハードウェア
記述を生成することである。この副処理では、開発プロ
グラムを実行しているコンピュータにより解釈される高
レベルのハードウェア記述言語を使用することを必要と
する。Xilinx2000および300シリーズFP
GA装置のためには、FPGAインプリメンテーション
はXilinx Netlist ファイルフォーマッ
ト(XNF)により示されている。一纏めにして考え
て、FPGAインプリメンテーション内の構成要素を述
べた記述的な命令文は、元の「ネットリスト」と称され
る。ここで、元のネットリストにおける各CLBおよび
IOB記述は、各CLB(すなわち、サブネットワー
ク)内の論理を特定する論理モデル記述を有していな
い。XNFハードウェア記述言語の構文および論理節ア
レイ(LCA)ライブラリに関しては、本明細書にその
全てが参考として取り入れられる、カリフォルニア州、
サンホセのキシリンクス インコーポレーテッド(Xi
linx,Inc.)による「LCA キシリンク ネ
ットリスト スペシフィケーション.バージョン 2.
00−1/26/89(LCA Xilink Net
list Specificaton、Version
2.00−1/26/89)」(69頁)に、より詳
細に記載されている。
【0011】図1AのブロックCにおいて示したよう
に、当該方法の第3のステップは、デジタル論理設計内
の論理のグループを、FPGA装置内のCLBsにマッ
プするために、元のXNFネットリストおよびキシリン
ク(Xilink)からの「xnfmap」プログラム
を使用することを含んでいる。このステップにより各C
LBおよび各IOBのための論理セルアレイ(LCA)
記述が生成される。キシリンクス(Xilinx)から
の「map2lca」プログラムが次いで、64CLB
記述、60IOB記述、信号ピン出力記述、およびクロ
ックドライバ記述までを含む、LCA記述を生成するた
めに使用される。
に、当該方法の第3のステップは、デジタル論理設計内
の論理のグループを、FPGA装置内のCLBsにマッ
プするために、元のXNFネットリストおよびキシリン
ク(Xilink)からの「xnfmap」プログラム
を使用することを含んでいる。このステップにより各C
LBおよび各IOBのための論理セルアレイ(LCA)
記述が生成される。キシリンクス(Xilinx)から
の「map2lca」プログラムが次いで、64CLB
記述、60IOB記述、信号ピン出力記述、およびクロ
ックドライバ記述までを含む、LCA記述を生成するた
めに使用される。
【0012】図1AのブロックDに示したように、当該
方法の第4のステップは、LCA記述を、CLBおよび
IOB配置仕様、並びにFPGAインプリメンテーショ
ンのための信号経路選択情報を含んでいる最終的なFP
GAネットリストに翻訳するために、キシリンクス(X
ilinx)からの「lca2xnf」プログラムを使
用することを含むものである。例示的なFPGAネット
リスト内のCLB記述を実現するためのXNF命令文の
組を図2に示した。
方法の第4のステップは、LCA記述を、CLBおよび
IOB配置仕様、並びにFPGAインプリメンテーショ
ンのための信号経路選択情報を含んでいる最終的なFP
GAネットリストに翻訳するために、キシリンクス(X
ilinx)からの「lca2xnf」プログラムを使
用することを含むものである。例示的なFPGAネット
リスト内のCLB記述を実現するためのXNF命令文の
組を図2に示した。
【0013】その後、図1BにおいてブロックEで示し
たように、コンピュータシステム2は、CLB、IOB
およびFPGA装置に乗る信号経路選択構成要素のラン
ダムアクセスメモリのための「配列プログラム」(すな
わち、デジタルコード)を発生するために、採取的なF
PGA XNFネットリストを使用してキシリンクス
(Xilinx)からの「メイクビッツ(makebi
ts)」プログラムを実行する。本質的には、CLB
s、IOBsおよび相互接続切換器は、これらのプログ
ラムによって制御される。これらのプログラムは、外部
メモリに記憶される。電源投入または命令により、これ
らのデジタルコードは、FPGA装置のプログラミング
を仕上げてデジタル論理設計を物理的に実現するため
に、ブロックFに示したように、それぞれのRAM要素
内にロードされる。
たように、コンピュータシステム2は、CLB、IOB
およびFPGA装置に乗る信号経路選択構成要素のラン
ダムアクセスメモリのための「配列プログラム」(すな
わち、デジタルコード)を発生するために、採取的なF
PGA XNFネットリストを使用してキシリンクス
(Xilinx)からの「メイクビッツ(makebi
ts)」プログラムを実行する。本質的には、CLB
s、IOBsおよび相互接続切換器は、これらのプログ
ラムによって制御される。これらのプログラムは、外部
メモリに記憶される。電源投入または命令により、これ
らのデジタルコードは、FPGA装置のプログラミング
を仕上げてデジタル論理設計を物理的に実現するため
に、ブロックFに示したように、それぞれのRAM要素
内にロードされる。
【0014】ここで、FPGAには特長と欠点の両方が
ある。例えば、プログラムされたFPGAテスト装置を
ベクトルを使用して試験した後においては、元のデジタ
ル論理設計を変更し、次いで装置を再プログラムするこ
とは容易で安価である。しかしながら、典型的なFPG
Aインプリメンテーションは、原型作りおよび少量生産
には適しているものの、部品コストが高く、大量生産の
ためには高くなりすぎてしまう。よって、あるスレショ
ルドを越えた特定のデジタル論理設計の要求がある場合
には、経済的な観点から、異なる、より経済的に適した
技術が、当該デジタル論理設計をうまく具現化するため
に使用することが好ましい。
ある。例えば、プログラムされたFPGAテスト装置を
ベクトルを使用して試験した後においては、元のデジタ
ル論理設計を変更し、次いで装置を再プログラムするこ
とは容易で安価である。しかしながら、典型的なFPG
Aインプリメンテーションは、原型作りおよび少量生産
には適しているものの、部品コストが高く、大量生産の
ためには高くなりすぎてしまう。よって、あるスレショ
ルドを越えた特定のデジタル論理設計の要求がある場合
には、経済的な観点から、異なる、より経済的に適した
技術が、当該デジタル論理設計をうまく具現化するため
に使用することが好ましい。
【0015】マスクプログラム可能なゲートアレイ(M
PGA)装置のような、他のデジタル技術におけるFP
GAインプリメンテーションの機能を具現化するプロセ
スは、一般的には「移行」あるいは「インプリメンテー
ション変換」を称され、最近ではかなり注目されてい
る。通常は、変換プロセスは、FPGA装置内の論理要
素(フリップフロップのような)および入力/出力(I
/O)パッドの、MPGA装置内の対応構造へのマッピ
ング、および次いでMPGAライブラリ内の利用可能な
論理要素を使用して論理要素を再統合を必要とする。し
かしながら、変換プロセスを実行する際に、元のFPG
Aインプリメンテーションのデザイナーが、当該FPG
Aインプリメンテーションの、マスクプログラム可能な
ゲートアレイ(MPGA)あるいはマスクプログラム可
能な通常のセル(MPSC)技術のような、他の技術へ
の変換(つまり、移行)における補助をできない場合が
しばしばある。
PGA)装置のような、他のデジタル技術におけるFP
GAインプリメンテーションの機能を具現化するプロセ
スは、一般的には「移行」あるいは「インプリメンテー
ション変換」を称され、最近ではかなり注目されてい
る。通常は、変換プロセスは、FPGA装置内の論理要
素(フリップフロップのような)および入力/出力(I
/O)パッドの、MPGA装置内の対応構造へのマッピ
ング、および次いでMPGAライブラリ内の利用可能な
論理要素を使用して論理要素を再統合を必要とする。し
かしながら、変換プロセスを実行する際に、元のFPG
Aインプリメンテーションのデザイナーが、当該FPG
Aインプリメンテーションの、マスクプログラム可能な
ゲートアレイ(MPGA)あるいはマスクプログラム可
能な通常のセル(MPSC)技術のような、他の技術へ
の変換(つまり、移行)における補助をできない場合が
しばしばある。
【0016】FPGAからMPGAへのインプリメンテ
ーション変換の必要に対応して、種々の半自動化された
変換プロセスが開発されており、これらは現在は商業的
な実施において使用されている。図3に、FPGAイン
プリメンテーションからMPGAインプリメンテーショ
ンに変換するための従来技術の方法を示した。ブロック
Aに示したように、この方法の第1のステップは、FP
GAインプリメンテーションの記述(図1のプロセスに
より生成された)をFPGAインプリメンテーションの
「flat(フラット)」XNF記述に変換することを
含んでいる。このステップの目的は、FPGAネットリ
スト内のCLBボックスにより賦課されたFPGAイン
プリメンテーション上の全てのネットワークレベルでの
制約を解除することにある。結果として得られる「fl
at(フラット)」ネットリスト記述においては、ゲー
トレベルでの論理仕様だけが存在している。このフラッ
トな記述により、FPGAインプリメンテーションにお
いてCLB内部で一度制限された論理ゲートは、他の論
理ゲートに自由に再グループ化することができ、次いで
MPGA基板上に再配置される。これらの論理ゲートの
実際の再グループ化および再配置は、変換において使用
される目標技術により決定されるインプリメンテーショ
ン案に従って決定される。
ーション変換の必要に対応して、種々の半自動化された
変換プロセスが開発されており、これらは現在は商業的
な実施において使用されている。図3に、FPGAイン
プリメンテーションからMPGAインプリメンテーショ
ンに変換するための従来技術の方法を示した。ブロック
Aに示したように、この方法の第1のステップは、FP
GAインプリメンテーションの記述(図1のプロセスに
より生成された)をFPGAインプリメンテーションの
「flat(フラット)」XNF記述に変換することを
含んでいる。このステップの目的は、FPGAネットリ
スト内のCLBボックスにより賦課されたFPGAイン
プリメンテーション上の全てのネットワークレベルでの
制約を解除することにある。結果として得られる「fl
at(フラット)」ネットリスト記述においては、ゲー
トレベルでの論理仕様だけが存在している。このフラッ
トな記述により、FPGAインプリメンテーションにお
いてCLB内部で一度制限された論理ゲートは、他の論
理ゲートに自由に再グループ化することができ、次いで
MPGA基板上に再配置される。これらの論理ゲートの
実際の再グループ化および再配置は、変換において使用
される目標技術により決定されるインプリメンテーショ
ン案に従って決定される。
【0017】図3のブロックBに示したように、当該方
法の第2のステップは、フラットなFPGネットリスト
を続くインプリメンテーションのための所望のMPGA
ネットリストに変換することを含んでいる。次いで、ブ
ロックCに示したように、当該方法はMPGA形状デー
タベースを発生するために、MPGAネットリストおよ
びMPGAライブラリを使用することを含んでいる。こ
こで、この形状データベースは、MPGA基板上に複合
メタライズパターンを形成するために必要とされる、多
数の「処理用マスク」を作るのに必要な位置および経路
選択情報を有している。また、装置を最終的にプログラ
ムし、またMPGAインプリメンテーションを実現する
複合メタライズパターンは、FPGAインプリメンテー
ションおよび元のデジタル論理設計と機能的に同等であ
る。次いで、ブロックDにおいて、MPGA形状データ
ベースが処理用マスクを作るために使用される。ブロッ
クEで示した最後のステップは、MPGA基板の相互接
続レベルにメタライズパターンを物理的に付着させてM
PGAインプリメンテーションを実現するために、作ら
れた処理用マスクを使用することを含んでいる。
法の第2のステップは、フラットなFPGネットリスト
を続くインプリメンテーションのための所望のMPGA
ネットリストに変換することを含んでいる。次いで、ブ
ロックCに示したように、当該方法はMPGA形状デー
タベースを発生するために、MPGAネットリストおよ
びMPGAライブラリを使用することを含んでいる。こ
こで、この形状データベースは、MPGA基板上に複合
メタライズパターンを形成するために必要とされる、多
数の「処理用マスク」を作るのに必要な位置および経路
選択情報を有している。また、装置を最終的にプログラ
ムし、またMPGAインプリメンテーションを実現する
複合メタライズパターンは、FPGAインプリメンテー
ションおよび元のデジタル論理設計と機能的に同等であ
る。次いで、ブロックDにおいて、MPGA形状データ
ベースが処理用マスクを作るために使用される。ブロッ
クEで示した最後のステップは、MPGA基板の相互接
続レベルにメタライズパターンを物理的に付着させてM
PGAインプリメンテーションを実現するために、作ら
れた処理用マスクを使用することを含んでいる。
【0018】ところで、上記したFPGAインプリメン
テーションからMPGAインプリメンテーションに変換
する方法は有用であるものの、これは、1992年6月
4日発行のエレクトロニックデザインニュース(Ele
ctronic Design News)の第107
−116頁にあるチャールズ エッチ.スモール(Ch
arles H.Small)著の「FPGA変換」、
1992年4月27日発行のエレクトロニック エンジ
ニアリング タイムス(ElectronicEngi
neering Times)の第46および46頁に
あるリチャード ゴーリング(Richard Goe
ring)著の「FPGA−ASICへの移行計画」、
1992年8月発行の「AT&T AIC Appli
cation Note:ソフト経路の移行:フィール
ドプログラム可能なゲートアレイからゲートアレイまた
は通常のセルへ」、などに詳細に記載されたような多く
の重大な問題を有している。
テーションからMPGAインプリメンテーションに変換
する方法は有用であるものの、これは、1992年6月
4日発行のエレクトロニックデザインニュース(Ele
ctronic Design News)の第107
−116頁にあるチャールズ エッチ.スモール(Ch
arles H.Small)著の「FPGA変換」、
1992年4月27日発行のエレクトロニック エンジ
ニアリング タイムス(ElectronicEngi
neering Times)の第46および46頁に
あるリチャード ゴーリング(Richard Goe
ring)著の「FPGA−ASICへの移行計画」、
1992年8月発行の「AT&T AIC Appli
cation Note:ソフト経路の移行:フィール
ドプログラム可能なゲートアレイからゲートアレイまた
は通常のセルへ」、などに詳細に記載されたような多く
の重大な問題を有している。
【0019】これらの問題の最も一般的な諸説は、上記
の「FPGA変換」の文献に示されている。最初の問題
は、FPGA装置内の各結合的な論理ブロックが、実質
的に一定で且つそれによりエミュレートされる特別な機
能に独立した、その固有の時間遅延に関連している。第
2の問題は、FPGA装置における信号経路選択動作を
達成するために必要とされる、プログラム可能な相互接
続点および切換用ゲートが、装置内で具現化された論理
機能をしばしば変化あるいは変更させてしまう実質的な
信号遅延を引き起こすことに関連している。
の「FPGA変換」の文献に示されている。最初の問題
は、FPGA装置内の各結合的な論理ブロックが、実質
的に一定で且つそれによりエミュレートされる特別な機
能に独立した、その固有の時間遅延に関連している。第
2の問題は、FPGA装置における信号経路選択動作を
達成するために必要とされる、プログラム可能な相互接
続点および切換用ゲートが、装置内で具現化された論理
機能をしばしば変化あるいは変更させてしまう実質的な
信号遅延を引き起こすことに関連している。
【0020】FPGA内に所望の論理機能を具現化した
場合、上記の問題は、FPGAインプリメンテーション
内でのこれらの信号遅延をモデル化(すなわち、FPG
Aネットワーク内での時間遅延ブロックの導入)するこ
とで、容易に取り扱える。ここで、これらの時間遅延
は、ネットリスト中に記載された種々の要素を実現する
ために使用される命令文により明示的に表現される。
場合、上記の問題は、FPGAインプリメンテーション
内でのこれらの信号遅延をモデル化(すなわち、FPG
Aネットワーク内での時間遅延ブロックの導入)するこ
とで、容易に取り扱える。ここで、これらの時間遅延
は、ネットリスト中に記載された種々の要素を実現する
ために使用される命令文により明示的に表現される。
【0021】しかしながら、従来の方式を使用してFP
GAからMPGAインプリメンテーション変換を達成す
る場合、図4に図式的に例示したように、FPGA基板
からMPGA基板上にはCLB論理の予測できない空間
的なマッピングが存在する。この結果、上記した時間遅
延問題を解決することは可能なことではなく、実際に
は、技術変換プロセスの間に他のタイミングに関する問
題がしばしば生じてしまう。
GAからMPGAインプリメンテーション変換を達成す
る場合、図4に図式的に例示したように、FPGA基板
からMPGA基板上にはCLB論理の予測できない空間
的なマッピングが存在する。この結果、上記した時間遅
延問題を解決することは可能なことではなく、実際に
は、技術変換プロセスの間に他のタイミングに関する問
題がしばしば生じてしまう。
【0022】よって、当該分野においては、従来技術の
システムおよび処理に関連した問題を克服しつつ、FP
GAインプリメンテーションを、MPGAインプリメン
テーションあるいはMPSCインプリメンテーションの
ようなマスクプログラム可能な論理セルインプリメンテ
ーションに変換するための方法と装置を提供する必要性
が高い。
システムおよび処理に関連した問題を克服しつつ、FP
GAインプリメンテーションを、MPGAインプリメン
テーションあるいはMPSCインプリメンテーションの
ようなマスクプログラム可能な論理セルインプリメンテ
ーションに変換するための方法と装置を提供する必要性
が高い。
【0023】したがって、本発明の主要な目的は、従来
技術のシステムおよび処理に関連した問題を克服しつ
つ、FPGAインプリメンテーションを、MPGAイン
プリメンテーションあるいはMPSCインプリメンテー
ションのようなマスクプログラム可能な論理セルインプ
リメンテーションに変換するための方法と装置を提供す
ることにある。
技術のシステムおよび処理に関連した問題を克服しつ
つ、FPGAインプリメンテーションを、MPGAイン
プリメンテーションあるいはMPSCインプリメンテー
ションのようなマスクプログラム可能な論理セルインプ
リメンテーションに変換するための方法と装置を提供す
ることにある。
【0024】本発明の他の目的は、配列自在な論理ブロ
ックの相対的な物理的配置、ネットワークレベルの信号
経路、並びにFPGAインプリメンテーションのクロッ
ク分配ツリーが、変換処理が完了した後において、マス
クプログラム可能な論理セル(MPLC)基板上で保存
されるような、変換方法とシステムを提供することにあ
る。MPLCインプリメンテーションのネットワークレ
ベルにおいてMPLC基板上で対応する構造の物理的配
置を束縛することで、FPGAインプリメンテーション
の間に存在する相対的な信号およびクロック遅延がMP
LCインプリメンテーション内に保持され、これにより
FPGAおよびMPLCインプリメンテーションの間の
機能的な等価が確立される。
ックの相対的な物理的配置、ネットワークレベルの信号
経路、並びにFPGAインプリメンテーションのクロッ
ク分配ツリーが、変換処理が完了した後において、マス
クプログラム可能な論理セル(MPLC)基板上で保存
されるような、変換方法とシステムを提供することにあ
る。MPLCインプリメンテーションのネットワークレ
ベルにおいてMPLC基板上で対応する構造の物理的配
置を束縛することで、FPGAインプリメンテーション
の間に存在する相対的な信号およびクロック遅延がMP
LCインプリメンテーション内に保持され、これにより
FPGAおよびMPLCインプリメンテーションの間の
機能的な等価が確立される。
【0025】本発明のさらに別の目的は、論理再合成を
提供するために適切にプログラムされたコンピュータを
基礎とするワークステーションの形態で、そのようなシ
ステム、および本発明の方法を実行するのに必要な配置
および経路選択ツールを提供することにある。本発明の
さらに他の目的は、本発明の方法にしたがって製造し
た、半導体チップ上に超大規模集積(VLSI)回路を
提供することにある。本発明のこれらおよび他の目的
は、以下の記載および特許請求の範囲を参照して自明と
なるものである。
提供するために適切にプログラムされたコンピュータを
基礎とするワークステーションの形態で、そのようなシ
ステム、および本発明の方法を実行するのに必要な配置
および経路選択ツールを提供することにある。本発明の
さらに他の目的は、本発明の方法にしたがって製造し
た、半導体チップ上に超大規模集積(VLSI)回路を
提供することにある。本発明のこれらおよび他の目的
は、以下の記載および特許請求の範囲を参照して自明と
なるものである。
【0026】
【発明の詳細な記述】本発明の目的のより完全な理解の
ために、本発明の実施例を添付図面と関連させて詳細に
説明する。
ために、本発明の実施例を添付図面と関連させて詳細に
説明する。
【0027】本発明の方法と機構を、図5から図14を
参照して、詳細に説明する。一般的には、本発明の方法
は、例えば、MPGAあるいはMPSCインプリメンテ
ーションのような、あらゆる所望のMPLCインプリメ
ンテーションをFPGAインプリメンテーションに変換
する際に使用することができる。例示だけの目的で、本
発明の方法と機構は、Xilinx 2000シリーズ
のFPGA装置、Xilinx 3000シリーズのF
PGA装置、あるいはAT&TシリーズのFPGA装置
のいずれかにもともと具現化された例示的なデジタル論
理設計に関連して説明する。本発明の第1の例示的な実
施例では、本発明の方法は、FPGAインプリメンテー
ションを、AT&TシリーズATT656MPGAライ
ブラリを利用して実現される、機能的に同様なMPGA
インプリメンテーションに変換する際に使用される。本
発明の第2の例示的な実施例では、本発明の方法は、F
PGAインプリメンテーションを、AT&TシリーズH
S900Cライブラリを利用して実現される、機能的に
同様なMPSCインプリメンテーションに変換する際に
使用される。ここで、しかしながら、本発明の方法と機
構は、異なるタイプのFPGAとMPLCを基礎とする
装置を使用して実施することもできる。
参照して、詳細に説明する。一般的には、本発明の方法
は、例えば、MPGAあるいはMPSCインプリメンテ
ーションのような、あらゆる所望のMPLCインプリメ
ンテーションをFPGAインプリメンテーションに変換
する際に使用することができる。例示だけの目的で、本
発明の方法と機構は、Xilinx 2000シリーズ
のFPGA装置、Xilinx 3000シリーズのF
PGA装置、あるいはAT&TシリーズのFPGA装置
のいずれかにもともと具現化された例示的なデジタル論
理設計に関連して説明する。本発明の第1の例示的な実
施例では、本発明の方法は、FPGAインプリメンテー
ションを、AT&TシリーズATT656MPGAライ
ブラリを利用して実現される、機能的に同様なMPGA
インプリメンテーションに変換する際に使用される。本
発明の第2の例示的な実施例では、本発明の方法は、F
PGAインプリメンテーションを、AT&TシリーズH
S900Cライブラリを利用して実現される、機能的に
同様なMPSCインプリメンテーションに変換する際に
使用される。ここで、しかしながら、本発明の方法と機
構は、異なるタイプのFPGAとMPLCを基礎とする
装置を使用して実施することもできる。
【0028】図5に例示したように、本発明の機構1
は、多数の集合されたサブシステム、つまり、コンピュ
ータワークステーション2、光蝕刻マスク生成システム
3、並びにメタライズ層蒸着システム5から構成され
る。特に、ワークステーション2の主要な機能は、論理
合成と再合成、構成要素配置と経路選択、並びに後述す
る他の機能を達成することである。システム3の機能
は、光蝕刻マスクワーク4を作製することである。シス
テム5の主要な機能は、これらの作製されたマスクを、
「MPGA基板」(およびMPSC基板)7上にメタラ
イズパターン6を形成するために使用することである。
は、多数の集合されたサブシステム、つまり、コンピュ
ータワークステーション2、光蝕刻マスク生成システム
3、並びにメタライズ層蒸着システム5から構成され
る。特に、ワークステーション2の主要な機能は、論理
合成と再合成、構成要素配置と経路選択、並びに後述す
る他の機能を達成することである。システム3の機能
は、光蝕刻マスクワーク4を作製することである。シス
テム5の主要な機能は、これらの作製されたマスクを、
「MPGA基板」(およびMPSC基板)7上にメタラ
イズパターン6を形成するために使用することである。
【0029】以下に使用するように、各「MPGA基
板」は「メタライズ段階」までに前処理されている。こ
の材料処理段階では、各論理のロケーションは予め規定
されており、また必要なことはMPGA装置をプログラ
ムしてこの基板上に(i)信号経路選択目的のための電
気的な相互接続、並びに(ii)A−CLSとG−CL
K分配ツリー並びに全体的なリセット分配ツリーのため
のクロックライン、を形成することである。従来のメタ
ライズプロセスを用いてこれらの構造を形成するため
に、これらの電気的な相互接続の物理的寸法(すなわ
ち、領域)およびロケーション、並びにMPGA基板の
表面のクロックラインの物理的寸法およびロケーション
を、最初に決定することが必要となる。後述するよう
に、この必要な情報は、変換プロセスの完了により最終
的に生成される。
板」は「メタライズ段階」までに前処理されている。こ
の材料処理段階では、各論理のロケーションは予め規定
されており、また必要なことはMPGA装置をプログラ
ムしてこの基板上に(i)信号経路選択目的のための電
気的な相互接続、並びに(ii)A−CLSとG−CL
K分配ツリー並びに全体的なリセット分配ツリーのため
のクロックライン、を形成することである。従来のメタ
ライズプロセスを用いてこれらの構造を形成するため
に、これらの電気的な相互接続の物理的寸法(すなわ
ち、領域)およびロケーション、並びにMPGA基板の
表面のクロックラインの物理的寸法およびロケーション
を、最初に決定することが必要となる。後述するよう
に、この必要な情報は、変換プロセスの完了により最終
的に生成される。
【0030】図5に示したように、ワークステーション
2は多数の集合されたシステム構成要素、つまり、1つ
またはそれより多い中央処理ユニット10(例えば、マ
イクロプロセッサ)、オペレーティングシステムプログ
ラム、並びに本発明の種々の開発および変換プログラム
(つまり、ツール)を記憶するためのプログラムメモリ
装置11、設計おおび変換処理の間に種々のデータ構造
を記憶するためのランダムアクセスデータ記憶メモリ
(RAM)12、LCA(つまり、PFGA)ライブラ
リ、MPGAライブラリ、およびMPGA形状データベ
ースの構成要素に関する情報を記憶するためのデータ記
憶メモリ13、視覚ディスプレイスクリーンまたは面を
備えた視覚ディスプレイユニット14、ポインティング
および選択装置(例えば、マウスあるいはトラックボー
ル)16、並びにマスク発生機3およびメタライズ蒸着
機5とインターフェースするための1つまたはそれより
多いシステムインターフェース17、などを有してい
る。図示したように、システムの各構成要素は、当業界
において公知の方法で1つまたはそれより多いシステム
バス18を介してプロセッサ10と動作的に関連してい
る。好適な実施例においては、オペレーティングシステ
ムはUnix(登録商標)X−Windowsであり、
少なくとも2つの入力/出力ウインド、ポインティング
および選択装置16、並びにマルチタスク動作をプロセ
ッサがサポートするのを許容している。ここで、しかし
ながら、許容できる結果を有する他の適当なオペレーテ
ィングシステムプログラムも使用できる。
2は多数の集合されたシステム構成要素、つまり、1つ
またはそれより多い中央処理ユニット10(例えば、マ
イクロプロセッサ)、オペレーティングシステムプログ
ラム、並びに本発明の種々の開発および変換プログラム
(つまり、ツール)を記憶するためのプログラムメモリ
装置11、設計おおび変換処理の間に種々のデータ構造
を記憶するためのランダムアクセスデータ記憶メモリ
(RAM)12、LCA(つまり、PFGA)ライブラ
リ、MPGAライブラリ、およびMPGA形状データベ
ースの構成要素に関する情報を記憶するためのデータ記
憶メモリ13、視覚ディスプレイスクリーンまたは面を
備えた視覚ディスプレイユニット14、ポインティング
および選択装置(例えば、マウスあるいはトラックボー
ル)16、並びにマスク発生機3およびメタライズ蒸着
機5とインターフェースするための1つまたはそれより
多いシステムインターフェース17、などを有してい
る。図示したように、システムの各構成要素は、当業界
において公知の方法で1つまたはそれより多いシステム
バス18を介してプロセッサ10と動作的に関連してい
る。好適な実施例においては、オペレーティングシステ
ムはUnix(登録商標)X−Windowsであり、
少なくとも2つの入力/出力ウインド、ポインティング
および選択装置16、並びにマルチタスク動作をプロセ
ッサがサポートするのを許容している。ここで、しかし
ながら、許容できる結果を有する他の適当なオペレーテ
ィングシステムプログラムも使用できる。
【0031】図6Aに示したように、例示した実施例の
FPGA装置20は、シリコン基板上に形成されたCL
BSのアレイを含んでいる。FPGA装置のチップパッ
ケージ上のピンと選択されたCLBsの入力および出力
ポートとの間の相互接続を提供するため、IOBsのリ
ングがFPGA基板上のCLBアレイの回りに形成され
ている。例示した実施例では、各CLBは、RAMをC
LBに関連して単にプログラムすることで、必要に応じ
て選択的に配列自在である、結合的および逐次的な論理
の双方を有している。同様に、各IOBは、RAMをI
OBに関連して単にプログラムすることで、必要に応じ
て選択的に配列自在である、結合的および逐次的な論理
の双方を有している。
FPGA装置20は、シリコン基板上に形成されたCL
BSのアレイを含んでいる。FPGA装置のチップパッ
ケージ上のピンと選択されたCLBsの入力および出力
ポートとの間の相互接続を提供するため、IOBsのリ
ングがFPGA基板上のCLBアレイの回りに形成され
ている。例示した実施例では、各CLBは、RAMをC
LBに関連して単にプログラムすることで、必要に応じ
て選択的に配列自在である、結合的および逐次的な論理
の双方を有している。同様に、各IOBは、RAMをI
OBに関連して単にプログラムすることで、必要に応じ
て選択的に配列自在である、結合的および逐次的な論理
の双方を有している。
【0032】図7に、例示した実施例のFPGA装置の
ための論理セルマップを示した。例示したように、各C
LBは、列と欄のアドレス、例えば図示したようにA
A、BD等により特定される、シリコン基板上の特別な
ロケーションが割り当てられている。同様に、IOBの
各ロケーションは、ピン番号、例えばP21により特定
される周辺アドレスにより同定される。
ための論理セルマップを示した。例示したように、各C
LBは、列と欄のアドレス、例えば図示したようにA
A、BD等により特定される、シリコン基板上の特別な
ロケーションが割り当てられている。同様に、IOBの
各ロケーションは、ピン番号、例えばP21により特定
される周辺アドレスにより同定される。
【0033】図9に、メタライズ段階まで前処理された
MPGA基板の面内に埋め込まれたデカルト(x−y)
座標システムを示した。図示したように、各論理セル
(論理ゲート)の物理的ロケーションは、xおよびyの
値の範囲により特定される。典型的には、FPGAイン
プリメンテーション内の特定のCLBにより実行される
等価の論理機能を実現するために、MPGA基板上の多
くの論理ゲートを相互接続する必要がある。MPGAイ
ンプリメンテーションにおいては、この論理のブロック
は、FPGAインプリメンテーション内のその対応する
CLBが有しているのに対して、ハードまたは物理的に
規定された境界を有しておらず、このため、その仮想的
キャラクタを示すために以後および請求の範囲において
はこれを「ソフトCLB」と称する。本発明によれば、
ネットワーク(すなわち、相互接続)レベルはMPGA
インプリメンテーションのために規定され、FPGAイ
ンプリメンテーションの場合には存在する物理的な境界
がMPGAインプリメンテーションのネットワークレベ
ルにおいては存在しないが、各ソフトCLBがネットワ
ーク(あるいは相互接続)レベルにおいて予め規定され
た入力と出力ポートを有している。本発明の目的を実施
するために、これらの入力および出力ポートは、図11
Cに示したように、MPGAネットリスト内のソフトC
LB接続性記述内に特定されている。
MPGA基板の面内に埋め込まれたデカルト(x−y)
座標システムを示した。図示したように、各論理セル
(論理ゲート)の物理的ロケーションは、xおよびyの
値の範囲により特定される。典型的には、FPGAイン
プリメンテーション内の特定のCLBにより実行される
等価の論理機能を実現するために、MPGA基板上の多
くの論理ゲートを相互接続する必要がある。MPGAイ
ンプリメンテーションにおいては、この論理のブロック
は、FPGAインプリメンテーション内のその対応する
CLBが有しているのに対して、ハードまたは物理的に
規定された境界を有しておらず、このため、その仮想的
キャラクタを示すために以後および請求の範囲において
はこれを「ソフトCLB」と称する。本発明によれば、
ネットワーク(すなわち、相互接続)レベルはMPGA
インプリメンテーションのために規定され、FPGAイ
ンプリメンテーションの場合には存在する物理的な境界
がMPGAインプリメンテーションのネットワークレベ
ルにおいては存在しないが、各ソフトCLBがネットワ
ーク(あるいは相互接続)レベルにおいて予め規定され
た入力と出力ポートを有している。本発明の目的を実施
するために、これらの入力および出力ポートは、図11
Cに示したように、MPGAネットリスト内のソフトC
LB接続性記述内に特定されている。
【0034】同様に、MPGAインプリメンテーション
においては、FPGAインプリメンテーション内のその
対応するIOBが有しているのに対して、IOBのため
の等価構成はハードあるいは物理的に規定された境界を
有していない。このため、MPGAインプリメンテーシ
ョン内のIOBのための等価構成は、その仮想的キャラ
クタを示すために、これを以後および請求の範囲におい
ては「ソフトIOB」と称する。よって、FPGAイン
プリメンテーションのネットリスト内の各IOBのため
に、「ソフトIOB」がMPGAネットリスト内に規定
される。多くのインプリメンテーションにおいては、ソ
フトIOBは、I/Oパッドにより、および時には単純
な論理レベルドライバとともに実現される。また、連結
性および/または逐次的な論理機能は多くの用途でしば
しば必要とされ、これらの機能は多くのMPGAライブ
ラリにおいて利用可能である。MPGAインプリメンテ
ーションのネットワークまたは相互結合レベルにおい
て、本発明の方法を実施する目的で、各ソフトIOBは
入力および出力ポートを予め規定する。これらの入力お
よび出力ポートは、図11Dに示したように、MPGA
内のソフトIOB接続性記述内に特定される。
においては、FPGAインプリメンテーション内のその
対応するIOBが有しているのに対して、IOBのため
の等価構成はハードあるいは物理的に規定された境界を
有していない。このため、MPGAインプリメンテーシ
ョン内のIOBのための等価構成は、その仮想的キャラ
クタを示すために、これを以後および請求の範囲におい
ては「ソフトIOB」と称する。よって、FPGAイン
プリメンテーションのネットリスト内の各IOBのため
に、「ソフトIOB」がMPGAネットリスト内に規定
される。多くのインプリメンテーションにおいては、ソ
フトIOBは、I/Oパッドにより、および時には単純
な論理レベルドライバとともに実現される。また、連結
性および/または逐次的な論理機能は多くの用途でしば
しば必要とされ、これらの機能は多くのMPGAライブ
ラリにおいて利用可能である。MPGAインプリメンテ
ーションのネットワークまたは相互結合レベルにおい
て、本発明の方法を実施する目的で、各ソフトIOBは
入力および出力ポートを予め規定する。これらの入力お
よび出力ポートは、図11Dに示したように、MPGA
内のソフトIOB接続性記述内に特定される。
【0035】図13Aと13Bを参照して、本発明の変
換方法をより詳しく説明する。図13AのブロックAに
示したように、本方法の第1のステップは、変換される
べきFPGAインプリメンテーションのための最終的な
FPGA(XNF)ネットリストを生成するために、図
1のAからDの現在のステップを実行することである。
ここで、結果的に得られたFPGAインプリメンテーシ
ョンのためのネット記述は、FPGA装置のシリコン基
板上の結合的な論理ブロック(CLB)の物理的な配置
に関する階層情報を含んでいる。変換処理のこの段階か
ら生成された例示的なFPGAネットリストを図式的に
図10に示した。
換方法をより詳しく説明する。図13AのブロックAに
示したように、本方法の第1のステップは、変換される
べきFPGAインプリメンテーションのための最終的な
FPGA(XNF)ネットリストを生成するために、図
1のAからDの現在のステップを実行することである。
ここで、結果的に得られたFPGAインプリメンテーシ
ョンのためのネット記述は、FPGA装置のシリコン基
板上の結合的な論理ブロック(CLB)の物理的な配置
に関する階層情報を含んでいる。変換処理のこの段階か
ら生成された例示的なFPGAネットリストを図式的に
図10に示した。
【0036】図10に示したように、FPGAネットリ
ストは、多数の構成要素記述、つまりファイルまたは回
路名、FPGAインプリメンテーション内に使用される
各CLBのためのCLB記述、FPGAインプリメンテ
ーション内に使用されるこのようなIOBのためのIO
B情報、FPGAインプリメンテーションに使用される
クロックのためのクロックドライバ記述、並びにチップ
パッケージ上のピンのための信号ピン出力記述、などを
含んでいる。
ストは、多数の構成要素記述、つまりファイルまたは回
路名、FPGAインプリメンテーション内に使用される
各CLBのためのCLB記述、FPGAインプリメンテ
ーション内に使用されるこのようなIOBのためのIO
B情報、FPGAインプリメンテーションに使用される
クロックのためのクロックドライバ記述、並びにチップ
パッケージ上のピンのための信号ピン出力記述、などを
含んでいる。
【0037】一般的には、各CLB記述は多数の情報項
目、つまりCLB名、信号名の項目で表現されたCLB
I/Oポート記述(例えば、IBLANE)、図7に示
された論理セルアレイロケーションの項目を表現したC
LBロケーション記述(例えば、AA)、並びにCLB
を実現するために使用されるFPGAライブラリ要素を
記述したCLB論理モデル記述、などを含んでいる。こ
こで、各入力ポートの各CLBへの記述は、CLBの入
力ポートとCLBに供給される信号の源との間の信号遅
延部に関する信号経路選択遅延情報を含む信号時間遅延
フィールドを有している。この信号経路選択遅延情報
は、典型的には、当業分野においては良く知られてお
り、当業界で良く知られている方法で行われる、回路設
計シュミレーション、コンピュータを基礎とする「レイ
アウト」ツールにより生成される。
目、つまりCLB名、信号名の項目で表現されたCLB
I/Oポート記述(例えば、IBLANE)、図7に示
された論理セルアレイロケーションの項目を表現したC
LBロケーション記述(例えば、AA)、並びにCLB
を実現するために使用されるFPGAライブラリ要素を
記述したCLB論理モデル記述、などを含んでいる。こ
こで、各入力ポートの各CLBへの記述は、CLBの入
力ポートとCLBに供給される信号の源との間の信号遅
延部に関する信号経路選択遅延情報を含む信号時間遅延
フィールドを有している。この信号経路選択遅延情報
は、典型的には、当業分野においては良く知られてお
り、当業界で良く知られている方法で行われる、回路設
計シュミレーション、コンピュータを基礎とする「レイ
アウト」ツールにより生成される。
【0038】同様に、各IOB記述は多数の情報項目、
つまりIOB名、ピン番号の項目で表現された基板上の
IOBロケーション、信号名の項目で表現されたIOB
I/Oポート記述(例えばIBLANE_1)、並びに
FPGAライブラリ要素の項目で表現されたIOB論理
モデル記述、などを含んでいる。FPGAインプリメン
テーションのネットワークレベルにおいて、論理の各個
々のグループはそのCLB名(例えば、IRELAY_
1)により規定され、またFPGA XNFネットリス
ト内にリストされたXNF命令文の組により記述され
る。ここで、出力ドライバとして配列された各IOBの
各入力ポートの記述は、IOBおよびIOBに供給され
る信号の源との間の信号経路選択部分に関する信号経路
選択遅延情報を含んだ、信号時間遅延フィールドを含ん
でいる。この信号経路選択遅延情報は、コンピュータを
基礎とする上記した「レイアウトツール」により同様に
生成され、また回路設計シュミレーションの間に同様に
使用される。AT&T3020シリーズでは、FPGA
装置は64論理セル、64CLB記述までを含む階層F
PGA XNFネットリスト、60IOB記述、クロッ
クドライバ記述、並びに信号ピン出力記述を有する。図
示は省略したが、XNF命令文の組が、図10に示され
たFPGAネットリスト内に特定された記述的な要素を
それぞれ実現するために使用される。このような記述の
ためのXNFフォーマットは、図8BのCLB記述内に
例示した。
つまりIOB名、ピン番号の項目で表現された基板上の
IOBロケーション、信号名の項目で表現されたIOB
I/Oポート記述(例えばIBLANE_1)、並びに
FPGAライブラリ要素の項目で表現されたIOB論理
モデル記述、などを含んでいる。FPGAインプリメン
テーションのネットワークレベルにおいて、論理の各個
々のグループはそのCLB名(例えば、IRELAY_
1)により規定され、またFPGA XNFネットリス
ト内にリストされたXNF命令文の組により記述され
る。ここで、出力ドライバとして配列された各IOBの
各入力ポートの記述は、IOBおよびIOBに供給され
る信号の源との間の信号経路選択部分に関する信号経路
選択遅延情報を含んだ、信号時間遅延フィールドを含ん
でいる。この信号経路選択遅延情報は、コンピュータを
基礎とする上記した「レイアウトツール」により同様に
生成され、また回路設計シュミレーションの間に同様に
使用される。AT&T3020シリーズでは、FPGA
装置は64論理セル、64CLB記述までを含む階層F
PGA XNFネットリスト、60IOB記述、クロッ
クドライバ記述、並びに信号ピン出力記述を有する。図
示は省略したが、XNF命令文の組が、図10に示され
たFPGAネットリスト内に特定された記述的な要素を
それぞれ実現するために使用される。このような記述の
ためのXNFフォーマットは、図8BのCLB記述内に
例示した。
【0039】図13AのブロックBに示したように、本
方法の次のステップは、FPGAネットリスト記述内の
そのCLB名により規定された(すなわち、FPGAイ
ンプリメンテーション内のCLB内に制限された)各個
々の論理のグループに対して局部的に「論理再合成」を
実行することである。従来のどんな論理合成技術でも使
用することができる。このステップは、図10に図式的
に例示したように、FPGA XNFネットリストをM
PGA LSLネットリストに翻訳することから開始さ
れる。AT&Tシリーズ3020FPGA装置(64論
理セルを有する)を使用したFPGAインプリメンテー
ションのために、この変換処理のステップは、FPGA
ネットリストのために選択されたファイル名の名に対応
するファイルまたは回路名、FPGAインプリメンテー
ション内に利用される各CLBのためのソフトCLB記
述、FPGAインプリメンテーション内に利用される各
IOBのためのソフトIOB記述、上記したソフトCL
B接続性記述、並びに上記したソフトIOB接続性記述
などの、多くの要素記述を含む「階層的な」MPGAネ
ットリストを生成する。ここで、図10のネットリスト
内に示されたA−CLK信号分配ツリー記述、G−CL
K信号分配ツリー記述、並びに全体的なリセット信号分
配ツリー記述は、この変換処理のプロセスの間には生成
されないが、むしろ以下のステップCの間にネットリス
トに手作業で追加しなければならない。
方法の次のステップは、FPGAネットリスト記述内の
そのCLB名により規定された(すなわち、FPGAイ
ンプリメンテーション内のCLB内に制限された)各個
々の論理のグループに対して局部的に「論理再合成」を
実行することである。従来のどんな論理合成技術でも使
用することができる。このステップは、図10に図式的
に例示したように、FPGA XNFネットリストをM
PGA LSLネットリストに翻訳することから開始さ
れる。AT&Tシリーズ3020FPGA装置(64論
理セルを有する)を使用したFPGAインプリメンテー
ションのために、この変換処理のステップは、FPGA
ネットリストのために選択されたファイル名の名に対応
するファイルまたは回路名、FPGAインプリメンテー
ション内に利用される各CLBのためのソフトCLB記
述、FPGAインプリメンテーション内に利用される各
IOBのためのソフトIOB記述、上記したソフトCL
B接続性記述、並びに上記したソフトIOB接続性記述
などの、多くの要素記述を含む「階層的な」MPGAネ
ットリストを生成する。ここで、図10のネットリスト
内に示されたA−CLK信号分配ツリー記述、G−CL
K信号分配ツリー記述、並びに全体的なリセット信号分
配ツリー記述は、この変換処理のプロセスの間には生成
されないが、むしろ以下のステップCの間にネットリス
トに手作業で追加しなければならない。
【0040】図10に示したように、ソフトCLB記述
は多くの情報項目、つまり、その入力および出力ポート
を記述したソフトCLBI/Oポート記述、FPGAイ
ンプリメンテーション内の対応するCLBのロケーショ
ンと同じソフトCLB名、並びに対応するCLBのサブ
ネットワークを含む再合成された論理構成要素を特定す
るための、各ソフトCLBのための論理記述モデル、な
どを含んでいる。MPGAソフトCLBネットリスト内
の接続性記述はネットワーク内のソフトCBaのリスト
およびMPGAインプリメンテーションのネットワーク
レベルにおけるその入力と出力の相互接続のための仕様
を含んでいる。ここで、これらのポート相互接続は、信
号名(例えば、図11Cに例示したようにX00228
X)の項目で表現される。同様に、MPGAネットリス
ト中のソフトIOB接続性記述は、ネットワーク内のソ
フトIOBsのリストおよびMPGAインプリメンテー
ションのネットワークレベルにおけるその入力および出
力ポートの相互接続のための使用を含んでいる。これら
のポート相互接続は、図11Dに例示した信号の項目に
よっても表現される。生成されたMPGAネットリスト
中のこれらの記述のそれぞれを実現するために使用され
る論理シュミレーション言語(LSL)命令文の組は、
図11Aから11Dに述べた。
は多くの情報項目、つまり、その入力および出力ポート
を記述したソフトCLBI/Oポート記述、FPGAイ
ンプリメンテーション内の対応するCLBのロケーショ
ンと同じソフトCLB名、並びに対応するCLBのサブ
ネットワークを含む再合成された論理構成要素を特定す
るための、各ソフトCLBのための論理記述モデル、な
どを含んでいる。MPGAソフトCLBネットリスト内
の接続性記述はネットワーク内のソフトCBaのリスト
およびMPGAインプリメンテーションのネットワーク
レベルにおけるその入力と出力の相互接続のための仕様
を含んでいる。ここで、これらのポート相互接続は、信
号名(例えば、図11Cに例示したようにX00228
X)の項目で表現される。同様に、MPGAネットリス
ト中のソフトIOB接続性記述は、ネットワーク内のソ
フトIOBsのリストおよびMPGAインプリメンテー
ションのネットワークレベルにおけるその入力および出
力ポートの相互接続のための使用を含んでいる。これら
のポート相互接続は、図11Dに例示した信号の項目に
よっても表現される。生成されたMPGAネットリスト
中のこれらの記述のそれぞれを実現するために使用され
る論理シュミレーション言語(LSL)命令文の組は、
図11Aから11Dに述べた。
【0041】図12においてCLBのためのグラフ的に
例示した論理再合成ステップの間に、FPGAネットリ
ストの同様なXNF内のCLBのロケーションを特定す
るために使用されるコードは、MPGAネットリスト内
でその対応するソフトCLBのソフトCLB名を特定す
るために使用される。この同じコードは、(i)PFG
Aネットリスト内の特定のCLB(つまり、サブネット
ワーク)内に含まれる論理と、並びに(ii)MPGA
ネットリスト内の対応するソフトCLB内に含まれる再
合成された論理とを符号させるために、使用される。本
発明の方法はMPGA内の対応する論理のブロックが正
しく同定され、且つ、「配列と経路選択」ステップの間
に物理的に同じ相対的なロケーションに配置されること
を保証している。図10に示したように、特定のCLB
のためのCLB論理モデル記述は、MPGA基板上のソ
フトCLBに対応する論理を再合成するために使用され
る。
例示した論理再合成ステップの間に、FPGAネットリ
ストの同様なXNF内のCLBのロケーションを特定す
るために使用されるコードは、MPGAネットリスト内
でその対応するソフトCLBのソフトCLB名を特定す
るために使用される。この同じコードは、(i)PFG
Aネットリスト内の特定のCLB(つまり、サブネット
ワーク)内に含まれる論理と、並びに(ii)MPGA
ネットリスト内の対応するソフトCLB内に含まれる再
合成された論理とを符号させるために、使用される。本
発明の方法はMPGA内の対応する論理のブロックが正
しく同定され、且つ、「配列と経路選択」ステップの間
に物理的に同じ相対的なロケーションに配置されること
を保証している。図10に示したように、特定のCLB
のためのCLB論理モデル記述は、MPGA基板上のソ
フトCLBに対応する論理を再合成するために使用され
る。
【0042】図13AのブロックCで示したように、本
発明の第3のステップは、本発明に従ってMPGAイン
プリメンテーションを実行するために必要となる特定の
構造に関連した4つの追加の情報の項目を特定する(す
なわち、リスト)するために、上記したステップBの間
に生成された階層的なMPGAネットリストを変更する
ことを含む。図10のネットリストに例示したように、
これらの追加の変更はA−CLK信号分配ツリー、G−
CLK信号分配ツリー、全体的なリセット信号分配ツリ
ー、並びにMPGA基体上で形成されるCLBクロック
ロードが同定される。
発明の第3のステップは、本発明に従ってMPGAイン
プリメンテーションを実行するために必要となる特定の
構造に関連した4つの追加の情報の項目を特定する(す
なわち、リスト)するために、上記したステップBの間
に生成された階層的なMPGAネットリストを変更する
ことを含む。図10のネットリストに例示したように、
これらの追加の変更はA−CLK信号分配ツリー、G−
CLK信号分配ツリー、全体的なリセット信号分配ツリ
ー、並びにMPGA基体上で形成されるCLBクロック
ロードが同定される。
【0043】MPGAネットリストに追加されるべき情
報性事項は、A−CLK信号分配ツリーNOための、L
SLネットリスト記述である。図11Eに示されたA−
CLK信号分配ツリー記述を実現するためのLSL命令
文中に例示したように、A−CLK信号分配ツリーの各
欄ラインは、MPGAライブラリ内の利用可能な要素
(例えばF102)から合成されたクロックドライバを
有している。例示的な実施例においては、ツリーは10
欄を有し、よってA−CLS信号分配ツリーのLSLス
テートメントにより特性された10クロックドライバを
有する。
報性事項は、A−CLK信号分配ツリーNOための、L
SLネットリスト記述である。図11Eに示されたA−
CLK信号分配ツリー記述を実現するためのLSL命令
文中に例示したように、A−CLK信号分配ツリーの各
欄ラインは、MPGAライブラリ内の利用可能な要素
(例えばF102)から合成されたクロックドライバを
有している。例示的な実施例においては、ツリーは10
欄を有し、よってA−CLS信号分配ツリーのLSLス
テートメントにより特性された10クロックドライバを
有する。
【0044】MPGAネットリストに追加される第2の
情報性の事項は、MPGA基板上でG−CLK信号分配
ツリーを実現するための、ネットリスト記述である。図
11Fに例示したように、G−CLK信号分配ツリーの
各欄線はMPGAライブラリ内の利用可能な要素(例え
ばF102)から合成されたクロックドライバを有して
いる。例示した実施例においては、ツリーは10欄を有
し、よってクロックドライバがG−CLK信号分配ツリ
ーのLSL命令文内に合成されている。
情報性の事項は、MPGA基板上でG−CLK信号分配
ツリーを実現するための、ネットリスト記述である。図
11Fに例示したように、G−CLK信号分配ツリーの
各欄線はMPGAライブラリ内の利用可能な要素(例え
ばF102)から合成されたクロックドライバを有して
いる。例示した実施例においては、ツリーは10欄を有
し、よってクロックドライバがG−CLK信号分配ツリ
ーのLSL命令文内に合成されている。
【0045】MPGAネットリストに追加される第3の
情報項目は、MPGA基板上に形成される全体的なリセ
ット信号分配のためのLSLネットリスト記述である。
図11Gに例示したように、全体的なリセット信号分配
ツリー内の各欄は、MPGAライブラリ内の利用可能な
要素(例えば、F102)から合成されたクロックドラ
イバを有している。例示した実施例では、このツリーは
10欄を有し、よって全体的な信号分配ツリーのための
LSL命令文内には10ドライバが合成される。
情報項目は、MPGA基板上に形成される全体的なリセ
ット信号分配のためのLSLネットリスト記述である。
図11Gに例示したように、全体的なリセット信号分配
ツリー内の各欄は、MPGAライブラリ内の利用可能な
要素(例えば、F102)から合成されたクロックドラ
イバを有している。例示した実施例では、このツリーは
10欄を有し、よって全体的な信号分配ツリーのための
LSL命令文内には10ドライバが合成される。
【0046】MPGAネットリストに追加される第4の
情報項目は、FPGAネットリスト内では特定されてい
ない各CLBのための、MPGA基板上に形成されるC
LBクロックロードのためのLSL記述である。図11
Hに例示したように、これらソフトCLBロードは入力
および出力ポート、並びにMPGAインプリメンテーシ
ョンのネットワーク(つまり、相互接続)レベルにおけ
るソフトCLBsのポートとA−CLKおよび/または
G−CLK信号分配ツリーのいずれかのラインとの間の
相互接続を特定するサブ値とワーク記述を有する。っか
うソフトCLB内の各入力ポートは、クロック信号経路
選択ネットワーク内に、FPGAインプリメンテーショ
ン内の関連したクロックドライバ内に存在する(つまり
「により検出される」)インピーダンスに実質的に等し
いインピーダンス(つまり、ロード(負荷))を導入す
る。典型的には、各CLBロードは、当業分野において
は良く知られている「分配された」タイプのキャパシタ
ンスおよび/またはレジスタンス規準の用語により特定
される。以下により詳細に説明するように、このような
インピーダンス規準を導入する目的は、FPGAインプ
リメンテーション内のクロック信号ドライバにより検出
されるインピーダンスがMPGAインプリメンテーショ
ン内のクロック信号ドライバにより検出されるインピー
ダンス規準と実質的に同じであることを確保することに
あり、これにより、インプリメンテーション間のクロッ
ク信号のスキュー(および、論理機能)が保持される。
ここで、各CLBロードはMPGAインプリメンテーシ
ョン内のクロック信号経路選択用ネットワーク内に所望
のロードを導入する一方、MPGAインプリメンテーシ
ョン内のそれらの対応するCLBがFPGA装置内に形
成された(I/O)信号KEIRO決定用ネットワーク
に接続されていないために、CLBロードは、しかしな
がら、MPGAインプリメンテーションの相互接続レベ
ルにおいて実現される(I/O)信号経路選択用ネット
ワークを通過する(I/O)信号に対してなんらかの負
荷効果を与えない。
情報項目は、FPGAネットリスト内では特定されてい
ない各CLBのための、MPGA基板上に形成されるC
LBクロックロードのためのLSL記述である。図11
Hに例示したように、これらソフトCLBロードは入力
および出力ポート、並びにMPGAインプリメンテーシ
ョンのネットワーク(つまり、相互接続)レベルにおけ
るソフトCLBsのポートとA−CLKおよび/または
G−CLK信号分配ツリーのいずれかのラインとの間の
相互接続を特定するサブ値とワーク記述を有する。っか
うソフトCLB内の各入力ポートは、クロック信号経路
選択ネットワーク内に、FPGAインプリメンテーショ
ン内の関連したクロックドライバ内に存在する(つまり
「により検出される」)インピーダンスに実質的に等し
いインピーダンス(つまり、ロード(負荷))を導入す
る。典型的には、各CLBロードは、当業分野において
は良く知られている「分配された」タイプのキャパシタ
ンスおよび/またはレジスタンス規準の用語により特定
される。以下により詳細に説明するように、このような
インピーダンス規準を導入する目的は、FPGAインプ
リメンテーション内のクロック信号ドライバにより検出
されるインピーダンスがMPGAインプリメンテーショ
ン内のクロック信号ドライバにより検出されるインピー
ダンス規準と実質的に同じであることを確保することに
あり、これにより、インプリメンテーション間のクロッ
ク信号のスキュー(および、論理機能)が保持される。
ここで、各CLBロードはMPGAインプリメンテーシ
ョン内のクロック信号経路選択用ネットワーク内に所望
のロードを導入する一方、MPGAインプリメンテーシ
ョン内のそれらの対応するCLBがFPGA装置内に形
成された(I/O)信号KEIRO決定用ネットワーク
に接続されていないために、CLBロードは、しかしな
がら、MPGAインプリメンテーションの相互接続レベ
ルにおいて実現される(I/O)信号経路選択用ネット
ワークを通過する(I/O)信号に対してなんらかの負
荷効果を与えない。
【0047】本方法における上記の4つのサブステップ
の結果として、MPGAインプリメンテーションのため
の、変更された階層的なMPGAネットリストが得られ
る。ここで、結果的に得られたMPGAネットリスト
は、MPGAライブラリ要素の物理的な配置、あるいは
A−CLK、G−CLK、並びにMPGAネットリスト
に記載された全体的な信号分配ツリーに関する情報を含
んでいない。
の結果として、MPGAインプリメンテーションのため
の、変更された階層的なMPGAネットリストが得られ
る。ここで、結果的に得られたMPGAネットリスト
は、MPGAライブラリ要素の物理的な配置、あるいは
A−CLK、G−CLK、並びにMPGAネットリスト
に記載された全体的な信号分配ツリーに関する情報を含
んでいない。
【0048】図13BのブロックDに示したように、本
発明の方法の次のステップは、計上データベースを発生
するために、上記で生成された変更された階層的なMP
GAネットリストおよびMPGAライブラリを使用する
ことを含むものである。この形状データベースの機能
は、MPGA基板上において、論理ゲート、クロックド
ライバ、クロックライン、並びに図10の変更されたM
PGA内に記述されたソフトCLBロードを含む全ての
ライブラリ要素が物理的に実現されるかを特定すること
にある。一般的には、この配置と経路選択情報を発生さ
せるための処理は、図9に示されたMPGA基板上のそ
れぞれのこのような要素の正確な物理的な配置を計算す
るために、(i)変更されたMPGAネットリストの特
別な要素の記述内に特定された情報、および(ii)M
PGAライブラリ内に特定されたこれら特別な要素に関
する形状情報を使用する「場所および経路」プログラム
により実行される。
発明の方法の次のステップは、計上データベースを発生
するために、上記で生成された変更された階層的なMP
GAネットリストおよびMPGAライブラリを使用する
ことを含むものである。この形状データベースの機能
は、MPGA基板上において、論理ゲート、クロックド
ライバ、クロックライン、並びに図10の変更されたM
PGA内に記述されたソフトCLBロードを含む全ての
ライブラリ要素が物理的に実現されるかを特定すること
にある。一般的には、この配置と経路選択情報を発生さ
せるための処理は、図9に示されたMPGA基板上のそ
れぞれのこのような要素の正確な物理的な配置を計算す
るために、(i)変更されたMPGAネットリストの特
別な要素の記述内に特定された情報、および(ii)M
PGAライブラリ内に特定されたこれら特別な要素に関
する形状情報を使用する「場所および経路」プログラム
により実行される。
【0049】変更されたMPGAネットリスト内に記載
された各ソフトCLBおよびCLBクロックロードのた
めに、場所および経路プログラムは、ソフトCLB内に
再結合さえた接続性および/または逐次的な論理を実現
するために、メタライズパターンにより論理ゲートが相
互連結されるMPGA基板上の特定の面積(つまり、領
域)を特定するxおよびy座標の範囲(例えば形状のデ
ータ)を生成する。この座標データの組が計算されるこ
とによる処理は、FPGA基板の指標である列、欄をM
PGA基板上の空間的に対応するx、y座標の組にマッ
プするために、CLBのCLBロケーション(例えば、
AA)およびオフセットパラメータを採用している。こ
のような1対1の座標変換を図12に図示的に例示し、
これは各ソフトCLBが、そのFPGA基板上の対応す
るCLBのように、MPGA基板上の基板上の比較的に
同じロケーションに配置されることを確保できるという
特長がある。このマッピング状態は、MPGAインプリ
メンテーション内で発生する同じクロック信号スキュー
が、FPGAインプリメンテーション内で発生するもの
と比較的に同じであることを保証するものであり、これ
により、MPGAインプリメンテーションのネットワー
クレベルにおける再同期化された論理と機能的に等価で
あることが確保される。MPGAネットリストのソフト
CLB接続性記述内に記載された各ソフトIOBのため
に、プログラムは、MPGAインプリメンテーションの
ネットワークレベルにおける入力とと出力ポートの間の
金属性の相互接続の物理的な配置を規定するxおよびy
座標の範囲を発生する。この座標データの組が計算され
る手順は、FPGA基板の周囲上のピン番号をMPG基
板の周囲上のx、y座標の空間的に対応する組にマップ
するために、IOBのIOBロケーション(例えば、ピ
ン番号P21)およびオフセットパラメータを採用して
いる。これは、図12に図式的に例示した1対の座標変
換プロセスであり、各ソフトIOBが、FPGA上のそ
の対応するIOBのように、MPGA上の比較的に同じ
ロケーションに位置することを同様に確保できる。この
状態を変換プロセスを通して維持することで、MPGA
インプリメンテーション上の(I/O)信号遅延がFP
GAインプリメンテーション上で発生するものと比較的
に同じとなる。
された各ソフトCLBおよびCLBクロックロードのた
めに、場所および経路プログラムは、ソフトCLB内に
再結合さえた接続性および/または逐次的な論理を実現
するために、メタライズパターンにより論理ゲートが相
互連結されるMPGA基板上の特定の面積(つまり、領
域)を特定するxおよびy座標の範囲(例えば形状のデ
ータ)を生成する。この座標データの組が計算されるこ
とによる処理は、FPGA基板の指標である列、欄をM
PGA基板上の空間的に対応するx、y座標の組にマッ
プするために、CLBのCLBロケーション(例えば、
AA)およびオフセットパラメータを採用している。こ
のような1対1の座標変換を図12に図示的に例示し、
これは各ソフトCLBが、そのFPGA基板上の対応す
るCLBのように、MPGA基板上の基板上の比較的に
同じロケーションに配置されることを確保できるという
特長がある。このマッピング状態は、MPGAインプリ
メンテーション内で発生する同じクロック信号スキュー
が、FPGAインプリメンテーション内で発生するもの
と比較的に同じであることを保証するものであり、これ
により、MPGAインプリメンテーションのネットワー
クレベルにおける再同期化された論理と機能的に等価で
あることが確保される。MPGAネットリストのソフト
CLB接続性記述内に記載された各ソフトIOBのため
に、プログラムは、MPGAインプリメンテーションの
ネットワークレベルにおける入力とと出力ポートの間の
金属性の相互接続の物理的な配置を規定するxおよびy
座標の範囲を発生する。この座標データの組が計算され
る手順は、FPGA基板の周囲上のピン番号をMPG基
板の周囲上のx、y座標の空間的に対応する組にマップ
するために、IOBのIOBロケーション(例えば、ピ
ン番号P21)およびオフセットパラメータを採用して
いる。これは、図12に図式的に例示した1対の座標変
換プロセスであり、各ソフトIOBが、FPGA上のそ
の対応するIOBのように、MPGA上の比較的に同じ
ロケーションに位置することを同様に確保できる。この
状態を変換プロセスを通して維持することで、MPGA
インプリメンテーション上の(I/O)信号遅延がFP
GAインプリメンテーション上で発生するものと比較的
に同じとなる。
【0050】A−CLK信号分配ツリー記述内の各ドラ
イバのために、場所および経路プログラムは、クロック
ドライバの物理的な配置およびクロックドライバから各
ソフトCLBおよびMPGAネットリストに記載された
CLBロードに伸びる金属性のクロック分配ブランチを
特定するxおよびy座標の範囲を発生する。各クロック
ドライバおよび分配ブランチのためにこの座標データの
組が計算される手順では、FPGA基板上の各クロック
ドライバのロケーションをMPGA基板の周囲上の空間
的に対応するx、y座標の組内にマップするために、ド
ライバ名および経験的に決定可能なオフセットパラメー
タを採用している。この手順はまた、FPGA基板上の
A−CLK信号分配ツリーのブランチのロケーションを
MPGA基板上の空間的に対応するx、y座標の組内に
マップするために、ドライバ名およびオフセットパラメ
ータを使用している。これはまた、1対1の座標変換プ
ロセスであり、FPGA基板上のその対応するクロック
ドライバおよびその関連するクロックパルス分配ブラン
チのように、クロックドライバおよびその関連するクロ
ックパルス分配ブランチがMPGA基板上の相対的に同
じロケーションに位置されることを確保できる。
イバのために、場所および経路プログラムは、クロック
ドライバの物理的な配置およびクロックドライバから各
ソフトCLBおよびMPGAネットリストに記載された
CLBロードに伸びる金属性のクロック分配ブランチを
特定するxおよびy座標の範囲を発生する。各クロック
ドライバおよび分配ブランチのためにこの座標データの
組が計算される手順では、FPGA基板上の各クロック
ドライバのロケーションをMPGA基板の周囲上の空間
的に対応するx、y座標の組内にマップするために、ド
ライバ名および経験的に決定可能なオフセットパラメー
タを採用している。この手順はまた、FPGA基板上の
A−CLK信号分配ツリーのブランチのロケーションを
MPGA基板上の空間的に対応するx、y座標の組内に
マップするために、ドライバ名およびオフセットパラメ
ータを使用している。これはまた、1対1の座標変換プ
ロセスであり、FPGA基板上のその対応するクロック
ドライバおよびその関連するクロックパルス分配ブラン
チのように、クロックドライバおよびその関連するクロ
ックパルス分配ブランチがMPGA基板上の相対的に同
じロケーションに位置されることを確保できる。
【0051】G−CLK信号分配ツリー記述内の各ドラ
イバのために、場所および経路プログラムは、クロック
ドライバの物理的な配置およびクロックドライバから各
ソフトCLBおよびMPGAネットリストに記載された
CLBロードに伸びる金属性のクロック分配ブランチを
特定するxおよびy座標の範囲を発生する。各クロック
ドライバおよび分配ブランチのためにこの座標データの
組が計算される手順では、FPGA基板上の各クロック
ドライバのロケーションをMPGA基板の周囲上の空間
的に対応するx、y座標の組内にマップするために、ド
ライバ名および経験的に決定可能なオフセットパラメー
タを採用している。この手順はまた、FPGA基板上の
G−CLK信号分配ツリーのブランチのロケーションを
MPGA基板上の空間的に対応するx、y座標の組内に
マップするために、ドライバ名およびオフセットパラメ
ータを使用している。これはまた、1対1の座標変換プ
ロセスであり、FPGA基板上のその対応するクロック
ドライバおよびその関連するクロックパルス分配ブラン
チのように、クロックドライバおよびその関連するクロ
ックパルス分配ブランチがMPGA基板上の相対的に同
じロケーションに位置されることを確保できる。この状
態を変換プロセスを通して維持することで、MPGAイ
ンプリメンテーションの周囲の信号遅延がFPGAイン
プリメンテーション上で発生するものと比較的に同じと
なる。
イバのために、場所および経路プログラムは、クロック
ドライバの物理的な配置およびクロックドライバから各
ソフトCLBおよびMPGAネットリストに記載された
CLBロードに伸びる金属性のクロック分配ブランチを
特定するxおよびy座標の範囲を発生する。各クロック
ドライバおよび分配ブランチのためにこの座標データの
組が計算される手順では、FPGA基板上の各クロック
ドライバのロケーションをMPGA基板の周囲上の空間
的に対応するx、y座標の組内にマップするために、ド
ライバ名および経験的に決定可能なオフセットパラメー
タを採用している。この手順はまた、FPGA基板上の
G−CLK信号分配ツリーのブランチのロケーションを
MPGA基板上の空間的に対応するx、y座標の組内に
マップするために、ドライバ名およびオフセットパラメ
ータを使用している。これはまた、1対1の座標変換プ
ロセスであり、FPGA基板上のその対応するクロック
ドライバおよびその関連するクロックパルス分配ブラン
チのように、クロックドライバおよびその関連するクロ
ックパルス分配ブランチがMPGA基板上の相対的に同
じロケーションに位置されることを確保できる。この状
態を変換プロセスを通して維持することで、MPGAイ
ンプリメンテーションの周囲の信号遅延がFPGAイン
プリメンテーション上で発生するものと比較的に同じと
なる。
【0052】全体的なリセット信号分配ツリー記述内の
各ドライバのために、場所および経路プログラムは、ク
ロックドライバの物理的な配置およびクロックドライバ
から各ソフトCLBおよびMPGAネットリストに記載
されたCLBロードに伸びる金属性のクロック分配ブラ
ンチを特定するxおよびy座標の範囲を発生する。各ク
ロックドライバおよび分配ブランチのためにこの座標デ
ータの組が計算される手順では、FPGA基板上の各ク
ロックドライバのロケーションをMPGA基板の周囲上
の空間的に対応するx、y座標の組内にマップするため
に、ドライバ名および経験的に決定可能なオフセットパ
ラメータを採用している。この手順はまた、FPGA基
板上の全体的なリセット信号分配ツリーのブランチのロ
ケーションをMPGA基板上の空間的に対応するx、y
座標の組内にマップするために、ドライバ名およびオフ
セットパラメータを使用している。これはまた、1対1
の座標変換プロセスであり、FPGA基板上のその対応
するクロックドライバおよびその関連するクロックパル
ス分配ブランチのように、クロックドライバおよびその
関連するクロックパルス分配ブランチをMPGA基板上
の相対的に同じロケーションに位置するのを確保する際
に有用である。多くの全体的なリセット機構は動作が非
同期であるため、MPGAインプリメンテーション内の
クロック信号のためにリセット信号「スキュー」を同じ
程度に制御する必要がない。しかしながら、本発明のよ
うに、多数のドライバを備えたリセット信号分配ツリー
を使用することは、従来技術のインプリメンテーション
において使用される単一のリセット信号ドライバおよび
ランダムリセット信号経路選択ネットワークを使用する
場合に比べて好ましい。
各ドライバのために、場所および経路プログラムは、ク
ロックドライバの物理的な配置およびクロックドライバ
から各ソフトCLBおよびMPGAネットリストに記載
されたCLBロードに伸びる金属性のクロック分配ブラ
ンチを特定するxおよびy座標の範囲を発生する。各ク
ロックドライバおよび分配ブランチのためにこの座標デ
ータの組が計算される手順では、FPGA基板上の各ク
ロックドライバのロケーションをMPGA基板の周囲上
の空間的に対応するx、y座標の組内にマップするため
に、ドライバ名および経験的に決定可能なオフセットパ
ラメータを採用している。この手順はまた、FPGA基
板上の全体的なリセット信号分配ツリーのブランチのロ
ケーションをMPGA基板上の空間的に対応するx、y
座標の組内にマップするために、ドライバ名およびオフ
セットパラメータを使用している。これはまた、1対1
の座標変換プロセスであり、FPGA基板上のその対応
するクロックドライバおよびその関連するクロックパル
ス分配ブランチのように、クロックドライバおよびその
関連するクロックパルス分配ブランチをMPGA基板上
の相対的に同じロケーションに位置するのを確保する際
に有用である。多くの全体的なリセット機構は動作が非
同期であるため、MPGAインプリメンテーション内の
クロック信号のためにリセット信号「スキュー」を同じ
程度に制御する必要がない。しかしながら、本発明のよ
うに、多数のドライバを備えたリセット信号分配ツリー
を使用することは、従来技術のインプリメンテーション
において使用される単一のリセット信号ドライバおよび
ランダムリセット信号経路選択ネットワークを使用する
場合に比べて好ましい。
【0053】上記した状態を変換プロセスを通して維持
することで、MPGAインプリメンテーションの周囲の
信号遅延がFPGAインプリメンテーション上で発生し
た場合と比較的同じものとなる。
することで、MPGAインプリメンテーションの周囲の
信号遅延がFPGAインプリメンテーション上で発生し
た場合と比較的同じものとなる。
【0054】上記の位置および経路選択ステップの間に
生成された全ての座標情報は、形状データベースを形成
するためにメモリ13内に記憶される。特に、このデー
タベースは、前処理されたMPGA基板上に形成された
いくつかかのメタライズされたサブパターンの物理的な
寸法と配置を正確に特定するのに十分な座標データを含
んでいる。
生成された全ての座標情報は、形状データベースを形成
するためにメモリ13内に記憶される。特に、このデー
タベースは、前処理されたMPGA基板上に形成された
いくつかかのメタライズされたサブパターンの物理的な
寸法と配置を正確に特定するのに十分な座標データを含
んでいる。
【0055】図13BのブロックEに示したように、本
方法の次のステップは、ブロックEで生成された形状デ
ータベースのファイルに含まれた形状情報をシステム3
に供給することを含んでいる。このような形状情報を使
用することで、システム3は、前処理されたMPGAの
相互接続レベルにおいてメタライズ層を形成するために
使用される、多数の光蝕刻性の処理用マスク4を生成す
る。これらのメタライズ層は、前処理されたMPGA基
板をプログラムして、変更されたMPGAネットリスト
内に記載された論理機能によって特徴付けられるMPG
Aインプリメンテーションを生成することができる。
方法の次のステップは、ブロックEで生成された形状デ
ータベースのファイルに含まれた形状情報をシステム3
に供給することを含んでいる。このような形状情報を使
用することで、システム3は、前処理されたMPGAの
相互接続レベルにおいてメタライズ層を形成するために
使用される、多数の光蝕刻性の処理用マスク4を生成す
る。これらのメタライズ層は、前処理されたMPGA基
板をプログラムして、変更されたMPGAネットリスト
内に記載された論理機能によって特徴付けられるMPG
Aインプリメンテーションを生成することができる。
【0056】図13BのブロックFにおいて、本発明の
方法の最後のステップは、前処理されたMPGA基板上
にメタライズ層を形成するために、ブロックFにおいて
生成された光蝕刻性の処理用マスク4を使用する。上記
したように、材料処理のこの最終段階により、FPGA
インプリメンテーションと機能的に等価なMPGAイン
プリメンテーションが得られる。
方法の最後のステップは、前処理されたMPGA基板上
にメタライズ層を形成するために、ブロックFにおいて
生成された光蝕刻性の処理用マスク4を使用する。上記
したように、材料処理のこの最終段階により、FPGA
インプリメンテーションと機能的に等価なMPGAイン
プリメンテーションが得られる。
【0057】本発明はまた、上記した方法を次のように
単に変更するだけで、FPGAインプリメンテーション
をMPSCインプリメンテーションに変換する際にも同
様に使用される。
単に変更するだけで、FPGAインプリメンテーション
をMPSCインプリメンテーションに変換する際にも同
様に使用される。
【0058】図13AのブロックBにおいて、MPGA
ライブラリの代わりにMPSCライブラリを使用する。
この変更の結果、MPSCネットリストは、MPGAの
実施例の場合と本質的には同じである、ソフトCLB記
述、ソフトIOB記述、並びにソフトIOB接続性記述
を有する。加えて、MPSCネットリストは、ネットワ
ークレベルでのポート接続性情報だけではなくて、MP
SCインプリメンテーションでの1つまたはそれより多
いサブネットワークレベルにおけるポート接続性情報も
有した、ソフトCLB接続性記述を含んでいる。図13
AのブロックCにおいて、MPSCネットリストは上記
の方法により変更される。図13Bにおける配置および
経路選択の間に、変更されたMPSCネットリスト内に
リストされた全ての構造が、上記したのと実質的に同じ
方法で、MPSC基板上に物理的に配置または経路選択
され、MPSCインプリメンテーションのための形状デ
ータベースが生成される。次いで、ブロックEにおい
て、形状データベースは、MPSCインプリメンテーシ
ョンの予め規定されたネットワークおよびサブネットワ
ークレベルのための処理用マスクの組を生成する。ブロ
ックFにおいて、これらの処理用マスクは、FPGAイ
ンプリメンテーションと機能的に等価であるMPSCイ
ンプリメンテーションを物理的に実現するのに十分であ
る、複合のメタライズ層をMPSC基板上に形成するた
めに利用される。
ライブラリの代わりにMPSCライブラリを使用する。
この変更の結果、MPSCネットリストは、MPGAの
実施例の場合と本質的には同じである、ソフトCLB記
述、ソフトIOB記述、並びにソフトIOB接続性記述
を有する。加えて、MPSCネットリストは、ネットワ
ークレベルでのポート接続性情報だけではなくて、MP
SCインプリメンテーションでの1つまたはそれより多
いサブネットワークレベルにおけるポート接続性情報も
有した、ソフトCLB接続性記述を含んでいる。図13
AのブロックCにおいて、MPSCネットリストは上記
の方法により変更される。図13Bにおける配置および
経路選択の間に、変更されたMPSCネットリスト内に
リストされた全ての構造が、上記したのと実質的に同じ
方法で、MPSC基板上に物理的に配置または経路選択
され、MPSCインプリメンテーションのための形状デ
ータベースが生成される。次いで、ブロックEにおい
て、形状データベースは、MPSCインプリメンテーシ
ョンの予め規定されたネットワークおよびサブネットワ
ークレベルのための処理用マスクの組を生成する。ブロ
ックFにおいて、これらの処理用マスクは、FPGAイ
ンプリメンテーションと機能的に等価であるMPSCイ
ンプリメンテーションを物理的に実現するのに十分であ
る、複合のメタライズ層をMPSC基板上に形成するた
めに利用される。
【0059】以上、本発明を、デジタル論理設計のFP
GAインプリメンテーションをこのようなデジタル論理
設計のMPLCインプリメンテーションに変換する場合
において最も有用である実施例を例にとって説明した。
しかしながら、この本発明の例示的な実施例に種々の変
更や変形を行うことは、当業者にとっては想定容易であ
る。従って、このような全ての変更や変形は、添付した
請求の範囲に記載された本発明の範囲に属するものであ
る。
GAインプリメンテーションをこのようなデジタル論理
設計のMPLCインプリメンテーションに変換する場合
において最も有用である実施例を例にとって説明した。
しかしながら、この本発明の例示的な実施例に種々の変
更や変形を行うことは、当業者にとっては想定容易であ
る。従って、このような全ての変更や変形は、添付した
請求の範囲に記載された本発明の範囲に属するものであ
る。
【図1A】図1Aは、従来のFPGA装置を使用して、
デジタル論理設計を具現化する方法において達成される
ステップを例示した高レベルのフローチャートである。
デジタル論理設計を具現化する方法において達成される
ステップを例示した高レベルのフローチャートである。
【図1B】図1Bは、従来のFPGA装置を使用して、
デジタル論理設計を具現化する方法において達成される
ステップを例示した高レベルのフローチャートである。
デジタル論理設計を具現化する方法において達成される
ステップを例示した高レベルのフローチャートである。
【図2】例示的なFPGAネットリストにおける単一の
CLB記述のためのXNF命令文の組を示した説明図で
ある。
CLB記述のためのXNF命令文の組を示した説明図で
ある。
【図3】図3は、従来技術の方式を使用して、FPGA
インプリメンテーションをMPGAインプリメンテーシ
ョンに変換するプロセスの間に達成されるステップを例
示した高レベルのフローチャートである。
インプリメンテーションをMPGAインプリメンテーシ
ョンに変換するプロセスの間に達成されるステップを例
示した高レベルのフローチャートである。
【図4】図3に示した従来技術の方式を使用して、FP
GAインプリメンテーション内の論理セルを機能的に等
価であるMPGA内の論理セル内にマッピングするプロ
セスを例示した説明図である。
GAインプリメンテーション内の論理セルを機能的に等
価であるMPGA内の論理セル内にマッピングするプロ
セスを例示した説明図である。
【図5】本発明のプログラムされた機構の構成要素を例
示したシステムブロックダイヤグラムである。
示したシステムブロックダイヤグラムである。
【図6A】プログラム可能な相互接続用切換器を介して
ネットワークレベルで相互接続された、配列自在な論理
ブロックおよび入力と出力インターフェースブロックを
示した説明図である。
ネットワークレベルで相互接続された、配列自在な論理
ブロックおよび入力と出力インターフェースブロックを
示した説明図である。
【図6B】プログラム可能な相互接続用切換器を介して
ネットワークレベルで相互接続された、配列自在な論理
ブロックおよび入力と出力インターフェースブロックを
示した説明図である。
ネットワークレベルで相互接続された、配列自在な論理
ブロックおよび入力と出力インターフェースブロックを
示した説明図である。
【図6C】プログラム可能な相互接続用切換器を介して
ネットワークレベルで相互接続された、配列自在な論理
ブロックおよび入力と出力インターフェースブロックを
示した説明図である。
ネットワークレベルで相互接続された、配列自在な論理
ブロックおよび入力と出力インターフェースブロックを
示した説明図である。
【図6D】プログラム可能な相互接続用切換器を介して
ネットワークレベルで相互接続された、配列自在な論理
ブロックおよび入力と出力インターフェースブロックを
示した説明図である。
ネットワークレベルで相互接続された、配列自在な論理
ブロックおよび入力と出力インターフェースブロックを
示した説明図である。
【図6E】プログラム可能な相互接続用切換器を介して
ネットワークレベルで相互接続された、配列自在な論理
ブロックおよび入力と出力インターフェースブロックを
示した説明図である。
ネットワークレベルで相互接続された、配列自在な論理
ブロックおよび入力と出力インターフェースブロックを
示した説明図である。
【図7】図6に示したFPGA装置のための、(論理セ
ル)構成要素の配置マップを図式的に示した説明図であ
る。
ル)構成要素の配置マップを図式的に示した説明図であ
る。
【図8A】特定のデジタル論理設計のFPGAインプリ
メンテーションのための、FPGAネットリストの要素
を図式的に示した説明図である。
メンテーションのための、FPGAネットリストの要素
を図式的に示した説明図である。
【図8B】例示的なFPGAネットリストのファイル名
記述のための、XNF命令文の組を示した説明図であ
る。
記述のための、XNF命令文の組を示した説明図であ
る。
【図8C】例示的なFPGAネットリストの単一のCL
B記述のための、XNF命令文の組を示した説明図であ
る。
B記述のための、XNF命令文の組を示した説明図であ
る。
【図8D】例示的なFPGAネットリストの単一のIO
B記述のための、XNF命令文の組を示した説明図であ
る。
B記述のための、XNF命令文の組を示した説明図であ
る。
【図8E】例示的なFPGAネットリストのクロックド
ライバ記述のための、XNF命令文の組を示した説明図
である。
ライバ記述のための、XNF命令文の組を示した説明図
である。
【図8F】本発明の例示した実施例のFPGA,MPG
A,並びにMPSCライブラリ内の構成要素のリストを
示した説明図である。
A,並びにMPSCライブラリ内の構成要素のリストを
示した説明図である。
【図9】メタライズ段階まで準備されたMPGA基板の
形状の平面図である。
形状の平面図である。
【図10】特定のデジタル論理の設計のための、FPG
AインプリメンテーションのFPGAネットリストから
変更されたMPGAネットリスト記述を生成するプロセ
スを図式的に例示した説明図である。
AインプリメンテーションのFPGAネットリストから
変更されたMPGAネットリスト記述を生成するプロセ
スを図式的に例示した説明図である。
【図11A】図11Aは、例示的なMPGAネットリス
トのファイル名記述のためのLSL記述の組を示した説
明図である。
トのファイル名記述のためのLSL記述の組を示した説
明図である。
【図11B】図11Bは、例示的なMPGAネットリス
トの単一ソフトCLS記述のためのLSL記述の組を示
した説明図である。
トの単一ソフトCLS記述のためのLSL記述の組を示
した説明図である。
【図11C】図11Cは、例示的なMPGAネットリス
トのソフトCLB接続性記述のためのLSL記述の組を
示した説明図である。
トのソフトCLB接続性記述のためのLSL記述の組を
示した説明図である。
【図11D】図11Dは、例示的なMPGAネットリス
トのソフトIOB接続性記述のためのLSL記述の組を
示した説明図である。
トのソフトIOB接続性記述のためのLSL記述の組を
示した説明図である。
【図11E】図11Eは、例示的なMPGAネットリス
トのAクロック分配ツリー記述のためのLSL記述の組
を示した説明図である。
トのAクロック分配ツリー記述のためのLSL記述の組
を示した説明図である。
【図11F】図11Fは、例示的なMPGAネットリス
トのGクロック分配ツリー記述のためのLSL記述の組
を示した説明図である。
トのGクロック分配ツリー記述のためのLSL記述の組
を示した説明図である。
【図11G】図11Gは、例示的なMPGAネットリス
トの全体的なリセット分配ツリー記述のためのLSL記
述の組を示した説明図である。
トの全体的なリセット分配ツリー記述のためのLSL記
述の組を示した説明図である。
【図11H】図11Hは、例示的なMPGAネットリス
トのCLBロード記述のためのLSL記述の組を示した
説明図である。
トのCLBロード記述のためのLSL記述の組を示した
説明図である。
【図12】本発明の方式を使用して、FPGAインプリ
メンテーションをMPGAインプリメンテーションにマ
ッピングする処理を図式的に例示した説明図である。
メンテーションをMPGAインプリメンテーションにマ
ッピングする処理を図式的に例示した説明図である。
【図13A】図13Aは、本発明の方式を使用した、F
PGAインプリメンテーションをMPGAインプリメン
テーションに変換するための処理内において実行される
ステップを図示したフローチャートである。
PGAインプリメンテーションをMPGAインプリメン
テーションに変換するための処理内において実行される
ステップを図示したフローチャートである。
【図13B】図13Bは、本発明の方式を使用した、F
PGAインプリメンテーションをMPGAインプリメン
テーションに変換するための処理内において実行される
ステップを図示したフローチャートである。
PGAインプリメンテーションをMPGAインプリメン
テーションに変換するための処理内において実行される
ステップを図示したフローチャートである。
2 ワークステーション 6 メタライズパターン 10 中央処理ユニット 13 データ記憶メモリ 14 視覚ディスプレイユニット
Claims (20)
- 【請求項1】 デジタル論理設計のフィールドプログラ
ム可能なゲートアレイ(FPGA)実行を、該デジタル
論理設計のマスクプログラム可能な論理セル(MPL
C)実行に変換するための方法において、 (a) 該FPGA実行を達成する際に使用するFPG
A装置およびFPGAライブラリを選択する段階であっ
て、該FPGA装置は、 該パッケージ上の複数のピンと動作的に関連した入/出
力ポートと内部に含まれたプログラム可能な論理回路と
をそれぞれ有する複数のプログラム可能な入/出力イン
ターフェースブロック(IOB)と、 入/出力ポートと内部に含まれたプログラム可能な論理
回路とをそれぞれ有する複数のプログラム可能で形成可
能な論理ブロック(CLB)と、 該CLBの入/出力ポートと該IOBの入/出力ポート
とを選択的に相互接続して第1の信号遅延の組で該FP
GA装置における信号を経路選択する第1の信号ネット
ワークを形成する複数のプログラム可能な相互接続スイ
ッチとを搭載する基板を包含するパッケージを含み、 (b) 該FPGA実行に対してFPGAネットリスト
を生成する段階であって、該階層的なFPGAネットリ
ストは、該FPGA実行で利用される各該CLBに対す
るCLB記述、該FPGA実行で利用される各該IOB
に対するIOB記述、及び該FPGA装置内に該第1の
信号ネットワークを形成するために該複数のプログラム
可能な相互接続スイッチにより有効とされる、該利用さ
れたCLBと該利用されたIOBの入/出力ポートの間
に確立されるべき相互接続を特定するポート接続性仕様
とを含み、 (c) 該MPLC実行を達成するために使用されるM
PLC装置とMPLCライブラリを選択する段階であっ
て、該MPLC装置は少なくとも1つの相互接続レベル
と、該MPLC基板上に複数のソフトCLBと複数のソ
フトIOBとを形成するために該少なくとも1つの相互
接続レベルにおいて選択的に形成され得る論理セルのア
レイとを有する基板を包含するパッケージを含み、該M
PLC内に該第1の信号ネットワークに物理的に対応し
た、第2の信号遅延の組で信号を経路選択する第2の信
号ネットワークを形成するために、各該ソフトCLB及
び各該ソフトIOBは該MPGA基板に計算可能な形状
のメタライズ層を設けることで該少なくとも1つの相互
接続レベルにおいて相互接続可能である入/出力ポート
を有し、 (d) 該MPLC実行に対するMPLCネットリスト
を生成する段階であって、該MPLCネットリストは、 該MPLC基板上に形成されるべき各該ソフトCLBに
対するソフトCLB記述と、 該MPLCネットリスト内で特定される該ソフトCLB
の入/出力ポートの接続性を特定するソフトCLB接続
性記述と、 該MPLC基板上に形成されるべき各該ソフトIOBに
対するソフトIOB記述と、 該MPLCネットリスト内で特定される該ソフトIOB
の入/出力ポートの接続性を特定するソフトIOB接続
性記述とを含む該MPLC実行に関する階層的情報を含
み、 (e) 形状データベースを生成すべく該変更されたM
PLCネットリストと該MPLCライブラリを使用する
段階であって、該形状データベースは、 該MPLC基板上の各該ソフトCLB及び各該ソフトI
OBの物理的な配置を特定する形状情報、及び 該ソフトCLB接続性記述及び該ソフトIOB接続性記
述に従って該CLBと該IOBの入/出力ポートを相互
接続する該MPLC基板上の信号経路を特定する形状情
報であって、該FPGA実行の間に存在する相対的な信
号遅延が該MPLC実行において実質的に保持され、こ
れにより該FPGAとMPLC実行の間の機能的な等価
が確立される、 段階からなることを特徴とする方法。 - 【請求項2】 請求項1に記載の方法において、該段階
(a)において、該選択されたFPGA装置がさらに、 該CLB及びIOBにより使用されるためのクロック信
号を生成するクロック信号生成手段と、 該クロック信号を、その内において該CLB及びIOB
へ経路選択する第1の複数の導電素子を有するクロック
信号分配構造とを含み、 該方法は更に該段階(d)の後に、 該MPLCネットリストに、該MPLC基板上の該クロ
ック信号生成手段の記述と該MPLC基板上の該クロッ
ク信号分配構造の記述とを加えることによって、変更さ
れたMPLCネットリストを生成する段階を更に含み、 該形状データベースが、該MPLC基板上の該クロック
信号生成手段と該リセット信号生成手段の物理的な配置
を特定する形状情報と、該MPLC基板上の該クロック
信号分配構造の物理的な経路選択を特定する形状情報と
を更に含むことを特徴とする方法。 - 【請求項3】 請求項1に記載の方法において、段階
(d)の間にさらに、該変更されたMPLCネットリス
トに、該FPGA実行を実現する際に利用しない該FP
GA内部の各CLBに対するソフトCLB負荷を加える
段階を含むことを特徴とする方法。 - 【請求項4】 請求項3に記載の方法において、さら
に、 (f)該MPGA基板上の該メタライズ層を形成するの
に使用する光蝕刻処理用マスクの組を生成するために該
形状データベースを使用する段階を含むことを特徴とす
る方法。 - 【請求項5】 請求項4に記載の方法において、さらに (g)該MPGA基板上の該メタライズ層を形成するた
めに該生成された光蝕刻処理用マスクの組を使用する段
階を含むことを特徴とする方法。 - 【請求項6】 請求項1に記載の方法において、該MP
LC実行がマスクプログラム可能なゲートアレイ(MP
GA)実行であり、該MPLC装置がMPGA装置であ
り、そして該MPLCライブラリがMPGAライブラリ
であることを特徴とする方法。 - 【請求項7】 請求項1に記載の方法において、該MP
LC実行がマスクプログラム可能な標準セル(MPS
C)実行であり、該MPLC装置がMPSC装置であ
り、そして該MPLCライブラリがMPSCライブラリ
であることを特徴とする方法。 - 【請求項8】 請求項2に記載の方法において、該形状
データベースの製造の間に、該各ソフトCLBが該FP
GA基板上の対応するCLBの物理的位置と相対的に同
じである該MPLC基板上の物理的位置に配置され、各
該ソフトIOBが該FPGA基板上の対応するIOBの
物理的位置と相対的に同じである該MPLC基板上の物
理的位置に配置され、該MPLC基板上の各該クロック
信号生成手段が該FPGA基板上の対応するクロック信
号生成手段の物理的位置と相対的に同じである該MPL
C基板上の物理的位置に配置され、そして該MPLC基
板上の該クロック信号分配構造の物理的経路選択が該F
PGA基板上の対応するクロック分配構造の信号経路と
相対的に同じである該MPLC基板上の信号経路に沿っ
て選択されることを特徴とする方法。 - 【請求項9】 デジタル論理設計のフィールドプログラ
ム可能なゲートアレイ(FPGA)実行を、該デジタル
論理設計のマスクプログラム可能な論理セル(MPL
C)実行に変換するための方法において、 (a) 該FPGA実行を達成する際に使用するFPG
A装置およびFPGAライブラリを選択する段階であっ
て、該FPGA装置は、 該パッケージ上の複数のピンと動作的に関連した入/出
力ポートと内部に含まれたプログラム可能な論理回路と
をそれぞれ有する複数のプログラム可能な入/出力イン
ターフェースブロック(IOB)と、 入/出力ポートと内部に含まれたプログラム可能な論理
回路とをそれぞれ有する複数のプログラム可能で形成可
能な論理ブロック(CLB)と、 該CLBの入/出力ポートと該IOBの入/出力ポート
とを選択的に相互接続して第1の信号遅延の組で該FP
GA装置における信号を経路選択する第1の信号ネット
ワークを形成する複数のプログラム可能な相互接続スイ
ッチと、 該CLB及びIOBにより使用されるためのクロック信
号を生成するクロック信号生成手段と、 該クロック信号内で該CLB及びIOBに経路選択する
ための第1の複数の導電素子を有するクロック信号分配
構造とを搭載する基板を包含するパッケージを含み、 (b) 該FPGA実行に対してFPGAネットリスト
を生成する段階であって、該FPGAネットリストは階
層的情報、該FPGA実行で利用される各該CLBに対
するCLB記述、該FPGA実行で利用される各該IO
Bに対するIOB記述、及び該FPGA装置内に該第2
の信号ネットワークを形成するために該複数のプログラ
ム可能な相互接続スイッチにより有効とされる、該利用
されたCLBと該利用されたIOBの入/出力ポートの
間に確立されるべき相互接続を特定するポート接続性仕
様とを含み、 (c) 該MPLC実行を達成するために使用されるM
PLC装置とMPLCライブラリを選択する段階であっ
て、該MPLC装置は少なくとも1つの相互接続レベル
を有し、該MPLC基板上に複数のソフトCLBと複数
のソフトIOBとを形成するために該少なくとも1つの
相互接続レベルにおいて選択的に形成され得る論理セル
のアレイを搭載する基板を包含するパッケージを含み、
該MPLC内に該第1の信号ネットワークに物理的に対
応した、第2の信号遅延の組で信号を経路選択する第2
の信号ネットワークを形成するために、各該ソフトCL
B及び各該ソフトIOBは該MPGA基板に計算された
形状のメタライズ層を設けることで該相互接続レベルに
おいて相互接続可能である入/出力ポートを有し、 (d) 該MPLC実行に対するMPLCネットリスト
を生成する段階であって、該MPLCネットリストは、 該MPLC基板上に形成されるべき各該ソフトCLBに
対するソフトCLB記述と、 該MPLCネットリスト内で特定される該ソフトCLB
の入/出力ポートの接続性を特定するソフトCLB接続
性記述と、 該MPLC基板上に形成されるべき各該ソフトIOBに
対するソフトIOB記述と、 該MPLCネットリスト内で特定される該ソフトIOB
の入/出力ポートの接続性を特定するソフトIOB接続
性記述とを含み、 (e)(1) 該FPGA実行を実現させる際に利用し
ない、該FPGA内の各該CLBに対するソフトCLB
負荷と、 (2) 該MPLC基板上に位置する該クロック信号生
成手段の記述と、 (3) 該MPLC基板上に位置する該クロック信号分
配構造の記述とを該MPLCネットリストに加えること
によって変更されたMPLCを生成する段階と、 (f) 形状データベースを生成するために該変更され
たMPLCネットリスト及び該MPLCライブラリを使
用する段階であって、該形状データベースは、各該ソフ
トCLBの物理的な配置、各該ソフトIOBの物理的な
配置、及び該MPLC基板上の該クロック信号生成手段
の物理的な配置に関する形状情報と、該クロック信号分
配構造の物理的な経路選択と、該ソフトCLB接続性記
述と該ソフトIOB接続性記述に従って該CLBと該I
OBの入/出力ポートとを相互接続する該MPLC上の
信号経路とを特定する形状情報であって、該MPLC基
板上の該ソフトCLB、該ソフトIOB、並びに該クロ
ック信号生成手段の物理的な配置が、該FPGA基板上
の対応する該ソフトCLB、対応する該ソフトIOB、
及び対応するクロック信号生成手段の物理的な配置と同
じであり、該FPGA実行の間に存在する相対的な信号
及びクロック遅延が該MPLC実行内に実質的に保持さ
れ、これにより該FPGAとMPLC実行の間の機能的
な等価が確立される段階からなることを特徴とする方
法。 - 【請求項10】 請求項9に記載の方法において、 (g)該MPGA基板上の該メタライズ層を形成する際
に使用するための光蝕刻処理用マスクの組を生成するた
めに該形状データベースを使用する段階をさらに含む特
徴とする方法。 - 【請求項11】 請求項10に記載の方法において、 (h)該MPGA基板上の該メタライズ層を形成するた
めに該生成された光蝕刻処理用マスクの組を使用する段
階をさらに含むことを特徴とする方法。 - 【請求項12】 請求項9に記載の方法において、該M
PLC実行がマスクプログラム可能なゲートアレイ(M
PGA)実行であり、該MPLC装置がMPGA装置で
あり、そして該MPLCライブラリがMPGAライブラ
リであることを特徴とする方法。 - 【請求項13】 請求項9に記載の方法において、該M
PLC実行がマスクプログラム可能な標準セル(MPS
C)実行であり、該MPLC装置がMPSC装置であ
り、そして該MPLCライブラリがMPSCライブラリ
であることを特徴とする方法。 - 【請求項14】 デジタル論理設計のフィールドプログ
ラム可能なゲートアレイ(FPGA)実行を、該デジタ
ル論理設計のマスクプログラム可能な論理セル(MPL
C)実行に変換するためのコンピュータを基礎とするシ
ステムにおいて、 該FPGA実行を達成する際に使用するためのFPGA
装置及びFPGAライブラリを表した情報を含む情報を
記憶するための情報記憶手段であって、該FPGA装置
は、 該パッケージ上の複数のピンと動作的に関連した入/出
力ポートと内部に含まれたプログラム可能な論理回路と
をそれぞれ有する複数のプログラム可能な入/出力イン
ターフェースブロック(IOB)と、 入/出力ポートと内部に含まれたプログラム可能な論理
回路とをそれぞれ有する複数のプログラム可能で形成可
能な論理ブロック(CLB)と、 該CLBの入/出力ポートと該IOBの入/出力ポート
とを選択的に相互接続して、該FPGA基板上に信号遅
延の決定可能な量で該FPGA装置における信号を経路
選択する第1の信号ネットワークを形成する複数のプロ
グラム可能な相互接続スイッチとからなり、 該情報記憶手段が該MPLCを実現する際に使用された
選択されたMPLC装置及びMPLCライブラリを示す
情報をさらに記憶し、該MPLC装置は、少なくとも1
つの相互接続レベルと該MPLC基板上に複数のソフト
CLBと複数のソフトIOBを形成するために該少なく
とも1つの相互接続レベルにおいて選択的に配列され得
る論理セルのアレイとを搭載したMPLC基板を包含す
るパッケージを含み、該MPLC内に該第1の信号ネッ
トワークに物理的に対応した決定可能な信号の量で信号
を経路選択する第2の信号ネットワークを形成するため
に、各該ソフトCLB及び各該ソフトIOBは該MPG
A基板に計算可能な形状のメタライズ層を設けることで
少なくとも1つの相互接続レベルにおいて相互接続可能
な入/出力ポートを有し、 該情報記憶手段に動作的に関連し、該FPGA装置を使
用して該FPGA実行に対するFPGAネットリストを
表す第1のデータ構造を生成するプログラムされた情報
処理手段であって、該FPGAネットリストは、該FP
GA実行に利用される各該CLBに対するCLB記述
と、該FPGA実行に利用される各該IOBに対するI
OB記述と、該FPGA装置内部に該第1の信号ネット
ワークを形成するために、該複数のプログラム可能な相
互接続スイッチにより有効にされる、該利用されたCL
Bと該利用されたIOBの入/出力ポートの間に確立さ
れるべき相互接続を特定するポート接続性仕様とを含む
階層的な情報を含んでおり、該プログラムされた情報処
理手段はさらに、該MPLC装置を使用する該MPLC
実行に対するMPLCネットリストを表す第2の情報構
造を生成し、該MPLCネットリストは、 該MPLC基板上に形成されるべき各該ソフトCLBに
対するソフトCLB記述と、 該MPLCネットリスト内に特定される該ソフトCLB
の入/出力ポートの接続性を特定するソフトCLB接続
性記述と、 該MPLC基板上に形成されるべき各該ソフトIOBに
対するソフトIOB記述と、 該MPLCネットリスト内に特定される該ソフトIOB
の入/出力ポートの接続性を特定するソフトIOB接続
性記述とを含む階層的な情報を包含しており、そして、 該プログラムされた情報処理手段は該変更されたMPL
Cネットリストと該MPLCライブラリを使用する形状
データベースを更に生成し、該形状データベースが、 各該ソフトCLBと各該ソフトIOBと該クロック信号
生成手段の物理的な配置を特定する形状情報と、 該ソフトCLB接続性記述及び該ソフトIOB接続性記
述に従って該CLBと該IOBの入/出力ポートを相互
接続する該MPLC上の信号経路の物理的な経路選択を
特定する形状情報からなり、該FPGA実行の該第1の
信号ネットワークに存在する相対的な信号遅延が該MP
LC実行内の第2の信号ネットワーク内に実質的に保持
され、これにより該FPGAとMPLC実行の間の機能
的な等価が確立されることを特徴とするコンピュータ基
礎システム。 - 【請求項15】 請求項14に記載の装置において、該
FPGA装置が更に、 該CLBとIOBにより使用されるためのクロック信号
を生成するクロック信号生成手段と、 該クロック信号内において該CLBとIOBに経路選択
する第1の複数の導電素子を有するクロック信号分配構
造と、 該CLB及び該IOBによって使用されるリセット信号
を生成するリセット信号生成手段とからなり、 該コンピュータを基礎とするシステムが更に、該第2の
情報構造に情報を加えて、該MPLC基板上の該クロッ
ク信号生成手段の記述と該MPLC基板上の該クロック
信号分配構造の記述をさらに含む変更されたMPLCネ
ットリストを生成する手段を含み、 該プログラムされた情報処理手段は、追加の形状情報を
生成し該追加形状情報を該形状データベースに追加する
ために該変更されたMPLCネットリストと該MPLC
ライブラリを使用し、該追加の形状情報はさらに、該M
PLC基板上の該クロック信号生成手段の物理的配置を
特定し、さらに、該MPLC基板上の該クロック信号分
配構造の物理的な経路選択をも特定することを特徴とす
るシステム。 - 【請求項16】 請求項15に記載のシステムにおい
て、該プログラムされた情報処理手段が、該変更された
MPLCネットリストに、該FPGA実行を実現する際
に使用されない該FPGA装置内の各該CLBに対する
ソフトCLBを追加する手段をさらに含むことを特徴と
するシステム。 - 【請求項17】 請求項15に記載のシステムにおい
て、該形状データベースを使用して、光蝕刻処理用マス
クの組を生成する手段をさらに含むことを特徴とする請
求項システム。 - 【請求項18】 請求項17に記載のシステムにおい
て、該生成された光蝕刻処理用マスクの組を使用して、
該MPGA基板上の該メタライズ層を形成する手段をさ
らに含むことを特徴とするシステム。 - 【請求項19】 請求項15に記載のシステムにおい
て、該MPLC実行がマスクプログラム可能なゲートア
レイ(MPGA)実行であり、該MPLC装置がMPG
A装置であり、そして該MPLCライブラリがMPGA
ライブラリであることを特徴とするシステム。 - 【請求項20】 請求項15に記載のシステムにおい
て、該MPLC実行がマスクプログラム可能な標準セル
(MPSC)実行であり、該MPLC装置がMPSC装
置であり、そして該MPLCライブラリがMPSCライ
ブラリであることを特徴とするシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17565893A | 1993-12-30 | 1993-12-30 | |
US175658 | 1993-12-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07254019A JPH07254019A (ja) | 1995-10-03 |
JP2614986B2 true JP2614986B2 (ja) | 1997-05-28 |
Family
ID=22641120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6319769A Expired - Lifetime JP2614986B2 (ja) | 1993-12-30 | 1994-12-22 | フィールドプログラム可能なゲートアレイ・インプリメンテーションをマスクプログラム可能な論理セル・インプリメンテーションに変換するための方法と装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5526278A (ja) |
JP (1) | JP2614986B2 (ja) |
KR (1) | KR0148405B1 (ja) |
TW (1) | TW396312B (ja) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5752006A (en) * | 1996-01-31 | 1998-05-12 | Xilinx, Inc. | Configuration emulation of a programmable logic device |
US5815405A (en) * | 1996-03-12 | 1998-09-29 | Xilinx, Inc. | Method and apparatus for converting a programmable logic device representation of a circuit into a second representation of the circuit |
US5949983A (en) * | 1996-04-18 | 1999-09-07 | Xilinx, Inc. | Method to back annotate programmable logic device design files based on timing information of a target technology |
US5943488A (en) * | 1996-06-26 | 1999-08-24 | Cypress Semiconductor Corp. | Method and apparatus to generate mask programmable device |
US5926035A (en) * | 1996-06-26 | 1999-07-20 | Cypress Semiconductor Corp. | Method and apparatus to generate mask programmable device |
US5936868A (en) * | 1997-03-06 | 1999-08-10 | Harris Corporation | Method for converting an integrated circuit design for an upgraded process |
US5991523A (en) * | 1997-03-18 | 1999-11-23 | Xilinx, Inc. | Method and system for HDL global signal simulation and verification |
US6078735A (en) * | 1997-09-29 | 2000-06-20 | Xilinx, Inc. | System and method for generating memory initialization logic in a target device with memory initialization bits from a programmable logic device |
US6243849B1 (en) * | 1998-03-13 | 2001-06-05 | Lsi Logic Corporation | Method and apparatus for netlist filtering and cell placement |
US7389487B1 (en) * | 1998-04-28 | 2008-06-17 | Actel Corporation | Dedicated interface architecture for a hybrid integrated circuit |
US6492833B1 (en) * | 1998-04-30 | 2002-12-10 | Altera Corporation | Configurable memory design for masked programmable logic |
US6219819B1 (en) * | 1998-06-26 | 2001-04-17 | Xilinx, Inc. | Method for verifying timing in a hard-wired IC device modeled from an FPGA |
US6334169B1 (en) | 1998-09-30 | 2001-12-25 | International Business Machines Corporation | System and method for improved bitwrite capability in a field programmable memory array |
US6311316B1 (en) * | 1998-12-14 | 2001-10-30 | Clear Logic, Inc. | Designing integrated circuit gate arrays using programmable logic device bitstreams |
US6245634B1 (en) | 1999-10-28 | 2001-06-12 | Easic Corporation | Method for design and manufacture of semiconductors |
US6331733B1 (en) | 1999-08-10 | 2001-12-18 | Easic Corporation | Semiconductor device |
US6236229B1 (en) | 1999-05-13 | 2001-05-22 | Easic Corporation | Integrated circuits which employ look up tables to provide highly efficient logic cells and logic functionalities |
US6194912B1 (en) | 1999-03-11 | 2001-02-27 | Easic Corporation | Integrated circuit device |
US6453447B1 (en) | 1999-08-19 | 2002-09-17 | Aeroflex Utmc Microelectronic Systems Inc. | Method for fabricating integrated circuits |
JP4642304B2 (ja) * | 1999-11-29 | 2011-03-02 | セロツト・インコーポレーテツド | 汎用のハードウエアデバイス及び方法とそれと共に使用するツール |
US7185293B1 (en) | 1999-11-29 | 2007-02-27 | Cellot, Inc. | Universal hardware device and method and tools for use therewith |
US6331790B1 (en) | 2000-03-10 | 2001-12-18 | Easic Corporation | Customizable and programmable cell array |
US6756811B2 (en) | 2000-03-10 | 2004-06-29 | Easic Corporation | Customizable and programmable cell array |
US6629308B1 (en) * | 2000-07-13 | 2003-09-30 | Xilinx, Inc. | Method for managing database models for reduced programmable logic device components |
US6490707B1 (en) * | 2000-07-13 | 2002-12-03 | Xilinx, Inc. | Method for converting programmable logic devices into standard cell devices |
US6577158B2 (en) * | 2001-01-31 | 2003-06-10 | Stmicroelectronics, Inc. | Interconnect circuitry for implementing bit-swap functions in a field programmable gate array and method of operation |
US6742172B2 (en) * | 2002-03-29 | 2004-05-25 | Altera Corporation | Mask-programmable logic devices with programmable gate array sites |
WO2005001724A2 (en) * | 2003-06-23 | 2005-01-06 | Altera Corporation | Method for programming a mask-programmable logic device and device so programmed |
US6952813B1 (en) | 2003-07-30 | 2005-10-04 | Xilinx, Inc. | Method and apparatus for selecting programmable interconnects to reduce clock skew |
US7038490B1 (en) * | 2003-09-12 | 2006-05-02 | Lattice Semiconductor Corporation | Delay-matched ASIC conversion of a programmable logic device |
US6996795B2 (en) * | 2003-12-04 | 2006-02-07 | International Business Machines Corporation | Data processing in digital systems |
US7260807B2 (en) * | 2003-12-12 | 2007-08-21 | Synopsys, Inc. | Method and apparatus for designing an integrated circuit using a mask-programmable fabric |
US7100142B2 (en) * | 2004-04-07 | 2006-08-29 | Synopsys, Inc. | Method and apparatus for creating a mask-programmable architecture from standard cells |
US7707472B1 (en) | 2004-05-17 | 2010-04-27 | Altera Corporation | Method and apparatus for routing efficient built-in self test for on-chip circuit blocks |
US7278122B2 (en) * | 2004-06-24 | 2007-10-02 | Ftl Systems, Inc. | Hardware/software design tool and language specification mechanism enabling efficient technology retargeting and optimization |
US7243329B2 (en) * | 2004-07-02 | 2007-07-10 | Altera Corporation | Application-specific integrated circuit equivalents of programmable logic and associated methods |
US7373631B1 (en) * | 2004-08-11 | 2008-05-13 | Altera Corporation | Methods of producing application-specific integrated circuit equivalents of programmable logic |
US7401203B2 (en) * | 2004-09-14 | 2008-07-15 | International Business Machines Corporation | Method for wiring allocation and switch configuration in a multiprocessor environment |
US7620924B2 (en) * | 2005-03-14 | 2009-11-17 | Lsi Corporation | Base platforms with combined ASIC and FPGA features and process of using the same |
US7509602B2 (en) * | 2005-06-02 | 2009-03-24 | Eve S.A. | Compact processor element for a scalable digital logic verification and emulation system |
US7373630B1 (en) * | 2005-12-12 | 2008-05-13 | Altera Corporation | Methods for improved structured ASIC design |
US8161469B1 (en) * | 2005-12-13 | 2012-04-17 | Altera Corporation | Method and apparatus for comparing programmable logic device configurations |
US7800919B2 (en) * | 2006-03-24 | 2010-09-21 | Rockwell Automation Technologies, Inc. | Programmable routing module |
US8629006B2 (en) * | 2006-12-05 | 2014-01-14 | Agate Logic, Inc. | Hybrid integrated circuits and their methods of fabrication |
US20080252622A1 (en) * | 2007-04-16 | 2008-10-16 | Tpo Displays Corp. | Systems for displaying images and driving method thereof |
US8365111B2 (en) * | 2008-02-29 | 2013-01-29 | Et International, Inc. | Data driven logic simulation |
US8667437B2 (en) * | 2008-03-17 | 2014-03-04 | Xilinx, Inc. | Creating a standard cell circuit design from a programmable logic device circuit design |
US20090313413A1 (en) * | 2008-06-12 | 2009-12-17 | Yariv Aridor | method for wiring allocation and switch configuration in a multiprocessor environment |
US9762246B2 (en) | 2011-05-20 | 2017-09-12 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device with a storage circuit having an oxide semiconductor |
CN109684653B (zh) * | 2017-10-19 | 2023-12-22 | 成都海存艾匹科技有限公司 | 含有可编程计算单元的可编程门阵列封装 |
CN112528583B (zh) * | 2020-12-18 | 2022-04-01 | 广东高云半导体科技股份有限公司 | 多线程综合方法及用于fpga开发的综合系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109353A (en) * | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
US5329470A (en) * | 1988-12-02 | 1994-07-12 | Quickturn Systems, Inc. | Reconfigurable hardware emulation system |
US4978633A (en) * | 1989-08-22 | 1990-12-18 | Harris Corporation | Hierarchical variable die size gate array architecture |
US5189629A (en) * | 1990-06-06 | 1993-02-23 | Hughes Aircraft Company | Method of logic gate reduction in a logic gate array |
US5224056A (en) * | 1991-10-30 | 1993-06-29 | Xilinx, Inc. | Logic placement using positionally asymmetrical partitioning algorithm |
US5337255A (en) * | 1991-10-30 | 1994-08-09 | Xilinx, Inc. | Method for implementing set/reset synchronously or asynchronously in a programmable logic device |
US5349248A (en) * | 1992-09-03 | 1994-09-20 | Xilinx, Inc. | Adaptive programming method for antifuse technology |
-
1994
- 1994-04-27 TW TW083103811A patent/TW396312B/zh not_active IP Right Cessation
- 1994-12-22 JP JP6319769A patent/JP2614986B2/ja not_active Expired - Lifetime
- 1994-12-29 KR KR1019940040739A patent/KR0148405B1/ko not_active IP Right Cessation
-
1995
- 1995-06-20 US US08/492,604 patent/US5526278A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH07254019A (ja) | 1995-10-03 |
TW396312B (en) | 2000-07-01 |
KR0148405B1 (ko) | 1998-11-16 |
US5526278A (en) | 1996-06-11 |
KR950020224A (ko) | 1995-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2614986B2 (ja) | フィールドプログラム可能なゲートアレイ・インプリメンテーションをマスクプログラム可能な論理セル・インプリメンテーションに変換するための方法と装置 | |
US6035106A (en) | Method and system for maintaining hierarchy throughout the integrated circuit design process | |
US5604680A (en) | Virtual interface representation of hierarchical symbolic layouts | |
Staepelaere et al. | SURF: Rubber-band routing system for multichip modules | |
US7117469B1 (en) | Method of optimizing placement and routing of edge logic in padring layout design | |
US6530071B1 (en) | Method and apparatus for tolerating defects in a programmable logic device using runtime parameterizable cores | |
EP1301867A2 (en) | Modular design method and system for programmable logic devices | |
US20040261052A1 (en) | Method for programming a mask-programmable logic device and device so programmed | |
Chang et al. | Postlayout logic restructuring using alternative wires | |
US8739102B1 (en) | Method and apparatus for designing a system on multiple field programmable gate array device types | |
US10891413B1 (en) | Incremental initialization by parent and child placer processes in processing a circuit design | |
US4607339A (en) | Differential cascode current switch (DCCS) master slice for high efficiency/custom density physical design | |
US20050268268A1 (en) | Methods and systems for structured ASIC electronic design automation | |
US6530070B2 (en) | Method of constraining non-uniform layouts using a uniform coordinate system | |
US7096444B2 (en) | Representing device layout using tree structure | |
US20210357567A1 (en) | On-the-fly multi-bit flip flop generation | |
Raaijmakers | Run-Time Partial Reconfiguration on the Virtex-II Pro | |
Gokhale et al. | The logic description generator | |
US7117467B2 (en) | Methods for optimizing package and silicon co-design of integrated circuit | |
US6734046B1 (en) | Method of customizing and using maps in generating the padring layout design | |
Dutt et al. | Design synthesis and silicon compilation | |
US11704467B2 (en) | Automated balanced global clock tree synthesis in multi level physical hierarchy | |
US4815016A (en) | High speed logical circuit simulator | |
US6434728B1 (en) | Activation path simulation equipment and activation path simulation method | |
Carrig et al. | A clock methodology for high-performance microprocessors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19970108 |