ตัวอย่างนี้ใช้บัส 8 บิตที่ป้อนและรับผลตอบรับจากพินสองทิศทาง
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ตัวอย่างนี้ในโครงการของคุณ ให้ไปที่:
bidir.vhd (การใช้งานบัส Tri-state)
LIBRARY ieee; ใช้ ieee.std_logic_1164.ALL; ENTITY Bidir IS PORT ( สองทิศทาง : INOUT STD_LOGIC_VECTOR (7 DOWNTO 0); oe, clk : IN STD_LOGIC; inp : IN STD_LOGIC_VECTOR (7 DOWNTO 0); ขาออก : OUT STD_LOGIC_VECTOR (7 DOWNTO 0)); สองมิติ END; สถาปัตยกรรมที่เพิ่มขึ้นสูงสุดของ Bidir IS SIGNAL a : STD_LOGIC_VECTOR (7 DOWNTO 0); -- DFF ที่จัดเก็บ -- มูลค่าจากอินพุต SIGNAL b : STD_LOGIC_VECTOR (7 DOWNTO 0); -- DFF ที่จัดเก็บ BEGIN -- มูลค่า ผลป้อนกลับ PROCESS(clk) BEGIN IF clk = '1' AND clk'EVENT แล้ว -- สร้าง flipflops a <= inp; ขาออก <= b; สิ้นสุดถ้า; กระบวนการสิ้นสุด; PROCESS (oe, bidir) -- การแสดงพฤติกรรม BEGIN -- ของ tri-states IF( oe = '0') แล้ว bidir <= "ZZZZZZZZ" b <= bidir; bidir <อื่น= a; b <= Bidir; สิ้นสุดถ้า; กระบวนการสิ้นสุด; สิ้นสุดการขยายสูงสุด;