cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
25,442 Views
Registered: ‎01-17-2011

modelsim simulation warning

Jump to solution

# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 1 Instance: /tb_rx/uut
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 1 Instance: /tb_rx/uut
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 1 Instance: /tb_rx/uut

model sim simulation warning

can any1 help me with this?

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Teacher
Teacher
31,629 Views
Registered: ‎08-14-2007

Hi,

since these warnings appear at time 0, they probably happen because not all signals have been assigned a useful default value ('0' or '1'). Without that these signals carry 'U', such causing the warning.

Make sure that you assign default values to all signal declarations in your testbench (not in the models!).

 

If you have tristate signals that start with a 'Z' at the beginning of your simulation, you probably have to live with the warnings.

Having 'X'es in simulation sometimes is unavoidable. But you need to make sure that they don't enter registers and start to loop in feedback paths. That would ultimately corrupt your simulation.

 

In some situations it may be useful to force the 'X'es back to '0's or '1'es with a function or assignment:

e.g.:   mysig_out <= '1' when mysig_in = '1' else '0';

The else brach covers all unwanted inputs and ties the output to '0'.

But be carefully with that, because you are manipulating simulation results.

This may hide true errors and show good results for a faulty circuit. So use with care!

 

Have a nice simulation

  Eilert

 

 

 

View solution in original post

3 Replies
Highlighted
Mentor
Mentor
25,429 Views
Registered: ‎11-29-2007

That means that during simulation, one of the operands in an arithmetic operation contained a U, X, W, Z, or - instead of all 1s or 0s..

 

 

Adrian



Please google your question before asking it.
If someone answers your question, mark the post with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left).
Highlighted
Teacher
Teacher
31,630 Views
Registered: ‎08-14-2007

Hi,

since these warnings appear at time 0, they probably happen because not all signals have been assigned a useful default value ('0' or '1'). Without that these signals carry 'U', such causing the warning.

Make sure that you assign default values to all signal declarations in your testbench (not in the models!).

 

If you have tristate signals that start with a 'Z' at the beginning of your simulation, you probably have to live with the warnings.

Having 'X'es in simulation sometimes is unavoidable. But you need to make sure that they don't enter registers and start to loop in feedback paths. That would ultimately corrupt your simulation.

 

In some situations it may be useful to force the 'X'es back to '0's or '1'es with a function or assignment:

e.g.:   mysig_out <= '1' when mysig_in = '1' else '0';

The else brach covers all unwanted inputs and ties the output to '0'.

But be carefully with that, because you are manipulating simulation results.

This may hide true errors and show good results for a faulty circuit. So use with care!

 

Have a nice simulation

  Eilert

 

 

 

View solution in original post

Highlighted
Visitor
Visitor
25,381 Views
Registered: ‎01-17-2011
HI..this reply is correct..just got the same answer 4m my professor today
thnks............
:)
0 Kudos