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

Save this PDF as:
 WORD  PNG  TXT  JPG

Μέγεθος: 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) που δόθηκε αρχικά. Συγκρίνετέ τον με την έξοδο του κυκλώματος. Εάν σας φαίνεται χρήσιμο, αλλάξτε την εξωτερική περιγραφή του κυκλώματος ώστε το σήμα ένδειξης έγκυρου αποτελέσματος να γίνει έξοδος.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα) «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 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 για Σχεδιασµό Ακολουθιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών n VHDL Processes Περίληψη n Εντολές If-Then-Else και CASE

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 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) Procedures Μία διαδικασία (procedure) δηλώνεται και κατόπιν καλείται όσες φορές θέλουµε. procedure identifier [(parameter_interface_list)]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ενςωματωμένα Συςτήματα Υλοποίηςη του SDES ςε Hardware Ενςωματωμένα Συςτήματα Υλοποίηςη του SDES ςε Hardware June 1 2012 Κεχαγιάσ Απόςτολοσ ΑΕΜ:134 Table of Contents O αλγόριθμοσ... 2 Υλοποίηςη ςε Hardware... 7 Xρονιςμόσ ςημάτων VGA... 12 Επαλήθευςη... 14

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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: 1o μέρος

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

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

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

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

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

nkavv@physics.auth.gr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 ηλώσεις

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

nkavv@physics.auth.gr nkavv@uop.gr

nkavv@physics.auth.gr nkavv@uop.gr Γλώσσες Περιγραφής Υλικού Μη προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@physics.auth.gr nkavv@uop.gr 26 Μαΐου 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 θετικά ακμοπυροδοτούμενο. Σχεδιάστε τις κυματομορφές

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

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

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

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

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

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

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

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

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

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

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

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

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

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

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

Ανάλυση Σύγχρονων Ακολουθιακών Κυκλωμάτων

Ανάλυση Σύγχρονων Ακολουθιακών Κυκλωμάτων Ανάλυση Σύγχρονων Ακολουθιακών Κυκλωμάτων Με τον όρο ανάλυση ενός κυκλώματος εννοούμε τον προσδιορισμό της συμπεριφοράς του κάτω από συγκεκριμένες συνθήκες λειτουργίας. Έτσι, για ένα συνδυαστικό κύκλωμα,

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

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

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

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

ΑΣΚΗΣΗ 8 ΚΑΤΑΧΩΡΗΤΕΣ - REGISTERS

ΑΣΚΗΣΗ 8 ΚΑΤΑΧΩΡΗΤΕΣ - REGISTERS ΑΣΚΗΣΗ 8 ΚΑΤΑΧΩΡΗΤΕΣ - REGISTERS Αντικείμενο της άσκησης: Η σχεδίαση και λειτουργία συστημάτων προσωρινής αποθήκευσης (Kαταχωρητές- Registers). Για την αποθήκευση μιας πληροφορίας του ενός ψηφίου (bit)

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

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

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

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

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

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

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

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών: Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 23 Διάρκεια εξέτασης : 6 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών: Θέμα (,5 μονάδες) Στις εισόδους του ακόλουθου κυκλώματος c b a εφαρμόζονται οι κάτωθι κυματομορφές.

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

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

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

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

ΑΣΚΗΣΗ 1η ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΣΧΕΔΙΑΣΗΣ QUARTUS II ΤΗΣ ALTERA

ΑΣΚΗΣΗ 1η ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΣΧΕΔΙΑΣΗΣ QUARTUS II ΤΗΣ ALTERA ΑΣΚΗΣΗ 1η ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΣΧΕΔΙΑΣΗΣ QUARTUS II ΤΗΣ ALTERA ΣΧΕΔΙΑΣΗ ΚΥΚΛΩΜΑΤΟΣ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL Η γλώσσα περιγραφής υλικού (harware description language) VHDL είναι μια γλώσσα με την οποία μπορεί

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

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

Σχεδίαση κυκλωμάτων με VHDL: 2o μέρος Σχεδίαση κυκλωμάτων με VHDL: 2o μέρος Γ. Δημητρακόπουλος Περιγραφή κυκλωμάτων με προγραμματιστικές δομές υψηλού επιπέδου Κύριος στόχος των γλωσσών περιγραφής υλικού είναι να απαλλάξουν το σχεδιαστή από

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

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

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

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

Όταν το πρόγραμμα φτάσει σε αυτή την εντολή και ο καταχωρητής PINA έχει την τιμή

Όταν το πρόγραμμα φτάσει σε αυτή την εντολή και ο καταχωρητής PINA έχει την τιμή 5. Εντολή while() Η εντολή while() είναι ίσως η πιο πολυχρησιμοποιούμενη εντολή κατά τη σύνταξη κώδικα σε γλώσσα προγραμματισμού C για μικροελεγκτές. Το κυρίως μέρος του προγράμματος κλείνεται σχεδόν πάντα

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

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

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Χειµερινό Εξάµηνο 2007-2008 Μηχανές Πεπερασµένων Καταστάσεων ΗΥ220 - Βασίλης Παπαευσταθίου 1 FSMs Οι µηχανές πεπερασµένων καταστάσεων Finite State Machines (FSMs) πιο

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

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

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ 1.1 Εισαγωγή...11 1.2 Τα κύρια αριθμητικά Συστήματα...12 1.3 Μετατροπή αριθμών μεταξύ των αριθμητικών συστημάτων...13 1.3.1 Μετατροπή ακέραιων

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

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Προηγμένα Συστήματα Πληροφορικής» Μεταπτυχιακή Διατριβή

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Προηγμένα Συστήματα Πληροφορικής» Μεταπτυχιακή Διατριβή Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Προηγμένα Συστήματα Πληροφορικής» Μεταπτυχιακή Διατριβή Δοκιμή ολοκληρωμένων κυκλωμάτων με χρήση του Inovys Personal Ocelot και

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

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

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

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

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

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

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

ΑΣΚΗΣΗ 9η-10η ΑΡΙΘΜΗΤΙΚΗ-ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΕΝΟΣ ΨΗΦΙΟΥ (1-BIT ALU)

ΑΣΚΗΣΗ 9η-10η ΑΡΙΘΜΗΤΙΚΗ-ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΕΝΟΣ ΨΗΦΙΟΥ (1-BIT ALU) ΑΣΚΗΣΗ 9η-10η ΑΡΙΘΜΗΤΙΚΗ-ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΕΝΟΣ ΨΗΦΙΟΥ (1-BIT ALU) ΘΕΩΡΙΑ Αντικείμενο της άσκησης είναι ο λογικός σχεδιασμός, η εξομοίωση και η παραγωγή του layout μιας αριθμητικής-λογικής μονάδας ενός ψηφίου

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

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

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

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

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

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

Ασύγχρονοι Απαριθμητές. Διάλεξη 7

Ασύγχρονοι Απαριθμητές. Διάλεξη 7 Ασύγχρονοι Απαριθμητές Διάλεξη 7 Δομή της διάλεξης Εισαγωγή στους Απαριθμητές Ασύγχρονος Δυαδικός Απαριθμητής Ασύγχρονος Δεκαδικός Απαριθμητής Ασύγχρονος Δεκαδικός Απαριθμητής με Latch Ασκήσεις 2 Ασύγχρονοι

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

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

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων ΗΜΥ 2: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 28 8//28 ΗΜΥ-2: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 28 Σχεδιασμός Ακολουθιακών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

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

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

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

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

K24 Ψηφιακά Ηλεκτρονικά 10: Ακολουθιακά Κυκλώματα

K24 Ψηφιακά Ηλεκτρονικά 10: Ακολουθιακά Κυκλώματα K24 Ψηφιακά Ηλεκτρονικά : TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΧΝΟΛΟΓΙΚΟ Περιεχόμενα 2 3 Γενικά Όπως είδαμε και σε προηγούμενα μαθήματα, ένα ψηφιακό κύκλωμα ονομάζεται

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888 ΕΡΩΤΗΣΕΙΣ 1. Να αναφέρετε μερικά από τα ιδιαίτερα χαρακτηριστικά της Pascal. 2. Ποιο είναι το αλφάβητο της Pascal; 3. Ποια είναι τα ονόματα-ταυτότητες και σε τι χρησιμεύουν; 4. Σε τι χρησιμεύει το συντακτικό

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

ΑΣΚΗΣΗ 6 ΠΟΛΥΠΛΕΚΤΕΣ (MUX) ΑΠΟΠΛΕΚΤΕΣ (DEMUX)

ΑΣΚΗΣΗ 6 ΠΟΛΥΠΛΕΚΤΕΣ (MUX) ΑΠΟΠΛΕΚΤΕΣ (DEMUX) ΑΣΚΗΣΗ 6 ΠΟΛΥΠΛΕΚΤΕΣ (MUX) ΑΠΟΠΛΕΚΤΕΣ (DEMUX) Αντικείμενο της άσκησης: Η κατανόηση των εννοιών πολύπλεξης - απόπλεξης, η σχεδίαση σε επίπεδο πυλών ενός πολυπλέκτη και εφαρμογές με τα ολοκληρωμένα κυκλώματα

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

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων 15/11/2010. Σχεδιασμός Ακολουθιακών Κυκλωμάτων 1 ΗΜΥ 20: Σχεδιασμός Ψηφιακών Συστημάτων 5//200 ΗΜΥ-20: Σχεδιασμός Ψηφιακών Συστημάτων Σχεδιασμός Ακολουθιακών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Σχεδιασμός Ακολουθιακών Κυκλωμάτων Αρχή: Μια λίστα/περιγραφή

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

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

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

10. Πληκτρολόγιο matrix 4x4

10. Πληκτρολόγιο matrix 4x4 10. Πληκτρολόγιο matrix 4x4 Το πληκτρολόγιο matrix 4x4 αποτελείται από 16 πλήκτρα διακόπτες τα οποία είναι συνδεδεμένα μεταξύ τους ανά 4 σε τέτοια διάταξη ώστε, με το ένα άκρο τους να σχηματίζουν 4 σειρές

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

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

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

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

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια

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

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης Εντολές Ελέγχου 2 Γενικά Εντολές λήψης αποφάσεων Επιτρέπουν στο πρόγραμμα να εκτελεί διαφορετικές

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

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ.3 ΑΣΥΓΧΡΟΝΟΣ ΔYΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.5 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.7 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ ΜΕ LATCH.

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ.3 ΑΣΥΓΧΡΟΝΟΣ ΔYΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.5 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.7 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ ΜΕ LATCH. ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ ΣΗΜΕΙΩΣΕΙΣ ΑΠΑΡΙΘΜΗΤΕΣ Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ

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

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD) Η Γλώσσα Pascal Χαρακτηριστικά Τύποι Δεδοµένων Δοµή προγράµµατος 1. Βασικές έννοιες Χαρακτηριστικά της γλώσσας Pascal Γλώσσα προγραµµατισµού Συντακτικό Σηµασιολογία Αλφάβητο της γλώσσας Pascal (Σύνολο

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

Εργαστηριακή Άσκηση 4: Ιεραρχική σχεδίαση και προσχεδιασμένοι πυρήνες

Εργαστηριακή Άσκηση 4: Ιεραρχική σχεδίαση και προσχεδιασμένοι πυρήνες Εργαστηριακή Άσκηση 4: Ιεραρχική σχεδίαση και προσχεδιασμένοι πυρήνες Στην 4 η εργαστηριακή άσκηση θα ασχοληθούμε με την ιεραρχική σχεδίαση. Συγκεκριμένα θα μάθουμε να σχεδιάζουμε απλές οντότητες τις οποίες

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

ΑΣΚΗΣΗ 3 η Ο ΑΝΤΙΣΤΡΟΦΕΑΣ CMOS

ΑΣΚΗΣΗ 3 η Ο ΑΝΤΙΣΤΡΟΦΕΑΣ CMOS ΑΣΚΗΣΗ 3 η Ο ΑΝΤΙΣΤΡΟΦΕΑΣ CMOS ΘΕΩΡΙΑ Οι ασκήσεις 3 και 4 αφορούν τον αντιστροφέα CMOS, ο οποίος είναι η απλούστερη αλ α ταυτόχρονα και σημαντικότερη πύλη για την κατανόηση της λειτουργίας των Ολοκληρωμένων

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

Introduction to IP Cores

Introduction to IP Cores Introduction to IP Cores Part 1: Digital Design -- Using IP Cores to Simplify Design Στον κόσµο του ψηφιακού σχεδίου, µπορούµε να χρησιµοποιήσουµε τις γλώσσες περιγραφής υλικού για να περιγράψουµε σύνθετες

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Μεταγλωττιστές Στοίβα Εκτέλεσης και Εγγραφήματα Δραστηριοποίησης Σε όλες σχεδόν τις μοντέρνες γλώσσες προγραμματισμού,

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

Μετρητής Ριπής ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ. Αναφορά 9 ης. εργαστηριακής άσκησης: ΑΦΡΟΔΙΤΗ ΤΟΥΦΑ Α.Μ.:2024201100032

Μετρητής Ριπής ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ. Αναφορά 9 ης. εργαστηριακής άσκησης: ΑΦΡΟΔΙΤΗ ΤΟΥΦΑ Α.Μ.:2024201100032 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ, ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ Αναφορά 9 ης εργαστηριακής άσκησης: Μετρητής Ριπής ΑΦΡΟΔΙΤΗ

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

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΚΡΗΤΗΣ Τµήµα Εφαρµοσµένης Πληροφορικής & Πολυµέσων. Ψηφιακή Σχεδίαση. Κεφάλαιο 5: Σύγχρονη Ακολουθιακή

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΚΡΗΤΗΣ Τµήµα Εφαρµοσµένης Πληροφορικής & Πολυµέσων. Ψηφιακή Σχεδίαση. Κεφάλαιο 5: Σύγχρονη Ακολουθιακή ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΚΡΗΤΗΣ Τµήµα Εφαρµοσµένης Πληροφορικής & Πολυµέσων Ψηφιακή Σχεδίαση Κεφάλαιο 5: Σύγχρονη Ακολουθιακή Λογική Σύγχρονα Ακολουθιακά Κυκλώµατα Είσοδοι Συνδυαστικό κύκλωµα

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

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

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΡΩΤΟΤΥΠΟ ΕΡΓΑΛΕΙΟ ΑΥΤΟΜΑΤΗΣ ΕΞΑΓΩΓΗΣ ΚΩΔΙΚΑ VHDL ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΡΑΔΙΟΗΛΕΚΤΡΟΛΟΓΙΑΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΡΩΤΟΤΥΠΟ ΕΡΓΑΛΕΙΟ ΑΥΤΟΜΑΤΗΣ ΕΞΑΓΩΓΗΣ ΚΩΔΙΚΑ VHDL Παπαδόπουλος Ματθαίος 1 Επιβλέπων :Σ.Νικολαιδης

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

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

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

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

Απόδειξη Ισοδυναμίας Συναρτήσεων

Απόδειξη Ισοδυναμίας Συναρτήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ, ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ Αναφορά 2ης εργαστηριακής άσκησης: Απόδειξη Ισοδυναμίας

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

3 ο Εργαστήριο Μεταβλητές, Τελεστές 3 ο Εργαστήριο Μεταβλητές, Τελεστές Μια μεταβλητή έχει ένα όνομα και ουσιαστικά είναι ένας δείκτης σε μια συγκεκριμένη θέση στη μνήμη του υπολογιστή. Στη θέση μνήμης στην οποία δείχνει μια μεταβλητή αποθηκεύονται

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

Στοιχειώδης προγραμματισμός σε C++

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

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

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Εισαγωγή - 1 Μία κλασσική γλώσσα προγραμματισμού αποτελείται από: Εκφράσεις (των

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

Βαζικές Δνόηηηες VHDL

Βαζικές Δνόηηηες VHDL Βαζικές Δνόηηηες VHDL Έλα απηόλνκν κέξνο θώδηθα VHDL πεξηιακβάλεη ηνπιάρηζηνλ ηξεηο βαζηθέο ελόηεηεο: Δνόηηηα δήλωζης βιβλιοθηκών: Δήιωζε ηωλ βηβιηνζεθώλ πνπ πξόθεηηαη λα ρξεζηκνπνηεζνύλ ζην ζρεδηαζκό,

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