从这可以看出其实.dcp文件就是ise中的网表文件和约束文件的集合,只不过在vivado中被集合在了一个文件里。
2,.xdc文件,这个是vivado的约束文件,vivado的约束文件和ise中的约束文件.ucf或者.pcf相比有很大不同,.xdc中的约束文件其实就是一系列的tcl语句,所以对于vivado中的约束文件,可以作为一个源文件放在工程里,在综合和布局布线中调用;也可以在tcl console中输入,立即执行。.xdc文件的内容大致如下所示:###############################################################################
# Timing Constraints
###############################################################################
#
create_clock -name sys_clk -period 10 [get_ports sys_clk_p]
#
#
set_false_path -to [get_pins {vc707_pcie_x8_gen2_support_i/pipe_clock_i/pclk_i1_bufgctrl.pclk_i1/S0}]
set_false_path -to [get_pins {vc707_pcie_x8_gen2_support_i/pipe_clock_i/pclk_i1_bufgctrl.pclk_i1/S1}]
#
#
create_generated_clock -name clk_125mhz_x1y0 [get_pins vc707_pcie_x8_gen2_support_i/pipe_clock_i/mmcm_i/CLKOUT0]
create_generated_clock -name clk_250mhz_x1y0 [get_pins vc707_pcie_x8_gen2_support_i/pipe_clock_i/mmcm_i/CLKOUT1]
create_generated_clock -name clk_125mhz_mux_x1y0 \
-source [get_pins vc707_pcie_x8_gen2_support_i/pipe_clock_i/pclk_i1_bufgctrl.pclk_i1/I0] \
-divide_by 1 \
[get_pins vc707_pcie_x8_gen2_support_i/pipe_clock_i/pclk_i1_bufgctrl.pclk_i1/O]
#
create_generated_clock -name clk_250mhz_mux_x1y0 \
-source [get_pins vc707_pcie_x8_gen2_support_i/pipe_clock_i/pclk_i1_bufgctrl.pclk_i1/I1] \
-divide_by 1 -add -master_clock [get_clocks -of [get_pins vc707_pcie_x8_gen2_support_i/pipe_clock_i/pclk_i1_bufgctrl.pclk_i1/I1]] \
[get_pins vc707_pcie_x8_gen2_support_i/pipe_clock_i/pclk_i1_bufgctrl.pclk_i1/O]
#
set_clock_groups -name pcieclkmux -physically_exclusive -group clk_125mhz_mux_x1y0 -group clk_250mhz_mux_x1y0 都是一些tcl语句的集合,在tcl console中直接输入这些语句也是没有问题的。 3,.xci文件,这是定制ip产生的文件,里面包含了定制的ip核的所有信息,可以通过这个文件产生需要的ip核,作用和.dcp文件差不多。ip核中也有.dcp文件,关于选择.xci文件还是.dcp文件,在vivado中的ip定制中会总结。 4,.rpt文件,这个是每个过程结束输出的一个report文件,用来记录各个过程中的一些信息,和ise中的多种输出文件格式相比,这样的统一格式显然更好一点。
我要赚赏金
