EmbDev.net

Forum: FPGA, VHDL & Verilog Verilog Case : don't care


von Jag (Guest)


Rate this post
useful
not useful
Hi!
simple question
can I use this kind of syntax into verilog :
1
 case(Fetched[24:4])
2
                21'bzzzzzzzzzzzzzzzzzzzz0 :nextstate <= ADD;
3
                21'bzzzzzzzzzzzzzzzzz0zz1 :nextstate <= ADD;
4
                21'b000zzzzzzzzzzzzzz1001 :nextstate <= MUL; //mult
5
                21'b01zzzzzzzzzzzzzzz1001 :nextstate <= MUL;
6
                21'b10z00zzzzzzzz00001001 :nextstate <= MUL;
7
                21'b10z00zzzzzzzz00001001 :nextstate <= SDS;
8
                21'b100101111111111110001 :nextstate <= BAE;
9
                  default: nextstate <= UNKNOW; //should not happens
10
              endcase

I have no error while simulating but have strange result
(I'm student working on sim vision)

thanks all :)

von Jag (Guest)


Rate this post
useful
not useful

von Lattice User (Guest)


Rate this post
useful
not useful
Two mistakes:

1. 'z' is not don't care.  Use 'x'
2. Use "casex" instead of "case"

von Jag (Guest)


Rate this post
useful
not useful
thanx
I'll do that, but why casez is not ok here ?

von Lattice User (Guest)


Rate this post
useful
not useful
'z' ist not don't care, it stands for high impedance, a clearly defined 
state, at least for the simulator.

von Marcus H. (mharnisch)


Rate this post
useful
not useful
Lattice User wrote:
> 'z' ist not don't care, it stands for high impedance, a clearly defined
> state, at least for the simulator.

It is actually casez that is preferable here. Specifically for this 
reason Verilog defines '?' as synonym for 'z'. With casex you wouldn't 
be able to distinguish unknowns and dont-cares since both use the same 
symbol.

Kind regards
Marcus

von Lattice User (Guest)


Rate this post
useful
not useful
Marcus Harnisch wrote:
> It is actually casez that is preferable here. Specifically for this
> reason Verilog defines '?' as synonym for 'z'. With casex you wouldn't
> be able to distinguish unknowns and dont-cares since both use the same
> symbol.

You are right, see IEEE Std 1364-2001 Chapter 9.5.1
To make the intent more vissible i suggest using casez with '?'.

(Sometimes i have to ask what standard writer are smoking)

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
No account? Register here.