1
ΗΥ 120
Αλγοριθμικες μηχανες καταστασεως
Algorithmic State Machines – ASM
2nd part
2
Υλοποιηση του Ελεγκτη με Πολυπλεκτες Ενα δευτερο παραδειγμα
Παραδειγμα #2
3
Υλοποιηση του Ελεγκτη με Πολυπλεκτες Ενα δευτερο παραδειγμα
4
Θεματα χρονισμου• Δινεται το πιο κατω διαγραμμα ASM
AVAIL
Start
A←0
Q0
0 1
0 1
IDLE
MUL0 MUL1
Exit
ExitExit
Εισοδος
5
Παραδειγμα Σχεδιασης:Πολλαπλασιαστης Δυαδικων
• Πολλαπλασιαστης θετικων δυαδικων αριθμων
• Παραδειγμα πολλαπλασιασμου «με το χερι»
23 10111 Πολλαπλασιαστεος
19 10011 Πολλαπλασιαστης
10111
10111
00000
00000
10111
437 110110101 Γινομενο
6
Εναλλακτικος τροπος πολ/σμου 23 10111 Πολλαπλασιαστεος
19 10011 Πολλαπλασιαστης
000 00000 Αρχικο μερικο γινομενο
207 10111 Προσθεση πολλαπλασιαστεου επειδη το 1ο bit του πολ/στη ειναι 1
207 10111 Μερικο γινομενο μετα την προσθεση και πριν την ολισθηση
0207 010111 Μερικο γινομενο μετα την ολισθηση
23 10111 Προσθεση πολ/στεου επειδη το 2ο bit του πολ/στη ειναι 1
437 1000101 Μερικο γινομενο μετα την προσθεση και πριν την ολισθηση
1000101 Μερικο γινομενο μετα την ολισθηση
01000101 Μερικο γινομενο μετα την ολισθηση επειδη το 3ο bit του πολ/στη ειναι 0
001000101 Μερικο γινομενο μετα την ολισθηση επειδη το 4ο bit του πολ/στη ειναι 0
10111 Προσθεση πολλαπλασιαστεου επειδη το 5ο bit του πολ/στη ειναι 1
110110101 Μερικο γινομενο μετα την προσθεση και πριν την ολισθηση
0437 0110110101 Μερικο γινομενο μετα την τελικη ολισθηση
Εδω εχουμε ενδιαμεσηκαι προσωρινη υπερχειλιση
7
Χονδρικο διαγραμμα του Πολ/στη n-bit
Σηματα ελεγχου
Πολ/στεος
Πολ/στης
log2n = o μικροτερος ακεραιος αριθμος που υπερβαινει τον log2n
8
Χονδρικο διαγραμμα του Πολ/στη n-bit
10111
10011
00000
10111
10111
010111
10111
1000101
1000101
01000101
001000101
10111
110110101
0110110101
+
+
+
Σηματα ελεγχου
Πολ/στεος
Πολ/στης
9
Εξαρτηματα του πολ/στη• Καταχωρητης Β n-bit για αποθηκευση του πολ/στεου• Καταχωρητης ολισθησης Q n-bits για αποθηκευση του πολ/στη και
του λιγότερο σημαντικου μερους του γινομενου • Καταχωρητης ολισθησης Α n-bits για αποθηκευση των μερικων
γινομενων και του περισσοτερο σημαντικου μερους του γινομενου• Flip-flop C με συγχρονο clear για προσωρινη αποθηκευση
κρατουμενου (υπερχειλισης)• Μετρητη P των log2n -bits o οποιος μετρα προς τα κατω απο το n-1
εως το 0, για να σταματησει την λειτουργια του πολ/στη. Πρεπει να εχει παραλληλη φορτωση.
• Μοναδα ελεγχου η οποια εχοντας ως εισοδους το σημα εναρξης GO, το σημα μηδενισμου Z του καταχωρητη Ρ (περας διαδικασιας) και την τιμη του τρεχοντος bit του πολ/στη Q0 διδει τα καταλληλα σηματα ελεγχου για φορτωση των παραγοντων και του αριθμου των bits, για προσθεση, για ολισθηση και για μηδενισμο του flip-flop C.
10
Διαγραμμα ASM του πολ/στη
10111
10011
00000
10111
10111
010111
10111
1000101
1000101
01000101
001000101
10111
110110101
0110110101 Z
Q0
C← 0, A← 0
P ← n-1
A ← A+B
C ← Cout
C← 0, C║A║Q ← sr C║A║Q, P ← P-1
IDLE
MUL0
G0 1
0 1
MUL1
10
C║A║Q = καταχωρητηςπου προκυπτει απο τονσυνδυασμο των καταχωρητων C, A και Q
sr R = shift right του R
Οι καταχωρητες Β και Qφορτωνονται πριν την εναρξη λειτουργιας τουπολ/στη
11
Σηματα ελεγχου του δυαδικου Πολ/στη
12
Σηματα ελεγχου του δυαδικου πολ/στη
Z
Q0
C← 0, A← 0
P ← n-1
A ← A+B
C ← Cout
C← 0, C║A║Q ← sr C║A║Q, P ← P-1
IDLE
MUL0
G0 1
0 1
MUL1
10
13
Εξαγωγη διαγραμματος καταστασεων απο το διαγραμμα ASM
G
Z
IDLE
MUL0
MUL1
0
0
1
1
00
01
10
G=0
IDLE00
MUL001
MUL110
G=1
Z=1
Z=0
Διαδοχη καταστασεων στο διαγραμμα ASM Ισοδυναμο διαγραμμα καταστασεων
Κωδικοποιηση καταστασεων M1
M0
IDLE = 0 0MUL0 = 0 1MUL1 = 1 0
14
Πινακας καταστασεων του υποσυστηματος ελεγχου
IDLE00
MUL001
MUL110
G=1
Z=1
Z=0
Παρουσα Επομενη Εξοδοι κατασταση Εισοδοι κατασταση ελεγκτηΟνομα Μ1 Μ0 G Z M1 M0 IDLE MUL0 MUL1 0 0 0 X 0 0 1 0 0 IDLE 0 0 1 X 0 1 1 0 0MUL0 0 1 X X 1 0 0 1 0 1 0 X 0 0 1 0 0 1MUL1 1 0 X 1 0 0 0 0 1 --- 1 1 X X X X X X X
Απο τον πινακα καταστασεων μπορουμε να σχεδιασουμε το κυκλωμα τουελεγκτη χρησιμοποιωντας JK flip-flops (οποτε πρεπει να συμπληρωθει ο πιο πανω πινακας με τις στηλες των εισοδων των flip-flops, και να βρεθουνμε την βοηθεια χαρτων Karnaugh οι εξισωσεις εισοδων των flip-flop,κ.ο.κ.)ή D flip-flops και αποκωδικοποιητη οποτε γραφουμε κατευθειαν τις εξισωσεις εισοδων τους:
DM0 = M0(t+1) = IDLE•G + MUL1•Z , καιDM1 = M1(t+1) = MUL0
15
Υλοποιηση με D flip-flops και decoderDM0 = IDLE•G + MUL1•Z , καιDM1 = MUL0
16
Διαγραμμα ASM Ισοδυναμα κυκλωματα
D Q
> Clock
Κατασταση
Κουτι καταστασης
ExitExit
Entry Entry
x0 1
Entry
Exit 0
Exit 1
Entryx
Exit 1 Control
Κουτι υπο-συνθηκη
1
4
3
Exit
Entry 1 Entry 2
x0 1
Entry
Exit 0 Exit 1
xEntry
Exit 1Exit 0
Κουτι αποφασης
2
Entry 2Entry 1
ExitΣυμβολη
17
Υλοποιηση του ελεγκτη με ενα D flip-flop ανα κατασταση
Z
Q0
C← 0, A← 0
P ← n-1
A ← A+B
C ← Cout
C← 0, C║A║Q ← sr C║A║Q, P ← P-1
IDLE
MUL0
G0 1
0 1
MUL1
10
18
Υλοποιηση του ελεγκτη με ενα D flip-flop ανα κατασταση:Εναλλακτικος τροπος
IDLE00
MUL001
MUL110
G=1
Z=1
Z=0
DIDLE = IDLE G' + MUL1 Z
DMUL0 = IDLE G + MUL1 Z'
DMUL1 = MUL0
G=0 D Q
>
D Q
>
D Q
>
IDLE
MUL0
MUL1
G
Z
Clock
GInitialize
LoadQ0
Shift_dec
Clear_C
Initialize
19
Συγκριση κυκλωματων ελεγκτη
D Q
>
D Q
>
D Q
>
IDLE
MUL0
MUL1
G
Z
Clock
GInitialize
LoadQ0
Shift_dec
Clear_C
Initialize
20
21
22
Top Related