mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-24 01:25:33 +00:00
enforce that hdlname/scopename is used consistently with public/private names
This commit is contained in:
parent
502c39b875
commit
5c41d8bd88
4 changed files with 31 additions and 3 deletions
|
@ -377,6 +377,10 @@ static void extract_fsm(RTLIL::Wire *wire)
|
|||
fsm_cell->setPort(ID::CTRL_OUT, ctrl_out);
|
||||
fsm_cell->parameters[ID::NAME] = RTLIL::Const(wire->name.str());
|
||||
fsm_cell->attributes = wire->attributes;
|
||||
if(fsm_cell->attributes.count(ID::hdlname)) {
|
||||
fsm_cell->attributes[ID(scopename)] = fsm_cell->attributes[ID::hdlname];
|
||||
fsm_cell->attributes.erase(ID::hdlname);
|
||||
}
|
||||
fsm_data.copy_to_cell(fsm_cell);
|
||||
|
||||
// rename original state wire
|
||||
|
@ -384,6 +388,10 @@ static void extract_fsm(RTLIL::Wire *wire)
|
|||
module->wires_.erase(wire->name);
|
||||
wire->attributes.erase(ID::fsm_encoding);
|
||||
wire->name = stringf("$fsm$oldstate%s", wire->name.c_str());
|
||||
if(wire->attributes.count(ID::hdlname)) {
|
||||
wire->attributes[ID(scopename)] = wire->attributes[ID::hdlname];
|
||||
wire->attributes.erase(ID::hdlname);
|
||||
}
|
||||
module->wires_[wire->name] = wire;
|
||||
|
||||
// unconnect control outputs from old drivers
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue