Using Cycle-Accurate Contract Specifications for Testing Hardware Models Alexander Kamkin Institute for System Programming of RAS

Slides:



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

Copyright  2003 Dan Gajski and Lukai Cai 1 Transaction Level Modeling: An Overview Daniel Gajski Lukai Cai Center for Embedded Computer Systems University.
ENEL111 Digital Electronics
CSCI 4717/5717 Computer Architecture
EZ-COURSEWARE State-of-the-Art Teaching Tools From AMS Teaching Tomorrow’s Technology Today.
Data Dependencies Describes the normal situation that the data that instructions use depend upon the data created by other instructions, or data is stored.
Runtime Verification Based on Executable Models: On-the-Fly Matching of Timed Traces Mikhail Chupilko, Alexander Kamkin.
Give qualifications of instructors: DAP
© 2013 IBM Corporation Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Erez Bilgory Alex Goryachev Ronny.
Transaction Based Modeling and Verification of Hardware Protocols Xiaofang Chen, Steven M. German and Ganesh Gopalakrishnan Supported in part by SRC Contract.
44 nd DAC, June 4-8, 2007 Processor External Interrupt Verification Tool (PEVT) Fu-Ching Yang, Wen-Kai Huang and Ing-Jer Huang Dept. of Computer Science.
Evolution and History of Programming Languages Software/Hardware/System.
08/31/2001Copyright CECS & The Spark Project SPARK High Level Synthesis System Sumit GuptaTimothy KamMichael KishinevskyShai Rotem Nick SavoiuNikil DuttRajesh.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Lab Assignment 2: MIPS single-cycle implementation
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer (Nadia Polikarpova) Verification tools.
Presenter : Yeh Chi-Tsai System-on-chip validation using UML and CWL Qiang Zhu 1, Ryosuke Oish 1, Takashi Hasegawa 2, Tsuneo Nakata 1 1 Fujitsu Laboratories.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Functional Coverage Driven Test Generation for Validation of Pipelined Processors P. Mishra and N. Dutt Proceedings of the Design, Automation and Test.
1 Advanced Material The following slides contain advanced material and are optional.
Describing Syntax and Semantics
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
Transaction Based Modeling and Verification of Hardware Protocols Xiaofang Chen, Steven M. German and Ganesh Gopalakrishnan Supported in part by SRC Contract.
Lect 13-1 Lect 13: and Pentium. Lect Microprocessor Family  Microprocessor  Introduced in 1989  High Integration  On-chip 8K.
Lecture 13 - Introduction to the Central Processing Unit (CPU)
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
TEST SUITE DEVELOPMENT FOR CONFORMANCE TESTING OF PROTOCOLS Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD Institute for System Programming.
Roza Ghamari Bogazici University April Outline Introduction SystemC Language Formal Verification Techniques for SystemC Design and Verification.
Chapter 5 Basic Processing Unit
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
MicroTESK: An Extendable Framework for Test Program Generation Alexander Kamkin, Tatiana Sergeeva, Andrei Tatarnikov, Artemiy Utekhin {kamkin, leonsia,
Speaking Bluntly about SharpHDL: Some Old Stuff and Some Other Proposed Future Extensions Gordon J. Pace & Christine Vella Synchron’05 Malta, November.
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
Contract Specification of Pipelined Designs Alexander Kamkin Institute for System Programming of RAS
Extreme Makeover for EDA Industry
Automated Generation of Test Suites from Formal Specifications Alexander K.Petrenko Institute for System Programming of Russian Academy of Sciences (ISP.
Intel Academic Forum. Budapest, September, 2002 ISPRAS Experience in Model Based Testing Alexander K. Petrenko, Institute for System Programming.
Software Verification Academician V.P.Ivannikov, Director of ISPRAS Moscow, November 2008.
Static Analysis of HDL Descriptions: Extracting Models for Verification Alexander Kamkin Sergey Smolov Igor Melnichenko.
Chapter 2 Summary Classification of architectures Features that are relatively independent of instruction sets “Different” Processors –DSP and media processors.
A Light-Weight C/C++ Based Tool for Hardware Verification Alexander Kamkin CTestBench Institute for System Programming of the Russian.
An Approach to Test Programs Generation for Microprocessors Based on Pipeline Hazards Templates Alexander Kamkin and Dmitry Vorobyev Institute for System.
Applying Model Based Testing in Different Contexts Alexander Petrenko Victor Kuliamin ISP RAS, Moscow.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
TEAM FRONT END ECEN 4243 Digital Computer Design.
UniTesK: Model Based Testing in Industrial Practice Victor Kuliamin Alexander Petrenko Alexander Kossatchev Igor Burdonov Institute for System Programming.
Time Abstraction in Simulation-Based Hardware Verification Alexander Kamkin Institute for System Programming of the Russian Academy of.
ISP RAS Java Specification Extension for Automated Test Development Igor B. Bourdonov, Alexei V. Demakov, Andrei A. Jarov, Alexander S. Kossatchev, Victor.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
MicroTESK: Automation of Test Program Generation for Microprocessors Alexander Kamkin Institute for System Programming of the Russian.
2016/2/ “Formal verification of a public-domain DDR2 controller design”, VLSI Design Author: Abhishek Datta, Vigyan Singhal Speaker: Chia-Wei.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
R-Verify: Deep Checking of Embedded Code James Ezick † Donald Nguyen † Richard Lethin † Rick Pancoast* (†) Reservoir Labs (*) Lockheed Martin The Eleventh.
The System Bus. Conceptual CPU Block Diagram Datapath Regs Buses ALU Control Unit Bus Interface IR etc. PC etc. Control Signals Status Signals PSR System.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
Parallelizing Functional Tests for Computer Systems Using Distributed Graph Exploration Alexey Demakov, Alexander Kamkin, and Alexander Sortov
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Simulation-Based Verification of Microprocessor Units Based on Cycle-Accurate Contract Specifications Mikhail Chupilko, Alexander Kamkin, and Dmitry Vorobyev.
Methodological Issues in Model-Based Testing (MBT)
Mikhail Chupilko, Alexander Protsenko
Introduction to cosynthesis Rabi Mahapatra CSCE617
Software Testing (Lecture 11-a)
Software Verification and Validation
Software Verification and Validation
Transaction Level Modeling: An Overview
Software Verification and Validation
Presentation transcript:

Using Cycle-Accurate Contract Specifications for Testing Hardware Models Alexander Kamkin Institute for System Programming of RAS

Microsoft Research & Institute for System Programming of RAS Joint Workshop 2 of June, 2009 Problem Domain Hardware is designed using special-purpose languages, like Verilog and VHDL Testing of hardware models (simulation-based verification) is the main approach to hardware verification To automate simulation-based verification, formal specifications are needed What kind of specifications are good for testing of hardware models?

Microsoft Research & Institute for System Programming of RAS Joint Workshop 3 of June, 2009 Levels of Testing lui s1, 0x2779 ori s1, s1, 0xc8b9 lui s3, 0x4ee ori s3, s3, 0xf798 add v0, a0, a2 sub t1, t3, t5 add t7, s1, s3 Core-Level TestingUnit-Level Testing Model of a microprocessor is tested as a whole with the help of test programs Model of a particular unit is tested via inputs and outputs signals

Microsoft Research & Institute for System Programming of RAS Joint Workshop 4 of June, 2009 Synchronous Designs Time Clock Pulse Other Signals … … Cycle 1Cycle 2Cycle 3

Microsoft Research & Institute for System Programming of RAS Joint Workshop 5 of June, 2009 Pipelined Designs Overlapping Operation A Time Clock Pulse Execution of A Stage A 1 Stage A 2 Operation B Execution of B Stage B 2 Stage B 1 …

Microsoft Research & Institute for System Programming of RAS Joint Workshop 6 of June, 2009 Classical Contract Specifications pre(input) output = operation(input) post(intput, output) If an environment meets the precondition, then the component must guarantee the postcondition

Microsoft Research & Institute for System Programming of RAS Joint Workshop 7 of June, 2009 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)

Microsoft Research & Institute for System Programming of RAS Joint Workshop 8 of June, 2009 Idea of the Method post(A, 2)  post(B, 1) Operation A Operation B A1A1 A2A2 …ANAN B1B1 B2B2 …BNBN Time Test Oracle 123 …

Microsoft Research & Institute for System Programming of RAS Joint Workshop 9 of June, 2009 FSM Model of Pipeline {(x, 1)}  (1) State’ = {(x i, s i ) | pre(x i, s i ) = false}  (2) {(x i, s i + 1) | pre(x i, s i ) = true  s i < L(x i )}(3) State {(x i, s i )} State’ ? Stimulus x

Microsoft Research & Institute for System Programming of RAS Joint Workshop 10 of June, 2009 FSM Transition A1A1 A2A2 …A L(A) B1B1 B2B2 …B L(B) C1C1 C2C2 …C L(C) …… D D1D1 D2D2 …D L(D) E Stimulus State

Microsoft Research & Institute for System Programming of RAS Joint Workshop 11 of June, 2009 Checking Correctness Test Oracle =  { post(x i, s i ) | pre(x i, s i ) = true }  ✕ Passed or failed? State {(x i, s i )} State’ ? Stimulus

Microsoft Research & Institute for System Programming of RAS Joint Workshop 12 of June, 2009 Test Oracle A1A1 A2A2 …A L(A) B1B1 B2B2 …B L(B) C1C1 C2C2 …C L(C) …… D D1D1 D2D2 …D L(D) E Stimulus State Test Oracle 

Microsoft Research & Institute for System Programming of RAS Joint Workshop 13 of June, 2009 A B C Branching and Other Features — stage — branch — fork — join

Microsoft Research & Institute for System Programming of RAS Joint Workshop 14 of June, 2009 Test Coverage Definition Test situations  Interesting situations for individual operations Branches of functionality  Exceptions Dependencies  Usage of shared resources Register dependencies Address dependencies

Microsoft Research & Institute for System Programming of RAS Joint Workshop 15 of June, 2009 FSM with Coverage Information x [Situation, Dependencies] Test situation Set of dependencies State {(x i [S i, D i ], s i )} State’ {…}

Microsoft Research & Institute for System Programming of RAS Joint Workshop 16 of June, 2009 Test Sequence Generation Irredundant algorithms of FSM traversal  FSM is deterministic Dependencies determine pipeline interlocks  FSM has strongly connected state graph There are no deadlocks between operations

Microsoft Research & Institute for System Programming of RAS Joint Workshop 17 of June, 2009 Irredundant Algorithms Pre State B C D ? Current State Known sub-FSM A E F ? G H

Microsoft Research & Institute for System Programming of RAS Joint Workshop 18 of June, 2009 Tool Support The approach is integrated into the CTESK tool from the UniTESK toolkit To simplify creation of specifications and tests for pipelined units using CTESK, library PIPE is developed

Microsoft Research & Institute for System Programming of RAS Joint Workshop 19 of June, 2009 Case Studies MIPS64-compatible microprocessor  TLB (translation lookaside buffer)  L2 cache (directed-mapped memory cache)

Microsoft Research & Institute for System Programming of RAS Joint Workshop 20 of June, 2009 Case Studies Summary Characteristic TLBL2 Size of implementation, lines of code Number of operations 56 Labor costs, man-months 2.54 Size of specifications and tests, lines of code Number of found bugs 104

Microsoft Research & Institute for System Programming of RAS Joint Workshop 21 of June, 2009 Future Directions SystemC and SystemVerilog languages OVM (Open Verification Methodology)

Microsoft Research & Institute for System Programming of RAS Joint Workshop 22 of June, 2009 Conclusion The contract-based approach to testing of hardware designs is introduced The approach allows to describe complex digital hardware with pipelining, interlocks, branching, etc. The approach has been successfully applied to several units of MIPS64-compatible microprocessor

Microsoft Research & Institute for System Programming of RAS Joint Workshop 23 of June, 2009 Contacts Institute for System Programming of RAS (ISPRAS) Hardware Verification ISPRAS Alexander Kamkin

Microsoft Research & Institute for System Programming of RAS Joint Workshop 24 of June, 2009 Thank You! Questions?