Καταχωρητές και Μετρητές

Σχετικά έγγραφα
Καταχωρητές και Μετρητές

Σχεδιασμός Πλήρους Αθροιστή/Αφαιρέτη

Δυαδικές Μονάδες Μνήμης: Μανδαλωτής SR, D και JK Flip-Flops Σχεδιασμός Μετρητής Ριπής

Δυαδικές Μονάδες Μνήμης: Μανδαλωτής SR, D και JK Flip-Flops Σχεδιασμός Μετρητή Ριπής

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

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

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

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

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

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

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

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

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

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

ΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών

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

Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.

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

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

VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL

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

Εργαστηριακή Άσκηση 4: Ιεραρχική σχεδίαση και προσχεδιασμένοι πυρήνες

Στοιχεία Μνήμης, JKκαιD (Flip-Flops) Μετρητής Ριπής (Ripple Counter)

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Εισαγωγή στις πύλες NAND, NOR και XOR Σχεδιασμός Ελεγκτή Λαμπτήρων με πολλαπλούς διακόπτες και Ανιχνευτή Πρώτων Αριθμών

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

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

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

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥΣ ΜΕ FLIP-FLOP ΚΑΙ ΠΥΛΕΣ

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

Ψηφιακά Συστήματα. 8. Καταχωρητές

Structural VHDL. Structural VHDL

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

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

Εισαγωγή στη VHDL Υλοποίηση στο Quartus

Καταχωρητές,Σύγχρονοι Μετρητές και ΑκολουθιακάΚυκλώματα

Κυκλωμάτων» Χειμερινό εξάμηνο

Καταχωρητές, Μετρητές και Ακολουθιακά Κυκλώματα

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

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

ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL

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

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

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

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

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

Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL

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

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

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

Εισαγωγή στις πύλες NAND, NOR και XOR. Σχεδιασμός Ελεγκτή Λαμπτήρων με πολλαπλούς διακόπτες

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

Εισαγωγή στη Γλώσσα VHDL

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

ΑΣΚΗΣΗ 1 ΛΟΓΙΚΕΣ ΠΥΛΕΣ (Α)

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

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

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων

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

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

Συνδιαστική Λογική με Πολυπλέκτες και Αποκωδικοποιητές: Σχεδιασμός ενός Πλήρους Αθροιστή

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

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

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

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

VHDL Εισαγωγικές έννοιες

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

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

Η πρωτεύουσα διάταξη Α, για την αποστολή θερμοκρασιακών δεδομένων μέσω υπέρυθρης ζεύξης.

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

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

ΑΣΚΗΣΗ 1η ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΣΧΕΔΙΑΣΗΣ QUARTUS II ΤΗΣ ALTERA

9. ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS)

Οδηγίες εγκατάστασης και χρήσης του Quartus

ΠΑΡΑΡΤΗΜΑ Β. Verification

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

ΑΣΚΗΣΗ 6 ΠΟΛΥΠΛΕΚΤΕΣ (MUX) ΑΠΟΠΛΕΚΤΕΣ (DEMUX)

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

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

ΑΣΚΗΣΗ 7 FLIP - FLOP

Συστηµάτων ΗΜΥ211. Στόχοι Εργαστηρίου. Πανεπιστήμιο Κύπρου. Πανεπιστήμιο Κύπρου. Εργαστήριο Ψηφιακών Συστηµάτων ΗΜΥ211 Χειµερινό 2013

Προπαρασκευαστική παρουσίαση. για το Εργαστήριο ΗΜΥ 211. και το λογισμικό Altera Quartus II

15 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

ΜΙΧΑΛΗΣ ΨΑΡΑΚΗΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΙΡΑΙΩΣ

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Προσοµοίωση Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL)

Flip-Flop: D Control Systems Laboratory

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL)

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

Διδάσκoντες: Γιώργος Ζάγγουλος και Λάζαρος Ζαχαρία. Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Ακολουθιακό κύκλωμα Η έξοδος του κυκλώματος εξαρτάται από τις τιμές εισόδου ΚΑΙ από την προηγούμενη κατάσταση του κυκλώματος

Library, package και subprograms

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ.3 ΑΣΥΓΧΡΟΝΟΣ ΔYΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.5 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.7 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ ΜΕ LATCH.

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

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.

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

Transcript:

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ HMY 211-2010 Καταχωρητές και Μετρητές Σχεδιασμός ενός Οικουμενικού Καταχωρητή Ολίσθησης, Μετρητή Δακτυλίου και Μετρητή BCD Εισαγωγή ΕΡΓΑΣΤΗΡΙΟ ΛΟΓΙΣΜΙΚΟΥ/ΥΛΙΚΟΥ 5 Στην προηγούμενη εργαστηριακή άσκηση, δείξαμε πώς χρησιμοποιούμε ένα flip-flop ως στοιχείο μνήμης ικανό για την αποθήκευση ενός bit πληροφορίας, και πώς τα JK flip-flops μπορούν να χρησιμοποιηθούν για τον σχεδιασμό ενός modulo 16/10 μετρητή. Ολοκληρωμένα σύνολα από flip-flops, τα οποία εκτελούν πράξεις σύμφωνα με κοινά σήματα ελέγχου ονομάζονται ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS) ή ΜΕΤΡΗ- ΤΕΣ (COUNTERS). Ένας καταχωρητής είναι μια διάταξη μνήμης που χρησιμοποιείται για την αποθήκευση και χειρισμό πολλαπλών bit πληροφορίας. Οι καταχωρητές χωρίζονται σε κατηγορίες, αναλόγως του τρόπου με τον οποίο οι πληροφορίες εισάγονται ή αφαιρούνται από αυτούς. Ένας σειριακός (serial) καταχωρητής, ή καταχωρητής ολίσθησης (shift register), είναι μια διάταξη όπου τα δεδομένα εισάγονται ανά ένα bit, ενώ ένας παράλληλος (parallel) καταχωρητής δέχεται ή μεταφέρει όλα τα bit δεδομένων ταυτόχρονα. Ένας σύγχρονος μετρητής είναι ένα συγκεκριμένο είδος καταχωρητή, ο οποίος περιοδικά αλλάζει την τιμή των δεδομένων που περιέχει, ακολουθώντας μια συγκεκριμένη σειρά αριθμών (καταστάσεων) σε κάθε ακμή του ρολογιού (θυμηθείτε, για παράδειγμα, τον μετρητή ριπής που σχεδιάσατε στο προηγούμενο εργαστήριο). Στην άσκηση αυτή θα μελετήσουμε και θα σχεδιάσουμε έναν «οικουμενικό» καταχωρητή ολίσθησης (universal shift register), ο οποίος δέχεται και διαχειρίζεται δεδομένα τόσο σειριακά, όσο και παράλληλα. Επίσης, θα σχεδιάσουμε ένα Αμφίδρομο Μετρητή Δακτυλίου (bi-directional ring counter) 4 ων bit χρησιμοποιώντας ένα οικουμενικό καταχωρητή, και ένα modulo-100 BCD μετρητή ριπής. Για την άσκηση αυτή χρειάζονται δύο Προεργασίες, όπως υποδεικνύεται στις σελίδες 5 και 7. Αυτές πρέπει να πραγματοποιηθούν κατά τη διάρκεια του εργαστηρίου. Επίσης, οι εκτυπώσεις και τα συμπληρωμένα φυλλάδια (και από τις δύο εβδομάδες) που αναφέρονται στις σελίδες 8 και 12 θα πρέπει να υπογραφούν από τους υπεύθυνους του εργαστηρίου και να συμπεριληφθούν στη γραπτή αναφορά. Μέρος Α (Πρώτη Εβδομάδα) Σημείωση: Τα πιο κάτω αρχεία θα χρησιμοποιηθούν στην άσκηση αυτή. Πριν ξεκινήσετε, κατεβάστε τα από την ιστοσελίδα του μαθήματος και εγκαταστήστε τα στον χώρο σας, σε ένα κατάλογο με το όνομα Lab5. ushift4.vhd ushift4.vwf dualmux4x1.vhd quaddff.vhd ushift4_struct.vhd ushift4_struct.vwf lab5b.vwf A.I. Σχεδιασμός ενός Οικουμενικού Καταχωρητή Ολίσθησης Ο Πίνακας Λειτουργίας και το Σχηματικό Σύμβολο του οικουμενικού καταχωρητή ολίσθησης 4 ων bit 74194 1 (4-bit universal shift register) φαίνονται στην επόμενη σελίδα. Η ονομασία «οικουμενικός» προέρχεται από το γεγονός ότι περιλαμβάνει όλα τα χαρακτηριστικά που θα μπορούσε να απαιτεί ένας σχεδιαστής από έναν καταχωρητή και έτσι τον καθιστούν σημαντικό δομικό στοιχείο σχεδίασης. Το κύκλωμα διαθέτει παράλληλες εισόδους και εξόδους, σειριακές εισόδους αριστερής και δεξιάς ολίσθησης, εισόδους ελέγχου της κατάστασης λειτουργίας και μια γραμμή για άμεση αρχικοποίηση (asynchronous initialization). Τα δύο σήματα ελέγχου της κατάστασης λειτουργίας (mode control), S 1 και S 0, καθορίζουν τους ακόλουθους τέσσερεις τρόπους λειτουργίας: (S 1,S 0 ) = 0 0: Διατηρεί την τρέχουσα κατάσταση (καμιά αλλαγή). 0 1: Δεξιά Ολίσθηση (με κατεύθυνση από το QA προς το QD) 1 0: Αριστερή Ολίσθηση (με κατεύθυνση από το QD προς το QA) 1 1: Παράλληλη Φόρτωση των A, B, C, D στα QA, QB, QC, QD 1 Το 74194 είναι λειτουργικά ισοδύναμο με το 74LS194A. Στο εργαστήριο υλικού θα χρησιμοποιηθεί το 74LS194A. 1

Οι λειτουργίες ολίσθησης και φόρτωσης γίνονται στη θετική ακμή της εισόδου του ρολογιού, το οποίο ενώνεται εσωτερικά με όλα τα flip-flops. Μελετήστε τους πίνακες για να καταλάβετε τις λειτουργίες του. 1. 74194 Οικουμενικός Καταχωρητής Ολίσθησης 4-Bit Θετικά Ακμοπυροδοτούμενος με Σειριακές και Παράλληλες Εισόδους και Ασύγχρονο Clear MODE SERIAL IN PARALLEL IN OUTPUTS ACTION CLRN S1 S0 CLK SLSI SRSI A B C D QA QB QC QD 0 X X X X X X X X X 0 0 0 0 Reset 1 X X X X X X X X QA QB QC QD Retain 1 1 1 X X a b c d a b c d Parallel Load 1 0 1 X 0 X X X X 0 QA QB QC Shift Right 1 0 1 X 1 X X X X 1 QA QB QC Shift Right 1 1 0 0 X X X X X QB QC QD 0 Shift Left 1 1 0 1 X X X X X QB QC QD 1 Shift Left 1 0 0 X X X X X X X QA QB QC QD Retain 74153 Δύο 4-σε-1 Πολυπλέκτες SELECT DATA INPUTS EN OUT B A C0 C1 C2 C3 GN Y X X X X X X 1 0 0 0 0 X X X 0 0 0 0 1 X X X 0 1 0 1 X 0 X X 0 0 74175 Καταχωρητής Τεσσάρων D Flip-Flop με Clear CLRN D CLK Q + QN + 0 X X 0 1 1 X Q QN 1 0 0 1 1 1 1 0 0 1 X 1 X X 0 1 1 0 X X 0 X 0 0 1 0 X X 1 X 0 1 1 1 X X X 0 0 0 1 1 X X X 1 0 1 2

Ένα VHDL entity (οντότητα) και η behavioral αρχιτεκτονική για τον οικουμενικό καταχωρητή ολίσθησης φαίνονται πιο κάτω. Επιβεβαιώστε ότι η πιο κάτω περιγραφή ισοδυναμεί με την συμπεριφορά που περιγράφεται στην προηγούμενη σελίδα για το στοιχείο αυτό. -- ushift4.vhd -- Model for 4-bit universal shift register 74194 -- ECE-211 Experiment LAB5A library ieee; use ieee.std_logic_1164.all; ENTITY ushift4 IS PORT (clk, clrn, slsi, srsi : in bit; mode : in bit_vector ( 1 downto 0 ); d : in bit_vector ( 3 downto 0 ); q : out bit_vector (3 downto 0 )); END ushift4; ARCHITECTURE behavior OF ushift4 IS signal tempq: bit_vector(3 downto 0); BEGIN PROCESS (clk, clrn) begin -- Asynchronous, active-low Clear input: if clrn = '0' then q <= "0000"; -- Rising edge-triggered D flip-flops: elsif clk'event and clk = '1' then case mode is -- "Do Nothing" mode: retain current flip-flop outputs when "00" => null; -- Shift Right Serial Input mode: when "01" => tempq <= srsi & q(3 downto 1); -- Shift Left Serial Input mode: when "10" => tempq <= q(2 downto 0) & slsi; -- Parallel (Broadside) Load mode: when "11" => tempq <= d; end case; end if; end process; PROCESS (tempq) begin -- Asynchronous, assignment: q<=tempq; end process; END behavior; a) Προσομοίωση της Behavioral Αρχιτεκτονικής του Οικουμενικού Καταχωρητή Ολίσθησης Στην άσκηση αυτή θα φορτώσετε, θα μεταφράσετε και θα προσομοιώσετε τον πιο πάνω κώδικα. 1. Αντιγράψετε το αρχείο ushift4.vhd και το αρχείο κυματομορφών ushift4.vwf στον κατάλογο Lab5, στο χώρο εργασίας σας. 2. Μεταφράστε τον σχεδιασμό ushift4.vhd, αφού πρώτα τον εντάξετε σ ένα νέο project. (Παρατηρήστε στο compilation report πόσες λογικές πύλες και πόσα στοιχεία μνήμης χρησιμοποιούνται από αυτή την υλοποίηση του οικουμενικού καταχωρητή.) 3. Εκτελέστε την προσομοίωση με τη χρήση του αρχείου ushift4.vwf σαν είσοδο. Επιλέξτε Functional στο πεδίο Simulation Mode. 3

4. Κρατήστε μιαν εκτύπωση των αποτελεσμάτων της προσομοίωσης (με το όνομα και τον αριθμό ταυτότητάς σας, και την ημέρα εργαστηρίου). Επιβεβαιώστε ότι τα αποτελέσματα σας αντιστοιχούν στην συμπεριφορά του 74194 που περιγράφηκε στις σελίδες 1 & 2. b) Προσομοίωση της Structural Αρχιτεκτονικής του Οικουμενικού Καταχωρητή Ολίσθησης Για καλύτερη αντίληψη του καταχωρητή ολίσθησης 74194, και για να εξοικειωθείτε περισσότερο με τους πολυπλέκτες και τα flip-flops, που είδαμε σε προηγούμενες ασκήσεις, θα κληθείτε ν αλλάξετε ένα VHDL αρχείο structural αρχιτεκτονικής έτσι που, με τη χρήση δύο 74153 (τέσσερεις 4-σε-1 πολυπλέκτες) και ενός 74175 (τέσσερα D flip-flops), να κατασκευάσετε ένα κύκλωμα που να εκτελεί ακριβώς την ίδια λειτουργία και να έχει τις ίδιες εισόδους/εξόδους με έναν 74194Α οικουμενικό καταχωρητή ολίσθησης. Οι πίνακες λειτουργίας και τα σύμβολα που χρησιμοποιεί το QUARTUS II για τα ολοκληρωμένα 74153 και 74175 δίνονται στη σελίδα 2 της άσκησης αυτής. Μελετήστε τα αρχεία που ακολουθούν για να κατανοήσετε πώς περιγράφουν τα σύμβολα και τη συμπεριφορά που παρουσιάστηκαν στη σελίδα 2. -- dualmux4x1.vhd -- Model for Dual four-to-one multiplexer 74153 -- ECE-211 Experiment LAB5A library ieee; use ieee.std_logic_1164.all; ENTITY dualmux4x1 IS PORT (gb1, gb2 : in bit; sel : in bit_vector ( 1 downto 0 ); d1, d2 : in bit_vector ( 3 downto 0 ); y1, y2 : out bit); END dualmux4x1; ARCHITECTURE behav OF dualmux4x1 IS BEGIN PROCESS (sel, gb1, gb2, d1, d2) begin if gb1 = '1' then y1 <= '0'; elsif sel = "00" then y1 <= d1(0); elsif sel = "01" then y1 <= d1(1); elsif sel = "10" then y1 <= d1(2); elsif sel = "11" then y1 <= d1(3); end if; if gb2 = '1' then y2 <= '0'; elsif sel = "00" then y2 <= d2(0); elsif sel = "01" then y2 <= d2(1); elsif sel = "10" then y2 <= d2(2); elsif sel = "11" then y2 <= d2(3); end if; end process; END behav; 4

-- quaddff.vhd -- Model for Quad D Flip-Flop 74175 -- ECE-211 Experiment LAB5A library ieee; use ieee.std_logic_1164.all; ENTITY quaddff IS PORT (clkf, rstb : in bit; df : in bit_vector (3 downto 0); qf : inout bit_vector (3 downto 0)); END quaddff; ARCHITECTURE behav OF quaddff IS BEGIN PROCESS (clkf, rstb) begin if rstb = '0' then qf <= "0000"; elsif clkf'event and clkf = '1' then qf <= df; end if; end process; END behav; Προεργασία 1: Σχεδιάστε στο διαθέσιμο χώρο στο τέλος της εκφώνησης το σχηματικό διάγραμμα ενός σχεδιασμού, όπως αυτός καθορίζεται στη σελίδα 4 για τον οικουμενικό καταχωρητή ολίσθησης, χρησιμοποιώντας τα στοιχεία και τις θύρες σημάτων που δίνονται από τα αρχεία VHDL dualmux4x1.vhd και quaddff.vhd. Ένας ημιτελής κώδικας VHDL structural αρχιτεκτονικής για τον Οικουμενικό Καταχωρητή Ολίσθησης φαίνεται στην επόμενη σελίδα. Χρησιμοποιείστε το σχηματικό σας διάγραμμα για να συμπληρώσετε τις γραμμές που λείπουν από τον κώδικα VHDL. 1. Αντιγράψτε τα αρχεία VHDL, dualmux4x1.vhd, quaddff.vhd, ushift4_struct.vhd και ushift4_struct.vwf από την σελίδα του μαθήματος στον κατάλογο σας, Lab5. 2. Χρησιμοποιήστε τα αποτελέσματα της Προεργασίας 1 για να αλλάξετε το αρχείο ushift4_struct.vhd. Κρατήστε μια εκτύπωση του αλλαγμένου αρχείου (με το όνομα και τον αριθμό ταυτότητάς σας, και την ημέρα εργαστηρίου). Ανατρέξτε στην επόμενη σελίδα για το αρχείο. Ο ευκολότερος τρόπος για να αλλάξετε το αρχείο είναι να το ανοίξετε από τον editor του QUARTUS II. 3. Αφού έχετε αλλάξει κατάλληλα τον structural κώδικα του καταχωρητή, και αφού τον έχετε καθορίσει ως Top-Level Entity στο τρέχον project, μεταφράστε τον. (Παρατηρήστε στο compilation report πόσες λογικές πύλες και πόσα στοιχεία μνήμης χρησιμοποιούνται από αυτή την υλοποίηση του οικουμενικού καταχωρητή. Συγκρίνετε με την behavioral αρχιτεκτονική στο προηγούμενο μέρος και σχολιάστε.) 4. Προσομοιώστε (επιλέγοντας functional simulation) με τη χρήση του αρχείου ushift4_struct.vwf. Εκτυπώστε το αποτέλεσμα (με το όνομα και τον αριθμό ταυτότητάς σας, και την ημέρα εργαστηρίου). Παρατηρήστε ότι στην προσομοίωση περιλαμβάνεται ένας «αφανής» κόμβος, ο οποίος αντιστοιχεί στις εισόδους των D flip-flops, απ όπου μπορείτε να δείτε την επίδραση των χρονισμένων flip-flops στην έξοδο Q. 5

-- ushift4_struct.vhd -- Structural architecture for universal register 74194 -- ECE-211 Experiment LAB5 library ieee; use ieee.std_logic_1164.all; ENTITY ushift4_struct IS PORT(clk, clrb, slsi, srsi : in bit; mode : in bit_vector(1 downto 0); d : in bit_vector(3 downto 0); q : inout bit_vector(3 downto 0)); END ushift4_struct; ARCHITECTURE struct OF ushift4_struct IS -- Structural configuration uses one 74175 Quad D flip-flop -- and two 74153 Dual 4-to-1 Multiplexers COMPONENT quaddff port(clkf, rstb : in bit; df : in bit_vector(3 downto 0); qf : inout bit_vector(3 downto 0)); END COMPONENT; COMPONENT dualmux4x1 port(gb1, gb2 : in bit; sel : in bit_vector(1 downto 0); d1, d2 : in bit_vector(3 downto 0); y1, y2 : out bit); END COMPONENT; signal tempq: bit_vector(3 downto 0); signal x3, x2, x1, x0, y : bit_vector(3 downto 0); signal low : bit; BEGIN low <= '0'; x3 <= d(3) & tempq(2) & srsi & tempq(3); x2 <= ; -- complete these x1 <= ; -- three lines x0 <= ; -- of code MUX1: dualmux4x1 PORT MAP (low, low, mode, x3, x2, y(3), y(2)); -- Complete the following line of code: MUX2: dualmux4x1 PORT MAP (,,,,,, ); DFF1: quaddff PORT MAP (clk, clrb, y, tempq); q<=tempq; END struct; 6

A.II. Σύγχρονος Αμφίδρομος Μετρητής Δακτυλίου 4-Bit Ένας μετρητής δακτυλίου αποτελείται από έναν καταχωρητή ολίσθησης, ο οποίος 0 σχεδιάζεται με τέτοιο τρόπο, ώστε το bit που ολισθαίνει προς τα έξω από την μία πλευρά του να εισάγεται στην άλλη. Ο μετρητής αρχικοποιείται έτσι που ακριβώς ένα bit στον 0 0 καταχωρητή να είναι 1 και όλα τα άλλα να είναι μηδέν. Σε διαδοχικές θετικές ακμές του ρολογιού, το 1 μεταφέρεται κυκλικά στον «δακτύλιο» του καταχωρητή. Στα δεξιά μπορείτε να δείτε μια γραφική αναπαράσταση της λειτουργίας του καταχωρητή δακτυλίου. 1 Ένας Αμφίδρομος Μετρητής Δακτυλίου (bi-directional ring counter) διαθέτει ένα σήμα ελέγχου κατάστασης το οποίο ελέγχει την κατεύθυνση της ολίσθησης. Στο πιο πάνω παράδειγμα, η έξοδος του δεξιότερου flip-flop ενώνεται με την είσοδο του αριστερότερου flip-flop. Μπορεί, όμως, να συμβεί και το α- ντίθετο, δηλ., η έξοδος του αριστερότερου flip-flop να ενωθεί με την είσοδο του δεξιότερου flip-flop. Η λειτουργία της παράλληλης φόρτωσης για το στοιχείο αυτό χρησιμοποιείται για τον καθορισμό της αρχικής κατάστασης του μετρητή. Ένας αμφίδρομος μετρητής δακτυλίου μπορεί να υλοποιηθεί χρησιμοποιώντας έναν οικουμενικό καταχωρητή ολίσθησης 74194. Προεργασία 2: Σχεδιάστε στο χαρτί έναν αμφίδρομο μετρητή δακτυλίου, όπως καθορίστηκε στην προηγούμενη παράγραφο, με την χρήση του οικουμενικού καταχωρητή ολίσθησης 74194 και τα σήματα που δίνονται στο βήμα a.3 πιο κάτω. Ο μετρητής πρέπει να έχει τις εξής λειτουργίες: (i) MODE = 00 διατηρεί την τρέχουσα κατάσταση, (ii) MODE = 01 μετρητής δακτυλίου προς τα δεξιά, (iii) MODE = 10 μετρητής δακτυλίου προς τα αριστερά, (iv) MODE = 11 αρχικοποιεί τον μετρητή με την τιμή 1000. a) Κατασκευή και Προσομοίωση Σχηματικού 1. Δημιουργήστε ένα νέο αρχείο στον Graphic Editor με το όνομα lab5b.bdf και αποθηκεύσετε το στον κατάλογο σας, Lab5. Συμπεριλάβετε το σ ένα νέο project. 2. Εισαγάγετε τα ακόλουθα στοιχεία από το παράθυρο διαλόγου Symbol: input, output, gnd, vcc και 74194. 3. Αντιγράψετε αναλόγως τα στοιχεία, ώστε να έχετε 3 θύρες εισόδου στα αριστερά και μία θύρα εξόδου στα δεξιά του σχηματικού σας. Δώστε τα ακόλουθα ονόματα στις θύρες: RESETN, CLK, MODE[1..0] και COUNT[3..0] Σημειώστε: ΠΡΕΠΕΙ να χρησιμοποιήσετε τα ονόματα αυτά ώστε να συμβαδίζει το σχηματικό σας με το αρχείο κυματομορφών που σάς έχει δοθεί. 4. Συνδέστε τα στοιχεία μεταξύ τους σύμφωνα με το σχεδιασμό σας. Χρησιμοποιήστε δίαυλους για την έξοδο COUNT[3..0] και την είσοδο MODE[1..0]. 5. Ελέγξτε, αποθηκεύσετε και μεταφράστε τον σχεδιασμό. Κρατήστε μια εκτύπωση του σχηματικού σας (με το όνομα και τον αριθμό ταυτότητάς σας, και τη μέρα εργαστηρίου). 6. Αντιγράψετε το αρχείο κυματομορφής lab5b.vwf στον κατάλογο σας, Lab5. 7. Προσομοιώστε με αυτό το project σας (επιλέγοντας functional simulation) και κρατήστε μια εκτύπωση των αποτελεσμάτων (με το όνομα και τον αριθμό ταυτότητάς σας, και τη μέρα εργαστηρίου). Μελετήστε τις κυματομορφές εξόδου και σχολιάστε τα αποτελέσματα. 7

A.III. BCD Μετρητής Ριπής Modulo 100 Το σχηματικό στη σελίδα 10 αυτής της άσκησης περιγράφει ένα Binary-Coded-Decimal Μετρητή δύο ψηφίων, χρησιμοποιώντας μόνο ένα ολοκληρωμένο 74390 (το σχηματικό διάγραμμα του οποίου φαίνεται στη σελίδα 12). Κάθε ψηφίο BCD υλοποιείται με τη διαδοχική σύνδεση ενός μετρητή ενός bit, που διαιρεί δια 2 (modulo 2), και ενός μετρητή 3 ων bit, που διαιρεί δια 5 (modulo 5), κατασκευάζοντας έτσι ένα μετρητή ριπής που μετράει από το δεκαδικό 00 έως το 99. 1. Με τη χρήση του Graphic Editor υλοποιήστε τον μετρητή αυτό σε ένα νέο αρχείο με το όνομα lab5c.bdf στον κατάλογο Lab5. Αναθέστε το στο τρέχον project ως Top-Level-Entity. Ονομάστε τις δύο εισόδους CLR και CNTB, και την έξοδο COUNT[7..0]. Συμπληρώστε κατάλληλα τα ελλείποντα ονόματα των δύο, κάτω αριστερά κόμβων του ολοκληρωμένου 74390. Ελέγξετε, αποθηκεύσετε και μεταφράστε το σχηματικό και κρατήστε μια εκτύπωση του (με το όνομα και τον αριθμό ταυτότητάς σας, και την ημέρα εργαστηρίου). 2. Δημιουργήστε μια κυματομορφή διάρκειας 11200ns στο αρχείο lab5c.vwf για την προσομοίωση του μετρητή σας. Δημιουργήστε ένα ρολόι με περίοδο 100ns για τον κόμβο CNTB. Καθορίστε τον κόμβο CLR έτσι που ο μετρητής να μηδενίζεται τη χρονική στιγμή 0ns. (To CLR είναι θετικής λογικής άρα θα πρέπει να ενεργοποιηθεί στο λογικό 1 μόνο για μια σύντομη χρονική περίοδο από το 0ns ως 20ns, παραδείγματος χάριν, και μετά να τεθεί στο 0.) Τέλος, καθορίστε το Radix της εξόδου COUNT[7..0] σε HEX. 3. Προσομοιώστε τον σχεδιασμό σας (επιλέγοντας timing simulation) και κρατήστε εκτυπώσεις (με το όνομα και τον αριθμό ταυτότητάς σας, και την ημέρα εργαστηρίου) για τα χρονικά διαστήματα από 0ns έως 1300ns και από 8800ns έως 10400ns. Μεγεθύνετε στο χρονικό σημείο όπου γίνεται η αλλαγή από το 99 στο 00, και παρατηρήστε ότι η αλλαγή δεν γίνεται ακαριαία από το 99 στο 00, αλλά θα δείτε μεταβατικές τιμές. Άλλες ενδιαφέρουσες αλλαγές του μετρητή είναι από το 79 στο 80, και από το 39 στο 40. Κρατήστε εκτυπώσεις συγκεκριμένων (μεγεθυμένων) αλλαγών, όπου παρατηρούνται μεταβατικές τιμές. Σχολιάστε. Αναφορά Μέρους Α: Η γραπτή σας αναφορά για το μέρος Α πρέπει να περιέχει: (i) σχολιασμό για τη λειτουργία του κάθε καταχωρητή και μετρητή που σχεδιάστηκε, και (ii) σχολιασμό για τα σχετικά πλεονεκτήματα και μειονεκτήματα των καταχωρητών και των μετρητών που μελετήσατε στην άσκηση αυτή. Για το σκοπό αυτό, παραπέμπεστε στα ακόλουθα σχηματικά και αποτελέσματα προσομοιώσεων, τα οποία είναι απαραίτητο να συμπεριλάβετε στην αναφορά: 1. Την κυματομορφή που προέκυψε από την προσομοίωση του behavioral μοντέλου του καταχωρητή ολίσθησης στο βήμα a.4 του Α.Ι. στη σελίδα 4. 2. Την Προεργασία 1 και τον κώδικα VHDL για το συμπληρωμένο ushift4_struct.vhd από το b.2 του Α.Ι. στη σελίδα 5. 3. Τις κυματομορφές που προέκυψαν από την προσομοίωση του structural μοντέλου του καταχωρητή ολίσθησης στο b.4 του Α.Ι. στη σελίδα 5. 4. Την Προεργασία 2 και το σχηματικό του αμφίδρομου μετρητή δακτυλίου στο a.5 του Α.ΙΙ. στη σελ. 7. 5. Τις κυματομορφές που προέκυψαν από την προσομοίωση του αμφίδρομου μετρητή δακτυλίου στο a.7 του Α.ΙΙ. στη σελίδα 7. 6. Το σχηματικό του μετρητή BCD Modulo 100 από το βήμα 1 του Α.ΙΙΙ. στη σελίδα 8. 7. Τις δύο κυματομορφές που προέκυψαν από την προσομοίωση του μετρητή BCD Modulo 100 (συν μια εκτύπωση μεγεθυμένης αλλαγής, με μεταβατικές τιμές) στο βήμα 3 του Α.ΙΙΙ. στη σελίδα 8. Επίσης, αναφέρετε οποιεσδήποτε δυσκολίες έχετε συναντήσει στη χρήση των εργαλείων του QUARTUS II και εξηγήστε τι κάνατε για να τις αντιμετωπίσετε. 8

Μέρος Β.Ι (Δεύτερη Εβδομάδα) Σκοπός αυτής της εργαστηριακής άσκησης είναι να διαπιστωθεί πειραματικά η λειτουργία του Σύγχρονου Αμφίδρομου Μετρητή Δακτυλίου, ο οποίος προσομοιώθηκε στο μέρος Α.ΙΙ., και του μετρητή BCD Modulo 100 από το μέρος Α.ΙΙΙ. Πρώτα, θα κατεβάσετε στην πλακέτα Altera DE1 και θα ελέγξετε τον Αμφίδρομο Μετρητή Δακτυλίου. Η έξοδος του Καταχωρητή Δακτυλίου θα παρουσιάζεται σ ένα από τα SSDs. Ακολούθως, θα κατεβάσετε τον BCD μετρητή και οι έξοδοι του θα παρουσιάζονται σε δύο SSDs. a) Σύγχρονος Αμφίδρομος Μετρητής Δακτυλίου 1. Ανοίξετε το project που έχετε δημιουργήσει στο προηγούμενο εργαστήριο λογισμικού, για τα μέρη Α.ΙΙ. και Α.ΙΙΙ. Ανοίξετε μετά το σχηματικό lab5b.bdf. 2. Αντιγράψετε τα περιεχόμενα της βιβλιοθήκης DE1core library functions στον κατάλογο σας, Lab5. Προσθέστε τον κατάλογο αυτό στις διαθέσιμες βιβλιοθήκες του QUARTUS II. (Επιλέξτε Assignments Settings και μετά την κάρτα Libraries.) 3. Εισαγάγετε το σύμβολο clk_div στον σχεδιασμό σας και συνδέστε κατάλληλα το κύκλωμα ώστε η συχνότητα του σήματος του ρολογιού να μειώνεται στο 1Hz. 4. Εισαγάγετε δύο πύλες not στον σχεδιασμό σας και τοποθετήστε τις κατάλληλα ώστε να αντιστρέφονται οι είσοδοι MODE[1..0]. Ένα μέρος του SSD θα παρουσιάζει τον δακτύλιο, με ένα από τα κομμάτια του να δείχνει τη θέση του bit που είναι 1. Ο δακτύλιος θα αποτελείται από τα μέρη 0, 1, 6 και 5 του SSD. 5. Επιλέξτε Project Set as Top-Level Entity και μεταφράστε τον σχεδιασμό σας. 6. Επιλέξτε Assignments Pins για να αναθέσετε τα pins στις εισόδους και εξόδους. 7. Αναθέστε τον πρώτο διακόπτη SW0 στην είσοδο RESETN, τους δύο διακόπτες πίεσης KEY1 και KEY0 στην είσοδο MODE[1..0], και τον ταλαντωτή 24MHz στην είσοδο CLK. 8. Αναθέστε τα κατάλληλα pins στις εξόδους COUNT[3..0] έτσι που τα μέρη 0, 1, 6 και 5 του πρώτου SSD στα δεξιά να καθορίζουν τον «δακτύλιο». Επειδή τα SSDs είναι αρνητικής λογικής, ο άσσος του δακτυλίου θα παρουσιάζεται ως το μη αναμμένο κομμάτι του. 9. Αποθηκεύστε, ελέγξετε και μεταφράστε τον σχεδιασμό σας. Κρατήστε μια εκτύπωση του (με το όνομα και τον αριθμό ταυτότητάς σας, και την ημέρα εργαστηρίου). 10. Κατεβάστε τον σχεδιασμό σας στο ολοκληρωμένο Cyclone II της πλακέτας DE1, με την εφαρμογή Tools Programmer. 11. Ελέγξετε την ορθότητα λειτουργίας του σχεδιασμού σας. (Επίδειξη σε έναν από τους υ- πεύθυνους του μαθήματος απαραίτητη πριν προχωρήσετε πιο κάτω.) Κατεβάστε τον διακόπτη SW0 για τον καθαρισμό του μετρητή και μετά ανεβάστε τον. Χρησιμοποιήστε τους διακόπτες πίεσης KEY1 και KEY0 για να ελέγξετε τους 4 τρόπους λειτουργίας. Αρχίστε με την παράλληλη φόρτωση (11) για την αρχικοποίηση του μετρητή. Μετά ε- φαρμόστε τα 00, 01 και 10 για τις υπόλοιπες λειτουργίες. 9

b) Μετρητής BCD Modulo 100 1. Ανοίξετε το σχηματικό lab5c.bdf. 2. Εισαγάγετε μια πύλη not για την αντιστροφή της εισόδου CLR. Η είσοδος CLR θα ελέγχεται από διακόπτη πίεσης, έτσι ο μετρητής θα μηδενίζεται όταν είναι πατημένος. 3. Εισαγάγετε ένα σύμβολο clk_div και δύο σύμβολα dec_7seg στο σχεδιασμό. Βεβαιωθείτε ότι τα σύμβολα αυτά βρίσκονται στον κατάλογο που δουλεύετε. Αν όχι, προσθέστε τα όπως στο βήμα a.2 πιο πάνω. 4. Συνδέστε το σύμβολο clk_div έτσι που να μετατρέψετε την είσοδο CNTB σε 10Hz. 5. Συνδέστε τα σύμβολα dec_7seg στις εξόδους του μετρητή. Εισαγάγετε τον κατάλληλο αριθμό θυρών εξόδου. 6. Επιλέξτε Project Set as Top-Level Entity και μεταφράστε τον σχεδιασμό σας. 7. Αναθέστε στα κατάλληλα pins τις εισόδους και τις εξόδους του σχεδιασμού σας: Η α- σύγχρονη είσοδος CLR θα ελέγχετε από τον διακόπτη πίεσης ΚΕΥ0. Το περισσότερο σημαντικό ψηφίο του μετρητή θα παρουσιάζεται στο SSD ΗΕΧ1 και το λιγότερο σημαντικό στο ΗΕΧ0. Η είσοδος CNTB θα ελέγχεται από τον ταλαντωτή 24MHz. 8. Αποθηκεύστε, ελέγξετε και μεταφράστε τον σχεδιασμό σας. Κρατήστε μια εκτύπωση του (με το όνομα και τον αριθμό ταυτότητάς σας, και την ημέρα εργαστηρίου). 9. Κατεβάστε τον σχεδιασμό σας στο ολοκληρωμένο Cyclone II της πλακέτας DE1. 10. Πατήστε τον διακόπτη πίεσης για να μηδενίσετε τον μετρητή BCD και μετά απελευθερώστε τον για να επιβεβαιώσετε την ορθή λειτουργία απαρίθμησης από το 00 έως το 99. 11. Καταγράψετε τα σχόλια σας, στο διαθέσιμο χώρο στο τέλος της εκφώνησης, για την ε- παλήθευση των πειραματικών αποτελεσμάτων σας. Επίσης, σημειώστε οποιεσδήποτε δυσκολίες που συναντήσατε και τον τρόπο που τις αντιμετωπίσατε.?????????????? 10

Μέρος Β.ΙΙ (Δεύτερη Εβδομάδα) Στόχος αυτής της άσκησης υλικού είναι να εξακριβώσετε πειραματικά τη λειτουργία του Σύγχρονου Αμφίδρομου Μετρητή Δακτυλίου, που προσομοιώσατε στο μέρος Α.ΙΙ., και του μετρητή 2 ψηφίων BCD, modulo 100 του μέρους Α.ΙΙΙ. Η έξοδος του μετρητή BCD θα παρουσιάζεται στα SSDs της μονάδας ETS-7000. Η μονάδα ETS-7000 διαθέτει δύο SSDs και δύο μετατροπείς από BCD σε SSD. Οι είσοδοι του κάθε μετατροπέα είναι τα A, B, C και D, με το A να δηλώνει το λιγότερο σημαντικό ψηφίο. Κάθε ένας από τους μετατροπείς BCD1 και BCD2 συνδέεται στο αντίστοιχο SSD D1 ή D2. Συνεπώς, για να παρουσιάσετε τα αποτελέσματα στα SSDs, συνδέστε τις εξόδους BCD που δίνει το κύκλωμα σας με τις αντίστοιχες εισόδους A, B, C και D για τα BCD1 και BCD2. Τα σχηματικά διαγράμματα για τα ολοκληρωμένα βρίσκονται στη σελίδα 12, ενώ ένα ολοκληρωμένο σχηματικό διάγραμμα που δείχνει και τα αριθμημένα pins για όλες τις συνδέσεις (εκτός τροφοδοσίας και γείωσης) δίνεται στη σελίδα 13. Επίσης, στη σελίδα 13 δίνεται ένα κύκλωμα το οποίο υλοποιεί μια γεννήτρια ρολογιού (Clock Generator) με τη χρήση CMOS Schmitt Trigger αντιστροφέων και παθητικών στοιχείων (πυκνωτή και αντίσταση). Η γεννήτρια μάς δίνει ρολόι χαμηλής συχνότητας (περίπου 0.6 Hz), το οποίο θα μάς επιτρέπει να παρατηρούμε τις εξόδους του κυκλώματος. Σημαντικό: Σχεδιάστε στον διαθέσιμο χώρο στο τέλος της εκφώνησης τα διαγράμματα κυκλώματος και για τους δύο μετρητές, σχηματίζοντας την πλήρη εικόνα συνδεσμολογίας πριν προσχωρήσετε στην υλοποίηση. 1. Εισαγάγετε το 74LS390 (δύο μετρητές BCD) στην αριστερή στήλη της πλακέτας ETS-7000. Αυτό θα αποτελεί τον μετρητή 2 ψηφίων BCD modulo 100. Ο διακόπτης SW7 θα χρησιμοποιηθεί ως είσοδος για το ασύγχρονο CLEAR του μετρητή. Συνδέστε τις εξόδους του όπως φαίνεται στο σχήμα της σελίδα 13. 2. Εισαγάγετε τον Οικουμενικό Καταχωρητή 4-bit 74LS194A και τον αντιστροφέα Schmitt Trigger TC4584, με αυτή τη σειρά από πάνω προς τα κάτω, στην τρίτη στήλη της πλακέτας ETS-7000. Αυτά τα κομμάτια θα αποτελέσουν τον Αμφίδρομο Μετρητή Δακτυλίου 4-bit και το ρολόι συχνότητας 0.6Hz. Ο διακόπτης SW2 θα χρησιμοποιηθεί για την είσοδο του ασύγχρονου, αρνητικής λογικής, σήματος CLEAR του μετρητή, ενώ οι SW1 και SW0 θα ελέγχουν τον τρόπο λειτουργίας του. Οι έξοδοι του μετρητή θα παρουσιάζονται στους λαμπτήρες L7, L6, L5 και L4. 3. Συνδέστε τα κυκλώματα όπως φαίνονται στο σχηματικό της σελίδα 13. Συμπεριλάβετε την αντίσταση 68Κ και τον πυκνωτή 47μF, με την πολικότητα όπως αναφέρεται στο σχήμα. Σημειώστε ότι όλα τα pins των ολοκληρωμένων φαίνονται στο διάγραμμα. (Σημείωση: Για πιο ψηλή συχνότητα ρολογιού, μπορείτε να αλλάξετε την αντίσταση.) 4. Θέστε τον διακόπτη SW7 στη θέση 1 για να μηδενίσετε τον μετρητή 2 ψηφίων BCD, και ακολούθως θέστε τον στη θέση 0 για να μπορέσετε να επιβεβαιώσετε τη σωστή απαρίθμηση από το 00 έως και το 99. 5. Θέστε τον διακόπτη SW2 στη θέση 0 για να μηδενίσετε τον Μετρητή Δακτυλίου, και μετά θέστε τον στη θέση 1. Χρησιμοποιώντας τους SW1 και SW0 ελέγξετε τις τέσσερις λειτουργίες του μετρητή. Αρχίστε με την παράλληλη φόρτωση (11) για να αρχικοποιήσετε τον μετρητή και μετά ελέγξετε τις καταστάσεις 00, 01 και 10, για τις λειτουργίες Hold (καμία αλλαγή), Δεξιά Ολίσθηση, και Αριστερή Ολίσθηση, αντίστοιχα. 6. Γράψετε σχόλια στον διαθέσιμο χώρο στο τέλος της εκφώνησης για τα πειραματικά αποτελέσματα. Ακόμα, σημειώστε οποιεσδήποτε δυσκολίες που συναντήσατε και τον τρόπο που τις αντιμετωπίσατε. 11

Αναφορά Μέρους B: Μαζί με τον σχολιασμό για την πειραματική επαλήθευση της λειτουργίας των δύο μετρητών, η γραπτή αναφορά για το μέρος B πρέπει να περιέχει τα ακόλουθα: Το σχηματικό του αμφίδρομου μετρητή δακτυλίου με τα pins από το βήμα a.9 του B.I. στη σελίδα 9. Το σχηματικό του μετρητή BCD Modulo 100 με τα pins από το βήμα b.8 του B.I., και την καταγραφή σχολίων στον διαθέσιμο χώρο στο τέλος της εκφώνησης από το βήμα b.11 του B.Ι. στη σελίδα 10. Τα διαγράμματα συνδεσμολογίας των κυκλωμάτων και για τους δύο μετρητές από το μέρος Β.ΙΙ. στη σελίδα 11. Επίσης, την καταγραφή σχολίων σχετικά με τα πειραματικά αποτελέσματα στον διαθέσιμο χώρο στο τέλος της εκφώνησης από το βήμα 6 του B.II. στη σελίδα 11. (Εάν στο βήμα 3 έχετε αλλάξει την αντίσταση στη γεννήτρια ρολογιού, ποια είναι η νέα συχνότητα, και γιατί;) 12

TC4584 TC4584 TC4584 2 Digit modulo 100 BCD Μετρητής BCD και Μετρητής Δακτυλίου Όλοι οι αριθμοί των pins, εκτός από αυτά της τροφοδοσίας και της γείωσης, φαίνονται με κόκκινο. Προσέξτε ότι οι αριθμοί δεν είναι κατ α- νάγκη με τη σειρά. Επίσης, ανατρέξετε στη σελίδα 12 για τους αριθμούς των pins για το Gnd (γείωση) και το Vcc (τροφοδοσία). 13

Λίστα Στοιχείων και Οργάνων A/A Qty Αρ. Στοιχ. Περιγραφή 1 1 WK-1 Wire Kit 2 1 74LS194A 4-bit Universal Shift Register 3 1 74LS390 Dual 4-bit Decade Counter 4 1 ETS-7000 Digital Analogue Training System unit 5 1 TC4584 Hex Inverter Schmitt Trigger 6 1 68K Resistor 7 1 10K Resistor 8 1 47μF Capacitor 14

Όνομα: Αρ. Ταυτότητας: Ημέρα:

Όνομα: Αρ. Ταυτότητας: Ημέρα:

Όνομα: Αρ. Ταυτότητας: Ημέρα:

Όνομα: Αρ. Ταυτότητας: Ημέρα:

Όνομα: Αρ. Ταυτότητας: Ημέρα: