WARNING:Xst:795: Size of operands are different : result is <false>. how to solve it?

C

Chao

Hi, all.

I have written one entity which has generic definition like the
following:
(the purpose is that I can dynamically generate different components
which is determined by the CLKOUT_PHASE_SFT parameter.)

entity DCM is
generic
(
CLKOUT_PHASE_SFT : STRING := "LOW";
);

architecture STRUCT of DCM is
begin

Line002 VAR_MODE : if (CLKOUT_PHASE_SFT = "VARIABLE") generate
......

Line008 FIX_MODE : if (CLKOUT_PHASE_SFT = "FIXED") generate
......

end STRUCT;

but when I tried to implement it in ISE6.2 with parameter "FIXED", it
gave the following warning message: WARNING:Xst:795: at Line002, Size
of operands are different : result is <false>. My assumption is that
the string length is different, therefore ISE prints out the message.
Does anyone give me some hint how to solve it? Or is it harmless?

Thanks in advance.

Chao. ([email protected])
 
M

Mike Treseler

but when I tried to implement it in ISE6.2 with parameter "FIXED", it
gave the following warning message: WARNING:Xst:795: at Line002, Size
of operands are different : result is <false>. My assumption is that
the string length is different, therefore ISE prints out the message.

That's right. Consider:

"VAR"
"FIX"
"LOW"

or use integers.
Does anyone give me some hint how to solve it? Or is it harmless?

Not harmless.
Sim won't work and generates won't happen until
all the string lengths match the base entity.

-- Mike Treseler
 
J

Just an Illusion

Hi Chao,

Or use a type.

type FOO is ("VARIABLE", "FIXED", "LONG"...);

it is equivalent to Mike proposal about integers.

JaI
 
C

Chao

thank you, you two guys. :)

Meanwhile I tried with your suggestion and want to give my comment to
that:
1. during the simulation, there was no problem at all.
2. during ISE implementation, it gave out ONLY the "warning": the size
is different. But the process was continuing to the end. (I assumed,
well, no problem in fact)
3. but when I downloaded to the HW, I could not get the multiplied
frequency at all. terrible experience. :-( It costed me several hours
to find out this. I hope this will help others to avoid my mistake.

Chao.
 
M

Mike Treseler

> Hi Chao,

Or use a type.

type FOO is ("VARIABLE", "FIXED", "LONG"...);

it is equivalent to Mike's proposal about integers.

The only difference is that types string and integer
are built-in. Type foo would need a package and USE clause.

-- Mike Treseler
 
Last edited by a moderator:
J

Just an Illusion

Hi Mike,

Mike said:
The only difference is that types string and integer
are built-in. Type foo would need a package and USE clause.
Not necessarily, because type can be defined into the
architecture_declarative_part
That limit is usage to the current architecture, but it can be enought.;-)
-- Mike Treseler
JaI
 
Last edited by a moderator:
M

Mike Treseler

Just said:
Not necessarily, because type can be defined into the
architecture_declarative_part
That limit is usage to the current architecture, but it can be enought.;-)

The OP was discussing an entity generic.

-- Mike Treseler
 

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

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top