DC vhdl question

B

Bert Cuzeau

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
 
A

Acci

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

Mike Treseler

Bert said:
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
 
B

Bert Cuzeau

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
 

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

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top