18
Electronic Design Automation (EDA) Entwurfseingabe Entwurfseingabe Systemebene ...SystemC ...SystemVerilog RT-Ebene ...Verilog ...VHDL Gatterebene ...Gatternetzliste ...Schematic Entry Elektrische Ebene/ Strukturelle Sicht ...Bauelementenetzliste ...Schematic Entry Elektrische Ebene/ Physikalische Sicht ...CIF ...GDSII ...Layout Entry Date of generation: 28.11.2019

Electronic Design Automation (EDA) Gatterebeneedascript-1.ims.uni-hannover.de/de/pdf/1-05-design-input.pdf · am weitsten verbreiteten Sprachen sind Verilog und VHDL. Für die eigentlich

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Electronic Design Automation (EDA)

Entwurfseingabe

Entwurfseingabe

Systemebene

...SystemC

...SystemVerilog

RT-Ebene

...Verilog

...VHDL

Gatterebene

...Gatternetzliste

...Schematic Entry

Elektrische Ebene/ Strukturelle Sicht

...Bauelementenetzliste

...Schematic Entry

Elektrische Ebene/ Physikalische Sicht

...CIF

...GDSII

...Layout Entry

Date of generation: 28.11.2019

Entwurfseingabe: Entwurfseingabe

Der Entwickler kann den Entwurf auf verschiedenen Entwurfsebenen und in verschiedenen Sichteneingeben. Viele Entwurfsschritte können durch ein EDA-Tool vorgenommen werden, ein vollständigautomatisierter Ablauf (Silicon Compiler) ist nicht realisierbar, deshalb muss der Entwickler inverschiedenen Stadien des Entwurfs Eingriffe von Hand vornehmen. Der Entwurf kann strukturell(ADD(A, B, C) oder funktionell (C=A+B) eingegeben werden. Die Entwurfseingabe basiert immer aufVerwendung einer Eingabesprache. Häufig wird dem Entwickler die Eingabe durch eine graphischeBenutzeroberfläche vereinfacht. Man unterscheidet bei den Eingabesprachen:

1) Datenaustauschsprachen

Diese Sprachen sind für den Austausch von Daten gedacht. Dabei handelt es sich hauptsächlich umeinen maschinellen Austausch.

2) Beschreibungssprachen

Diese Sprachen dienen zur Beschreibung von Daten/Informationen auf einer Ebene mit einemhöheren Abstraktionsgrad. Sie sind für die Benutzung durch den Menschen ausgelegt.

Entwurfseingabe: Systemebene

Die Systemebene ist die oberste Ebene für die Entwurfseingabe. Eine ideale Eingabe wäre dieSystemspezifikation (z.B. 8 bit ALU bei 800 MHz lauffähig und mit folgendem Befehlssatz sowieweiteren spezifizierten Randbedingungen). Dies ist aber noch eine Vision. W ichtig ist, dass Sprachenauf dieser Ebene sowohl die Funktionalität von Hardware als auch von Software beschreibenkönnen müssen, da Hardware/Software Co-Design immer wichtiger wird. Derzeitig unterstützteEingabesprachen sind SystemC und System-Verilog für die Hardware. Alternative Eingabenauf Systemebene sind möglich mit C, C++, VML. Häufig wird für die Systembeschreibung auchmathematische Software wie Matlab, MAPLE oder Mathmatica genutzt.

Entwurfseingabe: ...SystemC

SystemC ist eine C++ Klassen-Bibliothek. SystemC ist voll kompatibel und kompilierbar mit Standard-C++-Compilern und bietet eine einfache HW/SW-Co-Entwicklungsumgebung.

Entwurfseingabe: ...SystemVerilog

SystemVerilog ist eine Erweiterung von Verilog-2001 und kompatibel zum Verilog-Standard.SystemVerilog ist stark angelehnt an C++.

Entwurfseingabe: RT-Ebene

Auf der Register-Transfer-Ebene existieren Register und Operationen. Die Eingabe auf dieser Ebeneerfolgt mit Hilfe einer Hardwarebeschreibungssprache (Hardware Description Language, HDL). Dieam weitsten verbreiteten Sprachen sind Verilog und VHDL. Für die eigentlich digitalen HDLs existierenErweiterungen, um analoge Blöcke zu beschreiben. HDLs sind in der Lage, sowohl Funktion als auchStruktur zu beschreiben.

Entwurfseingabe: ...Verilog

Verilog wurde 1984/1985 von Moorby und anderen entwickelt und 1991 von der EDA-Firma Cadenceübernommen. Seit 1995 existiert der IEEE Standard 1364, der im Jahr 2001 aktualisiert wurde. Esexistiert eine Spracherweiterung zu Verilog (Verilog-A) zur Beschreibung analoger Schaltungen.

Entwurfseingabe: ...VHDL

Entwurfseingabe: Gatterebene

Die Eingabe auf Gatterebene muss die zu verwendende Prozesstechnologie berücksichtigen.Gatter sind in einer vom Chip-Hersteller zur Verfügung gestellten Bibliothek beschrieben. Nur dieseGrundgatter können verwendet werden. Eingangskapazitäten und Treiberstärke müssen beachtetwerden. Gatterverzögerungszeiten stehen als Schätzung zur Verfügung.

Entwurfseingabe: ...Gatternetzliste

Gatternetzlisten können beispielsweise mit Verilog beschrieben werden. Dort tretten die Gatter alsBibliotheksaufrufe in Erscheinung. Signalübergangszeiten können mit #(Tfall, Trise) definiert werden.

Entwurfseingabe: ...Schematic Entry

Eine Eingabe auf der Gatterebene kann auch mit Hilfe eines speziellen grafischen Editors (SchematicEntry) erfolgen. Die symbolische Darstellung der Gatter wird der Bibliothek entnommen. DieVerbindungsleitungen werden als ideal leitend angenommen.

Entwurfseingabe: Elektrische Ebene/ Strukturelle Sicht

Auf der elektrischen Ebene muss die Schaltungsstruktur (Topologie) mit den Parametern derSchaltungselemente (R, C, W, L, ...) definiert werden. Es wird nicht mehr zwischen digitalenund analogen Schaltungen unterschieden. Die eingegebenen Schaltungen bestehen ausGrundelemeneten (Widerstände, Kapazitäten, Induktivitäten, Transistoren, Dioden, Quellen). DieEingabe kann in Form einer Bauelementenetzliste oder wiederum graphisch durch Schematic Entryerfolgen.

Entwurfseingabe: ...Bauelementenetzliste

Eine Bauelementenetzliste ist eine Schaltungsbeschreibung auf elektrischer Ebene, die als Textin einem vom Rechner lesbaren Format eingegeben oder rechnerintern erzeugt wird. Es gibtunterschiedliche Formate von Netzlisten, wie z.B. SPICE-Format, EDIF. Am ältesten und am meistenverbreitet ist das Format des Schaltungssimulators SPICE (Simulation Program with Integrated CircuitEmphasis), zum ersten Mal vorgestellt 1972. SPICE war nur auf Großrechnern lauffähig, konnte aberEntwicklungszeiten und -kosten stark reduzieren.

Später wurde das Simulationsprogramm SPICE von der Firma MicroSim in einer PC-Versionmit dem Namen PSPICE veröffentlicht. Um PSPICE benutzerfreundlicher zu gestalten wurdenein Schaltplaneditor und ein "Software - Oszilloskop" (PROBE), was die Darstellung derSimulationsergebnisse am Monitor ermöglichte, hinzugefügt. Das Programm wurde weiterhin umZusätze erweitert, die das Erstellen von Platinen-Layouts ermöglichen. PSPICE ist als Testversion(die Anzahl der Halbleitertypen sowie die Anzahl der Bauelemente in einer simulationsfähigenSchaltung sind eingeschränckt) kostenlos zugänglich.

Ein Nachteil des Programms ist, dass ausschließlich US-Schaltzeichen für analoge und digitaleBauelemente benutzt werden.

Entwurfseingabe: ...Schematic Entry

Mit Hilfe eines Schematic-Entry-Werkzeugs können Schaltungen auf elektrischer Ebene aucheingegeben werden. Für die Eingabe wird eine Bauelementebibliothek benötigt. Mit einem Netzlisterkönnen aus dem Schaltbild automatisch Bauelementenetzlisten erzeugt werden.

Entwurfseingabe: Elektrische Ebene/ Physikalische Sicht

Auf der elektrischen Ebene und der physikalischen Sicht besteht die Schaltung aus geometrischenGrundmustern (Rechtecke, Linien, Polygone) mit denen Leiterbahnen und aktive Bauelementebeschrieben werden. Das Layout wird für die Herstellung der Fertigungsmasken benötigt. Auch indieser Form kann eine Schaltungseingabe erfolgen. Dies ist mit einem graphischen Editor oder mitentsprechenden Beschreibungssprache (-format) wie z.B. CIF (Caltech Intermediate Format) oderGDSII (Graphical Design Station II) möglich.

Entwurfseingabe: ...CIF

Das Caltech Intermediate Format wurde 1980 von Carver Mead und Lynn Conway ("Introduction toVLSI Systems") vorgestellt. Es ist lesbarer Klartext im ASCII-Format. CIF ist eine Art Makrosprache,die sogar Kreisstrukturen erlaubt. Dieses Format wird hauptsächlich an Hochschulen verwendet.

Entwurfseingabe: ...GDSII

Was heute als GDSII-Format bezeichnet wird, hieß ursprünglich STREAM. Es war die Ausgabeder Calma Graphical Design Station II (entwickelt in den 1970ern), daher der Name GDSII. GDSIIist ein Binärformat und in der Industrie eine Art Standard für den Datenaustausch zwischen EDA-Werkzeugen oder auch zwischen Design-Teams.

Entwurfseingabe: ...Layout Entry

Eine grafische Layouteingabe ist mit Ebenen-orientierten Graphikprogrammen möglich. Auf denEbenen werden Polygone angelegt. Häufige Operationen sind: copy, mirror, rotate, stretch.