I’ve been using for years $bits with streaming operators:
scfifo #(
.lpm_width ( $bits({>>{array_rd, array_wr}}) )
) inst (
);
Quartus 24.2 decided it wasn’t acceptable anymore and aborts the synthesis with an error:
Error(24461): Verilog HDL error at file.sv(281): stream operands require explicit typecast to be used as argument of system task/function
Why?
Casting this result would defeat the whole purpose of using $bits()
…