Replace this if-then statement with a casex statement reg A, B, C, D, E, F, G, H; always@(*) if (A) H = F & G; else if (B) H = F | G; else if (C) H = F ^ G; else H = D & E;
We do not do your homework! Show what you have and ask questions, so we can help.
Please see the attached file. That is what i think , i dont know the correct use of casex statement and the parameters to be given inside casex() please help me out
1 | reg A, B, C, D, E, F, G, H; |
2 | always@(*) |
3 | casex({A,B,C})
|
4 | 3'b1xx:H = F & G; |
5 | 3'b01x:H = F | G; |
6 | 3'b001:H = F ^ G; |
7 | 3'b000:H = D & E; |
think in sets.
The first if only concerns the A, the others don't matter.
the second if is inside the else clause to the first if so A==0 and
B==1. c
does not matter. the third if is in the else clause to the previous
statements, so A==0 B==0 and C==1. the last else selects the only
leftover condition. A==0 B==0 C==0.
A B C
0 0 0 ->what's left for the else
0 0 1 ->third if
0 1 0 \->second if
0 1 1 /
1 0 0 \
1 0 1 |
1 1 0 |->first if
1 1 1 /
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.