HDL Coder

Hauptmerkmale

  • Zielunabhängiger, synthetisierbarer VHDL- und Verilog-Code
  • Codegenerierungs-Unterstützung für MATLAB-Funktionen, System Objects und Simulink-Blöcke
  • Endliche Mealy- und Moore-Zustandsautomaten und Steuerung logischer Implementierungen mithilfe von Stateflow
  • Workflow Advisor für die Programmierung von Xilinx- und Altera-Anwendungsgeräten
  • Gemeinsame Nutzung von Ressourcen und Retiming bei Area-Speed-Kompromissen
  • Code-to-Model- und Model-to-Code-Rückverfolgbarkeit für DO-254
  • Integration von Legacy-Code
Generating HDL code from MATLAB or Simulink with HDL Coder.
Generieren von HDL-Code aus MATLAB oder Simulink mit HDL Coder. Sie können synthetisierbaren VHDL- und Verilog-Code aus MATLAB-Funktionen, Simulink-Modellen oder einer Kombination der beiden generieren.

HDL-Codegenerierung

Mit HDL Coder können Sie synthetisierbaren HDL-Code für FPGA- und ASIC-Implementierungen in nur wenigen Schritten generieren:

  • Modellieren Ihrer Entwicklung mithilfe einer Kombination von MATLAB-Code, Simulink-Blöcken und Stateflow-Diagrammen.
  • Optimieren von Modellen, um Area-Speed-Entwicklungsziele zu erfüllen.
  • Generieren von HDL-Code mithilfe des integrierten HDL Workflow Advisor für MATLAB und Simulink.
  • Verifizieren des generierten Programmcodes mit HDL Verifier™.

Generierung von HDL-Code aus MATLAB

Der HDL Workflow Advisor in HDL Coder konvertiert MATLAB-Code automatisch von Gleitkomma- zu Festkomma-Code und generiert synthetisierbaren VHDL- und Verilog-Code. Dadurch können Sie Ihren Algorithmus auf einer hohen Ebene mithilfe abstrakter MATLAB-Konstrukte und System Objects modellieren, während gleichzeitig Optionen für die Generierung von HDL-Code bereitgestellt werden, die für die Hardware-Implementierung optimiert sind. HDL Coder bietet eine Bibliothek sofort einsatzbereiter logischer Elemente wie z. B. Zähler und Zeitschaltungen, die in MATLAB programmiert werden.

Generierung von HDL-Code aus Simulink

Der HDL Workflow Advisor generiert VHDL- und Verilog-Code aus Simulink und Stateflow. Mit Simulink können Sie Ihren Algorithmus mithilfe einer Bibliothek mit mehr als 200 Blöcken (einschließlich Stateflow-Diagrammen) modellieren. Diese Bibliothek bietet komplexe Funktionen wie den Viterbi-Decoder, FFT-, CIC- und FIR-Filter für die Modellierung der Signalverarbeitungs- und Kommunikationssysteme sowie das Generieren von HDL-Code.

HDL Coder Workflow Advisor for Simulink.

HDL Coder-Workflow Advisor für Simulink. Sie können HDL-Code generieren, um Xilinx- und Altera-FPGAs zu programmieren, indem Sie eine direkte Verbindung mit Xilinx ISE und Altera Quartus II herstellen.

HDL-Code-Optimierung

In MATLAB oder Simulink können Sie HDL-Code optimieren, um Speed-Area-Ziele zu erfüllen, indem Sie verteilte Pipelines, Streaming und gemeinsame Ressourcennutzung einsetzen. In MATLAB können Sie erweiterte Schleifenoptimierungen wie z. B. Loop-Streaming und Loop-Unrolling für eine MATLAB-Entwicklung nutzen, die For-Schleifen- oder Matrixoperationen enthält. Sie können in MATLAB-Code persistente Array- oder Matrixvariablen zuordnen, um RAMs zu blockieren. In Simulink können Sie Mehrkanalentwicklungen und Serialisierungstechniken nutzen, wie sie bei Signalverarbeitungs- und Multimedia-Anwendungen häufig vorkommen.

HDL Workflow Advisor for MATLAB.
HDL Workflow Advisor für MATLAB bietet Optimierungsoptionen wie RAM-Zuordnung, Pipelines, gemeinsame Nutzung von Ressourcen und Loop-Unrolling.
Area-speed optimization.
Area-Speed-Optimierung. Indem vier Multiplikatoren durch einen ersetzt werden, wird die Entwicklungs-Area auf Kosten einer Steigerung der Datenrate um das Vierfache reduziert.

FPGA-Entwicklungsautomatisierung

Der HDL Workflow Advisor in HDL Coder automatisiert den Workflow für die Implementierung Ihrer MATLAB-Algorithmen und Simulink-Modelle in Xilinx und Altera FPGAs. Der HDL Workflow Advisor integriert alle Schritte des FPGA-Entwicklungsprozesses, darunter:

  • Prüfen des Simulink-Modells auf HDL-Codegenerierungs-Kompatibilität
  • Generieren von HDL-Code, HDL-Testbench und Kosimulationsmodell
  • Durchführung von Synthese und Timing-Analyse mittels Integration mit Xilinx ISE und Altera Quartus II
  • Schätzung der bei der Entwicklung genutzten Ressourcen
  • Rückannotieren des Simulink-Modells mit dem Timing des kritischen Pfads
Back annotating a Simulink model with critical path timing.
Rückannotieren eines Simulink-Modells mit dem Timing des kritischen Pfads. Der HDL Workflow Advisor hebt das Timing des kritischen Pfads in Simulink hervor, um die Identifizierung von Geschwindigkeitsengpässen zu unterstützen und die Entwicklungsleistung zu verbessern.

Sie können einen Timing-Bericht nach der Synthese einsehen und das Simulink-Modell rückannotieren, um Timing-Einschränkungs-Engpässe zu identifizieren. Diese Integration mit Synthese-Tools ermöglicht schnelle Entwicklungsiterationen und reduziert die Zykluszeit bei der FPGA-Entwicklung beträchtlich.

HDL-Codeverifizierung

HDL Coder generiert VHDL- und Verilog-Testbenches für die schnelle Verifizierung des generierten HDL‑Codes. Sie können eine HDL-Testbench mithilfe einer Vielzahl von Optionen, die Impulse auf den HDL-Code anwenden, spezifisch anpassen. Außerdem können Sie Skriptdateien erstellen, um die Kompilierung und Simulation Ihres Codes in HDL-Simulatoren zu automatisieren.

HDL Coder generiert zusammen mit HDL Verifier automatisch zwei Arten von Kosimulationsmodellen:

  • HDL-Kosimulationsmodell für die Durchführung der HDL-Kosimulation mit Simulink und einem HDL-Simulator wie z. B. Cadence Incisive oder Mentor Graphics ModelSim und Questa
  • FPGA-in-the-Loop (FIL)-Kosimulationsmodell für die Verifizierung Ihrer Entwicklung mit Simulink und einem FPGA-Gerät
Automatically generated FGPA-in-the-loop (FIL) model for video sharpening.
Automatisch generiertes FPGA-in-the-Loop (FIL)-Modell für das Schärferstellen von Videos. Mit der FIL-Simulation können Sie effizient die erforderlichen Entwicklungsressourcen auf Ihrer Hardware untersuchen.

HDL-Code-Dokumentierung und Rückverfolgbarkeit

HDL Coder dokumentiert den generierten Code in einem HTML-Bericht, der HDL-Code mit Hyperlinks und eine Tabelle der generierten HDL-Dateien umfasst. Mithilfe von Hyperlinks im HDL-Code können Sie zu den jeweiligen MATLAB-Algorithmen oder Simulink-Blöcken navigieren, die den Code generiert haben.

HDL Coder unterstützt Code-Rückverfolgbarkeit für Anwendungen hoher Integrität, die Standards wie DO-254 entsprechen, um Ihnen Folgendes zu ermöglichen:

  • Navigieren zum MATLAB-Code aus dem generierten HDL-Code
  • Navigieren zwischen Simulink-Blöcken und generiertem HDL-Code für bidirektionale Rückverfolgbarkeit
  • Einfügen von vom Anwender gesteuerten Kommentaren und Beschreibungen, um die Lesbarkeit des Programmcodes zu verbessern
Code Generation Report in MATLAB, which lets you navigate to MATLAB code from generated VHDL and Verilog code
Code-Generierungsbericht in MATLAB; damit können Sie aus dem generierten VHDL- und Verilog-Code zum MATLAB-Code navigieren.

Mithilfe von Simulink Verification and Validation™ mit HDL Coder können Sie Systemanforderungen wie Kommentare in den aus Simulink oder Stateflow generierten HDL-Code einbetten. Dadurch erzielen Sie eine völlige Transparenz im gesamten Workflow, von den Systemanforderungen bis zum generierten HDL-Code.

HDL Code Generation Report in Simulink, which lets you navigate between model and generated HDL code.
HDL-Code-Generierungsbericht in Simulink; damit können Sie zwischen Modell und generiertem HDL-Code navigieren.

Auf den Punkt gebracht: Fixed-Point Konvertierung und Optimierung in MATLAB und Simulink

Webinar anzeigen