DE3900750A1 - Wissensbasis - verfahren - vorrichtung zum entwerfen integrierter schaltungen mittels funktionaler spezifikationen - Google Patents

Wissensbasis - verfahren - vorrichtung zum entwerfen integrierter schaltungen mittels funktionaler spezifikationen

Info

Publication number
DE3900750A1
DE3900750A1 DE3900750A DE3900750A DE3900750A1 DE 3900750 A1 DE3900750 A1 DE 3900750A1 DE 3900750 A DE3900750 A DE 3900750A DE 3900750 A DE3900750 A DE 3900750A DE 3900750 A1 DE3900750 A1 DE 3900750A1
Authority
DE
Germany
Prior art keywords
integrated circuit
flowchart
cell
activities
conditions
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.)
Ceased
Application number
DE3900750A
Other languages
English (en)
Inventor
Hideaki Kobayashi
Masahiro Shindo
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.)
Ricoh Co Ltd
International Chip Corp
Original Assignee
Ricoh Co Ltd
International Chip Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22505806&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE3900750(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Ricoh Co Ltd, International Chip Corp filed Critical Ricoh Co Ltd
Publication of DE3900750A1 publication Critical patent/DE3900750A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • 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)

Description

Die Erfindung betrifft den Entwurf integrierter Schaltungen, insbesondere ein rechnergestütztes Verfahren und eine derartige Vorrichtung für den Entwurf integrierter Schaltungen.
Ein ASIC (application specific integrated circuit: applicationsspezifische integrierte Schaltung) ist ein integrierter Schaltungschip, der zur Durchführung einer bestimmten Funktion entworfen wurde, im Unterschied zu Standard-integrierten Schaltungen für allgemeine Zwecke, beispielsweise Mikroprozessoren, Speicherchips und so weiter. Normalerweise ist ein sehr erfahrener Entwurfsingenieur mit speziellen Kenntnissen im Entwurf von VLSI-Schaltkreisen erforderlich, um einen ASIC zu entwerfen. Beim Entwurf zieht der VLSI-Entwurfsingenieur die zu erzielenden speziellen Zwecke in Betracht sowie die von der integrierten Schaltung durchzuführenden Aufgaben, und erzeugt Spezifikationen für das Entwurfsaufbauniveau, die die unterschiedlichen Hardwarekomponenten festlegen, die zur Durchführung der gewünschten Funktion erforderlich sind, ebenso wie die Erfordernisse für die Verbindungen zwischen diesen Komponenten. Weiterhin muß eine Systemsteuereinrichtung für die Syn­ chronisation des Betriebs dieser Komponenten entworfen werden. Dies erfordert ein breites, allumfassendes Wissen der unterschiedlichen Hardwarekomponenten, die zur Erzielung der gewünschten Zwecke erforderlich sind, und ebenso der Erfordernisse für deren Verbindungen, der Signalpegelkompatibilität, der Zeitablaufkompatibilität, des physikalischen Layouts, und so weiter. Bei jeder Entwurfstufe muß der Entwerfer eine mühsame Analyse durchführen. Die Entwurfsspezifikationen, die der VLSI-Entwurfsingenieur schafft, können beispielsweise in der Form von schematischen Schaltungen erfolgen, von Parametern oder spezialisierter Sprachen für die Beschreibung von Hardware (HDLs).
Ausgehend von den Entwurfsspezifikationen auf dem Aufbauniveau wird die Beschreibung der Hardwarekomponenten und deren Verbindungen in eine Be­ schreibung des physikalischen Chip-Layout-Niveaus umgewandelt, welche die tatsächlichen topologischen Eigenschaften des integrierten Schaltkreis­ chips beschreibt. Diese Beschreibung des physikalischen Chip-Layoutniveaus stellt die Maskendaten zur Verfügung, die zur Herstellung des Chips benötigt werden.
Infolge der enormen Fortschritte in der Technologie hochintegrierter Schaltungen (VLSI) werden äußerst komplexe Schaltungssysteme auf einem einzigen Chip hergestellt. Aufgrund ihrer Komplexität und dem Erfordernis, kundenspezifische Chips schneller herzustellen und in größeren Mengen, und da die Anzahl spezifischer Anwendungen immer mehr ansteigt, müssen CAD-Verfahren (computer-aided design: rechnergestützter Entwurf) verwendet werden. CAD-Verfahren sind erfolgreich beim Entwurf und der Überprüfung integrierter Schaltungen eingesetzt worden, sowohl auf dem Aufbauniveau als auch dem physikalischen Layoutniveau. Beispielsweise wurden CAD-Systeme entwickelt, um dabei zu helfen, VLSI-Aufbauniveau­ beschreibungen integrierter Schaltungen in die topologischen Maskendaten auf dem physikalischen Layoutniveu umzuwandeln, die zur tatsächlichen Her­ stellung des Chips erforderlich sind. Zwar erleichtern die momentan erhältlichen CAD-Systeme das Entwurfsverfahren wesentlich, allerdings sind momentan in der Praxis immer noch sehr erfahrene VLSI-Entwurfsingenieure erforderlich, um die notwendigen Beschreibungen der Hardware auf dem Aufbauniveau zu erzeugen.
Es gibt nur wenige VLSI-Entwerfer, die die äußerst spezialisierten Fähigkeiten haben, die zur Herstellung von Beschreibungen von IC-Hardware auf dem Aufbauniveau benötigt werden. Selbst mit Unterstützung erhältlicher VLSI-CAD-Werkzeuge (tools) ist der Entwurfsvorgang zeitaufwendig, und infolge des menschlichen Einflusses ist die Fehlerwahrscheinlichkeit hoch. Es existiert ein bedeutsamer Bedarf für ein besseres und kostengünstigeres Vorgehen zum Entwurf kundenspezifischer integrierter Schaltungen.
Gemäß der vorliegenden Erfindung wird ein CAD-System und ein derartiges Verfahren bereitgestellt, die es einem Benutzer ermöglichen, die funktionellen Erfordernisse für eine gewünschte herzustellende integrierte Schaltung zu definieren, unter Verwendung einer einfach verständlichen Darstellung auf funktionalem Niveau, und welche hieraus die detaillierten Informationen erzeugen, die zur direkten Herstellung einer applikationsspezifischen integrierten Schaltung (ASIC), um diese spezifischen Funktionen auszuführen, erforderlich sind. Daher eröffnet die vorliegende Erfindung zum ersten Mal die Möglichkeit des Entwurfs und der Herstellung von ASICs durch Entwerfer, Ingenieure und Techniker, die nicht das spezielle Expertenwissen eines sehr erfahrenen VLSI- Entwurfsingenieurs besitzen.
Die funktionalen Spezifikationen des gewünschten ASIC können auf geeignete Weise definiert werden, beispielsweise in Listenform oder vorzugsweise in einem Flußdiagrammformat. Ein Flußdiagramm stellt ein äußerst wirksames Mittel zur Beschreibung einer Folge logischer Operationen dar, und wird durch Software- und Hardwareentwerfer mit unterschiedlichem Niveau an Erfahrung und Ausbildung gut verstanden. Von dem Flußdiagramm (oder anderen funktionalen Spezifikationen) aus übersetzen das System und das Verfahren gemäß der vorliegenden Erfindung die funktionalen Spezi­ fikationen in eine Definition auf strukturellem Niveau einer integrierten Schaltung, und die Definition kann direkt zu Herstellung des ASIC verwendet werden. Die Definition auf strukturellem Niveau umfaßt eine Liste der IC-Hardwarezellen, die zum Erreichen der funktionalen Spezifikationen erforderlich sind. Diese Zellen werden aus einer Zellen­ bibliothek vorher entworfener Hardwarezellen unterschiedlicher Funk­ tionen und technischer Spezifikationen ausgewählt. Das System erzeugt ebenfalls Datenpfade zwischen den ausgewählten Hardwarezellen. Darüber hinaus erzeugt die vorliegende Erfindung eine Systemsteuerung und Steuerpfade für die ausgewählten IC-Hardwarezellen. Die Liste der Hardwarezellen und der Erfordernisse für deren Verbindung untereinander kann in Form einer Netzliste dargestellt werden. Ausgehend von der Netzliste ist es möglich, entweder bekannte manuelle Verfahren oder existierende VLSI- CAD-Layoutsysteme einzusetzen, um die detaillierte geometrische Information auf dem Chipniveau (beispielsweise Maskendaten) zu erzeugen, die zur Herstellung der bestimmten applikationsspezifischen integrierten Schaltung in Chipform erforderlich ist.
Die bevorzugte Ausführungsform des erfindungsgemäßen Systems beziehungsweise des erfindungsgemäßen Verfahrens, die nachstehend noch im einzelnen beschrieben wird, wird als Siliziumkompiler auf Wissensbasis (KBSC) bezeichnet. Der KBSC ist eine ASIC-Entwurfsmethodenlehre auf der Grundlage künstlicher Intelligenz (artificial intelligence) und der Technologie von Expertensystemen. Das Benutzerinterface der KBSC ist ein Flußdiagramm-Editor, der es dem Entwerfer gestattet, VLSI-Systeme in Form eines Flußdiagramms darzustellen. Der KBSC verwendet ein Expertensystem auf Wissensbasis, mit einer Wissensbasis, die von erfahrenen ASIC-Entwerfern mit hohem Erfahrungsniveau im Entwurf von VLSIs erhalten wurde, um vom Flußdiagramm eine Netzliste zu erzeugen, welche die ausgewählten Hardwarezellen und deren erforderliche Verbindungen untereinander beschreibt.
Die Erfindung wird nachstehend anhand zeichnerisch dargestellter Aus­ führungsbeispiele näher erläutert, aus welchen weitere Vorteile und Merkmale hervorgehen.
Es zeigt
Fig. 1a eine Erläuterung einer Darstellung des Entwurfs auf funktionalem Niveau eines Abschnitts einer gewünschten herzustellenden Schaltung, in Form eines Flußdiagramms;
Fig. 1b einer Erläuterung einer Darstellung des Entwurfs auf strukturellem Niveau einer integrierten Schaltung;
Fig. 1c eine Erläuterung einer Entwurfsdarstellung einer Schaltung auf einem physikalischen Layoutniveau, wie es bei der Herstellung eines integrierten Schaltkreischips verwendet wird;
Fig. 2 ein Blockdiagramm mit einer Darstellung, wie Maskendaten für eine integrierte Schaltung aus Flußdiagramm-Beschreibungen durch das KBSC-System gemäß der vorliegenden Erfindung erzeugt werden;
Fig. 3 eine etwas detaillierte schematische Erläuterung mit einer Darstellung der Hauptkomponenten des KBSC-Systems;
Fig. 4 eine schematische Darstellung zur Erläuterung, wie das ASIC-Entwurfsystem gemäß der vorliegenden Erfindung aus einer Zellenbibliothek ausgewählte, vorher definierte IC-Hardwarezellen heraushieht;
Fig. 5 ein Beispiel eines Flußdiagramms, welches eine Folge funktionaler Betriebsabläufe definiert, die von einer integrierten Schaltung durchgeführt werden sollen;
Fig. 6 eine strukturelle Darstellung mit einer Ansicht der Hardwareblöcke und der erforderlichen Verbindungen zwischen diesen für die in Fig. 5 definierte integrierte Schaltung;
Fig. 7 eine Darstellung des Flußdiagramm-Editor-Fensters;
Fig. 8 eine Darstellung des Flußdiagramm-Simulator-Fensters;
Fig. 9 eine Erläuterung der bei der Erzeugung der Zellenliste beteiligten Schritte;
Fig. 10 ein beispielhaftes Flußdiagramm für ein Verkaufsmaschinensys­ tem;
Fig. 11 eine Erläuterung der Hardwarekomponenten, die jedem der drei Macros entsprechen, die in dem Flußdiagramm von Fig. 10 verwendet werden;
Fig. 12 ein anfängliches Blockschaltbild mit einer Darstellung der Hardwarekomponenten für eine integrierte Schaltung, wie sie im Flußdiagramm der Fig. 10 definiert wurde;
Fig. 13 ein Blockschaltbild entsprechend Fig. 12 mit einer Darstellung der Zwischenverbindungen zwischen Blöcken;
Fig. 14 ein Fig. 13 entsprechendes Blockschaltbild nach einer Optimierung der Register; und
Fig. 15 ein Fig. 14 entsprechendes Blockschaltbild nach weiterer Optimierung.
Fig. 1a, 1b und 1c erläutern drei unterschiedliche Niveaus zur Darstellung des Entwurfs einer integrierten Schaltung. Fig. 1a zeigt eine funktionale (am Verhalten ausgerichtete) Darstellung in Form eines Fluß­ diagramms. Ein Flußdiagramm ist eine graphische Darstellung eines Algorithmus und besteht aus zwei Arten von Blöcken oder Zuständen, nämlich Tätigkeiten und Bedingungen (Entscheidungen). Tätigkeiten werden üblicherweise in dem Flußdiagramm durch ein Rechteck dargestellt, und Bedingungen werden durch einen Diamanten (rhombenförmig) bezeichnet. Übergänge zwischen Tätigkeiten und Bedingungen werden durch Linien mit Pfeilen dargestellt. Fig. 1b zeigt eine Darstellung auf strukturellem (oder logischem) Niveau einer integrierten Schaltung. In dieser Darstellung werden Blöcke verwendet, um IC-Hardwarekomponenten zur Durchführung verschiedener Funktionen darzustellen, und die die Blöcke verbindenden Linien stellen Pfade für den Fluß von Daten oder Steuersignalen zwischen den Blöcken dar. Die Blöcke können beispielsweise Hardwarekomponenten wie Addierer, Komparatoren, Register, Systemsteuereinheiten, und so weiter darstellen. Fig. 1c erläutert eine Darstellung auf dem physikalischen Layoutniveau eines Entwurfs für eine integrierte Schaltung, und diese Darstellung stellt die detaillierten Maskendaten zur Verfügung, die erforderlich sind, um die Geräte und Leitungen herzustellen, welche zusammen die integrierte Schaltung ausmachen.
Wie voranstehend erwähnt erfordert der Entwurf einer integrierten Schaltung auf dem strukturellem Niveau einen Entwurfsingenieur mit sehr spezialisierten Kenntnissen und derartiger Erfahrung im Entwurf von VLSIs. Allerdings können in dem KBSC-System gemäß der vorliegenden Erfindung integrierte Schaltungen auf einem funktionalen Niveau entworfen werden, da die Erfahrung zum Entwurf von VLSIs durch die Erfindung bereitgestellt und von dieser angewendet wird. Dadurch, daß dem Entwerfer ermöglicht wird, mit Flußdiagrammen anstatt von schematischen Darstellungen logischer Schaltkreise zu arbeiten, wird die Aufgabe des Entwurfs kundenspezifischer integrierter Schaltungen erleichtert, beschleunigt, wird weniger kostenaufwendig und verläßlicher. Der Entwerfer hat mit einem Algorithmus unter Verwendung einfacher Flußdiagramme auf dem Niveau des tatsächlichen Verhaltens zu tun, und muß nur die erforderlichen logischen Schritte zur Durchführung einer Aufgabe wissen, anstelle der spezifischen Einrichtungen zur Durchführung der Aufgabe. Der Entwurf mit Flußdiagrammen erfordert weniger Arbeit bei der Durchführung von Versuchen, das Flußdiagramme es dem Entwerfer gestatten, erheblich näher am Algorithmus zu arbeiten. Andererseits erfordern bisher bestehende VLSI-Designwerkzeuge, daß der Entwerfer einen Algorithmus mit komplexen schematischen Schaltkreisen auf einem strukturellem Niveau darstellt, was daher mehr Arbeit bei der Versuchsdurchführung erfordert. Schaltkreisschemata bereiten dem Entwerfer höhere Schwierigkeiten, mit der Funktion des Algorithmus fertig zu werden, die in das gewünschte Design eingebaut werden muß, da sie Überlegungen bezüglich der Hardware und der Funktion vermischen. Die Verwendung von Flußdiagrammen zum Entwurf kundenspezifischer Schaltungen gestattet es einer großen Anzahl von Systementwerfern, mit der VLSI-Technologie umzugehen, wogegen bislang nur eine kleine Anzahl von Entwerfern die Kentnisse und Fähigkeiten hatte, um die erforderlichen Hardwarebeschreibungen auf strukturellem Niveau zu erzeugen.
Der gesamte Systemfluß ist in Fig. 2 erläutert. Der Benutzer gibt die funktionalen Spezifikationen der Schaltung in den Siliciumcompiler auf Wissensbasis (KBSC) 10 in Form eines Flußdiagramms 11 ein. Der KBSC 10 erzeugt dann eine Netzliste 15 aus dem Flußdiagramm. Die Netzliste 15 umfaßt eine aufgrund der Anforderungen erzeugte Systemsteuerung, sämt­ liche anderen Hardwarezellen, die zur Implementierung der erforderlichen Betriebsabläufe erforderlich sind, und Information für die Verbindungen zum Verbinden der Hardwarezellen und der Systemsteuerung. Die Netzliste kann als Eingang für jedes existierende VLSI-Layout- und Fertigungsplanungs-Werkzeug 16 dienen, um Makendaten 18 für das geometrische Layout zu erzeugen.
Systemüberblick
Die hauptsächlichen Elemente oder Module, die das KBSC-System ausmachen, sind in Fig. 3 dargestellt. Bei der hier erläuterten und beschriebenen Ausführungsform liegen diese Elemente oder Module in Form von Softwareprogrammen vor, allerdings ist für Fachleute leicht erkennbar, daß diese Elemente auf einfache Weise in anderer Form verkörpert werden können, beispielsweise durch Hardware.
Wie aus Fig. 3 hervorgeht, umfaßt das KBSC-System 10 ein Programm 20 genannt EDSIM, das einen Flußdiagramm-Editor 21 zur Herstellung und zum Editieren von Flußdiagrammen aufweist sowie einen Flußdiagramm-Simulator 22 zur Simulation und Überprüfung von Flußdiagrammen. Tätigkeiten, die durch jedes der in dem Flußdiagramm dargestellten Rechtecke durchgeführt werden sollen, werden aus einer Makrobibliothek 23 ausgewählt. Ein Programm 30 genannt PSCS (path synthesizer and cell selector: Pfad-Synthese und Zellenauswahl) umfaßt ein Datenpfad- und Steuerpfad-Synthesizermodul 31, welches ein Wissensbasissystem für die Synthese von Daten- und Steuerpfaden darstellt. PSCS umfaßt ebenfalls einen Zellenauswähler 32 zur Auswahl der für den Entwurf des Systems erforderlichen Zellen. Der Zellenauswähler 32 sucht aus einer Zellenbibliothek 34 vorher entworfener Hardwarezellen die geeignete Zelle oder Zellen aus, die zur Durchführung jeder Tätigkeit und jeder Bedingung erforderlich sind, die in dem Flußdiagramm dargestellt sind. Ein Steuergenerator 33 erzeugt eine kundenspezifisch entworfene Systemsteuerung zum Steuern der Betriebsabläufe der anderen Hardwarezellen. Die Wissensbasis 35 enthält Expertenwissen bezüglich ASIC-Entwurf, welches zur Synthese der Datenpfade und zur Zellenauswahl erforderlich ist. Daher erzeugt PSCS mit einem funktionalen Flußdiagramm als Eingang eine Systemsteuerung, sucht alle anderen Hardwarezellen aus, erzeugt Daten- und Steuerpfade, und er­ zeugt eine Netzliste, die diese gesamte Entwurfsinformation beschreibt. Das KBSC-System verwendet einen hierarchischen Entwurfszugang für die Zellenauswahl des ASIC, wie in Fig. 4 erläutert ist. Anstatt jede erforderliche Hardwarezelle neu aufzubauen, stützt sich das System auf eine Zellenbibliothek 34 vorher entworfener, ausgetesteter und erprobter Hardwarezellen unterschiedlicher Arten und verschiedener funktioneller Fähigkeiten bei einer gegebenen Art. Die Macrobibliothek 23 enthält einen Satz von Macros, die verschiedene Tätigkeiten definieren, die in dem Flußdiagramm festgelegt werden können. Für jede Macrofunktion in der Macrobibliothek 23 können verschiedene Hardwarezellen in der Zellenbibliothek 34 unterschiedlicher Geometrie und unterschiedlicher Eigenschaften existieren, welche die angegebene Funktion durchführen können. Unter Verwendung eines auf Regeln basierenden Expertensystems mit einer Wissensbasis 35, die von erfahrenen ASIC-Entwerfern erhalten wurde, sucht das KBSC-System aus der Zellenbibliothek 34 die optimale Zelle zur Ausführung der gewünschten Funktion aus.
Wie wiederum aus Fig. 3 hervorgeht, werden die Zellen, die durch den Zellenauswähler 32 ausgewählt wurden, die Steuerinformation, die durch den Steuergenerator 33 erzeugt wurde, und die Daten- und Steuerpfade, die durch den Daten/Steuerpfad-Synthesizer 31 erzeugt wurden, sämtlich durch das PSCS-Programm 30 benutzt, um die Netzliste 15 zu erzeugen. Die Netzliste ist eine Liste, die jeden Block in der Schaltung sowie die Verbindungen zwischen den jeweiligen Eingängen und Ausgängen des Blocks identifiziert. Die Netzliste stellt sämtliche erforderliche Information zur Herstellung der integrierten Schaltung zur Verfügung. Rechnergestützte Entwurfssysteme für die Plazierung von Zellen und für die Fertigungsplanung sind im Handel erhältlich, welche Netzlistendaten als Eingangsgrößen empfangen und das Layout der jeweiligen Zellen in dem Chip durchführen, die erforderliche Fertigungsplanung erzeugen, und Maskendaten herstellen, welche direkt in einer Chipherstellungsanlage zur Herstellung integrierter Schaltungen verwendet werden können.
Systemanforderungen
Das KBSC-System kann auf einem geeignet programmierten universellen digitalen Computer ablaufen. Beispielsweise läuft eine Ausführungsform des Systems in einer Workstation-Umgebung ab, beispielsweise aus Sun3 und VAXStation-II/GPX unter einem UNIX-Betriebssystem und X-Window Manager. Die Workstation erfordert ein Minimum von 8 Megabyte Hauptspeicher und 20 Megabyte Festplattenspeicher. Der verwendete Monitor ist ein Farbbildschirm mit 8 Bit. Die Software verwendet die Programmiersprache C und eine INGRES-relationale Datenbank.
Das Benutzerinterface arbeitet hauptsächlich unter Verwendung von Menues und einer speziellen Befehlssprache. Die permanenten Daten des Entwurfs integrierter Schaltungen sind in der Datenbank gespeichert, um sie einfach hervorzuholen und zu überarbeiten. Der Hauptspeicher speichert die nächsten Daten zeitweilig, sowie den ausführbaren Code, Entwurfsdaten (Flußdiagramm, Logik, usw.), die Datenbasis (Zellenbibliothek), und die Wissensbasis. Die CPU führt die Hauptaufgaben der Erzeugung und Simulation von Flußdiagrammen und die automatische Synthese des Entwurfs durch.
Beispiel für ein Flußdiagramm
Um die Abbildung eines Flußdiagramms auf eine Netzliste zu beschreiben, wird ein in Fig. 5 dargestelltes beispielhaftes Flußdiagramm trachtet, welches Teil eines größeren Gesamtsystems ist. Bei diesem erläuternden Flußdiagramm werden zwei Variablen, VAL1 und VAL2, verglichen, und wenn sie gleich sind, werden sie addiert. In diesem Fall betrifft die erste Tätigkeit (Tätigkeit 1) die Bewegung des Wertes der Variablen VAL1 zum Register A. Die zweite Tätigkeit umfaßt die Bewegung des Wertes der Variablen VAL2 in ein Register B. Die Bedingung 1 umfaßt den Vergleich der Werte in den Registern A und B. Die Tätigkeit 3 umfaßt die Addition der Register A und B und das Speichern des Ergebnisses im Register C.
Bei der Herstellung einer integrierten Schaltung zur Ausführung der in Fig. 5 definierten Funktion bildet der KBSC die Flußdiagramm-Beschreibung des Verhaltens des Systems ab auf die Erfordernisse für die Verbindung zwischen Hardwarezellen untereinander. Die Hardwarezellen werden durch eine Systemsteuerung gesteuert, die sämtliche Steuersignale er­ zeugt. Es gibt zwei Arten von Variablen, die bei einer Systemsteuerung beteiligt sind:
  • (1) Eingangsvariablen: Diese werden durch Hardwarezellen erzeugt und/oder sind externe Eingangsgrößen für die Steuerung. Sie entsprechen Bedingungen in dem Flußdiagramm.
  • (2) Ausgangsvariablen: Diese werden durch die Systemsteuerung erzeugt und entsprechen Tätigkeiten in dem Flußdiagramm.
Fig. 6 erläutert die Ergebnisse der Abbildung des Flußdiagramms gemäß Fig. 5 auf Hardwarezellen. Die Tätigkeiten und die Bedingungen in dem Flußdiagramm werden für die Zellenauswahl und die Synthese der Daten- und Steuerpfade verwendet. Das VAL1-Register und VAL2-Register und die sich hiervon erstreckenden Datenpfade wurden bereits Tätigkeiten zugeordnet, die vor der Tätigkeit 1 in unserem Beispiel geschehen. Die Tätigkeit 1 bewirkt die Erzeugung des Datenregisters A. Auf ähnliche Weise bewirkt die Tätigkeit 2 die Zuordnung des Datenregisters B. Der Komparator wird als ein Ergebnis der Vergleichsoperation in Bedingung 1 zugeordnet. Die Vergleichsoperation wird durch 1) Auswahl einer Komparator­ zelle, 2) Abbildung des Eingangs der Komparatorzelle auf die Register A und B, 3) Erzeugung von Datenpfaden zur Verbindung des Komparators mit den Registern A und B und 4) Erzeugung von Eingangsvariablen, die "gleich", "größer als", und "kleiner als" fürdie Systemsteuerung entsprechen, durchgeführt. Auf ähnliche Weise bewirkt der Addiervorgang bei der Tätigkeit 3 die Auswahl der Addiererzelle, die Abbildung der Addiererparameter auf die Register, und die Erzeugung der Datenpfade.
Infolge dieser Vorgehensweise kann eine Blockliste für ein gegebenes Flußdiagramm erstellt werden. Diese Blockliste besteht aus einer System­ steuerung und so vielen anderen Blöcken, wie erforderlich sind, um die notwendigen Betriebsabläufe durchzuführen. Die Blöcke werden durch Da­ tenpfade verbunden, und die Blöcke werden durch die Systemsteuerung über Steuerpfade gesteuert. Diese Blöcke können auf die Zellen abgebildet werden, die aus einer Zellenbibliothek ausgewählt wurden, um eine Zellenliste herzustellen.
Interaktiver Flußdiagramm-Editor und Simulator
Die Erzeugung und Überprüfung des Flußdiagramms ist der erste Schritt bei der VLSI-Entwurfsmethode. Die Übertragung eines Algorithmus in ein äquivalentes Flußdiagramm wird mit dem Flußdiagrammeditor 21 (Fig. 3) durchgeführt. Die Überprüfung des editierten Flußdiagramms wird durch den Flußdiagramm-Simulator 22 durchgeführt. Der Flußdiagramm-Editor und -Simulator sind in eine Arbeitsumgebung zum interaktiven Editieren von Flußdiagrammen eingebettet, mit einem entwerferfreundlichen Interface.
EDSIM ist das Programm, welches den Flußdiagrammeditor 21 und den Flußdiagrammsimulator 22 enthält. Es stellt weiterhin Funktionen wie das Laden und Retten von Flußdiagrammen zur Verfügung. EDSIM erzeugt eine Zwischendatei, Zustandsliste genannt, für jedes Flußdiagramm. Diese Datei wird dann durch das PSCS verwendet, um eine Netzliste zu erzeugen.
Flußdiagramm-Editor
Der Flußdiagramm-Editor 21 ist ein Softwaremodul, welches zur Darstellung, Erzeugung und Editierung des Flußdiagramms verwendet wird. Dieses Modul wird durch das Flußdiagramm-Editierfenster, welches in Fig. 7 dargestellt ist, gesteuert. Zusammen mit Editierfunktionen stellt der Flußdiagramm- Editor auch eine Überprüfung von Entwurfsfehlern zur Verfügung.
Nachstehend erfolgt eine Beschreibung der Betriebsabläufe des Flußdiagramm- Editors. Die hauptsächlichen Editierfunktionen umfassen die Erzeugung, Editierung, und das Löschen von Zuständen, Bedingungen und Übergängen. Der Herstellungs-Betriebsablauf gestattet dem Entwerfer, einen neuen Zustand, eine neue Bedingung oder neue Übergänge einem Flußdiagramm hinzufügen. Das Editieren gestattet dem Entwerfer, die Position eines Zustands, einer Bedingung oder eines Übergangs zu ändern, und das Löschen gestattet dem Entwerfer, einen Zustand, eine Bedingung oder einen Übergang von dem momentanen Flußdiagramm zu entfernen. Zustände, die Tätigkeiten enthalten, sind durch Kästen dargestellt, Bedin­ gungen durch Diamanten, und Übergänge sind durch Linien mit Pfeilen dargestellt, welche die Richtung des Übergangs angeben.
Editiertätigkeiten erlauben es dem Entwerfer, Tätigkeiten jedem Kasten zuzuordnen. Diese Tätigkeiten bestehen aus Macronamen und Argumenten. Ein Beispiel für Argumente ist das Setzen und Löschen externer Signale. Eine Liste von Basismacros, die in der Macrobibliothek 23 verfügbar sind, ist in Tabelle 1 dargestellt.
Macro
Beschreibung
ADD (A, B, C)
C=A+B
SUB (A, B, C) C=A-B
MULT (A, B, C) C=A*B
DIV (A, B, C) C=A div B
DECR (A) A=A-1
INCR (A) A=A+1
CLR (A) A=0
REG (A, B) B=A
CMP (A, B) Vergleiche A mit B und setze EQ, LT, GT Signale
CMPO (A) Vergleiche A mit O und setze EQ, LT, GT Signale
NEGATE (A) A=NOT (A)
MOD (A, B, C) C=A Modulus B
POW (A, B, C) C=A ∧ B
DC2 (A, S1, S2, S3, S4) Dekodiere A in S1, S2, S3, S4
EC2 (S1, S2, S3, S4, A) Kodiere S1, S2, S3, S4 in A
MOVE (A, B) B=A
CALL sub-flowchart (A, B, . . .) Rufe ein Unter-Flußdiagramm. Übergib A, B, . . .
START (A, B, . . .) Anfangszustand eines Unter-Flußdiagramms
STOP (A, B, . . .) Endzustand eines Unter-Flußdiagramms
Der Flußdiagramm-Editor stellt auch eine grafische Anzeige des Flußdiagramms zur Verfügung, während der Flußdiagramm-Simulator das Flußdiagramm simuliert. Diese grafische Darstellung besteht aus Kästen, Diamanten und Linien, wie in Fig. 7 gezeigt ist. Diese werden alle auf dem Bildschirm gezeichnet und sehen aus wie ein traditionelles Flußdiagramm. Durch Anzeige des Flußdiagramms auf dem Bildschirm während der Simulation wird dem Entwerfer ermöglicht, das Flußdiagramm zur selben Zeit zu entwerfen und zu überprüfen.
Flußdiagramm-Simulator
Der Flußdiagramm-Simulator 22 ist ein zur Simulierung von Flußdiagrammen verwendetes Softwaremodul. Dieses Modul wird durch das in Fig. 8 gezeigte Simulatorfenster gesteuert. Der Flußdiagramm-Simulator simuliert die Übergänge zwischen Zuständen und Bedingungen in einem Flußdiagramm. Nachstehend erfolgt eine Aufstellung der Betriebsabläufe des Flußdiagramm- Simulators:
edit data - Ändere den Wert eines Registers oder Speichers.
set state - Setze den nächsten zu simulierenden Zustand.
set detail or summary display - Zeige summarische oder Detailinformation während der Simulation an.
set breaks - Setze einen Breakpoint (Unterbrechungspunkt).
clear breaks - Lösche alle Breakpoints.
show breaks - Zeige momentane Breakpoints an.
step - Stufenschritt durch einen Übergang.
execute - Ausführung des Flußdiagramms.
stop - Ausführung des Flußdiagramms anhalten.
history ON or history OFF - Aufzeichnung der Geschichte ein- oder ausschalten
cancel - Momentanen Betriebsablauf löschen
help - "Hilfe-"Anzeige darstellen
close - Simulatorfenster schließen.
Die Ergebnisse der Simulation werden innerhalb des Simulatorfensters angezeigt. Weiterhin verfolgt das Editor-Fenster das Flußdiagramm, während dieses simuliert wird. Diese Verfolgung des Flußdiagramms macht ein Editieren des Flußdiagramms einfach, wenn ein Fehler gefunden wird.
Zellenauswahl
Der Zellenauswähler 32 ist ein System auf Wissensbasis zur Auswahl eines Satzes optimaler Zellen aus der Zellenbibliothek 34, um ein VLSI-System zu implementieren. Die Auswahl gründet sich auf funktionale Beschreibungen in dem Flußdiagramm, wie sie durch die Macros angegeben sind, die jeder in dem Flußdiagramm dargestellten Tätigkeit zugeordnet sind. Die zur Implementierung eines VLSI-Systems ausgewählten Zellen hängen von Faktoren ab wie beispielsweise der Funktion der Zelle, der verwendeten Herstellungstechnologie, Leistungsbegrenzungen, Zeitverzögerungen und so weiter. Der Zellenauswähler verwendet eine Wissensbasis, die von VLSI- Entwurfsexperten erstellt wurde, um die Zellenauswahl durchzuführen.
Um ein VLSI-System aus einer Flußdiagramm-Beschreibung einer Benutzer­ anwendung zu entwerfen ist es erforderlich, die Funktionen in einem Flußdiagramm entsprechend Zellen aus einer Zellenbibliothek zuzuordnen. Diese Abbildung erfordert den Einsatz von Techniken für künstliche Intelligenz, da der Vorgang der Zellenauswahl kompliziert ist und auf der Grundlage einer Anzahl von Entwurfsparametern und Entwurfsbedingungen durchgeführt wird. Das für die Zellenauswahl eingesetzte Konzept ist analog dem Konzept, wie es beim Kompilieren von Software verwendet wird. Beim Kompilieren von Software wird eine Anzahl von Unterfunktionen aus Bibliotheken zusammengefügt (gelinkt). Beim Entwurf von VLSI-Systemen kann ein funktionales Macro auf eine Bibliothekszelle abgebildet werden.
Fig. 4 erläutert das Konzept der hierarchischen Zellenauswahl. Der Zellenauswahlvorgang wird in zwei Stufen durchgeführt.
  • (1) Auswahl funktionaler Macros,
  • (2) Auswahl geometrischer Zellen.
Ein Satz von Basismacros ist in Tabelle 1 dargestellt. Ein Macro entspricht einer Tätigkeit in dem Flußdiagramm. Als Beispiel kann der Vorgang der Addition von A und B und die Speicherung des Ergebnisses in C betrachtet werden. Diese Funktion wird auf das Additionsmacro ADD (X, Y, Z) abgebildet. Der Flußdiagramm-Editor und der Flußdiagramm-Simulator werden zum Zeichnen der Rechtecke, Diamanten und Linien des Flußdiagramms verwendet, um ein aus der Macrobibliothek 23 ausgewähltes Macro jeder in dem Flußdiagramm dargestellten Tätigkeit zuzuordnen, und um die Funktionen in Flußdiagrammen zu überprüfen. Das Flußdiagramm wird in eine Zwischenform (Zustandsliste) umgewandelt und dem Zellenauswähler als Eingangsgröße eingegeben.
Der Zellenauswähler verwendet ein auf Regeln basierendes Expertensystem zur Auswahl der geeigneten Zelle oder Zellen zur Durchführung jeder Tätigkeit. Wenn die Zellenbibliothek eine Anzahl von Zellen mit unterschiedlichen Geometrien zur Durchführung der durch das Macro spezifizierten Operation aufweist, dann kann eine geeignete Zelle auf der Grundlage von Faktoren wie beispielsweise Zellenfunktion, verwendete Herstellungstechnologie, Zeitverzögerung, Stromverbrauch, und so weiter ausgewählt werden.
Die Wissensbasis des Zellenauswählers 32 enthält Information (Regeln) in bezug auf:
  • (1) Auswahl von Macros
  • (2) Mischung zweier Macros
  • (3) Abbildung von Macros auf Zellen
  • (4) Mischung zweier Zellen
  • (5) Fehlerdiagnose.
Die voranstehende Information ist in der Wissensbasis 35 als Regeln ge­ speichert.
Zellenlistenerzeugung
Fig. 9 zeigt die Erzeugungsschritte für die Zellenliste. Der erste Schritt der Zellenlistenerzeugung ist die Transformation der Flußdiagramm- Beschreibung in eine Struktur, die durch den Zellenauswähler verwendet werden kann. Diese Struktur wird als Zustandsliste bezeichnet. Die Blockliste wird aus der Zustandsliste durch den Schlußfolgerungs­ mechanismus erzeugt. Die Blockliste enthält eine Liste der funktionalen Blöcke, die in der integrierten Schaltung verwendet werden sollen. Während dieser Stufe werden Regeln der folgenden Art angewendet.
  • - Bilde Argumente auf Datenpfade ab
  • - Bilde Tätigkeiten auf Macros ab
  • - Verbinde diese Blöcke.
Weiterhin sind auf diesem Niveau Regeln zum Optimieren und für die Fehler­ diagnose vorgesehen.
Der Zellenauswähler bildet die Blöcke auf Zellen ab, die aus der Zellen­ bibliothek 34 ausgewählt werden. Er wählt eine optimale Zelle für einen Block aus. Dies betrifft die Formulierung von Regeln zur Auswahl geeigneter Zellen aus der Zellenbibliothek. Vier Arten von Information werden für jede Zelle gespeichert. Diese sind:
  • (1) Information auf funktionalem Niveau: Beschreibung der Zelle auf dem Registerübertragungsniveau;
  • (2) Information auf dem Logikniveau: Beschreibung durch Flipflops und Tore (Gates);
  • (3) Information auf dem Schaltungsniveau: Beschreibung auf dem Transis­ torniveau;
  • (4) Information auf dem Layoutniveau: Festlegung auf dem Niveau der geometrischen Maske.
Die Attribute einer Zelle sind: Zellennamen, Beschreibung, Funktion, Breite, Höhe, Status, Technologie, minimale Verzögerung, typische Ver­ zögerung, maximale Verzögerung, Leistung, Datei, Entwerfer, Datum, Kommentar, und Inspektor.
Beim Zellenauswahlvorgang kann die voranstehende Information verwendet werden. Einige Parameter, die zur Abbildung vom Macros auf Zellen verwendet werden können, sind:
  • (1) Name des Macros
  • (2) Auszuführende Funktion,
  • (3) Komplexizität des Chips,
  • (4) Fabrikationstechnologie,
  • (5) zugelassene Verzögerungszeit,
  • (6) Leistungsverbrauch, und
  • (7) Bitgröße der Macro-Datenpfade.
Netzlistenerzeugung
Die Netzliste wird erzeugt, nachdem die Zellen durch PSCS ausgewählt wurden. PSCS verwendet ebenfalls die Macro-Definitionen zu Verbindung der Zellenanschlüsse mit anderen Zellen. PSCS verwendet die Zustands­ Übergangsinformation aus einer Zwischenform-Darstellung eines Flußdiagramms (also der Zustandsliste) zur Erzeugung einer Netzliste. PSCS enthält das folgende Wissen für die Netzlistenerzeugung:
  • 1) Datenpfadsynthese,
  • 2) Datenpfadoptimierung,
  • 3) Macro-Definitionen,
  • 4) Zellenbibliothek, und
  • 5) Fehlernachweis und Fehlerkorrektur.
Die voranstehende Information wird in der Wissensbasis als Regeln gespeichert. Wissensingenieure helfen bei der Formulierung dieser Regeln durch ASIC-Entwurfsexperten. Die Macrobibliothek 23 und die Zellenbibliothek 34 sind in einer Datenbank (Datenbasis) von KBSC gespeichert. Von PSCS wird eine Anzahl von Operationen durchgeführt. Nachstehend erfolgt eine Beschreibung des oberen Niveaus der PSCS-Operationen:
  • (1) Lies die Zwischendatei des Flußdiagramms und Erzeuge eine Zustands­ liste.
  • (2) Momentaner Zusammenhang = Start
  • (3) Starte den Schlußfolgerungsmechanismus und lade die Regeln für den momentanen Zusammenhang.
  • (4) Führe abhängig vom momentanen Zusammenhang eine der folgenden Operationen durch:
    • (a) Modifiziere die Zustandsliste für eine korrekte Implementierung.
    • (b) Erzeuge Blockliste, Macroliste und Datenpfade.
    • (c) Optimiere die Blockliste und die Datenpfadliste und führe Fehlerüberprüfungen durch.
    • (d) Wandle Blöcke in Zellen um.
    • (e) Optimiere die Zellenliste und führe Fehlerüberprüfungen durch.
    • (f) Erzeuge die Netzliste.
    • (g) Optimiere die Netzliste, führe Fehlerüberprüfungen durch, und gehe nach Beendigung zum Schritt 7.
  • (5) Wenn sich der momentane Zusammenhang geändert hat, lade neue Zusammen­ hangsregeln.
  • (6) Gehe nach 4.
  • (7) Gib Netzlistendatei und stf-Dateien aus und Stopp.
In den nachstehenden Abschnitten werden Operationen beschrieben, die im Schritt 4 angegeben sind. Die Regelsprache und die PSCS-Darstellung werden ebenfalls beschrieben.
Regelsprache
Die Regelsprache von PSCS ist so ausgewählt, daß sie deklarativ ist und das Regeleditieren erleichtert. Damit der Experte die Struktur der Wissensbasis versteht, stellt die Regelsprache Mittel zur Darstellung des Wissens zur Verfügung. Dies ermöglicht es, das Format der Datenstrukturen in der Regelbasis zu formulieren, und dies ermöglicht es dem Experten, hierauf Bezug zu nehmen und die verschiedenen von dem System verwendeten Strukturen zu verstehen. Beispielsweise kann der Experte den Aufbau der Verdrahtung analysieren und ihre Komponenten bestimmen. Der Experte kann dann diese Komponenten mit Regeln verbinden. Wenn ein neues Objekt definiert werden muß, kann dann der Experte eine neue Struktur deklarieren und eine existierende Struktur modifizieren, um diese mit der neuen Struktur zu verbinden. Auf diese Weise kann das Wachstum der Datenstrukturen besser durch den Experten visuell angezeigt werden. Dies wiederum hilft dem Entwerfer, Regeln zu aktualisieren und zu ergänzen.
Die folgenden Merkmale sind in der Regelsprache enthalten:
  • i) Wissensrepräsentation in Form einer Datensatzstruktur.
  • ii) Bedingte Ausdrücke in einem Vorgänger einer Regel.
  • iii) Die Möglichkeit zur Erzeugung und Zerstörung von Struktur bei Regeltätigkeiten.
  • iv) Das Zuordnungsstatement in der Tätigkeit einer Regel.
  • v) Die Möglichkeit zur Eingabe und Ausgabe bei Regeltätigkeiten.
  • vi) Die Bereitstellung der Möglichkeit zum Aufrufen von C-Funktionen von Regeltätigkeiten aus.
Das zu verwendende Regelformat ist wie nachstehend angegeben:
Schlußfolgerungsstrategie
Die Schlußfolgerungsstrategie basiert auf einem schnellen Musteranpassungs­ algorithmus. Die Regeln sind in einem Netzwerk gespeichert, und es ist vermieden, daß schrittweise durch die Regeln durchgegangen werden muß. Diese beschleunigt die Ausführung. Die Konfliktlösungsstrategie, die verwendet wird, basiert auf folgendem:
  • (1) Es wird die Regel ausgewählt, welche die jüngsten Daten enthält.
  • (2) Es wird die Regel ausgewählt, welche die komplexeste Bedingung auf­ weist.
  • (3) Es wird die zuerst deklarierte Regel ausgewählt.
Regel-Editor
PSCS stellt einen interaktiven Regel-Editor zur Verfügung, welcher es dem Experten ermöglicht, den Regelsatz zu aktualisieren. Die Regeln sind in einer Datenbasis gespeichert, so daß die Editierfähigkeiten des Datenbasispaketes zum Regel-Editieren verwendet werden können. Um diesen Vorgang durchzuführen, mit der Experte mit den verschiedenen Wissens­ strukturen und dem Schlußfolgerungsprozeß vertraut sein. Wenn dies nicht möglich ist, ist die Hilfe eines Wissensingenieurs erforderlich.
PSCS stellt ein Menue zur Verfügung, von welchem verschiedene Optionen gesetzt werden können. Es sind Einrichtungen zum Setzen verschiedener Fehlersuchmarken und von Anzeigeoptionen sowie für die Gesamtsteuerung von PSCS vorgesehen.
Es wird die Möglichkeit bereitgestellt, die von dem Benutzer erzeugte Blockliste zu retten und anzuzeigen. Die Blocklistenkonfiguration, die von dem Benutzer erzeugt wurde, kann in einer Datei gesichert und später mit einem Plotter gedruckt werden. Weiterhin kann die PSCS-Anzeige zurückgesetzt werden, um den Anzeigevorgang neu zu starten.
Beispielregeln für PSCS
Regel 1:
WENN kein Block existiert
DANN @ erzeuge eine Systemsteuerung
Regel 2: @ WENN ein Zustand existiert, der ein Macro aufweist UND dieses Macro noch nicht auf einen Block abgebildet ist
DANN @ finde ein korrespondierendes Macro in der Bibliothek und erzeuge einen Block für dieses Macro
Regel 3: @ WENN ein Übergang zwischen zwei Zuständen existiert UND Macros in diesen Zuständen sind, die dasselbe Argument verwenden
DANN @ stelle eine Verbindung von einem dem ersten Macro entsprechenden Register zu einem dem zweiten Macro entsprechenden Register her
Regel 4: @ WENN ein Register nur eine einzige Verbindung von einem anderen Register hat
DANN @ kombiniere diese Register zu einem einzigen Register
Regel 5: @ WENN zwei Komparatoren vorgesehen sind UND Eingangsdatenbreiten dieselbe Größe aufweisen UND ein Eingang hiervon derselbe ist UND die Ausgänge der Komparatoren verwendet werden, um dieselbe Operation durchzuführen
DANN @ verbinde diese Komparatoren zu einem einzigen Komparator
Regel 6: @ WENN Daten ohne ein Register vorliegen
DANN @ ordne ein Register für diese Daten zu
Regel 7: @ WENN alle Blöcke miteinander verbunden wurden UND ein Block einige nichtverbundene Anschlüsse aufweist
DANN @ entferne den Block und seine Anschlüsse, oder gib eine Fehlermeldung aus
Regel 8: @ WENN Speicher verwendet werden soll, aber hierfür kein Block erzeugt wurde
DANN @ erzeuge einen Speicherblock mit Daten, Adresse, Lese- und Schreibdaten und Steueranschlüssen
Regel 9: @ WENN ein Register eine einzige Verbindung zu einem Zähler aufweist
DANN @ kombiniere das Register und den Zähler; entferne das Register und seine Anschlüsse
Regel 10: @ WENN Verbindungen zu einem Anschluß eines Blocks von zahlreichen unterschiedlichen Blöcken existieren
DANN @ füge einen Multiplexer ein; entferne die Verbindungen zu den Anschlüssen und verbinde sie mit dem Eingang des Multiplexers; verbinde den Ausgang des Multiplexers mit dem Eingang des Blocks.
Zusätzliche Regeln befassen sich mit den folgenden Punkten:
  • - Entferne eine Zelle oder Zellen, die ersetzt werden kann bzw. können, durch Verwendung des Ausgangs einer anderen Zelle oder anderer Zellen
  • - verringere Multiplexer-Bäume
  • - verwende Fan-out von den Zellen, usw.
Entwurfsbeispiel für die Steuerung einer Verkaufsmaschine für Erfrischungsgetränke
Das folgende Beispiel erläutert, wie die voranstehend beschriebenen Merkmale der vorliegenden Erfindung bei dem Entwurf eines anwendungsspezifischen integrierten Schaltkreises (ASIC) verwendet werden. Bei diesem erläuternden Beispiel ist der ASIC zur Verwendung als eine Verkaufs­ maschinensteuerung ausgelegt. Die Verkaufsmaschinensteuerung empfängt jedes Mal ein Signal, wenn eine Münze in einer Münzenaufnahme abgelagert wurde. Der Münzenwert wird aufgezeichnet, und wenn Münzen empfangen wurden, die zusammen den richtigen Betrag ergeben, erzeugt die Steuerung ein Signal zur Abgabe eines Erfrischungsgetränks. Wenn Münzen empfangen werden, die zusammen mehr als die Kosten für das Erfrischungsgetränk ausmachen, gibt die Steuerung Wechselgeld in der richtigen Menge ab.
Das Muster für dieses Beispiel einer Verkaufsmaschinensteuerung ist ein Lehrbuchbeispiel zum Lehren des Entwurfs digitaler Systemsteuerungen. Vergleiche Fletcher, William I., An Engineering Approach to Digital Design, Prentice-Hall, Inc., S. 491-505. In diesem Lehrbuchbeispiel kann weitere Information bezüglich einer vollständigeren Erläuterung der Erfordernisse für diese Verkaufsmachinensteuerung erhalten werden, und zum Verständnis und zur Würdigung der komplexen Entwurfsvorgänge - vor der vorliegenden Erfindung - für den Entwurf der Hardware-Komponenten für eine Steuereinrichtung.
Fig. 10 erläutert ein Flußdiagramm für das Verkaufsmaschinensteuersystem. dieses Flußdiagramm würde in das KBSC-System von dem Benutzer durch den Flußdiagramm-Editor eingegeben werden. Zur kurzen Beschreibung des Flußdiagramms wird erläutert, daß die Steuerung ein das Vorliegen einer Münze anzeigendes Signal empfängt, wenn eine Münze in der Münzen­ aufnahme empfangen wird. State0 und Cond0 definieren einen Wartezustand, in welchem die Ablage einer Münze erwartet wird. Das Symbol CP (coin present) bezeichnet das Vorliegen einer Münze, und das Symbol !CP (coin not present) bezeichnet das Fehlen einer Münze. State1 und Cond1 bestimmen, wenn die Münze die Münzenaufnahme verlasen hat. Bei State20, nach Empfang einer Münze, veranlaßt der Macrobefehl ADD3.1 (lc, cv, sum) das System, lc (letzte Münze) von cv (coin value: Münzenwert) zu addieren, und das Ergebnis als Summe (sum) zu speichern. Der State21 zugeordnete Macrobefehl bewegt den Wert in dem Register sum auf cv. Das Macro CMP.1 bei State22 vergleicht den Wert von cv mit PR (Price: Preis des Erfrischungs­ getränks) und gibt Signale EQ, GT und LT zurück. Die Bedingung Cond2 überprüft das Ergebnis der Vergleichsoperation CMP.1. Wenn das Ergebnis "nicht größer als" (!GT.CMP.1) ist, dann überprüft die Bedingung Cond3, ob das Ergebnis "gleich" (EQ.CMP.1) ist. Ist das Ergebnis "ungleich" (!EQ.CMP.1), dann wird die Steuerung zum State0 zurückgeführt, wo die Ablage einer weiteren Münze erwartet wird. Ist Cond3 EQ, dann erzeugt State4 ein Steuersignal, um ein Erfrischungsgetränk abzugeben (droppop), und der Macrobefehl CLR.1(cv) setzt cv auf Null zurück, und erwartet einen weiteren Kunden.
Wenn die Gesamtmenge der angegebenen Münzen den Preis überschreitet, dann erzeugt State30 die Tätigkeit "Münzrückgabe" ("returncoin"). Zusätzlich verringert das Macro DECR.1 (cv) den Wert von cv um die Menge der zurück­ gegebenen Münze. Bei State31 werden cv und PR wiederum verglichen. Falls cv immer noch größer als PR ist, dann geht die Steuerung über zu State30 zur Rückgabe einer weiteren Münze. Die Bedingung Cod5 überprüft, ob das Ergebnis von CMP.2 gleich EQ ist, und führt entweder dazu, daß die Abgabe eines Getränks (droppop) "wahr" ist, oder daß zu State0 verzweigt wird, wo auf die Ablage einer weiteren Münze gewartet wird. Die den Zuständen (states) in Fig. 10 zugeordneten Macros entsprechen den voranstehend in Tabelle 1 definierten Macros und definieren die bestimmten Tätigkeiten, die in den jeweiligen Zuständen durchgeführt werden sollen.
Anhand A zeigt die Zwischendatei oder "Zustandsliste", die aus dem Flußdiagramm von Fig. 10 erzeugt wird. Diese Zustandsliste wird als Ausgangsgröße des EDSIM-Programms 20 erzeugt und als Eingangsgröße für das PSCS-Programm 30 (Fig. 3) verwendet.
Fig. 11 erläutert für jedes der in dem Flußdiagramm von Fig. 10 ver­ wendeten Macros die zugehörigen Hardware-Blöcke. Es wird deutlich, daß das Vergleichsmacro CMP (A, B) zur Erzeugung eines Registers zum Speichern des Wertes A führt, eines Registers zum Speichern des Wertes B, und eines Komparatorblocks, und weiterhin Steuerpfade zur Systemsteuerung erzeugt für die EQ-, LT- und GT-Signale, die als Ergebnis der Vergleichsoperation erzeugt wurden. Das Additionsmacro ADD (A, B, C) führt zur Erzeugung eines Registers für jeden der Eingangswerte A und B, eines Registers für den Ausgangswert C, und zur Erzeugung eines Addiererblocks. Das Macro DECR (A) führt zur Erzeugung eines Zählerblocks. Das PSCS-Programm 30 bildet jedes der im Flußdiagramm von Fig. 10 verwendete Macros auf die zugehörigen Hardware-Komponenten ab, und dies führt zur Erzeugung der in Fig. 12 dargestellten Hardware-Blöcke. Zur Erzeugung der dargestellten Blöcke hat sich das PSCS-Programm 30 auf die Regeln 1 und 2 der voranstehend angegebenen Beispielregeln verlassen.
Fig. 13 erläutert die Verbindung der Blöcke von Fig. 12 untereinander mit Datenpfaden und Steuerpfaden. Zur Abbildung der Daten- und Steuerpfade wurde die Regel 3 durch das Daten/Steuerpfad-Syntheseprogramm 31 verwendet.
Fig. 14 zeigt das Ergebnis der Optimierung des Schaltkreises durch Anwendung von Regel 4 zur Eliminierung redundanter Register. Als Ergebnis der Anwendung dieser Regel wurden die Register R2, R3, R7, R8, und R9 in Fig. 13 entfernt. Fig. 15 zeigt das Blockschaltbild nach weiterer Optimierung, bei welcher redundante Komparatoren vereinigt werden. Diese Optimierung wird in dem PSCS-Programm 30 durch Anwendung der Regel 5 er­ reicht.
Nachdem nun der Systemsteuerblock, die anderen erforderlichen Hardware- Blöcke und die Daten- und Steuerpfade für die integrierte Schaltung festgelegt wurden, erzeugt nunmehr das PSCS-Programm 30 eine Netzliste 15, welche diese Hardware-Komponenten und deren erforderliche Verbindungen untereinander definiert. Aus dieser Netzliste können die Maskendaten zur Erzeugung der integrierten Schaltung direkt unter Verwendung erhältlicher VLSI-CAD-Werkzeuge hergestellt werden.
Anhang A
name rpop;
data path @ic<0 : 5<, cv<0 : 5<, sum<0 : 5<, @pr<0 : 5<;
{
state4 : state0;
state30 : state21;
state21 : state22;
state20 : state21;
state0 :. lcp state0;
state0 :. cp state1;
state1 :. cp state1;
state1 :. lcp state20;
state22 :. GT.CMP.1 state30;
state22 :. IGT.CMP.1*EQ.CMP.1 state4;
state22 :. IGT.CMP.1*IEQ.CMP.1 state0;
state31 :. GT.CMP.2 state30;
state31 :. IGT.CMP.2*EQ.CMP.2 state4;
state31 :. IGT.CMP.2*IEQ.CMP. state0;
state30 :: returncoin;
state30 :: DECR.1(cv);
state4 :: droppop;
state4 :: CLR.1(cv);
state31 :: CMP.2(cv, pr);
state22 :: CMP.1(cv, pr);
state21 :: MOVE.1(sum, cv);
state20 :: ADD3.1(ic, cv, sum);
}

Claims (30)

1. Rechnergestütztes (CAD) Entwurfssystem zum Entwerfen einer anwendungs­ spezifischen integrierten Schaltung (ASIC), dadurch gekennzeichnet, daß die anwendungsspezifische integrierte Schaltung direkt aus funktionalen Spezifikationen für die integrierte Schaltung entworfen wird mittels einer Eingangseinrichtung, die durch einen Benutzer betätigbar ist, um funktionale Spezifikationen für die integrierte Schaltung zu definieren, sowie einer rechnerbetätigten Einrichtung zur Übersetzung der funktionalen Spezifikationen in eine Definition auf strukturellem Niveau der integrierten Schaltung.
2. System nach Anspruch 1, dadurch gekennzeichnet, daß die funktionalen Spezifikationen aus einer Reihe von Tätigkeiten und Bedingungen bestehen, und daß die Definitionen auf dem strukturellen Niveau aus Blöcken und Verbindungen der Blöcke untereinander bestehen.
3. System nach Anspruch 1, dadurch gekennzeichnet, daß die Eingabeeinrichtung eine Flußdiagramm-Editoreinrichtung zur Erzeugung eines Flußdiagramms umfaßt, welches Elemente aufweist, die eine Reihe von Tätigkeiten und Bedingungen repräsentieren, welche die funktionalen Spezifikationen für die integrierte Schaltung beschreiben.
4. System nach Anspruch 1, dadurch gekennzeichnet, daß die rechnerbetätigte Einrichtung eine Zellenbibliothek aufweist, die einen Satz erhältlicher Ic-Hardware-Zellen zur Durchführung von Tätigkeiten und Bedingungen definiert, sowie eine Zellenauswahleinrichtung zur Auswahl geeigneter Hardware-Zellen entsprechend den Blöcken der strukturellen Definition aus der Zellenbibliothek.
5. Rechnergestütztes Entwurfssystem zum Entwerfen einer applikations­ spezifischen integrierten Schaltung, dadurch gekennzeichnet, daß zum direkten Entwerfen aus funktionalen Spezifikationen eine Macrobibliothek vorgesehen ist, welche einen Satz möglicher Tätigkeiten und Bedingungen festlegt, sowie eine Eingabevorrichtung, die von einem Benutzer betätigbar ist, um funktionale Spezifikationen für die integrierte Schaltung festzulegen, wobei die funktionalen Spezifikationen aus einer Reihe von Tätigkeiten und Bedingungen bestehen und die Eingabeeinrichtung eine Einrichtung aufweist, die es dem Benutzer gestattet, für jede Tätigkeit und Bedingung in der definierten Reihe von Tätigkeiten und Bedingungen ein Macro festzulegen, welches aus der Macrobibliothek ausgewählt ist, und daß eine Zellenbibliothek vorgesehen ist, die einen Satz erhältlicher IC-Hardware-Zellen zur Durchführung von Tätigkeiten und Bedingungen definiert, sowie eine Zellenauswahleinrichtung zur Auswahl geeigneter Hardware-Zellen zur Durchführung der Tätigkeit oder Bedingung, die durch das bestimmte Macro definiert ist, aus der Zellenbibliothek für jedes durch die Spezifikations­ einrichtung festgelegte Macro.
6. System nach Anspruch 5, dadurch gekennzeichnet, daß die Zellenauswahl­ einrichtung eine Wissensbasis umfaßt, welche Regeln zur Auswahl von Hardware-Zellen aus der Zellenbibliothek enthält, sowie eine Schluß­ folgerungsmechanismus-Einrichtung zur Auswahl geeigneter Hardware-Zellen aus der Zellenbibliothek in Übereinstimmung mit den Regeln der Wissensbasis.
7. System nach Anspruch 5, dadurch gekennzeichnet, daß die Eingabeeinrichtung eine Flußdiagramm-Editoreinrichtung zur Erzeugung eines Flußdiagramms aufweist, welches die Reihe von Aktionen und Bedingungen repräsentierende Elemente aufweist.
8. System nach Anspruch 7, dadurch gekennzeichnet, daß zusätzlich eine Flußdiagramm-Simulatoreinrichtung zum Simulieren der in dem Flußdiagramm definierten Funktionen vorgesehen ist, um so dem Benutzer zu ermöglichen, den Betriebsablauf der integrierten Schaltung zu überprüfen.
9. System nach Anspruch 5, dadurch gekennzeichnet, daß die Eingabeeinrichtung eine Einrichtung zum Empfang einer Benutzereingabe einer Liste aufweist, welche die Reihe von Tätigkeiten und Bedingungen definiert.
10. System nach Anspruch 5, dadurch gekennzeichnet, daß weiterhin eine Datenpfad-Erzeugereinrichtung vorgesehen ist, welche mit der Zellenauswahl­ einrichtung zur Erzeugung von Datenpfaden für die Hardware-Zellen zusammenarbeitet, welche durch die Zellenauswahleinrichtung ausgewählt wurden.
11. System nach Anspruch 10, dadurch gekennzeichnet, daß die Datenpfad- Erzeugereinrichtung eine Wissensbasis umfaßt, welche Regeln zur Auswahl von Datenpfaden zwischen Hardware-Zellen enthält, und eine Schlußfolgerungsmechanismus-Einrichtung zur Auswahl von Datenpfaden zwischen den durch die Zellenauswahleinrichtung ausgewählten Hardware- Zellen aufweist in Übereinstimmung mit den Regeln der Wissensbasis und den Argumenten der angegebenen Macros.
12. System nach Anspruch 10, dadurch gekennzeichnet, daß weiterhin eine Steuergeneratoreinrichtung zur Erzeugung einer Steuerung und von Steuerpfaden für die von der Zellenauswahleinrichtung ausgewählten Hardwarezellen vorgesehen ist.
13. System nach Anspruch 5, dadurch gekennzeichnet, daß eine Netzlisten­ generatoreinrichtung vorgesehen ist, welche mit der Zellenauswahleinrichtung zusammenwirkt, um als Ausgangsgröße des Systems eine Netzliste zu erzeugen, welche die Hardwarezellen definiert, die erforderlich sind, um die funktionalen Erfordernisse der integrierten Schaltung und die Verbindungen in dieser bereit zu stellen.
14. System nach Anspruch 13, dadurch gekennzeichnet, daß weiterhin eine Maskendatengeneratoreinrichtung zur Erzeugung der Maskendaten, die zur Herstellung einer integrierten Schaltung mit den spezifizierten funktionalen Erfordernissen erforderlich sind, von der Netzliste vorgesehen ist.
15. Rechnergestütztes Entwurfssystem zum Entwerfen einer applikationsspezifischen integrierten Schaltung, dadurch gekennzeichnet, daß zum direkten Entwerfen der Schaltung von einem Flußdiagramm, welches die funktionalen Erfordernisse der integrierten Schaltung festlegt, eine Macrobibliothek vorgesehen ist, welche einen Satz möglicher Tätigkeiten und Bedingungen definiert, eine Flußdiagramm-Editiereinrichtung, welche von einem Benutzer betätigbar ist, um ein Flußdiagramm zu erzeugen, welches Tätigkeiten und Bedingungen repräsentierende Elemente aufweist, wobei die Flußdiagramm-Editiereinrichtung eine Macro-Spezi­ fizierungseinrichtung aufweist, um dem Benutzer zu gestatten, für jede in dem Flußdiagramm repräsentierte Tätigkeit oder Bedingung ein Macro zu spezifizieren, welches aus der Macrobibliothek ausgewählt ist, eine Zellenbibliothek, welche einen Satz erhältlicher IC-Hardwarezellen zur Durchführung von Tätigkeiten und Bedingungen definiert, eine Zellenauswahleinrichtung zur Auswahl, aus der Zellenbibliothek für jedes spezifizierte Macro, geeigneter Hardwarezellen zur Durchführung der Tätigkeit oder Bedingung, welche durch das spezifizierte Macro definiert ist, und eine Datenpfadgeneratoreinrichtung, welche mit der Zellenauswahleinrichtung zusammenwirkt, um Datenpfade für die durch die Zellenauswahleinrichtung ausgewählten Hardwarezellen zu erzeugen.
16. System nach Anspruch 15, dadurch gekennzeichnet, daß die Zellenaus­ wahleinrichtung eine Wissensbasis aufweist, welche Regeln zur Auswahl von Hardwarezellen aus der Zellenbibliothek enthält, und eine Schlußfolgerungsmechanismuseinrichtung, um geeignete Hardwarezellen aus der Zellenbibliothek in Übereinstimmung mit den Regeln der Wissensbasis auszuwählen, und daß die Datenpfadgeneratoreinrichtung eine Wissensbasis umfaßt, welche Regeln zur Auswahl von Datenpfaden zwischen Hardwarezellen enthält, sowie eine Schlußfolgerungsmechanismus­ einrichtung zur Auswahl von Datenpfaden zwischen Hardwarezellen, die durch die Zellenauswahleinrichtung ausgewählt wurden, in Übereinstimmung mit den Regeln der Wissensbasis und den Argumenten der spezifizierten Macros.
17. System nach Anspruch 15, dadurch gekennzeichnet, daß weiterhin eine Steuergeneratoreinrichtung zur Erzeugung einer Steuerung und von Steuerpfaden für die von der Zellenauswahleinrichtung ausgewählten Hardwarezellen vorgesehen ist.
18. Rechnergestütztes Entwurfsystem für den Entwurf einer applikations­ spezifischen integrierten Schaltung, dadurch gekennzeichnet, daß zum direkten Entwurf der Schaltung aus einem Flußdiagramm, welches die funktionalen Erfordernisse der integrierten Schaltung festlegt, eine Flußdiagramm-Editiereinrichtung vorgesehen ist, welche durch einen Benutzer betätigbar ist, um ein Flußdiagramm zu erzeugen, welches Tätigkeiten repräsentierende Kästen aufweist, Bedingungen repräsentierende Diamanten, und Übergänge zwischen Tätigkeiten und Bedingungen repräsentierende Linien mit Pfeilen, und eine Einrichtung umfaßt, um für jeden Kasten oder Diamanten eine bestimmte Tätigkeit oder Bedingung, welche durchgeführt werden soll, zu spezifizieren, weiterhin eine Zellenbibliothek vorgesehen ist, welche einen Satz erhältlicher IC-Hardwarezellen zur Durchführung von Tätigkeiten und Bedingungen definiert, eine Wissensbasis, welche Regeln zur Auswahl von Hardwarezellen aus der Zellenbibliothek und zur Erzeugung von Daten- und Steuerpfaden für Hardwarezellen enthält, und eine Experten­ systemeinrichtung, welche mit der Wissensbasis betreibbar ist, um das durch die Flußdiagramm-Editiereinrichtung definierte Flußdiagramm in einer Netzliste zu übersetzen, welche die erforderlichen Hardwarezellen und die Daten- und Steuerpfade definiert, die in einer integrierten Schaltung erforderlich sind, welche die spezifizierten funktionalen Anforderungen erfüllt.
19. System nach Anspruch 18, dadurch gekennzeichnet, daß eine Maskendaten­ generatoreinrichtung zur Erzeugung der Maskendaten, die zur Herstellung einer integrierten Schaltung mit den spezifizierten funktionalen Anforderungen erforderlich sind, von der Netzliste vorgesehen ist.
20. Rechnergestütztes Entwurfsverfahren zum Entfernen einer applikations­ spezifischen integrierten Schaltung, welche eine gewünschte Funktion durchführt, gekennzeichnet durch folgende Schritte:
Speichern eines Satzes von Definitionen möglicher Tätigkeiten und Be­ dingungen;
Speichern von Daten, welche einen Satz verfügbarer IC-Hardwarezellen zur Durchführung der Tätigkeiten und Bedingungen, die in dem gespeicherten Satz definiert sind, beschreiben;
Beschreiben einer Reihe von Tätigkeiten und Bedingungen für eine vorgeschlagene applikationsspezifische integrierte Schaltung;
Angabe einer der gespeicherten Definitionen, welche der gewünschten durchzuführenden Tätigkeit oder Bedingung entspricht, für jede beschriebene Tätigkeit und Bedingung der Reihe; und
Auswahl einer korrespondierenden IC-Hardwarezelle zur Durchführung der gewünschten Funktion der applikationsspezifischen integrierten Schaltung aus den gespeicherten Daten für jede der spezifizierten Definitionen.
21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß der Schritt der Auswahl einer Hardwarezelle den Schritt der Anwendung eines Satzes von in einer Wissensbasis gespeicherten Zellenauswahlregeln auf die spezifizierte Definition der durchzuführenden Tätigkeit oder Bedingung umfaßt.
22. Verfahren nach Anspruch 21, dadurch gekennzeichnet, daß der weitere Schritt der Erzeugung von Datenpfaden für die ausgewählten IC-Hard­ warezellen vorgesehen ist.
23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß der Schritt der Erzeugung von Datenpfaden die Anwendung eines Satzes von Datenpfadregeln, die in einer Wissensbasis gespeichert sind, auf die ausgewählten Zellen umfaßt sowie hieraus die Erzeugung von Daten­ pfaden.
24. Verfahren nach Anspruch 23, dadurch gekennzeichnet, daß der weitere Schritt der Erzeugung von Steuerpfaden für die ausgewählten IC- Hardwarezellen vorgesehen ist.
25. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß der weitere Schritt der Erzeugung einer Netzliste vorgesehen ist, welche die Hardwarezellen definiert, die erforderlich sind, um die gewünschte Funktion der integrierten Schaltung durchzuführen, und die hierfür erforderlichen Zwischenverbindungen definiert, für die ausgewählten IC-Hardwarezellen.
26. Verfahren nach Anspruch 25, dadurch gekennzeichnet, daß von der Netz­ liste die Maskendaten erzeugt werden, welche erforderlich sind, um eine integrierte Schaltung mit der gewünschten Funktion herzustellen.
27. Ein auf Wissen basierendes Entwurfsverfahren zum Entfernen einer app­ likationsspezifischen integrierten Schaltung, die eine gewünschte Funktion durchführt, mit folgenden Schritten:
Speichern eines Satzes von Macros, welche mögliche Tätigkeiten und Bedingungen definieren, in einer Macrobibliothek;
Speichern eines Satzes erhältlicher IC-Hardwarezellen zur Durchführung der Tätigkeiten und Bedingungen in einer Zellenbibliothek;
Speichern eines Satzes von Regeln zur Auswahl von Hardwarezellen aus der Zellenbibliothek zur Durchführung der Tätigkeiten und Bedingungen, welche durch die gespeicherten Macros definiert sind, in einer Wissens­ basis;
Beschreibung einer Reihe von Tätigkeiten und Bedingungen, welche die von der integrierten Schaltung auszuführende Funktion tragen, für eine vorgeschlagene applikationsspezifische integrierte Schaltung;
Spezifizierung eines Macros, welches aus der Macrobibliothek ausgewählt ist, das der Tätigkeit oder Bedingung entspricht, für jede beschreibende Tätigkeit oder Bedingung der Reihe; und
Anwendung von Regeln der Wissensbasis auf die spezifizierten Macros, um aus der Zellenbibliothek die Hardwarezellen auszuwählen, welche zur Durchführung der gewünschten Funktion der applikationsspezifischen integrierten Schaltung erforderlich sind.
28. Verfahren nach Anspruch 27, dadurch gekennzeichnet, daß der Schritt der Beschreibung einer Reihe von Tätigkeiten und Bedingungen die Erzeugung eines Flußdiagramms umfaßt, welches Elemente aufweist, die Tätigkeiten und Bedingungen darstellen.
29. Verfahren nach Anspruch 27, dadurch gekennzeichnet, daß weiterhin folgende Schritte vorgesehen sind:
Speichern eines Satzes von Regeln zur Erzeugung von Datenpfaden zwischen Hardwarezellen in einer Wissensbasis und
Anwendung von Regeln der Wissensbasis auf die spezifizierte Einrichtung, um Datenpfade für die ausgewählten Hardwarezellen zu schaffen.
30. Verfahren nach Anspruch 29, dadurch gekennzeichnet, daß weiterhin die Schritte der Erzeugung einer Steuerung und der Erzeugung von Steuerpfaden für die ausgewählten Hardwarezellen vorgesehen sind.
DE3900750A 1988-01-13 1989-01-12 Wissensbasis - verfahren - vorrichtung zum entwerfen integrierter schaltungen mittels funktionaler spezifikationen Ceased DE3900750A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/143,821 US4922432A (en) 1988-01-13 1988-01-13 Knowledge based method and apparatus for designing integrated circuits using functional specifications

Publications (1)

Publication Number Publication Date
DE3900750A1 true DE3900750A1 (de) 1989-07-27

Family

ID=22505806

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3900750A Ceased DE3900750A1 (de) 1988-01-13 1989-01-12 Wissensbasis - verfahren - vorrichtung zum entwerfen integrierter schaltungen mittels funktionaler spezifikationen

Country Status (5)

Country Link
US (1) US4922432A (de)
JP (1) JP2862886B2 (de)
DE (1) DE3900750A1 (de)
GB (1) GB2213967B (de)
NL (1) NL192892C (de)

Families Citing this family (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5610828A (en) * 1986-04-14 1997-03-11 National Instruments Corporation Graphical system for modelling a process and associated method
US5212650A (en) * 1986-09-12 1993-05-18 Digital Equipment Corporation Procedure and data structure for synthesis and transformation of logic circuit designs
US5095441A (en) * 1986-09-12 1992-03-10 Digital Equipment Corporation Rule inference and localization during synthesis of logic circuit designs
US5150308A (en) * 1986-09-12 1992-09-22 Digital Equipment Corporation Parameter and rule creation and modification mechanism for use by a procedure for synthesis of logic circuit designs
US5151867A (en) * 1986-09-12 1992-09-29 Digital Equipment Corporation Method of minimizing sum-of-product cases in a heterogeneous data base environment for circuit synthesis
US5197016A (en) * 1988-01-13 1993-03-23 International Chip Corporation Integrated silicon-software compiler
JPH01226066A (ja) * 1988-03-04 1989-09-08 Hitachi Ltd ディジタル信号処理プロセッサ
JPH0769926B2 (ja) * 1988-03-18 1995-07-31 株式会社日立製作所 符号解読型選択論理生成装置
US5173864A (en) * 1988-08-20 1992-12-22 Kabushiki Kaisha Toshiba Standard cell and standard-cell-type integrated circuit
JPH0786883B2 (ja) * 1988-09-09 1995-09-20 松下電器産業株式会社 網図または諭理回路図自動生成方法およびそのシステム
US5452231A (en) * 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
US5208768A (en) * 1988-11-14 1993-05-04 Digital Equipment Corporation Expert system including arrangement for acquiring redesign knowledge
US5283857A (en) * 1988-11-14 1994-02-01 Digital Equipment Corporation Expert system including arrangement for acquiring redesign knowledge
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
US5140526A (en) * 1989-01-06 1992-08-18 Minc Incorporated Partitioning of Boolean logic equations into physical logic devices
US5187784A (en) * 1989-01-13 1993-02-16 Vlsi Technology, Inc. Integrated circuit placement method using netlist and predetermined ordering constraints to produce a human readable integrated circuit schematic diagram
US5241656A (en) * 1989-02-06 1993-08-31 International Business Machines Corporation Depth buffer clipping for window management
US5371683A (en) * 1989-03-22 1994-12-06 Kabushiki Kaisha Toshiba LSI design support system
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
US5353243A (en) 1989-05-31 1994-10-04 Synopsys Inc. Hardware modeling system and method of use
JPH0341519A (ja) * 1989-07-10 1991-02-22 Hitachi Ltd 知識処理システム
US5243538B1 (en) * 1989-08-09 1995-11-07 Hitachi Ltd Comparison and verification system for logic circuits and method thereof
DE69032640D1 (de) * 1989-09-05 1998-10-15 Lsi Logic Corp Logik-Kompilator zum Entwurf von Schaltungsmodellen
JP2801931B2 (ja) * 1989-09-07 1998-09-21 松下電器産業株式会社 論理設計処理装置および回路変換ルール翻訳装置ならびに回路変換ルール翻訳方法
US5307282A (en) * 1989-09-22 1994-04-26 Hewlett-Packard Company Method of computer-aided prediction of collisions between objects including fabrication tools and parts to be fabricated
US5231590A (en) * 1989-10-13 1993-07-27 Zilog, Inc. Technique for modifying an integrated circuit layout
US5448494A (en) * 1989-12-20 1995-09-05 Fujitsu Limited Mask data processing apparatus for integrated circuit production
US5448493A (en) * 1989-12-20 1995-09-05 Xilinx, Inc. Structure and method for manually controlling automatic configuration in an integrated circuit logic block array
US5367468A (en) * 1990-02-21 1994-11-22 Kabushiki Kaisha Toshiba Design aid method and design aid apparatus for integrated circuits
US5384710A (en) * 1990-03-13 1995-01-24 National Semiconductor Corporation Circuit level netlist generation
US5084824A (en) * 1990-03-29 1992-01-28 National Semiconductor Corporation Simulation model generation from a physical data base of a combinatorial circuit
US5553002A (en) * 1990-04-06 1996-09-03 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface
US5222030A (en) * 1990-04-06 1993-06-22 Lsi Logic Corporation Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof
US5544066A (en) * 1990-04-06 1996-08-06 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of low-level design constraints
US5867399A (en) * 1990-04-06 1999-02-02 Lsi Logic Corporation System and method for creating and validating structural description of electronic system from higher-level and behavior-oriented description
US5555201A (en) * 1990-04-06 1996-09-10 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information
US5572437A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
US5557531A (en) * 1990-04-06 1996-09-17 Lsi Logic Corporation Method and system for creating and validating low level structural description of electronic design from higher level, behavior-oriented description, including estimating power dissipation of physical implementation
US5623418A (en) * 1990-04-06 1997-04-22 Lsi Logic Corporation System and method for creating and validating structural description of electronic system
US5572436A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design
US5544067A (en) 1990-04-06 1996-08-06 Lsi Logic Corporation Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation
US5870308A (en) * 1990-04-06 1999-02-09 Lsi Logic Corporation Method and system for creating and validating low-level description of electronic design
US5598344A (en) * 1990-04-06 1997-01-28 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
US5278769A (en) * 1991-04-12 1994-01-11 Lsi Logic Corporation Automatic logic model generation from schematic data base
US5541849A (en) * 1990-04-06 1996-07-30 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of timing parameters
US5428550A (en) * 1990-06-28 1995-06-27 National Semiconductor Corporation Hierarchical hardware flowchart using symbolic macros
US5258919A (en) * 1990-06-28 1993-11-02 National Semiconductor Corporation Structured logic design method using figures of merit and a flowchart methodology
US5699310A (en) * 1990-06-29 1997-12-16 Dynasty Technologies, Inc. Method and apparatus for a fully inherited object-oriented computer system for generating source code from user-entered specifications
US5713034A (en) * 1990-08-07 1998-01-27 Oki Electric Industry Co., Ltd. CAE system for preparing transmission network and analyzing load in mechanical system
US5412591A (en) * 1990-08-09 1995-05-02 Vlsi Technology, Inc. Schematic compiler for a multi-format high speed multiplier
US5187671A (en) * 1990-08-24 1993-02-16 Microelectronics And Computer Technology Corporation Automated interconnect routing system
US5406497A (en) * 1990-09-05 1995-04-11 Vlsi Technology, Inc. Methods of operating cell libraries and of realizing large scale integrated circuits using a programmed compiler including a cell library
JPH04116951A (ja) * 1990-09-07 1992-04-17 Fujitsu Ltd 半導体集積回路
JPH04127275A (ja) * 1990-09-19 1992-04-28 Fujitsu Ltd Lsi論理回路自動合成における組合せ回路のテクノロジーマッピング方式
US5490082A (en) * 1990-11-07 1996-02-06 Vlsi Technology, Inc. Method of graphically designing circuits
JP2573414B2 (ja) * 1990-11-21 1997-01-22 株式会社東芝 半導体集積回路製造方法
US5303161A (en) * 1990-12-10 1994-04-12 Hughes Aircraft Company Technology independent integrated circuit mask artwork generator
US5740070A (en) * 1991-06-11 1998-04-14 Mega Chips Corporation Apparatus for automatically generating logic circuit
US5473546A (en) * 1991-06-12 1995-12-05 Lsi Logic Corporation Method for flattening hierarchical design descriptions
US5521836A (en) * 1991-06-28 1996-05-28 Vlsi Technology, Inc. Method for determining instance placements in circuit layouts
US5471398A (en) * 1991-07-01 1995-11-28 Texas Instruments Incorporated MTOL software tool for converting an RTL behavioral model into layout information comprising bounding boxes and an associated interconnect netlist
JP3172211B2 (ja) * 1991-09-05 2001-06-04 富士通株式会社 回路合成システム
FR2681748B1 (fr) * 1991-09-20 1994-10-14 Sgs Thomson Microelectronics Sa Procede pour concevoir des circuits integres controleurs de protocole et systeme pour sa mise en óoeuvre.
US5574655A (en) * 1991-10-30 1996-11-12 Xilinx, Inc. Method of allocating logic using general function components
US5337255A (en) * 1991-10-30 1994-08-09 Xilinx, Inc. Method for implementing set/reset synchronously or asynchronously in a programmable logic device
US5553001A (en) * 1991-10-30 1996-09-03 Xilinx, Inc. Method for optimizing resource allocation starting from a high level
JPH05128085A (ja) * 1991-11-08 1993-05-25 Toshiba Corp システム制御の学習方法
US5452227A (en) * 1991-11-13 1995-09-19 Westinghouse Elec. Corp. Method and apparatus for converting a programmable logic device designed into a selectable target gate array design
US5386558A (en) * 1992-02-24 1995-01-31 Adapsys, Inc. Method and apparatus for executing control system functions in a computer system
JPH05274390A (ja) * 1992-03-30 1993-10-22 Matsushita Electric Ind Co Ltd 回路素子割り付け方法及び遅延最適化方法並びに論理設計システム
WO2004077555A1 (ja) * 1992-03-31 2004-09-10 Yasuo Jimbo Lsi設計部品データの管理装置
US5491640A (en) * 1992-05-01 1996-02-13 Vlsi Technology, Inc. Method and apparatus for synthesizing datapaths for integrated circuit design and fabrication
US5347465A (en) * 1992-05-12 1994-09-13 International Business Machines Corporation Method of integrated circuit chips design
US5526517A (en) * 1992-05-15 1996-06-11 Lsi Logic Corporation Concurrently operating design tools in an electronic computer aided design system
JPH07501906A (ja) * 1992-06-02 1995-02-23 アジレント・テクノロジーズ・インク マルチレベル相互接続技術のためのコンピュータ支援設計方法及び装置
DE69331085T2 (de) * 1992-08-26 2002-03-14 Matsushita Electric Ind Co Ltd Automatisiertes LSI-Entwurfsystem und Verfahren
EP0600608B1 (de) * 1992-10-29 1999-12-22 Altera Corporation Verfahren zum Prüfen von Entwürfen für programmierbare Logikschaltungen
US5557532A (en) * 1992-11-12 1996-09-17 Vlsi Technology, Inc. Parameterized generic compiler
US5566079A (en) * 1992-11-12 1996-10-15 Vlsi Technology, Inc. Parameterized generic multiplier complier
JPH06168291A (ja) * 1992-11-27 1994-06-14 Nec Corp 接続先一覧表によるフローチャートマクロの接続方式
US5416719A (en) * 1992-12-17 1995-05-16 Vlsi Technology, Inc. Computerized generation of truth tables for sequential and combinatorial cells
WO1994015311A1 (en) * 1992-12-28 1994-07-07 Xilinx, Inc. Method for entering state flow diagrams using schematic editor programs
US5617327A (en) * 1993-07-30 1997-04-01 Xilinx, Inc. Method for entering state flow diagrams using schematic editor programs
WO1994019741A2 (en) * 1993-02-25 1994-09-01 Reticular Systems, Inc. Real-time rule based processing system
US5519633A (en) * 1993-03-08 1996-05-21 International Business Machines Corporation Method and apparatus for the cross-sectional design of multi-layer printed circuit boards
JP3172617B2 (ja) * 1993-03-10 2001-06-04 三菱電機株式会社 論理記述変換装置及び方法並びに論理合成方法
US7043407B2 (en) * 1997-03-10 2006-05-09 Trilogy Development Group, Inc. Method and apparatus for configuring systems
US5956257A (en) * 1993-03-31 1999-09-21 Vlsi Technology, Inc. Automated optimization of hierarchical netlists
FR2704663B1 (fr) * 1993-04-29 1995-06-23 Sgs Thomson Microelectronics Procédé et dispositif de détermination de la composition d'un circuit intégré.
US5751592A (en) * 1993-05-06 1998-05-12 Matsushita Electric Industrial Co., Ltd. Apparatus and method of supporting functional design of logic circuit and apparatus and method of verifying functional design of logic circuit
US5465216A (en) * 1993-06-02 1995-11-07 Intel Corporation Automatic design verification
US5487018A (en) * 1993-08-13 1996-01-23 Vlsi Technology, Inc. Electronic design automation apparatus and method utilizing a physical information database
JPH0765040A (ja) * 1993-08-24 1995-03-10 Matsushita Electric Ind Co Ltd 機能データインターフェース方法および機能データインターフェース装置
CA2126265A1 (en) * 1993-09-27 1995-03-28 Michael Robert Cantone System for synthesizing field programmable gate array implementations from high level circuit descriptions
JPH07105253A (ja) * 1993-10-07 1995-04-21 Nec Corp データパス回路レイアウト生成システム
US5502645A (en) * 1993-11-05 1996-03-26 Nec Usa, Inc. Behavioral synthesis for reconfigurable datapath structures
US5613102A (en) * 1993-11-30 1997-03-18 Lucent Technologies Inc. Method of compressing data for use in performing VLSI mask layout verification
US5481475A (en) * 1993-12-10 1996-01-02 International Business Machines Corporation Method of semiconductor device representation for fast and inexpensive simulations of semiconductor device manufacturing processes
US5680583A (en) * 1994-02-16 1997-10-21 Arkos Design, Inc. Method and apparatus for a trace buffer in an emulation system
GB9404078D0 (en) * 1994-03-03 1994-04-20 Int Computers Ltd Design automation method for digital electronic circuits
JPH07249748A (ja) * 1994-03-14 1995-09-26 Fujitsu Ltd マスタースライス型lsiの設計装置
US5629860A (en) * 1994-05-16 1997-05-13 Motorola, Inc. Method for determining timing delays associated with placement and routing of an integrated circuit
US5617328A (en) * 1994-05-23 1997-04-01 Winbond Electronics Corporation Automatic code pattern generator for repetitious patterns in an integrated circuit layout
DE69520706T2 (de) 1994-06-03 2001-08-02 Hyundai Electronics America Herstellungsverfahren für einen elektrischen Vorrichtungs-Adapter
US5535134A (en) * 1994-06-03 1996-07-09 International Business Machines Corporation Object placement aid
US5537330A (en) * 1994-06-10 1996-07-16 International Business Machines Corporation Method for mapping in logic synthesis by logic classification
US5586319A (en) * 1994-07-27 1996-12-17 Vlsi Technology, Inc. Netlist editor allowing for direct, interactive low-level editing of netlists
US5646862A (en) * 1994-09-29 1997-07-08 Ford Motor Company Vendor-neutral integrated vehicle electrical design and analysis system and method
US5515302A (en) * 1994-11-07 1996-05-07 Motorola, Inc. Method for identifying excessive power consumption sites within a circuit
US7068270B1 (en) * 1994-12-02 2006-06-27 Texas Instruments Incorporated Design of integrated circuit package using parametric solids modeller
US5748943A (en) * 1995-10-04 1998-05-05 Ford Global Technologies, Inc. Intelligent CAD process
US5870588A (en) * 1995-10-23 1999-02-09 Interuniversitair Micro-Elektronica Centrum(Imec Vzw) Design environment and a design method for hardware/software co-design
JP2869379B2 (ja) * 1996-03-15 1999-03-10 三菱電機株式会社 プロセッサ合成システム及びプロセッサ合成方法
US5903886A (en) * 1996-04-30 1999-05-11 Smartlynx, Inc. Hierarchical adaptive state machine for emulating and augmenting software
US5812416A (en) * 1996-07-18 1998-09-22 Lsi Logic Corporation Integrated circuit design decomposition
US6178494B1 (en) * 1996-09-23 2001-01-23 Virtual Computer Corporation Modular, hybrid processor and method for producing a modular, hybrid processor
US5963454A (en) * 1996-09-25 1999-10-05 Vlsi Technology, Inc. Method and apparatus for efficiently implementing complex function blocks in integrated circuit designs
US5943485A (en) * 1996-10-15 1999-08-24 Motorola, Inc. Method for testing and for generating a mapping for an electronic device
US5841967A (en) * 1996-10-17 1998-11-24 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US5799293A (en) * 1996-11-04 1998-08-25 Ford Global Technologies, Inc. Method for optimizing the design of a product using knowledge-based engineering techniques
US6910200B1 (en) * 1997-01-27 2005-06-21 Unisys Corporation Method and apparatus for associating selected circuit instances and for performing a group operation thereon
US5883814A (en) * 1997-03-13 1999-03-16 International Business Machines Corporation System-on-chip layout compilation
US5867180A (en) * 1997-03-13 1999-02-02 International Business Machines Corporation Intelligent media memory statically mapped in unified memory architecture
US5901304A (en) * 1997-03-13 1999-05-04 International Business Machines Corporation Emulating quasi-synchronous DRAM with asynchronous DRAM
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
US6389379B1 (en) 1997-05-02 2002-05-14 Axis Systems, Inc. Converification system and method
US6134516A (en) * 1997-05-02 2000-10-17 Axis Systems, Inc. Simulation server system and method
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
US6421251B1 (en) 1997-05-02 2002-07-16 Axis Systems Inc Array board interconnect system and method
US5960191A (en) * 1997-05-30 1999-09-28 Quickturn Design Systems, Inc. Emulation system with time-multiplexed interconnect
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++
US5970240A (en) * 1997-06-25 1999-10-19 Quickturn Design Systems, Inc. Method and apparatus for configurable memory emulation
GB2354614B (en) * 1998-05-06 2003-05-14 Acuid Corp Ltd A system for modelling memory business parameters
US6272671B1 (en) 1998-09-11 2001-08-07 Lsi Logic Corporation Extractor and schematic viewer for a design representation, and associated method
AU2079699A (en) * 1998-11-30 2000-06-19 Actcon Control Ab Method for inserting objects into a working area in a computer application
US6654945B1 (en) 1999-02-17 2003-11-25 Hitachi, Ltd. Storage medium in which data for designing an integrated circuit is stored and method of fabricating an integrated circuit
US6832182B1 (en) 1999-04-08 2004-12-14 Transim Technology Corporation Circuit simulator
WO2002025596A2 (en) 2000-09-19 2002-03-28 Draftlogic System Inc, System for client-driven automated computer-aided drafting
US7043408B2 (en) 2000-11-08 2006-05-09 Virtual Supply Chain Engineering, Inc. Computer-aided design neutral graphical data interface
US6668360B1 (en) 2001-01-08 2003-12-23 Taiwan Semiconductor Manufacturing Company Automatic integrated circuit design kit qualification service provided through the internet
US6609238B1 (en) * 2001-06-15 2003-08-19 Lsi Logic Corporation Method of control cell placement to minimize connection length and cell delay
JP2003216670A (ja) * 2002-01-25 2003-07-31 Hitachi Ltd コンピュータ読み取り可能な記録媒体および半導体集積回路装置
US7873223B2 (en) * 2002-10-15 2011-01-18 Definiens Ag Cognition integrator and language
US7801361B2 (en) * 2002-10-15 2010-09-21 Definiens Ag Analyzing pixel data using image, thematic and object layers of a computer-implemented network structure
US8594410B2 (en) 2006-08-28 2013-11-26 Definiens Ag Context driven image mining to generate image-based biomarkers
US7164355B2 (en) * 2004-05-19 2007-01-16 Rosemount Inc. Process transmitter with a plurality of operating modes
US7454550B2 (en) * 2005-01-05 2008-11-18 Xtremedata, Inc. Systems and methods for providing co-processors to computing systems
US7603573B2 (en) * 2006-10-24 2009-10-13 Silicon Graphics, Inc. System and method for optimizing computational density
US8989468B2 (en) 2007-05-25 2015-03-24 Definiens Ag Generating an anatomical model using a rule-based segmentation and classification process
US10541046B2 (en) * 2009-09-02 2020-01-21 Microsoft Technology Licensing, Llc Creating genetic devices
KR102201566B1 (ko) * 2017-08-18 2021-01-11 주식회사 엘지화학 맞춤형 bms 모듈 및 그 설계 방법
US11556406B2 (en) 2018-12-03 2023-01-17 Synopsys, Inc. Automatic root cause analysis of complex static violations by static information repository exploration

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4656603A (en) * 1984-03-01 1987-04-07 The Cadware Group, Ltd. Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2245984B1 (de) * 1973-09-27 1977-03-18 Ibm
US4584653A (en) * 1983-03-22 1986-04-22 Fujitsu Limited Method for manufacturing a gate array integrated circuit device
GB8329888D0 (en) * 1983-11-09 1983-12-14 Philips Electronic Associated Generating component interconection lists
JPS60114968A (ja) * 1983-11-28 1985-06-21 Hitachi Ltd 推論システム
US4648044A (en) * 1984-06-06 1987-03-03 Teknowledge, Inc. Basic expert system tool
US4658370A (en) * 1984-06-07 1987-04-14 Teknowledge, Inc. Knowledge engineering tool
US4703435A (en) * 1984-07-16 1987-10-27 International Business Machines Corporation Logic Synthesizer
US4675829A (en) * 1984-07-27 1987-06-23 Intellicorp Corporation Method and apparatus for building knowledge-based systems
US4651284A (en) * 1984-07-27 1987-03-17 Hitachi, Ltd. Method and system of circuit pattern understanding and layout
US4635208A (en) * 1985-01-18 1987-01-06 Hewlett-Packard Company Computer-aided design of systems
US4700316A (en) * 1985-03-01 1987-10-13 International Business Machines Corporation Automated book layout in static CMOS
JPS6274158A (ja) * 1985-09-27 1987-04-04 Hitachi Ltd 回路変換方式
AU7727987A (en) * 1986-09-12 1988-03-17 Digital Equipment Corporation Cad of logic circuits: procedure and data structure

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4656603A (en) * 1984-03-01 1987-04-07 The Cadware Group, Ltd. Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Aart J. de Geus, William Cohen: A rule-based Sys- tem for optimizing Combinational Logic, In: IEEE Design & Test of Computers, Vo. 2, No. 4, August 1985, S. 22-32 *
HEROLD, UNGER. Das C-Buch, 2. Aufl., te-wi- Vorl., 1986, S. 6-7 bis 6-11, ISBN 3-921803-62-4 *
Kim, Jin: Artificial intelligence helps at ASIC designtime in: Electronic Design, June 11, 1987, S.107-110 *
Nakamura, Yukihiro: An Integrated Logic Disign Environment based on a Behavioral Description in: IEEE Transactions on Computer-Aided Design, Vol.CAD-6, No.3, May 1987, S.322-336 *

Also Published As

Publication number Publication date
JP2862886B2 (ja) 1999-03-03
GB2213967A (en) 1989-08-23
GB8900594D0 (en) 1989-03-15
US4922432A (en) 1990-05-01
NL192892B (nl) 1997-12-01
JPH01309185A (ja) 1989-12-13
NL192892C (nl) 1998-04-02
GB2213967B (en) 1992-06-17
NL8900084A (nl) 1989-08-01

Similar Documents

Publication Publication Date Title
DE3900750A1 (de) Wissensbasis - verfahren - vorrichtung zum entwerfen integrierter schaltungen mittels funktionaler spezifikationen
EP0852759B1 (de) Entwurfsverfahren für die anlagentechnik und rechnergestütztes projektierungssystem zur verwendung bei diesem verfahren
DE60116769T2 (de) Verfahren und system zur hierarchischen metallenden-, einschliessungs- und belichtungsprüfung
DE69826659T2 (de) Billige, leicht anzuwendende software für ein automatisches testsystem
DE69628808T2 (de) Datenverarbeitungssystem
DE10102205B4 (de) Verfahren und Vorrichtung zum Konfigurieren und Verwalten eines Prozeßsteuerungsnetzes
DE69931004T2 (de) Verfahren und Vorrichtung zur Datenverarbeitung
DE69909452T2 (de) Eine datenbank, die nützlich ist, um ein system zu konfigurieren und/oder zu optimieren und ein verfahren, um diese datenbank zu generieren
DE60009122T2 (de) Mustererkennung für den datenaustausch zwischen rechnergestützten entwurfssystemen
DE10053207A1 (de) Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen
DE102011001460A1 (de) Verfahren und Gerät für eine datengesteuerte Schnittstelle basierend auf Relationen zwischen Prozesssteuerungsetiketten
DE19717716A1 (de) Verfahren zur automatischen Diagnose technischer Systeme unter Berücksichtigung eines effizienten Wissenserwerbs und einer effizienten Bearbeitung zur Laufzeit
EP0346801A2 (de) Verfahren und Anordnung zur Ausführung eines Programms in einem heterogenen Mehrrechnersystem
DE69533467T2 (de) System und verfahren zur erzeugung von modellen elektrischer bauelemente
DE69433907T2 (de) Autonomes, evolutionsartiges Hardwareentwurfssystem
DE112015006570T5 (de) Programmerzeugungseinrichtung, Programmerzeugungsverfahren und Programmerzeugungsprogramm
DE60221462T2 (de) Vorrichtung und Verfahren zur High-Level-Synthese, Verfahren zur Produktion von logischen Schaltungen unter Verwendung des Verfahrens zur High-Level-Synthese,und Aufzeichnungsmedium
DE10197097B4 (de) Programmierwerkzeug
EP0580663A1 (de) Verfahren zur verifikation datenverarbeitender systeme.
DE4327660C2 (de) Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
EP1533674B1 (de) Verfahren zur Entwicklung und Implementierung eines Modells zur formalen Beschreibung eines sich aus mehreren verteilten Komponenten zusammensetzenden kollaborativen Systems, insbesondere eines intelligenten flexiblen Produktions-und/oder Prozessautomatisierungssystems
DE102004003092A1 (de) Verfahren zum Auflösen nicht richtig angepaßter Parameter bei einem rechnergestützten Entwurf für integrierte Schaltungen
Unger et al. Feature-based process planning in the AMRF
EP1146393B1 (de) Verfahren zur Herstellung von Masken für die Fertigung von Halbleiterstrukturen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection