mirror of https://github.com/YosysHQ/yosys.git
e275692e84
Because if the unknown module is connected to any constants, Verific will actually break all constants in the same module, even if they have nothing to do structurally with that instance of an unknown module. Signed-off-by: Clifford Wolf <clifford@clifford.at> |
||
---|---|---|
.. | ||
Makefile.inc | ||
README | ||
example.sby | ||
example.sv | ||
verific.cc | ||
verific.h | ||
verificsva.cc |
README
This directory contains Verific bindings for Yosys. See http://www.verific.com/ for details. Building Yosys with the 32 bit Verific eval library on amd64: ============================================================= 1.) Use a Makefile.conf like the following one: --snip-- CONFIG := gcc ENABLE_TCL := 0 ENABLE_PLUGINS := 0 ENABLE_VERIFIC := 1 CXXFLAGS += -m32 LDFLAGS += -m32 VERIFIC_DIR = /usr/local/src/verific_lib_eval --snap-- 2.) Install the necessary multilib packages Hint: On debian/ubuntu the multilib packages have names such as libreadline-dev:i386 or lib32readline6-dev, depending on the exact version of debian/ubuntu you are working with. 3.) Build and test make -j8 ./yosys -p 'verific -sv frontends/verific/example.sv; verific -import top' Verific Features that should be enabled in your Verific library =============================================================== database/DBCompileFlags.h: DB_PRESERVE_INITIAL_VALUE Testing Verific+Yosys+SymbiYosys for formal verification ======================================================== Install Yosys+Verific, SymbiYosys, and Yices2. Install instructions: http://symbiyosys.readthedocs.io/en/latest/quickstart.html#installing Then run in the following command in this directory: sby -f example.sby This will generate approximately one page of text outpout. The last lines should be something like this: SBY [example] summary: Elapsed clock time [H:MM:SS (secs)]: 0:00:00 (0) SBY [example] summary: Elapsed process time [H:MM:SS (secs)]: 0:00:00 (0) SBY [example] summary: engine_0 (smtbmc yices) returned PASS for basecase SBY [example] summary: engine_0 (smtbmc yices) returned PASS for induction SBY [example] summary: successful proof by k-induction. SBY [example] DONE (PASS, rc=0)