DE3886242T2 - Torverarbeitungsanordnung zum Simulationsverarbeitungssystem. - Google Patents

Torverarbeitungsanordnung zum Simulationsverarbeitungssystem.

Info

Publication number
DE3886242T2
DE3886242T2 DE88301452T DE3886242T DE3886242T2 DE 3886242 T2 DE3886242 T2 DE 3886242T2 DE 88301452 T DE88301452 T DE 88301452T DE 3886242 T DE3886242 T DE 3886242T DE 3886242 T2 DE3886242 T2 DE 3886242T2
Authority
DE
Germany
Prior art keywords
gate
evaluation
data
memory
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE88301452T
Other languages
English (en)
Other versions
DE3886242D1 (de
Inventor
Fumiyasu Hirose
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE3886242D1 publication Critical patent/DE3886242D1/de
Application granted granted Critical
Publication of DE3886242T2 publication Critical patent/DE3886242T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf eine Gatterprozessoranordnung für ein Simulationsprozessor-(SP)-System, wie ein Simulationsprozessorsystem, das aus einem Steuerprozessor, Eingangs- und Ausgangsprozessoren und einer Ereignisübertragungsanordnung besteht und für die logische Verifikation von höchstintegrierten Schaltkreisen (VLSI's) vor der Produktion verwendet wird.
  • Im allgemeinen ist es bei der Operation eines Gatterprozessors notwendig, Bewertungsverfahren zum Bewerten der Daten von Gattern in dem zu verifizierenden Logiknetz und eine Interprozessorübertragung zum Übertragen von Daten zwischen Gatterprozessoren auszuführen, die Sektionen des zu verifizierenden Logiknetzes entsprechen.
  • Bei einem vorher vorgeschlagenen Gatterprozessor werden, wenn eine Vielzahl von Eingangsdaten für ein Gatter gleichzeitig geändert wird, die Bewertungen desselben Gatters dupliziert, und solche duplizierten Bewertungen verringern die Effektivität des Systems.
  • Auch kann bei solchen duplizierten Bewertungen ein Pseudoereignis auftreten, das ein Problem dahingehend verursacht, daß zusätzliche Anordnungen und Verfahren erforderlich sind, um solch ein Pseudoereignis zu verarbeiten.
  • Außerdem muß, wenn eine Vielzahl von Ausgangsfächerungen eines Grenzgatters in einer Sektion des Logiknetzes, die einem Gatterprozessor entspricht, in einer anderen Sektion des Logiknetzes vorkommt, die einem anderen Gatterprozessor entspricht, eine Vielzahl von Datenübertragungen ausgeführt werden, selbst wenn diese Vielzahl von Bestimmungsgattern in demselben anderen Gatterprozessor enthalten ist. Dies verursacht das Problem, daß solch eine Vielzahl von Datenübertragungen die Effektivität des Systems reduziert.
  • Wenn die Datenübertragung zwischen Gatterprozessoren in einer besonderen späteren Periode bei einem Schritt der Verarbeitung oft auftritt, wird ferner die Geschwindigkeit der Verarbeitung in dem betreffenden Gatterprozessor verringert, wodurch eine Verzögerung bei der Verarbeitung herbeigeführt wird. Dies bewirkt das Problem, daß solch eine Verzögerung auch die Effektivität des Systems reduziert.
  • Ferner ist es erforderlich, einen doppelten Zugriff, d. h. Lesen und Schreiben, auf einen Netzstatusspeicher in einem Gatterprozessor in einem Maschinenzyklus auszuführen. Dies begrenzt die Geschwindigkeit der Operation und reduziert somit die Effektivität des Systems.
  • Demzufolge ist es wünschenswert, eine Gatterprozessoranordnung für ein Logiksimulationsprozessorsystem vorzusehen, die die oben beschriebenen Probleme vermeiden kann.
  • Ein Artikel in IEEE Design and Test, August 1984, Seiten 21 bis 39, von T. Blank mit dem Titel "A Survey of Hardware Accelerators used in Computer-aided Design" beschreibt verschiedene Typen eines Simulationsprozessors, einschließlich Hardwarelogiksimulatoren von NEC ("HAL"), Zycad and Dais Systems ("Megalogician"), die dem oben erwähnten Stand der Technik entsprechen.
  • Ein Beitrag aus den Konferenzunterlagen des 9. Jahressymposiums über Computerarchitektur, Austin, Texas, USA, April 1982, von M. Abramovici et al. mit dem Titel "A Logic Simulation Machine" beschreibt einen Simulationsprozessor mit den Merkmalen der Präambel des beiliegenden Anspruches 1. Bei diesem Simulationsprozessor werden vielfache Veränderungen bei den Eingaben desselben Gatters durch eine Strategie in zwei Durchläufen verarbeitet, indem zuerst eine "Bewertungsliste" von zu bewertenden Elementen kompiliert wird und dann die tatsächliche Bewertung ausgeführt wird.
  • Gemäß der vorliegenden Erfindung ist ein Gatterprozessor für ein Logiksimulationsprozessorsystem vorgesehen, das einen Steuerprozessor, Eingangs- und Ausgangsprozessoren und ein Ereignisübertragungsnetz enthält, welcher Gatterprozessor umfaßt:-
  • einen Pufferspeicher für neue Ereignisse zum Speichern eines Ereignisses zu einer Zeitlage "t" für ein vorbestimmtes Logikelement in einer Sektion eines Logiknetzes;
  • eine Ausgangsfächerungsanordnung zum Halten von Verbindungsinformationen für das genannte vorbestimmte Logikelement und zum vorhergehenden Lesen der Daten davon zu einer Zeitlage "t", wobei die Eingangsdaten des genannten vorbestimmten Logikelementes zu einer Zeitlage "t+1" verändert werden;
  • einen Netzstatusspeicher zum Halten von Netzstatusinformationen, die Eingangsdaten und Ausgangsdaten eines vorbestimmten Logikelementes entsprechen; und
  • eine Bewertungsanordnung, die betriebsfähig ist, um die Daten in dem genannten Netzstatusspeicher zu lesen, um Informationen für eine Veränderung des Netzstatus zu einer Zeitlage "t+1" zu erzeugen, und um die genannten erzeugten Informationen dem Ereignisübertragungsnetz und/oder dem genannten Pufferspeicher für neue Ereignisse zuzuführen;
  • dadurch gekennzeichnet, daß der genannte Netzstatusspeicher angeordnet ist, um die genannten Informationen von dem genannten Pufferspeicher für neue Ereignisse zu Beginn jedes Operationszyklus zu empfangen, und um die genannten Informationen der genannten Bewertungsanordnung zuzuführen, ohne Daten von ihr zu empfangen;
  • und daß ein Bewertungsgatterpufferspeicher vorgesehen ist, der eine Vielzahl von Bewertungsgatterspeicherabschnitten hat, wovon jeder mit der genannten Ausgangsfächerungsanordnung oder der genannten Bewertungsanordnung verbunden werden kann, bei dem Eingangsdaten eines vorbestimmten Logikelementes, die zu der Zeitlage "t" verändert werden, von einem der Bewertungsgatterspeicherabschnitte der Bewertungsanordnung zugeführt werden, während Eingangsdaten eines vorbestimmten Logikelementes, die zu der Zeitlage "t+1" verändert werden, durch einen anderen der Bewertungsgatterspeicherabschnitte empfangen werden.
  • Als Beispiel wird nun Bezug auf die beiliegenden Zeichnungen genommen, in denen:
  • Fig. 1 ein Beispiel einer Trennung eines Logiknetzes, für das eine Logiksimulation durch ein Simulationsprozessorsystem unter Verwendung einer Gatterprozessoranordnung anzuwenden ist, in Sektionen zeigt;
  • Fig. 2 ein Beispiel von Operationen der Logikelemente in dem Logiknetz von Fig. 1 zeigt;
  • Fig. 3 ein Logiksimulationsprozessorsystem zeigt, auf das eine Gatterprozessoranordnung, die die vorliegende Erfindung verkörpert, angewendet werden kann;
  • Fig. 4 einen Gatterprozessor nach Stand der Technik zeigt;
  • Fig. 5 ein Gatterprozessorsystem für ein Logiksimulationsprozessorsystem zeigt, das die vorliegende Erfindung verkörpert;
  • Fig. 6 die Struktur des Netzstatusspeichers in dem Gatterprozessorsystem von Fig. 5 zeigt;
  • Fig. 7 ein Anordnungsbeispiel von Logikelementen zum Erläutern der Operation des Netzstatusspeichers von Fig. 6 zeigt;
  • Fig. 8 ein Operationsbeispiel des Netzstatusspeichers von Fig. 6 zeigt; und
  • Fig. 9 ein Beispiel der Operation des Gatterprozessorsystems zeigt, das die vorliegende Erfindung verkörpert.
  • Bevor eine Ausführungsform der vorliegenden Erfindung beschrieben wird, werden eine vorher vorgeschlagene Anordnung und Operation unter Bezugnahme auf Fig. 1, Fig. 2, Fig. 3 und Fig. 4 beschrieben.
  • Ein Beispiel einer Trennung eines Logiknetzes in einem höchstintegrierten Schaltkreis (VLSI), für das eine Logiksimulation durch ein Simulationsprozessorsystem unter Verwendung einer Gatterprozessoranordnung einzusetzen ist, in Sektionen ist in Fig. 1 gezeigt. Das Logiknetz in einem VLSI, das in Fig. 1 gezeigt ist, wird durch ein Simulationsprozessorsystem unter Verwendung einer Gatterprozessoranordnung verifiziert.
  • Das Logiknetz ist zum Beispiel in eine Sektion p und eine Sektion q geteilt, wie in Fig. 1 gezeigt. Sektion p enthält die Exklusives-ODER-Gatter g&sub1; , g&sub2; , g&sub3; und g&sub4; , die UND-Gatter g&sub5; , g&sub6; , g&sub7; und g&sub8; , ein ODER-Gatter g&sub9; und die ODER-Gatter g&sub1;&sub0; und g&sub1;&sub1; , und Sektion g enthält ein UND- Gatter g&sub1; , ein ODER-Gatter g&sub2; , ein NICHT-Gatter g&sub3; und einen Puffer g&sub4;. In Sektion p wird Gatter g&sub9; als Grenzgatter behandelt. In Sektion q kann ein Phantomgatter g&sub9; angenommen werden, wie durch eine Strichlinie gezeigt. Die Daten Zi von dem Gatter g&sub9; in Sektion p sind zu mehreren Gattern in Sektion q zu übertragen. Die Exklusives-ODER-Gatter g&sub1; , g&sub2; , g&sub3; und g&sub4; liefern Übertragsdaten
  • und Ci und Eingangsdaten xi bzw. yi.
  • Als Erläuterung des Bewertungsverfahrens ist ein Beispiel von Veränderungen der Eingangs-/Ausgangsdaten der Gatter g&sub5; bis g&sub8; in Sektion p des in Fig. 1 gezeigten Netzes in Fig. 2 dargestellt, ORDER-1 bis ORDER-9 bezeichnen die Reihenfolge, in der Daten von den Gattern die Bewertungsanordnung in dem Gatterprozessor passieren.
  • In Fig. 2 ist ersichtlich, daß Doppelbewertungen für ein einzelnes Gatter ausgeführt werden müssen, wenn eine Vielzahl von Eingaben für ein Gatter verändert wird. Ferner ist ersichtlich, daß bei ORDER-5, ORDER-7 und ORDER-9 von Gatter g&sub8; die Ausgabe von Gatter g&sub8; folglich auf Grund einer Folge von Veränderungen der Eingangsdaten nicht verändert wird, aber bei den dazwischenliegenden ORDER-5 und ORDER-7 die Ausgangsdaten verändert werden und somit Pseudoereignisse auftreten.
  • Ein Logiksimulationsprozessorsystem, auf das eine Gatterprozessoranordnung angewendet ist, ist in Fig. 3 gezeigt. Das Logiksimulationsprozessorsystem ist aus einem Simulationsprozessor 81, einem Computer 82 und einer Ingenieurarbeitsstation (Anzeige und Tastatur) konstruiert. Der Simulationsprozessor enthält einen Steuerprozessor 7, ein Ereignisübertragungsnetz 2, Gatterprozessoren 500, 501, ... 563, einen Eingangsprozessor 61 und einen Ausgangsprozessor 62. Die Gatterprozessoren 500, 501, ... 563 entsprechen jeweils Sektionen des Logiknetzes. Die Struktur und Operation des Ereignisübertragungsnetzes ist zum Beispiel in den japanischen Patentanmeldungen Nr. 62-4522 und 62-4523, eingereicht am 12. Januar 1987, und in der entsprechenden EP-A-0 275 176 eingehend erläutert.
  • Ein Beispiel des Gatterprozessors nach Stand der Technik ist in Fig. 4 gezeigt. Der Gatterprozessor von Fig. 4 ist aus einem Ereignisübertragungsnetz 2', einem Puffer 500h', einem Speicher eines neuen Ereignisses 500c', einer Ausgangsfächerungsanordnung 500d' in der Form einer Pipeline, einer Bewertungsanordnung 500e' in der Form einer Pipeline und einem Netzstatusspeicher 500f' gebildet.
  • In dem Gatterprozessor von Fig. 4 speichert der Netzstatusspeicher 500f' die Informationen der Zustände der Gatter als Logikeinheiten in der Sektion des Logiknetzes, die dem gegenwärtigen Gatterprozessor entspricht. Der Speicher eines neuen Ereignisses 500c' speichert die Ereignisinformationen für das Gatter, das eine Ausgabe hat, die zu einer Zeitlage t verändert wird, auf der Grundlage des Ergebnisses einer Bewertung, die in der Bewertungsanordnung 500e' zu einer Zeitlage "t-1" ausgeführt wurde. Der Puffer 500h' hält die Informationen, die von anderen Gatterprozessoren empfangen wurden. Die Ausgangsfächerungsanordnung 500d' hält die Informationen des Gatters, dessen Eingabe entsprechend der Veränderung eines Ereignisses, die von dem Speicher eines neuen Ereignisses 500c' zugeführt wurde, verändert wird, auf der Grundlage von gehaltenen Informationen über die Verbindung der Gatter in der Sektion des Logiknetzes. Die Bewertungsanordnung 500e' empfängt die Informationen über das Gatter, das einer Eingabenveränderung ausgesetzt war, wie sie durch die Ausgangsfächerungsanordnung 500d' extrahiert wurde, empfängt Informationen über das gewünschte Gatter von dem Netzstatusspeicher 500f' und bestimmt den Ausgabewert des Gatters, das einer Eingabenveränderung ausgesetzt war. Der bestimmte Ausgabewert wird dem Speicher eines neuen Ereignisses 500c' zugeführt.
  • Ein Gatterprozessorsystem für ein Logiksimulationsprozessorsystem, das die vorliegende Erfindung verkörpert, ist in Fig. 5 gezeigt. In Fig. 5 ist ein einzelner Gatterprozessor in einem Gatterprozessorsystem gezeigt.
  • Der Gatterprozessor von Fig. 5 enthält ODER-Gatter 500a und 500b, einen Speicher eines neuen Ereignisses 500c, eine Ausgangsfächerungsanordnung (Pipeline-Typ) 500d, eine Bewertungsanordnung (Pipeline-Typ) 500e, einen Netzstatusspeicher 500f und eine Bewertungsgatterpufferspeichereinheit 500g. Die Bewertungsgatterpufferspeichereinheit 500g enthält Bewertungsgatterspeicher 500g&sub1; und 500g&sub2;. Ein Ereignisübertragungsnetz 2 ist als Interprozessorübertragungsmittel vorgesehen. Die Ausgabe der Bewertungsanordnung 500e wird dem Ereignisübertragungsnetz 2 durch das ODER-Gatter 500b zugeführt.
  • Die Verbindungen zwischen der Ausgangsfächerungsanordnung 500d und der Bewertungsanordnung 500e und den Bewertungsgatterspeichern 500g&sub1; und 500g&sub2; in der Bewertungsgatterpufferspeichereinheit 500g werden durch eine Schaltsteueranordnung 500g&sub4; verändert. Eine Kennzeichenregistrierungsanordnung 500g&sub3; arbeitet in Verbindung mit den Bewertungsgatterspeichern 500g&sub1; und 500g&sub2;.
  • Die Bewertungsgatterspeicher 500g&sub1; und 500g&sub2; arbeiten wie folgt. Zu einer Zeitlage t werden die Daten eines Gatters, das eine Eingabe hat, die zu einer Zeitlage '"t+1" verändert wird, von der Ausgangsfächerungsanordnung 500d durch den Bewertungsgatterspeicher 500g&sub1; empfangen, und die Daten eines Gatters, das die Eingabe hat, die zu einer Zeitlage t verändert wird, werden von dem Bewertungsgatterspeicher 500g&sub2; der Bewertungsanordnung 500e zugeführt.
  • Zu der nächsten Zeitlage "t+1" werden die Verbindungen zwischen der Ausgangsfächerungsanordnung 500d und der Bewertungsanordnung 500e und den Bewertungsgatterspeichern 500g&sub1; und 500g&sub2; geschaltet, die Daten eines Gatters, das eine Eingabe hat, die zu einer Zeitlage "t+1" verändert wird, werden von dem Bewertungsgatterspeicher 500g&sub1; der Bewertungsanordnung 500e zugeführt, und die Daten eines Gatters, das eine Eingabe hat, die zu einer Zeitlage "t+2" verändert wird, werden von der Ausgangsfächerungsanordnung 500d durch den Bewertungsgatterspeicher 500g&sub2; empfangen, der in der vorhergehenden Zeitlage frei wird.
  • In jedem der Bewertungsgatterspeicher 500g&sub1; und 500g&sub2; wird, wenn die betreffenden Daten die Daten eines Grenzgatters oder von internen/Grenzgattern sind, das Speichern von der maximalen Adresse des Bewertungsgatterspeichers ausgeführt, und wenn die betreffenden Daten die Daten nur eines internen Gatters sind, wird das Speichern von der minimalen Adresse des Bewertungsgatterspeichers ausgeführt, und somit werden die Klassifizierung der Gatter und das Speichern der Daten von solchen klassifizierten Gattern in den Bewertungsgatterspeicher ausgeführt.
  • Wenn ein Datum für eine Adresse des Bewertungsgatterspeichers gespeichert wird, die dem betreffenden Gatter entspricht, wird ein Kennzeichen für diese Adresse registriert, so daß für diese Adresse keine weiteren Daten gespeichert werden können, und dementsprechend tritt keine Doppelbewertung auf. Wo die Daten von Gattern, die in dem Bewertungsgatterspeicher gespeichert sind, gelesen sind, wird das entsprechende Kennzeichen auf 0 geändert, so daß alle Kennzeichen gelöscht sind, wenn das Lesen beendet ist.
  • Der Netzstatusspeicher 500f wird zu Beginn der Operationsperiode aktualisiert, und die Bewertungsanordnung 500e liest nur die Eingangs- und Ausgangsdaten der Gatter. Die Bewertungsanordnung 500e ist konstruiert, um einen gleichzeitigen Zugriff auf die Ausgabe des Gatters und die Eingabe des Gatters auszuführen.
  • Ein Beispiel der Struktur des Netzstatusspeichers 500f in Fig. 5 ist in Fig. 6 gezeigt. Der Netzstatusspeicher ist aus den Speicherabteilungen NS0, NS1, NS2, NS3 und NS4 konstruiert, die denselben Speicherinhalt haben. Der Inhalt der Speicherabteilungen NS0, NS1, ... NS4 kann durch die Identifizierungen ga(1), ga(2), ga(3), ga(4) und g der Gatter gelesen werden.
  • Ein Beispiel der Anordnung der Gatter, die zu behandeln sind, ist in Fig. 7 gezeigt. Die Operation des Netzstatusspeichers 500f bezüglich der Anordnung von Fig. 7 ist in Fig. 8 gezeigt. Bei der Leseoperation werden die Zugriffe durch unterschiedliche Adressen gleichzeitig ausgeführt, um Daten zu lesen. Bei der Schreiboperation, d. h., bei der Aktualisierungsoperation, braucht nur eine einzelne Adresse aktualisiert zu werden. Bei der in Fig. 8 gezeigten Operation wird entweder eine Leseoperation oder eine Schreiboperation in einem Operationszyklus ausgeführt.
  • Ein Beispiel der Operation des Gatterprozessorsystems, das die vorliegende Erfindung verkörpert, wird beschrieben. Es wird angenommen, daß ein erster der Gatterprozessoren der Sektion p des Netzes von Fig. 1 zugeordnet ist und ein anderer der Gatterprozessoren der Sektion q des Netzes von Fig. 1 zugeordnet ist.
  • Die Daten des Gatters, das Eingaben hat, die zu einer Zeitlage "t-1" verändert werden, werden durch die Bewertungsanordnung 500e des ersten Gatterprozessors bewertet.
  • Als Resultat werden die Veränderungen der Daten von 0 auf 1 in Gatter g&sub1; , 0 auf 1 in Gatter g&sub2; , 1 auf X in Gatter g&sub3; und 1 auf 0 in Gatter g&sub4; bestätigt. X bezeichnet ein unbekanntes Datum, bei dem nicht bestimmt werden kann, ob es 0 oder 1 ist. Diese Veränderungen werden in dem Speicher eines neuen Ereignisses 500c gespeichert und der Ausgangsfächerungsanordnung 500d zugeführt. Die Daten von Gattern, die Eingangssignale haben, die zu einer Zeitlage t verändert werden, werden von der Ausgangsfächerungsanordnung 500d zugeführt und in der Bewertungsgatterpufferspeichereinheit 500g registriert.
  • Es wird angenommen, daß der Bewertungsgatterspeicher 500g&sub1; mit der Bewertungsanordnung 500e verbunden ist und der Bewertungsgatterspeicher 500g&sub2; mit der Ausgangsfächerungsanordnung 500d verbunden ist. Die Datenfolge: d. h. Daten g&sub5; , Daten g&sub6; , Daten g&sub7; , Daten g&sub5; , Daten g&sub8; , Daten g&sub6; , Daten g&sub8; , Daten g&sub7; und Daten g&sub8; , wird dem Bewertungsgatterspeicher zugeführt. In dieser Folge wird die Datenfolge: d. h. Daten g&sub5; , Daten g&sub6; , Daten g&sub7; , Daten g&sub8; in dem Bewertungsgatterspeicher 500g&sub2; gespeichert, aber die zweiten Daten: d. h. die zweiten Daten g&sub5; , die zweiten Daten g&sub6; die zweiten Daten g8&sub8; , die zweiten Daten g&sub7; und die zweiten Daten g&sub8; werden auf Grund der Verhinderung einer Doppelregistrierung nicht in dem Bewertungsgatterspeicher 500g&sub2; gespeichert.
  • Wenn die Verarbeitung der Bewertungsanordnung 500e für alle Gatterprozessoren und die Übertragung beendet sind, wird die Zeitlage die Zeitlage t. Die Ausgangsfächerungsanordnung 500d kann zu der Zeitlage t noch in Betrieb sein.
  • Zu der Zeitlage t wird der Netzstatusspeicher 500f durch den Speicher eines neuen Ereignisses 500c aktualisiert.
  • Falls das Ereignisüberwachungskennzeichen für irgendeines der Gatter g&sub1; bis g&sub4; hergestellt ist, werden die Gatternummerdaten, die Gatterprozessornummerdaten p (des betreffenden Gatterprozessors), die Ereignisüberwachungskennzeichen-ETN-Daten und die neuen/alten Werte von dem Speicher eines neuen Ereignisses 500c nach außerhalb des Gatterprozessors übertragen und dem Ereignisüberwachungsprozessor zugeführt.
  • Das Überwachungskennzeichen für das Gatterereignis wird in der Bewertungsanordnung 500e lokal gehalten, und somit werden die Daten 0, 0, 1 und 1 der Gatter g&sub1; , g&sub2; , g&sub3; und g&sub4; auf 1, 1, X und 0 aktualisiert.
  • Wenn das Aktualisieren und die Ausgangsfächerungsoperation beendet sind, und wenn die Daten g&sub5; , Daten g&sub6; Daten g&sub7; und Daten g&sub8; in dem Bewertungsgatterspeicher 500g&sub2; registriert sind, findet das Schalten zwischen dem Bewertungsgatterspeicher 500g&sub1; und dem Bewertungsgatterspeicher 500g&sub2; statt, und der Bewertungsgatterspeicher 500g&sub2; führt die Daten g&sub5; , Daten g&sub6; , Daten g&sub7; und Daten g&sub8; der Bewertungsanordnung 500e zu. Die Daten eines Gatters, die in der Bewertungsgatterpufferspeichereinheit 500g gespeichert sind, umfassen die Gatternummer, die Prozessornummer und den Übertragungsmodus. Der Übertragungsmodus bezeichnet einen des internen Gattermodus, des Grenzgattermodus und des internen/Grenzgattermodus. Wo der Modus des Grenzgatters gültig ist, bezeichnet die Prozessornummer die Prozessornummer des Übertragungsziels. Bei den oben beschriebenen Operationen sind alle Gatter g&sub5; bis g&sub8; interne Gatter, und somit tritt die vorhergehende Verarbeitung für die Grenzgatter nicht auf.
  • Bei der Bewertungsoperation wird bestätigt, daß die Veränderung von 0 auf 1 der Daten g&sub5; und die Veränderung von 0 auf X der Daten g&sub6; zu einer Zeitlage "t+1" stattfinden. Diese Veränderungen werden in dem Speicher eines neuen Ereignisses 500c registriert, und die Ausgangsfächerungsanordnung 500d registriert dann die Daten g&sub9; in dem Bewertungsgatterspeicher 500g&sub1;.
  • In diesem Fall ist der Übertragungsmodus für Gatter g&sub9; der interne/Grenzgattermodus, und die Prozessornummer ist q. Falls n Zielprozessoren q&sub1; , q&sub2; , ... qn vorhanden sind, werden die Daten g&sub9; n Mal von der Ausgangsfächerungsanordnung 500d zugeführt, aber nur bei der ersten Zuführung ist der Modus der interne/Grenzgattermodus und die Prozessornummer q&sub1;. Bei den zweiten bis n-ten Malen ist der Modus der Grenzgattermodus, und die Prozessornummer ist qi , wobei i 2, 3, . .. n ist.
  • Gemäß der Verhinderungsanordnung der Doppelregistrierung, wobei die Anordnung für Gatter g&sub1; registriert wird, wird auch die Anordnung für die Gatter g&sub2; bis gn registriert. Wenn Gatter g&sub1; durch die Doppelregistrierungsverhinderungsfunktion ausgeschlossen wird, werden die Gatter g&sub2; bis gn durch die Doppelregistrierungsverhinderungsfunktion auch ausgeschlossen.
  • Wenn die Bewertung aller Gatterprozessoren und die Übertragung abgeschlossen sind, wird die Zeit die Zeitlage "t+1". Zu der Zeitlage "t+1" werden die Daten g&sub5; und g&sub6; von 0 und 0 auf 1 und X aktualisiert.
  • Nachdem das Aktualisieren und die Ausgangsfächerungsoperation beendet sind, findet das Schalten zwischen dem Bewertungsgatterspeicher 500g&sub1; und dem Bewertungsgatterspeicher 500g&sub2; statt, und die Daten g&sub9; werden der Bewertungsanordnung 500e zugeführt. Denn der Modus ist der interne/Grenzgattermodus.
  • Selbst wenn Daten von vielen der anderen internen Gatter in der Bewertungsgatterpufferspeichereinheit 500g registriert sind, werden die Daten g&sub9; zuerst gelesen und verarbeitet. Wenn die Veränderung von Daten g&sub9; von 0 auf 1 bestätigt ist, registriert die Bewertungsanordnung 500e die Veränderung bei den Daten g&sub9; in dem Speicher eines neuen Ereignisses 500c, sendet eine Anforderung an die Ausgangsfächerungsanordnung 500d und führt eine Übertragung nach außerhalb durch. Falls der Modus der Grenzgattermodus ist, findet nur eine Übertragung nach außerhalb statt.
  • Wenn eine Übertragung zu dem Gatterprozessor für Sektion p vorhanden ist, werden die Daten in dem Speicher eines neuen Ereignisses 500c registriert, und eine Anforderung zum Lesen durch die Ausgangsfächerungsanordnung wird ausgeführt, wenn die Bewertungsanordnung 500e keine Registrierung in dem Speicher eines neuen Ereignisses 500c veranlaßt, das heißt, außer wenn ein Ereignis in dem internen Gattermodus oder dem internen/Grenzgattermodus auftritt.
  • Ein Beispiel der Operation des Gatterprozessorsystems, das den Gatterprozessor für das Logiknetz Sektion p und den Gatterprozessor für das Logiknetz Sektion q enthält und die vorliegende Erfindung verkörpert, ist in Fig. 9 gezeigt.
  • Zuerst werden Daten g&sub5; der Ausgangsfächerungsanordnung 500d des gegenwärtigen Gatterprozessors für Sektion p zugeführt. Die Ausgangsfächerungsanordnung 500d führt die Informationen g&sub9; zu. Die Daten g&sub9; haben zwei Ziele: Sektion p und Sektion q. Die Informationen g&sub9; werden auf der Seite der maximalen Adresse des Bewertungsgatterspeichers 500g&sub1; gespeichert.
  • Die Daten g&sub9; mit den Zielen Sektion p und Sektion q werden der Bewertungsanordnung 500e zugeführt. Die Daten g&sub9; mit dem Ziel Sektion p werden von der Bewertungsanordnung 500e durch das ODER-Gatter 500a dem Speicher eines neuen Ereignisses 500c zugeführt. Demzufolge wird die Veränderung von 0 auf 1 der Daten g&sub9; in dem Speicher eines neuen Ereignisses 500c gespeichert. Die Daten g&sub9; mit dem Ziel Sektion q werden von der Bewertungsanordnung 500e durch das ODER-Gatter 500b und das Ereignisübertragungsnetz 2 dem anderen Gatterprozessor für Sektion q zugeführt.
  • In dem anderen Gatterprozessor für Sektion q werden die Daten g&sub9; mit dem Ziel Sektion q, die von dem gegenwärtigen Gatterprozessor gesendet wurden, durch das Ereignisübertragungsnetz 2 und das ODER-Gatter 500a dem Speicher eines neuen Ereignisses 500c zugeführt. Demzufolge wird die Veränderung von 0 auf 1 eines Phantomgatters g&sub9; in dem Speicher eines neuen Ereignisses 500c gespeichert. Die Daten g&sub9; werden auch der Ausgangsfächerungsanordnung 500d zugeführt, die eine Ausgabe mit der Bedeutung "Ziel: g&sub1; , g&sub2; , g&sub3; und g&sub4;" liefert.

Claims (3)

1. Ein Gatterprozessor (500) für ein Logiksimulationsprozessorsystem, das einen Steuerprozessor (7), Eingangs- und Ausgangsprozessoren (61, 62) und ein Ereignisübertragungsnetz (2) enthält, welcher Gatterprozessor umfaßt:-
einen Pufferspeicher für neue Ereignisse (500c) zum Speichern eines Ereignisses zu einer Zeitlage "t" für ein vorbestimmtes Logikelement in einer Sektion eines Logiknetzes;
eine Ausgangsfächerungsanordnung (500d) zum Halten von Verbindungsinformationen für das genannte vorbestimmte Logikelement und zum vorhergehenden Lesen der Daten davon zu einer Zeitlage "t", wobei die Eingangsdaten des genannten vorbestimmten Logikelementes zu einer Zeitlage "t+1" verändert werden;
einen Netzstatusspeicher (500f) zum Halten von Netzstatusinformationen, die Eingangsdaten und Ausgangsdaten eines vorbestimmten Logikelementes entsprechen; und
eine Bewertungsanordnung (500e), die betriebsfähig ist, um die Daten in dem genannten Netzstatusspeicher (500f) zu lesen, um Informationen für eine Veränderung des Netzstatus zu einer Zeitlage "t+1" zu erzeugen, und um die genannten erzeugten Informationen dem Ereignisübertragungsnetz (2) und/oder dem genannten Pufferspeicher für neue Ereignisse (500c) zuzuführen;
dadurch gekennzeichnet, daß der genannte Netzstatusspeicher (500f) angeordnet ist, um die genannten Informationen von dem Pufferspeicher für neue Ereignisse (500c) zu Beginn jedes Operationszyklus zu empfangen, und die genannten Informationen der genannten Bewertungsanordnung (500e) zuzuführen, ohne Daten von ihr zu empfangen;
und daß ein Bewertungsgatterpufferspeicher (500g) vorgesehen ist, der eine Vielzahl von Bewertungsgatterspeicherabschnitten (500g1, 500g2) hat, wovon jeder mit der genannten Ausgangsfächerungsanordnung (500d) oder der genannten Bewertungsanordnung (500e) verbunden werden kann, bei dem Eingangsdaten eines vorbestimmten Logikelementes, die zu der Zeitlage "t" verändert werden, von einem der Bewertungsgatterspeicherabschnitte (500g1, 500g2) der Bewertungsanordnung (500e) zugeführt werden, während Eingangsdaten eines vorbestimmten Logikelementes, die zu der Zeitlage "t+1" verändert werden, durch einen anderen der Bewertungsgatterspeicherabschnitte (500g1, 500g2) empfangen werden.
2. Ein Gatterprozessor nach Anspruch 1, bei dem der genannte Bewertungsgatterpufferspeicher (500g) ferner ein Kennzeichenregistrierungsmittel (500g3) umfaßt, das betriebsfähig ist, um ein Kennzeichen in einer Adresse von einem der Bewertungsgatterspeicherabschnitte, das einem vorbestimmten Logikelement entspricht, für das Daten gerade gespeichert worden sind, zu registrieren, wodurch der Bewertungsgatterpufferspeicher (500g) in der Lage ist, Informationen von der Ausgangsfächerungsanordnung (500d) zu halten, ohne Doppelspeicherung von Daten für irgendein vorbestimmtes Logikelement, dem eine Vielzahl von veränderten Eingangssignalen in demselben Operationszyklus zugeführt werden.
3. Ein Gatterprozessor nach Anspruch 1 oder 2, bei dem in jeder Sektion des Logiknetzes, das zu simulieren ist, die Logikelemente als "interne" Elemente klassifiziert sind, die keine Wirkung auf andere Sektionen des Netzes haben, oder als "Grenz-" oder "interne/Grenz-" Elemente, die eine Wirkung auf wenigstens eine andere Sektion des Netzes haben, und bei dem, wenn der Bewertungsgatterpufferspeicher (500g) Informationen für ein vorbestimmtes Logikelement von der Ausgangsfächerungsanordnung (500d) empfängt, falls sich die Informationen auf ein Grenz- oder internes/Grenzelement beziehen, jene Informationen von der maximalen Adresse des verbundenen Bewertungsgatterspeicherabschnittes gespeichert werden, und falls sich die Informationen nur auf ein internes Element beziehen, sie von der minimalen Adresse des genannten verbundenen Speicherabschnittes gespeichert werden, wodurch der Bewertungsgatterpufferspeicher in der Lage ist, Informationen für Grenz- und interne/Grenzelemente vor Informationen für ein internes Element zu liefern.
DE88301452T 1987-02-20 1988-02-19 Torverarbeitungsanordnung zum Simulationsverarbeitungssystem. Expired - Lifetime DE3886242T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62037318A JPS63204441A (ja) 1987-02-20 1987-02-20 論理シミユレ−シヨン専用プロセツサの処理方式

Publications (2)

Publication Number Publication Date
DE3886242D1 DE3886242D1 (de) 1994-01-27
DE3886242T2 true DE3886242T2 (de) 1994-03-31

Family

ID=12494324

Family Applications (1)

Application Number Title Priority Date Filing Date
DE88301452T Expired - Lifetime DE3886242T2 (de) 1987-02-20 1988-02-19 Torverarbeitungsanordnung zum Simulationsverarbeitungssystem.

Country Status (4)

Country Link
US (1) US4942615A (de)
EP (1) EP0284199B1 (de)
JP (1) JPS63204441A (de)
DE (1) DE3886242T2 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452231A (en) * 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
US5039868A (en) * 1988-11-24 1991-08-13 Omron Corporation Method of and apparatus for inspecting printed circuit boards and the like
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
US5111413A (en) * 1989-03-24 1992-05-05 Vantage Analysis Systems, Inc. Computer-aided engineering
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
US5091872A (en) * 1989-06-23 1992-02-25 At&T Bell Laboratories Apparatus and method for performing spike analysis in a logic simulator
US5375074A (en) * 1990-01-23 1994-12-20 At&T Corp. Unboundedly parallel simulations
DE69132766T2 (de) * 1990-01-29 2002-04-25 Fujitsu Ltd Gatter-Adressierungssystem für eine Logiksimulationsmaschine
US5327361A (en) * 1990-03-30 1994-07-05 International Business Machines Corporation Events trace gatherer for a logic simulation machine
JPH0546697A (ja) * 1991-08-14 1993-02-26 Nec Corp 論理シミユレータ
JP2781305B2 (ja) * 1992-05-08 1998-07-30 富士通株式会社 マルチポートramを含む論理シミュレーション方式
EP0598149B1 (de) * 1992-11-12 2000-01-19 Fujitsu Limited Hardware Logiksimulator
JP3176482B2 (ja) * 1993-07-07 2001-06-18 富士通株式会社 論理シミュレーション装置
US5680583A (en) 1994-02-16 1997-10-21 Arkos Design, Inc. Method and apparatus for a trace buffer in an emulation system
US6132109A (en) * 1994-04-12 2000-10-17 Synopsys, Inc. Architecture and methods for a hardware description language source level debugging system
US5937190A (en) * 1994-04-12 1999-08-10 Synopsys, Inc. Architecture and methods for a hardware description language source level analysis and debugging system
US5870608A (en) * 1994-06-03 1999-02-09 Synopsys, Inc. Method and apparatus for displaying text including context sensitive information derived from parse tree
GB2293900B (en) * 1994-10-03 2000-01-19 Univ Westminster Data processing method and apparatus for parallel discrete event simulation
US5841967A (en) * 1996-10-17 1998-11-24 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US6134516A (en) * 1997-05-02 2000-10-17 Axis Systems, Inc. Simulation server system and method
US6421251B1 (en) 1997-05-02 2002-07-16 Axis Systems Inc Array board interconnect system and method
US6389379B1 (en) 1997-05-02 2002-05-14 Axis Systems, Inc. Converification system and method
US6321366B1 (en) 1997-05-02 2001-11-20 Axis Systems, Inc. Timing-insensitive glitch-free logic system and method
US6026230A (en) * 1997-05-02 2000-02-15 Axis Systems, Inc. Memory simulation system and method
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
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

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4656580A (en) * 1982-06-11 1987-04-07 International Business Machines Corporation Logic simulation machine
JPS593652A (ja) * 1982-06-30 1984-01-10 Fujitsu Ltd ハ−ド論理シミユレ−タ装置
US4527249A (en) * 1982-10-22 1985-07-02 Control Data Corporation Simulator system for logic design validation
FR2567273B1 (fr) * 1984-07-03 1986-11-14 Commissariat Energie Atomique Dispositif de simulation de la defaillance ou du bon fonctionnement d'un systeme logique
JPS6142040A (ja) * 1984-08-03 1986-02-28 Nec Corp 論理シミユレ−タ
JPH0760169B2 (ja) * 1984-11-02 1995-06-28 三洋電機株式会社 論理回路のシミュレーション方法及びシミュレータ
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

Also Published As

Publication number Publication date
DE3886242D1 (de) 1994-01-27
JPS63204441A (ja) 1988-08-24
EP0284199A2 (de) 1988-09-28
EP0284199B1 (de) 1993-12-15
JPH056911B2 (de) 1993-01-27
EP0284199A3 (en) 1990-05-30
US4942615A (en) 1990-07-17

Similar Documents

Publication Publication Date Title
DE3886242T2 (de) Torverarbeitungsanordnung zum Simulationsverarbeitungssystem.
DE69105512T2 (de) Ein verfahren und eine vorrichtung für speicherung der information in einem speicher und ihre benutzung in speicherkarten.
DE3781873T2 (de) Rekonfigurierbare rechenanordnung.
DE69018112T2 (de) Hochleistungsspeichersystem.
DE3338333A1 (de) Logiksimulatorgeraet zur gueltigkeitspruefung einer logikstruktur
DE3854481T2 (de) Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem.
DE3508291C2 (de) Datenverarbeitungssystem
DE69825234T2 (de) Verfahren und vorrichtung zur selbstprüfung von multi-port-rams
DE19607531A1 (de) Multicluster-Computersystem
DE3851554T2 (de) Steuerungsanordnung für gemeinschaftlichen Speicher.
DE69107476T2 (de) Vorrichtung für eine in-circuit-prüfung mit einem minimalspeicher.
DE3508640A1 (de) Computersystem zur implementierung eines ereignisgesteuerten simulationsalgorithmus
DE3400464C2 (de)
DE69816714T2 (de) Instrumentationsanordnung für eine Maschine mit nichtuniformen Speicherzugriffen
DE69122183T2 (de) Leicht und schnell prüfbare Master-Slave-Kippschaltung
EP0580663B1 (de) Verfahren zur verifikation datenverarbeitender systeme
DE3786330T2 (de) Paralleldatenverarbeitungsvorrichtung und -verfahren.
DE2952631C2 (de) Schaltungsanordnung zur Diagnose einer Datenverarbeitungsanlage
DE2912073C2 (de)
DE68917679T2 (de) Datenübertragungsnetzwerk für Multiprozessorsysteme.
DE3586551T2 (de) Integrierte halbleiterschaltung zum austausch von buszugriffberechtigungen zwischen mikroprozessoren.
DE68918966T2 (de) System zur Steuerung der Datenübertragung.
DE68922341T2 (de) Anordnung zur Erleichterung des Testens einer logischen Schaltung.
DE3422287C2 (de)
DE10200833A1 (de) Gerät und Verfahren für eine Teststimuliverdichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition