BÁO CÁO GIỮA KỲ MÔN THỰC HÀNH PLD VÀ ASIC

41 896 15
BÁO CÁO GIỮA KỲ MÔN THỰC HÀNH PLD VÀ ASIC

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

asdadas

BÁO CÁO GIỮA KỲ MÔN THỰC HÀNH PLD ASIC   BÀI 2: HƯỚNG DẪN SỬ DỤNG MÔ PHỎNG THIẾT KẾ PLD BẰNG ISE WEBPACK Bài 201: mạch giải mã 2 sang 4 đường Code: entity GIAIMA_24 is Port ( I : in STD_LOGIC_VECTOR (1 downto 0); Q : OUT STD_LOGIC_VECTOR (3 downto 0)); end GIAIMA_24; architecture Behavioral of GIAIMA_24 is begin PROCESS(I) BEGIN CASE I IS WHEN "00" => Q <= "0001"; WHEN "01" => Q <= "0010"; WHEN "10" => Q <= "0100"; WHEN "11" => Q <= "1000"; WHEN OTHERS => NULL; END CASE; END PROCESS; end GIANG; Mô phỏng: Bài 202: mạch đếm nhị phân 4 bit Code: entity COUNT_4BIT is Port ( CLK : in STD_LOGIC; CLR : in STD_LOGIC; Q : out STD_LOGIC_VECTOR (03 downto 0)); end COUNT_4BIT; architecture GIANG of COUNT_4BIT is begin PROCESS (CLK,CLR) VARIABLE QTAM: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF CLR='0' THEN QTAM:="0000"; ELSIF CLK='1' AND CLK'EVENT THEN QTAM:=QTAM+1; END IF; Q <= QTAM; END PROCESS; end GIANG; Mô phỏng: BÀI 4: CHƯƠNG TRÌNH VHDL CHO CÁC MẠCH TỔ HỢP PHẦN 1: MẠCH GIẢI MÃ Bài 401:viết chương trình mô tả mạch giải mã 2 đường sang 4 đường ngõ ra tích cực mức thấp, có them 1 chân E cho phép giải mã khi ở mức 1 Code: entity GIAIMA_24E is Port ( E : in STD_LOGIC; I : in STD_LOGIC_VECTOR (1 downto 0); Q : out STD_LOGIC_VECTOR (3 downto 0)); end GIAIMA_24E; architecture GIANG of GIAIMA_24E is begin PROCESS (E,I) BEGIN IF E ='0' THEN Q<= "0000"; ELSE CASE I IS WHEN"00" => Q <= "0001"; WHEN"01" => Q <= "0010"; WHEN"10" => Q <= "0100"; WHENOTHERS=> Q <= "1000"; END CASE; END IF; END PROCESS; end GIANG; Mô phỏng: Bài 402: mạch giải mã 2 đường sang 4 đường ngõ ra tích cực mức thấp, có chân E cho phép giải mã khi ở mức 1 chân S cho phép chọn mức tích cực ngõ ra: nếu S=0 thì ngõ ra tích cực mức thấp, S=1 thì ngõ ra tích cực mức 1 Code: entity GIAIMA_24ES is Port ( I : in STD_LOGIC_VECTOR (01 downto 0); E : in STD_LOGIC; S : in STD_LOGIC; Q : out STD_LOGIC_VECTOR (03 downto 0)); end GIAIMA_24ES; architecture GIANG of GIAIMA_24ES is begin PROCESS (E,S,I) VARIABLE QTAM: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF E='0' THEN QTAM:="1111"; ELSE CASE I IS WHEN"00" => QTAM:="1110"; WHEN"01" => QTAM:="1101"; WHEN"10" => QTAM:="1011"; WHENOTHERS=> QTAM:="0111"; END CASE; END IF; IF S='0' THEN Q<= QTAM; ELSE Q<= NOT(QTAM); END IF; END PROCESS; end GIANG; mô phỏng: Bài 403:chương trình mô tả mạch giải mã 3 đường sang 8 đường ngõ ra tích cực mức thấp có thêm chân E cho phép giải mã khi mức 1 Code: entity GIAIMA_38E is Port ( E : in STD_LOGIC; I : in STD_LOGIC_VECTOR (02 downto 0); Q : out STD_LOGIC_VECTOR (07 downto 0)); end GIAIMA_38E; architecture GIANG of GIAIMA_38E is begin PROCESS (E,I) BEGIN IF E ='0' THEN Q <= "00000000"; ELSE CASE I IS WHEN "000" => Q <= "00000001"; WHEN "001" => Q <= "00000010"; WHEN "010" => Q <= "00000100"; WHEN "011" => Q <= "00001000"; WHEN "100" => Q <= "00010000"; WHEN "101" => Q <= "00100000"; WHEN "110" => Q <= "01000000"; WHEN OTHERS => Q <= "10000000"; END CASE; END IF; END PROCESS; end GIANG; Mô phỏng: Bài 404:chương trình giải mã 3 sang 8 ngõ ra tích cực mức cao. Có chân E cho phép giải mã khi ở mức 1, chân S cho phép lựa chọn mức tích cực ngõ ra: S=0 ngõ ra tích cực mức thấp ,S=1 ngõ ra mức cao Code: entity GIAIMA_38ES is Port ( S : in STD_LOGIC; E : in STD_LOGIC; I : in STD_LOGIC_VECTOR (02 downto 0); Q : out STD_LOGIC_VECTOR (07 downto 0)); end GIAIMA_38ES; architecture GIANG of GIAIMA_38ES is begin PROCESS(E,S,I) VARIABLE QTAM: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF E='1' THEN Q <= "11111111"; ELSE CASE I IS WHEN "000" => QTAM:="11111110"; WHEN "001" => QTAM:="11111101"; WHEN "010" => QTAM:="11111011"; WHEN "011" => QTAM:="11110111"; WHEN "100" => QTAM:="11101111"; WHEN "101" => QTAM:="11011111"; WHEN "110" => QTAM:="10111111"; WHEN OTHERS=> QTAM:="01111111"; END CASE; END IF; IF S='0' THEN Q <= QTAM; ELSE Q <= NOT(QTAM); END IF; END PROCESS; end GIANG; Mô phỏng: Bài 405:mạch giải mã mô tả IC 74138 (hình 4-3 sách thực hành trang 59) Code: entity IC74138 is Port ( I : in STD_LOGIC_VECTOR (02 downto 0); G : in STD_LOGIC_VECTOR (02 downto 0); Q : OUT STD_LOGIC_VECTOR (07 downto 0)); end IC74138; architecture GIANG of IC74138 is begin PROCESS(I,G) VARIABLE QT: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF ( G(0) ='0' OR G(1) ='0' OR G(2) ='0' )THEN QT:= "11111111"; ELSIF G = "111" THEN CASE I IS WHEN "000" => QT:= "11111110"; WHEN "001" => QT:= "11111101"; WHEN "010" => QT:= "11111011"; WHEN "011" => QT:= "11110111"; WHEN "100" => QT:= "11101111"; WHEN "101" => QT:= "11011111"; WHEN "110" => QT:= "10111111"; WHEN OTHERS=> QT:= "01111111"; END CASE; END IF; Q <= QT; END PROCESS; end GIANG; Mô phỏng: PHẦN 2: MẠCH TỔ HỢP Bài 406:chương trình mô tả mạch giải mã giống IC 74139 (hình 4-4 trang 60) Code: entity IC74139 iS Port ( EA : in STD_LOGIC; EB : in STD_LOGIC; A : in STD_LOGIC_VECTOR (01 downto 0); B : in STD_LOGIC_VECTOR (01 downto 0); Q : out STD_LOGIC_VECTOR (07 downto 0)); end IC74139; architecture GIANG of IC74139 is SIGNAL QTA : STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL QTB : STD_LOGIC_VECTOR(3 DOWNTO 0); begin PROCESS (EA,A) BEGIN IF EA='0' THEN QTA <="0000"; ELSE CASE A IS WHEN"00" => QTA <="0001"; WHEN"01" => QTA <="0010"; WHEN"10" => QTA <="0100"; WHENOTHERS=> QTA <="1000"; END CASE; END IF; END PROCESS; PROCESS (EB,B) BEGIN IF EB='0' THEN QTB <="0000"; ELSE CASE B IS WHEN"00" => QTB <="0001"; WHEN"01" => QTB <="0010"; WHEN"10" => QTB <="0100"; WHENOTHERS=> QTB <="1000"; END CASE; END IF; END PROCESS; Q <= QTA & QTB; end GIANG; Mô phỏng: Bài 407:chương trình mô tả mạch mã hóa 8 sang 3 ngõ ra tích cực mức thấp Code: entity MAHOA_83 is Port ( I : in STD_LOGIC_VECTOR (07 downto 0); Q : out STD_LOGIC_VECTOR (02 downto 0)); end MAHOA_83; architecture GIANG of MAHOA_83 is begin PROCESS (I) VARIABLE QTAM: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN CASE I IS WHEN"11111110" => QTAM:= "000"; WHEN"11111101" => QTAM:= "001"; WHEN"11111011" => QTAM:= "010"; WHEN"11110111" => QTAM:= "011"; WHEN"11101111" => QTAM:= "100"; WHEN"11011111" => QTAM:= "101"; WHEN"10111111" => QTAM:= "110"; WHEN"01111111" => QTAM:= "111"; WHENOTHERS => NULL; END CASE; Q <= QTAM; END PROCESS; end GIANG; Mô phỏng: Bài 408: chương trình mã hóa 8 sang 3 với ngõ ra tích cực mức thấp, có chân E cho phép mã hóa khi ở mức 1 Code: entity MAHOA_83E is Port ( E : in STD_LOGIC; I : in STD_LOGIC_VECTOR (07 downto 0); Q : out STD_LOGIC_VECTOR (02 downto 0)); end MAHOA_83E; architecture GIANG of MAHOA_83E is begin PROCESS (E,I) VARIABLE QTAM: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN IF E='0' THEN QTAM:= "000"; ELSE CASE I IS WHEN "11111110" => QTAM:="000"; WHEN "11111101" => QTAM:="001"; WHEN "11111011" => QTAM:="010"; WHEN "11110111" => QTAM:="011"; WHEN "11101111" => QTAM:="100"; WHEN "11011111" => QTAM:="101"; WHEN "10111111" => QTAM:="110"; WHEN "01111111" => QTAM:="111"; WHEN OTHERS => NULL; END CASE; END IF; Q <= QTAM; END PROCESS; end GIANG; Mô phỏng:

Ngày đăng: 27/11/2013, 16:53

Hình ảnh liên quan

Bài 405:mạch giải mã mô tả IC74138 (hình 4-3 sách thực hành trang 59) - BÁO CÁO GIỮA KỲ MÔN THỰC HÀNH PLD VÀ ASIC

i.

405:mạch giải mã mô tả IC74138 (hình 4-3 sách thực hành trang 59) Xem tại trang 6 của tài liệu.
Bài 406:chương trình mô tả mạch giải mã giống IC74139 (hình 4-4 trang 60) - BÁO CÁO GIỮA KỲ MÔN THỰC HÀNH PLD VÀ ASIC

i.

406:chương trình mô tả mạch giải mã giống IC74139 (hình 4-4 trang 60) Xem tại trang 7 của tài liệu.
Bài 411: mạch đa hợp giống như 74151 (hình 4-5 trang 61) - BÁO CÁO GIỮA KỲ MÔN THỰC HÀNH PLD VÀ ASIC

i.

411: mạch đa hợp giống như 74151 (hình 4-5 trang 61) Xem tại trang 13 của tài liệu.
Bài 506: thanh ghi dịch 4 bit giống như 74194 (hình 5-4 trang 75) - BÁO CÁO GIỮA KỲ MÔN THỰC HÀNH PLD VÀ ASIC

i.

506: thanh ghi dịch 4 bit giống như 74194 (hình 5-4 trang 75) Xem tại trang 29 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan