I would suggest writing a casper memo, and linking it prominently from the dram block documentation page. But if you write it, you can choose where it goes!
On 20 April 2015 at 08:09, Madden, Timothy J. <tmad...@aps.anl.gov> wrote: > I send a link when I post. I am still fixing a few bugs. Mostly works but I > don't want to post a buggy design. > Also, how does one update the wiki on this? Perhaps add an "app note?" > > > Tim > > ________________________________ > From: Brad Dober [do...@sas.upenn.edu] > Sent: Monday, April 20, 2015 10:07 AM > To: Madden, Timothy J. > Cc: Jack Hickish; casper@lists.berkeley.edu > > Subject: Re: [casper] Regarding dram: Moving from ROACH1 to ROACH2 > > Hi Tim, > > Could you send out a link to the github page when you do post it? > > Thanks, > > > Brad Dober > Ph.D. Candidate > Department of Physics and Astronomy > University of Pennsylvania > Cell: 262-949-4668 > > On Thu, Apr 16, 2015 at 11:11 AM, Madden, Timothy J. <tmad...@aps.anl.gov> > wrote: >> >> I will get on github soon. Argonne and Nist are sharing stuff already. >> >> T >> >> ________________________________ >> From: Jack Hickish [jackhick...@gmail.com] >> Sent: Thursday, April 16, 2015 10:08 AM >> To: Madden, Timothy J.; casper@lists.berkeley.edu >> Subject: Re: [casper] Regarding dram: Moving from ROACH1 to ROACH2 >> >> 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. <tmad...@aps.anl.gov> >> 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 >>> >