Filter löschen
Filter löschen

Adaptive pipelining design cannot insert the required number of registers in a feedback loop with integral modules

5 Ansichten (letzte 30 Tage)
In my design I need to use the following design approach:
But after generating HDL code using HDLCoder, the report suggests that:
"Adaptive pipelining is not supported if the block is in a feedback loop. Number of registers required: 2; Number of registers inserted: 0.(from MATLABr21b)” and "Unable to insert required number of pipeline registers because the block, gain, is in a feedback loop and there are not enough latency budget at the output of the block. Number of registers required: 2; number of registers inserted: 0. Consider increasing the latency budget by adding more design delays in the feedback loop or using clock-rate pipelining.(from MATLABr23b)"
At the moment I don't know how to go about modifying it, I'd like to know if it's feasible for me to do so, and also how this needs to be implemented for the clock rate pipeline, I don't have the slightest clue, and I didn't understand what I should do from reading the official instructions. I hope to get the guidance of professionals, thank you very much.
If you need to provide more instructions, I am very happy to add!
Here is a screenshot of the report

Akzeptierte Antwort

Kiran Kintali
Kiran Kintali am 21 Mai 2024
Bearbeitet: Kiran Kintali am 21 Mai 2024
What version of MATLAB are you using? Can you please share your model?
Have you tried using Oversampling factor (>1) to allocate pipelines in the feedback loop at the clock rate?
You also need to choose a Target and Target Frequency settings.
Attaching a Sample Model.
>> hdlsaveparams('basic_ap_floop_24a/HDL DUT')
%% Set Model 'basic_ap_floop_24a' HDL parameters
hdlset_param('basic_ap_floop_24a', 'AdaptivePipelining', 'on');
hdlset_param('basic_ap_floop_24a', 'HDLSubsystem', 'basic_ap_floop_24a');
hdlset_param('basic_ap_floop_24a', 'Oversampling', 2);
hdlset_param('basic_ap_floop_24a', 'SynthesisTool', 'Xilinx Vivado');
hdlset_param('basic_ap_floop_24a', 'SynthesisToolChipFamily', 'Virtex7');
hdlset_param('basic_ap_floop_24a', 'SynthesisToolDeviceName', 'xc7v2000t');
hdlset_param('basic_ap_floop_24a', 'SynthesisToolPackageName', 'fhg1761');
hdlset_param('basic_ap_floop_24a', 'SynthesisToolSpeedValue', '-1');
hdlset_param('basic_ap_floop_24a', 'TargetFrequency', 100);
Generate code with Adaptive Pipelining; check the codegen report; see the generated model for the locaiton of the pipelines in the feedback and the additional balance delays.
>> makehdl('basic_ap_floop_24a/HDL DUT')
  3 Kommentare
Kiran Kintali
Kiran Kintali am 21 Mai 2024
Bearbeitet: Kiran Kintali am 21 Mai 2024
Check the generated codegen report basic_ap_floop_24a_codegen_rpt.html
>> makehdl('basic_ap_floop_24a/HDL DUT')
### Working on the model basic_ap_floop_24a
### Generating HDL for basic_ap_floop_24a/HDL DUT
### Using the config set for model basic_ap_floop_24a for HDL code generation parameters.
### Running HDL checks on the model 'basic_ap_floop_24a'.
### Begin compilation of the model 'basic_ap_floop_24a'...
### Working on the model 'basic_ap_floop_24a'...
### Working on... GenerateModel
### Begin model generation 'gm_basic_ap_floop_24a'...
### Rendering DUT with optimization related changes (IO, Area, Pipelining)...
### Model generation complete.
### Generated model saved at hdlsrc\basic_ap_floop_24a\gm_basic_ap_floop_24a.slx
### Begin VHDL Code Generation for 'basic_ap_floop_24a'.
### MESSAGE: The design requires 2 times faster clock with respect to the base rate = 1.
### Begin VHDL Code Generation for 'HDL_DUT_tc'.
### Working on HDL_DUT_tc as hdlsrc\basic_ap_floop_24a\HDL_DUT_tc.vhd.
### Code Generation for 'HDL_DUT_tc' completed.
### Working on basic_ap_floop_24a/HDL DUT as hdlsrc\basic_ap_floop_24a\HDL_DUT.vhd.
### Code Generation for 'basic_ap_floop_24a' completed.
### Generating HTML files for code generation report at basic_ap_floop_24a_codegen_rpt.html
### Creating HDL Code Generation Check Report HDL_DUT_report.html
### HDL check for 'basic_ap_floop_24a' complete with 0 errors, 0 warnings, and 1 messages.
### HDL code generation complete.
>>

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Code Generation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by