-- Fixed a bug where the core would signal an arbitration lost (AL bit set), when another master controls the bus and the other master generates a STOP bit.
--
-- Revision 1.10 2004/02/27 07:49:43 rherveille
-- Revision 1.10 2004/02/27 07:49:43 rherveille
-- Fixed a bug in the arbitration-lost signal generation. VHDL version only.
-- Fixed a bug in the arbitration-lost signal generation. VHDL version only.
--
--
-- Revision 1.9 2003/08/12 14:48:37 rherveille
-- Revision 1.9 2003/08/12 14:48:37 rherveille
-- Forgot an 'end if' :-/
-- Forgot an 'end if' :-/
Line 302...
Line 305...
cmd_stop <= '0';
cmd_stop <= '0';
endif;
endif;
endif;
endif;
if(c_state = idle)then
if(c_state = idle)then
ial <= '0';
ial <=(sda_chk andnot sSDA and isda_oen);
else
else
ial <=(sto_condition andnot cmd_stop);
ial <=(sda_chk andnot sSDA and isda_oen)or(sto_condition andnot cmd_stop);