cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
12,021 Views
Registered: ‎04-28-2015

Set output directory for generated products

Hello,

 

This question is for both project and non-project flow in Vivado 2015.1.

 

I would like to keep my .xci files in a different set of directories than all the generated outputs. I looked through the GUI and I don't see any setting anywhere but maybe I missed it. On the TCL level, it does not seem like generate_target can take an output directory, but maybe there is a property/setting somewhere?

 

Is this possible? Ideally I would like to keep my sources directory read-only from the point of view of Vivado in both project and non-project flow.

 

Regards,

 

Yuriy

 

 

Tags (3)
0 Kudos
5 Replies
Highlighted
Scholar
Scholar
12,009 Views
Registered: ‎06-05-2013

@yromanenko

 

In vivado tcl console type.

create_ip -help. This will give you all the options available for the create_ip, it should have -dir option to create ip.xci file in the specified directory.

-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
Highlighted
Visitor
Visitor
12,006 Views
Registered: ‎04-28-2015

That would let me create an .xci file in an arbitrary location. However, I would like to treat an .xci file as an INPUT that is checked into revision control, to be compatible with both project and non-project flow. If I keep all my IP as .tcl scripts that call "create_ip -dir" then there is no way to be compatible with project flow.

0 Kudos
Highlighted
Visitor
Visitor
11,614 Views
Registered: ‎06-22-2015

Hi,

 

I would also like to have the generated output files and the XCI file in separate folders to ease revision control setup.

 

@Xilinx:  is there any way to do that? (preferably wihout re-creating the IPs)

(that is also a solution if I can change a field in the XCI file manually ;)  )

 

I hope to have a quick feedback.

 

regards,

  Andras

0 Kudos
Highlighted
Visitor
Visitor
11,512 Views
Registered: ‎06-22-2015

@pratham:

do you have any suggestions for this issue?

 

thanks,

  Andras

0 Kudos
Highlighted
Visitor
Visitor
11,246 Views
Registered: ‎06-22-2015

hi all,

 

I could solve the issue ... partly.

 

after this thread was ignored by Xilinx :( , I started to poke around the XCI files.

it is not that complicated, after all :)

 

the last 2 lines of every IP generated by Vivado is always the same:

        <spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">.</spirit:configurableElementValue>
        <spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">.</spirit:configurableElementValue>

 

I simply changed this to a new folder of my chosing:

        <spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">../../../ip_tmp</spirit:configurableElementValue>
        <spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">../../../ip_tmp</spirit:configurableElementValue>

 

The only thing that I came across is that if you are using the XCI files only for revision control, then you needto keep the folder hierarchy from Vivado: <IP folder>/clk_wiz0/clk_wiz.xci .

You should not move the xci file 1 hierarchy up, because then (if you have other IPs) the generated output files can be messed up.

And that is because nevertheless I changed the OUTPUTDIR and SHAREDDIR value, Vivado is nice enough to still produce some files next to the XCI file. (.dcp, _funcsim.v, _stub.v, ...)

 

Anyhow, this works for me, although I would have wished a bit more seamless solution...

 

0 Kudos