errors · bitdewfpga bit, the source scan before yosys
design.sv:2: ERROR [isunknown-in-design]: $isunknown in a design: on the board a signal is never x, so it is 0 there (and dewfpga sim shows 0); yosys folds it to the constant 1 instead, so the bitstream would not do what the simulation showed. Fix: remove it from the design; $isunknown belongs in the testbench.
design.sv:2: ERROR [isunknown-in-design]: $isunknown in a design: on the board a signal is never x, so it is 0 there (and dewfpga sim shows 0); yosys folds it to the constant 1 instead, so the bitstream would not do what the simulation showed. Fix: remove it from the design; $isunknown belongs in the testbench. https://nosey-dewdrop.github.io/dewfpga/errors/isunknown-in-design/
Why does it happen?
x exists only in simulation. Vivado and the simulator make $isunknown 0 on a driven signal; yosys makes it 1, so the two disagree, and the scan refuses it. A $isunknown under `ifndef SYNTHESIS is not reported.
What is the fix?
Move the check to the testbench:
if ($isunknown(led)) $error("led is x");
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.