DC vhdl question

Discussion in 'VHDL' started by Bert Cuzeau, Jun 22, 2005.

  1. Bert Cuzeau

    Bert Cuzeau Guest

    Hello,

    A customer of ours is using one of our IPs and reports that
    DC (for synthesis) complains about two things :

    *A* wouldn't support 'pos as in character'pos ??
    (which is very handy for cahacter to slv conversion)

    *B* wouldn't support booleans in generic ??

    I emailed the Synopsys hotline, but got the answer that only
    Synopsys customers can ask such questions...

    A pointer to a document stating the current limitations of DC
    would be very appreciated :)

    Thx in advance,

    Bert Cuzeau
     
    Bert Cuzeau, Jun 22, 2005
    #1
    1. Advertising

  2. Bert Cuzeau

    Acci Guest

    Just a test
     
    Acci, Jun 22, 2005
    #2
    1. Advertising

  3. Bert Cuzeau

    Acci Guest

    Hi Bert,

    Synopsys DC has actually two VHDL frontends (parsers).
    The standard one, which is enabled by default, is just crap. It only suppoprts
    an extremely limited number of VHDL constructs, which makes it almost unusable
    for modern parameterizable designs.
    The newer one, called PRESTO, must be explicitly enabled. You can do this by
    setting the 'hdlin_enable_presto_for_vhdl' to 'true' in your dc.setup script.

    Hope this helps.
     
    Acci, Jun 22, 2005
    #3
  4. Bert Cuzeau wrote:

    > A customer of ours is using one of our IPs and reports that
    > DC (for synthesis) complains about two things :
    >
    > *A* wouldn't support 'pos as in character'pos ??
    > (which is very handy for cahacter to slv conversion)


    At one time, mentor synthesis allowed character'pos
    for constant use only. In this case a function
    "buffer" like this did the trick:

    function char_pos (char_v : character)
    return natural is
    type ascii_t is array (character) of natural;
    function ascii_c return ascii_t is
    variable table_v : ascii_t;
    begin
    for i in character loop
    table_v(i) := character'pos(i);
    -- DC might buy this as i is a loop index "constant"
    end loop;
    return table_v;
    end function ascii_c;
    begin
    return ascii_c(char_v);
    end function char_pos;

    > *B* wouldn't support booleans in generic ??


    The only "sure thing" type for
    generic synthesis is integer.

    I have never used DC or know the errata.
    Your customer may be the best source.

    -- Mike Treseler
     
    Mike Treseler, Jun 22, 2005
    #4
  5. Bert Cuzeau

    Bert Cuzeau Guest

    Thank you both for your excellent answers.
    The function may be a good workaround, and

    I also suspect that presto wasn't enabled.


    Thx again,

    Bert Cuzeau
     
    Bert Cuzeau, Jun 23, 2005
    #5
    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. walala
    Replies:
    3
    Views:
    4,853
    walala
    Sep 18, 2003
  2. Replies:
    2
    Views:
    8,773
    Jim Lewis
    Mar 21, 2006
  3. dude

    VHDL 2002 vs VHDL 1993

    dude, Mar 23, 2006, in forum: VHDL
    Replies:
    1
    Views:
    1,323
    Nicolas Matringe
    Mar 23, 2006
  4. afd
    Replies:
    1
    Views:
    8,478
    Colin Paul Gloster
    Mar 23, 2007
  5. Kim Enkovaara
    Replies:
    9
    Views:
    2,019
    diogratia
    Oct 16, 2008
Loading...

Share This Page