ALTDQ_DQS2 IP Core User Guide

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

Constraining Outgoing DQS Strobe

The following commands constraint the outgoing DQS strobe. The create_generated_clock command requires the -add option because the strobe_io port is bidirectional. The design sends the data out which centre-aligned to the DQS strobe. The minimum and maximum input delay is assumed to be ±0.25 ns in this reference design. Use the -add option in the set_output_delay command to add the user-defined clock uncertainty values.

Constraining DQS Strobe Commands

create_generated_clock -name dqs_out -source [get_pins{pll_inst/alterapll_inst/altera_pll_i/general[1].gpll�PLL_OUTPUT_COUNTER/divclk}] -phase 0 [get_ports{output_strobe_out}]

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

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

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

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

Figure 26. 


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

set_false_path Commands

set_false_path -setup -rise_from [get_clocks{pll_inst/alterapll_inst/altera_pll_i/general[2].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[2].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[2].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[2].gpll�PLL_OUTPUT_COUNTER/divclk}] -fall_to [get_clocks{dqs_out}]

The following set_multicycle_path commands ensure that the correct transfer between the DDlO and Read FlFO.

set_multicycle_path Commands

set_multicycle_path -from {*/altdq_dqs2_stratixv:altdq_dqs2_inst/input_path_gen[*].capture_reg�HIGH_DFF} -to {*/altdq_dqs2_stratixv:altdq_dqs2_inst/input_path_gen[*].read_fifo_hr�INPUT_DFF_*} -setup -end 0

set_multicycle_path -from {*/altdq_dqs2_stratixv:altdq_dqs2_inst/input_path_gen[*].capture_reg�LOW_DFF} -to {*/altdq_dqs2_stratixv:altdq_dqs2_inst/input_path_gen[*].read_fifo_hr�INPUT_DFF_*} -setup -end 0

FIFO control algorithm is necessary. Consider designing some soft FlFOs for this purpose. The following paths can only be set to false path or multicycle if there is calibration algorithm in the system to ensure correct functionalities.

set_false_path Commands

#set_false_path -from {*/altdq_dqs2_stratixv:altdq_dqs2_inst/input_path_gen[*].read_fifo_hr�WRITE_LOAD_DFF_*} -to {*/altdq_dqs2_stratixv:altdq_dqs2_inst/input_path_gen[*].read_fifo_hr�READ_LOAD_DFF_*}