Ansätze einer High-Level-Synthese in der Electronic Design Automation


Diploma Thesis, 2005

146 Pages, Grade: 1


Excerpt


Printed in Germany
Copyright
© 2005 Siegfried Puga-Reichle
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in
any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), without the prior
written permission of the author.

Fachhochschule
Konstanz
Diplomarbeit
Inhaltsverzeichnis
Elektrotechnik und
Informationstechnik
Ansätze einer High-Level-Synthese in der Electronic Design
Automation
Seite 3 von 148
Inhaltsverzeichnis
1
Einleitung / Überblick... 6
2
Hintergrund der Hardwarebeschreibungssprachen... 7
2.1 Motivation:
IC-Entwurfsverfahren... 7
2.2
Bestehende Probleme des heutigen Systementwurfs ... 8
2.3 Entwurfssichten ... 11
2.4 Entwurfsebenen ... 12
2.4.1 Systemebene... 12
2.4.2 Algorithmische
Ebene ... 12
2.4.3 Register-Transfer-Ebene ... 12
2.4.4 Logikebene ... 12
2.4.5 Schaltkreisebene... 13
2.5
Hardware und Software Lösungen ... 14
2.6
Bedeutung der HW/SW-Architektur auf den einzelnen Abstraktionsebenen ... 16
2.6.1 Abstraktion ... 16
2.6.2 Beschreibungssprachen
/
Werkzeuge... 16
2.7 Standardtechnologie
ASIC ... 17
2.8
Besondere Bedeutung/Stellenwert des FPGA... 19
2.9
Herstellungsprozess von digitalen integrierten Schaltkreisen... 21
2.10
Probleme der Entwurfskomplexität hoch integrierter Systeme... 23
2.11
Folgerungen zur marktgerechten Verkürzung der Entwurfsdauer ... 24
2.12
Effizienzsteigerung im Entwurf mittels grafischer HDL ­ Programmierung ... 26
2.13
Moderner Design Flow mittels grafischer HDL ... 27
3
HDL ­ Design - Sprachen ... 28
3.1 VHDL... 28
3.1.1 Aufbau ... 28
3.1.2 Anwendung
der
VHDL ... 29
3.2 Verilog... 30
3.2.1
Unterschiede von VHDL und Verilog ... 30
3.3 Sonstige
HDL-Sprachen... 31
4
Systembeschreibungssprachen (System-Level-Entwurf... 32
4.1 SystemC ... 32
4.1.1
SystemC im Überblick ... 34
4.1.2
Vergleich VHDL und SystemC... 34
4.2 SpecC ... 38
4.3 Superlog ... 38
4.4 Handel-C ... 39
4.5
PSL - Property Specification Language ... 39
4.6 SystemVerilog... 39
4.7 VHDL-200x ... 40
4.8 Verilog-AMS... 40
4.9 VHDL-AMS... 41
4.10 Matlab/Simulink... 42

Fachhochschule
Konstanz
Diplomarbeit
Inhaltsverzeichnis
Elektrotechnik und
Informationstechnik
Ansätze einer High-Level-Synthese in der Electronic Design
Automation
Seite 4 von 148
5
High-Level-Synthese-Tools... 43
5.1 Speedchart ... 44
5.2
Visual HDL von Summit... 44
5.3
Visual Elite / FastC von Summit... 45
5.4 Statemate
von
I-Logix ... 46
5.5
HDL Designer Series von Mentor Graphics ... 47
5.6
DSP-Builder von Altera ... 48
5.7
DK Design Suite von Celoxica ... 49
5.8
System Generator for DSP von Xilinx... 50
5.9
AccelChip DSP Synthesis von AccelChip ... 51
5.10
Synplify DSP von Synplicity ... 52
5.11
Discovery Verification Platform von Synopsys... 53
5.12
Catapult C Synthesis von Mentor Graphics ... 54
5.13
Agility Compiler von Celoxica ... 55
5.14
CoDeveloper von Impulse Accelerated Technologies ... 56
5.15
Filter Design HDL Coder 1.2... 57
6
Simulations-Programme... 58
7
Design-Entry-Tools ... 62
8
Weiterführende EDA-Organisationen und LINKs ... 65
8.1 EDA-Organisationen ... 65
8.2 Konferenzen ... 67
8.3 Online-Elektronik-Magazine... 68
9
Automatische Synthese von VHDL mit dem DSP-Builder... 69
9.1 DSP-Builder ... 69
9.1.1 System
Voraussetzungen... 69
9.1.2 Installationsprozess
unter
Windows... 70
9.1.3
Arbeiten mit dem DSP-Builder ... 71
9.1.4 Einführendes
Beispiel ... 72
9.2 Quartus
II... 74
9.3
Verifikation des DSP-Builder mit händischem VHDL- Codes ... 75
9.3.1
Beispiel 1: Addier- und Multiplizier-Werk... 75
9.3.2 Beispiel
2:
Zähler ... 78
9.3.3
Beispiel 3: 8 Point Radix 8 DIT FFT ... 81
9.4
Ergebnis der High-Level Synthese... 83
10 Zusammenfassung... 85
11 Abbildungsverzeichnis ... 86
12 Tabellenverzeichnis... 89
13 Stichwortverzeichnis ... 90
14 Quellenverzeichnis ... 96

Fachhochschule
Konstanz
Diplomarbeit
Inhaltsverzeichnis
Elektrotechnik und
Informationstechnik
Ansätze einer High-Level-Synthese in der Electronic Design
Automation
Seite 5 von 148
ANHANG A: SystemVerilog Support ... 98
ANHANG B: DSP-Builder Design-Code ... 101
ANHANG B I: VHDL-Code des Beispiel 1 (AddMultWerk) aus Kapitel 9.3.1... 101
ANHANG B I-I: Händischer VHDL-Code des Addier-/Multiplizier- Werk ... 101
ANHANG B I-II: Fitter-Ergebnis-File des AddMultWerk (händisch generiertes VHDL)
... 101
ANHANG B I-III: Timing-Ergebnis-File des AddMultWerk (händische generiertes
VHDL) ... 102
ANHANG B I-IV: Aus dem DSP-Builder generierter VHDL-Code des Addier-
/Multiplizier- Werk ... 103
ANHANG B I-V: Fitter-Ergebnis-File des AddMultWerk (DSP-Builder VHDL) ... 105
ANHANG B I-VI: Timing-Ergebnis-File des AddMultWerk (DSP-Builder generiertes
VHDL) ... 105
ANHANG B II: VHDL-Code des Beispiel 2 (Zähler) aus Kapitel 9.3.2... 107
ANHANG B II-I: Händischer VHDL-Code des Zählers ... 107
ANHANG B II-II: Fitter-Ergebnis-File des Zählers (händische generiertes VHDL)... 108
ANHANG B II-III: Timing-Ergebnis-File des Zählers (händische generiertes VHDL) 108
ANHANG B II-IV: Aus dem DSP-Builder generierter VHDL-Code des Zählers ... 110
ANHANG B II-V: Fitter-Ergebnis-File des Zählers (DSP_Builder generiertes VHDL)
... 112
ANHANG B II-VI: Timing-Ergebnis-File des Zählers (DSP_Builder generiertes VHDL)
... 112
ANHANG B III: VHDL-Code des Beispiel 3 (8er FFT) aus Kapitel 9.3.3... 114
ANHANG B III-I: Aus dem DSP-Builder generierter VHDL-Code der 8er-FFT ... 114
ANHANG B III-II: Fitter-Ergebnis-File der 8er-FFT (DSP_Builder generiertes VHDL)
... 131
ANHANG B III-III: Timing-Ergebnis-File der 8er-FFT (DSP_Builder generiertes
VHDL) ... 131
ANHANG C: Visual HDL: Beispielprogramme, VHDL-Code automatisch synthetisiert
aus grafischen Spezifikationen. [27] ... 133
ANHANG C I: Multiplizierwerk ... 133
ANHANG C II: Steuerpfad syncron ... 136
ANHANG C III: Steuerpfad asyncron ... 139
ANHANG C IV: Ampel... 142

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Einleitung / Überblick
1
Seite 6 von 148
1 Einleitung
/
Überblick
Die Gesellschaft wandelt sich immer mehr zu einer Informations- und
Kommunikationsgesellschaft. Die Schlüsseltechnologie in dieser Entwicklung stellt die
Mikroelektronik dar. Die Mikroelektronik ist heute allgegenwärtig und aus unserer
Gesellschaft nicht mehr weg zu denken und sie gewinnt immer noch mehr an Bedeutung in
allen Lebenslagen.
Im Jahre 2010 werden über 5 Milliarden Transistoren auf einem einzigen Chip integrierbar
sein und die Entwicklungszyklen werden aus Wettbewerbsgründen immer kürzer. Das
Entwurfsteam muss trotz der Komplexitätsexplosion dem Kosten- und Zeitdruck
entgegenwirken. Aufgrund dessen muss sich die Entwurfsproduktivität in jedem Jahr mehr als
verdoppeln, will sie der Chipentwicklung folgen.
Der ungebrochene Technologiefortschritt hat dazu geführt, dass heute ganze Systeme aus
mehreren Prozessoren und komplexen Verbindungsstrukturen auf einem einzelnen Chip
gefertigt werden können (SoC). Um die Komplexität dieser Systeme und mögliche
Anwendungen kontrollieren zu können, bedarf es einer Automatisierung des Entwurfs auch
auf höheren Entwurfsebenen (High-Level-Synthese). Die Automatisierung des Entwurfs
(Electronic Design Automation, EDA) stellt deshalb den Schlüssel zur Mikroelektronik und
damit zu den Systemen der Zukunft dar.
Heutiger Standard des Schaltungsentwurfs ist die Hardwarebeschreibung durch
Hardwarebeschreibungssprachen (HDL), die durch CAE-Werkzeuge (Computer Aided
Engineering) zur Schaltungssimulation und ­synthese benützt werden. Dabei dient die
Simulation der Überprüfung der Funktion des Entwurfs und die Synthese der Umsetzung der
Beschreibung in eine Netzliste für die Implementierung der Schaltung auf die gewählte
Zieltechnologie wie ASICs oder FPGAs. Als Hardwarebeschreibungssprachen haben sich
weltweit die beiden Sprachen Verilog und VHDL etabliert.
Die Simulation und Verifikation gewinnt zunehmend immer mehr an Bedeutung, je
komplexer die Schaltungen werden. Es ist nicht mehr möglich Signale Takt für Takt auf ihre
Richtigkeit zu überprüfen, sondern es müssen neue Verifikationsstrategien gefunden werden.
Einer davon ist die Entwicklung von HDVL- Sprachen (Hardware Description and
Verification Language).
Diese Arbeit beschäftigt sich daher mit den bestehenden Problemen im Systementwurf und
behandelt neue Sprachen und Werkzeuge die eine High-Level-Synthese ermöglichen.
Im ersten Teil sollen die Problematik näher dargestellt werden und einen kleinen Background
geschaffen werden. Nachfolgend sollen neue HDL-Sprachen vorgestellt werden, bevor ein
Überblick über High-Level-Synthese-Tools gegeben werden soll.
Eine Sammlung derzeitiger Simulatoren und Back-End-Werkzeuge sollen die Tools
abschließend ergänzen. Da die Herausforderung der Entwurfskomplexität nicht von einem
einzelnen Unternehmen beherrschbar ist, wird auf weiterführende EDA-Organisationen und
Quellen eingegangen.
Abschließend soll anhand des DSP-Builders von Altera untersucht werden wie eine High-
Level-Synthese aus Matlab/Simulink nach VHDL funktioniert und wie Effizient sie arbeitet.

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Hintergrund der Hardwarebeschreibungssprachen
2
Seite 7 von 148
2 Hintergrund der Hardwarebeschreibungssprachen
Seit vielen Jahren besteht eine große Dynamik im Entwurf von Digitalschaltungen und die
Entwurfsverfahren wandeln sich ständig. Früher wurden integrierte Schaltungen mit
graphischen Rechner-Werkzeugen in Form von Schaltplänen manuell erstellt. Dazu mussten
die Grundelemente der Schaltung - logische Gatter, die in einer Bibliothek zur Verfügung
stehen - bzw. deren Symbole ausgewählt, auf einem Schaltplan platziert und anschließend
miteinander verbunden werden. Auf diese Weise konnten zunächst einfache Module generiert
und mit diesen wiederum komplexere Schaltungen zusammengesetzt werden, was einem sog.
Bottom-Up Entwurf entspricht. Dieser Prozess konnte bei umfangreichen Schaltungen sehr
viel Zeit in Anspruch nehmen. Darüber hinaus war ein derartiger Schaltungsentwurf wenig
flexibel gegenüber Änderungen, die wiederum ein mühsames Umzeichnen der Pläne
erforderlich machten.
2.1 Motivation: IC-Entwurfsverfahren
Die heutige Situation beim Entwurf elektronischer Systeme erfordert jedoch den Umgang mit
immer komplexeren Aufgabenstellungen, deren Integration durch die gestiegenen
Packungsdichten ermöglicht wird. Um dem wachsenden Konkurrenzdruck und den
Anforderungen der Kunden genügen zu können, ist zusätzlich eine kurze Entwicklungszeit
ein entscheidender Faktor. Auch wird versucht, einmal generierte Funktionsblöcke bzw.
Module in neuen Systemen wieder zu verwenden, was eine technologieunabhängige
Beschreibung erforderlich macht.
Durch diese Randbedingungen wird heute die Entwicklung von Digitalschaltungen streng
methodisch als Top - Down Entwurf vorgenommen. Zum Einsatz kommen hierbei Hardware-
Beschreibungssprachen (HDL - Sprachen), die eine Modellierung des Systems auf vielen
Abstraktionsebenen ermöglichen. Bedingt durch die beim Top - Down Entwurf ständig
durchgeführte, schrittweise Verfeinerung müssen, angefangen von der Systemspezifikation
über eine Beschreibung der Algorithmen und deren Aufteilung in Funktionsblöcke bis hin zu
einer Gatternetzliste, alle Ebenen mit einer solchen Sprache realisiert werden können.
Wichtiger Punkt im heutigen Entwurfsprozess ist die Unterstützung durch
Synthesewerkzeuge, die auf der Grundlage einer Verhaltensbeschreibung eine Gatternetzliste
automatisch erstellen. Dies setzt jedoch eine normierte Beschreibungssprache voraus. Des
Weiteren soll ein damit modelliertes System in verschiedenen Abstraktionsebenen simulierbar
sein um schon in einem frühen Stadium der Entwicklung Systemfehler zu entdecken.
Es gibt viele verschiedene Ansätze all diese Forderungen in einer Sprache zu vereinen. Eine
davon ist die Hardwarebeschreibungssprache VHDL. VHDL (VHSIC Hardware Description
Language; VHSIC (Very High Speed Integrated Circuit)) erfüllt all diese Anforderungen. Es
verfügt über Konstrukte zur Beschreibung von nebenläufigem oder sequentiellem Verhalten
von Digitalschaltungen mit oder ohne Timing auf einer Vielzahl von Abstraktionsebenen.
Auch besteht die Möglichkeit, durch Verschalten von Submodulen einen hierarchischen
Entwurf aufzubauen. Durch die Normierung als IEEE Standard unterstützen alle wichtigen
Entwurfswerkzeuge diese Sprache weshalb sie sich auch gut als Format zum Datenaustausch
eignet. [1]

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Bestehende Probleme des heutigen Systementwurfs
2.2
Seite 8 von 148
2.2 Bestehende Probleme des heutigen Systementwurfs
Elektronikkomponenten und die daraus aufgebauten informationsverarbeitenden
Komponenten sehen sich ständig wachsenden Anforderungen entgegen. Gleichermaßen
bezieht sich dies auch auf die Leistungsfähigkeit ihrer Prozessschnittstellen, die Komplexität
und Verarbeitungsgeschwindigkeit der realisierten Steuer-, Regler- und
Signalverarbeitungsfunktionen sowie die Flexibilität einer integrierten Netz- oder
Systemschnittstelle. Ursachen liegen darin, dass bei vielen technisch hochwertigen Produkten
eine Verdrängung mechanischer, elektrischer oder fluidischer Lösungen durch elektronische
und informationsverarbeitende Systeme erfolgt. Umgekehrt bedeutet dies, dass viele
mechanische, elektrische oder fluidische Funktionen, die von ihren physikalischen
Phänomenen meistens als zeit- und amplitudenkontinuierliche Größen zu beschreiben sind, in
informationsverarbeitende Komponenten möglichst wirklichkeitsgetreu abgebildet werden
müssen.[4]
Rapide zunehmende Komplexität, Funktionsvielfalt und Leistungsanforderungen von
elektronischen Systemen finden sich nahezu in jedem Bereich. Nachfolgend soll ein kleiner
Überblick über die gestiegene Komplexität von Systemen unterschiedlicher Bereiche
aufgezeigt werden.
Bereich Anforderungs-
spektrum
Automobilelektronik:
(Abb. 2-1)
· Echtzeit,
· Ausfallsicherheit,
· Flexibilität,
· Nachrüstbarkeit,
· Hohe Performanz,
· Niedrige Kosten, ...
Mobilkommunikation:
(Abb. 2-2)
· Funktionsvielfalt
· (PC-)
Rechenleistung
· GByte
Speicherkapazität
· Hohe
Integrationsdichte
· Geringe
Verlustleistung
Abb. 2-2 Mobiltelefon,
Megapixel-Kamera,
www-Browser, MP3-
Player, PDA,
Diktiergerät,
Computerkonsole, ...
Abb. 2-1 30% der Wertschöpfung und 90%
der Innovationen resultieren aus Elektronik
und Software. Ca. 70 teilweise vernetzte
Steuergeräte pro high-end Fahrzeug

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Bestehende Probleme des heutigen Systementwurfs
2.2
Seite 9 von 148
Unterhaltungs-
elektronik:
(Abb. 2-3)
· (Supercomputer-)
Rechenleistung
· Vernetzung,
· ,,Plug Play"
· Miniaturisierung,
· geringe
Verlustleistung und
Kosten
Abb. 2-3 Unterhaltungselektronik wird
immer kleiner, Leistungsfähiger und billiger
Supercomputer on a
Chip:
(Abb. 2-4)
· 2x64-bit PPUs
· 8x SPEs mit 32
Gops
· 4.6 GHz Takt, 234
M Transistoren,90
nm SOI CMOS
· 76 GBytes/s I/O
· 25 GBytes/s
Speicherbandbreite
Abb. 2-4 Leistungsfähige Systeme werden
immer kleiner
Industriesteuerungen:
(Abb. 2-5)
· hohe
Ausfallsicherheit
· Echtzeitfähigkeit
· extreme
Umweltbedingungen
und mechanische
Belastungen
Abb. 2-5 Anforderungen an die Elektronik
steigen ständig an
Vernetzte Welten:
(Abb. 2-6)
· Breitband
Netzzugangsdienste
x-DSL, Cable
Modem
· Internet: Terabit IP
Router mit
Dienstgüten und
Datensicherheit
· ,,Jeder mit jedem"
Abb. 2-6 Die Informationstechnologie ist aus
unserer Welt nicht mehr weg zu denken

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Bestehende Probleme des heutigen Systementwurfs
2.2
Seite 10 von 148
Durch die zunehmende Komplexität und die Zahl der Aufgaben eines elektronischen Systems
werden jedoch auch die Entwurfsaufgaben zunehmend anspruchsvoller. Zusätzlich wird eine
sehr geringe Zeit vom Beginn der Entwicklung bis zur Marktreife (engl. time-to-market)
gefordert, die ohne aufwendige nachträgliche Korrekturen am Endprodukt in ihrer
Einsatzumgebung auskommen müssen. Die schnell wachsende Komplexität der
Entwurfsaufgaben ist durch den hohen Anteil an Wechselwirkungen für den Menschen nur
noch schwer nachzuvollziehen. Auch die Qualitätssicherung gestaltet sich als zunehmendes
Problem. Um Entwurfsfehler in frühen Phasen zu vermeiden, werden verstärkt formale
Hilfsmittel zur Spezifikation und zur abstrakten Modellierung verwendet. Mit den formalen
Hilfsmitteln finden auch die Simulation und formale Verifikation der Modellierung Einzug in
den Entwurf elektronischer Systeme. Diese Techniken sind in vielen Jahren gewachsen.
Deswegen existieren mehrere parallele Beschreibungsformen, mit denen dieselbe
Funktionalität modelliert werden kann. Zusätzlich sind die Beschreibungsformen sowie
Simulation und formale Verifikation oftmals auf einzelne Werkzeuge festgelegt, die keine
oder eine eingeschränkte Interaktion mit weiteren Werkzeugen erlauben.
Diese parallele Simulation und
Verifikation im Systementwurf stellt
ein Problem dar, da keine
Durchgängigkeit der einzelnen
Ebenen gegeben ist. In jeder
Systemebene kommen so
beispielsweise unterschiedliche
Beschreibungssprachen vor, deren
Interaktion mittels weiterer
Werkzeuge hergestellt werden kann,
vgl. Abb. 2-7. Diese Problematik
verkompliziert den gesamten
Systementwurf unnötig. Ein neuer
Ansatz, unter vielen, versucht mittels
der HDL-Sprache SystemC eine
Durchgängigkeit des gesamten
Systementwurfs zu ermöglichen. Die
verschiedenen Ansätze der
Durchgängigkeit werden in Kapitel 4
Systembeschreibungssprachen
(System-Level-Entwurf näher
erläutert.
Abb. 2-7 Durchgängigkeitsproblem im (HW/SW)
Systementwurf.
Matlab/Simulink, Statemate, C, HandelC,
SpecC, SDL, UML, SpecCharts,
SystemC
,..
MATLAB/Simulink,
VHDL, Verilog,EDK/ISE,
SystemC
...
C++, C, CASE tools,
EDK,
SystemC
,...
Spice, ...
VHDL, Verilog, ISE, ...
C++, C, CASE tools,
EDK,
SystemC
, ...
VHDL, Verilog, ISE, ...
C++, C, Assembler,
CASE tools, EDK,
SystemC
, ...
OpCode
System
Ebene
Architektur / Modul
Ebene
RTL/Block
Ebene
Logik / Operationen
Ebene
Bauelemente/
Instruktionen
Ebene
Hardware
Software

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Entwurfssichten
2.3
Seite 11 von 148
2.3 Entwurfssichten
Die Entwicklung elektronischer Systeme ist bei der heutigen Komplexität und den genannten
Anforderungen nur durch eine strukturierte Vorgehensweise beherrschbar. Idealerweise wird,
ausgehend von einer Spezifikation auf Systemebene, die Schaltungsfunktion partitionieren
und die grundsätzlichen Funktionen den einzelnen Modulen zugeordnet. Schrittweise wird der
Entwurf weiter strukturiert und zunehmend mit Details der Implementierung versehen, bis die
für die Fertigung des elektronischen Systems notwendigen Daten vorliegen. Dies können
Programmierdaten für Logikbausteine, Layouts für Leiterplatten oder Datensätze für die IC-
Fertigung sein. Im Entwurf elektronischer Systeme wird üblicherweise in die drei Sichtweisen
Verhalten, Struktur und Geometrie unterschieden. Diese Einteilung wird durch das sog. Y-
Diagramm verdeutlicht
(
Abb. 2-8
):
Gleichzeitig zu den drei Sichtweisen, die
durch die Äste im Y-Diagramm
repräsentiert werden, sind auch die
verschiedenen Abstraktionsebenen durch
Kreise mit unterschiedlichen Radien
dargestellt. Ein großer Radius bedeutet
hohe Abstraktion. Es kann nun
vereinfacht der Entwurf elektronischer
Systeme als eine Reihe von
Transformationen (Wechsel der
Sichtweise auf einem Abstraktionskreis)
und Verfeinerungen (Wechsel der
Abstraktionsebene innerhalb einer
Sichtweise) im Y-Diagramm dargestellt
werden. Beginnend auf dem
Verhaltensast in der Systemebene wird
der Entwurf durch Verfeinerungs- und Syntheseschritte bis hin zum Layout auf dem
geometrischen Ast durchgeführt. Ein Place- and Route - Werkzeug für
Standardzellenentwürfe überführt beispielsweise eine strukturale Beschreibung in der
Logikebene (Gatternetzliste) in eine geometrische Beschreibung in der Schaltkreisebene (IC-
Layout). Das reine Top-Down- Vorgehen (Entwicklung in Richtung Kreismittelpunkt) kann
dabei nicht immer konsequent beibehalten werden. Verifikationsschritte zwischen den
einzelnen Ebenen zeigen Fehler beim Entwurf auf. Gegebenenfalls muss das jeweilige
Entwurfsergebnis modifiziert, der Entwurfsschritt wiederholt oder sogar auf höherer
Abstraktionsebene neu eingesetzt werden. Dies wird auch als Jojo-Design bezeichnet. [10]
Abb. 2-8 Y-Diagramm nach Gajski-Walker und die
einzelnen Abstraktionsebenen

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Entwurfsebenen
2.4
Seite 12 von 148
2.4 Entwurfsebenen
2.4.1 Systemebene
Die Systemebene beschreibt die grundlegenden Charakteristika eines elektronischen Systems.
Sie dient der Partitionierung der gesamten Schaltungsfunktion. In der Beschreibung werden
typische Blöcke, wie Speicher, Prozessoren und Interface-Einheiten verwendet. Diese Module
werden durch ihre Funktionalität (im Falle eines Prozessors z.B. durch dessen Befehlssatz),
durch Protokolle oder durch stochastische Prozesse charakterisiert. Auf dieser Ebene
dominieren meist noch die natürliche Sprache und Skizzen als Beschreibungsmittel.
Zunehmend setzen aber schon auf dieser Ebene neue Beschreibungssprachen an.
2.4.2 Algorithmische Ebene
Auf dieser Ebene wird ein System oder eine Schaltung durch nebenläufige (d.h. parallel
ablaufende) Algorithmen beschrieben. Typische Beschreibungselemente dieser Ebene sind
Funktionen, Prozeduren, Prozesse und Kontrollstrukturen. Auf der Algorithmischen Ebene
wird ein elektronisches System in der strukturalen Sicht durch allgemeine Blöcke
beschrieben, die über Signale miteinander kommunizieren. In der Verhaltenssicht dagegen
wird die Beschreibung des Verhaltens durch eine algorithmische Darstellung mit Variablen
und Operatoren vorgenommen. Es wird kein Bezug zur späteren Struktur der Realisierung
(Hardwarepartitionierung) gegeben. Desgleichen werden auch keine zeitlichen Details durch
Takt- oder Rücksetzsignale eingeführt.
2.4.3 Register-Transfer-Ebene
Bei Beschreibungen auf der Register-Transfer-Ebene (Register Transfer Level, RTL)
werden die Eigenschaften einer Schaltung durch Operationen (z.B. Addition) und durch den
Transfer der verarbeiteten Daten zwischen Registern spezifiziert. Typischerweise werden in
die Beschreibung Takt- und Rücksetzsignale integriert. Die einzelnen Operationen sind dann
den Werten oder Flanken dieser Signale zugeordnet, so dass die zeitlichen Eigenschaften
schon relativ genau definiert werden können. In der strukturalen Sicht werden Elemente wie
Register, Codierer, Multiplexer oder Addierer durch Signale miteinander verknüpft. In der
Verhaltenssicht finden sich vorwiegend Beschreibungen in Form von endlichen Automaten.
Die Grobeinteilung der Chipfläche wird in der geometrischen Sicht zu einem sog. Floorplan
verfeinert.
2.4.4 Logikebene
Auf der Logikebene werden die Eigenschaften eines elektronischen Systems durch logische
Verknüpfungen und deren zeitliche Eigenschaften (i.a. Verzögerungszeiten) beschrieben. Der
Verlauf der Ausgangssignale ergibt sich dabei durch die Anwendung dieser Verknüpfungen
auf die Eingangssignale. Die Signalverläufe sind wertdiskret, d.h. die Signale nehmen nur
bestimmte, vordefinierte Logikwerte (z.B. ´low´, ´high´, ´undefined´) an. In der strukturalen
Sichtweise wird der Elektronikentwurf durch eine Zusammenschaltung der Grundelemente

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Entwurfsebenen
2.4
Seite 13 von 148
(AND-, OR-, XOR-Gatter, Flip-Flops, etc.) dargestellt. Diese Grundelemente werden dabei
von einer Bibliothek zur Verfügung gestellt. Innerhalb dieser Bibliothek sind die
Eigenschaften der Grundelemente definiert. Diese bilden die Charakteristika der einzelnen
Zellen der Zieltechnologie in vereinfachter Form nach. Der Übergang von der
Verhaltenssichtweise auf die strukturale und technologiespezifische Sichtweise erfolgt durch
ein Syntheseprogramm.
2.4.5 Schaltkreisebene
Auch auf der Schaltkreisebene besteht die
strukturale Sichtweise aus einer Netzliste.
Diesmal sind allerdings keine logischen
Gatter kombiniert, sondern elektrische
Bauelemente wie Transistoren, Kapazitäten
und Widerstände. Einzelne Module werden
nun nicht mehr durch eine logische
Funktion mit einfachen Verzögerungen
beschrieben, sondern durch ihren
tatsächlichen Aufbau aus den
Bauelementen. In der geometrischen Sicht
werden elektronische Systeme durch
Polygonzüge dargestellt, die beispielsweise
unterschiedliche Dotierungsschichten auf
einem Halbleiter definieren. Die
Verhaltenssicht verwendet vornehmlich
Differentialgleichungen zur Modellierung
des Systemverhaltens. Dementsprechend
aufwendig und rechenzeitintensiv sind die
Simulationsalgorithmen. Die Signale auf
Schaltkreisebene können im Gegensatz zur
Logikebene prinzipiell beliebige Werte
annehmen und weisen einen kontinuierlichen
Verlauf über der Zeit auf, d.h. sie sind zeit-
und wertkontinuierlich.
Jede der vorgestellten Entwurfsebenen hat ihren Zweck. Während auf den oberen Ebenen
hohe Komplexitäten gut beherrschbar sind, bieten die unteren Ebenen mehr Details und
höhere Genauigkeit (vgl. Abb. 2-9). So eignen sich die Systemebene und die Algorithmische
Ebene für die Dokumentation und Simulation des Gesamtsystems, die Register-Transfer-
Ebene für die Blocksimulation und synthesegerechte Modellierung und die Logikebene für
Simulationen, mit denen beispielsweise die maximale Taktrate einer Schaltung bestimmt wird
oder unerwünschte Impulse (Spikes) detektiert werden. Auf jeder Ebene wird nur die
benötigte Genauigkeit geboten; unwichtige Details sind nicht sichtbar (Abstraktionsprinzip).
[10]
Abb. 2-9 Graphische Zusammenfassung der
Entwurfsebenen und deren Bedeutung

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Hardware und Software Lösungen
2.5
Seite 14 von 148
2.5 Hardware und Software Lösungen
In Abb. 2-10 sind die unterschiedlichen Entwurfsalternativen für elektronische Systeme
dargestellt. Diese bestehen im Allgemeinen aus anwendungsspezifischen, integrierten
Schaltungen und/oder programmierbaren Standardbausteinen mit Speichern oder
Zusatzhardware.
Diese Systeme zeichnen sich, im Gegensatz zur klassischen Datenverarbeitung, durch eine
intensive Interaktion mit der Umgebung und fest definierten Aufgaben mit zeitlichen
Randbedingungen aus. Speziell der Bereich der Mikroelektronik erfordert immer komplexere
Funktionalität, die in einem wachsenden internationalen Wettbewerb mit strengen Richtlinien
zu entscheidenden Wettbewerbsvorteilen führen kann. Die Einhaltung der
Spezifikationsvorgaben und die Erfüllung gesetzlicher Vorschriften sind insbesondere für
elektronische Systeme mit "harten" Echtzeitbedingungen wichtig. Bei der Verletzung der
Echtzeitbedingungen können schwere Störungen auftreten, die von der Zerstörung eines
Werkstücks bis zur Gefährdung von Mensch und Umwelt führen können.
Die Implementierung von elektronischen Systemen und deren Funktionen unter
Randbedingungen, wie Quantisierungs- oder Diskretisierungsfehlern bzw. dem exakten
Einhalten von Echtzeitbedingungen gehören zu den Grundaufgaben der
Informationsverarbeitung. Hinzu kommen weitere Randbedingungen wie die Äquidistanz der
Abtastung oder das Abtasttheorem von Shannon [5]. Letzteres besagt, dass ein Signal
mindestens mit dem Doppelten der höchsten auftretenden Frequenz abzutasten ist und ist
somit der Gradmesser für die Einhaltung der Echtzeitbedingungen. Diese resultieren
ausschließlich daraus. Jedoch bereitet gerade deren Einhaltung bei hochdynamischen Signalen
Probleme und zwingt zur ständigen Erhöhung der Rechenleistung. Grundsätzlich besteht die
Abb. 2-10 Entwurfsalternativen von elektronischen Systemen [9]

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Hardware und Software Lösungen
2.5
Seite 15 von 148
0,001
1
0,1
0,01
10
F
le
x
ib
ilit
ä
t [
Ä
n
d
e
ru
ngen
p
ro
h
]
Berechnungszeit * Energie * Chipfläche
100.000.000 10.000.000 1.000.000
100.000
10.000
1.000
100
10
GP-CPU
ASIC
FPGA
Full
Custom
DSP
ASIP
0,001
1
0,1
0,01
10
F
le
x
ib
ilit
ä
t [
Ä
n
d
e
ru
ngen
p
ro
h
]
Berechnungszeit * Energie * Chipfläche
100.000.000 10.000.000 1.000.000
100.000
10.000
1.000
100
10
GP-CPU
GP-CPU
ASIC
ASIC
FPGA
FPGA
Full
Custom
Full
Custom
DSP
ASIP
Möglichkeit, Informationen sequentiell
(Software-Lösung) oder parallel (Hardware-
Lösung) zu verarbeiten.
Ein Prozessor macht dies sequentiell, da nur
eine begrenzte Anzahl von
Verarbeitungselementen zur Verfügung
steht. Somit ist die Anzahl der pro
Tastperiode durchführbaren Operationen
immer nach oben begrenzt und nimmt mit
steigender Abtastfrequenz ab. Abb. 2-11
stellt dies qualitativ dar. In parallel
arbeitenden Technologien, wie PLDs und
ASICs, können jedoch theoretisch beliebig
viele Verarbeitungselemente implementiert
werden. Daher ist dort die Anzahl der pro
Tastperiode durchführbaren Operationen
theoretisch unbegrenzt.
Merkmale der Softwarelösung
Merkmale der Hardwarelösung
(z.B. P, DSP)
(z.B. ASIC, PLD)
- Festkomma und Gleitkomma
- ASIC aufwändig und unflexibel
- Programmierung in C und Assembler
- FPGA rekonfigurierbar (,,Co-Prozessoer")
- Begrenzte Parallelisierungsmöglichkeit
- Entwurf mit HDLs (VHDL, SystemC)
- Hoher Parallelisierungsgrad möglich
Werden typische
Signalverarbeitungsalgorithmen
verglichen, die auf verschiedenen
Plattformen wie DSP, FPGA,
ASIC oder optimierte ICs
implementiert wurden ist der
Zusammenhang, in Bezug auf
Flexibilität (Änderung pro
Stunde) und Produkt aus
Ausführungszeit, Energie-
verbrauch und Chipfläche in
Abb. 2-12 dargestellt.
Demzufolge verbraucht ein DSP
eine Million mal mehr als ein
maßgeschneiderter Chip (Full
Custom) an ,,Performance"
(Berechnungszeit * Energie *
Chipfläche). Da die Herstellung des Full Custom aber auch die Fertigung einschließt, dauert
hier ein Designdurchlauf tausendmal länger als beim DSP. [7]
Abb. 2-11 Abhängigkeit zwischen Abtastfrequenz
und der Anzahl der erreichbaren Operationen
Abb. 2-12 Vergleich Flexibilität im Verhältnis zu den Kosten aus
Energieverbrauch, Chipoberfläche und Berechnungszeit [8]

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Hardware und Software Lösungen
2.5
Seite 16 von 148
Vor dem Hintergrund solch langer Iterationszyklen ist die Wiederverwendung ausgetesteter
Lösungen enorm wichtig. Sie stellt einen wesentlichen Marktvorteil dar und verkürzt die
,,Time to Market" drastisch. Durch die im Einsatz geforderte Effektivität kommen in vielen
Fällen nur Hardwarelösungen in Frage. Daraus ergibt sich die Forderung nach
standardisierten Funktionsbibliotheken wie bei Programmiersprachen und damit die
ausgetesteten Lösungen. Für den breiten Einsatz Hardwarebasierter Lösungen stellt sich somit
die Forderung nach einer universellen, hersteller- und technologieunabhängigen
Funktionsbibliotheken, die die Signalverarbeitung unterstützt und damit die existierenden
konventionellen Hardwarebeschreibungssprachen, die auf Logik- oder
Verhaltensbeschreibung beschränkt sind, ergänzt.
2.6 Bedeutung der HW/SW-Architektur auf den einzelnen
Abstraktionsebenen
2.6.1 Abstraktion
Ebene Hardware
Software
System Netzwerk
miteinander
kommunizierender Teilsysteme,
Aufgaben/Tasks, welche die gewünschte
Anwendung/Funktionalität modellieren
Architektur/Modul Prozessoren,
ASIC, Speicher,
Busse, I/O, ...
Interagierende Module,
Prozesse, ...
RTL/Block
Zähler, Komparatoren, ALS,
Register, ...
Schleifen, Programmsequenzen,
...
Logik / Operationen
Logikgatter, Flip-Flops, ...
Zuweisungen, Verzweigungen,
...
Bauelemente /
Instruktionen
Transistoren, R, C, L, ... Maschineninstruktionen
[14]
2.6.2 Beschreibungssprachen / Werkzeuge
Ebene Hardware
Software
System
SystemC, MATLAB/Simulink, Statemate, C, SpecC, HandleC,
SDL, UML, SpeecCharts, ...
Architektur/Modul SystemC,
MATLAB/Simulink,
VHDL, Verilog, EDK/ISE, ...
SystemC, C++, C, CASE tools,
EDK, ...
RTL/Block
VHDL, Verilog, ISE, ...
SystemC, C++, C, CASE tools,
EDK, ...
Logik / Operationen
VHDL, Verilog, ISE, ...
SystemC, C++, C, Assembler,
CASE tools, EDK, ...
Bauelemente /
Instruktionen
Spice, ...
OpCode
[14]

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Standardtechnologie ASIC
2.7
Seite 17 von 148
2.7 Standardtechnologie ASIC
Wie in Abb. 2-10 kurz die Entwurfsalternativen von elektronischen Systemen aufgezeigt
wurden, soll nun im folgenden Kapitel speziell auf die ASIC ­ Technologie eingegangen
werden.
Die Standardtechnologie des ASIC´s gliedert sich generell in 3 Typen von ICs (vgl. auch Abb.
2-13):
- Programmierbare ASIC´s:
Die bekanntesten Vertreter sind hier der FPGA und der CPLD. Diese Chips können
vom Anwender frei programmiert werden. Die allermeisten Anwendungen sind hier
rein digitaler Natur.
- Semi Custom ASICs:
Das Gate Array ist in dieser Klasse die wichtigste Linie. Diese Chips werden von der
Fabrik bis zum letzten Prozessschritt vorgefertigt. Der Anwender muss nur noch die
einzelnen Blöcke/Transistoren des Gate Arrays nach seiner Vorgabe
konfigurieren/verbinden. Diese Entwicklung von Semi-Custom ASICs wird in den
meisten Fällen von Design Centern durchgeführt. Mit dieser Klasse können digitale
wie einfache analoge Anwendungen implementiert werden.
- Full Custom ASICs:
Diese Klasse wird für sehr komplexe digitale, analoge, wie auch mixed mode
Anwendungen eingesetzt. Diese rein im Auftrag von einer Chip-Fabrik erstellten
Chips sind fest verdrahtet, d.h. ihr innerer Aufbau ist fixiert.
Diese 3 Typen des ASIC´s besitzen bezüglich der Kriterien Stückzahl - NRE- Kosten -
Komplexität (vgl. Abb. 2-14) und Komplexität - Geschwindigkeit (vgl. Abb. 2-15)
wesentliche Unterschiede. Die verschiedenen Technologien lassen sich noch nach Flächen-
/Leistungseffizienz unterscheiden, die in Anwendungen von batteriebetriebenen oder für
Zwecke der Raumfahrt besondere Bedeutung einnehmen (vgl. Abb. 2-16 ).

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Standardtechnologie ASIC
2.7
Seite 18 von 148
Tabelle 2-1 soll die Eigenschaften des
ASICs in Relation mit
Standardbauelementen wie z.B.
Mikroprozessoren nochmals
darstellen.
Abb. 2-13 Technologiebaum des ASIC´s
Abb. 2-14 Zusammenhang der Kriterien: Stückzahl,
NRE - Kosten und Komplexität
Abb. 2-15 Abhängigkeit der Geschwindigkeit bzgl.
Komplexität
Abb. 2-16 Darstellung der Flächen-
/Leistungseffizienz
Tabelle 2-1 Zusammenfassung der einzelnen Technologien
mit deren Eigenschaften
Application Specific IC
Custom ASIC
Memories
Semi Custom ASIC
Programmable ASIC
PLD
FPGA
MCU
Gate Array
Linear Array
Cell Based IC
Full Custom IC

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Besondere Bedeutung/Stellenwert des FPGA
2.8
Seite 19 von 148
2.8 Besondere Bedeutung/Stellenwert des FPGA
Ein FPGA (Field Programmable Gate
Array) ist ein frei programmierbarer
Logikschaltkreis. Wie in Abb. 2-17
prinzipiell zu sehen ist, besteht ein FPGA
aus einer Matrix-Struktur aus
konfigurierbaren Logikblöcken,
Metalllayern zur Verbindung der CLBs
(Configurable Logic Blocks) und Ein- und
Ausgabeblöcke (I/O-Blöcke) zur Impedanz-
und Logikanpassung der I/O-Pins des
Gehäuses (die für die Verbindung zur
Außenwelt notwendig sind). Die
Logikblöcke werden auch als CLB
bezeichnet. Des Weiteren existieren SRAM-
Blöcke, für die Speicherung von Daten. Manche Anbieter stellen zusätzlich PLLs (Phase
Locked Loop), DLLs (Delay Locked Loop), Taktaufbereitungen (DCM: Digital Clock
Manager) zur Verfügung. Da die CLBs der FPGAs einen synchronen Takt erhalten müssen,
um unkalkulierbare Laufzeitunterschiede zu vermeiden (synchrones Design), sind
Taktverteilerbäume notwendig. In der Regel werden sowohl Multiplizierer oder allgemeinere
Recheneinheiten, als auch komplette Prozessoren in den FPGA integriert. Aufgrund der
immer größeren Komplexität und Packungsdichte eignen sich FPGAs immer mehr für echte
System on a Chip (SoC) Lösungen, die Hardware- und Softwareteile auf einem Chip vereinen
können. (vgl. Abb. 2-18)
Es gibt sowohl reprogrammierbare
flüchtige (SRAM-basierte), nicht flüchtige
reprogrammierbare (Flash basierend) als
auch nur einmal programmierbare
(AntiFusetechnik) FPGAs. RAM-basierte
FPGAs laden ihre Hardwarekonfiguration
nach Anlegen der Betriebsspannung in der
Bootphase aus externen Speichern, z.B.
FlashROM.
Jeder CLB besteht aus Logikzellen, die für
Operationen wie AND, OR, NOT, XOR,
usw. genutzt werden können, eine
Verbindungsmatrix zur Metalllayer-
Verbindungsebene, sowie aus Registern.
Die kombinatorische Logik wird u.a. auch
durch LUTs (look up table) gebildet. Eine
LUT enthält einen RAM-Speicher, dessen
Programmierung alle möglichen
Ausgangswert-Kombinationen zulässt. Des
Weiteren werden in den CLBs auch FlipFlop-Register zur Verfügung gestellt, oft in Form von
D-Latches. Die der kombinatorischen Logik nachgeschalteten Latches können genutzt oder
Abb. 2-17 FPGA Aufbau
Abb. 2-18 FPGA als Plattform für SoC

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Besondere Bedeutung/Stellenwert des FPGA
2.8
Seite 20 von 148
umgangen werden. Der LUT-Speicher kann alternativ als synchrones Schieberegister oder
alternativ als Speicher eingesetzt werden. Ein FPGA besteht aus sehr vielen Logikzellen. Es
sind heute FPGA mit über 10 Mio. Gatteräquivalenten erhältlich.
Die Programmierung der Logikbausteine kann je nach FPGA unterschiedlich gelöst werden.
Es können zwei Methoden unterscheiden werden, die es ermöglichen den FPGA mehrmals zu
programmieren, und Methoden, die nur eine einmalige Programmierung zu lassen. Bei den
mehrmals programmierbaren FPGAs wird die Konfiguration in Speicherzellen (z.B. SRAM,
EPROM, EEPROM, Flash) gespeichert. Bei den einmalig programmierbaren FPGAs werden
die physikalischen Eigenschaften der Verbindungswege permanent geändert (Antifuse-
Technologie).
Vorteile gegenüber ASICs
- geringe Entwicklungskosten
- sehr kurze Implementierungszeiten
- einfach korrigier- und erweiterbar
- Anwendung als Rapid Prototyping, zur Verifikation komplexer ASIC-Designs
Nachteile gegenüber ASICs
- ab mittleren Stückzahlen höherer Stückpreis
- geringere Taktraten (max. ca. 300 MHz)
- geringere Logikdichte (ca. 10facher Flächenbedarf gegenüber ASIC gleicher
Technologie)
- höherer Energiebedarf

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Herstellungsprozess von digitalen integrierten Schaltkreisen
2.9
Seite 21 von 148
2.9 Herstellungsprozess von digitalen integrierten Schaltkreisen
In Abb. 2-19 ist in groben Schritten der Ablauf zur Herstellung eines digitalen Schaltkreises
dargestellt. Hierbei soll auf die Überprüfung der logischen Funktionen nicht eingegangen
werden. Bis zur Übergabe der Fertigungsdaten an die Fabrik(Tapeout) ist dieser Prozess rein
virtuell. Bei der Verwendung von PLDs/FPGAs fällt dieser Schritt weg, da das Bauelement
schon vorliegt. Hier müssen vom Anwender nur noch die Konfigurationsdaten generiert
werden.
Die Spezifikation beschreibt die Schaltungseingabe, die mit einer Hochsprache (Hardware
Description Language) erfolgt. Daraus wird mit einem Synthesewerkzeug eine Netzliste
generiert, welche nur noch eine Hierarchieebene umfasst und ausschließlich logische
Elemente (Register-Transfer-Logik) enthält. Die Abbildung auf die tatsächlich in der
jeweiligen Technologie vorhandenen Komponenten wird als Mapping bezeichnet. Danach
werden diese optimal platziert und verbunden. Anschließend erfolgt dann bei PLDs/FPGAs
die Ausgabe der Konfigurationsdaten, während bei ASICs die Daten auf Einhaltung von
Fertigungsparametern (z.B. Isolationsabstand) überprüft werden. Diese Daten gehen dann an
die Fabrik, in welcher die Masken für den Herstellungsprozess gefertigt werden. Damit
erfolgt die eigentliche Herstellung des Dies. Dieser wird dann gebondet (mit Anschlussbeinen
verbunden) und verpackt. Während der Spezifikation erfolgt schon die rein funktionale
Simulation der Schaltung. Dies geschieht mittels Simulatoren für die verwendete
Beschreibungssprache. Dazu wird der Quelltext kompiliert und ein komplettes Abbild der
Schaltung mit allen Instanzen auf eine Ebene heruntergebrochen. Weitere Simulationen
erfolgen nach dem Platzieren und Routen, dann als Timing-Simulation und seltener nach der
Synthese als funktionale Simulation auf Register-Transfer-Ebene. Während der Produktion
finden Tests vor zerschneiden des Wafers und nach dem Verpacken statt. [4]
Abb. 2-19 Prinzipielle Darstellung des IC Herstellungsprozess

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Herstellungsprozess von digitalen integrierten Schaltkreisen
2.9
Seite 22 von 148
Wird die Vorgehensweise bei der
Entwicklung von integrierten Schaltungen
betrachtet, ist festzustellen, dass sich mit
zunehmender Komplexität der Bausteine der
Ansatzpunkt beim Chipentwurf zunehmend
auf höhere Abstraktionsebenen verschoben
hat.
In Abb. 2-20 ist der Grund hierfür Grafisch
dargestellt. Die Menge an Informationen, die
einen konkreten Baustein auf den
unterschiedlichen Entwurfsebenen
beschreibt, nimmt mit zunehmender
Abstraktion auf den höheren Ebenen ab. Auf
diese Weise bleibt der Entwurf zunehmend größerer Bausteine für den Entwickler
handhabbar. Der Einstiegspunkt wird dabei
auf immer höheren Abstraktionsebenen
verschoben. Dies setzt jedoch voraus, dass mit Hilfe geeigneter Werkzeuge die Übergänge
zwischen den darunterliegenden Ebene durch entsprechende Synthese- und
Verifikationsmethoden automatisiert oder zumindest teilautomatisiert werden.
Die drei Hauptgebiete im IC-Herstellungsprozess sind in Abb. 2-21 näher spezifiziert:
Synthese:
Hier geht es um den direkten Entwurf der
Hardware, die Erstellung und Generierung
durch die Beschreibungssprachen,
schematische Erzeugung oder RTL-
Eingabe sowie die Optimierung des
Codes, der Netzlisten oder der generellen
Schaltung in Hinsicht auf
anbieterspezifische Regeln, Geschwindig-
keiten und die Schaltkreisfläche.
Simulation Verifizierung:
Durch Analyse, Test und Prüfroutinen muss sichergestellt werden, dass der Entwurf das tut,
was er soll, keine Ausnahmen auftreten können und dass es z.B. bei der Optimierung keine
logik-verändernden Eingriffe gegeben hat. Des Weiteren gibt es Programme, die Fehler in
einem beliebigen Entwurfsschritt aufspüren und auch automatisch beheben können
(Debugging).
Platzieren, Verdrahten, Optimieren:
Die Übertragung auf Technologieebene, spezifiziert nach ASIC, CPLD oder FPGA. Legen der
Leitungen und automatisches Vermeiden von Fehlern.
Abb. 2-20 Ebenen des IC Entwurfs
Abb. 2-21 Die drei Hauptgebiete im HW Design
Ablauf (Synthese, Verifikation/Simulation und
Platzierung)

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Probleme der Entwurfskomplexität hoch integrierter Systeme
2.10
Seite 23 von 148
2.10 Probleme der Entwurfskomplexität hoch integrierter Systeme
Der Entwurf niedrig integrierter digitaler
Schaltungen ( 100k Gatter) stellt noch keinen
hohen Anspruch an Komplexität dar und ist
beispielsweise mit der Modellierung auf
Algorithmus-Ebene mit VHDL, relativ einfach.
Wird jedoch ein größeres System modelliert
entstehen viele Fehlerquellen und der
Entwurfsaufwand steigt in überproportionale
Höhen(vgl. Abb. 2-22). Viele Entwurfsschritte
sind ermüdend und führen zu fehleranfälligen
Routinearbeiten. Diese routinemäßigen Arbeiten
kann nun die Entwurfsautomatisierung (EA)
übernehmen um so eine Reduzierung des
menschlichen Fehlerpotentials zu erreichen. Die
EA erhöht die Entwurfsproduktivität und
Entwurfsqualität. Diese Automatisierungsschritte
im Systementwurf ist unter dem Begriff EDA
(Electronic Design Automation) zusammengefasst.
Es genügt nicht mehr, eine Funktion in Transistoren umzusetzen und daraus als direkte
Abbildung einen IC zu entwerfen. Das Problem liegt in der langen Entwurfsdauer, die meist
überproportional mit der Transistoranzahl ansteigt. Mit dem Anstieg der Entwurfskomplexität
hochintegrierter Systeme steigen auch die systemspezifischen Aspekte bezüglich Laufzeiten,
Verlustleistung, Chipfläche usw. Hand in Hand steigt daraus auch der Testaufwand, der
überproportional zur Gatteranzahl wächst.
Abb. 2-22 Überproportionaler Anstieg des
Entwurfsaufwand für irreguläre Logik.
Gegensteuern durch EDA - Maßnahmen
waren erforderlich.
Abb. 2-23 Entwurfsproduktivitäts-Lücke

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Folgerungen zur marktgerechten Verkürzung der Entwurfsdauer
2.11
Seite 24 von 148
2.11 Folgerungen zur marktgerechten Verkürzung der
Entwurfsdauer
Da die Entwicklung von elektronischen Systemen an die Entwicklung des Halbleitermarktes
gekoppelt ist, muss über eine Verkürzung der Entwicklungsdauer dem Kostendruck und
Zeitdruck entgegengewirkt werden.
Wenn bei den Systementwürfen die Schaltungen inhaltlich immer komplexer werden, droht in
der Spezifikations- und Entwurfsphase der zeitliche und personelle Aufwand in
unzumutbarem Maße zu steigen. Gleichzeitig sinkt die Wahrscheinlichkeit, dass ein
gefertigter Chip beim ersten Versuch fehlerfrei funktioniert, extrem schnell ab: Sie potenziert
sich bei konstanter Fehlerwahrscheinlichkeit pro Gatter mit einem Komplexitätsmaß, das
seinerseits exponentiell wächst. [6]
Sofern die Produktivität der Designer nicht in dem Maße gesteigert und das Fehlerrisiko pro
Gatter in dem Maße reduziert werden kann, in dem der Umfang der Schaltung zunimmt, ist
eine wirtschaftliche Produktentwicklung unter den beiden Faktoren Fehlerwahrscheinlichkeit
und Produktivität nicht mehr gegeben. Da aber weder Fleiß noch Disziplin der Designer den
Wachstumsraten der Mikroelektronik folgen können oder eine Vergrößerung der
Entwicklungsmannschaft organisatorisch und kapazitiv kaum möglich ist, ist eine Revolution
der Designmethoden in regelmäßigen Abständen unabdingbar (vgl. Abb. 2-24).
Einige Maßnahmen zur wirtschaftlichen Begrenzung des Entwicklungszeitraumes sind:
- massiver Rechnereinsatz zur Automatisierung des Entwurfs von ICs
- Synthese auf allen Entwurfsebenen
- Strukturierter Schaltungsentwurf
- Wahl schnell entwerfbarer und testfreundlicher Schaltungen (regelmäßige Strukturen
wie ROM, PLA)
- Einsatz vorentwickelter Zellen, Module, Systeme (IPs, Design Re-Use, SoC)
- Wahl konfektionierter Entwurfsstile (Semikundenentwurf, Gate Array,
Standardzellen,...)
- Zusätzlich implementierte Testhilfen
Abb. 2-24 Qualitative Darstellung der Produktivitätslücke im System-Design
1980 1990 2000 2010
10 Tsd.
100 Tsd.
1 Mio.
10 Mio.
100 Mio.
1 Mrd.
10 Mrd.
Komplexitätssteigerung in der
Fertigung: 43% p.a.
Komplexitätssteigerung im Entwurf:
Heute 20% p.a.
Überproportionale Steigerung der
Entwurfsproduktivität notwendig
Ständige Verbesserung der
Entwurfsmethoden und ­ verfahren!
IC - Komplexität
(Transistoranzahl/Chip)
Jahr

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Folgerungen zur marktgerechten Verkürzung der Entwurfsdauer
2.11
Seite 25 von 148
Im Bereich der Layouterzeugung sind diese Revolutionen ­ die Einführung der CAD-
Programme und der automatischen Place Route Tools ­ weitgehend abgeschlossen, und
beim Schaltungsentwurf wird die
Accellera
inzwischen allgemein als Mittel zur
Produktivitätssteigerung und Fehlervermeidung akzeptiert. Unter Logiksynthese wird die
automatische Erzeugung von digitalen Schaltungen aus einer exakten, in einer
Hardwarebeschreibungssprache verfassten Spezifiktion unter Verwendung von Entwurfs- und
Optimierungsalgorithmen sowie Bibliotheken der zu verwendenden Grundelemente
verstanden.
Für den Designer ergibt sich der Gewinn aus dem immer höher werdenden Abstraktionsgrad.
Die rein manuelle Layouterstellung setzte eine intensive Beschäftigung mit jedem Transistor
voraus. Beim Einsatz der
Accellera
muss nicht einmal die Gatterrepräsentation der Schaltung
bekannt sein. Bei der Umsetzung der Verhaltensbeschreibung in ein Layout ist heute
zumindest theoretisch ein voller Automatismus ohne Benutzereingaben und ohne Risiko
möglich. Aus der Computerunterstützung (,,Computer Aided Design", CAD) ist in diesem
Bereich schon heute eine fast vollständige Übernahme der Arbeiten durch
Computerprogramme (,,Electronic Design Automation", EDA) geworden, so dass sich der
Engpass beim IC-Design immer mehr zur (HDL-)Spezifikation hin verschiebt, die zusammen
mit der Simulation und Fehlerbeseitigung auf dieser Ebene oft schon mehr als 75% der
Arbeitszeit eines ASIC-Designs beansprucht.
Derzeit ist es jedoch bei einigen Designern noch gängige Praxis, eine Spezifikation teils
verbal, teils grafisch zu formulieren und sie anschließend per Hand in eine HDL-
Beschreibung umzusetzen. Dieser aufwändige Arbeitsschritt sowie die erforderliche
Fehlerkorrektur in der entstandenen, unübersichtlichen Textdatei verlangen auch hier
einschneidende Veränderungen. Angesichts der ständig steigenden Komplexität der
Schaltungen werden heute erheblich bessere Spezifikationsformen benötigt als zig-tausend
Zeilen lange VHDL-Beschreibungen, um durch höhere Abstraktion mit geringerem Aufwand
mehr Gatter entwerfen zu können. [6]
Realisierung mittels VHDL genügt nicht mehr!
Modernere Darstellungsformen werden benötigt, die folgende
Anforderungen erfüllen:
Î
Î
Î
Î
Neue Darstellungsform muss übersichtlicher sein als VHDL
Î
Î
Î
Î
Automatisierung der Logiksynthese muss erhalten bleiben oder
ausgedehnt werden
Î
Î
Î
Î
Grad an Abstraktion muss steigen, d.h. die Darstellungsform muss
so kompakt sein, dass pro eingegebener Zeile noch mehr Gatter
beschrieben (und automatisch erzeugt) werden als bei alleiniger
Anwendung der Logiksynthese
Î
Î
Î
Î
Diese Anforderungen werden von grafisch orientierten
Programmen erfüllt

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Effizienzsteigerung im Entwurf mittels grafischer HDL ­
Programmierung
2.12
Seite 26 von 148
2.12 Effizienzsteigerung im Entwurf mittels grafischer HDL ­
Programmierung
Wie in Abb. 2-25 zu sehen ist, liegt der Vorteil von grafischen HDL ­ Eingabetools darin,
Schaltpläne, Datenpfade und Zustandsmaschinen direkt am Bildschirm zu zeichnen,
simulieren und zu synthetisieren. Durch die Kombination verschiedener Eingabeformate, eine
hierarchische Gliederung und die zweidimensionale Anordnung selbst erklärender grafischer
Beschreibungselemente entsteht eine übersichtliche, gleichermaßen Personen und
maschinenlesbare Form der Spezifikation, die optimal geeignet ist alle anderen
Spezifikationsformen zu ersetzen bzw. zu vereinheitlichen und die gleichzeitig in einen
synthetisierbaren HDL-Text kompiliert werden kann.
Der Produktivitätsgewinn liegt auch bei den
grafischen HDL-Programmen primär in der
gesteigerten Abstraktion. Die
Darstellungsform der Spezifikation nähert
sich der Denkweise des Designers immer
mehr an, der sich nicht mehr mit der HDL-
Prozessverwaltung und ähnlichen, letztlich
unproduktiven Formalitäten beschäftigen
muss, sondern sich auf das Wesentliche
beschränken kann. So wird die
Ablaufsteuerung durch Zustände und
Transitionen grafisch beschrieben und die
Hardwarebeschreibungssprache nur noch
eingesetzt, um Bedingungsabfragen,
Signalzuweisungen und -operationen zu
formulieren, wobei jedes der verbleibenden
Elemente bei der Synthese mehr Gatter
beschreibt als bei allen anderen
Spezifikationsformen.
Der Produktivitäts- und Abstraktionsgewinn
graphischer HDL-Programmierung ist in
Abb. 2-25 klar zu erkennen. Oben ist der
Zustandsautomat mittels graphischer
Programmierwerkzeuge dargestellt. Darunter
befindet sich der dazugehörige VHDL-Code,
unten das äquivalente Schematic. [6]
Vorteile grafischer HDL-Tools:
- Integration von HDL-Browserfunktionen, grafischen Eingabe von Zustandsmaschinen
und Simulation in einem Programm.
- Einfacher zu erlernen, komfortabler zu bedienen, wesentlich übersichtlicher und
intuitiver. Kompaktere Darstellungsform. Übersetzbarkeit in synthetisierbares
VHDL/Verilog
Î personen- und maschinenlesbare Form der Spezifikation.
Î enorme Erhöhung des Produktivitätsgewinns
Abb. 2-25 Eine einfache Zustandsmaschine in
verschiedenen Repräsentationsformen (grafisches
VHDL unter Speedchart programmiert, textuelles
VHDL, synthetisiertes Schematic).

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Moderner Design Flow mittels grafischer HDL
2.13
Seite 27 von 148
2.13 Moderner Design Flow mittels grafischer HDL
Abb. 2-26 stellt den gesamten Ablauf einer ASIC- Entwicklung mittels grafischer HDL,
einschließlich der Schnittstellen zwischen den Umsetzungsprozessen, dar.
Aus der Sicht der Produktivität bietet die grafische HDL wesentliche Vorteile. Aus Sicht der
Performanz (Chipflächenverbrauch, Timing, Powereffizienz,...) wurde jedoch in den
bisherigen Kapiteln und auch in den existierenden Literaturstellen keine Aussage getroffen.
Deshalb soll in Kapitel 9 Automatische Synthese von VHDL mit dem DSP-Builder ein
Vergleich mit grafischem und manuell geschriebenem VHDL-Code durchgeführt werden
Abb. 2-26 Ein moderner Design Flow unter Verwendung von Logiksynthese und grafischem HDL

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
HDL ­ Design - Sprachen
3
Seite 28 von 148
3 HDL ­ Design - Sprachen
Im folgenden Kapitel soll nun ein Überblick der wichtigsten existierenden reinen HDL-
Sprachen gegeben werden. Hierbei soll nicht das Programm noch der Umgang mit ihnen
erklärt werden, dies würde den Rahmen dieser Arbeit um weites sprengen. Es soll vorwiegend
der prinzipielle Aufbau, Struktur, Verwendung und einige kleine Beispielprogramme
beschreiben werden.
Für spezifische Informationen steht genügend gute Literatur zu den einzelnen Sprachen zur
Verfügung.
3.1 VHDL
Entstanden ist VHDL (VHSIC (Very High Speed Integrated Circuit) Hardware Description
Language) zu Beginn der 80er Jahre im Auftrag der US-Regierung. Im Rahmen des VHSIC-
Programms in den USA, dessen Ziel die Entwicklung einer Hardwarebeschreibungssprache
zur unmissverständlichen Dokumentation von elektronischen Systemen war. Zu dieser Zeit
entwickelten eine Reihe von Firmen VHSIC- Schaltungen für das Department of Defence.
Jede dieser Firmen nutzte hierfür eine andere Beschreibungssprache um ihre Schaltungen zu
entwickeln und zu beschreiben. Datenaustausch, Wiederverwendung und Reproduzierbarkeit
waren unter diesen Umständen sehr problematisch. [10]
VHDL ist eine Hardwarebeschreibungssprache und ist nach seiner Standardisierungsphase
durch die IEEE(IEEE Std 1076) weltweit akzeptierter Standard zur Dokumentation,
funktionalen Simulation und zum Datenaustausch beim Entwurf digitaler Systeme [11].
Mittlerweile findet die Sprache in vielen Entwicklungsabteilungen Verwendung. Kaum ein
Unternehmen wird sich dem Einsatz von VHDL beim Entwurf digitaler Hardware entziehen
können. Das Einsatzgebiet von VHDL wurde im Laufe der Zeit in Richtung Synthese
erweitert. Damit wurden neue, produktivere Wege in der Elektronikentwicklung eröffnet.
VHDL ist eine komplizierte und mächtige Sprache, die erst nach längerem praktischem
Einsatz richtig beherrscht wird. VHDL wird daher von Spöttern als ,,Very Hard to Deal with
Language" gedeutet. Dies mag zutreffen, wenn in die tiefen Details von VHDL, wie z.B.:
Erstellung von Synthesealgorithmen, eingetaucht wird. In den letzten Jahren wurde versucht,
durch Einführung so genannter ,,Front-End-Tools" den Entwickler vom Erlernen und vollen
Verständnis der Sprache zu entlasten. Unter ,,Front-End-Tools" sind zum Beispiel die
grafischen HDL-Programme zu verstehen. In den 70er und 80er Jahren wurden außer VHDL
weitere komplexe HDL entwickelt, die sich mit Ausnahme von Verilog, welches vorwiegend
in den USA eingesetzt wird, nicht durchsetzen konnten. In Europa ist VHDL zur
bedeutendsten Hardwarebeschreibungssprache geworden. Hier wird heutzutage etwa zu 60 %
VHDL und zu 40 % Verilog verwendet. [2]
3.1.1 Aufbau
Eine Hardware-Schaltung besteht aus Funktionseinheiten (z.B.: Multiplexer, Flip-Flops...)
welche durch Signale miteinander verbunden sind. In VHDL werden solche
Funktionseinheiten durch Entwurfseinheiten (Entities) repräsentiert, welche wiederum aus
weiteren Einheiten (Konstrukten) zusammengesetzt sein können, vgl. auch Abb. 3-2. Jeder
Entwurfseinheit setzt sich aus drei Teilbereichen zusammen. Siehe Abb. 3-1.

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
VHDL
3.1
Seite 29 von 148
Eine Entwurfseinheit kann auch mehrere
Architekturbeschreibungen besitzen. In
einem solchen Fall ist eine
Konfigurationseinheit notwendig. Durch
die Trennung zwischen der
Schnittstellendefinition (Entity) und der
Systembeschreibung (Architecture) auf der
jeweiligen Abstraktionsebene entspricht
die Bauweise einer VHDL-
Entwurfseinheit dem Black-Box-Prinzip
(Kapselung). Somit können bestimmte
Teilkomponenten eines Systems gefahrlos
von Drittzulieferern realisiert werden,
wenn die Schnittstellendefinition
unverschlüsselt und die Architektur
verschlüsselt übergeben wird. Ein weiterer
Vorteil ist, dass mit zunehmenden
Implementierungsdetails mehrere
Architekturen auf unterschiedlichen
Abstraktionsgraden entwickelt werden
können, die wahlweise in die
Entwurfseinheit eingebunden werden
können, solange die
Schnittstellendefinitionen identisch sind.
3.1.2 Anwendung der VHDL
VHDL kann für die wesentlichen drei Arbeitsschritte beim
System- und Schaltungsentwurf eingesetzt werden:
Anwendung Verwendung
Adressat
Dokumentation Spezifikation Menschlicher
Leser
Simulation Funktionale
Beschreibung auf
Systemebene
Simulator
Synthese Beschreibung
auf
RTL-Ebene
Synthesewerkzeug
Mit Hilfe von VHDL können digitale Schaltungen auf den untersten drei Abstraktionsebenen
beschrieben werden, d.h. von der funktionalen Verhaltensbeschreibung über die Antifuse-
Technologie-Beschreibung bis hin zur Beschreibung der Schaltung auf der Gatterebene.
Darüber hinaus ist mit VHDL die Simulation anderer (z.B.: nicht-mikroelektronischer)
Systeme möglich. Insbesondere die Erweiterung auf analoge Teilsysteme ermöglicht die
Simulation gemischter digital-analoger Systeme in einheitlicher Umgebung (siehe Kapitel
4.9). Weitere Erweiterungen zur Systembeschreibung befinden sich in Entwicklung (siehe
Kapitel 4.7 VHDL-200x).
In Abb. 3-3 ist ein Beispielprogramm in VHDL wiedergegeben.
Abb. 3-1 Elemente einer VHDL-Entwurfseinheit
x Entity Interface
x Architecture Verhalten,
Funktion
x Configuration Verknüpft
Entity
und
Architecture
x Library Organisiert
Designelemente
x Package Datentypen,
Konstanten
x Process Ereignisgest.,
Nebenläufigkeit
x Block Nebenläufigkeit,
Gruppierung
Abb. 3-2 VHDL - Konstrukte
Abb. 3-3 VHDL - Code eines
Halbaddierers

Fachhochschule
Konstanz
Ansätze der heutigen High-Level-Synthese in der EDA
Kapitel
Elektrotechnik und
Informationstechnik
Verilog
3.2
Seite 30 von 148
3.2 Verilog
Verilog ist das Pendant zu VHDL, jedoch sind
sie nicht gleichzusetzen da sie keine
gleichwertigen Hardwarebeschreibungssprachen
sind. Aber sie besitzen mehr Gemeinsamkeiten
als Unterschiede. Vorreiter von Verilog waren
HILO-2, eine Sprache zur Beschreibung
simulierbarer Gatter- Modelle und OCCAM,
eine Programmiersprache zur Beschreibung
paralleler Prozesse. Die Syntax von
Verhaltensmodellen erinnert an C.
1984 entstand Verilog zur Simulation von
Gattermodellen. 1987 fand dann die
Erweiterung auf die RTL-Ebene statt. Nach der
Erweiterung für die Verhaltensbeschreibung im
Jahre 1989 wurde Verilog 1995 nach IEEE 1364
Standardisiert und findet seither vor allem in den
USA große Verbreitung und Bedeutung als
Hardwarebeschreibungssprache. Die grund-
legenden Objekte einer Verilog- Beschreibung
sind in Abb. 3-4 zusammengestellt. Wie auch in
VHDL können Schaltungen mittels Verilog in
den drei Methoden: Verhalten, Struktur und
Datenfluss beschrieben werden. Abb. 3-5 zeigt
die unterschiedlichen Programmierstile in
Verilog anhand eines Halbaddierers.
3.2.1 Unterschiede von VHDL und
Verilog
VHDL und Verilog sind derzeit die am gängigsten HDL-Sprachen. Beide Sprachen bieten
prinzipiell ähnliche Möglichkeiten, obwohl vom Grundsatz her VHDL eine allgemeinere
Basis zur Verfügung stellt. In Verilog müssen viele Datentypen erst erzeugt werden, während
diese in VHDL bereits Standard sind. Es taucht immer wieder der Vergleich von C und
PASCAL auf, VHDL wie PASCAL, Verilog wie C. Jeder Entwickler muss im Einzelfall
entscheiden, welcher Sprache er den Vorzug gibt.
Tabelle 3-1 soll die prinzipiellen Unterschiede von VHDL und Verilog verdeutlichen.
VHDL Verilog
Gut bei Systemen und komplexen Designs
Schwierigkeiten bei Systembeschreibung
Langsamere Simulation Schnelle
Simulation
Flexibel aber komplizierter
Einfach
Populär auf Universitäten
Weit verbreitet in Low-Level ASIC-Designs
Verbreitet in Europa (wenig in Nordamerika
und Japan)
Verbreitet in Nordamerika, Asien, Japan
(wenig in Europa)
Tabelle 3-1 Prinzipelle Unterschiede der HDLs VHDL und Verilog
x
Module Designeinheit
x
Primitive Grundlegende
Zellen
x
Always Nebenläufigkeit,
zustandsabhängig
x
Assign Nebenläufigkeit,
permanent
x
Task Unterprogramm
x
Function Berechnung
Abb. 3-4 Objekte in Verilog
Abb. 3-5 Verilog-Code eines Halbaddierers in
den unterschiedlichen Beschreibungsstilen.
Datenfluss
Verhalten
Struktur
Excerpt out of 146 pages

Details

Title
Ansätze einer High-Level-Synthese in der Electronic Design Automation
College
University of Applied Sciences Constanze
Grade
1
Author
Year
2005
Pages
146
Catalog Number
V186086
ISBN (eBook)
9783656998938
ISBN (Book)
9783867468510
File size
29246 KB
Language
German
Keywords
ansätze, high-level-synthese, electronic, design, automation
Quote paper
Dipl.-Ing. (FH) Siegfried Puga-Reichle (Author), 2005, Ansätze einer High-Level-Synthese in der Electronic Design Automation, Munich, GRIN Verlag, https://www.grin.com/document/186086

Comments

  • No comments yet.
Look inside the ebook
Title: Ansätze einer High-Level-Synthese in der Electronic Design Automation



Upload papers

Your term paper / thesis:

- Publication as eBook and book
- High royalties for the sales
- Completely free - with ISBN
- It only takes five minutes
- Every paper finds readers

Publish now - it's free