MachXO2 I2C configuration. EFB I2C block synthesis error.

Started by atom1477 2 years ago2 replieslatest reply 2 years ago242 views


I creating project with LCMXO2-1200HC device in QFN32 package, so i have very limited number of IO pins and I want to configuring FPGA by I2C instead of JTAG.

I try to do this similarly to this descriprion:

Only differences are:

1. I use MachXO2 instead of MachXO3.

2. Trouble 4 not exist. I use Lattice Diamond 3.10, trouble exist only in Lattice Diamond 3.9 or i quess, in earlier versions. But in 3.10, WBCLKI is generated and i hope it is generated correctly.

So I generate I2C module using IPExpress:



Then I insert some code from generated i2c_tmpl.vhd file, to my main.vhd file.

And set some parameters in preferences (I2C ENABLE, JTAG DISABLE):


But when I try to synthetise this, I have this error:



In there something I forgot to do?

Complete project:

[ - ]
Reply by mocomakersNovember 26, 2018

Hello. I'm not well-versed in VHDL, but I did get your project to synthesize by importing the i2c.ipx file.


You did not check 'Import IPX to Diamond Project' when creating the I2C module via EFB and IPExpress.

I have not tested this solution beyond software synthesis.

However, I can point you to a working SPI programming configuration for the MachXO2 -

Best of luck.

[ - ]
Reply by atom1477November 27, 2018

[quote]You did not check 'Import IPX to Diamond Project' when creating the I2C module via EFB and IPExpress.[/quote]

Thank you very much.

This is it.

After adding the ipx file, the project has been synthesized and works (I mean: programming via I2C works).