Fix warning and little E full vector up/down selects

This commit is contained in:
Cary R 2021-01-30 00:34:10 -08:00
parent 31a68fcd8a
commit 0c12344b27
1 changed files with 4 additions and 3 deletions

View File

@ -5809,6 +5809,7 @@ NetExpr* PEIdent::elaborate_expr_net_idx_up_(Design*des, NetScope*scope,
}
long rel_base = net->sig()->sb_to_idx(prefix_indices, lsv);
rel_base += offset;
// If the part select covers exactly the entire
// vector, then do not bother with it. Return the
@ -5821,7 +5822,7 @@ NetExpr* PEIdent::elaborate_expr_net_idx_up_(Design*des, NetScope*scope,
// Otherwise, make a part select that covers the right
// range.
ex = new NetEConst(verinum(rel_base + offset));
ex = new NetEConst(verinum(rel_base));
if (warn_ob_select) {
if (rel_base < 0) {
cerr << get_fileline() << ": warning: "
@ -5912,6 +5913,7 @@ NetExpr* PEIdent::elaborate_expr_net_idx_do_(Design*des, NetScope*scope,
}
long rel_base = net->sig()->sb_to_idx(prefix_indices, lsv);
rel_base += offset;
// If the part select covers exactly the entire
// vector, then do not bother with it. Return the
@ -5924,7 +5926,6 @@ NetExpr* PEIdent::elaborate_expr_net_idx_do_(Design*des, NetScope*scope,
// Otherwise, make a part select that covers the right
// range.
rel_base += offset;
ex = new NetEConst(verinum(rel_base));
if (warn_ob_select) {
if (rel_base < 0) {