Hades logo    Hades applet banner

TAMS / Java / Hades / applets (print version): contents | previous | next

TTL-series 74189 SRAM demonstration

TTL-series 74189 SRAM demonstration screenshot


This applet demonstrates the TTl-series 74189 16x4 bit SRAM circuit. The memory matrix consists of 64 latches organized as 16 (2^4) words of 4 bits each, accessible via separate input and output lines. A 4 bit address input selects one of the 16 memory words.

Note: for some obscure implementation reason, the actual 7489 and 74189 RAM integrated circuits use inverted outputs - the values on the output bus are the inverse of the data previously written into the RAM. Another chip in the TTL-series of integrated circuits, called the 74219, was otherwise identical to the 7489 and 74189 circuits, but used non-inverting data outputs. See the 74219 demonstration applet to compare the behaviour of the RAM chips.

Use the property editor (popup menu->edit) to open the user interface with the memory editor. It shows a table with the current memory data contents (hex encoded), with the memory addresses on the left and the data stored at the address on the right. Additionally, the memory word last read and written are highlighted in green and cyan colors (unless you use a personalized color scheme). To edit the RAM contents, move the mouse to the memory cell in question, click the left button, and then enter the new value as a hexadecimal number via the keyboard. The 74189 RAM only stores 4-bit per memory word, so that a single keystroke ('0' .. '9', 'a' .. 'f') is sufficient. The following screenshot shows the Hades editor running the 74189 RAM demo with the memory editor open:

The behaviour of the 74189 circuit is controlled by just two active-low control lines, namely the chip select and read/write inputs:

To get accustomed to the behaviour of the SRAM, it is a good exercise to try to write a few data words into the memory (e.g. the values shown in the screenshot above).

Due to the asynchronous interface of the RAM, great care must be taken to avoid hazard conditions on either of the Read/nWrite and address inputs. A good example is provided by the following procedure to clear all RAM contents: 1. clear the data inputs (value 0000), 2. enable the Read/nWrite signal (value 0), 3. step through all addresses. Needless to say that such tricks are not recommended for real system designs...

Run the applet | Run the editor (via Webstart)

Impressum | 24.11.06