DE4420610A1 - Verfahren und Vorrichtung zum Konfigurieren von Speicherschaltkreisen - Google Patents

Verfahren und Vorrichtung zum Konfigurieren von Speicherschaltkreisen

Info

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
Application number
DE4420610A
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
PiE 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 PiE Design Systems Inc filed Critical PiE Design Systems Inc
Publication of DE4420610A1 publication Critical patent/DE4420610A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • 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

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).
Tabelle I
Konfigurationen für 32-Bit-Datenwort mit 8-Bit-Schreibauswahl
Konfigurationen für 64-Bit-Datenwort mit 8-Bit-Schreibauswahl
Konfigurationen für 128-Bit-Datenwort mit 16-Bit-Schreibauswahl
Konfigurationen für 256-Bit-Datenwort mit 32-Bit-Schreibauswahl

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.
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.
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.
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.
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.
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.
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.
DE4420610A 1993-06-24 1994-06-13 Verfahren und Vorrichtung zum Konfigurieren von Speicherschaltkreisen Withdrawn DE4420610A1 (de)

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)

* Cited by examiner, † Cited by third party
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
DE69910172T2 (de) * 1998-09-25 2004-05-19 Koninklijke Philips Electronics N.V. Schaltkreis mit pseudo-mehrport-speicher
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
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
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
US7167025B1 (en) 2004-02-14 2007-01-23 Herman Schmit Non-sequentially configurable IC
US7425841B2 (en) 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
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
US7530033B2 (en) 2005-03-15 2009-05-05 Tabula, Inc. Method and apparatus for decomposing functions in a configurable IC
US7298169B2 (en) * 2005-03-15 2007-11-20 Tabula, Inc Hybrid logic/interconnect circuit 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
US7587697B1 (en) * 2006-12-12 2009-09-08 Tabula, Inc. System and method of mapping memory blocks in a configurable integrated circuit
US7930666B1 (en) 2006-12-12 2011-04-19 Tabula, Inc. System and method of providing a memory hierarchy
WO2008115243A2 (en) 2007-03-20 2008-09-25 Tabula, Inc. Configurable ic having a routing fabric with storage elements
US7610566B1 (en) 2007-03-22 2009-10-27 Tabula, Inc. Method and apparatus for function decomposition
EP2201569A4 (de) * 2007-09-06 2011-07-13 Tabula Inc Konfigurationskontextwechsler
US8674721B2 (en) 2008-09-17 2014-03-18 Tabula, Inc. Controllable storage elements for an IC
US8443335B2 (en) * 2009-12-09 2013-05-14 Agnisys, Inc. Apparatus and method for circuit design
US8941409B2 (en) 2011-07-01 2015-01-27 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)

* Cited by examiner, † Cited by third party
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
US4937827A (en) * 1985-03-01 1990-06-26 Mentor Graphics Corporation Circuit verification accessory
US4697241A (en) * 1985-03-01 1987-09-29 Simulog, Inc. Hardware logic simulator
US4761768A (en) * 1985-03-04 1988-08-02 Lattice Semiconductor Corporation Programmable logic device
DE3630835C2 (de) * 1985-09-11 1995-03-16 Pilkington Micro Electronics Integrierte Halbleiterkreisanordnungen und Systeme
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
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
US5452231A (en) * 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
US5109353A (en) * 1988-12-02 1992-04-28 Quickturn Systems, Incorporated Apparatus for emulation of electronic hardware system
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

Also Published As

Publication number Publication date
FR2709006A1 (fr) 1995-02-17
IT1273001B (it) 1997-07-01
ITRM940407A1 (it) 1995-12-22
CA2126621A1 (en) 1994-12-25
IL109921A (en) 1997-09-30
JPH0773066A (ja) 1995-03-17
GB9411924D0 (en) 1994-08-03
ITRM940407A0 (it) 1994-06-22
IL109921A0 (en) 1994-10-07
US5940603A (en) 1999-08-17
SE9402213L (de)
SE9402213A0 (en) 1995-02-24
GB2280524A (en) 1995-02-01
SE9402213D0 (sv) 1994-06-22

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
DE10231956A1 (de) Verfahren und Vorrichtung zur systeminternen Programmierung durch einen gemeinsamen Verbindungspunkt von programmierbaren logischen Bauelementen auf mehreren Schaltungsplatinen eines Systems
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
DE4418225A1 (de) Emulation eines Speichers mit mehrfachen Anschlüssen
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
DE10161578C2 (de) Verfahren zum Anschließen von Testbenchelementen und Vorrichtung
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