DE69723530T2 - Durch einen Mikrokontroller steuerbare Makrozelle - Google Patents

Durch einen Mikrokontroller steuerbare Makrozelle Download PDF

Info

Publication number
DE69723530T2
DE69723530T2 DE69723530T DE69723530T DE69723530T2 DE 69723530 T2 DE69723530 T2 DE 69723530T2 DE 69723530 T DE69723530 T DE 69723530T DE 69723530 T DE69723530 T DE 69723530T DE 69723530 T2 DE69723530 T2 DE 69723530T2
Authority
DE
Germany
Prior art keywords
data
input
data bus
macro cell
pld
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69723530T
Other languages
English (en)
Other versions
DE69723530D1 (de
Inventor
Yoram Cedar
Arye Ziklik
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.)
STMicroelectronics lnc USA
Original Assignee
STMicroelectronics lnc USA
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 STMicroelectronics lnc USA filed Critical STMicroelectronics lnc USA
Publication of DE69723530D1 publication Critical patent/DE69723530D1/de
Application granted granted Critical
Publication of DE69723530T2 publication Critical patent/DE69723530T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns

Description

  • BEREICH DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf programmierbare logische Einrichtungen, deren Makrozellen und deren Anschlüsse an einen Schnittstellenbus einer Mikrosteuerung.
  • HINTERGRUND DER ERFINDUNG
  • Programmierbare logische Einrichtungen (PLDs) führen logische Funktionen schnell an mehreren Eingangssignalen durch. Wie in 1 gezeigt, auf die nun Bezug genommen wird, empfängt eine Anordnung von PLDs, die mit 12 gekennzeichnet ist, Eingangssignale über Eingangs-/Ausgangsblöcke 8. Die Ergebnisse der logischen Funktionen sind als "Produktterme" bekannt und werden von der PLD-Anordnung 12 zu einem oder mehreren Blöcken 8 ausgegeben, von denen jeder eine Makrozelle 14 und eine Eingangs-/Ausgangseinheit 16 aufweist.
  • Jede Makrozelle 14 weist ein OR-Gatter (ODER-Gatter) 20, ein XOR-Gatter 21, ein Flip-Flop 22 und einen Multiplexer 24 auf. Das OR-Gatter 20 führt OR-Operationen (ODER-Operationen) an zumindest zwei Produkttermen vom "OR-PT"-Typ durch und das XOR-Gatter 21 lässt wahlweise durch oder invertiert den Ausgang des OR-Gatters 20. Das Ergebnis wird dem Daten(D)-Eingang des Flip-Flops 22 zur Verfügung gestellt. Andere Produkttermsignale, wie etwa die CLOCK-PT-, PRESET-PT- und CLEAR-PT-Produktterme, steuern den Betrieb des Flip-Flops 22, wobei das CLOCK-PT ein Taktsignal ist, das PRESET-PT den Flip-Flop 22 aktiviert (stellt ein "1 "-Signal am Ausgang zur Verfügung) und CLEAR-PT den Flip-Flop 22 deaktiviert (stellt ein "0"-Signal am Ausgang zur Verfügung). Der Ausgang des Flip-Flops 22 ist ein "registriertes" Signal und kann durch den Multiplex 24 für das Ausgangssignal der Mikrozelle 14 ausgewählt werden. Alternativ kann der Multiplexer 24 den Dateneingang zum Flip-Flop 22, der ansonsten als ein "kombinatorisches" Signal bekannt ist, auswählen. Das registrierte Signal kann benötigt werden, um anderen Produkttermsignale zu bestimmen und wird deshalb der PLD-Anordnung 12 als ein "registriertes Rückkopplungssignal" zur Verfügung gestellt.
  • Typischerweise wird das Ausgangssignal der PLD-Anordnung 12 verwendet, um eine externe Einheit zu steuern, wie etwa das Öffnen oder Schließen eines Schalters. Das Ausgangssignal wird deshalb der Eingangs-/Ausgangseinheit 16 zur Verfügung gestellt, die einen konfigurierbaren Puffer 26 und einen externen Anschluss 28 aufweist, an den die externe Einheit angeschlossen ist. Der Puffer 26 wird durch ein einen Eingang freigebendes Produkttermsignal (OE-Produkttermsignal) konfiguriert, welches anzeigt, falls der Puffer 26 als ein Ausgangspuffer zu funktionieren hat, um ein Ausgangssignal zu steuern, oder als ein Eingangspuffer, durch welchen Signale zu empfangen sind. In dem letzteren Fall wird das Eingangssignal unmittelbar der PLD-Anordnung 12 zur Verfügung gestellt, um in der Tat die Makrozelle 14 zu umgehen.
  • In den programmierbaren Systemeinrichtungen (PSDs) von Waferscale Integration Inc. aus Fremont, Kalifornien, USA, dem gemeinsamen Inhaber der vorliegenden Erfindung, und in anderen Einrichtungen, wie etwa den MACH-Einrichtungen, hergestellt durch American Microsystems Devices auch aus Kalifornien oder den MAX-Einrichtungen von Altera auch aus Kalifornien. Die PLD-Anordnung 12 arbeitet zum Teil als eine periphere Einrichtung eine Mikrosteuerung 10 und im Ergebnis hat die Mikrosteuerung aus den Mikrozellen 14 auszulesen und in diese hineinzuschreiben. Die Leseoperation sollte auftreten, ohne das Ausgangssignal von der Makrozelle 14 zu beeinträchtigen. Falls z. B. die PLD-Anordnung 12 eine Zähleinrichtung realisiert, kann die Mikrosteuerung 10 es wünschen, entweder die Zähleinrichtung mit einem neuen Wert zu laden oder den gegenwärtigen Wert der Zähleinrichtung zu lesen.
  • Jede Mikrosteuerung 10 liest jedoch Daten, indem die Adresse platziert wird, um auf einem Adressbus 30 auszulesen und auf die Peripherie zu warten, um die Daten 32 zu platzieren, die auf einem Datenbus zu lesen sind. Ähnlich wird die Adresse, die hineinzuschreiben ist, auf dem Adressbus 30 platziert und die zu schreibenden Daten werden auf dem Datenbus 32 angeordnet. Ferner wird das Signal zum Lesen oder Schreiben getrennt, wie durch das Signal 34 bzw. 36 angezeigt, zur Verfügung gestellt.
  • Die Adresse und Daten enthalten N- bzw. M-Bits, wobei N typischerweise sechzehn und M typischerweise acht beträgt. Folglich sind Busse 30 und 32 an N- und M-Eingangs-/Ausgangsblöcke angeschlossen, die als ein einziger Block 40 bzw. 42 gezeigt sind. Der Eingangs-/Ausgangsblock für die Lese- und Schreibsignale ist mit 44 gekennzeichnet. Für die Adressbits und die Lese- und Schreibsignale, die allesamt Eingangssignale sind, sind die entsprechenden Puffer 26 als Eingangspuffer konfiguriert und die Adressbits sind entlang der Eingangsleitungen der PLD-Anordnung 12 vorgesehen. Die PLD-Anordnung 12 dekodiert die Adressbits, um zu bestimmen, auf welche Makrozelle 14 zuzugreifen ist.
  • Die Makrozelle 14, auf die zugegriffen wird, muss entweder die Daten, die in ihrem Flip-Flop 22 gespeichert sind, raus zu der PLD-Anordnung 12 zur Verfügung stellen oder Daten davon empfangen. In Reaktion stellt die PLD-Anordnung 12 entweder die Daten für eine Makrozelle 14, die an einen Datenbus 32 angeschlossen ist, zur Verfügung oder empfängt Daten davon.
  • Für eine Schreiboperation sind die Puffer 26 der Makrozelle, die an den Datenbus 32 angeschlossen ist, als Eingangspuffer konfiguriert und die Datenbits werden durch eine PLD-Anordnung 12 zu der angesteuerten Makrozelle 14 hindurch gelassen. Um tatsächlich ein Datenbit in den Flip-Flop 22 der zugegriffenen bzw. angesteuerten Makrozelle 14 zu schreiben, stellt die PLD-Anordnung 12 entweder das OR-PT-Signal ein, das in das Flip-Flop 22 durch das CLOCK-PT-Signal getaktet wird, oder wählt eines oder ein anderes der PRESET-PT- und CLEAR-PT-Signale abhängig von dem Wert (1 oder 0), der einzuschreiben ist, aus.
  • Für Daten, die aus einer aufgerufenen Makrozelle 14 ausgelesen sind, stellt die aufgerufene Makrozelle 14 zunächst die Daten der PLD-Anordnung 12 über das Register-Rückkopplungssignal zur Verfügung. Die PLD-Anordnung 12 stellt dann die Datenbits als den kombinatorischen Ausgang der Makrozellen 14, angeschlossen an den Datenbus 32, zur Verfügung. Wie es bevorzugt wird, ändert sich für die Datenbits das Ausgangsfreigabesignal (OE-PT-Signal) der Makrozellen, die an den Datenbus angeschlossen sind, und der angesteuerten bzw. aufgerufenen Makrozellen, abhängig davon, ob das Lese- (das heißt Ausgang) oder Schreibsignal (das heißt Eingang) angegeben worden ist.
  • Es wird bevorzugt, dass mit einer PLD-Anordnung aufgerufene Daten drei Gruppen von Makrozellen erfordern, wobei eine Gruppe an den Adressbus angeschlossen ist, eine zweite Gruppe die Makrozelle ist, auf die zugegriffen wird, und eine dritte Gruppe an den Datenbus angeschlossen ist. Ferner hat die PLD-Anordnung 12 Daten durch sich zweifach hindurch zu leiten, einmal von den Makrozellen, die an den Adressbus angeschlossen sind, zu der aufgerufenen Makrozelle, und einmal von der aufgerufenen Makrozelle zu den an den Datenbus angeschlossenen Makrozellen.
  • Es wird ferner bevorzugt, dass das Hindurchleiten von Daten- und Adressinformationen durch die PLD-Anordnung 12 zusätzlich erfordert, dass die Bussignale einer Standard-Zeitsteuerung bzw. -Taktung folgen. Die 2, auf die nun kurz Bezug genommen wird, stellt die Taktung bzw. zeitliche Steuerung eines einzelnen Lese/Schreibzyklus dar. Die Mikrosteuerung beginnt mit dem Ansteuern des Adressbusses mit einer Adresse 50, wie in einem Graph A dargestellt. Die Adresse wird üblicherweise durch eine externe Einheit (nicht gezeigt) dekodiert und ein ausgewähltes Signal wird für die ausgesuchte Peripherie, wie etwa das PLD 12, erzeugt. Die Peripherie wartet dann auf die nächste Phase des Buszyklus, wenn die Mikrosteuerung entweder das Lese- oder das Schreibsignal angibt, wie es im Graph B angezeigt wird.
  • In einem Lesezyklus antwortet die Peripherie, indem der Datenzyklus mit der erforderlichen Information, gekennzeichnet mit 52, angesteuert wird, und die Mikrosteuerung 10 hält die Daten bzw. speichert die Daten zwischen bei einer ansteigenden Flanke 54 des Lesesignals. In einem Schreibzyklus stellt die Mikrosteuerung Daten 52 zur Verfügung und die Peripherie hält bzw. zwischenspeichert Daten 52 an der ansteigenden Flanke 54 des Schreibpulses.
  • Es wird bevorzugt, dass Durchgangs- bzw. Überlaufzustände zwischen den Daten und den Lese-/Schreibsignalen auf Grund von Verletzungen des Busaufbaus bzw. der Buseinstellung und des zeitlichen Haltens bzw. Zwischenspeicherns auftreten können, welche auftreten, weil die PLD 12 in sich Verzögerungen hat. Weil darüber hinaus die PLD 12 jedes Mal, wenn sie ein Signal empfängt, hoch fährt, wird die Tatsache, dass die Adress- und Datenbusse an die PLD 12 angeschlossen sind, jede Änderung in dem Bus dazu bringen, einen Hochfahr-/Herunterfahrzyklus der PLD 12 zu triggern bzw. zu steuern. Dieses fortgesetzte Durchlaufen trägt zum Leistungsverbrauch bei.
  • Das Leiten der Adress- und Datenbusdaten zu den Makrozellen verwendet noch weiterhin die kritischen PRESET-, CLEAR-, CLOCK- und OR-Produktterme, was es schwierig macht, die verbleibenden logischen Funktionen zu verwirklichen, die die PLD-Anordnung durchführen muss, ungeachtet der Zeit, die erforderlich ist, um die logischen Funktionen zu entwickeln, die den Adress- und Datenbussignalen entsprechen bzw. antworten.
  • Die US 5,386,155 offenbart eine Vorrichtung und ein Verfahren für einen ausgewählten Polaritäts- und Ausgangstyp in einer programmierbaren logischen Einrichtung. Ein konfigurierbarer Funktionsblock wird vorgesehen, der wie eine programmierbare logische Einrichtung programmierbar ist. Wenn der konfigurierbare Funktionsblock konfiguriert ist, um in einem logischen Modus zu arbeiten, arbeitet eine flüchtige logische Anordnung als höchst funktionsfähige programmierbare Logik. Steuersignale werden innerhalb der flüchtigen Logikanordnung erzeugt und dienen als Steuersignale für Makrozellen.
  • Die US 5,231,312 offenbart eine integrierte logische Schaltung mit flexibel arbeitenden Eingangs-/Ausgangsmakrozellen. Eine Makrozelle für eine integrierte Schaltungspackung setzt einen Multiplexer ein, um den Dateneingang eines Speicherregisters einer Makrozelle oder einen Flip-Flop auszuwählen.
  • Die US 5,220,214 beschreibt eine registrierte logische Makrozelle mit Produkttermzuweisung und benachbarter Produkttermwegnahme. In der Makrozelle können Produktterme zu der Registerlogik gesteuert werden, ohne die Verwendung einer OR-Funktion zu opfern. Programmierbare Konfigurationsschalter können individuelle Eingangsproduktterme zu sekundären Eingängen zu dem Register richten.
  • S. E. Wahlstrom et al., "An 11 000-Fuse Electrically Erasable Programmable Logic Device (EEPLD) with an Extended Macrocell", IEEE Journal of Solid-State Circuits, 23 (1988), Nr. 4, Seiten 916-922, offenbart eine programmierbare AND-Anordnung, an welche eine Anzahl von I/O-Logikmakrozellen angeschlossen sind.
  • Sicherungen bzw. Schmelzsicherungen werden in der logischen Anordnung und in der Eingangs-/Ausgangsmakrozelle (I/O-Makrozelle) verwendet.
  • Es ist die Aufgabe der Erfindung, eine Schaltung und eine entsprechende Datenbusmakrozelle zur Verfügung zu stellen, die die genaue Steuerung der Taktung bzw. zeitlichen Steuerung der Bussignale ermöglichen und die den Leistungsverbrauch verringern.
  • Diese Aufgaben werden durch die Erfindung, wie sie in den unabhängigen Ansprüchen beansprucht wird, gelöst.
  • Bevorzugte Ausführungsformen der Erfindung werden in den abhängigen Ansprüchen definiert.
  • Gemäß der Erfindung gibt es für Busoperationen zu und von den Makrozellen keine Notwendigkeit, Signale von der angesteuerten Makrozelle durch die programmierbare Logikeinrichtung (PLD) hindurch zu leiten. Statt dessen können der Datenbus und Lese-/Schreibsignale unmittelbar an die aufgerufenen Makrozellen angeschlossen werden und der Adressbus kann unmittelbar an die PLD-Anordnung angeschlossen werden.
  • In Übereinstimmung mit einer bevorzugten Ausführungsform der vorliegenden Erfindung wird deshalb eine auf einer PLD basierende Schaltung zur Verfügung gestellt, die an eine Mikrosteuerung anschließbar ist, einen Adressbus, einen Datenbus, eine Leseleitung und eine Schreibleitung hat. Die Schaltung enthält die PLD-Anordnung; zumindest einen Eingangsanschluss, der an die PLD-Anordnung angeschlossen ist und der an den Adressbus und an zumindest eine Datenbusmakrozelle anschließbar ist. Die Datenbusmakrozelle ist an die PLD-Anordnung und an eine externe Einheit angeschlossen und ist an den Datenbus, die Leseleitung und die Schreibleitung anschließbar. Auf die Datenbusmakrozelle kann unmittelbar durch den Datenbus zugegriffen werden.
  • Es wird gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung auch eine auf einer PLD basierende Schaltung zur Verfügung gestellt, die an eine Mikrosteuerung anschließbar ist, welche einen Adressbus, einen Datenbus, eine Leseleitung und eine Schreibleitung hat. Die Schaltung enthält die PLD-Anordnung, zumindest einen Eingangsanschluss, der an die PLD-Anordnung anschließbar ist und an den Adressbus und zumindest eine Datenbusmakrozelle angeschlossen ist. Die Datenbusmakrozelle ist an die PLD-Anordnung und an eine externe Einheit angeschlossen und ist unmittelbar an den Datenbus, die Leseleitung und die Schreibleitung angeschlossen. Auf die Datenbusmakrozelle kann unmittelbar durch den Datenbus zugegriffen werden. Die Datenbusmakrozelle enthält einen Dateneingabe-Flip-Flop, der zumindest einen Dateneingabe-Eingangsport und einen Ausgangsport zum Speichern eines Datenbits in sich, einen Ausgangspuffer, der an den Ausgangsport des Dateneingabe-Flip-Flops angeschlossen ist, eine Datenleitung, die an den Datenbus anschließbar ist, und an den Dateneingabe-Eingangsport und den Ausgangpuffer und Lesemittel und Schreibmittel angeschlossen ist, hat. Die Lesemittel sind an eine Auswählleitung angeschlossen, die aktiv ist, wenn die Datenbusmakrozelle durch die Mikrosteuerung adressiert bzw. angesteuert wird, und an die Leseleitung zum Aktivieren des Ausgangspuffers angeschlossen ist, um das Datenbit für den Datenbus zur Verfügung zu stellen. Die Schreibmittel sind an die Auswählleitung und die Schreibleitung angeschlossen, um den Dateneingabe-Flip-Flop zu aktivieren, um ein Datenbit zu speichern, das an dem Datenbus zur Verfügung gestellt wird.
  • Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung wird auch eine auf einer PLD basierende Schaltung zur Verfügung gestellt, die an eine Mikrosteuerung anschließbar ist. Die Schaltung enthält die PLD-Anordnung, zumindest einen Eingangsanschluss, der unmittelbar an die PLD-Anordnung ange schlossen ist und an den Adressbus anschließbar ist, zumindest eine Makrozelle, die an die PLD-Anordnung mit ihrem entsprechenden Eingangs-/Ausgangsanschluss und zumindest eine Datenbusmakrozelle angeschlossen ist. Die Datenbusmakrozelle ist an die PLD-Anordnung angeschlossen und hat einen Eingangs/Ausgangsanschluss, zwei Eingangsanschlüsse und einen Ausgangsanschluss, die damit verknüpft sind. Der Eingangs-/Ausgangsanschluss ist an den Datenbus anschließbar, wobei die Eingangsanschlüsse an die Lese- und Schreibleitungen anschließbar sind, und der Ausgangsanschluss ist an die Außenwelt anschließbar.
  • Zusätzlich enthält gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung die Datenbusmakrozelle einen Dateneingangs-Flip-Flop, einen Ausgangspuffer, eine Datenleitung, eine Leseeinheit und eine Schreibeinheit. Der Dateneingangs-Flip-Flop hat zumindest einen Dateneingangs-Eingangsport und einen Ausgangsport, um ein Datenbit darin zu speichern. Der Ausgangspuffer ist an den Ausgangsport des Dateneingangs-Flip-Flops angeschlossen. Die Datenleitung ist an den Datenbus anschließbar und ist an den Dateneingangs-Eingangsport und den Ausgangspuffer angeschlossen. Die Leseeinheit ist an eine Auswählleitung angeschlossen, die aktiv ist, wenn die Datenbusmakrozelle durch die Mikrosteuerung adressiert bzw. angesteuert wird, und ist an die Leseleitung angeschlossen. Die Leseeinheit aktiviert den Ausgangspuffer, um das Datenbit für den Datenbus zur Verfügung zu stellen. Die Schreibeinheit ist an die Auswählleitung und an die Schreibleitung angeschlossen und aktiviert den Dateneingangs-Flip-Flop, um ein Datenbit zu speichern, das an dem Datenbus zur Verfügung gestellt wird.
  • KURZE BESCHREIBUNG DER DARSTELLUNGEN
  • Die vorliegende Erfindung wird aus der folgenden detaillierten Beschreibung, die in Verbindung mit den Darstellungen zu lesen ist, vollständiger zu verstehen und zu erkennen sein, in welchen:
  • 1 eine Darstellung eines Schaltungsdiagramms nach dem Stand der Technik von einer PLD und einer Makrozellenanordnung ist, die mit einer Mikrosteuerung über Daten- und Adressbusse kommunizieren;
  • 2 ist ein Taktungs- bzw. Zeitsteuerungsdiagramm eines Datenlese-/-schreibzyklus nach dem Stand der Technik;
  • 3 ist eine Darstellung eines Schaltungsdiagramms einer PLD- und Makrozellenanordnung, die mit einer Mikrosteuerung über Daten- und Adressbusse kommuniziert, die gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung aufgebaut und betreibbar ist; und
  • 4 ist eine Darstellung eines Schaltungsdiagramms eines Dateneingangs-Flip-Flops, der bei der Schaltung nach 3 nützlich ist.
  • DETAILLIERTE BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Es wird nun Bezug auf 3 genommen, welche eine programmierbare Logikeinrichtung (PLD) und eine Makrozellenanordnung darstellt, die einen unmittelbaren Zugriff zwischen der Makrozelle und dem Datenbus und zwischen dem Adressbus und der PLD-Anordnung zum Zwecke des Lesens aus spezifischen Makrozellen und des Schreibens in diese zur Verfügung stellt. Bestandteile von 3, die ähnlich bzw. gleich zu jenen nach 1 sind, tragen gleiche Bezugsziffern.
  • Wie in dem Stand der Technik kommuniziert die PLD-Anordnung 12 mit der Außenwelt indirekt (das heißt über Makrozellen 14 und Eingabe-/Ausgabeeinheiten 16). Zusätzlich ist gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung der Adressbus 30 direkt an die PLD-Anordnung 12 angeschlossen (eher als über eine Makrozelle) und der Datenbus 32 kommuniziert direkt mit der Makrozelle, die Daten speichert, die von Interesse sind. Dies verringert die Anzahl von Makrozellen merklich, die der Interaktion mit den Adress- und Datenbussen gewidmet sind.
  • Insbesondere ist der Adressbus 30 direkt an N-Anschlüsse 60 (zur Verdeutlichung als ein einziger Block gezeigt) angeschlossen, wobei N die Anzahl von Bits in jeder Adresse ist, und Anschlüsse 60 sind direkt an die PLD-Anordnung 12 angeschlossen, eher als über eine Makrozelle angeschlossen zu sein. Ferner sind ein Datenbus 32 und Lese- und Schreibleitungen 34 bzw. 36 unmittelbar an mehrere Datenbusmakrozellen 64 (nur eine ist gezeigt) angeschlossen, die jeweils Daten speichern, die von Interesse sind.
  • Es wird bevorzugt, dass die Kommunikation über eine PLD-Anordnung 12 in der vorliegenden Erfindung eine PLD-Anordnung 12 einmal verwendet, um die Adressbits zu dekodieren, welche der Adressbus 30 unmittelbar für sie zur Verfügung stellt, und von dem Dekodieren, um ein SELECT-PT-Signal von der relevanten Datenbusmakrozelle 64 zu aktivieren, auf deren Daten zugegriffen werden soll.
  • Die Datenbusmakrozelle 64 weist auf ein OR-Gatter 20, ein XOR-Gatter 21 und einen Multiplexer 24, wie im Stand der Technik, ein Dateneingangs-Flip-Flop 70, einen Eingabe-/Ausgabepuffer 72 und AND-Gatter 74 und 76. Das Dateneingangs-Flip-Flop 70 hat den Standardausgang Q und die Standardeingänge: CL, an welchem das CLOCK-PT-Signal angeschlossen ist, C, an welchem das CLEAR-PT-Signal angeschlossen ist, D, an welchem der Ausgang des OR-Gatters angeschlossen ist, und P, an welchem das PRESET-PT-Signal angeschlossen ist. Zusätzlich hat gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung der Dateneingangs-Flip-Flop 70 zwei Eingänge zum Laden (L) und Dateneingabe (DI). Der Ladeeingang zeigt dem Dateneingangs-Flip-Flop 70 an, den Wert zu laden, der an dem Dateneingabeeingang zur Verfügung gestellt ist.
  • Der Ladeeingang ist an den Ausgang des AND-Gatters 74 angeschlossen, welches die SELECT-PT-Leitung (erzeugt durch die PLD-Anordnung 12 in Reaktion auf eine Adresse am Adressbus 30) und die Schreibleitung 36 empfängt. Folglich ist das LOAD-Signal aktiviert, wenn die Mikrosteuerung 10 die Schreibleitung 36 aktiviert, und wählt die gegenwärtige Datenbusmakrozelle 64. Der Dateneingabeeingang wird an einen Anschluss 62 angeschlossen, der an den Datenbus 32 angeschlossen ist. Wenn folglich das LOAD-Signal aktiviert wird, veranlasst es den Dateneingabe-Flip-Flop 70 dazu, das relevante Datenbit vom Datenbus 32 zu laden.
  • Das AND-Gatter 76 empfängt die Leseleitung 34 und die SELECT-PT-Leitung und erzeugt ein Ausgangsfreigabe(OE)-Signal, welches dem Puffer 72 zur Verfügung gestellt wird. Wenn folglich die SELECT-PT aktiv ist (weil die momentane Datenbusmakrozelle 64 ausgewählt worden ist) und die Leseleitung 34 aktiviert ist, wird der Puffer 72 ein Ausgabepuffer sein. Weil der Puffer 72 am Eingang an das Ausgangssignal des Dateneingabe-Flip-Flops 70 und am Ausgang an den Anschluss 62, der an den Datenbus 32 angeschlossen ist, wenn aktiviert ist, angeschlossen ist, stellt der Puffer 72 das Ausgangssignal des Dateneingangs-Flip-Flops 70 der Mikrosteuerung 10 zur Verfügung. Ansonsten wird der Puffer 72 inaktiv sein.
  • Es wird bevorzugt bzw. erkannt, dass die Datenbusmakrozelle 64 die Mikrosteuerung 10 befähigt, unmittelbar auf Informationen in dem Dateneingangs-Flip-Flop 70 zuzugreifen. Folglich kann die Taktung bzw. zeitliche Steuerung der Antwort auf das Adresssignal (das heißt Anordnung der Daten am Datenbus 32) genauer gesteuert werden.
  • Die 4, auf die nun kurz Bezug genommen wird, stellt die Bestandteile des Dateneingangs-Flip-Flops 70 dar. Das Flip-Flop 70 weist einen Standard-D-Flip-Flop 80, zwei Multiplexer 82 und 84 und einen Inverter 86 auf. Das D-Flip-Flop 80 empfängt den Ausgang des OR-Gatters 20 und des XOR-Gatters 21 an seinem D-Eingang und das CLOCK-PT-Signal an seinem CK-Eingang. Wie bei allen Flip-Flops wird der Ausgang an dem Q-Ausgangsport zur Verfügung gestellt.
  • Der Multiplexer 82 ist an den Voreinstellungs(P)-Eingang des D-Flip-Flops 80 angeschlossen und der Multiplexer 84 ist an den Lösch(C)-Eingang des D-Flip-Flops 80 angeschlossen. Der Multiplex 82 empfängt das PRESET-PT-Signal und das DI-Signal (das heißt das Datenbussignal) und wählt zwischen ihnen gemäß dem LOAD-Signal L aus. Der Multiplexer 84 empfängt die CLEAR-PT und das Inverse des DI-Signals, zur Verfügung gestellt durch den Inverter 86, und wählt zwischen diesen gemäß dem LOAD-Signal aus. Wenn folglich das LORD-Signal nicht aktiv ist, stellt der Multiplexer 82 das PRESET-PT-Signal zur Verfügung und der Multiplexer 84 stellt das CLEAR-PT-Signal für den D-Flip-Flop 80 zur Verfügung. Wenn jedoch das LOAD-Signal aktiv ist, stellen die Multiplexer 82 und 84 das Datenbussignal und sein Inverses für den Voreinstellungs- bzw. Löscheingang zur Verfügung.
  • Es wird von den Fachleuten im Stand der Technik erkannt, dass die vorliegende Erfindung nicht auf das beschränkt ist, was hier oben insbesondere gezeigt und beschrieben worden ist. Der Bereich der vorliegenden Erfindung wird eher nur durch die Ansprüche bestimmt, wie folgt:

Claims (3)

  1. Schaltung, die an eine Mikrosteuerung (10) anschließbar ist, die einen Datenbus (32) hat, wobei die Schaltung aufweist: eine programmierbare Logikeinrichtungs(PLD)-Anordnung (12); und zumindest eine Datenbus-Makrozelle (64), die an die PLD-Anordnung und an eine exter ne Einrichtung anschließbar ist, dadurch gekennzeichnet, dass die Mikrosteuerung ferner einen Adressbus (30), eine Abtast- bzw. Leseleitung (34) und eine Schreibleitung (36) hat; die Schaltung ferner aufweist, zumindest einen Eingangsanschluss (60), der an die PLD-Anordnung und an den Adressbus anschließbar ist; die zumindest eine Datenbus-Makrozelle ist unmittelbar an den Datenbus, die Abtast- bzw. Leseleitung und die Schreibleitung angeschlossen; und auf die zumindest eine Datenbus-Makrozelle kann unmittelbar durch den Datenbus zugegriffen werden.
  2. Schaltung nach Anspruch 1 und wobei die Datenbus-Makrozelle aufweist: einen Dateneingabe-Flip-Flop (70), der zumindest einen Dateneingabeport (D1) und einen Ausgangsport (Q zum Speichern eines Datenbits darin hat; einen Ausgangspuffer (72), der an den Ausgangsport des Dateneingangs-Flip-Flops angeschlossen; eine Datenleitung, die an den Datenbus anschließbar ist, und an den Dateneingangsport und an den Ausgangspuffer angeschlossen ist; ein Lese- bzw. Abtastmittel (76), das an eine Auswählleitung (SELECT-PT) angeschlossen ist, die aktiv ist, wenn die Datenbus-Makrozelle durch die Mikrosteuerung adressiert bzw. angesteuert wird, und an die Lese- bzw. Abtastleitung zum Aktivieren des Ausgangspuffers angeschlossen ist, um das Datenbit bzw. die Datenbits für den Datenbus zur Verfügung zu stellen; und eine Schreibeinrichtung (74), die an die Auswählleitung und an die Schreibleitung zum Aktivieren des Dateneingabe-Flip-Flops angeschlossen ist, um ein Datenbit zu speichern, das auf dem Datenbus zur Verfügung gestellt wird.
  3. Schaltung nach einem der Ansprüche 1 oder 2, die ferner aufweist: zumindest eine Makrozelle, die an die PLD-Anordnung angeschlossen ist, die einen Eingangs-/Ausgangsanschluss hat, der damit verbunden ist; wobei die zumindest eine Datenbus-Makrozelle einen Eingangs-/Ausgangsanschluss, zwei Eingangsanschlüsse und einen Ausgangsanschluss hat, die damit verknüpft sind, wobei: der Eingangs-/Ausgangsanschluss an den Datenbus angeschlossen ist; die Eingangsanschlüsse an die Abtast- bzw. Leseleitung und die Schreibleitung angeschlossen sind; und der Ausgangsanschluss an die Außenwelt angeschlossen ist.
DE69723530T 1996-11-01 1997-10-30 Durch einen Mikrokontroller steuerbare Makrozelle Expired - Fee Related DE69723530T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/742,710 US5834947A (en) 1996-11-01 1996-11-01 Microcontroller accessible macrocell
US742710 1996-11-01

Publications (2)

Publication Number Publication Date
DE69723530D1 DE69723530D1 (de) 2003-08-21
DE69723530T2 true DE69723530T2 (de) 2004-06-09

Family

ID=24985902

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69723530T Expired - Fee Related DE69723530T2 (de) 1996-11-01 1997-10-30 Durch einen Mikrokontroller steuerbare Makrozelle

Country Status (4)

Country Link
US (2) US5834947A (de)
EP (1) EP0840455B1 (de)
JP (1) JPH10242842A (de)
DE (1) DE69723530T2 (de)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467009B1 (en) 1998-10-14 2002-10-15 Triscend Corporation Configurable processor system unit
US6851047B1 (en) 1999-10-15 2005-02-01 Xilinx, Inc. Configuration in a configurable system on a chip
US6721840B1 (en) 2000-08-18 2004-04-13 Triscend Corporation Method and system for interfacing an integrated circuit to synchronous dynamic memory and static memory
US6751723B1 (en) 2000-09-02 2004-06-15 Actel Corporation Field programmable gate array and microcontroller system-on-a-chip
US6466049B1 (en) * 2000-09-14 2002-10-15 Xilinx, Inc. Clock enable control circuit for flip flops
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6825689B1 (en) * 2000-10-26 2004-11-30 Cypress Semiconductor Corporation Configurable input/output interface for a microcontroller
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US6725364B1 (en) 2001-03-08 2004-04-20 Xilinx, Inc. Configurable processor system
US7107374B1 (en) 2001-09-05 2006-09-12 Xilinx, Inc. Method for bus mastering for devices resident in configurable system logic
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US6670826B1 (en) * 2002-04-26 2003-12-30 Xilinx, Inc. Configurable logic block with a storage element clocked by a write strobe pulse
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7453285B2 (en) * 2006-12-22 2008-11-18 Chaologix, Inc. Dynamically configurable logic gate using a non-linear element
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
WO2008141098A2 (en) * 2007-05-09 2008-11-20 Chaologix, Inc. Dynamically configurable high speed interconnect using a nonlinear element
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US9946667B2 (en) * 2008-11-12 2018-04-17 Microchip Technology Incorporated Microcontroller with configurable logic array
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US7791375B1 (en) * 2009-07-10 2010-09-07 Altera Corporation DQS re sync calibration
US8710454B2 (en) 2011-01-04 2014-04-29 Lawrence Livermore National Security, Llc High gradient lens for charged particle beam
JP6428488B2 (ja) * 2015-05-28 2018-11-28 富士通株式会社 加減算器及び加減算器の制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5091661A (en) * 1990-09-24 1992-02-25 Altera Corporation Methods and apparatus for reducing coupling noise in programmable logic devices
US5220214A (en) * 1991-04-22 1993-06-15 Altera Corporation Registered logic macrocell with product term allocation and adjacent product term stealing
US5153462A (en) * 1991-05-21 1992-10-06 Advanced Micro Devices, Inc. Programmable logic device incorporating voltage comparator
US5231312A (en) * 1992-03-12 1993-07-27 Atmel Corporation Integrated logic circuit with functionally flexible input/output macrocells
US5386155A (en) * 1993-03-30 1995-01-31 Intel Corporation Apparatus and method for selecting polarity and output type in a programmable logic device
US5399922A (en) * 1993-07-02 1995-03-21 Altera Corporation Macrocell comprised of two look-up tables and two flip-flops
US5386115A (en) * 1993-09-22 1995-01-31 Westinghouse Electric Corporation Solid state micro-machined mass spectrograph universal gas detection sensor

Also Published As

Publication number Publication date
DE69723530D1 (de) 2003-08-21
JPH10242842A (ja) 1998-09-11
EP0840455B1 (de) 2003-07-16
US6066961A (en) 2000-05-23
EP0840455A3 (de) 2000-11-15
EP0840455A2 (de) 1998-05-06
US5834947A (en) 1998-11-10

Similar Documents

Publication Publication Date Title
DE69723530T2 (de) Durch einen Mikrokontroller steuerbare Makrozelle
DE69534812T2 (de) Programmierbare logische Vorrichtung, die mehr als eine Konfiguration speichert, und Mittel zum Umschalten der Konfiguration
DE3645221C2 (de)
DE69633370T2 (de) Benutzerprogrammierbares Gatterfeld mit Multiport-RAM
DE3742514C2 (de)
EP0030007A2 (de) Integrierter Speicherbaustein mit wählbaren Betriebsfunktionen
DE19510902A1 (de) Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern
DE2725396C3 (de)
DE60226141T2 (de) Fifo-speicher system und verfahren dafür
DE19814415A1 (de) Logikanalyse-Untersystem in einem Zeitscheibenemulator
DE102011053359A1 (de) Latch-basierte Speichervorrichtung
DE3739993C2 (de)
DE3320191A1 (de) Uebertragungssystem zwischen computern
DE4024594C2 (de)
EP0585119B1 (de) Programmierbare logische Vorrichtung
DE3221872A1 (de) Informations-speicheranordnung
DE60129269T2 (de) Speicherschaltung für eine programmierbare logische integrierte Schaltungsanordnung
EP1205938B1 (de) Integrierte Schaltung mit Testbetriebsart und Verfahren zum Testen einer Vielzahl solcher integrierter Schaltungen
DE4200782C2 (de) Mikro-Steuereinheit
DE3342354A1 (de) Weich programmierbare logikanordnung
DE19522335A1 (de) Verfahren zum Einstellen von Eingabe/Ausgabe-Basisadressen und Vorrichtung für jumperfreie Konfiguration
DE10153665A1 (de) Speichertester mit verbesserter Nachdecodierung
DE2713068A1 (de) Sequentielle datenverarbeitungsanlage
DE1806464A1 (de) Adressengenerator fuer einen Digitalrechner
DE10049104A1 (de) Hochgeschwindigkeits-Adressfolgesteuerungsgerät

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee