Check for non unique nusers/fanouts

This commit is contained in:
Eddie Hung 2019-08-23 14:32:36 -07:00
parent 1d88887cfd
commit c2757613b6
1 changed files with 2 additions and 2 deletions

View File

@ -170,7 +170,7 @@ match first
select first->type.in($_DFF_N_, $_DFF_P_, $_DFFE_NN_, $_DFFE_NP_, $_DFFE_PN_, $_DFFE_PP_, $dff, $dffe)
select !first->has_keep_attr()
slice idx GetSize(port(first, \Q))
select nusers(port(first, \Q)[idx]) == 2
select nusers(port(first, \Q)[idx], false /* unique */) == 2
index <SigBit> port(first, \Q)[idx] === port(shiftx, \A)[shiftx_width-1]
set slice idx
endmatch
@ -197,7 +197,7 @@ match next
select !next->has_keep_attr()
select !port(next, \D)[0].wire->get_bool_attribute(\keep)
slice idx GetSize(port(next, \Q))
select nusers(port(next, \Q)[idx]) <= 3
select nusers(port(next, \Q)[idx], false /* unique */) == 3
index <IdString> next->type === chain.back().first->type
index <SigBit> port(next, \Q)[idx] === port(chain.back().first, \D)[chain.back().second]
index <SigBit> port(next, \Q)[idx] === port(shiftx, \A)[shiftx_width-1-GetSize(chain)]