Ψηφιακή Λογική Σχεδίαση

Σχετικά έγγραφα
Ψηφιακή Λογική Σχεδίαση

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

Καταστάσεων. Καταστάσεων

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

Ελίνα Μακρή

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

Ψηφιακή Λογική Σχεδίαση

6.1 Καταχωρητές. Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f.

Άσκηση 3 Ένα νέο είδος flip flop έχει τον ακόλουθο πίνακα αληθείας : I 1 I 0 Q (t+1) Q (t) 1 0 ~Q (t) Κατασκευάστε τον πίνακα

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

ΑΣΚΗΣΗ 10 ΣΥΓΧΡΟΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A].

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Μετρητές 1

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Ακολουθιακή Λογική. Επιμέλεια Διαφανειών: Δ.

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

ΑΣΚΗΣΗ 10 ΣΧΕΔΙΑΣΗ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

K24 Ψηφιακά Ηλεκτρονικά 10: Ακολουθιακά Κυκλώματα

Ολοκληρωμένα Κυκλώματα

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

Ψηφιακή Σχεδίαση Ενότητα 10:

Σχεδίαση Ψηφιακών Συστημάτων

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Καταχωρητές και Μετρητές 2. Επιμέλεια Διαφανειών: Δ.

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Ασύγχρονοι Απαριθμητές. Διάλεξη 7

Συνδυαστικά Λογικά Κυκλώματα

5. Σύγχρονα Ακολουθιακά Κυκλώματα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

Εργαστήριο Ψηφιακών Κυκλωμάτων

7.1 Θεωρητική εισαγωγή

Εισαγωγή στην πληροφορική

Ψηφιακή Λογική Σχεδίαση

Ελίνα Μακρή

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 16: Μετρητές (Counters)

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2008

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Συνδυαστική Λογική. Επιμέλεια Διαφανειών: Δ.

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν.

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Σχεδίαση σε επίπεδο RTL βασισμένη στα διαγράμματα ASMD

Α. ΣΚΟΔΡΑΣ ΠΛΗ21 ΟΣΣ#2. 14 Δεκ 2008 ΠΑΤΡΑ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ 2008 Α. ΣΚΟΔΡΑΣ ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΜΕΛΕΤΗΣ

Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες)

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

ΑΣΚΗΣΗ 3 ΣΥΝΔΥΑΣΤΙΚΑ ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ: ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ

ΚΕΦΑΛΑΙΟ 6 ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ. 6.1 Εισαγωγή

Παράρτηµα Γ. Τα Βασικά της Λογικής Σχεδίασης. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

ΑΣΚΗΣΗ 8 ΚΑΤΑΧΩΡΗΤΕΣ - REGISTERS

f(x, y, z) = y z + xz

8.1 Θεωρητική εισαγωγή

5.1 Θεωρητική εισαγωγή

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΕΙΡΙΑΚΗ ΠΡΟΣΘΕΣΗ

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΡΩΤΟΤΥΠΟ ΕΡΓΑΛΕΙΟ ΑΥΤΟΜΑΤΗΣ ΕΞΑΓΩΓΗΣ ΚΩΔΙΚΑ VHDL

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ : Κ. ΠΕΚΜΕΣΤΖΗ

Σχεδίαση της Μονάδας Ελέγχου

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Ακολουθιακά Κυκλώματα: Μανδαλωτές και Flip-Flops 1

Σχεδιασμός Ψηφιακών Συστημάτων

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο Διάλεξη 8 η : Μηχανές Πεπερασμένων Κaταστάσεων σε FPGAs

Ψηφιακά Συστήματα. 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων

ΑΣΚΗΣΗ 9. Tα Flip-Flop

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Σχεδίαση Ψηφιακών Συστημάτων. Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ

Περιεχόµενα. Πρόλογος Εισαγωγή 21

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΚΡΗΤΗΣ Τµήµα Εφαρµοσµένης Πληροφορικής & Πολυµέσων. Ψηφιακή Σχεδίαση. Κεφάλαιο 5: Σύγχρονη Ακολουθιακή

Η συχνότητα f των παλµών 0 και 1 στην έξοδο Q n είναι. f Qn = 1/(T cl x 2 n+1 )

ΑΣΚΗΣΗ 9 ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ (COUNTERS)

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009

Ανάλυση Σύγχρονων Ακολουθιακών Κυκλωμάτων

Ακολουθιακά Κυκλώματα Flip-Flops

Σχεδιασμός Ψηφιακών Συστημάτων

Εργαστήριο Ψηφιακής Σχεδίασης

Ψηφιακή Λογική Σχεδίαση

C D C D C D C D A B

Σύγχρονα ακολουθιακά κυκλώματα. URL:

ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα

Βασικές Σχεδίασης Υπολογιστών Αριθμητική Μονάδα Επεξεργασίας Κεφάλαιο 10

Ψηφιακή Λογική και Σχεδίαση

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

Transcript:

Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 1

Κεφάλαιο 8 Σχεδίαση στο Επίπεδο Μεταφοράς Περιεχομένων Καταχωρητών Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 2

Περίγραμμα Κεφαλαίου Εισαγωγή Βασικές έννοιες και ορολογία Αλγοριθμικές μηχανές καταστάσεων (Algorithmic State Machines ASM ) Παραδείγματα σχεδιασμών Λογικό κύκλωμα ελέγχου Σχεδιασμός με πολυπλέκτες Σχεδιασμός χωρίς κυνηγητά Σχεδιασμός χωρίς μανδαλωτές Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 3

Περίγραμμα Κεφαλαίου Εισαγωγή Βασικές έννοιες και ορολογία Αλγοριθμικές μηχανές καταστάσεων (Algorithmic State Machines ASM ) Παραδείγματα σχεδιασμών Λογικό κύκλωμα ελέγχου Σχεδιασμός με πολυπλέκτες Σχεδιασμός χωρίς κυνηγητά Σχεδιασμός χωρίς μανδαλωτές Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 4

Εισαγωγή Ένα ρεαλιστικό ψηφιακό κύκλωμα περιέχει μεγάλο αριθμό κυκλωμάτων Μεγάλοι πίνακες αληθείας και διαγράμματα καταστάσεων => αυξημένη πολυπλοκότητα Αρθρωτή σχεδίαση Modular approach => μείωση της πολυπλοκότητας Χωρισμός & σχεδιασμός σε αυτόνομα υπο-κυκλώματα Τυπικά υπο-κυκλώματα Λογικών/Αριθμητικών πράξεων, κύκλωμα ελέγχου, καταχωρητές, πολυπλέκτες Διασύνδεση με διαδρόμους δεδομένων και σήματα ελέγχου Σκοπός του κεφαλαίου η μεθοδολογική σχεδίαση σύνθετων κυκλωμάτων και συγκεκριμένα του κυκλώματος ελέγχου Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 5

Επίπεδο Μεταφοράς Καταχωρητών Register Transfer Level Στη γενική μορφή κάθε ψηφιακό κύκλωμα αποτελείται από: Σύνολο καταχωρητών για αποθήκευση των δεδομένων, συγχρονισμό των λειτουργιών... Σύνολο συνδυαστικών κυκλωμάτων που εκτελούν αριθμητικές / λογικές πράξεις στα δεδομένα Κύκλωμα ελέγχου που ελέγχει / εποπτεύει τη λειτουργία των παραπάνω Ένα ψηφιακό σύστημα περιγράφεται σε επίπεδο μεταφοράς (περιεχομένων) καταχωρητών (Register Transfer Level RTL) όταν προσδιορίζονται πλήρως τα παραπάνω υποσυστήματα και οι χρονικές λειτουργίες τους χωρίς να περιγράφεται η υλοποίηση αυτών σε επίπεδο πύλης Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 6

Λειτουργίες Ψηφιακών Συστημάτων Αριθμητικές/λογικές πράξεις σε δεδομένα συνδυαστικά κυκλώματα που καλούνται κυκλώματα χειρισμού δεδομένων (Data path units) Λειτουργίες υλοποιούμενες από καταχωρητές Ολίσθηση/περιστροφή (shifting/rotation), μέτρηση (counting), μηδενισμού δεδομένων (clear), φόρτωσης δεδομένων (load) Λειτουργίες μεταφοράς δεδομένων Διαύλους μεταφοράς δεδομένων (data buses) Συνδεσμολογίες από πολυπλέκτες και άλλα κυκλώματα (steering logic) για επιλογή διαδρόμων μεταφοράς δεδομένων Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 7

Συμβολισμοί Λειτουργιών Χωρίς συνθήκη R1< = R1+R2 R3 <= R2+1 R4 <= shr R4 R2<= 0. Με συνθήκη If (T1=1) then (R2 <= R1) If (T2 =1) then (R4 <= R1+R4, R3<=R2).. Σε ένα σύγχρονο σχεδιασμό όλες οι λειτουργίες και οι μεταφορές δεδομένων είναι συγχρονισμένες με ένα σήμα χρονισμού (ρολόι) Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 8

Κύκλωμα Ελέγχου Control Logic Οι λειτουργίες ενός ψηφιακού συστήματος ελέγχονται από σήματα ελέγχου για τη σωστή χρονική εκτέλεση τους Το κύκλωμα ελέγχου είναι ακολουθιακό κύκλωμα Μηχανή Πεπερασμένων Καταστάσεων (Finite State Machine FSM) που: παρακολουθεί την κατάσταση των κυκλωμάτων χειρισμού δεδομένων δέχεται σήματα από το εξωτερικό περιβάλλον λαμβάνει υπόψη την τρέχουσα κατάσταση και παράγει σήματα προς τις μονάδες χειρισμού δεδομένων για τον καθορισμό των λειτουργιών εξόδου σχετικά με την κατάσταση του συστήματος καθορίζει την επόμενη κατάσταση του συστήματος Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 9

Γενική Δομή Ψηφιακού Κυκλώματος σε Επίπεδο RTL Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 10

Περίγραμμα Κεφαλαίου Εισαγωγή Βασικές έννοιες και ορολογία Αλγοριθμικές μηχανές καταστάσεων (Algorithmic State Machines ASM ) Παραδείγματα σχεδιασμών Λογικό κύκλωμα ελέγχου Σχεδιασμός με πολυπλέκτες Σχεδιασμός χωρίς κυνηγητά Σχεδιασμός χωρίς μανδαλωτές Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 11

Αλγοριθμικές Μηχανές Καταστάσεων (Algorithmic State Machines ASM) Τα διαγράμματα ASM είναι διαγράμματα ροής για την περιγραφή της χρονικής διαδοχής των πράξεων/λειτουργιών Ένα διάγραμμα ASM προσδιορίζει τις λειτουργίες των κυκλωμάτων χειρισμού δεδομένων και ελέγχου Τα διαγράμματα ASM περιγράφουν Την ακολουθία των γεγονότων / λειτουργιών σε ένα ψηφιακό σύστημα Χρονική σχέση μεταξύ των καταστάσεων του ελεγκτή και των γεγονότων που παρουσιάζονται κατά τη μετάβαση από μια κατάσταση στην επόμενη Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 12

Αλγοριθμικές Μηχανές Καταστάσεων (Algorithmic State Machines ASM) Ένα διάγραμμα ASM αποτελείται από κουτιά: Κατάστασης Απόφασης και Υπό συνθήκη ενεργειών Περιλαμβάνεις επίσης συνδέσεις μεταξύ των κουτιών που δείχνουν την προτεραιότητα των ενεργειών και τη χρονική εξέλιξη των καταστάσεων του συστήματος Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 13

Κουτί Κατάστασης (1/2) Περιλαμβάνει: Πράξεις καταχωρητών όταν το σύστημα βρίσκεται στην συγκεκριμένη κατάσταση Σήματα ελέγχου που αντιστοιχούν στη συγκεκριμένη κατάσταση Συμβολικό όνομα της κατάστασης Δυαδικό κώδικα της κατάστασης Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 14

Κουτί Κατάστασης (2/2) Οι πράξεις των καταχωρητών είναι σύγχρονες με το ρολόι του συστήματος άρα γίνονται όταν η μηχανή μεταβαίνει από την τρέχουσα κατάσταση στην επόμενη και όχι όταν η μηχανή (σύστημα) βρίσκεται στην τρέχουσα κατάσταση Η ύπαρξη πράξης σε ένα κουτί κατάστασης σημαίνει ότι το κύκλωμα ελέγχου πρέπει να γεννήσει τα κατάλληλα σήματα ώστε να γίνει η πράξη στην επόμενη μετάβαση του ρολογιού Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 15

Κουτί Απόφασης Χρησιμοποιείται για να περιγράψει το αποτέλεσμα που έχει μία είσοδος στο κύκλωμα ελέγχου Ελέγχεται μία συνθήκη που σχετίζεται με το συγκεκριμένο σήμα και με βάση το αποτέλεσμα του ελέγχου ακολουθείται το αντίστοιχο μονοπάτι εξόδου Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 16

Κουτί υπό Συνθήκη Ενεργειών (1/2) Είναι παρόμοιο με το κουτί κατάστασης αλλά οι ενέργειες που περιγράφει εκτελούνται όταν ικανοποιείται μία συνθήκη Έχει πάντα είσοδο μία έξοδο ενός κουτιού απόφασης Οι έξοδοι είναι τύπου Mealy Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 17

Κουτί υπό Συνθήκη Ενεργειών (2/2) Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 18

ASM Block (1/3) Το μπλοκ ASM είναι μία δομή που αποτελείται από ένα κουτί κατάστασης όλα τα κουτιά αποφάσεων και ενεργειών που συνδέονται με τις γραμμές εξόδου του κουτιού κατάστασης Ένα μπλοκ ASM έχει 1 είσοδο και πιθανώς πολλές εξόδους Ένα διάγραμμα ASM αποτελείται από πολλαπλά μπλοκ ASM Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 19

ASM Block (2/3) Κάθε μπλοκ ASM περιγράφει την κατάσταση του συστήματος κατά τη διάρκεια ενός παλμού ρολογιού Οι πράξεις καταχωρητών (κουτιά κατάστασης και υπό συνθήκη ενεργειών) πυροδοτούνται από τον ίδιο παλμό ρολογιού όταν το σύστημα αλλάζει κατάσταση (S0 επόμενη) Ανάλογα με τις τιμές των E, F το σύστημα μεταβαίνει σε μία από τις S1, S2, S3 Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 20

ASM Block (3/3) Αρκετές φορές είναι πιο βολικό να μετατρέπεται το μπλοκ ASM ή το διάγραμμα ASM σε διάγραμμα καταστάσεων Χρησιμοποιώντας το διάγραμμα καταστάσεων και γνώστες μεθοδολογίες μπορεί να σχεδιαστεί το ακολουθιακό κύκλωμα του ελεγκτή Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 21

Χρονισμός (1/3) Η κύρια διαφορά ενός συμβατικού διαγράμματος και ενός ASM βρίσκεται στη χρονική σχέση μεταξύ των διαφόρων ενεργειών και πράξεων καταχωρητών που περιγράφει Σε ένα συμβατικό διάγραμμα οι πράξεις θα εκτελούνταν ακολουθιακά Αύξηση του Α (Α=Α+1), έλεγχος του Ε, έλεγχος του F. Σε ένα διάγραμμα ASM κάθε μπλοκ είναι μία ενιαία μονάδα Όλες οι πράξεις καταχωρητών εκτελούνται ταυτόχρονα σε συγχρονισμό με την ακμή του ρολογιού Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 22

Χρονισμός (2/3) Αν το reset_b=1 τότε το κύκλωμα μεταβαίνει στην S_0 Στην επόμενο κύκλο ρολογιού γίνονται τα παρακάτω Α=Α1+1 Αν Ε=1 τότε R=0 και επόμενη κατάσταση είναι η S_3 Αν F=0 (1) η επόμενη κατάσταση είναι η S_1 (S_2) Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 23

Χρονισμός (3/3) Στο αρχικό διάγραμμα ASM δείχνονται οι πράξεις καταχωρητών που πρέπει να εκτελεστούν από τα κυκλώματα χειρισμού δεδομένων Δε δείχνονται τα σήματα ελέγχου πρέπει να γεννήσει το κύκλωμα ελέγχου Η εξαγωγή των σημάτων ελέγχου και η τροποποίηση του διαγράμματος είναι άμεση Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 24

Διαγράμματα ASMD Το διάγραμμα ASMD (Algorithmic State Machine and Datapath) διαφέρει από το ASM στα ακόλουθα: Στο ASMD δε γράφονται πράξεις καταχωρητών μέσα στα κουτιά καταστάσεων Οι πράξεις καταχωρητών γράφονται στα βέλη μεταβάσεων καταστάσεων στις οποίες συμβαίνουν Περιλαμβάνει κουτιά ενεργειών υπό συνθήκη όπου καθορίζονται τα σήματα με τα οποία ελέγχονται οι πράξεις καταχωρητών που γράφονται δίπλα στα βέλη μεταβάσεων Με τα διαγράμματα ASMD αποσαφηνίζονται όλα τα προβλήματα των διαγραμμάτων ASM που σχετίζονται με τη χρονική εκτέλεση των λειτουργιών Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 25

Διαγράμματα ASMD Παράδειγμα Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 26

Δημιουργία Διαγραμμάτων ASMD 1. Σχηματισμός του ASM όπου εμφανίζονται μόνο οι είσοδοι του ελεγκτή που καθορίζουν τις μεταβάσεις καταστάσεων 2. Μετατροπή του ASM σε ASMD γράφοντας δίπλα στα βέλη των μεταβάσεων καταστάσεων πληροφορία που αφορά την ταυτόχρονη εκτέλεση πράξεων καταχωρητών 3. Τροποποίηση του ASMD για να προσδιοριστούν τα απαιτούμενα σήματα ελέγχου για την υλοποίηση των ζητούμενων λειτουργιών Με τον τρόπο αυτό καθορίζονται πλήρως οι λειτουργίες των κυκλωμάτων ελέγχου και χειρισμού δεδομένων Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 27

Περίγραμμα Κεφαλαίου Εισαγωγή Βασικές έννοιες και ορολογία Αλγοριθμικές μηχανές καταστάσεων (Algorithmic State Machines ASM ) Παραδείγματα σχεδιασμών Λογικό κύκλωμα ελέγχου Σχεδιασμός με πολυπλέκτες Σχεδιασμός χωρίς κυνηγητά Σχεδιασμός χωρίς μανδαλωτές Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 28

Παράδειγμα Σχεδίασης Προδιαγραφές Μονάδα χειρισμού δεδομένων που περιλαμβάνει 2 JK F/Fs (E, F) & 1 counter A [A3, A2, A1,A0] Σήματα & λειτουργία μονάδας Σήμα Start Αν start=1 ξεκινά η λειτουργία και γίνονται Α=0 και F=0 Σε κάθε επόμενο παλμό Α=Α+1 Συνθήκες ελέγχου Αν Α2=0 τότε Ε=0 Αν Α2=1 τότε Ε=1, αν Α3=0 η μέτρηση συνεχίζεται Αν Α3=1 τότε F=1 (στον επόμενο παλμό) και σταματά η μέτρηση Αν start = 0 το σύστημα κάνει hold, αλλιώς αν start = 1 επαναλαμβάνει τη λειτουργία Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 29

Σχηματικό Διάγραμμα του Κυκλώματος Start Αν start = 1 ξεκινά η λειτουργία και γίνονται Α = 0 και F = 0 Σε κάθε επόμενο παλμό Α = Α+1 (counter) Συνθήκες ελέγχου Αν Α2 = 0 τότε Ε = 0 Αν Α2 = 1 τότε Ε = 1, αν Α3 = 0 η μέτρηση συνεχίζεται Αν Α3 = 1 τότε F = 1 (στον επόμενο παλμό) και σταματά η μέτρηση Αν start = 0 το σύστημα κάνει hold, αλλιώς αν start = 1 επαναλαμβάνει τη λειτουργία Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 30

Διάγραμμα ASMD με Ασύγχρονο Μηδενισμό Start Αν start=1 τότε Α=0 και F=0, επόμενη κατάσταση η S_1 Αν start=0 επομ. κατάσταση η s_idle S_idle Σε κάθε επόμενο παλμό Α=Α+1 Συνθήκες ελέγχου Αν Α2=0 τότε Ε=0 Αν Α2=1 τότε Ε=1 και Α3=0 η μέτρηση συνεχίζεται Αν Α3=1 τότε F=1 (στον επόμενο παλμό) και σταματά η μέτρηση Αν start=0 το σύστημα κάνει hold, αν start=1 επαναλαμβάνει τη λειτουργία Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 31

Διάγραμμα ASMD με Σύγχρονο Μηδενισμό Start Αν start=1 ξεκινά η λειτουργία και Α=0 και F=0 Σε κάθε επόμενο παλμό Α=Α+1 Συνθήκες ελέγχου Αν Α2=0 τότε Ε=0 Αν Α2=1 τότε Ε=1, αν Α3=0 η μέτρηση συνεχίζεται Αν Α3=1 τότε F=1 (στον επόμενο παλμό) και σταματά η μέτρηση Αν start=0 το σύστημα κάνει hold, αλλιώς αν start=1 επαναλαμβάνει τη λειτουργία <=1 Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 32

Διάγραμμα ASMD με τα Σήματα Ελέγχου <=1 Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 33

Ακολουθία Χρονισμού Κάθε μπλοκ ASMD καθορίζει τα σήματα που ελέγχουν τις λειτουργίες που πρέπει να γίνουν στην ενεργή ακμή του ρολογιού Τα σήματα ελέγχου στα κουτιά κατάστασης και ενεργειών υπό συνθήκη παράγονται όταν το κύκλωμα ελέγχου βρίσκεται στην αντίστοιχη κατάσταση Όταν έρχεται η ακμή του ρολογιού εκτελούνται οι λειτουργίες που αντιστοιχούν στο αντίστοιχο βέλος του ASMD <=1 Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 34

Χρονισμός (1/6) <=1 Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 35

Χρονισμός (2/6) Έστω ότι είμαστε στη S_1 μετά το μηδενισμό του μετρητή Α και του F από το start Υποθέτουμε ότι η μηχανή εκτελούσε κανονικό κύκλο (χωρίς ενεργ. του rest_b) Άρα Ε=1. Το Ε=1 όταν η μηχανή μεταβαίνει στην S_2 όταν Α2=1 Η μηχανή (σύστημα) παραμένει στην κατάσταση S_1 για 13 κύκλους Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 36

Χρονισμός (3/6) Προσέξτε τη χρονική διαφορά όταν το Α2=1 και πότε το Ε=1 Όταν Α 3 Α 2 Α 1 Α 0 = 0011 και έρθει η ακμή του ρολογιού τότε η νέα τιμή είναι Α 3 Α 2 Α 1 Α 0 = 0101 Όμως παρότι με τη μετάβαση γίνεται Α 2 =1 η τιμή που είχε όταν ήρθε η ακμή ήταν Α 2 =0 Τα F/Fs διαβάζουν την τιμή Α 2 =0 και επομένως Ε=0 Έτσι, το Ε=1 γίνεται στην επόμενη ακμή του ρολογιού Ομοίως το Ε=0 όταν η (1000) (1001) και όχι όταν (0111) (1000) Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 37

Χρονισμός (4/6) Όταν η μέτρηση φτάσει στο (1100) τότε Α3=Α2=1 στον επόμενο παλμό γίνεται Ε=1 και το σύστημα μεταβαίνει στην κατάσταση S_2 Το σύστημα μένει στην κατάσταση S_2 για έναν παλμό (περίοδο) ρολογιού Στον επόμενο παλμό η μηχανή μεταβαίνει από την S_2 S_idle και F=1 Το σύστημα παραμένει στην S_idle όσο start = 0 Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 38

Χρονισμός (5/6) Συμπερασματικά, βλέπουμε ότι οι λειτουργίες που σχετίζονται με το σήμα Ε καθυστερούν κατά ένα παλμό ρολογιού Σε ένα συμβατικό διάγραμμα δε θα συνέβαινε αυτό Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 39

Χρονισμός (6/6) Η τιμή του Α2 που εξετάζει το κουτί απόφασης αντιστοιχεί στην τιμή του μετρητή όταν η παρούσα κατάσταση είναι η S_1 και πριν ο μετρητής αυξηθεί Το κουτί απόφασης που αφορά το Ε ανήκει στο μπλοκ της S_1 Το κύκλωμα παράγει τα σήματα ελέγχου για όλες τις πράξεις που αφορούν το υπό εκτέλεση μπλοκ πριν την άφιξη του παλμού Η επόμενη ακμή ρολογιού θα πυροδοτήσει τις πράξεις των συνδυαστικών κυκλ. και F/Fs συμπεριλαμβανομένου αυτών που αφορούν την επόμενη κατάσταση Τα σήματα ελέγχου που ελέγχουν τις πράξεις της μονάδας χειρισμού δεδομένων παράγονται από το κύκλωμα ελέγχου έναν κύκλο πριν την εκτέλεση της πράξης Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 40

Διάγραμμα Χρονισμού Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 41

Περίγραμμα Κεφαλαίου Εισαγωγή Βασικές έννοιες και ορολογία Αλγοριθμικές μηχανές καταστάσεων (Algorithmic State Machines ASM ) Παραδείγματα σχεδιασμών Λογικό κύκλωμα ελέγχου Σχεδιασμός με πολυπλέκτες Σχεδιασμός χωρίς κυνηγητά Σχεδιασμός χωρίς μανδαλωτές Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 42

Σχεδίαση Κυκλωμάτων Ελέγχου και Χειρισμού Δεδομένων Στη γενική μορφή κάθε ψηφιακό κύκλωμα /σύστημα αποτελείται από Κύκλωμα χειρισμού δεδομένων Κύκλωμα ελέγχου Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 43

Κύκλωμα Χειρισμού Δεδομένων (1/2) Είσοδοι /έξοδοι Δεδομένα εισόδου (εξωτερικό περιβάλλον), σήματα ελέγχου (κύκλωμα ελέγχου) Δεδομένα εξόδου, σήματα κατάστασης Κύκλωμα χειρισμού δεδομένων περιλαμβάνει συνδυαστικά κυκλώματα για Την υλοποίηση των πράξεων (αριθμητικές, λογικές,...) σε δεδομένα καταχωρητών Την παραγωγή των σημάτων κατάστασης (χρησιμ. από το κύκλωμα ελέγχου) Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 44

Κύκλωμα Χειρισμού Δεδομένων (2/2) Οι προδιαγραφές για τα κυκλώματα χειρισμού δεδομένων προσδιορίζονται από: Σήματα ελέγχου για το datapath που έχουν γραφεί εντός των κουτιών κατάστασης (π.χ. incr_a) των κουτιών υπό συνθήκη ενεργειών (π.χ. clr_e) Κυκλώματα datapath Από την πληροφορία που υπάρχει στα βέλη του διαγράμματος ASMD που σχετίζονται με τις λειτουργίες της μονάδας χειρισμού δεδομένων incr_a => counter set/clr E, F => F/Fs Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 45

Κύκλωμα Ελέγχου (1/2) Output signals (external) Είσοδοι /έξοδοι Σήματα ελέγχου (από εξωτερικό περιβάλλον), σήματα κατάστασης (από τη μονάδα χειρισμού δεδομένων) Σήματα ελέγχου (προς εξωτερικό περιβάλλον), σήματα ελέγχου (προς μονάδα χειρισμού δεδομένων) Κύκλωμα χειρισμού δεδομένων περιλαμβάνει ακολουθιακά κυκλώματα για Την υλοποίηση της μηχανής καταστάσεων (FSM) και την παραγωγή των σημάτων ελέγχου (έξοδοι) Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 46

Κύκλωμα Ελέγχου (2/2) Οι προδιαγραφές για το κύκλωμα ελέγχου προσδιορίζονται από: Τη λειτουργία των κουτιών απόφασης Μεταβάσεις των καταστάσεων Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 47

Κυκλώματα Χειρισμού Δεδομένων & Ελέγχου Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 48

Παράσταση στο Επίπεδο Μεταφοράς Καταχωρητών (RTL) Ένα RTL σύστημα παριστάνεται αν ορίσουμε: Τους καταχωρητές Τις πράξεις που δίνονται στα δεδομένα των καταχωρητών Τα σήματα ελέγχου και τη χρονική ακολουθία τους Οι πράξεις & σήματα ελέγχου προκύπτουν από το διάγραμμα ASMD Είναι βολικό να χωριστούν τα κυκλώματα χειρισμού δεδομένων & ελέγχου Εύκολη και συστηματική σχεδίαση του κυκλώματος ελέγχου Χρήση διαγραμμάτων καταστάσεων (προκύπτουν από το ASMD) Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 49

Διάγραμμα Καταστάσεων Επίπεδο Καταχωρητή Περιλαμβάνει: καταστάσεις και μεταβάσεις καταστάσεων Για κάθε μετάβαση σημειώνεται το σήμα (ή συνδυασμός σημάτων) που την προκαλεί Σε κάθε κατάσταση περιγράφονται οι λειτουργίες που απαιτούνται Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 50

Πίνακας Καταστάσεων Το διάγραμμα καταστάσεων μπορεί να μετατραπεί σε πίνακα καταστάσεων Ο πίνακας καταστάσεων χρησιμοποιείται για τη σχεδίαση του ακολουθιακού κυκλώματος ελέγχου Ο πίνακας καταστάσεων περιλαμβάνει: Παρούσα και επόμενη κατάσταση Παρούσες Εισόδους Εξόδους Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 51

Σχεδίαση Λογικού Κυκλώματος Ελέγχου (1/3) Έχοντας το πίνακα μετάβασης καταστάσεων ο σχεδιασμός του ακολουθιακού κυκλώματος γίνεται με γνωστή μεθοδολογία Όμως τι περισσότερες φορές υπάρχουν πολλές αδιάφορες καταστάσεις που απλοποιούν την παραπάνω διαδικασία Στο συγκεκριμένο παράδειγμα έχουμε 2 σήματα για την παρούσα κατάσταση και 3 σήματα εισόδων Άρα ο πίνακας έχει 32 γραμμές Χρησιμοποιώντας την προηγούμενη απλοποιημένη μορφή η σχεδίαση μπορεί να γίνει πιο εύκολη Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 52

Σχεδίαση Λογικού Κυκλώματος Ελέγχου (2/3) D G1 = S_1 A 2 A 3 D G0 = Start S_idle + S_1 -------------------------- set_e = S_1 A 2 clr_e = S_1 A 2 set_f = S_2 clr_a_f = start S_idle incr_a = S_1 Κωδικοποίηση καταστάσεων S_idle = (0, 0) S_1 = (0, 1) S_2 = (1, 1) Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 53

Σχεδίαση Λογικού Κυκλώματος Ελέγχου (3/3) D G1 = S_1 A 2 A 3 D G0 = Start S_idle + S_1 set_e = S_1 A 2 clr_e = S_1 A 2 set_f = S_2 clr_a_f = start S_idle incr_a = S_1 Κωδικοποίηση καταστάσεων S_idle = (0, 0) S_1 = (0, 1) S_2 = (1, 1) Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 54

Ακολουθιακός Πολλαπλασιαστής Η πράξη του πολ/σμού μπορεί να υλοποιηθεί Παράλληλο κύκλωμα Ακολουθιακό κύκλωμα Παράλληλος πολλαπλασιαστής Συνδυαστικό κύκλωμα δομής πίνακα (array strucutre) Χρήση πολλαπλών AND και αθροιστών μεγάλο κύκλωμα Καθυστέρηση 1 κύκλος ρολογιού υψηλή ταχύτητα Ακολουθιακός πολλαπλασιαστής Ακολουθιακό κύκλωμα Χρήση 1 μονό αθροιστή και 1 μόνο καταχωρητή μικρό κύκλωμα Καθυστέρηση πολλαπλοί κύκλοι ρολογιού χαμηλή ταχύτητα Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 55

Παράλληλος Πολλαπλασιαστής y 5 y 4 y 3 y 2 y 1 y 0 x 5 x 4 x 3 x 2 x 1 x 0 multiplicand multiplier x 0 y 5 x 0 y 4 x 0 y 3 x 0 y 2 x 0 y 1 x 0 y 0 x 1 y 5 x 1 y 4 x 1 y 3 x 1 y 2 x 1 y 1 x 1 y 0 x 2 y 5 x 2 y 4 x 2 y 3 x 2 y 2 x 2 y 1 x 2 y 0 x 3 y 5 x 3 y 4 x 3 y 3 x 3 y 2 x 3 y 1 x 3 y 0 partial products x 4 y 5 x 4 y 4 x 4 y 3 x 4 y 2 x 4 y 1 x 4 y 0 x 5 y 5 x 5 y 4 x 5 y 3 x 5 y 2 x 5 y 1 x 5 y 0 p0 p 11 p 10 p 9 p 8 p 7 p 6 p 5 p 4 p 3 p 2 p 1 product y 3 y 2 y 1 y 0 x 0 x 1 CSA Array x 2 x 3 CPA p 7 p 6 p 5 p 4 p 3 p 2 p 1 p 0 Sin A Cin A B critical path A B A B B Cout Sout = Cout Sout Sin Cin Cout Sout Cin = Cout Sout Cin Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 56

Αλγόριθμος Πολλαπλασιασμού Α= Πολ/στέος (n-bit), B= Πολ/στής (n-bit), Ρ= γινόμενο (2n-bit), C=carry (1-bit) Αλγόριθμος Αρχικοποίηση: Ρ =0, C=0 1. Με βάση το τρέχον LSB (b0) του Β 1.1 Αν b 0 =1 τότε Ρ = (p 2n-1,, p n ) + (a n-1,., a 0 ), C = carry 1.2 Αν b 0 =0 τότε Ρ = (p 2n-1,, p n ) + (0,., 0) = P (no addition) 2. P >>1 (shift right 1 position) 3. P 2n-1 =C, C 0 4. B >>1 (shift right 1 position) Repeat (go to 1) for each bit of multiplier (n times) Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 57

Αλγόριθμος Πολλαπλασιασμού B= Πολ/στέος (n-bit), Q= Πολ/στής (n-bit), A= καταχωρητής (n-bit), C=carry (1-bit), PR = AQ = γινόμενο (2n-bit), P: καταχ. για επαναλήψεις (# bits πολ/στή) Αλγόριθμος Αρχικοποίηση: A =0, C=0 1. Με βάση το τρέχον LSB (b0) του Β 1.1 Αν b 0 =1 τότε ΡR = (a 2n-1,, a n ) + (b n-1,., b 0 ), C = carry 1.2 Αν b 0 =0 τότε Ρ = (a 2n-1,, a n ) + (0,., 0) = P (no addition) 2. (C, PR) = (C, A, Q) >>1 (shift right 1 position) με PR 2n-1 = C 3. C 0 Repeat (go to 1) for each bit of multiplier (n times) Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 58

Αριθμητικό Παράδειγμα Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 59

Σχηματικό Διάγραμμα Ακολουθιακού Πολ/στή (Top Level) Σήματα Load_regs: load registers Add_regs: add registers Shift_regs: >>1 registers Dec_P: decrement counter P counts repetitions Zero: checks if one or both the numbers equal to 0 stops the calculation and returns 0 Ready: end of calculation Reset, clk Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 60

Datapath Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 61

Αριθμητικό Παράδειγμα Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 62

Διάγραμμα ASMD Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 63

Διάγραμμα Καταστάσεων Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 64

Κωδικοποίηση Καταστάσεων Συνεχόμενες δυαδικές τιμές Κώδικας Gray Οne-hot F/F Χρησιμοποιούνται τόσα bits όσα και F/Fs Σε κάθε κατάσταση μόνο ένα F/F είναι set Μεγάλος αριθμός F/Fs αλλά σημαντικά απλούστερα κύκλωματα (συνδυαστικό) επόμενης κατάστασης και εξόδου Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 65

Σχεδίαση Ακολουθιακού Κυκλώματος Με χρήση υπολογιστή και λογισμικού (Computer Aided Design tools CAD tools) Όταν η πολυπλοκότητα είναι μεγάλη Χειρονακτικό τρόπο Κλασική μέθοδος Καταχωρητή ακολουθίας καταστάσεων (sequence register) και αποκωδικοποιητή One-hot υλοποίηση Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 66

Καταχωρητής ακολουθίας καταστάσεων και αποκωδικοποιητής Χρησιμοποιούνται: Καταχωρητής για τις καταστάσεις ελέγχου Αποκωδικοποιητής που δίνει διακριτές εξόδους στις διαφορετικές καταστάσεις Ένας καταχωρητής με n F/Fs μπορεί να αποθηκεύσει 2 n καταστάσεις Ένας αποκωδικοποιητής με n έχει 2 n εξόδους Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 67

Πίνακας Καταστάσεων Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 68

Κύκλωμα Ελέγχου (1/6) Σε οποιαδήποτε στιγμή η μεταβλητή εξόδου τύπου Moore που έχει την τιμή 1 καθορίζεται από την αντίστοιχη παρούσα κατάσταση Αν η παρούσα είναι η G 1 G 0 = 00 => ready = 1 Επειδή οι Moore έξοδοι είναι συνάρτηση μόνο της παρούσας κατάστασης παράγονται από το κύκλωμα του αποκωδικοποιητή το οποίο έχει εισόδους τα G1, G0 Οι έξοδοι του αποκωδικοποιητή είναι Τ2 Τ0 Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 69

Κύκλωμα Ελέγχου (2/6) Επειδή οι Moore έξοδοι είναι συνάρτηση μόνο της παρούσας κατάστασης παράγονται από το κύκλωμα του αποκωδικοποιητή το οποίο έχει εισόδους τα G1, G0 Οι έξοδοι του αποκωδικοποιητή είναι Τ2 Τ0 Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 70

Κύκλωμα Ελέγχου (3/6) Αν ακολουθηθεί η κλασική μέθοδος τότε πολλές φορές (λόγω του πλήθους των καταστάσεων και των εισόδων) ο πίνακας γίνεται πολύ μεγάλος Αύξηση της πολυπλοκότητας, όγκου εργασίας και πιθανότητας λάθους Η διαδικασία μπορεί να απλοποιηθεί αν λάβουμε υπόψη ότι έξοδοι του αποκωδικοποιητή είναι άμεσα διαθέσιμες Αντί να χρησιμοποιήσουμε τις εξόδους των F/Fs ως συνθήκες που δείχνουν την παρούσα κατάσταση, να χρησισ. τις εξόδους του αποκωδικοποιητή για τον καθορισμό της παρούσας κατάστασης Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 71

Κύκλωμα Ελέγχου (4/6) Επίσης, αντί χρήσης πινάκων Karnaugh για απλοποίηση των εισόδων των F/Fs μπορούμε να βρούμε τις εισόδους των F/Fs με επισκόπηση του πίνακα καταστάσεων Από τις συνθήκες επόμενης κατάστασης διαπιστώνουμε ότι η επόμενη κατάσταση του G1 είναι 1 όταν η παρούσα είναι η S_add 0 όταν η παρούσα είναι η S_idle ή η S_shift Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 72

Κύκλωμα Ελέγχου (5/6) Από τις συνθήκες επόμενης κατάστασης διαπιστώνουμε ότι η επόμενη κατάσταση του G1 είναι 1 όταν η παρούσα είναι η S_add 0 όταν η παρούσα είναι η S_idle ή η S_shift Επομένως DG 1 = T1 DG 0 =T 0 Start + T2 Zero Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 73

Κύκλωμα Ελέγχου (6/6) Από τις συνθήκες επόμενης κατάστασης διαπιστώνουμε ότι η επόμενη κατάσταση του G1 είναι 1 όταν η παρούσα είναι η S_add 0 όταν η παρούσα είναι η S_idle ή η S_shift Επομένως DG 1 = T1 DG 0 =T 0 Start + T2 Zero Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 74