Memory Interface Analysis Using the Real-Time Model Checker UPPAAL Egle Sasnauskaite Marius Mikucionis Supervisor: Gerd Behrmann Co-cupervisor: Thomas.

Slides:



Advertisements
Similar presentations
Spatial Computation Thesis committee: Seth Goldstein Peter Lee Todd Mowry Babak Falsafi Nevin Heintze Ph.D. Thesis defense, December 8, 2003 SCS Mihai.
Advertisements

1 Verification by Model Checking. 2 Part 1 : Motivation.
2017/3/25 Test Case Upgrade from “Test Case-Training Material v1.4.ppt” of Testing basics Authors: NganVK Version: 1.4 Last Update: Dec-2005.
EE384y: Packet Switch Architectures
fakultät für informatik informatik 12 technische universität dortmund Additional compiler optimizations Peter Marwedel TU Dortmund Informatik 12 Germany.
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Bounded Model Checking of Concurrent Data Types on Relaxed Memory Models: A Case Study Sebastian Burckhardt Rajeev Alur Milo M. K. Martin Department of.
Autotuning in Web100 John W. Heffner August 1, 2002 Boulder, CO.
Chapter 5 Input/Output 5.1 Principles of I/O hardware
1 9 Moving to Design Lecture Analysis Objectives to Design Objectives Figure 9-2.
1 Data Link Protocols By Erik Reeber. 2 Goals Use SPIN to model-check successively more complex protocols Using the protocols in Tannenbaums 3 rd Edition.
Nios Multi Processor Ethernet Embedded Platform Final Presentation
SE-292 High Performance Computing
Announcements Homework 6 is due on Thursday (Oct 18)
Microprocessor Architecture Pipelined Architecture
Chapter 5 Computing Components. 2 Chapter Goals Read an ad for a computer and understand the jargon List the components and their function in a von Neumann.
Chapter 11: Models of Computation
Defect testing Objectives
1 General-Purpose Languages, High-Level Synthesis John Sanguinetti High-Level Modeling.
Module 10: Virtual Memory
MANINDER KAUR Maninder Kaur 1
TCP Probe: A TCP with Built-in Path Capacity Estimation Anders Persson, Cesar Marcondes, Ling-Jyh Chen, Li Lao, M. Y. Sanadidi, Mario Gerla Computer Science.
Virtual Switching Without a Hypervisor for a More Secure Cloud Xin Jin Princeton University Joint work with Eric Keller(UPenn) and Jennifer Rexford(Princeton)
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.
WATERLOO ELECTRICAL AND COMPUTER ENGINEERING 20s: Computer Hardware 1 WATERLOO ELECTRICAL AND COMPUTER ENGINEERING 20s Computer Hardware Department of.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
ASIC 121: Practical VHDL Digital Design for FPGAs Tutorial 2 October 4, 2006.
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
SE-292 High Performance Computing Memory Hierarchy R. Govindarajan
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
1 COMP 206: Computer Architecture and Implementation Montek Singh Wed., Oct. 23, 2002 Topic: Memory Hierarchy Design (HP3 Ch. 5) (Caches, Main Memory and.
Hydrological information systems Svein Taksdal Head of section, Section for Hydroinformatics Hydrology department Norwegian Water Resources and Energy.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.5) Sept, 14, 2012.
A Survey of Runtime Verification Jonathan Amir 2004.
Program Slicing – Based Techniques
Computer Architecture CS 215
3-Software Design Basics in Embedded Systems
Chapter 3 General-Purpose Processors: Software
Timed Automata.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
Hybrid Approach to Model-Checking of Timed Automata DAT4 Project Proposal Supervisor: Alexandre David.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
1 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Asynchronous Bit-stream Compression Arkadiy Morgenshtein, Avinoam Kolodny, Ran Ginosar Technion.
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
1 EECS Components and Design Techniques for Digital Systems Lec 21 – RTL Design Optimization 11/16/2004 David Culler Electrical Engineering and Computer.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
1 Combining the strengths of UMIST and The Victoria University of Manchester Asynchronous Signal Processing Systems Linda Brackenbury APT GROUP, Computer.
Pipelining By Toan Nguyen.
Viterbi Decoder Project Alon weinberg, Dan Elran Supervisors: Emilia Burlak, Elisha Ulmer.
Presenter : Cheng-Ta Wu Vijay D’silva, S. Ramesh Indian Institute of Technology Bombay Arcot Sowmya University of New South Wales, Sydney.
DARPA Digital Audio Receiver, Processor and Amplifier Group Z James Cotton Bobak Nazer Ryan Verret.
Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
High-Level Interconnect Architectures for FPGAs Nick Barrow-Williams.
B. Fernández, D. Darvas, E. Blanco Formal methods appliedto PLC code verification Automation seminar CERN – IFAC (CEA) 02/06/2014.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
SystemC Semantics by Actors and Reduction Techniques in Model Checking Marjan Sirjani Formal Methods Lab, ECE Dept. University of Tehran, Iran MoCC 2008.
JET Algorithm Attila Hidvégi. Overview FIO scan in crate environment JET Algorithm –Hardware tests (on JEM 0.2) –Results and problems –Some VHDL tips.
Symbolic Model Checking of Software Nishant Sinha with Edmund Clarke, Flavio Lerda, Michael Theobald Carnegie Mellon University.
IP – Based Design Methodology
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
On Using Linearly Priced Timed Automata for Flow Analysis
Model Checking for an Executable Subset of UML
Presentation transcript:

Memory Interface Analysis Using the Real-Time Model Checker UPPAAL Egle Sasnauskaite Marius Mikucionis Supervisor: Gerd Behrmann Co-cupervisor: Thomas Hune Aalborg University Computer science departement Software systems Engineering 31 May, 2002

Motivation Radar principles: 1. Frequency diversity 2. Sweep integration MI system: (adders, FIFO buffers,register, an arbiter, SDRAM):  Synchronize. Storing data in the memory module  Combine Sliding window sum calculation Sum d,i =e d,i +sum d-1,i - e d-m,i ´´ 1´´ 2 e 0,3 e 1,3 e 2,3 e 3,3 e 0,4 e 1,4 e 2,4 e 4,4 e 1,2 e 0,2 e 2,2 e 3,2 e 4,2 e 3,4 2` 1`

The Main Goals  To analyse and to model the MI between input, output and the memory.  To verify the model within a reasonable amount of time and memory space.  To optimise the model in terms of buffer sizes and an arbiter algorithm.  To summarise the modelling methods for similar systems.

Modelling  Modelling tool – UPPAAL (a modelling toolbox of symbolic simulation and verification)  The model of the MI is a combination of timed automata with UPPAAL extensions

Verification  Model based techniques – Simulation and automated model checking  Verification method – Partial order reduction  Optimisation technique for full verification – Heuristical periodical approximation

Partial-order Reduction Method  Purpose – to avoid combinatorial explosion of states due to the modelling concurrency by interleaving.  Implementation – by introducing additional components.  Gain: Event serialization order and determinism  Problem: State space is still too big to verify the model  Disadvantage: Only particular ordering is examined

Heuristic Periodic Approximation  Purpose – to predict how many states should be explored to fully verify the model  Implementation:  find smaller subsystems in the compound system,  define periods of subsystems in a bigger system,  calculate the system period, which is expected to be the least common multiple of the subsystem periods.

Definitions in Heuristical Periodical Approximation a i – delay-transition a i ´ – action-transition A state of an automaton changes if changes: Valuation of clocks Valuation of data variables Location of the automaton. S=(l, v) SiSi aiai S i+1 A Path l 0,v 0 a0a0 a` 0 l 0,v 0 ´l 1,v 1 a1a1 l 1,v 1 ´ a1`a1` l i,v i aiai l i,v i ´ ai´ai´ … A compressed path a k+1 a` k+1 a` k+n-1 l 0,v 0 a0a0 a` 0 l 0,v 0 ´ l k,v k akak l k,v k ´ ak`ak` l k+1,v k+1 l k+1,v k+1 ´ … l k+n-1,v k+n-1 l k+n-1,v´ k+n-1 a k+n-1 … A state cycle A period of a state cycle:

Memory Interface Architecture Bus1Bus2Arbiter MHz100MHz2x100MHz Timer Starter 2x100MHz Adder2 Adder1 Buff1Reg1 Buff6Reg6 Buff8 Buff7 Buff5 Buff4 Buff2 Buff0 Reg8 Reg7 Reg5 Reg4 Reg2 Reg0 Buff3Reg3 Memory

Serialization Example starter:=Starter(); timer:=Timer(21, 5, 3); bus1:=Bus(1, 0, wireCount0, 1, bus0Wire, begSig, endSig); buf0:=inBuffer(2, 0, 1024, 0, 0, 0, 1, bus0Wire, bus1Wire, begSig, endSig, 8, begBuff, endBuff, 32); buf1:=inBuffer(3, 1, 1024, 0, 1, 1, 3, bus0Wire, bus1Wire, begSig, endSig, 8, begBuff, endBuff, 32); buf2:=outBuffer(4, 2, 512, 512, 2, 5, 2, bus1Wire, bus0Wire, begBuff, endBuff, 32, begSig, endSig, 8);... buf8:=inBuffer(10, 8, 2048, 0, 8, 8, 17, bus0Wire, bus1Wire, begSig, endSig, 16, begBuff, endBuff, 32); bus2:=Bus(11, 1, wireCount1, 1, bus1Wire, begBuff, endBuff); reg0:=Register(12, 0, 0, 0, 0, bus1Wire, begBuff, endBuff, begMem, endMem); reg1:=Register(13, 1, 2, 1, 0, bus1Wire, begBuff, endBuff, begMem, endMem);... reg8:=Register(20, 8, 16, 8, 0, bus1Wire, begBuff, endBuff, begMem, endMem); arbiter:=Arbiter(0, 2, begMem, endMem);

Periods in the Model Arbiter int counter; const unsafe 15625/5; const refreshCycle 100/5; const maxSafe unsafe-6; const maxUnsafe unsafe+refreshCycle;

Small vs. Complete MI (without refresh) Adder2 Adder1 Buff1Reg1 Buff6Reg6 Buff8 Buff7 Buff5 Buff4 Buff2 Buff0 Reg8 Reg7 Reg5 Reg4 Reg2 Reg0 Buff3Reg3 Memory Buff1Reg1 Buff0Reg0 Memory Period length: 640ns=2 7 ·5ns Cycle start: 80ns Cycle end: 720ns Period length: 5760ns=2 7 ·3 2 ·5ns Cycle start: 520ns Cycle end: 6280ns

Small MI with Memory Refresh Verification space is proportional to LCM(P MI, P R )

Complete MI with Memory Refresh The verification space can hardly be characterized by LCM(P MI, P R ) 4E+6

Arbiter Algorithm Synthesis (future) Round-robin Heuristic (fullest buffer) Optimal No halting problem for particular buffer sizes: If algorithm exists  it contains a finite cycle, since the number of states is finite If algorithm does not exist  buffer over/under-flow in all verification branches

Conclusions  The biggest challenge - state explosion problem.  Proposed a UPPAAL model of MI which is small enough to verify with an approximate memory refresh timing.  The model is flexible for various configurations.  We used eight times smaller buffer sizes.  We introduced ideas for optimisations in the future.

Questions?