introduction to embedded systems research: from idea to...

88
Introduction to Embedded Systems Research: From Idea to Publication and/or Company and Specification Robert Dick [email protected] Department of Electrical Engineering and Computer Science University of Michigan 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 Power (mW) Time (s) 35 40 45 50 55 60 65 70 75 80 85 90 -8 -6 -4 -2 0 2 4 6 8 -8 -6 -4 -2 0 2 4 6 8 35 40 45 50 55 60 65 70 75 80 85 90 Temperature (°C) Position (mm) Temperature (°C)

Upload: others

Post on 23-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Introduction to Embedded Systems Research:From Idea to Publication and/or Company and Specification

Robert Dick

[email protected] of Electrical Engineering and Computer Science

University of Michigan

Fovea

Lens

Cornea

Variable Resolution

and Position Sampling

Change-Adaptive

Signalling

Spatial State

Cache

(Occipital

Place Area)

Analasys, e.g.,

Classification

Adequate

decision confidence?

Sampling Guidance

Y

N

Long-Term Memory

Decision /

Result

(b) Iterative, multi-round human vision system.

Image Signal

Processor

Application Processor

(CPU and/or GPU)

CloudDecision /

Result

(a) Conventional machine vision pipeline.

Image Sensor: typically

homogeneous RGGB or RCCC.

Demosaicing, binning,

denoising, gamma

correction, and compression.

Hardware Feature

Extraction Accelerator

or

Feature extraction on

raw captured data.

Runs CNN, LSTM or

other analysis algorithm.

May drop computation on less

important data, but already payed

Image Signal Processor transfer cost.

May render decision or (at high

energy cost) do feature extraction

and defer decision to cloud.

Minimalistic

Image Pre-Processor

Application Processor

(CPU and/or GPU)

CloudDecision /

Result

Image Sensor: capture only the

most important

data for decision accuracy.

Efficient gamma

correction

and binning.

Decide based on features.

Very high energy cost for

wireless data transfer.

Scene Cache

Capture ControllerHardware Feature

Extraction Accelerator

or

Adequate

decision confidence?

or

Y

N

Captures most relevant

and rapidly changing data.

Learns important sample locations

from prior rounds.

Maintains state built from

prior still-relevant samples.

Determine and

transmit

relevant data.

Decide based on features.

Very high energy cost for

wireless data transfer.

Issue commands to

capture important data.

(c) Goal: multi-round, energy-efficient, low-latency

continuous learning machine vision.

Feature extraction on sparse captured

data with similar distribution to processed data.

Continuously learn features and important

data based on prior captures.

1.1040

2.1041

385

2.1039

704

1.1039

36

2.1040

1734

0.1039

1

3.1040

4

4.1039

642

3.1039

4.1040

409

3.1041

396665

5.1042

108612774

5.1040

337

4.1041

10644

6.1044

117

6.1039

609

6.1045

164

6.1040

841434 723938

6.1042

209

5.1041

4 12 164

5.1045

529417

5.1044

140105 88

5.1039

154 10551 90677

7.1039

1248

7.1047

2106

7.1040

29773362 241966 22903106

6.1041

3119 1936 40

6.1047

4128 253

8.1050

4

8.1042

9.1050

24784

8.1039

89632

8.1044

2840

8.1040

1088

9.1039

10.1040

4

11.1039

957

10.1050

144

11.1040

156

10.1041

32 16

10.1047

87780

10.1045

2152

10.1039

1165

12.1040

145

13.1052

2404

12.1042

24

12.1045

33008

12.1044

8217

12.1041

8

12.1039

135427

14.1049

113

14.1040

229

13.1050

132

13.1042

74433

13.1041

17187

13.1040

2715

13.1039

170059 90

15.1040

16

15.1050

242 1225

14.1050

237

14.1042

6200

14.1041

4

14.1044

720

14.1052

20

14.1039

84 36939

16.1040

88

15.1049

6

15.1039

56

17.1054

2919

16.1050

129

16.1041

36

16.1047

49154

16.1045

2632

16.1049

27

16.1052

16

16.1039

222734

18.1048

133

18.1039

3439

18.1040

241

17.1050

16

18.1049

36 339224

17.1042

172832

17.1041

49620 448

17.1040

1376493 2883

17.1045

72

17.1044

1073

17.1049

55441826

17.1048

124 3648290

17.1052

3547

17.1039

2484110477445

17.1047

24

19.1040

72

19.1039

6 88 60631617

18.1041

28 76

18.1047

3305

18.1054

13744

20.1040

109

20.1039

269

19.1052

8

19.1047

11712

19.1049

10

19.1054

7520

21.1039

82

20.1049

5

20.1047

4896

20.1054

864

22.1040

4

22.1050

23.1040

4

22.1039

144

24.1058

3389

23.1050

76

24.1040

4

23.1042

17528

23.1041

4

23.1054

24

23.1044

6234

23.1058

261

23.1049

4

23.1052

2944

23.1039

3069658

25.1040

80

24.1050

4

24.1039

58

25.1039

26.1040

4

27.1039

489

26.1050

4

27.1040

4

26.1047

3808

26.1045

2248

26.1058

113 80

26.1049

11

26.1039

66

26.1054

840

28.1055

84266 1542

27.1042

1229

27.1041

29619

27.1058

12

27.1049

3984

27.1048

35337

29.1040

262

29.1056

164

29.1039

742

28.1050

4 2464

28.1042

2137912

29.1055

1128

28.1041

4 2633 4

28.1040

2716132 691

28.1058

24 84 32

28.1049

36176 3

28.1048

1192 48

28.1039

365 110957 24475

29.105029.104229.104129.104729.104529.105829.104929.105229.1054

2

3

4

5

6

7

8

0 1 2 3 4 5 6 7 8

Pow

er

(mW

)

Time (s)

35 40 45 50 55 60 65 70 75 80 85 90

-8 -6 -4 -2 0 2 4 6 8

-8

-6

-4

-2

0

2

4

6

8

35 40 45 50 55 60 65 70 75 80 85 90

Temperature (°C)

Position (mm)

Temperature (°C)

Page 2: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Outline

1. Topical overview

2. Reading and writing research papers

3. Specification

4. Deadlines

2 R. Dick EECS 507

Page 3: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Breadth I

Reading and writing research papers.

Costs, constraints, and optimization.

Specification languages and models. Allocation, assignment, and scheduling.

The role of the memory hierarchy in embedded systems.

Embedded (real-time) operating systems.

Sensors and actuators.

Cyberphysical systems.

Low power sensing (guest lecture)

Energy- and temperature-aware design and embedded power supplies.

Wireless communication and its impact on power consumption.

Page 4: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Breadth II

Reliability-aware design and formal methods.

Testing.

Security.

Applications: smartphones.

Applications: wireless sensor networks.

Applications: wearables.

Applications: autonomous vehicles.

Applications: vision.

Page 5: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Depth I

The IoT problem.

Overview of machine learning in the IoT.

Efficient embedded machine learning algorithms in the IoT.

Devices and circuits for machine learning.

IoT reliability.

LPWAN communication.

IoT security and privacy.

Vision in the IoT.

Data compression in the context of energy efficiency and machine learning.

Page 6: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Outline

1. Topical overview

2. Reading and writing research papers

3. Specification

4. Deadlines

6 R. Dick EECS 507

Page 7: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Finding research papers

Google Scholar, considering publication date and citations.

Recommendations by researchers in the area.

Top conferences and journals in the area.

Find surveys and follow the citations.

Find great papers and follow citations in reverse order.

In some cases, consider patents.

7 R. Dick EECS 507

Page 8: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Embedded systems conferences and journals I

Embedded Systems Week conferences.

Cyber-Physical Systems Week conferences.

Design Automation Conference.

Design, Automation, and Test in Europe Conference.

International Conference on Architectural Support for ProgrammingLanguages and Operating Systems.

Conference on Embedded Networked Sensor Systems.

IEEE Transactions on Mobile Computing.

IEEE Transactions on Very Large Scale Integration Systems.

8 R. Dick EECS 507

Page 9: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Embedded systems conferences and journals II

IEEE Transactions on Computer-Aided Design of Integrated Circuits andSystems.

IEEE Design and Test of Computers.

ACM Transactions on Embedded Computing Systems.

Not exhaustive.

9 R. Dick EECS 507

Page 10: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Reading research papers

Read in detail. If you must skim once, reread in detail.

When you encounter a concept you aren’t yet aware of, note it and move on.

If the paper starts to become incomprehensible, return to missing conceptsand follow citations or search for definitions.

This is hard and slow; it speeds up when you better understand a field.

Check equations and algorithms carefully; most people miss them.

Read experimental setup carefully and skeptically.

Interpret results with an open mind, ignoring the authors’ claims.

Study the ideas that remained unclear at the end of the paper.

Search for the most interesting and important ideas and findings; don’tcopy-paste the abstract.

10 R. Dick EECS 507

Page 11: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

From idea to publication

While not novel

Develop idea.

Do literature survey to find best closely related work.

Develop method of evaluating idea. Abandon if it cannot be evaluated.

While not highly rigorous

Evaluate with increasing detail, comparing with best closely related work.

Write the abstract and claims. Abandon if not important.

Identify appropriate conference or journal.

Ask experts in the area.

See where excellent related papers were published.

Consider impact factors and acceptance rates.

See whether similar ideas were published there recently.

Write paper.

Page 12: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Anticipatory writing

Know your audience.

Don’t waste their time.

Don’t spin.

Make novelty clear.

Give credit when it is due.

Be careful, but blunt when comparing.

More novel ideas are harder to publish. . .

. . . but they are eventually heavily cited and win awards.

12 R. Dick EECS 507

Page 13: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Understanding the reviewer

Off record.

13 R. Dick EECS 507

Page 14: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

From idea to company

Develop an idea that many people value deeply.

How? Talk to the potential customers first.

Start with the potential customers.

When you prototype, start with quick, low-resolution version.

14 R. Dick EECS 507

Page 15: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

How you see your idea

15 R. Dick EECS 507

Page 16: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

How your customers see your idea

16 R. Dick EECS 507

Page 17: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

How your customers see you

17 R. Dick EECS 507

Page 18: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

That’s a great idea!

What they say: That’s a great idea.

What they mean: I don’t want to hurt your feelings you cute widdle engineer.

I would definitely use that!

There are almost no circumstances in which I would use that, let aloneconsider paying for or supporting it.

I have some ideas on how to make it better!

I’m pretending to be someone who would use it and leading you down a falsepath.

Follow your dreams, dude!

Squander your life, dude!

18 R. Dick EECS 507

Page 19: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

How to learn more

Talking to Humans by Giff Constable.

The Startup Owner’s Manual by Steve Blank and Bob Dorf.

Market Research on a Shoestring by Naeem Zafar.

Steve Blank’s online videos (steveblank.com).

Contact me for more.

19 R. Dick EECS 507

Page 20: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

What you need to learn

How to design, sequence, and deliver questions to minimize bias, both yoursand theirs.

How to talk with strangers.

This is highly unnatural, all the more so for most engineers.

Most must learn it.

You can learn it well enough to do a good job, even if it makes youuncomfortable.

20 R. Dick EECS 507

Page 21: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Other topics

Business plans.

Self funding.

Crowdfunding.

Angel investors.

VCs.

Production.

Marketing.

Sales and distribution.

Customer support.

21 R. Dick EECS 507

Page 22: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Paper discussion mechanics

Papers all posted to website.

Everybody reads them and writes 0.5–1 page summaries (see template)covering the most important points.

Everybody critiques the summaries of other randomly assigned people.

A randomly assigned team presents each paper (slides and 20–30 minutepresentation).

You can swap papers with others based on interest and background.

22 R. Dick EECS 507

Page 23: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Outline

1. Topical overview

2. Reading and writing research papers

3. Specification

4. Deadlines

23 R. Dick EECS 507

Page 24: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Why learn about specification languages

Understand different ways of describing design to other people.

Find most appropriate language for your application.

Use for synthesis.

Use for model checking.

24 R. Dick EECS 507

Page 25: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

25 R. Dick EECS 507

Page 26: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Available resources – high-level

Simple arithmetic/logic units.

Multiplexers.

Registers.

Wires.

26 R. Dick EECS 507

Page 27: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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 necessary.

Concentrate on requirements, not implementation.

Make few assumptions about platform.

27 R. Dick EECS 507

Page 28: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Section outline

3. SpecificationSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

28 R. Dick EECS 507

Page 29: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Software oriented design representations

ANSI-C.

SystemC.

Other SW language-based.

29 R. Dick EECS 507

Page 30: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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 oriented.Makes many assumptions about platform.

Poor support for fine-scale HW synchronization.

30 R. Dick EECS 507

Page 31: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

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

31 R. Dick EECS 507

Page 32: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Many SW language-based

Numerous competitors.

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

In the end, few can be widely used.

SystemC has broad support.

32 R. Dick EECS 507

Page 33: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Section outline

3. SpecificationSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

33 R. Dick EECS 507

Page 34: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Hardware oriented design representations

VHDL.

Verilog.

Esterel.

34 R. Dick EECS 507

Page 35: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

35 R. Dick EECS 507

Page 36: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

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

36 R. Dick EECS 507

Page 37: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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 loadable 9-bitincrement-by-3 decrement-by-5 up/down counter that generated 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 for simple designs.

37 R. Dick EECS 507

Page 38: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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 clocking schemes.

Amenable to theorem proving.

Translation to RTL or C possible.

Commercialized by Esterel Technologies.

38 R. Dick EECS 507

Page 39: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Section outline

3. SpecificationSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

39 R. Dick EECS 507

Page 40: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

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.

Page 41: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

Soft DL = 230 ms

Soft DL = 150 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 communication quantities.

Used for digital signal processing(DSP).

Often acyclic when real-time.

Can be cyclic when best-effort.

41 R. Dick EECS 507

Page 42: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

Soft DL = 230 ms

Soft DL = 150 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 communication quantities.

Used for digital signal processing(DSP).

Often acyclic when real-time.

Can be cyclic when best-effort.

41 R. Dick EECS 507

Page 43: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

C

42 R. Dick EECS 507

Page 44: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

C

42 R. Dick EECS 507

Page 45: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

C

42 R. Dick EECS 507

Page 46: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

C

42 R. Dick EECS 507

Page 47: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

C

42 R. Dick EECS 507

Page 48: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

C

42 R. Dick EECS 507

Page 49: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

C

42 R. Dick EECS 507

Page 50: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

42 R. Dick EECS 507

Page 51: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Control flow graph (CFG)

false

false true

trueif i < 2

if k = 3

240 Kb

30 Kb

387 Kb

27 Kb

j = j + 5

k = k − 1

Nodes are tasks.

Supports conditionals, loops.

No communication quantities.

SW background.

Often cyclic.

43 R. Dick EECS 507

Page 52: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Control dataflow graph (CDFG)

≤ 3 msfalse

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 communication quantities.

Used by some high-level synthesisalgorithms.

44 R. Dick EECS 507

Page 53: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

45 R. Dick EECS 507

Page 54: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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 independent behavior.

State explosion.

No built-in representation for data flow.

Extensions have been proposed.

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

46 R. Dick EECS 507

Page 55: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

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

47 R. Dick EECS 507

Page 56: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

think

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 57: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

think

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 58: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

think

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 59: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

think

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 60: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

think

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 61: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

think

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 62: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

think

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 63: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

think

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 64: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

think

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 65: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

think

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 66: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

think

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 67: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

think

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 68: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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

M/D/3/2: Markov arrival, deterministic service delay,

From A. Zimmermann’s token game demonstration.

48 R. Dick EECS 507

Page 69: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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 least commonmultiple of periods.

Can also meet aperiodic specifications, however, resources will sometimes beidle.

49 R. Dick EECS 507

Page 70: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Periodic graphs

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

50 R. Dick EECS 507

Page 71: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Periodic graphs

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

50 R. Dick EECS 507

Page 72: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Periodic graphs

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

50 R. Dick EECS 507

Page 73: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

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

51 R. Dick EECS 507

Page 74: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Periodic vs. aperiodic

Periodic applications.

Power electronics.

Transportation applications.

Engine controllers.

Brake controllers.

Many multimedia applications.

Video frame rate.

Audio sample rate.

Many digital signal processing (DSP) applications.

However, devices which react to unpredictable external stimuli haveaperiodic behavior

Many applications contain periodic and aperiodic components

Page 75: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Aperiodic to periodic

Can design periodic specifications that meet requirements posed by aperiodicspecifications.

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.

53 R. Dick EECS 507

Page 76: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Aperiodic to periodic

Can easily build a periodic representation with a deadline and period of50 ms.

Problem, requires a 50 ms execution time when 100 ms should be sufficient.

Can use overlapping graphs to allow an increase in execution time.

Parallelism required.

The main problem with representing aperiodic problems with periodicrepresentations is that the tradeoff between deadline and period must be

made at the time of synthesis.

54 R. Dick EECS 507

Page 77: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software 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 can be moreefficiently used by making late, dynamic decisions.

Can combine real-time and best-effort portions within the same specification.

Reserve time slots

Take advantage of slack when tasks complete sooner than theirworst-case finish times

55 R. Dick EECS 507

Page 78: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

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

56 R. Dick EECS 507

Page 79: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Section outline

3. SpecificationSoftware oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

57 R. Dick EECS 507

Page 80: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Processing resource description

Often table-based.

Price, area.

For each task.

Execution time

Power consumption

Preemption cost

etc.

Similar characterization for communication resources.Wise to use process-based.

58 R. Dick EECS 507

Page 81: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Communication resource description

Can use bus-bridge based models for distributed systems.

Wireless models.

However, in the future, it will become increasingly important to base SOCcommunication model on process parameters.

59 R. Dick EECS 507

Page 82: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

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

60 R. Dick EECS 507

Page 83: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

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

61 R. Dick EECS 507

Page 84: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Software oriented design representationsHardware oriented design representationsGraph based design representationsResource descriptions

Some future direction

Can specification be so simple for some embedded application domains thatapplication experts who are not computer engineers easily do it?

What HCI, compiler, and synthesis support is required?

What impact will increasing use of machine learning in embedded systemshave on specification?

62 R. Dick EECS 507

Page 85: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Outline

1. Topical overview

2. Reading and writing research papers

3. Specification

4. Deadlines

63 R. Dick EECS 507

Page 86: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Homework

64 R. Dick EECS 507

Page 87: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Homework

Pages 1–2 by 16 January, finish by 21 January: Read S. A. Edwards, “Designand verification languages,” Columbia University, Tech. Rep., Nov. 2004 andwrite a 0.5–1 page ungraded summary.

21 January.

0.5–1 page project description with 2–5 citations.

Indicate the goal.

Describe the best closely related prior work.

Indicate what is novel about your idea or the data you will gather.

Describe the solution(s) you will consider.

Explain how the solution(s) will be evaluated.

Upload PDF before class that day.

Allows suggestions and team formation.

Page 88: Introduction to Embedded Systems Research: From Idea to ...ziyang.eecs.umich.edu/iesr/lectures/l2.pdf · The role of the memory hierarchy in embedded systems. Embedded (real-time)

Topical overviewReading and writing research papers

SpecificationDeadlines

Announcement: Optional team formation meeting

4pm 23 January.

3316 EECS.

Also watch Piazza. Will post examples.

66 R. Dick EECS 507