inputs outputs Σχήμα 3.1: Σχηματική παράσταση της λειτουργίας του testbench
|
|
- Χλόη Αγγελίδης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 ΑΣΚΗΣΗ 3: Έλεγχος Μονάδων TESTBENCH Ορισμός του testbench Η πρώτη εφαρμογή σχεδίασης κυκλωμάτων στην οποία χρησιμοποήθηκε η VHDL ήταν η προσομοίωση. Η προσομοίωση για να λειτουργήσει απαιτεί, εκτός από την περιγραφή του κυκλώματος, έναν μηχανισμό ανάθεσης τιμών στα σήματα εισόδου αι έναν αντίστοιχο μηχανισμό ελέγχου τιμών στα σήματα εξόδου. Για μικρά κυκλώματα, το περιβάλλον εργασίας του κάθε προγράμματος προσομοίωσης ικανοποιεί αυτή την απαίτηση με διάφορα στοιχεία όπως επιλογές από μενού, κουμπιά, λίστες επιλογής, κ.α. με τα οποία επιλέγονται είσοδοι και ορίζονται αντίστοιχες τιμές, και ένα παράθυρο παρατήρησης των κυματομορφών εξόδου. Για μεγαλύτερα κυκλώματα και τια διαδικασίες που απαιτούν μεγάλο βαθμό αυτοματισμού (όπως συμβαίνει στην βιομηχανία), ο έλεγχος μιας μονάδας VHDL γίνεται με την δημιουργία μιας άλλης μονάδας, χωρίς εξωτερικές εισόδους και εξόδους, η οποία συνδέεται με όλες τις εισόδους και τις εξόδους της μονάδας που θέλουμε να ελέγξουμε και καθορίζει τις τιμές τους ή/και παρατηρεί και καταγράφει τις αποκρίσεις του. Η μονάδα που κάνει τον έλεγχο λέγεται test bench και η μονάδα που ελέγχεται unit (ή entity) under test ή σε συντομογραφία UUT. Σχηματικά, η διαδικασία αυτή μπορεί να παρασταθεί όπως στο Σχήμα 3.1. Οι διάφοροι τρόποι ανάθεσης τιμών στις εισόδους και ελέγχου τιμών στις εξόδους, όπως καταγράφονται στο σχήμα, θα παρουσιαστούν αναλυτικά στη συνέχεια. Ανάθεση τιμών στις εισόδους: -ορισμός -αρχείο -δημιουργία n inputs TESTBENCH m UUT Έξοδος τιμών στις εξόδους: -κυματομορφή -αρχείο -assert outputs Σχήμα 3.1: Σχηματική παράσταση της λειτουργίας του testbench Ο γενικός σκελετός ενός test bench είναι ο ακόλουθος. Στη συνέχεια αυτής της εισαγωγής θα δοθούν χαρακτηριστικά παραδείγματα. entity test_bench is end test_bench; architecture behv of test_bench is component UUT
2 port ( ); Δηλώσεις τοπικών σημάτων και μεταβλητών; UUT_INST: UUT port map ( ); Εντολές δημιουργίας κυματομορφών εισόδου; Εντολές σύνδεσης κυματομορφών εισόδου με τη μονάδα UUT_INST; Εντολές παρατήρησης και καταγραφής κυματομορφών εξόδου; end behv; Εφαρμόζοντας τη συγκεκριμένη προσέγγιση, ο σκελετός του κώδικα για το test bench που αφορά τον ψηφιακό σχεδιασμό του binary_encoder. library ieee; use ieee.std_logic_1164.all; -- Add your library and packages declaration here entity binary_encoder_tb is end binary_encoder_tb; architecture TB_ARCHITECTURE of binary_encoder_tb is -- Component declaration of the tested unit component binary_encoder port ( a: in std_logic; b: in std_logic; c: in std_logic; d: in std_logic; exists: inout std_logic; encode: out std_logic_vector (1 downto 0)); -- Stimulus signals signals mapped to the input and inout ports of tested entity signal a: std_logic; signal b: std_logic; signal c: std_logic; singal d: std_logic; -- Observe signals signals mapped to the output ports of tested entity signal exists: std_logic; signal encode: std_logic_vector(1 downto 0); -- Add your code here -- Unit Under Test port map UUT: binary_encoder port map (a => a, b => b, c => c, d => d, exists => exists, encode => encode); -- Add your stimulus here end TB_ARCHITECTURE;
3 configuration TESTBENCH_FOR_binary_encoder of binary_encoder_tb is for TB_ARCHITECTURE for UUT: binary_encoder use entity work.binary_encoder(binary_encoder); end for; end for; end TESTBENCH_FOR_binary_encoder; Για να γίνει πλήρως λειτουργικό, απαιτείται η προσθήκη κώδικα για την ανάθεση τιμών στα σήματα εισόδου και τον έλεγχο τιμών στα σήματα εξόδου. Τέλος, γίνεται χρήση και της δομής configuration, χωρίς να είναι απαραίτητη. C.3 Χαρακτηριστικοί τύποι test bench C.3.1 Testbench με ορισμό εισόδου Τα testbench της κατηγορίας αυτής είναι τα πιο απλά. Αποτελούνται από εντολές ανάθεσης που καθορίζουν τις τιμές των σημάτων εισόδου. Για παράδειγμα, η παρακάτω διαδικασία ορίζει ένα ρολόι με περίοδο 20ns. process wait for 10 ns; clk <= 0 ; wait for 10 ns; clk <= 1 ; Παρόμοια, η παρακάτω εντολή ανάθεσης ταυτόχρονης εκτέλεσης ορίζει έναν παλμό αρχικοποίησης. rst <= U after 5 ns, 1 after 60 ns, 0 after 75 ns; Εφόσον απαιτείται, μπορούν να χρησιμοποιηθούν και οποιεσδήποτε συνθετότερες δομές της γλώσσας. Για το παράδειγμα του binary_encoder, προσθέτοντας αρχικές τιμές στα σήματα a, b, c και d και κατάλληλες εντολές ανάθεσης, μπορούμε να τους αντιστοιχίσουμε τετραγωνικές κυματομορφές περιόδου 50ns, 100ns, 200ns και 400ns αντίστοιχα, όπως φαίνεται παρακάτω: library ieee; use ieee.std_logic_1164.all; -- Add your library and packages declaration here... entity binary_encoder_tb is end binary_encoder_tb; architecture TB_ARCHITECTURE of binary_encoder_tb is -- Component declaration of the tested unit component binary_encoder port( a : in std_logic;
4 b : in std_logic; c : in std_logic; d : in std_logic; exists : inout std_logic; encode : out std_logic_vector(1 downto 0) ); -- Stimulus signals - signals mapped to the input and inout ports of tested entity signal a : std_logic:='0'; signal b : std_logic:='0'; signal c : std_logic:='0'; signal d : std_logic:='0'; -- Observed signals - signals mapped to the output ports of tested entity signal exists : std_logic; signal encode : std_logic_vector(1 downto 0); -- Add your code here Unit Under Test port map UUT : binary_encoder port map (a => a, b => b, c => c, d => d, exists => exists, encode => encode ); -- Add your stimulus here... a<=not a after 25 ns; b<=not b after 50 ns; c<=not c after 100 ns; d<=not d after 200 ns; end TB_ARCHITECTURE; configuration TESTBENCH_FOR_binary_encoder of binary_encoder_tb is for TB_ARCHITECTURE for UUT : binary_encoder use entity work.binary_encoder(binary_encoder); end for; end for; end TESTBENCH_FOR_binary_encoder; C.3.2 Test bench με αρχείο εισόδου ή/και εξόδου Το test bench αυτού του τύπου βασίζονται στις συναρτήσεις χειρισμού αρχείων που περιγράφει και υλοποιεί το πακέτο TEXTIO της βιβλιοθήκης STD. Αρχικά λοιπόν πρέπει να αναφερθούμε στο πακέτο (και όχι στη βιβλιοθήκη, γιατί η βιβλιοθήκη STD θεωρείται προσπελάσιμη χωρίς να δηλωθεί, από όποια μονάδα τη χρειάζεται) με την εντολή: use STD.TEXTIO.all;
5 Στη συνέχεια, στην αρχή της αρχιτεκτονικής του test bench, δηλώνουμε τα αρχεία που θα χρησιμοποιήσουμε για είσοδο δεδομένων ή/και για αποθήκευση αποτελεσμάτων με την εντολή: file VECTORS: TEXT open READ_MODE is inputs.txt ή file VECTORS: TEXT open WRITE_MODE is output.txt Η λειτουργία του test bench ορίζεται από μια διεργασία, η οποία με ένα βρόχο διαβάζει συνεχώς εισόδους, τις αναθέτει στα σήματα εισόδου της μονάδας UUT και αποθηκεύει ή συγκρίνει τις τιμές των εξόδων που προκύπτουν. Ο σκελετός ενός τέτοιου test bench είναι ο ακόλουθος: use STD.TEXTIO.all; entity test_bench is end test_bench; architecture behv of test_bench is file IN_VECTORS: TEXT open READ_MODE is inputs.txt ; file OUT_VECTORS: TEXT open WRITE_MODE is outputs.txt ; component UUT port ( ); -- Δηλώσεις τοπικών σημάτων και μεταβλητών; process variable IN_BUF: LINE; variable OUT_BUF: LINE; -- Δηλώσεις μεταβλητών ιδίου τύπου με τις εισόδους του UUT, -- οι οποίες θα πάρουν τιμές από τη γραμμή εισόδου BUF -- με κλήσεις της συνάρτησης READ (βλέπε παρακάτω) while not ENDFILE(IN_VECTORS) loop READLINE(IN_VECTORS, IN_BUF); -- Διαβάστε από τη γραμμή IN_BUF τις τιμές των επιθυμητών εισόδων -- και αποθήκευσε τις σε τοπικές μεταβλητές READ(IN_BUF, var1); READ(IN_BUF, var2); Ανάθεσε τις τοπικές μεταβλητές στα σήματα εισόδου input1 <= var1; input2 <= var2; Περίμενε να σταθεροποιηθούν τα σήματα wait for ACTIVATION_PERIOD; -- Η εντολή WRITE, σε αντίθεση με την READ, δέχεται για -- παραμέτρους και σήματα (και όχι μόνο μεταβλητές) WRITE(OUT_BUF, STRING ( Output1= )); WRITE(OUT_BUF, output1);... WRITELINE(OUT_VECTORS, OUT_BUF); end loop; wait; UUT_INST: UUT port map ( ); end behv;
6 Για το παράδειγμα του binary_encoder, το παρακάτω test bench διαβάζει εισόδους από το αρχείο inputs.txt και αποθηκεύει τις αντίστοιχες εξόδους στο αρχείο outputs.txt. Το αρχείο inputs.txt περιέχει σειρές από 0 και 1, είτε συνεχόμενα είτε χωρισμένα με κενά. Το αρχείο outputs.txt μορφοποιείται όπως θέλουμε, με τις εντολές WRITE, στην κεντρική διεργασία του test bench. Οι εντολές READ και WRITE χειρίζονται προκαθορισμένους τύπους, οπότε είναι απαραίτητη η χρήση των εντολών μετατροπής to_stdulogic, to_bit και to_bitvector. Ακόμα η καθυστέρηση των 5nsec (η συγκεκριμένη τιμή είναι αυθαίρετη) είναι απαραίτητη για να σταθεροποιηθούν τα σήματα εξόδου πριν γίνει δειγματοληψία και αποθήκευση των εξόδων. library ieee; use ieee.std_logic_1164.all; use STD.TEXTIO.all; -- Add your library and packages declaration here... entity binary_encoder_tb is end binary_encoder_tb; architecture TB_ARCHITECTURE of binary_encoder_tb is file IN_VECTORS: TEXT open READ_MODE is "inputs.txt"; file OUT_VECTORS: TEXT open WRITE_MODE is "outputs.txt"; -- Component declaration of the tested unit component binary_encoder port( a : in std_logic; b : in std_logic; c : in std_logic; d : in std_logic; exists : inout std_logic; encode : out std_logic_vector(1 downto 0) ); -- Stimulus signals - signals mapped to the input and inout ports of tested entity signal a : std_logic; signal b : std_logic; signal c : std_logic; signal d : std_logic; -- Observed signals - signals mapped to the output ports of tested entity signal exists : std_logic; signal encode : std_logic_vector(1 downto 0); -- Add your code here Unit Under Test port map UUT : binary_encoder port map( a => a, b => b, c => c, d => d, exists => exists, encode => encode ); -- Add your stimulus here... process
7 variable IN_BUF: LINE; variable OUT_BUF: LINE; variable a_var,b_var,c_var,d_var : bit; while not ENDFILE(IN_VECTORS) loop READLINE(IN_VECTORS,IN_BUF); READ(IN_BUF,a_var); READ(IN_BUF,b_var); READ(IN_BUF,c_var); READ(IN_BUF,d_var); a<=to_stdulogic(a_var); b<=to_stdulogic(b_var); c<=to_stdulogic(c_var); d<=to_stdulogic(d_var); wait for 5 ns; WRITE(OUT_BUF,STRING'("Exists= ")); WRITE(OUT_BUF,to_bit(exists)); WRITE(OUT_BUF,STRING'(", Encode= ")); WRITE(OUT_BUF,to_bitvector(encode)); WRITELINE(OUT_VECTORS,OUT_BUF); end loop; wait; end TB_ARCHITECTURE; configuration TESTBENCH_FOR_binary_encoder of binary_encoder_tb is for TB_ARCHITECTURE for UUT : binary_encoder use entity work.binary_encoder(binary_encoder); end for; end for; end TESTBENCH_FOR_binary_encoder; C.3.3 Test bench που δημιουργεί εισόδους και εξόδους Μια τρίτη κατηγορία test bench είναι αυτή που περιγράφει αλγοριθμικά τη λειτουργία του κυκλώματος UUT και συγκρίνει τα αποτελέσματα. Τυχόν ασυμφωνίες ελέγχονται και αναφέρονται με την εντολή assert. Ο σκελετός ενός τέτοιου test bench είναι ο ακόλουθος: entity test_bench is end test_bench; architecture behv of test_bench is component UUT port ( ); Δηλώσεις τοπικών σημάτων και μεταβλητών (in1, in2,out1); process function behavior (in1, in2: integer) return integer is return συνάρτηση των in1 και in2; end behavior; for in1 in x1 to y1 loop for in2 in x2 to y2 loop
8 assert(out1=behavior(in1, in2)) report Simulation error! ; end loop; end loop; wait; UUT_INST: UUT port map (in1, in2, out1); end behv; Για το παράδειγμα του binary_encoder, το παρακάτω test bench διαβάζει και δημιουργεί όλους τους δυνατούς συνδυασμούς των εισόδων a, b, c, d, χρησιμοποιώντας φωλιασμένους βρόχους, και ελέγχει τις σωστές εξόδους χρησιμοποιώντας δύο συναρτήσεις που υλοποιούν την επιθυμητή τους συμπεριφορά. Ο έλεγχος γίνεται με την εντολή assert και τα αντίστοιχα διαγνωστικά μηνύματα δίνονται με την εντολή report. Παρατηρείστε ότι οι εντολές βρόχου δημιουργούν μεταβλητές ελέγχου ροής (a1, b2, c1, d2) χωρίς να προηγείται σχετική δήλωση. Ακόμα, χρησιμοποιείται πάλι μια αυθαίρετη καθυστέρηση ενώ η τελική εντολή wait αποτρέπει την συνεχή λειτουργία του test bench. library ieee; use ieee.std_logic_1164.all; -- Add your library and packages declaration here... entity binary_encoder_tb is end binary_encoder_tb; architecture TB_ARCHITECTURE of binary_encoder_tb is -- Component declaration of the tested unit component binary_encoder port( a : in std_logic; b : in std_logic; c : in std_logic; d : in std_logic; exists : inout std_logic; encode : out std_logic_vector(1 downto 0) ); -- Stimulus signals - signals mapped to the input and inout ports of tested entity signal a : std_logic; signal b : std_logic; signal c : std_logic; signal d : std_logic; -- Observed signals -signals mapped to the output ports of tested entity signal exists : std_logic; signal encode : std_logic_vector(1 downto 0); -- Add your code here Unit Under Test port map UUT : binary_encoder port map (a => a, b => b, c => c, d => d,
9 exists => exists, encode => encode ); -- Add your stimulus here... process function exists_behavior (a,b,c,d: std_logic) return std_logic is if (a='1') or (b='1') or (c='1') or (d='1') then return '1'; else return '0'; end exists_behavior; function encode_behavior (a,b,c,d: std_logic) return std_logic_vector is if (a='1') then return "11"; elsif (b='1') then return "10"; elsif (c='1') then return "01"; else return "00"; end encode_behavior; for a1 in std_logic'('0') to std_logic'('1') loop for b1 in std_logic'('0') to std_logic'('1') loop for c1 in std_logic'('0') to std_logic'('1') loop for d1 in std_logic'('0') to std_logic'('1') loop a<=a1; b<=b1; c<=c1; d<=d1; wait for 5 ns; assert(exists=exists_behavior(a,b,c,d)) report "Error on signal exists!"; assert(encode=encode_behavior(a,b,c,d)) report "Error on signal encode!"; end loop; end loop; end loop; end loop; wait; end TB_ARCHITECTURE; configuration TESTBENCH_FOR_binary_encoder of binary_encoder_tb is for TB_ARCHITECTURE for UUT : binary_encoder use entity work.binary_encoder(binary_encoder); end for; end for; end TESTBENCH_FOR_binary_encoder;
10 C.4 Άσκηση 3 Σχεδίαση και εξομοίωση Αλγοριθμικών Μηχανών Καταστάσεων (ΑΜΚ) Θέμα C.1: Κύκλωμα διαιτησίας διαδρόμου Οι Ακολουθιακές Μηχανές Καταστάσεων (ΑΜΚ) είναι ακολουθιακά κυκλώματα που αποτελούνται από ένα σύνολο διακριτών καταστάσεων και από ένα σύνολο μεταβάσεων. Η κάθε μετάβαση συνοδεύεται από έναν ή περισσότερους συνδυασμούς συνθηκών, σχετικά με τις τιμές των εισόδων, οι οποίες όταν ισχύουν ενεργοποιούν τη μετάβαση. Το κύκλωμα ξεκινάει από την αρχική του κατάσταση και με κάθε παλμό του ρολογιού, ανάλογα με τις τιμές των συνθηκών και την τρέχουσα κατάσταση, εκτελεί συνεχώς μεταβάσεις. Σε περίπτωση που υπάρχει τελική κατάσταση, το κύκλωμα σταματάει τη λειτουργία του όταν φτάσει σε αυτήν. Η διαδοχή των καταστάσεων παράγει και τιμές εξόδου. Εάν οι τιμές των εξόδων καθορίζονται μόνο από την τρέχουσα κατάσταση η αλγοριθμική μηχανή ονομάζεται Moore ενώ αν καθορίζονται από την τρέχουσα κατάσταση και από τις τιμές των εισόδων ονομάζεται Mealy. grand_x grand_y X Y req_x req_y BUS Σχήμα 3.7: Κύκλωμα διαιτησίας διαδρόμου Για παράδειγμα, στο Σχήμα 3.7 εικονίζεται ένα παράδειγμα ΑΜΚ, ένα κύκλωμα διαιτησίας διαδρόμου. Θεωρούμε ότι δύο μονάδες, Χ και Υ, συνδέονται σε κοινό διάδρομο. Κάθε μια έχει ένα σήμα εξόδου req, το οποίο θέτει σε λογικό 1 όταν θέλει να χρησιμοποιήσει το διάδρομο και ένα σήμα εισόδου grand, το οποίο πρέπει να τεθεί σε λογικό 1 για να αρχίσει η μονάδα να χρησιμοποιεί το διάδρομο. Κάθε μονάδα, για να χρησιμοποιήσει το διάδρομο, θέτει το σήμα req της σε λογικό 1, περιμένει από το διάδρομο να της απαντήσει θέτοντας το αντίστοιχο grand σε λογικό 1, κάνει χρήση του διαδρόμου για όσο χρόνο χρειάζεται, και όταν τελειώσει θέτει το req σε λογικό 0. Ο διάδρομος, όταν είναι ελεύθερος και δεχθεί αίτηση από μια από τις μονάδες, γίνεται διαθέσιμος θέτοντας το αντίστοιχο grand 1. Αν δεχθεί ταυτόχρονα αίτηση και από τις δύο μονάδες επιτρέπει τη χρήση σε αυτήν που έχει περισσότερο χρόνο να την χρησιμοποιήσει. Για τη λειτουργία αυτή απαιτούνται τέσσερις καταστάσεις, οι ακόλουθες: Α ο διάδρομος είναι ελεύθερος και η τελευταία μονάδα που τον χρησιμοποίηση ήταν η Υ, ή αρχική κατάσταση. Β ο διάδρομος χρησιμοποιείται από τη μονάδα Χ. C ο διάδρομος είναι ελεύθερος και η τελευταία μονάδα που τον χρησιμοποίησε ήταν η Χ. D ο διάδρομος χρησιμοποιείται από τη μονάδα Υ.
11 Με βάση αυτά, η λειτουργία του κυκλώματος διαιτησίας περιγράφεται με το διάγραμμα του Σχήματος 3.8, όπου οι δυαδικές τιμές που βρίσκονται μέσα στις καταστάσεις είναι οι τιμές εξόδου (μηχανή τύπου Moore), και οι τιμές μου βρίσκονται πάνω στις μεταβάσεις είναι οι συνθήκες εισόδου. Και στις δύο περιπτώσεις το λιγότερο σημαντικό bit αφορά τη μονάδα Χ και το περισσότερο τη μονάδα Υ. reset 00 01,11 A/00 B/01 01, D/10 10, 11 C/00 10, Σχήμα 3.8: ΑΜΚ κυκλώματος διαιτησίας διαδρόμου Η παραπάνω ΑΜΚ περιγράφεται σε VHDL με την ακόλουθη αρχιτεκτονική, που αποτελείται από δύο διεργασίες, μια που αντιστοιχεί στο συνδυαστικό κύκλωμα υπολογισμού της επόμενης κατάστασης (process cmb) και μια που αντιστοιχεί στο ακολουθιακό κύκλωμα αποθήκευσης της τρέχουσας κατάστασης (process seq), και δύο εντολές ανάθεσης ταυτόχρονης εκτέλεσης, μία για τον υπολογισμό κάθε εξόδου. Με τη βοήθεια του ModelSim, προσομοιώστε την αρχιτεκτονική και παρατηρήστε την ορθή εναλλαγή των καταστάσεων. library IEEE; use IEEE.std_logic_1164.all; entity bus_arbiter1 is port ( clk,rst: in std_logic; req: in std_logic_vector(1 downto 0); grand: out std_logic_vector(1 downto 0)); end bus_arbiter1; architecture rtl of bus_arbiter1 is type STATES is (A, B, C, D); signal state, next_state: STATES; seq: process (clk,rst) if (rst='0') then state <= A;
12 elsif (clk'event and clk='1') then state <= next_state; cmb: process (req,state) next_state <= state; case state is when A => if (req="01" or req="11") then next_state <= B; elsif (req="10") then next_state <= D; when B => if (req="00") then next_state<=c; elsif (req="10") then next_state<=d; when C => if (req="01") then next_state <= B; elsif (req="10" or req="11") then next_state <= D; when D => if (req="01") then next_state <= B; elsif (req="00") then next_state <= A; when others => null; end case; grand(0)<='1' when state=b else '0'; grand(1)<='1' when state=d else '0'; end rtl; Το κύκλωμα που προκύπτει από τον synthesizer για την περιγραφή αυτή είναι αυτό που φαίνεται στο Σχήμα 3.9. Φαίνονται τα 2 flips-flops που χρησιμεύουν για την αποθήκευση των δυο bit κατάστασης μαζί με το συνδυαστικό κύκλωμα που καθορίζει την επόμενη κατάσταση και τις εξόδους.
13 Σχήμα 3.9: Διαιτητής διαδρόμου κύκλωμα που προκύπτει από τον synthesizer
14 Εναλλακτικά, το ίδιο κύκλωμα μπορεί να περιγραφεί με την ακολουθιακή αρχιτεκτονική στην οποία το συνδυαστικό και το ακολουθιακό κομμάτι της ΑΜΚ ενώνονται σε μια διεργασία (process fsm), ενώ ο υπολογισμός των εξόδων παραμένει ο ίδιος. Με τη βοήθεια του ModelSim, προσομοιώστε την αρχιτεκτονική και παρατηρήστε αν είναι λειτουργικά ισοδύναμη με την πρώτη. library IEEE; use IEEE.std_logic_1164.all; entity bus_arbiter2 is port ( clk, rst: in std_logic; req: in std_logic_vector(1 downto 0); grand: out std_logic_vector(1 downto 0)); end bus_arbiter2; architecture rtl of bus_arbiter2 is type STATES is (A, B, C, D); signal state: STATES; fsm: process (clk, rst, req, state) if (rst='0') then state <= A; elsif (clk'event and clk='1') then case state is when A => if (req="01" or req="11") then state <= B; elsif (req="10") then state <= D; when B => if (req="00") then state <= C; elsif (req="10") then state <= D; when C => if (req="01") then state <= B; elsif (req="10" or req="11") then state <= D; when D => if (req="01") then state <= B; elsif (req="00") then state <= A; when others => null; end case; grand(0)<='1' when state=b else '0'; grand(1)<='1' when state=d else '0'; end rtl;
15 Ζητούμενα: 1. Να κάνετε προσομοίωση και σύνθεση των δύο περιγραφών του κυκλώματος διαιτησίας διαδρόμου. Συγκρίνετε τα αποτελέσματα. Παρατήρηση: Να σχολιάσετε τη λίστα ευαισθησίας της δεύτερης αρχιτεκτονικής σε συσχετισμό με αυτήν της πρώτης. Είναι απαραίτητο να περιλαμβάνει όλα τα σήματα εισόδου; Θέμα C.2: Κύκλωμα υπολογισμού Μέγιστού Κοινού Διαιρέτη (ΜΚΔ) δύο ακεραίων Οι αλγοριθμικές μηχανές καταστάσεων χρησιμοποιούνται πολύ συχνά για να υλοποιήσουν τη μονάδα ελέγχου μικροϋπολογιστών και γενικότερα υπολογιστικών κυκλωμάτων. Για παράδειγμα, ας υποθέσουμε ότι έχουμε να υλοποιήσουμε με κύκλωμα τον αλγόριθμο υπολογισμού του Μέγιστου Κοινού Διαιρέτη (ΜΚΔ) δύο ακεραίων. Αν x και y είναι οι ακέραιοι, τότε ένας απλός αλγόριθμος σε γλώσσα C, που βασίζεται στον αλγόριθμο του Ευκλείδη και περιλαμβάνει μόνο αφαιρέσεις, είναι ο ακόλουθος: int gcd(int x, int y) { while (x!= y) { if (p>y) x=x-y; else if (y>x) y=y-x; } return x; } Για την καλύτερη κατανόηση του αλγορίθμου δίνονται τα ακόλουθα παραδείγματα: Παράδειγμα 1: ΜΚΔ των αριθμών 117 και 39 Βήμα 1: Χ=117, Υ=39, Χ>Υ Χ=Χ-Υ=117-39=78 Βήμα 2: Χ=78, Υ=39, Χ>Υ Χ=Χ-Υ=78-39=39 Βήμα 3: Χ=39, Υ=39, Χ=Υ ο ΜΚΔ των 117 και 39 είναι ο 39 Παράδειγμα 2: ΜΚΔ των αριθμών 95 ΚΑΙ 25 Βήμα 1: Χ=95, Υ=25, Χ>Υ Χ=Χ-Υ=95-25=70 Βήμα 2: Χ=70, Υ=25, Χ>Υ Χ=Χ-Υ=70-25=45 Βήμα 3: Χ=45, Υ=25, Χ>Υ Χ=Χ-Υ=45-25=20 Βήμα 4: Χ=20, Υ=25, Χ<Υ Υ=Υ-Χ=25-20=5 Βήμα 5: Χ=20, Υ=5, Χ>Υ Χ=Χ-Υ=20-5=15 Βήμα 6: Χ=15, Υ=5, Χ>Υ Χ=Χ-Υ=15-5=10 Βήμα 7: Χ=10, Υ=5, Χ>Υ Χ=Χ-Υ=10-5=5 Βήμα 8: Χ=5, Υ=5, Χ=5 ο ΜΚΔ των 95 και 25 είναι το 5 Παράδειγμα 3: ΜΚΔ των αριθμών 17 και 10 Βήμα 1: Χ=17, Υ=10, Χ>Υ Χ=Χ-Υ=17-10=7 Βήμα 2: Χ=7, Υ=10, Χ<Υ Υ=Υ-Χ=10-7=3
16 Βήμα 3: Χ=7, Υ=3, Χ>Υ Χ=Χ-Υ=7-3=4 Βήμα 4: Χ=4, Υ=3, Χ>Υ Χ=Χ-Υ=4-3=1 Βήμα 5: Χ=1, Υ=3, Χ<Υ Υ=Υ-Χ=3-1=2 Βήμα 6: Χ=1, Υ=2, Χ<Υ Υ=Υ-Χ=2-1=1 Βήμα 7: Χ=1, Υ=1, Χ=Υ ο ΜΚΔ των 17 και 10 είναι ο 1 ή δεν υπάρχει ΜΚΔ Η υλοποίηση ενός τέτοιου κυκλώματος μπορεί να γίνει με πολλούς τρόπους. Για λόγους απλότητας, ας υποθέσουμε ότι η αρχιτεκτονική υλοποίησης είναι δεδομένη και παρουσιάζεται στο Σχήμα Στη δεξιά πλευρά του σχήματος, εικονίζονται οι δομικές μονάδος που αποτελούν το τμήμα της αρχιτεκτονικής που είναι υπεύθυνο για την εκτέλεση αριθμητικών πράξεων (μονοπάτι δεδομένων), ενώ στο αριστερό εικονίζεται μία ΑΜΚ που είναι υπεύθυνη για το συγχρονισμό των διαφόρων μονάδων και την κυκλωματική υλοποίηση του βρόχου while (μονοπάτι ελέγχου). Σχήμα 3.10: Αρχιτεκτονική κυκλώματος υπολογισμού ΜΚΔ. Το μονοπάτι δεδομένων αποτελείται από πολυπλέκτες εισόδου, οι οποίοι επιλέγουν είτε τις αρχικές εισόδους είτε το αποτέλεσμα των διαδοχικών μεταξύ τους αφαιρέσεων, καταχωρητές που κρατάνε σταθερά τα δεδομένα εισόδου μέχρι να τελειώσει και η μεταξύ τους σύγκριση αλλά και οι αφαιρέσεις που προκύπτουν, συγκριτή και δύο αφαιρέτες που εκτελούν τις αριθμητικές πράξεις και τέλος, έναν καταχωρητή εξόδου που κρατάει το τελικό αποτέλεσμα του υπολογισμού. Απλές, behavioral περιγραφές όλων αυτών των στοιχείων σε VHDL είναι οι ακόλουθες:
17 library IEEE; use IEEE.std_logic_1164.all; entity mux8_2x1 is port ( sel: in std_logic; inp_a, inp_b: in std_logic_vector(7 downto 0); mout: out std_logic_vector(7 downto 0)); end mux8_2x1; architecture rtl of mux8_2x1 is seq: process (sel, inp_a, inp_b) case sel is when '0' => mout <= inp_a; when others => mout <= inp_b; end case; end rtl; library IEEE; use IEEE.std_logic_1164.all; entity reg8 is port ( en, clk: in std_logic; inp: in std_logic_vector(7 downto 0); outp: out std_logic_vector(7 downto 0)); end reg8; architecture rtl of reg8 is seq: process (en, clk, inp) if en='1' then if (clk'event and clk='1') then outp <= inp; end rtl; library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity cmp8 is port ( inp_a, inp_b: in std_logic_vector(7 downto 0); a_gt_b, a_eq_b, a_lt_b: out std_logic; outp: out std_logic_vector(7 downto 0)); end cmp8; architecture behv of cmp8 is cmb: process(inp_a, inp_b) variable a,b: integer;
18 a := conv_integer(inp_a); b := conv_integer(inp_b); if (a>b) then a_gt_b <= '1'; a_eq_b <= '0'; a_lt_b <= '0'; elsif (a=b) then a_gt_b <= '0'; a_eq_b <= '1'; a_lt_b <= '0'; else a_gt_b <= '0'; a_eq_b <= '0'; a_lt_b <= '1'; outp <= inp_a; end behv; library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; use IEEE.std_logic_arith.all; entity sub8 is port ( en: in std_logic; inp_a, inp_b: in std_logic_vector(7 downto 0); outp: out std_logic_vector(7 downto 0)); end sub8; architecture behv of sub8 is cmb: process(en, inp_a, inp_b) variable a, b: integer; if (en='1') then a := conv_integer(inp_a); b := conv_integer(inp_b); outp <= conv_std_logic_vector(a-b, 8); end behv; Παρατήρηση: Οι παραπάνω περιγραφές γενικά δεν δίνουν (βέλτιστο) αποτέλεσμα αν περάσουν από το synthesizer. Στο ίδιο κύκλωμα θα επανέλθουμε και σε επόμενη άσκηση, οπότε θα γραφούν και περιγραφές για σύνθεση. Το μονοπάτι ελέγχου είναι μια ΑΜΚ που δέχεται εισόδους από το συγκριτή (τα σήματα x_gt_y, x_eq_y και x_lt_y), και παρέχει εξόδους ελέγχου για όλες τις υπόλοιπες μονάδες (x_sel και y_sel για τους πολυπλέκτες, x_ld και y_ld για τους καταχωρητές εισόδου, x_sub και y_sub για τους αφαιρέτες και data_en για τον καταχωρητή εξόδου). Η λειτουργία της ΑΜΚ του μονοπατιού ελέγχου περιγράφεται ενδεικτικά με το διάγραμμα του Σχήματος 3.11, χρησιμοποιώντας τον ίδιο συμβολισμό με την περίπτωση του θέματος 3.1.
19 Σχήμα 3.11: ΑΜΚ μονοπατιού ελέγχου κυκλώματος υπολογισμού ΜΚΔ Το μονοπάτι δεδομένων και το μονοπάτι ελέγχου επικοινωνούν όπως φαίνεται στο Σχήμα Η δομή τους και η μεταξύ τους διασύνδεση μπορεί να εκφραστεί με μια περιγραφή δομής σε VHDL, όπως η ακόλουθη: library IEEE; use IEEE.std_logic_1164.all; entity gcd_calc is port ( clk,rst: in std_logic; x_i,y_i: in std_logic_vector(7 downto 0); data_o: out std_logic_vector(7 downto 0)); end gcd_calc; architecture struct of gcd_calc is component mux8_2x1 port (sel: in std_logic; inp_a, inp_b: in std_logic_vector(7 downto 0); mout: out std_logic_vector(7 downto 0));
20 component reg8 port (en,clk: in std_logic; inp: in std_logic_vector(7 downto 0); outp: out std_logic_vector(7 downto 0)); component cmp8 port (inp_a, inp_b: in std_logic_vector(7 downto 0); a_gt_b, a_eq_b, a_lt_b: out std_logic; outp: out std_logic_vector(7 downto 0)); component sub8 port (en: in std_logic; inp_a, inp_b: in std_logic_vector(7 downto 0); outp: out std_logic_vector(7 downto 0)); component fsm port (clk,rst: in std_logic; gt, eq,lt: in std_logic; sel,ld, sub: out std_logic_vector(1 downto 0); out_en: out std_logic); signal muxx_o, regx_o, subx_o: std_logic_vector(7 downto 0); signal muxy_o, regy_o, suby_o: std_logic_vector(7 downto 0); signal cmp_o: std_logic_vector(7 downto 0); signal x_sel, y_sel, x_ld, y_ld, x_sub, y_sub: std_logic; signal x_gt_y, x_eq_y, x_lt_y, data_en: std_logic; mux_x: mux8_2x1 port map (x_sel, subx_o, x_i, muxx_o); mux_y: mux8_2x1 port map (y_sel, y_i, suby_o, muxy_o); reg_x: reg8 port map (x_ld, clk, muxx_o, regx_o); reg_y: reg8 port map (y_ld, clk, muxy_o, regy_o); cmp: cmp8 port map (regx_o, regy_o, x_gt_y, x_eq_y, x_lt_y, cmp_o); sub_x: sub8 port map (x_sub, regx_o, regy_o, subx_o); sub_y: sub8 port map (y_sub, regy_o, regx_o, suby_o); reg_out: reg8 port map (data_en, clk, cmp_o, data_o); ctrl: fsm port map (clk, rst, x_gt_y, x_eq_y, x_lt_y, sel(0)=>x_sel, sel(1)=>y_sel, ld(0)=>x_ld, ld(1)=>y_ld, sub(0)=>x_sub, sub(1)=>y_sub, out_en=>data_en); end struct; Ζητούμενα: 1. Βασιζόμενοι στην περιγραφή της ΑΜΚ του θέματος 3.1 και στο Σχήμα 3.11, περιγράψτε την ΑΜΚ που αντιστοιχεί στο μονοπάτι ελέγχου του κυκλώματος. Είναι οι τιμές των συνθηκών μετάβασης και των εξόδων πλήρεις έτσι ώστε να λειτουργεί το κύκλωμα σωστά; Αν όχι, κάντε τις απαιτούμενες προσθήκες. Αν κρίνεται σκόπιμο, μπορείτε να κάνετε αλλαγές και στις δομικές μονάδες που έχουν δοθεί (πολυπλέκτη, καταχωρητή, συγκριτή, αφαιρέτη). Συνδέστε τη μονάδα που θα κατασκευάσετε με τον υπόλοιπο κώδικα και κάντε από κοινού προσομοίωση. Υπόδειξη: Οι είσοδοι και οι έξοδοι της ζητούμενης ΑΜΚ φαίνονται από τη δήλωση του αντίστοιχου component στην περιγραφή δομής ολοκλήρου του κυκλώματος. Για αρχιτεκτονική, αντιγράψτε μια από
21 αυτές που δόθηκαν στο θέμα 3.1. Δώστε προσοχή στο σωστό χρονισμό των εξόδων. Αν χρειαστείτε να διαβάζετε τν τιμή θύρας εξόδου (πράγμα που δεν επιτρέπεται στη VHDL), χρησιμοποιήστε ένα εσωτερικό σήμα, χειριστείτε το ελεύθερα και σαν είσοδο και σαν έξοδο, και συνδέστε το στην αντίστοιχη θύρα εξόδου. 2. Κάντε έλεγχο του κυκλώματος υπολογισμού ΜΚΔ με test bench που θα διαβάζει τιμές εισόδων και επιθυμητής εξόδου από αρχείο κειμένου. Υπόδειξη: Χρησιμοποιήστε το πακέτο STD.TEXTIO και τις συναρτήσεις endfile, readline και read που παρέχει. 3. Κάντε λεπτομερή έλεγχο του κυκλώματος υπολογισμού ΜΚΔ με testbench που θα δημιουργεί τιμές εισόδων και επιθυμητής εξόδου αυτόματα. Υπόδειξη: Χρησιμοποιήστε loops που θα διατρέχουν μια περιοχή ακεραίων και μια συνάρτηση VHDL που θα υπολογίζει το ΜΚΔ τους με βάση τον αλγόριθμο (σε C) που δόθηκε αρχικά. Συγκρίνετέ τον με την έξοδο του κυκλώματος. Εάν σας φαίνεται χρήσιμο, αλλάξτε την εξωτερική περιγραφή του κυκλώματος ώστε το σήμα ένδειξης έγκυρου αποτελέσματος να γίνει έξοδος.
Πρόλογος Συμβολή σε ορισμένα σημεία του περιεχομένου είχαν οι διδάκτορες Γ. Οικονομάκος και Ισ. Σίδερης καθώς και οι μεταπτυχιακοί σπουδαστές Ι. Σιφναίος, Ε. Χανιωτάκης και Κ. Ασφής τους οποίους ευχαριστώ
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Ακολουθιακός Κώδικας Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Μηχανές Πεπερασμένων Καταστάσεων Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches)
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches) Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος
Διαβάστε περισσότεραΚυκλωμάτων» Χειμερινό εξάμηνο
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 VHDL, Χαρακτηριστικά και τρόποι περιγραφής Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ http://diceslab.cied.teiwest.gr
Διαβάστε περισσότεραΕργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Χρησιμοποιούμε τις μηχανές πεπερασμένων καταστάσεων (finite state machines FSMs) για την μοντελοποίηση της συμπεριφοράς ενός κυκλώματος, η
Διαβάστε περισσότεραΠεριγραφή Κυκλωμάτων με χρήση της VHDL. Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων
Περιγραφή Κυκλωμάτων με χρήση της VHDL Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων Οργάνωση Παρουσίασης Περιγραφή Δομής σε VHDL (Structural Description) Μηχανές Πεπερασμένων Καταστάσεων
Διαβάστε περισσότεραΠροσοµοίωση Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL)
Προσοµοίωση Συστηµάτων µε VHDL (Peter Ashenden, The Students Guide to VHDL) Κώδικας VHDL Περιβάλλον Σχεδίασης Αναλυτής ιαχειριστής Βιβλιοθήκης Σχεδίασης Προσοµοιωτής Αντίστροφος Αναλυτής Βιβλιοθήκη Σχεδίασης
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συντρέχων Κώδικας
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 216-217 Συντρέχων Κώδικας Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr
Διαβάστε περισσότεραΕργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL
Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι Εισαγωγή στη VHDL Εισαγωγή Very High Speed Integrated Circuits Hardware Description Language ιαφορές από γλώσσες προγραμματισμού: παράλληλη εκτέλεση εντολών προσδιορισμός
Διαβάστε περισσότεραΕργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Ρόλος των γλωσσών περιγραφής υλικού σε μια τυπική ροή σχεδίασης: Documentation Simulation Synthesis Οι γλώσσες περιγραφής υλικού μπορούν να
Διαβάστε περισσότεραΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών
ΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών Θέμα Β.1: Απλός καταχωρητής 1 bit (D Flip-Flop) preset D D Q Q clk clear Σχήμα 2.1: D Flip-Flop με εισόδους preset και clear Με τη
Διαβάστε περισσότεραLibrary, package και subprograms
Library, package και subprograms Libraries Packages Subprograms Procedures Functions Overloading Αριθμητικά πακέτα Type conversion Shift operators Παράδειγμα Library - Package Ασκήσεις-Προβλήματα 12/8/2009
Διαβάστε περισσότεραΣχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 2: Βασικές Μονάδες Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 -
Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 - Περίγραµµα διάλεξης Υποκυκλώµατα Περιγραφή δοµής στη VHDL Βιβλιοθήκες
Διαβάστε περισσότεραΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων 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
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκoντες: Δρ. Γιώργος Ζάγγουλοςκαι Δρ. Παναγιώτα Δημοσθένους Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα)
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα) Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. VHDL για Ακολουθιακά Κυκλώματα 1
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Ακολουθιακών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Περίληψη VHDL Processes Εντολές If-Then Then-Else και CASE Περιγραφή Flip-Flop Flop με VHDL
Διαβάστε περισσότεραΕισαγωγή στη Γλώσσα VHDL
Εισαγωγή στη Γλώσσα VHDL Παράδειγμα and3 Entity και Architecture Entity Entity - Παραδείγματα Architecture VHDL simulation παραδείγματος and3 Παράδειγμα NAND VHDL simulation παραδείγματος nand Boolean
Διαβάστε περισσότεραVHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων
VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών n VHDL Processes Περίληψη n Εντολές If-Then-Else και CASE
Διαβάστε περισσότεραΠεριγραφή Κυκλωμάτων με χρήση της VHDL. Καταχωρητές και χρονισμός με ρολόι
Περιγραφή Κυκλωμάτων με χρήση της VHDL Καταχωρητές και χρονισμός με ρολόι Οργάνωση Παρουσίασης Διεργασίες (κανόνες) Ακολουθιακές Δηλώσεις (Sequential Statements) Καταχωρητές και χρονισμός Συμπληρωματική
Διαβάστε περισσότεραΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)
Διαβάστε περισσότερα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
Διαβάστε περισσότεραΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές
Διαβάστε περισσότεραΣχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 6: Σύγχρονα Ακολουθιακά Κυκλώματα Κυριάκης Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών
Διαβάστε περισσότεραVHDL Εισαγωγικές έννοιες
VHDL Εισαγωγικές έννοιες ρ. Κ. Καραφασούλης ckaraf@aegean.gr Σχεδίαση Αρχικά ψηφιακά κυκλώµατα µπορούν να σχεδιασθούν µε το κατάλληλο λογισµικό. Μεγαλύτερα κυκλώµατα µπορούν να σχεδιασθούν ιεραρχικά από
Διαβάστε περισσότεραΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη q Καταχωρητές Παράλληλης
Διαβάστε περισσότερα26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2009 Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης
Διαβάστε περισσότεραΕργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Σχόλια: - - This is a single line comment - - There is no alternative way to write multi-line comments Αναγνωριστικά: Τα αναγνωριστικά
Διαβάστε περισσότεραΚυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 3: Καταχωρητές - Απαριθμητές Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΕισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής
VHDL Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής Structural (Δομική) Dataflow (Ροής δεδομένων) Behavioral (Συμπεριφοράς) Η VDHL χρησιμοποιείται για την περιγραφή
Διαβάστε περισσότεραΑκολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL)
Ακολουθιακές εντολές (Peter Ashenden, The Students Guide to VHDL) Εντολή If Τα βασικά χαρακτηριστικά της είναι τα εξής: Μπορεί να χρησιµοποιηθεί για τον έλεγχο µίας ή περισσοτέρων συνθηκών. Η πρώτη συνθήκη
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Γενικά χαρακτηριστικά, σύνταξη και τύποι. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 -
Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL Γενικά χαρακτηριστικά, σύνταξη και τύποι Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 - Περίγραµµα διάλεξης Τι είναι η VHDL? Πλεονεκτήµατα της VHDL στη σχεδίαση κυκλωµάτων
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Τύποι Δεδομένων και Τελεστές
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Τύποι Δεδομένων και Τελεστές Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr Αντίρριο
Διαβάστε περισσότεραΠΑΡΑΡΤΗΜΑ Β. Verification
ΠΑΡΑΡΤΗΜΑ Β Ροή Σχεδίασης και VHDL Ροή Σχεδίασης Πριν περάσουµε σε περιγραφή της γλώσσας VHDL είναι χρήσιµο να δούµε το περιβάλλον και τη ροή της σχεδίασης. Τα βήµατα µιας σχεδίασης βασισµένης σε VHDL
Διαβάστε περισσότεραΕργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Συνδυαστικό Κυκλωμα: Το κύκλωμα του οποίου οι έξοδοι εξαρτώνται αποκλειστικά από τις τρέχουσες εισόδους του. Ακολουθιακό Κύκλωμα: Το κύκλωμα
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Προχωρημένα Θέματα Σχεδιασμού με VHDL
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Προχωρημένα Θέματα Σχεδιασμού με VHDL Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΠερίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών
ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Κεφάλαιο 7 i: Καταχωρητές Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές Ολίσθησης Σειριακή Φόρτωση Σειριακή Ολίσθηση Καταχωρητές Ολίσθησης Παράλληλης Φόρτωσης
Διαβάστε περισσότεραΣχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 4: Σχεδιασμός Σειριακού Αθροιστή Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών
Διαβάστε περισσότεραΜελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.
ΤΕΙ ΚΡΗΤΗΣ / ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ mode mode(0) ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εµµανουήλ Καπαρού Επιβλέπων : ρ Μηχ Νικόλαος
Διαβάστε περισσότεραΣύνθετοι τύποι και λειτουργίες. (Peter Ashenden, The Students Guide to VHDL)
Σύνθετοι τύποι και λειτουργίες (Peter Ashenden, The Students Guide to VHDL) Πίνακες Πίνακες: Αποτελούνται από στοιχεία του ίδιου τύπου. Μονοδιάστατοι Πίνακες type table1 is array (0 to 7) of std_logic;
Διαβάστε περισσότεραΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL
ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL Προετοιµασία: Παπαδόπουλος Γιώργος Σούρδης Γιάννης Για το µάθηµα Οργάνωσης Υπολογιστών (ΑΡΥ301), 2002 ΕΙΣΑΓΩΓΗ ΣΤΗ STRUCTURAL VHDL Η VHDL είναι
Διαβάστε περισσότεραΠανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών
Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων Σχεδιασμός Ολοκληρωμένων Συστημάτων με τεχνικές VLSI Χειμερινό Εξάμηνο 2015 FSM
Διαβάστε περισσότερα(Peter Ashenden, The Students Guide to VHDL)
Υποπρογράµµατα Πακέτα (Peter Ashenden, The Students Guide to VHDL) Procedures Μία διαδικασία (procedure) δηλώνεται και κατόπιν καλείται όσες φορές θέλουµε. procedure identifier [(parameter_interface_list)]
Διαβάστε περισσότεραΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Εισαγωγή στη VHDL Υλοποίηση στο Quartus Διδάσκων: Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Ατζέντα 1. Στόχοι 3
Διαβάστε περισσότεραΕπιβεβαίωση ορθής λειτουργίας απλών ψηφιακών κυκλωμάτων
Επιβεβαίωση ορθής λειτουργίας απλών ψηφιακών κυκλωμάτων Δημήτρης Κωνσταντίνου, Γιώργος Δημητρακόπουλος Εφόσον έχουμε περιγράψει το κύκλωμά μας σε System Verilog θα πρέπει να βεβαιωθούμε πως λειτουργεί
Διαβάστε περισσότεραΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ ΠΑΤΡΑ 2006 9.
Διαβάστε περισσότεραΕισαγωγή στη VHDL Υλοποίηση στο Quartus
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Εισαγωγή στη VHDL Υλοποίηση στο Quartus Διδάσκοντες: Δρ. Γιώργος Ζάγγουλος και Δρ. Παναγιώτα Μ. Δημοσθένους Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών
Διαβάστε περισσότεραΠρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ Εισαγωγή... 19
Περιεχόµενα Πρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ... 17 1 Εισαγωγή... 19 1.1 Σχετικά µε τη VHDL...19 1.2 Ροή σχεδιασµού...20 1.3 Εργαλεία EDA...21 1.4 Μεταγλώττιση από κώδικα VHDL σε κύκλωµα...22
Διαβάστε περισσότεραΕνσωματωμένα Συστήματα
Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 13 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών
Διαβάστε περισσότεραΜοντελοποίηση Επιπέδου Πύλης. (Peter Ashenden, The Students Guide to VHDL)
Μοντελοποίηση Επιπέδου Πύλης (Peter Ashenden, The Students Guide to VHDL) Πολλαπλά Επίπεδα Τιµών Η κατάσταση µίας γραµµής δεν είναι πάντα 0 ή 1. ιαµάχες οδηγούν σε απροσδιοριστία. Χρήση πολλαπλών επιπέδων
Διαβάστε περισσότεραΜοντελοποίηση Λογικών Κυκλωμάτων
Μοντελοποίηση Λογικών Κυκλωμάτων Ενότητα 7: Η γλώσσα VHDL, Μοντελοποίηση, διαχείριση χρόνου Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότερα6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή
6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή Εισαγωγή Η σχεδίαση ενός ψηφιακού συστήµατος ως ακολουθιακή µηχανή είναι εξαιρετικά δύσκολη Τµηµατοποίηση σε υποσυστήµατα µε δοµικές µονάδες:
Διαβάστε περισσότεραΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης
Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης 4-11-2009 Πρόοδος Θέμα 1 ο (25%): 1. Βρείτε την μεγίστη συχνότητα λειτουργίας του παρακάτω
Διαβάστε περισσότεραΠεριγραφή Κυκλωμάτων με χρήση της VHDL. Οντότητες και συντρέχουσες δηλώσεις
Περιγραφή Κυκλωμάτων με χρήση της VHDL Οντότητες και συντρέχουσες δηλώσεις Οργάνωση Παρουσίασης Οντότητα (Entity) Συντρέχουσα VHDL (Concurrent VHDL) Συντρέχουσες Δηλώσεις (Concurrent Statements) Αντικείμενα
Διαβάστε περισσότεραΕνςωματωμένα Συςτήματα Υλοποίηςη του SDES ςε Hardware
Ενςωματωμένα Συςτήματα Υλοποίηςη του SDES ςε Hardware June 1 2012 Κεχαγιάσ Απόςτολοσ ΑΕΜ:134 Table of Contents O αλγόριθμοσ... 2 Υλοποίηςη ςε Hardware... 7 Xρονιςμόσ ςημάτων VGA... 12 Επαλήθευςη... 14
Διαβάστε περισσότεραΠανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών. Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων
Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων (VLSI) ΙΙ Εισαγωγή στη VHDL και το Εργαλείο
Διαβάστε περισσότεραΜοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.
Γλώσσες Περιγραφής Μοντέλα Ένα µοντέλο ενός κυκλώµατος είναι µία αναπαράσταση που παρουσιάζει χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Τα τυπικά µοντέλα έχουν καλά ορισµένη σύνταξη. Τα αυτόµατα
Διαβάστε περισσότεραΠανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα 9: Ελαχιστοποίηση και Κωδικοποίηση Καταστάσεων, Σχεδίαση με D flip-flop, Σχεδίαση με JK flip-flop, Σχεδίαση με T flip-flop Δρ. Μηνάς
Διαβάστε περισσότερα8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων
8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων Εισαγωγή Η λογική που περιγράφεται σε ένα module µπορεί να περιγραφεί µε διάφορα στυλ Μοντελοποίηση σε επίπεδο
Διαβάστε περισσότεραΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα : Ψηφιακά Ηλεκτρονικά Τεχνολογία ΙΙ, Θεωρητικής Κατεύθυνσης Ημερομηνία
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Σχεδίαση Ψηφιακών Συστημάτων. Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ᄃ Σχεδίαση Ψηφιακών Συστημάτων Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών
Διαβάστε περισσότεραΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο Νοε-09. Διδάσκουσα: Μαρία Κ. Μιχαήλ
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Συνδυαστικών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL (Very high
Διαβάστε περισσότεραΣχεδίαση της Μονάδας Ελέγχου
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 5 Σχεδίαση της Μονάδας Ελέγχου Καθηγητής Αντώνης Πασχάλης 2017 Γενικές Γραμμές Σχεδίαση
Διαβάστε περισσότεραΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Συνδυαστικών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL (Very high
Διαβάστε περισσότεραH γλώσσα περιγραφής κυκλωµάτων VHDL
H γλώσσα περιγραφής κυκλωµάτων VHDL Καβουσιανός Χρ. Τσιατούχας Γ. Λέκτορες Πανεπιστηµίου Ιωαννίνων (Peter Ashenden, The Students Guide to VHDL) Γενικά VHDL = VHSIC (Very High Speed Integrated Circuits)
Διαβάστε περισσότεραΣχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II
Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 1 η Εργαστηριακή Άσκηση Εισαγωγή στη VHDL και στο εργαλείο Modelsim 1 Άδειες Χρήσης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons
Διαβάστε περισσότεραΚεφάλαιο 4 ο Σχεδίαση Κυκλωμάτων με χρήση της γλώσσας VHDL
Κεφάλαιο 4 ο Σχεδίαση Κυκλωμάτων με χρήση της γλώσσας VHDL 4.1 Eισαγωγή στη VHDL 4.1.1 Θεωρητικό υπόβαθρο H VHDL είναι μια γλώσσα που χρησιμοποιείται για την περιγραφή και μοντελοποίηση ψηφιακών κυκλωμάτων.
Διαβάστε περισσότεραK24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops
K24 Ψηφιακά Ηλεκτρονικά 9: TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΧΝΟΛΟΓΙΚΟ Περιεχόμενα 1 2 3 Γενικά Ύστερα από τη μελέτη συνδυαστικών ψηφιακών κυκλωμάτων, θα μελετήσουμε
Διαβάστε περισσότεραVHDL Introduction. Subtitle
VHDL Introduction Subtitle Getting Started VHDL means Very Hard Difficult Language That s a lie!!! τα αρχικά VHDL είναι συντομογραφία του VHSIC Hardware Description Language, ενώ το VHSIC αντιπροσωπεύει
Διαβάστε περισσότεραΣχεδιασμος Ολοκληρωμένων Κυκλωμάτων με Χρήση VHDL: Πρακτικά Θέματα
Απόστολος Φούρναρης, Παρασκευάς Κίτσος Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Δυτικής Ελλάδας Σχεδιασμος Ολοκληρωμένων Κυκλωμάτων με Χρήση VHDL: Πρακτικά Θέματα Αθροιστές 1 Σκοπός Σε αυτή την εργαστηριακή
Διαβάστε περισσότεραΕλίνα Μακρή
Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,
Διαβάστε περισσότεραVHDL. ΗΜΥ-210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Απλό παράδειγµα: Entity. Μοντελοποίηση. Απλό παράδειγµα:αρχιτεκτονική. Στοιχεία γλώσσας VHDL
ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005 Κεφάλαιο 4 - iii: VHDL για Σχεδιασµό Συνδυαστικών Κυκλωµάτων Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL Γλώσσα προγραµµατισµού
Διαβάστε περισσότεραΣΧΕΔΙΑΣΜΟΣ ΚΥΚΛΩΜΑΤΩΝ ΠΑΡΑΜΕΤΡΙΚΗΣ ΜΕΤΑΒΟΛΗΣ ΣΥΧΝΟΤΗΤΑΣ ΚΑΙ DUTY CYCLE ΠΑΛΜΟΥ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΗΛ. ΥΠΟΛΟΓΙΣΤΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΣΧΕΔΙΑΣΜΟΣ ΚΥΚΛΩΜΑΤΩΝ ΠΑΡΑΜΕΤΡΙΚΗΣ ΜΕΤΑΒΟΛΗΣ ΣΥΧΝΟΤΗΤΑΣ ΚΑΙ DUTY CYCLE
Διαβάστε περισσότεραVHDL για Σχεδιασµό Συνδυαστικών και Ακολουθιακών Ψηφιακών Κυκλωµάτων
VHDL για Σχεδιασµό Συνδυαστικών και Ακολουθιακών Ψηφιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL (Very high speed integrated
Διαβάστε περισσότεραnkavv@physics.auth.gr
Γλώσσες Περιγραφής Υλικού Εισαγωγή στην VHDL Νικόλαος Καββαδίας nkavv@physics.auth.gr 17 Μαρτίου 2009 Αντικείμενο του μαθήματος CST256: Γλώσσες Περιγραφής Υλικού Επιμέρους στόχοι του μαθήματος Σχεδιασμός
Διαβάστε περισσότεραΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεματική Ενότητα Ακαδημαϊκό Έτος 2010 2011 Ημερομηνία Εξέτασης Κυριακή 26.6.2011 Ώρα Έναρξης Εξέτασης
Διαβάστε περισσότεραΣχεδίαση κυκλωμάτων με VHDL: 1o μέρος
Σχεδίαση κυκλωμάτων με VHDL: 1o μέρος Γ. Δημητρακόπουλος Το πρώτο σας κύκλωμα Τα ψηφιακά κυκλώματα είναι μια συλλογή από λογικές πύλες και ακολουθιακά στοιχεία αποθήκευσης (ή συγχρονισμού) όπως τα flip-flops.
Διαβάστε περισσότεραΣχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 1: Εισαγωγή - Ιστορία Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες
Διαβάστε περισσότεραΜάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.
Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. 5.1 Το ρολόι Κάθε μία από αυτές τις λειτουργίες της Κ.Μ.Ε. διαρκεί ένα μικρό χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο κάποιο ρολόι.
Διαβάστε περισσότεραΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Μηχανές Πεπερασμένων Καταστάσεων ΗΥ220 - Βασίλης Παπαευσταθίου & Γιώργος Καλοκαιρινός 1 FSMs Οι μηχανές πεπερασμένων καταστάσεων Finite
Διαβάστε περισσότεραΒασικές οµές Μοντελοποίησης. (Peter Ashenden, The Students Guide to VHDL)
Βασικές οµές Μοντελοποίησης (Peter Ashenden, The Students Guide to VHDL) Επίπεδα Αναπαράστασης - Αφαίρεσης Αθροιστής: SUM
Διαβάστε περισσότεραΑΣΚΗΣΗ 10 ΣΧΕΔΙΑΣΗ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ
ΑΣΚΗΣΗ ΣΧΕΔΙΑΣΗ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ.. ΣΚΟΠΟΣ Η σχεδίαση ακολουθιακών κυκλωμάτων..2. ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ.2.. ΑΛΓΟΡΙΘΜΟΣ ΣΧΕΔΙΑΣΗΣ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Τα ψηφιακά κυκλώματα με μνήμη ονομάζονται ακολουθιακά.
Διαβάστε περισσότεραγρηγορότερα. Αν θέλουμε να μηδενίσουμε όλα τα υπόλοιπα bit μπορούμε να χρησιμοποιήσουμε την εντολή:
A. Tips 1. Τοποθέτηση σημαίας ή bit ενός καταχωρητή ή μεταβλητής... 2 2. Καθάρισμα σημαίας ή bit ενός καταχωρητή ή μεταβλητής... 2 3. Σύγκριση μονοδιάστατων πινάκων (στο παράδειγμα 5 στοιχείων)... 2 4.
Διαβάστε περισσότερα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 ηλώσεις
Διαβάστε περισσότεραK15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων
K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού
Διαβάστε περισσότεραΨηφιακή Λογική Σχεδίαση
Ψηφιακή Λογική Σχεδίαση Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το παρόν
Διαβάστε περισσότεραΨηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική
Ψηφιακά Κυκλώματα ( ο μέρος) ΜΥΥ-6 Εισαγωγή στους Η/Υ και στην Πληροφορική Ψηφιακά κυκλώματα Οι δύο λογικές τιμές, αντιστοιχούν σε ηλεκτρικές τάσεις Υλοποιούνται με τρανζίστορ ή διόδους: ελεγχόμενοι διακόπτες
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΜΙΚΡΟΗΛΕΚΤΡΟΝΙΚΗ - VLSI Ενότητα: Συνδιαστικά κυκλώματα, βασικές στατικές λογικές πύλες, σύνθετες και δυναμικές πύλες Κυριάκης
Διαβάστε περισσότεραΠανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Ακολουθιακή Λογική. Επιμέλεια Διαφανειών: Δ.
Πανεπιστήμιο Πατρών Τμήμα Φυσικής Ψηφιακά Ηλεκτρονικά Ακολουθιακή Λογική Επιμέλεια Διαφανειών: Δ. Μπακάλης Πάτρα, Φεβρουάριος 2009 Εισαγωγή Είσοδοι Συνδυαστικό Κύκλωμα Έξοδοι Στοιχεία Μνήμης Κατάσταση
Διαβάστε περισσότεραΆσκηση 3 Ένα νέο είδος flip flop έχει τον ακόλουθο πίνακα αληθείας : I 1 I 0 Q (t+1) Q (t) 1 0 ~Q (t) Κατασκευάστε τον πίνακα
Άσκηση Δίδονται οι ακόλουθες κυματομορφές ρολογιού και εισόδου D που είναι κοινή σε ένα D latch και ένα D flip flop. Το latch είναι θετικά ενεργό, ενώ το ff θετικά ακμοπυροδοτούμενο. Σχεδιάστε τις κυματομορφές
Διαβάστε περισσότεραΕισαγωγή στη Verilog με το ISE
Εισαγωγή στη Verilog με το ISE Πατάμε new project Δίνουμε όνομα και κατάλογο όπου θα αποθηκευτεί το project. Next όπου επιλέγουμε chip και preferred language βάζουμε Verilog Next και στο Create new source
Διαβάστε περισσότεραΚεφάλαιο 5 ο Προγραμματισμός Ολοκληρωμένων Κυκλωμάτων
Κεφάλαιο 5 ο Προγραμματισμός Ολοκληρωμένων Κυκλωμάτων Στο κεφάλαιο αυτό επικεντρωνόμαστε στον προγραμματισμό συσκευών FieldProgrammableGateArrays FPGA με απλά κυκλώματα. Οι FPGAs συνήθως τοποθετούνται
Διαβάστε περισσότεραΧ. Σωτηρίου. Σχήμα 1: Προτεινόμενο Πρόγραμμα Επαλήθευσης του ολοκληρωμένου Επεξεργαστή
È Ò Ô Ø Ñ Ó ÃÖ Ø ¹ ÌÑ Ñ Ô Ø Ñ ÍÔÓÐÓ ØôÒ À;¾ ¹ ÇÖ ÒÛ ÍÔÓÐÓ ØôÒ Ö Ò Ü Ñ ÒÓ ¹ Ñ ³ ØÓ ¾¼½½¹¾¼½¾ ³ ¹ ÍÐÓÔÓ ÌÑ Ñ ØÓ Ð ÕÓÙ ÇÐÓ Ð ÖÛ ØÓÙ Ô Ü Ö Ø ¾»»¾¼½ Û ½¾»»¾¼½ Χ. Σωτηρίου ½ ËØ ÕÓ Ø ³ Οι στόχοι της ένατης άσκησης
Διαβάστε περισσότεραΠανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση. Ενότητα 13: Εισαγωγή στην VHDL
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα 13: Εισαγωγή στην VHDL Δρ. Αλέξανδρος Λαζαρίδης alazaridis@uowm.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραΣχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II
Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 4 η Εργαστηριακή Άσκηση Περιγραφή Κυκλωμάτων με Ακολουθιακές Εντολές Άδειες Χρήσης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons
Διαβάστε περισσότεραΠεριγραφή Κυκλωμάτων με χρήση της VHDL. Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL
Περιγραφή Κυκλωμάτων με χρήση της VHDL Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL Οργάνωση Παρουσίασης VHDL εισαγωγικές έννοιες Ροή και επίπεδα σχεδιασμού ψηφιακών κυκλωμάτων Μοντελοποίηση Καθυστερήσεων
Διαβάστε περισσότεραΕργαστήριο Ψηφιακών Κυκλωμάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Μηχανές Πεπερασμένων Καταστάσεων Χειμερινό Εξάμηνο 2009 2010 ΗΥ220 University of Crete 1 Τι είναι οι FSMs? 10 FSM Κερματοδέκτης open Μηχανισμός Αυτόματου 20 Απελευθέρωσης
Διαβάστε περισσότερα