DE3437511A1 - Integrationsschaltung fuer grossschaltkreise, die in isochrone gebiete unterteilt ist, verfahren zum maschinengesteuerten entwerfen einer derartigen schaltung und verfahren zum maschinengesteuerten pruefen einer derartigen schaltung - Google Patents
Integrationsschaltung fuer grossschaltkreise, die in isochrone gebiete unterteilt ist, verfahren zum maschinengesteuerten entwerfen einer derartigen schaltung und verfahren zum maschinengesteuerten pruefen einer derartigen schaltungInfo
- Publication number
- DE3437511A1 DE3437511A1 DE3437511A DE3437511A DE3437511A1 DE 3437511 A1 DE3437511 A1 DE 3437511A1 DE 3437511 A DE3437511 A DE 3437511A DE 3437511 A DE3437511 A DE 3437511A DE 3437511 A1 DE3437511 A1 DE 3437511A1
- Authority
- DE
- Germany
- Prior art keywords
- function
- isochronous
- information
- block
- cells
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7828—Architectures of general purpose stored program computers comprising a single central processing unit without memory
- G06F15/7832—Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Description
• v ι/ OTC1 1 ί·**ίί3'ί|·*;*
i?HQ 83.019 OkOlOl] ^
' · *·09.10.1984
Integrationsschaltung für Grossschaltkreise, die in isochrone Geriete
j unterteilt ist, Verfahren zum maschinengesteuerten Entwerfen einet
derartigen Schaltung und Verfahren zum maschinengesteuerten Prüfen
einer derartigen Schaltung.
Die Erfindung betrifft eine Integrationsschaltung für Grossschaltkreise (VLSI) mit mehreren Funktionszellen, die über
Informationsverbindungen miteinander und mit der Aussenwelt verbinden
sind.
Im Abschnitt 7 (von CL. Seitz) des Buches vom Mead & ' tonway,
Introduction to VLSI systems, Addison-Wesley, Philippine Urheberrecht
ι 1980, sind mit der gegenseitigen Synchronisation zwischen verschiedenen
ι Elementen der Schaltung zusammenhängende Probleme: beschrieben. Diese
ι Probleme wachsen mit der technologischen Entwicklung nach Gross-
Schaltkreisintegration (VLSI), da die Schidtzeiten aktiver Elemente
(Gatter, Transistoren) mit ihren Abmessungen rasch "abnehmen, während
die Übertragungszeiten für Informationssignale über Verbindungen zwischen diesen aktiven Elementen weniger rasch abnehmen, und zum
anderen die Zahl der aktiven Elemente in einer Schaltung weiter anwachsen kann, so dass die physikalischen Abmessungen der Schaltungen
nicht systematisch kleiner werden: Die maximale Übertragungszeit über die Schaltung bleibt also über die Jahre hinweg verhältnismässig unverändert.
Zwischen benachbarten Schaltungselementen bedeutet diese Übertragungszeit normalerweise keinen Nachteil, aber die Bedinung
einer genügend raschen Durchführung einer beliebigen Übertragung innerhalb
der Schaltung zieht entweder eine Obergrenze für die zu verwendende Arbeitsgeschwindigkeit, z.B. wie von einer Taktfrequenz bestimmt,
oder führt eine Anzahl schwer übereinstimmbarer Einschränkungen
bei den relativen Positionen verschiedener aktiver Elemente ein, weil die miteinander kommunizierenden Elemente in einem synchronen System
nicht weit auseinander liegen dürfen.
Letzteres bedeutet eine sich vergrößernde Komplexität bei
der Entwicklung von Integrationsschaltungen in Grossschaltkreisen. Ein anderes Problem, das durch die steigende Anzahl von Schaltungselementen
(Gatteräquivalenten) auf einem Substratteil (chip) verursacht wird, ist die Komplexität erforderlicher Prüfverfahren. Für nicht zu
grosse Schaltungen ist ein vorteilhaftes Verfahren von Eichelberger in der US-PS 3 671 695 beschrieben, aber auch hier wird die Komplexität des
Prüfverfahrens schnell grosser, weil jeder, bistabile Elenent der
Schaltung ein Datenbit empf angen nuss una oei einer Vielzahl derartiger
bistabiler Eleitente die Länge der Prüf nuster (Bitreihen) t aber . |
insbesondere die Länge der Prüfnusherreihe für eine Prüfung in einer ;
beschränkten Zeit zu gross werden. Es sei bemerkt, dass eine derartige |
Prüfung sowohl in der physikalische Schaltung selbst als auch in einer ?
simulierten Schaltung, die mittels Wechselwirkungsstrukturen in feinen ;:
Computerspeicher eingeschrieben ist, ausgeführt werden kann. :V;
Schliesslich koirpli2iert sich die Entwicklung einer derartigen . |
Integrationsschaltung für Grossschaltkreise, wie weiter unten näner J
beschrieben wird.
Der Erfidung liegt die Aufgabe zugrunde^, die entwicklungstechnischen Einschränkungen zu massigen, so dass eine strukturierte
Entwicklung möglich wird, und ausserdero die Prüflarkeit einer derartigen
Schaltung zu verbessern bzw. ihre Entwicklung zu erleichtern,
indem die Schaltung in sog. isochrone Gebiete verteilt wird. :
Diese Aufgabe wird erfindungsgemäss dadurch gelöst, dass die
Funktionszellen in einer Anzahl von m»3 Funktionsblöcken gruppiert
sind, dass weiter die auf einem einzigen Substratteil (Chip) angebrachte Integrationsschaltung in m isochrone Gebiete verteilt is L, die
je einen Funktionsblock enthalten, und dass jedes isochrone Gebiät
für jede Informationsverbindung zwischen einer in diesem isochronen Gebiet liegenden Funktionszelle und einer ausserhalb dieses isochronen
Gebiets liegenden Funktionszelle in der betreffenden Informationsverbindung eine Kommunikationszelle enthält, so dass die Informationsverbindung zwischen zwei in verschiedenen isochronen Gebieten liegenden
Funktionszellen immer eine Serienschaltung aus zwei Kommunikationszellen enthält, dass zwei auf diese Weise paarweise geschaltete
Kommunikationszellen miteinander immer durch eine Informationsverbindung j und zumindest zwei Synchronisationsverbindungen (handshake) verbunden .,
sind und so mittels bidirektioneller Synclironisationsaustauschsignale
eine asynchrone Informationsübertragung zwischen den paarweise verknüpften Kommunikationszellen verwirklichen, und dass weiter jeder
•Informationsanschluss einer Funktionszelle zur Aussenwelt eine weitere
Kommunikationszelle zum Austauschen von Informations- und Synchronisationssignalen
mit der Aussenwelt enthält, dass die Funktionszellen in ]
einem Funktionsblock ein jeweils zusammenhängendes erstes Netz bilden,
und dass die Funktions blocke in der integrierten Schaltung ein zu- ■
PHQ 83.019
trammenhängendes zweites Netz bilden. Ein isochronns Gebiet ist ein
Teil der Schaltung, in der die Laufzeiten der Sighale auf den Leitungen vernachlässigbar klein sind, d.h. eine differentielle
Schwankung in dieser Laufzeit darf nie einii Schwankung im logischen
Verhalten der Schaltung verursachen können, In einer synchron arbeitenden
Schaltung ist sie also ih bezug auf die Synchronisationsperiode vernachlässigbar klein. WaSs nun verns' lilässigbar klein ist,
ist von der Struktur des Taktimpulszyklus abhängig {eine, zwei oder
irehr Pegeländerungen je Taktzyklus). In einer asynchron arbeitenden
Schaltung bedeutet dies, dass die Laufzeit in bezug auf die Schaltzeiten der logischen Elemente klein sein nuss. Dabei sind die ungünstigsten
Zustände bestiimend, weil die Schaltzeiten insbesondere von der
Speisespannung und von der Umgebungstemperatur abhängen können und die von diesen Parametern abhängigen Laufzeiten nicht oder kaum schwanken.
!5 Die Verwirklichung der Kommunikationszellen nimmt für jedes isochrone
Gebiet etwas Substratoberfläche in Anspruch. Daher soll die Atmeäsung
eines derartigen isochronen Gebiets nicht zu klein genommen werden. Zum anderen dürfen sie nicht zu gross genommen werden, weil dabei die
Bedingung des isochronen Gebiets wieder die Senkung der Arbeitsfrequenz erfordern wird, bzw. die obigen strengen Bedingungen hinsichtlicht
der relativen Positionen im betreffenden isochronen Gebiet erforderlich macht, bzw. die Entwicklung/Prüfung der Funktionsblöcke in einem
isochronen Gebiet komplizierter machen wird.
Es wird klar sein, dass das auf diese Weise gelöste HaÜptproblem
das Zeitsteuerproblem ist: Verzögerungen zwischen jeweiligen Funktionsblöcken verursachen keinen Fehlbetrieb, sondern verzögern nur
die gute Funktionsausführung und dies nur in dem Masse, wie es *Jbm
momentanen Verzögerungsintervall herbeigeführt wird. Wenn keine übertragung
erfolgt ist, existiert das Verzögerungsintervall nicht. Weiter wird die Verzögerung auf dem niedrigsten Pegel bestimmt und steht in
keinem Zusammenhang mit Intervallen durch eine höheren Betriebspegel, wie z.B. Computerzykluszeiten u.dgl. Durch die Prüfung der Kommunikation
zwischen jeweiligen Funktionsblöcken auf dem Niveau der Funktionäblöcke
selbst, d.h. auf dezentrale Weise, sind unkomplizierte Prüfung und unkomplizierte Hardware zu diesem Zwecke verwendbar. Also ist auch der
erforderliche Bereich für diese Kommunikationszellen sehr klein. Insbesondere wurden keine zentralisierte Kommunikationssteuerung oder
ein besonderer chipgebundener Kommunikationsprozessor mit allen damit
verknüpften Komplikationen der Entwicklung, Verdrahtung und Schnittstellen
erfindungsgeitiäss erforderlich sein. Auch die Durchführung der
Kommunikation unter geteilter Steuerung ermöglicht die Begrenzung der Iriformationswegbreite zu der unbedingt erforderlichen Breite. Dies
kän zu unterschiedlichen Informationswegbreiten zwischen jeweiligen
Fiinktionsblöcken führen. Ein Speicherblcck iriüsste für die Konnunikation
von Daten und Adressen, und für geringfügige Steuerung angeschlossen
werden. Ein Registerstapel oder FIFO könnte ohne le-nge Speicheradressen
auskommen. Bestimmte Funktionsblöcke könnter Daten in Serienforro
kommunizieren, während andere c"ie Daten parallel kommunizieren nüssen.. ■;
Eine Funktionszelle sei hier verstanden als eine Anordnung aktiver Elemente, die auf der Suostratoberflache ein geschlossenes \
Gebiet zumindest nahezu vollständig belegen.
In einer derartigen Funktionszelle werden Daten-, Adress-
oder Steuerinfcrmationen verarbeitet oder gespeichert. Ein Funktionsblock lässt sich aus einer oder mehreren Funktionszellen aufbauen, wobei
diese Funktionszellen untereinander ganz verschiedener Natur sein können. Oft werden Funktionsblöcke derart gewählt, dass sie alle
gleich gross sind, aber dies ist keine erforderliche Bedingung. Die Funktionszeü-leii innerhalb eines FunVtionsblocks und auch die Funktionsblöcke in einer Integrationsschaltung bilden jedesmal ein kohärentes
Netz: gerade diese Kohärenz nacht den Zusatz der Kommunikationszellen zwischen den Funktionsblöcken erforderlich, während in einem einzigen
Funktionsblock keine (weiteren) Funktionszellen erforderlich sind.
Die Informationsverbindung zwischen zwei paarweise verknüpften
Kommunikationszellen kann Datenleitungen, Adressleitungen oder Steuerleitungen
enthalten. Diese Leitungen können grundsätzlich in nur einer oder in zwei Richtungen leitend sein. Eine einzige Leitung kann
grundsätzlich die Möglichkeit zum Verbinden von mehr als zwei Zellen
3Q haben, zum Beispiel nach Art einer Sternverbindung, eines Busanschlusses
oder auf eine andere Weise. Normalerweise muss dabei die betreffende
Synchronisationsaustauscheinrichtung erweitert warden, aber derartige
Erweiterungen sind an sich bekannt, beispielsweise durch die Verwendung von drei statt zwei Synchronisationsleitungen. Im allgemeinen kann ein
Paar Kommunkationszellen auch über drei oder mehr Synchronisationsleitungen verbunden werden.
Die Betriebsart der vollständigen Schaltung kann synchron ·
mit einer externen oder inneren Taktgeber, oder asynchron, aber auch
PHQ 83.019 3 A 37 5 1 1 5 '" "09:10.1234
'# mit einer Mischung der beiden erfolgen. Die Kommunikation zwischen
! Koimunikationszellen ist jedoch iirrner asynchron. D!.e Auswirkung
' synchronisierender Signale aus der Umwelt ist in emem isochronen
Gebiet iimer bedingungslos, ohne dass Signatverzögerungen im betreffenden
isochronen Gebiet die Auswickung der synchronisierenden Signale
beeinflussen. Unter Verzögerung eines Signals sei eine derartige Lauf-
: zeit längs Elemente einer Schaltung verstanden, die an sich nicht von
einem synchronisierenden Signal beeinflussbar ist, wie z.B. bei einer
' . Verzögerung auf einer Leitung, von einer Kapazität oder durch Selbstinduktivität
usw. Die von einem Taktzyklus gesteuerte Haltezeit eines Speicherelements, zum Beispiel eines Schieberegisterelements oder
einer Reihe von Schieberegistern sei darunter also nicht verstanden. Denn eine derartige Haltezeit kann für eine ui jestimnte Zeit fordauern,
nachdem die Taktsignale unterbrochen sind. Daher ist ein isochrones Gebiet ein Gebiet, in dem die zugeführten, synchronisierenden Signale
eine bedingungs-lose Auswirkung haben. Bekannte Integrationsschaltungen
bestehen daher aus einem isochronen Gebiet nach obiger Begriffsbestimmung. Ein Zyklus von Taktsignalen kann aus einem einzigen Taktimpuls
oder einer Reihe von Taktimpulsen bestehen, letztere ist zum Beispiel aus einer dynamischen tehrphasen-MDS-Logik bekannt (beispielsweise ·
mittels aufeinanderfolgender Vorladungs- und Abtasttaktimpulse). Die
j Bedingung gegenseitigen Isochronismus braucht zwischen zwei gepaarten,
isochronen Gebieten nicht erfüllt zu werden: Je nach- dem momentanen
Zustand (Informationsinhalt der jeweiligen isochronen Gebiete,
physikalische Umstände, Taktfrequenz, wenn diese grundsätzlich anpassbar
ist, zum Beispiel an die Speisespannung) nüssen die relevanten isochronen GebieLe aufeinander warten oder nicht. Der Synchronisationsaustausch ist auf mehrere Weisen verwirklichbar, zum Beispiel mit
Hilfe bitweise ankommender Anfrage/Bestätigungssignale. Anders kann JO das Protokoll auf einem höheren Pegel liegen derart, dass zum Beispiel
Anfrage- und/oder Bestätigungssignale nur vor/nach einer Reihe von Bitintervallen erforderlich sind.
Vorzugsweise enthalten zumindest zwei Funktionsblöcke, die
( mittels zwischengeschalteter Kommunikationszellen paarweise verknüpft
sind, beide Verarbeitungsfunktionszellen. Diese Verarbeitungsblöcke
können so schnell miteinander kommunizieren, ohne dass dabei zum Beispiel ein Zwischenspeicher erforderlich ist. Unter einem Verarbeitungsfunktionsblock
sei hier ein Block verstanden, dessen Primärfunkton die
PHQ 83.019
343751Ί
09 .'10.1984
Durchführung von Bearbeitungen bei Information zur Änderung des
Informationsformats oder des Inhalts ist. Beispiele dafür sind: Prozessoren für allgemeine Zwecke und Spezialprozessoren wie Eingabe/ ,
Ausgabe-Prozessoren, Codierungs/becodierungs- und Steuerprozessoren.
Andere Gattungen von Funktionsblöcken als \ferarbeitungsfunktonsblöcke
sind zum Beispiel Speicherfunktionsblöcke (Schreib/Lesespeicher, Festwertspeicher
oder Zwischenspeicher wie PROM-, EARDM u.dgl., deren Organisation einen wahlfreien Zugriff mit sich bringen kann - Matrixspeicher
-, aber diese kann auch seriell sein, wie in einem Schieberegister), Informationsverteiler wie (De-)Multiplexer u.a. E:ji
Funktionsblock kann also eine oder mehrere Funktionszellen enthalten.
Vorzugsweise enthält die Informationsvarbindung zwischen
einem isochronen Gebiet und weiteren Funktionsblöcken eine Registerbank, die unter der Steuerung relevanter Steuerblecke selektiv mit
weiteren Funktionsblöcken verbindbar ist. Dies ergibt einen Baublock, der in Grossltreisen vorteilhaft verwendbar ist.
Vorzugsweise werden zumindest drei Funktionszellen, die sich
in einer entsprechenden Anzahl untereinander paarweise verknüpfter, isochroner Gebiete befinden, mittels Kontrunikationszellen und zwischen:-
geschalteter Informationsleitungen verbunden, die jeweils in eitler Richtung vom direkt vorangehenden isochronen Gebiet zum direkt hachfolgenden
isochronen Gebiet unidirektionell leitend sind. Optimale Verwendung wird also von der Verarbeitungsgeschwindigkeit der Elemente
der Rohrleitungstruktur gemacht. Die Integrationsschaltiang kann auch
einen Mikroprozessor bilden, der zumindest einen Funktionsblock (ALU), der arithmetische und logische Funktionen bildet, einen Speicherfunktionsblock
lind einen Eingabe/Ausgabefunktionsblock enthält, der eine
Informationsverbindung mit der Aussenwelt enthält. Dies ergibt fjine
vorteilhafte Anwendung in Form eines Baublocks, der insbesondere zumindest drei verschiedene Typen von Baublöcken enthält.
Vorzugsweise enthält zumindest ein isochrones Gebiet Mittel zum Erzeugen eines aus einem anderen isochronen Gebiet empfangenen
Prüfmusters oder Ergebnismusters, das Bit für Bit einem dritten isochronen Gebiet zugeführt wird, wenn die Integrationsschaltung sich
in einem Prüfzustand befindet. So kann ein Prüfmuster unter Umgehung
• der informationsändernden Struktur der verschieden Funktionsblöcke
direkt an den zu prüfenden Funktionsblock gelegt werden oder das Ergebnismuster direkt abgeleitet werden. Zum Prüfen werden die
Funktionsblöcke also gleichsam isoliert. Weiter brauchen die Wechselwirkungen
zwischen den verschiedenen Funktionsblöcken nicht geprüft zu werden, weil sie isochron sind, und also nie eine falsche Wechselwirkung
zwischen verschiedenen isochronen Gebieten verursachen. Denn hier ist absolute Einwandfreiheit dadurch erhalten, dass die Sicherheit
im Zeitbereich völlig aufgehoben ist: Es ist grundsätzlich völlig unvorhersagbar, wann eine andere Kommunikationszelle das asynchrone
Synchronisationsaustauschsignal ausgeben wird. Die allgemeine Bearbeitungsgeschwindigkeit in eine*: Integrationsschaltung der bell) schriebenen Art kann stark von den Relativen Positionen der verschiedenen
Funktionsblöcke abhängig sein. Zwei eng zusammenarbeitende Funktionsblöcke,
z.B. eine ALU-Einheit und ein zugeordneter Steuer-ROM, werden dann, nahe beieinander aufgestellt. Jedoch kann eine Steuereinheit
für eine serielle Eingabe/Ausgabeverbindung überall auf dem Substratteil, angeordnet werden.
Es ist vorteilhaft, wenn die erwähnte Gruppe eine Kette von Funktionsblöcken zum Zuführen von Prüfmustern zu dem zu prüfenden r.
Funktionsblock bzw. zum Ableiten von Ergebnismustern des zu prüfentien
Funktionsblocks dadurch bildet, dass jedes isochrone Gebiet, dessen
Funktionsblock in die Kette aufgenommen ist, mit in die Kette aufge- «
nontnenen Korctunikationszellen versehen ist, und dass die Kette so '
zumindest zwei Kommunikationszellen enthält, und dass eine jede ddr ,
Kommunikationszellen einen abwechselnd aktivierten ersten und zweiten Zustand besitzt, wobei in einem ersten Zustand der zugeordnete
Funktionsblock aktiviert wird und in einem zweiten Zustand e.in Prüfmuster oder ein Ergebnismuster aus einem zweiten isochronen Gebiet Bit
für Bit auf ein drittes isochrones Gebiet übertragen wird. Die Ein/Ausgabe von Prüfmustern oder Ergebnismustern kann über die übliche
Verbindung mit der Aussenwelt erfolgen, aber auch über einen getrennten
Prüfstift.
Es ist vorteilhaft, wenn zumindest ein isochrones Gebiefe
Informationsverbindungsmittel zum Kommunizieren eines Ergebnismusters einer Prüfung mit einer Prüfschaltung in einem Prützustand der
Integrationsschaltung, jedoch übrigens ausschliesslich Informationsverbindungen
mit anderen isochronen Gebieten enthält. Derartige Informationsverbindungsmittel können beispielsweise eine für mehrere
Funktionsblöcke gemeinsame Ergebnismusteraufgabeleitung sein,. Letzteres basiert dabei auf der Annahme, dass nur einer dieser Funktionsblöcke
PHQ 83.019
gleichzeitig ein Ergebnismuster wird ausgeben könmjn. Andere
Funktionsblöcke befinden sich dann in einem Wartezustand. Die betreffende
Prüfschaltung kann in die Integrationsschaltung aufgenommen werden oder eine getrennte Anordnung sein. Das betreffende Prüfmuster
kann im betreffenden Funkt ionsblcack selbst erzeugt sein (Selbstprüfung),
aber es kann auch von aussen her zugeführt werden. Dies kann ggf. über
eine gemeinsame Prüfmuster zuführungsleitung erfolgen, an die nur ein aktiver Funktionsblock aktiv angeschlossen ist. Die anderen Funktionsblöcke befinden sich dann in einem Wartezustand.
Die Erfindung bezieht sich weiter auf einen Verfahren zum Prüfen einer Integrationsschaltung der vorbeschriebenen Art, welches
Verfahren folgende Schritte umfasst:
a. Einführen einer Integrationsschaltung in einem Prüfzustand;
b. Eingeben eines Prüfmusters in einen Funktionsblock zur Bildung
eines Ergebnismusters aus diesem Prüfmuster unter Ausschluss der aus anderen Funktionsblöcken empfangbaren Informationssignale;
c. Ableiten dieses Ergebnismusters aus diesem Funktionsblcck und Zuführen dieses Musters an eine Prüfschaltung in einer Bit-für-Bit-Reihenfolge;
d. wenn nötig, die Wiederholung der Schritte b. und c. mit anderen
Prüfmustern;
e. Überprüfen der Ergebnismuster auf Fehlerfreiheit bis zum Erreichen
einer Zuverlässigkeitsgrenze bzw. bis zum Detektieren eines Fehlers;
f. wenn nötig, die Wiederholung der Schritte b. bis e. für weitere
zu prüfende Funktionsblöcke;
g. Genehmigung aufgrund der erreichten Fehler der Integrationsschaltung
als Ganzen;
h. Einführung der Integrationsschaltung in einen Bereitschaftszustand
bei Genehmigung.
Damit ist ein System gebildet, das bestimmte Analogien mit der genannten
Patentschrift von Eichelberger hat. Jedoch wo der Stand der Technik bistabile Elemente serialisiert und anschliessend mit einem
Prüfmuster füllt, wonach der Bearbeitungsschritt ausgeführt wird, wiederum gefolgt von einer Serialisierung der bistabilen Elemente und
Ausgabe des Ergebnismusters, werden gemäss dem beschriebenen Verfahren gleichsam die Funktionsblöcke isoliert und einem jeden ein geeignetes
Prüfmuster zugeführt. Dies kann für mehrere Funktionsblöcke gleichzeitig, wird aber vielmehr nacheinander erfolgen, weil dabei stets eine
PHQ 83.019
Prüfmusterreihe, deren Prüfituster sich auf einen bestimmten Funk&ions-,.
block beziehen, aufeinanderfolgend gebildet wird bzw. die zugeordneten
Ergebr.isrruster analysiert werden. Die Beschleunigung ist in bezug auf
' den Stand der Technik sehr gross. Wenn es vier Funktionsblöcke mit
je einem 8 Bits breiten Eingang und Ausgang gibt, erfordert das beschriebene
distribuierte Prüfverfahren nur 4 χ 2 = 1k Prüfnuster für
32 eine 100%ige Prüfung. Für eine undistribui'erte Prüfung würden erst 2
Prüf master eine 100%ige Prüfung argeben und diese Anzahl wäre viel zu
gross für ein wirtschaftlich anwendbares £/stern. Die beschriebene Isolierung kann für jeden Block einzeln erfolgen, aber ist auch seriell
möglich, so dass alle isochronen Gebiete ein jeweiliges Prüfnuster
empfangen und nach der Bearbeitung das Ergebnisnuster wieder serialisiert
j (per Bit oder per Byte) ausgeben.
ι Die Erfindung bezieht sich weiter auf ein Verfahren zum
Entwickeln einer Integrationsschaltung für Grossschaltkreise vom beschriebenen Typ mit Hilfe einer Bibliothek von Fontungselementen, '
die dabei das Verhaltensmodell der zugeordneten jeweiligen Funktiönszellen
erfüllen, wobei das Verfahren folgende Schritte umfasst: a. Beschreibung der Gruppe von Funktionen als eine erste Liste von
Funktional, die auf einem Abbildungselement dargestellt wird,
welche Funktionen von der Schaltung in bezug auf die Aussenwelt
durchgeführt werden müssen;
s b. Verteilung der erwähnten Gruppe in einzelne Funktionsblöcke und
s b. Verteilung der erwähnten Gruppe in einzelne Funktionsblöcke und
Darstellung dieser Funktionsblöcke auf einem Abbildungselement als
zweite Liste;
c. Bestimmung einer Gruppe von m^-3 isochrones! Gebieten, die aus1 je
einem Funktionsblock bestehen, und der Wechselwirkungen zwischen unterschiedlichen Funktionszellen in verschiedenen Funktionsbiöcken,
wodurch jeder Funktionszelle in einem Funktionsblock, der eirife Informationsverbindung mit einer ausserhalb des betreffenden Funktionsblccks
liegenden Funktionszelle hat, eine Konrrunikationafcelle
zugegeben wird, so dass jede Informationsverbindung zwischen zwei in verschiedenen isochronen Gebieten liegenden Funktionszelleii eine
Serienschaltung eines Konminkationszellenpaars enthalt, wobei eine
Konnunikationszelle als Formelement einen Anschluss für eine
Informationsverbindung und ein Synchronisationsaustauschfomungselement
mit zwei Synchronisationsaustauschleitungen enthält;
d. Anordnung der Funktionsblöcke, Konnunikationszellen und verbindender
PHQ 83.019
Infontationsverbindungen und Synchronisationsaustauschverbindungen;
e« Aufrufen der per Funktionszelle bestintnten Formungselemente aus der
Bibliothek. J
Normalerweise erfolgt die Entwicklung einer Schaltung zunächst von den . !
kleinsten Formings, smenten aus, wonach daraus aufeinanderfolgend \
grössere Pornungselemente zusammengesetzt werden, bas Problem dabei ,'·
ist, dass ein zusammengesetztes Formungselement nicht notwendigerweise '.}'
richtig zu sein braucht, auch wenn die Einzelteile richtig sind. Zwar :;
werden die Verbindungen riehting sein, aber aus ddh bereits be- 4
schriebenen Synchronisationsschwierigkeiten können Probleme entstehen. t.
Nach dem beschriebenen Verfahren wird von der anderen Richtung aus- ;;
gegangen (top down): das Ganze wird in Teilvorräte von Funktionen ;
aufgeteilt, die wieder zusannen in ein einziges isochrones Gebiet
aufgenommen werden können. Dabei können dann in der gegenseitigen Verbindung isochroner Gebiete keine Synchronisationsfehler entstehen.
Die Anordnung in einem isochronen Gebiet muss selbstverständlich genehmigt werden, aber dieser Vorgang ist infolge der geringeren
Komplexität darin um einen Grad einfacher und an sich sind derartige, aus einem isochronen Gebiet bestehende Schaltungen bekannt und daher
also das diesbezügliche Entwicklungsverfahren. Ggf. kann ein isochrones Gebiet auch in isochrone Teilgebiete verteilt werden, die ebenfalls
wieder durch Konmunikationszellenpaare paarweise verknüpft sind.
Ausführungsbeispiele werden nachstehend anhand der Zeichnung näher erläutert, wobei zunächst einige Hintergründe, anschliessend
einige Ausführungsbeispiele und danach einige vorteilhafte Synchronisationsaustauschvorgänge
beschrieben werden. Es zeigen Figur 1 ein isochrones Gebiet,
Figur 2 die Verteilung einer Integrationsschaltung auf
mehrere isochrone Gebiete, . , j
Figur 3 ein Beispiel einer Schaltung, die in einem einzigen isochronen Gebiet verwirklichbar ist,
Figur 4 einen komplizierten Baublock, der zwei Steuerfuiiktionsblöcke
enthält,
Figur 5 einen einfachen Mikroprozessor, der in drei isochrone Gebiete eingeteilt ist,
Figur 6 einen Synchronisationsaustauschvoraang, durch den j
ein Funktionsblock mit zwei anderen Funktionsblöcken kommunizieren kann,
Figur 7 eine Matrix von Prozessoren, die je ein isochrones ;, '·
PHQ83.019 3A37511 11 ·-"- ' ·?Λ.: ' \,:09:ΐ0.1984
Gebiet bilden,
Figur 8 einen Rohrleitungsprozessor, der in mehrere isochrone Gebiete verteilt ist,
Figur 9 einen Synchronisationsaustauschvorgang zu Figur 8, Figuren 10a ... 10e Elementarbeispiele distribuierter Prüfvor^änge,
Figur 11 ein isochrones Gebiet mit verschachtelt organisieiizen
Kommunikationszellen,
Figur 12 ein isochrones Gebiet mit Informationsverbindungsmitteln für Prüfmuster/Ergebnismuster,
Figur 13 ein Qrganisationsdiagram zum Entwickeln einer Integrationsschaltung nach obiger Beschreibung,
Figur 14 ein Flussdiagramm zum Entwickeln feiner Integrationsschaltung nach obiger Beschreibung.
Zunächst folgt die Beschreibung einiger Hintegründe der Erfindung auf physikalischer Ebene. Eine Integrationsschaltung für
Grossschaltkreise enthält viele Elemente, wie z.B. Transistoren, insbesondere Schalttransistoren, Kapazitätselemente, beispielsweise
in der Ausführung als MOS-Kondensatoren, Widerstände in verschiedenen Bauweisen, Signalverbindungen in Metall (zum Beispiel Aluminium),
SignalVerbindungen in Polysilizium, und Signalverbindungen in
Diffusionsausführung. An sich sind Signalverbindungen in Diffusions- oder Polysiliziumausführung verhaltnismässig träge, so dass möglicherweise
Signalverbindungen in Metall verwendet werden. Insbesondere sind diese Metallverbindungen für die positiven und negativen Speiseleitungen
zu verwenden, wodurch häufig das Substrat in topologische Untergebiete verteilt wird, die miteinander nur über Polysilizium-
oder Diffusionsleitungen in Verbindung stehen. Auch wenn die Taktsignale über grosse Teile der Schaltung zuzuführen sind, werden sie zumindest
teilweise in Polysilizium- oder Diffusionsausführung verwirklicht. Für
diese zwei letzten Techniken ist, beispielsweise bei einer Drahbreite von 2 Mikrometer, die Leitungsverzögerung durch eine RC-Kombination
gebildet. Für die Leitung selbst gilt, dass beide Grossen Rund C proportional der Leitungslänge sind, so dass diese Verzögerung mit der
Drahtlänge quadratisch schwankt. Wenn in den RC-Produkten auch andere Elemente mitspielen, beispielweise ein externes Widerstands- oder
Kapazitätselement, wird die Änderung abhängig von dear Leitungslänge
weniger steil. Wenn alle Abmessungen einer Verbindung (Länge, Breite, Dicke) mit einem gleichen Skalenfaktor P verkleinert werden, werden
auch die Schaltzeiten der Transistoren oft um einen Faktor P kleiner.
Die Verzögerungszeit einer Leitung, deren Abmessungen ebenfalls um den
Faktor P verkleinert werden, ist meist nahezu konstant. Es folgt daraus,
dass das beschriebene Problem der Verzögerung durch die Leitungen feim
weiteren Verkleinern der Skalenabmessung verhältnismässig grosser
wird. Eine zusätzliche Vergrösserung des Problems tritt dadurch auf, dass als Begleiterscheinung der Verkleinerung der Skalenabmessung die
Anzahl der Transistoren und anderer Elemente in derselben Integrationsschaltung ständig wächst: Faktisch bleiben die Abmessungen üblicher
Schaltungen im wesentlichen konstant, wenn in Millimeter gerechnet. Bei diesem neueren Schaltungen wird immerhin eine stets komplisiertere
Funktion erfüllt. Auch hierdurch wird das Problem dar Verzögerung in den
Verbindungsleitungen immer grosser. Wenn die Länge (in Millimeter)
konstant ist, vergrössert sich die Laufzeit bei einsr Skalenänderung
2
(Breite, Dicke) um den Faktor P . Die Packungsdichte der Gatter wird um den Faktor P grosser. Das Verhältnis zwischen der Laufzeit über eine allgemeine Verbindung und einer Gatterzeit 'wird also um den
(Breite, Dicke) um den Faktor P . Die Packungsdichte der Gatter wird um den Faktor P grosser. Das Verhältnis zwischen der Laufzeit über eine allgemeine Verbindung und einer Gatterzeit 'wird also um den
2
Faktor P grosser. Es wurde gefunden, dass bei einer Verkleinerung
Faktor P grosser. Es wurde gefunden, dass bei einer Verkleinerung
des Skalenfaktors die Grosse eines isochronen Gebiets (in Gattern
gerechnet) ziemlich langsam abnehmen muss: Wenn die Skale gross gerlug ist, ist die Notwendigkeit einer Unterteilung also nicht vorhanden.
In Figur 1 ist ein isochrones Gebiet dargestellt, das von1
der gestrichelten Linie 150 begrenzt wird. Dieses Gebiet enthält eine Anzahl zu t.iner Kette zusartmengeschalteter, logischer Funktionen 152
bit 160: die folgende Funktion wirkt erst, wenn die vorangehende Funktion ihr Ergebnis ausgeliefert hat. In dem jetzt üblichen MOS-iBj
30 Vorgang hat die Laufzeit in einer Gatterfunktion. typisch eine Grösiae
p von 5 ns. Wenn derartige Gatter direkt hintereinander angeordnet sind,
ψ; ist die Laufzeit über die Verbindungen zwischen den dargestellten
;j Gatterfunktionen klein und beträgt zum Beispiel 1 ns. Eine für die
dargestellte Schaltung zulässige Taktfrequenz beträgt dabei beispielsweise
etwa 30 MHz. In der Praxis wird eine etwas niedrigere Frequenz gewählt, wenn andere zu berücksichtigende Laufzeiten nicht viel kleiner
als 30 ns sind. Die Elemente 152 ... 160 sind als Funtkonszellen und miteinander als Funktionsblock zu betrachten. Die'Kommunikationszellen
PHQ
!.; zum Anschliessen an andere isochrone Gebiete werden näher erläutert.
f Figur 2 veranschaulicht die Verteilung einer Integratißns-
• schaltung auf mehrere isochrone Gebiete. Der Kreis 162 stellt di'i
ganze, in der Schaltung zu erfüllende Funktion dar, zum Beispiel
"Mikroprozessor". Diese Funktion verteil sich in drei Unterfunktionen, wie z.B. Datenweg, Steuerweg und Eingabe/Ausgabebearbeitung, die durch
die Kreise 166, 164 und 168 symbolisiert werden. Der Datenweg 16b (Funktion) wird durch die Kreise 174 (ALU) und 1" 6 (RAM) unterteilt.
Der Steuerweg 164 wird durch die Kreise 170 (Steuer-ROM) und 172
(Prograirrnzähler u.dgl.) verteilt. Mit gestrichelten Linien ist angegeben,
dass der Steuerweg in einem einzigen isochronen Gebiet untergebracht ist, und dass der Datenweg auf zwei isochrone Gebiete verteilt
ist. Ebenfalls kann die Eingabe/Ausgabebearbeitung auf verschiedene
Weisen auf mehrere isochrone Gebiete verteilt sein. Die paarweise Verknüpfung von Funktionszellen zwischen den jeweiligen
isochronen Gebieten ist von den durchzuführenden Berarbeitungen
abhängig, aber an sich sind in mehreren Funktionszellen/Funktionsblöcken verteilte Mikroprozessoren bekannt, jedoch ohne Synchronisationzaustausch
zwischen den verschiedenen isochronen Gebieten. Hinsichtlich der Synchronisationsaustauschvorgänge gibt es
viele verschiedene Möglichkeiten, von denen einige in der Veröffant-,
ί lichung von K.L. Thurber,. A Systematic Approach to the Design οι
Digital Bussing Structures, Proceedings AFIPS Conf. Fall 1972,
S. 179 ... 740, so'/ie beispielsweise auch eine in der US-Patentschrift
4 357 658 beschrieben sind. Die Anzahl der Synchronisationsverbindungen zwischen zwei miteinander paarweise verknüpften Funktionsblöcken ist
' normalerweise gleich zwei, aber durch eine grössere Anzahl kann oft
die Informationsübertragungsgeschwindigkeit und/oder die Zuverlässigkeit
vergrössert werden. Dabei ist für jede Verbindung meist ein getrennter physikalischer Träger vorhanden, wenn dies auch keine absolute ,
Bedingung ist.
Ausführungsbeispiele: Der Aufbau in einem isochronen Gebiet.
In Figur 3 is ein Beispiel einer Schaltung dargestellt, die in einem einzigen isochronen Gebiet 220 verwirklicht ist. Darin enthält
der Block 222 die Steuerung und der Block 224 die eigentliche Be/Verarbeitung. Zunächst wird die Steuerung beschrieben. In diesem
Ausführungsbeispiel erfolgt die Steuerung mittels programmierbarer
Logik-Einheiten (PIA) 106, 108 und der Register 1(2, 104, 110. In ;
einer anderen Ausführungsform lässt sich aus einei Anzahl von Umkehrstufen
ohne Verwendung prograitmierbarer Logik-Einheiten (PIA) eine j Steuereinheit bilden. Die programmierbare Logik-Einheit 106 versorgt J1
den Synchronisationsaustausch mit anderen Funktionsblöcken bzw. mit anderen isochronen Gebieten. Diese Verwendung einer prograitmierbaren
Logik-Einheit wurde als besonders vorteilhaft betrachtet. Die Signale Ij1
URTS/UJSR werden an der Oberseite, die Signale DRTS/DJSR an der Unter- ;|
seite übertragen. Ihre Bezeichnung ist folgende: :\
DRTS: Rückkehr vom Unterprogramm der nachfolgenden PLA-Struktur :
DJSR: Sprung zum Unterprogramm (zur nachfolgenden PLA-Struktur) '«\
URTS/UJSR: wie oben für übergeordnete PLA-Struktur. fl
Die Signalrichtingen "oben/unten" sind inner entgegengesetzt. '.
Zwischen den Teilen PLiCOM und PLACOD sind im Innern betätigte
Triggerschaltungen 110 angebracht. Das Signal (FRE(E) aktiviert den
Codeabschnitt, die Signale R(EA)DY und H(E)LP aktivieren den Konruni-
kationsabschnitt 106. Die vom Codeabschnitt 108 gebildeten Ausgangssignale
werden von der verwirklichter. Funktion bestimmt. Es ist an sich bekannt, mit einer progranmierbaren Logik-Einheit einen Sortierer
(sequencer) zu verwirklichen; der Inhalt von PLACOD wird also nicht näher erläutert. RDY und HLP starten eine Konmunikation mit einer
untergeordneten PIA; RDY und HLP (inv-rtierter Wert-von HLP) mit einer
übergeordneten. Das Register 102 empfängt externe Instruktionssignale
aus einem anderen isochronen Gebiet am Eingang 109 (wahlfreie Bitbreite), Signale aus dem Datanverarbeitungsteil am Eingang (an Eingängen)
112 sowie innere Zustandssignale INTSTATE des Registers 104
auf der Leitung (auf den Leitungen) 103. Neben diesen Signalen INTSTATE gibt das Register externe Instruktionssignale am Ausgang (an den Ausgängen)
107 für ein anderes isochrones Gebiet und Signale für der!
Datenverarbeitungsteil auf der Leitung (auf den Leitungen) 105 abi Die
Signale RDY (bereit) und HLP (Hilfe) werden ebenfalls von PIA 1θέ als
Ausgangssignale erzeugt.
Der Teil 224 enthält den Datenverarbeitungsabschnitt, auch ·'
mit "Datenweg" bezeichnet, dies im Gegensatz zur Bezeichnung "Steuerweg" für den übrigen Teil (108, 106 und andere). Dies kann zum Beispiel ;
eine arithmetische und logische Einheit ALU sein, eine Registerbank oder ein Registerstapel, ein Eingabe/Ausgabe-Element für den Anschluss ,
zur AussenwEit sein. Der Abschnitt 224 ist über zwei Datenverbindungen ";',
226, 228 an eine oberliegende bzw. unterliegende Struktur angeschlossen.
Wie bereits erwähnt, sind die Anschlüsse 226 und 228 zweiseitig durchlässig,
aber dies ist keine notwendige Bedingung. Hiermit ist die Figur 3 beschrieben. .·'■.
In Figur 4 ist ein komplizierterer Baubl'xk dargestellt, der
zwei Steuerfunktionen enthält und vollständig in e in einziges isochrones
Gebiet 136 aufgenommen wird. Der Verarbeituhgsbloc k -134 ist hier eine
Registerbank REGBNK. Die Steuerfunktionsblc=ke sind von dem in Figur 3
beschriebenen Typ und die Abbildung ist etvas vereinfacht dargestellt.
Über den Quellenbus SORBUS wird angegeben, welches der Register mit
dem ausgehenden Bus OP2BUS verbunden werden nuss, über den Bestiirfkingsbus
DESBUS wird angegeben, welches Register mit Daten aus dem Ergfebnisbus
RESBUS zu füllen ist. Die Synchronisationsaustauschvorgänge wlarden
ι jeweils von einem Leitungenpaar JSR/RTS (1, 3) versorgt. Weiter steht
der Ausgang OP1BUS als Ausgang eines in diesem Ausführungsbeispiel
Akkumulatorregisters zur Verfügung. Die Echoelemente 138 versorgen einen halben Synchronisationsaustausch zwischen den drei Teilen 130, 132,
134. Zwischen ihnen bilden die Leitungen SEL(ECTICN)BUS und CL(CXI)KBUS
die Steuerleitungen. Ein derartiger halber Synchronisationsaustausch wird hier der Kürze halber nicht näher erläutert.
Unterbrechung der Leitungen JSR2, RTS2 gibt die Möglichkeit
zum Anschliessen einer ALU-Einheit zwischen ihnen, die eine Bearbeitung an der Information eines der Operandenbusse OP(1, 2)BUS durchführt,
nachdem das von SORBUS angegebene Register mit dem anderen Operandenbus
verbunden ist. Nach der Bearbeitung wird der Eingangsbus RESßbs
mit dem zweiten Register verbunden, um darin das Ergebnis der Bearbeitung
zu speichern (von DESBUS ausgewählt).
In Figur 5 ist ein einfacher Mikroprozessor dargestellt» der in drei isochrone Gebiete verteilt ist. An sich kann ein Mikroprozessor
in mehrere isochrone Gebiete verteilt werden, was von der Komplexität,
von der Zahl der Funktionen und von den Beschränkungen abhängen vfird,
die durch das Verhältnis zwischen der Taktfrequenz und der Laufzeit der Signale in der Schaltung gebildet werden. In Figur 5 enthält der
rechte Teil einen Festwertspeicher 92 und einen diesem Speicher zugeordneten Steuerteil 90. Der mittlere Teil enthält eine ALU-Einheit 85
und einen zugeordneten Steuerteil 86. Der linke Teile enthält eine Eingabe/Ausgabe-Einheit 84 und einen zugeordneten Steuerteil 82. Es
gibt hier drie Funktionseinheiten in je einem eigenen isochronen Gebiet.
Die drei Punktionsblöcke sind je zwei und zwei über Datenleitungen
100, 104, Steuerleitungen 94, 105 und Synchronisationsietungen 96
und 98 paarweise verknüpft. Die Anschlussflächen der für Grossschaltkreise ausgelegte Integrationsschaltung 80 sind der Einfachheit halber
nicht angegeben. Zum Entwickeln einer erweiterten Schaltung ist es vorteilhaft, wenn auf einem hohen Abstraktionspegel eine Beschreibung
je Baublock gegeben ist. So ist es beim Entwickelt einer Schaltung
möglich, die Funktionsblöcke mit Hilfe der cb.s Parcimeter zu bestaunenden
Funktion zu spezifizieren, beispielsweise mittels der Breite des Datenwegs, der Stapeltiefe, des ausgewählter·« Instruktionsvorrats. Durch
einen an sich bekannten Bibliothekauswahlvorgang wird dabei die richtige Entwicklung für diesen betreffenden Funktionsblock gewählt.
Derartige Bibliothekvorgänge , bei denen die Form eines Schaltelemente
durch die Spezifikation einer von diesem Schaltelement durchzuführenden
Funktion aufgerufen wird, sind in computerunterstützten Entwicklungssystemen (CAD) für Integrätionsschaltungen sehr üblich.
Neben den bereits genannten Möglichkeiten für die Funktionsblöcke
gibt es eine viel grössere Anzahl von Möglichkeiten, von denen nachstehend einige mit zugeordneten Steuerfunktionen genannt werden.
a. Speicher mit Funktionsdecodern, Adressdecodern, einer Anpassung
an den Datenweg, einer Auffrischungsorganisation (refresh) und hat
zusätzlichen Registern.
b. ALU, mit Steuerdecodern, Funktionsgebern, Registern usw.
c. E/A-Einheit mit einigen Registern (zumindest einem für jede
Richtung), einem Funktionsdecoder, Eingabe/Ausgabe, Lesen/Schreiben
möglicherweise programmierbar und mit einem Adresscode und/oder Adressdecoder versehen.
d. Registerbank oder Registerstapel mit Anzeigedecodierung (pointer)
und Funktionsdecodierung.
e. Zeitgeber, ggf. programmierbar.
In ihrem isochronen Gebiet gibt die Steuereinheit Instruktionen zürn
Datenweg und prüft bestimmte Bedingungen darin. Die Steuereinheit kann
in einer bevorzugten Ausführungsform zum grössten Teil nach Figur 3 ausgeführt sein.
In Figur 6 ist hier ein Synchronisationsvorgang als Zustandsdiagramm
dargestellt, das zwei doppelte Synchronisationsaustauschvorgänge umfasst: bei A hinsichtlich des nächsthöher angeordneten
Funktionsblocks, bei B hinsichtlich des nächstniedriger angeordneten
• · ■·
• ·· I·.
PHQ 83.019 3437511 17 ''"""09.W
Funktionsblocks. Weiter gibt es noch einen einzigen Synchronisationsaustausch
hinsichtlich des Blocks PLACMD mit Hilfe der Signale ROti
und (UP oder DCWN). :
Die zu übertragende Infornation wird gültig gemacht, beVor
das zugeordnete Auswertungssignal (U/D)JSR hoch wird. In einem
doppelten Synchronisationsaustausch wird danach beispielsweise das
Signal (U/D)RTS als Bestätigungssignal verwendet. Bei der Anordnung
auf dem Substrat (Chip) werden Funtkonsblöcke, die oft miteinander
kommunizieren, vorzugsweise nahe beL einander angeordnet. Wenn diös
nicht gemacht wird, treten zwar keine Fehler auf, aber durch die
erforderlichen Wartezeiten zur Vollendung dar vorliegenden Informationsübertragung
arbeitet die Schaltung als Ganzes langsamer: Die Bearbeitungen, die schnell erfolgen können, werden auch schnell durchgearbeitet,
aber die Bearbeitungen, die langsamer erfolgen nüssen, werden auch langsamer durchgeführt (hier sei unter "Bearbeitung" auch
die erforderliche Informationsübertragung verstanden). An sich kann die Mannigfachheit einer Informationsübertragung zwischen zwei vorgegebenen
Funktionsblöcken von der Art der Bearbeitungen abhängen :, die
die ganze Integrationsschaltung durchführen muss. Wegen der verschiedenen Einsatzmöglichekeiten können bestimmte Bearbeitungen in unterschiedlichen
Teilen des gleichen Schaltungstyps oder für ein einzigen Teil zeitabhängig läufiger oder weniger läufig auftreten. Neben den bereits
beschriebenen Signalen werden für die übrigen Signale folgende Bezeichnisse gegeben:
READY = bereits DACK 1 = Down ACKnowledge 1
UACK1 = Up ACKnowledge 1 WAIT = WAIT
RSTRT = ReSTaRT DACK 2 = Down ACKnowledge 2
RSTRT = ReSTaRT DACK 2 = Down ACKnowledge 2
RUN = RUN RETRN = RETuRN
CALL = CALL UACK2 = Up ACKnowledge 2.
3Q In Figur 7 ist eine Integrationsschaltung dargestellt, die
eine Matrix von Prozessoren enthält, die je ein isochrones Gebiet bilden. An sich sind mehrere hierarchische Niveaus möglich, wobei
manche Prozessoren in mehrere isochrone Gebiete verteilt sind und andere nicht. In der mit gestrichelten Linien dargestellten Begrenzung
der elektronischen Schaltung befinden sich sechs Prozessoren 20, 22, 24, 26, 28, 30, die beispielsweise je eine ALU-Einheit, einen Programmspeicher
für Steuerinformation, beispielsweise spezielle Logik, einen Schreib/Lesespeicher für Zwischeninformation (Daten/Adresse), Steuer-
• ι
> t
• ·
PHQ 83.019
Il ι ι ι ι
codierung, Elemente für Eingabe/Ausgabe von Information nach aussen,
und einen diese Elemente verbindenden Bus f'ir Daten-, Adress-, und
Steuerinformation enthalten. Diese Teile sind nicht näher veranschaulicht.
Weiter enthält der Prozessor 20 ein Taktelement 34, der Prozessor 26
ein Taktelement 36 usw. für die übrigen Prozessoren. Es gibt sieben Prozessorpaare, u.zw. 20/26, 20/22, 26/28, 22/28, 22/24, 28/30
und 24/30. Als Beispiel wird nur das Paar 20/26 näher erläutert. Diese Prozessoren sind durch eine bidirektonale Datenleitung 64, eine
Synchronisationsaustauschleitung 66 in einer ersten Richtung und eine Synchronisationsaustauschleitung 68 in einer zweiten Richtung miteinander
verbunden. Diese Leitungen sind als eine einfache Leitung dargestellt, aßer die Datenbreite kann jeden Wert haben. In bestimmten
Ausführungen können die Datenwege verschiedene Breiten haben, z.B. können horizontale Verbindungen ein<; von der Breite der vertikalen
Verbindungen abweichende Breite haben. Die Datenleitung kann baispielS7 weise eine Breite von 8 Bits haben und in Simplex, Halb-Duplex oder
Völlig-Duplexbetrieb wirksam sein. Die Synchronisationsaustauschleitungen
können einfach oder mehrfach sein, sie können wie hier Synchronisationsaustauschsignale in eine Richtung oder in beiden
Richtungen durchlassen. Das Synchronisationsaustauschprotokoll wird nachstehend näher erläutert. Auf entsprechende Weise wie mit dem
Prozessor 26 ist auch der Prozessor 20 über Daten- und Synchronisationsaustauschverbindungen
an die Anschlussflächen 44, 46", 48 (in westlicher Richtung) und an die Anschlussflächen 38, 40, 42 (in nördlicher
Richtung) angeschlossen. Ebenso ist der Prozessor so an die Anschlussflächen 50, 52, 54 (in östlicher Richtung) und der Prozessor 24 an
die Anschlussflächen 56, 58, 60 (in südlicher Richtung) angeschlossen. Diese einfache Integrationsschaltung ist also an eine weitere derartige
Schaltung anschliessbar. Die Meistertaktsignale kommen aus einem externen Taktgeber bei der Anschlussfläche 32 an und werden auf alle
Prozessoren verteilt. Jeder Prozessor bekommt seine eigene, unbedingte Taktsignale aus seinem eigenen örtlichen Taktelement, das von den
Meistertaktsignalen synchronisiert wird. Die Synchronisationsaustiuschsignale
werden ortlich mit dem Meistertaktgeber synchronisiert, gleichsam
zum Qunatisieren der Zeit: Der asynchrone Charakter des Synchronisationsaustausches
bleibt dadurch aufrechterhalten, dass die Prozessoren jedesmal aufeinander warten nüssen. So sind hinsichtlich des Synchronisationsaustausches
die Taktsignale dadurch bedingt, dass eine beid-
83.019 3437511 19 .:..··,09.κ
-.ige Signalisierung jede Daten- (Adriss-, Steuer-)Übertragung
wie die auf der Leitung 64 begleitet. Durch den Austauschcharakters
muss beispielsweise ein Ubertragungsanfragesignal inmer von einem
Übertragungsbestätigungssignal vorangegangen werden. Der Synchronisationsaustausch
kann auch ohne eine derartige Quantisierung der Zeit durchgeführt werden und ist daher auf Mikroebene asynchron. Die
Schaltung nach Figur 7 ist in sechs, zunächst r.ile gleichwertige,
isochrone Gebiete verteilt. Diese Schaltung hat im dargestellten Fall zumindest 33 Anschlussflachen, wenn alle Verbindungen einfach
sind und zwei Speiseanschlüsso mitgezählt werden. Die Anschlussflachen
können extern verbundwi werden, beispielsweise 44 mit 50
(Daten) , 46 mit 52/48 mit 54 (Synchronisationsaustauschsignale in zwei Richtungen). Zum anderen ist es manchmal vorteilhaft, die Anzahl der
Anschlussflächen beschränkt zu halten, so dass nicht alle Randprozessoren mit der Aussenwelt kommunizieren können, aber beispielsweise
nur die, die entlang einer der längeren Seiten liegen. Wenn die Datenwege eine Breite von mehreren Bits haben, wie bereits erwähntr ist
nur eine beschränkte Auswhal der Datenwege mit den Anschlussflächen
direkt verbindbar. Eine Lösung dabei kann sein, die Verwendung von (De)Multiplexern, die ggf. in einen dazu belegten Funktionsblock aufgenommen
werden müssen, der dabei selbst wieder ein separates isochrones Gebiet bilden wird. In Figur 8 ist ein Rohrleitungsprozessor
dargestellt, der in mehrere isochrone Gebiete verteilt ist; Figur 9 zeigt dabei den Synchronisationsaustauschvorgang. Bei einem derartigen
Rohrleitungsprozessor ist auch von paralleler Verarbeitung der Information die Rede. Dia Figur zeigt drei aufeinanderfolgende Stufen,
von denen nur eine näher erläutert wird (im Block 200 angegeben). Jede Stufe bildet ein getrenntes isochrones Gebiet. Der Block verfügt über
zwei Konrunikationsleitungen zum Komttunizieren mit dem vorangehenden
Block (202/204) bzw. dem folgenden Block (206/208). Weiter gibt es ein Register 210 (hier mit einer Breite von vier Bits angegeben), das
aus dem vorangehenden Block herrührende Infornation über ein Taktsignal CLK auf der Leitung 212 speichert. Die nicht getrennt dargestellte
Kommunikationseinheit des Blockes kann sich jetzt in einem der nachstehenden
vier Zuständen befinden.
1. Bereit: Die Einheit hat Daten auf den folgenden Block übertragen
und wartet auf neue zu verarbeitende Daten aus dem vorangehendem Block;
PHQ 83.019 3437511 20 ''->''* 09.4.^904* ''>
>' '
2. Start: Die Einheit hit Daten aus dem vorangehenden Block empfangen
und bestätigt diesen Vorgang; auch werden diese Daten im neuen Register 210 getaktet und die Instruktionsteile des Blocks bekamen
den Auftrag zum Verarbeiten der Daten;
3. Run: Die Einheit wartet, bis die Instruktionsteile die Daten verarbeitet
haben;
4. Aufruf: Die Einheit meldet dem folgehden Block in einer Nachricht,
dass sie Daten für ihn zur Verfügung gestellt hat und wartet auf die Bestätigung.
Im Zustandsdiagramm nach Figur 9 erfolgt die Kommunikation
mit einseitigen Synchronisationsaustauschvorgängen. In Figur 6 war ein doppelter Synchronisationsaustausch erforderlich, weil dort der
Austauschzyklus erst beendet werden darf, nachdem die zu übertragende Information gültig geworden ist, und dies ist in Figur 9 eine nicht
erforderliche Bedingung. Dadurch sind in Figur 9 vier Bestätigungszustände überflüssig: Der Kontnanikationsvorgang wartet nicht, bis der
folgende Funktionsblcck bereit steht, so dass der Wartezustand (WAIT) überflüssig ist.
Der Zustand "Rückkehr" (RETURN) ist hiermit im Startzustand angeordnet. Wenn die angekommenen Daten verarbeitet sind, kann nur
Kommunikation mit der direktfolgenden Einheit erfolgen.
Beschreibung des Verfahrens und Anordnung zum distribueierten Prüfen:
Wie in obiger Beschreibung sind die verschiedenen isochronen Gebiets .im Zeitbereich isoliert. Die Prüfung der vollständigen Integrationsschaltung
kann daher durch die getrennte Prüfung aller Funktionsblöcke erfolgen. Dafür sind jedoch einige besondere Vorkehrungen
erforderlich. Zunächst werden einige Beispiele gegeben, in denen die isochronen Gebiete/Funktionsblöcke in einer Kette geschaltet sind. In
Figur 10a ... 10e stellen die Blöcke je ein isochrones Gebiet mit jeweils einem Funktionsblcck und mit Kommunikation?zellen zum Anschluss
an andere Funktionsblöcke/Isochrongebiete dar.
In Figur 10a sind alle Informationsverbindungen unidlrektionell.
Die normalen Anschlüsse sind ununterbrochen dargestellt. Die Synchronisationsav.stauschleitungen sind nicht getrennt dargestellt. Die
Information kommt auf der Leitung 250 an. Sie wird danach im Block
bearbeitet, wobei sich der Informationsinhalt ändern kann. Die bearbeitete
Information geht über die Leitung 254 zum Block-256, wobei sich
1 "" 09.10.1*384
■ die Information weiter ändern kann. Danach wird die Information über
) die Leitung 253 ausgegeben, beispielsweise an einen Benutzer. Im
'; Prüf zustand für den Block 256 wird die unterbrochene Leitung aktiviert:
Dies bedeutet, dass das Prüfmuster auf der Leitung 254 Bit für Bit dem
Prüfmuster auf der Leitung 250 dadurch entspricht, dass die unterbrochene Leitung den Block 252 umgeht.
In Figur 10b ist eine andere Ausführungsform als in Figur 10a dargestellt. Hier itiissen die Prüf muster direkt von der ^ussenwelt
' in dem zu prüfenden Block 262 empfangen werden. Die Ausgabe der
Ergebnismuster erfolgt über den Block 266. Im Prüfzustand wird die
unterbrochen dargestellte Verbindung aktiviert, so dass dabei keine
Informationsänderung im Block 266 durchgeführt werden kann und die Ergebnismuster Bit für Bit auf der Ausgangsleitung 263 erscheinen. Bit
für Bit bedeutet, dass aus jedem Bit des Ausgangseroenisses ein Bit
des ursprünglichen Musters zurückgefunden werden kann. Dies kann bedeuten, dass eine bitweise Neucodierung erforderlich sein, kann, beispielsweise
"alle Bits invertieren".
Im Entwurf der Figur 10c ist der zu prüfenden Block 276 weder am Eingang noch am Ausgang direkt mit der Aussenwelt kommunizierend,
sondernd ist dabei jeweils ein weiterer Block (272 bzw. 280) zwischengeschaltet.
Daher werden im Prüfzustand beide unterbrochene Leitungen
ί aktiviert, so dass die Blöcke 272 und 280 das Prüf- bzw. Ergabnis-
muster nicht beeinflussen.
Im Entwurf nach Figur 10d ist der zu prüfende Block ,296
bidirektioneil mit dem Block 292 verbunden, der als einziger 4ine
Verbindung mit der Aussenwelt hat. Daher werden im Prüfzustand beide
unterbrechen dargestellte Leitungen aktiviert, so dass der Block 292
das Prüf- bzw. Ergebnismister nicht beeinflusst. In manchen Fehlen kann es vorkommen, dass bestimmte Funktionsblöcke keinen InfoKmationsändernden
Einfluss haben können, beispielsweise dadurch, dass sie als Registerstapel ausgeführt sind. In diesem Fall kann es in manchen
Fällen überflüssig sein, eine Umleitungsleitung anzubringen.
Im Entwurf nach Figur 10e gibt es zwei zu prüfende Blöcke 310
( und 312, die beide Informationen aus dem Block 308 empfangen. Zum
Prüfen des Blocks 310 wird dabei die unterbrochen dargestellte Leitung
304 aktiviert und führt Bit-für-Bit Prüfmuster direkt zum Block 310. Zum Prüfen des Blocks 312 wird entsprechend die Leitung 306 aktiviert.
In Figur 11 ist ein isrxjhrones Gebiet mit verschachelt
organisierten Kommunikationszellen dargestellt. Das Gebiet umfasst ■·
das Rechteck 300. Die Kommunikationszelle 302 empfängt Information
über die Leitung 308 und führt über die Leitungen 310 ein bidirektionel-
les Synchronisationsprotokoll durch. Die Kommunikationszelle 304 i
sendet Information über die Leitung 312 mit Hilfe eines Synchronisationsprotokolls
über die Leitungen 314. In diesem Ausführungsbeispiel < enthalten beide Kommunikatiomszellen eine Zweiwegschalter mit einer
ersten und einer zweiten Stellung. In der ersten Stellung wird die ''· Leitung 308 mit dem Eingangsregister 3"i6 und das Ausgangsregister 318 ' mit der Leitung 312 verbunden. Unter Wichselwirkung mit den im
ersten und einer zweiten Stellung. In der ersten Stellung wird die ''· Leitung 308 mit dem Eingangsregister 3"i6 und das Ausgangsregister 318 ' mit der Leitung 312 verbunden. Unter Wichselwirkung mit den im
Synchronisationsblock 306 aus den Kommünikationszellen empfangenen \
Synchronisationssignalen und unter Abgabe von Synchronisations- .,:
Signalen durch diesen Synchronisationsblock werden die Register 316
und 318 auf die richtige Weise gefüllt/geleert und führt der Bearbeitungs-
und 318 auf die richtige Weise gefüllt/geleert und führt der Bearbeitungs-
block 320 intern isochron die für den Funktionsblock kennzeichnenden,
aber hier nicht relevanten Bearbeitungen durch. Das Element 322 ist
ein Decoder, der bei einem bestimmten Eingangssignalmuster anspricht. ' Auch ist es möglich, dass das Element 322 ein Empfänger für spezifisches
PrüfSteuersignal ist, das an einem zielbestimmten Anschlussstift der ' ; Pakete der Integrationsschaltung erscheint, aber ein derartiges
aber hier nicht relevanten Bearbeitungen durch. Das Element 322 ist
ein Decoder, der bei einem bestimmten Eingangssignalmuster anspricht. ' Auch ist es möglich, dass das Element 322 ein Empfänger für spezifisches
PrüfSteuersignal ist, das an einem zielbestimmten Anschlussstift der ' ; Pakete der Integrationsschaltung erscheint, aber ein derartiges
PrüfSteuersignal ist hier der Einfachheit halber nicht dargestellt. ;
Wenn dieses Prüf Steuer signal bzw. die spezifizierten Eingangssignal- ;;.
muster erscheinen, treten die Zweiwegschalter in ihre zweite Stellung '·!
und wird die auf der Leitung 308 ».pfangene Information über die ·;
Leitung 324 direkt auf der Leitung 312 wieder ausgegeben, ohne dass eine ,·■
informationsändernde Bearbeitung durchgeführt werden kann. Das Rück- $r
stellen des Schalters kann entweder nach einer bestimmten Zeit oder '''I
nach einer Anzahl von Prüfmustern (wenn das Element 306 einer Zähler
enthält) oder einfach durch das Verschwinden des PrüfSteuersignals er-
enthält) oder einfach durch das Verschwinden des PrüfSteuersignals er-
^0 folgen. Durch die Zusammenarbeit mit dem externen PrüfSteuersignal H
und spezifischen Codewörten in den jeweiligen Eingangsregistern können
mehrere Ketten umgangener Funktionsblöcke gebildet werden. In einer '■;'■■ anderen Ausführung enthält nur die ausgehende Komnunikationszelle 304 \i einen Zweiwegschalter; dabei werden Prüfmuster bzw. Ergebnismuster ;' bearbeitet, aber die ggf. eingeführten Änderungen sind nach aussen ;! hei nicht sir/ntbar. Auch ist es möglich, dass nur die Konnunikations- ' l zelle 302 am Eingang einen Mehrstellenschalter enthält, wenn nämlich > die Bearbeitungsschaltung 320 immer noch die gleiche Information abgibt, ';
mehrere Ketten umgangener Funktionsblöcke gebildet werden. In einer '■;'■■ anderen Ausführung enthält nur die ausgehende Komnunikationszelle 304 \i einen Zweiwegschalter; dabei werden Prüfmuster bzw. Ergebnismuster ;' bearbeitet, aber die ggf. eingeführten Änderungen sind nach aussen ;! hei nicht sir/ntbar. Auch ist es möglich, dass nur die Konnunikations- ' l zelle 302 am Eingang einen Mehrstellenschalter enthält, wenn nämlich > die Bearbeitungsschaltung 320 immer noch die gleiche Information abgibt, ';
•Ö9.1O.198n
die beispielsweise durch die auf der Leitung 324 empfangenen Prüfmuster
maskiert wird (und beispielsweise in der Weise eines Offenkollektoranschlusses) . Im Entwurf der Figur 10e kann dieser Eingang
dabei einen Dreistellungenschalter enthalten. Bei mehreren Eingängen
und einem einzigen Ausgang kann der Mehrstellungenschalter am Ausgang
zusanmen mit verschiedenen Umleitungen für die jeweiligen Eingänge
aufgenommen sein. Im Entwurf der Figur 10c werden danr! zunächst von einem ersten Steuerwort die Blöcke 272 und 276 ausgeschlossen und
wird der Block 280 geprüft. Wenn der Block 280 "genehmigt" ist, gibt
10 es zwei Möglichkeiten:
a) Zunächst wird der Block 280 vom letzten Prüfwort ausgeschlossen.
Danach wird der Block 272 vom zweiten Steuerwort ausgeschlossen. Das zweite Steuerwort und das letzte Prüfwort können untereinander
gleich sein. Wenn der Block 276 genehmigt ist, wird et, vom letzten
Prüfwort der eigenen Serie ausgeschlossen. Dabei wird der Block geprüft. Die Prüfung wird durch das Beenden des externen Prüfsteuersignals
beendet.
b) Wenn der Block 280 keinen Speicher hat, d.h. das Ergebnis beim Prüfwort (n+1) ist von den früher zugeführten PrüfWörter unabhängig,
braucht der Block 280 nicht mehr ausgeschlossen zu werden, wenn es genehmigt ist. Dabei sind für n-Funktionsblöcke nur (n-1)-Steuerwörter
erforderlich. Selbstverständlich ist das Ergebniswort in einem derartigen Fall durch die zu prüfende Funktion im betreffenden
Funktionsblock sowie durch die (richtig befundenen) Funktion(en) im (in den) nachgeschalteten Funktionsblock (Blöcken)
bestimmt.
Bei einem Bus können die daran angeschlossenen Funktionsblöcke mittels Adressierung aktiviert werden.
Ein anderer Entwurf zum distribuierten Prüfen wird anhand der Figur 12 beschrieben, die ein isochrones Gebiet mit Informations-Verbindungsmitteln
für Prüfmuster/Ergebnismuster darstellt. Der Entwurf der Schaltung entspricht zum guten Teil dem der Figur 3 mit
einem Kommunikationsteil COMMU, einem Steuerteil CNTRL und einem Verarbeitungsteil DATA. Der Steuerteil empfängt den OPCODE und der
Verarbeitungsteil empfängt ankönnende Daten IARG und sendet ausgehende
Daten OARG. Die Verarbeitung erfolgt durch Steuersignale CMD, ggf.
bedingt unter Mitsteuerung durch ein Signal COND. Das betreffende isochrone Gebiet ist ein Teil einer Schaltung mit mehreren isochronen
PHQ 83.019 34θ/θΙ I 24 " 09.18-.1984
Gebieten. Der Steuerteil CNTRL ist an eine Leitung SCANIN zum Empfangen eines Prüfmusters angeschlossen; Das eigentliche Aufnehmen dieses
Musters erfolgt durch die Steuerung eines Prüfbefehls auf der Leitung
OPCOD. Ein Ergebnismuster wird auf der Leitung SCANOUT abgegeben, nach Bedarf kann dies unter der Steuerung eines zweiten Prüfbefehls
auf der Leitung OPCOD erfolgen. Die Leitungen SCANIN/SCANOur sind an
eine Prüfschaltung angeschlossen, die ein Teil der Integrationsschaltung sein kann. Die Prüfschaltung prüft die Ergebnismuster auf Konkordanz
mit den jeweils zugeordneten Prüfmustern. Sie ist an die verschiedenen SCANIN/SCANOUT-Leitungen über eine (De-)Mulitplexerstruktur angeschlossen
und besitzt einen Ausgang zur Aussenwelt zum Angeben der verschieden Zustände: Prüfung, Nicht-Prüfung, richtig, falsch. Auch
ist es möglich, dass die Prüfschaltung keinen Teil der Integrationsschaltung bildet, jedoch dass nur die (De-)MuItiplexerstruktur auf
dem Substrat (Chip) angebracht ist. Die Leitungen SCANIN/SCANOÜT können einfach sein. In einer bevorzugten Ausführungsform wird die
Schaltung derart geprüft, dass inmer nur ein isochrones Gebiet aktiv
ist: durch die Einführung des Synchronisationsaustauschvorgangs zwischen verschiedenen isochronen Gebieten ist dies sehr einfach verwirklichbar.
Dabei niimrt auch nur ein isochrones Gebiet in einem beliebigen
Augenblick ein Prüfmuster auf, so dass die Leitungen SCANIN an alle zu
prüfende isochrone Gebiete parallel angeschlossen sein können. Auf entsprechende Weise können daher die Leitungen SCANOUT parallel an alle
zu prüfende isochronen Gebiete angeschlossen sein. Die (De-)Multiplexerstruktur
für die Prüfschaltung kann daher entfallen. Die Anzahl del: Anschlüsse zum Prüfen kann auf folgende Weise weiter verringert wenden:
a) das Prüfmuster wird nicht von aussen her dem isochronen Gebiet kageführt,
sondern in diesem isochronen Gebiet selbst erzeugt, beispielsweise mittels eines rückgekoppelten "Höchstlänge"-Schiebei'"
registers. Auch können die Ergebnisse wieder mit einem derartigian
rückgekoppelten Schieberegister verarbeitet werden, dabei weist das Ergebnismuster die Kennzeicheneines sog. "Unterschriff-Musters
auf. Wenn es beispielsweise 16 Bits hat, ist nur eine Möglichkeit der 2 ein gutes Muster, die anderen sind fehlerhaft. Dabei gibt
es die Möglichkeit von etwa 2~ , das ein Fehler nicht in einen»,
fehlerhaften Ergebnismuster zum Ausdruck könnt. In vielen Fällen ist eine derartige Gefahr zulässig.
b) die Leitungen SCANIN und SCANOUT werden kombiniert; es ist dabei
• · · Il '
eine bidirektionelle aktivierbare Sende/Empfangsschaltung im
betreffenden isochronen Gebiet (sowie in der Prüfschaltung) er-*
forderlich.
Die Entwicklung einer Integrationsschaltung nach obiger Beschreibung;'
In Figur 13 ist ein Organisationsdiagraitfli zum Entwickeln
einer Integrationsschaltung nach obiger Beschreibung dargestellt. Dieses Qrganisationsdiagraim gibt die verschiedenen Programmabschnitte
(Programme und Datenvorräte) des Entwicklungssystems-sowie ihre funktionellen
Wectiselwirkungen an. Zunächst werden die Teile beschrieben,
die ohne Verwendung von Kotmunikationszelleh die Entwicklung einer
Integrationsschaltung ermöglichen. Der Block HARDSIM ist eine in der Programmiersprache SIMULA geschriebenes Programm für die von der
Schaltung durchzuführenden Funktionen, welcher Block auch einige HilfsVorgänge umfasst, wodurch auf einfache Weise einige Elementarteile
aufgerufen werden können, wie z.B. "Zelle", "Signal", "Eingabe", "Ausgabe". Die Elemente dieses Blocks bieten ausreichende Hilfsmittel
zur Beschreibung des Verhalten und der Struktur der Integrationsschal
tung. Dies ist inzwischen in der Veröffentlichung "FULLES, ά
VLSI programming environment" von L. Spaanenburg et al, Digest Clfcc '83,
S. 456 ... 460, Rochester, New Yoik, Mai 1983, beschrieben. Der
Block HARDSIM ergibt (aus den von einem Entwerfer einzuführenden Funktionsspezifikationen) einige Datenbestände. In Zusammenarbeit
mit dem Block HARDSIM enthält der Block LAYOOT eine ebenfalls in
diesem Artikel veröffentlichte Struktur, die für die in SIMULA beschriebene Schaltung eine Geometrie mit Hilfe einer zu diesem Block
LAYOOT inneren Datenbestandsstruktur erzeugt. Der Teil des Organisationsdiagranms
über der gestrichelten Linie FIR gibt damit eine strukturelle Beschreibung der Funktioonsblöcke für Grossschaltkreise.
Bei einer derartigen "top-down" Organisation wird also zunächst die
allgemeine Funktion spezifiziert, wobei das Programm mittels vorgegebener
Regeln in der Funktionsbeschreibung nicht spezifizierte Funktionen voraussagt. Häufig wird die Entwicklung dabei in einigen
Schritten durchgeführt, und in jedem folgenden Schritt eine näherb Verhaltensbeschreibung als Eingabe für dasjenige erfordern, dass in
vorgehender Beschreibung als allgemeine Verhaltensbeschreibung eingegeben ist. Bei der Voraussage können selbstverständlich auch falsche
Teilfunktionen gebildet werden, die in einem folgenden Schritt
• · I < t
• · t ι ι < ■ t
korrigiert werden nüssen. Andererseits bestimmt die genannte Veröffentlichung
von dem unteren Pegel (bottonrtf?) nacheinander folgende
Elemente:
- Elementare Leiter »_*jcke;
- Kreuzungskontak+'Ä von Leitern (gleiche Schicht, mehrere Schichten
mit DurchkontaKtiierung, mehrere Schichten mit elektrisch nichtaktiver
Trennschicht (croäs-over), mehrere Schichten mit elektrischer
aktiver Trennschicht - Transistors);
- Einzelteile, beispielsweise Transistor (vertikal oder lateral);
- Maske als Elementensatz wie Transistoren und dergleiche?
- Gatter, beispielsweise in Abhängigkeit von allerhand Vorgängen. Im Abschnitt unter der Linie SEC sind die wichtigsten Datenbestände
wie Achtecke, die übrigen Elemente, insbesondere Progranitie, als
Rechtecke angegeben. Der zentralliegende Block DESING bildet einen Entwicklungsdatenbestand mit dem im inneren bestimmten Format des
logischen Diagramms. Der darüber liegende Block MADOUT stellt den Datenbestand des Blocks DESING dar und bildet ein Konversionsprogramm.
In bestimmten Fällen, abhängig von der Definitionsstruktur des Blocks DESING kann Konversion unterbleiben. Es sei bemerkt, dass der Beitrag
des Entwerfers in der Wahl der Daten besteht, die in der SIMULA-Sprache
zugeführt werden, und dass der Rest über der Linie FIR und unter der Linie SEC dabei folgerichtig bestirrmt ist und so nach dem
Stand der Technik durchgeführt wird. Jedes Stück einer Schaltung hat zwei Ansichten, insbesondere ein Volumen und einen Rand, und für
beide enthält der Bestand DESING zwei Teilbestände, von denen einer eine Strukturbeschreibung und der andere eine Verhaltungsbeschreibung
enthält: Alles in allem gibt- es vier Teilbestände. Dabei gibt es wie
erwähnt einige Schichten, die je ihre eigenen Schaltungsstücke enthalten. Die Strukturbeschreibung beantwortet stets die Fragen: Wo
ist was?, die Verhaltensbeschreibung beantwortet Fragen: "Was macht
was?. Jetzt ist mittels des Blocks DESING eine logische Beschreibung auf Ausdrucksniveau der Integrationsschaltung gebildet.
Der Block PROCEES enthält einen Datenbestand über die spezifischen Eigenschaften der zu verwendenden Technologie. Der Block
WAVPORM enthält einen Datenbestand über die Wellenformen der Eingangssignale.
Der Block TESALS enthält ein Programm, ddss mittels der
logischen Beschreibung (Block DESING) und der Wellenformen der Eingangs
daten eine Sinulation der verschiedenen Gatter durchführt, aus der
zur Beurteilung von Entwerfer als Ergebnis "richtig11 oder "zweifelhaft"
folgen kann. Aus dieser an sich bekannten Simulation kann beispielsweise
abgeleitet werden, dass eine Zweifelskondition in der Schaltung dadurch vorgesehen ist, dass in einem logischen Gatter
gleichzeitig sich zwei Eingangssigndile ändern wurden, was am Ausgang
kurze, logische ungerechtfertigte Zustände zur Folge haben würde.
Wenn ein derartiger Fehler auftreten würde, wird eine Ablehnung signalisiert und ist der Entwurf zu ändern bzw. sind die Eingabedaten
zu ändern. Nach dem bekannten System könnte ein derartiger Fehler auf allen Pegeln des Entwicklungsvorgangs Folgen haben, insbesondere
auch in den Teilen über der Linie FIR. Der Block TRSIT3 enthält ein Programm, das von der Firma "Leuven Research and Development
Corporation" der Leuvener Universität, Belgien, entwickelt wurde. Über
die zu bildenden logischen Funktionen aus dem Block DESING, die
Technologiedaten aus dem Block PROCEES und die Wellenformdaten aus:
dem Block WAVFORM und die Geometrie der einzelnen Transistoren führt
dieser Block TRSIT3 eine Simulierung auf Transistorebene entsprechender Art wie im Block TESALS auf Gatterebene durch. Hier können also unter
Umständen Streitigkeiten hinsichtlich elektrischer Spezifikationen <
dieser Transistoren auftreten (wie beispielsweise Leistung, Impedanz oder Geschwindigkeit). Der Block DEBAET enthält ein Zusammensetzungsprogramm, das auf der Basis der zu bildenden logischen Funktionen
aus dem Block DESING über die Technologiedaten aus dem Block PROCEES eine Konversion zwischen Zellen, Bezeichnungen und Maskenbeschreibungen
bewirkt, beispielsweise in Form einer verbindenden Reihe von Rechtecken per Maske. Danach werden diese Maskendaten zum Datenbestand im
Block DESING zurückgeführt.
Die Blöcke STAT, LDES und MADEST beziehen sich insbesondere auf die Wechselwirkung mit dem Operator bzw. Entwickler. Der Block.
STAT enthält ein Programm, das über Zustandsdiagramme aus dem Bloök
DESING ein Gatterdiagramm in Form einer Beschreibung mit Booleschen
Formein bildet. Daraus kann selektiv eine listenförmige Abbildung an einem Videomonitor oder an einem anderen Medium wie z.B. einem
Druckmedium ausgeführt werde. i. Wechselwirkung mit dem Operator kann
mittels selektiver Adressierung der Liste zur Darstellung eines vorgegebenen Teil erfolgen. Wenn eine Änderung durchzuführen ist, muss
sie an anderer Stelle in den Entwurf eingegeben werden, beispielsweise
PHQ 83.019
mittels Anpassung des Signalformers (Block WAVPORM), Änderung der
Funktion (Block HARDSIM) oder Zugabe von Pufferstufen (Block LDES).
Der Block LDES wirkt wie der Block STAI' auf der Basis von Verhaltensbeschreibungen. Er enthält ein Program t, das durch die Gatterbe-
Schreibungen aus dem Block DESING eine listenförmige Abbildung daraus
zur Darstellung an einer Elektronenstrahlröhre oder an einem anderen Medium bilden kann, beispielsweise als eine Liste von Gattern mit
einer Liste der anderen in der Verbindung mit jedem Eingang eines jeden Gatters oder jedem Ausgang eines jeden Gatters. Ausserdem enthält
diese Liste eine Unterliste anderer, auf Gatterebene bestimmter elementarer Elemente, wie Umsetzer für Spannungspegel und bistabile
Elemente verschiedener Typen. Auch hier kann wieder mittels selektiver Adressierung ein Teil der Liste an einer Elektronenstrahlröhre dargestellt
werden und ggf. dadurch angezeigte Korrekturen in einem der anderen Blöcke angebracht werden. Es sei noch darauf hingewiesen, dass
der Block DESING eine Zellenbibliothek enthält, die auf verschiedenen Abstraktionspegeln beschrieben ist und auf diesen jeweiligen Pegeln
adressiert werden kann. U.a. befinden sich auch die Daten für den weiter unten zu beschreibenden Block COMCEL im Datenbestandsblock
DESING. Der Block MADEST enthält ein Programm, das auf der Strukturbeschreibung der eingeführten Transistoren aus dem Block DESING arbeitet
und mit Technologiedaten aus dem Block PROCEES an einem Videomonitor oder an einem anderen Medium eine listenförmige Abbildung der zu
verwendenden Normaltransistoren mit zugeordneten Positionen und Orientierungen bzw. als eine Liste von Maskenwinkelkoordinaten der
betreffenden Masken erzeugen kann. Danach kann von einem Operator eine selektive Adressierung zur Darstellung einer Teilliste dieser Liste
ausgeführt werden.
Mit dem Block MADEST kann ausserdem ein graphisches Abbildungselement
verbunden werden, das durch selektive Adressierung der betreffenden Listen (mit Listennumner oder auf andere Weise) mit den
jeweiligen Listennunmern zugeordneten geometrischen Koordinaten ein
Bild formt. Dieses Bild besteht aus Rechtecken, wobei ein einfacher Algorithmus bestitmit, oder ob ein Bildpunkt in einem bestimmten
Rechteck, beispielsweise einem Transistorteil, oder gerade ausserhalb dieses Rechtecks liegt. Derartigen Algorithmen sind bereits beschrieben.
Weiter wird irnner eine bestimmte Gattung von Vielecken (beispielsweise
ein Polygondiffusionsfach oder eine Umkehrstufe) in einer bestimmten
'· ti ,
« · lilt
• · 1 > I I I
PHQ 83.019 343751 Ί 29 "!·-!" ·:·'··09.Ίθ.Ί9ίΐ4
! zugeordneten Farbe dargestellt. Bekanntlich werden beispielsweise 64
verschiedene, transparente oder nicht-transparente Farben verwandet.
Nach der bekannten Technik ist der Teil über der Linie: FIR
direkt an die Teile unter der Linie SEC angeschlossen. Dies bringt mit
sich, dass ein Fehler, Irrtum oder eine Änderung im unteren Teil bzw.
in der Wirkung dieses Teils Folgert für alle Teile hat, also auch für
die Eingabe (Parameter, Funktionen) in die Blöcke HARDSIM und LaVoct.
Dies kann unter bestimmten Umständen eine Vielzahl von neuen Beairbei-'
tungsschritten erforderlich machen. Nach der für die Entwicklung rele-
vante Teilaufgabe der Erfindung wird der über· der Linie FIR liegende
Teil des OrganisationsdiagraimB mit dem unter der Linie SEC liegenden
Teil über einen zwischengeschalteten Block CCMCEL verbunden. Der Block COMPEL enthält ein Programm, das im oberen Teil konzipierte
j Funktionsblöcke auf den ihnen paarweise verbindenden Koimunikations-
leitungen durch paarweise miteinander verknüpfte Kommunikationszellen
ergänzt. Die Struktur- und Verhaltensbeschreibung dieser Zellen können
wieder in den Datenbestand des Blocks DESING aufgenommen sein, dgf.
können diese Kommunikationszellen in verschiedener Form vorhanden sein, beispielsweise abhängig von der Struktur und der Quantität der
Kommunikation (beispielsweise einseitige gegen doppelseitige Kommunikation
und gemäss verschiedenen Bitbreiten). Die bereits erwähnten
ί Neubearbeitungsschritte brauchen nie bis zum Niveau der Wechselwirkung
zwischen den unterschiedlichen Funktionsblöcken durchgeführt zu werden:
Korrekturen und Fehler haben dabei inmer nur Einfluss bis zur Trennlinie SEC (immerhin insofern sie im unteren Teil des Entwicklungssystem
zum Ausdruck kamen).
In Figur 14 ist ein Flussdiagram zum Entwickeln einer Integrationsschaltung
nach obiger Beschreibung dargestellt. Der Block gibt an, dass die Liste der durchzuführenden Funktionen ggf. in
parametrisierter Form abgefasst wird. Im Block 502 wird diese Liste
möglicherweise ausgewählt dargestellt. Im Block 504 wird aus der Liste von Funktionen eine Liste von Funktionsblöcken gebildet. Dieser
Vorgang kann in wechselwirdenden Bearbeitungsschritten durchgeführt werden. Die Abbildung der Liste von Funktionsblöcken wird im Block
verwirklicht. Im Block 506 wird darüber entschieden, ob die Liste von Funktionsblöcken richtig ist. Im Block 508 werden für jeden Block die
zusammensetzenden Formungselementen aufgerufen und im isochronen Gebiet des betreffenden Funktionsblocks angeordnet. Die Prüfung und Neubear-
20
25
30
PHQ 83.019 >^ο/υι I 3Q 09.1Ö.1&84 ;
beitung innerhalb der einzelnen Funktionsblöcke erfolgt auf herköfrmr .',.
liehe Weise ohne Verwendung der wechselwirkungsisolierenden Wirkuhg j
des Blocks C0M3EL. Dies kann beispielsweise zuvor erfolgen; faktiäch \
wird dabei mit einer Bibliothek richtiger Funktionsblöcke gearbeitet. \
Nach den möglichen Neubearbeitungsschritten wird im Block 510 der ,;
Vorgang gestoppt. Die Prüfung der Integrationsschaltung kann jetzt auf .:
mehreren Ebenen erfolgen: Ü, a. die Prüfung eines jeden einzelnen Funktionsblocks auf guten Betrieb.
Dies ist oben beschrieben;
b. die Prüfung der ganzen Schaltung auf Verarbeitungskapazität ■ ■
(performance). Dies geschieht durch die Zufuhr einer Anzahl zu
verarbeitenden Signale'beispielsweise eine sog. "benchmark" Prüfung. - ',
Jetzt handelt es sich nicht um die Richtigkeit, sondern um die
Verarbeitungsgeschwindigkeit.
Verarbeitungsgeschwindigkeit.
;
35
Claims (1)
- PATENTANSPRUECHE:M Λ Integrationsschaltung für Grossschaltkreise (VLSI) mit einer Anzahl von Punktionszellen, die durch Inforratxorisverbindungen1 miteinander und mit der Aussenwelt verbunden sind,dadurch gekennzeichnet, dass die Funktionszellen in einer Anzahl von m> 3 Ftinktionsblöcken gruppiert sind, dass weiter die auf einem einzigen SUbstratteil (chip) angeordnete Integrationsschnltung in m isochrone Gebiete verteilt ist, die je einen Funktionsblock enthalten, und dass jedes isochrone Gebiet für jede Informations verbindung zwischen einer in" ditjsem isochronen Gebiet liegenden Funktionszelle und einer ausserhalb dieses isochronen Gebiets liegenden Funktionszelle in der betreffenden Informationsverbindung eine Kommunikationszelle enthält, so dass die Informationsverbindung zwischen zwei in verschiedenen isochronen Gebieten liegenden Funktionszellen inrner eine Serienschaltung zweier Kommunikationszellisn enthält, dass zwei so paarweise verknüpfte Komrtunlkationszellen immer miteinander durch eine Informationsverbindung und zumindest zwei Synchronisationsaustauschverbindungen verbunden sind, die durch bidirektionelle Synchronisationsaustauschsignale eine asynchrone Informationsübertragung zwischen diesen paarweise verknüpften Kommunikationszellen unter örtlicher Steuerung verwirklichen und dass weiter zwischenH 20 den zugeordneten isochronen Gebieten jeder Informationsanschluss einer Ij Funktionszelle zur Aussenwelt mit einer weiteren Kommunikationszellezum Austauschen von Informations- und Synchronisationssignale mit der Aussenwelt versehen ist, dass die Funktionszellen in einem Funktionsblock ein jeweils zusammenhängendes erstes Netz bilden und dass die 25 Funktionsblöcke in der Integrationsschaltung ein zusammenhängendes zweites Netz bilden.2. Integrationsschaltung nach Anspruch 1, dadurch gekennzeichnet, dass zumindest zwei durch zwischengeschaltete Konnunikationszellen paarweise verknüpfte Funktionsblöcke beide Verarbeitungsfunktions-zellen enthalten. j3. Integrationsschaltung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Informationsverbindung zwischen einem ersten Funktionsblcck und einem zweiten Funktionsblock einen ersten Satz vonο/ 07 ι; 1 1 :: ::PHQ 83.019 O4O/ÖII 32 · 09.10-.19WInformationsleitungen enthält, dass die Verbindung zwischen dem ersten Funktionsblcck und einem dritten Informationsblock einen zweiten Satz von Informationsleitungen enthält, und dass der erste und der zweite Satz verschieden sind.4. IntegrationsEchaltung nach Anspruch 3, dadurch gekennzeichnet, dass die Anzahl der Informationsleitungen im ersten und im zweiten Satz verschieden sind*5. Integrationsschaltung nach Anspruch 4, dadurch gekennzeichnet, dass die Anzahl von Datenleitungen im ersten und im zweiten Satz verschieden sind.6. Integrationsschaltung nach Anspruch 1 bis 5, dadurch gekennzeichnet, dass die Informationsverbindung zwischen einem isochronen Gebiet und weiteren Funktionsblöcken eine Registerbank enthält, die selektiv mit den weiteren Funktionsblöcken unter der Steuerung relevanter SteuerblÖcke verbunden sein kann.7. Integrationsscbaltung nach Anspruch 1, dadurch gekennzeichnet, dass zumindest drei Funktionszellen, die in einer entsprechender Anzahl miteinander paarweise verknüpfter isochroner Gebiete angeordnet sind, mittels Koimunikationszellen und Informations-Zwischenleitungen verbunden sind, die jedesmal unidirektionell leitend sind in einer Richtung aus dem direkt vorangehenden isochronen Gebiet zum direkt anschliessenden Isochrongebiet.8. Integrationsschaltung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass sie einen Mikroprozessor bildet, dass zumindest ein Funktionsblock (ALU), der arithmetische und logische Funktionen durchführt, ein Speicherfunktionsblock und ein Eingabe/Ausgabe-Funktionsblock, die eine Informationsverbindung mit der Aussenwelt enthält, vorgesehen sind.9. Integrationsschaltung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass zumindest ein isochrones Gebiet mit Mitteln zum Zuführen eines aus einem anderen isochronen Gebiet empfangenen Prüfmusters bzw. Ergebnisitusters Bit-für-Bit zu einem dritten isochronen Gebiet enthält, wenn sich die Integrationsschaltung in einem Prüfzustand befindet.
10· Integrationsschaltung nach einem der Ansprüche 1 bis8, mit einem zu prüfenden Funktionsblock, der durch eine Gruppe weiterer Funktionsblöcke mit dem Anschluss zur Aussenwelt verbunden ist, dadurch gekennzeichnet, dass die Gruppe eine Kette von Funktionsblöcken♦ -PHQ 83.019343 7511 33 .I.-.. —'"*09*.τ0.ί984zum Zuführen von Prüfmustern zum prüfenden Funktionsblock bzw. ziim Ausgeben von Ergebnismastern des zu prüfenden Funktionsblocks dadurchbildet, dass jedes isochrone Gebiet, dessen Funktionsblock in diö iKette aufgenommen ist, mit in die Kette aufgenommenen Komtrunikationsr % zellen versehen ist und die Kette so zumindest zwei Komnunikatiotis- ·! zellen enthält, und dass letztgenannte Komtnunikationszellen verschachtelt | jeweils einen ersten und jeweils einen zweiten Zustand enthalten} insbesondere einen ersten Zustand zum Aktivieren des zugeordneten Funktionsblocks darin und einen zeiten Zustand zum Zuführen eines aus einem zweiten isochronen Gebiet empfangenen Prüfmusters bzw. zum Ausgeben des Ergebnismusters Bit für Bit an ein drittes isochrone Gebiet.11. Informationsschaltung nach einem der Ansprüche '! bis 5, dadurch gekennzeichnet, dass zumindest ein isochrones Gebiet mit Informationsverbindungsmitteln versehen ist, die in einem Prüf zustand der Integrationsschaltung einer Prüfschaltung ein Ergebnismuster einer Prüfung zuführt,jedoch im übrigen auKSChliesslich Informationsvarbindungen mit anderen isochronen Gebieten besitzt.12. Integrationsschaltung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass zumindest ein isochrones Gebiet mit Informationsverbindungsmitteln versehen ist, die in einem Prüfzustand der Integrationsschaltung einer Prüfschaltung ein Prüfmuster und ein Ergebnismuster, dass durch dieses Prüfmuster verursacht ist, auswechselt, jedoch im übrigen ausschliesslich Infonrationsverbindungen mit anderen isoclironen Gebieten besitzt.13. Integrationsschaltung nach einem der Ansprüche 11 oder 12, dadurch gekennzeichnet, dass die Informationsverbindungsmittel zum Ausgeben eines Ergebnismusters einen für mehrere isochrone Gebiete gemeinsamen Leiter enthalten.Q 14. Verfahren zur Prüfung einer Integrationsschaltungnach einem der Ansprüche 9 bis 13, dadurch gekennzeichnet, dass das Verfahren folgende Schritte umfasst:a) die Einführung der Integrationsschaltung in einen Prüfzustand;b) die Darstellung eines Prüfmusters in einem Funktionsblock zur Bildung eines Ergebnismusters aus diesem Prüfmuster unter Ausschliessung aus anderen Funktionsblöcken empfangbarer Informationssignale;c) das Ableiten dieses Ergebnismusters von diesem Funktionsblock zur Darstellung dieses Ergebnismusters Bit für Bit zu einer Prüf schaltung;H-1Q 83.019 34 09.10.1984d) erforderlichenfalls fir Wiederholung der Schritte b) und c) mit anderen Prüfmustern;e) die Kontrolle der Richtigkeit der Ergebnisnustei bis zum Erreichen einer Zuverlässigkeitsgrenze bzw. bis zur Detektion eines Fehlers;f) erforderlichenfalls die Wiederholung der Schritte b) bis e) für weitere zu prüfende Funktionsblöcke;g) die Genehmigung der Integrationsschaltung als Ganzen auf der Basis der erreichten Zuverläsoigkeitsgrenzen bzw. die Ablehnung der Integrationsschaltung als Ganzen auf der Basis der detektierten Fehler; h) die Einführung der Intejrationsschaltung in eine Bereitschaftstellung bei Genehmigung.15. Verfahren zur Entwicklung einer Integrationsschaltang für Grossschaltkreise nach einem der Ansprüche 1 bis 13, mit Hilfe einer Bibliothek von Formungselementen, die das Verhaltensmodell der zugaordneten jeweiligen Funktionszellen erfüllen, dadurch gekennzeichnet,dass das Verfahren folgende Schritte umfasst: t|a) die Beschreibung der von der Schilltung hinsichtlich der Aussenwslt ^ zu erfüllenden Gruppe von Funktionen als eine auf einem Abbildungs- -■■;'element abzubildende erste Liste von Funktionen; f\b) die Verteilung der Gruppe in einzelne Funktionsblöcke und die '$.Abbildung dieser Funktionsblöcke auf einem Abbildungselement als |ieine zweite Liste; |c) die Bestimmung einer Gruppe von m> 3 isochronen Gebieten, insbesondere aus je einem Funktionsblock bestehend, und der Wechsel-Wirkungen zwischen verschiedenen Funktionszellen in verschiedenen Funktionsblöcken zum Zugeben einer Komttunikationszelle zu jeder Funktionszelle in einem Funktionsblock, der eine Informationsverbindung mit einer ausserhalb des betreffenden Funktionsblocks liegenden Funktionszelle hat, so dass jede Informationsverbindung zwischen zwei in verschiedenen isochronen Gebieten liegenden Funktionszellen eine Serienschaltung einiger Kotntunikationszellen enthält, wobei eine Komtunikationszelle als Formungselement einen Anschluss für eine Informationsverbindung und ein Synchronisationsaustauschformungselement mit zwei Synchronisationsaustauschleitungen enthält,d) das Anordnen der Funktionsblöcke, Konnunikationszellen und verbindenden Informationsverbindungen und Synchronisationsaustauschverbindungen ;PIIQ 83 343751
.0191
35t · · • · * «1 ■ « e) das Aufrufen der je Funktionszelie • ·
*«■ ·. rf.'»♦ · · · I
·· · · · Al »
09.10.19aus der Bibliothek. bestimmten Fontungselemente 5 ι
I1
I 15
I1 20 3. - 1 35
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL8303536A NL8303536A (nl) | 1983-10-14 | 1983-10-14 | Geintegreerde schakeling op grote schaal welke verdeeld is in isochrone gebieden, werkwijze voor het machinaal ontwerpen van zo een geintegreerde schakeling, en werkwijze voor het machinaal testen van zo een geintegreerde schakeling. |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3437511A1 true DE3437511A1 (de) | 1985-04-25 |
Family
ID=19842560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3437511A Withdrawn DE3437511A1 (de) | 1983-10-14 | 1984-10-12 | Integrationsschaltung fuer grossschaltkreise, die in isochrone gebiete unterteilt ist, verfahren zum maschinengesteuerten entwerfen einer derartigen schaltung und verfahren zum maschinengesteuerten pruefen einer derartigen schaltung |
Country Status (9)
Country | Link |
---|---|
US (1) | US4656592A (de) |
JP (1) | JPH07107916B2 (de) |
CA (1) | CA1224271A (de) |
DE (1) | DE3437511A1 (de) |
FR (1) | FR2557322B1 (de) |
GB (1) | GB2148029B (de) |
IT (1) | IT1209591B (de) |
NL (1) | NL8303536A (de) |
SE (1) | SE8405090L (de) |
Families Citing this family (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5230079A (en) * | 1986-09-18 | 1993-07-20 | Digital Equipment Corporation | Massively parallel array processing system with processors selectively accessing memory module locations using address in microword or in address register |
US5146606A (en) * | 1986-09-18 | 1992-09-08 | Digital Equipment Corporation | Systems for interconnecting and configuring plurality of memory elements by control of mode signals |
JP2695160B2 (ja) * | 1987-04-30 | 1997-12-24 | 株式会社日立製作所 | 任意形状抵抗体の端子間抵抗計算方法 |
US4815003A (en) * | 1987-06-19 | 1989-03-21 | General Electric Company | Structured design method for high density standard cell and macrocell layout of VLSI chips |
US4862399A (en) * | 1987-08-31 | 1989-08-29 | General Electric Company | Method for generating efficient testsets for a class of digital circuits |
US5056053A (en) * | 1988-02-11 | 1991-10-08 | The Mitre Corporation | Algebraic transform machine |
US5097468A (en) * | 1988-05-03 | 1992-03-17 | Digital Equipment Corporation | Testing asynchronous processes |
US5003487A (en) * | 1988-06-28 | 1991-03-26 | International Business Machines Corporation | Method and apparatus for performing timing correction transformations on a technology-independent logic model during logic synthesis |
US5452231A (en) * | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
US5239465A (en) * | 1988-10-11 | 1993-08-24 | Hitachi, Ltd. | Method and system for layout design of integrated circuits with a data transferring flow |
US5329470A (en) * | 1988-12-02 | 1994-07-12 | Quickturn Systems, Inc. | Reconfigurable hardware emulation system |
US5109353A (en) * | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
US5276893A (en) * | 1989-02-08 | 1994-01-04 | Yvon Savaria | Parallel microprocessor architecture |
US5353243A (en) * | 1989-05-31 | 1994-10-04 | Synopsys Inc. | Hardware modeling system and method of use |
US5369593A (en) * | 1989-05-31 | 1994-11-29 | Synopsys Inc. | System for and method of connecting a hardware modeling element to a hardware modeling system |
US5210700A (en) * | 1990-02-20 | 1993-05-11 | International Business Machines Corporation | Automatic delay adjustment for static timing analysis |
US5459673A (en) * | 1990-10-29 | 1995-10-17 | Ross Technology, Inc. | Method and apparatus for optimizing electronic circuits |
US5574655A (en) * | 1991-10-30 | 1996-11-12 | Xilinx, Inc. | Method of allocating logic using general function components |
CZ383292A3 (en) * | 1992-02-18 | 1994-03-16 | Koninkl Philips Electronics Nv | Method of testing electronic circuits and an integrated circuit tested in such a manner |
EP0596648A1 (de) | 1992-11-02 | 1994-05-11 | National Semiconductor Corporation | Erkennung du Fähigkeiten eines Netzendpunkts |
EP0596651A1 (de) | 1992-11-02 | 1994-05-11 | National Semiconductor Corporation | Datennetz mit isochroner Übertragungsfähigkeit |
USRE39116E1 (en) | 1992-11-02 | 2006-06-06 | Negotiated Data Solutions Llc | Network link detection and generation |
USRE39395E1 (en) | 1992-11-02 | 2006-11-14 | Negotiated Data Solutions Llc | Data communication network with transfer port, cascade port and/or frame synchronizing signal |
US5799161A (en) * | 1993-06-25 | 1998-08-25 | Intel Corporation | Method and apparatus for concurrent data routing |
US5422891A (en) * | 1993-07-23 | 1995-06-06 | Rutgers University | Robust delay fault built-in self-testing method and apparatus |
US5680583A (en) * | 1994-02-16 | 1997-10-21 | Arkos Design, Inc. | Method and apparatus for a trace buffer in an emulation system |
JPH0877002A (ja) * | 1994-08-31 | 1996-03-22 | Sony Corp | 並列プロセッサ装置 |
US5533018A (en) | 1994-12-21 | 1996-07-02 | National Semiconductor Corporation | Multi-protocol packet framing over an isochronous network |
US5841967A (en) * | 1996-10-17 | 1998-11-24 | Quickturn Design Systems, Inc. | Method and apparatus for design verification using emulation and simulation |
AU5153198A (en) * | 1996-10-23 | 1998-05-15 | Rutgers University | Method and system for identifying tested path-delay faults |
US6009256A (en) * | 1997-05-02 | 1999-12-28 | Axis Systems, Inc. | Simulation/emulation system and method |
US6026230A (en) * | 1997-05-02 | 2000-02-15 | Axis Systems, Inc. | Memory simulation system and method |
US6321366B1 (en) | 1997-05-02 | 2001-11-20 | Axis Systems, Inc. | Timing-insensitive glitch-free logic system and method |
US6421251B1 (en) | 1997-05-02 | 2002-07-16 | Axis Systems Inc | Array board interconnect system and method |
US6134516A (en) * | 1997-05-02 | 2000-10-17 | Axis Systems, Inc. | Simulation server system and method |
US6389379B1 (en) | 1997-05-02 | 2002-05-14 | Axis Systems, Inc. | Converification system and method |
US6099577A (en) * | 1997-05-13 | 2000-08-08 | Kabushiki Kaisha Toshiba | Logic circuit conversion method and logic circuit design support device |
US5960191A (en) | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
US5970240A (en) * | 1997-06-25 | 1999-10-19 | Quickturn Design Systems, Inc. | Method and apparatus for configurable memory emulation |
JP3777768B2 (ja) * | 1997-12-26 | 2006-05-24 | 株式会社日立製作所 | 半導体集積回路装置およびセルライブラリを記憶した記憶媒体および半導体集積回路の設計方法 |
JP3461443B2 (ja) | 1998-04-07 | 2003-10-27 | 松下電器産業株式会社 | 半導体装置、半導体装置の設計方法、記録媒体および半導体装置の設計支援装置 |
JP3157775B2 (ja) * | 1998-04-14 | 2001-04-16 | 日本電気アイシーマイコンシステム株式会社 | 半導体集積回路装置及びその回路設計方法 |
US6154137A (en) * | 1998-06-08 | 2000-11-28 | 3M Innovative Properties Company | Identification tag with enhanced security |
US6424262B2 (en) | 1998-08-14 | 2002-07-23 | 3M Innovative Properties Company | Applications for radio frequency identification systems |
KR100699755B1 (ko) * | 1998-08-14 | 2007-03-27 | 쓰리엠 이노베이티브 프로퍼티즈 캄파니 | 무선 주파수 식별 시스템 애플리케이션 |
EP1862982B1 (de) | 1998-08-14 | 2014-11-19 | 3M Innovative Properties Company | Verfahren zur Abfrage einer Verpackung mit RFID-Etikett |
ES2198938T3 (es) | 1998-08-14 | 2004-02-01 | 3M Innovative Properties Company | Aplicacion para un sistema de identificacion de radiofrecuencia. |
US6577992B1 (en) | 1999-05-07 | 2003-06-10 | Nassda Corporation | Transistor level circuit simulator using hierarchical data |
US20040069851A1 (en) * | 2001-03-13 | 2004-04-15 | Grunes Mitchell B. | Radio frequency identification reader with removable media |
US20050032151A1 (en) * | 2001-06-05 | 2005-02-10 | Eisenberg Peter M. | Methods of managing the transfer and use of data |
US7588185B2 (en) * | 2001-06-07 | 2009-09-15 | 3M Innovative Properties Company | RFID data collection and use |
US6668357B2 (en) * | 2001-06-29 | 2003-12-23 | Fujitsu Limited | Cold clock power reduction |
US6792584B1 (en) | 2001-10-30 | 2004-09-14 | Lsi Logic Corporation | System and method for designing an integrated circuit |
US6751783B1 (en) * | 2001-10-30 | 2004-06-15 | Lsi Logic Corporation | System and method for optimizing an integrated circuit design |
US6654946B1 (en) * | 2001-10-30 | 2003-11-25 | Lsi Logic Corporation | Interscalable interconnect |
US6889366B2 (en) | 2001-12-27 | 2005-05-03 | Lsi Logic Corporation | System and method for coevolutionary circuit design |
US7114133B2 (en) * | 2002-01-10 | 2006-09-26 | Lsi Logic Corporation | Broken symmetry for optimization of resource fabric in a sea-of-platform architecture |
US6857108B2 (en) * | 2002-07-31 | 2005-02-15 | Lsi Logic Corporation | Interactive representation of structural dependencies in semiconductor design flows |
US20040025133A1 (en) * | 2002-07-31 | 2004-02-05 | Koford James S. | System and method for integrated circuit design |
US7212961B2 (en) * | 2002-08-30 | 2007-05-01 | Lsi Logic Corporation | Interface for rapid prototyping system |
US7299427B2 (en) * | 2002-08-30 | 2007-11-20 | Lsi Corporation | Radio prototyping system |
US7043703B2 (en) * | 2002-09-11 | 2006-05-09 | Lsi Logic Corporation | Architecture and/or method for using input/output affinity region for flexible use of hard macro I/O buffers |
US6966044B2 (en) * | 2002-12-09 | 2005-11-15 | Lsi Logic Corporation | Method for composing memory on programmable platform devices to meet varied memory requirements with a fixed set of resources |
US7401057B2 (en) | 2002-12-10 | 2008-07-15 | Asset Trust, Inc. | Entity centric computer system |
US7069523B2 (en) * | 2002-12-13 | 2006-06-27 | Lsi Logic Corporation | Automated selection and placement of memory during design of an integrated circuit |
US7831653B2 (en) * | 2002-12-13 | 2010-11-09 | Lsi Corporation | Flexible template having embedded gate array and composable memory for integrated circuits |
US6823502B2 (en) * | 2002-12-31 | 2004-11-23 | Lsi Logic Corporation | Placement of configurable input/output buffer structures during design of integrated circuits |
US7055113B2 (en) * | 2002-12-31 | 2006-05-30 | Lsi Logic Corporation | Simplified process to design integrated circuits |
US20040153301A1 (en) * | 2003-02-03 | 2004-08-05 | Daniel Isaacs | Integrated circuit development methodology |
US6973630B1 (en) | 2003-04-07 | 2005-12-06 | Lsi Logic Corporation | System and method for reference-modeling a processor |
US6959428B2 (en) * | 2003-06-19 | 2005-10-25 | Lsi Logic Corporation | Designing and testing the interconnection of addressable devices of integrated circuits |
US7305593B2 (en) * | 2003-08-26 | 2007-12-04 | Lsi Corporation | Memory mapping for parallel turbo decoding |
US7111275B2 (en) * | 2003-08-28 | 2006-09-19 | International Business Machines Corporation | Electronic circuit design analysis system |
JP2005083895A (ja) | 2003-09-09 | 2005-03-31 | Matsushita Electric Ind Co Ltd | 半導体装置のテスト方法 |
US20050114818A1 (en) * | 2003-11-21 | 2005-05-26 | Lsi Logic Corporation | Chip design command processor |
US8713025B2 (en) | 2005-03-31 | 2014-04-29 | Square Halt Solutions, Limited Liability Company | Complete context search system |
US8681839B2 (en) | 2010-10-27 | 2014-03-25 | International Business Machines Corporation | Calibration of multiple parallel data communications lines for high skew conditions |
US20120106539A1 (en) * | 2010-10-27 | 2012-05-03 | International Business Machines Corporation | Coordinating Communications Interface Activities in Data Communicating Devices Using Redundant Lines |
US8767531B2 (en) | 2010-10-27 | 2014-07-01 | International Business Machines Corporation | Dynamic fault detection and repair in a data communications mechanism |
US8898504B2 (en) | 2011-12-14 | 2014-11-25 | International Business Machines Corporation | Parallel data communications mechanism having reduced power continuously calibrated lines |
US9411750B2 (en) | 2012-07-30 | 2016-08-09 | International Business Machines Corporation | Efficient calibration of a low power parallel data communications channel |
US9292372B2 (en) * | 2014-05-18 | 2016-03-22 | Freescale Semiconductor, Inc. | Error pad for safety device |
US9474034B1 (en) | 2015-11-30 | 2016-10-18 | International Business Machines Corporation | Power reduction in a parallel data communications interface using clock resynchronization |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3896418A (en) * | 1971-08-31 | 1975-07-22 | Texas Instruments Inc | Synchronous multi-processor system utilizing a single external memory unit |
US3919695A (en) * | 1973-12-26 | 1975-11-11 | Ibm | Asynchronous clocking apparatus |
US4130865A (en) * | 1974-06-05 | 1978-12-19 | Bolt Beranek And Newman Inc. | Multiprocessor computer apparatus employing distributed communications paths and a passive task register |
JPS51137340A (en) * | 1975-05-23 | 1976-11-27 | Yokogawa Hokushin Electric Corp | Data processing unit |
US4065809A (en) * | 1976-05-27 | 1977-12-27 | Tokyo Shibaura Electric Co., Ltd. | Multi-processing system for controlling microcomputers and memories |
US4174514A (en) * | 1976-11-15 | 1979-11-13 | Environmental Research Institute Of Michigan | Parallel partitioned serial neighborhood processors |
US4191996A (en) * | 1977-07-22 | 1980-03-04 | Chesley Gilman D | Self-configurable computer and memory system |
IT1111606B (it) * | 1978-03-03 | 1986-01-13 | Cselt Centro Studi Lab Telecom | Sistema elaborativo modulare multiconfigurabile integrato con un sistema di preelaborazione |
US4286173A (en) * | 1978-03-27 | 1981-08-25 | Hitachi, Ltd. | Logical circuit having bypass circuit |
US4270170A (en) * | 1978-05-03 | 1981-05-26 | International Computers Limited | Array processor |
US4270169A (en) * | 1978-05-03 | 1981-05-26 | International Computers Limited | Array processor |
US4251861A (en) * | 1978-10-27 | 1981-02-17 | Mago Gyula A | Cellular network of processors |
JPS5591853A (en) * | 1978-12-29 | 1980-07-11 | Fujitsu Ltd | Semiconductor device |
NL7901156A (nl) * | 1979-02-14 | 1980-08-18 | Philips Nv | Systeem voor het asynchroon transporteren van gegevens tussen aktieve deelinrichtingen. |
FR2469751A1 (fr) * | 1979-11-07 | 1981-05-22 | Philips Data Syst | Processeur d'intercommunication du systeme utilise dans un systeme de traitement de donnees reparti |
NL7909178A (nl) * | 1979-12-20 | 1981-07-16 | Philips Nv | Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten. |
GB2082354B (en) * | 1980-08-21 | 1984-04-11 | Burroughs Corp | Improvements in or relating to wafer-scale integrated circuits |
GB2083929B (en) * | 1980-08-21 | 1984-03-07 | Burroughs Corp | Branched labyrinth wafer scale integrated circuit |
US4445171A (en) * | 1981-04-01 | 1984-04-24 | Teradata Corporation | Data processing systems and methods |
US4468727A (en) * | 1981-05-14 | 1984-08-28 | Honeywell Inc. | Integrated cellular array parallel processor |
US4484292A (en) * | 1981-06-12 | 1984-11-20 | International Business Machines Corporation | High speed machine for the physical design of very large scale integrated circuits |
US4397021A (en) * | 1981-06-15 | 1983-08-02 | Westinghouse Electric Corp. | Multi-processor automatic test system |
JPS57207347A (en) * | 1981-06-16 | 1982-12-20 | Mitsubishi Electric Corp | Semiconductor device |
DE3279328D1 (en) * | 1981-12-08 | 1989-02-09 | Unisys Corp | Constant-distance structure polycellular very large scale integrated circuit |
-
1983
- 1983-10-14 NL NL8303536A patent/NL8303536A/nl not_active Application Discontinuation
-
1984
- 1984-10-10 US US06/659,395 patent/US4656592A/en not_active Expired - Fee Related
- 1984-10-11 SE SE8405090A patent/SE8405090L/ not_active Application Discontinuation
- 1984-10-11 IT IT8423095A patent/IT1209591B/it active
- 1984-10-11 CA CA000465188A patent/CA1224271A/en not_active Expired
- 1984-10-12 FR FR848415673A patent/FR2557322B1/fr not_active Expired - Lifetime
- 1984-10-12 DE DE3437511A patent/DE3437511A1/de not_active Withdrawn
- 1984-10-12 GB GB08425824A patent/GB2148029B/en not_active Expired
- 1984-10-15 JP JP59214472A patent/JPH07107916B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FR2557322B1 (fr) | 1991-03-15 |
CA1224271A (en) | 1987-07-14 |
US4656592A (en) | 1987-04-07 |
JPH07107916B2 (ja) | 1995-11-15 |
SE8405090D0 (sv) | 1984-10-11 |
IT1209591B (it) | 1989-08-30 |
FR2557322A1 (fr) | 1985-06-28 |
JPS60108937A (ja) | 1985-06-14 |
IT8423095A0 (it) | 1984-10-11 |
SE8405090L (sv) | 1985-04-15 |
NL8303536A (nl) | 1985-05-01 |
GB2148029A (en) | 1985-05-22 |
GB2148029B (en) | 1987-04-15 |
GB8425824D0 (en) | 1984-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3437511A1 (de) | Integrationsschaltung fuer grossschaltkreise, die in isochrone gebiete unterteilt ist, verfahren zum maschinengesteuerten entwerfen einer derartigen schaltung und verfahren zum maschinengesteuerten pruefen einer derartigen schaltung | |
DE3338333A1 (de) | Logiksimulatorgeraet zur gueltigkeitspruefung einer logikstruktur | |
DE3407983C2 (de) | Mehrprozessorrechnersystem zum Erzeugen von Bildpunktinformationen aus in einer hierarchischen Datenstruktur definierten Objektelementen | |
DE69834739T2 (de) | Ausgleichen von daten die zwischen verschiedenen leitern fliessen die auf unterschiedlichen frequenzen operieren | |
DE102008034500B4 (de) | Arbitrierung | |
DE112019000226T5 (de) | Neuromorpher chip zum aktualisieren präziser synaptischer gewichtswerte | |
DE3606650A1 (de) | Hardware logik-simulator | |
DE19510902A1 (de) | Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern | |
DE1238695B (de) | Elektronenrechner mit einer Mehrzahl von Rechenwerken | |
DE4017902A1 (de) | Zusatzkarte mit automatischer anpassung an die schlitzposition | |
DE3508640A1 (de) | Computersystem zur implementierung eines ereignisgesteuerten simulationsalgorithmus | |
DE4313190B4 (de) | Vorrichtung und Verfahren zur Initialisierung einer Datenschnittstelle für eine programmierbare Steuerung | |
EP3475824B1 (de) | Verfahren und vorrichtung zur redundanten datenverarbeitung | |
DE2912073C2 (de) | ||
DE3911721C2 (de) | ||
DE3121046C2 (de) | ||
DE2461651B2 (de) | Zählvorrichtung zum Zählen von Mustern | |
DE10153665A1 (de) | Speichertester mit verbesserter Nachdecodierung | |
AT501880B1 (de) | Speicherprogrammierbare steuerung | |
EP1789889B1 (de) | Rechnereinrichtung mit rekonfigurierbarer architektur zur aufnahme eines globalen zellularen automaten | |
EP1433061B1 (de) | Verfahren zum überprüfen eines rechnerkerns eines mikroprozessors oder eines mikrocontrollers | |
DE2605853A1 (de) | Verfahren und vorrichtung zum erkennen von zeichen | |
DE60209201T2 (de) | Verfahren zum Speichern von Registereigenschaften in einer Datenstruktur und dazugehörige Datenstruktur | |
DE10243598A1 (de) | Verfahren und Vorrichtung zur funktionalen Verifikation von integrierten Schaltungen | |
DE10122252B4 (de) | Verfahren zum Simulieren einer zu verifizierenden Schaltungseinheit und Verzögerungsschalenvorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8141 | Disposal/no request for examination |