core - IBM

advertisement
Viresh Paruthi, IBM Systems and Technology Group, Austin TX, USA
23 October 2010
Large-Scale Formal Application:
From Fact to Fiction
© 2010 IBM Corporation
IBM Systems and Technology Group
A Quick Trip down Memory Lane…
The Future…
Middle Ages
Early Times
Modern Era
2000
2002
2006
Advent of SFV, SEC, Parallel
Larger logics verified; higher coverage
Same “look and feel” as simulation
SEC key to many newer methodologies
Applied to small logics (~100s of registers)
Manual Intensive w/ dedicated resources
Required setting up of complex drivers
2010
Avoid duplicate work
Reusable methodologies / IP
Automation, automation…
Stay tuned!
Large scale FV application
Integrated approach / DLV
Out-of-the-box methodologies
High speed, capacity toolsets
SFV: Semi-formal verification
SEC: Sequential Equivalence Checking
DLV: Designer-level Verification
2
© 2010 IBM Corporation
IBM Systems and Technology Group
Outline
 Topics
 Context: High-end Server Microprocessors and Systems
 Formal Verification Methodology
Formal
H/W Acceleration
 Future Directions
Simulation
 Results
Verification
V. Paruthi, “Large-scale Application of Formal Verification – From Fiction to Fact,” FMCAD 2010
3
© 2010 IBM Corporation
IBM Systems and Technology Group
Topics
Formal methods have matured over years with myriad applications. In this talk...
What we will cover
– Deployment of Functional Formal Verification (FFV) on a large-scale
• Experiences from leveraging the technology extensively on high-end systems
– Application of Sequential Equivalence Checking (SEC) in an industrial setting
• New frontier enabling improved productivity and new methodologies
 What we will not cover
– Advances in formal technology to enable large-scale formal application
• Significant improvements to speed and capacity of FV tools over the years
– Combinational equivalence checking
• Mainstay of the industry to verify equivalence of transistor- and gate-level to RTL
4
© 2010 IBM Corporation
IBM Systems and Technology Group
Outline
 Topics
 Context: High-end Server Microprocessors and Systems
 Formal Verification Methodology
5
Formal
H/W Acceleration
 Future Directions
Simulation
 Results
Verification
© 2010 IBM Corporation
IBM Systems and Technology Group
45nm
IBM POWER Processors
65nm
130nm
RS64IV Sstar
.18um
.25um
.35um
RS64II North Star
RS64I Apache
BiCMOS
-Cobra A10
-64 bit
.22um
.5um
POWER3TM
-630
.35um
.72um
POWER2TM
P2SC
.25um
.35um
RSC
1.0um
.6um
604e
POWER1
-AMERICA’s
1990
6
POWER5TM
-SMT
.5um
.5um
Muskie A35
POWER7
-Multi-core
POWER6TM
-Ultra High Frequency
180nm
RS64III Pulsar
Next Gen.
-603
POWER4TM
-Dual Core
Major POWER® Innovation
-1990 RISC Architecture
-1994 SMP
-1995 Out of Order Execution
-1996 64 Bit Enterprise Architecture
-1997 Hardware Multi-Threading
-2001 Dual Core Processors
-2001 Large System Scaling
-2001 Shared Caches
-2003 On Chip Memory Control
-2003 SMT
-2006 Ultra High Frequency
-2006 Dual Scope Coherence Mgmt
-2006 Decimal Float/VSX
-2006 Processor Recovery/Sparing
-2009 Balanced Multi-core Processor
-2009 On Chip EDRAM
-601
1995
2000
2005
2010
* Dates represent approximate processor power-on dates, not system availability
© 2010 IBM Corporation
IBM Systems and Technology Group
The POWER7 Processor Chip
 Size:
567mm2
 Technology: 45nm lithography, Cu, SOI, eDRAM
 1.2B transistors
– Equivalent function of 2.7B
– eDRAM efficiency
 Eight processor cores
– 12 execution units per core
– 4 Way SMT per core
– 32 Threads per chip
– 256KB L2 per core
– Advanced Pre-fetching (Data and Instruction)
– Binary Compatibility with POWER6
 32MB on chip eDRAM shared L3
 Dual DDR3 Memory Controllers
– 100GB/s Memory bandwidth per chip
sustained
 Scalability up to 32 Sockets
– 360GB/s SMP bandwidth/chip
– 20,000 coherent operations in flight
7
* Statements regarding SMP servers
do not imply that IBM will introduce
a system with this capability.
© 2010 IBM Corporation
IBM Systems and Technology Group
POWER7: Core
 Execution Units
–
–
–
–
–
–
–
–
2 Fixed point units
2 Load store units
4 Double precision floating point
1 Vector unit
1 Branch
1 Condition register
1 Decimal floating point unit
6 Wide dispatch/8 Wide Issue
 Recovery Function Distributed
 1,2,4 Way SMT Support
 Out of Order Execution
DFU
ISU
Add
FXU
Boxes
VSX
FPU
IFU
CRU/BRU
LSU
 32KB I-Cache
 32KB D-Cache
 256KB L2
– Tightly coupled to core
8
256KB L2
© 2010 IBM Corporation
IBM Systems and Technology Group
POWER7: Flexibility and Adaptability
 Cores:
– 8, 6, and 4-core offerings with up to 32MB of L3 Cache
– Dynamically turn cores on and off, reallocating energy
– Dynamically vary individual core frequencies, reallocating energy
– Dynamically enable and disable up to 4 threads per core
 Memory Subsystem:
– Full 8 channel or reduced 4 channel configurations
 System Topologies:
– Standard, half-width, and double-width SMP busses supported
 Multiple System Packages
2/4s Blades and Racks
High-End and Mid-Range
Compute Intensive
Single Chip Organic
Single Chip Glass Ceramic
Quad-chip MCM
1 Memory Controller
3 4B local links
9
2 Memory Controllers
3 8B local links
2 8B Remote links
8 Memory Controllers
3 16B local links (on MCM)
© 2010 IBM Corporation
IBM Systems and Technology Group
POWER7: Reliability and Availability
Dynamic Oscillator
Failover
OSC0
OSC1
Fabric Interface
Fabric Bus Interface to other
Chips and Nodes
•ECC protected
•Node hot add /repair
Core Recovery
•Leverage speculative execution
resources to enable recovery
•Error detected in GPRs FPRs VSR,
flushed and retried
•Stacked latches to improve SER
BUF
BUF
BUF
Alternate Processor Recovery
•Partition isolation for core checkstops
BUF
L3 eDRAM
X8 Dimms
•64 Byte ECC on Memory
•Corrects full chip kill on X8 dimms
•Spare X8 devices implemented
•Dual memory chip failures do not cause outage
•Selective memory mirror capability to recover partition
from dimm failures
•HW assisted scrubbing
•SUE handling
•Dynamic sparing on channel interface
•PowerVM Hypervisor protected from full dimm failures
10
IO Hub
• ECC protected
• SUE handling
• Line delete
•Spare rows and columns
GX IO Bus
PCI
Bridge
• ECC protected
• Hot add
InfiniBand® Interface
•Redundant paths
PCI Adapter
* Statements regarding SMP servers
do not imply that IBM will introduce
a system with this capability.
© 2010 IBM Corporation
IBM Systems and Technology Group
Outline
 Topics
 Context: High-end Server Microprocessors and Systems
Formal
H/W Acceleration
 Results
Verification
Simulation
 Formal Verification Methodology
– Verification Technology / Progression
– Integrated Approach
– Sequential Equivalence Checking
 Future Directions
11
© 2010 IBM Corporation
IBM Systems and Technology Group
Verification Technology
RTL
(VHDL, Verilog)
Physical VLSI
Design Tools /
Custom Design
Driver/Checker
Assertions
PSL et al.
Language Compile
Model Build
Test Program
Generator
(GPro, X-Gen)
Cycle-Based
Model
C++
Testbench
Boolean
Equivalence
Check
(Verity)
12
(Semi-) Formal
Verification
(SixthSense,
RuleBase)
Constraint
Random
Testbench
Software Simulator
(MESA)
Hardware
Accelerator
(Awan)
Hardware
Emulator
© 2010 IBM Corporation
IBM Systems and Technology Group
Formal Verification at IBM
 Vision: Bring FV to the masses
– Common infrastructure → Trivial learning curve, resource savings
– Shared / reusable verification IP → High ROI, tight integration
– High scalability → Improved productivity
Amortize development cost → Higher value proposition
 Synergistic application alongside other verification disciplines
– Focused on the same problems
13
© 2010 IBM Corporation
IBM Systems and Technology Group
Formal Verification Technology
 Scalable Transformation-based Formal and Semi-formal Verification
– Synergistic logic simplifications → Exponential verification speedup
– Use symbolic exploration incompletely, to expose corner-case bugs
– Seamlessly integrated with existing verification framework
• No new languages; specs reused across FV + simulation + acceleration
14
© 2010 IBM Corporation
IBM Systems and Technology Group
Verification Progression
VPO Level
Hardware
Emulation
Hardware /
Firmware
Verification
VBU Level
System Level
Hardware
Acceleration
Chip Level
Element Level
Hardware
Verification
Software
Simulation
Unit Level
Formal
Verification
Block Level
VBU = Virtual Bring-Up (chip)
VPO = Virtual Power-On (system)
15
© 2010 IBM Corporation
IBM Systems and Technology Group
Verification Progression (1)
 Block Level
– Targeted “deep dive” driven by knowledge of the micro-architecture
• Symmetric Multi-Threading, Aggressive out-of-order execution…
– Formal/Semi-formal verification leveraged heavily at this level
• Work closely with designer – documentation may be lacking
– Small size
proofs, Controllability
corner cases
Design-Under-Test
Driver
entity ....
end ...;
architecture....
....
Block Level
Checker
...
end .....
Testbench
16
© 2010 IBM Corporation
IBM Systems and Technology Group
POWER7 Core Block Diagram
6 instructions
Global
Completion
Table
Instruction
Dispatch
Instruction
Decode
8 instructions
Instruction
Cache
Instruction Fetch
Buffer
Branch History
Table
Branch Information
Queue
Branch
Issue
Queue
Branch
Execution
Unit
Condition
Register
Issue
Queue
CR
Execution
Unit
Predecode
32KB, 4-way
Return
stack
Count
Cache
Instruction
Translation
Eight
instructions
Branch Prediction
VSX / FP / DFP / VMX / FX / LSU
Unified Issue Queue
Dual FP
VSX
Execution
Unit
Dual FP
VSX
Execution
Unit
FX
Execution
Unit
Load
Reorder
Queue
LS / FX
Execution
Unit
Store
Reorder
Queue
VMX
Permute
Execution
Unit
DFU
Decimal
Execution
Unit
32-entry
Segment
Lookaside
Buffer
512-entry
Translation
Lookaside
Buffer
(SLB)
(TLB)
Data
Translation
Second level translation
16B
Data Cache
VMX
Compute
Execution
Unit
Store
Data
Queue
FX
Execution
Unit
LS / FX
Execution
Unit
16B
32KB, 8-way
16B store data
32B cache sector
Advanced
Data Prefetch
Engine
Translation
Data
256KB, 8-way
L2 Cache
Load Miss
Queue
(outside the core)
Memory subsystem
17
© 2010 IBM Corporation
IBM Systems and Technology Group
Verification Progression (2)
 Functional Units
– Biased random tests directly against unit interface
• Transaction-, Instruction-based
– Formal/Semi-Formal verification applied selectively at this level
• Well-documented / simpler interfaces, reusable drivers / checkers
• Reference model-based end-to-end check
• Fixed- / Floating-point Unit, Memory Controller…
IEEE Floating
Point Spec
FLAVOR
Unit Level
Floating Point
Unit (FPU)
Full Proof
(dataflow)
Block Level
FLAVOR: FLoAting-point Verif EnviORment
18
© 2010 IBM Corporation
IBM Systems and Technology Group
FPU Datapath Verification
Operands
 Checks numerical correctness of FPU datapath
– E.g., Fused-multiply-add (FMA) instruction: A*B + C
 A “driver” issues an instruction into real, reference FPUs
– Restricted to a single instruction issued in an empty FPU
Reference
FPU
Real
FPU
=
 A “checker” compares the results of the two FPUs for equality
 Provides complete datapath coverage
– Remaining verification resources may focus on other aspects
C. Jacobi, K. Weber, V. Paruthi, and J. Baumgartner, “Automatic formal verification of fused multiply-add FPUs,” DATE 2005
19
© 2010 IBM Corporation
IBM Systems and Technology Group
Verification Progression (3 & 4)
 Element and Chip Level
– Transactions, pre-generated test programs (out-of-memory)
– (Semi-) formal verif used to verify multi-unit/core interactions, architectural aspects…
• Reuse RTL models with suitably abstracting blocks/units with behaviorals
• Multi-unit models with “heavy black-boxing”
• Hangs, stalls, bus protocols, arbitration…
Chip Level
Chiplet
Element Level
Perv
Core
Unit Level
Block Level
20
Perv
Nest
Unit1
Unit2
Unit1
Unit2
Unit3
Unit4
Unit3
Unit4
© 2010 IBM Corporation
IBM Systems and Technology Group
Arbitration / Deadlock Verification
r0(t)
Random
number
generator
r1(t)
r2(t)
 LFSR-based (random-priority) arbiters are used extensively
– Large programmable configurations manifests as tough bugs
– Liveness insufficient, request-to-grant bound crucial performance aspect
0
1
2
3
4
5
...
Arbiter
0
...
…
...
Arbiter
1
...
...
Arbiter
2
...
15
 Developed reusable method to quantify fairness properties1
– Decouple fairness and arbitration logic and check each independently
 Evolved a generalized bug hunting technique2
– Property strengthening to infer underapproximate abstractions
1. K. Kailas, V. Paruthi, B. Monwai, “Formal Verification of Correctness and Performance of Random Priority-based Arbiters,” FMCAD 2009
2. G. Auerbach, F. Copty, V. Paruthi, “Formal Verification of Arbiters using Property Strengthening and Underapproximations,” FMCAD 2010
21
© 2010 IBM Corporation
IBM Systems and Technology Group
Verification Progression (5)
 System Level
– Pre-generated test-programs
• Multiprocessor models/tests
• I/O chips interactions, asynchronous aspects
– Formal methods applied to study chip interactions
• Dedicated models, high level analysis…
System Level
Chip Level
Element Level
• Traffic flow, asynchronous interfaces, timing
protection windows, deadlocks…
P7
P7
P7
P7
P7
P7
P7
P7
P7
P7
P7
P7
Unit Level
Block Level
22
© 2010 IBM Corporation
IBM Systems and Technology Group
Protocol Analysis
(B) Snoops command
(C) Observer
(A) Issues command
 Standard approaches ineffective for verification of system-level aspects
 Automated protection time window calculation for bus protocol
– Enumerate chip interactions via geometry and routing constraints
 High-level (mathematical) analysis of potential deadlocks
– Analyzed message routing, arbitration deadlocks
M1
Wait
for
M2
Wait
for
M3
Wait
for
 High-level protocol modeling and model checking1
– Murphi model of on-chip interconnect protocol
1. X. Chen, S. German, and G. Gopalakrishnan, “Transaction based modeling and verification of hardware protocols,” FMCAD 2007
23
© 2010 IBM Corporation
IBM Systems and Technology Group
Verification Progression (6 & 7)
 VBU (virtual bring-up) Level
VPO Level
VBU Level
– On-the-fly generated test-programs (H/W exercisers)
– Bootstrap model from undefined initial state
• POR, RAS verification
System Level
 VPO (virtual power-on) Level
Chip Level
Element Level
– Initial Firmware Loading
• Hardware/firmware interaction verified
Unit Level
Block Level
24
© 2010 IBM Corporation
IBM Systems and Technology Group
Pervasive Logic Verification
 Logic to provide reliability, availability, and serviceability (RAS) features
– Intertwined with the mainline function
– Spans block, unit, element, chip boundaries
– Tough to verify – large design slices, sequentially deep logic, etc.
– Scan, BIST, trace and debug, power-on-reset, power management…
ETS
 FFV has demonstrated strength to verify pervasive logic
– Applied extensively at various levels of the hierarchy
– Expose the logic of interest and delete irrelevant logic
ETR
EAF
EAF
EAF
CPU CPU
CPU CPU
CPU CPU
Node1
Node2
Node3
ETR: External Time Reference
ETS: External Time Source
EAF: ETR Attachment Facility
T. Gloekler et. al. “Enabling large-scale pervasive logic verification through multi-algorithmic formal reasoning.” FMCAD 2006.
25
© 2010 IBM Corporation
IBM Systems and Technology Group
Quality Refinement Process
VPO Level
VBU Level
Because controllability, state coverage is higher, and cost
of a bug is lower, at lower levels :
 Every major bug find at higher level is treated as
escape of lower level
System Level
 Lower level team gets feedback to reproduce problems
Chip Level
Element Level
– Harden lower level environments
– Reproduce with targeted block-level checkers
• Proof with (semi-) formal verif environments
Unit Level
Block Level
26
© 2010 IBM Corporation
IBM Systems and Technology Group
Outline
 Topics
 Context: High-end Server Microprocessors and Systems
Formal
H/W Acceleration
 Results
Verification
Simulation
 Formal Verification Methodology
– Verification Technology / Progression
– Integrated Approach
– Sequential Equivalence Checking
 Future Directions
27
© 2010 IBM Corporation
IBM Systems and Technology Group
Integrated Approach: Design
i1
 Assertion-based Verification (ABV)
Designer-level Verification (DLV)
..
.
in
– Require designers to capture assumptions as verif objects (checkers)
• Accelerated debug, faster IP integration, documentation…
MUX
o
...
s1 sn
One-hot
– …and perform basic verification leveraging those
• High ROI: Improved productivity / cost / schedule, efficient use of resources
– Reuse events (checkers, coverage)
• Proof design events with FV
FV events / assumptions cross-checked
Simple
Driver
Assertions
Vhdl
Enables
Integrated
Checking
Complete
Driver
Enables
Stimulus
Simulation
H/W
Accel
Semi- Formal
Verification
Assertion-Based Verification
Designer-Level Verification
Block-Level Verification
28
© 2010 IBM Corporation
IBM Systems and Technology Group
Integrated Approach: Verification
 Better synergy with other verification disciplines
– Formal plans drawn collaboratively with design and simulation teams
– Optimized testplans via detailed reviews with simulation team
• Unified view of verification “coverage” inclusive of simulation and formal
 Formal team project manages global plan/priorities/resources
– In consultation with design and verification leadership
 Minimize duplicate work in verif disciplines
Book verification of logics in formal
– LRUs, Debug Bus, Mux-based networks…
29
© 2010 IBM Corporation
IBM Systems and Technology Group
High-level Modeling Support
entity e1 is
port (i1: in std_ulogic_vector(0 to 3);
we,re: std_ulogic;
o1: out std_ulogic_vector(0 to 3));
end;
 Raise level of abstraction of the testbench specification
 Provide rich set of convenience functions as VHDL support library
 Parameterized functions encapsulate commonly used logic constructs
architecture e1 of e1 is
signal ff: hl_fifo(fifo(0 to 3)(0 to 3));
begin
process (ALL)
begin
if (we = '1') then
fifo_push(ff, i1);
end if;
if (re = '1') then
fifo_pop(ff, o1);
end if;
end process;
end;
– Clocks generation (e.g., oscillator), edge detection (falling, rising)
– Vector processing functions – one hot, parity, hamming distance…
– Waveform drivers (wave, pulse), counters, delays, FIFO…
 PSL (VHDL) events managed as part of unified event management support
30
© 2010 IBM Corporation
IBM Systems and Technology Group
Outline
 Topics
 Context: High-end Server Microprocessors and Systems
Formal
H/W Acceleration
 Results
Verification
Simulation
 Formal Verification Methodology
– Verification Technology / Progression
– Integrated Approach
– Sequential Equivalence Checking
 Future Directions
31
© 2010 IBM Corporation
IBM Systems and Technology Group
Equivalence Checking – Combinational vs. Sequential
Equivalence Check
Logic
1
 Method to assess I/O equivalent behavior of two designs
init
Combinational Equivalence Check (CEC)
?
==
d1
init
s
d1
Logic
1
0?
d1
Logic
2
0?
d2
 Requires 1:1 state elements mapping
 Cannot handle sequential behavior
• Validates next-state functions and outputs
w/r/t cutpoints – may cause false mismatches
 Well-established technology
32
init
{x0, x1, …}
Logic
2
d2
Sequential Equivalence Check (SEC)
Logic
1
x
Logic
2
{0, 0, …}?
d2
init
 Supports arbitrary design changes (I/O equivalent)
• Obviates need for 1:1 latch/hierarchy corresp
• Retiming, power saving, redundant logic…
 Explores sequential behavior of the designs
• Computationally more complex than CEC
© 2010 IBM Corporation
IBM Systems and Technology Group
Sequential Equivalence Checking Set-up
Information from designer:
Process outputs:
OLD Design
Simulation
Assertions
SixthSense
Sequential
Equivalence
Checker
NEW Design
Initialization
Data
Input
Constraints
Initialized
OLD Design
Cross-checked
With simulation
Proof of
Equality
Mismatch
Trace
Debugged
by designer
Outputs
=?
Inputs
Initialized
NEW Design
 SEC leveraged effectively to verify non-functional design transformations
– Technology made available in the hands of designers
• Push-button set-up automatically applies clock / pervasive settings
– Retiming, backward-compatibility (mode bits), clock-gating, etc.
 Proof conversion of external IP to IBM clocking / latching methodology
 Enabled key methodologies as a reasoning engine
– Clock-, power-gating verification1, soft errors…
1. C. Eisner, A. Nahir and K. Yorav, “Functional verification of power gated designs by compositional reasoning,” CAV 2008
33
© 2010 IBM Corporation
IBM Systems and Technology Group
Sequential Equivalence Checking – Hierarchical Decomposition
Cross-checked
with simulation
Lower levels
black boxed
Chip
Unit 1
Unit m
...
different at
each level
Wrapper 1
Macro 1
Macro 2
Macro 3
Design hierarchy
Lower levels
black boxed
Leaf level
Macro n
...
Lower levels
black boxed
Constraints/
Reset files
 End-to-end SEC process used to verify (entire) design remaps
– Invaluable productivity advantage
• No simulation
Huge resource savings, fast turnaround
 Hierarchical decomposition starting at macros all the way to chip level
– Allow designers to deal with logic partitions they are familiar with
 Avoid potential tool (SixthSense) capacity issues
– RTL hierarchy offers “natural” boundaries – any level (e.g. group of blocks)
34
© 2010 IBM Corporation
IBM Systems and Technology Group
Outline
 Topics
 Context: High-end Server Microprocessors and Systems
 Formal Verification Methodology
35
Formal
H/W Acceleration
 Future Directions
Simulation
 Results
Verification
© 2010 IBM Corporation
IBM Systems and Technology Group
Formal Application Results: POWER7
 Largest and most successful ever application of formal on any IBM project
– Applied at various hierarchies spanning all areas of the chip
• Significant progress in designer owned FV environments
– Found large numbers of documented and undocumented bugs
• Many hard-to-hit-in-sim bugs
 Developed new (reusable) techniques to verify different logics
– Arbitration, LRUs, Linked Lists, ECC…
 Synergistic application as a mainstream verification technology
 Technology of choice to root cause lab bugs, and verify fixes thereof
– Large numbers found as quick extensions of existing FV environments
 Leveraged Sequential Equivalence Checking extensively
– Run by designers / end-to-end process, verify external IP, new methodologies…
36
© 2010 IBM Corporation
IBM Systems and Technology Group
POWER7 Documented Defects
Code / Design Review
Formal Verification*
Unit Verification
Element Verification
Chip / System Mainline
Verification
Performance Verification
Chip Pervasive Verification
Other Verification
* Does NOT include SEC defects and
bugs found by designers leveraging FFV
37
© 2010 IBM Corporation
IBM Systems and Technology Group
Outline
 Topics
 Context: High-end Server Microprocessors and Systems
 Formal Verification Methodology
38
Formal
H/W Acceleration
 Future Directions
Simulation
 Results
Verification
© 2010 IBM Corporation
IBM Systems and Technology Group
Scaling Formal Testbenches
 Wide-spread adoption of FV requires scalability to simulation-sized testbenches
– Easier to specify well-documented functional units vs. components thereof
• Simpler (constraints-based) drivers – higher productivity
– Synthesizable testbenches – reuse / portable across verification disciplines
– System level issues a big concern in multi-processor systems
• Simulation cannot produce traffic seen by the real system
Driver
Block 1
Driver
Driver
Block 1 Checker
(Properties)
Block 2
Driver
Block 2 Checker
(Properties)
(Sub-) Unit
Driver
Block 1
Block 2
Driver
Testbench
Components
Design
Components
39
Block 1 Checker
(Properties)
Block 2 Checker
(Properties)
© 2010 IBM Corporation
IBM Systems and Technology Group
Verification Templates
 “Template” is a blueprint to verify a certain type of logic
– A cook-book approach / recipe to check complex RTL implementations
– Predictable, portable, repeatable, teachable…
– FPU: Architecture-based case-splits against reference model → Reusable
– L2, MC, LSU, ISU…?
Functional Verification
Testbench
Driver, Checker
We’re broken
here
We had great
Success here
Abstracted Model
Logic Design (e.g., VHDL)
e.g. out-of-order pipe,
cache-coherency protocol,
muxout <=
gate_and(cond, d1(0 to 63)) or
gate_and(not cond, d2(0 to 63));
C. Jacobi, “Formal Verification in Industry – Current State and Future Trends,” FMCAD 2006
40
© 2010 IBM Corporation
IBM Systems and Technology Group
Verification of Complex Math Functions
Modulo reduction
state diagram
idle
Input A & N
 Combine high-level decision procedures and bit-level solvers
Theorem
proving
combines
results
001
Shift amt calc
ACL2
Theorem
Prover
Property
Compilation
Checker/
Driver
Property
True/False
Align data
020
Subtract
while shifting
DUT
If N > A
Other
Decision
Procedure
008
Bit-level solver
200
Debug trace
Result = A mod N
– Decompose check into invariants proven of each state transition with a bit-level solver,
and combine results using a theorem prover to prove desired property
– Powerful ally to verify wide range of complex math functions
• FP Division, Sqrt, Cryptography Asymmetric Math Functions (AMF) such as Modular Reduction…
J. Sawada and E. Reeber, “Acl2six: A hint used to integrate a theorem prover and an automated verification tool,” FMCAD 2006
J. Sawada, “Automatic verification of estimate functions with polynomials of bounded functions,” FMCAD 2010
41
© 2010 IBM Corporation
IBM Systems and Technology Group
Formal Design
 Correct-by-construction design
– Leverage FV feedback early in design process
• Proof high-level specification and verify implementation against it
– Develop a rich set of assertions during design process
• Verified of the specification as well as the implementation
Equiv
Check
Schematic
Optimized
RTL
Equiv
Check
High-level
Model
Parser
Theory solver
42
Specialized
theory
© 2010 IBM Corporation
IBM Systems and Technology Group
Extensions
Core #1
Core #2
L2 / L3
Cache
L2 / L3
Cache
Core #8
........
L2 / L3
Cache
Fabric
 Create automated reusable IP / methodologies
MC
MC
– “Off-the-shelf” implementation agnostic (library of) checkers1
– Characterize logics with functional and/or structural properties
• Employ vacuity and mutation coverage concepts to gauge effectiveness
 Leverage FV to check aspects beyond functional verification
– Verification transcends logic function – performance, throughput, power…
• Verify arbiter performance, throughput across (asynchronous) interfaces
– Employ FFV and SEC as general purpose reasoning engines
• SEC – infer clock-gating opportunities, soft-error analysis, sequential synthesis…
• FFV – optimize data structure logic (e.g. size, area), infer machine settings…
G. Auerbach, H. Chockler, S. Moran and V. Paruthi, “Functional vs. Structural Verification – case study,” Submitted to DATE 2011
43
© 2010 IBM Corporation
IBM Systems and Technology Group
Conclusion
 FV has matured to become a core verification discipline
– Integrated approach with design + verification
– Leverage by the masses
 FV has had a significant and measurable impact
– Improved design quality
minimize bug escapes to silicon
– Boost design and verification productivity
 Formal Application is evolving towards a broader and strategic focus
– New application domains, reusable verification IP, innovative solutions
– Aided by improved speed and capacity of formal and semi-formal toolset
 Large-scale application of Formal Verification is a fact!
44
© 2010 IBM Corporation
IBM Systems and Technology Group
Acknowledgements
 Methodology
– Wolfgang Roesner
– Klaus-Dieter Schubert
– Jason Baumgartner
– Ali El-Zein
 Execution
– Gadiel Auerbach
– Mark Firstenberg
– Paul Roessler
– Jo Lee
– Shiri Moran
– David Levitt
– Fady Copty
– Steven German
– Krishnan Kailas
– Jun Sawada
45
© 2010 IBM Corporation
IBM Systems and Technology Group
46
© 2010 IBM Corporation
Viresh Paruthi, IBM Systems and Technology Group, Austin TX, USA
23 October 2010
Back-Up
© 2010 IBM Corporation
POWER7: Verification Overview
Different
Timescales
Hardware
Accelerator
SMT4
Testcase
Generation
Sequential
Equivalence
Checking
Chip/System
Chip/System
Pervasive
FXU
L2
EndPoints
Formal Verification
PC
Coverage
L3 Verification PervNetwork
Constraint Random
VSU/DFU
Interconnect
Access
IFU
MCU
Bridge
LSU
IO
PwrMgmtCtrl
Result
Predictio
n
48
System Bringup
(HW/SW Co-Simulation)
Nest
Chip Bringup
(BIST, Clock control, Power-On Reset, ...)
Core
Structural
Checking
© 2010 IBM Corporation
Case-Splitting
49
© 2010 IBM Corporation
Download