FPGA Groups

FPGA Groups (http://www.fpgacentral.com/group/index.php)
-   FPGA (http://www.fpgacentral.com/group/forumdisplay.php?f=14)
-   -   ISIM and CONV_INTEGER warnings (http://www.fpgacentral.com/group/showthread.php?t=90281)

HT-Lab 05-20-2009 11:32 AM

ISIM and CONV_INTEGER warnings
 
Does anybody know how to disable the CONV_INTEGER warnings in ISIM (11.1)?

at 3000290500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been
converted to 0.
at 3000365500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been
converted to 0.

......



Thanks,

Hans

www.ht-lab.com







MikeWhy 05-20-2009 06:29 PM

Re: ISIM and CONV_INTEGER warnings
 
"HT-Lab" <[email protected]> wrote in message
news:[email protected]
> Does anybody know how to disable the CONV_INTEGER warnings in ISIM (11.1)?
>
> at 3000290500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
> There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been
> converted to 0.
> at 3000365500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
> There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been
> converted to 0.


Only just guessing at the context... I would think ISIM's post-route
simulation elaborator is complaining that it's forcing to '0' an
uninitialized integer referenced in a math operation.


HT-Lab 05-20-2009 08:30 PM

Re: ISIM and CONV_INTEGER warnings
 

"MikeWhy" <[email protected]> wrote in message
news:odWQl.17139$%[email protected]
> "HT-Lab" <[email protected]> wrote in message
> news:[email protected]
>> Does anybody know how to disable the CONV_INTEGER warnings in ISIM
>> (11.1)?
>>
>> at 3000290500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
>> There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been
>> converted to 0.
>> at 3000365500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
>> There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been
>> converted to 0.

>
> Only just guessing at the context... I would think ISIM's post-route
> simulation elaborator is complaining that it's forcing to '0' an
> uninitialized integer referenced in a math operation.
>

Hi Mike,

Yes you are correct, these message are normally generated by Synopsys/IEEE
packages and in Modelsim I just turn them off. I know what's causing them
and fixed the issue by changing the code, however, it would be useful to
have an option to turn them off.

Hans,
www.ht-lab.com



MikeWhy 05-20-2009 10:36 PM

Re: ISIM and CONV_INTEGER warnings
 
"HT-Lab" <[email protected]> wrote in message
news:[email protected]
>
> "MikeWhy" <[email protected]> wrote in message
> news:odWQl.17139$%[email protected]
>> "HT-Lab" <[email protected]> wrote in message
>> news:[email protected]
>>> Does anybody know how to disable the CONV_INTEGER warnings in ISIM
>>> (11.1)?
>>>
>>> at 3000290500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
>>> There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has
>>> been converted to 0.
>>> at 3000365500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
>>> There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has
>>> been converted to 0.

>>
>> Only just guessing at the context... I would think ISIM's post-route
>> simulation elaborator is complaining that it's forcing to '0' an
>> uninitialized integer referenced in a math operation.
>>

> Hi Mike,
>
> Yes you are correct, these message are normally generated by Synopsys/IEEE
> packages and in Modelsim I just turn them off. I know what's causing them
> and fixed the issue by changing the code, however, it would be useful to
> have an option to turn them off.


Hmmm. 'U' + 'X' is useful? ;) Selectively ignorable, yes, but habitually
ignoring them silently does sound potentially problematic.



HT-Lab 05-21-2009 09:06 AM

Re: ISIM and CONV_INTEGER warnings
 

"MikeWhy" <[email protected]> wrote in message
news:[email protected]
> "HT-Lab" <[email protected]> wrote in message
> news:[email protected]
>>
>> "MikeWhy" <[email protected]> wrote in message
>> news:odWQl.17139$%[email protected]
>>> "HT-Lab" <[email protected]> wrote in message
>>> news:[email protected]
>>>> Does anybody know how to disable the CONV_INTEGER warnings in ISIM
>>>> (11.1)?
>>>>
>>>> at 3000290500 ps(1), Instance /cpu_top_tb/U_12/ : Warning:
>>>> CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand,
>>>> and it has been converted to 0.
>>>> at 3000365500 ps(1), Instance /cpu_top_tb/U_12/ : Warning:
>>>> CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand,
>>>> and it has been converted to 0.
>>>
>>> Only just guessing at the context... I would think ISIM's post-route
>>> simulation elaborator is complaining that it's forcing to '0' an
>>> uninitialized integer referenced in a math operation.
>>>

>> Hi Mike,
>>
>> Yes you are correct, these message are normally generated by
>> Synopsys/IEEE packages and in Modelsim I just turn them off. I know
>> what's causing them and fixed the issue by changing the code, however, it
>> would be useful to have an option to turn them off.

>
> Hmmm. 'U' + 'X' is useful? ;) Selectively ignorable, yes, but habitually
> ignoring them silently does sound potentially problematic.
>

It is quite easy to get gazillions of these messages in VHDL, for example
before a reset is asserted or a tri-state bus feeding into an adder (as was
in my case). These warnings prevents you from seeing any other messages. It
also seriously hampers your simulation performance since writing to the
transcript window (at least in Modelsim) is a real performance hog.

Hans
www.ht-lab.com




MikeWhy 05-21-2009 11:56 AM

Re: ISIM and CONV_INTEGER warnings
 
"HT-Lab" <[email protected]> wrote in message
news:[email protected]
> It is quite easy to get gazillions of these messages in VHDL, for example
> before a reset is asserted or a tri-state bus feeding into an adder (as
> was in my case). These warnings prevents you from seeing any other
> messages. It also seriously hampers your simulation performance since
> writing to the transcript window (at least in Modelsim) is a real
> performance hog.


I sometimes forget just how little I know, and appreciate your patient
response.



Brian Drummond 05-21-2009 01:09 PM

Re: ISIM and CONV_INTEGER warnings
 
On Wed, 20 May 2009 10:32:06 +0100, "HT-Lab" <[email protected]> wrote:

>Does anybody know how to disable the CONV_INTEGER warnings in ISIM (11.1)?
>
>at 3000290500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
>There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been
>converted to 0.
>at 3000365500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
>There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been
>converted to 0.


I don't see these errors from CONV_INTEGER because I use numeric_std instead,
but it looks like the same situation.

My response is to identify the worst culprits and apply "to_01" functions in
appropriate places. I usually live with the remainder which in my projects are
confined to the first few hundred ns after reset as valid signals propagate
through the pipelines.

This way (a) I don't have to globally suppress the warning, so unexpected
consequences of later changes can be caught as early as possible.
(b) I am aware of where the "problem" is occurring and happy that it is only the
result of expected (and allowed) circumstances as above.

It sounds like a tedious task but you may be surprised by how few "to_01"
functions are required; probably half a dozen on the designs I have experience
of.

- Brian

HT-Lab 05-22-2009 09:36 AM

Re: ISIM and CONV_INTEGER warnings
 

"Brian Drummond" <[email protected]> wrote in message
news:[email protected]
> On Wed, 20 May 2009 10:32:06 +0100, "HT-Lab" <[email protected]> wrote:
>
>>Does anybody know how to disable the CONV_INTEGER warnings in ISIM (11.1)?
>>
>>at 3000290500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
>>There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been
>>converted to 0.
>>at 3000365500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
>>There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been
>>converted to 0.

>
> I don't see these errors from CONV_INTEGER because I use numeric_std
> instead,
> but it looks like the same situation.
>
> My response is to identify the worst culprits and apply "to_01" functions
> in
> appropriate places.


Useful tip,

Thanks,
Hans
www.ht-lab.com



Fredxx 05-22-2009 10:24 AM

Re: ISIM and CONV_INTEGER warnings
 

"HT-Lab" <[email protected]> wrote in message
news:[email protected]
> Does anybody know how to disable the CONV_INTEGER warnings in ISIM (11.1)?
>
> at 3000290500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
> There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been
> converted to 0.
> at 3000365500 ps(1), Instance /cpu_top_tb/U_12/ : Warning: CONV_INTEGER:
> There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been
> converted to 0.
>


In my humble experience, having an undefined 'U'|'X'|'W'|'Z'|'-' in an
arithmetic operand is rarely intentional and I'd hate to turn off checking
for all such cases.

Wouldn't it be better to see why it happens, perhaps initialising some
variables to get rid of any 'U's?




All times are GMT +1. The time now is 10:58 AM.

Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved