此示例通过在构体中使用 WHEN-ELSE 语句来实现 8 路三态缓冲器。它没有反馈通路,因此输出引脚 my_out 已指定为 OUT 而非 INOUT。
此示例与 VHDL:双向总线示例类似,只是它不使用反馈线路。
有关在您的项目中使用此示例的更多信息,请访问:
prebus.vhd
LIBRARY IEEE; USE ieee.std_logic_1164.ALL; ENTITY prebus IS PORT( my_in : IN STD_LOGIC_VECTOR(7 DOWNTO 0); sel : IN STD_LOGIC; my_out : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END prebus; ARCHITECTURE maxpld OF prebus IS BEGIN my_out <= "ZZZZZZZZ" WHEN (sel = '1') ELSE my_in; END maxpld;