Yeah, it produces a timing report with the propagation delay of various nets, but also I have given it a global timing budget of 32MHz (31nS) which it is easily meeting. The slowest net in the design is about 8nS. So it should be able to route it with no trouble. I'm only using 30% of the chip so there's also plenty of room to manoeuver.mfro wrote: 11 Mar 2024 13:41 Might indeed be a bug, but not necessarily so. It might as well be just a timing issue.
At least you're adding a mux into a (probably already timing critical) combinational circuit that might cause that bit of delay that makes the signal missing the next register (probably an I/O cell?) in time (Lattice chips aren't especially known for outstanding performance).
Does that toolchain come with a timing analyzer?
It's possible that it's trying to tell me something that I don't understand among its 10K lines of output - it's a weirdness of this software that it spams the terminal, but does not stop for errors, even critical verilog syntax errors, which is slightly concerning. That's why I also use Icarus to simulate the design because it actually tells you if there's a mistake :)