Islamic University of Technology: EEE 4483 Digital Electronics & Pulse Techniques
Islamic University of Technology: EEE 4483 Digital Electronics & Pulse Techniques
Islamic University of Technology: EEE 4483 Digital Electronics & Pulse Techniques
EEE 4483
Digital Electronics & Pulse Techniques
Lecture- 13
Memory Elements
Combinational logic cannot remember
Output logic values are function of inputs only
Feedback is needed to be able to remember a logic value
Bit-line Conditioning
Word-lines Bit-lines
Row Decoder
Array of 2nx2m
cells, organized
in 2n-k rows by
2m+k columns
n-k
k
Column
n
Circuitry
Column
Decoder 2m bits
Because ROM is read-only, it cannot be changed; it is permanent and non-volatile, meaning it also holds
its memory even when power is removed. By contrast, random access memory (RAM) is volatile; it is lost
when power is removed.
There are numerous ROM chips located on the motherboard and a few on expansion boards. The chips
are essential for the basic input/output system (BIOS), boot up, reading and writing to peripheral devices,
basic data management and the software for basic processes for certain utilities.
SRAM Basics
SRAM or Static Random Access Memory is a form of semiconductor memory widely used in electronics,
microprocessor and general computing applications. This form of semiconductor memory gains its name from the fact
that data is held in there in a static fashion, and does not need to be dynamically updated as in the case of DRAM
memory. While the data in the SRAM memory does not need to be refreshed dynamically, it is still volatile, meaning
that when the power is removed from the memory device, the data is not held, and will disappear.
There are two key features to SRAM - Static random Access Memory, and these set it out against other
types of memory that are available:
=> The data is held statically: This means that the data is held in the semiconductor memory without
the need to be refreshed as long as the power is applied to the memory.
=> SRAM memory is a form of random access memory: A random access memory is one in which the
locations in the semiconductor memory can be written to or read from in any order, regardless of the
last memory location that was accessed.
SRAM Circuit
SRAM cell is make up of 2 inverters are cross-connected to form a latch .The latch is connected to 2 bit line by transistor T1
and T2 . T1 and T2 can switch opened or closed under control of word line. When word line is ground level, the transistors
are turned off and the latch retrains its state.
During the Read Operation, Word line is activated to close switches T1 and T2 .
If the cell is in state 1; the signal on b line is high and the signal on b’ line is low. The opposite is true if the cell is in state
0.Thus, b and b’ are always complements of each other’s.
The sense /write circuit at the end of the two bit line monitors their state and sets the corresponding output accordingly.
While in Write Operation ,the Sense/Write circuit drives bit lines b and b’, instead of sensing their state. It places the
appropriate value on bit line b and its complement on b’ and activate the word line. This forces the cell into the
corresponding state, which the cell retains when the word line is deactivated.
6T SRAM Cell : detailed
In SRAM, for any operation to be performed, the word line
should be high. To perform read operation, initially memory
should have some value. Therefore let us consider memory has
Q=1 and Q’=0. Raise the word line to high, to perform the
read operation. bit and bit_b acts as output lines, and these
bit lines are initially pre-charged i.e. there will be a node
voltage Vdd at bit and bit_b. As Q and bit are high, there will
be no discharge in the circuit. As Q’ is 0, there will be a
voltage difference between the Q’ and the node voltage at
bit_b, hence bit_b voltage decreases. Therefore there will
be discharge in the circuit and current flows. Bit and bit_b are
connected to the sense amplifier, this sense amplifier acts as a
comparator, so When bit’ is low the output will be 1.
Hence input Q=1 and we got the output as 1, read operation
verified. In the same way consider Q=0 and Q’=1 in the
memory. There will be a discharge in the circuit at Q and bit,
since there is voltage difference. The transistors must have ratio
such that Q lies below the threshold region of P2/D2. This is
called read constraint. As bit voltage decreases the output will
be 0.when input Q=0, the output we get is 0. Therefore in both
the cases read operation is verified.
6T SRAM Cell : detailed
DRAM stores each bit of data or program code in a storage cell consisting of a capacitor and a transistor, and is
typically organized in a rectangular configuration of storage cells. A DRAM storage cell is dynamic in that it
needs to be refreshed or given a new electronic charge every few milliseconds to compensate for charge leaks
from the capacitor.
DRAM Operation
During the Write operation, a voltage is applied on the bit line and a signal applied to the address line to close the
transistor. Then the voltage applied on the bit line will transfer to capacitor and store in the capacitor
However the capacitor has tendency to discharge and has to refresh to maintain the bit.
While in Reading Operation ,the instruction find the bit store using the address line to read the data or bit. When
the address line is selected ,the transistor turns on and the charge stored on the capacitor is fled out onto a bit line
and to sense amplifier. Sense amplifiers compare the capacitor voltage to reference value to determine the logic 1 or
logic 0.The read out from cell must be restored to complete the operation.
Cascaded DRAM
Feature Comparison Between Memory Types
entity NAND_GATE is
generic (N: Natural := 2;
D: Time := 10 ns);
port (A: in Bit_Vector (1 to N);
Z: out Bit);
end NAND_GATE;
First the coder should think about the data that is represented by std_logic_vector. Is it signed data or is it
unsigned data? Signed data means that your std_logic_vector can be a positive or negative number.
Unsigned data means that your std_logic_vector is only a positive number. The example below uses
the unsigned() typecast, but if the used data can be negative then it is required to use
the signed() typecast. Once the input is cast to std_logic_vector as unsigned or signed, then it can be
converted to integer as shown below:
Seven-segment displays are commonly used in digital clocks, clock radios, timers, wristwatches, and calculators. They
can also be found in motor-vehicle odometers, speedometers, radio frequency indicators, and practically any other
display that makes use of alphanumeric characters alone (without the need for graphics). Some seven-segment
displays produce an "italicized" (slanted) set of characters.
Seven Segment Display : Continued ..
In common anode type, all the anodes of 8 LED’s are connected to the common terminal and cathodes are left free. Thus, in
order to glow the LED, these cathodes have to be connected to the logic ‘0’ and anode to the logic ‘1’.
Seven segment (Common Anode) ROM using VHDL