A Simulation Problem

S

smilebamboo

I am using XILINX ISE 6.1 and Modelsim_xe for simulation. when I run the
simulation I get follwoing warning.

Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the
result will be 'X'(es).
Now when I see the WAVE window I get 'Z' in every signal. How do I find
out what is creating the problem.

Thanks for any help.

smilebamboo
 
S

smilebamboo

I am using XILINX ISE 6.1 and Modelsim_xe for simulation. when I run the
simulation I get follwoing warning.

Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the
result will be 'X'(es).

Now when I see the WAVE window I get 'Z' in every output signal. How do I
find out what is creating the problem.

Thanks for any help.




smilebamboo
 
A

Anders Hellerup Madsen

smilebamboo said:
I am using XILINX ISE 6.1 and Modelsim_xe for simulation. when I run the
simulation I get follwoing warning.

Generally, you only need to post one request, not several with the same
question.
Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the
result will be 'X'(es).

This means that one of your are uninitialised when used in an arithmetic
operation. This can be virtually anything, anywhere you use operators
such as +, -, =, >, etc. Type conversions will also trigger this error.

The usual way to remove this error is to make sure all your signals have
well defined values at startup. Go through your list of waves and for
each uninitialised signal, make sure that it is reset properbly.
Now when I see the WAVE window I get 'Z' in every signal. How do I find
out what is creating the problem.

This is sortof strange. I don't belive I have ever seen Z's appear
because of errors - usually it's either 'U' or 'X' (uninitialised or
undefined/conflicting values). Z usually means a tristate buffer in the
high impedance state, and it should only occur when you explicitly drive
your tristate buffer to 'Z'.
Thanks for any help.

It's not much, but I hope I can be of some assitance.

-- Anders
 
J

Just an Illusion

Hi smilebamboo,

Be carefull with triple post ;-)

Ok, you need find any add or multiplication in your design, and trace
the input signals.

Now, if your output is 'Z' it is certainly because you use tri-state
buffers. Try to look the input of your tri-state buffers and you can
find the 'bad' signal(s).

Perhaps the problem is not so great, because if your tri-state buffer
input are valid before you transmit the value (oe become valid), you
never encounter conflict.

JaI
 
I

ivailokroumov

Hi smilebambo, This error produce when you have incorrect initialize your
variables or constants before useing them. This may be, same because you
use tri-state buffer or use incorrect assignment.

Best Regards
Ivaylo Krumov
 
S

smilebamboo

Thank you again!
And now I have get what is the wrong I with!
Happy to everybody!
 
S

smilebamboo

Thank you again!
And now I have get what is the wrong I with!
Happy to everybody!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,566
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top