6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 17, 2024 2:30 am

All times are UTC




Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Sat Sep 05, 2015 9:01 am 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
Steve from Big O'Mess of Wires (homebuilt CPUs, among other things) has started a discussion at http://www.bigmessowires.com/2015/09/04 ... ubstitute/ about what hobbyists can use instead of SRAM given that those are rather small and expensive.
Quote:
For the Mac Portable 8 MB RAM expansion card, the most likely candidate is this 2 MB Alliance Memory SRAM chip – so four chips would be required. But that chip is $10 each! You’d have $40 in RAM costs before even considering the cost of the other components, the PCB, and assembly. $40 for 8 MB of RAM seems crazy, when you can buy 8 GB of modern RAM for about the same price.
I had wondered at one point if there isn't a way to hide the crazy refresh details of DRAM in some standardized CPLD chip the same way the 65SPI takes care of the SPI details? I admit I have no idea what I am talking about here, but this seems to be a common problem, and with the 65816, it would be nice to use more of that memory range without having to pay over €100.


Top
 Profile  
Reply with quote  
PostPosted: Sat Sep 05, 2015 9:26 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10981
Location: England
Indeed, the difficulty is in hiding the refresh. I can think of three ways:
- there's an access pattern that already accomplishes refresh - either video accesses, or perhaps interrupt-driven accesses
- run the DRAM slowly enough that you can hide a refresh cycle next to a regular access cycle without the bus master needing to know
- be in a system which supports wait states or slow memory (using RDY in our case) so the CPU can be stalled about 2% of the time to allow refresh cycles.

As you say, a CPLD might be just the thing to do the work of incrementing the refresh address and marshalling the various strobes.


Top
 Profile  
Reply with quote  
PostPosted: Sat Sep 05, 2015 9:35 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8542
Location: Southern California
Could the refresh be done during dead bus cycles? The next thing with modern, large DRAMs is that they're not truly random-access, but go in bursts, intended for filling cache. The first byte of a burst takes quite a few cycles to fetch if I understood and remember it correctly, and then subsequent ones in the burst have to be in order, ie, you can't skip around like the 6502 does in memory accesses when doing alternately instructions, data, stack accesses, I/O, etc.. These are reasons we stick with SRAM.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Sat Sep 05, 2015 10:28 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Not just the refresh is a problem, but regular transfers also require several cycles for opening and closing rows, plus CAS latency.

You could hide that with a CPLD, but then it needs to run quite a bit faster than the CPU (maybe 10 times). It gets easier when you're allowed to insert wait states for the worst cases, but if SRAM is also used for video, then that may not be possible.


Top
 Profile  
Reply with quote  
PostPosted: Sat Sep 05, 2015 12:05 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10981
Location: England
The linked pseudo-SRAM looks like it could be run as an SRAM up to something like 14MHz - it seems to hide its self-refresh into periods when CS is high.
http://www.mouser.com/ds/2/198/66WVE4M16BLL-258704.pdf
"The IS66WVE4M16BLL is an integrated memory device containing 64Mbit Pseudo Static Random Access
Memory using a self-refresh DRAM array organized as 4M words by 16 bits."


Top
 Profile  
Reply with quote  
PostPosted: Sun Sep 06, 2015 2:41 pm 
Offline
User avatar

Joined: Mon May 25, 2015 2:25 pm
Posts: 680
Location: Gillies, Ontario, Canada
I did this this with a Spartan-3 FPGA a few years ago, making a 64MB SDRAM appear as SRAM to an external micro-controller.
The unit also read from the SDRAM to display 800x600 VGA to a monitor.

I learned a HUGE amount from Xess, and recommend their boards, which are well made...

http://www.xess.com/static/media/appnotes/an-071205-xsasdramcntl.pdf

The results of using SDRAM as pseudo SRAM were less than optimal, and a 10ns SRAM would outperform this setup easily.
Add the cost of the FPGA, power supply, config ROM, etc, and at $5.00, a 512K SRAM seems reasonably priced.

Digikey has constant stock of 32K SRAM and 512K SRAM in speeds from 55ns to 10ns all the time.
These must be needed someplace, as they have never been out of stock in the 10 years I have been ordering them!

There are many manufacturers, here are just the ones from Cypress I am using in my current project...

http://www.digikey.com/product-search/e ... ageSize=25

http://www.digikey.com/product-search/e ... ageSize=25


Brad


Top
 Profile  
Reply with quote  
PostPosted: Sun Sep 06, 2015 5:36 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8493
Location: Midwestern USA
Oneironaut wrote:
Digikey has constant stock of 32K SRAM and 512K SRAM in speeds from 55ns to 10ns all the time.
These must be needed someplace, as they have never been out of stock in the 10 years I have been ordering them!

The Cypress 1049D (512KB) in SOJ36 is what I will be using in POC V2. I believe that is the same SRAM that Garth uses in his 4MB module.

BTW, Cypress also makes a 10ns 128KB SRAM in 300 mil wide SOJ32 (part number CY7C1009D). That one fits my POC V1.1 unit.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron