Σχεδιασµός Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL)

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

Download "Σχεδιασµός Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL)"

Transcript

1 Σχεδιασµός Συστηµάτων µε VHDL (Peter Ashenden, The Students Guide to VHDL)

2 ιαδικασία Σχεδιασµού Μοντέλο VHDL VHDL code netlist Σύνθεση Layout VHDL netlist VHDL code Εξοµοίωση SDF & netlist GDSII file Ανάπτυξη Test Bench ASIC vendor for fabrication Release Test vectors H συγγραφή προγραµµάτων για σύνθεση είναι διαφορετική από την συγγραφή προγραµµάτων για περιγραφή συστηµάτων. Πολλές δοµές της VHDL δεν είναι δυνατόν να συντεθούν. ιαφορετικοί τρόποι περιγραφής ίδιων λειτουργιών µπορεί να οδηγήσουν σε διαφορετικά κυκλώµατα. Τεχνικές Σχεδίασης 2

3 ιαδικασία Σχεδιασµού H σύνθεση δηµιουργεί ένα netlist βασισµένο σε cells µίας επιλεγµένης τεχνολογίας (library binding) το οποίο µπορεί να εξοµοιωθεί µε χρονική ακρίβεια. Μπορούν να εφαρµοστούν διαδικασίες βελτιστοποίησης οι οποίες οδηγούν είτε σε µικρότερα είτε σε γρηγορότερα κυκλώµατα. Τα εργαλεία σύνθεσης παρέχουν ρχ κάθε χρονική πληροφορία ρ (σε ns) και πληροφορία επιφάνειας (σε αριθµό πυλών) για το κύκλωµα που έχουν συνθέσει. Από τα αποτελέσµατα της σύνθεσης καθορίζουµε την συχνότητα ρολογιού καθώς και χρόνους setup και hold για registers. Τεχνικές Σχεδίασης 3

4 Αποτελέσµατα Σύνθεσης Η περίοδος ρολογιού δεν πρέπει να παραβιάζει τους απαιτούµενους χρόνους Τεχνικές Σχεδίασης 4

5 D Flip Flop library IEEE; use IEEE.std_logic_1164.all; D Flip Flop entity DFF is port(clk, D : in std_logic; Q: out std_logic); end DFF; architecture RTL of DFF is seq0 : process wait until CLK'event and CLK = '1'; Q <= D; end process; end RTL; Το D-FF είναι το πιο κοινό ακολουθιακό στοιχείο στα ψηφιακά συστήµατα. H αναµονή µ γγ γεγονότος στο ρολόι σε συνδυασµό µε την ανάθεση σήµατος οδηγούν στην σύνθεση ff. Ο τύπος std_logic περιέχει τις τιµές ( U, X, 0, 1, Z, W, L, H, - ) οπότε η αρχική τιµή είναι η U. Τεχνικές Σχεδίασης 5

6 library IEEE; use IEEE.std_logic_1164.all; entity DFFQN is port( CLK, D : in std_logic; Q, Qn : out std_logic); end DFFQN; D Flip Flop D Flip Flop µε συµπληρωµατικές εξόδους architecture RTL of DFFQN is signal DFF : std_logic; seq0 : process wait until CLK'event and CLK = '1'; DFF <= D; end process; Q <= DFF; Qn <= not DFF; end RTL; Η αντιστροφή του Q µας υποχρεώνει να χρησιµοποιήσουµε ενδιάµεσο σήµα (το Q δεν µπορεί να διαβαστεί ώστε να αντιστραφεί). Τεχνικές Σχεδίασης 6

7 library IEEE; use IEEE.std_logic_1164.all; entity DFF_S is port( CLK, D, SR : in std_logic; Q, Qn : out std_logic); end DFF_S; D Flip Flop D Flip Flop µε σύγχρονο µηδενισµό architecture RTL of DFF_S is signal DFF : std_logic; seq0 : process(clk) if (CLK'event and CLK = '1 ) then if (SR= 1 ) then DFF <= 0 ; else DFF <= D; end if; end if; end process; Q <= DFF; Qn <= not DFF; end RTL; O έλεγχος του σήµατος Μηδενισµού µετά τον έλεγχο γεγονότος στο ρολόϊ οδηγεί στον σύγχρονο µηδενισµό. Τεχνικές Σχεδίασης 7

8 library IEEE; use IEEE.std_logic_1164.all; entity DFF_AS is port( CLK, D, ASR : in std_logic; Q, Qn : out std_logic); end DFF_AS; D Flip Flop D Flip Flop µε Ασύγχρονο µηδενισµό architecture RTL of DFF_AS is signal DFF : std_logic; seq0 : process(clk,asr) if (ΑSR= 1 ) then DFF<= 0 ; elsif (CLK'event and CLK = '1 ) then DFF <=D; end if; end process; Q <= DFF; Qn <= not DFF; end RTL; O έλεγχος του σήµατος Μηδενισµού πριν τον έλεγχο γεγονότος στο ρολόϊ οδηγεί στον ασύγχρονο µηδενισµό. Τεχνικές Σχεδίασης 8

9 library IEEE; use IEEE.std_logic_1164.all; entity DFF_AS is port( CLK, D, ASR, ASS: in std_logic; Q, Qn : out std_logic); end DFF_AS; D Flip Flop D Flip Flop µε Ασύγχρονη θέση / µηδένιση architecture RTL of DFF_AS is signal DFF : std_logic; seq0 : process(clk,asr,ass ) if (ΑSR= 1 ) then DFF<= 0 ; elsif (ΑSS= 1 ) then DFF<= 1 ; elsif (CLK'event and CLK = '1 ) then DFF <=D; end if; end process; Q <= DFF; Qn <= not DFF; end RTL; H µηδένιση έχει προτεραιότητα έναντι της θέσης. Τεχνικές Σχεδίασης 9

10 JK Flip Flop library IEEE; use IEEE.std_logic_1164.all; entity JKFF is port ( CLK, RSTn, J, K : in std_logic; Q, Qn : out std_logic); end JKFF; JK := J & K; case JK is architecture RTL of JKFF is signal FF : std_logic; process (CLK, RSTn) variable JK: std_logic_vector(1 downto 0); if (RSTn = '0') then FF <= '0'; elsif (CLK'event and CLK = '1') then when "01" => FF <= '0'; when "10" => FF <= '1'; when "11" => FF <= not FF; when others => FF <= FF; end case; end if; end process; Q <= FF after 2 ns; Qn <= not FF after 2 ns; end RTL; Τεχνικές Σχεδίασης 10

11 Latch library IEEE; use IEEE.std_logic_1164.all; entity Latch is port(le, D : in std_logic; Q: out std_logic); end Latch; architecture RTL of Latch is seq0 : process (D, LE) if LE = '1 then Q <= D; end if; end process; end RTL; H process είναι ευαίσθητη σε κάθε αλλαγή είτε της εισόδου δεδοµένων είτε της εισόδου επίτρεψης. Με επίτρεψη ενεργή οποιαδήποτε µεταβολή της εισόδου περνάει στην έξοδο. Τεχνικές Σχεδίασης 11

12 Latch library IEEE; use IEEE.std_logic_1164.all; entity Latch is port(rst,le, D : in std_logic; Q: out std_logic); end Latch; architecture RTL of Latch is seq0 : process (Rst,D, LE) if Rst = '1 then Q <= 0 ; elsif LE = '1 then Q <= D; end if; end process; end RTL; H διαδικασία µηδένισης είναι όµοια µε την ασύγχρονη µηδένιση των D-FF Τεχνικές Σχεδίασης 12

13 Buffer 3-καταστάσεων Module 1 Module2 Module 4 Module 3 Χρήση υψηλής εµπέδησης Τεχνικές Σχεδίασης 13

14 Buffer 3-καταστάσεων Η έξοδος του buffer είναι ίδια µε την είσοδο όταν ΕΝ= 1 αλλιώς είναι σε κατάσταση υψηλής εµπέδησης. library IEEE; use IEEE.std_logic_1164.all; entity Buffer is port(en, D : in std_logic; Q: out std_logic); end Buffer; architecture RTL of Buffer is seq0 : process (D, EN) if EN = '1 then Q <= D; else Q <= Z ; end if; end process; end RTL; Τεχνικές Σχεδίασης 14

15 Συνδυαστικές Πύλες Υπάρχουν πολλοί τρόποι περιγραφής συνδυαστικών πυλών library IEEE; use IEEE.std_logic_1164.all; entity NORGATE is port( D1,D2:in std_logic; Y1, Y2, Y3, Y4: out std_logic); end NORGATE; architecture RTL of NORGATE is Y1 <= D1 nor D2; Y2 <= '0' when (D1 or D2) = '1' else '1'; Y3 <= '1' when (D1 nor D2) = '1' else '0'; p0 : process (D1, D2) if (D1 = '1') or (D2 = '1') then Y4 <= '0'; else Y4 <= '1'; 1; end if; end process; end RTL; Πύλες NOR Τεχνικές Σχεδίασης 15

16 Πολυπλέκτες Υπάρχουν πολλοί τρόποι περιγραφής πολυπλεκτών library IEEE; use IEEE.std_logic_1164.all; entity MUX2 is port( D1,D2,SEL:in std_logic; Y1, Y2, Y3, Y4: out std_logic); end MUX2; architecture RTL of MUX2 is Y1 <= D1 when SEL= 0 else D2; with SEL select Y2 <= D1 when 0, D2 when others; p0 : process (D1, D2,SEL) if (SEL = 0') then Y3 <= D1; else Y3 <= D2; end if; end process; p1 : process (D1, D2,SEL) case SEL is when 0 => Y4 <= D1; when others=> Y4<=D2; end case; end process; end RTL; Τεχνικές Σχεδίασης 16

17 Σχεδίαση µε πίνακες αλήθειας library IEEE; use IEEE.std_logic_1164.all; entity bcd_to_excess3 is generic (delay: time); port( ( BCD: in std_logic_vector(3 downto 0); Exc: out std_logic_vector(3 downto 0)); end bcd_to_excess3; architecture behave of bcd_to_excess3 is convert: process (BCD) Παράδειγµα: BCD Excess-3 case input is when "0000" => Exc<="0011" after delay; when "0001" => Exc<="0100" after delay; when "0010" => Exc<="0101" after delay; when "0011" => Exc<="0110" after delay; when "0100" => Exc<="0111" after delay; when "0101" => Exc<="1000" after delay; when "0110" => Exc<="1001" after delay; when "0111" => Exc<="1010" after delay; when "1000" => Exc<="1011" after delay; when "1001" => Exc<="1100" after delay; when others => Exc<="XXXX"; end case; end process; Τεχνικές Σχεδίασης 17

18 library IEEE; use IEEE.std_logic_1164.all; Σχεδίαση µε πίνακες αλήθειας entity bcd_to_excess3 is generic (delay: time); port( BCD: in std_logic_vector(3 downto 0); Exc: out std_logic_vector(3 downto 0)); end bcdtoexcess3; bcd_to_excess3; architecture behave of bcd_to_excess3 is type truth is array (0 to 9) of std_logic_vector (3 downto 0); constant truth_table: truth:= ("0011", "0100", "0101","0110", "0111", "1000", "1001", "1010", "1011", "1100") Exc <= truth_table(conv_integer(bcd)); end behave; Τεχνικές Σχεδίασης 18

19 Κανόνες σύνθεσης VHDL Οι βασικοί κανόνες σύνθεσης µε VHDL είναι οι ακόλουθοι: Όταν υπάρχει έκφραση που ανιχνεύει την ακµή ενός σήµατος (πχ. CLK event and CLK= 1 ) τότε τα σήµατα που αναθέτονται (target) συνθέτονται ως flip flops. Οι ακµές σηµάτων µπορεί να είναι θετικές ή αρνητικές αλλά καλό είναι να χρησιµοποιείται µόνο µία κατηγορία από αυτές. Όταν σε ένα σήµα αναθέτουµε την τιµή Ζ τότε ένας buffer 3- καταστάσεων χρησιµοποιείται. Όταν δεν υπάρχει ανίχνευση ακµής σήµατος και ένα σήµα δεν παίρνει τιµή για κάθε πιθανή περίπτωση τότε χρησιµοποιείται latch. Όταν δεν ισχύει καµία από τις παραπάνω περιπτώσεις έχουµε σύνθεση συνδυαστικών κυκλωµάτων. Τεχνικές Σχεδίασης 19

20 Συνδυασµός Περιπτώσεων entity TRIREG is port ( CLOCK, LE, TRIEN, DIN : in std_logic; FFOUT, LATCHOUT : out std_logic); end TRIREG; architecture RTL of TRIREG is ff0 : process (TRIEN, CLOCK) if (TRIEN = '0') then FFOUT <= 'Z'; elsif (CLOCK'event and CLOCK ='1') 1) then FFOUT <= DIN; end if; end process; latch0 : process (LE, TRIEN, DIN) if (TRIEN = '0') then LATCHOUT <= 'Z'; elsif (LE = '1') then LATCHOUT <= DIN; end if; end process; end RTL; Σύνθεση Flip flop και buffer 3 καταστάσεων Σύνθεση latch (λείπει η κατάσταση LE= 0 ) και buffer 3 καταστάσεων Τεχνικές Σχεδίασης 20

21 Συνδυασµός περιπτώσεων Ο συνδυασµός των περιπτώσεων χωρίς να είναι σαφής ο διαχωρισµός περιπτώσεων οδηγεί σε κύκλωµα µεγαλύτερο και µη αναµενόµενο. (2 ff και 2 latches σε κάθε κύκλωµα) Τεχνικές Σχεδίασης 21

22 Σωστός Συνδυασµός Περιπτώσεων architecture RTLA of TRIREG is signal DFF, LATCH : std_logic; ff0 : process wait until (CLOCK'event and CLOCK = '1') ; DFF <= DIN; end process; FFOUT <= DFF when TRIEN = '1' else 'Z'; Z; Σ ή δ ό latch0 : process (LE, DIN) if (LE = '1') then LATCH <= DIN; end if; end process; LATCHOUT <= LATCH when TRIEN = '1' else 'Z'; end RTLA; Σαφής διαχωρισµός περιπτώσεων. (1 ff και 1 latches σε κάθε κύκλωµα) Τεχνικές Σχεδίασης 22

23 Σωστός Συνδυασµός Περιπτώσεων Τεχνικές Σχεδίασης 23

24 Συνδυαστικό Κύκλωµα Επιλογέα Ένα συνδυαστικό κύκλωµα επιλογέα δέχεται Ν εισόδους και µε Log 2 Ν γραµµές επιλογής επιλέγει την είσοδο που περνά στην έξοδο. Η δήλωση της οντότητας για Ν=16 φαίνεται ακόλουθα: library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity SELECTOR is port ( A : in std_logic_vector (15 downto 0); SEL : in std_logic_vector ( 3 downto 0); Y : out std_logic); end SELECTOR; Τεχνικές Σχεδίασης 24

25 Αρχιτεκτονική Ι architecture RTL1 of SELECTOR is p0 : process (A, SEL) if (SEL = "0000") then Y <= A(0); elsif (SEL = "0001") then Y <= A(1); elsif (SEL = "0010") then Y <= A(2); elsif (SEL = "0011") then Y <= A(3); elsif (SEL = "0100") then Y <= A(4); elsif (SEL = "0101") then Y <= A(5); elsif (SEL = "0110") then Y <= A(6); elsif (SEL = "0111") then Y <= A(7); elsif (SEL = "1000") then Y <= A(8); elsif (SEL = "1001") then Y <= A(9); elsif (SEL = "1010") then Y <= A(10); elsif (SEL = "1011") then Y <= A(11); elsif (SEL = "1100") then Y <= A(12); elsif (SEL = "1101") then Y <= A(13); elsif (SEL = "1110") then Y <= A(14); else Y <= A(15); end if; end process; end RTL1; Τεχνικές Σχεδίασης 25

26 Αρχιτεκτονική ΙI architecture RTL2 of SELECTOR is p1 : process (A, SEL) case SEL is when "0000" => Y <= A(0); when "0001" => Y <= A(1); when "0010" => Y <= A(2); when "0011" => Y <= A(3); when "0100" => Y <= A(4); when "0101" => Y <= A(5); when "0110" => Y <= A(6); when "0111" => Y <= A(7); when "1000" => Y <= A(8); when "1001" => Y <= A(9); when "1010" => Y <= A(10); when "1011" => Y <= A(11); when "1100" => Y <= A(12); when "1101" => Y <= A(13); when "1110" => Y <= A(14); when others => Y <= A(15); end case; end process; end RTL2; Τεχνικές Σχεδίασης 26

27 Αρχιτεκτονική ΙII-IV architecture RTL3 of SELECTOR is with SEL select Y <= A(0) when "0000", A(1) when "0001", A(2) when "0010", A(3) when "0011", A(4) when "0100", A(5) when "0101", A(6) when "0110", A(7) when "0111", A(8) when "1000", A(9) when "1001", A(10) when "1010", A(11) when "1011", A(12) when "1100", A(13) when "1101", A(14) when "1110", A(15) when others; end RTL3; Αρχιτεκτονική IV architecture RTL4 of SELECTOR is Y <= A(conv_integer(SEL)); end RTL4; std_logic_unsigned Τεχνικές Σχεδίασης 27

28 Αποτελέσµατα Σύνθεσης Αρχιτεκτονική Ι Τεχνικές Σχεδίασης 28

29 Αποτελέσµατα Σύνθεσης Αρχιτεκτονική ΙΙ, ΙΙΙ, ΙV Τεχνικές Σχεδίασης 29

30 Αξιολόγηση Αποτελεσµάτων Σύνθεσης Από τις αναφορές επιφάνειας ταχύτητας φαίνεται ότι η Αρχιτεκτονική Ι απαιτεί µεγαλύτερο και πιο αργό κύκλωµα όταν συντεθεί. Οι αρχιτεκτονικές ΙΙ, ΙΙΙ, IV οδηγούν στο ίδιο σχηµατικό. Το πρόβληµα δηµιουργεί η δοµή if then else η οποία οδηγεί σε µία αλυσίδα από συγκρίσεις µε προτεραιότητα: κάθε προηγούµενο if ελέγχεται πριν το επόµενο. Οι υπόλοιπες αρχιτεκτονικές δίνουν την δυνατότητα παραλληλισµού οπότε οδηγούν σε µικρότερα και γρηγορότερα κυκλώµατα. Συµπέρασµα: όπου είναι δυνατόν, πρέπει να αποφεύγεται η χρήση της δοµής if then else. Τεχνικές Σχεδίασης 30

31 Κωδικοποιητής Σχεδιασµός κυκλώµατος που δέχεται σαν είσοδο 4-bit επιλογή και ενεργοποιεί την αντίστοιχη από 16 εξόδους. library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity ENCODER is port ( SEL : in std_logic_vector(3 downto 0); Y : out std_logic_vector(15 downto 0)); end ENCODER; Τεχνικές Σχεδίασης 31

32 Αρχιτεκτονική Ι architecture RTL1 of ENCODER is p0 : process (SEL) Y <= (Y'range => '1'); if (SEL = "0000") then Y(0) <= '0'; elsif (SEL = "0001") then Y(1) <= '0'; elsif (SEL = "0010") then Y(2) <= '0'; elsif (SEL = "0011") then Y(3) <= '0'; 0; elsif (SEL = "0100") then Y(4) <= '0'; elsif (SEL = "0101") then Y(5) <= '0'; elsif (SEL = "0110") then Y(6) <= '0'; elsif (SEL = "0111") then Y(7) <= '0'; elsif (SEL = "1000") then Y(8) <= '0'; elsif (SEL = "1001") then Y(9) <= '0'; elsif (SEL = "1010") then Y(10) <= '0'; elsif (SEL = "1011") then Y(11) <= '0'; elsif (SEL = "1100") then Y(12) <= '0'; elsif (SEL = "1101") then Y(13) <= '0'; elsif (SEL = "1110") then Y(14) <= '0'; 0; else Y(15) <= '0'; end if; end process; end RTL1; Τεχνικές Σχεδίασης 32

33 Αρχιτεκτονική ΙΙ architecture RTL2 of ENCODER is p1 : process (SEL) Y <= (Y'range => '1'); case SEL is when "0000" => Y(0) <= '0'; when "0001" => Y(1) <= '0'; when "0010" => Y(2) <= '0'; 0; when "0011" => Y(3) <= '0'; when "0100" => Y(4) <= '0'; when "0101" => Y(5) <= '0'; when "0110" => Y(6) <= '0'; when "0111" => Y(7) <= '0'; when "1000" => Y(8) <= '0'; when "1001" => Y(9) <= '0'; when "1010" => Y(10) <= '0'; when "1011" => Y(11) <= '0'; when "1100" => Y(12) <= '0'; when "1101" => Y(13) <= '0'; when "1110" => Y(14) <= '0'; 0; when others => Y(15) <= '0'; end case; end process; end RTL2; Τεχνικές Σχεδίασης 33

34 Αρχιτεκτονική ΙΙΙ - ΙV architecture RTL3 of ENCODER is with SEL select Y <= " " when "0000", " " when "0001", " " when "0010", " " when "0011", " " when "0100", " " when "0101", " " when "0110", " " when "0111", " " when "1000", " " when "1001", " " when "1010", " " when "1011", " " when "1100", " " when "1101", " " when "1110", " " when others; end RTL3; architecture RTL4 of ENCODER is p3 : process (SEL) Y <= (Y'range => '1'); Y(conv_integer(SEL)) <= '0'; end process; end RTL4; Τεχνικές Σχεδίασης 34

35 Ελεγκτής Ισότητας Σχεδιασµός κυκλώµατος που δέχεται σαν είσοδο 2 Ν-bit διανύσµατα και δίνει µία έξοδο ίση µε 1 όταν τα δύο διανύσµατα είναι ίδια. library IEEE; use IEEE.std_logic_1164.all; entity EQUAL is generic (N : in integer := 8); port ( A, B : in std_logic_vector(n-1 downto 0); SAME : out std_logic); end EQUAL; Τεχνικές Σχεδίασης 35

36 Αρχιτεκτονική Ι architecture RTL1 of EQUAL is p0 : process (A, B) variable SAME_SO_FAR : std_logic; SAME_SO_FAR := '1'; for i in A'range loop if (A(i) /= B(i)) then SAME_SO_FAR := '0'; exit; end if; end loop; SAME <= SAME_SO_FAR; end process; end RTL1; Αλγοριθµική µ προσέγγιση Τεχνικές Σχεδίασης 36

37 Αρχιτεκτονική ΙΙ-ΙΙΙ architecture RTL2 of EQUAL is signal EACHBIT : std_logic_vector(a'length-1 downto 0); xnor_gen : for i in A'range generate EACHBIT(i) <= not (A(i) xor B(i)); end generate; p0 : process (EACHBIT) variable BITSAME : std_logic; BITSAME := EACHBIT(0); for i in 1 to A'length-1 loop BITSAME := BITSAME and EACHBIT(i); end loop; SAME <= BITSAME; end process; end RTL2; Χρήση πυλών XNOR για σύγκριση ανά δύο των bits και µίας πύλης AND για συγκέντρωση αποτελεσµάτων Αρχιτεκτονική IΙΙ architecture RTL3 of EQUAL is SAME <= '1' when A = B else '0'; end RTL3; Τεχνικές Σχεδίασης 37

38 Αθροιστές Χρήση Concurrent statements Ηµιαθροιστής library IEEE; use IEEE.std_logic_1164.all; entity HA is port ( A, B : in std_logic; S, C : out std_logic); end HA; Πλήρης αθροιστής library IEEE; use IEEE.std_logic_1164.all; entity FA is port ( A, B, CI : in std_logic; S, COUT : out std_logic); end FA; architecture RTL of HA is S <= A xor B; C <= A and B; end RTL; architecture RTL of FA is S <= A xor B xor CI; COUT <= (A and B) or (A and CI) or (B and CI); end RTL; Τεχνικές Σχεδίασης 38

39 Πακέτο Πυλών library IEEE; use IEEE.std_logic_1164.all; package GATECOMP is component AND2 port ( A,Β: in std_logic; Y : out std_logic ); end component; component OR3 port ( A, Β, C : in std_logic; Y : out std_logic ); end component; component XOR2 port (A,B : in std_logic; Y : out std_logic ); end component; end GATECOMP; Αθροιστές Όταν επιθυµούµε συγκεκριµένη υλοποίηση χρησιµοποιούµε δοµική περιγραφή Πλήρης αθροιστής use work.gatecomp.all; architecture COMP of FA is signal S1, A1, A2, A3 : std_logic; xor_0 : XOR2 port map (A, B, S1); xor_1 : XOR2 port map (CI, S1, S); and_0 : AND2 port map (A, B, A1); and_1 : AND2 port map (A, CI, A2); and_2 : AND2 port map (B, CI, A3); or_0 : OR3 port map (A1, A2, A3, COUT); end COMP; Τεχνικές Σχεδίασης 39

40 library IEEE; use IEEE.std_logic_1164.all; Αθροιστές Ριπής Ι entity RPADDER is generic (N : in integer := 8); port ( A, B : in std_logic_vector(n-1 downto 0); CI : in std_logic; S : out std_logic_vector(n-1 downto 0); COUT : out std_logic); end RPADDER; Ο αθροιστής ριπής µπορεί να σχεδιαστεί µε µία αλυσίδα Πλήρων Αθροιστών architecture RTL1 of RPADDER is component FA port ( A, B, CI : in std_logic; S, COUT : out std_logic); end component; signal C : std_logic_vector(a'length-1 downto 1); Χρήση του Πλήρους Αθροιστή. Βρίσκεται στην βιβλιοθήκη work από την προηγούµενη ενότητα Τεχνικές Σχεδίασης 40

41 Αθροιστές Ριπής Ι gen : for j in A'range generate genlsb : if j = 0 generate fa0 : FA port map (A => A(0), B => B(0), CI => CI, S => S(0), COUT => C(1)); end generate; genmid : if (j > 0) and (j < A'length-1) generate fa0 : FA port map (A => A(j), B => B(j), CI => C(j), S => S(j), COUT => C(j+1)); end generate; genmsb : if j = A'length-1 generate fa0 : FA port map (A => A(j), B => B(j), CI => C(j), S => S(j), COUT => COUT); end generate; end generate; end RTL1; Τα generate statements αυτοµατοποιούν την διαδικασία δηµιουργίας δοµικών περιγραφών όταν αφορούν επαναληπτικές δοµές. Τεχνικές Σχεδίασης 41

42 Αθροιστές Ριπής Ι architecture RTL1 of RPADDER is component FA port ( A, B, CI : in std_logic; S, COUT : out std_logic); end component; signal C : std_logic_vector(a'length downto 0); C(0)<=CI; COUT<=C(A length) gen : for j in A'range generate fa0 : FA port map (A => A(j), B => B(j), CI => C(j), S => S(j), COUT =>C(j+1)); end generate; end RTL1; Τεχνικές Σχεδίασης 42

43 Αθροιστές Ριπής ΙΙ architecture RTL2 of RPADDER is procedure FADDER ( signal A, B, CI : in std_logic; signal S, COUT : out std_logic) is S <= A xor B xor CI; COUT <= (A and B) or (A and CI) or (B and CI); end FADDER; signal C : std_logic_vector(a'length-1 downto 1); gen : for j in A'range generate genlab : if j = 0 generate FADDER (A => A(0), B => B(0), CI => CI, S => S(0), COUT => C(1)); end generate; Ορισµός του Πλήρους Αθροιστή ως procedure genmid : if (j> 0) and (j < A'length-1) generate FADDER (A => A(j), B => B(j), CI => C(j), S => S(j), COUT => C(j+1)); end generate; genmsb : if j = A'length-1 generate FADDER (A => A(j), B => B(j), CI => C(j), S => S(j), COUT => COUT); end generate; end generate; end RTL2; Τεχνικές Σχεδίασης 43

44 Πολλαπλασιαστές library IEEE; use IEEE.std_logic_1164.all; entity mult is generic (product_delay : time); port ( a, b : in std_logic_vector(3 downto 0); product : out std_logic_vector(7 downto 0)); end mult; architecture behave of mult is product <= std_logic_vector (unsigned(a) * unsigned(b)) after product_delay; end; Τεχνικές Σχεδίασης 44

45 Μνήµη ROM 8x8 library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; entity rom8x8 is generic (delay : time); port ( read_enable : in std_logic; address: in std_logic_vector(2 downto 0); dt data_out t: out std_logic_vector(7 t downto 0)); end rom8x8; architecture behave of rom8x8 is process (read_enable, address) Τεχνικές Σχεδίασης 45

46 Μνήµη ROM 8x8 if (read_enable = '1') then case (address) is when O"0" => data_out <= X"12" after delay; when O"1" => data_out <= X"18" after delay; when O"2" => data_out <= X"f2" after delay; when O"3" => data_out <= X"e2" after delay; when O"4" => data_out <= X"13" after delay; when O"5" => data_out t <= X"02" after dl delay; when O"6" => data_out <= X"10" after delay; when O"7" => data_out <= X"23" after delay; end case; end if; end process; end behave; Για µεγάλες µνήµες η περιγραφή δεν είναι αποδοτική Τεχνικές Σχεδίασης 46

47 Μνήµη ROM 8 x 8 (version 2) type matrix is array (integer range <>) of std_logic_vector(7 downto 0); -- in a package entity rom8x8 is generic (delay : time); port ( read_enable : in std_logic; address: in std_logic_vector(2 downto 0); data_out : out std_logic_vector(7 downto 0)); end rom8x8; architecture behave of rom8x8 is signal mem: matrix (7 downto 0) :={x"12", x"18", x"f2", x"e2", x"13", x"02", x"10", x"23"}; process (read_enable, address) if (read_enable = '1') then data_out <= mem(conv_integer(address)) after delay; end if; end process; end behave; Τεχνικές Σχεδίασης 47

48 Μνήµη ROM n x n if (read_enable = '1') then case (address) is when O"0" => data_out <= X"12" after delay; when O"1" => data_out <= X"18" after delay; when O"2" => data_out <= X"f2" after delay; when O"3" => data_out <= X"e2" after delay; when O"4" => data_out <= X"13" after delay; when O"5" => data_out t <= X"02" after dl delay; when O"6" => data_out <= X"10" after delay; when O"7" => data_out <= X"23" after delay; end case; end if; end process; end behave; Τεχνικές Σχεδίασης 48

49 ALU 8 πράξεων Selector Function 000 x+y 001 x-y 010 x x x or y 101 not x 110 x and y 111 x xor y Τεχνικές Σχεδίασης 49

50 ALU 8 πράξεων (package) Στο πακέτο δηλώνουµε τις βασικές σταθερές και πράξεις. package arith_operations is constant size: integer :=8; constant select_bits: integer :=3; procedure add ( x, y: in bit_vector(size-1 downto 0); sum: out bit_vector(size-1 downto 0), c_out: out bit); procedure sub ( x,,y y: in bit _ vector(size-1 downto 0); d: out bit_vector(size-1 downto 0), c_out: out bit); function inc (x: in bit_vector) return bit_vector; function dec (x: in bit_vector) return bit_vector; end arith_operations; package body arith_operations is Στο σώµα θα ενσωµατώσουµε τις συναρτήσεις διαδικασίες Τεχνικές Σχεδίασης 50

51 ALU 8 πράξεων (package body/1) procedure add ( x, y: in bit_vector(size-1 downto 0); sum: out bit_vector(size-1 downto 0), c_out: out bit); variable s: bit_vector (size downto 0); s:= '0' & x + '0' & y; sum:= s(size-1 downto 0); c_out:= s(size); end add; procedure sub ( x, y: in bit_vector(size-1 downto 0); d: out bit_vector(size-1 downto 0), c_out: out bit); variable s: bit_vector (size downto 0); end add; s:= '0' & x + not ('0' & y) + ((size-1 downto 0)=>'0') & '1'; d:= s(size-1 downto 0); c_out:= s(size); Τεχνικές Σχεδίασης 51

52 ALU 8 πράξεων (package body/2) function inc ( x: in bit_vector(size-1 downto 0)) return bit_vector is variable x1: bit_vector (size-1 downto 0); x1:= x + ((size-2 downto 0)=>'0') & '1'; return x1; end inc; function dec ( x: in bit_vector(size-1 downto 0)) return bit_vector is variable x1: bit_vector (size-1 downto 0); x1:= x + ((size-1 downto 0)=>'1'); -- x + 2s complement of return x1; end inc; end arith_operations; Τεχνικές Σχεδίασης 52

53 ALU 8 πράξεων use work.arith_operations.all; entity alu is generic (delay :time); port ( x, y: in bit_vector (size-1 downto 0); function_select: in bit_vector (select_bits-1 downto 0); f: out bit_vector (size-1 downto 0)); end alu; architecture behave of alu is p0: process (x,y,function_select) variable f_out: bit_vector (size-1 downto 0); case function_select is when "000" => add (x, y, f_out); f<=f_out after delay; when "001" => sub (x, y, f_out); f<=f_out after delay; when "010" => f<=inc (x) after delay; when "011" => f<=dec (x) after delay; when "100" => x or y after delay; when "101" => not x after delay; when "110" => x and y after delay; when "111" => x xor y after delay; end case; end process; end bahave; Τεχνικές Σχεδίασης 53

54 Μετρητές Υπάρχουν δύο είδη µετρητών: σύγχρονοι και ασύγχρονοι. Οι σύγχρονοι µετρητές έχουν διασυνδεδεµένα όλα τα flip flops σε ένα ρολόι και αλλάζουν κατάσταση στην ακµή του ρολογιού. Οι ασύγχρονοι µετρητές δεν έχουν κοινό ρολόι αλλά ένα flip flop µπορεί να ενεργοποιεί ένα άλλο κ.ο.κ. Τα flip flop που χρησιµοποιούνται µ για την κατασκευή µετρητών είναι αυτά που έχουν την δυνατότητα να αντιστρέφουν την κατάστασή τους (όπως τα JK, T). Μπορούµε να µοντελοποιήσουµε την συµπεριφορά ενός JK Flip flop δίνοντας και χρόνους καθυστέρησης. Οι καθυστερήσεις που περιγράφονται στην VHDL δεν συντίθενται αλλά χρησιµοποιούνται µόνο για λόγους εξοµοίωσης. Τεχνικές Σχεδίασης 54

55 EN Ασύγχρονος Μετρητής Cnt(0) Cnt(1) Cnt(2) Cnt(N-1) J Q J Q J Q J Q CLK CLK CLK... CLK K Q n K Q n K Q n K Q n Τεχνικές Σχεδίασης 55

56 Ασύγχρονος Μετρητής library IEEE; use IEEE.std_logic_1164.all; entity ACNT is port ( RSTn, EN : in std_logic; CNTR: out std_logic_vector(7 downto 0)); end ACNT; architecture RTL of ACNT is component JKFF port ( CLK, RSTn, J, K : in std_logic; Q, Qn : out std_logic); end component; signal FFQ: std_logic_vector(8 downto 0); signal FFQn: std_logic_vector(8 downto 0); signal VDD: std_logic; VDD <= '1'; FFQn(0) <= EN; jk0 : for j in 1 to 8 generate b17 : JKFF port map (CLK => FFQn(j-1), RSTn => RSTn, J => VDD, K => VDD, Q => FFQ(j), Qn => FFQn(j)); end generate; CNTR <= FFQ(8 downto 1); end RTL; Παράδειγµα απλής ιεραρχικής σχεδίασης Τεχνικές Σχεδίασης 56

57 Σύγχρονος Μετρητής library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity SCNT is port ( CLK, RSTn, EN : in std_logic; CNTR: out std_logic_vector(7 downto 0)); end SCNT; architecture RTL of SCNT is signal FF : std_logic_vector(7 downto 0); process (CLK, RSTn) if (RSTn = '0') then FF <= (FF'range => '0'); elsif (CLK'event and CLK ='1') 1) then if (EN = '1') then FF <= FF + 1; end if; end if; end process; CNTR <= FF; end RTL; Τεχνικές Σχεδίασης 57

58 Καταχωρητής ολίσθησης library IEEE; use IEEE.std_logic_1164.all; entity SHIFTREN is port ( CLK, RSTn, SI, EN : in std_logic; SO: out std_logic); end SHIFTREN; architecture RTL of SHIFTREN is signal FF8 : std_logic_vector(7 downto 0); posedge : process (RSTn, CLK) if (RSTn = '0') then FF8 <= (FF8'range => '0'); elsif (CLK'event and CLK ='1') 1) then if (EN = '1') then FF8 <= SI & FF8(FF8'length-1 downto 1); end if; end if; end process; SO <= FF8(0); end RTL; Τεχνικές Σχεδίασης 58

59 Μνήµη RAM package RAM_DECL is constant address_size: integer:=8; constant word_size: integer:=8; type matrix is array (0 to 2**address_size-1) of bit_vector(word_size-1 downto 0); end RAM_DECL; use work.ram_decl.all; entity ram is generic (delay: time); port ( mode, enable, clk: in bit; address: in bit_vector (address_size-1 downto 0); data_in: in bit; data_out: out bit); end ram; Τεχνικές Σχεδίασης 59

60 Μνήµη RAM architecture behave of ram is signal mem: matrix; read_proc: process (clk, mode) if clk='1' and clk'event then if enable='1' then if mode='0' then data_out< out<=mem(conv mem(conv_integer(address)) after delay; elsif mode='1' then mem(conv_integer(address))<=data_out after delay; end if; end if; end if; end process; end ram; Τεχνικές Σχεδίασης 60

61 Μνήµη RAM Dual-Port Μία θύρα ανάγνωσης/εγγραφής εύτερη θύρα ανάγνωσης µόνο library ieee; use ieee.std_logic_1164.all, ieee.numeric_std.all; entity dual_port_ssram is port ( clk : in std_logic; en1, wr1 : in std_logic; a1 : in unsigned(11 downto 0); d_in1 : in std_logic_vector(15 downto 0); d_out1 : out std_logic_vector(15 downto 0); en2 : in std_logic; a2 : in unsigned(11 downto 0); d_out2 : out std_logic_vector(15 downto 0) ); end entity dual_port_ssram; Τεχνικές Σχεδίασης 61

62 Μνήµη RAM Dual-Port architecture synth of dual_port_ssram is type RAM_4Kx16 is array (0 to 4095) of std_logic_vector(15 downto 0); signal data_ram : RAM_4Kx16; read_write_port : process (clk) is if rising_edge(clk) then if en1 = '1' then if wr1 = '1' then data_ram(to_integer(a1)) <= d_in1; d_out1 <= d_in1; else d_out1 <= data_ram(to_integer(a1)); end if; end if; end if; end process read_write_port; Τεχνικές Σχεδίασης 62

63 Μνήµη RAM Dual-Port read_only_port : process (clk) is if rising_edge(clk) then if en2 = '1' then d_out2 <= data_ram(to_integer(a2)); end if; end if; end process read_only_port; end architecture synth; Τεχνικές Σχεδίασης 63

64 Σειριακός αθροιστής Τεχνικές Σχεδίασης 64

65 Σειριακός αθροιστής entity serial_adder is port ( clk, s_in, sh_ctrl: in bit; sreg1: inout bit_vector (3 downto 0) ); end serial_adder; architecture behave of serial_adder is signal sum, carry, Q: bit; signal add_res: bit_vector(1 downto 0); signal sreg2: bit_vector (3 downto 0); SR_proc: process (sh_ctrl, clk) if (sh_ctrl='1') if (clk'event and clk='1') then sreg1 <= sum & sreg1(3 downto 1); sreg2 <= s_in & sreg2(3 downto 1); Q<=carry; end if; end if; end process; add_res <= '0'&sreg1(0) + '0'&sreg2 +'0'&Q; sum <= add_res(0); carry <= add_res(1); end behave; Τεχνικές Σχεδίασης 65

66 Μηχανή Καταστάσεων Βήµατα: 1. Κατασκευή διαγράµµατος καταστάσεων. 2. Κατασκευή πίνακα καταστάσεων. 3. Κατασκευή λίστας µεταβάσεων (πιο απλή από το διάγραµµα για µεγάλα διαγράµµατα). Οι µεταβάσεις αντί να σχεδιάζονται ορίζονται σε πίνακα. Παράδειγµα: κύκλωµα ανιχνευτή ακολουθίας τριών άσσων Τεχνικές Σχεδίασης 66

67 Μηχανή Καταστάσεων Rst+x'/y' Rst' x/y' S0 Rst+x'/y' S1 Rst+x'/y Rst' x/y' Rst' x/y Rst+x'/y' Παρούσα Επόµενη y X=0 X=1 S0 S0 S1 0 S1 S0 S2 0 S2 S0 S3 0 S3 S0 S1 1 S3 Rst' x/y' S2 ιάγραµµα Καταστάσεων Πίνακας Καταστάσεων Τεχνικές Σχεδίασης 67

68 Μηχανή Καταστάσεων entity seq_detector is generic (delay: time); port ( clk, Rst, x: in std_logic; y: out std_logic ); end seq_detector; architecture FSM of seq_detector is type states is (S0, S1, S2, S3); signal state: states:=s0; set_state: process (clk, Rst) if (Rst='1') then state<=s0; elsif (clk'event and clk='1') then case state is S0 => if (x='1') then state<=s1 else state<=s0; end if; S1 => if (x='1') then state<=s2 else state<=s0; end if; S2 => if (x='1') then state<=s3 else state<=s0; end if; S3 => if (x='1') then state<=s1 else state<=s0; end if; end case; end if; y <= '1' when state=s3, end behave; else '0' when others; Τεχνικές Σχεδίασης 68

69 Μηχανή Καταστάσεων Τεχνικές Σχεδίασης 69

70 Χρ. Καβουσιανός Τεχνικές Σχεδίασης 70

71 Παράδειγµα οµή ιοχέτευσης library ieee; use ieee.std_logic_1164.all, ieee.fixed_pkg.all; entity average_pipeline is port ( clk : in std_logic; a, b, c : in sfixed(5 downto -8); avg : out sfixed(5 downto -8) ); end entity average_pipeline; architecture rtl of average_pipeline is 3 - stages a+b a+b+c Αριθµοί σταθερής υποδιαστολής a+b+c 3 signal a_plus_b, sum, sum_div_3 : sfixed(5 downto -8); signal saved_a_plus_b, saved_c, saved_sum : sfixed(5 downto -8); Τεχνικές Σχεδίασης 71

72 Παράδειγµα οµή ιοχέτευσης a_plus_b <= a + b; reg1 : process (clk) is if rising_edge(clk) then saved_a_plus_b <= a_plus_b; saved_c <= c; end if; end process reg1; sum <= saved_a_plus_b + saved_c; reg2 : process (clk) is if rising_edge(clk) then saved_sum <= sum; end if; end process reg2; sum_div_3 <= saved_sum * to_sfixed(1.0/3.0, sum_div_3'left, sum_div_3'right); reg3 : process (clk) is if rising_edge(clk) then avg <= sum_div_3; end if; end process reg3; end architecture rtl; Τεχνικές Σχεδίασης 72

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

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

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

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

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

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

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

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

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

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

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

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

Library, package και subprograms

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

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

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

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

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

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

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

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

Προσοµοίωση Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL)

Προσοµοίωση Συστηµάτων µε VHDL. (Peter Ashenden, The Students Guide to VHDL) Προσοµοίωση Συστηµάτων µε VHDL (Peter Ashenden, The Students Guide to VHDL) Κώδικας VHDL Περιβάλλον Σχεδίασης Αναλυτής ιαχειριστής Βιβλιοθήκης Σχεδίασης Προσοµοιωτής Αντίστροφος Αναλυτής Βιβλιοθήκη Σχεδίασης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Κεφάλαιο 7 i: Καταχωρητές Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές Ολίσθησης Σειριακή Φόρτωση Σειριακή Ολίσθηση Καταχωρητές Ολίσθησης Παράλληλης Φόρτωσης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Peter Ashenden, The Students Guide to VHDL)

(Peter Ashenden, The Students Guide to VHDL) Υποπρογράµµατα Πακέτα (Peter Ashenden, The Students Guide to VHDL) Procedures Μία διαδικασία (procedure) δηλώνεται και κατόπιν καλείται όσες φορές θέλουµε. procedure identifier [(parameter_interface_list)]

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL

ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL Προετοιµασία: Παπαδόπουλος Γιώργος Σούρδης Γιάννης Για το µάθηµα Οργάνωσης Υπολογιστών (ΑΡΥ301), 2002 ΕΙΣΑΓΩΓΗ ΣΤΗ STRUCTURAL VHDL Η VHDL είναι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ. ΤΕΙ ΚΡΗΤΗΣ / ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ mode mode(0) ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εµµανουήλ Καπαρού Επιβλέπων : ρ Μηχ Νικόλαος

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

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων

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

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

Πρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ Εισαγωγή... 19

Πρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ Εισαγωγή... 19 Περιεχόµενα Πρόλογος...13 I ΣΧΕ ΙΑΣΜΟΣ ΣΕ ΕΠΙΠΕ Ο ΚΥΚΛΩΜΑΤΟΣ... 17 1 Εισαγωγή... 19 1.1 Σχετικά µε τη VHDL...19 1.2 Ροή σχεδιασµού...20 1.3 Εργαλεία EDA...21 1.4 Μεταγλώττιση από κώδικα VHDL σε κύκλωµα...22

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

Structural VHDL. Structural VHDL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

nkavv@physics.auth.gr

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

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

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

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

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

constant number_of_bytes : integer := 4; constant number_of_bits : integer := 8 * number_of_bytes;

constant number_of_bytes : integer := 4; constant number_of_bits : integer := 8 * number_of_bytes; Σχεδίαση Υπολογιστικών Συστηµάτων Μοντελοποίηση και προσοµοίωση στην VHDL Μιχάλης Ψαράκης 3-1 Αντικείµενα στη VHDL Σταθερές (constants) Μεταβλητές (variables) Σήµατα (signals) Θύρες (ports) 3-2 ηλώσεις

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή 6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή Εισαγωγή Η σχεδίαση ενός ψηφιακού συστήµατος ως ακολουθιακή µηχανή είναι εξαιρετικά δύσκολη Τµηµατοποίηση σε υποσυστήµατα µε δοµικές µονάδες:

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

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

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

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

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

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

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

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

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

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

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

VHDL Introduction. Subtitle

VHDL Introduction. Subtitle VHDL Introduction Subtitle Getting Started VHDL means Very Hard Difficult Language That s a lie!!! τα αρχικά VHDL είναι συντομογραφία του VHSIC Hardware Description Language, ενώ το VHSIC αντιπροσωπεύει

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

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

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

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

Κεφάλαιο 7 ο. Γ. Τσιατούχας. VLSI Technology and Computer Architecture Lab. Ακολουθιακή Λογική 2

Κεφάλαιο 7 ο. Γ. Τσιατούχας. VLSI Technology and Computer Architecture Lab. Ακολουθιακή Λογική 2 ΚΥΚΛΩΜΑΤΑ VLSI Ακολουθιακή Λογική Κεφάλαιο 7 ο Γ. Τσιατούχας ΚΥΚΛΩΜΑΤΑ VLSI Διάρθρωση 1. Δισταθή κυκλώματα Μεταστάθεια 2. Μανδαλωτές 3. Flip Flops Flops 4. Δομές διοχέτευσης 5. Διανομή ρολογιού 6. Συγχρονισμός

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

Σχεδίαση Βασικών Κυκλωµάτων. Χρ. Καβουσιανός. Επίκουρος Καθηγητής

Σχεδίαση Βασικών Κυκλωµάτων. Χρ. Καβουσιανός. Επίκουρος Καθηγητής Σχεδίαση Βασικών Κυκλωµάτων Χρ. Καβουσιανός Επίκουρος Καθηγητής Εισαγωγή Τα αριθµητικά κυκλώµατα χρησιµοποιούνται ευρέως στην σχεδίαση συστηµάτων. Data Paths Επεξεργαστές ASICs Κυρίαρχες Αριθµητικές Πράξεις:

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

Γλώσσα Περιγραφής Υλικού VHDL Μέρος Α: Σωστή Σύνθεση

Γλώσσα Περιγραφής Υλικού VHDL Μέρος Α: Σωστή Σύνθεση ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 2 Γλώσσα Περιγραφής Υλικού VHDL Μέρος Α: Σωστή Σύνθεση Καθηγητής Αντώνης Πασχάλης 2017

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

w x y Υλοποίηση της F(w,x,y,z) με πολυπλέκτη 8-σε-1

w x y Υλοποίηση της F(w,x,y,z) με πολυπλέκτη 8-σε-1 Άσκηση 1 Οι λύσεις απαντήσεις που προτείνονται είναι ενδεικτικές και θα πρέπει να προσθέσετε Α) Αρχικά σχεδιάζουμε τον πίνακα αληθείας της λογικής έκφρασης: w x y z x G1 =x y G2 =z w F = G1 G2 Είσοδοι

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

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

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

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

H γλώσσα περιγραφής κυκλωµάτων VHDL

H γλώσσα περιγραφής κυκλωµάτων VHDL H γλώσσα περιγραφής κυκλωµάτων VHDL Καβουσιανός Χρ. Τσιατούχας Γ. Λέκτορες Πανεπιστηµίου Ιωαννίνων (Peter Ashenden, The Students Guide to VHDL) Γενικά VHDL = VHSIC (Very High Speed Integrated Circuits)

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

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

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

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

Άσκηση 3 Ένα νέο είδος flip flop έχει τον ακόλουθο πίνακα αληθείας : I 1 I 0 Q (t+1) Q (t) 1 0 ~Q (t) Κατασκευάστε τον πίνακα

Άσκηση 3 Ένα νέο είδος flip flop έχει τον ακόλουθο πίνακα αληθείας : I 1 I 0 Q (t+1) Q (t) 1 0 ~Q (t) Κατασκευάστε τον πίνακα Άσκηση Δίδονται οι ακόλουθες κυματομορφές ρολογιού και εισόδου D που είναι κοινή σε ένα D latch και ένα D flip flop. Το latch είναι θετικά ενεργό, ενώ το ff θετικά ακμοπυροδοτούμενο. Σχεδιάστε τις κυματομορφές

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

Ελίνα Μακρή

Ελίνα Μακρή Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,

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

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

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

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

6.1 Καταχωρητές. Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f.

6.1 Καταχωρητές. Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f. 6. Καταχωρητές Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f. Καταχωρητής 4 ψηφίων Καταχωρητής με παράλληλη φόρτωση Η εισαγωγή

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

Κεφάλαιο 10 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Ακολουθιακή Λογική 2

Κεφάλαιο 10 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Ακολουθιακή Λογική 2 ΚΥΚΛΩΜΑΤΑ VLSI Πανεπιστήμιο Ιωαννίνων Ακολουθιακή Λογική Κεφάλαιο 10 ο Τμήμα Μηχανικών Η/Υ και Πληροφορικής Γ. Τσιατούχας ΚΥΚΛΩΜΑΤΑ VLSI Διάρθρωση 1. Δισταθή κυκλώματα Μεταευστάθεια 2. Μανδαλωτές 3. Flip

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

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops K24 Ψηφιακά Ηλεκτρονικά 9: TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΧΝΟΛΟΓΙΚΟ Περιεχόμενα 1 2 3 Γενικά Ύστερα από τη μελέτη συνδυαστικών ψηφιακών κυκλωμάτων, θα μελετήσουμε

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

HY430 Εργαστήριο Ψηφιακών Κυκλωμάτων. Πολυπλέκτες Καμπύλη Παρέτο. Κωδικοποιητές/Από-κωδικοποιητές D FF

HY430 Εργαστήριο Ψηφιακών Κυκλωμάτων.   Πολυπλέκτες Καμπύλη Παρέτο. Κωδικοποιητές/Από-κωδικοποιητές D FF HY430 Εργαστήριο Ψηφιακών Κυκλωμάτων Διδάσκων: Χ. Σωτηρίου, Βοηθός: (θα ανακοινωθεί) http://inf-server.inf.uth.gr/courses/ce430/ Περιεχόμενα Περιγραφές και Συνθέσιμες Δομές Πολυπλέκτες Καμπύλη Παρέτο Κωδικοποιητές/Από-κωδικοποιητές

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

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα 6 η Θεµατική Ενότητα : Σύγχρονα Ακολουθιακά Κυκλώµατα Εισαγωγή Είσοδοι Συνδυαστικό Κύκλωµα Έξοδοι Στοιχεία Μνήµης Κατάσταση Ακολουθιακού Κυκλώµατος : περιεχόµενα στοιχείων µνήµης Η έξοδος εξαρτάται από

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

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

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

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

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΙΚΤΥΩΝ Τοµέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ232 - Ψηφιακή Σχεδίαση µε CAD ΙΙ Design Flow Simulation - Synthesis

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

3 η Θεµατική Ενότητα : Σύγχρονα Ακολουθιακά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

3 η Θεµατική Ενότητα : Σύγχρονα Ακολουθιακά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός 3 η Θεµατική Ενότητα : Σύγχρονα Ακολουθιακά Κυκλώµατα Επιµέλεια διαφανειών: Χρ. Καβουσιανός Εισαγωγή Είσοδοι Συνδυαστικό Κύκλωµα Έξοδοι Στοιχεία Μνήµης Κατάσταση Ακολουθιακού Κυκλώµατος : περιεχόµενα στοιχείων

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

Κεφάλαιο 4 ο Σχεδίαση Κυκλωμάτων με χρήση της γλώσσας VHDL

Κεφάλαιο 4 ο Σχεδίαση Κυκλωμάτων με χρήση της γλώσσας VHDL Κεφάλαιο 4 ο Σχεδίαση Κυκλωμάτων με χρήση της γλώσσας VHDL 4.1 Eισαγωγή στη VHDL 4.1.1 Θεωρητικό υπόβαθρο H VHDL είναι μια γλώσσα που χρησιμοποιείται για την περιγραφή και μοντελοποίηση ψηφιακών κυκλωμάτων.

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

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα 6 η Θεµατική Ενότητα : Σύγχρονα Ακολουθιακά Κυκλώµατα Εισαγωγή Είσοδοι Συνδυαστικό Κύκλωµα Έξοδοι Στοιχεία Μνήµης Κατάσταση Ακολουθιακού Κυκλώµατος : περιεχόµενα στοιχείων µνήµης Η έξοδος εξαρτάται από

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

ΣΧΕΔΙΑΣΜΟΣ ΚΥΚΛΩΜΑΤΩΝ ΠΑΡΑΜΕΤΡΙΚΗΣ ΜΕΤΑΒΟΛΗΣ ΣΥΧΝΟΤΗΤΑΣ ΚΑΙ DUTY CYCLE ΠΑΛΜΟΥ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL

ΣΧΕΔΙΑΣΜΟΣ ΚΥΚΛΩΜΑΤΩΝ ΠΑΡΑΜΕΤΡΙΚΗΣ ΜΕΤΑΒΟΛΗΣ ΣΥΧΝΟΤΗΤΑΣ ΚΑΙ DUTY CYCLE ΠΑΛΜΟΥ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΗΛ. ΥΠΟΛΟΓΙΣΤΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΣΧΕΔΙΑΣΜΟΣ ΚΥΚΛΩΜΑΤΩΝ ΠΑΡΑΜΕΤΡΙΚΗΣ ΜΕΤΑΒΟΛΗΣ ΣΥΧΝΟΤΗΤΑΣ ΚΑΙ DUTY CYCLE

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

Κεφάλαιο 5 ο Προγραμματισμός Ολοκληρωμένων Κυκλωμάτων

Κεφάλαιο 5 ο Προγραμματισμός Ολοκληρωμένων Κυκλωμάτων Κεφάλαιο 5 ο Προγραμματισμός Ολοκληρωμένων Κυκλωμάτων Στο κεφάλαιο αυτό επικεντρωνόμαστε στον προγραμματισμό συσκευών FieldProgrammableGateArrays FPGA με απλά κυκλώματα. Οι FPGAs συνήθως τοποθετούνται

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

7 η Θεµατική Ενότητα : Καταχωρητές, Μετρητές και Μονάδες Μνήµης

7 η Θεµατική Ενότητα : Καταχωρητές, Μετρητές και Μονάδες Μνήµης 7 η Θεµατική Ενότητα : Καταχωρητές, Μετρητές και Εισαγωγή Καταχωρητής: είναι µία οµάδα από δυαδικά κύτταρα αποθήκευσης και από λογικές πύλες που διεκπεραιώνουν την µεταφορά πληροφοριών. Οι µετρητές είναι

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

ΑΣΚΗΣΗ 9. Tα Flip-Flop

ΑΣΚΗΣΗ 9. Tα Flip-Flop ΑΣΚΗΣΗ 9 Tα Flip-Flop 9.1. ΣΚΟΠΟΣ Η κατανόηση της λειτουργίας των στοιχείων μνήμης των ψηφιακών κυκλωμάτων. Τα δομικά στοιχεία μνήμης είναι οι μανδαλωτές (latches) και τα Flip-Flop. 9.2. ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ

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

7.1 Θεωρητική εισαγωγή

7.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 7 ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΑΝ ΑΛΩΤΕΣ FLIP FLOP Σκοπός: Η κατανόηση της λειτουργίας των βασικών ακολουθιακών κυκλωµάτων. Θα µελετηθούν συγκεκριµένα: ο µανδαλωτής (latch)

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα 12: Σύνοψη Θεμάτων Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

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

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

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες Πρώτο Κεφάλαιο Εισαγωγή στα Ψηφιακά Συστήματα 1.1 Αναλογικά και Ψηφιακά Σήματα και Συστήματα... 1 1.2 Βασικά Ψηφιακά Κυκλώματα... 3 1.3 Ολοκληρωμένα κυκλώματα... 4 1.4 Τυπωμένα κυκλώματα... 7 1.5 Εργαλεία

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

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

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

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

Ακολουθιακά Κυκλώµατα. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ακολουθιακά Κυκλώµατα (συν.) Ακολουθιακή Λογική: Έννοια

Ακολουθιακά Κυκλώµατα. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ακολουθιακά Κυκλώµατα (συν.) Ακολουθιακή Λογική: Έννοια ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 25 Κεφάλαιο 6-i: Ακολουθιακά Κυκλώµατα Μανδαλωτές (Latches) και Flip-Flops Ακολουθιακά Κυκλώµατα Συνδυαστική Λογική:

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

8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων

8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων 8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων Εισαγωγή Η λογική που περιγράφεται σε ένα module µπορεί να περιγραφεί µε διάφορα στυλ Μοντελοποίηση σε επίπεδο

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

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες)

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες) Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2016 Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το ανωτέρω διάγραμμα καταστάσεων,

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

Σχεδίαση µε CAD tools

Σχεδίαση µε CAD tools Σχεδίαση µε CAD tools Χρ. Καβουσιανός Επίκουρος Καθηγητής Εισαγωγή Σχεδίασης Σύγχρονες Απαιτήσεις Σχεδίασης Χρήση Αυτόµατων Εργαλείων (EDA) Εισαγωγή Σχεδίασης (design entry): Περιγραφή συστήµατος στην

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

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

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Λογικές Πύλες, Στοιχεία Μνήμης, Συνδυαστική Λογική και Κυματομορφές ΗΥ220 - Βασίλης Παπαευσταθίου & Γιώργος Καλοκαιρινός 1 Τα βασικά της

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

Αρχιτεκτονικές Υπολογιστών

Αρχιτεκτονικές Υπολογιστών ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΠΟΛΟΓΙΣΤΩΝ Μάθηµα: Αρχιτεκτονικές Υπολογιστών FLIP-FLOPS ΣΥΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΙΑ ΙΚΑΣΙΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΗ ΣΑΚ ιδάσκων: Αναπλ. Καθ. Κ. Λαµπρινουδάκης clam@uipi.gr Αρχιτεκτονικές

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

Μοντέλα Αρχιτεκτονικής στην Σύνθεση

Μοντέλα Αρχιτεκτονικής στην Σύνθεση Μοντέλα Αρχιτεκτονικής στην Σύνθεση Σχεδιαστικά Στυλ & Αρχιτεκτονική Ο σχεδιαστής επιλέγει Σχεδιαστικό στυλ prioritized interrupt instruction buffer bus-oriented datapath serial I/O direct memory access

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