H γλώσσα περιγραφής κυκλωµάτων VHDL

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

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

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

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

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

Προσοµοίωση Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL)

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

Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

Κεφάλαιο 14 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Σχεδιαστικές Μεθοδολογίες 2

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

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

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

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

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

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

Σχεδίαση Υπολογιστικών

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

VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων

Βασικές οµές Μοντελοποίησης. (Peter Ashenden, The Students Guide to VHDL)

Σύνθεση Ψηφιακών Συστηµάτων. Χ. Καβουσιανός

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

Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. VHDL για Ακολουθιακά Κυκλώματα 1

Σχεδίαση µε CAD tools

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches)

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL)

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

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

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

ς Ποιότητα ξιολόγηση Α

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

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

VHDL Introduction. Subtitle

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

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

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

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος


Library, package και subprograms

Μοντελοποίηση Επιπέδου Πύλης. (Peter Ashenden, The Students Guide to VHDL)

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

Structural VHDL. Structural VHDL

Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών &

Διαφορές single-processor αρχιτεκτονικών και SoCs

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

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων

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

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

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

Συστήματα VLSI. Εισαγωγή. Γιώργος Δημητρακόπουλος. Δημοκρίτειο Πανεπιστήμιο Θράκης. Άνοιξη 2014

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

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

VHDL. ΗΜΥ-210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Απλό παράδειγµα: Entity. Μοντελοποίηση. Απλό παράδειγµα:αρχιτεκτονική. Στοιχεία γλώσσας VHDL

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

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

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

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

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο Νοε-09. Διδάσκουσα: Μαρία Κ. Μιχαήλ

ΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών

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

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

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

Μοντέλα Αρχιτεκτονικής στην Σύνθεση

Introduction to IP Cores

(Peter Ashenden, The Students Guide to VHDL)

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

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

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

Καράγιωργας Νικόλαος Α.Μ. 90 Τριανταφυλλόπουλος Σταύρος Α.Μ. 92 Μεταπτυχιακό Πρόγραµµα ΟΣΥΛ. Η δηµοφιλέστερη γλώσσα σχεδιασµού Hardware!

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

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

Πτυχιακή Εργασία. Σχεδίαση Εφαρμογών Ψηφιακών Συστημάτων Με Τη Γλώσσα VHDL

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

constant number_of_bytes : integer := 4; constant number_of_bits : integer := 8 * number_of_bytes;

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

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

Σύνθετοι τύποι και λειτουργίες. (Peter Ashenden, The Students Guide to VHDL)

Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

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

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Προηγμένα Συστήματα Πληροφορικής» Μεταπτυχιακή Διατριβή

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

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

VHDL για Σχεδιασµό Συνδυαστικών και Ακολουθιακών Ψηφιακών Κυκλωµάτων

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

Εισαγωγή στον έλεγχο ορθής λειτουργίας ψηφιακών συστημάτων. Δημήτρης Νικολός, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν.

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

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

HY430 Εργαστήριο Ψηφιακών Κυκλωμάτων. Πολυπλέκτες Καμπύλη Παρέτο. Κωδικοποιητές/Από-κωδικοποιητές D FF

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

3. Πρόσθεση Πολλαπλασιασμός 4. Πρόσθεση στο πρότυπο ΙΕΕΕ Πολλαπλασιασμός στο πρότυπο ΙΕΕΕ

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 10: Συµπληρωµατική Διάλεξη Flip-Flops (Basics) και VHDL)

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

Transcript:

H γλώσσα περιγραφής κυκλωµάτων VHDL Καβουσιανός Χρ. Τσιατούχας Γ. Λέκτορες Πανεπιστηµίου Ιωαννίνων (Peter Ashenden, The Students Guide to VHDL)

Γενικά VHDL = VHSIC (Very High Speed Integrated Circuits) Hardware Description Language 1980 Υπουργείο Άµυνας ΗΠΑ-ΙΕΕΕ Verilog ABEL Το 1987 έγινε πρότυπη γλώσσα από το IEEE ως IEEE Standard 1076. Αναθεωρήθηκε το 1993 και το 2001 και η πρόσφατη έκδοση κυκλοφόρησε ως VHDL-2001. Η µάθηση της VHDL απαιτεί γνώση της θεωρίας Ψηφιακής Σχεδίασης. Γλώσσα Περιγραφής VHDL 2

Γενικά Τα σύγχρονα ψηφιακά συστήµατα είναι αρκετά περίπλοκα. Απαιτείται αντιµετώπιση της πολυπλοκότητας για σχεδίαση µε σιγουριά τήρησης των προδιαγραφών. Ένας τρόπος είναι ο συστηµατικός σχεδιασµός: χρήση ιεραρχικής ρχ δοµής (από αφηρηµένα µοντέλα σε στοιχεία βιβλιοθήκης) Κάθε υποσύστηµα µπορεί να αντιµετωπιστεί ως ανεξάρτητη αφηρηµένη οντότητα (χωρίς λεπτοµέρειες υλοποίησης). Μοντέλο: Τρόπος αναπαράστασης πληροφοριών και επίπεδο αφαίρεσης. Γλώσσα Περιγραφής VHDL 3

Μοντελοποίηση συστηµάτων Η VHDL χρησιµοποιείται για την ανάπτυξη µοντέλων ενός συστήµατος Ανάγκες χρήσης µοντέλων: καταγραφή προδιαγραφών τεκµηρίωση επαλήθευση ηµ µετη η χρήση προσοµοίωσης µ τυπική επαλήθευση (formal verification) σύνθεση Στόχος αξιόπιστη διαδικασία σχεδίασης, µε ταυτόχρονη ελαχιστοποίηση του κόστους και του απαιτούµενου χρόνου αποφυγή σχεδιαστικών λαθών Γλώσσα Περιγραφής VHDL 4

Περιοχές & Επίπεδα Μοντελοποίησης Ι οµικό Structural Λειτουργικό Functional υψηλό επίπεδο αφαίρεσης χαµηλό επίπεδο αφαίρεσης Γεωµετρικό Gajski & Kahn Y-Chart Geometric Γλώσσα Περιγραφής VHDL 5

Περιοχές & Επίπεδα Μοντελοποίησης ΙΙ οµικό Structural Λειτουργικό Functional Algorithm (behavioral level) Register-Transfer Language Boolean Equations Differential Equations Γεωµετρικό Gajski & Kahn Y-Chart Geometric Γλώσσα Περιγραφής VHDL 6

Περιοχές & Επίπεδα Μοντελοποίησης ΙΙΙ οµικό Structural Λειτουργικό Functional Processor Memory Switch (PMS) Register-Transfer Level Gates Transistors Γεωµετρικό Gajski & Kahn Y-Chart Geometric Γλώσσα Περιγραφής VHDL 7

Περιοχές & Επίπεδα Μοντελοποίησης ΙV οµικό Structural Λειτουργικό Functional Polygons Sticks Standard Cells Floor Plan Γεωµετρικό Gajski & Kahn Y-Chart Geometric Γλώσσα Περιγραφής VHDL 8

Παράδειγµα CIO Memory MPU CIO Interconnect Control IR ALU GPR PC MAR MDR Bus Drivers MPU ALU181 Γλώσσα Περιγραφής VHDL 9

Βασικές Αρχές Μοντέλα ιασυνδέσεων (Interface Models) Μοντέλα Συµπεριφοράς (Behaviour Models) Μοντέλα οµής (Structure Models) Μοντέλα Ελέγχου-Επαλήθευσης (Test Bench Models) Προσοµοίωση (Simulation) Σύνθεση (Synthesis) Η δοµή µιας VHDL σχεδίασης µοιάζει µε τη δοµή µίας σύγχρονης σχεδίασης λογισµικού: η VHDL περιγράφει από κοινού ένα τρόπο διασύνδεσης/επικοινωνίας του σχεδιασµού µε το εξωτερικό περιβάλλον καθώς και µία εσωτερική υλοποίηση. Γλώσσα Περιγραφής VHDL 10

Βασικές Αρχές Η VHDL περιγραφή µιας σχεδίασης αποτελείται από οντότητες (entities) και αρχιτεκτονικές (architectures). Σε κάθε οντότητα αντιστοιχεί τουλάχιστον µία αρχιτεκτονική d 0 q0 d0 d1 d2 d3 register_4 q0 q1 q2 q3 d 1 q1 d 2 q2 en clk d 3 q3 Γλώσσα Περιγραφής VHDL 11

ήλωση Οντότητας ήλωση Οντότητας (Entity) ονοµατίζει µια κυκλωµατική οντότητα (module) και περιγράφει τον τρόπο διασύνδεσής της µε το περιβάλλον παραθέτοντας τις θύρες εισόδου/εξόδου σηµάτων όνοµα οντότητας ονόµατα θυρών συµπεριφορά θύρας (φορά) entity register_4 is port (d0, d1, d2, d3, en, clk : in bit; q0, q1, q2, q3 : out bit); end entity register_4; χρήση µπλε χρώµατος για τις δεσµευµένες λέξεις τύπος θύρας {Συµπεριφορά θύρας: in, out, inout, buffer } register_4 d0 d1 d2 d3 en clk q0 q1 q2 q3 Γλώσσα Περιγραφής VHDL 12

Αρχιτεκτονική Αρχιτεκτονικό Σώµα (Architecture Body) περιγράφει µία πιθανή υλοποίηση µιας οντότητας ενδεχοµένως να υπάρχουν περισσότερες της µίας περιγραφές Ένα αρχιτεκτονικό σώµα µπορεί να αποδίδει µία αρχιτεκτονική συµπεριφοράς (behavioural architecture) ή µία αρχιτεκτονική δοµής (structural architecture) Αρχιτεκτονική Συµπεριφοράς (Behavioural Architecture): περιγράφει τον αλγόριθµο που επιτελεί η οντότητα και περιλαµβάνει καταχωρήσεις διαδικασιών. Γλώσσα Περιγραφής VHDL 13

Αρχιτεκτονική ιαδικασίες (Process Statements): συλλογή ενεργειών που εκτελούνται ακολουθιακά. Εκτίµηση εκφράσεων Ανάθεση τιµών σε µεταβλητές Εκτέλεση υπό συνθήκη Επαναλαµβανόµενη µ εκτέλεση Κλήσεις υποπρογραµµάτων Ανάθεση σηµάτων (διαφοροποίηση: προγραµµατισµός ανάθεσης σε µέλλοντα χρόνο). Αναµονή γεγονότων (wait statements). Γλώσσα Περιγραφής VHDL 14

Παράδειγµα Αρχιτεκτονικής architecture behav of register_4 is begin storage : process is variable stored_d0,stored_d1, stored_d2, stored_d3 : bit; begin if en = '1' and clk = '1' then stored_d0 := d0; stored_d1 := d1; stored_d2 d2 := d2; stored_d3 := d3; end if; q0 <= stored_d0 after 5 ns; q1 <= stored_d1 after 5 ns; q2 <= stored_d2 after 5 ns; q3 <= stored_d3 after 5 ns; wait on d0, d1, d2, d3, en, clk; end process storage; end architecture behav; Γλώσσα Περιγραφής VHDL 15

Μοντελοποίηση οµής Αρχιτεκτονική οµής (Structural Architecture) υλοποιεί µία οντότητα ως µία σύνθεση υποσυστηµάτων ή κυκλωµατικών στοιχείων περιλαµβάνει δηλώσεις σηµάτων (signal declarations), για εσωτερικές διασυνδέσεις οι θύρες µιας οντότητας (entity) πραγµατεύονταιεπίσηςωςσήµατα στιγµιότυπα κυκλωµατικών στοιχείων (component instances) στιγµιότυπα ζευγών entity/architecture που έχουν δηλωθεί νωρίτερα χαρτογράφηση θυρών (port maps) των στιγµιότυπων των κυκλωµατικών στοιχείων σύνδεση σηµάτων στις θύρες των κυκλωµατικών στοιχείων δηλώσεις αναµονής (wait statements) Γλώσσα Περιγραφής VHDL 16

Αρχιτεκτονική οµής Ι d0 bit0 d_latch d q q0 clk d1 bit1 d_latch d q q1 clk d2 bit2 d_latch d q q2 clk d3 bit3 d_latch d q q3 en clk gate and2 a b y int_clk clk οµική σύνθεση του καταχωρητή 4-bit µε τη χρήση D-Latch και AND κυκλωµατικών στοιχείων Γλώσσα Περιγραφής VHDL 17

Αρχιτεκτονική οµής ΙΙ Αρχικά η δήλωση των entities/architectures των κυκλωµατικών στοιχείων D-Latch και AND. entity d_latch is port ( d, clk : in bit; q : out bit ); end entity d_latch; entity and2 is port ( a, b : in bit; y : out bit ); end entity and2; architecture t basic of d_latch is begin latch_behavior : process is begin if clk = 1 then q <= d after 2 ns; end if; wait on clk, d; end process latch_behavior; end architecture basic; architecture basic of and2 is begin and2_behavior : process is begin y <= a and b after 2 ns; wait on a, b; end process and2_behavior; end architecture basic; Γλώσσα Περιγραφής VHDL 18

Αρχιτεκτονική οµής ΙΙΙ Χρήση των κυκλωµατικών στοιχείων στην υλοποίηση του καταχωρητή 4-bit. ηλώσεις Σηµάτων (Signal Declarations) architecture struct of register_4 is signal int_clk : bit; begin bit0 : entity work.d_latch(basic) port map ( d0, int_clk, q0 ); Στιγµιότυπα Κυκλωµατικών Στοιχείων (Component Instances) Χαρτογράφηση Θυρών (Port Maps) bit1 : entity work.d_latch(basic) port map ( d1, int_clk, q1 ); bit2 : entity work.d_latch(basic) port map ( d2, int_clk, q2 ); bit3 : entity work.d_latch(basic) port map ( d3, int_clk, q3 ); gate : entity work.and2(basic) port map ( en, clk, int_clk ); end architecture struct; Γλώσσα Περιγραφής VHDL 19

Μεικτή Περιγραφή Συµπεριφοράς - οµής Μία αρχιτεκτονική µπορεί να ενσωµατώνει ταυτόχρονα τµήµατα περιγραφής συµπεριφοράς και δοµής: συνύπαρξη διαδικασιών (process statements) και δοµών (component instances) οι διαδικασίες και οι δοµές επικοινωνούν µε σήµατα στα οποία µπορούν να διαβάζουν και να αποδίδουν τιµές. Οι διαδικασίες και οι δοµές ονοµάζονται concurrent statements καθώς εκτελούνται ταυτόχρονα. ίνει µεγάλη ευελιξία στην σχεδίαση και επιτρέπει χρήση προσχεδιασµένων τµηµάτων. Γλώσσα Περιγραφής VHDL 20

Παράδειγµα Μεικτής Περιγραφής Παράδειγµα: RTL µοντέλο πολλαπλασιαστή το data path περιγράφεται δοµικά το τµήµα ελέγχου (control) περιγράφεται σε µορφή συµπεριφοράς πολλαπλασιαστής πολλαπλασιαστέος shift_reg control_ section shift_ adder register γινόµενο Γλώσσα Περιγραφής VHDL 21

Παράδειγµα Μεικτής Περιγραφής ΙΙ entity multiplier is port ( clk, reset : in bit; multiplicand, multiplier : in integer; product : out integer ); end entity multiplier; architecture mixed of mulitplier is signal partial_product, full_product : integer; signal arith _ control, result _ en, mult _ bit, mult _ load : bit; begin arith_unit : entity work.shift_adder(behavior) port map ( addend => multiplicand, augend => full_product, sum => partial_product, add_control => arith_control ); result : entity work.register(behavior) port map ( d => partial_product, q => full_product, en => result_en, reset => reset );... Γλώσσα Περιγραφής VHDL 22

Παράδειγµα Μεικτής Περιγραφής ΙΙΙ multiplier_sr : entity work.shift_reg(behavior) port map ( d => multiplier, q => mult_bit, load => mult_load, clk => clk ); product <= full_product; control_section : process is -- variable declarations for control_section -- begin -- sequential statements to assign values to control -- signals -- wait on clk, reset; end process control_section; end architecture mixed; Γλώσσα Περιγραφής VHDL 23

Μοντέλα Ελέγχου-Επαλήθευσης O έλεγχος µιας σχεδίασης γίνεται µε µεθόδους προσοµοίωσης Απαιτείται ο σχεδιασµός καθώς και µία µέθοδος τροφοδότησης ακολουθιών τιµών στις εισόδους του σχεδιασµού Η καταγραφή των σηµάτων εξόδων καθώς και η σύγκρισή τους µε αναµενόµενες τιµές δίνει το αποτέλεσµα του ελέγχου. Test Bench Σχεδιασµός Γλώσσα Περιγραφής VHDL 24

Μοντέλα Ελέγχου-Επαλήθευσης ΙΙ entity test_bench is end entity test_bench; architecture test_register_4 of test_bench is signal d0, d1, d2, d3, en, clk, q0, q1, q2, q3 : bit; begin dut : entity work.register_4(behav) port map ( d0, d1, d2, d3, en, clk, q0, q1, q2, q3 ); stimulus : process is begin d0 <= 1 ; d1 <= 1 ; d2 <= 1 ; d3 <= 1 ; wait for 20 ns; en <= 0 ; clk <= 0 ; wait for 20 ns; en <= 1 ; wait for 20 ns; clk <= 1 ; wait for 20 ns; d0 <= 0 ; d1 <= 0 ; d2 <= 0 ; d3 <= 0 ; wait for 20 ns; en <= 0 ; wait for 20 ns; wait; end process stimulus; end architecture test_register_4; Γλώσσα Περιγραφής VHDL 25

ιαδικασία Εξοµοίωσης Σχεδιασµού Βασικός λόγος δηµιουργίας ενός µοντέλου σχεδιασµού είναι η εξοµοίωση. Στάδια Εξοµοίωσης Ανάλυση: Έλεγχος Συντακτικός - Εννοιολογικός Επεξεργασία (Elaboration): µετασχηµατισµός σε µη ιεραρχικό σχεδιασµό (διασύνδεση primitives και processes) Εκτέλεση: εξοµοίωση του σχεδιασµού στον χρόνο Γλώσσα Περιγραφής VHDL 26

Εκτέλεση εξοµοίωσης Εκτέλεση των διαδικασιών Προσοµοίωση διακριτών γεγονότων (events) ο χρόνος εξελίσσεται µε διακριτά βήµατα (χρονικούς κύκλους) όταν η τιµή ενός σήµατος αλλάζει τότε έχουµε την εµφάνιση ενός γεγονότος γγ Μια διαδικασία είναι ευαίσθητη σε γεγονότα των σηµάτων εισόδου όπως αυτά προσδιορίζονται από τις καταχωρήσεις wait σε αυτά τα γεγονότα η διαδικασία επανακαλείται και προσδιορίζει νέες µελλοντικές τιµέςγιατασήµατα εξόδου Γλώσσα Περιγραφής VHDL 27

Αλγόριθµος Εξοµοίωσης Ι Φάση Αρχικοποίησης σε κάθε σήµα δίδεται η αρχική του τιµή το χρονόµετρο της προσοµοίωσης τίθεται στην τιµή 0 για κάθε διαδικασία ενεργοποίηση εκτέλεση µέχρι να προκύψει καταχώρηση wait οπότε και η διαδικασία οδηγείται σε αναµονή (αναστολή εκτέλεσης) η εκτέλεση συνήθως περιλαµβάνει τη µελλοντική καταχώρηση τιµών σε σήµατα (δηλ. προγραµµατίζει για κάποιες µελλοντικές στιγµές την ύπαρξη κάποιων δραστηριοτήτων) Γλώσσα Περιγραφής VHDL 28

Αλγόριθµος Εξοµοίωσης ΙΙ Κύκλος προσοµοίωσης εξέλιξη του χρόνου προσοµοίωσης στον επόµενο χρονικό κύκλο όπου υπάρχει κάποια δραστηριότητα στον τρέχοντα χρονικό κύκλο ενηµέρωση των τιµών των σηµάτων ύπαρξη γεγονότος αν η νέα τιµή διαφέρει από την παλιά Για κάθε διαδικασία ευαίσθητη σε οποιοδήποτε γεγονός (ή τηςοποίαςοχρόνοςαναµονής έχει λήξει) επανάκληση εκτέλεση µέχρι να προκύψει wait και εν συνεχεία αναµονή Η προσοµοίωση τελειώνει όταν δεν υπάρχουν άλλες προγραµµατισµένες δραστηριότητες Γλώσσα Περιγραφής VHDL 29

Σύνθεση Είναι ουσιαστικά ο απώτερος στόχος χρήσης µίας γλώσσας περιγραφής κυκλωµάτων Μεταφράζει την περιγραφή (µοντέλο) µιας σχεδίασης σε ένα netlist από κυκλωµατικά στοιχεία µιας δεδοµένης βιβλιοθήκης. Υπάρχουν περιορισµοί στον τρόπο ανάπτυξης της HDL περιγραφής µιας σχεδίασης ώστε να είναι συνθέσιµη. ενώ όλες οι περιγραφές µπορούν να προσοµοιωθούν δεν είναι κατά ανάγκη εφικτή η σύνθεση όλων των δυνατών περιγραφών! Η σύνθεση εξαρτάται από τα χρησιµοποιούµενα εργαλεία. Εκµεταλλεύεται τα πλεονεκτήµατα που έχει κάθε αυτοµατοποιηµένη διαδικασία (απεικόνιση σε διαφορετικές βιβλιοθήκες, βελτιστοποίηση, παραγωγή διανυσµάτων ελέγχου κλπ). Γλώσσα Περιγραφής VHDL 30

Behavioural VHDL RTL VHDL Netlist Σχεδιαστική Μεθοδολογία Προδιαγραφές Περιγραφή Απαιτήσεων Σχεδίαση Συστήµατος Επαλήθευση Σχεδίασης Μοντέλο Συµπεριφοράς Σχεδίαση Λογικής Επαλήθευση Σχεδίασης οµικό Μοντέλο Σύνθεση Προσοµοίωση Σχεδίαση Κυκλώµατος Επαλήθευση Σχεδίασης Χωροθέτηση/ ιασύνδεση Κύκλωµα Φυσική Σχεδίαση Επαλήθευση Σχεδίασης Κατασκευή Γλώσσα Περιγραφής VHDL 31