entity GLCD_BI_DIRECTIONAL_PORT is
Port ( GLCD_DATA_WRITE : in STD_LOGIC_VECTOR (3 downto 0);
GLCD_DATA_READ : OUT STD_LOGIC_VECTOR (3 downto 0);
CONTROL : in STD_LOGIC;
GLCD_PINS : inout STD_LOGIC_VECTOR (3 downto 0));
end GLCD_BI_DIRECTIONAL_PORT;
architecture Behavioral of GLCD_BI_DIRECTIONAL_PORT is
begin
PROCESS(CONTROL,GLCD_DATA_WRITE,GLCD_PINS)
BEGIN
IF(CONTROL = '0') THEN -- WRITE
GLCD_PINS <= GLCD_DATA_WRITE;
ELSE
GLCD_PINS <= "ZZZZ"; -- SET AS HIGH IMPEDANCE INPUT
GLCD_DATA_READ <= GLCD_PINS;
END IF;
END PROCESS;
end Behavioral;