jpeg_rle: Add missing reset to ddstrb pipeline register to prevent spurious go after reset#4118
Conversation
|
This change leads to a small QOR change. Please run |
|
Hello @maliberty, |
2be5eec to
a5af43f
Compare
|
Hi @maliberty, I tried running update_ok again but couldn’t complete the flow locally. Could you help update the QOR reference or suggest an alternative? |
|
Hello @maliberty , |
ddstrb had no reset, risking spurious go assertion to jpeg_rle1 immediately after reset release, corrupting the first JPEG block. Signed-off-by: Ashnaa Seth <ashnaaseth2325@gmail.com> Signed-off-by: ashnaaseth2325-oss <ashnaaseth2325@gmail.com> Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
designs/sky130hd/jpeg/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__tns | -155.0 | -170.0 | Failing | | globalroute__antenna_diodes_count | 100 | 115 | Failing | | globalroute__timing__setup__ws | -0.899 | -1.16 | Failing | | globalroute__timing__setup__tns | -201.0 | -268.0 | Failing | | finish__timing__setup__ws | -0.603 | -0.943 | Failing | | finish__timing__setup__tns | -96.0 | -146.0 | Failing | designs/sky130hs/jpeg/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | placeopt__design__instance__count__stdcell | 56019 | 55868 | Tighten | | cts__design__instance__count__setup_buffer | 4871 | 4858 | Tighten | | cts__design__instance__count__hold_buffer | 4871 | 4858 | Tighten | | globalroute__timing__setup__tns | -0.809 | -1.92 | Failing | | detailedroute__antenna_diodes_count | 100 | 102 | Failing | Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
0da4a09 to
6937b58
Compare
SUMMARY
This PR adds a missing asynchronous reset to the
ddstrbpipeline register injpeg_rle.v, preventing invalid signal propagation after reset. The change affects thejpeg_rlemodule and ensures stable interaction withjpeg_rle1by eliminating unintendedgopulses.FIX
VERIFICATION
Simulate with
rstdeasserted whiledstrbis high or unknown; previously this caused an immediate transition toacstate with invalid outputs. After the fix,ddstrbresets to 0 and no spuriousgopulse occurs. The state machine remains indcuntil valid input arrives, preserving correct JPEG block encoding.