<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

關于Vivado non-project模式

傅里葉的貓 ? 來源:傅里葉的貓 ? 作者:張大俠 ? 2022-10-17 10:09 ? 次閱讀

vivado有project模式和non-project模式,project模式就是我們常用的方式,在vivado里面新建工程,通過GUI界面去操作;non-project模式就是純粹通過tcl來指定vivado的流程、參數。

相比于project模式,non-project模式的優勢如下:

45ec0562-4cf8-11ed-a3b6-dac502259ad0.png

總結下來就是,不僅節省空間,還更加靈活。

下面我們以vivado中自帶的wavegen工程為例:

460f59ea-4cf8-11ed-a3b6-dac502259ad0.png
image-20221015225402004

為了更加快捷的完成non-project的tcl內容,我們可以先把wavegen工程進行Synthsis和Implementation,在wavegen.runs下面會生成synth_1和impl_1的兩個目錄,這兩個目錄都有wavegen.tcl,我們可以直接將里面的有用內容copy出來,用來創建non-project的tcl,具體操作就不展開細講了,直接把最終的tcl文件展示出來,就很很容易理解了:

#========================================================//
#FileName:build.tcl
#Author:ZhangHaijun
#Version:v1.0
#Discription:vivado-modebatch-sourcebuild.tcl
#========================================================//
#!/usr/bin/tclsh
set_paramgeneral.maxthreads8
set_partxcku035-fbva900-2-e
#readfiles
read_verilog/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/clogb2.vh
read_verilog-libraryxil_defaultlib{
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/clk_div.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/clk_gen.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/clkx_bus.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/cmd_parse.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/dac_spi.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/debouncer.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/lb_ctl.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/meta_harden.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/out_ddr_flop.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/reset_bridge.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/resp_gen.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/rst_gen.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/samp_gen.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/samp_ram.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/to_bcd.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/uart_baud_gen.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/uart_rx.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/uart_rx_ctl.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/uart_tx.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/uart_tx_ctl.v
/home/henry/fpga/wavegen/wavegen.srcs/sources_1/imports/Sources/kintexu/wave_gen.v
}
#readip
read_ip-quiet/home/henry/fpga/wavegen/wavegen.srcs/sources_1/ip/clk_core/clk_core.xci
read_ip-quiet/home/henry/fpga/wavegen/wavegen.srcs/sources_1/ip/char_fifo/char_fifo.xci
#readconstraints
read_xdc/home/henry/fpga/wavegen/wavegen.srcs/constrs_1/imports/xcku035-fbva900-2-e/wave_gen_timing.xdc
read_xdc/home/henry/fpga/wavegen/wavegen.srcs/constrs_1/imports/xcku035-fbva900-2-e/wave_gen_pins.xdc
#generateips
generate_targetall[get_ips]
#synthesizedesign
synth_design-topwave_gen-partxcku035-fbva900-2-e
write_checkpoint-force-noxdefsynth.dcp
#opt_design
opt_design
write_checkpoint-forceopt.dcp
#placedesign
place_design
write_checkpoint-forceplaced.dcp
phys_opt_design
write_checkpoint-forcephysopt.dcp
#routedesign
route_design
write_checkpoint-forcerouted.dcp
report_timing_summary-max_paths10-report_unconstrained-filewave_gen_timing_summary_routed.rpt-pbwave_gen_timing_summary_routed.pb-rpxwave_gen_timing_summary_routed.rpx-warn_on_violation
#writebitfile
write_bitstream-force./wave_gen.bit

對于綜合時間上,理論上non-project模式要比project模式快一些,因為project模式會把每一步的結果都寫入到磁盤中,但non-project中,我們只需要把我們想需要的文件存下來。

在上面的腳本中,也基本上把每一步的結果都存了下來,而且本身Synthsis和Implement的時間也不到2分鐘,所以跟project模式的時間并沒有明顯差別。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • project
    +關注

    關注

    0

    文章

    35

    瀏覽量

    13207
  • Vivado
    +關注

    關注

    18

    文章

    791

    瀏覽量

    65388

原文標題:Vivado non-project模式示例

文章出處:【微信號:傅里葉的貓,微信公眾號:傅里葉的貓】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Vivado工程模式和非工程模式的比較

    01. Vivado的兩種工作模式 Vivado設計有工程和非工程兩種模式: 1. 工程模式: 工程模式
    的頭像 發表于 11-09 17:15 ?4047次閱讀
    <b class='flag-5'>Vivado</b>工程<b class='flag-5'>模式</b>和非工程<b class='flag-5'>模式</b>的比較

    系統級設計輸入

    and Non-Project Mode . . . . . . . . . . . . . . . . . . . . . . . 5Chapter 2: Working
    發表于 11-15 10:37

    怎么將Vivado項目轉換為ISE項目

    Designer的步驟。以上來自于谷歌翻譯以下為原文I would like to know if it is possible to convert a Vivado project
    發表于 12-20 11:24

    Vivado 2017.2關閉

    an issue with Vivado 2017.2 and also 2017.1. Vivado closes when opening a project or adding new source
    發表于 12-26 11:28

    無法打開Vivado項目

    ,Linux VM運行在與Vivado項目設計不同的機器上。以上來自于谷歌翻譯以下為原文I am trying to open a Vivado project that was created
    發表于 03-28 15:25

    VIVADO從此開始高亞軍編著

    Non-Project模式下使用OOC / 542.4 綜合后的設計分析 / 542.4.1 時鐘網絡分析 / 542.4.2 跨時鐘域路徑分析 / 562.4.3 時序分析 / 602.4.4 資源利用率分析
    發表于 10-21 18:24

    Vivado設計流程指導手冊

    Vivado 設計分為 Project Mode 和 Non-project Mode 兩種模式,一般簡單設計中,我們常用的是 Project
    發表于 09-20 07:37

    Vivado Synthesis中如何為Verilog代碼中的“include file”設置路徑?

    是在rapidio參考設計中摘出的一段代碼,示例了這種用法: 那么在Vivado GUI中,該如何設置,可以使得代碼可以準確找到這個include的文件呢? 1. 在Non-Project Mode
    發表于 11-10 14:49 ?9249次閱讀

    關于Vivado 2019.1的Dashboard功能詳解

    關于Vivado Dashboard的功能可閱讀這篇文章(Vivado 2018.3這個Gadget你用了嗎)Vivado 2019.1的Dashboard功能進一步增強。
    的頭像 發表于 06-12 14:49 ?7879次閱讀
    <b class='flag-5'>關于</b><b class='flag-5'>Vivado</b> 2019.1的Dashboard功能詳解

    如何用Tcl實現Vivado設計流程介紹

    Vivado有兩種工作模式project模式non-project模式。這兩種
    的頭像 發表于 10-21 10:58 ?3396次閱讀
    如何用Tcl實現<b class='flag-5'>Vivado</b>設計流程介紹

    Vivado設計流程指導手冊

    Vivado 設計分為 Project Mode 和 Non-project Mode 兩種模式,一般簡單設計中,我們常用的是 Project
    發表于 03-22 11:39 ?50次下載
    <b class='flag-5'>Vivado</b>設計流程指導手冊

    Vivado設計流程指導說明

    Vivado 設計分為 Project Mode 和 Non-project Mode 兩種模式,一般簡單設計中,我們常用的是 Project
    發表于 03-25 14:39 ?28次下載

    如何在批模式下運行 Vivado 仿真器?

    在 Windows 下,我喜歡在批處理模式下運行 Vivado 仿真器。 我創建了仿真批文件 (.bat) ,包含以下命令。當我運行批文件,執行第一條命令后腳本中止。如何正確在批模式下運行 V
    發表于 08-01 09:43 ?857次閱讀

    關于Vivado Non-project,我們應知道的一些問題

    Vivado支持Project模式也支持Non-Project模式。兩者既可以支持圖形界面也支持Tcl命令,但用到的Tcl命令是不同的,不能
    的頭像 發表于 12-15 13:51 ?1309次閱讀

    如果IP已經采用OOC綜合那么是否可以將其修改為Global綜合方式?

    相比于Project模式,Vivado Non-Project模式可以提供用戶更多的控制權,進而用戶可以自主管理整個編譯流程
    的頭像 發表于 11-16 09:11 ?619次閱讀
    如果IP已經采用OOC綜合那么是否可以將其修改為Global綜合方式?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>