VLSI Module 5
VLSI Module 5
(BEC602)
MODULE-5
Sequential MOS Logic Circuits
(Text Book: Principals of CMOS VLSI Design A System approach Neil H E Weste
and Kamran Eshraghain . Addition Wisley Publishing company. 6.1, 6.2, 6.5)
1
Introduction
Combinational logic circuits:
• The output levels at any given time point are directly determined as
Boolean functions of the input variables applied at that time.
• The combinational circuits lack the capability of storing any previous
events, or displaying an output behavior which is dependent upon the
previously applied inputs. Circuits of this type are also classified as non-
regenerative circuits, since there is no feedback relationship between
the output and the input.
Sequential circuits:
• The output is determined by the current inputs as well as the previously
applied input variables. Figure 1 shows a sequential circuit consisting of
a combinational circuit and a memory block in the feedback loop.
2
The critical components of
sequential systems, are the
basic regenerative circuits,
which can be classified into
Figure 1: Sequential circuit consisting of a
combinational logic block and a memory block in three main groups:
the feedback loop.
1. Bistable circuits
2. Monostable circuits
3. Astable circuits
5
Behavior of Bistable Elements
• This leads to the conclusion that the third operating point is unstable. The circuit
has two stable operating points, hence, it is called bistable.
• The bistable behavior of the cross-coupled inverter circuit can also be visualized
qualitatively by examining the total potential energy level at each of the three
possible operating points (Figure 4). It is seen that the potential energy is at its
minimum at two of the three operating points, since the voltage gains of both
inverters are equal to zero.
• By contrast, the energy attains a maximum at the operating point at which the
voltage gains of both inverters are maximum.
• Thus, the circuit has two stable operating points corresponding to the two energy
minima, and one unstable operating point corresponding to the potential energy
maximum.
9
CMOS Two-Inverter Bistable Element
10
Figure 5: (a) Circuit diagram of a CMOS bistable element.
(b) One possibility for the expected time-domain behavior of the
output voltages, if the circuit is initially set at its unstable operating
point.
11
The SR Latch Circuit
• The circuit preserves its state as long as the power supply voltage is
provided; hence, the circuit can perform a simple memory function of
holding its state.
12
• Figure 6 shows the circuit structure of
is equal to "1."
the simple CMOS SR latch, which has two
such triggering inputs, S (set) and R
(reset).
• The circuit consists of two CMOS NOR2
gates.
• One of the input terminals of each
NOR gate is used to cross-couple to the
output of the other NOR gate, while the
Figure 6: CMOS SR latch circuit based
second input enables triggering of the on NOR2 gates.
circuit.
• The SR latch circuit has two
complementary outputs, Q and • Conversely, the latch is in its reset
•The latch is said to be in its set state state when the output Q is equal to
when Q is equal to logic " 1 " and is logic "0" and is equal to "1."
equal to logic "0." 13
14
15
16
17
Depletion-load nMOS SR latch circuit based on NOR2 gates.
• From the logic point of view, the operation principle of the depletion-load nMOS
NOR-based SR latch is identical to that of the CMOS SR latch.
• In terms of power dissipation and noise margins, the CMOS circuit
implementation offers a better alternative, since both of the CMOS NOR2 gates
dissipate virtually no static power for preserving a state, and since the output
voltages can exhibit a full swing between 0 and VDD.
18
CMOS SR latch circuit based on NAND2 gates.
• In the NAND-based SR latch circuit, to
hold (preserve) a state, both of the
inputs must be equal to logic " 1."
• Thus, in order to set the NAND SR latch, a logic "0" must be applied to the set input.
Similarly, in order to reset the latch, a logic "0" must be applied to the reset (R) input.
The conclusion is that the NAND-based SR latch responds to active low input signals,
19
as opposed to the NOR-based SR latch, which responds to active high inputs.
Figure 9: Gate-level schematic and block
diagram of the NAND-based SR latch.
The gate-level schematic and the corresponding block diagram representation of
the NAND-based SR latch circuit are shown in Figure 9. The small circles at the S and
R input terminals indicate that the circuit responds to active low input signals. The
20
truth table of the NAND SR latch is also shown in the following.
The NAND-based SR latch can also be implemented by using two cross-coupled
depletion-load NAND2 gates, as shown in Figure 10. While the operation
principle is identical to that of the CMOS NAND SR latch Figure 8 from the logic
point of view, the CMOS circuit implementation again offers a better
alternative in terms of static power dissipation and noise margins.
24
• Figure 13 shows a CMOS implementation of the clocked NOR-based SR latch circuit,
using two simple AOI gates.
25
• The NAND-based SR latch can also be implemented with gating clock
input, as shown in Figure 14.
• Both the input signals S and R as well as the clock signal CK are active low
in this case.
• This means that changes in the input signal levels will be ignored when the
clock is equal to logic " 1," and that inputs will influence the outputs only
when the clock is active, i.e., CK = "0."
26
• A different implementation of the
clocked NAND-based SR latch is
shown in Figure 15.
• Here, both input signals and the CK
signal are active high, i.e., the latch
output Q will be set when CK = " 1," S
= " 1," and R = "O."
• Similarly, the latch will be reset when
CK = "1," S = "O," and R = "1." The
latch preserves its state as long as the
clock signal is inactive, i.e., when CK =
"O. "
Figure 15:
• The drawback of this implementation (a) Gate-level schematic of the
is that the transistor count is higher clocked NAND-based SR latch
than the active low version shown in circuit, with active high inputs.
(b) Partial block diagram
Figure 14 representation of the same circuit.
27
Clocked JK Latch
• SR latch/Flip flops circuits examined suffer from the common problem of
having a not-allowed input combination, i.e., their state becomes
indeterminate when both inputs S and R are activated at the same time.
• This problem can be overcome by adding two feedback lines from the
outputs to the inputs, as shown in Figure.16. The resulting circuit is called a JK
latch.
Figure 17. All-NAND implementation of the the latch preserves its current state.
clocked JK latch circuit. • If, on the other hand, both inputs are
equal to " 1 " during the active clock
phase, the latch simply switches its
state due to feedback.
• In other words, the JK latch does not
have a not-allowed input combination.
29
Table 1: Detailed truth table of the JK latch circuit.
30
Clocked NOR-based JK latch circuit.
• The key operation principle is that the two cascaded stages are activated with
opposite clock phases.
• The input latch in Figure 21, called the "master," is activated when the clock pulse
is high. During this phase, the inputs J and K allow data to be entered into the flip-
flop, and the first-stage outputs are set according to the primary inputs.
• When the clock pulse goes to zero, the master latch becomes inactive and the
second-stage latch, called the "slave,“ becomes active.
• The output levels of the flip-flop circuit are determined during this second phase,
based on the master-stage outputs set in the previous phase.
33
Figure 21: Master-slave flip-flop consisting of NAND-based JK latches.
• The input latch in Figure 21, is called the "master," is activated when the clock pulse is
high. During this phase, the inputs J and K allow data to be entered into the flip-flop,
and the first-stage outputs are set according to the primary inputs.
• When the clock pulse goes to zero, the master latch becomes inactive and the second-
stage latch, called the "slave," becomes active. The output levels of the flip-flop circuit
are determined during this second phase, based on the master-stage outputs set in the
previous phase.
• Since the master and the slave stages are effectively decoupled from each other with
the opposite clocking scheme, the circuit is never transparent, i.e., a change occurring
34
in the primary inputs is never reflected directly to the outputs.
• Figure 22 shows a sample set of input and output waveforms associated with the
JK master-slave flip-flop.
35
• Because the master and the slave
stages are decoupled from each
other, the circuit allows for
toggling when J = K = "1," but it
eliminates the possibility of
uncontrolled oscillations since only
one stage is active at any given
time.
• A NOR-based alternative realization Figure 23: NOR-based realization of the JK
for the master-slave flip-flop circuit master-slave flip-flop
is shown in Figure 23.
• Figure 22 shows that the master-slave flip-flop circuit has the potential problem of "one's
catching." When the clock pulse is high, a narrow spike or glitch in one of the inputs, for
instance a glitch in the J line (or K line), may set (or reset) the master latch and thus cause
an unwanted state transition, which will then be propagated into the slave stage during
the following phase.
• This problem can be eliminated to a large extent by building an edge-triggered master-
slave flip-flop.
36
Structured Design and Testing
Introduction
The design description for circuit is described in terms of three domains, namely:
• In each of these domains there are a number of design options that may be
selected to solve a particular problem.
• In the structural domain, the decision about which particular logic family, clocking
strategy, or circuit style to use is initially unbound.
• At the physical level, how the circuit is implemented in terms of chips, boards, and
cabinets also provides many options to the designer. 37
Figure 24 (a) illustrates a typical
design flow of a contemporary design
system.
Figure 24 (b) illustrates an ideal
approach to design.
38
• A good VLSI design system should provide consistent descriptions in all three
description domains (Architectural, RTL/Block, Logic or circuit) at all relevant
levels of abstraction. VLSI design is a continuous tradeoff of below
parameters to achieve adequate results:
• Performance: Speed, power, function and flexibility
• size of die
• Ease of use
39
Hierarchy
40
41
Modularity
• Interface indicates the function, name, signal type, electrical and timing
constraints on ports of the design.
• Too Large fan-in and too small drive capability can lead to unexpected
timing problems.
42
Regularity
• Divide a system through hierarchy alone cannot solve the
complexity.
• Floor Planning
• Routing
44
Handcrafted Mask Layout
• Handcrafted Mask-Level Layout is the layout of functional subsystems at
the mask level.
• It is the oldest form of chip design and still the most widely used by
semiconductor vendors.
45
• Extremely time-consuming due to hundreds of thousands or
millions of transistors.
46
Gate array design
• Gate arrays are currently enjoying widespread popularity as an
LSI¬VLSI implementation medium.
• This arises through a combination of readily available vendors,
design tools, and a compatibility with TTL design that makes it
easy for the system designer to transfer a design to silicon with
the minimum amount of effort
• Gate arrays come in various flavors, but can be categorized by
a design that uses a large number of identical "sites,"
• each site consisting of a number of circuit elements.
• In CMOS, these sites consist of a number of n-transistors and
p-transistors.
• Some typical sites are shown in Fig. 6.2.
47
48
49
50
A typical gate array floor plan
51
gate array design flow chart
52
Standard cell design
• Standard cell systems rely on a set of predefined
logic/circuit cells to complete a design
55
Testing
• A critical factor in all LSI and VLSI design is the need to incorporate
methods of testing circuits.
• This task should proceed concurrently with any architectural considerations.
• Fig. 6.13a shows a combinational circuit with n-inputs.
• To test this circuit exhaustively a sequence of 2n inputs (or test vectors) must
be applied and observed to fully exercise the circuit.
• This combinational circuit is converted to a sequential circuit with addition of
m-storage latches, as shown in Fig. 6.13b.
• The state of the circuit is determined by the inputs and the previous state. A
minimum of 2n+m test vectors must be applied to exhaustively test the
circuit.
56
Three main areas are of importance in Testing:
➢ Test generation
➢ Test verification
➢ Design for test.
"Stuck-At" model
• With this model, a faulty gate input is modeled as a Stuck-At-0 (S-A-0) or a Stuck-At-1
(S-A-1) value
• fault coverage relates to the number of S-A-0 or S-A-1 faults that could be detected by
the input sequence as a percentage of the total number of single faults that might occur.
Short or open circuited faults
• Many faults are caused by short- or open-circuited networks
58
• A particular problem that arises with CMOS is that it is possible
• for a fault to convert a combinational circuit into a sequential circuit.
• This is illustrated for the case of a 2-input NOR gate in which one of the transistors is
rendered ineffective (stuck open or stuck closed). This might be due to a missing source,
drain, or gate connection. If one of then-transistors (A connected to gate) is stuck open,
then the function displayed by the gate will be
• where F is the previous state of the gate. Similarly if the B n transistor is missing, the
function is
• If either p-transistor is missing, the node would be arbitrarily charged until one of the n-
transistors discharged the node
• This problem has caused researchers to search for new methods of test generation to
detect such behavior
59
A model for CMOS
circuits that allows
test generation using
methods such as the D-
algorithm
60
Design for testability
• The key to designing circuits that are testable are two concepts
called controllability and observability.
• Simply stated, controllability is the ability to set and reset every
node internal to the circuit.
• Observability is the ability to observe either directly or indirectly
the state of any node in the circuit.
• There are three main approaches to what is commonly called
"design for testability."
• These may be categorized as:
➢ Ad hoc testing
➢Structured design for testability
➢Self-test and built-in testing.
61
Ad hoc testing
• The techniques grouped under the ad hoc category are basically techniques to reduce the
combinational explosion of testing.
• Common techniques involve partitioning large sequential circuits and adding test points.
• Long counters are good examples of circuits that can be partitioned into smaller
counters that may be exercised with fewer test vectors.
• Another technique classified in this category is the use of the bus .
62
Structured design for testability
• A popular approach is called Level Sensitive Scan Design or the LSSD approach, introduced
by IBM
• The latches in the circuit are all what are termed "shift register latches" or SRLs.
• In the normal mode of operation, the registers act as the regular storage latches in the circuit.
• In the test-mode, all of the latches in the circuit are connected in series.
• In this mode, data may be shifted into or out of the cascaded registers.
• With this capability, testing is reduced to inputting a known sequence (controllability),
exercising the combinational circuitry and storing the results, and shifting the stored values
out of the register (observability).
LSSD Testing
63
Structured design for testability
65
Self-test and built-in test
• One method of incorporating a built-in test module is to use signature analysis or cyclic
redundancy checking.
• This involves the use of a linear feedback shift register shown in Fig. 6.19
• After initialization, the value in the register will be a function of the value and number of
latch inputs and the counting function of the signature analyzer
• A good part will have a particular number or signature in the register.
• A bad part will have a different number in the register.
• Signature analysis can be merged with the LSSD technique to create a structure known as
BILBO - for Built-In Logic Block.
66
Self-test and built-in test
• A 3-bit register is shown with the associated circuitry.
• In mode A (C0 = C1 = 1), the registers act as conventional parallel registers.
• In mode B (C0 = C1 = 0), the registers act as scan registers.
• In mode C (C0 = 1 C1 = O), the registers act as a signature analyzer or pseudo-random
sequence generator (PRSG).
• The registers are reset if C0 = O and C1 = 1.
• Thus a complete test generation and observation arrangement can be implemented as
shown in Fig. 6.21
67
Design for Autonomous Test
• Another approach to built-in test is called
Design for Autonomous Test.
• In this approach, modules are partitioned into
small modules, which are then tested
exhaustively.
• The main method for partitioning involves
the use of multiplexers.
• Fig. 6.22a shows a typical circuit with
multiplexers included.
• Fig. 6.22b shows the circuit configured for
normal use, while Fig. 6.22c shows the circuit
configured to test module A.
• No fault models or test generation techniques
are required for this technique.
• A complete module would include a pattern Multiplexer segmenting for
autonomous tests
generator in the form of a linear feedback shift
register, a signature analyzer, and test control
circuitry.
68
End of Module 5
69