buffer quivalent block in HDL coder

13 vues (au cours des 30 derniers jours)
DEEKSHA GUPTA
DEEKSHA GUPTA le 19 Mar 2018
I am using buffer block in simulink model to store 512 samples of fft output,but this buffer block is unsupported for hdl code generation.so what is buffer equivalent block in HDL coder for hdl code generation. i have tried to use 'DESERIALIZER 1D' block in place of buffer then it is showing an error that "Illegal block in enabled subsystem",how to fix this error

Réponse acceptée

DEEKSHA GUPTA
DEEKSHA GUPTA le 20 Mar 2018
Modifié(e) : Walter Roberson le 7 Avr 2018
I am attaching snap of my simulink model and error. plz suggest how to fix this error
Simulink Block Warnings/Errors
hdl_fft_ipcore/PFB Spectrum Viewer/BitRevOrder Error: Block 'hdl_fft_ipcore/PFB Spectrum Viewer/BitRevOrder' is unsupported for HDL code generation when in native floating-point mode.
hdl_fft_ipcore/PFB Spectrum Viewer/Buffer Error: Block 'hdl_fft_ipcore/PFB Spectrum Viewer/Buffer' is not supported for HDL code generation. To continue with code generation, comment out this block.

Plus de réponses (2)

Bharath Venkataraman
Bharath Venkataraman le 19 Mar 2018
Modifié(e) : Bharath Venkataraman le 19 Mar 2018
If you are using the HDL Optimized FFT block , I suggest you use a RAM block (either single port, simple dual port or dual port) to buffer the values and read them out.
  3 commentaires
Bharath Venkataraman
Bharath Venkataraman le 20 Mar 2018
You will have to create those signals to drive the RAM based on the FFT output.
An easier approach would be to use the HDL FIFO . You can use the FFT output valid to push into the FIFO and then pop for FFT length cycles when the end output from the FFT goes high. You can use the HDL counter block to count the number of cycles you need to keep the pop high.
May I ask why you need the output of the FFT to be buffered?
DEEKSHA GUPTA
DEEKSHA GUPTA le 20 Mar 2018
Modifié(e) : DEEKSHA GUPTA le 20 Mar 2018
I am using HDL optimized FFT block for vectored data(16 samples in each frame) to calculate 512 point FFT for that i need to buffer these 16 samples 32 times(16×32=512) for that i need to use buffer follwed by matlab function block which reverse the order of fft ouput to get natural order of fft output but both buffer and matlab function block is not supported by hdl coder.. i can not use HDL FIFO,because hdl fifo supports only scalar input but my input is vector

Connectez-vous pour commenter.


Bharath Venkataraman
Bharath Venkataraman le 20 Mar 2018
Starting in R2018a, you can choose natural or bit-reversed order for the FFT block with vector input.
  1 commentaire
DEEKSHA GUPTA
DEEKSHA GUPTA le 7 Avr 2018
I have create a model to determine 512 point FFT while giving vectored input(16*1).but my FFT model is giving bit reversed order,so to get ouput in natural order i need to reverse the order of output for that i need to use matlab function block which reverses the order of FFT output.before function block i have used buffer to store 512 data.but while converting into hdl code it is showing error " Simulink Block Warnings/Errors fft512V16/mainsystem/Enabled Synchronous Subsystem/Deserializer1D Error: Illegal block in enabled subsystem. fft512V16/mainsystem/Enabled Synchronous Subsystem/Enable Error: All ports of an enabled/triggered subsystem must have the same sample rate for HDL code generation. "

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by