Bài tập Kỹ thuật số về PLD và VHDL - Hồ Trung Mỹ – Điện Tử - Khoa Điện - Điện Tử - ĐH Bách Khoa TP. HCM

6. Cài đặt cổng XNOR bằng
a) Các phát biểu when-else
b) Các phát biểu with-select-when
c) Các phát biểu case-when
d) Các phát biểu if-then-else
7. Ta muốn thiết kế mạch phát hiện có 3 ngõ vào là 1 trong 4 ngõ vào (D3,D2,D1 và D0) của
hệ, khi đó ngõ ra Y =1. Viết phương trình của Y. Cài đặt mạch bằng các lệnh có thể sử dụng
được? Có bao nhiêu cách?
8. Xây dựng mạch so sánh độ lớn của 2 số 4 bit A và B với 3 ngõ ra (bằng nhau: AEQB, nhỏ
hơn: ALTB, và lớn hơn: AGTB) dùng:
a) Các toán tử logic
b) Các toán tử quan hệ 
pdf 7 trang xuanthi 26/12/2022 2300
Bạn đang xem tài liệu "Bài tập Kỹ thuật số về PLD và VHDL - Hồ Trung Mỹ – Điện Tử - Khoa Điện - Điện Tử - ĐH Bách Khoa TP. HCM", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_tap_ky_thuat_so_ve_pld_va_vhdl_ho_trung_my_dien_tu_khoa.pdf

Nội dung text: Bài tập Kỹ thuật số về PLD và VHDL - Hồ Trung Mỹ – Điện Tử - Khoa Điện - Điện Tử - ĐH Bách Khoa TP. HCM

  1. LIBRARY ieee ; USE ieee.std_logic_1164.all ; USE ieee.std_logic_unsigned.all ; ENTITY upcounter IS PORT ( Clock : IN STD_LOGIC ; Q : BUFFER STD_LOGIC_VECTOR(1 DOWNTO 0) ) ; END upcounter ; ARCHITECTURE Behavior OF upcounter IS BEGIN PROCESS ( Clock ) BEGIN IF (Clock’EVENT AND Clock = ‘1’) THEN Q <= Q + ‘1’ ; END IF ; END PROCESS; END Behavior ; a) Dựa vào chương trình trên hãy phát triển bộ đếm lên BCD (có 2 số mã [digit] BCD là B1B0 (nghĩa là đếm từ 00 đến 99, B1 và B0 là 2 số 4 bit). Giả sử bộ đếm BCD làm việc theo cạnh lên Clk và có thêm ngõ vào Reset bất đồng bộ với Clk (nghĩa là bất cứ khi nào Reset=1 thì các ngõ ra là 0) b) Giả sử B1 và B0 được đưa vào một mạch khác mà sẽ cho ngõ ra G trị là 1 khi B1B0 trong tầm từ 00 đến 90 và có trị số là bội số của 9. Hãy cài đặt mạch trên. 5. Mã VHDL của 1 thiết bị là 1 entity test is 2 port (in1 : in bit_vector (2 downto 0); 3 out1 : out bit_vector (3 downto 0)); 4 end test; 5 architecture test_arch of test is 6 begin 7 out1(0)<=in1(1); 8 out1(1)<=in1(2); 9 out1(2)<=in1(0) and in1(1); 10 out1(3)<=’1’; 11 end test_arch ; Tên của entity và thân architecture là gì? Vẽ sơ đồ mạch. 6. Cài đặt cổng XNOR bằng a) Các phát biểu when-else b) Các phát biểu with-select-when c) Các phát biểu case-when d) Các phát biểu if-then-else 7. Ta muốn thiết kế mạch phát hiện có 3 ngõ vào là 1 trong 4 ngõ vào (D3,D2,D1 và D0) của hệ, khi đó ngõ ra Y =1. Viết phương trình của Y. Cài đặt mạch bằng các lệnh có thể sử dụng được? Có bao nhiêu cách? 8. Xây dựng mạch so sánh độ lớn của 2 số 4 bit A và B với 3 ngõ ra (bằng nhau: AEQB, nhỏ hơn: ALTB, và lớn hơn: AGTB) dùng: a) Các toán tử logic b) Các toán tử quan hệ BT về PLD và VHDL – trang 2/7
  2. port (A, B, C : in std_logic; Q1, Q2 : out std_logic); end toto; architecture synth of toto is signal V, R : std_logic; begin process (V, C) begin if (V='1‘) then Q2 <= C; end if; end process; R <= B xor C; process (A) begin if (A'event and A='1') then Q1 <= C; V <= R; end if; end process; end synth; Hãy hoàn tất giản độ định thì của mạch được mô tả bởi mã VHDL ở trên: 13. Cho trước mạch đếm 4 bit sau: a) Hãy tìm chuỗi đếm của mạch đếm này. b) Viết mã VHDL cho mạch trên. c) Dùng b. để thiết kế mạch đếm 16 bit có chức năng tương tự như mạch đếm 4 bit. BT về PLD và VHDL – trang 4/7
  3. not B; end DATA_FLOW; 17. Hãy vẽ mạch logic tương ứng của các đoạn chương trình VHDL sau: library IEEE; use IEEE.std_logic_1164.all; entity test is port ( din, clk: in std_logic; dout: out std_logic); end test; architecture a of test is component dff is port ( d,clk: in std_logic; q: out std_logic ); end component; component xor2 is port ( a,b: in std_logic; y : out std_logic ); end component; signal toggle: std_logic; begin u1: xor2 port map (a => dout, b => din, y => toggle); u2: dff port map (d => toggle, clk => clk, q => dout ); end a; 18. Cài đặt hàm Boole sau: F(A,B,C,D) = A’BC + AD + AC Với: a) Lệnh gán tín hiệu thông thường (dùng các toán tử) b) with–select–when c) when–else d) if–then–else e) case–when Chú ý: Cho phép dùng chung khai báo entity. 19. Thiết kế mạch nhân 2 số nhị phân 2 bit A (A1A0) và B (B1B0) với kết quả là số nhị phân 4 bit P(P3P2P1P0): a) Tìm biểu diễn mỗi ngõ ra theo các ngõ vào bằng các cổng logic và mạch cộng bán phần HA nếu cần. b) Viết mô tả VHDL cho mạch này (giả sử có sẵn component HA). 20. Với mạch sau hãy viết mô tả với VHDL dùng mô hình cấu trúc (giả sử có sẵn component của MUX và register 8 bit). BT về PLD và VHDL – trang 6/7