NXP / i3c-slave-design

MIPI I3C Basic v1.0 communication Slave source code in Verilog with BSD license to support use in sensors and other devices.
Other
114 stars 35 forks source link

Autonomous slave, IBI, no MDB, ACK pulse handoff #36

Open tsuhuai opened 2 years ago

tsuhuai commented 2 years ago

Hi: Have you ever test the IBI without MDB condition? ENA_IBI_MR_HI = 6'b00_0001;//IBI capable ENA_TIMEC =5'b0_0000;//no Timing control BCR[2]=0;//no MDB

My task pulls the SDA low 20ns before the (ACK) SCL 0->1 transition, and then keep it High-Z for 20ns when SCL is high. However, the slave did handoff.

If I set BCR[2]=1, ENA_IBI_MR_HJ=6'b00_0011 and perform the simulation again, correct ACK handoff take places. DId I miss anything?

pkimelman-nxp commented 2 years ago

Is has been tested in the past, but no user is using it without MDB, so it is possible something got broken. It should release/handoff after the SCL rising edge of the Controller ACK, as you say.

tsuhuai commented 2 years ago

I have modified 'i3c_sdr_slave_engine.v' , and the simulation result is OK.