ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο

Σχετικά έγγραφα
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο

ΗΥ220: Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Πανεπιστήµιο Κρήτης Χειµερινό Εξάµηνο

ΗΥ220: Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Πανεπιστήµιο Κρήτης Χειµερινό Εξάµηνο

ΗΥ220: Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Πανεπιστήµιο Κρήτης Χειµερινό Εξάµηνο

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

Σχεδιασμός Αποκωδικοποιητή και υλοποίηση του στο Logisim και στο Quartus. Εισαγωγή στο Logisim

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

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

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

ΚΕΦΑΛΑΙΟ Συνδυαστικά Κυκλώµατα. 3.2 Σχεδιασµός Συνδυαστικής Λογικής 3.3 ιαδικασία Ανάλυσης 3.4 ιαδικασία Σχεδιασµού.

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

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)

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

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

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

ηµιουργία Αρχείου Πρότζεκτ (.qpf)

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

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

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

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Η/Υ και Μικροεπεξεργαστών Εαρινό εξάμηνο Διδάσκων: Γιώργος Ζάγγουλος

ΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης

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

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

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

Εισαγωγή στο Εργαστήριο Υλικού

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

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

1 Περίληψη Η εργασία έγινε στα πλαίσια του μαθήματος των Ψηφιακών Ηλεκτρονικών Συστημάτων με σκοπό αρχικά την εκμάθηση της γλώσσας VHDL (Very High Spe

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Χ. Βέργος Καθηγητής

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

Πανεπιστήμιο Θεσσαλίας- Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΗΥ430- Εργαστήριο Ψηφιακών Κυκλωμάτων

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

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

Σας προτείνουμε να εγκαταστήσετε στο κινητό σας τηλέφωνο την εφαρμογή Senior Helper"

VERILOG. Γενικά περί γλώσσας

Προγραμματισμο ς σε Arduino

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

Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές πλακέτες LP-2900 και DE2.

ΦΟΙΤΗΤΡΙΑ : ΒΟΥΛΓΑΡΙ ΟΥ ΜΑΡΙΑ, ΑΕΜ: 2109 ΕΠΙΒΛΕΠΩΝ : ΚΑΛΟΜΟΙΡΟΣ ΙΩΑΝΝΗΣ, ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 4: Ρουτίνες καθυστέρησης. [Συγγραφή ρουτίνας καθυστέρησης]

Ενσωματωμένα Συστήματα

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

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

Εισαγωγή στη σχεδιαστική ροή της Xilinx

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage(

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

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

Οδηγίες Χρήσεως. Κάτοψη Συσκευής. SOS 100 Elderly Care System. Κύρια χαρακτηριστικά SOS 100

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

Ολοκληρωμένα κυκλώματα 1 ο σετ ασκήσεων

ΑΣΚΗΣΗ 2η ΥΛΟΠΟΙΗΣΗ ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ ΟΘΟΝΗΣ 7 ΤΜΗΜΑΤΩΝ

Υλοποιήσεις Ψηφιακών Φίλτρων

Μαθαίνοντας το hardware του αναπτυξιακού

Πανεπιστήμιο Θεσσαλίας- Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΗΥ430- Εργαστήριο Ψηφιακών Κυκλωμάτων

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

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

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

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

Περιεχόµενα. Στοιχειώδης Λογικές Συναρτήσεις. Αποκωδικοποίηση (Decoding) Ενεργοποίηση Συνάρτησης (Enabling)

Πανεπιστήµιο Κύπρου DEPARTMENT OF COMPUTER SCIENCE

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

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 5: Εξωτερικές διακοπές του 8051

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

AC-10S, AC- 10F. Πληκτρολόγια Access Control Για αυτόνοµη (stand alone) λειτουργία.

Εισαγωγή στις Τηλεπικοινωνίες / Εργαστήριο

ΗΥ-225. Verilog HDL. Τα βασικά...

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

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

ΑΣΚΗΣΗ 9η-10η ΑΡΙΘΜΗΤΙΚΗ-ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΕΝΟΣ ΨΗΦΙΟΥ (1-BIT ALU)

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

Υλοποίηση Πλήρη Αθροιστή με χρήση: Α) Ψηφιακών Πυλών Β) Αποκωδικοποιητή (74138)και Γ) Πολυπλέκτη(74153)

Πολυπλεξία. Creative Commons License 3.0 Share-Alike

Αποκωδικοποιητές Μνημών

Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Κυκλωµάτων και Μετρήσεων

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

Εφαρμογές Σειριακής Επικοινωνίας

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

ΚΑΣΣΙΑΝΟΣ ΜΕΛΑΝΙΤΗΣ. Αποκωδικοποιητής ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ. Αναφορά 8 ης εργαστηριακής άσκησης: Α.Μ.:

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

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

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο Βασικές Συνδυαστικές Συναρτήσεις και. Διδάσκουσα: Μαρία Κ. Μιχαήλ

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

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

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

Μαθήματα Scratch -Δραστηριότητα 1 Παλέτα Κίνηση

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

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι

Transcript:

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο 2006-2007 Εκφώνηση Εργαστηρίου Στο εργαστήριο του µαθήµατος σας ζητείται να σχεδιάσετε, να υλοποιήσετε και να επαληθεύσετε στην πλακέτα του εργαστηρίου ένα απλό παιχνίδι µε τη χρήση της γλώσσας Verilog. Το συνολικό παιχνίδι θα υλοποιηθεί σε 3 φάσεις που θα παραδίδονται σε κάθε ένα από τα 3 εργαστήρια της κάθε οµάδας κατά τη διάρκεια του εξαµήνου. Το παιχνίδι που θα υλοποιήσετε λέγεται «Τυχεροί Αριθµοί» και θα χρησιµοποιεί τις 4 οθόνες seven segment, τα 4 leds και τα 4 push-buttons που διαθέτει η πλακέτα του µαθήµατος. Στο απλό αυτο παιχνίδι ο παίκτης βλέπει στις οθόνες seven segment τους αριθµούς απο το 0 έως F (στο δεκαεξαδικό) οι οποίοι αλλάζουν αρκετές φορές το δευτερόλεπτο και µε διαφορετικό ρυθµό σε κάθε οθόνη. Όταν πατηθεί το κατάλληλο button οι αριθµοί σταµατούν να αλλάζουν και τότε πρέπει να συγκριθούν µεταξύ τους. Άν υπάρχουν ίδιοι αριθµοί τότε ανάβουν τα αντίστοιχα leds κάτω από τις οθόνες των ίδιων αριθµών και ο παίκτης έχει κερδίσει! Περισσότερες λεπτοµέρειες για την πλήρη λειτουργικότητα του παιχνιδιού θα υπάρχουν στην εκφώνηση κάθε µιας από τις φάσεις του παιχνιδιού που θα υλοποιήσετε.

Εργαστήριο 1 (Φάση 1) Εβδ. 6/11 έως 10/11 Group A. Εβδ. 13/11 έως 17/11 Group B Στο εργαστήριο 1 θα υλοποιήσετε ένα υποκοµµάτι του παιχνιδιού! Θα πρέπει να υλοποιήσετε έναν ελεγκτή για τις 4 οθόνες seven segment ο οποίος δέχεται 4 διαφορετικές εισόδους από 4 γεννήτριες αριθµών και εµφανίζει κάθε αριθµό στην αντίστοιχη οθόνη. Θα χρησιµοποιήσετε τον κώδικα που δώθηκε για το εργαστήριο 0 και θα κάνετε τις κατάλληλες αλλαγές / προσθήκες σύµφωνα µε την εκφώνηση. Μετά θα πρέπει να ακολουθήσετε την ροή του εργαλείου Altera Quartus και τα βήµατα που είδατε στο εργαστήριο 0, να «κατεβάσετε» το σχέδιο στην FPGA και να επιβεβαιώσετε οτι δουλεύει σωστά. Θα πρέπει να έρθετε στο εργαστήριο µε τον κώδικα προετοιµασµένο-έτοιµο, να διορθώσετε τυχόν λάθη και να δείξετε στον βοηθό του εργαστηρίου οτι δουλεύει σωστά. Το διάγραµµα των blocks για το εργαστήριο 1 είναι το παρακάτω: Το σχεδιό µας τώρα έχει την εξής ιεραρχία (παρόµοια µε αυτή του Lab0): Lab1_Top που περιέχει instances όλων των blocks 4 instances από NumberGenerators που γεννάνε πλέον αριθµούς απο το 0 έως το 15 κάθε δευτερόλεπτο περίπου. SSController που δέχεται τους 4 αριθµούς των 4-bit από τους 4 NumberGenerators και δηµιουργεί την κατάλληλη έξοδο για να απεικονιστούν στις οθόνες seven segment στο δεκαεξαδικό

1. NumberGenerator: Χρησιµοποιήστε τον NumberGenerator του εργαστηρίου 0 και αλλάξτε τον έτσι ώστε να γεννάει αριθµούς από το 0 έως το 15. Επίσης ζητείται η αρχική τιµή του NumberGenerator, δηλαδή η τιµή στο reset, να µπορεί να δίνεται µέσω παραµέτρου στο module. Για να το πετύχετε αυτό χρησιµοποιήστε τις parameters της Verilog. Έχοντας παραµετρική την αρχική τιµή µπορούµε να φτιάξουµε πολλά instances αυτού του block και µε τη χρήση του defparam να ξεκινούν από διαφορετική τιµη. Μην αλλάξετε τον ρυθµό γέννησης νέου αριθµού!!! 2. SSController: Όπως είδαµε στο µάθηµα οι οθόνες seven segment χρησιµοποιούν κοινή είσοδο δεδοµένων αλλά έχουν διαφορετικά σήµατα για την ενεργοποίηση της κάθε οθόνης. Έτσι µπορούµε να δίνουµε δεδοµένα και να τα εµφανίζουµε σε όποια/ες οθόνες εµείς επιθυµούµε. Ο SSController είναι µια εξέλιξη του SSDecoder του εργαστηρίου 0 οποίος εµφάνιζε τον ίδιο αριθµό και στις 4 οθόνες. Ο SSController δέχεται πλέον 4 διαφορετικούς αριθµούς σαν είσοδο και πρέπει να εµφανίζει κάθε αριθµό σε διαφορετική οθόνη (αριθµός 0 στην οθόνη 0, αριθµός 1 στην οθόνη 1 κτλ). Εφόσον οι οθόνες έχουν κοινά δεδοµένα, ο SSController πρέπει να πολυπλέκει τις 4 τιµές εισόδου στα καλώδια των δεδοµένων των οθονών και να δίνει κάθε φορά σήµα ενεργοποίησης σε µία µόνο από αυτές. Για να εµφανίζονται σωστά οι αριθµοί στις οθόνες seven segment θα πρέπει να ανανεώνουµε τις τιµές τους αρκετές φορές το δευτερόλεπτο διαφορετικά θα βλέπουµε τις τιµές στις οθόνες είτε να αναβοσβήνουν είτε να «τρέµουν». Ένας τυπικός ρυθµός ανανέωσης είναι 60 φορές το δευτερόλεπτο που σηµαίνει refresh rate 60Hz (παρόµοιος µε αυτός των monitors) οτιδήποτε περισσότερο από αυτό (π.χ. 100Hz) υπερκαλύπτει τις ανάγκες µας. Το σχηµατικό του κυκλώµατος που πρέπει να υλοποιήσετε εµφανίζεται στην εικόνα παραπάνω. Με δεδοµένο τον SSDecoder του εργαστηρίου 0 πρέπει να υλοποιήσετε σε Verilog το παραπάνω κύκλωµα. Στον SSDecoder του εργαστηρίου 0 υπάρχει ήδη το κοµµάτι απο τον DECODER µέχρι την έξοδο

o_segdata_n αλλά για αριθµούς των 3-bit ενώ εµείς πλέον έχουµε αριθµούς των 4-bit. Αλλάξτε το κοµµάτι του DECODER έτσι ώστε να αποκωδικοποιούνται οι αριθµοί απο 0 έως 15 σε τιµές που χρειάζονται οι seven segments για να δείχνουν τους αριθµούς στο δεκαεξαδικό. Οι τιµές που πρέπει να δωθούν στις seven segment οθόνες για τους δεκαεξαδικούς αριθµούς υπάρχουν στις διαφάνειες του µαθήµατος. Το κοµµάτι COUNTER είναι ένας µετρητής Ν-bits οποίος είναι υπεύθυνος για τον ρυθµό ανανέωσης των οθονών. Ουσιαστικά ρυθµίζει τον χρόνο που θα µένει ο κάθε αριθµός σε κάθε οθόνη. Τα 2-MSB του µετρητή χρησιµοποιούνται στον πολυπλέκτη του σχήµατος για την επιλογή του αριθµού που θα πάει στις οθόνες και επίσης χρησιµοποιείται για την επιλογή της οθόνης (δηλαδή σε ποιά οθόνη ενεργοποιούµε την εµφάνιση). Ο αριθµός των bits του µετρητή καθορίζει και το refresh rate οπότε πρέπει να υπολογίσετε εσείς τον αριθµό των bits δεδοµένου ότι θέλουµε το refresh_rate να είναι στο διάστηµα 60Hz έως 200Hz και ότι το ρολόι του κυκλώµατος είναι 18MHz. ( Το µήκος σε bits του µετρητή καλό θα ήταν να γίνει παραµετρικό ) O 2-tο-4 Decoder είναι ο γνωστός απλός αποκωδικοποιητής που µπορεί να υλοποιηθεί µε τον ίδιο τρόπο που υλοποιήθηκε ο DECODER. Πρίν τις εξόδους χρησιµοποιούµε καταχωρητές για την έξοδο του κυκλωµατός µας έτσι ώστε να µην δηµιουργούµε µονοπάτια µε µεγάλη χρονική καθυστέρηση. 3. Lab1_Top : Είναι το top block για το εργαστήριο το οποίο έχει τα instances από όλα τα blocks. Θέλουµε ένα instance του SSController και 4 instances των NumberGenerators όπου ο πρώτος (0) να ξεκινάει απο το 3, ο δεύτερος (1) από το 2, ο τρίτος (2) από το 1 και ο τέταρτος(3) από το 0. (defparam) Αφού γράψετε τον κώδικα καλό θα ήταν να κάνετε προσοµοίωση σε Verilog στα εργαλεία που είδατε στο φροντιστήριο µε κάποιο testbench είτε δικό σας είτε αυτό που υπάρχει στη σελίδα του µαθήµατος για το Lab0. Ένας προσοµοιωµένος κώδικας έχει πολύ περισσότερες πιθανότητες να δουλέψει σωστά. Στο εργαστήριο αφού φτιάξετε το project στο Quartus, διορθώσετε τυχόν λάθη και προγραµµατίσετε την FPGA πατήστε το button S4 που είναι το reset για να αρχίσει να δουλεύει σωστά το κύκλωµα. Θα πρέπει να βλέπετε τους αριθµούς να µετακινούνται (scroll) από δεξιά πρός τα αριστερά και να εµφανίζεται νέος αριθµός στην πιό δεξιά οθόνη. Αν δεν συµβαίνει αυτό σηµαίνει ότι έχετε κάνει κάποιο λάθος και ανάλογα µε τους αριθµούς που βλέπετε µπορείτε να εντοπίσετε λάθος σε κάποιο σηµείο του κυκλώµατος! (π.χ. αρχική τιµή των NumberGenerators, επιλογή πολυπλέκτη στον SSController,...) Αλλάγή του ρυθµού ανανέωσης των οθονών Αφού κάνετε το σχέδιο να δουλεύει σωστά πειραµατιστείτε µε τον ρυθµό ανανέωσης των οθονών. οκιµάστε να βάλετε ρυθµoύς ανανέωσης µικρότερους των 60Hz ( σε ένα παραµετρικό σχέδιο γίνεται πολύ εύκολα!!!). Τι παρατηρείτε ;

Pin Assignments Pin Name Input / Output Active (High / Low) Pin Number Clock (18MHz) I - 43 Reset_n (Button 4 - S4) I L 64 Segment A O L 67 Segment B O L 70 Segment C O L 69 Segment D O L 66 Segment E O L 73 Segment F O L 65 Segment G O L 72 Segment Dot O L 71 Segment1 Enable (DIG1) O H 5 Segment2 Enable (DIG2) O H 83 Segment3 Enable (DIG3) O H 79 Segment4 Enable (DIG4) O H 80 Led1 (LD1) O L 53 Led2 (LD2) O L 58 Led3 (LD3) O L 60 Led4 (LD4) O L 62 Button 1 (S1) I L 54 Button 2 (S2) I L 59 Button 3 (S3) I L 61