Hi,
I am creating an
FPGA (Spartan 3 XCS400) based replacement for one of our
old board designs which uses IDT 7201 -
http://www.idt.com/products/files/42...00-7202_DS.pdf.
Initially I cheated a little and created a clock for the FIFOs and lined up
my stimulus to that clock and worked out the bugs in my design.
To actually match the original board however I need to work without a
clock - the board I am replacing is controlled by another board with a
32MHz clock on it but that clock does not pass down the backplane to my
board so all I have are various signals that I must act on.
Most of the design seems to work fine except for a limitation in the FIFO
core (I am using the Xilinx async FIFO core v6.1) - it must get few clocks
from each domain after a reset otherwise it will not accept writes (or
reads presumably but it's hard to tell).
I did put a 50MHz clock on my board Just In Case(tm) however, obviously, it
won't be synchronised with the clock on the main card so I need to sync up
the incoming reset signal and then count out a few clocks to the FIFO core.
I'm still working on the last part trying to get it working but since my
design reads like a "How not to use an
FPGA" (through no fault of my
own!

plus I am normally a software guy, it's hard going.
Has anyone done this sort of thing before? (and would be willing to share
their solution).
I am also considering taking the 50MHz clock on my board and multiplying it
up to, say, 150MHz and sychronising/one-shotting all of the signals from
the other board to that.
--
Daniel O'Connor software and network engineer
for Genesis Software -
http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
-- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C