1. 程式人生 > >vivado中各個檔案的含義

vivado中各個檔案的含義

    在Xilinx ISE中不同的操作都有不同的檔案型別對應,例如綜合、佈局、佈線、生成位元流等都會產生特定格式的檔案,在vivado中也是一樣,只不過在vivado中,檔案的格式相比於ISE中更加同一。

    1,.dcp檔案,在ise中每個過程都會產生特定格式的檔案,例如.ncd, .pcf, .ngd等等,但是在vivado中,不論是綜合還是佈局佈線都只會產生一種格式的檔案,即.dcp檔案,每個階段的.dcp檔案都是下一階段的輸入檔案,.dcp檔案實際上包含了對應階段處理的資訊,用vivado可以直接開啟,File->Open Checkpoint.

    .dcp檔案主要包括Physical Constraints, Device Constraints, Netlists以及device的資訊,如下圖所示:

    

    從這可以看出其實.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中的多種輸出檔案格式相比,這樣的統一格式顯然更好一點。