Adjust timing of capturing ADC samples
This commit is contained in:
parent
604766ab3b
commit
6016d2d706
|
@ -216,7 +216,14 @@ create_clock -period 8.000 -name adc_clk [get_ports adc_clk_i[1]]
|
||||||
# Add clock uncertainty for robust timing.
|
# Add clock uncertainty for robust timing.
|
||||||
set_clock_uncertainty 0.2 [get_clocks adc_clk]
|
set_clock_uncertainty 0.2 [get_clocks adc_clk]
|
||||||
|
|
||||||
set_input_delay -clock adc_clk 3.400 [get_ports adc_dat_i[*][*]]
|
# ADC data input timing.
|
||||||
|
# The LTC2145 datasheet says CLKOUT-to-DATA = minimum 0, maximum 0.6 ns.
|
||||||
|
# That refers to the falling edge of CLKOUT.
|
||||||
|
# Mapped to the rising edge: minimum 4.0, maximum 4.6 ns.
|
||||||
|
# We add 1 ns margin.
|
||||||
|
set_input_delay -clock adc_clk -min 3.0 [get_ports {adc_dat_i[*][*]}]
|
||||||
|
set_input_delay -clock adc_clk -max 5.6 [get_ports {adc_dat_i[*][*]}]
|
||||||
|
set_multicycle_path 2 -from [get_ports {adc_dat_i[*][*]}]
|
||||||
|
|
||||||
# Digital inputs are asynchronous.
|
# Digital inputs are asynchronous.
|
||||||
# Set fairly relaxed constraints to limit delay and skew.
|
# Set fairly relaxed constraints to limit delay and skew.
|
||||||
|
@ -226,19 +233,19 @@ set_input_delay -clock adc_clk -max 3.0 [get_ports {exp_p_io[*] exp_n_io[*]}]
|
||||||
# Delay to LEDs does not matter; just set a long max delay.
|
# Delay to LEDs does not matter; just set a long max delay.
|
||||||
set_max_delay -to [get_ports {led_o[*]}] 20.0
|
set_max_delay -to [get_ports {led_o[*]}] 20.0
|
||||||
|
|
||||||
create_clock -period 4.000 -name rx_clk [get_ports daisy_p_i[1]]
|
#create_clock -period 4.000 -name rx_clk [get_ports daisy_p_i[1]]
|
||||||
|
|
||||||
set_false_path -from [get_clocks adc_clk] -to [get_clocks dac_clk_o]
|
#set_false_path -from [get_clocks adc_clk] -to [get_clocks dac_clk_o]
|
||||||
set_false_path -from [get_clocks adc_clk] -to [get_clocks dac_clk_2x]
|
#set_false_path -from [get_clocks adc_clk] -to [get_clocks dac_clk_2x]
|
||||||
set_false_path -from [get_clocks adc_clk] -to [get_clocks dac_clk_2p]
|
#set_false_path -from [get_clocks adc_clk] -to [get_clocks dac_clk_2p]
|
||||||
set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks adc_clk]
|
#set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks adc_clk]
|
||||||
set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks dac_clk_1x]
|
#set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks dac_clk_1x]
|
||||||
set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks dac_clk_2x]
|
#set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks dac_clk_2x]
|
||||||
set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks dac_clk_2p]
|
#set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks dac_clk_2p]
|
||||||
set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks ser_clk]
|
#set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks ser_clk]
|
||||||
set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks pdm_clk]
|
#set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks pdm_clk]
|
||||||
set_false_path -from [get_clocks dac_clk_o] -to [get_clocks dac_clk_2x]
|
#set_false_path -from [get_clocks dac_clk_o] -to [get_clocks dac_clk_2x]
|
||||||
set_false_path -from [get_clocks dac_clk_o] -to [get_clocks dac_clk_2p]
|
#set_false_path -from [get_clocks dac_clk_o] -to [get_clocks dac_clk_2p]
|
||||||
|
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
|
@ -226,6 +226,7 @@ begin
|
||||||
-- PLL for 125 MHz clock.
|
-- PLL for 125 MHz clock.
|
||||||
-- Input clock comes from ADC.
|
-- Input clock comes from ADC.
|
||||||
-- Output clock drives most of the FPGA design.
|
-- Output clock drives most of the FPGA design.
|
||||||
|
-- Output clock shifted to optimize capturing of ADC samples.
|
||||||
inst_pll: PLLE2_BASE
|
inst_pll: PLLE2_BASE
|
||||||
generic map (
|
generic map (
|
||||||
BANDWIDTH => "OPTIMIZED",
|
BANDWIDTH => "OPTIMIZED",
|
||||||
|
@ -234,7 +235,7 @@ begin
|
||||||
CLKIN1_PERIOD => 8.0,
|
CLKIN1_PERIOD => 8.0,
|
||||||
CLKOUT0_DIVIDE => 7,
|
CLKOUT0_DIVIDE => 7,
|
||||||
CLKOUT0_DUTY_CYCLE => 0.5,
|
CLKOUT0_DUTY_CYCLE => 0.5,
|
||||||
CLKOUT0_PHASE => 0.0,
|
CLKOUT0_PHASE => 90.0,
|
||||||
DIVCLK_DIVIDE => 1,
|
DIVCLK_DIVIDE => 1,
|
||||||
STARTUP_WAIT => "FALSE" )
|
STARTUP_WAIT => "FALSE" )
|
||||||
port map (
|
port map (
|
||||||
|
|
Loading…
Reference in New Issue