Uploaded by Hao Ngo

1. introduction

advertisement
VERIFICATION
ASIC Design Flow
Overview
Lecturer: hungpt@uit.edu.vn
2
ASIC Design Flow
Descriptions
◼ Specification:
Goals and constraints of the design
Functionality (what will chip do)
Performance like speed and power
Technology constraints like size and space
Fabrication technology and design techniques
◼ RTL:
This is called Logic Design, it is implemented using logic
representation
◼ Finite state machines
◼ Combinational logic
◼ Sequential login
Lecturer: hungpt@uit.edu.vn
3
ASIC Design Flow
Descriptions
RTL is expressed usually in Verilog or VHDL
◼ Gate Level Netlist
This step is called Logic/RTL synthesis. This is done by
Synthesis Tools
◼ Design Compiler (Synopsys)
◼ RTL Compiler (Cadence)
A synthesis tool takes an RTL and a standard cell library as
input and produces a gate-level netlist as output
Lecturer: hungpt@uit.edu.vn
4
Hardware Verification
What is verification?
◼ Verification is a process used to demonstrate the functional
correctness of a design. It is the act of ensuring that the logic
design conforms to the specifications.
Transformation
Verification
◼ Also called logic verification or simulation.
Lecturer: hungpt@uit.edu.vn
5
Hardware Verification
Functional verification
◼ Simulation
HDL Design
Directed tests
Constrained random tests
Spec
RTL
Testbench
◼ Formal methods
Model checking
Equivalence checking
Synthesis
Gates
RTL
Equivalence Checking
Lecturer: hungpt@uit.edu.vn
6
Hardware Verification
Verification VS. Test
◼ Two often confused
◼ Purpose of test is to verify that the design was
manufactured properly
◼ Verification is to ensure that the design meets the
functionality intent
HW Design
Fabrication
Specification
Silicon
Net list
Verification
Lecturer: hungpt@uit.edu.vn
Test
7
Hardware Verification
Why do Verification?
◼ Cost of bugs over time
Bugs found at the block level have little cost
Bugs found at the system level may effect the time-to-market
Bugs found after fabrication require an expensive re-spin
Bugs found by customers can cost hundreds of millions and
worst of all – Reputation
◼ In design 60% - 80% time spent in verification
Lecturer: hungpt@uit.edu.vn
8
Hardware Verification
Who does Verification?
◼ Designers may begin the process
◼ Verification engineers manage and complete the process
◼ Verification engineers may outnumber designers 2-1
Lecturer: hungpt@uit.edu.vn
9
Hardware Verification
Why is Verification hard?
◼ How do you know when you are done?
◼ How do you know that your specification is complete?
◼ How do you verify the verifier?
Lecturer: hungpt@uit.edu.vn
10
Functional Verification Approaches
Overview
◼ Function verification is primarily done via simulation
Black-Box Approach
White-Box Approach
Gray-Box Approach
Lecturer: hungpt@uit.edu.vn
11
Functional Verification Approaches
Black-Box
◼ The verifier has access to input, output and device function
◼ Given a set of inputs the verifier checks for correct outputs
◼ To fully verify a black-box you must show that function is correct
for all combinations of inputs
◼ Full verification via black-box testing is impractical for any real
design
Inputs
Some piece of logic
design written in
VHDL
Lecturer: hungpt@uit.edu.vn
Outputs
12
Functional Verification Approaches
white-Box
◼ The verifier has access (and uses) internal signals during
verification
◼ This is common during block-level verification
dc_stall
xreset
wb_clear_val
0
id_old_new_val
id_instr_val
0
1
1
0
ex_instr_val
true_instr_val
(for EX)
ex_stall
Lecturer: hungpt@uit.edu.vn
Output vector
Input vector
wb_clear_val
ex_old_new_val
13
Functional Verification Approaches
Gray-Box
◼ The verifier has access (and uses) a limited number of
internal signals during verification
◼ This is the reality for most verification
◼ Knowing the architecture of the DUT enables you to
write better test
Lecturer: hungpt@uit.edu.vn
14
Verification Flow
Goals
◼ Ensure conformance with specification
 But avoid false positives
Lecturer: hungpt@uit.edu.vn
15
Verification Flow
Key
◼ The verification engineer should not participate in the
logic design of the DUT
◼ Designers may not think of all failing scenarios
◼ Verification engineer have a different perspective on the
design
◼ Verification engineers must understand the function, but
not the implementation
Lecturer: hungpt@uit.edu.vn
16
Verification Flow
Do
◼ Talk to the designer to understand the function of the
design
◼ Think of situations the designer neglected
◼ Focus on the corner case or exotic scenarios
◼ Focus on concurrent event
◼ Think about the all the pieces of the design you need to
verify
Lecturer: hungpt@uit.edu.vn
17
Verification Flow
A typical flow
◼ Devise a potential bug
◼ Write a test-case to expose the bug
◼ Run the simulator with the test-case
◼ Check the simulation result
◼ If the test has uncovered a bug
Verify the bug
Work with designer to fix the bug
Lecturer: hungpt@uit.edu.vn
18
Verification Flow
High level flow
ASIC Spec
Verification
Plan
Identify
approach
Level of
Verification
Level of
abstraction
Testbench
development
Create
enviroment
Create
Test cases
RTL
Handoff
Coverage
Goals satisfied
Stop
Run and
Debug tests
Strategy for
correctness
Lecturer: hungpt@uit.edu.vn
19
Conclusion
◼ Verification is on critical path
◼ Want to minimize verification time
Using new tools
methodologies
Lecturer: hungpt@uit.edu.vn
20
Download