220 likes | 473 Views
ΗΥ 120. Αλγοριθμικες μηχανες καταστασεως Algorithmic State Machines – ASM 2 nd part. Υλοποιηση του Ελεγκτη με Πολυπλεκτες Ενα δευτερο παραδειγμα. Παραδειγμα #2. Υλοποιηση του Ελεγκτη με Πολυπλεκτες Ενα δευτερο παραδειγμα. Θεματα χρονισμου. Δινεται το πιο κατω διαγραμμα ASM. Εισοδος.
E N D
ΗΥ 120 Αλγοριθμικες μηχανες καταστασεως Algorithmic State Machines – ASM 2nd part
Υλοποιηση του Ελεγκτη με Πολυπλεκτες Ενα δευτερο παραδειγμα Παραδειγμα #2
Υλοποιηση του Ελεγκτη με Πολυπλεκτες Ενα δευτερο παραδειγμα
Θεματα χρονισμου • Δινεται το πιο κατω διαγραμμα ASM Εισοδος IDLE AVAIL Exit Start 0 1 A←0 1 0 Q0 Exit Exit MUL0 MUL1
Παραδειγμα Σχεδιασης:Πολλαπλασιαστης Δυαδικων • Πολλαπλασιαστης θετικων δυαδικων αριθμων • Παραδειγμα πολλαπλασιασμου «με το χερι» 23 10111 Πολλαπλασιαστεος 19 10011 Πολλαπλασιαστης 10111 10111 00000 00000 10111 437 110110101 Γινομενο
Εναλλακτικος τροπος πολ/σμου 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 Μερικο γινομενο μετα την τελικη ολισθηση Εδω εχουμε ενδιαμεση και προσωρινη υπερχειλιση
Χονδρικο διαγραμμα του Πολ/στη n-bit Πολ/στεος Πολ/στης Σηματα ελεγχου log2n = o μικροτερος ακεραιος αριθμος που υπερβαινει τον log2n
Χονδρικο διαγραμμα του Πολ/στη n-bit Πολ/στεος 10111 10011 00000 10111 10111 010111 10111 1000101 1000101 01000101 001000101 10111 110110101 0110110101 + + Πολ/στης + Σηματα ελεγχου
Εξαρτηματα του πολ/στη • Καταχωρητης Β n-bit για αποθηκευση του πολ/στεου • Καταχωρητης ολισθησης Qn-bits για αποθηκευση του πολ/στη και του λιγότερο σημαντικου μερους του γινομενου • Καταχωρητης ολισθησης Α n-bits για αποθηκευση των μερικων γινομενων και του περισσοτερο σημαντικου μερους του γινομενου • Flip-flop C με συγχρονο clear για προσωρινη αποθηκευση κρατουμενου (υπερχειλισης) • Μετρητη P των log2n -bits o οποιος μετρα προς τα κατω απο το n-1 εως το 0, για να σταματησει την λειτουργια του πολ/στη. Πρεπει να εχει παραλληλη φορτωση. • Μοναδα ελεγχου η οποια εχοντας ως εισοδους το σημα εναρξης GO, το σημα μηδενισμου Z του καταχωρητη Ρ (περας διαδικασιας) και την τιμη του τρεχοντος bit του πολ/στη Q0διδει τα καταλληλα σηματα ελεγχου για φορτωση των παραγοντων και του αριθμου των bits, για προσθεση, για ολισθηση και για μηδενισμο του flip-flop C.
IDLE 0 1 G C← 0, A← 0 P ← n-1 MUL0 Q0 1 0 A ← A+B C ← Cout MUL1 C← 0, C║A║Q ← sr C║A║Q, P ← P-1 0 1 Z Διαγραμμα ASM του πολ/στη 10111 10011 00000 10111 10111 010111 10111 1000101 1000101 01000101 001000101 10111 110110101 0110110101 Οι καταχωρητες Β και Q φορτωνονται πριν την εναρξη λειτουργιας του πολ/στη C║A║Q = καταχωρητης που προκυπτει απο τον συνδυασμο των καταχωρητων C, A και Q sr R = shift right του R
Σηματα ελεγχου του δυαδικου Πολ/στη
IDLE 0 1 G C← 0, A← 0 P ← n-1 MUL0 Q0 1 0 A ← A+B C ← Cout MUL1 C← 0, C║A║Q ← sr C║A║Q, P ← P-1 0 1 Z Σηματα ελεγχου του δυαδικου πολ/στη
IDLE 00 G=1 MUL0 01 Z=1 Z=0 MUL1 10 Εξαγωγη διαγραμματος καταστασεων απο το διαγραμμα ASM G=0 00 IDLE Κωδικοποιηση καταστασεων M1M0 IDLE = 0 0 MUL0 = 0 1 MUL1 = 1 0 1 0 G 01 MUL0 10 MUL1 1 0 Z Ισοδυναμο διαγραμμα καταστασεων Διαδοχη καταστασεων στο διαγραμμα ASM
IDLE 00 Παρουσα Επομενη Εξοδοι κατασταση Εισοδοι κατασταση ελεγκτη Ονομα Μ1 Μ0G Z M1 M0 IDLE MUL0 MUL1 0 0 0 X 0 0 1 0 0 IDLE 0 0 1 X 0 1 1 0 0 MUL0 0 1 X X 1 0 0 1 0 1 0 X 0 0 1 0 0 1 MUL1 1 0 X 1 0 0 0 0 1 --- 1 1 X X X X X X X G=1 MUL0 01 Z=1 Z=0 MUL1 10 Πινακας καταστασεων του υποσυστηματος ελεγχου Απο τον πινακα καταστασεων μπορουμε να σχεδιασουμε το κυκλωμα του ελεγκτη χρησιμοποιωντας JK flip-flops (οποτε πρεπει να συμπληρωθει ο πιο πανω πινακας με τις στηλες των εισοδων των flip-flops, και να βρεθουν με την βοηθεια χαρτων Karnaugh οι εξισωσεις εισοδων των flip-flop,κ.ο.κ.) ή Dflip-flops και αποκωδικοποιητη οποτε γραφουμε κατευθειαν τις εξισωσεις εισοδων τους: DM0 = M0(t+1) = IDLE•G + MUL1•Z , και DM1 = M1(t+1) = MUL0
Υλοποιηση με D flip-flops και decoder DM0 = IDLE•G + MUL1•Z , και DM1 = MUL0
Entry Κατασταση Entry D Q > Clock Κουτι καταστασης Exit Exit Entry 2 x Entry 0 1 Κουτι αποφασης x Exit 0 Exit 1 Entry 1 Entry 1 Entry 2 Entry 2 Exit 0 Exit 1 Entry Exit Exit 0 1 x x Entry Κουτι υπο-συνθηκη Exit 0 Exit 1 Control Exit 1 Διαγραμμα ASM Ισοδυναμα κυκλωματα 1 3 Συμβολη 4
IDLE 0 1 G C← 0, A← 0 P ← n-1 MUL0 Q0 1 0 A ← A+B C ← Cout MUL1 C← 0, C║A║Q ← sr C║A║Q, P ← P-1 0 1 Z Υλοποιηση του ελεγκτη με ενα D flip-flop ανα κατασταση
D Q > IDLE IDLE 00 Z Initialize G Load Q0 G G=1 D Q > MUL0 Initialize MUL0 01 Z=1 Clear_C Z=0 D Q > MUL1 MUL1 10 Shift_dec Clock Υλοποιηση του ελεγκτη με ενα D flip-flop ανα κατασταση:Εναλλακτικος τροπος DIDLE = IDLE G' + MUL1 Z G=0 DMUL0 = IDLE G + MUL1 Z' DMUL1 = MUL0
D Q > IDLE Z Initialize G Load Q0 G D Q > MUL0 Initialize Clear_C D Q > MUL1 Shift_dec Clock Συγκριση κυκλωματων ελεγκτη