Contract Specification of Pipelined Designs Alexander Kamkin Institute for System Programming of RAS

Slides:



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

Final Project : Pipelined Microprocessor Joseph Kim.
EZ-COURSEWARE State-of-the-Art Teaching Tools From AMS Teaching Tomorrow’s Technology Today.
Runtime Verification Based on Executable Models: On-the-Fly Matching of Timed Traces Mikhail Chupilko, Alexander Kamkin.
Chapter 2.
CS 290C: Formal Models for Web Software Lecture 4: Implementing and Verifying Statecharts Specifications Using the Spin Model Checker Instructor: Tevfik.
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.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
6/14/991 Symbolic verification of systems with state machines David L. Dill Jeffrey Su Jens Skakkebaek Computer System Laboratory Stanford University.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
How Can Simple Model Test Complex System Model Based Testing of Large-Scale Software Victor Kuliamin ISP RAS, Moscow.
Petri net modeling of biological networks Claudine Chaouiya.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
1 Software Testing and Quality Assurance Lecture 20 – Class Testing Basics (Chapter 5, A Practical Guide to Testing Object- Oriented Software)
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
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.
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
Robust Low Power VLSI R obust L ow P ower VLSI Memory Management Units for Instruction and Data Cache for OR1200 CPU Core Arijit Banerjee ASIC/SOC Class.
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
Presenter : Cheng-Ta Wu Vijay D’silva, S. Ramesh Indian Institute of Technology Bombay Arcot Sowmya University of New South Wales, Sydney.
TEST SUITE DEVELOPMENT FOR CONFORMANCE TESTING OF PROTOCOLS Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD Institute for System Programming.
Supporting Automatic Model Inconsistency Fixing Yingfei Xiong University of Tokyo, Japan Zhenjiang HuNational Institute of Informatics, Japan Haiyan ZhaoPeking.
MicroTESK: An Extendable Framework for Test Program Generation Alexander Kamkin, Tatiana Sergeeva, Andrei Tatarnikov, Artemiy Utekhin {kamkin, leonsia,
Extreme Makeover for EDA Industry
CSE431 L22 TLBs.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 22. Virtual Memory Hardware Support Mary Jane Irwin (
Intel Academic Forum. Budapest, September, 2002 ISPRAS Experience in Model Based Testing Alexander K. Petrenko, Institute for System Programming.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
Static Analysis of HDL Descriptions: Extracting Models for Verification Alexander Kamkin Sergey Smolov Igor Melnichenko.
Presenter: Jyun-Yan Li Effective Software-Based Self-Test Strategies for On-Line Periodic Testing of Embedded Processors Antonis Paschalis Department of.
Reporter: PCLee. Although assertions are a great tool for aiding debugging in the design and implementation verification stages, their use.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
A Light-Weight C/C++ Based Tool for Hardware Verification Alexander Kamkin CTestBench Institute for System Programming of the Russian.
Languages for HW and SW Development Ondrej Cevan.
Composition of UML Described Refactoring Rules Presented by Chin-Yi Tsai.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
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.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
Pre- and postconditions, Using assertions and exceptions 1 Pre- and postconditions Using assertions and exceptions.
Chapter One Introduction to Pipelined Processors
Using Cycle-Accurate Contract Specifications for Testing Hardware Models Alexander Kamkin Institute for System Programming of RAS
Software Engineering 2 -Prakash Shrestha.
Protocols Software Engineering II Wirfs Brock et al, Designing Object-Oriented Software, Prentice Hall, Mitchell, R., and McKim, Design by Contract,
Extension of Interface Signature Descriptions for Automatic Test Generation Evgeny Chernov Institute for System Programming of RAS SYRCoSE 2008.
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.
1  1998 Morgan Kaufmann Publishers Where we are headed Performance issues (Chapter 2) vocabulary and motivation A specific instruction set architecture.
MIPS Pipeline and Branch Prediction Implementation Shuai Chang.
MicroTESK: Automation of Test Program Generation for Microprocessors Alexander Kamkin Institute for System Programming of the Russian.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
Parallelizing Functional Tests for Computer Systems Using Distributed Graph Exploration Alexey Demakov, Alexander Kamkin, and Alexander Sortov
Los Alamos National Laboratory Streams-C Maya Gokhale Los Alamos National Laboratory September, 1999.
Simulation-Based Verification of Microprocessor Units Based on Cycle-Accurate Contract Specifications Mikhail Chupilko, Alexander Kamkin, and Dmitry Vorobyev.
ARM 7 & ARM 9 MICROCONTROLLERS AT91 1 ARM920T Processor.
CSL718 : Superscalar Processors
Mikhail Chupilko, Alexander Protsenko
Service Metadata Registry (COSMOS)
Week 5, Verilog & Full Adder
Model Checking for an Executable Subset of UML
Overview Part 1 - Registers, Microoperations and Implementations
THE ECE 554 XILINX DESIGN PROCESS
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
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.
Translation Lookaside Buffers
THE ECE 554 XILINX DESIGN PROCESS
ARM920T Processor This training module provides an introduction to the ARM920T processor embedded in the AT91RM9200 microcontroller.We’ll identify the.
Presentation transcript:

Contract Specification of Pipelined Designs Alexander Kamkin Institute for System Programming of RAS

SYRCoSE'2007 Colloquium2 1 June, 2007 Pipelined Designs Operations consist of several stages which are overlapped in execution Pipeline organization reduces average execution time per operation Pipeline organization introduces additional problems and new sources of errors

SYRCoSE'2007 Colloquium3 1 June, 2007 Functional Testing Functional testing of hardware models consumes 70-80% of the design efforts Requirements on thoroughness of hardware models testing are very strong Testing can’t be done manually due to the size and complexity of designs Formal specifications can be used for testbench automation

SYRCoSE'2007 Colloquium4 1 June, 2007 MIPS R4000 Errata Datapath bugs6.5% Control logic bugs 93.5% R. Ho, C. Yang, M. Horowitz, and D. Dill. “Architecture Validation for Processors”

SYRCoSE'2007 Colloquium5 1 June, 2007 Suggested Approach Contract specifications in the form of preconditions and postconditions describe functionality of pipe stages Temporal binding mechanism combines specifications of separated stages into a co-operative specification

SYRCoSE'2007 Colloquium6 1 June, 2007 Contract Specification of Pipeline V – set of context variables I  O  V – input and output parameters X  {  } – set of stimuli Z  {  } – set of stages  – function of operation composition

SYRCoSE'2007 Colloquium7 1 June, 2007 Stimulus in  I – set of input parameters of stimulus use  V\O – set of variables used by stimulus pre – precondition of stimulus

SYRCoSE'2007 Colloquium8 1 June, 2007 Clock Stimulus (  ) in  =  use  =  pre   true

SYRCoSE'2007 Colloquium9 1 June, 2007 Stage out  O – output parameters of stage use  V\O – set of variables used by stage def  V\I – set of variables defined by stage  – guard condition of stage post – postcondition of stage

SYRCoSE'2007 Colloquium10 1 June, 2007 Empty Stage (  ) out  =  use  =  def  =     true post   true

SYRCoSE'2007 Colloquium11 1 June, 2007 Operation Composition  : (X  {  })  (Z  {  }) L – function of operation composition  (  ) = ( , …,  ) – operation of the clock stimulus consists of empty stages

SYRCoSE'2007 Colloquium12 1 June, 2007 Control State Stimulus processing state is a pair (x, s)  x – stimulus being processed  s – stage of stimulus processing Control state is a set of stimuli processing states {(x i, s i )} i=1,n  Initial control state is the empty set of stimuli processing states

SYRCoSE'2007 Colloquium13 1 June, 2007 Stimulus Processing Enabled(  ) – set of enabled stimuli in state  { (x, s)  | guard of  s (x) is true } Locked(  ) – set of locked stimuli in state  { (x, s)  | guard of  s (x) is false }

SYRCoSE'2007 Colloquium14 1 June, 2007 Pipeline Shift Operator  : (X  {  })  State  State – pipeline shift operator (x   ) is the union of the following sets:  Locked(  )  { (x, l+1) | (x, l)  Enabled(  )  l < L }  { (x, 1) }

SYRCoSE'2007 Colloquium15 1 June, 2007 Temporal Binding Operator  : State  Power(Z) – temporal binding operator  (  ) is the following set of stages: {  l (x) | (x, l)  Enabled(  ) } \ {  }

SYRCoSE'2007 Colloquium16 1 June, 2007 EFSM Interpretation S = State – states are control states Y = Power(Z) – reactions are sets of stages  ’ = (x   ) – final state of transition y =  (  ’) – reaction of transition

SYRCoSE'2007 Colloquium17 1 June, 2007 Semantics of Context Updating Test oracle of stimulus x in control state  :  z  (x   ) post z (Use, Def)

SYRCoSE'2007 Colloquium18 1 June, 2007 Tool Support The approach was integrated into the CTESK test development tool from the UniTESK toolkit Pipeline shift operator and temporal binding operator are implemented as library functions

SYRCoSE'2007 Colloquium19 1 June, 2007 Case Study Translation Lookaside Buffer (TLB):  Data address translation  Instruction address translation  Reading entry  Writing entry  Probing entry

SYRCoSE'2007 Colloquium20 1 June, 2007 Statistics Implementation  ~8 KLOC (Verilog HDL)  ~60 inputs and outputs Specification  ~100 requirements  ~2.5 KLOC (extension of C language) Errors  ~10 errors were found including critical ones

SYRCoSE'2007 Colloquium21 1 June, 2007 Conclusion Approach is suitable for testbench automation Approach is integrated into the CTESK test development tool Approach has been successfully applied to several units of the industrial microprocessor

SYRCoSE'2007 Colloquium22 1 June, 2007 Contacts Institute for System Programming of RAS UniTESK Test Development Technology Alexander Kamkin

SYRCoSE'2007 Colloquium23 1 June, 2007 Thank You!

SYRCoSE'2007 Colloquium24 1 June, 2007 Questions?