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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κωνσταντίνος Γκαλονάκης. Arduino: Προγραμματισμός στην πράξη

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

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

ΟΔΗΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΑΙ ΧΡΗΣΗΣ ΤΟΥ. WiFi V-Timer ΕΚΔΟΣΗ 1 Η

Lab 1: Experimenting on Arduino & AI Sense

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

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

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

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

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

2ο Γυμνάσιο Καβάλας. Κατασκευές και προγραμματισμός με το scratch for Arduino (s4a)

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

Κατ οίκον Εργασία ΚE5

ΕΡΓΑΣΤΗΡΙΟ 6 ΟΔΗΓΗΣΗ ΑΠΕΙΚΟΝΙΣΕΩΝ SSD ΚΑΙ LCD

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

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

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

FPU EJ. Κατάλογος περιεχομένων

ΕΓΧΕΙΡΙ ΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ

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

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

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

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

Model: ED-CS5000. Ηλεκτρονικός πίνακας ελέγχου για συρόμενες και ανοιγόμενες μονόφυλλες πόρτες.

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

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

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

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

Ελίνα Μακρή

ΔΙΑΚΟΠΤΗΣ ΛΑΜΠΑΣ ΜΕ ΜΙΚΡΟΕΛΕΓΚΤΗ AVR AT90S2313

Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Πάτρας Τομέας Συστημάτων και Αυτομάτου Ελέγχου. Εργαστήριο Αναλογικού και Ψηφιακού Ελέγχου Ι

Φύλλο εργασίας 4 - Αυτόματο φωτάκι νυκτός

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

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

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

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

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Ολοκληρωμένα Κυκλώματα - Φθινόπωρο 2014 Γ. Δημητρακόπουλος. Εργαστηριακή άσκηση 2

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

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

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

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

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

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

Σχεδίαση κυκλωμάτων ακολουθιακής λογικής

Εκπαιδευτική Ρομποτική με ARDUINO. για εκπαιδευτικούς και μαθητές. 1o Μέρος: Απλά Κυκλώματα

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

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

Χριστοφορίδης Ιωάννης Ραφαήλ 368

Ψηφιακά Συστήματα. 3. Λογικές Πράξεις & Λογικές Πύλες

ΑΣΚΗΣΗ 8 η -9 η ΣΧΕΔΙΑΣΗ ΑΡΙΘΜΗΤΙΚΗΣ ΛΟΓΙΚΗΣ ΜΟΝΑΔΑΣ ΤΕΣΣΑΡΩΝ ΔΥΑΔΙΚΩΝ ΨΗΦΙΩΝ

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

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

App Inventor 5ο Μάθημα (Κορώνα γράμματα - επέκταση)

ΑΣΚΗΣΗ 6 ΑΠΟΚΩΔΙΚΟΠΟΙΗΕΣ ( DECODERS )

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

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ.

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

ΑΣΚΗΣΗ 8 Tutorial by TeSLa Συνδεσμολογία κυκλώματος Διαδικασία Προγραμματισμού

Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΒΙΟΜΗΧΑΝΙΚΟΙ ΑΥΤΟΜΑΤΙΣΜΟΙ. Ασκήσεις 3-4 Χρονικά - Μετρητές

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

Numerateur RD 64. Οδηγίες προγραµµατισµού RD64

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

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

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

Transcript:

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

Εργαστήριο 3 (Φάση 3) Εβδ. 11/12 έως 15/12 και 08/01 έως 12/01 Group A. Εβδ. 18/12 έως 22/12 και 15/01 έως 19/01 Group B Στο εργαστήριο 3 θα υλοποιήσετε το τελευταίο κοµµάτι που ελέγχει την ροή του παιχνιδιού. Θα πρέπει να φτιάξετε µια κεντρική FSM όπως περιγράφεται λεπτοµερώς παρακάτω και το παιχνίδι θα παίζεται ως εξής: αρχικά πρέπει να προγραµµατίσουµε τους ρυθµούς των αριθµών για κάθε οθόνη, µε τα inc (inc button0 - S1) και dec (dec button1 - S2) ενώ µε το select (select button2 - S3) επιλέγουµε την επόµενη οθόνη. Όταν έχουµε προγραµµατίσει και την τελευταία οθόνη, µε το select θα ξεκινήσει το παιχνίδι όπου οι αριθµοί θα «τρέχουν». Πατώντας πάλι το select οι αριθµοί πρέπει να σταµατήσουν και να ανάψουν τα λαµπάκια κάτω από τις οθόνες που έχουν ίδιους αριθµούς και να δούµε αν ο παίκτης έχει κερδίσει. Θα πρέπει να έρθετε στο εργαστήριο µε τον κώδικα προετοιµασµένο-έτοιµο, να διορθώσετε τυχόν λάθη και να δείξετε στον βοηθό του εργαστηρίου οτι δουλεύει σωστά. Το διάγραµµα των blocks για το εργαστήριο 3 είναι το παρακάτω: Το σχεδιό µας τώρα (Game_Top) έχει την εξής ιεραρχία (παρόµοια µε το Lab2): 3 πλεον instances από NumberGenerators που γεννάνε αριθµούς απο το 0 έως το 15 και µπορούν να προγραµµατίζονται έτσι ωστε να γεννάνε νέο αριθµό σε µεταβλητό χρόνο (από το Lab2) και µπορούν επίσης να σταµατούν να γεννάνε αριθµούς. (θα τους µετατρέψετε εσείς). SSController που δέχεται τους 3 αριθµούς των 4-bit από τους πλέον 3 NumberGenerators και 1 από τον GameController και δηµιουργεί την κατάλληλη έξοδο για να απεικονιστούν στις οθόνες seven segment στο δεκαεξαδικό (από το Lab1). Το block ButtonDebounce που σας έχει δωθεί έτοιµο.

Το block GameController το οποίο διαχειρίζεται την ροή του παιχνιδιού και είναι η «εξέλιξη» του RateController από το Lab2. Θα το µετατρέψετε εσείς!!! 1. NumberGenerator: Χρησιµοποιήστε τον NumberGenerator του εργαστηρίου 2 και µετατρέψτε τον έτσι ώστε να δέχεται µια νέα πόρτα enable και να γεννάει νέους αριθµούς µόνο όταν το σήµα enable είναι ενεργοποιηµένο. Εναλλακτικά µπορείτε να θεωρήσετε ότι δέχεστε ένα σήµα stop το οποίο όταν ενεργοποιηθεί σταµατάει το block να γεννάει νέους αριθµούς. 2. GameController: Ο GameController είναι ο «εγκέφαλος» του παιχνιδιού και ελέγχει τη ροή και τα βήµατα για το παιχνίδι. Θα πρέπει να χρησιµοποιήστε τον κώδικα από τον RateController που φτιάξατε για το Lab2 και θα πρέπει να προσθέσετε ακόµη µια FSM µε 3 καταστάσεις. Στην πρώτη κατάσταση µετά το reset πρέπει να ρυθµίσουµε τον ρυθµό γέννησης νέου αριθµού για κάθε οθόνη (Calibration State). Αρχικά δηλαδή ο GameController πρέπει να συµπεριφέρεται όπως ο RateController. Αφού ολοκληρώσουµε τον προγραµµατισµό ρυθµού των αριθµών (inc και dec για τον 0, select, inc και dec για τον 1, select, inc και dec για τον 2, select ) τότε ξεκινάει το παιχνίδι και µεταφερόµαστε σε άλλη κατάσταση (Game State) όπου οι αριθµοί «τρέχουν» και περιµένουµε το σήµα select για να µεταβούµε σε άλλη κατάσταση όπου οι αριθµοί σταµατούν να «τρέχουν» και πρέπει να τους συγκρίνουµε µεταξύ τους για να δούµε εάν ο παίκτης κέρδισε (Evaluation State). Όταν το select ξαναεµφανιστεί τοτέ πάµε στην κατάσταση (Game State) για να ξαναπαίξουµε. Όπως αντιλαµβάνεστε στην Calibration State πάµε µόνο στην αρχή για να ρυθµίσουµε τους ρυθµούς των αριθµών. Στο block πρέπει να προσθέσετε µια έξοδο enable που θα πηγαίνει σε όλους τους NumberGenerators και να την απενεργοποιείτε όταν είστε σε κατάσταση που πρέπει να σταµατήσουν οι αριθµοί να «τρέχουν». Αν χρησιµοποιήσετε στους NumberGenerators σήµα stop τότε θα πρέπει να ενεργοποιείτε το stop από τον GameController αντιστοίχως. Επίσης πρέπει να προσθέσετε µια έξοδο FSMstate που θα βγάζει την κατάσταση της FSM, θα πηγαίνει στον SSController και θα εµφανίζεται στην πιό αριστερή οθόνη για να ξέρουµε σε ποιά κατάσταση του παιχνιδιού

βρισκόµαστε. Ανάλογα µε την κωδικοποίηση των καταστάσεων θα βλέπετε και τον κατάλληλο αριθµό στην οθόνη. Επιπλέον αυτό µπορεί να σας βοηθήσει αρκετά στο debugging. Όσο αφορά τα leds θα πρέπει να βλέπουµε την εξής συµπεριφορά: Στην κατάσταση Calibration πρέπει να βλέπουµε στο κατάλληλο led ποιον NumberGenerator προγραµµατίζουµε. Στην κατάσταση Game δεν πρέπει να ανάβει κανένα led. Στην κατάσταση Evaluation πρέπει να ανάβει κάτω από κάθε οθόνη το αντίστοιχο led µόνο εάν ο αριθµός που εµφανίζεται σε αυτή την οθόνη υπάρχει σε τουλάχιστον άλλη µία. ηλαδή µόνο εάν ο NumberGenerator αυτής της οθόνης έχει ίδια τιµή µε τουλάχιστον ένα NumberGenerator από τους άλλους δύο. Για να πάρετε τους αριθµούς από τους NumberGenerators πρέπει να προσθέσετε 3 πόρτες εισόδου στον GameController και να τις συνδέσετε όπως φαίνεται στο block diagram. Επίσης το led4 που βρίσκεται κάτω από την οθόνη που θα δείχνει την κατάσταση του παιχνιδιού θα πρέπει να ανάβει αν τουλάχιστον 2 αριθµοί στις οθόνες είναι ίδιοι για να δείχνει οτι ο παίκτης κέρδισε. Προσοχή!!! Τα leds είναι active-low! Hints: Ο barrel shift register που είχε ο RateController του Lab2 πρέπει να παραµείνει αλλά να κάνει shift µόνο όταν η FSM είναι στην κατάλληλη κατάσταση που κανονίζουµε τους ρυθµούς. Κρατήστε τον 4-bits, παρόλο που 3 είναι πλέον αρκετά, για να χρησιµοποιήσετε το extra bit για άλλο σκοπό. Σε περίπτωση που έχετε υλοποιήσει διαφορετικά τον RateController προσθέστε την αναγκαία λογική. Για την µετάβαση από την κατάσταση Calibration στην Game µπορείτε να χρησιµοποιήσετε το κατάλληλο bit από τον barrel shift register. Είναι πιο εύκολο την συνδυαστική λογική για τις εξόδους να την γράφετε µε wires εκτός του always block που έχει τις µετάβασεις των καταστάσεων. (π.χ. ιαφάνεια 18 FSM). Όσοι επιθυµούν µπορούν να υλοποιήσουν FSM µε περισσότερες καταστάσεις π.χ. πολλαπλές καταστάσεις Calibration, µια για κάθε ΝumberGenerator, και να µην χρησιµοποιήσουν τον barrel shift register από το lab2. Μην προσοµοιώσετε το συνολικό κύκλωµα µε τον ButtonDebouncer µαζί!!! ηµιουργείστε εσείς τις εξόδους του στο testbench!!! Αφού γράψετε τον κώδικα να κάνετε προσοµοίωση σε Verilog στα εργαλεία που είδατε στο φροντιστήριο µε κάποιο testbench. Ένας προσοµοιωµένος κώδικας έχει πολύ περισσότερες πιθανότητες να δουλέψει σωστά στο εργαστήριο.

Στο εργαστήριο αφού φτιάξετε το project στο Quartus, διορθώσετε τυχόν λάθη και προγραµµατίσετε την FPGA, πατήστε το button S4 που είναι το reset για να αρχίσει να δουλεύει σωστά το κύκλωµα. Θα πρέπει να µπορείτε να παίξετε το παιχνίδι ξεκινώντας µε αυξοµείωση ρυθµών στις οθόνες και µετά να παίζετε µε το button select. ΟΙ ΑΝΤΙΓΡΑΦΕΣ ΚΩ ΙΚΑ ΘΑ ΤΙΜΩΡΟΥΝΤΑΙ ΑΠΟ Ε Ω ΚΑΙ ΣΤΟ ΕΞΗΣ ΜΕ ΜΗ ΕΝΙΣΜΟ ΤΩΝ ΟΜΑ ΩΝ ΠΟΥ ΕΧΟΥΝ ΤΟΝ Ι ΙΟ ΚΩ ΙΚΑ ΑΝΕΞΑΡΤΗΤΩΣ ΑΠΟ ΤΟ ΣΕ ΠΟΙΑ ΟΜΑ Α ΑΝΗΚΕΙ Ο ΚΩ ΙΚΑΣ ΚΑΙ ΠΟΙΑ ΕΚΑΝΕ ΧΡΟΝΙΚΑ ΠΡΩΤΗ ΤΟ ΕΡΓΑΣΤΗΡΙΟ!!! ΕΙΝΑΙ ΥΠΟΧΡΕΩΣΗ ΣΑΣ ΝΑ ΜΗΝ ΙΑΝΕΜΕΤΕ ΤΟΝ ΚΩ ΙΚΑ!!!

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