#include "kernel/log.h"
#include "kernel/utils.h"
#include "libs/sha1/sha1.h"
#include "ast.h"
#include <sstream>
#include <stdarg.h>
#include <algorithm>
Go to the source code of this file.
|
static RTLIL::SigSpec | uniop2rtlil (AstNode *that, std::string type, int result_width, const RTLIL::SigSpec &arg, bool gen_attributes=true) |
|
static void | widthExtend (AstNode *that, RTLIL::SigSpec &sig, int width, bool is_signed) |
|
static RTLIL::SigSpec | binop2rtlil (AstNode *that, std::string type, int result_width, const RTLIL::SigSpec &left, const RTLIL::SigSpec &right) |
|
static RTLIL::SigSpec | mux2rtlil (AstNode *that, const RTLIL::SigSpec &cond, const RTLIL::SigSpec &left, const RTLIL::SigSpec &right) |
|
Definition at line 107 of file genrtlil.cc.
109 std::stringstream sstr;
120 log_error(
"Attribute `%s' with non-constant value at %s:%d!\n",
122 cell->attributes[attr.first] = attr.second->asAttrConst();
std::string stringf(const char *fmt,...)
RTLIL::Cell * addCell(RTLIL::IdString name, RTLIL::IdString type)
void setPort(RTLIL::IdString portname, RTLIL::SigSpec signal)
std::map< RTLIL::IdString, AstNode * > attributes
void log_error(const char *format,...)
std::map< RTLIL::IdString, RTLIL::Const > parameters
RTLIL::Wire * addWire(RTLIL::IdString name, int width=1)
std::vector< AstNode * > children
AstModule * current_module
YOSYS_NAMESPACE_BEGIN int autoidx
Definition at line 140 of file genrtlil.cc.
144 std::stringstream sstr;
155 log_error(
"Attribute `%s' with non-constant value at %s:%d!\n",
157 cell->attributes[attr.first] = attr.second->asAttrConst();
std::string stringf(const char *fmt,...)
RTLIL::Cell * addCell(RTLIL::IdString name, RTLIL::IdString type)
void setPort(RTLIL::IdString portname, RTLIL::SigSpec signal)
std::map< RTLIL::IdString, AstNode * > attributes
void log_error(const char *format,...)
std::map< RTLIL::IdString, RTLIL::Const > parameters
#define log_assert(_assert_expr_)
RTLIL::Wire * addWire(RTLIL::IdString name, int width=1)
AstModule * current_module
YOSYS_NAMESPACE_BEGIN int autoidx
Definition at line 44 of file genrtlil.cc.
46 std::stringstream sstr;
58 log_error(
"Attribute `%s' with non-constant value at %s:%d!\n",
60 cell->attributes[attr.first] = attr.second->asAttrConst();
std::string stringf(const char *fmt,...)
RTLIL::Cell * addCell(RTLIL::IdString name, RTLIL::IdString type)
void setPort(RTLIL::IdString portname, RTLIL::SigSpec signal)
std::map< RTLIL::IdString, AstNode * > attributes
void log_error(const char *format,...)
std::map< RTLIL::IdString, RTLIL::Const > parameters
RTLIL::Wire * addWire(RTLIL::IdString name, int width=1)
std::vector< AstNode * > children
AstModule * current_module
YOSYS_NAMESPACE_BEGIN int autoidx
Definition at line 73 of file genrtlil.cc.
75 if (width <= sig.
size()) {
76 sig.
extend(width, is_signed);
80 std::stringstream sstr;
92 log_error(
"Attribute `%s' with non-constant value at %s:%d!\n",
94 cell->attributes[attr.first] = attr.second->asAttrConst();
std::string stringf(const char *fmt,...)
RTLIL::Cell * addCell(RTLIL::IdString name, RTLIL::IdString type)
void setPort(RTLIL::IdString portname, RTLIL::SigSpec signal)
std::map< RTLIL::IdString, AstNode * > attributes
void log_error(const char *format,...)
std::map< RTLIL::IdString, RTLIL::Const > parameters
RTLIL::Wire * addWire(RTLIL::IdString name, int width=1)
void extend(int width, bool is_signed=false)
AstModule * current_module
YOSYS_NAMESPACE_BEGIN int autoidx