Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΕΝΟΤΗΤΑ 9Η Η ΓΛΩΣΣΑ VHDL: ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΕΝΟΤΗΤΑ 9Η Η ΓΛΩΣΣΑ VHDL: ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ"— Μεταγράφημα παρουσίασης:

1 ΕΝΟΤΗΤΑ 9Η Η ΓΛΩΣΣΑ VHDL: ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ
Τμήμα Πληροφορικής και Επικοινωνιών, «Ενίσχυση Σπουδών Πληροφορικής», ΕΠΕΑΕΚ ΙΙ Ιωάννη Καλόμοιρου, Προηγμένα Ψηφιακά Συστήματα ΕΝΟΤΗΤΑ 9Η Η ΓΛΩΣΣΑ VHDL: ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ Εργαλεία σύνθεσης και προσομοίωσης VHDL Πολυπλέκτες και αποκωδικοποιητές σε VHDL Συγκριτές σε VHDL Αριθμητικά κυκλώματα σε VHDL

2 Εργαλεία Σχεδίασης ψηφιακών κυκλωμάτων. Το Λογισμικό Quartus II
επιθυμητό σχέδιο Εισαγωγή σχεδίασης Πίνακας αληθείας Σχηματικό διάγραμμα Κώδικας HDL Σύνθεση προσομοίωση ΛΑΘΟΣ ΣΩΣΤΟ Φυσική σχεδίαση-δρομολόγηση Ροή εργασιών στο λογισμικό σύνθεσης και προσομοίωσης Quartus II

3 Εισαγωγή σχηματικού διαγράμματος στο Quartus II

4 Compilation (Μετάφραση) στο Quartus II

5 Η ΓΛΩΣΣΑ VHDL Σχεδιαστική ροή σε VHDL ή σε άλλη γλώσσα περιγραφής υλικού

6 Δομή προγράμματος σε VHDL

7 Πολυπλέκτης 2:1 σε VHDL LIBRARY ieee; USE ieee.std_logic_1164.all;
--simple example 2-to-1 multiplexer ENTITY mux2to1 IS PORT(x, y, s :IN STD_LOGIC; m :OUT STD_LOGIC); END mux2to1; ARCHITECTURE Behavior OF mux2to1 IS BEGIN m<=(NOT(s) AND x) OR (s AND y); END Behavior;

8 Πολυπλέκτης 2:1 (συνέχεια) Η δομή εντολών with (signal) select…when…others
library ieee; use ieee.std_logic_1164.all; Εntity mux2_1 is port (x,y,s : in std_logic; f : out std_logic); end mux2_1; Αrchitecture behavior of mux2_1 is begin with s select f<= x when '0', y when others; end behavior;

9 Λογισμικό Σύνθεσης-Προσομοίωσης Quartus II Προσομοίωση του πολυπλέκτη 2:1

10 Πολυπλέκτης 2 καναλιών 8-bits H δομή δεδομένων std_logic_Vector
library ieee; use ieee.std_logic_1164.all; entity part2 is port (x,y : in std_logic_vector (7 downto 0); s : in std_logic; f : out std_logic_vector (7 downto 0)); end part2; architecture behavior of part2 is begin with s select f<= x when '0', y when others; end behavior;

11 Αποκωδικοποιητές σε VHDL
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY DECODER_2TO4 IS PORT(X :IN STD_LOGIC_VECTOR (1 DOWNTO 0); Y :OUT STD_LOGIC_VECTOR (3 DOWNTO 0)); END DECODER_2TO4; ARCHITECTURE BEHAVIOR OF DECODER_2TO4 IS BEGIN WITH X SELECT Y<= "0001" WHEN "00", "0010" WHEN "01", "0100" WHEN "10", "1000" WHEN OTHERS; END BEHAVIOR;

12 Binary to 7 segment LIBRARY ieee; USE ieee.std_logic_1164.all;
ENTITY bin_7segment IS PORT(m:IN STD_LOGIC_VECTOR(3 DOWNTO 0); ex:OUT STD_LOGIC_VECTOR(0 TO 6)); END bin_7segment; ARCHITECTURE behavior OF bin_7segment IS BEGIN WITH m SELECT ex<=" " 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 "1111"; END behavior;

13 Συγκριτής με το 9 LIBRARY ieee; USE ieee.std_logic_1164.all;
ENTITY compare1 IS PORT(v :IN STD_LOGIC_VECTOR(3 DOWNTO 0); Agt9 :OUT STD_LOGIC); END compare1; ARCHITECTURE Behavior OF compare1 IS BEGIN Agt9<='1' WHEN v>"1001" ELSE '0'; END Behavior;

14 Συγκριτές στη VHDL Library ieee; USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all; ENTITY compare IS PORT(A,B:IN STD_LOGIC_VECTOR(3 DOWNTO 0); AeqB, AgtB, AltB: OUT STD_LOGIC); END compare; ARCHITECTURE Behavior OF compare IS BEGIN AeqB<='1' WHEN A=B ELSE '0'; AgtB<='1' WHEN A>B ELSE '0'; AltB<='1' WHEN A<B ELSE '0'; END Behavior;

15 Λειτουργική προσομοίωση του συγκριτή

16 ΑΘΡΟΙΣΤΕΣ LIBRARY ieee; USE ieee.std_logic_1164.all;
ENTITY fulladder1 IS PORT(Cin,x,y :IN STD_LOGIC; s, Cout :OUT STD_LOGIC); END fulladder1; ARCHITECTURE structural OF fulladder1 IS BEGIN s<=x XOR y XOR Cin; Cout<=(x AND y) OR (Cin AND x) OR (Cin AND y); END Structural;

17 Προσομοίωση του πλήρη αθροιστή

18 Αθροιστής 4-bits - Συνιστώσες κυκλώματος
LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY adder4 IS PORT(Cin :IN STD_LOGIC; x3,x2,x1,x0 :IN STD_LOGIC; y3,y2,y1,y0 :IN STD_LOGIC; s3,s2,s1,s0 :OUT STD_LOGIC; Cout :OUT STD_LOGIC); END adder4; ARCHITECTURE Structure OF adder4 IS SIGNAL c1,c2,c3:STD_LOGIC; COMPONENT fulladder1 PORT(Cin,x,y: IN STD_LOGIC; s, Cout :OUT STD_LOGIC); END COMPONENT; BEGIN Stage0: fulladder1 PORT MAP(Cin,x0,y0,s0,c1); stage1: fulladder1 PORT MAP (c1,x1,y1,s1,c2); stage2: fulladder1 PORT MAP (c2,x2,y2,s2,c3); stage3: fulladder1 PORT MAP (c3,x3,y3,s3,Cout); END Structure;

19 Προσομοίωση του αθροιστή 4-bits

20 Aθροιστής 16-bits - Χρήση αριθμητικού πακέτου
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_signed.all; ENTITY adder16 IS PORT(X,Y :IN STD_LOGIC_VECTOR(15 DOWNTO 0); S :OUT STD_LOGIC_VECTOR(15 DOWNTO 0)); END adder16; ARCHITECTURE arithm OF adder16 IS BEGIN S<=X+Y; END arithm;

21 Προσομοίωση αθροιστή 16-bits


Κατέβασμα ppt "ΕΝΟΤΗΤΑ 9Η Η ΓΛΩΣΣΑ VHDL: ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google