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
2 Hintergrund der Hardwarebeschreibungssprachen
2.1 Motivation: IC-Entwurfsverfahren
2.2 Bestehende Probleme des heutigen Systementwurfs
2.3 Entwurfssichten
2.4 Entwurfsebenen
2.4.1 Systemebene
2.4.2 Algorithmische Ebene
2.4.3 Register-Transfer-Ebene
2.4.4 Logikebene
2.4.5 Schaltkreisebene
2.5 Hardware und Software Lösungen
2.6 Bedeutung der HW/SW-Architektur auf den einzelnen Abstraktionsebenen
2.6.1 Abstraktion
2.6.2 Beschreibungssprachen / Werkzeuge
2.7 Standardtechnologie ASIC
2.8 Besondere Bedeutung/Stellenwert des FPGA
2.9 Herstellungsprozess von digitalen integrierten Schaltkreisen
2.10 Probleme der Entwurfskomplexität hoch integrierter Systeme
2.11 Folgerungen zur marktgerechten Verkürzung der Entwurfsdauer
2.12 Effizienzsteigerung im Entwurf mittels grafischer HDL – Programmierung
2.13 Moderner Design Flow mittels grafischer HDL
3 HDL – Design - Sprachen
3.1 VHDL
3.1.1 Aufbau
3.1.2 Anwendung der VHDL
3.2 Verilog
3.2.1 Unterschiede von VHDL und Verilog
3.3 Sonstige HDL-Sprachen
4 Systembeschreibungssprachen (System-Level-Entwurf
4.1 SystemC
4.1.1 SystemC im Überblick
4.1.2 Vergleich VHDL und SystemC
4.2 SpecC
4.3 Superlog
4.4 Handel-C
4.5 PSL - Property Specification Language
4.6 SystemVerilog
4.7 VHDL-200x
4.8 Verilog-AMS
4.9 VHDL-AMS
4.10 Matlab/Simulink
5 High-Level-Synthese-Tools
5.1 Speedchart
5.2 Visual HDL von Summit
5.3 Visual Elite / FastC von Summit
5.4 Statemate von I-Logix
5.5 HDL Designer Series von Mentor Graphics
5.6 DSP-Builder von Altera
5.7 DK Design Suite von Celoxica
5.8 System Generator for DSP von Xilinx
5.9 AccelChip DSP Synthesis von AccelChip
5.10 Synplify DSP von Synplicity
5.11 Discovery Verification Platform von Synopsys
5.12 Catapult C Synthesis von Mentor Graphics
5.13 Agility Compiler von Celoxica
5.14 CoDeveloper von Impulse Accelerated Technologies
5.15 Filter Design HDL Coder 1.2
6 Simulations-Programme
7 Design-Entry-Tools
8 Weiterführende EDA-Organisationen und LINKs
8.1 EDA-Organisationen
8.2 Konferenzen
8.3 Online-Elektronik-Magazine
9 Automatische Synthese von VHDL mit dem DSP-Builder
9.1 DSP-Builder
9.1.1 System Voraussetzungen
9.1.2 Installationsprozess unter Windows
9.1.3 Arbeiten mit dem DSP-Builder
9.1.4 Einführendes Beispiel
9.2 Quartus II
9.3 Verifikation des DSP-Builder mit händischem VHDL- Codes
9.3.1 Beispiel 1: Addier- und Multiplizier-Werk
9.3.2 Beispiel 2: Zähler
9.3.3 Beispiel 3: 8 Point Radix 8 DIT FFT
9.4 Ergebnis der High-Level Synthese
10 Zusammenfassung
ANHANG A: SystemVerilog Support
ANHANG B: DSP-Builder Design-Code
ANHANG B I: VHDL-Code des Beispiel 1 (AddMultWerk) aus Kapitel 9.3.1
ANHANG B I-I: Händischer VHDL-Code des Addier-/Multiplizier- Werk
ANHANG B I-II: Fitter-Ergebnis-File des AddMultWerk (händisch generiertes VHDL)
ANHANG B I-III: Timing-Ergebnis-File des AddMultWerk (händische generiertes VHDL)
ANHANG B I-IV: Aus dem DSP-Builder generierter VHDL-Code des Addier-/Multiplizier- Werk
ANHANG B I-V: Fitter-Ergebnis-File des AddMultWerk (DSP-Builder VHDL)
ANHANG B I-VI: Timing-Ergebnis-File des AddMultWerk (DSP-Builder generiertes VHDL)
ANHANG B II: VHDL-Code des Beispiel 2 (Zähler) aus Kapitel 9.3.2
ANHANG B II-I: Händischer VHDL-Code des Zählers
ANHANG B II-II: Fitter-Ergebnis-File des Zählers (händische generiertes VHDL)
ANHANG B II-III: Timing-Ergebnis-File des Zählers (händische generiertes VHDL)
ANHANG B II-IV: Aus dem DSP-Builder generierter VHDL-Code des Zählers
ANHANG B II-V: Fitter-Ergebnis-File des Zählers (DSP_Builder generiertes VHDL)
ANHANG B II-VI: Timing-Ergebnis-File des Zählers (DSP_Builder generiertes VHDL)
ANHANG B III: VHDL-Code des Beispiel 3 (8er FFT) aus Kapitel 9.3.3
ANHANG B III-I: Aus dem DSP-Builder generierter VHDL-Code der 8er-FFT
ANHANG B III-II: Fitter-Ergebnis-File der 8er-FFT (DSP_Builder generiertes VHDL)
ANHANG B III-III: Timing-Ergebnis-File der 8er-FFT (DSP_Builder generiertes VHDL)
ANHANG C: Visual HDL: Beispielprogramme, VHDL-Code automatisch synthetisiert aus grafischen Spezifikationen. [27]
ANHANG C I: Multiplizierwerk
ANHANG C II: Steuerpfad syncron
ANHANG C III: Steuerpfad asyncron
ANHANG C IV: Ampel
Zielsetzung & Themen
Diese Diplomarbeit untersucht die zunehmende Komplexität beim Entwurf elektronischer Systeme und beleuchtet Ansätze zur High-Level-Synthese in der Electronic Design Automation (EDA). Ziel ist es, Möglichkeiten zur Effizienzsteigerung und zur Verkürzung der Entwicklungszeiten durch moderne Beschreibungssprachen und spezialisierte Synthese-Tools aufzuzeigen und diese anhand einer praktischen Untersuchung mit dem DSP-Builder von Altera zu evaluieren.
- Analyse der Probleme aktueller Systementwürfe und der Rolle von Hardwarebeschreibungssprachen.
- Übersicht über aktuelle Systembeschreibungssprachen und High-Level-Synthese-Tools.
- Untersuchung des Design-Flows bei automatischer VHDL-Synthese aus Matlab/Simulink.
- Vergleich zwischen manuell geschriebenem VHDL-Code und durch Synthese-Tools generiertem Code.
- Diskussion über Produktivität, Effizienz und die Rolle grafischer Programmierung im Hardwareentwurf.
Auszug aus dem Buch
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.
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.
Zusammenfassung der Kapitel
1 Einleitung / Überblick: Einführung in die wachsende Bedeutung der Mikroelektronik, die Herausforderungen durch zunehmende Chipkomplexität und die Notwendigkeit der High-Level-Synthese.
2 Hintergrund der Hardwarebeschreibungssprachen: Darstellung der Entwicklung von Entwurfsverfahren von manuellen Schaltplänen bis hin zu modernen Top-Down-Methoden, einschließlich der Analyse von Problemen bei hochintegrierten Systemen.
3 HDL – Design - Sprachen: Überblick über die klassischen Hardwarebeschreibungssprachen VHDL und Verilog sowie deren prinzipieller Aufbau und ihre Anwendung im Elektronikentwurf.
4 Systembeschreibungssprachen (System-Level-Entwurf: Vorstellung moderner Sprachen wie SystemC, SpecC und SystemVerilog, die eine modellbasierte Durchgängigkeit vom System- bis zum Implementierungsentwurf ermöglichen sollen.
5 High-Level-Synthese-Tools: Beschreibung aktueller Werkzeuge (Front-End-Tools), die eine automatische Generierung von HDL-Code aus grafischen oder algorithmischen Spezifikationen erlauben.
6 Simulations-Programme: Erläuterung der Bedeutung der Simulation für die Verifikation sowie der verschiedenen Simulationstechniken wie interpretierende und kompilierende Verfahren.
7 Design-Entry-Tools: Marktaufstellung und Übersicht verfügbarer Partitionierungs-, Design-Entry- und Synthese-Tools für das System-Design.
8 Weiterführende EDA-Organisationen und LINKs: Zusammenstellung relevanter Organisationen, Konferenzen und Online-Magazine, die als Informationsquellen für das Thema EDA dienen.
9 Automatische Synthese von VHDL mit dem DSP-Builder: Praktische Untersuchung der automatischen VHDL-Synthese anhand des Altera DSP-Builders, inklusive Systemvoraussetzungen, Installation und konkreten Beispielprojekten.
10 Zusammenfassung: Fazit zur Notwendigkeit neuer Entwurfsstrategien und zur Rolle grafischer High-Level-Tools gegenüber klassischen HDL-Ansätzen.
Schlüsselwörter
High-Level-Synthese, EDA, VHDL, Verilog, SystemC, DSP-Builder, System-on-Chip, FPGA, ASIC, Hardwarebeschreibungssprache, Simulation, Verifikation, Systementwurf, Logiksynthese, Matlab/Simulink
Häufig gestellte Fragen
Worum geht es in dieser Diplomarbeit grundsätzlich?
Die Arbeit analysiert die Herausforderungen bei der Entwicklung hochkomplexer elektronischer Systeme und untersucht den Einsatz von High-Level-Synthese-Methoden zur Effizienzsteigerung im EDA-Prozess.
Welche zentralen Themenfelder werden abgedeckt?
Zentrale Themen sind die Entwicklung von Hardwarebeschreibungssprachen, der Einsatz von Systembeschreibungssprachen wie SystemC, ein Überblick über aktuelle EDA-Synthese-Tools und die praktische Anwendung der automatischen VHDL-Synthese.
Was ist das primäre Ziel oder die Forschungsfrage?
Ziel ist es, zu untersuchen, wie moderne High-Level-Tools, insbesondere der DSP-Builder von Altera, den Entwurfsprozess beschleunigen und welche Konsequenzen dies für die Produktivität und die Qualität des generierten HDL-Codes hat.
Welche wissenschaftliche Methode wird verwendet?
Es wird eine Literaturrecherche zu Entwurfsverfahren und Sprachen durchgeführt, kombiniert mit einer praktischen Implementierung und Evaluierung von Beispielmodellen (Addierer, Zähler, FFT) mittels des DSP-Builders.
Was wird im Hauptteil behandelt?
Der Hauptteil befasst sich detailliert mit den Entwurfsebenen, den gängigen HDL- und Systembeschreibungssprachen sowie einer ausführlichen Vorstellung kommerzieller Tools für die High-Level-Synthese.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit wird durch Begriffe wie High-Level-Synthese, EDA, VHDL, SystemC, DSP-Builder, FPGA, ASIC und System-on-Chip charakterisiert.
Welche praktischen Ergebnisse liefert die Arbeit zum DSP-Builder?
Die Arbeit zeigt, dass der DSP-Builder zwar eine schnelle Code-Generierung aus Simulink ermöglicht, der erzeugte VHDL-Code jedoch oft eine manuelle Nachbearbeitung erfordert, um unbenutzte Pins oder Ineffizienzen zu korrigieren.
Was ist die Schlussfolgerung des Autors zu grafischen Entwurfswerkzeugen?
Der Autor kommt zu dem Schluss, dass grafische Lösungen zwar den Einstieg erleichtern und die Produktivität steigern können, aber keine universelle Lösung für alle Entwurfsprobleme darstellen und technisches Verständnis der zugrunde liegenden Sprache weiterhin essenziell ist.
- Citation du texte
- Dipl.-Ing. (FH) Siegfried Puga-Reichle (Auteur), 2005, Ansätze einer High-Level-Synthese in der Electronic Design Automation, Munich, GRIN Verlag, https://www.grin.com/document/186086