ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling

Size: px
Start display at page:

Download "ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling"

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 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 information

CS/ECE 5780/6780: Embedded System Design

CS/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 information

ECE 587 Hardware/Software Co-Design Lecture 23 Hardware Synthesis III

ECE 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 information

Formal Verification. Lecture 10

Formal 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 information

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification?

Administrivia. 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 information

EE382V: System-on-a-Chip (SoC) Design

EE382V: 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 information

Lecture 11 Lecture 11 Nov 5, 2014

Lecture 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 information

Areas 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. 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 information

System 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 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 information

Hardware Design and Simulation for Verification

Hardware 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 information

Hardware-Software Codesign. 1. Introduction

Hardware-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 information

Design Methodologies. Kai Huang

Design 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 information

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network

Outline. 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 information

Hardware-Software Codesign

Hardware-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 information

Coverage Metrics for Functional Validation of Hardware Designs

Coverage 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 information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed 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 information

System Level Design Flow

System 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 information

SoC Design for the New Millennium Daniel D. Gajski

SoC 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 information

Introduction to Formal Methods

Introduction 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 information

ICS 180 Spring Embedded Systems. Introduction: What are Embedded Systems and what is so interesting about them?

ICS 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 information

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.

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. 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 information

1 Introduction and Examples

1 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 information

Speed up Emulation Debugging using Whitebox Assertions

Speed 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 information

Formal Verification for safety critical requirements From Unit-Test to HIL

Formal 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 information

Hardware-Software Codesign. 1. Introduction

Hardware-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 information

Lecture 9: Reachability

Lecture 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 information

Test and Verification Solutions. ARM Based SOC Design and Verification

Test 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 information

Choosing IP-XACT IEEE 1685 standard as a unified description for timing and power performance estimations in virtual platforms platforms

Choosing 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 information

Solutions to Problem Set 5

Solutions 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 information

System Debugging and Verification : A New Challenge. Center for Embedded Computer Systems University of California, Irvine

System 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 information

RE for Embedded Systems - Part 1

RE 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 information

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

EEM870 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 information

Lecture 3: Design Methodologies

Lecture 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 information

Applications of Program analysis in Model-Based Design

Applications 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 information

Design Process. Design : specify and enter the design intent. Verify: Implement: verify the correctness of design and implementation

Design 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 information

Part 2: Principles for a System-Level Design Methodology

Part 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 information

Design Space Exploration of Systems-on-Chip: DIPLODOCUS

Design 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 information

By: Chaitanya Settaluri Devendra Kalia

By: 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 information

ECE 30 Introduction to Computer Engineering

ECE 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 information

Automated Requirements-Based Testing

Automated 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 information

ECE 449 OOP and Computer Simulation Lecture 09 Logic Simulation

ECE 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 information

Verification of Power Management Protocols through Abstract Functional Modeling

Verification 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 information

COMPASS: FORMAL METHODS FOR SYSTEM-SOFTWARE CO-ENGINEERING

COMPASS: 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 information

Resource-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 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 information

Temporal 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 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 information

Cyber Physical System Verification with SAL

Cyber 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 information

Verification Planning to Functional Closure of Processor-Based SoCs 1 CADENCE DESIGN SYSTEMS, INC.

Verification 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 information

Formal Verification for UML/SysML models

Formal 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 information

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego

ECE 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 information

HW/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 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 information

Compatible Qualification Metrics for Formal Property Checking

Compatible 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 information

Formal Methods in Software Engineering. Lecture 07

Formal 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 information

When addressing VLSI design most books start from a welldefined

When 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 information

EE 709:Testing & Verification of VLSI Circuits Introduction

EE 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 information

Foundation of Contract for Things

Foundation 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 information

HECTOR: Formal System-Level to RTL Equivalence Checking

HECTOR: 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 information

Hardware Modeling. Hardware Description. ECS Group, TU Wien

Hardware 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 information

On the Reliability of Correct Programs

On 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 information

Qualification of Verification Environments Using Formal Techniques

Qualification 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 information

Choosing an Intellectual Property Core

Choosing 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 information

Assertion and Model Checking of SystemC

Assertion 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 information

Name: CSCI E-220: Artificial Intelligence Midterm Exam, Fall Term 2001

Name: 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 information

Abstraction Layers for Hardware Design

Abstraction 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 information

Overview of Digital Design with Verilog HDL 1

Overview 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 information

V&V: Model-based testing

V&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 information

A Framework for Asynchronous Circuit Modeling and Verification in ACL2

A 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 information

Mechanically-Verified Validation of Satisfiability Solvers

Mechanically-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 information

COE 561 Digital System Design & Synthesis Introduction

COE 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 information

UVM in System C based verification

UVM 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 information

The University of Iowa Fall CS:5810 Formal Methods in Software Engineering. Introduction

The 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 information

Combinational Equivalence Checking

Combinational 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 information

Guidelines 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 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 information

EE382V: System-on-a-Chip (SoC) Design

EE382V: 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 information

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?

Testing. 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 information

EE Embedded Systems Design

EE 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 information

SCope: Efficient HdS simulation for MpSoC with NoC

SCope: 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 information

Modeling and Verification of Networkon-Chip using Constrained-DEVS

Modeling 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 information

TKT-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 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 information

Advanced 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 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 information

Course Administration

Course 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 information

Ensuring System Integrity through Advanced System Software Verification

Ensuring 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 information

Automatic analysis technology for aviation equipment software requirements ZHOUHan-Qing, LI Hai-Feng,HUANG Yan-Bing

Automatic 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 information

Performance Verification for ESL Design Methodology from AADL Models

Performance 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 information

An introduction to CoCentric

An 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 information

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001

Research 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 information

Proof Pearl: The Termination Analysis of Terminator

Proof 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 information

Lecture 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 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 information

Design Issues in Hardware/Software Co-Design

Design 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 information

Property-based design with HORUS / SYNTHORUS

Property-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 information

Notes for Lecture 24

Notes 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 information

Word-Level Equivalence Checking in Bit-Level Accuracy by Synthesizing Designs onto Identical Datapath

Word-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 information

Test and Evaluation of Autonomous Systems in a Model Based Engineering Context

Test 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 information

Pragmatic 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 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 information

Interplay Between Language and Formal Verification

Interplay 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 information

4 th European SystemC Users Group Meeting

4 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 information

Model Checking with Automata An Overview

Model 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 information

Functional Programming in Hardware Design

Functional 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 information

Ideally your algorithms for both parts should run in linear time. You will receive partial credit for a polynomial-time algorithm.

Ideally 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 information

SCADE 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 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 information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! 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