inputs outputs Σχήμα 3.1: Σχηματική παράσταση της λειτουργίας του testbench

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

Download "inputs outputs Σχήμα 3.1: Σχηματική παράσταση της λειτουργίας του testbench"

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)

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (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 Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων Οργάνωση Παρουσίασης Περιγραφή Δομής σε VHDL (Structural Description) Μηχανές Πεπερασμένων Καταστάσεων

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΣΚΗΣΗ 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 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 Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 - Περίγραµµα διάλεξης Υποκυκλώµατα Περιγραφή δοµής στη VHDL Βιβλιοθήκες

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

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

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

(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)]

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

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

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

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

Επιβεβαίωση ορθής λειτουργίας απλών ψηφιακών κυκλωμάτων

Επιβεβαίωση ορθής λειτουργίας απλών ψηφιακών κυκλωμάτων Επιβεβαίωση ορθής λειτουργίας απλών ψηφιακών κυκλωμάτων Δημήτρης Κωνσταντίνου, Γιώργος Δημητρακόπουλος Εφόσον έχουμε περιγράψει το κύκλωμά μας σε System Verilog θα πρέπει να βεβαιωθούμε πως λειτουργεί

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

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

ΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ ΠΑΤΡΑ 2006 9.

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

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

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

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

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

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

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

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 13 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

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

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

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

Μοντελοποίηση Λογικών Κυκλωμάτων

Μοντελοποίηση Λογικών Κυκλωμάτων Μοντελοποίηση Λογικών Κυκλωμάτων Ενότητα 7: Η γλώσσα VHDL, Μοντελοποίηση, διαχείριση χρόνου Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

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

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

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

ΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης

ΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης 4-11-2009 Πρόοδος Θέμα 1 ο (25%): 1. Βρείτε την μεγίστη συχνότητα λειτουργίας του παρακάτω

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

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

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

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

Ενςωματωμένα Συςτήματα Υλοποίηςη του SDES ςε Hardware

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα : Ψηφιακά Ηλεκτρονικά Τεχνολογία ΙΙ, Θεωρητικής Κατεύθυνσης Ημερομηνία

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 4 ο Σχεδίαση Κυκλωμάτων με χρήση της γλώσσας VHDL

Κεφάλαιο 4 ο Σχεδίαση Κυκλωμάτων με χρήση της γλώσσας VHDL Κεφάλαιο 4 ο Σχεδίαση Κυκλωμάτων με χρήση της γλώσσας VHDL 4.1 Eισαγωγή στη VHDL 4.1.1 Θεωρητικό υπόβαθρο H VHDL είναι μια γλώσσα που χρησιμοποιείται για την περιγραφή και μοντελοποίηση ψηφιακών κυκλωμάτων.

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

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

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

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

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 αντιπροσωπεύει

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

Σχεδιασμος Ολοκληρωμένων Κυκλωμάτων με Χρήση VHDL: Πρακτικά Θέματα

Σχεδιασμος Ολοκληρωμένων Κυκλωμάτων με Χρήση VHDL: Πρακτικά Θέματα Απόστολος Φούρναρης, Παρασκευάς Κίτσος Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Δυτικής Ελλάδας Σχεδιασμος Ολοκληρωμένων Κυκλωμάτων με Χρήση VHDL: Πρακτικά Θέματα Αθροιστές 1 Σκοπός Σε αυτή την εργαστηριακή

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

Ελίνα Μακρή

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

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

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

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

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

ΣΧΕΔΙΑΣΜΟΣ ΚΥΚΛΩΜΑΤΩΝ ΠΑΡΑΜΕΤΡΙΚΗΣ ΜΕΤΑΒΟΛΗΣ ΣΥΧΝΟΤΗΤΑΣ ΚΑΙ DUTY CYCLE ΠΑΛΜΟΥ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL

ΣΧΕΔΙΑΣΜΟΣ ΚΥΚΛΩΜΑΤΩΝ ΠΑΡΑΜΕΤΡΙΚΗΣ ΜΕΤΑΒΟΛΗΣ ΣΥΧΝΟΤΗΤΑΣ ΚΑΙ DUTY CYCLE ΠΑΛΜΟΥ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΗΛ. ΥΠΟΛΟΓΙΣΤΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΣΧΕΔΙΑΣΜΟΣ ΚΥΚΛΩΜΑΤΩΝ ΠΑΡΑΜΕΤΡΙΚΗΣ ΜΕΤΑΒΟΛΗΣ ΣΥΧΝΟΤΗΤΑΣ ΚΑΙ DUTY CYCLE

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

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

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

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

nkavv@physics.auth.gr

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

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

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεματική Ενότητα Ακαδημαϊκό Έτος 2010 2011 Ημερομηνία Εξέτασης Κυριακή 26.6.2011 Ώρα Έναρξης Εξέτασης

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

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

Σχεδίαση κυκλωμάτων με VHDL: 1o μέρος Σχεδίαση κυκλωμάτων με VHDL: 1o μέρος Γ. Δημητρακόπουλος Το πρώτο σας κύκλωμα Τα ψηφιακά κυκλώματα είναι μια συλλογή από λογικές πύλες και ακολουθιακά στοιχεία αποθήκευσης (ή συγχρονισμού) όπως τα flip-flops.

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

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

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

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

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. 5.1 Το ρολόι Κάθε μία από αυτές τις λειτουργίες της Κ.Μ.Ε. διαρκεί ένα μικρό χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο κάποιο ρολόι.

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

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

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

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

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

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

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

ΑΣΚΗΣΗ 10 ΣΧΕΔΙΑΣΗ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

ΑΣΚΗΣΗ 10 ΣΧΕΔΙΑΣΗ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ ΑΣΚΗΣΗ ΣΧΕΔΙΑΣΗ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ.. ΣΚΟΠΟΣ Η σχεδίαση ακολουθιακών κυκλωμάτων..2. ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ.2.. ΑΛΓΟΡΙΘΜΟΣ ΣΧΕΔΙΑΣΗΣ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Τα ψηφιακά κυκλώματα με μνήμη ονομάζονται ακολουθιακά.

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

γρηγορότερα. Αν θέλουμε να μηδενίσουμε όλα τα υπόλοιπα bit μπορούμε να χρησιμοποιήσουμε την εντολή:

γρηγορότερα. Αν θέλουμε να μηδενίσουμε όλα τα υπόλοιπα 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;

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: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

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

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

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

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ψηφιακά Κυκλώματα ( ο μέρος) ΜΥΥ-6 Εισαγωγή στους Η/Υ και στην Πληροφορική Ψηφιακά κυκλώματα Οι δύο λογικές τιμές, αντιστοιχούν σε ηλεκτρικές τάσεις Υλοποιούνται με τρανζίστορ ή διόδους: ελεγχόμενοι διακόπτες

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

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

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

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

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

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

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

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

Εισαγωγή στη Verilog με το ISE

Εισαγωγή στη Verilog με το ISE Εισαγωγή στη Verilog με το ISE Πατάμε new project Δίνουμε όνομα και κατάλογο όπου θα αποθηκευτεί το project. Next όπου επιλέγουμε chip και preferred language βάζουμε Verilog Next και στο Create new source

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

Κεφάλαιο 5 ο Προγραμματισμός Ολοκληρωμένων Κυκλωμάτων

Κεφάλαιο 5 ο Προγραμματισμός Ολοκληρωμένων Κυκλωμάτων Κεφάλαιο 5 ο Προγραμματισμός Ολοκληρωμένων Κυκλωμάτων Στο κεφάλαιο αυτό επικεντρωνόμαστε στον προγραμματισμό συσκευών FieldProgrammableGateArrays FPGA με απλά κυκλώματα. Οι FPGAs συνήθως τοποθετούνται

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

Χ. Σωτηρίου. Σχήμα 1: Προτεινόμενο Πρόγραμμα Επαλήθευσης του ολοκληρωμένου Επεξεργαστή

Χ. Σωτηρίου. Σχήμα 1: Προτεινόμενο Πρόγραμμα Επαλήθευσης του ολοκληρωμένου Επεξεργαστή È Ò Ô Ø Ñ Ó ÃÖ Ø ¹ ÌÑ Ñ Ô Ø Ñ ÍÔÓÐÓ ØôÒ À;¾ ¹ ÇÖ ÒÛ ÍÔÓÐÓ ØôÒ Ö Ò Ü Ñ ÒÓ ¹ Ñ ³ ØÓ ¾¼½½¹¾¼½¾ ³ ¹ ÍÐÓÔÓ ÌÑ Ñ ØÓ Ð ÕÓÙ ÇÐÓ Ð ÖÛ ØÓÙ Ô Ü Ö Ø ¾»»¾¼½ Û ½¾»»¾¼½ Χ. Σωτηρίου ½ ËØ ÕÓ Ø ³ Οι στόχοι της ένατης άσκησης

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Μηχανές Πεπερασμένων Καταστάσεων Χειμερινό Εξάμηνο 2009 2010 ΗΥ220 University of Crete 1 Τι είναι οι FSMs? 10 FSM Κερματοδέκτης open Μηχανισμός Αυτόματου 20 Απελευθέρωσης

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