Upload
nguyenhanh
View
239
Download
0
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
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