Hi,
i have used a free i2c core from
www.opencores.org (
http://www.opencores.org)
It is an i2c master core with wishbone interface.
You can easily connect it to the avalon mm bus to use this core with the nios processor.
The two lines "SDA" and "SCL" from the I2C Core are bidirectional data lines.
You only need a pull-up resistor (4,7k .. 10k) on each line.
"SDA" and "SCL" are simple IO-Pins from your FPGA. You don't need a bus extender.
If your FPGA IO's and the other I2C Device are on the same voltage level e.g. 3,3V
you can connect the other I2C devices direct to your FPGA.
Otherwise you need an I2C Level Shifter between the FPGA and I2C Device.
Hope that i could help you.
Nicolas