lowRISC / lowRISC/opentitan

RFC: Glitch Filter for I²C SCL and SDA Inputs

Open
#28,254 8 comments 0 reactions 0 assignees View on GitHub
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

### Description

Hi all,

I’d like to propose adding a glitch filter to the I²C IP core to improve noise robustness on the SCL and SDA inputs.
The idea is to place a small N-cycle stability check after the two-stage synchronizer so that short pulses (glitches) are ignored, while valid I²C transitions pass through.

The full draft RFC is here: https://docs.google.com/document/d/19hkUFaqMAJH2dpYH56lC1JZGZ3TkixecQj2qOuO8z58/edit?usp=sharing

I’d welcome feedback and guidance on whether this should be fixed-length or configurable, and any integration concerns.

Best regards,
Sohan Sai

Contributor guide

Open the contributing guide

Research direction

Start by reading the linked RFC and reviewing the I²C IP core’s SCL and SDA input path, especially the two-stage synchronizer. Determine whether the proposed N-cycle stability check should be fixed-length or configurable and identify integration concerns. The issue does not define an implementation target or tests, so completion depends on resolving the design questions first.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.