Re: Strange FPGA behavior



On Mon, 20 Jul 2009 11:36:00 -0700 (PDT), luudee wrote:

Sounds like a timing problem. Intermediate failures are usually
timing related.

Absolutely.

Where is the clock coming from, the DSP ? Do you cancel out the
clock buffer delay before you use it for the LED register ?

Painful recollections of a recent customer project which
had a clocked external interface - nothing too fast,
about 40MHz or so - output from FPGA, fed into the
streaming data interface of some microcontroller.
Something hard-to-fathom was going wrong. We
scratched heads, fooled around with timing
constraints in a desperate effort to get the clock
edges (at the FPGA registers) exactly lined up with
the centre of the data window. Static timing analysis
and oscilloscope measurements both said we had it
just right.... and the nearer we got to "just right",
the less reliable the data transfer. Angry project
managers, much consumption of coffee and discussion.

Finally I gave up in disgust and - after a struggle -
got a copy of the microcontroller software from the
programmer folk. The micro's interface control registers
had been set up for falling-edge clocking of the
interface, but all the specifications said rising-edge.
So the closer I got to centre-aligning the clock rise
in the data window, the worse the timing became!

Just one bit wrong in one *&&^% control register.
Just because one programmer couldn't read a spec.
Grrr.
--
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@xxxxxxxxxxxxx
http://www.MYCOMPANY.com

The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.
.



Relevant Pages

  • Re: A timing question
    ... Use the IOB's DDR flipflops to output the clock. ... Then the clock and the register outputs all change at ... appropriate timing relation between the clock out and the register out ... is designed to constrain timing delays from clocks to corresponding ...
    (comp.arch.fpga)
  • Re: How to convert from 2x data rate signals to 1x data rate signals
    ... Latch the 64 bits of data on posedge of 100MHz clock ... timing concerns if I do not have much combinatorial logic in the path. ... second register following so that you always have the most recent 32 ...
    (comp.arch.fpga)
  • Re: SPI module in FPGA
    ... pretty sure they've got an SPI interface. ... As for the clock, you can easily divide down your main processor clk ... i guess a shift register is the ... the "SPI-interface" of ADCs ist nothing more than a shift ...
    (comp.arch.fpga)
  • Re: SPI module in FPGA
    ... the "SPI-interface" of ADCs ist nothing more than a shift ... register carrying out one bit per clock, so it is up to YOU which clock ... kept on the timing: Some ADCs respond e.g. on the falling edge of their ...
    (comp.arch.fpga)
  • Compact Flash interface with MPC8313E
    ... We have been working with Compact Flash interface with our ... consideration for interfacing the CF in true IDE mode. ... MPC8313E based processor.We aren't able to judge which clock time mode ... Kindly guide us more on this and also the timing configurations ...
    (comp.arch.embedded)

Loading