JPH08508599A - 再構成可能な論理システムのための仮想相互接続 - Google Patents
再構成可能な論理システムのための仮想相互接続Info
- Publication number
- JPH08508599A JPH08508599A JP6522421A JP52242194A JPH08508599A JP H08508599 A JPH08508599 A JP H08508599A JP 6522421 A JP6522421 A JP 6522421A JP 52242194 A JP52242194 A JP 52242194A JP H08508599 A JPH08508599 A JP H08508599A
- Authority
- JP
- Japan
- Prior art keywords
- logic
- module
- fpga
- pins
- logic module
- 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
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/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design 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)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
(57)【要約】
編成技術が、仮想線を使用して装置ピン制限を克服する。仮想線は、多重論理線の間で各物理線を知的に多重化し、最大クロック周波数においてこれらの連結をパイプライン化することにより、ピン制限を克服する。仮想線は、使用可能な帯域幅を増大させ、フィールドプログラマブルゲートアレイ(FPGA)を使用する論理エミュレーションシステムにおいてゲート効用に課せられた絶対限界を緩和する。「ソフトワイヤ」コンパイラは、静的経路指定を使用し、最小ハードウェアサポートに拠る。技術は、任意のトポロジーとFPGA装置に適用される。
Description
【発明の詳細な説明】
再構成可能な論理システムのための仮想線
発明の背景
フィールドプログラマブルゲートアレイ(FPGA)ベース論理エミュレータ
は、加速ソフトウェアシミュレータよりも4〜6桁高速のクロック速度において
複合論理設計をエミュレートすることができる。いったん構成されると、FPG
Aベースエミュレータは、特殊目的プロセッサーの異種ネットワークになり、各
FPGAプロセッサーは、具体的に、全シミュレート回路の区分を協働的に実行
するように設計される。並列プロセッサーとして、これらのエミュレータは、そ
れらの相互接続トポロジー(ネットワーク)、目標FPGA(プロセッサー)、
及びサポートソフトウェア(コンパイラ)を特徴とする。相互接続トポロジーは
、FPGA装置と経路指定資源(即ち、フルクロスバー、2次元メッシュ、等)
の配置を記述する。重要な目標FPGA特性は、ゲートカウント(計算資源)、
ピンカウント(通信資源)、及びマッピング効率を含む。サポートソフトウェア
は、拡張性であり、ネットリストトランスレータ、論理オプティマイザ、技術マ
ッパー、大域及びFPGA特定パーティショナー、プレーサー、及びルーターを
組み合わせる。
FPGAベース論理エミュレーションシステムは、数千〜数百万ゲートの範囲
の複雑性設計に対して開発された。一般に、これらのシステムのためのソフトウ
ェアは、最も複雑な構成要素と見なされる。2次元メッシュと部分クロスバート
ポロジーにおいてFPGΛを相互接続するエミュレーションシステムが開発され
た。加えて、相互接続への階層的接近方法が開発された。別の接近方法は、最近
隣及びクロスバー相互接続の組
み合わせを使用する。論理区分は、一般に、区分配置に続いて、FPGAに結線
される。
静的に経路指定されたネットワークは、通信があらかじめ決められる時常に使
用される。静的とは、すべてのデータ移動が決定され、コンパイル時に最適化さ
れるという事実を言う。この機構は、マルチプロセッサー環境において実時間通
信をスケジュールする際に使用された。静的経路指定の他の関連用途としては、
FPGAベース収縮アレイがあり、超大形シミュレーションサブシステム(VL
SS)において、論理評価をスタガーするために時分割多重を使用する大量並列
シミュレーションエンジンがある。
先行システムにおいて、回路切換え技術が、一方のチップから別のチップに出
力信号を設けるために使用される。一方のチップの所与の出力ピンは、別のチッ
プの所与の入力ピンに直接に連結され、又はバスで専用タイムスロット中設けら
れる。バスによる信号の全パスは、割り当てバスピンとタイムスロットを使用し
て専用化され、任意のタイムスロット中直接連結を設ける。全資源は、こうして
、出力ピンから入力ピンに信号を送信するために使用される。
発明の概要
現存するFPGAベース論理エミュレータは、インターチップ通信帯域幅の制
限を被り、ゲート効用は低い(10〜20パーセント)。この資源不平衡は、特
別の論理設計をエミュレートするために必要なチップ数を増大させ、これにより
、信号はより多くのチップ境界を交差しなければならないためにエミュレーショ
ン速度を減少させ、システム費用を増大させる。先行技術のエミュレータは、各
FPGAピン(物理線)を
単一エミュレート信号(論理線)に専用化するために、潜在的な通信帯域幅の部
分を使用する。これらの論理線は、同時にアクティブではなく、単にエミュレー
ションクロック速度において切り換えられる。
発明の好ましい実施態様は、仮想線を使用して装置ピン制限を克服するための
編成技術を提示する。この方法は、任意のトポロジー及びFPGA装置に適用さ
れるが、その中の幾つかは実質的に有力である。発明の好ましい実施態様は論理
エミュレーションに集中するが、仮想線の技術はまた、再構成可能な論理の他の
領域に適用可能である。そのような再構成可能な論理システム(RLS)として
は、限定的ではないが、シミュレーション加速システム、急速プロトタイピング
システム、多重FPGAシステムと仮想計算システムが挙げられる。
仮想線は、多重論理線の中で各物理線を知的に多重化し、FPGAの最大クロ
ック周波数においてこれらの連結をパイプラインすることにより、ピン制限を克
服する。仮想線は、一方のFPGAにおける論理出力から別のFPGAにおける
論理入力への連結を表現する。仮想線は、使用帯域幅を増大させるだけでなく、
ゲート効用に課せられた絶対制限を緩和させる。帯域幅における合成的な改良は
、大域相互接続の必要性を縮小し、(最近隣のような)低次元インターチップ連
結の有効な使用を許容する。好ましい実施態様において、「ソフトウェア」コン
パイラは、静的経路指定を使用し、最小ハードウェアサポートに拠る。仮想線は
、エミュレーション速度の大きな減速なしに、FPGAゲート効用を80%超増
大させる。
発明の好ましい実施態様において、FPGA論理エミュレーションシステムは
、複数のFPGAモジュールを具備する。各モジュールは、好
ましくは、チップ間で信号を通信するための多数のピンを有するチップである。
また、FPGAピン間にインターチップ連結がある。加えて、ソフトウェア又は
ハードウェアコンパイラは、エミュレート回路の区分をエミュレートするように
各FPGAチップをプログラムし、エミュレート回路の区分の間の相互接続は、
FPGAピン及びインターチップ連結を通して設けられる。エミュレート回路の
区分は、FPGAチップにおけるピン数を超える他の区分への多数の相互接続を
有する。チップは、ピンによる時分割多重式で仮想相互接続を通して通信するよ
うにプログラムされる。インターチップ通信は、中間FPGAチップを介した相
互接続を含む。
FPGAチップは、仮想相互接続により通信するためのマルチプレクサーとし
て役立っようにプログラムされたゲートを具備する。代替的に、FPGAチップ
は、プログラマブルゲートとは分離したハードワイヤマルチプレクサーを具備す
る。相互接続は、バスのピン間で又は他の相互接続ネットワーク間でポイントツ
ーポイントである。FPGAチップのピンは、チップ間の信号が中間FPGAを
通して経路指定される他のFPGAチップのピンに直接に連結される。FPGA
チップはまた、エミュレーションクロックサイクル内で位相動作するようにプロ
グラムされ、インターチップ通信は各位相内で行われる。
コンパイラは、相互区分従属性に基づいて、エミュレートされた回路の区分選
択と位相分割を最適化する。
データはまた、仮想線においてデータを多重化することにより、各位相中、F
PGAの外部のメモリ要素からアクセスされる。
発明の好ましい実施態様において、FPGAチップは、ゲートのアレ
イとして論理セル、シフトレジスター、及び幾つかのマルチプレクサーを具備す
る。ゲートは、論理回路をエミュレートするようにプログラム可能である。各シ
フトレジスターは、プログラムゲートアレイから複数の出力を受信し、多重化方
式で単一ピンを通して出力を通信する。FPGAチップにおけるゲートの部分は
、仮想連結により通信するために、シフトレジスターとマルチプレクサーとして
役立つようにプログラムされる。
発明の好ましい実施態様において、コンパイラは、エミュレートされた回路の
区分をエミュレートするために、エミュレートされた論理回路を区分化するため
のパーティショナーと、各FPGAをプログラムするためのプログラミング機構
とを使用して、FPGA論理エミュレーションシステムを構成する。区分は、個
別FPGAチップにプログラムされる。コンパイラは、一つ以上の共通ピンに対
応するエミュレートされた回路の区分間の仮想相互接続を生成し、仮想相互接続
に沿った信号は、共通ピンを通して時分割多重化される。
コンパイラは、従属性アナライザーと、エミュレーションクロックを位相に分
割するためのデバイダーとを具備し、位相分割は、区分従属性とメモリ割り当て
の関数である。位相中、プログラム論理関数が実行され、そして信号は、FPG
Aチップ間を送信される。コンパイラはまた、中間チップを通してチップ間で信
号を経路指定するために、FPGAチップをプログラムするためのルーターを具
備する。特に、経路指定された信号は、仮想線である。
18KゲートSPARCLEマイクロプロセッサーと86KゲートAlewif
e Cache Compiler(A−1000)の2つ
の複合設計のコンパイルの結果により、仮想線の使用は、クロスバー相互接続を
仮定して、SPARCLEに対して3の因子、A−1000に対して10の因子
だけFPGAチップカウントを減少させることが示される。仮想線により、2次
元トーラス相互接続が、チップカウントの小増加のみ(A−1000に対して1
7パーセント、SPARCLEに対して0パーセント)に対して使用される。仮
想線がないと、全クロスバーをトーラス相互接続で置き換える費用は、SPAR
CLEに対して300パーセントを超え、そしてA−1000に対して事実上不
可能である。エミュレーション速度は、非仮想線の場合と匹敵され、SPARC
LEに対して2〜8MHZの範囲であり、A−1000に対して1〜3MHZの
範囲を取る。いずれの設計も帯域幅を制限されず、その最長経路によっても拘束
されない。仮想線では、低次元ネットワークの使用は、ネットワーク直径に比例
して−2次元トーラスにおいてSPARCLEに対して2の因子、A−1000
に対して6の因子−エミュレーション速度を低減させる。
図面の簡単な説明
構成の多様な新規の詳細と部分の組み合わせを含む発明の上記及び他の特徴は
、添付の図面を参照してさらに詳細に記載され、請求の範囲において指摘される
。発明を具現する特定の仮想線技術は、発明の制限としてではなく、例示として
のみ示される。この発明の原理と特徴は、発明の範囲に反することなく、いろい
ろな多数の実施態様において使用される。
第1図は、典型的な先行技術の論理エミュレーションシステムのブロック図で
ある。
第2図は、第1図のフィールドプログラマブルゲートアレイ(FPGA)10
の間の先行技術のハードワイヤ相互接続システムのブロック図である。
第3図は、第1図のFPGA10の間の仮想線相互接続システムのブロック図
である。
第4図は、エミュレーション位相クロックスキームのグラフ表現図である。
第5図は、好ましいソフトウェアコンパイラの流れ図である。
第6図は、好ましいシフトレジスター又はシフトループアーキテクチャーのブ
ロック図である。
第7図は、第6図の中間ホップ、単一ビット、パイプライン段階のブロック図
である。
第8図は、FPGA区分サイズの関数としてピンカウントを示すグラフである
。
第9図は、最適区分サイズの判定を示すグラフである。
第10図は、トーラスとクロスバー構成のためのエミュレーション速度対ピン
カウントを示すグラフである。
発明の好ましい実施態様の詳細な説明
発明の見地はシミュレータシステムに適用可能であるが、発明は、エミュレー
タが周辺回路に直接に連結されるエミュレータシステムにおいてとりわけ都合が
良い。インターチップ通信用のピンは、インターチップ信号を多重化することに
より限定されるが、入力/出力信号は、周辺回路への連結のために専用ピンを割
り当てられる。
第1図は、典型的な先行技術の論理エミュレーションシステム5のブ
ロック図である。システム5の性能は、ネットリストによって記述された論理設
計を、FPGA10の相互接続アレイに区分化することにより達成される。この
アレイは、設計コンフィギュレーションをダウンロードすることができるホスト
ワークステーション2に連結され、論理設計のための目標システム8に直接に配
線される。メモリ要素6はまた、FPGA10のアレイに連結される。論理回路
に直接に構成された各FPGAにおけるネットリスト区分(以後FPGA区分)
は、その後、ハードウェア速度において実行される。
第2図に示された現存するアーキテクチャーにおいて、論理コンフィギュレー
ションとネットワーク連結性は、エミュレーションの持続時間ぼ間一定のままで
ある。第2図は、6つの物理線15a−fに割振られた6つの論理線11a−f
、19’a−fの例を示す。各エミュレートされたゲートは、一つのFPGA等
価ゲートにマップされ、そして各エミュレータ信号は、一つのFPGAピンに割
振られる。こうして、区分が実行可能であるために、区分ゲート及びピン必要条
件は、利用可能なFPGA資源を超えてはならない。この制約は、各FPGA区
分に対して次の可能なシナリオを生ずる。
1.ゲート限定:未使用ゲートなし、未使用ピンあり
2.ピン限定:未使用ピンなし、未使用ゲートあり
3.無制限:未使用FPGAピンとゲート
4.平衡:未使用ピン又はゲートなし
一般回路を利用可能なFPGA装置にマップするために、区分は、支配的に、
ピン限定である。すべての利用可能なゲートは、それらをサポートするためのピ
ン資源の欠如のために、使用することができない。ゲ
ート資源の低効用は、エミュレーションのために必要とされたFPGA10の数
と特定設計をエミュレートするために要求された時間を増大させる。ピン限界は
、任意のFPGAゲートサイズが設けることができる最大使用可能ゲートカウン
トに厳しい上限を設定する。この不一致は、技術が拡大するにつれ悪化する。傾
向(及び幾何形状)としては、利用可能なゲートカウントは、利用可能なピンカ
ウントよりも高速に増大していることが示される。
第3図に示された発明の好ましい実施態様において、仮想線は、FPGAベー
ス論理エミュレにおけるピン限定を克服するために使用される。第3図は、単一
物理線15xを共有する6つの論理線11a−fの例を示す。物理線15xは、
以下に詳細に記載される、2つのパイプラインシフトループ20a、20bの間
で多重化13される。パイプライン化とは、特定位相における信号ストリームを
言及し、そして多重化とは、位相間の信号を言及する。仮想線は、一方のFPG
A10における論理出力11aと別のFPGA10’における論理入力19’a
の間の連結を表現する。パイプライン化、静的経路指定された通信ネットワーク
を介して確立されると、これらの仮想線は、多重エミュレーション信号(論理線
)の間でFPGAピン資源(物理線)15の使用を多重化13することにより、
利用可能なオフチップ通信帯域幅を増大させる。
仮想線は、ピン制限を効果的に緩和させる。低いピンカウントはエミュレーシ
ョン速度を減少させるが、施行されなければならない厳しいピン制約はない。エ
ミュレーション速度は、システムサイズにおいて十分に大きな低減があるならば
増大される。仮想線を使用するゲートオーバーヘッドは、小さく、純粋に結線さ
れた実現においては使用されないゲー
トを具備する。さらに、仮想線の柔軟性により、エミュレーションアーキテクチ
ャーは各論理設計応用に対して平衡化される。
論理エミュレータ又は再構成可能な論理システムは、クロックを有する論理設
計をエミュレートする。エミュレーション又は再構成可能な論理システムにおけ
る対応クロックは、エミュレーションクロックである。
FPGAピン(物理線)15へのエミュレーション信号(論理線)11、19の
1対1割振りは、エミュレーションクロック周波数がFPGA技術の潜在的クロ
ック周波数よりも1又は2桁低く、すべての論理線11、19が同時にアクティ
ブでないために、利用可能なオフチップ帯域幅を利用しない。
物理線15をパイプライン化及び多重化することにより、仮想線は、使用可能
な帯域幅を増大させるように創設される。FPGA技術の最大周波数において物
理線15をクロックすることにより、幾つかの論理連結は、同一物理資源を共有
する。
論理設計において、評価が、システム入力からシステム出力に流れる。
非組み合わせループによる同期設計において、この流れは、指向された非輪状グ
ラフとして表現される。こうして、基礎となる論理回路の知的従属性分析を通し
て、FPGA区分の間の論理値は、一度伝送される必要があるのみである。さら
に、回線通信は固有に静的であるために、通信パターンは、予測可能な方式で反
復される。
発明の好ましい実施態様において、仮想線は、「ソフトワイヤ」コンパイラで
サポートされる。このコンパイラは、論理信号従属性を分析し、FPGA通信を
静的にスケジュールし経路指定する。それから、これらの結果は、(FPGA技
術において)静的に経路指定されたネットワー
クを構成するために使用される。このハードウェアは、シーケンサーとシフトル
ープから成る。シーケンサーは、分散有限状態機械である。シーケンサーは、論
理線を所定の順序で特殊シフトレジスター21、シフトループ20にストローブ
することにより、FPGA間の仮想連結を確立する。シフトループ20は、マル
チプレクサー13として役立ち、以下に詳細に記載される。それから、シフトル
ープ20は、シーケンスによって確立された所定のスケジュールにより、物理線
15に交互連結される。
仮想線の使用は、同期論理に限定される。非同期信号は、専用FPGAピンに
「結線」されなければならない。この限定は、非同期ループにおいて従属性を静
的に判定することができないことにより課せられる。さらに、同期設計における
(フリップフロップの如く)各組み合わせループは、単一FPGA区分に完全に
包含される。説明の単純性と明確性のために、エミュレートされた論理は単一大
域クロックを有することが仮定される。
発明の好ましい実施態様において、仮想線は、目標FPGA装置と相互接続ト
ポロジーとは独立に、完全エミュレーションソフトウェアシステムの文脈におい
て実現される。この実施態様はソフトウェアに主に集約されるが、発明の究極的
なゴールは、低費用、再構成可能なエミュレーションシステムである。
好ましい実施態様において、信号は、複数のピンとタイムスロットを中間FP
GAを通して割り当てることにより、各FPGAを通して経路指定される。この
実施態様は、クロスバーの使用を回避する。各FPGAを通して信号を経路指定
することにより、FPGAをクロスバーに連
結する長線はないために、速度は増大される。
先行システムと対照的に、発明の好ましい実施態様は、源からあて先への信号
パスを専用化しない。とりわけ、発明の好ましい実施態様は、第1信号が伝搬す
る線が、第1信号がそのあて先に到着する前に第2信号によって再使用される静
的経路指定パケット切り換えを使用する。こうして、信号パスにおける単一リン
クのみが、任意のシステムクロック周期中専用化される。事実、FPGAは、高
優先信号が、競合低優先信号の前に、線上を伝搬するように信号を緩衝する。
第4図は、エミュレーション位相クロックスキームをグラフ的に表現する。エ
ミュレーションクロック周期52xは、エミュレートされる論理設計のクロック
周期である。このクロックは、多重化を蓄積するために評価位相(54a、54
b、54c)に分割される。多重位相は、エミュレート設計におけるフリップフ
ロップ間の組合せ論理が、多重FPGA区分にわたって分裂され、そして垂直線
の多重化が、区分を通ったすべての信号の直接の通過を防止するために必要とさ
れる。位相では、単一ピンにより、各位相毎に種々の論理信号を送信することが
できる。位相54内で、評価が、各区分内で達成され、そしてその後、結果は、
他のFPGA区分に通信される。3つの位相がエミュレーション周期毎に示され
るが、より多数又は少数の位相も使用されることが理解される。
位相54の開始において、各FPGA区分の論理出力は、入力シフトループに
おける論理入力によって決定される。位相54の最後に、出力は、パイプライン
化シフトループと中間ホップ段階により他のFPGA区分に送信される。第4図
に示された如く、これらのパイプラインは、FPGAの最大周波数においてパイ
プラインクロック56でクロックさ
れる。エミュレーションクロック周期52x内のすべての位相54が完了した後
、エミュレーションクロック52は、目標回路のすべてのフリップフロップをク
ロックするために刻時される。
ソフトワイヤコンパイラへの入力は、エミュレートされる論理設計のネットリ
スト105、目標FPGA装置特性、及び相互接続トポロジーから成る。それか
ら、コンパイラは、エミュレーターにダウンロードされるコンフィギュレーショ
ンビットストリームを生成する。第5図は、編成ステップの流れ図である。簡単
には、これらのステップは、目標FPGA技術へのネットリストの翻訳及びマッ
プ(ステップ110)と、ネットリストの区分化(ステップ120)と、相互接
続トポロジーへの区分の配置(ステップ130、140)と、インターノード通
信パスの経路指定(ステップ150、160)と、最後に、FPGA特定自動配
置及び経路指定(APR) (ステップ170)を含む。
エミュレートされる入力ネットリスト105は、通常、ハードウェア記述言語
又は概要捕捉プログラムで発生される。このネットリスト105は、FPGAマ
クロのライブラリへ翻訳及びマップされなければならない(ステップ110)。
区分ゲートカウントが目標FPGAの特性を正確に反映するように、区分化前に
この動作を行うことが重要である。論理最適化ツールはまた、(システムを一つ
の大きなFPGAとして考えて)目標アーキテクチャーのためのネットリストを
最適化するために、この点において使用される。
ネットリストを目標アーキテクチャーにマップ(ステップ110)した後、ネ
ットリストは、目標FPGAに適合される論理ブロックに区分化されなければな
らない(ステップ120)。ハードワイヤのみでは、
各区分は、目標装置よりも少数のゲートと少数のピンを有さなければならない。
仮想線では、全ゲートカウント(論理ゲートと仮想配線オーバーヘッド)は、目
標FPGAゲートカウントを超えてはならない。好ましい実施態様は、InCA
,Inc.によって製造されるConcept SIlicon パーティショ
ナーを使用する。このパーティショナーは、区分ピンカウントを最小にするため
に、最小カット及びクラスター化技術でK法区分化を行う。
組み合わせ信号は、エミュレートクロックサイクル中幾つかのFPGA区分を
通過するために、すべての信号を同時にスケジュールする準備はない。好ましい
実施態様は、いったん従属するすべての入力がスケジュールされると、区分出力
を単にスケジュールすることにより、この問題を解決する(ステップ130)。
出力は、その入力の変化が出力を変化させるならば、入力に従属する。入力対出
力従属性を決定するために、論理ネットリストが分析され、それらがどの区分入
力に従属するかを判定するために区分出力からバックトレースする。バックトレ
ースする際に、すべての出力は、ゲートライブラリー部分に対してすべての入力
に従属し、出力はラッチ(又はレジスター)ライブラリー部分に対して入力に従
属しないことが仮定される。区分境界に交差する組み合わせループがないならば
、この分析は、大域ルーターによって使用される、指向された非輪状グラフ、信
号流グラフ(SFC)を生成する。
論理区分化に続いて、個別FPGA区分は、特定FPGAに配置されなければ
ならない(ステップ140)。理想的な配置は、システム通信を最小にし、こう
して、より少数の仮想線サイクルが情報を伝送することを必要とする。好ましい
実施態様は、最初に、費用低減スワップを伴
うランダム配置を行い、その後、さらに、シミュレートアニーリングで最適化す
る。
大域経路指定(150)中、各論理線は、位相にスケジュールされ、(物理線
におけるその位相のパイプラインクロックの一サイクルに対応する)パイプライ
ンタイムスロットを割り当てられる。スケジュールの前に、各論理線の臨界性は
、(従属性分析によって生成された信号流グラフに基づいて)判定される。各位
相において、ルーターは、最初に、スケジュール可能な線を判定する。線は、そ
れが従属するすべての線が前位相においてスケジュールされたならば、スケジュ
ール可能である。ルーターは、それから、できる限り多数のスケジュール可能な
信号を経路指定するためにピン効用に基づいて費用関数で最短パス分析を使用し
、最もクリティカル的な信号を最初に経路指定する。経路指定されないスケジュ
ール可能な信号は、次の位相に遅延される。
いったん経路指定が完了されるならば、適切な大きさのシフトループ及び関連
論理が、各区分に追加され、内部FPGAハードウェア記述を完成する(ステッ
プ160)。この点において、各FPGAに対して一つのネットリストがある。
これらのネットリストは、その後、コンフィギュレーションビットストリームを
生成する(ステップ195)ために、販売者特性FPGA地点及び経路ソフトウ
ェアで処理される(ステップ170)。
技術的に、(仮想配線に対して最適化されたFPGAを再設計することを考え
ないならば)仮想線の実現のための必要なハードウェアサポートはない。必要な
「ハードウェア」は、FPGA装置のコンフィギュレーションに直接にコンパイ
ルされる。こうして、任意の現存するFPG
Aベース論理エミュレーションシステムは、仮想配線の利点を得る。仮想線は、
位相中、仮想線におけるデータを多重化することにより、FPGAの外部のメモ
リ要素からデータを格納し、検索するために使用される。仮想線のためのハード
ウェアサポートを実現するための多数の可能な方法がある。好ましい実施態様は
、単純かつ効率的な実現を使用する。仮想線をサポートする付加論理は、完全に
、シフトループと少量の位相制御論理とから成る。
第6図は、好ましいシフトループアーキテクチャーのブロック図である。シフ
トループ20は、イネーブルされたシフトイン及びシフトアウトポートを有する
循環性ロード可能シフトレジスターである。各シフトレジスター21は、ロード
、記憶、シフト、駆動、又は回転の一つ以上の動作を行うことができる。ロード
動作は、シフトループへの論理出力をストローブする。記憶動作は、シフトルー
プからの論理入力を駆動する。シフト動作は、物理入力からシフトループへデー
タをシフトする。駆動動作は、シフトループの最終ビットにより物理出力を駆動
する。回転動作は、シフトループにおいてビットを回転させる。好ましい実施態
様において、シフトループ20へロードされたすべての出力は、同一最終あて先
FPGAを有さなければならない。上記の如く、論理出力は、いったんすべての
対応する従属入力が記憶されたならばストローブされる。回転の目的は、最終あ
て先に達した入力を保存し、シフトループ長が位相サイクルカウントに正確に一
致しない時、パイプラインにおける空ギャップの必要性を除去することである。
このように、信号は、適切な位相を待機するために、シフトループ出力からシフ
トループ入力に回転される。この実現において、記憶動作はディスエーブルされ
ないこと
に注意せよ。
シフトループ20は、多重出力動作を行うために再スケジュールされる。しか
し、エミュレートされる内部ラッチは論理入力に依存するために、入力は、エミ
ュレーションクロックの刻時まで記憶される必要がある。
多重ホップが必要とされる(即ち、メッシュ)ネットワークに対して、常にシ
フトし時に駆動する1ビットシフトレジスター21は、中間段階に対して使用さ
れる。第7図は、中間ホップパイプライン段階のブロック図である。これらの段
階は、FPGAホップ当たり一つずつ連鎖され、源FPGA10における出力シ
フトループをあて先FPGA10’における入力シフトループに連結するパイプ
ラインを構築する。
位相制御論理は、好ましい実施態様において基本実行時間カーネルである。こ
のカーネルは、位相イネーブル及びストローブ(又はロード)線、パイプライン
クロック、及びエミュレーションクロックを制御するシーケンサーである。位相
イネーブル線は、FPGAピン連結へのシフトループをイネーブルするために使
用される。位相ストローブ線は、正しい位相においてシフトループをストローブ
する。この論理は、所与の位相仕様に対して特に最適化された状態機械で発生さ
れる。
実験結果
上記のシステムコンパイラは、従属性アナライザー、大域プレーサー、大域ル
ーターを開発し、InCAパーティショナーを使用することにより、実現された
。複合設計を最適化するために数時間を要するパーティショナーを除いて、SP
ARC2ワークステーションにおける実行回数は、通常、各段階に対して1〜1
5分であった。
仮想線の費用と利益を評価するために、SPARCLEとA−1000の2つ
の複合設計が、コンパイルされた。SPARCLEは、多重処理機能で強化され
た18KゲートSPARCマイクロプロセッサーである。Alewifeコンパ
イラ及びメモリ管理ユニット(A−1000)は、Alewifeマルチプロセ
ッサーのための86Kゲートキャッシュコンパイラであり、分散共有メモリ機械
は、Massachusetts Institute of Technol
ogyにおいて設計される。目標FPGAに対して、Xilinx3000及び
4000シリーズ(新4000Hシリーズを含む)と、Concurrent
Logic Cli6000シリーズが、考察された。この分析は、最終FPG
A特定APR段階を含まない。両アーキテクチャーに対して50パーセントのA
PRマッピング効率が仮定される。
次の分析において、Concurrent Logic ClI6000シリ
ーズFPGAに基づいた仮想線のFPGAゲート費用が、推定された。位相制御
論理は、(マッピング後)300ゲートであると仮定された。仮想線オーバーヘ
ッドは、シフトループにより測定される。Cli6000において、ビット段階
シフトレジスターは、5Kゲート部(Cs=3マップ化ゲート)において313
6セルの一つを取る。こうして、区分に対する全必要シフトレジスタービットは
、その時、入力数に等しい。メッシュ又はトーラスにおいて経路指定する時、中
間ホップは、ホップ毎1ビットを費やす。その時、ゲートオーバーヘッドは、Cs
X Sであり、この場合、Csはシフトレジスタービットの費用であり、そし
てSはビット数である。Sは、論理入力数Viと、物理線pが多重化される回数
Mpによって決定される(これは、シフトループ3状
態ドライバーと中間ホップビットを考慮に入れる)。その時、ゲートオーバーヘ
ッドは、近似的に、
Gatevw=Csx(Vi+ΣpMp)
である。論理出力の記憶は、論理出力が論理入力と重なるために、考慮されない
。
2つの試験設計をコンパイルする前に、通信必要条件が、利用可能なFPGA
技術と比較された。この比較に対して、各設計は、いろいろなゲートカウントに
対して区分化され、そしてピン必要条件が測定された。第8図は、ログーログス
ケールにおいてプロットされた、合成曲線を示す。区分ゲートカウントは、マッ
ピング非効率を表現するためにスケールされることに注意せよ。
設計曲線と技術曲線の両方は、ランダム論理における通信必要条件を推定する
ために使用される経験則であるRentの規則にあてはまる。Rentの規則は
、
pins2/pins1=(gates2/gate1)b
として表現される。ここで、pins2、gates2は、区分を言及し、そして
pins1、gates1は、下位区分を言及し、そしてbは、0.4〜0.7の
定数である。表1は、合成定数を示す。技術曲線に対して、0.5の定数は、F
PGAダイに対する面積対周囲にほぼ対応する。定数が小さければ小さいほど、
回路内の局所性は大きい。こうして、A−1000は、SPARCLEよりも局
所性が大きいが、より多くの全通信必要条件を有する。第8図が示す如く、SP
ARCLEとA−1000の両方は、FPGAサイズの任意の選定に対してピン
限定される。ピン限定区分サイズによる結線設計において、使用可能ゲートカウ
ントは、
利用可能なピン資源によってのみ決定される。例えば、100ピンを有する50
00ゲートFPGAは、1000SPARCLEゲート又は250A−1000
ゲートをわずかに使用する。
次に、両設計が、2次元トーラス、5000ゲート、100ピンFPGA、5
0パーセントマッピング効率の全クロスバー相互接続に対してコンパイルされた
。表2は、結線と仮想線の両方に対する結果を示す。トーラス、結線のみへのA
−1000のコンパイルは、区分化ソフトウェアでは実際的ではなかった。結線
の場合に対して獲得されたゲート効用は、類似の複雑さの設計において文献にお
ける報告に一致する。
関連したトレードオフを理解するために、結線ピン/ゲート制約と仮想線ピン/
ゲートトレードオフ曲線が、2つの設計のための区分曲線に対してプロットされ
た(第9図)。区分曲線と線曲線の交差点は、最適な区分とサイズを与える。こ
のグラフは、仮想線が、ピン資源に対してゲート資源を交換する柔軟性をいかに
付加するかを示す。
エミュレーションクロックサイクル時間TEは、
1.ホップ当たりの通信遅延tc
2.従属性グラフにおける最長パスの長さL
3.最長パスに沿った全FPGAゲート遅延TLi
4.すべての位相を横断したパイプラインサイクルの合計n
5.ネットワーク直径D(D=クロスバーに対して1)
6.平均ネットワーク距離kd(kd=クロスバーに対して1)
によって決定される。
位相と各位相におけるパイプラインサイクルの総数は、物理線競合と最大数の
区分を通過する組み合わせパスに直接に関連される。エミュレーションが待ち時
間支配されるならば、最適位相数は、Lであり、そして位相当たりのパイプライ
ンサイクルは、Dを超えてはならず、
n=LxD
を与える。
エミュレーションが帯域幅支配されるならば、全パイプラインサイクル(すべ
ての位相で合計された)は、少なくとも、
n=MAXp[(Vip/Pip)]
であり、この場合、VipとPipは、FPGA区分pに対する仮想及び物理線の
数である。(クロスバーで可能ではない)ネットワークにおけるホットスポット
があるならば、帯域幅支配遅延はより高い。SPARCLEとA−1000に対
するエミュレーション速度は、両方共、待ち時間支配された。
CLi6000仕様に基づいて、TL=250nsとtc=20ns(50MH
Zクロックに基づく)が仮定された。計算単独遅延成分と通信単独遅延成分が、
考察された。この二分法は、エミュレーション速度にお
いて下限と上限を与えるために使用される。
計算単独遅延成分は、
Tp=TL+tcxn
によって与えられ、ここで、nは、結線の場合に対して0である。
通信単独遅延成分は、
Tc=tcxn
によって与えられる。
表3は、クロスバートポロジーのための仮想線と結線に対する合成エミュレー
ション速度を示す。所与のエミュレーションクロック範囲は、2つの成分(下限
と上限)の総和と最小値に基づく。仮想線の使用により設計をより少数のFPG
Aで区分化することが許される時、Lが減少され、Tcを減少させる。しかし、
パイプライン段階は、パイプラインサイクル当たりtcだけTpを増大させる。
表3において、仮想線エミュレーションクロックは、単に最長パスの長さによ
って決定された。通信は、帯域幅ではなく、待ち時間によって限定された。設計
が帯域幅限定になる時発生するものを判定するために、
ピンカウントが変化され、そして合成エミュレーションクロック(Tc
に基づいた)が、クロスバーとトーラストポロジーの両方に対して記録された。
第10図は、A−1000に対する結果を示す。曲線のニーは、待ち時間が帯域
幅支配から待ち時間支配に切り換わる場所である。トーラスは、大直径Dを有す
るために低速である。しかし、トーラスは、局所性を利用するために、待ち時間
支配領域からより早く移動する。数本の短い線が、単一長線の時間中、経路指定
される。この分析は、クロスバーがトーラスと同程度に高速にクロックされるこ
とを仮定することに注意せよ。クロスバーで獲得されたエミュレーション速度の
増大は、tcが相応して調整されるならば少なくなる。
仮想線では、設計は帯域幅限定されず、それぞれのクリティカルパスによって
も限定されない。第10図に示された如く、A−1000は、最大エミュレーシ
ョン周波数においてランするために、FPGA当たり約20ピンを必要とする。
これはより小さなピンカウント(そしてこのため安価な)FPGAの使用を許容
するが、別のオプションは、速度とこの余剰帯域幅を交換することである。この
トレードオフは、クリティカルパスの両端部において論理線を結線することによ
り達成される。クリティカル線は、もはや余剰帯域幅がなくなるまで結線され、
こうして、ゲート及びピン資源を十分に使用する。100ピンFPGAにおける
設計に対して、結線は、SPARCLEに対して6から3に、そしてA−100
0に対して17から15に最長クリティカルパスを縮小する。
仮想線は、現存する結線技術と競合するエミュレーション速度においてFPG
Aゲート資源の最大効用を許容する。この技術は、トポロジーとは独立である。
仮想線は、そのようなトポロジーが実際的でない場合
に、クロスバーの代わりにトーラスの如く、より簡単なトポロジーの使用を許容
する。
仮想線に関するタイミング及び/又は局所性感知区分化の使用は、サブサイク
ルの経路指定の必要数を低減するための潜在性を有する。通信帯域幅は、長仮想
パスの始端と終端を同一方向に移動する短パスと重ねるための技術である、パイ
プライン圧密により増大される。仮想線のより確固な実現は、通信計画のより微
細な粒状性と、また、可能な計算及び通信の可能な重複により位相を経路指定す
ることにより課せられた大域障壁を置き換える。
従属性分析から得られた情報を使用して、設計のどの部分が、エミュレーショ
ンクロックサイクルのどの部分中アクティブであるかを予測することができる。
FPGA装置が高速部分再構成をサポートするならば、この情報は、ハードウェ
アサブルーチンの起動を介して仮想論理を実現するために使用される。ずっと野
心的な方向は、事象駆動エミュレーションであり、必要時に論理を変更し、単に
活動化(構成)する信号を送信する。
等価物
技術における当業者は、単なる定型的な実験を使用して、ここで記載された発
明の特定実施態様の多数の等価物を熟知するであろうし、又は確認することがで
きる。
これらとすべての他の等価物は、次の請求の範囲によって包含されることを意
図される。
【手続補正書】特許法第184条の8
【提出日】1995年3月16日
【補正内容】
明細書
再構成可能な論理システムのための仮想相互接続
発明の背景
フィールドプログラマブルゲートアレイ(FPGA)ベース論理エミュレータ
は、加速ソフトウェアシミュレータよりも4〜6桁高速のクロック速度において
複合論理設計をエミュレートすることができる。いったん構成されると、FPG
Aベースエミュレータは、特殊目的プロセッサーの異種ネットワークになり、各
FPGAプロセッサーは、具体的に、全シミュレート回路の区分を協働的に実行
するように設計される。並列プロセッサーとして、これらのエミュレータは、そ
れらの相互接続トポロジー(ネットワーク)、目標FPGA(プロセッサー)、
及びサポートソフトウェア(コンパイラ)を特徴とする。相互接続トポロジーは
、FPGA装置と経路指定資源(即ち、フルクロスバー、2次元メッシュ、等)
の配置を記述する。重要な目標FPGA特性は、ゲートカウント(計算資源)、
ピンカウント(通信資源)、及びマッピング効率を含む。サポートソフトウェア
は、拡張性であり、ネットリストトランスレータ、論理オプティマイザ、技術マ
ッパー、大域及びFPGA特定パーティショナー、プレーサー、及びルーターを
組み合わせる。
FPGAベース論理エミュレーションシステムは、数千〜数百万ゲートの範囲
の複雑性設計に対して開発された。一般に、これらのシステムのためのソフトウ
ェアは、最も複雑な構成要素と見なされる。2次元メッシュと部分クロスバート
ポロジーにおいてFPGAを相互接続するエミュレーションシステムが開発され
た。加えて、相互接続への階層的接近方法が開発された。別の接近方法は、最近
隣及びクロスバー相互接続の組
み合わせを使用する。論理区分は、一般に、区分配置に続いて、FPGAに結線
される。
静的に経路指定されたネットワークは、通信があらかじめ決められる時常に使
用される。静的とは、すべてのデータ移動が決定され、コンパイル時に最適化さ
れるという事実を言う。この機構は、マルチプロセッサー環境において実時間通
信をスケジュールする際に使用された。静的経路指定の他の関連用途としては、
FPGAベース収縮アレイがあり、超大形シミュレーションサブシステム(VL
SS)において、論理評価をスタガーするために時分割多重を使用する大量並列
シミュレーションエンジンがある。
先行システムにおいて、回路切換え技術が、一方のチップから別のチップに出
力信号を設けるために使用される。一方のチップの所与の出力ピンは、別のチッ
プの所与の入力ピンに直接に連結され、又はバスで専用タイムスロット中設けら
れる。バスによる信号の全パスは、割り当てバスピンとタイムスロットを使用し
て専用化され、任意のタイムスロット中直接連結を設ける。全資源は、こうして
、出力ピンから入力ピンに信号を送信するために使用される。そのような先行技
術システムの例は、Van Den Bout、AnyBoard:An FP
GA−Based Reconfigurable System,IEEE
Design and Test of Computers(Sept.19
92),pps.21−30において議論される。
発明の概要
現存するFPGAベース論理エミュレータは、インターチップ通信帯域幅の制
限を被り、ゲート効用は低い(10〜20パーセント)。この
資源不平衡は、特別の論理設計をエミュレートするために必要なチップ数を増大
させ、これにより、信号はより多くのチップ境界を交差しなければならないため
にエミュレーション速度を減少させ、システム費用を増大させる。先行技術のエ
ミュレータは、各FPGAピン(物理線)を単一エミュレート信号(論理線)に
専用化するために、潜在的な通信帯域幅の部分を使用する。
このクロックは、多重化を蓄積するために評価位相(54a、54b、54c)
に分割される。多重位相は、エミュレート設計におけるフリップフロップ間の組
合せ論理が、多重FPGA区分にわたって分裂され、そして垂直線の多重化が、
区分を通ったすべての信号の直接の通過を防止するために必要とされる。位相で
は、単一ピンにより、各位相毎に種々の論理信号を送信することができる。位相
54内で、評価が、各区分内で達成され、そしてその後、結果は、他のFPGA
区分に通信される。3つの位相がエミュレーション周期毎に示されるが、より多
数又は少数の位相も使用されることが理解される。
位相54の開始において、各FPGA区分の論理出力は、入力シフトループに
おける論理入力によって決定される。位相54の最後に、出力は、パイプライン
化シフトループと中間ホップ段階により他のFPGA区分に送信される。第4図
に示された如く、これらのパイプラインは、FPGAの最大周波数においてパイ
プラインクロック56でクロックされる。エミュレーションクロック周期52x
内のすべての位相54が完了した後、エミュレーションクロック52は、目標回
路のすべてのフリップフロップをクロックするために刻時される。
ソフトワイヤコンパイラへの入力は、エミュレートされる論理設計のネットリ
スト105、目標FPGA装置特性、及び相互接続トポロジーから成る。それか
ら、コンパイラは、エミュレーターにダウンロードされるコンフィギュレーショ
ンビットストリームを生成する。第5図は、編成ステップの流れ図である。簡単
には、これらのステップは、目標FPGA技術へのネットリストの翻訳及びマッ
プ(ステップ110)と、ネットリストの区分化(ステップ120)と、相互接
続トポロジーへの
区分の配置(ステップ130、140)と、インターノード通信パスの経路指定
(ステップ150、160)と、
請求の範囲
1.論理モジュールの外部と信号を通信するための複数のピンと、ハードウェ
アにおいて論理を実現するための複数の論理要素とを各々が有する複数の再構成
可能な論理モジュール(10)と、
種々の論理モジュール(10)のピンの間のインターモジュール連結(15)と
、
特定目標回路(8)の区分を規定するように各論理モジュールを自動的に構成す
るためのコンフィギュラーであり、目標回路(8)の区分の間の通信はピンとイ
ンターモジュール連結(15)を通して設けられるコンフィギュラーとを具備す
る再構成可能な電子システムにおいて、構成されたシステムの区分が、区分の論
理モジュール(10)におけるピン数を超える他の区分への多数のインターモジ
ュール通信を有し、そして区分の論理モジュール(10)が、区分の論理モジュ
ール(10)の少なくとも一つのピンを通して時分割多重式に仮想相互接続によ
り通信するように構成され、コンフィギュラーは、中間再構成可能な論理モジュ
ールを介した通信パスを含む静的仮想相互接続を決定することを特徴とする再構
成可能な電子システム。
2.各論理モジュール(10)が、相互接続されたプログラム可能な論理セル
(21)のアレイを具備する請求の範囲1に記載のシステム。
3.コンフィギュラーが、仮想相互接続により通信するために、マルチプレク
サー(13)を形成するように論理モジュール(10)を構成する請求の範囲1
に記載のシステム。
4.論理モジュール(10)が、目標クロック周期(52)内で位相(54)
動作するように構成され、インターモジュール通信は、各位相
(54)内で行われる請求の範囲1に記載のシステム。
5.コンフィギュラーが、インターモジュール従属性に基づいて、目標回路(
8)の論理モジュール選択及び位相分割を最適化する請求の範囲4に記載のシス
テム。
6.目標クロック周期(52)が、目標回路(8)の信号線が値を変化させる
最大率を指定する目標回路(8)のクロック周期であり、この場合、各目標クロ
ック周期(56)は、電子システムにおける信号が値を変化させる最大率を指定
する複数のシステムクロック周期(56)を具備する請求の範囲4に記載のシス
テム。
7.論理モジュール(10)の専用ピンに結線された非同期論理を含む請求の
範囲1に記載のシステム。
8.データが、論理モジュール(10)の外部のメモリ要素(6)からアクセ
スされる請求の範囲1に記載のシステム。
9.論理モジュール(10)とメモリ要素(6)の間に時分割多重相互接続が
ある請求の範囲8に記載のシステム。
10.論理モジュール(10)が、フィールドプログラマブルゲートアレイ(
FPGA)である請求の範囲1に記載のシステム。
11.各モジュール(10)が単一チップである請求の範囲1に記載のシステ
ム。
12.デジタルシステムが、目標システム(8)をエミュレートするためのエ
ミュレーションシステムである請求の範囲1に記載のシステム。 13.論理モ
ジュール(10)が、個別信号に専用化されたピンを含むように構成される請求
の範囲1に記載のシステム。
14.コンフィギュラーが、目標論理回路(8)を区分化するための
パーティショナー(120)を具備し、各区分がそれぞれの論理モジュール(1
0)に構成される請求の範囲1に記載の論理システム。
15.従属性アナライザー(130)と、プログラム論理関数が実行され、信
号が論理モジュール(10)間に送信される位相に目標クロック周期を分割する
ためのデバイダーとをさらに具備し、位相分割は、区分従属性とメモリ割り当て
の関数である請求の範囲14に記載のシステム。
16.中間再構成可能論理モジュール(10)を通して論理モジュール(10
)間で信号を経路指定するように論理モジュール(10)を構成するためのルー
ター(150)をさらに具備する請求の範囲14に記載のシステム。
17.ハードウェア論理回路を規定するように再構成可能なゲートのアレイと
、論理モジュール(10)の外部に信号を通信するための複数のピンとを各々有
する複数の再構成可能な論理モジュール(10)と、種々の論理モジュール(1
0)のピンの間のインターモジュール連結(15)と、
特定目標回路(8)の区分を規定するように各論理モジュールのゲートのアレイ
を自動的に構成するためのコンフィギュラーであり、目標回路(8)の区分の間
の通信はピンとインターモジュール連結(15)を通して設けられるコンフィギ
ュラーとを具備する再構成可能な電子システムにおいて、
構成されたシステムの区分が、区分の論理モジュール(10)におけるピン数を
超える他の区分への多数のインターモジュール通信を有し、そして区分の論理モ
ジュール(10)のゲートが、構成されたゲートのア
レイからの複数の出力を受信し、多重化パイプライン式に単一ピン(15)を通
して受信出力を静的に通信するためのマルチプレクサー(13)として構成され
ることを特徴とする再構成可能な電子システム。
18.マルチプレクサー(13)と構成されたゲートアレイの間に結合した少
なくとも一つのシフトレジスター(10)をさらに具備する請求の範囲17に記
載のシステム。
19.シフトレジスター(20)が、論理モジュール(10)においてゲート
から構成される請求の範囲18に記載のシステム。
20.論理モジュール(10)の外部に信号を通信するための複数のピンと、
ハードウェアにおいて論理を実現するための複数の論理要素とを各々有する複数
の再構成可能な論理モジュール(10)と、
種々の論理モジュール(10)のピンの間のインターモジュール連結(15)と
、
特定目標回路(8)の区分を規定するように各論理モジュールを自動的に構成す
るためのコンフィギュラーであり、目標回路(8)の区分の間の通信は、ピンと
インターモジュール連結(15)を通して設けられるコンフィギュラーとを具備
する再構成可能な電子システムにおいて、構成されたシステムの区分が、区分の
論理モジュール(10)におけるピン数を超える他の区分への多数のインターモ
ジュール通信を有し、そして区分の論理モジュールが、区分の論理モジュール(
10)の少なくとも一つのピンを通して時分割多重式に静的仮想相互接続により
通信するように構成され、電子システムが、所定の信号を設けるための専用ピン
を含むことを特徴とする再構成可能な電子システム。
21.再構成可能なデジタルシステムを自動的にコンパイルする方法
であり、
複数のピンと複数の論理要素を有する再構成可能な論理要素(10)に構成され
る複数の区分に目標回路(8)を区分化する段階(120)と、目標回路(8)
の区分を創設するように論理モジュール(10)を構成する段階とを具備する方
法において、改良が、
仮想相互接続に沿った信号が少なくとも一つの共通ピンを通して時分割多重され
、少なくとも一つの共通ピンに対応する区分間の静的仮想相互接続を決定するこ
とと、
中間論理モジュール(10)を通して論理モジュール(10)間で信号を経路指
定するように論理モジュールを構成することとを特徴とする方法。
22.目標回路(8)内の信号線が値を変化させる最大率を指定する第1クロ
ック周期(52)を、プログラム論理関数が実行され、信号が論理モジュール(
10)間に送信される位相(54)に分割する段階をさらに具備する請求の範囲
21に記載の方法。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 テシアー,ラツセル
アメリカ合衆国マサチユセツツ州02139ケ
ンブリツジ・ジエイ111・メモリアルドラ
イブ450
Claims (1)
- 【特許請求の範囲】 1.論理モジュール間で信号を通信するための複数のピンを各々有する複数の 再プログラム可能な論理モジュールと、 種々の論理モジュールのピンの間のインターモジュール連結と、 特定目標回路の区分を規定するように各論理モジュールを構成するためのコンフ ィギュラーであり、目標回路の区分の間の相互接続はピンとインターモジュール 連結を通して設けられ、構成されたシステムの区分は、論理モジュールのピン数 を超える他の区分への多数の相互接続を有し、論理モジュールは、少なくとも一 つのピンを通して時分割多重式に仮想相互接続を通して通信するように構成され 、インターモジュール通信は、中間再構成可能な論理モジュールを介した相互接 続を含むコンフィギュラーとを具備する再構成可能な電子システム。 2.各論理モジュールが、相互接続されたプログラム可能な論理セルのアレイ を具備する請求の範囲1に記載のシステム。 3.コンフィギュラーが、仮想相互接続を通して通信するために、マルチプレ クサーを形成するように論理モジュールを構成する請求の範囲1に記載のシステ ム。 4.論理モジュールが、目標クロック周期内で位相動作するように構成され、 インターモジュール通信は、各位相内で行われる請求の範囲1に記載のシステム 。 5.コンフィギュラーが、インターモジュール従属性に基づいて、目標回路の 論理モジュール選択及び位相分割を最適化する請求の範囲4に記載のシステム。 6.目標クロック周期が、目標回路の信号線が値を変化させる最大率 を指定する目標回路のクロック周期であり、この場合、各目標クロック周期は、 電子システムにおける信号が値を変化させる最大率を指定する複数のシステムク ロック周期を具備する請求の範囲4に記載のシステム。 7.論理モジュールの専用ピンに結線された非同期論理を含む請求の範囲1に 記載のシステム。 8.データが、論理モジュールの外部のメモリ要素からアクセスされる請求の 範囲1に記載のシステム。 9.論理モジュールが、フィールドプログラマブルゲートアレイ(FPGA) である請求の範囲1に記載のシステム。 10.各モジュールが単一チップである請求の範囲1に記載のシステム。 11.デジタルシステムが、目標システムをエミュレートするためのエミュレ ーションシステムである請求の範囲1に記載のシステム。 12.論理モジュールが、個別信号に専用化されたピンを含むように構成され る請求の範囲1に記載のシステム。 13.コンフィギュラーが、目標論理回路を区分化するためのパーティショナ ーを具備し、各区分がそれぞれの論理モジュールに構成される請求の範囲1に記 載の論理システム。 14.従属性アナライザーと、プログラム論理関数が実行され、信号が論理モ ジュール間に送信される位相に目標クロック周期を分割するためのデバイダーと をさらに具備し、位相分割は、区分従属性とメモリ割り当ての関数である請求の 範囲13に記載のシステム。 15.中間論理モジュールを通して論理モジュール間で信号を経路指定するよ うに論理モジュールを構成するためのルーターをさらに具備す る請求の範囲13に記載のシステム。 16.複数のピンを有する個別論理モジュールに各々構成される複数の区分に 目標回路を区分化する段階と、 仮想相互接続に沿った信号が少なくとも一つの共通ピンを通して時分割多重され 、少なくとも一つの共通ピンに対応する区分の間の仮想相互接続により目標回路 の区分を創設するように各論理モジュールを構成する段階と、 中間論理モジュールを通して論理モジュール間で信号を経路指定するための論理 モジュールを構成する段階とを具備する再構成可能なデジタルシステムをコンパ イルする方法。 17.目標回路内の信号線が値を変化させる最大率を指定する第1クロック周 期を、プログラム論理関数が実行され、信号が論理モジュール間に送信される位 相に分割する段階をさらに具備する請求の範囲16に記載の方法。 18.論理回路を規定するように再構成されたゲートのアレイと、構成された ゲートアレイから複数の出力を受信し、多重化パイプライン化方式において単一 ピンを通して受信された出力を通信するためのマルチプレクサーとして再構成さ れたゲートとを具備する再構成可能な論理モジュール。 19.マルチプレクサーと構成されたゲートアレイの間に結合された少なくと も一つのシフトレジスターをさらに具備する請求の範囲18に記載の論理モジュ ール。 20.シフトレジスターが、論理モジュールにおけるゲートから構成される請 求の範囲19に記載の論理モジュール。 21.論理モジュールが、フィールドプログラマブルゲートアレイ(FPGA )である請求の範囲24に記載の論理モジュール。 22.論理モジュールの間で信号を通信するための複数のピンを各々有する、 複数の再プログラム可能な論理モジュールと、 種々の論理モジュールのピン間のインターモジュール連結と、 ピンとインターモジュール連結部を通して設けられる目標回路の区分の間の相互 接続により、特定目標回路の区分を規定するように各論理モジュールを構成する ためのコンフィギュラーであり、構成されたシステムの区分は、論理モジュール のピン数を超える他の区分への多数の相互接続を有し、論理モジュールは、少な くとも一つのピンを通して時分割多重方式で仮想相互接続により通信するように 構成され、電子システムは、所定の信号を設けるための専用ピンを含むコンフィ ギュラーとを具備する再構成可能な電子システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/042,151 | 1993-04-02 | ||
US08/042,151 US5596742A (en) | 1993-04-02 | 1993-04-02 | Virtual interconnections for reconfigurable logic systems |
PCT/US1994/003620 WO1994023389A1 (en) | 1993-04-02 | 1994-04-01 | Virtual wires for reconfigurable logic systems |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08508599A true JPH08508599A (ja) | 1996-09-10 |
Family
ID=21920297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6522421A Pending JPH08508599A (ja) | 1993-04-02 | 1994-04-01 | 再構成可能な論理システムのための仮想相互接続 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5596742A (ja) |
EP (1) | EP0692124A1 (ja) |
JP (1) | JPH08508599A (ja) |
CA (1) | CA2158149A1 (ja) |
WO (1) | WO1994023389A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7098688B2 (en) | 1999-09-24 | 2006-08-29 | Mentor Graphics Corporation | Regionally time multiplexed emulation system |
JP2006254449A (ja) * | 2005-03-08 | 2006-09-21 | Commiss Energ Atom | システムオンチップの大域的非同期通信アーキテクチャ |
JP2013080332A (ja) * | 2011-10-03 | 2013-05-02 | Fujitsu Ltd | 評価システム |
JP5884729B2 (ja) * | 2010-04-27 | 2016-03-15 | 日本電気株式会社 | 論理回路エミュレータ及び論理回路エミュレータの制御方法 |
JP2018194548A (ja) * | 2017-05-05 | 2018-12-06 | ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH | 配線トポロジの識別方法 |
Families Citing this family (204)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367208A (en) | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
JP3307085B2 (ja) * | 1993-12-10 | 2002-07-24 | ソニー株式会社 | 通信方法及び電子機器 |
US5680583A (en) | 1994-02-16 | 1997-10-21 | Arkos Design, Inc. | Method and apparatus for a trace buffer in an emulation system |
US5761484A (en) * | 1994-04-01 | 1998-06-02 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5689686A (en) * | 1994-07-29 | 1997-11-18 | Cypress Semiconductor Corp. | Methods for maximizing routability in a programmable interconnect matrix having less than full connectability |
GB2338325B (en) * | 1994-10-03 | 2000-02-09 | Univ Westminster | Data processing method and apparatus for parallel discrete event simulation |
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 |
US5923865A (en) * | 1995-06-28 | 1999-07-13 | Quickturn Design Systems, Inc. | Emulation system having multiple emulated clock cycles per emulator clock cycle and improved signal routing |
US5907697A (en) * | 1995-10-13 | 1999-05-25 | Mentor Graphics Corporation | Emulation system having a scalable multi-level multi-stage hybrid programmable interconnect network |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US5802348A (en) * | 1995-12-18 | 1998-09-01 | Virtual Machine Works, Inc. | Logic analysis system for logic emulation systems |
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US5854752A (en) * | 1996-01-19 | 1998-12-29 | Ikos Systems, Inc. | Circuit partitioning technique for use with multiplexed inter-connections |
US5752006A (en) * | 1996-01-31 | 1998-05-12 | Xilinx, Inc. | Configuration emulation of a programmable logic device |
US5761078A (en) * | 1996-03-21 | 1998-06-02 | International Business Machines Corporation | Field programmable gate arrays using semi-hard multicell macros |
US5815100A (en) * | 1996-06-04 | 1998-09-29 | Hewlett-Packard Company | Voltage multiplexed chip I/O for multi-chip modules |
JP4446492B2 (ja) * | 1996-06-10 | 2010-04-07 | インフィネオン テヒノロジース アクチェンゲゼルシャフト | プログラマブルゲートアレイ内の一連の回路うちの1つの回路をコンパイルするための方法と装置 |
US5841967A (en) | 1996-10-17 | 1998-11-24 | Quickturn Design Systems, Inc. | Method and apparatus for design verification using emulation and simulation |
US5892940A (en) * | 1996-12-05 | 1999-04-06 | Hewlett-Packard, Co. | Aliasing nodes to improve the code generated by a circuit compiler |
US5819074A (en) * | 1996-12-05 | 1998-10-06 | Hewlett-Packard Co. | Method of eliminating unnecessary code generation in a circuit compiler |
DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
DE19654595A1 (de) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
US6338106B1 (en) | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
JP3961028B2 (ja) * | 1996-12-27 | 2007-08-15 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等) |
DE19654846A1 (de) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
AUPO493597A0 (en) * | 1997-02-05 | 1997-02-27 | Liguori, Vincenzo | Logic circuit emulator |
DE19704728A1 (de) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704742A1 (de) * | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
US5963736A (en) * | 1997-03-03 | 1999-10-05 | Quickturn Design Systems, Inc. | Software reconfigurable target I/O in a circuit emulation system |
US6141636A (en) * | 1997-03-31 | 2000-10-31 | Quickturn Design Systems, Inc. | Logic analysis subsystem in a time-sliced emulator |
US6785873B1 (en) * | 1997-05-02 | 2004-08-31 | Axis Systems, Inc. | Emulation system with multiple asynchronous clocks |
US5960191A (en) * | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
US5970240A (en) | 1997-06-25 | 1999-10-19 | Quickturn Design Systems, Inc. | Method and apparatus for configurable memory emulation |
US6034857A (en) | 1997-07-16 | 2000-03-07 | Altera Corporation | Input/output buffer with overcurrent protection circuit |
US6020760A (en) | 1997-07-16 | 2000-02-01 | Altera Corporation | I/O buffer circuit with pin multiplexing |
US6011744A (en) * | 1997-07-16 | 2000-01-04 | Altera Corporation | Programmable logic device with multi-port memory |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
US6216191B1 (en) * | 1997-10-15 | 2001-04-10 | Lucent Technologies Inc. | Field programmable gate array having a dedicated processor interface |
US5970232A (en) * | 1997-11-17 | 1999-10-19 | Cray Research, Inc. | Router table lookup mechanism |
US6085303A (en) * | 1997-11-17 | 2000-07-04 | Cray Research, Inc. | Seralized race-free virtual barrier network |
US6230252B1 (en) | 1997-11-17 | 2001-05-08 | Silicon Graphics, Inc. | Hybrid hypercube/torus architecture |
US6101181A (en) * | 1997-11-17 | 2000-08-08 | Cray Research Inc. | Virtual channel assignment in large torus systems |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US6367063B1 (en) * | 1998-02-05 | 2002-04-02 | Hughes Electronics Corporation | Method and apparatus for selectively performing a plurality of logic operations and memory functions |
DE19807872A1 (de) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
US6216174B1 (en) | 1998-09-29 | 2001-04-10 | Silicon Graphics, Inc. | System and method for fast barrier synchronization |
US6347344B1 (en) * | 1998-10-14 | 2002-02-12 | Hitachi, Ltd. | Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor |
US6243664B1 (en) | 1998-10-27 | 2001-06-05 | Cypress Semiconductor Corporation | Methods for maximizing routability in a programmable interconnect matrix having less than full connectability |
WO2000041101A1 (en) * | 1999-01-06 | 2000-07-13 | Simutech Corporation | Apparatus and method for verifying a multi-component electronic design |
US6279146B1 (en) * | 1999-01-06 | 2001-08-21 | Simutech Corporation | Apparatus and method for verifying a multi-component electronic design |
US6604230B1 (en) | 1999-02-09 | 2003-08-05 | The Governing Counsel Of The University Of Toronto | Multi-logic device systems having partial crossbar and direct interconnection architectures |
WO2002013000A2 (de) | 2000-06-13 | 2002-02-14 | Pact Informationstechnologie Gmbh | Pipeline ct-protokolle und -kommunikation |
US8230411B1 (en) * | 1999-06-10 | 2012-07-24 | Martin Vorbach | Method for interleaving a program over a plurality of cells |
US7146354B1 (en) | 1999-06-18 | 2006-12-05 | F5 Networks, Inc. | Method and system for network load balancing with a compound data structure |
US6405219B2 (en) | 1999-06-22 | 2002-06-11 | F5 Networks, Inc. | Method and system for automatically updating the version of a set of files stored on content servers |
US7346695B1 (en) | 2002-10-28 | 2008-03-18 | F5 Networks, Inc. | System and method for performing application level persistence |
US7287084B1 (en) | 1999-07-15 | 2007-10-23 | F5 Networks, Inc. | Enabling encryption of application level persistence between a server and a client |
US6374300B2 (en) | 1999-07-15 | 2002-04-16 | F5 Networks, Inc. | Method and system for storing load balancing information with an HTTP cookie |
US6618698B1 (en) | 1999-08-12 | 2003-09-09 | Quickturn Design Systems, Inc. | Clustered processors in an emulation engine |
US6674720B1 (en) | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
US7441045B2 (en) * | 1999-12-13 | 2008-10-21 | F5 Networks, Inc. | Method and system for balancing load distribution on a wide area network |
US7047301B2 (en) | 2000-01-31 | 2006-05-16 | F5 Networks, Inc. | Method and system for enabling persistent access to virtual servers by an LDNS server |
US7075941B2 (en) * | 2000-03-01 | 2006-07-11 | Real Communications, Inc. | Scaleable architecture for multiple-port, system-on-chip ADSL communications systems |
KR100385233B1 (ko) * | 2000-03-14 | 2003-05-23 | 삼성전자주식회사 | 데이터 프로세싱 시스템의 익스포넌트 유닛 |
US7343413B2 (en) | 2000-03-21 | 2008-03-11 | F5 Networks, Inc. | Method and system for optimizing a network by independently scaling control segments and data flow |
US8380854B2 (en) | 2000-03-21 | 2013-02-19 | F5 Networks, Inc. | Simplified method for processing multiple connections from the same client |
US6725441B1 (en) * | 2000-03-22 | 2004-04-20 | Xilinx, Inc. | Method and apparatus for defining and modifying connections between logic cores implemented on programmable logic devices |
US6961691B1 (en) * | 2000-03-30 | 2005-11-01 | Mentor Graphics Corporation | Non-synchronized multiplex data transport across synchronous systems |
US7379859B2 (en) * | 2001-04-24 | 2008-05-27 | Mentor Graphics Corporation | Emulator with switching network connections |
US7162450B2 (en) * | 2000-06-30 | 2007-01-09 | Ponzio Jr Frank J | Business method for determining quality and integrity of data content |
US20030041129A1 (en) * | 2000-07-20 | 2003-02-27 | John Applcby-Allis | Voice-over-internet protocol telephone in reconfigurable logic |
US6542844B1 (en) | 2000-08-02 | 2003-04-01 | International Business Machines Corporation | Method and apparatus for tracing hardware states using dynamically reconfigurable test circuits |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US8058899B2 (en) * | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US6954451B1 (en) | 2000-11-21 | 2005-10-11 | Ravesim, Inc. | Distributed time-multiplexed bus architecture and emulation apparatus |
US6990555B2 (en) * | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
US20090210653A1 (en) * | 2001-03-05 | 2009-08-20 | Pact Xpp Technologies Ag | Method and device for treating and processing data |
US9037807B2 (en) * | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7444531B2 (en) * | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
WO2005045692A2 (en) * | 2003-08-28 | 2005-05-19 | Pact Xpp Technologies Ag | Data processing device and method |
US7844796B2 (en) * | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US20090300262A1 (en) * | 2001-03-05 | 2009-12-03 | Martin Vorbach | Methods and devices for treating and/or processing data |
US6842728B2 (en) * | 2001-03-12 | 2005-01-11 | International Business Machines Corporation | Time-multiplexing data between asynchronous clock domains within cycle simulation and emulation environments |
US6993731B2 (en) * | 2001-06-15 | 2006-01-31 | Science & Technology Corporation @ Unm | Optimization of digital designs |
US6829750B2 (en) * | 2001-06-15 | 2004-12-07 | Science & Technology Corporation @ Unm | Pass-transistor very large scale integration |
CN1541364A (zh) * | 2001-06-15 | 2004-10-27 | ��ѧ�뼼������˾@UNM | 具有选择运算符的数字电路 |
EP1402382B1 (de) * | 2001-06-20 | 2010-08-18 | Richter, Thomas | Verfahren zur bearbeitung von daten |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US7035787B2 (en) * | 2001-10-30 | 2006-04-25 | Mentor Graphics Corporation | Emulation components and system including distributed routing and configuration of emulation resources |
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 |
US7577822B2 (en) * | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
AU2003214046A1 (en) * | 2002-01-18 | 2003-09-09 | Pact Xpp Technologies Ag | Method and device for partitioning large computer programs |
WO2003060747A2 (de) * | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurierbarer prozessor |
DE50310198D1 (de) | 2002-02-18 | 2008-09-04 | Pact Xpp Technologies Ag | Bussysteme und rekonfigurationsverfahren |
US20060075211A1 (en) * | 2002-03-21 | 2006-04-06 | Martin Vorbach | Method and device for data processing |
US8914590B2 (en) * | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
AU2003286131A1 (en) * | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
US7657861B2 (en) * | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US20110238948A1 (en) * | 2002-08-07 | 2011-09-29 | Martin Vorbach | Method and device for coupling a data processing unit and a data processing array |
US7430755B1 (en) | 2002-09-03 | 2008-09-30 | Fs Networks, Inc. | Method and system for providing persistence in a secure network access |
WO2004023325A1 (en) * | 2002-09-04 | 2004-03-18 | Mentor Graphics (Holdings) Ltd. | Polymorphic computational system and method |
EP1537486A1 (de) * | 2002-09-06 | 2005-06-08 | PACT XPP Technologies AG | Rekonfigurierbare sequenzerstruktur |
US20040243384A1 (en) * | 2002-10-10 | 2004-12-02 | Nang-Ping Chen | Complete graph interconnect structure for the hardware emulator |
US7322021B2 (en) * | 2002-10-31 | 2008-01-22 | Lsi Logic Corporation | Virtual path for interconnect fabric using bandwidth process |
US20040093198A1 (en) * | 2002-11-08 | 2004-05-13 | Carbon Design Systems | Hardware simulation with access restrictions |
US7007254B1 (en) * | 2003-01-17 | 2006-02-28 | Synplicity, Inc. | Method and apparatus for the design and analysis of digital circuits with time division multiplexing |
JP2006524850A (ja) * | 2003-04-04 | 2006-11-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理方法およびデータ処理装置 |
WO2005038676A2 (en) * | 2003-10-17 | 2005-04-28 | University Of Delaware | Method and apparatus for emulation of logic circuits |
US7120892B1 (en) * | 2004-03-03 | 2006-10-10 | Xilinx, Inc. | Process for adjusting data structures of a floorplan upon changes occurring |
US7738398B2 (en) * | 2004-06-01 | 2010-06-15 | Quickturn Design Systems, Inc. | System and method for configuring communication systems |
US7606697B2 (en) * | 2004-06-01 | 2009-10-20 | Quickturn Design Systems, Inc. | System and method for resolving artifacts in differential signals |
US7440866B2 (en) * | 2004-06-01 | 2008-10-21 | Quickturn Design Systems Inc. | System and method for validating an input/output voltage of a target system |
US7721036B2 (en) * | 2004-06-01 | 2010-05-18 | Quickturn Design Systems Inc. | System and method for providing flexible signal routing and timing |
US7640155B2 (en) * | 2004-06-01 | 2009-12-29 | Quickturn Design Systems, Inc. | Extensible memory architecture and communication protocol for supporting multiple devices in low-bandwidth, asynchronous applications |
US7401203B2 (en) * | 2004-09-14 | 2008-07-15 | International Business Machines Corporation | Method for wiring allocation and switch configuration in a multiprocessor environment |
US20090031104A1 (en) * | 2005-02-07 | 2009-01-29 | Martin Vorbach | Low Latency Massive Parallel Data Processing Device |
US7353162B2 (en) * | 2005-02-11 | 2008-04-01 | S2C, Inc. | Scalable reconfigurable prototyping system and method |
EP1859289A4 (en) * | 2005-03-16 | 2011-03-30 | Gaterocket Inc | FPGA MATRIX EMULATION SYSTEM |
WO2007062327A2 (en) * | 2005-11-18 | 2007-05-31 | Ideal Industries, Inc. | Releasable wire connector |
KR100730279B1 (ko) * | 2005-12-16 | 2007-06-19 | 삼성전자주식회사 | 스타 토로스 토폴로지를 이용하여 칩 상의 디바이스를연결한 컴퓨터 칩 |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
US8352242B2 (en) * | 2006-02-21 | 2013-01-08 | Mentor Graphics Corporation | Communication scheme between programmable sub-cores in an emulation environment |
US7555424B2 (en) | 2006-03-16 | 2009-06-30 | Quickturn Design Systems, Inc. | Method and apparatus for rewinding emulated memory circuits |
US8566452B1 (en) | 2006-08-03 | 2013-10-22 | F5 Networks, Inc. | Intelligent HTTP based load-balancing, persistence, and application traffic management of SSL VPN tunnels |
US7908574B2 (en) * | 2007-05-09 | 2011-03-15 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
US8756557B2 (en) * | 2007-05-09 | 2014-06-17 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
US7904859B2 (en) * | 2007-05-09 | 2011-03-08 | Synopsys, Inc. | Method and apparatus for determining a phase relationship between asynchronous clock signals |
US7984400B2 (en) * | 2007-05-09 | 2011-07-19 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
US8806053B1 (en) | 2008-04-29 | 2014-08-12 | F5 Networks, Inc. | Methods and systems for optimizing network traffic using preemptive acknowledgment signals |
US20090313413A1 (en) * | 2008-06-12 | 2009-12-17 | Yariv Aridor | method for wiring allocation and switch configuration in a multiprocessor environment |
US7975025B1 (en) | 2008-07-08 | 2011-07-05 | F5 Networks, Inc. | Smart prefetching of data over a network |
US8566444B1 (en) | 2008-10-30 | 2013-10-22 | F5 Networks, Inc. | Methods and system for simultaneous multiple rules checking |
US10157280B2 (en) | 2009-09-23 | 2018-12-18 | F5 Networks, Inc. | System and method for identifying security breach attempts of a website |
US8868961B1 (en) | 2009-11-06 | 2014-10-21 | F5 Networks, Inc. | Methods for acquiring hyper transport timing and devices thereof |
US9313047B2 (en) | 2009-11-06 | 2016-04-12 | F5 Networks, Inc. | Handling high throughput and low latency network data packets in a traffic management device |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US8402418B2 (en) * | 2009-12-31 | 2013-03-19 | Nvidia Corporation | System and process for automatic clock routing in an application specific integrated circuit |
US8281274B1 (en) * | 2010-01-08 | 2012-10-02 | Altera Corporation | Method and apparatus for performing efficient incremental compilation |
US8638792B2 (en) | 2010-01-22 | 2014-01-28 | Synopsys, Inc. | Packet switch based logic replication |
US8397195B2 (en) * | 2010-01-22 | 2013-03-12 | Synopsys, Inc. | Method and system for packet switch based logic replication |
US20110289469A1 (en) * | 2010-05-21 | 2011-11-24 | Huang Thomas B | Virtual interconnection method and apparatus |
US9141625B1 (en) | 2010-06-22 | 2015-09-22 | F5 Networks, Inc. | Methods for preserving flow state during virtual machine migration and devices thereof |
US10015286B1 (en) | 2010-06-23 | 2018-07-03 | F5 Networks, Inc. | System and method for proxying HTTP single sign on across network domains |
US8908545B1 (en) | 2010-07-08 | 2014-12-09 | F5 Networks, Inc. | System and method for handling TCP performance in network access with driver initiated application tunnel |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
US9083760B1 (en) | 2010-08-09 | 2015-07-14 | F5 Networks, Inc. | Dynamic cloning and reservation of detached idle connections |
US8630174B1 (en) | 2010-09-14 | 2014-01-14 | F5 Networks, Inc. | System and method for post shaping TCP packetization |
US8463909B1 (en) | 2010-09-15 | 2013-06-11 | F5 Networks, Inc. | Systems and methods for managing server resources |
US8886981B1 (en) | 2010-09-15 | 2014-11-11 | F5 Networks, Inc. | Systems and methods for idle driven scheduling |
US8804504B1 (en) | 2010-09-16 | 2014-08-12 | F5 Networks, Inc. | System and method for reducing CPU load in processing PPP packets on a SSL-VPN tunneling device |
US8959571B2 (en) | 2010-10-29 | 2015-02-17 | F5 Networks, Inc. | Automated policy builder |
WO2012058643A2 (en) | 2010-10-29 | 2012-05-03 | F5 Networks, Inc. | System and method for on the fly protocol conversion in obtaining policy enforcement information |
US8627467B2 (en) | 2011-01-14 | 2014-01-07 | F5 Networks, Inc. | System and method for selectively storing web objects in a cache memory based on policy decisions |
US10135831B2 (en) | 2011-01-28 | 2018-11-20 | F5 Networks, Inc. | System and method for combining an access control system with a traffic management system |
US9246819B1 (en) | 2011-06-20 | 2016-01-26 | F5 Networks, Inc. | System and method for performing message-based load balancing |
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 |
US9270766B2 (en) | 2011-12-30 | 2016-02-23 | F5 Networks, Inc. | Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof |
US8743735B1 (en) | 2012-01-18 | 2014-06-03 | Cadence Design Systems, Inc. | Emulation system for verifying a network device |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
US9172753B1 (en) | 2012-02-20 | 2015-10-27 | F5 Networks, Inc. | Methods for optimizing HTTP header based authentication and devices thereof |
US9231879B1 (en) | 2012-02-20 | 2016-01-05 | F5 Networks, Inc. | Methods for policy-based network traffic queue management and devices thereof |
US8595683B1 (en) * | 2012-04-12 | 2013-11-26 | Cadence Design Systems, Inc. | Generating user clocks for a prototyping environment |
US10097616B2 (en) | 2012-04-27 | 2018-10-09 | F5 Networks, Inc. | Methods for optimizing service of content requests and devices thereof |
US9154423B1 (en) | 2012-05-01 | 2015-10-06 | F5 Networks, Inc. | Minimize SYN-flood issues with flow cache while maintaining performance |
US9338095B2 (en) | 2012-05-01 | 2016-05-10 | F5 Networks, Inc. | Data flow segment optimized for hot flows |
US9525632B1 (en) | 2012-05-01 | 2016-12-20 | F5 Networks, Inc. | Minimize recycle SYN issues for split TCP hot flows to improve system reliability and performance |
US9203771B1 (en) | 2012-07-23 | 2015-12-01 | F5 Networks, Inc. | Hot service flow hardware offloads based on service priority and resource usage |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US8739103B1 (en) * | 2013-03-04 | 2014-05-27 | Cypress Semiconductor Corporation | Techniques for placement in highly constrained architectures |
EP2871589B1 (en) * | 2013-11-08 | 2019-06-26 | Synopsys, Inc. | Method and system for generating a circuit description for a multi-die field-programmable gate array |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
US10346274B2 (en) * | 2014-02-27 | 2019-07-09 | Infineon Technologies Austria Ag | Testing using coupling emulation |
US9520180B1 (en) | 2014-03-11 | 2016-12-13 | Hypres, Inc. | System and method for cryogenic hybrid technology computing and memory |
US10015143B1 (en) | 2014-06-05 | 2018-07-03 | F5 Networks, Inc. | Methods for securing one or more license entitlement grants and devices thereof |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US10122630B1 (en) | 2014-08-15 | 2018-11-06 | F5 Networks, Inc. | Methods for network traffic presteering and devices thereof |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
EP3838317A1 (en) | 2015-01-14 | 2021-06-23 | Respira Therapeutics, Inc. | Dry powder inhaler |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10505818B1 (en) | 2015-05-05 | 2019-12-10 | F5 Networks. Inc. | Methods for analyzing and load balancing based on server health and devices thereof |
US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
US11757946B1 (en) | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
US10791088B1 (en) | 2016-06-17 | 2020-09-29 | F5 Networks, Inc. | Methods for disaggregating subscribers via DHCP address translation and devices thereof |
US11063758B1 (en) | 2016-11-01 | 2021-07-13 | F5 Networks, Inc. | Methods for facilitating cipher selection and devices thereof |
US10505792B1 (en) | 2016-11-02 | 2019-12-10 | F5 Networks, Inc. | Methods for facilitating network traffic analytics and devices thereof |
US11496438B1 (en) | 2017-02-07 | 2022-11-08 | F5, Inc. | Methods for improved network security using asymmetric traffic delivery and devices thereof |
US10791119B1 (en) | 2017-03-14 | 2020-09-29 | F5 Networks, Inc. | Methods for temporal password injection and devices thereof |
US10812266B1 (en) | 2017-03-17 | 2020-10-20 | F5 Networks, Inc. | Methods for managing security tokens based on security violations and devices thereof |
US10931662B1 (en) | 2017-04-10 | 2021-02-23 | F5 Networks, Inc. | Methods for ephemeral authentication screening and devices thereof |
US10972453B1 (en) | 2017-05-03 | 2021-04-06 | F5 Networks, Inc. | Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof |
US11122042B1 (en) | 2017-05-12 | 2021-09-14 | F5 Networks, Inc. | Methods for dynamically managing user access control and devices thereof |
US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
US11122083B1 (en) | 2017-09-08 | 2021-09-14 | F5 Networks, Inc. | Methods for managing network connections based on DNS data and network policies and devices thereof |
US11658995B1 (en) | 2018-03-20 | 2023-05-23 | F5, Inc. | Methods for dynamically mitigating network attacks and devices thereof |
US11044200B1 (en) | 2018-07-06 | 2021-06-22 | F5 Networks, Inc. | Methods for service stitching using a packet header and devices thereof |
US11449347B1 (en) * | 2019-05-23 | 2022-09-20 | Xilinx, Inc. | Time-multiplexed implementation of hardware accelerated functions in a programmable integrated circuit |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4495590A (en) * | 1980-12-31 | 1985-01-22 | International Business Machines Corporation | PLA With time division multiplex feature for improved density |
US4506341A (en) * | 1982-06-10 | 1985-03-19 | International Business Machines Corporation | Interlaced programmable logic array having shared elements |
US4697241A (en) * | 1985-03-01 | 1987-09-29 | Simulog, Inc. | Hardware logic simulator |
US4901259A (en) * | 1988-08-15 | 1990-02-13 | Lsi Logic Corporation | Asic emulator |
US5452231A (en) * | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
DE68925121T2 (de) * | 1988-10-05 | 1996-06-13 | Quickturn Systems Inc | Verfahren zur verwendung einer elektronisch wiederkonfigurierbaren gatterfeld-logik und dadurch hergestelltes gerät |
US5109353A (en) * | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
EP0410502B1 (en) * | 1989-07-27 | 1997-05-28 | Lsi Logic Corporation | Method and apparatus for emulating interaction between application specific integrated circuit (asic) under development and target system |
US5283900A (en) * | 1989-10-02 | 1994-02-01 | Spectron Microsystems, Inc. | Real-time operating system and virtual digital signal processor for the control of a digital signal processor |
US5260610A (en) * | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
US5475830A (en) * | 1992-01-31 | 1995-12-12 | Quickturn Design Systems, Inc. | Structure and method for providing a reconfigurable emulation circuit without hold time violations |
US5483178A (en) * | 1993-03-29 | 1996-01-09 | Altera Corporation | Programmable logic device with logic block outputs coupled to adjacent logic block output multiplexers |
US5473266A (en) * | 1993-04-19 | 1995-12-05 | Altera Corporation | Programmable logic device having fast programmable logic array blocks and a central global interconnect array |
US5444394A (en) * | 1993-07-08 | 1995-08-22 | Altera Corporation | PLD with selective inputs from local and global conductors |
US5442306A (en) * | 1994-09-09 | 1995-08-15 | At&T Corp. | Field programmable gate array using look-up tables, multiplexers and decoders |
-
1993
- 1993-04-02 US US08/042,151 patent/US5596742A/en not_active Expired - Lifetime
-
1994
- 1994-04-01 WO PCT/US1994/003620 patent/WO1994023389A1/en not_active Application Discontinuation
- 1994-04-01 EP EP94912934A patent/EP0692124A1/en not_active Ceased
- 1994-04-01 JP JP6522421A patent/JPH08508599A/ja active Pending
- 1994-04-01 CA CA002158149A patent/CA2158149A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7098688B2 (en) | 1999-09-24 | 2006-08-29 | Mentor Graphics Corporation | Regionally time multiplexed emulation system |
JP2006254449A (ja) * | 2005-03-08 | 2006-09-21 | Commiss Energ Atom | システムオンチップの大域的非同期通信アーキテクチャ |
JP5884729B2 (ja) * | 2010-04-27 | 2016-03-15 | 日本電気株式会社 | 論理回路エミュレータ及び論理回路エミュレータの制御方法 |
US9639639B2 (en) | 2010-04-27 | 2017-05-02 | Nec Corporation | Logic circuit emulator and control method therefor |
JP2013080332A (ja) * | 2011-10-03 | 2013-05-02 | Fujitsu Ltd | 評価システム |
JP2018194548A (ja) * | 2017-05-05 | 2018-12-06 | ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH | 配線トポロジの識別方法 |
Also Published As
Publication number | Publication date |
---|---|
CA2158149A1 (en) | 1994-10-13 |
WO1994023389A1 (en) | 1994-10-13 |
EP0692124A1 (en) | 1996-01-17 |
US5596742A (en) | 1997-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH08508599A (ja) | 再構成可能な論理システムのための仮想相互接続 | |
US5761484A (en) | Virtual interconnections for reconfigurable logic systems | |
US11755810B2 (en) | Method and apparatus for performing parallel routing using a multi-threaded routing procedure | |
Babb et al. | Logic emulation with virtual wires | |
Babb et al. | Virtual wires: Overcoming pin limitations in FPGA-based logic emulators | |
US6480954B2 (en) | Method of time multiplexing a programmable logic device | |
US7849441B2 (en) | Method for specifying stateful, transaction-oriented systems for flexible mapping to structurally configurable, in-memory processing semiconductor device | |
US5850537A (en) | Pipe lined static router and scheduler for configurable logic system performing simultaneous communications and computation | |
US8346530B2 (en) | Logic design modeling and interconnection | |
JP2002123563A (ja) | コンパイル方法および合成装置ならびに記録媒体 | |
KR20040023699A (ko) | 동작 프로세서 시스템 및 방법 | |
US20240370240A1 (en) | Coarse-grained reconfigurable processor array with optimized buffers | |
Boutros et al. | RAD-Sim: Rapid architecture exploration for novel reconfigurable acceleration devices | |
Hauck et al. | Software technologies for reconfigurable systems | |
US20040243384A1 (en) | Complete graph interconnect structure for the hardware emulator | |
Babb | Virtual Wires: Overcoming pin limitations in FPGA-based logic emulation | |
Kapre | Packet-switched on-chip FPGA overlay networks | |
Mehta | Time-multiplexed FPGA overlay networks on chip | |
Gebotys | Synthesizing optimal registerfile architectures for FPGA technology | |
Nguyen | A Modular Design Flow for NoC-embedded FPGAs | |
Gebotys et al. | Application-specific architectures for field-programmable VLSI technologies | |
Khanzode et al. | Concurrent Architecture of Novel Scheduler for IoT based Sensor Networks | |
Tessier | Incremental compilation for logic emulation | |
Wang | A field programmable gate array architecture for two-dimensional partial reconfiguration | |
Wahlah | Field programmable gate arrays with hardwired networks on chip |