Hallo,

Ik probeer een bidirectionele bus te implementeren in een fpga, om te kunnen communiceren met een microcontroller.
Ik krijg echter volgende foutmelding voor elke bit van de databus:

Error (10483): VHDL error at servo_controllers.vhd(88): can't infer register for signal "DATABUS_I[7]" because signal does not hold its value outside clock edge

Of wordt een bidirectionele bus anders geimplementeerd?


READ_I			: in std_logic;
DATABUS_I		: inout std_logic_vector(7 downto 0);



begin
if RESET = '0' then
-- ...
elsif Rising_Edge(CLK_I) then
	if(READ_I = '1') then
		DATABUS_I 	<= "ZZZZZZZZ";
		-- ... lees DATABUS_I uit
	elsif(READ_I = '0') then
		-- zet iets op data bus
(lijn 88)	DATABUS_I 	<= "10101010";
	end if;
end if;

Het probleem is reeds opgelost,
Deze code werkt, in het groter geheel stond de toewijzing van de poort buiten de clock detect lus.