DE19510902A1 - Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern - Google Patents

Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern

Info

Publication number
DE19510902A1
DE19510902A1 DE19510902A DE19510902A DE19510902A1 DE 19510902 A1 DE19510902 A1 DE 19510902A1 DE 19510902 A DE19510902 A DE 19510902A DE 19510902 A DE19510902 A DE 19510902A DE 19510902 A1 DE19510902 A1 DE 19510902A1
Authority
DE
Germany
Prior art keywords
memory
gate
write
read
data
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.)
Ceased
Application number
DE19510902A
Other languages
English (en)
Inventor
Thomas B Huang
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
Application filed by Quickturn Design Systems Inc filed Critical Quickturn Design Systems Inc
Publication of DE19510902A1 publication Critical patent/DE19510902A1/de
Ceased legal-status Critical Current

Links

Classifications

    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups

Description

Hintergrund der Erfindung 1. Gebiet der Erfindung
Die vorliegende Erfindung bezieht sich auf eine Emulation (Nachbildung) von Hardware im allgemeinen und betrifft die Emulation von Mehrtor-Speichern im besonderen.
2. Beschreibung des Standes der Technik
Beim Entwurf von integrierten Schaltungen werden verschiedenste Werkzeuge verwendet. Dazu gehören Systeme zur Emulation von Hardware. Beispiele für solche Emulationssysteme sind in den US-Patenten Nr. 5 109 353 (Sample et al.) und 5 036 473 (Butts et al.) beschrieben, die beide in die vorliegende Offenbarung durch Bezugnahme aufgenommen werden.
Beim Entwurf von integrierten Schaltungen wird eine Netzwerk-Beschreibungsliste des integrierten Schaltkreises erzeugt. Die Netzwerkliste ist eine Beschreibung der Bauelemente und elektrischen Verbindungen des integrierten Schaltkreises. Sie kann dazu verwendet werden, alle erforderlichen Masken für die tatsächliche Herstellung des integrierten Schaltkreises zu erstellen.
Wie in den Patenten von Sample et al. und Butts et al. beschrieben, kann die Emulationstechnologie verwendet werden, um sicherzustellen, daß der im Entwurf befindliche integrierte Schaltkreis in dem System, in das er eingebaut werden wird, tatsächlich funktioniert. Typische rekonfigurierbare Emulationssysteme bestehen aus einer Vielzahl von untereinander verbundenen rekonfigurierbaren Logikeinrichtungen, wie z. B. feldprogrammierbaren Gatteranordnungen (FPGA).
Rekonfigurierbare Logikeinrichtungen sind für die Emulation der Logikschaltkreise eines gegebenen integrierten Schaltkreises ideal. Neuzeitliche integrierte Schaltkreise, wie Mikroprozessoren, enthalten jedoch auch Speicherschaltungen, deren richtige Emulation schwierig sein kann. Außerdem weist der Aufbau der Speicherschaltungen häufig mehrere Zugriffs-Tore auf, deren richtige Emulation noch schwieriger ist.
Typische Speicherschaltkreise sind so ausgelegt, daß sie eine Mehrzahl von Speicherplätzen aufweisen. Jeder Speicherplatz kann eine bestimmte Anzahl von Bits speichern. Klassifiziert werden Speicherschaltkreise normalerweise nach der Anzahl ihrer Speicherplätze (häufig als "Tiefe" des Speicherschaltkreises bezeichnet) und nach der Anzahl der Bits, die pro Speicherplatz gespeichert werden können (häufig als "Breite" des Speicherschaltkreises bezeichnet). Deshalb würde ein Speicherschaltkreis mit 32 Speicherplätzen, die jeweils acht Bits enthalten, als "32×8"-Speicherschaltkreis bezeichnet werden. Wenn der Speicherschaltkreis mehrere Zugriffs-Tore aufweist, wird er ferner durch die Anzahl an Schreib-Toren und die Anzahl an Lese-Toren definiert.
Bei einem herkömmlichen Speicher mit mehreren Zugriffs- Toren können Daten über verschiedene Tore in Speicherplätze eingeschrieben werden. Jedes Schreib-Tor kann auf jeden Speicherplatz zugreifen, und jedes Schreib-Tor kann zur selben Zeit schreiben. Jedoch ist es nicht möglich, daß verschiedene Tore gleichzeitig Daten in denselben Speicherplatz einschreiben. Ebenso kann jedes Lese-Tor auf jeden Speicherplatz zugreifen, und jedes Lese-Tor kann Daten zur selben Zeit lesen. Im Unterschied zu den Schreib-Toren können verschiedene Lese-Tore jedoch gleichzeitig Daten von derselben Adresse lesen.
Neuere Generationen von rekonfigurierbaren Logikeinrichtungen besitzen die Fähigkeit, innerhalb ihrer konfigurierbaren Logikblöcke (CLB) Speicherschaltkreise zu konfigurieren. Eine solche rekonfigurierbare Logikeinrichtung ist die XC4000-Familie von Xilinx, Inc., San Jose, Kalifornien. In der XC4000-Familie kann jeder CLB einen statischen 16 mal 2- oder 32 mal 1-Schreib-Lese-Speicher (RAM) bilden. Jedoch besteht keine Möglichkeit zur Bildung eines Mehrtor-Speichers.
Ein Beispiel für ein Verfahren zur Ausbildung von Mehrtor- Speicherschaltkreisen in einem Emulationssystem ist in der anhängigen US-Patentanmeldung mit der Seriennummer 08/067571 unter der Bezeichnung Multi-Port Memory Emulation (Emulation eines Mehrtor-Speichers) beschrieben. Diese parallel anhängige Anmeldung wird hiermit durch Bezugnahme in die vorliegende Offenbarung aufgenommen. Dieses Verfahren wandelt die in der Netzwerkliste enthaltenen Transistorpegel-Definitionen des Speichers in logische Definitionen um, um den Speicher im Rahmen einer Xilinx-FPGA auszubilden.
Dieses Verfahren nimmt jedoch einen großen Teil der CLB- Kapazität des Emulationssystems in Anspruch. Deshalb wäre es wünschenswert, zur Emulation von Mehrtor-Speichern über ein Verfahren zu verfügen, das nicht eine große Zahl von CLBs in Anspruch nimmt.
Kurzfassung der Erfindung
Die vorliegende Erfindung überwindet die Probleme und Nachteile des Standes der Technik durch eine einzigartige Methode, bei der die Speicheranordnung des emulierten Mehrtor- Speicherschaltkreises vervielfältigt wird und innerhalb der vervielfältigten Speicheranordnungen die Speicherplätze markiert werden, in die Daten eingeschrieben wurden, nachdem in dieselben Speicherplätze bereits im Rahmen eines anderen Speicheranordnungs-Duplikats Daten eingeschrieben worden waren.
Die vorstehenden und weitere bevorzugte Merkmale der Erfindung, einschließlich verschiedener neuer Einzelheiten der Verwirklichung und Kombinationen von Elementen, werden nachstehend unter Bezugnahme auf die beiliegenden Zeichnungen näher beschrieben und in den Ansprüchen hervorgehoben. Es versteht sich, daß die einzelnen Ausführungsformen der erfindungsgemäßen Verfahren und Schaltungsanordnungen nur zur Veranschaulichung und nicht als Beschränkung der Erfindung gezeigt sind. Wie für einschlägige Fachleute ersichtlich, können die Grundsätze und Merkmale der vorliegenden Erfindung in verschiedensten und zahlreichen Ausführungsformen Verwendung finden, ohne den Rahmen der Erfindung zu verlassen.
Kurzbeschreibung der Zeichnungsfiguren
Es wird auf die beiliegenden Zeichnungen Bezug genommen, in denen veranschaulichende Ausführungsbeispiele erfindungsgemäßer Gesichtspunkte gezeigt sind, aus denen neue Merkmale und Vorteile hervorgehen.
Fig. 1 ist ein Blockschaltbild eines mehrtorigen Schreib- Lese-Speicherschaltkreises.
Fig. 2 ist ein Stromlaufplan eines konfigurierbaren Logikblocks einer feldprogrammierbaren Gatteranordnung nach der Bauart von Xilinx.
Fig. 3 ist ein Flußdiagramm einer Ausführungsform der vorliegenden Erfindung zur Emulation von Mehrtor- Speicherschaltkreisen.
Fig. 4a ist ein Blockschaltbild eines mehrtorigen Schreib- Lese-Speicherschaltkreises, der mit erfindungsgemäßen Schreibtor- und Lesetor-Speicheranordnungen verwirklicht ist.
Fig. 4b ist ein Blockschaltbild eines Teils der Markierregister, die bei der Emulation des in Fig. 4a gezeigten mehrtorigen Schreib-Lese-Speicherschaltkreises verwendet werden.
Fig. 4c ist ein Blockschaltbild eines Teils der Markierregister, die bei der Emulation des in Fig. 4a gezeigten mehrtorigen Schreib-Lese-Speicherschaltkreises verwendet werden.
Fig. 4d ist ein Blockschaltbild eines Teils der Markierregister, die bei der Emulation des in Fig. 4a gezeigten mehrtorigen Schreib-Lese-Speicherschaltkreises verwendet werden.
Fig. 5 ist ein Schaubild, das zeigt, wieso es wichtig ist, die zuletzt eingeschriebenen Daten für einen gegebenen Speicherplatz zu überwachen.
Fig. 6a und 6b sind ein Blockschaltbild eines Ausführungsbeispiels für einen Mehrtor-Speicherschaltkreis auf der Grundlage des vorliegenden Erfindungsgedankens.
Eingehende Beschreibung der Zeichnungsfiguren
Unter Bezugnahme auf die Zeichnungsfiguren wird nachstehend das gegenwärtig bevorzugte Verfahren der Erfindung beschrieben.
Fig. 1 zeigt einen Mehrtor-Speicherschaltkreis 10 nach dem Stand der Technik. Der Schaltkreis nach Fig. 1 enthält zwei Schreib-Tore 12 und 14 sowie drei Lese-Tore 16, 18 und 20. Die Schreib-Tore 12 und 14 können in jeden beliebigen Speicherplatz innerhalb der Speicheranordnung 22 des Speicherschaltkreises 10 schreiben, und die Lese-Tore 16, 18 und 20 können aus jedem beliebigen Speicherplatz innerhalb der Speicheranordnung 22 des Speicherschaltkreises 10 lesen. Die Anzahl an Schreib-Toren und die Anzahl an Lese-Toren in Fig. 1 ist nur ein Beispiel. Ein Mehrtor-Speicherschaltkreis kann weniger oder mehr Schreib- und Lese-Tore als dargestellt aufweisen.
Fig. 2 zeigt einen Stromlaufplan eines konfigurierbaren Logikblocks (CLB) 30 einer rekonfigurierbaren Logikeinrichtung aus der XC4000-Familie. Der CLB 30 umfaßt Funktionsgeneratoren 32 und 34. Diese Funktionsgeneratoren 32 und 34 enthalten Nachschlage-Tabellen, die verwendet werden, wenn logische Funktionen nachgebildet werden. Wenn in den CLBs 30 Speicherschaltkreise nachgebildet werden, arbeiten die in ihnen enthaltenen Nachschlage-Tabellen als statischer Schreib-Lese- Speicher (statisches RAM). Wenn jedoch die Funktionsgeneratoren in jedem CLB 30 als RAM arbeiten, sind sie zur Nachbildung von Mehrtor-Speicherschaltkreisen nicht in der Lage.
Um in einem Emulationssystem Mehrtor-Speicherschaltkreise zu bilden, werden die CLBs als Einzeltor-Speicherschaltkreise verwendet. Jedoch werden die Einzeltor-Speicherschaltkreise so eingesetzt, daß sie einen Mehrtor-Speicherschaltkreis nachbilden.
Ein Flußdiagramm einer Ausführungsform der vorliegenden Erfindung ist in Fig. 3 dargestellt. Fig. 3 zeigt, daß bei einem erfindungsgemäßen Ausführungsbeispiel ein Schritt 1000 darin besteht, die Netzwerk-Beschreibungsliste des zu emulierenden Schaltungsaufbaus zu importieren. In Schritt 1100 stellt das System fest, daß in einer Netzwerkliste ein Speicherzugriff auftritt, der definiert werden muß. Dies liegt daran, daß die zu emulierenden Speicherschaltkreise im allgemeinen mit Transistoren ausgebildet sind, die von Emulationssystemen normalerweise nicht gehandhabt werden können. Die in Fig. 3 gezeigte Zugriffsdefinition betrifft einen Mehrtor-Speicherschaltkreis. Mehrfachzugriffs- Definitionen können für jede emulierte Netzwerkliste auftreten. Nach der Zugriffsdefinition 1100 wird in Schritt 1300 die Mehrtor-Speicherschaltungsanordnung 22 erzeugt. Zusätzlich zur Erzeugung 1300 der Anordnung 22 wird in Schritt 1200 die Markierungsanordnung erzeugt. Wie unten erläutert, umfaßt die Markierungsanordnung eine Mehrzahl von Markierregistern und eine diesen Registern zugeordnete Logikschaltung. Die Anzahl an Markierregistern wird bestimmt durch die Anzahl an Schreib- Toren des emulierten Mehrtor-Speicherschaltkreises multipliziert mit der Tiefe des emulierten Speicherschaltkreises. Nachdem die Speicheranordnung 22 im Schritt 1300 erzeugt worden ist, werden in Schritt 1400 Lesetor-Speicheranordnungen erzeugt. Dann, in Schritt 1500, werden die Schreibtor-Speicheranordnungen geschaffen. Für jedes Schreib-Tor des emulierten Mehrtor-Speicherschaltkreises gibt es eine Schreibtor-Speicheranordnung. Jedes Schreib-Tor besteht jeweils aus den im Schritt 1400 erzeugten Lesetor- Speicheranordnungen.
Nachdem die Schreibtor-Speicheranordnungen in 1500 geschaffen worden sind, werden sie mit der Markierungsanordnung verschmolzen, und in Schritt 1600 wird die Netzwerkliste für den im Schritt 1100 definierten Speicherzugriff erzeugt. In Schritt 1700 findet die Kompilierung zu einem Einzeltor- Speicher statt. Dieser Schritt 1700 kann die Speicherkompilierungssoftware verwenden, die von einem Verkäufer programmierbarer Logikschaltkreise, z. B. Xilinx, bereitgestellt wird. In Schritt 1800 wird die Netzwerkliste für den Einzeltor-Speicher erzeugt. In Schritt 1900 werden weitere Netzwerklisten kompiliert. Schließlich, in Schritt 2000, kann der Mehrtor-Speicherschaltkreis als Nachbildung im Zielsystem des emulierten Schaltkreises eingesetzt werden.
Bei der vorliegenden Erfindung wird die Speicheranordnung 22 des zu emulierenden Mehrtor-Speicherschaltkreises zunächst dupliziert. Wie viele Male die Speicheranordnung 22 dupliziert wird, hängt davon ab, wie viele Lese-Tore der zu emulierende Mehrtor-Speicherschaltkreis aufweist. Für jedes Lese-Tor, das der zu emulierende Mehrtor-Speicherschaltkreis aufweist, wird eine Lesetor-Speicheranordnung geschaffen. Jede Lesetor- Speicheranordnung besteht aus einer Kopie (einem Duplikat) der Speicheranordnung 22 und weist daher jeden der Speicherplätze der Speicheranordnung 22 auf. Lesetor-Speicheranordnungen werden erzeugt, indem jene Teile der Netzwerkliste dupliziert werden, welche die Speicheranordnung 22 beschreiben.
Nachdem die Lesetor-Speicheranordnungen geschaffen worden sind, werden Schreibtor-Speicheranordnungen erzeugt. Schreibtor-Speicheranordnungen werden für jedes Schreib-Tor des emulierten Mehrtor-Speicherschaltkreises geschaffen. Die Schreibtor-Speicheranordnungen weisen eine Kopie jeder Lesetor- Speicheranordnung auf, die jeweils für ein Lese-Tor dupliziert wurde. Jede Schreibtor-Speicheranordnung enthält daher eine Lesetor-Speicheranordnung pro Lese-Tor des emulierten Mehrtor- Speicherschaltkreises.
Ein Blockschaltbild hiervon ist in Fig. 4a dargestellt. Fig. 4a zeigt einen Mehrtor-Speicher 50 mit n Lese-Toren und m Schreib-Toren. Für jedes Lese-Tor werden Lesetor- Speicheranordnungen 52a, 52b, . . ., 52n als Vervielfältigung der eigentlichen Speicheranordnung 22 des emulierten Mehrtor- Speicherschaltkreises erstellt. Dann wird die Gesamtheit der Lesetor-Speicheranordnungen 52a, 52b, . . ., 52n für jedes Schreib-Tor vervielfältigt, wodurch Schreibtor- Speicheranordnungen 54a, 54b, . . ., 54m entstehen. Insbesondere besteht die Schreibtor-Speicheranordnung 54a aus Lesetor- Speicheranordnungen 52a, 52b, . . ., 52n. Die Schreibtor- Speicheranordnung 54b besteht aus Lesetor-Speicheranordnungen 52a¹, 52b¹, . . ., 52n¹. Die Schreibtor-Speicheranordnung 54m besteht aus Lesetor-Speicheranordnungen 52am, 52bm, . . ., 52nm. Diese Architektur ermöglicht es, wie nachstehend erörtert, Daten durch eine Mehrzahl von Schreib-Toren zu schreiben und aus einer Mehrzahl von Lese-Toren zu lesen.
Wenn Daten in einen Speicherplatz in einem Mehrtor- Speicherschaltkreis - wie jenem gemäß Fig. 1 - eingeschrieben werden, ersetzen die einzuschreibenden Daten die in dem Speicherplatz vorhandenen Daten. Bei dem Mehrtor- Speicherschaltkreis nach der vorliegenden Erfindung ist es jedoch nicht möglich, die Daten im Speicherplatz zu ersetzen, da dieser Speicherplatz in zahlreiche Lesetor- Speicheranordnungen vervielfältigt worden ist. Wenn die in einen gegebenen Speicherplatz einzuschreibenden Daten überall, wo dieser Speicherplatz als Duplikat vorliegt, an die Stelle der vorher vorhandenen Daten treten würden, wäre das System zu langsam, als daß es noch praktisch einsetzbar wäre. Wenn daher Daten in einen Speicherplatz durch ein gegebenes Schreib-Tor eingeschrieben werden sollen, werden die Daten in diesen Speicherplatz in jeder der duplizierten Lesetor­ speicheranordnungen geschrieben, welche zu der Schreibtor­ speicheranordnung gehören, die dem eigentlichen Schreib-Tor zugeordnet ist, welches den Schreibvorgang durchführt. Jedoch werden die Daten nicht in die anderen Lesetor­ speicheranordnungen eingeschrieben, welche die den Schreibvorgang nicht durchführenden Schreibtor­ speicheranordnungen enthalten.
Diese Anordnung erlaubt eine vollständige Emulation von Mehrtor-Speicherschaltkreisen auch im Rahmen solcher programmierbarer Logikschaltungen, die nur Einzeltor­ speicherschaltkreise bieten. Da Daten jedoch nur in die Lesetor-Speicheranordnungen 52am, 52bm, . . ., 52nm derjenigen schreibtor-Speicheranordnung 54m geschrieben werden, welche die Daten schrieb, ist es möglich, daß ein gegebener Speicherplatz innerhalb einer der Lesetor-Speicheranordnungen 52nm in einer gegebenen schreibtor-Speicheranordnung 54m andere Daten enthält als der gleiche Speicherplatz in einer duplizierten Lesetor­ speicheranordnung, zum Beispiel 52a¹, welche zu einer anderen schreibtor-Speicheranordnung, z. B. 54b, gehört. Daher ist es von entscheidender Bedeutung, daß die Systemarchitektur so ausgebildet ist, daß die Lese-Tore 56a, 56b, . . ., 56n diejenigen für einen gegebenen Speicherplatz bestimmten Daten lesen, die zuletzt eingeschrieben wurden.
Das erste Lese-Tor 56a erhält Eingangssignale von den ersten Lesetor-Speicheranordnungen 52a, 52a¹, . . ., 52am, die jeweils in den Schreibtor-Speicheranordnungen 54a, 54b, . . ., 54m enthalten sind. Jeder aus den Lesetor-Speicheranordnungen 52a, 52a¹, . . ., 52am kommende Eingang ist mit einem Treiber 60 Wm_Rn verbunden. Das zweite Lese-Tor 56b erhält Eingangssignale von den zweiten Lesetor-Speicheranordnungen 52b, 52b¹, . . . , 52bm, die jeweils in den Schreibtor-Speicheranordnungen 54a, 54b, . . ., 54m enthalten sind. Das n-te Lese-Tor 56n erhält Eingangssignale von den n-ten Lesetor-Speicheranordnungen 52n, 52n¹, . . ., 52nm, die jeweils in den Schreibtor­ speicheranordnungen 54a, 54b, . . ., 54m enthalten sind.
Unter Bezugnahme auf Fig. 5 wird ein Beispiel dafür gezeigt, wieso es von kritischer Bedeutung ist, daß die Lese- Tore die für einen gegebenen Speicherplatz zuletzt geschriebenen Daten lesen. Wenn Daten für einen gegebenen Speicherplatz über das erste Schreib-Tor geschrieben werden, werden sie in den betreffenden Speicherplatz jeder Lesetor­ speicheranordnung dieser bestimmten Schreibtor­ speicheranordnung eingeschrieben, was in diesem Beispiel durch einen Stern (*) dargestellt ist. Wenn dann über das zweite Schreib-Tor Daten in denselben Speicherplatz eingeschrieben werden, werden die Daten in diesen Speicherplatz jeder Lesetor­ speicheranordnung nur dieser gegebenen Schreibtor­ speicheranordnung eingeschrieben, was in diesem Beispiel durch ein Kreuz (X) dargestellt ist. Mithin enthält der gleiche Speicherplatz in den beiden Schreibtor-Speicheranordnungen verschiedene Daten. Damit die Emulation des Mehrtor­ speicherschaltkreises korrekt ist, müssen von dem ausgewählten Lese-Tor die zuletzt in den Speicherplatz eingeschriebenen Daten gelesen werden, während die älteren Daten ignoriert werden müssen.
Um sicherzustellen, daß das ausgewählte Lese-Tor Daten aus dem Speicherplatz der richtigen Lesetor-Speicheranordnung liest, werden eine Reihe von Markierregistern verwendet. Markierregister werden eingesetzt, um sicherzustellen, daß aus dem emulierten Speicherschaltkreis nur die zuletzt für einen gegebenen Speicherplatz geschriebenen Daten gelesen werden. Die Anzahl an benötigten Markierregistern wird durch die Tiefe und die Anzahl an Schreib-Toren des zu emulierenden Mehrtor­ speicherschaltkreises bestimmt.
Die Architektur der Markierregister wird nachstehend unter Bezugnahme auf die Fig. 4a bis 4d beschrieben. Wie erläutert, bestimmt sich die Anzahl an Markierregistern durch Multiplikation der Anzahl an Schreib-Toren mit der Anzahl an Speicherplätzen. Bei dem in Fig. 4a gezeigten Mehrtor-Speicher sind m Schreib-Tore und x Speicherplätze vorhanden. Daher gibt es m*x Markierregister. Die Fig. 4b bis 4d zeigen den Aufbau der Markierregister. Diese sind so angeordnet, daß die Markierregister, die einer bestimmten Schreibtor­ speicheranordnung zugeordnet sind, zu einer Gruppe zusammengefaßt sind. Wie unten gezeigt, kann jedes Markierregister durch ein Flip-Flop mit Setz- und Rücksetzeingang gebildet sein.
Fig. 4b zeigt die der Schreibtor-Speicheranordnung 54a zugeordneten Markierregister. Fig. 4c zeigt die der Schreibtor­ speicheranordnung 54b zugeordneten Markierregister. Fig. 4d zeigt die der Schreibtor-Speicheranordnung 54m zugeordneten Markierregister. Für jeden Speicherplatz in einer Schreibtor­ speicheranordnung gibt es ein Markierregister. So wird in Fig. 4b das Markierregister 100a¹ dazu verwendet, die Daten zu markieren, die in den ersten Speicherplatz in der ersten Schreibtor-Speicheranordnung 54a geschrieben werden, wenn es die Daten sind, die als letzte in diesen Speicherplatz eingeschrieben wurden. Da für jeden Speicherplatz der Schreibtor-Speicheranordnung ein Markierregister erzeugt wird, kann eine beliebige Anzahl von Markierregistern geschaffen werden, bis hin zu einem Markierregister 100x¹. Die Markierregister 100a¹, 100a² und 100am gewährleisten, daß durch die Lese-Tore die in den ersten Speicherplatz zuletzt eingeschriebenen Daten gelesen werden. Die Markierregister 100x¹, 100x² und 100xm gewährleisten, daß durch die Lese-Tore die in den x-ten Speicherplatz zuletzt eingeschriebenen Daten gelesen werden.
Die Eingangslogik zu jedem Markierregister 100a¹ . . . 100x¹, 100a² . . . 100x², und 100am . . . 100xm ist folgende. Der Ausgang eines ersten UND-Gatters 105a¹ . . . 105x¹, 105a² . . . 105x², und 105am . . . 105xm, das Eingänge für alle Schreibfreigaben - also Schreibfreigabe Nr. 1 (W₁), Schreibfreigabe Nr. 2 (W₂) Schreibfreigabe Nr. m (Wm) - aufweist, wird einem Eingang eines zweiten UND-Gatters 110a¹ . . . 110x¹, 110a² . . . 110x², bzw. 110am . . . 110xm zugeführt. Die ersten UND-Gatter 105a¹ . . . 105x¹, die den Markierregistern 100a¹ . . . 100x¹ für den ersten bis x-ten Speicherplatz in der ersten Schreibtor-Speicheranordnung zugeordnet sind, empfangen den W₁-Eingang nicht-invertiert, während die Eingangssignale W₂ . . . Wm invertiert werden. Die zweiten UND-Gatter 105a² . . . 105x², die den Markierregistern 100a² . . . 100x² für den ersten bis x-ten Speicherplatz in der zweiten Schreibtor-Speicheranordnung zugeordnet sind, empfangen den W₂-Eingang nicht-invertiert, während die Eingangssignale W₁ . . . Wm invertiert werden. Schließlich empfangen die m-ten UND- Gatter 105am . . . 105xm, die den Markierregistern 100am . . . 100xm für den ersten bis x-ten Speicherplatz in der m-ten Schreibtor­ speicheranordnung zugeordnet sind, den Wm-Eingang nicht­ invertiert, während die Eingangssignale W₁ . . . W₂ invertiert werden.
Das zweite Eingangssignal des zweiten UND-Gatters 110a¹ . . . 110x¹, 110a² . . . 110x², bzw. 110am . . . 110xm ist die Schreibfreigabe für den betreffenden Speicherplatz in der Schreibtor-Speicheranordnung, zum Beispiel W₁L₁, d. h. die Schreibfreigabe für den ersten Speicherplatz. Der Ausgang des zweiten UND-Gatters 110a¹ . . . 110x¹, 110a² . . . 110x², bzw. 110am . . . 110xm ist das Setzsignal für den betreffenden Speicherplatz, für welches die Bezeichnung SmLx vereinbart wird, worin m das betreffende Schreib-Tor und x den betreffenden Speicherplatz bedeutet. Dieses Signal SmLx wird den Setz-Eingängen der Markierregister 100a¹ . . . 100x¹, 100a² . . . 100x², und 100am . . . 100xm zugeführt.
Der Ausgang eines ersten ODER-Gatters 115a¹ . . . 115x¹, 115a² . . . 115x², bzw. 115am . . . 115xm wird dem Rücksetz-Eingang der Markierregister 100a¹ . . . 100x¹, 100a² . . . 100x², bzw. 100am 100xm zugeführt. Die Eingangssignale für das erste ODER-Gatter 115a¹ . . . 115x¹, 115a² . . . 115x², und 115am . . . 115xm sind die Setz-Signale SmLx, die denjenigen Markierregistern zugeführt werden, die demselben Speicherplatz für die weiteren Tore zugeordnet sind.
Der Ausgang jedes Markierregisters 100a¹ . . . 100x¹, 100a² . . . 100x², und 100am . . . 100xm ist einem Schreib-Tor, einem Lese-Tor und einem Speicherplatz zugeordnet und zeigt an, ob ein bestimmter Speicherplatz einer Lesetor-Speicheranordnung in einer Schreibtor-Speicheranordnung die in den betreffenden Speicherplatz zuletzt eingeschriebenen Daten enthält. Deshalb bilden die Markierregister eine dreidimensionale Anordnung, nämlich eine Schreibtor-Dimension, eine Lesetor-Dimension und eine Speicherplatz-Dimension. Die in der vorliegenden Anmeldung verwendete Vereinbarung für die Bezeichnung der Ausgänge der Markierregister lautet MARKETWm_Rn_Lxt. Da die durch ein bestimmtes Schreib-Tor geschriebenen Daten in den gleichen Speicherplatz jeder Lesetor-Speicheranordnung der betreffenden Schreibtor­ speicheranordnung geschrieben werden, ist das Ausgangssignal aller Markierregister so aufgespalten, daß für jede Lesetor­ speicheranordnung eine MARKEWm_Rn_Lx erzeugt wird. In Fig. 4b zum Beispiel erzeugt das Ausgangssignal des Markierregisters 100a¹ die MARKEW1_R1_L1, die MARKEW1_R2_L1 bis zur MARKEW1_Rn_L1.
Die Ausgangssignale MARKEWm_Rn_Lx der Markierregister 100a¹ . . . 100x¹, 100a² . . . 100x², und 100am . . . 100xm werden einem Eingang eines dritten UND-Gatters 120 Wm_Rn_Lx zugeführt. Der andere Eingang des drittens UND-Gatters 120 Wm_Rn_Lx ist die Lesefreigabe für den Speicherplatz, welcher der MARKEWm_Rn_Lx zugeordnet ist. Zum Beispiel werden die Ausgangssignale des Markierregisters 100a¹, die als MARKEW1_R1_L1, MARKEW1_R2_L1, . . . MARKEW1_Rn_L1 bezeichnet werden, da sie jeweils den ersten Speicherplatz in der ersten, zweiten, . . . n-ten Lesetor­ speicheranordnung innerhalb der ersten Schreibtor­ speicheranordnung 54a markieren, den dritten UND-Gattern 120 W1_R1_L1, 120 W1_R2_L1 bzw. 120 W1_Rn_L1 zugeführt. Die Lesefreigaben R₁L₁, R₂L₁, . . . RnL₁ für die ersten Speicherplätze bilden die weiteren Eingangssignale der dritten UND-Gatter 120 W1_R1_L1, 120 W1_R2_L1 bzw. 120 W1_Rn_L1.
Die dritten UND-Gatter 120 Wm_Rn_Lx sind so angeordnet, daß diejenigen unter ihnen, die einer bestimmten Lesetor­ speicheranordnung einer bestimmten Schreibtor-Speicheranordnung zugeordnet sind, ihre Ausgangssignale an ein spezifisches zweites ODER-Gatter 125 Wm_Rn senden. Zum Beispiel ist der Ausgang des dritten UND-Gatters 120 W1_R1_L1 ein Eingang des zweiten ODER- Gatters 125 W1_R1. Außerdem ist der Ausgang des dritten UND- Gatters 120 W1_R1_Lx ein Eingang desselben zweiten ODER-Gatters 125 W1_R1.
Die Ausgänge der verschiedenen zweiten ODER-Gatter 125 Wm_Rn bilden ein Markierungs-Ausgangssignal MARKEWm_Rn, das angibt, ob die Lesetor-Speicheranordnung der betreffenden Schreibtor­ speicheranordnung die für einen Speicherplatz zuletzt geschriebenen Daten enthält. Diese Ausgänge MARKEWm_Rn der zweiten ODER-Gatter 125 Wm_Rn werden den verschiedenen Treibern 60 Wm_Rn der Lese-Tore 56a, 56b, . . . 56n zugeführt und geben den Treiber entweder frei, wenn die mit ihm verbundene Lesetor­ speicheranordnung die für einen Speicherplatz zuletzt geschriebenen Daten enthält, oder sperrt den Treiber, wenn die Lesetor-Speicheranordnung für den betreffenden Speicherplatz die für den Speicherplatz zuletzt geschriebenen Daten nicht enthält.
Die Markierregister 100a¹ . . . 100x¹, 100a² . . . 100x², und 100am . . . 100xm gewährleisten, daß nur die für einen Speicherplatz zuletzt geschriebenen Daten aus dem gewählten Lese-Tor gelesen werden. Wenn zum Beispiel am ersten Schreib- Tor 54a eine Schreibfreigabe (W₁) auftritt, um eine logische "Eins" in den ersten Speicherplatz (L₁) zu schreiben, würde das erfindungsgemäße Emulationssystem eine logische "Eins" in den jeweiligen ersten Speicherplatz L₁ aller Lesetor­ speicheranordnungen 52a, 52b, . . . 52n einschreiben. Während der Zeit, in welcher der Schreibvorgang abläuft, werden die gelesenen Ausgangssignale durch eine Riegelschaltung (siehe das Beispiel in den Fig. 6a bis 6b) zwischengespeichert, um sicherzustellen, daß die gelesenen Daten nicht zum Einschreiben weitergeleitet werden, falls eine Lesefreigabe und eine Schreibfreigabe zur gleichen Zeit auftreten sollten.
Zur selben Zeit, in der die Daten in die Lesetor­ speicheranordnungen 52a, 52b, . . . 52n geschrieben werden, wird an die Markierregister das Schreibfreigabesignal für den betreffenden Speicherplatz gesandt. Dieses Schreibfreigabesignal W₁ wird allen ersten UND-Gattern 105a¹ . . . 105x¹, 105a² . . . 105x², und 105am . . . 105xm eingegeben. Da W₁ "wahr" ist und W₂ und W₃ von "falsch" zu "wahr" invertiert werden, ist das Ausgangssignal der ersten UND-Gatter 105105x¹, die der ersten Schreibtor-Speicheranordnung 54a zugeordnet sind, "wahr" (man beachte, daß das Signal W₁ auch allen anderen ersten UND-Gattern 105a² . . . 105x², 105am . . . 105xm zugeführt wird; da aber das "wahre" Signal W₁ in diese UND-Gatter 105a² . . . 105x², 105am . . . 105xm invertiert eingeht, muß das Ausgangssignal dieser anderen UND-Gatter 105a² . . . 105x², 105am . . . 105xm "falsch" lauten). Da W₁L₁ "wahr" ist, während W₁Lx "falsch" ist (weil eine Schreibfreigabe nur für L₁ aufgetreten ist), wird nur das Ausgangssignal des zweiten UND- Gatters 110a¹, das dem ersten Speicherplatz zugeordnet ist, "wahr" lauten. Mithin wird das Signal S₁L₁ "wahr" sein, so daß an den "Setz"-Eingang des Markierregisters 100a¹ ein "wahres" Signal angelegt wird. Da gleichzeitig die Signale S₂L₁ und SmL₁ "falsch" sind, legt das erste ODER-Gatter 115a¹ ein "falsches" Signal an den RÜCKSETZ-Eingang des Markierregisters 100a¹.
Somit sind die den dritten UND-Gattern 120 W1_R1_L1, 120 W1_R2_L1 bzw. 120 W1_Rn_L1 zugeführten Signale MARKEW1_R1_L1, MARKEW1_R2_L1 bzw. MARKEW1_Rn_L1 logisch "wahr". Sobald und wenn eine Lesefreigabe für den ersten Speicherplatz auftritt (R₁L₁, R₂L₁, . . . RnL₁), wird diese auch den dritten UND-Gattern 120 W1_R1_L1, 120 W1_R2_L1, . . . 120 W1_Rn_L1 zugeführt, die dann an die zweiten ODER-Gatter 125 W1_R1, 125 W1_R2, . . . 125 W1_Rn ein "wahres" Signal legen, was ein "wahres" Ausgangssignal erzeugt. Diese Ausgangssignale, die als MARKEW1_R1, MARKEW1_R2, . . . MARKEW1_Rn bezeichnet sind, werden den Treibern 60 W1_R1, 60 W1_R2, . . . 60 W1_Rn zugeführt, um aus dem ersten Speicherplatz der ersten Schreibtor-Speicheranordnung 54a die logische "Eins" auszugeben.
Wenn nun, nachdem die Daten über das erste Schreib-Tor 54a in den ersten Speicherplatz (L₁) eingeschrieben worden sind, über das zweite Schreib-Tor 54b neue Daten, zum Beispiel eine logische "Null", in den ersten Speicherplatz (L₁) geschrieben werden, läuft Folgendes ab, um sicherzustellen, daß nur die zuletzt für L₁ geschriebenen Daten, nämlich eine "Null", und nicht die zuvor am ersten Schreib-Tor 54a geschriebenen Daten, d. h. eine "Eins", gelesen werden.
Sobald am zweiten Schreib-Tor 54b das Schreibfreigabesignal (W₂) erscheint, um eine logische "Null" zu schreiben, schreibt das erfindungsgemäße Emulationssystem eine logische "Null" in den jeweiligen ersten Speicherplatz L₁ aller Lesetor­ speicheranordnungen 52a¹, 52b¹, . . . 52n¹. Während der Zeit, in welcher der Schreibvorgang erfolgt, werden die gelesenen Ausgangssignale von einer Riegelschaltung (siehe das Beispiel in den Fig. 6a bis 6b) zwischengespeichert, um sicherzustellen, daß die gelesenen Daten nicht zum Einschreiben weitergeleitet werden, falls eine Lesefreigabe und eine Schreibfreigabe gleichzeitig auftreten sollten.
Zur selben Zeit, in der die Daten in die Lesetor­ speicheranordnungen 52a¹, 52b¹, . . . 52n¹ geschrieben werden, wird an die Markierregister-Logik das Schreibfreigabesignal W₂ gesandt. Dieses Schreibfreigabesignal W₂ wird allen ersten UND- Gattern 105a¹ . . . 105x¹, 105a² . . . 105x², und 105am . . . 105xm eingegeben. Da W₂ "wahr" ist und W₁ und W₃ von "falsch" zu "wahr" invertiert werden, ist das Ausgangssignal der ersten UND-Gatter 105a² . . . 105x², die der zweiten Schreibtor­ speicheranordnung 54b zugeordnet sind, "wahr" (man beachte, daß das Signal W₂ auch allen anderen ersten UND-Gattern 105105x¹ und 105am . . . 105xm zugeführt wird; da das Signal W₂ aber invertiert in diese anderen UND-Gatter 105a¹ . . . 105x¹ und 105am . . . 105xm eingeht, muß das Ausgangssignal dieser anderen UND- Gatter 105a¹ . . . 105x¹ und 105am . . . 105xm "falsch" lauten). Da W₂L₁ "wahr" ist, während W₂Lx "falsch" ist (weil eine Schreibfreigabe nur für L₁ aufgetreten ist), wird nur das Ausgangssignal des zweiten UND-Gatters 110a², das dem ersten Speicherplatz zugeordnet ist, "wahr" lauten. So wird das Signal S₂L₁ "wahr" sein, so daß an den "Setz"-Eingang des Markierregisters 100a² ein "wahres" Signal angelegt wird. Da gleichzeitig die Signale S₁L₁ und SmL₁ "falsch" sind, legt das erste ODER-Gatter 115a² ein "falsches" Signal an den RÜCKSETZ- Eingang des Markierregisters 100a².
Somit sind die den dritten UND-Gattern 120 W2_R1_L1, 120 W2_R2_L1 bzw. 120 W2_Rn_L1 zugeführten Signale MARKEW2_R1_L1, MARKEW2_R2_L1 bzw. MARKEW2_Rn_L1 logisch "wahr". Sobald und wenn eine Lesefreigabe für den ersten Speicherplatz auftritt (R₁L₁, R₂L₁, . . . RnL₁), wird diese neben den Eingangssignalen MARKEW2_R1_L1, MARKEW2_R2_L1, . . . MARKEW2_Rn_L1 den dritten UND-Gattern 120 W2_R1_L1, 120 W2_R2_L1, . . . 120 W2_Rn_L1 zugeführt, die dann ein "wahres" Signal an die zweiten ODER-Gatter 125 W2_R1, 125 W2_R2, 125W2_Rn legen, die "wahre" Ausgangssignale erzeugen. Diese Ausgangssignale, die als MARKEW2_R1, MARKEW2_R2, . . . MARKEW2_Rn bezeichnet sind, werden den Treibern 60 W2_R1, 60 W2_R2, 60 W2_Rn zugeführt, um aus dem ersten Speicherplatz der zweiten Schreibtor-Speicheranordnung 54b die logische "Eins" auszugeben. Da die Treiber 60 W1_R1 und 60 Wm_R1 im ersten Lese-Tor 56a, die Treiber 60 W1_R2 und 60 Wm_R2 und die Treiber 60 W1_Rn und 60 Wm_Rn durch die Markierregister gesperrt werden, werden nur die als letzte in den Lesetor­ speicheranordnungen 52a¹, 52b¹, . . . 52n¹ gespeicherten Daten durch die Lese-Tore 56a, 56b, . . . 56n gelesen.
Da der erste Speicherplatz L₁ in der zweiten Schreibtor­ speicheranordnung 54b als "wahr" markiert wurde, ist es wichtig, daß die auf "wahr" gesetzten Signale MARKEW1R1, MARKEW1R2, . . . MARKEW1Rn auf logisch "falsch" zurückgesetzt werden. Dies geschieht in der Tat, da die Schreibfreigabe W₁, die den ersten UND-Gattern 105a¹ zugeleitet wird, welche jeweils dem ersten Speicherplatz L₁ der ersten Schreibtor­ speicheranordnung 54a zugeordnet sind, "falsch" wurde, sobald die Schreibfreigabe W₂ "wahr" wurde. Also liegt ein "falsches" Signal am zweiten UND-Gatter 110a¹ an, das dann ein "falsches" Signal an den SETZ-Eingang des Markierregisters 100a¹ legt. Da außerdem S₂L₁ nunmehr "wahr" ist, gibt das erste ODER-Gatter 115a¹ ein "wahres" Signal an den RÜCKSETZ-Eingang des Markierregisters 100a¹ aus. Somit sind die Signale MARKEW1_R1_L1, MARKEW1_R2_L1, . . . MARKEW1_Rn_L1 "falsch". Mithin wird ein "falsches" Signal den dritten UND-Gattern 120 W1_R1_L1, 120 W1_R2_L1, . . . 120 W1_Rn_L1 zugeführt, die dann ein "falsches" Signal an die zweiten ODER- Gatter 125 W1_R1, 125 W1_R2, . . . 125 W1_Rn legen. Dies bewirkt, daß die Signale MARKEW1R1, MARKEW1R2, . . . MARKEW1Rn "falsch" werden, was die Treiber 60 W1_R1, 60 W1_R2, 60 W1_Rn sperrt. Deshalb werden die Daten, die jeweils am ersten Speicherplatz in den Lesetor­ speicheranordnungen 52a, 52b, . . . 52n der ersten Schreibtor­ speicheranordnung 54a gespeichert sind, nicht gelesen.
Die Verwendung von Markierregistern wird im Zusammenhang mit einem Beispiel verständlicher. Die Fig. 6a und 6b zeigen ein (2 mal 1)-RAM mit drei Schreib-Toren und einem Lese-Tor. Um diesen Speicherschaltkreis nachzubilden, werden vervielfältigte Lesetor-Speicheranordnungen 205a, 205a¹, 205a² gebildet. Jede dieser Lesetor-Speicheranordnungen 205a, 205a¹, 205a² ist ein (2 mal 1)-Speicherschaltkreis. Die Lesetor-Speicheranordnung 205a befindet sich in der ersten Schreibtor-Speicheranordnung 200a. Die Lesetor-Speicheranordnung 205a¹ befindet sich in der zweiten Schreibtor-Speicheranordnung 200b. Die Lesetor­ speicheranordnung 205a² schließlich befindet sich in der dritten Schreibtor-Speicheranordnung 200c.
Am Eingang der Lesetor-Speicheranordnung 205a, 205a¹, 205a² der jeweiligen Schreibtor-Speicheranordnung 200a, 200b bzw. 200c liegt jeweils ein Multiplexer 210, der eine Schreibtor- Adresse und eine Lesetor-Adresse empfängt. Die Lesetor­ speicheranordnung 205a in der Schreibtor-Speicheranordnung 200a weist also einen Multiplexer 210 auf, dem im Wege elektrischer Datenübertragung eine Schreibtor₁-Adresse und eine Lesetor- Adresse zugeführt werden. Schreibtor₁-Daten werden direkt an den richtigen Speicherplatz in der Lesetor-Speicheranordnung 205a eingegeben. Die Lesetor-Speicheranordnung 205a¹ in der Schreibtor-Speicheranordnung 200b weist einen Multiplexer 210 auf, dem im Wege elektrischer Datenübertragung eine Schreibtor₂-Adresse und eine Lesetor-Adresse zugeführt werden. Schreibtor₂-Daten werden direkt an den richtigen Speicherplatz in der Lesetor-Speicheranordnung 205a¹ eingegeben. Die Lesetor­ speicheranordnung 205a² in der Schreibtor-Speicheranordnung 200c weist einen Multiplexer 210 auf, dem im Wege elektrischer Datenübertragung eine Schreibtor₃-Adresse und eine Lesetor- Adresse zugeführt werden. Schreibtor₃-Daten werden direkt an den richtigen Speicherplatz in der Lesetor-Speicheranordnung 205a² eingegeben.
Die Lesetor-Speicheranordnung 205a ist mit einer Riegelschaltung 215 verbunden, die ihrerseits mit einem Treiber 220a verbunden ist; die Lesetor-Speicheranordnung 205a¹ ist mit einer Riegelschaltung 215 verbunden, die ihrerseits mit einem Treiber 220b verbunden ist; und die Lesetor-Speicheranordnung 205a² ist mit einer Riegelschaltung 215 verbunden, die ihrerseits mit einem Treiber 220c verbunden ist.
Wie oben erläutert, ist die für einen gegebenen Schaltungsentwurf erforderliche Anzahl an Markierregistern als das Produkt aus der Anzahl an Schreib-Toren und der Anzahl an Speicherplätzen bestimmt. Da im Beispiel nach den Fig. 6a und 6b drei Schreib-Tore und zwei Speicherplätze vorhanden sind, sind sechs Markierregister 225a, 225b, 227a, 227b, 229a und 229b erforderlich. Die Markierregister 225a, 227a und 229a stellen sicher, daß durch jedes Lese-Tor die zuletzt in den ersten Speicherplatz (L₁) eingeschriebenen Daten gelesen werden. Die Markierregister 225b, 227b und 229b stellen sicher, daß durch jedes Lese-Tor die zuletzt in den zweiten Speicherplatz (L₂) eingeschriebenen Daten gelesen werden. Alle Markierregister 225a, 225b, 227a, 227b, 229a und 229b sind im vorliegenden Beispiel Flip-Flops mit Setz- und Rücksetzeingang.
Die Eingangslogik für die Markierregister 225a, 225b, 227a, 227b, 229a und 229b ist jeweils folgende. Das Ausgangssignal eines ersten UND-Gatters 235, an dem als Eingänge alle Schreibfreigabesignale - d. h. im vorliegenden Beispiel das erste Schreibfreigabesignal (W₁), das zweite Schreibfreigabesignal (W₂) und das dritte Schreibfreigabesignal (W₃) - anliegen, wird einem zweiten UND-Gatter 240 zugeleitet. Das zweite Eingangssignal des zweiten UND-Gatters 240 ist die Schreibfreigabe für den betreffenden Speicherplatz in der Schreibtor-Speicheranordnung, zum Beispiel W₁L₁, nämlich die Schreibfreigabe für den ersten Speicherplatz. Das Ausgangssignal des zweiten UND-Gatters 240 ist das SETZ-Signal für den betreffenden Speicherplatz, für welches - wie oben erörtert - die Bezeichnung SmLx vereinbart ist, worin m das betrachtete Schreib-Tor und x der betrachtete Speicherplatz ist. Dieses Signal SmLx wird dem SETZ-Eingang der Markierregister 225a, 225b, 227a, 227b, 229a und 229b zugeführt.
Die Markierregister sind nach der betrachteten Schreibtor­ speicheranordnung angeordnet, der sie zugeordnet sind. Die für die Signale W₁, W₂ und W₃ bestimmten Eingänge des ersten UND- Gatters 235 sind so ausgebildet, daß nur der Eingang für dasjenige Schreib-Tor, dem das Markierregister zugeordnet ist, nicht-invertierend ist. Im vorliegenden Beispiel ist nur der W₁-Eingang für die der ersten Schreibtor-Speicheranordnung 200a zugeordneten Markierregister 225a und 225b nicht-invertierend. Nur der W₂-Eingang für die der zweiten Schreibtor­ speicheranordnung 200b zugeordneten Markierregister 227a und 227b ist nicht-invertierend. Schließlich ist nur der W₃-Eingang für die der dritten Schreibtor-Speicheranordnung 200c zugeordneten Markierregister 229a und 229b nicht-invertierend.
Das Ausgangssignal eines ersten ODER-Gatters 245 wird dem RÜCKSETZ-Eingang der Markierregister 225a, 225b, 227a, 227b, 229a und 229b zugeführt. Als Eingangssignale des ersten ODER- Gatters 245 dienen diejenigen SETZ-Signale SmLx, die an den Markierregistern liegen, welche dem gleichen Speicherplatz der anderen Tore zugeordnet sind.
Die Ausgangssignale MARKEWn_Rm_Lx der Markierregister 225a, 225b, 227a, 227b, 229a und 229b werden an einen Eingang eines dritten UND-Gatters 250 gelegt. Da im vorliegenden Beispiel nur ein einziges Lese-Tor vorhanden ist, gibt es nur ein einziges Ausgangssignal aus den Markierregistern. Das zweite Eingangssignal des dritten UND-Gatters 250 ist die Lesefreigabe für den betreffenden, der MARKEWn_Rm_Lx zugeordneten Speicherplatz. Im vorliegenden Beispiel ist das Ausgangssignal des Markierregisters 225a als MARKEW1_R1_L1 bezeichnet, da es den ersten Speicherplatz in der ersten Lesetor-Speicheranordnung in der ersten Schreibtor-Speicheranordnung markiert. Die MARKEW1_R1_L1 wird dem dritten UND-Gatter 250 eingegeben. Außerdem wird dem dritten UND-Gatter 250 die Lesefreigabe für den ersten Speicherplatz zugeführt.
Für jedes Markierregister 225a, 225b, 227a, 227b, 229a und 229b gibt es ein drittes UND-Gatter 250. Der Ausgänge all derjenigen dritten UND-Gatter 250, die einer bestimmten Schreibtor-Speicheranordnung zugeordnet sind, liegen am Eingang eines zugeordneten zweiten ODER-Gatters 255. Die Ausgangssignale der zweiten ODER-Gatter 255 bilden jeweils das Eingangssignal der verschiedenen Treiber 220a, 220b, 220c.
Die Markierregister 225a, 225b, 227a, 227b, 229a und 229b stellen sicher, daß aus dem gewählten Lese-Tor nur die zuletzt für einen bestimmten Speicherplatz geschriebenen Daten gelesen werden. Wenn zum Beispiel am ersten Schreib-Tor 200a eine Schreibfreigabe (W₁) erfolgt, um am zweiten Speicherplatz (L₂) eine logische "Eins" zu schreiben, würde das erfindungsgemäße Emulationssystem eine logische "Eins" jeweils in den Speicherplatz L₂ jeder Lesetor-Speicheranordnung 205a, 205b und 205c schreiben. In der Zeit, in welcher der Schreibvorgang abläuft, werden die gelesenen Ausgangssignale durch die Riegelschaltung 215 zwischengespeichert, um sicherzustellen, daß die gelesenen Daten nicht zum Einschreiben weitergeleitet werden, falls eine Lesefreigabe und eine Schreibfreigabe zur gleichen Zeit auftreten sollten.
Zur selben Zeit, in der die Daten in die Lesetor­ speicheranordnungen geschrieben werden, wird an die Markierregister das Schreibfreigabesignal für den betreffenden Speicherplatz gesandt. Dieses Schreibfreigabesignal W₁ wird den ersten UND-Gattern 235 eingegeben, die den Markierregistern 225a und 225b für den ersten und den zweiten Speicherplatz in der ersten Schreibtor-Speicheranordnung zugeordnet sind. Da W₁ "wahr" ist und W₂ und W₃ von "falsch" zu "wahr" invertiert werden, ist das Ausgangssignal der ersten UND-Gatter 235, die der ersten Schreibtor-Speicheranordnung 200a zugeordnet sind, "wahr" (man beachte, daß das Signal W₁ auch allen anderen ersten UND-Gattern 235 zugeführt wird; da aber das Signal W₁ in diese ersten UND-Gatter 235 invertiert eingeht, muß das Ausgangssignal der anderen UND-Gatter "falsch" sein). Da jedoch W₁L₁ "falsch" ist, während W₁L₂ "wahr" ist, wird nur das Ausgangssignal des zweiten UND-Gatters 240, das dem zweiten Speicherplatz zugeordnet ist, "wahr" lauten. So wird das Signal S₁L₂ "wahr" sein, so daß an den "Setz"-Eingang des Markierregisters 225b ein "wahres" Signal angelegt wird. Da gleichzeitig die Signale S₂L₂ und S₃L₂ "falsch" sind, legt das erste ODER-Gatter ein "falsches" Signal an den RÜCKSETZ-Eingang des Markierregisters 225b.
Somit ist das dem dritten UND-Gatter 250 zugeführten Signal MARKEW1_R1_L1 logisch "wahr". Sobald und wenn eine Lesefreigabe für den zweiten Speicherplatz auftritt (R₁L₂), wird diese auch an das dem Eingangssignal MARKEW1_R1_L2 zugeordnete dritte UND- Gatter 250 geführt, das dann an das zweite ODER-Gatter 255 ein "wahres" Signal legt, was ein "wahres" Ausgangssignal erzeugt. Dieses Ausgangssignal, das als MARKEW1R1 bezeichnet ist, wird dem Treiber 220a zugeführt, um aus dem zweiten Speicherplatz der ersten Schreibtor-Speicheranordnung die logische "Eins" auszugeben.
Wenn nun, nachdem die Daten über das erste Schreib-Tor 200a in den zweiten Speicherplatz (L₂) eingeschrieben worden sind, über das zweite Schreib-Tor 200b neue Daten, zum Beispiel eine logische "Null", in den zweiten Speicherplatz (L₂) geschrieben werden, läuft Folgendes ab, um sicherzustellen, daß nur die zuletzt für L₂ geschriebenen Daten, nämlich eine "Null", und nicht die zuvor am ersten Schreib-Tor geschriebenen Daten, d. h. eine "Eins", gelesen werden.
Sobald am zweiten Schreib-Tor 200b das Schreibfreigabesignal (W₂) erscheint, um eine logische "Null" zu schreiben, schreibt das erfindungsgemäße Emulationssystem eine logische "Null" in die zweiten Speicherplätze L₂ der Lesetor-Speicheranordnung 205a¹. Während der Zeit, in welcher der Schreibvorgang erfolgt, werden die gelesenen Ausgangssignale von einer Riegelschaltung 215 zwischengespeichert, um sicherzustellen, daß die gelesenen Daten nicht zum Einschreiben weitergeleitet werden, falls eine Lesefreigabe und eine Schreibfreigabe gleichzeitig auftreten sollten.
Zur selben Zeit, in der die Daten in die Lesetor­ speicheranordnung 205a¹ geschrieben werden, wird an die Markierregister für den betreffenden Speicherplatz das Schreibfreigabesignal W₂ gesandt. Dieses Schreibfreigabesignal W₂ wird den ersten UND-Gattern 235 eingegeben, die den Markierregistern 227a und 227b für den ersten und den zweiten Speicherplatz in der zweiten Schreibtor-Speicheranordnung zugeordnet sind. Da W₂ "wahr" ist und W₁ und W₃ von "falsch" zu "wahr" invertiert werden, ist das Ausgangssignal der ersten UND-Gatter, die der zweiten Schreibtor-Speicheranordnung 200b zugeordnet sind, "wahr" (man beachte, daß das "wahre" Signal W₂ auch allen anderen ersten UND-Gattern 235 zugeführt wird; da das Signal W₂ aber invertiert in diese UND-Gatter 235 eingeht, muß das Ausgangssignal der anderen UND-Gatter "falsch" sein). Da jedoch W₂L₁ "falsch" ist, während W₂L₂ "wahr" ist, wird nur das Ausgangssignal des zweiten UND-Gatters 240, das dem zweiten Speicherplatz zugeordnet ist, "wahr" lauten. Somit wird das Signal S₂L₂ "wahr" sein, so daß an den "Setz"-Eingang des Markierregisters 227b ein "wahres" Signal angelegt wird. Da gleichzeitig die Signale S₁L₂ und S₃L₂ "falsch" sind, legt das erste ODER-Gatter ein "falsches" Signal an den RÜCKSETZ-Eingang des Markierregisters 225b.
Somit ist das dem dritten UND-Gatter 250 zugeführte Signal MARKEW2_R1_L2 logisch "wahr". Sobald und wenn eine Lesefreigabe für den zweiten Speicherplatz auftritt (R₁L₂), wird sie an das der MARKEW2_R1_L2 zugeordnete dritte UND-Gatter 250 geführt, das dann ein "wahres" Signal an das zweite ODER-Gatter 255 legt, was ein "wahres" Ausgangssignal erzeugt. Dieses Ausgangssignal, als MARKEW2R1 bezeichnet, wird dem Treibern 220b zugeführt, um aus dem zweiten Speicherplatz der ersten Schreibtor­ speicheranordnung die logische "Eins" auszugeben.
Da der zweite Speicherplatz L₂ in der zweiten Schreibtor­ speicheranordnung 205b als "wahr" markiert wurde, ist es wichtig, daß das auf "wahr" gesetzte Signal MARKEW1R1 auf logisch "falsch" zurückgesetzt wird. Dies geschieht in der Tat, da die Schreibfreigabe W₁, die dem ersten UND-Gatter zugeleitet wird, welches der ersten Schreibtor-Speicheranordnung 205a zugeordnet ist, "falsch" wurde, sobald die Schreibfreigabe W₂ "wahr" wurde. Also liegt ein "falsches" Signal am zweiten UND- Gatter 240 an, das dann ein "falsches" Signal an den SETZ- Eingang des Markierregisters 225a legt. Da außerdem S₂L₂ nunmehr "wahr" ist, gibt das erste ODER-Gatter 245 ein "wahres" Signal an den RÜCKSETZ-Eingang des Markierregisters 225b aus. Somit ist das Signal MARKEW1_R1_L2 "falsch". Mithin wird ein "falsches" Signal dem dritten UND-Gatter 250 zugeführt, das dann ein "falsches" Signal an das zweite ODER-Gatter 255 legt. Dies bewirkt, daß das Signal MARKEW1R1 "falsch" wird. Deshalb wird der zweite Speicherplatz in der ersten Schreibtor­ speicheranordnung 205a nicht gelesen.
Somit wurden ein bevorzugtes Verfahren und eine bevorzugte Vorrichtung zur Emulation von Mehrtor-Speichern beschrieben. Wenn auch Ausführungs- und Anwendungsbeispiele der vorliegenden Erfindung gezeigt und erläutert wurden, so ist es für einschlägige Fachleute doch ersichtlich, daß viele weitere Ausführungs- und Anwendungsbeispiele möglich sind, ohne von den hier offenbarten Grundgedanken der Erfindung abzugehen. Die Erfindung ist daher ausschließlich durch den Gedankeninhalt der beiliegenden Ansprüche beschränkt.

Claims (5)

1. Verfahren zum Nachbilden eines Mehrtor­ speicherschaltkreises mittels der Speichermöglichkeiten, die in einer Gruppe von programmierbaren Logikeinrichtungen bestehen, wobei der Mehrtor-Speicherschaltkreis X Speicherplätze zum Speichern von Daten, Y Lese-Tore zum Lesen von Daten aus den X Speicherplätzen und Z Schreib-Tore zum Schreiben von Daten in die X Speicherplätze aufweist, mit folgenden Verfahrensschritten:
Erzeugen einer Netzwerklistendefinition einer Lesetor­ speicheranordnung mit X Speicherplätzen, die in den Speichermöglichkeiten der programmierbaren Logikeinrichtungen nachbildbar ist;
Y-faches Duplizieren der Netzwerklistendefinition der Lesetor-Speicheranordnung, um eine Netzwerklistendefinition einer Schreibtor-Speicheranordnung zu erzeugen;
Z-faches Duplizieren der Netzwerklistendefinition der Schreibtor-Speicheranordnung;
Programmieren der Speichermöglichkeiten der programmierbaren Logikeinrichtungen, um die Z Schreibtor­ speicheranordnungen nachzubilden, wobei jede der Z Schreibtor­ speicheranordnungen Y Lesetor-Speicheranordnungen und jede der Y Lesetor-Speicheranordnungen X Speicherplätze aufweist;
Einschreiben von Daten in einen ausgewählten Speicherplatz der X Speicherplätze in jeder der Y Lesetor­ speicheranordnungen, die sich in einer ausgewählten Schreibtor­ speicheranordnung der Z Schreibtor-Speicheranordnungen befinden; und
Markieren des ausgewählten Speicherplatzes der X Speicherplätze in jeder der Y Lesetor-Speicheranordnungen, die sich in einer ausgewählten Schreibtor-Speicheranordnung der Z Schreibtor-Speicheranordnungen befinden, als "zuletzt beschriebener" Speicherplatz.
2. Verfahren zum Nachbilden eines Mehrtor­ speicherschaltkreises nach Anspruch 1, mit folgenden weiteren Schritten:
der Ausgang jeder Lesetor-Speicheranordnung wird in elektrische Datenverbindung mit je einem zugehörigen Multiplexer gebracht; und
der Speicherplatz aller Lesetor-Speicheranordnungen, die sich innerhalb einer Schreibtor-Speicheranordnung befinden, wird jeweils als "zuletzt beschrieben" markiert, sobald Daten in diesen Speicherplatz geschrieben werden.
3. Verfahren nach Anspruch 2, wobei die programmierbaren Logikeinrichtungen konfigurierbare Logikblöcke aufweisen und der Markiervorgang folgende weiteren Schritte umfaßt:
Nachbilden je eines Markierregisters für jeden in den Schreibtor-Speicheranordnungen vorhandenen duplizierten Speicherplatz, wobei die Markierregister in den konfigurierbaren Logikblöcken der programmierbaren Logikeinrichtungen ausgebildet werden und einen Setz-Eingang, einen Rücksetz-Eingang und einen Ausgang aufweisen; und
Herstellen einer elektrischen Datenverbindung zwischen dem Ausgang jedes Markierregisters und einem Auswahl-Eingang jedes Multiplexers, so daß der Multiplexer den "zuletzt beschriebenen" Speicherplatz mit dem Lese-Tor des Mehrtor­ speicherschaltkreises verbinden kann.
4. Verfahren zum Verwirklichen eines Mehrtor­ speicherschaltkreises in programmierbaren Logikeinrichtungen mit Speichereinrichtungen und Logikeinrichtungen, wobei der Mehrtor-Speicherschaltkreis Speicherplätze zum Speichern von Daten, Lese-Tore zum Lesen von Daten aus den Speicherplätzen und Schreib-Tore zum Schreiben von Daten in die Speicherplätze aufweist, mit folgenden Verfahrensschritten:
Verwirklichen der Speicherplätze in den Speichereinrichtungen der programmierbaren Logikeinrichtungen, um eine Lesetor-Speicheranordnung zu bilden;
Duplizieren der Lesetor-Speicheranordnung in den Speichereinrichtungen der programmierbaren Logikeinrichtungen für jede Lesetor-Speicheranordnung des Mehrtor­ speicherschaltkreises, wodurch eine Schreibtor­ speicheranordnung gebildet wird, welche eine Anzahl von Lesetor-Speicheranordnungen umfaßt, die gleich ist der Anzahl an Lese-Toren des Mehrtor-Speicherschaltkreises;
Duplizieren der Schreibtor-Speicheranordnung in den Speichereinrichtungen der programmierbaren Logikeinrichtungen für jedes Schreibtor des Mehrtor-Speicherschaltkreises; und
Verwirklichen einer MARKEN-Anordnung in den Speichereinrichtungen der programmierbaren Logikeinrichtungen, wobei die MARKEN-Anordnung für jeden Speicherplatz jeder Schreibtor-Speicheranordnung ein Register aufweist, das Daten speichert, welche angeben, ob der dem Register zugeordnete Speicherplatz "zuletzt geschriebene" Daten enthält.
5. Verfahren zum Nachbilden eines integrierten Schaltkreises in einer Mehrzahl von umprogrammierbaren Logikschaltkreisen, die Speichermöglichkeiten aufweisen, wobei der integrierte Schaltkreis einen Speicherschaltkreis mit X Speicherplätzen zum Speichern von Daten, mit Y Lese-Toren zum Lesen von Daten aus den X Speicherplätzen und mit Z Schreib- Toren zum Schreiben von Daten in die X Speicherplätze aufweist, mit folgenden Verfahrensschritten:
Erzeugen einer Netzwerklisten-Beschreibung einer Lesetor­ speicheranordnung mit X Speicherplätzen, die in den Speichermöglichkeiten der programmierbaren Logikeinrichtungen nachbildbar ist;
Y-faches Duplizieren der Lesetor-Speicheranordnung in der Netzwerklisten-Beschreibung, um eine Schreibtor­ speicheranordnung zu bilden;
Z-faches Duplizieren der Schreibtor-Speicheranordnung in der Netzwerklisten-Beschreibung; und
Bilden einer MARKEN-Anordnung mit X*Z Markierregistern zum Speichern der Information, welche der Z Schreibtor­ speicheranordnungen "zuletzt geschriebene" Daten enthalten.
DE19510902A 1994-03-24 1995-03-24 Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern Ceased DE19510902A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/217,049 US5448522A (en) 1994-03-24 1994-03-24 Multi-port memory emulation using tag registers

Publications (1)

Publication Number Publication Date
DE19510902A1 true DE19510902A1 (de) 1995-09-28

Family

ID=22809481

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19510902A Ceased DE19510902A1 (de) 1994-03-24 1995-03-24 Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern

Country Status (5)

Country Link
US (2) US5448522A (de)
JP (1) JPH0844787A (de)
DE (1) DE19510902A1 (de)
FR (1) FR2717923B1 (de)
GB (1) GB2287810B (de)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550782A (en) * 1991-09-03 1996-08-27 Altera Corporation Programmable logic array integrated circuits
IL109921A (en) * 1993-06-24 1997-09-30 Quickturn Design Systems Method and apparatus for configuring memory circuits
US5680583A (en) * 1994-02-16 1997-10-21 Arkos Design, Inc. Method and apparatus for a trace buffer in an emulation system
US5920712A (en) * 1994-05-13 1999-07-06 Quickturn Design Systems, Inc. Emulation system having multiple emulator clock cycles per emulated clock cycle
US5566123A (en) * 1995-02-10 1996-10-15 Xilinx, Inc. Synchronous dual port ram
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
US5819065A (en) * 1995-06-28 1998-10-06 Quickturn Design Systems, Inc. System and method for emulating memory
US5822564A (en) * 1996-06-03 1998-10-13 Quickturn Design Systems, Inc. Checkpointing in an emulation system
US5841967A (en) 1996-10-17 1998-11-24 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US6026230A (en) * 1997-05-02 2000-02-15 Axis Systems, Inc. Memory simulation system and method
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
US6421251B1 (en) 1997-05-02 2002-07-16 Axis Systems Inc Array board interconnect system and method
US6389379B1 (en) 1997-05-02 2002-05-14 Axis Systems, Inc. Converification system and method
US6321366B1 (en) 1997-05-02 2001-11-20 Axis Systems, Inc. Timing-insensitive glitch-free logic system and method
US6134516A (en) 1997-05-02 2000-10-17 Axis Systems, Inc. Simulation server system and method
US5960191A (en) 1997-05-30 1999-09-28 Quickturn Design Systems, Inc. Emulation system with time-multiplexed interconnect
US5970240A (en) 1997-06-25 1999-10-19 Quickturn Design Systems, Inc. Method and apparatus for configurable memory emulation
US6263484B1 (en) 1997-10-01 2001-07-17 Yang-Sei Yang Prototyping system and a method of operating the same
US6191998B1 (en) * 1997-10-16 2001-02-20 Altera Corporation Programmable logic device memory array circuit having combinable single-port memory arrays
US5883852A (en) * 1998-02-23 1999-03-16 Dynachip Corporation Configurable SRAM for field programmable gate array
US6467017B1 (en) 1998-06-23 2002-10-15 Altera Corporation Programmable logic device having embedded dual-port random access memory configurable as single-port memory
US6279146B1 (en) 1999-01-06 2001-08-21 Simutech Corporation Apparatus and method for verifying a multi-component electronic design
WO2001001245A1 (en) * 1999-06-26 2001-01-04 Yang Sei Yang Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it
US6272451B1 (en) * 1999-07-16 2001-08-07 Atmel Corporation Software tool to allow field programmable system level devices
US6556579B1 (en) * 1999-09-21 2003-04-29 3Com Corporation Method and apparatus for detecting duplicate buffers in a descriptor based multi-port queue
US7111110B1 (en) 2002-12-10 2006-09-19 Altera Corporation Versatile RAM for programmable logic device
US6813215B2 (en) * 2002-12-23 2004-11-02 Hewlett-Packard Development Company, L.P. Memory having multiple write ports and method of operation
US6754130B1 (en) 2002-12-23 2004-06-22 Hewlett-Packard Development Company, Lp. Memory having multiple write ports and write insert unit, and method of operation
US6654308B1 (en) 2002-12-23 2003-11-25 Hewlett-Packard Development Company, Lp. Memory having multiple write ports and multiple control memory units, and method of operation
US7924845B2 (en) * 2003-09-30 2011-04-12 Mentor Graphics Corporation Message-based low latency circuit emulation signal transfer
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
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
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

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0787032B2 (ja) * 1985-07-08 1995-09-20 日本電気アイシ−マイコンシステム株式会社 半導体記憶装置
US4862347A (en) * 1986-04-22 1989-08-29 International Business Machine Corporation System for simulating memory arrays in a logic simulation machine
US5148397A (en) * 1989-03-16 1992-09-15 Oki Electric Industry Co. Ltd. Semiconductor memory with externally controlled dummy comparator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DE-Z: Design & Elektronik 6 vom 16.3.1993, S. 7 *

Also Published As

Publication number Publication date
FR2717923A1 (fr) 1995-09-29
JPH0844787A (ja) 1996-02-16
GB2287810B (en) 1998-07-29
US5448522A (en) 1995-09-05
FR2717923B1 (fr) 1997-01-31
US5563829A (en) 1996-10-08
GB9505638D0 (en) 1995-05-10
GB2287810A (en) 1995-09-27

Similar Documents

Publication Publication Date Title
DE19510902A1 (de) Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern
DE2311034C2 (de) Verfahren zum Prüfen eines integrierte logische Verknüpfungs- und Speicherglieder enthaltenden Halbleiterchips
EP0010173B1 (de) Halbleiterplättchen mit verbesserter Prüfbarkeit der monolithisch hochintegrierten Schaltungen
DE69810995T2 (de) Rekonfigurierbarer Dual-Modus-Speicher in programmierbaren logischen Einrichtungen
DE2555439C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE4417575C2 (de) Verbesserte Array-Architektur für programmierbare logische Zellen
EP0513611B1 (de) Verfahren zur Datenübertragung für einen Halbleiterspeicher und Halbleiterspeicher zur Durchführung des Verfahrens
DE102011053359B4 (de) Latch-basierte Speichervorrichtung und Verfahren zum Testen derselben
DE2335785C3 (de) Schaltungsanordnung zum Prüfen einer Matrixverdrahtung
DE3606650A1 (de) Hardware logik-simulator
DE2926322C2 (de) Speicher-Subsystem
DE60221313T2 (de) Direktzugriffsspeicher
DE2930610A1 (de) Verfahren zum ueberpruefen eines datenverarbeitungssystemes und datenverarbeitungssystem zur durchfuehrung des verfahrens
EP0046500A1 (de) Schieberegister für Prüf- und Test-Zwecke
DE4011935A1 (de) Testsignalgenerator fuer eine integrierte halbleiterspeicherschaltung und testverfahren dafuer
DE4031136A1 (de) Fehlersimulationsverfahren
DE2064473B2 (de) Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenden, gesuchten Information
DE10134985A1 (de) Test eines Halbleiterspeichers mit mehreren Speicherbänken
EP0186051B1 (de) Integrierter Halbleiterspeicher
DE10032256C2 (de) Chip-ID-Register-Anordnung
DE19525758C2 (de) Reprogrammierbares Logik-Array
DE3916811C2 (de)
DE60223043T2 (de) Elektronischer schaltkreis und testverfahren
DE1499690C2 (de) Speicherplatzansteuerungs-Anordnung
DE10063627B4 (de) Integrierte Schaltung mit einer Datenverarbeitungseinheit und einem Zwischenspeicher

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 11/26

8131 Rejection