-
Notifications
You must be signed in to change notification settings - Fork 779
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[i2c] Reject Start/Stop if SCL changes too soon
Because the spec's data hold time is nominally 0, there are situations where an SDA change may arrive before an SCL change after CDC. This can give the appearance that a controller has sent a Start or Stop symbol, when the next bit was intended to be data, leading to unintended outcomes. However, Start and Stop symbols have a significant required hold time, a period after the SDA transition when SCL is not allowed to change. Use some of this period to disambiguate data vs. control symbols. Require SCL to be held stable for at least thd_dat for a control symbol to complete decoding. Note that thd_sta and t_buf must be longer than thd_dat, and thd_dat must be at least 1 cycle. Adjust the randomization of timing parameters in DV so this constraint is properly observed. Signed-off-by: Alexander Williams <[email protected]>
- Loading branch information
1 parent
997422b
commit b98c6c5
Showing
7 changed files
with
72 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters