PWM Recorder IP block has an 18-cycle measurement error
Description of the problem
The PWM recorder block records any pulse as 18 cycles shorter than it actually was. This is caused by the cycle counter stopping when the signal drops to 0 almost immediately, but not starting to count until a delay after it the input rises.
Proposed solution
Add a condition to count high cycles during a low-pulse until the shift register empties. Essentially this means rejecting both short drops in a high signal (new) as well as ignoring short high pulses in a low signal (existing functionality).
This is implemented in commit 290d8b03
Edited by James Talbert