When choosing chips (EPROM or Flash) what speed would you suggest? When ordering from
this site I noticed that they have chips with speeds from 150ns to 45ns. What should I get?
Anything <=200ns will do.
I see... so there is no such thing as a "too fast chip" then?
What exactly is this time by the way? Is it the time it takes for the chip to output the data after receiving the address or something like this?
Exactly, it's the time for the data on the outputs to be valid.
GAH! NANO SECONDS! I'm a dummy... nevermind me. Thanks for the help, gang.
OH! This probably explains why many of my devcarts didn't work ever! So, I'm a little confused here. Tokumaru says a chip can't be too fast, but you want anything Less than or equal to 200ns. Just to be clear, I can read, but do you want something Less than or equal to, or Greater than or equal to 200ns?
The smaller the number, the faster the chip. You want something 200ns or smaller (faster).
...Oh my god, I'm retarded. Thanks.
275ns or faster is sufficient for the CPU bus (i.e. PRG ROM, SRAM).
175ns or faster is needed for the PPU bus (CHR ROM, CHR RAM).
Well if we're getting technical 1/(21.47727MHz/4) = 186.27ns ;) Also does the PPU even expect data within a cycle? I believe most 200ns to still work, since my 200ns (maximum latency, yes I know) do.
The speed rating of a chip is the maximum time until the data is valid under worst stated conditions. Like overclocking processors, the chips might perform better in some circumstances; one batch of seemingly too slow chips might work, another might fail. If you want reliable operation, pick parts whose specs meet your requirement.
Celius wrote:
OH! This probably explains why many of my devcarts didn't work ever! So, I'm a little confused here. Tokumaru says a chip can't be too fast, but you want anything Less than or equal to 200ns. Just to be clear, I can read, but do you want something Less than or equal to, or Greater than or equal to 200ns?
I don't know... I think the memory devices CAN be too fast. 250ns is good for PRG, and 150ns is good for CHR usually. I wouldn't go below 90 or 100ns if you can help it (for either).
Bad things can start happening, like bus ringing and such (due to the beefier pin drivers on the faster chips), and they can suck more power, and make larger spikes which need more decoupling.
The worst thing that can happen would be some ground bounce, which could totally trash the data in a bunch of RAM locations if it happened when the address bus was changing.
The reason faster chips have higher power requirements is that they need faster transitions between logic levels. A slow chip can have a more gradual waveform since it doesn't need to be able to change as often, while a faster one needs a sharper one:
Code:
______
_-~
_-~
____-~
|--------| longer transition
__________
/
/
____/
|---| shorter transition
I've read that faster chips might also expect shorter transitions on inputs, so feeding them signals meant for slower chips might register as false transitions.
I often can buy chips about ~75 ns. And there is no problem. I don't think chips can be too fast, unless they're 2 ns or so, if they use some ultra-modern decoding technology on the bus with very old CPU.