Vivado各个过程产生的文件与ISE的对比

今天疑问xci文件,想来应该是IP文件,但还是存在怀疑,于是看到了这篇文章,转载过来:https://blog.csdn.net/Buyi_Shizi/article/details/51658407

在Xilinx ISE中不同的操作都有不同的文件类型对应,例如综合、布局、布线、生成比特流等都会产生特定格式的文件,在vivado中也是一样,只不过在vivado中,文件的格式相比于ISE中更加统一。

  •     .dcp文件,在ise中每个过程都会产生特定格式的文件,例如.ncd, .pcf, .ngd等等,但是在vivado中,不论是综合还是布局布线都只会产生一种格式的文件,即.dcp文件,每个阶段的.dcp文件都是下一阶段的输入文件,.dcp文件实际上包含了对应阶段处理的信息,用vivado可以直接打开,File->Open Checkpoint.

    .dcp文件主要包括Physical Constraints, Device Constraints, Netlists以及device的信息,如下图所示:

    

    从这可以看出其实.dcp文件就是ise中的网表文件和约束文件的集合,只不过在vivado中被集合在了一个文件里。

  •     .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中的多种输出文件格式相比,这样的统一格式显然更好一点。
 

你可能感兴趣的:(Verilog/FPGA,实用总结区)