vincel@fs0.ee.ubc.ca (vincent li) (01/11/90)
Hello folks. I am developing an expert advisor for my thesis and is confused on
the following piece of knowledge on (static) memory. On most memory data sheets
the *access time* of the data is usually given by two parameters:
tAA - address access time, time when address is valid to data is valid
tACS - chip select access time, time when chip select is asserted to when
data is valid.
These are for the read cycle. So, in calculations, do I use tACS or tAA?
The conclusion I've made is that the chip select usually controls the address
decoding units within the RAM and address decoding cannot begin until the
CS is asserted. The access time is the time when the address into the RAM
start getting decoded to when the valid data from the memory matrix appears
or can appear on the data bus. Thus, I believe you should use the tAA if
CS is asserted BEFORE the address is valid, and use tACS otherwise, but am
not sure.
Basically, if my definition of the access time is correct, then everything
should be straight forward, right?
Thanx for the help.
------------------------------------------------
vincel@ee.ubc.ca |-) If you study too much your brain will get so heavy
vinceli@triumfcl.bitnet %-| that it will begin to sag, lodge in the neck, and
|-( cut off breathing. -- Mr. Boffo
mikemc@mustang.ncr-fc.FtCollins.NCR.com (Mike McManus) (01/11/90)
In article <929@fs1.ee.ubc.ca> vincel@fs0.ee.ubc.ca (vincent li) writes: > The conclusion I've made is that the chip select usually controls the address > decoding units within the RAM and address decoding cannot begin until the > CS is asserted. Not necessarily so. It may happen that in some designs, the CS does not gate the address input (altho, *USUALLY* this is so), but instead may simply gate (or tristate) the outputs of the RAM/ROM. > The access time is the time when the address into the RAM > start getting decoded to when the valid data from the memory matrix appears > or can appear on the data bus. Thus, I believe you should use the tAA if > CS is asserted BEFORE the address is valid, and use tACS otherwise, but am > not sure. What you really need to do is to use the parameter that gives the worst-case read time. For example, if tAA is spec'ed at 20nS and tCS is 25nS, then even if CS is asserted 3nS before the address is valid, the read time is still defined by tCS = 25nS. One thing to keep in mind is that in most memory systems, the CS are made from high-order address bits. In other words, in a system which has 64K of memory (but who would want to work on such a system? :-), there would be 16 address lines to decode. Assume that the system uses 16K RAM chips. This would require 14 address lines to go to each chip, with 4 address lines left over to be decoded and used as chip selects. The time that it takes to decode the address lines to get the CS signals would obviously be critical. But, to simplify, assume that this decode could happen instantaneously (in fact, using some ROM/RAM chips that provide multiple CS's, a small system like this could be build without the extra CS decode circuitry). Then the *REAL* read access time is simply MAX( tAA, tCS). In the non-simplified case, it is MAX( tAA, tCS + CS decode overhead). Of course, not all architectures use this scheme, but it is common in simpler systems. Hope this helps! -- Disclaimer: All spelling and/or grammer in this document are guaranteed to be correct; any exseptions is the is wurk uv intter-net deemuns. Mike McManus (mikemc@ncr-fc.FtCollins.ncr.com) NCR Microelectronics 2001 Danfield Ct. mikemc@ncr-fc@ncr-sd.sandiego.ncr.com, or Ft. Collins, Colorado mikemc@ncr-fc@ccncsu.colostate.edu (303) 223-5100 Ext. 360 (they're ugly, but they work!)
davidc@vlsisj.VLSI.COM (David Chapman) (01/12/90)
In article <929@fs1.ee.ubc.ca> vincel@fs0.ee.ubc.ca (vincent li) writes: >Hello folks. I am developing an expert advisor for my thesis and is confused on >the following piece of knowledge on (static) memory. On most memory data sheets >the *access time* of the data is usually given by two parameters: >tAA - address access time, time when address is valid to data is valid >tACS - chip select access time, time when chip select is asserted to when >data is valid. Static RAM chips are supposed to be asynchronous devices. If CS is active, the outputs are supposed to be the data for whatever address is on the inputs. tACS is probably the time required to turn on the bus drivers and tAA is the time it takes to read data after an address changes. For fast SRAMs (i.e. all recent chips) these are often the same order of magnitude. For 250 ns SRAMs, for example, tCS should be much less than tAA. Note that this means that if the address lines change while CS is active, the data outputs will change a maximum of tAA later. Output data is NOT latched by CS going active! With respect to your modelling: data will be valid at the *later* of: (address lines stable + tAA) or (CS active + tACS). There is probably yet another time associated with the read signal going active. The same principle applies. -- David Chapman {known world}!decwrl!vlsisj!fndry!davidc vlsisj!fndry!davidc@decwrl.dec.com
hue@netcom.UUCP (Jonathan Hue) (01/12/90)
In article <929@fs1.ee.ubc.ca> vincel@fs0.ee.ubc.ca (vincent li) writes: >These are for the read cycle. So, in calculations, do I use tACS or tAA? >The conclusion I've made is that the chip select usually controls the address >decoding units within the RAM and address decoding cannot begin until the >CS is asserted. You should be able to tell from the block diagram on the data sheet if this is the case (it usually is). Most parts I've used use /CS for gating row and column address, and the input for writes. The access time is the time when the address into the RAM >start getting decoded to when the valid data from the memory matrix appears >or can appear on the data bus. Thus, I believe you should use the tAA if >CS is asserted BEFORE the address is valid, and use tACS otherwise, but am >not sure. For most parts I've used the two are spec'd at the same value. tAA (or tACC, as I've seen it, your tACS I've seen called tCO) is for when you're continuously holding /CS low. -Jonathan