Description
With tag 2024.09.12-1 (which incidentally, at the time of writing, is the same commit as the more-recent 2024.09.13-1), you will get this error if you try to run full-chip STA (i.e. the final make caravel-sta
step):
Error: /home/.../caravel_user_project/caravel/verilog/gl/housekeeping_alt.v line 142360, syntax error, unexpected '[', expecting '('
This occurs since commit efabless/caravel-lite@25a2260 where individual decap_12 cell instances were removed, and Verilog "arrayed instances" were used instead, and thus this sort of pattern was replaced:
...
sky130_ef_sc_hd__decap_12 FILLER_100_159 (.VGND(VGND),
.VNB(VGND),
.VPB(VPWR),
.VPWR(VPWR));
sky130_ef_sc_hd__decap_12 FILLER_100_171 (.VGND(VGND),
.VNB(VGND),
.VPB(VPWR),
.VPWR(VPWR));
sky130_ef_sc_hd__decap_12 FILLER_100_183 (.VGND(VGND),
.VNB(VGND),
.VPB(VPWR),
.VPWR(VPWR));
...
...and this sort of pattern is what took its place:
sky130_ef_sc_hd__decap_12 decap_12[2308:0] (.VGND(VGND),
.VNB(VGND),
.VPB(VPWR),
.VPWR(VPWR));
Note the [2308:0]
. While this is valid Verilog, the tools (which?) don't support it in this format.
There are a few caravel & caravel-lite files that are affected by this.
I was able to work around this (for the time being) by just using an older tag when doing make setup
for my caravel_user_project, i.e.:
MPW_TAG=mpw-9k make setup