I'm clearly failing to understand how enums are supposed to work in SystemVerilog.
I've created a header file with the enum definition. I `include that header file in two files that want to use the common definition. Vivado complains that the values are multiply defined. If I remove the `include from one of the files, then the enum values aren't defined in that file and Vivado complains that they're not defined. The values are either defined twice or not at all.
It's starting to look to me that enums can only be used within a single file but that would be silly and would dramatically lessen their usefulness.
Obviously my background is C where of course you put enum definitions in header files that are included by everyone. How is it supposed to work in SystemVerilog?
Thanks for any help on this.
Dave