TAMS / Java / Hades / applets: contents | previous | next | ||||
Hades Applets contents visual index introduction std_logic_1164 gatelevel circuits delay models flipflops adders and arithm... counters LFSR and selftest memories ROM circuit 1Kx8 ROM demo RAM structure RAM write-cycle RAM read-cycle RAM write-ha... RAM storage ... RAM address ... RAM bitline ... 74189 SRAM 74219 SRAM 74219 SRAM a... 6116 CMOS SRAM multiple SRAMs programmable logic state-machine editor misc. demos I/O and displays DCF-77 clock relays (switch-le... CMOS circuits (sw... RTLIB logic RTLIB registers Prima processor D*CORE MicroJava Pic16 cosimulation Mips R3000 cosimu... Intel MCS4 (i4004) image processing ... [Sch04] Codeumsetzer [Sch04] Addierer [Sch04] Flipflops [Sch04] Schaltwerke [Sch04] RALU, Min... [Fer05] State-Mac... [Fer05] PIC16F84/... [Fer05] Miscellan... [Fer05] Femtojava FreeTTS | ROM (read-only memory) structure
Circuit Description
This applet demonstrates the internal structure of a
read-only memory or ROM.
A rather small memory size of 16 words of 8 bits each is used.
From left to right, the circuit consists of three stages.
The first stage, usually called address-decoder in memory circuits,
is a standard demultiplexer.
For each binary address input pattern, exactly one of the
wordlines (horizontal) is activated by the address-decoder.
In the example, a 4-to-16 demultiplexer is required
to control the 16 wordlines corresponding to the 16 memory addresses.
The memory matrix is the main part of the ROM.
For each wordline, a connection is made to those bitlines (vertical)
that should be activated for the corresponding memory word.
In bipolar technology, simple diodes can be used to make the
connections of wordlines to bitlines.
However, usually transistors are used to amplify the wordline signal.
In MOS technologies, N-type transistors are preferred, because they are faster than P-type transistors of the same size. The transistor gate is connected to the wordline, drain to the bitline, and the transistor source to Vss (ground). This results in the wired-AND structure shown in the applet. The pullup resistors on each bitline drive the bitline to a weak high voltage (logical H), when no transistors are active. If a transistor is used at the connection of a wordline and bitline, the transistor will conduct whenever the wordline is active, driving the bitline to a low voltage (logical 0). As N-type transistors are used in the memory matrix, an active bitline is driven to zero voltage, while an inactive bitline remains at (weak) high. Therefore, an additional stage of amplifiers and output buffers is required to generate a strong output signal. The applet uses a single stage of inverters. All together, the ROM shown in the applet implements the following logical function:addr A3 A3 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 15 1 1 1 1 1 1 1 1 1 1 1 1 14 1 1 1 0 0 0 0 0 0 0 0 0 13 1 1 0 1 1 0 0 1 0 0 0 0 12 1 1 0 0 0 0 0 0 0 0 1 1 11 1 0 1 1 0 0 0 0 1 1 1 1 10 1 0 1 0 1 1 1 1 0 0 0 0 9 1 0 0 1 0 0 0 0 0 0 0 0 8 1 0 0 0 0 0 0 0 0 0 0 0 7 0 1 1 1 0 0 0 0 0 0 0 1 6 0 1 1 0 0 0 0 0 0 0 1 0 5 0 1 0 1 0 0 0 0 0 1 0 0 4 0 1 0 0 0 0 0 0 1 0 0 0 3 0 0 1 1 0 0 0 1 0 0 0 0 2 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0Due to electrical reasons it is difficult to connect more that a few hundred transistors to one bitline or wordline. Therefore, larger ROMs use a slightly different architecture, with a set of smaller memory blocks instead of one single large memory block. Each memory block uses approximately the same number of wordlines and bitlines (the applet has 16 wordlines and 8 bitlines). For example, a good size for one memory block might consist of 256 wordlines and 256 bitlines. This means that a 64Kx8 bit ROM would be organized internally as a set of (65536x8) / (256x256) = 8 memory blocks. The top 3 address bits select the memory block to use, the next 8 bits select the wordline to use, and the remaining 5 address bits select which part of the memory block output of 256 bits is to be sent to the 8 data outputs. | |||
Print version | Run this demo in the Hades editor (via Java WebStart) | ||||
Usage | FAQ | About | License | Feedback | Tutorial (PDF) | Referenzkarte (PDF, in German) | ||||
Impressum | http://tams.informatik.uni-hamburg.de/applets/hades/webdemos/40-memories/20-rom/rom.html |