參考:UG892 UG835
Vivado集成開發(fā)工具為設(shè)計(jì)者提供了非工程模式下的FPGA設(shè)計(jì)流程。在Vivado非工程模式下,F(xiàn)PGA開發(fā)人員可以更加靈活地對(duì)設(shè)計(jì)過程的每個(gè)階段進(jìn)行控制,從而進(jìn)一步提高FPGA的設(shè)計(jì)效率。
非工程模式下基本命令列表


| 命令 | 功能 |
| read_edif | 將EDIF或者NGC網(wǎng)表導(dǎo)入當(dāng)前工程的設(shè)計(jì)源文件集合中 |
| read_verilog | 讀入用于非工程模式會(huì)話的Verilog(.v)和SystemVerilog(.sv)源文件 |
| read_vhdl | 讀入用于非工程模式會(huì)話的VHDL(.vhd或vhdl)源文件 |
| read_ip | 讀入用于非工程模式會(huì)話的已經(jīng)存在的IP(.xco或者.xci)工程文件。使用來自.xco IP工程的.ngc網(wǎng)表。對(duì)于.xci IP,使用RTL用于編譯;或者如果存在網(wǎng)表,則使用網(wǎng)表 |
| read_xdc | 讀入用于非工程模式會(huì)話的.sdc或者.xdc文件 |
| set_param set_property | 用于多個(gè)目的。例如,它可以定義設(shè)計(jì)配置和工具設(shè)置等 |
| link_design | 如果會(huì)話中使用網(wǎng)表文件,則對(duì)設(shè)計(jì)進(jìn)行編譯,用于綜合目的 |
| synth_design | 啟動(dòng)Vivado綜合,包含設(shè)計(jì)的頂層模塊名字和目標(biāo)器件參數(shù) |
| opt_design | 執(zhí)行高層次設(shè)計(jì)優(yōu)化 |
| power_opt_design | 執(zhí)行智能時(shí)鐘門控,用于降低系統(tǒng)的整體功耗(可選) |
| place_design | 對(duì)設(shè)計(jì)進(jìn)行布局 |
| phys_opt_design | 執(zhí)行物理邏輯優(yōu)化,以改善時(shí)序和布線能力(可選) |
| route_design | 對(duì)設(shè)計(jì)進(jìn)行布線 |
| report* | 運(yùn)行多個(gè)標(biāo)準(zhǔn)的報(bào)告,可以在設(shè)計(jì)過程的任何一個(gè)階段運(yùn)行它 |
| write_bitstream | 生成一個(gè)比特流文件,并且運(yùn)行DRC |
| write_checkpoint read_checkpoint | 在設(shè)計(jì)流程的任何點(diǎn)保存設(shè)計(jì)。一個(gè)設(shè)計(jì)檢査點(diǎn)由網(wǎng)表和約束構(gòu)成,它們?cè)谠O(shè)計(jì)流程的該點(diǎn)進(jìn)行了優(yōu)化,以及包含實(shí)現(xiàn)的結(jié)果 |
| start_gui stop_gui | 調(diào)用在存儲(chǔ)器中當(dāng)前設(shè)計(jì)的Vivado集成開發(fā)環(huán)境 |
典型TCL腳本
為了方便讀者從整體上了解在Vivado非工程模式下的基本命令的功能,下面將給出用于Vivado設(shè)計(jì)套件示例的非工程模式TCL腳本,該腳本可以說明使用設(shè)計(jì)檢查點(diǎn)、用于保存設(shè)計(jì)流程中各個(gè)階段的數(shù)據(jù)庫(kù)狀態(tài)和手工生成各種報(bào)告的方法。 通過下面的命令運(yùn)行該Tcl腳本文件: vivado -mode tcl –source create_bft_batch.tcl
|
Following is an example of a Non-Project Mode script, which reads in various source files: # create_bft_batch.tcl # bft sample design # A Vivado script that demonstrates a very simple RTL-to-bitstream batch flow # # NOTE: typical usage would be "vivado -mode tcl -source create_bft_batch.tcl" # # STEP#0: define output directory area. # set outputDir ./Tutorial_Created_Data/bft_output file mkdir $outputDir # # STEP#1: setup design sources and constraints # read_vhdl -library bftLib [ glob ./Sources/hdl/bftLib/*.vhdl ] read_vhdl ./Sources/hdl/bft.vhdl read_verilog [ glob ./Sources/hdl/*.v ] read_xdc ./Sources/bft_full.xdc # # STEP#2: run synthesis, report utilization and timing estimates, write checkpoint design # synth_design -top bft -part xc7k70tfbg484-2 -flatten rebuilt write_checkpoint -force $outputDir/post_synth report_timing_summary -file $outputDir/post_synth_timing_summary.rpt report_power -file $outputDir/post_synth_power.rpt # # STEP#3: run placement and logic optimzation, report utilization and timing estimates, write checkpoint design # opt_design place_design phys_opt_design write_checkpoint -force $outputDir/post_place report_timing_summary -file $outputDir/post_place_timing_summary.rpt # # STEP#4: run router, report actual utilization and timing, write checkpoint design, run drc, write verilog and xdc out # route_design write_checkpoint -force $outputDir/post_route report_timing_summary -file $outputDir/post_route_timing_summary.rpt report_timing -sort_by group -max_paths 100 -path_type summary -file $outputDir/post_route_timing.rpt report_clock_utilization -file $outputDir/clock_util.rpt report_utilization -file $outputDir/post_route_util.rpt report_power -file $outputDir/post_route_power.rpt report_drc -file $outputDir/post_imp_drc.rpt write_verilog -force $outputDir/bft_impl_netlist.v write_xdc -no_fixed_only -force $outputDir/bft_impl.xdc # # STEP#5: generate a bitstream # write_bitstream -force $outputDir/bft.bit |
Vivado集成開發(fā)環(huán)境分析
3.1 啟 動(dòng) Vivado集 成 開 發(fā) 環(huán) 境 當(dāng)工作在非工程模式時(shí),對(duì)于存儲(chǔ)器中活動(dòng)的設(shè)計(jì)來說,使用下面的命令打開/關(guān)閉Vivado集成開發(fā)環(huán)境。
(l)start_gui,打開Vivado集成開發(fā)環(huán)境,用于存儲(chǔ)器中活動(dòng)的設(shè)計(jì)。
(2)stop_gui,關(guān)閉Vivado集成開發(fā)環(huán)境,并且返回“Vivado Design Suite Tcl shell”界面。 在設(shè)計(jì)過程的每個(gè)階段,設(shè)計(jì)者均可以打開Vivado集成開發(fā)環(huán)境,對(duì)存儲(chǔ)器中保存的當(dāng)前設(shè)計(jì)進(jìn)行分析和操作。
在非工程模式下,在Vivado集成開發(fā)環(huán)境中,一些工程的特性是不可用的,如Flow Navigator、Project Summary,以及源文件的訪問、管理和運(yùn)行。
然而,通過Vivado集成開發(fā)環(huán)境的Tools菜單,可以使用分析及修改約束等很多特性。 需要知道的是,在Vivado集成開發(fā)環(huán)境中,對(duì)存儲(chǔ)器中的設(shè)計(jì)所做的任何變化都會(huì)自動(dòng)應(yīng)用到下游工具中,這里沒有保存的功能。如果設(shè)計(jì)者想要將約束的變化用于后續(xù)的運(yùn)行,則在Vivado集成幵發(fā)的環(huán)境的主菜單下,執(zhí)行菜單命令【File】—【Export】—【Export Constraints】,寫到一個(gè)新的包含所有XDC文件的文件中。
3.2 打開設(shè)計(jì)檢查點(diǎn)的方法 通過Vivado集成設(shè)計(jì)環(huán)境,設(shè)計(jì)者可以在保存的設(shè)計(jì)點(diǎn)上對(duì)設(shè)計(jì)進(jìn)行分析。
通過使用Tcl命令(synth_design、opt_design、power_opt_design、place_design、phys_opt_design和route_deSign),設(shè)計(jì)者可以在非工程模式下運(yùn)行一個(gè)設(shè)計(jì),并且可以在任何階段保存一個(gè)設(shè)計(jì)。這樣,就可以在Vivado集成設(shè)計(jì)環(huán)境中讀取設(shè)計(jì)。
設(shè)計(jì)者可以從一個(gè)布線后的設(shè)計(jì)開始,分析時(shí)序,僅通過布局來解決時(shí)序問題。然后保存剛才的工作,甚至設(shè)計(jì)中還沒有進(jìn)行的布線操作。Vivado集成設(shè)計(jì)環(huán)境顯示打開設(shè)計(jì)點(diǎn)的名字。 設(shè)計(jì)者可以打開、分析和保存設(shè)計(jì)檢查點(diǎn),也可以將變化保存到新的設(shè)計(jì)點(diǎn)。
(1)在Vivado集成開發(fā)環(huán)境下,執(zhí)行菜單命令【File】->【Save Checkpoint】,保存對(duì)當(dāng)前設(shè)計(jì)檢查點(diǎn)的修改。
(2)在Vivado集成開發(fā)環(huán)境下,執(zhí)行菜單命令【File】—【W(wǎng)rite Checkpoint】,將設(shè)計(jì)檢查點(diǎn)的當(dāng)前狀態(tài)保存到一個(gè)新的設(shè)計(jì)檢查點(diǎn)中。
關(guān)于具體的每個(gè)命令的使用下一節(jié)將細(xì)致分析。
編輯:jq
-
FPGA
+關(guān)注
關(guān)注
1653文章
22271瀏覽量
629821 -
vhdl
+關(guān)注
關(guān)注
30文章
820瀏覽量
131297 -
DRC
+關(guān)注
關(guān)注
2文章
156瀏覽量
37905 -
Vivado
+關(guān)注
關(guān)注
19文章
846瀏覽量
70431
原文標(biāo)題:無招勝有招-Vivado非工程模式下的FPGA設(shè)計(jì)流程
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Windows環(huán)境下用Vivado調(diào)試E203
Windows系統(tǒng)下用vivado將電路燒寫到MCU200T板載FLASH的方法
FPGA板下載運(yùn)行調(diào)試流程
FPGA板下載調(diào)試流程
win10環(huán)境下使用vivado生成.bit與.mcs文件
沒有開發(fā)板的情況下,在Vivado上進(jìn)行蜂鳥E203的基礎(chǔ)內(nèi)核的drystone跑分
vcs和vivado聯(lián)合仿真
FPGA開發(fā)板vivado綜合、下載程序問題匯總
vivado仿真時(shí)GSR信號(hào)的影響
Vivado無法選中開發(fā)板的常見原因及解決方法
AMD FPGA異步模式與同步模式的對(duì)比
適用于Versal的AMD Vivado 加快FPGA開發(fā)完成Versal自適應(yīng)SoC設(shè)計(jì)
Vivado HLS設(shè)計(jì)流程
【米爾-Xilinx XC7A100T FPGA開發(fā)板試用】Key-test
Vivado之實(shí)現(xiàn)布局布線流程介紹

淺析Vivado在非工程模式下的FPGA設(shè)計(jì)流程
評(píng)論