diff options
| author | Marcin KoĆcielnicki <koriakin@0x04.net> | 2019-08-13 19:36:59 +0000 | 
|---|---|---|
| committer | Marcin KoĆcielnicki <koriakin@0x04.net> | 2019-08-13 19:36:59 +0000 | 
| commit | 3c75a72feb1cf83fa8fc138aa69155446b6b74f0 (patch) | |
| tree | 91be55ce3dd95199c303ef5de87df28d4d3c0e60 /passes/techmap | |
| parent | 49765ec19ea63bff5f04e28e5729d5852a2f8287 (diff) | |
| download | yosys-3c75a72feb1cf83fa8fc138aa69155446b6b74f0.tar.gz yosys-3c75a72feb1cf83fa8fc138aa69155446b6b74f0.tar.bz2 yosys-3c75a72feb1cf83fa8fc138aa69155446b6b74f0.zip  | |
move attributes to wires
Diffstat (limited to 'passes/techmap')
| -rw-r--r-- | passes/techmap/clkbufmap.cc | 24 | ||||
| -rw-r--r-- | passes/techmap/iopadmap.cc | 13 | 
2 files changed, 9 insertions, 28 deletions
diff --git a/passes/techmap/clkbufmap.cc b/passes/techmap/clkbufmap.cc index a2d10c48b..6fac1b437 100644 --- a/passes/techmap/clkbufmap.cc +++ b/passes/techmap/clkbufmap.cc @@ -112,27 +112,13 @@ struct ClkbufmapPass : public Pass {  		for (auto module : modules_sorted)  		{  			if (module->get_blackbox_attribute()) { -				auto it = module->attributes.find("\\clkbuf_driver"); -				if (it != module->attributes.end()) { -					auto value = it->second.decode_string(); -					for (auto name : split_tokens(value, ",")) { -						auto wire = module->wire(RTLIL::escape_id(name)); -						if (!wire) -							log_error("Module %s does not have port %s.\n", log_id(module), log_id(name)); +				for (auto wire : module->wires()) { +					if (wire->get_bool_attribute("\\clkbuf_driver"))  						for (int i = 0; i < GetSize(wire); i++) -							buf_ports.insert(make_pair(module->name, make_pair(RTLIL::escape_id(name), i))); -					} -				} -				it = module->attributes.find("\\clkbuf_sink"); -				if (it != module->attributes.end()) { -					auto value = it->second.decode_string(); -					for (auto name : split_tokens(value, ",")) { -						auto wire = module->wire(RTLIL::escape_id(name)); -						if (!wire) -							log_error("Module %s does not have port %s.\n", log_id(module), log_id(name)); +							buf_ports.insert(make_pair(module->name, make_pair(wire->name, i))); +					if (wire->get_bool_attribute("\\clkbuf_sink"))  						for (int i = 0; i < GetSize(wire); i++) -							sink_ports.insert(make_pair(module->name, make_pair(RTLIL::escape_id(name), i))); -					} +							sink_ports.insert(make_pair(module->name, make_pair(wire->name, i)));  				}  				continue;  			} diff --git a/passes/techmap/iopadmap.cc b/passes/techmap/iopadmap.cc index 0fcb6b2ec..5fe965600 100644 --- a/passes/techmap/iopadmap.cc +++ b/passes/techmap/iopadmap.cc @@ -173,15 +173,10 @@ struct IopadmapPass : public Pass {  			ignore.insert(make_pair(RTLIL::escape_id(tinoutpad_celltype), RTLIL::escape_id(tinoutpad_portname4)));  		for (auto module : design->modules()) -		{ -			auto it = module->attributes.find("\\iopad_external_pin"); -			if (it != module->attributes.end()) { -				auto value = it->second.decode_string(); -				for (auto name : split_tokens(value, ",")) { -					ignore.insert(make_pair(module->name, RTLIL::escape_id(name))); -				} -			} -		} +			if (module->get_blackbox_attribute()) +				for (auto wire : module->wires()) +					if (wire->get_bool_attribute("\\iopad_external_pin")) +						ignore.insert(make_pair(module->name, wire->name));  		for (auto module : design->selected_modules())  		{  | 
