Hi Wade, Thank you for the reply. That was also the parameter set I was using, and I think the problem might be due to the Vivado simulator. For static parameters in the rfnoc-FIR, coeffs are generated as registers, and Vivado will produce unexpected results unless these registers are properly initialized. By adding initialization codes for these coeffs, the static parameters are working as expected.
As you've got no problem with the simulation, is this unique to Vivado only (e.g., needing extra config.?)? Thanks, Ming ________________________________________ From: Wade Fife <[email protected]> Sent: 12 July 2021 18:41 To: Ming You Cc: [email protected] Subject: Re: [USRP-users] Regarding RFNoC FIR Filter block Hi Ming, For static coefficients, try setting RELOADABLE_COEFFS = 0 and USE_EMBEDDED_REGS_COEFFS = 0. I did a quick simulation and it seemed to work, but I didn't spend much time checking it. Make sure you also set NUM_COEFFS and COEFFS_VEC correctly where the rfnoc_block_fir_filter is instantiated. The testbench has examples of how to do this. Thanks, Wade On Thu, Jul 8, 2021 at 5:42 PM Ming You <[email protected]<mailto:[email protected]>> wrote: Dear ALL, I am trying to modify the RFNoC fir filter block to a static coeffs. fir, and I've managed to use the Vivado simulator to monitor the simulation waveforms generated by the testbench code. Strange things to me are that: 1. When enabling the reloadable feature (i.e., RELOADABLE_COEFFS =1), and enabling the DSP-embedded reg feature (USE_EMBEDDED_REGS_COEFFS=1), everything will work alright and the outputs are expected. 2. When enabling the reloadable feature (i.e., RELOADABLE_COEFFS =1), and disabling the DSP-embedded reg feature (USE_EMBEDDED_REGS_COEFFS=0), there are some outputs but not expected. 3. When disabling the reloadable feature (i.e., RELOADABLE_COEFFS =0), and disabling the DSP-embedded reg feature (USE_EMBEDDED_REGS_COEFFS=0), there are outputs but the outputs are simply XXXX. Can anyone tell me how to correctly configure the rfnoc_block_fir_filter or its sub-modules, so that it can work with static coeffs.? Or this rfnoc block is intended to work only under reloadable+embedded setup, while the static coeff. was initially ok to use but later not maintained? Thank you for your time and kind help in advance! Ming _______________________________________________ USRP-users mailing list -- [email protected]<mailto:[email protected]> To unsubscribe send an email to [email protected]<mailto:[email protected]> _______________________________________________ USRP-users mailing list -- [email protected] To unsubscribe send an email to [email protected]
