CODE
derive_clock_uncertainty
create_clock -name {rx_sd_refclk_135} -period 7.407 -waveform { 0.000 3.703 } [get_ports {rx_sd_refclk_135}]
create_clock -name {rx_sd_refclk_337} -period 2.967 -waveform { 0.000 1.484 } [get_ports {rx_sd_refclk_337}]
create_clock -name {rx_sd_refclk_337_90deg} -period 2.967 -waveform { 0.000 1.484 } [get_ports {rx_sd_refclk_337_90deg}]
create_clock -name {tx_sd_refclk_270} -period 3.703 -waveform { 0.000 1.852 } [get_ports {tx_sd_refclk_270}]
create_clock -name {tx_pclk} -period 37.037 -waveform { 0.000 18.519 } [get_ports {tx_pclk}]
set_max_delay -from [get_clocks {rx_sd_refclk_337}] -to [get_clocks {rx_sd_refclk_135}] 4.430
set_min_delay -from [get_clocks {rx_sd_refclk_337}] -to [get_clocks {rx_sd_refclk_135}] 0.000
create_clock -name {rx_sd_refclk_135} -period 7.407 -waveform { 0.000 3.703 } [get_ports {rx_sd_refclk_135}]
create_clock -name {rx_sd_refclk_337} -period 2.967 -waveform { 0.000 1.484 } [get_ports {rx_sd_refclk_337}]
create_clock -name {rx_sd_refclk_337_90deg} -period 2.967 -waveform { 0.000 1.484 } [get_ports {rx_sd_refclk_337_90deg}]
create_clock -name {tx_sd_refclk_270} -period 3.703 -waveform { 0.000 1.852 } [get_ports {tx_sd_refclk_270}]
create_clock -name {tx_pclk} -period 37.037 -waveform { 0.000 18.519 } [get_ports {tx_pclk}]
set_max_delay -from [get_clocks {rx_sd_refclk_337}] -to [get_clocks {rx_sd_refclk_135}] 4.430
set_min_delay -from [get_clocks {rx_sd_refclk_337}] -to [get_clocks {rx_sd_refclk_135}] 0.000
В моей же ситуации клоки рождаются с помощью PLL.
Так вот, вопрос следующий: как описать клоки от PLL до мегафункции?
Я пытался сделать следующим образом:
CODE
#*******************
# Time Information *
#*******************
derive_pll_clocks
derive_clock_uncertainty
set clk_270MHz pll1|altpll_component|auto_generated|pll1|clk[0]
set clk_135MHz pll1|altpll_component|auto_generated|pll1|clk[1]
set clk_337MHz pll2|altpll_component|auto_generated|pll1|clk[0]
set clk_390ph pll2|altpll_component|auto_generated|pll1|clk[1]
#***************
# Create Clock *
#***************
create_clock -name {clk1} -period 50MHz [get_ports {clk1}]
create_clock -name {clk2} -period 27MHz [get_ports {clk2}]
#*************************
# Create Generated Clock *
#*************************
create_generated_clock -name {c337} -source $clk_337MHz
create_generated_clock -name {c135} -source $clk_135MHz
create_generated_clock -name {c390} -source $clk_390ph
create_generated_clock -name {c270} -source $clk_270MHz
#********************
# Set Maximum Delay *
#********************
set_max_delay -from [get_clocks {c337}] -to [get_clocks {c135}] 4.430
#********************
# Set Minimum Delay *
#********************
set_min_delay -from [get_clocks {c337}] -to [get_clocks {c135}] 0.000
# Time Information *
#*******************
derive_pll_clocks
derive_clock_uncertainty
set clk_270MHz pll1|altpll_component|auto_generated|pll1|clk[0]
set clk_135MHz pll1|altpll_component|auto_generated|pll1|clk[1]
set clk_337MHz pll2|altpll_component|auto_generated|pll1|clk[0]
set clk_390ph pll2|altpll_component|auto_generated|pll1|clk[1]
#***************
# Create Clock *
#***************
create_clock -name {clk1} -period 50MHz [get_ports {clk1}]
create_clock -name {clk2} -period 27MHz [get_ports {clk2}]
#*************************
# Create Generated Clock *
#*************************
create_generated_clock -name {c337} -source $clk_337MHz
create_generated_clock -name {c135} -source $clk_135MHz
create_generated_clock -name {c390} -source $clk_390ph
create_generated_clock -name {c270} -source $clk_270MHz
#********************
# Set Maximum Delay *
#********************
set_max_delay -from [get_clocks {c337}] -to [get_clocks {c135}] 4.430
#********************
# Set Minimum Delay *
#********************
set_min_delay -from [get_clocks {c337}] -to [get_clocks {c135}] 0.000
Максимально пытался решить вопрос сам, но уже понимаю, что без чужой помощи не обойдусь.
Заранее прошу прощения, если написал глупость, и сразу всем спасибо за будущие ответы.