Hardware Modeling with MATLAB Code
MATLAB® design and test bench guidelines for HDL code generation
You can write MATLAB code to model state machines and implement hardware elements such as counters and RAM for HDL code generation. When authoring the code, follow for loop best practices and guidelines to write efficient MATLAB code to generate HDL code.
Functions
hdl.RAM | Single, simple dual, dual, true dual, or simple tri-port RAM for memory read/write access |
hdl.BlackBox | Black box for including custom HDL code |
Topics
Model for HDL Code Generation
- Model a Counter for HDL and High-Level Synthesis Code Generation
To write MATLAB code that models hardware and is suitable for HDL and High-Level Synthesis (HLS) code generation, use this design pattern. - Model a State Machine for HDL and High-Level Synthesis Code Generation
The following design pattern shows MATLAB examples of Mealy and Moore state machines which are suitable for HDL and High-Level Synthesis (HLS) code generation. - Model State with Persistent Variables and System Objects
This example shows how to use persistent variables and System objects to model state and delays in a MATLAB® design for HDL code generation. - Generate Hardware Instances For Local Functions
The following example shows how to use local functions in MATLAB, so that each execution of a local function corresponds to a separate hardware module in the generated HDL code. - Implement RAM Using MATLAB Code
You can write MATLAB code that maps to RAM during HDL code generation by using: - Map Matrices to ROM
To map a matrix constant to ROM:If your MATLAB code meets these requirements, HDL Coder™ inserts a no-reset register at the output of the matrix in the generated code.
Best Practices and MATLAB Test Bench
- Guidelines for Writing MATLAB Code to Generate Efficient HDL and HLS Code
Guidelines for writing efficient MATLAB code and design requirements for efficient HDL and High-Level Synthesis (HLS) code generation. - Bitwise Operations in MATLAB for HDL and HLS Code Generation
HDL Coder supports bit shift, bit rotate, bit slice operations that mimic HDL-specific operators without saturation and rounding logic. - For-Loop Best Practices for HDL Code Generation
Best practices when using for loops in your MATLAB code for HDL code generation. - MATLAB Test Bench Requirements and Best Practices for Code Generation
What is a MATLAB test bench, requirements and best practices for HDL and High-Level Synthesis (HLS) code generation. - Indexing Best Practices for HDL Code Generation
Best practices when performing indexing operations in your MATLAB algorithms for HDL code generation.