29
1 The Algorithmic State Machine Method (ASM Method) 2 Agenda Introduction Construction of ASM Charts ASM State Assignments Derivation of ASM Tables Linked State Machine

The Algorithmic State Machine Method (ASM Method)teacher.en.rmutt.ac.th/nuchtiphong.o/dsd/Lec5_ASM_Method.pdf · 1 The Algorithmic State Machine Method (ASM Method) 2 Agenda Introduction

Embed Size (px)

Citation preview

1

The Algorithmic State Machine Method (ASM Method)

2

AgendaIntroductionConstruction of ASM ChartsASM State AssignmentsDerivation of ASM TablesLinked State Machine

3

Introductionโครงสรางของ General State Machine ประกอบดวยกัน 3 สวนคือ

Next State Function จัดการโดยสวนของวงจรจัดกลุมState จัดการโดยสวนของ MemoryOutput Function จัดการโดยสวนของวงจรจัดกลุม

4

Introduction

Z = Output StateW = Next State

Zi = fi(Xn,Xn-1,…,X1,Yk,Yk-1,…,Y1)Wi = gi(Xn,Xn-1,…,X1,Yk,Yk-1,…,Y1)

TransformW=g(x,y)

MemoryTransform

Z=f(x,y) Output Z

OutputFunction

Next StateFunction

Input X x

y w

y

xState

X = Input StateY = present State

5

IntroductionY((i+1)T) = g[X(iT),y(iT)]

Transitionperiod

stable period

W(iT)=g[X(iT),Y(iT)]

Z(iT)=f[X(iT),Y(iT)]

iT (i+1)T

state time

X(iT) Z(iT)

Transitionperiod

stable period

W((i+1)T)

Z((i+1)T)

(i+2)T

state time

X((i+1)T) Z((i+1)T)

6

IntroductionIdentify Signal function

RST resetCLR clearH. Active HighL. Active LowI. Immediate Output

Example; H.RST,L.CLR, IL.LAMP

7

Construction of ASM ChartsASM Charts เปนการอธิบาย Function ของการเปลี่ยนแปลงสถานะ และ Function ของ Output ในรูปแบบของ แผนผงัภาพประกอบไปดวยสัญลักษณพื้นฐาน 3 สัญลักษณ

State boxDecision boxCondition output box

8

Construction of ASM ChartsState box ใชอธิบาย ลักษณะของ State จํานวน 1 state ของ ASM โดยที่ทุก ๆ state ของการทํางานของ Hardware จะมาหยดุที่ state boxState box ประกอบไปดวย- State code - State name- State output list - State entry path- State exit path

9

Construction of ASM Charts

****

- - - - -- - - -

stateentrypath

statecode

statename

stateoutput

list

stateexitpath

10

Construction of ASM ChartsDecision box ใชสําหรับ พิจารณา Input ที่รับเขามา เพื่อใชสําหรับการตดัสินใจ เพื่อเลือก State ที่จะทํางานใน State ถัดไป และ Output ที่ขึ้นอยูกับเงื่อนไข ของสัญญาณ Input

11

Construction of ASM Charts

- - -T F

Conditiontrue

exit path

Conditionfalse

exit path

entrypath

Condition(boolean

Expression)

12

Construction of ASM ChartsCondition Output box เปน box ที่ใชอธิบาย Output ที่ขึ้นอยูกับ Input ที่รับเขามา ใน Condition Output box ประกอบไปดวย Condition Output List

13

Construction of ASM Charts

- - - - - - -

ConditionOutput List

Entry pathfrom decisionbox

exit path

14

Construction of ASM Charts

S

one entrypath

one state

many exitpaths

An ASM block

15

Construction of ASM ChartsASM block จํานวน 1 block ประกอบไปดวย

1 State boxNone or Many Decision boxNone or Many Condition Output list

เสนทางจาก State ปจจุบันไปยัง Next State เรียกวา Link Path สามารถมีไดหลาย Link Path ถามีการตัดสินใจในการเลือก Next State

16

Construction of ASM Charts

bit 3

bit 2

bit 2bit 3

bit 1

bit 1bit 3

bit 1bit 2

bit 1bit 2bit3

ABC0 0 0

001

010

011

100

101

110

111

0 4

1 5

2 6

3 7

Binary Counter

17

bit 3

bit 2bit 3

bit 2

bit 1bit 2

bit 1bit 2bit 3

bit 1bit 3

bit 1

ABC0 0 0

001

010

011

100

101

110

111

0 4

1 5

2 6

3 7

Gray Code Counter

bit 3

bit 2bit 3

bit 2

bit 1bit 2

bit 1bit 2bit 3

bit 1bit 3

bit 1

ABC0 0 0

001

011

010

110

111

101

100

0 4

1 5

2 6

3 7

18

ASM Chart for Counter controlled by signal input G G = 0 ; binary CodeG = 1 ; Gray Code

output 3

G

output 2 output 2output 3

G G

output 1output 2

output 1

G

output 1output 3

output 1output 2output 3

G

G

2

6

7

5

4

3

1

0

ABC000

001

1

010 011

10

0

1 0

111

110

101

100

1

0 1

0 1

0

19

Construction of ASM ChartsA

X

Y

Z

F

F

T

T

L1L2 L3

L4

L5

ASM block and Link Paths

20

Construction of ASM ChartsL1 X Z

L2 ~X ~Y Z

L3 X ~Z

L4 ~X ~Y ~Z

L5 ~X Y

21

Construction of ASM Chartsลักษณะของ ASM Chart ที่ผิดโครงสราง

A

B C

22

Construction of ASM Charts

A

X Y

B C D

0 1 1 0

23

Construction of ASM ChartsA

X

Y

B C D

0 1

1 0

24

Construction of ASM Charts

A

B

X01

A

B

X01

25

Construction of ASM ChartsA

X

X

B

0 1

1 0

Y1 0

Impossible

26

Construction of ASM ChartsA

X

X

B

0 1

10

Y1 0

Impossible

27

Construction of ASM Charts

Equivalent series and parallel ASM Chart Structure

A

YX Z

XTRU YTRU ZTRU

B

0

1

0

1

0

1

A

Y

X

Z

YTRU

ZTRU

B

0

1

0

1

0

1

XTRU

28

Construction of ASM Charts

สามารถใช Condition box รวมกันได

X

Y

Y

Z

W

A

B

C

0 1

0 1

1 0

1 0

1 0

29

Construction of ASM Chartsในกรณีที่มี State box จํานวนมาก เพื่อปองกัน ความวุนวายของ เสน Link Paths สามารถเขียนไดในลกัษณะดังนี้

B

X

Y

Y

Z

W

W

A B C

C C B B A C B A

0 1

0 1

1 0

1 0

1 0

1 0

A

A

B

C

B

B

B

B

A

C

C

C

B

A

= X Y

= X+XY = X+Y

= YZ+YZW = YZ+YW

= YZW

= Y

= W

= W

30

ASM State Assignmentsการกําหนดรหสัประจําสถานะ จะกําหนดเปนตัวเลขฐาน 2การหาจํานวน Bit หาไดจาก N=2k เมือ่

N คือ จํานวน Statek คือ จํานวน Bit

อุปกรณทีใ่ชทําหนาที่ ในการจํา State เชนD-FF, SR-FF or JK-FF

31

ASM State Assignmentsการกําหนดรหสัประจําสถานะ มีวิธีการกําหนดเชน

การสุม (Random) กําหนดเองตามใจชอบ Minimum state locus คือการกําหนดการเปลี่ยนแปลงของ บิตโดยรวมของทุก State ใหมีการเปลี่ยนแปลงของ Bit ใหนอยที่สุดReduced dependency จะทําการกําหนด โดยพิจารณาจาก State ที่เปลี่ยนไปเมื่อรับ Input เขามา

32

ASM State AssignmentsABC0 0 0

a

b c

d

e

0 1 0 0 1 1

1 1 1

1 0 1

33

Transition a b = 000 010 ; 1 bit changeTransition a c = 000 011 ; 2 bit changeTransition b d = 010 111 ; 2 bit changeTransition c d = 011 111 ; 1 bit changeTransition d e = 111 101 ; 1 bit changeTransition e d = 101 010 ; 3 bit change

total = 10 bit changeState locus is 10

ASM State Assignments

34

ASM State Assignmentsการหา Minimum state locus อาจใชตารางของ state map (เหมือนกับตาราง K-map) เขาชวยโดยกําหนดให State ที่มี Link path เชื่อมถึงกันใหอยูชองที่อยูติดกันนําหมายเลขประจําชองนํามาเปนหมายเลข รหัสประจําสถานะ

35

ASM State AssignmentsState code

A B Ca ; 0 0 0b ; 0 1 0c ; 1 0 0d ; 1 1 0e ; 1 1 1

State locus = 7

a - - b

c - e d

A

BC

00 01 11 10

0

1

36

ASM State Assignments

NA =X Y; NB=X ~Y; NC = ~X ~Y; ND=~X Y

ABCD0 0 0 0

X

Y Y

0 1

01

0 0 0 1

a

b

d

0 0 1 0

c

0 1 0 0

e

1 0 0 0

10

37

ASM State AssignmentsABCD0 0 0 0

X

Y Y

0 1

01

0 1 1 0

a

b

d

0 0 1 0

c

1 0 0 0

e

1 1 0 0

10

NA =X; NB=Y; NC = ~X; ND= 0

38

Derivation of ASM Tablesขั้นตอนการสังเคราะห วงจรจาก ASM Chart หลังจากทําการกําหนด รหัสประจําสถานะ เรียบรอยแลว

หา Link Paths ทั้งหมด ของ ASM Chartเขียน Next – State table ทั้ง Symbolic และ assigned codeเขียน State – Output table ทั้ง Symbolic และ assigned code

39

Derivation of ASM Tablesเขียน Condition – Output table ทั้ง Symbolic และ assigned codeนําเอา Table ของ assigned code มารวมกัน เปน Table ใหมนําคา จาก Table ไป ทําการลดหรือ นําไปทําการ Implement ดวย วงจร Logic หรืออุปกรณ Programmable Devices

40

IH.CLR

IH.CLRH.ADD

H.LAMP

H.ADDIH.INC

Y.Q1

IH.SETH.LAMP

Y.Q2 IL.INC

Y.Q1 Y.Q3

IH.SET

IH.CLR

Y.Q2

1

3 2

4

5

6

ABC000

F T

F T

001 010

F T T F

110

F T

011

100

41

Derivation of ASM TablesB1 L1 : 1 1 ; ~Q1 ~Q2B1 L2 : 1 2 ; Q1B1 L3 : 1 3 ; ~Q1 Q2B2 L4 : 2 4 ; ~Q3B2 L5 : 2 5 ; Q3B3 L6 : 3 1 ; ~Q1B3 L7 : 3 5 ; Q1B4 L8 : 4 5 ; ~Q2B4 L9 : 4 6 ; Q2B5 L10 : 5 1 ; -B6 L11 : 6 1 ; -

42

Derivation of ASM Tables

Next State Table

Inputs

Y.Q1 Y.Q2 Y.Q3

FTF--FT----

F-T----FT--

---FT------

PresentState

NextState

Comment

11122334456

12345155611

B1 L1B1 L2B1 L3B2 L4B2 L5B3 L6B3 L7B4 L8B4 L9B5 L10B6 L11

Inputs

Q1 Q2 Q3

010--01----

0-1----01--

---01------

PresentState

A B C

NextState

NA NB NC

0 0 00 0 00 0 00 1 00 1 00 0 10 0 11 1 01 1 00 1 11 0 0

0 0 00 1 00 0 11 1 00 1 10 0 00 1 10 1 11 0 00 0 00 0 0

43

Derivation of ASM Tables

PresentState

Output

H.ADD H.LAMP

123456

A

A

AA

Comment

B1B2B3B4B5B6

PresentState

A B C

Output

H.ADD H.LAMP

0 0 00 1 00 0 11 1 00 1 11 0 0

001001

000110

State Output Table

44

Derivation of ASM Tables

Conditional Outputs table

Inputs

Y.Q1 Y.Q2 Y.Q3

FTF--FT----

F-T----FT--

---FT------

PresentState

Conditional OutputsIL.INC IH.SET IH.CLR

Comment

11122334456

A

A

B1 L1B1 L2B1 L3B2 L4B2 L5B3 L6B3 L7B4 L8B4 L9B5 L10B6L11

Inputs

Q1 Q2 Q3

010--01----

0-1----01--

---01------

PresentState

A B C

0 0 00 0 00 0 00 1 00 1 00 0 10 0 11 1 01 1 00 1 11 0 0

A

A

A

AAA

AA

A

Conditional OutputsIL.INC IH.SET IH.CLR

10111111110

00001010010

11100110100

45

Derivation of ASM Tables

Combined ASM table

Inputs

Q1 Q2 Q3

010--01----

0-1----01--

---01------

PresentState

Sym A B C

NextState

Sym NA NB NC

1 0 0 01 0 0 01 0 0 02 0 1 02 0 1 03 0 0 13 0 0 14 1 1 04 1 1 05 0 1 16 1 0 0

1 0 0 02 0 1 03 0 0 14 1 1 05 0 1 11 0 0 05 0 1 15 0 1 16 1 0 01 0 0 01 0 0 0

ConditionalIL.INC IH.SET IH.CLR

10111111110

00001010010

11100110100

StateH.ADD H.LAMP

Outputs

00000110001

00000001110

46

Derivation of ASM TablesNA = L4 + L9

= ~Q3 ~A B ~C + Q2 A B ~C= ~Q3 ~A B ~C + Q2 A B

NB = L2 + L4 + L5 +L7 +L8= Q1 ~A ~B + ~A B ~C + ~Q2 A B

** NC, IL.INC, IH.SET, IH.CLR, H.ADD, H.LAMP on TEXTBOOK Page 48 - 49

47

Derivation of ASM Tables

B1 B1 B1 B1 B2 B2 B2 B2

B1 B1 B1 B1 B2 B2 B2 B2

B3 B3 B3 B3 B5 B5 B5 B5

B3 B3 B3 B3 B5 B5 B5 B5

B6 B6 B6 B6 B4 B4 B4 B4

B6 B6 B6 B6 B4 B4 B4 B4

- - - - - - - -

- - - - - - - -

Q3 Q3

B

Q2Q2

Q1

Q1

A

C

C

BOX

L1 L1

L2

L3 L4 L5

- - - - - - - -

- - - - - - - -

Q3 Q3

B

Q2Q2

Q1

Q1

A

C

C

LINK

L11

L11 L11 L11 L11

L11L11L11

L8 L8

L8L8

L9 L9

L9L9

L10 L10 L10 L10

L10L10L10L10

L4

L4

L4L5 L5

L5

L2 L2 L2

L3

L7 L7 L7 L7

L6L6L6L6

48

Derivation of ASM Tables

1 1

1 1

1 1

1 1

- - - - - - - -

- - - - - - - -

Q3 Q3

B

Q2Q2

Q1

Q1

A

C

C

NA :

49

Derivation of ASM Tables

1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1

1 1

1 1

- - - - - - - -

- - - - - - - -

Q3 Q3

B

Q2Q2

Q1

Q1

A

C

C

NB :

50

Derivation of ASM Tablesหลังจากที่ได สมการทางตรรกะ เรียบรอยแลว ขั้นตอนตอไปคือการนํามาประกอบเปนวงจร

51

Link State MachineState Machine สามารถแบงเปน Machine ยอย แตละ Machine สามารถเรียกใชงาน ซึ่งกันและกัน วิธีการนี้เหมือนกับการดรียกใชงานโปรแกรมยอย ของการเขียนโปรแกรมภาษาคอมพิวเตอร

52

Link State Machineมีวิธีการใชงานดังนี้

Serial Linking of two synchronized Serial Linking with Multiple callSerial Link with chained callLinking of parallel process

53

Link State Machine

A1

CLLA0

1

.

.main ASM

chart ofmachine A

.

.

.

CLLB

CLLAB1

CLLB0

1

.

.main ASM

chart ofmachine B

.

.

.

An

Serial Linking of two synchronized

54

CLLCA1

CLLA0

1

C1

CLLC0

1

.

.main ASM

chart ofmachine B

.

.

.

CLLA

CLLC

CLLA0

1

Ai

CLLC

CLLA0

1

Aj

Cn

Serial Linking with Multiple call

55

CLLCC1

CLLC0

1

CLLD

RETC0

1

Ai

RETBCs

B1

CLLB0

1

CLLC

RETB0

1

Bi

RETABn

CLLBC1

RETA0

1

An

machine B machine Amachine C

etc

• Serial Link with chained call

56

Link State Machine

CLLBA1

CLLA0

1

CLLAB1

CLLB0

1

57