Καράγιωργας Νικόλαος Α.Μ. 90 Τριανταφυλλόπουλος Σταύρος Α.Μ. 92 Μεταπτυχιακό Πρόγραµµα ΟΣΥΛ. Η δηµοφιλέστερη γλώσσα σχεδιασµού Hardware!
|
|
- Αιθήρ Κοντόσταυλος
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Μια παρουσίαση της VHDL! Σχεδιασµός Συστηµάτων των VLSI. Καράγιωργας Νικόλαος Α.Μ. 90 Τριανταφυλλόπουλος Σταύρος Α.Μ. 92 Μεταπτυχιακό Πρόγραµµα ΟΣΥΛ Μια παρουσίαση της VHDL! Η δηµοφιλέστερη γλώσσα σχεδιασµού Hardware! VHDL µάλλον πιο δύσκολη από Verilog αλλά πολύ περισσότερες δυνατότητες πιο περιγραφική πιο αυστηρή Όχι για χαµηλά επίπεδα Case insensitive
2 Εισαγωγή στη VHSIC Hardware Description Language (VHDL). Ανάγκη για µια standard γλώσσα περιγραφής ολοκληρωµένων συστηµάτων. Εµφανίστηκε στα πλαίσια του προγράµµατος Very High Speed Integrated Circuits (VHSIC) το Εξού και το αρχικό V. Αναπτύχθηκε και προσαρτήθηκε ως standard στο ΙΕΕΕ. Οµοιότητες µε ΑDA software language. Στόχοι : -Περιγραφή της δοµής του σχεδιασµού (διαχωρισµός σε subdesigns και διασύνδεση αυτών). -Χρήση προτύπων γλωσσών προγραµµατισµού, για τις προδιαγραφές λειτουργίας του σχεδιασµού. -Εξοµοίωση πριν την παραγωγή του. Γρήγορη σύγκριση εναλλακτικών και έλεγχος ορθότητας. Χαρακτηριστικά της VHDL. Υποστηρίζονται ιεραρχίες (block diagram), επαναχρησιµοποιούµενα components,διαχείριση λαθών και επιβεβαίωση λειτουργίας (verification). Τα components µπορούν να αποθηκευτούν σε library για επαναχρησιµοποίηση. υνατότητα verification λειτουργίας σε εξοµοιωτή. Πιθανή η µετακίνηση κώδικα για simulation µεταξύ διαφορετικών development συστηµάτων. Υποστηρίζονται διάφορες µέθοδοι ανάπτυξης όπως top-down, bottom-up κτλ.
3 Entities και Architectures. Entity (οντότητα) Entity declaration : Περικλείεται από τον όνοµα της οντότητας. Το port δηλώνει Ι/Ο pins. Τα I/O pins µπορεί να είναι in, out, inout, buffer. Std_logic σηµαίνει ότι είναι ένα digital pin. β) Architecture: Ο κώδικας.περιγράφει µια υλοποίηση της entity. entity entity adder adder is is port port (in0, (in0, in1 in1 :: in in std_logic; sum, sum, cout cout :: out out std_logic); end end adder; adder; architecture rtl rtl of of adder adder is is sum sum <= <= in0 in0 and and in1; in1; cout cout <= <= in0 in0 xor xor in1; in1; end end rtl; rtl; architecture str str of of adder adder is is end end str; str; Architecture. Κάθε statement στο architecture body εκτελείται παράλληλα, εκτός των statements που περικλείονται από process. H process συµπεριφέρεται σαν ένα παράλληλο statement. Process (sensitivity list):όταν ένα ή περισσότερα από τα signals της sensitivity list αλλάξουν τιµή, η process εκτελείται. Τα σχόλια δηλώνονται µε --.
4 Περιεχόµενα µιας architecture. architecture beh beh of of adder adder is is sum_proc: process (in0, (in0, in1) in1) if if (in0= 1 (in0= 1 and and in1= 1 ) in1= 1 ) then then sum sum <= <= 1 ; 1 ; else else sum sum <= <= 0 ; 0 ; end end if; if; end end process sum_proc; Processes Σειριακά statements. Sensitivity list. Variables. Απλά statements Concurrent, <= για τα signals in0,in1, sum, cout cout cout <= <= in0 in0 xor xor in1; in1; end end beh; beh; Behavioral architecture. Περιγράφει τον αλγόριθµο (λειτουργία) που εκτελείται χωρίς αναφορά στην εσωτερική δοµή. Περιλαµβάνει process statements, που περιέχουν sequential statements οι οποίες περιλαµβάνουν signal assignment statements and wait statements. architecture behav of reg4 is storage : process is variable stored_d0, stored_d1, stored_d2, stored_d3 : bit; if en = '1' and clk = '1' then stored_d0 := d0; stored_d1 := d1; stored_d2 := d2; stored_d3 := d3; end if; q0 <= stored_d0 after 5 ns; q1 <= stored_d1 after 5 ns; q2 <= stored_d2 after 5 ns; q3 <= stored_d3 after 5 ns; wait on d0, d1, d2, d3, en, clk; end process storage; end architecture behav;
5 Structural architecture Το module υλοποιείται σαν συγκρότηση(composition) υποσυστηµάτων (sub-modules). Περιλαµβάνει - signal declaration: για εσωτερικές διασυνδέσεις. -component instances: χρήση ήδη δηλωµένων ζευγαριών entity/architecture. -port maps στα component instances: σύνδεση των signals στα ports των components. -wait statements Structure Example d0 bit0 d_latch d q clk q0 d1 bit1 d_latch d q clk q1 d2 bit2 d_latch d q clk q2 d3 bit3 d_latch d q q3 en clk gate and2 a y b int_clk clk
6 Structure Example Πρώτα δηλώνουµε τις entities και τις architectures για ένα d- latch και για µια and πύλη. entity d_latch is port ( d, clk : in bit; q : out bit ); end entity d_latch; architecture basic of d_latch is latch_behavior : process is if clk = 1 then q <= d after 2 ns; end if; wait on clk, d; end process latch_behavior; end architecture basic; entity and2 is port ( a, b : in bit; y : out bit ); end entity and2; architecture basic of and2 is and2_behavior : process is y <= a and b after 2 ns; wait on a, b; end process and2_behavior; end architecture basic; Structure Example Τώρα χρησιµοποιούµε αυτά για να υλοποιήσουµε έναν register. architecture struct of reg4 is signal int_clk : bit; bit0 : entity work.d_latch(basic) port map ( d0, int_clk, q0 ); bit1 : entity work.d_latch(basic) port map ( d1, int_clk, q1 ); bit2 : entity work.d_latch(basic) port map ( d2, int_clk, q2 ); bit3 : entity work.d_latch(basic) port map ( d3, int_clk, q3 ); gate : entity work.and2(basic) port map ( en, clk, int_clk ); end architecture struct;
7 Identifiers. Ονόµατα για αναγνώριση από το χρήστη των data object, π.χ. signals, variables κτλ Ο πρώτος χαρακτήρας, γράµµα. Ο τελευταίος χαρακτήρας δεν µπορεί να είναι underscore (_). Επιτρέπονται µόνο γράµµατα, ψηφία και underscore. εν επιτρέπονται 2 συνεχόµενα underscore. Παραδείγµατα identifiers: a, b, c, a_xy, clk... Data objects. Constant:κρατά µια τιµή η οποία δεν µπορεί να αλλάξει κατά τη σχεδίαση. π.χ. constant width: integer 8 Signal:για αναπαράσταση καλωδιακών συνδέσεων. ηλώνονται: α) στο port της entity ή στην αρχή µιας αρχιτεκτονικής (global). πχ : signal count: bit_vector (3 downto 0); -- count σηµαίνει 4 καλώδια (wires) αυτά είναι count(3),count(2), count(1), count(0). Variable:εσωτερική αναπαράσταση που χρησιµοποιείται από τους προγραµµατιστές. Ίσως να µην υπάρχουν. ηλώνονται-χρησιµοποιούνται εσωτερικά σε µια process (local). π.χ. variable v1_bool : BOOLEAN:= TRUE;
8 Τύποι εδοµένων (Data types). Οι τύποι καθορίζουν τα χαρακτηριστικά των variables, των signals κτλ. Μόνο δεδοµένα του ίδιου τύπου µπορούν να αλληλεπιδρούν µεταξύ τους. Μπορεί να χρησιµοποιηθεί η TYPE για δηµιουργία νέων τύπων αλλά χρειάζεται προσοχή ποια library και standard VHDL παρέχονται. π.χ. type car_state is (stop, slow, medium, fast); Είναι επιτρεπτό να παραχθούν subtypes από κάποιον προκαθορισµένο από το χρήστη τύπο. π.χ. subtype MY_INTEGER is INTEGER range 48 to 80; Μπορούν να οριστούν πράξεις στους δηµιουργηµένους τύπους. Data Types- Operators. 4 κύριες κατηγορίες data types: - Scalar types (φυσικές ποσότητες κτλ) - Composite types (arrays, records) - Access types (pointers). - File types (δεν περιγράφονται εδώ). 6 κατηγορίες operators 1. Logical operators. 2. Relational operators. 3. Shift operators. 4. Adding operators. 5. Multiplying operators. 6. Miscellaneous operators.
9 Data Types 1. Scalar Types Υπάρχουν 4 διαφορετικά είδη scalar types: a)enumeration: Ένα σύνολο τιµών ορισµένες από το χρήστη Η σειρά µε την οποία εµφανίζονται οι τιµές στην δήλωση του τύπου απαρίθµησης καθορίζουν τη σειρά τους. π.χ. type MICRO_OP is (LOAD,STORE,ADD,SUB,MUL,DIV); Οι δυαδικοί αριθµοί που εκχωρούνται είναι: Load = 000, Store = 001, Add =010, Sub = 011, Mul = 100, Div = 101 Μπορούν να χρησιµοποιηθούν για σύγκριση if (load < store) then Data Types - Scalar Types Οι προκαθορισµένοι τύποι απαρίθµησης της γλώσσας είναι: -Character -BIT: { 0, 1 } -BOOLEAN: {FALSE, TRUE} -SEVERITY_LEVEL: {NOTE, WARNING, ERROR, FAILURE} π.χ. - STD_ULOGIC είναι ένας τύπος απαρίθµησης (ορίζεται στο LOGIC_1164) type STD_ULOGIC is ( -- is used for single bit data type U, --Uninitialized Z, -- high impedance X, --Forcing unknown L, -- weak 0 0, -- forcing 0 H, -- weak 1 1, -- forcing Don t care W, -- Weak unknown );
10 Data Types β)integer: ορίζει µια περιοχή ακεραίων αριθµών -π.χ. type CountValue is range 0 to 15; variable a: integer range -255 to 255 είναι 98_71_28= Range :-(2^31-1) εως (2^31-1) (ascending, descending) γ) Floating point - εν υποστηρίζεται από τα synthesis tools λόγω µεγάλων απαιτήσεων σε resources. Χρησιµοποιούνται για αναπαράσταση πραγµατικών αριθµών. -range:-1.0e38 εως 1.0E38 π.χ. type probability is range 0.0 to 1.0 δ) Physical(δεν υποστηρίζεται από τα synthesis tools). Χρησιµοποιείται για αναπαράσταση φυσικών ποσοτήτων όπως χρόνος, τάση κτλ. Π.χ. type resistance is range 0 to 1E9 units ohm; end units resistance Data Types- Composite Types Αναπαριστούν µια συλλογή από τιµές οι οποίες όλες µαζί απαρτίζουν ένα array ή ένα record. Μόνο τα στοιχεία ενός array πρέπει να είναι του ίδιου τύπου. Composite array data type:χρήσιµο για µοντελοποίηση γραµµικών δοµών (RAM,ROM). π.χ. type data_word is array (7 downto 0) of STD_ULOGIC; type ROM is array (0 to 125) of data_word; type string is array (positive range<>)of character; --µη περιορισµένο array Είναι επιτρεπτός ο καθορισµός οποιασδήποτε διάστασης στο array.(τα synthesis tools υποστηρίζουν µια ή δυο).
11 Data Types- Composite Types - Composite record data type: συλλογή από ονοµασµένα στοιχεία, πιθανώς διαφορετικού τύπου. Χρήσιµος για µοντελοποίηση πακέτων δεδοµένων. type PIN_TYPE is range 0 to 10; type MODULE is record SIZE :INTEGER range 20 to 200; CRITICAL_DLY :TIME; NO_INPUTS :PIN_TYPE; end record; Operators Logical Operators: - and, or, nand, nor, xor, xnor, not -Αυτοί οι τελεστές ορίζονται για - τους προκαθορισµένους τύπους BIT and BOOLEAN - για array µιας διάστασης των BIT and BOOLEAN Relational operators: = /= < <= > >= - Ο τύπος του αποτελέσµατος είναι boolean -Οι τελεστές <, <=, >, >= ενεργούν σε οποιοδήποτε scalar type. π.χ.bit_vector ( 0, 1, 1 ) < BIT_VECTOR ( 1, 0, 1 ) είναι true εφόσον η σύγκριση εκτελείται κατά ένα στοιχείο ανά µια χρονική στιγµή από αριστερά προς τα δεξιά.
12 Operators Shift Operators: sll srl sla sra rοl ror π.χ sll 2 is Adding operators + - &(concatenation) π.χ. 0 & 1 results of 01 Multiplying operators * / mod rem -* για πολ\σµό -/ για διαίρεση - mod για modulus - rem : remainder Miscellaneous operators abs (absolute), ** (exponentiation) Test Benches Έλεγχος σχεδιασµού µε χρήση εξοµοίωσης. Χρήση ενός test bench µοντέλου -εφαρµόζει µια ακολουθία από τιµές ελέγχου στις εισόδους. -περιλαµβάνει ένα architecture body το οποίο περιέχει ένα στιγµιότυπο της υπό έλεγχο σχεδίασης. -Παρακολούθηση των output signals µε χρήση εξοµοιωτή (χρήση της assert). process(clk) assert now < 900 ns report stopping simulator (max simulation time 900 ns) severity Failure; end process; Πιθανή η χρήση του ίδιου testbench κατά τη διάρκεια διαφορετικών φάσεων της σχεδίασης.
13 Sequential Statements Εκτελούνται σύνφωνα µε τη σειρά µε την οποία εµφανίζονται στο πρόγραµµα.επιτρέπονται µόνο µέσα σ µια διεργασία. IF STATEMENT CASE STATEMENT LOOP STATEMENT FOR LOOPS WHILE LOOPS ASSERTION STATEMENT WAIT STATEMENT IF Statement if CONDITION then sequential statements end if; if CONDITION then sequential statements else sequential statements end if; if CONDITION then sequential statements elsif CONDITION then sequential statements else sequential statements end if; entity IF_STATEMENT is port (A, B, C, X : in bit_vector (3 downto 0); Z : out bit_vector (3 downto 0); end IF_STATEMENT; architecture EXAMPLE of IF_STATEMENT is process (A, B, C, X) if (X = "1111") then Z<=B; elsif (X > "1000") then Z<=C; else Z <= a; end if; end process; end EXAMPLE;
14 CASE Statement case EXPRESSION is when VALUE_1 => sequential statements when VALUE_2 VALUE_3 => sequential statements when VALUE_4 to VALUE_N sequential statements when others sequential statements end case ; entity CASE_STATEMENT is port (A, B, C, X : in integer range 0 to 15; Z : out integer range 0 to 15; end CASE_STATEMENT; architecture EXAMPLE of CASE_STATE MENT is process (A, B, C, X) case X is when 0 => Z<=A; when 7 9 => Z<=B; when 1 to 5 => Z<=C; when others => Z<=0; end case; end process; end EXAMPLE; LOOP Statement FOR LOOP : for IDENTIFIER in DISCRETE_RANGE loop sequential statements endloop; WHILE LOOP : while CONDITION loop sequential statements end loop ; Entity ex is port(a,b,c: in std_logic_vector(4 downto 0); q: out std_logic_vector(4 downto 0)); end; Architecture rtl of ex is process(a,b,c) for i in 0 to 4 loop if a(i)= 1 then q(i) <= b(i); else q(i) <= c(i) end if end loop; end process; end;
15 ASSERTION Statement assert BOOLEAN EXPRESSION report EXPRESSION ; severity EXPRESSION ; Αυτού του είδους η πρόταση χρησιµοποιείται για να µπορούµε να τεστάρουµε ότι το µοντέλο που έχουµε κατασκευάσει λειτουργεί κανονικά Πιο συγκεκριµένα αν η συνθήκη που ελέγχεται µε την εντολή assert δεν τηρείται όταν το µοντέλο εξοµοιώνεται, ένα µήνυµα συγκεκριµένης σοβαρότητας παρουσιάζεται στο χρήστη. Υπάρχουν 4 διαφορετικά επίπεδα σοβαρότητας που µπορούν να εµφανίζονται στο µήνυµα.αυτά είναι τα: Note Warning Error Failure WAIT Statement Μια Wait Statement σταµατάει την εκτέλεση µιας διεργασίας, η οποία συνεχίζεται µόλις ικανοποιηθεί η συνθήκη της εντολής. Αν δεν υπάρχει συνθήκη τότε η διεργασία δεν ενεργοποιείται ξανά. Μπορεί να χρησιµοποιηθεί µόνο σε διεργασίες που δεν διαθέτουν sensitivity list.
16 WAIT Statement wait for a specific time: wait for SPECIFIC_TIME; wait for a signal event wait on SIGNAL_LIST; wait for a true condition (requires an event) wait until CONDITION; indefinite (process is never reactivated) wait; entity FF is port (D, CLK : in bit; Q : out bit); end FF; architecture Beh of FF is process wait on CLK; if (CLK = '1') then Q<=D; end if; end process; end Beh; Οι εκφράσεις: wait on CLK, if (CLK = '1') then µπορούν να αντικατασταθούν από την wait until CLK=`1`; Concurrent Statements Πρόκειται για προτάσεις που εκτελούνται την ίδια χρονική στιγµή, ανεξάρτητα της σειράς µε την οποία εµφανίζονται στο πρόγραµµα. ιακρίνονται δύο κατηγορίες τέτοιων προτάσεων : Conditional Signal Assignment (when-else) : Η απόφαση βασίζεται σε παραπάνω από ένα σήµατα. Ισοδύναµη των ακολουθιακών δηλώσεων if..,elsif..,else. Selected Signal Assignment (with-select-when) : Η απόφαση βασίζεται στις τιµές ενός σήµατος. Ισοδύναµη των ακολουθιακών δηλώσεων case..,when..
17 Conditional Signal Assignment TARGET <= VALUE_1 when CONDITION_1 else VALUE_2 when CONDITION_2 else VALUE_n; entity C_A is port (A, B, C, X : in bit_vector (3 downto 0); Z_CONC : out bit_vector (3 downto 0); Z_SEQ : out bit_vector (3 downto 0)) end C_A; architecture EXAMPLE of C_A is Concurrent version of conditional signal assignment Z_CONC <= B when X = "1111" else C when X > "1000" else A; Equivalent sequential statements process (A, B, C, X) if (X = "1111") then Z_SEQ <= B elsif (X > "1000") then Z_SEQ <= C; else Z_SEQ <= A; end if; end process; end EXAMPLE; Selected Signal Assignment with EXPRESSION select TARGET <= VALUE_1 when CHOICE_1, VALUE_2 when CHOICE_2 CHOICE_3, VALUE_3 when CHOICE_4 to CHOICE_5,. VALUE_n when others; entity S_A is port (A, B, C, X : in integer range 0 to 15; Z_CONC : out integer range 0 to 15; Z_SEQ : out integer range 0 to 15) end S_A; architecture EXAMPLE of S_A is Concurrent version of selected signal assignment with X select Z_CONC <= A when 0, B when 7 9, C when 1 to 5, 0 when others; Equivalent sequential statements process (A, B, C, X) case X is when 0 => Z_SEQ <= A; when 7 9 => Z_SEQ <= B; when 1 to 5 => Z_SEQ <= C; when others => Z_SEQ <= 0; end process; end EXAMPLE;
18 Subprograms Παρόµοια µε τις τυπικές γλώσσες προγραµµατισµού, η VHDL παρέχει τη δυνατότητα χρήσης υποπρογραµµάτων στη µορφή συναρτήσεων(functions) και διαδικασιών(procedures). Ο ορισµός ενός υποπρογράµµατος αποτελείται από τη δήλωση υποπρογράµµατος, όπου καθορίζεται η λίστα των παραµέτρων του υποπρογράµµατος, και από το σώµα του υποπρογράµµατος το οποίο και καθορίζει τη συµπεριφορά του. Ο κώδικας που περιέχεται στο σώµα του υποπρογράµµατος εκτελείται πάντοτε ακολουθιακά. Τα υποπρογράµµατα µπορούν να καθοριστούν στα εξής σηµεία µέσα στον κώδικα VHDL: Package Entity Architecture Process Subprogram Subprograms Παράµετροι και καταστάσεις λειτουργίας Formal parameters (parameter declaration): default mode: IN default parameter class for mode IN: constant, for mode OUT/INOUT: variable Actual parameters (subprogram call) must match classes of formal parameter class constant matches actual constants, signals or variables
19 Functions Αυθαίρετος αριθµός παραµέτρων εισόδου Οι παράµετροι έχουν πάντα κατάσταση λειτουργίας IN,και δεν µπορούν να δηλωθούν ως variables. Ακριβώς µία επιστρεφόµενη τιµή εν επιτρέπονται Wait Statements Χρησιµοποιούνται ως expressions σε προτάσεις της VHDL(παράλληλες και ακολουθιακές). function call <=> VHDL expression Procedures Αυθαίρετος αριθµός παραµέτρων εισόδου που µπορούν να έχουν κάθε πιθανή κατάσταση λειτουργίας (IN,OUT,INOUT). εν επιστρέφεται κάποια τιµή, παρότι η δεσµευµένη λέξη return µπορεί να χρησιµοποιηθεί για να υποδείξει τον τερµατισµό του υποπρογράµµατος. Ανάλογα µε τη θέση της µέσα στον VHDL κώδικα, είτε µέσα σε µια αρχιτεκτονική είτε σε µια διεργασία,µια διαδικασία στο σύνολό της εκτελείται παράλληλα ή ακολουθιακά, αντίστοιχα. procedure call <=> VHDL statement
20 Subprogram Examples architecture EXAMPLE of FUNCTIONS is function COUNT_ZEROS (A : bit_vector) return integer is variable ZEROS : integer; ZEROS := 0; for I in A'range loop if A(I) = '0' then ZEROS := ZEROS +1; end if; end loop; return ZEROS; end COUNT_ZEROS; signal WORD: bit_vector(15 downto 0); signal WORD_0: integer; signal IS_0: boolean; WORD_0 <= COUNT_ZEROS(WORD); process IS_0 <= true; if COUNT_ZEROS(" ") > 0 then IS_0 <= false; end if; wait; end process; end EXAMPLE; architecture EXAMPLE of PROCEDURES is procedure COUNT_ZEROS (A: in bit_vector; signal Q: out integer) is variable ZEROS : integer; ZEROS := 0; for I in A'range loop if A(I) = '0' then ZEROS := ZEROS +1; end if; end loop; Q <= ZEROS; end COUNT_ZEROS; signal COUNT: integer; signal IS_0: boolean; process IS_0 <= true; COUNT_ZEROS(" ", COUNT); wait for 0 ns; if COUNT > 0 then IS_0 <= false; end if; wait; end process; end EXAMPLE; Packages Ένα πακέτο είναι µια συλλογή από ορισµούς στους οποίους µπορεί να γίνει αναφορά από πολλές VHDL σχεδιάσεις την ίδια χρονική στιγµή. Ένα πακέτο µπορεί να περιλαµβάνει : functions,procedures,constants,data objects, subtypes,components. Τις περισσότερες φορές ένα πακέτο αποτελείται από δύο τµήµατα: τη δήλωση και το σώµα του πακέτου. Για να µπορεί να γίνει αναφορά σ ένα πακέτο πρέπει αυτό να δηλωθεί µε χρήση της πρότασης use.
21 Package Syntax Package declaration: package IDENTIFIER is Declaration of -- types and subtypes -- subprograms -- constants, signals and shared variables -- files -- aliases -- components end [ package ] [ IDENTIFIER ] ; Package body declaration: package body IDENTIFIER is Definition of previously declared -- constants -- subprograms Declaration/definition of additional -- types and subtypes -- subprograms -- constants, signals and shared variables -- files -- aliases -- components end [ package body ] [ IDENTIFIER ] ; Package Example package PKG is type T1 is... type T2 is... constant C : integer; procedure P1 (...); end PKG; package body PKG is type T3 is... C := 17; procedure P1 (...) is... end P1; procedure P2 (...) is... end P2; end PKG; library STD; library WORK; use STD.standard.all; use work.pkg.all; entity EXAMPLE is end EXAMPLE; -- VHDL default -- VHDL default -- VHDL default architecture BEH of EXAMPLE is signal S1 : T1; signal S2 : T2; signal S3 : T3; -- error: T3 not declared P1 (...); P2 (...); end BEH; end PKG; -- error: P2 not declared
22 Libraries Πρόκειται για συλλογές από µεταγλωττισµένες µονάδες σχεδίασης της VHDL. Στη VHDL µια «βιβλιοθήκη» είναι ένα λογικό όνοµα µέσω του οποίου δίνεται η δυνατότητα να γκρουπάρονται τα µεταγλωττισµένα αντικείµενα. Το λογικό αυτό όνοµα µπορεί να αντιστοιχίζεται σ ένα άλλο λογικό όνοµα, αλλά απαραίτητα πρέπει να αντιστοιχίζεται σε ένα φυσικό µονοπάτι σ ένα µέσο αποθήκευσης. Αν δεν καθορίζεται µια βιβλιοθήκη τότε οι µονάδες σχεδίασης µεταγλωττίζονται εξ ορισµού στη βιβλιοθήκη work. The LIBRARY Statement Για να µπορεί να είναι ορατή η βιβλιοθήκη που έχει δηµιουργήσει ένας χρήστης πρέπει αυτή να δηλώνεται ρητά στον VHDL κώδικα.αυτό γίνεται µε χρήση της statement library. Mια τέτοια δήλωση µπορεί να τοποθετηθεί µόνο µπροστά από κάθε µονάδα σχεδίασης και είναι έγκυρη µόνο για τη µονάδα που ακολουθεί. Οι δευτερεύουσες µονάδες σχεδίασης «κληρονοµούν» δηλώσεις βιβλιοθήκης που εφαρµόζονται στην αντιστοιχή τους πρωτεύουσα µονάδα. Οι βιβλιοθήκες WORK και STD είναι εξ ορισµού ορατές και έτσι δεν χρειάζεται να δηλώνονται.
23 The USE Statement Μια δήλωση βιβλιοθήκης από µόνη της δεν είναι αρκετή ώστε τα αντικείµενα που περιέχονται σ αυτήν να είναι προσβάσιµα.για να γίνει αυτό πρέπει να γίνει χρήση της πρότασης use. Mια τέτοια δήλωση µπορεί να τοποθετηθεί µόνο µπροστά από κάθε µονάδα σχεδίασης και είναι έγκυρη µόνο για τη µονάδα που ακολουθεί. Οι δευτερεύουσες µονάδες σχεδίασης «κληρονοµούν» τις δηλώσεις που εφαρµόζονται στην αντιστοιχή τους πρωτεύουσα µονάδα. Μπορεί να προσφέρει πρόσβαση σε µεµονωµένες µονάδες: Μονάδες σχεδίασης (π.χ. entities) Αντικείµενα πακέτων(π.χ. constants) Η χρήση της λέξης all δίνει πρόσβαση σε όλα τα αντικείµενα Σε περίπτωση παράλειψης της εντολής απαιτείται το πλήρες λογικό όνοµα του κάθε αντικειµένου. Configuration Στη VHDL µια entity µπορεί να έχει παραπάνω από µία αρχιτεκτονικές.η ιδιότητα αυτή αποδεικνύεται ιδιαίτερα σηµαντική για τη περίπτωση που µια σχεδίαση περιγράφεται σε διάφορα επίπεδα αφαίρεσης π.χ. RTL,behavioral,gate level. Με χρήση της µονάδας σχεδίασης configuration µπορεί να καθοριστεί ποια αρχιτεκτονική θα χρησιµοποιείται κάθε φορά για την συγκεκριµένη οντότητα. Entity HALFADD is Port (A, B : in bit; SUM, CARRY: out bit ); end HALFADD ; Architecture X of HALFADD is end X; Architecture Y of HALFADD is end Y; Configuration cfg1 of HALFADD is for x end for; End cfg1; Configuration cfg2 of HALFADD is for Y end for; End cfg2;
24 Generics Ένα generic µπορεί να χρησιµοποιηθεί όταν επιθυµούµε να παραµετροπoιήσουµε µια σχεδίαση.με τον τρόπο αυτό µπορούµε να εισάγουµε µια πληροφορία µέσα στο µοντέλο, π.χ. χρονική πληροφορία, η οποία µπορεί να αλλάζει κάθε φορά που ένα στιγµιότυπο του component που την περιέχει, χρησιµοποιείται.αυτό δηλώνεται µέσω της εντολής generic map. Ένα generic δηλώνεται στο σώµα µιας οντότητας πριν τη δήλωση port. Μεταχειρίζεται ως constant µέσα σε µια αρχιτεκτονική. Entity generic_ex is generic (delay:time:= 10ns); port(a,b: in std_logic; c: out std_logic ); end generic_ex; Architecture g_beh of generic_ex is c<=a and b after delay; end generic_beh; Generate Statement Στη περίπτωση που το ίδιο component πρέπει να χρησιµοποιηθεί πολλές φορές στην ίδια αρχιτεκτονική,είναι πιο αποδοτικό να δηµιουργήσουµε ένα loop από port map εντολές.αυτό γίνεται εφικτό µε χρήση της εντολής generate. [label:] For <loop_index><iteration scheme> generate <label>: <entity> port map (..); end generate [label]; Entity top is port(a,b: in std_logic_vector(4 downto 0); q: out std_logic_vector(4 downto 0)); end ; Architecture rtl of top is component ci port (a,b: in std_logic; q: out std_logic); end component; For U1: c1 Use entity work.c1(rtl); c_gen: For i in 0 to 4 generate U: c1 port map (a(i),b(i),q(i)); end generate c_gen; end;
25 Development steps Typical programming language Compilation Link and Load Execute VHDL Analysis-Sequence of Compilation Simulation Flow Elaboration Initialisation Execution Synthesis Simulation Sequence of Compilation Simulation Flow Testbenches
26 Design Units Όλα τα µέρη µιας VHDL σχεδίασης πρέπει να αναλυθούν/µεταγλωττιστούν για να µπορούν να χρησιµοποιηθούν στη συνέχεια για τις διαδικασίες της εξοµοίωσης και της σύνθεσης entity/architecture package/package body Configuration Από αυτές οι entity,package και configuration θεωρούνται πρωτεύουσες µονάδες ενώ οι architecture και package body δευτερεύουσες. Ένα αρχείο πρέπει να περιλαµβάνει τουλάχιστον µία µονάδα σχεδίασης για να µπορεί να γίνει αποδεκτό από τον compiler. Sequence of Compilation Οι πρωτεύουσες µονάδες σχεδίασης πρέπει να αναλύονται πριν από τις δευτερεύουσες, καθώς οι τελευταίες χρειάζονται πληροφορίες που υπάρχουν στις πρώτες. entity before architecture(s) package before package body Τα στοιχεία στα οποία γίνονται αναφορές από άλλα πρέπει επίσης να αναλύονται πρώτα. package before entity/architecture configuration after entity/architecture
27 Simulation flow Ηεξοµοίωση ενός VHDL µοντέλου πραγµατοποιείται σε τρεις φάσεις: Design elaboration Signal initialisation Execution Simulation flow Elaboration: Στη φάση αυτή δηµιουργούνται τα στοιχεία του µοντέλου που θα εξοµοιωθεί, όπως ports,signals,processes. Οι διεργασίες και οι παράλληλες δηλώσεις της όλης σχεδίασης συνδυάζονται σ ένα επικοινωνιακό µοντέλο, το οποίο καθορίζει ποια διεργασία µπορεί να ενεργοποιείται και από ποια. Initialisation: Ανάθεση αρχικών τιµών στα σήµατα. Η αρχική τιµή είναι αυτή που καθορίζεται στη δήλωση του σήµατος ή, αν δεν καθορίζεται εκεί, η πρώτη τιµή στον ορισµό του τύπου του σήµατος. Στο τέλος αυτής της φάσης κάθε διεργασία εκτελείται µια φορά µέχρι να ανασταλλεί, χωρίς όµως να ενηµερώνονται οι τιµές των σηµάτων. Execution: Στη φάση αυτή η εξοµοίωση του µοντέλου γίνεται πραγµατικότητα. Κάθε σήµα µπορεί να αναπαρασταθεί και να ελεγχθεί.
28 Delta Cycles Πρόκειται για τον κύκλο εξοµοίωσης που περιλαµβάνει τη φάση της ενηµέρωσης σήµατος και τη φάση της εκτέλεσης διεργασίας. Στην αρχή όλα τα σήµατα ενηµερώνονται, και δηµιουργείται µια λίστα µε διεργασίες που θα εκτελεστούν µε τις αλλαγές σήµατος.όλες οι διεργασίες αυτής της λίστας εκτελούνται η µία µετά την άλλη στο πρώτο delta cycle. Όταν η εκτέλεση ολοκληρωθεί, θα έχει ως αποτέλεσµα νέα ενηµέρωση σήµατος.όπως και πριν µια νέα λίστα διεργασιών που επηρεάζονται από την αλλαγή σήµατος, θα δηµιουργηθεί.αυτό συνεχίζεται µέχρι η λίστα διεργασιών να είναι κενή. Τότε οι δηλώσεις που προκαλούν πραγµατική χρονική µεταβολή ('wait for...', '... after...') εκτελούνται και ο χρόνος εξοµοίωσης προχωρά για το συγκεκριµένο χρονικό διάστηµα.στη συνέχεια τα delta cycles για το νέο χρονικό σηµείο εξοµοίωσης ξεκινούν. Delta Cycles-Example library IEEE; use IEEE.Std_Logic_1164.all; entity DELTA is port (A, B : in std_ulogic; Y, Z : out std_ulogic); end DELTA; architecture EXAMPLE of DELTA is signal X : std_ulogic; process (A, B, X) Y<=A; X<=B; Z<=X; end process; end EXAMPLE; Event on B (first delta cycle) ` future value of Y receives the current value of A (no change) X receives the current value of B (new value) Z receives the current value of X (no change) signal update Event on X (second delta cycle) future value of Y receives the current value of A (no change) X receives the current value of B (no change) Z receives the current value of X (new value) signal update No further events on A, B, X
29 Synthesis Μετατροπή µιας αφηρηµένης περιγραφής σε µια πιο λεπτοµερή περιγραφή. Η µετατροπή εξαρτάται από δύο κυρίως παράγοντες: o target technology o tool capabilities Βιβλιογραφία. 1. Peter J. Ashenden The VHDL Cookbook. 2. Peter J. Ashenden The Designer s Guide to VHDL. 3. Stefan Sjoholm, Lennart Lindh VHDL for Designers.
Library, package και subprograms
Library, package και subprograms Libraries Packages Subprograms Procedures Functions Overloading Αριθμητικά πακέτα Type conversion Shift operators Παράδειγμα Library - Package Ασκήσεις-Προβλήματα 12/8/2009
Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL
Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι Εισαγωγή στη VHDL Εισαγωγή Very High Speed Integrated Circuits Hardware Description Language ιαφορές από γλώσσες προγραμματισμού: παράλληλη εκτέλεση εντολών προσδιορισμός
Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Σχόλια: - - This is a single line comment - - There is no alternative way to write multi-line comments Αναγνωριστικά: Τα αναγνωριστικά
nkavv@physics.auth.gr
Γλώσσες Περιγραφής Υλικού Εισαγωγή στην VHDL Νικόλαος Καββαδίας nkavv@physics.auth.gr 17 Μαρτίου 2009 Αντικείμενο του μαθήματος CST256: Γλώσσες Περιγραφής Υλικού Επιμέρους στόχοι του μαθήματος Σχεδιασμός
Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Γενικά χαρακτηριστικά, σύνταξη και τύποι. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 -
Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL Γενικά χαρακτηριστικά, σύνταξη και τύποι Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 - Περίγραµµα διάλεξης Τι είναι η VHDL? Πλεονεκτήµατα της VHDL στη σχεδίαση κυκλωµάτων
Περιγραφή Κυκλωμάτων με χρήση της VHDL. Οντότητες και συντρέχουσες δηλώσεις
Περιγραφή Κυκλωμάτων με χρήση της VHDL Οντότητες και συντρέχουσες δηλώσεις Οργάνωση Παρουσίασης Οντότητα (Entity) Συντρέχουσα VHDL (Concurrent VHDL) Συντρέχουσες Δηλώσεις (Concurrent Statements) Αντικείμενα
Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL)
Ακολουθιακές εντολές (Peter Ashenden, The Students Guide to VHDL) Εντολή If Τα βασικά χαρακτηριστικά της είναι τα εξής: Μπορεί να χρησιµοποιηθεί για τον έλεγχο µίας ή περισσοτέρων συνθηκών. Η πρώτη συνθήκη
Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Ρόλος των γλωσσών περιγραφής υλικού σε μια τυπική ροή σχεδίασης: Documentation Simulation Synthesis Οι γλώσσες περιγραφής υλικού μπορούν να
H γλώσσα περιγραφής κυκλωµάτων VHDL
H γλώσσα περιγραφής κυκλωµάτων VHDL Καβουσιανός Χρ. Τσιατούχας Γ. Λέκτορες Πανεπιστηµίου Ιωαννίνων (Peter Ashenden, The Students Guide to VHDL) Γενικά VHDL = VHSIC (Very High Speed Integrated Circuits)
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Ακολουθιακός Κώδικας Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr
Κυκλωμάτων» Χειμερινό εξάμηνο
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 VHDL, Χαρακτηριστικά και τρόποι περιγραφής Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ http://diceslab.cied.teiwest.gr
Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 -
Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 - Περίγραµµα διάλεξης Υποκυκλώµατα Περιγραφή δοµής στη VHDL Βιβλιοθήκες
Προσοµοίωση Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL)
Προσοµοίωση Συστηµάτων µε VHDL (Peter Ashenden, The Students Guide to VHDL) Κώδικας VHDL Περιβάλλον Σχεδίασης Αναλυτής ιαχειριστής Βιβλιοθήκης Σχεδίασης Προσοµοιωτής Αντίστροφος Αναλυτής Βιβλιοθήκη Σχεδίασης
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches)
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches) Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος
VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων
VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών n VHDL Processes Περίληψη n Εντολές If-Then-Else και CASE
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)
Σύνθετοι τύποι και λειτουργίες. (Peter Ashenden, The Students Guide to VHDL)
Σύνθετοι τύποι και λειτουργίες (Peter Ashenden, The Students Guide to VHDL) Πίνακες Πίνακες: Αποτελούνται από στοιχεία του ίδιου τύπου. Μονοδιάστατοι Πίνακες type table1 is array (0 to 7) of std_logic;
Μοντελοποίηση Επιπέδου Πύλης. (Peter Ashenden, The Students Guide to VHDL)
Μοντελοποίηση Επιπέδου Πύλης (Peter Ashenden, The Students Guide to VHDL) Πολλαπλά Επίπεδα Τιµών Η κατάσταση µίας γραµµής δεν είναι πάντα 0 ή 1. ιαµάχες οδηγούν σε απροσδιοριστία. Χρήση πολλαπλών επιπέδων
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Τύποι Δεδομένων και Τελεστές
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Τύποι Δεδομένων και Τελεστές Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr Αντίρριο
VHDL Εισαγωγικές έννοιες
VHDL Εισαγωγικές έννοιες ρ. Κ. Καραφασούλης ckaraf@aegean.gr Σχεδίαση Αρχικά ψηφιακά κυκλώµατα µπορούν να σχεδιασθούν µε το κατάλληλο λογισµικό. Μεγαλύτερα κυκλώµατα µπορούν να σχεδιασθούν ιεραρχικά από
VHDL. ΗΜΥ-210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Απλό παράδειγµα: Entity. Μοντελοποίηση. Απλό παράδειγµα:αρχιτεκτονική. Στοιχεία γλώσσας VHDL
ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005 Κεφάλαιο 4 - iii: VHDL για Σχεδιασµό Συνδυαστικών Κυκλωµάτων Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL Γλώσσα προγραµµατισµού
Σχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 1: Εισαγωγή - Ιστορία Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες
ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL
ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL Προετοιµασία: Παπαδόπουλος Γιώργος Σούρδης Γιάννης Για το µάθηµα Οργάνωσης Υπολογιστών (ΑΡΥ301), 2002 ΕΙΣΑΓΩΓΗ ΣΤΗ STRUCTURAL VHDL Η VHDL είναι
Σχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 2: Βασικές Μονάδες Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες
Περιγραφή Κυκλωμάτων με χρήση της VHDL. Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων
Περιγραφή Κυκλωμάτων με χρήση της VHDL Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων Οργάνωση Παρουσίασης Περιγραφή Δομής σε VHDL (Structural Description) Μηχανές Πεπερασμένων Καταστάσεων
Περιγραφή Κυκλωμάτων με χρήση της VHDL. Καταχωρητές και χρονισμός με ρολόι
Περιγραφή Κυκλωμάτων με χρήση της VHDL Καταχωρητές και χρονισμός με ρολόι Οργάνωση Παρουσίασης Διεργασίες (κανόνες) Ακολουθιακές Δηλώσεις (Sequential Statements) Καταχωρητές και χρονισμός Συμπληρωματική
Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών. Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων
Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων (VLSI) ΙΙ Εισαγωγή στη VHDL και το Εργαλείο
ΠΑΡΑΡΤΗΜΑ Β. Verification
ΠΑΡΑΡΤΗΜΑ Β Ροή Σχεδίασης και VHDL Ροή Σχεδίασης Πριν περάσουµε σε περιγραφή της γλώσσας VHDL είναι χρήσιµο να δούµε το περιβάλλον και τη ροή της σχεδίασης. Τα βήµατα µιας σχεδίασης βασισµένης σε VHDL
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συντρέχων Κώδικας
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 216-217 Συντρέχων Κώδικας Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr
ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. VHDL για Ακολουθιακά Κυκλώματα 1
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Ακολουθιακών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Περίληψη VHDL Processes Εντολές If-Then Then-Else και CASE Περιγραφή Flip-Flop Flop με VHDL
Περιγραφή Κυκλωμάτων με χρήση της VHDL. Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL
Περιγραφή Κυκλωμάτων με χρήση της VHDL Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL Οργάνωση Παρουσίασης VHDL εισαγωγικές έννοιες Ροή και επίπεδα σχεδιασμού ψηφιακών κυκλωμάτων Μοντελοποίηση Καθυστερήσεων
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο Νοε-09. Διδάσκουσα: Μαρία Κ. Μιχαήλ
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Συνδυαστικών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL (Very high
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα)
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα) Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής
Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II
Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 1 η Εργαστηριακή Άσκηση Εισαγωγή στη VHDL και στο εργαλείο Modelsim 1 Άδειες Χρήσης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Συνδυαστικών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL (Very high
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Προχωρημένα Θέματα Σχεδιασμού με VHDL
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Προχωρημένα Θέματα Σχεδιασμού με VHDL Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής
Βασικές οµές Μοντελοποίησης. (Peter Ashenden, The Students Guide to VHDL)
Βασικές οµές Μοντελοποίησης (Peter Ashenden, The Students Guide to VHDL) Επίπεδα Αναπαράστασης - Αφαίρεσης Αθροιστής: SUM
Σχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 4: Σχεδιασμός Σειριακού Αθροιστή Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών
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
VHDL Introduction. Subtitle
VHDL Introduction Subtitle Getting Started VHDL means Very Hard Difficult Language That s a lie!!! τα αρχικά VHDL είναι συντομογραφία του VHSIC Hardware Description Language, ενώ το VHSIC αντιπροσωπεύει
Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.
Γλώσσες Περιγραφής Μοντέλα Ένα µοντέλο ενός κυκλώµατος είναι µία αναπαράσταση που παρουσιάζει χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Τα τυπικά µοντέλα έχουν καλά ορισµένη σύνταξη. Τα αυτόµατα
ΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών
ΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών Θέμα Β.1: Απλός καταχωρητής 1 bit (D Flip-Flop) preset D D Q Q clk clear Σχήμα 2.1: D Flip-Flop με εισόδους preset και clear Με τη
Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση. Ενότητα 13: Εισαγωγή στην VHDL
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα 13: Εισαγωγή στην VHDL Δρ. Αλέξανδρος Λαζαρίδης alazaridis@uowm.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 3: Καταχωρητές - Απαριθμητές Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
(Peter Ashenden, The Students Guide to VHDL)
Υποπρογράµµατα Πακέτα (Peter Ashenden, The Students Guide to VHDL) Procedures Μία διαδικασία (procedure) δηλώνεται και κατόπιν καλείται όσες φορές θέλουµε. procedure identifier [(parameter_interface_list)]
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 ηλώσεις
Οι Βιβλιοθήκες IEEE και παραδείγµατα functions
Οι Βιβλιοθήκες IEEE και παραδείγµατα functions Βιβλιοθήκες µε την Εντολή Library Η VHDL επιτρέπει βιβλιοθήκες που ορίζονται µε τηνεντολή: library LibraryName; Εδώ, ο µεταγλωτιστης µπορεί να βρεί διάφορα
Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο VHDL (revisited)
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2007 VHDL για Σχεδιασμό Συνδυαστικών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Εισαγωγή στη Γλώσσα VHDL
Εισαγωγή στη Γλώσσα VHDL Παράδειγμα and3 Entity και Architecture Entity Entity - Παραδείγματα Architecture VHDL simulation παραδείγματος and3 Παράδειγμα NAND VHDL simulation παραδείγματος nand Boolean
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ντες: Δρ. Γιώργος Ζάγγουλοςκαι Δρ. Παναγιώτα Δημοσθένους Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων
Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Χρησιμοποιούμε τις μηχανές πεπερασμένων καταστάσεων (finite state machines FSMs) για την μοντελοποίηση της συμπεριφοράς ενός κυκλώματος, η
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Εισαγωγή στη VHDL Υλοποίηση στο Quartus Διδάσκων: Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Ατζέντα 1. Στόχοι 3
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκων: Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 10: Συµπληρωµατική Διάλεξη Flip-Flops (Basics) και VHDL)
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 10: Συµπληρωµατική Διάλεξη Flip-Flops (Basics) και VHDL) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) VHDL
Εισαγωγή στη VHDL Υλοποίηση στο Quartus
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Εισαγωγή στη VHDL Υλοποίηση στο Quartus Διδάσκοντες: Δρ. Γιώργος Ζάγγουλος και Δρ. Παναγιώτα Μ. Δημοσθένους Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Μηχανές Πεπερασμένων Καταστάσεων Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ
VHDL για Σχεδιασµό Συνδυαστικών και Ακολουθιακών Ψηφιακών Κυκλωµάτων
VHDL για Σχεδιασµό Συνδυαστικών και Ακολουθιακών Ψηφιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών VHDL (Very high speed integrated
7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού
7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού Εισαγωγή Η χειρονακτική σχεδίαση ενός ψηφιακού συστήµατος είναι εξαιρετικά δύσκολη και επιρρεπής σε λάθη Συστήµατα που ξεπερνούς τις µερικές
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη q Καταχωρητές Παράλληλης
Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών
ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Κεφάλαιο 7 i: Καταχωρητές Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές Ολίσθησης Σειριακή Φόρτωση Σειριακή Ολίσθηση Καταχωρητές Ολίσθησης Παράλληλης Φόρτωσης
Μέρος 2 Κατασκευή Συντακτικού Αναλυτή
Αντίρριο, 05/04/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» To δεύτερο μέρος της εργασίας έχει ως στόχο την ανάπτυξη του συντακτικού αναλυτή με χρήση του bison / byacc. Στο
ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor
ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται
Computing. Νοέμβριος Έκδοση 1.0
Computing Νοέμβριος 2017 Έκδοση 1.0 Ενότητα Computing Αυτή η ενότητα παραθέτει τις βασικές έννοιες και δεξιότητες που σχετίζονται με την ικανότητα χρήσης υπολογιστικής σκέψης (computational thinking) και
Εισαγωγή στη γλώσσα VHDL
(document version 1.2) Ιωάννης Α. Καλόµοιρος Εισαγωγή στη γλώσσα VHDL Τεχνολογικό Εκπαιδευτικό Ίδρυµα Σερρών, Τµήµα Πληροφορικής και Επικοινωνιών, 2012 Το σύγγραµµα αυτό προορίζεται αποκλειστικά για χρήση
ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Γλώσσα περιγραφής υλικού: Verilog
ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Γλώσσα περιγραφής υλικού: Verilog Αρης Ευθυμίου Το σημερινό μάθημα! Η γλώσσα περιγραφής υλικού Verilog Περίληψη των αντίστοιχων μαθημάτων Ψηφιακής σχεδίασης έμφαση σε
Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές»
Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» Η εργασία έχει ως στόχο τον σχεδιασμό και την υλοποίηση ενός μεταγλωττιστή για την γλώσσα Ciscal, χρησιμοποιώντας
VERILOG. Γενικά περί γλώσσας
VERILOG Γενικά περί γλώσσας Χρησιµότητα της Verilog Υψηλού επιπέδου περιγραφή της συµπεριφοράς του συστήµατος µε σκοπό την εξοµοίωση. RTL περιγραφή της λειτουργίας του συστήµατος µε σκοπό τη σύνθεσή του
8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων
8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων Εισαγωγή Η λογική που περιγράφεται σε ένα module µπορεί να περιγραφεί µε διάφορα στυλ Μοντελοποίηση σε επίπεδο
Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Συνδυαστικό Κυκλωμα: Το κύκλωμα του οποίου οι έξοδοι εξαρτώνται αποκλειστικά από τις τρέχουσες εισόδους του. Ακολουθιακό Κύκλωμα: Το κύκλωμα
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Verilog: Τα βασικά ΗΥ220 - Βασίλης Παπαευσταθίου & Γιώργος Καλοκαιρινός 1 Η εξέλιξη στη σχεδίαση ψηφιακών κυκλωμάτων Μεγάλη εξέλιξη τα τελευταία
Λογισµικό (Software SW) Γλώσσες
Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού
- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)
Η Γλώσσα Pascal Χαρακτηριστικά Τύποι Δεδοµένων Δοµή προγράµµατος 1. Βασικές έννοιες Χαρακτηριστικά της γλώσσας Pascal Γλώσσα προγραµµατισµού Συντακτικό Σηµασιολογία Αλφάβητο της γλώσσας Pascal (Σύνολο
Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής
VHDL Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής Structural (Δομική) Dataflow (Ροής δεδομένων) Behavioral (Συμπεριφοράς) Η VDHL χρησιμοποιείται για την περιγραφή
alpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and
alpha Language (1/5) ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language Στην alpha δεν υπάρχει main() συνάρτηση, ο κώδικας ξεκινάει την εκτέλεση από την αρχή του
Σχεδίαση Υπολογιστικών
Σχεδίαση Υπολογιστικών Συστημάτων Εισαγωγή Μιχάλης Ψαράκης 1 Εισαγωγή Βιβλιογραφία: Βιβλίο Α: «Ψηφιακή Σχεδίαση Ενσωματωμένα Συστήματα με VHDL», P.J. Ashenden. Εκδόσεις Νέες Τεχνολογίες Βιβλίο Β: «Σχεδιασμός
Πρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ Εισαγωγή... 19
Περιεχόµενα Πρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ... 17 1 Εισαγωγή... 19 1.1 Σχετικά µε τη VHDL...19 1.2 Ροή σχεδιασµού...20 1.3 Εργαλεία EDA...21 1.4 Μεταγλώττιση από κώδικα VHDL σε κύκλωµα...22
Γλώσσα Περιγραφής Υλικού VHDL Μέρος Α: Σωστή Σύνθεση
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 2 Γλώσσα Περιγραφής Υλικού VHDL Μέρος Α: Σωστή Σύνθεση Καθηγητής Αντώνης Πασχάλης 2017
ΗΥ-225. Verilog HDL. Τα βασικά...
ΗΥ-225 Verilog HDL. Τα βασικά... Βασική Ροή Σχεδίασης Requirements RTL Model Simulate Synthesize Gate-level Model Simulate Test Bench ASIC or FPGA Place & Route Timing Model Simulate ΗΥ-225 Ιάκωβος Μαυροειδής
Πτυχιακή Εργασία. Σχεδίαση Εφαρμογών Ψηφιακών Συστημάτων Με Τη Γλώσσα VHDL
ΤΕΙ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΉΣ Πτυχιακή Εργασία Σχεδίαση Εφαρμογών Ψηφιακών Συστημάτων Με Τη Γλώσσα VHDL Αναστασόπουλος Νεκτάριος Δαρλαγιάννη Ιφιγένεια Πετρίδη
Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές
Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.
ΤΕΙ ΚΡΗΤΗΣ / ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ mode mode(0) ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εµµανουήλ Καπαρού Επιβλέπων : ρ Μηχ Νικόλαος
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2010 Ι ΑΣΚΩΝ: ΑΝΤΩΝΙΟΣ ΣΑΒΒΙ ΗΣ ΒΑΣΙΚΗ ΕΡΓΑΣΙΑ ΦΑΣΗ 2η από 5 Ανάθεση: Πέµπτη 15 Απριλίου 2010, 11:00 (πρωί)
ΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ ΠΑΤΡΑ 2006 9.
Πανεπιστήµιο Θεσσαλίας
Πανεπιστήµιο Θεσσαλίας ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΙΚΤΥΩΝ Τοµέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ232 - Ψηφιακή Σχεδίαση µε CAD ΙΙ Design Flow Simulation - Synthesis
26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2009 Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Χειµερινό Εξάµηνο 2007-2008 Verilog: Τα βασικά ΗΥ220 - Βασίλης Παπαευσταθίου 1 Η εξέλιξη στη σχεδίαση ψηφιακών κυκλωµάτων Μεγάλη εξέλιξη τα τελευταία 30 χρόνια Στις
ΗΥ-150. Προγραμματισμός
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 2 η : Η Γλώσσα Προγραμματισμού VB.NET (1 ο Μέρος) Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής & Χρηματοοικονομικής
ΗΥ-150. Προγραμματισμός
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει
inputs outputs Σχήμα 3.1: Σχηματική παράσταση της λειτουργίας του testbench
ΑΣΚΗΣΗ 3: Έλεγχος Μονάδων TESTBENCH Ορισμός του testbench Η πρώτη εφαρμογή σχεδίασης κυκλωμάτων στην οποία χρησιμοποήθηκε η VHDL ήταν η προσομοίωση. Η προσομοίωση για να λειτουργήσει απαιτεί, εκτός από
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τµήµα Ηλεκτρονικής & Μηχανικών Υπολογιστών Εργαστήριο Μικροεπεξεργαστών & Υλικού Πολυτεχνειούπολη Χανίων Τ.Κ.
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τµήµα Ηλεκτρονικής & Μηχανικών Υπολογιστών Εργαστήριο Μικροεπεξεργαστών & Υλικού Πολυτεχνειούπολη Χανίων Τ.Κ. 73100 Κρήτη http://www.mhl.tuc.gr/ Τηλ. : 0821-37262 Fax : 0821-37202 ΕΙΣΑΓΩΓΗ
Πρόλογος Συμβολή σε ορισμένα σημεία του περιεχομένου είχαν οι διδάκτορες Γ. Οικονομάκος και Ισ. Σίδερης καθώς και οι μεταπτυχιακοί σπουδαστές Ι. Σιφναίος, Ε. Χανιωτάκης και Κ. Ασφής τους οποίους ευχαριστώ
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal Δοµή προγράµµατος 1. Δοµή προγράµµατος program όνοµα_προγράµµατος(αρχείο_1, αρχείο_2,...αρχείο_ν); ΕΠΙΚΕΦΑΛΙΔΑ ΒΙΒΛΙΟΘΗΚΕΣ uses όνοµα_βιβλιοθήκης,όνοµα_βιβλιοθήκης;
ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει
Σχεδίαση κυκλωμάτων με VHDL: 1o μέρος
Σχεδίαση κυκλωμάτων με VHDL: 1o μέρος Γ. Δημητρακόπουλος Το πρώτο σας κύκλωμα Τα ψηφιακά κυκλώματα είναι μια συλλογή από λογικές πύλες και ακολουθιακά στοιχεία αποθήκευσης (ή συγχρονισμού) όπως τα flip-flops.
Αντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
1 Περίληψη Η εργασία έγινε στα πλαίσια του μαθήματος των Ψηφιακών Ηλεκτρονικών Συστημάτων με σκοπό αρχικά την εκμάθηση της γλώσσας VHDL (Very High Spe
Εργασία στα Ψηφιακά Ηλεκτρονικά Συστήματα 2013-2014 Θέμα: Κατασκευή και Ανάλυση Μετρητή 4-bit και Πλήρους Αθροιστή σε περιβάλλον VHDL Ονοματεπώνυμο: Αλέξανδρος Γεώργιος Μουντογιαννάκης Σχολή: Τμήμα Επιστήμης