Altera_Forum
Honored Contributor
17 years agoTimequest reports inverted SDRAM clock as shifted + 180 degrees
I need to move my SDRAM clock forward (positive phase shift) using an inverter and LCELLs to meet tsu of my Cyclone II inputs. My clock is 120 MHz and i have no more available PLL outputs to do the clock shift in the PLL. When adding an inverter to the clock output the TimeQuest report doesn't change. When using the -invert option to the create_generated_clock SDC statement the timing of the clock signal is *delayed* 1/2 cycle, not moved forward 180 degrees as intended. How is this worked around?
****************** EXAMPLE 1 (original timing) ***************** Using following SDC: create_generated_clock -name CLK_OUT_120 -source [get_pins inst|altpll_component|pll|clk[2]] [get_ports sdram_clk] set_input_delay -max -clock [get_clocks CLK_OUT_120] 5.4 [get_ports dq[*]] Info: Path# 1: Setup slack is -4.672 (VIOLATED) Info: =================================================================== Info: From Node : dq[0] Info: To Node : SdramFifo:inst3|sdr_sdram:inst5|DQIN[0] Info: Launch Clock : CLK_OUT_120 Info: Latch Clock : pll_clk_120 Info: Info: Data Arrival Path: Info: Info: Total (ns) Incr (ns) Type Element Info: ========== ========= == ==== =================================== Info: 0.000 0.000 launch edge time Info: 3.152 3.152 R clock network delay Info: 8.552 5.400 R iExt dq[0] Info: 9.465 0.913 RR CELL dq[0]|combout Info: 12.739 3.274 RR IC inst3|inst5|DQIN[0]|sdata Info: 13.152 0.413 RR CELL SdramFifo:inst3|sdr_sdram:inst5|DQIN[0] Info: Info: Data Required Path: Info: Info: Total (ns) Incr (ns) Type Element Info: ========== ========= == ==== =================================== Info: 8.333 8.333 latch edge time Info: 8.442 0.109 R clock network delay Info: 8.480 0.038 uTsu SdramFifo:inst3|sdr_sdram:inst5|DQIN[0] Info: Info: Data Arrival Time : 13.152 Info: Data Required Time : 8.480 Info: Slack : -4.672 (VIOLATED) Info: =================================================================== Info: *********** Example 2 (-invert keyword) ************** Using -invert keyword. 1/2 period *added* to timing, not subtracted as needed. create_generated_clock -name CLK_OUT_120 -invert -source [get_pins inst|altpll_component|pll|clk[2]] [get_ports sdram_clk] Info: Path# 1: Setup slack is -8.730 (VIOLATED) Info: =================================================================== Info: From Node : dq[3] Info: To Node : SdramFifo:inst3|sdr_sdram:inst5|DQIN[3] Info: Launch Clock : CLK_OUT_120 Info: Latch Clock : pll_clk_120 Info: Info: Data Arrival Path: Info: Info: Total (ns) Incr (ns) Type Element Info: ========== ========= == ==== =================================== Info: 4.166 4.166 launch edge time Info: 7.318 3.152 R clock network delay Info: 12.718 5.400 R iExt dq[3] Info: 13.661 0.943 RR CELL dq[3]|combout Info: 16.936 3.275 RR IC inst3|inst5|DQIN[3]~feeder|datad Info: 17.114 0.178 RR CELL inst3|inst5|DQIN[3]~feeder|combout Info: 17.114 0.000 RR IC inst3|inst5|DQIN[3]|datain Info: 17.210 0.096 RR CELL SdramFifo:inst3|sdr_sdram:inst5|DQIN[3] Info: Info: Data Required Path: Info: Info: Total (ns) Incr (ns) Type Element Info: ========== ========= == ==== =================================== Info: 8.333 8.333 latch edge time Info: 8.442 0.109 R clock network delay Info: 8.480 0.038 uTsu SdramFifo:inst3|sdr_sdram:inst5|DQIN[3] Info: Info: Data Arrival Time : 17.210 Info: Data Required Time : 8.480 Info: Slack : -8.730 (VIOLATED) Info: =================================================================== Info: