This Answer Record describes equivalent Physical Constraints File (PCF) syntax for certain common User Constraints File (UCF) constraints; this is by no means a comprehensive list.
A number of constraints are impractical to create from scratch in the PCF, as they require the names of COMPs (CLBs or IOBs) or BELs (flip-flops, LUTs, TBUFs, etc.). If this information is unknown, it is possible to obtain it from the MAP report (".mrp") if the MAP_REPORT_DETAIL environment variable is set to "TRUE".
For the following, the string "_COMP" is used to indicate that a COMP name is required, and "_BEL" is used indicate BEL names (you must view the ".mrp" file to find the actual name).
NOTE: IOB COMPs are always named the same as the pad net (unless you add a BLKNM constraint), and an FF BEL is always named the same as the net on its Q output. For instance, given the following UCF OFFSET constraint:
NET "myinput" OFFSET = IN 55 AFTER "clk";
the net "myinput" and "clk" are the names of the pad nets of the input signal and the clock signal. As the IOB COMP name is identical to the pad net name, the equivalent PCF syntax would be:
(NOTE1: The above assumes "my_macro" contains a prim with an RLOC of R2C2 on it; R2C2+R9C8 = R11C10. Generally, if a macro contains more than one member COMP that belongs to the RLOC set, the RLOC_ORIGIN value will be added to the value of the RLOC on the element with the lowest row (R) value. This is considered the origin. If two or more elements have the same row value and that value is the lowest, the column (C) value will be used to determine which is the origin.)
(NOTE2: The above assumes the name of the set is "hset." This is not true if you specify your own set name via the U_SET or HU_SET constraints. If you attached a U_SET to the elements, use "my_macro/u_set_name"; if you attached a HU_SET to the elements, use "hu_set_name" prefixed by the hierarchy.)