Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Απαριθμητοί τύποι δεδομένων (enumerated data types)

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

Download "Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Απαριθμητοί τύποι δεδομένων (enumerated data types)"

Transcript

1 Σκιαγράφηση της διάλεξης Σχεδίαση Ψηφιακών Κυκλωμάτων Η γλώσσα περιγραφής υλικού VHDL - Μέρος ΙΙ Νικόλαος Καββαδίας nkavv@uop.gr Σύνταξη κώδικα για λογική σύνθεση Σχεδίαση μνημών ROM και RAM Δομές ελέγχου/επαλήθευσης λειτουργίας των κυκλωμάτων Μηχανές πεπερασμένων καταστάσεων Μη προγραμματιζόμενοι επεξεργαστές 08 Δεκεμβρίου 2010 Απαριθμητοί τύποι δεδομένων (enumerated data types) Σύνθετοι τύποι: Πίνακες Ο χρήστης ορίζει τη λίστα των επιτρεπόμενων τιμών που μπορούν να ανατεθούν σε ένα αντικείμενο που δηλώνεται με τον συγκεκριμένο τύπο Απαριθμητός τύπος δεδομένων χαρακτηριστικός για μηχανές πεπερασμένων καταστάσεων (FSM) TYPE fsm_state is (idle, forward, backward, stop signal current_state := IDLE; Απαριθμητός τύπος δεδομένων που καταγράφει τα επιτρεπόμενα χρώματα στο πρότυπο TELETEXT TYPE rgb3 is (black, blue, green, cyan, red, magenta, yellow, white Τύπος δεδομένων για την υλοποίηση λογικής 4 επιπέδων κατά Verilog TYPE verilog_mvl4 is ( 0, 1, X, Z Πίνακας: συλλογή από αντικείμενα του ίδιου τύπου Δήλωση για τον ορισμό ενός νέου τύπου πίνακα και δήλωση SIGNAL αυτού του τύπου: TYPE <array name > IS ARRAY specification OF <data type >; SIGNAL <signal name >: <array type > [:= <initial value]; Παραδείγματα TYPE image is ARRAY (0 to 31) of byte; -- 1Dx1D TYPE matrix2d is ARRAY (0 to 3, 1 downto 0) OF STD_LOGIC; SIGNAL x: image; -- an 1Dx1D signal SIGNAL y: matrix2d; -- Initialization := "0001"; -- 1D := ( 0, 0, 0, D := (( 0, 1, 1, 1 ),( 1, 1, 1, 0 ) -- 1Dx1D or 2D -- Assignments x(0) <= y(1)(2 -- 1Dx1D x(0) <= v(1,2 -- 2D x <= y(0 -- entire row x(3 downto 1) <= y(1)(4 downto 2 x(3 downto 0) <= (3 => 1, 2 => 0, others => 0

2 Σύνοψη των συναρτήσεων μετατροπής τύπου του πακέτου numeric_std Συναρτήσεις μετατροπής του πακέτου std_logic_arith Δήλωση για τη χρήση του πακέτου LIBRARY ieee; USE ieee. numeric_std.all; Γραφική αναπαράσταση των επιτρεπόμενων μετατροπών to_integer(u) I INTEGER to_signed(i,n) U UNSIGNED to_unsigned(i,n) to_integer(s) S SIGNED std_logic_vector(u) V STD_LOGIC_VECTOR unsigned(v) signed(v) std_logic_vector(s) Στο std_logic_arith μπορούμε να βρούμε τις συναρτήσεις μετατροπής conv_integer, conv_unsigned, conv_signed, conv_std_logic_vector Κλήση συνάρτησης Περιγραφή conv_integer(param) Μετατρέπει μια παράμετρο param τύπου INTEGER, UNSIGNED, SIGNED ή STD_ULOGIC σε μια τιμή τύπου INTEGER conv_unsigned(param,b) Μετατρέπει μια παράμετρο param τύπου INTEGER, UNSIGNED, SIGNED ή STD_ULOGIC σε μια τιμή τύπου UNSIGNED με μέγεθος b bit conv_signed(param,b) Μετατρέπει μια παράμετρο param τύπου INTEGER, UNSIGNED, SIGNED ή STD_ULOGIC σε μια τιμή τύπου SIGNED με μέγεθος b bit conv_std_logic_- Μετατρέπει μια παράμετρο param τύπου vector(param,b) INTEGER, UNSIGNED, SIGNED ή STD_ULOGIC σε μια τιμή τύπου STD_LOGIC_VECTOR με μέγε- ϑος b bit Το πακέτο std_logic_unsigned ορίζει υπερφορτωμένες εκδοχές των πρώτων τριών συναρτήσεων μετατροπής για δεδομένα τύπου STD_LOGIC_VECTOR Κανόνες για τη σύνταξη συνθέσιμων περιγραφών (1) Κανόνες για τη σύνταξη συνθέσιμων περιγραφών (2) 1 Χρήση ενός σήματος ρολογιού 2 Αποθήκευση τιμών στο κύκλωμα σε καταχωρητές ή μνήμες 3 Ανάθεση μιας τιμής ανά σήμα σε κάθε κύκλο ρολογιού 4 Χρησιμοποίηση μόνο σύγχρονης επανατοποθέτησης (synchronous reset) υπάρχουν εξαιρέσεις (FSMs) 5 Χρήση μόνο ακμοπυροδότησης στα flip-flop 6 Να μην παράγονται νέα σήματα χρονισμού με βάση το εξωτερικό ρολόι, αλλά αντί αυτού να χρησιμοποιούνται σήματα επίτρεψης/φόρτωσης για την επιλεκτική ενεργοποίηση κάποιας υπομονάδας 7 Σε μια λίστα ευαισθησίας αναφέρονται όλα τα σήματα ή είσοδοι οι οποίες διαβάζονται μέσα στη διεργασία 8 Σε μια λίστα ευαισθησίας μιας αποκλειστικά σύγχρονης διεργασίας επιτρέπεται να περιληφθεί μόνο το σήμα ρολογιού (clk) 9 Για την τρέχουσα και επόμενη κατάσταση ενός FSM, να χρησιμοποιείται απαριθμητός τύπος δεδομένων 10 Σε ένα κύκλωμα ϑα πρέπει να γίνεται ανάθεση σε όλα τα σήματα εξόδου για όλες τις περιπτώσεις λειτουργίας για την αποφυγή δημιουργίας ανεπιθύμητων μανδαλωτών 11 Επιτρέπεται η αρχική ανάθεση σε σήμα για την κάλυψη όλων των πιθανών περιπτώσεων 12 Να μην χρησιμοποιούνται οι τιμές X και Z ενός σήματος για τον έλεγχο περιπτώσεων (δήλωση WHEN σε μια CASE)

3 Βασικά στοιχεία στο σχεδιασμό κυκλωμάτων μνήμης Σύγχρονη μνήμη ROM των 8-bit με 16 ϑέσεις και χρήση CONSTANT Τρόποι ανάγνωσης Ασύγχρονη ανάγνωση: αποτελέσματα διαθέσιμα στον ίδιο κύκλο στον οποίο διευθυνσιοδοτήθηκαν με κάποια συνδυαστική χρονική καθυστέρηση Σύγχρονη ανάγνωση: αποτελέσματα διαθέσιμα στον επόμενο κύκλο ρολογιού Σήματα επίτρεψης RAM Επίτρεψη ανάγνωσης (read enable ή re) RAM Επίτρεψη εγγραφής (write enable ή we) RAM,ROM Επίτρεψη εξόδου (output enable ή oe) Παράμετροι Αριθμός ϑέσεων (καταχωρήσεων): N ή NR Εύρος λέξης διεύθυνσης (address width): AW Εύρος λέξης δεδομένων (data width): DW i Η παράμετρος AW ορισμένες φορές υπολογίζεται από την NR μέσω της έκφρασης: AW = log 2 (NR) Αριθμός ϑυρών εισόδου (NWP) και εξόδου (NRP) library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity rom_16_8 is clk, re : in std_logic; addr : in std_logic_vector(3 downto 0 data : out std_logic_vector(7 downto 0) end rom_16_8; architecture impl of rom_16_8 is type rom_type is array (0 to 15) of std_logic_vector(7 downto 0 constant ROM : rom_type := (X"01", X"02", X"04", X"08", X"10", X"20", X"40", X"80", X"01", X"03", X"07", X"0F", X"1F", X"3F", X"7F", X"FF" process (clk) if (clk= 1 and clk EVENT) then if (re = 1 ) then data <= ROM(conv_integer(addr) end impl; Μνήμη τυχαίας προσπέλασης (RAM) RAM με ασύγχρονη ανάγνωση Μία RAM διαθέτει τουλάχιστον μία είσοδο για τη διευθυνσιοδότηση (address) και τουλάχιστον μία ϑύρα για την ανάγνωση ή/και εγγραφή δεδομένων από και προς συγκεκριμένη ϑέση στη μνήμη ϑέση στη μνήμη Υποχρεωτικά διαθέτει είσοδο ρολογιού (clk) και επίτρεψη εγγραφής (we) για κάθε ϑύρα εγγραφής Τα περιεχόμενα της RAM υλοποιούνται ως SIGNAL Μπορεί να οριστεί και επίτρεψη ανάγνωσης ϑύρας εξόδου Οι πολλαπλές αιτήσεις για εγγραφή στην ίδια ϑέση δημιουργούν πρόβλημα διαμάχης και επιλύονται με κατάλληλη λογική ελέγχου (προτεραιότητα) Τρόπος εγγραφής READ FIRST: Τα περιεχόμενα της διευθυνσιοδοτούμενης ϑέσης μνήμης εμφανίζονται στην έξοδο. Τα δεδομένα εισόδου γράφονται στην ίδια ϑέση (ανάγνωση πριν την εγγραφή) library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ram_async is clk, we : in std_logic; rwaddr : in std_logic_vector(5 downto 0 di : in std_logic_vector (15 downto 0 do : out std_logic_vector (15 downto 0) end ram_async; architecture synth of ram_async is type ram_type is array (63 downto 0) of std_logic_vector (15 downto 0 signal RAM: ram_type; process (clk) if (clk= 1 and clk EVENT) then if (we = 1 ) then RAM(conv_integer(rwaddr)) <= di; do <= RAM(conv_integer(rwaddr) end synth;

4 RAM με τρόπο εγγραφής READ FIRST ASSERT library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ram_rf is clk, we : in std_logic; rwaddr : in std_logic_vector(5 downto 0 di : in std_logic_vector (15 downto 0 do : out std_logic_vector (15 downto 0) end ram_rf; architecture synth of ram_rf is type ram_type is array (63 downto 0) of std_logic_vector (15 downto 0 signal RAM: ram_type; process (clk) if (clk= 1 and clk EVENT) then if (we = 1 ) then RAM(conv_integer(rwaddr)) <= di; do <= RAM(conv_integer(rwaddr) end synth; Αρχεία στη VHDL Ο τύπος ΑΡΧΕΙΟΥ (FILE) προσφέρει ένα βολικό τρόπο για την επικοινωνία μιας περιγραφής VHDL με το περιβάλλον του μηχανήματος-ξενιστή (ο υπολογιστής στον οποίο γίνεται η ανάπτυξη και ο έλεγχος λειτουργίας της περιγραφής) type LINE is access STRING; -- A LINE is a pointer to a STRING value. type TEXT is file of STRING; Διαδικασίες για το χειρισμό αρχείων κειμένου (TEXTIO) procedure FILE_OPEN (file F: TEXT; External_Name; in STRING; Open_Kind: in FILE_OPEN_KIND := READ_MODE procedure FILE_OPEN (Status: out FILE_OPEN_STATUS; file F: TEXT; External_Name: in STRING; Open_Kind: in FILE_OPEN_KIND := READ_MODE procedure FILE_CLOSE (file F: TEXT function ENDFILE (file F: TEXT) return BOOLEAN; procedure READLINE (file F: TEXT; L: inout LINE procedure WRITELINE (file F: TEXT; L: inout LINE procedure READ (file F: TEXT; VALUE: out STRING procedure WRITE (file F: TEXT; VALUE: in STRING procedure HREAD(L:inout LINE; VALUE:out STD_LOGIC_VECTOR; GOOD: out BOOLEAN procedure HWRITE(L:inout LINE; VALUE:in STD_LOGIC_VECTOR; JUSTIFIED:in SIDE := RIGHT; FIELD:in WIDTH := 0 Testbench Η ASSERT είναι μία μη συνθέσιμη εντολή που χρησιμοποιείται για την επιστροφή μηνυμάτων στο τερματικό κατά την προσομοίωση 1 Τμήμα συνθήκης (condition) 2 Τμήμα αναφοράς μηνύματος που προσδιορίζεται από τη λέξη κλειδί REPORT 3 Τμήμα σοβαρότητας στο οποίο γίνεται δήλωση της επίδρασης που έχει η μη ικανοποίηση της συνθήκης στη συνέχεια της προσομοίωσης. Σημειώνεται με τη λέξη κλειδί SEVERITY ASSERT <condition > [REPORT "<message >"] [SEVERITY <severity level >]; END <package name >; Τα επίπεδα σοβαρότητας είναι: σημείωση (NOTE), προειδοποίηση (WARNING), σφάλμα (ERROR), ή αποτυχία (FAILURE) Το μήνυμα Νικόλαος Καββαδίας επιστρέφεται nkavv@uop.gr ότανσχεδίαση η τιμήψηφιακών της συνθήκης Κυκλωμάτων είναι FALSE signal a: STD_LOGIC_VECTOR(7 downto 0 signal b: STD_LOGIC_VECTOR(8 downto 2 ASSERT (a LENGTH = b LENGTH) REPORT "Error: vectors do not have the same length!" SEVERITY FAILURE; h Η εντολή ASSERT δεν είναι συνθέσιμη Το testbench αποτελεί ένα εικονικό κύκλωμα το οποίο εφαρμόζει εισόδους προς (διέγερση) και λαμβάνει εξόδους (απόκριση) από το πραγματικό κύκλωμα Η entity ενός testbench δεν περιλαμβάνει καμία δήλωση ϑύρας, μπορεί όμως να περιλαμβάνει generic Στο testbench, δηλώνεται το COMPONENT του συνολικού κυκλώματος ENTITY testbench IS -- no PORT statement necessary END testbench; ARCHITECTURE example IS testbench COMPONENT entity_under_test PORT() END COMPONENT; BEGIN Generate_waveforms_for_test; Instantiate_component; Monitoring_statements; END example;

5 Διέγερση σημάτων εισόδου από process Παράδειγμα: Εγγραφή αποτελεσμάτων σε αρχείο εξόδου CLK_GEN_PROC: process(clk) if (clk = U ) then clk <= 1 ; clk <= not clk after CLK_PERIOD/2; end process CLK_GEN_PROC; DATA_INPUT: process variable ix : integer range 0 to 7; in1 <= X"DE"; in2 <= X"AD"; in3 <= X"BE"; in4 <= X"EF"; sel <= "000"; reset <= 1 ; wait for CLK_PERIOD; -- reset <= 0 ; for i in 0 to 7 loop sel <= std_logic_vector(to_unsigned(i,3) wait for CLK_PERIOD; end loop; end process DATA_INPUT; component add signal a, b, sum : std_logic_vector(dw -1 downto 0 file output_log : text open write_mode is "add.log"; UUT : add generic map (Dw => Dw) port map (a => a, b => b, sum => sum process a <= X"FF"; b <= X"10"; wait for 10 ns; a <= X"10"; b <= X"89"; wait for 10 ns; output_log_proc: process variable out_line : line; write(out_line, NOW, left, 8 write(out_line, string (" a:"), right, 4 hwrite(out_line, a, right, 4 write(out_line, string (" b:"), right, 4 hwrite(out_line, b, right, 4 write(out_line, string (" sum:"), right, 4 hwrite(out_line, sum, right, 4 writeline(output_log, out_line wait for 10 ns; end process output_log_proc; Δομή ενός FSM Κατηγορίες FSM: τύπου Moore και τύπου Mealy Τυπική οργάνωση ενός FSM Στα FSM τύπου Moore οι έξοδοι είναι συνάρτηση μόνο της τρέχουσας κατάστασης Οργάνωση ενός FSM τύπου Moore 1 Λογική τρέχουσας κατάστασης: Υλοποιείται από καταχωρητή για την αποθήκευση της τρέχουσας κατάστασης του FSM. Η τιμή του αντιπροσωπεύει το συγκεκριμένο στάδιο στο οποίο βρίσκεται η λειτουργία του FSM 2 Λογική επόμενης κατάστασης: Συνδυαστική λογική η οποία παράγει την επόμενη κατάσταση της ακολουθίας. Η επόμενη κατάσταση αποτελεί συνάρτηση των εισόδων του FSM και της τρέχουσας κατάστασης Στα FSM τύπου Mealy οι έξοδοι είναι συνάρτηση των εισόδων και της τρέχουσας κατάστασης Οργάνωση ενός FSM τύπου Mealy 3 Λογική εξόδου: Συνδυαστική λογική που χρησιμοποιείται για την παραγωγή των σημάτων εξόδου του κυκλώματος. Οι έξοδοι αποτελούν συνάρτηση της εξόδου του καταχωρητή (τρέχουσας) κατάστασης και ΠΙΘΑΝΩΣ των εισόδων του FSM

6 Κωδικοποίηση της κατάστασης στα FSM Παρατηρήσεις sequential: σε κάθε κατάσταση ανατίθενται δυαδικοί αριθμοί κατά αύξουσα σειρά one-hot: σε κάθε κατάσταση αντιστοιχίζεται ξεχωριστό flip-flop. Σε κάθε κατάσταση ένα μόνο flip-flop έχει την τιμή 1 Κωδικοποίηση καθοριζόμενη από το χρήστη constant S1: std_logic_vector(3 downto 0) := "0110"; constant S2: std_logic_vector(3 downto 0) := "0111"; constant S3: std_logic_vector(3 downto 0) := "0000"; Κωδικοποίηση καθοριζόμενη από το εργαλείο υλοποίησης (λογικής σύνθεσης) type STATES is (S1, S2, S3, S4 signal state : STATES; Άλλες κωδικοποιήσεις: Gray, Johnson, one-cold Για την αρχικοποίηση του FSM σε μία γνωστή αρχική κατάσταση επιβάλλεται η χρήση ασύγχρονης επανατοποθέτησης (asynchronous reset) Γενικά υφίστανται αρκετές τεχνικές για τη σύνταξη της περιγραφής ενός FSM 1 FSM με μία διεργασία (process): Η λογική επόμενης κατάστασης, τρέχουσας κατάστασης και εξόδου σε μία PROCESS 2 FSM με δύο διεργασίες: Η λογική επόμενης κατάστασης και τρέχουσας κατάστασης σε μία PROCESS και η λογική εξόδου σε μία δεύτερη 3 FSM με τρεις διεργασίες: Η λογική επόμενης κατάστασης, τρέχουσας κατάστασης και εξόδου σε ξεχωριστές PROCESS 4 FSM με δύο διεργασίες με τη λογική τρέχουσας κατάστασης σε μία PROCESS και τη λογική επόμενης κατάστασης και εξόδου σε μία δεύτερη PROCESS 5 FSM με αποθηκευμένα σήματα εξόδου Διάγραμμα μεταγωγής καταστάσεων για ένα απλό FSM 4 καταστάσεων Παράδειγμα FSM με μία διεργασία (αποθηκευμένη έξοδος) Το FSM του παραδείγματος καθορίζεται από: Τέσσερις καταστάσεις: S1, S2, S3, S4 Μία είσοδο: x1 Μία έξοδο: outp Πέντε περιπτώσεις μετάβασης από κατάσταση σε κατάσταση σύμφωνα με το παρακάτω διάγραμμα μεταγωγής καταστάσεων library IEEE; use IEEE.std_logic_1164.all; entity fsm_1 is clk, reset, x1 : IN std_logic; outp : OUT std_logic end fsm_1; architecture beh1 of fsm_1 is type state_type is (s1,s2,s3,s4 signal state: state_type; process (clk, reset) if (reset = 1 ) then state <= s1; outp <= 1 ; elsif (clk= 1 and clk event) then case state is when s1 => if (x1 = 1 ) then state <= s2; outp <= 1 ; state <= s3; outp <= 0 ; when s2 => state <= s4; outp <= 0 ; when s3 => state <= s4; outp <= 0 ; when s4 => state <= s1; outp <= 1 ; end case; end beh1;

7 Παράδειγμα FSM με τρεις διεργασίες Μη προγραμματιζόμενοι επεξεργαστές library IEEE; use IEEE.std_logic_1164.all; entity fsm_3 is clk, reset, x1 : IN std_logic; outp : OUT std_logic end fsm_3; architecture beh1 of fsm_3 is type state_type is (s1,s2,s3,s4 signal current_state, next_state: state_type; p1: process (clk, reset) if (reset = 1 ) then state <= s1; elsif (clk= 1 and clk EVENT) then current_state <= next_state; end process process1; p2 : process (current_state, x1) case current_state is when s1 => if (x1 = 1 ) then next_state <= s2; next_state <= s3; when s2 => next_state <= s4; when s3 => next_state <= s4; when s4 => next_state <= s1; end case; end process process2; p3 : process (current_state) case current_state is when s1 => outp <= 1 ; when s2 => outp <= 1 ; when s3 => outp <= 0 ; when s4 => outp <= 0 ; end case; end process process3; end beh1; Μη προγραμματιζόμενοι επεξεργαστές είναι εκείνα τα κυκλώματα τα οποία έχουν σχεδιαστεί έτσι ώστε να μπορούν να επιλύσουν ένα μόνο πρόβλημα Ενας μη προγραμματιζόμενος επεξεργαστής αποτελείται από το χειριστή ελέγχου (controller ή control unit) και το χειριστή δεδομένων (datapath) Ο χειριστής ελέγχου παράγει σήματα ελέγχου για την δρομολόγηση των μηχανισμών που λαμβάνουν χώρα στο χειριστή δεδομένων Ο χειριστής δεδομένων επιστρέφει στο χειριστή ελέγχου σήματα κατάστασης (status signals) τα οποία κατευθύνουν τη μετάβαση ανάμεσα στις εσωτερικές καταστάσεις του χειριστή ελέγχου Ο χειριστής ελέγχου υλοποιείται συχνά ως FSM Η οργάνωση ενός μη-προγραμματιζόμενου επεξεργαστή Το πρόβλημα του μέγιστου κοινού διαιρέτη δύο αριθμών Γενικό σχηματικό διάγραμμα ενός μη προγραμματιζόμενου επεξεργαστή Δεχόμαστε ότι: gcd(n, 0) = gcd(0, n) = gcd(0, 0) = 0 Το ζητούμενο είναι η εύρεση αριθμού m ο οποίος να είναι ο μεγαλύτερος ϑετικός ακέραιος ο οποίος διαιρεί και τους δύο αριθμούς Στα αρχαία Ελληνικά μαθηματικά αντιπροσωπεύει το πρόβλημα εύρεσης κοινής αναφοράς για τη μέτρηση δύο ευθύγραμμων τμημάτων Το πρόβλημα του GCD επιλύεται με τον αλγόριθμο του Ευκλείδη unsigned int gcd(unsigned int a, unsigned int b) { assert(a > 0 && b > 0 if (a == b) return a; if (a > b) return gcd(a-b, b if (b > a) return gcd(a, b-a Στον αλγόριθμο του Ευκλείδη, η αναδρομή μπορεί να αποφευχθεί

8 Ο αλγόριθμος του μέγιστου κοινού διαιρέτη δύο αριθμών (GCD) Δεχόμαστε ότι: gcd(n, 0) = gcd(0, n) = gcd(0, 0) = 0 Υλοποίηση σε ANSI C Αποφυγή αναδρομής και χρήσης του υπολογισμού ακέραιου υπολοίπου int gcd(int a, int b) { int result; int x, y; x = a; y = b; if (x!=0 && y!=0) { while (x!= y) { if (x >= y) x = x - y; y = y - x; result = x; { result = 0; return (result int main() { int result = gcd(196, 42 return (result Αριθμητικό παράδειγμα υπολογισμού του GCD Ο μικρότερος αριθμός από δύο αριθμούς a, b αφαιρείται από τον μεγαλύτερο σε διαδοχικά βήματα Οταν οι δύο αριθμοί γίνουν ίσοι, τότε ισούνται με τον Μέγιστο Κοινό Διαιρέτη τους Σε περίπτωση που η διαδικασία φτάσει μέχρι το σημείο που a = 1 ή b = 1 τότε οι δύο αριθμοί δεν έχουν μη τετριμμένο GCD, δηλαδή μεγαλύτερο του 1 Παράδειγμα (a = 196, b = 42) Βήμα Α Β Το αποτέλεσμα είναι: gcd(196, 42) = 14 Αλγοριθμικό διάγραμμα ροής για τον αλγόριθμο GCD Το συνολικό κύκλωμα του επεξεργαστή GCD

9 Περιγραφή της υλοποίησης FSMD του επεξεργαστή GCD (1) Περιγραφή της υλοποίησης FSMD του επεξεργαστή GCD (2) library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity gcd is generic ( WIDTH : integer clock : in std_logic; reset : in std_logic; start : in std_logic; a : in std_logic_vector(width -1 downto 0 b : in std_logic_vector(width -1 downto 0 outp : out std_logic_vector(width -1 downto 0 done : out std_logic end gcd; architecture fsmd of gcd is type state_type is (s0,s1,s2,s3 signal state: state_type; signal x, y, res : std_logic_vector(width -1 downto 0 process (clock, reset) done <= 0 ; -- if (reset = 1 ) then state <= s0; x <= (others => 0 y <= (others => 0 res <= (others => 0 elsif (clock= 1 and clock EVENT) then case state is when s0 => if (start = 1 ) then x <= a; y <= b; state <= s1; state <= s0; when s1 => if (x /= 0 and y /= 0) then state <= s2; res <= (others => 0 state <= s3; Περιγραφή της υλοποίησης FSMD του επεξεργαστή GCD (3) Προσομοίωση του επεξεργαστή GCD when s2 => if (x > y) then x <= x - y; state <= s2; elsif (x < y) then y <= y - x; state <= s2; res <= x; state <= s3; when s3 => done <= 1 ; state <= s0; end case; outp <= res; end fsmd; Δηλώσεις FILE για λήψη εισόδων από αρχείο και εκτύπωση διαγνωστικής εξόδου σε αρχείο file TestDataFile: text open read_mode is "gcd_test_data.txt"; file ResultsFile: text open write_mode is "gcd_alg_test_results.txt"; Περιεχόμενα του "gcd_test_data.txt" (A, B, result)

10 Ελεγχος ορθής λειτουργίας με testbench (1) Ελεγχος ορθής λειτουργίας με testbench (2) Τα χαρακτηριστικά του testbench για την επαλήθευση της ορθής συμπεριφοράς του επεξεργαστή GCD Λήψη εισόδων από αρχείο με χρήση μεταβλητών Εξομοίωση της συμπεριφοράς του επεξεργαστή σε αλγοριθμικό επίπεδο Προσθήκη απαριθμητή επιδόσεων (performance counter) για την λήψη του αναλυτικού προφίλ εκτέλεσης του επεξεργαστή GCD για διαφορετικές εισόδους -- Profiling signals signal ncycles : integer; PROFILING: process(clock, reset, done) if (reset = 1 or done = 1 ) then ncycles <= 0; elsif (clock = 1 and clock EVENT) then ncycles <= ncycles + 1; end process PROFILING; Αλγοριθμική υλοποίηση και έλεγχος ορθής λειτουργίας GCD_EMUL: process variable A_v,B_v,Y_v,Y_Ref,temp: integer range 0 to 255; variable ncycles_v: integer; variable TestData, BufLine: line; variable Passed: std_logic := 1 ; while not endfile(testdatafile) loop ---- Read test data from file readline(testdatafile, TestData read(testdata, A_v read(testdata, B_v read(testdata, temp -- reading the 3rd value (unused here) -- Assign inputs a <= conv_std_logic_vector(a_v, WIDTH b <= conv_std_logic_vector(b_v, WIDTH ---- Model GCD algorithm if (A_v /= 0 and B_v /= 0) then while (A_v /= B_v) loop if (A_v >= B_v) then A_v := A_v - B_v; B_v := B_v - A_v; end loop; A_v := 0; Ελεγχος ορθής λειτουργίας με testbench (3) Ελεγχος ορθής λειτουργίας με testbench (4) Αλγ. υλοποίηση και έλεγχος ορθής λειτουργίας (συνέχεια) Y_Ref := A_v; wait until done = 1 ; Y_v := conv_integer(outp ---- Test GCD algorithm if (Y_v /= Y_Ref) then -- has failed Passed := 0 ; write(bufline, string ("GCD Error: A=") write(bufline, A_v write(bufline, string (" B=") write(bufline, B_v write(bufline, string (" Y=") write(bufline, Y_v write(bufline, string (" Y_Ref=") write(bufline, Y_Ref writeline(resultsfile, Bufline ncycles_v := ncycles; write(bufline, string ("GCD OK: Number of cycles=") write(bufline, ncycles_v writeline(resultsfile, Bufline end loop; if (Passed = 1 ) then -- has passed write(bufline, string ("GCD algorithm test has passed") writeline(resultsfile, Bufline wait for CLK_PERIOD; end process GCD_EMUL; Εκτύπωση διαγνωστικής εξόδου στο αρχείο "gcd_alg_test_results.txt" GCD OK: Number of cycles=7 GCD OK: Number of cycles=8 GCD OK: Number of cycles=10 GCD OK: Number of cycles=3 GCD OK: Number of cycles=12 GCD OK: Number of cycles=52 GCD OK: Number of cycles=3 GCD OK: Number of cycles=2 GCD algorithm test has passed

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

Σχεδίαση Ψηφιακών Κυκλωμάτων Σχεδίαση Ψηφιακών Κυκλωμάτων Η γλώσσα περιγραφής υλικού VHDL - Μέρος ΙΙ Νικόλαος Καββαδίας nkavv@uop.gr 08 Δεκεμβρίου 2010 Σκιαγράφηση της διάλεξης Σύνταξη κώδικα για λογική σύνθεση Σχεδίαση μνημών ROM

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

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

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

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

Σκιαγράφηση της διάλεξης. Η οργάνωση ενός μη-προγραμματιζόμενου επεξεργαστή (1) Μη προγραμματιζόμενοι επεξεργαστές

Σκιαγράφηση της διάλεξης. Η οργάνωση ενός μη-προγραμματιζόμενου επεξεργαστή (1)  Μη προγραμματιζόμενοι επεξεργαστές Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Μη προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@physics.auth.gr nkavv@uop.gr 26 Μαΐου 2009 Μη προγραμματιζόμενοι επεξεργαστές Υλοποίηση με

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

Σκιαγράφηση της διάλεξης. Η εντολή ASSERT (2) nkavv@physics.auth.gr nkavv@uop.gr

Σκιαγράφηση της διάλεξης. Η εντολή ASSERT (2) nkavv@physics.auth.gr nkavv@uop.gr Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Δομές ελέγχου/επαλήθευσης λειτουργίας των κυκλωμάτων Νικόλαος Καββαδίας nkavv@physics.auth.gr nkavv@uop.gr Δομές ελέγχου/επαλήθευσης λειτουργίας των κυκλωμάτων

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

Γλώσσες Περιγραφής Υλικού. Εισαγωγικά. Οργάνωση των παραδόσεων. 02 Ιουνίου 2009

Γλώσσες Περιγραφής Υλικού. Εισαγωγικά. Οργάνωση των παραδόσεων.  02 Ιουνίου 2009 Αντικείμενο και περίγραμμα του μαθήματος: Γλώσσες Περιγραφής Υλικού Γλώσσες Περιγραφής Υλικού Ανασκόπηση του μαθήματος Νικόλαος Καββαδίας nkavv@physics.auth.gr nkavv@uop.gr 02 Ιουνίου 2009 Αντικείμενο

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

Γλώσσες Περιγραφής Υλικού Ανασκόπηση του μαθήματος Νικόλαος Καββαδίας nkavv@physics.auth.gr nkavv@uop.gr 02 Ιουνίου 2009 Αντικείμενο και περίγραμμα του μαθήματος: Γλώσσες Περιγραφής Υλικού Αντικείμενο

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

Γλώσσες Περιγραφής Υλικού Μηχανές πεπερασμένων καταστάσεων Νικόλαος Καββαδίας nkavv@physics.auth.gr, nkavv@uop.gr 12 Μαΐου 2009 Σκιαγράφηση της διάλεξης Μηχανές πεπερασμένων καταστάσεων (FSM: Finite-State

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

Γλώσσες Περιγραφής Υλικού Δομές ελέγχου/επαλήθευσης λειτουργίας των κυκλωμάτων Νικόλαος Καββαδίας nkavv@physics.auth.gr nkavv@uop.gr 5 Μαΐου 2009 Σκιαγράφηση της διάλεξης Δομές ελέγχου/επαλήθευσης λειτουργίας

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

Γλώσσες Περιγραφής Υλικού Ι

Γλώσσες Περιγραφής Υλικού Ι Γλώσσες Περιγραφής Υλικού Ι Μη προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr 08 Μαΐου 2012 Σκιαγράφηση της διάλεξης Μη προγραμματιζόμενοι επεξεργαστές Η οργάνωση των μη-προγραμματιζόμενων

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

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Μηχανές Πεπερασμένων Καταστάσεων: Εισαγωγή και.

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Μηχανές Πεπερασμένων Καταστάσεων: Εισαγωγή και. Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Μηχανές πεπερασμένων καταστάσεων Νικόλαος Καββαδίας nkavv@uop.gr 24 Απριλίου 2012 Μηχανές πεπερασμένων καταστάσεων (FSM: Finite-State Machine) Ορισμός

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

Γλώσσες Περιγραφής Υλικού Ι

Γλώσσες Περιγραφής Υλικού Ι Γλώσσες Περιγραφής Υλικού Ι Μηχανές πεπερασμένων καταστάσεων Νικόλαος Καββαδίας nkavv@uop.gr 24 Απριλίου 2012 Σκιαγράφηση της διάλεξης Μηχανές πεπερασμένων καταστάσεων (FSM: Finite-State Machine) Ορισμός

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

Σκιαγράφηση της διάλεξης. Μηχανές Πεπερασμένων Καταστάσεων: Εισαγωγή και.

Σκιαγράφηση της διάλεξης. Μηχανές Πεπερασμένων Καταστάσεων: Εισαγωγή και. Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Μηχανές πεπερασμένων καταστάσεων Νικόλαος Καββαδίας nkavv@physics.auth.gr, nkavv@uop.gr 12 Μαΐου 2009 Μηχανές πεπερασμένων καταστάσεων (FSM: Finite-State

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

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι (1) Μη προγραμματιζόμενοι επεξεργαστές

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι (1) Μη προγραμματιζόμενοι επεξεργαστές Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Μη προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr 04 Μαΐου 2011 Μη προγραμματιζόμενοι επεξεργαστές Η οργάνωση των μη-προγραμματιζόμενων

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

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. nkavv@uop.gr. Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος. Περιεχόμενο εξετάσεων

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. nkavv@uop.gr. Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος. Περιεχόμενο εξετάσεων Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Θέματα πρακτικής εξάσκησης Νικόλαος Καββαδίας nkavv@uop.gr 08 Ιουνίου 2011 Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος Εξεταστική περίοδος Ιουνίου-Ιουλίου

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

Γλώσσες Περιγραφής Υλικού Ι

Γλώσσες Περιγραφής Υλικού Ι Γλώσσες Περιγραφής Υλικού Ι Θέματα πρακτικής εξάσκησης Νικόλαος Καββαδίας nkavv@uop.gr 29 Μαΐου 2012 Σκιαγράφηση της διάλεξης Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος Εξεταστική περίοδος Ιουνίου-Ιουλίου

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

Η δήλωση `ifdef...`else...` endif

Η δήλωση `ifdef...`else...` endif Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Σύνταξη παραμετρικών περιγραφών και σχεδίαση μνημών Νικόλαος Καββαδίας nkavv@uop.gr 03 Απριλίου 2012 Σύνταξη παραμετρικών περιγραφών Δηλώσεις του προεπεξεργαστή

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

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 2

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 2 Τμήμα Μησανικών Πληποφοπικήρ, Τ.Ε.Ι. Ηπείπος Ακαδημαϊκό Έτορ 2016-2017, 6 ο Εξάμηνο Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 2 Διδάςκων Τςιακμάκθσ Κυριάκοσ, Phd MSc in Electronic Physics (Radioelectrology)

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

Σκιαγράφηση της διάλεξης

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

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

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Διαφορές μεταξύ των περιγραφών συνδυαστικών και ακολουθιακών κυκλωμάτων

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Διαφορές μεταξύ των περιγραφών συνδυαστικών και ακολουθιακών κυκλωμάτων Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Μοντελοποίηση ακολουθιακών κυκλωμάτων Νικόλαος Καββαδίας nkavv@uop.gr 13 Μαρτίου 2012 Στοιχεία ακολουθιακής σχεδίασης με Verilog HDL Λίστα ευαισθησίας

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

Γλώσσες Περιγραφής Υλικού Ι

Γλώσσες Περιγραφής Υλικού Ι Γλώσσες Περιγραφής Υλικού Ι Μοντελοποίηση ακολουθιακών κυκλωμάτων Νικόλαος Καββαδίας nkavv@uop.gr 13 Μαρτίου 2012 Σκιαγράφηση της διάλεξης Στοιχεία ακολουθιακής σχεδίασης με Verilog HDL Λίστα ευαισθησίας

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

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

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

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

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. nkavv@uop.gr. Περισσότερα για τα αρθρώματα Αναθέσεις και τελεστές Συντρέχων κώδικας

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. nkavv@uop.gr. Περισσότερα για τα αρθρώματα Αναθέσεις και τελεστές Συντρέχων κώδικας Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Μοντελοποίηση συνδυαστικών κυκλωμάτων Νικόλαος Καββαδίας nkavv@uop.gr 06 Μαρτίου 2012 Περισσότερα για τα αρθρώματα Αναθέσεις και τελεστές Συντρέχων

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

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων.

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Σκιαγράφηση της διάλεξης Σχεδίαση Ψηφιακών Κυκλωμάτων Ανασκόπηση του μαθήματος και ϑέματα πρακτικής εξάσκησης Νικόλαος Καββαδίας nkavv@uop.gr Αναδρομή στο περιεχόμενο του μαθήματος εξετάσεων (ϑεωρία και

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

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

Σχεδίαση Ψηφιακών Κυκλωμάτων Σχεδίαση Ψηφιακών Κυκλωμάτων Ανασκόπηση του μαθήματος και ϑέματα πρακτικής εξάσκησης Νικόλαος Καββαδίας nkavv@uop.gr 26 Ιανουαρίου 2011 Σκιαγράφηση της διάλεξης Αναδρομή στο περιεχόμενο του μαθήματος Ενδεικτικά

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

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων Γιάννης Λιαπέρδος [gliaperd@teikal.gr] Μάρτιος 2012 1 Ηλεκτρονικά Ελεγχόμενοι ιακόπτες Για την υλοποίηση των λογικών κυκλωμάτων χρησιμοποιούνται ηλεκτρονικά

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

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

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

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

Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.

Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή. Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή. Mαθηματικό σύστημα Ένα μαθηματικό σύστημα αποτελείται από αξιώματα, ορισμούς, μη καθορισμένες έννοιες και θεωρήματα. Η Ευκλείδειος γεωμετρία αποτελεί ένα

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

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

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

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

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

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

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

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

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

Library, package και subprograms

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

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

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

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

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

Συναρτήσεις. Σημερινό μάθημα

Συναρτήσεις. Σημερινό μάθημα Συναρτήσεις Σημερινό μάθημα C++ Συναρτήσεις Δήλωση συνάρτησης Σύνταξη συνάρτησης Πρότυπο συνάρτησης & συνάρτηση Αλληλο καλούμενες συναρτήσεις συναρτήσεις μαθηματικών Παράμετροι συναρτήσεων Τοπικές μεταβλητές

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

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Γενικά χαρακτηριστικά του επεξεργαστή MU0. nkavv@uop.gr. Προγραμματιζόμενοι επεξεργαστές

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Γενικά χαρακτηριστικά του επεξεργαστή MU0. nkavv@uop.gr. Προγραμματιζόμενοι επεξεργαστές Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr Προγραμματιζόμενοι επεξεργαστές Ρεαλιστικό παράδειγμα: ο επεξεργαστής MU0 (MicroProcessor

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

Γλώσσες Περιγραφής Υλικού Ι

Γλώσσες Περιγραφής Υλικού Ι Γλώσσες Περιγραφής Υλικού Ι Μοντελοποίηση συνδυαστικών κυκλωμάτων Νικόλαος Καββαδίας nkavv@uop.gr 06 Μαρτίου 2012 Σκιαγράφηση της διάλεξης Περισσότερα για τα αρθρώματα Αναθέσεις και τελεστές Συντρέχων

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Σ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 12 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ): ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ

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

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

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

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

Γλώσσες Περιγραφής Υλικού Δομές ακολουθιακού και συντρέχοντος κώδικα Νικόλαος Καββαδίας nkavv@physics.auth.gr 24 Μαρτίου 2009 Σκιαγράφηση της διάλεξης Συντρέχων και ακολουθιακός κώδικας Ανάθεση σε ΜΕΤΑΒΛΗΤΗ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2017-2018 Φροντιστήριο 3 1. Εστω η στοίβα S και ο παρακάτω αλγόριθμος επεξεργασίας της. Να καταγράψετε την κατάσταση

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

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Αρχιτεκτονικά χαρακτηριστικά των συσκευών Xilinx Spartan-3.

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Αρχιτεκτονικά χαρακτηριστικά των συσκευών Xilinx Spartan-3. Σκιαγράφηση της διάλεξης Σχεδίαση Ψηφιακών Κυκλωμάτων Οι αρχιτεκτονικές FPGA Xilinx Spartan-3 και Virtex-5 Νικόλαος Καββαδίας nkavv@uop.gr Η αρχιτεκτονική Xilinx Spartan-3 CLB Ενσωματωμένοι πολλαπλασιαστές

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

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

Σχεδίαση Ψηφιακών Κυκλωμάτων Σχεδίαση Ψηφιακών Κυκλωμάτων Η γλώσσα περιγραφής υλικού VHDL - Μέρος Ι Νικόλαος Καββαδίας nkavv@uop.gr 01 Δεκεμβρίου 2010 Σκιαγράφηση της διάλεξης Εισαγωγή στη VHDL Δομές ακολουθιακού και συντρέχοντος

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

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

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

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Εισαγωγικά. Δομές ακολουθιακού και συντρέχοντος κώδικα

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Εισαγωγικά. Δομές ακολουθιακού και συντρέχοντος κώδικα Σκιαγράφηση της διάλεξης Σχεδίαση Ψηφιακών Κυκλωμάτων Η γλώσσα περιγραφής υλικού VHDL - Μέρος Ι Νικόλαος Καββαδίας nkavv@uop.gr Εισαγωγή στη VHDL Δομές ακολουθιακού και συντρέχοντος κώδικα Προχωρημένα

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

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

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

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

Σκιαγράφηση της διάλεξης. Ανάθεση σε VARIABLE. Ανάθεση σε SIGNAL. identifier := expression; Συντρέχων και ακολουθιακός κώδικας

Σκιαγράφηση της διάλεξης. Ανάθεση σε VARIABLE. Ανάθεση σε SIGNAL. identifier := expression; Συντρέχων και ακολουθιακός κώδικας Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Δομές ακολουθιακού και συντρέχοντος κώδικα Νικόλαος Καββαδίας nkavv@physics.auth.gr 24 Μαρτίου 2009 Συντρέχων και ακολουθιακός κώδικας Ανάθεση σε ΜΕΤΑΒΛΗΤΗ

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

Γλώσσες Περιγραφής Υλικού Σύνταξη παραμετρικών περιγραφών Νικόλαος Καββαδίας nkavv@physics.auth.gr 7 Απριλίου 2009 Σκιαγράφηση της διάλεξης Σύνταξη παραμετρικών περιγραφών Βιβλιοθήκες και πακέτα (libraries

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

Σκιαγράφηση της διάλεξης. Η έννοια του πακέτου (PACKAGE) στη VHDL. Σύνταξη ενός πακέτου. Σύνταξη παραμετρικών περιγραφών

Σκιαγράφηση της διάλεξης. Η έννοια του πακέτου (PACKAGE) στη VHDL. Σύνταξη ενός πακέτου. Σύνταξη παραμετρικών περιγραφών Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Σύνταξη παραμετρικών περιγραφών Νικόλαος Καββαδίας nkavv@physics.auth.gr 7 Απριλίου 2009 Σύνταξη παραμετρικών περιγραφών Βιβλιοθήκες και πακέτα (libraries

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

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

inputs outputs Σχήμα 3.1: Σχηματική παράσταση της λειτουργίας του testbench ΑΣΚΗΣΗ 3: Έλεγχος Μονάδων TESTBENCH Ορισμός του testbench Η πρώτη εφαρμογή σχεδίασης κυκλωμάτων στην οποία χρησιμοποήθηκε η VHDL ήταν η προσομοίωση. Η προσομοίωση για να λειτουργήσει απαιτεί, εκτός από

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

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

Σχεδίαση Ψηφιακών Κυκλωμάτων Σχεδίαση Ψηφιακών Κυκλωμάτων Συνδυαστική και ακολουθιακή λογική Νικόλαος Καββαδίας nkavv@uop.gr 10 Νοεμβρίου 2010 Σκιαγράφηση της διάλεξης Αρχές σχεδίασης συνδυαστικών κυκλωμάτων CMOS Λογικές πύλες και

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

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Ορισμοί για τις χρονικές καθυστερήσεις διάδοσης. Συνδυαστική και ακολουθιακή λογική

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Ορισμοί για τις χρονικές καθυστερήσεις διάδοσης. Συνδυαστική και ακολουθιακή λογική Σκιαγράφηση της διάλεξης Σχεδίαση Ψηφιακών Κυκλωμάτων Συνδυαστική και ακολουθιακή λογική Νικόλαος Καββαδίας nkavv@uop.gr Αρχές σχεδίασης συνδυαστικών κυκλωμάτων CMOS Λογικές πύλες και βασικά συνδυαστικά

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2017-2018 Φροντιστήριο 3 - Λύσεις 1. Εστω ο πίνακας Α = [12, 23, 1, 5, 7, 19, 2, 14]. i. Να δώσετε την κατάσταση

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

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

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

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

Γλώσσες Περιγραφής Υλικού Ι. Εισαγωγικά. Οργάνωση των παραδόσεων. nkavv@uop.gr. 1 Εισαγωγή στη Verilog HDL. 28 Φεβρουαρίου 2012

Γλώσσες Περιγραφής Υλικού Ι. Εισαγωγικά. Οργάνωση των παραδόσεων. nkavv@uop.gr. 1 Εισαγωγή στη Verilog HDL. 28 Φεβρουαρίου 2012 Αντικείμενο του μαθήματος CST304: Γλώσσες Περιγραφής Υλικού Ι Γλώσσες Περιγραφής Υλικού Ι Εισαγωγή στη Verilog HDL Νικόλαος Καββαδίας nkavv@uop.gr 28 Φεβρουαρίου 2012 Επιμέρους στόχοι του μαθήματος Σχεδιασμός

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

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

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

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

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2 Pointers 1 Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2 1 Μνήμη μεταβλητών Κάθε μεταβλητή έχει διεύθυνση Δεν χρειάζεται

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

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

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

Συναρτήσεις & Κλάσεις

Συναρτήσεις & Κλάσεις Συναρτήσεις & Κλάσεις Overloading class member συναρτήσεις/1 #include typedef unsigned short int USHORT; enum BOOL { FALSE, TRUE}; class Rectangle { public: Rectangle(USHORT width, USHORT

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

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

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

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

Γλώσσες Περιγραφής Υλικού

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

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

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

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

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

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

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

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

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Ο πλήρης αθροιστής (full adder) Κυκλωματικός σχεδιασμός του πλήρους αθροιστή.

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Ο πλήρης αθροιστής (full adder) Κυκλωματικός σχεδιασμός του πλήρους αθροιστή. Σκιαγράφηση της διάλεξης Σχεδίαση Ψηφιακών Κυκλωμάτων Αριθμητικά κυκλώματα και μνήμες Νικόλαος Καββαδίας nkavv@uop.gr 24 Νοεμβρίου 2010 Ο πλήρης αθροιστής Δομές αθροιστών διάδοσης κρατουμένου Πολλαπλασιαστές

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

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

Σχεδίαση Ψηφιακών Κυκλωμάτων Σχεδίαση Ψηφιακών Κυκλωμάτων Αριθμητικά κυκλώματα και μνήμες Νικόλαος Καββαδίας nkavv@uop.gr 24 Νοεμβρίου 2010 Σκιαγράφηση της διάλεξης Ο πλήρης αθροιστής Δομές αθροιστών διάδοσης κρατουμένου Πολλαπλασιαστές

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα Αναγνώριση Προτύπων Σημερινό Μάθημα Bias (απόκλιση) και variance (διακύμανση) Ελεύθεροι Παράμετροι Ελεύθεροι Παράμετροι Διαίρεση dataset Μέθοδος holdout Cross Validation Bootstrap Bias (απόκλιση) και variance

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

Φροντιστήριο 2: Ανάλυση Αλγόριθμου. Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10

Φροντιστήριο 2: Ανάλυση Αλγόριθμου. Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10 Φροντιστήριο 2: Ανάλυση Αλγόριθμου Εκλογής Προέδρου με O(nlogn) μηνύματα Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10 Περιγραφικός Αλγόριθμος Αρχικά στείλε μήνυμα εξερεύνησης προς τα δεξιά

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

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

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

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

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

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

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

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

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

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

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

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

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

nkavv@physics.auth.gr

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

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

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή. ΣΤΟ ΦΑΡΜΑΚΕΙΟ Ο ασθενής έχοντας μαζί του το βιβλιάριο υγείας του και την τυπωμένη συνταγή από τον ιατρό, η οποία αναγράφει τον μοναδικό κωδικό της, πάει στο φαρμακείο. Το φαρμακείο αφού ταυτοποιήσει το

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

Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0,

Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0, Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Στατιστικής Εισαγωγή στην Επιχειρησιακή Ερευνα Εαρινό Εξάμηνο 2015 Μ. Ζαζάνης Πρόβλημα 1. Να διατυπώσετε το παρακάτω παίγνιο μηδενικού αθροίσματος ως πρόβλημα γραμμικού

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

Οι γέφυρες του ποταμού... Pregel (Konigsberg)

Οι γέφυρες του ποταμού... Pregel (Konigsberg) Οι γέφυρες του ποταμού... Pregel (Konigsberg) Β Δ Β Δ Γ Γ Κύκλος του Euler (Euler cycle) είναι κύκλος σε γράφημα Γ που περιέχει κάθε κορυφή του γραφήματος, και κάθε ακμή αυτού ακριβώς μία φορά. Για γράφημα

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

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις Αναγνώριση Προτύπων Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις 1 Λόγος Πιθανοφάνειας Ας υποθέσουμε ότι θέλουμε να ταξινομήσουμε

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

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

Σχεδίαση Ψηφιακών Κυκλωμάτων Σχεδίαση Ψηφιακών Κυκλωμάτων Η αρχιτεκτονική οργάνωση των FPGA Νικόλαος Καββαδίας nkavv@uop.gr 21 Δεκεμβρίου 2010 Σκιαγράφηση της διάλεξης Εισαγωγή στις προγραμματιζόμενες συσκευές Η αρχιτεκτονική οργάνωση

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

Φόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0)

Φόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0) 1. Κωδικός Μαθήματος: (Εισαγωγή στον Προγραμματισμό) 2. Α/Α Διάλεξης: 1 1. Τίτλος: Εισαγωγή στους υπολογιστές. 2. Μαθησιακοί Στόχοι: Συνοπτική παρουσίαση της εξέλιξης των γλωσσών προγραμματισμού και των

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

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

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

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή.

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή. ΣΤΟ ΙΑΤΡΕΙΟ Ο ιατρός αφού διαπιστώσει εάν το πρόσωπο που προσέρχεται για εξέταση είναι το ίδιο με αυτό που εικονίζεται στο βιβλιάριο υγείας και ελέγξει ότι είναι ασφαλιστικά ενήμερο (όπως ακριβώς γίνεται

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

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

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

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

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

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

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

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 Α. Να µεταφέρετε στο τετράδιό σας και να συµπληρώσετε τον παρακάτω πίνακα αλήθειας δύο προτάσεων

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Μούλου Ευγενία

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Μούλου Ευγενία ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΡΧΕΙΑ Ο πιο γνωστός τρόπος οργάνωσης δεδομένων με τη χρήση ηλεκτρονικών υπολογιστών είναι σε αρχεία. Ένα αρχείο μπορούμε να το χαρακτηρίσουμε σαν ένα σύνολο που αποτελείται από οργανωμένα

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

Ψηφιακή Εικόνα. Σημερινό μάθημα!

Ψηφιακή Εικόνα. Σημερινό μάθημα! Ψηφιακή Εικόνα Σημερινό μάθημα! Ψηφιακή Εικόνα Αναλογική εικόνα Ψηφιοποίηση (digitalization) Δειγματοληψία Κβαντισμός Δυαδικές δ έ (Binary) εικόνες Ψηφιακή εικόνα & οθόνη Η/Υ 1 Ψηφιακή Εικόνα Μια ακίνητη

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

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Χρήση τελεστών σε αναθέσεις. Σύνταξη κώδικα στη Verilog HDL: Βασικές συμβάσεις.

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Χρήση τελεστών σε αναθέσεις. Σύνταξη κώδικα στη Verilog HDL: Βασικές συμβάσεις. Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Προχωρημένα στοιχεία της Verilog HDL Νικόλαος Καββαδίας nkavv@uop.gr 27 Μαρτίου 2012 Προχωρημένα στοιχεία της Verilog HDL Χρήση τελεστών στη σύνταξη

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

Οι Βιβλιοθήκες IEEE και παραδείγµατα functions

Οι Βιβλιοθήκες IEEE και παραδείγµατα functions Οι Βιβλιοθήκες IEEE και παραδείγµατα functions Βιβλιοθήκες µε την Εντολή Library Η VHDL επιτρέπει βιβλιοθήκες που ορίζονται µε τηνεντολή: library LibraryName; Εδώ, ο µεταγλωτιστης µπορεί να βρεί διάφορα

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

Γλώσσες Περιγραφής Υλικού Ι

Γλώσσες Περιγραφής Υλικού Ι Γλώσσες Περιγραφής Υλικού Ι Προχωρημένα στοιχεία της Verilog HDL Νικόλαος Καββαδίας nkavv@uop.gr 27 Μαρτίου 2012 Σκιαγράφηση της διάλεξης Προχωρημένα στοιχεία της Verilog HDL Χρήση τελεστών στη σύνταξη

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

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα Αναγνώριση Προτύπων Σημερινό Μάθημα Εκτίμηση Πυκνότητας με k NN k NN vs Bayes classifier k NN vs Bayes classifier Ο κανόνας ταξινόμησης του πλησιέστερου γείτονα (k NN) lazy αλγόριθμοι O k NN ως χαλαρός

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

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α 1η σειρά ασκήσεων Ονοματεπώνυμο: Αριθμός μητρώου: Ημερομηνία παράδοσης: Μέχρι την Τρίτη 2 Απριλίου 2019 Σημειώστε τις ασκήσεις για τις οποίες έχετε παραδώσει λύση: 1

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

Μεταγλωττιστές ΙΙ. nkavv@uop.gr. Καταμερισμός καταχωρητών. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ

Μεταγλωττιστές ΙΙ. nkavv@uop.gr. Καταμερισμός καταχωρητών. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ Μεταγλωττιστές ΙΙ Καταμερισμός καταχωρητών Νικόλαος Καββαδίας nkavv@uop.gr 01 Δεκεμβρίου 2010 Γενικά για τον καταμερισμό καταχωρητών Καταμερισμός καταχωρητών (register allocation): βελτιστοποίηση μεταγλωττιστή

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

Σχέσεις και ιδιότητές τους

Σχέσεις και ιδιότητές τους Σχέσεις και ιδιότητές τους Διμελής (binary) σχέση Σ από σύνολο Χ σε σύνολο Υ είναι ένα υποσύνολο του καρτεσιανού γινομένου Χ Υ. Αν (χ,ψ) Σ, λέμε ότι το χ σχετίζεται με το ψ και σημειώνουμε χσψ. Στην περίπτωση

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

Μεταγλωττιστές ΙΙ. nkavv@uop.gr. Γέννηση ενδιάμεσης αναπαράστασης. 10 Νοεμβρίου 2010. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ

Μεταγλωττιστές ΙΙ. nkavv@uop.gr. Γέννηση ενδιάμεσης αναπαράστασης. 10 Νοεμβρίου 2010. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ Μεταγλωττιστές ΙΙ Γέννηση ενδιάμεσης αναπαράστασης Νικόλαος Καββαδίας nkavv@uop.gr 10 Νοεμβρίου 2010 Η έννοια της ενδιάμεσης αναπαράστασης Ενδιάμεση αναπαράσταση (IR: intermediate representation): απλοποιημένη,

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