VLSI Design Flow (Verification)
VLSI Design Flow (Verification)
Verification
Verification is performed to ensure that the design works according to the
specified functionality. It is a critical phase that is carried out multiple times
throughout the VLSI design flow. Verification must be repeated whenever the
design undergoes changes. If verification fails, remedial action can be taken
immediately. A significant portion of the VLSI design effort is spent on
verification.
Functional Verification: Simulation
o Simulation: This technique ensures the functional correctness of the
RTL using test vectors.
▪ Test Vectors: Sequences of zeros/ones with associated timing
information.
▪ The simulator obtains the response for the given RTL.
▪ The expected output is computed using another model (e.g., C, C++,
MATLAB).
▪ The output response is compared with the expected response.
▪ Merits: Fast and versatile.
▪ Demerits: Incompleteness.
Functional Verification: Model Checking
o Model Checking: This technique ensures the functional correctness of
the RTL using formal methods.
▪ Formal Methods: Use formal mathematical tools such as
deductions to prove properties.
▪ Once a property is proven mathematically, it holds for all test
stimuli.
▪ Merits: Completeness.
▪ Demerits: Computationally difficult.
Property Checking/Model Checking
o Define properties that must be satisfied for a given specification.
o Use formal methods to check whether properties are being satisfied in
the implemented design RTL.
Combinational Equivalence Checking (CEC)
o Establishes the functional equivalence of two models using formal
methods.
o Required whenever non-trivial design changes occur.
o Performed multiple times in the design flow.
Static Timing Analysis (STA)
o Synchronicity: Ensures that data launched by a flip-flop gets captured
in the sequentially adjacent flip-flop in the next clock cycle.
o STA: Ensures deterministic synchronous timing behaviour in a circuit.
▪ Considers the worst-case behaviour (may be pessimistic) but
always ensures timing safety.
▪ Performed multiple times in the design flow.
Physical Design Verification
o Physical Verification: Checks a set of rules during physical design
before sending the layout to the foundry.
o Design Rule Check (DRC): Rules defined by the foundries based on
manufacturing technology. All DRC violations must be fixed before
sending the layout to the foundry.
o Electrical Rule Check (ERC): Ensures proper connectivity, such as no
short circuits between distinct signal lines.
o Layout vs. Schematic (LVS) Check: Ensures that the layout is
functionally equivalent to the original netlist.
Rule Checking
o RTL: Ensures that RTL constructs used in the design have no
synthesis/simulation issues down the flow.
o Constraints: Ensures that no conflicting constraints are applied and no
constraints are missing.
o Netlist: Ensures that the connectivity of instances does not cause any
issues down the flow.
Testing
Verification: Ensures that the GDS represents the circuit correctly and meets
the original specifications.
Testing: Ensures that the fabricated chip does not have any manufacturing
defects. Testing is crucial during design to ensure: