ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling
|
|
- Cathleen Jenkins
- 6 years ago
- Views:
Transcription
1 ECE 587 Hardware/Software Co-Design Spring /20 ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling Professor Jia Wang Department of Electrical and Computer Engineering Illinois Institute of Technology February 15, 2018
2 ECE 587 Hardware/Software Co-Design Spring /20 Reading Assignment This lecture: 7.3, 3.3 Next lecture: 3.4
3 ECE 587 Hardware/Software Co-Design Spring /20 Outline Model Checking System Modeling
4 ECE 587 Hardware/Software Co-Design Spring /20 Model Model refers to desired system properties (in mathematics) Safety: bad things never happen Liveness: good things eventually happen Examples for safety Two circuits always produce the same outputs with the same inputs (i.e. equivalence checking) The microwave oven will not start when the door is open. Examples for liveness A processor eventually executes an instruction. The brake is eventually applied after you hit the pedal (within a deadline)
5 ECE 587 Hardware/Software Co-Design Spring /20 Model Model refers to desired system properties (in mathematics) Safety: bad things never happen Liveness: good things eventually happen Examples for safety Two circuits always produce the same outputs with the same inputs (i.e. equivalence checking) The microwave oven will not start when the door is open. Examples for liveness A processor eventually executes an instruction. The brake is eventually applied after you hit the pedal (within a deadline)
6 ECE 587 Hardware/Software Co-Design Spring /20 Model Model refers to desired system properties (in mathematics) Safety: bad things never happen Liveness: good things eventually happen Examples for safety Two circuits always produce the same outputs with the same inputs (i.e. equivalence checking) The microwave oven will not start when the door is open. Examples for liveness A processor eventually executes an instruction. The brake is eventually applied after you hit the pedal (within a deadline)
7 Model Checking (Gajski et al.) Model checking requires to represent the system and the model to be checked in a mathematically unambiguous way. The system: FSM The model: temporal logic, a function that maps all traces of state transitions to 0 and 1 The system FSM could be the RTL implementation of the system but is usually its abstraction. Enable one to check a RTL system with more than states Model checker will generate a counter example when the property doesn t hold, helping to identify corner cases for simulation-based verification. ECE 587 Hardware/Software Co-Design Spring /20
8 Model Checking (Gajski et al.) Model checking requires to represent the system and the model to be checked in a mathematically unambiguous way. The system: FSM The model: temporal logic, a function that maps all traces of state transitions to 0 and 1 The system FSM could be the RTL implementation of the system but is usually its abstraction. Enable one to check a RTL system with more than states Model checker will generate a counter example when the property doesn t hold, helping to identify corner cases for simulation-based verification. ECE 587 Hardware/Software Co-Design Spring /20
9 Model Checking (Gajski et al.) Model checking requires to represent the system and the model to be checked in a mathematically unambiguous way. The system: FSM The model: temporal logic, a function that maps all traces of state transitions to 0 and 1 The system FSM could be the RTL implementation of the system but is usually its abstraction. Enable one to check a RTL system with more than states Model checker will generate a counter example when the property doesn t hold, helping to identify corner cases for simulation-based verification. ECE 587 Hardware/Software Co-Design Spring /20
10 ECE 587 Hardware/Software Co-Design Spring /20 Computation as a Tree (Gajski et al.) We can expand the FSM into a tree that captures all possible traces of state transitions to 0 and 1. Temporal logics are limited to certain traces on the tree.
11 ECE 587 Hardware/Software Co-Design Spring /20 Computation as a Tree (Gajski et al.) We can expand the FSM into a tree that captures all possible traces of state transitions to 0 and 1. Temporal logics are limited to certain traces on the tree.
12 ECE 587 Hardware/Software Co-Design Spring /20 Temporal Logics I (a) p always (G) holds in one future (E): liveness (b) p always (G) holds in all futures (A): safety (Gajski et al.)
13 ECE 587 Hardware/Software Co-Design Spring /20 Temporal Logics I (a) p always (G) holds in one future (E): liveness (b) p always (G) holds in all futures (A): safety (Gajski et al.)
14 ECE 587 Hardware/Software Co-Design Spring /20 Temporal Logics II (c) p holds eventually (F) in one future (E): safety (d) p holds eventually (F) in all futures (A): liveness (Gajski et al.)
15 ECE 587 Hardware/Software Co-Design Spring /20 Temporal Logics II (c) p holds eventually (F) in one future (E): safety (d) p holds eventually (F) in all futures (A): liveness (Gajski et al.)
16 ECE 587 Hardware/Software Co-Design Spring /20 Example Consider a game that the player wins if he/sha could obtain exactly 4 gallons of water using a 5 gallon jug, a 3 gallon jug, and a water faucet. All jugs start empty. Each step the player could either Empty a jug to ground. Pour water from a jug to another, until one of them is empty or full. Fill a jug full with the faucet. How to model the game and how to reason with the model?
17 ECE 587 Hardware/Software Co-Design Spring /20 Example Consider a game that the player wins if he/sha could obtain exactly 4 gallons of water using a 5 gallon jug, a 3 gallon jug, and a water faucet. All jugs start empty. Each step the player could either Empty a jug to ground. Pour water from a jug to another, until one of them is empty or full. Fill a jug full with the faucet. How to model the game and how to reason with the model?
18 ECE 587 Hardware/Software Co-Design Spring /20 Example Consider a game that the player wins if he/sha could obtain exactly 4 gallons of water using a 5 gallon jug, a 3 gallon jug, and a water faucet. All jugs start empty. Each step the player could either Empty a jug to ground. Pour water from a jug to another, until one of them is empty or full. Fill a jug full with the faucet. How to model the game and how to reason with the model?
19 ECE 587 Hardware/Software Co-Design Spring /20 Example Consider a game that the player wins if he/sha could obtain exactly 4 gallons of water using a 5 gallon jug, a 3 gallon jug, and a water faucet. All jugs start empty. Each step the player could either Empty a jug to ground. Pour water from a jug to another, until one of them is empty or full. Fill a jug full with the faucet. How to model the game and how to reason with the model?
20 ECE 587 Hardware/Software Co-Design Spring /20 Other Formal Verification Techniques Theorem proving via deductive reasoning Proofs are usually obtained interactively, i.e. designers need provide additional deduction rules for the prover if it cannot proceed further automatically. Bounded model checking Simplify model checking by bounding the lengths of traces Symbolic simulation Use symbols to increase coverage in simulation-based verification while utilizing equivalence checking for monitor
21 ECE 587 Hardware/Software Co-Design Spring /20 Other Formal Verification Techniques Theorem proving via deductive reasoning Proofs are usually obtained interactively, i.e. designers need provide additional deduction rules for the prover if it cannot proceed further automatically. Bounded model checking Simplify model checking by bounding the lengths of traces Symbolic simulation Use symbols to increase coverage in simulation-based verification while utilizing equivalence checking for monitor
22 ECE 587 Hardware/Software Co-Design Spring /20 Other Formal Verification Techniques Theorem proving via deductive reasoning Proofs are usually obtained interactively, i.e. designers need provide additional deduction rules for the prover if it cannot proceed further automatically. Bounded model checking Simplify model checking by bounding the lengths of traces Symbolic simulation Use symbols to increase coverage in simulation-based verification while utilizing equivalence checking for monitor
23 ECE 587 Hardware/Software Co-Design Spring /20 Summary of Verification Techniques (Gajski et al.)
24 ECE 587 Hardware/Software Co-Design Spring /20 Outline Model Checking System Modeling
25 ECE 587 Hardware/Software Co-Design Spring /20 System Design Challenges Input: a high-level system specification Could be functionalities only described in MoCs Output: a low-level system implementation Software: programs for the targeted instruction sets Hardware: what level? Methodologies and tools are mature for abstraction levels at and below RTL for hardware. For system design, hardware implementations stop at RTL. No single step solution for system design Semantic gap: there are multiple ways to implement a single MoC Huge semantic gap exists between specification and implementation.
26 ECE 587 Hardware/Software Co-Design Spring /20 System Design Challenges Input: a high-level system specification Could be functionalities only described in MoCs Output: a low-level system implementation Software: programs for the targeted instruction sets Hardware: what level? Methodologies and tools are mature for abstraction levels at and below RTL for hardware. For system design, hardware implementations stop at RTL. No single step solution for system design Semantic gap: there are multiple ways to implement a single MoC Huge semantic gap exists between specification and implementation.
27 ECE 587 Hardware/Software Co-Design Spring /20 System Design Challenges Input: a high-level system specification Could be functionalities only described in MoCs Output: a low-level system implementation Software: programs for the targeted instruction sets Hardware: what level? Methodologies and tools are mature for abstraction levels at and below RTL for hardware. For system design, hardware implementations stop at RTL. No single step solution for system design Semantic gap: there are multiple ways to implement a single MoC Huge semantic gap exists between specification and implementation.
28 ECE 587 Hardware/Software Co-Design Spring /20 System Design Challenges Input: a high-level system specification Could be functionalities only described in MoCs Output: a low-level system implementation Software: programs for the targeted instruction sets Hardware: what level? Methodologies and tools are mature for abstraction levels at and below RTL for hardware. For system design, hardware implementations stop at RTL. No single step solution for system design Semantic gap: there are multiple ways to implement a single MoC Huge semantic gap exists between specification and implementation.
29 ECE 587 Hardware/Software Co-Design Spring /20 System Design Process Decompose the whole system design process into a series of smaller steps. Ensure the semantic gap is small enough for a single step Each step is defined by a pair of system models. The one at higher abstraction level serves as specification. The one at lower abstraction level serves as implementation. Refinement: generate the implementation from the specification for each step Introduce additional details limited to certain scope of the specification Incorporate design decisions to choose one implementation from multiple possible ones While more tools are available for refinement, it is critical for designers to provide proper design decisions. Especially when an initial system implementation fails to meet design constraints and multiple design iterations are necessary.
30 ECE 587 Hardware/Software Co-Design Spring /20 System Design Process Decompose the whole system design process into a series of smaller steps. Ensure the semantic gap is small enough for a single step Each step is defined by a pair of system models. The one at higher abstraction level serves as specification. The one at lower abstraction level serves as implementation. Refinement: generate the implementation from the specification for each step Introduce additional details limited to certain scope of the specification Incorporate design decisions to choose one implementation from multiple possible ones While more tools are available for refinement, it is critical for designers to provide proper design decisions. Especially when an initial system implementation fails to meet design constraints and multiple design iterations are necessary.
31 ECE 587 Hardware/Software Co-Design Spring /20 System Design Process Decompose the whole system design process into a series of smaller steps. Ensure the semantic gap is small enough for a single step Each step is defined by a pair of system models. The one at higher abstraction level serves as specification. The one at lower abstraction level serves as implementation. Refinement: generate the implementation from the specification for each step Introduce additional details limited to certain scope of the specification Incorporate design decisions to choose one implementation from multiple possible ones While more tools are available for refinement, it is critical for designers to provide proper design decisions. Especially when an initial system implementation fails to meet design constraints and multiple design iterations are necessary.
32 ECE 587 Hardware/Software Co-Design Spring /20 System Design Process Decompose the whole system design process into a series of smaller steps. Ensure the semantic gap is small enough for a single step Each step is defined by a pair of system models. The one at higher abstraction level serves as specification. The one at lower abstraction level serves as implementation. Refinement: generate the implementation from the specification for each step Introduce additional details limited to certain scope of the specification Incorporate design decisions to choose one implementation from multiple possible ones While more tools are available for refinement, it is critical for designers to provide proper design decisions. Especially when an initial system implementation fails to meet design constraints and multiple design iterations are necessary.
33 ECE 587 Hardware/Software Co-Design Spring /20 Typical System Design Tool and Design Process (Gajski et al.)
34 ECE 587 Hardware/Software Co-Design Spring /20 Roles of Models The implementation of the previous design step will serve as the specification of the next one. For implementation, models allow designers to reason about design decisions by simulating and analyzing certain aspects of the system. For specification, models document system features that need to be implemented and decided. As design progresses, More details are included into the models so simulation and analysis takes more time to finish. Simulation and analysis will become more accurate due to the available details. Designers will be able to afford the increased simulation and analysis time by focusing on the most important parts of the system.
35 ECE 587 Hardware/Software Co-Design Spring /20 Roles of Models The implementation of the previous design step will serve as the specification of the next one. For implementation, models allow designers to reason about design decisions by simulating and analyzing certain aspects of the system. For specification, models document system features that need to be implemented and decided. As design progresses, More details are included into the models so simulation and analysis takes more time to finish. Simulation and analysis will become more accurate due to the available details. Designers will be able to afford the increased simulation and analysis time by focusing on the most important parts of the system.
36 ECE 587 Hardware/Software Co-Design Spring /20 Roles of Models The implementation of the previous design step will serve as the specification of the next one. For implementation, models allow designers to reason about design decisions by simulating and analyzing certain aspects of the system. For specification, models document system features that need to be implemented and decided. As design progresses, More details are included into the models so simulation and analysis takes more time to finish. Simulation and analysis will become more accurate due to the available details. Designers will be able to afford the increased simulation and analysis time by focusing on the most important parts of the system.
37 ECE 587 Hardware/Software Co-Design Spring /20 Roles of Models The implementation of the previous design step will serve as the specification of the next one. For implementation, models allow designers to reason about design decisions by simulating and analyzing certain aspects of the system. For specification, models document system features that need to be implemented and decided. As design progresses, More details are included into the models so simulation and analysis takes more time to finish. Simulation and analysis will become more accurate due to the available details. Designers will be able to afford the increased simulation and analysis time by focusing on the most important parts of the system.
38 ECE 587 Hardware/Software Co-Design Spring /20 Abstraction Levels for System Design At the highest abstraction level, we would assume the system is specified using process-based models while each process is specified using state-based models. What intermediate abstraction levels should we introduce for HW/SW implementations? Separate communication from computation Compilers will help to implement a single process as HW or SW. Communications become limiting factors for system performance. Accurate system analysis demands accurate communication modeling. The ratio of communication latency to computation latency generally increases as more transistors are packed into a chip. Complex system requires more data to be transfered among subsystems, resulting in latency with limited bandwidth and excessive power consumption.
39 ECE 587 Hardware/Software Co-Design Spring /20 Abstraction Levels for System Design At the highest abstraction level, we would assume the system is specified using process-based models while each process is specified using state-based models. What intermediate abstraction levels should we introduce for HW/SW implementations? Separate communication from computation Compilers will help to implement a single process as HW or SW. Communications become limiting factors for system performance. Accurate system analysis demands accurate communication modeling. The ratio of communication latency to computation latency generally increases as more transistors are packed into a chip. Complex system requires more data to be transfered among subsystems, resulting in latency with limited bandwidth and excessive power consumption.
40 ECE 587 Hardware/Software Co-Design Spring /20 Abstraction Levels for System Design At the highest abstraction level, we would assume the system is specified using process-based models while each process is specified using state-based models. What intermediate abstraction levels should we introduce for HW/SW implementations? Separate communication from computation Compilers will help to implement a single process as HW or SW. Communications become limiting factors for system performance. Accurate system analysis demands accurate communication modeling. The ratio of communication latency to computation latency generally increases as more transistors are packed into a chip. Complex system requires more data to be transfered among subsystems, resulting in latency with limited bandwidth and excessive power consumption.
41 ECE 587 Hardware/Software Co-Design Spring /20 Abstraction Levels for System Design At the highest abstraction level, we would assume the system is specified using process-based models while each process is specified using state-based models. What intermediate abstraction levels should we introduce for HW/SW implementations? Separate communication from computation Compilers will help to implement a single process as HW or SW. Communications become limiting factors for system performance. Accurate system analysis demands accurate communication modeling. The ratio of communication latency to computation latency generally increases as more transistors are packed into a chip. Complex system requires more data to be transfered among subsystems, resulting in latency with limited bandwidth and excessive power consumption.
42 ECE 587 Hardware/Software Co-Design Spring /20 System Design Models Cycle-Accurate Model (CAM) Both computation and communication are specified cycle-by-cycle. Model functionality in implementation Specification Model (SM) Both computation and communication are not timed. Timed Functional Model Transaction-Level Model (TLM) Both computation and communication are approximated timed Bus Cycle-Accurate Model (BCAM) Computation Cycle-Accurate Model (CCAM)
43 ECE 587 Hardware/Software Co-Design Spring /20 System Design Models Cycle-Accurate Model (CAM) Both computation and communication are specified cycle-by-cycle. Model functionality in implementation Specification Model (SM) Both computation and communication are not timed. Timed Functional Model Transaction-Level Model (TLM) Both computation and communication are approximated timed Bus Cycle-Accurate Model (BCAM) Computation Cycle-Accurate Model (CCAM)
44 ECE 587 Hardware/Software Co-Design Spring /20 System Design Models Cycle-Accurate Model (CAM) Both computation and communication are specified cycle-by-cycle. Model functionality in implementation Specification Model (SM) Both computation and communication are not timed. Timed Functional Model Transaction-Level Model (TLM) Both computation and communication are approximated timed Bus Cycle-Accurate Model (BCAM) Computation Cycle-Accurate Model (CCAM)
45 ECE 587 Hardware/Software Co-Design Spring /20 System Design Models Cycle-Accurate Model (CAM) Both computation and communication are specified cycle-by-cycle. Model functionality in implementation Specification Model (SM) Both computation and communication are not timed. Timed Functional Model Transaction-Level Model (TLM) Both computation and communication are approximated timed Bus Cycle-Accurate Model (BCAM) Computation Cycle-Accurate Model (CCAM)
46 ECE 587 Hardware/Software Co-Design Spring /20 System Design Models Cycle-Accurate Model (CAM) Both computation and communication are specified cycle-by-cycle. Model functionality in implementation Specification Model (SM) Both computation and communication are not timed. Timed Functional Model Transaction-Level Model (TLM) Both computation and communication are approximated timed Bus Cycle-Accurate Model (BCAM) Computation Cycle-Accurate Model (CCAM)
47 ECE 587 Hardware/Software Co-Design Spring /20 System Design Models Cycle-Accurate Model (CAM) Both computation and communication are specified cycle-by-cycle. Model functionality in implementation Specification Model (SM) Both computation and communication are not timed. Timed Functional Model Transaction-Level Model (TLM) Both computation and communication are approximated timed Bus Cycle-Accurate Model (BCAM) Computation Cycle-Accurate Model (CCAM)
48 ECE 587 Hardware/Software Co-Design Spring /20 System Design Methodology as Model Transformations (Gajski et al.) A design methodology is illustrated as a path from A to F. We will be interested in the one passing C.
49 ECE 587 Hardware/Software Co-Design Spring /20 System Design Methodology as Model Transformations (Gajski et al.) A design methodology is illustrated as a path from A to F. We will be interested in the one passing C.
50 ECE 587 Hardware/Software Co-Design Spring /20 Summary of System Modeling System design is decomposed into steps. A model for implementation at one step will serve for specification at the next step. System design models can be classified by how they model computation and communication. System design methodology is represented by the transformations of the system at various models.
ECE 587 Hardware/Software Co-Design Lecture 11 Verification I
ECE 587 Hardware/Software Co-Design Spring 2018 1/23 ECE 587 Hardware/Software Co-Design Lecture 11 Verification I Professor Jia Wang Department of Electrical and Computer Engineering Illinois Institute
More informationCS/ECE 5780/6780: Embedded System Design
CS/ECE 5780/6780: Embedded System Design John Regehr Lecture 18: Introduction to Verification What is verification? Verification: A process that determines if the design conforms to the specification.
More informationECE 587 Hardware/Software Co-Design Lecture 23 Hardware Synthesis III
ECE 587 Hardware/Software Co-Design Spring 2018 1/28 ECE 587 Hardware/Software Co-Design Lecture 23 Hardware Synthesis III Professor Jia Wang Department of Electrical and Computer Engineering Illinois
More informationFormal Verification. Lecture 10
Formal Verification Lecture 10 Formal Verification Formal verification relies on Descriptions of the properties or requirements of interest Descriptions of systems to be analyzed, and rely on underlying
More informationAdministrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification?
Administrivia ECE/CS 5780/6780: Embedded System Design Scott R. Little Lab 8 status report. Set SCIBD = 52; (The Mclk rate is 16 MHz.) Lecture 18: Introduction to Hardware Verification Scott R. Little
More informationEE382V: System-on-a-Chip (SoC) Design
EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu
More informationLecture 11 Lecture 11 Nov 5, 2014
Formal Verification/Methods Lecture 11 Lecture 11 Nov 5, 2014 Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems to be analyzed, and
More informationAreas related to SW verif. Trends in Software Validation. Your Expertise. Research Trends High level. Research Trends - Ex 2. Research Trends Ex 1
Areas related to SW verif. Trends in Software Validation Abhik Roychoudhury CS 6214 Formal Methods Model based techniques Proof construction techniques Program Analysis Static Analysis Abstract Interpretation
More informationSystem Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın
System Level Design For Low Power Yard. Doç. Dr. Berna Örs Yalçın References System-Level Design Methodology, Daniel D. Gajski Hardware-software co-design of embedded systems : the POLIS approach / by
More informationHardware Design and Simulation for Verification
Hardware Design and Simulation for Verification by N. Bombieri, F. Fummi, and G. Pravadelli Universit`a di Verona, Italy (in M. Bernardo and A. Cimatti Eds., Formal Methods for Hardware Verification, Lecture
More informationHardware-Software Codesign. 1. Introduction
Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2
More informationDesign Methodologies. Kai Huang
Design Methodologies Kai Huang News Is that real? In such a thermally constrained environment, going quad-core only makes sense if you can properly power gate/turbo up when some cores are idle. I have
More informationOutline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network
By Alberto Puggelli Outline SLD challenges Platform Based Design (PBD) Case study: Wireless Sensor Network Leveraging state of the art CAD Metropolis Case study: JPEG Encoder SLD Challenge Establish a
More informationHardware-Software Codesign
Hardware-Software Codesign 8. Performance Estimation Lothar Thiele 8-1 System Design specification system synthesis estimation -compilation intellectual prop. code instruction set HW-synthesis intellectual
More informationCoverage Metrics for Functional Validation of Hardware Designs
Coverage Metrics for Functional Validation of Hardware Designs Serdar Tasiran, Kurt Keutzer IEEE, Design & Test of Computers,2001 Presenter Guang-Pau Lin What s the problem? What can ensure optimal use
More informationDistributed Systems Programming (F21DS1) Formal Verification
Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on
More informationSystem Level Design Flow
System Level Design Flow What is needed and what is not Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine www.cecs.uci.edu/~gajski System Level Design Flow What is
More informationSoC Design for the New Millennium Daniel D. Gajski
SoC Design for the New Millennium Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine www.cecs.uci.edu/~gajski Outline System gap Design flow Model algebra System environment
More informationIntroduction to Formal Methods
2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette
More informationICS 180 Spring Embedded Systems. Introduction: What are Embedded Systems and what is so interesting about them?
ICS 180 Spring 1999 Embedded Systems Introduction: What are Embedded Systems and what is so interesting about them? A. Veidenbaum Information and Computer Science University of California, Irvine. Outline
More informationCodesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.
Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Embedded Processor Types General Purpose Expensive, requires
More information1 Introduction and Examples
1 Introduction and Examples Sequencing Problems Definition A sequencing problem is one that involves finding a sequence of steps that transforms an initial system state to a pre-defined goal state for
More informationSpeed up Emulation Debugging using Whitebox Assertions
Speed up Emulation Debugging using Whitebox Assertions Ricky Wang ricky@atrenta.com This presentation may contain forward-looking statements regarding product development. Information or statements contained
More informationFormal Verification for safety critical requirements From Unit-Test to HIL
Formal Verification for safety critical requirements From Unit-Test to HIL Markus Gros Director Product Sales Europe & North America BTC Embedded Systems AG Berlin, Germany markus.gros@btc-es.de Hans Jürgen
More informationHardware-Software Codesign. 1. Introduction
Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2
More informationLecture 9: Reachability
Lecture 9: Reachability Outline of Lecture Reachability General Transition Systems Algorithms for Reachability Safety through Reachability Backward Reachability Algorithm Given hybrid automaton H : set
More informationTest and Verification Solutions. ARM Based SOC Design and Verification
Test and Verification Solutions ARM Based SOC Design and Verification 7 July 2008 1 7 July 2008 14 March 2 Agenda System Verification Challenges ARM SoC DV Methodology ARM SoC Test bench Construction Conclusion
More informationChoosing IP-XACT IEEE 1685 standard as a unified description for timing and power performance estimations in virtual platforms platforms
hoosing IP-XAT IEEE 1685 standard as a unified description for timing and power performance estimations in virtual platforms platforms Emmanuel Vaumorin (Magillem Design Services) Motivation New needs
More informationSolutions to Problem Set 5
Massachusetts Institute of Technology 6.042J/18.062J, Fall 02: Mathematics for Computer Science Professor Albert Meyer and Dr. Radhika Nagpal Solutions to Problem Set 5 Problem 1. You are given two buckets,
More informationSystem Debugging and Verification : A New Challenge. Center for Embedded Computer Systems University of California, Irvine
System Debugging and Verification : A New Challenge Daniel Gajski Samar Abdi Center for Embedded Computer Systems http://www.cecs.uci.edu University of California, Irvine Overview Simulation and debugging
More informationRE for Embedded Systems - Part 1
REQUIREMENTS ENGINEERING LECTURE 2017/2018 Dr. Jörg Dörr RE for Embedded Systems - Part 1 Fraunhofer IESE Lecture Outline Embedded systems and their characteristics Requirements specifications (for embedded
More informationEEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools
EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools Wen-Yen Lin, Ph.D. Department of Electrical Engineering Chang Gung University Email: wylin@mail.cgu.edu.tw March 2013 Agenda Introduction
More informationLecture 3: Design Methodologies
Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based on slides and textbook from Wayne Wolf High Performance Embedded Computing 2007 Elsevier Topics Design
More informationApplications of Program analysis in Model-Based Design
Applications of Program analysis in Model-Based Design Prahlad Sampath (Prahlad.Sampath@mathworks.com) 2018 by The MathWorks, Inc., MATLAB, Simulink, Stateflow, are registered trademarks of The MathWorks,
More informationDesign Process. Design : specify and enter the design intent. Verify: Implement: verify the correctness of design and implementation
Design Verification 1 Design Process Design : specify and enter the design intent Verify: verify the correctness of design and implementation Implement: refine the design through all phases Kurt Keutzer
More informationPart 2: Principles for a System-Level Design Methodology
Part 2: Principles for a System-Level Design Methodology Separation of Concerns: Function versus Architecture Platform-based Design 1 Design Effort vs. System Design Value Function Level of Abstraction
More informationDesign Space Exploration of Systems-on-Chip: DIPLODOCUS
Design Space Exploration of Systems-on-Chip: DIPLODOCUS Ludovic Apvrille Telecom ParisTech ludovic.apvrille@telecom-paristech.fr May, 2011 Outline Context Design Space Exploration Ludovic Apvrille DIPLODOCUS
More informationBy: Chaitanya Settaluri Devendra Kalia
By: Chaitanya Settaluri Devendra Kalia What is an embedded system? An embedded system Uses a controller to perform some function Is not perceived as a computer Software is used for features and flexibility
More informationECE 30 Introduction to Computer Engineering
ECE 0 Introduction to Computer Engineering Study Problems, Set #9 Spring 01 1. Given the following series of address references given as word addresses:,,, 1, 1, 1,, 8, 19,,,,, 7,, and. Assuming a direct-mapped
More informationAutomated Requirements-Based Testing
Automated Requirements-Based Testing Tuesday, October 7 th 2008 2008 The MathWorks, Inc. Dr. Marc Segelken Senior Application Engineer Overview Purposes of Testing Test Case Generation Structural Testing
More informationECE 449 OOP and Computer Simulation Lecture 09 Logic Simulation
ECE 449 Object-Oriented Programming and Computer Simulation, Fall 2017, Dept. of ECE, IIT 1/31 ECE 449 OOP and Computer Simulation Lecture 09 Logic Simulation Professor Jia Wang Department of Electrical
More informationVerification of Power Management Protocols through Abstract Functional Modeling
Verification of Power Management Protocols through Abstract Functional Modeling G. Kamhi, T. Levy, Niranjan M, M. Mhameed, H. Rawlani, R. B. Rajput, E. Singerman, V. Vedula, Y. Zbar Motivation Microprocessor
More informationCOMPASS: FORMAL METHODS FOR SYSTEM-SOFTWARE CO-ENGINEERING
COMPASS: FORMAL METHODS FOR SYSTEM-SOFTWARE CO-ENGINEERING Viet Yen Nguyen Lehrstuhl für Informatik 2, RWTH Aachen University nguyen@cs.rwth-aachen.de Technology Innovation Days, ESA/ESTEC, 2011 ABOUT
More informationResource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems
Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Insup Lee 1, Oleg Sokolsky 1, Anna Philippou 2 1 RTG (Real-Time Systems Group) Department of
More informationTemporal Refinement Using SMT and Model Checking with an Application to Physical-Layer Protocols
Temporal Refinement Using SMT and Model Checking with an Application to Physical-Layer Protocols Lee Pike (Presenting), Galois, Inc. leepike@galois.com Geoffrey M. Brown, Indiana University geobrown@cs.indiana.edu
More informationCyber Physical System Verification with SAL
Cyber Physical System Verification with July 22, 2013 Cyber Physical System Verification with Outline 1 2 3 4 5 Cyber Physical System Verification with Table of Contents 1 2 3 4 5 Cyber Physical System
More informationVerification Planning to Functional Closure of Processor-Based SoCs 1 CADENCE DESIGN SYSTEMS, INC.
Verification Planning to Functional Closure of Processor-Based SoCs February 2006 DesignCon 2006 Andrew Piziali 1 CADENCE DESIGN SYSTEMS, INC. Overview Introduction The Design Under Verification Verification
More informationFormal Verification for UML/SysML models
Formal Verification for UML/SysML models IBM Research Lab - Haifa Content Formal verification v.s. testing Correctness properties Formal verification for Rhapsody models 2 Formal Verification Desired Properties
More informationECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego
Advanced Digital Winter, 2009 ECE Department UC San Diego dey@ece.ucsd.edu http://esdat.ucsd.edu Winter 2009 Advanced Digital Objective: of a hardware-software embedded system using advanced design methodologies
More informationHW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999
HW/SW Co-design Design of Embedded Systems Jaap Hofstede Version 3, September 1999 Embedded system Embedded Systems is a computer system (combination of hardware and software) is part of a larger system
More informationCompatible Qualification Metrics for Formal Property Checking
Munich - November 18, 2013 Formal Property Checking Senior Staff Engineer Verification Infineon Technologies Page 1 Overview Motivation Goals Qualification Approaches Onespin s Coverage Feature Certitude
More informationFormal Methods in Software Engineering. Lecture 07
Formal Methods in Software Engineering Lecture 07 What is Temporal Logic? Objective: We describe temporal aspects of formal methods to model and specify concurrent systems and verify their correctness
More informationWhen addressing VLSI design most books start from a welldefined
Objectives An ASIC application MSDAP Analyze the application requirement System level setting of an application Define operation mode Define signals and pins Top level model Write a specification When
More informationEE 709:Testing & Verification of VLSI Circuits Introduction
EE 709:Testing & Verification of VLSI Circuits Introduction Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Dept. of Electrical Engineering Indian Institute of Technology
More informationFoundation of Contract for Things
Foundation of Contract for Things C.Sofronis, O.Ferrante, A.Ferrari, L.Mangeruca ALES S.r.l. Rome The Internet of System Engineering INCOSE-IL Seminar, Herzliya, Israel 15 September, 2011 Software Platform
More informationHECTOR: Formal System-Level to RTL Equivalence Checking
ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008
More informationHardware Modeling. Hardware Description. ECS Group, TU Wien
Hardware Modeling Hardware Description ECS Group, TU Wien Content of this course Hardware Specification Functional specification High Level Requirements Detailed Design Description Realisation Hardware
More informationOn the Reliability of Correct Programs
On the Reliability of Correct Programs Marie-Claude Gaudel LRI, Université de Paris-Sud & CNRS April 2010 LAAS 1 Programs? Everybody knows what it is Let us try: A program is a piece of text in a (hopefully)
More informationQualification of Verification Environments Using Formal Techniques
Qualification of Verification Environments Using Formal Techniques Raik Brinkmann DVClub on Verification Qualification April 28 2014 www.onespin-solutions.com Copyright OneSpin Solutions 2014 Copyright
More informationChoosing an Intellectual Property Core
Choosing an Intellectual Property Core MIPS Technologies, Inc. June 2002 One of the most important product development decisions facing SOC designers today is choosing an intellectual property (IP) core.
More informationAssertion and Model Checking of SystemC
Assertion and Model Checking of SystemC Sofiène Tahar Hardware Verification Group Department of Electrical and Computer Engineering Concordia University Montreal, Quebec, CANADA First Annual North American
More informationName: CSCI E-220: Artificial Intelligence Midterm Exam, Fall Term 2001
Name: CSCI E-220: Artificial Intelligence Midterm Exam, Fall Term 2001 This is a 75-minute, open-book exam. Take a minute to look over the exam, and begin by answering the questions you feel most comfortable
More informationAbstraction Layers for Hardware Design
SYSTEMC Slide -1 - Abstraction Layers for Hardware Design TRANSACTION-LEVEL MODELS (TLM) TLMs have a common feature: they implement communication among processes via function calls! Slide -2 - Abstraction
More informationOverview of Digital Design with Verilog HDL 1
Overview of Digital Design with Verilog HDL 1 1.1 Evolution of Computer-Aided Digital Design Digital circuit design has evolved rapidly over the last 25 years. The earliest digital circuits were designed
More informationV&V: Model-based testing
V&V: Model-based testing Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification
More informationA Framework for Asynchronous Circuit Modeling and Verification in ACL2
A Framework for Asynchronous Circuit Modeling and Verification in ACL2 Cuong Chau 1, Warren A. Hunt, Jr. 1, Marly Roncken 2, and Ivan Sutherland 2 {ckcuong,hunt}@cs.utexas.edu, marly.roncken@gmail.com,
More informationMechanically-Verified Validation of Satisfiability Solvers
Mechanically-Verified Validation of Satisfiability Solvers Nathan Wetzler The University of Texas at Austin Dissertation Proposal October 18, 2013 Outline Motivation and Proposal Satisfiability and Proofs
More informationCOE 561 Digital System Design & Synthesis Introduction
1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design
More informationUVM in System C based verification
April, 2016 Test Experiences and Verification of implementing Solutions UVM in System C based verification Delivering Tailored Solutions for Hardware Verification and Software Testing EMPLOYEES TVS - Global
More informationThe University of Iowa Fall CS:5810 Formal Methods in Software Engineering. Introduction
The University of Iowa Fall 2017 CS:5810 Formal Methods in Software Engineering Introduction Copyright 2017, Cesare Tinelli, Pierre-Loïc Garoche, Reiner Hänle, Steven Miller These notes are copyrighted
More informationCombinational Equivalence Checking
Combinational Equivalence Checking Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab. Dept. of Electrical Engineering Indian Institute of Technology Bombay viren@ee.iitb.ac.in
More informationGuidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process
Guidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process UK MathWorks Aerospace & Defence Industry Working Group Guidelines for deployment of MathWorks R2010a toolset within
More informationEE382V: System-on-a-Chip (SoC) Design
EE382V: System-on-a-Chip (SoC) Design Lecture 20 SoC Verification Sources: Jacob A. Abraham Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture
More informationTesting. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?
Testing ECE/CS 5780/6780: Embedded System Design Scott R. Little Lecture 24: Introduction to Software Testing and Verification What is software testing? Running a program in order to find bugs (faults,
More informationEE Embedded Systems Design
EE4800-03 Embedded Systems Design Lesson 2 Structured Design, Documentation, and Laboratory Notebooks 1 Overview - Structured Design The divide-and-conquer technique Requirements Partitioning - The Black
More informationSCope: Efficient HdS simulation for MpSoC with NoC
SCope: Efficient HdS simulation for MpSoC with NoC Eugenio Villar Héctor Posadas University of Cantabria Marcos Martínez DS2 Motivation The microprocessor will be the NAND gate of the integrated systems
More informationModeling and Verification of Networkon-Chip using Constrained-DEVS
Modeling and Verification of Networkon-Chip using Constrained-DEVS Soroosh Gholami Hessam S. Sarjoughian School of Computing, Informatics, and Decision Systems Engineering Arizona Center for Integrative
More informationTKT-1527 Digital System Design Issues Tero Arpinen. Introduction to SoC modeling and Models of Computation
TKT-1527 Digital System Design Issues Tero Arpinen Introduction to SoC modeling and Models of Computation 1 Reference material A. Jantsch and I. Sander, Models of computation and languages for embedded
More informationAdvanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay
Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance
More informationCourse Administration
Spring 207 EE 363: Computer Organization Chapter 5: Large and Fast: Exploiting Memory Hierarchy - Avinash Kodi Department of Electrical Engineering & Computer Science Ohio University, Athens, Ohio 4570
More informationEnsuring System Integrity through Advanced System Software Verification
Mike Bartley, TVS Ensuring System Integrity through Advanced System Software Verification Test and Verification Solutions Helping companies develop products that are: Reliable, Safe and Secure Our Opportunities
More informationAutomatic analysis technology for aviation equipment software requirements ZHOUHan-Qing, LI Hai-Feng,HUANG Yan-Bing
4th International Conference on Mechatronics, Materials, Chemistry and Computer Engineering (ICMMCCE 2015) Automatic analysis technology for aviation equipment software requirements ZHOUHan-Qing, LI Hai-Feng,HUANG
More informationPerformance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL Models Hugues Jérome Institut Supérieur de l'aéronautique et de l'espace (ISAE-SUPAERO) Université de Toulouse 31055 TOULOUSE Cedex 4 Jerome.huges@isae.fr
More informationAn introduction to CoCentric
A Hand-Out 1 An introduction to CoCentric Las Palmas de G. C., Spain Jun, 27 th, 2002 Agenda 2 System-level SoC design What is SystemC? CoCentric System Studio SystemC based designs verification CoCentric
More informationResearch Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001
Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright
More informationProof Pearl: The Termination Analysis of Terminator
Proof Pearl: The Termination Analysis of Terminator Joe Hurd Computing Laboratory Oxford University joe.hurd@comlab.ox.ac.uk Abstract. Terminator is a static analysis tool developed by Microsoft Research
More informationLecture 18: Memory Hierarchy Main Memory and Enhancing its Performance Professor Randy H. Katz Computer Science 252 Spring 1996
Lecture 18: Memory Hierarchy Main Memory and Enhancing its Performance Professor Randy H. Katz Computer Science 252 Spring 1996 RHK.S96 1 Review: Reducing Miss Penalty Summary Five techniques Read priority
More informationDesign Issues in Hardware/Software Co-Design
Volume-2, Issue-1, January-February, 2014, pp. 01-05, IASTER 2013 www.iaster.com, Online: 2347-6109, Print: 2348-0017 ABSTRACT Design Issues in Hardware/Software Co-Design R. Ganesh Sr. Asst. Professor,
More informationProperty-based design with HORUS / SYNTHORUS
Property-based design with HORUS / SYNTHORUS Dominique Borrione, Negin Javaheri, Katell Morin-Allory, Yann Oddos, Alexandre Porcher Radboud University, Nijmegen 1 March 27, 2013 Functional specifications
More informationNotes for Lecture 24
U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined
More informationWord-Level Equivalence Checking in Bit-Level Accuracy by Synthesizing Designs onto Identical Datapath
972 PAPER Special Section on Formal Approach Word-Level Equivalence Checking in Bit-Level Accuracy by Synthesizing Designs onto Identical Datapath Tasuku NISHIHARA a), Member, Takeshi MATSUMOTO, and Masahiro
More informationTest and Evaluation of Autonomous Systems in a Model Based Engineering Context
Test and Evaluation of Autonomous Systems in a Model Based Engineering Context Raytheon Michael Nolan USAF AFRL Aaron Fifarek Jonathan Hoffman 3 March 2016 Copyright 2016. Unpublished Work. Raytheon Company.
More informationPragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter using SystemVerilog Assertions
Pragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter using SystemVerilog Assertions Mark Litterick (Verification Consultant) mark.litterick@verilab.com 2 Introduction Clock
More informationInterplay Between Language and Formal Verification
Interplay Between Language and Formal Verification Dr. Carl Seger Senior Principal Engineer Strategic CAD Labs, Intel Corp. Nov. 4, 2009 Quiz 1 Outline Context of talk Evolution of a custom language Stage
More information4 th European SystemC Users Group Meeting
4 th European SystemC Users Group Meeting http://www-ti.informatik.uni-tuebingen.de/systemc Copenhagen October 5 th, 2001, 1100-1600 SystemC 2.0 Tutorial Thorsten Grötker R & D Manager Synopsys, Inc. Motivation
More informationModel Checking with Automata An Overview
Model Checking with Automata An Overview Vanessa D Carson Control and Dynamical Systems, Caltech Doyle Group Presentation, 05/02/2008 VC 1 Contents Motivation Overview Software Verification Techniques
More informationFunctional Programming in Hardware Design
Functional Programming in Hardware Design Tomasz Wegrzanowski Saarland University Tomasz.Wegrzanowski@gmail.com 1 Introduction According to the Moore s law, hardware complexity grows exponentially, doubling
More informationIdeally your algorithms for both parts should run in linear time. You will receive partial credit for a polynomial-time algorithm.
HW 7: Extra problems Instructor: Sariel Har-Peled CS/ECE 374: Algorithms & Models of Computation, Fall 2017 Version: 1.0 1 Consider a directed graph G, where each edge is colored either red, white, or
More informationSCADE S E M I N A R I N S O F T W A R E E N G I N E E R I N G P R E S E N T E R A V N E R B A R R
SCADE 1 S E M I N A R I N S O F T W A R E E N G I N E E R I N G P R E S E N T E R A V N E R B A R R What is SCADE? Introduction 2 Software Critical Application Development Environment, a Lustrebased IDE
More informationTesting! Prof. Leon Osterweil! CS 520/620! Spring 2013!
Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are
More information