ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Εργαστηριακές Ασκήσεις

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Εργαστηριακές Ασκήσεις

Τεύχος Εργαστηριακών Ασκήσεων Έκδοση 1η

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

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

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

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

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

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

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

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

Εισαγωγή στη Verilog με το ISE

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

Lab 2 Manual - Introduction to Xilinx

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

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

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

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

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

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

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

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

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

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

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ενότητα ΑΡΧΕΣ ΑΚΟΛΟΥΘΙΑΚΗΣ ΛΟΓΙΚΗΣ LATCHES & FLIP-FLOPS

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

Ελίνα Μακρή

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

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

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

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ E-LEARNING - 2 -

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

ΑΣΚΗΣΗ 4 η ΕΙΣΑΓΩΓΗ ΣΤΗ ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΜΕ ΧΡΗΣΗ Η/Υ (QUARTUS II ALTERA)

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ GRS-1

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

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

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

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

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

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

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

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

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

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

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

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

Κεφάλαιο Τρία: Ψηφιακά Ηλεκτρονικά

Μάθημα 4.2 Η μητρική πλακέτα

βαθµίδων µε D FLIP-FLOP. Μονάδες 5

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

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ.

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

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

Εφαρμογές Ψηφιακών Ηλεκτρονικών

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

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

C D C D C D C D A B

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

Αντιγραφή με χρήση της γυάλινης επιφάνειας σάρωσης

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

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

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

ΑΣΚΗΣΗ 7. ΘΕΜΑ 1ο MINORITY A B C. C out

"My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

ΣΧΕΔΙΑΣΗ ΥΛΟΠΟΙΗΣΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ «ΗΛΕΚΤΡΟΝΙΚΟΣ» ΓΙΑ ΤΙΣ ΑΝΑΓΚΕΣ ΤΗΣ ΤΕΧΝΙΚΗΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ.

Microcomputer Automatic Alarm device CCTV SECURITY AUTOMATIC ALARM SYSTEΜ

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

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

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

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

Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΤΟΥ ΕΡΓΑΛΕΙΟΥ ΙΑΧΕΙΡΙΣΗΣ ΠΡΟΣΩΠΙΚΟΥ ΧΩΡΟΥ ΤΗΣ ALTEC SOFTWARE

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

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

Πανεπιστήµιο Θεσσαλίας

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

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

Η. ΠΙΘΑΝΑ ΕΡΩΤΗΜΑΤΑ

Σχεδίαση CMOS Ψηφιακών Ολοκληρωμένων Κυκλωμάτων

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Λογική Σχεδίαση Εργαστηριακές Ασκήσεις Οκτώβριος 2008

Περιεχόµενα Άσκηση 1: Εισαγωγικό Εργαστήριο... 3 Άσκηση 2: Πολυπλέκτες... 14 Άσκηση 3: Αθροιστές... 16 Άσκηση 4: Latches και flip-flops... 18 Παράρτηµα: Εξοπλισµός Εργαστηρίου... 21 2

ΑΣΚΗΣΗ 1 Εισαγωγικό Εργαστήριο Περιγραφή ηµιουργήστε ένα συνδυαστικό κύκλωµα 3 εισόδων το οποίο να υλοποιεί την ακόλουθη συνάρτηση: D = AB + C Ακολουθήστε τα παρακάτω βήµατα: ηµιουργήστε ένα νέο project Προσθέστε ένα schematic αρχείο Αντιστοιχίστε τις εισόδους A, B, C και την έξοδο D σε pins του FPGA (τα οποία συνδέονται µε κυκλώµατα εισόδου και εξόδου της πλακέτας XSA-50) Μεταφέρετε το κύκλωµα στην XSA-50 Ελέγξετε το αποτέλεσµα 1. ηµιουργία νέου Project Ξεκινήστε την εφαρµογή ISE (µε διπλό κλικ στο εικονίδιο του Project Navigator). Για να δηµιουργήσετε ένα νέο project χρησιµοποιείστε το µενού File -> New Project. 3

Στο παράθυρο που θα εµφανιστεί επιλέξτε ένα όνοµα για το project σας και τον κατάλογο του δίσκου που θα το αποθηκεύσετε. Για τις ανάγκες του σηµερινού εργαστηρίου θα πρέπει να επιλέξετε Schematic σαν Top-Level Module Type. Μετά την επιλογή του πλήκτρου Next εµφανίζεται ένα παράθυρο όπου πρέπει να εισάγετε κάποιες χαρακτηριστικές τιµές του FPGA που θα χρησιµοποιήσετε. Αυτές είναι: Device Family Device Package Speed Grade Spartan2 xc2s50 tq144-5 Στη συνέχεια επιλέξτε Next. 4

Στο παράθυρο που ακολουθεί επιλέξτε πάλι Next. Θα εισάγουµε το αρχείο µε το σχηµατικό του κυκλώµατος στη συνέχεια. Επιλέγοντας Next, θα δείτε µια σύνοψη των επιλογών που έχετε κάνει µέχρι αυτή τη στιγµή. Επιλέξτε το Finish. 5

2. ηµιουργία του σχηµατικού του κυκλώµατος Στο σηµείο αυτό το παράθυρο του Project Navigator πρέπει να έχει τη µορφή: Επιλέξτε το xc2s50-5tq144 και δηµιουργήστε ένα νέο αρχείο πηγαίου κώδικα είτε µε διπλό κλικ στο Create New Source είτε µε δεξί κλικ και επιλέγοντας το New Source. Θα δείτε το παράθυρο που ακολουθεί: 6

Επιλέξτε Schematic από το αριστερό µενού και δώστε το όνοµα lab1_part1_sch στο πεδίο FileName. Το ακόλουθο παράθυρο σχεδίασης θα εµφανισθεί επιλέγοντας το Next : Επιλέξτε το tab Symbols (στο αριστερό τµήµα του πάνω παράθυρου). Εµφανίζονται δύο λίστες µε κατηγορίες (επάνω) και µε σύµβολα (κάτω). 7

Για να υλοποιήσετε την συνάρτηση D = AB + C θα χρειαστείτε µια πύλη AND δύο εισόδων, έναν αντιστροφέα (inv) και µια πύλη OR δύο εισόδων. Από τη λίστα των Symbols επιλέξτε το and2, πηγαίνετε στην επιφάνεια σχεδίασης και µε ένα κλικ δηµιουργήστε µια πύλη AND. Μπορείτε να µεγεθύνετε ή να σµικρύνετε την επιφάνεια σχεδίασης µε τα πλήκτρα + και της µπάρας εργαλείων. Στη συνέχεια επιλέξτε το σύµβολο or2 και δηµιουργήστε µε τον ίδιο τρόπο µια πύλη OR στην επιφάνεια σχεδίασης. Επαναλάβετε τη διαδικασία και για το σύµβολο inv (αντιστροφέας). Στο σηµείο αυτό η επιφάνεια σχεδίασης θα έχει τη µορφή: 8

Για να συνδέσετε τα στοιχεία που επιλέξατε µεταξύ τους, επιλέξτε το εικονίδιο από τη µπάρα εργαλείων. Με τη χρήση του µολυβιού δηµιουργήστε το κύκλωµα όπως φαίνεται στο παράθυρο που ακολουθεί. Επιλέξτε το εικονίδιο Add I/O Marker από τη µπάρα εργαλείων για να προσθέσετε τα στοιχεία εισόδου για κάθε µία από τις τρεις εισόδους καθώς και ένα στοιχείο εξόδου στην έξοδο της πύλης OR. Μετονοµάστε τις εισόδους και την έξοδο είτε κάνοντας διπλό κλικ σε αυτές είτε µε δεξί κλικ. Οι είσοδοι πρέπει να λέγονται A, B και C και η έξοδος D, όπως φαίνεται στο επόµενο σχήµα. 9

Στην µπάρα των εργαλείων υπάρχει το εικονίδιο. Επιλέγοντας το, διενεργείται έλεγχος του κυκλώµατος που σχεδιάσατε. εν πρέπει να υπάρχει κανένα λάθος. Αν υπάρχει, θα πρέπει να τα διορθώσετε πριν συνεχίσετε. 3. Αντιστοίχιση των pins του κυκλώµατος σε pins του FPGA Επιστρέψτε στο Project Navigator και επιλέξτε το αρχείο που δηµιουργήσατε. Επιλέξτε τη διαδικασία Assign Package Pins από την κατηγορία διεργασιών User Constraints. Απαντήστε θετικά στο ερώτηµα που εµφανίζεται για την προσθήκη ενός αρχείου περιορισµών. Μπορείτε να φτάσετε στο ίδιο σηµείο µε την επιλογή Create New Source. Στο σηµείο αυτό εµφανίζεται ο επεξεργαστής των περιορισµών: 10

Οι είσοδοι A, B, C και η έξοδος D εµφανίζονται. Πρέπει να αντιστοιχίσετε σε αυτές κάποια pins από το FPGA chip. Επιλέξτε τις τιµές του ακόλουθου πίνακα. FPGA Pins (Pxx) A P54 B P64 C P63 D P67 Τα τρία πρώτα pins (είσοδοι Α, B και C) συνδέονται στα dip switches 1, 2 και 3 της πλακέτας. Το τέταρτο pin (έξοδος D) συνδέεται στο κάτω LED του 7-segment display (S0, bottom bar). 11

Αποθηκεύστε τις αντιστοιχίσεις των pin που εισαγάγατε στην εφαρµογή PACE. Αυτές καταχωρούνται σε ένα αρχείο κειµένου (text file), το οποίο µπορείτε να το επεξεργαστείτε και µε την επιλογή Edit Constraints (text). #PACE: Start of Constraints generated by PACE #PACE: Start of PACE I/O Pin Assignments NET "A" LOC = "P54" ; NET "B" LOC = "P64" ; NET "C" LOC = "P63" ; NET "D" LOC = "P67" ; #PACE: Start of PACE Area Constraints #PACE: Start of PACE Prohibit Constraints #PACE: End of Constraints generated by PACE 4. ηµιουργία του αρχείου για το προγραµµατισµό του FPGA (bitstream) Κάντε διπλό κλικ στην επιλογή Generate Programming File (εκτελούνται επίσης οι διαδικασίες Synthesize και Implement Design) ώστε να παραχθεί στον κατάλογο που δουλεύετε ένα αρχείο µε επέκταση.bit. Το αρχείο αυτό θα χρησιµοποιηθεί για τον προγραµµατισµό του FPGA. 5. Μεταφόρτωση του αρχείου bitstream στο FPGA Χρησιµοποιείστε την εφαρµογή GXSLOAD για να προγραµµατίσετε την XSA-50. Απλώς σύρετε το.bit αρχείο στο πλαίσιο FPGA/CPLD και κατόπιν πατήστε το κουµπί "Load". 12

6. Έλεγχος Χρησιµοποιήστε τους τρεις πρώτους διακόπτες της πλακέτας και ελέγξτε την έξοδο από το LED. Είναι αυτή που περιµένατε; Θυµηθείτε ότι οι διακόπτες είναι κατασκευασµένοι έτσι ώστε όταν είναι στη θέση 1 να είναι συνδεδεµένοι µε τη γείωση (low) και όταν είναι στη θέση 0 να είναι συνδεδεµένοι µε την τροφοδοσία (high). Επαληθεύστε τις τιµές του ακόλουθου πίνακα: C B A D = AB + C 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 Παραδοτέα Αναφορά στην οποία θα περιέχεται το λογικό διάγραµµα του ζητούµενου κυκλώµατος, συνοδευόµενο απαραιτήτως από µία µικρή περιγραφή που θα εξηγεί τον τρόπο λειτουργίας του. Σηµειώνεται ότι οι αναφορές δεν είναι ατοµικές, αλλά κάθε οµάδα θα πρέπει να παραδώσει µία µόνο αναφορά στην οποία θα αναγράφονται τα ονόµατα και των δύο συνεργατών. 13

ΑΣΚΗΣΗ 2 Πολυπλέκτες Ερωτήµατα 1. Χρησιµοποιώντας απλές πύλες (και όχι τα έτοιµα σύµβολα του εργαλείου της Xilinx) να σχεδιάσετε έναν πολυπλέκτη 2-σε-1. Για να επιβεβαιώσετε τη λειτουργία του στην πλακέτα, αναθέστε τα pins ως ακολούθως: Την έξοδο του πολυπλέκτη στο P60 (δηλ., στο µεσαίο led του 7-segment display) Την είσοδο επιλογής στο P54 (δηλ., στο διακόπτη 1 της πλακέτας) Τις άλλες δύο εισόδους του πολυπλέκτη (αυτές που οδηγούνται στην έξοδο ανάλογα µε την τιµή της εισόδου επιλογής), να τις αναθέσετε στα P50 και P48. Οι γραµµές αυτές οδηγούνται από την παράλληλη θύρα του υπολογιστή (µέσω του καλωδίου που προγραµµατίζεται το FPGA) χρησιµοποιώντας την εφαρµογή "GXSPort". Συγκεκριµένα, τα pin P50 και P48 οδηγούνται από τα bit D0 και D1 αντίστοιχα, του "GXSPort". Προσοχή: Στην εφαρµογή "GXSPort" δεν πρέπει να αλλάξετε ποτέ την τιµή του bit D7. 2. Αφού δηµιουργήσετε ένα νέο project, σχεδιάστε έναν πολυπλέκτη 4-σε-1 χρησιµοποιώντας απλές πύλες (και όχι τα έτοιµα σύµβολα του εργαλείου της Xilinx). Για να επιβεβαιώσετε τη λειτουργία του στην πλακέτα, αναθέστε τα pins ως ακολούθως: Την έξοδο του πολυπλέκτη στο P60 (δηλ., στο µεσαίο led του 7-segment display) Τις δύο εισόδους επιλογής στα P54 και P64 (δηλ., στους διακόπτες 1 και 2 της πλακέτας) Τις υπόλοιπες τέσσερις εισόδους του πολυπλέκτη (αυτές που οδηγούνται στην έξοδο ανάλογα µε την τιµή των εισόδων επιλογής), να τις αναθέσετε στα P50, P48, P42 και P47. Τα pin αυτά οδηγούνται από τα bit D0, D1, D2 και D3 αντίστοιχα, της εφαρµογής "GXSPort". 3. ηµιουργήστε ένα νέο project στο Xilinx ISE και, χρησιµοποιώντας τους πολυπλέκτες 2-σε-1 του Ερωτήµατος 1, σχεδιάστε έναν πολυπλέκτη 8-σε-1. Για να χρησιµοποιήσετε το σχηµατικό του Ερωτήµατος 1 στο νέο σας project, θα πρέπει να ακολουθήσετε τα παρακάτω βήµατα: Αφού δηµιουργήσετε το project σας στο Xilinx ISE, αντιγράψτε στον κατάλογό του το αρχείο του σχηµατικού του Ερωτήµατος 1 (αυτό µε την επέκταση.sch). Στη συνέχεια, στο παράθυρο "Sources in Project:" του Xilinx ISE (πάνω αριστερά) κάντε δεξί click 14

στο "xc2s50-5tq144" και στο µενού που εµφανίζεται επιλέξτε "Add Source...". Μπορείτε πλέον να επιλέξετε το.sch αρχείο που είχατε αντιγράψει στο φάκελο, και να το προσθέτετε στο project σας. Στη συνέχεια θα πρέπει να δηµιουργήσετε ένα σύµβολο για τον πολυπλέκτη 2-σε-1, ώστε αυτός να µπορεί να χρησιµοποιηθεί σε κάποιο άλλο σχηµατικό. Για να το κάνετε αυτό, επιλέξτε τον πολυπλέκτη 2-σε-1 στο παράθυρο "Sources in Project:" και στο παράθυρο "Processes" που βρίσκεται ακριβώς από κάτω εκτελέστε τη διεργασία "Create Schematic Symbol" (ανήκει στην κατηγορία διεργασιών "Design Utilities"). Πλέον µπορείτε να δηµιουργήσετε ένα νέο αρχείο σχηµατικού (κάνοντας δεξί click στο "xc2s50-5tq144" του παραθύρου "Sources in Project:" και επιλέγοντας "New Source..."), στο οποίο θα σχεδιάσετε τον πολυπλέκτη 8-σε-1. Όταν ανοίξετε το νέο αυτό αρχείο, στις κατηγορίες συµβόλων του εργαλείου σχεδίασης θα έχει προστεθεί και ο κατάλογος του project σας. Αν τον επιλέξετε, θα βρείτε µέσα το σύµβολο του πολυπλέκτη 2-σε-1 που δηµιουργήσατε προηγουµένως. Χρησιµοποιήστε το σύµβολο αυτό (µε τον ίδιο ακριβώς τρόπο που χρησιµοποιείτε τα έτοιµα σύµβολα του εργαλείου), για να φτιάξετε τον πολυπλέκτη 8-σε-1. Υπόδειξη: Χρειάζεστε 7 πολυπλέκτες 2-σε-1 για να φτιάξετε έναν πολυπλέκτη 8-σε-1. Κατά τη διαδικασία του pin-assignment κάντε τις ακόλουθες αναθέσεις: Την έξοδο του πολυπλέκτη στο P60 (δηλ., στο µεσαίο led του 7-segment display) Τις τρεις εισόδους επιλογής στα P54, P64 και P63 (δηλ., στους διακόπτες 1, 2 και 3 της πλακέτας) Τις υπόλοιπες οκτώ εισόδους του πολυπλέκτη (αυτές που οδηγούνται στην έξοδο ανάλογα µε την τιµή των εισόδων επιλογής), να τις αναθέσετε στα P50, P48, P42, P47, P65, P51, P58 και P56. Από τα pin αυτά, τα επτά πρώτα οδηγούνται αντίστοιχα από τα bit D0, D1, D2, D3, D4, D5 και D6 της εφαρµογής "GXSPort", ενώ το P56 οδηγείται από τον τέταρτο διακόπτη της πλακέτας. Παραδοτέα Αναφορά στην οποία θα περιέχονται τα λογικά διαγράµµατα όλων των ζητούµενων κυκλωµάτων, συνοδευόµενα απαραιτήτως από µία µικρή περιγραφή που θα εξηγεί τον τρόπο λειτουργίας καθενός από αυτά. Για την περιγραφή των κυκλωµάτων δεν είναι υποχρεωτικό να χρησιµοποιήσετε πίνακες αλήθειας. Οι πίνακες αλήθειας πάντως δεν µπορούν να αντικαταστήσουν τη ζητούµενη περιγραφή. Σηµειώνεται ότι οι αναφορές δεν είναι ατοµικές, αλλά κάθε οµάδα θα πρέπει να παραδώσει µία µόνο αναφορά στην οποία θα αναγράφονται τα ονόµατα και των δύο συνεργατών. 15

ΑΣΚΗΣΗ 3 Αθροιστές Ερωτήµατα 1. Χρησιµοποιώντας απλές πύλες (και όχι τα έτοιµα σύµβολα του εργαλείου της Xilinx) να σχεδιάσετε έναν πλήρη αθροιστή (Full Adder). Για να επιβεβαιώσετε τη λειτουργία του στην πλακέτα, αναθέστε τα pins ως ακολούθως: Τις τρεις εισόδους του πλήρη αθροιστή να τις αναθέσετε στα pins P50, P48 και P42 του FPGA, τα οποία οδηγούνται από τα bits D0, D1 και D2 αντίστοιχα της εφαρµογής "GXSPort". Την έξοδο αθροίσµατος να την αναθέσετε στο P60 (δηλ., στο µεσαίο led του 7- segment display). Την έξοδο κρατουµένου του πλήρη αθροιστή να την αναθέσετε στο P44 (δηλ., στην τελεία του 7-segment display). 2. ηµιουργήστε ένα νέο project και, χρησιµοποιώντας σαν δοµικό στοιχείο τον πλήρη αθροιστή του Ερωτήµατος 1 (µε τον ίδιο ακριβώς τρόπο που χρησιµοποιήσατε τον πολυπλέκτη 2-σε-1 στο Ερώτηµα 3 της Άσκησης 2), να σχεδιάσετε έναν 3-bit αθροιστή µη προσηµασµένων ακέραιων αριθµών. Ένας τέτοιος αθροιστής δέχεται σαν είσοδο δύο ακέραιους αριθµούς εύρους 3 bits και παράγει στην έξοδο το άθροισµά τους (εύρους 4 bits). Με τον όρο «µη προσηµασµένους αριθµούς» εννοούµε ότι οι αριθµοί εκλαµβάνονται πάντα σαν θετικοί (π.χ., ο 111 είναι ο αριθµός 7 και όχι ο -1 όπως συµβαίνει στην αναπαράσταση συµπληρώµατος ως προς 2). Για να επιβεβαιώσετε τη λειτουργία του αθροιστή στην πλακέτα, αναθέστε τα pins ως ακολούθως: Τα bits της µίας από τις δύο εισόδους του αθροιστή (δηλαδή του ενός από τους δύο ακέραιους αριθµούς που θα αθροιστούν) να τα αναθέσετε (ξεκινώντας από το λιγότερο σηµαντικό ψηφίο) στα pins P50, P48 και P42 (δηλ., στα bits D0, D1 και D2 αντίστοιχα, του "GXSPort"). Τα bits της δεύτερης εισόδου του αθροιστή (δηλαδή του δεύτερου από τους δύο ακέραιους αριθµούς που θα αθροιστούν) να τα αναθέσετε (ξεκινώντας από το λιγότερο σηµαντικό ψηφίο) στα pins P47, P65 και P51 (δηλ., στα bits D3, D4 και D5 αντίστοιχα, του "GXSPort"). 16

Τα 4 bits του αθροίσµατος να τα αναθέσετε (ξεκινώντας από το λιγότερο σηµαντικό ψηφίο) στα pins P49, P60, P67 και P44 (δηλ., στο πάνω, στο µεσαίο και στο κάτω led, καθώς και στην τελεία του 7-segment display αντίστοιχα). Παραδοτέα Αναφορά στην οποία θα περιέχονται τα λογικά διαγράµµατα όλων των ζητούµενων κυκλωµάτων, συνοδευόµενα απαραιτήτως από µία µικρή περιγραφή που θα εξηγεί τον τρόπο λειτουργίας καθενός από αυτά. Για τον πλήρη αθροιστή (Ερώτηµα 1) είναι απαραίτητος και ο πίνακας αλήθειας, ενώ η περιγραφή της λειτουργίας του θα πρέπει να επικεντρώνεται στο πως µεταβάλλονται οι τιµές των εξόδων ανάλογα µε το πλήθος των µονάδων που εµφανίζονται στις εισόδους. Για το Ερώτηµα 2 ζητείται µόνο η περιγραφή της λειτουργίας του αθροιστή και όχι ο πίνακας αλήθειας. Σηµειώνεται ότι οι αναφορές δεν είναι ατοµικές, αλλά κάθε οµάδα θα πρέπει να παραδώσει µία µόνο αναφορά στην οποία θα αναγράφονται τα ονόµατα και των δύο συνεργατών. 17

ΑΣΚΗΣΗ 4 Latches και flip-flops Ερωτήµατα 1. Το λογικό διάγραµµα ενός D latch (µανδαλωτή) σε CMOS VLSI τεχνολογία φαίνεται στο ακόλουθο σχήµα (το λόγο για τον οποίο το D latch κατασκευάζεται κατά αυτόν τον τρόπο θα τον µάθετε στο µάθηµα του VLSI): D CLK 1 0 Q Q Ακολουθώντας την ίδια διαδικασία µε την 1η άσκηση, δηµιουργήστε το σχηµατικό του D latch, συνθέστε το δηµιουργώντας το αρχείο προγραµµατισµού του FPGA και επιβεβαιώστε τη λειτουργία του στην πλακέτα. Υποδείξεις: Για την υλοποίηση του πολυπλέκτη χρησιµοποιήστε το έτοιµο σύµβολο m2_1 του σχεδιαστικού περιβάλλοντος της εφαρµογής Xilinx ISE. Κατά τη διαδικασία του pin-assignment χρησιµοποιήστε τα ακόλουθα pins του FPGA: H είσοδος D στο P54 (δηλ., στo διακόπτη 1 της πλακέτας) Η είσοδος CLK στο P50 (δηλ., στo bit D0 του "GXSPort") H έξοδος Q στο P49 (δηλ., στο πάνω led του 7-segment display) H έξοδος Q' στο P67 (δηλ., στο κάτω led του 7-segment display) Αυτό που θα πρέπει να παρατηρήσετε είναι ότι όταν CLK = 1 η τιµή της εισόδου αποθηκεύεται στο latch και είναι παρατηρήσιµη στην έξοδο, ενώ αντίθετα όταν CLK = 0, το D latch διατηρεί την προηγούµενή του κατάσταση και κατά συνέπεια η έξοδος δεν επηρεάζεται από οποιαδήποτε αλλαγή στην είσοδο. 2. Το D flip-flop κατασκευάζεται χρησιµοποιώντας δύο D latches που λαµβάνουν αντίστροφα ρολόγια, µε την έξοδο του ενός να τροφοδοτεί την είσοδο του άλλου (master-slave): 18

CLK D 1 1 0 0 Q ηµιουργήστε ένα νέο project στο Xilinx ISE, σχεδιάστε το D flip-flop και επιβεβαιώστε τη λειτουργία του στην πλακέτα. Υποδείξεις: Κατά τη διαδικασία του pin-assignment χρησιµοποιήστε τα ακόλουθα pins του FPGA: H είσοδος D στο P54 (δηλ., στo διακόπτη 1 της πλακέτας) Η είσοδος CLK στο P50 (δηλ., στo bit D0 του "GXSPort") H έξοδος Q στο P60 (δηλ., στο µεσαίο led του 7-segment display) Η λειτουργία του D flip-flop θετικής ακµής πυροδότησης (σαν αυτό που φαίνεται στο παραπάνω σχήµα) είναι η ακόλουθη: Η τιµή της εισόδου αποθηκεύεται στο flip-flop κατά τη µετάβαση του ρολογιού από το 0 στο 1 (θετική ακµή), ενώ σε οποιαδήποτε άλλη χρονική στιγµή το flip-flop διατηρεί την προηγούµενή του κατάσταση. 3. ηµιουργήστε ένα νέο project στο Xilinx ISE και σχεδιάστε ένα D flip-flop θετικής ακµής πυροδότησης µε σύγχρονο reset. Ένα τέτοιο flip-flop κατασκευάζεται χρησιµοποιώντας ένα flip-flop σαν αυτό του ερωτήµατος 2 µε έναν επιπλέον πολυπλέκτη 2-σε-1 στην είσοδο. Ο επιπλέον αυτός πολυπλέκτης ελέγχεται από το σήµα reset. Όταν reset = 1 τότε στην είσοδο του flip-flop οδηγείται το 0, ενώ όταν reset = 0 στην είσοδο του flip-flop οδηγείται κανονικά η είσοδος δεδοµένων (D). Υποδείξεις: Για να µην σχεδιάζετε το flip-flop του ερωτήµατος 2 από την αρχή, αφού δηµιουργήσετε ένα καινούριο project στο Xilinx ISE, αντιγράψτε το αρχείο του σχηµατικού του ερωτήµατος 2 (αυτό µε την επέκταση.sch) στον κατάλογο του νέου σας project. Στη συνέχεια, στο παράθυρο "Sources in Project:" (πάνω αριστερά) κάντε δεξί click στο "xc2s50-5tq144" και στο µενού που εµφανίζεται επιλέξτε "Add Source...". Αφού επιλέξετε το.sch αρχείο που είχατε αντιγράψει στο φάκελο, το προσθέτετε στο project σας και µπορείτε πλέον να δουλέψετε µε αυτό. Για να οδηγήσετε το 0 στη µία από τις δύο εισόδους του επιπλέον πολυπλέκτη, συνδέστε την είσοδο αυτή µε το έτοιµο σύµβολο gnd του σχεδιαστικού περιβάλλοντος της εφαρµογής Xilinx ISE. 19

Χρησιµοποιήστε το ίδιο pin-assignment µε αυτό του ερωτήµατος 2, ενώ την επιπλέον είσοδο reset συνδέστε τη στο P56 (δηλαδή στο διακόπτη 4 της πλακέτας). Το D flip-flop που κατασκευάσατε δουλεύει ακριβώς όπως αυτό του ερωτήµατος 2 όταν reset = 0, ενώ όταν reset = 1 η θετική ακµή του ρολογιού µηδενίζει το flip-flop ανεξάρτητα από την τιµή της εισόδου D. Παραδοτέα Αναφορά στην οποία θα περιέχονται τα λογικά διαγράµµατα όλων των ζητούµενων κυκλωµάτων, συνοδευόµενα απαραιτήτως από µία µικρή περιγραφή που θα εξηγεί τον τρόπο λειτουργίας καθενός από αυτά. Για την περιγραφή των κυκλωµάτων δεν είναι υποχρεωτικό να χρησιµοποιήσετε πίνακες αλήθειας. Οι πίνακες αλήθειας πάντως δεν µπορούν να αντικαταστήσουν τη ζητούµενη περιγραφή. Σηµειώνεται ότι οι αναφορές δεν είναι ατοµικές, αλλά κάθε οµάδα θα πρέπει να παραδώσει µία µόνο αναφορά στην οποία θα αναγράφονται τα ονόµατα και των δύο συνεργατών. 20

ΠΑΡΑΡΤΗΜΑ Εξοπλισµός Εργαστηρίου Τα εργαστήρια ψηφιακής σχεδίασης πραγµατοποιούνται χρησιµοποιώντας την πλακέτα XSA-50, η οποία είναι εφοδιασµένη µε ένα FPGA chip της εταιρείας Xilinx. Η πλακέτα δέχεται τροφοδοσία 9V DC, ενώ για την υλοποίηση όχι πολύ γρήγορων κυκλωµάτων µπορεί να τροφοδοτηθεί και µέσω της εισόδου PS-2. Οι τάσεις που απαιτούνται από τα επιµέρους στοιχεία της πλακέτας δηµιουργούνται από τους σταθεροποιητές τάσης (voltage regulators). Προσέξτε, κατά τη λειτουργία της πλακέτας οι σταθεροποιητές θερµαίνονται αρκετά. Για την τροφοδοσία της πλακέτας µέσω της θύρας PS-2 πρέπει να τοποθετηθεί βραχυκυκλωτήρας (jumper) µεταξύ των pins 1 και 2 του J7. H πλακέτα XSA-50 συνδέεται µέσω της παράλληλης θύρας µε ένα PC. Μέσω κατάλληλου λογισµικού (XSTools) µπορεί να γίνει η µεταφορά και ο έλεγχος των ψηφιακών κυκλωµάτων στο FPGA chip. Η πλακέτα διαθέτει έξοδο VGA, για τη χρήση της όµως απαιτείται η κατασκευή ενός κυκλώµατος VGA driver στο FPGA. Με την κατασκευή κατάλληλου driver (ψηφιακό κύκλωµα) η XSA-50 είναι δυνατό να δεχθεί είσοδο από πληκτρολόγιο ή ποντίκι µέσω της θύρας PS-2. 21

Χαρακτηριστικά της XSA-50 Η πλακέτα XSA-50 περιλαµβάνει τα ακόλουθα στοιχεία: XC2S50 Spartan-II FPGA: Είναι το κύριο στοιχείο υλοποίησης των ψηφιακών κυκλωµάτων που σχεδιάζονται µε το κατάλληλο λογισµικό (ISE). XC9572XL CPLD: Το CPLD χρησιµοποιείται για να ελέγχει την επικοινωνία της πλακέτας µε τον Η/Υ µέσω της παράλληλης θύρας. Osc: Προγραµµατιζόµενος ταλαντωτής, δηµιουργεί το σήµα του clock που αποστέλλεται στην πλακέτα. Flash: Μνήµα flash των 128 KByte, όπου µπορούν να αποθηκευτούν µόνιµα δεδοµένα. SDRAM: 8 MByte SDRAM για την παροδική αποθήκευση δεδοµένων τα οποία είναι προσβάσιµα από το FPGA. LED: Ένα LED επτά τµηµάτων (7-segment display) για την παρουσίαση οπτικών αποτελεσµάτων κατά την λειτουργία της πλακέτας. DIP switch: Ένας διακόπτης τεσσάρων θέσεων (DIP-switch) µε τον οποίο εισάγονται ρυθµίσεις (δεδοµένα) στην XSA-50 ή καθορίζεται η ανώτερη διεύθυνση της µνήµης. Pushbutton: ιακόπτης πιέσεως για την αποστολή στιγµιαίων πληροφοριών στο FPGA. Όταν ο διακόπτης είναι πιεσµένος, χαµηλή τάση εφαρµόζεται στο αντίστοιχο pin του FPGA. Parallel Port: Η παράλληλη θύρα αποτελεί την κύρια δίοδο επικοινωνίας της πλακέτας µε το PC. Mέσω αυτής µεταφέρονται δεδοµένα καθώς και τα bits προγραµµατισµού του FPGA για την υλοποίηση των ψηφιακών κυκλωµάτων (bitstreams). PS/2 Port: Είσοδος PS/2 για την σύνδεση πληκτρολογίου ή ποντικιού VGA Port: Θύρα VGA για σύνδεση µε VGA monitor. Η πλακέτα XSA-50 µπορεί να συνδεθεί µε µία πλακέτα επέκτασης, την XST-2.x (XSTend) του σχήµατος που ακολουθεί. 22

Η πλακέτα XST 2.x είναι εφοδιασµένη µε: USB 1.1: Επιτρέπει τη σύνδεση ενός H/Y µε την πλακέτα XSTend µέσω ενός καλωδίου USB (είσοδος J5). RS-232: Επιτρέπει τη σύνδεση της πλακέτας µέσω ενός 9-pin RS-232 καλωδίου µε τον H/Y. Stereo Input: Μία έξοδος ήχου µπορεί να συνδεθεί στην είσοδο J1 για την επεξεργασία του από κατάλληλο ψηφιακό κύκλωµα. Stereo Output: Μέσω της εξόδου J2 µπορεί να σταλεί ήχος σε ζεύγος (stereo). IDE: Μια διεπαφή IDE επιτρέπει στην XSA-50 να αποθηκεύει και να διαβάζει δεδοµένα σε σκληρό δίσκο. Τροφοδοσία της πλακέτας XSA-50 και XST 2.x Τροφοδοσία µπορεί να εφαρµοσθεί στην πλακέτα XSA-50 και στην XST 2.x µε τους ακόλουθους τρόπους. 23

Άµεσα στην XSA-50 µε το τροφοδοτικό των 9V DC Με το τροφοδοτικό των 9V DC στην πλακέτα XSTend 24

Μέσω ενός συνήθους τροφοδοτικού ATX PC στην πλακέτα XSTend (υποδοχή J6) Με διπλή τροφοδοσία 5V / 3.3V στις εισόδους της XST 2.x Έλεγχος καλής λειτουργίας Για να ελέγξετε αν λειτουργεί σωστά η XSA-50 µετά τη σύνδεση της µέσω του παράλληλου καλωδίου µε το PC και τη τροφοδοσία της µε 9V DC, εκτελέστε την εφαρµογή GXTEST. Στο παράθυρο που θα εµφανισθεί επιλέξτε την XSA-50 σαν Board Type και την LPT1 σαν θύρα εισόδου. Στη συνέχεια πιέστε το πλήκτρο TEST για να αρχίσει η διαδικασία ελέγχου. Η εφαρµογή GXSTEST θα ρυθµίσει το FPGA για την διαδικασία ελέγχου. Αν αυτή είναι επιτυχής, θα εµφανισθεί η ένδειξη O στο LED της πλακέτας και η εφαρµογή θα σας ενηµερώσει για την επιτυχία του ελέγχου. Σε αντίθετη περίπτωση ο χαρακτήρας Ε θα εµφανισθεί στο LED της πλακέτας. 25

Ρύθµιση της συχνότητας του ταλαντωτή Η πλακέτα XSA-50 είναι εφοδιασµένη µε ένα κύκλωµα παραγωγής συχνότητας 100 ΜΗz (ταλαντωτής - Dallas Semiconductor DS1075Z-100). Η κύρια αυτή συχνότητα µπορεί να διαιρεθεί µε τους παράγοντες 1, 2,... µέχρι το 2052 παρέχοντας τις αντίστοιχες συχνότητες του ρολογιού. Η συχνότητα αυτή αποστέλλεται στα υπόλοιπα µέρη της πλακέτας σαν σήµα ρολογιού. Η επιλογή του κατάλληλου διαιρέτη της βασικής συχνότητας γίνεται µέσω της εφαρµογής GXSSETCLK. Με την εκτέλεση της εµφανίζεται ένα παράθυρο όπου µπορείτε να επιλέξετε το τύπο της πλακέτας (XSA-50), τη θύρα επικοινωνίας µε τον Η/Υ και το διαιρέτη της βασικής συχνότητας (από 1 έως 2052). Πιέζοντας το πλήκτρο SET και ακολουθώντας τις οδηγίες που θα εµφανισθούν από την εφαρµογή GXSSETCLK για την τροφοδοσία και την θέση των βραχυκυκλωτήρων (jumpers) γίνεται ο επαναπρογραµµατισµός της συχνότητας. Παράλληλη θύρα Η παράλληλη θύρα είναι η κύρια µονάδα διασύνδεσης της XSA-50. Η γραµµή C0 (control line) συνδέεται απευθείας µε τον ταλαντωτή DS1075 και χρησιµοποιείται για τη ρύθµιση του διαιρέτη της συχνότητας όπως αναφέρθηκε νωρίτερα. Η γραµµή S6 συνδέεται απευθείας στο FPGA και χρησιµοποιείται σαν δίαυλος επικοινωνίας από το FPGA προς το PC. Τα υπόλοιπα 15 pins χρησιµοποιούνται µέσω του CPLD ως εξής: Οι γραµµές επικοινωνίας (control lines) C1-C3 συνδέονται στα JTAG pins µέσω των οποίων γίνεται ο προγραµµατισµός του CPLD. Πληροφορίες από το CPLD επιστρέφουν στον Η/Υ µέσω της γραµµής S7 (status line). Οι οκτώ γραµµές δεδοµένων, D0-D7, και οι υπόλοιπες γραµµές κατάστασης, S3-S5, συνδέονται σε pins γενικής χρήσης του CPLD. To CPLD µπορεί να προγραµµατιστεί (π.χ. µε το αρχείο dwnldpar.svf) ώστε λειτουργεί σαν µονάδα διασύνδεσης µεταξύ της παράλληλης θύρας και του FPGA. 26

Ρυθµίσεις της εφαρµογής ISE 8.1 για χρήση µε την πλακέτα XSA-50 Οι παράµετροι της πλακέτας XSA-50 που θα πρέπει να δοθούν στο Xilin ISE 8.1 κατά το σχεδιασµό των ψηφιακών κυκλωµάτων είναι: Device Family Spartan2 Device xc2s50 Package tq144 Speed -5 LEDs S6 S5 S2 S3 S0 S4 S1 DP Κατά τη διάρκεια των εργαστηρίων θα χρησιµοποιήσουµε τα LED s της XSA-50 για την παρουσίαση αποτελεσµάτων. Οι εκχωρήσεις των pins που αφορούν το κάθε τµήµα του LED δίδονται στον ακόλουθο πίνακα. LED Decoder Output XSA-50 S0 S1 S2 S3 S4 S5 S6 DP P67 P39 P62 P60 P46 P57 P49 P44 27

Επικοινωνία µέσω της παράλληλης θύρας Στον ακόλουθο πίνακα δίνεται η αντιστοιχία των pins µε τα bits της παράλληλης θύρας (εφαρµογή GXSPort): Port Bit D0 D1 D2 D3 D4 D5 D6 D7 Pin Assignment P50 P48 P42 P47 P65 P51 P58 P43 Το D7 (P43) δεν πρέπει να το πειράζετε γιατί χάνεται ο προγραµµατισµός του FPGA. Clock I/O Signal XSA-50 clk P88 PushButton I/O Signal PushButton XSA-50 P93 Dip-Switches DIP Switch pins 1 P54 2 P64 3 P63 4 P56 28