Some synthesis/placement/routing tools (cough openroad cough) get confused when they see two nets whose names differ only in case - for example 'din' and 'DIN' - this can result in LVS errors that are particularly hard to track down.
System flows like librelane use verilator lint for sanity checking at the beginning of their flows that end with openroad.
Variable names that differ by case are separate variables in verilog and not an error.
I'd like to suggest that verilator lint detect these cases and by default issue a warning (something like "other tools may be confused by this"), but allow a command line option that can convert it to an error so that something like librelane can enable it as an error because they know it's a potential minefield elsewhere
thanks - Paul
Some synthesis/placement/routing tools (cough openroad cough) get confused when they see two nets whose names differ only in case - for example 'din' and 'DIN' - this can result in LVS errors that are particularly hard to track down.
System flows like librelane use verilator lint for sanity checking at the beginning of their flows that end with openroad.
Variable names that differ by case are separate variables in verilog and not an error.
I'd like to suggest that verilator lint detect these cases and by default issue a warning (something like "other tools may be confused by this"), but allow a command line option that can convert it to an error so that something like librelane can enable it as an error because they know it's a potential minefield elsewhere
thanks - Paul