3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-15 13:28:59 +00:00

tracy: init, zones per pass execute method, pointer-colored

This commit is contained in:
Emil J. Tywoniak 2024-05-28 23:51:17 +02:00
parent 5579685673
commit 0fb3f3a78e
180 changed files with 567 additions and 4 deletions

3
.gitmodules vendored
View file

@ -1,3 +1,6 @@
[submodule "abc"]
path = abc
url = https://github.com/YosysHQ/abc
[submodule "tracy"]
path = tracy
url = git@github.com:wolfpld/tracy.git

View file

@ -91,7 +91,7 @@ YOSYS_SRC := $(dir $(firstword $(MAKEFILE_LIST)))
VPATH := $(YOSYS_SRC)
CXXSTD ?= c++11
CXXFLAGS := $(CXXFLAGS) -Wall -Wextra -ggdb -I. -I"$(YOSYS_SRC)" -MD -MP -D_YOSYS_ -fPIC -I$(PREFIX)/include
CXXFLAGS := $(CXXFLAGS) -Wall -Wextra -ggdb -I. -Itracy/public -I"$(YOSYS_SRC)" -MD -MP -D_YOSYS_ -fPIC -I$(PREFIX)/include
LIBS := $(LIBS) -lstdc++ -lm
PLUGIN_LINKFLAGS :=
PLUGIN_LIBS :=
@ -595,6 +595,8 @@ $(eval $(call add_include_file,frontends/ast/ast_binding.h))
$(eval $(call add_include_file,frontends/blif/blifparse.h))
$(eval $(call add_include_file,backends/rtlil/rtlil_backend.h))
OBJS += tracy/public/TracyClient.o
CXXFLAGS += -DTRACY_ENABLE
OBJS += kernel/driver.o kernel/register.o kernel/rtlil.o kernel/log.o kernel/calc.o kernel/yosys.o
OBJS += kernel/binding.o
OBJS += kernel/cellaigs.o kernel/celledges.o kernel/satgen.o kernel/scopeinfo.o kernel/qcsat.o kernel/mem.o kernel/ffmerge.o kernel/ff.o kernel/yw.o kernel/json.o kernel/fmt.o

View file

@ -15,10 +15,10 @@
# TODO: don't override src when ./abc is empty
# which happens when the command used is `nix build` and not `nix build ?submodules=1`
abc-verifier = pkgs.abc-verifier.overrideAttrs(x: y: {src = ./abc;});
yosys = pkgs.clangStdenv.mkDerivation {
yosys = pkgs.llvmPackages.libcxxStdenv.mkDerivation {
name = "yosys";
src = ./. ;
buildInputs = with pkgs; [ clang bison flex libffi tcl readline python3 llvmPackages.libcxxClang zlib git pkg-configUpstream ];
buildInputs = with pkgs; [ bison flex libffi tcl readline python3 llvmPackages.libcxxClang zlib git pkg-configUpstream tracy ];
checkInputs = with pkgs; [ gtest ];
propagatedBuildInputs = [ abc-verifier ];
preConfigure = "make config-clang";
@ -41,7 +41,7 @@
packages.default = yosys;
defaultPackage = yosys;
devShell = pkgs.mkShell {
buildInputs = with pkgs; [ clang bison flex libffi tcl readline python3 llvmPackages.libcxxClang zlib git gtest abc-verifier ];
buildInputs = with pkgs; [ clang bison flex libffi tcl readline python3 llvmPackages.libcxxClang zlib git gtest abc-verifier tracy ];
};
}
);

View file

@ -23,6 +23,8 @@
#include "kernel/yosys_common.h"
#include "kernel/yosys.h"
#include "tracy/public/tracy/Tracy.hpp"
YOSYS_NAMESPACE_BEGIN
struct Pass

View file

@ -152,6 +152,9 @@ struct AddPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
std::string command;
std::string arg_name;
std::string enable_name = "";

View file

@ -101,6 +101,9 @@ struct AutonamePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
size_t argidx;
for (argidx = 1; argidx < args.size(); argidx++)
{

View file

@ -36,6 +36,9 @@ struct BlackboxPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
size_t argidx;
for (argidx = 1; argidx < args.size(); argidx++)
{

View file

@ -399,6 +399,9 @@ struct BugpointPass : public Pass {
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
string yosys_cmd = "yosys", yosys_arg, grep, runner;
bool fast = false, clean = false;
bool modules = false, ports = false, cells = false, connections = false, processes = false, assigns = false, updates = false, wires = false, has_part = false;

View file

@ -62,6 +62,9 @@ struct CheckPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
int counter = 0;
bool noinit = false;
bool initdrv = false;

View file

@ -128,6 +128,9 @@ struct ChformalPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool assert2assume = false;
bool assume2assert = false;
bool live2fair = false;

View file

@ -42,6 +42,9 @@ struct ChtypePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
IdString set_type;
dict<IdString, IdString> map_types;

View file

@ -52,6 +52,9 @@ struct CleanZeroWidthPass : public Pass {
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
size_t argidx;
for (argidx = 1; argidx < args.size(); argidx++)
{

View file

@ -80,6 +80,9 @@ struct ConnectPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool flag_nounset = false, flag_nomap = false, flag_assert = false;
std::string set_lhs, set_rhs, unset_expr;
std::string port_cell, port_port, port_expr;

View file

@ -167,6 +167,9 @@ struct ConnwrappersPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
ConnwrappersWorker worker;
size_t argidx;

View file

@ -38,6 +38,9 @@ struct CopyPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
if (args.size() != 3)
log_cmd_error("Invalid number of arguments!\n");

View file

@ -85,6 +85,9 @@ struct CoverPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
std::vector<FILE*> out_files;
std::vector<std::string> patterns;
bool do_log = true;

View file

@ -42,6 +42,9 @@ struct DeletePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool flag_input = false;
bool flag_output = false;

View file

@ -107,6 +107,9 @@ struct DesignPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool got_mode = false;
bool reset_mode = false;
bool reset_vlog_mode = false;

View file

@ -972,6 +972,9 @@ struct DftTagPass : public Pass {
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
DftTagOptions options;
log_header(design, "Executing DFT_TAG pass.\n");

View file

@ -37,6 +37,9 @@ struct EdgetypePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
size_t argidx;
for (argidx = 1; argidx < args.size(); argidx++) {
// if (args[argidx] == "-ltr") {

View file

@ -73,6 +73,9 @@ struct ExecPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
std::string cmd = "";
char buf[1024] = {};
std::string linebuf = "";

View file

@ -119,6 +119,9 @@ struct FuturePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
FutureOptions options;
log_header(design, "Executing FUTURE pass.\n");

View file

@ -517,6 +517,9 @@ struct GliftPass : public Pass {
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool opt_create_precise_model = false, opt_create_imprecise_model = false, opt_create_instrumented_model = false;
bool opt_taintconstants = false, opt_keepoutputs = false, opt_simplecostmodel = false, opt_nocostmodel = false;
bool opt_instrumentmore = false;

View file

@ -65,6 +65,9 @@ struct LogPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design* design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
size_t argidx;
bool to_stdout = false;
bool to_stderr = false;

View file

@ -73,6 +73,9 @@ struct LoggerPass : public Pass {
void execute(std::vector<std::string> args, RTLIL::Design * design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
size_t argidx;
for (argidx = 1; argidx < args.size(); argidx++)
{

View file

@ -156,6 +156,9 @@ struct LtpPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool noff = false;
log_header(design, "Executing LTP pass (find longest path).\n");

View file

@ -142,6 +142,9 @@ struct PluginPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
std::string plugin_filename;
std::vector<std::string> plugin_aliases;
bool list_mode = false;

View file

@ -41,6 +41,9 @@ struct PortlistPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool m_mode = false;
size_t argidx;

View file

@ -50,6 +50,9 @@ struct PrintAttrsPass : public Pass {
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
size_t argidx = 1;
extra_args(args, argidx, design);

View file

@ -810,6 +810,9 @@ struct QwpPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
QwpConfig config;
xorshift32_state = 123456789;

View file

@ -256,6 +256,9 @@ struct RenamePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
std::string pattern_prefix = "_", pattern_suffix = "_";
std::string cell_suffix = "";
bool flag_src = false;

View file

@ -43,6 +43,9 @@ struct ScatterPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
CellTypes ct(design);
extra_args(args, 1, design);

View file

@ -294,6 +294,9 @@ struct SccPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
dict<std::string, std::string> setAttr;
bool allCellTypes = false;
bool selectMode = false;

View file

@ -66,6 +66,9 @@ struct ScratchpadPass : public Pass {
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
size_t argidx;
for (argidx = 1; argidx < args.size(); argidx++)
{

View file

@ -1254,6 +1254,9 @@ struct SelectPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool add_mode = false;
bool del_mode = false;
bool clear_mode = false;
@ -1622,6 +1625,9 @@ struct CdPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
if (args.size() != 1 && args.size() != 2)
log_cmd_error("Invalid number of arguments.\n");
@ -1713,6 +1719,9 @@ struct LsPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
size_t argidx = 1;
extra_args(args, argidx, design);

View file

@ -71,6 +71,9 @@ struct SetattrPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
std::vector<setunset_t> setunset_list;
bool flag_mod = false;
@ -140,6 +143,9 @@ struct WbflipPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
size_t argidx;
for (argidx = 1; argidx < args.size(); argidx++)
{
@ -181,6 +187,9 @@ struct SetparamPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
vector<setunset_t> setunset_list;
string new_cell_type;
@ -236,6 +245,9 @@ struct ChparamPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
std::vector<setunset_t> setunset_list;
dict<RTLIL::IdString, RTLIL::Const> new_parameters;
bool list_mode = false;

View file

@ -150,6 +150,9 @@ struct SetundefPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
int got_value = 0;
bool undriven_mode = false;
bool expose_mode = false;

View file

@ -752,6 +752,9 @@ struct ShowPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Generating Graphviz representation of design.\n");
log_push();

View file

@ -289,6 +289,9 @@ struct SplicePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool sel_by_cell = false;
bool sel_by_wire = false;
bool sel_any_bit = false;

View file

@ -220,6 +220,9 @@ struct SplitcellsPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
std::string format;
log_header(design, "Executing SPLITCELLS pass (splitting up multi-bit cells).\n");

View file

@ -119,6 +119,9 @@ struct SplitnetsPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool flag_ports = false;
bool flag_driver = false;
std::string format = "[]:";

View file

@ -287,6 +287,9 @@ struct StaPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing STA pass (static timing analysis).\n");
/*

View file

@ -404,6 +404,9 @@ struct StatPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool width_mode = false, json_mode = false;
RTLIL::Module *top_mod = nullptr;
std::map<RTLIL::IdString, statdata_t> mod_stat;

View file

@ -54,6 +54,9 @@ struct TeePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
std::vector<FILE*> backup_log_files, files_to_close;
std::vector<std::ostream*> backup_log_streams;
std::vector<std::string> backup_log_scratchpads;

View file

@ -45,6 +45,9 @@ struct TorderPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool noautostop = false;
dict<IdString, pool<IdString>> stop_db;

View file

@ -72,6 +72,9 @@ struct TracePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
size_t argidx;
for (argidx = 1; argidx < args.size(); argidx++)
{
@ -107,6 +110,9 @@ struct DebugPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
size_t argidx;
for (argidx = 1; argidx < args.size(); argidx++)
{

View file

@ -889,6 +889,9 @@ struct VizPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Generating Graphviz representation of design.\n");
log_push();

View file

@ -46,6 +46,9 @@ struct WriteFileFrontend : public Frontend {
}
void execute(std::istream *&f, std::string filename, std::vector<std::string> args, RTLIL::Design*) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool append_mode = false;
std::string output_filename;

View file

@ -1154,6 +1154,9 @@ struct XpropPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
XpropOptions options;
log_header(design, "Executing XPROP pass.\n");

View file

@ -41,6 +41,9 @@ struct EquivAddPass : public Pass {
}
void execute(std::vector<std::string> args, Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool try_mode = false;
if (design->selected_active_module.empty())

View file

@ -199,6 +199,9 @@ struct EquivInductPass : public Pass {
}
void execute(std::vector<std::string> args, Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
int success_counter = 0;
bool model_undef = false;
int max_seq = 4;

View file

@ -457,6 +457,9 @@ struct EquivMakePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
EquivMakeWorker worker;
worker.ct.setup(design);
worker.inames = false;

View file

@ -218,6 +218,9 @@ struct EquivMarkPass : public Pass {
}
void execute(std::vector<std::string> args, Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing EQUIV_MARK pass.\n");
size_t argidx;

View file

@ -284,6 +284,9 @@ struct EquivMiterPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
EquivMiterWorker worker;
worker.ct.setup(design);
worker.mode_trigger = false;

View file

@ -85,6 +85,9 @@ struct EquivOptPass:public ScriptPass
void execute(std::vector < std::string > args, RTLIL::Design * design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
string run_from, run_to;
clear_flags();

View file

@ -189,6 +189,9 @@ struct EquivPurgePass : public Pass {
}
void execute(std::vector<std::string> args, Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing EQUIV_PURGE pass.\n");
size_t argidx;

View file

@ -42,6 +42,9 @@ struct EquivRemovePass : public Pass {
}
void execute(std::vector<std::string> args, Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool mode_gold = false;
bool mode_gate = false;
int remove_count = 0;

View file

@ -304,6 +304,9 @@ struct EquivSimplePass : public Pass {
}
void execute(std::vector<std::string> args, Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool verbose = false, short_cones = false, model_undef = false, nogroup = false;
int success_counter = 0;
int max_seq = 1;

View file

@ -38,6 +38,9 @@ struct EquivStatusPass : public Pass {
}
void execute(std::vector<std::string> args, Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool assert_mode = false;
int unproven_count = 0;

View file

@ -316,6 +316,9 @@ struct EquivStructPass : public Pass {
}
void execute(std::vector<std::string> args, Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
pool<IdString> fwonly_cells({ ID($equiv) });
bool mode_icells = false;
bool mode_fwd = false;

View file

@ -79,6 +79,9 @@ struct FsmPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool flag_nomap = false;
bool flag_norecode = false;
bool flag_nodetect = false;

View file

@ -287,6 +287,9 @@ struct FsmDetectPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing FSM_DETECT pass (finding FSMs in design).\n");
bool ignore_self_reset = false;

View file

@ -281,6 +281,9 @@ struct FsmExpandPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool full_mode = false;
log_header(design, "Executing FSM_EXPAND pass (merging auxiliary logic into FSMs).\n");

View file

@ -145,6 +145,9 @@ struct FsmExportPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
dict<RTLIL::IdString, RTLIL::Const>::iterator attr_it;
std::string arg;
bool flag_noauto = false;

View file

@ -419,6 +419,9 @@ struct FsmExtractPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing FSM_EXTRACT pass (extracting FSM from design).\n");
extra_args(args, 1, design);

View file

@ -43,6 +43,9 @@ struct FsmInfoPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing FSM_INFO pass (dumping all available information on FSM cells).\n");
extra_args(args, 1, design);

View file

@ -333,6 +333,9 @@ struct FsmMapPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing FSM_MAP pass (mapping FSMs to basic logic).\n");
extra_args(args, 1, design);

View file

@ -337,6 +337,9 @@ struct FsmOptPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing FSM_OPT pass (simple optimizations of FSMs).\n");
extra_args(args, 1, design);

View file

@ -153,6 +153,9 @@ struct FsmRecodePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
FILE *fm_set_fsm_file = NULL;
FILE *encfile = NULL;
std::string default_encoding;

View file

@ -819,6 +819,9 @@ struct HierarchyPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing HIERARCHY pass (managing design hierarchy).\n");
bool flag_check = false;

View file

@ -354,6 +354,9 @@ struct SubmodPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing SUBMOD pass (moving cells to submodules as requested).\n");
log_push();

View file

@ -43,6 +43,9 @@ struct UniquifyPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing UNIQUIFY pass (creating unique copies of modules).\n");
size_t argidx;

View file

@ -55,6 +55,9 @@ struct MemoryPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool flag_norom = false;
bool flag_nomap = false;
bool flag_nordff = false;

View file

@ -37,6 +37,9 @@ struct MemoryBmux2RomPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing MEMORY_BMUX2ROM pass (converting muxes to ROMs).\n");
size_t argidx;

View file

@ -1306,6 +1306,9 @@ struct MemoryBramPass : public Pass {
}
void execute(vector<string> args, Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
rules_t rules;
log_header(design, "Executing MEMORY_BRAM pass (mapping $mem cells to block memories).\n");

View file

@ -37,6 +37,9 @@ struct MemoryCollectPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override {
log_header(design, "Executing MEMORY_COLLECT pass (generating $mem cells).\n");
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
extra_args(args, 1, design);
for (auto module : design->selected_modules()) {
if (module->has_processes_warn())

View file

@ -643,6 +643,9 @@ struct MemoryDffPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool flag_no_rw_check = false;
log_header(design, "Executing MEMORY_DFF pass (merging $dff cells to $memrd).\n");

View file

@ -2182,6 +2182,9 @@ struct MemoryLibMapPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
std::vector<std::string> lib_files;
pool<std::string> defines;
PassOptions opts;

View file

@ -432,6 +432,9 @@ struct MemoryMapPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool attr_icase = false;
bool rom_only = false;
bool keepdc = false;

View file

@ -51,6 +51,9 @@ struct MemoryMemxPass : public Pass {
void execute(std::vector<std::string> args, RTLIL::Design *design) override {
log_header(design, "Executing MEMORY_MEMX pass (emit soft logic for out-of-bounds handling).\n");
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
extra_args(args, 1, design);
for (auto module : design->selected_modules())

View file

@ -37,6 +37,9 @@ struct MemoryNarrowPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing MEMORY_NARROW pass (splitting up wide memory ports).\n");
size_t argidx;

View file

@ -38,6 +38,9 @@ struct MemoryNordffPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing MEMORY_NORDFF pass (extracting $dff cells from memories).\n");
size_t argidx;

View file

@ -538,6 +538,9 @@ struct MemorySharePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override {
bool flag_widen = true;
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool flag_sat = true;
log_header(design, "Executing MEMORY_SHARE pass (consolidating $memrd/$memwr cells).\n");
size_t argidx;

View file

@ -37,6 +37,9 @@ struct MemoryUnpackPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override {
log_header(design, "Executing MEMORY_UNPACK pass (generating $memrd/$memwr cells form $mem cells).\n");
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
extra_args(args, 1, design);
for (auto module : design->selected_modules()) {
for (auto &mem : Mem::get_selected_memories(module)) {

View file

@ -343,6 +343,9 @@ struct MuxpackPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing MUXPACK pass ($mux cell cascades to $pmux).\n");
size_t argidx;

View file

@ -66,6 +66,9 @@ struct OptPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
std::string opt_clean_args;
std::string opt_expr_args;
std::string opt_reduce_args;

View file

@ -646,6 +646,9 @@ struct OptCleanPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool purge_mode = false;
log_header(design, "Executing OPT_CLEAN pass (remove unused cells and wires).\n");
@ -711,6 +714,9 @@ struct CleanPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool purge_mode = false;
size_t argidx;

View file

@ -181,6 +181,9 @@ struct OptDemorganPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing OPT_DEMORGAN pass (push inverters through $reduce_* cells).\n");
int argidx = 1;

View file

@ -882,6 +882,9 @@ struct OptDffPass : public Pass {
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing OPT_DFF pass (perform DFF optimizations).\n");
OptDffOptions opt;
opt.nodffe = false;

View file

@ -2252,6 +2252,9 @@ struct OptExprPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool mux_undef = false;
bool mux_bool = false;
bool undriven = false;

View file

@ -245,6 +245,9 @@ struct OptFfInvPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing OPT_FFINV pass (push inverters through FFs).\n");
size_t argidx;

View file

@ -543,6 +543,9 @@ struct OptLutPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing OPT_LUT pass (optimize LUTs).\n");
std::vector<dlogic_t> dlogic;

View file

@ -44,6 +44,9 @@ struct OptLutInsPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing OPT_LUT_INS pass (discard unused LUT inputs).\n");
string techname;

View file

@ -38,6 +38,9 @@ struct OptMemPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing OPT_MEM pass (optimize memories).\n");
size_t argidx;

View file

@ -338,6 +338,9 @@ struct OptMemFeedbackPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override {
log_header(design, "Executing OPT_MEM_FEEDBACK pass (finding memory read-to-write feedback paths).\n");
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
extra_args(args, 1, design);
OptMemFeedbackWorker worker(design);

View file

@ -42,6 +42,9 @@ struct OptMemPriorityPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override {
log_header(design, "Executing OPT_MEM_PRIORITY pass (removing unnecessary memory write priority relations).\n");
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
extra_args(args, 1, design);
ModWalker modwalker(design);

View file

@ -37,6 +37,9 @@ struct OptMemWidenPass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing OPT_MEM_WIDEN pass (optimize memories where all ports are wide).\n");
size_t argidx;

View file

@ -336,6 +336,9 @@ struct OptMergePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing OPT_MERGE pass (detect identical cells).\n");
bool mode_nomux = false;

View file

@ -487,6 +487,9 @@ struct OptMuxtreePass : public Pass {
}
void execute(vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
log_header(design, "Executing OPT_MUXTREE pass (detect dead branches in mux trees).\n");
extra_args(args, 1, design);

View file

@ -630,6 +630,9 @@ struct OptReducePass : public Pass {
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
ZoneScoped;
ZoneText(pass_name.c_str(), pass_name.length());
ZoneColor((uint32_t)(size_t)pass_name.c_str());
bool do_fine = false;
log_header(design, "Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).\n");

Some files were not shown because too many files have changed in this diff Show more