ISE:ERROR:Xst:829: Constant Value expected for Generic 'U'?

Discussion in 'VHDL' started by Phil Tomson, Feb 15, 2005.

  1. Phil Tomson

    Phil Tomson Guest

    I've searched around Xilinx's site, but I havent' been able to find the
    meaning of this error message (there was a message there about how this
    had been fixed in XSE 4.something, but I've tried on both 6.2i and 6.3i
    and still get the same error).

    Here's the error:

    Analyzing Entity <csvm> (Architecture <synth_csvm>).
    ERROR:Xst:829 - C:/phil/vhdl/svm/../fix_std.vhd line 1382: Constant Value
    expected for Generic 'U'.


    Here's the offending line:
    Copy_V(F, N, overflow, rounding);

    Here's the Copy_V function:
    procedure Copy_V(
    target : out UFix;
    source : UFix;
    overflow : Fix_Overflow_Mode := Fix_Default_Overflow;
    rounding : Fix_Rounding_Mode := Fix_Default_Rounding
    ) is
    subtype target_T is UFix(target'RANGE);
    variable W: UFix(Max(target'LEFT, source'LEFT+1) downto
    Min(target'RIGHT, source'RIGHT));
    constant HighZero: UFix(W'LEFT downto target'LEFT+1) := (others =>
    '0');
    begin
    assert not target'ASCENDING
    report "target" & bad_direction_msg
    severity direction_severity;
    assert not source'ASCENDING
    report "source" & bad_direction_msg
    severity direction_severity;
    W := (others => '0');
    W(source'RANGE) := source;
    if target'RIGHT > source'RIGHT then
    case rounding is
    when clip_LS | towards_zero =>
    null;
    when to_nearest =>
    W(W'LEFT downto target'RIGHT-1) := UFix(
    unsigned(W(W'LEFT downto target'RIGHT-1)) + 1
    );
    end case;
    end if;
    target := W(target'RANGE);
    if HighZero'LENGTH > 0 then
    if unsigned(W(HighZero'RANGE)) /= unsigned(HighZero) then
    case overflow is
    when clip_MS =>
    null;
    when saturate =>
    target := target_T'(others => '1');
    end case;
    end if;
    end if;
    end;


    I have no idea what this error message is trying to tell me. This code
    compiles fine in my simulator (GHDL).

    Any ideas about what this means?

    Phil
    Phil Tomson, Feb 15, 2005
    #1
    1. Advertising

  2. Phil Tomson

    Neo Guest

    cant say for sure but check if you have completely defined the type and
    range for UFix and it is visible to the function.
    Neo, Feb 16, 2005
    #2
    1. Advertising

  3. Phil Tomson wrote:
    > Here's the error:
    >
    > Analyzing Entity <csvm> (Architecture <synth_csvm>).
    > ERROR:Xst:829 - C:/phil/vhdl/svm/../fix_std.vhd line 1382: Constant Value
    > expected for Generic 'U'.
    >
    >
    > Here's the offending line:
    > Copy_V(F, N, overflow, rounding);


    The error is about a generic. The line above does not contain a generic.
    Seems to me that the line number in your error message is wrong.

    Look in your code and try to locate where you declare and/or use generic
    U (in an entity declaration or component instantiation).

    Paul.
    Paul Uiterlinden, Feb 16, 2005
    #3
  4. Phil Tomson

    Phil Tomson Guest

    In article <cuusld$spu$>,
    Paul Uiterlinden <> wrote:
    >Phil Tomson wrote:
    >> Here's the error:
    >>
    >> Analyzing Entity <csvm> (Architecture <synth_csvm>).
    >> ERROR:Xst:829 - C:/phil/vhdl/svm/../fix_std.vhd line 1382: Constant Value
    >> expected for Generic 'U'.
    >>
    >>
    >> Here's the offending line:
    >> Copy_V(F, N, overflow, rounding);

    >
    >The error is about a generic. The line above does not contain a generic.
    >Seems to me that the line number in your error message is wrong.
    >
    >Look in your code and try to locate where you declare and/or use generic
    >U (in an entity declaration or component instantiation).
    >


    I did a `grep -i generic *.vhd` and nothing comes up in that code (there
    is a testbench that has some, but it's not included in the ISE project).
    That's what's strange about the error.

    It would be nice if the Xilinx tools could synthesize a fixed point
    package - so far I've tried two synthesizable (with other tools) fixed point
    packages and it chokes on both, but for different reasons.

    Phil
    Phil Tomson, Feb 16, 2005
    #4
    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. Replies:
    13
    Views:
    12,920
    Kai-Uwe Bux
    Jan 22, 2007
  2. Mark McDougall

    ISE WARNING Xst:647

    Mark McDougall, Nov 29, 2007, in forum: VHDL
    Replies:
    10
    Views:
    2,050
  3. begin_ner

    Help in ISE Error: Xst:779

    begin_ner, Jan 3, 2008, in forum: VHDL
    Replies:
    0
    Views:
    1,019
    begin_ner
    Jan 3, 2008
  4. Barry
    Replies:
    6
    Views:
    2,320
    Mark McDougall
    Jan 16, 2009
  5. suraj.jain
    Replies:
    0
    Views:
    519
    suraj.jain
    Jun 21, 2009
Loading...

Share This Page