DE69433907T2 - Autonomes, evolutionsartiges Hardwareentwurfssystem - Google Patents

Autonomes, evolutionsartiges Hardwareentwurfssystem Download PDF

Info

Publication number
DE69433907T2
DE69433907T2 DE69433907T DE69433907T DE69433907T2 DE 69433907 T2 DE69433907 T2 DE 69433907T2 DE 69433907 T DE69433907 T DE 69433907T DE 69433907 T DE69433907 T DE 69433907T DE 69433907 T2 DE69433907 T2 DE 69433907T2
Authority
DE
Germany
Prior art keywords
hardware
description
fitness
design system
autonomous
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69433907T
Other languages
English (en)
Other versions
DE69433907D1 (de
Inventor
Hitoshi Seika-cho Hemmi
Junichi Seika-cho Mizoguchi
Katsunori Seika-cho Shimohara
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.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
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 ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Application granted granted Critical
Publication of DE69433907D1 publication Critical patent/DE69433907D1/de
Publication of DE69433907T2 publication Critical patent/DE69433907T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

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)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein autonomes evolutionsartiges Hardwareentwurfssystem. Insbesondere bezieht sich die vorliegende Erfindung auf ein autonomes evolutionsartiges Hardwareentwurfssystem, bei dem eine Hardwarespezifikation autonom gemäß ihrer Verwendungsaufgabe entwickelt und adaptiert wird, ohne manuell Hardware zu entwerfen.
  • Beschreibung der Hintergrundstechnik
  • Der Anwendungsbereich von elektronischen Schaltungen hat im Zuge des Fortschritts der Technologie hochintegrierter Schaltkreise (LSI) zugenommen, was einen Bedarf an unterschiedlichen Arten von Hardwares von hoher Schaltkreiskomplexität hervorrief. Da es nahezu unmöglich ist, eine solche komplexe Hardware vollständig per Hand zu entwerfen, sind unterschiedliche computerunterstützte Entwurfs(CAD)-Systeme entwickelt worden.
  • 6 ist ein Blockdiagramm eines Beispiels eines solchen CAD-Systems. Im Designbetrieb unter Verwendung des Systems von 6 gibt der Entwerfer zuerst über die Eingabeeinheit 21 ein Programm zur Hardwarebeschreibungssprache (HDL) ein, um Schaltkreisbetriebe zu beschreiben. Die angegebene Quelle wird in der HDL-Quelle 22 gespeichert. HDL ist lediglich ein Beispielsweg der Beschreibung des Schaltkreisbetriebs, und es können unterschiedliche HDLs in Betracht gezogen. werden, wie eine die Verbindung einer Transistorschaltung beschreibende HDL, eine eine Netzliste einer Logikgate (Verknüpfungsglied) beschreibende HDL, und eine HDL, die eine Hardwarespezifikation eines höheren Pegels als dem Schaltkreisbetrieb beschreibt.
  • Die in der HDL-Quelle 22 gespeicherte Schaltkreisbeschreibung wird einem Simulator 23 geliefert, wo grammatische bzw. grammatikalische Beschreibungsfehler geprüft werden. Als nächstes erfolgt durch Simulation eine Bestätigung, ob der beschriebene Schaltkreis einen bezüglich eines Eingabesignals erwarteten Betrieb durchführt. Dann wird die Beschreibung des Schaltkreises einem Synthetisierer 24 geliefert, wo durch ein Synthetisierprogramm Schaltkreisdiagrammdaten 25 oder Maskenmusterdaten 26 zur LSI-Herstellung erzeugt werden.
  • Eine Beschreibung des Schaltkreises unter Verwendung einer HDL muß zuerst manuell durchgeführt werden, selbst wenn das CAD-System von 6 verwendet wird. Die Beschreibung eines Schaltkreises, der für seine Verwendungsaufgabe mittels einer HDL adaptierbar ist, erfordert Training und Geschick.
  • Im allgemeinen gibt es viele Wege, Schaltkreise mittels HDL zu beschreiben, die einen Betrieb durchführt, der für ihre Verwendungsaufgabe anwendbar ist. Insbesondere wenn deren Architektur sich voneinander unterscheidet, variiert die Form der Beschreibung deutlich. Die etwaigen Schaltungen, die sich in der Beschreibung unterscheiden, besitzen häufig hinsichtlich ihrer Leistungsfähigkeit wie etwa der Ansprechgeschwindigkeit einen deutlichen Unterschied, selbst wenn ihr Betrieb identisch ist. Es gibt im allgemeinen keinen Weg, festzustellen, welche Architektur die allerbeste ist, da dies vom Inhalt des Eingabesignals abhängt. Selbst ein geschickter Entwerfer kann nicht ohne weiteres die beste Architektur bestimmen.
  • Bezüglich des Problems, eine passende Architektur auszuwählen, gibt es lediglich die Methode, eine Computersimulation auf der Basis einer Vielzahl von Entwurfsbeispielen, die zuvor hergestellt wurden, durchzuführen, oder tatsächlich eine LSI-Schaltung herzustellen und sie unter wirklichen Umgebungsbedingungen zu verwenden, um die Leistungsfähigkeit davon zu vergleichen.
  • Da für das Entwerfen viel Manpower erforderlich ist, selbst wenn ein CAD-System verwendet wird, können lediglich ein Typ oder bestenfalls wenige Typen von Entwurfsbeispielen hergestellt werden. Anstelle des Entwerfens einer optimalen Schaltung wird eine Schaltung, die betriebsfähig ist, provisorisch erzeugt, von der die Leistungsfähigkeit dann je nach Geschick und Erfahrung des Entwerfers zu verbessern ist.
  • Aus den Proceedings of the Fifth International Conference on Genetic Algorithms, 17. Juli 1993, U. S. A., S. 432–438, Martin et al. "Genetic Algorithms for Optimization of Integrated Circuit Synthesis", das die Grundlage des Oberbegriffs des Anspruchs 1 bildet, kann ein Hardwarespezifikationssystem zum Entwerfen einer Hardware einer elektronischen Schaltung entnommen werden, die ein Hardwarespezifikationsbeschreibungsmittel zum Beschreiben einer Spezifikation einer Hardware, ein Fitneßberechnungsmittel zum Berechnen einer Fitneß der Hardware, und ein Modifikationsmittel, das die Hardware verändert, umfaßt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Angesichts des Vorangehenden ist eine Hauptaufgabe der vorliegenden Erfindung, ein autonomes evolutionsartiges Hardwareentwurfssystem einer hohen Zuverlässigkeit bereitzustellen, das eine für seine Verwendungsaufgabe am besten geeignete Architektur finden und erzeugen kann, indem autonom eine Schaltung erzeugt wird, die zu seiner Verwendungsaufgabe paßt, und wobei eine Vielzahl von Schaltungen hergestellt wird, die sich hinsichtlich der Architektur unterscheiden.
  • Diese Aufgabe wird durch ein autonomes evolutionsartiges Hardwarespezifikationssystem gemäß Anspruch 1 gelöst.
  • Gemäß der vorliegenden Erfindung wird eine Spezifikation einer beschriebenen Hardware interpretiert, um einen Betrieb dieser Hardware zu erzeugen, eine Fitneß wird durch Verwendung der folgenden Hardware berechnet, auf der Basis des erzeugten Hardwarebetriebs und der erforderlichen Betriebsspezifikation, und die Beschreibung der Hardware wird modifiziert durch Bezugnahme auf die berechnete Fitneß.
  • Somit kann bei der vorliegenden Erfindung auf autonome und evolutionäre Weise eine Hardware entworfen werden, die einen Betrieb durchführt, der für ihre Verwendungsaufgabe geeignet ist, und aus einer Vielzahl von Architekturen wird eine optimale Hardware erhalten, die der Verwendungsaufgabe am besten genügt.
  • Die Hardwarespezifikation wird unter Verwendung einer Hardwarebeschreibungssprache ausgedrückt, wobei ein Abschnitt der Hardwarespezifikationsbeschreibung durch eine Beschreibung ersetzt wird, die zu diesem Abschnitt grammatisch äquivalent ist.
  • Gemäß der vorliegenden Erfindung kann eine grammatisch korrekte, aussagekräftige Spezifikationsbeschreibung erhalten werden, ohne daß eine sinnlose Beschreibung mit einem Fehler in der Grammatik erzeugt wird.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird auch eine Vielzahl von Hardwarespezifikationen beschrieben. Eine Beschreibungsmodifikation wird unter Verwendung von genetischen Algorithmen auf der Basis der Fitneß dieser Vielzahl von Hardwarespezifikationen durchgeführt.
  • Durch Verwendung der genetischen Algorithmen kann eine Hardwarespezifikationsbeschreibung, die dem Anwendungsproblem genügt, schnell erhalten werden.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird ferner eine ein Applikationsproblem anzeigende Information eingegeben. Gemäß dieser Information und der durch die Hardwarespezifikationsbeschreibung beschriebene Spezifikation wird ein Betriebsergebnis berechnet, das angibt, wie die tatsächliche, durch die Hardwarespezifikationsbeschreibung erhaltene Hardware im Verhältnis zum Applikationsproblem betrieben wird. Dann wird eine Fitneß berechnet, die den Grad der Fitneß des Betriebsergebnisses im Vergleich zum Applikationsproblem wiedergibt. Die momentane Hardwarespezifikationsbeschreibung wird gemäß diesem Berechnungsergebnis modifiziert.
  • Die vorangehenden und weiteren Aufgaben, Merkmale, Gegenstände und Vorteile der vorliegenden Erfindung werden aus der nachfolgenden detaillierten Beschreibung der vorliegenden Erfindung bei Betrachtung im Zusammenhang mit den beigefügten Zeichnungen deutlicher.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das eine Ausführungsform der vorliegenden Erfindung zeigt.
  • 2 ist ein Blockdiagramm, das eine spezielle Ausführungsform der vorliegenden Erfindung zeigt.
  • 3 zeigt eine Hardwarespezifikationsbeschreibung gemäß einer Hardwarebeschreibungssprache.
  • 4 ist ein Diagramm zum Beschreiben eines äquivalenten Grammatikersatzes.
  • 5 ist ein Fließdiagramm zum Beschreiben des Betriebs genetischer Algorithmen.
  • 6 ist ein Blockdiagramm zum Beschreiben eines herkömmlichen computerunterstützten Entwurfs(CAD)-Systems einer elektronischen Schaltung.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • In einer in 1 und 2 gezeigten Hardwarespezifikationsbeschreibungseinheit 1 wird eine wie in 3 gezeigte Beschreibung ausgeführt. Vor der Beschreibung des vollständigen autonomen evolutionsartigen Hardwareentwurfssystems von 1 und 2 wird eine Hardwarespezifikationsbeschreibung von 3 beschrieben.
  • Bei 3 werden zuerst die in einer Hardwareschaltung verwendeten Elemente deklariert. Der Bereich zwischen einem Komponentendeklarierungsbeginn und einem Komponentendeklarierungsende besteht in der Deklarierung der Elemente. Im Beispiel von 3 wird das als "in1" bezeichnete Terminal als ein Eingabeterminal deklariert. Ein als "out1" bezeichnetes Terminal wird als ein Ausgabeterminal deklariert. Ferner wird ein als "Zähler" bezeichnetes Element als ein Register deklariert. Die Deklarierung "Modell" in der nächsten Zeile impliziert, daß eine bestehende Hardwareschaltung als Makro verwendet werden wird. Im vorliegenden Beispiel erfolgt eine Deklarierung, daß eine Hardwareschaltung in der Form eines "INCREMENT" unter dem Namen "incr1" verwendet wird.
  • Im Abschnitt zwischen dem Betriebsdefinitionsbeginn und dem Betriebsdefinitionsende wird der gewünschte Betrieb der Hardware beschrieben. Im vorliegenden Beispiel wird der Inhalt des Eingabeterminals "in1" in das als "Zähler" bezeichnete Register eingegeben. Unter Verwendung der Ausgabe dieses Registers als eine Eingabe wird die als "incr1" bezeichnete Hardwareschaltung vom "INCREMENT"-Typ betrieben. Die Ausgabe davon wird an den "Zähler" appliziert, und der Inhalt des "Zählers" wird zum Ausgabeterminal "out1" geliefert.
  • Obgleich das Beispiel von 3 eine Hardwareschaltung zeigt, die durch einen Betrieb eines höheren Pegels gemäß einer Hardwarebeschreibungssprache beschrieben wird, kann die Hardware durch den Transistorpegel oder den Gatepegel beschrieben werden. Das autonome evolutionsartige Hardwareentwurfssystem von 1 hängt nicht von der Hardwarebeschreibungssprache ab.
  • Nachfolgend wird eine Ausführungsform eines autonomen evolutionsartigen Hardwaredesignsystems unter Bezugnahme auf 1 beschrieben. Eine Hardwarespezifikationsbeschreibungseinheit 1 schließt einen Speicher ein, in dem eine Hardwarespezifikationsbeschreibung 2 zum Beschreiben einer Spezifikation eines Hardwareergebnisses geschrieben ist. Die Hardwarespezifikationsbeschreibung 2 wird an eine Hardwarespezifikationsinterpretationseinheit 3 über eine Signalleitung 8 und an eine Beschreibungsmodifikationseinheit 6 angelegt. Eine Eingabe/Ausgabeeinheit 4 wird bereitgestellt, um ein ein Applikationsproblem wiedergebendes Signal 7 der Hardwarespezifikationsinterpretationseinheit 3 einzugeben. Ein Applikationsproblem bezieht sich hier auf eine Aufgabe, die durch die Hardware zu erreichen ist, die nun geschaffen wird. Die Eingabe/Ausgabeeinheit 4 liefert das das Eingabe-Applikationsproblem darstellende Eingabesignal über die Signalleitung 7 der Hardwarespezifikationsinterpretationseinheit 3 und der Fitneßberechnungseinheit 5. Die Hardwarespezifikationsinterpretationseinheit 3 berechnet ein Betriebsergebnis, welches angibt, wie die durch die Hardwarespezifikationsbeschreibung 2 erhaltene, aktuelle Hardware in Bezug auf das Applikationsproblem gemäß dem Signal 7, das das von der Eingabe/Ausgabeeinheit 4 eingegebene Applikationsproblem darstellt, und dem Inhalt der Hardwarespezifikationsbeschreibung 2, die durch ein von der Hardwarespezifikationsbeschreibungseinheit 1 geliefertes Signal 8 eingegeben wird, betrieben wird. Die Hardwarespezifikationsinterpretationseinheit 3 liefert ein Signal, das das Betriebsergebnis davon darstellt, zur Eingabe/Ausgabeeinheit 4. Die Eingabe/Ausgabeeinheit 4 liefert das das Betriebsergebnis darstellende Signal 9 zur Fitneßberechnungseinheit 5. Die Fitneßberechnungseinheit 5 berechnet eine Fitneß bzw. Paßgenauigkeit, die angibt, wie gut das das Betriebsergebnis darstellende Signal 9 der Spezifikationsbeschreibung 2 zum Signal 7 paßt, das das Applikationsproblem darstellt. Ein Signal 10, das die Fitneßbeurteilung des Berechnungsergebnisses wiedergibt, wird in die Beschreibungsmodifikationseinheit 6 eingegeben.
  • Die Beschreibungsmodifikationseinheit 6 modifiziert die momentane Hardwarespezifikationsbeschreibung 2 auf der Basis des Signals 10, welches eine Fitneßbeurteilung davon darstellt, um automatisch eine neue Spezifikationsbeschreibung zu erzeugen. Dies wird zur Hardwarespezifikationsbeschreibungseinheit 1 als ein Signal 11 geliefert. Der Inhalt, der als Signal 11 ausgegeben wird, wird zum neuen Inhalt für die Hardwarespezifikationsbeschreibung 2. Während dieser automatischen Erzeugung einer neuen Spezifikationsbeschreibung wird der Austausch einer Beschreibung, die grammatisch äquivalent ist, verwendet, was später beschrieben werden wird. Indem die neue Spezifikationsbeschreibung auf die Hardwarespezifikationsbeschreibung 2 durch das neu erzeugte Signal 11 von der Beschreibungsmodifikationseinheit 6 appliziert wird, und indem die Ausführung des oben beschriebenen Betriebs wiederholt wird, wird eine Hardwarespezifikationsbeschreibung, die immer mehr eine größere Fitneß im Verhältnis zum Applikationsproblem besitzt, erzeugt, was schließlich zu einer Spezifikationsbeschreibung führt, die eine Hardware verwirklicht, die dem Applikationsproblem vollständig genügt.
  • Nachfolgend wird der Austausch der Spezifikationsbeschreibung mit einer grammatisch äquivalenten Beschreibung beschrieben. Eine Spezifikationsbeschreibung stellt einen Satz dar, der unter Verwendung einer Hardwarebeschreibungssprache geschrieben wurde. Deshalb muß die Spezifikationsbeschreibung der Grammatik der verwendeten Hardwarebeschreibungssprache genügen. Wenn eine zufällige Modifikation auf die Spezifikationsbeschreibung appliziert wird, ohne irgendein besonderes Schema bereitzustellen, ist die Wahrscheinlichkeit, als Ergebnis eine grammatisch korrekte Beschreibung zu erhalten, gering. Die Aufgabe, eine Spezifikationsbeschreibung zu erhalten, die in Bezug auf das Applikationsproblem eine höhere Fitneß bzw. Paßgenauigkeit aufweist, kann nicht erreicht werden. Somit wird zur Modifikation der Spezifikationsbeschreibung ein Schema eingeführt, bei dem ein Abschnitt der Spezifikationsbeschreibung durch eine Teilbeschreibung ersetzt wird, die zu der bestimmten Teilbeschreibung grammatisch äquivalent ist. Durch die Einführung dieses Schemas kann eine aussagefähige Spezifikationsbeschreibung, die grammatisch korrekt ist, bei der Modifikation der Spezifikationsbeschreibung durch die Beschreibungsmodifikationseinheit 6 erhalten werden, ohne eine sinnlose Beschreibung zu erzeugen, die grammatisch unpassend ist.
  • Unter Bezugnahme auf 4 wird der Austausch mit einer grammatisch äquivalenten Beschreibung beschrieben, wobei Englisch als ein Beispiel herangezogen wird. 4(a) stellt eine Grammatik des Englischen dar. Der Einfachheit halber wird eine Grammatik eines Satzes herangezogen, der lediglich Subjekt, Prädikat und Objekt einschließt, wie in 4(a) gezeigt. Sätze, die gemäß der Grammatik von 4(a) geschrieben wurden, sind in (b) und (c) in 4 gezeigt. Angenommen, daß 4(a) die Grammatik der Hardwarebeschreibungssprache darstellt, können (b) und (c) von 4 als die Spezifikationsbeschreibung der Hardware herangezogen werden. Die Beschreibung bei den Positionen, die in 4 mit (1), (2), (3) und (4) markiert sind, können als jeweilige Beschreibungen herangezogen werden, die in Bezug auf die Grammatik äquivalent sind. Selbst wenn die Beschreibungen mit derselben bezeichneten Positionsnummer unter (b) und (c) in 4 ausgetauscht werden, ist der resultierende Satz ein vollständig korrekter Satz, der der Grammatik von (a) von 4 genügt. Zum Beispiel sind "Her" von (b) in 4 und "Him" von (c) in 4 grammatisch äquivalent zueinander, und die zwei Sätze:
    I Love Him.
    You Know Her.,
    die durch Austausch davon erhalten wurden, sind richtige Sätze, die der Grammatik von 4(a) genügen. Wenn "Love" von 4(b) durch "Like" ersetzt wird, was grammatisch äquivalent ist, ist der resultierende Satz:
    I Like Him.
    ein richtiger Satz, der der Grammatik von 4(a) genügt.
  • Das Schema des unter Bezugnahme auf 4 beschriebenen, äquivalenten Grammatikaustauschs wird bei der Modifizierung der Hardwarespezifikationsbeschreibung 2 in der Beschreibungsmodifikationseinheit 6 von 1 verwendet.
  • Eine speziellere Ausführungsform eines autonomen evolutionsartigen Hardwaredesignsystems wird nachfolgend unter Bezugnahme auf 2 beschrieben. Die Hardwarespezifikationsbe schreibungseinheit 1 schließt eine Vielzahl von Hardwarespezifikationsbeschreibungen ein, zum Beispiel drei Hardwarespezifikationsbeschreibungen 2a, 2b und 2c. Jede der Hardwarespezifikationsbeschreibungen 2a, 2b und 2c ist jeweils über Signale 8a, 8b und 8c mit der Hardwarespezifikationsinterpretationseinheit 3 und der Beschreibungsmodifikationseinheit 6 verbunden. Wie in 1 berechnet die Hardwarespezifikationsinterpretationseinheit 3 von 2 ein Betriebsergebnis, das wiedergibt, wie jede, durch jeweilige Spezifikationsbeschreibungen 2a, 2b und 2c erhaltene, aktuelle Hardware in Bezug auf das Applikationsproblem gemäß Signal 7 betrieben wird, das das aus der Eingabe/Ausgabeeinheit 4 eingegebene Applikationsproblem und die Inhalte der jeweils über die Signale 8a, 8b und 8c angegebenen Hardwarespezifikationsbeschreibungen 2a, 2b und 2c wiedergibt. Signale 9a, 9b und 9c, die jeweilige Betriebsergebnisse anzeigen, werden zur Eingabe/Ausgabeeinheit 4 geliefert. Die Fitneßkalkulationseinheit 5 empfängt Signale 9a, 9b und 9c, die jeweilige Betriebsergebnisse von jeder der Spezifikationsbeschreibungen 2a, 2b und 2c von der Eingabe/Ausgabeeinheit 4 wiedergeben, sowie ferner Signal 7, das dem Applikationsproblem entspricht. Die Fitneßkalkulationseinheit 5 berechnet eine Fitneß, die angibt, wie gut die Signale 9a, 9b und 9c, die die Betriebsergebnisse der Spezifikationsbeschreibungen 2a, 2b und 2c wiedergeben, zu dem über das Signal 7 bereitgestellten Applikationsproblem paßt. Das Signal 10, das der Fitneßbeurteilung entspricht, die das Berechnungsergebnis darstellt, wird als eine Ausgabe der Fitneßkalkulationseinheit 5 auf die Beschreibungsmodifikationseinheit 6 appliziert.
  • Die Beschreibungsmodifikationseinheit 6 modifiziert die momentanen Spezifikationsbeschreibungen 2a, 2b und 2c auf der Basis des Signals 10, das eine Fitneßbeurteilung davon darstellt, um automatisch eine Vielzahl (in diesen Fall 3) neuer Spezifikationsbeschreibungen zu erzeugen. Das Ergebnis davon, das das Signal 11 darstellt, wird zum neuen Inhalt von jeder der Spezifikationsbeschreibungen 2a, 2b und 2c. Während dieser automatischen Erzeugung einer neuen Spezifikationsbeschreibung werden genetische Algorithmen verwendet, die später beschrieben werden.
  • Durch Wiederholen der Ausführung des Betriebs von 1 unter Verwendung der neuen Spezifikationsbeschreibungen, die durch das Signal 11, welches durch die Beschreibungsmodifikationseinheit 6 neu erzeugt wird, auf die Spezifikationsbeschreibungen 2a, 2 b und 2c appliziert werden, wird eine Spezifikationsbeschreibung erzeugt, die mehr und mehr eine höhere Fitneß in Bezug auf das Applikationsproblem besitzt. Schließlich kann eine Spezifikationsbeschreibung erhalten werden, die eine Hardware verwirklicht, die dem Applikationsproblem vollständig genügt.
  • Der oben beschriebene Betrieb kann schneller ausgeführt werden, indem eine Vielzahl von Hardwarespezifikationsinterpretationseinheiten 3, Eingabe/Ausgabeeinheiten 4 und Fitneßberechnungseinheiten 5, die in 2 gezeigt sind, hergestellt werden und diese parallel betrieben werden.
  • Die Signale 9a, 9b und 9c können direkt aus der Hardwarespezifikationsinterpretationseinheit 3 auf die Fitneßberechnungseinheit 5 appliziert werden, ohne Durchlaufen der Eingabe/Ausgabeeinheit 4 gemäß dem Applikationsproblem.
  • 5 ist ein Fließdiagramm, das genetische Algorithmen angibt. Der Betrieb der genetischen Algorithmen wird unter Bezugnahme auf 2 und 5 beschrieben. Zuerst werden zufällige Hardwarespezifikationsbeschreibungen, zum Beispiel die Hardwarespezifikationsbeschreibungen 2a, 2b und 2c, hergestellt. Die Hardwarespezifikationsbeschreibungen 2a, 2b und 2c werden über jeweilige Signale 8a, 8b und 8c an die Hard warespezifikationsinterpretationseinheit 3 appliziert, und ferner auch auf die Beschreibungsmodifikationseinheit 6. Gleichzeitig wird das Signal 7, das das Applikationsproblem wiedergibt, aus der Eingabe/Ausgabeeinheit 4 auf die Hardwarespezifikationsinterpretationseinheit 3 appliziert. Die Hardwarespezifikationsbeschreibungseinheit 3 führt gemäß den Hardwarespezifikationsbeschreibungen 2a, 2b und 2c und dem Applikationsproblem eine Berechnung aus, um jeweilige Betriebsergebnisse von jeder aktuellen Hardware als Signale 9a, 9b und 9c zur Eingabe/Ausgabeeinheit 4 zu liefern. Die aus dem Betrieb resultierenden Signale 9a, 9b und 9c werden zur Fitneßberechnungseinheit 5 geliefert, wobei Signal 7 das Applikationsproblem darstellt. Die Fitneßberechnungseinheit 5 berechnet, wie gut jede der Hardwarespezifikationsbeschreibungen 2a, 2b und 2c zum Applikationsproblem paßt. Das Ergebnis davon wird durch das Signal 10 als Fitneßbeurteilung davon auf die Beschreibungsmodifikationseinheit 6 appliziert.
  • In der Beschreibungsmodifikationseinheit 6 werden neue Hardwarespezifikationsbeschreibungen 2a, 2b und 2c auf der Basis einer Spezifikationsbeschreibung bestimmt, die eine höhere Fitneßbeurteilung besitzen als die der anderen Spezifikationsbeschreibungen, das heißt, die für das Applikationsproblem besser geeignet ist. Bei diesem Prozeß wird ein Schema eines grammatisch äquivalenten Austauschs der Spezifikationsbeschreibung verwendet. Unter Verwendung der erhalten neuen Hardwarespezifikationsbeschreibungen 2a, 2b und 2c und durch Ausführen des oben beschriebenen Betriebs werden Spezifikationsinterpretations- und Beurteilungsprozesse durchgeführt. Durch Wiederholung solcher Prozesse wird die Spezifikationsbeschreibung für das Applikationsproblem immer besser geeignet.
  • Durch Verwendung der oben beschriebenen genetischen Algorithmen können parallele Operationen von ungefähr N3 (N ist die Zahl der Spezifikationsbeschreibungen), die durch die genetischen Algorithmen latent erzeugt werden, ausgeführt werden. Deshalb kann eine Hardwarespezifikationsbeschreibung, die für das Applikationsproblem geeignet ist, schneller erhalten werden. Da mit den genetischen Algorithmen eine Vielzahl von Spezifikationsbeschreibungen gleichzeitig prozessiert wird, ist es möglich, unterschiedliche Spezifikationsbeschreibungen aufrechtzuerhalten. Eine Vielzahl von wirksamen Spezifikationsbeschreibungen kann bezüglich einem Applikationsproblem erhalten werden. Mit anderen Worten kann eine Vielzahl von Schaltungen, die sich hinsichtlich der Architektur unterscheiden, erzeugt werden. Aufgrund ihrer Vielfalt kann eine Hardwarespezifikation schnell erzeugt werden, die zum Applikationsproblem paßt, selbst in dem Fall, wo ein Applikationsproblem an sich schon eine Veränderung verursacht.
  • Somit wird gemäß der Ausführungsform der vorliegenden Erfindung eine Spezifikation einer beschriebenen Hardware interpretiert, um einen Betrieb dieser Hardware zu erzeugen. Eine Fitneß bzw. Paßgenauigkeit wird für den Fall berechnet, für den die Hardware verwendet wird, die aus dem Betrieb davon und der erforderlichen Betriebsspezifikation erzeugt wird. Die Spezifikation der Hardware wird im Verhältnis zu der Fitneß bzw. Paßgenauigkeit modifiziert. Deshalb kann eine Hardware, die einen Betrieb ausführt, der für ihre Verwendungsaufgabe geeignet ist, auf autonome und evolutionäre Weise entworfen werden. Eine für ihre Verwendungsaufgabe optimale Hardware kann erhalten werden, indem automatisch aus einer Vielzahl von Entwurfsbeispielen unterschiedlicher Architekturen ausgewählt wird.
  • Die vorliegende Erfindung ist nicht auf den Betrieb einer Hardware beschränkt und ist auf experimentelle Systeme der Art und Weise und des Verhaltens künstlicher Geschöpfe, welche durch Automaten beschrieben werden, sowie für die Be triebssimulation von autonomen parallelen Prozessen anwendbar.

Claims (5)

  1. Autonomes evolutionsartiges Hardwarespezifikationssystem zum Entwerfen einer Hardware einer elektronischen Schaltung, wobei das autonome evolutionsartige Hardwareentwurfssystem umfaßt: Hardwarespezifikationsbeschreibungsmittel (1) zum Beschreiben einer Spezifikation einer Hardware, Hardwarespezifikationsinterpretationsmittel (3) zum Interpretieren einer durch die Hardwarespezifikationsbeschreibungsmittel geschriebenen Spezifikation, um einen Betrieb dieser Hardware zu erzeugen, Fitneßberechnungsmittel (5) zum Berechnen einer Fitneß bzw. Paßgenauigkeit bei der Verwendung einer folgenden Hardware, gemäß einem Betrieb der durch das Hardwarespezifikationsinterpretationsmittel erzeugten Hardware sowie einer erforderlichen Betriebsspezifikation, und Beschreibungsmodifikationsmittel (6) unter Bezugnahme auf eine Fitneß bzw. Paßgenauigkeit, die durch das Fitneßberechnungsmittel berechnet wurde, zum Modifizieren einer Beschreibung der Hardware beim Hardwarespezifikationsbeschreibungsmittel, dadurch gekennzeichnet, daß das Beschreibungsmodifikationsmittel (6) Mittel zum Austausch eines Teils der Hardwarespezifikationsbeschreibung mittels der Hardwarebeschreibungssprache mit einer Beschreibung, die zum besagten Abschnitt grammatisch äquivalent ist, umfaßt.
  2. Autonomes evolutionsartiges Hardwareentwurfssystem gemäß Anspruch 1, wobei das Hardwarespezifikationsbeschreibungsmittel Mittel (2) zum Ausdrücken einer Spezifikation der besag ten Hardware unter Verwendung einer Hardwarebeschreibungssprache umfaßt.
  3. Autonomes evolutionsartiges Hardwaredesignsystem gemäß Anspruch 1 oder 2, wobei das Hardwarespezifikationsbeschreibungsmittel (1) eine Vielzahl von Hardwarespezifikationen (2a2c) beschreibt, und wobei das Beschreibungsmodifikationsmittel (6) die Beschreibung unter Verwendung genetischer Algorithmen auf der Basis einer Fitneß bzw. Paßgenauigkeit der besagten Vielzahl von Hardwarespezifikationen (2a2c) modifiziert.
  4. Autonomes evolutionsartiges Hardwaredesignsystem gemäß einem der Ansprüche 1 bis 3, ferner mit: Eingabemittel (4) zum Applizieren von Information, die ein Applikationsproblem wiedergibt, auf das Hardwarespezifikationsinterpretationsmittel (3) und das Fitneßberechnungsmittel (5), wobei das Hardwarespezifikationsinterpretationsmittel Mittel (3) zum Berechnen eines Betriebsergebnisses umfaßt, das angibt, wie eine durch die Hardwarespezifikationsbeschreibung erhaltene, aktuelle Hardware in Bezug auf das Applikationsproblem gemäß der von den Eingabemitteln (4) applizierten Information, die dem Applikationsproblem entspricht, sowie der durch die Hardwarespezifikationsbeschreibung geschriebenen Spezifikation betrieben wird, wobei das Fitneßberechnungsmittel Mittel (5) zum Berechnen einer Fitneß bzw. Paßgenauigkeit umfaßt, das angibt, wie gut das berechnete Betriebsergebnis zum Applikationsproblem paßt, und zum Liefern des Berechnungsergebnisses an das Beschreibungsmodifikationsmittel (6).
  5. Autonomes evolutionsartiges Hardwareentwurfssystem gemäß einem der Ansprüche 1 bis 4, wobei das Beschreibungsmodifikationsmittel (6) Mittel zum Modifizieren der momentanen Hard warespezifikationsbeschreibung gemäß dem durch das Fitneßberechnungsergebnis (5) berechneten Berechnungsergebnis umfaßt.
DE69433907T 1993-12-13 1994-11-10 Autonomes, evolutionsartiges Hardwareentwurfssystem Expired - Fee Related DE69433907T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP5311724A JP2974900B2 (ja) 1993-12-13 1993-12-13 自律進化型ハードウェア設計システム
JP31172493 1993-12-13

Publications (2)

Publication Number Publication Date
DE69433907D1 DE69433907D1 (de) 2004-08-26
DE69433907T2 true DE69433907T2 (de) 2005-07-21

Family

ID=18020715

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69433907T Expired - Fee Related DE69433907T2 (de) 1993-12-13 1994-11-10 Autonomes, evolutionsartiges Hardwareentwurfssystem

Country Status (5)

Country Link
US (1) US5615124A (de)
EP (1) EP0657832B1 (de)
JP (1) JP2974900B2 (de)
CA (1) CA2135214C (de)
DE (1) DE69433907T2 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981615A (ja) * 1995-09-14 1997-03-28 Sony Corp 回路設計装置および方法
US5867397A (en) * 1996-02-20 1999-02-02 John R. Koza Method and apparatus for automated design of complex structures using genetic programming
US6152612A (en) * 1997-06-09 2000-11-28 Synopsys, Inc. System and method for system level and circuit level modeling and design simulation using C++
US6836877B1 (en) * 1998-02-20 2004-12-28 Lsi Logic Corporation Automatic synthesis script generation for synopsys design compiler
US6243851B1 (en) * 1998-03-27 2001-06-05 Xilinx, Inc. Heterogeneous method for determining module placement in FPGAs
US6292925B1 (en) 1998-03-27 2001-09-18 Xilinx, Inc. Context-sensitive self implementing modules
US6430732B1 (en) 1998-03-27 2002-08-06 Xilinx, Inc. Method for structured layout in a hardware description language
US6260182B1 (en) * 1998-03-27 2001-07-10 Xilinx, Inc. Method for specifying routing in a logic module by direct module communication
US6237129B1 (en) 1998-03-27 2001-05-22 Xilinx, Inc. Method for constraining circuit element positions in structured layouts
US6378122B1 (en) 1999-02-26 2002-04-23 Xilinx, Inc. Method and apparatus for evolving a plurality of versions of a configuration bitstream in parallel
US6539532B1 (en) 1999-02-26 2003-03-25 Xilinx, Inc. Method and apparatus for relocating elements in an evolvable configuration bitstream
US6430736B1 (en) * 1999-02-26 2002-08-06 Xilinx, Inc. Method and apparatus for evolving configuration bitstreams
US6363517B1 (en) 1999-02-26 2002-03-26 Xilinx, Inc. Method and apparatus for remotely evolving configuration bitstreams
US6363519B1 (en) 1999-02-26 2002-03-26 Xilinx, Inc. Method and apparatus for testing evolvable configuration bitstreams
US6823486B2 (en) 2000-06-05 2004-11-23 Fujitsu Limited Automatic test pattern generation for functional register transfer level circuits using assignment decision diagrams
GB0105357D0 (en) 2001-03-03 2001-04-18 Marconi Comm Ltd Evolutionary programming of configurable logic devices
GB0106459D0 (en) * 2001-03-15 2001-05-02 Marconi Comm Ltd Hardware design using evolutionary algorithms
US6889366B2 (en) * 2001-12-27 2005-05-03 Lsi Logic Corporation System and method for coevolutionary circuit design
US9916410B2 (en) 2015-06-22 2018-03-13 International Business Machines Corporation Signal via positioning in a multi-layer circuit board
US9881115B2 (en) * 2016-04-27 2018-01-30 International Business Machines Corporation Signal via positioning in a multi-layer circuit board using a genetic via placement solver

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224056A (en) * 1991-10-30 1993-06-29 Xilinx, Inc. Logic placement using positionally asymmetrical partitioning algorithm
US5513124A (en) * 1991-10-30 1996-04-30 Xilinx, Inc. Logic placement using positionally asymmetrical partitioning method
US5465218A (en) * 1993-02-12 1995-11-07 Kabushiki Kaisha Toshiba Element placement method and apparatus
US5510995A (en) * 1993-08-13 1996-04-23 Iowa State University Research Foundation, Inc. Sculptured surface synthesis based on functional design constraints
US5495419A (en) * 1994-04-19 1996-02-27 Lsi Logic Corporation Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing

Also Published As

Publication number Publication date
US5615124A (en) 1997-03-25
CA2135214C (en) 1999-03-30
EP0657832A2 (de) 1995-06-14
JP2974900B2 (ja) 1999-11-10
CA2135214A1 (en) 1995-06-14
DE69433907D1 (de) 2004-08-26
EP0657832B1 (de) 2004-07-21
EP0657832A3 (de) 1995-08-23
JPH07160744A (ja) 1995-06-23

Similar Documents

Publication Publication Date Title
DE69433907T2 (de) Autonomes, evolutionsartiges Hardwareentwurfssystem
DE69532307T2 (de) Ausdrucks-Propagierung für hierarchisches Netzlisten
DE3503119A1 (de) Verfahren zum automatischen erzeugen eines quellenprogramms
DE102020115968A1 (de) Systeme und verfahren für multi-bit-speicher mit eingebetteter logik
DE10143101A1 (de) Verfahren zur Validierung von Simulationsergebnissen eines Systems sowie darauf aufbauender Äquivalenzvergleich digitaler Schaltungen
DE10333087A1 (de) Verfahren zum automatischen Zerlegen von dynamischen Systemmodellen in Teilmodelle
DE69812990T2 (de) Verfahren zur erzeugung von isa simulatoren und assemblierern aus einer maschinenbeschreibung
DE112016003963T5 (de) Vorhersagen von Soll-Kenndaten
DE112020006021T5 (de) Auf maschinelles lernen basierendes verfahren und vorrichtung für die berechnung und verifizierung von verzögerungen des entwurfs integrierter schaltungen
DE102019134053A1 (de) Verfahren zur kontinuierlichen Absicherung im Fahrversuch applizierter automatisierter Fahrfunktionen
DE10230135A1 (de) Verfahren zum Sicherstellen korrekter Anschlußstiftzuordnungen zwischen Systemplatinenverbindungen unter Verwendung gemeinsamer Abbildungsdateien
DE4327660C2 (de) Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung
EP0954810B1 (de) Verfahren zur initialisierung einer simulation des verhaltens einer technischen anlage und simulationssystem für eine technische anlage
EP3629151A1 (de) Verfahren zum ändern von modellen für die erzeugung von quellcode
DE102015102034A1 (de) Verfahren zum Analysieren von Ergebnissen in einem Entwurfsautomatisierungsablauf für elektronische Systeme, Computersystem und Computerprogrammprodukt
EP1771798B1 (de) Verfahren der bewertung der güte eines computerprogramms
DE10313949A1 (de) Schaltungsentwurfsduplizierungssystem
WO2012045322A1 (de) Verfahren und prozessrechner zur berechnung der zustandsgrössen eines hybriden differential-algebraischen prozessmodells
DE102019132624A1 (de) Verfahren, Vorrichtung, Computerprogramm und computerlesbares Speichermedium zum Erstellen eines Motion Cueing Algorithmus
DE102017104049B4 (de) Verfahren und vorrichtung zum überprüfen der zuverlässigkeit eines chips
DE4408106A1 (de) Verfahren zur Simulation einer in EDIF beschriebenen Schaltung mit einem VHDL-Simulator auf einem Rechner
EP1533940A1 (de) Transformation Function eines TMN Systems
DE10243598A1 (de) Verfahren und Vorrichtung zur funktionalen Verifikation von integrierten Schaltungen
EP0843256B1 (de) Nachbildung eines Bedingungscodes bei Codetransformationen
DE102011077177A1 (de) Verfahren zur rechnergestützten Analyse von fehlerhaftem Quellcode in einer Hardware-Beschreibungssprache

Legal Events

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