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

Discussion in 'VHDL' started by Chao, Jun 26, 2004.

  1. Chao

    Chao Guest

    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. ()
     
    Chao, Jun 26, 2004
    #1
    1. Advertising

  2. (Chao) wrote in message news:<>...

    > 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
     
    Mike Treseler, Jun 28, 2004
    #2
    1. Advertising

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

    Hi Chao,

    Or use a type.

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

    it is equivalent to Mike proposal about integers.

    JaI

    Mike Treseler wrote:

    > (Chao) wrote in message news:<>...
    >
    >
    >
    >>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
    >
    >
     
    Just an Illusion, Jun 29, 2004
    #3
  4. Chao

    Chao Guest

    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.
     
    Chao, Jun 29, 2004
    #4
  5. > 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: Aug 4, 2006
    Mike Treseler, Jun 29, 2004
    #5
  6. Re: WARNING:Xst:795: Size of operands are different : result is <false>.how to solve it?

    Hi Mike,

    Mike Treseler wrote:


    >
    >
    >>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.
    >
    >

    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: Aug 4, 2006
    Just an Illusion, Jul 5, 2004
    #6
  7. Just an Illusion wrote:

    > 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
     
    Mike Treseler, Jul 5, 2004
    #7
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. mag
    Replies:
    1
    Views:
    688
    Andy Peters
    May 19, 2005
  2. Andrew FPGA
    Replies:
    14
    Views:
    918
    Mike Treseler
    Apr 5, 2006
  3. Andy Peters

    Interesting XST warning

    Andy Peters, Apr 26, 2006, in forum: VHDL
    Replies:
    9
    Views:
    2,004
    Mike Treseler
    Apr 28, 2006
  4. agatha
    Replies:
    13
    Views:
    1,022
    agatha
    May 24, 2006
  5. Michael Tan
    Replies:
    32
    Views:
    1,051
    Ara.T.Howard
    Jul 21, 2005
Loading...

Share This Page