Einführung in SystemVerilog
SystemVerilog ist sowohl eine Hardware-Beschreibungs- als auch eine Hardware-Verifikationssprache. Sie wird zum Modellieren, Entwickeln, Simulieren, Verifizieren, Testen und Implementieren von Algorithmen oder Systemen für ASICs und FPGAs/SoCs verwendet. SystemVerilog basiert auf der Sprache Verilog mit zahlreichen Erweiterungen und ist seit 2009 Teil desselben IEEE-Standards wie Verilog.
SystemVerilog wird seit Langem für die Entwicklung von RTL-Testbenches verwendet, da es eingeschränkte Zufallsverifikation, Assertions und funktionale Abdeckung sowie objektorientierte Programmierung unterstützt.
Schnellere Entwicklung mit SystemVerilog
MATLAB® und Simulink® werden häufig für die Entwicklung von Algorithmen zur Implementierung in Hardware verwendet. Die automatische Generierung von SystemVerilog HDL aus MATLAB Programmcode und Simulink-Modellen mit HDL Coder™ kann sowohl den Prozess von FPGA/SoC- und ASIC-Entwicklungen beschleunigen als auch die Generierung von RTL-Testbench-Komponenten automatisieren.
SystemVerilog für ASIC- und FPGA-Codegenerierung
HDL Coder ermöglicht High-Level-Design für FPGAs, SoCs und ASICs durch Generierung von portierbarem, synthetisierbarem SystemVerilog-Code aus MATLAB-Funktionen und Simulink-Modellen sowie Stateflow®-Diagrammen. Sie können den generierten HDL-Code für die FPGA-Programmierung, das ASIC-Prototyping und das Produktionsdesign verwenden.
HDL Coder enthält einen Workflow Advisor, der das Prototyping von generiertem SystemVerilog-Code auf ADM®-, Intel®- und Microchip-Boards automatisiert und IP-Cores für ASIC- und FPGA-Workflows generiert. Sie können Geschwindigkeit und Fläche optimieren, kritische Pfade hervorheben und vor der Synthese Schätzungen zur Ressourcennutzung erstellen. HDL Coder sorgt für die Rückverfolgbarkeit zwischen Simulink-Modellen und generiertem SystemVerilog-Code und ermöglicht so die Code-Verifikation für hochintegrierte Anwendungen gemäß DO-254 und anderen Standards.
ASIC- und FPGA-Verifikation mit SystemVerilog-DPI
Das SystemVerilog Direct Programming Interface (DPI) dient als Schnittstelle zwischen einem SystemVerilog-Simulator und fremden Programmiersprachen wie C und ermöglicht die Wiederverwendung von bestehendem C Code in führenden HDL-Simulatoren. Mit HDL Verifier™ können ASIC- und FPGA-Projektteams Verifikationskomponenten direkt aus MATLAB Programmcode und Simulink-Modellen in Form von SystemVerilog-DPI-Komponenten generieren, z. B. Stimulus-, Checkers- und Behavioral Design-under-Test (DUT)-Blöcke.
Aus MATLAB oder Simulink generierte SystemVerilog-DPI-Modelle können auch in bestehende Universal Verification Methodology-Umgebungen (UVM) integriert werden.
Erstellung von SystemVerilog-DPI-Testbenches
- Komponenten-Testbench: Wenn Sie eine C-Komponente aus einem Simulink-Subsystem zur Verwendung als DPI-Komponente generieren, können Sie eine SystemVerilog-Testbench erzeugen. Die Testbench verifiziert die generierte DPI-Komponente anhand von Datenvektoren aus Ihrem Simulink-Modell. (Siehe Generierung einer SystemVerilog-DPI-Komponente.)
- Testbench für HDL Code: Wenn Sie mit HDL Coder HDL Code aus einem Simulink-Subsystem generieren, können Sie eine SystemVerilog-Testbench in Form eines Vektorensatzes erzeugen. Diese Testbench vergleicht die Ausgabe der HDL-Implementierung mit den Ergebnissen des Simulink-Modells, die bei Simulationsläufen erfasst wurden (siehe HDL-Entwurf mit SystemVerilog-DPI-Testbench verifizieren).
Beispiele und Erläuterungen
Generierung von synthetisierbarem SystemVerilog HDL
Generierung von SystemVerilog-DPI-Komponenten
Software-Referenz
Siehe auch: HDL Coder, HDL Verifier, Entwicklung für FPGAs, ASICs und SoCs, Mixed-Signal-Systeme, Halbleiter, UVM-Verifikation, ASIC-Entwicklung, ASIC-Verifikation