Comments (3)
The SDA_r is correctly registering a 0, so that is not a problem. State (or really state_base) only changes on the falling edge, but your state moves to 0 on the rising. This means that state!=state_base at that point, which likely means STOP_r got set. You need to look at your simulation pin equations as the sim likely sees a very short duration change of SDA_in which triggers STOP_r (edge sensitive to SDA rising). This can happen if you are using ?: in your pin_SDA_in equation on the outside as well as due to other factors in how you made that Master ACK work. But, you will see that just after the SCL rising, it detects STOP. So, this is a simulation setup problem (and/or a master model problem).
from i3c-slave-design.
Yes, you're right - I can see the slave detecting "stop" on the rising edge of SCL, which is strange, since I expected it to detect this only on rising edge of SDA. But I've seen glitches on SDA today when using a different simulator, so it's probably my sim model causing this. I will have to tweak the simulator to be sure.
from i3c-slave-design.
Ok, I've seen it clearly in the sim - this problem is definitely on my side, like you described - Many Thanks!
from i3c-slave-design.
Related Issues (20)
- Are unhandled CCCs passed through to the mr_* bus? HOT 2
- SDA negated prematurely during ACK HOT 2
- Request to have source uploaded as separate files instead of a zip file HOT 6
- Is support for "read current address" missing? HOT 1
- Unsupported syntax in Verilog 2005 HOT 4
- Latches inferred on dma_r[5:4] HOT 2
- MAP_DA_AUTO[12:8] = 0 causes compile error HOT 7
- Push pull and open drain HOT 3
- i2c_spike_ok error HOT 7
- Wrong parameter default MAP_DA_AUTO HOT 2
- CCCs are not being executed HOT 5
- The function of HJ? thank you very much HOT 1
- About REG_RULES[1] bit
- "i3c_time_control" module is missing HOT 3
- GETPID CCC not executed HOT 1
- i3c_autonomous_reg.v HOT 2
- Autonomous slave, IBI, no MDB, ACK pulse handoff HOT 2
- ACK behavior of I3C target before they are configured into I3C mode.
- the difference between PIN_MODEL == `PINM_COMBO and PINM_REG HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from i3c-slave-design.