VHDL: Bus hai chiều

author-image

Bởi

Ví dụ này thực hiện bus 8 bit nguồn cấp dữ liệu và nhận phản hồi từ các chân hai chiều.

Để biết thêm thông tin về việc sử dụng ví dụ này trong dự án của bạn, hãy truy cập:

bidir.vhd (Triển khai bus ba trạng thái)

IEEE THƯ VIỆN;
SỬ DỤNG ieee.std_logic_1164.ALL;

ĐẤU THẦU TỔ
    CHỨC LÀ
        PORT(đấu   thầu: INOUT STD_LOGIC_VECTOR (7 DOWNTO 0);
        oe, clk: IN STD_LOGIC;     inp: IN STD_LOGIC_VECTOR (7 DOWNTO 0);    outp: OUT STD_LOGIC_VECTOR (7 DOWNTO 0));
Nhà thầu END;

CẤU TRÚC tối đa của người tham gia đấu
thầu  LÀ SIGNAL  a: STD_LOGIC_VECTOR (7 DOWNTO 0);  -- DFF lưu trữ 
                                             - giá trị từ đầu vào.
TÍN  HIỆU  b: STD_LOGIC_VECTOR (7 DOWNTO 0);  -- DFF lưu trữ 
BEGIN - giá trị phản                                        hồi.
    PROCESS(clk)
    BẮT ĐẦU NẾU
    clk = '1' AND clk'EVENT THEN - Tạo  flipflops
        một <= inp;                    
        outp <= b;                  
        KẾT THÚC NẾU;
    QUY TRÌNH KẾT THÚC;    
    QUÁ TRÌNH (oe, người đi trước)          -- Đại diện hành vi 
        BEGIN - của ba trạng                    thái.
        IF(oe = '0')
            THÌ câu trả < = "ZZZZZZZZ" b
            <= đấu thầu;
        NHÀ
            thầu ELSE <= a; 
            b <= người đi đầu;
        KẾT THÚC NẾU;
    QUY TRÌNH KẾT THÚC;
Maxpld END;

Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.