ΗΥ 120

Post on 04-Jan-2016

36 views 0 download

description

ΗΥ 120. Αλγοριθμικες μηχανες καταστασεως Algorithmic State Machines – ASM 2 nd part. Υλοποιηση του Ελεγκτη με Πολυπλεκτες Ενα δευτερο παραδειγμα. Παραδειγμα #2. Υλοποιηση του Ελεγκτη με Πολυπλεκτες Ενα δευτερο παραδειγμα. Θεματα χρονισμου. Δινεται το πιο κατω διαγραμμα ASM. Εισοδος. - PowerPoint PPT Presentation

Transcript of ΗΥ 120

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