UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
10,061 Views
Registered: ‎03-01-2010

Fast external RAM like internal Block RAM

Jump to solution

Hello,

 In a project I am running out of Block RAM in the Spartan 6. The cpu reads and writes to this block RAM at 100MHz. I want to keep this speed and use external RAM. I am looking at synchronous RAM made by Cypress that can run up to 250MHz (for the smallest delay). Is this the way to go for external RAM? Does anyone have experience with this issue?

0 Kudos
1 Solution

Accepted Solutions
Instructor
Instructor
13,619 Views
Registered: ‎08-14-2007

Re: Fast external RAM like internal Block RAM

Jump to solution

If it's just for random CPU access, no DMA, no dual-port, etc.  Then probably async (if you can find it

fast enough) or passthrough sync SRAM would be the best bet.  By the way, I thought a 6502 tops

out at 64 KB of RAM (512 Kbits).  Even a fairly small S6 (but not the smallest) has that much BRAM.

What part are you using?

 

-- Gabor

-- Gabor
0 Kudos
11 Replies
Instructor
Instructor
10,057 Views
Registered: ‎08-14-2007

Re: Fast external RAM like internal Block RAM

Jump to solution

It depends on a lot of things.  Any external memory will have more latency than the internal

block RAM.  If you're writing data in large blocks and then reading out in large blocks like

for video buffering, you might find that DDR2 or DDR3 SDRAM is actually the fastest option,

although it will have higher latency than SRAM.  There are also high-speed pipelined SRAM's

which work well for large or small data blocks, but have one or more cycles of turn-around

latency when switching between write and read.  This is still small compared to DDR2

SDRAM.  Depending on your application, you might be able to use internal BRAM to help buffer

the external writes and reads to reduce the frequency of read / write switching.

 

Maybe with a little more understanding of your application someone could recommend

an appropriate memory type.

 

-- Gabor

-- Gabor
0 Kudos
Adventurer
Adventurer
10,054 Views
Registered: ‎03-01-2010

Re: Fast external RAM like internal Block RAM

Jump to solution

Thanks for your reply Gabor.

 

A 16bit cpu core is using the Block RAM as a true Random Access memory. It's a modified 6502 retro type core. Depending on the code written, the core reads or writes memory.. I noticed there are 2 kinds of synchronous RAM. The pipelined and passthrough. But I have no experience with any external memory  but asynchronous, so I'm not sure... But I do know I am running out of BlockRAM.

0 Kudos
Historian
Historian
10,051 Views
Registered: ‎02-25-2008

Re: Fast external RAM like internal Block RAM

Jump to solution

@wirewrapper wrote:

Thanks for your reply Gabor.

 

A 16bit cpu core is using the Block RAM as a true Random Access memory. It's a modified 6502 retro type core. Depending on the code written, the core reads or writes memory.. I noticed there are 2 kinds of synchronous RAM. The pipelined and passthrough. But I have no experience with any external memory  but asynchronous, so I'm not sure... But I do know I am running out of BlockRAM.


You could use a fast asynchronous SRAM.

----------------------------Yes, I do this for a living.
0 Kudos
Adventurer
Adventurer
10,047 Views
Registered: ‎03-01-2010

Re: Fast external RAM like internal Block RAM

Jump to solution

Hi Bassman,

Not 100% sure I could. I need to make sure this works as I will be drawing up PCB plans for a memory board. Since I know the core works perfectly well with the Spartan 6 Internal Block RAM, I wish to use the same type synchronous memory for external program storage. Plus, these memories go 2.5 times faster than the fastest ASynchronous RAMs I've seen @10ns, in the size I need.

0 Kudos
Instructor
Instructor
13,620 Views
Registered: ‎08-14-2007

Re: Fast external RAM like internal Block RAM

Jump to solution

If it's just for random CPU access, no DMA, no dual-port, etc.  Then probably async (if you can find it

fast enough) or passthrough sync SRAM would be the best bet.  By the way, I thought a 6502 tops

out at 64 KB of RAM (512 Kbits).  Even a fairly small S6 (but not the smallest) has that much BRAM.

What part are you using?

 

-- Gabor

-- Gabor
0 Kudos
Adventurer
Adventurer
10,037 Views
Registered: ‎03-01-2010

Re: Fast external RAM like internal Block RAM

Jump to solution

I'm using an LX9 144-pin QFP. This modified core has a double wide data bus and double wide address bus, so it can address a full 4GB worth. If you're interested, there is more info on 6502.org in the Programmable Logic section. I am very active there as ElEctric_Eye and most of us favor Xilinx products.

 

BTW thanks for the help, I'll start experimenting!

0 Kudos
Instructor
Instructor
10,035 Views
Registered: ‎08-14-2007

Re: Fast external RAM like internal Block RAM

Jump to solution

Another point.  I realize that part of the appeal of processors like the 6502 is the

deterministic cycle timing, so maybe going to a non-uniform memory stucture

will be a problem depending on what the core is doing.  Another option may be

to implement a cache as in the MicroBlaze when using external DRAM.  Of course

that gets away from the K.I.S.S. approach...

 

-- Gabor

-- Gabor
0 Kudos
Adventurer
Adventurer
10,033 Views
Registered: ‎03-01-2010

Re: Fast external RAM like internal Block RAM

Jump to solution

Well, there is one of our members, actually the creator of the original 8bit core we modified, who is well versed in Verilog and has had experience using the BRAM as a cache for SDRAM in his projects. I don't like dynamic ram. I prefer to keep it simple and fast. And so I figure if I can get an external memory (passthrough synchronous RAM) to act as the BRAM, then I should be good I would think...

0 Kudos
Adventurer
Adventurer
10,019 Views
Registered: ‎03-01-2010

Re: Fast external RAM like internal Block RAM

Jump to solution
Actually, the synchronous RAM parts I am looking at from Cypress advertise NoBL=No Bus Latency
0 Kudos
Historian
Historian
3,488 Views
Registered: ‎02-25-2008

Re: Fast external RAM like internal Block RAM

Jump to solution

@wirewrapper wrote:
Actually, the synchronous RAM parts I am looking at from Cypress advertise NoBL=No Bus Latency

So, read the data sheet and work out the timing, and see if it works in your application.

----------------------------Yes, I do this for a living.
0 Kudos
Voyager
Voyager
3,486 Views
Registered: ‎05-09-2008

Re: Fast external RAM like internal Block RAM

Jump to solution

Hi,

 

This Xilinx Spartan-3 kit can help  Spartan-3 User Guide ? Check page 11.

 

Spartan-3 have microblaze connected with 2 M external memory without a memory controller, use SRAM. Maybe you can adapt the scheme for 6502.

 

secureasm

0 Kudos