Die Begriffe sind bewusst kurz eingeordnet. Ein gemeinsames Vokabular erleichtert die Diskussion im Team; konkrete Werkzeugdetails und Sprachregeln gehören in die jeweilige Dokumentation.
- HDL
- Hardware Description Language: eine Sprache zur Beschreibung von Hardwarestrukturen und Verhalten. VHDL und Verilog/SystemVerilog sind wichtige Vertreter.
- RTL
- Register Transfer Level: Abstraktion, auf der Register, kombinatorische Logik und Datenübertragungen zwischen Takten beschrieben werden. Nicht jede HDL-Beschreibung ist synthesefähiges RTL.
- FPGA
- Field-Programmable Gate Array: programmierbarer Logikbaustein, dessen Funktion über eine Konfiguration festgelegt wird. Die HDL-Beschreibung wird dafür durch die Implementierungswerkzeuge verarbeitet.
- ASIC
- Application-Specific Integrated Circuit: integrierter Schaltkreis für eine bestimmte Anwendung. Änderungen nach der Fertigung sind wesentlich anders zu bewerten als eine neue FPGA-Konfiguration.
- Design Unit
- Eigenständig analysierbare Spracheinheit. In VHDL zählen beispielsweise Entity, Architecture und Package dazu; mehrere Einheiten können in einer Quelldatei stehen.
- Bibliothek
- Logischer Namensraum für kompilierte HDL-Einheiten. Bibliotheksname, physischer Ablageort und Suchkonfiguration müssen zwischen Projektschritten konsistent sein.
- Kompilierung
- Analyse von Quelldateien für ein Werkzeug. Sie prüft sprachliche und semantische Zusammenhänge, führt aber noch keinen vollständigen Testbench-Lauf aus.
- Elaboration
- Aufbau einer konkreten Simulationshierarchie aus Design Units, Bindungen und Parametern. Fehler dabei können trotz erfolgreicher Dateianalyse auftreten.
- Testbench
- Umgebung, die das zu prüfende Design instanziiert, Eingaben erzeugt und Ausgaben beobachtet. Eine selbstprüfende Testbench bewertet die Erwartungen automatisch.
- DUT
- Design Under Test: das im Test untersuchte Design. Die Grenze des DUT sollte bewusst gewählt werden, damit Schnittstellen und Annahmen eindeutig sind.
- Assertion
- Ausführbare Aussage über eine erwartete Bedingung oder Eigenschaft. Eine verletzte Assertion soll einen verständlichen, auswertbaren Fehler erzeugen.
- Scoreboard
- Prüfkomponente, die beobachtete mit erwarteten Ergebnissen vergleicht. Sie benötigt ein geeignetes Referenzmodell und Regeln zum zeitlichen oder transaktionsbezogenen Zuordnen.
- Linting
- Statische Untersuchung des Quelltexts anhand ausgewählter Regeln. Meldungen können Stil, Wartbarkeit oder mögliche funktionale Risiken betreffen und benötigen Bewertung.
- CDC
- Clock Domain Crossing: Übergang von Signalen zwischen Taktdomänen. Die korrekte Behandlung hängt unter anderem von Signalart, Synchronisierung und Protokoll ab.
- RDC
- Reset Domain Crossing: Zusammenhang zwischen unterschiedlich zurückgesetzten Bereichen. Reset-Verhalten muss ebenso bewusst analysiert werden wie Taktgrenzen.
- Code Coverage
- Messung, welche definierten Codeelemente während der Ausführung erreicht wurden. Die Aussage hängt von der konkreten Messgröße ab und ersetzt keine Anforderungsprüfung.
- Functional Coverage
- Modell der für die Verifikation interessanten funktionalen Situationen. Der erreichte Wert ist nur so aussagekräftig wie die Auswahl der zu messenden Ziele.
- Regression
- Wiederholte Ausführung einer definierten Testmenge, zum Beispiel nach einer Änderung. Sie soll bereits geprüftes Verhalten erneut bewerten und neue Fehler sichtbar machen.
- Seed
- Startwert für eine pseudozufällige Folge. Ein dokumentierter Seed unterstützt Wiederholbarkeit, sofern Werkzeugstand und übrige Konfiguration gleich bleiben.
- CI
- Continuous Integration: gemeinsames Prüfen von Änderungen in einem automatisierten Ablauf. Für HDL gehören unter anderem Werkzeugversionen, Bibliotheken und Lizenzzugriff zur Ausführungsumgebung.
Vom Begriff zum Arbeitsschritt
Für das Zusammenspiel der Ebenen lesen Sie den Workflow vom Editor zur Prüfung. Die Fachartikel erklären die Hintergründe ausführlicher; die Application Notes zeigen begrenzte Beispiele mit konkreten Prüfschritten.