Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Verification of Pipelined Processors using SAT-based Bounded Model Checking, Assignments of Electrical and Electronics Engineering

The challenges of verifying pipelined processors due to their increasing complexity and the need for speculative executions and branch predictors. The author proposes the use of sat-based bounded model checking (bmc) as a solution. The concept of sat solvers and the dpll algorithm, and how bmc restricts the search space to a fixed number of transitions. The document also covers the test program generation methodology and provides an example of using sat-based bmc for test generation.

Typology: Assignments

Pre 2010

Uploaded on 09/17/2009

koofers-user-sxb-1
koofers-user-sxb-1 🇺🇸

10 documents

1 / 22

Toggle sidebar

Related documents


Partial preview of the text

Download Verification of Pipelined Processors using SAT-based Bounded Model Checking and more Assignments Electrical and Electronics Engineering in PDF only on Docsity! Verification of Pipelined Processors using SAT-based Bounded Model Checking Achutam Murarka Perm # 8730319 University of California, Santa Barbara Pipelined Processors... ¢ Modern Processors are all pipelined...why? Non- pipelined Processor +1 Each instruction executes in one cycle! slow ._.. SIOW ........... slow ...... Pipelines mean Problems • As the number of stages in the pipeline increase the overall complexity of the system increase. • Branch predictors need to be designed and speculative executions need to take place. • This speculative data cannot be committed to memory unless till very late in the pipeline. • Data Dependency: So more temporary memory registers are needed. Called Architectural registers and Physical registers. • Various Hazards like Data, Control and Structural Hazards now need to be taken care off. • Net Result: Verification of the processor becomes even more challenging…!!!!!!!!! • To add to that the ever decreasing Time-to-Market. The solution…SAT-based BMC • Given a propositional formula ø, the Boolean satisfiability problem posed on ø is to determine whether there exists a variable assignment, if it exists, is called a Satisfiability Assignment for ø and ø is said to be satisfiable. • Most Modern SAT solvers are based on DPLL Algorithm. (Davis-Putnam- Logemann-Loveland) DPLL Algorithm sat-solve() if preprocess() = CONFLICT then return UNSAT: while TRUE do if not decide-next-branch() then return SAT: while deduce() = CONFLICT do blevel = analyze-confiict(): if blevel = 0 then return UNSAT: backtrack (blevel): done: done: Test Program Generation Methodology Processor Architecture (Specification) Fault Model Processor Properties Model P I l / “Decompose f “Decompose >, \\Gfnecessary) / \ Gfaecessary) / NN Negate 7 property, Decide Me Vic we ( SAT-ba sed) \ BMC Pa a Test prograns Functional Fault Model • The Pipelined Architecture is modeled as a graph G = (V, E) • V is the node.  Units (Fetch, Decode, etc.)  Storage (Register File, Memory, etc.) • E is the edge.  Pipeline Edge (Solid Line)  Data Transfer Edge (Dotted Line) Functional Fault Model Cache Graph Model of the MIPS processor Design and Property Decomposition else PrimaryInputs = PrimaryInputs U inp, endif if TaskList is empty TaskList = FutureList; FutureList = 6 endif endwhile test; = GenerateTest(PrimarylInputs). TestPrograms = TestPrograms U testi endfor return TestPrograms End Property Generation • Every node fault is converted into a property F(Pi) where F is the temporal operator (eventually) and Pi is (activity of the ith module). • Negate it to represent it as G(~Pi). • F(Decode.stall) which means “Decode in stall” is converted into G(~Decode.stall) meaning “Decode never in stall”. Determination of the Bound • Maximum Bound is given by {FE -> DE -> IALU -> MEM -> Cache -> MM -> Cache -> MEM -> WB } • Bound for “FADD1 in operation execution” will be 3. (pipeline register between the pipeline stages) Results Comparison of Test Generation Techniques based on the Number of Interactions Future Work • The single most important achievement of SAT-based verification has been its emergence as an orthogonal technology to BDD-based model checking techniques. • Studies at Intel have shown that BMC has better capacity and productivity over UMC for real designs taken from the Intel series of processors. • The strength of SAT-based verification techniques lies primarily in Falsification. • BDD-based symbolic model checking continues to be the de-facto standard for verifying properties. • SAT-based applications cannot be applied to the problem of computing the sequential depth of a given system. (probably because of its inherent intractability of the problem) • For large sequential depths the method of unrolling the circuit into explicit time frames makes it unsolvable for large circuits with a high degree of sequential depth. • Therefore, further research needed to develop SAT-based model checking into a viable alternative to BDD-based symbolic model checking Thank You
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved