Hi Tim,

If you don't mind sharing your design, I'll put it up on the Casper wiki,
where i think it would be useful for others trying to use the dram.

Cheers,
Jack

On Thu, 16 Apr 2015 7:19 am Madden, Timothy J. <[email protected]> wrote:

>  Folks
>
> After reverse engineering the dram on ROACH2 here is what one should know.
>
> 1. The dram on roach2 is different from roach1.
>    On roach1, the user can read and write 144 size words to the dram with
> the buss set not to 288 bits.
>   On roach2, the data buss is always 288 bits, regardless of the "use wide
> buss" setting.
> 2. Of one wants to stream dram data to a DAC on a roach 1, for MKID
> applications we do this:
>      Read every other clock cycle by toggling cmd ack on each clock.
>      144 bit words will steam out every clock that can drive the DAC.
>
>     On roach2, we read 288 bit words every other clock cycle by toggling
> cmd ack on every clock.
>     Then we use a mux to convert the  288 bit words down to a series of
> 144 bit words on every clock.
>
> The dram should be set to 200MHz, not 240MHz or something else. The CORE
> generator has all its constraints
> set up for 200MHz. Note that this 200MHz has nothing to do with your
> fabric clock, as it comes
> from a different PLL on the FPGA. The yellow block does not interface to
> the dram itself, but simply FIFOs.
> When you write to the dram yellow block, you write to FIFOs that cross the
> clock domains. For streaming
> 144 bit data to DACs, you are reading 288 bit data from the dram at 1/2
> your fabric clock rate. This gives
> lots of time for the FIFOs to read from the dram in little 8 word bursts
> and still deal with the dram refresh.
>
> I post this because we got confused by the documentation on the casper
> website. Also, we are moving from
> ROACH to ROACH2, and did not know the little differences in the dram.
> Also, it is natural to assume that the
> yellow block talks directly to the xilinx ddr3 controller and the ports
> correspond to the UI interface
> documented in the xilinx memory generator docs. This is not the case. The
> yellow block reads and writes
> fifos, and the ddr stuff is all hidden.
>
> The dram is a nice design by the way. I am just pointing out some details
> to save other folks some time.
>
> Tim Madden
> Argonne Lab
>
>

Reply via email to