11 log(
"Arguments to my_cmd:\n");
12 for (
auto &arg : args)
13 log(
" %s\n", arg.c_str());
15 log(
"Modules in current design:\n");
16 for (
auto mod : design->
modules())
17 log(
" %s (%zd wires, %zd cells)\n",
log_id(mod),
27 if (design->
has(
"\\absval") != 0)
28 log_error(
"A module with the name absval already exists!\n");
31 log(
"Name of this module: %s\n",
log_id(module));
55 log_cmd_error(
"This command can't operator on an empty selection!\n");
60 log(
"%d %d %d\n", a == x, x == y, y == a);
63 log(
"%d %d %d\n", sigmap(a) == sigmap(x), sigmap(x) == sigmap(y),
64 sigmap(y) == sigmap(a));
70 for (
int i = 0; i < 10; i++)
71 log(
"Log message #%d.\n", i);
RTLIL::Wire * wire(RTLIL::IdString id)
std::vector< RTLIL::Selection > selection_stack
void log_header(const char *format,...)
virtual void execute(std::vector< std::string > args, RTLIL::Design *design)
const char * log_signal(const RTLIL::SigSpec &sig, bool autoint)
void log_error(const char *format,...)
virtual void execute(std::vector< std::string >, RTLIL::Design *design)
RTLIL::Cell * addNeg(RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_y, bool is_signed=false)
#define PRIVATE_NAMESPACE_BEGIN
int GetSize(RTLIL::Wire *wire)
RTLIL::Wire * addWire(RTLIL::IdString name, int width=1)
#define PRIVATE_NAMESPACE_END
void log_cmd_error(const char *format,...)
RTLIL::Module * addModule(RTLIL::IdString name)
bool has(RTLIL::IdString id) const
#define USING_YOSYS_NAMESPACE
RTLIL::ObjRange< RTLIL::Module * > modules()
std::map< RTLIL::IdString, RTLIL::Module * > modules_
RTLIL::Cell * addMux(RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_b, RTLIL::SigSpec sig_s, RTLIL::SigSpec sig_y)
void log(const char *format,...)
const char * log_id(RTLIL::IdString str)
virtual void execute(std::vector< std::string >, RTLIL::Design *design)