Hello everyone!
I'm working with a IS42S16160B(Data sheet attached for reference) memory chip and there is one thing that I'm a little confused about. It has this parameter that you can set called CAS latency. It's essentially the number of clock cycles you have to wait before a read operation will return valid data. So you can choose between 2 and 3 clock cycles. First this seems strange to me because every other parameter is based on time not clock cycles. IE you have wait x nano seconds after a write or active.
Why is this one parameter based in clock cycles? Is this a common thing for memory chips?
Second, so depending on how you set the CAS pin, it will be either 2 or 3 clock cycles. Why would you want 3 over 2? It seems like it going faster would be better.
Actually, it
is based on time, but since the data are output synchronous with the clock, the value is given in clock cycles.
The chips are available in two speed grades, -6 and -7, which correspond to 6 ns (166 MHz) and 7 ns (143 MHz) clock frequencies.
Remember than the time between the READ command and data coming out of the array is fixed and a function of speed grade, not of clock frequency. So if you can use a slower speed grade at a faster clock frequency if you allow for the read latency, in other words setting the CAS latency to more clocks.
So a device with speed grade -6 can run at 166 MHz if you set the CAS latency to 3 clocks. If you run the clock slower, at 125 MHz, you can reduce the CAS latency to 2 clocks.
Does that make sense? I realize it's sort of a weird constraint.