HDL Cosimulation of a Bandpass Filter Using Simulink
Learn how to use HDL cosimulation to quickly test your Verilog or VHDL code using Simulink®. Traditional HDL verification requires creating and maintaining separate HDL testbenches to conduct unit testing of your Verilog design. With HDL cosimulation, you can reuse your existing Simulink testbench to drive your Verilog code running in Cadence® Xcelium™ while leveraging built-in time and spectral analysis in Simulink to verify the design meets specification.
With one Simulink test harness, perform bit-and-cycle accurate comparisons against a Simulink block–based representation of the design to determine how closely they match. Finally, leverage MATLAB® and its toolboxes for further post-processing as the Verilog cosimulation output is logged directly in the MATLAB workspace. Put HDL cosimulation to work to accelerate your HDL verification efforts.
Additional resources:
Verify HDL Module with Simulink Testbench: https://bit.ly/4fpd6AP
Get Started with Simulink HDL Cosimulation: https://bit.ly/48rYyyr
Simulation Timescales: https://bit.ly/4f1349v
Clock, Reset, and Enable Signals: https://bit.ly/3C4gRO1
Timescales: Absolute, Relative and Automatic: https://bit.ly/4feheUA
filterDesigner: https://bit.ly/3NPWnuJ
Fixed-Point Tool: https://bit.ly/3NKerqk
Chapters:
00:00 Overview of HDL cosimulation
02:00 The larger workflow leading up to cosimulation
04:25 Designing the bandpass filter in MATLAB
06:08 Testing the filter in Simulink
06:33 Optimizing the fixed-point design
07:28 Why cosimulation?
09:07 The Simulink starting point model
11:00 Walkthrough using cosimWizard
13:12 Defining control signals such as clock and reset using TcL script
15:15 Define Simulink sample times and data types for cosimulation output signals
20:00 Wire up generated cosimulation block in Simulink testbench model
21:00 Add blocks for bit-and-cycle accurate testing
22:23 Launch Cadence Xcelium cosimulation
23:00 Run cosimulation from Simulink
25:35 Customize MATLAB callbacks to run cosimulation in batch mode
No comments