cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Participant
Participant
506 Views
Registered: ‎07-05-2017

How to use Microblaze Master I2C bus with another VHDL component declared outside microblaze?

Hi

I want to use Microblaze Master I2C and another I2C declared outside micorblaze using a switch. For example consider I2c_microblaze_sda come as microblaze output and I2c_vhdl_sda is another signal defined using vhdl .

Consider i2c_sda is signal connected to pin of fpga.Now i need to switch between them using a signal i2c_sel as per given below (outside main vhdl process).

 

i2c_sda <= I2c_microblaze_sda when i2c_sel = '1' else I2c_vhdl_sda;

 

When above code is used , it is giving placement error that microblaze sda signal cannot be placed. i2c_sel signal is given different values within main process ( value changes depending on state diagram).

 

How to implement the same.

 

 

0 Kudos
1 Reply
Highlighted
Explorer
Explorer
480 Views
Registered: ‎06-19-2015

Hi @bivin

 

Your both signals(I2c_microblaze_sda & I2c_vhdl_sda) are inout signals, am I right? Use IOBUF and try to mux the input and output signals seperately.

 

-------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution if solved.
-------------------------------------------------------------------------------

 

Thanks

Madhu

0 Kudos