10-26-2019 03:58 AM
I am creating a top down flow, width various IPs which have been configured with OOC enabled, with their own xdc files.
For the top level synthesis, i want to disable all the xdcs, any out of context synthesis or dcp generation and have only the top level xdc to be applied.
Can someone explain me the steps / commands which i need to apply to generate a synthesized netlist ? What i see now, is its generation various DCPs, eventhough i have not marked them as OOC in the top level project .
10-28-2019 12:11 PM
When you create an out-of-context (OOC) .dcp (synthesized or even implemented) the .dcp contains the constraints that were used to synthesize/implement the design.
However, as you are aware some of these constraints are required only when the design is synthesized/implemented OOC - namely constraints on ports of the OOC module that are supposed to connect to the "upper" level of the design (these would be things like create_clock, set_input_delay, set_output_delay) and constraints that would be used when the module is used, regardless of whether it is OOC or now integrated into a top level design (internal exceptions, create_clock/set_input_delay/set_output_delay on ports that connect directly to top level pins of the design).
There is already a mechanism for controlling this, using the -out_of_context flag for the read_xdc command. If you do
Then this xdc file is used both when the design is synthesized/implemented OOC and when it is integrated into a top level design (i.e. these constraints are "imported" to the top level design when the .dcp is read in).
If you do
read_xdc -mode out_of_context <filename>
Then this xdc is only used for the OOC synthesis/implementation - these constraints will not be used when the design is read in as part of a top level design.
(I think this is what you are looking for...)
11-11-2019 05:31 AM
But still need some more clarification.
If someone has already created an IP, is it possible to mark that file as "ooc" ? or i need to remove the file probem that IP project, and add it back using tcl command ?
11-11-2019 05:36 AM
also, i believe, you mean, while i create a block or IP, i should read the file with mode set to out of context. This automatically ensures, that when i integrate this IP in the top level, this constraint is not applied when i set the IP mode to Global . Please confirm.