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

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

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

Transcript

1 Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Δομές ελέγχου/επαλήθευσης λειτουργίας των κυκλωμάτων Νικόλαος Καββαδίας Δομές ελέγχου/επαλήθευσης λειτουργίας των κυκλωμάτων Η εντολή ASSERT Κύκλωμα ελέγχου/επαλήθευσης (testbench) Παραγωγή διανυσμάτων αναφοράς Επαλήθευση κυκλώματος ως προς διανύσματα αναφοράς Αρχεία στη VHDL Μηχανισμοί εισόδου/εξόδου και τα πακέτα STD.STANDARD και STD.TEXTIO 5 Μαΐου 2009 Η εντολή ASSERT (1) Η εντολή ASSERT (2) Η εντολή ASSERT χρησιμοποιείται για την επιστροφή μηνυμάτων στο τερματικό κατά την προσομοίωση Με την ASSERT ελέγχεται μία συνθήκη: π.χ. αν ένα SIGNAL έχει λάβει συγκεκριμένη αριθμητική τιμή κάποια στιγμή κατά τη διάρκεια της προσομοίωσης Η ASSERT αποτελείται από τρία τμήματα 1 Τμήμα συνθήκης (condition) 2 Τμήμα αναφοράς μηνύματος που προσδιορίζεται από τη λέξη κλειδί REPORT 3 Τμήμα σοβαρότητας στο οποίο γίνεται δήλωση της επίδρασης που έχει η μη ικανοποίηση της συνθήκης στη συνέχεια της προσομοίωσης. Σημειώνεται με τη λέξη κλειδί SEVERITY h Η εντολή ASSERT δεν είναι συνθέσιμη και η χρήση της περιορίζεται αποκλειστικά σε testbenches Σύνταξη της εντολής ASSERT ASSERT <condition> [ REPORT "<message>"] [ SEVERITY <severity level>]; END <package name>; Τα επίπεδα σοβαρότητας είναι: σημείωση (NOTE), προειδοποίηση (WARNING), σφάλμα (ERROR), ή αποτυχία (FAILURE) Το μήνυμα επιστρέφεται όταν η τιμή της συνθήκης είναι FALSE Παράδειγμα εντολής ASSERT 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;

2 Επίπεδα σοβαρότητας σε μια εντολή ASSERT Αρχεία στη VHDL Ο παρακάτω πίνακας συνοψίζει το ρόλο των επίπεδων σοβαρότητας Επίπεδο σοβαρότητας NOTE WARNING ERROR FAILURE Χρήση Γενική πληροφορία για την κατάσταση μέρους του κυκλώματος Ενημέρωση για πιθανά προβλήματα κάτω από ορισμένες συνθήκες λειτουργίας του κυκλώματος Ενημέρωση για συνθήκες λειτουργίας του κυκλώματος που μπορεί να προκαλέσουν σφάλματα Ενημέρωση για συνθήκες λειτουργίας με ενδεχόμενα καταστροφικά αποτελέσματα Ο τύπος ΑΡΧΕΙΟΥ (FILE) προσφέρει ένα βολικό τρόπο για την επικοινωνία μιας περιγραφής VHDL με το περιβάλλον του μηχανήματος-ξενιστή (ο υπολογιστής στον οποίο γίνεται η ανάπτυξη και ο έλεγχος λειτουργίας της περιγραφής) Η δήλωση ενός αρχείου επιτρέπει σε κώδικα VHDL να γίνει κάποια χρήση του αρχείου Ενα αρχείο μπορεί να ανοιχτεί για ανάγνωση ή εγγραφή Από το πρότυπο VHDL-93 και έπειτα, οι λειτουργίες ανοίγματος και κλεισίματος ενός αρχείου πραγματοποιούνται με τις διαδικασίες FILE_OPEN() και FILE_CLOSE() Στη βιβλιοθήκη STD Το πακέτο STANDARD ορίζει βασικές ρουτίνες για είσοδο και έξοδο (I/O) αντικειμένων των βασικών τύπων της VHDL Το πακέτο TEXTIO ορίζει πιο ισχυρές ρουτίνες για το χειρισμό αρχείων κειμένου Ορισμοί για το χειρισμό αρχείων στη VHDL (1) Ορισμοί για το χειρισμό αρχείων στη VHDL (2) Ορισμός του αρχείου κειμένου (πακέτο TEXTIO) type LINE is access STRING; -- A LINE is a pointer to a STRING value. -- Predefined operators for type LINE: "=", "/=" type TEXT is file of STRING; Τα προκαθορισμένα αρχεία κειμένου INPUT και OUTPUT (πακέτο TEXTIO) -- Standard text files: file INPUT: TEXT open READ_MODE is "STD_INPUT"; file OUTPUT: TEXT open WRITE_MODE is "STD_OUTPUT"; Τρόποι ανοίγματος ενός αρχείου (πακέτο STANDARD) type FILE_OPEN_KIND is ( READ_MODE, -- Resulting access mode is read -only. WRITE_MODE, -- Resulting access mode is write -only. APPEND_MODE -- Resulting access mode is write -only; information -- is appended to the end of the existing file. Τύπος κατάστασης ενός αρχείου (πακέτο STANDARD) type FILE_OPEN_STATUS is ( OPEN_OK, -- File open was successful. STATUS_ERROR, -- File object was already open. NAME_ERROR, -- External file not found or inaccessible. MODE_ERROR -- Could not open file with requested access mode. Διαδικασίες για το χειρισμό αρχείων κειμένου (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 procedure READ (file F: TEXT; VALUE: out STRING procedure WRITE (file F: TEXT; VALUE: in STRING function ENDFILE (file F: TEXT) return BOOLEAN; Ο τύπος SIDE και ο υποτύπος WIDTH type SIDE is (RIGHT, LEFT -- For justifying output data within fields. -- Predefined operators for the SIDE type: subtype WIDTH is natural;

3 Ρουτίνες εισόδου (ανάγνωσης) για αρχεία κειμένου (πακέτο TEXTIO) Ρουτίνες εξόδου (εγγραφής) για αρχεία κειμένου (πακέτο TEXTIO) procedure READLINE (file F: TEXT; L: inout LINE procedure READ (L: inout LINE; VALUE: out BIT; GOOD: out BOOLEAN procedure READ (L: inout LINE; VALUE: out BIT procedure READ (L: inout LINE; VALUE: out BIT_VECTOR; GOOD: out BOOLEAN procedure READ (L: inout LINE; VALUE: out BIT_VECTOR procedure READ (L: inout LINE; VALUE: out BOOLEAN; GOOD: out BOOLEAN procedure READ (L: inout LINE; VALUE: out BOOLEAN procedure READ (L: inout LINE; VALUE: out CHARACTER; GOOD: out BOOLEAN procedure READ (L: inout LINE; VALUE: out CHARACTER procedure READ (L: inout LINE; VALUE: out INTEGER; GOOD: out BOOLEAN procedure READ (L: inout LINE; VALUE: out INTEGER procedure READ (L: inout LINE; VALUE: out REAL; GOOD: out BOOLEAN procedure READ (L: inout LINE; VALUE: out REAL procedure READ (L: inout LINE; VALUE: out STRING; GOOD: out BOOLEAN procedure READ (L: inout LINE; VALUE: out STRING procedure READ (L: inout LINE; VALUE: out TIME; GOOD: out BOOLEAN procedure READ (L: inout LINE; VALUE: out TIME procedure WRITELINE (file F: TEXT; L: inout LINE procedure WRITE (L: inout LINE; VALUE: in BIT; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0 procedure WRITE (L: inout LINE; VALUE: in BIT_VECTOR; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0 procedure WRITE (L: inout LINE; VALUE: in BOOLEAN; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0 procedure WRITE (L: inout LINE; VALUE: in CHARACTER; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0 procedure WRITE (L: inout LINE; VALUE: in INTEGER; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0 procedure WRITE (L: inout LINE; VALUE: in REAL; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0; DIGITS: in NATURAL:= 0 procedure WRITE (L: inout LINE; VALUE: in STRING; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0 procedure WRITE (L: inout LINE; VALUE: in TIME; JUSTIFIED: in SIDE:= RIGHT; FIELD: in WIDTH := 0; UNIT: in TIME:= ns Ρουτίνες εισόδου και εξόδου από το μη τυποποιημένο πακέτο IEEE.STD_LOGIC_TEXTIO (1) Ρουτίνες εισόδου και εξόδου από το μη τυποποιημένο πακέτο IEEE.STD_LOGIC_TEXTIO (2) Στο πακέτο STD_LOGIC_TEXTIO περιγράφονται ορισμένες χρήσιμες συναρτήσεις για την είσοδο και έξοδο αντικειμένων του τύπου STD_LOGIC_VECTOR Περιγράφονται επίσης και συναρτήσεις για την είσοδο και έξοδο αριθμών δεκαεξαδικής βάσης (hexadecimal) i Το πακέτο αυτό συνήθως είναι μεταγλωττισμένο στη βιβλιοθήκη IEEE χωρίς όμως να ανήκει σε αυτήν -- Read and Write procedures for STD_LOGIC_VECTOR procedure READ(L:inout LINE; VALUE:out STD_LOGIC_VECTOR procedure READ(L:inout LINE; VALUE:out STD_LOGIC_VECTOR; GOOD: out BOOLEAN procedure WRITE(L:inout LINE; VALUE:in STD_LOGIC_VECTOR; JUSTIFIED:in SIDE := RIGHT; FIELD:in WIDTH := 0 procedure HREAD(L:inout LINE; VALUE:out STD_ULOGIC_VECTOR procedure HREAD(L:inout LINE; VALUE:out STD_ULOGIC_VECTOR; GOOD: out BOOLEAN procedure HWRITE(L:inout LINE; VALUE:in STD_ULOGIC_VECTOR; JUSTIFIED:in SIDE := RIGHT; FIELD:in WIDTH := 0 procedure HREAD(L:inout LINE; VALUE:out STD_LOGIC_VECTOR 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

4 Περιγραφές ελέγχου/επαλήθευσης λειτουργίας (testbenches) Λειτουργία ενός testbench Σε μία σχεδίαση, το testbench αντιστοιχεί στο υψηλότερο επίπεδο ιεραρχίας Η entity ενός testbench δεν περιλαμβάνει καμία δήλωση ϑύρας, μπορεί όμως να περιλαμβάνει generics Στο testbench, δηλώνεται το COMPONENT του συνολικού κυκλώματος Ενα testbench μπορεί να χρησιμοποιηθεί και για τα εξής: Παραγωγή σημάτων διέγερσης για την προσομοίωση Την υλοποίηση των μηχανισμών του κυκλώματος, αλλά σε επίπεδο behavioral για τη δημιουργία διανυσμάτων αναφοράς (reference vectors) Την παράλληλη (μαζί με την εφαρμογή εισόδων στο εξεταζόμενο κύκλωμα) υλοποίηση του σε επίπεδο behavioral για την άμεση σύγκριση των αναμενόμενων με τις πραγματικές τιμές εξόδου κατά την προσομοίωση Το testbench αποτελεί ένα εικονικό κύκλωμα το οποίο εφαρμόζει εισόδους προς (διέγερση: stimulus) και λαμβάνει εξόδους (απόκριση: response) από το πραγματικό κύκλωμα Οργάνωση της περιγραφής ενός testbench Παραγωγή σήματος ρολογιού για χρήση σε testbench Τυπική οργάνωση ενός αρχείου testbench 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; Για τον έλεγχο της λειτουργίας σύγχρονων κυκλωμάτων χρειάζεται η δημιουργία μιας εικονικής γεννήτριας ρολογιού Περιγράφεται σε ξεχωριστή διεργασία στο testbench σε σχέση με τη διέγερση των άλλων εισόδων του κυκλώματος i Σε ορισμένες περιπτώσεις, σε ξεχωριστή διεργασία πραγματοποιείται και η γέννηση του σήματος reset architecture tb_arch of counter is component counter clk, reset : in std_logic; q : out unsigned(3 downto 0) end component; signal clk: std_logic; constant CLK_PERIOD : time := 50 ns; CLK_GEN_PROC: process(clk) if (clk = U ) then clk <= 1 ; clk <= not clk after CLK_PERIOD/2; end process CLK_GEN_PROC; end tb_arch;

5 Οι βασικές λειτουργίες εισόδου και εξόδου κειμένου Το πακέτο STANDARD: Γενικοί τύποι και υποτύποι Οι βασικές λειτουργίες με περιεχόμενα αρχείων στη VHDL περιορίζονται στην αφορμάριστη (unformatted) είσοδο και έξοδο χαρακτήρων ASCII προς και από αρχεία, χρησιμοποιώντας τις διαδικασίες του πακέτου TEXTIO Το πακέτο TEXTIO υποστηρίζει τους παρακάτω τύπους δεδομένων BIT, BIT_VECTOR BOOLEAN CHARACTER και πίνακες χαρακτήρων (STRING) INTEGER και REAL TIME type BOOLEAN is (FALSE, TRUE type BIT is ( 0, 1 -- Predefined operators for the BOOLEAN and BIT types: -- "and", "or", "nand", "nor", "xor", "xnor", "not" type INTEGER is range to ; -- Predefined operators for the INTEGER type: -- unary: "+", "-", "abs" -- binary: "+", "-", "*", "/", "mod", "rem", "**" type REAL is range -1.0E308 to 1.0E308; -- Predefined operators for the REAL type: -- unary: "+", "-", "abs" -- binary: "+", "-", "*", "/", "**" type BIT_VECTOR is array (NATURAL range <>) of BIT; -- Predefined operators for the BIT_VECTOR type: -- "and", "or", "nand", "nor", "xor", "xnor", "not" -- "sll", "srl", "sla", "sra", "rol", "ror" -- "&" (accepting BIT, BIT_VECTOR in any of the four combinations) subtype NATURAL is INTEGER range 0 to INTEGER HIGH; subtype POSITIVE is INTEGER range 1 to INTEGER HIGH; Το πακέτο STANDARD: Οι τύποι TIME και SEVERITY Το πακέτο STANDARD: Οι τύποι CHARACTER και STRING type TIME is range to units fs; -- femtosecond ps = 1000 fs; -- picosecond ns = 1000 ps; -- nanosecond us = 1000 ns; -- microsecond ms = 1000 us; -- millisecond sec = 1000 ms; -- second min = 60 sec; -- minute hr = 60 min; -- hour end units; -- Predefined operators for the TIME type: -- unary: "+", "-", "abs" -- binary: "+", "-" (accepting TIME) -- "*" (accepting TIME and INTEGER or TIME and REAL) -- "/" (accepting TIME and INTEGER or TIME and REAL or TIME and TIME, thus -- returning an integer with no dimensions) type SEVERITY_LEVEL is (NOTE, WARNING, ERROR, FAILURE -- The predefined operators for this type are as follows: -- Predefined operators for the SEVERITY type: type CHARACTER is ( NUL, SOH, STX, ETX, EOT, ENQ, ACK, BEL, BS, HT, LF, VT, FF, CR, SO, SI, DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB, CAN, EM, SUB, ESC, FSP, GSP, RSP, USP,,!, ", #, $, %, &,, (, ), *, +,,, -,., /, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, :, ;, <, =, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [, \, ], ˆ, _,, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, {,, },, DEL, -- Predefined operators for the CHARACTER type: type STRING is array (POSITIVE range <>) of CHARACTER; -- Predefined operators for the STRING type: -- "&" (accepting CHARACTER, STRING in any of the four combinations)

6 Χρησιμοποιώντας το πακέτο TEXTIO για είσοδο και έξοδο από αρχεία Παράδειγμα 1: Διέγερση σημάτων εισόδου από process (1) Ανάγνωση από αρχείο 1 Η συνάρτηση READLINE διαβάζει μία σειρά από το αρχείο και την αποθηκεύει σε μία μεταβλητή τύπου LINE 2 Η συνάρτηση READ ανακτά τα δεδομένα από το χώρο προσωρινής αποθήκευσης που προσφέρει η μεταβλητή τύπου LINE Εγγραφή σε αρχείο 1 Η WRITE γράφει δεδομένα σε μία μεταβλητή LINE 2 Η WRITELINE γράφει τα προσωρινά αποθηκευμένα δεδομένα που διατηρούνται στη LINE, στο αρχείο Οι συναρτήσεις READ και WRITE διαθέτουν παραμέτρους διαμόρφωσης για το κείμενο εισόδου και εξόδου Εύρος πεδίου Δεξιά ή αριστερή στοίχιση Απεικονιζόμενη μονάδα του χρόνου (για μεταβλητές TIME) Η παρακάτω entity αντιστοιχεί σε κύκλωμα διαδρόμου δεδομένων για τον υπολογισμό της έκφρασης (a + b) XOR (c AND d) και των μερικών αποτελεσμάτων a + b και c AND d entity datapath is clk, reset : in std_logic; in1 : in std_logic_vector(7 downto 0 in2 : in std_logic_vector(7 downto 0 in3 : in std_logic_vector(7 downto 0 in4 : in std_logic_vector(7 downto 0 sel : in std_logic_vector(2 downto 0 outp : out std_logic_vector(7 downto 0) end datapath; Σχηματικό διάγραμμα c d a Complex function and add xor 3-to-1 MUX D-type register 2-to-1 MUX e b Παράδειγμα 1: Διέγερση σημάτων εισόδου από process (2) library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; entity datapath_tb is end datapath_tb; architecture tb_arch of datapath_tb is component datapath clk, reset : in std_logic; in1, in2, in3, in4 : in std_logic_vector(7 downto 0 sel : in std_logic_vector(2 downto 0 outp : out std_logic_vector(7 downto 0) end component; signal clk, reset: std_logic; signal in1, in2, in3, in4: std_logic_vector(7 downto 0 signal sel: std_logic_vector(2 downto 0 signal outp : std_logic_vector(7 downto 0 constant CLK_PERIOD : time := 50 ns; Παράδειγμα 1: Διέγερση σημάτων εισόδου από process (3) uut : datapath port map ( clk => clk, reset => reset, in1 => in1, in2 => in2, in3 => in3, in4 => in4, sel => sel, outp => outp 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; end tb_arch;

7 Παράδειγμα 2: Εγγραφή αποτελεσμάτων σε αρχείο εξόδου (1) Παράδειγμα 2: Εγγραφή αποτελεσμάτων σε αρχείο εξόδου (2) Κύκλωμα παραμετρικού αθροιστή σε επίπεδο RTL library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity add is generic ( DW : integer := 8 a : in std_logic_vector(dw-1 downto 0 b : in std_logic_vector(dw-1 downto 0 sum : out std_logic_vector(dw-1 downto 0) end add; architecture rtl of add is sum <= a + b; end rtl; Περιγραφή του αρχείου testbench library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_textio.all; use std.textio.all; entity add_tb is generic (Dw: INTEGER:= 8 end add_tb; architecture TB_ARCHITECTURE of add_tb is -- Component declaration of the tested unit component add generic (Dw: INTEGER:= 8 a : in std_logic_vector (Dw-1 downto 0 b : in std_logic_vector (Dw-1 downto 0 sum : out std_logic_vector (Dw -1 downto 0) end component; -- Stimulus signals signal a : std_logic_vector(dw-1 downto 0 signal b : std_logic_vector(dw-1 downto 0 -- Observed signals signal sum : std_logic_vector(dw -1 downto 0 -- file output_log : text open write_mode is "add.log"; Παράδειγμα 2: Εγγραφή αποτελεσμάτων σε αρχείο εξόδου (3) Παράδειγμα 2: Εγγραφή αποτελεσμάτων σε αρχείο εξόδου (4) UUT : add generic map (Dw => Dw) port map ( a => a, b => b, sum => sum process a <= X"FF"; b <= X"10"; a <= X"10"; b <= X"89"; a <= X"E5"; b <= X"9A"; a <= X"FD"; b <= X"01"; a <= X"FE"; b <= X"07"; end process; output_log_proc: process variable out_line : line; write(out_line, NOW, left, 8 -- Write values for output signals 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 end process output_log_proc; end TB_ARCHITECTURE; Το παραγόμενο αρχείο εξόδου add.log 0 ns a: 00 b: 00 sum: ns a: FF b: 10 sum: 0F 20 ns a: 10 b: 89 sum: ns a: E5 b: 9A sum: 7F 40 ns a: FD b: 01 sum: FE 50 ns a: FE b: 07 sum: ns a: FF b: 10 sum: 0F 70 ns a: 10 b: 89 sum: ns a: E5 b: 9A sum: 7F 90 ns a: FD b: 01 sum: FE 100 ns a: FE b: 07 sum: 05

8 διανύσματα αναφοράς από αρχείο (1) διανύσματα αναφοράς από αρχείο (2) Σχηματικό διάγραμμα Σχεδιασμός και έλεγχος κυκλώματος το οποίο υλοποιεί τον έλεγχο ενός βρόχου στο υλικό initial step curr_ix final Παράγει τον επόμενο δείκτη βρόχου (next_ix) γνωρίζοντας τις παραμέτρους του βρόχου (initial, step, final) και την τρέχουσα τιμή του δείκτη. Επίσης σηματοδοτεί τον τερματισμό του βρόχου (loop_end) + 1 == + MUX > 0 1 Το κύκλωμα μπορεί να χρησιμοποιηθεί για τον έλεγχο απλών, μη φωλιασμένων δομών βρόχου της μορφής: for (ix = initial; ix <=final; ix+=step) { statements; } == MUX MUX next_ix loop_end διανύσματα αναφοράς από αρχείο (3) διανύσματα αναφοράς από αρχείο (4) Περιγραφή του κυκλώματος υπολογισμού δείκτη Περιγραφή του κυκλώματος υπολογισμού δείκτη (συνέχεια) library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity hwloop is generic ( DW : integer := 8 initial : in std_logic_vector(dw-1 downto 0 step : in std_logic_vector(dw-1 downto 0 final : in std_logic_vector(dw-1 downto 0 current_index : in std_logic_vector(dw-1 downto 0 next_index : out std_logic_vector(dw -1 downto 0 loop_end : out std_logic end hwloop; architecture rtl of hwloop is signal add_out : std_logic_vector(dw -1 downto 0 signal loop_end_t : std_logic; process (initial, step, final, current_index, add_out, loop_end_t) if (current_index = initial) then add_out <= initial + step; add_out <= current_index + step; if (add_out > final) then loop_end_t <= 1 ; loop_end_t <= 0 ; if (loop_end_t = 1 ) then next_index <= initial; next_index <= add_out; end process; loop_end <= loop_end_t; end rtl;

9 διανύσματα αναφοράς από αρχείο (5) διανύσματα αναφοράς από αρχείο (6) Αρχείο testbench για το κύκλωμα library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_textio.all; use std.textio.all; entity hwloop_tb is generic ( DW : INTEGER := 8 end hwloop_tb; architecture tb_arch of hwloop_tb is constant CLK_PERIOD : time := 10 ns; UUT : hwloop generic map ( DW => DW ) port map ( initial => initial, step => step, final => final, current_index => current_index, next_index => next_index, loop_end => loop_end Αρχείο testbench για το κύκλωμα (συνέχεια - 1) RW_VECTORS: process variable line_in : line; file input_vec_file : text open read_mode is "hwloop_ref.vec"; variable errordet : boolean; variable initial_iv : std_logic_vector(dw-1 downto 0 variable step_iv : std_logic_vector(dw-1 downto 0 variable final_iv : std_logic_vector(dw-1 downto 0 variable current_index_iv : std_logic_vector(dw-1 downto 0 variable next_index_ov : std_logic_vector(dw-1 downto 0 variable loop_end_ov : std_logic; variable initial_str : string(1 to 5) := "init="; variable step_str : string(1 to 5) := "step="; variable final_str : string(1 to 5) := "finl="; variable current_index_str: string(1 to 8) := "curr="; variable next_index_str : string(1 to 8) := "next="; variable loop_end_str : string(1 to 9) := "loop_end="; variable scolon_str : character := ; ; while not (endfile(input_vec_file)) loop readline(input_vec_file, line_in read(line_in,initial_str read(line_in,initial_iv read(line_in,scolon_str read(line_in,step_str read(line_in,step_iv read(line_in,scolon_str διανύσματα αναφοράς από αρχείο (7) διανύσματα αναφοράς από αρχείο (8) Αρχείο testbench για το κύκλωμα (συνέχεια - 2) read(line_in,final_str read(line_in,final_iv read(line_in,scolon_str read(line_in,current_index_str read(line_in,current_index_iv read(line_in,scolon_str read(line_in,next_index_str read(line_in,next_index_ov read(line_in,scolon_str read(line_in,loop_end_str read(line_in,loop_end_ov read(line_in,scolon_str -- assign input signals from the file vectors initial <= initial_iv; step <= step_iv; final <= final_iv; current_index <= current_index_iv; wait for CLK_PERIOD/2; -- Checking actual results with expected results if (next_index /= next_index_ov) then assert errordet REPORT "next_index: vector mismatch"; if (loop_end /= loop_end_ov) then assert errordet REPORT "loop_end: vector mismatch"; wait for CLK_PERIOD/2; end loop; wait; end process RW_VECTORS; Νικόλαος endκαββαδίας tb_arch; nkavv@physics.auth.gr nkavv@uop.gr Γλώσσες Περιγραφής Υλικού Το αρχείο με τα διανύσματα αναφοράς (hwloop_ref.vec) init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=1; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=0; init = ; step = ; finl = ; curr = ; next = ; loop_end=1;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Library, package και subprograms

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

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

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

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

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

nkavv@physics.auth.gr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προσοµοίωση Συστηµάτων µε 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. Οντότητες και συντρέχουσες δηλώσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Structural VHDL. Structural VHDL

Structural VHDL. Structural VHDL Structural VHDL Παράδειγμα Multiplexer Component Component specification Port map command Unconnected outputs Unconnected inputs Generic map command Generate command Configuration Παράδειγμα 4-bit Adder

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 10: Συµπληρωµατική Διάλεξη Flip-Flops (Basics) και VHDL)

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

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

Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο VHDL (revisited)

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

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

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

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 5: Κυριολεκτικά Συνδυασμοί / Μετατροπές Τύπων Αριθμητική Χαρακτήρων Κυριολεκτικά (literals) 2 Κάποιες μεταβλητές του προγράμματος πρέπει συνήθως να αρχικοποιηθούν με συγκεκριμένη

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

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

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

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY120) #4 κυριολεκτικά & μετατροπή τύπων 1 Σπύρος Λάλης Κυριολεκτικά (literals) Συχνά θέλουμε να αρχικοποιήσουμε μεταβλητές του προγράμματος με μια συγκεκριμένη τιμή υπάρχει επίσης η

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

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

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

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

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

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

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

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

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

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 12: Συνοπτική Παρουσίαση Ανάπτυξης Κώδικα με το Matlab Σαμαράς Νικόλαος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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