M
Michael
Guest
hello
I'm having trouble synthesising the following tristate implementation:
-- ...
-- ...
architecture Behavioral of driver is
signal current_state, next_state : std_logic_vector(4 downto 0);
signal tmp : std_logic_vector(1 downto 0);
begin
-- ...
-- ...
out_logic: process(current_state)
begin
case current_state is
when "00001" =>
C_BE <= DEV_RTYP;
FRAME <= '1';
AD <= DEV_ADDR;
IRDY <= 'Z';
when "00010" =>
IRDY <= 'Z';
if LAST = '1' then
FRAME <= '0';
end if;
when others =>
DRV_RDY <= '0';
end case;
end process out_logic;
end Behavioral;
IRDY is a port declared as inout stdlogic. The error I'm getting is :
ERROR:Xst:742 - Unexpected 'Z' expression found.
ERROR:Xst:746 - Failed to build equation for signal <irdy> in unit <driver>.
If i have the 00010 case removed, it synthesises, I really don't know why.
Please help
thank you
I'm having trouble synthesising the following tristate implementation:
-- ...
-- ...
architecture Behavioral of driver is
signal current_state, next_state : std_logic_vector(4 downto 0);
signal tmp : std_logic_vector(1 downto 0);
begin
-- ...
-- ...
out_logic: process(current_state)
begin
case current_state is
when "00001" =>
C_BE <= DEV_RTYP;
FRAME <= '1';
AD <= DEV_ADDR;
IRDY <= 'Z';
when "00010" =>
IRDY <= 'Z';
if LAST = '1' then
FRAME <= '0';
end if;
when others =>
DRV_RDY <= '0';
end case;
end process out_logic;
end Behavioral;
IRDY is a port declared as inout stdlogic. The error I'm getting is :
ERROR:Xst:742 - Unexpected 'Z' expression found.
ERROR:Xst:746 - Failed to build equation for signal <irdy> in unit <driver>.
If i have the 00010 case removed, it synthesises, I really don't know why.
Please help
thank you