I have a ROACH board and am using a design I got from another ROACH person. The 
design uses a lookup table
stored in a dram. The software interface is used to load the dram with the 
data. later, the dram is read out
to stream data to MKID DAC board.

Questions:
I have my FPGA running at 128MHz. The DRAM runs at 200MHz. 

What speed does the dataout port of the dram spit data? Does it just work at 
128MHz and I get a 144 bit word every clock
at 128MHz? Or is the dataout running at 200MHz, where I have to send data to 
FIFO at 200MHz, then readout the 
FIFO at 128MHz? 

Do I really care about the FIFO clock rate as long as I can get data at 128MHz?



>From the dram docs on the web:
" To read data out of the DRAM, hold 'RWn' high, keep the address constant for 
two FPGA clock cycles, and toggle the 'cmd_valid' pin every clock. Note that a 
new word will be available on the 'data_out' pin on every clock cycle. 
'rd_valid' will frame valid output data some indeterminate number of clock 
cycles after the read 'cmd_valid' toggles. 'cmd_ack' is high unless an attempt 
to write a command into the input FIFO failed, at which point it will go low 
synchronously with the issuing of the failed command. "

So if I wish to read out address 0, 1, 2, ....I have to keep the address 
constant for 2 fpga clocks. Then I can only read out
dram at fpga_clock/2? Or, do I toggle cmd_valid, to get address 0, 1 at the 
128MHz fpga clock. 
Now I have to set the addr to 2 and toggle cmd_valid again. IN this case, I 
still cannot readout the dram at 128MHz. 
Or perhaps I toggle cmd_valid forever and get data from address 0,1,2,3... on 
every fpga clock cycle?

All of the example model files run at 200MHz, and dram is at 200MHz. So it is 
not much help.



Tim Madden

Reply via email to