Some variable names cannot be allowed. For example, output is an invalid name, because it's a reserved keyword in verilog.
Other names are allowed but need to be munged. For example, we currently use names like foo_0 or foo_neg1 or foo_next. This is fine, unless somebody writes this code:
Some variable names cannot be allowed. For example,
output
is an invalid name, because it's a reserved keyword in verilog.Other names are allowed but need to be munged. For example, we currently use names like
foo_0
orfoo_neg1
orfoo_next
. This is fine, unless somebody writes this code:which will generate:
Note the multiple use of
counter_next
. This can be avoided by doing some smart munging.