The constrain function "set_max_skew" works incorrectly. With this function I've tried to make the most equal paths from input port to registers. I carried out a simple test experiment (project and description here: https://drive.google.com/open?id=1XC4QK_nwmswpdUEPY9IS4_woeTTtOxiL ). And it doesn't work. There is a pdf document describes the experiment, test project and simple description of my actions order.
So I can't make all paths with the required skew. But fitter without any additional directions can achieve the requirement. Could you give me advice which can help to get the required result?
Is it a bug or maybe the wrong syntax?
Are you trying to design a specific skew into your design? That is not what the set_max_skew constraint is for. This constraint simply checks that the skew in your design, once routed, isn't greater than the value you set (0.3ns). set_max_skew is not a value that Quartus tries to achieve during place and route.
As Alex said, set_max/min_skew is really not actually a constraint - it's more setting a value to check against (which, don't get me wrong, can be extremely annoying when you are trying to achieve what you are describing). To achieve your aim, you'd be better setting up min and max delays with a tight window - that way the tools will actually work to meet your constraints.
Just to add on here that you have to use constraint set_net_delay max/min together with max_skew to optimize and analyze the requirement you need https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/manual/mnl_sdctmq.pdf, pg2-58 & 2-60. You can reference to this example of use case in our DCFIFO IP https://www.intel.com/content/www/us/en/programmable/support/support-resources/knowledge-base/solutions/rd02232015_507.html