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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 2 Γλώσσα Περιγραφής Υλικού VHDL Μέρος Α: Σωστή Σύνθεση Καθηγητής Αντώνης Πασχάλης 2017

2 Γενικές Γραμμές Πλεονεκτήματα και Περιορισμοί της VHDL Διαδικασία Σχεδίασης με VHDL Ταυτόχρονες και Ακολουθιακές Εντολές Οντότητα και Αρχιτεκτονική στη VHDL Περιγραφή Δομής στη VHDL - Component Περιγραφή Dataflow στη VHDL Περιγραφή Συμπεριφοράς στη VHDL - Process Σήματα, Αρτηρίες και Μεταβλητές στη VHDL Εντολές με Συνθήκη (IF, CASE, FOR LOOP/GENERATE, WAIT) Ελλιπής Ανάθεση Σημάτων στη VHDL Δημιουργία Latches / FF Περιγραφή με VHDL Συνδυαστικών και Ακολουθιακών Κυκλωμάτων Χρήση πακέτου numeric Αθροιστές, Μετρητές, Συγκριτές, Ολισθητές Περιγραφή Ψηφιακού Συστήματος σε Επίπεδο Μεταφοράς Καταχωρητή

3 Σχεδίαση Ψηφιακών Συστημάτων Βασικά Επίπεδα Σχεδίασης Αρχιτεκτονική σχεδίαση (Architectural Design) στο υψηλό επίπεδο της συμπεριφοράς του συστήματος Λειτουργική Σχεδίαση (Functional Design) στο επίπεδο μεταφοράς καταχωρητή -RTL Λογική Σχεδίαση (Logic Design) στο επίπεδο των πυλών Φυσική Σχεδίαση (Physical Design) στο επίπεδο των transistor

4 Περιγραφή Ψηφιακού Συστήματος σε Επίπεδο Μεταφοράς Καταχωρητή - RTL περιγράφεται ργρ κάθε καταχωρητής (REG) του συστήματος, καθώς και η συνδυαστική λογική (CL) ανάμεσα στους καταχωρητές REG CL ΠΡΟΣΟΧΗ REG CL REG CL REG

5 Γλώσσα Περιγραφής Υλικού VHDL το όνομά της προέρχεται από τα αρχικά της έκφρασης: Very High Speed Integrated Circuits Hardware Description Language δημιουργήθηκε αρχικά στα πλαίσια του ερευνητικού προγράμματος Very High Speed Integrated Circuits, που χρηματοδότησε το Υπουργείο Αμύνης των ΗΠΑ (στις αρχές του 1980) χρησιμοποιείται για την περιγραφή, τη μοντελοποίηση και τη σύνθεση των ψηφιακών συστημάτων τυποποιήθηκε από το Institute of Electrical and Electronic Engineers (IEEE) - αρχική έκδοση 1987, τελική έκδοση 1993, επεκτάσεις στην έκδοση 2008 (ελέγχουμε εάν υποστηρίζεται)

6 Γλώσσα Περιγραφής Υλικού VHDL Ικανοποιεί μία σειρά από ανάγκες στη διαδικασία της σχεδίασης ψηφιακών συστημάτων περιγραφή της δομής (structural description) του ψηφιακού συστήματος περιγραφή της ροής δεδομένων (dataflow description) του ψηφιακού συστήματος περιγραφή της συμπεριφοράς (behavioral description) του ψηφιακού συστήματος προσομοίωση (simulation) και πιστοποίηση (verification) σχεδίασης συστήματος (πριν γίνει η υλοποίησή του) σύνθεση (synthesis) ψηφιακού συστήματος

7 Πλεονεκτήματα της χρήσης της VHDL Η προσομοίωση παρέχει στους σχεδιαστές τη δυνατότητα για επιβεβαίωση της ορθότητας της σχεδίασης ενός ψηφιακού συστήματος σύμφωνα με τις προδιαγραφές (πιστοποίηση) πριν από την πρωτοτυποποίηση σημαντική μείωση του σχεδιαστικού κόστους Η κωδικοποίηση του υλικού σε VHDL παρέχει δυνατότητα επαναχρησιμοποίησης η ης (reusability) του κώδικα σε VHDL από μία τεχνολογία σε μία άλλη τεχνολογία οι περιγραφές σε VHDL είναι σε μεγάλο βαθμό ανεξάρτητες της τεχνολογίας υλοποίησης Η κωδικοποίηση του υλικού σε VHDL παρέχει δυνατότητα μεταφερσιμότητας (portability) του κώδικα σε VHDL από ένα εργαλείο σε ένα άλλο εργαλείο η VHDL υποστηρίζεται πλέον από όλους τους μεγάλους η VHDL υποστηρίζεται πλέον από όλους τους μεγάλους κατασκευαστές εργαλείων λογισμικού για την αυτοματοποιημένη σχεδίαση ψηφιακών συστημάτων

8 Πλεονεκτήματα της χρήσης της VHDL Παρέχονται περισσότερες επιλογές και ευελιξία στη σχεδίαση ψηφιακών συστημάτων Αυξάνεται η παραγωγικότητα 2 με 5 φορές κατά τη σχεδίαση μεγάλων ψηφιακών συστημάτων Υπάρχουν σήμερα εργαλεία λογισμικού για αυτοματοποιημένη σύνθεση και υλοποίηση ψηφιακών συστημάτων

9 Περιορισμοί στη χρήση της VHDL Για να επιτευχθεί πιο εύκολα η σύνθεση του ψηφιακού συστήματος συνήθως χρησιμοποιούνται περιγραφές επιπέδου μεταφοράς καταχωρητή (RTL description) Σε συγκεκριμένες εφαρμογές, όπως ψηφιακής επεξεργασίας σήματος, χρησιμοποιούνται ο ού ειδικά εργαλεία σύνθεσης (behavioral compilers), που μετατρέπουν περιγραφές συμπεριφοράς υψηλού επιπέδου σε περιγραφές επιπέδου μεταφοράς καταχωρητή Ο τρόπος κωδικοποίησης (coding style) ενός ψηφιακού συστήματος σε VHDL επηρεάζει σημαντικά την ποιότητα της σχεδίασης που προκύπτει μετά τη σύνθεση οι σχεδιαστές σε VHDL πρέπει να κατανοήσουν πλήρως τους περιορισμούς που απαιτεί το συγκεκριμένο εργαλείο σύνθεσης το πως οι διαφορετικοί τρόποι κωδικοποίησης επηρεάζουν τη σύνθεση τα εργαλεία σύνθεσης παρέχουν την απαραίτητη πληροφορία Για παράδειγμα συμβουλευθείτε τα application notes του XILINX

10 Περιορισμοί στη χρήση της VHDL Η υλοποίηση σε μία συγκεκριμένη τεχνολογία για ASIC, FPGA ή CPLD συνήθως απαιτεί να ακολουθηθούν κάποιοι ιδιαίτεροι τρόποι κωδικοποίησης με συγκεκριμένους περιορισμούς, που αφ ενός αξιοποιούν καλλίτερα τα εργαλεία σύνθεσης και αφ ετέρου αξιοποιούν καλλίτερα τη συγκεκριμένη δομή της τεχνολογίας υλοποίησης, ώστε να προκύψει πιο αποδοτική σχεδίαση σε σχέση με το κόστος υλοποίησης και την απόδοση Πόσο ανεξάρτητη της τεχνολογίας υλοποίησης μπορεί να είναι μία περιγραφή σε VHDL; Κάποια τμήματα του κώδικα σε VHDL εξαρτώνται από την τεχνολογία, όταν θέλουμε να εκμεταλλευτούμε τη συγκεκριμένη δομή της τεχνολογίας υλοποίησης Κάποια τμήματα του κώδικα σε VHDL εξαρτώνται από τις υποστηριζόμενες βιβλιοθήκες έτοιμων στοιχείων

11 Περιγραφή Ψηφιακού Συστήματος σε Επίπεδο Μεταφοράς Καταχωρητή - RTL χρησιμοποιείται ένα υποσύνολο της γλώσσας, αλλιώς υπάρχει το ενδεχόμενο η προκύπτουσα περιγραφή σε VHDL να μην είναι συνθέσιμη (synthesizable), αλλά μόνο προσομοιώσιμη (simulatable). διαφορετικά εργαλεία σύνθεσης χρησιμοποιούν ο ού δαφορε διαφορετικά υποσύνολα της γλώσσας για την ίδια συνθέσιμη περιγραφή σε VHDL, διαφορετικά εργαλεία σύνθεσης καταλήγουν σε διαφορετική υλοποίηση για την ίδια συνθέσιμη περιγραφή σε VHDL, το ίδιο εργαλείο σύνθεσης καταλήγει σε διαφορετική υλοποίηση, όταν χρησιμοποιούνται βιβλιοθήκες με διαφορετικά στοιχεία

12

13 Διαδικασία Σχεδίασης με VHDL Ανάλυση των απαιτήσεων και καθορισμός των προδιαγραφών Λειτουργία, εσωτερικές και εξωτερικές διασυνδέσεις Περιβαλλοντολογικές απαιτήσεις (θερμοκρασία, ακτινοβολία, κλπ.) Απαιτήσεις επίδοσης και λειτουργίας σε πραγματικό χρόνο Απαιτήσεις κατανάλωσης ισχύος και ενέργειας Απαιτήσεις ποιότητας προϊόντος (φερεγγυότητα, ασφάλεια, QA) Προκαταρτική σχεδίαση με τον VHDL editor περιγραφή σε υψηλό επίπεδο διαγραμμάτων με μπλοκ προσδιορισμός λειτουργικών μονάδων και ιεραρχίας προσδιορισμός διασυνδέσεων (είσοδοι, έξοδοι) αρχιτεκτονική περιγραφή με VHDL (behavioral model) και προσομοίωση για την επαλήθευση των προδιαγραφών

14 Διαδικασία Σχεδίασης με VHDL Περιγραφή ργρ σε συνθέσιμο κώδικα VHDL με τον VHDL editor RTL περιγραφή για σωστή σύνθεση, όπου λαμβάνονται υπόψη: τεχνολογία υλοποίησης και εργαλεία σύνθεσης ιδιαίτεροι τρόποι κωδικοποίησης με συγκεκριμένους περιορισμούς υποστηριζόμενες βιβλιοθήκες με components, cores, macros σε συγκεκριμένες εφαρμογές γίνεται αρχικά χρήση και του VHDL behavioral compiler Μεταγλώττιση με τον VHDL compiler γίνεται συντακτικός έλεγχος και έλεγχος συμβατότητας

15 Διαδικασία Σχεδίασης με VHDL Προσομοίωση με τον VHDL simulator δημιουργία των εισόδων δοκιμής και των αποκρίσεων για λειτουργική (λογική) επαλήθευση της ορθής σχεδίασης δημιουργία ενός test bench σε περιγραφή ργρ συμπεριφοράς ρφ ρ ςμε VHDL για αυτόματη εισαγωγή εισόδων δοκιμής και έλεγχο των αποκρίσεων (για σχεδίαση πολύπλοκων ψηφιακών συστημάτων) Σύνθεση με τον VHDL synthesizer σε συγκεκριμένη τεχνολογία και βιβλιοθήκες αυτόματη μετατροπή σε πύλες (netlist) για υλοποίηση με ASICs primitives (basic elements) για υλοποίηση η με CPLDs και FPGAs Υλοποίηση σε συγκεκριμένη τεχνολογία διαδικασία place and route για ASICs διαδικασία map, place and route για CPLDs και FPGAs

16 Διαδικασία Σχεδίασης με VHDL Τελικές προσομοιώσεις μετά την εφαρμογή της τεχνολογίας υλοποίησης τελική χρονική πιστοποίηση με timing simulator - analyzer έλεγχος ορθής λειτουργίας - δοκιμαστικότητα με fault simulator έλεγχος κατανάλωσης ισχύος με power simulator - analyzer άλλοι συγκεκριμένοι έλεγχοι που αφορούν την τεχνολογία υλοποίησης Προγραμματισμός CPLD και FPGA στο εργαστήριο παρέχεται η δυνατότητα υλοποίησης ενός ψηφιακού συστήματος με FPGA και της πιστοποίησής του με τη χρήση κατάλληλου υλικού και ενός PC

17 Βασικά Χαρακτηριστικά της VHDL Περιγραφή ργρ δομής και ιεραρχίας ρχ Ταυτόχρονη εκτέλεση εντολών για περιγραφή ήδράσεων που συμβαίνουν ταυτόχρονα Ακολουθιακή εκτέλεση εντολών για αλγοριθμική περιγραφή, όπως στο λογισμικό Μοντελοποίηση του χρόνου

18 Ταυτόχρονες Εντολές Ταυτόχρονες εντολές (concurrent statements) εκτελούνται στον ίδιο χρόνο παράλληλα η συμπεριφορά ρ τους είναι ανεξάρτητη η από τη σειρά εμφάνισής τους Χ <= Α and B Z <= C and X Z <= C and X Χ <= Α and B A B C Z Η φύση του υλικού (hardware) απαιτεί την υποστήριξη ταυτόχρονων εντολών

19 Ταυτόχρονες Εντολές Προσοχή Χ <= Χ + Υ Rx Ry X Y + + ανάδραση X Δεν είναι όπως στο λογισμικό (software)

20 Ακολουθιακές Εντολές Ακολουθιακές εντολές (sequential statements) εμφανίζονται μέσα σε δομή διεργασίας (process) για να ξεχωρίζουν από τις ταυτόχρονες εντολές εκτελούνται μόνο μία φορά στη σειρά η συμπεριφορά τους εξαρτάται από τη σειρά εμφάνισής τους αλγοριθμική περιγραφή όπως στο λογισμικό

21 Ταυτόχρονες έναντι Ακολουθιακών Εντολών Ταυτόχρονες εντολές Χ <= Α and B Χ <= C and D Ακολουθιακές εντολές μέσα σε δομή process Χ <= Α and B Χ <= C and D A B C D Χ αγνοείται C D Χ

22

23 Η Οντότητα (Entity) στη VHDL Περιγράφει τη διασύνδεση μίας ιεραρχικής μονάδας, χωρίς να προσδιορίζει τη συμπεριφορά της σαν μαύρο κουτί (black box) Η διασύνδεση της μονάδας περιγράφεται με μία δήλωση των διαύλων (ports - signals) entity entity_name is -- σχόλια port ( signal_name: mode signal_type; signal_name: mode signal_type;... signal_name: mode signal_type); end entity_name; name;

24 Η Οντότητα (Entity) στη VHDL entity_name: το όνομα της οντότητας signal_name: το όνομα του σήματος (εάν είναι πολλά σήματα χωρίζονται με κόμμα) mode: η κατεύθυνση driver του σήματος in: είσοδος της οντότητας out: έξοδος της οντότητας inout: είσοδος ςή έξοδος της οντότητας ς( (bidirectional), signal_type: ο τύπος του σήματος (STD_LOGIC)

25 Ονόματα και Ετικέτες στη VHDL Είναι μοναδικά μέσα σε μία συγκεκριμένη οντότητα (και αρχιτεκτονική) Δεν παίζουν ρόλο τα κενά και τα carriage returns Τα σχόλια σε μία γραμμή έπονται του "--" Χρησιμοποιούνται οι χαρακτήρες: a-z, A-Z, 0-9, "_" Δεν χρησιμοποιούνται οι χαρακτήρες, όπως: +, -,!, & Δεν χρησιμοποιούνται ούτε σημεία στίξης στα ονόματα και τις ετικέτες, ούτε διπλό "_", δηλαδή " " Δεν διαχωρίζονται κεφαλαία γράμματα από μικρά Ο πρώτος χαρακτήρας είναι αλφαβητικός Το μέγεθος μγ περιορίζεται ρζ συνήθως στους 32 χαρακτήρες Προσοχή στις δεσμευμένες λέξεις

26 Σημασία του mode στο port signal Mode in Mode out Entity Entity driver driver Τα σήματα εξόδου δεν χρησιμοποιούνται σαν είσοδοι εντός της οντότητας Mode inout Mode out driver Entity driver Entity Int Χρήση εσωτερικού σήματος (int) που χρησιμοποιείται σαν είσοδος και συνδέεται με σήμα εξόδου

27 Σημασία του signal_type στο port signal τιμή U X 0 1 Z W L H - σημασία τιμών στα σήματα τύπου std_logic Modeling for simulation Synthesis Unitialized Unitialized Strong driven unknown Don't care Strong driven 0 0 Strong driven 1 1 High impedance High impedance Weakly driven unknown Don't care Weakly driven 0 0 Weakly driven 1 1 Don't care Don't care Ο τύπος του σήματος STD_LOGIC είναι μέρος του πακέτου IEEE.std_logic_1164 της βιβλιοθήκης ΙΕΕΕ. Για να χρησιμοποιηθεί όλο το πακέτο δηλώνουμε: library IEEE; use IEEE.std_logic_1164.all;

28

29 Η Οντότητα (Entity) του Ημιαθροιστή entity HALF_ADDER ADDER is port ( A: in STD_ LOGIC; B: in STD_LOGIC; SUM: out STD_LOGIC; CARRY: out STD_LOGIC); end HALF_ADDER; A B HALF ADDER SUM CARRY

30

31 Η Αρχιτεκτονική (Architecture) στη VHDL Κάθε οντότητα μπορεί να έχει περισσότερες από μία αρχιτεκτονικές, που εξαρτώνται από τον τρόπο που περιγράφεται μία μονάδα περιγραφή συμπεριφοράς περιγραφή dataflow περιγραφή δομής μικτή περιγραφή ΕΝΤΙΤΥ Ε1 ARCH ARCH ARCH Ε1_A1 Ε1_A2 Ε1_A3 Η επιλογή της κατάλληλης αρχιτεκτονικής γίνεται με το configuration

32 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγράφει τη συμπεριφορά μίας οντότητας με έναν από τους ακόλουθους τρόπους: ένα σύνολο από διασυνδεδεμένα στοιχεία (components) για περιγραφή ργρ δομής μής( (structural), όπως γίνεται σε μία σχεδίαση με σχηματικό ένα σύνολο από ταυτόχρονες εντολές ανάθεσης (concurrent assignment statements) για περιγραφή dataflow ένα σύνολο από ακολουθιακές εντολές ανάθεσης (sequential assignment statements) μέσα σε δομές διεργασίας (process) για περιγραφή συμπεριφοράς (behavioral) κάθε συνδυασμός από τα πιο πάνω

33 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή ήδομής architecture arch_name of entity_namename is signal signal_name: signal_type; component comp_name port ( signal_name: mode signal_type;... signal_name: mode signal_type); end component;... begin concurrent_component_statement;... concurrent_component_statement; end arch_name;

34 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή ήδομής arch_name: το όνομα της αρχιτεκτονικής entity_name: το όνομα της οντότητας comp_name: τοόνοματουστοιχείου του (component) που χρησιμοποιείται στην αρχιτεκτονική της οντότητας. Το στοιχείο είναι μία ήδη προκαθορισμένη οντότητα. signal_name: το όνομα του σήματος (εάν είναι πολλά σήματα χωρίζονται με κόμμα) στις δηλώσεις σημάτων (μετά το signal) το σήμα είναι μία εσωτερική διασύνδεση της αρχιτεκτονική της οντότητας στις δηλώσεις των διαύλων του στοιχείου (component) το σήμα είναι είσοδος, έξοδος του στοιχείου, όπως προκύπτει από τη δήλωση των διαύλων της οντότητας του συγκεκριμένου στοιχείου signal_type: ο τύπος του σήματος (STD_LOGIC)

35 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Δομής Ταυτόχρονες εντολές στοιχείων (concurrent_component_statements) label: comp_name port map (signal_name, name..); label: οι μοναδικές ετικέτες των στοιχείων comp_name: το όνομα του στοιχείου που χρησιμοποιείται στην αρχιτεκτονική της οντότητας signal_name: το όνομα του σήματος (εάν είναι πολλά σήματα χωρίζονται με κόμμα) το σήμα είναι μία διασύνδεση δ που αφορά τη συγκεκριμένη αρχιτεκτονική της οντότητας που χρησιμοποιεί το στοιχείο αντιστοιχεί αμφιμονοσήμαντα μ στο αντίστοιχο σήμα της δήλωσης των διαύλων του στοιχείου, (θέλει προσοχή η σειρά των σημάτων)

36

37 Η Αρχιτεκτονική του Ημιαθροιστή Περιγραφή Δομής HALF_ADDER A U1 XOR2 SUM B AND2 U2 CARRY

38 Η Αρχιτεκτονική του Ημιαθροιστή Περιγραφή Δομής architecture HA_STRUCTURAL of HALF_ADDER is component XOR2 port (I0,I1 I1 in STD_LOGIC; O out STD_LOGIC); end component; component AND2 port (I0,I1 in STD_LOGIC; O out STD_LOGIC); end component; begin U1: XOR2 port map (A, B, SUM); U2: AND2 port map (A, B, CARRY); end HA_STRUCTURAL ; Τα στοιχεία XOR2 και AND2 έχουν ήδη προκαθοριστεί σαν οντότητες.

39 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Dataflow architecture arch_name of entity_name is signal signal_name: signal_type; begin concurrent_statement;... concurrent_statement; end arch_name;

40 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Dataflow arch_name: το όνομα της αρχιτεκτονικής entity_name: το όνομα της οντότητας signal_name: το όνομα του σήματος (εάν είναι πολλά σήματα χωρίζονται με κόμμα) στις δηλώσεις σημάτων (μετά το signal) το σήμα είναι μία εσωτερική διασύνδεση της αρχιτεκτονικής της οντότητας signal_type: ο τύπος του σήματος (STD_LOGIC)

41 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Dataflow Ταυτόχρονες εντολές ανάθεσης σήματος (concurrent_signal_assignment_statements) signal_name name <= expression; expression: έκφραση με σήματα και τελεστές signal_name: το όνομα του σήματος στις ταυτόχρονες εντολές ανάθεσης σήματος : στην έκφραση προσδιορίζονται σήματα που είναι είσοδοι στην οντότητα και δηλώνονται κατά τη δήλωση των διαύλων της οντότητας, και εσωτερικές διασυνδέσεις που δηλώνονται κατά τη δήλωση σημάτων στο αριστερό μέρος της εντολής προσδιορίζεται σήμα που είναι έξοδος της οντότητας και δηλώνεται κατά τη δήλωση των διαύλων της οντότητας, ή εσωτερική διασύνδεση που δηλώνεται κατά τη δήλωση σημάτων

42 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Dataflow Εκτέλεση ταυτόχρονων εντολών ανάθεσης σήματος (concurrent_signal_assignment_statements) signal_name <= expression; Οι ταυτόχρονες εντολές ανάθεσης σήματος εκτελούνται μόνο, όταν υπάρξει αλλαγή τιμής στις εισόδους (στα σήματα της δεξιάς πλευράς της ταυτόχρονης εντολής ανάθεσης σήματος). Δεν προσδιορίζεται καθυστέρηση διάδοσης άλλη, εκτός από μία απειροελάχιστη καθυστέρηση διάδοσης, την καθυστέρηση δέλτα δ delay, που δεν επηρεάζει τον χρονισμό του κυκλώματος Η πραγματική καθυστέρηση διάδοσης θα προσδιορισθεί με την υλοποίηση σε μία συγκεκριμένη τεχνολογία Η καθυστέρηση δέλτα δ delay δεν είναι πραγματική καθυστέρηση που επηρεάζει την προσομοίωση, αλλά απλώς ιεραρχεί τις μεταβάσεις που συμβαίνουν στα σήματα την ίδια χρονική στιγμή.

43 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Dataflow Οι λογικοί τελεστές για τον τύπο std_ logic AND OR NOT NAND NOR XOR XNOR Προτεραιότητα μεταξύ των λογικών πράξεων από αριστερά προς τα δεξιά οι λογικές πράξεις μέσα σε παρενθέσεις εκτελούνται πρώτα

44

45 Η Αρχιτεκτονική του Ημιαθροιστή Περιγραφή Dataflow architecture HA_DATAFLOW of HALF_ADDER is begin SUM <= A xor B; CARRY <= A and B; end HA_ DATAFLOW; A HALF_ADDERADDER SUM B CARRY

46 Η Αρχιτεκτονική του Ημιαθροιστή Περιγραφή Dataflow architecture HA_DATAFLOW of HALF_ADDER is begin SUM <= A xor B after 10 ns; CARRY <= A and B after 5 ns; end HA_ DATAFLOW; Για τις ανάγκες τις προσομοίωσης και μόνο μπορεί να προσδιορισθεί και καθυστέρηση διάδοσης με τη φράση after. Ο χρόνος αρχίζει να μετράει με την αλλαγή της τιμής σε μία από τις εισόδους. Το after αγνοείται κατά τη σύνθεση. A B HALF_ADDER ADDER SUM CARRY

47 Το S-R Latch (Active High) σε Περιγραφή Dataflow entity SRL is port ( S, R: in STD_LOGIC; Q, QBAR: out STD_LOGIC); end SRL; architecture SRL_DF of SRL is signal Q_ in, QBAR_ in: STD_ LOGIC; begin QBAR_in <= S nor Q_in; Q_in <= R nor QBAR_in; QBAR <= QBAR_in; Q <= Q_in; end SRL_DF; R S Q_in Προσοχή στη χρήση των εσωτερικών σημάτων Q QBAR_in QBAR S R QBAR_in Q_in QBAR Q δ DELAY H ενημέρωση των σημάτων γίνεται με καθυστέρηση δέλτα δ delay αμέσως μόλις εκτελεστεί η αντίστοιχη εντολή

48

49 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς architecture arch_ name of entity y_ name is begin label: process (signal_name,..., signal_name) variable variable_name: variable_type; begin sequential_statement; statement;... sequential _ statement; end process; end arch_name; Με την περιγραφή συμπεριφοράς προσδιορίζουμε τη λειτουργικότητα και όχι τη δομή της αρχιτεκτονικής της οντότητας. Αν και οι εντολές μέσα σε μία διεργασία (process) αξιολογούνται ακολουθιακά, μετά τη σύνθεση προκύπτει ταυτόχρονη λογική

50 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς arch_name: το όνομα της αρχιτεκτονικής entity_name: το όνομα της οντότητας label: οι μοναδικές ετικέτες των διεργασιών μη υποχρεωτικό, αλλά χρήσιμο κατά τη σύνθεση γιατί τα παραγόμενα σήματα συνήθως συμπεριλαμβάνουν στο όνομά τους και την ετικέτα της διεργασίας από την οποία προέρχονται process: η διεργασία είναι μία ομάδα από εντολές που εκτελούνται ακολουθιακά

51 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς signal_name: name: το όνομα του σήματος (εάν είναι πολλά σήματα χωρίζονται με κόμμα) στις δηλώσεις των σημάτων (μετά το process) που απαρτίζουν τη λίστα ευαισθησίας (sensitivity list) το σήμα είναι είσοδος της οντότητας που δηλώνεται κατά τη δήλωση των διαύλων της οντότητας ή εσωτερική ήδιασύνδεση δ της οντότητας κάθε αλλαγή τιμής σήματος εισόδου που ανήκει στη λίστα ευαισθησίας οδηγεί στην ακολουθιακή εκτέλεση των εντολών της διεργασίας μία φορά εάν περισσότερες ρ από μία εντολές αναθέτουν τιμή σε κάποιο σήμα λαμβάνεται υπόψη μόνο η τελευταία ακολουθιακή εντολή Προσοχή στον προσδιορισμό των σημάτων που απαρτίζουν τη λίστα ευαισθησίας γιατί ένας ελλιπής προσδιορισμός σημάτων θα οδηγήσει σε μία μη σωστή σύνθεση

52 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς process process process Κάθε διεργασία (process) εκτελεί τις εντολές της ακολουθιακά, ενώ πολλές διεργασίες μαζί αλληλεπιδρούν ταυτόχρονα. Επίσης, ταυτόχρονα αλληλεπιδρούν εντολές ταυτόχρονης ανάθεσης και διεργασίες.

53 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς variable_name: το όνομα της μεταβλητής (εάν είναι πολλές μεταβλητές χωρίζονται με κόμμα) μέσα στις διεργασίες ορίζονται μεταβλητές και όχι σήματα στις δηλώσεις μεταβλητών (μετά το variable) προσδιορίζονται μεταβλητές που μπορεί να μην έχουν τη φυσική σημασία του σήματος variable_type: ο τύπος της μεταβλητής (STD_LOGIC)

54 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς Διαφορά μεταβλητής και σήματος μέσα σε μία διεργασία κατά την προσομοίωση η μεταβλητή παίρνει νέα τιμή στιγμιαία με τον τελεστή ανάθεσης :=, αμέσως μόλις εκτελεστεί η αντίστοιχη εντολή μέσα στη διεργασία σε αντίθεση, το σήμα παίρνει νέα τιμή με καθυστέρηση δέλτα δ delay, με τον τελεστή ανάθεσης <=, στο τέλος της εκτέλεσης της διεργασίας προσοχή Η χρήση των μεταβλητών μειώνει σημαντικά το χρόνο της προσομοίωσης

55 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς Ακολουθιακές εντολές ανάθεσης σήματος (sequential_signal_assignment_statements) signal_name <= expression; signal_name: το όνομα του σήματος expression: έκφραση με σήματα, μεταβλητές και τελεστές στις ακολουθιακές εντολές ανάθεσης σήματος : στην έκφραση προσδιορίζονται σήματα, που ανήκουν ή δεν ανήκουν στη λίστα ευαισθησίας, και μεταβλητές που δηλώνονται κατά τη δήλωση μεταβλητών στο αριστερό μέρος της εντολής προσδιορίζεται σήμα που είναι έξοδος της οντότητας ή εσωτερική διασύνδεση της οντότητας

56 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς Ακολουθιακές εντολές ανάθεσης μεταβλητής (sequential_variable_assignment_statements) variable_name := expression; variable_name: το όνομα της μεταβλητής expression: έκφραση με σήματα, μεταβλητές και τελεστές στις ακολουθιακές εντολές ανάθεσης μεταβλητής : στην έκφραση προσδιορίζονται σήματα, που ανήκουν ή δεν ανήκουν στη λίστα ευαισθησίας, και μεταβλητές που δηλώνονται κατά τη δήλωση μεταβλητών στο αριστερό μέρος της εντολής προσδιορίζεται μεταβλητή που δηλώνεται κατά τη δήλωση των μεταβλητών

57 Η Αρχιτεκτονική του Ημιαθροιστή Περιγραφή Συμπεριφοράς architecture HA_BEHAVIORAL of HALF_ADDER is begin process (A, B) begin SUM <= A xor B; CARRY <= A and B; end process; end HA_BEHAVIORAL; Οι ακολουθιακές εντολές ανάθεσης σήματος εκτελούνται η μία μετά την άλλη μόνο, όταν υπάρξει αλλαγή τιμής στις εισόδους που ανήκουν στη λίστα ευαισθησίας (στα σήματα της δεξιάς πλευράς)

58 Περιγραφή Ιεραρχίας στη VHDL Θα εξετάσουμε την περιγραφή του πλήρη αθροιστή που αποτελείται από δύο ημιαθροιστές και μία πύλη OR FULL_ADDER A S1 HALF HALF ADDER ADDER B U1 C1 U2 C2 SUM CIN OR U3 CARRY

59 Η Οντότητα (Entity) του Πλήρη Αθροιστή entity FULL_ ADDER is port ( A, B, CIN: in STD_LOGIC; SUM, CARRY: out STD_LOGIC); end FULL_ADDER; A B CIN FULL ADDER SUM CARRY

60 Η Αρχιτεκτονική του Πλήρη Αθροιστή Περιγραφή Δομής architecture FA_STRUCTURAL of FULL_ADDER is signal S1, C1, C2: STD_LOGIC; component HALF_ADDER port (A, B in STD_LOGIC; SUM, COUT out STD_LOGIC); end component; component OR2 port (I0, I1 in STD_LOGIC; O out STD_LOGIC); end component; begin U1: HALF_ADDER port map (A, B, S1, C1); U2: HALF_ADDER ADDER port map (S1, CIN, SUM, C2); U3: OR2 port map (C1, C2, CARRY); end FA_STRUCTURAL;

61 Η Αρχιτεκτονική του Πλήρη Αθροιστή Περιγραφή Dataflow FULL_ADDER A B CIN S1 P1 P2 P3 SUM CARRY

62 Η Αρχιτεκτονική του Πλήρη Αθροιστή Περιγραφή Dataflow architecture FA_DATAFLOW1 of FULL_ADDER is signal S1, P1, P2, P3: STD_LOGIC begin S1 <= A xor B; SUM <= CIN xor S1; P1 <= A and B; P2 <= A and CIN; P3 <= B and CIN; CARRY <= P1 or P2 or P3; end FA_DATAFLOW1; hit t FA DATAFLOW2 f FULL ADDER i architecture FA_DATAFLOW2 of FULL_ADDER is begin SUM <= A xor B xor CIN; CARRY <= (A and B) or (A and CIN) or (B and CIN); end FA_DATAFLOW2;

63 Η Αρχιτεκτονική του Πλήρη Αθροιστή Μικτή Περιγραφή FULL_ADDER A B CIN U1 Structural S1 V1 Dataflow SUM V2 CARRY V3 Behavioral

64 Η Αρχιτεκτονική του Πλήρη Αθροιστή Μικτή Περιγραφή architecture FA_MIXED of FULL_ADDER is signal S1: STD_LOGIC; component XOR2 port (I0,I1 I1 in STD_LOGIC; O out STD_LOGIC); end component; begin U1: XOR2 port map (A, B, S1); SUM <= CIN xor S1; process (A, B, CIN) variable V1, V2, V3: STD_LOGIC; begin V1 := A and B; V2 := A and CIN; V3 := B and CIN; CARRY <= V1 or V2 or V3; end process; end FA_MIXED;

65 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς Εντολές με Συνθήκη architecture arch_name of entity_namename is begin process (signal_name, name,..., signal_name) name) variable variable_name: variable_type; begin sequential_signal_assignment_statement; sequential_variable_assignment_statement; conditional_signal_assignment_statement; assignment statement; conditional_variable_assignment_statement; end process; end arch_name; Μ ή ά δ ίζ λ ό Με την περιγραφή συμπεριφοράς προσδιορίζουμε τη λειτουργικότητα και όχι τη δομή της αρχιτεκτονικής της οντότητας

66 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς Εντολές με Συνθήκη Στις πιο σημαντικές ακολουθιακές εντολές ανάθεσης σήματος (ή μεταβλητής) με συνθήκη συμπεριλαμβάνονται: η εντολή IF (IF statement) η εντολή CASE (CASE statement) η εντολή FOR LOOP (FOR LOOP statement) η εντολή WAIT (WAIT statement) Στις πιο σημαντικές ταυτόχρονες εντολές ανάθεσης σήματος με συνθήκη συμπεριλαμβάνεται η εντολή FOR GENERATE (FOR GENERATE statement)

67 Η Αρχιτεκτονική (Architecture) στη VHDL ΗΕ Εντολή λήif if boolean_expression expression (condition) then sequential_statement_1; end if; if boolean_ expression (condition) then sequential_statement_1; else sequential_statement_2; end if; Η εντολή IF εξετάζει μία συνθήκη και, εάν αληθεύει, εκτελεί την ακολουθιακή εντολή 1, αλλιώς εκτελεί την ακολουθιακή εντολή 2 (εάν ορίζεται)

68 Η Αρχιτεκτονική (Architecture) στη VHDL ΗΕ Εντολή λήif if boolean_expression_1 expression (condition_1) then sequential_statement_1; elsif boolean_expression_2 expression (condition_2) then sequential_statement_2; else sequential_statement_3; end if; Η εντολή IF επιτρέπει να εξετασθεί μία διατεταγμένη σειρά από συνθήκες. Εκτελείται μόνο η ακολουθιακή εντολή για την οποία αληθεύει η συνθήκη. Η σειρά με την οποία γράφονται οι εντολές είναι σημαντική γιατί στην περίπτωση που περισσότερες από μία συνθήκες αληθεύουν θα εκτελεσθεί εκείνη η εντολή για την οποία η συνθήκη αληθεύει πρώτη.

69 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς Boolean Expression υλοποιεί μία συνθήκη (Α = Β) ή μια σειρά από συνθήκες που συνδέονται μεταξύ τους με λογικούς τελεστές (and, or, not, nand, nor, xor, xnor) (A = "000" or RESET = '1') Συνθήκη (condition) επιστρέφει μία boolean τιμή (true, false) περιγράφεται με δύο τελεστέους του ιδίου τύπου, που συγκρίνονται με τη χρήση ενός τελεστή σύγκρισης (<, <=, >, >=, =, /=)

70

71 Η Αρχιτεκτονική (Architecture) στη VHDL Σύνθεση της Εντολής IF if c1 then s1; elsif c2 then s2; else s3; end if; Η συνήθης υλοποίηση s3 logic s2 logic c2 logic 0 mu ux 1 c1 logic 0 mux 1 s1 logic

72 Η Αρχιτεκτονική (Architecture) στη VHDL if c1 then s1; elsif c2 then s2; else s3; end if; Σύνθεση της Εντολής IF c1 logic s3 logic 00 Όταν η συνθήκη c2 δεν s2 logic ικανοποιείται, όταν ικανοποιείται η συνθήκη c1, 10 τότε υπάρχει ενδεχόμενο πιο γρήγορης υλοποίησης, όπως s1 logic 11 η υλοποίηση του CASE c2 logic 01 mux

73 Η Αρχιτεκτονική (Architecture) στη VHDL ΗΕντολήIF if (CNTRL = "000") then Z <= A; elsif (CNTRL = "001" and RESET = '1') then Z <= B; elsif (CNTRL = "111" or X = '0') then Z <= C; else Z <= D; end if; CNTRL = CNTRL = CNTRL = "111" X' "001" RESET "000" D C OR mux B AND mu ux A mux Z

74

75 Η Αρχιτεκτονική (Architecture) στη VHDL Υλοποίηση της Εντολής IF - Άσκηση 2.1 entity ty Exercise is port ( A,B,C: in STD_LOGIC; Y: out STD_LOGIC); end Exercise; architecture EX_BEH of Exercise is begin process (A,B,C) begin if (A = '0') and (B = '0')then Y <= '1'; elsif (C = '1') then Y <= '1' ; else Y <= '0'; end if; end process; end EX_BEH; Ποιο είναι το αποτέλεσμα της σύνθεσης;

76 Η Αρχιτεκτονική (Architecture) στη VHDL Υλοποίηση της Εντολής IF - Άσκηση 2.1 Ποιο είναι το αποτέλεσμα της σύνθεσης; Technology Schematic 1011=B 1010=A I2=B, I1=A, I0=C Y=C+A B

77 Ενημέρωση Σημάτων μέσα σε μία Διεργασία (1) entity SD1 is port ( A: in STD_LOGIC; B: out STD_LOGIC); end SD1; architecture SD1_BEH of SD is signal C: STD_LOGIC; begin process (A) begin C <= A; if (C = '1') then B <= A; else B <= '0'; end if; end process; end SD1_BEH; A B C δ DELAY H ενημέρωση των σημάτων Β και C γίνεται στο τέλος της διεργασίας με καθυστέρηση δέλτα δ delay. Κατά την εκτέλεση της διεργασίας τα σήματα "θυμούνται" τις προηγούμενες τιμές τους. ΤΑ ΣΗΜΑΤΑ ΕΧΟΥΝ ΕΣΩΤΕΡΙΚΗ ΜΝΗΜΗ Κατά τη σύνθεση υλοποιείται η λογική συνάρτηση Β = A A+A 0 = A (C A)

78 Ενημέρωση Σημάτων μέσα σε μία Διεργασία (1) Behavioral Model Simulation Post-Place Place & Root Model Sim. Προσοχή: Ασυμφωνία στην προσομοίωση! Technology Schematic

79 Ενημέρωση Σημάτων μέσα σε μία Διεργασία (2) entity SD2 is port ( A: in STD_LOGIC; B: out STD_LOGIC); end SD2; architecture SD2_BEH of SD2 is signal C: STD_LOGIC; begin process (A) begin C <= A; if (C = '0') then B <= A; else B <= '0'; end if; end process; end SD2_BEH; A B C δ DELAY δ DELAY H ενημέρωση των σημάτων Β και C γίνεται στο τέλος της διεργασίας με καθυστέρηση δέλτα δ delay. Κατά την εκτέλεση της διεργασίας τα σήματα "θυμούνται" τις προηγούμενες τιμές τους. ΤΑ ΣΗΜΑΤΑ ΕΧΟΥΝ ΕΣΩΤΕΡΙΚΗ ΜΝΗΜΗ Κατά τη σύνθεση υλοποιείται η λογική συνάρτηση Β = A 0+A A = 0 (C A)

80 Ενημέρωση Σημάτων μέσα σε μία Διεργασία (2) Behavioral Model Simulation Post-Place Place & Root Model Sim. Προσοχή: Ασυμφωνία στην προσομοίωση! Technology Schematic

81 Ενημέρωση Μεταβλητών μέσα σε μία Διεργασία entity E1 is port ( A: in STD_LOGIC; B: out STD_LOGIC); end E1; architecture E1_ BEH of E2 is begin process (A) variable C: STD_LOGIC; begin C := A; if (C = '1') then B <= A; else B <= '0'; end if; end process; end E1_BEH; Κατά τη σύνθεση υλοποιείται η λογική συνάρτηση B = A A B δ DELAY Η ενημέρωση της μεταβλητής C γίνεται αμέσως μόλις εκτελεσθεί η αντίστοιχη εντολή. H ενημέρωση του σήματος Β γίνεται στο τέλος της διεργασίας με καθυστέρηση η δέλτα δ delay.

82 Ενημέρωση Μεταβλητών μέσα σε μία Διεργασία Behavioral Model Simulation Post-Place Place & Root Model Sim. Συμφωνία στην προσομοίωση! Technology Schematic

83 Ενημέρωση Σημάτων μέσα σε μία Διεργασία (3) entity SD1 is port ( A: in STD_LOGIC; B: out STD_LOGIC); end SD1; architecture SD1_BEH of SD is signal C: STD_LOGIC; begin ΤΙ ΘΑ ΣΥΜΒΕΙ ΕΆΝ process (A,C) ΠΡΟΣΘΕΣΟΥΜΕ ΤΟ C ΣΤΗ ΛΙΣΤΑ begin ΕΥΑΙΣΘΗΣΙΑΣ; C <= A; if (C = '1') then B <= A; else B <= '0'; end if; ΤΟ PROCESS end process; ΘΑ ΕΚΤΕΛΕΣΘΕΙ end SD1_BEH; ΔΥΟ ΦΟΡΕΣ A B C δ DELAY H ενημέρωση των σημάτων Β και C γίνεται στο τέλος της διεργασίας με καθυστέρηση δέλτα δ delay. Κατά την εκτέλεση της διεργασίας τα σήματα "θυμούνται" τις προηγούμενες τιμές τους. ΤΑ ΣΗΜΑΤΑ ΕΧΟΥΝ ΕΣΩΤΕΡΙΚΗ ΜΝΗΜΗ Κατά τη σύνθεση υλοποιείται η λογική συνάρτηση Β = A A+A 0 = A (C A)

84 Ενημέρωση Σημάτων μέσα σε μία Διεργασία (3) Behavioral Model Simulation Post-Place Place & Root Model Sim. Συμφωνία στην προσομοίωση! Technology Schematic

85 Θεμελιώδη Συμπεράσματα στη Χρήση της VHDL Προσοχή! στην ανάθεση τιμής εσωτερικού σήματος μέσα σε ένα process, όταν αυτό επαναχρησιμοποιείται στο ίδιο process ΠΡΕΠΕΙ ΝΑ ΣΥΜΠΕΡΙΛΑΜΒΑΝΕΤΑΙ ΚΑΙ ΤΟ ΕΣΩΤΕΡΙΚΟ ΣΗΜΑ ΣΤΗ ΛΙΣΤΑ ΕΥΑΙΣΘΗΣΙΑΣ ΏΣΤΕ ΤΟ PROCESS ΝΑ ΕΚΤΕΛΕΣΘΕΙ ΞΑΝΑ ΓΙΑ ΝΑ ΔΙΟΡΘΩΘΕΙ ΤΟ ΛΑΝΘΑΣΜΕΝΟ ΑΠΟΤΕΛΕΣΜΑ ΤΟΥ BEHAVIORAL SIMULATION Χρησιμοποιούμε μεταβλητή, αντί για εσωτερικό σήμα, όταν αυτή επαναχρησιμοποιείται στο ίδιο process ΔΕΝ ΑΠΑΙΤΕΙΤΑΙ Η ΔΙΟΡΘΩΣΗ ΣΤΗ ΛΙΣΤΑ ΕΥΑΙΣΘΗΣΙΑΣ Ο ΧΡΟΝΟΣ ΠΡΟΣΟΜΟΙΟΣΗΣ ΜΕΙΩΝΕΤΑΙ ΣΗΜΑΝΤΙΚΑ ΓΙΑΤΙ ΤΟ Ο ΧΡΟΝΟΣ ΠΡΟΣΟΜΟΙΟΣΗΣ ΜΕΙΩΝΕΤΑΙ ΣΗΜΑΝΤΙΚΑ ΓΙΑΤΙ ΤΟ PROCESS ΕΚΤΕΛΕΙΤΑΙ ΜΟΝΟ ΜΙΑ ΦΟΡΑ

86

87 Χρήση των Σημάτων κατά τη Σύνθεση entity XOR_sig is port ( A, B, C: in STD_LOGIC; X, Y: out STD_LOGIC); end XOR_sig; architecture beh of XOR_sig is signal D: STD_LOGIC; begin process (A,B,C) begin D <= A; -- ignored H ενημέρωση των σημάτων X <= C xor D; D <= B; -- considered ed Y <= C xor D; end process; end beh; Κατά τη σύνθεση υλοποιείται: X = Y = C xor B γίνεται στο τέλος της διεργασίας με καθυστέρηση δέλτα δ delay. Εάν γίνεται ανάθεση πολλών τιμών στο ίδιο σήμα σε ένα process, μόνο η τελευταία εντολή ανάθεσης λαμβάνεται υπόψη κατά τη σύνθεση

88 Χρήση των Σημάτων κατά τη Σύνθεση Κατά τη σύνθεση υλοποιείται: X = Y = C xor B

89 Χρήση των Σημάτων κατά τη Σύνθεση Behavioral Model Simulation D= U Post-Place & Root Model Sim. Προσοχή: Ασυμφωνία στην προσομοίωση! ρ χή μφ η ρ μ η Λόγω κακής χρήσης του εσωτερικού σήματος D

90

91 Χρήση των Μεταβλητών κατά τη Σύνθεση entity XOR_var is port ( A, B, C: in STD_LOGIC; X, Y: out STD_LOGIC); end XOR_var; Κατά τη σύνθεση υλοποιείται: architecture beh of XOR_var is X = C xor Α begin Y = C xor B process (A,B,C) variable D: STD_LOGIC; begin D := A; -- considered Η ενημέρωση των μεταβλητών γίνεται αμέσως μόλις εκτελεσθεί X <= C xor D; η αντίστοιχη εντολή. D := B; -- considered ed Η μεταβλητή διατηρεί την τιμή της Y <= C xor D; μέχρι να προσδιορισθεί άλλη τιμή end process; σε μία επόμενη εντολή end beh;

92 Χρήση των Μεταβλητών κατά τη Σύνθεση Κατά τη σύνθεση υλοποιείται: X = C xor Α Y = C xor B

93 Χρήση των Μεταβλητών κατά τη Σύνθεση Behavioral Model Simulation Post-Place & Root Model Sim. Συμφωνία στην προσομοίωση! μφ η ρ μ η Λόγω ορθής χρήσης της μεταβλητής D

94

95 Η Αρχιτεκτονική (Architecture) στη VHDL Τελευταία Εντολή Ανάθεσης Σήματος- Άσκηση 2.22 entity LAST is port ( A, B, sela, selb: in STD_LOGIC; C: out STD_LOGIC); end LAST; architecture LAST_BEH of LAST is begin process (A, B, sela, selb) begin if (sela = '1') then C <= A; else C <= '0'; end if; if (selb = '1') then C <= B; else C <= '0'; end if; end process; end LAST_BEH; Ποιο είναι το αποτέλεσμα της σύνθεσης;

96 Η Αρχιτεκτονική (Architecture) στη VHDL Τελευταία Εντολή Ανάθεσης Σήματος- Άσκηση 2.22 C = B selb

97 Η Αρχιτεκτονική (Architecture) στη VHDL Άσκηση 2.22 (Συνέχεια) entity LAST is port ( A, B, sela, selb: in STD_LOGIC; C: out STD_LOGIC); end LAST; architecture LAST_BEH of LAST is begin process (A, B, sela, selb) begin if (sela = '1') then C <= A; elsif (selb = '1') then C <= B; else C <= '0'; end if; end process; end LAST_BEH; Ποιο είναι το αποτέλεσμα της σύνθεσης μετά την τροποποίηση;

98 Η Αρχιτεκτονική (Architecture) στη VHDL Άσκηση 2.22 RTL Schematic (Συνέχεια) C = B selb sela + A sela

99 D-Latch Περιγραφή Συμπεριφοράς D_LATCH D D Q Q EN EN

100 D-Latch Περιγραφή Συμπεριφοράς entity D_ LATCH is port ( EN, D: in STD_LOGIC; Q: out STD_LOGIC); end D_LATCH; architecture D_LATCH_BEH of D_LATCH is begin process (EN, D) begin if (EN = '1') then Q <= D; end if; --To Q δεν ορίζεται για όλες τις τιμές του ΕΝ end process; --Ελλιπής ανάθεση (incomplete assignment) end D_LATCH_BEH; Εκμεταλλευόμαστε την εσωτερική μνήμη των σημάτων

101 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς Ανεπιθύμητη Εμφάνιση ενός D-Latch λόγω ελλιπούς ανάθεσης όταν για ένα σήμα δεν ορίζεται μία εντολή ανάθεσης σε όλες τις διακλαδώσεις μίας εντολής IF, υπάρχει το ενδεχόμενο να εμφανισθεί μετά τη σύνθεση ένα ανεπιθύμητο D-Latch για το συγκεκριμένο σήμα η ελλιπής ανάθεση οδηγεί στην υλοποίηση επιπλέον λογικής που μπορεί να είναι άχρηστη για να αποφευχθεί η ελλιπής ανάθεση, ώστε να οδηγηθούμε σε συνδυαστική λογική, για κάθε σήμα: βάζουμε μία αρχική τιμή, και ορίζουμε μία εντολή ανάθεσης (ή την εντολή null) σε όλες τις διακλαδώσεις μίας εντολής IF,

102 Yλοποίηση Ελλιπούς Ανάθεσης process (EN, D) begin if (EN = '1') then Q <= D; end if; end process; EN D 1 0 mux προσοχή D-Latch Q Σε επίπεδο πολυπλέκτη

103 Yλοποίηση Μη Ελλιπούς Ανάθεσης process (EN, D) begin if (EN = '1') then Q <= D; else Q <= '0'; end if; end process; D 0 process (EN, D) begin Q <= '0'; if (EN = '1') then Q <= D; else null; end if; end process; EN 1 0 mux H εντολή null σημαίνει "να μην κάνει τίποτα" Q AND_2 Σε επίπεδο πολυπλέκτη

104 Yλοποίηση Ελλιπούς και Μη Ανάθεσης process (EN, D) begin if (EN = '1') then Q <= D; end if; end process; D D-Latch EN Q D process (EN, D) begin if (EN = '1') then Q <= D; else Q <= '0'; end if; end process; EN Q AND_2 Σε επίπεδο πύλης 0

105 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς Παράδειγμα ελλιπούς ανάθεσης architecture EXAMPLE_BEH of EXAMPLE is begin process (EN, A, B) begin if (EN = '1') then X <= A; Y <= B; else X <= '0'; end if; --To Y δεν ορίζεται για όλες τις τιμές του ΕΝ end process; --Ελλιπής ανάθεση (incomplete assignment) end EXAMPLE_BEH; --Για το σήμα Υ θα υλοποιηθεί ένα Latch

106 Η Αρχιτεκτονική (Architecture) στη VHDL Περιγραφή Συμπεριφοράς Παράδειγμα μηεμφάνισης ελλιπούς ανάθεσης architecture EXAMPLE_BEH of EXAMPLE is begin process (EN, A, B) begin Χ <= 0; -- αρχικές τιμές Y <= 0; if (EN = '1') then X <= A; -- υλοποίηση συνδυαστικής λογικής Y <= B; else null; end if; end process; end EXAMPLE_BEH;

107 Positive Edge-Triggered D-Flip-Flop Περιγραφή Συμπεριφοράς DFF D D Q Q CLK Μόνο με έξοδο Q Για την περιγραφή της ανερχόμενης (ή κατερχόμενης) ακμής του σήματος του ρολογιού CLK χρησιμοποιείται το event attribute (CLK'event), που υποδηλώνει αλλαγή στο σήμα CLK καθώς και η σύγκριση CLK = '1' (ή CLK = '0', αντίστοιχα) Προσοχή: Η απουσία του CLK'event οδηγεί στην υλοποίηση ενός D-Latch

108 Positive Edge-Triggered D-Flip-Flop Περιγραφή Συμπεριφοράς entity DFF is port ( CLK, D: in STD_LOGIC; Q: out STD_LOGIC); end DFF; architecture DFF_BEH of DFF is begin process (CLK) begin if (CLK = '1' and CLK'event) then Q <= D; end if; end process; end DFF_BEH; Η ανερχόμενη ακμή του CLK Περιγραφή Q εντός process

109 Positive Edge-Triggered D-Flip-Flop with QN Περιγραφή Συμπεριφοράς DFFwQN D Q D Q με έξοδο Q CLK Q QN και με έξοδο QΝ Μόνο όταν η βιβλιοθήκη στοιχείων συμπεριλαμβάνει D Flip-Flops, που έχουν και κανονική έξοδο Q και συμπληρωματική έξοδο QN, και ο synthesizer μπορεί να τα αξιοποιήσει

110 Positive Edge-Triggered D-Flip-Flop with QN Περιγραφή Συμπεριφοράς entity DFF is port ( CLK, D: in STD_LOGIC; Q, QN: out STD_LOGIC); end DFF; architecture DFF_BEH of DFF is begin process (CLK) begin if (CLK = '1' and CLK'event) then Q <= D; QN <= not D; end if; end process; end DFF_BEH; Η ανερχόμενη ακμή του CLK Περιγραφή Q, QN εντός process

111 Positive Edge-Triggered D-Flip-Flop with QN Περιγραφή Συμπεριφοράς D Flip-Flop with Synchronous Reset

112

113 Positive Edge-Triggered D-Flip-Flop with QN Περιγραφή Συμπεριφοράς DFFwQN Χρήση εσωτερικού σήματος D CLK in D Q Q_ DFF Q QN και με έξοδο QΝ Όταν η βιβλιοθήκη στοιχείων συμπεριλαμβάνει D Flip-Flops που έχουν μόνο κανονική έξοδο Q (όπως στην περίπτωση της XILINX)

114 Positive Edge-Triggered D-Flip-Flop with QN Περιγραφή Συμπεριφοράς entity DFFwQN is port ( CLK, D: in STD_LOGIC; Q, QN: out STD_LOGIC); end DFFwQN; architecture DFFwQN_BEH of DFFwQN is signal Q_in: STD_LOGIC; begin process (CLK) begin if (CLK = '1' and CLK'event) then Q_in <= D; end if; end process; Q <= Q_in; QN <= not Q_in; end DFFwQN_BEH; Η ανερχόμενη ακμή του CLK Περιγραφή Q, QN εκτός process

115 Positive Edge-Triggered D-Flip-Flop with QN Περιγραφή Συμπεριφοράς

116

117 D-Flip-Flop with Write Enable Περιγραφή Συμπεριφοράς DFFwWE D 0 mux 1 D Q Q WE DFF CLK Το σήμα Write Enable (WE) είναι σύγχρονο.

118 D-Flip-Flop with Write Enable Περιγραφή Συμπεριφοράς entity DFFwWE is port ( CLK, D, WE: in STD_LOGIC; Q: out STD_LOGIC); end DFFwWE; architecture DFFwWE_BEH of DFFwWE is begin process (CLK) begin if (CLK = '1' and CLK'event) then if (WE = '1') then Q <= D; end if; end if; end process; end DFFwWE_BEH; Το WE δεν τοποθετείται στη λίστα ευαισθησίας Η συνθήκη του σύγχρονου WE εξετάζεται μετά τη συνθήκη του CLK

119 D-Flip-Flop with Write Enable Περιγραφή Συμπεριφοράς D Flip-Flop Flop with Clock Enable

120

121 D-Flip-Flop with Synchronous Reset Περιγραφή Συμπεριφοράς DFFwRESET D 0 1 mux 0 D Q Q RESET DFF CLK Το σήμα Reset Active High (RESET) είναι σύγχρονο.

122 D-Flip-Flop with Synchronous Reset Περιγραφή Συμπεριφοράς entity DFFwRESET is port ( CLK, D, RESET: in STD_LOGIC; Q: out STD_LOGIC); end DFFwRESET; architecture DFFwRESET_BEH of DFFwRESET is begin process (CLK) begin if (CLK = 1 and CLK event) then if (RESET = 1 ) then Q <= 0 ; else Q <= D; end if; end if; end process; end DFFwRESET_BEH; Το RESET δεν τοποθετείται στη λίστα ευαισθησίας Η συνθήκη του σύγχρονου RESET εξετάζεται μετά τη συνθήκη του CLK

123 D-Flip-Flop with Synchronous Reset RTL Schematic D Flip-Flop with Synchronous Reset Active High

124 D-Flip-Flop with Synchronous Reset Technology Schematic

125 D-Flip-Flop with Synchronous Set Περιγραφή Συμπεριφοράς DFFwSET D 1 0 mux 1 D Q Q SET_L DFF CLK Το σήμα Set Active Low (SET_L) είναι σύγχρονο.

126 D-Flip-Flop with Synchronous Set Περιγραφή Συμπεριφοράς entity DFFwSET is port ( CLK, D, SET_L: in STD_LOGIC; Q: out STD_LOGIC); end DFFwSET; architecture DFFwSET_BEH of DFFwSET is begin process (CLK) begin if (CLK = '1' and CLK'event) then if (SET_L = 0') then Q <= '1'; else Q <= D; end if; end if; end process; end DFFwSET_BEH; Το SET δεν τοποθετείται στη λίστα ευαισθησίας Η συνθήκη του σύγχρονου SET εξετάζεται μετά τη συνθήκη του CLK

127 D-Flip-Flop with Synchronous Set RTL Schematic DFli Fl ith S h S t A ti Hi h D Flip-Flop with Synchronous Set Active High Απαιτείται η χρήση αντιστροφέα

128 D-Flip-Flop with Synchronous Set Technology Schematic DFli Fl ith S h S t A ti Hi h D Flip-Flop with Synchronous Set Active High Απαιτείται η χρήση αντιστροφέα

129 JK-Flip-Flop Περιγραφή Συμπεριφοράς JKFF J K D DFF Q Q_in Q CLK Τα σήματα J και Κ είναι σύγχρονα. Υλοποιείται η χαρακτηριστική εξίσωση: Q(t+1) = J Q(t) + K Q(t) Κατά τη σύνθεση μπορεί να υλοποιηθεί και πολυπλέκτης 2 σε 1.

130 JK-Flip-Flop Περιγραφή Συμπεριφοράς entity JKFF is port ( CLK, J, K: in STD_LOGIC; Q: out STD_LOGIC); end JKFF; architecture JKFF_BEH of JKFF is signal Q_in: STD_LOGIC; begin process (CLK) begin if (CLK = '1' and CLK'event) then Q_in <= (J and (not Q_in)) or ((not K) and Q_in); end if; end process; Q <= Q_in; end JKFF_BEH; Π ά ή ξί Περιγράφεται η χαρακτηριστική εξίσωση μετά τη συνθήκη του CLK

131 JK-Flip-Flop RTL Schematic Logic Utilization (xc3s200): 1 4-input LUT and 1 FF at 1 slice Clock to Pad Max Delay: 7,632 ns (Q) Max Setup to Clock: 0,675 ns (K) Clock to Setup: 1,530 ns

132 JK-Flip-Flop Technology Schematic O = ((!I1 * I2) + (I0 *!I2));

133 D-Flip-Flop with Asynchronous Clear Περιγραφή Συμπεριφοράς CLR DFFwCLR D D CLR Q Q DFF CLK Το σήμα Clear Active High (CLR) είναι ασύγχρονο.

134 D-Flip-Flop with Asynchronous Clear Περιγραφή Συμπεριφοράς entity DFFwCLR is port ( D, CLK, CLR: in STD_LOGIC; Q: out STD_LOGIC); end DFFwCLR; architecture DFFwCLR_BEH of DFFwCLR is begin process (CLK, CLR) begin if (CLR = 1 ) then Q <= 0 ; elsif (CLK = 1 and CLK event) then Q <= D; end if; end process; end DFFwCLR_BEH; Το CLR τοποθετείται στη λίστα ευαισθησίας Η συνθήκη του Ασύγχρονου CLR εξετάζεται πριν τη συνθήκη του CLK

135 D-Flip-Flop with Asynchronous Clear RTL Schematic D Flip-Flop with Asynchronous Clear Active High

136 D-Flip-Flop with Asynchronous Clear Technology Schematic D Flip-Flop with Asynchronous Clear Active High

137 Η Αρχιτεκτονική (Architecture) στη VHDL Εμφάνιση Ανεπιθύμητου Latch - Άσκηση 2.3 entity DFF2wACLR is port ( CLK, D1, D2, CLR: in STD_LOGIC; Q1, Q2: out STD_LOGIC); end DFF2wACLR; architecture DFF2wACLR_BEH of DFF2wACLR is begin process (CLK, CLR) begin if (CLR = 1') then Q1 <= '0'; elsif (CLK = '1' and CLK'event) then Q1 <= D1; Q2 <= D2; end if; end process; end DFF2wACLR_BEH; Ποιο είναι το αποτέλεσμα της σύνθεσης; Ελλιπής ανάθεση του Q2 κατά την περιγραφή της λειτουργίας του ασύγχρονου ACLR_L πριν τη συνθήκη του CLK

138 Η Αρχιτεκτονική (Architecture) στη VHDL Εμφάνιση Ανεπιθύμητου Latch - Άσκηση 2.3 Το D Flip-Flop with Clock Enable διατηρεί την κατάστασή του γιατί όταν CLR = 1, CE=0

139 D-Flip-Flop with Asynchronous Preset & Clear Περιγραφή Συμπεριφοράς CLR DFF2 D D CLR Q Q CLK PR DFF PR QN QN Τα σήματα Asynchronous Clear Active High (CLR) και Asynchronous Preset Active High(PR) είναι ασύγχρονα.

140 D-Flip-Flop with Asynchronous Preset & Clear Περιγραφή Συμπεριφοράς entity DFF3 is port ( D, CLK, CLR, PR : in STD_LOGIC; Q : out STD_LOGIC); end DFF3; architecture DFF3_BEH of DFF3 is begin process (CLK, CLR, PR) begin if (CLR = 1' and PR = 0') then Q <= '0'; elsif (CLR = 0' and PR = 1') then Q <= '1'; elsif (CLK = '1' and CLK'event) then Q <= D; end if; end process; end DFF3_BEH ; Στην περίπτωση που CLR = PR = 0 (ή 1) λειτουργεί σαν κανονικό D-Flip-Flop

141 D-Flip-Flop with Asynchronous Preset & Clear RTL Schematic Στο FDCP υπερέχει το 0, δηλαδή όταν CLR = 1 τότε Q = 0, ανεξάρτητα από την τιμή του PR

142

143 D-Flip-Flop with Asynchronous Preset & Clear Περιγραφή Συμπεριφοράς entity DFF4 is port ( D, CLK, CLR, PR : in STD_LOGIC; Q : out STD_LOGIC); end DFF4; architecture DFF3_BEH of DFF4 is begin process (CLK, CLR, PR) begin if (CLR = 1 ) then Q <= '0'; elsif (PR = 1 ) then Q <= '1'; elsif (CLK = '1' and CLK'event) then Q <= D; end if; end process; end DFF3_BEH ; Στην περίπτωση που CLR = 1 το Q = 0 Είναι σύμφωνο με το FDCP

144 D-Flip-Flop with Asynchronous Preset & Clear RTL Schematic Στο FDCP υπερέχει το 0, δηλαδή όταν CLR = 1 τότε Q = 0, ανεξάρτητα από την τιμή του PR

145 D-Flip-Flop with Asynchronous Preset & Clear Περιγραφή Συμπεριφοράς entity DFF5 is port ( D, CLK, CLR, PR : in STD_LOGIC; Q : out STD_LOGIC); end DFF5; architecture DFF3_BEH of DFF5 is begin process (CLK, CLR, PR) begin if (PR = 1 ) then Q <= 1'; elsif (CLR = 1 ) then Q <= 0'; elsif (CLK = '1' and CLK'event) then Q <= D; end if; end process; end DFF3_BEH ; Στην περίπτωση που PR = 1 το Q = 1 Δεν είναι σύμφωνο με το FDCP

146 D-Flip-Flop with Asynchronous Preset & Clear RTL Schematic Στο FDCP υπερέχει το 0, δηλαδή όταν CLR = 1 τότε Q = 0, ανεξάρτητα από την τιμή του PR

147 D-Flip-Flop with Output (Read) Enable Περιγραφή Συμπεριφοράς OE DFFwOE D D Q Q_ in Q CLK DFF Tri-state buffer Το σήμα Output Enable (OE) δεν επηρεάζει τη λειτουργία του DFF. Ο tri-state buffer συνδέεται με την έξοδο Q του DFF μέσω του εσωτερικού σήματος Q_in.

148 D-Flip-Flop with Output (Read) Enable Περιγραφή Συμπεριφοράς entity DFFwOE is port ( CLK, D, OE: in STD_LOGIC; Q: out STD_LOGIC); end DFFwOE; architecture DFFwOE_BEH of DFFwOE is signal Q_in: STD_LOGIC; begin DFF: process (CLK) begin if CLK = '1' and CLK'event) then Q_in <= D; end if; end process; BUFFER1: process (OE, Q_in) begin if (OE = '1') then Q <= Q_in; else Q <= 'Z'; end if; end process; end DFFwOE_BEH; Ο tri-state buffer σε χωριστό process

149 D-Flip-Flop with Output (Read) Enable RTL Schematic Τ T i St t B ff (O)BUFT έ t t bl ό 0 Το Tri-State Buffer (O)BUFT έχει output enable ενεργό στο 0. Προσοχή δεν υποστηρίζεται εσωτερικά σε όλες τις οικογένειες των FPGAs, αλλά μόνο στα OPADs και IOPADs για σήματα που εγκαταλείπουν το chip

150

151 Ο τύπος std_logic_vector Ο τύπος του λογικού διανύσματος (μονοδιάστατου array) STD_LOGIC_VECTOR είναι μέρος του πακέτου IEEE.std_logic_1164 της βιβλιοθήκης ΙΕΕΕ Προσδιορίζει ένα διατεταγμένο σύνολο από σήματα (μεταβλητές) τύπου STD_LOGIC. Η διάταξη μπορεί να είναι αύξουσα STD_LOGIC_VECTOR (0 το 7) ή φθίνουσα STD_LOGIC_VECTOR (7 downto 0) Οι δείκτες των στοιχείων του array είναι τύπου natural Προσοχή, δεν είναι ακέραιος δυαδικός αριθμός Για να χρησιμοποιηθεί δηλώνουμε: library IEEE; use IEEE.std_logic_1164.all;

152 Ο τύπος std_logic_vector Δήλωση τιμών για το 8-ψήφιο λογικό διάνυσμα V V <= "ZZZZ0000" ή V <= (V(3 downto 0) => '0', others => 'Z') V <= (others => '0') -- όλα-0 Συγκρίσεις: V = " " για σύγκριση ολόκληρου του διανύσματος V(3 downto 0) = "0000" για σύγκριση μέρους του διανύσματος Προσοχή. Μη επιτρεπτή σύγκριση: V = " " το '-' δεν εκλαμβάνεται σαν don't care κατά τη σύγκριση

153 Λογικές πράξεις με λογικά διανύσματα Περιγραφή Dataflow entity INV4 is port ( X: in STD_LOGIC_VECTOR (0 to 3); Y: out STD_LOGIC_VECTOR (0 to 3)); end INV4; architecture INV4_DFL of INV4 is begin Y <= not X; --Λογικές πράξεις με λογικά διανύσματα end INV4_DFL; Η αρχιτεκτονική ισοδυναμεί με : architecture INV4_DFL of INV4 is begin Y(0) <= not X(0); Y(1) <= not X(1); Y(2) <= not X(2); Y(3) <= not X(3); end INV4_DFL;

154 Συνένωση Σημάτων Τελεστής συνένωσης σημάτων (concatenation) & Εάν τα διανύσματα A(1 downto 0) και B(0 to 2) συνενωθούν στο διάνυσμα Υ(0 to 4) με την εντολή Y<= A&B, τότε ισχύει: Υ(0) <= Α(1) Υ(1) <= Α(0) Υ(2) <= Β(0) Υ(3) <= Β(1) Υ(4) <= Β(2)

155 8-ψήφιος Καταχωρητής Περιγραφή Συμπεριφοράς entity REG1_ 8 is port ( CLK: in STD_LOGIC; D: in STD_LOGIC_VECTOR (7 downto 0); Q: out STD_LOGIC_VECTOR (7 downto 0)); end REG1_8; architecture REG1_8_BEH of REG1_8 is begin process (CLK) begin if (CLK = '1' and CLK'event) then Q <= D; end if; end process; end REG1_8_BEH; Διαφέρει από το DFF στον τύπο των σημάτων D και Q

156 8-ψήφιος Καταχωρητής RTL Schematic

157 8-ψήφιος Καταχωρητής με CLR και WE Περιγραφή Συμπεριφοράς entity REG2_8 is port ( CLK, WE, CLR: in STD_LOGIC; D: in STD_LOGIC_VECTOR (7 downto 0); Q: out STD_LOGIC_VECTOR (7 downto 0)); end REG2_8; architecture REG2_8_BEH of REG2_8 is begin process (CLK, CLR) begin if (CLR = 1') then Q <= (others => '0'); elsif (CLK = '1' and CLK'event) then if (WE = '1 ) then Q <= D; end if; end if; end process; end REG2_8_BEH; Συντομογραφία του όλα-0

158

159 8-ψήφιος Καταχωρητής με WE και OE Περιγραφή Συμπεριφοράς entity REG3_8 is port ( CLK, WE, OE: in STD_LOGIC; D: in STD_LOGIC_VECTOR (7 downto 0); Q: out STD_LOGIC_VECTOR (7 downto 0)); end REG3_8; architecture REG3_8_BEH of REG3_8 is signal Q_in: STD_LOGIC_VECTOR (7 downto 0); begin DFFwWE: process (CLK) begin if (CLK = '1' and CLK'event) then if (WE = '1') then Q in <= D; end if; end if; end process; BUFFERS: process (OE, Q_in) begin if (OE = '1') then Q <= Q_in; else Q <= (others => 'Z'); end if; end process; end REG3_8_BEH; Συντομογραφία του όλα-z

160 8-ψήφιος Καταχωρητής με WE και OE RTL Schematic Τ T i St t B ff (O)BUFT έ t t bl ό 0 Το Tri-State Buffer (O)BUFT έχει output enable ενεργό στο 0. Προσοχή δεν υποστηρίζεται εσωτερικά σε όλες τις οικογένειες των FPGAs, αλλά μόνο στα OPADs και IOPADs για σήματα που εγκαταλείπουν το chip

161 8-ψήφιος Καταχωρητής με WE και OE Technology Schematic

162

163 8-ψήφιος Πολυπλέκτης 2 σε 1 με BUFT Περιγραφή Συμπεριφοράς entity MUX2in1T_8 is port ( S: in STD_LOGIC; X0, X1: in STD_LOGIC_VECTOR (7 downto 0); Y: out STD_LOGIC_VECTOR (7 downto 0)); end MUX2in1T_8; architecture MUX2in1T_8_BEH of MUX2in1T_8 is signal X0 in, X1 in: STD LOGIC VECTOR (7 downto 0); begin BUFFERS1: process (S, X0) begin if (S = '0') then X0_in <= X0; else X0_in <= (others => 'Z'); end if; end process; BUFFERS2: process (S, X1) begin if (S = '1') then X1_in <= X1; else X1_in <= (others => 'Z'); end if; end process; Y <= X0_in; Y <= X1_in; end MUX2in1T_8_BEH; 8multi-source signals

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Ακολουθιακός Κώδικας Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr

Διαβάστε περισσότερα

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

Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι Εισαγωγή στη VHDL Εισαγωγή Very High Speed Integrated Circuits Hardware Description Language ιαφορές από γλώσσες προγραμματισμού: παράλληλη εκτέλεση εντολών προσδιορισμός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κυκλωμάτων» Χειμερινό εξάμηνο «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 VHDL, Χαρακτηριστικά και τρόποι περιγραφής Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ http://diceslab.cied.teiwest.gr

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Ρόλος των γλωσσών περιγραφής υλικού σε μια τυπική ροή σχεδίασης: Documentation Simulation Synthesis Οι γλώσσες περιγραφής υλικού μπορούν να

Διαβάστε περισσότερα

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

VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών n VHDL Processes Περίληψη n Εντολές If-Then-Else και CASE

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL Προετοιµασία: Παπαδόπουλος Γιώργος Σούρδης Γιάννης Για το µάθηµα Οργάνωσης Υπολογιστών (ΑΡΥ301), 2002 ΕΙΣΑΓΩΓΗ ΣΤΗ STRUCTURAL VHDL Η VHDL είναι

Διαβάστε περισσότερα

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

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Καταχωρητές και χρονισμός με ρολόι Περιγραφή Κυκλωμάτων με χρήση της VHDL Καταχωρητές και χρονισμός με ρολόι Οργάνωση Παρουσίασης Διεργασίες (κανόνες) Ακολουθιακές Δηλώσεις (Sequential Statements) Καταχωρητές και χρονισμός Συμπληρωματική

Διαβάστε περισσότερα

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συντρέχων Κώδικας «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 216-217 Συντρέχων Κώδικας Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr

Διαβάστε περισσότερα

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. VHDL για Ακολουθιακά Κυκλώματα 1 ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Ακολουθιακών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Περίληψη VHDL Processes Εντολές If-Then Then-Else και CASE Περιγραφή Flip-Flop Flop με VHDL

Διαβάστε περισσότερα

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

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκων: Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Διαβάστε περισσότερα

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers) ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη q Καταχωρητές Παράλληλης

Διαβάστε περισσότερα

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1 ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές

Διαβάστε περισσότερα

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκoντες: Δρ. Γιώργος Ζάγγουλοςκαι Δρ. Παναγιώτα Δημοσθένους Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων

Διαβάστε περισσότερα

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

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Συνδυαστικό Κυκλωμα: Το κύκλωμα του οποίου οι έξοδοι εξαρτώνται αποκλειστικά από τις τρέχουσες εισόδους του. Ακολουθιακό Κύκλωμα: Το κύκλωμα

Διαβάστε περισσότερα

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκoντες: Δρ. Αγαθοκλής Παπαδόπουλος και Δρ. Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Μηχανές Πεπερασμένων Καταστάσεων Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

VHDL Εισαγωγικές έννοιες VHDL Εισαγωγικές έννοιες ρ. Κ. Καραφασούλης ckaraf@aegean.gr Σχεδίαση Αρχικά ψηφιακά κυκλώµατα µπορούν να σχεδιασθούν µε το κατάλληλο λογισµικό. Μεγαλύτερα κυκλώµατα µπορούν να σχεδιασθούν ιεραρχικά από

Διαβάστε περισσότερα

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

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL Περιγραφή Κυκλωμάτων με χρήση της VHDL Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL Οργάνωση Παρουσίασης VHDL εισαγωγικές έννοιες Ροή και επίπεδα σχεδιασμού ψηφιακών κυκλωμάτων Μοντελοποίηση Καθυστερήσεων

Διαβάστε περισσότερα

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Τύποι Δεδομένων και Τελεστές «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Τύποι Δεδομένων και Τελεστές Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr Αντίρριο

Διαβάστε περισσότερα

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

Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 3: Καταχωρητές - Απαριθμητές Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Structural VHDL. Structural VHDL

Structural VHDL. Structural VHDL Structural VHDL Παράδειγμα Multiplexer Component Component specification Port map command Unconnected outputs Unconnected inputs Generic map command Generate command Configuration Παράδειγμα 4-bit Adder

Διαβάστε περισσότερα

Library, package και subprograms

Library, package και subprograms Library, package και subprograms Libraries Packages Subprograms Procedures Functions Overloading Αριθμητικά πακέτα Type conversion Shift operators Παράδειγμα Library - Package Ασκήσεις-Προβλήματα 12/8/2009

Διαβάστε περισσότερα

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

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL) Ακολουθιακές εντολές (Peter Ashenden, The Students Guide to VHDL) Εντολή If Τα βασικά χαρακτηριστικά της είναι τα εξής: Μπορεί να χρησιµοποιηθεί για τον έλεγχο µίας ή περισσοτέρων συνθηκών. Η πρώτη συνθήκη

Διαβάστε περισσότερα

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα) «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα) Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ενότητα ΑΡΧΕΣ ΑΚΟΛΟΥΘΙΑΚΗΣ ΛΟΓΙΚΗΣ LATCHES & FLIP-FLOPS

Ενότητα ΑΡΧΕΣ ΑΚΟΛΟΥΘΙΑΚΗΣ ΛΟΓΙΚΗΣ LATCHES & FLIP-FLOPS Ενότητα ΑΡΧΕΣ ΑΚΟΛΟΥΘΙΑΚΗΣ ΛΟΓΙΚΗΣ LATCHES & FLIP-FLOPS Γενικές Γραμμές Ακολουθιακή Λογική Μεταστάθεια S-R RLatch h( (active high h&l low) S-R Latch with Enable Latch Flip-Flop Ασύγχρονοι είσοδοι PRESET

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στη Γλώσσα VHDL Εισαγωγή στη Γλώσσα VHDL Παράδειγμα and3 Entity και Architecture Entity Entity - Παραδείγματα Architecture VHDL simulation παραδείγματος and3 Παράδειγμα NAND VHDL simulation παραδείγματος nand Boolean

Διαβάστε περισσότερα

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

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Γλώσσες Περιγραφής Μοντέλα Ένα µοντέλο ενός κυκλώµατος είναι µία αναπαράσταση που παρουσιάζει χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Τα τυπικά µοντέλα έχουν καλά ορισµένη σύνταξη. Τα αυτόµατα

Διαβάστε περισσότερα

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

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Εισαγωγή στη VHDL Υλοποίηση στο Quartus Διδάσκων: Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Ατζέντα 1. Στόχοι 3

Διαβάστε περισσότερα

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Προχωρημένα Θέματα Σχεδιασμού με VHDL «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Προχωρημένα Θέματα Σχεδιασμού με VHDL Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

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

Εισαγωγή στη VHDL Υλοποίηση στο Quartus ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Εισαγωγή στη VHDL Υλοποίηση στο Quartus Διδάσκοντες: Δρ. Γιώργος Ζάγγουλος και Δρ. Παναγιώτα Μ. Δημοσθένους Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

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

ΠΑΡΑΡΤΗΜΑ Β. Verification ΠΑΡΑΡΤΗΜΑ Β Ροή Σχεδίασης και VHDL Ροή Σχεδίασης Πριν περάσουµε σε περιγραφή της γλώσσας VHDL είναι χρήσιµο να δούµε το περιβάλλον και τη ροή της σχεδίασης. Τα βήµατα µιας σχεδίασης βασισµένης σε VHDL

Διαβάστε περισσότερα

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

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Οντότητες και συντρέχουσες δηλώσεις Περιγραφή Κυκλωμάτων με χρήση της VHDL Οντότητες και συντρέχουσες δηλώσεις Οργάνωση Παρουσίασης Οντότητα (Entity) Συντρέχουσα VHDL (Concurrent VHDL) Συντρέχουσες Δηλώσεις (Concurrent Statements) Αντικείμενα

Διαβάστε περισσότερα

VHDL Introduction. Subtitle

VHDL Introduction. Subtitle VHDL Introduction Subtitle Getting Started VHDL means Very Hard Difficult Language That s a lie!!! τα αρχικά VHDL είναι συντομογραφία του VHSIC Hardware Description Language, ενώ το VHSIC αντιπροσωπεύει

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών ΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών Θέμα Β.1: Απλός καταχωρητής 1 bit (D Flip-Flop) preset D D Q Q clk clear Σχήμα 2.1: D Flip-Flop με εισόδους preset και clear Με τη

Διαβάστε περισσότερα

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

VHDL για Σχεδιασµό Συνδυαστικών και Ακολουθιακών Ψηφιακών Κυκλωµάτων VHDL για Σχεδιασµό Συνδυαστικών και Ακολουθιακών Ψηφιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL (Very high speed integrated

Διαβάστε περισσότερα

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

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Χρησιμοποιούμε τις μηχανές πεπερασμένων καταστάσεων (finite state machines FSMs) για την μοντελοποίηση της συμπεριφοράς ενός κυκλώματος, η

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ 100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ 1) Να μετατρέψετε τον δεκαδικό αριθμό (60,25) 10, στον αντίστοιχο δυαδικό 11111,11 111001,01 111100,01 100111,1 111100,01 2)

Διαβάστε περισσότερα

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches) «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches) Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος

Διαβάστε περισσότερα

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

Προσοµοίωση Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL) Προσοµοίωση Συστηµάτων µε VHDL (Peter Ashenden, The Students Guide to VHDL) Κώδικας VHDL Περιβάλλον Σχεδίασης Αναλυτής ιαχειριστής Βιβλιοθήκης Σχεδίασης Προσοµοιωτής Αντίστροφος Αναλυτής Βιβλιοθήκη Σχεδίασης

Διαβάστε περισσότερα

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

Σχεδιασμός Ψηφιακών Συστημάτων ΗΜΥ 2: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 27 Νοε-7 ΗΜΥ-2: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 27 Ακολουθιακά Κυκλώματα: Μανδαλωτές (Latches) και Flip-Flops Flops Διδάσκουσα:

Διαβάστε περισσότερα

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

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops K24 Ψηφιακά Ηλεκτρονικά 9: TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΧΝΟΛΟΓΙΚΟ Περιεχόμενα 1 2 3 Γενικά Ύστερα από τη μελέτη συνδυαστικών ψηφιακών κυκλωμάτων, θα μελετήσουμε

Διαβάστε περισσότερα

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

Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής VHDL Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής Structural (Δομική) Dataflow (Ροής δεδομένων) Behavioral (Συμπεριφοράς) Η VDHL χρησιμοποιείται για την περιγραφή

Διαβάστε περισσότερα

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

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Συνδυαστικών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL (Very high

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 9. Tα Flip-Flop

ΑΣΚΗΣΗ 9. Tα Flip-Flop ΑΣΚΗΣΗ 9 Tα Flip-Flop 9.1. ΣΚΟΠΟΣ Η κατανόηση της λειτουργίας των στοιχείων μνήμης των ψηφιακών κυκλωμάτων. Τα δομικά στοιχεία μνήμης είναι οι μανδαλωτές (latches) και τα Flip-Flop. 9.2. ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ

Διαβάστε περισσότερα

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

VHDL. ΗΜΥ-210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Απλό παράδειγµα: Entity. Μοντελοποίηση. Απλό παράδειγµα:αρχιτεκτονική. Στοιχεία γλώσσας VHDL ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005 Κεφάλαιο 4 - iii: VHDL για Σχεδιασµό Συνδυαστικών Κυκλωµάτων Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL Γλώσσα προγραµµατισµού

Διαβάστε περισσότερα

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

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Σχόλια: - - This is a single line comment - - There is no alternative way to write multi-line comments Αναγνωριστικά: Τα αναγνωριστικά

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 7 FLIP - FLOP

ΑΣΚΗΣΗ 7 FLIP - FLOP ΑΣΚΗΣΗ 7 FLIP - FLOP Αντικείμενο της άσκησης: Η κατανόηση της δομής και λειτουργίας των Flip Flop. Flip - Flop Τα Flip Flop είναι δισταθή λογικά κυκλώματα με χαρακτηριστικά μνήμης και είναι τα πλέον βασικά

Διαβάστε περισσότερα

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Γλώσσα περιγραφής υλικού: Verilog ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Γλώσσα περιγραφής υλικού: Verilog Αρης Ευθυμίου Το σημερινό μάθημα! Η γλώσσα περιγραφής υλικού Verilog Περίληψη των αντίστοιχων μαθημάτων Ψηφιακής σχεδίασης έμφαση σε

Διαβάστε περισσότερα

nkavv@physics.auth.gr

nkavv@physics.auth.gr Γλώσσες Περιγραφής Υλικού Εισαγωγή στην VHDL Νικόλαος Καββαδίας nkavv@physics.auth.gr 17 Μαρτίου 2009 Αντικείμενο του μαθήματος CST256: Γλώσσες Περιγραφής Υλικού Επιμέρους στόχοι του μαθήματος Σχεδιασμός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 1 η Εργαστηριακή Άσκηση Εισαγωγή στη VHDL και στο εργαλείο Modelsim 1 Άδειες Χρήσης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons

Διαβάστε περισσότερα

Πρόλογος Συμβολή σε ορισμένα σημεία του περιεχομένου είχαν οι διδάκτορες Γ. Οικονομάκος και Ισ. Σίδερης καθώς και οι μεταπτυχιακοί σπουδαστές Ι. Σιφναίος, Ε. Χανιωτάκης και Κ. Ασφής τους οποίους ευχαριστώ

Διαβάστε περισσότερα

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ΗΜΥ 00 Εισαγωγή στην Τεχνολογία Στέλιος Τιμοθέου ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ ΜΑΣ ΣΗΜΕΡΑ Δυαδική λογική Πύλες AND, OR, NOT, NAND,

Διαβάστε περισσότερα

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

1 Περίληψη Η εργασία έγινε στα πλαίσια του μαθήματος των Ψηφιακών Ηλεκτρονικών Συστημάτων με σκοπό αρχικά την εκμάθηση της γλώσσας VHDL (Very High Spe Εργασία στα Ψηφιακά Ηλεκτρονικά Συστήματα 2013-2014 Θέμα: Κατασκευή και Ανάλυση Μετρητή 4-bit και Πλήρους Αθροιστή σε περιβάλλον VHDL Ονοματεπώνυμο: Αλέξανδρος Γεώργιος Μουντογιαννάκης Σχολή: Τμήμα Επιστήμης

Διαβάστε περισσότερα

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

Σχεδιασμός Ψηφιακών Συστημάτων ΗΜΥ 2: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 28 ΗΜΥ-2: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 28 Ακολουθιακά Κυκλώματα: Μανδαλωτές (Latches) και Flip-Flops Flops Διδάσκουσα: Μαρία

Διαβάστε περισσότερα

Αυγ-13 Ακολουθιακά Κυκλώματα: Μανδαλωτές και Flip-Flops. ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2009.

Αυγ-13 Ακολουθιακά Κυκλώματα: Μανδαλωτές και Flip-Flops. ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2009. ΗΜΥ-20: Σχεδιασμός Ψηφιακών Συστημάτων Ακολουθιακά Κυκλώματα: Μανδαλωτές (Latches) και Flip-Flops Flops Διδάσκουσα: Μαρία Κ. Μιχαήλ Ακολουθιακά Κυκλώματα Συνδυαστική Λογική: Η τιμή σε μία έξοδο εξαρτάται

Διαβάστε περισσότερα

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

Σχεδίαση Υπολογιστικών Σχεδίαση Υπολογιστικών Συστημάτων Εισαγωγή Μιχάλης Ψαράκης 1 Εισαγωγή Βιβλιογραφία: Βιβλίο Α: «Ψηφιακή Σχεδίαση Ενσωματωμένα Συστήματα με VHDL», P.J. Ashenden. Εκδόσεις Νέες Τεχνολογίες Βιβλίο Β: «Σχεδιασμός

Διαβάστε περισσότερα

Πανεπιστήµιο Κύπρου DEPARTMENT OF COMPUTER SCIENCE

Πανεπιστήµιο Κύπρου DEPARTMENT OF COMPUTER SCIENCE Πανεπιστήµιο Κύπρου DEPARTMENT OF OMPUTER SIENE S 121 Ψηφιακά Εργαστήρια LAB EXERISE 4 Sequential Logic Χρίστος ιονυσίου Σωτήρης ηµητριάδης Άνοιξη 2002 Εργαστήριο 4 Sequential ircuits A. Στόχοι Ο σκοπός

Διαβάστε περισσότερα

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση. Ενότητα 13: Εισαγωγή στην VHDL Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα 13: Εισαγωγή στην VHDL Δρ. Αλέξανδρος Λαζαρίδης alazaridis@uowm.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2008

ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2008 ΗΜΥ-211: Εργαστήριο Σχεδιασμού Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2009 Ακολουθιακά Κυκλώματα: Μανδαλωτές (Latches), Flip-FlopsFlops και Μετρητές Ριπής Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων

Διαβάστε περισσότερα

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

Βασικές οµές Μοντελοποίησης. (Peter Ashenden, The Students Guide to VHDL) Βασικές οµές Μοντελοποίησης (Peter Ashenden, The Students Guide to VHDL) Επίπεδα Αναπαράστασης - Αφαίρεσης Αθροιστής: SUM

Διαβάστε περισσότερα

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

Άσκηση 3 Ένα νέο είδος flip flop έχει τον ακόλουθο πίνακα αληθείας : I 1 I 0 Q (t+1) Q (t) 1 0 ~Q (t) Κατασκευάστε τον πίνακα Άσκηση Δίδονται οι ακόλουθες κυματομορφές ρολογιού και εισόδου D που είναι κοινή σε ένα D latch και ένα D flip flop. Το latch είναι θετικά ενεργό, ενώ το ff θετικά ακμοπυροδοτούμενο. Σχεδιάστε τις κυματομορφές

Διαβάστε περισσότερα

Ψηφιακή Λογική και Σχεδίαση

Ψηφιακή Λογική και Σχεδίαση Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 26-7 Ψηφιακή Λογική και Σχεδίαση (σχεδίαση συνδυαστικών κυκλωμάτων) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Το τρανζίστορ

Διαβάστε περισσότερα

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

Κυκλωμάτων» Χειμερινό εξάμηνο «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Εισαγωγή στα Συστήματα Ολοκληρωμένων Κυκλωμάτων Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής http://diceslab.cied.teiwest.gr E-mail: pkitsos@teimes.gr

Διαβάστε περισσότερα

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

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 25 Κεφάλαιο 3 -i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων Περίληψη Αρχές σχεδιασµού Ιεραρχία σχεδιασµού Σχεδιασµός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Μοντελοποίηση Επιπέδου Πύλης. (Peter Ashenden, The Students Guide to VHDL) Μοντελοποίηση Επιπέδου Πύλης (Peter Ashenden, The Students Guide to VHDL) Πολλαπλά Επίπεδα Τιµών Η κατάσταση µίας γραµµής δεν είναι πάντα 0 ή 1. ιαµάχες οδηγούν σε απροσδιοριστία. Χρήση πολλαπλών επιπέδων

Διαβάστε περισσότερα

Σχεδίαση της Μονάδας Ελέγχου

Σχεδίαση της Μονάδας Ελέγχου ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 5 Σχεδίαση της Μονάδας Ελέγχου Καθηγητής Αντώνης Πασχάλης 2017 Γενικές Γραμμές Σχεδίαση

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Ακολουθιακή Λογική. Επιμέλεια Διαφανειών: Δ. Πανεπιστήμιο Πατρών Τμήμα Φυσικής Ψηφιακά Ηλεκτρονικά Ακολουθιακή Λογική Επιμέλεια Διαφανειών: Δ. Μπακάλης Πάτρα, Φεβρουάριος 2009 Εισαγωγή Είσοδοι Συνδυαστικό Κύκλωμα Έξοδοι Στοιχεία Μνήμης Κατάσταση

Διαβάστε περισσότερα

Στοιχεία Μνήμης, JKκαιD (Flip-Flops) Μετρητής Ριπής (Ripple Counter)

Στοιχεία Μνήμης, JKκαιD (Flip-Flops) Μετρητής Ριπής (Ripple Counter) ΗΜΥ211 Εργαστήριο Ψηφιακών Συστηµάτων Στοιχεία Μνήμης, JKκαιD (Flip-Flops) Μετρητής Ριπής (Ripple Counter) ιδάσκων: ρ. Γιώργος Ζάγγουλος Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Διαβάστε περισσότερα

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

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ. ΤΕΙ ΚΡΗΤΗΣ / ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ mode mode(0) ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εµµανουήλ Καπαρού Επιβλέπων : ρ Μηχ Νικόλαος

Διαβάστε περισσότερα

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

Σύνθετοι τύποι και λειτουργίες. (Peter Ashenden, The Students Guide to VHDL) Σύνθετοι τύποι και λειτουργίες (Peter Ashenden, The Students Guide to VHDL) Πίνακες Πίνακες: Αποτελούνται από στοιχεία του ίδιου τύπου. Μονοδιάστατοι Πίνακες type table1 is array (0 to 7) of std_logic;

Διαβάστε περισσότερα

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET)

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 25-6 Το τρανζίστορ MOS(FET) πύλη (gate) Ψηφιακή και Σχεδίαση πηγή (source) καταβόθρα (drai) (σχεδίαση συνδυαστικών κυκλωμάτων) http://di.ioio.gr/~mistral/tp/comparch/

Διαβάστε περισσότερα

Ελίνα Μακρή

Ελίνα Μακρή Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,

Διαβάστε περισσότερα

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

7.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 7 ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΑΝ ΑΛΩΤΕΣ FLIP FLOP Σκοπός: Η κατανόηση της λειτουργίας των βασικών ακολουθιακών κυκλωµάτων. Θα µελετηθούν συγκεκριµένα: ο µανδαλωτής (latch)

Διαβάστε περισσότερα

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI Ε.Μ.Π. - ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ VLSI

Διαβάστε περισσότερα

Ψηφιακή Λογική Σχεδίαση

Ψηφιακή Λογική Σχεδίαση Ψηφιακή Λογική Σχεδίαση Επιμέλεια: Νίκος Φακωτάκης, Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται

Διαβάστε περισσότερα

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

Πρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ Εισαγωγή... 19 Περιεχόµενα Πρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ... 17 1 Εισαγωγή... 19 1.1 Σχετικά µε τη VHDL...19 1.2 Ροή σχεδιασµού...20 1.3 Εργαλεία EDA...21 1.4 Μεταγλώττιση από κώδικα VHDL σε κύκλωµα...22

Διαβάστε περισσότερα

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα 9: Ελαχιστοποίηση και Κωδικοποίηση Καταστάσεων, Σχεδίαση με D flip-flop, Σχεδίαση με JK flip-flop, Σχεδίαση με T flip-flop Δρ. Μηνάς

Διαβάστε περισσότερα

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

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή 6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή Εισαγωγή Η σχεδίαση ενός ψηφιακού συστήµατος ως ακολουθιακή µηχανή είναι εξαιρετικά δύσκολη Τµηµατοποίηση σε υποσυστήµατα µε δοµικές µονάδες:

Διαβάστε περισσότερα

Α. ΣΚΟΔΡΑΣ ΠΛΗ21 ΟΣΣ#2. 14 Δεκ 2008 ΠΑΤΡΑ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ 2008 Α. ΣΚΟΔΡΑΣ ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΜΕΛΕΤΗΣ

Α. ΣΚΟΔΡΑΣ ΠΛΗ21 ΟΣΣ#2. 14 Δεκ 2008 ΠΑΤΡΑ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ 2008 Α. ΣΚΟΔΡΑΣ ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΜΕΛΕΤΗΣ ΠΛΗ21 ΟΣΣ#2 14 Δεκ 2008 ΠΑΤΡΑ ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΜΕΛΕΤΗΣ 7-segment display 7-segment display 7-segment display Αποκωδικοποιητής των 7 στοιχείων (τμημάτων) (7-segment decoder) Κύκλωμα αποκωδικοποίησης του στοιχείου

Διαβάστε περισσότερα

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

Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές πλακέτες LP-2900 και DE2. ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΕΝΤΡΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές

Διαβάστε περισσότερα

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

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΙΚΤΥΩΝ Τοµέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ232 - Ψηφιακή Σχεδίαση µε CAD ΙΙ Design Flow Simulation - Synthesis

Διαβάστε περισσότερα

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

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Λογικές Πύλες, Στοιχεία Μνήμης, Συνδυαστική Λογική και Κυματομορφές ΗΥ220 - Βασίλης Παπαευσταθίου & Γιώργος Καλοκαιρινός 1 Τα βασικά της

Διαβάστε περισσότερα

ΨΗΦΙΑΚΗΛΟΓΙΚΗΣΧΕΔΙΑΣΗ

ΨΗΦΙΑΚΗΛΟΓΙΚΗΣΧΕΔΙΑΣΗ Τμήμα Ηλεκτρολόγων Μηχανικών Εργαστήριο Ενσύρματης Τηλεπικοινωνίας ΨΗΦΙΑΚΗΛΟΓΙΚΗΣΧΕΔΙΑΣΗ Μάθημα 5: Στοιχεία µνήµης ενός ψηφίου Διδάσκων: Καθηγητής Ν. Φακωτάκης Στοιχεία μνήμης Ένα ψηφιακό λογικό κύκλωμα

Διαβάστε περισσότερα

Ενότητα 6 ΑΝΑΛΥΣΗ & ΣΥΝΘΕΣΗ ΣΥΝΔΥΑΣΤΙΚΗΣ ΛΟΓΙΚΗΣ ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΠΟΛΛΩΝ ΕΠΙΠΕΔΩΝ

Ενότητα 6 ΑΝΑΛΥΣΗ & ΣΥΝΘΕΣΗ ΣΥΝΔΥΑΣΤΙΚΗΣ ΛΟΓΙΚΗΣ ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΠΟΛΛΩΝ ΕΠΙΠΕΔΩΝ Ενότητα 6 ΑΝΑΛΥΣΗ & ΣΥΝΘΕΣΗ ΣΥΝΔΥΑΣΤΙΚΗΣ ΛΟΓΙΚΗΣ ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΠΟΛΛΩΝ ΕΠΙΠΕΔΩΝ Γενικές Γραμμές Ανάλυση Συνδυαστικής Λογικής Σύνθεση Συνδυαστικής Λογικής Λογικές Συναρτήσεις Πολλών Επιπέδων Συνδυαστικά

Διαβάστε περισσότερα