mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-18 01:02:19 +00:00
Mark kept FF output wires as ports directly instead of via the 'keep' attribute
This commit is contained in:
parent
ccb23ffc1a
commit
4de3ee093e
1 changed files with 9 additions and 6 deletions
|
@ -291,12 +291,15 @@ void AbcModuleState::extract_cell(RTLIL::Module *module, RTLIL::Cell *cell, bool
|
|||
return;
|
||||
}
|
||||
|
||||
if (keepff)
|
||||
for (auto &c : ff.sig_q.chunks())
|
||||
if (c.wire != nullptr)
|
||||
c.wire->attributes[ID::keep] = 1;
|
||||
|
||||
map_signal(ff.sig_q, type, map_signal(ff.sig_d));
|
||||
int gate_id = map_signal(ff.sig_q, type, map_signal(ff.sig_d));
|
||||
if (keepff) {
|
||||
SigBit bit = ff.sig_q;
|
||||
if (assign_map(bit).wire != nullptr) {
|
||||
signal_list[gate_id].is_port = true;
|
||||
}
|
||||
if (bit.wire != nullptr)
|
||||
bit.wire->attributes[ID::keep] = 1;
|
||||
}
|
||||
|
||||
ff.remove();
|
||||
return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue