power-fv/power_fv/check
Jean-François Nguyen 331e4b76ba insn: use records to define instruction encodings.
Before this commit, instructions were defined by a sequence of Const
for fixed fields (e.g. PO/XO) and AnyConst for others (e.g. operands).
This approach restricted their use to BMC use-cases, and prevented them
from appearing in VCD traces.

After this commit, an instruction encoding is defined by a Record. As
fields can now be set to arbitrary values, the corresponding InsnSpec
will only assert `pfv.stb` if `pfv.insn` matches a valid encoding (i.e.
fixed fields have correct values). On the other side, BMC testbenches
will drive `pfv.insn` with an AnyConst, and assume `pfv.stb` is high.
..
insn insn: use records to define instruction encodings.
__init__.py session: save results and counter-examples to a local directory.
_timer.py In-depth refactoring, improved user interface.
all.py Add liveness check.
causal.py Add causal consistency check.
cia.py In-depth refactoring, improved user interface.
gpr.py pfv.Interface: add support for skipping instructions.
liveness.py Add liveness check.
storage.py Add instruction storage check.
unique.py In-depth refactoring, improved user interface.