BSC does not play nicely with enums whose labels do not start at 0 and increase linearly. Instead, in such cases, it generates a whole bunch of conditions to "legalise" any read values, which causes an explosion of logic in places like the ROB. Thus, use this ugly (but still typed) alternative that, other than naming conventions enforced by BSC, looks almost the same as an enum.
18 lines
332 B
Plaintext
18 lines
332 B
Plaintext
`SCR(PCC, 5'd00)
|
|
`SCR(DDC, 5'd01)
|
|
|
|
//`SCR(UTCC, 5'd0)
|
|
//`SCR(UTDC, 5'd05)
|
|
//`SCR(UScratchC, 5'd06)
|
|
//`SCR(UEPCC, 5'd07)
|
|
|
|
`SCR(STCC, 5'd12)
|
|
`SCR(STDC, 5'd13)
|
|
`SCR(SScratchC, 5'd14)
|
|
`SCR(SEPCC, 5'd15)
|
|
|
|
`SCR(MTCC, 5'd28)
|
|
`SCR(MTDC, 5'd29)
|
|
`SCR(MScratchC, 5'd30)
|
|
`SCR(MEPCC, 5'd31)
|