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



Σχετικά έγγραφα
ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι

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

8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

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

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

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

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

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

Lab 2 Manual - Introduction to Xilinx

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

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

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

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

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

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

7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού

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

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

VERILOG. Γενικά περί γλώσσας

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

Περιεχόµενα. Πρόλογος Εισαγωγή 21

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

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

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

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

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

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

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές...

Κυκλωμάτων» Χειμερινό εξάμηνο

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΩΝ ΚΑΙ ΚΩ ΙΚΕΣ 1

9. OIΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΠΟΛΛΑΠΛΩΝ ΕΙΣΟ ΩΝ

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

Σηµαντικές παρατηρήσεις σχετικά µε το backround:

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

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

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

Πίνακας Περιεχομένων ΚΕΦΑΛΑΙΟ I ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΩΝ

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

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

VHDL Introduction. Subtitle

ΑΣΚΗΣΗ 1η ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΣΧΕΔΙΑΣΗΣ QUARTUS II ΤΗΣ ALTERA

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

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

Καταστάσεων. Καταστάσεων

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Ακολουθιακή Λογική. Επιμέλεια Διαφανειών: Δ.

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Γλώσσα περιγραφής υλικού: Verilog

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

9 ο Μαθητικό Συνέδριο Πληροφορικής Κεντρικής Μακεδονίας. "My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Συνδυαστική Λογική. Επιμέλεια Διαφανειών: Δ.

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

ΦΟΙΤΗΤΡΙΑ : ΒΟΥΛΓΑΡΙ ΟΥ ΜΑΡΙΑ, ΑΕΜ: 2109 ΕΠΙΒΛΕΠΩΝ : ΚΑΛΟΜΟΙΡΟΣ ΙΩΑΝΝΗΣ, ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

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

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

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

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

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

Ψηφιακή Σχεδίαση Εργαστηριο 1. Τμήμα: Μηχανικών Πληροφορικής κ Τηλεπικοινωνιών Διδάσκων: Δρ. Σωτήριος Κοντογιαννης Μάθημα 2 ου εξαμήνου

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Προγραµµατισµός Συστηµάτων Πραγµατικού Χρόνου

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

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

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

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

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

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

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

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

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

Μετρητής Ριπής ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ. Αναφορά 9 ης. εργαστηριακής άσκησης: ΑΦΡΟΔΙΤΗ ΤΟΥΦΑ Α.Μ.:

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

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL

Βιβλιογραϕικές σηµειώσεις 59. Ασκήσεις 19

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΑΝΤΩΝΗΣ ΠΑΣΧΑΛΗΣ

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 11

Introduction to IP Cores

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

Βασικές Εξειδικεύσεις σε Αρχιτεκτονική και Δίκτυα Υπολογιστών

e-book ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΑΣΚΗΣΕΙΣ

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

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

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

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

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

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

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

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

SIMATIC MANAGER SIMATIC MANAGER

Ελίνα Μακρή

Επίπεδο Ψηφιακής Λογικής (The Digital Logic Level)

Ψηφιακοί Υπολογιστές

Transcript:

ΤΕΙ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΏΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΛΕΤΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΣΥΓΧΡΟΝΩΝ ΨΗΦΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ ΜΕ ΝΕΕΣ ΜΕΘΟ ΟΥΣ ΚΑΙ ΕΡΓΑΛΕΙΑ CAD ΓΑΛΑΝΟΠΟΥΛΟΥ ΕΙΡΗΝΗ Επιβλέπων: ρ. ΚΑΡΑΜΠΑΤΖΑΚΗΣ ΗΜΗΤΡΙΟΣ Καβάλα 2011

Η παρούσα εργασία αφιερώνεται µε απεριόριστη αγάπη στους γονείς µου. Ο συγγραφέας Γαλανοπούλου Ειρήνη ΕΥΧΑΡΙΣΤΙΕΣ Σ αυτό το σηµείο θα ήθελα να ευχαριστήσω ορισµένους ανθρώπους που συντέλεσαν στην διεξαγωγή της συγκεκριµένης εργασίας µου. Αρχικά θα ήθελα να ευχαριστήσω τον κύριο. Πογαρίδη για την εµπιστοσύνη που µου έδειξε ώστε να µου παραχωρήσει το συγκεκριµένο θέµα. Επιπλέον ευχαριστώ τον κύριο. Καραµπατζάκη για την βοήθεια και την καθοδήγηση εκτέλεσης της εργασίας µου παρά τις δυσκολίες που υπήρχαν λόγω της απόστασης. Τέλος θα ήθελα να ευχαριστήσω αλλά και να ζητήσω συγγνώµη από κάποιους ανθρώπους (συναδέλφους µου, φίλους, συγγενείς) που καθηµερινά τους ζάλιζα σχετικά µε το θέµα και το άγχος µου για την ολοκλήρωση της πτυχιακής µου εργασίας. Πίνακας περιεχοµένων Πίνακας περιεχοµένων... - 2 - Ευρετήριο Πινάκων... - 6 - Ευρετήριο Εικόνων... - 7 - - 2 -

Κεφάλαιο 1ο : ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Verilog... - 15-1.1 Γενικά... - 15-1.2 Οι τιµές στη Verilog... - 15-1.3 Προτεραιότητα σηµάτων:... - 15-1.4 Παραδείγµατα Αριθµών... - 16-1.5 Τύποι δεδοµένων... - 16-1.5.1 NET... - 17-1.5.2 Wire και tri Nets... - 17-1.6 Ενότητες(Modules)... - 17-1.7 Test bench... - 18-1.8 Initial Blocks... - 18-1.9 Always Block... - 18 - Παράδειγµα:... - 18-1.10 Assign Statement... - 18-1.11 Buses... - 19-1.12 Εndmodule... - 19-1.13 Τελεστές... - 19-1.14 Εισαγωγή σχεδίασης σε µορφή κώδικα γλώσσας Verilog... - 20-1.14.1 Βήµα 1ο: ηµιουργία του σχεδίου... - 20-1.14.2 Βήµα 2ο : Σύνταξη του προγράµµατος... - 21-1.14.3 Βήµα 3ο : Έλεγχος τυχών λαθών και αποθήκευση.... - 21-1.15 Γλωσσάρι για την γλώσσα Verilog... - 21 - Κεφάλαιο 2ο : ΕΙΣΑΓΩΓΗ ΣΤΟ ALTERA QUARTUS II... - 23-2.1 ALTERA QUARTUS II... - 23-2.2 ηµιουργώντας HDL Εργασίες Σχεδίου µε το Quartus ΙΙ... - 23-2.3 Λειτουργική Προσοµοίωση (Functional Simulation)... - 24-2.4 Προσοµοίωση Χρονοµέτρησης (Timing Simulation)... - 24 - Κεφάλαιο 3ο : ALTERA MAXPLUSS II... - 25-3.1 Εισαγωγή σχεδίασης µε χρήση HDL editor... - 25 - Κεφάλαιο 4ο : Εισαγωγή στο Leonardo Spectrum... - 27-4.1 MENTOR GRAPHICS... - 27-4.1.1 Η ιστορία της Mentor Graphics... - 27-4.1.2 ιεύθυνση... - 28-4.1.3 Χαρακτηριστικά κύριων προϊόντων:... - 28-4.2 Leonardo Spectrum... - 29-4.2.1 Γενικά... - 29-4.2.3 Πραγµατική Ιεραρχική Υποστήριξη για Σταδιακές Συνθέσεις... - 30-4.2.4 Scripting... - 30-4.2.5 Partioning (Επιµερισµός)... - 31-4.2.6 Ανεξαρτησία... - 31-4.2.7 LeonardoInsight: Εκσφαλµάτωση (Debug) και Ανάλυση... - 31-4.3 Αποκλειστική έρευνα σε βάθος πέντε σηµείων... - 32-4.3.1 Οθόνη Πηγαίου Κώδικα HDL... - 32-4.3.2 Οθόνη Σχεδίων Βασισµένη σε Block RTL... - 32-4.3.3 Περιηγητής Σχεδίου... - 32-4.3.4 Σχεδιαστικός ηµιουργός Τµηµάτων... - 33-4.3.5 Εξελιγµένη Έρευνα... - 33-4.4 Ξεκινώντας µε το Leonardo Spectrum... - 35-4.4.1 Design Wizard... - 35-4.4.2 Αναφορά Σύνθεσης... - 38 - Παραποµπές... - 41 - - 3 -

4.4.3 Άποψη Σχεδίου... - 41-4.4.4 Βελτιστοποίηση... - 43 - Κεφάλαιο 5ο : ΣΥΝΘΕΣΗ ΚΥΚΛΩΜΑΤΩΝ ΜΕ ΤΟ Leonardo Spectrum... - 44-5.1 Συνδυαστικά λογικά κυκλώµατα... - 44-5.1.1 Κύκλωµα ελέγχου φωτεινού τροχαίου σηµατοδότη... - 44-5.1.2 Ψηφιακό σύστηµα ελέγχου που ελέγχει τέσσερις κινητήρες σε µία γραµµή επεξεργασίας ξύλου... - 45-5.1.3 Συνδυαστικό κύκλωµα µετατροπής κώδικα 8421 BCD σε κώδικα GRAY. - 47-5.1.4 Κύκλωµα µετατροπής κώδικα 5211 σε κώδικα 2421... - 48-5.1.5 Λογικό κύκλωµα κωδικοποιητή οκτώ γραµµών σε τρείς... - 50-5.1.6 Κωδικοποιητής προτεραιότητας 74ΧΧ148 οκτώ γραµµών σε τρείς... - 52-5.1.7 Αποκωδικοποιητής οκτώ γραµµών σε οκτώ... - 53-5.1.8 Λογικό κύκλωµα αποκωδικοποιητή 74ΧΧ138... - 55-5.1.9 Αποκωδικοποιητής ως γεννήτρια συναρτήσεων... - 57-5.1.10 Αποκωδικοποιητής BCD σε επτά τµήµατα... - 58-5.1.11 Αποκωδικοποιητής BCD σε επτά τµήµατα σε µορφή ολοκληρωµένου κuκλώµατος µε τον κώδικα 74ΧΧ4 ή 74ΧΧ47... - 60-5.1.12 Πολυπλέκτη τεσσάρων εισόδων και µιας εξόδου... - 63-5.1.13 Πολυπλέκτης οκτώ ψηφίων σε ένα... - 64-5.1.13 Πολυπλέκτης οκτώ ψηφίων σε ένα... - 66-5.1.14 Πολυπλέκτης 74ΧΧ151 οκτώ γραµµών εισόδου σε µία γραµµή εξόδου... - 68-5.1.15 Πολυπλέκτης ως γεννήτρια συναρτήσεων... - 70-5.1.16 Πολυπλέκτης 74ΧΧ151 ως γεννήτρια λογικής συνάρτησης 1... - 71-5.1.17 Πολυπλέκτης 74ΧΧ151 ως γεννήτρια λογικής συνάρτησης 2... - 72-5.1.18 Κύκλωµα αποπλέκτη 1 σε 2... - 72-5.1.19 Κύκλωµα αποπλέκτη 1 σε 4... - 74-5.1.20 Κύκλωµα αποπλέκτη 1 σε 8... - 75-5.1.21 Κύκλωµα αποπλέκτη 1 σε 8... - 77-5.1.22 Ψηφιακός συγκριτής 2 ψηφιολέξεων των 2 ψηφίων... - 79-5.1.23 Ψηφιακός συγκριτής 2 ψηφιολέξεων των 4 ψηφίων... - 80-5.1.23 ύο συγκριτές 4 ψηφίων σε συγκριτή 8 ψηφίων... - 82-5.1.24 Γεννήτρια ισοτιµίας για ψηφιολέξη 3 ψηφίων... - 84-5.1.25 Έλεγχος ψηφίου ισοτιµίας ψηφιολέξης 3 ψηφίων... - 85-5.1.26 Λογικός ηµιαθροιστής... - 87-5.1.27 Πλήρης αθροιστής... - 88-5.1.28 Αθροιστής 2 ψηφιολέξεων των 4 ψηφίων... - 90-5.1.29 Αθροιστής 2 ψηφιολέξεων των 4 ψηφίων... - 91-5.1.30 Αθροιστής µε εξόδους G και P... - 92-5.1.31 Παράλληλος πλήρης αθροιστής µε πρόβλεψη κρατουµένου... - 93-5.1.32 Ηµιαφαιρέτης... - 95-5.1.33 Πλήρης αφαιρέτης... - 96-5.1.34 Παράλληλος πλήρης αφαιρέτης µε την χρήση αθροιστών... - 98-5.1.35 Παράλληλος πλήρης αθροιστής/αφαιρέτης... - 100-5.1.36 Αθροιστής 2 ψηφίων BCD... - 102-5.1.37 Αθροιστής 2 αριθµών BCD και τριών δεκαδικών ψηφίων... - 103-5.1.38 Μετατροπή BCD από δεκαδικό σε δυαδικό... - 105-5.1.39 Πολλαπλασιαστής 2 ψηφιολέξεων των 2 ψηφίων... - 106-5.1.40 Πολλαπλασιαστής 2 ψηφιολέξεων των 4 ψηφίων... - 108-5.1.41 Αριθµητική λογική µονάδα... - 109 - - 4 -

5.1.42 Αριθµητική λογική µονάδα 8 ψηφίων... - 112-5.2 Flip Flop και συναφή κυκλώµατα... - 112-5.2.1 Μανταλωτής SR... - 112-5.2.2 Μανταλωτής D... - 114-5.2.3 Μανταλωτής D-2... - 115-5.2.4 Flip Flop D ακµοπυρόδοτο πυροδοτούµενο στο θετικό µέτωπο... - 117-5.2.5 Flip Flop D ακµοπυρόδοτο πυροδοτούµενο στο αρνητικό µέτωπο... - 118-5.2.6 Flip Flop D ακµοπυρόδοτο πυροδοτούµενο στο αρνητικό µέτωπο µε ασύγχρονες εισόδους PRN και CLN... - 119-5.2.7 Flip Flop D ακµοπυρόδοτο πυροδοτούµενο στο θετικό µέτωπο µε ασύγχρονη είσοδο PRN και είσοδο Ενεργοποίησης Ε... - 121-5.2.8 Flip Flop JK ακµοπυρόδοτο πυροδοτούµενο στο αρνητικό µέτωπο... - 123-5.2.9 ηµιουργία συνιστώσας του flip flop JK... - 124-5.2.9 Μονοδονητής 74ΧΧ21 χωρίς δυνατότητα επαναπυροδότησης... - 125-5.2.10 Μονοδονητής 74ΧΧ122 µε δυνατότητα επαναπυροδότησης... - 125-5.3 Ακολουθιακά κυκλώµατα... - 126-5.3.1 Κύκλωµα αναγνώρισης προτύπου µε βάση τις εξισώσεις διέγερσης.. - 126-5.3.2 Κύκλωµα αναγνώρισης προτύπου µε βάση τους πίνακες καταστάσεων- 128-5.3.3 Έλεγχος σηµατοδοτών κυκλοφορίας... - 129-5.3.4 Έλεγχος σηµατοδοτών κυκλοφορίας 2... - 130-5.3.5 Ελεγκτής... - 132-5.4 Μετρητές Καταχωρητές... - 135-5.4.1 Αύξων ασύγχρονος δυαδικός µετρητής MOD 16... - 135-5.4.2 Aύξων µετρητής που µετράει τον κώδικα 5211... - 136-5.4.3 Μετρητής για όλες τις δουλειές... - 137-5.4.4 Καταχωρητής ολίσθησης 4 ψηφίων... - 138-5.4.5 Καταχωρητής παράλληλης εισόδου... - 139-5.4.6 Κυκλικός µετρητής 8 ψηφίων... - 141-6.5 Συστήµατα βασισµένα σε διάδροµο µεταφοράς πληροφορίας... - 142-5.5.1 Μνήµη RAM... - 142-5.5.2 Αποκωδικοποιητής µνήµης... - 143 - ΒΙΒΛΙΟΓΡΑΦΙΑ... - 146 - - 5 -

Ευρετήριο Πινάκων Πίνακας 1: Πίνακας προτεραιότητας σηµάτων... - 15 - Πίνακας 2: Οι αριθµοί στη Verilog... - 16 - Πίνακας 3: Σύνολο Συγχωνευµένης περιοχής κυκλώµατος ελέγχου φωτεινού τροχαίου σηµατοδότη... - 45 - Πίνακας 4: Σύνολο συγχωνευµένης περιοχής ψηφιακού συστήµατος ελέγχου που ελέγχει τέσσερις κινητήρες σε µία γραµµή επεξεργασίας ξύλου... - 47 - Πίνακας 5: Σύνολο συγχωνευµένης περιοχής κύκλωµα µετατροπής κώδικα 8421 BCD σε κώδικα GRAY... - 48 - Πίνακας 6: Σύνολο συγχωνευµένης περιοχής κυκλώµατος µετατροπής κώδικα 5211 σε κώδικα 2421... - 50 - Πίνακας 7: Σύνολο συγχωνευµένης περιοχής λογικού κυκλώµατος κωδικοποιητή οκτώ γραµµών σε τρείς... - 52 - Πίνακας 8: Σύνολο συγχωνευµένης περιοχής κωδικοποιητή προτεραιότητας 74ΧΧ148 οκτώ γραµµών σε τρείς... - 53 - Πίνακας 9: Σύνολο συγχωνευµένης περιοχή αποκωδικοποιητή οκτώ γραµµών σε οκτώ... - 55 - Πίνακας 10: Σύνολο συγχωνευµένης περιοχής λογικού κυκλώµατος αποκωδικοποιητή 74ΧΧ138... - 56 - Πίνακας 11: Σύνολο συγχωνευµένης περιοχής αποκωδικοποιητή ως γεννήτρια συναρτήσεων... - 58 - Πίνακας 12: Σύνολο συγχωνευµένης περιοχής αποκωδικοποιητή BCD σε επτά τµήµατα... - 60 - Πίνακας 13: Σύνολο συγχωνευµένης περιοχής αποκωδικοποιητή BCD σε επτά τµήµατα σε µορφή ολοκληρωµένου κuκλώµατος µε τον κώδικα 74ΧΧ4 ή 74ΧΧ47.. - 62 - Πίνακας 14: Σύνολο συγχωνευµένης περιοχής πολυπλέκτη τεσσάρων εισόδων και µιας εξόδου... - 64 - Πίνακας 15: Σύνολο συγχωνευµένης περιοχής πολυπλέκτη οκτώ ψηφίων σε ένα - 66 - Πίνακας 16: Σύνολο συγχωνευµένης περιοχής πολυπλέκτη οκτώ ψηφίων σε ένα - 67 - Πίνακας 17: Σύνολο συγχωνευµένης περιοχής πολυπλέκτη 74ΧΧ151 οκτώ γραµµών εισόδου σε µία γραµµή εξόδου... - 69 - Πίνακας 18: Σύνολο συγχωνευµένης περιοχής πολυπλέκτη ως γεννήτρια συναρτήσεων... - 71 - Πίνακας 19: Σύνολο συγχωνευµένης περιοχής κυκλώµατος αποπλέκτη 1 σε 2... - 73 - Πίνακας 20: Σύνολο συγχωνευµένης περιοχής κυκλώµατοε αποπλέκτη 1 σε 4... - 75 - Πίνακας 21: Σύνολο συγχωνευµένης περιοχής κυκλώµατος αποπλέκτη 1 σε 8... - 77 - Πίνακας 22: Σύνολο συγχωνευµένης περιοχής κυκλώµατος αποπλέκτη 1 σε 8 (2 ος τρόπος)... - 78 - Πίνακας 23: Σύνολο συγχωνευµένης περιοχής ψηφιακού συγκριτή 2 ψηφιολέξεων των 2 ψηφίων... - 80 - Πίνακας 24: Σύνολο συγχωνευµένης περιοχής ψηφιακού συγκριτή 2 ψηφιολέξεων των 4 ψηφίων... - 82 - Πίνακας 25: ύο συγκριτές 4 ψηφίων σε συγκριτή 8 ψηφίων... - 84 - Πίνακας 26: Γεννήτρια ισοτιµίας για ψηφιολέξη 3 ψηφίων... - 85 - Πίνακας 27: Έλεγχος ψηφίου ισοτιµίας ψηφιολέξης 3 ψηφίων... - 86 - Πίνακας 28: Λογικός ηµιαθροιστής... - 88 - Πίνακας 29: Πλήρης αθροιστής... - 89 - Πίνακας 30: Αθροιστής 2 ψηφιολέξεων των 4 ψηφίων... - 91 - - 6 -

Πίνακας 31: Αθροιστής µε εξόδους G και P... - 93 - Πίνακας 32: Παράλληλος πλήρης αθροιστής µε πρόβλεψη κρατουµένου... - 95 - Πίνακας 33: Ηµιαφαιρέτης... - 96 - Πίνακας 34: Πλήρης αφαιρέτης... - 97 - Πίνακας 35: Παράλληλος πλήρης αφαιρέτης µε την χρήση αθροιστών... - 100 - Πίνακας 36: Παράλληλος πλήρης αθροιστής/αφαιρέτης... - 101 - Πίνακας 37: Αθροιστής 2 ψηφίων BCD... - 103 - Πίνακας 38: Αθροιστής 2 αριθµών BCD και τριών δεκαδικών ψηφίων... - 105 - Πίνακας 39: Μετατροπή BCD από δεκαδικό σε δυαδικό... - 107 - Πίνακας 40: 40 Πολλαπλασιαστής 2 ψηφιολέξεων των 4 ψηφίων... - 109 - Πίνακας 41: Αριθµητική λογική µονάδα... - 112 - Πίνακας 42: Μανταλωτής SR... - 114 - Πίνακας 43: Μανταλωτής D... - 115 - Πίνακας 44: Μανταλωτής D-2... - 116 - Πίνακας 45: Flip Flop D ακµοπυρόδοτο πυροδοτούµενο στο θετικό µέτωπο... - 118 - Πίνακας 46: Flip Flop D ακµοπυρόδοτο πυροδοτούµενο στο αρνητικό µέτωπο. - 119 - Πίνακας 47: Flip Flop D ακµοπυρόδοτο πυροδοτούµενο στο αρνητικό µέτωπο µε ασύγχρονες εισόδους PRN και CLN... - 121 - Πίνακας 48: Flip Flop D ακµοπυρόδοτο πυροδοτούµενο στο θετικό µέτωπο µε ασύγχρονη είσοδο PRN και είσοδο Ενεργοποίησης Ε... - 123 - Πίνακας 49: Flip Flop JK ακµοπυρόδοτο πυροδοτούµενο στο αρνητικό µέτωπο- 124 - Πίνακας 50: Κύκλωµα αναγνώρισης προτύπου µε βάση τις εξισώσεις διέγερσης - 127 - Πίνακας 51: Έλεγχος σηµατοδοτών κυκλοφορίας 2... - 132 - Πίνακας 52: Ελεγκτής... - 135 - Πίνακας 53: Καταχωρητής ολίσθησης 4 ψηφίων... - 139 - Πίνακας 54: Καταχωρητής παράλληλης εισόδου... - 141 - Πίνακας 55: Μνήµη RAM... - 143 - Πίνακας 56: Αποκωδικοποιητής µνήµης... - 145 - Ευρετήριο Εικόνων Εικόνα 1: Αρχικό σχεδιαστικό περιβάλλον Altera Maxplus II... - 25 - Εικόνα 2: Eπιλογή "Επιπέδου 3" του Leonardo Spectrum... - 35 - Εικόνα 3 : Επιλογή OK... - 36 - Εικόνα 4 : Επιλογή του Sample που θέλουµε... - 37 - Εικόνα 5: Φόρτωση του «αρχείου.v» κυκλώµατος που θέλουµε να συνθέσουµε.. - 37 - Εικόνα 6: Αναφορά σύνθεσης 1... - 38 - Εικόνα 7: Αναφορά σύνθεσης 2... - 38 - Εικόνα 8 : Αναφορά σύνθεσης 3... - 39 - Εικόνα 9: Αναφορά σύνθεσης 4... - 39 - Εικόνα 10: Αναφορά σύνθεσης 5... - 40 - Εικόνα 11: Αναφορά σύνθεσης 6... - 40 - Εικόνα 12: Schematic Technology Viewer... - 42 - - 7 -

Εικόνα 13: Schematic RTL Viewer... - 43 - Εικόνα 14: Αποτέλεσµα σύνθεσης κυκλώµατος µε flip flop... - 44 - Εικόνα 15: Αποτέλεσµα σύνθεσης κυκλώµατος µε πύλες... - 45 - Εικόνα 16: Αποτέλεσµα σύνθεσης κυκλώµατος ελέγχου 4 κινητήρων µε πύλες.. - 46 - Εικόνα 17 3: Αποτέλεσµα σύνθεσης κυκλώµατος ελέγχου 4 κινητήρων µε flip flop... - 46 - Εικόνα 18: Αποτελέσµατα σύνθεσης κυκλώµατος µετατροπής κώδικα 8421 BCD σε κώδικα GRAY µε πύλες... - 48 - Εικόνα 19: Αποτέλεσµα σύνθεσης κυκλώµατος µετατροπής κώδικα 8421BCD σε κώδικα GRAY µε flip flop... - 48 - Εικόνα 20: Αποτέλεσµα σύνθεσης κυκλώµατος µετατροπής κώδικα 5211 σε κώδικα 2421 µε πύλες... - 49 - Εικόνα 21: Αποτέλεσµα σύνθεσης κυκλώµατος µετατροπής κώδικα 5211 σε κώδικα 2421 µε flip flop... - 50 - Εικόνα 22: Αποτελέσµατα σύνθεσης κυκλώµατος κωδικοποιητή οκτώ γραµµών σε τρείς µε πύλες... - 51 - Εικόνα 23: Αποτελέσµατα σύνθεσης κυκλώµατος κωδικοποιητή οκτώ γραµµών σε τρείς µε flip flop... - 51 - Εικόνα 24: Αποτελέσµατα σύνθεσης κυκλώµατος κωδικοποιητή προτεραιότητας µε πύλες... - 52 - Εικόνα 25: Αποτελέσµατα σύνθεσης κυκλώµατος κωδικοποιητή προτεραιότητας µε flip flop... - 53 - Εικόνα 26: Αποτελέσµατα σύνθεσης κυκλώµατος αποκωδικοποιητή τριών γραµµών σε οκτώ µε πύλες... - 54 - Εικόνα 27: Αποτελέσµατα σύνθεσης αποκωδικοποιητή τριών γραµµών σε οκτώ µε flip flop... - 55 - Εικόνα 28: Αποτελέσµατα σύνθεσης κυκλώµατος αποκωδικοποιητή 74ΧΧ138 µε πύλες... - 56 - Εικόνα 29: Αποτελέσµατα σύνθεσης αποκωδικοποιητή 74ΧΧ138 µε flip flop... - 56 - Εικόνα 30: Αποτελέσµατα σύνθεσης κυκλώµατος αποκωδικοποιητή ως γεννήτρια συναρτήσεων... - 57 - Εικόνα 31: Αποτελέσµατα σύνθεσης κυκλώµατος αποκωδικοποιητή ως γεννήτρια συναρτήσεως µε flip flop... - 58 - Εικόνα 32: Αποτελέσµατα αποκωδικοποιητή BCD σε επτά τµήµατα µε πύλες... - 59 - Εικόνα 33: Αποτελέσµατα σύνθεσης κυκλώµατος αποκωδικοποιητή BCD σε επτά τµήµατα µε flip flop... - 59 - Εικόνα 34: Αποτελέσµατα αποκωδικοποιητή BCD σε επτά τµήµατα µε 74ΧΧ46 ή 74ΧΧ47 µε πύλες... - 62 - Εικόνα 35: Αποτελέσµατα αποκωδικοποιητή BCD σε επτά τµήµατα µε 74ΧΧ46 ή 74ΧΧ47 µε flip flop... - 62 - Εικόνα 36: Αποτελέσµατα σύνθεσης κυκλώµατος πολυπλέκτη 4 σε 1 µε πύλες... - 63 - Εικόνα 37: Αποτελέσµατα σύνθεσης κυκλώµατος πολυπλέκτη 4 σε 1 µε flip flop. - 64 - Εικόνα 38: Αποτελέσµατα σύνθεσης κυκλώµατος πολυπλέκτη 8 σε 1 µε πύλες... - 65 - Εικόνα 39: Αποτελέσµατα σύνθεσης κυκλώµατος πολυπλέκτη 8 σε 1 µε flip flop. - 65 - Εικόνα 40: Αποτελέσµατα σύνθεσης κυκλώµατος πολυπλέκτη 8 σε 1 µε πύλες (δεύτερος τρόπος)... - 67 - Εικόνα 41: Αποτελέσµατα σύνθεσης κυκλώµατος πολυπλέκτη 8 σε 1 µε flip flop (δεύτερος τρόπος)... - 67 - - 8 -

Εικόνα 42: Αποτελέσµατα σύνθεσης κυκλώµατος πολυπλέκτη 74ΧΧ151 8 σε 1 µε πύλες... - 69 - Εικόνα 43: Αποτελέσµατα σύνθεσης κυκλώµατος πολυπλέκτη 74ΧΧ151 8 σε 1 µε flip flop... - 69 - Εικόνα 44: Αποτελέσµατα σύνθεσης κυκλώµατος πολυπλέκτη ως γεννήτρια συναρτήσεων µε πύλες... - 70 - Εικόνα 45: Αποτελέσµατα σύνθεσης κυκλώµατος πολυπλέκτη ως γεννήτρια συναρτήσεων µε flip flop... - 71 - Εικόνα 46: Αποτελέσµατα σύνθεσης κυκλώµατος αποπλέκτη 1 σε 2 µε πύλες... - 73 - Εικόνα 47: Αποτελέσµατα σύνθεσης κυκλώµατος αποπλέκτη 1 σε 2 µε flip flop. - 73 - Εικόνα 48: Αποτελέσµατα σύνθεσης κυκλώµατος αποπλέκτη 1 σε 4 µε πύλες... - 74 - Εικόνα 49: Αποτελέσµατα σύνθεσης κυκλώµατος αποπλέκτη 1 σε 4 µε flip flop. - 75 - Εικόνα 50: Αποτελέσµατα σύνθεσης κυκλώµατος αποπλέκτη 1 σε 8 µε πύλες... - 76 - Εικόνα 51: Αποτελέσµατα σύνθεσης κυκλώµατος αποπλέκτη 1 σε 8 µε flip flop. - 77 - Εικόνα 52: Αποτελέσµατα σύνθεσης κυκλώµατος αποπλέκτη 1 σε 8 µε πύλες (δεύτερος τρόπος)... - 78 - Εικόνα 53: Αποτελέσµατα σύνθεσης κυκλώµατος αποπλέκτη 1 σε 8 µε flip flop (δεύτερος τρόπος)... - 78 - Εικόνα 54: Αποτελέσµατα σύνθεσης κυκλώµατος ψηφιακού συγκριτή 2 ψηφιολέξεων των 2 ψηφίων µε πύλες... - 79 - Εικόνα 55: Αποτελέσµατα σύνθεσης κυκλώµατος ψηφιακού συγκριτή 2 ψηφιολέξεων των 2 ψηφίων µε flip flop... - 80 - Εικόνα 56: Αποτελέσµατα σύνθεσης κυκλώµατος ψηφιακού συγκριτή 2 ψηφιολέξεων των 4 ψηφίων µε πύλες... - 81 - Εικόνα 57: Αποτελέσµατα σύνθεσης κυκλώµατος ψηφιακού συγκριτή 2 ψηφιολέξεων των 4 ψηφίων µε flip flop... - 82 - Εικόνα 58: Αποτελέσµατα σύνθεσης κυκλώµατος ψηφιακού 2 συγκριτών 4 ψηφίων σε έναν σπόνδυλο 8 ψηφίων µε πύλες... - 83 - Εικόνα 59: Αποτελέσµατα σύνθεσης κυκλώµατος ψηφιακού 2 συγκριτών 4 ψηφίων σε έναν σπόνδυλο 8 ψηφίων µε flip flop... - 83 - Εικόνα 60: Αποτελέσµατα σύνθεσης κυκλώµατος γεννήτριας ισοτιµίας για ψηφιολέξη τριών ψηφίων µε πύλες... - 84 - Εικόνα 61: Αποτελέσµατα σύνθεσης κυκλώµατος γεννήτριας ισοτιµίας για ψηφιολέξη τριών ψηφίων µε flip flop... - 85 - Εικόνα 62: Αποτελέσµατα σύνθεσης κυκλώµατος ελεγκτή ψηφίου ισοτιµίας για ψηφιολέξη τριών ψηφίων µε πύλες... - 86 - Εικόνα 63: Αποτελέσµατα σύνθεσης κυκλώµατος ελεγκτή ψηφίου ισοτιµίας για ψηφιολέξη τριών ψηφίων µε flip flop... - 86 - Εικόνα 64: Αποτελέσµατα σύνθεσης κυκλώµατος λογικού ηµιαθροιστή µε πύλες. - 87 - Εικόνα 65: Αποτελέσµατα σύνθεσης κυκλώµατος λογικού ηµιαθροιστή µε flip flop.. - 88 - Εικόνα 66: Αποτελέσµατα σύνθεσης κυκλώµατος πλήρους αθροιστή µε πύλες... - 89 - Εικόνα 67: Αποτελέσµατα σύνθεσης κυκλώµατος πλήρους αθροιστή µε flip flop- 89 - Εικόνα 68: Αποτελέσµατα σύνθεσης κυκλώµατος αθροιστή 2 ψηφιολέξεων των 4 ψηφίων µε πύλες... - 90 - Εικόνα 69: Αποτελέσµατα σύνθεσης κυκλώµατος αθροιστή 2 ψηφιολέξεων των 4 ψηφίων µε flip flop... - 91 - Εικόνα 70: Αποτελέσµατα σύνθεσης κυκλώµατος αθροιστή µε πρόβλεψης κρατουµένου µε πύλες... - 92 - - 9 -

Εικόνα 71: Αποτελέσµατα σύνθεσης κυκλώµατος αθροιστή µε πρόβλεψης κρατουµένου µε flip flop... - 93 - Εικόνα 72: Αποτελέσµατα σύνθεσης κυκλώµατος παράλληλου πλήρους αθροιστή 4 ψηφίων µε πύλες... - 94 - Εικόνα 73: Αποτελέσµατα σύνθεσης κυκλώµατος παράλληλου πλήρους αθροιστή 4 ψηφίων µε flip flop... - 94 - Εικόνα 74: Αποτελέσµατα σύνθεσης κυκλώµατος λογικού ηµιαφαιρέτη µε πύλες. - 95 - Εικόνα 75: Αποτελέσµατα σύνθεσης κυκλώµατος λογικού ηµιαφαιρέτη µε flip flop.. - 96 - Εικόνα 76: Αποτελέσµατα σύνθεσης κυκλώµατος πλήρους αφαιρέτη µε πύλες... - 97 - Εικόνα 77: Αποτελέσµατα σύνθεσης κυκλώµατος πλήρους αφαιρέτη µε flip flop- 97 - Εικόνα 78: Αποτελέσµατα σύνθεσης κυκλώµατος παράλληλου πλήρους αφαιρέτη µε χρήση αθροιστών µε πύλες... - 99 - Εικόνα 79: Αποτελέσµατα σύνθεσης κυκλώµατος παράλληλου πλήρους αφαιρέτη µε χρήση αθροιστών µε flip flop... - 99 - Εικόνα 80: Αποτελέσµατα σύνθεσης κυκλώµατος πλήρους αθροιστή/αφαιρέτη µε πύλες... - 101 - Εικόνα 81: Αποτελέσµατα σύνθεσης κυκλώµατος πλήρους αθροιστή/αφαιρέτη µε flip flop... - 101 - Εικόνα 82: Αποτελέσµατα σύνθεσης κυκλώµατος αθροιστή 2 ψηφίων BCD µε πύλες- 102 - Εικόνα 83: Αποτελέσµατα σύνθεσης κυκλώµατος αθροιστή 2 ψηφίων BCD µε flip flop... - 103 - Εικόνα 84: Αποτελέσµατα σύνθεσης κυκλώµατος αθροιστή 2 ψηφιολέξεων των 3 δεκαδικών ψηφίων µε πύλες... - 104 - Εικόνα 85: Αποτελέσµατα σύνθεσης κυκλώµατος αθροιστή 2 ψηφιολέξεων των 3 δεκαδικών ψηφίων µε flip flop... - 104 - Εικόνα 86: Αποτελέσµατα σύνθεσης κυκλώµατος πολλαπλασιαστή 2 ψηφιολέξεων των 2 ψηφίων µε πύλες... - 107 - Εικόνα 87: Αποτελέσµατα σύνθεσης κυκλώµατος πολλαπλασιαστή 2 ψηφιολέξεων των 2 ψηφίων µε flip flop... - 107 - Εικόνα 88: Αποτελέσµατα σύνθεσης κυκλώµατος πολλαπλασιαστή 2 ψηφιολέξεων 4 ψηφίων µε πύλες... - 108 - Εικόνα 89: Αποτελέσµατα σύνθεσης κυκλώµατος πολλαπλασιαστή 2 ψηφιολέξεων 4 ψηφίων µε flip flop... - 109 - Εικόνα 90: Αποτελέσµατα σύνθεσης κυκλώµατος αριθµητικής λογικής µονάδας µε πύλες... - 111 - Εικόνα 91: Αποτελέσµατα σύνθεσης κυκλώµατος αριθµητικής λογικής µονάδας µε flip flop... - 111 - Εικόνα 92: Αποτελέσµατα σύνθεσης κυκλώµατος µανταλωτή SR µε πύλες... - 113 - Εικόνα 93: Αποτελέσµατα σύνθεσης κυκλώµατος µανταλωτή SR µε flip flop... - 113 - Εικόνα 94: Αποτελέσµατα σύνθεσης κυκλώµατος µανταλωτή D µε πύλες... - 114 - Εικόνα 95: Αποτελέσµατα σύνθεσης κυκλώµατος µανταλωτή D µε flip flop... - 115 - Εικόνα 96: Αποτελέσµατα σύνθεσης κυκλώµατος µανταλωτή D µε πύλες (δεύτερος τρόπος)... - 116 - Εικόνα 97: : Αποτελέσµατα σύνθεσης κυκλώµατος µανταλωτή D µε flip flop (δεύτερος τρόπος)... - 116 - Εικόνα 98: Αποτελέσµατα σύνθεσης κυκλώµατος flip flop D ακµοπυρόδοτο πυροδοτούµενο στο θετικό µέτωπο µε πύλες... - 117 - - 10 -

Εικόνα 99: Αποτελέσµατα σύνθεσης κυκλώµατος flip flop D ακµοπυρόδοτο πυροδοτούµενο στο θετικό µέτωπο µε flip flop... - 118 - Εικόνα 100: Αποτελέσµατα σύνθεσης κυκλώµατος flip flop D ακµοπυρόδοτο πυροδοτούµενο στο αρνητικό µέτωπο µε πύλες... - 119 - Εικόνα 101:Αποτελέσµατα σύνθεσης κυκλώµατος flip flop D ακµοπυρόδοτο πυροδοτούµενο στο αρνητικό µέτωπο µε flip flop... - 119 - Εικόνα 102: Αποτελέσµατα σύνθεσης κυκλώµατος flip flop D ακµοπυρόδοτο πυροδοτούµενο στο αρνητικό µέτωπο µε ασύγχρονες εισόδους PRN και CLN µε πύλες... - 120 - Εικόνα 103: Αποτελέσµατα σύνθεσης κυκλώµατος flip flop D ακµοπυρόδοτο πυροδοτούµενο στο αρνητικό µέτωπο µε ασύγχρονες εισόδους PRN και CLN µε flip flop... - 121 - Εικόνα 104: Αποτελέσµατα σύνθεσης κυκλώµατος flip flop D ακµοπυρόδοτο πυροδοτούµενο στο θετικό µέτωπο µε ασύγχρονη είσοδο PRN και είσοδο Ενεργοποίησης Ε µε πύλες... - 122 - Εικόνα 105: Αποτελέσµατα σύνθεσης κυκλώµατος flip flop D ακµοπυρόδοτο πυροδοτούµενο στο θετικό µέτωπο µε ασύγχρονη είσοδο PRN και είσοδο Ενεργοποίησης Ε µε flip flop... - 122 - Εικόνα 106: Αποτελέσµατα σύνθεσης κυκλώµατος flip flop JK ακµοπυρόδοτο πυροδοτούµενο στο αρνητικό µέτωπο µε πύλες... - 124 - Εικόνα 107: Αποτελέσµατα σύνθεσης κυκλώµατος flip flop JK ακµοπυρόδοτο πυροδοτούµενο στο αρνητικό µέτωπο µε flip flop... - 124 - Εικόνα 108: Αποτελέσµατα σύνθεσης κυκλώµατος αναγνωριστή προτύπου µε βάση τις εξισώσεις διέγερσης µε πύλες... - 127 - Εικόνα 109: Αποτελέσµατα σύνθεσης κυκλώµατος αναγνωριστή προτύπου µε βάση τις εξισώσεις διέγερσης µε flip flop... - 127 - Εικόνα 110: Αποτελέσµατα σύνθεσης κυκλώµατος ελέγχου σηµατοδοτών κυκλοφορίας µε πύλες... - 131 - Εικόνα 111: Αποτελέσµατα σύνθεσης κυκλώµατος ελέγχου σηµατοδοτών κυκλοφορίας µε flip flop... - 132 - Εικόνα 112: Αποτελέσµατα σύνθεσης κυκλώµατος ελεγκτή µε πύλες... - 134 - Εικόνα 113: Αποτελέσµατα σύνθεσης κυκλώµατος ελεγκτή µε flip flop... - 134 - Εικόνα 114: Αποτελέσµατα σύνθεσης κυκλώµατος καταχωρητή ολίσθησης 4 ψηφίων µε πύλες... - 139 - Εικόνα 115: Αποτελέσµατα σύνθεσης κυκλώµατος καταχωρητή ολίσθησης 4 ψηφίων µε flip flop... - 139 - Εικόνα 116: Αποτελέσµατα σύνθεσης κυκλώµατος καταχωρητή παράλληλης εισόδου µε πύλες... - 140 - Εικόνα 117: Αποτελέσµατα σύνθεσης κυκλώµατος καταχωρητή παράλληλης εισόδου µε flip flop... - 141 - Εικόνα 118: Αποτελέσµατα σύνθεσης κυκλώµατος µνήµης RAM µε πύλες και flip flop... - 143 - Εικόνα 119: Αποτελέσµατα σύνθεσης κυκλώµατος αποκωδικοποιητή µνήµης µε πύλες... - 145 - Εικόνα 120: Αποτελέσµατα σύνθεσης κυκλώµατος αποκωδικοποιητή µνήµης µε flip flop... - 145 - - 11 -

ΠΕΡΙΛΗΨΗ Η παρούσα διπλωµατική πραγµατεύεται τη µελέτη και υλοποίηση σύγχρονων ψηφιακών κυκλωµάτων µε νέες µεθόδους και εργαλεία CAD. Βασικός στόχος της εργασίας είναι η µελέτη κυκλωµάτων µε βιοµηχανικά εργαλεία προσοµοίωσης και σύνθεσης. Θα µελετηθεί µια πληθώρα µικρών και µεσαίων κυκλωµάτων και θα παρουσιαστούν τα αποτελέσµατα της µελέτης. Για την ολοκληρωµένη παρουσίαση της µελέτης θα εξεταστούν όλα τα ψηφιακά κυκλώµατα που παρατίθενται στο σύγγραµµα του Καθ.. Πογαρίδη υλοποιηµένα µε γλώσσα περιγραφής υλικού Verilog. Για την προσοµοίωση και σύνθεση των κυκλωµάτων θα χρησιµοποιηθεί η πλατφόρµα λογισµικού : ALTERA QUARTUS II και ALTERA MAXPLUSS II, ο βιοµηχανικός προσοµοιωτής ψηφιακών κυκλωµάτων MODELSIM και το εργαλείο σύνθεσης ψηφιακών κυκλωµάτων LEONARDO SPECTRUM - 12 -

SUMMARY The present dissertation deals with the study and utilization of contemporary digital circuits with new methods and CAD tools.the basic aim of the dissertation is the study of circuits with industrial simulation and synthesis tools. A plethora of minor and intermediate circuits will be studied and the results of the study will be presented. For the complete presentation of the study all of the digital circuits which are being mentioned in the book of Professor D. Pogaridis will be examined, utilized with the material descriptive language Verilog. For the simulation and synthesis of the circuits a software platform will be used: ALTERA QUARTUS II and ALTERA MAXPLUSS II, the digital circuits industrial simulator MODELSIM and the digital circuits synthesizing tool LEONARDO SPECTRUM. - 13 -

ΠΡΟΛΟΓΟΣ Αντικείµενο της παρούσας εργασίας είναι η προσπάθεια µελέτης κυκλωµάτων µε βιοµηχανικά εργαλεία προσοµοίωσης και σύνθεσης µε πλατφόρµα λογισµικού : ALTERA QUARTUS II και ALTERA MAXPLUS II, ο βιοµηχανικός προσοµοιωτής ψηφιακών κυκλωµάτων MODELSIM και το εργαλείο σύνθεσης ψηφιακών κυκλωµάτων LEONARDO SPECTRUM. Η εργασία δοµείται σε κεφάλαια ως εξής : Στο πρώτο κεφάλαιο, γίνεται µια εισαγωγή στην γλώσσα προγραµµατισµού περιγραφής Verilog. Γίνεται µια λεπτοµερής περιγραφή και επεξήγηση των στοιχείων της γλώσσας τα οποία πρέπει να χρησιµοποιηθούν για την σωστή υλοποίηση των κυκλωµάτων. Στο δεύτερο κεφάλαιο, αναλύεται η πλατφόρµα λογισµικού Altera Quartus II. Γίνεται µία σύντοµη αλλά πλήρης περιγραφή των βηµάτων που πρέπει να ακολουθηθούν για να µπορέσουµε να κάνουµε την προσοµοίωση του κώδικα για την σωστή λειτουργία του και να αποφύγουµε τυχόν λάθη που µπορεί να έχουµε κάνει κατά την συγγραφή του. Στο τρίτο κεφάλαιο, ακολουθεί η πλατφόρµα λογισµικού Altera MaxPlus II όπου επίσης περιγράφεται η διαδικασία προσοµοίωσης βήµα προς βήµα. Στο τέταρτο κεφάλαιο, ακολουθεί µια εισαγωγή και ανάλυση του LeonardoSpectrum. Αναφέρεται η ιστορία ίδρυσης του, τα χαρακτηριστικά του, η χρήση του και η χρησιµότητα του για καλύτερα αποτελέσµατα και περεταίρω ανάλυση της προσοµοίωσης των κυκλωµάτων. Τέλος, στο πέµπτο και τελευταίο κεφάλαιο, παρουσιάζονται τα αποτελέσµατα σύνθεσης των ψηφιακών κυκλωµάτων µε το εργαλείο του LeonardoSpectrum. Παρουσιάζονται τα χαρακτηριστικά του κάθε συντεθειµένου κυκλώµατος και οι µορφές τους. - 14 -

Κεφάλαιο 1ο : ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Verilog 1.1 Γενικά Η Verilog HDL είναι µια περιγραφική γλώσσα υψηλού επιπέδου για σχεδιασµό συστηµάτων και κυκλωµάτων. Η verilog περιγράφεται από µια µεγάλη ποικιλία περιγραφικών στυλ. Αυτό περιλαµβάνει κατασκευαστικές περιγραφές, data flow περιγραφές και περιγραφές συµπεριφοράς. 1.2 Οι τιµές στη Verilog 1. 0 : Λογικό 0 / FALSE 2. 1 : Λογικό1 / TRUE 3. Z : Λογική Κατάσταση Υψηλής Σύνθετης Αντίστασης 4. X: Άγνωστος / εν µας ενδιαφέρει η τιµή, µπορεί να είναι 0,1,z 1.3 Προτεραιότητα σηµάτων: 1. Χ 2. 1 και 0 3. Ζ Χ 0 1 Ζ Χ Χ Χ Χ Χ 0 Χ 0 Χ 0 1 Χ Χ 1 1 Ζ Χ 0 1 Ζ Πίνακας 1: Πίνακας προτεραιότητας σηµάτων - 15 -

1.4 Παραδείγµατα Αριθµών Οι αριθµοί στη verilog µπορεί να είναι είτε σταθερές είτε παράµετροι. Οι σταθερές αυτές µπορούν είτε να έχουν διαστάσεις είτε όχι. Κάποιες µπορούν να καθορίζονται στο δυαδική, στο οκταδική, στο δεκαδικό ή δέκα- εξαδική µορφή. Name Prefix Legal Characters υαδικό b 01xXzZ_? Οκταδικό o 0-7xXzZ_? εκαδικό d 0-9_ εκαεξαδικό h 0-9a-fA-FxXzZ_? Πίνακας 2: Οι αριθµοί στη Verilog Αν το πρόθεµα (prefix) προηγηθεί από αριθµό, τότε ο αριθµός αυτός ορίζει το πλάτος bit του αριθµού για παράδειγµα 8 b 01010101. Εάν δεν υφίσταται τέτοιος αριθµός, τότε ο αριθµός αναµένεται να έχει εύρος 32 bit. Αν δεν προσδιορίζεται κανένα πρόθεµα (prefix) τότε ο αριθµός θα θεωρηθεί ότι είναι 32 bit στο δεκαδικό. Για παράδειγµα το x = 2.5 + 8; Το x θα αξιολογηθεί ως 8. Ειδικοί χαρακτήρες σε αριθµούς είναι οι εξής : 1. _ διαχωριστικό για να βελτιωθεί η αναγνωσιµότητα 2. x, X άγνωστη τιµή 3. z, Z,? tri-state αξία 1.5 Τύποι δεδοµένων Η verilog προσδιορίζει τρείς κύριους τύπους δεδοµένων : Net Register Parameter - 16 -

1.5.1 NET Οι net τύποι δεδοµένων που ενισχύονται από το Leonardo Spectrum είναι οι εξής: Wire Tri wand wor Αυτοί οι τύποι δεδοµένων είναι συνηθισµένοι στο να εκπροσωπούν µια φυσική σύνδεση µεταξύ των κατασκευαστικών οντοτήτων του σχεδίου της verilog. 1.5.2 Wire και tri Nets Τα wire και tri nets είναι πανοµοιότυπα στη χρήση τους.(σύνταξη και λειτουργία). Οι δύο διαφορετικές ονοµασίες χρησιµοποιούνται για σαφήνεια στο σχεδιασµό. Τα nets που καθοδηγούνται από µία πύλη ενιαία περιγράφονται ως wire ενώ τα nets που καθοδηγούνται από πολλαπλές πύλες περιγράφονται ως tri-nets. 1.6 Ενότητες(Modules) Οι ενότητες είναι η δοµικές φόρµες της Verilog. Μία δοµική ενότητα µπορεί να βρίσκεται µέσα σε µια άλλη και έτσι χτίζεται η αρχιτεκτονική στη Verilog Παράδειγµα : module example_407 (A, B, C, F); //Ονοµασία της ενότητας input A; input B; input C; output F; assign F = (~A & ~B & ~C) (A & B) (B & C) (A & C) ; endmodule Κάθε πρόγραµµα στην Verilog αρχίζει µε την λέξη κλειδί module που σηµαίνει σπόνδυλος και ακολουθεί το όνοµα, το οποίο πρέπει πάντα να συµφωνεί µε το όνοµα του αρχείου του επεξεργαστή κειµένου. Μετά συνεχίζουµε µε την δήλωση των σηµάτων (port list) του κυκλώµατος µέσα σε παρένθεση (A, B, C, F); τα οποία αποτελούν τη διασύνδεση (interface) του σπονδύλου µε το υπόλοιπο κύκλωµα. Στη συνέχεια γίνεται ο ορισµός των σηµάτων (port declarations) εισόδου (input), εξόδου (output) και εισόδου-εξόδου (inout). - 17 -

1.7 Test bench Το test bench είναι top module που δηµιουργεί τις τιµές των εισόδων και ελέγχει αν οι έξοδοι παίρνουν σωστές τιµές στον υπό έλεγχο σπόνδυλο. Το περιβάλλον ελέγχου (test bench) βρίσκεται µέσα σε µια εντολή "initial" (που το block της καθορίζεται από το ζευγάρι begin - end). 1.8 Initial Blocks Η εντολή "initial" που δίνει την εντολή να γίνει µία φορά αυτό το οποίο λέει αρχίζοντας πάντα από την αρχή του χρόνου (χρόνο 0), εκτελείται µόνο µία φορά στην έναρξη της προσοµοίωσης. Αν υπάρχουν πολλαπλά initial blocks, τότε όλα αυτά εκτελούνται στην αρχή της προσοµοίωσης. Είναι χρήσιµο όταν γράφονται test benches. 1.9 Always Block Όπως υποδηλώνει το όνοµα του, εκτελείται πάντα. Πρέπει να συνοδεύεται από έναν κατάλογο ευαισθησίας ή από µια καθυστέρηση που συνδέεται µ αυτό. Ο κατάλογος ευαισθησίας είναι αυτός που υποδηλώνει πότε να εκτελεστεί η ενότητα κώδικα που περιλαµβάνεται. Παράδειγµα: always @(negedge D or negedge E) begin if (E) begin Q<=D; Qbar <=~D; end end Η εντολή "always" σηµαίνει: ξεκίνα τη χρονική στιγµή 0 και συνέχισε εκτελώντας επαναληπτικά τις εντολές µέσα στο block που ακολουθεί. Το σύµβολο @ µετά τη λέξη κλειδί «always», δείχνει ότι το block θα ενεργοποιείται για την κατάσταση σε παρένθεση µετά το σύµβολο @. 1.10 Assign Statement Η δήλωση assign είναι η συνεχής δήλωση εκχώρησης (continuous assignment). - 18 -

1.11 Buses Buses είναι οι τρόποι παράστασης της κατεύθυνσης-σηµαντικότητας των ψηφίων και έχουν την µορφή [high : low] ή [msb : lsb]. Π.χ. [7:0] 1.12 Εndmodule Κάθε πρόγραµµα στην Verilog, για την σωστή λειτουργία του, έχει σαν προϋπόθεση να τελειώνει µε την εντολή-λέξη κλειδί endmodule. 1.13 Τελεστές Τύπος Τελεστή Σύµβολο Τελεστή Πράξη Τελεστή Αριθµητικοί: Λογικοί: Bitwise: Συγκριτικοί: Ισότητας: Ολίσθησης: * Πολλαπλασιασµός / ιαίρεση + Πρόσθεση - Αφαίρεση % Υπόλοιπο! Λογική Άρνηση && Λογικό και Λογικό ή & And ~& Nand Or ~ Nor ^ Xor ^~~^ Xnor ~ Not > Μεγαλύτερο < Μικρότερο >= Μεγαλύτερο ή ίσο <= Μικρότερο ή ίσο == Ισότητα!= Ανισότητα >> εξιά ολίσθηση - 19 -

Σύνδεσης: Συνθήκης: << Αριστερή ολίσθηση {} Σύνδεσης?: or Συνθήκης 1.14 Εισαγωγή σχεδίασης σε µορφή κώδικα γλώσσας Verilog Τα βήµατα για να σχεδιασθεί ένα κύκλωµα µέσω της γλώσσας Verilog είναι τα εξής: ηµιουργία ενός νέου σχεδίου, ονοµασία, και επιλογή του κατάλληλου προ- γράµµατος. (Στην παρούσα περίπτωση επεξεργαστή κειµένου). Σύνταξη προγράµµατος. Έλεγχος τυχών λαθών και αποθήκευση. Κλείσιµο σχεδίου. 1.14.1 Βήµα 1ο: ηµιουργία του σχεδίου ηµιουργούµε ένα νέο σχέδιο, το ονοµάζουµε και επιλέγουµε το κατάλληλο πρόγραµµα. Επιλέγουµε από το µενού File, New Project. Ονοµάζουµε το σχέδιο και επιλέγουµε τον φάκελο όπου θα το αποθηκεύσουµε. Επιλέγουµε από το menu τον τύπο που θα έχει ο κώδικάς µας, δηλαδή HDL και πατάµε το κουµπί Next. Στην συνέχεια επιλέγουµε τα εξής για να µπορέσει να χρησιµοποιηθεί η γλώσσα verilog: Product Category: All Family: Spartan3 Device: XC3S200 Package: FT256 Speed: -4 Top Level Source Type: HDL Synthesis Tool: XST (VHDL/Verilog) Simulator: ISE Simulator (VHDL/Verilog) Preferred Language: Verilog Επιβεβαίωση ότι το Enable Enhanced Design Summary είναι επιλεγµένο. Κλικ στο Next και επιλογή του New Source. Αφού η γλώσσα που θα χρησιµοποιήσουµε είναι η verilog θα επιλέξουµε το αρχείο Verilog Module. Το αρχείο ονοµάζεται ακριβώς όπως είχαµε ονοµάσει και το σχέδιο. Έπειτα γίνεται η επιλογή εισόδων (input) και εξόδων (output). Κάνουµε κλικ στο κουµπί Next και στη συνέχεια πατάµε Finish, Next, Next και Finish. - 20 -

1.14.2 Βήµα 2ο : Σύνταξη του προγράµµατος Αφού ολοκληρώσουµε το προηγούµενο βήµα, ανοίγουµε το αρχείο επεξεργασίας κειµένου και εισάγουµε τον κώδικα. 1.14.3 Βήµα 3ο : Έλεγχος τυχών λαθών και αποθήκευση. Για να ελέγξουµε αν ο κώδικάς µας είναι σωστός ή όχι κάνουµε τα εξής βήµατα: 1. Απ τον πίνακα Sources for, επιλέγεται από το αναδυόµενο µενού το Implementation. 2. Επιλέγουµε το σχέδιό µας που είναι αρχείο.v 3. Από τον πίνακα Processes επιλέγουµε το + που βρίσκεται µπροστά από το Synthesize XST και επιλέγουµε το Check Syntax από το αναδυόµενο µενού που εµφανίζεται. Αν ο κώδικας είναι σωστός θα εµφανιστεί στο κάτω µέρος της οθόνης στον πίνακα Transcript το µήνυµα Process Check Syntax completed successfully. Αποθήκευση επιλέγοντας File, Save και τέλος έξοδος επιλέγοντας File, Close Project. 1.15 Γλωσσάρι για την γλώσσα Verilog always block (µπλοκ που εκτελείται πάντα): Οι εντολές που βρίσκονται µέσα στο always block εκτελούνται ακολουθιακά και για πάντα, για όσο ισχύει η συνθήκη ενεργοποίησης του. assign (εκχώρηση): Λέξη κλειδί της γλώσσας Verilog που χρησιµοποιείται για την ενεργοποίηση της εξόδου. begin (αρχή): Λέξη κλειδί της γλώσσας Verilog που χρησιµοποιείται για να δηλώσει την αρχή (σε ένα µπλοκ ή σε µια δοµή). buses: Οι συµβάσεις κατεύθυνσης-σηµαντικότητας του ψηφίου και έχουν την µορφή [high : low] ή [msb : lsb]. case (περίπτωση): Μια δοµή ελέγχου που διαλέγει µια από πολλές επιλογές όταν περιγράφει την λειτουργία ενός κυκλώµατος βασισµένη στην τιµή του αντικειµένου δεδοµένων. default (προεπιλογή): Λέξη κλειδί της γλώσσας Verilog που χρησιµοποιείται για να δώσει µια προκαθορισµένη τιµή σ ένα συνδυαστικό σήµα όταν ο κώδικας δεν καθορίζει επακριβώς την τιµή. display: Συνάρτηση της γλώσσας Verilog που χρησιµοποιείται για την εµφάνιση στην οθόνη. else (διαφορετικά): Μια δοµή ελέγχου που χρησιµοποιείται σε συνδυασµό µε την if προκειµένου να εκτελεστεί µια εναλλακτική λειτουργία στη περίπτωση που δεν ισχύει η συνθήκη. - 21 -

end (τέλος): Λέξη κλειδί της γλώσσας Verilog που χρησιµοποιείται για να δηλώσει το τέλος (σε ένα µπλοκ ή σε µια δοµή). endcase (τέλος περίπτωσης): Λέξη κλειδί της γλώσσας Verilog που χρησιµοποιείται για να δηλώσει το τέλος σε µια δοµή ελέγχου (case). endmodule (τέλος ενότητας): Λέξη κλειδί της γλώσσας Verilog που χρησιµοποιείται για να δηλώσει το τέλος της κάθε ενότητας κώδικα. for: Μια δοµή επανάληψης που εκτελεί µια λειτουργία για όσες φορές επιτάσσει ο µετρητής. forever: Μια δοµή επανάληψης που εκτελείται για πάντα! Hardware Description Language ή HDL (γλώσσα περιγραφής υλικού): Μια γλώσσα περιγραφής κυκλωµάτων που χρησιµοποιείται στην διαδικασία σχεδίασης µε υπολογιστή. if (εάν): Μια δοµή ελέγχου που αξιολογεί µια συνθήκη και εκτελεί µια λειτουργία αν η συνθήκη είναι αληθινή ή παρακάµπτει την λειτουργία αν η συνθήκη δεν είναι αληθινή. initial block (αρχικό µπλοκ): Οι εντολές που βρίσκονται µέσα στο initial block εκτελούνται µια φορά µόνο στην αρχή. input (είσοδος): Λέξη κλειδί της γλώσσας Verilog που χρησιµοποιείται για να δηλώσει την είσοδο σ ένα κύκλωµα. Instantiation: H διαδικασία δηµιουργίας αντικειµένου. integer ή int (ακέραιος): Τύπος δεδοµένων που χρησιµοποιείται για να παραστήσει ακέραιη αριθµητική τιµή. module (ενότητα ): Λέξη κλειδί της γλώσσας Verilog που χρησιµοποιείται για να ξεκινήσει µία ενότητα κώδικα. negedge: Λέξη κλειδί της γλώσσας Verilog που χρησιµοποιείται για να δηλώσει την αρνητική πυροδότηση ενός παλµού χρονισµού. output (έξοδος): Λέξη κλειδί της γλώσσας Verilog που χρησιµοποιείται για να δηλώσει την έξοδο σ ένα κύκλωµα. posedge: Λέξη κλειδί της γλώσσας Verilog που χρησιµοποιείται για να δηλώσει την θετική πυροδότηση ενός παλµού χρονισµού. reg (register: καταχωρητής): Τύπος δεδοµένων που χρησιµοποιείται για την αποθήκευση των δεδοµένων. repeat: Μια δοµή επανάληψης που εκτελεί µια λειτουργία τόσες φορές όσες ο αριθµός στη συνθήκη της while: Μια δοµή επανάληψης που αξιολογεί µια συνθήκη και εκτελεί µια λειτουργία για όσο η συνθήκη είναι αληθινή. wire (σύρµα): Τύπος δεδοµένων που χρησιµοποιείται για τη σύνδεση 2 δοµικών συστατικών. - 22 -

Κεφάλαιο 2ο : ΕΙΣΑΓΩΓΗ ΣΤΟ ALTERA QUARTUS II 2.1 ALTERA QUARTUS II Το πρώτο µέρος του προγράµµατος εκµάθησης (Tutorial) Quartus II απεικονίζει µία βασισµένη σε σχηµατικά διαγράµµατα είσοδο για το επιθυµητό κύκλωµα. Γίνεται πολύ δύσκολο να χρησιµοποιηθεί αυτή η µέθοδος για ένα µεγάλο σχέδιο µε εκατοντάδες πρωτόγονες πύλες (primitive gates). Οι γλώσσες περιγραφής hardware (HDLs) παρέχουν βασιζόµενες σε κείµενο στερεότυπες εκφράσεις της δοµής και συµπεριφοράς των ψηφιακών κυκλωµάτων. Το δεύτερο τµήµα του προγράµµατος εκµάθησης Quartus II στοχεύει να παρουσιάσει µέθοδο εισόδου σχεδίου βασισµένη σε HDL. Σε αυτή την περίπτωση, Verilog αρχεία σχεδίων χρησιµοποιούνται για να συνθέσουν και να προσοµοιώσουν το επιθυµητό σχέδιο. Αυτό το πρόγραµµα εκµάθησης θα παρουσιάσει δύο τύπους προσοµοίωσης, δηλαδή, την λειτουργική προσοµοίωση (functional simulation) και την προσοµοίωση χρονοµέτρησης (timing simulation), για να αξιολογήσει τη συµπεριφορά και απόδοση του επιθυµητού σχεδίου. Παρακαλώ σηµειώστε ότι αυτό το πρόγραµµα εκµάθησης είναι βασισµένο στο Altera Quartus II 8.1 έκδοσης για το διαδίκτυο. Περιεχόµενα 1. Είσοδος σχεδίου VHDL (design Entry) 2. Λειτουργική Προσοµοίωση (Functional Simulation) 3. Προσοµοίωση Χρονοµέτρησης (Timing Simulation) 2.2 ηµιουργώντας HDL Εργασίες Σχεδίου µε το Quartus ΙΙ Σε αυτό το τµήµα, µία νέα εργασία HDL αποκωδικοποιητή θα σχεδιαστεί και θα γίνει compiled µε το Quartus II. Το αρχείο σχεδίου θα γραφτεί σε Verilog. Η βασισµένη σε HDL είσοδος σχεδίου στο Quartus II ακολουθεί τα περισσότερα από τα βήµατα που αναφέρονται στο πρώτο τµήµα για τον σχεδιασµό βάσει διαγραµµάτων. Αφού ανοίξουµε µία νέα εργασία χρησιµοποιώντας ένα νέο project wizard θα επιλέξουµε το αρχείο σχεδίου Verilog πατώντας τα κουµπιά File> New>Verilog file Αφού επιλέξουµε το αρχείο Verilog, το Quartus ΙΙ θα ανοίξει ένα αρχείο επεξεργαστή κειµένου (text editor file) verilog1.v για να τοποθετήσει τα αρχεία σχεδίου µας. Θα γράψουµε τον κώδικα Verilog. Παρακαλώ σηµειώστε ότι το όνοµα αρχείου Verilog πρέπει να είναι το ίδιο µε το όνοµα module. Έχοντας σώσει το αρχείο Verilog, χρειάζεται να κάνουµε compile το αρχείο σχεδίου για προσοµοίωση. Ο Compiler θα επεξεργαστεί το αρχείο.v. Είναι δυνατό να τρέξουµε το πλήρες compilation ή να τρέξουµε µεµονωµένα module (Ανάλυση & Σύνθεση, the Fitter, και Αναλυτής Χρονισµού Timing Analyzer). Θα µπορούσαµε να τρέξουµε µερικό compilation επιλέγοντας την εντολή Start Analysis and Elaboration για να τσεκάρουµε το αρχείο.v για συντακτικά και σηµασιολογικά λάθη. - 23 -

Έχοντας κάνει επιτυχηµένα compile το αρχείο σχεδίου µας, χρειαζόµαστε ένα αρχείο κυµατοµορφής vector για να προσοµοιώσουµε το αρχείο σχεδίου µας. 2.3 Λειτουργική Προσοµοίωση (Functional Simulation) Η λειτουργική προσοµοίωση επιβεβαιώνει την ορθότητα της λογικής λειτουργίας των κυκλωµάτων που έχουν συντεθεί. εν λαµβάνει θέµατα συγχρονισµού (timing issue) υπόψη. Το Quartus II διεξάγει την προσοµοίωση συγχρονισµού προεπιλεγµένα (by default). Έτσι, η ρύθµιση πρέπει να αλλαχθεί για να τρέχει λειτουργική προσοµοίωση. Αυτό γίνεται επιλέγοντας Assignment>Setting και µετά επιλέγοντας functioning simulation mode. Πριν τρέξετε την λειτουργική προσοµοίωση, µία netlist λειτουργικής προσοµοίωσης για το συντεθειµένο κύκλωµα πρέπει να παραχθεί. Αυτό γίνεται επιλέγοντας Processing > Generate functional Simulation Netlist. Σε αυτό το σηµείο, είµαστε έτοιµοι να τρέξουµε µία λειτουργική προσοµοίωση. Η προσοµοίωση θα χρησιµοποιεί ένα αρχείο κυµατοµορφής vector που δηµιουργήθηκε νωρίτερα. Θα επιλέξουµε Process > Start Simulation για να ξεκινήσει η προσοµοίωση. Η επιτυχής προσοµοίωση θα παράγει µία κυµατοµορφή προσοµοίωσης. 2.4 Προσοµοίωση Χρονοµέτρησης (Timing Simulation) Έχοντας επαληθεύσει τη λογική ορθότητα του αρχείου σχεδίου, είναι αναγκαίο να προσδιορίσουµε εάν το συντεθειµένο κύκλωµα ανταπεξέρχεται στο εµπόδιο καθυστέρησης (delay constraint). Η προσοµοίωση χρονοµέτρησης επαληθεύει τόσο την λογική ορθότητα όσο και την χρονοµέτρηση. Θα µπορέσουµε να εξακριβώσουµε την καθυστέρηση του πολλαπλασιασµού σε διάφορα paths στα συντεθειµένα κυκλώµατα. Έχουµε αλλάξει την προκαθορισµένη ρύθµιση για να τρέξουµε την λειτουργική προσοµοίωση. Έτσι, πρέπει να την αλλάξουµε ξανά σε Προσοµοίωση Χρονολόγησης για να τρέξουµε την προσοµοίωση χρονολόγησης. Η προσοµοίωση χρονολόγησης διεξάγεται επιλέγοντας Processing > Start Compilation and Simulation. Μετά από τα επιτυχή compilation και προσοµοίωση, η κυµατοµορφή προσοµοίωσης θα εµφανίζεται. Το εργαλείο Timing Analyzer (Αναλυτής Χρονοµέτρησης) θα παρέχει καθυστερήσεις πολλαπλασιασµού σε όλα τα paths και την χειρότερη καθυστέρηση πολλαπλασιασµού. - 24 -

Κεφάλαιο 3ο : ALTERA MAXPLUSS II 3.1 Εισαγωγή σχεδίασης µε χρήση HDL editor Ξεκινάµε είτε από το εικονίδιο Altera Maxplus II,είτε από το Start- Programms-Altera-Maxplus II και κάνουµε τα εξής Εικόνα 1: Αρχικό σχεδιαστικό περιβάλλον Altera Maxplus II Για τη σωστή λειτουργία του κυκλώµατος θα πρέπει πρώτα να γίνει η σωστή ακολουθία βηµάτων προσοµοίωσης όπως περιγράφονται παρακάτω : 1. Για να ανοίξουµε ήδη υπάρχον αρχείο επιλέγουµε File-Open και στο dialog box διαλέγουµε το αρχείο µας σε µορφή «.v» Αυτό µας βάζει στο text editor µε τον κώδικα Verilog. 2. Θέτουµε το αρχείο µας στο παρόν αρχείο µε την επιλογή File-Project-Set Project To Current File 3. Στη συνέχεια για να κάνουµε compilation τη σχεδίασή µας επιλέγουµε Max Plus II- Compiler 4. Το παράθυρο του Compiler ανοίγει και επιλέγουµε το Start. Κατά την διάρκεια του Compilation ανοίγει ένα νέο παράθυρο µηνυµάτων που µας ενηµερώνει για την πορεία του και τυχόν λάθη. 5. Μόλις ολοκληρωθεί επιτυχώς η διαδικασία, προχωράµε στην χρονική προσοµοίωση (Timing Simulation). 6. Επιλέγουµε File-New και στο dialog box επιλέγουµε Waveform Editor. - 25 -

7. Στον Editor παρατηρούµε ότι όλα τα σήµατα λείπουνε. Επιλέγουµε από το menu Node-Enter Nodes From SNF. 8. Στο νέο παράθυρο επιλέγουµε List για να δούµε τα σήµατα. 9. Μόλις γίνει αυτό µε το βελάκι τα µεταφέρουµε στα ενεργά σήµατα στην άλλη πλευρά. 10. Αρχικοποιούµε τις τιµές των εισόδων επιλέγοντας για κάθε σήµα µια περίοδο που θέλουµε να θέσουµε. 11. Στα εικονίδια της αριστερής µεριάς επιλέγουµε είτε 0/1 για µεταβλητές που είναι 1 bit, είτε G για µεταβλητές που είναι bit vector. Σ αυτήν την περίπτωση δίνουµε την τιµή που θέλουµε να πάρει το bit vector. Στη διαδικασία τα timing waveforms δείχνουν τις αντίστοιχες τιµές. 12. Σώζουµε το αρχείο µε την επιλογή File-Save. 13. Επιλέγουµε από το menu MaxPlus II την επιλογή Simulator και στη συνέχεια Start. 14. Τέλος ελέγχουµε τις εξόδους και πιστοποιούµε την σωστή λειτουργλια του κυκλώµατος. - 26 -

Κεφάλαιο 4ο : Εισαγωγή στο Leonardo Spectrum 4.1 MENTOR GRAPHICS 4.1.1 Η ιστορία της Mentor Graphics Το 1981, η ιδέα του υποβοηθούµενου από υπολογιστές σχεδιασµού για τα ηλεκτρονικά ως το θεµέλιο µιας εταιρίας ήρθε σε αρκετές οµάδες αυτές που ίδρυσαν την Mentor, την Valid Logic Systems και την Daisy Systems. Ένας από τους κύριους διαχωρισµούς αυτών των οµάδων ήταν ότι οι ιδρυτές µηχανικοί της Mentor, των οποίων οι προ-υπηρεσίες ήταν στην ανάπτυξη λογισµικών στην Tektronix, απέκλειε το σχεδιασµό και κατασκευή ιδιόκτητων υπολογιστών για την εκτέλεση των λογισµικών εφαρµογών τους. Αισθανόντουσαν ότι τα εξαρτήµατα (hardware) επρόκειτο να γίνουν ένα αγαθό που θα κατείχαν οι µεγάλες εταιρίες υπολογιστών, έτσι αντί αυτού επέλεξαν ένα υπάρχον σύστηµα υπολογιστών ως την βάση εξαρτηµάτων (hardware) για τα προγράµµατα της Υποβοηθούµενης από Υπολογιστές Μηχανικής (CAE) που θα κατασκεύαζαν. Μέχρι το Φεβρουάριο του 1981, οι περισσότεροι από την αρχική οµάδα είχαν προσδιοριστεί µέχρι το Μάρτιο, οι 3 διευθυντικοί ιδρυτές, ο Tom Bruggere, ο Garry Langeler και ο Dave Moffenbeier είχαν φύγει από την Tektronix και µέχρι το Μάιο το επιχειρησιακό σχέδιο ήταν ολοκληρωµένο. Η πρώτη δόση χρηµάτων, $1 εκατοµµύριο, ήρθε από την Sutter Hill, την Greylock και την Venrock Associates. Η επόµενη δόση ήταν $2 εκατοµµύρια από πέντε εταιρίες κεφαλαίων επιχειρηµατικού κινδύνου (venture capital funds) και τον Απρίλιο του 1983 µία τρίτη δόση συγκέντρωσε $7 εκατοµµύρια επιπλέον. Η Mentor Graphics ήταν µία από τις πρώτες εταιρίες που επιχείρησε να προσελκύσει κεφάλαια επιχειρηµατικού κινδύνου στο Όρεγκον. Ως αρχική πλατφόρµα εξαρτηµάτων (hardware) επιλέχθηκαν υπολογιστές θέσης εργασίας (workstations) της Apollo Computer. Με έδρα το Chelmsford, της Μασσαχουσέτης, η Apollo ήταν νεότερη του ενός έτους εταιρία και µόλις είχε αναγγείλλει την ύπαρξή της στο κοινό λίγες εβδοµάδες πριν οι δηµιουργοί της Mentor Graphics ξεκινήσουν τις αρχικές συσκέψεις τους. Όταν η Mentor εισήλθε στην αγορά της Υποβοηθούµενης από Υπολογιστές Μηχανικής (CAE), η εταιρία είχε δύο τεχνικούς διαφοροποιητές. Ο πρώτος ήταν το λογισµικό οι Mentor, Valid και Daisy είχαν όλες λογισµικό µε διαφορετικές δυνάµεις και αδυναµίες. Ο δεύτερος ήταν τα εξαρτήµατα για την σύλληψη σχηµατικών διαγραµµάτων η Mentor έτρεχε όλα τα προγράµµατά στον υπολογιστή θέσης εργασίας της Apollo (Apollo workstation), ενώ οι Daisy και η Valid είχαν καθεµιά φτιάξει τα δικά τους εξαρτήµατα για την σύλληψη σχηµατικών διαγραµµάτων, αλλά έτρεχαν προσοµοίωση και άλλα προγράµµατα σε µεγαλύτερους υπολογιστές όπως ο MicroVAX. Μετά από µία ιλιγγιωδη ανάπτυξη, το προϊόν IDEA 1000 παρουσιάστηκε στο Συνέδριο Αυτοµατισµού Σχεδίου του 1982 (Design Automation Conference), αν και αυτό έγινε σε µία σουίτα και όχι σε όροφο. Μέχρι να έρθει ο καιρός που ο ιδρυτής Bruggere έθεσε υποψηφιότητα για την Σύγκλητο των Η.Π.Α. το 1996, η εταιρία είχε αναπτυχθεί µε ετήσια έσοδα $384 εκατοµµύρια. Η Mentor Graphics είναι µία παγκόσµια εταιρία µε την ανάπτυξη προϊόντων της να συµβαίνει στην Αµερική, την Ευρώπη, την Ιαπωνία, το Πακιστάν, την Ινδία και την Αίγυπτο. Για τη διατήρηση επαφής µε τις παγκόσµιες τάσεις στην ανάπτυξη - 27 -

λογισµικού, η εταιρία έχει µία αρκετά µεγάλη εργατική δύναµη σε περιοχές χαµηλού κόστους όπως το Πακιστάν, η Ινδία, η Πολωνία, η Ουγγαρία και η Αίγυπτος. Ο James Jim Ready, ένας από τους πιο εξέχοντες ανθρώπους στα ενσωµατωµένα συστήµατα, άφησε την Mentor το 1999, για να σχηµατίσει την ενσωµατωµένη στη Linux εταιρία MontaVista. Ο Neil Henderson, ένας πρωτοπόρος στον εµπορικό χώρο ατελούς και παρεχόµενου κώδικα, έγινε µέλος της Mentor Graphics το 2002 µε την απόκτηση της Accelerated Technology Inc. Ο Stephen Mellor, ένας ηγέτης στo χώρο UML και συνδηµιουργός της µεθοδολογίας σχεδίου Shlaer-Mellor, έγινε µέλος της Mentor Graphics το 2004 µε την απόκτηση της Project Technology. Από το 2011, οι κυριότεροι ανταγωνιστές της Mentor είναι οι Cadence Design Systems, Synopsys και Magma Design Automation. Το Φεβρουάριο του 2011, ο Carl Icahn, ένας ακτιβιστής επενδυτής, έκανε µία προσφορά για να εξαγοράσει την εταιρία για περίπου $1,86 εκατοµµύρια σε ρευστό σε µία κίνηση να πιέσει άλλους µνηστήρες να παρουσιαστούν. 4.1.2 ιεύθυνση Από τον Ιανουάριο του 2011, ο Walden C. Rhines είναι ο πρόεδρος του συµβουλίου της εταιρίας και διευθύνων σύµβουλος. Ξεκίνησε ως διευθύνων σύµβουλος τον Οκτώβριο του 1993. Ο Gregory K. Hinckley εκτελεί καθήκοντα ως πρόεδρος του συνεταιρισµού και έχει υπάρξει εταιρικό µέλος από τον Ιανουάριο του 1997. Είσοδος στα κεντρικά της εταιρίας 4.1.3 Χαρακτηριστικά κύριων προϊόντων: Ένα εργαλείο, µία καµπύλη εκµάθησης, µία συλλογή από scripts, για CPLDs, FPGAs ή ASICs Μίξη VHDL, Verilog και EDIF για να καταστεί δυνατή η επαναχρησιµοποίηση του σχεδιασµού και η υλοποίηση (instantiation) της πνευµατικής ιδιοκτησίας Υψηλότατη QoR µε την ταχύτητα και τα χαρακτηριστικά που χρειάζεστε για µεγάλα σχέδια HDLInventor δηµιουργεί βελτιστοποιηµένο κώδικα HDL γρήγορα και διευκολύνει την ευρεία διανοµή πνευµατικής ιδιοκτησίας στην εταιρία. - 28 -

F.A.S.T. βελτιστοποιήσεις φτιαγµένες ειδικά για την τεχνολογία εξασφαλίζουν ένα γρήγορο και µικρό σχεδιασµό Το P&R Integrator απλοποιεί την τοποθέτηση και διανοµή και επιφέρει βελτιωµένα αποτελέσµατα Το ενσωµατωµένο partitioning επιταχύνει την πρωτοτυπικότητα ASIC και την ιαδικασία επαλήθευσης 4.2 Leonardo Spectrum 4.2.1 Γενικά Το Leonardo Spectrum σχεδιάστηκε για να υποστηρίξει πραγµατικά ιεραρχικό σχεδιασµό. Ο περιηγητής ιεραρχίας του σου επιτρέπει την πρόσβαση, την διαχείριση, τον περιορισµό και την ανταλλαγή ιεραρχικών µπλοκ. ιατηρεί την σχεδιαστική ιεραρχία. Αυτό µας επιτρέπει να εκµεταλλευτούµε τα πλεονεκτήµατα µίας ιεραρχικά βασισµένης προσέγγισης σχεδιασµού, συµπεριλαµβάνοντας και σταδιακό σχεδιασµό και σύνθεση. Με την υποστήριξη.lib και περισσότερες από 200 πλήρως υποστηριζόµενες τεχνολογίες FPGA και ASIC, το Leonardo Spectrum είναι σχεδιασµένο για να ανταποκριθεί στις ανάγκες µας καθώς τα σχέδια γίνονται µεγαλύτερα, γρηγορότερα και περισσότερο πολύπλοκα. Το Leonardo Spectrum σας επιτρέπει να δηµιουργήσετε CPLDs, FPGAs, ή ASICs σε VHDL ή Verilog µέσα σε ένα περιβάλλον σύνθεσης. Οι χρήστες που αντιµετωπίζουν προκλήσεις σχεδιασµού έχουν πρόσβαση σε εξελιγµένους ελέγχους σύνθεσης εντός των αποκλειστικών στην Leonardo Spectrum FlowTabs και PowerTabs. Επιπλέον, τα ισχυρά χαρακτηριστικά debugging (εκσφαλµάτωσης) και η αποκλειστική έρευνα σε βάθος πέντε σηµείων στο LeonardoInsight επιτυγχάνουν την ανάλυσή σου των αποτελεσµάτων σύνθεσης. - 29 -

4.2.3 Πραγµατική Ιεραρχική Υποστήριξη για Σταδιακές Συνθέσεις Ιδιοκτησιακά εύκολα στη χρήση χαρακτηριστικά όπως FlowTabs και QuickSetup επιτρέπουν σύνθεση first time FPGA. Ο ιεραρχικός σχεδιασµός σου επιτρέπει να εκτελέσεις σταδιακό σχεδιασµό και οµαδικό σχεδιασµό. Μπορείς να τροποποιήσεις µεµονωµένες υποδιαιρέσεις (modules) στο επίπεδο RTL, µετά να επανασυνθέσεις και να επαναµεγιστοποιήσεις ενώ διατηρείς πληροφορίες netlist στα περιβάλλοντα (ή γειτονικά) blocks. Αυτό µειώνει σηµαντικά τους χρόνους συµπίεσης σε περίπλοκα σχέδια πολλαπλών blocks. Μία σταδιακή προσέγγιση υποστηρίζεται επίσης κατά τη διάρκεια της σύνθεσης. Οι περιορισµοί µπορούν να «σφιχτούν» σε υπό-blocks και να επαναβελτιστοποιηθούν για να τελειοποιήσουν τον tune time ή στόχους περιοχών ακολουθώντας λειτουργίες τόπου και διαδροµής. Ο σχεδιασµός Blocklevel παρέχει το κλειδί στην αποτελεσµατική αλληλεπίδραση µεταξύ της σύνθεσης και τόπου και διαδροµής. 4.2.4 Scripting Ισχυρό scripting επιτρέπει στις εταιρίες που χρησιµοποιούν το Leonardo Spectrum να στήσουν και να επιβάλλουν προσαρµοσµένες, σε όλο το εύρος της εταιρίας, σχεδιαστικές ροές. Τα scripts έχουν πρόσβαση σε όλη τη σχεδιαστική βάση δεδοµένων, παρέχοντας πλήρη δυνατότητα εκµετάλλευσης δεδοµένων. Οι Conditionals επιτρέπουν στους χρήστες να αυτοµατοποιούν µεγάλες και πολύπλοκες εργασίες - 30 -