Forum Discussion
how do timing constraint for I2c bus
- 3 years ago
Hello,
Sorry for the late response. You may use set_max_delay instead of set_input_delay since the I2C is pretty slow. You may use below constraint, this is the typical values used.
set_max_delay -from [get_ports {eeprom_scl}] 50
set_min_delay -from [get_ports {eeprom_scl}] 0
set_max_delay -from [get_ports {eeprom_sda}] 50
set_min_delay -from [get_ports {eeprom_sda}] 0
Regards,
Nurina
Hi,
In this case you just need to add set_input_delay to the eeprom_scl & eeprom_sda ports.
You also need a virtual clock to describe the eeprom_scl (I'm assuming this is a clock): https://www.intel.com/content/www/us/en/docs/programmable/683243/22-3/creating-virtual-clocks.html
You may find below documents useful:
Regards,
Nurina
why use virtual clock?
why not use system clk = 3.125MHz?