JPH1055288A - メモリをエミュレートするためのシステム及び方法 - Google Patents
メモリをエミュレートするためのシステム及び方法Info
- Publication number
- JPH1055288A JPH1055288A JP9059753A JP5975397A JPH1055288A JP H1055288 A JPH1055288 A JP H1055288A JP 9059753 A JP9059753 A JP 9059753A JP 5975397 A JP5975397 A JP 5975397A JP H1055288 A JPH1055288 A JP H1055288A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- emulation
- address
- circuit
- design
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
ミュレートする。 【解決手段】 このシステムは、エミュレーションメモ
リを備えている。前記メモリ設計は、プログラマブルな
アドレス発生ブロックを介して、前記エミュレーション
メモリにマッピングされる。ある特定のタイムスライス
において、前記プログラマブルなアドレス発生ブロック
は、メモリ設計アドレスの全部または一部を1つのエミ
ュレーションメモリのアドレスにマッピングするアドレ
スを発生する。前記プログラマブルなアドレス発生ブロ
ックによって、多数のメモリ設計が1つのエミュレーシ
ョンメモリにマッピング可能になり、また、1つのメモ
リ設計が多数のエミュレーションメモリにマッピング可
能になる。このようにして、多数のタイムスライスにわ
たって、前記システムは、多くの異なる種類のメモリを
エミュレートすることができる。
Description
ションシステムの分野に関し、特に、エミュレーション
システム内のメモリ回路設計をエミュレートするための
システムに関するものである。
るのに伴い、様々な開発段階における回路設計のテスト
がますます重大になっている。論理エミュレータは、複
雑な回路設計の開発が進行するのに伴って、該回路設計
をテストする。論理エミュレータは、回路設計の機能を
エミュレートする、ソフトウエアによって構成可能なハ
ードウエアを含むことができる。回路設計は、該回路設
計の機能および作用を記述するデータセットによって詳
述される。
要がある回路設計の1つの構成要素である。回路設計
は、例えば、単一ポート・ランダムアクセイメモリ(R
AM)および多重ポート・ビデオRAM(VRAM)な
どの、多種類のメモリ回路設計を含むことができる。こ
れらのメモリ回路設計のサイズは、高さおよび幅におい
て異なることもできる。例えば、1つのメモリ回路設計
は、各々が24ビットの幅を有する3072個のエント
リ(3Kの高さ)を有するものであってよい。また、他
のメモリ回路設計は、各々が128ビットの幅を有する
128個のエントリ高さを有するものであってよい。
タの場合、設計者は、自分自身のメモリ回路設計作業バ
ージョンを配線しなければならなかった。その場合、前
記設計者は、配線したメモリ回路を前記論理エミュレー
タにインターフェイス接続している。しかし、これは、
多くの理由により望ましくない。第1に、前記メモリ回
路設計は除去またはディスエーブル(不能)状態にされ
なければならないので、設計者は、簡単に、前記回路設
計に関するソフトウエア記述を前記論理エミュレータに
直接的に使用することができない。第2に、設計者は、
前記論理エミュレータにインターフェイス接続すべき物
理的なメモリ回路を構築しなければならない。これは、
時間がかかり、エラーを生じやすく、高いコストがかか
る手続きであり、設計者の新たなメモリ回路設計を容易
にテスト能力を制限するものである。第3に、前記論理
エミュレータは、前記メモリ回路設計の配線済バージョ
ンと直接的にインターフェイス接続されなければならな
い。これは、前記論理エミュレータのコストを高くし、
該論理エミュレータを他の外部回路とインターフェイス
接続するために使用可能なハードウエアインターフェイ
ス資源を拘束する。
使用して多重ポートメモリ回路エミュレーションを支援
するシステムを開示している。エミュレートされる多重
ポートメモリ回路と同数の読出しポートおよび書込みポ
ートを実現するために、メモリアレイの多数のコピーが
作成される。しかし、これには多くの問題点がある。例
えば、メモリアレイの多数のコピーが必要であるので、
前記エミュレータにおいて大量のメモリが使用される。
さらに、メモリアレイの1つのコピーにおける書込み
は、追跡され、前記メモリアレイの他のコピーに反映さ
れなければならない。しかし、このためには、前記メモ
リアレイに付加的な論理が使用されなければならない。
故に、現在、改良された論理エミュレータが要求されて
いる。この発明は、上述の点に鑑みてなされたもので、
効率的に且つ確実に、多数のメモリ回路設計をエミュレ
ートできるようにするシステムおよび方法を提供しよう
とするものである。
は、多数のメモリ回路設計を同時にエミュレートする。
前記メモリ回路設計のアドレススペースは、前記システ
ムのエミュレーションメモリのアドレススペースにマッ
ピングされる。また、前記メモリ回路設計のアドレスス
ペースは、多数の時間周期全体にわたってマッピングさ
れる。こうして、前記システムは、多重ポートを有する
メモリをエミュレートできる。メモリ回路設計をエミュ
レートするためのシステムおよび方法が開示されてい
る。このシステムは、タイムスライスされた論理エミュ
レータを備えている。このタイムスライスされた論理エ
ミュレータは、1組のタイムスライスにおける機能の一
部をエミュレートすることによって、ターゲット設計の
1サイクルに実行される機能をエミュレートする。すな
わち、1組のタイムスライスは、前記ターゲット設計に
おける1つのクロックサイクルを示す。前記システム
は、ターゲット設計に含まれる多くの異なる種類のメモ
リ設計をエミュレートする。このシステムは、エミュレ
ーションメモリを備えている。前記メモリ設計は、プロ
グラマブルなアドレス発生ブロックを介して、前記エミ
ュレーションメモリにマッピングされる。ある特定のタ
イムスライスにおいて、前記プログラマブルなアドレス
発生ブロックは、メモリ設計アドレスの全部または一部
を1つのエミュレーションメモリのアドレスにマッピン
グするアドレスを発生する。前記プログラマブルなアド
レス発生ブロックによって、多数のメモリ設計が1つの
エミュレーションメモリにマッピング可能になり、ま
た、1つのメモリ設計が多数のエミュレーションメモリ
にマッピング可能になる。このようにして、多数のタイ
ムスライスにわたって、前記システムは、多くの異なる
種類のメモリをエミュレートすることができる。
明の一実施の形態を詳細に説明する。 a.エミュレーションシステム 図1は、様々な種類のメモリ設計を含む回路設計をエミ
ュレートするためのエミュレーションシステムを示すも
のである。該エミュレーションシステムは、コンピュー
タシステム100と論理エミュレータ150とを具備し
ている。前記コンピュータシステム100は、相互に接
続されたプロセッサ110とコンピュータメモリ105
と外部インターフェイス120とを備えている。前記プ
ロセッサ110は、各種処理を実行し、且つ、前記コン
ピュータメモリ105および外部インターフェイス12
0を制御するためのものである。前記コンピュータメモ
リ105は、プログラムおよびデータを格納する。ま
た、前記外部インターフェイス120は、前記論理エミ
ュレータ150と通信を行う。
ゲット(目標)設計としても知られている回路設計19
0は、前記論理エミュレータ150によってエミュレー
トされるべき回路を示す。一実施の形態において、前記
回路設計190は、回路のVHDL記述を含んでいる。ま
た、他の実施の形態において、前記回路設計190は、
回路のVerilog記述を含んでいてよい。重要なことは、
前記回路設計190が任意の数のメモリ回路設計195
を含んでいることである。該メモリ回路設計195は、
様々な種類のものであってよい。例えば、該メモリ回路
設計195は、単純なRAMメモリ設計と、多重ポート
・キャッシュメモリ設計と、EEPROMと、レジスタ
ファイルとを含んでいてよい。回路設計190に含まれ
ることができるメモリ回路設計の種類および数は、この
発明の一実施の形態に関する商業的に重要な事項であ
る。設計者は、従来のシステムより容易に、より多くの
回路をエミュレートすることができる。
システム100は、米国カルフォルニア州、Mountain V
iewに在るSun Microsystemsから供給されるワークステ
ーションである。他の実施の形態において、前記コンピ
ュータシステム100および論理エミュレータ150
が、1つのコンピュータシステムに含まれる。前記論理
エミュレータ150は、米国特許No.08/追補に詳細に開
示されている。一実施の形態において、前記論理エミュ
レータ150は、タイムスライシングと呼ばれる技術を
使用して、回路設計190の機能をエミュレートする。
このタイムスライシングによって、前記論理エミュレー
タ150は、多数のクロックサイクルを使用して、前記
回路設計190の1つのクロックサイクル中に実行され
る機能をエミュレートすることができる。1つのエミュ
レータクロックサイクルからの出力は、新たな出力を発
生するためにエミュレーション回路にフィードバックさ
れる。該エミュレーション回路は、エミュレータクロッ
クサイクル間に再構成され、前記論理エミュレータ15
0が前記回路設計190の機能をエミュレートすること
を可能にする。
ロセッサボード160を含んでいる。各プロセッサボー
ド160は、ボードインターフェイス回路162に接続
された多数の集積回路170を備えている。これらの集
積回路170は、前記プロセッサボード160間で情報
を交換することができ、従って、共働して前記回路設計
190をエミュレートすることができる。一実施の形態
において、1つの集積回路170は多数の小さなメモリ
設計をエミュレートすることができ、多数の集積回路1
70で1つの大きなメモリ設計をエミュレートすること
ができる。前記集積回路170は、次のような相互接続
を有する多数の回路ブロックを含んでいる。前記集積回
路170に対する入力は、ルーティングおよび制御ブロ
ック172と、バックプレーンセレクタ174と、制御
および出力回路171に接続されている。前記ルーティ
ングおよび制御ブロック172およびバックプレーンセ
レクタ174は、出力セレクタ176に接続されてい
る。該出力セレクタ176の出力は、レジスタ178、
フィードバックセレクタ179、エミュレーションメモ
リ180および前記集積回路170の出力に接続されて
いる。前記制御および出力回路171は、前記集積回路
170の出力にも接続されている。
積回路170の入力からの制御信号を受け取る。前記制
御および出力回路171は、前記集積回路170内の回
路を制御するための制御信号を発生する。また、前記制
御および出力回路171は、プログラムされた出力を発
生するためのプログラマブル出力メモリを含んでいる。
前記バックプレーンセレクタ174は、32個の32:
1セレクタを含んでいる。こうして、前記集積回路17
0は、(ボードインターフェイス162から)任意の順
序で、32のバックプレーン入力のうちの任意のものを
選択できるようになっている。
2は、多数のセレクタ群、レジスタ群およびプログラマ
ブル論理ブロック群を含んでいる。回路設計190のエ
ミュレーション時において、前記ルーティングおよび制
御ブロック172は、入力およびその出力端子からのフ
ィードバックの供給を受けながら、絶えずプログラムお
よび再プログラムされる。こうして、前記ルーティング
および制御ブロック172は、エミュレーション処理の
大きな部分を実行する。エミュレーション時において、
前記ルーティングおよび制御ブロック172は、エミュ
レーションメモリ180のためのアドレスおよびデータ
を発生するようプログラムされる。前記レジスタ178
は、前記セレクタ176からの出力を後での使用(例え
ば、プログラマブルなパイプラインすなわち逐次制御)
のために格納する。
記出力セレクタ176からの直線的フィードバック、ま
たは、前記レジスタ178の出力からの直線的フィード
バックを選択する。前記エミュレーションメモリ180
は、前記エミュレータ150が多くの種類のメモリ設計
をエミュレートすることを可能にする。前記エミュレー
ションメモリ180は、前記出力セレクタ176からか
らの入力を受け取り、該出力セレクタ176にフィード
バックされる出力を発生する。る。
の形態を示す図である。一実施の形態において、前記エ
ミュレーションメモリ180は、前記集積回路170上
に集積される。他の実施の形態において、前記エミュレ
ーションメモリ180は、個別の集積回路または多数の
集積回路上に集積される。前記エミュレーションメモリ
180は、次のような接続を有する回路を含んでいる。
前記エミュレーションデータセレクタ200およびエミ
ュレーションアドレスセレクタは、前記エミュレーショ
ンメモリ180の入力に接続されている。前記エミュレ
ーションデータセレクタ200の出力は、4K×32の
RAM230のデータ入力(32ビットWデータ)に接
続されている。前記エミュレーションアドレスセレクタ
210の出力は、エミュレーションアドレスレジスタ2
20に接続されている。前記エミュレーションアドレス
レジスタ220の出力は、前記RAM230のアドレス
入力(12ビット)と書込みイネーブル入力(4ビッ
ト)に接続されている。前記RAM230は、チップセ
レクトライン240をさらに有する。該RAM230の
出力(32ビットRデータ)は、メモリ出力セレクタ2
40に接続されている。該メモリ出力セレクタ240の
出力は、前記エミュレーションメモリ180の出力に接
続されている。
0は、32個の32:1セレクタを含んでいる。その3
2本の入力ラインは、前記エミュレーションメモリ18
0の32ビット幅の入力データバスから来ている。これ
らの32個の32:1セレクタによって、前記エミュレ
ーションデータセレクタ200は、任意の入力ラインを
任意のWデータ入力に接続することができる。こうし
て、前記32ビットのデータラインのうちの任意のもの
に前記RAM230用のデータを発生させることによっ
て、当該システムにおける融通性が提供される。
10は、16個の35:1セレクタを含んでいる。各前
記35:1セレクタは、前記エミュレーションメモリ1
80の32本の入力ラインと、1本のグラウンドライン
と、1本のVCCラインと、エミュレーションアドレス
レジスタ220からの1本の対応する出力ラインとを含
む35本の入力ラインを有する。例えば、前記エミュレ
ーションアドレスレジスタ220のためのアドレス22
4のビット7を出力する前記35:1セレクタは、次の
ような入力を有する。すなわち、前記エミュレーション
メモリ180の入力バスからのビット31〜0、VC
C、グラウンド、および、前記エミュレーションアドレ
スレジスタ220によって出力されるアドレス224の
ビット7である。このようにして、前記エミュレーショ
ンデータセレクタ200は、前記エミュレーションメモ
リ180の入力、前記エミュレーションアドレスレジス
タ220からのフィードバック、設定値(前記VCCラ
インおよびグラウンドラインからの0もしくは1)、ま
たは、これらのラインの組合わせを選択する。
20は、前記エミュレーションアドレスセレクタ210
からの出力を格納する。前記エミュレーションアドレス
レジスタ220の出力は、12ビットのアドレス224
と、4本の書込みイネーブルラインとを含むものであ
る。前記アドレス224は前記RAM230における1
つの32ビットエントリのアドレスを選択し、前記4本
の書込みイネーブルラインは前記エントリの4バイトの
うちのどのバイトに書込みを行うべきかを選択するもの
である。このようにして、前記アドレス224と書込み
イネーブル222との組合わせを使用することによっ
て、前記RAM230における任意のバイトに選択的に
書込みを行うことができる。
20によって、前記エミュレーションメモリ180は、
エミュレーション時における多数のタイムスライスにわ
たるアドレスを格納することができる。例えば、1つの
タイムスライスにおいて、32ビットのデータエントリ
の下位16ビットのみが前記ルーティングおよび制御ブ
ロック172によって発生される、と仮定する。また、
前記データエントリのアドレスも発生される、と仮定す
る。前記エミュレーションアドレスレジスタ220は、
第1のタイムスライス時に前記アドレスを格納すること
ができるが、前記RAM230におけるエントリの2つ
の下位バイトのみをイネーブル状態にする。次のタイム
スライスにおいて、前記ルーティングおよび制御ブロッ
ク172によって、上位16ビットの情報が発生され
る。この場合、上記と同じアドレスが使用されるが、前
記RAM230におけるエントリの2つの上位バイトの
みがイネーブル状態にされる。従って、同一のメモリ一
に対する多重メモリアクセスのために、アドレスを発生
しなおす必要がない。
メモリ出力セレクタ240に接続されている。該メモリ
出力セレクタ240は、32個の32:1マルチプレク
サを含んでいる。これら32個の32:1マルチプレク
サによって、前記RAM230からのデータラインのう
ちの任意のものが、前記エミュレーションメモリ180
の出力の任意のデータに接続可能になる。前記エミュレ
ーションデータセレクタ200、エミュレーションアド
レスセレクタ210、エミュレーションアドレスレジス
タ220、セレクタ240および前記RAM230のチ
ップセレクトは、すべて、前記制御および出力回路17
1によって制御される。
みポートとを有する、4K×32ビットのスタティック
RAMを含んでいる。該RAM230はライトスルー
(write-through)メモリである(すなわち、1クロッ
クサイクル中にある値Xが書かれた場合、該値Xは、同
じクロックサイクル中に、前記RAM230の出力に現
れる)。他の実施の形態において、前記RAM230の
代りに、および/または、該RAM230に加えて、1
6K×64のEEPROMまたは1M×1のDRAMの
ような他の種類のメモリが使用される。さらに、前記R
AM230は、前記集積回路170上に含まれている必
要はない。こうして、一実施の形態において、前記RA
M230は前記集積回路170である。これら多種類の
メモリの場合、前記エミュレーションデータセレクタ2
00、エミュレーションアドレスセレクタ210、エミ
ュレーションアドレスレジスタ220およびメモリ出力
セレクタ240に対して、対応する変更がなされる。
方法の一実施の形態 図3は、多数のメモリ回路設計195をエミュレートす
る方法の一実施の形態を示すものである。この実施の形
態は、前記コンピュータシステム100およびエミュレ
ータ150において実施されることができる。一般に、
この実施の形態は、前記メモリ回路設計195を1つま
たは複数のエミュレーションメモリ180にマッピング
する。このマッピング処理は、メモリ回路設計195を
識別し、該メモリ回路設計195のアドレススペースと
前記エミュレーションメモリ180のアドレススペース
との間の有効相関関係を決定することを含むものであ
る。
タシステム100は、回路設計190内におけるメモリ
回路設計195を識別する。これは、ターゲット回路設
計195の動作に関する記述を分析することによって実
行可能である。前記コンピュータシステム100は、各
前記メモリ回路設計のビット幅およびエントリ高さを識
別する。こうして、各前記メモリ回路設計は、該メモリ
回路設計におけるエントリ数、および、各エントリにお
けるビット数によって識別される。さらに、各前記メモ
リ回路設計ごとのポートの数および種類が識別される。
例えば、前記コンピュータシステム100は、あるメモ
リ回路設計を、1Kのエントリおよび32ビット幅のエ
ントリを有するデュアルポートRAMとして識別するこ
とができる。
メモリの種類が処理されたか否かが判定される。ノーで
ある場合、ブロック323および325の処理が実行さ
れる。ブロック323では、各メモリ回路設計の幅が、
前記RAM230の最も近い書込みイネーブル境界にパ
ディングされる。例えば、あるメモリ回路設計が4ビッ
ト幅のエントリを有するが、前記RAM230のための
書込みイネーブルが8ビット境界上にある場合、前記メ
モリ回路設計の幅が8ビットに増加される。従って、こ
のブロックは、前記RAM230の最小細分性を、前記
メモリ回路設計のエントリの幅に一致させる。前記出力
セレクタ240はメモリ値が個々のビットとしてアクセ
スされ得るようにするので、読出し専用メモリの場合は
すべて、前記パディングは必要ではない。
モリ回路設計のビットサイズが求められる。これは、前
記パディングされた幅をエントリの数と乗算することに
よって行われる。例えば、図2のエミュレーションメモ
リ180の場合、1K×32のメモリ回路設計は327
68ビットを有し、1K×4のメモリ回路設計は819
2(1K×8−8にパディングされる幅)ビットを有す
る。すべてのメモリ回路設計が処理された後、ブロック
330において、該メモリ回路設計195がサイズ別に
分類される。もっとも大きなメモリが、分類リストの最
初にくる。
ピュータシステム100は、すべてのメモリ回路設計1
95が前記エミュレーションメモリ180にマッピング
されたか否かを判定する。すべてのメモリ回路設計19
5がマッピングされてない場合、ブロック343および
ブロック345が実行される。こうして、ブロック34
3およびブロック345が、もっとも大きなサイズのメ
モリ回路設計195から、各メモリ回路設計195ごと
に実行される。ブロック343において、特定のメモリ
回路設計195のアドレススペースが、前記エミュレー
ションメモリ180のアドレススペースにマッピングさ
れる。前記エミュレーションメモリ180のアドレスス
ペースは、1つの大きなメモリスペース(メモリパレッ
ト)として扱われる。そして、各メモリ回路設計が、前
記メモリパレットの対応する部分に割り当てられる。図
4はブロック343を示している。
複数の異なるサブスペースについて付加的なタイムスラ
イスが割り当てられる。理想的には、すべてのメモリ回
路設計195は、RAM230の一部に割り当てられ
る。しかし、前記メモリ回路設計が多重ポートメモリの
ためのものである場合、付加的なタイムスライスが必要
になる。第1のタイムスライスにおいて、前記エミュレ
ーションメモリ180は第1のポートによるアクセスを
エミュレートでき、第2のタイムスライスにおいて、前
記エミュレーションメモリ180は第2のポートによる
アクセスをエミュレートできる。このように、一実施の
形態において、前記付加的なタイムスライスが、1を超
える各メモリ回路設計ごとに追加される。
設計195について、さらに付加的なタイムスライスが
追加されてよい。例えば、前記メモリ回路設計が64ビ
ットの幅であり、前記RAM230が32ビットの幅で
ある、と仮定する。さらに、前記マッピングブロック3
43が前記メモリ回路設計のアドレススペースを示す2
つのアドレスサブスペースを作成する、と仮定する。ま
た、前記2つのアドレスサブスペースが1つのRAM2
30のアドレススペースにマッピングされる、と仮定す
る。そして、第1のタイムスライスにおいて、前記メモ
リ回路設計のエントリの下位32ビットが前記RAM2
30に書き込まれ、第2のタイムスライスにおいて、前
記メモリ回路設計のエントリの上位32ビットが前記R
AM230に書き込まれる。
由は、複数の異なるメモリのアドレススペースが前記R
AM230のアドレススペースにマッピングされ、前記
RAM230に対するアクセスに衝突が生じる、場合に
発生する。例えば、2つのメモリ回路設計195が前記
RAM230のアドレススペースにマッピングされ、こ
れら2つのメモリ回路設計が同一のサイクル内にアクセ
スされるべきことが回路設計190によって定義されて
いる場合、付加的なタイムスライスが必要になる。
スペースがマッピングされた後、ブロック350におい
て、前記エミュレータ150が前記コンピュータシステ
ム100によってプログラムされる。これは、前記制御
および出力回路171に制御プログラムをロードするこ
とを含む。このロードの一部は、前記ルーティングおよ
び制御ブロック172および前記集積回路170の他の
構成要素が前記メモリ回路のアドレススペースを前記エ
ミュレーションメモリ180のアドレススペースにマッ
ピングするための正しいアドレスおよびデータ情報を前
記エミュレーションメモリ180に供給する、ことを保
証する制御信号を含む。次に、エミュレーションが実行
される。これは、前記回路設計190を実施するための
テストベクトルを前記エミュレータ150に供給するこ
とを含むものである。
レーションメモリ180のアドレススペースにマッピン
グする方法の一実施の形態を示すものである。ブロック
410において、1つまたは複数の部分的アドレスサブ
スペースを発生するために、前記メモリ回路のアドレス
スペースが、前記RAM230の高さによって割られ
る。このブロック410は、前記RAM230全体に前
記メモリ回路のアドレススペースを配分することによっ
て、前記RAM230の高さより大きな高さを有するメ
モリ回路設計を前記エミュレーションメモリ180のア
ドレススペースにはめ込む、という課題を解決するもの
である。
部分的アドレスサブスペースがさらに分割される。ブロ
ック410において作成された部分的アドレスサブスペ
ースが、アドレスサブスペースを発生するために、前記
RAM230の幅によって割られる。こうして、ブロッ
ク410は、前記RAM230における多数のエントリ
全体に前記メモリ回路設計のアドレススペースを配分す
ることによって、前記RAM230の幅より大きな幅を
有するメモリ回路設計を前記エミュレーションメモリ1
80のアドレススペースにはめ込む、という課題を解決
するものである。
ステム100は、前記アドレスサブスペースと前記エミ
ュレーションアドレススペースとの間の関係を求める。
これは、前記論理エミュレータにおいて、特定のサブス
ペースをRAM230の特定の部分に割り当てることを
含むものである。
にマッピングする例 図5は、1つの設計における多数のメモリが前記エミュ
レーションメモリ180にマッピングされる一例を示す
ものである。上述の如く、ソフトウエアツールは、前記
エミュレーションメモリ180のアドレススペースを1
つの大きなメモリパレットとして扱う。前記メモリ回路
設計195は、該メモリパレット500にマッピングさ
れる。この例において、前記回路設計190は、8K×
64ビットのメモリ510、3K×32ビットのデュア
ルポートメモリ520、4×256ビットのメモリ53
0、128×128ビットのメモリ540、および、3
2×32ビットのメモリ550であるメモリ回路設計1
95を含んでいる。これらのメモリ回路設計195は、
図3のステップを使用して前記メモリパレット500に
マッピングされる。
ト500は、4K×32ビットの6倍のアドレススペー
スのみを示している。あるシステムにおいて、前記メモ
リパレット500は、これよりはるかに大きなメモリス
ペースを有する。一例として、前記メモリパレット50
0は、前記RAM230の物理的なアドレススペースを
示す4K×32ビットの境界を有する。
続いて、前記メモリ回路設計195は、次のように前記
メモリパレット500にマッピングされる。先ず、ブロ
ック310において、すべての前記メモリ回路設計19
5が識別される。次に、ブロック323およびブロック
345の処理が各前記メモリ回路設計195ごとに実行
される。前記RAM230の書込みイネーブル境界がバ
イト境界上にあるこの例において、ブロック323は、
1K×4ビットのメモリ530を1K×8ビットのメモ
リ530にパッディングする。このため、次のメモリ
は、次の表1に示すようなサイズを有する。
リ回路設計195の分類リストを示すものである。
記メモリパレット500にマッピングされる。ブロック
410において、前記8K×64ビットのメモリ510
のアドレススペースは、各々が4K×64ビットである
2つの部分的サブスペースに分けられる。そして、ブロ
ック420において、前記2つの部分的サブスペース
は、さらに、各々が4K×32ビットである完成サブス
ペースに分けられる。ブロック430において、これら
4つの完成サブスペースは、前記メモリパレット500
の第1の利用可能アドレススペース(最初の4つのエミ
ュレーションメモリ180のアドレススペース)にマッ
ピングされる。ブロック410およびブロック420の
処理は、前記3K×32ビットのメモリ520について
実行され、1つの3K×24ビットのアドレスサブスペ
ースを発生する。このアドレスサブスペースは、ブロッ
ク430において、前記メモリパレット500の次の利
用可能な部分にマッピングされる。次に、128×12
8ビットのメモリ540が、ブロック410およびブロ
ック420の処理を受ける。ブロック410は、128
×128ビットの部分的アドレスサブスペースを形成す
る。ブロック420は、128×32ビットの完成アド
レスサブスペースを形成する。そして、前記コンピュー
タシステム100は、これらのサブスペースを前記メモ
リパレット500における次の利用可能なスペースにマ
ッピングする。その後、ブロック410およびブロック
420が、1K×4ビットのメモリ530について実行
され、1K×8のアドレスサブスペースを形成する。第
5番目のエミュレーションメモリ180のアドレススペ
ースには未だ余裕があるので、前記1K×8のアドレス
サブスペースが1K×24のアドレスサブスペースの次
のスペースにマッピングされる。次に、32×32ビッ
トのメモリ550が、ブロック410およびブロック4
20の処理を受ける。これは、前記メモリパレット50
0の次の利用可能なエリアにマッピングされる。
ある。前記マッピングが1つのメモリ回路設計195に
ついて行われた後、ブロック345の処理が実行され
る。表3は、タイムスライス割り当ての結果を示す。こ
のタイムスライス割り当てにおいて、多数の衝突が付加
的なタイムスライスを必要とする。1つのメモリ回路設
計の多重ポート(例えば、34×24のデュアルポート
メモリ520)が存在する場合に、このような衝突が発
生する。さらに、前記回路設計190(例えば、3K×
24のメモリ520、1K×4のメモリ530および3
2×32のメモリ550)の同一クロックサイクルにお
いて、2つまたは3つ以上メモリ回路設計195が書込
まれ、または、読み出されるべき場合に、このような衝
突が発生する。例えば、前記回路設計190のすべての
クロックサイクルにおいて、すべてのメモリ回路設計1
95が書込まれ、または、読み出されるべき場合を仮定
する。多くの回路設計190において、実際はそうでは
なく、衝突が発生しないので、多数のタイムスライスの
分解は必要とならない。
本的なマッピングアルゴリズムに対する多くの改善点を
有する。例えば、一実施の形態において、付加的なタイ
ムスライスを追加する必要性を回避するために、前記回
路設計190の同一クロックサイクルでアクセスされる
メモリ回路設計195は、複数の異なるRAM230に
マッピングされる。また、他の実施の形態において、3
2ビットより広いメモリ回路設計195から形成される
サブスペース組は、前記複数のRAM230全体にマッ
ピングされる。これは、前記ルーティングおよび論理ブ
ロック172における潜在的に重複した処理を犠牲にし
て必要とされるタイムスライスの数を減少させる。
つ確実に、多数のメモリ回路設計をエミュレートでき
る、という優れた効果を奏するものである。
ーションシステムを示す図。
ミュレーションメモリ回路を示す図。
る方法の一実施の形態を示す図。
にマッピングする方法の一実施の形態を示す図。
レススペースにマッピングする一例を示す図。
Claims (20)
- 【請求項1】 アドレスポートおよびデータポートを有
するメモリ回路と、前記アドレスポートに接続されたア
ドレス出力ポートを有するプログラム可能なアドレス回
路であって、1組の時間周期にわたって、複数のターゲ
ットメモリの1組のアドレスを、1組のエミュレーショ
ンメモリアドレスにマッピングするものとを具備したエ
ミュレーションメモリ。 - 【請求項2】 前記メモリ回路が4096×32ビット
のランダムアクセスメモリを有し、前記アドレスポート
が12ビットの入力ポートであり、前記データポート
が、32ビットの幅を有し、書込みポートと読出しポー
トとを有し、前記メモリ回路が4つの書込みイネーブル
ポートを有する請求項1に記載のエミュレーションメモ
リ。 - 【請求項3】 前記メモリ回路が第1の半導体基板上に
集積されており、前記アドレス回路が第2の半導体基板
上に集積されている請求項1に記載のエミュレーション
メモリ。 - 【請求項4】 前記1組のアドレスをに対応する1組の
データ値を、1組のエミュレーションメモリデータ値に
マッピングするプログラマブルなルーティングおよび制
御回路をさらに具備した請求項1に記載のエミュレーシ
ョンメモリ。 - 【請求項5】 前記アドレス回路が複数のエミュレーシ
ョンアドレスセレクタ回路を含み、各前記エミュレーシ
ョンアドレスセレクタ回路が、1つのエミュレーション
メモリアドレスの1つのアドレスビットを発生するもの
である請求項1に記載のエミュレーションメモリ。 - 【請求項6】 前記アドレス回路が、前記アドレスセレ
クタ回路に接続されていて前記1つのエミュレーション
メモリアドレスを格納するアドレスレジスタを含み、前
記アドレスレジスタの出力が前記アドレス出力ポートに
対応している請求項5に記載のエミュレーションメモ
リ。 - 【請求項7】 前記1組のターゲットメモリが、第1の
タイプの第1のターゲットメモリと、第2のタイプの第
2のターゲットメモリとを含んでおり、該第1のターゲ
ットメモリおよび第2のターゲットメモリが、1つのタ
ーゲット設計の1つのサイクル中にアドレスを受け取る
ものであり、前記アドレス回路が、前記エミュレーショ
ンメモリの第1のサイクル中に第1のターゲットメモリ
アドレスに対応する第1のエミュレーションアドレスを
発生し、前記エミュレーションメモリの第2のサイクル
中に第2のターゲットメモリアドレスに対応する第2の
エミュレーションアドレスを発生するものである請求項
1に記載のエミュレーションメモリ。 - 【請求項8】 各々がNワードのデータを格納する第1
のメモリ回路と第2のメモリ回路とをさらに具備し、前
記1組のターゲットメモリが、Mワードのデータを格納
するための第1のターゲットメモリ設計を含んでおり、
前記Mが前記Nより大きな値であり、前記アドレス回路
が、前記Mワードのデータのうちの前記Nワードのデー
タに対応する前記第1のメモリのための第1の組のエミ
ュレーションアドレスを発生するための第1のアドレス
回路を含み、さらに、前記アドレス回路が、前記Mワー
ドのデータのうちのM−Nワードのデータに対応する前
記第2のメモリのための第2の組のエミュレーションア
ドレスを発生するための第2のアドレス回路を含んでい
る請求項1に記載のエミュレーションメモリ。 - 【請求項9】 前記Nが4096であって、前記Mが6
144であり、前記第1の組のエミュレーションアドレ
スが、前記Mワードのデータのワード0からワード40
95に対応し、前記第2の組のエミュレーションアドレ
スが、前記Mワードのデータのワード4096からワー
ド6143に対応するものである請求項8に記載のエミ
ュレーションメモリ。 - 【請求項10】 Nビット幅のデータワードを格納する
ための第1のメモリ回路をさらに具備し、前記1組のタ
ーゲットメモリがMビット幅のデータワードを格納する
ための第1のターゲットメモリ設計を含み、前記Mが前
記Nより大きな値であり、前記アドレス回路が、前記M
ビット幅のデータワードのうちのNビットに対応する前
記第1のメモリのための第1のエミュレーションアドレ
スを発生するための第1のアドレス回路を含み、さら
に、前記第1のアドレス回路が、前記Mビット幅のデー
タワードのうちのM−Nビットに対応する前記第1のメ
モリ回路のための第2のエミュレーションアドレスを発
生するものである請求項1に記載のエミュレーションメ
モリ。 - 【請求項11】 前記Nが32であり、前記Mが64で
ある請求項10に記載のエミュレーションメモリ。 - 【請求項12】 アドレス回路とメモリ回路とを備えた
エミュレータにおいて1組のメモリ設計をエミュレート
する方法であって、各前記メモリ設計を、前記メモリ回
路のアドレススペース、および、各前記メモリ設計にお
ける1サイクルに対応する1組のタイムスライスにマッ
ピングするステップと、 メモリ設計機能コマンドの受取りに応答して、対応する
1組のタイムスライスにわたって前記アドレススペース
における1組のメモリアドレスを発生するステップと、 メモリ設計機能コマンドの受取りに応答して、前記対応
する1組のタイムスライスにわたって、および、前記1
組のメモリアドレスを使用して、前記メモリ回路に関す
るメモリ機能をエミュレートする1組のメモリ機能を実
行するステップとを具備する方法。 - 【請求項13】 前記マッピングするステップの前に、
前記1組のメモリ設計をサイズに従って分類するステッ
プをさらに含む請求項12に記載の方法。 - 【請求項14】 前記メモリ回路が1組のエミュレーシ
ョンメモリを備え、各前記エミュレーションメモリのサ
イズがNビットであり、第1のメモリ設計のサイズがM
ビットであり、前記Mが前記Nより大きな値であり、前
記マッピングするステップが、 前記第1のメモリ設計のN個の下位ビットを第1のエミ
ュレーションメモリにマッピングすることと、 前記第1のメモリ設計のM−N個の上位ビットを第2の
エミュレーションメモリにマッピングすることとをさら
に具備するものである請求項12に記載の方法。 - 【請求項15】 前記Nが131072ビットである請
求項14に記載の方法。 - 【請求項16】 前記メモリ回路が、32ビットワード
を有するエミュレーションメモリを含み、第1のメモリ
設計が64ビット幅のワードを有し、前記マッピングす
るステップが、 前記64ビット幅のワードのビット31〜0を、前記エ
ミュレーションメモリにおける第1の対のワードの第1
のワードにマッピングすることと、 前記64ビット幅のワードのビット63〜32を、前記
第1の対のワードの第2のワードにマッピングすること
とをさらに具備する請求項12に記載の方法。 - 【請求項17】 所定のサイズより大きなサイズを有す
る各メモリ設計を、1組の分割されたメモリ設計に分割
するステップをさらに含む請求項12に記載の方法。 - 【請求項18】 前記所定のサイズが、前記メモリ回路
内のエミュレーションメモリ回路のバイト数に等しいも
のである請求項17に記載の方法。 - 【請求項19】 エミュレータにおいてメモリ回路設計
のアドレススペースをマッピングする方法であり、前記
エミュレータがプログラマブルな論理ブロックと複数の
エミュレーションメモリを備えており、第1の前記エミ
ュレーションメモリが、メモリ位置における第1の高さ
と第1のビット幅とを有し、前記エミュレータにおける
1組の時間周期が前記メモリ回路設計の1サイクルに対
応するものであり、 前記アドレススペースを、各々が前記第1の高さおよび
第1のビット幅より大きくない1つまたは複数のアドレ
スサブスペースに分割するステップと、 前記アドレスサブスペースを前記複数のエミュレーショ
ンメモリにマッピングするステップと、 前記エミュレータが前記複数のエミュレーションメモリ
における前記アドレスサブスペースにアクセスできるよ
う、前記1組の時間周期に付加的な時間周期を割り当て
るステップとを具備する方法。 - 【請求項20】 各前記サブスペースの幅を、少なくと
も、前記複数のエミュレーションメモリのうちの1つの
エミュレーションメモリのエントリにおけるアクセス可
能な最小ビット数の幅に増加させるステップをさらに含
む請求項19に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/597,197 | 1996-02-06 | ||
US08/597,197 US5819065A (en) | 1995-06-28 | 1996-02-06 | System and method for emulating memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1055288A true JPH1055288A (ja) | 1998-02-24 |
JP3995751B2 JP3995751B2 (ja) | 2007-10-24 |
Family
ID=24390505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05975397A Expired - Fee Related JP3995751B2 (ja) | 1996-02-06 | 1997-02-06 | メモリをエミュレートするためのシステム及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5819065A (ja) |
EP (1) | EP0789311B1 (ja) |
JP (1) | JP3995751B2 (ja) |
DE (1) | DE69737757T2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006294033A (ja) * | 2005-04-06 | 2006-10-26 | Quickturn Design Syst Inc | 異なるメモリシステム間での簡潔なマッピングを提供するためのシステム及び方法 |
JP2007305126A (ja) * | 2006-05-12 | 2007-11-22 | Samsung Electronics Co Ltd | 状態回復を有する回路エミュレーション |
KR101282963B1 (ko) * | 2006-05-12 | 2013-07-08 | 삼성전자주식회사 | 에뮬레이션 시스템 및 그 방법 |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6031842A (en) * | 1996-09-11 | 2000-02-29 | Mcdata Corporation | Low latency shared memory switch architecture |
US6141636A (en) * | 1997-03-31 | 2000-10-31 | Quickturn Design Systems, Inc. | Logic analysis subsystem in a time-sliced emulator |
US6173419B1 (en) * | 1998-05-14 | 2001-01-09 | Advanced Technology Materials, Inc. | Field programmable gate array (FPGA) emulator for debugging software |
US6279146B1 (en) | 1999-01-06 | 2001-08-21 | Simutech Corporation | Apparatus and method for verifying a multi-component electronic design |
JP3943277B2 (ja) * | 1999-03-23 | 2007-07-11 | セイコーエプソン株式会社 | マイクロコンピュータ及び電子機器 |
US6618698B1 (en) * | 1999-08-12 | 2003-09-09 | Quickturn Design Systems, Inc. | Clustered processors in an emulation engine |
US6611796B1 (en) * | 1999-10-20 | 2003-08-26 | Texas Instruments Incorporated | Method and apparatus for combining memory blocks for in circuit emulation |
US6230114B1 (en) | 1999-10-29 | 2001-05-08 | Vast Systems Technology Corporation | Hardware and software co-simulation including executing an analyzed user program |
US6477624B1 (en) * | 1999-11-08 | 2002-11-05 | Ondotek, Inc. | Data image management via emulation of non-volatile storage device |
US7233998B2 (en) * | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
TWI220192B (en) * | 2001-11-06 | 2004-08-11 | Mediatek Inc | Memory access method and apparatus in ICE system |
US20030188278A1 (en) * | 2002-03-26 | 2003-10-02 | Carrie Susan Elizabeth | Method and apparatus for accelerating digital logic simulations |
US6871328B1 (en) * | 2002-11-14 | 2005-03-22 | Altera Corporation | Method for mapping logic design memory into physical memory device of a programmable logic device |
US7440884B2 (en) * | 2003-01-23 | 2008-10-21 | Quickturn Design Systems, Inc. | Memory rewind and reconstruction for hardware emulator |
US8145469B2 (en) * | 2005-04-06 | 2012-03-27 | Quickturn Design Systems, Inc. | System and method for providing compact mapping between dissimilar memory systems |
DE502005001065D1 (de) * | 2005-05-02 | 2007-08-30 | Accemic Gmbh & Co Kg | Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US7386656B2 (en) | 2006-07-31 | 2008-06-10 | Metaram, Inc. | Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US20080028136A1 (en) | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and apparatus for refresh management of memory modules |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US9542352B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US20080082763A1 (en) | 2006-10-02 | 2008-04-03 | Metaram, Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US8438328B2 (en) * | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US7609567B2 (en) | 2005-06-24 | 2009-10-27 | Metaram, Inc. | System and method for simulating an aspect of a memory circuit |
KR101303518B1 (ko) * | 2005-09-02 | 2013-09-03 | 구글 인코포레이티드 | Dram 적층 방법 및 장치 |
US7493519B2 (en) * | 2005-10-24 | 2009-02-17 | Lsi Corporation | RRAM memory error emulation |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US7555424B2 (en) | 2006-03-16 | 2009-06-30 | Quickturn Design Systems, Inc. | Method and apparatus for rewinding emulated memory circuits |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US20100161308A1 (en) * | 2008-12-22 | 2010-06-24 | Unity Semiconductor Corporation | Multi-structured memory |
WO2010144624A1 (en) | 2009-06-09 | 2010-12-16 | Google Inc. | Programming of dimm termination resistance values |
US8595683B1 (en) | 2012-04-12 | 2013-11-26 | Cadence Design Systems, Inc. | Generating user clocks for a prototyping environment |
US11487925B1 (en) | 2021-07-02 | 2022-11-01 | Changxin Memory Technologies, Inc. | Simulation method, apparatus, and device, and storage medium |
CN115563909A (zh) * | 2021-07-02 | 2023-01-03 | 长鑫存储技术有限公司 | 仿真方法、装置、设备及存储介质 |
Family Cites Families (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3955180A (en) * | 1974-01-02 | 1976-05-04 | Honeywell Information Systems Inc. | Table driven emulation system |
US4277827A (en) * | 1979-01-02 | 1981-07-07 | Texas Instruments Incorporated | Microprocessor based system for the development and emulation of programmable calculator control read only memory software |
US4281392A (en) * | 1979-05-01 | 1981-07-28 | Allen-Bradley Company | Memory circuit for programmable machines |
US4306286A (en) * | 1979-06-29 | 1981-12-15 | International Business Machines Corporation | Logic simulation machine |
US4357678A (en) * | 1979-12-26 | 1982-11-02 | International Business Machines Corporation | Programmable sequential logic array mechanism |
US4400794A (en) * | 1981-11-17 | 1983-08-23 | Burroughs Corporation | Memory mapping unit |
US4656580A (en) * | 1982-06-11 | 1987-04-07 | International Business Machines Corporation | Logic simulation machine |
US4527249A (en) * | 1982-10-22 | 1985-07-02 | Control Data Corporation | Simulator system for logic design validation |
US4583169A (en) * | 1983-04-29 | 1986-04-15 | The Boeing Company | Method for emulating a Boolean network system |
US4587625A (en) * | 1983-07-05 | 1986-05-06 | Motorola Inc. | Processor for simulating digital structures |
WO1985002033A1 (en) * | 1983-11-03 | 1985-05-09 | Prime Computer, Inc. | Digital system simulation method and apparatus |
US4642759A (en) * | 1984-04-02 | 1987-02-10 | Targa Electronics Systems Inc. | Bubble memory disk emulation system |
US4782461A (en) * | 1984-06-21 | 1988-11-01 | Step Engineering | Logical grouping of facilities within a computer development system |
US4697241A (en) * | 1985-03-01 | 1987-09-29 | Simulog, Inc. | Hardware logic simulator |
US4819150A (en) * | 1985-04-05 | 1989-04-04 | Unisys Corporation | Array for simulating computer functions for large computer systems |
US4958315A (en) * | 1985-07-02 | 1990-09-18 | The United States Of America As Represented By The Secretary Of The Navy | Solid state electronic emulator of a multiple track motor driven rotating magnetic memory |
US4769817A (en) * | 1986-01-31 | 1988-09-06 | Zycad Corporation | Concurrent fault simulation for logic designs |
JPH0731615B2 (ja) * | 1986-04-18 | 1995-04-10 | 日本電気株式会社 | 情報処理装置 |
US4862347A (en) * | 1986-04-22 | 1989-08-29 | International Business Machine Corporation | System for simulating memory arrays in a logic simulation machine |
US5088033A (en) * | 1986-04-28 | 1992-02-11 | Xerox Corporation | Data processing system emulation in a window with a coprocessor and I/O emulation |
US4787061A (en) * | 1986-06-25 | 1988-11-22 | Ikos Systems, Inc. | Dual delay mode pipelined logic simulator |
US5126966A (en) * | 1986-06-25 | 1992-06-30 | Ikos Systems, Inc. | High speed logic simulation system with stimulus engine using independent event channels selectively driven by independent stimulus programs |
US4787062A (en) * | 1986-06-26 | 1988-11-22 | Ikos Systems, Inc. | Glitch detection by forcing the output of a simulated logic device to an undefined state |
JPS63223869A (ja) * | 1987-03-13 | 1988-09-19 | Hitachi Ltd | プログラム生成方法 |
US5329471A (en) * | 1987-06-02 | 1994-07-12 | Texas Instruments Incorporated | Emulation devices, systems and methods utilizing state machines |
US5025364A (en) * | 1987-06-29 | 1991-06-18 | Hewlett-Packard Company | Microprocessor emulation system with memory mapping using variable definition and addressing of memory space |
JP2589713B2 (ja) * | 1987-11-20 | 1997-03-12 | 株式会社日立製作所 | データプロセッサ及びデータ処理システム |
US4868822A (en) * | 1988-02-19 | 1989-09-19 | John Fluke Mfg. Co., Inc. | Memory emulation method and system for testing and troubleshooting microprocessor-based electronic systems |
US5377123A (en) * | 1992-06-08 | 1994-12-27 | Hyman; Edward | Programmable logic device |
US4914612A (en) * | 1988-03-31 | 1990-04-03 | International Business Machines Corporation | Massively distributed simulation engine |
AU4347189A (en) * | 1988-10-05 | 1990-05-01 | Mentor Graphics Corporation | Method of using electronically reconfigurable gate array logic and apparatus formed thereby |
US5452231A (en) * | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
US5329470A (en) * | 1988-12-02 | 1994-07-12 | Quickturn Systems, Inc. | Reconfigurable hardware emulation system |
US5109353A (en) * | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
US4984213A (en) * | 1989-02-21 | 1991-01-08 | Compaq Computer Corporation | Memory block address determination circuit |
US5031129A (en) * | 1989-05-12 | 1991-07-09 | Alcatel Na Network Systems Corp. | Parallel pseudo-random generator for emulating a serial pseudo-random generator and method for carrying out same |
US5068812A (en) * | 1989-07-18 | 1991-11-26 | Vlsi Technology, Inc. | Event-controlled LCC stimulation |
US5084824A (en) * | 1990-03-29 | 1992-01-28 | National Semiconductor Corporation | Simulation model generation from a physical data base of a combinatorial circuit |
US5259006A (en) * | 1990-04-18 | 1993-11-02 | Quickturn Systems, Incorporated | Method for substantially eliminating hold time violations in implementing high speed logic circuits or the like |
US5345580A (en) * | 1990-11-29 | 1994-09-06 | Kabushiki Kaisha Toshiba | Microprocessor device and emulator device thereof |
FR2670299B1 (fr) * | 1990-12-07 | 1993-01-22 | Thomson Composants Militaires | Circuit integre avec controleur de test peripherique. |
US5114353A (en) * | 1991-03-01 | 1992-05-19 | Quickturn Systems, Incorporated | Multiple connector arrangement for printed circuit board interconnection |
US5321828A (en) * | 1991-06-07 | 1994-06-14 | Step Engineering | High speed microcomputer in-circuit emulator |
US5291584A (en) * | 1991-07-23 | 1994-03-01 | Nexcom Technology, Inc. | Methods and apparatus for hard disk emulation |
US5325365A (en) * | 1991-10-04 | 1994-06-28 | John Fluke Mfg. Co., Inc. | In a memory emulation test apparatus, a method of and system for fast functional testing of memories in microprocessor-based units |
JP2941135B2 (ja) * | 1992-01-24 | 1999-08-25 | 富士通株式会社 | 疑似lsi装置及びそれを用いたデバッグ装置 |
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 |
US5475624A (en) * | 1992-04-30 | 1995-12-12 | Schlumberger Technologies, Inc. | Test generation by environment emulation |
JP3620860B2 (ja) * | 1992-06-05 | 2005-02-16 | 株式会社メガチップス | シミュレーション装置 |
US5352123A (en) * | 1992-06-08 | 1994-10-04 | Quickturn Systems, Incorporated | Switching midplane and interconnection system for interconnecting large numbers of signals |
US5331571A (en) * | 1992-07-22 | 1994-07-19 | Nec Electronics, Inc. | Testing and emulation of integrated circuits |
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 |
US5452239A (en) * | 1993-01-29 | 1995-09-19 | Quickturn Design Systems, Inc. | Method of removing gated clocks from the clock nets of a netlist for timing sensitive implementation of the netlist in a hardware emulation system |
US5515525A (en) * | 1993-09-28 | 1996-05-07 | Bull Hn Information Systems Inc. | Emulating the memory functions of a first system on a second system |
US5640542A (en) * | 1993-10-29 | 1997-06-17 | Intel Corporation | On-chip in-circuit-emulator memory mapping and breakpoint register modules |
US5473765A (en) * | 1994-01-24 | 1995-12-05 | 3Com Corporation | Apparatus for using flash memory as a floppy disk emulator in a computer system |
US5448522A (en) * | 1994-03-24 | 1995-09-05 | Quickturn Design Systems, Inc. | Multi-port memory emulation using tag registers |
US5551013A (en) * | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
-
1996
- 1996-02-06 US US08/597,197 patent/US5819065A/en not_active Expired - Lifetime
-
1997
- 1997-02-05 EP EP97101802A patent/EP0789311B1/en not_active Expired - Lifetime
- 1997-02-05 DE DE69737757T patent/DE69737757T2/de not_active Expired - Lifetime
- 1997-02-06 JP JP05975397A patent/JP3995751B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006294033A (ja) * | 2005-04-06 | 2006-10-26 | Quickturn Design Syst Inc | 異なるメモリシステム間での簡潔なマッピングを提供するためのシステム及び方法 |
JP2007305126A (ja) * | 2006-05-12 | 2007-11-22 | Samsung Electronics Co Ltd | 状態回復を有する回路エミュレーション |
KR101282963B1 (ko) * | 2006-05-12 | 2013-07-08 | 삼성전자주식회사 | 에뮬레이션 시스템 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
EP0789311A2 (en) | 1997-08-13 |
DE69737757T2 (de) | 2008-01-31 |
EP0789311A3 (en) | 2001-03-28 |
DE69737757D1 (de) | 2007-07-12 |
JP3995751B2 (ja) | 2007-10-24 |
EP0789311B1 (en) | 2007-05-30 |
US5819065A (en) | 1998-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3995751B2 (ja) | メモリをエミュレートするためのシステム及び方法 | |
EP0931380B1 (en) | Reconfigurable computing system | |
US4787061A (en) | Dual delay mode pipelined logic simulator | |
US6629296B1 (en) | Functional verification of integrated circuit designs | |
US4819150A (en) | Array for simulating computer functions for large computer systems | |
JPH07334384A (ja) | 多重プロセッサ・エミュレーション・システム | |
US5574692A (en) | Memory testing apparatus for microelectronic integrated circuit | |
JPH0680511B2 (ja) | シミユレーシヨン・エンジン | |
EP0665998A1 (en) | Microprocessor-based fpga | |
US5832251A (en) | Emulation device | |
US4296467A (en) | Rotating chip selection technique and apparatus | |
US4333142A (en) | Self-configurable computer and memory system | |
GB2216306A (en) | Load and synchronize computer architecture and process | |
JP2005524852A (ja) | 多目的メモリを有するテスタシステム | |
US8090568B2 (en) | Hardware emulator having a variable input primitive | |
US20010025238A1 (en) | Emulation system and method | |
US6144930A (en) | Method for providing a memory model of a memory device for use in simulation | |
US7043417B1 (en) | High speed software driven emulator comprised of a plurality of emulation processors with improved multiplexed data memory | |
JPH0462648A (ja) | 記憶装置 | |
JP2824853B2 (ja) | パターンデータ書込み方式 | |
JPH03128475A (ja) | 論理テスト機能付き論理回路 | |
JPH0311435B2 (ja) | ||
JPH023147B2 (ja) | ||
JPH01217531A (ja) | キャッシュメモリシステムのテスト方法 | |
JPH1145208A (ja) | データバスインタフェース制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060425 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060725 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060728 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061025 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070801 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130810 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |