Re: [casper] ROACH 1 DRAM

2014-02-26 Thread G Jones
Hi Marc,
Can you expand on this a bit. Are you saying that I should set the top bits
of the DRAM address in the FPGA fabric and that will then affect the 256 MB
portion of the DRAM that is accessed by the PPC, which is then broken up
into the 64 MB chunks described in the block documentation and accessed
with the dram_controller register? That seems counter-intuitive.

Jason, I looked at the read_dram and write_dram functions, and that's
basically the way my code works. I was hoping to see some secret extra
register setting I was missing to explain the behavior I'm seeing.

Thanks again for the input on this problem. Hopefully I'll figure it out
eventually.
Glenn


On Tue, Feb 25, 2014 at 2:43 AM, G Jones glenn.calt...@gmail.com wrote:

 Hi Marc,
 Thanks for the reply. I would have expected that selecting the 64 MB chunk
 with the dram_controller register as described in the DRAM block
 documentation on the wiki would get around any such PPC address space
 limitation. Is that not the case?

 Glenn
 On Feb 25, 2014 2:30 AM, Marc Welz m...@ska.ac.za wrote:

 On Mon, Feb 24, 2014 at 7:57 PM, G Jones glenn.calt...@gmail.com wrote:
  Hi,
  Sorry to repost this. Just curious if anyone has experience using more
 than
  256 MB of FPGA DRAM on the ROACH, in particular through the PPC
 interface.

 The PowerPC's virtual memory subsystem maps things in 256Mb
 regions/segments,
 and only one is used to access the FPGA(*) - so you will probably have
 to implement
 some sort of windowing/base+offset scheme.

 (The address space of the PowerPC is pretty constrained)

 regards

 marc




Re: [casper] ROACH 1 DRAM

2014-02-26 Thread Jason Manley
Corr does this in 1MB chunks for this reason.

I suspect a problem in the controller. Glenn, can you access over 256MB from 
the fabric?

Jason 



On 26 Feb 2014, at 17:13, Marc Welz m...@ska.ac.za wrote:

 On Tue, Feb 25, 2014 at 7:43 AM, G Jones glenn.calt...@gmail.com wrote:
 Hi Marc,
 Thanks for the reply. I would have expected that selecting the 64 MB chunk
 with the dram_controller register as described in the DRAM block
 documentation on the wiki would get around any such PPC address space
 limitation. Is that not the case?
 
 I think that should indeed be the case - I had forgotten that the base+offset
 scheme had already been implemented quite some time ago.
 
 A note though: On the other side of the FPGA, there isn't that much
 memory to go around either - so where possibly try and send it out (or
 process it)
 in smaller pieces
 
 regards
 
 marc
 




Re: [casper] ROACH 1 DRAM

2014-02-26 Thread G Jones
I'm not 100% sure, as I don't write from the fabric: I load using the PPC
interface and then playback from the fabric.
I may have found an addressing problem in my design; I'm rebuilding now to
check it and will report back.


On Wed, Feb 26, 2014 at 10:17 AM, Jason Manley jman...@ska.ac.za wrote:

 Corr does this in 1MB chunks for this reason.

 I suspect a problem in the controller. Glenn, can you access over 256MB
 from the fabric?

 Jason



 On 26 Feb 2014, at 17:13, Marc Welz m...@ska.ac.za wrote:

  On Tue, Feb 25, 2014 at 7:43 AM, G Jones glenn.calt...@gmail.com
 wrote:
  Hi Marc,
  Thanks for the reply. I would have expected that selecting the 64 MB
 chunk
  with the dram_controller register as described in the DRAM block
  documentation on the wiki would get around any such PPC address space
  limitation. Is that not the case?
 
  I think that should indeed be the case - I had forgotten that the
 base+offset
  scheme had already been implemented quite some time ago.
 
  A note though: On the other side of the FPGA, there isn't that much
  memory to go around either - so where possibly try and send it out (or
  process it)
  in smaller pieces
 
  regards
 
  marc
 




Re: [casper] ROACH 1 DRAM

2014-02-26 Thread Marc Welz
On Tue, Feb 25, 2014 at 7:43 AM, G Jones glenn.calt...@gmail.com wrote:
 Hi Marc,
 Thanks for the reply. I would have expected that selecting the 64 MB chunk
 with the dram_controller register as described in the DRAM block
 documentation on the wiki would get around any such PPC address space
 limitation. Is that not the case?

I think that should indeed be the case - I had forgotten that the base+offset
scheme had already been implemented quite some time ago.

A note though: On the other side of the FPGA, there isn't that much
memory to go around either - so where possibly try and send it out (or
process it)
in smaller pieces

regards

marc



Re: [casper] ROACH 1 DRAM

2014-02-25 Thread Jason Manley
I haven't used ROACH DRAM in a long while, but I do recall testing it beyond 
256MB (not very thoroughly though; wrote a counter from fabric and read back 
1024MB... took many minutes) when I implemented the read_dram function in corr:

def read_dram(self, size, offset=0,verbose=False):
Reads data from a ROACH's DRAM. Reads are done up to 1MB at a time.
   The 64MB indirect address register is automatically incremented as 
necessary.
   It returns a string, as per the normal 'read' function.
   ROACH has a fixed device name for the DRAM (dram memory).
   Uses bulkread internally.

   @param selfThis object.
   @param sizeInteger: amount of data to read (in bytes).
   @param offset  Integer: offset to read data from (in bytes).
   @return  Binary string: data read.


According to my notes, DRAM represents a 64MB chunk of the 256MB FPGA block. An 
offset (indirect page address register) is auto-incremented by this python 
function as needed. So you should be able to read beyond 256MB. You can tell 
this function's old though... it pre-dates the whole logging infrastructure! 
YMMV.

Jason


On 25 Feb 2014, at 9:30, Marc Welz m...@ska.ac.za wrote:

 On Mon, Feb 24, 2014 at 7:57 PM, G Jones glenn.calt...@gmail.com wrote:
 Hi,
 Sorry to repost this. Just curious if anyone has experience using more than
 256 MB of FPGA DRAM on the ROACH, in particular through the PPC interface.
 
 The PowerPC's virtual memory subsystem maps things in 256Mb regions/segments,
 and only one is used to access the FPGA(*) - so you will probably have
 to implement
 some sort of windowing/base+offset scheme.
 
 (The address space of the PowerPC is pretty constrained)
 
 regards
 
 marc
 




Re: [casper] ROACH 1 DRAM

2014-02-24 Thread G Jones
Hi,
Sorry to repost this. Just curious if anyone has experience using more than
256 MB of FPGA DRAM on the ROACH, in particular through the PPC interface.

Thanks,
Glenn


On Wed, Feb 12, 2014 at 12:44 PM, G Jones glenn.calt...@gmail.com wrote:

 Hi,
 I'm using the ROACH 1 DRAM for a lookup table for waveform generation with
 the DAC. Everything has been working well and as I expected, until I tried
 to use more than 256 MB. It looks like the ROACH has a single sided 1 GB
 DRAM module in the FPGA DRAM slot, but I don't have the exact part number
 (it came as shipped from Mo). I figured I might only be able to use 512 MB
 because of the caveat listed on the DRAM wiki page:
 Many ROACHs have been shipped with 1 GB dual rank DIMMs by default. The
 current DRAM controller is not able to handle multiple ranks, so when a
 dual-rank DIMM is installed on the board, only half the memory is
 available. In order to use the full 1 GB, a single rank DIMM is needed, or
 in principle a dual rank 2 GB module.

 But I was surprised to have issues passed 256 MB. Has anyone seen anything
 like this before? Is it a known issue?

 Thanks,
 Glenn



Re: [casper] ROACH 1 DRAM

2014-02-24 Thread Marc Welz
On Mon, Feb 24, 2014 at 7:57 PM, G Jones glenn.calt...@gmail.com wrote:
 Hi,
 Sorry to repost this. Just curious if anyone has experience using more than
 256 MB of FPGA DRAM on the ROACH, in particular through the PPC interface.

The PowerPC's virtual memory subsystem maps things in 256Mb regions/segments,
and only one is used to access the FPGA(*) - so you will probably have
to implement
some sort of windowing/base+offset scheme.

(The address space of the PowerPC is pretty constrained)

regards

marc



Re: [casper] ROACH 1 DRAM

2014-02-24 Thread G Jones
Hi Marc,
Thanks for the reply. I would have expected that selecting the 64 MB chunk
with the dram_controller register as described in the DRAM block
documentation on the wiki would get around any such PPC address space
limitation. Is that not the case?

Glenn
On Feb 25, 2014 2:30 AM, Marc Welz m...@ska.ac.za wrote:

 On Mon, Feb 24, 2014 at 7:57 PM, G Jones glenn.calt...@gmail.com wrote:
  Hi,
  Sorry to repost this. Just curious if anyone has experience using more
 than
  256 MB of FPGA DRAM on the ROACH, in particular through the PPC
 interface.

 The PowerPC's virtual memory subsystem maps things in 256Mb
 regions/segments,
 and only one is used to access the FPGA(*) - so you will probably have
 to implement
 some sort of windowing/base+offset scheme.

 (The address space of the PowerPC is pretty constrained)

 regards

 marc