d) Dùng mô hình cấu trúc Có nhiều cách giải cho phần này. Từ bảng chân trị ta có biểu thức Boole cho các ngõ ra: C1 = A1A0 + A0A2 + A1A2 + A0A1A2 C1 = A1A0 + A0A2 + A1A2 => cần AND 2 ngõ vào và OR 3 ngõ vào và C0 = A2’A1’A0 + A2’A1A0’ + A2A1’A0’ + A2A1A0 C0 = ((A2’A1’A0)’.( A2’A1A0’)’ .(A2A1’A0’)’.(A2A1A0)’)’ => Cần NAND 3 ngõ vào, NAND 4 ngõ vào và cổng NOT Mạch cho C1 được đặt tên là MAJ3 và mạch cho C0 được đặt tên là OPAR3. Từ đó có bài giải sau:
ĐHBK Tp HCM–Khoa ĐĐT–BMĐT Môn học: Kỹ thuật số GVPT: Hồ Trung Mỹ Bài tập giải sẵn VHDL (AY1112-S1) (Các mã VHDL chạy thử Altera MaxplusII v10.2) Viết mã VHDL để đếm số bit số nhị phân bit A với cách sau: a) Dùng mô hình hành vi b) Dùng mô hình luồng liệu c) Lệnh case-when d) Dùng mô hình cấu trúc Bài giải Với yêu cầu đề bài, ta có bảng chân trị sau: Ngõ vào A2 A1 A0 0 0 1 0 1 0 1 1 1 Ngõ C1 C0 0 1 0 1 1 Phần đầu dùng thư viện IEEE khai báo entity giống cho cách: TD: Với khai báo cách 1: library ieee; use ieee.std_logic_1164.all; entity ONES_CNT_EX1 is port ( A : in std_logic_vector(2 downto 0); C : out std_logic_vector(1 downto 0)); end ONES_CNT_EX1; a) Mô hình hành vi: architecture Algorithmic of ONES_CNT_EX1 is begin Process(A) Sensitivity List Contains only Vector A Variable num: INTEGER range to 3; begin num :=0; For i in to Các BT giải sẵn VHDL 2011 – trang Loop IF A(i) = '1' then num := num+1; end if; end Loop; Transfer "num" Variable Value to a SIGNAL CASE num is WHEN => WHEN => WHEN => WHEN => end CASE; end process; end Algorithmic; C C C C [...]... sóng mô phỏng của mạch giải mã: Dạng sóng mô phỏng của mạch mã hóa: Các BT giải sẵn về VHDL 2011 – trang 28 13 Thiết kế bộ đếm lên 3 bit loại nối tiếp (còn gọi là bộ đếm gợn hay bất đồng bộ) với xung nhịp vào CLK (kích cạnh) Mạch có ngõ reset tích cực thấp reset_n Hãy viết mã VHDL với a) Mô hình cấu trúc với component DFF có sẵn b) Các lệnh tuần tự Bài giải a) Dùng component DFF có sẵn của Maxplus II library... phát hiện chuỗi bit vào nối tiếp có trị là "101" Viết mã VHDL với: a) Dùng FSM loại Mealy với mô tả FSM b) FSM loại Mealy dùng thanh ghi dịch chứa 3 bit liên tiếp và so sánh với "101" Bài giải a) FSM loại Mealy Ta có được giản đồ trạng thái và bảng chuyển trạng thái như sau (kết quả lấy từ bài giảng thiết kế hệ tuần tự đồng bộ) Các BT giải sẵn về VHDL 2011 – trang 25 Ta định nghĩa thêm kiểu mới cho các... …) của mã VHDL sau: library ieee; use ieee.std_logic_1164.all; entity CIRCUIT is port(A, B, C: in std_logic; S:in std_logic_vector (1 downto 0); Z: out std_logic); end CIRCUIT; architecture a of CIRCUIT is begin process(A, B, C, S) begin if (S(0)= ‘1’) then Z ... khối mạch logic Process U1 MUX sang với ngõ chọn inst(2:1) Process U2 MUX sang với ngõ chọn inst(0) Từ ta có mạch logic mã VHDL là: (ALU bit) Các BT giải sẵn VHDL 2011 – trang 13 Hãy vẽ mạch logic... D_in: in std_logic_vector(0 to 7); D_out: out std_logic_vector(0 to 2)); end Q12_1; Các BT giải sẵn VHDL 2011 – trang 27 architecture bg of Q12_1 is signal CBA: std_logic_vector(0 to 2); signal... port ( A : in STD_LOGIC_VECTOR(2 downto 0); C : out STD_LOGIC_VECTOR(1 downto 0)); end ONES_CNT_EX4B; architecture Structural of ONES_CNT_EX4B is Các BT giải sẵn VHDL 2011 – trang COMPONENT MAJ3