MATLAB and Simulink for Semiconductor Development

MATLAB® and Simulink® facilitate the design space exploration and top-down design of semiconductor devices, letting engineers collaborate to describe, analyze, simulate, and verify their multidomain systems using a combination of modeling approaches and levels of abstraction. Domain examples are analog, digital, RF, software, and thermal; and abstraction can vary from transistor level up to algorithm level.

After the modeling phase, system models, verification environments, and test cases defined in MATLAB and Simulink can be reused in EDA tools, connecting system design and implementation. These capabilities allow engineers to significantly shorten the design iterations, reduce the risk of delays in the project schedule, and enable the continuous integration of specification and design changes.

"Using MathWorks tools, we identified the best algorithm choice. Because the model ran much faster than our circuit simulator, we caught implementation errors much quicker and shortened our time to market."

Cory Voisine, Allegro MicroSystems

Using MATLAB and Simulink for Semiconductor Development

Digital Design

Model and simulate digital systems using state charts, extensive libraries of math functions, signal processing algorithms, and digital logic. Build your models using the level of abstraction that allows the right tradeoff between accuracy and simulation speed. This permits a rapid and effective design space exploration, helping you make the right choices on system architecture and data types. Furthermore, existing Verilog®, VHDL®, and C/C++ models can be imported, enabling a mixed top-down/bottom-up design flow.

Perform system-on-chip (SoC) hardware/software co-design and simulation with MATLAB and Simulink, which consider SoC architecture as well as task execution and OS effects. This permits a high-fidelity analysis of software performance and hardware utilization very early in the product development process.

Analog and Mixed-Signal Design

Easily combine and simulate analog, digital, software, and RF components with MATLAB and Simulink, speeding up the evaluation of numerous design alternatives and optimizing system performance.

Design and analyze components, such as ADC, PLL, and SerDes, starting from MathWorks reference models and libraries. On the system level, rapidly explore architectural tradeoffs, evaluating the effects of physical impairments (such as phase noise, jitter, nonlinearity, and leakage) and verifying the circuit behavior in different conditions and scenarios.

Reuse MATLAB and Simulink models and test benches in IC and PCB environments such as Cadence® Virtuoso® AMS Designer and Cadence® PSpice®. This speeds up the implementation process and bridges the gap between systems engineering and ASIC design.


Verify MATLAB and Simulink models in a structured way, defining verification environments, test cases, and formal properties. Regression tools and formal engines are provided, allowing you to find bugs early in the design flow. In order to quantify the verification results, coverage measurement and requirement traceability tools are supplied.

Export system models, verification environments, and test cases as SystemVerilog DPI-C components and reuse them as drivers, checkers, or reference models in your EDA simulations. You can also use cosimulation to compare MATLAB and Simulink models with their HDL or SPICE representations.

RTL Implementation

Focus on the design options rather than coding: progressively refine verified models of digital systems and convert them into RTL code. Implementation choices can be expressed in MATLAB and Simulink, so that generated RTL code accurately represents the designer’s intent. Compared to hand coding, this workflow not only permits a faster exploration of different architectural options, but it also makes the overall process more agile to quickly adapt to changes.

Implement digital MATLAB and Simulink models into the most common FPGA boards using the FPGA-in-the-loop flow. This can be extremely helpful for the prototyping and validation of both ASIC and FPGA designs.