Die Erfindung bezieht sich auf ein Hardware-Emulationssystem und insbesondere einen ASIC-Prototyper, der es ermöglicht, integrierte Schaltkreise bzw. ASIC′s zu emulieren, so daß ein Testen des zu schaffenden Bausteins in der späteren Hardware-Umgebung möglich ist.The invention relates to a hardware emulation systemand in particular an ASIC prototype that enablesto emulate integrated circuits or ASICs, so thata test of the building block to be created in the laterHardware environment is possible.
Die CMOS-Technologie erlaubt es Elektronikentwicklern, ganze Systeme in digitaler Technik auf einem integrierten Schaltkreis zu realisieren. Die Entwicklung eines komplexen Schaltkreises wird durch eine Vielzahl automatischer Verfahren unterstützt, welche einigermaßen sicher anzuwenden sind, falls die notwendigen Regeln beachtet werden. Am Anfang einer Entwicklung steht die Spezifikation des zu schaffenden Bausteins. Hier werden die genaue Funktion mit dem logischen Verhalten und die notwendigen mechanischen, physikalischen und elektrischen Randbedingungen beschrieben und festgelegt. Falls keine komplette Eigenentwicklung eines integrierten Schaltkreises beabsichtigt ist, so ist das Ziel ein ASIC, das in der Geräteumgebung exakt den gewünschten Spezifikationen entspricht. Für Anwendungen mit größeren Stückzahlen sind zur Zeit die maskenprogrammierten ASIC-Technologien die wirtschaftlichste Lösung zur Erfüllung der meisten Spezifikationen. Dabei kommen die ASICs in den Formen eines Gate-Arrays, eines Sea-of-gates ASICs oder Cell-Arrays zum Einsatz. Die drei Formen unterscheiden sich voneinander durch die geometrische Anordnung ihrer inneren Logikblöcke, die miteinander frei verbunden werden können. Die Entwicklung oder das Design der ASICs erfolgt durch eine eingehende Simulation vor der kostenintensiven Fertigung. Dabei bedeutet Simulation eines Designs die Ausführung eines Algorithmus, der das Verhalten der gewünschten Schaltung modellhaft beschreibt. Dies eröffnet die Möglichkeit, ein Design zu analysieren und zu verifizieren, ohne eine Hardware-Ausführung zu erstellen. Als Schnittstelle zwischen dem Anwender und dem eigentlichen Hersteller des ASICs dient eine Netzliste, mit der die Funktion der Schaltung durch eine Verbindungsliste von Bibliothekselementen des gewählten Herstellers eindeutig beschrieben wird. Die einzelnen Bibliothekselemente beschreiben einfache und komplexe logische Grundschaltungen und Verknüpfungen. Die Erzeugung der Netzliste kann auf zweierlei Art geschehen, entweder durch die Eingabe des Schaltplans oder durch die Eingabe einer Verhaltensbeschreibung, beispielsweise durch eine Wahrheitstafel, mit einer anschließenden Schaltungssynthese. Beide Verfahren sind zudem miteinander mischbar. Die Überprüfung der Netzliste erfolgt mit Hilfe von Simulatoren. Den Bibliothekselementen werden softwaremäßig Modelle zugeordnet, die das spätere Verhalten möglichst genau nachbilden sollen. Somit steht die gesamte Schaltung als Softwaremodell vorab zur Verfügung, wobei man sich darüber im Klaren sein muß, daß ein Modell benutzt wird, das immer mit Fehlern behaftet sein kann. Die Reaktion dieses Modells wird durch das Anlegen von Stimulus-Pattern mittels eines Logiksimulators geprüft. Ein Stimulus-Pattern bedeutet dabei, daß die Eingänge des Modells mit Eingangsdaten beaufschlagt werden. Der Simulator errechnet die Ausgangswerte. Die Ergebnisse werden mit den geplanten Werten verglichen. Dies führt jedoch nur dann zu einem sicheren Erfolg, wenn die Stimuli den tatsächlichen Bedingungen entsprechen und wenn die überprüften Reaktionen auch alle gewünschten Ergebnisse bringen. Die Gefahr einer Fehlspezifikation der simulierten Schaltung ist bei diesem Verfahren nicht völlig ausgeschlossen. Außerdem sind Simulationsläufe i.a. langsam und benötigen daher große Rechenzeiten und Rechenkapazitäten, so daß das Verfahren auch von daher kostenintensiv ist. Eine derartige Simulation berücksichtigt nicht, in welcher physikalischen Umgebung die Schaltung eingesetzt wird, d. h. Auswirkungen der Hardware-Umgebung, in der die Schaltung eingesetzt werden soll, bleiben unberücksichtigt.The CMOS technology allows electronics developers, wholeSystems in digital technology on an integrated circuitrealizing circle. The development of a complexCircuit is through a variety of automatic Verdriving supports which are reasonably safe to useif the necessary rules are observed. At theThe specification of the is at the beginning of a developmentcreating building block. Here is the exact function withthe logical behavior and the necessary mechanical,physical and electrical boundary conditions described and fixed. If not a complete in-house development of oneintegrated circuit is the goalan ASIC that exactly the desired in the device environmentConforms to specifications. For applications with larger onesQuantities are currently the mask-programmed ASICTechnologies the most economical solution to meet themost specifications. The ASICs come in theForms a gate array, a sea-of-gates ASIC orCell arrays are used. The three forms differfrom each other by the geometrical arrangement of their innerLogic blocks that can be freely connected to each other.The ASICs are developed or designed by adetailed simulation before the cost-intensive production.Simulation of a design means the execution of aAlgorithm that determines the behavior of the desired circuitdescribes as a model. This opens up the possibility of oneAnalyze and verify design without a hardto create goods execution. As an interface between theUsers and the actual manufacturer of the ASIC servesa network list with which the function of the circuit bya connection list of library elements of the selected oneManufacturer is clearly described. The single onesLibrary elements describe simple and complexbasic logic circuits and links. The productionThe netlist can be done in two ways, eitherby entering the circuit diagram or by enteringa description of behavior, for example through aTruth table, with a subsequent circuit synthesis.Both methods can also be mixed together. The AboutThe network list is checked with the aid of simulators. TheLibrary elements are assigned to models in softwarenet that reproduce the later behavior as closely as possibleshould. Thus, the entire circuit is a software modelavailable in advance, being clear about thismust use a model that always has errorscan be afflicted. The response of this model is through the creation of stimulus patterns using a logic simulators checked. A stimulus pattern means thatthe inputs of the model are loaded with input datawill. The simulator calculates the initial values. TheResults are compared to the planned values. Thisleads to a sure success only if theStimuli correspond to actual conditions and ifthe checked reactions also all the desired resultsbring. The risk of incorrect specification of the simulatedSwitching is not completely excluded with this methodsen. In addition, simulation runs are generally slow andtherefore require large computing times and computing capacities, sothat the process is therefore expensive. Asuch simulation does not take into account whichphysical environment the circuit is used, d. H.Impact of the hardware environment in which the circuitto be used are disregarded.
Es ist möglich, die Umgebung der projektierten Schaltung bzw. des ASICs ebenfalls softwaremäßig nachzubilden und in die Simulation einzubinden. Dies ist jedoch nur bedingt möglich, da die Umgebung für den Simulator modellierbar sein muß. Da das Gesamtsystem in den allermeisten Fällen nicht abgeschlossen ist, ist die Modellierung des Gesamtsystems nicht möglich. Somit müssen für das Gesamtsystem wieder Schnittstellen definiert werden, um eine Begrenzung des Gesamtsystems zu erreichen. Die Schnittstellen können wiederum zu Spezifikationsfehlern führen und das Problem wird nur Verlagert. Die Erweiterung der Simulation um das begrenzte Gesamtsystem führt zu einem weiteren Anstieg der Simulationsrechenzeiten, ohne daß Fehler sicher ausgeschlossen werden können.It is possible the environment of the projected circuitor the ASIC also in software and inintegrate the simulation. However, this is only possible to a limited extentLich, because the environment can be modeled for the simulatorgot to. Since the overall system is not in most casesis completed is the modeling of the overall systemnot possible. Thus, for the overall system againInterfaces are defined to limit the Geto reach the entire system. The interfaces can in turnlead to specification errors and the problem will onlyRelocated. The expansion of the simulation by the limitedOverall system leads to a further increase in simulationson computing times without errors being excludedcan be.
Eine weitere Möglichkeit der Einbeziehung der Umgebung ist die Verwendung eines "Hardware-Modeler"s. Hier wird die Hardware-Umgebung oder Teile davon über Interface-Schal tungen an den Software-Simulator angebunden. Diese werden vom Simulator wie Software-Macros aufgerufen. Allerdings sind die notwendigen Interface-Schaltungen individuell für jede Hardware-Einheit der Umgebung zu erstellen, da die sehr viel schnellere Hardware an die wesentlich langsamere Software durch Zwischenspeichern von allen anfallenden Zuständen angepaßt werden muß. Dieses Verfahren löst zwar das Problem der Spezifikation der Schnittstellen zwischen dem ASIC-Software-Modell und der Hardware-Umgebung theoretisch, ist aber praktisch wegen der unverhältnismäßig hohen Anpassungsarbeiten, die ebenfalls fehlerbehaftet sein können, nahezu undurchführbar und teuer. In der Praxis werden daher nur Standardelemente, für welche Software-Modelle zu komplex sind, wie z. B. Prozessoren, Controller o. ä., über einen "Hardware-Modeler" in die Simulation eingebunden.Another way of involving the environment isthe use of a "hardware modeler". Here is theHardware environment or parts of it via interface scarf tied to the software simulator. These willcalled by the simulator like software macros. Indeedthe necessary interface circuits are individual forto create any hardware unit of the environment since the verymuch faster hardware to the much slower softwould be by buffering all occurring statesmust be adjusted. This method does solve the problemthe specification of the interfaces between the ASIC-Software model and the hardware environment is theoretical, howeverpractically because of the disproportionately high adjustment workten, which can also be faulty, almost unfeasible and expensive. In practice, therefore, only Stanstandard elements for which software models are too complex,such as B. processors, controllers or the like, via a "hardwareModeler "involved in the simulation.
Eine sehr wirkungsvolle Methode zur Überprüfung der Funktionsfähigkeit einer Schaltung in ihrer Umgebung ist nicht die Simulation mit Softwaremodellen, sondern die Hardwaresimulation, d. h. die einzelnen Unterelemente des ASICs werden durch Hardwaremodelle ersetzt. Man spricht dabei von einer Emulation. Bekannt ist hierbei das "RPM (Rapid Prototype Maschine) Emulation System", dessen Wirkungsweise in der EP 0 372 833 A2 beschrieben ist. Das System basiert auf sog. Logic Cell Arrays (LCA) als Hardwaregrundlage, welche z. B. von der Fa. XILINK angeboten werden. Das sind Bauelemente, die aus einer Matrix von konfigurierbaren Logikblöcken, konfigurierbaren I/O-Zellen und einer konfigurierbaren Verdrahtung bestehen. Die Konfigurierbarkeit wird durch Speicherzellen, die als Memory Teil des LCA′s sind, erreicht. Bei der Emulation wird nun die softwaremäßig simulierte Netzliste des projektierten ASICs entsprechend übersetzt, in eine Anordnung der LCA′s übertragen und dort hardwaremäßig abgebildet. Die Ein- und Ausgänge des Emulators (LCA-Anordnung) entsprechen nun den Anschlüssen des emulierten ASICs und werden direkt über Adapter in die Umgebungs schaltung des ASICs eingeschlossen. Die Funktion der emulierten Schaltung kann daher direkt in der eigentlichen Umgebung getestet werden.A very effective method of checking the radioability of a circuit in its environment is notthe simulation with software models, but the hardwaresimulation, d. H. the individual sub-elements of the ASICare replaced by hardware models. One speaks ofan emulation. The "RPM (Rapid Prototype machine) emulation system ", the mode of operation of whichEP 0 372 833 A2. The system is based onSo-called Logic Cell Arrays (LCA) as a hardware basis, whiche.g. B. are offered by XILINK. These are baubleselements that consist of a matrix of configurable logicblocks, configurable I / O cells and a configurablebare wiring. The configurability willthrough memory cells that are part of the LCA as memory,reached. In the emulation, the software is now simunetwork list of the configured ASICs accordinglysets, transferred into an arrangement of LCAs and hard theredepicted as goods. The inputs and outputs of the emulator(LCA arrangement) now correspond to the connections of the emulierASICs and are directly into the environment via adapters circuit of the ASIC included. The function of the emugated circuit can therefore directly in the actualEnvironment to be tested.
Weiterhin ist in der Druckschrift US 5 036 473 ein Hardware-System zur "Simulation" und zum "Prototyping" beschrieben. Dieses besteht ebenfalls aus einer Vielzahl von miteinander zu Logikblöcken verbundenen, konfigurierbaren Logik-Chips und einer konfigurierbaren Verdrahtung. Auch hier wird das Hardware-System zur schnellen Bestimmung der funktionalen Ergebnisse eines angelegten Input-Patterns herangezogen. Dieses System zeichnet sich dadurch aus, daß die vorhandenen Logik-Chips sowohl zum Abbilden der ursprünglichen, funktionalen Netzliste, als auch mittels entsprechend modifizierter Netzliste zu einer gegenüber einer Softwarelösung beschleunigten, seriellen Fehler-Simulation herangezogen werden können. Darüber hinaus können Teile der Logik-Chips dazu benutzt werden, die aus Software-Simulatoren bekannten, sogenannten "Unit"-Delays abzubilden, indem serielle Schieberegister oder vorprogrammierte zählergesteuerte "state machines" gebildet und zu der Netzliste hinzugefügt werden. Die aus den Software-Simulatoren bekannte "cycle time" wird dann durch einen gemeinsamen, globalen System-Takt erzeugt.Furthermore, US 5 036 473 describes a hardware system for "simulation" anddescribed for "prototyping". This also consists of a variety of togetherLogic blocks connected, configurable logic chips and a configurableWiring. Again, the hardware system is used to quickly determine thefunctional results of an input pattern created. This system recordsis characterized by the fact that the existing logic chips both for mapping the original,functional network list, as well as by means of a correspondingly modified network listaccelerated serial error simulation in a software solutioncan. In addition, parts of the logic chips can be used, which are derived from softwareTo simulate known so-called "unit" delays by using serial shift registersor preprogrammed counter-controlled "state machines" and added to the network listto be added. The "cycle time" known from the software simulators is then followed bygenerates a common, global system clock.
Nachteilig bei der Emulation des ASICs mit Hilfe von LCA′s oder anderen FPGA′s (Field Programmable Gate Arrays), wie unter EP 0 372 833 A2 beschrieben, ist, daß die Modellierung der ASIC-Elemente nur funktional, also in der logischen Abfolge, aber nicht in ihrem Zeitverhalten erfolgen kann. So werden die Signallaufzeiten und ihre Verhältnisse untereinander nicht berücksichtigt und können bei dem gattungsgemäßen Emulationssystem nicht kontrolliert werden. Im Verfahren nach US 5 036 473 ist es möglich in vorher ausgewählten "kritischen" Bereichen durch "UNIT"-Delays repräsentierende Logik-Chips zu einer genaueren Abbildung zu gelangen, jedoch ist dies in vollem Umfang nicht möglich, da es zu einer nicht realisierbaren Zunahme des Platzbedarfs der Schaltungsabbildung führen würde. Bei diesen beiden Verfahren, sowie allgemein bei allen auf LCA-ähnlichen Technologien basierenden Verfahren, treten darüber hinaus weitere systembedingte Probleme auf. So müssen in ungünstigen Fällen manuelle Eingriffe in die Verdrahtungsstrategie der LCA′s erfolgen, um die Funktionsfähigkeit der emulierten Schaltung herzustellen. Daraus folgt, daß mit den gattungsgemäßen Systemen eine vollständige Überprüfung und ein vollständiges Testen des projektierten ASICs nur bedingt möglich sind, da das Zeitverhalten der Abbildung gesondert und explizit berücksichtigt werden muß. Die Gefahr eines kostenintensiven Redesigns ist dabei nicht ausgeschlossen. Ein weiterer erheblicher Nachteil der bekannten Emulationen ergibt sich aus der Tatsache, daß die internen Zustände der abgebildeten Knoten der Schaltung nur durch ebenfalls vorherige explizite Verdrahtung an einen Pin des LCA′s erfolgen kann. Mit anderen Worten, die Zustände an den Knoten der Schaltung können nicht verändert und an den nicht vorher ausgewählten Knoten auch nicht beobachtet werden. Bei einer notwendigen Fehlersuche ist dieser Umstand sehr nachteilig, da zur Überprüfung eines nicht nach außen verdrahteten Knotens eine neue Abbildung der gesamten ASIC-Netzliste mit allen oben genannten Schwierigkeiten und Unwägbarkeiten des Zeitverhaltens erfolgen muß. Alle diese Probleme treten auch bei der Nutzung der Abbildung zur sequentiellen Fehlersimulation und beim Heranziehen der Elemente zur Abbildung der "UNIT"-Delays auf.A disadvantage when emulating the ASIC with the help of LCAs or other FPGAs (fieldProgrammable Gate Arrays), as described in EP 0 372 833 A2, is that theModeling of the ASIC elements only functionally, i.e. in the logical sequence, but not intheir timing can be done. So are the signal delays and their relationshipsnot taken into account with each other and can in the generic emulation systemcannot be controlled. In the process according to US 5,036,473, it is possible in advancelogic chips representing selected "critical" areas by means of "UNIT" delaysto get a more accurate picture, however, this is not fully possible as itwould lead to an unrealizable increase in the space requirement of the circuit diagram.With these two processes, as well as in general with all on LCA-like technologiesbased procedures, further system-related problems occur. So mustin unfavorable cases, manual interventions in the wiring strategy of the LCAs are carried out in order toto establish the functionality of the emulated circuit. It follows that with thegeneric systems a complete review and a complete testing of theconfigured ASICs are only possible to a limited extent, since the timing of the mapping is separateand must be considered explicitly. There is a risk of a costly redesignnot excluded. Another significant disadvantage of the known emulations arisesfrom the fact that the internal states of the mapped nodes of the circuit only byprevious explicit wiring to a pin of the LCA can also be done. With othersWords, the states at the nodes of the circuit cannot be changed and at thepreviously selected nodes are also not observed. If necessaryTroubleshoot this fact is very disadvantageous, because to check one is not outwardwired node a new illustration of the entire ASIC network list with all of the abovementioned difficulties and uncertainties of the timing behavior must take place. All theseProblems also arise when using the image for sequential error simulation andwhen using the elements to map the "UNIT" delays.
Der Erfindung liegt daher die Aufgabe zugrunde, ein System zur Emulation von elektronischen Hardwaresystemen zu schaffen, welches eine vollständige Emulation unter Einbeziehung des Zeitverhaltens der zu entwickelnden Schaltung ermöglicht, ohne jedoch durch aufwendige Umkonfigurationen die Konsistenz der gesamten Abbildung in Frage zu stellen, und somit zu einem sichereren Ergebnis zu gelangen. Mit anderen Worten, die Emulation soll dazu dienen, die Schaltung als ganze so exakt wie möglich abzubilden, und nicht durch systembedingt notwendige Eingriffe den Charakter einer eigenständigen Entwicklung annehmen.The invention is therefore based on the object of a system for emulatingelectronic hardware systems to create a full emulation underInclusion of the time behavior of the circuit to be developed enables, but withoutdue to complex reconfigurations, the consistency of the entire image in questionand thus achieve a more secure result. In other words, theEmulation should serve to map the circuit as a whole as precisely as possible, andnot the character of an independent through interventions necessary for the systemAccept development.
Die Lösung der Aufgabe ergibt sich durch die kennzeichnenden Merkmale des Anspruches 1. Durch das erfindungsgemäße Hinzufügen von freiprogrammierbaren Delay-Elementen in die Logikzellen ist es nunmehr möglich, auch das Zeitverhalten der zu entwickelnden Schaltung in der Emulation zu berücksichtigen. Somit wird ein vollständiger Test eines ASICs durch eine Emulation möglich.The solution to the problem arises from the characteristicFeatures of claim 1. By the addition of the inventionadd programmable delay elements to the logiccells, it is now possible to also determine the time behavior of thedeveloping circuit in the emulation.A complete test of an ASIC by aEmulation possible.
Weitere vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen. So ist für jede Eingangs- und Ausgangssignaleinheit einer Logikzelle oder FPE-(Field Programmable Emulation) Zelle ein programmierbares Delayelement vorhanden, um jede Leitung individuell in ihrem Zeitverhalten einstellen zu können. Die Eingangssignale der zu emulierenden Anordnung stehen am Verdrahtungsbus der Logik-Zelle, der aus n-Leitungen besteht, auf einer der Leitungen an. Über den Eingangsmultiplexer jedes Einganges, der über eine RAM-Ansteuerung zur richtigen Busleitung durchschaltet, wird das Eingangssignal in die Logik-Zelle, in der die Logikverknüpfung stattfinden soll, eingekoppelt. Durch eine entsprechend feine Abstufung des Delay-Elementes kann das Eingangssignal variabel verzögert werden. Der am Ende jeder Eingangssignalleitung liegende Multiplexer schaltet in Abhängigkeit eines Steuersignals, das aus dem entsprechenden RAM-Speicher kommt, entweder das Eingangssignal oder einen festen Logikzustand als Eingangswert zur wählbaren Logikfunktionseinheit durch. Dieser Input hat eine Verbindung nach außen und kann somit von außen auf seinen logischen Zustand abgefragt werden. Die n-Eingänge gehen auf eine frei konfigurierbare Logikfunktionseinheit. Die Logikfunktionseinheit ist mit einem RAM-Speicher verbunden, so daß darüber unterschiedliche Logikgrundfunktionen wie AND′s, NAND′s, OR′s, NOR′s, XOR′s, XNOR′s etc. und Latchfunktionen eingestellt werden können. Damit können relativ einfach Elemente einer Netzliste bei der ASIC-Emulation nachgebildet werden. Der Ausgang der Logikfunktionseinheit führt auf einen Multiplexer, dessen Steuerleitung mit einem RAM verbunden ist. Dadurch ist es möglich, entweder das Ausgangssignal der Logikfunktionseinheit oder einen Eingang unter Umgehung der Logikeinheit auf den Ausgang zu schalten. Diese Anordnung bietet die Möglichkeit, die angesteuerte FPE-Zelle nicht als Logikelement mit den dazugehörigen Verzögerungen zu betreiben, sondern die FPE-Zelle als zusätzliche Verdrahtungsmöglichkeit ohne Schalt- oder sonstige Verzögerungen zu nutzen. Der Ausgang des Ausgangsmultiplexers kann ebenso wie die bereits erwähnten Eingänge der Logikfunktionseinheit von außen über eine Ausleseschaltung abgefragt werden. Dadurch ist es möglich, nur durch eine einfache Softwareabfrage zu jeder Zeit den Zustand eines beliebigen Knotens oder Verdrahtungselements einer abgebildeten Schaltung festzustellen. Die Ausgangsleitung einer Logik-Zelle ist weiterhin mit einem fein abstufbaren Delay-Element versehen, so daß das Zeitverhalten der Logikelemente und der Verdrahtungsteilstücke abgebildet werden kann. Der Ausgang der gesamten FPE-Zelle wird über einen n-stufigen Demultiplexer an den Verdrahtungsbus gegeben, um von dort an Eingänge von anderen FPE-Zellen zu gelangen. Die Breite n des Verdrahtungsbusses hängt von der Topologie der gesamten FPE-Anordnung, d. h. eines FPE-Moduls, ab.Further advantageous embodiments of the invention resultitself from the subclaims. So for every input andOutput signal unit of a logic cell or FPE (FieldProgrammable Emulation) cell a programmable delayelement available to each line individually in yourTo be able to set time behavior. The input signals of theThe arrangement to be emulated is on the wiring busLogic cell, which consists of n lines, on one of theLines on. Via the input multiplexer of each input,via a RAM control to the correct bus lineis switched through, the input signal into the logic cell,in which the logic combination is to take place.Through a correspondingly fine gradation of the delay elementthe input signal can be delayed variably. The onMultiplexer lying at the end of each input signal linetet depending on a control signal from the entspeaking RAM comes, either the input signalor choose a fixed logic state as input valueclear logic functional unit. This input has oneConnection to the outside and can thus be from the outside on hislogical status can be queried. The n inputs opena freely configurable logic function unit. The logicfunctional unit is connected to a RAM memory, sothat different basic logic functions such as AND’s,NAND's, OR's, NOR's, XOR's, XNOR's etc. and latch functionscan be adjusted. This allows Eleelements of a network list in ASIC emulationwill. The output of the logic function unit performs a multiplexer, the control line ver with a RAMis bound. This makes it possible to either exitsignal of the logic function unit or an input belowBypass the logic unit to switch to the output. TheseArrangement offers the possibility of the driven FPE cellnot as a logic element with the associated delaysto operate, but the FPE cell as an additional VerPossibility of wiring without switching or other delaygene to use. The output of the output multiplexer canas well as the logic radio inputs already mentionedtion unit queried from the outside via a readout circuitwill. This makes it possible to do so only through a simple oneSoftware query the status of any at any timeKnot or wiring element of a depicted scarfdetermination. The output line of a logic cellis also equipped with a finely adjustable delay elementsee so that the timing of the logic elements and theWiring sections can be mapped. The exitthe entire FPE cell is over an n-stage demultiplexer given to the wiring bus to on from therefrom other FPE cells. The width n of theWiring bus depends on the topology of the wholeFPE arrangement, i.e. H. an FPE module.
Stellt man eine genügend große Anzahl von FPE-Zellen und einen genügend breiten Verdrahtungsbus zur Verfügung, so kann jede Schaltung, die durch eine frei programmierbare Logikfunktion darstellbar ist, mit allen Verzögerungszeiten abgebildet und somit emuliert werden. Gleichzeitig können alle Knoten der Schaltung auf ihren Logikzustand im Betrieb abgefragt werden. Weiterhin erlaubt die erfindungsgemäße Anordnung, daß jeder Eingang eines verwendeten Logikelementes auf einen definierten Zustand gesetzt werden kann.Provide a sufficient number of FPE cells anda sufficiently wide wiring bus is available, socan any circuit by a freely programmableLogic function can be represented with all delay timesmapped and thus emulated. Can at the same timeall nodes of the circuit on their logic state in operationbe queried. Furthermore, the invention allowsArrangement that each input of a logic element usedmentes can be set to a defined state.
Um möglichst hohe Frequenzen der mit dieser Anordnung emulierten Schaltung zu erreichen, müssen möglichst viele FPE- Zellen auf kleinstem Raum zusammengefaßt werden. Dies kann mit den heutigen Integrationstechniken bis zu einem gewissen Maß erreicht werden. Da mit steigender Integrationsdichte die Ausbeute an funktionierenden FPE-Zellen auf einem Träger sinkt, ist man gezwungen, die Gesamtheit aller FPE-Zellen in Module aufzuspalten, den FPE-Modulen. Mehrere FPE-Module werden zusammengefaßt und bilden die sog. ASIC-Box. In der ASIC-Box werden mehrere FPE-Module entweder durch eine direkte Verdrahtung oder über frei programmierbare Koppelfelder miteinander verknüpft. Erfindungsgemäß sind die Signalleitungen der frei programmierbaren Koppelfelder ebenfalls mit einstellbaren Delay-Elementen versehen, so daß ein Verdrahten beliebiger FPE-Module unter der Modelliermöglichkeit der Laufzeiten einer Verbindung möglich ist. Dies ist einfacher, als über die Delayeinstellungen der internen Verdrahtung der FPE-Zellen die Laufzeiten von beispielsweise Busverbindungen etc. nachzubilden. Die Programmierung der Delay-Elemente der Koppelfelder erfolgt ebenso über RAM′s wie bei den internen Delay-Elementen der internen FPE-Zellen. Die Kreuzungspunkte der Signalleitungen der Koppelfelder sind wiederum über RAM′s programmierbar, d. h. eine Verbindung kann durchgeschaltet werden oder nicht.To achieve the highest possible frequencies of the emu with this arrangementcircuit, as many FPE- Cells can be combined in the smallest space. This canwith today's integration techniques to a certain extentMeasure can be achieved. Because with increasing integration densitythe yield of functioning FPE cells on a supportdecreases, one is forced to put all of the FPE cells inSplit modules, the FPE modules. Several FPE modulesare summarized and form the so-called ASIC box. In theASIC-Box will have multiple FPE modules either through onedirect wiring or via freely programmable couplingfields linked together. According to the Signal lines of the freely programmable switching fieldsif provided with adjustable delay elements, so that aWiring any FPE modules under the modeling optionthe duration of a connection is possible. Thisis easier than using the internal delay settingsWiring the FPE cells the runtimes of, for exampleTo reproduce bus connections etc. Programming theDelay elements of the switching matrixes also take place via RAM'sas with the internal delay elements of the internal FPE celllen. The crossing points of the signal lines of the coupling padwhich are in turn programmable via RAM's, d. H. a verBinding can be switched through or not.
Die Erfindung ist nachfolgend anhand einer in den Zeichnungen dargestellten bevorzugten Ausführungsform beschrieben. Es zeigen:The invention is based on a in the drawingdescribed preferred embodiment describedben. Show it:
Fig. 1 das Schema eines Schaltungsentwurfes,Fig. 1 shows the diagram of a circuit design,
Fig. 2 den Ablauf einer Schaltungsimulation,Fig. 2 shows the sequence of a circuit simulation,
Fig. 3 das Prinzipbild einer Hardware-Emulation,Fig. 3 shows the principle diagram of a hardware emulation,
Fig. 4 das Blockschaltbild einer erfindungsgemäßen FPE-Zelle,Fig. 4 is a block diagram of an FPE cell of the invention,
Fig. 5 den Aufbau eines erfindungsgemäßen FPE-Moduls,Fig. 5 shows the structure of an FPE module of the invention,
Fig. 6 den Systemaufbau einer ASIC-Box undFig. 6 shows the system structure of an ASIC box and
Fig. 7 das Blockschaltbild eines erfindungsgemäßen Koppelfeldes.Fig. 7 shows the block diagram of a switching matrix according to the invention.
DieFig. 1 zeigt in seiner oberen Hälfte einen beliebigen Stromlaufplan1. Dieser beispielhafte Schaltungsentwurf soll in einem ASIC realisiert werden. Als ASICs kommen Gate-Arrays2, Sea-of-Gates3 oder Cell-Arrays4 in Betracht, die alle unter den Oberbegriff digitale, maskenprogrammierte ASICs fallen.Fig. 1 shows in its upper half a desired circuit diagram1. This exemplary circuit design is to be implemented in an ASIC. Gate-AR rays2 , sea-of-gates3 or cell arrays4 come into consideration as ASICs, all of which come under the generic term digital, mask-programmed ASICs.
DieFig. 2 zeigt den üblichen Ablauf einer Schaltungsentwicklung bis zur Softwaresimulation der projektierten Schaltung. Am Anfang einer Entwicklung steht die Erstellung eines Schaltplanes. Dieser wird über eine Schaltplaneingabe10 in ein EDV-System eingegeben. Dort wird der Schaltplan mittels vom ASIC-Hersteller bereitgestellter Bibliothekselemente12 in eine Netzwerkliste umgewandelt. Die Bibliothekselemente12 beschreiben logische Grundverknüpfungen o. ä. Den Bibliothekselementen werden Modelle softwaremäßig zugeordnet, die das spätere Verhalten in Hardware möglichst genau beschreiben sollen. Es folgt somit eine Simulation15 der gewünschten Schaltung. Zu dieser Simulation15 gelangt man auch auf einem zweiten Weg, in dem eine Verhaltensbeschreibung11 in das EDV-System eingegeben wird. Zusammen mit einer Logiksynthese13 wird die Netzliste14 erstellt. Ausgehend von der Netzliste wird auch hier ein Simulationsmodell15 erzeugt. Mittels eines Stimulus-Pattern16 werden die Eingänge des Softwaremodells mit Daten belegt. Die Simulation führt dann zu einem Simulationsergebnis17, das mit den gewünschten Daten verglichen werden kann.Fig. 2 shows the usual sequence of a circuit development up to software simulation of the projected circuit device. Development begins with the creation of a circuit diagram. This is entered into a computer system via a circuit diagram input10 . There, the circuit diagram is converted into a network list by means of library elements12 provided by the ASIC manufacturer. The library elements12 describe basic logic links or the like. The library elements are assigned models by software which are to describe the subsequent behavior in hardware as precisely as possible. A simulation15 of the desired circuit follows. This simulation15 can also be reached in a second way, in which a behavioral description11 is entered into the EDP system. The network list14 is created together with a logic synthesis13 . Starting from the network list, a simulation model15 is also generated here. The inputs of the software model are assigned data by means of a stimulus pattern16 . The simulation then leads to a simulation result17 which can be compared with the desired data.
DieFig. 3 zeigt das Prinzipbild eines ASIC-Emulators. Durch eine Datenübertragung20 werden die Netzliste, die benötigte Bibliothek und die gewünschte Pinbelegung des ASICs in eine EDV-Anlage21 eingebracht. Die EDV-Anlage21 führt die Verwaltung des Man-Maschine Interface durch, erstellt die Plazierungs- und Verdrahtungsdaten für den Emulator22 nach der entsprechenden Vorschrift und überträgt die Plazierungs- und Verdrahtungsdaten physikalisch in den Emulator20, so daß in diesem ein hardwaremäßiges Abbild der gewünschten Schaltung vorhanden ist. Der Emulator20 reagiert folglich wie das projektierte ASIC, so daß mit diesem Tests auf Funktionsfähigkeit etc. durchgeführt werden können. Der Emulator ist mit einer PIN-Adapter-Einheit23 ausgerüstet, wobei der Emulator22 in dem Target-System24, d. h. in der Hardware-Umgebung, in der ASIC eingesetzt werden soll, plazierbar ist.Fig. 3 shows the principle diagram of an ASIC emulator. The network list, the required library and the desired pin assignment of the ASIC are introduced into a computer system21 by a data transmission20 . The EDP system21 performs the administration of the man-machine interface, creates the placement and wiring data for the emulator22 according to the appropriate regulation and physically transmits the placement and wiring data into the emulator20 , so that a hardware-based one Image of the desired circuit is available. The emulator20 thus reacts like the projected ASIC, so that tests for functionality etc. can be carried out with this. The emulator is equipped with a PIN adapter unit23 , the emulator22 being able to be placed in the target system24 , ie in the hardware environment in which ASIC is to be used.
DieFig. 4 zeigt das Blockschaltbild einer Logik-Zelle30 der FPE Field Programmable Emulation, d. h. eine FPE-Zelle. Eine FPE-Zelle30 enthält Anschlüsse für den Verdrahtungsbus31, der aus n Leitungen besteht. Die Anzahl n richtet sich nach der Anwendung und ist größer gleich 1. Über einen Multiplexer33 werden die Eingangssignale auf die entsprechende Eingangseinheit28 geschaltet. Es existieren n Eingangseinheiten28. Eine Eingangseinheit28 umfaßt den bereits erwähnten Multiplexer33, eine nachfolgende Delay-Einheit34 und einen weiteren Multiplexer35, wobei die Elemente der Eingangseinheit28 von einem RAM-Speicher32 gesteuert werden. N Steuerleitungen36 gehen an den Multiplexer33, m Steuerleitungen37 steuern die zeitliche Auflösung der Delay-Einheit34 und eine Selectleitung39 verbindet ein Bit des RAM-Speichers32 mit dem zweiten Multiplexer35. Weiterhin bilden der Ausgang der Delay-Einheit34 und eine Signalleitung38 des RAMs32 die Eingänge des Multiplexer35. Damit wird erreicht, daß in Abhängigkeit vom Zustand der Selectleitung39 die Logikfunktionseinheit entweder mit dem vom Verdrahtungsbus31 kommenden Eingangssignal oder mit einem aus dem RAM32 kommenden Festsignal beaufschlagt wird. Zwischen den Multiplexern35 und der Logikfunktionseinheit41 ist eine Abfrage40 vorgesehen, so daß der logische Zustand von der Logikfunktionseinheit41 kontrolliert werden kann. Die n Ausgänge der Eingangseinheiten28 gelangen in die Logikfunktionseinheit41. In dieser werden in Abhängigkeit von einem RAM-Speicher43 die logischen Grundfunktionen, Latches etc. eingestellt. Das Ergebnis der logischen Operation gelangt über einen Ausgang44 in einen Multiplexer45 der Ausgangseinheit29. Die Ausgangseinheit29 umfaßt die Elemente Multiplexer45, Abfrageeinheit46, Delay-Einheit47 und Demultiplexer48. Die Logikfunktionseinheit41 und die Elemente der Ausgangseinheit29 außer der Abfrageeinheit46 werden von dem RAM-Speicher43 mit Daten versorgt bzw. gesteuert. Dazu sind die Steuerleitungen27,49,50 und51 entsprechendFig. 4 vorgesehen. Der Ausgang44 der Logikfunktionseinheit41 und die Überbrückungsleitung42 bilden die zwei Eingänge des Multiplexers45. Dabei verbindet die Überbrückungsleitung42 eine Eingangseinheit28 direkt unter Umgehung der Logikfunktionseinheit41 mit der Ausgangseinheit29, wobei der Abgriff der Überbrückungsleitung42 direkt hinter dem Multiplexer33 erfolgt. Je nach Ansteuerung des Multiplexers45 durch die Steuerleitung49 wird entweder das Ausgangssignal der Logikfunktionseinheit41 oder das nicht verzögerte, unveränderte Eingangssignal durchgeschaltet. Dies eröffnet die Möglichkeit, eine FPE-Zelle als reine Leitung zu benutzen. Mittels der Abfrage46 kann der Ausgang der Logik-Zelle30 überprüft werden. Weiterhin ist am Ausgang des Multiplexers45 eine steuerbare Delay-Einheit47 mit y Steuerleitungen50 angeschlossen. Damit kann bei einer Emulation das Zeitverhalten der Logikausgänge und von Verdrahtungsteilstücken feinstufig abgebildet werden. Der Ausgang O der Delay-Einheit47 wird über den, mittels n-Steuerleitungen51 angeschlossenen, n-stufigen Demultiplexer48 an den Verdrahtungsbus31 gegeben, um von dort an die Eingänge der anderen FPE-Zellen zu gelangen. Die Breite n des Verdrahtungsbus31 hängt von der Topologie der gesamten FPE-Zellenanordnung ab.FIG. 4 shows the block diagram of a logic cell30 of the FPE Field Programmable emulation, ie, a FPE cell. An FPE cell30 contains connections for the wiring bus31 , which consists of n lines. The number n depends on the application and is greater than or equal to 1. The input signals are switched to the corresponding input unit28 via a multiplexer33 . There are n input units28 . An input unit28 comprises the multiplexer33 already mentioned, a subsequent delay unit34 and a further multiplexer35 , the elements of the input unit28 being controlled by a RAM memory32 . N control lines36 go to the multiplexer33 , m control lines37 control the temporal resolution of the delay unit34 and a select line39 connects a bit of the RAM memory32 to the second multiplexer35 . Furthermore, the output of the delay unit34 and a signal line38 of the RAM32 form the inputs of the multiplexer35 . This ensures that, depending on the state of the select line39, the logic function unit is acted upon either with the input signal coming from the wiring bus31 or with a fixed signal coming from the RAM32 . A query40 is provided between the multiplexers35 and the logic function unit41 , so that the logic state can be checked by the logic function unit41 . The n outputs of the input units28 enter the logic function unit41 . The basic logic functions, latches, etc. are set in this as a function of a RAM memory43 . The result of the logical operation reaches an output44 into a multiplexer45 of the output unit29 . The output unit29 comprises the elements multiplexer45 , interrogation unit46 , delay unit47 and de multiplexer48 . The logic function unit41 and the elements of the output unit29, apart from the interrogation unit46, are supplied or controlled by the RAM43 . For this purpose, the control lines27 ,49 ,50 and51 are provided in accordance withFIG. 4. The output44 of the logic function unit41 and the bypass line42 form the two inputs of the multiplexer45 . The bridging line42 connects an input unit28 directly bypassing the logic function unit41 to the output unit29 , the bridging line42 being tapped directly behind the multiplexer33 . Depending on the control of the multiplexer45 by the control line49 , either the output signal of the logic function unit41 or the undelayed, unchanged input signal is switched through. This opens up the possibility of using an FPE cell as a pure line. The output of the logic cell30 can be checked by means of the query46 . Furthermore, a controllable delay unit47 with y control lines50 is connected to the output of the multiplexer45 . With an emulation, the timing of the logic outputs and wiring sections can be mapped in fine stages. The output O of the delay unit47 is given to the wiring bus31 via the n-stage demultiplexer48 connected by means of n control lines51 , in order to get from there to the inputs of the other FPE cells. The width n of the wiring bus31 depends on the topology of the entire FPE cell arrangement.
DieFig. 5 zeigt den Zusammenschluß einer Vielzahl von FPE-Zellen zu einem FPE-Modul60. Das FPE-Modul60 besteht aus FPE-Zellen30, die auf einem Träger in Matrixform angeordnet sind. Die einzelnen Zellen30 werden durch einen Verdrahtungsbus61 miteinander verbunden. Weiterhin umfaßt ein FPE-Modul eine Vielzahl von I/O-Einheiten62, die konfigurierbar sind. In dem Chip "FPE-Modul" befinden sich noch ein Controler63, ein Multiplexer zur Abfrage des Zellstatus64, eine Adressierung65 der Multiplexer zur Informationsabfrage der FPE-Zellen und RAMs der Logikzellen und eine Schreib-/Leseeinheit66.FIG. 5 shows the combination of a plurality of FPE cells to form an FPE module60 . The FPE module60 consists of FPE cells30 , which are arranged on a carrier in matrix form. The individual cells30 are connected to one another by a wiring bus61 . An FPE module also includes a plurality of I / O units62 that are configurable. In the "FPE module" chip there is also a controller63 , a multiplexer for querying the cell status64 , an addressing65 of the multiplexers for querying the information of the FPE cells and RAMs of the logic cells and a read / write unit66 .
InFig. 6 ist der Systemaufbau einer "ASIC-Box"70 dargestellt. Eine Vielzahl von FPE-Modulen60 sind in Matrixform auf beispielsweise einer Platine76 aufgebracht. Die einzelnen FPE-Module sind untereinander über Koppelfelder71 und die nötige Verbindungen72 derart verbunden, daß jede Logik-Zelle letztlich mit einer beliebig anderen verbunden werden kann. Weiterhin wird eine Steuereinheit75 zur Steuerung der FPE-Module60 und der konfigurierbaren Koppelfelder71 in der ASIC-Box70 benötigt. Zum Anschluß der ASIC-Box70 an eine EDV-Anlage dient ein SCSI-Interface74.InFig. 6, the system structure of an "ASIC box"70 is Darge. A large number of FPE modules60 are applied in matrix form to, for example, a circuit board76 . The individual FPE modules are interconnected via switching networks71 and the necessary connections72 in such a way that each logic cell can ultimately be connected to any other. Furthermore, a control unit75 is required to control the FPE modules60 and the configurable switching networks71 in the ASIC box70 . A SCSI interface74 is used to connect the ASIC box70 to a computer system.
DieFig. 7 zeigt ein Prinzipschaltbild der konfigurierbaren Koppelfelder71. Jeder Anschlußpunkt80 eines Koppelfeldes71 spaltet sich auf in zwei gegenläufige Signalleitungen81 und82, deren Signalrichtung durch die richtungsabhängigen Ein- und Ausgangsverstärker83 und84 bestimmt werden, wobei die Ausgangsverstärker84 von einem RAH85 in den getriebenen Zustand oder in den High-Impedance-Zustand gesteuert werden. Jede Signalleitung81 enthält eine Delay-Einheit86, die über ein RAM87 gesteuert wird. Weiterhin ist jeder Kreuzungspunkt einer Signalleitung mit einer entsprechenden anderen der richtigen Richtung mittels eines RAMs88 programmierbar in dem Sinne, daß entweder eine Verbindung der Kreuzungspunkte hergestellt wird oder nicht.FIG. 7 shows a basic circuit diagram of the configurable switching matrixes71 . Each connection point80 of a switching matrix71 splits into two opposing signal lines81 and82 , the signal direction of which is determined by the direction-dependent input and output amplifiers83 and84 , the output amplifiers84 being switched from a RAH85 to the geared state or to the high Impedance state can be controlled. Each signal line81 contains a delay unit86 which is controlled by a RAM87 . Furthermore, each crossing point of a signal line with a corresponding other of the correct direction is programmable by means of a RAM88 in the sense that either the crossing points are connected or not.
Die folgenden Anwendungen kommen für die vorstehend beschriebene Hardware-Anordnung, den "ASIC-Prototyper", in Betracht. Es lassen sich auf dem Prototyper Netzwerke von ASICs und anderen logischen Schaltungen abbilden, wobei die Logik und das Zeitverhalten der Logikelemente und deren Verbindungen untereinander modelliert werden können. Die Variabilität wird durch die softwaremäßige Einstellung der RAM-Struktur erreicht. Damit ist es möglich, die Funktion eines ASICs vor dessen Fertigstellung zu emulieren und in der richtigen Umgebung zu testen. Die eingebaute Fähigkeit, die logischen Zustände beliebiger Knoten abzufragen, erleichtert die Fehlersuche erheblich, wenn die Funktionsfähigkeit der emulierten Schaltung in ihrer Umgebung nicht erfüllt ist.The following applications come for the abovedescribed hardware arrangement, the "ASIC prototype", inConsideration. Networks fromMap ASICs and other logic circuits, theLogic and the timing of the logic elements and their verbonds can be modeled with each other. The Variabalance is ensured by the software-based setting of the RAMStructure reached. This makes it possible to function as aTo emulate ASICs before their completion and in theright environment to test. The built in ability thatQuerying the logical states of any nodes is easiertroubleshooting significantly if the functionality of theemulated circuit in their environment is not met.
Weiterhin läßt sich der ASIC-Prototyper zur Fehlersimulation einsetzen. Bei der Fertigung von ASICs treten grundsätzlich Defekte auf, die beim anschließenden Test erkannt werden müssen. Da es nicht möglich ist im Innern eines IC zu messen, muß dafür Sorge getragen werden, daß alle internen Knoten steuerbar und kontrollierbar sind. Weiterhin muß es ein Testpattern geben, daß alle möglichen Fehlerquellen erkennt. Dazu gibt es ein Fehlermodell, das nahezu alle Fehlerarten abdeckt. Das ist die "Stuck at 1 und Stuck at 0-Methode". Man geht davon aus, daß man jeden internen Knoten einmal auf logisch 1 und dann auf logisch 0 zwingt. Durch die Reaktion am Ausgang des IC′s wird nun festgestellt, ob dieser Fehlereingriff erkannt wird oder nicht. Bisher werden solche Analysen an Softwareabbildungen mit Hilfe eines Fehlersimulators durchgeführt. Da jeder Fehler einen ganzen Simulationslauf bedeutet, sind bei großen ASIC′s und langen Testpattern die Ausführungszeiten auch mit schnellsten Rechnern extrem lange und gehen in die Tage. So wird versucht durch eine statistische Fehlersimulation durch eine statistische Auswahl von Knoten die Laufzeit zu verkürzen. Eine exakte Aussage über die wirkliche Fehlerabdeckung ist damit jedoch nicht möglich. Mit der Fähigkeit des erfindungsgemäßen Prototypers, alle Knoten auf einen beliebigen gewünschten Zustand zu setzen, ist eine "Fehleremulation" anstelle einer Fehlersimulation mit wesentlich geringerem Zeitaufwand zu erreichen und ergibt eine exakte Aussage über das Verhalten des geplanten ASIC′s im Falle von Fertigungsfehlern. So kann leicht aus dem Verhalten des Prototypers im Fehlerfall eine Änderung der Schaltung selbst oder eine Erweiterung des Testpattern abgeleitet werden, was zu einem sicheren Testen nach der Fertigung führt.Furthermore, the ASIC prototype can be used to simulate errorsdeploy. Basically, when manufacturing ASICsDefects that are recognized during the subsequent testhave to. Since it is not possible to measure inside an ICcare must be taken to ensure that all internalKnots are controllable and controllable. Furthermore, it mustgive a test pattern that all possible sources of errorrecognizes. There is a fault model that almost all of themTypes of errors. That is the "Stuck at 1 und Stuck at0 method ". It is assumed that each internalForces the node once to logic 1 and then to logic 0.Due to the reaction at the output of the IC's is now festgedetermines whether this error intervention is detected or not.So far, such analyzes have been performed on software imagesWith the help of an error simulator. Because every mistakea whole simulation run means are largeASIC's and long test patterns also include execution times fastest computers extremely long and go on in the days. Sois tried through a statistical error simulationa statistical selection of nodes to shorten the runtimeZen. An exact statement about the actual fault coveragehowever, this is not possible. With the ability of the inventorprototype according to the invention, all nodes on anyto set the desired state is an "error emulation"instead of an error simulation with much lessTo achieve time expenditure and gives an exact statement aboutthe behavior of the planned ASIC's in the case of manufacturingfail. It can easily be determined from the behavior of the prototype in theIn the event of a fault, the circuit itself or a changeExtension of the test pattern can be derived, resulting in asafe testing after production.
Weiterhin kann es beim Entwurf von Schaltungen vorkommen, daß an einem Logikelement mit mehreren Eingängen zwei Signale in annähernd gleicher Zeit ihren Zustand ändern. Dies hat bei der Takt-Daten-Beziehung eines Flipflops fatale Konsequenzen, da dann unterschiedliche Daten verarbeitet werden. Solche Wettläufe (Race) sind also grundsätzlich zu vermeiden. Auf die gleiche Art und Weise ergeben sich "skew"-Probleme. Hier sind viele Flipflops an einen gemeinsamen Takt angeschlossen. Bei sehr schnellen Halbleitertechnologien bewegt sich die Schaltzeit eines Flipflops in der gleichen Größenordnung wie die Laufzeit auf der Taktleitung. Dadurch entsteht ein "race"-Problem". Leider sind keine Werkzeuge bekannt, die dieses Problem ausreichend lösen. Mit den variablen Delay-Einheiten des erfindungsgemäßen Prototypers an jedem Knoten und in den Verbindungsleitungen kann nun leicht eine "race"-Kondition erkannt werden, wenn die Schaltung nach einer Variation der Verzögerungszeiten in positiver und negativer Richtung innerhalb vorgegebener Grenzen zu einem anderen Verhalten führt. Dieses Verfahren führt zu einer sicheren Aussage über das "race"- und "skew"-Verhalten des entworfenen ASIC′s.Furthermore, when designing circuits,that two sig. on a logic element with several inputsnale change their state in approximately the same time. Thishas fatal con with the clock-data relationship of a flip-flopsequences, because then different data are processedthe. Such races are basically closedavoid. In the same way arise"skew" problems. Many flip-flops are common to one heresame clock connected. For very fast semiconductorstechnologies, the switching time of a flip-flop moves inthe same order of magnitude as the running time on the clockmanagement. This creates a "race" problem. Unfortunately, there areno tools known to adequately address this problemto solve. With the variable delay units of the Inventionprototype at every node and in the connectionsLines can now easily recognize a "race" conditionif the circuit after a variation of the delaytimes in positive and negative direction withingiven limits leads to different behavior.This procedure leads to a reliable statement about the"Race" and "skew" behavior of the designed ASIC.
BezugszeichenlisteReference list
1 Stromlaufplan
2 Gate-Array
3 Sea-of-Gates
4 Cell-Array
5 Anschlüsse
10 Schaltplaneingabe
11 Verhaltensbeschreibung
12 Bibliothek
13 Logiksynthese
14 Netzliste
15 Simulation
16 Stimulus-Pattern
17 Ergebnis
20 Datenübertragung
21 EDV-Anlage
22 Hardware-Emulator
23 Pin-Adapter
24 Target-System
27 Steuerleitungen
28 Eingangseinheit
29 Ausgangseinheit
30 FPE-Zelle
31 Verdrahtungsbus
32 RAM-Speicher (Eingang)
33 Multiplexer I
34 Delay-Element
35 Multiplexer II
36 Steuerleitungen Multiplexer I
37 Steuerleitungen Delay
38 Signalleitung Multiplexer II
39 Selectleitung Multiplexer II
40 Abfrage
41 Logikfunktionseinheit
42 Überbrückungsleitung
43 RAM-Speicher
44 Ausgang Logikfunktionseinheit
45 Multiplexer (Ausgang)
46 Abfrage
47 Delay-Einheit
48 Demultiplexer
49 Steuerleitungen Multiplexer (Ausgang)
50 Steuerleitungen Delay (Ausgang)
51 Steuerleitungen Demultiplexer
60 FPE-Modul
61 Verdrahtungsbus
62 I/O-Einheit
63 Control
64 Multiplexer
65 Adressierung
66 Schreib/Leseeinheit
70 ASIC-Box
71 Koppelfeld
72 Verbindung Koppelfeld - FPE-Module
73 Steckerfeld
74 SCSI-Controller
75 Steuereinheit
76 Platine
80 Anschlußpunkt
81 Hinleitung
82 Rückleitung
83 Eingangsverstärker
84 Ausgangsverstärker
85 RAM
86 Delay-Einheit
87 RAM (Delay)
88 RAM (Kreuzungsteuerung)
89 Control1 circuit diagram
2 gate array
3 sea-of-gates
4 cell array
5 connections
10 Schematic entry
11 Description of behavior
12 library
13 Logic synthesis
14 Network list
15 simulation
16 stimulus patterns
17 result
20 Data transmission
21 EDP system
22 Hardware emulator
23 pin adapter
24 Target system
27 control lines
28 input unit
29 output unit
30 FPE cell
31 Wiring bus
32 RAM memory (input)
33 multiplexer I
34 Delay element
35 Multiplexer II
36 control lines multiplexer I
37 control lines delay
38 Signal line multiplexer II
39 Select line multiplexer II
40 query
41 logic function unit
42 bypass line
43 RAM memory
44 Output logic function unit
45 multiplexer (output)
46 query
47 Delay unit
48 demultiplexers
49 control lines multiplexer (output)
50 control lines delay (output)
51 control lines demultiplexer
60 FPE module
61 Wiring bus
62 I / O unit
63 Control
64 multiplexers
65 addressing
66 read / write unit
70 ASIC box
71 switching matrix
72 Connection coupling matrix - FPE modules
73 connector panel
74 SCSI controllers
75 control unit
76 board
80 connection point
81 forwarding
82 return line
83 input amplifier
84 output amplifiers
85 RAM
86 delay unit
87 RAM (delay)
88 RAM (intersection control)
89 Control
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| DE4211162ADE4211162C2 (en) | 1992-03-31 | 1992-03-31 | Hardware emulation system | 
| DE59309791TDE59309791D1 (en) | 1992-03-31 | 1993-03-03 | Asic prototype | 
| EP93103338AEP0563597B1 (en) | 1992-03-31 | 1993-03-03 | Asic-prototyper | 
| AT93103338TATE185009T1 (en) | 1992-03-31 | 1993-03-03 | ASIC PROTOTYPER | 
| CN93103573ACN1081284A (en) | 1992-03-31 | 1993-03-08 | Asic prototyper | 
| IL10502593AIL105025A (en) | 1992-03-31 | 1993-03-11 | Asic-prototyper | 
| AU35234/93AAU664599B2 (en) | 1992-03-31 | 1993-03-17 | Asic-prototyper | 
| CA002092126ACA2092126A1 (en) | 1992-03-31 | 1993-03-22 | Asic-prototyper | 
| JP5070091AJPH0613592A (en) | 1992-03-31 | 1993-03-29 | Asic-prototype manufacturing device | 
| MX9301808AMX9301808A (en) | 1992-03-31 | 1993-03-30 | ASIC PROTOTYPE EMULATOR. | 
| BR9301362ABR9301362A (en) | 1992-03-31 | 1993-03-30 | HARDWARE EMULATION SYSTEMS | 
| ZA932254AZA932254B (en) | 1992-03-31 | 1993-03-30 | Asix-prototyper. | 
| NZ247309ANZ247309A (en) | 1992-03-31 | 1993-03-31 | Hardware emulator including programmable delay units in each logic cell | 
| US08/384,391US5798645A (en) | 1992-03-31 | 1995-02-03 | Hardware emulations system with delay units | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| DE4211162ADE4211162C2 (en) | 1992-03-31 | 1992-03-31 | Hardware emulation system | 
| Publication Number | Publication Date | 
|---|---|
| DE4211162A1 DE4211162A1 (en) | 1993-10-07 | 
| DE4211162C2true DE4211162C2 (en) | 1996-03-21 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| DE4211162AExpired - LifetimeDE4211162C2 (en) | 1992-03-31 | 1992-03-31 | Hardware emulation system | 
| DE59309791TExpired - Fee RelatedDE59309791D1 (en) | 1992-03-31 | 1993-03-03 | Asic prototype | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| DE59309791TExpired - Fee RelatedDE59309791D1 (en) | 1992-03-31 | 1993-03-03 | Asic prototype | 
| Country | Link | 
|---|---|
| US (1) | US5798645A (en) | 
| EP (1) | EP0563597B1 (en) | 
| JP (1) | JPH0613592A (en) | 
| CN (1) | CN1081284A (en) | 
| AT (1) | ATE185009T1 (en) | 
| AU (1) | AU664599B2 (en) | 
| BR (1) | BR9301362A (en) | 
| CA (1) | CA2092126A1 (en) | 
| DE (2) | DE4211162C2 (en) | 
| IL (1) | IL105025A (en) | 
| MX (1) | MX9301808A (en) | 
| NZ (1) | NZ247309A (en) | 
| ZA (1) | ZA932254B (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| DE10018206A1 (en)* | 2000-04-12 | 2001-10-25 | Daimler Chrysler Ag | Error simulation method for testing electrical assembly e.g. microcomputer, involves detecting effect of assigned error incident on operating sequences of component at one measurement location | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US6138266A (en)* | 1997-06-16 | 2000-10-24 | Tharas Systems Inc. | Functional verification of integrated circuit designs | 
| US6338158B1 (en)* | 1997-10-31 | 2002-01-08 | Vlsi Technology, Inc. | Custom IC hardware modeling using standard ICs for use in IC design validation | 
| US6219819B1 (en)* | 1998-06-26 | 2001-04-17 | Xilinx, Inc. | Method for verifying timing in a hard-wired IC device modeled from an FPGA | 
| US6157530A (en)* | 1999-01-04 | 2000-12-05 | International Business Machines Corporation | Method and apparatus for providing ESD protection | 
| US6618698B1 (en)* | 1999-08-12 | 2003-09-09 | Quickturn Design Systems, Inc. | Clustered processors in an emulation engine | 
| DE19947838A1 (en)* | 1999-10-05 | 2001-04-19 | Siemens Ag | Interface converter for connection to a hardware emulator | 
| US6973422B1 (en)* | 2000-03-20 | 2005-12-06 | Intel Corporation | Method and apparatus for modeling and circuits with asynchronous behavior | 
| US6691287B2 (en) | 2000-12-14 | 2004-02-10 | Tharas Systems Inc. | Functional verification system | 
| US6625786B2 (en) | 2000-12-14 | 2003-09-23 | Tharas Systems, Inc. | Run-time controller in a functional verification system | 
| US6512684B2 (en) | 2001-06-11 | 2003-01-28 | International Business Machines Corporation | Content addressable memory having cascaded sub-entry architecture | 
| CN100350582C (en)* | 2002-12-09 | 2007-11-21 | 刘建光 | Method and system for observing all signals inside programmable digital IC chip | 
| JP4720436B2 (en)* | 2005-11-01 | 2011-07-13 | 株式会社日立製作所 | Reconfigurable processor or device | 
| JP2007305137A (en)* | 2006-05-12 | 2007-11-22 | Samsung Electronics Co Ltd | Distributed simultaneous simulation | 
| DE102019216684B4 (en) | 2019-10-29 | 2021-10-14 | Volkswagen Aktiengesellschaft | Method for timing analysis of application software for an embedded system, device for data processing, computer program and computer-readable data carrier | 
| EP4105749A1 (en)* | 2021-06-16 | 2022-12-21 | Siemens Aktiengesellschaft | A selective or gate for complex failure propagations | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| EP0099114B1 (en)* | 1982-07-13 | 1988-05-11 | Nec Corporation | Logic simulator operable on level basis and on logic block basis on each level | 
| US4769817A (en)* | 1986-01-31 | 1988-09-06 | Zycad Corporation | Concurrent fault simulation for logic designs | 
| US4787061A (en)* | 1986-06-25 | 1988-11-22 | Ikos Systems, Inc. | Dual delay mode pipelined logic simulator | 
| US4786904A (en)* | 1986-12-15 | 1988-11-22 | Zoran Corporation | Electronically programmable gate array having programmable interconnect lines | 
| US5058001A (en)* | 1987-03-05 | 1991-10-15 | International Business Machines Corporation | Two-dimensional array of processing elements for emulating a multi-dimensional network | 
| US4907180A (en)* | 1987-05-04 | 1990-03-06 | Hewlett-Packard Company | Hardware switch level simulator for MOS circuits | 
| US4954953A (en)* | 1988-04-07 | 1990-09-04 | Vlsi Technology, Inc. | Machine process for converting one representation of an electronic integrated circuit into another representation | 
| US5590349A (en)* | 1988-07-11 | 1996-12-31 | Logic Devices, Inc. | Real time programmable signal processor architecture | 
| EP0651343B1 (en)* | 1988-10-05 | 2004-04-28 | Quickturn Design Systems, Inc. | Method of using electronically reconfigurable gate array logic and apparatus formed thereby | 
| JPH02144674A (en)* | 1988-11-25 | 1990-06-04 | Fujitsu Ltd | Logic circuit simulation device | 
| 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 | 
| US4940908A (en)* | 1989-04-27 | 1990-07-10 | Advanced Micro Devices, Inc. | Method and apparatus for reducing critical speed path delays | 
| US5260881A (en)* | 1989-10-30 | 1993-11-09 | Advanced Micro Devices, Inc. | Programmable gate array with improved configurable logic block | 
| US5210700A (en)* | 1990-02-20 | 1993-05-11 | International Business Machines Corporation | Automatic delay adjustment for static timing analysis | 
| EP0445454B1 (en)* | 1990-03-08 | 1997-06-18 | International Business Machines Corporation | Hardware simulator | 
| US5239213A (en)* | 1990-04-30 | 1993-08-24 | Advanced Micro Devices, Inc. | Precision timing control programmable logic device | 
| JPH04227575A (en)* | 1990-06-25 | 1992-08-17 | Mitsubishi Electric Corp | Logic circuit simulation method | 
| US5363319A (en)* | 1990-09-29 | 1994-11-08 | Kabushiki Kaisha Toshiba | Logic simulator | 
| US5274568A (en)* | 1990-12-05 | 1993-12-28 | Ncr Corporation | Method of estimating logic cell delay time | 
| JPH04229337A (en)* | 1990-12-27 | 1992-08-18 | Hitachi Ltd | Emulator | 
| JPH04237143A (en)* | 1991-01-22 | 1992-08-25 | Rohm Co Ltd | Verifying method for layout pattern of logical circuit | 
| US5305229A (en)* | 1991-09-06 | 1994-04-19 | Bell Communications Research, Inc. | Switch-level timing simulation based on two-connected components | 
| JPH05203708A (en)* | 1992-01-28 | 1993-08-10 | Fujitsu Ltd | A stuck-at fault test method for sequential circuits | 
| US5440721A (en)* | 1992-03-24 | 1995-08-08 | Sony Electronics, Inc. | Method and apparatus for controlling signal timing of cascaded signal processing units | 
| US5418931A (en)* | 1992-03-27 | 1995-05-23 | Cadence Design Systems, Inc. | Method and apparatus for detecting timing errors in digital circuit designs | 
| JP2763985B2 (en)* | 1992-04-27 | 1998-06-11 | 三菱電機株式会社 | Logic simulation equipment | 
| US5359535A (en)* | 1992-05-04 | 1994-10-25 | Motorola, Inc. | Method for optimization of digital circuit delays | 
| US5317698A (en)* | 1992-08-18 | 1994-05-31 | Actel Corporation | FPGA architecture including direct logic function circuit to I/O interconnections | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| DE10018206A1 (en)* | 2000-04-12 | 2001-10-25 | Daimler Chrysler Ag | Error simulation method for testing electrical assembly e.g. microcomputer, involves detecting effect of assigned error incident on operating sequences of component at one measurement location | 
| DE10018206B4 (en)* | 2000-04-12 | 2006-04-13 | Conti Temic Microelectronic Gmbh | Method and its use for fault simulation in an electrical assembly | 
| Publication number | Publication date | 
|---|---|
| EP0563597A3 (en) | 1995-02-22 | 
| DE4211162A1 (en) | 1993-10-07 | 
| BR9301362A (en) | 1993-10-05 | 
| MX9301808A (en) | 1993-09-01 | 
| EP0563597A2 (en) | 1993-10-06 | 
| JPH0613592A (en) | 1994-01-21 | 
| IL105025A0 (en) | 1993-07-08 | 
| CN1081284A (en) | 1994-01-26 | 
| IL105025A (en) | 1996-10-16 | 
| EP0563597B1 (en) | 1999-09-22 | 
| AU664599B2 (en) | 1995-11-23 | 
| US5798645A (en) | 1998-08-25 | 
| ATE185009T1 (en) | 1999-10-15 | 
| CA2092126A1 (en) | 1993-10-01 | 
| ZA932254B (en) | 1994-09-30 | 
| AU3523493A (en) | 1993-10-07 | 
| DE59309791D1 (en) | 1999-10-28 | 
| NZ247309A (en) | 1996-12-20 | 
| Publication | Publication Date | Title | 
|---|---|---|
| DE4211162C2 (en) | Hardware emulation system | |
| DE69321124T2 (en) | METHOD FOR SIMULATING AN ELECTRONIC CIRCUIT WITH IMPROVED ACCURACY. | |
| DE69332391T2 (en) | Structure and method for supplying a reconfigurable emulation circuit | |
| DE69225527T2 (en) | Method and system for automatically determining the logic function of a circuit | |
| EP0010173B1 (en) | Semiconductor chip with improved ability for testing the large scale integrated circuits | |
| DE4420610A1 (en) | Method and device for configuring memory circuits | |
| DE3606650A1 (en) | HARDWARE LOGIC SIMULATOR | |
| DE10053207A1 (en) | Design validation method for integrated system chip circuit, involves validating entire design using simulation test banks of complete system chip and execution of application | |
| DE68923086T2 (en) | Method for testing hierarchically organized integrated circuits and integrated circuits suitable for such a test. | |
| DE69029390T2 (en) | Programmable circuit for neural logic | |
| DE60314530T2 (en) | METHOD AND SYSTEM FOR DEBUGGING USING DUPLICATED LOGIC | |
| DE10147078A1 (en) | Complex design validation method for system-on-chip integrated circuit, involves feedbacking modified vectors to EDA environment to modify IC design data so as to correct design errors | |
| DE19510902A1 (en) | Multi-port memory emulation using marker registers | |
| DE10296464T5 (en) | Method and device for validating the design of complex integrated circuits | |
| DE69425744T2 (en) | METHOD FOR MODELING BIDIRECTIONAL OR MULTIPLICALLY CONTROLLED SIGNAL PATHS IN A SYSTEM FOR REACHING A STATISTICALLY PLANNED ALL-PURPOSE SIMULATOR | |
| DE68927984T2 (en) | Logic circuit with a test function | |
| DE19814415A1 (en) | Logic analysis subsystem in a time slice emulator | |
| DE69017169T2 (en) | Testing integrated circuits using clock bursts. | |
| DE69634227T2 (en) | Emulation system with emulated multi-clock cycles per emulation clock cycle and signal routing | |
| DE69030792T2 (en) | Method and device for interaction emulation between an application-specific integrated circuit (ASIC) during development and a target system | |
| DE69315364T2 (en) | Method for testing an integrated circuit and an integrated circuit with a plurality of functional components and connection and switch test components in connecting channels between functional components | |
| EP1430320B1 (en) | Electronic component and method for measuring its qualification | |
| DE69833123T2 (en) | CIRCUIT ARRANGEMENT FOR TESTING A CORE | |
| DE69217472T2 (en) | Method and arrangement for checking the standard adaptation of a cell, representing a circuit for transmission protocol management | |
| DE60001450T2 (en) | Device for the functional rendering of a specific integrated semiconductor circuit and its use as an emulation device | 
| Date | Code | Title | Description | 
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8127 | New person/name/address of the applicant | Owner name:ZEINER, MANFRED, DIPL.-ING., 13593 BERLIN, DE BUDI | |
| D2 | Grant after examination | ||
| 8364 | No opposition during term of opposition | ||
| 8330 | Complete renunciation |