Generating asynchronous delays with HDL coder in Simulink

4 views (last 30 days)
Hi,
actually VHDL language supports various methods to model asynchronous delays of signals such as "transport" "inertial" and "wait".
Unfortunately it seems that HDL coder library does not include any supported block to model this functions, I can find only the Z^-1 block.
Is there any way to emit a propagation delay of a signal in the ouput code?
Thank you

Accepted Answer

Ryan Baird
Ryan Baird on 21 Feb 2023
Since transport delays, inertial delays, and wait statements are simulation-only, non-synthesized VHDL constructs that are ignored by synthesis tools and are not guaranteed to accurately reflect what will happen in hardware, HDL Coder uses some of them in testbench code to model timing but does not currently provide a way to model your own.
If you're just looking to see the signal propagation so you can see how a value was computed, whichever simulator you're using likely has a way to expand delta cycles.
  1 Comment
stefano
stefano on 22 Feb 2023
Edited: stefano on 22 Feb 2023
I'm looking for a way to quickly create VHDL models of asynchronous logic such as a digitally programmable delay lines or phase detectors with a parameterized dead band.
I am aware that delay statements in VHDL cannot be synthesized but if HDL coder had the possibility to model them, output codes could also be created for simulation test benches as well as for synthesis tools.
It would be very useful for speeding up simulations in silicon design verification flows imho where at the moment the alternative would be to either write the VHDL models by hand or use different languages like systemC that requires additional cosimulation tools.

Sign in to comment.

More Answers (0)

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!