Introduction IP Cores

Σχετικά έγγραφα
Lab 2 Manual - Introduction to Xilinx

Introduction to IP Cores

How to register an account with the Hellenic Community of Sheffield.

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

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

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

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

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

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

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

Introduction to Sequence Detectors and CPLDs

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

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

ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΝ ΕΣΗΣ DIAL-UP ΣΕ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINDOWS XP

Homework 3 Solutions

Εγχειρίδιο Χρήσης Ενημέρωσης Λογισμικού Bluetooth Windows 7

Προετοιμασία σύνδεσης του modem. Εγκατάσταση του Modem

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

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

Modbus basic setup notes for IO-Link AL1xxx Master Block

Searching and Downloading OpenStreetMap Data

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

2 Composition. Invertible Mappings

VHDL Introduction. Subtitle

PortSip Softphone. Ελληνικά Ι English 1/20

Georeferencing Topo Sheets and Scanned Maps

SPEEDO AQUABEAT. Specially Designed for Aquatic Athletes and Active People

Structural VHDL. Structural VHDL

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

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

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

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

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version ΗΜΙΤΕΛΗΣ!!!!

Συγχρηµατοδοτούµενο από το ΥΠΕΠΘ και την Ευρωπαϊκή Ένωση

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Γενικά χαρακτηριστικά, σύνταξη και τύποι. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 -

Κέντρο υποστήριξης HP. Εισαγωγή. Τι χρειάζεται να γνωρίζετε. Λήψη και εγκατάσταση της λύσης Vista στα Windows 8. 1 of 5 1/7/2014 2:09 μμ

Δημιουργία μιας εφαρμογής Java με το NetBeans

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

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

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

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

Θέµα 2: Φασµατογράφηµα στενής και ευρείας ζώνης, ενός σήµατος οµιλίας. Προέµφαση της οµιλίας. Παράµετροι οµιλίας (Ενέργεια, Pitch, Formants, LPC.

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Υπηρεσία Πληροφορικών Συστημάτων Τομέας Συστημάτων

Εγχειρίδιο Χρήσης Ενημέρωσης Λογισμικού Bluetooth Windows 7 IVE-W530BT

Αρχιτεκτονική Σχεδίαση Ασαφούς Ελεγκτή σε VHDL και Υλοποίηση σε FPGA ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

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

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

Πρόσβαση μέσω webdav. ΚΕ.Δ.Δ. Τ.Ε.Ι. Μεσολογγίου. 3. Στην συνέχεια πληκτρολογούμε το username και το password και πατάμε στο κουμπί Είσοδος.

Section 8.3 Trigonometric Equations

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

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

Eισαγωγή στο λογισμικό QGis

Συνδυασμός Μαθηματικών με γραφικές παραστάσεις

A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων

Οδηγός χρηστών VPN Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

The Simply Typed Lambda Calculus

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Solutions to the Schrodinger equation atomic orbitals. Ψ 1 s Ψ 2 s Ψ 2 px Ψ 2 py Ψ 2 pz

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

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

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

2014 Παρίσης Κ., Καθηγητής

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

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

Using Custom Python Expression Functions

CYTA Cloud Server Set Up Instructions

ΓΕΝΝΗΤΡΙΑ MUX ΚΑΤΑΓΡΑΦΙΚΟ ΗΜΙΤΟΝΙΚΟΥ ΣΗΜΑΤΟΣ. σχήμα A

Basic Raster Styling and Analysis

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

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : / id ot.com /

Potential Dividers. 46 minutes. 46 marks. Page 1 of 11

6.1. Dirac Equation. Hamiltonian. Dirac Eq.

Section 7.6 Double and Half Angle Formulas

derivation of the Laplacian from rectangular to spherical coordinates

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

Γράφοντας μουσική με το Finale 2006 (Δ μέρος)

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

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

RMCLab. Remote Monitored and Controlled Laboratory

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Library, package και subprograms

4.6 Autoregressive Moving Average Model ARMA(1,1)

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

Άσκηση 10 Φωτισµός. Στόχος της άσκησης

Advanced Subsidiary Unit 1: Understanding and Written Response

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 -

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

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

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΝΕΑ - ΑΝΑΚΟΙΝΩΣΕΙΣ

Transcript:

Introduction IP Cores Introduction Ένας hardware engineer έχει στα χέρια του πολύ ισχυρά εργαλεία που µπορούν να απλοποιήσουν το στόχο του σχεδίου υλικού. Μεταξύ αυτών των εργαλείων είναι και το IP core, πυρήνες IP, προσυσκευασµένα τµήµατα του κώδικα VHDL που µπορούν να µειώσουν το χρόνο που ένας µηχανικός πρέπει να ξοδέψει σε ένα σχέδιο. Σε αυτό το µέρος του σεµιναρίου, θα µάθετε πώς να χρησιµοποιήσετε το Xilinx's CORE Generator System για να δηµιουργήσετε έναν core, πυρήνα VHDL IP core και να τον ενσωµατώσετε σε ένα VHDL project. Goals Με την ολοκλήρωση αυτού του εργαστηρίου θα µπορείτε: Να καταλάβετε το two s complement σύστηµα αρίθµησης. Να χρησιµοποιείτε το IP Cores για να δηµιουργήσετε projects. Να χρησιµοποιείτε το structural level of abstraction για να περιγράφετε ψηφιακά κυκλώµατα.

Start Project Navigator and Create the Project Step 1 Όπως και στα προηγούµενα εργαστήρια, ο κώδικας σας δίνετε στην ιστοσελίδα του µαθήµατος. ηµιουργήστε ένα καινούργιο κατάλογο C:/home/student_name/lab4. Κατεβάστε το αρχείο complement.vhd από την ιστοσελίδα και συµπεριλάβετε το στο Project. Τα στάδια για τη δηµιουργία αυτού του project θα είναι λίγο διαφορετικά από τα προηγούµενα εργαστήρια. 1. ηµιουργήστε ένα νέο project. Από τον Project Navigator, επιλέξτε File New Project. Αυτό θα φέρει ένα παράθυρο όπως αυτό που παρουσιάζεται στο Figure 1. Γράψετε lab4 ως όνοµα για το project σας, µετά πατήστε στο... κουµπί για να επιλέξετε τον κατάλογό σας. Επιλέξτε HDL για Top-Level Module Type; επειδή θα εφαρµόσουµε το πρόγραµµα σε VHDL, το οποίο είναι µια περιγραφική γλώσσα υλικού, Hardware Descriptive Language (HDL). Εάν έχετε κάνει τις επιλογές σας πατήστε Next. Figure 1: Device Settings Create a Core using Coregen Step 2 1. Add new source; Πατήστε στο New Source κουµπί. Ονοµάστε το αρχείο σας twos_comp. Στην αριστερή µεριά του παραθύρου επιλέξτε IP (CoreGen). Πατήστε Next. Βλέπε Figure 2. 2

2. Να πατήσετε µε το mouse πάνω στο + για να επεκτείνετε το Math Functions, Complementers. Πατήστε Twos Complementer. Πατήστε Next. Πατήστε Finish. Βλέπε to figure 3. Figure 2: New Source Settings Figure 3: Select Core Type 3. Πατήσετε Next, Next, Finish. Τότε το παράθυρο του Core Generator θα ανοίξει. Figure 4: IP Core Generator Settings We are setting up a 2 s complementer with a data width of 5 bits and registered (which means that flip-flops will be setup at the inputs and outputs). A bypass signal is also setup. Active high means that the complementer will be bypassed whenever the signal bypass is setup too high. Later it will become clear why we need this signal. Click Generate. 3

Θα δηµιουργήσουµε ένα 2 s complementer µε εύρος δεδοµένων, data width 5 bit και καταχωρηµένο, registered (που σηµαίνει ότι flip-flops θα εγκατασταθούν στις εισόδους και εξόδους). To σήµα, bypass παράκαµψης είναι επίσης οργάνωση. Active high σηµαίνει ότι το complementer θα παρακαµφθεί όποτε το σήµα "παράκαµψη " είναι high (1). Αργότερα Θα γίνει πιο σαφές γιατί χρειαζόµαστε αυτό το σήµα. Πατήστε Generateι. 4. Μετά από κάποιο χρόνο, ένα πλαίσιο διαλόγου θα σας πει ότι το core, πρότυπο, πυρήνας, έχει παραχθεί επιτυχώς, πατήστε OK. Πατήστε το Dismiss κουµπί. Incorporate the Core Step 3 Maximize the Project Navigator window. If you look to the left, you will notice that core now appears in your project. However, it is not really incorporated into your design, nor is your design ready to be simulated. In order to proceed we will use a wrapper (or top-level ) file called complement.vhd which was provided (step 1). The only role of this file is to take the core we just generated and place it into a design, connecting its inputs and outputs to the inputs and outputs of the design as shown in figure 5. Μεγιστοποιήστε το παράθυρο Project Navigator. Εάν κοιτάξετε στο αριστερό µέρος του παραθύρου, θα παρατηρήσετε ότι ο πυρήνας (core) εµφανίζεται τώρα στο πρόγραµµά σας. Εντούτοις, δεν ενσωµατώνεται πραγµατικά στο κύκλωµα σας, ούτε είναι το κύκλωµα σας έτοιµο για προσοµοίωση. Προκειµένου να προχωρήσουµε θα χρησιµοποιήσουµε ένα "περιτύλιγµα" (ή "top-level") αποκαλούµενο αρχείο complement.vhd που σας δόθηκε στο βήµα 1. Ο µόνος ρόλος αυτού του αρχείου είναι να πάρει τον πυρήνα, core, που µόλις παράγαµε και να τον τοποθετήσει στο κύκλωµα µας συνδέοντας τις εισόδους και τις εξόδους µε τις εισόδους και τις εξόδους του κυκλώµατος µας, όπως φαίνεται στο σχήµα 5. Core generated by Coregen wrapper file Figure 5. Wrapper file and core Figure 6: Sources in Project 1. Επιλέξετε το αρχείο που µόλις παράγαµε από το παράθυρο το Sources in Project, but DO NOT double-click it. Βλέπε Figure 6. 2. Πατήστε το Open button από task bar. Γράψετε το όνοµα του αρχείου twos_comp.vho και πατήστε Open. Αυτό θα ανοίξει ένα από τα αρχεία που δηµιούργησε ο CORE Generator System. 3. Προσθέστε το αρχείο complement.vhd στο project; Πατήστε Project, Add Source. Επιλέξετε το αρχείο complement.vhd, πατήστε Open. Επιλέξτε VHDL Design File σαν Source Type, πατήστε Ok. Τώρα θα πρέπει να αντιγράψουµε τα τµήµατα του κώδικα από twos_comp.vho αρχείο για να ολοκληρώσουµε τον κώδικα. 4

4. Πατήστε πάνω στην ετικέτα που λέει twos_comp.vho. Να αντιγράψετε το component declaration (βλέπε Figure 6) και να το βάλετε στο complement.vhd αρχείο εκεί που δείχνουν τα σχόλια. 5. Να αντιγράψετε το port map (shown in Figure 7) από το αρχείο twos_comp.vho, και να το βάλετε στο αρχείο complement.vhd εκεί που δείχνουν τα σχόλια. Figure 6: Component Declaration Figure 7: Port Map 6. Επιλέξτε το αρχείο complement.vhd. Double-click Synthesize στο Processes for Source. Θα πάρετε µερικές προειδοποιήσεις (κίτρινα σηµάδια) που είναι µέρος της διαδικασίας, µην τις λάβετε υπόψη. Σιγουρευτείτε ότι δεν παίρνετε οποιαδήποτε λάθη (κόκκινα σηµάδια). Simulate the system Step 4 1. Προσθέστε το αρχείο complement_tb.vhd στο project; Κατεβάστε το αρχείο complement_tb.vhd από την ιστοσελίδα του εργαστηρίου. Πατήστε Project Add source, να βρείτε το αρχείο complement_tb.vhd και να το επιλέξετε. Επιλέξτε VHDL Testbench File σαν Source Type, πατήστε Ok. 2. Να επιλέξετε το test bench και να κάνετε double-click πάνω στο Simulate Behavioral Model µέσα στα Processes for Current Source. 3. Οι κυµατοµορφές πρέπει να είναι ίδιες µε το Figure 8. Figure 8: ModelSim Waveform 4. Εάν κάνετε right click πάνω στα σήµατα εισόδων και εξόδων µπορείτε να αλλάξετε τον τρόπο που θα παρουσιάζονται σε εσάς τα σήµατα. Πατήστε Radix, πατήστε Decimal. 5

Figure 9; ModelSim Waveform with radix changed Στο παρελθόν είχατε τα µεµονωµένα σήµατα όπου high (1) ήταν µια γραµµή και αντιθέτως, µια χαµηλή επίπεδη γραµµή ήταν ένα 0. Όταν βλέπετε 10000, αυτό σηµαίνει ότι είναι ένα bus (συλλογή των καλωδίων) αντί µιας µεµονωµένης εισόδου ή µιας εξόδου. Μπορείτε να δείτε τα µεµονωµένα καλώδια για κάθε bus εάν πατήσετε στο σηµείο + δίπλα από κάθε σήµα. Final Task: Design of an Adder/Substractor Step 5 Σε αυτό το τµήµα θα χρησιµοποιήσουµε ότι έχουµε µάθει πιο πάνω και θα το εφαρµόσουµε για να δηµιουργήσουµε ένα adder/subtractor που παρουσιάζεται στο Figure 10. Ο adder και ο 2 s complement θα δηµιουργηθούν χρησιµοποιώντας Coregen. Θα πρέπει να δηµιουργήσετε ένα top αρχείο και µε structural description, δοµική περιγραφή να συνδέσετε αυτά τα συστατικά και να χτίσετε το κύκλωµα σας. Από τις σηµειώσεις τις διάλεξης είναι γνωστό ότι προκειµένου να αφαιρέσουµε δύο αριθµούς (A - B) σε 2 s complement µορφή παίρνουµε το συµπλήρωµα του τελεστέου (B) και το αποτέλεσµα το προσθέτουµε στον δεύτερο τελεστέο (A). Σχηµατική αναπαράσταση που παρουσιάζεται στο Figure 10 έχει 2 s complement block και µε ένα σήµα που ονοµάζεται bypasss το οποίο θα ενεργοποιήσει ή θα απενεργοποιήσει το 2 s complement block βάση του σήµατος add_sub από το σύστηµα. Εάν προσθέσουµε το Α και το Β. Το add_sub σηµα θα είναι high (1) και το 2 s complement block θα παρακαµφθεί. Ως αποτέλεσµα η πρόσθεση Α και Β να γίνει από το Adder block. Εάν αναιρέσουµε το Β από το Α τότε το add_sub σήµα θα είναι low (0). Το 2 s complement block θα τεθεί σε λειτουργία και θα κάνει το συµπλήρωµα του B και µετά θα το στείλει στο Adder block. Το Adder block θα προσθέσει το Α και το 2 s complement s Β που ισοδυναµεί µε (Α-Β). A B A 2's complement Q clk bypass clk add_sub A B Adder clk Q entity: black_box output 6

Figure 10. Adder Subtractor schematic. 1. ηµιουργήστε ένα νέο project; Όπως κάνατε πιο πάνω, δηµιουργήστε ένα νέο project, ονοµάστε το lab4_2. 2. Ενσωµατώστε το source file. Κατεβάστε από την ιστοσελίδα του εργαστηρίου το αρχείο top.vhd µετά πατήστε Project Add source από το ISE main interface window. Να ψάξετε να βρείτε το αρχείο top.vhd, επιλέξτε το και πατήστε Open. Να επιλέξετε VHDL Design File σαν Source Type, πατήστε Ok. 3. ηµιουργήστε και ενσωµατώστε 2 s complement core; Να επαναλάβετε τα βήµατα 2 και 3 αυτού του εργαστηρίου και δηµιουργήστε και ενσωµατώστε 2 s complement core (χρησιµοποιήστε τις ίδιες παραµέτρους µε πριν). Σηµειώστε ότι σε αυτή την περίπτωση πρέπει να αντιγράψετε component declaration και component instantiation στο top.vhd αρχείο. 4. ηµιουργήστε Adder core. Να επαναλάβετε το βήµα 2 αυτού του εργαστηρίου για να δηµιουργήσετε το core του adder. Χρησιµοποιήστε Adder Subtracter core το οποίο βρίσκετε κάτω από Math Functions / Adders & Subtracters µέσα στο Coregen παράθυρο. Στο figure 11 θα δείτε τις παραµέτρους που πρέπει να βάλετε στο Adder Subtracter. Μετά πατήστε Next button και συµπληρώστε τις παραµέτρους που παρουσιάζονται στο figure 12. Figure 11; First window parameters for Adder Subtracter Core. 7

Figure 12; Second window parameters for Adder Subtracter Core. 5. Να ενσωµατώσετε τον adder core στο project σας; Όπως κάνατε στο βήµα 3 πιο πάνω, να αντιγράψετε το component declaration και το component instantiation templates µέσα στο top.vhd αρχείο. 6. Να ολοκληρώσετε την περιγραφή συστηµάτων χρησιµοποιώντας structural description; ολοκληρώστε την περιγραφή του συστήµατος συµπληρώνοντας τις συνδέσεις component instantiation section του κώδικα, βλέποντας το schematic βλέπε figure 10. Οι συνδέσεις που πρέπει να ολοκληρώσετε είναι σε πράσινο χρώµα. Σηµειώστε ότι η έξοδος Q του 2 s complement block είναι 6 bits wide και η είσοδος B του adder-subtracter είναι 5 bits wide. Εδώ πρέπει να αφήσετε αποσυνδεδεµένο το most significant bit of Q. (Hint: instead of connecting Q, connect only Q(4 donwto 0). Αυτό θα αφήσει αποσυνδεδεµένο το Q(5)). 7. Προσοµοιώστε το project σας; Όπως και στο βήµα 4 κατεβάστε το top_tb.vhd αρχείο και ενσωµατώστε το στο project. Σε αυτήν την περίπτωση πρέπει να ολοκληρώσετε testbench αρχείο. Ακολουθήστε τα σχόλια και τους υπαινιγµούς στο ίδιο το αρχείο. Πρέπει τουλάχιστον να έχετε τις ακόλουθες περιπτώσεις στην προσοµοίωσή σας: Add two small positive numbers together (say 00110 and 00001). Add a positive number (00010) and a negative number (11110). Subtract two small positive numbers together (say 00110 and 00001). Subtract a positive number (00010) and a negative number (11110). 8