Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Φοιτήτρια Πεπονή Βανέσσα-Βάγια (A.M.2120) ΕπιβλέπωνΚαθηγητής Επιβλέπων Καθηγητής Δρ. Καλόμοιρος Ιωάννης, Επίκουρος Καθηγητής.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Φοιτήτρια Πεπονή Βανέσσα-Βάγια (A.M.2120) ΕπιβλέπωνΚαθηγητής Επιβλέπων Καθηγητής Δρ. Καλόμοιρος Ιωάννης, Επίκουρος Καθηγητής."— Μεταγράφημα παρουσίασης:

1

2 Φοιτήτρια Πεπονή Βανέσσα-Βάγια (A.M.2120) ΕπιβλέπωνΚαθηγητής Επιβλέπων Καθηγητής Δρ. Καλόμοιρος Ιωάννης, Επίκουρος Καθηγητής

3 Σκοπός - Περιεχόμενα Στην εργασία αυτή αναπτύχθηκαν βασικά παραδείγματα ψηφιακής σχεδίασης απλών και πιο σύνθετων κυκλωμάτων σε γλώσσα VHDL, ως υποδειγματικό υλικό για την υποβοήθηση της εργαστηριακής εξοικείωσης με τις γλώσσες περιγραφής υλικού, καλύφθηκαν τα κεφάλαια της σχεδίασης συνδυαστικών κυκλωμάτων και ακολουθιακών κυκλωμάτων. Παράχθηκε υλικό για 1. Πολυπλέκτες – Αποκωδικοποιητές 2. Αριθμητικά Κυκλώματα, αθροιστές, αφαιρέτες, πολλαπλασιαστές 3. Συγκριτές 4. Στοιχεία μνήμης – Καταχωρητές 5. Απαριθμητές και Μηχανές Καταστάσεων Τα κυκλώματα προσομοιώθηκαν στο περιβάλλον του Quartus II της Altera. VHDL - Βανέσσα Βάγια Πεπονή2

4 Εισαγωγή στην VHDL Η VHDL είναι γλώσσα περιγραφής υλικού που είναι απαραίτητη για την ανάπτυξη ολοκληρωμένων ψηφιακών ηλεκτρονικών κυκλωμάτων και συστημάτων. Ο όρος VHDL είναι συντομογραφία του όρου VHSIC Hardware Description Language, όπου VHSIC σημαίνει Very High-Speed Integrated Circuit (Ολοκληρωµένα Κυκλώµατα Υψηλής Ταχύτητας). [1] Η VHDL ως γλώσσα προγραµµατισµού έχει τη δυνατότητα περιγραφής: – της συµπεριφοράς, –της δοµής αλλά και –της εφαρµογής ψηφιακών συστηµάτων. Με βάση αυτά τα χαρακτηριστικά η VHDL συγκαταλέγεται στα εργαλεία ECAD (Electronic Computer Aided Design). Η VHDL είναι χρήσιμη για την περιγραφή και υλοποίηση ψηφιακών συστημάτων σε προγραμματιζόμενες λογικές διατάξεις τύπου CPLDs(Complex Programmable Logic Devices) και FPGAs (Filed Programmable Gate Arrays). Η VHDL είναι καθιερωμένη σαν πρότυπο για την σχεδίαση ηλεκτρονικών κυκλωμάτων ASICs (Application Specific Integrated Circuits). Μια πρώτη έκδοση του προτύπου αυτού δημοσιεύθηκε αρχές του 1980 και έγινε δεκτή ως πρότυπο τo 1987 από το ινστιτούτο ΙΕΕΕ ως ΙΕΕΕ Το 1993 κυκλοφόρησε µια βελτιωμένη έκδοσή της µε το όνομα IEEE1164, και ακολούθησαν και άλλες αναβαθμίσεις. Η VHDL έχει κληρονομήσει πολλά στοιχεία από τη γλώσσα προγραμματισμού ADA. VHDL - Βανέσσα Βάγια Πεπονή3

5 Βασικά Στοιχεία της VHDL Η γλώσσα VHDL είναι μία υψηλού επιπέδου γλώσσα που περιγράφει ψηφιακά κυκλώματα. Τα κυριότερα χαρακτηριστικά της είναι: –περιγράφει κυκλώματα ψηφιακών συστημάτων σε μορφή κειμένου –μπορεί να διαβαστεί εύκολα τόσο από ανθρώπους όσο και από Η/Υ. –εύκολη αποθήκευσή, ανάκτηση και επεξεργασία Χρησιμοποιεί μοντέλα περιγραφής και σχεδίασης: –συμπεριφοράς, –χρονισμού, –ροής δεδομένων και –δομής των ψηφιακών συσκευών VHDL - Βανέσσα Βάγια Πεπονή4

6 Μοντέλα της VHDL Το μοντέλο συμπεριφοράς περιγράφει τον αλγόριθμο (λειτουργία) που εκτελείται χωρίς αναφορά στην εσωτερική του δομή Στo μοντέλο ροής των δεδομένων, περιγράφεται το πως οι είσοδοι και οι έξοδοι από απλά κυκλώματα (π.χ. πύλη AND) ή μπλοκ συνδυαστικών κυκλωμάτων συνδέονται μεταξύ τους. Το μοντέλο Δομής χωρίζει τον αλγόριθμο σε ενότητες που είναι λειτουργικά όμοιες Άλλα μοντέλα: Το μοντέλo χρονισμού των ψηφιακών συσκευών που βασίζεται στα ερεθίσματα VHDL - Βανέσσα Βάγια Πεπονή5

7 Οργάνωση της Σχεδίασης 1/3 Για να περιγράψουμε ένα κύκλωμα, φτιάχνουμε ένα αρχείο που οργανώνεται συνήθως σε τρία τμήματα: –Το τμήμα δήλωσης των βιβλιοθηκών (library). –Το τμήμα δήλωσης της εξωτερικής μορφής του κυκλώματος - οντότητας (entity) όπου ορίζονται το όνομά του και οι διεπαφές (σήματα εισόδων και εξόδων) του κυκλώματος –η περιγραφή της αρχιτεκτονικής της οντότητας (architecture) όπου περιγράφεται η λειτουργία και συμπεριφορά του VHDL - Βανέσσα Βάγια Πεπονή6

8 Οργάνωση της Σχεδίασης 2/3 Βιβλιοθήκες (Libraries) –Οι βιβλιοθήκες περιέχουν προσχεδιασμένες υπομονάδες και πακέτα. –Η χρήση των στοιχείων τους γίνεται είτε: –Κατά το σχεδιασμό μεγάλων και πολύπλοκων κυκλωμάτων –Από πολλούς σχεδιαστές Η δήλωση τους γίνεται πριν από τη δήλωση των οντοτήτων: LIBRARY -- Δήλωση βιβλιοθήκης USE..ALL; -- Δήλωση χρήσης πακέτου ENTITY Πακέτα (Packages) [3] –Περιέχουν υπο-προγράμματα, σταθερές και τύπους δεδομένων –Κάθε πακέτο αποτελείται από δύο μέρη: Δηλώσεις Σώμα PACKAGE mypack IS FUNCTION min (a, b :IN std_logic_vector) RETURN std_logic_vector; CONSTANT maxint : integer := 16#FFFF#; TYPE arithmetic_mode is (signed, unsigned); END mypack; PACKAGE BODY mypack IS FUNCTION min (a, b :in std_logic_vector) RETURN std_logic_vector IS BEGIN IF a

9 Οργάνωση της Σχεδίασης 3/3 Τύποι δεδομένων: –ακέραιοι (integer types), –κινητής υποδιαστολής (floating point types) –απαριθμητικές τιμές (enumeration types). Αντικείμενα: –σταθερές (constants) –οι μεταβλητές (variables) –σήματα (signals), Πράξεις και Τελεστές –αριθμητικές, –Λογικές –σχεσιακές πράξεις με τους αντίστοιχους τελεστές τους. Constant zero4: bit_vector (0 to 3): = (‘0’, ‘0’, ‘0’, ‘0’);\ Variable count: integer: = 0; Signal clock: bit; VHDL - Βανέσσα Βάγια Πεπονή8

10 Υλοποίηση κυκλωμάτων σε VHDL Το περιβάλλον Quartus Το Quartus II της εταιρίας Altera είναι λογισμικό προγραμματισμού και σχεδίασης FPGA και PLA το οποίο επιτρέπει τη χρήση των VHDL και Verilog για την περιγραφή του υλικού και παρέχει τη δυνατότητα της οπτικής εκδοχής του λογικού κυκλώματος καθώς και την προσομοίωση της λειτουργίας του. Στην παρούσα εργασία χρησιμοποιήθηκε η ΔΩΡΕΑΝ WEB EDITION η οποία μπορεί να προγραμματίσει μόνο ορισμένα από τα προϊόντα FPGA της εταιρίας αλλά είναι επαρκής για ακαδημαϊκή χρήση. Είναι συμβατό τόσο με Windows όσο και με Linux. VHDL - Βανέσσα Βάγια Πεπονή9 Κειμενο γράφος Παράθυρο εργασίας Quartus Παράθυρο Compiler Ιεραρχία

11 Δημιουργία Project VHDL - Βανέσσα Βάγια Πεπονή10 Όνομα project Επιλογή Ολοκληρ ωμένου Προσθήκη αρχείων στο project Δημιουργία Αρχείου στο Project

12 Το περιβάλλον Quartus - Compiler Ο μεταφραστής αποτελείται από τα εργαλεία : –Analysis and Synthesis –Fitter –Assembler και –Timing Analyzer VHDL - Βανέσσα Βάγια Πεπονή11 Παράθυρο Compilation

13 Το περιβάλλον Quartus – Προσομοίωση (Simulation) Υπάρχουν δύο τύποι εξομοίωσης: –λειτουργική (functional) και –χρονισμών (timing). Στην περίπτωση της λειτουργικής εξομοίωσης δε λαμβάνονται υπόψη οι καθυστερήσεις των στοιχείων (πυλών και διασυνδέσεων) του κυκλώματος αλλά απλά επαληθεύεται ότι η λογική συνάρτηση που υλοποιεί το κύκλωμα είναι σωστή. Στην εξομοίωση χρονισμών επαληθεύουμε την ορθότητα του κυκλώματος και με βάση τους χρονικούς περιορισμούς που αυτό έχει. VHDL - Βανέσσα Βάγια Πεπονή12 Αποτέλεσμα Simulation της πύλης XOR

14 Συνδυαστικά και Ακολουθιακά Κυκλώματα Συνδυαστικά: η έξοδός τους εξαρτάται μόνο από τις τιμές εισόδου τους. Ακολουθιακά: η έξοδός τους είναι συνάρτηση των τιμών εισόδου τους αλλά και της προηγούμενης κατάστασης του κυκλώματος (π.χ. Flip – Flops) VHDL - Βανέσσα Βάγια Πεπονή13

15 Κυκλώματα πολυπλεκτών Πολύπλεξη (Multiplexing) είναι η επιλογή μίας γραμμής εισόδου δεδομένων από πολλές. Ο Πολυπλέκτης (Multiplexer - MUX) 2 n εισόδων (2 n x1) είναι ένα συνδυαστικό κύκλωμα που έχει n γραμμές επιλογής (ελέγχου) και μία μοναδική γραμμή εξόδου. VHDL - Βανέσσα Βάγια Πεπονή14 Πολυπλέκτης 2 σε 1 Πολυπλέκτης 2 σε 1 με πύλες Ο Πολυπλέκτης 2 σε 1 κώδικας στο Quartus (dataflow μοντέλο)

16 Αποκωδικοποιητές Ο Αποκωδικοποιητής (Decoder) από n σε m (nxm) είναι ένα συνδυαστικό κύκλωμα με n γραμμές εισόδου και m γραμμές εξόδου (m  2n Κάθε μία από τις n εισόδους του Αποκωδικοποιητή μπορεί να είναι “0” ή “1”, οπότε υπάρχουν 2n διαφορετικοί συνδυασμοί. Για κάθε συνδυασμό εισόδου μόνο μία από τις εξόδους του αποκωδικοποιητή είναι “1” (είναι ενεργοποιημένη). VHDL - Βανέσσα Βάγια Πεπονή15 Αποκωδικοποιητής 3:8 με χρήση when LIBRARY ieee;--χρήση βιβλιοθήκης USE ieee.std_logic_1164.all; ENTITY decoder3_8 IS--ορισμός οντότητας PORT( din : IN STD_LOGIC_VECTOR(2 downto 0);--3 bits είσοδος για επιλογή εξόδου dout : OUT STD_LOGIC_VECTOR(7 downto 0) ); END decoder3_8;--8 bits έξοδος ARCHITECTURE Behavior OF decoder3_8 IS BEGIN dout <= (" ") WHEN (din="000") else-- η έξοδος καθορίζεται από το σήμα εισόδου (" ") WHEN (din="001") else--απο το σήμα εισόδου και ενεργοποιεί (" ") WHEN (din="010") else--το κατάλληλο bit (" ") WHEN (din="011") else (" ") WHEN (din="100") else (" ") WHEN (din="101") else (" ") WHEN (din="110") else (" ") ; END Behavior; αποκωδικοποιητ ής 3 σε 8 με πύλες NOT και AND

17 Αριθμητικά κυκλώματα Η πρόσθεση είναι η συνηθέστερη αριθμητική πράξη που πραγματοποιείται σε έναν ψηφιακό υπολογιστή. Αν το υλικό του υπολογιστή μπορεί να προσθέσει δύο δυαδικούς αριθμούς, τότε οι υπόλοιπες αριθμητικές πράξεις μπορούν να πραγματοποιηθούν με επιπλέον υλικό. Η αφαίρεση είναι η πρόσθεση του συμπληρώματος του αφαιρέτη στον μειωτέο. Ο πολλαπλασιασμός χρησιμοποιεί επαναλαμβανόμενες προσθέσεις του πολλαπλασιαστέου στον εαυτό του. Η διαίρεση χρησιμοποιεί επαναλαμβανόμενες αφαιρέσεις του διαιρέτη από το διαιρετέο. Αθροιστής 1 bit LIBRARY ieee; -- χρήση βιβλιοθήκης USE ieee.std_logic_1164.all; ENTITY fulladder1 IS --πλήρης αθροιστής PORT(Cin,x,y :IN STD_LOGIC; -- κρατούμενο εισόδου, προσθετέος s, Cout :OUT STD_LOGIC); -- κρατούμενο εξόδου, άθροισμα END fulladder1; ARCHITECTURE Structur OF fulladder1 IS -- περιγραφή δομής BEGIN s<=x XOR y XOR Cin; -- υπολογισμός αθροίσματος Cout<=(x AND y) OR (Cin AND x) OR (Cin AND y); -- υπολογισμός κρατουμένο END Structur; VHDL - Βανέσσα Βάγια Πεπονή16 Προσομοίωση λειτουργίας αθροιστή

18 Αθροιστής 4 bits LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY adder4 IS --οντότητα τετράμπιτου επεξεργαστή PORT(A, B :IN STD_LOGIC_VECTOR(3 DOWNTO 0); CI:IN STD_LOGIC; S: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); CO:OUT STD_LOGIC); END ADDER4; ARCHITECTURE BEHAVIOR OF ADDER4 IS COMPONENT fulladder1 –καλούμε ως οντότητα των αθροιστή του 1 bit PORT(A, B, CI :IN STD_LOGIC ; S,CO: OUT STD_LOGIC); END COMPONENT ; SIGNAL TCARRY:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN ADDER0:fulladder1 PORT MAP(A(0),B(0),CI,S(0),TCARRY(0)); ADDER1:fulladder1 PORT MAP(A(1),B(1),TCARRY(0),S(1),TCARRY(1)); ADDER2:fulladder1 PORT MAP(A(2),B(2),TCARRY(1),S(2),TCARRY(2)); ADDER3:fulladder1 PORT MAP(A(3),B(3),TCARRY(2),S(3),CO); END BEHAVIOR; VHDL - Βανέσσα Βάγια Πεπονή17 Προσομοίωσ η λειτουργίας αθροιστή

19 Αθροιστής/Αφαιρέτης 8 bits μη προσημασμένων αριθμών LIBRARY ieee; --χρήση βιβλιοθήκης USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; --χρήση βιβλιοθήκης unsigned ENTITY addsub IS PORT(A,B : IN STD_LOGIC_VECTOR(7 downto 0); --είσοδοι 8bits OPER: IN STD_LOGIC; --ορισμός σήματος 1 bit για επιλογή λειτουργίας RES : OUT STD_LOGIC_VECTOR(7 downto 0)); --έξοδος 8bit END addsub; ARCHITECTURE Behavior OF addsub IS BEGIN RES <= A + B WHEN OPER='0' --πρόσθεση όταν το σήμα επιλογής είναι ΄0΄,αφαίρεση όταν είναι΄1΄ ELSE A - B; END Behavior; VHDL - Βανέσσα Βάγια Πεπονή18 Προσομοίωση λειτουργίας αφαιρέτη res=228-8

20 Σύγχρονα Ακολουθιακά Κυκλώματα Το ακολουθιακό κύκλωμα δέχεται πληροφορίες από τις εξωτερικές του εισόδους. Οι είσοδοι, μαζί με την παρούσα κατάσταση των στοιχείων μνήμης, καθορίζουν τις τιμές των εξόδων. Καθορίζουν επίσης το πώς θα αλλάξει η κατάσταση των στοιχείων μνήμης. Δηλαδή, οι έξοδοι ενός ακολουθιακού κυκλώματος είναι συναρτήσεις όχι μόνο των εισόδων του, αλλά και της παρούσας κατάστασης των στοιχείων μνήμης του Ένα σύγχρονο ακολουθιακό σύστημα πρέπει, εξ’ ορισμού να χρησιμοποιεί σήματα τα οποία επηρεάζουν τα στοιχεία μνήμης τους σε διακριτές μόνο στιγμές του χρόνου. Ένας τρόπος για να πετύχουμε αυτόν το σκοπό είναι να χρησιμοποιήσουμε παντού στο σύστημα παλμούς μιας ορισμένης διάρκειας και να συμφωνήσουμε ότι οι παλμοί μιας ορισμένη πολικότητας θα παριστάνουν το λογικό 1 και της άλλης πολικότητας (ή η έλλειψη παλμού) το λογικό 0. Στην πράξη, τα σύγχρονα ακολουθιακά συστήματα χρησιμοποιούν επίπεδα τάσης (και όχι παλμούς) ως δυαδικά σήματα. Ο συγχρονισμός επιτυγχάνεται μέσω μιας γεννήτριας κύριου ρολογιού η οποία τροφοδοτεί το σύστημα με μια περιοδική σειρά παλμών ρολογιού. Αυτοί οι παλμοί διανέμονται παντού στο σύστημα με τέτοιο τρόπο ώστε τα στοιχεία μνήμης να επηρεάζονται από τις εισόδους τους μόνο τις στιγμές που φτάνουν αυτοί οι παλμοί χρονισμού. 19 VHDL - Βανέσσα Βάγια Πεπονή

21 Flip - Flops Τα στοιχεία μνήμης που χρησιμοποιούνται στα ακολουθιακά κυκλώματα με ρολόι, λέγονται flip- flops. Πρόκειται για δυαδικά κύτταρα που μπορούν να αποθηκεύσουν ένα bit πληροφορίας. Τα flip-flops έχουν συνήθως δύο εξόδους – μια για την τιμή του bit που είναι αποθηκευμένο μέσα τους και μια για το συμπλήρωμά της. Δυαδικές πληροφορίες μπορούν να μπουν στο flip-flop με διάφορούς τρόπους και έτσι έχουμε διάφορους τύπου flip-flop. Ένα κύκλωμα flip-flop μπορεί να διατηρηθεί σε μια δυαδική κατάσταση επ’ αόριστο (εφόσον το τροφοδοτούμε με ισχύ), έως ότου κάποιο σήμα εισόδου το κάνει να αλλάξει κατάσταση. Οι πλέον συχνά χρησιμοποιούμενοι τύποι flip-flops είναι οι ακόλουθοι: R-S flip-flop D flip-flop J-K flip-flop T flip-flop Τα Flip Flop αποτελούν τις δομικές μονάδες για πιο πολύπλοκα ψηφιακά κυκλώματα όπως καταχωρητές, απαριθμητές αλλά και κάποιες κατηγορίες μνήμης RAM. VHDL - Βανέσσα Βάγια Πεπονή20

22 D – Flip Flop H λειτουργία του D Flip-Flop: Αν ο παλμός ρολογιού είναι CLK=0, τότε το flip-flop δεν μπορεί να αλλάξει κατάσταση, ανεξάρτητα από την τιμή της εισόδου D. Αν ο παλμός του ρολογιού είναι CLK=1, τότε η είσοδος D περνάει στην έξοδο. Η έξοδος παραμένει αμετάβλητη, διατηρώντας μνήμη της προηγούμενης κατάστασης. Η έξοδος ανανεώνεται στον επόμενο θετικό παλμό του ρολογιού Το D-flip-flop παίρνει το όνομά του από την ιδιότητά του να κρατά δεδομένα (Data). Ονομάζεται και μανδαλωτής τύπου D (D Latch). LIBRARY ieee ;--χρήση βιβλιοθήκης USE ieee.std_logic_1164.all; ENTITY dflipflop IS--δήλωση οντότητας PORT (data_in:IN STD_LOGIC;--είσοδος 1 bit clk:IN STD_LOGIC;--παλμός ρολογιού data_out:OUT STD_LOGIC ); END dflipflop; ARCHITECTURE behavior OF dflipflop IS BEGIN PROCESS(data_in, clk)--η διαδικασία εξαρτάται απο τον παλμό BEGIN --στην θετική ακμή του παλμού IF (clk='1' and clk'event) THEN--αν το ρολόι είναι 1και υπάρχει αλλαγή data_out <= data_in;--τότε περνάει το σήμα εισόδου στην έξοδο --με ανάθεση τιμής END IF; END PROCESS; END behavior; VHDL - Βανέσσα Βάγια Πεπονή21 Προσομοίωσ η λειτουργίας D Flip Flop

23 Shift Register – Καταχωρητής Ολίσθησης LIBRARY ieee ; USE ieee.std_logic_1164.all; ENTITY shift_reg IS PORT(I:IN STD_LOGIC; clk:IN STD_LOGIC; shift:IN STD_LOGIC; Q:OUT STD_LOGIC ); END shift_reg; ARCHITECTURE Behavior OF shift_reg IS signal S: std_logic_vector(2 downto 0):="111"; BEGIN PROCESS(I, clk, shift, S) BEGIN IF clk'event and clk='1' THEN IF shift = '1' THEN S <= I & S(2 downto 1); END IF; END PROCESS; Q <= S(0); END Behavior; VHDL - Βανέσσα Βάγια Πεπονή22 Ένας καταχωρητής (register) είναι μια ομάδα από δυαδικά κύτταρα αποθήκευσης, που είναι κατάλληλα για να κρατάνε δυαδικές πληροφορίες. Μια ομάδα FFs αποτελεί έναν καταχωρητή, αφού κάθε FF μπορεί να αποθηκεύσει ένα bit πληροφορίας. Ένας καταχωρητής των n-bits περιέχει n-FFs και άρα είναι σε θέση να αποθηκεύσει οποιαδήποτε δυαδική πληροφορία περιέχει n-bits. Επιπλέον των FFs, ένας καταχωρητής μπορεί να περιέχει πύλες για να εκτελούν διάφορες λειτουργίες επεξεργασίας δεδομένων. Ενας καταχωρητής που μπορεί να ‘ολισθαίνει’ τις πληροφορίες που περιέχει προς τη μια ή προς την άλλη κατεύθυνση ονομάζεται ‘καταχωρητής ολίσθησης’ (shift register).

24 Counter – Απαριθμητής Απαριθμητής είναι το ακολουθιακό κύκλωμα που αποτελείται από λογικές πύλες και στοιχεία μνήμης, το οποίο ακολουθεί μια καθορισμένη σειρά καταστάσεων και μεταβάλλει το περιεχόμενό του κατά 1 σε κάθε παλμό ρολογιού συγχρονισμού. Ο τρόπος σύνδεσης του ρολογιού στα Flip- Flops ορίζει δύο τύπους απαριθμητών: · τους σύγχρονους, όπου το ρολόι εφαρμόζεται ταυτόχρονα σε όλα τα Flip- Flops και · στους ασύγχρονους, όπου το ρολόι συνδέεται άμεσα μόνο στο Flip – Flop που αντιπροσωπεύει το λιγότερο σημαντικό ψηφίο του αριθμού μέτρησης. Το πλήθος των τιμών μέτρησης ορίζει το Μέτρο του απαριθμητή (δηλαδή το MOD). Π.χ. μέτρο-8 σημαίνει ότι ο μετρητής μετρά 8 καταστάσεις, από 0 μέχρι το 7 (δηλαδή από το 000 στο 111 στο δυαδικό σύστημα). LIBRARY ieee ; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; ENTITY counter IS GENERIC(n: natural :=2); PORT(clk:IN STD_LOGIC; clr:IN STD_LOGIC; count:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END counter; ARCHITECTURE Behavior OF counter IS signal Pre_Q: std_logic_vector(7 downto 0); -- προηγούμενη κατάσταση BEGIN PROCESS(clk, count, clr) BEGIN IF clr = '1' THEN – reset για clear Pre_Q <= Pre_Q - Pre_Q; ELSIF (clk='1' and clk'event) THEN – ανάλογα με τον παλμό του ρολογιού IF count = '1' THEN – εφ’οσον έχει ενεργοποιηθεί η λειτουργία απαρρίθμησης Pre_Q <= Pre_Q + 1; -- αύξηση απαριθμητή END IF; END PROCESS; Q <= Pre_Q; -- στην έξοδο το αποτέλεσμα END Behavior; VHDL - Βανέσσα Βάγια Πεπονή23

25 Σας ευχαριστώ για την προσοχή σας!!! Πεπονή Βανέσσα-Βάγια (A.M.2120)


Κατέβασμα ppt "Φοιτήτρια Πεπονή Βανέσσα-Βάγια (A.M.2120) ΕπιβλέπωνΚαθηγητής Επιβλέπων Καθηγητής Δρ. Καλόμοιρος Ιωάννης, Επίκουρος Καθηγητής."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google