0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺析Vivado在非工程模式下的FPGA設(shè)計流程

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2021-06-19 10:52 ? 次閱讀

參考:UG892 UG835

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

非工程模式下基本命令列表


c6f62a6c-d048-11eb-9e57-12bb97331649.png

c72e82cc-d048-11eb-9e57-12bb97331649.png

命令 功能
read_edif 將EDIF或者NGC網(wǎng)表導(dǎo)入當(dāng)前工程的設(shè)計源文件集合中
read_verilog 讀入用于非工程模式會話的Verilog(.v)和SystemVerilog(.sv)源文件
read_vhdl 讀入用于非工程模式會話的VHDL(.vhd或vhdl)源文件
read_ip 讀入用于非工程模式會話的已經(jīng)存在的IP(.xco或者.xci)工程文件。使用來自.xco IP工程的.ngc網(wǎng)表。對于.xci IP,使用RTL用于編譯;或者如果存在網(wǎng)表,則使用網(wǎng)表
read_xdc 讀入用于非工程模式會話的.sdc或者.xdc文件
set_param set_property 用于多個目的。例如,它可以定義設(shè)計配置和工具設(shè)置等
link_design 如果會話中使用網(wǎng)表文件,則對設(shè)計進行編譯,用于綜合目的
synth_design 啟動Vivado綜合,包含設(shè)計的頂層模塊名字和目標(biāo)器件參數(shù)
opt_design 執(zhí)行高層次設(shè)計優(yōu)化
power_opt_design 執(zhí)行智能時鐘門控,用于降低系統(tǒng)的整體功耗(可選)
place_design 對設(shè)計進行布局
phys_opt_design 執(zhí)行物理邏輯優(yōu)化,以改善時序和布線能力(可選)
route_design 對設(shè)計進行布線
report* 運行多個標(biāo)準(zhǔn)的報告,可以在設(shè)計過程的任何一個階段運行它
write_bitstream 生成一個比特流文件,并且運行DRC
write_checkpoint read_checkpoint 在設(shè)計流程的任何點保存設(shè)計。一個設(shè)計檢査點由網(wǎng)表和約束構(gòu)成,它們在設(shè)計流程的該點進行了優(yōu)化,以及包含實現(xiàn)的結(jié)果
start_gui stop_gui 調(diào)用在存儲器中當(dāng)前設(shè)計的Vivado集成開發(fā)環(huán)境

典型TCL腳本

為了方便讀者從整體上了解在Vivado非工程模式下的基本命令的功能,下面將給出用于Vivado設(shè)計套件示例的非工程模式TCL腳本,該腳本可以說明使用設(shè)計檢查點、用于保存設(shè)計流程中各個階段的數(shù)據(jù)庫狀態(tài)和手工生成各種報告的方法。 通過下面的命令運行該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 啟 動 Vivado集 成 開 發(fā) 環(huán) 境 當(dāng)工作在非工程模式時,對于存儲器中活動的設(shè)計來說,使用下面的命令打開/關(guān)閉Vivado集成開發(fā)環(huán)境。

(l)start_gui,打開Vivado集成開發(fā)環(huán)境,用于存儲器中活動的設(shè)計。

(2)stop_gui,關(guān)閉Vivado集成開發(fā)環(huán)境,并且返回“Vivado Design Suite Tcl shell”界面。 在設(shè)計過程的每個階段,設(shè)計者均可以打開Vivado集成開發(fā)環(huán)境,對存儲器中保存的當(dāng)前設(shè)計進行分析和操作。

在非工程模式下,在Vivado集成開發(fā)環(huán)境中,一些工程的特性是不可用的,如Flow Navigator、Project Summary,以及源文件的訪問、管理和運行。

然而,通過Vivado集成開發(fā)環(huán)境的Tools菜單,可以使用分析及修改約束等很多特性。 需要知道的是,在Vivado集成開發(fā)環(huán)境中,對存儲器中的設(shè)計所做的任何變化都會自動應(yīng)用到下游工具中,這里沒有保存的功能。如果設(shè)計者想要將約束的變化用于后續(xù)的運行,則在Vivado集成幵發(fā)的環(huán)境的主菜單下,執(zhí)行菜單命令【File】—【Export】—【Export Constraints】,寫到一個新的包含所有XDC文件的文件中。

3.2 打開設(shè)計檢查點的方法 通過Vivado集成設(shè)計環(huán)境,設(shè)計者可以在保存的設(shè)計點上對設(shè)計進行分析。

通過使用Tcl命令(synth_design、opt_design、power_opt_design、place_design、phys_opt_design和route_deSign),設(shè)計者可以在非工程模式下運行一個設(shè)計,并且可以在任何階段保存一個設(shè)計。這樣,就可以在Vivado集成設(shè)計環(huán)境中讀取設(shè)計。

設(shè)計者可以從一個布線后的設(shè)計開始,分析時序,僅通過布局來解決時序問題。然后保存剛才的工作,甚至設(shè)計中還沒有進行的布線操作。Vivado集成設(shè)計環(huán)境顯示打開設(shè)計點的名字。 設(shè)計者可以打開、分析和保存設(shè)計檢查點,也可以將變化保存到新的設(shè)計點。

(1)在Vivado集成開發(fā)環(huán)境下,執(zhí)行菜單命令【File】->【Save Checkpoint】,保存對當(dāng)前設(shè)計檢查點的修改。

(2)在Vivado集成開發(fā)環(huán)境下,執(zhí)行菜單命令【File】—【W(wǎng)rite Checkpoint】,將設(shè)計檢查點的當(dāng)前狀態(tài)保存到一個新的設(shè)計檢查點中。

關(guān)于具體的每個命令的使用下一節(jié)將細致分析。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1641

    文章

    21910

    瀏覽量

    611619
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    819

    瀏覽量

    129331
  • DRC
    DRC
    +關(guān)注

    關(guān)注

    2

    文章

    153

    瀏覽量

    36800
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    823

    瀏覽量

    67869

原文標(biāo)題:無招勝有招-Vivado非工程模式下的FPGA設(shè)計流程

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦

    Vivado HLS設(shè)計流程

    為了盡快把新產(chǎn)品推向市場,數(shù)字系統(tǒng)的設(shè)計者需要考慮如何加速設(shè)計開發(fā)的周期。設(shè)計加速主要可以從“設(shè)計的重用”和“抽象層級的提升”這兩個方面來考慮。Xilinx 推出的 Vivado HLS 工具可以
    的頭像 發(fā)表于 04-16 10:43 ?448次閱讀
    <b class='flag-5'>Vivado</b> HLS設(shè)計<b class='flag-5'>流程</b>

    FS85如何通過OTP編程進行配置?

    FS85 中: \" 通過 OTP 編程進行配置。原型啟用以支持項目期間的自定義設(shè)置 工程模式開發(fā)。
    發(fā)表于 03-24 06:03

    數(shù)字集成電路 Verilog 熟悉vivado FPGA微電子、電子工程

    1、計算機、微電子、電子工程等相關(guān)專業(yè)碩士; 2、熟悉數(shù)字集成電路基本原理、設(shè)計技巧、設(shè)計流程及相關(guān)EDA工具; 3、精通Verilog語言,熟悉AMBA協(xié)議; 4、有FPGA開發(fā)或SOC設(shè)計經(jīng)驗優(yōu)先; 5、具有較強的獨立工作能
    發(fā)表于 02-11 18:03

    【米爾-Xilinx XC7A100T FPGA開發(fā)板試用】Key-test

    硬件: 一Xilinx XC7A100T FPGA開發(fā)板 二12V電源適配器 三載器 四 win10筆記本 軟件: 一Vivado (指導(dǎo)手冊有詳細的安裝下載流程) 二官方按鍵示例
    發(fā)表于 01-09 16:08

    助力AIoT應(yīng)用:米爾FPGA開發(fā)板上實現(xiàn)Tiny YOLO V4

    量化為定點精度(例如 INT8),而非浮點數(shù)。這在維持準(zhǔn)確度的同時顯著降低計算量,尤其適合 FPGA 的固定點運算支持。 Tiny YOLO 模型 Vivado HLS 中的層層轉(zhuǎn)化流程
    發(fā)表于 12-06 17:18

    Vivado之實現(xiàn)布局布線流程介紹

    一、前言 本文將介紹Vivado進行綜合,以及布局布線的內(nèi)部流程,熟悉該流程后結(jié)合Settings中對應(yīng)的配置選項,對于時序收斂調(diào)試將更具有針對性。 二、Implementation(實現(xiàn)) 實現(xiàn)
    的頭像 發(fā)表于 12-06 09:08 ?1389次閱讀
    <b class='flag-5'>Vivado</b>之實現(xiàn)布局布線<b class='flag-5'>流程</b>介紹

    多平臺FPGA工程快速移植與構(gòu)建

    作為一名FPGA工程師,經(jīng)常需要在多個FPGA設(shè)備之間移植項目,核心的問題是IP的管理和移植,今天通過安裝和使用 FuseSoC 多個 AMD F
    的頭像 發(fā)表于 11-20 16:12 ?1626次閱讀
    多平臺<b class='flag-5'>FPGA</b><b class='flag-5'>工程</b>快速移植與構(gòu)建

    每次Vivado編譯的結(jié)果都一樣嗎

    很多FPGA工程師都有這種困惑,Vivado每次編譯的結(jié)果都一樣嗎? AMD官網(wǎng)上,有這樣一個帖子: Are Vivado results
    的頭像 發(fā)表于 11-11 11:23 ?972次閱讀
    每次<b class='flag-5'>Vivado</b>編譯的結(jié)果都一樣嗎

    Vivado使用小技巧

    后的約束之前版本中已存在,那么Vivado會給出警告信息,顯示這些約束會覆蓋之前已有的約束;如果是新增約束,那么就會直接生效。
    的頭像 發(fā)表于 10-24 15:08 ?787次閱讀
    <b class='flag-5'>Vivado</b>使用小技巧

    解決睡眠模式進入系統(tǒng)速度命令模式的問題

    電子發(fā)燒友網(wǎng)站提供《解決睡眠模式進入系統(tǒng)速度命令模式的問題.pdf》資料免費下載
    發(fā)表于 09-24 10:34 ?0次下載
    解決睡眠<b class='flag-5'>模式</b>進入系統(tǒng)<b class='flag-5'>在</b>速度命令<b class='flag-5'>模式</b><b class='flag-5'>下</b>的問題

    優(yōu)化 FPGA HLS 設(shè)計

    ,將設(shè)計導(dǎo)出到 RTL 中的 Vivado 項目中。“解決方案”,選擇“導(dǎo)出 RTL”。 它將在后臺執(zhí)行 Vivado 并生成項目文件 (XPR)。它還應(yīng)該編譯設(shè)計,并
    發(fā)表于 08-16 19:56

    如何在服務(wù)器上調(diào)試本地FPGA板卡

    ?》。 簡介 Vivado 可以功能更強大的服務(wù)器上遠程運行,同時可以本地PC上連接的 FPGA 板卡上進行開發(fā)調(diào)試。在此配置中,服務(wù)器和工作站必須安
    發(fā)表于 07-31 17:36

    FPGA無芯片HDMI接入方案及源碼

    FPGA 無外部PHY芯片情況輸出HDMI,目前是比較成熟的方案(外部電路需要轉(zhuǎn)換成TMDS電平)。無PHY芯片情況怎么進行H
    發(fā)表于 07-16 19:25

    一個更適合工程師和研究僧的FPGA提升課程

    各位編程精英er~ F學(xué)社打造的FPGA工程師培訓(xùn)班上線后,有不少同學(xué)后臺私信詢問:“能不能出個那種專門針對某個知識點的課程呢?我想針對自己的薄弱點深入學(xué)習(xí)?!? 貼心如我,當(dāng)然會滿足大家的學(xué)習(xí)
    發(fā)表于 06-05 10:09

    不重新安裝Vivado的情況,是否能夠安裝線纜驅(qū)動器?

    如果 Xilinx USB/Digilent 線纜驅(qū)動器安裝 Vivado 設(shè)計套件時還沒有安裝,或者 Xilinx USB/Digilent 線纜驅(qū)動器被禁用,不全面重新安裝 Vivad
    的頭像 發(fā)表于 05-16 11:21 ?921次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品