JP3247663B2 - 電気的に再構成可能なゲートアレイロジックを用いる方法及び、これによって構成される装置 - Google Patents

電気的に再構成可能なゲートアレイロジックを用いる方法及び、これによって構成される装置

Info

Publication number
JP3247663B2
JP3247663B2 JP16571699A JP16571699A JP3247663B2 JP 3247663 B2 JP3247663 B2 JP 3247663B2 JP 16571699 A JP16571699 A JP 16571699A JP 16571699 A JP16571699 A JP 16571699A JP 3247663 B2 JP3247663 B2 JP 3247663B2
Authority
JP
Japan
Prior art keywords
logic
network
chip
electrically
reconfigurable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP16571699A
Other languages
English (en)
Other versions
JP2000151387A (ja
Inventor
マイケル アール バツツ
ジョン エイ バチェラー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quickturn Design Systems Inc
Original Assignee
Quickturn Design Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
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=JP3247663(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Quickturn Design Systems Inc filed Critical Quickturn Design Systems Inc
Publication of JP2000151387A publication Critical patent/JP2000151387A/ja
Application granted granted Critical
Publication of JP3247663B2 publication Critical patent/JP3247663B2/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

Description

【発明の詳細な説明】
【0001】
【発明の分野】本発明は、電気的に再構成可能なゲート
アレイロジック素子(ERCGA)の使用に関するとと
もに、複数のこのようなロジック素子の相互接続を具
え、ラージデジタル回路網の電気的な表現を、シミュレ
ーション、プロトタイピング、実行及び/又は演算のた
めの相互接続されたロジック素子を用い、一時的に実際
動作するハードウエアの構成に変換する方法にも関する
ものである。
【0002】
【発明の背景及び概要】説明の便宜上、本出願では、リ
アライザシステム(Realizer System)として本発明を
説明する。辞書には、後述するシステムの簡単な説明的
名称が欠けている。リアライザシステムは、ハードウエ
アとソフトウエアとを具えており、シミュレーション、
プロトタイピング、実行又は演算のために、ラージデジ
タルロジック回路網の表現を、一時的に実際動作するハ
ードウエアの構成に変換する。(数個の最も広く利用す
ることのできる構成可能なロジックデバイスを用いるこ
とによって、極めて多くのロジック機能を具えている場
合、デジタルロジック回路網をラージとみなすこととし
ている。)(専らではなく)一般的に用いられている適
切な用語を簡単に再検討することで、以下の説明を、よ
り理解し易いものとすることができる。何かを“実現す
る”とは、それを実際又は現実のものとすることであ
る。デジタルロジック回路網又は設計の全体又は一部を
実現するということは、それを永久的に組み立てること
なく、実際の動作を構成することである。“入力設計
部”とは、実現されるべきデジタルロジック回路網を表
している。この入力設計部は、計測デバイス又はユーザ
指定実デバイスと同様に、組合せロジック及び記憶を表
している基本要素と、基本要素の入出力ピン間の接続を
表現している回路網とを具えている。ロジックチップ又
は相互接続チップを“構成”するとは、その内部ロジッ
ク機能及び/又は相互接続を特定の方法で配置すること
である。入力設計部のためのリアライザシステムを構成
するとは、その内部ロジック機能及び相互接続を、入力
設計部に応じて配置することをいう。設計を“変換”す
るとは、その表現を構成データのファイルに変換するこ
とであり、これをリアライザハードウエアに直接用いる
と、設計部を実現することができる。設計部を“作動”
させるとは、入力設計部の表現に応じて構成されたリア
ライザハードウエアを実際に作動させることである。
“相互接続”とは、ピンがワイヤで相互接続されている
かのように、多数のチップI/Oピン間にロジック信号
を通過させるための再構成可能な手段である。“パス”
とは、部分的にクロスバー相互接続におけるロジックチ
ップとクロスバーチップとの間の又は部分的クロスバー
の階層におけるクロスバーチップ間の組込相互接続ワイ
ヤの中の一つをいう。“パスナンバ”は、一対のチップ
を相互に接続している多くのパスの中から特定のパスを
特定するものである。“ERCGA”とは、電気的に再
構成可能なゲートアレイ、すなわち組合せロジックの捕
捉及び入力/出力接続(及び付加的な記憶装置)のこと
であり、その機能及び相互接続は、単に電気信号を供給
することにより何回にも亘って構成及び再構成される。
“ロジックチップ”とは、リアライザシステムにおける
入力設計部の組合せロジックと、記憶装置と、相互接続
とを実現するのに用いられるERCGAである。“Lチ
ップ”とは、ロジックチップ、又はロジックチップの場
所に取り付けられるメモリモジュール、又はユーザ指定
のデバイスモジュールである。“相互接続チップ”と
は、I/Oピン間の任意の相互接続を実行することので
きる電気的に再構成可能なデバイスである。“ルーティ
ングチップ”とは、直接相互接続、又はチャンネルルー
ティング相互接続に用いられる相互接続チップのことで
ある。“クロスバーチップ”とは、クロスバー相互接続
又は部分的クロスバー相互接続に用いられる相互接続チ
ップである。“Xチップ”とは、Lチップを相互に接続
する部分的クロスバー中のクロスバーチップである。
“Yチップ”とは、階層部分的クロスバー相互接続の第
2レベルにおけるクロスバーチップであり、Xチップを
相互に接続している。“Zチップ”とは、階層部分的ク
ロスバー相互接続の第3レベルにおけるクロスバーチッ
プであり、Yチップを相互に接続している。“ロジック
ボード”とは、ロジックを伝達するプリント回路ボード
及び相互接続チップである。“ボックス”とは、1以上
のロジックボードを具えているカードケージのような物
理的格納装置である。“ラック”とは、1以上のボック
スを具えている物理的格納装置である。“システムレベ
ル相互接続”とは、個々のチップより大きなデバイスを
相互接続することであり、ロジックボード、ボックス、
ラック等である。“ロジックセルアレイ”又は“LC
A”とは、ERCGAの特定の例であり、Xilink Inc.
その他で製造され、好適な例に用いられるものである。
“構成可能なロジックブロック”又は“CLB”は、構
成可能なロジックの小さなブロック及びフリップフロッ
プであり、LCAにおける組合せロジック及び記憶を表
している。“設計メモリ”とは、入力設計部において特
定されるメモリ機能を実現するメモリデバイスである。
“ベクトルメモリ”とは、多くの刺激信号をリアライザ
システムに供給及び/又はリアライザシステムにおいて
実現される設計部からの多くの応答信号を捕捉するのに
用いられるメモリデバイスである。“スティミュレータ
(stimulator)”とは、刺激信号を実現された設計部の
個々の入力端子に供給するのに用いられるリアライザシ
ステム中のデバイスである。“サンプラ”とは、実現さ
れた設計部の個々の出力端子からの応答信号を捕捉する
のに用いられるリアライザシステム中のデバイスであ
る。“ホストコンピュータ”とは、リアライザシステム
のホストインターフェイスハードウエアが接続されてい
る慣用のコンピュータシステムであって、リアライザの
ハードウエアの構成及び動作を制御するものである。
“EDAシステム”とは、電気自動設計システム、すな
わち電気設計部を作成、編集、及び分析するのに用いら
れるコンピュータベースのツールに関するシステムであ
る。ホストEDAシステムとは、リアライザシステムを
応用する多くの場合において、入力設計ファイルを発生
させるものである。
【0003】シングルラージ設計部を保持するのに十分
な容量を有する再構成可能なゲートアレイを用いれば、
リアライザ技術の多くは不要である。しかしながら、2
つの理由からこのことは決して実現することができな
い。まず第1に、ERCGAのロジック容量は、同じ製
造技術を用いて製造された物理的に同一のサイズの再構
成不可能な集積回路と同じではない。再構成のための機
能は、チップのかなりのスペースをとる。ERCGA
は、信号を導くスイッチングトランジスタと、これらの
スイッチを制御するための記憶トランジスタとを有して
おり、ここで、再構成不可能なチップは金属トレースを
具えている。そして、ERCGAは、これらのトランジ
スタをロジックとして用いることができる。再構成可能
なチップに必要とされる規則性は、リソースが実際の設
計では用いられていないということである。その理由
は、規則的なロジック構造の配置及びルーティングが、
利用可能なゲートを100%用いることができないから
である。ERCGAを製作するためのこれらの計数の結
合は、再構成することのできないチップのロジック容量
の約1/10である。目下のところ、実際の実行では、
ERCGAに要求される最大ゲート容量は9,000ゲ
ートである(Xilinx XC 3090)。同様の技術を用いて
製造された、現在ほぼ慣用となっている集積回路では、
100,000ゲートロジック容量以上が与えられる
(モトローラ)。第2に、通常10〜100或いはそれ
以上の多くの集積回路を用いて、多くのプリント回路ボ
ード上にリアルデジタルシステムを設けることはよく知
られていることである。ERCGAのロジック容量が、
大規模集積回路と同等である場合であっても、ほとんど
のデジタルシステムを実現するのに、依然としてこのよ
うなチップを多く用いることとなる。しかし、ERCG
Aのロジック容量は、大規模集積回路と同等ではないた
め、更に多くのチップが必要となる。最終的に、リアラ
イザシステムがシングル大規模チップのロジック容量を
有するためには、リアライザシステムが10のオーダの
ERCGAを有している必要がある。このリアライザシ
ステムが、このようなチップの容量を有しているために
は、100個のオーダのERCGAが必要とされる。こ
のことは、特殊な製造技術とは無関係に必要とされるこ
とに注意しなければならない。チップ当たりのトランジ
スタの数を2倍にすることによる製造工程によって、E
RCGAの能力を2倍にすると、再構成不可能なチップ
の容量は2倍となり、従って、設計サイズ全体も同様に
2倍となる。
【0004】これらの理由によって、有効なリアライザ
システムを開発するためには、電気的に再構成可能な方
法で、数百個のERCGAを相互接続できるようにする
とともに、設計を数百個のERCGAの構成に変換でき
るようにする必要がある。本発明は、ERCGAそれ自
体の技術にまで及ぶものではなく、多くのERCGAか
らリアライザシステムを開発するための技術にのみ関す
るものである。ERCGA技術は、いかにしてリアライ
ザシステムを開発するかを示してはいない。その理由
は、それが別の問題だからである。一つのICチップの
全体を構成している再構成可能な相互接続ロジック素子
のためのERCGA技術は、多くを相互接続するのに適
用できない。いずれか一方の方向に信号を通すスイッチ
ングトランジスタによって、ERCGA相互接続を容易
に達成することができる。一つのチップ全体に亘って障
壁が存在しないので、相互接続に利用する多数の通路が
存在する。チップが小さいので信号のディレイも小さ
い。多くのERCGAを相互接続するのはむずかしい。
その理由は、ICパッケージピン及びプリント回路ボー
ドを伴っているからである。利用することのできるピン
の数が制限されているということは、相互接続のための
通路の数が制限されているということである。チップの
信号の入出力は、(例えば増幅しながら)アクティブピ
ンバッファを介して行われなければならない。アクティ
ブピンバッファは、一方向にのみ信号を送ることができ
る。これらのバッファ及び回路基板はトレースによっ
て、一つのチップによって生ずるディレイよりも大きな
ディレイが生ずるリアライザシステムの相互接続技術に
よって、ERCGAとは全く別の方法で、これらの問題
を解決する。最終的に、ERCGA技術では、設計を多
くのチップの構成に変換する必要はない。リアライザシ
ステムの相互接続は、ERCGA内の相互接続とは全く
異なるものであり、相互接続を決定及び構成する全く別
の方法が必要とされる。所定の時間に利用することので
きる迅速且つ緻密なシリコン技術を用いて、ERCGA
を開発する。(1ミクロンSRAM技術を用いて、1989
Xilinx XC3000 LCAを開発する。)これは、実現
される迅速且つ緻密なシステムと同一の技術である。E
RCGAは汎用のものであり、再構成可能な相互接続を
具えているので、現行のゲートアレイや慣用のチップほ
ど緻密ではないファクタを具えている。リアライザシス
テムは、ERCGAのレベルより高い汎用性及び再構成
可能性に対するサポートを反復する。従って、リアライ
ザシステムは、現行の緻密なシステム程緻密ではなく、
常に概略的には、1のオーダの一定のファクタとなって
いる。ボードレベルのリアライザシステムは、ゲートア
レイを実現し、ボックスレベルのリアライザシステム
は、ボード及び大規模慣用チップを実現する。更に、ラ
ックレベルのリアライザシステムは、ボックスを実現す
る。設計構造は、パッケージングの影響を強く受ける。
I/Oピン幅:VLSIチップレベルでは、100個の
I/Oピンは容易に開発でき、200ピンは開発が困難
であるが、用いないこともなく、400ピンに関して
は、ほとんど開発されていない。ボードレベルでは、こ
れらの数字は概して2倍となっている。ロジック密度:
ボードが、しばしば5個のVLSIチップを具えてお
り、10個のVLSIを具えることも可能であるも、2
0個のVLSIを具えることは一般的ではない。単にそ
の理由は、実際のボードの最大値が約200平方インチ
に制限されているからである。ボックスは、通常10〜
20ボードを具えており、時には40ボードを具えてい
る。相互接続密度:2次元ワイヤの平面を数枚用いるこ
とができる場合、モジュールは、完全にチップ及びボー
ド上で相互接続される。しかし、背面が本質的に一次元
的な場合には、ボックスレベルにおいて、それほど完全
に相互接続されているわけではない。これらパッケージ
ングの制約は、有用なリアライザシステムにおいて見ら
れるシステム構造にかなり影響を及ぼす。リアライザシ
ステムでは低密度であるがために、実現される設計部で
は、単一のロジックチップは、通常、唯一のモジュール
を構成する。一つのボードにおけるロジックチップの複
合体によって、1つ又は2つのVLSIチップを実現す
る。リアライザボードのボックスは、設計部において、
単一のボードを実現する。更に、ボックスのラックは、
設計部のボードのボックスを実現する。従って、リアラ
イザシステムのボードレベルのロジック及び相互接続の
複合体は、設計部のVLSIチップと同じロジック・相
互接続容量並びにI/Oピン幅を有している必要があ
る。リアライザシステムのボックスは、設計部のボード
と同じロジック・相互接続容量及びI/Oピン幅を必要
とし、リアライザシステムのラックは、設計部のボック
スと同じロジック・相互接続容量を必要としている。
【0005】
【発明の実施の形態】内容一覧表 1.リアライザハードウエアシステム 1.1 ロジック及び相互接続チップ技術 1.2 相互接続アーキテクチャ 1.2.1 最も近い隣接相互接続 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.好適例 4.1 ハードウエア 4.2 ソフトウエア
【0006】1.リアライザハードウエアシステム リアライザハードウエアシステム(図1)は: 1)1)少なくとも二つのロジックチップ(通常、数十
個又は数百個)及び2)付加的に、メモリモジュール、
ユーザ指定のデバイスモジュールのような、1以上の特
定目的のための構成要素を具えている1セットのLチッ
プを、 2)I/Oピンを相互接続可能なすべてのLチップに接
続されている構成可能な相互接続と、 3)ホストコンピュータ、構成システム及びデータ入出
力又は制御のためのホストが使用することのできるすべ
てのデバイスに接続されたホストインタフェースと、 4)ホストインタフェース、すべての構成可能なLチッ
プ及び相互接続デバイスに接続された構成システム とを具えている。このハードウエアを、通常、ロジック
ボード、ボックス及びラックの形態で実装し、ホストコ
ンピュータに接続する。このハードウエアは、ホストコ
ンピュータの制御の下で作動する。
【0007】1.1 ロジック及び相互接続チップ技術 1.1.1 ロジックチップデバイス デバイスが、リアライザロジックチップとして役立つた
めには、このデバイスが電気的に再構成可能なゲートア
レイ(ERCGA)でなければならない: 1)デバイスは、容量制限を条件として、組合せロジッ
ク(及び付加的な記憶装置)を具えているデジタルロジ
ック回路によって構成することができなければならな
い。 2)デバイスは、その機能及び内部相互接続を、電気的
に何回でも、種々の論理回路に適合するように構成する
ことができるという点において、電気的に再構成可能で
なければならない。 3)デバイスは、特定の回路網又は特定するI/Oピン
とは無関係に、デジタル回路網でI/Oピンを自由に接
続し、リアライザシステムの部分クロスバー、又は直接
相互接続が首尾よくロジックチップを相互接続できなけ
ればならない。ロジックチップとして好適な、再構成可
能なロジックチップの一例としては、ロジックセルアレ
イ(Logic Cell Array(LCA))がある(“The Pr
ogrammable Gate Array Handbook”,Xilinx Inc.,San J
ose,CA,1989)。このロジックチップは、Xilinx Inc.そ
の他で製造されている。このチップは、構成可能なロジ
ックブロック(Cnofigurable Logic Block(CL
B))の2次元配列を具えている。この2次元配列は、
再構成可能なI/Oブロック(IOB)で囲まれている
とともに、CLBとIOBとの間の行と列とに配置され
たセグメントを配線することによって相互接続されてい
る。各CLBは、数個の入力端子と、ロジック機能を再
構成することのできる多重入力組合せロジック回路網
と、1以上のフリップフロップと、CLB内の再構成可
能な相互接続によって連結することができる1以上の出
力端子とを具えている。各IOBを再構成し、チップの
入力バッファ又は出力バッファとすることができる。更
に、各IOBを外部I/Oピンに接続する。配線したセ
グメントをCLB、IOB及び、お互いに接続すること
によって、再構成可能なパストランジスタ及び相互接続
マトリックスを介し、CLB、IOB及びセグメント間
に、相互接続を形成する。すべての再構成可能な機能
を、チップのシリアルシフトレジスタにおけるビットで
制御する。従って、LCAは“構成ビットパターン”の
シフトによって完全に構成される。構成に要する時間は
10〜100マイクロ秒である。Xilinx 2000及び3000
シリーズのLCAは、64〜320のCLBを具えてお
り、56〜144のIOBを使用することができる。L
CAネットリスト(netlist)変換ツール(以下にて示
す)は、ロジックをCLBに作成し、CLBとIOBと
の間の相互接続を最適にしている。CLBとI/Oピン
との間の相互接続を構成することによって、LCAは、
特定の回路網又は特定するI/Oピンとは無関係に、デ
ジタル回路網でI/Oピンを自由に接続することができ
る。リアライザシステムを好適に具体化するには、LC
Aデバイスをそのロジックチップとして用いる。ロジッ
クチップとして好適な他の種類のアレイとしては、ER
A、すなわち電気的に再構成可能なアレイがある。市販
されているものとしてはplesseyのERA60Kのタイプのデ
バイスがある。これは、構成ビットパターンを部分的に
RAMにロードすることで構成される。ERAを2入力
NANDゲートのアレイとして構成する。RAMの値に
応じて、2入力NANDゲートの各々を独立に互いに相
互接続する。ERAは、ゲート入力端子の一連の相互接
続通路への接続を切換える。ERA 60100は、約10,0
00個のNANDゲートを具えている。アレイの周辺の
I/Oセルは、ゲート入力端子及び/又は出力端子を外
部I/Oピンに接続するのに用いられる。ERAネット
リスト変換ツールは、ロジックをゲートに作成し、ゲー
ト間の相互接続を最適にするとともに、以下に示すよう
に、構成ビットパターンファイルを出力する。ゲートと
I/Oセル間の相互接続を構成可能にすることによっ
て、ERAは、特定の回路網又は特定するI/Oピンと
は無関係にデジタル回路網を用いてI/Oピンを自由に
接続することができる。ロジックチップとして用いるこ
とのできる、更に他の種類の再構成可能なロジックチッ
プとしては、EEPLD、すなわち、電気的に消去可能
で、プログラム可能なロジックデバイス(“GAL Handbo
ok”,Lattice Semiconductor Corp., Portland, OR,19
86)がある。商用のものとしては、ラティス・ジェネリ
ック・アレイ・ロジック(Lattice Generic Array
Logic(GAL))がある。これは、ビットパターン
を、ロジック構成の部分にロードすることで構成され
る。GALは、出力フリップフロップを有する、積の和
のアレイとして構成されており、その構成は、Xilinx
LCAよりも汎用性を有していない。GALによって、
I/Oピンを、すべての入力ピン間及びすべての出力ピ
ン間のロジックに接続せずにすみ、部分的に要件を満足
している。GALは、10〜20個のピンを有してお
り、比較的小さな構造となっている。しかし、GALは
リアライザロジックチップとして用いられる。プログラ
ム可能なロジックチップについての詳細は、米国特許第
4,642,487号、第4,700,187号、第4,7
96,216号、第4,722,084号、第4,724,
307号、第4,758,985号、第4,768,196
号及び第4,786,904号明細書において説明されて
いる。ここでは、これらの明細書の内容を説明に用いて
いる。
【0008】1.1.2 相互接続チップデバイス 相互接続チップは、クロスバー相互接続の全体及び一部
に用いるクロスバーチップと、直接相互接続及びチャン
ネルルーティング相互接続に用いるルーティングチップ
とを具えている。デバイスが、リアライザ相互接続チッ
プとして役立つためには: 1)デバイスは、直ちに、任意に選択されたI/Oピン
のグループ間で多くのロジック相互接続を形成し、各相
互接続は、その入力I/Oピンからロジック信号を受信
するとともに、これらの信号を出力I/Oピンに供給で
きなければならない。 2)デバイスは、その相互接続を電気的に規定するとい
う点において、再構成可能でなければならず、多くの種
々の設計に適合できるように再規定できなければならな
い。 3)クロスバー加算技術を用いて、部分的クロスバー相
互接続におけるトライステート回路網を相互接続する場
合、デバイスは、加算ゲートを具体化できなければなら
ない。(クロスバー加算技術を用いない場合には、トラ
イステート・セクションにて説明するように、他のトラ
イステート技術を用いる。) 上述したERCGAデバイス、すなわち、LCA、ER
A及びEEPLDは、これらの要件を満足しており、相
互接続チップとして用いられる。相互接続チップにロジ
ックをほとんど或いは全く用いない場合、ほとんどのデ
ジタル回路網を構成することのできる機能は、データを
直接入力ピンから出力ピンへと送ることができる。LC
Aは、リアライザシステムを好適に具体化する際、クロ
スバーチップとして用いられる。TI 74AS 8840デジタ
ルクロスバースイッチ(SN 74 AS 8840 Data Sheet,Tex
as Instruments, Dallas, TX, 1987)、すなわち、通常
電話スイッチに用いられる交差点スイッチデバイスを、
相互接続チップとして用いることができる。ところで、
これらのクロスバースイッチデバイスを、作動中、動的
に変化する構成に応用する場合、データ伝送スピードに
匹敵する再構成スピードが得られる。この再構成スピー
ドは、ERCGAデバイスの構成スピードよりも速い。
この結果、このようなクロスバースイッチデバイスは、
ERCGAよりも高価且つ低容量であり、あまり望まし
くないリアライザ相互接続チップを作成することとなっ
てしまう。
【0009】1.1.3 ERCGA構成ソフトウエア 構成ビットパターンは、ユーザ指定に従ってERCGA
にロードされ、そのロジックを構成する。ユーザが単独
でロジックを構成するのは非現実的である。従って通常
ERCGA装置を製造することによって、ネットリスト
変換ソフトウエアツールが得られる。このツールは、ネ
ットリストファイルに具わっているロジック仕様を、構
成ビットパターンファイルに変換する。リアライザ設計
変換システムは、ERCGAのコンピュータメーカによ
って提供されるネットリスト変換ツールを用いている。
リアライザ設計変換システムが、設計部において、ネッ
トリスト変換ツールを読出して変換し、ロジックチップ
に分割し、さらに相互接続を決定すると、各ロジックに
対するネットリスト及びリアライザハードウエアにおけ
る相互接続チップを発生させる。ネットリストファイル
とは、すべての基本要素(ゲート・フリップフロップ及
びI/Oバッファ)及び、単一ロジックチップ又は相互
接続チップで構成されるこれらの相互接続のリストのこ
とである。リアライザ設計変換システムは、ERCGA
ネットリスト変換ツールを各ネットリストファイルに供
給し、各チップの構成ファイルを得る。ロジックチップ
及び相互接続チップとして種々のデバイスを用いる場合
には、適切なツールを用いる。構成ファイルは、2進ビ
ットパターンを具え、これはERCGAデバイスにロー
ドされると、ネットリストファイルの仕様に応じてファ
イルを構成する。ERCGAデバイスは、これらのファ
イルを、永久に記憶され且つ作動前に設計部のリアライ
ザシステムを構成するのに用いられる単一バイナリーフ
ァイルに収集する。リアライザ設計変換システムは、ツ
ールのERCGAコンピュータメーカによって規定され
るネットリスト及び構成ファイルフォーマットに準拠し
ている。
【0010】1.1.4 ネットリスト変換ツール リアライザシステムを好適に具現化するために、ロジッ
クチップ及びクロスバーチップとしてLCAを用いてい
るので、Xilinx LCAネットリスト変換ツール及びそ
のファイルフォーマットをここで説明する。Xilinx製の
LCAネットリスト変換ツール(XACT)によって、
ネットリスト形式のロジック回路網が与えられるととも
に、自動的にロジック素子がCLBに作成される。I/
Oピンの位置に関し、最適の方法でロジック素子を構成
し、内部相互接続を容易にすることができる。従って、
このツールは、いかにしてロジックチップの内部相互接
続を構成するかを解明し、その出力結果としての構成フ
ァイルを作成する。LCAネットリスト変換ツールは、
単に個々のLCAを変換するだけであって、ロジック回
路網が大き過ぎて単一のLCAに適合できない場合には
障害が生じる。Xilinx LCAネットリストファイルを
XNFファイルと称する。これはアスキーテキストファ
イルであり、各々の基本要素に対する1セットのXNF
ファイル中のステートメントを具え、基本要素、ピン及
びこれらのピンに接続される回路網の名称を特定する。
これらの回路網は、LCAネットリスト中で相互接続さ
れており、入力設計部の回路網ではなく、LCA基本要
素を接続している。XNFファイル中のいくつかのファ
イルは、設計変換の結果、入力設計部の回路網に直接対
応しているが、他のファイルは対応していない。例え
ば、これらは‘I 1781‘と称する、2入力XOR
ゲートを特定するためのXNFファイル基本要素ステー
トメントであり、前記2入力XORゲートの入力ピン
を、‘DATA0’及び‘INVERT’と称する回路
網に接続し、その出力ピンを、‘RESULT’と称す
る回路網に接続している: SYM,I 1781,XOR PIN,O,O,RESULT PIN,1,I,DATA0 PIN,0,I,INVERT END 入力及び出力I/Oピンバッファ(入力のためのIBU
F及び出力のためのOBUF)は、I/Oピンを特定す
るためのステートメントを付加することで、同様にして
特定される。これらは、OBUFに対する基本的なステ
ートメントであり、これによって、‘RESULT’を
‘RESULT_D’と称する回路網を介してI/Oピ
ン‘P57’において駆動させる: SYM,IA_1266,OBUF PIN,O,O,RESULT_D PIN,I,I,RESULT END EXT,RESULT_D,O,LOC=P57 Xilinx LCAを、RBTファイルと称する。これは、
アスキーテキストファイルであり、構成される部分を識
別するヘッダステートメントと、動作のための部分を構
成するのに用いられるバイナリービットパターンを特定
する‘0’及び‘1’のストリームとを具えている。
【0011】1.2 相互接続アーキテクチャ 実際の場合、大規模入力設計部を実現するためには、多
くのロジックチップを使用しなければならないため、リ
アライザのロジックチップを再構成可能な相互接続に接
続しなければならない。この相互接続によって、必要と
されているように、設計部中の信号が、分離ロジックチ
ップ間を流れる。この相互接続は、電気的相互接続及び
/又は相互接続チップの結合を具えている。リアライザ
システムにおいて大規模設計部を実現するためには、ト
ータルで幾万ものI/Oピンを有するロジックチップが
相互接続によって供給されなければならない。相互接続
は、システムサイズが大きくなるにつれて経済的に拡張
可能であり且つ容易なものであるとともに、入力設計部
を幅広く確実に構成することができ、更に高速であり、
ロジックチップ間の遅延を最小にすることができる。現
実の設計部における回路網単位のピンの平均数は、設計
部のサイズとは無関係な小さな数であるため、接続する
ロジックチップのトータル数が増加するにつれて、優れ
た相互接続のサイズ及びコストも直接的に増加するはず
である。設計部の容量が増大するにつれて、用いる特定
ロジックチップ容量、ロジックチップの数及びロジック
チップピンの数も直接的に増大する。従って、設計部の
容量とともに、優れた相互接続のサイズ及びコストも直
接的に変化する。2クラスの相互接続構造を説明する:
隣接相互接続を第1セクションで説明し、クロスバー相
互接続を次のセクションで説明する。最も近い隣接相互
接続は、ロジックチップと、2次元、3次元又はそれ以
上の次元の面に従って、混合及び構成された相互接続と
によって構成される。最も近い隣接相互接続では、ゲー
トアレイチップの行列編成又はプリント回路基板をロジ
ックチップの編成にまで拡張している。所定の入力設計
部の構成は、チップ及びボードを開発する場合に用いら
れるのと同様の配置及びルーティングプロセスによって
決定される。クロスバー相互接続は、相互接続されてい
るロジックチップとは異なる。クロスバー相互接続は、
伝送及び演算に用いられるクロスバーの多入力多出力編
成に基づくものであり、平面的に構成することができ
る。最も近い隣接相互接続は、ロジック容量が大きくな
るにつれて大きくなるが、ルーティング通路が密集する
につれて大規模相互接続はゆっくりとなり、また、構成
を決定することが困難且つ不確実なものとなる。単なる
クロスバーは、その直接性のために極めて高速であり、
その規則性のために構成が容易であるが、すぐに非実用
的な大きさとなってしまう。部分的なクロスバー相互接
続は、ほとんどの直接性と、単なるクロスバーの規則性
とを保持するが、設計部容量の増大とともにのみ直接的
に増大し、理想リアライザ相互接続を実現している。実
際のリアライザシステムでは、図示した以外の相互接続
を用いることはできるが、部分的クロスバーを好適な具
体例に用いる。この使用は、この明細書全体を通して類
推される。
【0012】1.2.1 最も近い隣接相互接続 1.2.1.1 直接相互接続 直接相互接続では、相互接続チップを用いずして、直接
すべてのロジックチップを、規則的なアレイにおいて相
互に接続する。この相互接続は、単にロジックチップ間
の電気的接続から成っている。ロジックチップの相互接
続は、多くの異なるパターンを形成することができる。
一般的に、一つのロジックチップのピンをグループ毎に
分割する。従って、すべてのロジックチップにおいて各
ピンのグループを、他のロジックチップの同様なピンの
グループ等に接続する。各ロジックチップは、単に一組
のすべてのロジックチップ、すなわち、物理的な意味に
おいて、つまり、少なくともアレイの接続形態という意
味において、最も近い隣接ロジックチップとだけ接続す
る。1以上のロジックチップにロジックを接続するすべ
ての入力設計部回路網を、相互接続チップとしての機能
を果たす他のロジックチップに、これらのロジックチッ
プを直接接続する場合には直接接続し、又は、一連の他
のロジックチップを介して接続し、チップの実現するロ
ジックのいずれかに接続することなしに、ロジック信号
を一方のI/Oピンから他方のI/Oピンへ伝達する。
このようにして、いかなる所定のロジックチップも、設
計部ロジックの共有に加えて、一方のチップから他方の
チップへ相互接続信号を伝達するように構成されてい
る。相互接続機能を実行することのできない非ロジック
チップリソースを、アレイの周辺で、専用ロジックチッ
プピンに接続又は、ロジックピンを相互に接続している
ピンに正接させ接続している。図2に示す特定の例で
は、行及び列の2次元格子中に配置されたロジックチッ
プを具えており、その各々のチップは、メモリを有する
隣接ロジックチップに北側、南側、東側及び西側で接続
されている4つのピンのグループと、I/Oと、周辺で
接続されたユーザ指定のデバイスとを具えている。この
相互接続を、ここで説明した2次元のものから、より高
次元のものへと拡張することができる。一般的に、
‘n’を次元の数とする場合、各々のロジックチップの
ピンを、2*n個のグループに分割する。各々のロジッ
クチップは、規則的な形態で、2*n個の他のロジック
チップと接続している。他の変更も同様であるが、ピン
のグループの大きさは等しくない。ロジックチップの数
及び各々のピンの数に基づき、ピングループサイズの寸
法及びセットを選択し、2のロジックチップ間に介在す
るロジックチップの数を最小にするとともに、各々直接
隣接しているチップ対の間を充分に相互接続し、回路網
がこれら二つのチップだけにつながるようにしている。
相互接続のためのロジックチップをいかに構成するかを
決定するには、ロジックのためのチップをいかに構成す
るかを決定しなければならない。ロジックチップを構成
するためには: 1)基本要素変換のセクションで述べたように、設計部
のロジックをロジックチップの基本要素形態に変換す
る。 2)ロジックチップにおけるロジック基本要素を、区分
化及び配置する。ロジックチップのロジック容量内に各
々適合しているサブ回路網に、設計部を区分化すること
に加えて、サブ回路網をお互いに対して配置し、必要と
される相互接続の量を最小とする。ゲートアレイ又は標
準セルチップ自動区分化及び配置ツール(“Gate Stati
on Reference Manual”,Mentor Graphics Corp,1987)
において用いられているような、標準区分化及び配置ツ
ール方法を用いて、いかにしてロジック基本要素をロジ
ックチップに割り当てるかを決定し、相互接続を達成す
る。このことは、定評のある方法であり、ここでは、こ
れ以上の説明を省略する。 3)ロジックチップ間の相互接続を配線する。すなわち
ロジックチップの中から特定のロジックチップ及びI/
Oピン相互接続を選定し、ゲートアレイ又は標準セルチ
ップ自動ルーティングツール(“Gate Station Referen
ce”Manual",Mentor Graphics Corp., 1987 )のような
標準ルーティングツールを用い、いかにしてチップを構
成するかを決定し、相互接続を達成する。これは定評の
ある方法であるため、いかにしてこの方法を相互接続の
問題に適用するかを除き、ここではこれ以上の説明を省
略する。ロジックチップのアレイを、シングルラージゲ
ートアレイ又は標準セルチップと同じ方法で取り扱う。
各々区分化されたロジックサブネットワークは、大規模
ゲートアレイロジックマクロに対応しており、相互接続
されたロジックチップI/Oピンは、ルーティングに用
いる配線チャンネルを規定している。特に、各々のルー
ティング方向には、相互接続されたロジックチップI/
Oピンの各グループ毎のピンと同数のチャンネルを具え
ている。ロジックチップ間では多くの相互接続が可能で
あるので、多くのルーティング層によって、ゲートアレ
イのチャンネル制約を取り除くのと同様の方法を用い
て、ルーティングを制約することなく、各末端部におい
て同じチャンネルを用いる。 4)ルーティングの過剰(ルーティング処理の間或るポ
イントにおいてチャンネルをルーティングすることがで
きない場合)のために相互接続を行うことが不可能な場
合、調整された基準を用いて、設計部を再区分化及び/
又は再配置し、過剰を除去し、再び相互接続を試みる。 5)どの回路網がどのチャンネルを使用するかについて
の仕様を、特定のルーティングチャンネルとI/Oピン
との間の対応に応じて、個々のロジックチップに対する
ネットリスト及び、ロジックチップ信号に対する特定ピ
ンの役割に変換する。ロジック基本要素の仕様ととも
に、I/Oピン仕様及びロジックチップ内部相互接続の
形態の仕様を、各ロジックチップ毎のネットリストファ
イルに送出する。 6)ロジックチップネットリスト変換ツールを用い、各
ロジックチップ毎の構成ファイルを発生させるととも
に、これらを組合せ、入力設計のための最終的なリアラ
イザ構成ファイルを作成する。
【0013】1.2.1.2 チャンネルルーティング相
互接続 チャンネルルーティング相互接続は、直接相互接続の変
形である。この場合、チップは、ロジックとしては用い
られず単に相互接続を行う相互接続チップと、専らロジ
ックとして用いられるロジックチップとに分割される。
特に、ロジックチップは、お互いを直接接続するのでは
なく、その代わりに、ただ単に相互接続チップを接続す
るだけである。その他すべての点において、チャンネル
ルーティング相互接続は、直接相互接続方法に従って作
成されている。1以上のロジックチップ及び回路網は、
ルーティングチップと称する一連の相互接続チップを構
成することによって相互接続する。ルーティングチップ
は、これらのロジックチップを接続させるとともに、お
互いを接続させ、ロジックチップI/Oピン間にロジッ
ク的接続が確立される。このことは、構成可能な‘回路
基板’に用いられる。チャンネルルーティング相互接続
を、一例として2次元としている:すなわち、図3に示
されているように、ロジックチップは、行及び列の形態
で配置されており、その周囲はルーティングチップによ
って完全に囲まれている。アレイを、全てがルーティン
グチップで構成されている行と、ロジックチップ及びル
ーティングチップで交互に構成されている行とで交互に
構成する。このようにして、ロジックチップの周囲に
は、行方向及び列方向に、切目なくルーティングチップ
が配置されている。各チップのピンを4つのグループ、
すなわち、“北側、東側、南側、西側”と称する4つの
エッジに分割する。各々のチップのピンを、4つの最も
近い隣接チップに格子状に接続する。:すなわち、北側
のピンを北側に隣接するチップの南側ピンと接続し、東
側ピンを東側に隣接するチップの西側ピンに接続する。
以下同様である。このモデルは、上記例の2次元より大
きな次元にまで拡張することができる。一般的には、
‘n’を次元の数とする場合、各ロジックチップのピン
は、2*n個のグループに分割される。各ロジックチッ
プは2*n個の隣接チップに接続している。アレイの中
心においては各々のロジックチップに対して(2**n
−1)個のルーティングチップが存在する。ロジックチ
ップとルーティングチップとの特徴に基づき、このチャ
ンネルルーティングモデルの一般化を同様にして用い
る。ロジックチップのピンを数個のグループに分けるこ
とができる。ルーティングチップのピンも数個のグルー
プに分けることができる。但し、ルーティングチップの
ピンのグループ数が、ロジックチップのピンの数と同じ
である必要はない。ロジックチップとルーティングチッ
プとは、同数のピンを具えている必要はない。ロジック
チップとルーティングチップとの規則的なアレイであ
り、且ついかなる所定のロジックチップであっても、そ
れが最も近い隣接チップの限定セットとだけ接続されて
いる限り、これらの変形が適用される。ロジックチップ
間の相互接続を、ロジックチップを介してではなく、相
互接続チップを介してのみ配線するということを除い
て、直接相互接続に用いると同様の方法を用い、ロジッ
クチップをいかに構成するかを決定するとともに、相互
接続チップをいかに構成するかを決定する。回路網のロ
ジック信号は、相互接続を完成させるのに必要なルーテ
ィングチップと同数のルーティングチップを介して流れ
る。各々のルーティングチップによって信号の伝搬が遅
れるので、信号が流れるルーティングチップが増えれば
増える程、相互接続を介しての信号伝搬遅れ時間は長く
なる。ルーティングの必要条件を最小とできるように、
ロジック設計部を区分化するとともに、それぞれの区分
を特定のロジックチップに配置するのが一般的には望ま
しい。ルーティングが過剰であり、相互接続を行うこと
ができない場合、調整された基準を用いて設計部を再区
分化及び/又は再配置し、再び相互接続を行う。このサ
イクルは、必要な限り繰り返される。
【0014】1.2.2 クロスバー相互接続 1.2.2.1 完全クロスバー相互接続 クロスバーとは、制約なくピンを他のピンと接続するこ
とのできる相互接続アークテクチャーである。これは、
コンピュータ及び通信デバイスのスイッチング回路網に
おいて、メッセージを通信するために広く用いられてい
る。完全なクロスバーとして構成される相互接続は、す
べてのロジックチップピンに接続するとともに、いかな
るピンの相互接続の組合せであっても構成可能な相互接
続によって、いかなる入力設計及びロジックチップ区分
化であっても、直接的に相互接続を達成することができ
る。その理由は、いかなるピンであっても、いかなる他
のピンに直接接続することができるからである。しか
し、多くのロジックチップを相互接続することのできる
実用的な単一デバイスは存在しない。例えば、好適例の
ロジックボードは、各々接続すべき128個のピンを有
するロジックチップを14個具えている。合計で179
2ピンとなり、実用的なシングルチップの容量をはるか
に超えている。実用的な相互接続チップ及びデバイスか
らクロスバーを構成することができる。これらを構成す
ることによって、I/Oピン間に任意の相互接続を実現
することができる。クロスバー相互接続の場合、これら
をクロスバーチップと称する。実用的なクロスバーチッ
プからクロスバー相互接続を構成する一般的な方法は、
一つのクロスバーチップを用いて、一つのロジックチッ
プピンをクロスバーチップが有するピンと同数の他のロ
ジックチップピンと相互接続する。図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個のクロスバーチップを用いる。入力設計に基づく
二つの回路網は、相互接続された状態を示している。回
路網Aは、ロジックチップ1のピンDによって駆動さ
れ、ロジックチップ4のピンBによって受信される。1
で示されているクロスバーチップは、これらのピンの両
方を接続しており、ロジックチップ1のピンDから受信
し、受信したものを、チップ4のピンBに伝達する。こ
のようにして、ロジック接続を構成する。回路網Bは、
ロジックチップ2のピンFによって駆動され、ロジック
チップ3のピンG及びロジックチップ4のピンGによっ
て受信される。クロスバーチップ2は第1相互接続を行
い、クロスバーチップ3は第2相互接続を行う。一般的
に、必要とされるクロスバーチップの数を予測すること
ができる。各々P1個のピンを有するL個のロジックチ
ップが存在し、且つ、1個のロジックチップピンをでき
る限り多くの他のロジックチップピンと各々接続できる
ようにしているクロスバーチップがPx個のピンを具え
ている場合: 1)ロジックチップ1の中の一つのピンを、2からLま
でのロジックチップの(L−1)P1個のピンに接続し
なければならない。これには、(L−1)P1/(Px
−1)個のクロスバーチップが必要とされる。すべての
ピンを接続するには、(L−1)P12/(Px−1)
個のクロスバーチップを必要とする。 2)ロジックチップ2の各々のピンを、3からLまでの
ロジックチップの(L−2)P1個のピンに接続しなけ
ればならない。これには、(L−2)P12/(Px−
1)個のクロスバーチップを必要とする。 3)ロジックチップL−1の各々のピンを、ロジックチ
ップLのP1個のピンに接続しなければならない。これ
には、P12/(Px−1)個のクロスバーチップを必
要とする。 4)X=(L−1)P12/(Px−1)+(L−2)P12/(Px−1)+… …+P12/(Px−1) =(L2−L)P12/2(Px−1) クロスバーチップの数Xは、ロジックチップの数の二乗
とロジックチップ毎のピンの数の二乗とをかけ算したも
のが増加するにつれて、増加する。好適実施例のロジッ
クボード(各々128個のピンを有する14個のロジッ
クチップ)は、各々129個のピンを有する11648
個のクロスバーチップ又は各々65個のピンを有する2
3296個のクロスバーチップを必要としている。クロ
スバー相互接続は、有用なリアライザシステムに用いる
には、大規模且つ高価なものであり、非実用的である。
【0015】1.2.2.2 完全クロスバー回路網相互
接続 相互接続すべき設計回路網の数がロジックチップピンの
合計数の1/2を決して超えることができないというこ
とを認識することによって、クロスバー相互接続の大き
さを小さくすることができる。クロスバー回路網相互接
続は、ロジック的には2つのクロスバーによって構成さ
れており、その各々は、すべてのロジックチップピンを
相互接続回路網(ICN)と称する1セットの接続回路
網に接続しており、ロジックチップピンの総数の1/2
に番号を付している。1セットのロジックチップピン
を、1セットのICNに接続するクロスバーチップが1
セットのICNから、これらのピンへ接続を戻すことも
できる(相互接続チップの一般性の撤回)ため、この相
互接続をクロスバーチップで構成することもできる。各
々のクロスバーチップは、1セットのロジックチップピ
ンを1セットのICNと接続している。図5は、図4に
て示したものと同一の4個のロジックチップを相互接続
した一例を示す図である。各々8個のピンを有するクロ
スバーチップを用い、16個のICNを設ける。32個
のクロスバーチップの各々は、4個のICNを用いて4
個のロジックチップピンを接続する。回路網Aを、クロ
スバーチップ1によって相互接続し、ロジックチップ1
のピンDから受信し、受信したものをICNに伝達する
ように構成する。また、回路網Aを、クロスバーチップ
2によって相互接続し、前記ICNから受信し、ロジッ
クチップ4のピンBを駆動する。このようにしてロジッ
ク接続を確立する。回路網Bは、ロジックチップ2のピ
ンFによって駆動され、クロスバーチップ4を介してロ
ジックチップ3のピンGで受信されるとともに、クロス
バーチップ5を介してロジックチップ4のピンGで受信
される。好適実施例のロジックボード(各々128個の
ピンを有する14個のロジックチップ)のクロスバー回
路網相互接続は、各々128個のピンを有する392個
のクロスバーチップ、又は各々64個のピンを有する1
568個のクロスバーチップを必要とする。クロスバー
回路網相互接続では、使用するクロスバーチップの数は
単なるクロスバーよりも少ない。クロスバー回路網相互
接続の大きさは、ロジックチップの数と、ロジックチッ
プピンの総数との積が増加するにつれて、大きくなる。
これは、ロジックチップ数の二乗に達する。これは、純
粋なクロスバーよりは優れているも、依然として望まれ
る直接スケーリングではない。
【0016】1.2.2.3 部分的クロスバー相互接続 ロジックチップそれ自体によって、クロスバーが開発で
きない付加的な自由度を提供することができる。その理
由は、ロジック回路網の所定の入力又は出力を、いかな
るI/Oピンをも用いることができるように構成するこ
とができるからである。すなわち、特定の回路網とは無
関係に構成するからである。この自由度によって部分的
クロスバー相互接続をすることができる。これが、自由
度をロジックチップの定義中に明示している理由であ
る。部分的クロスバー相互接続では、各ロジックチップ
を分割するのと同様にして、各ロジックチップのI/O
ピンを適切なサブセットに分割する。各クロスバーチッ
プのピンを、各ロジックチップの各々から同じピンのサ
ブセットに接続する。このようにして、クロスバーチッ
プ‘n’を、各ロジックチップのピンのサブセット
‘n’に接続する。サブセットと同数のクロスバーチッ
プを用いる。各々のクロスバーチップは、サブセットの
ピンの数とロジックチップの数とをかけ算した数と同数
のピンを有している。各ロジックチップ/クロスバーチ
ップ対を、各サブセット中のピンと同数のパスと称する
ワイヤで相互接続する。各クロスバーチップを各ロジッ
クチップのピンと同一のサブセットに接続しているた
め、一つのロジックチップのピンにおける一つのサブセ
ット中のI/Oピンから、もう一つのロジックチップの
ピンにおける別のサブセット中のI/Oピンへの相互接
続を構成することはできない。このことは、相互接続す
べき各々のロジックチップのピンの同一のサブセットか
ら、I/Oピンを用い、各々の回路網を相互接続し、適
宜にロジックチップを構成することによって避けられ
る。回路網に接続されるロジックチップ中に構成される
ロジックチップに割り当てることのできるいかなるI/
Oピンを用いても、ロジックチップを構成できるように
するため、一方のI/Oピンは、他方のI/Oピンと同
様のものである。一般的なパターンを図6に示す。この
図において、ロジックチップとクロスバーチップとを接
続している各々のラインは、ロジックチップピンのサブ
セットを示している。各クロスバーチップをすべてのロ
ジックチップのピンのサブセットに接続する。逆に言え
ば、このことは、各ロジックチップをすべてのクロスバ
ーチップのピンのサブセットに接続していることを示し
ている。これらの例では、クロスバーチップの数がロジ
ックチップの数と等しい必要はない。好適な実現例で
は、このようなことは言えない。図7は、図1及び図2
と同一の4個のロジックチップを相互接続している例を
示している。各々8個のピンを有する4個のクロスバー
チップを用いる。各クロスバーチップは、各ロジックチ
ップにおいて同一の2個のピンを接続している。クロス
バーチップ1をロジックチップ1〜4の各々のピンA及
びBに接続する。クロスバーチップ2をすべてのピンC
及びDに接続し、クロスバーチップ3をすべてのピンE
及びFに接続するとともに、クロスバーチップ4をすべ
てのピンG及びHに接続する。前記例の設計回路網Aで
は、ロジックチップ4のピンBにおいて受信が行われる
が、回路網Aをロジックチップ1のピンDにおけるドラ
イバに相互接続することのできるクロスバーチップは設
けられていない。いかなるI/Oピンであっても、回路
網Aを受信するロジックチップ4において構成されるロ
ジックに割り当てることができるので、ピンCはピンB
と同様であり、これを、他の回路網に用いることができ
る。結果的に、回路網Aは代わりにピンCによって受信
され、クロスバーチップ2を構成することで、相互接続
を達成する。設計回路網Bは、ロジックチップ3のピン
G及びロジックチップ4のピンGによって受信される
が、この回路網Bを、ロジックチップ2のピンFにおけ
るドライバと相互接続できるクロスバーチップは設けて
いない。回路網Bは、代わりにピンHによって駆動さ
れ、クロスバーチップ4を構成することで相互接続を達
成する。好適な実施例では、部分的クロスバー相互接続
を用いている。このロジックボードは、各々128個の
ピンを有する14個のロジックチップを具えており、各
々56個のピンを有する32個のクロスバーチップによ
って相互接続されている。ロジックチップピンを、各々
4個のピンを有する32個の適切なサブセットに分割す
るとともに、各クロスバーチップのピンを、各々4個の
ピンからなる14個のサブセットに分割する。クロスバ
ーチップ‘n’を各ロジックチップピンのサブセット
‘n’に接続し、各ロジックチップ/クロスバーチップ
対を4個のパスによって相互接続する。すべてのクロス
バー相互接続の中で、部分的クロスバーの使用するクロ
スバーチップの数は最小である。部分的クロスバーのサ
イズは、ロジックチップピンの総数が増大するに従って
直接的に増大する。このことは、ロジックチップの数、
更にはロジック容量に直接関連するものであり、望まし
い結果である。これを使用するのは比較的容易なことで
ある。その理由は、部分的クロスバーが規則的であり、
そのパスをテーブルで表現することが可能であり、更に
特定の相互接続をいかにして決定するかは、単にパスの
最適なペアをテーブルで捜すだけだからである。
【0017】1.2.2.4 部分的相互接続の機能 部分的なクロスバー相互接続は、完全クロスバーが処理
できるのと同数の回路網を処理することはできない。ソ
ースロジックチップにおいて、他の回路網に対して一つ
だけ用いられていないI/Oピンが、行先ロジックチッ
プに至るパスが同様にすべて使用されているクロスバー
チップとつながっている場合、部分的クロスバー相互接
続は回路網を相互接続することができない。行先ロジッ
クチップは利用可能なピンを有しているが、このような
場合、I/Oピンはソースピンがすべて使用されている
他のクロスバーにつながっており、これらのクロスバー
から最初へ戻る途はない。部分的なクロスバー相互接続
の容量はそのアーキテクチャーに依存している。一つの
極端な例では、一つのロジックチップピンサブセットだ
けが存在し、一つのクロスバーがすべてのピンに作用す
る。このような装置は、最大の相互接続能力を有する
が、非現実的な完全クロスバー接続である。他の極端な
例では、サブセットサイズは、ロジックチップのピンと
同数のクロスバーチップを有するものである。これは、
すべての部分的クロスバーを相互接続する能力は最小で
あるが、依然として充分な能力を有している。極端な例
の間では、各クロスバーチップが、2、3又はそれ以上
の各ロジックチップのピンに作用するアーキテクチャー
となっている。クロスバーチップ数が減少し、クロスバ
ーチップ毎のピン数が増加するにつれて、より多くの相
互接続能力が利用可能となる。この変更は、以前より注
目されていることではあるが、種々のクロスバーチップ
が作用するために、相互接続することのできない未使用
ロジックチップが存在するということによるものであ
る。クロスバーチップの数がより少なくなるとともに、
幅が広くなるにつれて、このような変更は、一般的には
生じなくなる。完全クロスバーは、すべてのピンを定義
されたいかなるパターンにも相互接続することができ
る。他の簡単な一例として、各々3個のピンを有する、
参照番号1、2及び3を付した3個のロジックチップが
存在し、且つ、4個の回路網A、B、C及びDが存在す
るものと仮定する。回路網Aはロジックチップ1及び2
を接続し、回路網Bはロジックチップ1及び3を接続
し、回路網Cはロジックチップ2及び3を接続し、回路
網Dはロジックチップ1及び2を接続する。図8a及び
8bにおいて、各ロジックチップのピンをセルの行とし
て示しており、各クロスバーチップはクロスバーチップ
が作用するピン数と同数の列をカバーしている。第1の
ケース(図8a)では、各々1つのピンの幅を有する参
照番号1、2及び3で示される3つのクロスバーチップ
を使用する。各クロスバーチップは、ただ1つの回路網
を接続できるにすぎない。すなわち、クロスバーチップ
1は、回路網Aを相互接続するようプログラムされてお
り、クロスバーチップ2は回路網Bを接続し、クロスバ
ーチッ3は回路網Cを接続する。未使用ロジックチップ
ピンを利用することもできるが、回路網Dは未接続のま
まである。第2のケース(図8b)では、3個のピン幅
を有する完全クロスバーを、クロスバーチップ1、2及
び3の代わりに用いて回路網Dを接続することができ
る。種々の部分的クロスバー相互接続アーキテクチャに
よって相互接続することのできる入力設計回路網の数に
基づき、アナリシス及びコンピュータモデル化を行う。
結果的には、ナロウな部分的クロスバーは、ワイドなも
の又は完全クロスバーと、ほぼ同じ程度に効果的であ
る。例えば、好適実現例(14個の128ピンロジック
チップ、32個の56ピンクロスバーチップ)のロジッ
クボードに用いられている相互接続は、完全クロスバー
の有する相互接続容量の98%を示している。モデリン
グにおいて想定されているように、実際の入力設計部
が、利用可能なマルチロジックチップ回路網及びロジッ
クチップピンの数を最大限に必要とすることは極めて稀
である。実際の設計部は、ほぼ常に最大限よりも少ない
回路網を有しており、上述のモデルの部分的クロスバー
によって接続される回路網の平均個数よりも少ない回路
網、通常かなり少ない回路網を有している。このこと
は、ロジック容量を保持するのに絶対的に必要であるよ
り多くの、小さな比率のロジックチップピン及びクロス
バーチップを用いることで保障され、このようにしてナ
ロウな部分的クロスバーによって、実際の設計部がほと
んど常に相互接続可能であることを保障している。ナロ
ウなクロスバーチップは、ワイドなクロスバーチップよ
りかなり小さく、それ故、ピン単位では高価なものでは
ない。
【0018】1.2.3 相互接続トライステート回路網 部分的クロスバー相互接続のようなアクティブ相互接続
と実際のワイヤのようなパッシブ相互接続との重要な相
違は、アクティブ相互接続が無方向性であるということ
である。実際、各々の相互接続は、チップ境界において
金属及びトレースによって結合する一連のドライバ及び
レシーバを具えている。通常の回路網は一つのドライバ
を有し、アクティブ相互接続で固定されたドライバ及び
レシーバを用いて作成される。実際に設計する回路網の
幾つかはトライステートであり、図9に示すような幾つ
かのトライステートドライバを有している。任意の所定
時間において、最大で1個のドライバが活動状態であ
り、その他のドライバは回路網に対して高インピーダン
スの状態にある。(伝播遅延を無視すると)すべてのレ
シーバは常に同一のロジックレベルにある。
【0019】1.2.3.1 トライステート回路網を積
の和に置き換える 全回路網を同一のロジックチップへと区分化する場合、
回路網を、積の2ステート加算、すなわち、図10にて
示すような、等価なマルチプレクサで置き換えることが
できる。アクティブイネーブルが存在しない場合、この
回路網は低ロジックレベルを出力する。時々、トライス
テート回路網は、受動的に高ロジックレベルにされる。
必要ならば、各ANDゲートへのデータ入力を反転する
とともに、最終加算ゲート出力を反転することで、イネ
ーブルできない場合、積の和は高ロジックレベルを出力
する。1以上のイネーブルがアクティブの場合、結果は
すべての入力信号の加算(OR)となる。このことは容
認される。その理由は、異なるデータで1以上がイネー
ブルされる場合、実際のトライステートドライバの動き
を規定していないからである。図11a及び11bは、
2種類の回路網:すなわち“フローティングハイ(floa
ting high)”及び“フローティングロー(floating
low)”を示している。リアライザシステムの設計変換
システムの基本要素変換部分は、和又は積の置き換えを
行う。その理由は、好適実現例のロジックチップ及びク
ロスバーチップとして用いられるXilinx LCAが、す
べての回路網におけるトライステート駆動を一様に維持
していないからである。トライステートドライバは、L
CAの境界におけるすべてのI/Oピンを利用すること
ができる。XC3000シリーズLCAの内部で利用できるト
ライステートドライバの数は制限されており、チップ間
を結んでいる内部相互接続の数が小さいことから、各ド
ライバはCLBの一つの行にだけ作用する。トライステ
ート回路網をこれらの相互接続に作成することによっ
て、分割化に他の制約が加わり、LCAにおけるCLB
の配置の自由度を制約することとなる。同時に、回路網
毎に少数のドライバとトライステート接続することは、
ある種のゲートアレイライブラリセルにおいては一般的
なことである。結果的に、このように複雑となることを
避けられる場合には、積の和の置き換えを行う。設計部
を多重ロジックチップに分割化することにより、トライ
ステート回路網を2以上のロジックチップに亘って分割
する場合、積の和を局所的に用いて、ロジックチップと
回路網との各々の接続をロジックチップ境界における単
一のドライバ及び/又はレシーバに引き下げる。図12
は、2つのドライバ及び2つのレシーバを一緒に示して
いる。2つのドライバは局所的な積の和によって構成さ
れ、このようにして、単一のドライバ接続のみを要件と
して積の総和を与える。同様にして、単一のレシーバ接
続を、2つのレシーバに亘って構成する。このようにし
て、アクティブ相互接続がなされる。トライステート回
路網におけるいかなる所定の点においても、駆動“方
向”はどのドライバを活動状態とするかに依存してい
る。このことは、パッシブ相互接続と何ら差異はない
が、アクティブ相互接続では、能動的に正しい方向に駆
動及び受信が行われるように、アクティブ相互接続を構
成しなければならない。構成によっては、このことを部
分的クロスバー相互接続によって達成することができ
る。
【0020】1.2.3.2 ロジック加算構成 3つの構成は、回路網を積の和に引き下げることに基づ
いている。ロジック加算構成は、図13に示されている
ように、加算ORゲートを、関連するロジックチップ中
に配置する。積を発生させるANDゲートを駆動ロジッ
クチップで構成する。この駆動チップの各々は出力チッ
プを必要としている。各受信ロジックチップは入力ピン
を必要とし、特別な場合、加算ロジックチップは各ドラ
イバ用の入力ピンと出力ピンとを必要とする。これらの
接続はすべて無方向性であり、各チップの境界に亘って
OBUF/IBUF対を具えている。ドライバのピンが
高価であるので、駆動ロジックチップを加算チップとし
て選択する必要がある。簡単のため、図中には関連する
LCA基本要素をすべて示してはいない。駆動入力ピン
から受信出力ピンに至る実際のパスは、ドライバのCL
B及びOBUFと、クロスバーのIBUF/OBUF
と、加算チップのIBUF、CLB及びOBUFと、ク
ロスバーの他のIBUF/OBUFと、レシーバのIB
UFとを具えている。クロスバーIBUF遅延をIxと
し、ロジックCLB遅延をC1等とした場合、全データ
通路遅延は、C1+O1+Ix+Ox+I1+C1+O
1+Ix+Ox+I1である。特別な場合、すなわちロ
ジックチップをXC3090−70とし、クロスバーを
XC2018−70とした場合、遅延の総計の最大は、
82nsに内部LCA相互接続遅延を加えたものに等し
い。同じ遅延がイネーブルにも当てはまる。nビットバ
スを相互接続する場合、バスの各ビットに対してすべて
のイネーブルは同様のものである。この特別な構成にお
いて、駆動チップ中に積のゲートを設け、イネーブルを
内部に設け、バスに必要なピンを1ビットの場合のピン
数のちょうどn倍とする。
【0021】1.2.3.3 クロスバー加算構成 クロスバー加算構成において、加算ORゲートをクロス
バーチップに配置する。この場合、図14に示されてい
るようなロジックを利用することのできるLCAのよう
なERCGAを用いて、いくつかの例のクロスバーチッ
プを具体化している。各ロジックチップは、ドライバと
しての1ピン及び/又はレシーバとして1ピンを必要と
している。クロスバーチップは、加算ゲートのための1
以上のロジック素子を有している必要がある。クロスバ
ー加算とは、ロジックチップ中のロジックをすべて用
い、クロスバーチップ中のロジックを全く用いず実行す
るということではない。重要な相違点は、クロスバーチ
ップに配置されたロジックが、実現される設計ロジック
の一部ではないということである。ロジックは、単に、
トライステート回路網の相互接続機能を達成する役割を
果たすに過ぎない。この構成では、2以上の駆動ロジッ
クチップを設けた場合、従来よりも使用するピンの数が
少ない。nビットバスはピンのn倍も作用する。全遅延
は、C1+O1+Ix+Cx+Ox+I1、すなわち、
最大51nsにまで引き下げられる。イネーブルも同じ
遅延を有する。
【0022】1.2.3.4 双方向性クロスバー加算構
成 図15にて示されているように、クロスバーチップの加
算ゲートを、双方向性クロスバー構成における双方向性
接続を介して連絡している。ORゲートへのパスをイネ
ーブルできるANDゲートを、クロスバーチップ中に設
け、フィードバックラッチアップパスをブロック化す
る。ロジックチップは、レシーバのみの場合には1つの
ピンを必要とし、ドライバ又は、レシーバ及びドライバ
双方の場合には2つのピンを必要とする。この2つのピ
ンの一方は信号自体のためのものであり、もう一方はイ
ネーブル出力のためのものであり、これはクロスバーチ
ップに用いられる。1ビット以上の信号イネーブルを用
い、マルチビットバスによって、相互接続を減少させる
ことができる。同一のクロスバーチップを介して、1ビ
ット以上のバスを相互接続する場合、1セットのイネー
ブル信号をチップに供給する必要がある。好適なLCA
例においては、全データ通路遅延を、O1+Ix+Cx
+Ox+I1、すなわち、42nsとしている。積の和
が、2以上のCLBを用いる場合、付加的なCx(10
ns)を加えることができる。イネーブル遅延は出力遅
延O1ではなくて、OBUFZのイネーブル遅延E1に
依存している。
【0023】1.2.3.5 双方向性クロスバートライ
ステート構成 これまで説明したすべての構成を同一のハードウエアで
使用することができることに注意しなければならない。
基本要素の配置及び相互接続のみが変化する。最終的
に、クロスバーチップが内部トライステートを維持する
場合、図16にて示すように、双方向性クロスバートラ
イステート構成によって、クロスバーチップ内部の実際
のトライステート回路網が二重になる。各ロジックチッ
プの実際のトライステートドライバは、クロスバーチッ
プのバスにそのまま伝えられる。このことは、イネーブ
ル信号の相互接続によって達成されるはずである。ドラ
イバがイネーブルされていない場合、クロスバーチップ
のバスを駆動させる。LCAをクロスバーチップとして
用いる場合、上記内部トライステート相互接続を用い
る。特に、ロジックチップの境界にIBUF/OBUF
Z対、クロスバーチップ境界に各ロジックチップの他の
IBUF/OBUFZ対、各ロジックチップにTBUF
を設け、内部トライステートラインを駆動する。各イネ
ーブルはOBUF及びIBUFを通過する。イネーブル
されたデータパス遅延の総計は、O1+Ix+Tx+O
x+I1、すなわち、39ns(XC3030−70L
CAクロスバー)であり、イネーブル遅延の総計は、O
1+Ix+TEx+Ox+I1、すなわち45nsであ
る。以前のように、2ビット以上のバスを、同一のクロ
スバーチップを介して相互接続する場合、1セットのイ
ネーブル信号のみを、チップに供給する必要がある。こ
の構成では、クロスバーチップをLCA又は内部トライ
ステート機能を有するERCGAとする必要があり、こ
れら内部相互接続の利用を条件としている。特に、XC20
00シリーズは、内部トライステートを有していないが、
XC3000パーツは有している。XC3030は、80個のI/O
ピン、100個のCLB及び20個のトライステート駆
動可能内部‘ロングライン’を有している。このように
して、最大で20個のこのようなトライステート回路網
を、この構成中の一つのクロスバーチップによって相互
接続し得る。これは、相互接続の限界となり得るが、い
ろいろな場合のほんの一部にすぎず、I/Oピンの限界
を与えるものである。現在のところ、XC3030はXC2018の
2倍高価である。ハードウエアにトライステート構成を
用いる場合、他の構成は妨げとはならず同様に使用する
ことができる。
【0024】1.2.3.6 すべての構成の概要 このチャートは、構成を要約したものである。 明らかに、ロジック加算構成は有効ではない。クロスバ
ー加算は、かなり高速で、少数のピンを使用し、多くの
場合シンプルである。双方向性クロスバー加算は、依然
わずかに高速であり、双方向性バスのピン数を減少させ
る可能性を有しているが、かなり複雑であり、クロスバ
ーチップに限られたロジックリソースをより必要とす
る。トライステート構成によって、同様のピンを必要と
し、及び遅延が生じるが、より高価なクロスバーチップ
を必要とする。
【0025】1.2.3.7 普通のクロスバー加算構成
と双方向性クロスバー加算構成との比較 最も効果的な構成の特性をテストすることは有益であ
る。以下の表は、普通及び双方向性のクロスバー加算構
成を用い、多数の双方向性回路網を相互接続し、且つ、
LCAをクロスバーチップとして用いる場合に生じるク
ロスバーCLBの数とクロスバーCLB遅延とを示して
いる。72個のI/Oピンを有し、100個のCLBを
用いることのできる、XC2018-70クロスバーチップを用
いるものと仮定する。各々のCLBは4個までの入力端
子及び2個までの出力端子をサポートする。各ロジック
チップがイネーブルを共有せず、回路網と双方向性の接
続を有し、各テストにおいて、クロスバーチップの72
個のI/Oピンすべてを用いるものと仮定する。 双方向クロスバー加算構成はCLBを2.5倍まで使用
し、クロスバーチップがルートしない可能性、すなわち
内部相互接続遅延が大きくなる可能性が増大する。しか
し、依然として100個のCLBが使用可能となるまで
には程遠い。代わりに、無方向性構成では、ロジックチ
ップを特別なゲートを操作するのに好適な位置に設ける
が、ロジックチップにかなり多くのゲートを設けてい
る。双方向性構成では、特別なCx遅延がしばしば生じ
そのスピードの利点を相殺してしまう。リアライザシス
テムの好適例では、トライステート回路網のためのクロ
スバー加算構成を用いている。
【0026】1.2.4 システムレベル相互接続 クロスバーチップによって相互接続された1セットのロ
ジックチップのパッケージ化は、単一の回路ボードにお
いて行うのが一般的である。システムが大規模すぎて単
一のボードに適合しない場合には、システムレベル相互
接続を用いて、ボードを同じように相互接続しなければ
ならない。極めて広域のパス配線のために、2以上の回
路ボードに亘る単一の部分的クロスバー相互接続及びロ
ジックチップを拡張することは非実用的である。例え
ば、32個の128ピンロジックチップと64ピンのク
ロスバーチップとの複合体を、2つのボードに、それぞ
れ16個のロジックチップと32個のクロスバーとに分
割するものと仮定する。複合体を、ロジックチップとク
ロスバーチップとの間で切断する場合、背面接続の対を
介して、ロジックチップとクロスバーチップとの間に総
計で4096個の相互接続を行う必要がある。これとは
別の方法で、‘中間’で、すなわち、16個のロジック
チップ及び32個のクロスバーチップで各ボード毎に切
断する場合、ボード1のロジックチップをボード2のク
ロスバーに接続するパス(16個のロジック×64個の
ピン=1024)及びその逆のパス(もう一つの102
4、合計で2048)の全てをクロスさせなければなら
ない。このような単一の相互接続では発展の可能性がな
いといった他の制約もある。定義によれば、各クロスバ
ーチップは全てのロジックチップと接続している。特定
数のロジックチップで構成する場合、それ以上を加える
ことができない。その代わりに、回路基板上に一緒にパ
ッケージ化することのできるロジックチップとクロスバ
ーチップとの最大規模の複合体をロジックボードと称
し、モジュールとして用い、これらの多数をシステムレ
ベル相互接続によって接続する。2以上のボードに及ぶ
相互接続回路網を提供するために、各ロジックボードの
クロスバーチップの各々の付加的なI/Oピンに対し
て、ボードから離れた付加的な接続を行い、ロジックボ
ードI/Oピンを確立する(図17)。ロジックボード
I/Oピンに接続するのに用いられるクロスバーチップ
I/Oピンは、ボードのロジックチップI/Oピンと接
続しているものとは別のものである。
【0027】1.2.4.1 部分的クロスバーシステム
レベル相互接続 ロジックボードを相互接続するための一つの手段では、
部分的なクロスバー相互接続を再び適用し、各ボードを
ロジックチップの如く取り扱うとともに、付加的なクロ
スバーチップのセットを用いてボードのI/Oピンを相
互接続する。この部分的なクロスバーは、ボックス中の
すべてのボードを相互接続する。第3番目の相互接続
を、ラック中のすべてのボックス等を相互接続すること
に再び適用する。終始同一の相互接続方法を適用するこ
とによって、概念の簡易化及びボードレベル相互接続と
の一体化といった利点が得られる。リアライザシステム
中のクロスバーチップを区別するために、ロジックチッ
プを相互接続している部分的クロスバー相互接続をXレ
ベル相互接続と称し、そのクロスバーチップをXチップ
と称する。ロジックボードを相互接続している相互接続
をYレベル相互接続と称し、そのクロスバーチップをY
チップと称する。Xレベル相互接続では、各ロジックボ
ードの分割と同様の分割を用いて、各ロジックボードの
I/Oピンを適切なサブセットに分割する。各Yチップ
のピンを、すべてのロジックボードの各々からのピンの
同一のサブセットに接続する。サブセットと同数のYチ
ップを使用する。各Yチップは、サブセットのピン数と
ロジックボードのピン数とをかけ算した結果と同数のピ
ンを有している。同様にして、各Yチップの付加的なI
/Oピンにボックスから離れた付加的な接続を行い、ボ
ックスI/Oピンを構成する。この各々を、各ボックス
における分割と同様の分割方法を用いて適切なサブセッ
トに分割する(図18)。各Zチップのピンを、各ボッ
クスからのピンの同一のサブセットに接続する。サブセ
ットと同数のZチップを用いる。各Zチップは、サブセ
ットのピン数とボックスの数とのかけ算した結果と同数
のピンを有している。部分的なクロスバー相互接続の付
加的なレベルを構成する方法を、必要である限り継続す
る。入力設計部を区分化する場合、ロジックチップのI
/Oピンの数が限定されているように、ボード上及びボ
ードから離れて配線されている回路網がボードのI/O
ピンを介しており、ボードのI/Oピンの数の限定には
一定の制約があることがわかる。多重ボックスリアライ
ザシステムにおいて、ボックスI/Oピンの数が限定さ
れていること等がわかる。設計メモリのような特別の機
能が付随する場合を除き、チップ、ボード又はカートリ
ッヂに関する配置を最適にするための相互接続シンメト
リー手段は必ずしも必要ではない。双方向性回路網及び
バスを、クロスバー加算方法のようなトライステートセ
クションにおいて説明した方法のうちの一つを用いて具
体化する。この方法は、回路網がつながっている相互接
続階層の各レベルに亘って適用される。好適な具体例は
次のとおりである。 ・全ハードウエアシステムに亘る三つのレベルにおい
て、部分的クロスバー相互接続を階層的に用いる。 ・ロジックボードが、各々128個の相互接続されたI
/Oピンを有する、最大14個のロジックチップと32
個のXチップから成るXレベル部分的クロスバーとを具
えている。各Xチップは、各々14個(全56個)のL
チップへつながっている4個のパスと2個のYチップの
各々へつながっている8個のパスとを具え、全体とし
て、ボード毎に512個のロジックボードI/Oピンを
具えている。 ・1個のボックスが、各々512個の相互接続されたI
/Oピンを有する1〜8個のボードと64個のYチップ
から成るYレベル部分的クロスバーとを具えている。各
Yチップは、ロジックボードI/Oピンを介して各ボー
ドのXチップにつながっている8個のパスと1個のZチ
ップにつながっている8個のパスとを具えており、合計
でボックス当り512個のボックスI/Oピンを具えて
いる。 ・ラッチは、各々512個の相互接続I/Oピンを有す
る。1〜8個のボックスと64個のZチップから成るZ
レベルクロスバーとを具えている。各Zチップは、ボッ
クスI/Oピンを介して、各ボックス中のYチップにつ
ながっている8個のパスを具えている。
【0028】1.2.4.2 双方向性バスシステムレベ
ル相互接続 コンピュータハードウエアの実行には、双方向性バスの
背面を用いての、ロジックボードのシステムレベル相互
接続に関する他の方法が必要となる。以前と同様、各ロ
ジックボードにI/Oピンを設け、各ボードのI/Oピ
ンを、バスワイヤによって、他のすべてのボードの同じ
I/Oピンに接続する(図19)。いくつかのロジック
ボードI/Oピンは無駄である。すなわち、設計回路網
に対して相互接続不能である。その理由は、一つの設計
回路網を相互接続するためのバスワイヤを使用すること
によって、バスを共有している他のすべてのボードのバ
スワイヤに接続されたピンを使用できなくしてしまうか
らである。相互接続することのできる設計回路網の最大
数は、バスワイヤの数、すなわち、ボード毎のI/Oピ
ンの数と等しい。特別の場合として、8個のボードにお
いて、一つの共通相互接続バスを、各ボードの512個
のI/Oピンを接続している512個のバスワイヤが共
有している(図20)。2番目、3番目、4番目、5番
目、6番目、7番目及び8番目ボードの回路網が異なる
配線であると仮定すると、解析により、各ボードと接続
している回路網の平均数は各々の場合512であり、す
べての回路網において、ボード及びバスは1166個の
ピン幅まで許容されるはずであることがわかる。このこ
とは、単一の背面のボード数を小さくし続けることによ
って部分的に軽減される。しかし一組の双方向性バスと
相互接続されたボードの最大数は制限されている。大規
模システムをより効果的に構成するためには、バスのグ
ループを階層的に相互接続する。図21に示されている
第1の例では、各々4個のボードを接続している2組の
バスX0及びX1を有している。Xレベルのバスを、他
のバスYで相互接続する。Xバス中の各々のワイヤを、
再構成可能な双方向性トランシーバによってYの片方に
接続する。双方向性トランシーバの構成によって、X及
びYのワイヤが絶縁されているかどうか、XがYを駆動
又はYがXを駆動するかどうかが決定される。回路網
が、左側のボードの組又は右側のボードの組のみを接続
する場合、Xレベルバスの一方又は他方のみを用いる。
両側にボードを具えている場合、X0及びX1のワイヤ
を各々使用し、これらのワイヤをトランシーバを介して
Yのワイヤで相互接続する。各ボードは、Xレベルバス
の一方の幅と同数のI/Oピンを有している必要があ
る。Yを介しての相互接続が双方向性、すなわち、X0
又はX1のいずれか一方によって駆動される場合、追加
的な信号がX0及びX1から流れ、トランシーバの方向
性を動的に制御する。この相互接続を分析しボード間の
回路網を相互接続する機能を示す。この際、上記と同じ
回路網ピン数及びI/Oピン数であると仮定する。シン
グルレベル方法では、全回路網の総計と同じ幅を必要と
するが、これを2つに分割し、必要とされる最大幅を1
0%〜15%に減少させている。階層は、最大でも、バ
ス当りただ2つのボード又は2つのグループのボードを
有するのみである(図22)。双方向性バス相互接続は
簡素であり、組立てが容易であるが高価である。その理
由は、かなり多くのロジックボードI/Oピンを他のボ
ードの回路網に接続することによって無駄にしているか
らである。このことを避けるために、階層化及び短絡背
面を導入しても、効果が極めて小さいことが証明されて
いる。更に、双方向性トランシーバを導入することによ
って、シングルレベル背面バス相互接続が部分的クロス
バーよりも優位にあるスピード及びコストの面での利点
を除去してしまう。結果的に、好適例のシステムレベル
相互接続に部分的クロスバーを用いる。
【0029】1.3 特定目的の構成素子 特定目的の構成素子とは、入力設計を実現し、好適例の
ロジックボードのLチップの位置に取り付けるハードウ
エア構成素子であるが、ロジックチップを構成する組合
せロジックゲート又はフリップフロップではない。
【0030】1.3.1 設計部メモリ 多くの入力設計部はメモリを具えている。ロジックチッ
プがメモリを具えているならば理想的である。電流ロジ
ックチップデバイスはメモリを具えていない。メモリを
具えるとするとメガバイト規模のメインメモリを依然と
して必要とし、これは、ロジックチップには決して望め
ないことである。従って、設計メモリデバイスを、リア
ライザシステム中に設けることとする。
【0031】1.3.1.1 設計部のメモリアーキテク
チャ 設計部メモリモジュールのアーキテクチャを以下の要件
に基づき構成する。: a)設計部のメモリモジュールは、設計部の一部である
ため、他の構成要素と自由に相互接続できるようにする
必要がある。 b)ロジックチップと同様に効果的な相互接続を行うこ
とができるように、データ、アドレス及び制御入出力の
割り当てに自由度を設け、パスの相互接続を行う必要が
ある。 c)種々の容量及びビット幅を有する1以上の設計部メ
モリを実現できる構成の変更を可能にする必要がある。 d)ホストインタフェースが、設計部とデバッガタイプ
の対話ができるように、アクセス可能である必要があ
る。 e)メモリモジュールはダイナミックではなくスタティ
ックである必要がある。これによって、設計部を意のま
まに、ストップ、スタート又は任意のクロックスピード
でランさせることができる。 これらの要件を満足するメモリモジュールの一般的アー
キテクチャーを図23に示す。設計部との相互接続可能
性及びリアライザシステムの物理的構成に関する柔軟性
を維持するために、置き換えたロジックチップと同一の
相互接続及び他のピンに接続されたLチップソケットに
プラグで接続するように、メモリモジュールを設計す
る。必要なだけのモジュールを取り付ける。RAMチッ
プを相互接続に直接接続しない。その理由は、主にチッ
プのデータ、アドレス及び制御機能を特定のピンに定め
ているからである。部分的クロスバー相互接続の成功
が、自由にI/Oピンとの内部相互接続を割り当てるこ
とのできるロジックチップの機能に依存しているため
に、ロジックチップの場所に配置されたノンロジックチ
ップデバイスは、同様の機能を有している必要がある。
このことを達成するとともに、メモリモジュールに他の
ロジック機能を提供するために、ロジックチップをメモ
リモジュール中に取り付け、RAMチップをクロスバー
のXチップと相互接続する。特定のRAMピンを、任意
に選択されたXチップピンと相互接続し、メモリモジュ
ールを構成する。この際、メモリモジュールを使用する
場所に、ロジックチップが使用するのと同一のL−Xパ
スを使用する。1個よりも多くのロジックチップをモジ
ュール毎に使用する。その理由は、接続すべきRAMピ
ン及びL−Xパスの数が多いからである。メモリモジュ
ールのロジックチップによって、メモリモジュールに構
成可能性及びホストアクセス可能性を提供する。ロジッ
クチップを介して、種々の容量、ビット幅及び入力/出
力構造を有するRAMチップを接続するように、アドレ
ス、データ及び制御パスを構成する。メモリモジュール
を、1個の大規模メモリ又は幾つかの小規模メモリで構
成することができる。これらのロジックチップの各々を
ホストインタフェースバスに接続するとともに、バスイ
ンタフェースロジックをロジックチップ中に構成するこ
とによって、ホストプロセッサが、RAMをランダムに
アクセスすることができる機能を実現する。これによっ
て、デバッガのようなコンピュータプログラムを用い
て、メモリ内容を検査及び修正する。これらのロジック
構造の具体例を、以下に示す。実現する設計部のタイミ
ングに関する要件を満足する、入手可能で高密度且つ安
価なスタティックメモリを、設計部メモリとして選択す
る。好適例では、このようなデバイスを富士通MB84256
のような8ビット32KのCMOSSRAMとしている。これに
よれば、スピードを50nsに落とすことができる。か
なり高速のデバイスを用いればリターンを減少させるこ
とができる。その理由は、リアライザシステムのクロス
バーチップ相互接続遅延が主な原因となり始めるからで
ある。ダイナミックメモリデバイスを用いてはいない。
その理由は、ダイナミックメモリデバイスではこれらを
規則的にリフレッシュしなければならず、リアライザシ
ステムに種々の問題が生じる。入力設計部にダイナミッ
クメモリが必要な場合は、入力設計部はおそらくリフレ
ッシュロジックを具えている。しかしながら、実現され
た設計部が100%の設計スピードで動作できないの
で、設計部をリフレッシュさせることは成功しない。実
際、デバッギングの際に、設計部の実行を停止させるこ
とが望ましい。すなわち、設計部はシステムの一部分で
あり、リフレッシュをするためには入力設計部に具わっ
ていない他のいくつかの構成要素に依存しなければなら
ない。つまり、設計部にスタティックメモリを必要とす
る場合、ダイナミック設計メモリのリフレッシュを行う
ことは非現実的である。スタティックメモリによればリ
フレッシュサイクルを無視できるため、ダイナミックメ
モリを設計部内に実現することができる。このようにし
て、スタティックデバイスを用いて設計部メモリを具体
化する。
【0032】1.3.1.2 ロジックチップをRAMと
クロスバーとの相互接続に使用する 理想的には、単一のロジックチップを用いてRAMとX
レベルクロスバーとを相互接続する。この際、すべての
L−X相互接続パスと同様に、すべてのRAM信号ピン
を接続するのに十分なピンを用いる。実用的なリアライ
ザシステムメモリモジュールでは、単一のロジックチッ
プが実行困難な程多くのピンを必要としている。例えば
8個の32K、8ビットRAMから成る2つのバンク
を、128個のL−Xパスを有するモジュール中に用い
るものと仮定する。各々のRAMバンクは、15個のア
ドレスピンと、8個の書込みイネーブルピンと、64個
のデータピンとを具えている。2個のバンク及びL−X
パスは、302個のピンと、ホストインタフェースバス
のためのピンとを必要としている。これは、使用可能な
ロジックチップのピン数の2倍である。1より多くのロ
ジックチップを用いなければならない。ここで述べたア
ーキテクチャでは、多くの小型ロジックチップを用いて
おり、これらのチップにはアドレス、コントロール及び
データパスに関する特別の機能が与えられる。
【0033】1.3.1.2.1 メモリアドレスロジック
チップ 図23において、アドレス及びコントロールロジックチ
ップを、“MA0”及び“MA1”で示している。RA
Mをバンクに分割する。このバンクを各々のMAチップ
で制御する。モジュールによって実現すべき分離設計部
メモリの最大数と同数のMAチップを設ける。その各々
に、クロスバーとつながっているL−Xパスのセット、
すなわち、バンクのアドレス及びコントロールラインに
とって必要なだけのパスを設ける。MA0及びMA1は
別のパスの組を使用する。例えば、各々RAMの半分に
接続されている2個のMAチップによって、2個の独立
メモリを実現することができる。1個の大型メモリを実
現する場合、両方のL−Xパスの組を用いて、アドレス
及びコントロール回路網を両MAチップに接続する。各
MAチップはバンク内の全RAMのアドレス入力を制御
する。アドレス入力を、単一のバスで結びつける。各々
のMAチップは、個々で、RAMへの制御入力を制御
し、データをアドレス指定したRAMにのみ書き込むこ
とができるようにしている。つまり、各MAチップをア
クセス可能とするために、ホストインタフェースバスに
接続するとともに、このメモリモジュールのすべてのロ
ジックチップと共通なコントロールバスに接続してい
る。図24は、いかにしてMAチップをXレベルクロス
バー及びRAMチップに接続するかを、さらに詳細に示
している。図に示すように、ロジック及びデータパスに
従ってMAチップを構成する。すべてのアドレスがクロ
スバーからMAチップに入る。通常、(バスインタフェ
ースを非活動状態とした場合)、RAMアドレスビット
の数に相当するアドレスビットの部分をパスし、MAチ
ップによって制御されるバンク中のRAMをアドレス指
定する。その他のアドレスビット及び設計部の書き込み
イネーブルによって、各々のRAMの書き込みイネーブ
ル信号を制御するデコーダロジックを駆動する。この設
計部メモリに必要とされる構成に応じて、ロジックを構
成する。例えば、設計部メモリが1個のRAMと同じビ
ット幅を有し、設計部が書き込みイネーブルを主張する
場合、アドレスビットに従い、ただ一つのRAM書込み
イネーブルが主張される。設計部メモリが1個のチップ
の2倍の幅を有する場合、一対のRAM書込みイネーブ
ルが主張される。メモリのデータパス幅のサブセットを
各々制御している1より多くの書込みイネーブルを有す
る設計部メモリを望む場合、幾つかの設計書込みイネー
ブル回路網を用いることができる。各回路網は、MA及
びMDチップ中のデコードロジックの構成を適切なもの
とし、上述のラインに沿って作動する。このことは、M
AチップへつながっているL−Xパスと、MDチップへ
つながっているコントロールバスパスとの使用可能度に
依存している。バスインタフェースロジックによって、
ホストインタフェースバスを介し、ホストはこのRAM
をアクセスさせることができる。この組となっているR
AMをバスを用いてアドレス指定する場合、バスインタ
フェースは、アドレスマルチプレクサ(‘mux’)を
切り換え、RAMをそのアドレスにアドレス指定する。
ホストが1個のRAMに書込みを行う場合、バスインタ
フェースロジックは、信号をデコーダロジックに送信す
る。デコーダロジックは、アドレスビットを使用し、R
AMを駆動せずに、適切なRAM書込みイネーブルを主
張する。最終的には、MDチップ中のデータパスを制御
するのに、幾つかの信号を必要とする。MDチップのす
べてを、MDチップと同一のL−Xパスに接続してはい
ないので、MDチップは、設計部からのアドレス及びコ
ントロール信号をアクセスする必要はない。コントロー
ルバスをすべてのMA及びMDチップに接続し、これら
の信号及びバスインタフェースコントロール信号をMD
チップへ送信できるようにしている。
【0034】1.3.1.2.2 メモリデータパスロジッ
クチップ MDチップは、ビットスライス構成に従ってデータパス
を操作する。クロスバーと交差してビットスライスを行
うことによって、リアライザシステム中のマルチビット
バスデータパスを相互接続する。チップ毎に1又は2ビ
ットを用いて、バスはXチップと交差して広がってい
る。MDチップをビットスライスし、これらのバスとの
接続を容易にしている。各MDチップをすべてのバンク
中の各RAM中の同一のビットに接続するとともに、X
チップのサブセットに接続する。同一のRAMビットの
すべてをMDチップ中で結びつけ、種々のビット幅及び
サイズ設計部メモリの構成に柔軟性を持たせることがで
きる。MDチップ中にロジック及びデータパスを適切に
構成することによって、RAM幅の種々の倍数で、設計
部メモリを構成する。‘n’個のMDチップ及び‘M’
個のXチップを設ける場合、各MDチップをM/nの種
々のXチップを用いて接続する。各データビットは、2
個のL−Xパス、すなわち、クロスバー加算相互接続構
成のために、分離I/O構成のためのDI及びDOパス
又は共通I/O双方向性構成のための加算入力及び加算
結果のいずれか一方である。このようにして、各MDチ
ップは少なくとも2*M/n個のL−Xパスを有してい
る。これらに加えて、付加的なパスを設けることができ
る。これら付加的なパスを、MAのL−Xパスに重ねる
ことができる。MDチップ、RAM及びRAMビット幅
の数を選択し、これらの制約及び容量制約を適合させ、
MDチップに用いられるロジックチップ中のピンの数を
有効に用い、これを偶数となるようにしている。工業規
格スタティックRAMチップは、双方向性データピン
(DQと称する)を有する共通I/O構造を有してお
り、データイン及びデータアウトに用いられる。これ
は、アドレス入力ピン(ADDR)及び書込みイネーブ
ルピン(WE)を有している。この実現例において、出
力イネーブルピン及びチップ選択ピンは永続的にイネー
ブルされており、出力ピンは書込みイネーブルで制御す
る。必要な場合にはRAMの読出しを行い、アドレスデ
ータをDQピンで駆動する。書込みイネーブルを主張す
る場合、データインをDQピンで受信する。この主張の
終了時に、データをアドレスロケーションに書込む。規
格デバイスは、書込みイネーブルの終了時にセットアッ
プ中のデータのみを必要とし、また、ゼロ保持時間を必
要とし、これによってデータパスの書込みイネーブル制
御を可能としている。設計部メモリが共通I/Oを必要
とする場合、設計部はトライステート回路網となる。こ
れは、クロスバー加算構成を用いて実現される。すなわ
ち、駆動ピンはそのイネーブルによって、別々にゲート
され、受信ピンを駆動する加算ORゲートに集められ
る。RAMDQデータピンを、図25に示されているよ
うなMDチップ中に構成されるロジック及びデータパス
によってインタフェースさせる。(一つのビットすなわ
ちビット‘n’を図示する。他も同様である。) Lチップがトライステートドライバを有している場合
に、Xチップ中の加算ゲートを駆動するイネーブルゲー
トを有しているように、Xチップ中の加算ゲートを駆動
するイネーブルゲートを用いて各MDチップを構成する
(MD‘n’を図示する)。設計部メモリ入力回路網に
よって、出力端子をイネーブルするとともに書込みをデ
ィゼーブルする場合、ロジックは、RAMの加算ゲート
への出力をゲートするとともに、受信ドライバをディゼ
ーブルする。もし、そうでなければ、回路の値は加算ゲ
ートからRAMへと伝達され、書込みイネーブルが主張
されると書込みが可能となる。上述したように、設計部
書込みイネーブル及び出力イネーブル信号がMAチップ
から(コントロールバスを介して)生じることに注意し
なければならない。バスインタフェースロジックは図示
していない。設計部メモリが分離I/Oを必要とする場
合、これは、図26に示されているように、SRAMの
共通I/Oから抽出される。出力イネーブルが主張され
る場合、データアウトは、常にSRAMのデータピンス
テートを反映している。書込みイネーブルが主張される
場合、データインはSRAMのDQピンに伝達される。
上記の図面では、設計部データビットに接続された1個
のRAMのみを図示している。時には、数個のRAMを
設けており、この場合、設計部メモリ中のロケーション
の数は、単一のRAMチップの大きさの倍数となってい
る。このような場合、図27に示しているように、MD
チップを構成する。幾つかのRAM各々のDQピンをこ
のMDチップに接続する。ローアドレスビットと設計部
及びバスインタフェース制御信号とが、コントロールバ
スを介して、MAチップからMDチップへと伝達され
る。読出しの場合、アドレスのロービットは、マルチプ
レクサを介してRAMDQ出力のいずれか一つを選択す
る。選択された出力は設計部出力イネーブルによってゲ
ートされ、前述の例と同様に設計部メモリデータアウト
を構成する。設計部がその出力イネーブルを主張する場
合、ドライバをイネーブルすることによって、データイ
ンはRAMDQ入力の内のいずれか一つに伝達される。
ローアドレスビット及び設計部書込みイネーブル信号に
よって駆動されるデコードロジックによって、駆動すべ
き適切なドライバを選択する。RAMチップの書込みイ
ネーブルをMAチップによって駆動することを中止す
る。図27は、分離I/O構成を示している。共通I/
O構成は、クロスバー加算ゲートによって駆動されるデ
ータインと、設計部出力イネーブル及び書込みイネーブ
ルによってゲートされるデータアウトとに類似してお
り、図25に示すように加算ゲート入力を駆動する。ホ
ストインタフェースが、ホストインタフェースバスを介
してこのメモリをアクセスする場合、MAチップによっ
て構成されるロジックは、バスをアクセスするための制
御信号を出力する。この信号は、コントロールバスを介
してMAから伝達される。バスが読出しを行う場合、バ
ス読出しイネーブルは、マルチプレクサがアドレス指定
したRAMより選択したデータを、このMDチップに対
応するホストインタフェースバスデータビットに伝達す
る。バスが書込みを行う場合、バスデータビットからの
データを他のマルチプレクサを用いてドライバにスイッ
チする。このデータは、通常の書込みと同じプロセスに
よって選択されたRAMのDQピンへ伝達される。この
説明は、単一の設計部メモリのデータパス幅から単一の
データビットを用いて構成した、MDチップ構成を示し
ていることに注意しなければならない。設計部メモリ構
成によるものであり、且つモジュール中のMD及びRA
Mチップの数を必要とする場合、単にデータパスを適切
に曲げることによって、1より多くのデータビットが各
MDチップ中に現れる。さらに、前記データパス及びコ
ントロールラインを曲げることによって、一組の共通M
Dチップを用い、1より多くの設計メモリを実現し、幾
つかのメモリを具体化する。メモリモジュールにつなが
っているあるL−XパスをMAチップにのみ接続し、且
つあるL−XパスをMDチップにのみ接続しているの
で、適切なL−Xパスを用いて設計部メモリに接続され
た回路網を相互接続するためだけに設計部変換相互接続
プロセスを組立てる。
【0035】1.3.1.3 設計部メモリのための設計
変換 オリジナル設計ファイル中で利用可能な構成のいずれか
一つに対応する設計部メモリRAM基本要素を用い、入
力設計部中の設計部メモリを特定する。設計部変換方法
は一組の予め定義した部分的ネットリストファイルに基
づくものである。この内の一つはメモリモジュールのロ
ジックチップの各々のためのものであり、上で示したよ
うに、特別のメモリ構成をするために構成すべきすべて
のロジック及びデータパスに関するステートメントを用
いている。予め定義されたファイルは、相互接続を用い
て、設計部メモリアドレス、データ及びコントロール接
続を行うのに用いられるモジュールI/OピンのI/O
ピン数仕様を除いて、完全なものである。この方法は以
下のとおりである。:設計変換のセクションにて述べる
ように、以下に示すような設計部メモリに対して特別な
例外があるものの、一般的な方法を設計変換に用いる: ・設計部リーダは、特定のベクトルメモリに対するメモ
リ基本要素を、設計データ構造に読出す。どの構成を用
いるかを特定するためのデータを、メモリのデータ構造
レコード中に記録する。 ・変換ステージが、構成を利用可能であり、且つ、ピン
が構成と正しく対応していることをチェックする。 ・ユーザは、どのボード上のどのLチップ位置にメモリ
モジュールが搭載されているかをパーティショナ(part
itioner)に告げる。このデータに基づき、パーティシ
ョナは、一般的分割化アルゴリズムに従って、記憶のた
めのメモリモジュールを選択する。択一的に、ユーザ
は、このデータをオリジナル設計ファイル中の基本要素
と関連づけることによって、メモリを特定のモジュール
に割り当てることができる。設計部リーダは、メモリの
基本要素レコード中に、オリジナル設計ファイルを具え
ている。 ・次に、インタコネクタは、メモリに接続された回路網
及びピンを、特定のL−X相互接続パスに割当てる。ア
ドレス及びコントロール回路網をMAチップに接続して
いる特定のパスにのみ割当て、且つ、データ回路網をM
Dチップと接続しているパスにのみ割当てることができ
るという制約を条件として、インタコネクタはパスの割
当てを行う。各クロスバーチップセットの回路網相互接
続能力を決定する場合、これらのセットを拒否する場
合、及び必要とされるMA又はMDチップを接続してい
ないパスを得られない、又は使用することができない場
合、相互接続を行う際に、これらの制約を適用する。 ・リアライザシステム中の各ロジックチップに関するネ
ットリストファイルに書込みを行う場合、各々の設計部
メモリ回路網接続は: 1)MA又はMDのいずれかを相互接続手続によって、
基本要素が選択するパスに接続するかを決定すること 2)通常のロジックチップI/Oピン数を得る場合に説
明したのと同様の手続を用い、パス数とMA/MDチッ
プ数とからロジックチップI/Oピン数を得ること 3)これまで他の回路網に割当てられていないこのMA
/MDチップの回路網にからの、予め定義されたアドレ
ス、データ又は制御接続を選択すること 4)ステートメントを、このロジックチップのネットリ
ストファイルに加え、このロジックチップI/Oピン数
を、予め定義した設計部メモリ接続に接続するのに用い
ることを明示することによって、ネットリストされる。 ・ネットリストファイルを、ネットリスト変換ツールを
用いて、構成ビットパターンに処理するとともに、Lチ
ップ及びXチップのネットリストファイルとしてのロジ
ックチップにロードする。
【0036】1.3.1.4 具体的なメモリモジュール
設計 図28は、好適例において用いられる、メモリモジュー
ルの設計部を示す図である。これを、図23に示した上
述の説明に基づく構成に従って、アーキテクトすること
に注意しなければならない。XC3090 LCAロジックチ
ップに代わるLチップソケットに、プラグを差し込み接
続するように構成する。このようにして128個のL−
Xパス、すなわち、各々32個のXチップにつながって
いる4個のパスを設ける。共通I/Oを有する32K、
8ビットスタティックRAMチップを、8個のRAMの
各々の2個のバンク中に用いる。各バンクは、それ自体
のMAチップ、XC2018 LCAを有している。各MAチ
ップは、8個のアドレスパス及び8個の書込みイネーブ
ルを用いて、そのRAMを制御する。各MAチップを、
モジュール中のすべてのMA及びMDチップが共有して
いる制御バスに接続するとともに、ホストインタフェー
スバスに接続する。残りのピンは、クロスバーと接続し
ている。各々異なるXチップとつながっている、28個
のL−Xパスを設ける。MAチップ0は、一組のパス、
パス0を使用し、MA1はパス1を使用する。これによ
って、2個の独立設計RAMに対する別々のアドレス及
びコントロール回路網が与えられる。完全な32個のL
−Xパスよりも少ないパスを接続する。これは、単に、
XC2018のピンの数が制限されているからに他ならない。
設計変換の間、このモジュールにおけるミッシングパス
に対応する、相互接続L−Xパステーブルにおけるパス
構成要素が利用できないことに注意しなければならな
い。このため、回路網を、パス構成要素を介して相互接
続できない。8個のMDチップには、すべてXC2018 L
CAを使用する。32個のXチップを設ける場合、(上
述の方法によれば)各々のNDチップは32/8=4個
の異なるXチップを接続している。各チップは、設計部
メモリデータビットに用いられる2*M/n=8個のパ
スを有している。その内の2個は、各Xチップにつなが
っている。各Xチップにつながっている付加的な2個の
パスを設け、以下に示すように、モジュールを、128
ビットベクトルメモリとして使用できるようにする。好
適例において実現されるホストインタフェースバスを、
Rバスと称する。Rバスは、すべてのLチップポジショ
ンを、付加的なピンを用いて接続する。これについて
は、ホストインタフェースのセクションで説明する。5
個の異なる設計部メモリ構成を、このモジュール中で用
いることができる。以下のチャート及び図28において
“パス0”は、各Xチップからつながっている一組のL
−Xパスを示しており、“パス1”は他の一組を示して
いる。・8ビット512Kの1個のメモリ: L−Xパス0及び
1を介した(MA0及びMA1の両方に接続できるよう
に二重にしている)19個のアドレス及び2個のコント
ロール(WE、OE)、L−Xパス2及び3を介した1
6個のデータ(DI/DO又はドライバ/レシーバ)。
各MDチップは、16個のRAMに接続された1個のデ
ータビットを有している。・16ビット256Kの1個のメモリ: L−Xパス0及
び1を介した18個のアドレス及び2個のコントロー
ル、L−Xパス2及び3を介した32個のデータ。各M
Dチップは、各々8個のRAMに接続されている2個の
データビットを具えている。・32ビット128Kの1個のメモリ: L−Xパス0及
び1を介した17個のアドレス及び2個のコントロー
ル、L−Xパス2及び3を介した64個のデータ。各M
Dチップは、各々4個のRAMに接続されている4個の
データビットを有している。・8ビット256Kの2個のメモリ: 各々、L−Xパス
を介した18個のアドレスと、2個のコントロールとを
有している。パス0は一方のメモリ(MA0)のための
ものであり、パス1は他方のメモリ(MA1)のための
ものである。各々は、パス2及び3を介した16個のデ
ータを有している。各MDチップは、8個のRAMに接
続された、各々のメモリのための1個のデータビットを
有している。・16ビット128Kの2個のメモリ: 各々は、L−X
パスを介した17個のアドレスと2個のコントロールと
を有している。パス0は一方のメモリのためのものであ
り、パス1は他方のメモリのためのものである。各々、
パス2及び3を介した32個のデータを有している。各
MDチップは、4個のRAMに接続された各メモリのた
めの2個のデータビットを有している。コントロールバ
スは、一般的にすべてのMA及びMDチップに接続され
た12個のパスから成っている。12個のパスは最大コ
ントロール構成を保持する必要がある。この構成は三つ
のアドレスビットである。すなわち、設計書込みイネー
ブルと、2個の256K、8ビット設計部メモリの各々
のための設計部出力イネーブル信号とに、バス書込みイ
ネーブル及びバス読出しイネーブルを加えたものであ
る。
【0037】1.3.2 刺激及び応答 リアライザシステムを多数使用することは、ホストコン
ピュータの刺激信号送信と、設計部への応答信号及び設
計部からの応答信号の捕捉とに依存している。このこと
を、バッチ形式で行う場合、すなわち、信号の大部分を
一度に送信及び収集する場合に、ベクトルメモリを用い
る。このことを、一回に一つの信号で行う場合には、ス
ティミュレータ及びサンプラを用いる。
【0038】1.3.2.1 刺激を与えるためのベクト
ルメモリ 連続的且つ反復的な刺激のストリームを、シミュレーシ
ョン適用のような、テストベクトルの高スピード反復適
用のために実現される設計部中の一組の回路網に供給す
ることが時々必要となる。このことは、実現される設計
部の回路網にメモリをインタフェースさせること、刺激
ベクトルをホストコンピュータからメモリに書込むこ
と、更には、順次にメモリを1回ないし数回読出し、刺
激を設計部に送ることによって行われる。連続的且つ、
リニアなメモリロケーションを読出す必要があるため、
アドレスストリームを2進カウンタによって設ける。図
29はこのような刺激ベクトルメモリを達成するための
手段を示している。規則的なクロック信号ECLKはプ
ロセスを制御する。ECLKを周期化、すなわち、各刺
激ベクトルの度毎にハイとローとを発生させる。2進カ
ウンタはアドレスシーケンスを提供する。ECLKがハ
イになると、カウンタは次の刺激ベクトルのアドレスま
でカウントアップする。次の刺激ベクトルのアドレス
は、ECLKの周期の間RAMによって読出される。E
CLKが次にハイになると、ちょうど読出された刺激ベ
クトルの値がDフリップフロップのクロックとなる。フ
リップフロップの出力信号は刺激ベクトルの値で刺激さ
れる回路を駆動する。フリップフロップは、ベクトル間
に必要なクリーントランジッションを与える。その理由
は、RAM出力が正しい値に安定する以前に、その読出
サイクルの間変動し得るからである。このプロセスは繰
り返され、一連の刺激ベクトルが実現される設計部に与
えられる。この構造は繰り返され、刺激が多くの回路網
に提供される。刺激ベクトルをRAMに書込むのに用い
られるホストコンピュータへのインタフェースは、簡単
のため図示していないが以下に引用する図面により更に
詳細に示す。
【0039】1.3.2.2 応答捕捉のためのベクトル
メモリ 同様に、実現される設計部からの応答を捕捉する一モー
ドでは、連続的なサンプルのストリームすなわち一組の
回路網からのベクトルを捕捉する。この時、ロジックア
ナライザが現実のハードウエアデバイスから捕捉を行
う。このことは、メモリを、実現される設計部の回路網
にインタフェースさせ、実現される設計部が順次に動作
するときに回路網からのベクトルをメモリに書込み、更
に捕捉された応答ベクトルを、解析のためにホストコン
ピュータへ戻すことによって行われる。連続的且つ、リ
ニアな一連のメモリロケーションを読出す必要があるた
め、前記と同様、アドレスストリームを2進カウンタに
よって設ける。図30はこのような応答ベクトルメモリ
を開発する手段を示している。刺激メカニズムのよう
に、クロック信号ECLKがプロセスを制御する。各応
答ベクトルの度毎に、ECLKの同期をとる。2進カウ
ンタはアドレスシーケンスを提供する。ECLKがハイ
になると、カウンタは次のベクトルのアドレスまでカウ
ントアップする。ECLKがローになると、応答ベクト
ルの値がトライステートドライバによってRAMDQデ
ータピンに伝達され、書込みのためにRAMがイネーブ
ルされる。ECLKが再びハイになるとこの値はRAM
ロケーションに書込まれ、RAM書込みイネーブル及び
トライステートドライバイネーブルはディゼーブルさ
れ、カウンタは次のベクトルのアドレスまで進む。この
プロセスは繰り返され、実現される設計部からの一連の
応答ベクトルを記録する。この構造は繰り返され、刺激
が多くの回路網に供給される。刺激ベクトルをRAMに
書込むために用いられるホストコンピュータへのインタ
フェースは、簡単のため図示していないが、以下で引用
する図面において更に詳細に説明する。一般的に、実現
される設計部を刺激し、これらの応答を発生させる。刺
激が刺激ベクトルメモリから生じる場合、両ベクトルメ
モリは同一のECLK信号を用いている。ECLK信号
は、新しいアドレスがカウンタから読み取られ、RAM
をアドレス指定するとともに、データが読出され、刺激
Dフリップフロップをセットアップするのに十分長くハ
イである必要がある。また、ECLK信号は、刺激が実
現される設計部に影響を及ぼし、この影響に対するすべ
ての応答が安定し、且つ、これらの応答がRAMに書込
まれるのに十分長くローでなければならない。刺激がい
ずれかから生じる場合、応答回路網を正しくサンプリン
グするために、応答ベクトルメモリのECLK信号は実
現される設計部と同期されている必要がある。
【0040】1.3.2.3 刺激及び応答のためのベク
トルメモリ 図31で示されているように、刺激及び応答ベクトルメ
モリシステムに関して上記のように定義された、刺激及
び応答ベクトルメモリの機能を組合わせることができ
る。RAMビットは、たとえ同一のRAMデバイスであ
っても、刺激又は応答のいずれか一方に自由に割当てる
ことができる。その理由は、ECLKがハイのときに刺
激読出し機能が生じ、そして、ECLKがローのときに
応答書込み機能がこれに続くからである。トライステー
ト応答ドライバを両方とも刺激Dフリップフロップ入力
とし、同一のRAMDQデータピンに接続することによ
って、一つのビットを刺激及び読出しの両方に用いるこ
とができる。シンプル刺激ベクトルメモリと組合せ刺激
/応答ベクトルメモリとの重要な相違点は、刺激ベクト
ルを、1回だけRAMから読出すことができるというこ
とである。その理由は、RAMビットを刺激のみに用い
た場合でさえ、各メモリロケーションをECLKの半周
期のローの時に書込むからである。このことは、RAM
チップのすべてのビットを刺激に用い、且つECLKが
書込みイネーブルを主張しない場合にのみ避けることが
できる。前の図面は、一般的な方法でベクトルメモリを
実現したものを図示している。更に、点線は、いかにし
てロジックチップ(“MAチップ”及び“MD
‘n’”)を構成することでベクトルメモリロジック機
能を実現することができるかを示すものである。これら
ロジックチップは、適切にRAMチップ及びリアライザ
相互接続(Xチップ)に接続されている。ベクトルメモ
リと、ソフトウエアからの刺激を電気的な型に再び戻す
変換については、米国特許第4,744,084号明細書
において詳細に説明されている。この内容を、参考のた
めにここで用いる。
【0041】1.3.2.4 フォールトシミュレーショ
ンのためのベクトルメモリ リアライザフォールトシミュレーションシステムについ
ては、これについてのセクションにおいて説明する。フ
ォールトシミュレーションでは、応答はベクトルメモリ
に捕捉されず、その代わりに、フォールト応答ベクトル
メモリによって所定の良好な回路の応答と比較される。
フォールト応答ベクトルメモリは、以下の点において上
で示した簡易刺激ベクトルメモリと同一のものである。
すなわち、MDチップのフリップフロップの出力を用い
て回路網を駆動する代わりに、出力はXORゲートによ
って回路網の値と比較される。XORゲートを、ECL
Kが同期をとるセットフリップフロップに接続し、回路
網とメモリとの差を表示しているXORゲートがハイの
場合フリップフロップをセットする。ホストは、ホスト
インタフェースを介してこのセットフリップフロップを
読出すことができ、差が検出されているかどうかを調べ
ることができる。
【0042】1.3.2.5 実現される設計部における
ベクトルメモリの相互接続 実現される設計部へのベクトルメモリの接続方法は多く
の方法が考えられる。1以上のロジックチップに直接接
続され、及び/又は相互接続パスのいずれか又はすべて
に接続されたベクトルメモリを用いて、リアライザシス
テムを設計することができる。例えば、ベクトルメモリ
を、Lチップ及びXチップを用いてロジックボードに取
り付けることができるとともに、ボードとは離れている
X−Yパスに接続することができる。ベクトルメモリ
を、YレベルクロスバーのYチップボードに取り付ける
とともに、X−Y及びY−Zパスに接続することもでき
る。ベクトルメモリを、ロジックチップの代わりにLチ
ップロケーションに取り付け、Lチップロケーションに
作用するL−Xパスに接続するというテクニックもあ
る。この場合、これらL−XパスをベクトルメモリとX
チップとの間にのみ接続する。Xチップを構成すること
によって、実現される設計部の回路網への接続を行い、
ベクトルメモリを回路網に接続する。この際、回路網は
Xレベル相互接続を介してつながっている。モジュール
の方法でロジックチップをベクトルメモリモジュールに
置き換え、リアライザシステムを、必要な数の又は必要
よりも少数のベクトルメモリを用いて構成することがで
きる。リアライザ設計部メモリを、Lチップロケーショ
ン中の1以上のロジックチップに代えて取り付けている
ため、このテクニックを用いて、共通ハードウエアメモ
リモジュールを設計部メモリモジュール又はベクトルメ
モリモジュールとして用いることができる。メモリモジ
ュール中にロジックチップを構成するとともに、リアラ
イザシステムの相互接続を適切に行うことによって機能
を選択する。これは、好適例において用いられているベ
クトルメモリアーキテクチャである。
【0043】1.3.2.6 特別なベクトルメモリ設計
部 好適例において、共通メモリモジュールを、設計部メモ
リ及びベクトルメモリ応用の両方のために使用する。そ
の一般的なアーキテクチャ及び設計は、設計部メモリの
セクションにおいて説明し、ここでは説明しない。いか
にして、モジュールをベクトルメモリとして用いるかの
詳細については、以下に示すとおりである。以下の2個
の図面は、ホストインタフェースからの完全読出し/書
込みアクセスを用いて、組合せ刺激/応答ベクトルメモ
リのためのMA及びMDチップ中に前記と同様のロジッ
クを構成することを示している。ホストコンピュータが
非活動状態である場合、すべての動作は上記簡単な例に
て示したのと同一のテクニックに従っている。図32に
おいて、ホストインタフェースを介してホストが出力す
るECLK信号を、相互接続を介してMAチップに相互
接続している。ECLK信号は、各MAチップで構成さ
れるアドレスカウンタの同期をとる。各々、一組のRA
Mを制御している1以上のMAチップをモジュール中に
設けているので、各MAチップは、ベクトルアドレスカ
ウンタのコピーを有している。すべてのカウンタは、同
一のコントロール(ECLK及びバスインタフェースか
らのリセット信号)を得ているため、その各々は常に他
のカウンタと同一のアドレスを送信する。通常(バスイ
ンタフェースが非活動状態の場合)、アドレスがカウン
タ出力から送られ、RAMのアドレス指定を行う。EC
LKがロー状態(書込み応答位相)の場合、デコーダロ
ジックは、前述の例と同様にすべてのRAM書込みイネ
ーブルを主張する。ECLKは、コントロールバスにも
伝達され、MDチップのロジックを駆動する。MDロジ
ックは刺激及び応答ベクトル値それ自体を処理する(図
33)。通常(バスインタフェースが非活動状態の場
合)、ECLKがハイ状態のとき、RAMは刺激ベクト
ル値を読出し、ECLKがロー状態になると、RAMと
フリップフロップとを同期させる。フリップフロップ
は、上記と同様に各回路網に刺激を与えるためのもので
ある(その内の一つを図示する)。従って、刺激を相互
接続Xチップを介して回路網へ伝達する。ECLKがロ
ー状態の場合、すべてのトライステートイネーブル(e
0、e1、・・・en)が主張され、相互接続(2個を
図示する)を介して回路網から出力される応答値をマル
チプレクサを介してRAMDQデータピンに伝達する。
ホストコンピュータが、ホストインタフェースバス(特
に、好適例のRバス)を介してこのメモリをアクセスす
る場合、各々のMAチップ中に構成されるバスインタフ
ェースロジックが活動状態となる。これは、アドレスマ
ルチプレクサ(mux)を切り換え、バスがRAMのア
ドレス指定を行う。バスサイクルがRAMに書込みを行
うためのものである場合、デコーダロジックは、アドレ
スビットを用いてどのRAMに書込みを行うべきである
かを解読するとともに、適切な書込みイネーブル信号を
出力する。RAMを選択するのに必要とされるアドレス
ビット及び読出し及び書込み制御信号も、コントロール
バスを介してMDチップに伝達される。MDチップにお
いては、バスが読出しサイクルを行う場合、デコーダロ
ジックはすべてのトライステートRAMDQピンドライ
バをディゼーブルし、アドレスビットを用いて読出しマ
ルチプレクサを介してアドレス指定されたRAMのDQ
データ出力を選択し、更には、バス読出しイネーブル信
号がデータ値をこのビットのためのホストインタフェー
スバスのデータラインに伝達する。バス書込みサイクル
において、デコードロジックは、書込みマルチプレクサ
を用いて、応答を与える回路網ではなく、ホストインタ
フェースバスのデータラインから生じるデータ値を選択
するとともに、アドレス指定されたRAMのためのトラ
イステートRAMDQドライバをイネーブルし、データ
をRAM入力へ伝達する。
【0044】1.3.2.7 ベクトルメモリの設計変換
及び仕様 回路網をベクトルメモリに接続すべきであるということ
を説明するために、ユーザは、回路網に入力設計に関す
る特別な特徴を付加し、特定のベクトルメモリ及び接続
が刺激のためのものであるのか又は応答のためのもので
あるのかを説明する。設計部変換方法は、一組の所定の
部分的ネットリストファイルに基づくものであり、この
内の一つは各モジュールのロジックチップのためのもの
であり、前記と同様ベクトルメモリ刺激及び応答接続
と、ベクトルメモリデータパス及びコントロールロジッ
クと、バスインタフェースロジックとに関するステート
メントを用いている。この方法では、ERCGAネット
リスト変換ツールは、任意の出力端子又はI/Oピンに
接続されていない入力端子、及び任意の入力端子又はI
/Oピンに接続されていない出力端子のような、通常は
接続されていないネットリストファイル中の基本要素及
び回路網のためのロジック及び相互接続を構成すること
はない。各ベクトルメモリビットに対する刺激接続及び
応答接続のためにロジックを設ける。ネットリストに供
給されるいずれか一方の相互接続のみが実際に構成さ
れ、他方は構成されない。その理由は、通常それをネッ
トリストに接続しないからである。予め定義されたファ
イルは、相互接続を用いてベクトルメモリ刺激接続とベ
クトルメモリ応答接続とを接続するのに用いるモジュー
ルI/OピンのI/Oピン数の仕様を除いて、完全なも
のである。各ファイルにおける刺激及び応答接続の数
を、何個のI/Oピンをファイルのロジックチップ中に
用いることができるか、どの程度のロジックを各チップ
に、更には全体としてどの程度のロジックをモジュール
に設けることができるか、によって決定する。その方法
は、以下のとおりである。:設計部変換のセクションに
おいて説明したように、以下のようなベクトルメモリの
特別な例外を有するものの、一般的な方法を設計部変換
に用いる: ・設計部リーダは、ベクトルメモリ接続のために設けら
れた回路網を識別するために入力設計ファイルからの特
性情報を読出し、且つ、バスインタフェースロジックで
はなく、回路網に接続された1以上のベクトルメモリ基
本要素を、その設計部データ構造に組込む。設計部リー
ダは、ホストインタフェースクロック発生器及びベクト
ルメモリ基本要素に接続されたECLK回路網を作り出
す。 ・パーティショナとは、ユーザが、メモリモジュールを
取り付けるボード上のいずれかのチップ指定するという
ことである。このデータに基づき、パーティショナは、
ベクトルメモリ基本要素を通常の方法でメモリモジュー
ル中に分割する。 ・インタコネクタは、他のロジックチップ基本要素と同
一のベクトルメモリ基本要素を処理し、これらを回路網
中の他の基本要素を用いて接続しているL−Xパスを決
定する。 ・リアライザシステム中の各ロジックチップのネットリ
ストファイルに書込みを行う場合、各ベクトルメモリ回
路網接続は以下によってネットリストされる: 1)どのロジックチップが、相互接続手続によって基本
要素が選択したパスを接続するかを決定する。 2)通常のロジックチップI/Oピンナンバを得る際に
説明したのと同様の手続を用いて、パスナンバ及びロジ
ックチップナンバからロジックチップI/Oピンナンバ
を得る。 3)これまで他の回路網に割当てられていないロジック
チップに関する回路網から、予め定義された刺激又は応
答ベクトルメモリ接続を選択する。 4)ステートメントをこのロジックチップのネットリス
トファイルに加え、このロジックチップI/Oピンナン
バを、予め定義されたベクトルメモリ接続に接続するた
めに用いることを明示する。 ・設計変換システムは、対応テーブルファイルも送出
し、回路網の名称をベクトルメモリ及びベクトルメモリ
ビット位置と関連づけ、動作中使用する。 ・ERCGAネットリスト変換ツールは、用いられるベ
クトルメモリ刺激及び応答入力端子のロジック及び相互
接続のみを構成する。
【0045】1.3.2.8 スティミュレータ スティミュレータは、単一の記憶ビットとし、ホストコ
ンピュータで制御し、設計部の回路網を駆動する。ステ
ィミュレータは、ホストが入力信号を設計部に供給する
のに用いられる。2種類のスティミュレータ、すなわ
ち、ランダムアクセスタイプとエッジ検知タイプとを設
ける。実際のランダムアクセススティミュレータは、フ
リップフロップであり、その出力信号はホストインタフ
ェースバスを介し、ホストが必要に応じてデータをロー
ドする設計部回路網を駆動する。ランダムアクセスステ
ィミュレータは、設計部の動作を変化させることなく、
他の刺激された回路網に呼応して、常に値を変化させる
ことのできる回路網を刺激するのに用いられる。このよ
うな回路網の一例としてはレジスタへのデータ入力があ
る。各スティミュレータは唯一のバスアドレスを有し、
ホストがデータをこのアドレスに書込む場合に、バスイ
ンタフェースロジックは、データをD入力に与えるとと
もにスティミュレータフリップフロップのクロック入力
の同期をとる(図34)。エッジ検知タイプのスティミ
ュレータは、設計部の動作、例えばレジスタへのクロッ
ク入力を修正するための他の回路網と同期しながら変化
しなければならない回路網を刺激するのに用いられる。
第2フリップフロップを、ランダムアクセススティミュ
レータと設計部回路網との間に配置する。同期をとらな
ければならない一群のこのようなスティミュレータのす
べてを共通クロックに接続する。新しい一組の回路値を
入力するために、ホストは、新しい値を、たとえどのよ
うなオーダであっても、上記と同様に、ホストインタフ
ェースバスを介して各スティミュレータの第1フリップ
フロップにロードする。新しい値が設計部にすべて供給
される必要がある場合、ホストは、共通‘同期クロッ
ク’を周期化し、一度にすべての値を第2フリップフロ
ップにロードし、このようにしてすべての回路網を同時
に駆動する(図35)。
【0046】1.3.2.9 サンプラ サンプラは、単一の記憶ビットであり、ホストコンピュ
ータによって制御され、設計部の回路網を受信する。サ
ンプラはホストによって使用され、設計部からの出力信
号を捕捉する。サンプラの最も簡単な形は、D入力端子
で設計部回路網を受信し、同期をとることができ、且
つ、ホストインタフェースバス及びバスインタフェース
ロジックを介してホストが必要に応じて読出すことので
きるフリップフロップである。通常、多数のサンプラ
を、共通‘サンプルクロック’に接続する。サンプラデ
ータ出力は、‘サンプルクロック’出力と同様に、唯一
のバスアドレスを有している。ホストは、クロックを周
期化し、一群のサンプルを取り出し、その後、サンプリ
ングされたデータ値を一つ一つ読出す(図36)。必要
とされるホストI/Oの数を削減するために、第2フリ
ップフロップを付加的に加え、変化検出サンプラを構成
する。第2フリップフロップを、サンプリングフリップ
フロップと同一のクロックに接続し、その入力端子をサ
ンプラの出力端子に接続する。結果的に、第2フリップ
フロップは最も新しいクロック周期前にサンプラが有し
ていた値を保持している。2個のフリップフロップ出力
をXORゲートで比較する。XORゲートは、サンプリ
ングされた値の変化のため2個のフリップフロップが相
違する場合にハイ状態の値を出力する。一群のサンプラ
からの全XOR出力信号をホストが読出し可能なORゲ
ートによって加算する。上述したように、‘サンプルク
ロック’を周期化することによって、回路網をサンプリ
ングした後、ホストは、まず第1にこのORゲートの
‘変化’値をチェックし、グループ中のどの値が変化し
たのかを調べる。変化していない場合には、これらサン
プラのいかなる値をも読出す必要がない(図37)。
【0047】1.3.2.10 スティミュレータ及び
サンプラの設計変換及び仕様 サンプラ及びスティミュレータフリップフロップ、ロジ
ックゲート及びバスインタフェースロジックを、リアラ
イザシステムロジックチップ中に実現する。回路網を、
サンプラ又はスティミュレータに接続すべきであること
を説明するために、ユーザは、回路網に、入力設計に関
しての特別な特性を与え、スティミュレータ又はサンプ
ラの特定のタイプとグループの同一性とを識別する。ス
ティミュレータ及びサンプラを構成し、これらを、設計
部の残りの部分及びバスインタフェースに接続するため
に、設計変換ソフトウエアシステムを用いる一般的な方
法は以下に示すとおりである:設計変換のセクションに
おいて説明したように、以下のようなスティミュレータ
及びサンプラに関しての特別な例外があるものの、一般
的な方法を設計部変換に用いる: ・設計部リーダは、特性情報を入力設計ファイルから読
出し、スティミュレータ及び/又はサンプラのために設
けられた回路網を識別し、バスインタフェースロジック
ではなく、回路網に接続されたスティミュレータ及びサ
ンプラの基本要素を設計データ構造に組み込む。 ・システムパーティショナは、このような基本要素の各
々が、ロジックチップ中に何個の等価ゲートを有してい
るかについてのデータベースを有している。システムパ
ーティショナは、バスインタフェースロジックの等価ゲ
ート指数も有している。このデータに基づき、システム
パーティショナは、その通常の分割化アルゴリズムに従
ってスティミュレータ及びサンプラをロジックチップに
割当てる。この際、システムパーティショナが、バスイ
ンタフェースロジックのサイズによって、ロジック容量
の限界を小さくするという付加的な条件を課し、1以上
のスティミュレータ及び/又はサンプラを有するロジッ
クチップの各々が、バスインタフェースロジックブロッ
クを有しなければならないということを説明する。 ・インタコネクタは、他の基本要素と同じく、スティミ
ュレータ及びサンプラ基本要素を処理する。 ・リアライザシステムにおける各ロジックチップのネッ
トリストファイルに書込みを行う場合、以下の手続を用
いて、各サンプラ又はスティミュレータ基本要素をネッ
トリストする。 1)サンプラ又はスティミュレータを構成するゲート及
び/又はフリップフロップの基本的ステートメントを、
ステートメント分割化のためのロジックチップのネット
リストファイルへ送信する。相互接続基本要素について
説明したのと同様の方法に従って、サンプリング又は刺
激される回路網に亘る付加的な回路網のネームを、サン
プリング又は刺激される回路網のネームから得る。 2)これが、この特別なロジックチップファイルにネッ
トリストされる第1スティミュレータ及びサンプラであ
る場合、バスインタフェースの予め定義されたネットリ
ストファイルセグメントを用い、バスインタフェースを
構成する基本要素及び回路網をロジックチップに供給す
る。インタフェース毎に1回のみ使用されるバスインタ
フェース相互接続には前記ファイルセグメントで定義さ
れる標準的なネームが与えられる。スティミュレータ又
はサンプラロジックに接続されるものには、捕捉した回
路網のネームが与えられる。このネームは、ステップ1
において、基本要素を出力する際に用いたネームと整合
している。 簡単ではあるが、一般的ではない方法を用いて、メモリ
モジュール又はユーザ指定のデバイスモジュールのロジ
ックチップ中にのみ、スティミュレータ及びサンプラを
実現する。このことは、ERCGAネットリスト変換ツ
ールがどの出力端子又はI/Oピンにも接続されていな
い入力端子、及びどの入力端子又はI/Oピンにも接続
されていない出力端子のような、通常接続されていない
ネットリストファイル中の基本要素及び回路網のための
ロジック及び相互接続を構成しないということを仮定し
ている。このことは、一組の予め定義された部分的ネッ
トリストファイルに基づくものである。このファイルの
一つは、各モジュールのロジックチップのためのもので
ある。この際、以下のステートメントを用いている。 1)すべて共通‘同期クロック’に接続されている多数
のエッジ検知タイプのスティミュレータ。 2)すべて同一の‘サンプルクロック’に接続された多
数の変化検出サンプラ。 3)上記のすべてのためのバスインタフェースロジッ
ク。 予め定義されたファイルは、サンプラとスティミュレー
タとを相互接続を用いて接続するのに用いられるモジュ
ールI/OピンのI/Oピンナンバの仕様を除き、完全
なものである。コントロールバスを用いて、同期及びサ
ンプルクロックのような共通信号をロジックチップ間に
分配する。各ファイル中のスティミュレータ及びサンプ
ラの数を、何個のI/Oピンがファイルのロジックチッ
プ中に利用できるか、どの程度のロジックを各チップが
有することできるか、及び全体としてのモジュールによ
って決定する。その方法は、以下に示すとおりである:
設計変換のセクションにおいて説明したような、一般的
な方法を設計変換に用いる。この際、スティミュレータ
及びサンプラに関して、以下のような例外がある。: ・設計部リーダは、スティミュレータ及びサンプラのた
めに設けられた回路網を識別するために、入力設計ファ
イルからの特性情報を読出し、且つ、バスインタフェー
スロジックではなく、回路網に接続されたスティミュレ
ータ及びサンプラ基本要素を、その設計部のデータ構造
に組込む。 ・パーティショナとは、ユーザが、メモリモジュール及
びユーザ指定のデバイスモジュールを取り付けるボード
上のいずれかのLチップを指定するということである。
このデータに基づき、パーティショナはまずメモリ及び
USD基本要素をモジュールに割当て、その後、その通
常の分割化アルゴリズムに従い、各モジュール単位で利
用することのできる数の限界に至るまで、スティミュレ
ータ及びサンプラ基本要素をこのようなモジュールの残
りへと分割化する。 ・インタコネクタは、他のロジックチップ基本要素と同
一なスティミュレータ及びサンプラを処理し、これら
を、回路網で他の基本要素を用いて接続しているL−X
パスを決定する。 ・リアライザシステム中の各ロジックチップのネットリ
ストファイルに書込みを行う場合、各サンプラ又はステ
ィミュレータ基本要素は以下によってネットリストされ
る: 1)どのロジックチップが、相互接続手続によって基本
要素が選択したパスを接続するかを決定する。 2)通常のロジックチップI/Oピンナンバを得る際に
説明したのと同様の手続を用いて、パスナンバ及びロジ
ックチップナンバからロジックチップI/Oピンナンバ
を得る。 3)これまで他の回路網に割当てられていないロジック
チップに関する回路網から、予め定義されたスティミュ
レータ/サンプラを選択する。 4)ステートメントをこのロジックチップのネットリス
トファイルに加え、このロジックチップI/Oピンナン
バを予め定義されたサンプラ/スティミュレータに接続
するために用いることを明示する。 ・ERCGAネットリスト変換ツールは、使用するステ
ィミュレータ、サンプラ及び関連あるバスインタフェー
スロジックのためのロジック及び相互接続を構成する。 両方の方法において、設計部変換システムは対応テーブ
ルファイルも出力し、動作中に使用するために、回路網
ネームを特定のスティミュレータ及びサンプラに関連さ
せるとともに、アドレスをホストインタフェースバスで
通信する。
【0048】1.3.3 ユーザ指定デバイス 構成されたロジック及び相互接続チップの形態で実際に
動作するハードウエア中に入力設計部を実現するため
に、他の実際のハードウエアデバイスをリアライザシス
テムに接続することが実用的であり且つ望ましい。マイ
クロプロセッサ又は他のVLSI ICチップ、デジタ
ル/アナログコンバータ、ディスプレイデバイス、入力
キーボード及びスイッチ、記憶デバイス、コンピュータ
入力/出力バス等のデジタル入出力を具える任意のデバ
イスを設けることができる。これらを、回路ボード又は
大規模スケール構成素子のような、実現される設計部の
一部を構成するデジタルシステムの一部とすることがで
きる。これらのデバイスは、リアライザシステムのロジ
ックゲート、フリップフロップ及びメモリ中で具現化す
ることのできない、実現されるべき入力設計部の一部を
示している。これは、ディスプレイのような物理的な理
由によるもので、大規模記憶デバイスのような、リアラ
イザシステムのリソースが不足しているため、又は標準
的マイクロプロセッサのように、ロジック的な記述を利
用することができないためである。代わりに、これらの
デバイスは、すでに構成され正しいことが証明されてい
る半通例のゲートアレイチップのような、ユーザがリア
ライザシステムリソースを用いて実現することを望まな
いデバイスともなり得る。その理由は、これを実現する
ために、リアライザシステムリソースを用いる必要がな
いため、又はユーザが設計部の実現される部分のデバイ
スを用いての正確な動作を試験したいためである。これ
らのデバイスは、リアライザシステムの一部ではない
が、ユーザの設計の必要に応じて、ユーザによって指定
されるものであるため、これらのデバイスを“ユーザ指
定デバイス”(USD)と称する。ユーザがこのような
デバイスをリアライザシステムハードウェアに接続する
のに用いるような標準的な手段を、リアライザシステム
に設けるのに役立つような、多様なUSDを設ける。こ
の手段はユーザ指定のデバイスモジュール(USDM)
である。
【0049】1.3.3.1 ユーザ指定のデバイスモジ
ュール ユーザ指定のデバイスモジュールは: 1)物理的にユーザ指定のハードウエアデバイスを接続
する手段を具えている。 2)USDとリアライザシステムロジック及び/又は相
互接続チップとの間を接続している。USDが、ロジッ
クチップと類似する設計部の役割を果たすため、ロジッ
クチップと同様の方法で、USDMを相互接続するのが
好都合である。 2)通常、Lチップロケーションに取り付けられたロジ
ックチップが行うように、USDピンを相互接続ピンに
自由に割当てる機能を設ける。 ユーザ指定のデバイスモジュールは、メモリモジュール
がそのRAMチップに有しているのと類似の機能を具え
ている必要があるので、USDMのアーキテクチャは、
メモリモジュールのアーキテクチャと類似している。図
38は、USDMアーキテクチャを示している。USD
Mプリント回路基板、すなわち、USDMにプラグで取
り付けられている移動可能なドーターカード(daughter
card)の領域である、ユーザ指定のデバイス取り付け領
域、又はマイクロプロセッサ、エミュレータ(emulato
r)計器と共通する方法で、ケーブルを介して接続され
ている他のこのような領域にデバイスを取り付ける。端
末のブロックは、デバイス入出力ピンと、USDMロジ
ックチップとの間に、コネクタ端末細条、一組のプリン
ト回路ボードパッド、又は他のこのような手段を介して
電気的な接続を行うための手段を具えている。端末のブ
ロックは、デバイスの電源も具えている。物理的な、端
末ブロックピンの容量が許す限り、1以上のデバイスを
取り付けることができる。その代わりに、デバイスを、
一般的な方法で、ケーブル及び中継装置を介して、遠隔
的に接続することもできる。MA及びMDロジックチッ
プの各々は、端末ブロックに接続されたI/Oピンと、
相互接続に接続されたI/Oピンとを具えている。これ
らのチップを、メモリモジュールアドレス及びデータパ
スロジックチップにおいて説明したのと同様の方法で相
互接続に接続する。付加的に、図にて示したように、メ
モリモジュールにチップを使用するのと同様の目的のた
めに、これらのチップをホストインタフェースバス及び
/又は共通コントロールバスにも接続する。一般的に、
バスデータビットがMDチップに分配され、これによっ
て、相互接続に分配されるように、USDアドレス及び
データバスをMDチップに接続する。MAチップをUS
Dコントロールライン及び付加的にUSDアドレスライ
ンに使用する。図面は、可能性を説明するために接続さ
れた3個の仮説的ユーザデバイスを示している。USD
0は、MDチップを介して接続されたデータ及びアドレ
スバスと、MA0を介して接続されたコントロールライ
ンA、B及びCとを有している。USD1は、MDチッ
プに接続された3個のデータバスと、MAチップを介し
てのアドレス及びコントロール接続とを有している。U
SD2は、アドレス指定のためのMA1と、データのた
めのMDチップとを使用する。任意の特定のケースにお
いて、リアライザシステムのユーザは、これらの設計及
び使用にとって適切な方法を用いてこれらのUSDを接
続することができる。前記セクションにおいて示したよ
うに、メモリモジュールMDチップにおいて、双方向性
RAMDQピンを相互接続するのと同様の方法を用い
て、双方向性USD接続を相互接続する。相違点は、入
力設計部の回路網を、出力イネーブルコントロールのよ
うにして明示する必要があるという要件である。この回
路網を、メモリモジュール数が25及び26の場合に示
される“設計出力イネーブル”と同様の方法で相互接続
ロジックに接続し、MDチップの双方向性ドライバを制
御する。通常、適切な出力イネーブルコントロール回路
網を入力設計部中に設けていない場合、ユーザはこれを
設ける必要がある。
【0050】1.3.3.2 好適例のUSDM 図39において示した好適例において、RAMチップの
代わりにUSDを取り付けるための領域に関して、US
DMはリアライザメモリモジュールと同一である。8個
のMDチップの各々は16個までのUSDピンを相互接
続し、2個のMAチップの各々は23個までのUSDピ
ンを相互接続する。図は、2個の実際に取り付けられた
VLSIデバイス、すなわちモトローラMC68020
の32ビットマイクロプロセッサ(“MC68020 32 Bit M
icroprocessor User's Manual ”,Motorola, Inc., Ph
oenix, 1984)と、モトローラMC68881浮動小数
点コープロセッサ(“MC68881 Floating Point Coproce
ssor User's Manual”, Motorola, Inc, Phoenix, 198
5)とを示している。これらのデバイスは、USDの優
れた例である。その理由は、一般的にこれらのデバイス
をデジタルシステムの設計に用い、これらのロジック回
路網表現をユーザが利用可能とすることはできないから
である。これらのデバイスは、以下の入/出力ピンを有
しており、この詳細については以下に示すとおりであ
る。MC68020 データ :D31−D0、双方向性 出力イネーブル条件:R/Wが“書込み”を示し、且つDBEN が真である場合、D31−D0は、出力信号を送信し、そうでな い場合には、入力信号を受信する。 アドレス :A31−A0、出力 中央入力端子:CLK、DSACK0、DSACK1、AVEC、CDIS、I PL0−IPL2、BR、BGACK、RESET、HALT、 BERR 中央出力端子:R/W、IPEND、BG、DS、DBEN、AS、RMC、O CS、ECS、SIZ0、SIZ1、FC0−FC2MC6888A データ :D31−D0、双方向性 出力イネーブル条件:R/Wが“読出し”を示し、且つDSACK0及び/又は DSACK1が真の場合、D31−D0は、出力信号を送 信し、そうでない場合には、入力信号を受信する。 アドレス :A4−A0、入力 中央入力端子 :CLK、SIZE、RESET、AS、R/W、DS、C S 中央出力端子 :DSACK0、DSACK1 データバスとアドレスバスとをMDチップを用いて相互
接続する。メモリデータパスのセクションにおいて説明
したように、バスデータビットをクロスバーを横切って
スライスし、図に示すように相互接続を容易にしてい
る。制御信号はMAチップによって相互接続される。出
力イネーブル制御信号は、上述したように、制御信号に
接続された特別のロジックによって発生される。ユーザ
は、このロジックを入力設計部に設け、設計部の残りの
部分を用いてLチップ中に実現する。各MDチップが異
なるL−Xパスの組を接続し、通常出力イネーブルコン
トロールが全バスに関して一般的なものであることか
ら、設計部変換システムは、これらの回路網をMAチッ
プの内のいずれか1個に接続するとともに、USDMコ
ントロールバスを用いて、回路網を接続の必要性がある
MD及びMAチップに接続するように、MA及びMDチ
ップを構成する。
【0051】1.3.3.3 ユーザ指定のデバイスのた
めの設計部の変換 USDを特別の基本要素を用いて入力設計部内に設け
る。USDは、ユーザが作成するUSD仕様ファイルを
示している特性データを伝達する。このファイルは、ど
のLチップロケーションにこのデバイスを有するUSD
Mを取り付けるかを示すとともに、USDのI/Oピン
をリストする。この際、入力設計部のUSD基本要素中
に使用されているピンネームを使用している。各ピンに
対して、USDは、ピンを接続しているUSDMロジッ
クチップ及びピン数と、ピンが入力、出力又は双方向性
であることとをリストする。ピンが双方向性である場合
には、入力設計部中の出力イネーブルコントロール回路
網のネームもリストする。設計部変換ソフトウエアシス
テムは、USDを構成するとともに、USDを設計部の
残りの部分に接続するネットリストファイルを出力す
る。一般的な方法を使用するが、これには、以下のよう
なUSDに対する例外がある: ・設計部リーダは、USD基本要素を設計部データ構造
中に読出す。設計部リーダは、USD仕様ファイル中で
読出しを行うために、ファイル特性を使用するととも
に、後の使用のための基本要素記憶と関連する情報を記
憶する。基本要素記憶を、各々異なる出力イネーブルコ
ントロール回路網に接続された特別のピンに供給する。 ・変換ステージは、構成が利用可能であり、且つ、ピン
が正しく構成と対応していることをチェックする。 ・システムパーティショナは、USDをUSD仕様ファ
イルで特定されるLチップロケーションに配置する。 ・インタコネクタは、USDピンに接続された回路網を
特定のL−X相互接続パスに割当てる。インタコネクタ
はこれを行う際、USDピンに接続された回路網を、U
SD仕様ファイルで特定されるMA又はMDチップに接
続するパスにのみ割当てることができ、且つ、イネーブ
ルコントロール回路網ピンを、MAチップに接続してい
るパスにのみ割当てることができるという制約を条件と
している。 ・ネットリストファイルをUSDMに送信するために:
このUSDMのUSDを制御している各々の出力イネー
ブルコントロール回路網が:基本要素を、この回路網の
MAチップのネットリストファイルに送信する:その理
由は、この回路網のために使用するL−Xパスを受信し
ている入力バッファが、出力バッファの入力を駆動し、
これによって、この回路網に割当てられたコントロール
バスラインを駆動するからである。このUSDMのUS
Dに接続されている各回路網が:USD入力ピンを駆動
する場合、基本要素を、このピンのロジックチップのネ
ットリストファイルに送出する:その理由は、この回路
網に使用される受信パスからの入力バッファが、このU
SDピンのために用いられる端末ブロックピンを駆動す
る出力バッファの入力端子を駆動するからである。US
D出力ピンを受信する場合、基本要素を、このピンのロ
ジックチップのネットリストファイルに送信する:その
理由は、この回路網に用いられる駆動パスにつながって
いる出力バッファが、このUSDピンに用いられる端末
ブロックピンを受信している入力バッファの出力を受信
する。USD双方向性ピンに接続している場合、基本要
素を、このピンのロジックチップのネットリストファイ
ルに送信する:その理由は、この回路網に用いられてい
る受信パスからの入力バッファが、このUSDピンに用
いられる端末ブロックピンを駆動しているトライステー
ト出力バッファのデータ入力端子を駆動し、この回路網
に用いられている駆動パスにつながっている出力バッフ
ァが、このUSDピンに用いられている端末ブロックピ
ンを受信する入力バッファが一方の入力端子を駆動する
2入力ANDゲートの出力を受信し、このピンの出力イ
ネーブルコントロール回路網に割当てられたコントロー
ルバスラインからつながっている入力バッファが、トラ
イステート出力バッファのイネーブル入力端子及びAN
Dゲートの他の入力端子を駆動するからである。
【0052】1.4 構成 ロジック及び相互接続チップ技術のセクションにおいて
説明したように、各チップの構成ビットパターンが、E
RCGAネットリスト変換ツールによって出力される。
リアライザ設計変換システムの最終ステージが、すべて
のチップの発生する構成ファイルから設計部の単一バイ
ナリ−構成ファイルへと送られるデータを捕捉する。こ
れによって、データがホストコンピュータ中に永久に記
録される。リアライザシステムを各々使用する前に、構
成ファイルからデータを読出し、このデータをホストイ
ンタフェースを介してリアライザハードウエアに伝達
し、更にチップにロードすることによって、使用する設
計部のロジックチップ及び相互接続チップを構成する。
ホストインタフェースと、システム中のすべてのロジッ
クチップ及び相互接続チップとの間に、構成接続を設け
る。チップを構成すると、すべてのロジック機能及び相
互接続の合計は入力設計部によって特定されるものと一
致し、設計部が動作できる。好適例においては、Xilinx
製のLCAをロジックチップ及びクロスバーチップとし
て用いる。バイナリー構成ビットパターンを、1回に1
ビットずつ、LCA構成メモリのシリアルシフトレジス
タにロードすることによってLCAを構成する。各ビッ
トを構成データ入力端子(DIN)に供給するととも
に、1回構成クロック(CCLK)を周期化してロード
する。各LCAとホストインタフェースとの間の特別な
構成接続は設けていない。その理由は、システムが全部
で3520個までのロジックチップ及びクロスバーチッ
プを具えなければならないからである。その代わりに、
マルチビットデータパスと構成クロックとを有する構成
バスを設け、これを、LCAを有するすべてのボードに
接続する。構成を行うために、ループ毎に、データパス
中のビット数と同数のチップを用いてロジックチップ及
びクロスバーチップをグループ化する。1グループ中の
すべてのチップを並列に構成する。図40に示している
ように、グループ中の各々のLCAは、バスデータパス
の異なるビットに接続された構成データ入力端子を有し
ている。各グループにおける構成コントロールロジック
ブロックを、ホストインタフェースバスと、バス構成ク
ロックと、グループ中のすべてのLCAのクロック入力
端子とに接続する。これらのコントロールロジックブロ
ックを、ホストインタフェースバスを介して、ホストの
命令によって選択的にイネーブルし、ホストインタフェ
ースバスが意図するLCAのグループがクロック信号を
受信できるようにし、このような構成としている。これ
は、ホストコンピュータがリアライザシステムを構成す
るのに行う手続である。制御及びデータ伝送はすべてホ
ストインタフェースを介して行われる:すべてのロジッ
クチップ及びクロスバーチップを構成するために:各構
成グループは:このグループのコントロールロジックブ
ロックが、構成クロックをチップに送るように指示す
る。1個のLCA中の構成ビットと同数の周期の間:こ
のグループ中の各チップの1構成ビットをバスデータパ
スにロードする。バス構成クロックを1回周期化する。
次の周期へ。このグループのコントロールロジックが、
もはや構成クロックを送信しないように指定する。次の
グループへ。
【0053】1.5 ホストインタフェース ホストコンピュータの制御の下、リアライザシステムは
周辺装置として動作する。ホストコンピュータは、設計
部の構成ファイル中に記憶された構成ビットパターンを
用いて、設計部に従ってリアライザシステムのロジック
チップ及び相互接続チップを構成する。ホストコンピュ
ータは、その外部リセット及びクロック信号を制御する
ことによって連続的な設計部の動作を制御する。従っ
て、ホストコンピュータは、スティミュレータ、サンプ
ラ及びベクトルメモリを制御するとともに、ベクトル及
び設計部メモリの内容を読出し及び書込むことにより、
設計部と相互的に作用する。ホストコンピュータは、こ
れらすべてをリアライザシステムホストインタフェース
を介して行う。ホストコンピュータは、リアライザシス
テムのホストインタフェース及び構成バスを制御する。
【0054】1.5.1 ホストインタフェースアーキテ
クチャ リアライザシステムホストインタフェースを、完全に慣
用となっているラインに沿って構成する(図41)。リ
アライザシステムは、ホストインタフェースバスコント
ローラ、構成バスコントローラ、クロック発生器及びリ
セットコントローラを具えている。これらの各々につい
て以下に説明する。インタフェースを、リアライザハー
ドウエアシャーシのボードに構成するとともに、ケーブ
ル及びインタフェースカードを介して、ホストコンピュ
ータのI/Oバスに接続する。ホストインタフェースの
コントロール機能を、特定のコンピュータの要求に応じ
て、ホストコンピュータのメモリアドレススペース、又
は、入力−出力バススペースのいずれかに作成する。
【0055】1.5.2 ホストインタフェースバス ホストインタフェースバスを、リアライザシステム中
の、正規のロジックチップ及びメモリモジュールロジッ
クチップの幾つか又はすべてのI/Oピンに接続する。
ホストインタフェースバスは、リアライザシステムコン
トロール及びデータアクセス機能を割当てるアドレスス
ペースを具えている。ホストは、最適なバスマスタであ
り、ホストインタフェースバスコントローラを介して、
アドレス指定された読出しコマンド及び書込みコマンド
をバスに送出する。ホストは、データをリアライザシス
テム機能とホストとの間に伝送する。ホストインタフェ
ースコントロールロジックブロックを、メインロジック
チップ及びメモリモジュールロジックチップにプログラ
ムし、リアライザシステム機能を、バスを介して制御で
きるようにする。このバスによって制御される機能の特
別な例としては、サンプラ、スティミュレータ、ベクト
ルメモリアドレス指定、オペレーション、ホストデータ
アクセス、及び設計部メモリホストデータアクセスがあ
る。これらのコントロールブロックは、ロジックチップ
にすべてプログラムされているため、バスアドレススペ
ース中の特別な機能及びロケーションを、すべてロジッ
クチップのプログラミングによって規定し、任意の所定
の設計部又は動作モードの必要に応じて変化させること
ができる。ホストインタフェースバスの特定の設計部
は、特定のリアライザシステムを具体化した場合のデー
タアクセススピード及びハードウエアピンの利用可能性
に依存している。好適例では、Rバスと称する11ピン
ホストインタフェースバスを、すべてのロジックチップ
の専用I/Oピンに接続している。好適例のハードウエ
アは、データ及びアドレスのために用いられる8個の双
方向性ラインと、クロックと、2個のコントロールライ
ンとを具えている。Rバスは32ビットアドレススペー
スと8ビットデータ幅とを有しており、ホストが40億
までのユニークロケーションから8ビットデータを読出
し又は書込みできるようにしている。Rバスを、アドレ
スレジスタ、データレジスタ及びコントロールレジスタ
を介して、ホストコンピュータにインタフェースする。
これらを、慣用の方法でホストインタフェースバスコン
トローラによって構成し、ホストコンピュータのメモリ
又は入力/出力スペース中に設ける。 Rバスに接続される機能の例示: 1)一つのロケーションをRバスを介して書き込む際
に、サンプリングクロックを周期化させ、ホストコンピ
ュータのコマンドに従って、他のRバスロケーションか
らサンプリングされたデータの値を読出す、1グループ
となっている8個のサンプラ。 2)ホストが特定のRバスロケーションに書込みを行う
際に、データ値を変化させる、1グループとなっている
8個のランダムアクセスメモリ。 3)各メモリロケーションを唯一のRバスロケーション
に作成している設計部メモリ。ホストデータアクセスを
行い、Rバスのアドレススペースへの読出し又は書込み
オペレーションによって、ホストがアドレス指定された
設計部メモリロケーションを読出し又は書込みすること
ができる。 他のこのような機能を容易に案出することができる。図
42に、Rバスの動作を示す。ロケーションを読出すた
めに、リアライザシステムを作動させるホストコンピュ
ータでランするプログラムは、アドレスを、ホストイン
タフェースバスアドレスレジスタにロードするととも
に、“読出し”コマンドビットをホストインタフェース
バスコントロールレジスタにセットする。その後、ホス
トインタフェースバスコントローラは、Rバス読出しサ
イクルを作動させる。1回に8ビットずつ、各々Rバス
クロックの周期で、アドレスはRバスデータラインに与
えられる。第一サイクルの間、バスコントローラは“同
期”Rバスコントローララインに、Rバスサイクルが開
始していることを表明する。その後、“読出し”Rバス
コントロールライン及びRバスクロックが5回目の周期
を成し、アドレス指定されたバスインタフェースコント
ロールロジックブロックが、その読出しオペレーション
を完成させることができる。Rバスクロックが6回目の
周期を成す間、アドレス指定されたバスインタフェース
コントロールロジックブロックが、読出しデータを8個
のRバスデータラインに伝送する。バスコントローラは
このデータを捕捉し、ホストインタフェースバスデータ
レジスタにロードするとともに、“コンプリート”コマ
ンドビットを、ホストインタフェースバスコントロール
レジスタにセットする。“コンプリート”ビットを認識
するホストプログラムをセットし、データを読出し、
“コンプリート”ビットをクリアする。ホストプログラ
ムが“書込み”コマンドビットをセットし、書込まれる
べきデータをホストインタフェースデータレジスタにロ
ードすることを除き、ロケーションの書込みも同様であ
る。バスコントローラは、5回目のクロック周期におい
て“読出し”Rバスコントロールラインを主張すること
はなく、6回目の周期においてデータをRバスデータラ
インに伝送する。この時、データがアドレス指定された
バスインタフェースコントロールロジックブロックによ
って捕捉される。ロジックチップ中に構成されるバスイ
ンタフェースコントロールロジックブロックは、上述し
た動作に従って、有限状態マシンと、完全に慣用となっ
ている方法で制御された機能を用いてRバスを接続する
データパスとを具えている。
【0056】1.5.3 構成バス 構成バス及びその使用とオペレーションとを構成セクシ
ョンで説明する。バスは、ホストインタフェースを介し
てホストコンピュータによって制御される。バスを、デ
ータレジスタ及びコントロールレジスタを介してホスト
コンピュータにインタフェースさせる。これらのレジス
タを慣用の方法でホストインタフェースハードウエアに
よって構成し、ホストコンピュータのメモリ又は入力/
出力スペースに設ける。ホストコンピュータにおいてラ
ンする構成プログラムにって、構成バスデータレジスタ
にロードされるデータを構成バスデータパスに伝送す
る。ホストコンピュータが構成バスコントロールレジス
タに書込みを行う場合、ホストインタフェースハードウ
エアは構成バスクロックを1周期させる。
【0057】1.5.4 コントローラ及びクロック発生
器のリセット リアライザシステムのリセットコントローラは、2つの
リセット信号を発生させる。システムリセット信号を、
すべてのロジック及び相互接続チップのリセット入力ピ
ンに接続する。ホストが主張する場合には、すべてのチ
ップをリセットモードにし、構成の準備状態にする。慣
用的な設計による1以上のプログラム可能なクロック信
号発生器は、すべてのLチップのI/Oピンに分配され
る出力信号を有している。ホストは、その出力周波数を
制御し、サイクルを停止させること、再びサイクルさせ
ること、特定回数サイクルさせること、連続的にサイク
ルさせること等が可能である。ホストは、リアライザシ
ステムにおいて実現される設計部のクロック発生器とし
て使用される。クロック信号を制御することによって、
設計部のオペレーションを制御する。設計部のリセット
信号を、すべてのLチップのI/Oピンに接続する。設
計部のリセット信号を、リアライザシステムにおいて実
現される設計部をリセットする手段として用いる。これ
らの信号は、リアライザシステムによって実現される設
計部との接続に利用することができる。特別な特性を入
力設計ファイル中の回路網に組み込むことによって、入
力設計部中の回路を、システムリセット又はクロックと
して選定する。設計部リーダはこの特性を認識し、回路
網を設計データ構造のリセット又はクロック回路網とし
て特徴づける。設計変換システムの相互接続及びネット
リスティング部分によって、この回路網をハードウエア
の設計リセット信号又はクロック信号に接続されたI/
Oピンに割当てる。
【0058】2 リアライザ設計変換システム リアライザ設計変換システムは、設計部リーダ、基本要
素コンバータ、パーティショナ、ネットリスティング及
び相互接続システム、ERCGAネットリスト変換ツー
ル及び構成ファイルコレクタを具えている(図43)。
ここでは、入力設計ファイルを入力として用い、出力と
して構成ファイル及び対応テーブルファイルを作成す
る。これらは、リアライザハードウエアを構成、使用す
るための種々の応用に用いられる。 入力設計を変換するために: 1)設計部リーダを用いて、設計部をメモリデータ構造
に読込む。 2)設計部データ構造中の基本要素を、ホストEDAシ
ステム固有の基本要素から、ERCGAネットリスト変
換ツールと適合するネットリストファイル中に送信する
ことのできるロジックチップ基本要素へ変換する。 3)パーティショナを用いて、各構成要素をどのロジッ
クチップに対して使用するかを決定する。 4)ネットリスティング及び相互接続システムを用い
て、リアライザハードウェアシステム中の各ロジックチ
ップ及び相互接続チップに対するネットリストファイル
を出力する。 5)ERCGAネットリスト変換ツールを繰り返して使
用することによって、各ネットリストファイルを、対応
する構成ファイルへ変換する。 6)簡単な方法である構成ファイルコレクタを用いて、
各ロジック及び相互接続チップの構成ファイルから、こ
の設計部の単一構成ファイルへ送信される構成データを
捕捉し、これを用いてリアライザハードウエアを構成す
る。 ここで説明した設計変換のための方法を、注意したこと
を除いて、入力設計部のロジックゲートとフリップフロ
ップとの組合せの変換に用いる。これらの方法の変形例
を用いて、特定目的の基本要素を変換する。これらの変
形例については該当するセクションにおいて説明する。
【0059】2.1 設計部リーダ 設計部リーダは、入力設計部ファイルを読出すとともに
対応する設計部データ構造を構成する。
【0060】2.1.1 入力設計ファイルの要件 ホストEDAシステムによって作成される入力設計ファ
イルは、基本要素及びこれらの入出力ピンに関する記述
と、2以上のピンを互いに相互接続するとともに、設計
部の入出力端子と相互接続する回路網に関する記述とを
有している。入力設計ファイルは、ネームのような、基
本要素、ピン及び回路網に関連する情報も具えている。
入力設計ファイルは、リアライザ設計変換システムが読
出すことのできるように、基本要素の形態となっていな
ければならない。“基本要素”とは、ゲート、フリップ
フロップ又はメモリデバイスのような基本的ロジック素
子である。設計者が特定することのできる基本要素によ
って規定される、より高レベルの構成を、リアライザシ
ステムの読出し前に、EDAシステムによって構成基本
要素に変える必要がある。入力設計部において許容され
る一組の基本要素の一例としては、以下のMentor Grapl
rics Quick Sim基本要素がある。これは、好適例におい
て読出される: ・25個までの入力端子を有する簡単なゲート(BU
F,INV,AND,OR,NAND,NOR,XOR,XN
OR) ・特別ゲート(DEL:ディレイ要素;RES:抵抗
器;NULL:開放回路) ・トライステート出力である無方向性伝送ゲート(XF
ER) ・記憶デバイス(LATCH、レベル感応フリップフロ
ップ又はREG、クロックされたフリップフロップ) ・メモリデバイス(RAM又はROM)
【0061】2.1.2 設計部データ構造 設計部リーダは、設計部データ構造を構成し、これを用
いて基本要素を、ロジックチップネットリスティングに
適した形態に変換し、基本要素をロジックチップサイズ
の区分に分割し、いかにしてロジックチップを相互接続
するかを決定する。また、最終的には、設計部データ構
造を、各リアライザロジックチップのネットリストファ
イルへと読出す。データ構造は、設計部の各基本要素、
各ピン及び各回路網のレコードから成っている。各レコ
ードは、関連に応じて、他のレコードに対するエンティ
ティ及びリンク(すなわちポインタ)についてのデータ
を具えている。 ・“基本要素”とは、ゲート、フリップフロップ又は、
メモリデバイスのような基本ロジック要素である。 ・各基本要素は、基本要素レコードによって表現され
る。基本要素レコードは、そのタイプ及び対象識別子の
ような基本要素に関するデータを有するとともに、他の
基本要素とのリンクを有している。 ・基本要素レコードは二重にリンクされたリストであ
る。 ・ピンとは、基本要素の入力接続又は出力接続である。 ・基本要素のピンは、基本要素レコードと隣接して配置
されるとともに、ピンネーム、ピンが反転されているか
どうか、ピンの出力ドライブ等のピンに関するデータを
有する、一連のピンレコードによって表現される。 ・各基本要素は、一つの出力ピンのみを有しており、こ
れを、任意のピンレコードとすることができる。 ・“回路網”とは、相互接続されたピンの集合である。 ・各回路網は、回路網レコードによって表現される。こ
の回路網レコードは、その対象識別子のような回路網に
ついてのデータを有するとともに、他の回路網へのリン
クを具えている。 ・回路網レコードを、二重にリンクされたリスト中に設
ける。 ・回路網のピンを、単一リンクの循環リスト中に設け
る。 ・各ピンレコードも、ピンの回路網へのリンクを有して
いる。 ・各回路網レコードは、回路網中の一つのピンへのリン
クを有している。 図44aは、回路網の簡単な例を示しており、図44b
は、設計部データ構造を用いて回路網をどのように表現
するかを示している。
【0062】2.1.3 設計部リーダの方法論 設計部リーダは、入力設計ファイルから実現されるべき
設計部を読出すとともに、対応設計部データ構造を構成
することを目的としている。ここでの説明は、Mentor G
raphics 設計ファイルに適合している。他も同様であ
る。設計ファイルは、設計部中の各基本要素に対して、
インスタンス(instance)と称するエントリを有してい
る。設計ファイル中のインスタンスに取付けられた基本
要素の特定のアスペクトについての情報が特徴である。
以下に示す各工程の括弧内のネームは、好適例において
用いられる実際のルーチンのネームである。 1)基本要素のレコードと、設計ファイル中の各基本要
素に対するメモリ内データ構造中のピンのレコードとを
以下のように作成する:各設計ファイルの基本要素の各
インスタンスは:基本要素のタイプが何であるかを読出
す(get dfi model type)。ユーザ
が規定したこの基本要素の配置についての情報が存在す
る場合には、これを“lチップ”特性から得る。;設計
ファイルインタフェースを用いて、より高度な非基本的
インスタンスをサーチする。このインスタンスはこの基
本要素を具え、同様に特性を調べる(get dfi
1chip)。インスタンスの各ピンは:ピンのネーム
等の、ピンに関する任意の特性を捕捉する(get
fipin info)。次のピンへ。メモリ内設計デ
ータ構造中のレコードを、この基本要素及びピンに割当
てる(alloc prim and pins)とと
もに、基本要素レコードを満たす。各々のピンは:ピン
レコードを満たす。(設計ファイル中の接続された回路
網の対象識別子ナンバを記憶し、トラックの識別子のナ
ンバを、最大に維持する。)次のピンへ。次の設計ファ
イルインスタンスへ。ポインタのテーブル(net
able)を、ピンレコード(ピンポインタ)に割当て
る。各構成し得る回路網に対するピンレコードに対象識
別子ナンバで索引を付ける。最初はNULLとする。上
記最大識別子ナンバに従ってテーブルを作る。 2)各回路網のピンレコードをリンクし、以下のよう
な、循環的にリンクされたリストとする:メモリ内デー
タ構造中の各基本要素レコードにおいて:各ピンレコー
ドは:‘id’を、このピンの接続された回路網の対象
識別子ナンバとすると、net table〔id〕が
非NULLピンポインタを有している場合、これをこの
ピンレコードの“next pin”リンクへコピーす
る。このピンに対するピンポインタを、net tab
le〔id〕に入れる。次のピンへ。次の基本要素へ。 3)各回路網に対する回路網レコードを以下のように作
成する:net table中の各ピンポインタは:回
路網レコードを割当てる。リンクを用いて、回路網レコ
ードを、ピンポインタの指示するピンに接続する。対象
識別子ナンバを用いてアドレス指定を行うことにより、
設計ファイルインタフェースから回路網に関する情報を
得る(dfi get net,get dfi ne
info)。この回路網におけるピンレコードの循
環リスト中の各ピンについて:回路網レコードに指示す
る。次のピンへ。循環リストを閉じる:最終ピンを最初
のピンにリンクさせる。次のピンポインタへ。net
table記憶機能を解除する。 4)内部メモリ設計データ構造が終了し、設計部変換プ
ロセスの後段が必要とする実現されるべき設計部につい
てのすべてのデータを表示する。
【0063】2.2 基本要素コンバータ 基本要素変換は、Mentor Graphics Quick Sim 基本要素
のような、ホストが特定する基本要素からの設計部デー
タ構造中の基本要素を、ERCGAネットリスト変換ツ
ールと適合させ、ネットリストファイル中に送出される
ロジックチップ指定の基本要素に変換することを目的と
している。この変換のいくつかは、簡易且つ直接的なも
のであり、単に、基本要素のタイプ及びピンネームのみ
を置換えるのみである。その他の変換はかなり複雑であ
る。以下に示す特定の引用例は好適例のためのものであ
り、Mentor Graphics 入力設計ファイル中に存在するMe
ntor Graplics Quick Sim のホストが特定する基本要素
と、XilinxLCAロジックチップが特定する基本要素と
を使用する。設計部のゲートが、ロジックチップの特定
するゲート基本要素中で許容されるよりも多くの入力端
子を有している場合、このゲートを等価な機能を有する
ゲートの回路網で置換える。このゲート回路網の各々は
許容数の入力端子を有している。このような置換を行う
ために、ゲートの基本要素レコード及びピンレコードを
取り除き、新しいゲートの基本要素レコード及びピンレ
コードと、回路網中の新しい回路の回路網レコードとを
加え、置換えられたゲートに接続されているピン及び回
路網のピンレコード及び回路網レコードにリンクする
(図45a)。設計部のフリップフロップが、ロジック
チップの特定するフリップフロップ基本要素において利
用することのできない機能を有している場合、フリップ
フロップを等価な機能を有するゲートの回路網で置換え
る。まず第1に、回路網を解析し、機能を常に一定の値
ではない回路網に接続するかどうかを調べる。例えば、
ホストが特定する基本要素REGを、常に一定の値では
ない活動回路網に接続されたダイレクトクリア入力及び
ダイレクトセット入力の両方を用いて使用する場合に、
メモリ内設計部データ構造における基本要素を、必要に
応じて機能する747TTLフリップフロップロジック
パートに用いられるのと類似のゲートの回路網で置換え
る。しかし、ダイレクトセット入力を、グランド回路網
のような常にロジック値ゼロの回路網に接続する場合、
すなわち、例えばグランド回路網に接続された1つの入
力端子を有するANDゲートの場合には、ダイレクトク
リアのみが実際に必要とされ、その代わりにロジックチ
ップDフリップフロップを代用する。S RAM基本要
素は、アドレス入力端子、双方向性データポート、読出
しイネーブル及び書込みイネーブルを有するランダムア
クセスメモリである。RAM基本要素を、1以上のリア
ライザ設計部メモリモジュール中に作成する。基本要素
変換ソフトウエアは、S RAMを利用可能な設計部メ
モリ構成と直接的にマッチする1以上のX RAM基本
要素に変換する。S ROM(出し専用メモリ)基本要
素は、イネーブル入力端子が存在せず、且つ、ROMの
内容を含むファイルを付加していることを除き、S
AMと同様のものである。S ROM基本要素を設計部
メモリ構成と直接マッチする1以上のX ROM基本要
素に変換する。X ROMは読出しイネーブル入力端子
を有しているが、書込みイネーブルを有していない。内
容ファイルのパスネーム及びもとのS ROMに対する
そのロケーションを、各X ROM基本要素を用いて記
憶する。リアライザハードウエアをこの設計部を用いて
構成する場合、構成システムがパスネームを用いて、X
ROM内容を取り出すとともに、これらをホストイン
タフェースを介して設計部メモリにロードする。分離入
出力データポートを有する S RAMは同様に操作され
る。しかし、これはMentor Graphics Quick Sim 基本要
素中には設けない。オリジナル設計部のピン及び回路網
は、初期特性すなわち“inits”を送信し、ある場
合に持続的に幾つかの初期値を送信していることを示し
ている。既知の値(0又は1)である持続的な初期特性
がリアライザシステムによって観測され、ピン又は回路
網を適切な“グランド”(すなわち、ロジック値0) 又
は“VCC”(すなわち、ロジック値1)の回路網に接
続する。特定のMentor Graphics の場合では: ・T、X、R及びZの初期特性を無視する。 OSF(=0=0S)又は1SF(=1=1S)のみを
観測する。 ・回路網、すなわち、回路網の任意の出力ピンの0SF
又は1SFによって、出力ピンをグランド又はVCC回
路網の一部分とする。 ・入力ピンの0SF又は1SFとによって、このピンを
絶縁し、グランド又はVCC回路に接続する。
【0064】オリジナル設計部の出力ピンは種々の強さ
のドライブを伝達し、シミュレータによって形成される
べき出力構造のタイプを示す。リアライザシステムは、
基本要素変換の際に、幾分これらの強さを観測する。出
力端子を、ハイのときにドライブの強さが零であり、ロ
ーのときにドライブの強さが強であるように特徴づける
場合、出力端子はオープンコレクタとして識別され、こ
れを他の同様の出力端子及びレジスタに、ロジック設計
者が“ワイヤード・アンド”回路網(図45b)と称す
る形態で接続するのが正当的である。同様に、ローのと
きにドライブの強さが零であり、ハイのときにドライブ
の強さが強である出力端子はオープンエミッタであり、
“ワイヤードオア”を形成するのに用いられる。最終的
にイネーブルされなければ、XFER基本要素の出力ピ
ンはドライブを有さず、他のXFER出力端子及びレジ
スタと配線され、“トライステート”回路網を形成する
(図45c)。これらの構造のすべては、基本要素変換
システムによって認識され、トライステート回路網のセ
クションにて説明したように、等価な機能を有する積の
和のロジック回路網に変換される。特定のMentor Graph
ics の場合: ・X−ステートドライブの強さを無視する。 ・1以上のXFER出力端子を回路網に接続することが
できるが、他の出力端子を接続することはできない。例
外としては、入力ピンをグランド又はVCC回路網に接
続しているRES(抵抗器)を接続することもできる。
XFERがイネーブルされない場合、回路網値はロジッ
ク値ゼロであり、VCCに接続されたRESを接続しな
い場合には、ロジック値1となる。1より多くのXFE
Rをイネーブルする場合、結果は論理的ORとなる。 ・0C/0E出力端子(SZ/ZS)は、同様のドライ
バを用いても駆動することのできる回路網のみを駆動す
ることができる。駆動されていない場合、0C回路網は
ハイとなり、RESを接続しているかどうかを無視して
0E回路網はローとなる。 ・RZ、ZR、RSS、SR又はZZ出力ドライブを有
する基本要素を、エラーなしで除去する。 ・以下の出力回路網の条件によって致命的な誤りが生じ
る:すなわち、1より多くのストロング(strong)、ス
トロング及び抵抗器、1より多くの抵抗器、XFER及
びストロング、XFER及びSZ,XFER及びZS、
抵抗器を有していないSZ又はZS、ストロングを有す
るSZ又はZS、SZ&ZSである。
【0065】Mentor Graphics ホスト及びXilinxLCA
を有する好適例の基本要素を変換するための特別な手続
は、以下に示すとおりである(サブルーチンのネームが
各ヘッダの後に続いている): 1)ホストが特定する基本要素のLCA基本要素への初
期変換(convert to x)。ホストが特
定する基本要素は、上述のMentor Graphics Quick Sim セットから成り、‘S 'プレフィクスを用
いてネームが付けられる。LCAが特定する基本要素
は、Xilinx.xnf仕様から成り、’X ’プレフィクスを
用いてネームが付けられる。各基本要素は:S INV
の場合、X INVと置換え、ピンのネームを置換え
る。S BUSの場合、X BUSと置換え、ピンのネ
ームを置換える。S RESの場合、X BUF、RR
ドライブと置換え、ピンのネームを置換える。S DE
Lの場合、IN&OUT回路網を結合する。S AN
D、S NAND、S OR、S NOR、S XO
R、S XNORの場合、X AND、X NAND、
OR、X NOR、X X OR、X XORと置換え、ピンネームを置換える。
(25ピンよりも多い場合、エラー) S REGの場合、X DEFと置換え、ピンネームを
置換える。S LATCHの場合、X DLATで置換
え、ピンネームを置換える。S XFERの場合、後に
までピンネームを後にまで残しておく。S NULLの
場合、ピンネームをデリートする。S RAM又はS
ROMの場合、ピンネームを後にまで残しておく。次の
基本要素へ。 2)初期特性の処理(get init)。メモリ内設
計部データ構造中の2つの回路網は特別なものであ
る。:すなわち“gnd”(ロジック値0)及び“VC
C”(ロジック値1)である。 各回路網は:回路網の初期特性がOSFである場合、g
nd回路網が、初期特性がOSFであることを認識でき
ない場合、次の回路網へ、認識できる場合には、この回
路網をgnd回路網と組合せ、次の回路網へ。回路網の
初期特性が1SFである場合、VCC回路網が、初期特
性が1SFであることを認識できない場合、次の回路網
へ、認識できる場合には、この回路網をVCC回路網と
組合せ、次の回路網へ。 各出力ピンは:ピンの初期特性がOSFの場合には、g
nd回路網が、初期特性がOSFであることを認識でき
ない場合には次の回路網へ、認識できる場合には、この
回路網をgnd回路網と組合せ、次の回路網へ。ピンの
初期特性が1SFの場合には、VCC回路網が、初期特
性が1SFであることを認識できない場合には、次の回
路網へ、認識できる場合には、この回路網をVCC回路
網と組合せ、次の回路網へ。次のピンへ。 次回路網は:ピンレコードを、リスト中に入れる。 各入力ピンは:ピンの初期特性が0SFであり、且つこ
の回路網がgnd回路網でない場合、ピンを回路網から
切り離し、gnd回路網に接続する。ピンの初期特性が
1SFであり、且つこの回路網がVCC回路網でない場
合、ピンを回路網から切り離し、VCC回路網に接続す
る。次のピンへ。次の回路網へ。 3)すべての出力ピンをチェックし、リアライザシステ
ムのドライブの強さに影響を与えないで基本要素を取り
除くとともに、常にイネーブル又はディゼーブルされて
いるXFERを取り除く。 各基本要素は:出力ピンがドライブSS、RR、SZ又
はZSを有していない場合、次のピンへ。出力ピンがR
Z、ZR、RS、SR又はZZを有している場合には、
出力ピンを切り離し、除去する。 出力ピンがS XFERである場合:E0(イネーブ
ル)ピンが常にローである場合には、基本要素をデリー
トする。E0ピンが常にハイである場合、BUFを代用
する。次の基本要素へ。 4)不法なマルチ出力接続を選別し、ワイヤードOR,
ワイヤードAND及びトライステート回路網及びこれら
のドライバを識別し、変換する(wired- nets)。 各回路網は:ピンレコードを、リスト中に入れる。XF
ER出力ピン、入力ピン及びnon−XFER出力ピン
を数える。これらのピンは、ストロング(strong)かつ
レジスティブ(resistive)なSZ(オープンコレクタ)
又はZS(オープンエミッタ)である。ストロングを
有する又はドライブ強度を有しない唯一の出力ピンの場
合、次の回路網へ。1以上のレジスタを接続する場合、
すべてのレジスタを、‘VCC’(プルアップ)又は
‘ground’(プルダウン)のいづれか一方に接続
していることを確認し、いづれかを記憶する。 以下の場合には、エラーであり、イグジット(exit)す
る:1より大きなストロング、1より大きなレジスタ。
XFER及びストロング、XFER及びSZ、XFER
及びZS。レジスタを有していないSZ又はZS、スト
ロングを有するSZ又はZS、SZ及びZS。1ストロ
ング且つ1レジスタの場合には、レジスティブドライブ
を有する基本要素をデリートする。 1より大きなSZの場合:(オープンコレクタ ワイヤ
ードAND) 各出力ピンは:レジスタの場合、出力ピンがプルアップ
であることを確認し、これをデリートする。レジスタで
ない場合には、このピンののドライブをストロングと
し、X−INVを構成し、この入力端子を出力ピンに接
続するとともに、この出力端子を回路網に接続する。次
のピンへ。回路網を“フローティングハイ”トライステ
ート回路網として特徴付け、OR/NORゲートを用い
て、相互接続によってこれを構成する。 1より多くのZSの場合:(オープンエミッタ ワイヤ
ードOR) 各出力ピンは:レジスタの場合:ピンがプルダウンであ
ることを確認し、その後、これをデリートする。レジス
タでない場合は、ピンのドライブをストロングにする。
次のピンへ。回路網を“フローティングロー”トライス
テート回路網として特徴付け、インタコネクタによっ
て、ORゲートを用いこの回路網を構成する。 0より多くのXFER且つレジスタ無し、又は、プルダ
ウンの場合:(トライステート“フローティングロ
ー”) 各S−XFERは:AND I0を構成するXFER
E0(又はENA)及びAND I1を構成するXFE
R10を用いて、S−XFERをX−ANDに変換す
る。次のS−XFERへ。任意のレジスタ基本要素をデ
リートする。回路網を“フローティングロー”トライス
テート回路網として特徴付け、ORゲートを用いて、相
互接続によってこれを構成する。 0より多くのXFER基本要素且つ、プルアップの場
合:(トライステート“フローティングハイ”) 1個のS−XFER基本要素の場合:NAND10を構
成するXFER E0(又はENA)及びNAND11
を構成するXFER10を用いて、S−XFERをX−
NANDに変換し、反転する。 1より多くのS−XFER基本要素の場合: 各S−XFERは:AND10を構成するXFER E
0(又はENA)及びAND11を構成するXFER1
0を用いて、S−XFERをX−ANDに変換し、反転
する。次のS−XERへ、レジスタ基本要素をデリート
する。回路網を“フローティングハイ”トライステート
回路網として特徴付け、OR/NORゲートを用いて、
相互接続によってこれを構成する。次の回路網へ。 5)等価な機能を有するゲート回路網を用いて、LCA
が特定するゲート基本要素中に許容されるよりも多くの
入力ピンを有する任意のゲートを置換する。ゲート回路
網の各々は、許容数の入力端子を有している。(wide-ga
tes) 各基本要素は:そのゲート及び入力端子が5よりも多
く、25以下である場合(XC3000ロジックチップを用い
るものと仮定する) :同一種類の最終出力ゲートを構成
する。その出力端子を、オリジナル出力端子及びコピー
特性に接続する。必要とされる、より小さな入力ゲート
の各々は:(ANDまたはNANDオリジナル等のため
のANDを用いて) ゲートを割当てる。ゲートの出力端
子を最終ゲート入力端子に接続する。ゲートの入力端子
を本来の入力端子に接続する。次のゲートへ。オリジナ
ルのワイドゲートをデリートする。次の基本要素へ。 6)フリップフロップの機能をチェックするとともに、
LCAの制約に合致すように配置する。XC3000シリーズ
を用いる場合、フリップフロップはダイレクトクリアを
有するがダイレクトセットは有しておらず、従って両者
を有するわけではない。すべてのS−DEFは、セット
及びクリアのためのピンを有しているため、基本要素
は、ピンを有しているといないとにかかわらず、置換え
る必要がある。XC3000はラッチをサポートしないため、
ラッチを、等価なゲート回路網で置換える必要がある
(flops_for_3K)。 各基本要素は: 基本要素がDLAT又はDEFである場合:各ピンを記
憶するとともに切離す。SD及びRD回路網がゲートを
介して、直接又は非直接的に‘ground’又は‘V
CC’であるかをチェックすることによって、SD及び
RDが常にローであるかどうかを見出す。 各基本要素がDLATである場合:ゲートの回路網中に
組込み、必要な場合にのみ、SD及び/又はRDのため
のゲートを具えるラッチを構成する。オリジナル基本要
素及びピンレコードをデリートする。 各基本要素がDLATでなく、DEFである場合:SD
が常にローの場合、SDを用いずにX−DEFを構成
し、これを接続する。SDがローでなく、RDがローの
場合、入力端子及び出力端子にX−INVを用いてX−
DEFを構成し、これを接続し、X−DEFのRDピン
を、SD回路網に接続する。SDが常にローではない場
合、6個の3−入力NAND及び2INVの回路網に組
込み、TTL7474 と同様に、セット及びクリアを有するD
EFを構成する。オリジナルの基本要素をデリートす
る。次の基本要素へ。 7)S−RAM及びS−ROMを、X−RAM及びX−
ROMに変換する。 各基本要素は: 基本要素がS−RAM又はS−ROMである場合:その
ハイト(height)(ワード数)を、アドレスピン(ハイ
ト=2〜ピンカウントの累乗)及び、データピンナンバ
と等しいアドレピンの幅をカウントすることによって決
定する。 各利用可能な設計部メモリ構成は:S−RAM/ROM
ハイトを、設計部メモリハイトで割算し、必要なモジュ
ールの行数を得る。S−RAM/ROMの幅を設計部メ
モリの幅で割算することにより、必要なモジュールの列
数を得る。この構成のために必要なモジュールの総数は
行掛ける列である。次の構成へ。必要なモジュール数が
最小となる構成を選択する。行よりも多くのモジュール
を必要とする場合、モジュールの各行に対する出力端子
とハイオーダのアドレス回路網に接続された入力端子と
を用いて、デコーダの基本要素及び回路網を構成する。 各行は:(X−RAMのみ)2個の入力端子を用いて書
込みイネーブルのためのANDゲートを構成する:2個
の入力端子とは、この行のデコーダ出力端子及びS−R
AM書込みイネーブルである。2つの入力端子を用い
て、行読出しイネーブルのためのANDゲートを構成す
る:この2個の入力端子とは、この行のデコーダ出力端
子及びS−RAMリードイネーブルである。次の行へ。 モジュールの各行について、: 各コラムは:X−RAM/ROM基本要素を構成すると
ともにその構成を記憶する。X−ROMの場合、そのフ
ァイルネーム及び行数及び列数を記憶する。X−RAM
/ROMの読出し及び書込みイネーブルピンを、この行
の(X−RAMのみの) 読出し及び書込みイネーブルピ
ンに接続(又は、この行が1つのみの場合には、S−R
AMのイネーブルピンに接続) する。X−RAM/RO
Mのアドレスピンを、より低オーダのアドレス回路網に
接続する。X−RAM/ROMのデータピンを、この列
に対応する一組のデータピンに接続する。次の列へ。次
の行へ。オリジナルのS−RAM/ROM基本要素をデ
リートする。次の基本要素へ。
【0066】2.3 パーティショナ リアライザハードウェアはユニット及びサブユニットの
階層から成っている。すなわち、ボードは論 理チップ
を具え、ボックスはボードを具え、ラックはボックスを
具える等である。各ユニットは、ユニット固有のロジッ
ク及び他のユニットとの相互接続のための容量を有して
いる。実現すべき設計部をこの階層に応じて区分化し
(すなわち、サブ分割し)、基本要素の多重クラスタと
する。各ボックスのロジック及び接続容量に応じて作成
された一組のボックス区分を設ける。これらの区分の各
々を、ボードのサブ区分に分割する等により、単一の論
理チップにプログラムするのに十分な程小さな区分に分
割する。同様の分割化方法を、階層の各レベルに順次適
用する。 分割化の目的とは: 1)各基本要素を、ボックス、ボード及びロジックチッ
プに割当てること、 2)ユニット(ボックス、ボード又はロジックチップ)
の相互接続能力の下、区分と接続している回路数を保持
すること、 3)ユニットの限界内で分割化に用いられるロジックの
量を保持すること、および 4)区分の総数すなわち使用されるユニットの総数を最
小にすることである。
【0067】2.3.1 分割化方法 ここで説明する好適分割化方法は、“カット(CUT)
回路網”(クラスタの外部における基本要素の接続)の
数が最小であり、お互いに高密度で相互接続されたロジ
ック基本要素を密集させるプロセスに基づくものであ
る。各クラスタは、ボックス、ボード又はLチップに対
応する区分である。前記プロセスは、以下において指摘
する、相当な改良を伴うPalesko 及びAkers の従来の区
分化方法(Chet A. Palesko, Lex A. Akers,“Logic Par
titioning for Minimizing Gate Arrays",IEEE Trans,
CAD, NO.2, pp. 117 〜121, April 1983)に基づいてい
る。すべての基本要素を初めから見えているクラスタ
に、割当てられていない基本要素から成る“ナル(nul
l)クラスタ”を設ける。まず、ナルクラスタからシー
ド(seed)クラスタを選択し、その後、これをリピート
し、すべてのナルクラスタ基本要素の“利点”を計算
し、最も大きな利点を有する基本要素を選択することに
よって各クラスタを形成する。基本要素の利点が大きく
なるにつれて、ロジッククラスタに組込むのに適したも
のとなる。
【0068】2.3.2 有利な機能 部分的な利点とは、この基本要素をクラスタに組込む場
合にこのクラスタのカット回路網の数がどのように変化
するかに基づくことである。ユニットを最大相互接続可
能性以下に保持するために、クラスタのカット回路網総
数をカウントする必要がある。基本要素のピンを具えて
いる各回路網は垂直となっており、基本要素を組込むも
のを仮定すると、閉回路網、“多数カット”の回路網又
は“単一カット”の回路網のいずれかに分類される。一
つのみの接続をクラスタの内側に設けると単一カット回
路網であり、1より多くの接続をクラスタの内側に設け
ると多数カット回路網となる。閉回路網は、全体がクラ
スタ中に含まれる回路網をいう。図46は、クラスタ
と、3個の回路網S,M及びEによって接続された5個
の基本要素とを示すとともに、影を付けた基本要素をク
ラスタ中に移動させるとどうなるかを示している。クラ
スタのカット回路網数を1個増加させると、回路網S
は、単一カット回路網となり、カット回路網数を1個減
少させると、回路網Eは、閉回路網となる。回路網M
は、クラスタのカット回路網数を増加、減少させても多
数カット回路網であり、このため無視される。クラスタ
回路網の変化は、単一カット回路網と閉回路網との差で
ある。すなわち: 〔クラスタカットの変化〕=〔単一カット回路網〕−
〔閉回路網〕 好ましい有利な機能とは、各基本要素の個数を定め、ク
ラスタに組込むには、どの基本要素を選択するのが最適
かを決定することである。最大数のピンと最も強固に接
続された基本要素を選択するのが最適である。この機能
は、Palesko andAkers の分割化に関する最初の有利な
機能である。すなわち: 〔クラスタカットの変化〕>0の場合: 〔利点〕=〔基本要素のピン数〕/〔クラスタカットの
変化〕 〔クラスタカットの変化〕≦0の場合: 〔利点〕=〔−(クラスタカットの変化)*100〕+
100+〔基本要素のピン数〕 この基本要素をクラスタに組込む場合、クラスタカット
の数が増加する。多くのピンを具えれば具える程、加え
るカット回路網の数が少なければ少ない程優れている。
クラスタのカット数が減少する場合、減少の程度は10
0倍となり、100が加えられ、カットを減少させな
い、いかなる基本要素の利点よりも大きな利点が得られ
ることを保証している。クラスタカットが減少している
場合、ピンの数を増やし、接続を断ち切ることにより、
基本要素を、更に多くのピント結び付ける。好適な方法
で用いられる改良とは、クラスタカットが増加する場合
に、ピン数の項をピン数/カット変化の比に加えること
である。この変更は、前記比が等しい場合に、より多く
のピンを有する基本要素を選択することによって、初期
シード選択を改善することができる。前記比を10倍す
ることにより、ピン数単独よりも効果的にする。このこ
とは、好適且つ有利な機能である。すなわち: 〔クラスタカットの変化〕>0の場合: 〔利点〕=(〔10*(基本要素のピン数)〕/〔クラ
スタカットの変化〕)+〔基本要素のピン数〕 〔クラスタカットの変化〕≦0の場合: 〔利点〕=〔−(クラスタカットの変化)*1000〕
+100+〔基本要素のピン数〕
【0069】2.3.3 クラスタの構成 初めに、すべての基本要素をナルクラスタ中に配置す
る。ユーザは、選択するLチップ、ボード等を表示する
特性を入力設計部に付加することによって、基本要素を
特定のクラスタ中に予め配置することができる。この
時、これらの予め配置された基本要素は、クラスタ情報
に関数するシード配置としての役割を果たす。このこと
によって、ユーザは、タイミング感知基本要素又は他の
高優先基本要素を集めることができ、また、高優先基本
要素に強固に接続されている他の基本要素を集めること
によって、分割化の結果を変えることができる。各々の
新しいクラスタに関して、始めに、新しいクラスタの未
配置の基本要素の利点を計算し、基本要素レコード中に
記録する。予め配置を設けない場合、最も有利な基本要
素(すなわち、最も大きな利点を有するもの)を、クラ
スタの初期シード基本要素として選択する。最も有利な
基本要素の各々をクラスタ中に移動させた後、組込まれ
た基本要素と同一の回路網におけるピンを有する基本要
素のみが、利点を再び計算する。他の基本要素は移動に
よって影響を受けないので、クラスタのこれらの利点に
変わりはない。従って、クラスタが一杯になるまで、新
しい最も有利な基本要素をクラスタ中に移動させる。ク
ラスタが一杯となる時を決定することは、ロジック容量
及び相互接続(すなわち、クラスタカット回路網)の両
方に依存している。基本要素を、クラスタ中に移動させ
る場合、常に、基本要素によってクラスタ中のゲート数
が増加する。しかし、基本要素によって、カット回路網
は、必ずしも増加しない。減少することもあり得る。Pa
lesko and Akers の方法による相互接続の限界に達する
場合、基本要素がロジック容量又は相互接続の限界を超
えないならば、最大よりも少ない利点を有する基本要素
をクラスタ中に移動させることができるが、局所的相互
接続の最大を超える場合には基本要素をクラスタ中に移
動させることはできない。ここで説明した方法を、以下
の点において改良する。すなわち:マーカ(marker)の
アレイを設ける。各マーカに対して、マーカは、起動可
能である。基本要素を1個ずつクラスタ中に移動させ
る。各々の移動の後、クラスタカット回路網の数をチェ
ックする。クラスタカット回路網の数がユニットの最大
利用可能相互接続機能以下の場合、移動を、相互接続が
可能なものとして認識される。最大ロジック容量の限界
に達した場合、最後の移動は、相互接続可能なものとは
認識されず、最後の移動が相互接続可能となるまでは移
動は行われない。ユニット(ラック、ボックス又はボー
ド)をサブユニット(ボックス、ボード又はLチップ)
に分割化するために:予め配置されていないすべての基
本要素をナルクラスタ中に移動させる。 各クラスタは:各ナルクラスタ基本要素の利点を計算す
るとともに記憶する。起動カウンタの数をゼロにする。
〔クラスタ基本要素カウント〕<〔最大ロジック容量〕
の場合、移動カウンタをインクリメントする。最も有利
な基本要素をクラスタ中に移動させる。どの基本要素を
移動させるかを、移動カウンタに記録する。〔クラスタ
カット回路網〕<〔最大相互接続容量〕の場合、mov
e〔移動カウンタ〕=OKをマークする。〔クラスタカ
ット回路網〕≧〔最大相互接続分量〕の場合、move
〔移動カウンタ〕=NOT OKをマークする。このク
ラスタに接続された回路網の利点を計算する。次のリピ
ートへ。move〔移動カウンタ〕=NOT OKの場
合、move〔移動カウンタ〕に記録された基本要素を
クラスタから外へ移動させる。移動カウンタをデクリー
メントする。次のリピートへ。次のクラスタへ。区分化
のプロセスは、すべての基本要素を首尾よくクラスタ中
に配置するまで又はすべてのクラスタが一杯となるまで
続き、プロセスが終了する。 好適例の全設計部を区分化するために:ラッチレベルの
ボックス、すなわち、各ボックス毎に1個のクラスタに
分割化する。この際: 〔最大ロジック容量〕=〔全ボックス及び最大相互接続
容量〕=〔ボックス毎のY−Zパス〕 を用いている。 各ボックスクラスタは:ボックスレベルのボードへの区
分化、すなわち、各ボード毎に1個のクラスタに分割化
する。この際: 〔最大ロジック容量〕=〔全ボード及び最大相互接続容
量〕=〔ボード毎のX−Yパス〕 を用いている。次のボックスクラスタへ。 各ボードクラスタは:ボードレベルのLチップへの区分
化、すなわち、各Lチップ毎に1個のクラスタに分割化
する。この際: 〔最大ロジック容量〕=〔Lチップ及び最大相互接続容
量〕=〔Lチップ毎のL−Xパス〕 を用いている。次のボードクラスタへ。
【0070】2.3.4 容量の限界 この方法に用いられる最大ロジック容量の限界の決定
は、使用するロジックチップの特性に依存している。Xi
linx製のLCAを論理チップとして使用する場合、これ
らは、構成可能な論理ブロック(CLB) を基礎にして
いる。CLBの各々によって、多くのゲート及びフリッ
プフロップを具現化することができる。CLBの数は、
ゲート及びフリップフロップ機能、どの位多くの機能を
設けるか、どのくらい多くのピンを有するか、どのよう
に相互接続するかに依存している。分割化前に設計部を
CLBの形態に変換する場合、CLBを分割化された基
本要素とし、ロジック容量の限界はLCA中のCLBの
数に基づいている。分割化前に設計部をCLBの形態に
変換しない場合、ゲートを、分割化された基本要素とし
てロジック容量の限界は、LCAに適合すべきゲートの
数に基づいている。ゲートが消費する容量の程度に応じ
て、ゲートの重みをかけ、分割化の結果を改善する。各
クラスタを構成するのに用いられる限界は、必ずしもす
べて同一である必要はない。ユニット間でロジック及び
相互接続容量特性を変える場合、適切に限界を設定して
これらユニットのクラスタを構成する。
【0071】2.3.5 リアライザの区分化 プロセスを分割化することによって、設計部の各基本要
素に対する3ナンバボックス/ボード/チップロケーシ
ョンが得られる。このロケーションは、設計部データ構
造の基本要素レコードに記憶される。このことによっ
て、設計部回路網の各基本要素は、Lチップ、ボード、
及びボックスに亘ってトレースすることができる。ネッ
トのタイミングは、システムにおける回路網をトレース
するとともに、相互接続クロスバーチップ及び論理チッ
プを介して、ディレイを加算することによって評価され
る。相互接続の段階では、回路網中に具えられた種々の
ボックス/ボード/チップ基本要素の組合せ総数に基づ
き、ネットリストをオーダする。このようにして、相互
接続は最も複雑な回路網から最も複雑でない回路網まで
を保証する。最終的に、回路網及び回路網レコードの基
本要素が、Lチップ及びクロスバーチップに亘って回路
網を明確に作成する情報を具えているので、局所的な図
式的ロジック変化を再度区分化する必要はなく、変化さ
せられた回路網を具えるチップを更新する必要があるだ
けである。これによって、設計部を再度区分化せずに設
計部を変換させることができる。
【0072】2.4 ネットリスティング及び相互接続
システム リアライザネットリスティング及び相互接続変換システ
ムは、入力設計に応じて、リアライザハードウェアを構
成するのに用いる、リアライザシステム中の各ロジック
チップ及びクロスバーチップに関するネットリストファ
イルを構成することを目的としている。どのようにして
部分的クロスバー相互接続をネットリストすべきかの決
定を、次の3段プロセスの総合によって行う。 ステージ1:ステートメントは、各基本要素毎に設計デ
ータ構造中のすべてのロジック基本要素に関するロジッ
クチップネットリストファイルに送信される。 ステージ2:完全に単一ロジックチップ中に含まれてい
るトライステート回路網の加算ゲートに関するステート
メントは、各回路網毎に送信される。 ステージ3:より多くのロジックチップ間を通る回路網
の相互接続をネットリストする。各カット回路網毎に、
すべてのチップにおけるこの回路網のすべての相互接続
バッファ及び、クロスバーチップにおけるこの回路網の
加算ゲートに関するステートメントを送出する。このプ
ロセスの一部として、いかにして回路網を相互接続する
かを明確に決定する。このプロセス自体は4個のステー
ジを有している。 ステージ3a:どのようにして回路網が各クロスバー間
を通り、且つ、どこにロジックチップドライバ及びレシ
ーバを配置するかを示しているトリー(tree)を構成す
る。 ステージ3b:クロスバーチップの各組の回路網を相互
接続する能力を評価する。 ステージ3c:この回路網を相互接続するクロスバーチ
ップの最適な組を選択する。 ステージ3d:組の選択及びトリー構造に基づき、バッ
ファ及び加算ゲートに関するステートメントをロジック
及びクロスバーチップネットリストファイルに送出する
ことによって、相互接続をネットリストする。このセク
ションでは、各ステージに用いられる技術について説明
しており、完全な相互接続及びネットリスティング手続
について詳細な規定と、二つの詳細な回路構成例を記述
している。
【0073】2.4.1 シンプルな回路網及びトライス
テート回路網の相互接続構造 シンプルな回路網は、単一のドライバのみを有する回路
網である。ドライバを有するソースLチップは、信号
を、階層の上方へ向かってすべてのレシーバに及んでい
るクロスバーチップに伝達する。レシーバを駆動するた
めのパスを階層の下方に向かって接続し、すべての受信
Lチップを駆動する。図47は、シンプルな回路網の相
互接続を示しており、詳細については以下に説明する。
トライステート回路網は、2以上のトライステート、オ
ープンコレクタ又はオープンエミッタドライバによって
駆動される回路網である。このことは、設計部データ構
造中においては、2以上のドライバ(出力ピン)を有す
る単一の回路網として示される。各ドライバを、基本要
素変換の間にドライバを変換して得られる1個のAND
ゲート及び1個以上のレシーバ(入力ピン)である。ド
ライバがイネーブルされない場合にゼロとなっている
“フローティングロー”回路網を、1個以上の加算OR
ゲートをANDゲートにより駆動することで実現する。
“フローティングハイ”ゲートは、ANDゲートに反転
データ入力を有しており、最終的な加算ゲートをNOR
としている。同じ接続形態及び基本的な方法を、両ケー
スに適用する。一般的な一方向性接続及び1以上の加算
ORゲートを用いて、積の和としてトライステート回路
網を具体化する。ドライバのパスを、相互接続階層のX
からZに向かって集中させ、ドライバを加算ORゲート
に集める。最も高いレベルの加算ORゲート出力を、ロ
ジック回路網の真の値、すなわち、そのソースとしてい
る。ソースを相互接続階層の下方に向かって接続し、す
べてのドライバを駆動する。結果的に、幾つかのチップ
対(Z−X、X−Y及び/又はY−Z)は、2つのパス
を必要としている。そのうち、一方のパスはドライバを
加算ORゲートとつないでいるものであり、レシーバと
出力とをつなぐものである。図48は、トライステート
回路網の相互接続を示しており、詳細については以下に
説明する。
【0074】2.4.2 ネーミング 固有のネームを有する回路網を用いて、論理チップ内の
相互接続をネットリストファイル中に規定する。これら
の回路網は、設計部データ構造中の回路網と混同すべき
ではない。各設計部回路網は、論理ロジックチップネッ
トリストファイル中に片方の回路網を有し、入力設計フ
ァイルに用いたのと同じ実際の回路網ネームをネットリ
ストファイルに用いる。基本要素変換の間に設計部デー
タ構造に加えられる回路網に、人工的に発生させられた
ネームを付ける。設計部データ構造中に存在しない回路
網を、ロジックチップ及びクロスバーチップネットリス
トファイルに送出し、相互接続を特定する。ロジックチ
ップ又はクロスバーチップ I/OバッファとI/Oピ
ンとの間の回路網、ANDゲートとトライステートの積
の和である加算ゲートとの間の回路網、及び、クロスバ
ー加算を用いる場合に相互接続の上方及び下方に通って
いる回路網、これらすべての回路網は設計部の単一回路
網と関連しているが、ネットリストファイル中の回路網
とは別個のものである。相互接続基本要素をネットリス
トファイルに送出する際は、実際の回路網ネームを変更
し、これら相互接続機能の各々に対して別個の回路網ネ
ームを提供する。次のチャートはネーム変更のすべてを
リストしている。I/Oバッファとそのピンとの間のチ
ップレベル毎に、1個のネームのみを使用する。これら
のネームには、接続の他端におけるチップに従って番号
を付して独自性を持たせている。チップレベル毎に1回
よりも多く使用されるネームによって、クロスバーチッ
プ内部接続を規定する。これは、このような多くの構成
し得るネーミングシステムの一例にすぎない。文字
‘H’を、チャート中の実際の回路網ネームの代わりに
用いる。例えば、相互接続された回路網を‘ENABL
E’と称する場合、ロジックチップ6から受信する入力
バッファ入力端子とそのI/Oピンとの間の回路網を
‘ENABLE−D−6’と称する。 ‘N’: Lチップ: このLチップを回路網のソースとする場合、真の回路網値である。このLチ ップに唯一つのドライバを設ける場合トライステートドライバである。 X,Y,Zチップ: 1個のチャイルド(child)ドライバを設ける場合、チャイルドからの入力 バッファ出力ピンである。このチップを回路網のソースとする場合、チャイ ルドへの出力バッファ入力ピンである。 すべてのチップ: 親への出力バッファ入力ピンである。加算ゲート出力端子。 ‘N_R’: Lチップ: この回路網のソースをいずれかに設ける場合、真の回路網値である。 X,Y,Zチップ: このチップが回路網のソースではない場合、チャイルドの出力バッファの入 力ピンである。 すべてのチップ: 親からの入力バッファ出力ピン。 ‘N_R_c’: X,Y,Zチップ: チャイルドへの出力バッファ出力ピンである。ここで‘c’は、チャイル ドのチップナンバである。 ‘N_P’: すべてのチップ: 親からの入力バッファの入力ピン。 ‘N_D’: すべてのチップ: 親への出力バッファの出力ピン。 ‘N_D_c’: X,Y,Zチップ: チャイルドからの出力バッファの出力ピン。ここで‘c’はチャイルドのチ ップナンバである。 ‘N−P’: すべてのチップ 親からの入力バッファの入力ピン。 ‘N−D’: すべてのチップ 親への出力バッファの出力ピン。 ‘N−D−c’: X,Y,Zチップ チャイルドからの入力バッファの入力ピン。 ‘N_OR_i’: Lチップ: 1より多くのドライバをLチップに設けた場合、トライステートドライバで ある。ここで‘i'は多くのこのようなドライバを識別している。 X,Y,Zチップ: 1より多くのチャイルドドライバを設ける場合、チャイルドドライバからの 入力バッファ出力ピン。 すべてのチップ: 加算ゲート入力端子。
【0075】2.4.3 ステージ1:ロジック基本要素
のネットリスティング ステートメントは、各基本要素毎に、設計部データ構造
中のすべてのロジック基本要素に対するロジックチップ
ネットリストファイルに送出される。基本要素を接続し
ている回路網のネーミングを行い、以下のステージ3d
の相互接続バッファに用いられるネーミングと一致させ
る。回路網のソースを同一の論理チップ中に設ける場
合、入力ピンをこれらの本来の回路網ネームに接続す
る。このことは、閉回路網(カットがない回路網)に対
して常に真であり、カット回路網のLチップを駆動する
際においても真である。Lチップをソースとしない場
合、入力ピンをこれらの親レシーバの入力バッファに接
続する。出力ピンをロジックチップの加算ゲートに接続
する場合を除き、出力ピンをこれらの本来の回路網ネー
ムに接続する。出力ピンをロジックチップの加算ゲート
に接続する場合、特定の回路網ネームを変更させる。
【0076】2.4.4 ステージ2:ロジックチップ加
算ゲートのネットリスティング 完全に単一ロジックチップ中に含まれているトライステ
ート回路網の加算ゲートに関するステートメントを、各
回路網毎に送出する。上述した回路網ネームの変更を用
いて入力端子を接続する。出力端子は本来の回路網ネー
ムを駆動する。回路網が“フローティングハイ”である
かどうかに応じて、適切な出力検知(OR又はNOR)
を用いる。
【0077】2.4.5 ステージ3:カット回路網相互
接続の決定及びネットリスティング 1より多くの論理チップ間を通っている回路網(カット
回路網)の相互接続をネットリストする。カット回路網
を、各々、ステージ3a、3b及び3cを介して一度に
処理する。
【0078】2.4.5.1 ステージ3a:相互接続ト
リーの構成 一時的なトリーデータ構造を構成し、相互接続プロセス
を案内する。この一時的トリーデータ構造は、この回路
網に基本要素を有するLチップと、相互接続を具体化す
るX、Y及びZチップと、各々の相互接続の要件を示す
ことによって、回路網の構造を表現する。各トリーレベ
ルでの各ノードはシステム中のロジック又はクロスバー
チップに対応しており、その下位のチャイルドノードに
つながっているブランチを有し、ノード及び親のパスに
つながっている相互接続パスに関するデータを以下のよ
うに記憶する:レベル チップ 相互接続パス ルート Zチップ なし 第1レベル Yチップ Y−Zパス 第2レベル Xチップ X−Yパス 第3レベル Lチップ L−Xパス 回路網中に含まれている各Lチップは、回路網にいかに
多くの基本要素を有していても、トリー中の唯一個のノ
ードで表現される。各ノードは以下のエントリを有して
いる。 チップナンバ:ボードのいずれかのLチップ、ボックス
のいずれかのボード又はラックのいずれかのボックス。
初期値はNULL。 D及びRカウント:このノードのパスに必要とされるド
ライバ(D)及びレシーバ(R)の数である。初期値は
ゼロ。 D及びRパス:(各L−X、X−Y又はY−Zパスで利
用できるいくつかのパスナンバの中から)いずれかのパ
スナンバを用いて、ドライバがこのノードからトリーを
上り、レシーバが降りる。初期値はNULLである。 トップサム:このノードが下位にすべてのドライバを具
える加算ゲートを有している場合、真と認識する。これ
を用いて、多数ゲートの積の和における最終ゲートを制
御し、“フローティングハイ”の場合その出力反転を得
る。初期値は偽である。回路網が多数のボックスに及ん
でいない場合、ルートノード(root node)はナルエン
トリ及び唯一つの第1レベルノードを有している。回路
網が多数ボードに及んでいない場合、第1レベルノード
はナルエントリ及び唯一つの第2レベルノードを有して
いる。回路網が多数のLチップに及んでいない場合、回
路網は、相互接続の必要がなく、トリーを有していな
い。パーティショナによって割当てられた基本要素のロ
ケーションに従って、設計部データ構造中の回路網を操
作しトリーを構成する。回路網が1より多くのボックス
又はボードに及んでいない場合、必要とされないクロス
バーレベルのノードをナルとする。このようにして、各
Lチップの駆動出力端子及び受信入力端子の数をカウン
トするとともにLチップノード中に記憶し、Lチップの
相互接続の必要性を確認する。各Xチップノードにおい
て、ドライバを有しているLチップの数及びレシーバを
有している数をカウントし、各Xチップが、どのような
相互接続を設けなければならいかを確認する。同様に、
各Yチップにおいて、駆動及び受信Xチップをカウント
し、Zチップにおいて、Yチップをカウントする。最後
に、トリーを分析し、ソースである回路網の真の値をレ
シーバに伝送するポイントを決定する。簡単な回路網で
は1個のLチップの中にソースを設けている。クロスバ
ー加算を用いているため、ソースをトライステート回路
網のクロスバーチップとすることもできる。通常、クロ
スバーチップがチャイルドチップ間にレシーバを有して
いる場合、クロスバーチップをネットリストし、真の値
を、そのより高レベルのペアレントチップから送信す
る。しかし、階層中において、親チップより下位のチッ
プがソースを有している場合、親チップは、真の値を親
チップ自体又はそれより下位のチップから得る。このよ
うにするために、クロスバーノードを走査し、ノード又
はノードの派生がソースの場合にはレシーバカウントを
ゼロにセットする。
【0079】2.4.5.2 ステージ3b:各セットの
相互接続能力の決定 各Zチップが各ボックス中の同一のYチップを接続し、
各Yチップが各ボードの同一のXチップを接続している
ので、相互接続されたX、Y及びZチップによって一組
を形成する。リアライザシステムの好適例においては、
64組を設けている。その各々は、1個のZチップと、
各ボックス中に1個設けている、Zチップを用いたY−
Zパスを有する8個のYチップと、各ボードに1個設け
ている、各Yチップを用いたX−Yパスを有する64個
のXチップとを具えている。各々の組の対は、この場
合、同一のXチップを有しているが、このことは許容さ
れている。その理由は、唯1個の組のみを選択し、回路
網を相互接続するからである。LチップとXチップのよ
うな相互接続されたチップの対の各々を、パスと称する
一群のワイヤで接続する。各クロスバー中のパスを、パ
ステーブルにリストする。L−Xパステーブルは、シス
テム全体中の各L−Xクロスバーの各パスに関連するエ
レメントを有している。各ボックス中の各ボードにはL
−Xクロスバーを設け、各クロスバーには、一組の各L
チップ及びXチップに関係するパスを設ける。このよう
にして、L−Xパステーブルは5個の寸法を有してい
る。すなわち、LX〔ボックス〕〔ボード〕〔Lチッ
プ〕〔Xチップ〕〔パス〕である。同様にして、X−Y
パステーブル、すなわちXY〔ボックス〕〔ボード〕
〔Yチップ〕〔パス〕と、Y−Zパステーブル、すなわ
ちYZ〔ボックス〕〔Zチップ〕〔パス〕とを設ける。
テーブル中の各エレメントを、相互接続手続によって、
“フリー(free)”又は“ユーズド(used)”とする。
ネットリストファイルに送出された入力又は出力I/O
ピンがパスを使用する場合、テーブルエレメントを使用
する。各組の回路網相互接続能力を、相互接続すべき各
パスに対するフリーなパスカウントを捕捉することによ
って決定する。まず第1番目に、ボックス中のYチップ
とZチップとの間のY−Zパスについて考える。回路網
中の各ボックスにおいて、この組中のZチップ及びこの
ボックスのYチップに関するY−Zパステーブル中のフ
リーパスの数をカウントし記憶する。第2番目に、ボー
ド上のXチップとボックス中のYチップとの間のX−Y
パスについて考える。すなわち、回路網中の各ボードに
おいて、この組のこのボックスのYチップ及びこのボー
ドのXチップに関するX−Yパステーブル中のフリーパ
スの数をカウントし記憶する。第3番目に、ボード上の
Lチップ及びXチップ間のL−Xパスについて考える。
すなわち、回路網の各ロジックチップにおいて、この組
のこのLチップ及びこのボードのXチップに関するL−
Xパス中のフリーパスの数をカウントし記憶する。いか
なるポイントにおいても、相互接続を完成するのに十分
なフリーパスが存在しない場合、この組を故障と認識
し、このプロセスを次の組に進める。結果的には、相互
接続中の各パスすなわち首尾よく相互接続を達成するこ
とのできるクロスバーチップの各組に関するパスカウン
トを捕捉することとなる。
【0080】2.4.5.3 ステージ3c:組の選択 多くの組を用いて相互接続することができるので、組の
1個を選択し使用するパスのバランスを保持する。この
ことによって、完全な相互接続機能の開発が保証され
る。簡単な組選択技術は、全パスカウントが最大である
組を選択することである。しかし、このことは局所的な
条件を無視している。すべてのレベルにおけるパスカウ
ントの中から、最も大きな最小パスカウントを有する組
を選択するのが好ましい。例えば、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は、最大トータル(23対21) を有しているが、
これを選択するということは、最後に利用することので
きる、1個のLチップ−Xチップ対からのL−Xパスを
採用することを意味している。組Bは、最も大きな最小
(3対1) を有しており、Lチップ−Xチップ対を閉じ
ることはない。結合の場合、検討の結果、各組から1個
の最小を排除し、組を1個選択するまで、最も大きな最
小を有している組を選択する。(第1回路網の場合と)
実際にすべての組が同一である場合、同一である場合、
一つを採用する。これが、使用されている方法である。
一組のトライステート回路網について検討を加える場
合、特に考慮を要する。一方が階層の上方に向かって加
算ゲートにつながっている入力端子のためのパスであ
る。同一の回路網に使用されるこれら2個のパスを、い
くつかのチップ対は、有していなければならないため、
これらの場合に、選択された組は、少なくとも2個のフ
リーパスを有していなければならない。パスのトリーノ
ード(すなわち、L−Xパス等のためのXチップノー
ド)がノンゼロのD及びRカウントと、ノンNULLの
親とを有している場合、このような場合を検出する。
【0081】2.4.5.4 ステージ3d:相互接続の
ネットリスティング 組の選択及びトリー構造を与え、バッファ及び加算ゲー
トのステートメントをロジック及びクロスバーチップネ
ットリストファイルへ送出することによって、相互接続
をネットリストする。このことを、各レベル毎に、まず
ロジックチップについて行い、その後、X、Y及びZチ
ップについて行う。各チップの相互接続及び方向性を、
トリー中のデータを使用することによって決定する。相
互接続のバッファ及び回路網に関してのステートメント
をネットリストファイルに送出することによって、各接
続をネットリストする。 (チャイルドチップが存在する場合)チップとチャイル
ドチップとの接続を、まずネットリストする。各チャイ
ルドチップを順番に検討する。トリーがこのチップを駆
動させていることを示している場合、チャイルドチップ
のドライバを接続しているピンナンバを用い、入力バッ
ファをネットリストする。このチップが1個より多くの
ドライバを有している場合、別の回路網ネームを各々に
用いる。このようにして、これらの回路網ネームは後に
ネットリストされる加算ゲートによって捕捉される。チ
ャイルドがこのチップを受信していることをツリーが示
している場合、チャイルドチップのレシーバを接続して
いるピンナンバを用いて、出力バッファをネットリスト
する。このチップ自体がその親からのレシーバである場
合、異なる回路網ネームを用い、このチップは親レシー
バを接続する。このチップが、そのチャイルド中に1よ
り多くのドライバを具えている場合、加算ゲートをネッ
トリストし、上述したドライバ回路網を接続する。最終
的に、(存在するならば)親チップへの接続をネットリ
ストする。チップ又は任意の派生チップがドライバを具
えている場合、チップの対及び選択された組に関するパ
ステーブルエントリからドライバに関する相互接続パス
を採用するとともに出力バッファをネットリストし、こ
こで採用したパスを介して親を駆動する。このチップ
が、ペアレントからのレシーバである場合、パステーブ
ルからパスを選択し、このパスを用いて入力バッファを
ネットリストする。
【0082】2.4.6 相互接続及びネットリスティン
グ手続についての詳細な規定: 第1の一般的な規定: 回路網に関して4個のクラスを設ける: シンプルな閉回路網:回路網は1個のドライバを有し、
すべての基本要素を同一のLチップ中に設ける。 シンプルなカット回路網:回路網は1個のドライバを有
し、基本要素を多数のLチップ中に設ける。 トライステート閉回路網:回路網が1個より多くのドラ
イバを有し、すべての基本要素を同一のLチップ中に設
ける。 トライステートカット回路網:回路網が1個より多くの
ドライバを有し、基本要素を多数のLチップ中に設け
る。 回路網の‘ソース’とは、その実際の論理値を伝送する
チップである:シンプルな回路網では、ソースはドライ
バを有しているLチップである。トライステート回路網
では、ソースはトップモスト(top-most)加算ゲートを
有しているチップである。 これを決定するために:回路網を走査し、どこに出力ピ
ンを配置しているかを調べる。出力ピンがすべて同一の
Lチップ上に存在する場合、このLチップがソースであ
る。これ以外の場合で、出力ピンがすべて同一のボード
上に存在する場合、このボード上のXチップがソースで
ある。これ以外の場合で、出力ピンがすべて同一のボッ
クス中に存在する場合、このボックス中のYチップがソ
ースである。上記以外の場合、Zチップがソースであ
る。出力ピンのインデックスナンバは、それが、その回
路網におけるピンの循環リストにおけるどの出力ピンで
あるかを示しており、ネットレコードが示すピンから始
まり、ゼロから一つずつカウントする。 ステージ1:設計部データ構造中のすべての基本要素を
送出する。 設計部データ構造中の各Lチップは:Lチップのネット
リストファイルがオープンされていない場合には、この
Lチップのネットリストファイルをオープンする。 このLチップの各基本要素は:基本要素ヘッダステート
メントをファイルに送出する。 この基本要素の各ピンは:(入力設計ファイルからネー
ムを得るための回路網の対象識別子を用いて)接続され
た回路網のネームを得る。そして、‘N' と称する。 入力ピンの場合:このLチップが回路網のソースを有し
ている場合には、回路網‘N' に接続された入力ピンに
関するステートメントを送出する。そうでない場合に
は、回路網‘N_R' における入力ピンステートメント
を送出する。 出力ピンの場合:この出力ピンのインデックスナンバを
得て、‘p’と称する。シンプル回路網の場合には回路
網‘N’のピンに指示を出す。トライステート閉回路網
の場合には回路網‘N_OR_p’のピンに指示を出
す。 トライステートカット回路網の場合:これがこのLチッ
プのこの回路網に関する唯一つの出力である場合、回路
網‘N' のピンに指示を出す。唯一つの出力ではない場
合、回路網‘N−OR−p’のピンに指示を出す。次の
ピンへ。次の基本要素へ。次のLチップへ。 ステージ2:すべての閉回路網加算ゲートに指示を出
す: 各トライステート閉回路網は:‘N’と称するこの回路
網のネームを得る。このLチップのネットリストファイ
ルがオープンされていない場合には、これをオープンす
る。‘i’と称する回路網に、何個の出力端子が存在す
るかをカウントする。 ‘i’入力ゲートに関するステートメントを送出する:
この回路網が‘フローティングハイ’である場合にはN
ORであり、これ以外の場合にはORであり、(0〜i
−1のすべてのjについて)回路網‘N_OR_j’に
接続された入力端子と、‘N’に接続された出力端子と
を有している。次の回路網へ。 ステージ3:カット回路網と相互接続しているバッファ
に指示を出すとともに、 すべてのカット回路網加算ゲートに指示を出す:すべて
の相互接続パステーブルのすべてのエレメントを“フリ
ー”にする。 各カット回路網(シンプル又はトライステート)は:階
層の順番でカット回路網を選択し、第1ボックス回路網
等を選択するとともに、この順番の範囲内で最も大きな
第一番目の回路網を選択する。 ステージ3A:トリーの構成 回路網の各基本要素は:この基本要素のボックスにトリ
ーノードを設けていない場合には、1を加える。このボ
ックス中の基本要素のボードにトリーノードを設けてい
ない場合には、1を加える。このボックス中のこのボー
ド上のこの基本要素のLチップにトリーノードを設けて
いない場合には、1を加える。この基本要素の回路網接
続が出力ピン(すなわちドライビィング(driving))
である場合には、このLチップのノードのDカウントを
インクリメントする。上記以外の場合で、このLチップ
がこの回路網のソースではない場合、このLチップのノ
ードのRカウントをインクリメントする。次の基本要素
へ。この回路網のすべての基本要素をトリーで表現する
際、唯一つのXチップノードのみを設けるならば、Yチ
ップノードをNULLとする。(すなわち、回路網はボ
ード上に存在している。) 唯一つのYチップノードのみが存在する場合、Zチップ
ノードをNULLとする。(回路網はボックス中に存在
する。) 各ノンNULLクロスバーレベルにおいて、まずXチッ
プ、その後Yチップ、その後Zチップ: このレベルにおける各ノードは: D=〔Dカウントがゼロでないチャイルドノードの数〕 R=〔Rカウントがゼロでないチャイルドノードの数〕 このノード又は派生をこの回路網のソースとする場合、
このノードをR=0にセットする。このノードをソース
とし且つ回路網をトライステートにする場合、その“ト
ップサム(top sum)”フラグを真にセットする。次の
ノードへ。次のレベルへ。 ステージ3B:各組の相互接続能力の決定 各組は、相互接続すべき各パスのパスカウントを捕捉
し、その相互接続能力を決定する。 この組のパスカウントの記憶を割当てる: Y−Zパスカウント:各ボックスの割当て 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パスカウントとしてセーブする。このボ
ードの次のLチップへ。このボックスの次のボードへ。
次のボックスへ 次の組へ ステージ3C:回路網の選択: 回路網を接続することのできる各組は:この組のすべて
のパスカウントの中から最小パスカウントを見出す。次
の組へ。これらの最小パスカウントの中から最大のもの
を見出す。検討の後、最大の最小パスカウントよりも少
ないパスカウントを有するすべての組を除去する。組が
存在しない場合には、この回路網を相互接続することが
できない。一組だけが残る場合には、この回路網の組を
選択する。2以上の組が残る場合には、すべての最小パ
スカウントの中から次の最も大きい最小を見出す。検討
の後、これよりも小さいパスカウントの組すべてを除去
する。一組が残るまで、又は、すべての残っている組の
パスカウントが同一となるまで、これを繰り返す。この
回路網の残っている組の内の任意の1個を選択する。す
べての組のすべてのパスカウントの記憶を解除する。 ステージ3D:相互接続のネットリスト 以下で用いられる手続の規定:ドライバ(又はレシー
バ)パスを得る又は確保するために: 1)このレベルのパステーブル中のフリーエレメント、
このノードのチップナンバ及びペアレントノードのチッ
プナンバから、パスを選択する。 2)使用されたパスのテーブルエレメントをマークす
る。 3)このノードのドライバ(又はレシーバ)パスナンバ
エントリの中のバスナンバとして、どのパスを用いたか
を記憶する。 I/Oピンナンバを導出するために: 1)2個のノードのチップナンバ及び組ナンバから、こ
のノードのチップとチャイルドノードのチップ(又は、
場合によっては親ノードのチップ)との同一性を確認す
る。これによって、含まれている特定のパス(例えば、
L4−X5,又はBoard3−Y7のようなパス)を識別
する。 2)パスナンバがチップの対を接続している幾つかのパ
スの内の一つのパスを示しているということをリコール
する。チップ、パス及びパスナンバを与え、I/Oピン
ナンバ情報を有している索引テーブルから、このパスを
接続しているピンナンバを読出す。 パスを用いて、バッファ(入出力)に指示を出すため
に: 1)パスナンバをこのノードから得る。又は、チャイル
ドパスが特定される場合には、パスナンバをそのチャイ
ルドノードから得る。ドライバ又はレシーバパスナンバ
を、指示されたようにして得る。 2)パスナンバを用いて、このバッファのI/Oピンナ
ンバを得る。 3)入力バッファであるか出力バッファであるかに応じ
て、このノードチップのネットリストファイルに、基本
要素ステートメントを送出する。この際、指示されるよ
うに、入出力回路網ネームを用いるとともに、そのI/
Oピンに対して得られたピンナンバを用いる。 相互接続のネットリスト手続:‘N’と称するこの回路
網のネームを得る。各ノンNULLレベルの第1Lチッ
プ、その後Xチップ、Yチップ及びZチップにおいて:
トリー全体におけるこのレベルにおける各ノードは:準
備していない場合には、このノードのチップに関するネ
ットリストファイルをオープンする。 レベルがX、Y又はZである場合:このノードの下位の
各チャイルドノードは:カウンタ‘i’をゼロにセット
する。 チャイルドのD>0である場合:(チャイルドとはドラ
イバである) このノードのD=1である場合:‘N_D_c‘から
‘N’へと入力バッファに指示を出す。(ここで‘c’
は、チャイルドノードのナンバである。)この際チャイ
ルドドライバパスを使用している。 このノードのD>1である場合:‘N_D_c’から
‘N_OR_i’へと入力バッファへと指示を出す。こ
の際、チャイルドのドライパスを使用し、‘i’をイン
クリメントする。 チャイルドのR>0である場合:(チャイルドはレシー
バである) このノードのD>0、且つこのノードのR=0の場合:
‘N’から‘N_R_c’へと出力バッファに指示を出
す。この際、チャイルドシートのレシーバパスを使用す
る。 そうでない場合:‘N_R’から‘N_R_c’へと出
力バッファに指示を出す。この際、チャイルドのレシー
バパスを使用する。次のチャイルドノードへ。 このノードのD>1である場合:(ノードは加算ゲート
を有している) ‘i’入力ゲートに指示を出す:この回路網が‘フロー
ティングハイ’であり、且つこのノードの‘トップサ
ム’フラグが真である場合、NORである。そうでない
場合には、ORである。この際、(0〜i−1のすべて
のjに対する)‘N_OR_j’に接続された入力端子
と、‘N’に接続された出力端子とを有している。この
ノードのD>0で且つこのノードがノンNULL親を有
している場合:(ノードはドライバである)ドライバパ
スを確保するとともに、受信する。‘N’から‘N_
D’へと出力バッファに指示を出す。この際、ドライバ
パスを使用する。 このノードのR>0である場合:(ノードはレシーバで
ある) レシーバパスを得て確保するとともに、受信する。‘N
_P’から‘N_R’へと入力バッファへと指示を出
す。この際、受信パスを使用する。このレベルの次のノ
ードへ。次のレベルへ。次のカット回路網へ。すべての
オープンネットリストファイルをクローズする。
【0083】2.4.7 2例の回路網 図47aは、‘BX’と称する、シンプル回路網のオリ
ジナル入力設計部を示している。これは、1個のドライ
バと3個のレシーバとを具え、同一ボックス中の一方の
ボード上の2個のロジックチップ及び他方のボード上の
1個のロジックチップに及んでいる。この回路網のステ
ージ3aによって構成された相互接続トリーを、図47
bに示す。どのようにして、各ロジックチップ、各ボー
ドに対するノード及びボックスに対するノードを設ける
かに注意しなければならない。ロジックチップノード
は、特定のロジックチップに対応している。ボードノー
ドは各ボード上のXチップに対応しており、ボックスノ
ードはYチップに対応している。Zチップは、この回路
網では必要ない。正確には、どのX及びYチップを使用
するかはどの組を選択するかに依存しており、これは、
トリー中には示されていない。D及びRの値を各ノード
毎に示している。ノードがレシーバであっても、L0が
D=0であることに注意する。その理由は、ノードがこ
の回路網のソースノードであり、他のノードとは異なり
ソースノードから値を受信する必要がないからである。
ボード2のノードにおいては、そのRカウントは初期値
が1であり、L4のレシーバをカウントする。ソースが
派生であるため、Rカウントがゼロにセットされていた
ことを示している。送出された回路網ネームは、これら
の回路網を用いて示されている。実際の相互接続の構造
によって、トリーの構造及び各ノードのD及びRカウン
トをどのようにして表わすかを述べる。図48aは、
‘EX’と称するトライステート回路網のオリジナル入
力設計部を示している。これは、同一ボックス中の一方
のボード上の2個のロジックチップ及び他方のボード上
の1個のロジックチップに及んでいる3個のトライステ
ートドライバと、2個のボックスにおける3個のボード
上の4個のLチップに及んでいる6個のレシーバとを具
えている。この回路網のステージ3aによって構成され
る相互接続ツリーを、図48bに示す。この回路網はボ
ックスに及んでいるため、Zレベルクロスバーを用い
る。2個のトライステートドライバを有しているため
に、ボード2のノードはD=2であることに注意しなけ
ればならない。Xチップは、加算ゲートを具え、ボード
2のLチップからのタームを捕捉する。回路網のソース
であるボックス2のノードも同様であり、これを、“ト
ップサム”とする。このYチップは、トップモスト加算
ゲートを具え、ボード2及び3からのタームを捕捉す
る。ボックス2のノード及びそのZペアレントノードは
ソースを具え、これらのRカウントをゼロにする。各ロ
ジックチップ及びクロスバーチップに関するネットリス
トファイルに送出される実際のゲート及びバッファと、
いかにして、これらを相互接続するかを、図49に示
す。設計変換によって、各トライステートドライバをど
のようにANDゲートに変換するかを注意しなければな
らない。これらの出力を、X及びYレベルの加算ゲート
によって捕捉する。受信入力は、“トップサム”ノー
ド、すなわちボックス2のYチップから伝送される。ボ
ックス2のレシーバは、相互接続へつながっているパス
によって駆動される。ボックス6のレシーバは、Zレベ
ルクロスバーチップを介して駆動される。
【0084】3 リアライザシステムの応用 3.1 リアライザロジックシミュレーションシステム ロジックシミュレータは、ハードウェア又はソフトウェ
アによって実現されるシステムである。このシステム
は、入力設計、一組の設計部への刺激、及び或る期間中
の刺激の方向を受信するとともに、一組の刺激を出力す
る。この刺激によって、実際の入力設計部を実現し、所
定の同一の刺激を発生させることを予測する。刺激及び
応答は、特定の時間に、特定の設計回路網のロジック状
態を伝送するものである。シミュレータユーザが、入力
設計ファイルの形態で設計部の記述のみを供給するとい
うことが重要な特性であり、短期間に設計部を変更する
とともに、これに再度刺激を与えることができる。現在
のソストウェアロジックシミュレータ設計部の演算は、
コンピュータソフトウェアプログラムを用いており、設
計部のオペレーションを予測するシーケンシャルなアル
ゴリズムを実行する(“An Introduction to Degital S
imulation",Mentor Graphics Corp.,Beaverton,Oregon,
1989)。よく知られているように、イベントドライブさ
れたコードアルゴリズム、又は、コンパイルされたコー
ドアルゴリズムのいずれか一方を使用する。現在のハー
ドウェアロジックシミュレータ設計部の演算とは、ソフ
トウェアシミュレータに使用されるのと同一の、イベン
トドライブされたコードアルゴリズム、又は、コンパイ
ルされたコードシーケンシャルアルゴリズムを実行する
ハードウェアを構成することである。アルゴリズムの並
列処理を開発及び/又は特別なアルゴリズムオペレーシ
ョンを直接実現することで、ハードウェアはその実行に
よる利益を得ることができる。このことは、一般的な目
的のコンピュータ実行ソフトウェアにおいては不可能で
ある。現在のハードウェアロジックシミュレータは、入
力設計部の応答を予測するシーケンシャルなアルゴリズ
ムを実行することで動作する。ロジックシミュレータを
構成する新しい手段は、リアライザシステムに基づいて
いる。リアライザロジックシミュレータシステムは、入
力設計を受信し、これをリアライザハードウェアのロジ
ック及び相互接続チップの構成に変換する。この際、リ
アライザ設計変換システムを使用する。リアライザロジ
ックシミュレータシステムは、一組の設計部への刺激
と、ある期間のシミュレートする方向とを受信し、ベク
トルメモリを介し、実現される設計部に刺激を与え、ベ
クトルメモリを介して、実現される設計部からの一組の
応答を捕捉する。応答は、入力設計部を実際に実現する
ことによって、所定の同一の刺激を発生させることに対
応している。その理由は、前記刺激に対応させて、設計
部をハードウェアによって実際に実現するからである。
このことは、現在のロジックシミュレーションシステム
のすべてが、設計部の刺激に対する応答を予測するシー
ケンシャルアルゴリズムを実行するが、リアライザロジ
ックシミュレータは実際の設計部の実現を行い、設計部
の刺激に対する応答を決定するという点において、すべ
ての現行のロジックシミュレーションシステムとは異な
る。主な利点は、実現された設計部が、シーケンシャル
アルゴリズムが応答を予測できるより速く、種々の速さ
で応答を発生させるということである。リアライザロジ
ックシミュレーションシステムは、(すでに説明した)
リアライザ設計変換システムと、ロジックシミュレータ
刺激及び応答伝送システムと、リアライザハードウェア
システム及びホストコンピュータと相俟って、カーネル
を作動させるロジックシミュレータとから成っている
(図50)。
【0085】3.1.1 ロジックシミュレーション刺激
及び応答の変換システム このシステムは、ユーザが作成した刺激イベント入力フ
ァイルを、直接ベクトルメモリにロードすることのでき
る刺激データを含むバイナリーファイルに変換するとと
もに、ベクトルメモリから読出されるバイナリー応答デ
ータを有するファイルから、ユーザが読出し可能な応答
イベント出力ファイルへ、応答を変換する。刺激及び応
答イベントは、回路網ネーム、時間及び新しい回路網の
状態値から成っている。変換とは、回路網ネームとベク
トルメモリビットとの間の変換、及び、シミュレーショ
ンの‘実時間’とベクトルメモリロケーションとの間の
変換である。時間変換は、刺激イベントを有する各特定
の時間をベクトルメモリロケーションに印すとともに、
このベクトルメモリロケーションにおける応答イベント
をこの時刻に発生したものとして報告する。好適例で
は、刺激入力イベントファイル及び応答出力イベントフ
ァイルを、Mentor Graphics Logfiles (“Quick Sim Fa
mily Reference Manual", MentorGraphics Corp.,Beave
rton,Oregon,1989)としている。これは、一連の時刻、
回路網ネーム及び、新たな回路網状態値を含むテキスト
ファイルである。EDAシステム中のバッチシミュレー
ションインタフェースツールによって、刺激入力イベン
トファイルを作成するとともに、応答出力イベントファ
イルを解釈する。好適例では、このツールを、Mentor G
raphics のRSIMツールとする。ここでは、このセクショ
ンで後に説明するように、すべての基本要素を、ゼロデ
ィレイでシミュレートするものと仮定する。刺激イベン
ト入力ファイルを、刺激バイナリーファイルへ変換する
ためには: 1)刺激入力イベントファイルを読出す。時間の経過に
応じて、刺激イベントをオーダするとともに、何個の異
なる時刻がイベントを有するかを決定する。 2)設計変換システムが出力するこの設計部中の各ベク
トルメモリに対する対応テーブルを読出す。 3)各ベクトルメモリロケーションは、1以上の刺激イ
ベントを有する時刻に対応している。各々の異なる刺激
イベント時刻に、十分なベクトルメモリロケーションが
存在しない場合、ステップ5及び6を必要なだけリピー
トし、すべてのこのような時刻に十分な刺激バイナリー
ファイルを出力する。このファイルは、各々メモリに適
合する刺激を有している。 4)ベクトルアレイ“V0”,“V1”等の記憶を割当
てる。その各々は、ロケーションのナンバ及び回路網幅
と一致しており、シミュレートされる設計部に用いられ
るベクトルメモリを用いている。ベクトルアレイと同じ
長さを有するタイムアレイ“T”の記憶を割当てる。
“ラストベクトル" バッファ“B0”、“B1”等を割
当てる。このバッファは、各ベクトルメモリに対するも
のであり、各々その回路網と同じ幅であり、これらをゼ
ロに初期化する。 5)ベクトルアレイインデックスカウンタ‘v’を、ゼ
ロにセットする。1以上の刺激イベントを有する各時刻
のうち、最も早い第1番目の時刻において、ベクトルメ
モリ‘n’及び、この回路網のベクトルメモリビットボ
ジション‘i’を設定する。この際、このイベントの回
路網の対応テーブルエントリを使用する。このイベント
に対する新しい値を、Vn[v] ビットi及びBnビット
iに書込む。次のイベントへ。V0[v]、V1[v] 等の
内容の各々を、B0、B1等に書込む。T[v]中のこの
時刻を記憶する。vをインクリメントする。刺激イベン
トを有する次の時刻へ。 6)ベクトルアレイV0、V1等、タイムアレイT及び
サイクルカウント‘v'を刺激バイナリーファイルに書
込む。応答バイナリーファイルを、応答イベント出力フ
ァイルに変換するために: 1)ベクトルアレイV0、V1等、タイムアレイT及び
サイクルカウント‘v’を応答バイナリーファイルから
読出す。各ベクトルメモリロケーションは、1以上の刺
激イベントを有する時刻と一致している。各々異なる刺
激イベント時刻に対して、ベクトルメモリロケーション
が十分でない場合、ステップ1〜4を必要なだけ繰り返
し、すべての応答バイナリーファイルをこれらのアレイ
中に読出す。 2)設計部変換システムが出力する、この設計部中の各
ベクトルメモリに対する対応テーブルを読出す。 3)“ラストベクトル”バッファ“B0”、“B1”等
を割当てる。これは、各々のベクトルメモリに対するも
のであり、各々その回路網と同じ幅を有しており、これ
をゼロに初期化する。 4)ベクトルアレイインデックスカウンタ‘v’をゼロ
にセットする。ベクトルアレイ中の各ロケーションは:
V0[v]をB0と比較し、V1[v]をB1と比較する。V
n[v]のビットとBnとの各々の差によって:このビッ
トのベクトルメモリ及びベクトルメモリビットポジショ
ンに対応する回路網ネームを配置する。この際、このメ
モリに対する対応テーブルを使用する。新しい応答イベ
ントを出力ファイルに書込む。この際、回路網ネーム、
新しいビットの値及び時刻T[v]を用いる。次のイベン
トへV0[v]、V1[v]等の内容の各々を、B0、B1等
に書込む。vをインクリメントする。次のロケーション
へ。
【0086】3.1.2 ロジックシミュレーションオペ
レーティングカーネル オペレーティングカーネルは、シミュレートされる設計
部のリアライザシステムを構成し、刺激を与えるととも
に応答を捕捉する。このことは、ホストコンピュータが
行う。各セクションに説明されているように、オペレー
ティングカーネルはロジックチップ及び相互接続チップ
を構成し、ベクトルメモリ及び設計メモリを読出し及び
書込むとともに、ホストインタフェースを介してクロッ
ク発生器及びリセット発生器を制御する。 シミュレーションを実行するために: 1)設計部の構成ファイルを読出すとともに、これを用
いて、構成のセクションで説明したように、すべてのリ
アライザロジックチップ及び相互接続チップを構成す
る。初期設計メモリデータをファイルから読出すととも
に、これを設計部メモリに書込む。 2)刺激バイナリファイルを読出す。ホストインタフェ
ースを介して、対応するベクトルメモリ中にベクトルア
レイの内容を記憶する。 3)ベクトルメモリモジュール中のすべてのベクトルメ
モリの内容をクリアする。設計部リセット発生器を周期
化し、実現される設計部を初期化する。 4)‘v’周期のECLK回路網のクロック発生器をイ
ネーブルする。このことによって、ベクトルメモリがこ
れらの刺激データを送出でき、この刺激に従って、実現
される設計部を作動させるとともに、ベクトルメモリが
応答データを捕捉する。このことについては、刺激/応
答のセクションにおいて説明されている。 5)ベクトルメモリの内容を読出すとともに、これらを
タイムアレイ“T”及びサイクルカウント“v”ととも
に、応答バイナリーファイルに記憶する。 6)ベクトルメモリの容量が不十分であるために1より
多くの刺激バイナリーファイルを設ける場合、各ファイ
ル毎にステップ2〜5を繰り返す。 7)ユーザ試験のためのファイル中の設計メモリ内容を
セーブする。
【0087】3.1.3 リアライザロジックシミュレー
ションシステムの使用 リアライザロジックシミュレータを用いて、入力設計部
をシミュレートするために: 1)ベクトルメモリ接続を示している特性を用いて、刺
激すべき回路網とこの応答を捕捉するための回路網とを
マークすることによって、EDAシステムの設計作成ツ
ールを使用し、入力設計部を準備する。必要ならば、初
期設計部メモリデータファイルを準備する。EDAシス
テムのバッチシミュレーションインタフェースツールを
用いて、刺激イベント入力ファイルを準備する。 2)リアライザ設計変換システムを用いて入力設計部を
変換し、構成ファイル及びベクトルメモリ回路網対応テ
ーブルファイルを出力する。 3)刺激及び応答変換システムをランさせ、刺激イベン
ト入力ファイルを刺激バイナリーファイルに変換する。 4)オペレーティングカーネルをランさせ、シミュレー
ションを行うとともに、応答バイナリーファイルを出力
する。 5)刺激及び応答変換システムをランさせ、応答バイナ
リーファイルを応答イベント出力ファイルに変換する。 6)EDAシステムのバッチシミュレーションインタフ
ェースツールを用い、応答イベント出力ファイルを翻訳
する。 7)入力設計部、初期設計部メモリファイル及び/又は
刺激イベント入力ファイルをシミュレーションの結果に
よって示されるように変更し、必要ならば、ステップ
2)〜6)をリピートする。 リアライザロジックシミュレーションシステムの会話形
の変形例では、刺激に対してはスティミュレータを用
い、応答に対してはサンプラを用いている。構成及びオ
ペレーションは以下を除き同様のものである。すなわ
ち、バッチシミュレーションインタフェースツールの代
わりに会話形シミュレーションインタフェースツールを
用いて、ファイルを介する代わりに刺激及び応答変換シ
ステムと直接通信しており、又、同時に作動する会話形
シミュレーションインタフェースツールオペレーティン
グカーネルを用いて、刺激及び応答変換システムが、フ
ァイルを介する代わりに直接オペレーティングカーネル
と通信している。イベントを有する各タイムステップ
を、ベクトルメモリロケーションではなく、エッジ検知
タイプのシミュレータに作成する。
【0088】3.1.4 3以上の論理状態の実現 リアライザシステムにおいて、2個のロジック状態を実
現するのは実用的なことである:高ロジック状態(H)
すなわち真と、低ロジック状態(L)すなわち偽であ
り、リアライザシステムの単一の信号を用いて、入力設
計部中に直接各回路網を実現することによって実現され
る。ロジックシミュレーション環境において、時には3
以上のロジック信号の状態を表現することが望まれる。
例えば、第3の状態、“未知の(X)”を用いて、初期
化されていないロジック変数又はあいまいなロジック状
態を表現する。高インピーダンス状態(Z)は、トライ
ステートバスのようなワイヤ結合のバスを実現するのに
役立つ。リアライザシステムの幾つかの例において、高
インピーダンス状態を直接実現することができる。例え
ば設計部にトライステート回路網が必要とされる場合、
ロジックチップ及び任意の必要な相互接続がトライステ
ートバス機能を構成する能力を有している限り、リアラ
イザシステムのトライステートバスによって設計部が実
現される。代わりに、1個の回路網を2以上の信号へ、
以下のように符号化することによって任意のロジック状
態を実現する:実現すべき状態の数を決定する。すべて
の状態を単一に符号化するのに必要とされる最小バイナ
リービット数を決定し、これを‘n’と称する。‘n’
個の実際のバイナリーロジック信号によって設計部中の
回路網を実現する。例えば、3個の状態(H,L,X)
を必要とする場合、2個の実際のバイナリー信号を用い
てリアライザシステム中の単一の設計回路網を実現す
る。基本要素変換ステージの間にこの変換を行い、これ
らの新しいバイナリー信号を設計部データ構造に入力
し、オリジナル設計回路網を置換する。更に、設計部中
のロジック基本要素を、多数状態ロジック機能に従って
動作するロジック回路網で実現する。例えば3個の状態
(H=高ロジック状態,L=低ロジック状態,X=未
知)を用いる場合、設計部中の2入力ANDゲートを、
3状態AND機能に従って動作するロジック回路に従っ
て実現する(図51a)。いずれかの入力端子をXと
し、入力端子が存在しないことをLとする場合、出力端
子に生じるX状態を用いて、3状態シミュレータの如
く、ロジック機能が動作する(図51b)。この回路網
は、2個の2ビット入力端子と、1個の2ビット出力端
子とを有している(図51c)。マルチステートを実現
するこの技術を、設計解析のために必要とされるように
入力設計部の全体又は設計部の一部分にのみ用いること
ができる。2個より多くの状態でシミュレートされる回
路網をこのようにして入力設計ファイル中に作成し、設
計部リーダは設計部データ構造中のこのことに注目し、
基本要素コンバータは基本要素に対する上記の代用回路
網及び基本要素に対する多数の回路網を作成する。ロジ
ック基本要素が、2状態の回路網接続と3以上の状態の
回路網との混合を有している場合、回路網の条件に従っ
て作動するロジック回路網を使用する。もしそうでなけ
れば、上述したシミュレーション動作となる。
【0089】3.1.5 リアライザのディレイの表現 現在のロジックシミュレータでは、種々の方法で、信号
がロジックエレメントを通過する際のタイムディレイを
作る。リアライザのロジックチップ中のロジックは実際
のハードウェアであるため、そのディレイ特性は完全に
正確に規定することはできず、ロジックディレイを直接
作成することはできない。ロジックディレイは、プログ
ラムを実行するシミュレータ中の特別の方法を用いるこ
とによって、及び/又は設計変換プロセスの間、ディレ
イを形成する特別のロジック機能を挿入することによっ
て作成する。ゼロディレイ、ユニットディレイ又はリア
ルディレイとして、実現するシミュレーション中にディ
レイを形成することができる。この選択はユーザによっ
て成され、これをリアライザロジックシミュレータシス
テムに指定する。
【0090】3.1.5.1 ゼロディレイ ゼロディレイとは、リアルタイムディレイを形成するこ
となく、ディレイをゼロとして処理し、シミュレーショ
ンを行うことをいう。例えば、刺激イベントが、時刻
‘i’に、結合ロジックのみを介して出力端子と接続さ
れている入力端子に生じる場合、この出力端子の応答イ
ベントは、時刻‘t’に生じるものとして報告される。
ゼロディレイのために、設計部変換システムは特別なロ
ジック機能を挿入しない。上記の如く、メインリアライ
ザロジックシミュレーションシステムにおいて説明した
方法に従って、シミュレーションを行う。
【0091】3.1.5.2 ディレイ依存機能 設計部に任意の遅延依存機能を設けると複雑なものとな
る。ゼロ遅延タイミングモデルではここまでには至らな
い。クローズドループ機能、すなわちクロスカプルドゲ
ートのように、非同期フィードバックを設ける場合、無
条件に記憶装置を設ける。記憶機能は相対的なディレイ
に依存している。ディレイ依存機能は、ディレイをオー
プンループ機能に用いると他の形態のものとなる。この
一例としては入力端子で接続されたディレイ素子を有す
るイクスクルーシブORゲートがある(図52a)。イ
クスクルーシブORゲートの出力は、信号がディレイ素
子を介して伝播するのに必要とされる時間においてはハ
イである。この回路網に供給される信号が変化すると出
力端子にパルスを出力する(図52b)。実際のリアラ
イザロジックディレイはゼロではないため、これを直接
コントロールできない場合、クロスカプルドゲートのよ
うな多くのクローズドループ及び幾つかのオープンルー
プの場合、ディレイ依存機能は正しく動作する。しか
し、ユーザは確実に実現された設計部が意図するように
動作することを要求する。現在のタイミング分析ツール
は、非同期フィードバックの瞬間を自動的に見出し、レ
ポートするとともに、オープンループディレイに依存す
る行動を検出する。リアライザ設計変換システムは、ユ
ーザが必要とするならば、タイミング分析ツールを用い
ることによってタイミング分析を行う。好適実現例で
は、Mentor Graphics Quick Pathタイミング分析ツール
を用いる(“Quick Path User's Manual”, Mentor Gra
phics Corp., Beaverton, Oregon, 1989) 。 1)設計変換プロセスの一部として、ERCGAネット
リスト変換ツールは、内部相互接続及びロジック遅延の
評価を出力する。これらは、レポートファイルへ送出さ
れる。 2)すべてのネットリストを変換した後、データをリポ
ートファイルから読出し、設計部データ構造中に入力す
る。この際、基本要素又は回路網と関連する各ディレイ
評価を用いる。 3)設計部データ構造を設計ファイルに書込む。 4)タイミング分析ツールを設計ファイルに適用する。
タイミングアナライザによって検出される任意の起こり
得る変化をユーザに報告する。ユーザは、入力設計ファ
イルを適切に評価し、修正する。
【0092】3.1.5.3 ユニットディレイ ユニットディレイモデルとは、各ロジック基本要素が1
単位(ユニット)のディレイを有するように形成したも
のである。ディレイ依存性を用いて、このような形成
を、時々設計部に使用し、正しい動作を保証する。適切
な特性を入力設計ファイル中の基本要素に加えることに
よって、ユーザはゼロディレイ基本要素と合成されたユ
ニットディレイ基本要素を指定する。自動的に、各ユニ
ットディレイロジックエレメントの出力端子にフリップ
フロップを設け、ユニットディレイを形成する。これら
のフリップフロップを共通クロックに接続し、この共通
クロックは、第2クロック発生器によってシミュレーシ
ョンの各単位時間毎に一回の周期を成す。これらのフリ
ップフロップ及び‘タイムクロック’回路網を、基本要
素変換プロセスによって設計データ構造に加える。ユニ
ットディレイを用いてシミュレートされるロジック設計
回路網の一例としては、クロスカプルドゲートを用いて
作成されたフリップフロップがある(図53a)。各ゲ
ートを、その出力端子にユニットディレイフリップフロ
ップを設けて構成する(図53b)。連続的なタイムク
ロック及び入力信号を与える最終的なオペレーション
は、ユニットディレイゲートを有するフリップフロップ
のオペレーションである(図53c)。ユニットディレ
イシミュレーションのためのリアライザロジックシミュ
レータは、以下の変更を伴うものの、ゼロディレイと同
様の方法を用いて動作する。 ・ユーザは、どの位の時間が1ユニットに相当するのか
を指示する。 ・刺激及び応答回数を、ユーザが指定する時間単位の倍
数‘M’に制限する。 ・各ベクトルメモリロケーションは、M時間単位に対応
しており、この時の刺激イベントが存在しているかどう
かとは無関係である。 ・刺激及び応答変換システムは、これらの仕様を用い、
これらの対応関係に従って、イベントとベクトルメモリ
ロケーションとの間にマップを作成する。 ・最終的に、刺激イベントを有していない時刻は、前の
ロケーションと同一の内容を有するベクトルメモリロケ
ーションによって表現される。 ・オペレーティングカーネルは、‘タイムクロック’ク
ロック発生器の周波数をECLKの周波数のM倍にセッ
トし、互いに同期をとりながら動作するように指示す
る。オペレーションの間、各M時間単位毎に1個のEC
LK、従って一組の刺激及び応答が存在する。
【0093】3.1.5.4 リアルディレイ リアルディレイ、すなわち種々の時間単位によるディレ
イを、ロジックチップ中の特定のハードウェア構成を用
いて実現する。このハードウェア構成は、設計変換の
間、各リアルディレイロジックエレメントの設計部デー
タ構造に自動的に挿入される。これには幾つかの技術が
ある:各ロジック基本要素出力端子と直列にシリアルシ
フトレジスタを構成する。その長さを、各ケースに必要
とされるディレイ単位の数に対応させて構成する。すべ
てのシフトレジスタを、各時間単位に対して1回の周期
をなすように、共通‘タイムクロック’でクロックす
る。このようにして、シフトレジスタは‘n’ユニット
(単位)リアルディレイとして作用する。ここで‘n’
はレジスタの長さである(図54a、ディレイレジスタ
中の値に従って、マルチプレクサを介して選択され
る)。代わりに、有限状態マシン(FSM)と、1以上
のスターティングカウント(starting count)に対す
る記憶装置を有するカウンタとを、各ロジック基本要素
出力端子と直列に構成する(図54b)。FSMは、ロ
ジック基本要素出力状態の変換を検出する。各状態の変
換において、発生した特定種類の状態変換(上昇(risi
ng)又は下降(falling))にとって適切なスターティ
ングカウントを用いて、カウンタはFSMによってロー
ドされる。すべてのカウンタは、各時間単位毎に1回の
周期を成すように、共通‘タイムクロック’を周期化す
る。カウントがゼロになった場合、FSMは、出力状態
変換を、ディレイされた出力へと送り、その接続された
入力端子へと伝播する(図54c参照)。
【0094】3.1.6 リアライザシミュレータから他
のシミュレータへの状態の伝送 リアライザロジックシミュレータシステムは極めて高速
であるという利点を有し、このため、ソフトウェア又は
他のイベントドライブによるシミュレータよりも多くの
種々のテストサイクルで処理することができる。このシ
ステムは、ディレイ及び他の時間に関連する項目を表示
できず、且つ、設計部中のすべてのノードを監視できな
いという不利な点も有している。慣用のイベントドライ
ブによるソフトウェアシミュレータはかなり低速である
が、項目の表現及び、刺激及び監視のためのすべての回
路網ノードへのアクセスができるという利点を有する。
しかし、慣用のイベントドライブによるソフトウェアシ
ミュレータは、非常に低速であるため、シミュレートさ
れた設計部を、初期状態から何100万又は何10億周
期も離れた誤った状態に送るということは実際には生じ
ない。誤った状態は、実際に、起こり得ないということ
がわかる。初期状態、すなわち、内部フリップフロップ
及びロジックゲート出力の値を読出すことができる(Xil
inx LCAのような)ロジックチップを用いてリアライ
ザシステムを構成する場合、実現されるシミュレーショ
ンはストップされ、設計部全体の状態が読出される。リ
アライザロジックシミュレータと他のシミュレータとを
結合させることによって、シミュレートされた設計部の
状態(すなわち、設計部中のすべての内部記憶装置の
値)が、一方から他方へと伝達される。この際、以下の
方法に従っている: 1)同一の設計部を、両方のシミュレータにロードす
る。 2)リアライザロジックシミュレータ中の設計部は、数
サイクルの間、以下のようにシミュレートされる。すな
わち、詳細に監視されるべきエラー又は他の条件の発生
前の状態へ短時間で設計部を変換する。 3)この時、リアライザ刺激クロックはストップされ、
設計部の全状態がロジックチップから読出される。 4)この時、他のシミュレータで表現されている設計部
を初期化し、リアライザに基づくシミュレータから読出
される状態に適合させる。 5)シミュレーションを、他のシミュレータに進める。 このようにして、リアライザロジックシミュレータの究
極的な速度を用いて、長すぎるために、他の方法で取り
除くことのできないエラーを除去し、他のシミュレータ
の詳細及び可視性を用いてエラーの原因を分析すること
ができる。
【0095】3.2 リアライザフォールトシミュレー
ションシステム フォールトシミュレーションとは、テストベクトルを開
発、修正するのに用いられるロジックシミュレーション
の変形、すなわち、組立て後、設計部、一般的には集積
回路の正確性をテストするのに用いられる刺激の組であ
る。ユーザ設計によるフォールティバージョン(faulyt
version)をテストベクトル刺激を用いてシミュレー
トするとともに、グッド(good)バージョンと比較し、
テストベクトル刺激がグッドバージョンの応答とは別の
応答を発生させるかどうかを調べる。別の応答を発生さ
せるならば、テストベクトル刺激が故障(フォールト)
を検出していることを示している。故障の多いセットに
対しては、このことが繰返される。このことは、できる
限り多くの故障を検出する一組のテストベクトルを開発
することを目的としている。一般的に、2個の故障を入
力設計部の各回路網においてシミュレートする。すなわ
ち、回路網が“スタックアットロー(stack-at-low)”
と称する、常にロー状態である場合と、“スタックアッ
トハイ(stack-at-high)”と称する、常にハイ状態で
ある場合とがある。一般的に、入力設計部が何千個もの
回路網及びテストベクトルを有し、且つ、フォールトシ
ミュレーションが各新しいテストベクトルのバージョン
毎に繰り返されるため、このことは、極めて時間のかか
るタスクである。フォールトシミュレーションを構成す
る新しい手段は、リアライザシステムに基づいている。
リアライザロジックシミュレータの方法を、フォールト
シミュレーションの修正に関して用いる。シリアルフォ
ールトシミュレーション技術(“Quick Sim Family Refe
rence Manual”, Mentor Graphics Corp., Beaverton,
Oregon, 1989)を用いる:各故障に関しては: 1)実現された設計部を修正し、故障を伝える。 2)刺激を与え、設計部を作動させ、応答を良好設計の
応答と比較し、相異をフラグで合図する。 3)故障を取除き、この故障による相異が存在している
かどうかを記録する。現行のフォールトシミュレーショ
ンシステムが、故障設計部の刺激に対する応答を予測す
るシーケンシャルなアルゴリズムを実行するのに対し
て、リアライザフォールトシミュレーションでは、実際
の故障設計部を実現させ、設計部の刺激に対する応答を
決定するという点において、両者は相違する。主な利点
は、実現される設計部が、シーケンシャルなアルゴリズ
ムが応答できるよりも速い種々の速度で応答を発するこ
とである。リアライザロジック及び相互接続チップで構
成したように、故障は、直接設計部に伝えられる。故障
を入力設計回路網に伝えるために:入力設計部の回路網
が、ロジックチップ中に対応回路網を有している場合:
フォールト構成を用いて、回路網に接続された各ロジッ
クチップを再構成する。これは、回路網に接続された入
力端子を、故障に従って、一定のハイ又はローに接続し
ている点を除き、オリジナルの構成と同一である。入力
設計部中の回路網が、ロジックチップ中に対応する回路
網を有していない場合:対応する回路網はロジックチッ
プのロジック機能に包摂されており、ロジックチップを
フォールト構成を用いて再構成する。これは、回路網に
包摂されるロジック機能を、回路網が故障に応じて、常
にハイ又はローとなるように作動する構成にする点を除
き、オリジナルの構成と同一である。故障を取り除くた
めに、オリジナルの構成を用いて、チップを再構成す
る。リアライザフォールトシミュレータは、以下の相異
点を有するものの、リアライザロジックシミュレータと
本質的に同様のものである(図55):リアライザフォ
ールトシミュレータとは、フォールトコンフィギュレー
タ(configurator)であり、ロジックシミュレータの上位
の設計部変換システムの付加的部分を構成している。リ
アライザフォールトシミュレータは、以下のような各々
の故障に対して構成ファイルの相違を出力する: 1)一時的に、故障を設計部データ構造に伝える。 2)どのロジックチップが故障による設計部の変化によ
って影響されるかを決定する。 3)影響を受けたロジックチップのネットリストファイ
ルを送出する。 4)ERCGAネットリスト変換ツールを用いて、影響
を受けたロジックチップの構成ファイルを出力する。 5)フォールト構成ファイルをオリジナルと比較し、構
成相違ファイルに相違のみをセーブする。 応答ベクトルメモリを応答回路網に構成する代わりに、
設計部コンバータはフォールト応答メモリを構成する。
刺激/応答のセクションで説明したように、これらフォ
ールト応答メモリは、応答回路網をメモリ中に記憶され
た良好な値と比較し、相異が検知される場合にはフリッ
プフロップをセットする。オペレーティングカーネル
は、フォールトシミュレーションに対して種々作用す
る。フォールトシミュレーションを作動させるために
(ゼロディレイについて示す。ユニット又はリアル遅延
も同様である): 1)設計部構成ファイルを読出し、これを用いて、すべ
てのリアライザロジック及び相互接続チップを、構成
(configulation)のセクションで説明したように構成
する。初期設計部メモリデータを、ファイルから読出
し、これを設計部メモリに書込む。構成相違ファイルを
読出す。 2)刺激バイナリーファイルを読出す。ベクトルアレイ
の内容を、ホストインタフェースを介して対応する刺激
ベクトルメモリ中に記憶する。タイムアレイ“T”及び
サイクルカウント“v”を読出す。良好な回路の応答バ
イナリーファイルを読出す。対応するフォールト応答ベ
クトルメモリ中のベクトルアレイの内容を記憶する。 3)この故障の構成の相違を用いて、第1の故障によっ
て影響を受けるロジックチップのフォールト構成ファイ
ルを出力する。またこれらを用いて、この故障に対する
ロジックチップを構成する。 4)ベクトルメモリモジュール中のすべてのベクトルメ
モリカウンタ及び相違検出フリップフロップをクリアす
る。設計部リセット発生器を周期化し、実現される設計
部を初期化する。 5)‘v’周期のECLK回路網のクロック発生器をイ
ネーブルする。このことによって、刺激ベクトルメモリ
はこれらの刺激データを送出し、刺激に応じて実現され
る設計部を作動させることができるとともに、フォール
ト応答ベクトルメモリは、良好回路に対して応答データ
を比較する。 6)フォールト応答検出フリップフロップをチェックす
るとともに、この故障に対して相違が生じたかどうかを
記録する。 7)オリジナル構成を、故障したロジックチップに戻
す。 8)各残りの故障に対して、ステップ3)〜7)を繰り
返す。
【0096】3.3 リアライザロジックシミュレータ
評価システム 現在のEDAシステムにおける現行の慣用的なシミュレ
ータの多くは、イベントドライブと称するよく知られた
シーケンシャルなアルゴリズム、又はコンパイルされた
コードシミュレーションのいずれかに従って作動する
(“An Introducion to Digital Simulation”,Mentor G
raphics Corp.,Beaverton,Oregon,1989)。第1アルゴリ
ズムにおいては、入力設計部における各基本要素を各時
間ステップ毎に“評価”する。この場合、基本要素の入
力ピンを駆動する回路網は、イベント即ち状態の変化を
有している。また第2アルゴリズムにおいては、全ての
時間ステップに対して入力設計部の各基本要素を評価す
る。基本要素の評価とは、基本要素の新しい出力値が新
しい入力値に対してどのようなものであるかを決定する
動作のことである。このことは、シミュレーションの間
何回も生じる。通常、ゲートのような小さな基本要素の
みを1オペレーションで評価する。この際、索引テーブ
ル又は他の直接的な技術を使用する。大規模ロジック回
路網は、一般的に小さな基本要素及び回路網の組み合わ
せとしてシミュレートされる。多くの時間のかかる内部
評価は、各大規模回路網の評価毎に必要とされる。リア
ライザシステムの外部にあり、シーケンシャルなシミュ
レーションアルゴリズムを実行するロジックシミュレー
タをリアライザロジックシミュレータ評価システムに結
合させる。これは、リアライザのハードウェアを用い、
アルゴリズムシミュレーション中の1以上の大規模ロジ
ック回路網を評価する。リアライザシステムによって評
価されるべき各大規模ロジック回路網を、外部ロジック
シミュレータ中に単一基本要素で表現する。この利益の
一つはそのスピードにある。その理由は、実現された基
本要素がほとんど瞬間的に評価されるからである。リア
ライザシステムによって評価されるロジック回路網のサ
イズは、リアライザのロジック容量によってのみ制限さ
れ、全入力設計部と同量のロジック容量を包含してい
る。リアライザロジックシミュレータ評価システムは、
リアライザハードウェアシステム及びホストコンピュー
タと相俟って、リアライザ設計部変換システム(既に記
載した)と、リアライザロジックシミュレーションイバ
リュエータ(evaluator)とからなっている(図56)
。これを、シーケンシャルなシミュレーションアルゴ
リズムを作動させる外部ロジックシミュレータに結合さ
せる。リアライザロジックシミュレーション評価システ
ムによって、評価のためのロジック回路網を準備するた
めに: 1)リアライザシステムによって評価されるべきロジッ
ク回路網をEDAシステムの入力設計部として組み立て
る。 2)特性を各ロジック回路網の入出力回路網に組込み、
シミュレータ及びサンプラによってそれぞれ駆動される
ように指示する。 3)通常の方法でリアライザ設計部変換システムを用
い、入力設計部を変換し、ロジック回路網のこの集合体
に構成及び対応テーブルファイルを出力する。 シミュレーションを行うために、以下の方法に従って、
外部ロジックシミュレータを作動させ、シミュレータア
ルゴリズムを実行させると共にリアライザロジックシミ
ュレーション評価装置も作動させる。: 1)外部シミュレータのデータ構造を構成し、リアライ
ザシステムによって評価されるべき各ロジック回路網毎
に単一の基本要素を設ける。 2)設計部の対応テーブルファイルを読み出し、基本要
素入出力を、リアライザホストインターフェースバスの
これらのアドレスと関連させる。 3)構成のセクションにて述べたように、設計部の構成
ファイルを読み出し、これを用いて全てのリアライザロ
ジック及び相互接続チップを構成する。ファイルから初
期設計部メモリデータを読み出し、これを設計部メモリ
に書き込む。設計部リセット発生器を周期化させ、実現
されるロジック回路網を初期化する。 4)初期値を用いて全てのシミュレータを初期化する。 5)外部ロジックシミュレータのシミュレーションアル
ゴリズムを作動させる。 シミュレーションアルゴリズムでは、この方法を用いて
リアライザに基づく基本要素を評価する: 1)このシミュレーション時間ステップにおける、この
基本要素への全ての入力に対する値を、リアライザロジ
ックシミュレーションイバリュエータに伝送すると共
に、この値をロードするために、対応するシミュレータ
に送る。 2)リアライザロジックシミュレーションイバリュエー
タにこの基本要素の全ての出力サンプラをチェックする
よう指示し、いかなる出力に対する変化であってもシミ
ュレーションアルゴリズムに伝送し直す。 6)シミュレーションの前後において、ユーザが試験及
び修正を行うために、ホストインターフェースを介して
設計部メモリ内容をアクセスするために、外部ロジック
シミュレータのユーザインターフェースシステムの機能
を与える。 シミュレーションアルゴリズムをソフトウェア中で実行
する場合、これをリアライザホストコンピュータで実行
するとともに、ホストインターフェースを用い、シミュ
レータ、サンプラ及び設計部メモリをアクセスする。シ
ミュレーションアルゴリズムをハードウェアで実行する
場合、ホストコンピュータへの通信リンクを用い、シミ
ュレータサンプラ及び設計部メモリをアクセスする。ハ
ードウェアシミュレータシステムの変更には、シミュレ
ータハードウェアとリアライザのユーザ指定によるデバ
イス(USD)モジュールとの間の直接接続を用いる。
この方法は以下の相違点を伴うものの、上記と同様であ
る: 1)入力設計部の基本要素の入出力に関するシミュレー
タ及びサンプラを指示する代わりに、これらを、ハード
ウェアシミュレータの評価ユニットに対応するUSD基
本要素に接続する。 2)ハードウェアシミュレータの評価ユニットを、リア
ライザのUSDMに電気的に接続する。入力イベントが
発生すると、新しい値を直接接続によって実現される基
本要素に供給すると共に、ホストを介するのではなく直
接接続によって出力応答を捕捉する。このため、かなり
の高速評価スピードが得られる。
【0097】3.4 リアライザプロトタイピングシス
テム 入力設計部を実現する場合、これを直接設計部のプロト
タイプとして実現し、作動させることができる。一般的
にリアライザシステムのタイミングディレイは、究極的
なハードウェアの実現によるタイミングディレイと一致
しておらず、このためプロトタイプはフル設計スピード
で作動することはできないが、リアライザベースのプロ
トタイプによって、ほとんど実時間で設計部は実際に動
作することができる。実現される設計部を、リアライザ
クロック発生器、ホストを介して制御されるシミュレー
タ、実際にユーザが指定するハードウェアデバイス、実
現される仮想計器(以下で説明する)によってシミュレ
ートし、及び/又は、内部ロジック及び/又は設計部メ
モリ内容によって自己シミュレートする。設計部のオペ
レーションを、ホスト、実際にユーザが指定するハード
ウェアデバイス、実現される仮想計器を介して、及び/
又は、設計部メモリ内容を調べることによって、コント
ロールされるサンプラを用いてモニタするとともに分析
する。設計者は直接、“ベンチトップ(benchtop)”環
境と同様に、実時間で設計部と対話する。リアライザプ
ロトタイピングシステムは、リアライザハードウェアシ
ステム及びホストコンピュータとともに、設計部変換シ
ステムと、プロトタイピングシステムとを具えている
(図57)。プロトタイピングオペレータは、作動され
る設計部のリアライザシステムを構成し、リアライザ設
計部の対話型刺激及び応答をサポートする。このオペレ
ータはホストコンピュータにおいて実行し、直接又はホ
ストコンピュータにおいてランする制御プログラムを介
して、ユーザのコマンドに対して応答する。 実現される設計部を作動させるために: 1)構成のセクションにて述べたように、設計部の構成
ファイルを読み出し、これを用いて、全てのリアライザ
ロジック及び相互接続チップを構成する。ユーザが供給
するファイルから初期設計部メモリデータを読み出し、
これを設計部メモリに書き込む。対応するテーブルファ
イルを読み出すと共に、設計部回路網ネーム間の対応
と、スティミュレータ及びサンプラ及びこれらのホスト
インターフェースバスアドレスとを確立する。 2)設計部リセット発生器を周期化し、実現される設計
部を初期化する。 3)連続的に以下の動作を必要に応じて行う:−ユーザ
コマンドを処理し、クロック及びリセット発生器を制御
する。−ユーザコマンドを処理し、スティミュレータ出
力値を変化させる。この際、対応テーブルを用い、ユー
ザが与える回路網ネームを、対応するスティミュレータ
と関連させる。−ユーザコマンドを処理し、サンプラの
データ入力値を表示する。この際、対応テーブルを用い
ユーザが与える回路網ネームを、対応するサンプラと関
連させる。−ユーザコマンドを処理し、設計部メモリモ
ジュール中のロケーションを読み出すと共に書き込む。
設計部が動作していないことを確認する。この際、設計
部メモリをアクセスする前にクロック発生器が停止し、
不適切な設計部メモリの動作を回避することをチェック
する。設計部が停止されていないかどうかを、ユーザに
報告する。 リアライザプロトタイピングシステムを使用するため
に: 1)入力設計部をホストEDAシステム中に作成する。 2)シミュレータに接続されるべき設計部回路網と、サ
ンプラと、クロック又はリセット発生器とをマークす
る。 3)設計部基本要素、回路網及び接続を設け、用いるべ
き任意の仮想計器に対する回路網を設計する(以下参
照)。 4)リアライザ設計部変換システムを用いて入力設計部
を変換し、設計部の構成ファイルを出力する。 5)リアライザプロトタイピングオペレータを用いて、
設計部を作動させる。図57にて示す特定の例において
は、デジタルコンピュータ設計部を、リアライザプロト
タイピングシステムを用いて実現する。ユーザは、ホス
トEDAシステムを用いて、入力設計ファイル中のコン
ピュータロジック及びメモリの設計部を表現し、ユーザ
は、リアライザ設計部変換システムを用いて、構成ファ
イルへと変換する。実際の具体例においては、実際のフ
ロントパネル制御スイッチ及びインジケータに接続され
ているフロントパネル制御入力及びディスプレイ出力
は、入力設計部において指定され、プロトタイプオペレ
ータを介してのユーザ制御の下、スティミュレータ及び
サンプラに接続される。コンピュータのクロック入力信
号がリアライザクロック発生器によって出力されるよう
に指定する。プロトタイプコンピュータを作動させるた
めに、ユーザはリアライザプロトタイプオペレータをラ
ンさせ、コンピュータ設計に応じてリアライザシステム
を構成する。実現されるコンピュータ設計部で実行が可
能となるように、コンピュータプログラムコードをロー
ドすると共に、その初期データを、プロトタイプオペレ
ータを介し、動作の開始時に設計部メモリへロードす
る。ユーザがクロック発生器をイネーブルさせると、コ
ンピュータ設計部は、リアライザハードウェアの構成さ
れたロジック及び相互接続チップにおいて実際に動作
し、設計部メモリから読み出されるプログラムインスト
ラクションコードを実行するとともに、設計部メモリ中
のデータを読み出し且つ書き込む。ユーザは、フロント
パネル制御入力端子を作動させ、プロトタイプオペレー
タの対応スティミュレータ及びサンプラへのアクセスを
介して、動作中ディスプレイ出力を読み出す。結果はプ
ログラムの終了時に、プロトタイプオペレータを介して
メモリ中からユーザによって読み出される。ユーザはこ
の結果を解析し、設計部が正確であるかどうか、すなわ
ちユーザの意図に従って正しく動作しているかどうかを
判断する。入力設計部中の設計エラーのために設計部が
正しく動作していない場合、ユーザは、ホストEDAシ
ステム用いてエラーを修正し、プロトタイピングプロセ
スを繰り返す。
【0098】3.4.1 実現される仮想計器 刺激及び/又は分析計器が、プロトタイプデバッギング
プロセスにおいて必要とされる場合、ロジックアナライ
ザのような慣用の計器を、ユーザが与えるデバイスモジ
ュールを介して、実現される設計部に直接接続される。
実際の計器を接続するために、計器に接続されるべき設
計回路網に接続され、入力設計部中の計器USDを表示
している基本要素を設けるとともに、ESD接続を規定
しているUSD使用ファイルを作成する。このとき、計
器を直接USDMに接続し、上記のように実現される設
計部を変換させ、作動させる。さらに、“仮想計器”
を、入力設計ファイル中の設計部に設け、且つ、この設
計部を用いて実現される基本要素及び回路網を設けてい
る。例えばロジックアナライザーを、一組のロジック信
号をモニタするよく知られた計器とし、これらが一定の
トリガ条件を満足する場合、一組の分析された信号を連
続的にサンプリング化するとともに、これらの値をメモ
リ中に記録する。これはその後分析のために読み出され
る。図59は、仮想ロジックアナライザの構成を示し、
このアナライザは、応答ベクトルメモリと、ロジック基
本要素を有する条件検出器と、1個以上のスティミュレ
ータ及びサンプラと、他のロジック基本要素とを具えて
いる。設計部を用いて仮想ロジックアナライザを実現及
び使用するための: 1)設計部に加えて、図で示したように、相互接続され
た入力設計ファイル中のこれら成分に対する基本要素を
設ける。特に、応答ベクトルメモリ入力を、分析される
べき設計部回路網に接続し、条件検出器入力端子を、ト
リガ条件でモニタされるべき設計部回路網に接続し、こ
れによって、検出されるべき条件に従って条件検出器の
ロジックを指定する。 2)入力設計ファイルを、通常の手続きに従って構成フ
ァイルに変換する。 3)リアライザプロトタイピングシステム中の設計部を
構成する。 4)シミュレータを介して“リセット”信号を周期化さ
せ、実現される設計部が動作を開始するのに必要とされ
る刺激を与える。 5)“トリガされた”サンプラをモニタする。サンプラ
が“トリガされた”信号が真であることを示している場
合、ロジックアナライザは分析された信号データを捕捉
する。 6)このデータを、ロジックアナライザの応答ベクトル
メモリからホストインターフェースを介して読み出す。
これを、一般的なコンピュータデバッガプログラム又は
これと同様のものを用いて、表示するとともに分析す
る。 これは、いかにして仮想刺激又は分析計器を、リアライ
ザシステム中の設計部を用いて実現するかを示す一例で
ある。ロジックアナライザの概念のような、計器自体の
概念が新規でないことに注意する。リアライザシステム
中の入力設計部を用いて計器を実現することが、新規性
の一要素となっている。
【0099】3.5 リアライザ実行システム リアライザ実行システムを用い、入力設計ファイル中で
指定され、未だ構成されていない又は永久的ハードウェ
アにおいて、決して構成することを試みることはないハ
ードウェア機能を実行する。このことを行うことによっ
て、幾つかの利点が得られる:永久的ハードウェアを構
成する間、ソフトウェア開発又はその他の目的のため
に、実現される設計部を使用する。このことによって、
例えば、ソフトウェア開発に作成中に行うことが可能と
なり、これをデバッグし、永久的ハードウェアを使用し
ない場合にソフトウェアを使用できるように準備する。
リアライザ実行システムはユニバーサルハードウェアデ
バイスとしての役割を果たし、必要とされる種々の互換
を行うために用いられる。特別な機能が要求される場合
(リアライザ設計変換システムによって実現される場
合)、ハードウェアシステムの構成ファイル及びその他
のファイルは、ホストコンピュータによって記憶装置か
ら呼び出され、リアライザシステムをこの設計に応じて
構成し、機能を実行する。例えば、電気的な設計環境で
は、リアライザ実行システムを用いて、必要とされるロ
ジックシミュレーションハードウェアアクセレータ、ル
ーティングハードウェアアクセレータ、又はハードウェ
アグラフィックスプロセッサの役割を果たす。デジタル
信号を処理する環境において、リアライザ実行システム
を用いて、必要とされる実時間スペクトラムアナライザ
又は特別な効果を有するシンセサイザの役割を果たす。
リアライザ実行システムは以下の点を除き、リアライザ
プロトタイピングシステムと同様のものである: 1)分析のための計器を用いず、入力設計を正しいもの
とみなす。スティミュレータ、サンプラ、及び設計メモ
リアクセスのみを用いて実行する役割を制御し、データ
を入出力する。 2)特定の実行される機能を指示するコントローラを作
成することができ、又、これを用いてリアライザプロト
タイピングオペレータを制御し、実行する機能を、機能
の使用に適した入力端子/出力端子及び制御インターフ
ェースに与える。
【0100】3.6 リアライザ生産システム リアライザ設計変換システムの変形例を用いて、自動的
に入力設計部の永久的で再構成不可能な実現例を作成す
る。この永久的な実現例では、実現される設計部に構成
されるのと同じ種類と数のリアライザロジックチップを
用いる。リアライザ生産システムでは、そのERCGA
ネットリスト変換ツールを用い、機能においてERCG
Aロジックチップと等価な、永久的で再構成することの
できないロジックデバイスを構成するとともに、自動的
プリント回路ボード(PCB)配置及びルーティングツ
ールを駆動する(“Getting Started with Board Stati
on”, “Layout User’s Manual”,Mentor Graphics Co
rp.,Beaverton, Oregon.1989)。この際、ロジックチッ
プ相互接続に関する仕様を用い、これら再構成すること
のできないロジックデバイスを永久的に相互接続するP
CBを製造する。好適例では、LCAをERCGAロジ
ックチップとして使用している。LCAを製造すること
によって、機能的にLCAと等価な再構成することので
きないロジックチップを、構成PROMメモリと結合し
ているLCAチップの形態で提供する(“The Programm
able Gate Array Data Book”,Xilinx, Inc., San Jos
e,1989)。LCAネットリスト変換ツールによって、P
ROMをプログラムするのに用いられるバイナリーファ
イルを作成する。また、LCAはロジックを具え、これ
を用いてLCAが電力を供給する際にLCA自体を構成
することができる。この際、PROMがあればこれを用
いる。リアライザ生産システムは、前述したのと同一の
設計部リーダと、基本要素コンバータと、リアライザ設
計部変換システム(RDCS)、相互接続及びネットリ
スティングシステム及びRDCS中に用いられるものの
変形であるERCGAネットリスト変換ツールに使用さ
れるパーティショナと、自動PCB配置と、ルーティン
グツールとを具えている(図60)。リアライザ生産シ
ステムは、リアライザハードウェアシステム又はホスト
コンピュータを具えていない。これは入力設計部ファイ
ル及びPCB仕様ファイルを読み出す。以下の方法に従
って作動する: 1)設計部リーダを用い、入力設計部ファイルを読み出
すとともに、設計部データ構造を作成する。 2)基本要素コンバータを用いて、設計部データ構造を
ロジックチップ基本要素へと変換する。 3)パーティショナを用い、基本要素を特定のロジック
チップに割り当てる。 4)相互接続及びネットリスティングシステムを用い、
ロジックチップのためのネットリストファイルを作成す
る。相互接続チップのためのネットリストファイルを供
給する代わりに、カット回路網及びこれらのロジックチ
ップI/Oピン接続のリストを、自動PCB配置及びル
ーティングツールに受け入れられる形態で単一の相互接
続ファイルを送出する。 5)ERCGAネットリスト変換ツールを用い、再構成
することのできない等価ロジックデバイスの構成に適し
た形態で、各ロジックチップ毎にバイナリー構成ファイ
ルを供給する。 6)自動PCB配置及びルーティングツールを用いて、
相互接続ファイル及びPCB仕様ファイル(このファイ
ルは、PCBの寸法、コネクタ必要条件などのようなロ
ジック設計とは直接関係していない物理的な情報を具え
ている)に読み込み、PCB製造データファイルを出力
する。 リアライザ生産システムのユーザは、このようにしてP
CB製造データファイルを用いて、PCBを製造し、バ
イナリー構成ファイルを用いて、再構成することのでき
ないロジックデバイスを構成すると共に、デバイス及び
PCBを組立て、入力設計部の最終的な実現例を提供す
る。リアライザ生産システムにおいて、機能的に永久的
ハードウェアの実現例のERCGAと等価な再構成する
ことのできないゲートアレイチップを使用することは新
規なことではなく、一般的に行われていることである。
むしろ、このシステムが任意の大きさのデジタルシステ
ムを作り出すことができるということ(これは、1個の
ICチップの容量に限られることではない)、このシス
テムが入力設計ファイル中で包括的な基本要素ロジック
の形態で表現されること(特定のコンピュータメーカの
ロジックライブラリには限定されない)と、更には、自
動的に永久的ハードウェアの実現例を提供するというこ
と、これらが新規性の一態様といえる。
【0101】3.7 リアライザ計算システム リアライザハードウェアシステムを、パスカルのような
高級コンピュータ言語で書かれている入力プログラムで
特定される動きに従って構成することができる。又これ
を用いて、コンピュータの実行する一般目的のための記
憶された記憶されたプログラムに従って計算機能を実行
することができる。このことは、高レベル設計合成コン
パイラを用いることによって達成され、コンピュータプ
ログラムを、入力設計ファイル中に表現されているデジ
タルロジックの形態に変換し、その後リアライザハード
ウェアにおいて、この設計部を実現すると共に作動させ
る。この方法は根本的に新しい計算手段である。計算の
見地から見れば、リアライザハードウェアを高度並列処
理データプロセッサとし、そのデータプロセッシング素
子を、リアライザロジックチップ、相互接続チップ及び
特定目的のエレメント中のロジック機能及び記憶デバイ
スである。このデータプロセッサは、シーケンシャルな
計測を行うことに関する記憶されたプログラム計算方法
に従って演算を行うわけではない。このデータプロセッ
サは、リアライザハードウェアに構成され、入力プログ
ラムで指示される動きに従って作動するデータパスと、
機能的ユニットと、有限状態マシン制御構造とに従って
作動する。この利点は、計算スピードがシーケンシャル
に記憶されたプログラムによる計算で可能な計算スピー
ドよりも速いことである。説明するリアライザ計算シス
テムは、リアライザハードウェアシステム及びホストコ
ンピュータとともに、リアライザ計算コンパイラと、リ
アライザ設計部変換システムと、リアライザ計算オペレ
ータとを具えている(図61)。このホストコンピュー
タが、ただリアライザ計算オペレータをランさせる手段
としてのみ用いられ、入力プログラムで指示される計算
機能を実行することに関しては用いられないということ
に注意する。リアライザ計算オペレータをランさせる他
の手段を用いることができること勿論である。
【0102】3.7.1 リアライザ計算コンパイラ リアライザ計算コンパイラは、テキストエディタを用い
て高級言語で書かれた入力プログラムファイルを、入力
設計部ファイルに変換する。これは、設計部合成コンパ
イラと、ロジック合成コンパイラと、機能的ユニットコ
ンパイラとを具えている。設計部合成コンパイラは、ツ
ールであり、その幾つかの例は最近開発されたものであ
る(“Tutorial on High-Level Synthesis”,McMarlan
d,Parke and Camposano, Proceeding of the 25th Des
ign Automatic Conference, ACM and IEEE,1988)。この
コンパイラは、機能的ユニット、データ入出力から成る
有限状態マシンコントローラ及びデータパスのシステム
とバス相互接続とに関する記述を構成し、標準的な手続
コンピュータ言語で特定される動きに従って作動する。
実際の設計部合成コンパイラの一例としては、“フラメ
ル(flamel)”がある。その方法については、“Flame
l:A High-Level Hardware Compiler”,Howard Trickey,
IEEE Transaction on Computer-Aided Design, Vol. CA
D-6, No.2, 1987)で詳細に説明されている。文献からの
引用を示す:“フラメルへの入力は、パスカルプログラ
ムである。”“ユーザは、パスカルプログラムに、入力
プログラムを一般的に実行する場合の実行頻度を与え
る。その他のユーザ入力は、どの程度のハードウェアが
許容されるかを示すナンバである。出力は、パスカル言
語と同一の役割を果たすハードウェアの設計である。”
“フラメルによって作り出されるモデルとは、データパ
ス及びコントローラから成る同期デジタルマシンであ
る。データパスは、バスによって相互接続される機能的
ユニット(ALU、加算器、レジスタ、I/Oパッド
等)から成っている。コントローラは有限状態マシンで
ある。”“一般的なパスカルプログラムを用いて、ハー
ドウェアに要求される動きを規定する。フラメルは、プ
ログラム中の並列処理を見出し、ユーザ指定によるコス
ト制約と合致した高速実行の実現を可能としている。”
“フラメルの実現例は完成されている。出力は、データ
パス及びコントローラに関する記述である。一連のテス
トにおいて、フラメルは、クロックサイクルを同じとす
ると、同じプログラムを実行するのにMC68000(マイクロ
コンピュータ)の22〜200倍の速さでランするプロ
グラムを具体化する。”用いられるリアライザハードウ
ェアシステムの容量に従って、ユーザ又はリアライザ計
算システムは、“ユーザ指定のコスト制約がある”入力
を、この設計部合成コンパイラに供給する。設計部合成
コンパイラの出力は、データパス及びコントローラの記
述を具える中間表現ファイルである。機能的なユニット
ライブラリとは、一組の予め定義された機能的なユニッ
トの表現である。各タイプの機能的なユニットに対する
表現は、設計部合成コンパイラによって与えられる。こ
れらの表現は、ロジック及びユーザ指定のデバイス(U
SD)基本要素と、これらの回路網相互接続とを指定す
る。これらの表現は、リアライザ入力設計部基本要素の
要件と合致している。USD基本要素は、付加的に用い
られ、ロジックチップ及び設計部メモリを用いて実現さ
れるものよりも、より高い性能又は、より大きな容量の
基本要素を提供することができる。例えば、高速VLS
I浮動小数点型乗算器をUSDとして取り付ける場合、
機能的なユニットバイナリーは、このUSD基本要素を
特定する浮動少数点型乗算器の機能的ユニットに関する
記述を具えている。ロジック合成コンパイラは、データ
パス及び有限状態マシンコントローラに関する記述を、
入力計算ファイル中のロジック基本要素及び相互接続回
路網に関する表現に変換する。このロジック合成コンパ
イラは、有限状態マシン合成ツールを具え、これは、Me
ntor Graphics Corp.,VLSI Technology Inc.,Synopsis
Inc.等 (“Logic Synthesis speeds ASIC Design”, A.
J. de Geus, IEEE Spectrum,August 1989)から商業的
に入手可能であり、又は、文献記載の方法に従って開発
される(“The Implementation of a State Machine Co
mpiler", C. Kingsley,Proceedings of the 24th Desig
n Automation Conference, ACM and IEEE,1987; "A Sta
te Machine Synthesizer",D. Brown, Proceedings of t
he 18th DesignAutomation Conference, ACM and IEEE,
1981; "An Overview of Logic Synthesis Systems",
L.Trevillyan, Proceedings of the 24th Design Autom
ation Conference, ACM and IEEE, 1987)。このコンパ
イラは、以下の方法に従って作動する: 1)データパス及びコレクタに関する記述を含む中間表
現ファイルを、データ構造中に読み込む。 2)機能的ユニットライブラリの記述に従って、各デー
タパスの機能的なユニットの記述を、ロジック及びUS
D基本要素及び回路網に変換する。 3)データパスへの各データ入力及び、データパスから
の各データ出力に対する設計部メモリ基本要素を提供す
る。 4)有限状態マシン合成ツールを用いて、有限状態マシ
ンコントローラの記述を、ロジック基本要素及びこれら
の回路網相互接続に変換する。 5)有限状態マシンコントローラへの‘スタート’入力
と、有限状態マシンコトローラからの‘ビジー’及び
‘ダーン(done)’出力とに対するスティミュレータ及
びサンプラの基本要素を提供する。 6)クロック回路網が、リアライザクロック発生器によ
って駆動されるように指示する。 7)基本要素及び回路網を、入力設計ファイルに送出す
る。
【0103】3.7.2 リアライザ計算オペレータ リアライザ計算オペレータは、リアライザシステムを構
成し、本来的に入力プログラムが指示し、実現される計
算機能の実行を可能にする。リアライザ計算オペレータ
は、設計変換によって作成される構成ファイル及び対応
テーブルファイルに読み込み、ユーザ指定の計算機能へ
の入力データに関するファイルを読み出すとともに、計
算機能からの出力データに関するファイルに書き込む。 実現される計算機能を作動させるために: 1)設計部の構成ファイルを読み出し、これを用いて、
構成のセクションにて述べたように、すべてのリアライ
ザロジック及び相互接続チップを構成する。 2)入力データファイルを読み出し、そのデータを入力
データ設計部メモリに書き込む。出力データ設計部メモ
リをクリアする。 3)対応テーブルファイルを読み出し、コントロール入
力と出力との間、スティミュレータとサンプラとの間、
及びホストインターフェースバスアドレス間の対応を決
定する。 4)クロック発生器をイネーブルし、スティミュレータ
を介して‘スタート’制御入力を主張し、動作を開始さ
せる。 5)‘ダーン’制御出力をモニタし、これが真となる時
に、データを出力設計部メモリから読み出し、これを出
力データファイルに書き込む。 リアライザ計算システムを用いるために: 1)テキストエディタ又は他の手段を用いて、入力プロ
グラム及び入力データファイルを準備成する。 2)リアライザ計算コンパイラを用い、入力設計ファイ
ルを発生させる。 3)他で既に述べたように、通常の方法で作動するリア
ライザ設計変換システムを用い、構成及び対応テーブル
ファイルを発生させる。 4)リアライザ計算オペレータを用い、実際に計算機能
を実行する。 5)実現された計算機能によって計算されるデータを、
出力データファイルから読み出す。
【0104】4 好適例 この明細書を介して説明される好適例は、以下の特徴を
有している:
【0105】4.1 ハードウェア 部分的クロスバー相互接続を、3レベルで階層的に、全
ハードウェアシステムに用いる。図62−図64は、階
層的に相互接続されたロジックボード、ボックス及びラ
ックの一般的アーキテクチャを示している。図65a−
bは、ボード、ボックス及びラックに関する物理的構造
を示している。 ロジックボード(図62):各ロジックボードは、32
個のXレベルクロスバーチップによって相互接続された
14個のLチップから成っている。各Lチップは、Xレ
ベルクロスバーに接続されたチップ毎に128個のI/
Oピンを有しており、32個のXチップの各々に4個の
接続が成されている。14個の付加的なI/Oピンを用
いる;その内11個をRバスに接続し、1個を2個のク
ロック信号の各々に接続し、1個を設計部リセット信号
に接続する。Xilinx XC3090 LCAをロジックチップと
して用いる。各Xチップは、ロジックチップに接続され
た56個のI/Oピンを具えており、14個のLチップ
の各々に4個の接続がなされている。各Xチップは、2
個のYチップの各々と、8個の付加的I/Oピン接続を
具えている。Xilinx XC2018 LCAをXチップとして用
いる。各ロジックボードは、X−Yパスに対し512個
の背面I/Oピンを有している。これは、Rバス及び構
成バスへの接続も有している。 ボックス(図63):各ボックスは、64個のYレベル
クロスバーチップによって相互接続されている1〜8個
のボードから成っている。各Yチップは、ロジックボッ
クスボードに接続された6個のI/Oピンを有してお
り、各ボードのXチップに8個の接続が成されている。
これは、1個のZチップとの8個の付加的なI/O接続
を有している。Xilinx XC2018 LCAをYチップとして
用いる。64個のYチップを、8個のYチップボードに
取り付ける。この各々は、X−Yパスに対して512個
の背面I/Oピンを有している。8個のYチップボード
と8個のロジックボードとを、ボックスのX−Yパス背
面のワイヤで相互接続する。各Yチップボードは、Y−
Zパスに対して、ケーブルコネクタに64個のI/Oピ
ンを有している。各ボックスは、このようなコネクタを
8個有している。これらの接続を、各ボックスからの単
一な512個のワイヤY−Zパスケーブルに集める。各
Yチップボードは、構成バスに対する接続も有してい
る。図65aは、Y−Zパスケーブルを具え、ホストイ
ンターフェース、8個のロジックボード及び8個のYチ
ップボードを有しているX−Yパス背面の物理的な構成
を示している。 ラック(図64):各ラックは、1〜8個のボックスを
具え、64個のZレベルクロスバーチップによって相互
接続されている。各Zチップは、ボックスに接続された
64個のI/Oピンを具え、各ボックスのYチップに8
個の接続がなされている。Xilinx XC2018 LCAをZチ
ップとして用いる。ラックのボックスを、ロジックボー
ドに配置された各ボックスからのX−Zパスケーブルへ
の接続を用いて、付加的なボックスによって相互接続す
る。図65bにおいて、Zレベルボックスの物理的な構
成を示す。64個のZチップを、8個のZチップボード
に取り付ける。この各々は、Y−Zパスに対して512
個のI/Oピンを有している。8個のZチップボード
と、8個のY−Zパスゲーブルコネクタとを、Y−Zパ
ス背面のトレースによって相互接続する。メモリのセク
ションにて述べたように、16個のRAMチップと10
個のLCAとを各々具えているメモリモジュールを、必
要とされる場所であるロジックチップの場所に取り付け
る。メモリモジュールは、刺激及び応答のセクションで
規定されているように、設計部メモリ、ベクトルメモ
リ、スティミュレータ及びサンプラに用いられている。
ユーザ指定によるハードウェアデバイスモジュールをロ
ジックチップLCAの場所に取り付ける。ある1個のボ
ックスは、ホストコンピュータのI/Oバスインタフェ
ースカードとケーブル接続しているホストインターフェ
ースボードを具えている。このボックスは、Rバスと称
するホストインターフェースバスを制御する。すべての
制御及びデータ伝送機能のためにこのバスをすべてのロ
ジックチップロケーション及び各ロジックボード、すな
わちYチップボード及びZチップボードにおける構成制
御ロジックブロックに接続する。Rバスは、そのセクシ
ョンで述べたように、8ビットデータパスと、クロック
と、2個のコントロールラインとを具えている。ホスト
インターフェースボードは、構成バスコントローラと、
2個のクロック発生器と、リセットコントローラとを具
えている。16ビットデータパスを有する構成バスは、
全ての構成機能に対して、ホストインターフェースを用
いて、すべてのロジック及びクロスバーチップを接続す
る。各ボードの14個のLチップを一つの構成グループ
とし、その32個のXチップを2つのグループに分割す
る。8個のZチップボードの各々と同様に、各ボックス
の8個のYチップボードを各々1グループとする。
【0106】4.2ソフトウェア 設計部変換システムは以下のモジュールから成ってお
り、その各々は、それぞれに関するセクションで記載さ
れている:Quick Sim ロジック基本要素を有する Mento
r Graphics設計ファイルを読み出す設計部リーダ。Quic
k Sim 基本要素をXilinx LCA基本要素に変換する基本要
素コンバータ。トライステート及びワイヤードネットド
ライバは、トライステートのセクションで述べたよう
に、クロスバー加算構成に従って変換される。そのセク
ションにて述べたように、クラスタ構成技術に基づいて
いるパーティショナ。3つのレベルの部分的クロスバー
を相互接続するとともに、システム中の各ロジック及び
クロスバーチップに関するXNFフォーマットのネット
リストファイルを送出する相互接続及びネットリスティ
ングシステム。XNF2LCA, APR及びMakebitsから成ってい
るXilinx LCAネットリスト変換ツール。構成ファイ
ルコレクタ。 応 用 Mentor Graphics のログファイルに基づき、且つRSI
Mバッチインターフェースツールを用いているリアライ
ザロジックシミュレーションシステム。Mentor Graphic
s のログファイルに基づき、且つRSIMバッチシミュ
レーションインタフェースツールを用いているリアライ
ザフォールトシミュレーションシステム。Mentor Graph
ics Quick Sim のロジックシミュレータとして作用する
リアライザロジックシミュレータ評価システム。ロジッ
クアナライザを具え、実現される仮想計器を有している
リアライザプロトタイピングシステム。リアライザ実行
システムMentor Graphics Board Station の自動PCB
配置及びルーティングツールを用いてのリアライザ生産
システム。パスカル言語とフラメル設計部合成コンパイ
ラと、Mentor Graphics Design,Knowledge and Logic C
onsultant FSM及びロジック合成ツールとを用いたリア
ライザ計算システム。好適例を引用し、本発明の原理を
説明したが、このような原理とは離れて、装置及び細部
を種々変更できること明らかである。例えば、Mentor G
raphics の電気設計オートメーションの変形例を用い、
本発明が有効に動作することを説明したが、他の設計部
オートメーションツールを用いて同様に本発明を実施で
きることがわかる。本発明は、ここに開示されている実
施例に限定されるものではなく、要旨を変更しない範囲
内で種々の変形や変更が可能である。
【図面の簡単な説明】
【図1】図1は、リアライザハードウエアシステムを示
す略ブロック図である。
【図2】図2は、直接相互接続システムを示す略ブロッ
ク図である。
【図3】図3は、チャンネル・ルーティング相互接続シ
ステムを示す略ブロック図である。
【図4】図4は、クロスバー相互接続システムを示す略
ブロック図である。
【図5】図5は、クロスバー回路網相互接続システムを
示す略ブロック図である。
【図6】図6は、部分的なクロスバー相互接続システム
の簡単な一例を示す略ブロック図である。
【図7】図7は、部分的なクロスバー相互接続システム
を示す略ブロック図である。
【図8】図8は、クロスバーチップ幅の相違を説明する
ための図である。
【図9】図9は、トライステート回路網を示す略ブロッ
ク図である。
【図10】図10は、図9のトライステート回路網と等
価な、積の和を示す略ブロック図である。
【図11】図11は、“フローティングロー”及び“フ
ローティングハイ”の積の和の回路網を示す略ブロック
図である。
【図12】図12は、相互接続を最小とするように構成
されたドライバ及びレシーバを示している略ブロック図
である。
【図13】図13は、ロジック加算構成を示している略
ブロック図である。
【図14】図14は、クロスバー加算構成を示している
略ブロック図である。
【図15】図15は、双方向性のクロスバー加算構成を
示している略ブロック図である。
【図16】図16は、双方向性のクロスバートライステ
ート構成を示している略ブロック図である。
【図17】図17は、部分的なクロスバーからのオフボ
ード接続を示している略ブロック図である。
【図18】図18は、Yレベルクロスバー相互接続を示
している略ブロック図である。
【図19】図19は、双方向性バスのシステムレベル相
互接続を示す略ブロック図である。
【図20】図20は、共通バス相互接続に基づく、8個
のボードを示す略ブロック図である。
【図21】図21は、2つのバスレベルの階層を示す略
ブロック図である。
【図22】図22は、最大バス相互接続階層を示してい
る略ブロック図である。
【図23】図23は、汎用メモリモジュール構造を示す
略ブロック図である。
【図24】図24は、メモリアドレスロジックチップを
示す略ブロック図である。
【図25】図25は、共通I/Oを用いてのメモリデー
タロジックチップを示す略ブロック図である。
【図26】図26は、分離I/Oを用いてのメモリデー
タロジックチップを示す略ブロック図である。
【図27】図27は、一個のデータビットに関する多重
RAMを示す略ブロック図である。
【図28】図28は、メモリモジュールの好適例を示す
略ブロック図である。
【図29】図29は、刺激ベクトルメモリを示す略ブロ
ック図である。
【図30】図30は、応答ベクトルメモリを示す略ブロ
ック図である。
【図31】図31は、刺激及び応答に対するベクトルメ
モリを示す略ブロック図である。
【図32】図32は、ベクトルメモリアドレスチップの
好適例を示す略ブロック図である。
【図33】図33は、ベクトルメモリデータチップの好
適例を示す略ブロック図である。
【図34】図34は、ランダムアクセススティミュレー
タを示す略ブロック図である。
【図35】図35は、エッジ感応タイプのスティミュレ
ータを示す略ブロック図である。
【図36】図36は、サンプラの略ブロック図である。
【図37】図37は、変更検出サンプラを示す略ブロッ
ク図である。
【図38】図38は、ユーザ指定のデバイスモジュール
アーキテクチャを示す略ブロック図である。
【図39】図39は、デバイスを取り付けているUSD
Mの好適例を示す略ブロック図である。
【図40】図40は、構成グループを示す略ブロック図
である。
【図41】図41は、ホストインターフェースアーキテ
クチャを示す略ブロック図である。
【図42】図42は、Rバス読出し及び読込みサイクル
を示す図である。
【図43】図43は、リアライザ設計変換システムを示
す略ブロック図である。
【図44】図44は、本発明に用いられている設計部デ
ータ構造を示す図である。
【図45】図45は、本発明に用いられている基本要素
変換を示す図である。
【図46】図46は、基本要素のクラスタへの移動を示
す略ブロック図である。
【図47】図47は、シンプルな回路網相互接続を示す
図である。
【図48】図48は、トライステート回路網相互接続を
示す図である。
【図49】図49は、トライステート回路網相互接続を
示す図である。
【図50】図50は、リアライザロジックシミュレーシ
ョンシステムを示す略ブロック図である。
【図51】図51は、マルチステートロジックのリアラ
イザシステム構成を示す略図である。
【図52】図52は、ディレイ依存機能の例を示す略図
である。
【図53】図53は、ユニットディレイ構成の例を示す
略図である。
【図54】図54は、リアルディレイ構成を示す略図で
ある。
【図55】図55は、リアライザフォールトシミュレー
ションシステムを示す略ブロック図である。
【図56】図56は、リアライザロジックシミュレータ
評価システムを示す略ブロック図である。
【図57】図57は、リアライザプロトタイピングシス
テムを示す略ブロック図である。
【図58】図58は、リアライザプロトタイピングシス
テムのデジタルコンピュータの一例を示す略ブロック図
である。
【図59】図59は、仮想ロジックアナライザの構成を
示す略ブロック図である。
【図60】図60は、リアライザ生産システムを示す略
ブロック図である。
【図61】図61は、リアライザ計算システムを示す略
ブロック図である。
【図62】図62は、ロジックボード、ボックス及びラ
ックの階層相互接続を具える好適例の一般的なアーキテ
クチャを示す図である。
【図63】図63は、ロジックボード、ボックス及びラ
ックの階層相互接続を具える好適例の一般的なアーキテ
クチャを示す図である。
【図64】図64は、ロジックボード、ボックス及びラ
ックの階層相互接続を具える好適例の一般的なアーキテ
クチャを示す図である。
【図65】図65は、ロジックボード、ボックス及びZ
レベルボックスの物理的な構成を示す図である。
【符号の説明】
10…アレイ 12…電気的に再構成可能なゲートアレイ 14…基本要素コンバータ 16…ホストEDAシステム 18…リアライザ設計変換システム 20…テストベクトル 22…ホストインタフェース 24…刺激及び応答ベクトルメモリ 26a…設計合成ツール 26b…ロジック合成ツール 28…入力プログラム 30…ホストインタフェース 32…メモリモジュール 34…クロスバーチップ 36…多次元アレイ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 バチェラー ジョン エイ アメリカ合衆国オレゴン州 97132 ニ ューバーグ ボックス 91 ルート 1 (56)参考文献 特開 昭62−115844(JP,A) 特開 昭62−124692(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03K 19/173 - 17/177

Claims (25)

    (57)【特許請求の範囲】
  1. 【請求項1】 回路網情報に応じた回路網を構築可能で
    あり、構築された回路網と、該回路網を組み合わせる要
    素と共に使用可能な外部システムとの間で情報を伝送す
    る、電気的に再構成可能なハードウェア装置であって、 複数の電気的に再構成可能な装置と、ホストインターフ
    ェースとを備え、 前記複数の電気的に再構成可能な装置の中の少なくとも
    いくつかは、再プログラム可能な論理要素と、前記論理
    要素の少なくともいくつかに接続可能な入/出力端子を
    有し、 前記複数の電気的に再構成可能な装置の中の少なくとも
    他の1つは、論理要素を有する電気的に再構成可能な装
    置の中から選択された電気的に再構成可能な装置の選択
    された入/出力端子を再構成可能に相互接続するために
    使用される電気導体を有し、それによって、論理要素を
    有する前記選択された電気的に再構成可能な装置の中の
    1つ内の選択された論理要素は、論理要素を有する前記
    選択された電気的に再構成可能な装置の中の他の1つ内
    の選択された論理要素に電気的に接続可能であり、 前記ホストインターフェースは、外部システムと、論理
    要素を有する前記電気的に再構成可能な装置内の前記論
    理要素の中の指定された1つとの間で情報を運ぶ信号の
    ための信号通路を提供する回路を有していることを特徴
    とする電気的に再構成可能なハードウェア装置。
  2. 【請求項2】 回路網情報に応じた回路網を構築可能で
    あり、構築された回路網と、該回路網を組み合わせる要
    素と共に使用可能な外部システムとの間で情報を伝送す
    る、電気的に再構成可能なハードウェア装置であって、 複数の固定電気導体と、複数の論理ゲートアレイと、ホ
    ストインターフェースとを備え、 前記複数の論理ゲートアレイの中の少なくともいくつか
    は、前記固定電気導体に接続される入/出力端子と、前
    記入/出力端子の中の少なくともいくつかに接続するこ
    とができる再プログラム可能な論理要素を有し、 前記論理ゲートアレイの中の少なくとも他の1つは、論
    理要素を有する前記論理ゲートアレイの中の1つ内の選
    択された論理要素と、論理要素を有する前記ゲ ートアレ
    イの中の他の1つ内の選択された論理要素とを再構成可
    能に相互接続するために、前記固定電気導体の中の少な
    くともいくつかに再プログラム可能に接続される電気導
    体を有し、 前記ホストインターフェースは、外部システムと、論理
    要素を有する前記論理ゲートアレイ内の前記論理要素の
    中の指定された1つとの間で情報を運ぶ信号のための信
    号通路を提供する回路を有していることを特徴とする電
    気的に再構成可能なハードウェア装置。
  3. 【請求項3】 電気的に再構成可能なハードウェアシス
    テムであって、 複数の電気的に再構成可能な装置と、コンピュータと、
    ホストインターフェースとを備え、 前記複数の電気的に再構成可能な装置の中の少なくとも
    いくつかは、再プログラム可能な論理要素と、前記論理
    要素の中の少なくともいくつかに接続することができる
    入/出力端子を有し、前記電気的に再構成可能な装置の
    中の少なくとも他の1つは、論理要素を有する電気的に
    再構成可能な装置の中から選択された電気的に再構成可
    能な装置の選択された入/出力端子を再構成可能に相互
    接続するために使用される電気導体を有し、それによっ
    て、論理要素を有する前記電気的に再構成可能な装置の
    中の1つ内の選択された論理要素は、論理要素を有する
    前記選択された電気的に再構成可能な装置の中の他の1
    つ内の選択された論理要素に電気的に接続可能であり、 前記コンピュータは、回路網情報を含む設計入力データ
    を受け取り、前記回路網情報を区分けし、ルーティング
    するようにプログラムされ、また、前記電気的に再構成
    可能な装置に伝送され、回路網情報に対応する回路網を
    構築するために前記電気的に再構成可能な装置をプログ
    ラムするのに使用される構築情報を発生するようにプロ
    グラムされており、 前記ホストインターフェースは、論理要素を有する前記
    電気的に再構成可能な装置内の前記論理要素の中の指定
    された1つへ、あるいは1つから情報を運ぶ信号のため
    の信号通路を提供する回路を有していることを特徴とす
    る電気的に再構成可能なハードウェアシステム。
  4. 【請求項4】 請求項3に記載の電気的に再構成可能な
    ハードウェアシステ ムであって、構築される回路網と協
    働可能な外部システムと共に使用するために、前記ホス
    トインターフェースは、前記論理要素の中の指定された
    1つと前記外部システムとの間で情報を運ぶための、前
    記外部システムに接続されるケーブルを有していること
    を特徴とする電気的に再構成可能なハードウェアシステ
    ム。
  5. 【請求項5】 請求項3または4に記載の電気的に再構
    成可能なハードウェアシステムであって、前記電気的に
    再構成可能な装置は、プログラム可能な論理ゲートアレ
    イにより構成されていることを特徴とする電気的に再構
    成可能なハードウェアシステム。
  6. 【請求項6】 請求項3〜5のいずれかに記載の電気的
    に再構成可能なハードウェアシステムであって、前記ホ
    ストインターフェースは、前記信号通路の中の少なくと
    もいくつかを提供するようにプログラム可能な装置を有
    していることを特徴とする電気的に再構成可能なハード
    ウェアシステム。
  7. 【請求項7】 請求項3〜6のいずれかに記載の電気的
    に再構成可能なハードウェアシステムであって、更に、
    論理要素を有する前記電気的に再構成可能な装置と、電
    気導体を有する前記電気的に再構成可能な装置とを接続
    する複数の固定電気導体を有することを特徴とする電気
    的に再構成可能なハードウェアシステム。
  8. 【請求項8】 請求項7に記載の電気的に再構成可能な
    ハードウェアシステムであって、前記複数の固定電気導
    体の中の少なくともいくつかは、論理要素を有する前記
    電気的に再構成可能な装置の前記入/出力端子の中の少
    なくともいくつかと、電気導体を有する前記電気的に再
    構成可能な装置内の前記電気導体とを接続していること
    を特徴とする電気的に再構成可能なハードウェアシステ
    ム。
  9. 【請求項9】 請求項7に記載の電気的に再構成可能な
    ハードウェアシステムであって、電気導体を有する前記
    電気的に再構成可能な装置は、前記電気導体と、前記複
    数の固定電気導体の中の少なくともいくつかとの間に再
    プログラム可能に接続される入/出力端子を有している
    ことを特徴とする電気的に再構成可能なハードウェアシ
    ステム。
  10. 【請求項10】 請求項3〜9のいずれかに記載の電気
    的に再構成可能なハードウェアシステムであって、前記
    コンピュータは、前記回路網情報を部分に区 分けする区
    分プログラムと、前記部分間をルーティングするルーテ
    ィングプログラムと、前記回路網情報が区分けされ、ル
    ーティングされた後に、前記回路網情報に関連する論理
    機能及び相互接続を前記電気的に再構成可能なハードウ
    ェアシステム内にプログラムするように作用する構築情
    報を発生する構築プログラムとを有することを特徴とす
    る電気的に再構成可能なハードウェアシステム。
  11. 【請求項11】 請求項10に記載の電気的に再構成可
    能なハードウェアシステムであって、前記コンピュータ
    は、更に、前記回路網情報を含むネットリストを発生す
    るネットリストプログラムを有し、前記区分プログラム
    は、前記ネットリストを区分けするように作用すること
    を特徴とする電気的に再構成可能なハードウェアシステ
    ム。
  12. 【請求項12】 設計入力データに含まれている回路網
    情報に応じた回路網を構築するための電気的に再構成可
    能なハードウェアシステムであって、 複数の固定電気導体と、複数の電気的に再構成可能な装
    置と、コンピュータと、ホストインターフェースとを備
    え、 前記複数の電気的に再構成可能な装置の中の少なくとも
    いくつかは、前記固定電気導体に接続される入/出力端
    子と、前記入/出力端子の中の少なくともいくつかに接
    続することができる再プログラム可能な論理要素を有
    し、 前記電気的に再構成可能な装置の中の少なくとも他の1
    つは、論理要素を有する前記電気的に再構成可能な装置
    の中の1つ内の選択された論理要素と、論理要素を有す
    る前記電気的に再構成可能な装置の中の他の1つ内の選
    択された論理要素とを再構成可能に相互接続するため
    に、前記固定電気導体の中の少なくともいくつかに接続
    される電気導体を有し、 前記コンピュータは、回路網情報を含む設計入力データ
    を受け取り、前記回路網情報を区分けし、ルーティング
    するようにプログラムされ、また、前記電気的に再構成
    可能な装置に伝送され、回路網を構築するために前記電
    気的に再構成可能な装置を構築するために使用される構
    築情報を発生するようにプログラムされており、 前記ホストインターフェースは、論理要素を有する前記
    電気的に再構成可能な装置内の前記論理要素の中の指定
    された1つに、あるいは1つから情報を運ぶ信 号のため
    の信号通路を提供することができる少なくとも1つのプ
    ログラム可能な装置を有することを特徴とする電気的に
    再構成可能なハードウェアシステム。
  13. 【請求項13】 回路網情報に応じた回路網を構築可能
    であり、構築された回路網と、該回路網を組み合わせる
    要素とともに使用可能な外部システムの間で情報を伝送
    する、電気的に再構成可能なハードウェアシステムであ
    って、 コンピュータと、複数の固定電気導体と、複数の電気的
    に再構成可能な装置と、ホストインターフェースとを備
    え、 前記コンピュータは、前記電気的に再構成可能なハード
    ウェアシステムへの回路網情報を受け取り、回路網情報
    を部分に区分けする区分プログラムと、前記部分間をル
    ーティングするルーティングプログラムと、区分けさ
    れ、ルーティングされた回路網情報を前記再構成可能な
    ハードウェアシステム内に構築するように作用する構築
    情報を発生する構築プログラムを有し、 前記複数の電気的に再構成可能な装置は、前記構築情報
    を受け取り、前記電気的に再構成可能な装置の中の少な
    くともいくつかは、前記固定電気導体に接続される入/
    出力端子と、前記入/出力端子の中の少なくともいくつ
    かに接続することができる再プログラム可能な論理要素
    を有し、 前記電気的に再構成可能な装置の中の少なくとも他の1
    つは、論理要素を有する前記電気的に再構成可能な装置
    の中の1つ内の選択された論理要素と、論理要素を有す
    る前記電気的に再構成可能な装置の中の他の1つ内の選
    択された論理要素とを再構成可能に相互接続するため
    に、前記固定電気導体の中の少なくともいくつかに再プ
    ログラム可能に接続される電気導体を有し、 前記ホストインターフェースは、外部システムと、論理
    要素を有する前記電気的に再構成可能な装置内の前記論
    理要素の中の指定された1つとの間で情報を運ぶ信号の
    ための信号通路を提供する回路を有することを特徴とす
    る電気的に再構成可能なハードウェアシステム。
  14. 【請求項14】 電気的に再構成可能なハードウェアシ
    ステムであって、 複数の電気的に再構成可能な装置と、コンピュータとを
    備え、 前記複数の電気的に再構成可能な装置の中の少なくとも
    いくつかは、再プログ ラム可能な論理要素と、論理要素
    の中の少なくともいくつかに再プログラム可能に接続さ
    れる入/出力端子を有し、 前記電気的に再構成可能な装置の中の少なくとも他の1
    つは、論理要素を有する電気的に再構成可能な装置の中
    から選択された電気的に再構成可能な装置の選択された
    入/出力端子を再構成可能に相互接続するために使用さ
    れる電気導体を有し、それによって、論理要素を有する
    前記選択された電気的に再構成可能な装置の中の1つ内
    の選択された論理要素は、論理要素を有する前記選択さ
    れた電気的に再構成可能な装置の内の他の1つ内の選択
    された論理要素に電気的に接続可能であり、 前記コンピュータは、回路網情報を含む設計入力データ
    を受け取り、前記回路網情報を区分けし、ルーティング
    するようにプログラムされ、また、前記電気的に再構成
    可能な装置に伝送され、回路網情報に対応する回路網を
    構築するために前記再構成可能な装置を構成するのに使
    用される構築情報を発生するようにプログラムされてい
    ることを特徴とする電気的に再構成可能なハードウェア
    システム。
  15. 【請求項15】 設計入力データに含まれている回路網
    情報に応じた回路網を構築するための電気的に再構成可
    能なハードウェアシステムであって、 複数の固定電気導体と、複数の電気的に再構成可能な装
    置と、コンピュータとを備え、 前記複数の電気的に再構成可能な装置の中の少なくとも
    いくつかは、前記固定電気導体に接続される入/出力端
    子と、前記入/出力端子の中の少なくともいくつかに接
    続することができる再プログラム可能な論理要素を有
    し、 前記電気的に再構成可能な装置の中の少なくとも他の1
    つは、論理要素を有する前記電気的に再構成可能な装置
    の中の1つ内の選択された論理要素と、論理要素を有す
    る前記電気的に再構成可能な装置の中の他の1つ内の選
    択された論理要素とを再構成可能に相互接続するため
    に、前記固定電気導体の中の少なくともいくつかに再プ
    ログラム可能に接続される電気導体を有し、 前記コンピュータは、回路網情報を含む設計入力データ
    を受け取り、前記回路網情報を区分けし、ルーティング
    するようにプログラムされ、また、前記電気的 に再構成
    可能な装置に伝送され、回路網情報に対応する回路網を
    構築するために前記電気的に再構成可能な装置を構築す
    るのに使用される構築情報を発生するようにプログラム
    されていることを特徴とする電気的に再構成可能なハー
    ドウェアシステム。
  16. 【請求項16】 回路網情報に応じた回路網を構築可能
    であり、構築された回路網と、該回路網を組み合わせる
    要素と共に使用可能な外部システムとの間で情報を伝送
    する、電気的に再構成可能なハードウェア装置であっ
    て、 第1グループ及び第2グループの電気的に再構成可能な
    装置と、固定電気導体のグループと、ホストインターフ
    ェースとを備え、 前記第1グループの電気的に再構成可能な装置は、再プ
    ログラム可能な論理要素と、前記論理要素に接続可能な
    入/出力端子とを有し、 前記第2グループの電気的に再構成可能な装置は、電気
    導体と、前記電気導体を介して互いに再構成可能に相互
    接続することができる入/出力端子とを有し、 前記固定電気導体のグループは、前記第1グループの電
    気的に再構成可能な装置の前記入/出力端子の中の少な
    くともいくつかと、前記第2グループの電気的に再構成
    可能な装置の前記入/出力端子の中の少なくともいくつ
    かとを接続し、それによって、前記第1グループの電気
    的に再構成可能な装置の中から選択された1つの装置内
    の選択された論理要素は、前記第1グループの電気的に
    再構成可能な装置の中から選択された他の装置内の選択
    された論理要素に電気的に接続可能であり、 前記ホストインターフェースは、外部システムと、前記
    第1グループの電気的に再構成可能な装置内の前記論理
    要素の中から指定された1つとの間で情報を運ぶ信号の
    ための信号通路を提供する回路を有していることを特徴
    とする電気的に再構成可能なハードウェアシステム。
  17. 【請求項17】 回路網情報に応じた回路網を構築可能
    であり、構築された回路網と、該回路網を組み合わせる
    要素と共に使用可能な外部システムの間で情報を伝送す
    る、電気的に再構成可能なハードウェア装置であって、 第1グループ及び第2グループの電気的に再構成可能な
    装置と、ホストインターフェースとを備え、 前記第1グループの電気的に再構成可能な装置は、再プ
    ログラム可能な論理要素と、前記論理要素に接続するこ
    とができる第1入/出力端子とを有し、 前記第2グループの電気的に再構成可能な装置は、前記
    第1グループの電気的に再構成可能な装置内の前記第1
    入/出力端子の中の少なくともいくつかに接続される第
    2入/出力端子を有し、また、前記第2グループの電気
    的に再構成可能な装置は、前記第2入/出力端子を互い
    に再構成可能に相互接続する電気導体を有し、それによ
    って、前記第1グループの電気的に再構成可能な装置の
    中から選択された1つの装置内の選択された論理要素
    は、前記第1グループの電気的に再構成可能な装置の中
    から選択された他の装置内の選択された論理要素に電気
    的に接続可能であり、 前記ホストインターフェースは、外部システムと、前記
    第1グループの電気的に再構成可能な装置内の前記論理
    要素の中から指定された1つとの間で情報を運ぶ信号の
    ための信号通路を提供する回路を有することを特徴とす
    る電気的に再構成可能なハードウェアシステム。
  18. 【請求項18】 設計入力データに含まれている回路網
    情報に応じた回路網を構築可能であり、構築された回路
    網と、該回路網と組み合わせる要素と共に使用可能な外
    部システムとの間で情報を伝送する、電気的に再構成可
    能なハードウェアシステムであって、 第1グループ及び第2グループの電気的に再構成可能な
    装置と、コンピュータとを備え、 前記第1グループの電気的に再構成可能な装置は、再プ
    ログラム可能な論理要素と、前記論理要素に接続するこ
    とができる第1入/出力端子とを有し、 前記第2グループの電気的に再構成可能な装置は、前記
    第1グループの電気的に再構成可能な装置内の前記第1
    入/出力端子の中の少なくともいくつかに接続される第
    2入/出力端子を有し、また、前記第2グループの電気
    的に再構成可能な装置は、前記第2入/出力端子を互い
    に再構成可能に相互接続する電気導体を有し、それによ
    って、前記第1グループの電気的に再構成可能な装置の
    中から選択された1つの装置内の論理要素は、前記第1
    グループの電気的に再構成可能な装置の中から選択され
    た他の装置内の選択された論理要素に電気的に接続可能
    あり、 前記コンピュータは、回路網情報を含む設計入力データ
    を受け入れ、前記回路網情報を区分けし、ルーティング
    するようにプログラムされ、また、前記第1グループ及
    び第2グループの電気的に再構成可能な装置に伝送さ
    れ、回路網を構築するために前記第1グループ及び第2
    グループの電気的に再構成可能な装置を構築するのに使
    用される構築情報を発生するようにプログラムされてい
    ることを特徴とする電気的に再構成可能なハードウェア
    システム。
  19. 【請求項19】 設計入力データに含まれている回路網
    情報に応じた回路網を構築可能であり、構築された回路
    網と、該回路網と組み合わせる要素と共に使用可能な外
    部システムとの間で情報を伝送する、電気的に再構成可
    能なハードウェアシステムであって、 第1グループ及び第2グループの電気的に再構成可能な
    装置と、固定電気導体のグループと、コンピュータとを
    備え、 前記第1グループの電気的に再構成可能な装置は、再プ
    ログラム可能な論理要素と、前記論理要素に接続するこ
    とができる入/出力端子とを有し、 前記第2グループの電気的に再構成可能な装置は、電気
    導体と、前記電気導体を介して互いに再構成可能に相互
    接続される入/出力端子とを有し、 前記固定電気導体のグループは、前記第1グループの電
    気的に再構成可能な装置の前記入/出力端子の中の少な
    くともいくつかと、前記第2グループの電気的に再構成
    可能な装置の前記入/出力端子の中の少なくともいくつ
    かを接続し、それによって、前記第1グループの電気的
    に再構成可能な装置の中から選択された1つの装置内の
    選択された論理要素は、前記第1グループの電気的に再
    構成可能な装置の中から選択された他の装置内の選択さ
    れた論理要素に電気的に接続可能であり、 前記コンピュータは、回路網情報を含む設計入力データ
    を受け入れ、前記回路網情報を区分けし、ルーティング
    するようにプログラムされ、また、前記第1グループ及
    び第2グループの電気的に再構成可能な装置に伝送さ
    れ、回路網を構築するために前記第1グループ及び第2
    グループの電気的に再構成可能な装置を構築するのに使
    用される構築情報を発生するようにプログラムされてい
    ことを特徴とする電気的に再構成可能なハードウェア
    システム。
  20. 【請求項20】 電気的に再構成可能なハードウェア装
    置内で回路網を構築するための方法であって、回路網
    は、回路接続を有する回路要素によって特徴づけられ、
    ハードウェア装置は、回路網内の回路要素の機能を達成
    することができる再プログラム可能な論理要素を有する
    電気的に再構成可能な装置を有し、また、ハードウェア
    装置は、選択された電気的に再構成可能な装置を再構成
    可能に相互接続する電気導体を有し、それによって、選
    択された電気的に再構成可能な装置の中の1つの装置内
    の論理要素は、選択された電気的に再構成可能な装置の
    中の他の1つの装置内の論理要素に電気的に接続可能で
    あり、 回路網内の回路要素と回路接続のネットリストを電気的
    に作成するステップと、 前記ネットリスト内の回路要素をアルゴリズムで指定す
    ることにより、前記ネットリストを、それぞれ選択され
    た電気的に再構成可能な装置に対応する部分に区分けす
    るステップと、 選択された電気的に再構成可能な装置を再プログラム可
    能に相互接続するための電気導体をアルゴリズムで指定
    することにより、前記区分けされたネットリストを、選
    択された電気的に再構成可能な装置間でルーティング
    し、それによって前記ネットリスト内の回路要素間の回
    路接続を完成させるステップと、 選択された電気的に再構成可能な装置内の論理要素と、
    回路要素の機能を達成するための電気導体経路と、回路
    網の回路接続を、前記区分けステップ及びルーティング
    ステップで区分け及びルーティングしたようにプログラ
    ムする構築情報を発生するステップとを備える方法。
  21. 【請求項21】 再構成可能なハードウェアシステムで
    あって、 構築される電気回路あるいはシステムを表わす構築情報
    を前記システム内に受け入れる手段と、 前記構築情報に応答して信号を生成する手段と、 複数のプログラム可能なゲートアレイ集積回路と、 前記ゲートアレイ集積回路の前記信号を伝送する手段
    と、 前記構築される電気回路あるいはシステムにテスト入力
    信号を供給し、または前記構築される電気回路あるいは
    システムから出力信号を得る手段とを備え、 前記複数のプログラム可能なゲートアレイ集積回路は、
    複数の論理要素と、複数の相互接続経路及び複数の入/
    出力ノードを有し、前記信号のセットは、前記相互接続
    経路を前記論理要素の中から選択された論理要素に互い
    に接続し、構築される電気回路あるいはシステムを形成
    するために前記入/出力端子ノードの中から選択された
    1つを互いに及び前記論理要素に接続し、前記ゲートア
    レイ集積回路が複数の列及び複数の行を有するマトリッ
    クスに配列されることを特徴とする再構成可能なハード
    ウェアシステム。
  22. 【請求項22】 請求項21に記載の再構成可能なハー
    ドウェアシステムであって、前記プログラム可能な相互
    接続経路は再プログラム可能であることを特徴とする再
    構成可能なハードウェアシステム。
  23. 【請求項23】 請求項21または22に記載の再構成
    可能なハードウェアシステムであって、更に、前記構築
    される電気回路あるいはシステム内の1あるいは複数の
    内部ノードの信号を選択的に観察する回路手段を有する
    ことを特徴とする再構成可能なハードウェアシステム。
  24. 【請求項24】 請求項21〜23のいずれかに記載の
    再構成可能なハードウェアシステムであって、更に、前
    記構築される電気回路あるいはシステム内の1あるいは
    複数のノードに電気信号を選択的に挿入する回路手段を
    有することを特徴とする再構成可能なハードウェアシス
    テム。
  25. 【請求項25】 請求項21〜24のいずれかに記載の
    再構成可能なハードウェアシステムであって、更に、前
    記構築される電気回路あるいはシステム内で外部回路構
    成要素あるいはシステムと協働する手段を有することを
    特徴とする再構成可能なハードウェアシステム。
JP16571699A 1988-10-05 1999-06-11 電気的に再構成可能なゲートアレイロジックを用いる方法及び、これによって構成される装置 Expired - Lifetime JP3247663B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US25446388A 1988-10-05 1988-10-05
US254463 1988-10-05

Related Parent Applications (1)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001270961A Division JP3354143B2 (ja) 1988-10-05 2001-09-06 電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法

Publications (2)

Publication Number Publication Date
JP2000151387A JP2000151387A (ja) 2000-05-30
JP3247663B2 true JP3247663B2 (ja) 2002-01-21

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 Before (2)

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 電気的に再構成可能なゲートアレイロジックを用いる方法及び、これによって構成される装置

Family Applications After (3)

Application Number Title Priority Date Filing Date
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) EP1462964A3 (ja)
JP (6) JP3060018B2 (ja)
AT (2) ATE131643T1 (ja)
AU (1) AU4347189A (ja)
DE (2) DE68929518T2 (ja)
WO (1) WO1990004233A1 (ja)

Families Citing this family (287)

* 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
US5109353A (en) * 1988-12-02 1992-04-28 Quickturn Systems, Incorporated Apparatus for emulation of electronic hardware system
US5329470A (en) * 1988-12-02 1994-07-12 Quickturn Systems, Inc. Reconfigurable hardware emulation system
JPH02236779A (ja) * 1989-03-10 1990-09-19 Nec Corp スキャンパス接続方式
US5353243A (en) 1989-05-31 1994-10-04 Synopsys Inc. Hardware modeling system and method of use
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
EP0405765A3 (en) * 1989-06-05 1991-09-11 Kawasaki Steel Corporation Configurable electronic circuit board, adapter therefor , and designing method of electronic circuit using the same board
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
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
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
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
US5185706A (en) * 1989-08-15 1993-02-09 Advanced Micro Devices, Inc. Programmable gate array with logic cells having configurable output enable
US5260881A (en) * 1989-10-30 1993-11-09 Advanced Micro Devices, Inc. Programmable gate array with improved configurable logic block
US5400262A (en) * 1989-09-20 1995-03-21 Aptix Corporation Universal interconnect matrix array
US5377124A (en) * 1989-09-20 1994-12-27 Aptix Corporation Field programmable printed circuit board
US5249265A (en) * 1989-10-24 1993-09-28 International Business Machines Corporation Structure storage management in a graphics display device
EP0445454B1 (en) * 1990-03-08 1997-06-18 International Business Machines Corporation 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
WO1993009502A1 (en) * 1991-10-30 1993-05-13 I-Cube Design Systems, Inc. Field programmable logic module
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
US5202593A (en) * 1991-10-30 1993-04-13 I-Cube Design Systems Inc. Bi-directional bus repeater
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
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
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
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
US5603043A (en) * 1992-11-05 1997-02-11 Giga Operations Corporation System for compiling algorithmic language source code for implementation in programmable hardware
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
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
DE69326669D1 (de) * 1992-11-18 1999-11-11 Canon Information Syst Inc Verfahren und Vorrichtung zur Prüfung einer Schnittstellenkarte
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
WO1994028475A1 (en) * 1993-05-28 1994-12-08 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
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
US5537341A (en) * 1995-02-10 1996-07-16 Jonathan Rose Complementary architecture for field-programmable gate arrays
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
AU5860696A (en) * 1995-05-16 1996-11-29 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
GB2321322B (en) 1996-10-28 2001-10-10 Altera Corp Remote software technical support
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
EP1329816B1 (de) 1996-12-27 2011-06-22 Richter, Thomas 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
US6321366B1 (en) 1997-05-02 2001-11-20 Axis Systems, Inc. Timing-insensitive glitch-free logic system and method
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
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
EP1010110A1 (en) * 1997-06-13 2000-06-21 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
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
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
KR980004043A (ko) * 1997-10-01 1998-03-30 양세양 프로토타이핑 시스템 및 그 제어방법
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
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
WO2002013000A2 (de) 2000-06-13 2002-02-14 Pact Informationstechnologie Gmbh Pipeline ct-protokolle und -kommunikation
US6407576B1 (en) * 1999-03-04 2002-06-18 Altera Corporation Interconnection and input/output resources for programmable logic integrated circuit devices
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
US6473726B1 (en) 1999-09-24 2002-10-29 Frederic Reblewski Method and apparatus for concurrent emulation of multiple circuit designs on an emulation system
US6647362B1 (en) 1999-09-24 2003-11-11 Frederic Reblewski Emulation system scaling
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
US6823497B2 (en) 1999-11-30 2004-11-23 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
US7072818B1 (en) 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US6931572B1 (en) 1999-11-30 2005-08-16 Synplicity, Inc. Design instrumentation circuitry
US7356786B2 (en) * 1999-11-30 2008-04-08 Synplicity, Inc. Method and user interface for debugging an electronic system
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
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
US6697957B1 (en) 2000-05-11 2004-02-24 Quickturn Design Systems, Inc. Emulation circuit with a hold time algorithm, logic analyzer and shadow memory
GB2381910B (en) * 2000-05-11 2005-03-02 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
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
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
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
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
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
US20040023558A1 (en) * 2001-06-07 2004-02-05 Fowler Michael L. Mid-connect architecture with point-to-point connections for high speed data transfer
US20030002541A1 (en) * 2001-06-07 2003-01-02 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
US7035787B2 (en) 2001-10-30 2006-04-25 Mentor Graphics Corporation Emulation components and system including distributed routing and configuration of emulation resources
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
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 東京エレクトロンデバイス株式会社 演算システム
WO2003060747A2 (de) 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
WO2004010320A2 (en) * 2002-07-23 2004-01-29 Gatechance Technologies, Inc. Pipelined reconfigurable dynamic instruciton set processor
US20040199894A1 (en) * 2002-07-23 2004-10-07 Klein Robert C. Interconnect structure for electrical devices
AU2003256699A1 (en) * 2002-07-23 2004-02-09 Gatechange Technologies, Inc. Self-configuring processing element
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
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
WO2004038599A1 (de) 2002-09-06 2004-05-06 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
JPWO2004061722A1 (ja) 2002-12-27 2006-05-18 富士通株式会社 論理シミュレーション装置
EP1450278B1 (en) 2003-01-23 2013-04-24 Cadence Design Systems, Inc. Methods and apparatus for verifying the operation of a circuit design
US7440884B2 (en) * 2003-01-23 2008-10-21 Quickturn Design Systems, Inc. Memory rewind and reconstruction for hardware emulator
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
EP3373170A1 (de) 2003-07-30 2018-09-12 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
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
US8788996B2 (en) * 2003-09-15 2014-07-22 Nvidia Corporation System and method for 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
US8775997B2 (en) * 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US7587649B2 (en) 2003-09-30 2009-09-08 Mentor Graphics Corporation Testing of reconfigurable logic and interconnect sources
US7924845B2 (en) 2003-09-30 2011-04-12 Mentor Graphics Corporation Message-based low latency circuit emulation signal transfer
JP4656929B2 (ja) * 2003-11-18 2011-03-23 クイックターン・デザイン・システムズ・インコーポレイテッド エミュレーションシステムとシミュレータとの間でのシミュレーション及び可視化データ転送のための最適化インターフェース
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
WO2005073866A2 (en) * 2004-01-21 2005-08-11 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 株式会社東芝 安全保護計装システムおよびその取扱方法
JP2007528553A (ja) * 2004-03-09 2007-10-11 セヤン ヤン 検証性能と検証效率性を高める動的検証−基盤方式の検証装置及びこれを用いた検証方法論
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
EP1859289A4 (en) * 2005-03-16 2011-03-30 Gaterocket Inc FPGA MATRIX EMULATION SYSTEM
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
WO2006133149A2 (en) 2005-06-03 2006-12-14 Quickturn Design Systems, Inc. Method for analyzing power consumption of circuit design using hardware emulation
US9092170B1 (en) 2005-10-18 2015-07-28 Nvidia Corporation Method and system for implementing fragment operation processing across a graphics bus interconnect
JP4720436B2 (ja) * 2005-11-01 2011-07-13 株式会社日立製作所 リコンフィギュラブルプロセッサまたは装置
JP4647533B2 (ja) 2005-11-28 2011-03-09 富士通セミコンダクター株式会社 演算処理装置、演算処理装置の内部構成決定方法および演算処理システム
US8412872B1 (en) 2005-12-12 2013-04-02 Nvidia Corporation Configurable GPU and method for graphics processing using a configurable GPU
US8417838B2 (en) * 2005-12-12 2013-04-09 Nvidia Corporation System and method for configurable digital communication
EP1974265A1 (de) * 2006-01-18 2008-10-01 PACT XPP Technologies AG Hardwaredefinitionsverfahren
WO2007096376A1 (en) * 2006-02-21 2007-08-30 Mentor Graphics Corporation Communication scheme between programmable sub-cores in an emulation environment
US8108198B2 (en) * 2006-02-21 2012-01-31 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
US8103855B2 (en) * 2007-09-22 2012-01-24 Navosha Corporation Linking functional blocks for sequential operation by DONE and GO components of respective blocks pointing to same memory location to store completion indicator read as start indicator
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
US8516185B2 (en) * 2009-07-16 2013-08-20 Netlist, Inc. System and method utilizing distributed byte-wise buffers on a memory module
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
US9069918B2 (en) * 2009-06-12 2015-06-30 Cadence Design Systems, Inc. System and method implementing full-rate writes for simulation acceleration
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
US8397195B2 (en) * 2010-01-22 2013-03-12 Synopsys, Inc. Method and system for packet switch based logic replication
US8638792B2 (en) 2010-01-22 2014-01-28 Synopsys, Inc. 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映射的电路改写指令系统
MX2013014230A (es) * 2011-06-06 2014-03-27 St Ericsson Sa Tecnologia de acceso multi - radio generica.
US9480077B2 (en) 2011-06-06 2016-10-25 Telefonaktiebolaget Lm Ericsson (Publ) Methods and systems for a generic multi-radio access technology
WO2012168256A1 (en) * 2011-06-06 2012-12-13 St-Ericsson Sa Generic multi -radio access technology
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
US9647688B1 (en) 2014-12-19 2017-05-09 Cadence Design Systems, Inc. System and method of encoding in a serializer/deserializer
US9379846B1 (en) 2014-12-19 2016-06-28 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 株式会社日立製作所 回路自動変換方法
GB2180382B (en) * 1985-09-11 1989-11-22 Pilkington Micro Electronics Semi-conductor integrated circuits/systems
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
KR950001951B1 (ko) * 1985-10-23 1995-03-07 필킹톤 마이크로-엘렉트로닉스 리미티드 게이트된 전송회로(Gated transmission circuit)
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3247663B2 (ja) 電気的に再構成可能なゲートアレイロジックを用いる方法及び、これによって構成される装置
US5452231A (en) Hierarchically connected reconfigurable logic assembly
JP4225583B2 (ja) ハードウェア・ロジック・エミュレーション・システムで使用するための分配ロジック・アナライザ
JP4424760B2 (ja) 時間多重相互接続を用いたエミュレーション・システム
Trimberger A reprogrammable gate array and applications
US7353162B2 (en) Scalable reconfigurable prototyping system and method
US5452239A (en) Method of removing gated clocks from the clock nets of a netlist for timing sensitive implementation of the netlist in a hardware emulation system
US5109353A (en) Apparatus for emulation of electronic hardware system
JPH06295319A (ja) 構成を変更可能なエミュレーション回路での保持時間侵害アーティファクトを自動的に防止する構造及び方法
Tessier et al. The virtual wires emulation system: A gate-efficient ASIC prototyping environment
KR100928134B1 (ko) 주문형 vcd 시스템 및 방법
Barrie et al. Design and verification of a highly concurrent machine
CA2025096C (en) Method of using electronically reconfigurable gate array logic and apparatus formed thereby
Nguyen Rapid prototyping using field programmable gate array (FPGA) and field programmable interconnect devices (FPID)

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

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

Free format text: PAYMENT UNTIL: 20081102

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081102

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091102

Year of fee payment: 8

EXPY Cancellation because of completion of term