设计一个8位位宽的双向数据总线,由使能端S控制总线数据流向,当S=00,C的数据赋给A;当S=01,A的值赋给C;S为其他值时,B的数据赋给C。用VHDL编程设计该双向数据总线,并观察的仿真波形结果验证双向总线的功能。
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
ENTITY EXPT IS
PORT (A,C:INOUT std_logic_vector(7 downto 0);
B :IN std_logic_vector(7 downto 0);
S :IN std_logic_vector(1 downto 0));
END EXPT;
ARCHITECTURE ONE OF EXPT IS
BEGIN
PROCESS(A,B,C,S)
BEGIN
IF S="00" THEN
C<="ZZZZZZZZ";
A<=C ;
ELSIF S="01" THEN
C<="ZZZZZZZZ";
C<=A ;
ELSE C<=B ;
END IF;
END PROCESS;
END ONE;
实验结果: