Altera_Forum
Honored Contributor
9 years agoSDC: forwarding clock with 90 degree offset
I am trying to setup a DDR source synchronous output interface in which the data/clock are center aligned. The obvious solution was to launch my data using a 0 degree clock, and forward the clock using a 90-degree phase offset version of the same clock. This way, the data is setup before the forwarded clock is sent out.
I'm trying to constrain this interface to ensure the data meets the setup and hold time at the receiving device: create_clock -name CLK_ddr_ck -period $DDR_CLK_PERIOD [get_ports ddr_ck] set_output_delay -clock CLK_ddr_ck $tIS -max [get_ports $command_ports] set_output_delay -clock CLK_ddr_ck -$tIH -min [get_ports $command_ports] set_output_delay -clock CLK_ddr_ck $tIS -max [get_ports $command_ports] -clock_fall -add_delay set_output_delay -clock CLK_ddr_ck -$tIH -min [get_ports $command_ports] -clock_fall -add_delay I thought the tools would be smart enough to automatically determine that the ddr_ck pin is being output with a 90-degree offset, and the command_ports are being sent out via a 0-degree offset clock. But I'm not meeting timing. When I look at the time-quest analyzer, it says in the text that it is analyzing the correct launch/latch clock: pll1|clk[0] is the launch and CLK_ddr_ck is the latch, but the diagram shows that the launch and latch clock don't have a 90-degree offset. How do I inform the tool of my particular scenario?