(Peter Ashenden, The Students Guide to VHDL)
|
|
- Άνεμονη Κυπραίος
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Υποπρογράµµατα Πακέτα (Peter Ashenden, The Students Guide to VHDL)
2 Procedures Μία διαδικασία (procedure) δηλώνεται και κατόπιν καλείται όσες φορές θέλουµε. procedure identifier [(parameter_interface_list)] is {subprogram_declarative_part} {sequential statement} end [procedure] d [identifier] Οποιαδήποτε δήλωση γίνει στην διαδικασία είναι ορατή µόνο εσωτερικά (τοπικά). Η κλήση µίας ρουτίνας γίνεται µε το όνοµά της ακολουθούµενο από την λίστα των παραµέτρων της. Η επιστροφή από την διαδικασία γίνεται στο τέλος της ή µε το return. Υποπρογράµµατα - Πακέτα 2
3 architecture rtl of control_processor is type func_code is (add, subtract); signal op1, op2, dest : integer; signal Z_flag : boolean; signal func : func_code; alu : process is procedure do_arith_op is variable result : integer; case func is when add => result := op1 + op2; when subtract => result := op1 - op2; end case; dest <= result after Tpd; Z_flag <= result = 0 after Tpd; end procedure do_arith_op; Παράδειγµα do_arith_op; end process alu; end architecture rtl; Υποπρογράµµατα - Πακέτα 3
4 Παράµετροι - Μεταβλητές Μία διαδικασία (procedure) µπορεί να παίρνει παραµέτρους ώστε να προσαρµόζει την λειτουργία της. Η δήλωση παραµέτρων ακολουθεί το συντακτικό της δήλωσης θυρών. procedure do_arith_op ( op : in func_code ) is variable result : integer; case op is when add => result := op1 + op2; when subtract => result := op1 - op2; end case; dest <= result after Tpd; Z_flag <= result = 0 after Tpd; end procedure do_arith_op; Η κλήση γίνεται ως: do_arith_op(add); Υποπρογράµµατα - Πακέτα 4
5 Παράµετροι - Μεταβλητές Οι παράµετροι που δηλώνονται ως in θεωρούνται από την procedure ως σταθερές αφού δεν µπορεί να µεταβληθεί η τιµή τους. Στην procedure περνάει µόνο η τιµή τους. Η επιστροφή τιµών γίνεται µε παραµέτρους out. procedure addu ( a,b: in word32; result: out word32; overflow: out boolean ) is variable sum : word32; variable carry : bit := '0'; for index in sum'reverse_range loop sum(index) := a(index) xor b(index) xor carry; carry := ( a(index) and b(index) ) or ( carry and ( a(index) xor b(index) ) ); end loop; result := sum; overflow := carry = '1'; end procedure addu; Υποπρογράµµατα - Πακέτα 5
6 Παράµετροι - Μεταβλητές Οι παράµετροι που δηλώνονται ως out δεν µπορούν να περάσουν τιµή στην procedure. Το ταυτόχρονο πέρασµα και η επιστροφή τιµών γίνεται µε παραµέτρους inout. procedure negate ( a : inout word32 ) is variable carry_in : bit := '1'; variable carry_out : bit; a := not a; for index in a'reverse_range loop carry_out := a(index) and carry_in; a(index) := a(index) xor carry_in; carry_in := carry_out; end loop; end procedure negate; Υποπρογράµµατα - Πακέτα 6
7 Παράµετροι Σήµατα Ένα σήµα που περνάει σαν παράµετρος µπορεί να είναι in, out, inout. ιαφοροποίηση από µεταβλητές: Το σήµα που περνάει σαν παράµετρος in περνάει σαν αντικείµενο και όχι σαν τιµή. Έτσι µπορεί να εκτελεστεί ένα wait statement στην procedure αφού η τιµή του σήµατος όταν αλλάξει είναι ορατή εσωτερικά στην procedure. procedure receive_packet ( signal rx_data : in bit; signal rx_clock : in bit; data_buffer : out packet_array ) is for index in packet_index_range loop wait until rx_clock = '1'; data_buffer(index) := rx_data; end loop; end procedure receive_packet Υποπρογράµµατα - Πακέτα 7
8 Τιµές Default Μπορούµε να δώσουµε τιµές default στις παραµέτρους. Οι τιµές αυτές περνούν στις αντίστοιχες παραµέτρους εάν δεν οριστούν άλλες από τον χρήστη κατά την κλήση της procedure. procedure increment ( a : inout word32; by : in word32 := X"0000_0001" ) is variable sum : word32; variable carry : bit := '0'; for index in a'reverse reverse_range range loop sum(index) := a(index) xor by(index) xor carry; carry := ( a(index) and by(index) ) or ( carry and ( a(index) xor by(index) ) ); end loop; a := sum; end procedure increment; Η κλήση γίνεται ως: incrementer(count, X 0000_0004 ) ή ως incrementer(counter); ή ως incrementer(counter, by => open); Υποπρογράµµατα - Πακέτα 8
9 Παράµετροι Πίνακες χωρίς όρια Ένας µη οριοθετηµένος πίνακας µπορεί να χρησιµοποιηθεί σαν παράµετρος σε διαδικασία (procedure). Κατά την κλήση της procedure πρέπει να περάσουµε σαν παράµετρο έναν οριοθετηµένο πίνακα. procedure find_set(v:in bit_vector; found:out boolean; first_set_index:out natural ) is for index in v'range loop if v(index) = '1' then found := true; first_set_index := index; return; end if; end loop; found := false; end procedure find_first_set; Υποπρογράµµατα - Πακέτα 9
10 Συναρτήσεις Οι συναρτήσεις χρησιµοποιούνται ως γενίκευση των εκφράσεων. Μία συνάρτηση επιστρέφει τιµή οπότε µπορεί να χρησιµοποιηθεί σε οποιαδήποτε έκφραση. Χρήση συναρτήσεων Μετατροπές τύπων δεδοµένων δδ και συστηµάτων. Χρησιµοποιούνται σε αρχιτεκτονικές αντί δηµιουργίας στιγµιοτύπων. Επιλύουν διαµάχες πολλαπλών οδηγών σηµάτων (resolution functions). ηµιουργία τελεστών υπερφόρτωσης. Υποπρογράµµατα - Πακέτα 10
11 Συναρτήσεις subprogram_body <= [pure impure] function identifier [(parameter_interface_list)] return type_mark is {subprogram_declarative_item} {sequential_statement} end [function] [identifier] Κανόνες συναρτήσεων Οι παράµετροι µίας συνάρτησης πρέπει να είναι σταθερές (σε µία οντότητα µόνο οι θύρες τύπου in µπορούν να συµµετάσχουν). Η συνάρτηση επιστρέφει τιµή µε την κλήση return expression; Κάθε συνάρτηση πρέπει να περιλαµβάνει τουλάχιστον µία έκφραση return. Οι συναρτήσεις περιέχουν µόνο ακολουθιακές προτάσεις. Απαγορεύεται η χρήση εντολής wait σε µία συνάρτηση Υποπρογράµµατα - Πακέτα 11
12 Παράδειγµα: αντιστροφή byte entity byte_inv is port ( x : in bit_vector (7 downto 0); y : out bit_vector (7 downto 0) ); end byte_inv; architecture behave of byte_inv is function invert (input: bit_vector (7 downto 0) ) return bit_vector is variable x_out : bit_vector (7 downto 0); for i in 7 downto 0 loop x_out(7-i) := input(i); end loop; return x_out; end invert; y<invert(x); end; Υποπρογράµµατα - Πακέτα 12
13 Παράδειγµα: µετατροπή τύπου entity bool_conv is port ( x : in bit; y : out bit ); end bool_conv; architecture behave of bool_conv is function boolean_to_bit (z: boolean) return bit is if z then return '1'; else return '0'; end if; end boolean_to_bit; p0: process (x) variable b: boolean; b:=true; y<=x xor boolean_to_bit(b); end process; end behave; Υποπρογράµµατα - Πακέτα 13
14 Παράδειγµα: µετατροπή ακεραίου σε δυαδικό function int_to_bit_vector (value: integer) return bit_vector is variable z: bit_vector (N-1 downto 0); variable a: integer:=value; for i in 0 to N-1 loop if ( (a mod 2)=1 ) then z(i):='1'; else z(i):='0'; end if; a:=a/2; end loop; return z; end int_to_bit_vector; Το a είναι απαραίτητο καθώς η µεταβλητή value δεν µπορεί να µεταβληθεί Υποπρογράµµατα - Πακέτα 14
15 Αναπαράσταση σταθερής υποδιαστολής Η θέση της υποδιαστολής δηλώνεται ρητά library ieee; use ieee.fixed_pkg.all; A 3 A 2 A 1 A 0.A -1 A -2 entity fixed_converter is port ( A : in ufixed (3 downto -2); B : out sfixed (4 downto -2) ); πρόσηµο B 4 B 3 B 2 B 1 B 0.B -1 B -2 Υποπρογράµµατα - Πακέτα 15
16 Αναπαράσταση κινητής υποδιαστολής s Ε εκθέτης Μ µαντίσα (-1) s x 2 E-πολωση x 1.M library ieee; use ieee.float_pkg.all; A 3 A 2 A 1 A 0.A -1 A -2 entity float_converter is port ( B : in float (4 downto -5); ); B 4 B 3 B 2 B 1 B 0 B -1 B -2 B -3 B -4 B -5 πρόσηµο εκθέτης µαντίσα Υποπρογράµµατα - Πακέτα 16
17 Συναρτήσεις επίλυσης διαµαχών Είναι χρήσιµες όταν ένα σήµα έχει περισσότερους του ενός οδηγούς entity unresolved is port ( x, y : in bit; f : out bit ); end unresolved; architecture behave of unresolved is signal z: bit; z<=x; z<=y; f<=z; end; vhd(8): Error, multiple sources on unresolved signal z; Υποπρογράµµατα - Πακέτα 17
18 Συναρτήσεις επίλυσης διαµαχών entity resolved is port ( x, y : in bit; f : out bit ); end resolved; Απεριόριστο δεν γνωρίζουµε πόσοι είναι οι οδηγοί architecture behave of resolved is type input_signals is array (natural range <>) of bit; function resolution (inputs: input signals) return rn bit is variable result: bit:='1'; for i in inputs'range loop result:=result and inputs(i); exit when result='0'; end loop return result; end resolution; signal z: resolution bit; z<=x; z<=y; f<=z; end resolution; Υποπρογράµµατα - Πακέτα 18
19 Συναρτήσεις υπερφόρτωσης τελεστών entity add_bit_vectors is generic (size: integer:=8); port ( x, y : in bit_vector(size-1 downto 0); z : out bit_vector(size-1 downto 0) ); end add_bit_vectors; architecture behave of add_bit_vectors is function "+" (a, b : bit_vector(size-1 downto 0)) return bit_vector is variable result: bit_vector (a'range); variable carry: bit; carry:='0'; for i in a'low to a'high loop result(i):=a(i) xor b(i) xor carry; carry:=((a(i) or (b(i)) and carry) or (a(i) and b(i)); end loop end; return result; z<=x+y; end behave; Υποπρογράµµατα - Πακέτα 19
20 ηλώσεις Πακέτων Ένα πακέτο στην VHDL είναι ένας τρόπος οµαδοποίησης µίας συλλογής από σχετικές δηλώσεις που εξυπηρετούν ένα κοινό σκοπό. Ένα πακέτο µπορεί να αποτελείται από ένα σύνολο δηλώσεων που µοντελοποιούν έναν σχεδιασµό ή ένα σύνολο υποπρογραµµάτων. package_declaration <= package identifier is { package age_dec declarative at ve_ item} end [package] [identifier]; Για να χρησιµοποιήσουµε µία δήλωση ενός πακέτου χρησιµοποιούµε τελείες: Όνοµα_Βιβλιοθήκης. Όνοµα_Πακέτου. Αντικείµενο Ένα πακέτο όταν αναλυθεί τοποθετείται στην βιβλιοθήκη εργασίας. Γενικά σήµατα (ρολόϊ) είναι προτιµότερο να τοποθετούνται σε πακέτα. Υποπρογράµµατα - Πακέτα 20
21 Παράδειγµα package cpu_types is constant word_size : positive := 16; constant address_size : positive := 24; subtype word is bit_vector(word_size - 1 downto 0); subtype address is bit_vector(address_size - 1 downto 0); type status_value is ( halted, idle, fetch, mem_read, mem_write, io_read, io_write, int_ack ); end package cpu_types; entity address_decoder decoder is port ( addr : in work.cpu_types.address; status : in work.cpu_types.status_value; mem_sel, int_sel, io_sel : out bit ); end entity address_decoder; architecture functional of address_decoder is constant mem_low : work.cpu_types.address := X"000000"; constant mem_high : work.cpu_types.address := X"EFFFFF"; constant io_low : work.cpu_types.address := X"F00000"; constant io_high : work.cpu_types.address := X"FFFFFF"; Υποπρογράµµατα - Πακέτα 21
22 Παράδειγµα mem_decoder : mem_sel <= '1' when ( work.cpu_types."="(status, work.cpu_types.fetch) or work.cpu_types."="(status, work.cpu_types.mem_read) or work.cpu_types."="(status, work.cpu_types.mem_write) ) and addr >= mem_low and addr <= mem_high else '0'; int_decoder : int_sel <= '1' when work.cpu_types."="(status, work.cpu_types.int_ack) else '0'; io_decoder : io_sel <= '1' when ( work.cpu_types."="(status, work.cpu_types.io_read) or work.cpu_types."="(status, work.cpu_types.io_write) ) and addr >= io_low and addr <= io_high else '0'; end architecture functional; Υποπρογράµµατα - Πακέτα 22
23 Πακέτα Ένα πακέτο µπορεί να περιλαµβάνει και δηλώσεις υποπρογραµµάτων. Οποιοδήποτε πρόγραµµα µπορεί να χρησιµοποιήσει το πακέτο και να καλέσει τα υποπρογράµµατα γνωρίζοντας µόνο την διασύνδεση. Ιδιαίτερα χρήσιµες είναι οι δηλώσεις σταθερών. Σώµα Πακέτου Υπάρχει µόνο όταν στην δήλωση του πακέτου υπάρχουν υποπρογράµµατα. package body identifier is { package_body_declarative_item} end [package body] [identifier]; Το σώµα πακέτου περιλαµβάνει πάλι τις δηλώσεις υποπρογραµµάτων. Ένα σώµα µπορεί να περιλαµβάνει και επιπλέον υποπρογράµµατα δηλώσεις. Υποπρογράµµατα - Πακέτα 23
24 Πακέτα package bit_vector_signed_arithmetic is function "+" ( bv1, bv2 : bit_vector ) return bit_vector; function "-" ( bv : bit_vector ) return bit_vector; function "*" ( bv1, bv2 : bit_vector ) return bit_vector; end package bit_vector_signed_arithmetic; package body bit_vector_signed_arithmetic is function "+" ( bv1, bv2 : bit_vector ) return bit_vector is function "-" ( bv : bit_vector ) return bit_vector is function mult_unsigned ( bv1, bv2 : bit_vector ) return bit_vector is end function mult_unsigned; Πολλαπλασιασµός µη προσηµασµένων Υποπρογράµµατα - Πακέτα 24
25 Πακέτα function "*" ( bv1, bv2 : bit_vector ) return bit_vector is if bv1(bv1'left) = '0' and bv2(bv2'left) = '0' then return mult_unsigned(bv1, bv2); elsif bv1(bv1'left) = '0' and bv2(bv2'left) = '1' then return -mult_unsigned(bv1, -bv2); elsif bv1(bv1'left) ='1' and bv2(bv2'left) ='0' then return -mult_unsigned(-bv1, bv2); else return mult_unsigned(-bv1, -bv2); Πολλαπλασιασµός προσηµασµένων end if; end function "*"; end package body bit_vector_signed_arithmetic; Υποπρογράµµατα - Πακέτα 25
26 Πακέτα Η χρήση ενός αντικειµένου δηλωµένου σε ένα πακέτο απαιτεί την χρήση πολλών ονοµάτων (βιβλιοθήκης, πακέτου, αντικειµένου). Η πολλαπλή χρήση αντικειµένων µίας βιβλιοθήκης οδηγεί σε µακρόσυρτα ονόµατα. Με την χρήση της έκφρασης use βιβλιοθήκη.πακέτο µπορούν να γίνουν απευθείας ορατά τα αντικείµενα ενός πακέτου στο πρόγραµµα. Ένα θέλουµε να έχουµε απευθείας πρόσβαση σε όλα τα αντικείµενα ενός πακέτου είναι προτιµότερη η χρήση της έκφρασης use βιβλιοθήκη.πακέτο.all Κάθε πακέτο που χρησιµοποιείται από µία οντότητα θα πρέπει απαραίτητα να δηλώνεται πριν την οντότητα (και κάθε οντότητα). Παράδειγµα: για την χρήση του IEEE standard logic package έχουµε use ieee.std_logic_1164.all Υποπρογράµµατα - Πακέτα 26
27 Βιβλιοθήκες Ένα µοντέλο µετά την µεταγλώττιση αποθηκεύεται σε µία βιβλιοθήκη. Επιτρέπουν την χρήση των µονάδων σχεδίασης και µελλοντικά. Η βιβλιοθήκη work είναι default και αφορά τον τρέχων σχεδιασµό κάθε φορά. Για την δηµιουργία µιας βιβλιοθήκης είναι απαραίτητη η χρήση πακέτων. Παράδειγµα: δηµιουργία της βιβλιοθήκης sync η οποία περιλαµβάνει ένα πακέτο καταχωρητών Υποπρογράµµατα - Πακέτα 27
28 Βιβλιοθήκη sync: βήµα 1 ο 1. ηµιουργούµε 4 χωριστά αρχεία µε 4 περιγραφές των στοιχείων αποθήκευσης library ieee; use ieee.std_logic_1164.all entity dff1 is port ( d, clk : in std_logic; q : out std_logic ); end; architecture behave of dff1 is process (d, clk) if (clk = '1') and clk'event then q<=d; end if; end process; end behave; Υποπρογράµµατα - Πακέτα 28
29 Βιβλιοθήκη sync: βήµα 1 ο library ieee; use ieee.std_logic_1164.all entity dff1_rst is port ( d, clk, rst : in std_logic; q : out std_logic ); end dff1_rst; architecture behave of dff1_rst is process (d, clk, rst) if (rst = '1') then q<='0'; elsif (clk = '1') and clk'event then q<=d; end if; end process; end behave; Υποπρογράµµατα - Πακέτα 29
30 Βιβλιοθήκη sync: βήµα 1 ο library ieee; use ieee.std_logic_1164.all entity dff8 is generic (size: integer:=8); port ( d : in std_logic_vector(size-1 downto 0); clk : in std_logic; q : out std_logic_vector(size-1 downto 0) ); end; architecture behave of dff8 is process (d, clk) if (clk = '1') and clk'event then q<=d; end if; end process; end behave; Υποπρογράµµατα - Πακέτα 30
31 Βιβλιοθήκη sync: βήµα 1 ο library ieee; use ieee.std_logic_1164.all entity dff8_rst is generic (size: integer:=8); port ( d : in std_logic_vector(size-1 downto 0); clk, rst : in std_logic; q : out std_logic_vector(size-1 downto 0) ); end; architecture behave of dff8_rst is process (d, clk) if (rst = '1') then q <= (q'range =>'0'); elsif (clk = '1') and clk'event then q<=d; end if; end process; end behave; Υποπρογράµµατα - Πακέτα 31
32 Βιβλιοθήκη sync: βήµα 2 ο 2. ηµιουργούµε το αρχείο που θα περιέχει το βασικό πακέτο library ieee; use ieee.std_logic_1164.all package registers is component dff1 port ( d, clk : in std_logic; q : out std_logic ); end component; component dff1_rst port ( d, clk, rst: in std_logic; q: out std_logic ); end component; component dff8 generic (size: integer:=8); port (d: in std_logic_vector(size-1 downto 0); clk : in std_logic; q : out std_logic_vector(size-1 downto 0) ); end component; component dff8_rst generic (size: integer:=8); port (d: in std_logic_vector(size-1 downto 0); clk, rst : in std_logic; q: out std_logic_vector(size-1 downto 0) ); end component; end registers; Υποπρογράµµατα - Πακέτα 32
33 Βιβλιοθήκη sync: βήµα 3 ο 3. Εκτελούµε µεταγλώττιση στο όνοµα sync (ανάλογα µε τον µεταγλωττιστή) 4. Η χρήση γίνεται ως εξής: library sync; use sync.registers.all Υποπρογράµµατα - Πακέτα 33
34 Σταθερές Generic Οι σταθερές generic παραµετροποιούν τις οντότητες. Η δήλωση τους γίνεται ως: generic(generic_interface_list); και τοποθετείται πριν την δήλωση των θυρών. Μόνο σταθερές µπορούν να δηλωθούν µε αυτόν τον τρόπο. Κάθε generic σταθερά είναι ορατή σε όλη την οντότητα. Οι σταθερές generic µπορεί να έχουν default τιµές ή/και να αρχικοποιηθούν κατά το instantiation µε την έκφραση generic map κατά αναλογία µε το port map. entity and2 is generic (Tpd: time); port (a, b: in bit; y: out bit); end entity and2; Υποπρογράµµατα - Πακέτα 34
35 Σταθερές Generic architecture simple of and2 is y<=a and b after Tpd; end architecture simple; gate1: entity work.and2(simple) generic map(tpd=>2 ns); port map(a=>sig1, b=>sig2, y=>sig_out); gate2: entity work.and2(simple) generic map(tpd=>3 ns); port map(a=>a1, b=>b1, y=>sig1); Υποπρογράµµατα - Πακέτα 35
36 Components Τα components χρησιµοποιούνται για την περιγραφή διασύνδεσης υποσυστηµάτων. Η δήλωση ενός component καθορίζει το interface µε την αντίστοιχη οντότητα σε όρους σταθερών generic και θυρών. component identifier generic (generic_interface_list); port (port_interface_list); end component [identifier]; H δήλωση γίνεται µέσα στο σώµα αρχιτεκτονικής όπου θα χρησιµοποιηθεί το component. Τα συντακτικά δήλωσης µίας οντότητας και ενός component είναι όµοια καθώς εξυπηρετούν τον ίδιο σκοπό. Το instantiation ενός component γίνεται ως εξής: Label: [component] component_name generic map (list) port map (list); Υποπρογράµµατα - Πακέτα 36
37 Components entity reg4 is port ( clk, clr : in bit; d : in bit_vector(0 to 3); q : out bit_vector(0 to 3) ); end reg4; architecture struct of reg4 is component flipflop is generic ( Tprop, Tsetup, Thold : delay_length length ); port ( clk : in bit; clr : in bit; d : in bit; q : out bit ); end component; bit0 : flipflop generic map ( Tprop => 2 ns, Tsetup => 2 ns, Thold => 1 ns ) port map ( clk => clk, clr => clr, d => d(0), q => q(0) ); Υποπρογράµµατα - Πακέτα 37
38 Components bit1 : flipflop generic map ( Tprop => 2 ns, Tsetup => 2 ns, Thold => 1 ns ) port map ( clk => clk, clr => clr, d => d(1), q => q(1) ); bit2 : flipflop generic map ( Tprop => 2 ns, Tsetup => 2 ns, Thold => 1 ns ) port map ( clk => clk, clr => clr, d => d(2), q => q(2) ); bit3 : flipflop generic map ( Tprop => 2 ns, Tsetup => 2 ns, Thold => 1 ns ) port map ( clk => clk, clr => clr, d => d(3), q => q(3) ); end struct; Υποπρογράµµατα - Πακέτα 38
39 Component Configuration Το component αντιστοιχεί σε κάποια οντότητα της βιβλιοθήκης work. Εάν δηλωθεί απλά ως component µε το ίδιο όνοµα της οντότητας τότε η αντιστοίχιση υπονοείται. Ωστόσο πολλές φορές για µία οντότητα έχουµε πολλές αρχιτεκτονικές. Για να µην χρησιµοποιείται κάποια τυχαία, καλό είναι να ορίζουµε ρητά την επιθυµητή αρχιτεκτονική. Χρησιµοποιούµε την δήλωση Configuration. Υποπρογράµµατα - Πακέτα 39
40 Configuration µέσα στην αρχιτεκτονική Έστω ότι για το component flipflop έχουµε δηµιουργήσει 2 διαφορετικές αρχιτεκτονικές sync, async: library ieee; use ieee.std_logic_1164.all; entity flipflop is port ( clk, clr, d: in std_logic; q : out std_logic ); end flipflop; architecture sync of flipflop is process(clk) if (CLK'event and CLK='1') then if (CLR='1') then q<='0'; else q<=d; end if; end if; end process; end sync; Υποπρογράµµατα - Πακέτα 40
41 Configuration µέσα στην αρχιτεκτονική architecture async of flipflop is process(clk,clr) if (CLR='1') then q<='0'; elsif (CLK'event and CLK='1') then q<=d; end if; end process; end async; Κατά την δοµική περιγραφή ενός καταχωρητή 4-bits (αρχιτεκτονική του) καθορίζουµε ρητά ποιο flip flop θα χρησιµοποιήσουµε: library ieee; use ieee.std_logic_1164.all; entity reg4 is port ( clk, clr : in std_logic; d : in std_logic_vector(0 to 3); q : out std_logic_vector(0 to 3) ); end reg4; Υποπρογράµµατα - Πακέτα 41
42 Configuration µέσα στην αρχιτεκτονική architecture struct of reg4 is component flipflop port ( clk, clr, d : in std_logic; q : out std_logic ); end component; for ff0, ff1 : flipflop use entity work.flipflop(sync); for ff2, ff3 : flipflop use entity work.flipflop(async); ff0 : flipflop port map ( clk => clk, clr => clr, d => d(0), q => q(0) ); ff1 : flipflop port map ( clk => clk, clr => clr, d => d(1), q => q(1) ); Sync ff2 : flipflop port map ( clk => clk, clr => clr, d => d(2), q => q(2) ); ff3 : flipflop port map ( clk => clk, clr => clr, d => d(3), q => q(3) ); end struct; Async Υποπρογράµµατα - Πακέτα 42
43 Configuration µέσα στην αρχιτεκτονική Αν θέλουµε όλα να έχουν την ίδια αρχιτεκτονική χρησιµοποιούµε την λέξη ALL: architecture struct of reg4 is component flipflop port ( clk, clr, d : in std_logic; q : out std_logic ); end component; for all : flipflop use entity work.flipflop(sync); ff0 : flipflop port map ( clk => clk, clr => clr, d => d(0), q => q(0) ); ff1 : flipflop port map ( clk => clk, clr => clr, d => d(1), q => q(1) ); ff2 : flipflop port map ( clk => clk, clr => clr, d => d(2), q => q(2) ); ff3 : flipflop port map ( clk => clk, clr => clr, d => d(3), q => q(3) ); end struct; Sync Υποπρογράµµατα - Πακέτα 43
44 Configuration αυτόνοµο Πολλές φορές θέλουµε να δηµιουργούµε πολλά διαφορετικά configurations για ελέγχους παραµέτρων. Τότε δηµιουργούµε αυτόνοµα configurations (η δήλωση δεν µπαίνει µέσα σε καµία αρχιτεκτονική). Οι οντότητες σχεδιάζονται ανεξάρτητα από υλοποιήσεις και παρέχουν την µέγιστη δυνατή ευελιξία. To επιθυµητό configuration καθορίζεται κατά την δηµιουργία του test bench αρχείου όποτε και πρέπει να είναι γνωστή η διαµόρφωση που θα χρησιµοποιηθεί. Υποπρογράµµατα - Πακέτα 44
45 Configuration αυτόνοµο Παράδειγµα: στον καταχωρητή reg4 η αρχιτεκτονική είναι όπως πριν αλλά χωρίς τις δηλώσεις configurations architecture struct of reg4 is component flipflop port ( clk, clr, d : in std_logic; q : out std_logic ); end component; ff0 : flipflop port map ( clk => clk, clr => clr, d => d(0), q => q(0) ); ff1 : flipflop port map ( clk => clk, clr => clr, d => d(1), q => q(1) ); ff2 : flipflop port map ( clk => clk, clr => clr, d => d(2), q => q(2) ); ff3 : flipflop port map ( clk => clk, clr => clr, d => d(3), q => q(3) ); end struct; Υποπρογράµµατα - Πακέτα 45
46 Configuration αυτόνοµο Το επιθυµητό configuration καθορίζεται χωριστά: use work.all; configuration mixed of reg4 is for struct for ff0, ff1 : flipflop use entity work.flipflop(sync); end for; for ff2, ff3 : flipflop use entity work.flipflop(async); end for; end for; end mixed; Η χρήση του αναβάλλεται για την δηµιουργία του Test bench που θα ελέγξει τον σχεδιασµό: Υποπρογράµµατα - Πακέτα 46
47 Configuration αυτόνοµο entity test_bench is end test_bench; architecture test of test_bench is component reg4 port ( clk, clr : in std_logic; d : in std_logic_vector(0 to 3); q : out std_logic_vector(0 to 3) ); end component; for reg0: reg4 use configuration work.mixed; signal clk, clr : std_logic; signal d, q : std_logic_vector(0 to 3); reg0 : reg4 port map (clk,clr,d,q); end test; Υποπρογράµµατα - Πακέτα 47
48 Configuration αναδροµικό Ένα configuration µπορεί να χρησιµοποιεί αναδροµικά και άλλα configurations για components. Παράδειγµα: έστω ότι και το flip flop έχει κάποια configuration µε τα ονόµατα conf_sync και conf_async. Τότε το configuration του καταχωρητή µπορεί να γραφεί ως: use work.all; configuration mixed of reg4 is for struct for ff0, ff1 : flipflop use configuration work.conf_sync; end for; for ff2, ff3 : flipflop use configuration work.conf_async; end for; end for; end mixed; Υποπρογράµµατα - Πακέτα 48
49 Αρχεία Παρέχουν ένα τρόπο διασύνδεσης µίας σχεδίασης µε δεδοµένα τα οποία βρίσκονται εξωτερικά της σχεδίασης. Οι βασικές δηλώσεις βρίσκονται στο πακέτο textio της βιβλιοθήκης std Η δήλωση ενός αρχείου κειµένου χρησιµοποιεί τις ακόλουθες δυο δηλώσεις του πακέτου textio type line is access string type text is file of sting είκτης Παράδειγµα: υλοποίηση µετρητή µε χρήση αρχείου το αρχείο περιέχει τα ακόλουθα δεδοµένα, ένα σε κάθε γραµµή: Υποπρογράµµατα - Πακέτα 49
50 Αρχεία library std; use std.textio.all; while not (endfile(myfile)) loop entity counter is generic (N: integer:=3); port ( clock: in bit; z: out bit_vector(n-1 downto 0)); end counter; architecture behave of counter is file myfile : TEXT is "cntr.txt"; process variable myline: Line; variable bv: bit_vector (N-1 downto 0); wait on clock until clock='1'; readline (myfile, myline); read(myline, bv); z<=bv; end loop; end process; end; Μετατρέπει το αλφαριθµητικό σε µεταβλητή ιαβάζει µία γραµµή Υποπρογράµµατα - Πακέτα 50
51 Παράδειγµα: Μηχανή Καταστάσεων Υποπρογράµµατα - Πακέτα 51
52 Χρ. Καβουσιανός Υποπρογράµµατα - Πακέτα 52
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Ακολουθιακός Κώδικας Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr
Διαβάστε περισσότεραΑκολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL)
Ακολουθιακές εντολές (Peter Ashenden, The Students Guide to VHDL) Εντολή If Τα βασικά χαρακτηριστικά της είναι τα εξής: Μπορεί να χρησιµοποιηθεί για τον έλεγχο µίας ή περισσοτέρων συνθηκών. Η πρώτη συνθήκη
Διαβάστε περισσότεραΕργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL
Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι Εισαγωγή στη VHDL Εισαγωγή Very High Speed Integrated Circuits Hardware Description Language ιαφορές από γλώσσες προγραμματισμού: παράλληλη εκτέλεση εντολών προσδιορισμός
Διαβάστε περισσότεραLibrary, package και subprograms
Library, package και subprograms Libraries Packages Subprograms Procedures Functions Overloading Αριθμητικά πακέτα Type conversion Shift operators Παράδειγμα Library - Package Ασκήσεις-Προβλήματα 12/8/2009
Διαβάστε περισσότεραΠροσοµοίωση Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL)
Προσοµοίωση Συστηµάτων µε VHDL (Peter Ashenden, The Students Guide to VHDL) Κώδικας VHDL Περιβάλλον Σχεδίασης Αναλυτής ιαχειριστής Βιβλιοθήκης Σχεδίασης Προσοµοιωτής Αντίστροφος Αναλυτής Βιβλιοθήκη Σχεδίασης
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 -
Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 - Περίγραµµα διάλεξης Υποκυκλώµατα Περιγραφή δοµής στη VHDL Βιβλιοθήκες
Διαβάστε περισσότεραΜοντελοποίηση Επιπέδου Πύλης. (Peter Ashenden, The Students Guide to VHDL)
Μοντελοποίηση Επιπέδου Πύλης (Peter Ashenden, The Students Guide to VHDL) Πολλαπλά Επίπεδα Τιµών Η κατάσταση µίας γραµµής δεν είναι πάντα 0 ή 1. ιαµάχες οδηγούν σε απροσδιοριστία. Χρήση πολλαπλών επιπέδων
Διαβάστε περισσότεραΚυκλωμάτων» Χειμερινό εξάμηνο
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 VHDL, Χαρακτηριστικά και τρόποι περιγραφής Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ http://diceslab.cied.teiwest.gr
Διαβάστε περισσότεραΕργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Σχόλια: - - This is a single line comment - - There is no alternative way to write multi-line comments Αναγνωριστικά: Τα αναγνωριστικά
Διαβάστε περισσότεραΣύνθετοι τύποι και λειτουργίες. (Peter Ashenden, The Students Guide to VHDL)
Σύνθετοι τύποι και λειτουργίες (Peter Ashenden, The Students Guide to VHDL) Πίνακες Πίνακες: Αποτελούνται από στοιχεία του ίδιου τύπου. Μονοδιάστατοι Πίνακες type table1 is array (0 to 7) of std_logic;
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Τύποι Δεδομένων και Τελεστές
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Τύποι Δεδομένων και Τελεστές Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr Αντίρριο
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα)
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα) Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραVHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων
VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών n VHDL Processes Περίληψη n Εντολές If-Then-Else και CASE
Διαβάστε περισσότεραΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)
Διαβάστε περισσότεραΠεριγραφή Κυκλωμάτων με χρήση της VHDL. Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων
Περιγραφή Κυκλωμάτων με χρήση της VHDL Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων Οργάνωση Παρουσίασης Περιγραφή Δομής σε VHDL (Structural Description) Μηχανές Πεπερασμένων Καταστάσεων
Διαβάστε περισσότεραΗΜΥ 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
Διαβάστε περισσότεραΣχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 4: Σχεδιασμός Σειριακού Αθροιστή Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών
Διαβάστε περισσότεραΕργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Ρόλος των γλωσσών περιγραφής υλικού σε μια τυπική ροή σχεδίασης: Documentation Simulation Synthesis Οι γλώσσες περιγραφής υλικού μπορούν να
Διαβάστε περισσότεραΠΑΡΑΡΤΗΜΑ Β. Verification
ΠΑΡΑΡΤΗΜΑ Β Ροή Σχεδίασης και VHDL Ροή Σχεδίασης Πριν περάσουµε σε περιγραφή της γλώσσας VHDL είναι χρήσιµο να δούµε το περιβάλλον και τη ροή της σχεδίασης. Τα βήµατα µιας σχεδίασης βασισµένης σε VHDL
Διαβάστε περισσότεραΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών
ΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών Θέμα Β.1: Απλός καταχωρητής 1 bit (D Flip-Flop) preset D D Q Q clk clear Σχήμα 2.1: D Flip-Flop με εισόδους preset και clear Με τη
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches)
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches) Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Γενικά χαρακτηριστικά, σύνταξη και τύποι. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 -
Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL Γενικά χαρακτηριστικά, σύνταξη και τύποι Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 - Περίγραµµα διάλεξης Τι είναι η VHDL? Πλεονεκτήµατα της VHDL στη σχεδίαση κυκλωµάτων
Διαβάστε περισσότεραVHDL Εισαγωγικές έννοιες
VHDL Εισαγωγικές έννοιες ρ. Κ. Καραφασούλης ckaraf@aegean.gr Σχεδίαση Αρχικά ψηφιακά κυκλώµατα µπορούν να σχεδιασθούν µε το κατάλληλο λογισµικό. Μεγαλύτερα κυκλώµατα µπορούν να σχεδιασθούν ιεραρχικά από
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Προχωρημένα Θέματα Σχεδιασμού με VHDL
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Προχωρημένα Θέματα Σχεδιασμού με VHDL Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΣχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 2: Βασικές Μονάδες Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες
Διαβάστε περισσότεραΚυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 3: Καταχωρητές - Απαριθμητές Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΕργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Χρησιμοποιούμε τις μηχανές πεπερασμένων καταστάσεων (finite state machines FSMs) για την μοντελοποίηση της συμπεριφοράς ενός κυκλώματος, η
Διαβάστε περισσότεραΠεριγραφή Κυκλωμάτων με χρήση της VHDL. Καταχωρητές και χρονισμός με ρολόι
Περιγραφή Κυκλωμάτων με χρήση της VHDL Καταχωρητές και χρονισμός με ρολόι Οργάνωση Παρουσίασης Διεργασίες (κανόνες) Ακολουθιακές Δηλώσεις (Sequential Statements) Καταχωρητές και χρονισμός Συμπληρωματική
Διαβάστε περισσότερα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@physics.auth.gr
Γλώσσες Περιγραφής Υλικού Εισαγωγή στην VHDL Νικόλαος Καββαδίας nkavv@physics.auth.gr 17 Μαρτίου 2009 Αντικείμενο του μαθήματος CST256: Γλώσσες Περιγραφής Υλικού Επιμέρους στόχοι του μαθήματος Σχεδιασμός
Διαβάστε περισσότεραΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη q Καταχωρητές Παράλληλης
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Μηχανές Πεπερασμένων Καταστάσεων Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ
Διαβάστε περισσότεραΠεριγραφή Κυκλωμάτων με χρήση της VHDL. Οντότητες και συντρέχουσες δηλώσεις
Περιγραφή Κυκλωμάτων με χρήση της VHDL Οντότητες και συντρέχουσες δηλώσεις Οργάνωση Παρουσίασης Οντότητα (Entity) Συντρέχουσα VHDL (Concurrent VHDL) Συντρέχουσες Δηλώσεις (Concurrent Statements) Αντικείμενα
Διαβάστε περισσότεραΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές
Διαβάστε περισσότεραΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL
ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL Προετοιµασία: Παπαδόπουλος Γιώργος Σούρδης Γιάννης Για το µάθηµα Οργάνωσης Υπολογιστών (ΑΡΥ301), 2002 ΕΙΣΑΓΩΓΗ ΣΤΗ STRUCTURAL VHDL Η VHDL είναι
Διαβάστε περισσότεραΠερίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών
ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Κεφάλαιο 7 i: Καταχωρητές Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές Ολίσθησης Σειριακή Φόρτωση Σειριακή Ολίσθηση Καταχωρητές Ολίσθησης Παράλληλης Φόρτωσης
Διαβάστε περισσότερα26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2009 Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης
Διαβάστε περισσότεραΕργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Συνδυαστικό Κυκλωμα: Το κύκλωμα του οποίου οι έξοδοι εξαρτώνται αποκλειστικά από τις τρέχουσες εισόδους του. Ακολουθιακό Κύκλωμα: Το κύκλωμα
Διαβάστε περισσότεραΠανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών. Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων
Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων (VLSI) ΙΙ Εισαγωγή στη VHDL και το Εργαλείο
Διαβάστε περισσότερα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 ηλώσεις
Διαβάστε περισσότεραΒασικές οµές Μοντελοποίησης. (Peter Ashenden, The Students Guide to VHDL)
Βασικές οµές Μοντελοποίησης (Peter Ashenden, The Students Guide to VHDL) Επίπεδα Αναπαράστασης - Αφαίρεσης Αθροιστής: SUM
Διαβάστε περισσότεραVHDL. ΗΜΥ-210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Απλό παράδειγµα: Entity. Μοντελοποίηση. Απλό παράδειγµα:αρχιτεκτονική. Στοιχεία γλώσσας VHDL
ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005 Κεφάλαιο 4 - iii: VHDL για Σχεδιασµό Συνδυαστικών Κυκλωµάτων Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL Γλώσσα προγραµµατισµού
Διαβάστε περισσότεραinputs outputs Σχήμα 3.1: Σχηματική παράσταση της λειτουργίας του testbench
ΑΣΚΗΣΗ 3: Έλεγχος Μονάδων TESTBENCH Ορισμός του testbench Η πρώτη εφαρμογή σχεδίασης κυκλωμάτων στην οποία χρησιμοποήθηκε η VHDL ήταν η προσομοίωση. Η προσομοίωση για να λειτουργήσει απαιτεί, εκτός από
Διαβάστε περισσότεραΟι Βιβλιοθήκες IEEE και παραδείγµατα functions
Οι Βιβλιοθήκες IEEE και παραδείγµατα functions Βιβλιοθήκες µε την Εντολή Library Η VHDL επιτρέπει βιβλιοθήκες που ορίζονται µε τηνεντολή: library LibraryName; Εδώ, ο µεταγλωτιστης µπορεί να βρεί διάφορα
Διαβάστε περισσότεραΣχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II
Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 1 η Εργαστηριακή Άσκηση Εισαγωγή στη VHDL και στο εργαλείο Modelsim 1 Άδειες Χρήσης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons
Διαβάστε περισσότεραΕισαγωγή στη Γλώσσα VHDL
Εισαγωγή στη Γλώσσα VHDL Παράδειγμα and3 Entity και Architecture Entity Entity - Παραδείγματα Architecture VHDL simulation παραδείγματος and3 Παράδειγμα NAND VHDL simulation παραδείγματος nand Boolean
Διαβάστε περισσότεραΠρόλογος Συμβολή σε ορισμένα σημεία του περιεχομένου είχαν οι διδάκτορες Γ. Οικονομάκος και Ισ. Σίδερης καθώς και οι μεταπτυχιακοί σπουδαστές Ι. Σιφναίος, Ε. Χανιωτάκης και Κ. Ασφής τους οποίους ευχαριστώ
Διαβάστε περισσότεραΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκων: Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Διαβάστε περισσότεραΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ ΠΑΤΡΑ 2006 9.
Διαβάστε περισσότεραVHDL Introduction. Subtitle
VHDL Introduction Subtitle Getting Started VHDL means Very Hard Difficult Language That s a lie!!! τα αρχικά VHDL είναι συντομογραφία του VHSIC Hardware Description Language, ενώ το VHSIC αντιπροσωπεύει
Διαβάστε περισσότεραH γλώσσα περιγραφής κυκλωµάτων VHDL
H γλώσσα περιγραφής κυκλωµάτων VHDL Καβουσιανός Χρ. Τσιατούχας Γ. Λέκτορες Πανεπιστηµίου Ιωαννίνων (Peter Ashenden, The Students Guide to VHDL) Γενικά VHDL = VHSIC (Very High Speed Integrated Circuits)
Διαβάστε περισσότεραVHDL για Σχεδιασµό Συνδυαστικών και Ακολουθιακών Ψηφιακών Κυκλωµάτων
VHDL για Σχεδιασµό Συνδυαστικών και Ακολουθιακών Ψηφιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL (Very high speed integrated
Διαβάστε περισσότεραΠρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ Εισαγωγή... 19
Περιεχόµενα Πρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ... 17 1 Εισαγωγή... 19 1.1 Σχετικά µε τη VHDL...19 1.2 Ροή σχεδιασµού...20 1.3 Εργαλεία EDA...21 1.4 Μεταγλώττιση από κώδικα VHDL σε κύκλωµα...22
Διαβάστε περισσότεραBehavioral & Mixed VHDL Architectures Finite State Machines in VHDL
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκoντες: Δρ. Γιώργος Ζάγγουλοςκαι Δρ. Παναγιώτα Δημοσθένους Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων
Διαβάστε περισσότεραBehavioral & Mixed VHDL Architectures Finite State Machines in VHDL
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκoντες: Δρ. Αγαθοκλής Παπαδόπουλος και Δρ. Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα VHDL
(document version 1.2) Ιωάννης Α. Καλόµοιρος Εισαγωγή στη γλώσσα VHDL Τεχνολογικό Εκπαιδευτικό Ίδρυµα Σερρών, Τµήµα Πληροφορικής και Επικοινωνιών, 2012 Το σύγγραµµα αυτό προορίζεται αποκλειστικά για χρήση
Διαβάστε περισσότερα- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)
Η Γλώσσα Pascal Χαρακτηριστικά Τύποι Δεδοµένων Δοµή προγράµµατος 1. Βασικές έννοιες Χαρακτηριστικά της γλώσσας Pascal Γλώσσα προγραµµατισµού Συντακτικό Σηµασιολογία Αλφάβητο της γλώσσας Pascal (Σύνολο
Διαβάστε περισσότεραΠανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση. Ενότητα 13: Εισαγωγή στην VHDL
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα 13: Εισαγωγή στην VHDL Δρ. Αλέξανδρος Λαζαρίδης alazaridis@uowm.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο Νοε-09. Διδάσκουσα: Μαρία Κ. Μιχαήλ
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Συνδυαστικών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL (Very high
Διαβάστε περισσότεραΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Συνδυαστικών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL (Very high
Διαβάστε περισσότεραΣχεδιασµός Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL)
Σχεδιασµός Συστηµάτων µε VHDL (Peter Ashenden, The Students Guide to VHDL) ιαδικασία Σχεδιασµού Μοντέλο VHDL VHDL code netlist Σύνθεση Layout VHDL netlist VHDL code Εξοµοίωση SDF & netlist GDSII file Ανάπτυξη
Διαβάστε περισσότεραalpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and
alpha Language (1/5) ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language Στην alpha δεν υπάρχει main() συνάρτηση, ο κώδικας ξεκινάει την εκτέλεση από την αρχή του
Διαβάστε περισσότεραΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 10: Συµπληρωµατική Διάλεξη Flip-Flops (Basics) και VHDL)
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 10: Συµπληρωµατική Διάλεξη Flip-Flops (Basics) και VHDL) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) VHDL
Διαβάστε περισσότεραΜελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.
ΤΕΙ ΚΡΗΤΗΣ / ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ mode mode(0) ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εµµανουήλ Καπαρού Επιβλέπων : ρ Μηχ Νικόλαος
Διαβάστε περισσότεραΜοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.
Γλώσσες Περιγραφής Μοντέλα Ένα µοντέλο ενός κυκλώµατος είναι µία αναπαράσταση που παρουσιάζει χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Τα τυπικά µοντέλα έχουν καλά ορισµένη σύνταξη. Τα αυτόµατα
Διαβάστε περισσότεραΓλώσσα Περιγραφής Υλικού VHDL Μέρος Α: Σωστή Σύνθεση
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 2 Γλώσσα Περιγραφής Υλικού VHDL Μέρος Α: Σωστή Σύνθεση Καθηγητής Αντώνης Πασχάλης 2017
Διαβάστε περισσότεραΣχεδίαση κυκλωμάτων με VHDL: 1o μέρος
Σχεδίαση κυκλωμάτων με VHDL: 1o μέρος Γ. Δημητρακόπουλος Το πρώτο σας κύκλωμα Τα ψηφιακά κυκλώματα είναι μια συλλογή από λογικές πύλες και ακολουθιακά στοιχεία αποθήκευσης (ή συγχρονισμού) όπως τα flip-flops.
Διαβάστε περισσότεραHY340, 2009 Α. Σαββίδης Slide 2 / 143. HY340, 2009 Α. Σαββίδης Slide 3 / 143. HY340, 2009 Α. Σαββίδης Slide 4 / 143
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 4ο Παραγωγή Ενδιάμεσου Κώδικα ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης
Διαβάστε περισσότεραΣχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 6: Σύγχρονα Ακολουθιακά Κυκλώματα Κυριάκης Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών
Διαβάστε περισσότεραΚεφάλαιο 4 ο Σχεδίαση Κυκλωμάτων με χρήση της γλώσσας VHDL
Κεφάλαιο 4 ο Σχεδίαση Κυκλωμάτων με χρήση της γλώσσας VHDL 4.1 Eισαγωγή στη VHDL 4.1.1 Θεωρητικό υπόβαθρο H VHDL είναι μια γλώσσα που χρησιμοποιείται για την περιγραφή και μοντελοποίηση ψηφιακών κυκλωμάτων.
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...
Διαβάστε περισσότεραΕπεξεργαστής Υλοποίηση ενός κύκλου μηχανής
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική
Διαβάστε περισσότεραΣτοιχειώδης προγραμματισμός σε C++
Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.
Διαβάστε περισσότεραΕπεξεργαστής Υλοποίηση ενός κύκλου μηχανής
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική
Διαβάστε περισσότεραΕνσωματωμένα Συστήματα
Τµήµα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ενσωματωμένα Συστήματα Ενότητα 3: Η γλώσσα περιγραφής υλικού VHDL Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών
Διαβάστε περισσότεραVERILOG. Γενικά περί γλώσσας
VERILOG Γενικά περί γλώσσας Χρησιµότητα της Verilog Υψηλού επιπέδου περιγραφή της συµπεριφοράς του συστήµατος µε σκοπό την εξοµοίωση. RTL περιγραφή της λειτουργίας του συστήµατος µε σκοπό τη σύνθεσή του
Διαβάστε περισσότεραΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τµήµα Ηλεκτρονικής & Μηχανικών Υπολογιστών Εργαστήριο Μικροεπεξεργαστών & Υλικού Πολυτεχνειούπολη Χανίων Τ.Κ.
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τµήµα Ηλεκτρονικής & Μηχανικών Υπολογιστών Εργαστήριο Μικροεπεξεργαστών & Υλικού Πολυτεχνειούπολη Χανίων Τ.Κ. 73100 Κρήτη http://www.mhl.tuc.gr/ Τηλ. : 0821-37262 Fax : 0821-37202 ΕΙΣΑΓΩΓΗ
Διαβάστε περισσότεραComputing. Νοέμβριος Έκδοση 1.0
Computing Νοέμβριος 2017 Έκδοση 1.0 Ενότητα Computing Αυτή η ενότητα παραθέτει τις βασικές έννοιες και δεξιότητες που σχετίζονται με την ικανότητα χρήσης υπολογιστικής σκέψης (computational thinking) και
Διαβάστε περισσότεραΣχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο VHDL (revisited)
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2007 VHDL για Σχεδιασμό Συνδυαστικών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Διαβάστε περισσότεραΑνάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)
Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού
Διαβάστε περισσότεραΣχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 1: Εισαγωγή - Ιστορία Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες
Διαβάστε περισσότεραΒασικά στοιχεία της Java
Βασικά στοιχεία της Java προτάσεις, εκφράσεις, µεταβλητές, σταθερές, τελεστές Ορισµοί Πρόταση (statement) είναι µία απλή εντολή σε µία γλώσσα προγραµµατισµού. Γιαπαράδειγµα: int x=12; Έκφραση (expression)
Διαβάστε περισσότεραΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor
ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται
Διαβάστε περισσότεραa = 10; a = k; int a,b,c; a = b = c = 10;
C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.
Διαβάστε περισσότεραΜέρος 2 Κατασκευή Συντακτικού Αναλυτή
Αντίρριο, 05/04/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» To δεύτερο μέρος της εργασίας έχει ως στόχο την ανάπτυξη του συντακτικού αναλυτή με χρήση του bison / byacc. Στο
Διαβάστε περισσότεραΛογισµικό (Software SW) Γλώσσες
Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής
Διαβάστε περισσότεραΔιάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
Διαβάστε περισσότεραΕισαγωγή στην πληροφορική -4
Εισαγωγή στην πληροφορική 6 (, 64) bits Μνήµη Θέση (κύτταρο cell) µνήµης, χωράει λέξεις (words) εντολές (πρόγραµµα), αριθµοί (δεδοµένα) Αριθµοί: δυαδική (binary) αναπαράσταση = = = 4 = 4 = 5 = 7 Εισαγωγή
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python
Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή
Διαβάστε περισσότεραIntroduction to IP Cores
Introduction to IP Cores Part 1: Digital Design -- Using IP Cores to Simplify Design Στον κόσµο του ψηφιακού σχεδίου, µπορούµε να χρησιµοποιήσουµε τις γλώσσες περιγραφής υλικού για να περιγράψουµε σύνθετες
Διαβάστε περισσότεραΕισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής
VHDL Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής Structural (Δομική) Dataflow (Ροής δεδομένων) Behavioral (Συμπεριφοράς) Η VDHL χρησιμοποιείται για την περιγραφή
Διαβάστε περισσότερα3. Εκφράσεις και έλεγχος ροής
3. Εκφράσεις και έλεγχος ροής Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να διακρίνετε ανάμεσα σε μεταβλητές μέλη και αυτόματες μεταβλητές Να περιγράφετε την αρχικοποίηση των μεταβλητών μελών Να αναγνωρίζετε
Διαβάστε περισσότεραΚεφάλαιο 10 ο Υποπρογράµµατα
Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,
Διαβάστε περισσότεραΣχεδίαση και υλοποίηση σε FPGA παράλληλης επεξεργασίας μετασχηματισμού Fourier με τεχνική in-place
ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Σχεδίαση και υλοποίηση σε FPGA παράλληλης επεξεργασίας μετασχηματισμού Fourier με τεχνική in-place Ελισσαίος
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1
Διαβάστε περισσότεραΕΠΛ 012. JavaScripts
ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές
Διαβάστε περισσότεραΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Εισαγωγή στη VHDL Υλοποίηση στο Quartus Διδάσκων: Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Ατζέντα 1. Στόχοι 3
Διαβάστε περισσότερα1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι
1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της
Διαβάστε περισσότερα1 η Ενδιάμεση Εξέταση Απαντήσεις/Λύσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 1 η Ενδιάμεση Εξέταση Απαντήσεις/Λύσεις Άσκηση 1: Σωστό/Λάθος
Διαβάστε περισσότερα