SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
1JAA, 3/21/2007JAA, 3/21/2007
Practical Formal –Practical Formal –
Mainstream Formal for theMainstream Formal for the
Rest of UsRest of Us
Jacob A. AbrahamJacob A. Abraham
DVClub MeetingDVClub Meeting
Austin, TexasAustin, Texas
March 21, 2007March 21, 2007
2JAA, 3/21/2007JAA, 3/21/2007
Is Formal Verification Mainstream?
Formal Equivalence Checking
Only up to the RT Level
What about Formal Property Checking?
Can it deal with properties used in a simulation-based
flow?
●
What characteristics prevent formal verification from
being more widely used?
Need to deal with complex designs
Seamlessly fit into the design flow
3JAA, 3/21/2007JAA, 3/21/2007
Directions to make Formal Mainstream
Engines which can deal with real designs
Multiple clock domains
Tristate signals (not Boolean)
●
Deal with design descriptions at higher levels
Reduce complexity of analysis
Static analysis of design description will scale (unlike a
functional analysis)
●
Automated techniques which fit into the design flow
No distractions when concentrating on design
4JAA, 3/21/2007JAA, 3/21/2007
ATPG Engines to Check Properties
Some work in checking safety properties
Detecting “stuck-at-0” fault on p
is equivalent to establishing EFp
Circuit
p
Verify design at the lowest level possible:
example, ATPG level
Deal with tri-states, multiple clocks, etc.
5JAA, 3/21/2007JAA, 3/21/2007
RTL to RTL Equivalence Checking
 Use Term Rewriting Systems (TRS)
 Significant success with RTL “Term” level
reductions
 Verification of arithmetic circuits at the RTL
level using term rewriting
 RTL to RTL equivalence checking
 Verified large multiplier designs like Booth,
Wallace Tree and many optimized multipliers
using this rewriting technique
6JAA, 3/21/2007JAA, 3/21/2007
RTL Equivalence Using TRSs
Golden
RTL
Revised
RTL
Revised
TRS
Golden
TRS
Equivalence Proof
VTrans
VTrans
Vprover
Translation
Translation
7JAA, 3/21/2007JAA, 3/21/2007
Why it Works
Congruence between RTL-states (terms) of two
designs, given the RTL state-transition graph
(TRS)
Equivalence is proved by showing that one term
can be rewritten to the other
SAT solvers, STE engines, gate-level equivalence
checkers, etc., as proof engines
Comparison points in RTL-state space
Congruence at every comparison point
Cover entire data space of the designs
8JAA, 3/21/2007JAA, 3/21/2007
Results on Multipliers
UnfinishedUnfinished60s64 X 64
UnfinishedUnfinished40s32 X 32
UnfinishedUnfinished25s16 X 16
16s18s18s8 X 8
9s10s14s4 X 4
Commercial
Tool 2
Commercial
Tool 1
VERIFIREWallace Tree
9JAA, 3/21/2007JAA, 3/21/2007
Sequential Equivalence Checking:
Using Sequential Compare Points
Introduce notion of sequential compare points
Sequential compare points are two-tuple
entities
Identification w.r.t. relative position in time
Identification w.r.t. space (data or variables)
Co-ordinates on space-time axis of both
designs being compared
Exactly model the sequential behavior of
designs
10JAA, 3/21/2007JAA, 3/21/2007
Equivalence Checking Using Sequential
Compare Points
Variables of interest (observables) obtained
from user/block diagram
Typically include primary outputs
Can also include relevant intermediate variables
Symbolic expressions obtained for
observables assigned in a given cycle
Symbolic expressions compared at sequential
compare points
Comparison using a SAT solver in this work
Other Boolean level engines can also be used
11JAA, 3/21/2007JAA, 3/21/2007
Example: Viterbi Decoder
Part of digital radio (DRM) in System C
DRM SoC partitioned to implement Viterbi
decoder as a hardware accelerator
System C specification
Basic model implementing Viterbi algorithm
No optimizations
Viterbi Verilog RTL implementations
First implementation: Optimized for speed
Second implementation: Optimized for area
12JAA, 3/21/2007JAA, 3/21/2007
Results
13JAA, 3/21/2007JAA, 3/21/2007
Antecedent Conditioned Slicing for
Verification
• Slicing part of design irrelevant to property being
verified
• Safety Properties of the form
• G (antecedent => consequent)
• Use antecedent to specify states in which we are
interested
• We do not need to preserve program executions
where the antecedent is false
• The resulting abstraction is called an antecedent
conditioned slice
14JAA, 3/21/2007JAA, 3/21/2007
Example Properties of USB 2.0 Core
G((crc5err) V match) => send_token))
If a packet with a bad CRC5 is received, or there is an
endpoint field mismatch, the token is ignored
G((state == SPEED_NEG_FS) => X((mode_hs) ^
(T1_gt_3_0ms) => (next_state ==
RES_SUSPEND))
If the machine is in the speed negotiation state, then in
the next clock cycle, if it is in high speed mode for more
than 3 ms, it will go to the suspend state
G((state == RESUME_WAIT) ^ (idle_cnt_clr)
=>F(state == NORMAL))
If the machine is waiting to resume operation and a
counter is set, eventually (after 100 mS) it will return to
normal operation
15JAA, 3/21/2007JAA, 3/21/2007
Results on Temporal USB Properties
CPU Seconds, 450 MHz dual UltraSPARC-II with 1 GB RAM
16JAA, 3/21/2007JAA, 3/21/2007
Verification of Processors using
Antecedent Conditioned Slicing
 Verification of single-instruction issue, multi-stage
pipelined processors
 Antecedent conditioned slicing provides an
automatic decomposition strategy
 Individual “instruction machines”
■ Leverage automatic power of model checking
■ Provide a different notion of verification
 Verification of RTL model of off-the-shelf processor
 Verified all the instructions of the OR1200
embedded processor
17JAA, 3/21/2007JAA, 3/21/2007
Single Instruction Verification
P0=P i1
it+1
in
P1
Pt+1
Pn
Model
Checker
h
Antecedent
Conditioned Slice
get_conditioned_slice
(P0, < i1, e, Vh>)
18JAA, 3/21/2007JAA, 3/21/2007
Results of OR1200 Verification
CPU Seconds, 3 GHz Pentium 4 processor with 1 GB RAM
27.83l.srlSHF/ROT
2377126.81l.sllSHF/ROT
3094138.32l.sdLSU
2887333.91l.lwsLSU
48627212.27l.mtsprSPRS
50696226.97l.mfsprSPRS
2691927.93l.rorSHF/ROT
2910435.85l.ldLSU
Memory
Usage (KB)
SMV time
(seconds)
InstructionsInstruction
Class
23771

Mais conteúdo relacionado

Mais procurados

Industrial Facility Design
Industrial Facility DesignIndustrial Facility Design
Industrial Facility DesignUmar Yazdani
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithmsDanish Javed
 
linear algebra in control systems
linear algebra in control systemslinear algebra in control systems
linear algebra in control systemsGanesh Bhat
 
13. Query Processing in DBMS
13. Query Processing in DBMS13. Query Processing in DBMS
13. Query Processing in DBMSkoolkampus
 
Parallel Algorithms- Sorting and Graph
Parallel Algorithms- Sorting and GraphParallel Algorithms- Sorting and Graph
Parallel Algorithms- Sorting and GraphDr Shashikant Athawale
 
SERENE 2014 Workshop: Paper "Modelling Resilience of Data Processing Capabili...
SERENE 2014 Workshop: Paper "Modelling Resilience of Data Processing Capabili...SERENE 2014 Workshop: Paper "Modelling Resilience of Data Processing Capabili...
SERENE 2014 Workshop: Paper "Modelling Resilience of Data Processing Capabili...SERENEWorkshop
 
Learning ANSYS Fluent R19 using modeling a Fluidized Bed with nano particles
Learning ANSYS Fluent R19 using modeling a Fluidized Bed with nano particles Learning ANSYS Fluent R19 using modeling a Fluidized Bed with nano particles
Learning ANSYS Fluent R19 using modeling a Fluidized Bed with nano particles Hamed Hoorijani
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithmsguest084d20
 
Cross-Validation and Big Data Partitioning Via Experimental Design
Cross-Validation and Big Data Partitioning Via Experimental DesignCross-Validation and Big Data Partitioning Via Experimental Design
Cross-Validation and Big Data Partitioning Via Experimental Designdans_salford
 

Mais procurados (12)

Industrial Facility Design
Industrial Facility DesignIndustrial Facility Design
Industrial Facility Design
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithms
 
08. graph traversal
08. graph traversal08. graph traversal
08. graph traversal
 
DEA
DEADEA
DEA
 
linear algebra in control systems
linear algebra in control systemslinear algebra in control systems
linear algebra in control systems
 
13. Query Processing in DBMS
13. Query Processing in DBMS13. Query Processing in DBMS
13. Query Processing in DBMS
 
Parallel searching
Parallel searchingParallel searching
Parallel searching
 
Parallel Algorithms- Sorting and Graph
Parallel Algorithms- Sorting and GraphParallel Algorithms- Sorting and Graph
Parallel Algorithms- Sorting and Graph
 
SERENE 2014 Workshop: Paper "Modelling Resilience of Data Processing Capabili...
SERENE 2014 Workshop: Paper "Modelling Resilience of Data Processing Capabili...SERENE 2014 Workshop: Paper "Modelling Resilience of Data Processing Capabili...
SERENE 2014 Workshop: Paper "Modelling Resilience of Data Processing Capabili...
 
Learning ANSYS Fluent R19 using modeling a Fluidized Bed with nano particles
Learning ANSYS Fluent R19 using modeling a Fluidized Bed with nano particles Learning ANSYS Fluent R19 using modeling a Fluidized Bed with nano particles
Learning ANSYS Fluent R19 using modeling a Fluidized Bed with nano particles
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithms
 
Cross-Validation and Big Data Partitioning Via Experimental Design
Cross-Validation and Big Data Partitioning Via Experimental DesignCross-Validation and Big Data Partitioning Via Experimental Design
Cross-Validation and Big Data Partitioning Via Experimental Design
 

Destaque

Mídias independentes e a Ética do Discurso
Mídias independentes e a Ética do DiscursoMídias independentes e a Ética do Discurso
Mídias independentes e a Ética do DiscursoTúlio Madson Galvão
 
Ejercicios algoritmos
Ejercicios algoritmosEjercicios algoritmos
Ejercicios algoritmosKatz1234
 
Oracle Big data at work
Oracle Big data at workOracle Big data at work
Oracle Big data at worksolarisyougood
 
Adam J. Crank Resume June 2013
Adam J. Crank Resume June 2013Adam J. Crank Resume June 2013
Adam J. Crank Resume June 2013adam crank
 
Propiedades da matéria raquel c33
Propiedades da matéria  raquel c33Propiedades da matéria  raquel c33
Propiedades da matéria raquel c33emefguerreiro
 
Continuum™ for Sueding Textiles
Continuum™ for Sueding TextilesContinuum™ for Sueding Textiles
Continuum™ for Sueding Textilesmarcpoirier57
 
Pontuacao dia-dos-pais
Pontuacao dia-dos-paisPontuacao dia-dos-pais
Pontuacao dia-dos-paisBay Market
 
AWS & Intel: A Partnership Dedicated to Cloud Innovations
AWS & Intel: A Partnership Dedicated to Cloud InnovationsAWS & Intel: A Partnership Dedicated to Cloud Innovations
AWS & Intel: A Partnership Dedicated to Cloud InnovationsAmazon Web Services
 
A Hybrid Approach for Personalized Recommender System Using Weighted TFIDF on...
A Hybrid Approach for Personalized Recommender System Using Weighted TFIDF on...A Hybrid Approach for Personalized Recommender System Using Weighted TFIDF on...
A Hybrid Approach for Personalized Recommender System Using Weighted TFIDF on...Editor IJCATR
 
Mobil i̇letisimteknolojileri - 3hafta
Mobil i̇letisimteknolojileri - 3haftaMobil i̇letisimteknolojileri - 3hafta
Mobil i̇letisimteknolojileri - 3haftaNilgun Ozdamar
 
Different kinds of essay
Different kinds of essayDifferent kinds of essay
Different kinds of essayjosphine89
 
Different kinds of paragraphs
Different kinds of paragraphsDifferent kinds of paragraphs
Different kinds of paragraphsNaam95
 
Toefl practice 1
Toefl practice 1Toefl practice 1
Toefl practice 1dababho
 

Destaque (20)

Mídias independentes e a Ética do Discurso
Mídias independentes e a Ética do DiscursoMídias independentes e a Ética do Discurso
Mídias independentes e a Ética do Discurso
 
Ejercicios algoritmos
Ejercicios algoritmosEjercicios algoritmos
Ejercicios algoritmos
 
Oracle Big data at work
Oracle Big data at workOracle Big data at work
Oracle Big data at work
 
Adam J. Crank Resume June 2013
Adam J. Crank Resume June 2013Adam J. Crank Resume June 2013
Adam J. Crank Resume June 2013
 
resume
resumeresume
resume
 
Diseños sarón
Diseños sarónDiseños sarón
Diseños sarón
 
Propiedades da matéria raquel c33
Propiedades da matéria  raquel c33Propiedades da matéria  raquel c33
Propiedades da matéria raquel c33
 
Las tic
Las ticLas tic
Las tic
 
Continuum™ for Sueding Textiles
Continuum™ for Sueding TextilesContinuum™ for Sueding Textiles
Continuum™ for Sueding Textiles
 
Presentación final
Presentación finalPresentación final
Presentación final
 
Pontuacao dia-dos-pais
Pontuacao dia-dos-paisPontuacao dia-dos-pais
Pontuacao dia-dos-pais
 
AWS & Intel: A Partnership Dedicated to Cloud Innovations
AWS & Intel: A Partnership Dedicated to Cloud InnovationsAWS & Intel: A Partnership Dedicated to Cloud Innovations
AWS & Intel: A Partnership Dedicated to Cloud Innovations
 
A Hybrid Approach for Personalized Recommender System Using Weighted TFIDF on...
A Hybrid Approach for Personalized Recommender System Using Weighted TFIDF on...A Hybrid Approach for Personalized Recommender System Using Weighted TFIDF on...
A Hybrid Approach for Personalized Recommender System Using Weighted TFIDF on...
 
Professional Development Programme for teachers of English
Professional Development Programme for teachers of EnglishProfessional Development Programme for teachers of English
Professional Development Programme for teachers of English
 
Mobil i̇letisimteknolojileri - 3hafta
Mobil i̇letisimteknolojileri - 3haftaMobil i̇letisimteknolojileri - 3hafta
Mobil i̇letisimteknolojileri - 3hafta
 
Different kinds of essay
Different kinds of essayDifferent kinds of essay
Different kinds of essay
 
Different kinds of paragraphs
Different kinds of paragraphsDifferent kinds of paragraphs
Different kinds of paragraphs
 
How to teach grammar
How to teach grammarHow to teach grammar
How to teach grammar
 
rajkumar.doc
rajkumar.docrajkumar.doc
rajkumar.doc
 
Toefl practice 1
Toefl practice 1Toefl practice 1
Toefl practice 1
 

Semelhante a Practical Formal: Mainstream Formal for the Rest of Us

Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...
Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...
Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...IRJET Journal
 
My Postdoctoral Research
My Postdoctoral ResearchMy Postdoctoral Research
My Postdoctoral ResearchPo-Ting Wu
 
Smpant Transact09
Smpant Transact09Smpant Transact09
Smpant Transact09smpant
 
Oracle GoldenGate 12c CDR Presentation for ECO
Oracle GoldenGate 12c CDR Presentation for ECOOracle GoldenGate 12c CDR Presentation for ECO
Oracle GoldenGate 12c CDR Presentation for ECOBobby Curtis
 
Prelim Slides
Prelim SlidesPrelim Slides
Prelim Slidessmpant
 
A Verified Modern SAT Solver
A Verified Modern SAT SolverA Verified Modern SAT Solver
A Verified Modern SAT SolverKatie Naple
 
CS 542 -- Query Execution
CS 542 -- Query ExecutionCS 542 -- Query Execution
CS 542 -- Query ExecutionJ Singh
 
Presentation_Parallel GRASP algorithm for job shop scheduling
Presentation_Parallel GRASP algorithm for job shop schedulingPresentation_Parallel GRASP algorithm for job shop scheduling
Presentation_Parallel GRASP algorithm for job shop schedulingAntonio Maria Fiscarelli
 
2007 Tidc India Profiling
2007 Tidc India Profiling2007 Tidc India Profiling
2007 Tidc India Profilingdanrinkes
 
Approaches to online quantile estimation
Approaches to online quantile estimationApproaches to online quantile estimation
Approaches to online quantile estimationData Con LA
 
Iaetsd march c algorithm for embedded memories in fpga
Iaetsd march c algorithm for embedded memories in fpgaIaetsd march c algorithm for embedded memories in fpga
Iaetsd march c algorithm for embedded memories in fpgaIaetsd Iaetsd
 
design-compiler.pdf
design-compiler.pdfdesign-compiler.pdf
design-compiler.pdfFrangoCamila
 
Traffic Managers in Stratix II Devices
Traffic Managers in Stratix II DevicesTraffic Managers in Stratix II Devices
Traffic Managers in Stratix II DevicesGautam Kavipurapu
 
The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...NECST Lab @ Politecnico di Milano
 
Regular Expression to Deterministic Finite Automata
Regular Expression to Deterministic Finite AutomataRegular Expression to Deterministic Finite Automata
Regular Expression to Deterministic Finite AutomataIRJET Journal
 
R workshop xx -- Parallel Computing with R
R workshop xx -- Parallel Computing with R R workshop xx -- Parallel Computing with R
R workshop xx -- Parallel Computing with R Vivian S. Zhang
 

Semelhante a Practical Formal: Mainstream Formal for the Rest of Us (20)

Abraham march07
Abraham march07Abraham march07
Abraham march07
 
Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...
Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...
Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...
 
My Postdoctoral Research
My Postdoctoral ResearchMy Postdoctoral Research
My Postdoctoral Research
 
Smpant Transact09
Smpant Transact09Smpant Transact09
Smpant Transact09
 
Oracle GoldenGate 12c CDR Presentation for ECO
Oracle GoldenGate 12c CDR Presentation for ECOOracle GoldenGate 12c CDR Presentation for ECO
Oracle GoldenGate 12c CDR Presentation for ECO
 
Prelim Slides
Prelim SlidesPrelim Slides
Prelim Slides
 
A Verified Modern SAT Solver
A Verified Modern SAT SolverA Verified Modern SAT Solver
A Verified Modern SAT Solver
 
CS 542 -- Query Execution
CS 542 -- Query ExecutionCS 542 -- Query Execution
CS 542 -- Query Execution
 
Presentation_Parallel GRASP algorithm for job shop scheduling
Presentation_Parallel GRASP algorithm for job shop schedulingPresentation_Parallel GRASP algorithm for job shop scheduling
Presentation_Parallel GRASP algorithm for job shop scheduling
 
2007 Tidc India Profiling
2007 Tidc India Profiling2007 Tidc India Profiling
2007 Tidc India Profiling
 
Approaches to online quantile estimation
Approaches to online quantile estimationApproaches to online quantile estimation
Approaches to online quantile estimation
 
676.v3
676.v3676.v3
676.v3
 
Potter’S Wheel
Potter’S WheelPotter’S Wheel
Potter’S Wheel
 
Iaetsd march c algorithm for embedded memories in fpga
Iaetsd march c algorithm for embedded memories in fpgaIaetsd march c algorithm for embedded memories in fpga
Iaetsd march c algorithm for embedded memories in fpga
 
How to Improve your Machine Precision and Performance
How to Improve your Machine Precision and PerformanceHow to Improve your Machine Precision and Performance
How to Improve your Machine Precision and Performance
 
design-compiler.pdf
design-compiler.pdfdesign-compiler.pdf
design-compiler.pdf
 
Traffic Managers in Stratix II Devices
Traffic Managers in Stratix II DevicesTraffic Managers in Stratix II Devices
Traffic Managers in Stratix II Devices
 
The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...
 
Regular Expression to Deterministic Finite Automata
Regular Expression to Deterministic Finite AutomataRegular Expression to Deterministic Finite Automata
Regular Expression to Deterministic Finite Automata
 
R workshop xx -- Parallel Computing with R
R workshop xx -- Parallel Computing with R R workshop xx -- Parallel Computing with R
R workshop xx -- Parallel Computing with R
 

Mais de DVClub

IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseDVClub
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment OverviewDVClub
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesDVClub
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)DVClub
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)DVClub
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyDVClub
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUsDVClub
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACTDVClub
 
Validation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentValidation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentDVClub
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal ValidationDVClub
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design CommunityDVClub
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemCDVClub
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-ExpressDVClub
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessDVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through MethodologyDVClub
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationDVClub
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 ProcessorDVClub
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceDVClub
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS VerificationDVClub
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and VerificationDVClub
 

Mais de DVClub (20)

IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the Enterprise
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification Methodology
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUs
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
 
Validation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentValidation and Design in a Small Team Environment
Validation and Design in a Small Team Environment
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal Validation
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design Community
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemC
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification Process
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si Validation
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 Processor
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification Experience
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS Verification
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and Verification
 

Último

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Último (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Practical Formal: Mainstream Formal for the Rest of Us

  • 1. 1JAA, 3/21/2007JAA, 3/21/2007 Practical Formal –Practical Formal – Mainstream Formal for theMainstream Formal for the Rest of UsRest of Us Jacob A. AbrahamJacob A. Abraham DVClub MeetingDVClub Meeting Austin, TexasAustin, Texas March 21, 2007March 21, 2007
  • 2. 2JAA, 3/21/2007JAA, 3/21/2007 Is Formal Verification Mainstream? Formal Equivalence Checking Only up to the RT Level What about Formal Property Checking? Can it deal with properties used in a simulation-based flow? ● What characteristics prevent formal verification from being more widely used? Need to deal with complex designs Seamlessly fit into the design flow
  • 3. 3JAA, 3/21/2007JAA, 3/21/2007 Directions to make Formal Mainstream Engines which can deal with real designs Multiple clock domains Tristate signals (not Boolean) ● Deal with design descriptions at higher levels Reduce complexity of analysis Static analysis of design description will scale (unlike a functional analysis) ● Automated techniques which fit into the design flow No distractions when concentrating on design
  • 4. 4JAA, 3/21/2007JAA, 3/21/2007 ATPG Engines to Check Properties Some work in checking safety properties Detecting “stuck-at-0” fault on p is equivalent to establishing EFp Circuit p Verify design at the lowest level possible: example, ATPG level Deal with tri-states, multiple clocks, etc.
  • 5. 5JAA, 3/21/2007JAA, 3/21/2007 RTL to RTL Equivalence Checking  Use Term Rewriting Systems (TRS)  Significant success with RTL “Term” level reductions  Verification of arithmetic circuits at the RTL level using term rewriting  RTL to RTL equivalence checking  Verified large multiplier designs like Booth, Wallace Tree and many optimized multipliers using this rewriting technique
  • 6. 6JAA, 3/21/2007JAA, 3/21/2007 RTL Equivalence Using TRSs Golden RTL Revised RTL Revised TRS Golden TRS Equivalence Proof VTrans VTrans Vprover Translation Translation
  • 7. 7JAA, 3/21/2007JAA, 3/21/2007 Why it Works Congruence between RTL-states (terms) of two designs, given the RTL state-transition graph (TRS) Equivalence is proved by showing that one term can be rewritten to the other SAT solvers, STE engines, gate-level equivalence checkers, etc., as proof engines Comparison points in RTL-state space Congruence at every comparison point Cover entire data space of the designs
  • 8. 8JAA, 3/21/2007JAA, 3/21/2007 Results on Multipliers UnfinishedUnfinished60s64 X 64 UnfinishedUnfinished40s32 X 32 UnfinishedUnfinished25s16 X 16 16s18s18s8 X 8 9s10s14s4 X 4 Commercial Tool 2 Commercial Tool 1 VERIFIREWallace Tree
  • 9. 9JAA, 3/21/2007JAA, 3/21/2007 Sequential Equivalence Checking: Using Sequential Compare Points Introduce notion of sequential compare points Sequential compare points are two-tuple entities Identification w.r.t. relative position in time Identification w.r.t. space (data or variables) Co-ordinates on space-time axis of both designs being compared Exactly model the sequential behavior of designs
  • 10. 10JAA, 3/21/2007JAA, 3/21/2007 Equivalence Checking Using Sequential Compare Points Variables of interest (observables) obtained from user/block diagram Typically include primary outputs Can also include relevant intermediate variables Symbolic expressions obtained for observables assigned in a given cycle Symbolic expressions compared at sequential compare points Comparison using a SAT solver in this work Other Boolean level engines can also be used
  • 11. 11JAA, 3/21/2007JAA, 3/21/2007 Example: Viterbi Decoder Part of digital radio (DRM) in System C DRM SoC partitioned to implement Viterbi decoder as a hardware accelerator System C specification Basic model implementing Viterbi algorithm No optimizations Viterbi Verilog RTL implementations First implementation: Optimized for speed Second implementation: Optimized for area
  • 13. 13JAA, 3/21/2007JAA, 3/21/2007 Antecedent Conditioned Slicing for Verification • Slicing part of design irrelevant to property being verified • Safety Properties of the form • G (antecedent => consequent) • Use antecedent to specify states in which we are interested • We do not need to preserve program executions where the antecedent is false • The resulting abstraction is called an antecedent conditioned slice
  • 14. 14JAA, 3/21/2007JAA, 3/21/2007 Example Properties of USB 2.0 Core G((crc5err) V match) => send_token)) If a packet with a bad CRC5 is received, or there is an endpoint field mismatch, the token is ignored G((state == SPEED_NEG_FS) => X((mode_hs) ^ (T1_gt_3_0ms) => (next_state == RES_SUSPEND)) If the machine is in the speed negotiation state, then in the next clock cycle, if it is in high speed mode for more than 3 ms, it will go to the suspend state G((state == RESUME_WAIT) ^ (idle_cnt_clr) =>F(state == NORMAL)) If the machine is waiting to resume operation and a counter is set, eventually (after 100 mS) it will return to normal operation
  • 15. 15JAA, 3/21/2007JAA, 3/21/2007 Results on Temporal USB Properties CPU Seconds, 450 MHz dual UltraSPARC-II with 1 GB RAM
  • 16. 16JAA, 3/21/2007JAA, 3/21/2007 Verification of Processors using Antecedent Conditioned Slicing  Verification of single-instruction issue, multi-stage pipelined processors  Antecedent conditioned slicing provides an automatic decomposition strategy  Individual “instruction machines” ■ Leverage automatic power of model checking ■ Provide a different notion of verification  Verification of RTL model of off-the-shelf processor  Verified all the instructions of the OR1200 embedded processor
  • 17. 17JAA, 3/21/2007JAA, 3/21/2007 Single Instruction Verification P0=P i1 it+1 in P1 Pt+1 Pn Model Checker h Antecedent Conditioned Slice get_conditioned_slice (P0, < i1, e, Vh>)
  • 18. 18JAA, 3/21/2007JAA, 3/21/2007 Results of OR1200 Verification CPU Seconds, 3 GHz Pentium 4 processor with 1 GB RAM 27.83l.srlSHF/ROT 2377126.81l.sllSHF/ROT 3094138.32l.sdLSU 2887333.91l.lwsLSU 48627212.27l.mtsprSPRS 50696226.97l.mfsprSPRS 2691927.93l.rorSHF/ROT 2910435.85l.ldLSU Memory Usage (KB) SMV time (seconds) InstructionsInstruction Class 23771