robert dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfhomework...

77
Embedded System Design and Synthesis Robert Dick http://ziyang.eecs.northwestern.edu/ dickrp/esds-two-week Department of Electrical Engineering and Computer Science Northwestern University Office at Tsinghua University: 9–310 East Main Building

Upload: others

Post on 27-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Embedded System Design and Synthesis

Robert Dick

http://ziyang.eecs.northwestern.edu/∼dickrp/esds-two-weekDepartment of Electrical Engineering and Computer Science

Northwestern University

Office at Tsinghua University: 9–310 East Main Building

Page 2: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Outline

1. Specification and modeling languages

2. Homework

2 Robert Dick Embedded System Design and Synthesis

Page 3: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Section outline

1. Specification and modeling languagesIntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

3 Robert Dick Embedded System Design and Synthesis

Page 4: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Short and fat vs. tall and thin

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

4 Robert Dick Embedded System Design and Synthesis

Page 5: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Short and fat vs. tall and thin

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

4 Robert Dick Embedded System Design and Synthesis

Page 6: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Short and fat vs. tall and thin

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

4 Robert Dick Embedded System Design and Synthesis

Page 7: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Short and fat vs. tall and thin

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

behavioral level

register−transfer level

logic level

layout level

transistor level

system level

4 Robert Dick Embedded System Design and Synthesis

Page 8: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Available resources – System-level

General-purpose SW processors

Digital signal processors (DSPs)

Application-specific integrated circuits

Dynamically reconfigurable hardware

E.g., field-programmable gate arrays (FPGAs)

Busses

Wireless communication channels

Wires

5 Robert Dick Embedded System Design and Synthesis

Page 9: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Available resources – High-level

Simple arithmetic/logic units

Multiplexers

Registers

Wires

6 Robert Dick Embedded System Design and Synthesis

Page 10: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Specification language requirements

Describe hardware (HW) and software (SW) requirements

Specify constraints on design

Indicate system-level building blocks

To allow flexibility in synthesis, must be abstract

Differentiate HW from SW only when necessaryConcentrate on requirements, not implementationMake few assumptions about platform

7 Robert Dick Embedded System Design and Synthesis

Page 11: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Section outline

1. Specification and modeling languagesIntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

8 Robert Dick Embedded System Design and Synthesis

Page 12: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Software oriented design representations

ANSI-C

SystemC

Other SW language-based

9 Robert Dick Embedded System Design and Synthesis

Page 13: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

ANSI-C

Advantages

Huge code base

Many experienced programmers

Efficient means of SW implementation

Good compilers for many SW processors

Disadvantages

Little implementation flexibility

Strongly SW orientedMakes many assumptions about platform

Poor support for fine-scale HW synchronization

10 Robert Dick Embedded System Design and Synthesis

Page 14: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

SystemC

Advantages

Support from big players

Synopsys, Cadence, ARM, Red Hat, Ericsson, Fujitsu, InfineonTechnologies AG, Sony Corp., STMicroelectronics, and TexasInstruments

Familiar for SW engineers

Disadvantages

Extension of SW language

Not designed for HW from the start

Compiler available for limited number of SW processors

New

11 Robert Dick Embedded System Design and Synthesis

Page 15: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Other SW language-based

Numerous competitors

Numerous languages

ANSI-C, C++, and Java are most popular starting points

In the end, few can survive

SystemC has broad support

12 Robert Dick Embedded System Design and Synthesis

Page 16: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Section outline

1. Specification and modeling languagesIntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

13 Robert Dick Embedded System Design and Synthesis

Page 17: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Hardware oriented design representations

VHDL

Verilog

Esterel

14 Robert Dick Embedded System Design and Synthesis

Page 18: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

VHDL

Advantages

Supports abstract data types

System-level modeling supported

Better support for test harness design

Disadvantages

Requires extensions to easily operate at the gate-level

Difficult to learn

Slow to code

15 Robert Dick Embedded System Design and Synthesis

Page 19: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Verilog

Advantages

Easy to learn

Easy for small designs

Disadvantages

Not designed to handle large designs

Not designed for system-level

16 Robert Dick Embedded System Design and Synthesis

Page 20: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Verilog vs. VHDL

March 1995, Synopsys Users Group meeting

Create a gate netlist for the fastest fully synchronous loadable9-bit increment-by-3 decrement-by-5 up/down counter thatgenerated even parity, carry and borrow

5 / 9 Verilog users completed

0 / 5 VHDL users competed

Does this mean that Verilog is better?Maybe, but maybe it only means that Verilog is easier to use forsimple designs.

17 Robert Dick Embedded System Design and Synthesis

Page 21: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Esterel

Easily allows synchronization among parallel tasks

Works above RTL

Doesn’t require explicit enumeration of all states and transitions

Recently extended for specifying datapaths and flexible clockingschemes

Amenable to theorem proving

Translation to RTL or C possible

Commercialized by Esterel Technologies

18 Robert Dick Embedded System Design and Synthesis

Page 22: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Section outline

1. Specification and modeling languagesIntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

19 Robert Dick Embedded System Design and Synthesis

Page 23: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Graph based design representations

Dataflow graph (DFG)

Synchronous dataflow graph (SDFG)

Control flow graph (CFG)

Control dataflow graph (CDFG)

Finite state machine (FSM)

Petri net

Periodic vs. aperiodic

Real-time vs. best effort

Discrete vs. continuous timing

Example from research

20 Robert Dick Embedded System Design and Synthesis

Page 24: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Dataflow graph (DFG)

NEG

IOP

FIL

FT

DCT

3 kb

4 kb 4 kb

6 kb

3 kb

Hard DL = 150 ms

Hard DL = 230 ms

5 kbNEG

IOP

FIL

FT

DCT

3 kb

4 kb 4 kb

6 kb

3 kb

Soft DL = 230 ms

Soft DL = 150 ms

Nodes are tasks

Edges are data dependencies

Edges have communicationquantities

Used for digital signalprocessing (DSP)

Often acyclic when real-time

Can be cyclic when best-effort

21 Robert Dick Embedded System Design and Synthesis

Page 25: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Dataflow graph (DFG)

NEG

IOP

FIL

FT

DCT

3 kb

4 kb 4 kb

6 kb

3 kb

Hard DL = 150 ms

Hard DL = 230 ms

5 kbNEG

IOP

FIL

FT

DCT

3 kb

4 kb 4 kb

6 kb

3 kb

Soft DL = 230 ms

Soft DL = 150 ms

Nodes are tasks

Edges are data dependencies

Edges have communicationquantities

Used for digital signalprocessing (DSP)

Often acyclic when real-time

Can be cyclic when best-effort

21 Robert Dick Embedded System Design and Synthesis

Page 26: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Synchronous dataflow graph (SDFG)

2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

22 Robert Dick Embedded System Design and Synthesis

Page 27: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Synchronous dataflow graph (SDFG)

2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

22 Robert Dick Embedded System Design and Synthesis

Page 28: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Synchronous dataflow graph (SDFG)

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

22 Robert Dick Embedded System Design and Synthesis

Page 29: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Synchronous dataflow graph (SDFG)

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

22 Robert Dick Embedded System Design and Synthesis

Page 30: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Synchronous dataflow graph (SDFG)

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

22 Robert Dick Embedded System Design and Synthesis

Page 31: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Synchronous dataflow graph (SDFG)

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

22 Robert Dick Embedded System Design and Synthesis

Page 32: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Synchronous dataflow graph (SDFG)

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

22 Robert Dick Embedded System Design and Synthesis

Page 33: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Synchronous dataflow graph (SDFG)

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C

22 Robert Dick Embedded System Design and Synthesis

Page 34: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Synchronous dataflow graph (SDFG)

2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C2

2

1

3

6

2

A

B

C

2

2

1

3

6

2

A

B

C

22 Robert Dick Embedded System Design and Synthesis

Page 35: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Control flow graph (CFG)

false

false true

trueif i < 2

if k = 3

j = j + 5

k = k − 1

Nodes are tasks

Supports conditionals, loops

No communication quantities

SW background

Often cyclic

23 Robert Dick Embedded System Design and Synthesis

Page 36: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Control dataflow graph (CDFG)

false

false true

trueif i < 2

if k = 3

240 Kb

30 Kb

387 Kb

27 Kb

j = j + 5

k = k − 1

Supports conditionals, loops

Supports communicationquantities

Used by some high-levelsynthesis algorithms

24 Robert Dick Embedded System Design and Synthesis

Page 37: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Finite state machine (FSM)

1 1 0

1

0

1 0

0

00 01

1011

25 Robert Dick Embedded System Design and Synthesis

Page 38: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Finite state machine (FSM)

input0 1

00 10 0001 01 0010 00 0111 10 00

current next

Normally used at lower levels

Difficult to represent independentbehavior

State explosion

No built-in representation for dataflow

Extensions have been proposed

Extensions represent SW, e.g.,co-design finite state machines(CFSMs)

26 Robert Dick Embedded System Design and Synthesis

Page 39: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

Graph composed of places, transitions, and arcs

Tokens are produced and consumed

Useful model for asynchronous and stochastic processes

Places can have priorities

Not well-suited for representing dataflow systems

Timing analysis quite difficult

Large flat graphs difficult to understand

27 Robert Dick Embedded System Design and Synthesis

Page 40: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 41: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 42: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 43: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 44: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 45: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 46: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 47: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 48: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 49: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 50: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 51: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 52: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 53: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Petri net

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

thinkbusy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

busy

servers

available

servers

enter

service

waiting

processes

thinking

processesserve

think

M/D/3/2: Markov arrival, deterministic service delay,From A. Zimmermann’s token game demonstration.

28 Robert Dick Embedded System Design and Synthesis

Page 54: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Periodic graphs

Some system specifications contain periodic graphs

Can guarantee scheduling validity by scheduling to the leastcommon multiple of periods

Can also meet aperiodic specifications, however, resources willsometimes be idle

29 Robert Dick Embedded System Design and Synthesis

Page 55: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Periodic graphs

period = 20 msdeadline = 20 ms

time

period = 20 msdeadline = 20 ms

3 copies

period = 30 msdeadline = 40 ms

system hyperperiod = 60 ms

2 copies

time

period = 20 msdeadline = 20 ms

3 copies

period = 30 msdeadline = 40 ms

system hyperperiod = 60 ms

2 copies

time

period = 20 msdeadline = 20 ms

3 copies

period = 30 msdeadline = 40 ms

system hyperperiod = 60 ms

2 copies

time

30 Robert Dick Embedded System Design and Synthesis

Page 56: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Periodic graphs

period = 20 msdeadline = 20 ms

time

period = 20 msdeadline = 20 ms

3 copies

period = 30 msdeadline = 40 ms

system hyperperiod = 60 ms

2 copies

time

period = 20 msdeadline = 20 ms

3 copies

period = 30 msdeadline = 40 ms

system hyperperiod = 60 ms

2 copies

time

period = 20 msdeadline = 20 ms

3 copies

period = 30 msdeadline = 40 ms

system hyperperiod = 60 ms

2 copies

time

30 Robert Dick Embedded System Design and Synthesis

Page 57: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Periodic graphs

period = 20 msdeadline = 20 ms

time

period = 20 msdeadline = 20 ms

3 copies

period = 30 msdeadline = 40 ms

system hyperperiod = 60 ms

2 copies

time

period = 20 msdeadline = 20 ms

3 copies

period = 30 msdeadline = 40 ms

system hyperperiod = 60 ms

2 copies

time

period = 20 msdeadline = 20 ms

3 copies

period = 30 msdeadline = 40 ms

system hyperperiod = 60 ms

2 copies

time

30 Robert Dick Embedded System Design and Synthesis

Page 58: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Periodic graphs

period = 20 msdeadline = 20 ms

time

period = 20 msdeadline = 20 ms

3 copies

period = 30 msdeadline = 40 ms

system hyperperiod = 60 ms

2 copies

time

period = 20 msdeadline = 20 ms

3 copies

period = 30 msdeadline = 40 ms

system hyperperiod = 60 ms

2 copies

time

period = 20 msdeadline = 20 ms

3 copies

period = 30 msdeadline = 40 ms

system hyperperiod = 60 ms

2 copies

time

30 Robert Dick Embedded System Design and Synthesis

Page 59: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Aperiodic graphs

No precise periods imposed on task execution

Useful for representing reactive systems

Difficult to guarantee hard deadlines in such systems

Possible if minimum inter-arrival time known

31 Robert Dick Embedded System Design and Synthesis

Page 60: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Periodic vs. aperiodic

Periodic applications

Power electronics

Transportation applications

Engine controllersBrake controllers

Many multimedia applications

Video frame rateAudio sample rate

Many digital signal processing (DSP) applications

However, devices which react to unpredictable external stimuli haveaperiodic behaviorMany applications contain periodic and aperiodic components

32 Robert Dick Embedded System Design and Synthesis

Page 61: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Aperiodic to periodic

Can design periodic specifications that meet requirements posed byaperiodic specifications

Some resources will be wasted

Example:

At most one aperiodic task can arrive every 50 ms

It must complete execution within 100 ms of its arrival time

33 Robert Dick Embedded System Design and Synthesis

Page 62: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Aperiodic to periodic

Can easily build a periodic representation with a deadline andperiod of 5 ms

Problem, requires a 50 ms execution time when 100ms should besufficient

Can use overlapping graphs to allow an increase in executiontime

Parallelism required

The main problem with representing aperiodic problems with periodicrepresentations is that the tradeoff between deadline and period mustbe made at the time of synthesis

34 Robert Dick Embedded System Design and Synthesis

Page 63: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Real-time vs. best effort

Why make decisions about system implementation statically?

Allows easy timing analysis, hard real-time guarantees

If a system doesn’t have hard real-time deadlines, resources canbe more efficiently used by making late, dynamic decisions

Can combine real-time and best-effort portions within the samespecification

Reserve time slotsTake advantage of slack when tasks complete sooner than theirworst-case finish times

35 Robert Dick Embedded System Design and Synthesis

Page 64: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Discrete vs. continuous timing

System-level: continuous

Operations are not small integer multiples of the clock cycle

High-level: discrete

Operations are small integer multiples of the clock cycle

Implications:

System-level scheduling is more complicated. . .

. . . however, high-level also very difficult.

36 Robert Dick Embedded System Design and Synthesis

Page 65: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Section outline

1. Specification and modeling languagesIntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

37 Robert Dick Embedded System Design and Synthesis

Page 66: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Processing resource description

Often table-based

Price, area

For each task

Execution timePower consumptionPreemption costetc.

etc.

Similar characterization for communication resourcesWise to use process-based

38 Robert Dick Embedded System Design and Synthesis

Page 67: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Communication resource description

Can use bus-bridge based models for distributed systems

Wireless models

etc.

However, in the future, it will become increasingly important tobase SOC communication model on process parameters

39 Robert Dick Embedded System Design and Synthesis

Page 68: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Example from research

Data-flow graphs

Multirate

Hard real-time

Some aperiodic hard real-time tasks

May have best-effort tasks

40 Robert Dick Embedded System Design and Synthesis

Page 69: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

System-level representations summary

No single representation has been decided upon

Software-based representations becoming more popular

System-level representations will become more important

This is still an active area of research

41 Robert Dick Embedded System Design and Synthesis

Page 70: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Notes on clustering and partitioning

Interdependence with architecture

Heterogeneity’s impact on partitioning

Applications to grid computing

Dynamic partitioning

42 Robert Dick Embedded System Design and Synthesis

Page 71: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

IntroductionSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Interesting future direction

Open problem

Can specification be so simple for some embedded applicationdomains that application experts who are not computer engineerseasily do it?

What HCI, compiler, and synthesis support is required?

43 Robert Dick Embedded System Design and Synthesis

Page 72: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

Outline

1. Specification and modeling languages

2. Homework

44 Robert Dick Embedded System Design and Synthesis

Page 73: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

Clustering and system-level pipelining references

Steven Edwards, Luciano Lavagno, Edward A. Lee, and AlbertoSangiovanni-Vincentelli. Design of embedded systems: Formalmodels, validation, and synthesis. Proc. IEEE, (3):366–390,March 1997

Recent technical report from embedded systems languages expert

Wayne Wolf. Embedded computing systems andhardware/software co-design. In Wai-Kai Chen, editor, The VLSIHandbook. CRC Press, 2006

Assignment: Write a short paragraph describing the most importantpoints in both of these articles.

45 Robert Dick Embedded System Design and Synthesis

Page 74: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

Reading assignment

Robert P. Dick. Multiobjective Synthesis of Low-Power Real-TimeDistributed Embedded Systems. PhD thesis, Dept. of ElectricalEngineering, Princeton University, July 2002: Chapter 4

Definitions and introduction to stochastic optimization

46 Robert Dick Embedded System Design and Synthesis

Page 75: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

Decide topics and groups for project

Determine counts for each, add additional topics

1 Models and languages

2 Formal methods for designing reliable embedded systems

3 Reliability optimization

4 Heterogeneous multiprocessor synthesis

5 Real-time systems

6 Scheduling

47 Robert Dick Embedded System Design and Synthesis

Page 76: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

Decide topics and groups for project

Determine counts for each, add additional topics

1 Compilation techniques for embedded systems

2 Embedded operating systems

3 Low-power and power-aware design

4 Low-power and power-aware design (continued)

5 Novel fabrication techniques for compact and low-powerembedded systems

6 Emerging applications: sensor networks

7 Hardware and software data compression for use in embeddedsystems

48 Robert Dick Embedded System Design and Synthesis

Page 77: Robert Dick dickrp/esds ...ziyang.eecs.umich.edu/.../esds-two-week/lectures/esds-l2.pdfHomework Introduction Software oriented design representations Hardware oriented design representations

Specification and modeling languagesHomework

Next class

Overview of optimization techniques

Example solution to heterogeneous MPSoC synthesis problem

Survey of formal methods for designing reliable embeddedsystems

49 Robert Dick Embedded System Design and Synthesis