The peripherals will be implemented in parallel and can run independently. Note that with a shared bus structure, only one of these peripherals will be able to be accessed at a given time by a given processor access.
I wouldn't expect this to be an issue for slower speed peripherals such as CAN and I2C.
I am using I2C controller in the Spartan3E Dev. Kit. I made the I2C clk and data as external outputs. The code statements after the I2C templates(ex: XIic_Initialize, XIic_SetAddress) are not executed i.e it seems processed hanged. can anyone please help me int this regard.