DE4420610A1 - Verfahren und Vorrichtung zum Konfigurieren von Speicherschaltkreisen - Google Patents
Verfahren und Vorrichtung zum Konfigurieren von SpeicherschaltkreisenInfo
- Publication number
- DE4420610A1 DE4420610A1 DE4420610A DE4420610A DE4420610A1 DE 4420610 A1 DE4420610 A1 DE 4420610A1 DE 4420610 A DE4420610 A DE 4420610A DE 4420610 A DE4420610 A DE 4420610A DE 4420610 A1 DE4420610 A1 DE 4420610A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- memory circuit
- circuits
- circuit
- access
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- 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
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/16—Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Static Random-Access Memory (AREA)
- Logic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
Die vorliegende Erfindung bezieht sich auf konfigurier
bare elektronische Speichervorrichtungen, insbesondere auf
Speicherzellen, die zur Emulation von Schaltkreisen ein
schließlich digitaler Speicher konfiguriert werden.
In dem Gebiet der elektronischen Design-Automatisierung
(EDA) wird unterschiedliche Software und damit verbundene
Hardware verwendet, um Schaltkreisentwürfe zu definieren und
zu verifizieren. Insbesondere werden zum Erreichen einer ge
naueren Verifizierung von Schaltkreisentwürfen EDA-Werk-
Zeuge, die als "Emulatoren" bekannt sind, verwendet, um
funktionale Darstellungen von Prototyp-Schaltkreisdefinitio
nen zu konstruieren. Da solche emulierten Darstellungen ei
nem Schaltkreisdesigner ermöglichen, ein Zielsystem, das mit
der emulierten Darstellung gekoppelt ist, flexibel zu be
treiben oder zu entwickeln, selbst bevor der Prototypschalt
kreis oder die Hardware tatsächlich hergestellt wird, werden
die Gesamt-Designzeit und die Kosten beträchtlich reduziert.
Auch wenn herkömmliche Emulationswerkzeuge zum Definie
ren und Verifizieren von Logikschaltkreisen geeignet sind,
sind solche Werkzeuge nicht leicht zur Emulation von Spei
cherschaltkreisen, insbesondere von Speicherschaltkreisen
mit mehrfachen Anschlüssen, die in verschiedenen Speicher
konfigurationen konfiguriert sind, verwendbar. Es wäre daher
wünschenswert, Speicherschaltkreise zur Verfügung zu stel
len, die leichter zur Emulation von Prototyp-Schaltkreisent
würfen konfigurierbar sind.
Diese und weitere Aufgaben werden durch die in den bei
gefügten Patentansprüchen definierten Verfahren und Vorrich
tungen gelöst.
Die Erfindung besteht darin, eine Speicherschaltkreis-
Definition in wenigstens einem von verschiedenen Speicher
schaltkreisen mit mehrfachen Zugriffsanschlüssen zu imple
mentieren, wobei jeder Zugriffsanschluß jedes Speicher
schaltkreises, in dem die Speicherschaltkreis-Definition im
plementiert ist, entweder zum Lesen von oder zum Schreiben
in einen solchen Speicherschaltkreis konfiguriert ist.
Vorzugsweise umfaßt jeder Speicherschaltkreis statische
Speicherzellen mit drei bidirektionalen Zugriffsanschlüssen,
und die Speicherschaltkreis-Definition definiert entspre
chend vorgegebener Konfigurationswerte Anfangs-Speicherin
halte, Speichertiefe, -breite und -bankauswahl in den Spei
cherschaltkreisen. Auch kann die Speicherschaltkreis-Defini
tion für jeden Zugriffsanschluß der Speicherschaltkreise mit
der implementierten Speicherschaltkreis-Definition definie
ren, ob dieser Zugriffsanschluß zum Lesen oder Schreiben
konfiguriert ist.
Wahlweise kann auf die konfigurierten Zugriffsanschlüsse
während vorgegebener Zeitintervalle zum Lesen von oder zum
Schreiben in die Speicherschaltkreise zugegriffen werden. Im
Gegensatz zu logischen, nicht-Speicherschaltkreisen können
separate Zeitintervalle zum Lesen von oder zum Schreiben in
die Speicherschaltkreise vordefiniert werden. Zeitintervalle
können als eine Funktion von externen Taktsignalen und Spei
cherschaltkreis-Zugriffszeiten vordefiniert werden.
Wahlweise kann eine Prototyp-Schaltkreisdefinition in
eine logische Schaltkreisdefinition zur Implementierung in
ein rekonfigurierbares, logisches Modul und in die Speicher
schaltkreis-Definition zur Implementierung in wenigstens
einen der Speicherschaltkreise unterteilt sein. Das rekonfi
gurierbare Logikmodul kann direkt oder über ein programmier
bares Verbindungsmodul mit den Speicherschaltkreisen verbun
den sein.
Um die unterteilte Prototyp-Schaltkreisdefinition zu
emulieren, sind das rekonfigurierbare Logikmodul und die
Speicherschaltkreise miteinander verbunden und mit einem
Zielsystem gekoppelt, das nach der Kopplung betrieben wird.
Während der Emulation kann das Zielsystem auf die Zugriffs
anschlüsse zugreifen, um von den Speicherschaltkreisen zu
lesen oder in sie zu schreiben. Das Zielsystem kann auch be
wirken, daß eine andere Schaltkreisdefinition in den Spei
cherschaltkreisen implementiert wird, worauf die Zugriffsan
schlüsse entsprechend rekonfiguriert würden.
Fig. 1 ist ein Blockdiagramm eines elektronischen De
sign-Automations- (EDA) Systems, das eine Benutzerstation
10, eine Fehlersucheinheit 12 und logische Module 14 zeigt,
die über Schnittstellenbausteine 16 mit Verbindungs- und
Speichermodulen 20, 100 und einem Zielsystem 18 gekoppelt
sind.
Fig. 2 ist ein Blockdiagramm des Speichermoduls 100, das
eine Speicheranordnung 200 und damit verbundene Schaltkreise
zeigt.
Fig. 3 ist ein Blockdiagramm der Speicheranordnung 200,
das einen Speicherschaltkreis 208 einschließlich von Zellen
204 und Latch-Schaltkreisen 202 zeigt.
Fig. 4 ist ein Flußdiagramm, das allgemein ein Verfahren
zum Ausführen der vorliegenden Erfindung zeigt.
Fig. 1 ist ein Blockdiagramm eines elektronischen De
sign-Automations- (EDA) Systems, das eine Ingenieur-Worksta
tion oder eine Benutzerstation 10, die mit einem Debugger
oder einer Fehlersucheinheit 12, logischen Blockmodulen
(LBM) 14, einem programmierbaren Verbindungsmodul (PIM) 20,
einem konfigurierbaren Speichermodul 100, Schnittstellenbau
steinen 16 und einem Zielsystem gekoppelt ist, zeigt. Das
EDA-System, das zur Emulation ähnlich den logischen Emulati
onssystemen "MARS", entworfen von PiE Design Systems, Inc.
(Sunnyvale, CA), konfiguriert ist, wird von einem Schalt
kreis- oder Systemdesigner zum Definieren und Verifizieren
der Schaltkreis- oder Systemfunktionalität unter Verwendung
von Laborschaltbrett- oder Emulationstechniken verwendet.
Zusätzliche LBMs 14(N) werden zum Emulation von komplexeren
Schaltkreisen oder Systemen verwendet.
Die Benutzerstation 10 umfaßt einen herkömmlichen Pro
zessor, der an ein Netzwerk ähnlicher Prozessoren zur Kommu
nikation oder zur verteilten Verarbeitung gekoppelt sein
kann. Die Benutzerstation 10 enthält computerunterstützte
Ingenieur- und Design- (CAE/CAD) Software-EDA-Werkzeuge zum
Definieren und Verifizieren von Prototyp-Schaltkreisentwür
fen. Zum Beispiel kann ein Schaltkreisdesigner solche Werk
zeuge verwenden, um Schaltkreisschemata einzugeben oder lo
gische Gatter zusammenzusetzen, um die Schaltkreis- oder Sy
stemfunktion oder -darstellung zu definieren oder zu entwer
fen, und kann dann diese Werkzeuge zum Simulieren oder Veri
fizieren der definierten Funktion verwenden.
Der Schaltkreisdesigner kann eine zusätzliche Verifizie
rung durch Emulation der definierten Funktion durchführen.
Die Emulation ermöglicht dem Schaltkreisdesigner, tatsäch
lich eine emulierte Darstellung des Prototypschaltkreises in
dem Zielsystem 18, in dem der Prototypschaltkreis arbeiten
soll, zu betreiben.
Anfänglich, bevor ein Prototypschaltkreis emuliert wer
den kann, veranlaßt der Schaltkreisdesigner, daß die EDA-
Werkzeuge einen bestimmten Schaltkreisentwurf definieren und
vorzugsweise auch verifizieren. Sobald der Schaltkreisent
wurf definiert oder verifiziert ist, veranlaßt der Schalt
kreisdesigner die EDA-Werkzeuge, eine herkömmliche Schalt
kreisdatei oder Netzliste zu erzeugen, die eine Textliste
(also im "ASCII"-Format) der Komponenten und Verbindungen
innerhalb des Schaltkreisentwurfs zur Verfügung stellt. Ent
sprechend der vorliegenden Erfindung ist jeder Schaltkrei
sentwurf so definiert, daß er wenigstens eine Speicherkompo
nente und logische Komponenten enthält.
Die Fehlersucheinheit 12, die mit der Benutzerstation 10
gekoppelt ist, erlaubt dem Schaltkreisdesigner, die erzeugte
Netzliste von der Benutzerstation 10 in die logischen Module
14, den Verbindungsmodul 20 und den Speichermodul 100 herun
terzuladen. Die Fehlersucheinheit 12 dient auch als Funkti
onstester und Logikanalysator zum Verifizieren des Ablaufs
der emulierten Darstellung des Prototypschaltkreisentwurfs.
Die Fehlersucheinheit 12 kann entweder im Funktionstestmodus
(debug) oder im Emulationsmodus (run) laufen.
Nach dem Erzeugen einer bestimmten Netzliste kann der
Schaltkreisdesigner bewirken, daß die EDA-Werkzeuge die
Netzliste erhalten, um zu veranlassen, daß der darin enthal
tene Schaltkreisentwurf oder die darin enthaltene Schalt
kreisdefinition physikalisch implementiert oder in verschie
dene, rekonfigurierbare Logikschaltkreise oder Feld-program
mierbare Gate-Arrays (FPGAs), die in den Logikmodulen 14
vorhanden sind, im Falle von logischen Komponenten, oder in
Speicherzellen oder statische Speicherzellen mit wahlfreiem
Zugriff (SRAM), die in dem Speichermodul 100 vorhanden sind,
im Falle von Speicherkomponenten "heruntergeladen" werden.
Die Emulation wird durch programmierendes Konfigurieren
entsprechend der Netzliste, der tatsächlichen Verbindung und
funktionalen Implementierung der rekonfigurierbaren Logik
schaltkreise, die in den Logikmodulen 14 umfaßt sind, und,
wenn notwendig, der tatsächlichen Verbindung der rekonfigu
rierbaren elektrischen Pfade in dem Verbindungsmodul und der
tatsächlichen Speicherkonfiguration und der Inhalte im Spei
chermodul 100 konfiguriert.
Der Schaltkreisdesigner ruft einen Design-Importierbe
fehl auf, um die EDA-Werkzeuge zu veranlassen, unter anderem
zu überprüfen, ob alle logischen und Speicherkomponenten,
die in der Netzliste umfaßt sind, in einer vordefinierten
Bibliothek oder Datenbasis mit logischen und Speicherdar
stellungen, wie sie in dem Logikmodul 14 und dem Speichermo
dul 100 vorgesehen sind, vorhanden sind. Vorzugsweise kann,
wenn eine bestimmte logische oder Speicherkomponente nicht
in der Bibliothek vorhanden ist, das EDA-Werkzeug eine be
stimmte Konfiguration einer entsprechenden generischen logi
schen oder Speicherkomponente erzeugen. Auf diese Weise kann
der Schaltkreisdesigner bei Verwendung des EDA-Werkzeugs zum
Erzeugen oder Konstruieren einer bestimmten Komponentenkon
figuration bestimmte Funktions- oder Betriebsparameter einer
solchen Konfiguration anpassen oder vollständiger spezifi
zieren.
Nach dem Importieren der Netzliste kann der Schaltkreis
designer ein in den EDA-Werkzeugen umfaßtes Unterteilungs
programm aufrufen, um zu bestimmen, welche in der Netzliste
umfaßte Komponenten logische und Speicherkomponenten sind.
Vorzugsweise werden Komponenten, die binäre oder digitale
Informationen enthalten, die zur temporären oder permanenten
Speicherung in herkömmlichen oder verschiedenen kombinatori
schen, sequentiellen oder Zustandsvorrichtungen konfiguriert
oder angeordnet sind, als Speicherschaltkreise oder -kompo
nenten bestimmt. Beispiele von Speicherkomponenten umfassen
Kernspeicheranordnungen mit einfachen oder mehrfachen An
schlüssen, Cache-Anordnungen (einschließlich Speicher-, Mar
kierungs- und statusanordnungen), Registerdateien mit mehr
fachen Anschlüssen, Mikrocode-Nurlesespeicher (ROM), auf dem
Chip befindliche Speicher mit wahlfreiem Zugriff (RAM),
Speicher, bei denen das zuerst eingelesene Wort zuerst aus
gelesen wird (FIFO), und Prozessorspeicher (einschließlich
Instruktions- und Datencachespeicher, allgemeinen Registern
und lokalen und Hauptspeicher-RAM).
Weitere in der Netzliste umfaßte Komponenten, typischer
weise einschließlich herkömmlicher kombinatorischer, sequen
tieller oder Zustandsschaltkreise, die für Nicht-Speicher-
Anwendungen konfiguriert oder entworfen sind, werden als lo
gische Schaltkreise oder Komponenten festgelegt. Es ist mög
lich, entsprechend dem Entwurf des Designingenieurs herkömm
liche Logikschaltkreise für Speicher-artige Designanwendun
gen zu verwenden.
Nach dem Festlegen, welche Netzlistenkomponenten logi
sche Komponenten sind und welche Speicherkomponenten sind,
unterteilt das Unterteilungsprogramm die Netzliste zum Her
unterladen oder für eine tatsächliche funktionale Implemen
tierung der Komponenten und der Verbindungen zu den Logikmo
dulen 14, dem Verbindungsmodul 20 oder dem Speichermodul
100.
Logische Komponenten werden in logische Module 14 herun
tergeladen, um logische Schaltkreisabschnitte und damit ver
bundene Verbindungen vorzugsweise unter Verwendung herkömm
licher Techniken zur Programmierung oder Konfigurierung von
FPGAs oder konfigurierbarer Logikblöcke (CLBs), die darin
entsprechend der unterteilten Netzliste enthalten sind, zu
konfigurieren. Speicherkomponenten werden in den Speichermo
dul 100 heruntergeladen, wie hierin weiter beschrieben wird.
Wahlweise können Speicherkomponenten in die Logikmodule 14
für eine äquivalente funktionale Implementierung darin her
untergeladen werden.
Verbindungen in der Netzliste können entweder in den Lo
gikmodul 14 unter Verwendung vorhandener, konfigurierbarer
Verbindungen in jedem Logikmodul 14 oder von darin enthalte
nen FPGAs oder in den Verbindungsmodul 20 unter Verwendung
programmierbarer Verbindungspfade oder darin verfügbarer,
konfigurierbarer Kreuzschalter heruntergeladen werden.
Der gesamte Prototyp-Schaltkreisentwurf oder die Schalt
kreisdefinition ist funktional und physikalisch zur Emula
tion implementiert, wenn alle oder die gewünschten Bereiche
der Unter-Netzlisten der logischen und Speicherkomponenten
in die Logikmodule 14, den Speichermodul 100 und wahlweise
in den Verbindungsmodul 20 heruntergeladen sind. Bei einer
solchen Konfigurierung kann der in den Logikmodulen 14, dem
Verbindungsmodul 20 und dem Speichermodul 100 implementierte
Prototyp-Schaltkreisentwurf über verschiedene Verbindungs
bausteine oder Signalverbindungen 16 mit einem herkömmlichen
Anschluß oder einem Signalstecker in dem Zielsystem 18 für
einen tatsächlichen funktionalen Betrieb oder eine Emulation
darin gekoppelt werden.
Während der Emulation arbeitet das Zielsystem unter nor
malen oder fast normalen Bedingungen oder Zeitabläufen, in
dem geeignete Daten, Steuerungs-, Test-, Versorgungsspan
nungs-, Erd- und andere geeignete Signale, Vektoren oder Er
regungen daran angelegt werden. Auf diese Weise kann der
Schaltkreisdesigner Fehler suchen oder die Funktionalität
des Zielsystems 18 oder den Prototypentwurf, der temporär
für die Emulation in Logikmodulen 14, dem Verbindungsmodul
20 und dem Speichermodul konfiguriert ist, zu testen.
Zusätzlich kann der Schaltkreisdesigner bestimmen, daß
verschiedene Rekonfigurierungen oder funktionale Veränderun
gen an den Verbindungen oder Komponenten, die in der Netzli
ste umfaßt sind, notwendig sind, um den Prototyp-Schaltkrei
sentwurf zu modifizieren oder zu ändern. Eine solche Modifi
zierung wird dadurch erreicht, daß der Schaltkreisdesigner
die EDA-Werkzeuge veranlaßt, den Prototyp-Schaltkreisentwurf
zu redefinieren und, falls notwendig, erneut zu verifizie
ren. Eine praktisch unbegrenzte Anzahl und ein unbegrenztes
Ausmaß von verschiedenen oder ähnlichen Modifikationen ist
möglich, da die funktionale Implementierung von logischen
Schaltkreisen und Verbindungen in den Logikmodulen 14, von
Speicherschaltkreisen in dem Speichermodul 100 und von Ver
bindungen in dem Speichermodul 100 unter Verwendung der EDA-
Werkzeuge rekonfigurierbar oder reprogrammierbar ist.
Fig. 2 ist ein Blockdiagramm des Speichermoduls 100, das
eine Speicheranordnung 200 und damit verbundene Schaltkreise
einschließlich eines "JTAG"-Prozessors oder Kontrollers 102,
eines Zeitintervall- oder Signalgenerators 104, eines Spei
cherkonfigurations-Dekoders 108, eines externen Taktgebers
oder Oszillators 106, eines Multiplexers (MUX) 110, einer
rekonfigurierbaren Logik- oder "Beta-Alpha-" Anordnung 118
und von bidirektionalen Schaltern oder Latchschaltkreisen
112, 114, 116 zeigt.
In Fig. 3 ist die Speicheranordnung 200 mit verschie
denen verbundenen Speicherschaltkreisen 208 einschließlich
digitaler Speicherschaltkreise oder -zellen 204, Datenlatch
schaltkreisen oder -schalter 202 und konfigurierbarer, bidi
rektionaler Lese/Schreib-Anschlüsse 206 gezeigt. Vorzugs
weise umfaßt eine Zelle 204 acht statische Speicher mit
wahlfreiem Zugriff (RAM) mit 3 Anschlüssen, wobei jede Zelle
204 ein 32K×32 SRAM mit einer Zugriffszeit von 25 ns ist.
Die Zugriffsrichtung für jeden Anschluß 206 wird entweder im
Lesemodus oder im Schreibmodus für einen geeigneten Zugriff
auf die entsprechende Zelle 204 vorzugsweise durch Konfigu
rierung oder Programmierung der Signalschaltrichtung des
Schalters 112, des Latchschaltkreises 114 oder des Latch
schaltkreises 116, die damit verbunden sind, konfiguriert
oder programmiert.
Der Kontroller 102 erhält die unterteilte Netzlistenin
formation einschließlich der logischen und Speicherkomponen
ten, der Konfigurations- und Anfangszustandsinformation und
-verbindungen, die die Prototyp-Schaltkreisentwürfe darstel
len, die von den EDA-Werkzeugen von der Benutzerstation 10
oder der Fehlersucheinheit 12 heruntergeladen werden. Logi
sche Komponenten oder die damit verbundene Verbindungskonfi
guration oder die Anfangszustandsinformation werden herun
tergeladen, um die rekonfigurierbaren Logikvorrichtungen
oder FPGAs, die in der Logikanordnung 118 umfaßt sind, zu
programmieren oder zu konfigurieren.
Speicherkomponenten oder die damit verbundene Verbin
dungskonfiguration oder die Anfangszustandsinformation wer
den heruntergeladen, um die rekonfigurierbaren Logikvorrich
tungen oder FPGAs, die in der Logikanordnung 118 umfaßt
sind, die rekonfigurierbaren Speicherzellen 204, die rekon
figurierbaren Lese/Schreib-I/O-Anschlüsse 206 oder die re
konfigurierbaren, bidirektionalen Latchschaltkreise 202 in
der Speicheranordnung 200 oder die rekonfigurierbaren, bidi
rektionalen Schalter oder Latchschaltkreise 112, 114, 116 in
dem Speichermodul zu programmieren oder zu konfigurieren.
Der Kontroller erhält außerdem Test- oder Randabtastvek
toren oder -muster, speichert diese und wendet sie an, um
die Funktionalität innerhalb des Speichermoduls zu verifi
zieren, und zwar vorzugsweise entsprechend dem JTAG-Stan
dard, wie er in IEEE Std. 1149.1: "Standard Test Access Port
und Boundary Scan Architecture", definiert ist. Der Kontrol
ler 102 ist ein herkömmlicher Mikroprozessor, der mit einem
Zeitintervallgenerator 104, einem MUX 110 und einem Dekoder
108 gekoppelt ist und Anweisungen von einem Hauptprozessor
erhält, der entweder die Benutzerstation 10 oder die Fehler
sucheinheit 12 sein kann.
Der Kontroller 102 verwendet einen vordefinierten Anwei
sungssatz, der auf einer lokalen Platte oder in einer Spei
chervorrichtung zum Durchführen des Herunterladens der un
terteilten Netzlisteninformation in konfigurierbare Spei
cherschaltkreise in der Speicheranordnung 200 vorzugsweise
entsprechend den vorhandenen EDA-Werkzeugen, vorhanden ist.
Zusätzliche Anweisungen sind darin spezifiziert, um die
Speicherschaltkreise in der Speicheranordnung 200 entspre
chend den in der Netzliste vorhandenen Speicherkomponenten,
insbesondere entsprechend den vorgegebenen Konfigurations
werten, wie etwa der Anschluß-Zugriffsrichtung, des digita
len Speicherinhalts, der Speichertiefe, der Speicherbreite
und der Speicherbankauswahl, zu konfigurieren.
Der Dekoder 108 ist ein Speicher-Konfigurations-Dekoder
schaltkreis, der vorzugsweise als eine programmierbare Logi
kanordnung (PLA) ausgeführt und 93 Eingänge, wovon 8 Ein
gangsstifte für den Konfigurationskode, 12 Eingangsstifte
für die Bank- und Unterbankauswahl, 24 Eingangsstifte für
die Lese/Schreib-Anschlußauswahl, 16 Eingangsstifte für die
Speicherzellengruppierung, 8 Eingangsstifte für die
Speicherzellenfreigabe, 24 Eingangsstifte für den Anschluß
Zeitintervalltakt und ein Eingangsanschluß für den Sy
stemtakt verwendet werden, und 136 Ausgänge umfaßt, wovon 32
Ausgangsstifte zur Schreibfreigabe, 8 Ausgangsstifte zur
globalen Busfreigabe und 96 Ausgangsstifte zur Latchschalt
kreiskontrolle verwendet werden.
Der Zeitintervallgenerator 104 erzeugt vorzugsweise bis
zu 24 Zeitintervalle oder getaktete Signalimpulse für 24 An
schlüsse. Jedes Zeitintervall hat eine Dauer von 40 ns, wo
von 10 ns der Adressierungszeit und 25 ns der Zugriffszeit
zugewiesen sind. Eine programmierbare Verzögerungsleitung
kann für jedes Zeitintervall angelegt werden, und die
tatsächliche Verzögerungszeit hängt von der Adresse zur Sy
stemtaktverzögerung ab.
Der Zeitintervallgenerator 104 arbeitet vorzugsweise un
ter der Steuerung des Kontrollers 102, um Anzapf-Ausgangssi
gnale zur Freigabe der Lese/Schreib-Auswahl und der
Bank/Unterbank-Auswahl zur erzeugen, um ein richtiges
Schreibsignal und eine Anschluß-Daten-Latchschaltkreiskon
trolle zu erzeugen. Zusätzlich addiert der Zeitintervallge
nerator 104 Lesedaten-Verzögerungszeit zur Systemzykluszeit,
wann immer der letzte oder jüngste Leseanschluß von mehr als
4 Anschlüssen gefolgt wird. Vorzugsweise wird hierbei eine
Verzögerungszeit von 150 ns addiert.
Die Logikanordnung 118, die mit logischen Modulen 14 ge
koppelt sein kann, umfaßt rekonfigurierbare logische Schalt
kreise oder FPGAs, die mit einem MUX 110 und Schaltern oder
Latchschaltkreisen 112, 116, 114 gekoppelt sind. Der Schal
ter 112, der Latchschaltkreis 114 und der Latchschaltkreis
116 sind reprogrammierbare, bidirektionale, digitale Schal
ter oder Latchschaltkreise, wie etwa ein 74F543, die jeweils
mit Zugriffsanschlüssen 206 zum Zugriff auf digitale Infor
mation zum Lesen oder Schreiben von Zellen 204 gekoppelt
sind.
Wie in Fig. 3 gezeigt, ist der MUX 110 mit dem Kontrol
ler 102, dem Dekoder 108, der Speicheranordnung 200 und der
Logikanordnung 118 gekoppelt; und die Uhr 106 ist mit dem
Zeitintervallgenerator 104 und dem Dekoder 108 gekoppelt.
Vorzugsweise ist der Speichermodul 100 mit vordefinier
ten Parametern konfiguriert. Die Speichertiefe ist von 1 bis
32 767 konfiguriert. Die Bankbreite ist auf 32, 64, 128 oder
256 Bits beschränkt. Somit werden, wenn ein Speicherentwurf
eine Bitbreite von 95 verwendet, 128 Bits spezifiziert. Die
Bankauswahlkonfiguration hängt von der Bankbreite ab. Zum
Beispiel erlaubt eine 128-Bit-Bank nicht mehr als zwei
Bänke, da das Speichermodul 100 eine maximale Breite von 256
Bits besitzt.
Die Unterbank-Auswahlkonfiguration wird für einen parti
ellen Schreibvorgang verwendet. Zum Beispiel wird eine 4-
Byte-Auswahl für 32-Bit-Breiten konfiguriert, eine 8-Byte-
Auswahl wird für 64-Bit-Breiten konfiguriert, eine 8-Doppel-
Byte-Auswahl wird für 128 Bit-Breiten konfiguriert, und eine
8-vierfach-Byte-Auswahl wird für 256-Bit-Breiten konfigu
riert. Die Unterbankauswahl kann gesperrt werden, wenn eine
partielle Schreibmöglichkeit nicht erforderlich ist. Dar
überhinaus sind einer auf 24 Leseanschlüsse und einer auf 16
Schreibanschlüsse vorzugsweise konfiguriert. Die Gesamtzahl
der konfigurierten Lese- und Schreibanschlüsse beträgt 24.
Daher wird entsprechend der vorliegenden Erfindung eine
Speicherschaltkreis-Definition in wenigstens einem von ver
schiedenen Speicherschaltkreisen 200, 208 mit mehrfachen Zu
griffsanschlüssen 206 implementiert, wobei jeder Zugriffsan
schluß 206 jedes Speicherschaltkreises 200, 208, in dem die
Speicherschaltkreis-Definition implementiert ist, entweder
zum Lesen oder zum Schreiben von und in jeden solchen Spei
cherschaltkreis 200, 208 konfiguriert ist.
Vorzugsweise umfaßt jeder Speicherschaltkreis 200, 208
statische Speicherzellen 204 mit drei bidirektionalen Zu
griffsanschlüssen 206, und die Speicherschaltkreis-Defini
tion definiert entsprechend vordefinierter Konfigurations
werte Anfangs-Speicherinhalte, -Tiefe, -Breite und -Bankaus
wahl in den Speicherschaltkreisen 200, 208. Repräsentative
Konfigurationswerte sind in der beigefügten Tabelle 1 gege
ben. Außerdem kann die Speicherschaltkreis-Definition für
jeden Zugriffsanschluß 206 der Speicherschaltkreise 200, 208
mit der implementierten Speicherschaltkreis-Definition fest
legen, ob der Zugriffsanschluß 206 für den Lese- oder
Schreibmodus konfiguriert ist.
Eine solche Konfigurationsdefinition für den Speicherzu
griff wird vorzugsweise durch Programmieren oder Konfigurie
ren jedes bidirektionalen Schalters 112, Latchschaltkreises
114 oder Latchschaltkreises 116, die mit jedem der drei Zu
griffsanschlüssen 206 verbunden sind, erreicht. Auf diese
Weise wird jeder Anschluß 206 für Nur-Schreib-Zugriffe (also
für eine eingehende Signalrichtung) oder für Nur-Lese-Zu
griffe (also für eine ausgehende Signalrichtung) implemen
tiert. Jeder Zugriffsanschluß 206 kann auch bidirektional
für einen Schreib- und Lesezugriff konfiguriert werden.
Wahlweise kann dieselbe Schaltkreisdefinition in jedem
der Speicherschaltkreise 200, 208 implementiert sein, so daß
zum Beispiel alle Zugriffsanschlüsse 206 für jeden Speicher
schaltkreis 200, 208 identisch konfiguriert sind.
Wahlweise kann auf die konfigurierten Zugriffsanschlüsse
206 während vorgegebener Zeitintervalle, die von dem Zeitin
tervallgenerator 104 erzeugt werden, zugegriffen werden, um
von Speicherschaltkreisen 200, 208 zu lesen oder in sie zu
schreiben. Getrennte Zeitintervalle können vordefiniert sein
(z. B. vor oder während der Emulation), um von den Speicher
schaltkreisen 200, 208 im Gegensatz zu den Nicht-Speicher-
Logikschaltkreisen zu lesen oder in sie zu schreiben.
Zeitintervalle können als eine Funktion externer Taktsi
gnale und Speicherschaltkreis-Zugriffszeiten vordefiniert
werden und dem entsprechend von dem Schaltkreisdesigner zum
Beispiel während der Prototyp-Schaltkreisdefinition (dem
Bilden der Netzliste) oder der Verifikation (Emulation) spe
zifiziert werden. Während eines gemeinsamen oder ge-multi
plexten Zeitintervalls kann auf eine Gruppe von Zugriffsan
schlüssen 206 parallel zugegriffen werden; oder es kann al
ternativ während jedes Zeitintervalls seriell auf einen ein
zelnen Speicherschaltkreis 200, 208 zugegriffen werden (als
auf einem zu einem Zeitpunkt). Darüberhinaus kann ein sol
cher Zugriff durch ein asynchrones Lese- oder Rücklese-Aus
löseereignis begonnen werden.
Vorzugsweise wird auf gespeicherte, digitale Information
von der Speicheranordnung 200 in Wörtern gleicher Größe oder
einer geringeren Größe als eine vorgegebene Größe zugegrif
fen. Daher unterteilt oder zergliedert der Kontroller, wenn
auf Wörter zugegriffen wird, die länger als die vorgegebene
Größe sind, diese längeren Wörter in Wortabschnitte, die je
weils kleiner als oder gleich groß wie die vorgegebene Größe
sind. Zusätzlich wird auf jeden Wortabschnitt vorzugsweise
während verschiedener oder aufeinander folgender Zeitinter
valle zugegriffen.
Wahlweise kann eine Prototyp-Schaltkreisdefinition in
eine logische Schaltkreisdefinition zur Implementierung in
ein rekonfigurierbares Logikmodul 14 und in die Speicher
schaltkreis-Definition zur Implementierung in wenigstens ei
nem der Speicherschaltkreise 200, 208 unterteilt sein. Das
rekonfigurierbare Logikmodul 14 kann direkt oder über ein
programmierbares Verbindungsmodul 20 mit den Speicherschalt
kreisen 200, 208 verbunden sein.
Zur Emulation der unterteilten Prototyp-Schaltkreisdefi
nition werden das rekonfigurierbare Logikmodul 14 und die
Speicherschaltkreise 200, 208 untereinander verbunden und
mit dem Zielsystem 18 verbunden, das dann nach dieser Kopp
lung betrieben wird. Während der Emulation kann das Zielsy
stem 18 auf die Zugriffsanschlüsse 206 zugreifen, um von den
Speicherschaltkreisen 200, 208 zu lesen oder in sie zu
schreiben. In einer redefinierten Konfiguration kann das
Zielsystem 18 auch bewirken, daß eine andere Speicherschalt
kreis-Definition in den Speicherschaltkreisen 200, 208 im
plementiert wird, worauf die Zugriffsanschlüsse 206 entspre
chend rekonfiguriert würden.
In Fig. 4 zeigt ein Flußdiagramm allgemein ein für die
vorliegende Erfindung repräsentatives Verfahren. Zu Beginn
wird wenigstens ein Speicherschaltkreis 100, 200, 208 be
reitgestellt (210), wobei jeder Speicherschaltkreis wenig
stens eine statische Speicherzelle mit vorzugsweise wenig
stens drei Zugriffsanschlüssen umfaßt, wobei jeder Anschluß
einen bidirektionalen Schalter umfaßt. Dann wird eine Proto
typ-Schaltkreisdefinition, vorzugsweise in der Form einer
Netzliste, in logische und Speicherbereiche unterteilt
(220).
Entsprechend der vorliegenden Erfindung wird der
Speicherbereich oder die Speicherdefinition in wenigstens
einem der bereitgestellten Speicherschaltkreise implemen
tiert (230), wobei eine solche Speicherdefinition vorzugs
weise Anfangs-Konfigurationswerte definiert. Zusätzlich kann
jeder Zugriffsanschluß 206 der Speicherschaltkreise mit der
implementierten Speicherdefinition entweder zum Lesen oder
Schreiben konfiguriert werden (240). Vorzugsweise wird wäh
rend eines vorgegebenen Zeitintervalls auf wenigstens einen
der konfigurierten Zugriffsanschlüsse 250 zum Lesen oder
Schreiben von oder in diese Speicherschaltkreise zugegriffen
(250).
Somit wird in der vorstehenden Anordnung die Prototyp-
Emulation (260) ermöglicht und entsprechend der Festlegung
durch den Schaltkreisdesigner können die Prototyp-Schalt
kreisdefinition (220) und die nachfolgenden Schritte (230-
260) wiederholt werden (270).
Claims (31)
1. Verfahren zum Konfigurieren einer Mehrzahl von Spei
cherschaltkreisen, dadurch gekennzeichnet, daß das Verfahren
folgende Verfahrensschritte umfaßt:
Bereitstellen (210) einer Mehrzahl von Speicherschalt
kreisen (100, 200, 208), wobei jeder Speicherschaltkreis
eine Mehrzahl von Zugriffsanschlüssen (206) besitzt;
Implementieren (230) einer Speicherschaltkreis-Defini tion in wenigstens einem der bereitgestellten Speicher schaltkreise; und
Konfigurieren (240) jedes Zugriffsanschlusses jedes be reitgestellten Speicherschaltkreises mit der implementierten Schaltkreisdefinition entweder zum Lesen von oder zum Schreiben in jeden solchen bereitgestellten Speicherschalt kreis.
Implementieren (230) einer Speicherschaltkreis-Defini tion in wenigstens einem der bereitgestellten Speicher schaltkreise; und
Konfigurieren (240) jedes Zugriffsanschlusses jedes be reitgestellten Speicherschaltkreises mit der implementierten Schaltkreisdefinition entweder zum Lesen von oder zum Schreiben in jeden solchen bereitgestellten Speicherschalt kreis.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß jeder Speicherschaltkreis wenigstens eine statische
Speicherzelle umfaßt.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß jeder Zugriffsanschluß einen bidirektionalen Schalter
(112, 114, 116) umfaßt, der entsprechend der Speicherschalt
kreis-Definition konfiguriert ist.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß nur drei Zugriffsanschlüsse für jeden Speicherschalt
kreis vorgesehen sind.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß die Speicherschaltkreis-Definition Anfangs-Speicherin
halte in wenigstens einem der bereitgestellten Speicher
schaltkreise definiert.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß die Speicherschaltkreis-Definition die Speichertiefe und
-breite in wenigstens einem der bereitgestellten Speicher
schaltkreise definiert.
7. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß die Speicherschaltkreis-Definition die Speicherbankaus
wahl in wenigsten einem der bereitgestellten Speicherschalt
kreise definiert.
8. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß die Speicherschaltkreis-Definition die Speicherkonfigu
ration in wenigstens einem der bereitgestellten Speicher
schaltkreise entsprechend einer von einer Mehrzahl von vor
definierten Konfigurationswerten definiert.
9. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß die Speicherschaltkreis-Definition für jeden der Zu
griffsanschlüsse jedes bereitgestellten Speicherschaltkrei
ses mit der implementierten Speicherschaltkreis-Definition
festlegt, ob der entsprechende Zugriffsanschluß entweder zum
Lesen vom oder zum Schreiben in jeden solcherart bereitge
stellten Speicherschaltkreis konfiguriert ist.
10. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß dieselbe Speicherschaltkreis-Definition in jedem der be
reitgestellten Speicherschaltkreise implementiert ist.
11. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß es weiterhin folgenden Verfahrensschritt umfaßt:
Zugreifen (250) während eines vorgegebenen Zeitinter
valls auf wenigstens einen der konfigurierten Zugriffsan
schlüsse, um von wenigstens einem der bereitgestellten Spei
cherschaltkreise zu lesen oder in ihn zu schreiben.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet,
daß ein separates Zeitintervall zum Lesen von den bereitge
stellten Speicherschaltkreisen und zum Schreiben in diesel
ben vordefiniert ist.
13. Verfahren nach Anspruch 11, dadurch gekennzeichnet,
daß das Zeitintervall als eine Funktion eines externen Takt
signals vordefiniert ist.
14. Verfahren nach Anspruch 11, dadurch gekennzeichnet,
daß das Zeitintervall als eine Funktion einer Zugriffszeit
auf die bereitgestellten Speicherschaltkreise vordefiniert
ist.
15. Verfahren nach Anspruch 11, dadurch gekennzeichnet,
daß auf eine Mehrzahl der konfigurierten Zugriffsanschlüsse,
die mit einer Mehrzahl von bereitgestellten Speicherschalt
kreisen verbunden ist, parallel während eines gemeinsamen
Zeitintervalls zugegriffen wird.
16. Verfahren nach Anspruch 11, dadurch gekennzeichnet,
daß auf einen einzelnen, bereitgestellten Speicherschalt
kreis während jedes vordefinierten Zeitintervalls zugegrif
fen wird.
17. Verfahren nach Anspruch 11, dadurch gekennzeichnet,
daß der Zugriff durch ein asynchrones Leseereignis initiiert
wird.
18. Verfahren nach Anspruch 11, dadurch gekennzeichnet,
daß auf Wörter mit einer vorgegebener Größe von jedem konfi
gurierten Zugriffsanschluß zugegriffen wird.
19. Verfahren nach Anspruch 18, dadurch gekennzeichnet,
daß jedes Wort, auf das zugegriffen wird und das länger als
eine vorgegebene Größe ist, in eine Mehrzahl von Wortab
schnitten unterteilt wird, die jeweils nicht größer als die
vorgegebene Größe sind, wobei auf jeden Wortabschnitt wäh
rend unterschiedlicher Zeitintervalle zugegriffen wird.
20. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß es außerdem folgenden Verfahrensschritt umfaßt:
Unterteilen (220) einer Prototypschaltkreis-Definition
in eine Logikschaltkreis-Definition zur Implementierung in
einem Logikschaltkreis und in eine Speicherschaltkreis-Defi
nition zur Implementierung in wenigstens einem der bereitge
stellten Speicherschaltkreise.
21. Verfahren nach Anspruch 20, dadurch gekennzeichnet,
daß der Logikschaltkreis ein rekonfigurierbares Logikmodul
(14) umfaßt, das mit wenigstens einem der bereitgestellten
Speicherschaltkreise verbindbar ist.
22. Verfahren nach Anspruch 21, dadurch gekennzeichnet,
daß das rekonfigurierbare Logikmodul über ein programmierba
res Verbindungsmodul (20) mit wenigstens einem der bereitge
stellten Speicherschaltkreise verbunden ist.
23. Verfahren nach Anspruch 20, dadurch gekennzeichnet,
daß es außerdem folgenden Verfahrensschritt umfaßt:
Emulieren (260) der unterteilten Prototyp-Schaltkreisde finition durch Koppeln des Logikschaltkreises und wenigstens eines der bereitgestellten Speicherschaltkreise mit einem Zielsystem (18) und durch Betreiben des angekoppelten Ziel systems.
Emulieren (260) der unterteilten Prototyp-Schaltkreisde finition durch Koppeln des Logikschaltkreises und wenigstens eines der bereitgestellten Speicherschaltkreise mit einem Zielsystem (18) und durch Betreiben des angekoppelten Ziel systems.
24. Verfahren nach Anspruch 23, dadurch gekennzeichnet,
daß das gekoppelte Zielsystem auf wenigstens einen der kon
figurierten Zugriffanschlüsse zugreift, um von wenigstens
einem der bereitgestellten Speicherschaltkreise zu lesen
oder in ihn zu schreiben.
25. Verfahren nach Anspruch 23, dadurch gekennzeichnet,
daß das gekoppelte Zielsystem bewirkt, daß eine unterschied
liche Speicherschaltkreis-Definition in wenigstens einem der
bereitgestellten Speicherschaltkreise implementiert wird,
und auch bewirkt, daß jeder der Zugriffsanschlüsse jedes be
reitgestellten Speicherschaltkreises mit der implementier
ten, unterschiedlichen Speicherschaltkreis-Definition rekon
figuriert wird.
26. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß es außerdem folgende Verfahrensschritte umfaßt:
Implementieren einer unterschiedlichen Speicherschalt kreis-Definition in wenigstens einem der bereitgestellten Speicherschaltkreise; und
Rekonfigurieren jeder der Zugriffsanschlüsse jedes be reitgestellten Speicherschaltkreises mit der implementier ten, unterschiedlichen Speicherschaltkreis-Definition entwe der zum Lesen vom oder zum Schreiben in jeden solchen be reitgestellten Speicherschaltkreis.
Implementieren einer unterschiedlichen Speicherschalt kreis-Definition in wenigstens einem der bereitgestellten Speicherschaltkreise; und
Rekonfigurieren jeder der Zugriffsanschlüsse jedes be reitgestellten Speicherschaltkreises mit der implementier ten, unterschiedlichen Speicherschaltkreis-Definition entwe der zum Lesen vom oder zum Schreiben in jeden solchen be reitgestellten Speicherschaltkreis.
27. Verfahren zum Konfigurieren einer Mehrzahl von Spei
cherschaltkreisen, dadurch gekennzeichnet, daß das Verfahren
folgende Verfahrensschritte umfaßt:
Bereitstellen (210) einer Mehrzahl von Speicherschalt kreisen (100, 200, 208), wobei jeder Speicherschaltkreis we nigstens eine statische Speicherzelle und drei Zugriffsan schlüsse (206) umfaßt, wobei jeder Zugriffsanschluß einen bidirektionalen Schalter (112, 114, 116) umfaßt;
Implementieren (230) einer Speicherschaltkreis-Defini tion in wenigstens einem der bereitgestellten Speicher schaltkreise, wobei die Speicherschaltkreis-Definition die Anfangsspeicherinhalte, die Speichertiefe, -breite und -bankauswahl in wenigstens einem der bereitgestellten Spei cherschaltkreise entsprechend einer Mehrzahl von vordefi nierten Konfigurationswerten definiert;
Konfigurieren (240) jedes Zugriffsanschlusses jedes be reitgestellten Speicherschaltkreises mit der implementierten Schaltkreisdefinition entweder zum Lesen von oder zum Schreiben in jeden solchen bereitgestellten Speicherschalt kreis; und
Zugreifen (250) während eines vorgegebenen Zeitinter valls auf wenigstens einen der konfigurierten Zugriffsan schlüsse, um von wenigstens einem der bereitgestellten Spei cherschaltkreise zu lesen oder in ihn zu schreiben, wobei ein separates Zeitintervall zum Lesen von und zum Schreiben in die bereitgestellten Speicherschaltkreise vordefiniert ist, wobei das Zeitintervall als eine Funktion eines exter nen Taktsignals und einer Zugriffszeit der bereitgestellten Speicherschaltkreise vordefiniert ist.
Bereitstellen (210) einer Mehrzahl von Speicherschalt kreisen (100, 200, 208), wobei jeder Speicherschaltkreis we nigstens eine statische Speicherzelle und drei Zugriffsan schlüsse (206) umfaßt, wobei jeder Zugriffsanschluß einen bidirektionalen Schalter (112, 114, 116) umfaßt;
Implementieren (230) einer Speicherschaltkreis-Defini tion in wenigstens einem der bereitgestellten Speicher schaltkreise, wobei die Speicherschaltkreis-Definition die Anfangsspeicherinhalte, die Speichertiefe, -breite und -bankauswahl in wenigstens einem der bereitgestellten Spei cherschaltkreise entsprechend einer Mehrzahl von vordefi nierten Konfigurationswerten definiert;
Konfigurieren (240) jedes Zugriffsanschlusses jedes be reitgestellten Speicherschaltkreises mit der implementierten Schaltkreisdefinition entweder zum Lesen von oder zum Schreiben in jeden solchen bereitgestellten Speicherschalt kreis; und
Zugreifen (250) während eines vorgegebenen Zeitinter valls auf wenigstens einen der konfigurierten Zugriffsan schlüsse, um von wenigstens einem der bereitgestellten Spei cherschaltkreise zu lesen oder in ihn zu schreiben, wobei ein separates Zeitintervall zum Lesen von und zum Schreiben in die bereitgestellten Speicherschaltkreise vordefiniert ist, wobei das Zeitintervall als eine Funktion eines exter nen Taktsignals und einer Zugriffszeit der bereitgestellten Speicherschaltkreise vordefiniert ist.
28. Verfahren zum Konfigurieren einer Mehrzahl von Spei
cherschaltkreisen, dadurch gekennzeichnet, daß das Verfahren
folgende Verfahrensschritte umfaßt:
Bereitstellen (210) einer Mehrzahl von Speicherschalt kreisen (100, 200, 208), wobei jeder Speicherschaltkreis eine Mehrzahl von Zugriffsanschlüssen (206) besitzt;
Implementieren (230) einer Speicherschaltkreis-Defini tion in wenigstens einem der bereitgestellten Speicher schaltkreise;
Konfigurieren (240) jedes Zugriffsanschlusses jedes be reitgestellten Speicherschaltkreises mit der implementierten Schaltkreisdefinition entweder zum Lesen von oder zum Schreiben in jeden solchen bereitgestellten Speicherschalt kreis;
Zugreifen (250) während eines vorgegebenen Zeitinter valls auf wenigstens einen der konfigurierten Zugriffsan schlüsse, um von wenigstens einem der bereitgestellten Spei cherschaltkreise zu lesen oder in ihn zu schreiben; und
Emulieren (260) der unterteilten Prototyp-Schaltkreisde finition durch Koppeln des Logikschaltkreises und wenigstens eines der bereitgestellten Speicherschaltkreise mit einem Zielsystem (18) und durch Betreiben des angekoppelten Ziel systems.
Bereitstellen (210) einer Mehrzahl von Speicherschalt kreisen (100, 200, 208), wobei jeder Speicherschaltkreis eine Mehrzahl von Zugriffsanschlüssen (206) besitzt;
Implementieren (230) einer Speicherschaltkreis-Defini tion in wenigstens einem der bereitgestellten Speicher schaltkreise;
Konfigurieren (240) jedes Zugriffsanschlusses jedes be reitgestellten Speicherschaltkreises mit der implementierten Schaltkreisdefinition entweder zum Lesen von oder zum Schreiben in jeden solchen bereitgestellten Speicherschalt kreis;
Zugreifen (250) während eines vorgegebenen Zeitinter valls auf wenigstens einen der konfigurierten Zugriffsan schlüsse, um von wenigstens einem der bereitgestellten Spei cherschaltkreise zu lesen oder in ihn zu schreiben; und
Emulieren (260) der unterteilten Prototyp-Schaltkreisde finition durch Koppeln des Logikschaltkreises und wenigstens eines der bereitgestellten Speicherschaltkreise mit einem Zielsystem (18) und durch Betreiben des angekoppelten Ziel systems.
29. Vorrichtung zum Konfigurieren einer Mehrzahl von
Speicherschaltkreisen, dadurch gekennzeichnet, daß die Vor
richtung umfaßt:
eine Mehrzahl von Speicherschaltkreisen (100, 200, 208), wobei jeder Speicherschaltkreis eine Mehrzahl von Zugriffs anschlüssen (206) besitzt; und
eine Prototyp-Schaltkreisdefinition, die in eine logi sche Schaltkreisdefinition zur Implementierung in einem Lo gikschaltkreis (14) und in eine Speicherschaltkreis-Defini tion unterteilbar ist;
wobei die Speicherschaltkreis-Definition in wenigstens einem der bereitgestellten Speicherschaltkreise implemen tierbar ist und jeder Zugriffsanschluß jedes Speicherschalt kreises mit einer implementierten Schaltkreisdefinition ent weder zum Lesen von oder zum Schreiben in jeden solchen be reitgestellten Speicherschaltkreis konfigurierbar ist, und ein konfigurierter Zugriffsanschluß von wenigstens einem der Speicherschaltkreise während eines vorgegebenen Zeitinter valls liest oder in diesen schreibt.
eine Mehrzahl von Speicherschaltkreisen (100, 200, 208), wobei jeder Speicherschaltkreis eine Mehrzahl von Zugriffs anschlüssen (206) besitzt; und
eine Prototyp-Schaltkreisdefinition, die in eine logi sche Schaltkreisdefinition zur Implementierung in einem Lo gikschaltkreis (14) und in eine Speicherschaltkreis-Defini tion unterteilbar ist;
wobei die Speicherschaltkreis-Definition in wenigstens einem der bereitgestellten Speicherschaltkreise implemen tierbar ist und jeder Zugriffsanschluß jedes Speicherschalt kreises mit einer implementierten Schaltkreisdefinition ent weder zum Lesen von oder zum Schreiben in jeden solchen be reitgestellten Speicherschaltkreis konfigurierbar ist, und ein konfigurierter Zugriffsanschluß von wenigstens einem der Speicherschaltkreise während eines vorgegebenen Zeitinter valls liest oder in diesen schreibt.
30. Vorrichtung zum Konfigurieren einer Mehrzahl von
Speicherschaltkreisen, dadurch gekennzeichnet, daß die Vor
richtung umfaßt:
eine Mehrzahl von Speicherschaltkreisen (100, 200, 208), wobei jeder Speicherschaltkreis eine Mehrzahl von Zugriffs anschlüssen (206) besitzt; und
eine Speicherschaltkreis-Definition, die in wenigstens einem der bereitgestellten Speicherschaltkreise implemen tiert ist, wobei jeder Zugriffsanschluß jedes Speicher schaltkreises, in dem die Speicherschaltkreis-Definition im plementiert ist, entweder zum Lesen von oder zum Schreiben in jeden solchen bereitgestellten Speicherschaltkreis konfi guriert ist.
eine Mehrzahl von Speicherschaltkreisen (100, 200, 208), wobei jeder Speicherschaltkreis eine Mehrzahl von Zugriffs anschlüssen (206) besitzt; und
eine Speicherschaltkreis-Definition, die in wenigstens einem der bereitgestellten Speicherschaltkreise implemen tiert ist, wobei jeder Zugriffsanschluß jedes Speicher schaltkreises, in dem die Speicherschaltkreis-Definition im plementiert ist, entweder zum Lesen von oder zum Schreiben in jeden solchen bereitgestellten Speicherschaltkreis konfi guriert ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8205193A | 1993-06-24 | 1993-06-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4420610A1 true DE4420610A1 (de) | 1995-01-26 |
Family
ID=22168735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4420610A Withdrawn DE4420610A1 (de) | 1993-06-24 | 1994-06-13 | Verfahren und Vorrichtung zum Konfigurieren von Speicherschaltkreisen |
Country Status (9)
Country | Link |
---|---|
US (1) | US5940603A (de) |
JP (1) | JPH0773066A (de) |
CA (1) | CA2126621A1 (de) |
DE (1) | DE4420610A1 (de) |
FR (1) | FR2709006A1 (de) |
GB (1) | GB2280524A (de) |
IL (1) | IL109921A (de) |
IT (1) | IT1273001B (de) |
SE (1) | SE9402213A0 (de) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR980004043A (ko) * | 1997-10-01 | 1998-03-30 | 양세양 | 프로토타이핑 시스템 및 그 제어방법 |
DE19807872A1 (de) * | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
US6430719B1 (en) * | 1998-06-12 | 2002-08-06 | Stmicroelectronics, Inc. | General port capable of implementing the JTAG protocol |
US6381565B1 (en) * | 1998-08-21 | 2002-04-30 | Nec Corporation | Functional logic circuit verification device |
WO2000019438A1 (en) * | 1998-09-25 | 2000-04-06 | Koninklijke Philips Electronics N.V. | Device containing a multi-port memory |
TW476069B (en) * | 1998-11-20 | 2002-02-11 | Via Tech Inc | Placement and routing for array device |
US20020112084A1 (en) * | 2000-12-29 | 2002-08-15 | Deen Gary D. | Methods, systems, and computer program products for controlling devices through a network via a network translation device |
US7130788B2 (en) * | 2001-10-30 | 2006-10-31 | Mentor Graphics Corporation | Emulation components and system including distributed event monitoring, and testing of an IC design under emulation |
US7035787B2 (en) * | 2001-10-30 | 2006-04-25 | Mentor Graphics Corporation | Emulation components and system including distributed routing and configuration of emulation resources |
US7062427B2 (en) * | 2001-12-27 | 2006-06-13 | John Stephen Walther | Batch editor for netlists described in a hardware description language |
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 |
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 |
US6813215B2 (en) * | 2002-12-23 | 2004-11-02 | Hewlett-Packard Development Company, L.P. | Memory having multiple write ports and method of operation |
JP4238124B2 (ja) | 2003-01-07 | 2009-03-11 | 積水化学工業株式会社 | 硬化性樹脂組成物、接着性エポキシ樹脂ペースト、接着性エポキシ樹脂シート、導電接続ペースト、導電接続シート及び電子部品接合体 |
US7440884B2 (en) * | 2003-01-23 | 2008-10-21 | Quickturn Design Systems, Inc. | Memory rewind and reconstruction for hardware emulator |
GB2403574B (en) * | 2003-07-03 | 2005-05-11 | Micron Technology Inc | Compact decode and multiplexing circuitry for a multi-port memory having a common memory interface |
US7425841B2 (en) | 2004-02-14 | 2008-09-16 | Tabula Inc. | Configurable circuits, IC's, and systems |
US7167025B1 (en) | 2004-02-14 | 2007-01-23 | Herman Schmit | Non-sequentially configurable IC |
US7721036B2 (en) * | 2004-06-01 | 2010-05-18 | Quickturn Design Systems Inc. | System and method for providing flexible signal routing and timing |
US7640155B2 (en) * | 2004-06-01 | 2009-12-29 | Quickturn Design Systems, Inc. | Extensible memory architecture and communication protocol for supporting multiple devices in low-bandwidth, asynchronous applications |
US7282950B1 (en) * | 2004-11-08 | 2007-10-16 | Tabula, Inc. | Configurable IC's with logic resources with offset connections |
US7743085B2 (en) | 2004-11-08 | 2010-06-22 | Tabula, Inc. | Configurable IC with large carry chains |
US7330050B2 (en) | 2004-11-08 | 2008-02-12 | Tabula, Inc. | Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements |
US7317331B2 (en) | 2004-11-08 | 2008-01-08 | Tabula, Inc. | Reconfigurable IC that has sections running at different reconfiguration rates |
US7315993B2 (en) * | 2004-11-30 | 2008-01-01 | Lsi Logic Corporation | Verification of RRAM tiling netlist |
US7230869B1 (en) | 2005-03-15 | 2007-06-12 | Jason Redgrave | Method and apparatus for accessing contents of memory cells |
US7825684B2 (en) | 2005-03-15 | 2010-11-02 | Tabula, Inc. | Variable width management for a memory of a configurable IC |
US7298169B2 (en) * | 2005-03-15 | 2007-11-20 | Tabula, Inc | Hybrid logic/interconnect circuit in a configurable IC |
US7530033B2 (en) | 2005-03-15 | 2009-05-05 | Tabula, Inc. | Method and apparatus for decomposing functions in a configurable IC |
US7243314B2 (en) * | 2005-04-14 | 2007-07-10 | Inventec Corporation | Window operation interface for graphically revising electrical constraint set and method of using the same |
US7599242B2 (en) | 2005-09-28 | 2009-10-06 | Hynix Semiconductor Inc. | Test circuit for multi-port memory device |
US7679401B1 (en) | 2005-12-01 | 2010-03-16 | Tabula, Inc. | User registers implemented with routing circuits in a configurable IC |
US8090568B2 (en) * | 2006-02-21 | 2012-01-03 | Cadence Design Systems, Inc. | Hardware emulator having a variable input primitive |
US7694083B1 (en) * | 2006-03-08 | 2010-04-06 | Tabula, Inc. | System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture |
US7797497B1 (en) | 2006-03-08 | 2010-09-14 | Tabula, Inc. | System and method for providing more logical memory ports than physical memory ports |
US7930666B1 (en) | 2006-12-12 | 2011-04-19 | Tabula, Inc. | System and method of providing a memory hierarchy |
US7587697B1 (en) * | 2006-12-12 | 2009-09-08 | Tabula, Inc. | System and method of mapping memory blocks in a configurable integrated circuit |
US7514957B2 (en) | 2007-03-20 | 2009-04-07 | Tabula, Inc | Configurable IC having a routing fabric with storage elements |
US8112468B1 (en) | 2007-03-22 | 2012-02-07 | Tabula, Inc. | Method and apparatus for performing an operation with a plurality of sub-operations in a configurable IC |
US8344755B2 (en) | 2007-09-06 | 2013-01-01 | Tabula, Inc. | Configuration context switcher |
WO2010033263A1 (en) | 2008-09-17 | 2010-03-25 | Tabula, Inc. | Controllable storage elements for an ic |
US8443335B2 (en) * | 2009-12-09 | 2013-05-14 | Agnisys, Inc. | Apparatus and method for circuit design |
US8760193B2 (en) | 2011-07-01 | 2014-06-24 | Tabula, Inc. | Configurable storage elements |
US9148151B2 (en) | 2011-07-13 | 2015-09-29 | Altera Corporation | Configurable storage elements |
US9583190B2 (en) | 2011-11-11 | 2017-02-28 | Altera Corporation | Content addressable memory in integrated circuit |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4306286A (en) * | 1979-06-29 | 1981-12-15 | International Business Machines Corporation | Logic simulation machine |
US4583169A (en) * | 1983-04-29 | 1986-04-15 | The Boeing Company | Method for emulating a Boolean network system |
US4747070A (en) * | 1984-01-09 | 1988-05-24 | Wang Laboratories, Inc. | Reconfigurable memory system |
JPS60150957A (ja) * | 1984-01-14 | 1985-08-08 | Koken:Kk | レンズ加工機 |
US4870302A (en) * | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4706216A (en) * | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US4697241A (en) * | 1985-03-01 | 1987-09-29 | Simulog, Inc. | Hardware logic simulator |
US4937827A (en) * | 1985-03-01 | 1990-06-26 | Mentor Graphics Corporation | Circuit verification accessory |
US4761768A (en) * | 1985-03-04 | 1988-08-02 | Lattice Semiconductor Corporation | Programmable logic device |
US4935734A (en) * | 1985-09-11 | 1990-06-19 | Pilkington Micro-Electronics Limited | Semi-conductor integrated circuits/systems |
US5140687A (en) * | 1985-10-22 | 1992-08-18 | Texas Instruments Incorporated | Data processing apparatus with self-emulation capability |
US4937770A (en) * | 1986-02-07 | 1990-06-26 | Teradyne, Inc. | Simulation system |
US4744084A (en) * | 1986-02-27 | 1988-05-10 | Mentor Graphics Corporation | Hardware modeling system and method for simulating portions of electrical circuits |
US4862347A (en) * | 1986-04-22 | 1989-08-29 | International Business Machine Corporation | System for simulating memory arrays in a logic simulation machine |
US4758745B1 (en) * | 1986-09-19 | 1994-11-15 | Actel Corp | User programmable integrated circuit interconnect architecture and test method |
US4849928A (en) * | 1987-01-28 | 1989-07-18 | Hauck Lane T | Logic array programmer |
JP2699377B2 (ja) * | 1987-02-25 | 1998-01-19 | 日本電気株式会社 | ハードウエア論理シミユレータ |
US4914612A (en) * | 1988-03-31 | 1990-04-03 | International Business Machines Corporation | Massively distributed simulation engine |
US4901259A (en) * | 1988-08-15 | 1990-02-13 | Lsi Logic Corporation | Asic emulator |
US5452231A (en) * | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
EP0651343B1 (de) * | 1988-10-05 | 2004-04-28 | Quickturn Design Systems, Inc. | Verfahren zur Verwendung einer elektronisch wiederkonfigurierbaren Gatterfeld-Logik und dadurch hergestelltes Gerät |
US5109353A (en) * | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
US5129069A (en) * | 1989-01-24 | 1992-07-07 | Zenith Data Systems Corporation | Method and apparatus for automatic memory configuration by a computer |
GB8902982D0 (en) * | 1989-02-10 | 1989-03-30 | Plessey Co Plc | Machine for circuit design |
US5210701A (en) * | 1989-05-15 | 1993-05-11 | Cascade Design Automation Corporation | Apparatus and method for designing integrated circuit modules |
US5598344A (en) * | 1990-04-06 | 1997-01-28 | Lsi Logic Corporation | Method and system for creating, validating, and scaling structural description of electronic device |
US5255363A (en) * | 1990-06-19 | 1993-10-19 | Mentor Graphics Corporation | Graph-based programming system and associated method |
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 |
US5425036A (en) * | 1992-09-18 | 1995-06-13 | Quickturn Design Systems, Inc. | Method and apparatus for debugging reconfigurable emulation systems |
US5603043A (en) * | 1992-11-05 | 1997-02-11 | Giga Operations Corporation | System for compiling algorithmic language source code for implementation in programmable hardware |
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 |
US5487018A (en) * | 1993-08-13 | 1996-01-23 | Vlsi Technology, Inc. | Electronic design automation apparatus and method utilizing a physical information database |
US5448522A (en) * | 1994-03-24 | 1995-09-05 | Quickturn Design Systems, Inc. | Multi-port memory emulation using tag registers |
-
1994
- 1994-06-07 IL IL109921A patent/IL109921A/xx not_active IP Right Cessation
- 1994-06-13 DE DE4420610A patent/DE4420610A1/de not_active Withdrawn
- 1994-06-14 GB GB9411924A patent/GB2280524A/en not_active Withdrawn
- 1994-06-22 SE SE9402213A patent/SE9402213A0/sv not_active Application Discontinuation
- 1994-06-22 IT ITRM940407A patent/IT1273001B/it active IP Right Grant
- 1994-06-23 CA CA002126621A patent/CA2126621A1/en not_active Abandoned
- 1994-06-23 FR FR9407721A patent/FR2709006A1/fr active Pending
- 1994-06-24 JP JP6142973A patent/JPH0773066A/ja active Pending
-
1997
- 1997-10-17 US US08/953,315 patent/US5940603A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
GB2280524A (en) | 1995-02-01 |
IT1273001B (it) | 1997-07-01 |
CA2126621A1 (en) | 1994-12-25 |
US5940603A (en) | 1999-08-17 |
GB9411924D0 (en) | 1994-08-03 |
ITRM940407A0 (it) | 1994-06-22 |
FR2709006A1 (fr) | 1995-02-17 |
IL109921A0 (en) | 1994-10-07 |
SE9402213A0 (en) | 1995-02-24 |
ITRM940407A1 (it) | 1995-12-22 |
IL109921A (en) | 1997-09-30 |
JPH0773066A (ja) | 1995-03-17 |
SE9402213D0 (sv) | 1994-06-22 |
SE9402213L (de) |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4420610A1 (de) | Verfahren und Vorrichtung zum Konfigurieren von Speicherschaltkreisen | |
DE69835106T2 (de) | Eingebetteter logischer Analysator | |
EP0404482B1 (de) | Simulation von ausgewählten Logik-Schaltungsentwürfen | |
DE602004007503T2 (de) | REKONFIGURIERBARE ARCHITEKTUR FÜR SOCs | |
DE2918053C2 (de) | ||
DE10244757B3 (de) | Programmierung eines Speicherbausteins über ein Boundary Scan-Register | |
DE10053207A1 (de) | Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen | |
DE10034405B4 (de) | Verfahren und System zum Programmieren von FPGAs auf PC-Karten ohne zusätzliche Hardware | |
DE3606650A1 (de) | Hardware logik-simulator | |
DE19510902A1 (de) | Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern | |
EP0563597B1 (de) | Asic-Prototyper | |
DE69634227T2 (de) | Emulationssystem mit emulierten Mehrtaktzyklen pro Emulation-Taktzyklus und Signalweglenkung | |
DE10296464T5 (de) | Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen | |
EP1236222B1 (de) | Universelle vorrichtung sowie verfahren und werkzeuge zu ihrer verwendung | |
Doshi et al. | THEMIS logic simulator-a mix mode, multi-level, hierarchical, interactive digital circuit simulator | |
Petersen et al. | The Anyboard: a rapid-prototyping system for use in teaching digital circuit design | |
EP3142032B1 (de) | Verfahren zum ändern der konfiguration eines programmierbaren logikbausteins | |
Lo et al. | Hardware emulation board based on FPGAs and programmable interconnections | |
DE4408106A1 (de) | Verfahren zur Simulation einer in EDIF beschriebenen Schaltung mit einem VHDL-Simulator auf einem Rechner | |
DE4418225A1 (de) | Emulation eines Speichers mit mehrfachen Anschlüssen | |
Bellon et al. | Taking into account asynchronous signals in functional test of complex circuits | |
DE19950810C1 (de) | Vorrichtung zur Fehleremulation in digitalen Logikschaltungen | |
DE2848621A1 (de) | Verfahren zur rechnergesteuerten simulation der funktion einer mit logikschaltkreisen aufzubauenden schaltungsanordnung | |
DE69721787T2 (de) | Verfahren und Vorrichtung zur vollsichtbaren Ablaufverfolgung einer Emulation | |
DE102005039347A1 (de) | Verfahren und Vorrichtung zur Emulation von Halbleiter-Bauelementen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8127 | New person/name/address of the applicant |
Owner name: QUICKTURN DESIGN SYSTEMS, INC., (N.D. GESETZEN D. |
|
8139 | Disposal/non-payment of the annual fee |