mirror of https://github.com/YosysHQ/yosys.git
rmports now works on all modules in the design, not just the top.
This commit is contained in:
parent
d5e5bbad86
commit
bd2ac68769
|
@ -27,7 +27,7 @@ USING_YOSYS_NAMESPACE
|
||||||
PRIVATE_NAMESPACE_BEGIN
|
PRIVATE_NAMESPACE_BEGIN
|
||||||
|
|
||||||
struct RmportsPassPass : public Pass {
|
struct RmportsPassPass : public Pass {
|
||||||
RmportsPassPass() : Pass("rmports", "remove top-level ports with no connections") { }
|
RmportsPassPass() : Pass("rmports", "remove module ports with no connections") { }
|
||||||
virtual void help()
|
virtual void help()
|
||||||
{
|
{
|
||||||
// |---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|
|
// |---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|
|
||||||
|
@ -42,7 +42,10 @@ struct RmportsPassPass : public Pass {
|
||||||
virtual void execute(std::vector<std::string> /*args*/, RTLIL::Design *design)
|
virtual void execute(std::vector<std::string> /*args*/, RTLIL::Design *design)
|
||||||
{
|
{
|
||||||
log_header(design, "Executing RMPORTS pass (remove top level ports with no connections).\n");
|
log_header(design, "Executing RMPORTS pass (remove top level ports with no connections).\n");
|
||||||
ProcessModule(design->top_module());
|
|
||||||
|
auto modules = design->selected_modules();
|
||||||
|
for(auto mod : modules)
|
||||||
|
ProcessModule(mod);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void ProcessModule(RTLIL::Module* module)
|
virtual void ProcessModule(RTLIL::Module* module)
|
||||||
|
@ -114,7 +117,7 @@ struct RmportsPassPass : public Pass {
|
||||||
//Print the ports out as we go through them
|
//Print the ports out as we go through them
|
||||||
for(auto port : unused_ports)
|
for(auto port : unused_ports)
|
||||||
{
|
{
|
||||||
log(" removing unused top-level port %s\n", port.c_str());
|
log(" removing unused port %s\n", port.c_str());
|
||||||
|
|
||||||
//Remove from ports list
|
//Remove from ports list
|
||||||
for(size_t i=0; i<module->ports.size(); i++)
|
for(size_t i=0; i<module->ports.size(); i++)
|
||||||
|
@ -132,7 +135,7 @@ struct RmportsPassPass : public Pass {
|
||||||
wire->port_output = false;
|
wire->port_output = false;
|
||||||
wire->port_id = 0;
|
wire->port_id = 0;
|
||||||
}
|
}
|
||||||
log("Removed %zu unused top-level ports.\n", unused_ports.size());
|
log("Removed %zu unused ports.\n", unused_ports.size());
|
||||||
|
|
||||||
//Re-number all of the wires that DO have ports still on them
|
//Re-number all of the wires that DO have ports still on them
|
||||||
for(size_t i=0; i<module->ports.size(); i++)
|
for(size_t i=0; i<module->ports.size(); i++)
|
||||||
|
|
Loading…
Reference in New Issue