Lab 2 Manual - Introduction to Xilinx Εισαγωγή Σε αυτό το εργαστήριο θα κάνουµε εισαγωγή στην γλωσσά προγραµµατισµού VHDL και εργαλείο Xilinx ISE. ISE είναι το εργαλείο που παρέχεται από Xilinx για να µπορούµε να γραφούµε κώδικα σε VHDL, ή Verilog. Μέσω του εργαστηρίου θα εξοικειωθείτε µε τις βασικές λειτουργίες του εργαλείου ISE 6.χ. Η VHDL έχει τρεις διαφορετικούς τρόπους για να υλοποιήσουµε κάποιο κύκλωµα-- data flow, ροή στοιχείων, structural δοµικός ή behavioral συµπεριφοριστικός. Για αυτό το εργαστήριο θα χρησιµοποιήσουµε συµπεριφοριστικός, behavioral. Έχουµε δύο τµήµατα του κώδικα. Το πρώτο τµήµα είναι η συµπεριφοριστική περιγραφή για το τι θα κανει project, πρόγραµµα. Το δεύτερο τµήµα του κώδικα είναι το test bench, πεδίο δοκιµών. Το test bench αρχείο χρησιµοποιείται για να εξετάσει το πρόγραµµα, δίνοντας κάποιες τιµές στις εισόδους του κυκλώµατος µας έτσι ώστε να µπορείτε να ελέγξτε ότι το σχέδιό σας λειτουργεί σωστά παρατηρώντας τα αποτελέσµατα. Η πλήρης συµπεριφοριστική περιγραφή δίνεται για αυτό το εργαστήριο. Εντούτοις το test bench file, πεδίο δοκιµών δεν είναι πλήρες, θα εξετάσει µόνο µερικών από τις πιθανές εισαγωγές. Θα πρέπει να προσθέσετε µερικές γραµµές κώδικα προκειµένου να εξεταστεί πλήρως το πρόγραµµα. Το Figure 1 παρουσιάζει το κύκλωµα που θα υλοποιήσετε. Στόχοι Figure 1: Το κύκλωµα που θα υλοποιήσετε Ολοκληρώνοντας αυτό το εργαστήριο, θα είστε σε θέση: Να δηµιουργείτε ένα πρόγραµµα χρησιµοποιώντας τα εργαλεία ISE Να προσδιορίζετε τα κύρια µέρη ενός κώδικα VHDL Να Γράφετε πεδία δοκιµών, test bench files, και προσοµοιώνετε ένα απλό κύκλωµα. Start Project Navigator and Create the Project Step 1 Σχεδόν όλος ο κώδικας για αυτό το πρόγραµµα παρέχεται. Στον υπολογιστή δηµιουργήστε έναν νέο κατάλογο για το πρόγραµµά σας µε το ακόλουθο σχήµα: c:\home\student_username\lab2. Τα εργαλεία ISE δεν επιτρέπουν τα διαστήµατα στο όνοµα καταλόγου, έτσι δεν θα είστε σε θέση να σώσετε το πρόγραµµά σας στο Desktop ή στo My Documents.
1. Κατεβαστέ τα αρχεία fewgates.vhd και fewgates _ tb.vhd από την ιστοσελίδα του µαθήµατος. Σώστε στον κατάλογο c:\home\student_username\lab2. Σιγουρευτείτε ότι τους σώζετε χωρίς την επέκταση ".txt " αλλά µια επέκταση ".vhd ". 2. Αρχίστε το πρόγραµµα Xilinx Navigator. Πηγαίνετε στο Start Menu Programs Xilinx ISE 6 -> Project Navigator. (ή µπορείτε επίσης να ψάξετε την εικόνα ISE στο Desktop). Στο παράθυρο που εµφανίζετε µπροστά σας επιλέξετε The Following user:, και στο username, γράψετε cs-ucy-ac-cy\modelsim και πατήστε OK, βλέπε Figure 2. Ξανα-πατήστε OK. Figure 2: Run As 3. ηµιουργήστε ένα νέο πρόγραµµα, project. Από τον Project Navigator, επιλέξτε File New Project. Αυτό θα φέρει ένα παράθυρο όπως αυτό που παρουσιάζεται στο Figure 3. Γράψετε fewgates ως όνοµα για το πρόγραµµά σας, µετά πατήστε στο... κουµπί για να επιλέξετε τον κατάλογό σας. Επιλέξτε HDL για Top-Level Module Type; επειδή θα εφαρµόζουµε το πρόγραµµα σε VHDL, το οποίο είναι µια περιγραφική γλώσσα υλικού, Hardware Descriptive Language (HDL). Εάν έχετε κάνει τις επιλογές σας πατήστε Next. 2
Figure 3: New Project Figure 4: New Project Options 3
4. Το επόµενο παράθυρο µας επιτρέπει να επιλέξουµε τον τύπο συσκευής, chip, που θα χρησιµοποιήσουµε στο πρόγραµµα, project. Σε αυτό το εργαστήριο θα προσοµοιώσουµε το πρόγραµµα, project µας µονό. εν θα φορτώσουµε στην συσκευή το πρόγραµµα µας. Ο τύπος συσκευών δεν πειράζει αυτή τη φορά απλώς να είναι µια συσκευή που να έχει αρκετά µεγάλος χώρο αποθήκευση για να µπορεί να αποθήκευση το πρόγραµµα µάς. Επιλέξτε τιµές όπως αυτές που παρουσιάζονται στο Figure 4, µετά πατήστε Next. 5. Σε αυτό το παράθυρο µπορούµε να δηµιουργήσουµε ένα νέο αρχείο πηγής, new source files. Στο επόµενο παράθυρο σας επιτρέπει να προσθέσετε υφιστάµενες πηγές, sources, στο πρόγραµµα, project, πατήστε Next. Figure 5: Add Source 6. Τώρα µπορούµε να προσθέσουµε τις υφιστάµενες πηγές µας στο πρόγραµµα, project. πατήστε Add Source, Figure 5. Κοιτάξτε στον κατάλογό σας και επιλέξτε fewgates.vhd και πατήστε Open, Figure 6. Στο επόµενο παράθυρο, σιγουρευτείτε ότι το VHDL Design File τονίζεται ( όπως φαίνεται στο Figure 7), πατήστε OK. 4
Figure 6: Add Existing Sources Figure 7: Choose Source Type 7. Προσθέστε το αρχείο fewgates_tb.vhd στο πρόγραµµά σας, project, αλλά σιγουρεύετε ότι το αρχείο VHDL Test Bench File το επιλέγετε ως τύπος πηγής όπως φαίνεται στο Figure 9. Το παράθυρο πρέπει να µοιάζει µε αυτό που παρουσιάζεται στο Figure 10. Όταν τελειώσετε µε τον να προσθέτετε τα αρχεία σας πατήστε Next. 5
Figure 8: Add Existing Sources Figure 9: Choose Source Type 6
Figure 10: Your new Project must look like this Το επόµενο παράθυρο είναι µια περίληψη όλων των ρυθµίσεων σας στο πρόγραµµα σας, project. Βεβαιωθείτε ότι είναι σωστοί και πατήστε Finish. Μπορείτε να δείτε ότι στο Project Navigator έχει δηµιουργηθεί το πρόγραµµά σας, project. Ξοδέψετε κάποιο χρόνο να αναλύσετε τον κώδικα και να καταλάβετε τι πραγµατικά κάνει. Analyze and Compile the Code Step 2 Κοιτάξετε τις πηγές, Sources, στο παράθυρο του Project στην πάνω αριστερή γωνία του παραθύρου. Προσέξτε πώς ο κώδικας πεδίων δοκιµών, test bench file, είναι κάτω από τον κύριο κώδικα, fewgates.vhd, σε ένα ιεραρχικό επίπεδο όπως φαίνεται στο Figure 11. Αυτό είναι βασισµένο στην έννοια ότι το πεδίο δοκιµών, test bench file, δεν θα εξυπηρετούσε κανέναν σκοπό χωρίς τον κύριο κώδικα. Το πεδίο δοκιµών, test bench file, χρησιµεύει µόνο να εξετάσει τον κύριο κώδικα. 7
Figure 11: Sources in Project Με Double-Click, επάνω fewgates-behavioral (fewgates.vhd), θα ανοίξει το αρχείο έτσι ώστε µπορείτε να κάνετε αλλαγές στο κώδικα. Προσέξτε ότι τα χρώµατα έχουν σηµασία (πράσινο για σχόλια, µπλε για τη λέξη κλειδί/τις διατηρηµένες λέξεις, κ.λπ. όπως φαίνεται στο Figure 12). Αυτό το χαρακτηριστικό µπορεί να χρησιµοποιηθεί ως τεχνική ανίχνευσης λάθους. Μπορεί µερικές φορές να βοηθήσει να βρείτε προβλήµατα στον κώδικα. Κλείστε fewgates.vhd code. Figure 12: Comments and color-codes in a VHDL file 8
1. Συνθέστε το πρόγραµµα, Synthesize the project; Επισκιάστε, highlight, the fewgates.vhd code (in the Sources in Project box) και επεκτείνετε το Synthesize τµήµα µέσα στο Processes for Source box and double click Check Syntax. The Syntax Check δεν πρέπει να δείξει κανένα λάθος. Για να δείτε πώς είναι όταν έχει λάθη, αλλάζετε κάποιους χαρακτήρες µέσα στο fewgates.vhd αρχείο και ξανά τρέξετε την διαδικασία. Ένα πράσινο σηµάδι ελέγχου είναι η επιβεβαίωση ότι ο έλεγχος σύνταξης ήταν επιτυχής όπως δείχνει στο Figure 13. Figure 13: Green check mark showing the process was successful. Simulate the system Step 3 Το επόµενο βήµα είναι να προσοµοιώσουµε αυτό το σχέδιο. Η προσοµοίωση µας δίνει τη δυνατότητα να εξασφαλίσει ότι ένα πρόγραµµα κάνει τι αναµένεται. 1. Για να τρέξετε την συµπεριφοριστική προσοµοίωση σας, behavioral simulation; Επισκιάστε το αρχείο fewgates_tb.vhd µέσα στο Sources in Project παράθυρο και κάντε double click πάνω Simulate Behavioral Model µέσα στο Processes for current sources παράθυρο, βλέπε Figure 14. Με αυτή την εντολή στο Xilinx software καλεί το Modelsim πρόγραµµα να τρέξει και να χρησιµοποιήσει το test bench αρχείο για να εκλέξει τον κύριο κώδικα. 9
Figure 14: Modelsim Simulator Με το άνοιγµα του ModelSim τέσσερα νέα παράθυρα θα εµφανιστούν. Για αυτό το εργαστήριο, µόνο το παράθυρο µε τον τίτλο wave default µα ενδιαφέρει. (µια µαύρη οθόνη µε πράσινες γραµµές). Μπορείτε να επεκτείνετε το κυµατοειδές µε το κάνετε µεγέθυνση ή πατώντας στο κουµπί που λέει Zoom Full. Figure 15: Waveforms Τώρα µπορεί να φανεί ότι οποτεδήποτε το a και b είναι low ή c είναι high, y θα είναι high. Αυτό θα µπορούσε να θεωρηθεί από την άποψη των τάσεων µε lower line να είναι 0 volts και η ανυψωµένη γραµµή όντας 5 volts. Πατήστε οπουδήποτε στο κυµατοειδές. Αυτό θα δηµιουργήσει έναν δροµέα που µπορεί να κινηθεί κατά µήκος τις κυµατοµορφής, παρουσιάζοντας τις τιµές τον εισόδων και εξόδων σε διάφορους χρόνους. 10