HDL Coder
Generate VHDL and Verilog code for FPGA and ASIC designs
HDL Coder™ generates portable, synthesizable Verilog® and VHDL® code from MATLAB® functions, Simulink® models, and Stateflow® charts. The generated HDL code can be used for FPGA programming or ASIC prototyping and design.
HDL Coder provides a workflow advisor that automates the programming of Xilinx®, Microsemi®, and Intel® FPGAs. You can control HDL architecture (49:42) and implementation, highlight critical paths, and generate hardware resource utilization estimates. HDL Coder provides traceability between your Simulink model and the generated Verilog and VHDL code, enabling code verification for high-integrity applications adhering to DO-254 and other standards.
Get Started:
High-Level Hardware Design
Design your subsystem by choosing from over 300 HDL-ready Simulink blocks, MATLAB functions, and Stateflow charts. Simulate the hardware behavior of your design, explore alternative architectures, and generate synthesizable VHDL or Verilog.
Vendor-Independent Targeting
Generate synthesizable RTL for use in a range of implementation workflows and FPGA, ASIC, and SoC devices. Reuse the same models for prototype and production code generation.
Faster Hardware Development
Converge more efficiently on high-quality systems designs by integrating algorithm and hardware design in one environment. Gain insights into how hardware implementation may affect algorithm constraints early in your workflow.
More Optimized Designs
Explore a wide variety of hardware architecture and fixed-point quantization options before committing to an RTL implementation. High-level synthesis optimizations efficiently map to device resources such as logic, DSPs, and RAMs.
Rapidly explore a wide range of implementation options.
FPGA-Based Devices
Generate RTL that maps efficiently to Xilinx, Intel, and Microsemi FPGA and SoC devices. Map inputs and outputs to device-level I/O and AXI registers using hardware support packages for popular boards, or define your own custom reference design.
Real-Time Simulation and Testing
Target programmable FPGA I/O modules from Speedgoat and others using the HDL Workflow Advisor, and simulate using Simulink Real-Time™. Native floating point (9:19) HDL code generation simplifies workflows for high-accuracy prototyping.
Wireless Communications
Design system-level algorithms using live or captured signals, then add hardware architecture details or reuse subsystems and blocks from Wireless HDL Toolbox™. Deploy to preconfigured software-defined radio (SDR) platforms or to custom target hardware.
Motor and Power Control
Implement complex low-latency control systems on FPGA, ASIC, or SoC hardware while maintaining floating-point (9:19) accuracy when needed. Simulate with plant models, deploy to prototype systems, and reuse models for production deployment.
Video and Image Processing
Generate efficient RTL from Vision HDL Toolbox™ blocks and subsystems, which model streaming hardware implementations of vision processing algorithms. Improve algorithms by modeling memory and software transaction latency with SoC Blockset™.
HIL Plant Modeling
Perform real-time simulation of complex Simscape™ hardware-in-the-loop (HIL) plant models running on FPGA rapid control prototyping systems. Use the Simscape HDL Workflow Advisor to automatically program Speedgoat FPGA I/O modules.
Design and Verification Workflow
Connecting algorithm design to hardware implementation involves more than just HDL code generation. Learn the best practices (15:25) used in prototyping and production workflows.
Design for Hardware
Develop algorithms that work efficiently on streaming data. Add hardware architecture details with HDL-ready Simulink blocks, custom MATLAB Function blocks, and Stateflow charts.
Floating-Point to Fixed-Point
Fixed-point quantization trades off numerical accuracy for implementation efficiency. Fixed-Point Designer™ helps automate and manage this process, while native floating-point (9:19) HDL code generation delivers accuracy for wide dynamic range operations.
Prototyping and Verification
Apply shift-left verification to eliminate bugs early and ensure that the hardware functions as required in the system context. Use HDL Verifier™ to debug FPGA prototypes directly from MATLAB and Simulink and to generate components to speed RTL verification.
Optimized Square Root
Generate high-frequency fixed-point HDL from square root operations
Half-Precision Native Floating Point
Generate target-independent synthesizable RTL code from half-precision floating-point models
Subsystem Reference Support
Generate HDL code from models that re-use blocks via referenced subsystems
Software Interface Script Generation
Use MATLAB to stimulate and analyze the generated IP core on SoC platforms or standalone FPGA boards.
Gigasample-per-second (GSPS) Signal Processing
Increase throughput of HDL-optimized CIC decimation and complex to magnitude-angle conversion by using frame-based input (requires DSP System Toolbox)
Intel® Quartus® Prime Pro Edition Targeting
Generate generic HDL IP core or integrate IP core into Intel reference designs
See release notes for details on any of these features and corresponding functions.
MATLAB for FPGA, ASIC, and SoC Development
Domain experts and hardware engineers use MATLAB® and Simulink® to develop prototype and production applications for deployment on FPGA, ASIC, and SoC devices.