3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-06-19 20:33:39 +00:00

kernel/ff: Refactor FfData to enable FFs with async load.

- *_en is split into *_ce (clock enable) and *_aload (async load aka
  latch gate enable), so both can be present at once
- has_d is removed
- has_gclk is added (to have a clear marker for $ff)
- d_is_const and val_d leftovers are removed
- async2sync, clk2fflogic, opt_dff are updated to operate correctly on
  FFs with async load
This commit is contained in:
Marcelina Kościelnicka 2021-10-01 23:50:48 +02:00
parent ec2b5548fe
commit 63b9df8693
10 changed files with 565 additions and 325 deletions

View file

@ -84,7 +84,7 @@ struct DffunmapPass : public Pass {
continue;
if (ce_only) {
if (!ff.has_en)
if (!ff.has_ce)
continue;
ff.unmap_ce(mod);
} else if (srst_only) {
@ -92,7 +92,7 @@ struct DffunmapPass : public Pass {
continue;
ff.unmap_srst(mod);
} else {
if (!ff.has_en && !ff.has_srst)
if (!ff.has_ce && !ff.has_srst)
continue;
ff.unmap_ce_srst(mod);
}