主要内容

Simulate and Generate HDL Code for Tapped Delay Enabled Resettable Synchronous Block

R2026b

This example shows how to simulate a model that uses a Tapped Delay Enabled Resettable Synchronous block and generate HDL code for the DUT subsystem. The block delays a scalar input signal by multiple sample periods and returns the delayed samples as a vector when the external enable signal is true and the external reset signal is false.

Open and Load Model

Load and open the TappedDelayEnableResetModel model. The DUT subsystem contains a Tapped Delay Enabled Resettable Synchronous block. The Number of delays parameter specifies the number of delayed versions of the input signal that the block returns.

load_system("TappedDelayEnableResetModel");
open_system("TappedDelayEnableResetModel/DUT");

Simulate Model

Simulate the TappedDelayEnableResetModel model. The output of the block is a vector. The block returns four-element vector, the first element is delayed by four sample periods, the second element is delayed by three sample periods, and so on.

sim("TappedDelayEnableResetModel");

Generate HDL Code

You can generate the HDL code for a model by using HDL Coder™. Generate the HDL code for DUT subsystem using the makehdl function.

makehdl("TappedDelayEnableResetModel/DUT")
### Begin compilation of the model 'TappedDelayEnableResetModel'...
### Working on the model <a href="matlab:open_system('TappedDelayEnableResetModel')">TappedDelayEnableResetModel</a>
### Generating HDL for <a href="matlab:open_system('TappedDelayEnableResetModel/DUT')">TappedDelayEnableResetModel/DUT</a>
### Using the config set for model <a href="matlab:configset.showParameterGroup('TappedDelayEnableResetModel', { 'HDL Code Generation' } )">TappedDelayEnableResetModel</a> for HDL code generation parameters.
### Running HDL checks on the model 'TappedDelayEnableResetModel'.
### Working on the model 'TappedDelayEnableResetModel'...
### Working on... GenerateModel
### Begin model generation 'gm_TappedDelayEnableResetModel'...
### Copying DUT to the generated model....
### Model generation complete.
### Generated model saved at <a href="matlab:open_system('hdlsrc/TappedDelayEnableResetModel/gm_TappedDelayEnableResetModel.slx')">hdlsrc/TappedDelayEnableResetModel/gm_TappedDelayEnableResetModel.slx</a>
### Begin VHDL Code Generation for 'TappedDelayEnableResetModel'.
### Working on TappedDelayEnableResetModel/DUT as hdlsrc/TappedDelayEnableResetModel/DUT.vhd.
### Generating package file hdlsrc/TappedDelayEnableResetModel/DUT_pkg.vhd.
### Code Generation for 'TappedDelayEnableResetModel' completed.
### Generating HTML files for code generation report at <a href="matlab:hdlcoder.report.openReportV2Dialog('/tmp/Bdoc26b_3351752_3506755/tpd3295ad3/hdlcoder-ex57292052/hdlsrc/TappedDelayEnableResetModel', '/tmp/Bdoc26b_3351752_3506755/tpd3295ad3/hdlcoder-ex57292052/hdlsrc/TappedDelayEnableResetModel/html/index.html')">index.html</a>
### Creating HDL Code Generation Check Report <a href="matlab:hdlcoder.report.openDdgViaHyperlink('TappedDelayEnableResetModel', '/tmp/Bdoc26b_3351752_3506755/tpd3295ad3/hdlcoder-ex57292052/hdlsrc/TappedDelayEnableResetModel', 'DUT_report.html')">DUT_report.html</a>
### HDL check for 'TappedDelayEnableResetModel' complete with 0 errors, 1 warnings, and 0 messages.
### HDL code generation complete.