JPH04502985A - 複数の電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法 - Google Patents

複数の電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法

Info

Publication number
JPH04502985A
JPH04502985A JP1509588A JP50958889A JPH04502985A JP H04502985 A JPH04502985 A JP H04502985A JP 1509588 A JP1509588 A JP 1509588A JP 50958889 A JP50958889 A JP 50958889A JP H04502985 A JPH04502985 A JP H04502985A
Authority
JP
Japan
Prior art keywords
logic
chip
network
ercga
design
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.)
Granted
Application number
JP1509588A
Other languages
English (en)
Other versions
JP3060018B2 (ja
Inventor
バッツ マイケル アール
バチェラー ジョン エイ
Original Assignee
クイックターン デザイン システムズ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22964407&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH04502985(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by クイックターン デザイン システムズ インコーポレイテッド filed Critical クイックターン デザイン システムズ インコーポレイテッド
Publication of JPH04502985A publication Critical patent/JPH04502985A/ja
Application granted granted Critical
Publication of JP3060018B2 publication Critical patent/JP3060018B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/347Physical level, e.g. placement or routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 電気的に再構成可能なゲートアレイロジックを用いる方法及び、これによって構 成される装置主所皇圀団 本発明は、電気的に再構成可能なゲートアレイロジック素子(ERCGA )の 使用に関するとともに、複数のこのようなロジック素子の相互接続を具え、ラー ジデジタル回路網の電気的な表現を、シミュレーション、プロトタイピング、実 行及び/又は演算のための相互接続されたロジック素子を用い、一時的に実際動 作するハードウェアの構成に変換する方法にも関するものである。
Hの1 び 説明の便宜上、本出願では、リアライザシステム(RealizerSyste m )として本発明を説明する。辞書には、後述するシステムの簡単な説明的名 称が欠けている。
リアライザシステムは、バージウェアとソフトウェアとを具えており、シミュレ ーション、プロトタイピング、実行又は演算のために、ラージデジタルロジック 回路網の表現を、一時的に実際動作するハードウェアの構成に変換する。(数個 の最も広く利用することのできる構成可能なロジックデバイスを用いることによ って、極めて多くのロジック機能を具えている場合、デジタルロジック回路網を ラージとみなすこととしている。)(専らではなく)一般的に用いられている適 切な用語を簡単に再検討することで、以下の説明を、より理解し易いものとする ことができる。
何かを“実現する”とは、それを実際又は現実のものとすることである。デジタ ルロジック回路網又は設計の全体又は一部を実現するといことは、それを永久的 に組み立てることなく、実際の動作を構成することである。
“入力設計部”とは、実現されるべきデジタルロジック回路網を表している。こ の入力設計部は、計測デバイス又はユーザ指定実デバイスと同様に、組合せロジ ック及び記憶を表している基本要素と、基本要素の入出力ビン間の接続を表現し ている回路網とを具えている。
ロジックチップ又は相互接続チップを“′構成”するとは、その内部ロジック機 能及び/又は相互接続を特定の方法で配置することである。入力設計部のための リアライザシステムを構成するとは、その内部ロジック機能及び相互接続を、入 力設計部に応じて配置することをいう。
設計を“変換°゛するとは、その表現を、構成データのファイルに変換すること であり、これをリアライザハードウェアに直接用いると、設計部を実現すること ができる。
設計部を゛作動”させるとは、入力設計部の表現に応じて構成されたリアライザ ハードウェアを実際に作動させることである。
“相互接続′”とは、ビンがワイヤで相互接続されているかのように、多数のチ ップI10ビン間にロジック信号を通過させるための再構成可能な手段である。
“′バス“″とは、部分的にクロスバ−相互接続におけるロジックチップとクロ スバ−チップとの間の又は部分的クロスバ−の階層におけるクロスバ−チップ間 の組込相互接続ワイヤの中ののパスの中から特定のバスを特定するものである。
“’ERCGA”とは、電気的に再構成可能なゲートアレー、すなわち組合せロ ジックの捕捉及び入力/出力接続(及び付加的な記憶装置)のことであり、その 機能及び相互接続は、単に電気信号を供給することで、何回にも亘って、構成及 び再構成される。
“ロジックチップ”とは、リアライザシステムにおける入力設計部の組合せロジ ックと、記憶装置と、相互接続とを実現するのに用いられるBRCGAである。
′Lチップ”とは、ロジックチップ、すなわちロジックチップの場所に取り付け られたメモリモジュール、又はユーザ指定のデバイスモジュールである。
“相互接続チップ”とは、I10ピン間の任意の相互接続を実行することのでき る電気的に再構成可能なデバイスである。
“ルーティング・チップ”とは、直接相互接続、又はチャンネルルーティング相 互接続に用いられる相互接続チップのことである。
バクロスパーチップ”とは、クロスバ−相互接続又は部分的クロスバ−相互接続 に用いられる相互接続チップである。
′“Xチップ”とは、Lチップを相互に接続する部分的クロスバ−中のクロスバ −チップである。“Xチップ”とは、階層部分的クロスバ−相互接続の第2レベ ルにおけるクロスバ−チップであり、Xチップを相互に接続している。“Xチッ プ”とは、階層部分的クロスバ−相互接続の第3レベルにおけるクロスバ−チッ プであり、Xチップを相互に接続している。
“ロジックボード”とは、ロジックを伝達するプリント回路ボード及び相互接続 チップである。°°ボックス′”とは、−以上のロジックボードを具えているカ ードケージのような物理的格納装置である。“ラック”とは、−以上のボックス を具えている物理的格納装置である。
“システムレベル相互接続”とは、個々のチップよりも大きなデバイスを相互接 続することであり、ロジックボード、ボックス、ラック等である。
“ロジックセルアレイ”又は“LCA”とは、ERCGAの特定の例であり、X 1linx Inc、その他で製造され、好適な例に用いられるものである。
“構成可能なロジックブロック”又は“CLB”は、構成可能なロジックの小さ なブロック及びフリップフロップであり、組合せロジック及びLCAにおける記 憶を表している。
゛設計メモリ”とは、入力設計部において特定されるメモリ機能を実現するメモ リデバイスである。
“ベクトルメモリ”とは、多くの刺激信号をリアライザシステムに供給及び/又 はリアライザシステムにおいて実現される設計部からの多くの応答信号を捕捉す るのに用いられるメモリデバイスである。
′“ステイミュレータ(stimulator)”とは、刺激信号を実現された 設計部の個々の入力端子に供給するのに用いられるリアライザシステム中のデバ イスである。°“サンプラ”とは、実現された設計部の個々の出力端子からの応 答信号を捕捉するのに用いられるリアライザシステム中のデバイスである。
“ホストコンピュータ“とは、リアライザシステムのホストインターフェイスハ ードウェアが接続されている慣用のコンピュータシステムであって、リアライザ のハードウェアの構成及び動作を制御するものである。
°″BOA システム”とは、電気自動設計システム、すなわち電気設計部を作 成、編集、及び分析するのに用いられるコンピュータベースの゛ンールに関する システムである。ホストEDA システムとは、リアライザシステムを応用する 多くの場合において、入力設計ファイルを発生させるものである。
シングルラージ設計部を保持するのに十分な容量を有する再構成可能なゲートア レイを用いれば、リアライザ技術の多くは不要である。しかしながら、2つの理 由からこのことは決して実現することができない。
まず第1に、ERCGAのロジック容量は、同じ製造技術を用ル)で製造された 物理的に同一のサイズの再構成不可能な集積回路と同じではない。再構成のため の機能は、チップのかなりのスペースをとる。ERCGAは、信号を導くスイッ チングトランジスタと、これらのスイッチを制御するための記憶トランジスタと を有しており、ここで、再構成不可能なチップは金属トレースを具えている。そ して、ERCGAは、これらのトランジスタをロジックとして用いることができ る。再構成可能なチップに必要とされる規則性は、リソースが実際の設計では用 いられていないということである。その理由は、規則的なロジック構造の配置及 びルーティングが、利用可能なゲートを100%用いることができないからであ る。ERCGAを製作するためのこれら係数の結合は、再構成することのできな いチップのロジック容量の約1/10である。目下のところ、実際の実行では、 ERCGAに要求される最大ゲート容量は、9.000ゲートである(Xili nx XC3090) 。
同様の技術を用いて製造された、現在はぼ慣用となっている集積回路では、10 0,000ゲ一トロジツク容量以上が与えられる(モトローラ)。
第2に、通常10〜100或いはそれ以上の多くの集積回路を用いて、多くのプ リント回路ボード上に、リアルデジタルシステムを設けることは、よく知られて いることである。ERCGAのロジック容量が、大規模集積回路と同等である場 合であっても、はとんどのデジタルシステムを実現するのに、依然としてこのよ うなチップを多く用いることとなる。しかし、ERCGAのロジック容量は、大 規模集積回路と同等ではないため、更に多くのチップが必要となる。
最終的に、リアライザシステムがシングル大規模チップのロジック容量を有する ためには、リアライザシステムが10のオーダのERCGAを有している必要が ある。このリアライザシステムが、このようなチップの容量を有しているために は、100個のオーダのERCGAが必要とされる。このことは、特殊な製造技 術とは無関係に必要とされることに注意しなければならない。チップ当りのトラ ンジスタの数を2倍にすることによる製造工程によって、ERCGAの能力を2 倍にすると、再構成不可能なチップの容量が2倍となり、それ故、設計サイズ全 体も同様に2倍となる。
これらの理由によって、有効なリアライザシステムを開発するためには、電気的 に再構成可能な方法で、数百個のERCGAを相互接続できるようにするととも に、設計を数百個のERCGAの構成に変換できるようにする必要がある。本発 明は、ERCGAそれ自体の技術にまで及ぶものではなく、多くのERCGAか らリアライザシステムを開発するための技術にのみ関するものである。
ERCGA技術は、いかにしてリアライザシステムを開発するかを示してはいな い。その理由は、それが別の問題だからである。
一つのICチップの全体を構成している再構成可能な相互接続ロジック素子のた めのERCGA技術は、多くを相互接続するのに適用できない。いずれか一方の 方向に信号を通すスイッチングトランジスタによって、ERCGA相互接続を容 易に達成することができる。一つのチップ全体に亘って障壁が存在しないので、 相互接続に利用する多数の通路が存在する。チップが小さいので、信号のディレ ィも小さい。多くのERCGAを相互接続するのは、むずかしい。その理由は、 ICパッケージピン及びプリント回路ボードを伴っているからである。利用する ことのできるピンの数が制限されいてるということは、相互接続のための通路の 数が制限されているということである。チップの信号の入出力は、(例えば増幅 しながら)アクティブピンバッファを介して行われなければならない。アクティ ブピンバッファは、一方向にのみ信号を送ることができる。これらのバッファ及 び回路基板のトレースによって、一つのチップによって生ずるディレィよりも大 きなディレィが生ずるリアライザシステムの相互接続技術によって、ERCGA とは全く別の方法で、これらの問題を解決する。
最終的に、ERCGA技術では、設計を多くのチップの構成に変換する必要はな い。リアライザシステムの相互接続は、ERCGA内の相互接続とは全く異なる ものであり、相互接続を決定及び構成する全く別の方法が必要とされる。
所定の時間に利用することのできる迅速且つ緻密なシリコン技術を用いて、ER CGAを開発する。(1ミクロンSRAM技術を用いて、1989 X1lin x XC3000LCAを開発する。)これは、実現される迅速且つ緻密なシス テムと同一の技術である。ERCGAは汎用のものであり、再構成可能な相互接 続を具えているので、現行のゲートアレイや慣用のチップはど緻密ではないファ クタを具えている。リアライザシステムは、ERCGAのレベルより高い汎用性 及び再構成可能性に対するサポートを反復する。従って、リアライザシステムは 、現行の緻密なシステム程緻密ではなく、常に概略的には、1のオーダの一定の ファクタとなっている。ボードレベルのリアライザシステムは、ゲートアレイを 実現し、ボックスレベルのリアライザシステムは、ボード及び大規模慣用チップ を実現する。更に、ラックレベルのリアライザシステムは、ボックスを実現する 。
設計構造は、パッケージングの影響を強く受ける。I10ビン幅: VLSTチ ップレベルでは、100110ピンは容易に開発でき、200ビンは開発が困難 であるが、用いないこともなく、400ピンに関しては、はとんど開発されてい ない。ボードレベルでは、これらの数字は概して2倍となっている。ロジック密 度:ボードが、しばしば5個のVLSrチップを具えており、10個のVLSl を具えることも可能であるも、20個のVLS Iを具えることは一般的ではな い。単にその理由は、実際のボードの最大値が約200平方インチに制限されて いるからである。ボックスは、通常10〜20ボードを具えており、時には、4 0ボードを具えている。相互接続密度:2次元ワイヤの平面を数枚用いることが できる場合、モジュールは、完全にチップ及びボード上で相互接続される。しか し、背面が本質的に一次元的な場合には、ボックスレベルにおいて、それほど完 全に相互接続されているわけではなこれらパンケージングの制約は、有用なリア ライザシステムにおいて見られるシステム構造にかなり影響を及ぼす。リアライ ザシステムでは低密度であるがために、実現される設計部では、単一のロジック チップは、通常、唯一のモジュールを構成する。一つのボードにおけるロジック チップの複合体によって、1つ又は2つのVLSIチップを実現する。リアライ ザボードのボックスは、設計部において、単一のボードを実現する。更に、ボッ クスのラックは、設計部のボードのボックスを実現する。
従って、リアライザシステムのボードレベルのロジック及び相互接続の複合体は 、設計部のVLS Iチップと同じロジック・相互接続容量及び11067幅を 有している必要がある。リアライザシステムのボックスは、設計部のボードと同 じロジック・相互接続容量及び11067幅を必要とし、リアライザシステムの ラックは、設計部のボックスと同じロジック・相互接続容量を必要としている。
図Iじ11創裟説朋− 図1は、リアライザハードウェアシステムのを示す略ブロック図である。
図2は、直接相互接続システムを示す略ブロック図である。
図3は、チャンネル・ルーティング相互接続システムを示す略ブロック図である 。
図4は、クロスバ−相互接続システムを示す略ブロック図である。
図5は、クロスバ−回路網相互接続システムを示す略ブロック図である。
図6は、部分的なりロスバー相互接続システムの簡単な一例を示す略ブロック図 である。
図7は、部分的なりロスバー相互接続システムを示す略ブロック図である。
図88及び8bは、クロスバ−チップ幅の相違を説明するための図である。
図9は、トライステート回路網を示す略ブロック図である。
図10は、図9のトライステート回路網と等価な、積の和を示す略ブロック図で ある。
図11aおよびIlbは、°゛フローテイングロー°及び“フローティングハイ パの積の和の回路網を示す略ブロック図である。
図12は、相互接続を最小とするように構成されたドライバ及びレシーバを示し ている略ブロック図である。
図13は、ロジック加算構成を示している略ブロック図である。
図14は、クロスバ−加算構成を示している略ブロック図である。
図15は、双方向性のクロスバ−加算構成を示している略ブロック図である。
図16は、双方向性のクロスバ−トライステート構成を示している略ブロック図 である。
図17は、部分的なりロスバーからのオフボード接続を示している略ブロック図 である。
図18は、Yレベルクロスバ−相互接続を示している略ブロック図である。
図19は、双方向性バスのシステムレベル相互接続を示す略ブロック図である。
図20は、共通バス相互接続に基づ(,8個のボードを示す略ブロック図である 。
図21は、2つのバスレベルの階層を示す略ブロック図である。
図22は、最大バス相互接続階層を示している略ブロック図である。
図23は、汎用メモリモジュール構造を示す略ブロック図であ図24は、メモリ アドレスロジックチップを示す略ブロック図である。
図25は、共通I10を用いてのメモリデータロジックチップを示す略ブロック 図である。
図26は、分離I10を用いてのメモリデータロジックチップを示す略ブロック 図である。
図27は、−個のデータビットに関する多重RAMを示す略ブロック図である。
図28は、メモリモジュールの好適例を示す略ブロック図である。
図29は、刺激ベクトルメモリを示す略ブロック図である。
図30は、応答ベクトルメモリを示す略ブロック図である。
図31は、刺激及び応答に対するベクトルメモリを示す略ブロック図である。
図32は、ベクトルメモリアドレスチップの好適例を示す略ブロック図である。
図33は、ベクトルメモリデータチップの好適例を示す略ブロック図である。
図34は、ランダムアクセスステイミュレータを示す略ブロック図である。
図35は、エツジ感応タイプのステイミュレータを示す略ブロック図である。
図36は、サンプラの略ブロック図である。
図37は、変更検出サンプラを示す略ブロック図である。
図38は、ユーザ指定のデバイスモジュールアーキテクチャを示す略ブロック図 である。
図39は、デバイスを取り付けているUSDMの好適例を示す略ブロック図であ る。
図40は、構成グループを示す略ブロック図である。
図41は、ホストインターフェースアーキテクチャを示す略ブロック図である。
図42は、Rバス続出及び読込サイクルを示す図である。
図43は、リアライザ設計変換システムを示す略プロ・ツク図である。
図44a及び44bは、本発明に用いられている設計部データ構造を示す図であ る。
図45a、 45b及び45cは、本発明に用いられている基本要素変換を示す 図である。
図46は、基本要素のクラスタへの移動を示す略プロ・ツク図である。
図47a、 47b及び47cは、シンプルな回路網相互接続を示す図である。
図48a、 48b及び49cは、トライステート回路網相互接続を示す図であ る。
図49は、リアライザロジックシュミレーションシステムを示す略ブロック図で ある。
図50a、 50b及び50cは、マルチステートロジックのリアライザシステ ム構成を示す略図である。
図51a、 51b及び51cは、ディレィ依存機能の例を示す略図である。
図52a、 52b及び52cは、ユニットディレィ構成の例を示す略図である 。
図53a、 53b及び53cは、リアルディレィ構成を示す略図である。
図54は、リアライザフォールトシュミレーションシステムを示す略ブロック図 である。
図55は、リアライザロジックシュミレータ評価システムを示す略ブロック図で ある。
図56は、リアライザプロトタイピングシステムを示す略ブロック図である。
図57は、リアライザプロトタイピングシステムのデジタルコンピュータの一例 を示す略ブロック図である。
図58は、仮想ロジックアナライザの構成を示す略ブロック図である。
図59は、リアライザ生産システムを示す略ブロック図である。
図60は、リアライザ計算システムを示す略ブロック図である。
図61a、 61b及び61cは、ロジックボード、ボックス及びラックの階層 相互接続を具える好適例の一般的なアーキテクチャを示す図である。
図62a及び62bは、ロジックボード、ボックス及びZレベルボックスの物理 的な構成を示す図である。
1、リアライザハードウェアシステム 1.1 ロジック及び相互接続チップ技術1、2 相互接続アーキテクチャ− 1,2,i 最も近い隣接相互接続 1.2.2 クロスバニ相互接続 1.2.3 相互接続トライステート回路網1.2.4 システムレベル相互接 続 1.3 特定目的の構成素子 1.3.1 設計部メモリ 1.3.2 刺激/応答 1.3.3 ユーザ指定デバイス 1.4 構成 1.5 ホストインターフェイス 2、リアライザ設計変換システム 2.1 設計部リーグ 2゜2 基本要素変換 2.3 分割化 2.4 ネットリスティング及び相互接続3、リアライザの応用 3.1 リアライザロジックシュミレーションシステム3.1.1 ロジックシ ミュレーション、刺激及び応答の伝送システム 3.1.2 ロジックシュミレーション、オペレーティング・カーネル 3.1.3 リアライザロジックシュミレーシランシステムの使用 3.1.4 2状態以上の実現化 3.1.5 リアライザのディレィに関する表現3.1.6 リアライザシュミ レーションから他のシュミレーションへの状態の伝送 3.2 リアライザフォールトシミュレーションシステム3.3 リアライザロ ジックシュミレータ評価システム3.4 リアライザプロトタイピングシステム 3.4.1 実現された仮想計器 3.5 リアライザ実行システム 3.6 リアライザ生産システム 3.7 リアライザ計算システム 4、好適例 1、リアライザハードウェアシステム リアライザハードウェアシステム(図1)は:1)1)少なくとも2つのロジッ クチップ(通常、数十個又は数百価)及び 2)付加的に、メモリモジュール、ユーザ指定のデバイスモジュールのような、 1以上の特定目的のための構成要素を具えている1セツトのしチップを、 2)I10ビンを相互接続可能なすべてのしチップに接続されている構成可能な 相互接続と、 3)ホストコンピュータ、構成システム及びデータ入出力又は制御のためのホス トが使用することのできるすべてのデバイスに接続されたホストインタフェース と、4)ホストインタフェース、すべての構成可能なしチップ及び相互接続デバ イスに接続された構成システムとを具えている。
このハードウェアを、通常、ロジックボード、ボックス及びラックの形態で実装 し、ホストコンピュータに接続する。このハードウェアは、ホストコンピュータ の制御の下、作動する。
ロジ・・ ゛ チ・プ ′ 1.1.1 ロジックチップデバイス デバイスが、リアライザロジックチップとして役立つためには、このデバイスが 電気的に再構成可能なゲートアレイ(ERCGA)でなければならない: 1)デバイスは、容量制限を条件として、組合せロジック(及び付加的な記憶装 置)を具えているデジタルロジック回路によって構成することができなければな らない。
2)デバイスは、その機能及び内部相互接続を、電気的に何回でも、種々の論理 回路に適合するように構成することができるという点において、電気的に再構成 可能でなければならない。
3)デバイスは、特定の回路網又は特定するI10ピンとは無関係に、デジタル 回路網でI10ピンを自由に接続し、リアライザシステムの部分クロスバ−1又 は直接相互接続が首尾よくロジックチップを相互接続できなければならない。
ロジックチップとして好適な、再構成可能なロジックチップの一例としては、ロ ジックセルアレイ(Logic Ce1l Array(LCA))がある(  ”The Programable Gate Array Handbook  ” 、X1jinx Inc、、 San Jose、 CA+ 1989) 。このロジックチップは、X1linx、 inc、その他で製造されている。
このチップは、構成可能なロジックブoyり(configurable Lo gic Block(CLB))の2次元配列を具えている。この2次元配列は 、再構成可能なI10ブロック(IOB )で囲まれているとともに、CLBと IOBとの間の行と列とに配置されたセグメントを配線することによって相互接 続されている。各CLBは、数個の入力端子と、ロジック機能を再構成すること のできる多重入力組合せロジック回路網と、−以上のフリップフロップと、CL B内の再構成可能な相互接続によって連結することができる一以上の出力端子と を具えている。各10Bを再構成し、チップの大力バッファ又は出力バッファと することができる。更に、各JOBを外部I10ピンに接続する。配線したセグ メントをCLB、 JOB及び、お互いに接続することによって、再構成可能な パストランジスタ及び相互接続マトリックスを介し、CLB、 IOB及びセグ メント間に、相互接続を形成する。すべての再構成可能な機能を、チップのシリ アルシフトレジスタにおけるピントで制御する。従って、LCAは、゛構成ビッ トパターン”のシフトによって完全に構成される。
構成に要する時間は、10〜100マイクロ秒である。X1linx 2000 及び3000シリーズのLCAは、64〜320のCLBを具えており、56〜 144のJOBを使用することができる。
LCAネットリス) (netlist )変換ツール(以下にて示す)は、ロ ジックをCLBに作成し、CLBとJOBとの間の相互接続を最適にしている。
CLBとI10ビンとの間の相互接続を構成することによって、LCAは、特定 の回路網又は特定する■10ビンとは無関係に、デジタル回路網でI10ビンを 自由に接続することができる。リアライザシステムを好適に具体化するには、L CAデバイスを、そのロジックチップとして用いる。
ロジックチップとして好適な、他の種類のアレイとしては、ERA 、すなわち 電気的に再構成可能なアレイがある。市販されているものとては、Plesse yのERA 60 Kのタイプのデバイスがある。これは、構成ビットパターン を部分的にRAMにロードすることで構成される。ERAを2人力NANDゲー トのアレイとして構成する。RAFjO値に応じて、2人力NANDゲートの各 々を、独立に互いに相互接続する。RAMは、ゲート入力端子の、一連の相互接 MJ 路へ(7) 接m ヲ切換エル、 ERA 60100 ハ、約10,0 00個のNANDゲートを具えている。アレイの周辺のI10セルは、ゲート入 力端子及び/又は出力端子を、外部I10ピンに接続するのに用いられる。 E RAネットリスト変換ツールは、ロジックをゲートに作成し、ゲート間の相互接 続を最適にするとともに、以下に示すように、構成ビットパターンファイルを出 力する。ゲートとI10セル間の相互接続を構成可能にすることによって、ER Aは、特定の回路網又は特定するI10ピンとは無関係にデジタル回路網を用い て、I10ピンを自由に接続することができる。
ロジックチップとして用いることのできる、更に他の種類の再構成可能なロジッ クチップとしては、EEPLD 、すなわち、電気的に消去可能で、プログラム 可能なロジックデバイス(“’GALHandbook″、 Lattice  Sea+1conductor Corp、+ Portland、 oR。
1986 )がある。商用のものとしては、ラティス・ジェネリック・アレイ・ ロジック(Lattice Generic Array Logic(GAL ))がある。これは、ビットパターンを、ロジック構成の部分にq−ドすること で構成される。GALは、出力フリップフロップを有する、積の和のアレイとし て構成されており、その構成は、X1jinx LCAよりも汎用性を有してい ない。GALによって、I10ピンを、すべての入力ピン間及びすべての出力ピ ン間のロジックに接続せずにすみ、部分的に要件を満足している。 GALは、 10〜20個のピンを有しており、比較的小さな構造となっている。
しかし、GALはリアライザロジックチップとして用いられる。
プログラム可能なロジックチップについての詳細は、米国特許第4.642,4 87号、第4.700.187号、第4.706.216号、第4.722゜0 84号、第4,724,307号、第4.758.985号、第4.768.1 96号及び第4.786.904号明細書において説明されている。ここでは、 これら明細書の内容を、説明に用いている。
1、)、2 相互接続チップデバイス 相互接続チップは、クロスバ−相互接続の全体及び一部に用いるクロスバ−チッ プと、直接相互接続及びチャンネルルーティング相互接続に用いるルーティング チップとを具えている。
デバイスが、リアライザ相互接続チップとして役立つためには:1)デバイスは 、直ちに、任意に選択されたI10ピンのグループ間で多くのロジック相互接続 を形成し、各相互接続は、その入力I10ピンからロジック信号を受信するとと もに、これらの信号を出力I10ピンに供給できなければならない。
2)デバイスは、その相互接続を電気的に規定するという点において、再構成可 能でなければならず、多くの種々の設計に適合できるように再規定できなければ ならない。
3)クロスバ−加算技術を用いて、部分的クロスバ−相互接続におけるトライス テート回路網を相互接続する場合、デバイスは、加算ゲートを具体化できなけれ ばならない。(クロスバ−加算技術を用いない場合には、トライステート・セク ションにて説明するように、他のトライステート技術を用いる。) 上述したl1iRCGAデバイス、すなわち、LCA、 ERA及びEEPLD は、これらの要件を満足しており、相互接続チップとして用いられる。相互接続 チップに、ロジックをほとんど、或いは全く、用いない場合、はとんどのデジタ ル回路網を構成することのできる機能は、データを直接入力ピンから出力ピンへ と送ることができる。 LCAは、リアライザシステムを好適に具体化する際、 クロスバ−チップとして用いられる。
Tl 74AS 8840デジタルクロスバ−スイッチ(SN 74 AS 8 840データシート、テキサス インストゥルメント、ダラスTX。
1987)すなわち、通常電話スイッチに用いられる交差点スイッチデバイスを 、相互接続チップとして用いることができる。ところで、これらのクロスバ−ス イッチデバイスを、作動中、動的に変化する構成に応用する場合、データ伝送ス ピードに匹敵する再構成スピードが得られる。この再構成スピードは、ERCG Aデバイスの構成スピードよりも速い。この結果、このようなりロスバースイッ チデバイスは、ERCG^よりも高価且つ、低容量であり、あまり望ましくない リアライザ相互接続チップを作成することとなってしまう。
1.1.3 F、RCGA構成ソフトウェア構成ピットパターンは、ユーザ指定 に従って、ERCGAにロードされ、そのロジックを構成する。ユーザが単独で ロジックを構成するのは、非現実的である。従って、通常、ERCGA装置を製 造することによって、ネットリスト変換ソフトウェアツールが得られる。このツ ールは、ネットリストファイルに具わっているロジック仕様を、構成ビットパタ ーンファイルに変換する。
リアライザ設計変換システムは、ERCGAのコンピュータメーカによって提供 されるネットリスト変換ツールを用いている。
リアライザ設計変換システムが、設計部において、ネットリスト変換ツールを読 出し変換し、ロジックチップに分割し、さらに相互接続を決定すると、各ロジッ クに対するネットリスト及びリアライザ・ハードウェアにおける相互接続チップ を発生させる。ネットリストファイルとは、すべての基本要素(ゲート・フリッ プフロップ及びI10バッファ)及び、単一ロジックチップ又は相互接続チップ で構成されるこれらの相互接続のリストのことである。
リアライザ設計変換システムは、ERCGAネットリスト変換ツールを、各ネッ トリストファイルに供給し、各チップの構成ファイルを得る。ロジックチップ及 び相互接続チップとして種々のデバイスを用いる場合には、適切なツールを用い る。構成ファイルは、2進ビツトパターンを具え、これはERCGAデバイスに ロードされると、ネットリストファイルの仕様に応じて、ファイルを構成する。
ERCGAデバイスは、これらのファイルを、永久に記憶され且つ、作動前に設 計部のリアライザシステムを構成するのに用いられる単一バイナリ−ファイルに 収集する。
リアライザ設計変換システムは、ツールのERCGAコンピュータメータによっ て規定されるネットリスト及び構成ファイルフォーマットに準拠している。
1.1.4 ネットリスト変換ツール リアライザシステムを好適に具現化するために、ロジックチップ及びクロスバ− チップとしてLCAを用いているので、X1linx LCAネットリスト変換 ツール及びそのファイルフォーマットをここで説明する。X1linx製のLC Aネットリスト変換ツール(XACT )によって、ネットリスト形式のロジッ ク回路網が与えられるとともに、自動的にロジック素子がCLBに作成される。
I10ピンの位置に関して、最適の方法でロジック素子を構成し、内部相互接続 を容易にすることができる。従って、このツールは、いかにしてロジックチップ の内部相互接続を構成するかを解明し、その出力結果としての構成ファイルを作 成する。
LCAネットリスト変換ツールは、単に個々のLCAを変換するだけであって、 ロジック回路網が大き過ぎて、単一のLCAに適合できない場合には、障害が生 じる。
X1linx LCAネットリストファイルを、XNFファイルと称する。
これは、アスキーテキストファイルであり、各々の基本要素に対する1セツトの XNFファイル中のステートメントを具え、基本要素、ピン及びこれらのピンに 接続される回路網の名称を特定する。これらの回路網は、LCAネットリスト中 で相互接続されており、入力設計部の回路網ではなく、LCA基本要素を接続し ている。χNFファイル中のいくつかのファイルは、設計変換の結果、入力設計 部の回路網に直接対応しているが、他のファイルは、対応していない。
例えば、これらは“I 1781’ と称する、2人力XORゲートを特定する ためのXNFファイル基本要素ステートメントであり、前記2人力XORゲート の入力ピンを、’DATAO’及び’INVERT ’と称する回路網に接続し 、その出力ピンを、’ RESULT ’と称する回路網に接続している: SYM、I 1781.X0R PIN、 0. O,RESULT PIN、I、I、DATAO PIN、 0. I、 INVERT ND 入力及び出力I10ビンバッファ(入力のためのIBUP、出力のための0BU P)は、I10ピンを特定するためのステートメントを付加することで、同様に して特定される。これらは、0BUPに対する基本的なステートメントであり、 これによって、’ RESULT ’を、’ RESOLT D″ と称する回 路網を介してI10ピン°P57°において駆動させる: SYM、IA I266.0B[IP PIN、0.0.REStlLT D PIN、 1. L RESULT ND EXT、RESULT D、O,LOC=P57Xilinx LCA を、R BTファイルと称する。これは、アスキーテキストファイルであり、構成される 部分を識別するヘッダステートメントと、動作のための部分を構成するのに用い られるバイナリ−ピットパターンを特定する “0゛及び°S°のストリームと を具えている。
の1 実際の場合、大規模入力設計部を実現するためには、多くのロジックチップを使 用しなければならないため、リアライザのロジックチップを再構成可能な相互接 続に接続しなければならない。この相互接続によって、必要とされているように 、設計部中の信号が、分離ロジックチップ間を流れる。この相互接続は、電気的 相互接続及び/又は相互接続チップの結合を具えている。リアライザシステムに おいて大規模設計部を実現するためには、トータルで幾万ものI10ビンを有す るロジックチップが相互接続によって供給されなければならない。
相互接続は、システムサイズが大きくなるにつれて、経済的に拡張可能であり、 容易なものであるとともに、入力設計部を幅広く確実に構成することができ、更 に高速であり、ロジックチップ間のディレィを最小にすることができる。現実の 設計部における回路網単位のピンの平均数は、設計部のサイズとは無関係な小さ な数であるため、接続するロジックチップのトータル数が増加するにつれて、優 れた相互接続のサイズ及びコストも直接的に増加するはずである。設計部の容量 が増大するにつれて、用いる特定ロジックチップ容量、ロジックチップの数及び ロジックチップピンの数も直接的に増大する。従って、設計部の容量とともに、 優れた相互接続のサイズ及びコストも直接的に変化する。
2クラスの相互接続構造を説明する:隣接相互接続を第1セクシヨンで説明し、 クロスバ−相互接続を次のセクションで説明する。最も近い隣接相互接続は、ロ ジックチップと、2次元、3次元又はそれ以上の次元の面に従って、混合及び構 成された相互接続とによって構成される。最も近い隣接相互接続では、ゲートア レイチップの行列編成又はプリント回路基板をロジックチップの編成にまで拡張 している。所定の入力設計部の構成は、チップ及びボードを開発する場合に用い られるのと同様の配置及びルーティングプロセスによって決定される。クロスバ −相互接続は、相互接続されているロジックチップとは異なる。
クロスバ−相互接続は、伝送及び演算に用いられるクロスバ−の多入力多出力編 成に基づくものであり、平面的に構成することができる。
最も近い隣接相互接続は、ロジック容量が大きくなるにつれて、大きくなるが、 ルーティング通路が密集するにつれて、大規模相互接続はゆっくりとなり、また 、構成を決定することが困難且つ不確実なものとなる。単なるクロスバ−は、そ の直接性のために極めて高速であり、その規則性のために構成が容易であるが、 すぐに非実用的な大きさとなってしまう。部分的なりロスバー相互接続は、はと んどの直接性と、単なるクロスバ−の規則性とを保持するが、設計部容量の増大 とともにのみ直接的に増大し、理想リアライザ相互接続を実現している。実際の リアライザシステムでは、図示した他の相互接続を用いることができるが、部分 的クロスバ−を好適な具体例に用いる。この使用は、この明細書の他の部分から 類推される。
1.2.1 最も近い隣接相互接続 1.2.1.1直接相互接続 直接相互接続では、相互接続チップを用いずして、直接すべてのロジック与ツブ を、規則アレイにおいてお互いに接続する。
この相互接続は、単にロジックチップ間の電気的接続から成っている。ロジック チップの相互接続は、多くの異なるパターンを形成することができる。一般的に 、一つのロジックチップのピンをグループ毎に分割する。従って、すべてのロジ ックチップおいて各ピンのグループを、他のロジックチップの同様なピンのグル ープ等に接続する。各ロジックチップは、単に一組のすべてのロジックチップ、 すなわち、物理的な意味において、つまり、少な(ともアレイの接続形態という 意味において、最も近い隣接ロジックチップとだけ接続する。
1以上のロジックチップにロジックを接続するすべての入力設計部回路網を、相 互接続チップとしての機能を果たす他のロジックチップに、これらのロジックチ ップを直接接続する場合には直接接続し、又は、一連の他のロジックチップを介 して接続し、チップの実現するロジックのいずれかに接続することなしに、ロジ ック信号を一方のI10ビンから他方のI10ビンへと伝達する。このようにし て、いかなる所定のロジックチップも、設計部ロジックの共有に加えて、一方の チップから他方のチップへと相互接続信号を伝達するように構成されている。
相互接続機能を実行することのできない非ロジックチップリソースを、アレイの 周辺で、専用ロジックチップピンに接続又は、ロジックピンを相互に接続してい るピンに正接させ接続している。
図2に示す特定の例では、行及び列の2次元格子中に配置されたロジックチップ を具えており、その各々のチップは、メモリを有する隣接ロジックチップに、北 側、南側、東側及び西側で接続されている4つのピンのグループと、Iloと、 周辺で接続されたユーザ指定のデバイスとを具えている。
この相互接続を、ここで説明した2次元のものから、より高次元のものへと拡張 することができる。一般的に、 “i゛を次元の数とする場合、各々のロジック チップのピンを、2”n個のグループに分割する。各々のロジックチップは、規 則的な形態で、2′″n個の他のロジックチップと接続している。他の変更も同 様であるが、ピンのグループの大きさは等しくない。ロジックチップの数及び各 々のピンの数に基づき、ピングループサイズの寸法及びセットを選択し、2つの ロジックチップ間に介在するロジックチップの数を最小とするとともに、各々直 接隣接しているチップ対の間を充分に相互接続し、回路網がこれら2つのチップ だけにつながるようにしている。相互接続のためのロジックチップをいかに構成 するかを決定するには、ロジックのためのチップをいかに構成するかを決定しな ければならない。ロジックチップを構成するためには:1)基本要素変換のセク ションで述べたように、設計部のロジックをロジックチップの基本要素形態に変 換する。
2)ロジックチップにおけるロジック基本要素を区分化及び配置する。ロジック チップのロジック容量内に各々適合しているサブ回路網に、設計部を区分化する ことに加えて、サブ回路網をお互いに対して配置し、必要とされる相互接続の量 を最小とする。ゲート・アレイ又は標準セルチップ自動区分化及び配置ツール( ”Gate 5tation Reference Manual”、 men tor Graplrics Corp+ 1987 )において用いられてい るような、標準区分化及び配置ツール方法を用いて、いかにしてロジック基本要 素をロジックチップに割り当てるかを決定し、相互接続を達成する。このことは 、定評のある方法であり、ここでは、これ以上の説明を省略する。
3)ロジックチップ間の相互接続を配線する。すなわち、ロジックチップの中か ら特定のロジックチップ及びI10ピン相互接続を選定し、ゲートアレイ又は標 準セルチップ自動ルーティングツール(Gate 5tation Refer ence Manual”。
Mentor Graphics Corp、+ 1987 )のような標準ル ーテングツールを用い、いかにしてチップを構成するかを決定し、相互接続を達 成する。これは、定評のある方法であるため、いかにして、この方法を相互接続 の問題に適用するかを除き、ここでは、これ以上の説明を省略する。ロジックチ ップのアレイを、シングルラージゲートアレイ又は、標準セルチップと同じ方法 で取り扱う。各々区分化されたロジックサブネットワークは、大規模ゲートアレ イロジックマクロに対応しており、相互接続されたロジックチップI10ピンは 、ルーティングに用いる配線チャンネルを規定している。特に、各々のルーティ ング方向には、相互接続されたロジックチップI10ピンの各グループ毎のピン と同数のチャンネルを具えている。ロジックチップ間では、多くの相互接続が可 能であるので、多くのルーティング層によって、ゲートアレイのチャンネル制約 を取り除くのと同様の方法を用いて、ルーティングを制約することなく、各末端 部において、同じチャンネルを用いる。
4)ルーティングの過剰(ルーティング処理の間あるポイントにおいてチャンネ ルをルーティングすることができない場合)のために、相互接続を行うことが不 可能な場合、調整された基準を用いて、設計部を再区分化及び/又は再配置し、 過剰を除去し、再び相互接続を試みる。
5)どの回路網がどのチャンネルを使用するについての仕様を、特定のルーティ ングチャンネルと、I10ピンとの間の対応に応じて、個々のロジックチップに 対するネットリスト及び、ロジックチップ信号に対する特定ピンの役割に変換す る。ロジック基本要素の仕様とともに、I10ピン仕様及びロジックチップ内部 相互接続の形態の仕様を、各ロジックチップ毎のネットリストファイルに送出す る。
6)ロジックチップネットリスト変換ツールを用い、各ロジックチップ毎の構成 ファイルを発生させるとともに、これらを組合せ、入力設計のための最終的なリ アライザ構成ファイルを作成する。
1.2.1.2 チャンネルルーティング相互接続チャンネルルーティング相互 接続は、直接相互接続の変形である。この場合、チップは、ロジックとしては用 いられず単に相互接続を行う相互接続チップと、もっばらロジックとして用いら れるロジックチップとに分割される。特に、ロジックチップは、お互いを直接接 続するのではなく、その代わりに、ただ単に相互接続チップを接続するだけであ る。その他すべての点において、チャンネルルーティング相互接続は、直接相互 接続方法に従って作成されている。−以上のロジックチップに及び回路網は、ル ーティングチップと称する一連の相互接続チップを構成することによって相互、 接続する。ルーティングチップは、これらのロジックチップを接続させるととも に、お互いを接続させ、ロジックチップI10ピン間にロジック的接続が確立さ れる。このことは、構成可能な“回路基板”に用いられる。
チャンネルルーティング相互接続を、−例として2次元としている:すなわち、 図3に示されているように、ロジックチップは、行及び列の形態で配置されてお り、その周囲は、ルーティングチップによって完全に囲まれている。アレイを、 全てがルーティングチップで構成されている行と、ロジックチップ及びルーティ ングチップで交互に構成されている行とで交互に構成する。このようにして、ロ ジックチップの周囲には、行方向列方向に、切目なくルーティングチップが配置 されている。各チップのピンを、4つのグループ、すなわち、“北側、東側、南 側、西側”と称する4つのエツジに分割する。各々のチップのピンを、4つの最 も近い隣接チップに格子状に接続する。:すなわち、北側のピンを、北側に隣接 するチップの南側ピンと接続し、東側ピンを、東側に隣接するチップの西側ピン に接続する。以下同様である。
このモデルは、上記例の2次元より大きな次元にまで拡張することができる。一 般的には、°n“を次元の数とする場合、各ロジックチップのピンは、2”n個 のグループに分割される。
各ロジックチップは2′″n個の隣接チップを接続させている。
アレイの中心において、各々のロジックチップに対して(2−n−1)個のルー ティングチップが存在する。
ロジックチップとルーティングチップとの特徴に基づき、このチャンネルルーテ ィングモデルの一般化を同様にして用いる。
ロジックチップのピンを数個のグループに分けることができる。
ルーティングチップのピンも、数個のグループに分けることができる。但し、ル ーティングチップのピンのグループ数が、ロジックチップのピンの数と同じであ る必要はない。ロジックチップとルーティングチップとは、同数のピンを具えて いる必要がない。ロジックチップとルーティングチップとの規則的なアレイであ り、且ついかなる所定のロジックチップであっても、それが最も近い隣接チップ の限定セットとだけ接続されている限り、これらの変形が適用される。
ロジックチップ間の相互接続を、ロジックチップを介してではなく、相互接続チ ップを介してのみ配線するということを除いて、直接相互接続に用いると同様の 方法を用い、ロジックチップをいかに構成するかを決定するとともに、相互接続 チップをいかに構成するかを決定する。
回路網のロジック信号は相互接続を完成させるのに必要なルーティングチップと 同数のルーティングチップを介して流れる。
各々のルーティングチップによって、信号の伝搬が遅れるので、信号が流れるル ーティングチップが増えれば増える程、相互接続を介しての信号伝搬送遅れ時間 は長くなる。ルーテングの必要条件を最小とできるように、ロジック設計部を区 分化するとともに、それぞれの区分を特定のロジックチップに配置するのが一般 的には望ましい。ルーティングが過剰であり、相互接続を行うことができない場 合、調整された基準を用いて、設計部を再区分化及び/又は再配置し、再び相互 接続を行う、このサイクルは、必要な限り、繰り返される。
1.2.2 クロスバ−相互接続 1.2.2.1完全クロスバ−相互接続クロスバ−とは、制約なくピンを他のピ ンと接続することのできる相互接続アーキテクチャ−である。これは、コンピュ ータのスイッチング回路網及び通信デバイスにおいて、メツセージを通信するの に広く用いられている。完全なりロスバーと、して構成され、すべてのロジック チップピンに接続されるとともに、いかなるピンの相互接続の組合せであっても 構成可能な相互接続によって、いかなる入力設計及びロジックチップ区分化であ っても、直接的に相互接続を達成することができる。その理由は、いかなるピン であっても、いかなる他のピンに直接接続することができるからである。
しかし、多くのロジックチップを相互接続することのできる実用的な単一デバイ スは存在しない。例えば、好適例のロジックボードは、各々接続すべき128個 のピンを有するロジックチップを14個具えている0合計で、エフ92ピンとな り、実用的なシングルチップの容量を、はるかに越えている。実用的な相互接続 チップ及び、デバイスからクロスバ−を構成することができる。−これらを構成 することによって、I10ピン間に任意の相互接続を実現することができる。ク ロスバ−相互接続の場合、これらをクロスバ−チップと称する。
実用的なりロスパーチップからクロスバ−相互接続を構成する一般的な方法は、 一つのクロスバ−チップを用いて、一つのロジックチップビンを、クロスバ−チ ップが有するピンと同数の他のロジックチップピンと相互接続する0図4は、わ かり易くするために、極めて簡略化した一例を示している。各々8個のピンを有 する4個のロジックチップを相互接続する。各々9個のピンを有するクロスバ− チップを有するクロスバ−チップを用いる。3個のクロスバ−チップの最も左側 の列によって、ロジックチップ4のピンHを、ロジックチップ1,2及び3のピ ンと接続する。次の列によって、ピンG等を、ロジックチップ4のピンGに接続 する。同じロジックチップに関しては、内部で接続できることから、ピンと他の ピンとを接続する必要はない、クロスバ−チップの隣接する8個の列は、ロジッ クチップ3と、ロジックチップ1及び2とを相互接続している。ロジックチップ 4は含まれていない。その理由は、ロジックチップ4のピンをクロスバ−チップ の最初の8個の列によって、ロジックチップ3のピンに接続しているからである 。最後の8個の列は、ロジックチップ1と2とを相互接続している。合計48個 のクロスバ−チップを用いる。
入力設計に基づく2つの回路網は、相互接続された状態を示している。回路網A は、ロジックチップ1のピンDによって駆動され、ロジックチップ4のピンBに よって受信される。1で示されているクロスバ−チップは、これらのピンの両方 を接続しており、ロジックチップ1のピンDから受信し、受信したものを、チッ プ4のピンBに伝達する。このようにして、ロジック接続を構成する0回路網B は、ロジックチップ2のピンFによって駆動され、ロジックチップ3のピンG及 びロジックチップ4のピンGによって受信される。クロスバ−チップ2は、第1 相互接続を行い、クロスバ−チップ3は、第2相互接続を行う。
−a的に、必要とされるクロスバ−チップの数を予測することができる。各々P I個のピンを有するL個のロジックチップが存在し、且つ、−個のロジックチッ プピンをできる限り多くの他のロジックチップピンと各々接続できるようにして いるクロスバ−チップがPx個のピンを具えている場合:1)ロジックチップ1 の中の一つのピンを、Lを介してロジックチップ2の(L−1)PI個のピンに 接続しなければならない。これには、(L−1) PI/ (PX−1)個のク ロスバ−チップが必要とされる。すべてのピンを接続するには、(L−1) P I” / (PX−1)個(y)り0スハ−チップを必要とする。
2)ロジックチップ2の各々のピンを、Lを介して、ロジックチップ3の(L− 2)PI個のピンに接続しなければならない。これには、(L−2) PI”  / (PX−1)個のクロスバ−チップを必要とする。
3)ロジックチップL−1の各々のピンを、ロジックチップLのPI個のピンに 接続しなければならない。これには、PI”/ (PX−1)個のクロスバ−チ ップを必要とする。
4)X= (L−1) PI” / (PX−1)+ (L−2)PI” /  (PX−1) +・+PI” / (PX−1)−(L2− L ) PI”  /2 (PX−1)クロスバ−チップの数Xは、ロジックチップの数の二乗と、 ロジックチップ毎のピンの数の二乗とを、かけ算したものが増加するにつれて、 増加する。好適実施例のロジックボード(各々128個のピンを有する14個の ロジックチップ)は、各々129個のピンを有する11648個のクロスバ−チ ップ又は、各々65個のピンを有する23296個のクロスバ−チップを必要と している。
クロスバ−相互接続は、段用なリアライザシステムに用いるには、大規模且つ高 価なものであり、非実用的である。
1.2.2.2 完全クロスバ−回路網相互接続相互接続すべき設計回路網の数 がロジックチップピンの合計数の172を決して越えることができないというこ とを認識することによって、クロスバ−相互接続の大きさを小さくすることがで きる。クロスバ−回路網相互接続は、ロジック的には、2つのクロスバーによっ て構成されており、その各々は、すべてのロジックチップピンを相互接続回路網 (ICN )と称する一セットの接続回路網に接続しており、ロジックチップピ ンの総数の1/2に番号を付している。−セットのロジックチップピンを、−セ ットのICNに接続するクロスバ−チップが一セットのICNから、これらのピ ンへと接続を戻すこともできる(相互接続チップの一般性の撤回)ため、この相 互接続をクロスバ−チップで構成することもできる。各々のクロスバ−チップは 、−セットのロジックチップピンを一セットのICNと接続している。
図5は、図4にて示したものと同一の4つのロジックチップを相互接続した一例 を示す図である。各々8個のピンを有するクロスバ−チップを用い、16個のI CNを設ける。32個のクロスバ−チップの各々は、4個のICNを用いて、4 個のロジックチップビンを接続する0回路網Aをクロスバ−チップ1によって相 互接続し、ロジックチップ1のピンDから受信し、受信したものを、ICNに伝 達するように構成する。また、回路w4Aを、クロスバ−チップ2によって相互 接続し、前記ICNから受信し、ロジックチップ4のピンBを駆動する。このよ うにしてロジック接続を確立する。回路v4Bは、ロジックチップ2のピンFに よって駆動され、クロスバ−チップ4を介してロジックチップ3のピンGで受信 されるとともに、クロスバ−チップ5を介してロジックチップ4のピンGで受信 される。
好適実施例のロジックボード(各々128個のピンを有する14個のロジックチ ップ)のクロスバ−回路網相互接続は、各々128個のピンを有する392個の クロスバ−チップ又は各々64個のピンを有する1568個のクロスバ−チップ を必要とする。クロスバ−回路網相互接続では、使用するクロスバ−チップの数 は、単なるクロスバ−よりも少ない。クロスバ−回路網相互接続の大きさは、ロ ジックチップの数を、ロジックチップピンの総数との積が増加するにつれて、大 きくなる。これは、ロジックチップ数の二乗に達する。これは、純粋なりロスバ ーよりは、優れているも、依然として望まれる直接スケーリングではない。
1.2.2.3 部分的クロスバ−相互接続ロジックチップそれ自体によって、 クロスバ−が開発できない付加的な自由度を提供することができる。その理由は 、ロジック回路網の所定の入力又は出力を、いかなるI10ビンをも用いること ができるように構成することができる、すなわち、特定の回路網とは無関係に、 構成するからである。この自由度によって部分的クロスバ−相互接続をすること ができる。これが、自由度を、ロジックチップの定義中に明示している理由であ る。
部分的クロスバ−相互接続では、各ロジックチップを分割するのと同様にして、 各ロジックチップのI10ピンを、適切なサブセットに分割する。各クロスバ− チップのピンを、各ロジックチップの各々から、同じピンのサブセットに接続す る。このようにして、クロスバ−チップ“n′を、各ロジックチップのピンのサ ブセット “n゛に接続する。サブセットと同数のクロスバ−チップを用いる。
各々のクロスバ−チップは、サブセットのピンの数と、ロジックチップの数とを かけ算したのと、同数ビンを有している。各ロジックチップ/クロスバ−チップ 対を、各サブセット中のピンと同数の、パスと称するワイヤで相互接続する。
各クロスバ−チップを、各ロジックチップのピンと同一のサブセットに接続して いるため、一つのロジックチップのピンにおける一つのサブセット中のI10ピ ンから、もう一つのロジックチップのピンにおける別のサブセット中のI10ビ ンへの相互接続を構成することはできない。このことは、相互接続すべき各々の ロジックチップのピンの同一のサブセットから、I10ピンを用い、各々の回路 網を相互接続し、適宜にロジックチップを構成することによって、避けられる。
回路網に接続されるロジックチップ中に構成されるロジックチップに割り当てる ことのできるいかなるI10ビンを用いても、ロジックチップを構成できるよう にするため、一方のI10ビンは、他方の工/○ピンと同様のものである。
一般的なパターンを、図6に示す。この図において、ロジックチップとクロスバ −チップとを接続している各々のラインは、ロジックチップピンのサブセットを 示している。各クロスバ−チップを、すべてのロジックチップのピンのサブセッ トに接続する。逆に言えば、このことは、各ロジックチップを、すべてのクロス バ−チップのピンのサブセントに接続していることを示している。これらの例で は、クロスバ−チップの数が、ロジックチップの数と等しい必要はない。好適な 実現例では、このようなことは言えない。
図7は、図1及び図2と同一の4個のロジックチップを相互接続している例を示 している。各々8個のピンを有する4個のクロスバ−チップを用いる。各クロス バ−チップは、各ロジックチップにおいて、同一の2個のピンを接続している。
クロスバ−チップ1を、ロジックチップ1〜4の各々のピンA及びBに接続する 。クロスバ−チップ2を、すべてのピンC及びDに接続し、クロスバ−チップ3 を、すべてのピンE及びFに接続するとともに、クロスバ−チップ4を、すべて のピンG及びHに接続する。
前記例の設計回路IAでは、ロジックチップ4のピンBにおいて受信が行われる が、回路w4Aを、ロジックチップ1のピンDにおけるドライバに相互接続する ことのできるクロスバ−チップは設けられていない。いかなるI10ビンであっ ても、回路網Aを受信するロジックチップ4において構成されるロジックに割り 当てることができるので、ピンCはピンBと同様であり、これを、他の回路網に 用いることができる。結果的に14回路網Aは、代わりにピンDによって受信さ れ、クロスバ−チップ2を構成することで、相互接続を達成する。設計回路@B は、ロジックチップ3のピンG及びロジックチップ4のピンGによって受信され るが、この回路網Bを、ロジックチップ2のピンFにおけるドライバと相互接続 できるクロスバ−チップは設けていない0回路mBは代わりにピンHによって駆 動され、クロスバ−チップ4を構成することで、相互接続を達成する。
好適な実施例では、部分的クロスバ−相互接続を用いている1このロジックボー ドは、各々128個のピンを有する14個のロジックチップを真えており、各々 56個のピンを有する32個のクロスバ−チップによって相互接続されている。
ロジックチップビンを、各々4個のピンを有する32個の適切なサブセットに分 割するとともに、各クロスバ−チップのピンを、各々4個のピンからなる14個 のサブセットに分割する。クロスバ−チップ′n゛を各ロジックチップピンのサ ブセット “n′に接続し、各ロジックチップ/クロスチップ対を4個のパスに よって相互接続する。
すべてのクロスバ−相互接続の中で、部分的クロスバ−の使用するクロスバ−チ ップの数は、最小である8部分的クロスバーのサイズは、ロジックチップピンの 総数が増大するに従って直接的に増大する。このことは、ロジックチップの数、 更には、ロジック容量に直接関連するものであり、望ましい結果である。
これを使用するのは、比較的容易なことである。その理由は、部分的クロスバ− が規則的であり、そのパスを表で表現することが可能であり、更に特定の相互接 続をいかにして決定するかは、単にパスの最適なベアを表で捜すだけだからであ る。
1.2.2.4 部分的相互接続の機能部分的なりロスバー相互接続は、完全ク ロスバ−が処理できるのと同数の回路網を処理することはできない。ソースロジ ックチップにおいて、他の回路網に用いられていないI10ピンが行先ロジック チップに至るパスが同様にすべて使用されているクロスバ−チップとつながって いる場合、部分的クロスバ−相互接続は、回路網を相互接続することができない 。行先ロジックチップは、利用可能なピンを有しているが、このような場合、I 10ピンは、ソースビンがすべて使用されている他のクロスバ−につながってお り、これらのクロスバ−から、最初へと戻る途はない。
部分的な相互接続の容量は、そのアーキテクチャ−に依存している。一つの極端 な例では、一つのロジックチップビンサブセットだけが存在し、一つのクロスバ −がすべてのピンに作用する。このような装置は、最大の相互接続能力を有する が、非現実的な完全クロスバ−接続である。他の極端な例では、サブセットサイ ズは、ロジックチップのピンと同数のクロスバ−チップを有するものである。こ れは、すべての部分的クロスバ−を相互接続する能力は最小であるが、依然とし て、充分な能力を有している。極端な例の間では、各クロスバ−チップが、2゜ 3又はそれ以上の各ロジックチップのピンに作用するアーキテクチャとなってい る。クロスバ−チップ数が減少し、クロスバ−チップ毎のピン数が増加するにつ れて、より多くの相互接続能力が利用可能となる。
この変更は、以前より注目されていることではあるが、種々のクロスバ−チップ が作用するために、相互接続することのできない未使用ロジックチップが存在す るということによるものである。クロスバ−チップの数がより少なくなるととも に、幅が広くなるにつれて、このような変更は、−1的には生じなくなる。完全 クロスバ−によって、すべてのピンを定義されたいかなるパターンにも相互接続 することができる。
他の簡単な一例として、各々3個のピンを有する、参照番号1.2及び3を付し た3個のロジックチップが存在し、且つ、4個の回路網A、B、C及びDが存在 するものと仮定する。回路網Aは、ロジックチップ1及び2を接続し、回路@B は、ロジックチップ1及び3を接続し、回路網Cは、ロジックチップ2及び3を 接続し、回路網りは、ロジックチップ1及び2を接続する。図88及び8bにお いて、各ロジックチップのピンを、セルの行として示しており、各クロスバ−チ ップは、クロスバ−チップが作用するビン数と同数の列をカバーしている。
第1のケース(図8a)では、各々1つのピンの幅を有する参照番号1.2及び 3で示される3つのクロスバ−チップを使用する。各クロスバ−チップは、ただ 一つの回路網を接続できるにすぎない。すなわち、クロスバ−チップ1は、回路 IAを相互接続するようプログラムされており、クロスバ−チップ2は、回路網 Bを接続し、クロスバーチッ3は、回路網Cを接続する。
未使用ロジックチップビンを利用することもできるが、回路網りは未接続のまま である。第2のケース(図8b)では、3個のピン幅を有する完全クロスバ−を 、クロスバ−チップ1.2及び3の代わりに用いて、回路v4Dを接続すること ができる。
種々の部分的クロスバ−相互接続アーキテクチャによって相互接続することので きる入力設計回路網の数に基づき、アナリシス及びコンピュータモデル化を行う 。結果的には、ナロウな部分的クロスバ−は、ワイドなもの又は完全クロスバ− と、はぼ同じ位効果的である。例えば、好適実現例(14個の128ピンロジツ クチツプ、32個の56ピンクロスバーチツプ)のロジックボートに用いられて いる相互接続は、完全クロスバ−の有する相互接続容量の98%を示している。
モデリングにおいて想定されているように、実際の入力設計部が、利用可能なマ ルチロジックチップ回路網及びロジックチップピンの数を最大限に必要とするこ とは極めて稀である。実際の設計部は、はぼ常に最大限よりも少ない回路網を有 しており、上述のモデルの部分的クロスバ−によって接続される回路綱の平均個 数よりも少ない回路網、通常かなり少ない回路網を有している。このことは、ロ ジック容量を保持するのに絶対的に必要であるより多くの、小さな比率のロジッ クチップピン及びクロスバ−チップを用いることで保障され、このようにして、 ナロウな部分的クロスバ−によって、実際の設計部がほとんど常に相互接続可能 であることを保障している。
ナロウなりロスパーチップは、ワイドなりロスパーチップよりかなり小さく、そ れ故、ピン単位では、高価なものではない。
1.2.3 相互接続トライステート回路網部分的クロスバ−相互接続のような アクティブ相互接続と、実際のワイヤのようなパッシブ相互接続との重要な相違 は、アクティブ相互接続が無方向性であるということである。実際、各々の相互 接続は、チップ境界において、金属及びトレースによって結合する一連のドライ バ及びレシーバを具えている。通常の回路網は、一つのドライバを有し、アクテ ィブ相互接続で固定されたドライバ及びレシーバを用いて作成される。実際に設 計する回路網のいくつかは、トライステートであり、図9にて示すようないくつ かのトライステートドライバを有している。
任意の所定時間において、最大で1個のドライバが活動状態であり、その他のド ライバは回路網に対して高インピーダンスの状態にある(伝播遅延を無視すると 、)すべてのレシーバは、常に同一のロジックレベルにある。
1.2.3.1 )ライステート回路網を積の和に置き換える全回路網を同一の ロジックチップへと区分化する場合、回路網を、積の2ステート加算、すなわち 、図10にて示すような、等価なマルチプレクサで置き換えることができる。
アクティブイネーブルが存在しない場合、この回路網は低ロジックレベルを出力 する。時々、トライステート回路網は、受動的に高ロジックレベルにされる。必 要ならば、各ANDゲートへのデータ入力を反転するとともに、最終加算ゲート 出力を反転することで、イネーブルできない場合、積の和は、高ロジックレベル を出力する。−以上のイネーブルがアクティブの場合、結果は、すべての入力信 号の加算(OR)となる、このことは、容認される。その理由は、異なるデータ で一以上がイネーブルされる場合、実際のトライステートドライバの動きを規定 していないからである。図11a及びllbは、2種類の回路網二″フローティ ングハイ(floating high )”及び”フローティングロー(fl oating low)″を示している。
リアライザシステムの設計変換システムの基本要素変換部分は、和又は積の置き 換えを行う。その理由は、好適実現例のロジックチップ及びクロスバ−チップと して用いられるX1linxLCAが、すべての回路網におけるトライステート 駆動を一様に維持していないからである。トライステートドライバは、LCAの 境界におけるすべてのI10ビンを利用することができる。
XC3000シリーズ[、CAの内部で利用できるトライステートドライバの数 は制限されており、チップ間を結んでいる内部相互接続の数が小さいことから、 各ドライバは、CLBの一つの行にだけ作用する。トライステート回路網をこれ らの相互接続に作成することによって、分割化に他の制約が加わり、LCAにお けるCLBの配置の自由度を制約することとなる。同時に、回路網毎に少数のド ライバと、トライステート接続することは、ある種のゲートアレイライブラリセ ルにおいては、一般的なことである。結果的に、このように複雑となることを避 けられる場合には、積の和の置き換えを行う。
設計部を、多重ロジックチップに分割化することで、トライステート回路網を、 2以上のロジックチップに亘って分割する場合、積の和を局所的に用いて、ロジ ックチップと回路網との各々の接続を、ロジックチップ境界における単一のドラ イバ及び/又はレシーバへと引き下げる。図12は、2つのドライバ及び2つの レシーバを一緒に示している。2つのドライバは、局所的な積の和によって構成 され、このようにして、単一のドライバ接続のみを要件として、積の総和を与え る。同様にして、単一のレシーバ接続を、2つのレシーバに亘って構成する。
このようにして、アクティブ相互接続がなされる。トライステート回路網におけ るいかなる所定の点においても、駆動“方向”はどのドライバを活動状態とする かに依存している。このことは、パッシブ相互接続と何ら差異がないが、アクテ ィブ相互接続では、能動的に正しい方向に駆動及び受信が行われるように、アク ティブ相互接続を構成しなければならない。構成によっては、このことを、部分 的クロスバ−相互接続によって達成することができる。
1.2.3.2 ロジック加算構成 3つの構成は、回路網を積の和に引き下げることに基づいている。ロジック加算 構成は、図13に示されているように、加算ORゲートを、関連するロジックチ ップ中に配置する。
積を発生させるANDゲートを、駆動ロジックチップで構成する。この駆動チッ プの各々は、出力チップを必要としている。
各受信ロジックチップは、入力ピンを必要とし、特別な場合、加算ロジックチッ プは、各ドライバ用の入力ピンと出力ピン、とを必要とする。これらの接続は、 すべて無方向性であり、各チップの境界に亘って、0BUF/ IBUP対を具 えている。ドライバのピンが高価であるので、駆動ロジックチップを、加算チッ プとして選択する必要がある。
簡単のため、図中には関連するLCA基本要素をすべて示してはいない。駆動入 力ピンから受信出力ピンに至る実際のバスは、ドライバのCLB及び0BUPと 、クロスバ−のIBUFloBUPと、加算チップのIBUF、 CLB及び0 BUPと、クロスバ−の他のIBUPloBUFと、レシーバのIBUFとを具 えている。クロスバ−IBUFディレィをExとし、ロジックCLBディレィを CI等とした場合、全データ通路ディレィは、CI+01+IX+OX+Il+ CI+01+IX+OX+11である。特別な場合、すなわちロジックチップを XC3090−70とし、クコスパーをXC2018−70とした場合、ディレ ィの総計の最大は、82nsに、内部LCA相互接続ディレィを加えたものに等 しい。同じディレィがイネーフ゛ルにも当てはまる。
nビットバスを相互接続する場合、バスの各ビットに対して、すべてのイネーブ ルは同様のものである。この特別な構成において、駆動チップ中に積のゲートを 設け、イネーブルを内部に設け、バスに必要なピンを、1ビツトの場合のビン数 のちょうどn倍とする。
1.2.3.3 クロスバ−加算構成 りロスバー加算構成において、加算ORゲートを、クロスバ−チップに配置する 。この場合、図14に示されているようなロジックを利用することのできるLC AのようなERCGAを用いて、いくつかの例のクロスバ−チップを具体化して いる。
各ロジックチップは、ドライバとしての1ピン及び/又はレシーバとして1ピン を必要としている。クロスバ−チップは、加算ゲートのための1以上のロジック 素子を有している必要がある。クロスバ−加算とは、ロジックチップ中のロジッ クをすべて用い、クロスバ−チップ中のロジックを全(用いず実行するというこ とではない。重要な相違点は、クロスバ−チップに配置されたロジックが、実現 される設計ロジックの一部ではないということである。ロジックは、単に、トラ イステート回路網の相互接続機能を達成する役割を果たすにすぎない。
この構成では、2以上の駆動ロジックチップを設けた場合、従来よりも使用する ピンの数が少ない。nビットバスは、ピンのn倍も作用する。全ディレィは、C I+O1+Ix+Cx+Ox+11゜すなわち、最大51nsにまで引き下げら れる。イネーブルも同じディレィを有する。
1.2.3.4 双方向性クロスバ−加算構成図15にて示されているように、 クロスバ−チップの加算ゲ、−トを、双方向性クロスバ−構成における双方向性 接続を介して、連絡している。
ORゲートへのバスをイネーブルできるANDゲートを、クロスバ−チップ中に 設け、フィードバックラッチアップバスをブロック化する。ロジックチップは、 レシーバのみの場合には1つのピンを必要とし、ドライバ又は、レシーバ、ドラ イバ双方の場合には2つのピンを必要とする。この2つのピンの一方は、信号自 体のためのものであり、もう一方は、イネーブル出力のためのものであり、これ は、クロスバ−チップに用いられる。
1ビツト以上の信号イネーブルを用い、マルチビットバスによって、相互接続を 減少させることができる。同一のクロスバ−チップを介して、1ビツト以上のバ スを相互接続する場合、−セットのイネーブル信号をチップに供給する必要があ る。好適なLCA例においては、全データ通路ディレィを、01+Ix+Cx+ Ox+11、すなわち、42nsとしている。積の和が、2以上のCLBを用い る場合、付加的なCx (Ions)を加えることができる。イネーブルディレ ィは、出力ディレィ01ではなくて、0BUFZのイネーブルディレィ、Elに 依存している。
1.2.3.5 双方向性クロスバ−トライステート構成これまで説明したすべ ての構成を、同一のハードウェアで使用することができることに注意する。基本 要素の配置及び相互接続のみが変化する。最終的に、クロスバ−チップが内部ト ライステートを維持する場合、図16にて示すように、双方向性クロスバ−トラ イステート構成によって、クロスバ−チップ内部の実際のトライステート回路網 が二重になる。
各ロジックチップの実際のトライステートドライバは、クロスバ−チップのバス にそのまま伝えられる。このことは、イネーブル信号の相互接続によって達成さ れるはずである。ドライバがイネーブルされていない場合、クロスバ−チップの バスを駆動させる。LCAを、クロスバ−チップとして用いる場合、上記内部ト ライステート相互接続を用いる。特に、ロジックチップの境界にIBUF10B UFZ対と、クロスバ−チップ境界に、各ロジックチップの他のIBUF10B UFZ対と、各ロジック素子のTBUFとを設け、内部トライステートラインを 駆動する。各イネーブルは、0BUP及びIBUPを通過する。イネーブルされ たデータバスディレィの総計は、01+Ix+Tx+Ox+11.すなわち、3 9ns (XC3030−70LCAクロスバ−)であり、イネーブルディレィ の総計は、01+Ix+TEx +Ox+II、すなわち45nsである。
以前のように、2ビツト以上のバスを、同一のクロスバ−チップを介して相互接 続する場合、1セツトのイネーブル信号のみを、チップに供給する必要がある。
この構成では、クロスバ−チップをLCA又は、内部トライステート機能を有す るERCGAとする必要があり、これら内部相互接続の利用を条件としている。
特に、XC2000シリーズは、内部トライステートを有していないが、XC3 000パーツは、有している。XC3030は、80個(7)I10ビン、10 0個(7)CLB 、及び20個のトライステート駆動可能内部′ロングライン “を有している。
このようにして、最大で20個のこのようなトライステート回路網を、この構成 中の1つのクロスバ−チップによって相互接続しうる。これは、相互接続の限界 となりうるが、いろいろな場合のほんの一部にすぎず、I10ピンの限界を与え るものである。現在のところ、XC3030は、XC2018の2倍高価である 。
ハードウェアに、トライステート構成を用いる場合、他の構成は妨げとはならず 、同様に使用することができる。
1.2.3.6 すべての構成の概要 このチャートは、構成を要約したものである。
チ・・ のi゛−ス (dは、ドライバの数) 明らかに、ロジック加算構成は有効ではない。クロスバ−加算は、かなり高速で 、少数のビンを使用し、多くの場合シンプルである。双方向性クロスバ−加算は 、依然わずかに高速であり、双方向性バスのビン数を減少させる可能性を有して いるが、かなり複雑であり、クロスバ−チップに限られたロジックリソースをよ り必要とする。トライステート構成によって同様のピン数を必要とし、及びディ レィが生じるが、より高価なりロスパーチップを必要とする。
1.2.3.7 普通のクロスバ−加算構成と、双方向性クロスバ−加算構成と の比較 最も効果的な構成の特性をテストすることは、有益である。
以下の表は、普通及び双方向性のクロスバ−加算構成を用い、多数の双方向性回 路網を相互接続し、且つ、LCAをクロスバ−チップとして用いる場合に生じる クロスバ−CLBO数と、クロスバ−〇LBディレィとを示している。72個の I10ビンを有し、100個のCLBを用いることのできるXC2018−70 クロスバ−チップを用いるものと仮定する。各々のCLBは、4個までの入力端 子及び2個までの出力端子をサポートする。各ロジックチップが、イネーブルを 共有せず、回路網と双方向性の接続を有し、各テストにおいて、クロスバ−チッ プの72個のI10ピンすべてを用いるものと仮定する。
双方向性クロスバ−加算行為は、CLBを2.5倍まで使用し、クロスバ−チッ プがルートしない可能性、すなわち、内部相互接続ディレィが大きくなる可能性 が増大する。しかし、依然として、100個のCLBが使用可能となるまでには 程遠い。代わりに、無方向性構成では、ロジックチップを、特別なゲートを操作 するのに好適な位置に設けるが、ロジックチップにかなり多くのゲートを設けて いる。双方向性構成では、特別なCxディレィがしばしば生じ、そのスピードの 利点を相殺してしまう。リアライザシステムの好適例では、トライステート回路 網のためのクロスバ−加算構成を用いている。
1.2.4 システムレベル相互接続 クロスバ−チップによって相互接続されたーセットのロジックチップのパッケー ジ化は、単一の回路ボードにおいて行うのが一般的である。システムが大規模す ぎて、単一のボードに適合しない場合には、ボードを、システムレベル相互接続 を用いて、同じように相互接続しなければならない。極めて広域のバス配線のた めに、2以上の回路ボードに亘る単一の部分的久ロスバー相互接続及びロジック チップを拡張することは、非実用的である。例えば、32個の128ピンロジツ クチツプと、64ビンのクロスバ−チップとの複合体を、2つのボードに、それ ぞれ16個のロジックチップと、32個のクロスバ−とに分割するものと仮定す る。複合体を、ロジックチップとクロスバ−チップとの間で切断する場合、背面 接続の対を介して、ロジックチップとクロスバ−チップとの間に、総計で409 6個の相互接続を行う必要がある。これとは別の方法で、′中間°で、すなわち 、16個のロジックチップ及び32個のクロスバ−チップで、各ボード毎に切断 する場合、ボード1のロジックチップを基板2のクロスバ−に接続するパス(1 6個のロジック*64個のビン=1024)及びその逆のパス(もう一つの10 24、合計で2048)の全てをクロスさせなければならない。
このような単一の相互接続では、発展の可能性がないといった他の制約もある。
定義によれば、各クロスバ−チップは、全てのロジックチップと接続している。
特定数のロジックチップで構成する場合、それ以上を加えることができない。
その代わりに、回路基板上に、−緒にパッケージ化することのできるロジックチ ップとクロスバ−チップとの最大規模の複合体を、ロジックボードと称し、モジ ュールとして用い、これらの多数を、システムレベル相互接続によって接続する 。2以上のボードに及ぶ相互接続回路網を提供するために、各ロジックボードの クロスバ−チップの各々の付加的な110ピンに対して、ボードから離れた付加 的な接続を行い、ロジックボードI10ピンを確立する(図17)。ロジックボ ードI10ピンに接続するのに用いられるクロスバ−チップI10ピンは、ボー ドのロジックチップI10ビンと接続しているものとは別のものである。
1.2.4.1 部分的クロスバ−システムレベル相互接続ロジックボードを相 互接続するための一つの手段では、部分的なりロスバー相互接続を再び適用し、 各ボードをロジックチップの如く取り扱うとともに、付加的なりロスバーチップ のセットを用いてボードのI10ピンを相互接続する。この部分的なりロスバー は、ボックス中のすべてのボードを相互接続する。
第3番目の相互接続を、ラック中のすべてのボックス等を相互接続することに、 再び適用する。終結同一の相互接続方法を適用することによって、概念の簡易化 及びボードレベル相互接続との一体化といった利点が得られる。
リアライザシステム中のクロスバ−チップを区別するために、ロジックチップを 相互接続している部分的クロスバ−相互接続を、Xレベル相互接続を称し、その クロスバ−チップをXチップと称する。ロジックボードを相互接続している相互 接続を、Yレベル相互接続と称し、そのクロスバ−チップをYチップと称する。
Xレベル相互接続では、各ロジックボードの分割と同様の分割を用いて、各ロジ ックボードのI10ピンを適切なサブセットに分割する。各Yチップのビンを、 すべてのロジックボードの各々からのビンの同一のサブセットに接続する。サブ セットと同数のYチップを使用する。各Yチップは、サブセットのピン数と、ロ ジックボードのピン数とをかけ算した結果と同数のビンを有している。
同様にして、各Yチップの付加的なI10ピンに、ボックスから離れた付加的な 接続を行い、ボックスI10ピンを構成する。この各々を、各ボックスにおける 分割と、同様の分割方法を用いて、適切なサブセットに分割する(図18)。各 Xチップのビンを、各ボックスからのビンの同一のサブセットに接続する。サブ セットと同数のXチップを用いる。各Xチップは、サブセットのピン数と、ボッ クスの数とのかけ算した結果と同数のビンを有している。部分的なりロスバー相 互接続の付加的なレベルを構成する方法を、必要である限り継続する。
入力設計部を区分化する場合、ロジックチップのI10ピンの数が限定されてい るように、ボード上及びボードから離れた配線されている回路網が、ボードのI 10ビンを介しており、ボードのI10ビンの数の限定には、一定の制約がある ことがわかる。多重ボックスリアライザシステムにおいて、ボックスI10ビン の数が限定されていること等がわかる。設計メモリのような特別の機能が付随す る場合を除き、チップ、ボード又はカートリッヂに関する配置を最適にするため の、相互接続シンメトリ一手段は、必ずしも必要ではない。
双方向性回路網及びパスを、クロスバ−加算方法のような、トライステートセク ションにおいて説明した方法のうちの一つを用いて具体化する。この方法は、回 路網がつながっている相互接続階層の各レベルに亘って適用される。
好適な具体例 ・全ハードウェアシステムに亘る3つのレベルにおいて、部分的クロスバ−相互 接続を階層的に用いる。
・ロジックボードが、各々128個の相互接続されたI10ビンを有する、最大 14個のロジックチップと、32個のXチップから成るXレベル部分的クロスバ −とを具えている。各Xチップは、各々14個(全56個)のしチップへとつな がっている4個のパスと、2個のYチップの各々へとつながっている8個のパス とを具え、全体として、ボード毎に512個のロジックボードI10ピンを具え ている。
・1個のボックスが、各々512個の相互接続されたI10ピンを有する1〜8 個のボードと、64個のYチップから成るYレベル部分的クロスバ−とを具えて いる。各Yチップは、ロジックボードI10ピンを介して各ボードのXチップに つながっている8個のパスと、1個のXチップにつながっている8個のパスとを 具えており、合計でボックス当り512個のボックス!10ピンを具えている。
・ラッチは、各々512個の相互接続I10ビンを有する。1〜8個のボックス と、64個のZチップから成るZレベルクロスバ−とを具えている。各Zチップ は、ボックスI10ピンを介して、各ボックス中のYチップにつながっている8 個のバスを具えている。
1.2.4.2 双方向性バスシステムレベル相互接続コンピュータハードウェ アの実行には、双方向性バスの背面を用いての、ロジックボードのシステムレベ ル相互接続に関する他の方法が必要となる。以前と同様、各ロジックボードにI 10ピンを設け、各ボードのI10ピンを、バスワイヤによって、他のすべての ボードの同じI10ピンに接続する(図19)。
いくつかのロジックボードI10ピンは無駄である。すなわち、相互接続回路網 に対して不能である。その理由は、一つの設計回路網を相互接続するためのバス ワイヤを使用することによって、バスを共有している他のすべてのボードのバス ワイヤに接続されたピンを使用できなくしてしまうからである。相互接続するこ とのできる設計回路網の最大数は、バスワイヤの数、すなわち、ボード毎のI1 0ビンの数と等しい。特別の場合として、8個のボードにおいて、一つの共通相 互接続バスを、各ボードの512個のI10ピンを接続している512個のバス ワイヤが共有している(図20)。
2番目、3番目、4番目、5番目、6番目、7番目及び8番目ボードの回路網が 、異なる配線であると仮定すると、解析により、各ボードと接続している回路網 の平均数は、各々の場合、512であり、すべての回路網において、ボード及び バスは、1166個のビン幅まで許容されるはずであることがわかる。このこと は、単一の背面のボード数を小さくし続けることによって部分的に軽減される。
しかし、−組の双方向性バスと相互接続されたボードの最大数は、制限されてい る。大規模システムを、より効果的に構成するためには、バスのグループを階層 的に相互接続する。
図21に示されている第1の例では、各々4個のボードを接続している2組のバ スXO及びXIを有している。Xレベルのバスを、他のバスYで相互接続する。
Xバス中の各々のワイヤを、再構成可能な双方向性トランシーバによって、Yの 片方に接続する。
双方向性トランシーバの構成によって、X及びYのワイヤが絶縁されているかど うか、XがYを駆動又は、YがXを駆動するかどうかが決定される0回路網が、 左側のボードの組又は、右側のボードの組のみを接続する場合、Xレベルバスの 一方又は他方のみを用いる0両側にボードを具えている場合、XO及びxlのワ イヤを各々使用し、これらのワイヤを、トランシーバを介して、Yのワイヤで相 互接続する。各ボードは、Xレベルバスの一方の幅と同数のI10ビンを有して いる必要がある。
Yを介しての相互接続が双方向性、すなわち、xO又はXlのいずれか一方によ って駆動される場合、追加的な信号がXO及びxlから流れ、トランシーバの方 向性を、動的に制御する。
この相互接続を分析し、ボード間の回路網を相互接続する機能を示す。この際、 上記と同じ回路網ピン数及びI10ビン数であると仮定する。シングルレベル方 法では、全回路網の総計と同じ幅を必要とするが、これを2つに分割し、必要と される最大幅を10%〜15%に減少させている。
階層は、最大でも、バス当り、ただ2つのボード又は2つのグループのボードを 有するのみである(図22)。
双方向性バス相互接続は簡素であり、組立てが容易であるが高価である。その理 由は、かなり多くのロジックボードI10ピンを、他のボードの回路網に接続す ることによって無駄にしているからである。このことを避けるために、階層化及 び短絡背面を導入しても、効果が極めて小さいことが証明されている。
更に、双方向性トランシーバを導入することによって、シングルレベル背面バス 相互接続が部分的クロスバ−よりも優位にあるスピード及びコストの面での利点 を除去してしまう。結果的に、部分的クロスバ−を、好適例のシステムレベル相 互接続に用いる。
・の 特定目的の構成素子とは、入力設計を実現し、好適例のロジックボードのLチッ プの位置に取り付けるハードウェア構成素子であるが、ロジックチップを構成す る組合せロジックゲート又はフリップフロップではない。
1.3=1 設計部メモリ 多くの入力設計部は、メモリを具えている。ロジックチップがメモリを具えてい るならば理想的である。電流ロジックチップデバイスは、メモリを具えていない 、メモリを具えるとすると、メガバイト規模のメインメモリを依然として必要と し、これは、ロジックチップには決して望めないことである。従って、設計メモ リデバイスを、リアライザシステム中に設けることとする。
1.3.1.1 設計部のメモリアーキテクチャ設計部メモリモジュールのアー キテクチャを、以下の要件に基づき構成する。: a)設計部のメモリモジュールは、設計部の一部であるため、他の構成要素と自 由に相互接続できるようにする必要がある。
b)ロジックチップと同様に効果的な相互接続を行うことができるように、デー タ、アドレス及び制御入出力の割り当てに自由度を設け、バスの相互接続を行う 必要がある。
C)種々の容量及びビット幅を有する一以上の設計部メモリを実現できる構成の 変更を可能にする必要がある。
d)ホストインタフェースが、設計部とデバッガタイプの対話ができるように、 アクセス可能である必要がある。
e)メモリモジュールは、ダイナミックではな(スタティックである必要がある 。これによって、設計部を意のままに、−ストップ、スタート又は、任意のクロ ックスピードでランさせることができる。
これらの要件を満足するメモリモジュールの一般的アーキテクチャーを図23に て示す。
設計部との相互接続可能性及びリアライザシステムの物理的構成に関する柔軟性 を維持するために、置き換えたロジックチップと同一の相互接続及び他のピンに 接続されたLチップソケットにプラグで接続するように、メモリモジュールを設 計する。
必要なだけのモジュールを取り付ける。
1?AMチップを、相互接続に直接接続しない。その理由は、主に、チップのデ ータ、アドレス及び制御機能を、特定のピンに定めているからである。部分的ク ロスバ−相互接続の成功が、自由にI10ビンとの内部相互接続を割り当てるこ とのできるロジックチップの機能に依存しているために、ロジックチップの場所 に配置されたノンロジックチップデバイスは、同様の機能を有している必要があ る。このことを達成するとともに、メモリモジュールに他のロジック機能を提供 するために、ロジックチップをメモリモジュール中に取り付け、RAMチップを 、クロスバ−のXチップと相互接続する。
特定のRAMピンを、任意に選択されたXチップピンと相互接続し、メモリモジ ュールを構成する。この際、メモリモジュールを使用する場所に、ロジックチッ プが使用するのと同−L−Xバスを使用する。1個よりも多くのロジックチップ をモジュール毎に使用する。その理由は、接続すべきRAMピン及びL−Xバス の数が多いからである。
メモリモジュールのロジックチップによって、メモリモジュールに構成可能性及 びホストアクセス可能性を提供する。ロジックチップを介して、種々の容量、ビ ット幅及び入力/出力構造を有するRAMチップを接続するように、アドレス、 データ及び制御バスを構成する。メモリモジュールを、1個の大規模メモリ又は 、幾つかの小規模メモリで構成することができる。これらのロジックチップの各 々を、ホストインタフェースバスに接続するとともに、バスインタフェースロジ ックをロジックチップ中に構成することによって、ホストプロセッサが、RAM をランダムにアクセスすることができる機能を実現する。これによって、デバッ ガのような、コンピュータプログラムを用いて、メモリ内容を検査及び修正する 。これらのロジック構造の具体例を、以下に示す。
実現する設計部のタイミングに関する要件を満足する、入手可能で高密度且つ安 価なスタティックメモリを、設計部メモリとして選択する。好適例では、このよ うなデバイスを、富士通MB84256のような、8ビツト32にのCMOSS RAMとしている。これによれば、スピードを50nsに落とすことができる。
かなり高速のデバイスを用いれば、リターンを減少させることができる。
その理由は、リアライザシステムのクロスバ−チップ相互接続ディレィが、主な 原因となり始めるからである。
ダイナミックメモリデバイスを用いてはいない。その理由は、ダイナミックメモ リデバイスでは、これらを規則的にリフレッシュしなければならず、リアライザ システムに種々の問題が生じる。入力設計部にダイナミックメモリが必要な場合 、入力設計部は、おそらくリフレッシュロジックを具えている。しかしながら、 実現された設計部が、100%の設計スピードで動作できないので、設計部をリ フレッシュさせることは、成功しない。
実際、デバッキングの際に、設計部の実行を停止させることが望ましい。すなわ ち、設計部は、システムの一部分であり、リフレッシュをするためには、入力設 計部に具わっていない他のいくかつの構成要素に依存しなければならない。つま り、設計部にスタティックメモリを必要とする場合、ダイナミック設計メモリの リフレッシュを行うことは、非現実的である。スタティックメモリによれば、リ フレッシュサイクルを無視できるため、ダイナミックメモリを、設計部内に実現 することができる。
このようにして、設計部メモリを、スタティックデバイスを用いて具体化する。
1.3.1.2 ロジックチップをRAMとクロスバ−との相互接続に使用する 理想的には、単一のロジックチップを用いて、RAMと、Xレベルクロスバ−と を相互接続する。この際、すべてのL−X相互接続バスと同様に、すべてのRA M信号ピンを接続するのに十分なピンを用いる。実用的なリアライザシステムメ モリモジュールでは、単一のロジックチップが実行困難な程多くのピンを必要と している。例えば、8個の32に、8ビットRAMから成る2つのバンクを、1 28個のL−Xパスを有するモジュール中に用いるものと仮定する。各々のRA ?’lバンクは、15個のアドレスピンと、8個の書込みイネーブルピンと、6 4個のデータピンとを具えている。2個のバンク及びL−Xパスは、302個の ピンと、ホストインタフェースバスのためのピンとを必要としている。これは、 使用可能なロジックチップのピン数の2倍である。
1より多くのロジックチップを用いなければならない。ここで述べたアーキテク チャでは、多くの小型ロジックチップを用いており、これらのチップにはアドレ ス、コントロール及びデータバスに関する特別の機能が与えられる。
1.3.1.2.1 メモリアドレスロジックチップ図23において、アドレス 及びコントロールロジックチップを、“阿へ〇′′及び°“MAL”で示してい る。RAMを、バンクに分割する。このバンクを、各々のMAチチッで制御する 。モジュールによって実現すべき分離設計部メモリの最大数と同数のMAチチッ を設ける。その各々に、クロスバ−とつながっているL−Xバスのセット、すな わち、バンクのアドレス及びコントロールラインにとって必要なだけのバスを設 ける。MAO及びMALは、別のバスの組を使用する。例えば、各々RAMの半 分に接続されている2個のMAチチッによって、2個の独立メモリを実現するこ とができる。1個の大型メモリを実現する場合、両方のL−Xパスの組を用いて 、アドレス及びコントロール回路網を、両MAチップに接続する。各M^チチッ は、バンク内の全RAMのアドレス入力を制御する。アドレス入力を、単一のバ スで結びつける。
各々のMAチチッは、個々で、RAMへの制御入力を制御し、データを、アドレ ス指定したRAFIにのみ書き込むことができるようにしている。つまり、各M ^チチッを、アクセスを可能とするために、ホストインタフェースバスに接続す るとともに、このメモリモジュールのすべてのロジックチップと共通なコントロ ールバスに接続している。
図24は、いかにしてMAチチッをXレベルクロスバ−及びRAMチップに接続 するかを、さらに詳細に示している。図にて示すように、ロジック及びデータバ スに従って、MAチチッを構成する。すべてのアドレスが、クロスバ−からMA チチッに入る0通常、(バスインタフェースを非活動状態とした場合) 、RA Mアドレスビットの数に相当するアドレスビットの部分をバスし、M^チチッに よって制御されるバンク中のRAFIをアドレス指定する。その他のアドレスビ ット及び設計部の書き込みイネーブルによって、各々のRAMの書き込みイネー ブル信号を制御するデコーダロジックを駆動する。この設計部メモリに必要とさ れる構成に応じて、ロジックを構成する0例えば、設計部メモリが1個のRAM と同じビット幅を有し、設計部が書き込みイネーブルを主張する場合、アドレス ビットに従い、ただ一つのRAM書込みイネーブルが主張される。設計部メモリ が、1個のチップの2倍の幅を有する場合、一対のRA?l書込みイネーブルが 主張される。
メモリのデータバス幅のサブセットを各々制御している、1より多くの書込みイ ネーブルを有する設計部メモリを望む場合、幾つかの設計書込みイネーブル回路 網を用いることができる。
各回路網は、MA及びMDチチッ中のデコードロジックの構成を適切なものとし 、上述のラインに沿って作動する。このことは、MAチチッへとつながっている L−Xパスと、MDチチッへとつながっているコントロールバスバスとの使用可 能度に依存している。
バスインタフェースロジックによって、ホストインタフェースバスを介し、ホス トは、このRAMをアクセスさせることができる。この組となっているRAMを バスを用いて、アドレス指定する場合、バスインタフェースは、アドレスマルチ プレクサ(“muχ゛ )を切り換え、RAMをそのアドレスにアドレス指定す る。ホストが1個のRAMに書込みを行う場合、バスインタフェースロジックは 、信号をデコーダロジックに送信する。デコーダロジックは、アドレスビットを 使用し、RAMを駆動せずに、適切なRAM書込みイネーブルを主張する。
最終的には、MDチチッ中のデータバスを制御するのに、幾つかの信号を必要と する。MDチチッのすべてを、MDチチッと同一のL−Xパスに接続してはいな いので、MOチチッは、設計部かコントロールバスを、すべての正及びMDチチ ッに接続し、これらの信号及びバスインタフェースコントロール信号をMDチチ ッへ送信できるようにしている。
1.3.1.2.2 メモリデータバスロジックチップMDチップは、ビットス ライス構成に従ってデータバスを操作する。クロスバ−と交差して、ビットスラ イスを行うことによって、リアライザシステム中のマルチビットバスデータバス を相互接続する。チップ毎に1又は2ビツトを用いて、バスはXチップと交差し て広がっている。MDチチッをビットスライスし、これらのバスとの接続を容易 にしている。各MDチチッを、すべてのバンク中の各RAM中の同一のビットに 接続するとともに、Xチップのサブセットに接続する。同一のRAMビットのす べてを、MDチチッ中で結びつけ、種々のビット幅及びサイズ設計部メモリの構 成に柔軟性を持たせることができる。MDチチッ中にロジック及びデータバスを 適切に構成することによって、RAFI幅の種々の倍数で、設計部メモリを構成 する。
“n”個のMDチチッ及び°n′個のXチップを設ける場合、各MOチチッをM /nの種々のXチップを用いて接続する。各データビットは、2個のL−Xパス 、すなわち、クロスバ−加算相互接続構成のために、分離I10構成のためのD I及びDOXパスは、共通I10双方向性構成のための加算入力及び加算結果の いずれか一方である。このようにして、各問チップは少な(とも2*M/nL− Xバスを有している。これらに加えて、付加的なバスを設けることができる。こ れら付加的なバスを、島のL−Xバスに重ねることができる。MOチチッ、RA M及びRAMビット幅の数を選択し、これらの制約及び容量制約を適合させ、問 チッラ°に用いられるロジックチップ中のピンの数を有効に用い、これを偶数と なるようにしている。
工業規格スタテックRAMチップは、双方向性データピン(DQと称する)を有 する共通I10構造を有しており、データイン及びデータアウトに用いられる。
これは、アドレス入力ビン(ADDR)及び書込みイネーブルピン(WE )を 有している。この実現例において、出力イネーブルピン及びチップ選択ビンは、 永続的にイネーブルされており、出力ビンは、書込みイネーブルで制御する。必 要な場合には、RAMの読出しをし、アドレスデータをDQピンで駆動する。書 込みイネーブルを主張する場合、データインをDQピンで受信する。この主張の 終了時に、データをアドレスロケーションに書込む。規格デバイスは、書込みイ ネーブルの終了時に、セットアツプ中のデータのみを必要とし、また、ゼロ保持 時間を必要とし、これによって、データバスの書込みイネーブル制御を可能とし ている。
設計部メモリが共通I10を必要とする場合、設計部は、トライステート回路網 となる。これは、クロスバ−加算構成を用いて実現される。すなわち、駆動ピン はそのイネーブルによって、別々にゲートされ、受信ビンを駆動する加算ORゲ ートに集められる。 RAMDQデータピンを、図25に示されているようなM Dチチッ中に構成されるロジック及びデータバスによってインタフェースさせる 。(1ビツトのピント “n゛を図示する。他も同様である。) Lチップがトライステートドライバを有している場合に、Xチップ中の加算ゲー トを駆動するイネーブルゲートを存しているように、Xチップ中の加算ゲートを 駆動するイネーブルゲートを用いて、各MOチチッを構成する(MO’ n ’ を図示する)。
設計部メモリ入力回路網によって、出力端子をイネーブルするとともに、書込み をディゼーブルする場合、ロジックは、RAMの加算ゲートへの出力をゲートす るとともに、受信ドライバをディゼーブルする。もし、そうでなければ、回路の 値は、加算ゲートからRAMへと伝達され、書込みイネーブルが主張されると、 書込みが可能となる。上述したよにう、設計部書込みイネーブル及び出力イネー ブル信号がMAチチッから(コントロールバスを介して)生じることに注意する 。
バスインタフェースロジックは図示していない。
設計部メモリが分離I10を必要とする場合、これは、図26にて示されている ように、SRAMの共通I10から抽出される。
出力イネーブルが主張される場合、データアウトは、常にSRAMのデータピン ステートを反映している。書込みイネーブルが主張される場合、データインは、 SRAMのDQビンに伝達される。
上記の図面では、設計部データビットに接続された一個のRAMのみを図示して いる。時には、数個のRAMを設けており、この場合、設計部メモリ中のロケー ションの数は、単一のRAMチップの大きさの倍数となっている。このような場 合、図27にて示しているように、MOチチッを構成する。
幾かのRAM各々のDQビンを、この肘チップに接続する。ローアドレスビット と、設計部及びバスインタフェース制御信号とが、コントロールバスを介して、 M^チチッから問チップへと伝達される。読出しの場合、アドレスのローピット は、マルチプレクサを介してRAMD(]出力のいずれか一つを選択する。選択 された出力は、設計部出力イネーブルによってゲートされ、前述の例と同様に設 計部メモリデータアウトを構成する。設計部がその出力イネーブルを主張する場 合、ドライバをイネーブルすることによって、データインは、RAM DQ大入 力内のいずれか一つに伝達される。ローアドレスビット及び設計部書込みイネー ブル信号によって駆動されるデコードロジックによって、駆動すべき適切なドラ イバを選択する。RAMチップの書込みイネーブルをMAチチッによって駆動す ることを中止する。
図27は、分離I10構成を示している。共通I10構成は、クロスバ−加算ゲ ートによって駆動されるデータインと、設計部出力イネーブル及び書込みイネー ブルによってゲートされるデータアウトとに類似しており、図25にて示すよう に、加算ゲート入力を駆動する。
ホストインタフェースが、ホストインタフェースバスを介して、このメモリをア クセスする場合、MAチチッによって構成されるロジックは、バスをアクセスす るための制御信号を出力する。この信号は、コントロールバスを介してMAから 伝達される。
バスが読出しを行う場合、バス読出しイネーブルは、マルチプレクサがアドレス 指定したRAMより選択したデータを、このMDチチッに対応するホストインタ フェースバスデータビットに伝達する。バスが書込みを行う場合、バスデータビ ットからのデータを、他のマルチプレクサを用いて、ドライバにスイッチする。
このデータは、通常の書込みと同じプロセスによって選択されたRAMのDQピ ンへと伝達される。
この説明は、単一の設計部メモリのデータバス幅から単一のデータビットを用い て構成した、MDチチッ構成を示していることに注意する。設計部メモリ構成に よるものであり、且つ、モジュール中のMD及びRAMチップの数を必要とする 場合、単にデータバスを適切に曲げることによって、1より多くのデータビット が各MDチチッ中に現れる。さらに、前記データバス及びコントロールラインを 曲げることによって、−組の共通MDチチッを用い、1より多くの設計メモリを 実現し、幾つかのメモリを具体化する。メモリモジュールにつながっているある L−Xバスを、MAチチッにのみ接続し、且つ、あるL−Xバスを、MDチチッ にのみ接続しているので、適切なL−Xパスを用いて設計部メモリに接続された 回路網を相互接続するためだけに設計部変換相互接続プロセスを組立てる。
1.3.1.3 設計部メモリのための設計部変換オリジナル設計ファイル中で 利用可能な構成のいずれか一つに対応する設計部メモリRAM基本要素を用い、 入力設計部中の設計部メモリを特定する。設計部変換方法は、−組の予め定義し た部分的ネットリストファイルに基づくものである。この内の一つは、メモリモ ジュールのロジックチップの各々のためのものであり、上で示したように、特別 のメモリ構成をするために構成すべきすべてのロジック及びデータバスに関する ステートメントを用いている。
予め定義されたファイルは、相互接続を用いて、設計部メモリアドレス、データ 及びコントロール接続を行うのに用いられるモジュールI10ピンのI10ピン 数仕様を除いて、完全なものである。モジュールとは以下のものをいう:設計部 変換のセクションにて述べるように、以下に示すような設計部メモリに対して特 別な例外があるものの、一般的な方法を設計部変換に用いる: ・ 設計部リーダは、特定のベクトルメモリに対するメモリ基本要素を、設計部 データ構造に読出す、どの構成を用いるかを特定するためのデータを、メモリの データ構造レコード中に記録する。
・ 変換ステージが、構成を利用可能であり、且つ、ピンが構成と正しく対応し いてることを、チェックする。
・ ユーザは、メモリモジュールをボード上のどの位置に、どのしタップを取り 付けるかを、パーティショナ(partitioner )に告げる。このデー タに基づき、パーティショナは、一般的分割化アルゴリズムに従って、記憶のた めのメモリモジュールを選択する。択一的に、ユーザは、このデータを、オリジ ナル設計ファイル中の基本要素と関連づけることによって、メモリを特定のモジ ュールに割り当てることができる。設計部リーグは、メモリの基本要素レコード 中に、オリジナル設計ファイルを具えている。
・ このようにして、インクコネクタは、メモリに接続された回路網及びビンを 、特定のL−X相互接続バスに割当てる。アドレス及びコントロール回路網を、 MAチチッに接続している特定のバスにのみ割当て、且つ、データ回路網を、M Dチチッと接続しているバスにのみ割当てることができるという制約を条件とし て、インクコネクタは、バスの割当てを行う。各クロスバ−チップセットの回路 網相互接続能力を決定する場合、これらのセットを拒否する場合及び、必要とさ れるMA又はMDチチッを接続していないバスを得られない、又は、使用するこ とができない場合、相互接続を行う際に、これらの制約を適用する。
・ リアライザシステム中の各ロジックチップに関するネットリストファイルに 書込みを行う場合、各々の設計部メモリ回路網接続は: 1)MA又は間のいずれかを相互接続手続によって、基本要素が選択するバスに 接続するか否かを、決定すること。
2)通常のロジックチップI10ピン数を得る場合に説明したのと同様の手続を 用い、バス数とMA/?IOチップ数とからロジックチップI10ピン数を得る こと。
3)ここまで、他の回路網に割当てられていない。このMA/MDチップの回路 網からの、予め定義されたアドレス、データ又は制御接続を選択すること。
4)ステートメントを、このロジックチップのネットリストファイルに加え、こ のロジックチップI10ビン数を、予め定義した設計部メモリ接続に接続するの に用いることを明示すること。
によって、ネットリストされる。
・ ネットリストファイルを、ネットリスト変換ツールを用いて、構成ビットパ ターンに処理するとともに、Lチップ及びXチップのネットリストファイルとし てのロジックチップにロードする。
1.3.1.4 具体的なメモリモジュール設計図28は、好適例において用い られるメモリモジュールの設計部を示す図である。これを、図23にて示した上 述の説明に基づく構成に従って、アーキテクトすることに注意する。χC309 0LCAロジックチップの場所のしチップソケットに、プラグを差し込み接続す るように構成する。このようにして、128個のL−Xバス、すなわち、各々3 2個のXチップにつながっている4個のバスを設ける。
共通I10を有する32K 、 8ビットスタティックRAMチップを、8個の RAMの各々の2個のバンク中に用いる。各バンクは、それ自体のMAチチッ、 XC2018LCAを有している。各MAチチッは、8個のアドレスバス及び8 個の書込みイネーブルを用いて、そのRAMを制御する。各MAチチッを、モジ ュール中のすべてのMA及びMOチチッが共有している制御バスに接続するとと もに、ホストインタフェースパスに接続する。残りのピンは、クロスバ−と接続 している。各々異なるXチップとつながっている、28個のL−Xバスを設ける 。MAチチッOは、−Mのパス、パスOを使用し、MAI はパス1を使用する 。これによって、2つの独立設計RAMに対する、別々のアドレス及びコントロ ール回路網が与えられる。完全なる32個のL−Xパスよりも少ないパスを接続 する。これは、単に、XC2018のピンの数が制限されているからに他ならな い。設計変換の間、このモジュールにおけるミッシングバスに対応する、相互接 続L−Xパステーブルにおけるパス構成要素が、利用できないことに注意する。
このため、回路網を、バス構成要素を介して相互接続できない。
8個のMDチチッには、すべてXC2018LCAを使用する。32個のXチッ プを設ける場合(上述の方法に従って)各々のMDチチッは、32/8=4個の 異なるXチップを接続している。各チップは、設計部メモリデータビットに用い られる2*M/n=8個のパスを有している。その内の2個は、各Xチップにつ ながっている。各Xチップにつながっている付加的な2個のパスを設け、以下に 示すように、モジュールを、128ビツトベクトルメモリとして使用できるよう にする。
好適例において実現されるホストインタフェースパスを、Rバスと称する。Rバ スは、すべてのしチップポジションを、付加的なピンを用いて接続する。これに ついては、ホストインタフェースのセクションで説明する。
5個の異なる設計部メモリ構成を、このモジュール中で用いることができる。以 下のチャート及び図28において″パスO”は、各Xチップからつながっている 一組のL−Xパスを示しており、“°パス1”は他の一組を示している。
−・8ビ・・ 12にの1侭9ノIL上L−Xパス0&1を介しての19個のア ドレス及び2個のコントロール(WE、 OB) (MAO及びMAIの両方に接続できるように二重にしている。)L−Xバス2 &3を介しての16個のデータ(DI/Do又はドライバ/レシーバ) 各?lDチップは、16個のRAFIに接続された1個のデータビットを有して いる。
・16ビ・ 256にの1 のメモ1−二L−XパスO&1を介しての18個の アドレス及び2個のコントロール、L−Xパス2及び3を介しての32個のデー タ。
各MDチチッは、各々8個のRAMに接続されている2個のデータビットを具え ている。
・ ビ・・ Kの の モ1 : L−Xパス0及び1を介しての17個のアドレス及び2個のコントロール、L− Xバス2及び3を介しての64個のデータ。
各間チップは、各々4個のRAMに接続されている4個のデータビットを有して いる。
・8ビ・ 256にの2 のメモ1 二重々、L−Xを介しての18個のアドレ スと、2個のコントロールとを有している。パスOは、一方のメモリ(MAO) のためのものであり、パス1は、他方のメモリ(MAI)のためのものである。
各々は、パス2及び3を介しての16個のデータを有している。
各MDチチッは、8個のRAMに接続された、各々のメモリのための1個のデー タビットを有している。
・16ビ・ 8にの2 のメモ1 : 各々は、L−Xパスを介して、17個のアドレスと2個のコントロールとを有し ている。
パスOは、一方のメモリのためのものであり、パス1は他方のメモリのためのも のである。各々、パス2及び3を介して32個のデータを有している。
各MDチチッは、4個のRAMに接続された各メモリのための2個のデータビッ トを有している。
コントロールパスは、−i的に、すべてのMA及びMOチチッに接続された12 個のパスから成っている。12個のパスは、最大コントロール構成を保持する必 要がある。この構成は、3つのアドレスピッI・である。すなわち、設計書込み イネーブルと、2個の256K、8ビツト設計部メモリの各々のための設計部出 力イネーブル信号とに、バス書込みイネーブル及びバス読出しイネーブルを加え たものである。
1.3.2 刺激及び応答 リアライザシステムを多数使用することは、ホストコンピュータの刺激信号送信 と、設計部への応答信号及び設計部からの応答信号の捕捉とに依存している。こ のことを、バッチ形式で行う場合、すなわち、信号の大部分を一度に送信及び収 集する場合に、ベクトルメモリを用いる。このことを、−回に一つの信号で行う 場合には、ステイミュレータ及びサンプラーを用い1.3.2.1 刺激を与え るためのベクトルメモリ連続的且つ反復的な刺激のストリームを、シュミレーシ ョン適用のような、テストベクトルの高スピード反復適用のために実現される設 計部中の一組の回路網に供給することが、時々必要となる。このことは、メモリ を実現される設計部の回路網にインクフェースさせること、刺激ベクトルをホス トコンピュータからのメモリに書込むこと、更には、順次にメモリを一回ないし 数回読出し、刺激を設計部に送ることによって行われる。
連続的且つ、リニアなメモリロケーションを読出す必要があるため、アドレスス トリームを、2進カウンタによって設ける。
図29は、このような刺激ベクトルメモリを達成するための手段を示している。
規則的なりロック信号、ECLKは、プロセスを制御する。ECLKを周期化、 すなわち、各刺激ベクトルの度毎に、ハイとローとを発生させる。2進カウンタ は、アドレスシーケンスを提供する。ECLKがハイになると、カウンタは、次 の刺激ベクトルのアドレスまで、カウントアツプする。次の刺激ベクトルのアド レスは、ECLKの周期の間、RAMによって読出される。ECLKが、次にハ イになると、ちょうど読出された刺激ベクトルの値が、Dフリップフロップのク ロックとなる。フリップフロップの出力信号は、刺激ベクトルの値で刺激される 回路を、駆動する。フリップフロップは、ベクトル間に、必要なりリーントラン ジッションを与える。その理由は、RAM出力が、正しい値に安定する以前に、 その続出サイクルの間、変動しうるからである。このプロセスは繰り返され、一 連の刺激ベクトルが、実現される設計部に与えられる。
この構造は、繰り返され、刺激が、多くの回路網に提供される。刺激ベクトルを RAMに書込むのに用いられるホストコンピュータへのインタフェースは、簡単 のため図示していないが、以下に引用する図面にて、更に詳細に示す。
1.3.2.2 応答捕捉のためのベクトルメモリ同様に、実現される設計部か らの応答を捕捉するーモードでは、連続的なサンプルのストリーム、すなわち、 −組の回路網からのベクトルを捕捉する。この時、ロジックアナライザが、現実 のハードウェアデバイスから捕捉を行う。このことは、メモリを、実現される設 計部の回路網にインタフェースさせ、順次に、回路網からのベクトルを、実現さ れる設計部が動作するときに、メモリに書込み、更に、捕捉された応答ベクトル を解析のためにホストコンピュータへと戻すことによって行われる。
連続的且つ、リニアな一連のメモリロケーションを読出す必要があるため、前記 と同様、アドレスストリームを2進カウンタによって設ける。図30は、このよ うな応答ベクトルメモリを開発する手段を示している。
刺激メカニズムのように、クロック信号、ECLXがプロセスを制御する。各応 答ベクトルの度毎に、ECLKの同期をとる。2進カウンタは、アドレスシーケ ンスを提供する。ECLKがハイになると、カウンタは、次のベクトルのアドレ スまでカウントアツプする。ECLKがローになると、応答ベクトルの値が、ト ライステートドライバによって、RAMDQデータビンに伝達され、FIAMが 、書込みのためにイネーブルされる。ECLKが再びハイになると、この値は、 RAMロケーションに書込まれ、RAM書込みイネーブル及びトライステートド ライバイネーブルは、ディゼーブルされ、カウンタは、次のベクトルのアドレス まで進む。このプロセスは、繰り返され、実現される設計部からの一連の応答ベ クトルを記録する。
この構造は繰り返され、刺激が多くの回路網に供給される。
刺激ベクトルをRAMに書込むために用いられる、ホストコンピュータへのイン タフェースは簡単のため図示していないが、以下で引用する図面において、更に 詳細に説明する。
−m的に、実現される設計部を刺激し、これらの応答を発生させる。刺激が、刺 激ベクトルメモリから生じる場合、両ベクトルメモリは、同一のECLK信号を 用いている。ECLK信号は、新しいアドレスがカウンタから読み取られ、RA ?llをアドレス指定するとともに、データが読出され、刺激Dフリップフロッ プをセットアツプするのに、十分長くハイである必要がある。また、ECLK信 号は、刺激が実現される設計部に影響を及ぼし、この影響に対するすべての応答 が安定し、且つ、これらの応答がRAMに書込まれるのに、十分長くローでなけ ればならない。刺激が、いずれかから生じる場合、応答ベクトルメモリのECL K信号は、1.3.2.3 刺激及び応答のためのベクトルメモリ図31で示さ れているように、刺激及び応答ベクトルメモリシステムに関して上記のように定 義された、刺激及び応答ベクトルメモリの機能を組合わせることができる。RA Mビットは、たとえ同一のRAMデバイスであっても、刺激又は応答のいずれか 一方に、自由に割当てることができる。その理由は、ECLKがハイのときに、 刺激続出機能が生じ、そして、ECLKがローのときに、応答書込機能がこれに 続くからである。トライステート応答ドライバを両方とも刺激Dフリップフロッ プ入力として、同−のRANDロデータビンに接続することによって、一つのビ ットを、刺激及び続出の両方に用いることができる。シンプル刺激ベクトルメモ リと、組合せ刺激/応答ベクトルメモリとの重要な相違点は、刺激ベクトルを、 −回だけRAMから読出することができるという°ことである。その理由は、R AMビットを刺激のみに用いた場合でさえ、各メモリロケーションを、ECLK の半周期のローの時に書込むからである。このことは、RAMチップのすべての ビットを刺激に用い、且つ、ECLKが書込みイネーブルを主張しない場合にの み避けることができる。
前の図面は、一般的な方法で、ベクトルメモリを実現したものを図示している。
更に、点線は、いかにして、ベクトルメモリロジック機能を、ロジックチップ( “HAチチッ”及び°“MD“n″)を構成することで実現することができるか を示すものである。これらロジックチップは、適切に、RAMチップ及びリアラ イザ相互接続(Xチップ)に接続されている。ベクトルメモリと、ソフトウェア からの刺激を電気的な型へと再び戻す変換については、米国特許第4.744. 084号明細書において詳細に説明されている。この内容を参考のため、ここで 用いる。
1.3.2.4 フォールトシミュレーションのためのベクトルメモリ リアライザフォールトシミュレーションシステムについては、これについてのセ クションにおいて説明する。フォールトシミュレーションでは、応答は、ベクト ルメモリに捕捉されず、その代わりに、フォールト応答ベクトルメモリによって 、所定の良好な回路の応答と比較される。フォールト応答ベクトルメモリは、以 下の点において、上で示した簡易刺激ベクトルメモリと同一のものである。すな わち、MOチチッのフリップフロップの出力を用いて回路網を駆動する代わりに 、出力は、XORゲートによって、回路網の値と比較される。XORゲートを、 ECLKが同期をとるセットフリップフロップに接続し、回路網とメモリとの差 を表示しているXORゲートがハイの場合、フリップフロップをセットする。ホ ストは、ホストインタフェースを介して、このセットフリップフロップを読出す ことができ、差が検出されているかどうかを調べることができる。
1.3.2.5 実現される設計部におけるベクトルメモリの相互接続 ベクトルメモリの、実現される設計部への接続方法は、多くの方法が考えられる 。リアライザシステムを、1以上のロジックチップに直接接続され、及び/又は 、相互接続パスのいずれか又はすべてに接続されたベクトルメモリを用いて設計 することができる。例えば、ベクトルメモリを、Lチップ及びXチップを用いて 、ロジックボードに取り付けることができるとともに、ボードとは離れているX −Yパスに接続することができる。
ベクトルメモリを、Yレベルクロスバ−のYチップボードに取り付けるとともに 、X−Y及びY−Xバスに接続することもできる。
ベクトルメモリを、ロジックチップの配置されたしチップロケーションに取り付 け、Lチップロケーションに作用するL−Xパスに接続するというテクニックも ある。この場合、これらL−Xパスを、ベクトルメモリと、Xチップとの間にの み接続する。実現される設計部の回路網への接続を、Xチップを構成することに よって行い、ベクトルメモリを回路網に接続する。
この際、回路網はXレベル相互接続を介し、つながっている。
モジュールの方法でロジックチップをベクトルモジニールに置き換え、リアライ ザシステムを、必要な数の又は、必要よりも少数のベクトルメモリを用いて構成 することができる。リアライザ設計部メモリを、Lチップロケーション中の1以 上のロジックチップの場所にも取り付けているため、このテクニックを用いて、 共通ハードウェアメモリモジュールを、設計部メモリモジュール又は、ベクトル メモリモジュールとして用いることがテキる。メモリモジュール中にロジックチ ップを構成するとともに、リアライザシステムの相互接続を適切に行うことによ って、機能を選択する。これは、好適例において用いられているベクトルメモリ アーキテクチャである。
1.3.2.6 特別なベクトルメモリ設計部好適例において、共通メモリモジ ュールを、設計部メモリ及びベクトルメモリ応用の両方のために使用する。その 一般的なアーキテクチャ及び設計部は、設計部メモリのセクションにおいて説明 し、ここでは説明しない。いかにして、モジュールをベクトルメモリとして用い るかの詳細については、以下に示すとおりである。
以下の2個の図面は、ホストインタフェースからの完全読出し/書込みアクセス を用いて、組合せ刺激/応答ベクトルメモリのためのMA及びMDチチッ中に、 前記と同様のロジックを構成することを示している。ホストコンピュータが非活 動状態である場合、すべての動作は、上記簡単な例にて示したのと同一のテクニ ックに従っている。
図32において、ホストインタフェースを介してホストが出力するECLK信号 を、相互接続を介して、MAチチッに相互接続している。ECLK信号は、各M Aチチッで構成されるアドレスカウンタの同期をとる。各々、−組のRAMを制 御している1以上のMAチツブを、モジュール中に設けているので、各MAチチ ッは、ベクトルアドレスカウンタのコピーを有している。すべてのカウンタは、 同一のコントロール(ECLK及び、バスインタフェースからのリセット信号) を得ているため、その各々は、常に他のカウンタと同一のアドレスを送信する。
通常(バスインタフェースが非活動状態の場合)、アドレスが、カウンタ出力か ら送られ、RAMのアドレス指定を行う、 ECLKがロー状B(書込応答位相 )の場合、デコーダロジックは、前述の例と同様に、すべてのI?AM書込みイ ネーブルを主張する。IICLKは、コントロールバスにも伝達され、MDチチ ッのロジックを駆動する。
MOロジックは、刺激及び応答ベクトル値、それ自体を処理する(図33)。通 常、(バスインタフェースが非活動状態の場合)ECLKがハイ状態のとき、R Al’lは、刺激ベクトル値を読出し、ECLKがロー状態になると、RAMと フリップフロップとを同期させる。フリップフロップは、上記と同様、各回路網 に刺激を与えるためのものである(その内の一つを図示する)。従って、刺激を 相互接続Xチップを介して、回路網へと伝達する。ECLKがロー状態の場合、 すべてのトライステートイネーブル(eo、 el。
・・・en )が主張され、相互接続(2個を図示する)を介して回路網から出 力される応答値を、マルチプレクサを介して、RAMDQデータピンに伝達する 。
ホストコンピュータが、ホストインタフェースバス(特に、好適例のRバス)を 介して、このメモリをアクセスする場合、各々のMAチチッ中に構成されるバス インタフェースロジックが活動状態となる。これは、アドレスマルチプレクサ( mux )を切り換え、バスがRAMのアドレス指定を行う、バスサイクルが、 RAMに書込みを行うためのものである場合、デコーダロジックは、アドレスビ ットを用いて、どのRAMに書込みを行うべきであるかを解読するとともに、適 切な書込みイネーブル信号を出力する。RAMを選択するのに必要とされるアド レスビット及び、続出及び書込み制御信号も、コントロールバスを介してHDチ チッに伝達される。MDチチッにおいて、バスが読出しサイクルを行う場合、デ コーダロジックは、すべてのトライステートRAMDQピンドライバをデゼーブ ルし、アドレスビットを用いて、読出しマルチプレクサを介して、アドレス指定 されたRAMのDQデータ出力を選択し、更には、バス読出しイネーブル信号が 、デごり値を、このビットのためのホストインタフェースバスのデータラインに 伝達する。バス書込みサイクルにおいて、デコードロジックは、書込みマルチプ レクサを用いて、応答を与える回路網ではなく、ホストインタフェースバスのデ ータラインから生じるデータ値を選択するとともに、アドレス指定されたRAM のためのトライステートRAMDQ ドライバをイネーブルし、データをRAM 入力へと伝達する。
1.3.2.7 ベクトルメモリの設計変換及び仕様回路網をベクトルメモリに 接続すべきであるということを説明するために、ユーザは回路網に、入力設計に 関する特別な特徴を付加し、特定のベクトルメモリ及び、接続が刺激のためのも のであるのか、応答のためのものであるのかを説明する。設計部変換方法は、− 組の所定の部分的ネットリストファイルに基づくものであり、この内の一つは、 各モジュールのロジックチップのためのものであり、前記と同様ベクトルメモリ 刺激及び応答接続と、ベクトルメモリデータバス及びコントロールロジックと、 バスインタフェースロジックとに関するステートメントを用いている。
この方法では、ERCGAネットリスト変換ツールは、任意の出力端子又はI1 0ピンに接続されていない入力端子及び、任意の入力端子又はI10ビンに接続 されていない出力端子のような、通常接続されていないネットリストファイル中 の基本要素及び回路網のための、ロジック及び相互接続を構成することはない。
各ベクトルメモリビットに対する刺激接続及び応答接続のために、ロジックを設 ける。ネットリストに供給される、いずれか一方の相互接続のみが実際に構成さ れ、他方は、構成されない。その理由は、通常それを、ネットリストに接続しな いからである。
予め定義されたファイルは、相互接続を用いて、ベクトルメモリ刺激接続と、ベ クトルメモリ応答接続とを接続するのに用いるモジュールI10ピンのI10ピ ン数の仕様を除いて、完全なものである。各ファイルにおける刺激及び応答接続 の数を、何個のI10ピンを、ファイルのロジックチップ中に用いることができ るか、どの程度のロジックを各チップに設けることができるか、更には、全体と してのモジュールによって、決定する。その方法は、以下のとおりである。:設 計部変換のセクションにおいて説明したように、以下のようなベクトルメモリの 特別な例外を有するものの、一般的な方法を設計部変換に用いる: ・ 設計部リーグは、ベクトルメモリ接続のために設けられた回路網を識別する ために入力設計ファイルからの特性情報を読出し、且つ、バスインタフェースロ ジックではなく、回路網に接続された1以上のベクトルメモリ基本要素を、その 設計部データ構造に組込む。設計部リーグは、ホストインタフェースクロック発 生器及びベクトルメモリ基本要素に接続されたECLに回路網を作り出す。
・ パーティショナとは、ユーザが、メモリモジュールを取り付けるボード上の いずれかのLチップを指定するということである。このデータに基づき、バーテ ショナは、ベクトルメモリ基本要素を、通常の方法でメモリモジュール中に分割 する。
・ インクコネクタは、他のロジックチップ基本要素と同一なベクトルメモリ基 本要素を処理し、これらを、回路網中の他の基本要素を用いて接続しているL− Xバスを決定する。
・ リアライザシステム中の各ロジックチップのネットリストファイルに書込み を行う場合、各ベクトルメモリ回路網接続は:1)どのロジックチップが、相互 接続手続によって、基本要素が選択したバスを接続するかを決定する。
2)通常のロジックチップI10ピンナンバを得る際に説明したのと同様の手続 を用いて、バスナンバ及びロジックチップナンバからロジックチップI10ビン ナンバを得る。
3)これまで、他の回路網に割当てられていないロジックチップに関する回路網 から、予め定義された刺激又は応答ベクトルメモリ接続を選択する。
4)ステートメントを、このロジックチップのネットリストファイルに加え、こ のロジックチップI10ピン数を、予め定義されたベクトルメモリ接続に接続す るために用いることを明示する。
ことによってネットリストされる。
・ 設計変換システムは、対応テーブルファイルも送出し、回路網の名称を、ベ クトルメモリ及びベクトルメモリビット位置と関連づけ、動作中、使用する。
・ ERCGAネットリスト変換ツールは用いられるベクトルメモリ刺激及び応 答入力端子のロジック及び相互接続のみを構成する。
1.3.2.8 スティミエレータ スティミュレータは、単一の記憶ビットとし、ホストコンピュータで制御し、設 計部の回路網を駆動する。ステイミュレータは、ホストが、入力信号を設計部に 供給するのに用いられる。
2種類のステイミュレータ、すなわち、ランダムアクセスタイプと、エツジ検知 タイプとを設ける。実際のランダムアクセスステイミュレータは、フリップフロ ップであり、その出力信号は、ホストインタフェースバスを介し、ホストが必要 に応じてデータをロードする設計部回路網を駆動する。ランダムアクセスステイ ミュレータは、設計部の動作を変化させることなく、他の刺激された回路網に呼 応して、常に値を変化させることのできる回路網を刺激するのに用いられる。こ のような回路網の一例としては、レジスタへのデータ入力がある。各ステイミュ レータは、唯一のバスアドレスを有し、ホストがデータをこのアドレスに書込む 場合に、バスインタフェースロジックは、データをD入力に与えるとともに、ス テイミュレータフリップフロップのクロック入力の同期をとる(図34)。
エツジ検知タイプのステイミュレータは、設計部の動作、例えばレジスタへのク ロック入力を修正するための他の回路網と同期しながら変化しなければならない 回路網を刺激するのに用いられる。第2フリツプフロツプを、ランダムアクセス ステイミュレータと、設計部回路網との間に配置する。同期をとらなければなら ない一群のこのようなステイミュレータのすべてを、共通りロックに接続する。
新しい一組の回路値を入力するために、ホストは、新しい値を、たとえどのよう なオーダであっても、上記と同様に、ホストインタフェースバスを介して、各ス テイミュレータの第1フリツプフロツプにロードする。新しい値が設計部にすべ て供給される必要がある場合、ホストは、共通“同期クロック′を周期化し、一 度にすべての値を第2フ、リップフロップにロードし、このようにして、すべて の回路網を同時に駆動する(図35)。
1.3.2.9 サンプラ サンプラは、単一の記憶ビットであり、ホストコンピュータによって制御され、 設計部の回路網を受信する。サンプラは、ホストによって使用され、設計部から の出力信号を捕捉する。
サンプラの最も簡単な形は、D入力端子で設計部回路網を受信し、同期をとるこ とができ、且つ、ホストインコツエースバス及びバスインタフェースロジックを 介してホストが必要に応じて読出すことのできるフリップフロップである。通常 、多数のサンプラを、共通“サンプルクロック′に接続する。サンプラデータ出 力は、 ′サンプルクロック″出力と同様に、唯一のバスアドレスを有している 。ホストは、クロックを周期化し、一群のサンプルを取り出し、その後、サンプ リングされたデータ値を一つ一つ読出す(図36)。
必要とされるホストI10の数を削減するために、第2フリツプフロツプを付加 的に加え、変化検出サンプラを構成する。
第27リツプフロンプを、サンプリングフリップフロップと同一のクロックに接 続し、その入力端子を、サンプラの出力端子に接続する。結果的に、第2フリツ プフロンプは、最も新しいクロック周期前にサンプラが有していた値を保持して いる。2個のフリップフロップ出力を、XORゲートで比較する。XORゲート は、サンプリングされた値の変化のため、2個のフリップフロップが相違する場 合ハイ状態の値を出力する。一群のサンプラからの全XOR出力信号を、ホスト が読出し可能なORゲートによって加算する。上述したように、 ′サンプルク ロック′を周期化することによって、回路網をサンプリングした後、ホストは、 まず第1に、このORゲートの“変化°値をチェックし、グループ中のどの値が 変化したのかを調べる。変化していない場合には、これらサンプラのいかなる値 をも読出す必要がない(図37)。
1.3.2.10 ステイミュレータ及びサンプラの設計変換及び仕様サンプラ 及びステイミュレータフリップフロップと、ロジックゲートと、バスインタフェ ースロジックとを、リアライザシステムロジックチップ中に実現する。回路網を 、サンプラ又はステイミュレータに接続すべきであることを説明するために、ユ ーザは、回路網に、入力設計に関しての特別な特性を与え、ステイミュレータ又 はサンプラの特定のタイプと、グループの同一性を識別する。ステイミュレータ 及びサンプラを構成し、これらを、設計部の残りの部分及びバスインタフェース に接続するために、設計変換ソフトウェアシステムを用いる一般的な方法は以下 に示すとおりである: 設計変換のセクションにおいて説明したように、以下のようなステイミュレータ 及びサンプラに関しての特別な例外があるものの、−i的な方法を設計部変換に 用いる:・ 設計部リーダは、特性情報を入力設計ファイルから読出し、ステイ ミュレータ及び/又はサンプラのために設けられた回路網を識別し、バスインタ フェースロジックではなく回路網に接続されたステイミュレータ及びサンプラの 基本要素を、設計データ構造に組み込む。
・ システムパーティショナは、このような基本要素の各々が、ロジックチップ 中に何個の等価ゲートを有しているかについてのデータベースを有している。シ ステムパーティショナは、バスインタフェースロジックの等価ゲート指数も有し ている。このデータに基づき、システムパーティショナは、その通常の分割化ア ルゴリズムに従って、ステイミュレータ及びサンプラをロジックチップに割当て る。この際、システムパーティショナが、バスインタフェースロジックのサイズ によって、ロジック容量の限界を小さくするという付加的な条件を課し、−以上 のステイミュレータ及び/又は、サンプラを有するロジックチップの各々が、バ スインタフェースロジックブロックを有しなければならないということを説明す る。
・ インタコレクタは、他の基本要素と同じく、ステイミュレータ及びサンプラ 基本要素を処理する。
・ リアライザシステムにおける各ロジックチップのネットリストファイルに書 込みを行う場合、以下の手続を用いて、各サンプラ又はステイミュレータ基本要 素をネットリストする。
1)サンプラ又はステイミュレータを構成するゲート及び/又はフリップフロッ プの基本的ステートメントを、ステートメント分割化のためのロジックチップの ネットリストファイルへと送信する。相互接続基本要素について説明したのと同 様の方法に従って、サンプリング又は、刺激される回路網に亘る付加的な回路網 のネームを、サンプリング又は刺激される回路網のネームから得る。
2)これが、この特別なロジックチップファイルにネットリストされる第1ステ イミユレータ及びサンプラである場合、バスインタフェースの予め定義されたネ ットリストファイルセグメントを用い、バスインタフェースを構成する基本要素 及び回路網をロジックチップに供給する。インタフェース毎に一回のみ使用され るバスインタフェース相互接続には前記ファイルセグメントで定義される標準的 なネームが与えられる。ステイミュレータ又はサンプラロジックに接続されるも のには、捕捉した回路網のネームが与えられる。このネームは、ステップ1にお いて、基本要素を出力する際に用いたネームと整合している。
簡単ではあるが、一般的ではない方法を用いて、メモリモジュール又はユーザ指 定のデバイスモジュールのロジックチップ中にのみ、ステイミュレータ及びサン プラを実現する。このことは、ERCG八ネッへリスト変換ツールがどの出力端 子又はI10ピンにも接続されていない入力端子、及び、どの入力端子又はI1 0ピンにも接続されていない出力端子のような、通常接続されていないネットリ ストファイル中の基本要素及び回路網のためのロジック及び相互接続を構成しな いということを仮定している。このことは、−組の予め定義された部分的ネット リストファイルに基づくものである。このファイルの一つは、各モジュールのロ ジックチップのためのものである。この際、以下のステートメントを用いている 。
1)すべて共通°“同期クロック“に接続されている多数のエツジ検知タイプの ステイミュレータ 2)すべて同一の“サンプルクロック“に接続された多数の変化検出サンプラ 3)上記のすべてのためのバスインタフェースロジック予め定義されたファイル は、サンプラとステイミュレータ、とを相互接続を用いて接続するのに用いられ るモジュールI10ピンのI10ピンナンバの仕様を除き、完全なものである。
コントロールバスを用いて、同期及びサンプルクロックのような共通信号を、ロ ジックチップ間に分配する。各ファイル中のステイミュレータ及びサンプラの数 を、何個のI10ピンがファイルのロジックチップ中に利用できるか、どの程度 のロジックを各チップが有することができるか、及び、全体としてのモジュール によって決定する。その方法は、以下に示すとおりである: 設計部変換のセクションにおいて説明したような一般的な方法を設計部の変換に 用いる。この際、ステイミュレータ及びサンプラに関して、以下のような例外が ある。:・ 設計部リーダは、ステイミュレータ及びサンプラのために設けられ た回路網を識別するために、入力設計ファイルからの特性情報を読出し、且つ、 バスインタフェースロジックではなく、回路網に接続されたステイミュレータ及 びサンプラ基本要素を、その設計部のデータ構造に組込む。
・ パーティショナとは、ユーザが、メモリモジュール及びユーザ指定のデバイ スモジュールを取り付けるボード上のいずれかのしチップを指定するということ である。このデータに基づき、パーティショナは、まずメモリ及びUSD基本要 素をモジュールに割当て、その後、その通常の分割化アルゴリズムに従い、各モ ジュール単位で利用することのできる数の限界に至るまで、ステイミュレータ及 びサンプラ基本要素を、このようなモジュールの残りへと分割化する。
・ インクコネクタは、他のロジックチップ基本要素と同一なステイミュレータ 及びサンプラを処理し、これらを、回路網で他の基本要素を用いて接続している L−Xバスを決定する。
・ リアライザシステム中の各ロジックチップのネットリストファイルに書込み を行う場合、各サンプラ又はステイミュレータ基本要素は: 1)どのロジックチップが、相互接続手続によって、基本要素が選択したバスを 接続するかを決定する。
2)通常のロジックチップI10ビンナンバを得る際に説明したのと同様の手続 を用いて、バスナンバ及びロジックチップナンバからロジックチップI10ピン ナンバを得る。
3)これまで、他の回路網に割当てられていないロジックチップに関する回路網 から、予め定義されたステイミュレータ/サンプラを選択する。
4)ステートメントを、このロジックチップのネットリストファイルに加え、こ のロジックチップI10ビンナンバを、予め定義されたサンプラ/ステイミュレ ータに接続するために用いることを明示する。
ことによって、ネットリストされる。
・ ERCGAネットリスト変換ツールは、使用するステイミュレータ、サンプ ラ及び関連あるバスインタフェースロジックのためのロジック及び相互接続を構 成する。
両方の方法において、設計部変換システムは、対応テーブルファイルも出力し、 動作中に使用するために、回路網ネームを、特定のステイミュレータ及びサンプ ラに関連させるとともに、アドレスを、ホストインタフェースバスで通信する。
1.3.3 ユーザ指定デバイス 構成されたロジック及び相互接続チップの形態で、実際に動作するハードウェア 中に入力設計部を実現するために、他の実際のハードウェアデバイスを、リアラ イザシステムに接続することが実用的且つ望ましい。マイクロプロセッサ又は、 他のVLSI ICチップ、デジタル/アナログコンバータ、ディスプレイデバ イス、入力キイボード及びスイッチ、記憶デバイス、コンピュータ人力/出力バ ス等のデジタル入出力を具える任意のデバイスを設けることができる。これらを 、回路ボード又は大規模スケール構成素子のような、実現される設計部の一部を 構成するデジタルシステムの一部とすることができる。
これらのデバイスは、リアライザシステムのロジックゲート、フリップフロップ 及びメモリ中で具現化することのできない、実現されるべき入力設計部の一部を 示している。これは、ディスプレイのような物理的な理由によるもので、大規模 記憶デバイスのような、リアライザシステムのリソースが不足しているため又は 、標準的マイクロプロセッサのように、ロジック的な記述を利用することができ ないためである。代わりに、これらのデバイスは、すでに構成され正しいことが 証明されている半通例のゲートアレイチップのような、ユーザがリアライザシス テムリソースを用いて実現することを望まないデバイスともなり得る。その理由 は、これを実現するために、リアライザシステムリソースを用いる必要がないた め、又は、ユーザが設計部の実現される部分のデバイスを用いての正確な動作を 試験したいためである。これらのデバイスは、リアライザシステムの一部ではな いが、ユーザの設計の必要に応じて、ユーザによって指定されるものであるため 、これらのデバイスを°“ユーザ指定デバイス” (USD )と称する。
ユーザがこのようなデバイスをリアライザシステムハードウェアに接続するのに 用いる標準的な手段を、リアライザシステムに設けるのに役立つような、多様な USDを設ける。この手段はユーザ指定のデバイスモジュール(USDM)であ る。
1.3.3.1 ユーザ指定のデバイスモジュールユーザ指定のデバイスモジュ ールは: 1)物理的に、ユーザ指定のハードウェアデバイスを接続する手段を具えている 。
2) tlsDと、リアライザシステムロジック及び/又は相互接続チップとの 間を接続している。tlsDが、ロジックチップと類似する設計部の役割を果た すため、ロジックチップと同様の方法で、USDMを相互接続するのが好都合で ある。
3)通常、Lチップロケーションに取り付けられたロジックチップが行うように 、USDビンを、相互接続ピンに自由に割当てる機能を設ける。
ユーザ指定のデバイスモジュールは、メモリモジュールがそのRAMチップに有 しているのと類似の機能を具えている必要があるので、USDMのアーキテクチ ャは、メモリモジュールのアーキテクチャと類似している。図38は、USDM アーキテクチャを示している。tlsDMプリント回路基板、すなわち、USD Mにプラグで取り付けられている移動可能なドーターカード(daugh te rcard )の領域である、ユーザ指定のデバイス取り付は領域又は、マイク ロプロセッサ、エミュレータCemu la tor)計器と共通する方法で、 ケーブルを介して接続されている他のこのような領域にデバイスを取り付ける。
端末のブロックは、デバイス入出力ピンと、USDMロジックチップとの間に、 コネクタ端末細条、−組のプリント回路ボードパッド又は、他のこのような手段 を介して、電気的な接続を行うための手段を具えている。端末のブロックンの容 量が許す限り、−以上のデバイスを取り付けることができる。その代わりに、デ バイスを、一般的な方法で、ケーブル及びリピータデバイスを介して、遠隔的に 接続することもできる。
MA及びMDロジックチップの各々は、端末ブロックに接続されたI10ビンと 、相互接続に接続されたI10ピンとを具えている。これらのチップを、メモリ モジュールアドレス及びデータバスロジックチップにおいて説明したのと同様の 方法で、相互接続に接続する。付加的に、図にて示したように、メモリモジュー ルにチップを使用するのと同様の目的のために、これらのチップを、ホストイン タフェースバス及び/又は共通コントロールバスにも接続する。
一般的に、バスデータビットがMOチチッに分配され、これによって、相互接続 に分配されるように、USDアドレス及びデータバスを、MDチチッに接続する 。MAチチッを、USDコントロールライン及び付加的にUSDアドレスライン に使用する0図面は、可能性を説明するために、接続された3個の仮説的ユーザ デバイスを示している。USDOは、MDチチッを介して接続されたデータ及び アドレスバスと、■へ〇を介して接続されたコントロールラインA、B及びCと を有している。usoiは、MDチンプに接続された3個のデータバスと、MA チチッを介してのアドレス及びコントロール接続とを存している。USD2は、 アドレス指定のためのMAI と、データのためのMDチチッとを使用する。任 意の特定のケースにおいて、リアライザシステムのユーザは、これらの設計及び 使用にとりで適切な方法を用いて、これらのLISOを接続することができる。
前記セクションにおいて示したように、メモリモジュール問チップにおいて、双 方向性RAMDQピンを相互接続するのと同様の方法を用いて、双方向性USD 接続を相互接続する。相違点は、入力設計部の回路網を、出力イネーブルコント ロールのようにして明示する必要があるという要件である。この回路網を、メモ リモジュール数が25及び26の場合に示される゛設吐出カイネーブル”と同様 の方法で、相互接続ロジックに接続し、MDチチッの双方向性ドライバを制御す る。通常、適切な出力イネーブルコントロール回路網を、入力設計部中に設けて いない場合、ユーザはこれを設ける必要がある。
1.3.3.2 好適例の1150M 図39において示した好適例において、RAMチップの代わりに口SDを取り付 けるための領域に関して、USDMは、リアライザメモリモジュールと同一であ る。8個のMDチチッの各々は、16個までのUSDビンを相互接続し、2個の FIAチップの各々は、23個のまでのUSDビンを相互接続する。図は、2個 の実際に取り付けられたVLSIデバイス、すなわち、モトローラMC6802 0の32ビツトマイクロプロセツサ(“MC6802032Bit Micri processorUser’s Manual 、 Motorola、 I nc、、 Phoenix、 1984 )と、モトローラMC68881浮動 小数点コープロセッサ(”MC68881Floating Po1nt Co processor User’s Manua1″+ Motorola、  Inc+Phoenix、 1985)とを示している。これらのデバイスは、 USDの優れた例である。その理由は、一般的にこれらのデバイスをデジタルシ ステムの設計に用い、これらのロジック回路表現をユーザが利用可能とすること はできないからである。これらのデバイスは、以下の入/出力ピンを有しており 、この詳細については、以下に示すとおりである。
匹餞旺虹 データ : 031−Do、双方向性 出力イネーブル条件:R/Wが“書込み”を示し、且つDBENが真である場合 、031−DOは、出力信号を送信し、そうでない場合には、入力信号を受信す る。
アドレス : A31−AO2出力 中央入力端子: CLK、 DSACKO,DSACKI、 AVEC,CDl 5. IPLO−IPL2゜BR,BGAC)[、RESET、 HALT、  BERR中央出力端子: R/W、 IPEND、 BG、 DS、 DBEN 、 AS、 RMC,OCS。
ECS、 5IZO,5IZI、 FCO−FC2肛旦旺側− データ : 031−DO1双方双方 向性イカイネーブル条件/Wが“読出し”を示し、且つDSACKO及び/又は DSACKIが真の場合、031−DOは、出力信号を送信し、そうでない場合 には、入力信号を受信する。
アドレス : A4−AO、入力 中央入力端子:CLK、 5IZE、 RESET、 AS、 R/W、 DS 、 CS中央出力端子: DSACKO,DSACKIデータバスとアドレスバ スとを、MDチチッを用いて相互接続する。メモリデータバスのセクションにお いて説明したように、パスデータビットを、クロスバ−を横切ってスライスし、 図にて示すように相互接続を容易にしている。制御信号はMAチチッによって相 互接続される。
出力イネーブル制御信号は、上述したように、制御信号に接続された特別のロジ ックによって発生させられる。ユーザは、このロジックを人力設計部に設け、設 計部の残りの部分を用いて、Lチップ中に実現する。各MDチチッが、異なるL −Xパスの組を接続し、通常出力イネーブルコントロールが全バスに関して一般 的なものであることから、設計部変換システムは、これらの回路網を、MAチチ ッの内のいずれか一個に接続するとともに、tlsDMコントロールバスを用い て、回路網を、接続の必要性があるMD及びMAチチッに接続するように、MA 及びMDチチッを構成する。
1.3.3.3 ユーザ指定のデバイスのための設計部の変換USDを、特別の 基本要素を用いて入力設計部内に設ける。USDは、ユーザが作成するUSD仕 様ファイルを示している特性データを伝達する。このファイルは、どのLチップ ロケーションに、このデバイスを有するUSDMを取り付けるかを示すとともに 、USDのI10ビンをリストする。この際、入力設計部のUSD基本要素中に 使用されているピンネームを使用している。各ビンに対して、USDは、ビンを 接続しているUSDMロジックチップ及びビン数と、ビンが入力、出力又は双方 向性であることとをリストする。ビンが双方向性である場合には、入力設計部中 の出力イネーブルコントロール回路網のネームもリストする。
設計部変換ソフトウェアシステムは、USDを構成するとともに、USDを設計 部の残りの部分に接続するネットリストファイルを出力する。一般的な方法を使 用するが、これには、以下のようなUSDに対する例外がある: ・ 設計部リーグは、USD基本要素を、設計部データ構造中に読出す。設計部 リーグは、USD仕様ファイル中で続出を行うために、ファイル特性を使用する とともに、後の使用のための基本要素記憶と関連する情報を記憶する。基本要素 記憶を、各々異なる出力イネーブルコントロール回路網に接続された特別のビン に供給する。
・ 変換ステージは、構成が利用可能であり、且つ、ビンが正しく構成と対応し ているということをチェックする。
・ システムパーティショナは、USDを、USD仕様ファイルで特定されるし チップロケーションに配置する。
・ インクコネクタは、USDピンに接続された回路網を、特定のL−X相互接 続パスに割当てる。インクコネクタはこのことを行う際、USDピンに接続され た回路網を、USD仕様ファイルで特定されるMA又はMOチチッに接続するパ スにのみ割当てることができ、且つ、イネーブルコントロール回路網ビンを、M Aチチッに接続しているパスにのみ割当てることができるという制約を条件とし ている。
・ ネットリストファイルをUSDMに送信するために:このUSDMの口SO を制御している各出力イネーブルコントロール回路網が: 基本要素を、この回路網のMAチチッのネットリストファイルに送信する: その理由は、この回路網のために使用するL−Xパスを受信している入力バッフ ァが、出力バッファの入力を駆動し、これによって、この回路網に割当てられた コントロールパスラインを駆動するからである。
このUSDMのUSDに接続されている各回路網が:USD入カピフカピンする 場合、基本要素を、このビンのロジックチップのネットリストファイルに送出す る:その理由は、この回路網に使用される受信パスからの入力バッファが、この USDピンのために用いられる末端ブロックビンを駆動する出力バッファの入力 端子を駆動するからである。
USD出力ビンを受信する場合、基本要素を、このビンのロジックチップのネッ トリストファイルに送信する:その理由は、この回路網に用いられる駆動パスに つながっている出力バッファが、このUSDピンに用いられる端末ブロックピン を受信している入力バッファの出力端子を受信する。
11sD双方向性ビンに接続している場合、基本要素を、このビンのロジックチ ップのネットリストファイルに送信する:その理由は、この回路網に用いられて いる受信パスからの入力バッファが、このUSDビンに用いられる端末ブロック ビンを駆動しているトライステート出力バッファのデータ入力端子を駆動し、 この回路網に用いられている駆動パスにつながっている出カバソファが、このU SDピンに用いられている端末ブロックピンを受信する入力バッファが一方の入 力端子を駆動する2人力ANDゲートの出力を受信し、このピンの出力イネーブ ルコントロール回路網に割当てられたコントロールパスラインからつながってい る入力バッファが、トライステート出力バッファのイネーブル入力端子及びAN Dゲートの他の入力端子を駆動するからである。
1.4 構成 ロジック及び相互接続チップ技術のセクションにおいて説明したように、各チッ プの構成ビットパターンが、ERCGAネットリスト変換ツールによって出力さ れる。リアライザ設計部変換システムの最終ステージが、すべてのチップの発生 する構成ファイルから、設計部の単一バイナリー構成ファイルへと送られるデー タを捕捉する。これによって、データがホストコンピュータ中に永久に記録され る。
リアライザシステムを各々使用する前に、構成ファイルからデータを読出し、こ のデータをホストインタフェースを介してリアライザハードウェアに伝達し、更 にチップにロードすることによって、使用する設計部のロジックチップ及び相互 接続チップを構成する。ホストインタフェースと、システム中のすべてのロジッ クチップ及び相互接続チップとの間に、構成接続を設ける。チップを構成すると 、すべてのロジック機能及び相互接続の合計は、入力設計部によって特定される ものと一致し、設計部が動作できる。
好適例においては、X1linx製のLCAを、ロジックチップ及びクロスバ− チップとして用いる。バイナリ−構成ビットパターンを、−回に1ビツトずつ、 LCA構成メモリのシリアルシフトレジスタにロードすることによって、LCA を構成する。各ビットを、構成データ入力端子(DIN )に供給するとともに 、−画構成りロック(CCLK)を周期化して、ロードする。
各LCAとホストインタフェースとの間の特別な構成接続は設けていない。その 理由は、システムが全部で3520個までのロジックチップ及びクロスバ−チッ プを具えなければならないからである。その代わりに、マルチビットデータバス と構成りロックとを有する構成バスを設け、これを、LCAを有するすべてのボ ードに接続する。構成を行うために、ループ毎に、データバス中のビット数と同 数のチップを用いて、ロジックチップ及びクロスバ−チップをグループ化する。
−グループ中のすべてのチップを並列に構成する。
図40にて示しているように、グループ中の各々のLCAは、パスデータバスの 異なるビットに接続された構成データ入力端子を有している。各グループにおけ る構成コントロールロジックブロックを、ホストインタフェースバスと、バス構 成りロックと、グループ中のすべてのLCAのクロック入力端子とに接続する。
これらのコントロールロジックブロックを、ホストインタフェースバスを介して 、ホストの命令によって、選択的にイネーブルし、ホストインタフェースバスが 意図するLCAのグループがクロック信号を受信できるようにし、このような構 成としている。
これは、ホストコンピュータがリアライザシステムを構成するのに行う手続であ る。制御及びデータ伝送はすべてホストインタフェースを介して行われる: すべてのロジックチップ及びクロスバ−チップを構成するために: 各構成グループは: このグループのコントロールロジックグループが、構成りロックをチップに送る ように指示する。
1個のLCA中の構成ビットと同数の周期の間:このグループ中の各チップの1 構成ビツトをハスデータバスにロードする。バス構成りロックを一回周期化する 。
次の周期へ このグループのコントロールロジックが、もはや構成りロックを送信しないよう に指定する。
次のグループへ 1.5 ホストインタフェース ホストコンピュータの制御の下、リアライザシステムは、周辺装置として動作す る。ホストコンピュータは、設計部の構成ファイル中に記憶された構成ビットパ ターンを用いて、設計部に従って、リアライザシステムのロジックチップ及び相 互接続チップを構成する。ホストコンピュータは、その外部リセット及びクロッ ク信号を制御することによって連続的な設計部の動作を制御する。従って、ホス トコンピュータは、ステイミュレータ、サンプラ及びベクトルメモリを制御する とともに、ベクトル及び設計部メモリの内容を読出し及び書込みすることによっ て、設計部と相互的に作用する。ホストコンピュータは、これらすべてを、リア ライザシステムホストインタフェースを介して行う。ホストコンピュータは、リ アライザシステムのホストインタフェース及び構成バスを制御する。
1.5.1 ホストインタフェースアーキテクチャリアライザシステムホストイ ンタフェースを、完全に慣用となっているラインに沿って構成する(図41)。
リアライザシステムは、ホストインタフェースバスコントローラ、構成バスコン トローラ、りυツク発生器及びリセットコントローラを具えている。これらの各 々について、以下に説明する。インタフェースを、リアライザハードウェアシャ ーシのボードに構成するとともに、ケーブル及びインタフェースカードを介して 、ホストコンピュータのI10バスに接続する。ホストインタフェースのコント ロール機能を、特定のコンピュータの要求に応じてホストコンピュータのメモリ アドレススペース、又は、入−出力バススペースのいずれかに作成する。
1.5.2 ホストインタフェースバスホストインタフェースバスを、リアライ ザシステム中の、正規のロジックチップ及びメモリモジュールロジックチップの 幾つか又はすべてのI10ピンに接続する。ホストインタフェースバスは、リア ライザシステムコントロール及びデータアクセス機能を割当てるアドレススペー スを具えている。ホストは、最適なバスマスクであり、ホストインタフェースバ スコントローラを介して、アドレス指定され続出コマンド及び書込コマンドを、 バスに送出する。ホストは、データを、リアライザシステム機能とホストとの間 に伝送する。
ホストインタフェースコントロールロジックブロックを、メインロジックチップ 及びメモリモジュールロジックチップにプログラムし、リアライザシステム機能 を、バスを介して制御できるようにする。このバスによって制御される機能の特 別な例としては、サンプラ、ステイミュレータ、ベクトルメモリのアドレス指定 、オペレーション、ホストデータアクセス、及び設計部メモリホストデータアク セスがある。これらのコントロールブロックは、ロジックチップにすべてプログ ラムされているため、バスアドレススペース中の特別な機能及びロケーションを 、すべて、ロジックチップのプログラミングによって規定し、任意の所定の設計 部又は動作モードの必要に応じて、変化させることができる。
ホストインタフェースバスの特定の設計部は、特定のリアライザシステムを具体 化した場合のデータアクセススピード及びハードウェアピンの利用可能性に依存 している。好適例では、Rバスと称する、11ピンホストインタフエースバスを 、すべてのロジックチップの専用I10ピンに接続している。好適例のハードウ ェアは、データ及びアドレスのために用いられる8個の双方向性ラインと、クロ ックと、2個のコントロールラインとを具えている。Rバスは、32ビツトアド レススペースと、8ビツトデータ幅を有しており、ホストが40億までのユニー クロケーションから8ビツトデータを読出し又は、書込みできるようにしている 。Rバスを、アドレスレジスタ、データレジスタ及びコントロールレジスタを介 して、ホストコンピュータにインタフェースさせる。これらを、慣用の方法でホ ストインタフェースバスコントローラによって構成し、ホストコンピュータのメ モリ又は入力/出力スペース中に設ける。
1)一つのロケーションを、Rバスを介して書き込む際に、サンプリングクロッ クを周期化させ、ホストコンピュータのコマンドに従って、他のRバスロケーシ ョンからサンプリングされたデータの値を読出す、−グループとなっている8個 のサンプラ。
2)ホストが特定のRバスロケーションに書込みを行う際に、データ値を変化さ せる、−グループとなっている8個のランダムアクセスメモリ。
3)各メモリロケーションを唯一のRバスロケーションに作成している設計部メ モリ。ホストデータアクセスを行い、Rバスのアドレススペースへの続出又は書 込オペレーションによって、ホストがアドレス指定された設計部メモリロケーシ ョンを読出し、又は、書込みすることができる。
他のこのような機能を容易に案出することができる。
図42に、Rバスの動作を示す。ロケーションを読出すために、リアライザシス テムを作動させるホストコンピュータでランするプログラムは、アドレスを、ホ ストインタフェースバスアドレスレジスタにロードするとともに、°′続出し” コマンドビットを、ホストインタフェースバスコントロールレジスタにセットす る。その後、ホストインタフェースバスコントローラは、Rバス読出しサイクル を作動させる。−回に8ビツトづつ、各々Rバスクロツタの周期で、アドレスは Rバスデータラインに与えられる。第一サイクルの間、バスコントローラは、“ 同期”Rバスコントローララインに、Rバスサイクルが開始していることを表明 する。その後、“読出し”Rバスコントロールライン及びRバスクロックが5回 目の周期を成し、アドレス指定されたバスインタフェースコントロールロジック ブロックが、その読出しオペレーションを完成させることができる。Rバスクロ ツタが6回目の周期を成す間、アドレス指定されたバスインタフェースコントロ ールロジックブロックが続出データを、8個のRバスデータラインに伝送する。
バスコントローラは、このデータを捕捉し、ホストインタフェースバスデータレ ジスタにロードするとともに、“′コンプリートコマンドビットを、ホストイン タフェースバスコントロールレジスタにセットする。
“コンプリート”ビットを認識するホストプログラムをセットし、データを読出 し、“コンプリート”ビットをクリアする。
ホストプログラムが、“書込”コマンドビットをセットし、書込まれるべきデー タをホストインタフェースデータレジスタにロードすることを除き、ロケーショ ンの書込みも同様である。
バスコントローラは、5回目のクロック周期において、“続出”Rバスコントロ ールラインを主張することはなく、6回目の周期において、データをRバスデー タラインに伝送する。この時、データは、アドレス指定されたバスインタフェー スコントロールロジックブロックによって捕捉される。
ロジックチップ中に構成されるバスインタフェースコントロールロジックブロッ クは、上述した動作に従って、有限状態マシンと、完全に慣用となっている方法 でRバスを制御された機能を用いて接続するデータバスとを具えている。
1.5.3 構成バス 構成バス及びその使用と、オペレーションとを、構成セクションで説明する。バ スは、ホストインタフェースを介して、ホストコンピュータによって制御される 。バスを、データレジスタ及びコントロールレジスタを介してホストコンピュー タにインタフェースさせる。これらのレジスタを、慣用の方法で、ホストインコ ツエースハードウェアによって構成し、ホストコンピータのメモリ又は入/出力 空間に設ける。ホストコンピュータにおいてランする構成プログラムによって、 構成バスデータレジスタにロードされるデータを、構成バスデータバスに伝送す る。ホストコンピュータが構成バスコントロールレジスタに書込みを行う場合、 ホストインタフェースハードウェアは、構成バスクロックを1周期させる。
1.5.4 コントローラ及びクロック発生器のリセントリアライザシステムの リセットコントローラは、2つのリセット信号を発生させる。システムリセット 信号を、すべてのロジック及び相互接続チップのリセット入力ピンに接続する。
ホストが主張する場合には、すべてのチップをリセットモードにし、構成の準備 状態にする。
慣用的な設計による一以上のプログラム可能なりロック信号発生器は、すべての しチップのI10ピンに分配される出力信号を有している。ホストは、その出力 周波数を制御し、サイクルを停止させること、再びサイクルさせること、特定回 数サイクルさせること、連続的にサイクルさせること等が可能である。
ホストは、リアライザシステムにおいて実現される設計部のクロック発生器とし て使用される。クロック信号を制御することによって、設計部のオペレーション を制御する。設計部のリセット信号を、すべてのしチップのI10ビンに接続す る。設計部のリセット信号を、リアライザシステムにおいて実現される設計部を リセットする手段として用いる。
これらの信号は、リアライザシステムによって実現される設計部との接続に利用 することができる。特別な特性を入力設計ファイル中の回路網に組み込むことに よって、入力設計部中の回路を、システムリセット又はクロックとして選定する 。設計部リーダは、この特性を認識し、回路網を、設計データ構造のリセット又 はクロック回路網として特徴づける。設計部変換システムの相互接続及びネット リスティング部分によって、この回路網を、ハードウェアの設計リセット信号又 はクロック信号に接続されたI10ピンに割当てる。
2、 +アーイザ量舌 ゛ シスーム リアライザ設計部変換システムは、設計部リーダ、基本要素コンバータ、パーテ ィショナ、ネットリスティング&相互接続システム、ERCGAネットリスト変 換ツール及び構成ファイルコレクタを具えている(図43)。ここでは、入力設 計ファイルを入力として用い、出力として、構成ファイル及び対応テーブルファ イルを作成する。これらは、リアライザハードウェアを構成、使用するための種 々の応用に用いられる。
入力設計部を変換するために: 1)設計部リーダを用いて、設計部をメモリデータ構造に読込む。
2)設計部データ構造中の基本要素を、ホス) EDAシステム固有の基本要素 から、ERCGAネットリスト変換ツールと適合するネットリストファイル中に 送信することのできるロジックチップ基本要素へと変換する。
3)パーティシジナを用いて、各構成要素をどのロジックチップに対して使用す るかを決定する。
4)ネットリスティング&相互接続システムを用いて、リアライザハードシステ ム中の各ロジックチップ及び相互接続チップに対するネットリストファイルを出 力する。
5) ERCGAネットリスト変換ツールを繰り返して使用することによって、 各ネットリストファイルを、対応する構成ファイルへと変換する。
6)簡単な方法である構成ファイルコレクタを用いて、各ロジック及び相互接続 チップの構成ファイルから、この設計部の単一構成ファイルへと送信される構成 データを捕捉し、これを用いて、リアライザハードウェアを構成する。
ここで説明した設計部変換のための方法を、注意したことを除いて、入力設計部 のロジックゲートとフリップフロップとの組合せの変換に用いる。これらの方法 の変形例を用いて、特定目的の基本要素を変換する。これらの変形例については 、該当するセクションにおいて説明する。
−+ml−’ 設・計部リーダは、入力設計部ファイルを読出すとともに、対応する設計部デー タ構造を構成する。
2.1.1 人力設計ファイルの要件 ホストεDAシステムによって作成される入力設計ファイルは基本要素及びこれ らの入出力ビンに関する記述と、2以上のピンを互いに、相互接続するとともに 、設計部の入出力端子と相互接続する回路網に関する記述を有している。入力設 計ファイルは、ネームのような、基本要素、ピン及び回路網と関連する情報も具 えている。
入力設計ファイルは、リアライザ設計変換システムが読出すことのできるように 、基本要素の形態となっていなければならない。“基本要素”とは、ゲート、フ リップフロップ又はメモリデバイスのような基本的ロジック素子である。設計者 が特定することのできる基本要素によって規定される、より高レベル) の構成 を、リアライザシステムの読出し前に、EDAシステムによって構成基本要素に 変する必要がある。入力設計部においてj 許容される一組の基本要素の一例と しては、以下のMentor Graplrics Quick Sin+基本 要素がある。これは、好適例において読出される; t ・ 25個までの入力端子を有する簡単なゲー) (BUF、 INV、  AND。
OR,NAND、 NOR,XOI?、 XNOR”)・ 特別ゲート(DEL :ディレイ要素;RES:レジスタ; NULL:開放回路) ・ トライステート出力である無方向性伝送ゲート(XFER)・ 記憶デバイ ス(LATC[(、レベル感応フリップフロップ又は] REG、クロックされ たフリップフロップ)・ メモリデバイス(RAM又はROM )2.1.2  設計部データ構造 設計部リーグは、設計部データ構造を構成し、これを用いて基本要素を、ロジッ クチップネットリスティングに適した形態へと変換し、基本要素をロジックチッ プサイズの区分に分割し、いかにしてロジックチップを相互接続するかを決定す る。また、最終的には、設計部データ構造を、各リアライザロジックチップのネ ットリストファイルへと読出す。データ構造は、設計部の各基本要素、各ピン及 び各回路網のレコードから成っている。
各レコードは、関連に応じて、他のレコードに対するエンティティ及びリンク( すなわちポインタ)についてのデータを具えている。
・ “基本要素”とは、ゲート、フリップフロップ又は、メモリデバイスのよう な基本ロジック要素である。
・ 各基本要素は、基本要素レコードによって表現される。基本要素レコードは 、そのタイプ及び対象識別子のような基本要素に関するデータを有するとともに 、他の基本要素とのリンクを有している。
・ 基本要素レコードは二重にリンクされたリストである。
・ ピンとは、基本要素の入力接続又は出力接続である。
・ 基本要素のピンは、基本要素レコードと隣接して配置されるとともに、ビン ネーム、ピンが反転されているかどうか、ピンの出力ドライブ等のピンに関する データを存する、一連のピンレコードによって表現される。
・ 各基本要素は、一つの出力ピンのみを有しており、これを、任意のビンレコ ードとすることができる。
・ 1回路網”とは、相互接続されたピンの集合である。
・ 各回路網は、回路網レコードによって表現される。この回路網レコードは、 その対象識別子のような回路網についてのデータを有するとともに、他の回路網 へのリンクを具えている。
・ 回路網レコードを、二重にリンクされたリスト中に設ける。
・ 回路網のピンを、単一リンクの循環リスト中に設ける。
・ 各ピンレコードも、ピンの回路網へのリンクを有している。
・ 各回路網レコードは、回路網中の一つのピンへのリンクを有している。
図44aは、回路網の簡単な例を示しており、図44bは、回路網を、設計部デ ータ構造を用いてどのように表現するかを示している。
2.1.3 設計部リーダの方法論 設計部リーグは、入力設計ファイルから実現されるべき設計部を読出すとともに 、対応設計部データ構造を構成することを目的としている。ここでの説明は、M entor Graphics設計ファイルに適合している。他も同様である。
設計ファイルは、設計部中の各基本要素に対して、インスタンス(instan ce)と称するエントリを有している。設計ファイル中のインスタンスに取付け られた基本要素の特定のアスペクトについての情報が特徴である。以下に示す各 工程の括弧内のネームは、好適例において用いられる実際のルーチンのネームで ある。
1)基本要素のレコードと、設計ファイル中の各基本要素に対するメモリ内デー タ構造中のピンのレコードとを以下のように作成する: 各設計ファイルの基本要素の各インスタンスは;基本要素のタイプが何であるか を読出す。(get dfi−molel type)ユーザが規定した、この 基本要素の配置についての情報が存在する場合には、これを、“lチップ゛特性 から得る。:設計ファイルインタフェースを用いて、より高度な非基本的インス タンスをサーチする。このインスタンスは、この基本要素を具え、同様に特性を 調べる。
(get dfi 1chip)インタフェースの各ピンは:ビンのネーム等の 、ピンに関する任意の特性を捕捉する。
(get dfi pin 1nfo)次のピンへ。
メモリ内設計データ構造中のレコードを、この基本要素及びピンに割当てる(a lloc prim and pins )とともに、基本要素レコードを満た す。
各々のピンは: ピンレコードを満たす。(設計ファイル中の接続された回路網の対象識別子ナン バを記憶し、トラックの識別子ナンバを、最大に維持する。) 次のピンへ。
次の設計ファイルインクスタンスへ。
ポインタのテーブル(net table )を、ピンレコード(ピンポインタ )に割当てる。各構成し得る回路網に対するピンレコードに対象識別子ナンバで 索引を付ける。最初は、NULLとする。上記最大識別子ナンバに従って、テー ブルを造る。
2)各回路網のピンレコードをリンクし、以下のような、循環的にリンクされた リストとする: メモリ内データ構造中の各基本要素レコードにおいて:各ピンレコードは: ’ fd ’を、このピンの接続された回路網の対象識別子ナンバとすると、n et table (id)がノンNULLピンポインタを有している場合、こ れをこのピンレコードの“next pin”リンクへとコピーする。
このピンに対するピンポインタを、net table (id)3)各回路網 に対する回路網レコードを以下のように作成する:net table中の各ピ ンポインタは:回路網レコードを割当てる。
リンクを用いて、回路網レコードを、ピンポインタの指示するピンに接続する。
対象識別子ナンバを用いてアドレス指定を行うことによって、設計ファイルイン タフェースから回路網に関する情報を得る。(dfi get net、 ge t−dfi net 1nfo) この回路網におけるピンレコードの循環リスト中の各ピンは: 回路網レコードに指示する。
次のピンへ。
循環リストを閉じる:最終ピンを最初のピンにリンクさせる。
次のピンポインタへ net table記憶機能を解除する。
4)内部メモリ設計データ構造が終了し、設計部変換プロセスの後段が必要とす る実現されるべき設計部についてのすべてのデータを表示する。
コンノイー 基本要素変換は、Mentor Graplrics Quick Sia+基 本要素のような、ホストが特定する基本要素からの設計部データ構造中の基本要 素を、ERCGAネットリスト変換ツールと適合させ、ネットリストファイル中 に送出されるロジックチップ指定の基本要素に変換することを目的としている。
この変換のいくつかは、簡易且つ直接的なものであり、単に、基本要素のタイプ 及びピンネームのみを置換えるのみである。その他の変換は、かなり複雑である 。以下に示す特定の引用例は、好適例のためのものであり、Mentor Gr aphics入力設計ファイル中に存在するMen tor Graphics  Quick Simのホストが特定する基本要素と、X1linx LCAロ ジックチップが特定する基本要素とを使用する。
設計部のゲートが、ロジックチップの特定するゲート基本要素中で許容されるよ りも多くの入力端子を有している場合、このゲートを、等価な機能を有するゲー トの回路網で置換える。
このゲート回路網の各々は、許容数の入力端子を有している。
こめような置換を行うために、ゲートの基本要素レコード及びピンレコードを取 り除き、新しいゲートの基本要素レコード及びピンレコードと、回路網中の新し い回路の回路網レコードを加え、置換えられたゲートに接続されているピン及び 回路網のピンレコード及び回路網レコードにリンクする(図458)。
設計部のプリップフロップが、ロジックチップの特定するフリップフロップ基本 要素において利用することのできない機能を有している場合、フリップフロップ を、等価な機能を有するゲートの回路網で置換える。まず第1に、回路網を解析 し、機能を、常に一定”の値ではない回路網に接続するかどうかを調べる。例え ば、ホストが特定する基本要素REGを、常に一定の値ではない活動回路網に接 続されたダイレクトクリア入力及びダイレクトセット入力の両方を用いて使用す る場合、メモリ内設計部データ構造における基本要素を、必要に応じて機能する 7474TTLフリツプフロツプロジツクパートに用いられるのと類似のゲート の回路網で置換える。しかし、ダイレクトセット入力を、グランド回路網のよう な常にロジック値ゼロの回路網に接続する場合、すなわち、例えは、グランド回 路網に接続された一入力端子を存するANDゲートの場合には、ダイレクトクリ アのみが実際に必要とされ、その代わりに、ロジックチップDフリップフロップ を代用する。
S RAM基本要素とは、アドレス入力端子、双方向性データボート、読出イネ ーブル及び書込イネーブルを有するランダムアクセスメモリである。RAM 5 本要素を、−以上のリアライザ設計部メモリモジュール中に作成する。基本要素 変換ソフトウェアは、S RAMを、利用可能な設計部メモリ構成と直接的にマ ツチする一以上のX RAM基本要素に変換する。SRO?+(続出専用メモリ )基本要素は、イネーブル入力端子が存在せず、且つ、ROMの内容を含むファ イルを付加していることを除き、i J?RAMと同様のものである。S RO M基本要素と、設計部メモリ構成と直接マツチする一以上のX ROM基本要素 に変換する。χ−RO?lは、読出イネーブル入力端子を有しているが、書込み イネーブルを有していない。内容ファイルのバスネーム及び、もとのS ROM に対するそのロケーションを、各X ROM1 基本要素を用いて記憶する。リ アライザハードウェアを、この1 設計部を用いて構成する場合、構成システム がバスネームを用[いて、X ROM内容を取り出すとともに、これらを、ホス トインタフェースを介して設計部メモリにロードする。分離入出力データポート を有するS RAMは、同様に操作される。しかし、これは、Mentor G raphico Quick Sin基本要素中には設けない。
オリジナル設計部のビン及び回路網は、初期特性、すなわち、′“1nits  ”を送信し、ある場合に、持続的に幾つかの初期値を送信していることを示して いる。既知の値(O又は1)である持続的な初期特性がリアライザシステムによ って観測され、ビン又は回路網を適切な“グランド°′ (すなわち、ロジック 値0)又は” vcc” (すなわち、ロジッチ値1)の回路網に接続する。
特定のMentor Graphicsの場合では:・ T、χ、R及びZの初 期特性を無視する。OSF (=0=OS)又はISF (= 1 =IS)の みを観測する。
・ 回路網、すなわち、回路網の任意の出力ピンのOSF又はISFとによって 、出力ピングランド又はvCC回路網の一部分とする。
・ 入力ピンのOSF又はISFとによって、このビンを絶縁し、グランド又は vCC回路に接続する。
オリジナル設計部の出力ピンは、種々の強さのドライブを伝達し、シュミレータ によって形成されるべき出力構造のタイプを示す。リアライザシステムは、基本 要素変換の際に、幾分これらの強さを観測する。出力端子を、ハイのときにドラ イブの強さが雰であり、ローのときにドライブの強さが強であるように特徴づけ る場合、出力端子は、オーブンコレクタとして識別され、これを、他の同様の出 力端子及び、レジスタに、ロジック設計者が“ワイヤード・アンド”回路網(図 45b)と称する形態で、接続するのが正当的である。同様に、ローのときにド ライブの強さが零であり、ハイのときにドライブの強さが強である出力端子は、 オーブンエミッタであり、“ワイヤードオア”を形成するのに用いられる。最終 的に、イネーブルされなければ、XFER基本要素の出力ピンはドライブを有さ す、他のXFER出力端子及びレジスタと配線され、“トライステート”回路網 を形成する(図450)。これらの構造のすべては、基本要素変換システムによ って認識され、トライステート回路網のセクションにて説明したように、等価な 機能を有する、積の和のロジック回路網に変換される。特定のMentor G raphicsの場合:・ X−ステートドライブの強さを無視する。
・ −以上のXFER出力端子を、回路網に接続することができるが、他の出力 端子を、接続することはできない。例外としては、入力ピンをグランド又はvC C回路網に接続しているRES (レジスタ)を接続することもできる。XFE Rがイネーブルされない場合、回路網値は、ロジック値ゼロであり、vCCに接 続されたRESを接続しない場合には、ロジック値lとなる。1より多くのXF ERをイネーブルする場合、結果は、ロジカルORとなる。
・ QC10E出力端子(Sz/zs)は、同様のドライバを用いても駆動する ことのできる回路網のみを駆動することができる。駆動されていない場合、00 回路網は、ハイとなり、RESを接続しているかどうかを無視してOE回路網は ローとなる。
・ RZ、 ZR,R5,SR又はZZ出カドライブを有する基本要素をエラー なしで除去する。
・ 以下の出力回路網の条件によって致命的な誤りが生じる。
:すなわち、1より多くのストロング(strong) 、ストロング&レジス タ、1より多(のレジスタ、XFER&ストロング、にFER&SZ、 XFE R&ZS、レジスタを有していないSZ又はZS、ストロングを有するSZ又は ZS、 SZ&ZSである。
Mentor Graphicsホスト及びX1linx LCAを有する好適 例の基本要素を変換するための特別な手続は、以下に示すとおりである(代用の ネームが、各ヘッダの後に続いている):1)ホストが特定する基本要素のLC A基本要素への初期変換(convert s to x )*ホストが特定す る基本要素は、上述のHentor Graphics Quick Sinセ ットから成り、’s ’プレフィクスを用いて、ネームが付けられる。 LCA が特定する基本要素は、X1linx xnf仕様から成り、゛X−゛ブレフィ クスを用いて、ネームが付けられる。
各基本要素は: S INVの場合、X INVと置換え、ピンのネームを置換える。
S Busの場合、X Busと置換えるには、ピンのネームを置換える。
S RESの場合、X BUP、 RRドライブと置換えピンのネームを置換え る。
S DELの場合、in&out回路網を、組合せる。
S AND、 S NAND 、 S OR、S NOR,S XOR,S X NORの場合、X AND、 X NAND、 X OR,X NOR,X X OR,X−XNORで置換え、ピンネームを置換える。
(25ピンよりも多い場合、エラー) S REGの場合、X DEFで置換え、ピンネームを置換える。
S LATCHの場合、X DLATで置換え、ピンネームを置換える S XFERの場合、後にまでピンネームを残しておく。
S NULLの場合、ピンネームをデリートする。
S RAM又はS ROMの場合、ピンネームを後にまで残しておく。
次の基本要素へ。
2)初期特性の処理(get 1nit)。メモリ内設計部データ構造中の2つ の回路網は特別なものである。:すなわち、“”gnd”(ロジック値0)及び “vCC” (ロジック値1)である。各回路網は: 回路網の初期特性がOSFである場合、gnd回路網が、初期特性がOSFであ ることを認識できない場合、次の回路網へ、 認識できる場合には、この回路網をgnd回路網と組合せ、次の回路網へ 回路網の初期特性がISFである場合、100回路網が、初期特性がISFであ ることを認識できない場合、次の回路網へ、 認識できる場合には、この回路網を■CC回路網と組合せ、次の回路網へ。
各出力ピンは: ピンの初期特性がOSFの場合には、 gnd回路網が、初期特性がOSFであることを認識できない場合には次の回路 網へ、 認識できる場合には、この回路網をgnd回路網と組合せ、次の回路網へ。
ピンの初期特性がISPの場合には、 100回路網が、初期特性がISFであることを認識できない場合には、次の回 路網へ認識できる場合には、この回路網をVCC回路網と組合せ、次の回路網へ 。
次のピンへ。
各回路網は: ピンレコードを、リスト中に入れる。
各入力ピンは: ピンの初期特性がOSFであり、且つこの回路網がgnd回路網でない場合、ピ ンを回路網から切り離し、gnd回路網に接続する。
ピンの初期特性がISFであり、且つ、この回路網が100回路網でない場合、 ピンを回路網から切り離し、100回路網に接続する。
次のピンへ。
次の回路網へ。
3)すべての出力ピンをチェックし、リアライザシステムのドライブの強さに影 響を与えないで基本要素を取り除くとともに、常にイネーブル又はディゼーブル されているXFERを取り除く(clear drives)。
各基本要素は: 出力ピンが、ドライブSS、 RR,SZ又はZSを有していない場合、次のピ ンへ。
出力ピンが、RZ、 ZR,R5,SR又はzzを有している場合には、出力ピ ンを切り離し、除去する。
出力ピンがS XFERである場合: EO(イネーブル)ピンが常にローである場合には、基本要素をデリートする。
EOビンが常にハイの場合には、BLIPを代用する。
次の基本要素へ。
4)不法なマルチ出力接続を選別し、ワイヤードOR,ワイヤードAND及びト ライステート回路網及びこれらのドライバを識別するとともに変換する(wir ed−nets)。各回路網は:ビンレコードを、リスト中に入れる。
XFER出力ビン、入力ビンnoローXFER出力ピンを数える。これらのピン は、ストロング(strong)かつレジステイブ(resistive)なS Z(オーブンコレクタ)又はZS (オーブンエミッタ)である。
ストロングのドライブ強度を有する又は、ドライブ強度を有しない唯一の出力ピ ンの場合、次の回路網へ。−以上のレジスタを接続する場合、すべてのレジスタ を、’vcc“ (プルアップ)又は’ground’ (プルダウン)のいづ れか一方に接続していることを確認し、いづれかを記憶する。
以下の場合には、エラーであり、イグジット(exit)する:ストロング、  XFER&SZ、 XFER&ZS、L、ジスタを有しティないSZ又はZS、 ストロングを有するSZ又はZS、 SZ&ZSlストロング且つ、ルジスティ プの場合には、レジステイブドライブを有する基本要素をデリートする。
lより大きなSZの場合= (オーブンニレワタ ワイヤードAND)各出力ピ ンは: レジスタの場合、出力ピンかプルアップであることを確認し、これをデリートす る。
レジスタでない場合には、ピンのドライブをストロングとし、X−[NVを構成 し、この入力端子を出力ピンに接続するとともに、この出力端子を、回路網に接 続する。
) 次のピンへ 回路網を“フローティングハイ”トライステート回路網として、特徴付け、OR /NORゲートを用いて、相互接続によってこれを構成する。
1より多くのZSの場合: (オーブンエミッタ ワイヤードOR)各出力ピン は: レジスタの場合:ピンがプルダウンであることを確認し、その後、これをデリー トする。
レジスタでない場合は、ピンのドライブを、ストロングにする。
次のピンへ。
回路網を、“フローティングロー”トライステート回路網として特徴付け、イン クコネクタによって、ORゲートを用いこの回路網を構成する。
0より多くのXFER且つ、レジスタ無し又は、プルダウンの場合=(トライス テート“フローティングロー”)各5−XPERは: AND 10を構成するXFEREO(又はENA )及び、AND [1を構 成す6XFER10を用いて、5−XFERをX−AND ヘと変換する。
次の5−XFERへ。
任意のレジスタ基本要素をデリートする。回路網を、“フローティングロー”ト ライステート回路網として特徴付け、ORゲートを用いて、相互接続によって、 これを構成する。
0より多くのXFER基本要素且つ、プルアップの場合:(トライステート“フ ローティングハイ” 1個の5−XFER基本要素の場合: NAND [0を構成f6XFEREO(又(tENA )及びNANOIfを 構成するXFER10を用いて、5−XFERをX−NANDに変換し、反転す る。
1より多くの5−XFER基本要素の場合:各5−XFERは: AND 10を構成す6XFEREO(又に!ENA ’)及びAND [1を 構成す6XFER10ヲ用いて、5−XFERヲ、X−AND +1m変換し、 反転する。
次の5−XERへ、 レジスタ基本要素をデリートする。
回路網を“フローティングハイ”トライステート回路網として特徴付け、OR/ NORゲートを用いて、相互接続によって、これを構成する。
次の回路網へ。
5)等価な機能を有するゲート回路網を用いて、LCAが特定するゲート基本要 素中に許容されるよりも多くの入力ピンを有する任意のゲートを置換する。ゲー ト回路網の各々は、許容数の入力端子を有している。(wide−gates) 各基本要素は: そのゲート&入力端子が5よりも多く、25以下である場合(XC3000ロジ ツクチツプを用いるものと仮定する):同一種類の最終出力ゲートを構成する。
その出力端子を、オリジナル出力端子&コピー特性に接続する。
必要とされる、より小さな入力ゲートの各々は:(ANDまたはNANDオリジ ナル等のためのANDを用いて)ゲートを割当てる。
ゲートの入力端子を、本来の入力端子に接続する。
次のゲートへ。
オリジナルのワイドゲートをデリートする。
次の基本要素へ。
6)フリップフロップの機能をチェックするとともに、LCAの制約に合致する ように、配置する。XC3000シリーズを用いる場合、フリップフロップは、 ダイレクトクリアを有するも、ダイレクトセットは有しておらず、両者を有して はいない。すべての5−DFFは、セット及びクリアのためのビンを有している ため、基本要素は、ビンを有しておらず、置換える必要がある。XC3000は 、ラッチをサポートしないため、ラッチを、等価なゲート回路網で置換える必要 がある。(f 1ops−for−3K)各基本要素は二基本要素がDLAT又 は叶Fである場合:各ビンを記憶するとともに切離す。SD及びRD回路網かゲ ートを介して、直接又は非直接的に、’ ground’又は’ vcc’ で あるかをチェックすることによって、SD及びRDが常にCI −であるかどう かを見出す。
各基本要素がDLATである場合: ゲートの回路網中に組込み、必要な場合には、SD及び/又はRDのゲートを備 えるラッチを構成する。
オリジナルの基本要素及びビンレコードをデリートする。
各基本要素がDLATでなく、DEFである場合:SDが常にローの場合、SD を用いずにX−DFFを構成し、これを接続する。
SDがローでなく、RDがローの場合、入力端子及び出力端子にX−[NVを用 いて、X−DEFを構成し、これを接続し、X−DEFのRDピンを、SD回路 網に接続する。
SDが常にローではない場合、6個の3−in NAND及び21NVの回路網 に組込み、TTL7474と同様に、セット及びクリアを有するOFFを構成す る。
オリジナル基本要素をデリートする。
次の基本要素へ。
7)S−RAS及び5−ROMを、X−RAM及びX−RO&I 4コ変換する 。
各基本要素は: 基本要素が5−RAM又は5−ROMである場合:そのハイド(height)  (ワード数)を、アドレスピン(ハイド=2〜ピンカウントの累乗)及び、デ ータビンナンバと等しいアドレスビンの幅をカウントすることによって決定する 。
各利用可能な設計部メモリ構成は: 5−RAM/ROMハイドを、設計部メモリハイドで割算し、必要なモジュール の行数を得る。
5−RAM/ROM幅を、設計部メモリ幅で割算することによって、必要なモジ ュールの行数を得る。
この構成のために必要なモジュールの総数は、行かける列って、必要なモジュー ルの列数を得る。
この構成のために必要なモジュールの総数は、行かける列である。
次の構成へ。
必要なモジュール数が最小となる構成を選択する。
行よりも多くのモジュールを必要とする場合、モジュールの各行に対する出力端 子と、ハイオーダのアドレス回路網に接続された入力端子とを用いて、デコーダ の基本要素及び回路網を構成する。
各行は、 (X−RAMのみ)2つの入力端子を用いて、書込イネーブルのためのANDゲ ートを構成する。:2つの入力端子とは、この行のデコーダ出力端子及びS − RA M書込イネーブルである。2つの入力端子を用いて、行続出イネーブルの ためのANDゲーl〜を構成する。:この2つの入力端子とは、この行のデコー ダ出力端子及び5−RAMリードイネーブルである。
次の行へ。
モジュールの各行において、: 各コラムは: X−RAM/ROM基本要素を構成するとともに、その構成を記憶する。X−R OMの場合、そのファイルネーム及び行数、列数を記憶する。X−ROMの続出 及び書込イネーブルビンを、この行の(X−RAMのみの)続出及び書込イネー ブルビンに接続(又は、この行が1つのみの場合には、5−RAMのイネーブル ビンに接続)する。
X−RAM/ROMのアドレスピンを、より低オーダのアドレス回路網に接続す る。
X−RAM/ROMのデータビンを、この列に対応する一組のデータビンに接続 する。
次の列へ。
次の行へ。
オリジナルの5−RAM/ROM基本要素をデリートする。
次の基本要素へ。
2.3 パーティショナ リアライザハードウェアは、ユニット及びサブユニットの階層から成っている。
すなわち、ボードは、論理チップを具え、ボックスは、ボードを具え、ラックは 、ボックスを具える等である。各ユニットは、ユニット開存の、ロジック及び、 他のユニットとの相互接続のための容量を有している。実現すべき設計部を、こ の階層に応じて区分化し、(すなわち、サブ)分割し、基本要素の°多重クラス タとする。各ボックスのロジック及び接続容量に応じて作成された、−組のボッ クス区分を設ける。
これらの区分の各々を、ボードのサブ区分に分割する等して、単一の論理チップ にプログラムするのに十分な程小さな区分に分割する。逆に、同様の分割化方法 を、階層の各レベルに適用する。
分割化の目的とは: l)各基本要素を、ボックス、ボード及びロジックチップに割当てること、 2)ユニット(ボックス、ボード又はロジックチップ)の相互接続能力の下、区 分と接続している回路数を保持すること、 3)ユニットの限界内で分割化に用いられるロジックの量を保持すること、およ び 4)区分の総数、すなわち、使用されるユニットの総数を最小にすることである 。
2、 3. 1 分割化方法 ここで説明する好適分割化方法は、“カット(cut)回路網”(クラスタの外 部における基本要素の接続)の数か最小であり、お互いに高密で相互接続された ロジック基本要素を密集させるプロセスに基づくものである。各クラスタは、ボ ックス、ボード又はLチップに対応する区分である。前記プロセスは、以下にお いて指摘する、相当な改良を伴う、Pa1esko及びAkersの従来の分割 化方法(Chet A、 Pa1esko、 Lex A、 Akers、“L ogic Partitioning for minimizing Gat e Arrays″、IEEE Trans、 CAD。
NO,2,pp、 117〜121. April 1983)に基づいている 。
すべての基本要素を初めから具えているクラスタに、割当てられていない基本要 素から成る“ナル(null)クラスタ”を設ける。まず、ナルクラスタからシ ード(seed)クラスタを選択し、その後、これをリピートし、すべてのナル クラスタ基本要素の“利点”を計算し、最も大きな利点を有する基本要素を選択 することによって、各クラスタを形成する。基本要素の利点が大きくなるにつれ て、ロジッククラスタに組込むのに適したものとなる。
2、 3. 2 有利な機能 部分的な、利点とは、この基本要素をクラスタに組込む場合、このクラスタのカ ット回路網の数が、どのように変化するかに基づくことである。ユニットを最大 相互接続可能性以下に保持するために、クラスタのカット回路網の総数をカウン トする必要がある。基本要素のピンを具えている各回路網は垂直となっており、 基本要素を組込むものを仮定すると、閉回路網、“多数カット”の回路網又は“ 単一カット”の回路網のいづれかに分類される。一つのみの接続を、クラスタの 内側に設けると、単一カットの回路網であり、lより多くの接続を、クラスタの 内側に設けると、多数カットの回路網となる。閉回路網とは、すべてクラスタ中 に含まれる回路網をいう。
図46は、クラスタと、3個の回路網S、 M及びEによって接続された5個の 基本要素とを示すとともに、基本要素をクラスタ中に移動させると、どうなるか を示している。クラスタのカット回路網数を1個増加させると、回路網Sは、単 一カット回路網となり、カット回路網数を1個減少させると、回路網Eは、閉回 路網となる。回路WMは、クラスタのカット回路網数を増加、減少させても多数 カット回路網であり、このため、無視される。クラスタ回路網の変化とは、単一 カット回路網と閉回路網との差を示している。すなわち: 〔クラスタカットの変化〕=〔単一カット回路網〕−〔閉回路網〕 好ましい有利な機能とは、各基本要素の個数を定め、クラスタに組込むには、ど の基本要素を選択するのが最適かを決定することである。最大数のピンと最も強 固に接続された基本要素を選択するのが最適である。この機能は、Pa1esk o and Akersの分割化に関する最初の有利な機能である。すなわち: 〔クラスタカットの変化〕〉0の場合:〔利点〕=〔基本要素のピン数〕/〔ク ラスタカットの変化〕 〔クラスタカットの変化〕≦0の場合:〔利点) = (−Cクラスタカットの 変化) *100 ) +100+〔基本要素のピン数〕 この基本要素を、クラスタに組込む場合、クラスタカットの数か増加する。多く のピンを具えれば具える程、加えるカット回路網の数が少なければ少ない程、優 れている。クラスタのカット数が減少すると、減少の程度は100倍となり、1 00が加えられ、カットを減少させない、いかなる基本要素の利点よりも、大き な利点が得られることを保証している。クラスタカットが減少している場合、ピ ンの数を増やし、接続を断ち切ることにより、基本要素を、更に多くのピンと結 び付ける。
好適な方法で用いられる改良とは、クラスタカットか増加する場合に、ピン数の 項を、ピン数/カット変化の比に加えることである。この変更は、前記比が等し い場合に、より多くのピンを有する基本要素を選択することによって、初期シー ド選択を改善することができる。前記比を10倍し、ビン数単独よりも大きくす る。このことは、好適且つ、有利な機能である。すなわち: 〔クラスタカットの変化〕〉0の場合:[利点] = ((10*(基本要素の ビン数))/〔クラスタカットの変化〕)+〔基本要素のビン数〕〔クラスタカ ットの変化〕≦0の場合:(利点) = (−(クラスタカットの変化) *1 000) +100+〔基本要素のビン数〕 2、 3. 3 クラスタの構成 初めに、すべての基本要素をナルクラスタ中に配置する。ユーザは、Lチップ、 ボード等の選択を示している入力設計部の特性を、付加することによって、基本 要素を特定のクラスタ中に予め配置することができる。この時、これらの予め配 置された基本要素は、クラスタ情報に関するシード配置としての役割を果たす。
このことによって、ユーザは、タイミング感知基本要素又は、他の高優先基本要 素を集めることができ、また、高優先基本要素に強固に接続されている他の基本 要素を集めることによって、分割化の結果を変えることができる。
各々の新しいクラスタに関して、始めに、新しいクラスタの未配置の基本要素の 利点を計算し、基本要素レコード中に記録する。予め配置を設けない場合、最も 有利な基本要素(すなわち、最も大きな利点を有するもの)を、クラスタの初期 シード基本要素として選択する。
最も有利な基本要素の各々を、クラスタ中に移動させた後、組込まれた基本要素 と同一の回路網におけるピンを有する基本要素のみが、利点を再び計算する。他 の基本要素は、移動によって影響を受けないので、クラスタのこれらの利点に変 わりはない、従って、クラスタが一杯になるまで、新しい最も有利な基本要素を 、クラスタ中に移動させる。
クラスタが一杯となる時を決定することは、ロジック容量及び相互接続(すなわ ち、クラスタカット回路1ii)の両方に依存している。基本要素を、クラスタ 中に移動させる場合、常に、基本要素によって、クラスタ中のゲート数が増加す る。しかし、基本要素によって、カット回路網は、必ずしも増加しない。減少す ることもありうる。
Pa1esko and Akersの方法による相互接続の限界に達する場合 、基本要素がロジック容量又は相互接続の限界を越えないならば、最大よりも少 ない利点を存する基本要素を、クラスタ中に移動させることができるが、局所的 相互接続の最大を超える場合には、基本要素をクラスタ中に移動させることはで きない。
ここで説明した方法を、以下の点において、改良する。すなわち: マーカ(marker)のアレイを設ける。各マーカに対して、マーカは、起動 可能である。基本要素を、−個づつクラスタ中に移動させる。各々の移動の後、 クラスタカット回路網の数をチェックする。クラスタカット回路網の数が、ユニ ットの最大利用可能相互接続機能以下の場合、移動を、相互接続が可能なものと して認識される。最大ロジック容量の限界に達した場合、最後の移動は、相互接 続可能なものとは認識されず、最後の移動か相互接続可能となるまでは、移動は 行われない。
ユニット(ラック、ボックス又はボード)をサブユニット(ボックス、ボード又 はLチップ)に分割化するために:予め配置されていないすべての基本要素を、 ナルクラスタ中に移動させる。
各クラスタは: 各ナルクラスタ基本要素の利点を計算するとともに記憶する。起動カウンタの数 をゼロにする。
〔クラスタ基本要素カウント〕<〔最大ロジック容量〕の場合、 移動カウンタをインクリメントする。
最も有利な基本要素をクラスタ中に移動させる。
どの基本要素を移動させるかを、移動カウンタに記録する。
〔クラスタカット回路網〕<〔最大相互接続容量〕の場合、 move (移動カウンタ〕=OKをマークする。
〔クラスタカット回路網〕≧〔最大相互接続分量〕の場合、 move (移動カウンタ) =NOT OKをマークする。
このクラスタに接続された回路網の利点を計算する。
次のリピートへ、 move (移動カウンタ) =NOT OKの場合、move (移動カウン タ〕に記録された基本要素を、クラスタから外へ移動させる。
移動カウンタをデクリーメントする。
区分化のプロセスは、すべての基本要素を首尾よくクラスタ中に配置するまで、 又は、すべてのクラスタが一杯となるまで続き、プロセスが終了する。
好適例の全設計部を分割化するために:ラッチレベルのボックス、すなわち、各 ボックス毎に一個のクラスタに分割化する。この際: 〔最大ロジック容量〕−〔全ボックス及び最大相互接続容量〕−〔ボックス毎に 、Y−Zパス〕 を用いている。
各ボックスクラスタは: ボックスレベルのボード、すなわち、各ボード毎に一個のクラスタに分割化する 。
この際: 〔最大ロジック容量〕=〔全ボード及び最大相互接続容量〕=〔ボックス毎にx −yパス〕 を用いている。
次のボックスクラスタへ 各ボードクラスタは: ボードレベルのしチップ、すなわち、各Lチップ毎に一個のクラスタに分割化す る。この際: 〔最大ロジック容量)−(Lチップ及び最大相互接続容量〕=(Lチップ毎にZ −Xパス〕 を用いている。
次のボードクラスタへ 2、 3. 4 容量の限界 この方法に用いられる最大ロジック容量の限界の決定は、使用するロジックチッ プの特性に依存している。X1linx製のLCAを論理チップとして使用する 場合、これらは、構成可能な論理ブロック(CLB)を基礎にしている。CLB の各々によって、多くのゲート及びフリップフロップを具現化することができる 。CLBO数は、ゲート及びフリップフロップ機能、どの位多くの機能を設ける か、どの位多くのビンを有するか、どのように相互接続するかに依存している。
分割化前に、設計部をCLBの形態に変換する場合、CLBを、分割化された基 本要素とし、ロジック容量の限界は、LCA中のCLBO数に基づいている。分 割化前に、設計部をCLBの形態に変換しない場合、ゲートを、分割化された基 本要素としてロジック容量の限界は、LCAに適合すべきゲートの数に基づいて いる。ゲートが消費する容量の程度に応じて、ゲートの重みをかけ、分割化の結 果を改善する。
各クラスタを構成するのに用いられる限界は、必ずしもすべて同一である必要は ない。ユニット間で、ロジック及び相互接続容量特性を変える場合、適切に限界 を設定して、これらユニットのクラスタを構成する。
2、 3. 5 リアライザの分割化 プロセスを分割化することによって、設計部の各基本要素に対する3ナンバボツ クス/ボード/チツプロケーシヨンが得られる。このロケーションは、設計部デ ータ構造の基本要素レコードに記憶される。このことによって、設計部回路網の 各基本要素は、Lチップ、ボード、及びボックスに亘ってトレースすることがで きる。ネットのタイミングは、システムにおける回路網をトレースするとともに 、相互接続クロスバ−チップ及び論理チップを介して、ディレィを加算すること によって評価される。
相互接続の段階では、回路網中に具えられた、種々のボックス/ボード/チップ 基本要素の組合せ総数に基づき、ネットリストをオーダする。このようにして、 相互接続は、最も複雑な回路網から、最も複雑でない回路網までを保証する。
最終的に、回路網及び回路網レコードの基本要素が、Lチップ及びクロスバ−チ ップに亘って回路網を明確に作成する情報を具えているので、局所的な図式的ロ ジック変化を再度分割化する必要はなく、変化させられた回路網を具えるチップ のみを更新する必要がある。これによって、設計部を再度分割化せずに、設計部 を、変換させることができる。
2.4 ネットリスティング及び相互接続システムリアライザネットリスティン グ及び相互接続変換システムは、入力設計に応じて、リアライザハードウェアを 構成するのに用いる、リアライザシステム中の各ロジックチップ及びクロスバ− チップに関するネットリストファイルを構成することを目的としている。どのよ うにして、部分的クロスバ−相互接続をネットリストすべきかの決定を、この3 段プロセスの総合によりステートメントは、各基本要素毎に設計データ構造中の すべてのロジック基本要素に関するロジックチップネットリストファイルに送信 される。
ステージ2: 完全に単一ロジックチップ中に含まれているトライステート回路網の加算ゲート に関するステートメントは、各回路網毎に送信される。
ステージ3: より多くのロジックチップ間を通る回路網の相互接続をネットリストする。各カ ット回路網毎に、すべてのチップにおけるこの回路網のすべての相互接続バッフ ァ及び、クロスバ−チップにおけるこの回路網の加算ゲートに関するステートメ ントを送出する。このプロセスの一部として、いかにして回路網を相互接続する かを、明確に決定する。このプロセス自体は、4個のステージを有している。
ステージ3a: どのようにして、回路網が各クロスバ−間を通り、且つ、どこに、ロジックチッ プドライバ及びレシーバを配置するかを示しているトリー(tree)を構成す る。
ステージ3b: クロスバ−チップの各組の回路網を相互接続する能力を評価する。
ステージ3C: この回路網を相互接続するクロスバ−チップの最適な組を選択する。
ステージ3d: 組の選択及び1・り一構造に基づき、バッファ及び加算ゲートに関するステート メントを、ロジック及びクロスバ−チップネットリストファイルに送出すること によって、相互接続をネットリストする。
このセクションでは、各ステージに用いられる技術について説明しており、完全 な相互接続及びネットリスティング手続について詳細な規定と、2つの詳細な回 路構成例を記述している。
2、 4. 1 シンプルなトライステート回路網の相互接続構造シンプルな回 路網とは、単一のドライバのみを有する回路網である。ドライバを有するソース しチップは、信号を、階層の上方へ向かって、すべてのレシーバに及んでいるク ロスバ−チップに伝達する。レシーバを駆動するためのパスを、階層の下方に向 かって接続し、すべての受信Lチップを駆動する。図47は、シンプルな回路網 の相互接続を示しており、詳細については以下に説明する。
トライステート回路網は、2以上のトライステート、オーブンコレクタ又はオー ブンエミッタドライバによって、1回駆動される。このことは、設計部データ構 造中に、2以上のドライバ(出力ピン)を有する単一の回路網として示されてい る。各ドライバを、基本要素変換の間にドライバを変換して得られる一個のAN Dゲート及び、−個以上のレシーバ(入力ピン)とする。ドライバがイネーブル されない場合、ゼロとなっている。
“フローティングロー”回路網を、−個以上の加算ORゲートをANDゲートに より駆動することで実現する。“フローティングハイ”ゲートは、ANDゲート に反転データ入力端子を有しており、最終的な加算ゲートをNORとしている。
同じ接続形態及び基本的な方法を、両ケースに適用する。
一般的な一方向性接続及び、1以上の加算ORゲートを用いて、積の和としてト ライステート回路網を具体化する。ドライバのパスを、相互接続階層のXからZ に向かって集中させ、ドライバを、加算ORゲートに集める。最も高いレベルの 加算ORゲート出力を、ロジック回路網の真の値、すなわち、そのソースとして いる。ソースを、相互接続階層の下方に向かって接続し、すべてのドライバを駆 動する。結果的に、幾つかのチップ対(Z−x、x−y及び/又はY−Z)は、 2つのパスを必要としている。そのうち、一方のパスは、ドライバを加算ORゲ ートとつないでいるものてあり、レシーバと出力とをつなぐものである。
図48は、トライステート回路網の相互接続を示しており、詳細については、以 下に説明する。
2.4.2 ネーミング 唯一のネームを有する回路網を用いて論理チップ内の相互接続を、ネットリスト ファイル中に規定する。これらの回路網は、設計部データ構造中の回路網と混同 すべきてはない。各設計部回路網は、論理ロジックチップネットリストファイル 中に、片方の回路網を有し、入力設計ファイルに用いたのと同じ実際の回路網ネ ームを、ネットリストファイルに用いる。基本要素変換の間に、設計部データ構 造に加えられる回路網に、人工的に発生させられたネームを付ける。
設計部データ構造中に存在しない回路網を、ロジックチップ及びクロスバ−チッ プネットリストファイルに送出し、相互接続を示す。ロジックチップ又はクロス バ−チップI10バッファと、]10ピンとの間の回路網、ANDゲートと、ト ライステートの積の和である加算ゲートとの間の回路網及び、クロスバ−加算を 用いる場合、相互接続の上方、下方に通っている回路網、これらすべての回路網 は、設計部の単一回路網と関連しているが、ネットリストファイルの回路網とは 別個のものである。相互接続基本要素をネットリストファイルに送出する際、実 際の回路網ネームを変更し、これら相互接続機能の各々に対して、別個の回路網 ネームを提供する。
このチャートは、ネーム変更のすべてをリストする。[10バツフアと、そのピ ンとの間のチップレベル毎に、−個のネームのみを、使用する。これらのネーム には、接続の他端におけるチップに従って、番号を付し、独自性を持たせている 。チップレベル毎に一回よりも多く使用されるネームによって、クロスバ−チッ プ内部接続を規定する。これは、このような多くの構成しうるネーミングシステ ムの一例にすぎない。文字°H° を、チャート中の実際の回路網ネームの場所 に用いる。例えば、相互接続された回路網を、’ENABLE ’ と称する場 合、ロジックチップ6から受信する入力バッファ入力端子と、そのI10ビンと の間の回路網を、’ENABLE−D−6’ と称する。
このしチップを、回路網のソースとする場合、真の回路網値である。°このLチ ップに、唯一つのドライバを設ける場合トライステートドライバである。
x、 y、 zチップニ 一個のチャイルド(child) ドライバを設ける場合、チャイルドからの入 力バッファ出力ビンである。このチップを回路網のソースとする場合、チャイル ドへのバッファ人カビ親への出力バッファ入力ピン。加算ゲート出力端子。
この回路網のソースを、いづれかに設ける場合、真の回路網値である。
X、 Y、 Zチップ: このチップが、回路網のソースではない場合、チャイルドの出力バッファの入力 ピンである。
すべてのチップ: 親からの入力バッファの出力ピン。
3 チャイルドへの出力バッファの出力ビン。ここでC゛は、シ チャイルドの チップナンバである。
親からの人力バッファの入力ピン。
親への出力バッファの出力ビン。
チャイルドからの出力バッファの出力ビン。ここで“Coは、チャイルドのチッ プナンバである。
親からの入力バッファの入力ビン。
親への出力バッファの出力ビン。
N−D−c’: チャイルドからの入力バッファの入力ピン。
1より多くのドライバを、Lチップに設けた場合、トライステートドライバであ る。ここで、i′は、多くのこのようなドライバを識別している。
X、 Y、 Zチップ: 1より多くのチャイルドを設ける場合、チャイルドドライブからの人力バッファ の出力ビン。
2、 4. 3 ステージ1:ロジック基本要素のネットリスティング ステートメントは、各基本要素毎に、設計部データ構造中のすべてのロジック基 本要素に対するロジックチップネットリストファイルに送出される。基本要素を 接続している回路網のネーミングを行い、以下のステージ3dの相互接続バッフ ァに用いられるネーミングと一致させる。
回路網のソースを、同一の論理チップ中に設ける場合、入力ピンを、これらの本 来の回路ネームに接続する。このことは、閉回路網(カットがない回路網)に対 して、常に真であり、カット回路網のしチップを駆動する際においても真である 。Lチップをソースとしない場合、入力ビンを、これらの親レシーバの入力バッ ファに接続する。出力ビンを、ロジックチップの加算ゲートに接続する場合を除 き、出力ビンをこれらの本来の回路網ネームに接続する。出力ビンを、ロジック チップの加算ゲートに接続する場合、特定の回路網ネームを変更させる。
2.4.4 ステージ二ロジックチップ加算ゲートのネットリスティング 完全に、単一ロジックチップ中に含まれているトライステート回路網の加算ゲー トに関するステートメントを、各回路網毎に、送出する。上述した回路網ネーム の変更を用いて、入力端子を接続する。出力端子は、本来の回路網ネームを駆動 する。
回路網が“フローティングハイ”であるかどうかに応じて、適切な出力検知(O R又はN0R)を用いる。
2、 4. 5 ステージ3:カット回路網相互接続の決定及びネットリスティ ング −より多くの論理チップ間を通っている回路網(カット回路網)の相互接続をネ ットリストする。カット回路網を、各々、ステージ3a、 3b及び3cを介し 、一度に処理する。
2、 4. 5. 1 ステージ3a:相互接続トリーの構成一時的なトリーデ ータ構造を構成し、相互接続プロセスを案内する。この一時的トリーデータ構造 は、この回路網に基本要素を有するしチップと、相互接続を具体化するX、 Y 及びZチップと、各々の相互接続の要件を示すことによって、回路網の構造を表 現する。
各トリーレベルでの各ノードは、システム中のロジック又はクロスバ−チップに 対応しており、その下位のチャイルドノードにつながっているブランチを有し、 ノード及び親のパスにつながっている相互接続パスに関するデータを以下のよう に記憶第1レベル Xチップ Y−Zパス 第2レベル Xチップ x−Yパス 第3レベル Lチップ L−Xパス 回路網中に含まれている各Lチップは、回路網に、いかに多くの基本要素を有し ていても、トリー中の唯一個のノードで表現される。
各ノードは、以下のエントリを有している。
チップナンバ:ボードのいづれかのチップ、ボックスのいづれかのボード、又は ラックのいづれかのボックス。初期値はNULL。
D及びRカウント:このノードのパスに必要とされるドライバ(D)及びレシー バ(R)の数。初期値はゼロ。
D及びRパス: (各L−X、X−Y又はY−Zパスで利用できるいくつかのパ スナンバの中から)いづれかのパスナンバを用いて、ドライバがこのノードから トリーを上り、レシーバが降りる。初期値はNULLである。
トップサム(Top sum) :このノードが、下位にすべてのドライバを具 える加算ゲートを有している場合、真と認識する。
これを用いて、多数ゲートの積の和における最終ゲートを制細し、“フローティ ングハイ”の場合、その出力反転を得る。初期値は偽である。
回路網が多数のボックスに及んでいない場合、ルートノード(root nod e)は、ナルエントリ及び唯一つの第ルベルノードを有している。回路網が、多 数ボードに及んでいない場合、第ルベルノードは、ナルエントリ及び唯一つの第 2レベルノードを有している。回路網が多数のLチップに及んでいない場合、回 路網は、相互接続の必要がなく、トリーを有していない。
パーティシタナによって割当てられた基本要素のロケーションに従って、設計部 データ構造中の回路網を操作し、トリーを構成する。回路網が−より多くのボッ クス又はボードに及んでいない場合、必要とされないクロスバ−レベルのノード を、ナルとする。このようにして、各Lチップの駆動出力端子及び受信入力端子 の数をカウントするとともにLチップノード中に記憶し、Lチップの相互接続の 必要性を確認する。各Xチップノードにおいて、ドライバを有しているしチップ の数及びレシーバを有している数をカウントし、各Xチップが、どのような相互 接続を設けなければならいかを確認する。同様に、各Xチップにおいて、駆動及 び受信Xチップをカウントし、Zチップにおいて、Xチップをカウントする。
最後に、トリーを分析し、ソースである回路網の真の値を、レシーバに伝送する ポイントを決定する。簡単な回路網では、1個のしチップの中にソースを設けて いる。クロスバ−加算を用いているため、ソースをトライステート回路網のクロ スバ−チップとすることもてきる。通常、クロスバ−チップが、チャイルドチッ プ間にレシーバを有している場合、クロスバ−チップをネットリストし、真の値 を、そのより高レベルの親チップから送信する。しかし、階層中において、親チ ップより下位のチップがソースを有している場合、親チップは、真の値を親チッ プ自体又は、それより下位のチップから得る。このようにするために、クロスバ −ノードを走査し、ノード又はノードの派生がソースの場合には、レシーバカウ ントをゼロにセットする。
2.4.5.2 ステージ3b:各セットの相互接続能力の決定各Zチップが、 各ボックス中の同一のXチップを接続し、各Xチップが、各ボードの同一のXチ ップを接続しているので、相互接続されたX、 Y及びZチップによって、−組 を形成する。
リアライザシステムの好適例においては、64組を設けている。
その各々は、1個のZチップと、各ボックス中に1個設けている、Zチップを用 いたY−Zパスを有する8個のXチップと、各ボードに1個設けている、各Xチ ップを用いたX−Yパスを有する64個のXチップを具えている。各々の組の対 は、この場合、同一のXチップを有しているが、このことは、許容されている。
その理由は、唯一個の組のみを選択し、回路網を相互接続するからである。
LチップとXチップのような、相互接続されたチップの対の各々を、パスと称す る一群のワイヤで接続する。各クロスバ−中のパスを、パステーブルにリストす る。L−Xパステーブルは、システム全体中の各L−Xクロスバ−の各パスに関 連するエレメントを有している。各ボックス中の各ボードには、L−Xクロスバ −を設け、各クロスバ−には、−組の、各Lチップ及びXチップに関係するパス を設ける。このようにして、L−Xパステーブルは、5個の寸法を有している。
:すなわち、LX〔ボックス〕 〔ボード)(Lチップ)(Xチップ〕 〔パス 〕である。同様にして、X−Xパステーブルすなわち、XY(ボックス〕 (ボ ード)(Yチップ〕 〔パス〕と、Y−Zパステーブル、すなわち、YZ〔ボッ クス)(Zチップ〕 〔パス〕とを設ける。テーブル中の各エレメントを、相互 接続手続によって、“フリー(free)″又は“ユーズド(used) ”と する。ネットリストファイルに送出される入力又は出力110ビンがパスを使用 する場合、テーブルエレメントを使用する。
各組の回路網相互接続能力を、相互接続すべき各パスに対するフリーなパスカウ ントを捕捉することで、決定する。まず第1番目に、ボックス中のXチップと、 Xチップとの間のY−Zパスについて考える。回路網中の各ボックスにおいて、 この組中のXチップ及びこのボックスのXチップに関するY−Zバステーブル中 のフリーパスの数を、カウントし、記憶する。第2番目に、ボード上のXチップ と、ボックス中のXチップとの間のX−Yパスについて考える。すなわち、回路 網中の各ボードにおいて、この組の、このボックスのXチップ及びこのボードの Xチップに関するX−Xパステーブル中のフリーパスの数をカウントし、記憶す る。第3番目に、ボード上のLチップ及びXチップ間のL−Xパスについて考え る。すなわち、回路網の各ロジックチップにおいて、この組のこのLチップ及び このボードのXチップに関するL−Xパス中のフリーパスの数を、カウントし、 記憶する。いかなるポイントにおいても、相互接続を完成するのに十分なフリー パスを設けていない場合、この組を、故障として認識し、このプロセスを次の組 に進める。
結果的には、相互接続中の各パス、すなわち首尾よく相互接続を達成することの できるクロスバ−チップの各組に関するパスカウントを捕捉することとなる。
2、 4. 5. 3 ステージ3C:組(set)の選択多くの組を用いて、 相互接続することができるので、組の一個を選択し、使用するパスのバランスを 保持する。このことによって、完全な相互接続機能の開発が保証される。
簡単な組選択技術とは、全パスカウントが最大である組を選択することである。
しかし、このことは、局所的な条件を無視している。すべてのレベルにおけるバ スカウントの中から、最も大きな最小パスカウントを有する組を選択するのが好 ましい。
例えば、2組がこれらのパスカウントを有しているものと仮定すると、 パス:YZ yz xy xy LX LX LX組A+4 4 4 3 1  3 4 組B:3 3 3 3 3 3 3 組Aは、最大トータル(23V、S、 21)を有しているが、これを選択する ということは、最後に利用することのできる、−個のLチップ−Xチップ対から のL−Xパスを採用することを意味している。組Bは、最も大きな最小(3V、 S、J)を有しており、Lチップ−Xチップ対を閉じることはない。結合の場合 、検討の結果、各組から一個の最小を排除し、組を一個選択するまで、最も大き な最小を有している組を選択する。(第1回路の場合と同様に、)実際にすべて の組が同一である場合、一つを採用する。これが、使用されている方法である。
−組のトライステート回路網について検討を加える場合、特に考慮を要する。一 方が階層の上方に向かって、加算ゲートにつながっている入力端子のためのパス であり、他方が、真の値を下方に伝達するパスである。同一の回路網に使用され るこれら2個のパスを、幾つかのチップ対は、有していなければならないため、 これらの場合に、選択された組は、少なくとも2個のフリーパスを有していなけ ればならない。パスのトリーノード(すなわち、L−Xパス等のためのXチップ ノード)がノンゼロのD及びRカウントと、ノン間LLの親とを有している場合 、このような場合を検出する。
2、 4. 5. 4 ステージ3d:相互接続のネットリスティング組の選択 及びトリー構造を与え、バッファ及び加算ゲートのステートメン1−を、ロジッ ク及びクロスバ−チップネットリストファイルへ送出することによって、相互接 続をネットリストする。このことを、各レベル毎に、まずロジックチップについ て行い、その後、X、 Y及びXチップについて行う。各チップの相互接続及び 方向性を、1・り一中のデータを使用することによって決定する。相互接続のバ ッファ及び回路網に関してのステートメントをネットリストファイルに送出する ことによって、各接続をネットリストする。
(チャイルドチップが存在する場合、)チップと、チャイルドチップとの接続を 、まずネットリストする。各チャイルドチップを順番に検討する。トリーが、こ のチップを駆動させていることを示している場合、チャイルドチップのドライバ を接続しているビンナンバを用い、入力バッファをネットリストする。
このチップが、1個より多くのドライバを有している場合、別の回路網ネームを 、各々に用いる。このようにして、これらの回路網ネームは、後にネットリスト された加算ゲートによって捕捉される。トリーが、チャイルドがこのチップを受 信していることを示している場合、チャイルドチップのレシーバを接続している ピンナンバを用いて、出力バッファをネットリスl−する。このチップ自体が、 その親からのレシーバである場合、異なる回路網ネームを用い、このチップは、 親レシーバを接続する。
このチップが、そのチャイルド中に、−より多くのドライバを具えている場合、 加算ゲートをネットリストし、上述したドライバ回路網を接続する。最終的に、 (存在するならば、)親チップへの接続を、ネットリストする。チップ又は任意 の派生が、ドライバを具えている場合、チップの対、及び選択された組に関する バステーブルエントリから、ドライバに関する相互接続バスを採用するとともに 、出力バッファをネットリストし、ここで採用したバスを介し、親を駆動する。
このチップが、親からのレシーバである場合、バステーブルよりバスを選択し、 このバスを用いて入力バッファをネットリストする。
2、 4. 6 相互接続及びネットリスティング手続についての詳細な規定: 第一の一般的な規定: 回路網に関して4個のクラスを設けるニシンプルな閉回路網: 回路網は、−個のドライバを有し、すべての基本要素を、同一のしチップ中に設 ける。
シンプルなカット回路網: 回路網は、−個のドライバを有し、すべての基本要素を、多数のしチップ中に設 ける。
トライステート閉回路網: 回路網が一個よりも多くのドライバを有し、すべての基本要素を、同一のしチッ プ中に設ける。
トライステートカット回路網: 回路網が一個よりも多くのドライバを有し、基本要素を、多数のしチップ中に設 ける。
回路網の“ソース′ とは、その実際の論理値を伝送するチップである。
シンプルな回路網では、ソースは、ドライバを有しているしチップである。
トライステート回路網では、ソースは、トップモスt−(top−most)加 算ゲートを有しているチップである。
これを決定するために: 回路網を走査し、どこに出力ビンを配置しているかを調べる。
出力ピンがすべての同一のしチップ上に存在する場合、このLチップが、ソース である。これ以外の場合で、出力ビンがすべて同一のボード上に存在する場合、 このボード上のXチップがソースである。
これ以外の場合で、出力ビンがすべて同一のボックス中に存在する場合、このボ ックス中のYチップがソースである。
上記以外の場合、Zチップがソースである。
るピンの循環リストにおけるどの出力ビンであるかを示しており、ネットレコー ドが示すピンから始まり、ゼロから一つずつカウントする。
ステージl:設計部データ構造中のすべての基本要素を送出する。
設計部データ構造中の各Lチップは、 Lチップのネットリストファイルがオーブンされていない場合には、このLチッ プのネットリストファイルをオーブンする。
このLチップの各基本要素は: 基本要素ヘッダステートメントをファイルに送出する。
この基本要素の各ピンは、 (入力設計ファイルからネームを得るための回路網の対象識別子を用いて、)接 続された回路網のネームを得る。
そして、°N゛と称する。
入力ピンの場合: このLチップが回路網のソースを有している場合には、回路網°N゛に接続され た入力ピンに関するステートメントを送出する。そうでない場合には、回路網’  N−Roにおける入力ピンステートメントを送出する。
出力ビンの場合: この出力ビンのインデックスナンバを得て、“Poと称する。シンプル回路網の 場合には、回路網°N゛のピンに指示を出す。トライステート閉回路網の場合に は、回路網’N−0R−P’のピンに指示を出す。
トライステートカット回路網の場合: これがこのLチップのこの回路網に関する唯一の出力である場合、 回路網°N′のピンに指示を出す。
唯一の出力でない場合、回路網’ N−0R−P ’のピンに指示を出す。
次のピンへ。
次の基本要素へ。
次のしチップへ 各トライステート閉回路網は: I N l と称するこの回路網のネームを得る。このLチップのネットリスト ファイルがオーブンされていない場合には、これをオープンする。
°i′ と称する回路網に、何個の出力端子が存在するかをカウントする。
°i°入力ゲートに関するステートメントを送出する:この回路網が°フローテ ィングハイ°である場合には、NORであり、これ以外の場合にはORであり、 (0−i −1のすべてのjに対する)回路網’N ORj’ に接続された入 力端子と、 N′に接続された出力端子とを有しステージ3:カット回路網と相 互接続しているバッファに指示を出すとともに、すべてのカット回路網加算ゲー トに指示を出す: すべての相互接続パステーブルのすべてのエレメントを“フリー”にする。
各回路網(シンプル又はトライステート)は、階層の順番で、カット回路網を選 択し、第1ボックス回路網等を選択するとともに、この順番の範囲内で、最も大 きな第一番目の回路網を選択する。
ステージ3Aニトリ−の構成 回路網の各基本要素は: この基本要素のボックスに、トリーノードを設けていない場合には、lを加える 。このボックス中の基本要素のボードにトリーノードを設けていない場合には、 lを加える。このボックス中のこのボード上のこの基本要素のしチップに、トリ ーノードを設けていない場合には、1を加える。
この基本要素の回路網接続が出力ビン(すなわちドライブイング(drivin g) )である場合には、このLチップのノードのDカウントをインクリメント する。
上記以外の場合で、このLチップがこの回路網のソースではない場合、このLチ ップのノードのRカウントをインクリメントする。
次の基本要素へ。
この回路網のすべての基本要素を、トリーで表現する際、唯一つのXチップノー ドのみを設けるならば、YチップノードをNULLとする。(すなわち、回路網 は、ボード上に存在している。) 唯一つのYチップノードのみを設ける場合、Zチップノードを、NULLとする 。(回路網は、ボックス中に存在する。
各ノンNULLクロスバーレベルにおいて、まず、Xチップ、その後Yチップ、 その後Zチップ: このレベルにおける各ノードは: D= CDカウントがゼロでないチャイルドノードの数〕R= (Rカウントが ゼロでないチャイルドノードの数〕このノード又は派生を、この回路網のソース とする場合、このノードを、R=0にセットする。
このノードをソースとし、且つ、回路網をトライステートにする場合、その“ト ップサム(top sum)”フラグを真にステージ3B:各組の相互接続能力 の決定各組は、 相互接続すべき各パスのパスカウントを捕捉し、その相互接続能力を決定する。
この組のパスカウントの記憶を割当てる。
Y−2パスカウント:各ボックスの割当てX−Yバスカウント:各ボードの割当 てL−Xパスカウント:各Lチップの割当て唯一個のボックスのみを、この回路 網中に設ける場合:このボックスのナル(ゼロではない> y−zバスカウント を、そのままにしておく。
そうでない場合には、 各ボックスは: パスアレイ中のフリーパスの数をカウントする。
YZ (このボックス〕 〔この組〕 〔パス〕このボックスのトリーノードが ノンNULLの親を有し、且つD>0、且つR>0である場合、 このボックスのパスは“ダブル”である。すなわち、が2よりも少ない場合この 組は、この回路網を接続できない。
以上以外の場合で、且つ、パスを設けていない場合、この組は、この回路網を接 続することができない。
この組が接続できない場合、これを使用不能とし、次の組に進める。
接続できる場合には、トータルを、このボックスのY−Zバスカウントとしてセ ーブする。
この回路網に、唯一つのボードのみを設けている場合、(Y−Z相互接続は必要 とされない):このボードのナル(ゼロでない)X−Yパスカウントを、そのま まにしておく。
2以上のボードを設けている場合: 各ボードは: パスアレイ中のフリーパスの数をカウントする。
XY[このボックス] 〔このボード〕 〔このセット〕〔パス〕 このパスが“ダブノじてあり、且つ、パスが2より少ない場合、又は、パスを設 けていない場合、:この組は、この回路網を接続できない。
この組を使用不能とし、次の組に進む。
上記でない場合ニド−タルを、このボードのX−Yパスカウントとしてセーブす る。
各Lチップは: パスアレイ中のフリーパスの数をカウントする。
LX(このボックス〕 〔このボード〕 〔このLチップ〕 〔この組〕 〔パ ス〕 このパスが“ダブノじであり、且つパスが2より少ない場合、又は、パスを設け ていない場合、この組は、この回路網を接続できない: この組を、使用不能とし、次の組に進む。
上記でない場合には、トータルを、このLチップのL−Xパスカウントとしてセ ーブする。
このボードの次のしチップへ。
このボックスの次のボードへ。
次のボックスへ 次の組へ ステージ3C:回路網の選択: この回路網を接続することのできる各組は:この組のすべてのパスカウントの中 から最小パスカウントを見出す。
次の組へ。
これらの最小パスカウントの中から最大のものを見出す。
検討の後、最大の最小パスカウントよりも少ないノ々スカウントを有するすべて の組を除去゛する。組が存在しない場合には、この回路網を相互接続することが できない。
−組だけが残る場合には、この回路網の組を選択する。
2以上の組が残る場合には、 すべての最小パスカウントの中から、次の最も大きい最小を見出す。
検討の後、これよりも小さいパスカランl−の組すべてを除去する。
一組が残るまで、又は、すべての残っている組の1<スカウントが同一となるま で、このことを繰り返す。
この回路網の残っている組の内の任意の一個を、選択する。
ステージ3D:相互接続のネットリスト以下で用いられる手続の規定: ドライバ(又はレシーバ)パスを得る又は確保するために:l)このレベルのパ ステーブル中のフリーエレメント、すなわち、このノードのチップナンバ及び親 ノードのチ・ノブナンバから、パスを選択する。
2)使用されたパスのテーブルエレメントをマークする。
3)このノードのドライバ(又はレシーノ()ノぐスナンノくエントリの中のパ スナンバとして、どのノくスを用いたかを記憶する。
I10ビンナンバをドライブするために:1)2個のノードのチップナンバ及び セットナンバとから、このノードのチップと、チャイルドノードのチップ(又は 、場合によっては、親ノードのチップ)との同一性を確認する。これによって、 含まれている特定のパス(例えば、L4−X 5.又はBoard 3− Y  7のようなパス)を識別する。
2)パスナンバが、チップの対を接続している幾つかのパスの内の一つのパスを 示しているということを、リコールする。チップ、パス及びパスナンバを与え、 I10ピンナンバ情報を有している索引テーブルから、このパスを接続している ビンナンバを読出す。
パスを用いて、バッファ(入出力)に指示を出すために:l)パスナンバを、こ のノードから得る。又は、チャイルドパスが特定される場合には、パスナンバを 、チャイルドノードから得る。ドライバ又はレシーバパスナンバを、指示された ようにして得る。
2)パスナンバを用いて、このバッファのI10ビンナンバを得る。
3)入力バッファであるか、出力バッファであるかに応じて、このノードチップ のネットリストファイルに、基本要素ステートメントを送出する。この際、指示 されるように、入出力回路網ネームを用いるとともに、そのI10ピンに対して 得られたビンナンバを用いる。
相互接続のネットリスト手続: “No と称するこの回路網のネームを得る。各ノンNULLレベルの第1Lチ ツプ、その後、Xチップ、Xチップ及びXチップにおいてニ トリー全体におけるこのレベルにおける各ノードは:準備していない場合には、 二〇ノードのチップに関するネットリストファイルをオーブンする。
レベルがX、Y又はZである場合: このノードの下位の各チャイルドノードは:カウンダi′をゼロにセットする。
チャイルドのD>0である場合: (チャイルドとは、ドライバである) このノードのD=1である場合: “N D c’ からN°へと、入力バッファに指示を出す。(ここで°C′は 、チャイルドノードのナンバである)この際チャイルドのドライバパスを使用し ている。
このノードのD>1である場合: ’N D c’から°N ORi’へと入力バッファへと指示を出す。この際、 チャイルドのドライバパスを使用し、 i′をインクリメントする。
チャイルドのR>0である場合: (チャイルドはレシーバである) このノードのD>O1且つこのノードのR=Oの場合:N°から“NRc”へと 出力バッファに指示を出す。この際、チャイルドのレシーバパスを使用する。
そうでない場合: ’N R’から°N Rc’へと、出力バッファに指示ヲ出す。この際、チャイ ルドのレシーバパスを使用する。
次のチャイルドノードへ このノードのD>1である場合:(ノードは加算ゲートを有している) Mllシカゲート指示を出す: この回路網が°フローティングハイ′でアリ、且つこのノードの“トップサム゛ フラグが真である場合、NORであり、そうでない場合には、ORである。
この際、(0〜i−1のすべてのjに対する)′NORj’ に接続された入力 端子と、 N′に接続された出力端子とを有している。
このノードのD〉0&このノードがノンNULL親を有している場合= (ノー ドはドライバである)ドライバパスを確保するとともに、受信する。
I N Nから°N D’へと出力バッファに指示を出す。
この際、ドライバパスを使用する。
このノードのR>0である場合: (ノードはレシーバである) レシーバパスを確保するとともに、受信する。
“N P” からN R’ へと、入力バッファへと指示を出す。この際、受信 バスを使用する。
このレベルの次のノードへ 次のレベルへ 次のカット回路網へ すべてのオープンネットリストファイルをクローズする。
2.4.72例の回路網 図47aは、 BX’ と称する、シンプル回路網のオリジナル入力設計部を示 している。これは、1個のドライバと、3個のレシーバとを具え、同一ボックス 中の、一方のボード上の2個のロジックチップ及び、他方のボード上の1個のロ ジックチップに及んでいる。
この回路網のステージ3aによって構成された相互接続トリーを、図47bにて 示す。どのようにして、各ロジックチップ、各ボードに対するノード及びボック スに対するノードを設けるかに注意する。ロジックチップノードは、特定のロジ ックチップに対応している。ボードノードは、各ボード上のXチップに対応して おり、ボックスノードは、Xチップに対応している。
Xチップは、この回路網では必要ない。正確には、どのX及びXチップを使用す るかは、どの組を選択するかに依存しており、これは、トリー中には示されてい ない。D及びRの値を各ノード毎に示している。ノードがレシーバであっても、 LOがD=0であることに注意する。その理由は、ノードがこの回路網のソース ノードであり、他のノードとは異なり、ソースノードから値を受信する必要がな いからである。ボード2のノードにおいては、そのRカウントは、初期値がlで あり、L4のレシーバをカウントする。ソースか派生であるため、Rカウントが 、ゼロにセットされていたこと、を示している。送出された回路網ネームは、こ れらの回路網を用いて示されている。実際の相互接続の構造によって、トリーの 構造及び、各ノードのD及びRカウントをどのようにして表わすかを述べる。
図48aは、 “EX’ と称するトライステート回路網のオリジナル入力設計 部を示している。これは、同一ボックス中の一方のボード上の2個のロジックチ ップ及び他方のボード上の1個のロジックチップに及んでいる3個のトライステ ートドライバと、2個のボックスにおける3個のボード上の4個のしチップに及 んでいる6個のレシーバとを具えている。
この回路網のステージ3aによって構成される相互接続トリーを、図48bに示 す。この回路網は、ボックスに及んでいるため、Zレベルクロスバ−を用いる。
2個のトライステートドライバを有しているために、ボード2のノードはD=2 であることに注意する。Xチップは、加算ゲートを具え、ボード2のLチップか らのタームを捕捉する。回路網のソースであるボックス2のノードも同様であり 、これを、“トップサム”とする。
このYチップは、1〜ツブモスト加算ゲートを具え、ボード2及び3からのター ムを捕捉する。ボックス2のノード及びそのZ親ノードは、ソースを具え、これ らのRカウントをゼロにする。
各ロジックチップ及びクロスバ−チップに関するネットリストファイルに送出さ れる実際のゲート及びバッファと、いかにして、これらを相互接続するかを、図 48cに示す。設計変換によって、各トライステートドライバを、どのようにA NDゲートに変換するかを注意する。これらの出力を、X及びYレベルの加算ゲ ートによって捕捉する。受信入力は、“トップサム”ノード、すなわちボックス 2のYチップから伝送される。ボックス2のレシーバは、相互接続へとつながっ ているバスによって駆動される。ボックス6のレシーバは、Zレベルクロスバ− チップを介して駆動される。
ロジックシュミレータは、ハードウェア又はソフトウェアによって実現されるシ ステムである。このシステムは、入力設計、−組の設計部への刺激、及びある期 間中の刺激の方向を受信するとともに、−組の刺激を出力する。この刺激によっ て、実際の入力設計部を実現し、所定の同一の刺激を発生させることを予測する 。刺激及び応答は、特定の時間に、特定の設計回路網のロジック状態を伝送する ものである。シュミレータユーザが、入力設計ファイルの形態で、設計部の記述 のみを供給するということが、重要な特性であり、短期間に、設計部を変更する とともに、これに再度刺激を与えることがてきる。
現在のソストウェアロジックシュミレータ設計部の演算は、コンピュータソフト ウェアプログラムを用いており、設計部のオペレーションを予測するシーケンシ ャルなアルゴリズムを実行するじAn Introduction to De gital Simulation”’、 MentorGraphics C orp、、 Beaverton、 Oregon、 2989 ) oよく知 られているように、イベントドライブされたコードアルゴリズム、又は、コンパ イルされたコードアルゴリズムのいづれか一方を使用する。現在のハードウェア ロジックシュミレータ設計部の演算とは、ソフトウェアシュミレータに使用され るのと同一の、イベントドライブされたコードアルゴリズム又は、コンパイルさ れたコードシーケンシャルアルゴリズムを実行するノ1−ドウエアを構成するこ とである。アルゴリズムの並列処理を開発及び/又は、特別なアルゴリズムオペ レーションを直接実現することで、ハードウェアは、その実行による利益を得る ことができる。このことは、一般的な目的のコンピュータ実行ソフトウェアにお いては、不可能である。現在のハードウェアロジックシュミレータは、入力設計 部の応答を予測するシーケンシャルなアルゴリズムを実行することで、動作する 。
ロジックシュミレータを構成する新しい手段は、リアライザシステムに基づいて いる。リアライザロジックシュミレータシステムは、入力設計を受信し、これを 、リアライザノ1−ドウエアのロジック及び相互接続チップの構成に変換する。
この際、リアライザ設計変換システムを使用する。リアライザロジックシュミレ ータシステムは、−組の設計部への刺激と、ある期間のシュミレータする方向と を受信し、ベクトルメモリを介し、実現される設計部に刺激を与え、ベクトルメ モリを介して、実現される設計部からの一組の応答を捕捉する。応答は、入力設 計部を実際に実現することによって、所定の同一の刺激を発生させることに対応 している。その理由は、前記刺激に対応させて、設計部をハードウェアによって 実際に実現するからである。
このことは、現在のロジックシュミレーションシステムのすべてが、設計部の刺 激に対する応答を予測するシーケンシャルアルゴリズムを実行するが、リアライ ザロジックシュミレータは、実際の設計部の実現を行い、設計部の刺激に対する 応答を決定するという点において、すべての現行のロジックシュミレーションシ ステムとは異なる。主な利点は、実現された設計部が、シーケンシャルアルゴリ ズムが応答を予測できるよりも速く、種々の速さで応答を発生させるということ である。
リアライザロジックシュミレーションシステムは、(すでに説明した)リアライ ザ設計変換システムと、ロジックシュミレータ刺激及び応答伝送システムと、リ アライザハードウェアシステム及びホストコンピュータと相俟って、カーネルを 作動させるロジックシュミレータとから成っている(図49)。
3.1.1 ロジックシュミレータ刺激及び応答変換システムこのシステムは、 ユーザが作成した刺激イベント入力ファイルを、直接ベクトルメモリにロードす ることのできる刺激データを含むバイナリ−ファイルに変換するとともに、ベク トルメモリから読出されるバイナリ一応答データを有するファイルから、ユーザ が続出可能な応答イベント出力ファイルへと、応答を変換する。刺激及び応答イ ベントは、回路網ネーム、時間及び新しい回路網の状態値から成っている。変換 とは、回路網ネームと、ベクトルメモリビットとの間の変換、及び、シュミレー ションの°実時間° とベクトルメモリロケーションとの間の変換をいう。時間 変換は、刺激イベントを有する各特定の時間を、ベクトルメモリロケーションに 印すとともに、このベクトルメモリロケーションにおける応答イベントを、この 時刻に発生したものとして報告する。
好適例では、刺激人カイベントファイル及び応答出力イベントファイルを、Me ntor Graphics Logfiles (”Quick Sim F amily Reference Manual”、 Mentor Grap hics Corp、、 Beaverton、 Oregon、 1989  )としている。これは、一連の時刻、回路網ネーム及び、新たな回路網状態値を 含むテキストファイルである。
EDAシステム中のバッチシュミレーションインタフェースツールによって、刺 激入力イベントファイルを作成するとともに、応答出力イベントファイルを解釈 する。好適例では、このツールを、Mentor GraphicsのR31M ツールとする。
ここでは、このセクションで後に説明するように、すべての基本要素を、ゼロデ ィレィでシュミレートするものと仮定する。
刺激イベント入力ファイルを、刺激バイナリ−ファイルへと変換するためには: 1)刺激入力イベントファイルを読出す。時間の経過に応じて、刺激イベントを オーダするとともに、何個の異なる時刻がイベントを有するかを決定する。
2)設計部変換システムが出力するこの設計部中の各ベクトルメモリに対する対 応テーブルを読出す。
3)各ベクトルメモリロケーションは、1以上の刺激イベントを有する時刻に対 応している。各々の異なる刺激イベント時刻に、十分なベクトルメモリロケーシ ョンが存在しない場合、ステップ5及び6を必要なだけリピートし、すべてのこ のような時刻に、十分な刺激バイナリ−ファイルを出力する。このファイルは、 各々、メモリに適合する刺激を有している。
4)ベクトルアレイ“VO”、 “Vl”等の記憶を割当てる。
その各々は、ロケーションのナンバ及び回路網幅と一致しており、シュミレート される設計部に用いられるベクトルメモリを用いている。ベクトルアレイと同じ 長さを有するタイムアレイ“T“の記憶を割当てる。“ラストベクトル(las t vector) ”バッファ“BO″、”Bl”等を割当てる。このバッフ ァは、各ベクトルメモリに対するものであり、各々その回路網と同じ幅であり、 これらをゼロに初期化する。
5)ベクトルアレイインデックスカウンタ V゛を、ゼロにセットする。
1以上の刺激イベントを有する各時刻のうち、最も早い第1番目の時刻において 、 ベクトルメモリ n′及び、この回路網のベクトルメモリビットポジション°i ′を設定する。この際、このイベントの回路網の対応テーブルエントリを使用す る。
このイベントに対する新しい値を、Vn (v)ビットi及びBnnピットに書 込む。
次のイベントへ VO(v)、Vl (v)等の内容の各々を、BO,B1等に書込む。
T(v〕中の時刻を記憶する。
■をインクリメントする。
刺激イベントを有する次の時刻へ 6)ベクトルアレイVO,V1等、タイムアレイT、及びサイクルカウント “ Voを、刺激バイナリ−ファイルに書込む。
応答バイナリ−ファイルを、応答イベント出力ファイルに変換するために: 1)ベクトルアレイVO,V1等、タイムアレイT、及びサイクルカウント V ′を、応答バイナリ−ファイルから読出す。各ベクトルメモリロケーションは、 1以上の刺激イベントを有する時刻と一致している。各々異なる刺激イベント時 刻に対して、ベクトルメモリロケーションが十分でない場合、ステップ1〜4を 必要なだけリピートし、すべての応答バイナリ−ファイルを、これらのアレイ中 に読出す。
2)設計部変換システムが出力する、この設計部中の各ベクトルメモリに対する 対応テーブルを読出す。
3)“ラストベクトル”バッファ“BO”、 “Bl″等を割当てる。これは、 各々のベクトルメモリに対するものであり、各々その回路網と同じ幅を有してお り、これを、ゼロに初期化する。
4)ベクトルアレイインデックスカウンタ “Voをゼロにセットする。
ベクトルアレイ中の各ロケーションは:VO(v)をBOと比較し、Vl(v) をBlと比較する等である。
Vn (v)のビットと、Bnとの各々の差によって:このビットのベクトルメ モリ及びベクトルメモリビットポジションに対応する回路網ネームを配置する。
この際、このメモリに対する対応テーブルを使用する。
新しい応答イベントを出力ファイルに書込む。この際、回路網ネーム、新しいビ ットの値及び時刻T (v)を用いる。
次のイベントへ VO(v)、Vl (v)等の各々の内容を、BO,B1等に書込む。
■をインクリメントする。
次のロケーションへ。
3、 1. 2 ロジックシュミレータによるカーネルの作動オペレーティング カーネルは、シュミレータされる設計部のリアライザシステムを構成し、刺激を 与えるとともに、応答を捕捉する。このことは、ホストコンピュータが行う。各 セクションに説明されているように、オペレーティングカーネルは、ロジックチ ップ及び相互接続チップを構成し、ベクトルメモリ及び設計メモリを読出し及び 書込むとともに、ホストインタフェースを介して、クロック発生器及びリセット 発生器を制帥する。
シュミレーションを実行するために: l)設計部の構成ファイルを読出すとともに、これを用いて、構成(confi gulation)のセクションで説明したように、すべてのリアライザロジッ クチップ及び相互接続チップを構成する。初期設計メモリデータを、ファイルか ら読出すとともに、これを設計部メモリに書込む。
2)刺激バイナリファイルを読出す。ホストインタフェースを介して、対応する ベクトルメモリ中に、ベクトルアレイの内容を記憶する。
3)ベクトルメモリモジュール中のすべてのベクトルメモリの内容をクリアする 。
設計部リセット発生器を周期化し、実現される設計部を初期化する。
4) ’v’周期のECLK回路網のクロック発生器をイネーブルする。このこ とによって、ベクトルメモリが、これらの刺激データを送出でき、この刺激に従 って、実現される設計部を作動させるとともに、ベクトルメモリが応答データを 捕捉する。このことについては、刺激/応答のセクションにおいて説明されてい る。
5)ベクトルメモリの内容を読出すとともに、これらを、タイムアレイ“T′及 びサイクルカウント“V”とともに、応答バイナリ−ファイルに記憶する。
6)ベクトルメモリの容量が不十分であるために、−より多くの刺激バイナリ− ファイルを設ける場合、各ファイル毎に、ステップ2〜5をリピートする。
7)ユーザ試験のためのファイル中の設計メモリ内容をセーブする。
3.1.3 リアライザロジックシュミレーションシステムの使用 リアライザロジックシュミレータを用いて、入力設計部をシュミレー1・するた めに: ■)ベクトルメモリ接続を示している特性を用いて、刺激すべき回路網と、この 応答を捕捉するための回路網とをマークすることによって、EDAシステムの設 計作成ツールを使用し、入力設計部を準備する。必要ならば、初期設計部メモリ データファイルを準備する。EDAシステムのバッチシュミレーションインタフ ェースツールを用いて、刺激イベント人力ファイルを準備する。
2)リアライザ設計変換システムを用いて、入力設計部を変換し、構成ファイル 及び、ベクトルメモリ回路網対応テーブルファイルを出力する。
3)刺激及び応答変換システムをランさせ、刺激イベント入力ファイルを、刺激 バイナリ−ファイルに変換する。
4)オペレーティングカーネルをランさせ、シュミレーションを行うとともに、 応答バイナリ−ファイルを出力する。
5)刺激及び応答変換システムをランさせ、応答バイナリ−ファイルを、応答イ ベント出力ファイルに変換する。
6)EDAシステムのバッチシュミレーションインタフェースツールを用い、応 答イベント出力ファイルを翻訳する。
7)入力設計部、初期設計部メモリファイル及び/又は刺激イベント人力ファイ ルを、シュミレーションの結果として表示されるように作成し、必要ならば、ス テップ2〜6をリピートする。
リアライザロジックシュミレーションシステムの会話形の変形例では、刺激に対 してはステイミュレータを用い、応答に対してはサンプラを用いている。構成及 びオペレーションは以下を除き同様のものである。すなわち、バッチシュミレー ションインタフェースツールの代わりに会話形シュミレーションインタフェース ツールを用いて、ファイルを介する代わりに刺激及び応答変換システムと直接通 信しており、又、同時に作動する会話形シュミレーションインタフェースツール オペレーティングカーネルを用いて、刺激及び応答変換システムが、ファイルを 介する代わりに、直接オペレーティングカーネルと通信している。イベントを有 する各タイムステップを、ベクトルメモリロケーションではなく、エツジ検知タ イプのシュミレータに作成する。
3.1.43以上の論理状態の実現 リアライザシステムにおいて、2個のロジック状態を実現するのは、実用的なこ とである。:高ロジック状態(H)すなわち真と、低ロジック状態(L)すなわ ち偽であり、リアライザシステムの単一の信号を用いて、入力設計部中に、直接 各回路網を実、現することで実現される。
ロジックシュミレーション環境において、時には、3以上のロジック信号の状態 を表現することが望まれる。例えば、第3の状態、“未知の(X)”を用いて、 初期化されていないロジック変数又は、あいまいなロジック状態を表現している 。高インピーダンス状態(Z)は、トライステートバスのような、ワイヤ結合の バスを実現するのに役立つ。
リアライザシステムの幾つかの例において、高インピーダンス状態を直接実現す ることができる。例えば、設計部に、トライステート回路網が必要とされる場合 、ロジックチップ及び任意の必要な相互接続がトライステートバス機能を構成す る能力を有している限り、リアライザシステムのトライステートバスによって、 設計部が実現される。代わりに、1個の回路網を2以上の信号へと、以下のよう に符号化することによって、任意のロジック状態を実現する:実現すべき状態の 数を決定する。
すべての状態を単一に符号化するのに必要とされる、最小バイナリ−ビット数を 決定し、これを“noと称する。1 n+個の実際のバイナリ−ロジック信号に よって、設計部中の回路網を実現する。例えば、3個の状態(H,L、 X)を 必要とする場合、2個の実際のバイナリ−信号を用いて、リアライザシステム中 の単一の設計回路網を実現する。基本要素変換ステージの間、この変換を行い、 これらの新しいバイナリ−信号を、設計部データ構造に入力し、オリジナル設計 回路網を置換する。
更に、設計部中のロジック基本要素を、多数状態ロジック機能に従って、動作す るロジック回路網で実現する。例えば、3個の状態(H=高ロジック状態、L= 低ロジック状態、X=未知)を用いる場合、設計部中の2人力ANDゲートを、 3状態AND機能に従って動作するロジック回路に従って実現する(図50a) 。いづれかの入力端子をXとし、入力端子が存在しないことをLとする場合、出 力端子に生じるX状態を用いて、3状態シユミレータの如く、ロジック機能が動 作する。この回路網は、2個の2ビツト入力端子と、】個の2ビツト出力端子と を有している(図500)。
マルチステートを実現するこの技術を、設計解析のために必要とされるように、 入力設計部の全体又は、設計部の一部分にのみ用いることができる。2個より多 くの状態でシュミレータされる回路網を、このようにして入力設計ファイル中に 作成し、設計部リーダは、設計部データ構造中のこのことに注目し、基本要素コ ンバータは、基本要素に対する上記の代用回路網及び、基本要素に対する多数の 回路網を作成する。ロジック基本要素が、2状態の回路網接続と、3以上の状態 の回路網との混合を有している場合、回路網の条件に従って作動するロジック回 路網を使用する。もしそうでなければ、上述したシュミレーション動作となる。
3、 1. 5 リアライザのディレィの表現現在のロジックシュミレータでは 、種々の方法で、信号がロジックエレメントを通過する際のタイムディレィを作 る。リアライザのロジックチップ中のロジックは、実際のハードウェアであるた め、そのディレィ特性は、完全に正確に規定することはできす、ロジックディレ ィを直接作成することはできない。
ロジックディレィは、プログラムを実行するシュミレータ中の特別の方法を用い ることによって、及び/又は、設計変換プロセスの間、ディレィを形成する特別 のロジック機能を挿入することによって作成する。ゼロディレィ、ユニットディ レィ又は、リアルディレィとして、実現するシュミレーション中にディレィを形 成することができる。この選択は、ユーザによって成され、これを、リアライザ ロジックシュミレータシステムに指定する。
(、ディレィをゼロとして処理し、シュミレーションを行うことをいう。例えば 、刺激イベントが、時刻“i“に、結合ロジックのみを介して出力端子と接続さ れている入力端子に生じる場合、この出力端子の応答イベントは、時刻°t“に 生じるものとして報告される。
ゼロディレィのために、設計部変換システムは、特別なロジック機能を挿入しな い。上記の如く、メインリアライザロジックシュミレーションシステムにおいて 説明した方法に従って、シュミレーションを行う。
3.1. 5. 2 ディレィ依存機能設計部に、任意のディレィ依存機能を設 けると、複雑なものとなる。ゼロディレィタイミングモデルでは、ここまでには 至らない。クローズトループ機能、すなわち、クロス力プルドゲートのように、 °非同期フィードバックを設ける場合、無条件に記憶装置を設ける。記憶機能は 、相対的なディレィに依存している。ディレィ依存機能は、ディレィをオーブン ループ機能に用いると、他の形態のものとなる。この−例としては、入力端子で 接続されたディレィ素子を有するイクスクルーシブORゲートがある(図51a )。イクスクルーシブORゲートの出力は、信号がディレィ素子を介して伝播す るのに必要とされる時間においては、ハイである。この回路網に供給される信号 が変化すると、出力端子にパルスを出力する(図51b)。
実際のリアライザロジックディレィは、ゼロではないため、これを直接コントロ ールできない場合、クロス力プルドゲートのような多くのクローズトループ及び 、幾つかのオーブンループの場合、ディレィ依存機能は、正しく動作する。
しかし、ユーザは、確実に、実現された設計部が意図するように動作することを 要求する。現在のタイミング分析ツールは、非同期フィードバックの瞬間を、自 動的に見出し、レポートするとともに、オーブンループディレィに依存する行動 を検出する。リアライザ設計変換システムは、ユーザが必要とするならば、タイ ミング分析ツールを用いることによって、タイミング分析を行う。好適実現例で は、Mentor Graphics Quick Pathタイミング分析ツ ールを用いる(”Quick Path User’s Manua!”。
Mentor Graphics Corp、、 Beaverton、 Or egon、 1989)。
l)設計変換プロセスの一部として、ERCGAネットリスト変換ツールは、内 部相互接続及びロジックディレィの評価を出力する。これらは、レポートファイ ルへ送出される。
2)すべてのネットリストを変換した後、データをリポートファイルから読出し 、設計部データ構造中に入力する。この際、基本要素又は回路網と関連する各デ ィレィ評価を用いる。
3)設計部データ構造を設計ファイルに書込む。
4)タイミング分析ツールを、設計ファイルに適用する。タイミングアナライザ によって検出される任意の起こり得る変化を、ユーザへ報告する。ユーザは、入 力設計ファイルを適切に評価し、修正する。
3.1.5.3 ユニットディレィ ユニットディレィモデルとは、各ロジック基本要素が、1単位(ユニット)のデ ィレィを有するように、形成したものである。ディレィ依存性を用いて、このよ うな形成を、時々設計部に使用し、正しい動作を保証する。適切な特性を、入力 設計ファイル中の基本要素に加えることによって、ユーザは、ゼロディレィ基本 要素と合成されたユニットディレィ基本要素を指定する。
自動的に、各ユニットディレィロジックエレメントの出力端子にフリップフロッ プを設け、ユニットディレィを形成する。
これらのフリップフロップを、共通りロックに接続し、この共通りロックは、第 2クロック発生器によって、シュミレーションの各単位時間毎に一回の周期を成 す。これらのフリップフロップ及び“タイムクロック°回路網を、基本要素変換 プロセスによって設計データ構造に加える。ユニットディレィを用いてシュミレ ートされるロジック設計回路網の一例としては、クロス力プルドゲートを用いて 作成されたフリップフロップがある(図52a)。各ゲートを、その出力端子に ユニットディレィフリップフロップを設は構成する(図52b)。連続的なタイ ムクロック及び入力信号を与える最終的なオペレーションとは、ユニットディレ ィゲートを有するフリップフロップのオペレーションである(図520)。
ユニットディレィシュミレーションのためのリアライザロジックシュミレータは 、以下の変更を伴うものの、ゼロディレィと同様の方法を用いて、動作する。
・ ユーザは、どの位の時間が1ユニツトに相当するのかを指示する。
・ 刺激及び応答回数を、ユーザが指定する時間単位の倍数。
M′に制限する ・ 各ベクトルメモリロケーションは、M時間単位に対応しており、この時の刺 激イベントが存在しているかどうかとは無関係である。
・ 刺激及び応答変換システムは、これらの仕様を用い、これらの対応関係に従 って、イベントと、ベクトルメモリロケーションとの間にマツプを作成する。
・ 最終的に、刺激イベントを有していない時刻は、前のロケーションと同一の 内容を有するベクトルメモリロケーションによって表現される。
・ オペレーティングカーネルは、 °タイムクロック′ クロック発生器の周 波数を、ECLKの周波数のM倍にセットし、互いに同期をとりながら動作する ように、指示する。オペレーションの間、各M時間単位毎に、−個のECLKを 、−組の刺激及び応答とを設ける。
3.1.5.4 リアルデイレイ リアルディレィ、すなわち、種々の時間単位によるディレィを、ロジックチップ 中の特定のハードウェア構成を用いて実現する。このハードウェア構成は、設計 変換の間、各リアルディレィロジックエレメントの設計部データ構造に自動的に 挿入される。これには、幾つかの技術がある:各ロジック基本要素出力端子と直 列に、シリアルシフトレジスタを構成する。その長さを、各ケースに必要とされ るディレィ単位の数に対応させて、構成する。すべてのシフトレジスタを、各時 間単位に対して一回の周期をなすように、共通“タイムクロック′でクロックす る。このようにして、シフトレジスタは、 °n゛ユニット(単位)リアルディ レィとして作用する。
ここで、 °n′は、レジスタの長さである(図53a、ディレィレジスタ中の 値に従って、マルチプレクサを介して選択される)。
代わりに、有限状態マシン(FSM)と、−以上のスターティングカウント(s tarting count)に対する記憶装置を有するカウンタとを、各ロジ ック基本要素出力端子と直列に構成する(図53b)。FSMは、ロジック基本 要素出力状態の変換を検出する。各状態の変換において、発生した特定種類の状 態変換(上昇(rising)又は、下降(falling) )にとって適切 なスターティングカウントを用いて、カウンタはFSMによってロードされる。
すべてのカウンタは、各時間単位毎に一回の周期を成すように、共通°タイムク ロック′を周期化する。カウントがゼロになった場合、FSMは、出力状態変換 を、ディレィされた出力へと送り、その接続された入力端子へと伝播する(図5 30参照)。
3.1.6 リアライザシュミレータから他のシュミレータへの状態の伝送 リアライザロジックシュミレータシステムは、極めて高速であるという利点を有 し、このため、ソフトウェア又は他のイベントドライブによるシュミレータより も多くの種々のテストサイクルで、処理することができる。このシステムは、デ ィレィ及び他の時間に関連する項目を表示できず、且つ、設計部中の。 すべて のノードを監視できないという不利な点も有している。
慣用のイベントドライブによるソフトウェアシュミレータは、かなり低速である が、項目の表現及び、刺激及び監視のためのすべての回路網ノードヘアクセスで きるという利点を有する。
しかし、慣用のイベントドライブによるソフトウェアシュミレータは、非常に低 速であるため、シュミレートされた設計部を、初期状態から何100万又は何1 0億周期も離れた誤った状態に送るということは実際には生じない。誤った状態 は、実際に、起こり得ないということがわかる。
初期状態、すなわち、内部フリップフロップ及びロジックゲート出力の値を読出 すことかできる(Xilinx LCAのような)ロジックチップを用いて、リ アライザシステムを構成する場合、実現されるシュミレーションは、ストップさ れ、設計部全体の状態が読出される。リアライザロジックシュミレータと、他の シュミレータとを結合させることによって、シュミレートされた設計部の状態( すなわち、設計部中のすべての内部記憶装置の値)が、一方から他方へと伝達さ れる。この際、以下の方法に従っている: l)同一の設計部を、両方のシュミレータにロードする。
2)リアライザロジックシュミレータ中の設計部は、数サイクルの間、以下のよ うにシュミレートされる。すなわち、詳細に監視されるべきエラー又は他の条件 の発生前の状態へ短時間で設計部を変換する。
3)この時、リアライザ刺激クロックはストップされ、設計部の全状態がロジッ クチップから読出される。
4)この時、他のシュミレータで表現されている設計部を初期化し、リアライザ に基づくシュミレータから読出される状態に適合させる。
5)シュミレーションを、他のシュミレータに進める。
このようにして、リアライザロジックシュミレータの究極的な速度を用いて、長 すぎるために、他の方法で取り除くことのできないエラーを除去し、他のシュミ レータの詳細及び可視性を用いて、エラーの原因を分析することができる。
3.2 リアライザフォールトシュミレーションシステムフォールトシュミレー ションとは、テストベクトルを開発、修正するのに用いられるロジックシュミレ ーションの変形、すなわち、組立て後、設計部、一般的には集積回路の正確性を テストするのに用いられる刺激の組である。ユーザ設計によるフォールティバー ジョン(faulty version)を、テストベクトル刺激を用いてシュ ミレートするとともに、グツド(good)バージョンと比較し、テストベクト ル刺激が、グツドバージョンの応答とは別の応答を発生させるかどうかを調べる 。別の応答を発生させるならば、テストベクトル刺激が故障(フォールト)を検 出していることを示している。故障の多いセットに対しては、このことが繰返さ れる。このことは、できる限り多くの故障を検出する一組のテストベクトルを開 発することを目的としている。一般的に、2個の故障を、入力設計部の各回路網 においてシュミレートする。すなわち、回路網が“スタックアットロー(sta ck−at−low)”と称する、常にロー状態である場合と、“スタックアッ トハイ(stack−at−high)“と称する、常にハイ状想である場合と がある。一般的に、入力設計部が、何千個もの回路網及びテストベクトルを有し 、且つ、フォールトシュミレーションが、各新しいテストベクトルのバージョン 毎に繰り返されるため、このことは、極めて時間のかがるタスクである。
フォールトシュミレーションを構成する新しい手段は、リアライザシステムに基 づいている。リアライザロジックシュミレータの方法を、フォールトシュミレー ションの修正に関して用いる。シリアルフォールトシュミレーション技術(“Q uick SimFamily Reference Manual”、 Me ntor Graplics Corp、、 Beaverton、 Oreg o口、 1989)を用いる:各故障に関しては:l)実現された設計部を修正 し、故障を伝える。
2)刺激を与え、設計部を作動させ、応答を、良好設計の応答と比較し、相異を フラグて合図する。
3)故障を取除き、この故障による相異が存在しているかどうかを記録する。
現行のフォールトシュミレーションシステムが、故障設計部の刺激に対する応答 を予測するシーケンシャルなアルゴリズムを実行するのに対して、リアライザフ ォールトシュミレーションでは、実際の故障設計部を実現させ、設計部の刺激に 対する応答を決定するという点において、両者は相違する。主な利点は、実現さ れる設計部か、シーケンシャルなアルゴリズムが応答できるよりも速い、種々の 速度で、応答を発することである。
リアライザロジック及び相互接続チップで構成したように、故障は、直接設計部 に伝えられる。故障を入力設計回路網に伝えるために: 入力設計部の回路網がロジックチップ中に対応回路網を有している場合:フォー ルト構成を用いて、回路網に接続された各ロジックチップを再構成する。これは 、回路網に接続された入力端子を、故障に従って、一定のハイ又はローに接続し ている点を除き、オリジナルの構成と同一である。入力設計部中の回路網が、ロ ジックチップ中に対応する回路網を有していない場合二対応する回路網は、ロジ ックチップのロジック機能に包摂されており、ロジックチップを、フォールティ 構成を用いて再構成する。これは、回路網に包摂されるロジック機能を、回路網 が故障に応じて、常にハイ又はローとなるように、作動するように構成している 点を除き、オリジナルの構成と同一である。
故障を取り除くために、オリジナルの構成を用いて、チップを再構成する。
リアライザフォールトシュミレーションは、以下の相異点を有するものの、リア ライザロジックシュミレータと、本質的に同様のものである(図54): リアライザフォールトシュミレータとは、フオールトコンフイギュレータ(co nf igurator)であり、ロジックシュミレータの上位の、設計部変換 システムの付加的部分を構成している。リアライザフォールトシュミレータは、 以下のような各々の故障に対して、構成ファイルの相違を出力する:I)一時的 に、故障を、設計部データ構造に伝える。
2)どのロジックチップが、故障による設計部の変化によって影響されるかを決 定する。
3)影響を受けたロジックチップのネットリストファイルを送出する。
4)ERCGAネットリスト変換ツールを用いて、影響を受けたロジックチップ の構成ファイルを出力する。
5)フォールティ構成ファイルを、オリジナルと比較し、構成相違ファイルに、 相違のみをセーブする。
応答ベクトルメモリを、応答回路網に構成する代オつりに、・設計部コンバータ は、フォールト応答メモリを構成する。刺激/応答のセクションで説明したよう に、これらフォールト応答メモリは、応答回路網を、メモリ中に記憶された良好 な値と比較し、相異が検知される場合には、フリップフロップをセットする。
オペレーティングカーネルは、フォールトシュミレーションに対して、種々作用 する。フォールトシュミレーションを作動させるために(ゼロディレィについて 示す。ユニット又はリアルディレィも同様である): l)設計部構成ファイルを読出し、これを用いて、すべてのリアライザロジック 及び相互接続チップを、構成(conf igulation)のセクションで 説明したように構成する。初期設計部メモリデータを、ファイルから読出し、こ れを、設計部メモリに書込む。構成相違ファイルを読出す。
2)刺激バイナリ−ファイルを続出す。ベクトルアレイの内容を、ホス1−イン タフェースを介して対応する刺激ベクトルメモリ中に記憶する。タイムアレイ“ T”及びサイクルカウント“V”を読出す。良好な回路の応答バイナリ−ファイ ルを続出す。対応するフォールト応答ベクトルメモリ中のベクトルアレイの内容 を、記憶する。
3)この故障の構成の相違を用いて、第1の故障によって影響を受けるロジック チップのフォールト構成ファイルを出力する。またこれらを用いて、この故障に 対するロジックチップを構成する。
4)ベクトルメモリモジュール中のすべてのベクトルメモリカウンタ及び相異検 出フリップフロップをクリアする。設計部リセット発生器を周期化し、実現され る設計部を初期化する。
5)“V゛周期ECLK回路網のクロック発生器を、イネーブルする。このこと によって、刺激ベクトルメモリは、これらの刺激データを送出し、刺激に応じて 実現される設計部を作動させることができるとともに、フォールト応答ベクトル メモリは、良好回路に対して、応答データを比較する。
6)フォールト応答検出フリップフロップをチェックするとともに、この故障に 対して相違が生じたかどうかを記録する。
7)オリジナル構成を、故障したロジックチップに戻す。
8)各残りの故障に対して、ステップ3〜7をリピートする。
3.3リアライザロジツクシユミレ一タ評価システム現在のEDAシステムにお ける現行の慣用的なシュミレータの多くは、イベントドライブと称するよく知ら れたシーケンシャルなアルゴリズム又は、コンパイルされたコードシュミレーシ ョンのいずれか一方に従って作動する(“An [ntroclucion t ODigital Simulation”、λ(entor Graphic s Corp、、Beaverton、Oregon、 1989)。第1アル ゴリズムにおいては、入力設計部における各基本要素を各時間ステップ毎に”評 価“する。この場合、基本要素の入力ビンを駆動する回路網は、イベント、即ち 状態の変化を有している。また第2アルゴリズムにおいては全ての時間ステップ に対して入力設計部の各基本要素を評価する。基本要素の変化とは基本要素の新 しい出力値が新しい入力値に対してどのようなものであるかを決定する動作のこ とである。このことは、シュミレーションの間何回も生じる。通常ゲートのよう な小さな基本要素のみを、lオペレーションで評価する。この際、索引テーブル 又は他の直接的な技術を使用する。大規模ロジック回路網は、一般的に小さな基 本要素及び回路網の組み合わせとして、シュミレータされる。多くの時間のかか る内部評価は、各大規模回路網の評価毎に必要とされる。
リアライザシステムの外部にあり、シーケンシャルなシュミレーションアルゴリ ズムを実行するロジックシュミレータをリアライザロジックシュミレータ評価シ ステムに結合させる。これはリアライザのハードウェアを用い、アルゴリズムシ ュミレーション中の1以上の大規模ロジック回路網を評価する。リアライザシス テムによって評価されるべき各大規模ロジック回路網を、外部ロジックシュミレ ータ中に、単一基本要素で表現する。この利益の1つはそのスピードにある。そ の理由は、実現された基本要素がほとんど瞬間的に評価されるからである。リア ライザシステムによって評価されるロジック回路網のサイズは、リアライザのロ ジック容量によってのみ制限され、全入力設計部と同量のロジック容量を包含し ている。
リアライザロジックシュミレータ評価システムは、リアライザハードウェアシス テム及びホストコンピュータと相俟って、リアライザ設計部変換システム(既に 記載した)と、リアライザロジックシュミレーションイバリュエータ(eval uator)とからなっている(図55)。これを、シーケンシャルなシュミレ ーションアルゴリズムを作動させる外部ロジックシュミレータに結合させる。
リアライザロジックシュミレーション評価システムによって、評価のためのロジ ック回路網を準備するために:■) リアライザシステムによって評価されるべ きロジック回路網をEDAシステムの入力設計部として組み立てる。
2)特性を、各ロジック回路網の入出力回路網に組込み、シュミレータ及びサン プラーによって、それぞれ駆動されるように指示する。
3)通常の方法でリアライザ設計部変換システムを用い、入力設計部を変換し、 ロジック回路網のこの集合体に、構成及び対応テーブルファイルを出力する。
シュミレーションを行うために、以下の方法に従って、外部ロジックシュミレー タを作動させ、シュミレータアルゴリズムを実行させると共にリアライザロジッ クシュミレーションイバリュエータも作動させる。: り外部シュミレータのデータ構造を構成し、リアライザシステムによって評価さ れるべき各ロジック回路網毎に単一の基本要素を設ける。
2)設計部の対応テーブルファイルを読み出し、基本要素入出力を、リアライザ ホストインターフェースバスのこれらのアドレスと関連させる。
3)構成のセクションにて述べたように、設計部の構成ファイルを読み出し、こ れを用いて全てのリアライザロジック及び相互接続チップを構成する。ファイル から初期設計部メモリデータを読み出し、これを設計部メモリに書き込む。
設計部リセット発生器を周期化させ、実現されるロジック回路網を初期化する。
4)初期値を用いて全てのシュミレータを初期化する。
5)外部ロジックシュミレータのシュミレーションアルゴリズムを作動させる。
シュミレーションアルゴリズムでは、この方法を用いてリアライザに基づく基本 要素を評価する:1)このシュミレーション時間ステップにおける、この基本要 素への全ての入力に対する値を、リアライザロジックシュミレーションイバリュ エータに伝送すると共に、この値をロードするために、対応するシュミレータに 送る。
2) リアライザロジックシュミレーションイバリュエータにこの基本要素の全 ての出力サンプラをチェックするよう指示し、いかなる出力に対する変化であっ てもシュミレーションアルゴリズムに伝送し直す。
6)シュミレーションの前後において、ユーザが試験及び修正を行うために、ホ ストインターフェースを介して設計部メモリ内容をアクセスするために、外部ロ ジックシュミレータのユーザイタ−フェースシステムの機能を与える。
シュミレーションアルゴリズムをソフトウェア中で実行する場合、これをリアラ イザホストコンピュータで実行すると共に、ホストインターフェースを用い、シ ュミレータ、サンプラ及び設計部メモリをアクセスする。シュミレーションアル ゴリズムをハードウェアで実行する場合、ホス)・コンピュータへの通信リンク を用い、シュミレータサンプラ及び設計部メモリをアクセスする。
ハードウェアシュミレータシステムの変更には、シュミレータハードウェアと、 リアライザのユーザ指定によるデバイス(USD)モジュールとの間の直接接続 を用いる。この方法は以下の相違点を伴うものの、上記と同様である:1)入力 設計部の基本要素の入出力に関するシュミレータ及びサンプラを指示する代わり に、これらを、ハードウェアシュミレータの評価ユニットに対応するUSD基本 要素に接続する。
2)ハードウェアシュミレータの評価ユニットを、リアライザのUSDMに電気 的に接続する。入力イベントが発生すると、新しい値を直接接続によって実現さ れる基本要素に供給すると共に、ホストを介するのではなく直接接続によって、 出力応答を捕捉する。このため、かなりの高速評価スピードが得られる。
3.4リアライザプロトタイピングシステム入力設計部を実現する場合、これを 直接設計部のプロトタイプとして実現し、作動させることができる。一般的にリ アライザシステムのタイミングディレィは、究極的なハードウェアの実現による タイミングディレィと一致しておらず、このためプロトタイプはフル設計スピー ドで作動することはできないが、リアライザベースのプロトタイプによって、は とんど実時間で設計部は実際に動作することができる。実現される設計部を、リ アライザクロック発生器、ホストを介して制御されるシュミレータ、実際にユー ザか指定するハードウェアデバイス、実現される仮想計器(以下で説明する)に よって、シュミレータし、及び/又は、内部ロジック及び/又は設計部メモリ内 容によって、自己シュミレータする。設計部のオペレーションを、ホスト、実際 にユーザが指定するハードウェアデバイス、実現される仮想計器を介して、及び /又は、設計部メモリ内容を調べることによって、コントロールされるサンプラ を用いてモニタすると共に分析する。設計者は直接、“ベンチトップ(benc htop)”環境と同様に、実時間で設計部と対話する。
リアライザプロトタイピングシステムは、リアライザハードウェアシステム及び ホストコンピュータと共に、設計部変換システムと、プロトタイピングシステム とを具えている(図56)。
プロトタイピングオペレータは、作動される設計部のリアライザシステムを構成 し、リアライザ設計部の対話型φq激及び応答をサポートする。このオペレータ はホストコンピュータにおいて実行し、直接又はホストコンピュータにおいてラ ンする副部プログラムを介して、ユーザのコマンドに対して応答する。
実現される設計部を作動させるために:l)構成のセクションにて述べたように 、設計部の構成ファイルを読み出し、これを用いて、全てのリアライザロジック 及び相互接続チップを構成する。ユーザか供給するファイルから初期設計部メモ リデータを読み出し、これを設計部メモリに書き込む。対応するテーブルファイ ルを読み出すと共に、設計部回路網ネーム間の対応と、ステイミュレータ及びサ ンプラ及びこれらのホストインターフェースバスアドレスとを確立する。
2)設計部リセット発生器を周期化し、実現される設計部を初期化する。
3)連続的に以下の動作を必要に応じて行うニーユーザコマンドを処理し、クロ ック及びリセット発生器を制部する。
一ユーザコマンドを処理し、ステミュレータ出力値を変化させる。この際、対応 テーブルを用い、ユーザが与える回路網ネームを、対応するステイミュレータと 関連させる。
−ユーザコマンドを処理し、サンプラのデータ入力値を表示する。この際、対応 テーブルを用いユーザが与える回路網ネームを、対応するサンプラと関連させる 。
−ユーザコマンドを処理し、設計部メモリモジュール中のロケーションを読み出 すと共に書き込む。設計部が動作していないことを確認する。この際、設計部メ モリをアクセスする前にクロック発生器が停止し、不適切な設計部メモリの動作 を回避することをチェックする。設計部が停止されていないかどうかを、ユーザ に報告する。
リアライザプロトタイピングシステムを使用するために=1)入力設計部をホス トEDAシステム中に用意する。
2)シュミレータに接続されるべき設計部回路網と、サンプラと、クロック又は リセット発生器とをマークする。
3)設計部基本要素、回路網及び接続を設け、用いるべき任意の仮想計器に対す る回路網を設計する(以下参照)。
4) リアライザ設計部変換システムを用いて、入力設計部を変換し、設計部の 構成ファイルを出力する。
5) リアライザプロトタイピングオペレータを用いて、設計部を作動させる。
図57にて示す特定の例においては、デジタルコンピュータ設計部を、リアライ ザプロトタイピングシステムを用いて実現する。ユーザはホストEDAシステム を用いて、入力設計ファイル中のコンピュータロジック及びメモリの設計部を表 現し、ユーザは、リアライザ設計部変換システムを用いて、構成ファイルへと変 換する。実際の具体例においては、実際のフロントパネル制御スイッチ及びイン ディケータに接続されているフロントパネル料理入力及びディスプレイ出力は、 入力設計部において指定され、プロトタイプオペレータを介してのユーザ制御の 下、ステイミュレータ及びサンプラに接続される。コンピュータのクロック入力 信号がリアライザクロック発生器によって出力されるように指定する。
プロトタイプコンピュータを作動させるために、ユーザはリアライザプロトタイ プオペレータをランさせ、コンピュータ設計に応じてリアライザシステムを構成 する。実現されるコンピュータ設計部で実行が可能となるように、コンピュータ プログラムコードをロードすると共に、その初期データを、プロトタイプオペレ ータを介し動作の開始時に、設計部メモリへとロードする。ユーザがクロック発 生器をイネーブルさせると、コンピュータ設計部は、リアライザハードウェアの 構成されたロジック及び相互接続チップにおいて実際に動作し、設計部メモリか ら読み出されるプログラムインストラクションコードを実行すると共に、設計部 メモリ中のデータを読み出すと共に書き込む。ユーザは、フロントパネル制御入 力端子を作動させ、プロトタイプオペレータの対応ステイミュレータ及びサンプ ラへのアクセスを介して、動作中ディスプレイ出力を読み出す。結果はプログラ ムの終了時に、プロトタイプオペレータを介してメモリ中からユーザによって読 み出される。ユーザはこの結果を解析し、設計部が正確であるかどうか、すなわ ちユーザの意図に従って正しく動作しているかどうかを判断する。入力設計部中 の設計エラーのために、設計部が正しく動作していない場合、ユーザは、ホスト EDAシステム用いてエラーを修正し、プロトタイピングプロセスを繰り返す。
3、4.1 実現される仮想計器 刺激及び/又は分析計器が、プロトタイプデバッキングプロセスにおいて必要と される場合、ロジックアナライザのような慣用の計器を、ユーザが与えるデバイ スモジュールを介して、実現される設計部に直接接続される。実際の計器を接続 するために、計器に接続されるべき設計回路網に接続され、入力設計部中の計器 USDを表示している基本要素を設けると共に、USD接続を規定しているUS D使用ファイルを作成する。このとき、計器を直接USDMに接続し、上記のよ うに実現される設計部を変換させ、作動させる。
さらに、“仮想計器”を、入力設計ファイル中の設計部に設け、且つ、この設計 部を用いて実現される基本要素及び回路網を設けている。例えばロジックアナラ イザーを、1組のロジック信号をモニタするよ(知られた計器とし、これらが一 定のトリが条件を満足する場合、1組の分析された信号を連続的にサンプリング 化すると共に、これらの値をメモリ中に記録する。
これはその後分析のために読み出される。図58は、仮想ロジックアナライザの 構成を示し、このアナライザは、応答ベクトルメモリと、ロジック基本要素を有 する条件検出器と、1個以上のステイミュレータ及びサンプラと、他のロジック 基本要素とを具えている。
設計部を用いて仮想ロジックアナライザを実現及び使用するための: l)設計部に加えて、図で示したように相互接続された入力設計ファイル中のこ れら成分に対する基本要素を設ける。
特に、応答ベクトルメモリ入力を、分析されるべき設計部回路網に接続し、条件 検出器入力端子を、トリガ条件でモニタされるべき設計部回路網に接続し、これ によって、検出されるべき条件に従って、条件検出器のロジックを指定する。
2)入力設計ファイルを、通常の手続きに従って、構成ファイルへと変換する。
3) リアライザプロトタイピングシステム中の設計部を構成する。
4) シュミレータを介して“リセット”信号を周期化させ、実現される設計部 が動作を開始するのに必要とされる刺激を与える。
5) “トリガされた”サンプラをモニタする。サンプラが“トリガされた”信 号が真であることを示している場合、ロジックアナライザは分析された信号デー タを捕捉する。
6)このデータを、ロジックアナライザの応答ベクトルメモリからホストインタ ーフェースを介して読み出す。これを、一般的なコンピュータデバッガプログラ ム又はこれと同様のものを用いて、表示すると共に分析する。
これは、いかにして仮想刺激又は分析計器を、リアライザシステム中の設計部を 用いて実現するかを示す一例である。ロジックアナライザの概念のような、計器 自体の概念が新規でないことに注意する。リアライザシステム中の入力設計部を 用いて計器を実現することが、新規性の一要素となっている。
3.5リアライザ実行システム リアライザ実行システムを用い、入力設計ファイル中て指定され、未だ構成され ていない又は永久的ハードウェアにおいて、決して構成することを試みることは ないハードウェア機能を実行する。このことを行うことによって、幾つかの利点 が得られる: 永久的ハードウェアを構成する間、ソフトウェア開発又はその他の目的のために 、実現される設計部を使用する。このことによって、例えば、ソフトウェア開発 を校正中に行うことが可能となり、これをデバッグし、永久的ハードウェアを使 用しない場合にソフトウェアを使用できるように準備する。
リアライザ実行システムはユニバーサルハードウェアデバイスとしての役割を果 たし、必要とされる種々の互換を行うために用いられる。特別な機能が要求され る場合(リアライザ設計変換システムによって実現される場合)、ハードウェア システムの構成ファイル及びその他のファイルは、ホストコンピュータによって 記憶装置から呼び出され、リアライザシステムをこの設計に応じて構成し、機能 を実行する。例えば、電気的な設計環境では、リアライザ実行システムを用い、 必要とされるロジックシュミレーションハードウェアアクセレータ、ルーティン グハードウェアアクセレータ、又はハードウェアグラフィックスプロセッサの役 割を果たす。デジタル信号を処理する環境において、リアライザ実行システムを 用いて、必要とされる実時間スペクトラムアナライザ又は特別な効果を有するシ ンセサイザの役割を果たす。
リアライザ実行システムを以下の点を除き、リアライザプロトタイピングシステ ムと同様のものとする:l)分析のための計器を用いず、入力設計を正しいもの とみなす。ステイミュレータ、サンプラ、及び設計メモリアクセスのみを用いて 、実行する役割を制御し、データを人出力する。
2)特定の実行される機能を指示するコントローラを作成することができ、又、 これを用いてリアライザプロトタイピングオペレータを制御し、実行する機能を 、機能の使用に適した入力端子/出力端子及び制副インターフェースに与える。
3.6リアライザ生産システム リアライザ設計変換システムの変形例を用いて、自動的に入力設計部の永久的に 再構成不能な実現例を作成する。この永久的な実現例では、実現される設計部に 構成されるのと同じ種類とナンバのリアライザロジックチップを用いる。リアラ イザ生産システムでは、そのERCGAネットリスト変換ツールを用い、機能に おいてERCGAロジックチップと等価な、永久的に再構成することのできない ロジックデバイスを構成すると共に、自動的プリント回路ボード(PCB)配置 及びルーティングツールを駆動するじGetting 5tarted wit h Board 5tation”。
′″Layout User’s Manuaド、Mentor Graphi cs Corp、、Beaverton。
Oregon、 1989)。この際、ロジックチップ相互接続に関する仕様を 用い、これら再構成することのできないロジックデバイスを永久的に相互接続す るPCBを製造する。
好適例では、LCAをERCGAロジックチップとして使用している。LCAを 製造することによって、機能的にLCAと等価な再構成することのできないロジ ックチップを、構成FROMメモリと結合しているLCAチップの形態で提供す る(ゴhe Programmable Gate Array Data B ook″、X1linx、Inc、。
San Josc、 1989) o LCAネットリスト変換ツールによって 、FROMをプログラムするのに用いられるバイナリ−ファイルを作成する。又 LCAはロジックを具え、これを用いてLCAが電力を供給する際に、LCA自 体を構成することかできる。
この際、FROMがあれば、これを用いる。
リアライザ生産システムは、前述したのと同一の設計部り一ダと、基本要素コン バータと、リアライザ設計部変換システム(RDC3) 、相互接続及びネット リスティングシステム及びRDC3中に用いられるものの変形であるERCGA ネットリスト変換ツールに使用されるパーティショナと、自動PCB配置と、ル ーティングツールとを具えている(図59)。リアライザ生産システムは、リア ライザハードウェアシステム又はホストコンピュータを具えていない。これは入 力設計ファイル及びPCB仕様ファイルを読み出し、以下の方法に従って作動す る=1)設計部リーダを用い、入力設計ファイルを読み出すと共に、設計部デー タ構造を作成する。
2)基本要素コンバータを用いて、設計部データ構造をロジックチップ基本要素 へと変換する。
3)パーティショナを用い、基本要素を特定のロジックチップに割り当てる。
4)相互接続及びネットリスティングシステムを用い、ロジックチップのための ネットリストファイルを作成する。相互接続チップのためのネットリストファイ ルを供給する代わりに、カット回路網及びこれらのロジックチップI10ビン接 続のリストを、自動PCB配置及びルーティングツールに受け入れられる形態で 、単一の相互接続ファイルを送出する。
5) E RCG Aネットリスト変換ツールを用い、再構成することのできな い等価ロジック機能(、イスの構成に適した形態で、各ロジックチップ毎にバイ ナリ−構成ファイルを供給する。
6)自動PCB配置及びルーティングツールを用いて、相互接続ファイル及びP CB仕様ファイル(このファイルは、PCBの寸法、コネクタ必要条件などのよ うなロジック設計とは直接関係していない物理的な情報を具えている)に読み込 み、PCB製造データファイルを出力する。
リアライザ生産システムのユーザは、このようにしてPCB製造データファイル を用いて、PCBを製造し、バイナリ−構成ファイルを用いて、再構成すること のできないロジックデバイスを構成すると共に、デバイス及びPCBを組立て、 入力設計部の最終的な実現例を提供する。
リアライザ生産システムにおいて、機能的に永久的ハードウェアの実現例のER CGAと等価な再構成することのできないゲートアレイチップを使用することは 新規なことではなく、一般的に行われていることである。むしろ、このシステム が任意の大きさのデジタルシステムを作り出すことができるということ(これは 、1個のICチップの容量に限られることではない)、このシステムが入力設計 ファイル中で包括的な基本要素ロジックの形態で表現されること(特定のコンピ ュータメーカーのロジックライブラリには限定されない)と、更には、自動的に 永久的ハードウェアの実現例を提供するということ、これらが新規性の一態様と いえる。
3.7リアライザ計算システム リアライザハードウェアシステムを、パスカルのような高級コンピュータ言語で 書かれている入力プログラムで特定される動きに従って、構成することができる 。又これを用いて、コンピュータの実行する一般目的のための記憶されたプログ ラムに従って計算機能を実行することができる。このことは、高レベル設計合成 コンパイラを用いることによって達成され、コンピュータプログラムを、入力設 計ファイル中に表現されているデジタルロジックの形態に変換し、その後リアラ イザハードウェアにおいて、この設計部を実現すると共に作動させる。
この方法は根本的に新しい計算手段である。計算の見地から見れば、リアライザ ハードウェアを高並列処理データプロセッサとし、そのデータプロセッシング素 子を、リアライザロジックチップ、相互接続チップ及び特定目的のエレメント中 のロジック機能及び記憶デバイスとする。このデータプロセッサは、シーケンシ ャルな計測を行うことに関する記憶されたプログラム計算方法に従って、演算を 行うわけではない。このデータプロセッサは、リアライザハードウェアに構成さ れ、入力プログラムで指示される動きに従って作動するデータバスと、機能的ユ ニットと、有限状態マシン制圓構造とに従って作動する。°この利点は、計算ス ピードがシーケンシャルに記憶されたプログラムによる計算で可能な計算スピー ドよりも速いことである。
説明するリアライザ計算システムは、リアライザハードウェアシステム及びホス トコンピュータと共に、リアライザ計算コンパイラと、リアライザ設計変換シス テムと、リアライザ計算すべし一夕とを具えている(図60)。このホストコン ピュータが、ただリアライザ計算オペレータをランさせる手段としてのみ用いら れ、入力プログラムで指示される計算機能を実行することに関しては用いられな いということに注意する。リアライザ計算オペレータをランさせる他の手段を用 いることができること勿論である。
3、7.1 リアライザ計算コンパイラリアライザ計算コンパイラは、テキスト エディタを用いて高級言語で書かれた入力プログラムファイルを、入力設計ファ イルに変換する。これは、設計部合成コンパイラと、ロジック合成コンパイラと 、機能的ユニットコンパイラとを具えている。
設計部合成コンパイラは、ツールであり、その幾つかの例は、最近開発されたも のである(ゴutorial on High−Level 5ynthesi s″、McMarland、Parke and Camposano、 Pr oceeding of the 25th Design Automati c Conference、 ACM and IEEE、 1988) oこ のコンパイラは、機能的ユニット、データ入出力から成る有限状態マシンコント ローラ及びデータバスのシステムとバス相互接続とに関する記述を作成し、標準 的な手続コンピュータ言語で特定される動きに従って作動する。実際の設計部合 成コンパイラの一例としては、フラメル“(flamel)”がある。その方法 については、“Flamel:A )ligh−Lavel Handware  Compiler″、Howand Trickey、[EEE Teans action on Computer−Aided Design。
Vol、 CAD−6,No、2.1987)で詳細に説明されている。文献が らの引用を示す: “フラメルへの入力は、パスカルプログラムである。′“ユーザは、°パスカル プログラムに、入力プログラムを一般的に実行する場合の実行頻度を与える。そ の他のユーザ入力は、どの程度のハードウェアが許容されるかを示すナンバであ る。
出力は、パスカル言語と同一の役割を果たすハードウェアの設計である。′ “フラメルによって作り出されるモデルとは、データバス及びコントローラから 成る同期デジタルマシンである。データバスは、バスによって相互接続される機 能的ユニット(ALU、加算器、レジスタ、I10バット等)から成っている。
コントローラとは、有限状態マシンである。” “一般的なパスカルプログラムを用いて、ハードウェアに要求される動きを規定 する。フラメルは、プログラム中の並列処理を見出し、ユーザ指定によるコスト 制約と合致した高速実行の実現を可能としている。” “フラメルの実現例は完成されている。出力は、データバス及びコントローラに 関する記述である。一連のテストにおいて、フラメルは、クロックサイクルを同 じとすると、同じプログラムを実行するのにMC68000(マイクロコンピュ ータ)の22〜200倍の速さでランするプログラムを具体化する。”用いられ るリアライザハードウェアシステムの容量に従って、ユーザ又は、リアライザ計 算システムは、“ユーザ指定のコスト制約がある”入力を、この設計部合成コン パイラに供給する。
設計部合成コンパイラの出力は、データバス及びコントローラの記述を具える中 間表現ファイルである。
機能的なユニットライブラリとは、−組の予め定義された機能的なユニットの表 現である。各タイプの機能的なユニットに対する表現は、設計部合成コンパイラ によって与えられる。これらの表現は、ロジック及びユーザ指定のデバイス(U SD)基本要素と、これらの回[FI相互接続とを指定する。これらの表現は、 リアライザ入力設計部基本要素の要件と合致しているUSD基本要素は、付加的 に用いられ、ロジックチップ及び設計部メモリを用いて実現されるものよりも、 より高い性能又は、より大きな容量の基本要素を提供することができる。例えば 、高速VLS I浮動小数点型乗算器をUSDとして取り付ける場合、機能的な ユニットバイナリ−は、このUSD基本要素を特定する浮動少数点型乗算器の機 能的ユニットに関する記述を具えている。
ロジック合成コンパイラは、データバス及び有限状態マシンコントローラに関す る記述を、入力計算ファイル中のロジック基本要素及び相互接続回路網に関する 表現に変換する。このロジック合成コンパイラは、有限状態マシン合成ツールを 具え、これは、mentor Graphics Corp、、VLSI Te chnology Inc、、 Syn。
psis Inc、等 (” Logic 5ynthesis 5peeds  ASICDesign”、A、J。
de Geus、 [EEE Spectrum、 August 1989  )から商業的に入手゛可能であり、文献記載の方法に従って開発される(“Th e Implementation of a 5tate Compiler ″、 C,Kingsley、 Proceedingsof the 24t h Design Automation Conference、 ACM  and IEEE。
1987;A 5tate Machine 5ynthesizer”、D、  Brown、 Proceedings of the 18th Desi gn Automation Conference and、ACM and IEEE、 1981;“An Overview of Logic 5yn thesis Systems″′。
し、Trevillyan、Proceedings of the 24th  Design AutomationConference、 ACM an d IEEE、 1987) oこのコンパイラは、以下の方法に従って作動す る: l)データバス及びコレクタに関する記述を含む中間表現ファイルを、データ構 造中に読み込む。
2)機能的ユニットライブラリの記述に従って、各データバスの機能的なユニッ トの記述を、ロジック及びUSD基本要素及び回路網に変換する。
3)データバスへの各データ入力及び、データバスからの各データ出力に対する 設計部メモリ基本要素を提供する。
4)有限状態マシン合成ツールを用いて、有限状態マシンコントローラの記述を 、ロジック基本要素及びこれらの回路網相互接続に変換する。
5)有限状態マシンコントローラへの°スタート°入力と、有限状態マシンコン トローラからの“ビジー′及び“ダーフ(done)’ 出力とに対するステイ ミュレータ及びサンプラの基本要素を提供する。
6) クロック回路網が、リアライザクロック発生器によって駆動されるように 指示する。
7)基本要素及び回路網を、入力設計ファイルに送出する。
3、7.2リアライザ計算オペレータ 3、7.2リアライザ計算オペレータは、リアライザシステムを構成し、本来的 に入力プログラムが指示し、実現される計算機能の実行を可能にする。リアライ ザ計算オペレータは、設計変換によって作成される構成ファイル及び対応テーブ ルファイルに読み込み、ユーザ指定の計算機能への入力データに関するファイル を読み出すとともに、計算機能からの出力データに関するファイルに書き込む。
実現される計算機能を作動させるために:l)設計部の構成ファイルを読み出し 、これを用いて、構成のセクションにて述べたように、すべてのリアライザロジ ック及び相互接続チップを構成する。
2)入力データファイルを読み出し、そのデータを入力データ設計部メモリに書 き込む。出力データ設計部メモリをクリアする。
3)対応テーブルファイルを読み出し、コントロール入力と出力との間、ステイ ミュレータとサンプラとの間、及びホストインターフェースバスアドレス間の対 応を決定する。
4) クロック発生器をイネーブルし、ステイミュレータを介して゛スタート′ 制陣入力を主張し、動作を開始させる。
5)゛ダーン°UK出力をモニタし、これが真となる時に、データをIH力膜設 計部メモリら読み出し、これを出力データファイルに書き込む。
リアライザ計算システムを用いるために:1)テキストエディタ又は、他の手段 を用いて、入力プログラム及び入力データファイルを準備する。
2) リアライザ計算コンパイラを用い、入力設計ファイルを発生させる。
3)他で既に述べたように、通常の方法で作動するリアライザ設計変換システム を用い、構成及び対応テーブルファイルを発生させる。
4) リアライザ計算オペレータを用い、実際に計算機能を実行する。
5)実現された計算機能によって計算されるデータを、出力データファイルから 読み出す。
4、好適例 この明細書を介して説明される好適例は、以下の特徴を有している: 4.1ハードウエア 部分的なりロスバー相互接続を、3レベルで階層的に、全ハードウェアシステム に用いる。図61a−cは、階層的に相互接続されたロジックボード、ボックス 及びラックの一般的アーキテクチャを示している。図62a−cは、ボード、ボ ックス及びラックに関する物理的構造を示している。
ロジックボード(図618) : 各ロジックボードは、32個のXレベルクロスバ−チップによって相互接続され た14個のしチップから成っている。
各Lチップは、Xレベルクロスバ−に接続されたチップ毎に、128個のI10 ピンを有しており、32個のXチップの各々に4個の接続が成されている。14 個の付加的な110ビンを用いる;その内11個を、Rバスに接続し、1個を、 2個のクロック信号の各々に接続し、1個を、設計部リセット信号に接続する。
X1linx XC3090LCAを、ロジックチップとして用いる。
各Xチップは、ロジックチップに接続された56個のI10ピンを具えており、 14個のしチップの各々に4個の接続がなされている。各Xチップは、2個のX チップの各々と、8個の付加的I10ビン接続を具えている。X1linxXC 2018LCAを、Xチップとして用いる。
各ロジックボードはX−Yパスに対し512個の背面110ピンを有している。
これは、Rバス及び構成バスへの接続も有している。
ボックス(図61b): 各ボックスは、64個のYレベルクロスバ−チップによって相互接続されている 1〜8個のボードから成っている。
各Xチップは、ロジックボックスボードに接続された6個のI10ビンを有して おり、各ボードのXチップに8個の接続が成されている。これは、1個のXチッ プとの8個の付加的な110接続を有している。X1linx XC2018L CAを、Xチップとして用いる。
64個のXチップを、8個のXチップボードに取り付ける。
二の各々は、X−Yパスに対して、512個の背面I10ピンを有している。8 個のXチップボードと、8個のロジックボードとを、ボックスのX−Yパス背面 のワイヤで相互接続する。
各Xチップボードは、Y−Zバスに対して、ケーブルコネクタに64個のI10 ピンを有している。各ボックスは、このようなコネクタを8個有している。これ らの接続を、各ボックスからの単一な512個のワイヤY−Zバスケーブルに集 める。各Xチップボードは、構成バスに対する接続も有している。
図62aは、Y−Zパスケーブルを用いて、ホストインターフェース、8個のロ ジックボード及び8個のXチップボードを有しているx−Yバス背面の物理的な 構成を示している。
ラック(図61c) : 各ラックは、1′〜8個のボックスを具え、64個のZラベルクロスバ−チップ によって相互接続されている。
各Xチップは、ボックスに接続された64個のI10ビンを具え、各ボックスの Xチップに8個の接続がなされている。
X1linx XC2018LCAを、Xチップとして用いる。
ラックのボックスを、ロジックボードに配置された各ボックスからのX−Zパス ケーブルへの接続を用いて、付加的なボックスによって相互接続する。図62b において、Zレベルボックスの物理的な構成を示す。64個のZチップを、8個 のZチップボードに取り付ける。この各々は、Y−Zパスに対して512個のI 10ピンを有している。8個のZチップボードと、8個のY−Zパスケーブルコ ネクタとを、Y−Zパス背面のトレースによって相互接続する。
メモリのセクションにて述べたように、16個のRAMチップと10個のLCA とを各々具えているメモリモジュールを、必要とされる場所であるロジックチッ プの場所に取り付ける。メモリモジュールは、刺激及び応答のセクションで規定 されているように、設計部メモリ、ベクトルメモリ、ステイミュレータ及びサン プラに用いられている。
ユーザ指定によるハードウェアデバイスモジュールをロジックチップLCAの場 所に取り付ける。
ある1個のボックスは、ホストコンピュータのI10バスインタフェースカード とケーブル接続しているホストインターフェースボードを具えている。このボッ クスは、Rバスと称するホストインターフェースバスを#tISする。すべての rrlIH及びデータ伝送機能のためにこのバスをすべてのロジックチップロケ ーション及び各ロジックボード、すなわちYチップボード及びZチップボードに おける構成制陣ロジックブロックに接続する。
Rバスは、そのセクションで述べたように、8ビツトデータバスと、クロックと 、2個のコントロールラインとを具えている。
ホストインターフェースポードは、構成バスコントローラと、2個のクロック発 生器と、リセットコントローラとを具えている。
16ビツトデータパスを有する構成バスは、全ての構成機能に対して、ホストイ ンターフェースを用いて、すべてのロジック及びクロスバ−チップを接続する。
各ボードの14個のしチップを、一つの構成グループとし、その32個のXチッ プを2つのグループに分割する。8個のZチップボードの各々と同様に、各ボッ クスの8個のYチップボードを、各々lグループとする。
4.2ソフトウェア 設計部変換システムは、以下のモジュールから成っており、その各々は、それぞ れに関するセクションで記載されている:Quick Simロジック基本要素 を有するmentor Graplhics設計ファイルを読み出す設計部リー ダ。
Quick Sim基本要素を、XNjnx LCA基本要素に変換する基本要 素コンバータ。トライステート及びワイヤードネットドライバは、トライステー トのセクションで述べたように、クロスバ−加算構成に従って、変換される。
そのセクションにて述べたように、クラスタ構成技術に基づいているパーティシ ョナ。
3つのレベルの部分的クロスバ−を相互接続するとともに、システム中の各ロジ ック及びクロスバ−チップに関するXNFフォーマットのネットリスファイイレ を送出する相互接続及びネットリスティングシステム。
XNF2LCA、 APR及びMakebitsから成っているX1linx  LCAネットリスト変換ツール。
構成ファイルコレクタ 応用 mentor Graphicsのログファイルに基づき、且ツRSIMバッチ インターフェースツールを用いているリアライザロジックシュミレーションシス テム。
mentor Graphicsのログファイルに基づき、且ツR3[Mバッチ シュミレーションインタフェースツールを用いているリアライザフォールトシュ ミレーションシステム。
mentor Graphic’s Quick Simのロジックシュミレー タとして作用するリアライザロジックシュミレータ評価システム。
ロジックアナライザを具え、実現される仮想計器を有しているリアライザプロト タイピングシステム。
リアライザ実行システム mentor Graphics Board 5tationの自動PCB配 置及びルーティングツールを用いてのリアライザ生産システム。
パスカル言語とフラメル設計部合成コンパイラと、mentor Graphi cs Design、 Knowledge and Logic Con5u ltant FSM及びロジック合成ツールとを用いたリアライザ計算システム 。
好適例を引用し、本発明の詳細な説明したが、このような原理とは離れて、装置 及び細部を種々変更できること明らかである。例えば、mentor Grap hicsの電気設計オートメーションの変形例を用い、本発明が有効に動作する ことを説明したが、他の設計部オートメーションツールを用いて同様に本発明を 実施できることがわかる。
本発明は、ここに開示されている実施例に限定されるものではなく、要旨を変更 しない範囲内で種々の変形や変更か可能である。
ユーザ1み定0ハードウェア、テ”t(イスズIす。
FIG2 IG3 FIG 6 FIG 8a FIG 8b IG 7 FIG 9 lG10 FIG 11a FIG 11b 1 o ε 1 o ε FIG12 lG13 lG15 lG16 0I;ツク十−17° ロジック斗17mFIG 24 FIG 25 FIG 26 FIG 27 FIG29 FIG 32 FIG 33 FIG 34 FIG 35 FIG 36 FIG37 痺 IG40 FIG 44a FIG 44b FIG 1450 オーツ0ンコレクグドライバ FIG L!Sb トライズテートド゛ライti RJ R露1 8隼1 FIG 47a FIG 47b lG47c D、、、I IG48b FIG 50a FIG 50b FIG50c lG51a IG51b FIG 52a FIG 52b ロンでンクエレメント FIG 53a FIG 54 FIG 55 補正書の写しく翻訳文)提出書(特許法第184条の7第1項)平成3年4月5 日

Claims (1)

  1. 【特許請求の範囲】 1.第1及び第2の電気的に再構成可能なゲートアレイ(ERCGA)を設ける 工程と; ブールのロジックゲートから成る基本要素を具え、第1デジタルロジック回路網 を表わしている第1入力デ−タ及び、前記基本要素を相互接続する回路網を設け る工程と;前記第1入力データを、第1及び第2部分に分割する工程と; 分割された第1データの第1部分を、第1ERCGAに供給し、これによって表 現される前記第1ロジック回路網の第1部分が、第1ERCGAにおいて実際に 動作形態を採るようにする工程と; 前記分割された第1データの第2部分を、第2ERCGAに供給し、これによっ て表現される前記第1デジタルロジック回路網の第2部分が、第2ERCGAに おいて実際に動作形態を採るようにする工程と; 前記第1及び第2ERCGAを相互接続し、前記第1入力データで特定される少 なくとも1個の回路網が、前記第1及び第2ERCGAの間に及ぶようにする工 程と;ブールのロジックゲートから成る基本要素と、前記基本要素を相互接続す る回路網とを具えていることを除き、前記第1デジタルロジック回路網と全く無 関係な、第2デジタルロジック回路網を表現している第2入力データを供給し、 前記第1及び第2デジタルロジック回路網が同一のERCGAにおいて実際の動 作形態を採るようにする工程と;前記第2入力データを、第1及び第2部分に分 割する工程と; 分割された第2データの第1部分を、第1ERCGAに供給し、これによって表 現される前記第2デジタルロジック回路網の第1部分が、前記第1ERCGAに おいて実際に動作形態を採ることができるようにする工程と; 前記分割された第2データの前記第2部分を、第2ERCGAに供給し、これに よって表現される前記第2デジタルロジック回路網の第2部分が、前記第2ER CGAで実際に動作形態を採ることができるようにする工程と; 前記第1及び第2ERCGAを相互接続し、前記第2入力データで特定される少 なくとも1個の回路網が、前記第1及び第2ERCGAの間に及ぶように構成す る工程;とを具えることを特徴とする方法。 2.前記区分化の工程を、自動的に行うことを特徴とする請求項1に記載の方法 。 3.シュミレートされる第1デジタルロジック回路網を規定する工程と; 前記第1デジタルロジック回路網を表現している第1入力データを発生させる工 程と; 前記第1入力データを、第1及び第2部分に分割する工程と、 前記分割された第1データの前記第1部分を、前記第1ERCGAに供給し、こ のようにして表現される前記第1デジタルロジック回路網の第1部分が、前記第 1ERCGAにおいて、実際に動作する形態を採ることができるようにする工程 と;前記分割された第1データの前記第2部分を前記第2ERCGAに供給し、 このようにして表現される前記第1ロジック回路網の第2部分が、前記第2ER CGAにおいて実際に動作する形態を採ることができるようにする工程と;前記 第1及び第2ERCGAを相互接続し、前記第1入力データで特定される少なく とも1個の回路網が、前記第1及び第2ERCGAの間に及ぶようにする工程と ;第1シュミレーションで使用する一組の第1刺激をソフトウェアで規定する工 程と; 前記刺激を規定する第1ソフトウェアを、第1電気信号に変換する工程と; 前記入力信号としての第1電気信号を、相互接続された前記第1及び第2ERC GAに供給する工程と;相互接続された前記第1及び第2ERCGAから、第1 出力電気信号を受信する工程と; 前記第1電気出力信号を、ソフトウェアの形態に変換する工程; とを具え、且つ、 前記第1デジタルロジック回路網とは別の第2デジタルロジック回路網において 、上記工程を繰り返す工程;を具えている請求項1に記載のシュミレーション方 法。 4.合成ツールを使用して、第1コンピュータプログラムを、該第1コンピュー タプログラムで表現されるアルゴリズムに従って作動する第1デジタルロジック 回路網を表現している一組の第1入力データに変換する工程と;前記第1入力デ ータを、前記第1及び第2部分に分割する工程と; 前記分割された第1データの前記第1部分を、前記第1ERCGAに供給し、こ のようにして表現される前記第1デジタルロジック回路網の第1部分が、前記第 1ERCGAにおいて、実際の動作形態を採ることができるようにする工程と; 前記分割された第1データの前記第2部分を前記第2ERCGAに供給し、この ようにして表現される前記第1デジタルロジック回路網の第2部分が、前記第2 ERCGAにおいて、実際の動作形態を採ることができるようにする工程と;前 記第1及び第2ERCGAを相互接続し、前記第1入力データが特定する少なく とも一個の回路網が、前記第1及び第2ERCGAの間に及ぶようにする工程と ;前記第1プログラムの入力データに対応する第1刺激信号を発生させる工程と ; 前記第1刺激信号を、入力信号として、相互接続された前記第1及び第2ERC GAに供給する工程と;相互接続された、前記第1及び第2ERCGAから、前 記第1プログラムの出力データに対応する第1出力電気信号を受信する工程; とを具え、且つ、 前記第1デジタル回路網とは別の第2デジタル回路網において、上記工程を繰り 返す工程; を具えている請求項1に記載の計算方法。 5.前記合成ツール使用工程が: 設計部合成ツールを使用して、前記第1コンピュータプログラムを、データパス 及び有限状態マシンコントローラから成り、前記第1プログラムによって表現さ れるアルゴリズムに従って作動するシステムの表現に変換する工程と;ロジック 合成ツールを用いて、前記設計部合成ツールによって提供されるデータパス及び 有限状態マシンコントローラの表現を一組の第1入力データに変換する工程;と を具えることを特徴とする請求項1に記載の方法。 6.前記ERCGAが、各々、複数のピンを具え、且つ、前記相互接続の工程が : 少なくとも一個の追加のERCGAを設け、再構成可能な相互接続としての役割 を果たすようにする工程と;前記再構成可能な相互接続ERCGAの各々を、前 記第1及び第2ERCGAのピンのすべてではないが、少なくとも一個に接続す る工程; とを具えていることを特徴とする請求項1に記載の方法7.(a)N個のERC GAを設ける工程と;(b)前記第1入力データを、N個の部分に分割する工程 と;(c)分割されたデータの各部分を、対応するERCGAに供給し、このよ うにして表現される前記デジタルロジック回路網の前記部分が、前記ERCGA において実際の動作形態を採ることができるようにしている工程と;(d)N個 のERCGAを相互接続し、ERCGAの各々を、少なくとも一個の他のERC GAに接続し、且つ、前記入力データで特定される回路網の各々を実現する工程 と;(e)前記第2入力データに対して、(b),(c)及び(d)の工程を繰 り返す工程; とを更に具えていることを特徴とする請求項1に記載の方法。 8.ERCGAが各々複数のピンを具え、且つ、前記相互接続の工程が: 少なくとも一個の追加のERCGAを設け、再構成可能な相互接続としての役割 を果たすようにする工程と;前記再構成可能な相互接続ERCGAの各々を、前 記複数であるN個のERCGAのピンのすべてではないが、少なくとも一個に接 続する工程; とを具えていることを特徴とする請求項7に記載の方法。 9.前記再構成可能な相互接続ERCGAを、前記N個の各々のERCGAのす べてではないが、少なくとも一個に接続する工程を、更に具えていることを特徴 とする請求項8に記載の方法。 10.順次、というよりはむしろ単一のプロセスで:前記入力データを分割する 工程と; これによって、対応して必要となる相互接続の特徴を識別する工程; とを実行する工程を更に具え、 これによって、前記入力データを、このような方法で分割し、対応して必要な相 互接続を簡易化することを特徴とする請求項9に記載の方法。 11.シード基本要素を決定し、他の基本要素をこれらに加えることによって前 記入力データを分割し、これによって、基本要素のクラスタを構成する工程を更 に具え;前記基本要素の各々が、多数のピンを具え:前記クラスタの構成が、ク ラスタに割り当てられていない各基本要素の有効な機能を評価する工程を具え; 前記有効な機能が、最も多数のピンを有する基本要素に、最大の初期利益をもた らすことを特徴とする請求項10に記載の方法。 12.シード基本要素を決定するとともに、他の基本要素をこれらに加えること によって、前記入力データを分割し、これによって、基本要素のクラスタを構成 する工程と;相互接続の限界に至るまで、基本要素をクラスタから取り除く工程 とを更に具え; 前記分割の工程が、相互接続の限界を超えて、基本要素をクラスタに加える方法 を具えていることを特徴とする請求項10に記載の方法。 13.前記相互接続の工程が、更に: 2個のERCGA間に及んでいる回路網が:回路網のルートを決定することので きる複数の対象となる再構成可能な相互接続ERCGAを試験する工程と;少な くとも部分的に、ERCGAがすでに用いられている利用の程度に基づき、この ような相互接続ERCGAの各々を介してのルート決定の適正を評価する工程; とを具えていることを特徴とする請求項10に記載の方法。 14.(a)N個のERCGAを設ける工程と;(b)回路形態的に、前記N個 のERCGAを、規則的な多次元アレイに配置し、これによって相対的に隣接す るERCGAを決定する工程と; (c)直接的に隣接するERCGAを相互接続する工程と;(d)前記第1入力 データを、N個の部分に分割する工程と;(e)前記分割されたデータの各部分 を、対応するERCGAに供給し、このようにして表現される前記デジタルロジ ック回路網の前記部分が、前記ERCGAにおいて実際に動作する形態を採るこ とができるようにする工程と;(f)非隣接ERCGA間に介在するERCGA を介して相互接続を確立することで、非隣接ERCGAを相互接続し、必要とさ れるN個のERCGAを相互接続し、前記第1データで特定される回路網を実現 する工程と; (g)前記第2入力データに対して、工程(d),(e)及び(f)を繰り返す 工程; とを更に具えていることを特徴とする請求項1に記載の方法。 15.自動ルーティング方法を用いて、非隣接ERCGAを相互接続するのに、 介在するどのERCGA及びピンを用いるかを決定する工程を更に具えているこ とを特徴とする請求項14に記載の方法。 16.前記デジタルロジック回路網中の故障を、前記入力データによって表現す ることで、故障をシュミレートする工程を更に具えていることを特徴とする請求 項1に記載のフォールトシュミレータに関する方法。 17.電気設計自動化システムと接続している相互接続されたERCGAを作動 させる工程を更に具えていることを特徴としている請求項1に記載の方法。 18.前記相互接続されたERCGAを、メモリ回路に結合させる工程と、前記 回路と接続している前記相互接続されたERCGAを作動させる工程とを更に具 える請求項1に記載の方法。 19.前記双方向性回路網を、双方向性相互接続を用いて、積の和に変換するこ とによって、双方向性回路網を相互接続する工程を更に具えることを特徴とする 請求項1に記載の方法。 20.ERCGAにおいて積を加算する工程を更に具えていることを特徴とする 請求項1に記載の方法。
JP1509588A 1988-10-05 1989-10-04 複数の電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法 Expired - Lifetime JP3060018B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US25446388A 1988-10-05 1988-10-05
US254,463 1988-10-05

Related Child Applications (3)

Application Number Title Priority Date Filing Date
JP13202899A Division JP3162681B2 (ja) 1988-10-05 1999-05-12 電気的に再構成可能なゲートアレイロジックを用いる方法及び、これによって構成される装置
JP33648899A Division JP3162687B2 (ja) 1988-10-05 1999-11-26 電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法
JP2000035466A Division JP3281352B2 (ja) 1988-10-05 2000-02-14 電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法

Publications (2)

Publication Number Publication Date
JPH04502985A true JPH04502985A (ja) 1992-05-28
JP3060018B2 JP3060018B2 (ja) 2000-07-04

Family

ID=22964407

Family Applications (6)

Application Number Title Priority Date Filing Date
JP1509588A Expired - Lifetime JP3060018B2 (ja) 1988-10-05 1989-10-04 複数の電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法
JP13202899A Expired - Lifetime JP3162681B2 (ja) 1988-10-05 1999-05-12 電気的に再構成可能なゲートアレイロジックを用いる方法及び、これによって構成される装置
JP16571699A Expired - Lifetime JP3247663B2 (ja) 1988-10-05 1999-06-11 電気的に再構成可能なゲートアレイロジックを用いる方法及び、これによって構成される装置
JP33648899A Expired - Lifetime JP3162687B2 (ja) 1988-10-05 1999-11-26 電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法
JP2000035466A Expired - Lifetime JP3281352B2 (ja) 1988-10-05 2000-02-14 電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法
JP2001270961A Expired - Lifetime JP3354143B2 (ja) 1988-10-05 2001-09-06 電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法

Family Applications After (5)

Application Number Title Priority Date Filing Date
JP13202899A Expired - Lifetime JP3162681B2 (ja) 1988-10-05 1999-05-12 電気的に再構成可能なゲートアレイロジックを用いる方法及び、これによって構成される装置
JP16571699A Expired - Lifetime JP3247663B2 (ja) 1988-10-05 1999-06-11 電気的に再構成可能なゲートアレイロジックを用いる方法及び、これによって構成される装置
JP33648899A Expired - Lifetime JP3162687B2 (ja) 1988-10-05 1999-11-26 電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法
JP2000035466A Expired - Lifetime JP3281352B2 (ja) 1988-10-05 2000-02-14 電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法
JP2001270961A Expired - Lifetime JP3354143B2 (ja) 1988-10-05 2001-09-06 電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法

Country Status (7)

Country Link
US (1) US5036473A (ja)
EP (3) EP0437491B1 (ja)
JP (6) JP3060018B2 (ja)
AT (2) ATE265712T1 (ja)
AU (1) AU4347189A (ja)
DE (2) DE68929518T2 (ja)
WO (1) WO1990004233A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301981A (ja) * 2003-11-18 2005-10-27 Quickturn Design Syst Inc エミュレーションシステムとエミュレータの間でのシミュレーション及び可視化データ転送のための最適化インターフェース
JP2007528553A (ja) * 2004-03-09 2007-10-11 セヤン ヤン 検証性能と検証效率性を高める動的検証−基盤方式の検証装置及びこれを用いた検証方法論
JP4720436B2 (ja) * 2005-11-01 2011-07-13 株式会社日立製作所 リコンフィギュラブルプロセッサまたは装置

Families Citing this family (283)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377123A (en) * 1992-06-08 1994-12-27 Hyman; Edward Programmable logic device
US5452231A (en) * 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
US5329470A (en) * 1988-12-02 1994-07-12 Quickturn Systems, Inc. Reconfigurable hardware emulation system
US5109353A (en) * 1988-12-02 1992-04-28 Quickturn Systems, Incorporated Apparatus for emulation of electronic hardware system
JPH02236779A (ja) * 1989-03-10 1990-09-19 Nec Corp スキャンパス接続方式
US5369593A (en) 1989-05-31 1994-11-29 Synopsys Inc. System for and method of connecting a hardware modeling element to a hardware modeling system
US5353243A (en) 1989-05-31 1994-10-04 Synopsys Inc. Hardware modeling system and method of use
US5257166A (en) * 1989-06-05 1993-10-26 Kawasaki Steel Corporation Configurable electronic circuit board adapter therefor, and designing method of electronic circuit using the same board
CA2018202A1 (en) * 1989-06-05 1990-12-05 Tomohiro Marui Configurable electronic circuit board, adapter therefor, and designing method of electronic circuit using the same board
US5233539A (en) * 1989-08-15 1993-08-03 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure, input/output structure and configurable logic block
US5260881A (en) * 1989-10-30 1993-11-09 Advanced Micro Devices, Inc. Programmable gate array with improved configurable logic block
US5255203A (en) * 1989-08-15 1993-10-19 Advanced Micro Devices, Inc. Interconnect structure for programmable logic device
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5644496A (en) * 1989-08-15 1997-07-01 Advanced Micro Devices, Inc. Programmable logic device with internal time-constant multiplexing of signals from external interconnect buses
US5231588A (en) * 1989-08-15 1993-07-27 Advanced Micro Devices, Inc. Programmable gate array with logic cells having symmetrical input/output structures
US5185706A (en) * 1989-08-15 1993-02-09 Advanced Micro Devices, Inc. Programmable gate array with logic cells having configurable output enable
US5377124A (en) * 1989-09-20 1994-12-27 Aptix Corporation Field programmable printed circuit board
US5400262A (en) * 1989-09-20 1995-03-21 Aptix Corporation Universal interconnect matrix array
US5249265A (en) * 1989-10-24 1993-09-28 International Business Machines Corporation Structure storage management in a graphics display device
DE69030953D1 (de) * 1990-03-08 1997-07-24 Ibm Hardware-Simulator
US5598344A (en) * 1990-04-06 1997-01-28 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
DE69133311T2 (de) * 1990-10-15 2004-06-24 Aptix Corp., San Jose Verbindungssubstrat mit integrierter Schaltung zur programmierbaren Verbindung und Probenuntersuchung
US5301284A (en) * 1991-01-16 1994-04-05 Walker-Estes Corporation Mixed-resolution, N-dimensional object space method and apparatus
US5560006A (en) * 1991-05-15 1996-09-24 Automated Technology Associates, Inc. Entity-relation database
US6759870B2 (en) 1991-09-03 2004-07-06 Altera Corporation Programmable logic array integrated circuits
US20020130681A1 (en) 1991-09-03 2002-09-19 Cliff Richard G. Programmable logic array integrated circuits
US5202593A (en) * 1991-10-30 1993-04-13 I-Cube Design Systems Inc. Bi-directional bus repeater
US5428800A (en) * 1991-10-30 1995-06-27 I-Cube, Inc. Input/output (I/O) bidirectional buffer for interfacing I/O ports of a field programmable interconnection device with array ports of a cross-point switch
WO1993009502A1 (en) * 1991-10-30 1993-05-13 I-Cube Design Systems, Inc. Field programmable logic module
WO1993009504A1 (en) * 1991-10-30 1993-05-13 I-Cube Design Systems Inc. Field programmable circuit board
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
DE4211162C2 (de) * 1992-03-31 1996-03-21 Manfred Dipl Ing Zeiner Hardware-Emulationssystem
JP2781305B2 (ja) * 1992-05-08 1998-07-30 富士通株式会社 マルチポートramを含む論理シミュレーション方式
US5352123A (en) * 1992-06-08 1994-10-04 Quickturn Systems, Incorporated Switching midplane and interconnection system for interconnecting large numbers of signals
US5629876A (en) * 1992-07-10 1997-05-13 Lsi Logic Corporation Method and apparatus for interim in-situ testing of an electronic system with an inchoate ASIC
US5339262A (en) * 1992-07-10 1994-08-16 Lsi Logic Corporation Method and apparatus for interim, in-situ testing of an electronic system with an inchoate ASIC
US5392227A (en) * 1992-07-24 1995-02-21 Logic Modeling Corporation System and method for generating electronic circuit simulation models having improved accuracy
US5572710A (en) * 1992-09-11 1996-11-05 Kabushiki Kaisha Toshiba High speed logic simulation system using time division emulation suitable for large scale logic circuits
US5425036A (en) * 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
US5497498A (en) * 1992-11-05 1996-03-05 Giga Operations Corporation Video processing module using a second programmable logic device which reconfigures a first programmable logic device for data transformation
US5535342A (en) * 1992-11-05 1996-07-09 Giga Operations Corporation Pld connector for module having configuration of either first PLD or second PLD and reconfigurable bus for communication of two different bus protocols
US5603043A (en) * 1992-11-05 1997-02-11 Giga Operations Corporation System for compiling algorithmic language source code for implementation in programmable hardware
EP0599488B1 (en) * 1992-11-18 1999-10-06 Canon Information Systems, Inc. Method and apparatus for testing an interface board
US5361373A (en) * 1992-12-11 1994-11-01 Gilson Kent L Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
US5452229A (en) * 1992-12-18 1995-09-19 Lattice Semiconductor Corporation Programmable integrated-circuit switch
US5414638A (en) * 1992-12-18 1995-05-09 Aptix Corporation Programmable interconnect architecture
US5627842A (en) * 1993-01-21 1997-05-06 Digital Equipment Corporation Architecture for system-wide standardized intra-module and inter-module fault testing
US5729752A (en) * 1993-02-19 1998-03-17 Hewlett-Packard Company Network connection scheme
US5648913A (en) * 1993-03-29 1997-07-15 Xilinx, Inc. Frequency driven layout system and method for field programmable gate arrays
US5596742A (en) * 1993-04-02 1997-01-21 Massachusetts Institute Of Technology Virtual interconnections for reconfigurable logic systems
EP0701713B1 (en) * 1993-05-28 2001-07-18 The Regents Of The University Of California Field programmable logic device with dynamic interconnections to a dynamic logic core
IL109921A (en) * 1993-06-24 1997-09-30 Quickturn Design Systems Method and apparatus for configuring memory circuits
JP3176482B2 (ja) * 1993-07-07 2001-06-18 富士通株式会社 論理シミュレーション装置
GB2280293B (en) * 1993-07-19 1997-12-10 Hewlett Packard Co Architecture for programmable logic
CA2126265A1 (en) * 1993-09-27 1995-03-28 Michael Robert Cantone System for synthesizing field programmable gate array implementations from high level circuit descriptions
US5495422A (en) * 1993-10-12 1996-02-27 Wang Laboratories, Inc. Method for combining a plurality of independently operating circuits within a single package
US5493505A (en) * 1993-10-28 1996-02-20 Nec Usa, Inc. Initializable asynchronous circuit design
US5502645A (en) * 1993-11-05 1996-03-26 Nec Usa, Inc. Behavioral synthesis for reconfigurable datapath structures
US5625567A (en) * 1993-11-12 1997-04-29 Viewlogic Systems, Inc. Electronic circuit design system and method with programmable addition and manipulation of logic elements surrounding terminals
US6067615A (en) * 1993-11-30 2000-05-23 Trw Inc. Reconfigurable processor for executing successive function sequences in a processor operation
US5497027A (en) * 1993-11-30 1996-03-05 At&T Global Information Solutions Company Multi-chip module packaging system
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
US5604888A (en) * 1994-04-07 1997-02-18 Zycad Corporation Emulation system employing motherboard and flexible daughterboards
US6181162B1 (en) 1994-04-10 2001-01-30 Altera Corporation Programmable logic device with highly routable interconnect
US6294928B1 (en) 1996-04-05 2001-09-25 Altera Corporation Programmable logic device with highly routable interconnect
US5541862A (en) * 1994-04-28 1996-07-30 Wandel & Goltermann Ate Systems Ltd. Emulator and digital signal analyzer
US5920712A (en) * 1994-05-13 1999-07-06 Quickturn Design Systems, Inc. Emulation system having multiple emulator clock cycles per emulated clock cycle
US5815512A (en) * 1994-05-26 1998-09-29 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory testing device
US5499249A (en) * 1994-05-31 1996-03-12 At&T Corp. Method and apparatus for test generation and fault simulation for sequential circuits with embedded random access memories (RAMs)
US5551013A (en) * 1994-06-03 1996-08-27 International Business Machines Corporation Multiprocessor for hardware emulation
CA2151527C (en) * 1994-06-13 2009-08-18 Michael E. Jay Method and apparatus for correlating educational requirements
US5638288A (en) * 1994-08-24 1997-06-10 Lsi Logic Corporation Separable cells having wiring channels for routing signals between surrounding cells
JP3168839B2 (ja) * 1994-09-09 2001-05-21 株式会社日立製作所 論理エミュレーションシステム及び等価回路生成方法
US5737578A (en) * 1994-11-18 1998-04-07 International Business Machines Corp. Apparatus and method for partitioning multiport rams
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
US5537341A (en) * 1995-02-10 1996-07-16 Jonathan Rose Complementary architecture for field-programmable gate arrays
US5548747A (en) * 1995-02-10 1996-08-20 International Business Machines Corporation Bit stack wiring channel optimization with fixed macro placement and variable pin placement
US5673295A (en) * 1995-04-13 1997-09-30 Synopsis, Incorporated Method and apparatus for generating and synchronizing a plurality of digital signals
US5794062A (en) * 1995-04-17 1998-08-11 Ricoh Company Ltd. System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization
WO1996036925A1 (en) * 1995-05-16 1996-11-21 Giga Operations Corporation Monitor cpu for a logic device
US6028446A (en) * 1995-06-06 2000-02-22 Advanced Micro Devices, Inc. Flexible synchronous and asynchronous circuits for a very high density programmable logic device
US5765026A (en) * 1995-06-16 1998-06-09 International Business Machines Corporation Method for implementing state machine using link lists by dividing each one of the combinations into an initial section, an immediate section, and a final section
US5819065A (en) * 1995-06-28 1998-10-06 Quickturn Design Systems, Inc. System and method for emulating memory
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
US5821773A (en) * 1995-09-06 1998-10-13 Altera Corporation Look-up table based logic element with complete permutability of the inputs to the secondary signals
US5734869A (en) * 1995-09-06 1998-03-31 Chen; Duan-Ping High speed logic circuit simulator
US5777489A (en) 1995-10-13 1998-07-07 Mentor Graphics Corporation Field programmable gate array with integrated debugging facilities
US5754827A (en) * 1995-10-13 1998-05-19 Mentor Graphics Corporation Method and apparatus for performing fully visible tracing of an emulation
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
US6570404B1 (en) 1996-03-29 2003-05-27 Altera Corporation High-performance programmable logic architecture
US5822564A (en) * 1996-06-03 1998-10-13 Quickturn Design Systems, Inc. Checkpointing in an emulation system
US5886904A (en) * 1996-09-23 1999-03-23 Quickturn Design Systems, Inc. Latch optimization in hardware logic emulation systems
US5841967A (en) * 1996-10-17 1998-11-24 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US6311309B1 (en) 1996-10-28 2001-10-30 Altera Corporation Methods and apparatus for simulating a portion of a circuit design
US5946219A (en) * 1996-10-30 1999-08-31 Atmel Corporation Method and system for configuring an array of logic devices
US6005410A (en) * 1996-12-05 1999-12-21 International Business Machines Corporation Interconnect structure between heterogeneous core regions in a programmable array
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
US6286093B1 (en) 1996-12-10 2001-09-04 Logic Express Systems, Inc. Multi-bus programmable interconnect architecture
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
ATE243390T1 (de) 1996-12-27 2003-07-15 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US6141636A (en) * 1997-03-31 2000-10-31 Quickturn Design Systems, Inc. Logic analysis subsystem in a time-sliced emulator
US6389379B1 (en) 1997-05-02 2002-05-14 Axis Systems, Inc. Converification system and method
US6134516A (en) * 1997-05-02 2000-10-17 Axis Systems, Inc. Simulation server system and method
US6321366B1 (en) 1997-05-02 2001-11-20 Axis Systems, Inc. Timing-insensitive glitch-free logic system and method
US6421251B1 (en) 1997-05-02 2002-07-16 Axis Systems Inc Array board interconnect system and method
US5903744A (en) * 1997-05-15 1999-05-11 Logic Express System, Inc. Logic emulator using a disposable wire-wrap interconnect board with an FPGA emulation board
US5943490A (en) * 1997-05-30 1999-08-24 Quickturn Design Systems, Inc. Distributed logic analyzer for use in a hardware logic emulation system
US5960191A (en) * 1997-05-30 1999-09-28 Quickturn Design Systems, Inc. Emulation system with time-multiplexed interconnect
WO1998057283A1 (en) * 1997-06-13 1998-12-17 Simpod, Inc. Concurrent hardware-software co-simulation
US5970240A (en) 1997-06-25 1999-10-19 Quickturn Design Systems, Inc. Method and apparatus for configurable memory emulation
US6021442A (en) * 1997-07-17 2000-02-01 International Business Machines Corporation Method and apparatus for partitioning an interconnection medium in a partitioned multiprocessor computer system
US6092123A (en) * 1997-07-17 2000-07-18 International Business Machines Corporation Method and apparatus for changing functions of a hardware device using two or more communication channels
US5884090A (en) * 1997-07-17 1999-03-16 International Business Machines Corporation Method and apparatus for partitioning an interconnection medium in a partitioned multiprocessor computer system
US5887184A (en) * 1997-07-17 1999-03-23 International Business Machines Corporation Method and apparatus for partitioning an interconnection medium in a partitioned multiprocessor computer system
KR980004043A (ko) * 1997-10-01 1998-03-30 양세양 프로토타이핑 시스템 및 그 제어방법
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
US6286114B1 (en) * 1997-10-27 2001-09-04 Altera Corporation Enhanced embedded logic analyzer
US6289494B1 (en) * 1997-11-12 2001-09-11 Quickturn Design Systems, Inc. Optimized emulation and prototyping architecture
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6178541B1 (en) * 1998-03-30 2001-01-23 Lsi Logic Corporation PLD/ASIC hybrid integrated circuit
US6185713B1 (en) * 1998-04-09 2001-02-06 Pmc-Sierra Ltd. Method and apparatus for improving stuck-at fault detection in large scale integrated circuit testing
US6502221B1 (en) 1998-07-14 2002-12-31 Nvidia Corporation Prototype development system
US6184707B1 (en) 1998-10-07 2001-02-06 Altera Corporation Look-up table based logic element with complete permutability of the inputs to the secondary signals
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
US6407576B1 (en) * 1999-03-04 2002-06-18 Altera Corporation Interconnection and input/output resources for programmable logic integrated circuit devices
CN1378665A (zh) 1999-06-10 2002-11-06 Pact信息技术有限公司 编程概念
US6947882B1 (en) * 1999-09-24 2005-09-20 Mentor Graphics Corporation Regionally time multiplexed emulation system
US6934674B1 (en) 1999-09-24 2005-08-23 Mentor Graphics Corporation Clock generation and distribution in an emulation system
US6647362B1 (en) 1999-09-24 2003-11-11 Frederic Reblewski Emulation system scaling
US6473726B1 (en) * 1999-09-24 2002-10-29 Frederic Reblewski Method and apparatus for concurrent emulation of multiple circuit designs on an emulation system
US7356786B2 (en) * 1999-11-30 2008-04-08 Synplicity, Inc. Method and user interface for debugging an electronic system
US6581191B1 (en) * 1999-11-30 2003-06-17 Synplicity, Inc. Hardware debugging in a hardware description language
US7065481B2 (en) 1999-11-30 2006-06-20 Synplicity, Inc. Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer
US7072818B1 (en) 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US6823497B2 (en) 1999-11-30 2004-11-23 Synplicity, Inc. Method and user interface for debugging an electronic system
US6931572B1 (en) 1999-11-30 2005-08-16 Synplicity, Inc. Design instrumentation circuitry
US6485309B2 (en) 1999-12-08 2002-11-26 Nortel Networks Limited Virtual midplane to enhance card interconnections using a matrix of interconnecting assemblies
US6438737B1 (en) 2000-02-15 2002-08-20 Intel Corporation Reconfigurable logic for a computer
US6748474B1 (en) 2000-02-25 2004-06-08 Telica, Inc. Midplane apparatus
US6754862B1 (en) 2000-03-09 2004-06-22 Altera Corporation Gaining access to internal nodes in a PLD
WO2001086513A2 (en) * 2000-05-11 2001-11-15 Quickturn Design Systems, Inc. Emulation circuit with a hold time algorithm, logic analyzer and shadow memory
US6697957B1 (en) 2000-05-11 2004-02-24 Quickturn Design Systems, Inc. Emulation circuit with a hold time algorithm, logic analyzer and shadow memory
US7379859B2 (en) * 2001-04-24 2008-05-27 Mentor Graphics Corporation Emulator with switching network connections
JP2004506261A (ja) 2000-06-13 2004-02-26 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト パイプラインctプロトコルおよびct通信
US6567290B2 (en) * 2000-07-05 2003-05-20 Mosaic Systems, Inc. High-speed low-power semiconductor memory architecture
US7672827B1 (en) * 2000-08-28 2010-03-02 Cadence Design Systems, Inc. Method and system for simulation of analog/digital interfaces with analog tri-state ioputs
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US6561812B1 (en) 2000-10-30 2003-05-13 Learncity, Inc. System and method of correlating learning materials with educational objectives
EP1337941A1 (en) * 2000-11-24 2003-08-27 Italtel s.p.a. A prototyping system
US7222315B2 (en) * 2000-11-28 2007-05-22 Synplicity, Inc. Hardware-based HDL code coverage and design analysis
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
WO2005045692A2 (en) 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Data processing device and method
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US20020173942A1 (en) * 2001-03-14 2002-11-21 Rochit Rajsuman Method and apparatus for design validation of complex IC without using logic simulation
US7155602B2 (en) * 2001-04-30 2006-12-26 Src Computers, Inc. Interface for integrating reconfigurable processors into a general purpose computing system
US6720796B1 (en) 2001-05-06 2004-04-13 Altera Corporation Multiple size memories in a programmable logic device
US20030002541A1 (en) * 2001-06-07 2003-01-02 Fowler Michael L. Mid-connect architecture with point-to-point connections for high speed data transfer
US20040023558A1 (en) * 2001-06-07 2004-02-05 Fowler Michael L. Mid-connect architecture with point-to-point connections for high speed data transfer
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
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
US6681377B2 (en) 2001-09-18 2004-01-20 Quickturn Design Systems, Inc. Timing resynthesis in a multi-clock emulation system
US8686475B2 (en) * 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US6865726B1 (en) * 2001-10-22 2005-03-08 Cadence Design Systems, Inc. IC layout system employing a hierarchical database by updating cell library
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
US7305633B2 (en) * 2001-10-30 2007-12-04 Mentor Graphics Corporation Distributed configuration of integrated circuits in an emulation system
US7035787B2 (en) 2001-10-30 2006-04-25 Mentor Graphics Corporation Emulation components and system including distributed routing and configuration of emulation resources
EP1459219A4 (en) * 2001-12-05 2006-02-15 Src Computers Inc INTERFACE FOR INTEGRATING CONVERTIBLE PROCESSORS IN A MULTIPURPOSE DATA PROCESSING SYSTEM
JP3540796B2 (ja) * 2001-12-28 2004-07-07 東京エレクトロンデバイス株式会社 演算システム
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
WO2003071432A2 (de) 2002-02-18 2003-08-28 Pact Xpp Technologies Ag Bussysteme und rekonfigurationsverfahren
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
WO2004010581A1 (en) * 2002-07-23 2004-01-29 Gatechange Technologies, Inc. Interconnect structure for electrical devices
AU2003254126A1 (en) * 2002-07-23 2004-02-09 Gatechance Technologies Inc Pipelined reconfigurable dynamic instruciton set processor
WO2004010286A2 (en) * 2002-07-23 2004-01-29 Gatechange Technologies, Inc. Self-configuring processing element
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7299427B2 (en) * 2002-08-30 2007-11-20 Lsi Corporation Radio prototyping system
AU2003265891A1 (en) * 2002-09-04 2004-03-29 Mentor Graphics (Holdings) Ltd. Polymorphic computational system and method in signals intelligence analysis
EP1537486A1 (de) 2002-09-06 2005-06-08 PACT XPP Technologies AG Rekonfigurierbare sequenzerstruktur
US6971083B1 (en) * 2002-11-13 2005-11-29 Altera Corporation Method for programming programmable logic device with blocks that perform multiplication and other arithmetic functions
US7036046B2 (en) * 2002-11-14 2006-04-25 Altera Corporation PLD debugging hub
US7260794B2 (en) * 2002-12-20 2007-08-21 Quickturn Design Systems, Inc. Logic multiprocessor for FPGA implementation
WO2004061722A1 (ja) 2002-12-27 2004-07-22 Fujitsu Limited 論理シミュレーション装置
US7440884B2 (en) * 2003-01-23 2008-10-21 Quickturn Design Systems, Inc. Memory rewind and reconstruction for hardware emulator
EP1450278B1 (en) 2003-01-23 2013-04-24 Cadence Design Systems, Inc. Methods and apparatus for verifying the operation of a circuit design
US7076751B1 (en) 2003-01-24 2006-07-11 Altera Corporation Chip debugging using incremental recompilation
JP4216087B2 (ja) 2003-02-10 2009-01-28 パナソニック株式会社 論理回路最適化方法、論理回路最適化装置、及び、論理回路合成装置
US7092692B2 (en) * 2003-03-31 2006-08-15 Agency For Science, Technology And Research Threshold voltage (Vth), power supply (VDD), and temperature compensation bias circuit for CMOS passive mixer
US7505891B2 (en) * 2003-05-20 2009-03-17 Verisity Design, Inc. Multi-user server system and method
US7286976B2 (en) 2003-06-10 2007-10-23 Mentor Graphics (Holding) Ltd. Emulation of circuits with in-circuit memory
EP1489531A1 (en) * 2003-06-20 2004-12-22 Robert Bosch Gmbh Simulation system and computer-implemented method for simulation and verifying a control system
US20040267489A1 (en) * 2003-06-24 2004-12-30 Frederic Reblewski Data compaction and pin assignment
US7539900B1 (en) 2003-07-29 2009-05-26 Altera Corporation Embedded microprocessor for integrated circuit testing and debugging
EP1503307B1 (de) 2003-07-30 2019-04-03 Synopsys, Inc. Vorrichtung zur Emulation von Entwürfen für integrierte Schaltkreise
US7693703B2 (en) 2003-08-01 2010-04-06 Mentor Graphics Corporation Configuration of reconfigurable interconnect portions
US8775997B2 (en) * 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US8872833B2 (en) * 2003-09-15 2014-10-28 Nvidia Corporation Integrated circuit configuration system and method
US7924845B2 (en) * 2003-09-30 2011-04-12 Mentor Graphics Corporation Message-based low latency circuit emulation signal transfer
US7587649B2 (en) * 2003-09-30 2009-09-08 Mentor Graphics Corporation Testing of reconfigurable logic and interconnect sources
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US7190190B1 (en) 2004-01-09 2007-03-13 Altera Corporation Programmable logic device with on-chip nonvolatile user memory
US7669035B2 (en) * 2004-01-21 2010-02-23 The Charles Stark Draper Laboratory, Inc. Systems and methods for reconfigurable computing
US7206967B1 (en) 2004-02-09 2007-04-17 Altera Corporation Chip debugging using incremental recompilation and register insertion
JP4371856B2 (ja) * 2004-03-04 2009-11-25 株式会社東芝 安全保護計装システムおよびその取扱方法
US7200832B2 (en) * 2004-03-26 2007-04-03 Lsi Logic Corp Macro cell for integrated circuit physical layer interface
JP2005293427A (ja) * 2004-04-02 2005-10-20 Matsushita Electric Ind Co Ltd データ転送処理装置及びデータ転送処理方法
US7698118B2 (en) * 2004-04-15 2010-04-13 Mentor Graphics Corporation Logic design modeling and interconnection
US7739093B2 (en) * 2004-06-01 2010-06-15 Quickturn Design System, Inc. Method of visualization in processor based emulation system
US7738398B2 (en) * 2004-06-01 2010-06-15 Quickturn Design Systems, Inc. System and method for configuring communication systems
US7493606B2 (en) * 2004-08-03 2009-02-17 Université du Québec à Chicoutimi (UQAC) Method for compiling and executing a parallel program
US8723231B1 (en) * 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
US20060089829A1 (en) * 2004-10-21 2006-04-27 International Business Machines Corporation Method and apparatus to efficiently access modeled memory in a logic simulation hardware emulator
JP4620771B2 (ja) * 2005-03-16 2011-01-26 ゲートロケット・インコーポレーテッド Fpgaエミュレーションシステム
US7577558B2 (en) * 2005-04-06 2009-08-18 Quickturn Design Systems, Inc. System and method for providing compact mapping between dissimilar memory systems
US8145469B2 (en) * 2005-04-06 2012-03-27 Quickturn Design Systems, Inc. System and method for providing compact mapping between dissimilar memory systems
US8021193B1 (en) 2005-04-25 2011-09-20 Nvidia Corporation Controlled impedance display adapter
US7793029B1 (en) 2005-05-17 2010-09-07 Nvidia Corporation Translation device apparatus for configuring printed circuit board connectors
US8453086B2 (en) 2005-06-03 2013-05-28 Cadence Design Systems, Inc. System and method for analyzing power consumption of electronic design undergoing emulation or hardware based simulation acceleration
US9092170B1 (en) 2005-10-18 2015-07-28 Nvidia Corporation Method and system for implementing fragment operation processing across a graphics bus interconnect
JP4647533B2 (ja) 2005-11-28 2011-03-09 富士通セミコンダクター株式会社 演算処理装置、演算処理装置の内部構成決定方法および演算処理システム
US8417838B2 (en) * 2005-12-12 2013-04-09 Nvidia Corporation System and method for configurable digital communication
US8412872B1 (en) 2005-12-12 2013-04-02 Nvidia Corporation Configurable GPU and method for graphics processing using a configurable GPU
JP2009524134A (ja) * 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
US8352242B2 (en) * 2006-02-21 2013-01-08 Mentor Graphics Corporation Communication scheme between programmable sub-cores in an emulation environment
WO2007096372A1 (en) * 2006-02-21 2007-08-30 Mentor Graphics Corporation Memory tracing in an emulation environment
US7555424B2 (en) 2006-03-16 2009-06-30 Quickturn Design Systems, Inc. Method and apparatus for rewinding emulated memory circuits
US8612201B2 (en) 2006-04-11 2013-12-17 Cadence Design Systems, Inc. Hardware emulation system having a heterogeneous cluster of processors
US20100002601A1 (en) * 2006-09-13 2010-01-07 Ecole Polytechnique Federale De Lausanne (Epfl) Methods for hardware reduction and overall performance improvement in communication system
US7636796B2 (en) * 2006-09-15 2009-12-22 Microsoft Corporation Smart interconnect for modular multi-component embedded devices
US7865856B1 (en) * 2007-03-12 2011-01-04 Tela Innovations, Inc. System and method for performing transistor-level static performance analysis using cell-level static analysis tools
US7730438B2 (en) * 2007-05-31 2010-06-01 Synopsys, Inc. Methods and apparatuses for designing multiplexers
US7822897B2 (en) * 2007-09-22 2010-10-26 Hirak Mitra System and methods for connecting multiple functional components
US8724483B2 (en) * 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
US8352235B1 (en) 2007-10-31 2013-01-08 Cadence Design Systems, Inc. Emulation of power shutoff behavior for integrated circuits
US8453019B2 (en) * 2007-11-06 2013-05-28 Nvidia Corporation Method and system for a free running strobe tolerant interface
US8214192B2 (en) 2008-02-27 2012-07-03 Mentor Graphics Corporation Resource remapping in a hardware emulation environment
US8108194B2 (en) 2008-04-25 2012-01-31 Cadence Design Systems, Inc. Peak power detection in digital designs using emulation systems
JP2010177881A (ja) * 2009-01-28 2010-08-12 Fujitsu Ltd 信号発生タイミング制御プログラム及び集積回路動作試験装置
US8687639B2 (en) * 2009-06-04 2014-04-01 Nvidia Corporation Method and system for ordering posted packets and non-posted packets transfer
US8532975B2 (en) * 2009-06-12 2013-09-10 Cadence Design Systems, Inc. System and method implementing a simulation acceleration capture buffer
US8473661B2 (en) * 2009-08-14 2013-06-25 Cadence Design Systems, Inc. System and method for providing multi-process protection using direct memory mapped control registers
US8255847B1 (en) * 2009-10-01 2012-08-28 Altera Corporation Method and apparatus for automatic hierarchical design partitioning
US9176909B2 (en) 2009-12-11 2015-11-03 Nvidia Corporation Aggregating unoccupied PCI-e links to provide greater bandwidth
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
US9331869B2 (en) * 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
CN102033772A (zh) * 2010-12-28 2011-04-27 复旦大学 用于fpga映射的电路改写指令系统
JP6069309B2 (ja) * 2011-06-06 2017-02-01 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 汎用マルチ無線アクセス技術
US9204460B2 (en) 2011-06-06 2015-12-01 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for a generic multi-radio access technology
MX2013014230A (es) * 2011-06-06 2014-03-27 St Ericsson Sa Tecnologia de acceso multi - radio generica.
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
US9330031B2 (en) 2011-12-09 2016-05-03 Nvidia Corporation System and method for calibration of serial links using a serial-to-parallel loopback
US8743735B1 (en) 2012-01-18 2014-06-03 Cadence Design Systems, Inc. Emulation system for verifying a network device
US8595683B1 (en) 2012-04-12 2013-11-26 Cadence Design Systems, Inc. Generating user clocks for a prototyping environment
US9292639B1 (en) 2014-10-30 2016-03-22 Cadence Design Systems Inc. Method and system for providing additional look-up tables
US9379846B1 (en) 2014-12-19 2016-06-28 Cadence Design Systems, Inc. System and method of encoding in a serializer/deserializer
US9647688B1 (en) 2014-12-19 2017-05-09 Cadence Design Systems, Inc. System and method of encoding in a serializer/deserializer
US9588176B1 (en) 2015-01-30 2017-03-07 Altera Corporation Techniques for using scan storage circuits
US9798842B1 (en) 2015-01-30 2017-10-24 Altera Corporation Circuit design instrumentation for state visualization
US9697318B2 (en) 2015-10-08 2017-07-04 Altera Corporation State visibility and manipulation in integrated circuits
US9702933B1 (en) 2015-10-22 2017-07-11 Cadence Design Systems, Inc. System and method for concurrent interconnection diagnostics field
US9697324B1 (en) 2015-11-05 2017-07-04 Cadence Design Systems, Inc. System for concurrent target diagnostics field
US10176100B1 (en) 2015-12-21 2019-01-08 Cadence Design Systems, Inc. Cache coherency process
US9495501B1 (en) * 2016-01-29 2016-11-15 International Business Machines Corporation Large cluster persistence during placement optimization of integrated circuit designs
US10747932B2 (en) * 2018-08-09 2020-08-18 International Business Machines Corporation Smart placement, visualization and optimization methodology for component placement and planning
US11461522B1 (en) * 2018-12-06 2022-10-04 Cadence Design Systems, Inc. Emulation system supporting computation of four-state combinational functions
DE102020201236A1 (de) * 2020-01-31 2021-08-05 Geze Gmbh Wandverschlusssystem
US11429160B2 (en) 2020-02-03 2022-08-30 Dell Products L.P. Adaptable multiple card sizes of riser cage structure
CN115185507A (zh) * 2022-05-20 2022-10-14 中核武汉核电运行技术股份有限公司 一种算法组态工具
CN117194346B (zh) * 2023-11-06 2024-01-23 上海合见工业软件集团有限公司 一种下载文件清除方法、电子设备及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58205870A (ja) * 1982-05-26 1983-11-30 Nippon Telegr & Teleph Corp <Ntt> 論理回路シミユレ−シヨン装置
JPS6124250A (ja) * 1984-07-13 1986-02-01 Nippon Gakki Seizo Kk 半導体集積回路装置
US4703435A (en) * 1984-07-16 1987-10-27 International Business Machines Corporation Logic Synthesizer
US4642487A (en) * 1984-09-26 1987-02-10 Xilinx, Inc. Special interconnect for configurable logic array
US4706216A (en) * 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
JPH0668756B2 (ja) * 1985-04-19 1994-08-31 株式会社日立製作所 回路自動変換方法
KR950015009B1 (ko) * 1985-09-11 1995-12-21 필킹톤 마이크로-엘렉트로닉스 리미티드 배치가능한 반도체 집적회로
JPS6274158A (ja) * 1985-09-27 1987-04-04 Hitachi Ltd 回路変換方式
US4722084A (en) * 1985-10-02 1988-01-26 Itt Corporation Array reconfiguration apparatus and methods particularly adapted for use with very large scale integrated circuits
EP0220816B1 (en) * 1985-10-23 1992-06-10 Pilkington Micro-Electronics Limited Gated transmission circuit (on-chip)
US4700187A (en) * 1985-12-02 1987-10-13 Concurrent Logic, Inc. Programmable, asynchronous logic cell and array
US4744084A (en) * 1986-02-27 1988-05-10 Mentor Graphics Corporation Hardware modeling system and method for simulating portions of electrical circuits
US4724307A (en) * 1986-04-29 1988-02-09 Gtech Corporation Marked card reader
GB8621357D0 (en) * 1986-09-04 1986-10-15 Mcallister R I Hinged barrier semiconductor integrated circuits
US4768196A (en) * 1986-10-28 1988-08-30 Silc Technologies, Inc. Programmable logic array
US4786904A (en) * 1986-12-15 1988-11-22 Zoran Corporation Electronically programmable gate array having programmable interconnect lines
US4849928A (en) * 1987-01-28 1989-07-18 Hauck Lane T Logic array programmer
US4908772A (en) * 1987-03-30 1990-03-13 Bell Telephone Laboratories Integrated circuits with component placement by rectilinear partitioning
US4815003A (en) * 1987-06-19 1989-03-21 General Electric Company Structured design method for high density standard cell and macrocell layout of VLSI chips

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301981A (ja) * 2003-11-18 2005-10-27 Quickturn Design Syst Inc エミュレーションシステムとエミュレータの間でのシミュレーション及び可視化データ転送のための最適化インターフェース
JP4656929B2 (ja) * 2003-11-18 2011-03-23 クイックターン・デザイン・システムズ・インコーポレイテッド エミュレーションシステムとシミュレータとの間でのシミュレーション及び可視化データ転送のための最適化インターフェース
JP2007528553A (ja) * 2004-03-09 2007-10-11 セヤン ヤン 検証性能と検証效率性を高める動的検証−基盤方式の検証装置及びこれを用いた検証方法論
JP4720436B2 (ja) * 2005-11-01 2011-07-13 株式会社日立製作所 リコンフィギュラブルプロセッサまたは装置

Also Published As

Publication number Publication date
EP0437491B1 (en) 1995-12-13
WO1990004233A1 (en) 1990-04-19
EP0651343B1 (en) 2004-04-28
ATE265712T1 (de) 2004-05-15
DE68929518T2 (de) 2005-06-09
JP2000236249A (ja) 2000-08-29
EP0437491A1 (en) 1991-07-24
EP1462964A2 (en) 2004-09-29
EP0651343A1 (en) 1995-05-03
JP3354143B2 (ja) 2002-12-09
DE68925121T2 (de) 1996-06-13
JP3162687B2 (ja) 2001-05-08
JP2000236250A (ja) 2000-08-29
JP3281352B2 (ja) 2002-05-13
EP1462964A3 (en) 2006-06-07
DE68929518D1 (de) 2004-06-03
ATE131643T1 (de) 1995-12-15
US5036473A (en) 1991-07-30
JP2000151387A (ja) 2000-05-30
JP3247663B2 (ja) 2002-01-21
JP3162681B2 (ja) 2001-05-08
AU4347189A (en) 1990-05-01
JP2000036737A (ja) 2000-02-02
JP2002189766A (ja) 2002-07-05
JP3060018B2 (ja) 2000-07-04
DE68925121D1 (de) 1996-01-25

Similar Documents

Publication Publication Date Title
JPH04502985A (ja) 複数の電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法
US5448496A (en) Partial crossbar interconnect architecture for reconfigurably connecting multiple reprogrammable logic devices in a logic emulation system
JP4424760B2 (ja) 時間多重相互接続を用いたエミュレーション・システム
Trimberger A reprogrammable gate array and applications
JP2002501646A (ja) ハードウェア・ロジック・エミュレーション・システムで使用するための分配ロジック・アナライザ
JPH0773066A (ja) メモリ回路構成法および装置
TW201428521A (zh) 設計及模擬系統、裝置及方法
CN103870390A (zh) 用于支持统一的调试环境的方法和装置
CN109167595A (zh) 使用部分重构在可编程电路上实施外围器件的方法和装置
Tessier et al. The virtual wires emulation system: A gate-efficient ASIC prototyping environment
Glick et al. Maverick: A stand-alone CAD flow for partially reconfigurable FPGA modules
EP1236222B1 (en) Universal hardware device and method and tools for use therewith
Morris et al. A re-configurable processor for Petri net simulation
Morris et al. A scalable re-configurable processor
CA2025096C (en) Method of using electronically reconfigurable gate array logic and apparatus formed thereby
KR20000020291A (ko) 시스템 프로토타이핑 장치 및 그 운영방법
Sreedhar FPGA configuration on Xilinx ML506 Development Board Through the USB port in C/HDL

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080428

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 10