Fast Mem accessed slowly
- richardc64
- Posts: 58
- Joined: 08 Jun 2013
- Contact:
Fast Mem accessed slowly
Has anyone experienced or heard of problems when accessing fast memory slowly? Such as 20-55nS sram being accessed with 500nS /CE?
Google and Bing Searches have only given me page after page of Stack -vs- Heap, registers -vs- files -vs- arrays - vs- database queries -vs- etc. Maybe I haven't asked correctly.
Thanks
Google and Bing Searches have only given me page after page of Stack -vs- Heap, registers -vs- files -vs- arrays - vs- database queries -vs- etc. Maybe I haven't asked correctly.
Thanks
"I am endeavoring, ma'am, to create a mnemonic memory circuit... using stone knives and bearskins." -- Spock to Edith Keeler
Re: Fast Mem accessed slowly
One thing to watch: fast memories have complex internal sequences which trigger off changes to incoming signals. So you may want to be sure your address lines are stable before the chip begins an access. Look carefully at the timing diagrams.
Re: Fast Mem accessed slowly
richardc64 wrote:
Has anyone experienced or heard of problems when accessing fast memory slowly? Such as 20-55nS sram being accessed with 500nS /CE?
Google and Bing Searches have only given me page after page of Stack -vs- Heap, registers -vs- files -vs- arrays - vs- database queries -vs- etc. Maybe I haven't asked correctly.
Thanks
Google and Bing Searches have only given me page after page of Stack -vs- Heap, registers -vs- files -vs- arrays - vs- database queries -vs- etc. Maybe I haven't asked correctly.
Thanks
(For that mater I have often just tied the /CE directly to ground for some circuits where I don't really need it.)
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: Fast Mem accessed slowly
richardc64 wrote:
Has anyone experienced or heard of problems when accessing fast memory slowly? Such as 20-55nS sram being accessed with 500nS /CE?
SRAM means “static random-access memory.” The key word here is “static,” which means the RAM merely responds to input signal states (low or high), without regard to the passage of time. Ergo there should never be a problem with slow access, as long as you operate within the recommended DC specs, e.g., VIL, VIH, etc., observe the input setup and hold times, and input signal transition rates are within spec.
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: Fast Mem accessed slowly
richardc64 wrote:
Google and Bing Searches have only given me page after page of Stack -vs- Heap, registers -vs- files -vs- arrays - vs- database queries -vs- etc. Maybe I haven't asked correctly.
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: Fast Mem accessed slowly
richardc64 wrote:
Has anyone experienced or heard of problems when accessing fast memory slowly? Such as 20-55nS sram being accessed with 500nS /CE?
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?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: Fast Mem accessed slowly
I have a small SBC I created about a decade ago. It uses a W65C02 CPU, which is a static part and I use 10ns static ram and 45ns EEROM. The SRAM is the skinny dip SRAM they used to use for cache in 100MHz 486 mother boards. The slowest I've run that board at is down to 100Hz to troubleshoot some I/O board I was working on, and it ran just fine. We're talking a 10ms cycle time here. The moral of the story is, if the relative timing of the signals is correct, it will likely not be a problem. If you are having trouble, then check to make sure the relative timings of the address bus, data buss, R/W and /CE signals are correct.
Bill
Re: Fast Mem accessed slowly
BillO wrote:
I have a small SBC I created about a decade ago. It uses a W65C02 CPU, which is a static part and I use 10ns static ram and 45ns EEROM. The SRAM is the skinny dip SRAM they used to use for cache in 100MHz 486 mother boards. The slowest I've run that board at is down to 100Hz to troubleshoot some I/O board I was working on, and it ran just fine. We're talking a 10ms cycle time here. The moral of the story is, if the relative timing of the signals is correct, it will likely not be a problem. If you are having trouble, then check to make sure the relative timings of the address bus, data buss, R/W and /CE signals are correct.
- richardc64
- Posts: 58
- Joined: 08 Jun 2013
- Contact:
Re: Fast Mem accessed slowly
Reassuring responses, some verifying things I suspected, but wasn't sure of. Thanks.
I've wondered about that, and how it relates to most devices' datasheets stating Write can be /WE controlled or /CE controlled.
Yuri wrote:
(For that mater I have often just tied the /CE directly to ground for some circuits where I don't really need it.)
"I am endeavoring, ma'am, to create a mnemonic memory circuit... using stone knives and bearskins." -- Spock to Edith Keeler
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: Fast Mem accessed slowly
Yuri wrote:
(For that mater I have often just tied the /CE directly to ground for some circuits where I don't really need it.)
My opinion is that is bad design practice. Yes, it will work, but there are potential timing problems with it and most SRAMs (and (E)EPROMs) will draw more current when /CS (/CE) is continuously asserted.
Best performance is usually achieved when writing is /WE controlled and /CS is asserted as soon as a valid address is generated by the MPU, which happens during Ø2 low. The data sheet’s timing specs will indicate if this is the case.
Similarly, best performance is usually achieved when reading is /OE controlled, again with /CS being asserted as soon as a valid address is generated. Qualifying /OE with Ø2 is optional with the 65C02 but mandatory with the 65C816 unless a bus transceiver is used and is put into the high-Z state during Ø2 low.
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: Fast Mem accessed slowly
BigDumbDinosaur wrote:
Yuri wrote:
(For that mater I have often just tied the /CE directly to ground for some circuits where I don't really need it.)
My opinion is that is bad design practice. Yes, it will work, but there are potential timing problems with it and most SRAMs (and (E)EPROMs) will draw more current when /CS (/CE) is continuously asserted.
Best performance is usually achieved when writing is /WE controlled and /CS is asserted as soon as a valid address is generated by the MPU, which happens during Ø2 low. The data sheet’s timing specs will indicate if this is the case.
Similarly, best performance is usually achieved when reading is /OE controlled, again with /CS being asserted as soon as a valid address is generated. Qualifying /OE with Ø2 is optional with the 65C02 but mandatory with the 65C816 unless a bus transceiver is used and is put into the high-Z state during Ø2 low.
Bill
Re: Fast Mem accessed slowly
BigDumbDinosaur wrote:
Yuri wrote:
(For that mater I have often just tied the /CE directly to ground for some circuits where I don't really need it.)
My opinion is that is bad design practice. Yes, it will work, but there are potential timing problems with it and most SRAMs (and (E)EPROMs) will draw more current when /CS (/CE) is continuously asserted.
Best performance is usually achieved when writing is /WE controlled and /CS is asserted as soon as a valid address is generated by the MPU, which happens during Ø2 low. The data sheet’s timing specs will indicate if this is the case.
Similarly, best performance is usually achieved when reading is /OE controlled, again with /CS being asserted as soon as a valid address is generated. Qualifying /OE with Ø2 is optional with the 65C02 but mandatory with the 65C816 unless a bus transceiver is used and is put into the high-Z state during Ø2 low.
No doubt there is some timing considerations there though; but in this instance I think what I'm doing is "okay"
For a more complex circuit like putting RAM on the 6502 bus with so many other devices I absolutely agree, use the /CE line, it just gives much finer control.
But to the OP's question, if you want to hold /CE low for many more nanoseconds longer than the spec of the SRAM (e.g. single stepping a 65C02, or using it at a clock frequency much lower than it's rating), then I think my point still stands. It should be fine; it shouldn't lose its contents like DRAM does, and will not cause any ill effects like releasing the magic smoke.
Of course, as most have already pointed out, read the data sheet (thoroughly) to be absolutely sure for the make/model of RAM your using.
Re: Fast Mem accessed slowly
BigDumbDinosaur wrote:
richardc64 wrote:
Has anyone experienced or heard of problems when accessing fast memory slowly? Such as 20-55nS sram being accessed with 500nS /CE?
SRAM means “static random-access memory.” The key word here is “static,” which means the RAM merely responds to input signal states (low or high), without regard to the passage of time. Ergo there should never be a problem with slow access, as long as you operate within the recommended DC specs, e.g., VIL, VIH, etc., observe the input setup and hold times, and input signal transition rates are within spec.
It's best to look at the datasheet and see if there is an upper limit noted.
André
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: Fast Mem accessed slowly
fachat wrote:
BigDumbDinosaur wrote:
richardc64 wrote:
Has anyone experienced or heard of problems when accessing fast memory slowly? Such as 20-55nS sram being accessed with 500nS /CE?
SRAM means “static random-access memory.” The key word here is “static,” which means the RAM merely responds to input signal states (low or high), without regard to the passage of time. Ergo there should never be a problem with slow access, as long as you operate within the recommended DC specs, e.g., VIL, VIH, etc., observe the input setup and hold times, and input signal transition rates are within spec.
Quote:
It's best to look at the datasheet and see if there is an upper limit noted.
I did say that in my post.
I have used several brands of SRAM in my contraptions and have, at times, used the clock stepper gadget to single-step a program. In one case, I was working on that when I got called away and was not able to return to what I was working on for several days. When I did get back on it, things continued without an issue. In other words, the SRAM (and the 65C816) was truly static.
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: Fast Mem accessed slowly
Yes of course SRAM means static.
Just I remembered that there was PSRAM at some time. E.g. https://www.alldatasheet.net/datasheet- ... 8512A.html
It's got a max CE pulse time of 10u.
But those are obsolet today I'd think
André
Just I remembered that there was PSRAM at some time. E.g. https://www.alldatasheet.net/datasheet- ... 8512A.html
It's got a max CE pulse time of 10u.
But those are obsolet today I'd think
André
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/