哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

Git進(jìn)行Vivado工程管理的教程分享

454398 ? 來(lái)源:科學(xué)計(jì)算technomania ? 作者:貓叔 ? 2020-11-16 14:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:貓叔

git有多好用我就不用多說(shuō)了,可謂是程序員必備技能之一。對(duì)于一般的軟件代碼來(lái)說(shuō),只需把源文件進(jìn)行g(shù)it管理即可。但對(duì)于FPGA工程師來(lái)說(shuō),使用git多多少少有些蛋疼,主要有下面幾個(gè)問(wèn)題:

① 有bd文件的工程中,只把bd文件加入git是不行的;

② 很多公司都會(huì)有一些積累下來(lái)的hdl文件,放到某個(gè)文件夾中,所有的工程目錄下都會(huì)有這個(gè)文件夾,因此這個(gè)文件中會(huì)有很多不是當(dāng)前工程的文件,因此git的文件中,必須包含當(dāng)前工程的files list,否則就得重新添加文件;

③ 如果把整個(gè)Vivado工程都放入git,非必要文件太多,既浪費(fèi)git服務(wù)器的空間,Push和Pull的速度也會(huì)很慢;

④ 很多FPGA工程師有自己的一套git管理Vivado的流程,但每次push前和Clone后都需要做很多操作。

最近我也一直在研究Vivado工程git的管理方式,查了網(wǎng)上很多方法,但有些操作略復(fù)雜,有些方法完全不起效,但好在最終綜合整理出了一種相對(duì)簡(jiǎn)單的方式進(jìn)行,也許這種方式不是最合適的,如果你有更好的方法,希望能分享出來(lái)。

我們這篇文章只講Vivado的工程,不包括HLS或者Sdk工程,因?yàn)檫@這兩個(gè)工具都是純C/C++/TCL的,git管理起來(lái)比較簡(jiǎn)單

1. 工程目錄

我們采用如下的目錄結(jié)構(gòu),這種方式也是Xilinx官網(wǎng)某個(gè)教程上推薦的,

Work目錄:Vivado的工程全都放在Work目錄下,包括bd以及它的相關(guān)文件;

Src目錄:放hdl的源文件以及IP Core的源文件;

Doc目錄:放跟工程相關(guān)的文檔,如果沒(méi)有的話可以不加;

Mcs目錄:放工程生成的bit和mcs文件,這個(gè)文件也看個(gè)人用途,如果覺(jué)得bit文件太大不想放在git上也無(wú)所謂,但個(gè)人覺(jué)得在調(diào)試的時(shí)候經(jīng)常會(huì)用到之前測(cè)試好了某個(gè)bit;

Scripts目錄:也是進(jìn)行g(shù)it管理的關(guān)鍵,里面放各種Tcl腳本;

如果工程中有SDK/HLS/SsyGen,可以在該目錄下再增加文件夾專(zhuān)門(mén)放置對(duì)應(yīng)的工程文件。

2. 操作步驟

1. 在打開(kāi)的Vivado工程中,通過(guò)Tcl Console將目錄切換到Work目錄:

cd [get_property directory [current_project ]]

2. 生成新建工程的Tcl腳本,執(zhí)行:

write_project_tcl {./Scripts/s1_recreate_project.tcl}

3. 依次生成bd文件的tcl腳本,比如工程中有兩個(gè)bd文件aa.bd和bb.bd,打開(kāi)aa.bd,并執(zhí)行:

write_bd_tcl {./Scripts/s2_aa_bd.tcl}

打開(kāi)bb.bd,并執(zhí)行:

write_bd_tcl {./Scripts/s3_bb_bd.tcl}

這樣,在Scripts文件夾中,就會(huì)多出三個(gè)文件:

4. 在.gitignore文件中,把整個(gè)Work目錄全部ignore掉,Src文件夾中根據(jù)實(shí)際情況進(jìn)行ignore即可,HDL文件都保留,IP Core只留.xci文件;Scripts目錄全部保留。

5. 到這一步,就可以進(jìn)行Commit和Push了。

6. 把程序Clone下來(lái)后,首先要修改s1_recreate_project.tcl,需要修改的地方有兩個(gè):一個(gè)是新建工程時(shí)的路徑,原始文件為:

替換為:

第二處需要更改的是刪除files list中的bd文件信息,如下圖中框起來(lái)的部分,這部分內(nèi)容是將文件添加到工程中,但此時(shí)我們的bd文件還沒(méi)有生成,因此這兩個(gè)要?jiǎng)h掉。bd文件是我們通過(guò)后面的tcl腳本添加進(jìn)來(lái)的。

7. 切換到Scripts目錄

8. 依次執(zhí)行:

source ./s1_recreate_project.tcl
source ./s2_aa_bd.tcl
source ./s3_bb_bd.tcl

OK,到這里工程就Clone完成了!?。?/p>

下面說(shuō)一下我操作的過(guò)程中碰到的幾個(gè)問(wèn)題:

1. 如果是DDR3的MIG IP Core,會(huì)有Configuration Files,如果我們修改了MIG,并重新生成后,就會(huì)經(jīng)常出現(xiàn)這個(gè)Configuration Files找不到的情況,像下面這樣:

這樣就要我們?cè)趯?dǎo)出s1_recreate_project.tcl前要先把這個(gè)文件替換成正確的文件。如果MIG是放在到bd中,那么在上述的第6步修改s1_recreate_project.tcl中,也要把mig_*.prj文件刪掉,因?yàn)檫@個(gè)文件是在新建MIG時(shí)自動(dòng)生成的。

2. 有些朋友用bd的時(shí)候喜歡用wrapper.v的文件來(lái)封一層,這個(gè)wrapper.v是Vivado自動(dòng)生成的,而且默認(rèn)目錄就是在Work的工程目錄下,我們可以不用管這個(gè)wrapper.v的文件,等bd文件添加進(jìn)去后,再手動(dòng)生成一下即可;也可以不使用wrapper.v,直接例化bd文件。

3. 上面這種方法是在Vivado2017.2上進(jìn)行的測(cè)試,如果是2017.4及以上的版本,write_project.tcl指令中需要增加-use_bd_files選項(xiàng),也就是:

write_project_tcl -use_bd_files {./Scripts/s1_recreate_project.tcl}

如果不加這個(gè)選項(xiàng),默認(rèn)會(huì)把bd文件信息也導(dǎo)出,這樣在運(yùn)行時(shí)會(huì)提示么有發(fā)現(xiàn)bd文件的錯(cuò)誤。

4. 如果是低版本的工程進(jìn)行g(shù)it后,要用高版本的Vivado打開(kāi),我們可以在導(dǎo)出bd時(shí)去掉IP的版本信息,也就是:

write_bd_tcl -no_ip_version {./Scripts/s2_aa_bd.tcl}

總結(jié)

我嘗試了網(wǎng)上很多方法基本都不能直接使用,但他們既然把方法放到網(wǎng)上,說(shuō)明是經(jīng)過(guò)測(cè)試的,但可能測(cè)試的并不是特別全面,就是MIG的IP一樣,如果我的工程中沒(méi)有這個(gè)IP,那我也不知道在git時(shí)會(huì)出現(xiàn)這種問(wèn)題。我也不能保證在使用別的IP時(shí)不會(huì)出現(xiàn)問(wèn)題,但思路都是一樣的,就是把工程的tcl腳本和bd的tcl腳本分開(kāi),先新建工程把非bd文件的內(nèi)容加進(jìn)來(lái),再把bd的文件內(nèi)容添加進(jìn)來(lái)。

編輯:hfy


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

    關(guān)注

    0

    文章

    207

    瀏覽量

    17048
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    860

    瀏覽量

    71389
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Vivado中IP核被鎖定的解決辦法

    當(dāng)使用不同版本的Vivado打開(kāi)工程時(shí),IP核被鎖定的情況較為常見(jiàn)。不同版本的Vivado對(duì)IP核的支持程度和處理方式有所不同。
    的頭像 發(fā)表于 02-25 14:00 ?504次閱讀
    <b class='flag-5'>Vivado</b>中IP核被鎖定的解決辦法

    嵌入式開(kāi)發(fā)繞不開(kāi)的版本管理工具——git

    Git是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),由Linux之父Linus Torvalds于2005年用C語(yǔ)言開(kāi)發(fā),主要是為了幫助管理Linux內(nèi)核開(kāi)發(fā)而創(chuàng)建的一個(gè)開(kāi)放源碼的版本控制軟件。Git與常用的版本
    的頭像 發(fā)表于 01-30 16:47 ?1459次閱讀

    使用Vivado 2018.2編譯E203的mcs文件,遇到的問(wèn)題求解

    Hi 各位,我在嘗試使用Vivado 2018.2編譯E203的mcs文件,遇到如下兩個(gè)問(wèn)題: 1. 按照書(shū)中步驟運(yùn)行,執(zhí)行完make mcs之后得到的mcs文件與git中預(yù)編譯出來(lái)的mcs文件有
    發(fā)表于 11-11 06:04

    利用 NucleiStudio IDE 和 vivado 進(jìn)行軟硬件聯(lián)合仿真

    本文利用NucleiStudio IDE 和 vivado 對(duì) NICE demo協(xié)處理器進(jìn)行軟硬件聯(lián)合仿真。 1. 下載demo_nice例程:https://github.com
    發(fā)表于 11-05 13:56

    Vivado仿真之后沒(méi)有出現(xiàn)仿真結(jié)果的解決方法

    一般,在添加好工程所需要的design sources和simulation sources之后,會(huì)進(jìn)行仿真來(lái)驗(yàn)證工程是否有達(dá)到預(yù)期的效果,但是在Run Simulation-&gt
    發(fā)表于 10-31 06:24

    win10環(huán)境下使用vivado生成.bit與.mcs文件

    git clone https://github.com/riscv-mcu/e203_hbirdv2.git)。 2.打開(kāi)vivado,新建工程,這里命名為e203,接著一直Ne
    發(fā)表于 10-27 08:25

    沒(méi)有開(kāi)發(fā)板的情況,在Vivado進(jìn)行蜂鳥(niǎo)E203的基礎(chǔ)內(nèi)核的drystone跑分

    工程 這里我們主要也是參考了論壇中的這篇文章來(lái)創(chuàng)建了一個(gè)Vivado工程,這樣我們一個(gè)可以方便閱讀內(nèi)核代碼,另一方面,這也是我們進(jìn)行仿真的第一步。 創(chuàng)建后整個(gè)內(nèi)核的架構(gòu)大概如下圖:
    發(fā)表于 10-27 06:35

    vivado進(jìn)行benchmark跑分(微架構(gòu)優(yōu)化之前)

    已有的vivado工程中將simulation文件加入sim_source: 將top.v加入,并設(shè)置到頂層: 修改tb_top.v文件(https://www.rvmcu.com
    發(fā)表于 10-24 09:39

    沒(méi)有開(kāi)發(fā)板的情況下,在Vivado進(jìn)行蜂鳥(niǎo)E203的基礎(chǔ)內(nèi)核的drystone跑分

    工程 這里我們主要也是參考了論壇中的這篇文章來(lái)創(chuàng)建了一個(gè)Vivado工程,這樣我們一個(gè)可以方便閱讀內(nèi)核代碼,另一方面,這也是我們進(jìn)行仿真的第一步。 創(chuàng)建后整個(gè)內(nèi)核的架構(gòu)大概如下圖:
    發(fā)表于 10-24 07:36

    vcs和vivado聯(lián)合仿真

    使用vivado2021.02編譯VCS仿真庫(kù)時(shí)一定要加-no_systemc_compile選項(xiàng)進(jìn)行編譯,否則編譯會(huì)出現(xiàn)systemc的錯(cuò)誤,主要也是版本不匹配問(wèn)題; 2.在打開(kāi)的工程中選
    發(fā)表于 10-24 07:28

    Nucleistudio+Vivado協(xié)同仿真教程

    編譯完成后,我們會(huì)在工程目錄下發(fā)現(xiàn)生成了.verilog文件,此即為我們仿真需用到的文件,可以將改文件復(fù)制保存在tb目錄下 聯(lián)合仿真 在我們前面創(chuàng)建的Vivado工程中添加仿真文件
    發(fā)表于 10-23 06:22

    vivado仿真時(shí)GSR信號(hào)的影響

    利用vivado進(jìn)行設(shè)計(jì)xilinx FPGA時(shí),寫(xiě)完設(shè)計(jì)代碼和仿真代碼后,點(diǎn)擊run simulation(啟動(dòng)modelsim進(jìn)行仿真)。
    的頭像 發(fā)表于 08-30 14:22 ?1555次閱讀
    <b class='flag-5'>vivado</b>仿真時(shí)GSR信號(hào)的影響

    Vivado無(wú)法選中開(kāi)發(fā)板的常見(jiàn)原因及解決方法

    在使用 AMD Vivado Design Suite 對(duì)開(kāi)發(fā)板(Evaluation Board)進(jìn)行 FPGA 開(kāi)發(fā)時(shí),我們通常希望在創(chuàng)建工程時(shí)直接選擇開(kāi)發(fā)板,這樣 Vivado
    的頭像 發(fā)表于 07-15 10:19 ?1935次閱讀
    <b class='flag-5'>Vivado</b>無(wú)法選中開(kāi)發(fā)板的常見(jiàn)原因及解決方法

    主流版本控制工具Git vs Perforce P4:架構(gòu)模式、性能、大文件管理及分支管理對(duì)比詳解

    Git vs Perforce P4,如何選型?架構(gòu)模式、性能、大文件管理、分支策略四大維度對(duì)比,幫你全面了解兩者的核心差異,選擇更合適你團(tuán)隊(duì)需求的版本控制系統(tǒng)。
    的頭像 發(fā)表于 06-13 14:52 ?939次閱讀
    主流版本控制工具<b class='flag-5'>Git</b> vs Perforce P4:架構(gòu)模式、性能、大文件<b class='flag-5'>管理</b>及分支<b class='flag-5'>管理</b>對(duì)比詳解

    如何使用One Spin檢查AMD Vivado Design Suite Synth的結(jié)果

    本文講述了如何使用 One Spin 檢查 AMD Vivado Design Suite Synth 的結(jié)果(以 Vivado 2024.2 為例)。
    的頭像 發(fā)表于 05-19 14:22 ?1482次閱讀
    如何使用One Spin檢查AMD <b class='flag-5'>Vivado</b> Design Suite Synth的結(jié)果
    湖南省| 安达市| 安吉县| 班玛县| 方山县| 青冈县| 偏关县| 舒兰市| 德州市| 鹿邑县| 梅州市| 英德市| 沂南县| 翁源县| 龙山县| 团风县| 舞钢市| 佳木斯市| 浙江省| 彰武县| 阳原县| 伊通| 海晏县| 德格县| 红安县| 抚宁县| 湟中县| 黄石市| 徐汇区| 稻城县| 凉城县| 富源县| 崇仁县| 吉水县| 泊头市| 平阴县| 安康市| 普宁市| 曲阳县| 鄱阳县| 玉林市|