Electronic System Design using C and SystemC
Inhalt
In der heutigen Welt kurzer Produktzyklen erfordert die Entwicklung elektronischer Systeme eine gleichzeitige Entwicklung der Hardware- und Softwarekomponenten. Innerhalb kürzester Zeit hat sich SystemC zum De-facto-Industriestandard für die Modellierung und Validierung von Hardware- und Softwarekomponenten elektronischer Systeme entwickelt. SystemC baut auf der leistungsstarken Computersoftwaresprache ANSI C++ auf und fügt Mittel zur Modellierung von Parallelität (Parallelität), Kommunikationsmechanismen, Reaktivität zur Synchronisierung gleichzeitiger Verarbeitung und ein Zeitkonzept hinzu. Somit kann SystemC als C++-Klassenbibliothek plus ereignisbasierter Simulationskernel betrachtet werden.
Nach einer Auffrischung der Syntax von ANSI C++ und der Prinzipien der objektorientierten Programmierung wird die Syntax von SystemC eingeführt. Es werden Berechnungsmodelle vorgestellt, die üblicherweise zur Modellierung auf verschiedenen Abstraktionsebenen verwendet werden: Registerübertragungsebene, Verhaltensebene, Transaktionsebene usw. SystemC-Modelle können sich in bestimmten Aspekten in ihrer Genauigkeit unterscheiden: Genauigkeit auf Pin-Ebene, Zeitgenauigkeit, strukturelle Genauigkeit, funktionale Genauigkeit, Kommunikationsgenauigkeit. Der Student lernt Methoden zum Kompromiss zwischen schneller Entwicklung eines SystemC-Modells und Genauigkeit und Simulationsgeschwindigkeit. Es werden Methoden zur Verfeinerung von Modellen aufgezeigt, um in bestimmten Bereichen mehr Genauigkeit zu erzielen, sowie formale Prozesse, die sich als effizient erwiesen haben.
Als Ergänzung zum Unterricht werden während der Vorlesungen viele Beispiele für SystemC-Code gezeigt. Praktische Übungen bringen diese Beispiele auf die nächste Verständnisebene und ermöglichen es dem Schüler, eigene SystemC-Modelle zu entwickeln, zu kompilieren und zu debuggen. Ziel dieser Vorlesung ist die Einführung in den Entwurf integrierter Systeme. Neben technischen Implikationen und Methoden werden auch einige wirtschaftliche Aspekte zukünftiger Technologien zur Systemintegration behandelt. Diese Vorlesung und dieses Tutorial bieten eine ausführliche Einführung in SystemC als elektronische Systemdesignsprache zur Modellierung und Implementierung komplexer elektronischer Systeme.
Voraussetzungen
Erforderlich sind fundierte Kenntnisse in digitalen Schaltungen (Boolesche Algebra, Implementierung in Logikgatter) und Computerarithmetik sowie ein grundlegendes Verständnis von Programmierumgebungen.