Re: question about add_delay
set_output_delay -clock { tfclk_in } -rise -max 11.5 [get_ports {pp_ptpa_out}]
and set_output_delay -clock { tfclk_in } -add_delay -rise -max 11.5 [get_ports {pp_ptpa_out}]
In the above two statements i dont see any difference except that add_delay option added in the second one.
Normally we use -add_delay option, if we have mutiple clock where your output ports get captured, in this scenario, the output port will have different delay for those corresponding capturing flipflops. For example output port pp_ptpa_out goes in to two flops with clk1 and clk2. the combo-logic before flop with clk1 is 1ns and combo-logic before flop with clk2 is 2ns.
your constraint should look this :
set_output_delay -clock { clk1} -rise -max 1 [get_ports {pp_ptpa_out}]
set_output_delay -clock { clk2} -rise -add_delay -max 2 [get_ports {pp_ptpa_out}]