Download - ΗΥ 120

Transcript
Page 1: ΗΥ 120

1

ΗΥ 120

Αλγοριθμικες μηχανες καταστασεως

Algorithmic State Machines – ASM

2nd part

Page 2: ΗΥ 120

2

Υλοποιηση του Ελεγκτη με Πολυπλεκτες Ενα δευτερο παραδειγμα

Παραδειγμα #2

Page 3: ΗΥ 120

3

Υλοποιηση του Ελεγκτη με Πολυπλεκτες Ενα δευτερο παραδειγμα

Page 4: ΗΥ 120

4

Θεματα χρονισμου• Δινεται το πιο κατω διαγραμμα ASM

AVAIL

Start

A←0

Q0

0 1

0 1

IDLE

MUL0 MUL1

Exit

ExitExit

Εισοδος

Page 5: ΗΥ 120

5

Παραδειγμα Σχεδιασης:Πολλαπλασιαστης Δυαδικων

• Πολλαπλασιαστης θετικων δυαδικων αριθμων

• Παραδειγμα πολλαπλασιασμου «με το χερι»

23 10111 Πολλαπλασιαστεος

19 10011 Πολλαπλασιαστης

10111

10111

00000

00000

10111

437 110110101 Γινομενο

Page 6: ΗΥ 120

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 Μερικο γινομενο μετα την τελικη ολισθηση

Εδω εχουμε ενδιαμεσηκαι προσωρινη υπερχειλιση

Page 7: ΗΥ 120

7

Χονδρικο διαγραμμα του Πολ/στη n-bit

Σηματα ελεγχου

Πολ/στεος

Πολ/στης

log2n = o μικροτερος ακεραιος αριθμος που υπερβαινει τον log2n

Page 8: ΗΥ 120

8

Χονδρικο διαγραμμα του Πολ/στη n-bit

10111

10011

00000

10111

10111

010111

10111

1000101

1000101

01000101

001000101

10111

110110101

0110110101

+

+

+

Σηματα ελεγχου

Πολ/στεος

Πολ/στης

Page 9: ΗΥ 120

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.

Page 10: ΗΥ 120

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φορτωνονται πριν την εναρξη λειτουργιας τουπολ/στη

Page 11: ΗΥ 120

11

Σηματα ελεγχου του δυαδικου Πολ/στη

Page 12: ΗΥ 120

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

Page 13: ΗΥ 120

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

Page 14: ΗΥ 120

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

Page 15: ΗΥ 120

15

Υλοποιηση με D flip-flops και decoderDM0 = IDLE•G + MUL1•Z , καιDM1 = MUL0

Page 16: ΗΥ 120

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Συμβολη

Page 17: ΗΥ 120

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

Page 18: ΗΥ 120

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

Page 19: ΗΥ 120

19

Συγκριση κυκλωματων ελεγκτη

D Q

>

D Q

>

D Q

>

IDLE

MUL0

MUL1

G

Z

Clock

GInitialize

LoadQ0

Shift_dec

Clear_C

Initialize

Page 20: ΗΥ 120

20

Page 21: ΗΥ 120

21

Page 22: ΗΥ 120

22