Bachelor + Master Publishing
868 Bachelorarbeiten, 0 Masterarbeiten, 10.112 Diplomarbeiten

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

Ansätze einer High-Level-Synthese in der Electronic Design Automation
Über dieses Buch
  • Art: Diplomarbeit
  • Autor: Siegfried Puga-Reichle
  • Abgabedatum: Juli 2005
  • Umfang: 145 Seiten
  • Dateigröße: 6,4 MB
  • Note: 1,0
  • Institution / Hochschule: Fachhochschule Konstanz Deutschland
  • ISBN (eBook): 978-3-8324-9106-2
  • ISBN (Paperback) :
    978-3-8324-9106-2 P
  • ISBN (CD) :978-3-8324-9106-2 CD
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Puga-Reichle, Siegfried Juli 2005: Ansätze einer High-Level-Synthese in der Electronic Design Automation, Hamburg: Diplomica Verlag
  • Schlagworte: Systembeschreibungssprache, HDL, DSP-Builder, HDVL, System C

Diplomarbeit von Siegfried Puga-Reichle

Einleitung:

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 soll 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.

Zusammenfassung:

Vor dem Hintergrund des ungebremsten Wachstums der Mikroelektronik-Branche und der exponentiellen Explosion an Komplexität, Anforderungen und Time-to-market - Vorgaben wird der Einsatz moderner Entwicklungsstrategien deutlich. 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. Die Entwurfsproduktivität muss sich jährlich um das doppelte steigern, will sie mit der Chip-Entwicklung schritt halten.

Es genügt nicht mehr, mit reinen Hardwarebeschreibungssprachen eine direkte Abbildung des Systems auf einen IC zu bringen. 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 mit der Gatteranzahl wächst. Es droht der zeitliche und personelle Aufwand schon in der Spezifikations- und Entwurfsphase in unzumutbarem Maße zu steigen.

Um die Komplexität heutiger Systeme und mögliche Anwendungen kontrollieren zu können (z.B. SoCs), 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.

Die Simulation und Verifikation gewinnt zunehmend immer mehr an Bedeutung, je komplexer die Schaltungen werden. Ein neuer Ansatz im Entwurf ist die Entwicklung von HDVL- Sprachen (Hardware Description and Verification Language). In der vorliegenden Arbeit werden diverse neue Sprachen zur Systembeschreibung und High-Level-Synthese-Tools vorgestellt, mit denen ein Direkteinstieg des Entwurfes auf Systemebene ermöglicht wird. Da die Herausforderung der Entwurfskomplexität nicht von einem einzelnen Unternehmen beherrschbar ist, wird auf weiterführende EDA-Organisationen und Quellen eingegangen.

In dieser Arbeit wird mit dem High-Level-Tool, DSP-Builder von Altera, der Entwurf auf Systemebene untersucht. Als Einstiegspunkt dient dabei Matlab/Simulink. Ausgehend von der Spezifikation der Systemeigenschaften in Simulink, wird danach ein automatisierter Design-Flow bis auf die RTL-Ebene gestartet. Mit dem Front-End-Tool QuartusII kann danach die physikalische Synthese vorgenommen werden.

Als Ergebnis kann festgestellt werden, dass heutige High-Level-Synthese-Tools das Systemdesign produktiver und schneller gestalten. Der Entwurf mit Hilfe solcher Tools erscheint angenehmer und intuitiver, jedoch sollten die erzeugten Daten nochmals untersucht werden. Von blindem Vertrauen auf das Ergebnis ist abzuraten. Da vorliegend nur einfache Grundschaltungen getestet werden, kann eine Aussage wie sich diese Tools bei größeren Schaltungen verhalten nicht getroffen werden.

Abschließend ist Festzustellen, dass Grafische Lösungsansätze keine wirklichen Lösungen darstellen. Größere Bedeutung wird in Zukunft wohl den Systembeschreibungssprachen zukommen.

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
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
A. SystemVerilog Support 98
B. DSP-Builder Design-Code 101
B I VHDL-Code des Beispiel 1 (AddMultWerk) aus Kapitel 9.3.1 101
B I-I Händischer VHDL-Code des Addier-/Multiplizier- Werk 101
B I-II Fitter-Ergebnis-File des AddMultWerk (händisch generiertes VHDL) 101
B I-III Timing-Ergebnis-File des AddMultWerk (händische generiertes VHDL) 102
B I-IV Aus dem DSP-Builder generierter VHDL-Code des Addier-/Multiplizier- Werk 103
B I-V Fitter-Ergebnis-File des AddMultWerk (DSP-Builder VHDL) 105
B I-VI Timing-Ergebnis-File des AddMultWerk (DSP-Builder generiertes VHDL) 105
B II VHDL-Code des Beispiel 2 (Zähler) aus Kapitel 9.3.2 107
B II-I Händischer VHDL-Code des Zählers 107
B II-II Fitter-Ergebnis-File des Zählers (händische generiertes VHDL) 108
B II-III Timing-Ergebnis-File des Zählers (händische generiertes VHDL) 108
B II-IV Aus dem DSP-Builder generierter VHDL-Code des Zählers 110
B II-V Fitter-Ergebnis-File des Zählers (DSP_Builder generiertes VHDL) 112
B II-VI Timing-Ergebnis-File des Zählers (DSP_Builder generiertes VHDL) 112
B III VHDL-Code des Beispiel 3 (8er FFT) aus Kapitel 9.3.3 114
B III-I Aus dem DSP-Builder generierter VHDL-Code der 8er-FFT 114
B III-II Fitter-Ergebnis-File der 8er-FFT (DSP_Builder generiertes VHDL) 131
B III-III Timing-Ergebnis-File der 8er-FFT (DSP_Builder generiertes VHDL) 131
C. Visual HDL: Beispielprogramme, VHDL-Code automatisch synthetisiert aus grafischen Spezifikationen. [27] 133
C I Multiplizierwerk 133
C II Steuerpfad syncron 136
C III Steuerpfad asyncron 139
C IV Ampel 142

Automatisiert erstellter Textauszug:

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 grundlegenden 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. x x x x x x [...]

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 VHSICProgramms 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] [...]

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 HDLProzessverwaltung 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 Seite 26 von 147 [...]

Arbeit zitieren:
Puga-Reichle, Siegfried Juli 2005: Ansätze einer High-Level-Synthese in der Electronic Design Automation, Hamburg: Diplomica Verlag

Schlagworte:
Systembeschreibungssprache, HDL, DSP-Builder, HDVL, System C

Entdecken Sie mehr zum Thema

FPGA Design
FPGA Design Diplomarbeit von Thomas Strutzmann | März 2003 | Note 1,0
diplom.de
Bachelor + Master Publishing

Hermannstal 119 k
22119 Hamburg

Fon: +49 (0) 40 655992-0
Fax: +49 (0) 40 655992-22

Service-Telefon

Rufen Sie uns an:
+49 (0) 40 655992-0

Mo-Fr
09.00-16.00 Uhr

diplom.de in den Medien

Folgen Sie uns bei Twitter & werden Sie diplom.de-Fan bei Facebook!
Schreibtipps unserer Lektoren, Neuigkeiten aus dem Verlagsalltag und das Expertenwissen unserer Autoren als Tweet & Post!
Wir freuen uns auf Sie!

diplom.de BACHELOR + MASTER PUBLISHING

Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Magisterarbeiten, Dissertationen und andere Abschlussarbeiten aus allen Fachbereichen und Hochschulen können Sie bei uns als eBook sofort per Download beziehen oder sich auf CD oder als Buch zusenden lassen. Seit mehr als 15 Jahren ist diplom.de der seriöse, professionelle und erfolgreiche Partner für die Veröffentlichung wissenschaftlicher Abschlussarbeiten.

© Diplomica Verlag GmbH 1996-2013, AG Hamburg HRB 80293 - GF Björn Bedey, USt-IdNr.: DE214910002 - Verkehrsnummer: 12285 - Impressum
Index der Arbeiten - Index der Autoren