02-19-2019 12:17 AM
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?
02-19-2019 06:17 PM
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.
02-26-2019 06:30 PM
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!!
02-27-2019 05:59 PM
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.