will non_full_case infer priority decode circuit?

Status
Not open for further replies.

onion2014

Member level 1
Joined
Mar 25, 2013
Messages
35
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
NY
Activity points
1,574
always @ (a or b or c or select2)
begin
r = c;
case (select2)
2'b00: r = a;
2'b01: r = b;
endcase
end

in an article, it says this will infer a priority, but I don't think so. can anyone correct me if i am wrong.
this is just a non-full_case case statement, why it will infer priority. priority should comes from the non-parallel case items. :???::???:
 

R takes the value of c for 10 and 11. Hence the priority
 

R takes the value of c for 10 and 11. Hence the priority

would you plz summarize the situations when case state will refer to priority encoder? I think I mess something up here.

it seems that without synopsis parallel_case directive, case and casez will always refer to priority encoder no matter whether the case items are parallel or not. but if we use parallel_case directive(no matter the case items are parallel or not), then only in this case, it will refer to parallel encoder.

So, when a case statement has mutually exclusive case items and it use parallel_case directive, it will generate a parallel encoder, but this parallel encoder will performance just like the priority encoder in the pre-synthesis simulation. There is no mismatch.
If a case statement has some "overlapping" case items and parallel_case directive is still used, then this is a mismatch between pre- and post-synthesis.
 
Last edited:

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…