aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiodrag Milanović <mmicko@gmail.com>2021-08-20 16:09:55 +0200
committerGitHub <noreply@github.com>2021-08-20 16:09:55 +0200
commitc2866780d2ee82334649237f77a89900fa0de4bc (patch)
tree4c5df9bf6e2a88657fd0d873cad55134aed72b21
parent75a4cdfc8afc10fed80e43fb1ba31c7edaf6e361 (diff)
parentb59c42734837f6cb987e97d60e56e096c8d4d40a (diff)
downloadyosys-c2866780d2ee82334649237f77a89900fa0de4bc.tar.gz
yosys-c2866780d2ee82334649237f77a89900fa0de4bc.tar.bz2
yosys-c2866780d2ee82334649237f77a89900fa0de4bc.zip
Merge pull request #2973 from YosysHQ/micko/optional_extensions
Make Verific extensions optional
-rw-r--r--Makefile7
-rw-r--r--frontends/verific/verific.cc7
2 files changed, 12 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index b267f6294..d88a7e95a 100644
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,7 @@ ENABLE_READLINE := 1
ENABLE_EDITLINE := 0
ENABLE_GHDL := 0
ENABLE_VERIFIC := 0
+DISABLE_VERIFIC_EXTENSIONS := 0
ENABLE_COVER := 1
ENABLE_LIBYOSYS := 0
ENABLE_PROTOBUF := 0
@@ -498,7 +499,11 @@ endif
ifeq ($(ENABLE_VERIFIC),1)
VERIFIC_DIR ?= /usr/local/src/verific_lib
-VERIFIC_COMPONENTS ?= verilog vhdl database util containers hier_tree extensions
+VERIFIC_COMPONENTS ?= verilog vhdl database util containers hier_tree
+ifneq ($(DISABLE_VERIFIC_EXTENSIONS),1)
+VERIFIC_COMPONENTS += extensions
+CXXFLAGS += -DYOSYSHQ_VERIFIC_EXTENSIONS
+endif
CXXFLAGS += $(patsubst %,-I$(VERIFIC_DIR)/%,$(VERIFIC_COMPONENTS)) -DYOSYS_ENABLE_VERIFIC
ifeq ($(OS), Darwin)
LDLIBS += $(patsubst %,$(VERIFIC_DIR)/%/*-mac.a,$(VERIFIC_COMPONENTS)) -lz
diff --git a/frontends/verific/verific.cc b/frontends/verific/verific.cc
index 5a10568c7..1b8bc1b51 100644
--- a/frontends/verific/verific.cc
+++ b/frontends/verific/verific.cc
@@ -50,7 +50,9 @@ USING_YOSYS_NAMESPACE
#include "VhdlUnits.h"
#include "VeriLibrary.h"
+#ifdef YOSYSHQ_VERIFIC_EXTENSIONS
#include "InitialAssertions.h"
+#endif
#ifndef YOSYSHQ_VERIFIC_API_VERSION
# error "Only YosysHQ flavored Verific is supported. Please contact office@yosyshq.com for commercial support for Yosys+Verific."
@@ -1961,7 +1963,9 @@ void verific_import(Design *design, const std::map<std::string,std::string> &par
for (const auto &i : parameters)
verific_params.Insert(i.first.c_str(), i.second.c_str());
+#ifdef YOSYSHQ_VERIFIC_EXTENSIONS
InitialAssertions::Rewrite("work", &verific_params);
+#endif
if (top.empty()) {
netlists = hier_tree::ElaborateAll(&veri_libs, &vhdl_libs, &verific_params);
@@ -2847,8 +2851,9 @@ struct VerificPass : public Pass {
std::set<std::string> top_mod_names;
+#ifdef YOSYSHQ_VERIFIC_EXTENSIONS
InitialAssertions::Rewrite(work, &parameters);
-
+#endif
if (mode_all)
{
log("Running hier_tree::ElaborateAll().\n");