This solution works perfectly, thanks much! -Sam
On Tue, Mar 29, 2011 at 10:47 AM, Andrew Martens <[email protected]> wrote: > Hi Samuel > >> However, when I combine the two parts (linking the coarse_delay to the >> pfb_fir_real block, the simulation fails at the 163rd clock. >> Specifically, one single convert_of block in the twiddle block deep in >> the fft_wideband_real gets an indeterminate value, and various plots >> from scopes don't show anything wrong other than the data flow just >> stopping. I've worked on this for a while now and I am now seeking any >> advice the group may have. >> > > Thanks for the good description of the problem. I have seen something > similar. Basically, a design using the delay_wideband_prog block > builds (and works) fine but causes an error during simulation with > an indeterminate value error. I am assuming that you are using > this block or something similar. > > Basically, the RAMs in delay_wideband_prog are generating an > undefined value during or just after reset. This value is propagating > and does not cause an error when manipulated (added etc) > (more undefined values are generated). When it encounters a circuit > that uses it in logic (comparison etc) it causes an error. This is why > it only triggers the error way further on (and later) in the FFT and > not at all in a simple simulation. If you look carefully at your scopes > you may see a 'hole' in the data - this is the undefined value. > > To fix this, go into the delay_wideband_prog block and into the > delay_dp blocks. In the mask of the Dual Port RAM blocks, under > the Advanced tab, change Write Modes to Read before Write for port A. > Alternatively, use Single Port in 'Select type of BRAM' on the top-level > mask. > > I am not exactly sure of the error mechanism here. We are actually > reading values from port B and don't feed data back into port A so write > mode on port A should not matter...? > > This will be fixed in the libraries at some point. Compiling with Dual Port > is fine and using the Single Port BRAM option works for simulation and > compilation. > > Regards > Andrew >

