Re: How many RAM words can I implement in my Xilinx FPGA?



Thanks for the answer, Daniel! That helps a lot.
I pretty much have to work with what I have on this dev board, so unfortunately I can't consider switching to bigger S3 devices.
Also, when I was doing this in my head I underestimated the amount of memory I'd need.. it's actually quite a bit higher, meaning even the bigger devices wouldn't do it with on-chip memory.

This is ok, I have an external 8Mx16 SRAM at my disposal, the minor issue being that it's single port. I was hoping to avoid having to devise an efficient way to read/write data with that RAM chip, but it looks like this is what I'll have to do anyway...

Thanks again!

Steve

Daniel S. wrote:
Steve Battazzo wrote:
I would like to make a dual-port RAM inside my FPGA...
I am using a Spartan 3 1000K gate model...
I know it takes a pretty good number of macrocells to do this but I don't quite know enough on the low level of the architecture of a macrocell to understand what the limitations are.
If possible I would like to have about 60KB of memory, in the form of 30K x 16.

Look at the product guides for the Spartan 3(E)...

http://www.xilinx.com/products/silicon_solutions/fpgas/spartan_series/spartan3_fpgas/overview.htm#s3table

http://www.xilinx.com/products/silicon_solutions/fpgas/spartan_series/spartan3e_fpgas/overview.htm#s3eTable


With the XC3S1000, you get 432kbits of Block RAM (384kbits usable in x16 configuration) and 120kbits of distributed RAM. To achieve 30Kx16, you need at least 480kbits - this practically means consuming the whole FPGA as a single RAM with nearly no room left for other functionality, assuming the extra logic needed to manage the distributed memory still fits. More likely than not, you will need to step up - the XC3S1200E would be the smallest S3 FPGA that could definitely fit this RAM with some room to spare.

Since large distributed memories have significant logic footprint (muxes, control signal fan-out, etc.) combined with either long access latencies (input + output pipelining) or slow performance (large non-pipelined muxes and decoders), you will have to look at the XC3S1500 or XC3S1600E if you need your memory to be fast and low-latency: these are the two smallest S3 devices that can implement your RAM entirely within Block RAMs.
.



Relevant Pages

  • Re: Steve Jobs demos Macintosh in 1984
    ... Woody wrote: ... Stop annoying the fucking hell out of me, ... For sure not much computer memory had been made in 1948 - but it could ... For sure you got a bit more RAM to use in the Speccy - ...
    (uk.comp.sys.mac)
  • Re: Windows uses 4 GB? Really?
    ... I bought 4 GB of RAM because I thought it would speed up my system a bit. ... Some info that is posted here as reference seems to suggest that it is a Windows issue, but others seem to suggest that it is also a hardware issue. ... "I have install total 4GB memory on my motherboard. ... On a SLI system, since PCI-Ex graphic cards will occupy around 256MB, another 256MB will be occupied after you install a 2nd PCI-Ex graphic card. ...
    (microsoft.public.windowsxp.general)
  • Re: Computer wont boot up after installing new RAM
    ... I even took a look at an old Gigabyte motherboard ... DDR2 memory stick, the notch does not line up. ... "To install the memory module, ... into the motherboard RAM slots. ...
    (microsoft.public.windowsxp.hardware)
  • Re: Random Restarts - Please Help
    ... I upgraded my BIOS a long time ago ... Beginners Guides: Diagnosing Bad Memory ... How to diagnose bad RAM ...
    (microsoft.public.windowsxp.help_and_support)
  • Re: Alocated Memory Error (SQLSERVR)
    ... but my understanding is that the MSDE instances are designed to ... and you don't want it grabbing all that RAM. ... running but non ever going about 200mb of memory usage. ... Server 2000 SP4, ...
    (microsoft.public.windows.server.sbs)