mirror of
https://github.com/YosysHQ/yosys
synced 2026-03-23 04:49:15 +00:00
The double-inverter optimization in opt_expr folds consecutive NOT gates without checking if the cell has the keep attribute. This causes ring oscillator PUFs and other intentional feedback loops to be broken even when explicitly marked for preservation. This patch adds a has_keep_attr() check before folding double inverters, consistent with how opt_clean handles the keep attribute. Fixes: Ring oscillator cells marked with (* keep *) being optimized away Signed-off-by: Sabina Sokol <Sabina.Sokol@gtri.gatech.edu> |
||
|---|---|---|
| .. | ||
| cmds | ||
| equiv | ||
| fsm | ||
| hierarchy | ||
| memory | ||
| opt | ||
| pmgen | ||
| proc | ||
| sat | ||
| techmap | ||
| tests | ||