skibo / Pet2001_Arty

A Commodore PET in an Artix-7 FPGA.
http://www.skibo.net/projects/pet2001_arty
14 stars 6 forks source link

Multiple entries in case expressions #2

Open jotego opened 2 years ago

jotego commented 2 years ago

There is more than one valid entry in many of your case expressions. Both the Intel Quartus software and the open tool Verilator (use it as --lint-only to flag the errors) will show the problem.

I tested this module replacing a different one and the system doesn't behave correctly. I suppose the case expressions are at least part for the problem.

https://github.com/skibo/Pet2001_Arty/blob/87bc6925b880fc008316d5dced9639f5f59de6f7/Pet2001_Arty.srcs/source_1/cpu6502/cpu6502.v#L461

skibo commented 2 years ago

I can clean up some of the other warnings but in the case of lines 461 and 659, they are not intended to be parallel case statements.

jotego commented 2 years ago

Thank you for considering it. About 461, I think those lines prevent the core from getting synthesized correctly. Avoiding the overlapping is often a case of being a bit more explicit. You probably don't need to change the design, just change some ? for actual values.