1 / 21

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

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

arva
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. επιθυμητό σχέδιο Πίνακας αληθείας Εισαγωγή σχεδίασης Σχηματικό διάγραμμα Κώδικας HDL Σύνθεση προσομοίωση ΛΑΘΟΣ ΣΩΣΤΟ Φυσική σχεδίαση-δρομολόγηση Εργαλεία Σχεδίασης ψηφιακών κυκλωμάτων.Το Λογισμικό Quartus II Ροή εργασιών στο λογισμικό σύνθεσης και προσομοίωσης 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-bitsH δομή δεδομένων 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<="0000001" WHEN "0000", "1001111" WHEN "0001", "0010010" WHEN "0010", "0000110" WHEN "0011", "1001100" WHEN "0100", "0100100" WHEN "0101", "0100000" WHEN "0110", "0001111" WHEN "0111", "0000000" WHEN "1000", "0000100" WHEN "1001", "0000001" WHEN "1010", "1001111" WHEN "1011", "0010010" WHEN "1100", "0000110" WHEN "1101", "1001100" WHEN "1110", "0100100" 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

More Related