cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mayjain
Visitor
Visitor
630 Views
Registered: ‎10-28-2019

Error reloading coefficients using FIR Compiler 7.2 in System Generator

I'm trying to use FIR compiler 7.2 (have tried 7.1 as well with the same error) in System Generator with multiple coefficient sets. When I try to reload a new coefficient set through the reload channel, I set the first data to zero (trying to load the first coefficient set) followed by the values of the coefficients (256 16 bit unsigned ints). I get the following error while trying to run this model:

"FIR v7.1 simulation did not complete sucessfully : could not send reload packet.
FIR Compiler Verison 7.1 WARNING: Invalid reload fsel, 2, ignoring packet"

Note, I am keeping the reload data line only at values 0 and 1 (0 for the first word for filter select, and 1 followed by 0s for the coefficients), so I don't know where the reload packet sees fsel=2. 

Attached are screenshots of the model, the FIR configuration tabs and the error window.

My setup is MATLAB2019b, Vivado 2019.2 (I have tried 2019.1 as well, and get the same error)

Any help would be much appreciated!

model.png
error_window.png
config_pg1.png
config_pg2.png
config_pg3.png
config_pg4.png
0 Kudos
3 Replies
vkanchan
Xilinx Employee
Xilinx Employee
562 Views
Registered: ‎09-18-2018

Hi @mayjain ,

Could you make sure if the tvalid and tlast signals are aligned with the tdata on the reload channel ?

I am assuming the tvalid might not be aligned with the tdata and that might be causing the FIR to see a value 2 in the first reload transaction.

0 Kudos
mayjain
Visitor
Visitor
549 Views
Registered: ‎10-28-2019

I did verify that the tvalid and tlast signals are aligned. I have 256 coefficients, and I have the reload_tvalid signal high for 257 cycles, including the first cycle for fsel. reload_tlast is high for the last of the 257 cycles -- tlast and tvalid are getting deasserted in the same cycle, which I believe is the correct behavior.

Moreover, reload_tdata doesn't ever have the value 2 in my sim, but the error message says fsel got the value 2. Also, if I change the number of coefficient sets to 3, without any other change to the sim, the error message says fsel = 3. It seems that somehow the reload packet fsel value is using the value put in for number of coefficient sets, rather than the actual value in the reload packet.

0 Kudos
vkanchan
Xilinx Employee
Xilinx Employee
474 Views
Registered: ‎09-18-2018

Hi @mayjain ,

I have created a simple FIR reload with 2 set of coefficients. The reload happens correctly for both the sets.

Hope this helps in comparing the FIR compiler in both the models and see if something is going wrong.

0 Kudos