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 schaltung

Info

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
Application number
DE3437511A
Other languages
English (en)
Inventor
Peter Bertil Nijmegen Duin
Arie Antonie van der Enschede Poel
Lambertus Hengelo Spaanenburg
Roberto Eindhoven Woudsma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE3437511A1 publication Critical patent/DE3437511A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit 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
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.
Hintergründe auf physikalischer Ebene
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
2
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
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
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-
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
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-
^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, ';
•Ö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.
;
35

Claims (1)

  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 zwischen
    H 20 den zugeordneten isochronen Gebieten jeder Informationsanschluss einer Ij Funktionszelle zur Aussenwelt mit einer weiteren Kommunikationszelle
    zum 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. j
    3. 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-.19W
    Informationsleitungen 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 bis
    8, 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.019
    343 7511 33 .I.-.. —'"*09*.τ0.ί984
    zum Zuführen von Prüfmustern zum prüfenden Funktionsblock bzw. ziim Ausgeben von Ergebnismastern des zu prüfenden Funktionsblocks dadurch
    bildet, dass jedes isochrone Gebiet, dessen Funktionsblock in diö i
    Kette 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 Integrationsschaltung
    nach 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.1984
    d) 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 |i
    eine 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
    .019
    1
    35
    t · · • · * «1 «
    e) das Aufrufen der je Funktionszelie • ·
    *«■ ·. rf.'»
    ♦ · · · I
    ·· · · · Al »
    09.10.19
    aus der Bibliothek. bestimmten Fontungselemente 5 ι
    I
    1
    I 15
    I
    1 20 3. - 1 35
DE3437511A 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 Withdrawn DE3437511A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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