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
>

Reply via email to