ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τµήµα Ηλεκτρονικής & Μηχανικών Υπολογιστών Εργαστήριο Μικροεπεξεργαστών & Υλικού Πολυτεχνειούπολη Χανίων Τ.Κ.

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

Download "ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τµήµα Ηλεκτρονικής & Μηχανικών Υπολογιστών Εργαστήριο Μικροεπεξεργαστών & Υλικού Πολυτεχνειούπολη Χανίων Τ.Κ."

Transcript

1 ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τµήµα Ηλεκτρονικής & Μηχανικών Υπολογιστών Εργαστήριο Μικροεπεξεργαστών & Υλικού Πολυτεχνειούπολη Χανίων Τ.Κ Κρήτη Τηλ. : Fax : ΕΙΣΑΓΩΓΗ ΣΤΗ VHDL ιονύσης Ευσταθίου ιδάσκων: Καθ. Απόστολος όλλας Εργαστήριο Μικροεπεξεργαστών & Υλικού ιευθυντής Εργαστηρίου: Καθ. Απόστολος όλλας Προετοιµασία: Ευριπίδης Σωτηριάδης, Μάρκος Κιµιωνής. Ε ΤΠ : Μάρκος Κιµιωνής Χανιά 2001

2 ΠΕΡΙΕΧΟΜΕΝΑ 1.Εισαγωγή...3 ιαφορές VHDL µε /C Βασικές αρχές της VHDL Entity Declaration Architecture Body Structural Style of Modeling ( οµικός τρόπος σχεδίασης) Behavioral Style of Modeling (Συµπεριφερικός τρόπος σχεδίασης) Dataflow Style of Modeling (Σχεδίαση ιαγράµµατος ροής) Mixed Style of Modeling(Συνδυασµός των παραπάνω) Οργάνωση της σχεδίασης (Design Organization) Βιβλιοθήκες Packages (Πακέτα) Πρόσβαση σε βιβλιοθήκες και πακέτα Βασικά χαρακτηριστικά της γλώσσας VHDL Συνδυαστική Λογική Σχεδίαση (Combinational Logic Design) Logical operators (Λογικές πράξεις) Relational operators (Σχεσιακές πράξεις) Multiplexer 4-to-1 (Πολυπλέκτης 4-σε-1) Λειτουργία του πολυπλέκτη 4-σε Σχεδίαση του πολυπλέκτη 4-σε-1 σε VHDL...17 Επιλογή βιβλιοθηκών...17 Ορισµός του entity...17 Architecture body...17 Dataflow design Style (Σχεδίαση µε διάγραµµα ροής)...17 Behavioral design Style(Συµπεριφερικός τρόπος σχεδίασης)...18 Structural design Style ( οµικός τρόπος σχεδίασης) Συµπεράσµατα από την σχεδίαση του MUX 4 to 1 σε VHDL Ακολουθιακή Λογική Σχεδίαση (Sequential Logic Design)

3 3.2.1 Προτερήµατα του structural τρόπου σχεδίασης bit Shift Register (4-bit Καταχωρητής Ολίσθησης) Λειτουργία του 4-bit Shift Register Σχεδίαση του 4-bit Shift Register...24 Επιλογή βιβλιοθηκών...24 Ορισµός του entity...24 Architecture body...25 Behavioral design Style(Συµπεριφερικός τρόπος σχεδίασης)...25 Structural design Style ( οµικός τρόπος σχεδίασης) Βιβλιογραφία

4 1. ΕΙΣΑΓΩΓΗ Η VHDL είναι µια γλώσσα περιγραφής υλικού για την ανάπτυξη ψηφιακών ηλεκτρονικών συστηµάτων. Ως λέξη αποτελεί συντόµευση των λέξεων: VHSIC Hardware Description Language. Τα δε αρχικά VHSIC είναι µε τη σειρά τους συντόµευση για Very High-Speed Integrated Circuit (Ολοκληρωµένα Κυκλώµατα Υψηλής Ταχύτητας). Η VHDL ως γλώσσα προγραµµατισµού µπορεί να χρησιµοποιηθεί για την περιγραφή της συµπεριφοράς, της δοµής αλλά και της εφαρµογής ψηφιακών συστηµάτων. Με βάση αυτά τα χαρακτηριστικά η VHDL χαρακτηρίζεται σαν ένα εργαλείο ECAD ( Electronic Computer Aided Design). Γενικά, σήµερα, η χρήση εργαλείων CAD έχει επεκταθεί καθώς η τεράστια ανάπτυξη της τεχνολογίας ηµιαγωγών στην κατασκευή ολοκληρωµένων κυκλωµάτων έχει µετατοπίσει το κέντρο βάρους των µηχανικών από την λεπτοµερειακή υλοποίηση κυκλωµάτων στην διαχείριση της αυξανόµενης πολυπλοκότητας. Πιο συγκεκριµένα τη σηµερινή εποχή ο µηχανικός-σχεδιαστής, περιορίζεται περισσότερο από την δυνατότητά του να αντεπεξέλθει την πολυπλοκότητα της σχεδίασης του παρά από την ικανότητα της τεχνολογίας να την υποστηρίξει. Αυτό το χάσµα έρχεται να γεφυρώσει η VHDL επιτρέποντας µια υψηλού επιπέδου περιγραφή (Abstract) της σχεδίασης και κατόπιν µε την χρήση εργαλείων σύνθεσης (Logic Synthesis Tools) την αυτόµατη αποτύπωση αυτής της σχεδίασης σε ολοκληρωµένη µορφή η οποία να είναι εντός των προδιαγραφών που θέτει ο µηχανικός. ιαφορές VHDL µε C/C++ Η VHDL είναι όπως αναφέραµε µια γλώσσα περιγραφής υλικού (HDL). Σε σχέση µε γνωστές υψηλού επιπέδου γλώσσες προγραµµατισµού ( C/C++) υπάρχουν µερικές βασικές διαφορές : Στη VHDL δεν υπάρχει κάποια συγκεκριµένη ροή προγράµµατος όπως στην C. Κάθε έκφραση στην VHDL εκτελείται παράλληλα έκτος αν δηλωθεί το αντίθετο. Βέβαια, υπάρχουν constructs στην VHDL για κατ εξαίρεση σειριακή ροή αλλά και αυτό από µόνο του δηλώνει ότι η VHDL είναι µια παράλληλη γλώσσα, ότι δηλαδή αυτό γίνεται κατ εξαίρεση. Η VHDL επιτρέπει την χρήση χρονικών καθυστερήσεων. Μπορούµε δηλ. να πούµε ότι µια δήλωση εκτελείται µετά την πάροδο ενός χρονικού ορίου. Ναι µεν σε µερικές γλώσσες υποστηρίζεται η χρήση χρονικών καθυστερήσεων αλλά αυτό γίνεται µέσω διαφόρων πρόσθετων βιβλιοθηκών και δεν αποτελούν αναπόσπαστο κοµµάτι της γλώσσας. Όµως η VHDL παρουσιάζει και οµοιότητες µε µερικές άλλες γλώσσες (π.χ. ADA, C++) κύρια στον τοµέα του αντικειµενοστραφή (object-oriented) προγραµµατισµού. 3

5 2. ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΤΗΣ VHDL Η VHDL ως γλώσσα περιγραφής υλικού µπορεί να χρησιµοποιηθεί για την περιγραφή ενός ψηφιακού κυκλώµατος όπως προαναφέραµε. Αυτό το κύκλωµα µπορεί να είναι από µία απλή λογική πύλη έως ένα ολοκληρωµένο ψηφιακό σύστηµα. Στη VHDL το ψηφιακό κύκλωµα που σχεδιάζεται, αναφέρεται ως entity (οντότητα). Όµως ένα entity X όταν εµπεριέχεται µέσα σ ένα entity Υ τότε αυτό ονοµάζεται component (στοιχείο). Design Entity Entity Declaration Architecture Body component Component component Entity Declaration Concurrent Statements Architecture Body component component Concurrent Statements Για την περιγραφή ενός entity, η VHDL προσφέρει πέντε διαφορετικά constructs τα οποία και ονοµάζονται µονάδες σχεδίασης (design units): Entity declaration Architecture body Configuration declaration Packages 4

6 2.1 Entity Declaration Είναι το κοµµάτι του κώδικα το οποίο δηλώνει το όνοµα του συγκεκριµένου κυκλώµατος και επίσης παραθέτει και µια λίστα µε τα Ports του κυκλώµατος. Με τον όρο ports, εννοούµε τα σήµατα µέσω των οποίων το συγκεκριµένο entity επικοινωνεί µε το εξωτερικό περιβάλλον (είσοδοι, έξοδοι, κ.ά.) A Z(0) Z(1) B EN Z(2) Z(3) Σχ. 2.1 Κύκλωµα 2 σε 4 decoder Η δήλωση για το κύκλωµα του σχήµατος 2.1 γίνεται ως εξής: entity DECODER2x4 is port (A, B, ENABLE: in bit; Z :out BIT_VECTOR(0 to 3)); end DECODER2x4; Το παραπάνω entity έχει τρία ports εισόδου (A, B, ENABLE) και τέσσερα ports εξόδου (Ζ(0), Ζ(1), Ζ(2), Ζ(3)). Το port Ζ είναι τύπου bit_vector, δηλαδή ένας µονοδιάστατος πίνακας από bits (bus) του οποίου το µέγεθος δηλώνεται από τον χρήστη. Στην προκειµένη περίπτωση το µέγεθός του είναι 4 (0 to 3) ή αλλιώς (3 downto 0). 2.2 Architecture Body Από το παραπάνω παράδειγµα είναι φανερό ότι το κοµµάτι entity declaration δεν αναφέρει τίποτα για το εσωτερικό του entity. Απλά δηλώνει το όνοµα αλλά και τα interface ports. Οι εσωτερικές λεπτοµέρειες του entity (δηλ. του κυκλώµατος) δηλώνονται στον κύριο κορµό της σχεδίασης που είναι το Architecture body µε έναν από τους κάτωθι τρόπους σχεδίασης: Ως ένας συνδυασµός αλληλοσυνδεόµενων στοιχείων (components). Structural Style of Modeling ( οµικός τρόπος σχεδίασης). Ως ένας συνδυασµός «παράλληλων» δηλώσεων και αναθέσεων. Dataflow Style of Modeling (Σχεδίαση ιαγράµµατος ροής). Ως ένας συνδυασµός «σειριακών» δηλώσεων και αναθέσεων. Behavioral Style of Modeling (Συµπεριφερικός τρόπος σχεδίασης). Ως ένας συνδυασµός των παραπάνω. 5

7 2.2.1 Structural Style of Modeling ( οµικός τρόπος σχεδίασης). Ο δοµικός τρόπος σχεδίασης περιγράφει το κύκλωµα κυρίως µε βάση το στοιχεία (components) που το απαρτίζουν. Αυτά µπορεί να είναι στοιχεία από διάφορες βιβλιοθήκες ή και από τον ίδιο το χρήστη από µία άλλη σχεδίασή του. Το αν ο σχεδιαστής θα χρησιµοποιήσει στοιχεία από «έτοιµες» βιβλιοθήκες ή θα προτιµήσει δικής του κατασκευής στοιχεία (generic/user-defined components) είναι ένα σηµαντικό θέµα το οποίο επιλύεται µε βάση την εµπειρία του αλλά και µε βάση τις απαιτήσεις της σχεδίασής του. Το Architecture body, στο δοµικό τρόπο σχεδίασης, ορίζει ποια components εµπεριέχονται στη συγκεκριµένη σχεδίαση καθώς και το πώς ενώνονται µεταξύ τους. Τα κύρια στοιχεία της VHDL που χρησιµοποιούνται σε αυτό τον τρόπο σχεδίασης είναι : Component declaration and instantiation ( ήλωση στοιχείων) Port mapping and signal interface lists (Αναφορά στον τρόπο σύνδεσης του κάθε στοιχείου της σχεδίασης µε τα υπόλοιπα. ηλαδή η έξοδος του στοιχείου σε ποια είσοδο άλλου στοιχείου πηγαίνει και µε τη χρήση ποιου σήµατος) Libraries and packages (βιβλιοθήκες και πακέτα) Signals (for interconnections) Λεπτοµερής ανάλυση των όσων προαναφέρονται θα ακολουθήσει αργότερα. Με βάση το παράδειγµα του 2-σε-4 decoder του σχήµατος 2.1 ας δούµε µία εφαρµογή του architecture body (structural) του entity DECODER2x4. architecture DEC_STRUCT of DECODER2x4 is component INV port(pin: in BIT; POUT: out BIT); end component; component NAND3 port(d0, D1, D2: in BIT; DZ: out BIT); end component; signal ABAR,BBAR: BIT; V0: INV port map (A, ABAR); V1: INV port map (A, BBAR); N0: NAND3 port map (ENABLE, ABAR, BBAR, Z(0)); N1: NAND3 port map (ABAR, B, ENABLE, Z(1)); N2: NAND3 port map (A, BBAR, ENABLE, Z(2)); N3: NAND3 port map (A, B, ENABLE, Z(3)); end DEC_STRUCT; Σε αυτό το παράδειγµα το όνοµα του architecture body είναι DEC_STRUCT. Το entity DECODER2x4 (που περιγράψαµε στην ενότητα 2.1) ορίζει τις εισόδους και τις εξόδους γι αυτό το architecture body. Το architecture body χωρίζεται σε δύο µέρη: το κοµµάτι των ορισµών (declarative part) πριν τη λέξη-κλειδί και το κοµµάτι των δηλώσεων (statement part) µετά τη λέξη-κλειδί. Στο κοµµάτι των 6

8 ορισµών υπάρχει ο ορισµός δύο στοιχείων (components), της πύλης not (INV) και της πύλης nand 3-εισόδων (NAND3). Αυτοί οι ορισµοί δείχνουν ουσιαστικά τις εισόδους και τις εξόδους κάθε στοιχείου. Τα στοιχεία αυτά µπορεί να είναι στοιχεία βιβλιοθηκών ή στοιχεία δηµιουργηµένα από τον σχεδιαστή. Επίσης στο κοµµάτι των ορισµών υπάρχει και ο ορισµός δύο σηµάτων (signals) του ABAR και του ΒΒΑR. Αυτά τα δύο σήµατα είναι κατ ουσία δύο σύρµατα τα οποία χρησιµοποιούνται για την ένωση των στοιχείων για τη δηµιουργία του 2-σε-4 decoder. Η εµβέλεια αυτών των σηµάτων βρίσκεται µόνο µέσα στο architecture body και κατά συνέπεια δεν είναι ορατά έξω απ αυτό. Σε αντίθεση µε τα ports του entity τα οποία είναι ορατά σε όλα τα µέρη του κώδικα. Τα ορισµένα στοιχεία κατόπιν «αποτυπώνονται» στο κοµµάτι των δηλώσεων (instantiated). Οι ταυτότητες (labels) αυτών των αποτυπώσεων στην συγκεκριµένη περίπτωση είναι οι V0, V1, N0, N1, N2, N3. Η ταυτότητα V0 (µιας πύλης NOT) αν κοιτάξει κανείς τον κώδικα, δείχνει ότι δέχεται, το συγκεκριµένο στοιχείο, ως είσοδο µια είσοδο της σχεδίασης (την Α) και έχει ως έξοδο το σήµα ABAR. Ένα σύρµα δηλαδή που αργότερα πηγαίνει ως είσοδο σε δύο πύλες NAND3 και ειδικότερα στα στοιχεία Ν2 και Ν3. Το ίδιο συµβαίνει και µε τα υπόλοιπα στοιχεία. Η αποτύπωση (instantiation)γενικά είναι µια παράλληλη δήλωση. Γι αυτό το λόγο δεν παίζει ρόλο η σειρά των δηλώσεων. Ο δοµικός τρόπος σχεδίασης γενικά δείχνει απλά το πώς συνδέονται το διάφορα στοιχεία µεταξύ τους. Τα στοιχεία µε αυτόν τον τρόπο σχεδίασης αποτελούν «µαύρα κουτιά», δηλ. δεν γίνεται καµία αναφορά για τη συµπεριφορά ή τη λειτουργία τους. Γι αυτό το λόγο αλλά και για άλλους, ο δοµικός τρόπος σχεδίασης χρησιµοποιείται συχνά στο υψηλότερο επίπεδο σχεδίασης έτσι ώστε να γίνεται ένας διαυγής καθορισµός των επιµέρους στοιχείων της τελικής σχεδίασης αλλά και για να έχει η σχεδίαση µια καθαρά ιεραρχική δοµή Behavioral Style of Modeling (Συµπεριφερικός τρόπος σχεδίασης). Ο συµπεριφερικός τρόπος σχεδίασης εµπεριέχει «παράλληλες» δηλώσεις µε κοµµάτια σειριακών δηλώσεων οι οποίες περιγράφουν τις εξόδους του κυκλώµατος σε συγκεκριµένες χρονικές στιγµές και µε συγκεκριµένες εισόδους. Από όλους τους τρόπους σχεδίασης µόνο ο συµπεριφερικός τρόπος χρησιµοποιεί άµεσα τις έννοιες του χρόνου και του ελέγχου. Αυτός ο τρόπος γενικά, περιγράφει τις λειτουργίες του κυκλώµατος σε αλγοριθµικό επίπεδο. Τα κύρια στοιχεία της VHDL που χρησιµοποιούνται σε αυτό τον τρόπο σχεδίασης είναι : Process statements and sensitivity list Sequential statements (σειριακές δηλώσεις) Variables (µεταβλητές) Επανερχόµενοι στο θέµα των δηλώσεων, ο συµπεριφερικός τρόπος σχεδίασης περιγράφει τη συµπεριφορά ενός entity µε ένα αριθµό δηλώσεων οι οποίες εκτελούνται σειριακά, δηλ. σύµφωνα µε τη σειρά που αυτές έχουν. Αυτό το σετ δηλώσεων οι οποίες βρίσκονται µέσα σε ένα process (διαδικασία) δεν αναφέρονται στη δοµή του κυκλώµατος-entity αλλά µόνο στη λειτουργικότητά του. Από την άλλη, ένα process εξωτερικά είναι µια παράλληλη δήλωση και εκτελείται παράλληλα (δηλ. άσχετα µε τη θέση του σε σχέση µε άλλες παράλληλες δηλώσεις ή άλλα process). Με βάση το παράδειγµα του 2-σε-4 decoder του σχήµατος 2.1 ας δούµε µία εφαρµογή του architecture body (behavioral) του entity DECODER2x4. 7

9 architecture DEC_SEQUΕNTIAL of DECODER2x4 is process (A,B, ENABLE) variable ABAR, BBAR: BIT; ABAR:= not A; -- statement 1 BBAR:= not B; -- statement 2 if ENABLE = 1 then -- statement 3 Z(3) <= not (A and B); -- statement 4 Z(0) <= not (ABAR and BBAR); -- statement 5 Z(2) <= not (A and BBAR); -- statement 6 Z(1) <= not (ABAR and B); -- statement 7 else Z <= 1111 ; -- statement 8 end if; end process; end DEC_ SEQUΕNTIAL; Όπως και στο δοµικό τρόπο σχεδίασης, ένα process έχει και αυτό ένα κοµµάτι ορισµών (declarative part) και ένα κοµµάτι δηλώσεων (statement part) πριν τη λέξηκλειδί και µεταξύ των λέξεων-κλειδιά και end process, αντίστοιχα. Οι δηλώσεις που υπάρχουν στο statement part εκτελούνται σειριακά. ίπλα στη λέξηκλειδί process και σε παρένθεση υπάρχει µία λίστα σηµάτων (στην περίπτωσή µας οι είσοδοι και οι έξοδοι του κυκλώµατος). Αυτά αποτελούν την sensitivity list (λίστα ευαισθησίας) του process. Το process ενεργοποιείται όταν υπάρξει αλλαγή κατάστασης σ ενα από αυτά τα σήµατα της λίστας. Τότε και µόνο τότε εκτελείται το process. Αυτή η λίστα είναι προαιρετική. Οι µεταβλητές του process στο συγκεκριµένο παράδειγµα ορίζονται οι ABAR και BBAR. Οι διαφορές των µεταβλητών µε τα σήµατα (variables vs signals) είναι ότι οι µεν µεταβλητές αποκτούν αµέσως τιµή ενώ τα σήµατα µετά από ένα χρονικό διάστηµα (ορισµένο από τον χρήστη ή το delta delay). Άλλη διαφορά είναι ότι ενώ στις µεταβλητές τους γίνεται ανάθεση τιµής µέσω του συµβόλου := στα σήµατα αυτή η ανάθεση γίνεται µέσω του συµβόλου <=. Οι µεταβλητές που δηλώνονται µέσα σε ένα process έχουν εµβέλεια µόνο το process αυτό (local variables) ενώ οι µεταβλητές που δηλώνονται εξωτερικά (shared variables) έχουν εµβέλεια σε όλα τα process. Τα σήµατα, επίσης, δεν µπορούν να δηλωθούν µέσα σ ένα process και να λειτουργούν «παράλληλα». Επανερχόµαστε τώρα στο παραπάνω παράδειγµα. Αν στα σήµατα A, B, ENABLE υπάρξει αλλαγή καταστάσεως, τότε αρχικά θα εκτελεστεί η 1η δήλωση ( statement 1) ύστερα η δεύτερη. Κατά την εκτέλεση της τρίτης δήλωσης (if statement),αν για παράδειγµα η είσοδος ENABLE έχει την τιµή 1 την στιγµή που παρατηρήθηκε η αλλαγή καταστάσεων των σηµάτων (δηλ. αρχικά όταν ενεργοποιηθεί το process) τότε θα εκτελεστούν σειριακά οι δηλώσεις 4 έως 7. Αυτό θα συµβεί άσχετα µε το αν τα σήµατα ή οι µεταβλητές A, B, ABAR, BBAR έχουν, στο ενδιάµεσο αλλάξει τιµές. Όταν αργότερα η ροή του προγράµµατος έχει φτάσει 8

10 στο τέλος του process, τότε αυτό παραµένει ανενεργό µέχρι να ξαναπαρατηρηθεί αλλαγή κατάστασης σε κάποιο από τα σήµατα A, B, ENABLE. Άρα είναι φανερό ότι ένα process, σαν οντότητα είναι µια παράλληλη δήλωση καθώς για να εκτελεστεί περιµένει µια αλλαγή κατάστασης στα σήµατα µε τα οποία συνδέεται. Τέλος αξίζει να αναφερθεί ότι ο συµπεριφερικός τρόπος σχεδίασης µπορεί να περιγράψει και συνδυαστικά αλλά και ακολουθιακά κυκλώµατα. Άρα είναι ιδανικό εργαλείο για την υλοποίηση µηχανών πεπερασµένων καταστάσεων (FSMs) Dataflow Style of Modeling (Σχεδίαση ιαγράµµατος ροής). Με τη χρήση σχεδίασης διαγράµµατος ροής για την υλοποίηση ενός κυκλώµατος, περιγράφουµε απλά τη «ροή» των δεδοµένων µεταξύ στοιχείων συνδυαστικής λογικής, όπως απλές λογικές πύλες, αθροιστές, αποκωδικοποιητές. Με άλλα λόγια περιγράφεται το RTL (Register-Transfer-Level) του κυκλώµατος. Τα κύρια στοιχεία της VHDL που χρησιµοποιούνται σε αυτό τον τρόπο σχεδίασης είναι : Operators (πράξεις : λογικές, σχεσιακές, αριθµητικές) Παράλληλες δηλώσεις Με αυτόν τον τρόπο σχεδίασης η δοµή του κυκλώµατος δεν ορίζεται άµεσα, δηλαδή µε την «φανερή» χρήση στοιχείων (components) όπως µε την structural δοµή, αλλά έµµεσα. Με βάση το κύκλωµα του σχήµατος 2.1 (2 to 4 decoder), το architecture body του entity DECODER2x4 µε τη χρήση της dataflow σχεδίασης είναι: architecture DEC_DATAFLOW of DECODER2x4 is signal ABAR, BBAR: BIT; Z(3)<= not (A and B and ENABLE); -- statement 1 Z(0)<= not (ABAR and BBAR and ENABLE); -- statement 2 BBAR<=not B; -- statement 3 Z(2) <= not (A and BBAR and ENABLE); -- statement 4 ABAR<= not A; -- statement 5 Z(1) <= not (ABAR and B and ENABLE); -- statement 6 end DEC_DATAFLOW; Το παραπάνω architecture body, αποτελείται από το κοµµάτι ορισµών (declarative part) όπου απλά δηλώνονται δύο σήµατα (ABAR, BBAR) και από το κοµµάτι των δηλώσεων όπου και βρίσκονται 6 δηλώσεις (παράλληλες). Αξίζει σε αυτό το σηµείο να τονίσουµε κάτι που αναφέρθηκε αρχικά. Είχαµε πει ότι στην VHDL µπορούµε να κάνουµε χρήση χρονικών καθυστερήσεων. Έτσι στην προκειµένη περίπτωση θα µπορούσαµε για παράδειγµα να γράψουµε για την 1η δήλωση: Z(3)<= not (A and B and ENABLE) after 4ns; -- statement 1 Σε αυτήν την περίπτωση αν υποθέσουµε ότι ένα από τα τρία σήµατα, στο δεξί µέρος της δήλωσης, αλλάξει κατάσταση την χρονική στιγµή Τ, τότε η νέα τιµή του Ζ(3) θα εµφανιστεί την χρονική τιµή Τ+4ns (βλέπε Σχ.2.2). Και για να το αποσαφηνίσουµε ακόµα περισσότερο, αν τη χρονική τιµή Τ όπου 9

11 Τ< Τ < Τ+4ns υπάρξει νέα αλλαγή καταστάσεων πάλι σε ένα από τα τρία σήµατα, αυτή θα φανεί στο σήµα Ζ(3) µετά από χρόνο Τ +4ns. 20ns 24ns 40ns 44ns A B ENABLE Z(3) Σχ. 2.2 Κυµµατοµορφή Z(3) σε σχέση µε τα σήµατα εισόδου Επανερχόµενοι στον αρχικό κώδικα όπου δεν ήταν δηλωµένη καµία χρονική καθυστέρηση, υποθέτουµε ότι αυτή είναι µηδενική (0ns) ή απείρως µικρή. Αυτή η καθυστέρηση ονοµάζεται delta delay ( ). Για να κατανοήσουµε γενικά τον κώδικα dataflow, ας υποθέσουµε ότι η είσοδος Β αλλάζει κατάσταση την χρονική στιγµή Τ. Αυτό θα έχει ως αποτέλεσµα να «ενεργοποιηθούν» οι δηλώσεις 1,3,6. Οι νέες τιµές των Z(3),BBAR και Ζ(1) θα εµφανιστούν µετά από χρόνο Τ+. Αφού όµως αλλάζει η τιµή του σήµατος BBAR την χρονική στιγµή Τ+ τότε θα «ενεργοποιηθεί» και η 2η και η 4η δήλωση και οι νέες τιµές των Ζ(0) και Ζ(2) θα εµφανιστούν την χρονική στιγµή Τ+2. Συνοψίζοντας για την σχεδίαση dataflow, µπορούµε να πούµε ότι αυτή δεν είναι ιδανική για την περιγραφή ακολουθιακών κυκλωµάτων (δηλ. κυκλωµάτων που έχουν clock). Αντίθετα όπως υποδηλώνει και το όνοµά του, αυτός ο τρόπος σχεδίασης είναι κατάλληλος για περιγραφή κυκλωµάτων που υπάρχει «ροή δεδοµένων», όπως ALUs Mixed Style of Modeling(Συνδυασµός των παραπάνω). Είναι δυνατό µία σχεδίαση να περιέχει και τους τρεις προαναφερθέντες τρόπους σχεδίασης. ηλαδή να γίνεται χρήση components (Structural Modeling), παράλληλες δηλώσεις (Dataflow Modeling) καθώς και processes (Behavioral Modeling). Το πιο συνηθισµένο όµως είναι να συνυπάρχει ο dataflow τρόπος σχεδίασης µε έναν από τους άλλους δύο. Ακολουθεί περιγραφή ενός αθροιστή (1-bit) και µε τους τρεις τρόπους σχεδίασης: entity FULL_ADDER is port ( A : in bit; B : in bit; CIN : in bit; SUM : out bit; 10

12 COUT : out bit ); end FULL_ADDER; architecture FA_MIXED of FULL_ADDER is component XOR2 port ( P1, P2 : in bit; PZ: out bit); end component; signal S1 : bit; X1: XOR2 port map ( A, B, S1); --structure process ( A, B, CIN) --behavior variable T1, T2, T3 : bit; T1:=A and B; T2:=B and CIN; T3:=A and CIN; COUT<= T1 or T2 or T3; end process; SUM <= S1 xor CIN; --dataflow end FA_MIXED; A B C SUM CARRY Σχ. 2.3 Πλήρης αθροιστής 1-bit 11

13 2.3 Οργάνωση της σχεδίασης (Design Organization) Βιβλιοθήκες Σχεδόν καµία σχεδίαση που κάνουµε δεν είναι απόλυτα αυτόνοµη. Πάντα θα γίνεται αναφορά σε κάποιο block το οποίο αναπαριστά ένα component ή έναν ορισµό. Αυτά µπορεί να είναι αποθηκευµένα στην ίδια βιβλιοθήκη µε το παρόν σχέδιο ή σε κάποια ευρύτερη (global) βιβλιοθήκη. Επίσης κάθε βιβλιοθήκη χωρίζεται σε επιµέρους τµήµατα, ανάλογα µε τα είδη αναφορών που έχει. Η δοµή µίας βιβλιοθήκης φαίνεται στο παρακάτω σχήµα: Design File Design Unit Library Unit Primary Unit Design Unit Compilation Library Unit + ext. Library refs Secondary Unit Design Unit Library Unit + ext. Library refs Primary Unit Design Unit Compilation Design Unit Primary Unit Design Unit Design Unit Secondary Unit Design File Σχ. 2.4 οµή Βιβλιοθήκης Ένα design file περιέχει τον VHDL κώδικα ενός στοιχείου (element) του σχεδίου. Πολλά design files µπορεί να χρησιµοποιηθούν για την εφαρµογή πολλών elements του ιδίου σχεδίου. Κάθε τέτοιο αρχείο µπορεί και να περιέχει κοµµάτι(α) της δοµής ενός στοιχείου κυκλώµατος. Αυτά τα κοµµάτια (units) χωρίζονται σε: Πρωτεύοντα (primary units). Περιέχουν τον ορισµό ενός entity ή ένα πακέτο (package). ευτερεύοντα (secondary units). Περιέχουν τον ορισµό ενός architecture body ή ένα πακέτο (package). Τα primary units πρέπει να «περάσουν» το compilation και να αποθηκευτούν σε µια βιβλιοθήκη πριν ακολουθήσουν τα δευτερεύοντα µε τα οποία συνδέονται. Το σύνολο αυτών των µονάδων απαρτίζουν τα library units Packages (Πακέτα). Ο ορισµός πακέτων χρησιµοποιείται για την αποθήκευση ενός συνόλου κοινών στοιχείων (components), διαδικασιών (procedures), συναρτήσεων (functions), types, subtypes κ.ά. τα οποία χρησιµοποιούνται από τον σχεδιαστή συχνά. ήλωση πακέτων (package declaration) καθώς και τα πακέτα τα ίδια (package body) είναι σχεδιαστικές µονάδες(design units), κατά συνέπεια µπορούν να κάνουν χρήση των δεδοµένων άλλων πακέτων. 12

14 Ένα παράδειγµα πακέτου προσβάσιµο σε όλους τους χρήστες είναι το STANDARD. Αυτό δεν µπορεί να τροποποιηθεί από τον χρήστη και µαζί µε το πακέτο TEXTIO, βρίσκονται µέσα στη βιβλιοθήκη STD. Η ειδική χρησιµότητα των πακέτων δεν φαίνεται εκ πρώτης όψεως. Όµως αξίζει να αναφερθεί ότι µερικά εξειδικευµένα πακέτα που προσφέρουν οι εταιρίες κατασκευής ASICs (Application Specific ICs) και FPGAs (Field Programmable Gate Arrays), µπορούν να βοηθήσουν τον σχεδιαστή να υλοποιήσει ένα σύστηµα βασισµένος σε µια συγκεκριµένη τεχνολογία Πρόσβαση σε βιβλιοθήκες και πακέτα Πρώτα απ όλα να σηµειωθεί ότι υπάρχουν design units µέσα σε βιβλιοθήκες που είναι «ορατά» σε κάθε σχεδίαση. Αυτά βρίσκονται στο STANDARD πακέτο στην STD βιβλιοθήκη καθώς και σε όλα τα πακέτα της WORK βιβλιοθήκης. Άµα τυχόν αυτά δεν ήταν ορατά στον χρήστη τότε κάθε σχεδίασή του έπρεπε να προαναφέρει τις ακόλουθες δηλώσεις: library STD,WORK; --δήλωση βιβλιοθηκών use STD.STANDARD.all --δήλωση όλων των στοιχείων ενός πακέτου Η πρώτη δήλωση ονοµάζεται library clause και κάθε βιβλιοθήκη µπορεί να γίνει «ορατή» στη σχεδίαση του χρήστη µε αυτόν τον τρόπο. Αντίστοιχα η δεύτερη δήλωση ονοµάζεται use clause και καλεί συγκεκριµένα πακέτα ή στοιχεία πακέτων από µία βιβλιοθήκη. Όµως αν ο χρήστης θέλει να έχει πρόσβαση σε ένα αντικείµενο από ένα πακέτο, δεν είναι αναγκαίο να «φορτώσει» όλο το πακέτο αλλά µόνο το επίµαχο αντικείµενο. Ας υποθέσουµε ότι το αντικείµενο είναι µία συνάρτηση (procedure) ή ένα στοιχείο (component) µε το όνοµα DECODE και βρίσκεται στο πακέτο MY_PROCS µέσα στη βιβλιοθήκη MY_LIB. Τότε η πρόσβαση γίνεται ως εξής: MY_LIB.MY_PROCS.DECODE; 3. Βασικά χαρακτηριστικά της γλώσσας VHDL Η ανάλυση των βασικών χαρακτηριστικών της γλώσσας VHDL θα προκύψει µέσα από τον διαχωρισµό των λογικών ψηφιακών κυκλωµάτων σε δύο κύριες κατηγορίες. Στα συνδυαστικά λογικά κυκλώµατα και στα ακολουθιακά λογικά κυκλώµατα. Θα ακολουθήσουν και διάφορα παραδείγµατα, ενδεικτικά για κάθε κατηγορία τα οποία θα βοηθήσουν στην καλύτερη κατανόηση της VHDL ως γλώσσας προγραµµατισµού. 13

15 3.1 Συνδυαστική Λογική Σχεδίαση (Combinational Logic Design) Τα κυκλώµατα συνδυαστικής λογικής, αποτελούνται από απλές λογικές πύλες και οι έξοδοι αυτών των κυκλωµάτων εξαρτώνται πάντα από τις εισόδους τους µε σχέσεις που καθορίζονται επακριβώς από κάποιες συναρτήσεις Boole. Ο τρόπος σχεδίασης κυκλωµάτων όπως 2bit πολυπλέκτες και 16x16 πολλαπλασιαστές θα καθορίζεται µε βάση διάφορους παράγοντες. Αυτοί είναι: Η πολυπλοκότητα της σχεδίασης. Παράγοντες όπως το µέγεθος και ο αριθµός των λογικών πυλών του κυκλώµατος µπορεί να αναγκάσουν τον σχεδιαστή να υιοθετήσει ένα συγκεκριµένο τρόπο σχεδίασης (Structural, Behavioral, Dataflow). Η ευελιξία της σχεδίασης. Αν το κύκλωµα µπορεί να περιγραφεί αλγοριθµικά ή µε χρήση συναρτήσεων Boole κ.τ.λ., τότε το architecture body µπορεί να περιέχει περισσότερους από έναν τρόπο σχεδίασης. Η τεχνολογία σχεδίασης. Αν η σχεδίαση προορίζεται να υλοποιηθεί πάνω σε ένα, συγκεκριµένης τεχνολογίας, υλικό, τότε ο χρήστης θα πρέπει να κάνει χρήση προκατασκευασµένων στοιχείων (components) από βιβλιοθήκες. Τα χαρακτηριστικά του κυκλώµατος. Αν το κύκλωµα πρέπει να απαρτίζεται από συγκεκριµένα στοιχεία, τότε είναι απαραίτητο ο σχεδιαστής να καταλήξει σε ένα δοµικό (structural) τρόπο σχεδίασης για την υλοποίησή του. Παρ όλο που είναι σηµαντικό να λαµβάνουµε υπ όψιν όλους τους παραπάνω παράγοντες, πρέπει να σηµειωθεί ότι τα συνδυαστικά κυκλώµατα υλοποιούνται κατά κύριο λόγο µε τον Dataflow τρόπο σχεδίασης. Σε επόµενο στάδιο, αυτά τα κυκλώµατα ενώνονται µεταξύ τους, σε υψηλότερο επίπεδο, δοµικά. Τα παραδείγµατα που θα ακολουθήσουν κάνουν χρήση όλων των τρόπων αρχιτεκτονικής σχεδίασης Logical operators (Λογικές πράξεις) Η VHDL υποστηρίζει λογικές πράξεις για τους βασικούς της τύπους. BIT, BOOLEAN αλλά και για τους µονοδιάστατους πίνακές της BIT_VECTOR. Τα αποτελέσµατα των λογικών αυτών πράξεων είναι του ιδίου τύπου και µεγέθους µε τους τελεστέους. Πράξεις µεταξύ τύπων διαφορετικού µεγέθους απαγορεύονται. Operator Not And Nand Or Nor Xor Function Αντιστροφή Και Όχι-και Η Ούτε Αποκλειστικό Η 14

16 Xnor Αποκλειστικό Ούτε Πίνακας 3.1 Λογικές πράξεις στη VHDL Η πράξη not έχει την µεγαλύτερη προτεραιότητα ενώ όλες οι άλλες λογικές πράξεις, έχουν την ίδια προτεραιότητα. Γι αυτό το λόγο όταν σε µία δήλωση υπάρχουν πολλές λογικές πράξεις, είναι καλό να χρησιµοποιούµε παρενθέσεις για να δηλώνουµε την προτεραιότητα της κάθε µίας. Η πράξη not όµως δεν χρειάζεται παρένθεση. Ας δούµε µερικά παραδείγµατα πράξεων µε τελεστέους BIT ή BOOLEAN: C<= A nand B; --Νόµιµη πράξη, δεν χρειάζεται παρένθεση. C<= A and not B; --Νόµιµη,το not B έχει την υψηλότερη προτεραιότητα. D<= (A nand B) xor C; --Νόµιµη πράξη, µε παρένθεση. D<= A and B and C; --Νόµιµη, όχι παρένθεση διότι είναι ιδίου τύπου. D<= A and B and C; --Νόµιµη, όχι παρένθεση διότι είναι ιδίου (noninverting)τύπου. D<= A nand B nand C; --Παράνοµη, διότι ιδίου (inverting)τύπου θέλει παρένθεση. D<= A and B or C; --Παράνοµη, διότι (mixed)τύπου θέλει παρένθεση. Όσον αφορά τώρα πράξεις µεταξύ τελεστέων ιδίου ή διαφορετικού µεγέθους: signal W,X : BIT_VECTOR(3 downto 0); signal Y : BIT; signal Z : BIT_VECTOR(4 downto 0) W <= X or Y ; Z <= W and X; Z(3)<=Y xor W(1); -- Παράνοµη πράξη διότι το X έχει µέγεθος πίνακα 4 ενώ το Y έχει µέγεθος 1 (BIT). -- Παράνοµη πράξη όχι λόγω µεγέθους τελεστέων αλλά µεγέθους αποτελέσµατος (W,X =4 & Z=5 bits) --Νόµιµη, διότι όλοι οι τελεστέοι αλλά και το αποτέλεσµα, είναι µεγέθους bit Relational operators (Σχεσιακές πράξεις). Οι σχεσιακές πράξεις ελέγχουν για ισότητα, ανισότητα και γενικά κάνουν συγκρίσεις µεταξύ τελεστέων. Όλες οι σχεσιακές πράξεις έχουν την ίδια προτεραιότητα και µεγαλύτερη από τις λογικές πράξεις. Το δε αποτέλεσµα είναι πάντα τύπου Boolean (True/False).Για παράδειγµα: A<= B>C; -- Το Α είναι True όταν το Β είναι µεγαλύτερο του C. F <= D=E nand (B=C); -- Το F είναι False αν το D = Ε και το Β = C. 15

17 Operator = Function Ισότητα /= Ανισότητα < Μικρότερο από <= Μικρότερο ή ίσο από > Μεγαλύτερο από >= Μεγαλύτερο ή ίσο από... Πίνακας 3.2 Σχεσιακές πράξεις στην VHDL Multiplexer 4-to-1 (Πολυπλέκτης 4-σε-1). Με αυτό το παράδειγµα θα παρουσιαστούν τα βασικότερα στοιχεία (constructs) της VHDL που χρησιµοποιούνται στη σχεδίαση κυκλωµάτων συνδυαστικής λογικής. Ο 4 σε 1 πολυπλέκτης θα σχεδιαστεί και µε τους τρεις τρόπους αρχιτεκτονικής σχεδίασης (behavioral, structural, dataflow), αποδεικνύοντας την ευελιξία της γλώσσας. Τα παρακάτω βασικά σηµεία της VHDL θα γίνουν ορατά µε αυτό το παράδειγµα: Ονόµατα και identifiers Παράλληλες δηλώσεις (Concurrent statements) Conditional signal assignments Selected signal assignments Component instantiations ( ηλώσεις στοιχείων) Σειριακές δηλώσεις (Sequential statements) Case If Λειτουργία του πολυπλέκτη 4-σε-1. Ο 4 σε 1 πολυπλέκτης επιλέγει ως έξοδο Y µία από τις εισόδους A, B, C, D βασισµένος στην κατάσταση των σηµάτων ελέγχου (control lines) S0, S1. Οι λογικές συναρτήσεις του κυκλώµατος παρουσιάζονται στον πίνακα 3.3. και το σχήµα 3.1 δείχνει τον πολυπλέκτη. S1 S0 Output 0 0 A 1 0 B 1 0 C 16

18 1 1 D Πίνακας 3.3 Συνάρτηση του 4 σε 1 πολυπλέκτη Η λογική συνάρτηση του κυκλώµατος και η οποία βγαίνει από τον πίνακα 3.3 είναι: Y= A*S1 *S0 + B*S1 *S0 + C*S1*S0 + D*S1*S0 S0 S1 A B C 4 to 1 MUX Y Σχεδίαση του πολυπλέκτη 4-σε-1 σε VHDL. Επιλογή βιβλιοθηκών Το πρώτο στάδιο είναι η επιλογή των κατάλληλων βιβλιοθηκών για την συγκεκριµένη σχεδίαση. Σε αυτό το παράδειγµα θα χρησιµοποιήσουµε objects τύπου bit και bit_vector τα οποία βρίσκονται στη βιβλιοθήκη STD και στο πακέτο STANDARD. Όµως αυτά τα objects καθώς και οι λογικές πράξεις που θα χρησιµοποιηθούν είναι ορατά σε κάθε σχέδιο, κατά συνέπεια δεν είναι απαραίτητη η χρήση library clause και use clause. Ορισµός του entity Το entity, όπως προαναφέραµε, το «κέλυφος» της σχεδίασης και λειτουργεί ως το I/O interface µεταξύ του κυκλώµατος και του εξωτερικού περιβάλλοντος. Για το συγκεκριµένο παράδειγµα το entity είναι: entity MUX4TO1 is port ( A, B, C, D, S0, S1 : in bit; Y : out bit ); end MUX4TO1; Architecture body 17

19 Το κύριο και µεγαλύτερο µέρος µιας σχεδίασης είναι το Architecture body του. Εδώ περιγράφει την λειτουργία του πολυπλέκτη µε δοµικό, συµπεριφερικό ή διαγράµµατος ροής τρόπο (behavioral, structural, dataflow). Dataflow design Style (Σχεδίαση µε διάγραµµα ροής). Για τον συγκεκριµένο τρόπο σχεδίασης και µε βάση πάντα το entity MUX4TO1, θα παραθέσουµε δύο παραδείγµατα, ενδεικτικά. -- Concurrent signal assignment architecture DATAFLOW1 of MUX4TO1 is -- οι παρενθέσεις χρειάζονται όταν αναµιγνύονται λογικές πράξεις ίδιας --προτεραιότητας. Y<= ( A and not S1 and not S0) or (B and not S1 and S0) or (C and S1 and not S0) or (D and S1 and S0); end DATAFLOW1; -- Conditional signal assignment architecture DATAFLOW2 of MUX4TO1 is Y <= A when (S1= 0 and S0= 0 ) else B when (S1= 0 and S0= 1 ) else C when (S1= 1 and S0= 0 ) else D; end DATAFLOW2; Η πρώτη αρχιτεκτονική (dataflow1) χρησιµοποιεί δηλώσεις που παραπέµπουν στην συνάρτηση Boole του κυκλώµατος. Αυτές οι δηλώσεις ονοµάζονται unconditional signal assignments. Τέτοιες δηλώσεις είναι παράλληλες. Αντίθετα στη δεύτερη αρχιτεκτονική (dataflow2) χρησιµοποιούνται άλλου είδους δηλώσεις. Τα conditional signal assignments. Εδώ γίνεται ανάθεση Ν τιµών σε ένα σήµα, το Y, ανάλογα µε τις συνθήκες που ικανοποιούνται. Είναι επίσης δυνατό να ορίσουµε συγκεκριµένα στα conditional signal assignments ότι το σήµα (π.χ. το Y) παραµένει αµετάβλητο όταν µία συνθήκη γίνει αληθής (True). Αυτό γίνεται µε τη χρήση της λέξης-κλειδί unaffected. Στο παρακάτω παράδειγµα οι δύο κλάδοι του conditional signal assignment θα αναθέσουν στην έξοδο της δήλωσης την ίδια αρχική τιµή του, A: A <= A when B=3 else unaffected; Η δήλωση αυτή δεν κάνει τίποτα παραπάνω από το να αναθέτει στο Α το Α. Κατά συνέπεια λειτουργεί σαν τη δήλωση null στα process. Επίσης είναι καλό να αναφερθεί ότι τα conditional signal assignments αντιστοιχούν στα Case µέσα στα process. 18

20 Behavioral design Style (Συµπεριφερικός τρόπος σχεδίασης). Οι παρακάτω κώδικες δείχνουν δύο διαφορετικούς τρόπους κατασκευής ενός πολυπλέκτη 4 σε 1, µε τον behavioral τρόπο σχεδίασης. Το δε entity MUX4TO1, παραµένει το ίδιο µε µόνη αλλαγή τη χρήση του bit_vector S αντί των σηµάτων S0, S1 τύπου bit. entity MUX4TO1 is port ( A, B, C, D : in bit; S : in bit_vector (1 downto 0); -- θα µπορούσαµε να γράψουµε bit_vector (0 to 1) Y : out bit ); end MUX4TO1; -- Η δήλωση CASE architecture CASE1 of MUX4TO1 is process (A, B, C, D, S(1 downto 0)) case S is when 00 => Y <= A; when 01 => Y <= B; when 10 => Y <= C; when 11 => Y <= D; end case; end process; end CASE1; -- Η δήλωση IF - ELSE architecture IF_ELSE of MUX4TO1 is process (A, B, C, D, S(1 downto 0)) if (S(1)= 0 and S(0)= 0 ) then Y<=A; elsif (S(1)= 0 and S(0)= 1 ) then Y<=B; elsif (S(1)= 1 and S(0)= 0 ) then Y<=C; else Y<=D; end if; end process; 19

21 end IF_ELSE; Ο συµπεριφερικός (behavioral) τρόπος σχεδίασης γίνεται αντιληπτός από την πρώτη στιγµή, µε την ύπαρξη της λέξης-κλειδί process. Όπως προαναφέραµε, µπορεί ένα process να είναι, στο σύνολό του, µια παράλληλη δήλωση, αλλά όλες οι δηλώσεις που αυτό έχει εσωτερικά εκτελούνται σειριακά. Συνήθως χρησιµοποιείται όταν η πολυπλοκότητα ενός κυκλώµατος µας αναγκάζει να το προσεγγίσουµε από την πλευρά της συµπεριφοράς του. ηλαδή το κύκλωµα το βλέπουµε ως ένα «µαύρο κουτί», από δοµικής άποψης, και απλά περιγράφουµε την συµπεριφορά των εξόδων του σε σχέση µε τις εισόδους του. Επανερχόµενοι τώρα στα δύο παραδείγµατά µας (για τον πολυπλέκτη 4σε1), το πρώτο υλοποιεί τον πολυπλέκτη µε τη χρήση του Case και το δεύτερο µε τη χρήση του If Else. Η χρήση του Case δείχνει µε απλό και καθαρό τρόπο την ευελιξία του καθώς κάθε συνθήκη µπορεί να διαχειρίζεται περισσότερες από µία δήλωση. (signal assignment statement). Σ αυτό το παράδειγµα η Case ελέγχει και τις 4 περιπτώσεις του S. Όµως µερικές φορές δεν οδηγούν όλες οι περιπτώσεις (του ή των σηµάτων που ελέγχει η Case) σε εκτέλεση δηλώσεων. Τότε χρησιµοποιείται το when others => null;. Η δεύτερη αρχιτεκτονική (If Else) δίνει µία εναλλακτική λύση στη χρήση της Case, την If Else δήλωση. Το If Else ψάχνει όλες τις περιπτώσεις να δει ποια αληθεύει και µετά εκτελεί σειριακά τις δηλώσεις (µια ή περισσότερες) που αυτή η αληθής περίπτωση, περιέχει. Όπως η Case, έτσι και η If Else µπορούν να εκτελέσουν σε κάθε κλάδο τους περισσότερες από µια δηλώσεις, σε αντίθεση µε τα conditional signal assignments (τα παράλληλα αντίστοιχά τους). Structural design Style ( οµικός τρόπος σχεδίασης). Όπως ένα process υποδηλώνει µια behavioral σχεδίαση, έτσι και η ύπαρξη στοιχείων (component declaration και instantiation) υποδηλώνει την ύπαρξη δοµικής (structural) σχεδίασης. Αντίθετα µε τη συµπεριφερική σχεδίαση, η οποία υποδεικνύει το τι πρέπει να κάνει το κύκλωµα, η δοµική σχεδίαση περιγράφει την λειτουργία του κυκλώµατος δείχνοντας τον τρόπο µε τον οποίο είναι ενωµένα τα εσωτερικά του στοιχεία. Ο αριθµός των αρχιτεκτονικών δοµών (architectural bodies) που µπορούν να δηµιουργηθούν για ένα κύκλωµα είναι πολύ µεγάλος. Για την συγκεκριµένη σχεδίαση (του πολυπλέκτη 4σε1) κατασκευάστηκε ένα architectural body mόνο µε λογικές πύλες nand Ν εισόδων. entity MUX4TO1 is port ( A, B, C, D : in bit; S : in bit_vector (1 downto 0); -- θα µπορούσαµε να γράψουµε bit_vector (0 to 1) Y : out bit ); end MUX4TO1; 20

22 --Πολυπλέκτης 4 σε 1 µε NAND πύλες architecture STRUCTURAL1 of MUX4TO1 is -- ήλωση component στο κοµµάτι ορισµού (declarative part) component NAND_2 port ( A,B : in bit; C: out bit); end component; component NAND_3 port ( A,B,C : in bit; D: out bit); end component; component NAND_4 port ( A,B,C,D : in bit; E: out bit); end component; signal 10,11,12,13,14,15 : bit; -- Κατασκευή των αντίστροφων των σηµάτων ελέγχου S(0) και S(1) INVERT0:NAND_2 port map (S(0),S(0),10); INVERT1:NAND_2 port map (S(1),S(1),11); -- Κατασκευή των ενδιάµεσων σηµάτων PROD0:NAND_3 port map (11,10,A,12); PROD1:NAND_3 port map (11,S(0),B,13); PROD2:NAND_3 port map (S(1),10,C,14); PROD3:NAND_3 port map (S(1),S(0),D,15); -- Κατασκευή του τελικού σήµατος SUM:NAND_4 port map (12,13,14,15,Y); end STRUCTURAL1; Κατά τη δοµική σχεδίαση ενός κυκλώµατος πρέπει πάντα να δηλώνουµε τα στοιχεία (components) τα οποία χρησιµοποιούµε. Το component declaration, πληροφορεί την αρχιτεκτονική µας ότι ένα συγκεκριµένο στοιχείο θα χρησιµοποιηθεί και παραθέτει τις εισόδους και τις εξόδους του. Το component instantiation, «καλεί» το στοιχείο που έχει δηλωθεί παραπάνω. Αυτή η αναφορά στο στοιχείο πρέπει να συνοδεύεται από ένα όνοµα (µοναδικό για κάθε instantiation), µία λίστα µε το I/O αυτού και πώς αυτή η αναφορά το χρησιµοποιεί (port mapping). Στην προηγούµενη αρχιτεκτονική, όπου χρησιµοποιήθηκαν µόνο πύλες nand η Boolean λογική της είναι: Y= ((A * (S1) * (S0) ) * (B * (S1) * S0) * (C * S1 * (S0) ) * (D * S1 * S0) ) Τα σήµατα 10,11,12,13,14,15 της σχεδίασης αποτελούν τα «σύρµατα» που ενώνουν τις πύλες µεταξύ τους. Αυτό φαίνεται καθαρά και στο σχήµα

23 S0 S1 A B C Y D Σχ. 3.4 Πολυπλέκτης 4 σε 1 µε τη χρήση λογικών πυλών NAND Συµπεράσµατα από την σχεδίαση του MUX 4 to 1 σε VHDL. Στην προηγούµενη παράγραφο παρουσιάστηκαν διάφοροι τρόποι σχεδίασης ενός απλού πολυπλέκτη 4 σε 1, σε VHDL. εν συνιστώνται όλες αυτές οι προσεγγίσεις σε ένα αντίστοιχο κύκλωµα. Ο λόγος για τον οποίο έγινε αυτό, ήταν η αναφορά στα βασικότερα χαρακτηριστικά της VHDL πάνω στη σχεδίαση συνδυαστικών λογικών κυκλωµάτων. Αυτό από µόνο του υποδηλώνει ότι το θέµα δεν εξαντλείται εδώ. Υπάρχουν πολλοί συνδυασµοί των παραπάνω οι οποίοι θα µπορούσαν να είχαν υλοποιηθεί. 3.2 Ακολουθιακή Λογική Σχεδίαση (Sequential Logic Design). Είναι γνωστό ότι στα ακολουθιακά κυκλώµατα, η έξοδος δεν εξαρτάται µόνο από την παρούσα κατάσταση των εισόδων αλλά και από την προηγούµενή κατάσταση της εξόδου. Άρα τα ακολουθιακά κυκλώµατα χαρακτηρίζονται από την χρονική τους εξάρτηση. Κάθε κύκλωµα µε ρολόι (clock) είναι ακολουθιακό. Στην VHDL µπορούµε να περιγράψουµε σύγχρονα και ασύγχρονα ακολουθιακά κυκλώµατα αλλά όχι µε όλους τους τρόπους σχεδίασης. Ο dataflow τρόπος σχεδίασης περιγράφει, όπως έχουµε αναφέρει, την ροή δεδοµένων σε συνεχή χρόνο και άρα δεν µπορεί να περιγράψει κυκλώµατα εξαρτώµενα από τον χρόνο (ακολουθιακά). Ο δοµικός (structural) τρόπος σχεδίασης µπορεί να χρησιµοποιηθεί σε ακολουθιακά κυκλώµατα, αλλά τα στοιχεία (components) που θα καλέσει πρέπει να προέρχονται από «έτοιµες» βιβλιοθήκες. Αυτό οφείλεται στο ότι οι κύριες µονάδες-στοιχεία των ακολουθιακών κυκλωµάτων τα flip flops και τα latches είναι δύσκολο να κατασκευαστούν δοµικά, κατά συνέπεια ο σχεδιαστής θα τα πάρει από διάφορες βιβλιοθήκες (ή θα τα κατασκευάσει σε behavioral). Συνεπώς µε τον δοµικό τρόπο σχεδίασης ακολουθιακών κυκλωµάτων περιορίζεται η ευελιξία της υλοποίησης. Αντίθετα µε τον behavioral τρόπο σχεδίασης είναι δυνατή η χρήση ειδικών constructs που έχει η VHDL. Αυτές οι ειδικές δηλώσεις τις VHDL έχουν και το τίµηµά τους. Αν 22

24 δεν γίνει απόλυτη περιγραφή (µε αυτά τα constructs) των σηµάτων του κυκλώµατος, ο compiler-synthesizer θα υλοποιήσει µεν το κύκλωµα αλλά όπως αυτός νοµίζει καλλίτερα, περιορίζοντας πάλι τις δυνατότητες του σχεδιαστή Προτερήµατα του structural τρόπου σχεδίασης. Με τη χρήση του δοµικού τρόπου σχεδίασης, ο χρήστης επιλέγει τα στοιχεία που αυτός νοµίζει ότι ανταποκρίνονται καλλίτερα στη σχεδίασή του µε τα ακόλουθα προτερήµατα: Οι λειτουργίες των στοιχείων που θα χρησιµοποιηθούν και κυρίως των αποθηκευτικών στοιχείων είναι γνωστά στον χρήστη και δεν αφήνονται στην «διακριτική ευχέρεια» του synthesizer. Είναι γνωστός επίσης ο αριθµός των αποθηκευτικών στοιχείων που θα χρησιµοποιηθούν, ενώ µε τον behavioral τρόπο σχεδίασης ο synthesizer είναι αυτός που τον καθορίζει. Τέλος ο χρήστης µπορεί από την αρχή να επιλέξει το «τεχνολογικό» πλαίσιο µέσα στο οποίο θα σχεδιάσει το κύκλωµά του bit Shift Register (4-bit Καταχωρητής Ολίσθησης). Ο καταχωρητής ολίσθησης είναι ένα απλό παράδειγµα ακολουθιακού κυκλώµατος το οποίο θα παρουσιάσει τα βασικά στοιχεία (constructs) της VHDL πάνω στην υλοποίηση ακολουθιακών κυκλωµάτων. Τα παρακάτω θέµατα θα παρουσιαστούν: Ονόµατα πινάκων Πράξεις πινάκων Παράλληλες δηλώσεις Process For Generate Σειριακές δηλώσεις If Wait Λειτουργία του 4-bit Shift Register. Ένας καταχωρητής ο οποίος µπορεί να «ολισθαίνει» τις πληροφορίες που περιέχει προς τη µία ή προς την άλλη κατεύθυνση λέγεται καταχωρητής ολίσθησης. Ένας τέτοιος καταχωρητής αποτελείται από µία αλυσίδα από flip flops συνδεδεµένα στη σειρά µε την έξοδο του ενός να τροφοδοτεί την είσοδο του γειτονικού του. Όλα τα flip flops συνδέονται µε κοινό ρολόι. Στην προκειµένη περίπτωση έχουµε 4 D flip flops στη σειρά. Τα flip flops αυτά είναι ακµοπυροδοτούµενα, δηλ. οι έξοδοί τους ενεργοποιούνται στην θετική ακµή του ρολογιού. 23

25 X D SET Q D SET Q D SET Q D SET Q Z CLR Q CLR Q CLR Q CLR Q CLK Σχ. 3.5 Shift Register 4-bit (Καταχωρητής ολισθήσης 4-bit) Σχεδίαση του 4-bit Shift Register. Επιλογή βιβλιοθηκών Και σε αυτήν την περίπτωση οι βασικές ανάγκες τις σχεδίασης καλύπτονται από την STD βιβλιοθήκη και το STANDARD πακέτο. Όπως και στο παράδειγµα του πολυπλέκτη, οι µεταβλητές και τα σήµατα που θα µας χρειαστούν µπορούν να ανήκουν στους τύπους bit και bit_vector. Εµείς θα χρησιµοποιήσουµε bit_vector πίνακα µεγέθους 4 (4 bit). Παρ όλα αυτά γενικά είναι προτιµότερο να χρησιµοποιήσουµε predefined τύπους, δηλ. τύπους που εµείς θα έχουµε κατασκευάσει διότι µε αυτόν τον τρόπο δεν θα χρειαστεί µεγάλος κόπος για να αλλάξουµε το µέγεθος του κυκλώµατός µας (π.χ. 6-bit καταχωρητής ολίσθησης). Από κάτω δίνεται ένα πακέτο (user-defined) το οποίο έχει ως σκοπό την εξοικείωση µε τη δηµιουργία και την χρήση πακέτων: package NEW_TYPE_DEFS is Subtype HALF_REG is BIT_VECTOR(1 to 4); end NEW_TYPE_DEFS; Το πακέτο αυτό (NEW_TYPE_DEFS) βρίσκεται στην βιβλιοθήκη USER_UTILS. Για να γίνει ορατό σε µία σχεδίαση πρέπει πριν την σχεδίαση να χρησιµοποιηθούν library και use clauses. Ορισµός του entity Γενικά κάθε D flip flop πρέπει να έχει preset και/ή clear σήµατα εισόδου για να µπορεί το κύκλωµα να επανέρχεται πάντα σε µία γνωστή κατάσταση. Και στην behavioral αλλά και στην structural σχεδίαση, αυτό µπορεί να γίνει µε την ύπαρξη ενός σήµατος (π.χ. ΙΝΙΤ). Το entity FOUR_SHIFT που ακολουθεί κάνει και χρήση του πακέτου NEW_TYPE_DEFS: library USER_UTILS; use USER_UTILS.NEW_TYPE_DEFS.all; entity FOUR_SHIFT is port ( X :in bit; CLK,INIT :in bit; 24

26 Z :out bit ); end FOUR_SHIFT; Architecture body Behavioral design Style (Συµπεριφερικός τρόπος σχεδίασης). Στον κώδικα του architecture body, ορίζεται ένα σήµα (signal) το REG τύπου HALF_REG στο κοµµάτι signal declaration. Η είσοδος Χ αποθηκεύεται στο REG(1) ενώ η έξοδος Ζ θα προέλθει από το σήµα REG(4). Το architecture body περιέχει δύο παράλληλες δηλώσεις, το process και µια (unconditional) signal assignment. Το process είναι το γνήσιο ακολουθιακό κύκλωµα καθώς αυτό είναι που θα χρειαστεί το ρολόι και η έξοδος του process,ανεστραµένη, µέσω του signal assignment θα δώσει την έξοδο του κυκλώµατος. Το δε entity FOUR_SHIFT παρουσιάστηκε παραπάνω. architecture SIMPLE of FOUR_SHIFT is; signal REG:HALF_REG; process(x,clk,init) -- ήλωση ότι το ρολόι (clk) είναι ακµοπυροδοτούµενο if (clk event and clk= 1 ) then if INIT= 1 then REG<= X & REG(1 to 3); --concatenation else REG<= 1000 ; end if; end process; Z<= not REG(4); end SIMPLE; end if; Αναλύοντας τώρα το εσωτερικό του process και κυρίως το εξωτερικού ifbranch,παρατηρούµε ότι αυτό ελέγχει πότε το ρολόι πηγαίνει στην κατάσταση 1. Μόλις αυτό συµβεί και αν το σήµα ΙΝΙΤ= 1, τότε το σήµα REG (4µπιτο) αποκτά νέα τιµή : την είσοδο Χ µαζί µε τα τρία τελευταία του bit (concatenation). Αν το ΙΝΙΤ είναι 0, τότε εµείς δηλώνουµε το πώς πρέπει να συµπεριφερθεί το κύκλωµά µας (να αποκτήσει ο REG την τιµή 1000 ), δηλ. το κύκλωµα να πάει σε κατάσταση RESET, όπως εµείς την ορίζουµε. Με αυτόν τον τρόπο το σήµα REG µετατρέπεται σ ένα καταχωρητή ολίσθησης ο οποίος αλλάζει τιµή σε κάθε θετική ακµή του ρολογιού (clk event and clk= 1 ). Η δήλωση if (clk event and clk= 1 ) then µπορεί να αντικατασταθεί από την wait until (clk event and clk= 1 ). 25

27 Structural design Style ( οµικός τρόπος σχεδίασης). Μια δοµική περιγραφή του 4µπιτου καταχωρητή ολίσθησης µπορεί να γίνει µε δύο τρόπους. Ο πιο «ευθύς» τρόπος είναι να προµηθευτούµε τα απαραίτητα στοιχεία αποθήκευσης από βιβλιοθήκες. Αν αυτά δεν υπάρχουν τότε ο χρήστης θα αναγκαστεί να τα δηµιουργήσει (µε behavioral τρόπο). Αυτός είναι ο δεύτερος τρόπος. Ακολουθώντας τώρα τον πρώτο τρόπο, ο κώδικας είναι: entity FOUR_SHIFT is port ( X :in bit; CLOCK,INIT :in bit; Z :out bit ); end FOUR_SHIFT; architecture STRUCTURAL of FOUR_SHIFT is; component DFF port (D, CLK, PC : in bit; Q, QBAR :out bit); end component; signal Z, ZBAR : bit_vector(1 to 3); DFF1 : DFF port map (X, CLOCK, INIT, Z(1), ZBAR(1)); DFF2 : DFF port map (Z(1), CLOCK, INIT, Z(2), ZBAR(2)); DFF3 : DFF port map (D=>Z(2), CLK=>CLOCK, Q=>Z(3), QBAR=>ZBAR(3), PC=>INIT); DFF4 : DFF port map (Z(3), CLK=>CLOCK, INIT, Q=>open,Y); end STRUCTURAL; Είναι σηµαντικό να παρατηρήσουµε ότι το port mapping των στοιχείων που χρησιµοποιούµε, µπορεί να γίνει µε διάφορους τρόπους. Είτε µε απλή παράθεση των σηµάτων και των εισόδων/εξόδων αλλά πάντα µε την σωστή σειρά όπως αυτή υποδηλώνεται από τον αρχικό ορισµό του DFF (βλέπε DFF1, DFF2), ή µε ανάθεση των σηµάτων και των Ι/Ο του σχεδίου στις εισόδους εξόδους του component (βλέπε DFF4). Σε αυτήν την περίπτωση δεν έχει σηµασία η σειρά τους στο port mapping. Κλείνοντας πρέπει να αναφέρουµε ότι αν δε θέλουµε να χρησιµοποιήσουµε µια είσοδο ή έξοδο ενός στοιχείου τότε κατά το port mapping µπορούµε να βάλουµε στη θέση του τη λέξη open. 26

28 4. Βιβλιογραφία i. A VHDL PRIMER Revised Edition J. Bhasker ii. VHDL Douglas L. Perry Second Edition iii. A DESIGNER S GUIDE TO VHDL Peter J. Ashenden iv. THE VHDL COOKBOOK First Edition Peter J. Ashenden 27

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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ντες: Δρ. Αγαθοκλής Παπαδόπουλος και Δρ. Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων

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

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ντες: Δρ. Γιώργος Ζάγγουλοςκαι Δρ. Παναγιώτα Δημοσθένους Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων

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

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

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

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

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

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

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

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

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

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

Library, package και subprograms

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πτυχιακή Εργασία. Σχεδίαση Εφαρμογών Ψηφιακών Συστημάτων Με Τη Γλώσσα VHDL ΤΕΙ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΉΣ Πτυχιακή Εργασία Σχεδίαση Εφαρμογών Ψηφιακών Συστημάτων Με Τη Γλώσσα VHDL Αναστασόπουλος Νεκτάριος Δαρλαγιάννη Ιφιγένεια Πετρίδη

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

nkavv@physics.auth.gr

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

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

Προσοµοίωση Συστηµάτων µε 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 Περιβάλλον Σχεδίασης Αναλυτής ιαχειριστής Βιβλιοθήκης Σχεδίασης Προσοµοιωτής Αντίστροφος Αναλυτής Βιβλιοθήκη Σχεδίασης

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

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

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

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

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

ΚΕΦΑΛΑΙΟ Συνδυαστικά Κυκλώµατα. 3.2 Σχεδιασµός Συνδυαστικής Λογικής 3.3 ιαδικασία Ανάλυσης 3.4 ιαδικασία Σχεδιασµού. Περιεχόµενα ΚΕΦΑΛΑΙΟ 3 Συνδυαστικά Κυκλώµατα 3.1 Συνδυαστικά Κυκλώµατα 3.2 Σχεδιασµός Συνδυαστικής Λογικής 3.3 ιαδικασία Ανάλυσης 3.4 ιαδικασία Σχεδιασµού 1 2 3.1 Συνδυαστικά Κυκλώµατα Έξοδος οποιαδήποτε

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

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

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

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

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

8.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 8 ΣΤΟΙΧΕΙΑ ΜΝΗΜΗΣ ΚΑΤΑΧΩΡΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των καταχωρητών. Θα υλοποιηθεί ένας απλός στατικός καταχωρητής 4-bit µε Flip-Flop τύπου D και θα µελετηθεί

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

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

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

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

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

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

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

Άσκηση 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 θετικά ακμοπυροδοτούμενο. Σχεδιάστε τις κυματομορφές

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

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ.

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ. Εισαγωγή Εργαστήριο 2 ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ Σκοπός του εργαστηρίου είναι να κατανοήσουµε τον τρόπο µε τον οποίο εκφράζεται η ψηφιακή λογική υλοποιώντας ασκήσεις απλά και σύνθετα λογικά κυκλώµατα (χρήση του

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Ακαδηµαϊκό Έτος 2006 2007 Γραπτή Εργασία #2 Ηµεροµηνία Παράδοσης 28-0 - 2007 ΠΛΗ 2: Ψηφιακά Συστήµατα ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ Άσκηση : [5 µονάδες] Έχετε στη

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

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

ς Ποιότητα ξιολόγηση Α Αξιολόγηση Ποιότητας Μέτρα Αξιολόγησης Τα µέτρα αξιολόγησης είναι απαραίτητα κατά την διαδικασία της σύνθεσης. Τα ακριβή µέτρα καθορίζουν την ποιότητα του τελικού κυκλώµατος και εντοπίζουν προβλήµατα.

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

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 Με τη

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

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

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

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

Ελίνα Μακρή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΗΛΕΚΤΡΟΝΙΚΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΟΜΑ Α Α Αριθµητική Λογική Μονάδα των 8-bit 1. Εισαγωγή Γενικά µια αριθµητική λογική µονάδα (ALU, Arithmetic Logic Unit)

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

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

VERILOG. Γενικά περί γλώσσας VERILOG Γενικά περί γλώσσας Χρησιµότητα της Verilog Υψηλού επιπέδου περιγραφή της συµπεριφοράς του συστήµατος µε σκοπό την εξοµοίωση. RTL περιγραφή της λειτουργίας του συστήµατος µε σκοπό τη σύνθεσή του

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

ΗΜΥ 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

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

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

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

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

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

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

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

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

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2018-2019 Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD ΗΥ220 - Βασίλης Παπαευσταθίου 1 Transistor: Δομική μονάδα κυκλωμάτων Τα ολοκληρωμένα κυκλώματα

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

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

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

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

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

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

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

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

constant number_of_bytes : integer := 4; constant number_of_bits : integer := 8 * number_of_bytes; Σχεδίαση Υπολογιστικών Συστηµάτων Μοντελοποίηση και προσοµοίωση στην VHDL Μιχάλης Ψαράκης 3-1 Αντικείµενα στη VHDL Σταθερές (constants) Μεταβλητές (variables) Σήµατα (signals) Θύρες (ports) 3-2 ηλώσεις

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

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

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

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

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

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

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

Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα

Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα επαναληπτικής εξέτασης 2016 Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα καταστάσεων,

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

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης Γ2.1 Στοιχεία Αρχιτεκτονικής Γ Λυκείου Κατεύθυνσης Ορισμός άλγεβρας Boole Η άλγεβρα Boole ορίζεται, ως μία αλγεβρική δομή A, όπου: (α) Το Α είναι ένα σύνολο στοιχείων που περιέχει δύο τουλάχιστον στοιχεία

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

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

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

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

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

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

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

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν.

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν. ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Κεφάλαιο 7 ii: Μετρητές Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μετρητής Ριπής Περίληψη Σύγχρονος υαδικός Μετρητής Σχεδιασµός µε Flip-Flops

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

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

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

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

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

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

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

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

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

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

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

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

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

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

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

Ψηφιακά Συστήματα. 8. Καταχωρητές

Ψηφιακά Συστήματα. 8. Καταχωρητές Ψηφιακά Συστήματα 8. Καταχωρητές Βιβλιογραφία 1. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Θεωρία και Ασκήσεις Ψηφιακών Ηλεκτρονικών, ΜΑΡΙΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΕΠΕ, 2016. [59382199] 2. Floyd Thomas L., Ψηφιακά

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

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

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 6 η :

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

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

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 1 η :

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

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

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

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

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

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

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

(Peter Ashenden, The Students Guide to VHDL)

(Peter Ashenden, The Students Guide to VHDL) Υποπρογράµµατα Πακέτα (Peter Ashenden, The Students Guide to VHDL) Procedures Μία διαδικασία (procedure) δηλώνεται και κατόπιν καλείται όσες φορές θέλουµε. procedure identifier [(parameter_interface_list)]

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 121 ΕΡΓΑΣΤΗΡΙΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΝΗΜΗ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ ΛΟΓΙΚΗ ΥΠΕΥΘΥΝΟΣ ΕΡΓΑΣΤΗΡΙΩΝ: ΧΡΥΣΟΣΤΟΜΟΣ ΧΡΥΣΟΣΤΟΜΟΥ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2001 ΕΠΛ 121 ΕΡΓΑΣΤΗΡΙΑ ΨΗΦΙΑΚΩΝ

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

w x y Υλοποίηση της F(w,x,y,z) με πολυπλέκτη 8-σε-1

w x y Υλοποίηση της F(w,x,y,z) με πολυπλέκτη 8-σε-1 Άσκηση 1 Οι λύσεις απαντήσεις που προτείνονται είναι ενδεικτικές και θα πρέπει να προσθέσετε Α) Αρχικά σχεδιάζουμε τον πίνακα αληθείας της λογικής έκφρασης: w x y z x G1 =x y G2 =z w F = G1 G2 Είσοδοι

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

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

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

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

Εισαγωγή στη γλώσσα VHDL (document version 1.2) Ιωάννης Α. Καλόµοιρος Εισαγωγή στη γλώσσα VHDL Τεχνολογικό Εκπαιδευτικό Ίδρυµα Σερρών, Τµήµα Πληροφορικής και Επικοινωνιών, 2012 Το σύγγραµµα αυτό προορίζεται αποκλειστικά για χρήση

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

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

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

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

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

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες) Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2016 Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το ανωτέρω διάγραμμα καταστάσεων,

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

Σύνθετοι τύποι και λειτουργίες. (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;

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

Εισαγωγή στα κυκλώµατα CMOS 2

Εισαγωγή στα κυκλώµατα CMOS 2 1 η Θεµατική Ενότητα : Εισαγωγή στα κυκλώµατα CMOS Επιµέλεια διαφανειών:. Μπακάλης Εισαγωγή Τεχνολογία CMOS = Complementary Metal Oxide Semiconductor Συµπληρωµατικού Ηµιαγωγού Μετάλλου Οξειδίου Αποτελείται

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