mirror of
https://github.com/YosysHQ/yosys
synced 2026-06-12 03:45:42 +00:00
Support positional assignment patterns for unpacked arrays
This commit is contained in:
parent
2dc69a7578
commit
390f09b89a
7 changed files with 286 additions and 32 deletions
|
|
@ -1212,6 +1212,15 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun
|
|||
sign_hint = false;
|
||||
break;
|
||||
|
||||
case AST_ASSIGN_PATTERN:
|
||||
for (auto& child : children) {
|
||||
sub_width_hint = 0;
|
||||
sub_sign_hint = true;
|
||||
child->detectSignWidthWorker(sub_width_hint, sub_sign_hint);
|
||||
}
|
||||
sign_hint = false;
|
||||
break;
|
||||
|
||||
case AST_NEG:
|
||||
case AST_BIT_NOT:
|
||||
case AST_POS:
|
||||
|
|
@ -1824,6 +1833,9 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint, bool sign_hint)
|
|||
return sig;
|
||||
}
|
||||
|
||||
case AST_ASSIGN_PATTERN:
|
||||
input_error("Assignment pattern is only supported for whole unpacked array assignments.\n");
|
||||
|
||||
// generate cells for unary operations: $not, $pos, $neg
|
||||
if (0) { case AST_BIT_NOT: type_name = ID($not); }
|
||||
if (0) { case AST_POS: type_name = ID($pos); }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue