embedded system design - thecat - web services...

23
Embedded System Design Dr. Hamid Vakilzadian Guest Professor Department of Informatics University of Hamburg 1

Upload: lamtruc

Post on 10-Mar-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

Embedded System Design

Dr. Hamid VakilzadianGuest Professor

Department of InformaticsUniversity of Hamburg

1

Page 2: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

Course Outline• Review of FSM Design• Review of ROM/PAL implementation• Datapath Design• Controller Design• VHDL Description• Design Using Altera FPGA (UP1 System)• Codesign and virtual design• Hardware/Software Partitioning

2

Page 3: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

Review of FSM Design Process

Combinational Logic CKTsOutput(s) of these circuits that is a function of the present inputs.

Sequential CKTsOutput(s) of these circuits is a function of the current inputs and their past history. Memory elements are needed to store the past history. These circuits have feedbacks.

3

Page 4: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

Basic Design Approach of Sequential CKTs (FSM)

Six Step Process

1. Understand the statement of the Specification

2. Obtain an abstract representation of the FSM

• Using State Diagram or• Using ASM Chart

and develop a Transition Table

3. Perform a state minimization

4. Make state assignment

5. Choose FF types to implement FSM state register

6. Implement the FSM 4

Page 5: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

Basic Design Approach

Example: Vending Machine FSMGeneral Machine Concept:

• Deliver a package of gum after 15 cents deposited

• Single coin slot for dimes, nickels

• No change

Step 1. Understand the problem:

5Block Diagram

Vending Machine

FSM

N

D

Reset

Clk

OpenCoin

Sensor Gum Release

Mechanism

Draw a picture!

Specification may not be complete:

Ex: What happens if penny is inserted or what happens after gum is delivered? Make reasonable assumptions!

Page 6: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

Vending Machine Example

Step 2. Map into more suitable abstract representation

Tabulate typical input sequences:a. three nickelsb. nickel, dimec. dime, nickeld. two dimese. two nickels, dime

Draw state diagram:

Inputs: N, D, reset

Output: open

Reset

N

N

N

D

D

N D

[open]

[open] [open] [open]

S0

S1 S2

S3 S4 S5 S6

S8

[open]

S7

D

State Diagram Representation 6

Page 7: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

S0 S0 S1 S2 X 0S1 S1 S3 S4 X 0S2 S2 S5 S6 X 0S3 S3 S7 S8 X 0S4 S4 X X X 1S5 S5 X X X 1S6 S6 X X X 1S7 S7 X X X 1S8 S8 X X X 1

State 00 01 10 11 OutputPresent DN

Reset

N

N

N

D

D

N D

[open]

[open] [open] [open]

S0

S1 S2

S3 S4 S5 S6

S8

[open]

S7

D

State Transition Table7

Page 8: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

S1 S0S1, S1S3, S2S4

S2 S0S2, S1S5, S2S6 S1S4, S3S5, S4S6

S3 S0S3, S1S7, S2S8 S1S3S1S7S4S8 S2S3, S5S7, S6S8

S4

S5 S4S5

S6 S4S6 S5S6

S7 S4S7 S5S7 S6S7

S8 S4S8 S5S8 S6S8 S7S8

S0 S1 S2 S3 S4 S5 S6 S7

State Minimization8

Page 9: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

s0 s1 s2 s3 s4 s5 s6 s7 s8

s0 s1 s2 s3 s4 s5 s6 s7 s8

s1 s2 s3 s4 s5 s6 s7 s8

s2 s3 s3s4 s5 s6 s7 s8

s3 s4s5 s6 s7 s8

States needed: A=s0, B=s1, C=s2s3, D=s4s5s6s7s8 9

Page 10: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

Vending Machine Example

Reset

N

N

N, D

[open]

15¢

10¢

D

D

Step 3: State Minimization

10

Page 11: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

State Assignment

• Rule 0 (Fundamental Mode CKTs Only!)– States which are connected on the flow graph

must be adjacent or at least effectively adjacent.

• Rule 1– Under a given input condition, states which go

to the same next state should be adjacent. Priority should be given to states having common next states for more number of inputs.

11

Page 12: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

State Assignment

• Rule 2– For each state, those states which are the “next

state” entries for adjacent inputs should be adjacent

• Rule 3– States with the same output class should be

adjacent12

Page 13: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

State 00 01 11 10 Rule II

q0 q0 q5 x q10 q0q5, q0q10

q5 q5 q10 x q15 q5q10, q5q15

q10 q10 q15 x q15 q10q15, q10q15

q15 q15 x x x

Rule I q5q10

q0 0 1q1

0

1

q0 q5

q10 q15

q1q0

00 0 Cent

01 5 Cents

10 10 Cents

11 15 Cents

State Encoding

13

Page 14: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

Vending Machine Example

Step 4: State Encoding

Reset

N

N

N, D

[open]

15¢

10¢

D

D

Next State D 1 D 0 0 0 0 1 1 0 X X 0 1 1 0 1 1 X X 1 0 1 1 1 1 X X 1 1 1 1 1 1 X X

Present State Q 1 Q 0 0 0

0 1

1 0

1 1

D 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

N 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Inputs Output Open

0 0 0 X 0 0 0 X 0 0 0 X 1 1 1 X

14

Page 15: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

Vending Machine Example

Step 5. Choosing FF for Implementation

D, J-K FF, T ?

Remapped encoded state transition table

Next State D 1 D 0 0 0 0 1 1 0 X X 0 1 1 0 1 1 X X 1 0 1 1 1 1 X X 1 1 1 1 1 1 X X

Present State Q 1 Q 0 0 0

0 1

1 0

1 1

D 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

N 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Inputs K 1

X X X X X X X X 0 0 0 X 0 0 0 X

K 0

X X X X 0 1 0 X X X X X 0 0 0 X

J 1

0 0 1 X 0 1 1 X X X X X X X X X

J 0 0 1 0 X X X X X 0 1 1 X X X X X

15

Page 16: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

K-map for OpenK-map for D0

1 1 1 1

x x x x1

K-map for D1

Q1 Q0D N

Q1

Q0

DN

Q1 Q0D N

Q1

Q0

DN

Q1 Q0D N

Q1

Q0

DN

1 11 1 1

x x x x1 1 1 1

1 1 1x x x x

1 1 1

00 01 11 10 00 01 11 10 00 01 11 1000

01

11

10

00

01

11

10

00

01

11

10

16

CLK

OPEN

CLK

Q 0

D

R

Q

Q

D

R

Q

Q

\ Q 1

\reset

\reset

\ Q 0

\ Q 0

Q 0

Q 0

Q 1

Q 1

Q 1

Q 1

D

D

N

N

N

\ N

D 1

D 0

D1 = Q1 + D + Q0 N

D0 = N Q0 + Q0 N + Q1 N + Q1 D

OPEN = Q1 Q0

Page 17: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

N

N

K-map for K1

1x x

1 1

K-map for J1

Q1 Q0D N

Q1

Q0

DN

Q1 Q0D N

Q1

Q0

D

K-map for K0

x xx 1 x

x x x xx x

x x

1 x x 1x x x x

x x 1

K-map for J0

Q1 Q0D N

Q1

Q0

DN

Q1 Q0D N

Q1

Q0

D

00 01 11 10 00 01 11 10

00 01 11 10 00 01 11 10

0001

1110

00

01

11

10

0001

1110

0001

1110

x xx x

x x x x

x xx x

x x x xx x

J1 = D + Q0 N

K1 = 0

J0 = Q0 N + Q1 D

K0 = Q1 N

OPEN Q 1

\ Q 0

N

Q 0 J

K R

Q

Q

J

K R

Q

Q

Q 0

\ Q 1

\ Q 1

\ Q 0

Q 1

\reset

D

D

N

N

CLK

CLK

17

Page 18: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

ROM Implementation

ROM

N

D

q0

q1

Open

D0

D1

q0

q1

18

Page 19: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

Reset

N

N

N, D

[open]

15¢

10¢

D

D

Next State D 1 D 0 0 0 0 1 1 0 X X 0 1 1 0 1 1 X X 1 0 1 1 1 1 X X 1 1 1 1 1 1 X X

Present State Q 1 Q 0 0 0

0 1

1 0

1 1

D 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

N 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Inputs Output Open

0 0 0 X 0 0 0 X 0 0 0 X 1 1 1 X State Encoding

q1q0

00 0 Cent

01 5 Cents

10 10 Cents

11 15 Cents19

Page 20: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

D 1 D 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0

Open 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0

Row

0123456789

10

1211

131415

ROM Contents, ROM Size: 16 rows and 3 columns

ROM Realization doesn’t need state assignment!20

Page 21: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

Module: Vending_machine;INPUTS: D, N, Reset.Outputs: Open

1. =>(D’N’, D’N, DN’, DN)/(1, 2, 3, 1) – Reset State2. =>(D’N’, D’N, DN’, DN)/(2, 3, 4, 1) _ q5 State3. =>(D’N’, D’N, DN’, DN)/(3, 4, 4, 1) _ q10 state4. Open = 1 =>(1) _ q15 StateEndsequence

Controlreset(1).End

21

Page 22: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

ASM Notation

Condition Boxes:Ordering has no effect on final outcome

Equivalent ASM charts:A exits to B on (I0 • I1) else exit to C

A 010

I0

I1

T

T

F

F

B C 22

A 010

I0

T

T

F

F

B C

I1

Page 23: Embedded System Design - TheCAT - Web Services …web.cecs.pdx.edu/~mperkows/CLASS_574/OCT-10-2012/Chap1-FSM... · Embedded System Design ... FSM N D Reset Clk Open Coin Sensor Gum

Moore and Mealy MachinesSynchronous Mealy Machine

23

latched state AND outputs

avoids glitchy outputs!

State Register Clock

Clock

Combinational Logic for

Outputs and Next State

state feedback

X Inputs

i Z Outputs

k