Aufgrund eines Problems in der Quartus® Prime Pro Edition-Softwareversion 24.1 und früher kann es vorkommen, dass der HPS I2C-Bus nicht reagiert, wenn er über FPGA IOs geroutet wird.
Um das Problem zu umgehen, registrieren Sie die Ausgangsfreigabe (OE) von SDA und SCL mit einem schnellen Takt. Nachfolgend finden Sie eine Beispielimplementierung:
Reg hps_i2c*_scl_oe_reg ;
Reg hps_i2c*_sda_oe_reg ;
Immer @ (Posedge system_clk_100_internal) beginnen
hps_i2c*_scl_oe_reg = hps_i2c*_scl_oe;
hps_i2c*_sda_oe_reg = hps_i2c*_sda_oe;
Ende
zuweisen hps_i2c*_scl = hps_i2c*_scl_oe_reg ? 1'b0: 1'bz;
zuweisen hps_i2c*_sda = hps_i2c*_sda_oe_reg ? 1'b0: 1'bz;
Dieses Problem soll in einer zukünftigen Version der Quartus® Prime Pro Edition-Software behoben werden.