3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-11 03:33:36 +00:00
This commit is contained in:
KrystalDelusion 2025-04-04 04:08:16 +13:00 committed by GitHub
commit 1e898ea2b7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 1 deletions

View file

@ -1758,7 +1758,7 @@ bool AstNode::simplify(bool const_fold, int stage, int width_hint, bool sign_hin
break;
if (type == AST_GENBLOCK)
break;
if (type == AST_CELLARRAY && children[i]->type == AST_CELL)
if (type == AST_CELLARRAY && (children[i]->type == AST_CELL || children[i]->type == AST_PRIMITIVE))
continue;
if (type == AST_BLOCK && !str.empty())
break;
@ -2741,6 +2741,7 @@ bool AstNode::simplify(bool const_fold, int stage, int width_hint, bool sign_hin
if (new_cell->type == AST_PRIMITIVE) {
input_error("Cell arrays of primitives are currently not supported.\n");
} else {
this->dumpAst(NULL, " ");
log_assert(new_cell->children.at(0)->type == AST_CELLTYPE);
new_cell->children.at(0)->str = stringf("$array:%d:%d:%s", i, num, new_cell->children.at(0)->str.c_str());
}

9
tests/verilog/bug4785.ys Normal file
View file

@ -0,0 +1,9 @@
logger -expect error "Cell arrays of primitives are currently not supported" 1
read_verilog <<EOT
module test(in1, in2, out1);
input in1, in2;
output out1;
nand #2 t_nand[0:7](out1, in1, in2);
endmodule
EOT