buffer quivalent block in HDL coder

16 Ansichten (letzte 30 Tage)
DEEKSHA GUPTA
DEEKSHA GUPTA am 19 Mär. 2018
Bearbeitet: Walter Roberson am 7 Apr. 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

Akzeptierte Antwort

DEEKSHA GUPTA
DEEKSHA GUPTA am 20 Mär. 2018
Bearbeitet: Walter Roberson am 7 Apr. 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.

Weitere Antworten (2)

Bharath Venkataraman
Bharath Venkataraman am 19 Mär. 2018
Bearbeitet: Bharath Venkataraman am 19 Mär. 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 Kommentare
Bharath Venkataraman
Bharath Venkataraman am 20 Mär. 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 am 20 Mär. 2018
Bearbeitet: DEEKSHA GUPTA am 20 Mär. 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

Melden Sie sich an, um zu kommentieren.


Bharath Venkataraman
Bharath Venkataraman am 20 Mär. 2018
Starting in R2018a, you can choose natural or bit-reversed order for the FFT block with vector input.
  1 Kommentar
DEEKSHA GUPTA
DEEKSHA GUPTA am 7 Apr. 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. "

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by