Module 5
Module 5
Module 5
SYLLABUS:
Semiconductor Memories: Introduction, Dynamic Random Access Memory (DRAM) and
Static Random Access Memory (SRAM), (10.1 to 10.3 of TEXT 1)
Testing and Verification: Introduction, Logic Verification Principles, Manufacturing Test
Principles, Design for testability (15.1, 15.3, 15.5 15.6.1 to 15.6.3 of TEXT 2).
Table of Contents
5.1. Semiconductor Memories - Introduction ........................................................................... 2
5.2. Dynamic Read-Write Memory (DRAM) Circuits .............................................................. 4
5.2.1. Three-Transistor DRAM Cell...................................................................................................... 5
5.2.1.1. Write "1" operation ........................................................................................................... 6
5.2.1.2. Read "1" operation ............................................................................................................ 7
5.2.1.3. Write "0" operation ........................................................................................................... 8
5.2.1.4. Read "0" operation ............................................................................................................ 8
5.2.2. One-Transistor DRAM Cell ........................................................................................................ 8
5.2.2.1. Write Operation: ................................................................................................................ 9
5.2.2.2. Read Operation: ................................................................................................................. 9
5.3. Static Read-Write Memory (SRAM) Circuits .................................................................... 9
5.3.1. Full CMOS SRAM Cell .............................................................................................................. 10
5.3.1.1. Read “0” operation: ......................................................................................................... 11
5.3.1.2. Write “0” operation: ........................................................................................................ 12
5.4. Testing and Verification – Introduction ............................................................................ 13
5.5. Logic Verification Principles ............................................................................................ 15
5.6. Manufacturing Test Principles .......................................................................................... 16
5.6.1. Fault Models ........................................................................................................................... 16
5.6.1.1. Stuck-At Faults ................................................................................................................. 16
5.6.1.2. Short-Circuit and Open-Circuit Faults .............................................................................. 17
5.6.2. Observability ........................................................................................................................... 17
5.6.3. Controllability.......................................................................................................................... 18
5.6.4. Fault Coverage ........................................................................................................................ 18
5.6.5. Automatic Test Pattern Generation (ATPG)............................................................................ 18
“CMOS Digital Integrated Circuits: Analysis and Design” - Sung Mo Kang &
T-1.
Yosuf Leblebici, Third Edition, Tata McGraw-Hill.
• Read-write (R/W) memory circuits, permit the modification (writing) of data bits stored in the
memory array, as well as their retrieval (reading) on demand. This requires that the data storage
function be volatile, i.e., the stored data are lost when the power supply voltage is turned off. The
read-write memory circuit is commonly called Random Access Memory (RAM), as any cell in
the R/W memory array can be accessed with nearly equal access time. Based on the operation
type of individual data storage cells, RAMs are classified into two main categories: Static RAMs
(SRAM) and Dynamic RAMs (DRAM).
Fig 5.1 shows an overview of the different memory types and their classifications.
A typical memory array organization is shown in Fig. 5.2. The data storage structure, or core, consists
of individual memory cells arranged in an array of horizontal rows and vertical columns. Each cell is
capable of storing one bit of binary information. Also, each memory cell shares a common connection
with the other cells in the same row, and another common connection with the other cells in the same
column. In this structure, there are 2N rows, also called word lines, and 2M columns, also called bit
lines. Thus, the total number of memory cells in this array is 2N x 2M.
To access a particular memory cell, i.e., a particular data bit in this array, the corresponding
bit line and the corresponding word line must be activated (selected). The row and column
selection operations are accomplished by row and column decoders, respectively. The row
decoder circuit selects one out of 2N word lines according to an N-bit row address, while the
column decoder circuit selects one out of 2M bit lines according to an M-bit column address.
Once a memory cell or a group of memory cells are selected in this fashion, a data read
and/or a data write operation may be performed on the selected single bit or multiple bits on a
particular row. The column decoder circuit serves the double duties of selecting the particular
columns and routing the corresponding data content in a selected row to the output.
component count and, hence, the smallest silicon area of all the dynamic memory cells. The
cell has one read-write control line (word line) and one I/O line (bit line).
Fig 5.3. Various configurations of the dynamic RAM cell. (a) Four-transistor DRAM cell
with two storage nodes. (b) Three-transistor DRAM cell with two bit lines and two word lines. (c)
One-transistor DRAM cell with one bit line and one word line.
5.2.1. Three-Transistor DRAM Cell
The circuit diagram of a typical three-transistor dynamic RAM cell is shown in Fig. 5.4 as
well as the column pull-up (precharge) transistors and the column read/write circuitry. Here,
the binary information is stored in the form of charge in the parasitic node capacitance Cl.
The storage transistor M2 is turned on or off depending on the charge stored in C1, and the
pass transistors Ml and M3 act as access switches for data read and write operations. The cell
has two separate bit lines for "data read" and "data write," and two separate word lines to
control the access transistors.
The operation of the three-transistor DRAM cell and its peripheral circuitry is based on a
two-phase non-overlapping clock scheme. The precharge events are driven by 𝞥1, whereas
the "read" and "write" events are driven by 𝞥2. Every "data read" and "data write" operation
is preceded by a precharge cycle, which is initiated with the precharge signal PC going high.
During the precharge cycle, the column pull-up transistors are activated, and the
corresponding column capacitances C2 and C3 are charged up to logic-high level. All "data
read" and "data write" operations are performed during the active 𝞥2 phase, i.e., when PC is
low.
Fig 5.4 Three-transistor DRAM cell with the pull-up and read/write circuitry.
Fig 5.5 depicts the typical voltage waveforms associated with the 3-T DRAM cell during a
sequence of four consecutive operations: write " 1," read "1," write "0," and read "0." The
four precharge cycles shown in Fig. 5.4 are numbered 1, 3,5, and 7, respectively. During this,
the two column capacitances C2 and C3 are charged. These capacitances are larger than the
internal storage capacitance C1.
5.2.1.1. Write "1" operation
✓ For the write "1" operation, ̅̅̅̅̅̅̅̅
𝐷𝐴𝑇𝐴 is at the logic ‘0’, because the data to be written onto
the DRAM cell is logic "1." Consequently, the "data write" transistor is turned off, and
the voltage level on column Din remains high.
✓ Now the "write select" signal WS is pulled high during the active phase of 𝞥2. As a
result, the write access transistor Ml is turned on.
✓ With Ml conducting, the charge on C2 is now shared with Cl. Since the capacitance C2 is
very large compared to C1, the storage node capacitance Cl attains approximately the
same logic-high level as the column capacitance C2 at the end of the charge-sharing
process.
5.2.1.2. Read "1" operation
✓ After the write "1" operation is completed, the write access transistor MI is turned off.
With the storage capacitance C1 charged-up to a logic-high level, transistor M2 is now
conducting.
✓ In order to read this stored "1," the "read select" signal RS must be pulled high during the
active phase of 𝞥2, following a precharge cycle.
✓ As the read access transistor M3 turns on, M2 and M3 create a conducting path between
the "data read" column capacitance C3 and the ground.
✓ The capacitance C3 discharges through M2 and M3, and the falling column voltage is
interpreted by the "data read" circuitry as a stored logic "1."
Fig 5.5 Typical voltage waveforms associated with the 3-T DRAM cell during four
consecutive operations: write "1," read "1," write "0," and read "O."’
Fig 5.6. (a) Typical one-transistor (1-T) DRAM cell with its access lines
the memory cell. The pass gates acting as data access switches are enhancement-type nMOS
transistors.
The six-transistor depletion-load nMOS SRAM cell shown in Fig. 5.6(d) can be easily implemented
with one polysilicon and one metal layer, and the cell size tends to be relatively small, especially with
the use of buried metal-diffusion contacts.
The full CMOS SRAM cell shown in Fig. 5.6(e) achieves the lowest static power dissipation among
the various circuit configurations.
Fig 5.7. Various configurations of the static RAM cell. (a) Symbolic representation of the
two-inverter latch circuit with access switches. (b) Generic circuit topology of the MOS static
RAM cell. (c) Resistive-load SRAM cell. (d) Depletion-load nMOS SRAM cell. (e) Full CMOS
SRAM cell.
operation, connecting the cell to the complementary bit-line columns. The most important
advantage of this circuit topology is that the static power dissipation is even smaller;
essentially, it is limited by the leakage current of the pMOS transistors.
Fig 5.9. Voltage levels in the SRAM cell at the beginning of the "read" operation
in the linear mode. Thus, the internal node voltages are V1 = 0 and V2 = VDD before the cell
access (or pass) transistors M3 and M4 are turned on.
After the pass transistors M3 and M4 are turned on by the row selection circuitry, the voltage
level of column C’ will not show any significant variation since no current will flow through
M4. On the other half of the cell, however, M3 and Ml will conduct a nonzero current and the
voltage level of column C will begin to drop slightly. The data read circuitry is responsible
for detecting this small voltage drop and amplifying it as a stored "0. "
5.3.1.2. Write “0” operation:
Consider the write "0" operation, assuming that a logic "1" is stored in the SRAM cell
initially. Fig 5.10 shows the voltage levels in the CMOS SRAM cell at the beginning of the
data-write operation. The transistors M1 and M6 are turned off, while the transistors M2 and
M5 operate in the linear mode. Thus, the internal node voltages are V = VDD and V2= 0 V
before the cell access (or pass) transistors M3 and M4 are turned on.
Fig 5.10 Voltage levels in the SRAM cell at the beginning of the "write" operation.
The column voltage VC is forced to logic "0" level by the data-write circuitry. Once the pass
transistors M3 and M4 are turned on by the row selection circuitry, the node voltage V2
remains below the threshold voltage of Ml, since M2 and M4 are designed accordingly.
Consequently, the voltage level at node (2) would not be sufficient to turn on Ml. To change
the stored information, i.e., to force V1 to 0 V and V2 to VDD, the node voltage V1 must be
reduced below the threshold voltage of M2, so that M2 turns off first. When V1 = VTh, the
transistor M3 operates in the linear region while M5 operates in saturation. M3 and M5 are
designed such that, the transistor M2 will be forced into cut-off mode during the write "0"
operation. This will guarantee that Ml subsequently turns on, changing the stored
information.
5.4. Testing and Verification – Introduction
➢ Testing is an organized process to verify the behavior, performance, and reliability of
a device or system against designed specifications.
➢ It ensures a device or system to be as defect-free as possible.
➢ Testing a die (chip) can occur at the following levels
i. Wafer level
ii. Packaged chip level
iii. Board level
iv. System level
v. Field level
➢ By detecting a malfunctioning chip early, the manufacturing cost can be kept low. For
instance, the approximate cost to a company of detecting a fault at the various levels
is at least
i. Wafer $0.01–$0.10
ii. Packaged chip $0.10–$1
iii. Board $1–$10
iv. System $10–$100
v. Field $100–$1000
➢ Obviously, if faults can be detected at the wafer level, the cost of manufacturing is
lower.
Logic Verification
➢ In the design of integrated circuits, at all levels of abstraction, verification tools
compare the design at different levels to make sure that in the synthesis process, the
designers or optimization tools have not introduced errors, particularly logic errors.
➢ Due to the high complexity of VLSI design and the complexity of synthesis tools,
logic verification has become increasingly important.
➢ Logic verification detects any discrepancy in the function implemented by the two
compared logic designs.
➢ High-level language scripts are frequently used when running large testbenches,
especially for regression testing.
5.5.3. Version Control
➢ Combined with regression testing is the use of versioning, that is, the orderly
management of different design iterations. Unix/Linux tools such as CVS or
Subversion are useful for this.
5.5.4. Bug Tracking
➢ Bug-tracking systems such as the Unix/Linux based GNATS allow the management
of a wide variety of bugs.
➢ In these systems, each bug is entered and the location, nature, and severity of the bug
noted.
➢ The bug discoverer is noted, along with the perceived person responsible for fixing
the bug.
➢ Given the limited number of nodes that can be directly observed, it is the aim of good
chip designers to have easily observed gate outputs.
➢ Ideally, chip designers should be able to observe directly or with moderate indirection
(i.e., with a wait of few cycles) of every gate output within an integrated circuit.
5.6.3. Controllability
➢ Controllability is the ability to set (to 1) and reset (to 0) every internal node of the
circuit.
➢ Controllability is important when assessing the degree of difficulty of testing a
particular signal within a circuit.
➢ It should be the aim of good chip designers to make all nodes easily controllable.
➢ An easily controllable node would be directly settable via an input pad.
➢ A node with little controllability, such as the most significant bit of a counter, might
require many hundreds or thousands of cycles to get it to the right state.
➢ For example, making all flip-flops resettable via a global reset signal is one step
toward good controllability.
5.6.4. Fault Coverage
➢ Fault coverage tells what percentage of the chip’s internal nodes was checked for a set
of test vectors.
➢ To detect fault, each circuit node is taken in sequence and held to 0 (S-A-0).
➢ The circuit is simulated with the test vectors and the outputs are compared with a
known good machine with no nodes artificially set to 0.
➢ If a difference is detected between the faulty machine and the good machine, the fault
is marked as detected and the simulation is stopped.
➢ This is repeated by setting the node to 1 (S-A-1). In turn, every node is stuck
(artificially) at 1 and 0 sequentially.
➢ The fault coverage of a set of test vectors is the percentage of the total nodes that can
be detected as faulty when the vectors are applied.
➢ To achieve world-class quality levels, circuits are required to have in excess of 98.5%
fault coverage.
5.6.5. Automatic Test Pattern Generation (ATPG)
➢ Manufacturing test ideally would check every node in the circuit to prove it is not
stuck.
➢ Sequence of test vectors should be applied to the circuit to prove each node is not
stuck.
➢ Generation of test vector (test pattern) is tedious, hence Automatic Test Pattern
Generation (ATPG) tools are used
➢ Automatic Test Pattern Generation, or ATPG, generates the vectors or input patterns
automatically which are required to check a device for faults.
➢ The vectors are sequentially applied to the device under test and the device's response
to each set of inputs is compared with the expected response from a good circuit.
➢ An 'error' in the response of the device means that it is faulty.
➢ The effectiveness of the ATPG is measured primarily by the fault coverage achieved
and by the number of patterns generated.
5.6.6. Delay Fault Testing
➢ Delay fault increases the input to output delay of one logic gate, at a time but the
functionality of the circuit is untouched.
➢ For ex, consider an inverter gate composed of paralleled nMOS and pMOS transistors
as shown in fig.5.15
➢ The keys to designing circuits that are testable are controllability and observability.
➢ Good observability and controllability reduce the cost of manufacturing testing
because they allow high fault coverage with relatively few test vectors.
➢ Main approaches of Design for Testability (DFT) are
1. Ad hoc testing
2. Scan-based approaches
3. Built-in self-test (BIST)
➢ The 3-bit BILBO register shown in fig.5.18 is a scannable, resettable register that also
can serve as a pattern generator and signature analyzer.
➢ The BILBO circuit has four modes of operation, which are controlled by the mode
bits C[1:0].
➢ In the reset mode (10), all the flip-flops are synchronously initialized to 0.
➢ In normal mode (11), the flip-flops behave normally with their D input and Q output.
➢ In scan mode (00), the flip-flops are configured as a 3-bit shift register between SI and
SO.
➢ In test mode (01), the register behaves as a pseudo-random sequence generator or
signature analyzer.
➢ If all the D inputs are held low, the Q outputs loop through a pseudo-random bit
sequence, which can serve as the input to the combinational logic.