Câu hỏi:

Hãy viết chương trình architecture khai báo mạch có bảng chân trị như sau: Sử dụng câu lệnh When/else


Để viết chương trình VHDL khai báo mạch với bảng chân trị sử dụng câu lệnh when/else, bạn cần phải xác định rõ ràng tình huống mà các tín hiệu logic của bạn sẽ được áp dụng.

Đây là một ví dụ đơn giản của một bộ mã hóa 2-4 bằng câu lệnh "when/else". Bộ mã hóa này sẽ có 2 tín hiệu đầu vào và 4 tín hiệu đầu ra.

Trước hết, bạn cần khai báo các tín hiệu đầu vào và đầu ra, sau đó bạn có thể sử dụng câu lệnh when/else để xác định hành vi của mạch.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity Encoder is
    Port (
        A : in STD_LOGIC_VECTOR (1 downto 0);
        Y : out STD_LOGIC_VECTOR (3 downto 0)
    );
end Encoder;

architecture Behavioral of Encoder is
begin
    process(A)
    begin
        case A is
            when "00" =>
                Y <= "0001";
            when "01" =>
                Y <= "0010";
            when "10" =>
                Y <= "0100";
            when "11" =>
                Y <= "1000";
            when others =>
                Y <= "0000";  -- Error case
        end case;
    end process;
end Behavioral;

Trong ví dụ này:

Ready để tự tạo ra các mạch phức tạp hơn chưa? Nếu có khó khăn gì hoặc muốn tìm hiểu thêm, hãy ghé ngay trituenhantao.io để kiếm thêm vài tip xịn xò nữa nhé! VHDL mà đọc mãi không hiểu thì ai cũng phải bật cười đấy!


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử