aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/celltypes.h
diff options
context:
space:
mode:
authorJannis Harder <me@jix.one>2022-07-21 14:22:15 +0200
committerJannis Harder <me@jix.one>2022-08-16 13:37:30 +0200
commitc0063288d699f4f3edf5e0ff6ee1bd5cfa9ac884 (patch)
tree56dede2b6f394bdd4cf662ae8f8a9c1f67e8f54f /kernel/celltypes.h
parentc26b2bf543a226e65a3fb07040bb278d668accf2 (diff)
downloadyosys-c0063288d699f4f3edf5e0ff6ee1bd5cfa9ac884.tar.gz
yosys-c0063288d699f4f3edf5e0ff6ee1bd5cfa9ac884.tar.bz2
yosys-c0063288d699f4f3edf5e0ff6ee1bd5cfa9ac884.zip
Add the $anyinit cell and the formalff pass
These can be used to protect undefined flip-flop initialization values from optimizations that are not sound for formal verification and can help mapping all solver-provided values in witness traces for flows that use different backends simultaneously.
Diffstat (limited to 'kernel/celltypes.h')
-rw-r--r--kernel/celltypes.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/celltypes.h b/kernel/celltypes.h
index 7e9cfb38d..d62ba1506 100644
--- a/kernel/celltypes.h
+++ b/kernel/celltypes.h
@@ -51,6 +51,7 @@ struct CellTypes
setup_internals();
setup_internals_mem();
+ setup_internals_anyinit();
setup_stdcells();
setup_stdcells_mem();
}
@@ -155,6 +156,11 @@ struct CellTypes
setup_type(ID($dlatchsr), {ID::EN, ID::SET, ID::CLR, ID::D}, {ID::Q});
}
+ void setup_internals_anyinit()
+ {
+ setup_type(ID($anyinit), {ID::D}, {ID::Q});
+ }
+
void setup_internals_mem()
{
setup_internals_ff();