cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
changlei1990
Visitor
Visitor
616 Views
Registered: ‎06-13-2018

I have a problem that the interpolation output is incorrect when the FIR 7.2 compiler selects the reload coefficient.

I was building a project with the FIR7.2 compiler as shown in the figure. It is a four times interpolation filter with a coefficient of 1 2 3 4 5 6 5 4 3 2 1. The reload_tdata  is 44 45 46 47 48 49 48 47 46 45 44,The input data is 1 0 0 0 0 0 0 0 0 0 0 (Nine zeros.)。As we know, the core is to interpolate the data first, then filter it. After four times interpolation and filtering, I think the output should be 44 45 46 47 48 49 48 47 46 45 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (Twenty-nine zeros.),obviously, that's not the result.

The filter output is correct when we do not select the coefficient reload(FIR2). However, when we selected coefficient reload, the output of the filter is obviously incorrect(FIR3). The other configurations of both of them are the same.

 Is my setting incorrect? Who can tell me HOW to do it?aa.pngbb.pngdd.pngss.png

0 Kudos
3 Replies
nathanx
Moderator
Moderator
580 Views
Registered: ‎08-01-2007

The interpolation FIR filter configuration is correct.

As for the reload interface, the RELOAD channel packet length is derived from the number of coefficients specified at core generation time and the filter implementation used. See sections Coefficient Reload and Coefficient Reload Tab on the IP GUI for details on how to generate the content for the channel.

The second thing is the set of data loaded into the RELOAD channel does not take action until triggered by a reconfiguration synchronization event as described in CONFIG Channel, which means after the set of coefs is loaded to reload channel, you need to send a configuration pakcet to CONFIG channel in order to trigger the loaded coefs.

Finally, after the reloaded coefs is triggered, you need to send another data input into the core.

0 Kudos
changlei1990
Visitor
Visitor
547 Views
Registered: ‎06-13-2018

Thank you very much for your response!

But I still don't get the result I want, and I know how to configure CONFIG CHANNEL to trigger the reload coefficients, but obviously my reload coefficients is not triggered correctly.

I don't know how to correct my model. I think there's something wrong with this IP core.

By the way, Do you have a similar simple correct model to help me?  ^_^

Thank you very much!!

 

0 Kudos
nathanx
Moderator
Moderator
532 Views
Registered: ‎08-01-2007

I believe the FIR Compiler provides a demp test bench for the user at the IP generation, check the generated IP folder in the project, find the demo TB in the demo_tb folder. You can also have a look at PG149 chapter 6 in order to find a demo TB.

Also as mentioned in my first response, The RELOAD channel packet length is derived from the number of coefficients specified at
core generation time and the filter implementation used. See sections Coefficient Reload and Coefficient Reload Tab on the IP GUI for details on how to generate the content for the channel. As with the CONFIG channel, the last sample of the packet must be qualified by an asserted tlast.

0 Kudos