Hello. After adding some code by hand and following the example code for i2cmst in the GRLIB IP core manual, I haven’t been unable to get the i2cmst peripheral to show in GRMON for the vcu118 FPGA.
i2c_ex : if (CFG_I2C_ENABLE /= 0) generate
i2c0 : i2cmst
generic map ( pindex => APBI2C_PINDEX,
paddr => APBI2C_PADDR,
pmask => APBI2C_PMASK,
pirq => APBI2C_PIRQ)
-- filter => FIXME)
port map ( rstn => rstn,
clk => clkm,
apbi => apbi(APBI2C_PINDEX),
apbo => apbo(APBI2C_PINDEX),
i2ci => i2ci,
i2co => i2co);
end generate;
I have removed the appropriate modules in the DIRSKIP section in the Makefile, instantiated the pads
i2cpads_en : if (CFG_I2C_ENABLE /= 0) generate
i2c_scl_pad : iopad generic map (tech => padtech, level => cmos, voltage => x18v)
port map (iic_scl, i2co.scl, i2co.scloen, i2ci.scl);
i2c_sda_pad : iopad generic map (tech => padtech, level => cmos, voltage => x18v)
port map (iic_sda, i2co.sda, i2co.sdaoen, i2ci.sda);
end generate;
And added the pins in the XDC. The module is visible in the RTL implementation, but not under GRMON.
# -- I2C PMOD0 ---
set_property PACKAGE_PIN AT15 [get_ports {iic_sda}] ;# Bank 67 VCCO - VCC1V8_FPGA - PMOD0_0
set_property PACKAGE_PIN AT16 [get_ports {iic_scl}] ;# Bank 67 VCCO - VCC1V8_FPGA - PMOD0_1
set_property IOSTANDARD LVCMOS18 [get_ports iic_*] ;
Is there anything I am missing?
Thank you.