Re: [casper] DRAM (DDR3) ROACH-2

2013-07-25 Thread Wesley New
Hi David,

Sounds very interesting. Thanks for the info. No one is using a soft core
cpu as there is already the PPC on the ROACH boards. The DDR and QDR have
interfaces to the PPC over the epb/opb bus. This runs at 66MHz and is not
idea to use as part of your data pipeline as it is generally to slow. The
best way is to packetize the data and sent it over either 10Gig or 1Gig
ethernet to a server for storage or further software/GPU processing.

Hope this helps.

Regards

Wesley

Wesley New
South African SKA Project
+2721 506 7365
www.ska.ac.za




On Wed, Jul 24, 2013 at 7:35 PM, David Saroff dsar...@nrao.edu wrote:

 Wesley,

 Yes, I am interested in both the QDRSRAM and the DDR3RAM on the roach2.

 My current project is an FX correlator for 38 small antennae at the prime
 focus of the Green Bank Telescope, for 21cm HI work. With limited
 bandwidth  MHz an FX correlator -might- fit in one v6. I need a lot of
 memory for accumulators, and if the v6 can't keep up with the data flow,
 for buffering out the results at partial duty cycle.

 Are people instantiating the soft microprocessor to get at those memories,
 or is there some state machine implementation that could be wired into the
 data flow more directly?

 David



  Comments below.
 
 
  On Wed, Jul 24, 2013 at 12:07 PM, Matthew Bridges 
  matthewbridge...@gmail.com wrote:
 
  Hi JP and Wes,
 
  I am very interested in this work, but from a RHINO perspective. I am
  looking into how I should go about adding the RHINOs DRAM into my
  Architecture.
 
  I have a few questions, if you have time to answer.
 
  Did you use the Memory Interface Generator? And did it work for you?
 
  Yes, use the MIG. Both R1 and now R2 yellow blocks are based around MIG
 
  Are there other coregens used in your block? E.g FIFOs?
 
  Yes, the outputted data goes though an asynchronous fifo.
 
  How many ports did you implement? I was thinking of putting 2 into my
  Architecture, 1 for the Wishbone, 1 for direct processor access.
 
  What interface do you use to talk to the block? Is it OPB?
 
  Both the QDR and DDR use a single port which maps the memory address
  space to OPB bus so that the memory can be read from the PPC.
 
 
  Thanks,
 
  Matthew
 
 
  On Wed, Jul 24, 2013 at 11:48 AM, Wesley New wes...@ska.ac.za wrote:
 
  This is great work JP.
 
  Out of interest is anyone else planning to use the DDR3 on ROACH2?
 
  Wesley New
  South African SKA Project
  +2721 506 7365
  www.ska.ac.za
 
 
 
 
  On Wed, Jul 24, 2013 at 8:24 AM, Juan-Pierre Jansen van Rensburg 
  jvrensburg...@gmail.com wrote:
 
  Hi all
 
  I have been working on a yellow block for the DDR3 of the ROACH-2. As
  far as I know this yellow block does not yet exist?
 
 
  The same DRAM yellow block is used and interfacing the memory remains
  the same (as for the ROACH-1). The DRAM also uses an asynchronous fifo
  to
  allow long write bursts. I have tested the memory (thoroughly) using
  standard memory test patterns, and the memory passes reliably (I have
  yet
  to see a failure).
 
  I have not yet implemented a CPU interface to the DDR3, but this will
  hopefully be done soon. I have a couple more things that I would like
  to
  check/test, and if this is done I'll ask one of the SKA-SA guys to
  push
  this onto their CASPER mlib git repo.
 
  I thought this is information worth sharing so that multiple people
  don't end up working on the same thing... Hopefully this is not
  already the
  case!
 
  Thanks,
  JP van Rensburg
 
 
 
 
 
 
 
  --
  Software Defined Radio Group
  Department of Electrical Engineering
  University of Cape Town
  Private Bag X3, Rondebosch 7701
  Tell: +27 (0)21 650 4659
  Mob: +27 (0)84 413 2642
 
 
 





Re: [casper] DRAM (DDR3) ROACH-2

2013-07-25 Thread Juan-Pierre Jansen van Rensburg
The mlib_devel library with the ddr3 support is available from
github.com/juan-pierre/mlib_devel - fetch the ddr3_devel branch (not merged
to master). I have successfully tested designs with the DDR3 clock rate set
to 200 MHz (400 MHz DDR) and 250 MHz (500 MHz DDR) - just a word of
caution, the  MIG documentation mentions that if the memory is clocked
above 480 MHz (DDR) then the IDELAYCTRL reference frequency must be set to
300 MHz and not 200 MHz  - currently only 200 MHz is used.




On Wed, Jul 24, 2013 at 2:53 PM, Primiani, Rurik
rprimi...@cfa.harvard.eduwrote:

 Hi JP,

 We recently (last week) discovered we desperately need the DDR3 on ROACH2
 since our work-around for getting the visibility data out of our system
 won't work in the long run (due to 10 GbE switch limiations... it's a long
 story). So just this week I re-started work on a DDR3 yellow block I had
 left behind a while ago.

 I am using the ddr3_controller and ddr3_clk modules from
 github.com/ska-sa/roach2_test_gateware which I believe is known to work.
 Originally I used the wishbone bus that was used for testing the board with
 a bridge but the only OPB-to-WB bridge I found online had the memory
 addresses hard-coded into a netlist. Instead I took the opb_dram_sniffer
 (which contains arbitration between CPU and FPGA) and the async_dram pcores
 from ROACH-1 and am in the process of interfacing them to the above
 modules. I have not yet determined how to translate the old MIG application
 interface to the new one but came up with some hack that seems to compile.

 I haven't tested anything in hardware yet! I'm very happy that it seems I
 won't have to since JP's done all the work :) Also I'm completely fine with
 abandoning the very little work I've done to help JP on the CPU-interface
 side. If the current yellow block isn't online somewhere presently could I
 get a copy to use in testing the DDR3 on our ROACH2's?

 Thanks and good work!
 Rurik



 On Wed, Jul 24, 2013 at 7:02 AM, Jonathan Weintroub 
 jweintr...@cfa.harvard.edu wrote:

 Hi JP, Wes,

 We need the DDR3 rather urgently (time scale of 1 to 2 months), and Rurik
 Primiani has recently been working on it.  Laura Vertatschitsch will be
 joining our group in September and we had her in mind to help with this too
 though recently concluded her start date isn't soon enough.

 Of course these efforts should be coordinated, and your note, JP, is
 certainly apropos and well timed for us.

 I'll leave it to Rurik to describe what he has been doing, he talked a
 bit about bus interfaces, so perhaps the PPC comes into it.

 Cheers,

 Jonathan


 On Jul 24, 2013, at 5:48 AM, Wesley New wes...@ska.ac.za wrote:

  This is great work JP.
 
  Out of interest is anyone else planning to use the DDR3 on ROACH2?
 
  Wesley New
  South African SKA Project
  +2721 506 7365
  www.ska.ac.za
 
 
 
 
  On Wed, Jul 24, 2013 at 8:24 AM, Juan-Pierre Jansen van Rensburg 
 jvrensburg...@gmail.com wrote:
  Hi all
 
  I have been working on a yellow block for the DDR3 of the ROACH-2. As
 far as I know this yellow block does not yet exist?
 
 
  The same DRAM yellow block is used and interfacing the memory remains
 the same (as for the ROACH-1). The DRAM also uses an asynchronous fifo to
 allow long write bursts. I have tested the memory (thoroughly) using
 standard memory test patterns, and the memory passes reliably (I have yet
 to see a failure).
 
  I have not yet implemented a CPU interface to the DDR3, but this will
 hopefully be done soon. I have a couple more things that I would like to
 check/test, and if this is done I'll ask one of the SKA-SA guys to push
 this onto their CASPER mlib git repo.
 
  I thought this is information worth sharing so that multiple people
 don't end up working on the same thing... Hopefully this is not already the
 case!
 
  Thanks,
  JP van Rensburg
 
 
 
 






[casper] DRAM (DDR3) ROACH-2

2013-07-24 Thread Juan-Pierre Jansen van Rensburg
Hi all

I have been working on a yellow block for the DDR3 of the ROACH-2. As far
as I know this yellow block does not yet exist?


The same DRAM yellow block is used and interfacing the memory remains the
same (as for the ROACH-1). The DRAM also uses an asynchronous fifo to allow
long write bursts. I have tested the memory (thoroughly) using standard
memory test patterns, and the memory passes reliably (I have yet to see a
failure).

I have not yet implemented a CPU interface to the DDR3, but this will
hopefully be done soon. I have a couple more things that I would like to
check/test, and if this is done I'll ask one of the SKA-SA guys to push
this onto their CASPER mlib git repo.

I thought this is information worth sharing so that multiple people don't
end up working on the same thing... Hopefully this is not already the case!

Thanks,
JP van Rensburg


Re: [casper] DRAM (DDR3) ROACH-2

2013-07-24 Thread Wesley New
This is great work JP.

Out of interest is anyone else planning to use the DDR3 on ROACH2?

Wesley New
South African SKA Project
+2721 506 7365
www.ska.ac.za




On Wed, Jul 24, 2013 at 8:24 AM, Juan-Pierre Jansen van Rensburg 
jvrensburg...@gmail.com wrote:

 Hi all

 I have been working on a yellow block for the DDR3 of the ROACH-2. As far
 as I know this yellow block does not yet exist?


 The same DRAM yellow block is used and interfacing the memory remains the
 same (as for the ROACH-1). The DRAM also uses an asynchronous fifo to allow
 long write bursts. I have tested the memory (thoroughly) using standard
 memory test patterns, and the memory passes reliably (I have yet to see a
 failure).

 I have not yet implemented a CPU interface to the DDR3, but this will
 hopefully be done soon. I have a couple more things that I would like to
 check/test, and if this is done I'll ask one of the SKA-SA guys to push
 this onto their CASPER mlib git repo.

 I thought this is information worth sharing so that multiple people don't
 end up working on the same thing... Hopefully this is not already the case!

 Thanks,
 JP van Rensburg






Re: [casper] DRAM (DDR3) ROACH-2

2013-07-24 Thread Matthew Bridges
Hi JP and Wes,

I am very interested in this work, but from a RHINO perspective. I am
looking into how I should go about adding the RHINOs DRAM into my
Architecture.

I have a few questions, if you have time to answer.

Did you use the Memory Interface Generator? And did it work for you?
Are there other coregens used in your block? E.g FIFOs?
How many ports did you implement? I was thinking of putting 2 into my
Architecture, 1 for the Wishbone, 1 for direct processor access.
What interface do you use to talk to the block? Is it OPB?

Thanks,

Matthew


On Wed, Jul 24, 2013 at 11:48 AM, Wesley New wes...@ska.ac.za wrote:

 This is great work JP.

 Out of interest is anyone else planning to use the DDR3 on ROACH2?

 Wesley New
 South African SKA Project
 +2721 506 7365
 www.ska.ac.za




 On Wed, Jul 24, 2013 at 8:24 AM, Juan-Pierre Jansen van Rensburg 
 jvrensburg...@gmail.com wrote:

 Hi all

 I have been working on a yellow block for the DDR3 of the ROACH-2. As far
 as I know this yellow block does not yet exist?


 The same DRAM yellow block is used and interfacing the memory remains the
 same (as for the ROACH-1). The DRAM also uses an asynchronous fifo to allow
 long write bursts. I have tested the memory (thoroughly) using standard
 memory test patterns, and the memory passes reliably (I have yet to see a
 failure).

 I have not yet implemented a CPU interface to the DDR3, but this will
 hopefully be done soon. I have a couple more things that I would like to
 check/test, and if this is done I'll ask one of the SKA-SA guys to push
 this onto their CASPER mlib git repo.

 I thought this is information worth sharing so that multiple people don't
 end up working on the same thing... Hopefully this is not already the case!

 Thanks,
 JP van Rensburg







-- 
Software Defined Radio Group
Department of Electrical Engineering
University of Cape Town
Private Bag X3, Rondebosch 7701
Tell: +27 (0)21 650 4659
Mob: +27 (0)84 413 2642


Re: [casper] DRAM (DDR3) ROACH-2

2013-07-24 Thread Wesley New
Comments below.


On Wed, Jul 24, 2013 at 12:07 PM, Matthew Bridges 
matthewbridge...@gmail.com wrote:

 Hi JP and Wes,

 I am very interested in this work, but from a RHINO perspective. I am
 looking into how I should go about adding the RHINOs DRAM into my
 Architecture.

 I have a few questions, if you have time to answer.

 Did you use the Memory Interface Generator? And did it work for you?

Yes, use the MIG. Both R1 and now R2 yellow blocks are based around MIG

 Are there other coregens used in your block? E.g FIFOs?

Yes, the outputted data goes though an asynchronous fifo.

 How many ports did you implement? I was thinking of putting 2 into my
 Architecture, 1 for the Wishbone, 1 for direct processor access.

What interface do you use to talk to the block? Is it OPB?

Both the QDR and DDR use a single port which maps the memory address
space to OPB bus so that the memory can be read from the PPC.


 Thanks,

 Matthew


 On Wed, Jul 24, 2013 at 11:48 AM, Wesley New wes...@ska.ac.za wrote:

 This is great work JP.

 Out of interest is anyone else planning to use the DDR3 on ROACH2?

 Wesley New
 South African SKA Project
 +2721 506 7365
 www.ska.ac.za




 On Wed, Jul 24, 2013 at 8:24 AM, Juan-Pierre Jansen van Rensburg 
 jvrensburg...@gmail.com wrote:

 Hi all

 I have been working on a yellow block for the DDR3 of the ROACH-2. As
 far as I know this yellow block does not yet exist?


 The same DRAM yellow block is used and interfacing the memory remains
 the same (as for the ROACH-1). The DRAM also uses an asynchronous fifo to
 allow long write bursts. I have tested the memory (thoroughly) using
 standard memory test patterns, and the memory passes reliably (I have yet
 to see a failure).

 I have not yet implemented a CPU interface to the DDR3, but this will
 hopefully be done soon. I have a couple more things that I would like to
 check/test, and if this is done I'll ask one of the SKA-SA guys to push
 this onto their CASPER mlib git repo.

 I thought this is information worth sharing so that multiple people
 don't end up working on the same thing... Hopefully this is not already the
 case!

 Thanks,
 JP van Rensburg







 --
 Software Defined Radio Group
 Department of Electrical Engineering
 University of Cape Town
 Private Bag X3, Rondebosch 7701
 Tell: +27 (0)21 650 4659
 Mob: +27 (0)84 413 2642




Re: [casper] DRAM (DDR3) ROACH-2

2013-07-24 Thread Jonathan Weintroub
Hi JP, Wes,

We need the DDR3 rather urgently (time scale of 1 to 2 months), and Rurik 
Primiani has recently been working on it.  Laura Vertatschitsch will be joining 
our group in September and we had her in mind to help with this too though 
recently concluded her start date isn't soon enough.  

Of course these efforts should be coordinated, and your note, JP, is certainly 
apropos and well timed for us.

I'll leave it to Rurik to describe what he has been doing, he talked a bit 
about bus interfaces, so perhaps the PPC comes into it.

Cheers,

Jonathan


On Jul 24, 2013, at 5:48 AM, Wesley New wes...@ska.ac.za wrote:

 This is great work JP.
 
 Out of interest is anyone else planning to use the DDR3 on ROACH2?
 
 Wesley New
 South African SKA Project
 +2721 506 7365
 www.ska.ac.za
 
 
 
 
 On Wed, Jul 24, 2013 at 8:24 AM, Juan-Pierre Jansen van Rensburg 
 jvrensburg...@gmail.com wrote:
 Hi all
 
 I have been working on a yellow block for the DDR3 of the ROACH-2. As far as 
 I know this yellow block does not yet exist? 
 
 
 The same DRAM yellow block is used and interfacing the memory remains the 
 same (as for the ROACH-1). The DRAM also uses an asynchronous fifo to allow 
 long write bursts. I have tested the memory (thoroughly) using standard 
 memory test patterns, and the memory passes reliably (I have yet to see a 
 failure).
 
 I have not yet implemented a CPU interface to the DDR3, but this will 
 hopefully be done soon. I have a couple more things that I would like to 
 check/test, and if this is done I'll ask one of the SKA-SA guys to push this 
 onto their CASPER mlib git repo.
 
 I thought this is information worth sharing so that multiple people don't end 
 up working on the same thing... Hopefully this is not already the case!
 
 Thanks, 
 JP van Rensburg
 
 
 
 




Re: [casper] DRAM (DDR3) ROACH-2

2013-07-24 Thread Primiani, Rurik
Hi JP,

We recently (last week) discovered we desperately need the DDR3 on ROACH2
since our work-around for getting the visibility data out of our system
won't work in the long run (due to 10 GbE switch limiations... it's a long
story). So just this week I re-started work on a DDR3 yellow block I had
left behind a while ago.

I am using the ddr3_controller and ddr3_clk modules from
github.com/ska-sa/roach2_test_gateware which I believe is known to work.
Originally I used the wishbone bus that was used for testing the board with
a bridge but the only OPB-to-WB bridge I found online had the memory
addresses hard-coded into a netlist. Instead I took the opb_dram_sniffer
(which contains arbitration between CPU and FPGA) and the async_dram pcores
from ROACH-1 and am in the process of interfacing them to the above
modules. I have not yet determined how to translate the old MIG application
interface to the new one but came up with some hack that seems to compile.

I haven't tested anything in hardware yet! I'm very happy that it seems I
won't have to since JP's done all the work :) Also I'm completely fine with
abandoning the very little work I've done to help JP on the CPU-interface
side. If the current yellow block isn't online somewhere presently could I
get a copy to use in testing the DDR3 on our ROACH2's?

Thanks and good work!
Rurik


On Wed, Jul 24, 2013 at 7:02 AM, Jonathan Weintroub 
jweintr...@cfa.harvard.edu wrote:

 Hi JP, Wes,

 We need the DDR3 rather urgently (time scale of 1 to 2 months), and Rurik
 Primiani has recently been working on it.  Laura Vertatschitsch will be
 joining our group in September and we had her in mind to help with this too
 though recently concluded her start date isn't soon enough.

 Of course these efforts should be coordinated, and your note, JP, is
 certainly apropos and well timed for us.

 I'll leave it to Rurik to describe what he has been doing, he talked a bit
 about bus interfaces, so perhaps the PPC comes into it.

 Cheers,

 Jonathan


 On Jul 24, 2013, at 5:48 AM, Wesley New wes...@ska.ac.za wrote:

  This is great work JP.
 
  Out of interest is anyone else planning to use the DDR3 on ROACH2?
 
  Wesley New
  South African SKA Project
  +2721 506 7365
  www.ska.ac.za
 
 
 
 
  On Wed, Jul 24, 2013 at 8:24 AM, Juan-Pierre Jansen van Rensburg 
 jvrensburg...@gmail.com wrote:
  Hi all
 
  I have been working on a yellow block for the DDR3 of the ROACH-2. As
 far as I know this yellow block does not yet exist?
 
 
  The same DRAM yellow block is used and interfacing the memory remains
 the same (as for the ROACH-1). The DRAM also uses an asynchronous fifo to
 allow long write bursts. I have tested the memory (thoroughly) using
 standard memory test patterns, and the memory passes reliably (I have yet
 to see a failure).
 
  I have not yet implemented a CPU interface to the DDR3, but this will
 hopefully be done soon. I have a couple more things that I would like to
 check/test, and if this is done I'll ask one of the SKA-SA guys to push
 this onto their CASPER mlib git repo.
 
  I thought this is information worth sharing so that multiple people
 don't end up working on the same thing... Hopefully this is not already the
 case!
 
  Thanks,
  JP van Rensburg