Monday, January 16, 2023

Understanding the DC characteristics of the Z80 CPU #2

In my last post regarding the DC characteristics of the Z80 CPU I analyzed its connection to 2114 (1Kx4) SRAM chips. Today I'll focus on the 2125 (1Kx1) SRAM chips.

Let's recall the 8 DC parameters of interest:
- VIL (input low voltage)
- IIL (input low current)
- VIH (input high voltage)
- IIH (input high current)
- VOL (output low voltage)
- IOL (output low current)
- VOH (output high voltage)
- IOH (output high current)

And the maximal and minimal values for the NMOS Z80 CPU:
- VIL = 0.8 V (max), IIL = 0.01 mA
- VIH = 2.0 V (min), IIH = 0.01 mA
- VOL = 0.4 V (max), IOL = 2.0 mA
- VOH = 2.4 V (min), IOH = 0.25 mA

The characteristic values for 2125 RAM chips (NMOS, fully TTL compatible):
- VIL = 0.8 V (max), IIL = 0.04 mA
- VIH = 2.1 V (min), IIH = 0.04 mA
- VOL = 0.45 V (max), IOL = 7.0 mA
- VOH = 2.4 V (min), IOH = 3.2 mA

The 2125 is a 1-bit chip.
So each of the CPU data lines D0-D7 is connected to one SRAM chip.
And the CPU address lines A0-A9 and the /WR pin are connected to all 8 RAM chips.
Let's ignore the /CE signal provided by the 74LS139 demultiplexer for the sake of simplicity.

When the CPU reads data from memory the values that apply are:
- for a logic "0":
  RAM: VOL = 0.45 V (max), IOL = 7.0 mA
  CPU: VIL = 0.8 V (max), IIL = 0.01 mA
The maximal output voltage of the memory chip is lower than the maximal accepted input voltage of the CPU. And the RAM chip could drive low 700 (7.0 / 0.01) Z80s.
- for a logic "1":
  RAM: VOH = 2.4 V (min), IOH = 3.2 mA
  CPU: VIH = 2.0 V (min), IIH = 0.01 mA
The minimal output voltage of the memory chip is higher than the minimal accepted input voltage of the CPU. And the RAM chip could drive high a minimum of 320 (3.2 / 0.01) Z80s.

When the CPU writes data to memory the values that apply are:
- for a logic "0":
  CPU: VOL = 0.4 V (max), IOL = 2.0 mA
  RAM: VIL = 0.8 V (max), IIL = 0.04 mA
The maximal output voltage of the CPU is lower than the maximal accepted input voltage of the memory chip. And the CPU could drive low a maximum of 50 (2.0 / 0.04) memory chips on every data, address and control line.
- for a logic "1":
  CPU: VOH = 2.4 V (min), IOH = 0.25 mA
  RAM: VIH = 2.1 V (min), IIH = 0.04 mA
The minimal output voltage of the CPU is higher than the minimal accepted input voltage of the memory chip. The CPU could drive high a maximum of 6.25 (0.25 / 0.04) memory chips on every data, address and control line.

Oops! 6 is less than the required 8 chips.
So how come the 1 KiB RAM card that uses the 2125 works without problems?
Because the typical values are much lower than the minimal and maximal values given in the datasheet. These are the absolute maximum ratings that can cause harm to the CPU.