ALTDQ_DQS2 IP Core User Guide

ID 683742
Date 5/08/2017
Public
Document Table of Contents

Constraining Outgoing DQS Strobe

The design sends the data out by a clock shifted 270° so that the non-shifted clock is center-aligned. These constraints state that the external device adds ±250ps of skew, which could also be described as a setup requirement and hold requirement of 250 ps. These numbers are an example, and you must modify constraints to reflect the data and clock relationship in the system. Use the -add option to add your delay constraint instead of overriding previous constraints.

Note: Use the –add option for the create_generated_clock command for the strobe_io port because the port is bidirectional.

The following commands constraint the outgoing DQS strobe.

Constraining DQS Strobe Commands

create_generated_clock -name dqs_out -source [get_pins{dqdqs2_inst|bidir_hardfifo_dqdqs2_inst|altdq_dqs2_inst|phy_clkbuf|outclk[1] }] -phase 0 [get_ports {strobe_io}] -add

set_output_delay -clock {dqs_out} -max 0.250 [get_ports {read_write_data_io[*]}] -add_delay

set_output_delay -clock { dqs_out } -max 0.250 -clock_fall [get_ports {read_write_data_io[*]}] - add_delay

set_output_delay -clock {dqs_out} -min -0.250 [get_ports {read_write_data_io[*]}] -add_delay

set_output_delay -clock { dqs_out } -min -0.250 -clock_fall [get_ports {read_write_data_io[*]}] - add_delay

Figure 44. Output Delay Timing Analysis


The following set_false_path commands ensure that we are analyzing only the same edge transfers, by removing the opposite edge transfers.

Note: These assignments are optional.

set_false_path Commands

set_false_path -setup -rise_from [get_clocks{pll_inst|alterapll_inst|altera_pll_i|general[3].gpll~PLL_OUTPUT_COUNTER|divclk}] -fall_to [get_clocks {dqs_out}]

set_false_path -setup -fall_from [get_clocks{pll_inst|alterapll_inst|altera_pll_i|general[3].gpll~PLL_OUTPUT_COUNTER|divclk}] -rise_to [get_clocks {dqs_out}]

set_false_path -hold -rise_from [get_clocks{pll_inst|alterapll_inst|altera_pll_i|general[3].gpll~PLL_OUTPUT_COUNTER|divclk}] -rise_to [get_clocks {dqs_out}]

set_false_path -hold -fall_from [get_clocks{pll_inst|alterapll_inst|altera_pll_i|general[3].gpll~PLL_OUTPUT_COUNTER|divclk}] -fall_to [get_clocks {dqs_out}]

The strobe port functions as input or output at a time. Non-related transfers below should be set to false path and do not need to be analyzed.

set_false_path -from [get_clocks {virtual_dqs_in}] -to [get_clocks {dqs_out}]