Σημειώσεις Εργαστηρίου - Παρουσίαση Εργαλείων

Σχετικά έγγραφα
Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 1

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 2

Modellus 4.01 Συ ντομοσ Οδηγο σ

Ειςαγωγι ςτθ ςχεδιαςτικι ροι τθσ Xilinx. ISE Design Suite University Of Thessaly Department of Electrical and Computer Engineering CE430

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

Ηλεκτρονικι Επιχειρθςιακι Δράςθ Εργαςτιριο 1

Πωσ δθμιουργώ φακζλουσ;

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7)

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

Αυτόματη δημιουργία στηλών Αντιστοίχηση νέων λογαριασμών ΦΠΑ

Virtualization. Στο ςυγκεκριμζνο οδηγό, θα παρουςιαςτεί η ικανότητα δοκιμήσ τησ διανομήσ Ubuntu 9.04, χωρίσ την ανάγκη του format.

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 3

ΟΔΗΓΙΕ ΓΙΑ ΣΗΝ ΕΙΑΓΩΓΗ ΕΚΔΡΟΜΩΝ & ΝΕΩΝ - ΑΝΑΚΟΙΝΩΕΩΝ ΣΗΝ ΙΣΟΕΛΙΔΑ ΣΗ Δ.Δ.Ε. ΘΕΠΡΩΣΙΑ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

Οδηγίες αναβάθμισης χαρτών

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

ΠΑΝΕΠΙΣΘΜΙΟ ΔΤΣΙΚΘ ΜΑΚΕΔΟΝΙΑ ΣΜΘΜΑ ΜΘΧΑΝΙΚΩΝ ΠΛΘΡΟΦΟΡΙΚΘ ΚΑΙ ΣΘΛΕΠΙΚΟΙΝΩΝΙΩΝ. Λειτουργικά υςτιματα, 4 ο Εξάμθνο Ψθφιακι χεδίαςθ ΙΙ, 4 ο Εξάμθνο

GNSS Solutions guide. 1. Create new Project

Joomla! - User Guide

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε)

Διαδικαςία Προγράμματοσ Ωρομζτρθςθσ. (v.1.0.7)

assessment.gr USER S MANUAL (users)

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox

Διαδικαζία Διατείριζης Εκηύπωζης Ιζοζσγίοσ Γενικού - Αναλσηικών Καθολικών. (v )

Κάνουμε κλικ ςτθν επιλογι του οριηόντιου μενοφ «Get Skype»για να κατεβάςουμε ςτον υπολογιςτι μασ το πρόγραμμα του Skype.

Λειτουργικά υςτιματα Windows XP

Πρόςβαςη και δήλωςη μαθημάτων ςτον Εφδοξο

ΟΔΗΓΙΕ ΔΗΜΙΟΤΡΓΙΑ ΚΑΙ ΡΤΘΜΙΗ ΔΩΡΕΑΝ ΗΛΕΚΣΡΟΝΙΚΟΤ ΣΑΧΤΔΡΟΜΕΙΟΤ ΣΟ GOOGLE (G-MAIL)

1. Εγκατάςταςη κειμενογράφου JCE

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΗ. του ΙΑΣΡΟΦΑΡΜΑΚΕΤΣΙΚΟΤ ΦΑΚΕΛΟΤ ΑΘΕΝΩΝ Για τον ΟΙΚΟ ΝΑΤΣΟΤ ΕΡΓΑΣΗΡΙΑΚΟΙ ΓΙΑΣΡΟΙ. iknowhow Πληροφορική A.E

Εφδοξοσ+ Συνδεκείτε ςτθν Εφαρμογι Φοιτθτϊν και μεταβείτε ςτθ ςελίδα «Ανταλλαγι Βιβλίων (Εφδοξοσ+)».

Σφντομεσ Οδθγίεσ Χριςθσ

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Διαχείριςη Αριθμοδεικτών (v.1.0.7)

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 4

1. Κατέβαςμα του VirtueMart

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

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

Σχεδίαςη Σφγχρονων Ακολουθιακών Κυκλωμάτων

Εφδοξοσ Δήλωςη Συγγραμμάτων

Πωσ δημιουργώ μάθημα ςτο e-class του ΠΣΔ [επίπεδο 1]

Οδηγός χρήσης Blackboard Learning System για φοιτητές

τατιςτικά ςτοιχεία ιςτότοπου Κ.Ε.Π.Α. Α.Ν.Ε.Μ, για τθν περίοδο 1/1/ /12/2014

ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ

Σφςτημα Κεντρικήσ Υποςτήριξησ τησ Πρακτικήσ Άςκηςησ Φοιτητών ΑΕΙ

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Διαχείριςη Εκπαιδευτικού Υλικού (ΠΑΚΕ) Πληροφοριακό Σύςτημα (MIS)

ΑΛΕΞΑΝΔΡΕΙΟ ΣΕΙ ΘΕΑΛΟΝΙΚΗ ΣΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ Σ.Ε. ΜΑΘΗΜΑ : ΑΛΓΟΡΙΘΜΙΚΗ ΚΑΙ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΔΙΔΑΚΩΝ : ΓΟΤΛΙΑΝΑ ΚΩΣΑ

Οδηγίεσ για την Τποβολή Καταςτάςεων υμφωνητικών μζςω xml αρχείου

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

Electronics μαηί με τα ςυνοδευτικά καλϊδια και το αιςκθτιριο κερμοκραςίασ LM335 που περιζχονται

ΡΥΘΜΙΕΙ για περιοριςμένο χρήςτη (limited user)

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Περιφέρειες)

Ειδικζσ Ναυπηγικζσ Καταςκευζσ και Ιςτιοφόρα κάφη (Ε)

Ακολουκιακά Λογικά Κυκλώματα

Interactive Physics Σύ ντομος Οδηγο ς

3 θ διάλεξθ Επανάλθψθ, Επιςκόπθςθ των βαςικϊν γνϊςεων τθσ Ψθφιακισ Σχεδίαςθσ

Epsilon Cloud Services

SingularLogic Application. Παραμετροποίηση Galaxy Application Server

Πολυπλέκτες. 0 x 0 F = S x 0 + Sx 1 1 x 1

Διαχείριςη Κοςτολόγηςησ

Εισαγωγή Νέου Παγίου

Καλϊσ Θλκατε ςτο νζο μασ site & e-shop Livardas.gr.

Οδηγόσ εγκατάςταςησ και ενεργοποίηςησ

Διαχείριση Επιλογών Διαμόρφωσης

1 Εγκατϊςταςη λογαριαςμού

Visual C Express - Οδηγός Χρήσης

ΑΞΙΟΛΟΓΗΣΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε:

Εργαςτιριο Βάςεων Δεδομζνων

ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΙΣΟΤΣΟ ΚΤΠΡΟΤ Πρόγραμμα Επιμόρυωσης Τποψηυίων Καθηγητών Σεχνολογίας. Ηλεκτρονικά ΙΙ

Σημειώσεις Εργαστηρίου - Παρουσίαση Εργαλείων

Ηλεκτρονικι Υπθρεςία Ολοκλθρωμζνθσ Διαχείριςθσ Συγγραμμάτων και Λοιπϊν Βοθκθμάτων

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

Πόςο εκτατό μπορεί να είναι ζνα μη εκτατό νήμα και πόςο φυςικό. μπορεί να είναι ζνα μηχανικό ςτερεό. Συνιςταμζνη δφναμη versus «κατανεμημζνησ» δφναμησ

Εφαρμογή. «Βελτιώνω την πόλη μου» Αιτήματα Ρολιτών. Εγχειρίδιο χρήςησ για τον πολίτη

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

Εγχειρίδιο Χρήςησ Αυτοματοποίηςησ Κυκλώματοσ Πληρωμών ΟΛΠ μζςω e-banking VERSION <Final>

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 9 : Διαδικαςία φνκεςθσ Φϊτιοσ Βαρτηιϊτθσ

Ψθφιακά Ηλεκτρονικά. Ενότθτα 5 : Ανάλυςθ κυκλώματοσ με D και JK FLIP- FLOP Φώτιοσ Βαρτηιώτθσ

Πνομα Ομάδασ: Προγραμματιςμόσ ενόσ κινοφμενου ρομπότ

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

Ψθφιακά Ηλεκτρονικά. Ενότθτα 7 : Ελαχιςτοποίθςθ και κωδικοποίθςθ καταςτάςεων Φϊτιοσ Βαρτηιϊτθσ

Εγχειρίδιο Χριςθσ: Εφαρμογι Αιτιςεων για τα Εκπαιδευτικά Προγράμματα του Προςωπικοφ των Επιχειριςεων Τροφίμων

Δίκτυα Υπολογιςτϊν 2-Rooftop Networking Project

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

Διαδικασία Δημιοσργίας Ειδικών Λογαριασμών. (v.1.0.7)

Παράρτημα Η Ζκδοση 2010 (Το παρόν διατίκεται μόνο ςε χριςτεσ λογιςμικοφ τθσ C.C.S. Α.Ε.)

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ Ω ΕΝΙΑΙΟ ΤΣΗΜΑ. ΚΕΦΑΛΑΙΟ 2: Σο Εςωτερικό του Τπολογιςτι

Βάςεισ Δεδομζνων Ι. Ενότητα 12: Κανονικοποίηςη. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ

Ιδιότθτεσ πεδίων Γενικζσ.

Κατά τθν ενεργοποίθςθ τθσ ιδιότθτασ αυτισ ενδζχεται να εμφανιςτεί ζνα μινυμα ςαν αυτό τθσ παρακάτω εικόνασ. Απλά επιβεβαιϊςτε πατϊντασ ΟΚ.

Transcript:

Εργαςτήριο Σχεδιαςμού Ολοκληρωμένων Κυκλωμάτων Σημειώσεις Εργαστηρίου - Παρουσίαση Εργαλείων Σχεδιαςμόσ Ολοκληρωμένων Συςτημάτων με Τεχνικέσ VLSI (VLSI-III) [ΠΡΩΣΟ ΜΕΡΟ] υγγραφή - Επιμέλεια: Γιώργος Σ. Αθανασίου, Υπ. Διδάκτωρ - Ερευνητής Παναγιώτης Σακελλαρίου, Υπ. Διδάκτωρ - Ερευνητής Γιώργος Θεοδωρίδης, Επίκουρος Καθηγητής (Νοζμβριος 2012)

Περιεχόμενα 1. Ειςαγωγι... 3 2. Mentor Graphics: ModelSim... 4 2.1. Γενικά - Εγκατάςταςθ... 4 2.2. Συγγραφι κϊδικα VHDL και Δθμιουργία Αρχείου Project... 4 2.3. Δθμιουργία Project και Ειςαγωγι Κϊδικα Σχεδιαςμοφ... 5 2.4. Συντακτικι Ανάλυςθ Κϊδικα (Compile) και Αποςφαλμάτωςθ... 7 2.5. Λειτουργικι Ρροςομοίωςθ - Κυματομορφζσ... 9 2.6. Ρρόςκετα: Αρχεία Εντολϊν Ρροςομοίωςθσ (DO-files) και Αρχεία Ελζγχου Ορκισ Λειτουργίασ (Test-benches)... 13 3. Αναςκόπθςθ Θεωρίασ για FPGAs... 16 4. Mentor Graphics: LeonardoSpectrum... 17 4.1. Γενικά - Εγκατάςταςθ... 17 4.2. Εκκίνθςθ του Εργαλείου... 17 4.3. Φόρτωςθ Σχεδιαςμοφ - Επιλογι Τεχνολογίασ και Χαρακτθριςτικϊν... 18 4.4. Σφνκεςθ... 20 4.5. Σχθματικά Διαγράμματα και Επιπλζον Επιλογζσ... 21 5. Xilinx: ISE Design Suite... 23 5.1. Γενικά - Ειςαγωγικά για Xilinx FPGAs... 23 5.2. Απόκτθςθ και Εγκατάςταςθ ISE... 24 5.3. Εκκίνθςθ του ISE - Δθμιουργία Project... 25 5.4. Ειςαγωγι Σχεδιαςμοφ ςτο Project... 28 5.5. Σφνκεςθ Σχεδιαςμοφ... 30 6. Βιβλιογραφία - Χριςιμοι Σφνδεςμοι... 31

1. Ειςαγωγή Το ςφγγραμμα αυτό αποτελεί τισ βαςικζσ ςθμειϊςεισ για το Εργαςτιριο του μακιματοσ «Σχεδιαςμόσ Ολοκλθρωμζνων Συςτθμάτων με Τεχνικζσ VLSI (VLSI-III)». Είναι χωριςμζνο ςε δφο μζρθ. Το Ρρϊτο Μζροσ (παρόν) εμπεριζχει τρεισ (4) ενότθτεσ. Η πρϊτθ αφορά τθν Ειςαγωγι του ςυγγράμματοσ. Οι υπόλοιπεσ δφο αναφζρονται ςτισ ςουίτεσ εργαλείων που κα χρθςιμοποιθκοφν από τουσ φοιτθτζσ κατά τθ διάρκεια τόςο των εργαςτθριακϊν αςκιςεων όςο και τθσ προετοιμαςίασ τθσ εργαςίασ εξαμινου (project). Η δεφτερθ ενότθτα αφορά ςτο εργαλείο προςομοίωςθσ ModelSim τθσ Mentor Graphics. Το εργαλείο αυτό χρθςιμοποιείται για ςυντακτικι ανάλυςθ και προςομοίωςθ ςχεδιαςμϊν που ζχουν περιγραφεί ςε γλϊςςεσ περιγραφισ υλικοφ, όπωσ θ VHDL, θ Verilog, ι θ SystemC. Στο μάκθμα αυτό θ γλϊςςα που κα διδαχκεί και κα χρθςιμοποιθκεί ςτα εργαςτιρια είναι θ VHDL. Το ModelSim δίνει τθ δυνατότθτα τόςο για λογικι προςομοίωςθ (functional simulation) όςο και για προςομοίωςθ όπου λαμβάνονται υπόψθ οι κακυςτεριςεισ των κυκλωμάτων του ςχεδιαςμοφ (post place-and-route simulation). Για τισ ανάγκεσ του μακιματοσ, το ModelSim κα χρθςιμοποιθκεί μόνο για το πρϊτο είδοσ προςομοίωςθσ. Η τρίτθ ενότθτα αφορά ςτο εργαλείο LeonardoSpectrum τθσ Mentor Graphics. Το εργαλείο αυτό χρθςιμοποιοφνται για ςφνκεςθ (synthesis) και απεικόνιςθ (place-and-route & mapping) ςχεδιαςμϊν υλικοφ ςε πλατφόρμεσ αναδιαταςςόμενθσ λογικισ (FPGA) διαφόρων εταιρειϊν αλλά και ASIC. Χρθςιμοποιικθκε κατά κόρον ςτο παρελκόν για τισ παραπάνω ενζργειεσ. Πμωσ, ςτισ μζρεσ μασ δεν χρθςιμοποιείται από πολλοφσ ςχεδιαςτζσ, κυρίωσ λόγω τθσ ανάπτυξθσ πλθρζςτερων εργαλείων από τισ εταιρείεσ καταςκευισ FPGAs, όπωσ θ Xilinx και θ ALTERA. Η τζταρτθ ενότθτα αφορά ςτθ ςουίτα ISE τθσ Xilinx. Τα εργαλεία τθσ ςουίτασ αυτισ χρθςιμοποιοφνται για ςφνκεςθ (synthesis) και απεικόνιςθ (place-and-route & mapping) ςχεδιαςμϊν υλικοφ ςε πλατφόρμεσ αναδιαταςςόμενθσ λογικισ (FPGA) τθσ ίδιασ εταιρείασ. Επίςθσ, χρθςιμοποιείται για τον προγραμματιςμό (configuration & downloading) πλατφορμϊν FPGA με βάςθ τουσ παραπάνω ςχεδιαςμοφσ. Στο Ρρϊτο Μζροσ αναλφεται θ διαδικαςία τθσ ςφνκεςθσ. Στο τζλοσ του ςυγγράμματοσ, μετά τθν τρίτθ ενότθτα, παρατίκεται θ βιβλιογραφία κακϊσ και χριςιμοι ςφνδεςμοι για το εργαςτιριο (γενικά), τθ γλϊςςα VHDL και τα εργαλεία που παρουςιάςτθκαν. Για τυχόν παρατθριςεισ/επιςθμάνςεισ/διορκϊςεισ οι αναγνϊςτεσ ενκαρρφνονται να ςτείλουν e-mail ςτισ παρακάτω διευκφνςεισ: gathanas@ece.upatras.gr (Γιϊργοσ Ακαναςίου) theodor@ece.upatras.gr (Γιϊργοσ Θεοδωρίδθσ)

2. Mentor Graphics: ModelSim 2.1. Γενικά - Εγκατάςταςη Το εργαλείο προςομοίωςθσ ModelSim τθσ Mentor Graphics χρθςιμοποιείται για ςυντακτικι ανάλυςθ και προςομοίωςθ των ςχεδιαςμϊν που κα καταςκευαςτοφν κατά διάρκεια του εργαςτθρίου με τθ γλϊςςα περιγραφισ υλικοφ VHDL. Η εγκατάςταςθ και θ χριςθ του δεν εγκυμονεί ςθμαντικζσ δυςκολίεσ. Για τθν εγκατάςταςθ, κα πρζπει να ακολουκθκοφν οι οδθγίεσ που βρίςκονται εντόσ του φακζλου του εργαλείου, ςτο αντίςτοιχο αρχείο txt που ςυνοδεφει τα εκτελζςιμα αρχεία εγκατάςταςθσ. Πλα τα παραπάνω κα ςασ δοκοφν από το εργαςτιριο αλλά είναι και διακζςιμα ςτον αντίςτοιχο φάκελο που βρίςκεται ςτθν Επιφάνεια Εργαςίασ των υπολογιςτϊν του εργαςτθρίου. 2.2. Συγγραφή κώδικα VHDL και Δημιουργία Αρχείου Project Η γλϊςςα περιγραφισ υλικοφ VHDL είναι μια ευρζωσ διαδεδομζνθ γλϊςςα για περιγραφι ςχεδιαςμϊν ςε περιβάλλοντα ςχεδίαςθσ κυκλωμάτων και ςυςτθμάτων. Αν και το παρόν ςφγγραμμα γίνεται ιδιαίτερθ αναφορά ςτθ γλϊςςα αυτι, δεν κα λάβει χϊρα κεωρθτικι ανάλυςθ και παρουςίαςθ τθσ, κζματα που αποτελοφν αντικείμενο τθσ κεωρίασ του μακιματοσ. Η ςυγγραφι του κϊδικα VHDL για ζνα ςχεδιαςμό μπορεί να γίνει είτε απευκείασ πάνω ςτουσ editors των εργαλείων προςομοίωςθσ/ςφνκεςθσ είτε ςε διαφορετικό editor, ανεξάρτθτο από τα εργαλεία. Στθν πρϊτθ περίπτωςθ, υπάρχει το πλεονζκτθμα ότι (ςε ςφγχρονα εργαλεία) γίνεται μζχρι ζνα βακμό αυτόματθ (ςε πραγματικό χρόνο) ςυντακτικι ανάλυςθ τθν ϊρα τθσ ςυγγραφισ. Ζτςι μειϊνεται ο χρόνοσ αποςφαλμάτωςθσ ςτο τζλοσ. Πμωσ, τα εργαλεία αυτά απαιτοφν ςθμαντικι ποςότθτα μνιμθσ και χρόνου του επεξεργαςτι, με αποτζλεςμα το ςφςτθμα εργαςίασ του ςχεδιαςτι να ζχει λιγότερουσ διακζςιμουσ πόρουσ. Σε κάκε περίπτωςθ θ επιλογι είναι του εκάςτοτε ςχεδιαςτι. Ζνα παράδειγμα ξεχωριςτοφ editor για VHDL (και όχι μόνο) είναι το Notepad++, το οποίο διατίκεται ελεφκερα ςτο διαδίκτυο. Η μορφι του κϊδικα VHDL ςτο εργαλείο αυτό φαίνεται ςτο Σχιμα 1. Γενικά, κατά τθ δθμιουργία αρχείων VHDL (.vhd) καλό κα είναι να ακολουκοφνται κάποιοι βαςικοί κανόνεσ: Να υπάρχουν «πλοφςια» ςχόλια, τα οποία να είναι ζγκυρα και «ενθμερωμζνα» Να υπάρχει μια ςφντομθ περιγραφι του ςχεδιαςμοφ, μαηί με όνομα ςχεδιαςτι και θμερομθνία δθμιουργίασ (ςε μορφι ςχολίων) ςτθν αρχι του κϊδικα. Με αυτόν τον τρόπο γίνεται ευκολότερθ θ επαναχρθςιμοποίθςθ του αρχείου αυτοφ. Να λαμβάνεται ςοβαρά υπόψθ θ όψθ του κϊδικα. Δθλαδι, ςτοίχιςθ, κενά, κενζσ γραμμζσ, κτλ. Ρολφ ςθμαντικό ςε μεγάλουσ κϊδικεσ πολφπλοκων ςχεδιαςμϊν. Σε περίπτωςθ που δεν χρθςιμοποιείται ανεξάρτθτοσ editor, καλό είναι να ακολουκοφνται (όςο είναι δυνατόν) οι «ςυμβουλζσ» που δίνουν ςε πραγματικό χρόνο πολλά εργαλεία προςομοίωςθσ/ςφνκεςθσ.

χήμα 1. Κϊδικασ VHDL ςτον editor Notepad++ 2.3. Δημιουργία Project και Ειςαγωγή Κώδικα Σχεδιαςμού Το εργαλείο εκκινεί είτε με διπλό κλικ ςτο εικονίδιο που βρίςκεται ςτθν επιφάνεια εργαςίασ είτε από το μενοφ προγραμμάτων του υπολογιςτι. Μετά τθν επιτυχθμζνθ εκκίνθςθ του εργαλείου, ςτθν οκόνθ εμφανίηεται το γραφικό περιβάλλον και τα υποπαράκυρα που φαίνονται ςτο Σχιμα 2. Ξεκινϊντασ, κα πρζπει να δθμιουργθκεί ζνα νζο Project, όπωσ φαίνεται και ςτο Σχιμα 2.. Ο αντίςτοιχοσ φάκελοσ του project δθμιουργείται αυτόματα ςτθν τοποκεςία που επιλζγεται ςτο πεδίο Project Location. Το project ονοματίηεται ειςάγοντασ το όνομα ςτο αντίςτοιχο πεδίο (Σχιμα 3). Στθ ςυνζχεια, κα πρζπει να γίνει ειςαγωγι του (των) επικυμθτοφ ςχεδιαςμοφ ςτο Project. Αυτό γίνεται είτε από το παράκυρο που αναδφεται αυτόματα αμζςωσ μετά (Σχιμα 4), είτε πατϊντασ δεξί κλικ εντόσ του πεδίου Workspace. Μετά τθν ειςαγωγι του κϊδικα, το αρχείο παρουςιάηεται ςτο Workspace (Σχιμα 5).

χήμα 2. Ρεριβάλλον ModelSim και Δθμιουργία Project χήμα 3. Πνομα και Αποκικευςθ Project

χήμα 3. Αναδυόμενο παράκυρο για ειςαγωγι κϊδικα χήμα 4. Κϊδικασ εντόσ Workspace (π.χ. εδϊ ο κϊδικασ περιγράφει μια πφλθ AND 1-bit) 2.4. Συντακτική Ανάλυςη Κώδικα (Compile) και Αποςφαλμάτωςη Ραρατθρϊντασ το Σχιμα 4, δίπλα από τον κϊδικα του ςχεδιαςμοφ που μόλισ ειςιχκθ, υπάρχει ζνα ερωτθματικό ςτο πεδίο Status. Αυτό το ερωτθματικό δθλϊνει ότι ο κϊδικασ δεν ζχει αναλυκεί ςυντακτικά (compilation). Για να επιτευχκεί ςυντακτικι ανάλυςθ, χρθςιμοποιείται θ αντίςτοιχθ εντολι του πεδίου Compile ςτθ γραμμι εντολϊν ι

εναλλακτικά το πρϊτο κουμπί τθσ ομάδοσ των τεςςάρων που βρίςκεται δεξιότερα, κάτω από τθ γραμμι εντολϊν (Σχιμα 5α). Ζςτω ότι κϊδικασ που ειςιχκθ ςτο Project είναι αυτόσ που παρουςιάηεται ςτο Σχιμα 5β. χήμα 5. (α) Κουμπί Συντακτικισ Ανάλυςθσ (Compile), (β) Ενδεικτικόσ κϊδικασ πφλθσ AND 1-bit εντόσ του Project Ρατϊντασ το κουμπί ςυντακτικισ ανάλυςθσ κα προκφψει το μινυμα λάκουσ που φαίνεται ςτο Σχιμα 6α, εντόσ του πεδίου Transcript. Εκεί κα φαίνεται ο ακριβισ αρικμόσ λακϊν του κϊδικα (ςτθν παροφςα περίπτωςθ 1). Με διπλό κλικ πάνω ςτο λάκοσ κα αναδυκεί ζνα νζο παράκυρο ςτο οποίο κα παρατίκενται επιπλζον πλθροφορίεσ για τα (το) ςυντακτικά(ο) λάκθ(οσ), οι οποίεσ κα βοθκιςουν ςτθν αποςφαλμάτωςθ. Μετά τθν αποςφαλμάτωςθ του κϊδικα (ςτθν παροφςα περίπτωςθ?), κα πρζπει γίνει Save ο νζοσ (ςωςτόσ) κϊδικασ και να επαναλθφκεί θ διαδικαςία τθσ ςυντακτικισ ανάλυςθσ. Τότε, ςτο πεδίο Transcript επιβεβαιϊνεται θ ορκότθτα του κϊδικα και αναφζρεται ότι θ ςυντακτικι ανάλυςθ ιταν επιτυχισ!

χήμα 6. (α) Μθ επιτυχισ ςυντακτικι ανάλυςθ και μινυμα λάκουσ, (β) Επιτυχισ ςυντακτικι ανάλυςθ 2.5. Λειτουργική Προςομοίωςη - Κυματομορφέσ Επόμενο ςτάδιο από τθν ςυντακτικι ανάλυςθ είναι θ προςομοίωςθ. Ππωσ προαναφζρκθκε και ςτθν Ειςαγωγι, για τισ ανάγκεσ του μακιματοσ δεν κα λάβει χϊρα προςομοίωςθ όπου να αξιοποιοφνται μοντζλα κακυςτζρθςθσ. Ζτςι, δεν γίνεται να ανιχνευκοφν τυχϊν ςφάλματα μετάβαςθσ ι ςφάλματα κακυςτζρθςθσ. Για να εκτελεςτεί προςομοίωςθ, χρθςιμοποιείται θ αντίςτοιχθ εντολι ςτο πεδίο Simulation τθσ γραμμισ εντολϊν ι εναλλακτικά το κουμπί Simulation ςτθ δίπλα από το κουμπί τθσ ςυντακτικισ ανάλυςθσ (Σχιμα 7α και 7β αντίςτοιχα). Κατόπιν κα πρζπει να επιλεγεί θ επικυμθτι αρχιτεκτονικι, εφόςον κάκε οντότθτα(entity) μπορεί να ζχει παραπάνω από μία

αρχιτεκτονικι που να τθν «περιγράφει» (όπωσ ζχει διδαχκεί ςτο μάκθμα), θ οποία κα προςομοιωκεί (Σχιμα 7γ). χήμα 7. (α) Ρροςομοίωςθ από τθν γραμμι εντολϊν, (β) Ρροςομοίωςθ από το κουμπί, (γ) Επιλογι αρχιτεκτονικισ προσ προςομοίωςθ Κατόπιν, εμφανίηεται το πεδίο Objects όπου περιλαμβάνονται όλα τα ςιματα (ειςόδου και εξόδου) του ςχεδιαςμοφ (Σχιμα 8α). Με δεξί κλικ και επιλογι όλων των ςθμάτων προσ το πεδίο Waveform ( All signals in region ), τα ςιματα κα εμφανίηονται ςτθν κυματομορφι. Σε περίπτωςθ που τα ςιματα είναι πάρα πολλά ι δεν είναι όλα απαραίτθτα, τότε επιλζγονται όςα χρειάηονται ( Selected Signals ), όπωσ φαίνεται ςτο Σχιμα 8β. Η κυματομορφι εμφανίηεται μζςω του View ςτθ γραμμι εντολϊν και κατόπιν Wave (Σχιμα 8γ). Στθν παροφςα περίπτωςθ θ κυματομορφι που προκφπτει παρουςιάηεται ςτο Σχιμα 9. Στθ ςυνζχεια, πρζπει να ειςαχκοφν τιμζσ ςτα ςιματα ειςόδου. Ενδεικτικά ςτο ζνα ςιμα δίνεται θ τιμι 1 ενϊ ςτο άλλο θ τιμι 0 (Σχιμα 10α). Στθν κυματομορφι οι τιμζσ εμφανίηονται δίπλα ςτα ςιματα (Σχιμα 10β). Στο ςθμείο αυτό χρθςιμοποιείται το κουμπί Run για εκτζλεςθ τθσ προςομοίωςθσ (Σχιμα 10γ). Ακόμθ, μποροφμε να πλθκτρολογιςουμε Run ςτο πεδίο Transcript, αφοφ πρϊτα ζχουμε ορίςει δίπλα το χρονικό διάςτθμα προςομοίωςθσ. Τα αποτελζςματα φαίνονται ςτο πεδίο Wave όπωσ παρουςιάηονται ςτο Σχιμα 10δ.

χήμα 8. (α) Ρεδίο Objects με τα ςιματα ειςόδου/εξόδου, (β) Επιλογι ςθμάτων για τθν κυματομορφι (γ) Εμφάνιςθ κυματομορφισ χήμα 9. Ραράκυρο Κυματομορφισ

χήμα 10. (α) Ειςαγωγι τιμϊν ςτα ςιματα, (β) Εμφάνιςθ τιμϊν ςτθν κυματομορφι, (γ) Κουμπί εκτζλεςθσ

Γενικά, κατά τθ προςομοίωςθ κωδίκων VHDL καλό κα είναι να ακολουκοφνται κάποιοι βαςικοί κανόνεσ: Εκτελοφμε προςομοίωςθ ςε κάκε υποκφκλωμα (component) του ςχεδιαςμοφ ξεχωριςτά και ζπειτα ςε όλο το ςφςτθμα. Ζτςι εξοικονομοφμε χρόνο κάνοντασ τθν αποςφαλμάτωςθ ευκολότερθ. Εκτελοφμε ςτοχευμζνθ προςομοίωςθ. Δεν ελζγχουμε όλεσ τισ πικανζσ καταςτάςεισ (είναι άπειρεσ), αλλά αυτζσ που είναι πικανότερο να αναδείξουν ζνα ςφάλμα ςτο ςχεδιαςμό (π.χ. υπερχείλιςθ ςε ζναν ακροιςτι ι άκροιςμα μθδενικϊν ςθμάτων κτλ). Καλό κα είναι να υπάρχει ζνα αρχικό μοντζλο του ςχεδιαςμοφ, υλοποιθμζνο ςε γλϊςςα προγραμματιςμοφ υψθλοφ επιπζδου ι μακθματικό περιβάλλον (C/C++ ι Matlab) ϊςτε να μπορεί να ελεγχκεί ο ςχεδιαςμόσ ολιςτικά και να υπάρχουν από πριν γνωςτζσ ζξοδοι για δοςμζνεσ ειςόδουσ. 2.6. Πρόςθετα: Αρχεία Εντολών Προςομοίωςησ (DO-files) και Αρχεία Ελέγχου Ορθήσ Λειτουργίασ (Test-benches) Η παραπάνω διαδικαςία, όπωσ φαίνεται, είναι αρκετά χρονοβόρα. Ειδικά δε όταν ο ςχεδιαςμόσ είναι μεγάλοσ και πολφπλοκοσ. Ζνασ τρόποσ να επιςπευτεί θ διαδικαςία είναι θ χριςθ αρχείων εντολϊν προςομοίωςθσ, τα λεγόμενα DO-files. Ζνα τζτοιο αρχείο εμπεριζχει όλεσ τισ παραπάνω ενζργειεσ ςε μορφι εντολϊν script. Η κατάλθξθ του αρχείου είναι.do. Οι εντολζσ αυτζσ είναι ίδιεσ με αυτζσ που προκφπτουν κατά τθν παραπάνω διαδικαςία ςτο πεδίο Transcript. Ζνα τζτοιο αρχείο παρουςιάηεται ςτο Σχιμα 11. Το αρχείο αυτό χρθςιμοποιείται μζςω τθσ εντολισ Execute Macro TCL Transcript ςτο πεδίο Tools TCL τθσ γραμμισ εντολϊν (Σχιμα 12). χήμα 11. Ραράδειγμα αρχείου DO

χήμα 12. Εκτζλεςθ αρχείου DO Γενικά, κατά τθ προςομοίωςθ με χριςθ DO-files καλό κα είναι να λαμβάνονται υπόψθ τα εξισ: Το # λειτουργεί ωσ ζναρξθ ςχολίου. Καλό κα είναι ςτο DO-file να γράφονται και χρονιςμοί αλλά και οι αναμενόμενεσ ζξοδοι ςε μορφι ςχολίου. Με τθν εντολι radix αλλάηει θ εμφάνιςθ των τιμϊν των ςθμάτων (δυαδικό, δεκαεξαδικό κτλ) Στθν εντολι RUN μπορεί να οριςκεί χρονικι διάρκεια (π.χ. 500ns). Ρζρα από τα DO-files υπάρχουν και τα Αρχεία Ελζγχου Ορκισ Λειτουργίασ (Testbences). Τα testbenches είναι αρχεία μθ-ςυνκζςιμου κϊδικα VHDL (κα εξθγθκεί ςτο κεφάλαιο τθσ ςφνκεςθσ) τα οποία ζχουν ελάχιςτεσ (ι και κακόλου) ειςόδουσ και εξόδουσ, εκτόσ ίςωσ από ςιματα ρολογιοφ ι reset. Τα αρχεία αυτά τοποκετοφνται ιεραρχικά ζνα επίπεδο πάνω από το ςχεδιαςμό και παράγουν εςωτερικά τα ςιματα ειςόδου και εξόδου για το ςχεδιαςμό που κα χρθςιμοποιθκοφν ςτθν προςομοίωςθ. Ζνα τζτοιο αρχείο φαίνεται ςτο Σχιμα 13. Για να χρθςιμοποιθκεί το αρχείο αυτό, εκτελείται όλθ θ παραπάνω διαδικαςία μόνο που ςτθ κζςθ του ςχεδιαςμοφ επιλζγεται κάκε φορά αυτό. Ππωσ γίνεται αντιλθπτό, τα αρχεία DO και Testbench δφνανται κάλλιςτα να ςυνδυαςτοφν.

χήμα 13. Αρχείο Testbench για τθν πφλθ AND 1-bit

3. Αναςκόπηςη Θεωρίασ για FPGAs Στο ςθμείο αυτό, καλό είναι να γίνει μία μικρι αναςκόπθςθ ςτο τι είναι ζνα FPGA. Το FPGA ι Field Programmable Gate Array ι Συςτοιχία Επιτόπια Ρρογραμματιηόμενων Ρυλϊν είναι τφποσ προγραμματιηόμενου ολοκλθρωμζνου κυκλϊματοσ γενικισ χριςθσ το οποίο διακζτει πλθκϊρα διαςυνδεδεμζνων Look-up Tables (LuTs) κακϊσ επίςθσ και ζναν πολφ μεγάλο αρικμό τυποποιθμζνων πυλϊν και άλλων ψθφιακϊν λειτουργιϊν όπωσ απαρικμθτζσ, καταχωρθτζσ μνιμθσ, γεννιτριεσ PLL κα. Σε οριςμζνα από αυτά ενςωματϊνονται και αναλογικζσ λειτουργίεσ. Κατά τον προγραμματιςμό του FPGA, ο οποίοσ γίνεται πάντοτε ενϊ αυτό είναι τοποκετθμζνο ςτο τυπωμζνο κφκλωμα, ενεργοποιοφνται οι επικυμθτζσ λειτουργίεσ και διαςυνδζονται μεταξφ τουσ ζτςι ϊςτε το FPGA να ςυμπεριφζρεται ωσ ολοκλθρωμζνο κφκλωμα με ςυγκεκριμζνθ λειτουργία. Κάποια ιδιαίτερα χαρακτθριςτικά του FPGA παρατίκενται παρακάτω: Το FPGA χάνει τον προγραμματιςμό του κάκε φορά που διακόπτεται θ τάςθ τροφοδοςίασ του. Επομζνωσ απαιτεί εξωτερικό μικροεπεξεργαςτι ι μνιμθ με μόνιμθ ςυγκράτθςθ δεδομζνων (non-volatile memory) από τα οποία κα προγραμματίηεται, κάκε φορά που επανζρχεται θ τάςθ τροφοδοςίασ. Δεν υπάρχει όριο ςτο πόςεσ φορζσ μπορεί να επαναπρογραμματιςτεί. Η κατανάλωςθ ιςχφοσ είναι ςθμαντικά αυξθμζνθ, ςε ςχζςθ με τα ASIC. Κατάλλθλο εκεί που οι παράμετροι λειτουργίασ πρζπει να αλλάηουν ςυχνά. Είναι ςθμαντικά φτθνότερο ςε ςχζςθ με τα αντίςτοιχα ASICs ενϊ ταυτόχρονα δίνει τθ δυνατότθτα διόρκωςθσ του ςχεδιαςμοφ ςε περίπτωςθ ςφάλματοσ (ςτθν περίπτωςθ του ASIC γίνεται απόρριψθ). Βαςικι δομικι μονάδα ενόσ FPGA είναι το Ραραμετροποιιςιμο Λογικό Μπλόκ ι Configurable Logic Block (CLB). Ζνα FPGA διακζτει χιλιάδεσ CLBs τα οποία ςυνδζονται μεταξφ τουσ μζςω ςτακερϊν καλωδιϊςεων (wires). Επίςθσ, υπάρχουν και διακλαδωτζσ καλωδίων (switch matrices) οι οποίοι δίνουν επιπλζον δυνατότθτεσ ςφνδεςθσ. Ακόμθ, υπάρχουν μπλοκ τα οποία είναι υπεφκυνα μόνο για τθν είςοδο/ζξοδο του FPGA (I/O Blocks). Σχθματικά, θ διάταξθ ενόσ FPGA φαίνεται ςτο Σχιμα 14. Κατά τον προγραμματιςμό ενόσ FPGA, το κάκε CLB (και κατ επζκταςθ οι εςωτερικζσ λογικζσ μονάδεσ του) «προγραμματίηονται» να εκτελοφν ςυγκεκριμζνεσ λειτουργίεσ με βάςθ τον ςχεδιαςμό τον οποίο ςτοχεφει ο ςχεδιαςτισ. Επίςθσ, γίνονται και οι κατάλλθλεσ ςυνδζςεισ (ι αποςυνδζςεισ) των καλωδίων ανάμεςα ςτα CLBs ϊςτε τα δεδομζνα να ακολουκοφν τθν επικυμθτι διαδρομι. Ζτςι, επιτυγχάνεται από το FPGA θ ςυμπεριφορά (λειτουργία) του επικυμθτοφ ςχεδιαςμοφ.

χήμα 14. Δομι ενόσ FPGA 4. Mentor Graphics: LeonardoSpectrum 4.1. Γενικά - Εγκατάςταςη Το LeonardoSpectrum τθσ Mentor Graphics είναι ζνα εργαλείο ςφνκεςθσ τόςο για FPGA όςο και για ASIC πλατφόρμεσ. Χρθςιμοποιικθκε κατά κόρον ςτο παρελκόν τόςο από Ρανεπιςτιμια και Ερευνθτικά Κζντρα όςο και από εταιρείεσ. Πμωσ, ςτισ μζρεσ μασ δεν χρθςιμοποιείται από πολλοφσ ςχεδιαςτζσ, κυρίωσ λόγω τθσ ανάπτυξθσ πλθρζςτερων εργαλείων από τισ εταιρείεσ καταςκευισ FPGAs, όπωσ θ Xilinx και θ ALTERA. Για τισ ανάγκεσ του εργαςτθρίου του μακιματοσ κα χρθςιμοποιιςουμε κυρίωσ τα εργαλεία τθσ Xilinx (ΙSE κτλ - κα αναλυκεί ςτο επόμενο κεφάλαιο). Πμωσ, για λόγουσ πλθρότθτασ κα αναφζρουμε ςυνοπτικά κάποια βαςικά βιματα για εκτζλεςθ ςφνκεςθσ με το παρόν εργαλείο. Στο εργαςτιριο κα χρθςιμοποιθκεί ΜΟΝΟ ςε εξαιρετικζσ περιπτϊςεισ κωλφματοσ με τα εργαλεία τθσ ISE (αποτυχία επιτυχοφσ εγκατάςταςθσ, προβλιματα ςυμβατότθτασ με το λειτουργικό κτλ). Για τθν εγκατάςταςθ, κα πρζπει να ακολουκθκοφν οι οδθγίεσ που βρίςκονται εντόσ του φακζλου του εργαλείου, ςτο αντίςτοιχο αρχείο txt που ςυνοδεφει τα εκτελζςιμα αρχεία εγκατάςταςθσ. Πλα τα παραπάνω κα ςασ δοκοφν από το εργαςτιριο αλλά είναι και διακζςιμα ςτον αντίςτοιχο φάκελο που βρίςκεται ςτθν Επιφάνεια Εργαςίασ των υπολογιςτϊν του εργαςτθρίου. 4.2. Εκκίνηςη του Εργαλείου Κατά τθν εκκίνθςθ του εργαλείου, αναδφεται το παράκυρο που φαίνεται ςτο Σχιμα 15.

χήμα 15. Αρχικό Ραράκυρο LeonardoSpectrum 4.3. Φόρτωςη Σχεδιαςμού - Επιλογή Τεχνολογίασ και Χαρακτηριςτικών Για να γίνει ειςαγωγι ενόσ ςχεδιαςμοφ προσ ςφνκεςθ, δεν απαιτείται θ δθμιουργία Project. Με τθ βοικεια των κουμπιϊν επιλογισ που φαίνονται ςτο Σχιμα 16 ειςάγεται το αρχείο VHDL του ςχεδιαςμοφ αλλά ορίηεται και ο φάκελοσ όπου τα αρχεία που παράγονται κατά τθ λειτουργία τθσ ςφνκεςθσ κα αποκθκευκοφν. Στθ ςυνζχεια, από το πεδίο Quick Setup επιλζγεται θ επικυμθτι τεχνολογία FPGA, θ ςυςκευι κακϊσ και το Speed Grade για τθ ςφνκεςθ.

χήμα 16. Ειςαγωγι Σχεδιαςμοφ και οριςμόσ Working Directory χήμα 17. Επιλογι τεχνολογίασ FPGA

4.4. Σύνθεςη Για να εκτελεςτεί θ ςφνκεςθ, χρθςιμοποιείται το κουμπί Run Flow που βρίςκεται χαμθλότερα (Σχιμα 18). Αν ο κϊδικασ ζχει ςφάλματα, τότε ςτο Information Window γίνεται αναφορά ςτο ςφάλμα. Αν όχι, τότε αναφζρεται ότι θ ςφνκεςθ ιταν επιτυχισ (Σχιμα 19α και β). χήμα 18. Κουμπί ςφνκεςθσ χήμα 19. Information Window Τα αποτελζςματα τθσ ςφνκεςθσ δίνονται ςτο Summary File (Σχιμα 20α) το οποίο προκφπτει πατϊντασ το αντίςτοιχο κουμπί (Σχιμα 20β). Σθμαντικζσ παράμετροι κεωροφνται ο αρικμόσ των I/O που χρθςιμοποιικθκαν, ο αρικμόσ των CLBs (λογικά blocks) για τθν επιφάνεια και θ ςυχνότθτα λειτουργίασ. Το κρίςιμο μονοπάτι του ςχεδιαςμοφ δίνεται πατϊντασ το αντίςτοιχο κουμπί ςτθν ομάδα λειτουργιϊν (Σχιμα 20γ και δ).

χήμα 20. (α) Αναφορά Σφνκεςθσ, (β) Κουμπί αναφοράσ ςφνκεςθσ, (γ) Κουμπί εμφάνιςθσ κρίςιμου μονοπατιοφ, (δ) Ενδεικτικι μορφι κρίςιμου μονοπατιοφ από το εργαλείο 4.5. Σχηματικά Διαγράμματα και Επιπλέον Επιλογέσ Το LeonardoSpectrum δίνει τθ δυνατότθτα ςτο ςχεδιαςτι να παράξει τα ςχθματικά διαγράμματα του ςχεδιαςμοφ που ςυνζκεςε. Δίνει τθ δυνατότθτα παραγωγισ δφο ςχθματικϊν, του RTL Schematic και του Technology Schematic. Το πρϊτο αφορά το RTL μπλοκ διάγραμμα του ςχεδιαςμοφ, όπωσ διαμορφϊνεται από τθν περιγραφι του ςχεδιαςτι ςτον κϊδικα VHDL. Το κουμπί για εμφάνιςθ του ςχθματικοφ αυτοφ φαίνεται ςτο Σχιμα 21α ενϊ ζνα ενδεικτικό ςχθματικό τζτοιου τφπου παρουςιάηεται ςτο Σχιμα 21β. Αντίςτοιχα, το Technology Schematic αφορά τθν απεικόνιςθ του ςχεδιαςμοφ πάνω ςτο FPGA. Με άλλα λόγια δείχνει το τμιμα του FPGA που αποτελεί τον ςχεδιαςμό ο οποίοσ ςυνετζκθ. Το κουμπί για εμφάνιςθ του ςχθματικοφ αυτοφ φαίνεται ςτο Σχιμα 21γ ενϊ ζνα ενδεικτικό ςχθματικό τζτοιου τφπου παρουςιάηεται ςτο Σχιμα 21δ. Μια ακόμθ δυνατότθτα του εργαλείου είναι κάποιεσ επιπλζον επιλογζσ και ρυκμίςεισ, όπωσ θ επιλογι για optimization τθσ ςφνκεςθσ ωσ προσ διάφορεσ παραμζτρουσ, όπωσ το clock frequency, το area κλπ. (Σχιμα 22).

χήμα 21. (α) Κουμπί εμφάνιςθσ RTL Schematic, (β) Ενδεικτικι μορφι RTL Schematic, (γ) Κουμπί εμφάνιςθσ Technology Schematic, (δ) Ενδεικτικι μορφι Technology Schematic χήμα 22. Κουμπί επιπλζον επιλογϊν εργαλείου

5. Xilinx: ISE Design Suite 5.1. Γενικά - Ειςαγωγικά για Xilinx FPGAs Ππωσ προαναφζρκθκε, το ISE είναι μια ςουίτα εργαλείων τθσ Xilinx τα οποία αλλθλεπιδροφν και δίνουν τθ δυνατότθτα ςτο ςχεδιαςτι να εκτελζςει όλθ τθ ροι ςχεδίαςθσ, από τθν απλι ςυγγραφι και ςφνκεςθ ενόσ κϊδικα VHDL ζωσ τον «προγραμματιςμό» μίασ πλακζτασ FPGA. Πλα τα επιμζρουσ εργαλεία μποροφν να εκκινιςουν μζςω ενόσ κεντρικοφ εργαλείου ελζγχου, του Project Navigator, το οποίο περιλαμβάνεται εντόσ του ISE. Η ζκδοςθ του ISE που κα επιλεγεί παίηει ιδιαίτερο ρόλο κακϊσ όλο και νεότερεσ εκδόςεισ δίνονται από τθ Xilinx οι οποίεσ είτε προςφζρουν νζεσ δυνατότθτεσ, είτε βελτιςτοποιοφν τισ υπάρχουςεσ, είτε και τα δφο. Επίςθσ, με τθν πάροδο των ετϊν, παράγονται νζεσ οικογζνειεσ FPGAs (ι νεότερεσ εκδόςεισ υφιςτάμενων), τισ οποίεσ οι παλαιότερεσ εκδόςεισ του ISE δεν τισ υποςτθρίηουν. Συνεπϊσ, κα πρζπει πάντα να γίνεται ζλεγχοσ τθσ ζκδοςθσ του ISE που χρθςιμοποιείται αλλά και το αν ζχει δθμοςιευκεί κάποια ανανζωςθ (update) ι εντελϊσ καινοφρια ζκδοςθ. Οι κφριεσ ςειρζσ FPGAs τθσ Xilinx, οι οποίεσ χρθςιμοποιοφνται από τθν πλειοψθφία των ςχεδιαςτϊν ςιμερα, είναι δφο: θ ςειρά Spartan και θ ςειρά Virtex. Η κάκε ςειρά περιλαμβάνει αρκετζσ οικογζνειεσ FPGAs (Spartan-3, Spartan-6 ι Virtex-4, Virtex-5, κτλ), θ κάκε μία εκ των οποίων περιλαμβάνει διάφορεσ ςυςκευζσ (devices) FPGA με ςυγκεκριμζνα χαρακτθριςτικά. Ππωσ γίνεται αντιλθπτό, υπάρχει πλθκϊρα επιλογϊν για τον εκάςτοτε ςχεδιαςτι, ο οποίοσ μπορεί να αποτιμιςει τισ ανάγκεσ του και να επιλζξει τθ ςειρά, τθν οικογζνεια, τθ ςυςκευι και τζλοσ τθν πλακζτα (board) αυτι κακαυτι που του ταιριάηει περιςςότερο. Σθμαντικόσ παράγοντασ επιλογισ είναι και το κόςτοσ, κακϊσ θ ςειρά Virtex είναι ακριβότερθ από τθν ςειρά Spartan. Πμωσ προςφζρει επιπλζον δυνατότθτεσ, γρθγορότερα FPGAs (ςτθν πλειοψθφία τουσ), και μεγαλφτερθ ευελιξία όςον αφορά τισ επιλογζσ ςυςκευισ. Στο παραπάνω ςχιμα, το κάκε CLB φαίνεται ωσ ζνα ςκοφρο μπλε κουτάκι ανάμεςα ςε καλϊδια. Στθν περίπτωςθ των FPGAs τθσ Xilinx κάκε CLB χωρίηεται ςε μικρότερεσ δομζσ, τα λεγόμενα slices. Ανάλογα με τθν οικογζνεια FPGA, κάκε CLB μπορεί να περιζχει 2, 4 ι και 6 slices. Με τθ ςειρά τουσ, τα slices εμπεριζχουν Look-up Tables (LuTs) και ενδεχομζνωσ τυποποιθμζνα τμιματα λογικισ που εκτελοφν βαςικζσ πράξεισ (όπωσ για παράδειγμα μικροφσ πολυπλζκτεσ, πφλεσ, λογικι υπολογιςμοφ carry πρόςκεςθσ κτλ). Ανάλογα με τθν οικογζνεια FPGA τα LuTs μπορεί να είναι (4 ειςόδων/1 εξόδου) ι (6 ειςόδων / 2 εξόδων), ενϊ διαφοροποιοφνται και τα ενςωματωμζνα τυποποιθμζνα λογικά τμιματα (περιςςότερεσ πφλεσ ι λογικι για DSP εφαρμογζσ κτλ). Για παράδειγμα, ςτθν περίπτωςθ τθσ οικογζνειασ Virtex-5 (Σχιμα 23), κάκε CLB αποτελείται από 2 slices, εκ των οποίων το κάκε ζνα εμπεριζχει 4 LuTs (6 ειςόδων / 2 εξόδων), πολυπλζκτεσ 2ςε1, λογικι υπολογιςμοφ carry άκροιςθσ, πφλεσ XOR και καταχωρθτζσ (D flip-flops).

χήμα 23. Εςωτερικι δομι CLB ςτθν περίπτωςθ του Virtex-5 5.2. Απόκτηςη και Εγκατάςταςη ISE Η ςουίτα ISE είναι διακζςιμθ ςτθν επίςθμθ ιςτοςελίδα τθσ Xilinx (http://www.xilinx.com/), όπου μπορεί κάκε φοιτθτισ, αφοφ εγγραφεί (δωρεάν) δθλϊνοντασ τθν φοιτθτικι του ιδιότθτα να «κατεβάςει» τθν ζκδοςθ που είναι δωρεάν (ζκδοςθ WebPACK). Αναλυτικά το path για τθν ζκδοςθ αυτι είναι: Downloads Design Tools Vivado and ISE Design Suites, όπου είναι διακζςιμεσ εκδόςεισ τόςο για Windows όςο και για Linux OS (Σχιμα 24). Ακόμθ υπάρχει πλοφςιο υλικό (Documentation) για βοικεια και επεξιγθςθ των λειτουργιϊν και των δυνατοτιτων του ISE. Η εγκατάςταςθ γίνεται εφκολα μζςω ενόσ αυτοματοποιθμζνου οδθγοφ (Wizard) χωρίσ προβλιματα. Είναι δοκιμαςμζνθ ςε Windows XP/Vista/7 κακϊσ και ςε Linux Ubuntu. Για περιςςότερεσ πλθροφορίεσ οι φοιτθτζσ ενκαρρφνονται να επικοινωνιςουν με τουσ βοθκοφσ του μακιματοσ ςτο εργαςτιριο.

χήμα 24. ISE WebPACK ςτθ ςελίδα τθσ Xilinx 5.3. Εκκίνηςη του ISE - Δημιουργία Project Ο Project Navigator του ISE εκκινεί είτε από τθν λίςτα προγραμμάτων του υπολογιςτι είτε με διπλό κλικ τθσ ςυντόμευςθσ ςτθν επιφάνεια εργαςίασ. Η εκκίνθςθ ενδεχομζνωσ να κακυςτεριςει μερικά δευτερόλεπτα, ανάλογα με τισ δυνατότθτεσ του υπολογιςτι. Ππωσ και ςτθν περίπτωςθ του ModelSim, και εδϊ αρχικά πρζπει να δθμιουργθκεί νζο Project. Αυτό γίνεται μζςω του πεδίου File New Project τθσ γραμμισ εργαλείων (Σχιμα 25). Δίνεται όνομα και τοποκεςία ςτον υπολογιςτι κακϊσ και ο τφποσ γλϊςςασ περιγραφισ υλικοφ που κα χρθςιμοποιθκεί ςτο ανϊτερο αρχείο τθσ ιεραρχίασ (Σχιμα 26). Κατόπιν, επιλζγεται θ οικογζνεια (Family), θ ςυςκευι (Device) και τα χαρακτθριςτικά του FPGA το οποίο κα χρθςιμοποιθκεί. Τα χαρακτθριςτικά (όπωσ για παράδειγμα ο αρικμόσ I/O blocks αναφζρονται ωσ Package). Στθν παροφςα περίπτωςθ, ζχει επιλεγεί θ οικογζνεια Spartan 3E, θ ςυςκευι XC3S500E και το Package FT256 (Σχιμα 27). Σθμαντικό ρόλο παίηει και το πεδίο Speed που αφορά τθν ταχφτθτα που μποροφν να επιτφχουν οι εςωτερικζσ ςυνδζςεισ του FPGA. Πςο μικρότερο Speed rate τόςο μεγαλφτερθ ταχφτθτα. Πςο μεγαλφτερθ ταχφτθτα τόςο καλφτερεσ επιδόςεισ κα ζχει ο τελικόσ ςχεδιαςμόσ. Εδϊ ζχει επιλεγεί το Speed Rate -4. Στο τζλοσ τθσ διαδικαςίασ δθμιουργίασ, εμφανίηεται περιλθπτικά θ περιγραφι του project που ζχει δθμιουργθκεί ςυμπεριλαμβανομζνων των επιλογϊν για FPGA (Σχιμα 28). Σε αυτό το ςθμείο μπορεί να γίνει θ ειςαγωγι του ςχεδιαςμοφ (ων) ςτο Project με μορφι θ οποία ζχει επιλεγεί νωρίτερα (π.χ. VHDL αρχείο).

χήμα 25. Δθμιουργία νζου Project ςτο ISE χήμα 26. Ονοματοδοςία και Τοποκεςία νζου Project ςτο ISE

χήμα 27. Επιλογι οικογζνειασ, ςυςκευισ και χαρακτθριςτικϊν για το FPGA χήμα 28. Συνοπτικι περιγραφι project πριν τθν ειςαγωγι του ςχεδιαςμοφ

5.4. Ειςαγωγή Σχεδιαςμού ςτο Project Στο τρζχον παράκυρο του Project Navigator, αριςτερά τθν καρτζλα Hierarchy (Σχιμα 29) παρουςιάηεται θ οικογζνεια (sp3), θ ςυςκευι, το package, και το speed grade που ζχουν επιλεγεί (xc3s500e-4ft256). Η ειςαγωγι του ςχεδιαςμοφ γίνεται πατϊντασ δεξί κλικ και Add-Source όπωσ φαίνεται ςτο προαναφερκζν ςχιμα. χήμα 29. Ειςαγωγι Σχεδιαςμοφ ςτο Project: Βιμα 1 ο Κατόπιν, το εργαλείο ηθτά τθν επιβεβαίωςθ τθσ ειςαγωγισ του ςχεδιαςμοφ όπωσ επίςθσ και τθν αντιςτοίχθςθ του με τθν ορκι βιβλιοκικθ. Για τισ ανάγκεσ του εργαςτθρίου όλα τα παραπάνω παραμζνουν ωσ ζχουν (Σχιμα 30). Σε περίπτωςθ λάκουσ ςτο αρχείο, ι μθ ορκισ γλϊςςασ περιγραφισ του ςχεδιαςμοφ, ι λάκοσ τφποσ αρχείου το εργαλείο δεν κα ειςάγει το ςχεδιαςμό και κα προκφψει μινυμα λάκουσ. Αμζςωσ μετά τθν επιτυχι ειςαγωγι του ςχεδιαςμοφ, το παράκυρο του Project Navigator ζχει τθ μορφι που παρουςιάηεται ςτο Σχιμα 31. Εκεί φαίνονται 4 κφρια υπο-παράκυρα (Bars), τα: Source Bar, Process Bar, Design Summary Bar και Transcript Bar. Στο Source Bar παρουςιάηεται ο ςχεδιαςμόσ(οι) που μόλισ ειςιχκθςαν ςτο Project. Το Process Bar εμπεριζχει όλεσ τισ δυνατζσ λειτουργίεσ για τον τρζχων ςχεδιαςμό (π.χ. ςφνκεςθ,

υλοποίθςθ, απεικόνιςθ ςτο FPGA κτλ) θ οποίεσ επιλζγονται είτε με διπλό κλικ είτε με δεξί κλικ και RUN. Για όλεσ αυτζσ τισ λειτουργίεσ, θ ςφνδεςθ με τα αντίςτοιχα εργαλεία τθσ ςουίτασ γίνεται αυτόματα κατά τθν επιλογι τθσ λειτουργίασ. To Design Summary Bar αποτυπϊνει τα αποτελζςματα των παραπάνω λειτουργιϊν (κα αναλυκοφν ςτα αντίςτοιχα υποκεφάλαια). Τζλοσ, το Transcript Bar ζχει όμοιεσ λειτουργίεσ με το αντίςτοιχο πεδίο του ModelSim. χήμα 30. Ειςαγωγι Σχεδιαςμοφ ςτο Project: Βιμα 2 ο χήμα 31. Ραράκυρο Project Navigator αμζςωσ μετά τθν ειςαγωγι του ςχεδιαςμοφ

5.5. Σύνθεςη Σχεδιαςμού Η ςφνκεςθ του ςχεδιαςμοφ είναι το πρϊτο βιμα μετά τθν ειςαγωγι και γίνεται μζςω τθσ αντίςτοιχθσ εντολισ ςτο Process Bar (Σχιμα 32). Αξίηει να ςθμειωκεί πωσ πριν τθ ςφνκεςθ γίνεται (αυτόματα κατά τθν επιλογι τθσ) ςυντακτικόσ ζλεγχοσ του κϊδικα περιγραφισ του ςχεδιαςμοφ (Check Syntax). Αν υπάρχει οποιοδιποτε πρόβλθμα θ διαδικαςία ςταματά και τα αντίςτοιχα μθνφματα λάκουσ (με περιγραφι τουσ για ευκολότερθ αποςφαλμάτωςθ) αναδφονται ςτο Transcript Bar. χήμα 32. Διαδικαςία Σφνκεςθσ Μετά το πζρασ τθσ διαδικαςίασ τθσ ςφνκεςθσ, τα αποτελζςματα παρουςιάηονται ςτθν καρτζλα Summary (Σχιμα 33) αλλά και ςτθν αναφορά τθσ ςφνκεςθσ (Synthesis Report). Στο ςθμείο αυτό κα πρζπει να τονιςτεί ότι ςτο Summary απεικονίηεται θ επιφάνεια του FPGA (area) που καταλαμβάνει ο ςχεδιαςμόσ. Γίνεται ανάλυςθ τθσ επιφάνειασ αυτισ ςε Slices, LuTs, Registers κτλ. Συνικωσ, θ ποςότθτα που καταδεικνφει τθν κατειλθμμζνθ επιφάνεια είναι ο αρικμόσ των Slices. Εκτόσ από το Summary, θ επιφάνεια αναλφεται και ςτθν Αναφορά Σφνκεςθσ ςτο πεδίο Final Report Device Utilization Summary (Σχιμα 34). χήμα 33. Ενδεικτικά αποτελζςματα ςφνκεςθσ ςτο Summary

Πςον αφορά ςτθν μζγιςτθ ςυχνότθτα που επιτυγχάνει ο ςχεδιαςμόσ, αυτι παρατίκεται ςτθν αναλυτικι αναφορά ςφνκεςθσ ςτο πεδίο Final Report Timing Report. Η ςυχνότθτα του ςχεδιαςμοφ ουςιαςτικά αποτελεί τον χρόνο του κρίςιμου μονοπατιοφ του ςχεδιαςμοφ. Ο τελευταίοσ, μαηί με τθν αντίςτοιχθ ςυχνότθτα που προκφπτει, αναφζρεται ωσ Minimum Period ςτθν Αναφορά και μετράται ςε ns. χήμα 34. Ενδεικτικό Synthesis Report Τζλοσ, το εργαλείο δίνει τθ δυνατότθτα ςτο ςχεδιαςτι να παράξει τα RTL και Technology Schematics (όπωσ και ςτθν περίπτωςθ του LeonardoSpectrum). Αυτό γίνεται από τισ αντίςτοιχεσ εντολζσ (View RTL Schematic και View Technology Schematic) ςτθν κατθγορία τθσ Σφνκεςθσ του Process Bar (Σχιμα 32). ΣΟ ΔΕΤΣΕΡΟ ΜΕΡΟ ΣΩΝ ΕΡΓΑΣΗΡΙΑΚΩΝ ΗΜΕΙΩΕΩΝ ΘΑ ΤΝΕΧΙΣΕΙ Η ΑΝΑΛΤΗ ΣΗ ΧΕΔΙΑΣΙΚΗ ΡΟΗ ΜΕΧΡΙ ΚΑΙ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΣΟΤ FPGA. 6. Βιβλιογραφία - Χρήςιμοι Σύνδεςμοι [1] CMOS VLSI Design, A Circuits and Systems Perspective Third Edition. Neil H.E. Weste, David Harris. Addison Wesley Publications [2] The Designer s Guide to VHDL. Peter J. Asbenden. University of Adelaide. Morgan Kaufman Publishers, Inc., California [3] Σχεδίαςθ Ψθφιακϊν Συςτθμάτων με τθ Γλϊςςα VHDL. S. Brown, Z. Vranesic. Εκδόςεισ Τηιόλα, Θεςςαλονίκθ

[4] Modelsim_Tutorial: http://pages.cs.wisc.edu/~markhill/cs552/fall2006/handouts/se_tutor.pdf [5] VHDL tutorial: http://www.seas.upenn.edu/~ese201/vhdl/vhdl_primer.html [6] MIT Course: http://ocw.mit.edu/ocwweb/electrical-engineering-and-computer- Science/6-111Spring2004/LectureNotes/index.htm [7] http://ocw.mit.edu/nr/rdonlyres/electrical-engineering-and-computer-science/6-111spring2004/0f02e0b0-fdc0-4099-9364-49e0aa7ce02e/0/l11_12_fpgas.pdf [8] www.xilinx.com [9] www.wikipedia.com [10] http://www.wikifpga.com/index.php?title=main_page