UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
11,272 Views
Registered: ‎09-30-2014

VHDL-2008 mode

Dear forum,

I have some trouble using VHDL-2008.

An attempt to follow AR#62005 fails:

 

CRITICAL WARNING: [filemgmt 20-1702] Unable to set property on the file: c:\[clip]/file.vhd                                    
File is managed as part of sub-design (IP, Block Design, DSP Design, etc.) file: [clip]/design.xci

 

The AR does not, however, tell how declare the use of vhdl-2008 inside an IP block.

 

Clicking  "Edit in IP packager -> Project Manager - Sources - Hierarchy - file.vhd -> Source file properties - properties",  I see an option to set the file type to "VHDL 2008". That information does not seem to propagate to the xci file when repackaging the IP project. The same is true also when using the tcl command referred in the AR.

 

What is the correct way to tell Vivado to synthesize a certain file, wrapped inside an IP block, using VHDL-2008 compiler mode?

0 Kudos
11 Replies
Xilinx Employee
Xilinx Employee
11,242 Views
Registered: ‎04-16-2012

Re: VHDL-2008 mode

Hello,

You need to set the file type as VHDL 2008 while creating the IP.

Thanks,
Vinay
--------------------------------------------------------------------------------------------
Have you tried typing your question in Google? If not you should before posting. Also, MARK this is as an answer in case it helped resolve your query/issue.Give kudos to the post that helped you to find the solution.
0 Kudos
Adventurer
Adventurer
11,232 Views
Registered: ‎09-30-2014

Re: VHDL-2008 mode

As far as I see, there are no options to select a file type before entering the IP editor. In the IP editor, there are some ways to choose the file type, like the one I quoted in the original question or in "Packaging steps -> File Groups -> Type". In the latter, there are many options like "vhdlSource-87, vhdlSource-93, and vhdlSource" but at least the tooltip does not explicitly mention anything related to vhdl 2008.

 

I already know that I need to set the file type to VHDL 2008. However, Vivado does not seem to pack that information into the IP block.

 

Could you please be more specific, if you know a way that works?

0 Kudos
Xilinx Employee
Xilinx Employee
11,145 Views
Registered: ‎04-16-2012

Re: VHDL-2008 mode

Hello @maenpaa 

Here is a snapshot to set VHDL 2008 in IP packaging window:

 

vhdl2008.PNG

Thanks,
Vinay

--------------------------------------------------------------------------------------------
Have you tried typing your question in Google? If not you should before posting. Also, MARK this is as an answer in case it helped resolve your query/issue.Give kudos to the post that helped you to find the solution.
0 Kudos
Adventurer
Adventurer
11,086 Views
Registered: ‎09-30-2014

Re: VHDL-2008 mode

Hi,

 

I tried setting the file types to "vhdlSource[space]2008". In other words, "vhdlSource", followed by space and the four-digit number 2008. Then I re-packaged the IP block, regenerated and tried to synthesize the project using that IP block.

 

Synthesis failed with the error message

[Synth-8-2757] this construct is only supported in VHDL 1076-2008

 

Either I misinterpreted your screen capture, and the keyword should have been something else. The tooltip only mentions vhdlSource-87, vhdlSource-93 and vhdlSource but is not explicit about how to declare vhdl 2008.

 

Was there a space bar or something else between vhdlSource and 2008? Did you do some other tricks, to allow a project to synthesize vhdl 2008-conforming ip blocks?

0 Kudos
Xilinx Employee
Xilinx Employee
11,062 Views
Registered: ‎04-16-2012

Re: VHDL-2008 mode

Hello,

In the "Type" column, I typed VHDL 2008 and clicked enter. It converted to vhdlSource 2008.
Then I packaged the IP.

Thanks,
Vinay
--------------------------------------------------------------------------------------------
Have you tried typing your question in Google? If not you should before posting. Also, MARK this is as an answer in case it helped resolve your query/issue.Give kudos to the post that helped you to find the solution.
0 Kudos
Adventurer
Adventurer
11,054 Views
Registered: ‎09-30-2014

Re: VHDL-2008 mode

Hi,

 

Thanks for the reply.

I can copy that: VHDL 2008 in that field indeed does change to vhdlSource 2008.

The information also seems to propagate to component.xml file in the IP directory.

 

After that, I repackaged that IP. Then, in the project, I tried upgrading IP, reinstantiating the IP, re-doing the output products, bd wrappers, etc.

 

Despite all these, synthesis fails if there are any actual VHDL-2008 constructs in use in the source file.

 

 

If I would, in addition to all the above, also apply the tricks of AR#62005 to the main project, then synthesis would fail due to error in ipif_pkg.vhd (which uses an identifier which was available in older VHDL but reserved in vhdl-2008. Consequently, declaring the entire project to be VHDL2008 is not an option as some of Xilinx's library files are not compatible with VHDL-2008.

 

How to proceed?

 

 

0 Kudos
Adventurer
Adventurer
11,049 Views
Registered: ‎09-30-2014

Re: VHDL-2008 mode

> If I would, in addition to all the above, also apply the tricks of AR#62005 to the main project, then synthesis would fail due to error in ipif_pkg.vhd

 

Manually fixing that by changing all the problematic names to something else, and working through a number of other files with similar symptoms allows me to synthesize.

 

This is not really a solution, as going through all those are generated files is a lot of work and the manual edists do not persist. In case of encrypted IP, that is not even possible. Maybe somebody at Xilinx should go through the vhd libraries, discontinue the use of "default" as an identifier? This would enhance the VHDL-2008 friendliness of the next Vivado release a lot.

 

In the meanwhile, how can I make Vivado synthesize my VHDL-2008 (and only that) in VHDL-2008 mode?

0 Kudos
Xilinx Employee
Xilinx Employee
10,763 Views
Registered: ‎09-20-2012

Re: VHDL-2008 mode

Hi,

 

I would suggest you to post your last query on Synthesis board to target the correct audience.

 

Thanks,

Deepika.

Thanks,
Deepika.
--------------------------------------------------------------------------------------------
Google your question before posting. If someone's post answers your question, mark the post as answer with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left)
0 Kudos
9,688 Views
Registered: ‎07-07-2015

Re: VHDL-2008 mode

I am also having problems with using VHDL 2008.  I have used both the solution #2 of AR#52005 and setting the type of the files to either "VHDL 2008" (without quotes) or "vhdlSource 2008" (without quotes).  In most higher level designs I am still getting errors about 2008 constructs even after updating the IP and after deleting blocks and replacing them back again.

0 Kudos
Adventurer
Adventurer
6,682 Views
Registered: ‎09-30-2014

Re: VHDL-2008 mode

@johnblessinggarmin :

 

There were some good suggestions in a similar discussion in the Synthesis forum.

0 Kudos
Scholar pratham
Scholar
6,670 Views
Registered: ‎06-05-2013

Re: VHDL-2008 mode

@johnblessinggarmin

 

Check these, this should solve your problem

 

http://forums.xilinx.com/t5/Synthesis/Synth-8-2715-syntax-error-near-default-quot-ipif-pkg-vhd-quot/td-p/638019

 

http://forums.xilinx.com/t5/Design-Entry/IP-Catalog-Problem-in-Vivado-2014-4/m-p/637916#M8921

 

-Pratham

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos