3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-11-25 06:59:33 +00:00

simplify.cc: Fix unsized const in params

This commit is contained in:
Krystine Sherwin 2025-11-07 15:52:24 +13:00
parent 5d0847f6fb
commit a5cc905184
No known key found for this signature in database
2 changed files with 16 additions and 3 deletions

View file

@ -2231,9 +2231,13 @@ bool AstNode::simplify(bool const_fold, int stage, int width_hint, bool sign_hin
}
if (children[0]->type == AST_CONSTANT) {
if (width != int(children[0]->bits.size())) {
RTLIL::SigSpec sig(children[0]->bits);
sig.extend_u0(width, children[0]->is_signed);
children[0] = mkconst_bits(location, sig.as_const().to_bits(), is_signed);
RTLIL::Const val;
if (children[0]->is_unsized) {
val = children[0]->bitsAsUnsizedConst(width);
} else {
val = children[0]->bitsAsConst(width);
}
children[0] = mkconst_bits(location, val.to_bits(), is_signed);
fixup_hierarchy_flags();
}
children[0]->is_signed = is_signed;