errors · bitdewfpga bit, nextpnr

design.sv:3: ERROR [power-operator]: ** with a base that is a signal (sw ** 2): yosys builds ** only for a constant base and exponent, or 2 ** n, and leaves this one as a $pow cell nextpnr has nothing to place on. Not a size problem. Fix: write the multiplication out (sw * sw), a table (case), or 1 << n for a power of two.

ERROR: Unable to place cell '$pow$design.sv:3$1', no Bels remaining of type '$pow'
design.sv:3: ERROR [power-operator]: ** with a base that is a signal (sw ** 2): yosys builds ** only for a constant base and exponent, or 2 ** n, and leaves this one as a $pow cell nextpnr has nothing to place on. Not a size problem. Fix: write the multiplication out (sw * sw), a table (case), or 1 << n for a power of two. https://nosey-dewdrop.github.io/dewfpga/errors/power-operator/

Why does it happen?

There is no general power circuit; Vivado builds x ** 2 as a multiplier, yosys leaves the $pow cell unmapped.

What is the fix?

assign led = sw * sw;

Which command prints it?

Which probes in test/sv print this code?

Every probe, with what Vivado does and what each stage does here: the probes, stage by stage.