BEC602 - Module 5 Part 2, Structured Design and Testing
BEC602 - Module 5 Part 2, Structured Design and Testing
1 Introduction
1.1 Introduction to VLSI Design Styles
Integrated circuit (IC) design can be described using three main design domains:
Each level provides multiple implementation options and supports a variety of design styles.
Here, we are mainly going to focus on popular design styles, and structured hierarchical
design.
1
VLSI Design and Testing 1 Introduction
PROBLEM SPECIFICATION
ARCHITECTURE DEFINITION
BEHAVIORAL COMPILER
LOGIC DESIGN
BEHAVIORAL DESCRIPTION
STRUCTURAL DE-
CIRCUIT DESIGN SCRIPTION (CIRCUIT)
PHYSICAL COMPILER
LAYOUT
FAB
(b): Ideal
FAB
(a): Current
2
VLSI Design and Testing 2 Design Styles
2 Design Styles
2.1 Introduction
A good VLSI design system should provide consistent descriptions across:
The effectiveness of a design system can be measured using various design parameters:
Size of die
Design is a process of making trade-offs to achieve acceptable results across all these parameters.
Therefore, the tools and methodologies selected for a particular chip depend on:
Given the complexity of silicon-based system design, the role of VLSI design aids is to:
Ideally, the choice of methodology is economically driven, provided all styles are available.
Key considerations:
3
VLSI Design and Testing 2 Design Styles
2.2.1 Hierarchy
Hierarchy is a fundamental strategy used in structured VLSI design. It involves:
Dividing a complex module into submodules
Repeating this subdivision recursively until each submodule is simple enough to be easily
understood and implemented
This strategy is similar to practices in software design, where:
Large programs are decomposed into smaller components
Eventually yielding simple subroutines with well-defined functions and interfaces
4
VLSI Design and Testing 2 Design Styles
2.2.2 Modularity
Modularity is a key principle in structured VLSI design. It complements hierarchy by dividing a
system into a set of submodules that are easier to understand, manage, and implement.
5
VLSI Design and Testing 2 Design Styles
2.2.3 Regularity
Regularity is another key principle in structured VLSI design. It refers to the repeated use of
uniform structures to simplify the design, verification, and manufacturing processes.
Circuit Level:
– Use of uniform transistor sizes and types instead of individually optimized devices.
Architecture Level:
Data-path Construction:
– Modules may differ internally by function, but share a common interface structure
(e.g., power, ground, clock, buses).
Benefits of Regularity
Simplifies design and layout
2.2.4 Locality
Locality is a design principle that supports modularity and hierarchy by reducing interdependence
between modules.
6
VLSI Design and Testing 2 Design Styles
This concept mirrors software engineering practices, where the use of global variables is
discouraged to preserve locality and reduce side effects.
Placement Strategy
Modern design approaches often favor:
“Wires first, then modules” — global wiring paths are planned before module placement,
ensuring shorter and more efficient interconnections.
This is in contrast to older methods of “place modules, then route”, which can result in
congested or suboptimal wiring.
Benefits of Locality
Reduces global interconnections
2.3.1 Characteristics
Traditional and still widely used, especially by semiconductor vendors.
7
VLSI Design and Testing 2 Design Styles
Typically handled by designers with specialized knowledge in logic design, circuit behavior,
and fabrication processes.
2.3.3 Advantages
Allows optimization at the transistor level.
2.3.4 Challenges
Time-consuming and complex, especially for VLSI circuits with millions of transistors.
– Behavioral description
– Structural specification
– Physical layout
Before the development of circuit extraction tools, validating the layout was difficult.
Compatibility with TTL designs, enabling system designers to migrate from board-level to
silicon implementations with minimal effort,
8
VLSI Design and Testing 2 Design Styles
The constrained physical layout of gate arrays allows the development of bounded design tools.
While this does not necessarily reduce the complexity of the tools themselves, it makes the design
space more manageable.
Layout View: A physical layout corresponding to the six-transistor site, showing metal and
polysilicon routing.
Four-Transistor Site: Includes two nMOS and two pMOS transistors. One n-p pair has a
common gate connection; the other pair has separate gate signals. This configuration easily
implements transmission gates and inverters, useful for latches.
9
VLSI Design and Testing 2 Design Styles
Static Latch Site: Six transistors are ratioed specifically to implement static latches. This
site is one of two cells used in a memory-logic gate array.
10
VLSI Design and Testing 2 Design Styles
Reduced Time-to-Market: Design turnaround is faster since only a fraction of the usual
mask cost (typically 1/8 to 1/4) is incurred.
Fixed Placement and Configuration: Limits the achievable optimization in area and
performance.
11
VLSI Design and Testing 2 Design Styles
12
VLSI Design and Testing 2 Design Styles
START
Customer
Create schematic diagrams;
Define preliminary test vectors;
Verify correct functionality
Customer/Intersil
Phase 1 Translate to IGC20000 CMOS macros;
Design Encoded in TEGAS;
Translation Perform pre - layout simulation
Revisions
Intersil
Perform preliminary placement on array;
Recommend schematic
changes where required
Intersil
Perform final placement
and automatic routing
Intersil Customer approval
Calculate interconnection - related delays;
Phase 2 Perform post - layout TEGAS simulation
Design
Implementation Customer
Provide complete test vectors
Intersil
Create pattern generator tape
Intersil
Fabricate masks and wafers;
Phase 3
Perform wafer probe;
Fabrication
Assemble packages; Test; Ship prototypes
13
VLSI Design and Testing 2 Design Styles
Designers familiar with ITL (Integrated TTL Logic) databooks can easily relate to this
approach.
Over time, commercial tools have made standard cell design accessible to broader markets,
facilitating faster and more affordable custom chip design.
14
VLSI Design and Testing 2 Design Styles
However, design trade-offs can be introduced to reuse chips for various applications.
For example, personalizing a ROM or control PLA block allows flexibility in functionality
without redesigning the entire chip.
Larger functional blocks (e.g., RAMs) are positioned for optimal interconnect with
surrounding logic.
15
VLSI Design and Testing 2 Design Styles
MSI cells often have a fixed height and variable width to accommodate logic complexity, as
illustrated in figure below:
16
VLSI Design and Testing 2 Design Styles
Hierarchy
Regularity
Modularity
Locality
Building upon these ideas, there is now a growing interest in symbolic layout methods. These
approaches aim to simplify the lower-level details of IC design by:
Ease of use for system designers, without needing to handle the detailed process-specific
layout rules
Key Points:
Symbolic layout methods focus on abstraction to speed up and simplify IC layout tasks.
They represent structural and physical properties symbolically rather than with strict
geometrical precision.
17
VLSI Design and Testing 3 Testing
3 Testing
3.1 Introduction
In LSI (Large Scale Integration) and VLSI (Very Large Scale Integration) design, an
important consideration is the testing of circuits.
Testing must be incorporated during the design phase itself and should proceed
concurrently with architectural development.
It must not be delayed until fabricated parts are available.
18
VLSI Design and Testing
In a sequential circuit, the output depends not only on the current inputs but also on the
previous state.
Consequently, an exhaustive test now requires 2n+m input combinations.
If test patterns are applied at a rate of 1 microsecond per pattern, the total time needed
would exceed one billion years (109 years).
Exhaustive testing is completely impractical for complex LSI and VLSI circuits. Thus,
efficient testing strategies must be adopted.
References
[1] Williams, “Testing techniques for LSI and VLSI circuits,” 1983.
19
VLSI Design and Testing
2. Manufacturer-Supplied Tests:
These models help in generating test vectors and understanding the effectiveness of tests.
In this model, a gate input or output is assumed to be stuck at logic ‘0’ (S-A-0) or stuck at
logic ‘1’ (S-A-1).
When an input sequence is applied to a circuit, the fault coverage is defined as the
percentage of S-A-0 or S-A-1 faults that can be detected by that sequence.
Many faults arise from short circuits or open circuits, which alter the circuit behavior in
ways not modeled by S-A-0/1.
Hence, it is necessary to model faults at the transistor level, where the complete structure is
visible.
For example, in a CMOS NAND gate, the intermediate node in the series n-transistor path is
hidden at the schematic level.
20
VLSI Design and Testing
21
VLSI Design and Testing
In CMOS circuits, certain faults can cause a purely combinational logic gate to exhibit
sequential behavior.
This is particularly problematic because such behavior is unintended and can lead to
unpredictable results.
Consider the example of a 2-input CMOS NOR gate, where a transistor is stuck-open
(e.g., due to a missing gate, source, or drain connection).
The output node may retain its previous logic level under some input conditions because
no path exists to discharge or charge it properly.
VDD
A T1
B T2
F
T3 T4
When A = 1 and B = 0, the path for discharging the output node is broken.
If the output was previously low, it remains low; otherwise, it could stay high due to the
absence of a pull-down path — hence, the output F depends on the previous state Fn.
One such method is the use of the D-algorithm for logic-level test generation.
22
VLSI Design and Testing
23
VLSI Design and Testing
S1 S0 Output Y
1 1 X (unknown or biased)
1 0 1
0 1 0
0 1 0
0 0 m (memory state)
24
VLSI Design and Testing
One case may result from a normally functioning n-tree pulling the output low, with the
p-tree inactive.
The second instance might represent a fault condition, such as a stuck-open p-transistor
that fails to assert high when needed.
Thus, the repetition is intentional and ensures completeness in the logic model used for test
generation and fault simulation.
Designing for testability enhances fault detection and diagnosis, making circuits easier to test
and maintain.
25
VLSI Design and Testing
Controllability: The ability to set and reset every internal node in the circuit to a known
logic value via the inputs.
Observability: The ability to observe the state of any internal node, either directly at the
outputs or indirectly through other observable nodes.
1. Ad Hoc Testing
26
VLSI Design and Testing
Key Techniques
Partitioning Large Sequential Circuits:
– Large circuits, such as long counters, are split into smaller blocks.
– Each block can then be tested using fewer test vectors.
– Example: A 16-bit counter might be partitioned into four 4-bit counters.
Adding Test Points:
– Insert test points to improve controllability and observability.
– Helps expose internal faults by allowing access to hidden nodes.
Using System Bus for Testing:
– In bus-oriented systems, the bus can be reused for transferring test patterns and
capturing test responses.
– Efficient for testing multiple modules connected to the same data bus.
Testing Bit-Sliced Systems:
– Bit-sliced systems use modular logic slices (e.g., 4-bit ALUs chained to build larger
words).
– These can be tested using methods derived from testing Iterative Logic Arrays (ILAs).
27
VLSI Design and Testing
An example of a modified ILA for I-testability involves a cascaded 1-bit counter cell, to which
two extra gates are added.
These gates enable control and observation of the cell’s operation during testing.
Such modifications allow the entire ILA to be tested using minimal test patterns and simple
comparison logic.
28
VLSI Design and Testing
One of the most widely used structured approaches is Level-Sensitive Scan Design
(LSSD), originally developed by IBM.
This method utilizes specially designed latches known as Shift Register Latches (SRLs).
In normal mode, SRLs function as standard storage elements within the sequential circuit.
In test mode, all SRLs are connected in series to form a scan chain, allowing data to be
shifted through the latches.
Testing Procedure Using LSSD:
1. Shift in a known pattern to initialize all SRLs (achieving controllability).
2. Allow the circuit to operate for one clock cycle, propagating values through the combinational
logic.
3. Capture the output into the SRLs.
4. Shift out the captured results for analysis (achieving observability).
Advantages:
Simplifies test generation, since the combinational portion can be tested separately using
Automatic Test Pattern Generation (ATPG) tools.
Improves fault coverage in large sequential designs.
Drawbacks:
Increased circuit complexity due to additional logic in the latches.
Additional I/O pins may be required for scan control and data.
Physical placement challenges, as latches across the chip must be chained into a scan path.
Trade-off: Designers must weigh the increased area, power, and possible speed penalties against
the benefits of enhanced testability.
Structured design for testability trades off complexity and area for efficient test access and fault
detection.
29
VLSI Design and Testing
30
VLSI Design and Testing
The LFSR is initialized, and the resulting register value becomes a function of:
A correct circuit produces a known signature. A faulty circuit will produce a different
signature.
A 3-bit register with associated logic can operate in multiple modes depending on control
inputs C0 and C1:
31
VLSI Design and Testing
32
VLSI Design and Testing
33
VLSI Design and Testing
5. Syndrome Testing
Syndrome testing is an exhaustive method where all possible input patterns are applied and the
number of logical 1s in the output is counted.
6. Other Techniques
Additional BIT approaches include:
Self-test and BIST techniques reduce dependency on external testers and improve test coverage in
complex VLSI systems.
34
VLSI Design and Testing
Design Techniques:
Incorporate test structures early in the design cycle.
Be aware of trade-offs: testability may affect:
– Chip area
– Speed/performance
Example:
A data-path approach might be easier to test than a random logic approach, with only
minor area differences.
Conclusion:
Embed testability early in the design process.
Choose architectures that balance functionality and ease of testing.
35