The priority and unique keywords before a SystemVerilog case statement do not change the execution behavior of the case statement. However, they do provide violation errors if the statement is coded in such a way that no branch is taken. This helps ensure what gets simulated matches the functionality of what is synthesized.
The priority and unique keywords before a SystemVerilog case statement do not change the execution behavior of the case statement. However, they do provide violation errors if the statement is coded in such a way that no branch is taken. This helps ensure what gets simulated matches the functionality of what is synthesized.
Does it mean we should use both priority and full_case pragma together for a case statement where the case statement is incomplete I.e. a few branches are not taken?
According to this paper priority behaves like a full_case. That means priority makes a case statement whose all case items are not defined to behave like a full case. Is not it?
According to this paper priority behaves like a full_case. That means priority makes a case statement whose all case items are not defined to behave like a full case. Is not it?
The paper is misleading to say that priority modifies the behavior of the case statement for simulation. What it does is add an assertion so that if your intention was to interpret it as full_case, but you missed a case item, you would get an error and nothing gets executed. Synthesis treats a missing case item in a full_case as a don't care, and you get whatever logic it most optimal to implement.
If adding an assertion is considered "modified" behavior of the priority case, then you could consider both simulation and synthesis behaviors are modified. Priority adds an assertion for simulation, and adds full_case for synthesis.
Priority adds an assertion for simulation, and adds full_case for synthesis. Here Priority adds full_case for synthesis means that synthesis treats a missing case item in a full_case as a don't care, and in the synthesis log file also we see that there were missing case items for that particular case statement.
Please confirm about the correctness of the final answer.