![Page 1: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/1.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 11
Beispielhafte Entwicklung einer Hardware-Produktlinie anhand einer
UART-Familie
Jan DworschakAbschlussvortrag Bachelorarbeit
TU Dortmund [email protected]
![Page 2: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/2.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 22
Übersicht● Einführung
● Kontext der Arbeit● Grundlagen● Ziele
● Entwurf des UART● Implementation
● VHDL-Komponenten● Codegenerierung
● Evaluation● UART● Codegenerierung
● Fazit
![Page 3: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/3.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 33
Einführung● Kontext
● Hardwareebene des LavA-Projekts● Maßschneiderung von MPSoCs● Konzept der Hardwareproduktlinien
● Grundlagen● (LavA-)UART
- Seriell/Parallel-Übersetzer
- hier: RS-232/Wishbone
- RX/TX mit einfachen Interrupts
● LavA-Workflow- Modellierung und Konfiguration über Metamodell (Eclipse)
- Erzeugung eines SPC für XVCL mittels oAW-Xpand
- Codegenerierung über XVCL
Metamodell
SPC
Hardware
VHDL
![Page 4: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/4.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 44
Einführung● Ziele der Arbeit
● Erweiterung des statischen LavA-UART- konfigurierbare VHDL-Komponenten
- C-Funktionen zur Ansteuerung und Laufzeitkonfiguration
● Exemplarische Abwandlung des Workflows- Elimination von XVCL
- Codegenerierung ausschließlich über Xpand-Framework
Metamodell
Hardware
VHDL
![Page 5: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/5.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 55
Übersicht● Einführung
● Kontext der Arbeit● Grundlagen● Ziele
● Entwurf des UART● Implementation
● VHDL-Komponenten● Codegenerierung
● Evaluation● UART● Codegenerierung
● Fazit
![Page 6: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/6.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 66
Entwurf des UART● Domänenanalyse
● Ziel: Abstecken eines sinnvollen Funktionsumfangs● Betrachtung verschiedener UART-Lösungen
- Open Source VHDL-UARTs
- UARTs gängiger Mikrocontroller
![Page 7: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/7.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 77
Entwurf des UART● Kommunikationsbezogene Merkmale
● Kommunikationsparameter:● Paritätsbit: keines/gerade/ungerade● Stoppbits: 1/1,5/2● Framegröße: 5 bis 9● Handshaking
![Page 8: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/8.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 88
Entwurf des UART● Interruptbezogene Merkmale
● 6 Interrupts● Daten empfangen● Senden beendet● Framefehler● Paritätsfehler● Überlauf (RX/TX)
● Zusätzliche Features● Priorisierung von Interrupts● Pufferung● Konfiguration zur Laufzeit
![Page 9: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/9.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 99
Entwurf des UART● Umsetzung der Konfigurationspunkte
● Aufteilung nach Modellierungs- und Laufzeit● Kriterium: Ressourcenverbrauch
Bereich/Zeitpunkt Modellierung Laufzeit
Struktur Vorhandensein von: - RX/TX - FIFO-SpeicherFIFO-Größe
RX-FIFO Trigger-Level
Kommunikation Paritätskomponenten ParitätsmodusParitätsbit aktivierenFramegrößeAnzahl StoppbitsBaudrateFlusskontrolle
Interrupts Vorhandensein vonInterrupt-Komponenten(Register und Logik)
Aktivierung der Interrupts
![Page 10: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/10.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 1010
Übersicht● Einführung
● Kontext der Arbeit● Grundlagen● Ziele
● Entwurf des UART● Implementation
● VHDL-Komponenten● Codegenerierung
● Evaluation● UART● Codegenerierung
● Fazit
![Page 11: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/11.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 1111
Implementation des UART
● Blockdiagramm des UART:● grüne Komponenten
optional● Control, RX und TX
als Hauptmodule
![Page 12: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/12.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 1212
Implementation des UART
● RX- und TX-Einheiten● Zustandsmaschinen mit
Bitpositionen als Zustandsmenge
● relativ analog aufgebaut
● Datenpufferung● Ohne FIFO nur je ein Datenwort im Schieberegister● Mit FIFO zwischen 1 und 64, je nach Konfiguration
● Steuereinheit● Taktteiler für RX und TX● Interrupt- und Formatkonfiguration● erzeugt Interrupts in Abhängigkeit von RX/TX-Status
![Page 13: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/13.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 1313
Übersicht● Einführung
● Kontext der Arbeit● Grundlagen● Ziele
● Entwurf des UART● Implementation
● VHDL-Komponenten● Codegenerierung
● Evaluation● UART● Codegenerierung
● Fazit
![Page 14: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/14.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 1414
Codegenerierung● Arbeitsschritte des Workflows
● Erstellen eines konkreten UART-Modells● Validierung des Modells● Parser mit Xpand-Templates und Modell instanziieren
MetamodellKonkretes Modell
Xpand-Templates (VHDL)
Hardware
EMF/MWE + Xpand
EMF
MWE
![Page 15: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/15.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 1515
Codegenerierung
● UART-Metamodell
● Erlaubt Konfiguration von:- Interrupts
- Paritäten
- RX/TX
- FIFOs
● Grundlage für konkrete Modelle● Deckt einige Fehlerfälle ab (Kompositionsstruktur)● restliche Validierung über Modellconstraints (oAW Check)
![Page 16: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/16.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 1616
Codegenerierung● Xpand-Templates
● in Steueranweisungen gekapselte VHDL-Codesegmente● für jedes variable, komplexe Modul des UART ein Template● statische Komponenten in einem Template zusammengefasst
![Page 17: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/17.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 1717
Übersicht● Einführung
● Kontext der Arbeit● Grundlagen● Ziele
● Entwurf des UART● Implementation
● VHDL-Komponenten● Codegenerierung
● Evaluation● UART● Codegenerierung
● Fazit
![Page 18: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/18.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 1818
Evaluation des UART● Ressourcenausnutzung
● Testvarianten- nur TX, kein FIFO (Minimalkonfiguration)
- RX/TX mit 16 Slot FIFOs + Interrupts
- RX/TX mit 64 Slot FIFOs + Interrupts + Paritäten
![Page 19: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/19.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 1919
Evaluation des UART
● Detailbetrachtung LUTs
● FIFOs nehmen einen Großteil der Ressourcen ein● Paritäten sind fast „umsonst“● restliche Module skalieren mit Funktionsumfang
ControlRX TopRX FIFOTX TopTX FIFOParity
Variante 1 Variante 3Variante 2
99
34
83
24
82
91
24102
39
29036
290
5
![Page 20: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/20.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 2020
Evaluation der Codegenerierung● Kritikpunkte von XVCL
● Lesbarkeit der x-frames● große Zahl lokaler Variablen● schwache Typisierung von Variablen (XML)● mangelnde Ausdrucksstärke
● Charakteristika von Xpand● grundsätzliche Lesbarkeit nicht wesentlich besser● aber: näher am Modell, dadurch weniger Variablen● Variablen sind streng typisiert (Java)● hohe Ausdrucksstärke durch Extensions und Expressions
![Page 21: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/21.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 2121
Übersicht● Einführung
● Kontext der Arbeit● Grundlagen
● Entwurf des UART● Implementation
● VHDL-Komponenten● Codegenerierung
● Evaluation● UART● Codegenerierung
● Fazit
![Page 22: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/22.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 2222
Fazit● Entwicklung einer konfigurierbaren UART-Familie
● Modulare VHDL-Komponenten● Konfiguration zur Laufzeit
● Ressourcenverbrauch ● skaliert gut mit Funktionsumfang● allerdings großteils über FIFO-Speicher
● Codegenerierung ohne XVCL● einheitlicherer, kompakterer Workflow ● Xpand insgesamt komfortabler als XVCL● Werkzeuge greifen nahtlos eineinander
![Page 23: Beispielhafte Entwicklung einer Hardware-Produktlinie ... · Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 3 Einführung Kontext Hardwareebene des LavA-Projekts](https://reader030.vdokument.com/reader030/viewer/2022040417/5d505dec88c9935b5a8be4ea/html5/thumbnails/23.jpg)
Beispielhafte Entwicklung einer Hardwareproduktlinie – 26.10.11 2323
Vielen Dank für die Aufmerksamkeit!
Gibt es noch Fragen?