12-01-2008 10:12 AM
Hi ,
I have recently upgraded my ISE from 8.1 to 10.1 and I'm having trouble with a design that worked before.
I have the following lines in my UCF file:
NET "refclk_50mhz_bufg" TNM_NET = "refclk_50mhz_bufg";
TIMESPEC "TS_refclk_50mhz_bufg" = PERIOD "refclk_50mhz_bufg" 20.00 ns HIGH 50 %;
NET "refclk_100mhz_bufg" TNM_NET = "refclk_100mhz_bufg";
TIMESPEC "TS_refclk_100mhz_bufg" = PERIOD "refclk_100mhz_bufg" "TS_refclk_50mhz_bufg"/2 HIGH 50 %;
This used to work fine in ISE8.1i, but in 10.1i I get the following error:
ERROR:ConstraintSystem:59 - Constraint <NET
"refclk_50mhz_bufg" TNM_NET = "refclk_50mhz_bufg";>
[pm71_69_22_fpga_core.ucf(45)]: NET
"refclk_50mhz_bufg" not found. Please verify that:
1. The specified design element actually exists in the original design.
2. The specified object is spelled correctly in the constraint source file.
What has changed to cause this? How else can I define a timing constraint for an internal clock signal?
Thanks for your help.
12-01-2008 10:01 PM
What are you using to synthesis, XST or Synplify? You may look into the Technology Schematic View to check if refclk_50mhz_bufg exists in your design.
If you are using XST, please try to set the synthesis property "Keep Hierarchy" to "Soft/Yes".
12-02-2008 08:54 AM
I am using synplify pro.
In my HDL I have:
ATTRIBUTE syn_keep OF refclk_50mhz_bufg : SIGNAL IS true;
and so on for all bufg clock signals.
12-02-2008 09:08 PM
Open the Synplify, then HDL-Analyst -> Technology -> Hierarchical View.
Can you find the refclk_50mhz_bufg from the Nets List?
12-08-2008 12:08 AM
I believe the net name has changed after synthesis, you have to find out the exact name of this net after BUFG.
You may also try this:
NET "*refclk_50mhz_bufg*" TNM_NET = refclk_50mhz_bufg_group;
Use the wildcard to avoid any mismatch.
12-08-2008 09:57 AM
I've realized that this is a problem with synplify_pro, which I am using for synthesis.
In certain situations, the new version of synplify is ignoring the "syn_keep" attribute that I have specified for those signals which I want to use in my timing constraints and so those signals are being optimized out. I have found a work-around for this issue to make sure the nets that I need are preserved through synthesis.
Thanks for all your suggestions.
Cheers.
12-22-2008 01:00 PM
12-30-2012 07:17 AM
01-01-2013 09:04 AM