在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

淺析Vivado中增量編譯與設(shè)計(jì)鎖定方法與驗(yàn)證

Hx ? 來源:開源博客 ? 作者:OpenFPGA   ? 2021-04-14 12:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1增量實(shí)現(xiàn)

所謂增量實(shí)現(xiàn),更嚴(yán)格地講是增量布局和增量布線。它是在設(shè)計(jì)改動(dòng)較小的情形下參考原始設(shè)計(jì)的布局、布線結(jié)果,將其中未改動(dòng)的模塊、引腳和網(wǎng)線等直接復(fù)用,而對發(fā)生改變的部分重新布局、布線。這樣做的好處是顯而易見的,即節(jié)省運(yùn)行時(shí)間,能提高再次布局、布線結(jié)果的可預(yù)測性,并有助于時(shí)序收斂。

增量實(shí)現(xiàn)由兩個(gè)流程構(gòu)成:原始流程和增量流程,如圖所示。其中,原始流程提供網(wǎng)表。這里的網(wǎng)表可以是布局后的DCP文件,也可以是布線后的DCP文件。

100061279-120586-1.png

增量實(shí)現(xiàn)流程有兩種模式:高復(fù)用模式和低復(fù)用模式。在高復(fù)用模式下,布局、布線會(huì)盡可能地復(fù)用已有布局、布線的結(jié)果。在這種情形下,place_design和route_design都只有三種directive可用,分別為Default、Explore和Quick。

以下兩種情形適合于高復(fù)用模式。

情形1:很小的設(shè)計(jì)改動(dòng)。

情形2:與原始設(shè)計(jì)相比,更新后的設(shè)計(jì)只是添加了調(diào)試模塊,如ILA等。

由此可見,高復(fù)用模式在網(wǎng)表時(shí)序收斂且多達(dá)95%的邏輯單元被復(fù)用時(shí)最為有效。

與高復(fù)用模式相比,低復(fù)用模式則適用于更新后的設(shè)計(jì)與參考設(shè)計(jì)相比有較大的改動(dòng),或者用戶通過read_checkpoint的選項(xiàng)?reuse_objects指定復(fù)用邏輯單元的情況。此時(shí),place_design和route_design的所有?directive均可用。

當(dāng)布局、布線在某些區(qū)域面臨挑戰(zhàn)時(shí),低復(fù)用模式更為有效。例如,從網(wǎng)表中獲得較好的Block RAMDSP的布局,或者時(shí)序難以收斂的邏輯單元。這些都可通過Tcl命令獲得。

一般來說,增量編譯都是與設(shè)計(jì)鎖定聯(lián)合使用的。

2設(shè)計(jì)鎖定與增量編譯方法

為了實(shí)現(xiàn)對模塊的布局(place)、布線(route)的鎖定,僅適用增量編譯是不夠的,因?yàn)樵隽烤幾g的本質(zhì)目的是為了實(shí)現(xiàn)編譯時(shí)間的縮短,還需要引入設(shè)計(jì)鎖定,設(shè)計(jì)鎖定的TCL命令是:lock_design –level routing

下面例說操作方法。

(1)建立工程:建立一個(gè)工程,走完綜合實(shí)現(xiàn)的流程,如圖1所示,該工程將作為樣例工程(工程名:incre_compile_demo),將該工程備份一份(工程名:initial_project,后面對比要用到這個(gè)工程);

100061279-120587-2.png

圖1 建好的工程

(2)找到dcp文件:增量編譯需要有一個(gè)參考文件,這個(gè)參考文件是“參考設(shè)計(jì)”實(shí)現(xiàn)之后生成的,后綴是“.dcp”,該文件的路徑一般在“。. project_1project_1.runsimpl_1”路徑下,如圖2所示,新建一個(gè)文件夾(名字是dcp_file),將該文件復(fù)制到其中,如圖3所示;

100061279-120588-3.png

圖2 dcp文件

100061279-120589-4.png

圖3新建文件夾,復(fù)制dcp文件

(3)鎖定設(shè)計(jì):前面說道,簡單的增量編譯是不能保證模塊固定在某個(gè)位置的,為了實(shí)現(xiàn)這一點(diǎn),需要對設(shè)計(jì)進(jìn)行鎖定,方法是,打開一個(gè)新的Vivado界面,然后打開dcp_file文件夾下的dcp文件(注意選擇“open checkpoint”),如圖4所示;打開后,在TCL Console中輸入命令:“l(fā)ock_design –level routing”,點(diǎn)擊左上角保存,如圖5所示,做完這一步后,設(shè)計(jì)就鎖定好了,dcp文件就可以用了;

100061279-120590-5.png

圖4 vivado打開dcp界面

100061279-120591-6.png

圖5 鎖定設(shè)計(jì)并保存

(4)增量編譯:

1)修改代碼,將頂層模塊(test_compare.v)line263-line266注釋取消,保存,如圖6所示;

2)在主界面菜單欄處,點(diǎn):Flow 》 Create Runs;

3)選both,點(diǎn)next,如圖7所示;

4)勾選make active,點(diǎn)next,如圖8所示;

5)選Do not launch now,點(diǎn)next,如圖9所示;

6)完成后如圖10所示;

7)在impl_2右鍵,選擇“Set Incremental Compile”,選擇步驟(3)中準(zhǔn)備好的dcp文件,示意圖如圖11所示(注意這只是一個(gè)示意圖,圖中選的文件不是步驟(3)準(zhǔn)備好的那個(gè)文件)

8)開始綜合、實(shí)現(xiàn),完成增量編譯過程。

100061279-120592-7.png

圖6 改代碼

100061279-120593-8.png

圖7 選both

100061279-120594-9.png

圖8 make active

100061279-120595-10.png

圖9 Do not launch now

100061279-120596-11.png

圖10 新的run已建好

100061279-120597-12.png

圖11 選擇參考dcp文件

3、正確性驗(yàn)證

怎么證明增量編譯后,原始設(shè)計(jì)成功鎖定了呢?我們來做一個(gè)對照實(shí)驗(yàn)。

樣本1:原始工程,名稱是: initial_project;

樣本2:增量編譯工程,名稱是: incre_compile_demo;

樣本3:原始工程復(fù)制一份出來,不進(jìn)行增量編譯,直接修改代碼(見圖6),重新綜合實(shí)現(xiàn),名稱是:modify_project。

打開三個(gè)工程,之后open implemented design,選取幾個(gè)模塊,觀察其在FPGA上的位置,發(fā)現(xiàn)樣本1和樣本2位置完全一樣,而樣本3和前兩個(gè)樣本不一樣,說明設(shè)計(jì)鎖定是成功的,如圖12、13、14所示。

100061279-120598-13.png

圖12 樣本1位置觀察

100061279-120599-14.png

圖13 樣本2位置觀察

100061279-120600-15.png

圖14 樣本3位置觀察

Vivado下如何鎖定設(shè)計(jì)的模塊的布局布線

Xilinx官方論壇上也有相關(guān)問題的回答。

https://forums.xilinx.com/t5/Vivado/Vivado%E4%B8%8B%E5%A6%82%E4%BD%95%E9.。.。

Vivado下如何鎖定設(shè)計(jì)模塊的布局布線

問題:

我現(xiàn)在設(shè)計(jì)了一個(gè)延時(shí)模塊,應(yīng)用后需要把該模塊的布局和布線全部鎖定,然后在別的項(xiàng)目中直接調(diào)用。現(xiàn)在布局沒有問題。可以通過約束文件來鎖定,就是布線不能大范圍鎖定,否則應(yīng)用時(shí)會(huì)失敗。我已經(jīng)嘗試過增量編譯(調(diào)用DCP文件)的功能,發(fā)現(xiàn)在增量編譯中布局布線并不是全部不變的,個(gè)別走線也是會(huì)變的。請問有辦法把布線也固定下來嗎?(Tool: Vivado17.3 Device: K7)

回答1:如果你用的是Ultrascale/Ultrascale+ , 我覺得PR是個(gè)不錯(cuò)的選擇,你的目標(biāo)模塊可以放在靜態(tài)部分,只占據(jù)很小的一塊面積,剩下大塊的動(dòng)態(tài)部分。但是7系列有很多primitive不能放在動(dòng)態(tài),靜態(tài)的部分包含的邏輯過多,剩下供你修改的邏輯偏少,不太適合目前的應(yīng)用場景。

回答2:關(guān)于鎖定某一個(gè)net的布線路徑,請參考以下步驟:

1.打開跑完布局布線的工程,Open Implemented Design

2.找到你要鎖定布線的net,選中,右鍵菜單點(diǎn)擊Fixed Routing,如下圖所示:

100061279-120601-16.png

3. Tcl Console里面會(huì)打印出一些命令,然后在Tcl Console里面敲命令:write_xdc/dirt.xdc

4. 打開導(dǎo)出的xdc,在最下面的部分會(huì)有所有元件的位置鎖定以及FIXED_ROUTE,示例如下:

100061279-120602-17.png

5. 另外還需注意的是,負(fù)載中有LUT的話需要將LUT的輸入pin也鎖住。以下圖的LUT2為例,在其property窗口中找到Cell pins,信號是連到LUT2的I0端,映射到BEL pin是A3。

100061279-120603-18.png

因此上述導(dǎo)出的位置鎖定約束中還有一個(gè)LOCK_PINS的設(shè)置:

set_property LOCK_PINS {I0:A3} [get_cells clk_gen_i0/rst_meta_i_1]

6. 將這部分有關(guān)鎖定的約束拷貝到你工程的約束文件中,重新跑implementation,這條線會(huì)按照原先的結(jié)果布。

溫馨提示:

我們并不建議完全鎖死某個(gè)模塊的所有布線,當(dāng)合入的工程比較復(fù)雜,用到的布線資源較密集時(shí),工具沒有靈活性去調(diào)整和優(yōu)化,有很大的概率會(huì)布線失敗。

劃分靜態(tài)區(qū)和動(dòng)態(tài)區(qū)

除了上述的邏輯鎖定方法之外,Xilinx 的FPGA還提供了靜態(tài)區(qū)和動(dòng)態(tài)區(qū)的劃分也可以實(shí)現(xiàn)邏輯的鎖定。只不過靜態(tài)區(qū)占據(jù)了大多數(shù)的空間,動(dòng)態(tài)區(qū)是可以隨意修改的小部分空間。

FPGA提供了現(xiàn)場編程和重新編程的靈活性,無需通過改進(jìn)的設(shè)計(jì)進(jìn)行重新制造。部分重配置(PR)進(jìn)一步提高了這種靈活性,允許通過加載部分配置文件(通常是部分BIT文件)來修改操作FPGA設(shè)計(jì)。在完整的BIT文件配置FPGA之后,可以下載部分BIT文件以修改FPGA中的可重配置區(qū)域,而不會(huì)影響在未重新配置的設(shè)備部分上運(yùn)行的應(yīng)用程序的完整性。

部分可重構(gòu)的基本前提

如圖所示,通過下載幾個(gè)部分BIT文件A1.bit,A2.bit,A3.bit或A4.bit中的一個(gè)來修改在重新配置塊A中實(shí)現(xiàn)的功能。FPGA設(shè)計(jì)中的邏輯分為兩種不同的類型,可重構(gòu)邏輯和靜態(tài)邏輯。FPGA塊的灰色區(qū)域表示靜態(tài)邏輯,標(biāo)記為Reconfig Block“A”的塊部分表示可重配置邏輯。靜態(tài)邏輯仍然有效,并且不受加載部分BIT文件的影響。可重配置邏輯由部分BIT文件的內(nèi)容替換。

為什么在單個(gè)FPGA器件上動(dòng)態(tài)地對多個(gè)硬件進(jìn)行時(shí)間復(fù)用的能力是有利的。這些包括:

?減小實(shí)現(xiàn)給定功能所需的FPGA器件尺寸,從而降低成本和功耗

?為應(yīng)用可用的算法或協(xié)議選擇提供靈活性

?實(shí)現(xiàn)設(shè)計(jì)安全性的新技術(shù)

?提高FPGA容錯(cuò)能力

?加速可配置計(jì)算

除了減小尺寸,重量,功耗和成本之外,部分重配置還可以實(shí)現(xiàn)沒有它的新型FPGA設(shè)計(jì)。
編輯:lyn

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

    關(guān)注

    0

    文章

    30

    瀏覽量

    17558
  • Quick
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    12588
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    834

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    編譯器功能安全驗(yàn)證的關(guān)鍵要素

    在汽車、工業(yè)、醫(yī)療等安全關(guān)鍵型應(yīng)用,確保功能安全合規(guī)性需要嚴(yán)格的工具鏈驗(yàn)證。開發(fā)安全關(guān)鍵型軟件的企業(yè)必須遵守ISO 26262、IEC 61508、ISO 62304等國際標(biāo)準(zhǔn)對編譯器工具鏈進(jìn)行全面的
    的頭像 發(fā)表于 07-05 13:37 ?377次閱讀

    AMD Vivado Design Suite 2025.1現(xiàn)已推出

    AMD Vivado Design Suite 2025.1 現(xiàn)已推出,支持 AMD Spartan UltraScale+ 和新一代 Versal 器件。這一最新版本還新增了多項(xiàng)功能,可顯著提升 Versal SSIT 器件的 FMAX 值,并對所有系列產(chǎn)品在 IP 集成和功能
    的頭像 發(fā)表于 06-16 15:16 ?493次閱讀

    用DevEco Studio增量補(bǔ)丁修復(fù)功能,讓鴻蒙應(yīng)用的調(diào)試效率大增

    后,僅對代碼的修改部分進(jìn)行增量產(chǎn)物構(gòu)建并打成補(bǔ)丁包,而不是漫長的全量編譯,這一過程能夠節(jié)省開發(fā)者大量的時(shí)間。而補(bǔ)丁修復(fù)則是替換并更新運(yùn)行時(shí)中對應(yīng)方法或文件并重載到應(yīng)用,最后重新構(gòu)建界
    發(fā)表于 04-14 17:35

    用DevEco Studio增量補(bǔ)丁修復(fù)功能,讓鴻蒙應(yīng)用的調(diào)試效率大增

    后,僅對代碼的修改部分進(jìn)行增量產(chǎn)物構(gòu)建并打成補(bǔ)丁包,而不是漫長的全量編譯,這一過程能夠節(jié)省開發(fā)者大量的時(shí)間。而補(bǔ)丁修復(fù)則是替換并更新運(yùn)行時(shí)中對應(yīng)方法或文件并重載到應(yīng)用,最后重新構(gòu)建界
    發(fā)表于 04-14 14:47

    使用DDS生成三個(gè)信號并在Vivado實(shí)現(xiàn)低通濾波器

    本文使用 DDS 生成三個(gè)信號,并在 Vivado 實(shí)現(xiàn)低通濾波器。低通濾波器將濾除相關(guān)信號。
    的頭像 發(fā)表于 03-01 14:31 ?1686次閱讀
    使用DDS生成三個(gè)信號并在<b class='flag-5'>Vivado</b><b class='flag-5'>中</b>實(shí)現(xiàn)低通濾波器

    AMD Vivado Design Suite IDE的設(shè)計(jì)分析簡介

    本文檔涵蓋了如何驅(qū)動(dòng) AMD Vivado Design Suite 來分析和改善您的設(shè)計(jì)。
    的頭像 發(fā)表于 02-19 11:22 ?566次閱讀
    AMD <b class='flag-5'>Vivado</b> Design Suite IDE<b class='flag-5'>中</b>的設(shè)計(jì)分析簡介

    技術(shù)科普 | 芯片設(shè)計(jì)的LEF文件淺析

    技術(shù)科普 | 芯片設(shè)計(jì)的LEF文件淺析
    的頭像 發(fā)表于 11-13 01:03 ?740次閱讀
    技術(shù)科普 | 芯片設(shè)計(jì)<b class='flag-5'>中</b>的LEF文件<b class='flag-5'>淺析</b>

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

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

    Vivado使用小技巧

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

    UCD31xx器件的CPU鎖定機(jī)制

    電子發(fā)燒友網(wǎng)站提供《UCD31xx器件的CPU鎖定機(jī)制.pdf》資料免費(fèi)下載
    發(fā)表于 10-15 10:18 ?0次下載
    UCD31xx器件<b class='flag-5'>中</b>的CPU<b class='flag-5'>鎖定</b>機(jī)制

    淺談Vivado編譯時(shí)間

    隨著FPGA規(guī)模的增大,設(shè)計(jì)復(fù)雜度的增加,Vivado編譯時(shí)間成為一個(gè)不可回避的話題。尤其是一些基于SSI芯片的設(shè)計(jì),如VU9P/VU13P/VU19P等,布局布線時(shí)間更是顯著增加。當(dāng)然,對于一些設(shè)計(jì)而言,十幾個(gè)小時(shí)是合理的。但我們依然試圖分析設(shè)計(jì)存在的問題以期縮短
    的頭像 發(fā)表于 09-18 10:43 ?2198次閱讀
    淺談<b class='flag-5'>Vivado</b><b class='flag-5'>編譯</b>時(shí)間

    了解電源器件的欠壓鎖定

    電子發(fā)燒友網(wǎng)站提供《了解電源器件的欠壓鎖定.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 10:10 ?0次下載
    了解電源器件<b class='flag-5'>中</b>的欠壓<b class='flag-5'>鎖定</b>

    linux驅(qū)動(dòng)程序的編譯方法是什么

    的源代碼,并隨內(nèi)核一起編譯。這種方法適用于驅(qū)動(dòng)程序已經(jīng)非常穩(wěn)定,且不打算頻繁修改的情況。具體步驟如下: 下載并安裝Linux內(nèi)核源代碼 :從Linux官方網(wǎng)站或可靠的源下載所需的內(nèi)核版本源代碼。 添加驅(qū)動(dòng)程序到內(nèi)核源代碼 :將
    的頭像 發(fā)表于 08-30 14:46 ?1222次閱讀

    linux驅(qū)動(dòng)程序的編譯方法有哪兩種

    Collection)或其他C/C++編譯器來編譯源代碼文件。這種方法較為原始,需要開發(fā)者手動(dòng)指定編譯器選項(xiàng)、包含路徑、庫文件等。然而,在Linux驅(qū)動(dòng)開發(fā)
    的頭像 發(fā)表于 08-30 14:39 ?1513次閱讀

    機(jī)器學(xué)習(xí)的交叉驗(yàn)證方法

    在機(jī)器學(xué)習(xí),交叉驗(yàn)證(Cross-Validation)是一種重要的評估方法,它通過將數(shù)據(jù)集分割成多個(gè)部分來評估模型的性能,從而避免過擬合或欠擬合問題,并幫助選擇最優(yōu)的超參數(shù)。本文將詳細(xì)探討幾種
    的頭像 發(fā)表于 07-10 16:08 ?2749次閱讀
    主站蜘蛛池模板: 色综合久久88 | 美女被拍拍拍拍拍拍拍拍 | 男女午夜特黄毛片免费 | 欧美xxxx极品流血 | 欧美高清在线播放 | 天天爽天天爽天天片a久久网 | 亚洲qingse中文字幕久久 | 免费观看一级特黄欧美大片 | 伊人久久大香线蕉综合7 | 在线精品小视频 | bt天堂资源| 黑人黑粗硬视频 | 国产午夜在线视频 | 国产永久免费爽视频在线 | 美女骚网站 | 天天综合色网 | 福利视频免费看 | 天天操天天操天天操香蕉 | 加勒比综合 | 国产精品莉莉欧美自在线线 | 色综合久久九月婷婷色综合 | 国产a三级三级三级 | 精品国产_亚洲人成在线高清 | 黄色午夜影院 | 亚洲黄网在线 | 四虎国产精品成人永久免费影视 | 午夜亚洲精品 | 69日本xxxxxxxxx19| 亚洲jjzzjjzz在线观看 | 六月天色婷婷 | 国产高清色播视频免费看 | a看片| 日韩一卡 二卡 三卡 四卡 免费视频 | 丁香六月婷婷精品免费观看 | 99色综合| 亚洲福利视频一区二区三区 | 婷婷丁香啪啪 | 男男扒开后菊惩罚 | 久操福利视频 | 国产欧美日韩综合精品一区二区 | 夜夜欢视频 |