Closed kost closed 4 years ago
It looks like this needs the GHDL plugin. Can you provide the testcase as a Verilog or ILANG file please?
I'm not sure I can, but maybe @daveshah1 can help since it's his baby.
Please see ILANG attached, run yosys -p "synth_ecp5 -top top -abc9" snes.il
So it looks like there are some combinatorial loops inside this design:
2.10. Executing CHECK pass (checking for obvious problems).
checking module top..
Warning: found logic loop in module top:
cell main.SNES.cpu.p65c816.22025 ($pmux)
wire \main.SNES.cpu.p65c816.mcode.state [0]
Warning: found logic loop in module top:
cell main.SNES.cpu.p65c816.22025 ($pmux)
wire \main.SNES.cpu.p65c816.mcode.state [1]
Warning: found logic loop in module top:
cell main.SNES.cpu.p65c816.22025 ($pmux)
wire \main.SNES.cpu.p65c816.mcode.state [2]
Warning: found logic loop in module top:
cell main.SNES.cpu.p65c816.22025 ($pmux)
wire \main.SNES.cpu.p65c816.mcode.state [3]
Warning: found logic loop in module top:
cell main.SNES.cpu.p65c816.22995 ($pmux)
wire \main.SNES.cpu.p65_a [0]
Warning: found logic loop in module top:
cell main.SNES.cpu.p65c816.22995 ($pmux)
wire \main.SNES.cpu.p65_a [1]
<<SNIP>>
Nonetheless abc9
should be handling it more gracefully; should be fixed in #2082.
These combinational loops didn't exist before, they might be related to the fairly new $pmux support in ghdl - or they might be a false path.
Steps to reproduce the issue
Standard build of SNES_MiSTer_ulx3s
outputs:
Yosys version (latest git):
Expected behavior
Expected behavior is to build without errors. it builds correctly without -abc9
Actual behavior