3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-21 14:45:50 +00:00

Bump yosys and abc to latest

This commit is contained in:
Akash Levy 2025-12-25 03:46:16 -05:00
commit 1941e8f042
24 changed files with 139 additions and 126 deletions

View file

@ -1019,12 +1019,12 @@ RTLIL::Const RTLIL::Const::extract(int offset, int len, RTLIL::State padding) co
}
#undef check /* check(condition) for Const */
bool RTLIL::AttrObject::has_attribute(const RTLIL::IdString &id) const
bool RTLIL::AttrObject::has_attribute(RTLIL::IdString id) const
{
return attributes.count(id);
}
void RTLIL::AttrObject::set_bool_attribute(const RTLIL::IdString &id, bool value)
void RTLIL::AttrObject::set_bool_attribute(RTLIL::IdString id, bool value)
{
if (value)
attributes[id] = RTLIL::Const(1);
@ -1032,7 +1032,7 @@ void RTLIL::AttrObject::set_bool_attribute(const RTLIL::IdString &id, bool value
attributes.erase(id);
}
bool RTLIL::AttrObject::get_bool_attribute(const RTLIL::IdString &id) const
bool RTLIL::AttrObject::get_bool_attribute(RTLIL::IdString id) const
{
const auto it = attributes.find(id);
if (it == attributes.end())
@ -1040,7 +1040,7 @@ bool RTLIL::AttrObject::get_bool_attribute(const RTLIL::IdString &id) const
return it->second.as_bool();
}
void RTLIL::AttrObject::set_string_attribute(const RTLIL::IdString& id, string value)
void RTLIL::AttrObject::set_string_attribute(RTLIL::IdString id, string value)
{
if (value.empty())
attributes.erase(id);
@ -1048,7 +1048,7 @@ void RTLIL::AttrObject::set_string_attribute(const RTLIL::IdString& id, string v
attributes[id] = value;
}
string RTLIL::AttrObject::get_string_attribute(const RTLIL::IdString &id) const
string RTLIL::AttrObject::get_string_attribute(RTLIL::IdString id) const
{
std::string value;
const auto it = attributes.find(id);
@ -1057,7 +1057,7 @@ string RTLIL::AttrObject::get_string_attribute(const RTLIL::IdString &id) const
return value;
}
void RTLIL::AttrObject::set_strpool_attribute(const RTLIL::IdString& id, const std::set<string> &data)
void RTLIL::AttrObject::set_strpool_attribute(RTLIL::IdString id, const pool<string> &data)
{
string attrval;
for (const auto &s : data) {
@ -1068,25 +1068,17 @@ void RTLIL::AttrObject::set_strpool_attribute(const RTLIL::IdString& id, const s
set_string_attribute(id, attrval);
}
void RTLIL::AttrObject::add_strpool_attribute(const RTLIL::IdString& id, const std::set<string> &data)
void RTLIL::AttrObject::add_strpool_attribute(RTLIL::IdString id, const pool<string> &data)
{
std::set<string> union_data = get_strpool_attribute(id);
pool<string> union_data = get_strpool_attribute(id);
union_data.insert(data.begin(), data.end());
if (!union_data.empty())
set_strpool_attribute(id, union_data);
}
void RTLIL::AttrObject::add_strpool_attribute(const RTLIL::IdString& id, const pool<string> &data)
pool<string> RTLIL::AttrObject::get_strpool_attribute(RTLIL::IdString id) const
{
std::set<string> union_data = get_strpool_attribute(id);
union_data.insert(data.begin(), data.end());
if (!union_data.empty())
set_strpool_attribute(id, union_data);
}
std::set<string> RTLIL::AttrObject::get_strpool_attribute(const RTLIL::IdString &id) const
{
std::set<string> data;
pool<string> data;
if (attributes.count(id) != 0)
for (auto s : split_tokens(get_string_attribute(id), "|"))
data.insert(s);
@ -1109,7 +1101,7 @@ vector<string> RTLIL::AttrObject::get_hdlname_attribute() const
return split_tokens(get_string_attribute(ID::hdlname), " ");
}
void RTLIL::AttrObject::set_intvec_attribute(const RTLIL::IdString& id, const std::vector<int> &data)
void RTLIL::AttrObject::set_intvec_attribute(RTLIL::IdString id, const vector<int> &data)
{
std::stringstream attrval;
for (auto &i : data) {
@ -1120,7 +1112,7 @@ void RTLIL::AttrObject::set_intvec_attribute(const RTLIL::IdString& id, const st
attributes[id] = RTLIL::Const(attrval.str());
}
vector<int> RTLIL::AttrObject::get_intvec_attribute(const RTLIL::IdString &id) const
vector<int> RTLIL::AttrObject::get_intvec_attribute(RTLIL::IdString id) const
{
vector<int> data;
auto it = attributes.find(id);
@ -1138,7 +1130,7 @@ vector<int> RTLIL::AttrObject::get_intvec_attribute(const RTLIL::IdString &id) c
return data;
}
bool RTLIL::Selection::boxed_module(const RTLIL::IdString &mod_name) const
bool RTLIL::Selection::boxed_module(RTLIL::IdString mod_name) const
{
if (current_design != nullptr) {
auto module = current_design->module(mod_name);
@ -1149,7 +1141,7 @@ bool RTLIL::Selection::boxed_module(const RTLIL::IdString &mod_name) const
}
}
bool RTLIL::Selection::selected_module(const RTLIL::IdString &mod_name) const
bool RTLIL::Selection::selected_module(RTLIL::IdString mod_name) const
{
if (complete_selection)
return true;
@ -1164,7 +1156,7 @@ bool RTLIL::Selection::selected_module(const RTLIL::IdString &mod_name) const
return false;
}
bool RTLIL::Selection::selected_whole_module(const RTLIL::IdString &mod_name) const
bool RTLIL::Selection::selected_whole_module(RTLIL::IdString mod_name) const
{
if (complete_selection)
return true;
@ -1177,7 +1169,7 @@ bool RTLIL::Selection::selected_whole_module(const RTLIL::IdString &mod_name) co
return false;
}
bool RTLIL::Selection::selected_member(const RTLIL::IdString &mod_name, const RTLIL::IdString &memb_name) const
bool RTLIL::Selection::selected_member(RTLIL::IdString mod_name, RTLIL::IdString memb_name) const
{
if (complete_selection)
return true;
@ -1304,12 +1296,12 @@ RTLIL::ObjRange<RTLIL::Module*> RTLIL::Design::modules()
return RTLIL::ObjRange<RTLIL::Module*>(&modules_, &refcount_modules_);
}
RTLIL::Module *RTLIL::Design::module(const RTLIL::IdString& name)
RTLIL::Module *RTLIL::Design::module(RTLIL::IdString name)
{
return modules_.count(name) ? modules_.at(name) : NULL;
}
const RTLIL::Module *RTLIL::Design::module(const RTLIL::IdString& name) const
const RTLIL::Module *RTLIL::Design::module(RTLIL::IdString name) const
{
return modules_.count(name) ? modules_.at(name) : NULL;
}
@ -1498,21 +1490,21 @@ void RTLIL::Design::optimize()
it.second.optimize(this);
}
bool RTLIL::Design::selected_module(const RTLIL::IdString& mod_name) const
bool RTLIL::Design::selected_module(RTLIL::IdString mod_name) const
{
if (!selected_active_module.empty() && mod_name != selected_active_module)
return false;
return selection().selected_module(mod_name);
}
bool RTLIL::Design::selected_whole_module(const RTLIL::IdString& mod_name) const
bool RTLIL::Design::selected_whole_module(RTLIL::IdString mod_name) const
{
if (!selected_active_module.empty() && mod_name != selected_active_module)
return false;
return selection().selected_whole_module(mod_name);
}
bool RTLIL::Design::selected_member(const RTLIL::IdString& mod_name, const RTLIL::IdString& memb_name) const
bool RTLIL::Design::selected_member(RTLIL::IdString mod_name, RTLIL::IdString memb_name) const
{
if (!selected_active_module.empty() && mod_name != selected_active_module)
return false;
@ -1709,7 +1701,7 @@ RTLIL::IdString RTLIL::Module::derive(RTLIL::Design*, const dict<RTLIL::IdString
log_error("Module `%s' is used with parameters but is not parametric!\n", id2cstr(name));
}
size_t RTLIL::Module::count_id(const RTLIL::IdString& id)
size_t RTLIL::Module::count_id(RTLIL::IdString id)
{
return wires_.count(id) + memories.count(id) + cells_.count(id) + processes.count(id);
}
@ -1734,7 +1726,7 @@ namespace {
cell->name.c_str(), cell->type.c_str(), __FILE__, linenr, buf.str().c_str());
}
int param(const RTLIL::IdString& name)
int param(RTLIL::IdString name)
{
auto it = cell->parameters.find(name);
if (it == cell->parameters.end())
@ -1743,7 +1735,7 @@ namespace {
return it->second.as_int();
}
int param_bool(const RTLIL::IdString& name)
int param_bool(RTLIL::IdString name)
{
int v = param(name);
if (GetSize(cell->parameters.at(name)) > 32)
@ -1753,7 +1745,7 @@ namespace {
return v;
}
int param_bool(const RTLIL::IdString& name, bool expected)
int param_bool(RTLIL::IdString name, bool expected)
{
int v = param_bool(name);
if (v != expected)
@ -1761,20 +1753,20 @@ namespace {
return v;
}
void param_bits(const RTLIL::IdString& name, int width)
void param_bits(RTLIL::IdString name, int width)
{
param(name);
if (GetSize(cell->parameters.at(name)) != width)
error(__LINE__);
}
std::string param_string(const RTLIL::IdString &name)
std::string param_string(RTLIL::IdString name)
{
param(name);
return cell->parameters.at(name).decode_string();
}
void port(const RTLIL::IdString& name, int width)
void port(RTLIL::IdString name, int width)
{
auto it = cell->connections_.find(name);
if (it == cell->connections_.end())
@ -4419,14 +4411,14 @@ std::map<unsigned int, RTLIL::Cell*> *RTLIL::Cell::get_all_cells(void)
}
#endif
bool RTLIL::Cell::hasPort(const RTLIL::IdString& portname) const
bool RTLIL::Cell::hasPort(RTLIL::IdString portname) const
{
return connections_.count(portname) != 0;
}
// bufnorm
const RTLIL::SigSpec &RTLIL::Cell::getPort(const RTLIL::IdString& portname) const
const RTLIL::SigSpec &RTLIL::Cell::getPort(RTLIL::IdString portname) const
{
return connections_.at(portname);
}
@ -4445,7 +4437,7 @@ bool RTLIL::Cell::known() const
return false;
}
bool RTLIL::Cell::input(const RTLIL::IdString& portname) const
bool RTLIL::Cell::input(RTLIL::IdString portname) const
{
if (yosys_celltypes.cell_known(type))
return yosys_celltypes.cell_input(type, portname);
@ -4457,7 +4449,7 @@ bool RTLIL::Cell::input(const RTLIL::IdString& portname) const
return false;
}
bool RTLIL::Cell::output(const RTLIL::IdString& portname) const
bool RTLIL::Cell::output(RTLIL::IdString portname) const
{
if (yosys_celltypes.cell_known(type))
return yosys_celltypes.cell_output(type, portname);
@ -4469,7 +4461,7 @@ bool RTLIL::Cell::output(const RTLIL::IdString& portname) const
return false;
}
RTLIL::PortDir RTLIL::Cell::port_dir(const RTLIL::IdString& portname) const
RTLIL::PortDir RTLIL::Cell::port_dir(RTLIL::IdString portname) const
{
if (yosys_celltypes.cell_known(type))
return yosys_celltypes.cell_port_dir(type, portname);
@ -4485,22 +4477,22 @@ RTLIL::PortDir RTLIL::Cell::port_dir(const RTLIL::IdString& portname) const
return PortDir::PD_UNKNOWN;
}
bool RTLIL::Cell::hasParam(const RTLIL::IdString& paramname) const
bool RTLIL::Cell::hasParam(RTLIL::IdString paramname) const
{
return parameters.count(paramname) != 0;
}
void RTLIL::Cell::unsetParam(const RTLIL::IdString& paramname)
void RTLIL::Cell::unsetParam(RTLIL::IdString paramname)
{
parameters.erase(paramname);
}
void RTLIL::Cell::setParam(const RTLIL::IdString& paramname, RTLIL::Const value)
void RTLIL::Cell::setParam(RTLIL::IdString paramname, RTLIL::Const value)
{
parameters[paramname] = std::move(value);
}
const RTLIL::Const &RTLIL::Cell::getParam(const RTLIL::IdString& paramname) const
const RTLIL::Const &RTLIL::Cell::getParam(RTLIL::IdString paramname) const
{
const auto &it = parameters.find(paramname);
if (it != parameters.end())