cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Contributor
Contributor
7,490 Views
Registered: ‎02-27-2016

out_of_context cleared from USED_IN after opening project

Jump to solution

I have created a Vivado project containing a constraints file with its USED_IN property set to synthesis, implementation, and out_of_context.  I think package this project as a reusable IP and close the project.

 

When I open the project back up and inspect the USED_IN property of the constraint file again and it is set to only synthesis, and implementation; the out_of_context value is gone.

 

It seems that whenever I open up a Vivado project, the USED_IN property is reset to synthesis and implementation only.

 

Am I missing something?

DornerWorks
https://goo.gl/8wtknW
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Contributor
Contributor
13,850 Views
Registered: ‎02-27-2016

Appears there is a bug in Vivado.  If you set the "USED_IN" property to a new value, it isn't actually stored until some other property is also updated.  This means that if you set "USED_IN" and then close the project, the edit is not saved, however, if the "USED_IN" property is set, and THEN the "PROCESSING_ORDER" property is changed (doesn't even have to be on the same file object), then both edits are saved.

 

It is important to note that the second property set needs to CHANGE so that both edits are written out to the project XPR file.

DornerWorks
https://goo.gl/8wtknW

View solution in original post

0 Kudos
3 Replies
Highlighted
Moderator
Moderator
7,483 Views
Registered: ‎01-16-2013

@corrin.meyer,

 

Yes clearly your missing something. Check Step 2 of LAB 1 at page number 7 in below User Guide, It explains on creating and setting processing order the OOC xdc file:

http://www.xilinx.com/support/documentation/sw_manuals/xilinx2015_4/ug1119-vivado-creating-packaging-ip-tutorial.pdf

 

This should help in resolving the issue.

 

--Syed

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

Did you check our new quick reference timing closure guide (UG1292)?
---------------------------------------------------------------------------------------------
0 Kudos
Highlighted
Contributor
Contributor
7,447 Views
Registered: ‎02-27-2016

I have looked at step 2 of lab 1 of UG1119 and I can't figure out what I am doing wrong.  Using the example design everything seems to work fine, but if I am starting from scratch, things don't seem to work.  These are the steps that I have executed in attempting to set out-of-context constraints.

 

  1. Create a new working directory for the design at "D:\Temp\design_1".

  2. Copy the HDL and XDC sources from the UART example design for step 2 of UG1119 to "D:\Temp\design_1\src".

  3. Cut the "create_clocks" contraints from "D:\Temp\design_1\src\uart_top.xdc" and past them into "D:\Temp\design_1\src\uart_top_ooc.xdc" (see step 2 of UG1119).

  4. Launch Vivado 2016.1 and create an empty RTL project "project_1" as "D:\Temp\design_1\work\prj\project_1.xpr" and target the Kintex-7 "xc7k325tffg900-2" device (same as the UART example).

  5. Click "Add Sources" and select "Add or create design sources" and select the Verilog HDL files ("D:\Temp\design_1\src\*.v") and add them to the project as remote sources (do not copy them into the project).  Select "Finish".

  6. Click "Add Sources" and select "Add or create constraints" and select the XDC contraint files ("D:\Temp\design_1\src\*.xdc") and add them to the project as remote sources (do not copy them into the project).  Select "Finish".

  7. Right click on "uart_top_ooc.xdc" and select "Source File Properties...".  Update the "USED_IN" property to include "out_of_context".

  8. Close the project.

  9. Double click "D:\Temp\design_1\work\prj\project_1.xpr" to launch Vivado (I am using 2016.1).

  10. Right click on "uart_top_ooc.xdc" and select "Source File Properties...".  The "USED_IN" property is now set to "synthesis implementation"; the "out_of_context" is missing.

Note that unlike the step 2 of UG1119, I did NOT set "PROCESSING_ORDER" of "uart_top.xdc" to "LATE" and instead left it as "NORMAL".  While the UART example itself may require this change for correctness, my own project does not (that I know of at the moment) and that is what I am emulating here.

DornerWorks
https://goo.gl/8wtknW
0 Kudos
Highlighted
Contributor
Contributor
13,851 Views
Registered: ‎02-27-2016

Appears there is a bug in Vivado.  If you set the "USED_IN" property to a new value, it isn't actually stored until some other property is also updated.  This means that if you set "USED_IN" and then close the project, the edit is not saved, however, if the "USED_IN" property is set, and THEN the "PROCESSING_ORDER" property is changed (doesn't even have to be on the same file object), then both edits are saved.

 

It is important to note that the second property set needs to CHANGE so that both edits are written out to the project XPR file.

DornerWorks
https://goo.gl/8wtknW

View solution in original post

0 Kudos