if ( Bus2IP_Resetn == 1 ) begin slv_reg0 <= 0; end
The "Bus2IP_Resetn" is active "low" according to data sheet and its name. Changing the condition of "Bus2IP_Resetn == 1" to "Bus2IP_Resetn == 0" will resolve the problem. The VHDL version user logic is correct.