cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
alifalafel007
Visitor
Visitor
413 Views
Registered: ‎10-08-2018

Critical warning from autogenerated constraints

I have created many different custom IP cores that I am using in my block diagram, and several of them instantiate a home-grown entity called ASYNC_FIFO_INFER.  ASYNC_FIFO_INFER of course has some timing constraints for the clock crossing, so when packaging each of the IP that use it, I include the file async_fifo_infer.xdc and have SCOPED_TO_REF set properly.  This works fine for nearly every one of my IP, but one in particular throws a critical warning in OOC synthesis:

[Synth 8-3321] No instance found in 'current_instance U0' for constraint at line 8 of /.../....runs/.../dont_touch.xdc

This file is automatically generated, and line 8 in question is

set_property DONT_TOUCH TRUE [get_cells -hier -filter {REF_NAME==ASYNC_FIFO_INFER || ORIG_REF_NAME==ASYNC_FIFO_INFER} -quiet] -quiet

When I open this synthesis run, however, the ASYNC_FIFO_INFER is definitely there, and when I manually execute this set_property command in the tcl console, it does apply DONT_TOUCH to it without any problems.  More perplexing still, I have two instances of this IP core in my design, but this error only happens for one of them.  They do have generics which differ slightly, but none of the differences have anything to do with the ASYNC_FIFO_INFER, which is needed by the IP core for its basic functionality, regardless of generic settings.

Anyone know what I'm doing wrong here?

3 Replies
maps-mpls
Mentor
Mentor
240 Views
Registered: ‎06-20-2017

No, I do not know what you are doing wrong.  I am curious about the don't touch but if it is working elsewhere I don't know if I can help 

*** Destination: Rapid design and development cycles *** Unappreciated answers get deleted, unappreciative OPs get put on ignored list ***
0 Kudos
anusheel
Moderator
Moderator
183 Views
Registered: ‎07-21-2014

@alifalafel007 

Do you see this warning when the IP is synthesized in its own project(before packaging) with the same constraint?

Thanks
Anusheel 

0 Kudos
alifalafel007
Visitor
Visitor
159 Views
Registered: ‎10-08-2018

@anusheel I do not.

Comparing the synthesis logs for the instance of this IP that gets this critical warning, they look very similar.  The OOC log shows some other warnings including the usual "unconnected port" "'use_project_ipc' is deprecated", etc., but nothing that really stands out except for the "Start Applying XDC Timing Constraints" section.  That contains this critical warning and several "empty from/to list" warnings for set_false_path, none of which are found in that section of the synthesis log in the IP's own project.  Those from and to lists also are most certainly not empty, which I can also confirm by opening the synthesis run and manually executing the commands in the tcl console, as I did with the DONT_TOUCH in my original post.  For the other instance of the IP that doesn't get this critical warning, the synthesis logs are even more similar, with none of these warnings in the "Start Applying XDC Timing Constraints" section, and any differences they have are the same as the other inconsequential differences between the logs for the failing instance.

The only other thing I note, although I'm not sure why this would happen or what difference it would make, is that for each of these IP, under "Processing XDC Constraints", the dont_touch.xdc is parsed last when synthesized from the IP's project, whereas it is parsed earlier (but not first) during OOC synthesis.  This causes the "set_property DONT_TOUCH = true" to get applied earlier during "Start Applying 'set_property' XDC Constraints" in OOC than it does in the IP's own project.  It doesn't make sense to me that this would then cause issues during "Start Applying XDC Timing Constraints", but I bring it up because I remember reading somewhere about XDC processing order.  But again, dont_touch.xdc is an autogenerated file, so I don't think I can (or should have to) change its processing order.

0 Kudos