Verification Methodology Based on Algorithmic State Machines and Cycle-Accurate Contract Specifications Sergey Frenkel 1 and Alexander Kamkin 2 1 Institute.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Analysis of Computer Algorithms
Sugar 2.0 Formal Specification Language D ana F isman 1,2 Cindy Eisner 1 1 IBM Haifa Research Laboratory 1 IBM Haifa Research Laboratory 2 Weizmann Institute.
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
1 Automating the Generation of Mutation Tests Mike Papadakis and Nicos Malevris Department of Informatics Athens University of Economics and Business.
Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
Testing Workflow Purpose
1 General-Purpose Languages, High-Level Synthesis John Sanguinetti High-Level Modeling.
Presenter: Jyun-Yan Li On the Generation of Functional Test Programs for the Cache Replacement Logic W. J. Perez H. Universidad del Valle Grupo de Bionanoelectrónica.
MANINDER KAUR Maninder Kaur 1
Chapter #8: Finite State Machine Design 8
April 30, A New Tool for Designer-Level Verification: From Concept to Reality April 30, 2014 Ziv Nevo IBM Haifa Research Lab.
Copyright  2003 Dan Gajski and Lukai Cai 1 Transaction Level Modeling: An Overview Daniel Gajski Lukai Cai Center for Embedded Computer Systems University.
1 Chapter 4 The while loop and boolean operators Samuel Marateck ©2010.
Addition 1’s to 20.
CS 240 Computer Programming 1
25 seconds left…...
Week 1.
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
We will resume in: 25 Minutes.
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
1. We use models in an attempt to gain understanding and insights about some aspect of the real world. Attempts to model reality assume a priori the existence.
Compiler Construction
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Register Transfer Level
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
Give qualifications of instructors: DAP
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 3 Microcomputer Systems Design (Embedded Systems)
4/10/20081 Lab 9 RT methodology introduction Register operations Data Path Control Path ASM Example TA: Jorge Crichigno.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 20 Datapath and Control Datapath - performs data transfer and processing operations.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
Contract Specification of Pipelined Designs Alexander Kamkin Institute for System Programming of RAS
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Basics of register-transfer design: –data paths and controllers; –ASM charts. Pipelining.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
ECE-C662 Lecture 2 Prawat Nagvajara
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
Using Cycle-Accurate Contract Specifications for Testing Hardware Models Alexander Kamkin Institute for System Programming of RAS
Algorithmic state machines
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Basics of register-transfer design: –data paths and controllers; –ASM.
Chapter 11: System Design Methodology Digital System Designs and Practices Using Verilog HDL and 2008, John Wiley11-1 Chapter 11: System Design.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
ASIC Design Methodology
HDL simulation and Synthesis (Marks16)
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
Topics Modeling with hardware description languages (HDLs).
VLSI Testing Lecture 5: Logic Simulation
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
IAY 0600 Digital Systems Design
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Design Flow System Level
Topics Modeling with hardware description languages (HDLs).
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
HIGH LEVEL SYNTHESIS.
IAS 0600 Digital Systems Design
KU College of Engineering Elec 204: Digital Systems Design
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
Design Methodology & HDL
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Presentation transcript:

Verification Methodology Based on Algorithmic State Machines and Cycle-Accurate Contract Specifications Sergey Frenkel 1 and Alexander Kamkin 2 1 Institute of Informatics Problems of the Russian Academy of Sciences 2 Institute for System Programming of the Russian Academy of Sciences

2 Design Steps Architectural and RTL Design Input: architectural (behavioral) description in HDL (Verilog, VHDL) or system-level language (SystemC, SystemVerilog) Output: RTL description of the design: data path (interconnection of adders, multipliers, etc.) control logic (FSM model of a control unit) Logic Synthesis Input: RTL description of the design Output: gate-level description of the design Physical Design Out of our consideration

3 General Scheme of Design Verification

4 Challenges of Design Verification 50-80% of ASIC / IP / SoC design effort goes to verification, what has effects on Schedule, Cost, Quality computational complexity of formal verification is prohibited for many real-life designs simulation is slow, requires billions of vectors for large designs, and exhaustive simulation is infeasible the verification tools and methods need to scale well, and be able to support efficient debugging, have to allow for ongoing changes in the specification and the design the methodology must be flexible enough to permit new design features, such as soft error detection, including fault latency and self-healing analysis

5 Total Design Cost Reducing A work of a designer is resulted in two or three activities and human/equipment resources which have been spent for one of them should be kept back in another

6 Two Ways of Design Verification (RTL) Verification Formal Verification Verification via Simulation Formal Verification Verification Via Simulation

7 Possible Combination of the Verification Approaches a mechanical combination of the verification techniques: part of design is verified by simulation, while another by a formal method by using of formal specification for simulation verification by using a semi-formal specification

8 Semi-Formal Verification Informal Specification Formal Specification Formal Verification Verification via Simulation Verdict: Pass or Fail

9 Cycle-Accurate Contract Specifications Operations Contracts of stages Contracts of operations A1A1 … ANAN … A1A1 … ANAN … Operation Contracts of stages Contract of operation A1A1 … ANAN pre(A, 1) post(A, 1) pre(A, N) post(A, N) … pre(A)

10 Idea of the Method post(A, 2) post(B, 1) Operation A Operation B A1A1 A2A2 …ANAN B1B1 B2B2 …BNBN Time Test Oracle 123 …

11 A B C Branching and Other Features stage branch fork join

12 Algorithmic State Machine (ASM) An Algorithmic State Machine (ASM) is the directed connected graph containing an initial vertex (Begin), a final vertex (End) and a finite set of operators and conditional vertices. The operators and conditional vertices have only one input, the initial vertex has no input. Initial and operator vertices have only one output, a conditional vertex has two outputs marked by 1 and 0. A final vertex has no outputs. Each operator include some body in a pseudo-code, and its execution takes a clock of the target system time The following are the major steps in the ASM methodology: Describe the target system algorithm by ASM chart (using a pseudo-code) Design the data path based on the ASM chart Design the control logic based on the detailed ASM chart

13 ASM Example Let us an operator Y b be implemented. The sequence of the actions after Yb can be represented by ASM as following: The operator Y 3 is executed after Y b when x 1 x 4 x 3 =1,Y 1 is executed afterY b when x 1 x 3 =1, Y 5 is excuted after Y b when x 1 x 4 x 3 =1 or x 1 =1, that is: Y b x 1 x 4 x 3 Y 3 + x 1 x 4 x' 3 Y 5 + x 1 x' 4 Y 1 + x' 1 Y 5

14 System/Logic Design by Abelite (Prof. Samary Baranov, Holon Institute of Technology, Israel) ASM-description FSM Micro operations RTL (VHDL) Design Tools (SYNOPSIS,CADENCE) I2I2 Joint ASM Flow Chart I1I1 InIn

15 About ASM Formalities A possibility to use some ASM-based formalized verification is due to some formal rules, used for ASM flowchart construction. Namely, to provide this unique correspondence between the ASM flowchart and a target data path and control unit it is enough that a synthesis algorithm would obey the following rules: State boxes should contain only register statements, control signals in parentheses All operations within a state box should be concurrently executable in one clock cycle If the operations in two consecutive state boxes can be executed in the same clock cycle, then these two state boxes can be combined into one state box For each register-transfer statement, there must be a path between the source and destination registers The description contains the ordering of microoperations, namely, each of rectangle take one clock for its execution

16 Suggested Design Verification Methodology

17 Design Verification Methodology (cont.) Formal Verification Temporal properties of the system to verify Behavioral Description in a verification language (SMV) RUN

18 Temporal Logic (CTL) Temporal logic expresses the ordering of events in time by means of operators that specify properties E existential path quantifier A universal path quantifier Xnext time F eventually G globally U until

19 Verification via Model Checking FINITE-STATE SYSTEM PROPERTY TO VERIFY MODEL CHECKING PROGRAM PROPERTY IS TRUE OR A COUNTER EXAMPLE propagates sets of states, not individual trajectories

20 A Fragment of ASM Operation Hierarchical Description

21 ASM-Specified Model Checking (3-bit counter) a1 a10 1 y7y8y9y10y11y12 Micro Instructions: a2 a3 1 y2y3Y1 = y1 a3 a1 1 y4Y2 = y2 y3 a4 a2 1 y1Y3 = y4 a5 a4 1 y4Y4 = y5 y3 a6 a7 1 y4Y5 = y6 y3 a7 a8 1 y1Y6 = y7 y8 y9 y10 y11 y12 a8 a5 1 y5y3 a9 a6 1 y6y3 a10 a9 1 y1Micro Operations: y1 : v:=(v+c_in)mod 2 y3 : c_out:=v&c_in y4 : c_in:=c_out y5 : b1:=v y6 : b0:=v y7 : b0:=0 y8 : b1:=0 y9 : b2:=0 y10 : c_in:=1 y11 : c_out:=0 y12 : v:=0

22 Model Checking (cont.) Conditions of Natural Ordering of Counting SPEC AG (((bit0=0)&(bit1=1) &(bit2=0)) ->AX((bit0=1)&(bit1=1)&(bit2=0))) SPEC AG (((bit0=0)&(bit1=1) &(bit2=0)) ->AX((bit0=1)&(bit1=1)&(bit2=1)))

23 Conclusion An approach that is a combination of ASM-based and contract- based approaches to hardware designs semi-formal verification is introduced The approach allows to unify benefits of both formal and simulation- based methods for complex digital hardware designs verification at early designing stages Presently there are some examples of this approach application to verification tests designing for one of unit of MIPS64-compatible microprocessor The approach allows to describe complex digital hardware with pipelining, interlocks, branching, etc.

24 Thank You!