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

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

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

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

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

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

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

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

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

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

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

Structural VHDL. Structural VHDL

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

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

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

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

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

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

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

Library, package και subprograms

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

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

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

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

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

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

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


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

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

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

Introduction to IP Cores

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

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

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

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

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

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

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

VHDL Introduction. Subtitle

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

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

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

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

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

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

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

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

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

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

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

Σχεδίαση κυκλωμάτων με VHDL: 1o μέρος

Πρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ Εισαγωγή... 19

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

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

Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο VHDL (revisited)

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού

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

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

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

Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών. Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων

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

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

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

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

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

ΑΤΕΙ ΚΑΛΑΜΑΤΑΣ ΠΑΡΑΡΤΗΜΑ ΣΠΑΡΤΗΣ. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ της φοιτήτριας: ΓΕΩΡΓΟΥΑΑΚΗ ΑΛΕΞΑΝΔΡΑ του ΣΤΑΥΡΟΥ

Σχεδίαση σε VHDL και υλοποίηση σε FPGA Μονάδας Παραγωγής Μουσικού Σήματος

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

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

2 η Θεµατική Ενότητα : Σύνθετα Συνδυαστικά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

Προπτυχιακός φοιτητής Σχολής Θετικών Επιστημών τμήματος Φυσικής ΑΠΘ

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

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

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

ΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ

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

Γλώσσα Περιγραφής Υλικού VHDL Μέρος Α: Σωστή Σύνθεση

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

Πράξεις με δυαδικούς αριθμούς

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

a = 10; a = k; int a,b,c; a = b = c = 10;

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

Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Τµήµα Πληροφορικής

Οι Βιβλιοθήκες IEEE και παραδείγµατα functions


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

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Transcript:

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

Περίγραµµα διάλεξης Τι είναι η VHDL? Πλεονεκτήµατα της VHDL στη σχεδίαση κυκλωµάτων VLSI Βασική δοµή κώδικα VHDL Τύποι δεδοµένων της VHDL Τύποι σηµάτων της VHDL Καταστάσεις σηµάτων θύρας της VHDL Τελεστές της VHDL Περιγραφή ροής δεδοµένων στη VHDL 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 2

Τι είναι η VHDL? Ακρωνύµιο της VHSIC (Very High Speed Integrated Circuit) Hardware Description Language Γλώσσα περιγραφής κυκλωµάτων ή υλικού (HDL) Περιγραφή κυκλωµάτων ως προς τη δοµή (structure), τη ροή δεδοµένων (dataflow) ή τη συµπεριφορά (behavior) υνατότητα περιγραφής της χρονικής συµπεριφοράς ή χρονισµού (timing) των κυκλωµάτων για εκτέλεση προσοµοίωσης Χρησιµοποιείται σε συνδυασµό µε έναν µεταφραστή (compiler) για σύνθεση κυκλωµάτων σε ολοκληρωµένα ειδικής σχεδίασης (custom design) ή υλοποίηση σε κάποια διάταξη προγραµµατιζόµενης λογικής (PLD ή FPGA), καθώς και από εργαλεία προσοµοίωσης λειτουργίας 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 3

Πλεονεκτήµατα της VHDL στη σχεδίαση κυκλωµάτων VLSI (1) Αποτελεί βιοµηχανικό πρότυπο (IEEE 1164 standard - 1993) και ως εκ τούτου είναι ανεξάρτητη του εργαλείου σχεδίασης CAD και του κατασκευαστή ή/και τρόπου υλοποίησης του κυκλώµατος (παρέχει δηλαδή φορητότητα και συµβατότητα σχεδίασης) Η χρήση προγράµµατος (κώδικα) αντί σχηµατικών είναι αποτελεσµατικότερη για τη σχεδίαση µεγάλων και πολύπλοκων κυκλωµάτων, τόσο λόγω ταχύτερης σύλληψης (capture) όσο και ευκολότερης διαχείρισης και τροποποίησης της σχεδίασης υνατότητα επαναχρησιµοποίησης σχεδιάσεων και πρόσβαση σε έτοιµες βιβλιοθήκες τρίτων Περιγραφή συµπεριφοράς (εκτός από δοµή) επιτρέπει τη σχεδίαση σε υψηλότερα επίπεδα αφαίρεσης, όπου ο µεταφραστής δηµιουργεί αυτόµατα το κύκλωµα µε τη χρήση έτοιµων βιβλιοθηκών και τεχνικών σύνθεσης 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 4

Πλεονεκτήµατα της VHDL στη σχεδίαση κυκλωµάτων VLSI (2) Γνωστές δοµές γλωσσών προγραµµατισµού - αν και µε διαφορετική φιλοσοφία καθώς όλες οι έννοιες που ενσωµατώνει αφορούν το υλικό Όλα τα γνωστά πλεονεκτήµατα των υψηλού επιπέδου γλωσσών προγραµµατισµού: όµηση Παραµετροποίηση Βρόχοι επανάληψης Εντολές συνθήκης Ιεράρχηση (µε τον ορισµό υποενοτήτων) Πλέον στην πράξη η ανάπτυξη ψηφιακών κυκλωµάτων γίνεται σχεδόν αποκλειστικά σε γλώσσες περιγραφής υλικού, µε κυριότερη εξ αυτών τη VHDL 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 5

Βασική δοµή κώδικα VHDL ENTITY entity_name IS PORT (signal_name [,signal_name] : {mode} {type} [; signal_name [,signal_name] : {mode} {type} ]); END entity_name; Ports Design Entity Architecture Ports ARCHITECTURE architecture_name OF entity_name IS [SIGNAL declarations;] [CONSTANT declarations;] [TYPE declarations;] [COMPONENT declarations;] BEGIN [COMPONENT instantiation statements;] [concurrent assignment statements;] [PROCESS statements;] END architecture_name; Design Entity Entity Declaration Architecture Body Component Instances Concurrent Statements 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 6

Παρατηρήσεις (1) Η VHDL δεν είναι case-sensitive (για παράδειγµα η δήλωση entity είναι ίδια µε τη δήλωση ENTITY) Στο σώµα της αρχιτεκτονικής γίνεται η περιγραφή του κυκλώµατος ανάλογα µε τον επιθυµητό τρόπο (δοµή, ροή δεδοµένων ή συµπεριφορά), ενώ µια οντότητα σχεδίασης µπορεί να έχει περισσότερες της µιας αρχιτεκτονικές που περιγράφουν µε άλλο τρόπο το ίδιο κύκλωµα Η αρχιτεκτονική µπορεί να έχει οποιοδήποτε όνοµα αλλά συνήθως δίνουµε κάποιο που να αντιπροσωπεύει τον τρόπο περιγραφής του κυκλώµατος, π.χ. structure, dataflow, behavior 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 7

Παρατηρήσεις (2) Όλες οι εντολές που βρίσκονται στο κυρίως σώµα της αρχιτεκτονικής (οι οποίες αναφέρονται ως σύγχρονες ή concurrent) εκτελούνται παράλληλα από τον µεταφραστή για τη δηµιουργία του τελικού κυκλώµατος Οι µοναδικές ακολουθιακές (sequential) εντολές που εκτελούνται σειριακά από το µεταφραστή είναι αυτές που βρίσκονται φωλιασµένες µέσα σε µια εντολή τύπου PROCESS, η οποία όµως µε τη σειρά της αποτελεί µια σύγχρονη εντολή καθώς το τελικό της αποτέλεσµα εκτελείται παράλληλα µε τις άλλες σύγχρονες εντολές από το µεταφραστή Το τελικό κύκλωµα είναι µοναδικό και δηµιουργείται µετά το πέρας της επεξεργασίας όλων των εντολών (µε τον τρόπο που αυτές προβλέπεται να εκτελεστούν σύµφωνα µε τα ανωτέρω) από το µεταφραστή 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 8

Τύποι δεδοµένων της VHDL Ο κυριότερος τύπος δεδοµένων της VHDL είναι o τύπος σήµατος ή SIGNAL, ο οποίος για την περιγραφή υλικού παίζει το ρόλο που είχε ο τύπος της µεταβλητής στις συµβατικές γλώσσες προγραµατισµού Στη VHDL υπάρχουν επίσης και οι γνωστοί τύποι CONSTANT και VARIABLE, οι οποίοι όµως δεν αντιστοιχούν σε κάποια έννοια του υλικού και απλά δρουν βοηθητικά στη σύνταξη και τη µετάφραση του κώδικα Τύποι οριζόµενοι από το χρήστη µε τη δήλωση TYPE χρησιµοποιούνται στον ορισµό πινάκων (arrays) και σηµάτων απαρίθµησης (enumeration) για µηχανές πεπερασµένων καταστάσεων (FSM) Ο τύπος σήµατος της VHDL µπορεί να λάβει µε τη σειρά του διάφορους άλλους τύπους, όπως γίνεται και µε τις µεταβλητές στις συµβατικές γλώσσες προγραµµατισµού (π.χ. int, float) 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 9

Τύποι σηµάτων της VHDL (1) Οπιο συνηθισµένος τύπος σήµατος είναι o STD_LOGIC (και STD_LOGIC_VECTOR εάν πρόκειται για διάνυσµα σηµάτων), του οποίου οι δυνατές τιµές είναι 0, 1, Ζ (υψηλή σύνθετη αντίσταση), - (αδιάφορη ή don t care), L (ασθενής 0), H (ασθενής 1), U (µη αρχικοποιηµένη), X (άγνωστη), W (ασθενής άγνωστη) Αποτελεί επέκταση του παλαιότερου τύπου BIT (και BIT_VECTOR αντίστοιχα για διάνυσµα) ο οποίος µπορούσε να λάβει µόνο τις τιµές 0 και 1 Απαιτεί τις δηλώσεις βιβλιοθήκης: LIBRARY ieee; USE ieee.std_logic_1164.all; πριν από τη δήλωση της αρχικής οντότητας 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 10

Τύποι σηµάτων της VHDL (2) Τρόποι ορισµού διανυσµάτων: STD_LOGIC_VECTOR(low_index TO high_index) ή STD_LOGIC_VECTOR(high_index DOWNTO low_index) π.χ. STD_LOGIC_VECTOR(1 TO 4) ή STD_LOGIC_VECTOR(7 DOWNTO 0) Ο δεύτερος τρόπος χρησιµοποιείται όταν το διάνυσµα σηµάτων αντιπροσωπεύει έναν δυαδικό αριθµό Σε ένα διάνυσµα σηµάτων τύπου STD_LOGIC_VECTOR µπορούµε να χρησιµοποιήσουµε οποιοδήποτε υποσύνολο bits ως ένα ξεχωριστό διάνυσµα (slice), π.χ. εάν έχουµε ορίσει: SIGNAL C : STD_LOGIC_VECTOR(7 DOWNTO 0) τότε εκτός από το πλήρες διάνυσµα C µπορούµε να χρησιµοποιήσουµε και διανύσµατα όπως τα C(7 DOWNTO 4), C(1 DOWNTO 0), C(5) (στην τελευταία περίπτωση έχουµε προφανώς ένα απλό σήµα τύπου STD_LOGIC) 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 11

Τύποι σηµάτων της VHDL (3) Ητιµή για τα δεδοµένα (ψηφία) µήκους 1-bit αναγράφεται πάντοτε µέσα σε αποστρόφους, π.χ. 0 ή 1, ενώ για τα δεδοµένα πολλών bits µέσα σε εισαγωγικά, π.χ. 1001, 10011000 Ένας ακόµη χρήσιµος (κυρίως για τη σχεδίαση µετρητών) τύπος σηµάτων της VHDL είναι ο τύπος INTEGER, ο οποίος αντιπροσωπεύει έναν δυαδικό αριθµό (είτε προσηµασµένο είτε µη προσηµασµένο) στη δεκαδική του αναπαράσταση Ορισµός σηµάτων τύπου INTEGER: INTEGER RANGE low_value TO high_value π.χ. INTEGER RANGE 0 TO 255 και INTEGER RANGE -127 TO 127 αντιπροσωπεύουν αντίστοιχα έναν µη προσηµασµένο και έναν προσηµασµένο δυαδικό αριθµό µήκους 8-bit Η τιµή για τα δεδοµένα τύπου INTEGER αναγράφεται όπως είναι, π.χ. 9, 152 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 12

Καταστάσεις σηµάτων θύρας (port) της VHDL IN: Σήµα εισόδου σε µία οντότητα OUT: Σήµα εξόδου από µία οντότητα. Η τιµή του δεν µπορεί να χρησιµοποιηθεί για ορισµό άλλου σήµατος µέσα στην ίδια οντότητα BUFFER: Σήµα εξόδου από µία οντότητα, το οποίο όµως ταυτόχρονα χρησιµοποιείται και στην παραγωγή άλλου (εσωτερικού) σήµατος µέσα στην ίδια οντότητα INOUT: Σήµα εισόδου και εξόδου ταυτόχρονα (αµφίδροµο ή bidirectional) σε µία οντότητα 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 13

Τελεστές της VHDL Αριθµητικοί: +, -, *, /, ** (ύψωση σε δύναµη), & (συνένωση ή concatenation), ABS (απόλυτη τιµή), REM ή MOD (υπόλοιπο) Σχεσιακοί ή συγκριτικοί: =, /=, <, <=, >, >= Λογικοί: NOT, AND, OR, NAND, NOR, XOR, XNOR Οι αριθµητικοί τελεστές έχουν την υψηλότερη σχετική προτεραιότητα και οι λογικοί (εκτός του NOT) τη χαµηλότερη Προσοχή: Οι λογικοί τελεστές δεν έχουν κάποια προτεραιτότητα µεταξύ τους (όπως συµβαίνει µε τις λογικές εκφράσεις όπου συνήθως η πράξη AND προηγείται της πράξης OR) και θα πρέπει να χρησιµοποιούνται παρενθέσεις για την περιγραφή της επιθυµητής λειτουργίας π.χ. A B + C' D A AND B OR NOT C AND D (A AND B) OR (NOT C AND D) 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 14

Περιγραφή ροής δεδοµένων στη VHDL (1) Γίνεται µε χρήση των λογικών τελεστών και ενός τελεστή ανάθεσης σήµατος (<=) προς σχηµατισµό της λογικής έκφρασης εξόδου του κυκλώµατος (µε τον ορισµό ενδεχοµένως κάποιων ενδιάµεσων σηµάτων) w0 s w1 Παράδειγµα: πολυπλέκτης 2-σε-1 ENTITY mux2to1 IS PORT (w0, w1,s : IN STD_LOGIC; f : OUT STD_LOGIC); END mux2to1; ARCHITECTURE dataflow OF mux2to1 IS BEGIN f <= (NOT s AND w0) OR (s AND w1); END dataflow; f 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 15

Περιγραφή ροής δεδοµένων στη VHDL (2) Τα σήµατα του τύπου STD_LOGIC_VECTOR µπορούν να χρησιµοποιηθούν σε συνδυασµό µε αριθµητικούς και συγκριτικούς τελεστές εάν περιληφθεί στο πρόγραµµα µια από τις ακόλουθες δηλώσεις (πριν από τη δήλωση της αρχικής οντότητας): USE ieee.std_logic_signed.all; ή USE ieee.std_logic_unsigned.all; οι οποίες τους επιτρέπουν να χρησιµοποιηθούν ως προσηµασµένοι ή µη προσηµασµένοι δυαδικοί αριθµοί αντίστοιχα Με τον τρόπο αυτό περιγράφονται κυκλώµατα όπως αθροιστές και συγκριτές που βρίσκονται σε υψηλότερα επίπεδα ιεραρχίας από το επίπεδο λογικής 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 16

Περιγραφή ροής δεδοµένων στη VHDL (3) Παράδειγµα: αθροιστής 4-bit ENTITY adder4 IS PORT (ci : IN STD_LOGIC; x, y : IN STD_LOGIC_VECTOR(3 DOWNTO 0); s : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); co : OUT STD_LOGIC); END adder4; ARCHITECTURE dataflow OF adder4 IS SIGNAL sum : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN sum <= ( 0 & x) + y + ci; x(3:0) s <= sum(3 DOWNTO 0); co <= sum(4); y(3:0) END dataflow; π.χ. 0 & 1101 = 01101 ci + co s(3:0) 14-Οκτ-04 Ψηφιακή Σχεδίαση µε CAD ΙΙ ιαφ. 17