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

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

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

3天內不再提示

淺析Vivado中增量編譯與設計鎖定方法與驗證

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

掃碼添加小助手

加入工程師交流群

1增量實現(xiàn)

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

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

100061279-120586-1.png

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

以下兩種情形適合于高復用模式。

情形1:很小的設計改動。

情形2:與原始設計相比,更新后的設計只是添加了調試模塊,如ILA等。

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

與高復用模式相比,低復用模式則適用于更新后的設計與參考設計相比有較大的改動,或者用戶通過read_checkpoint的選項?reuse_objects指定復用邏輯單元的情況。此時,place_design和route_design的所有?directive均可用。

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

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

2設計鎖定與增量編譯方法

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

下面例說操作方法。

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

100061279-120587-2.png

圖1 建好的工程

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

100061279-120588-3.png

圖2 dcp文件

100061279-120589-4.png

圖3新建文件夾,復制dcp文件

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

100061279-120590-5.png

圖4 vivado打開dcp界面

100061279-120591-6.png

圖5 鎖定設計并保存

(4)增量編譯:

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

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

3)選both,點next,如圖7所示;

4)勾選make active,點next,如圖8所示;

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

6)完成后如圖10所示;

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

8)開始綜合、實現(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、正確性驗證

怎么證明增量編譯后,原始設計成功鎖定了呢?我們來做一個對照實驗。

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

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

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

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

100061279-120598-13.png

圖12 樣本1位置觀察

100061279-120599-14.png

圖13 樣本2位置觀察

100061279-120600-15.png

圖14 樣本3位置觀察

Vivado下如何鎖定設計的模塊的布局布線

Xilinx官方論壇上也有相關問題的回答。

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

Vivado下如何鎖定設計模塊的布局布線

問題:

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

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

回答2:關于鎖定某一個net的布線路徑,請參考以下步驟:

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

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

100061279-120601-16.png

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

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

100061279-120602-17.png

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

100061279-120603-18.png

因此上述導出的位置鎖定約束中還有一個LOCK_PINS的設置:

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

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

溫馨提示:

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

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

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

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

部分可重構的基本前提

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

為什么在單個FPGA器件上動態(tài)地對多個硬件進行時間復用的能力是有利的。這些包括:

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

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

?實現(xiàn)設計安全性的新技術

?提高FPGA容錯能力

?加速可配置計算

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

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

    關注

    0

    文章

    30

    瀏覽量

    17905
  • Quick
    +關注

    關注

    0

    文章

    17

    瀏覽量

    12915
  • Vivado
    +關注

    關注

    19

    文章

    860

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    簡單高效的鴻蒙編譯提速技巧

    在鴻蒙應用開發(fā)編譯構建是開發(fā)者最頻繁的操作,每一次編譯提速都能顯著提升項目整體開發(fā)效率。本次分享幾個簡單卻高效的鴻蒙編譯提速技巧,從編譯
    的頭像 發(fā)表于 03-04 16:09 ?238次閱讀
    簡單高效的鴻蒙<b class='flag-5'>編譯</b>提速技巧

    VivadoIP核被鎖定的解決辦法

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

    Vivado時序約束invert參數(shù)的作用和應用場景

    Vivado的時序約束,-invert是用于控制信號極性的特殊參數(shù),應用于時鐘約束(Clock Constraints)和延遲約束(Delay Constraints),用于指定信號的有效邊沿或邏輯極性。
    的頭像 發(fā)表于 02-09 13:49 ?421次閱讀
    <b class='flag-5'>Vivado</b>時序約束<b class='flag-5'>中</b>invert參數(shù)的作用和應用場景

    一文詳解SystemC仿真庫的編譯

    AMD Vivado 設計套件以文件和庫的形式提供仿真模型。仿真庫包含器件和 IP 的行為和時序模型。編譯后的庫可供多個設計項目使用。用戶必須在設計仿真之前通過名為 compile_simlib 的實用程序編譯這些文件,以便為目
    的頭像 發(fā)表于 12-12 15:08 ?5026次閱讀
    一文詳解SystemC仿真庫的<b class='flag-5'>編譯</b>

    使用Vivado 2018.2編譯E203的mcs文件,遇到的問題求解

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

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

    ;Run Behavioral Simulation之后,會出現(xiàn)如下圖界面,此時,在Tcl Console并沒有出現(xiàn)仿真結果。 沒有出現(xiàn)仿真結果的原因是沒有給Vivado時間進行仿真,解決方法
    發(fā)表于 10-31 06:24

    Windows系統(tǒng)下用vivado將電路燒寫到MCU200T板載FLASH的方法

    在Windows操作系統(tǒng)下使用vivado將設計的電路燒寫到MCU200T開發(fā)板上的FLASH方法。通過將硬件電路的比特流文件燒寫到板載FLASH內,開發(fā)板上電時將自動地從FLASH
    發(fā)表于 10-29 08:21

    VIVADO對NICE進行波形仿真的小問題的解決

    分別如下圖 可以看到,輸出運算結果的pritnf函數(shù)被#ifdef所定義,所以我們如果想在VIVADO的控制臺看到輸出結果,要先在main.c定義DEBUG_INFO,如下圖 這樣,將編譯后生成的.verilog文件再用
    發(fā)表于 10-27 06:41

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

    我們可能就需要用到vcs核vivado聯(lián)合仿真。 1.Vivdao仿真庫編譯 打開vivado軟件,點擊Tools–&gt;Compile Simulation Libraries
    發(fā)表于 10-24 07:28

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

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

    如何在Vivado上仿真蜂鳥SOC,仿真NucleiStudio編譯好的程序

    如標題所示,我們分享如何在Vivado上仿真蜂鳥SOC,仿真NucleiStudio編譯好的程序 具體步驟 1. 將蜂鳥soc移植到Vivado 只要將端口映射好,注意配置好時鐘和bank
    發(fā)表于 10-21 11:08

    e203 DDR擴展功能驗證

    vivado設計的DDR擴展工程生成bitstream燒入到DDR200T,利用芯來官方提供的Nuclei Studio編譯相應的C語言程序進行驗證。C語言程序主要完成對地址空間
    發(fā)表于 10-21 09:24

    Vivado無法選中開發(fā)板的常見原因及解決方法

    對應的器件信息和約束文件(XDC),大大簡化工程初始化流程。然而,在某些情況下,我們可能會發(fā)現(xiàn) Vivado 的界面無法選中目標開發(fā)板,導致只能手動選擇器件。那么,遇到這種情況該如何處理呢?
    的頭像 發(fā)表于 07-15 10:19 ?1930次閱讀
    <b class='flag-5'>Vivado</b>無法選中開發(fā)板的常見原因及解決<b class='flag-5'>方法</b>

    編譯器功能安全驗證的關鍵要素

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

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

    AMD Vivado Design Suite 2025.1 現(xiàn)已推出,支持 AMD Spartan UltraScale+ 和新一代 Versal 器件。這一最新版本還新增了多項功能,可顯著提升 Versal SSIT 器件的 FMAX 值,并對所有系列產品在 IP 集成和功能
    的頭像 發(fā)表于 06-16 15:16 ?1658次閱讀
    上思县| 长沙市| 雷州市| 囊谦县| 保山市| 安康市| 德钦县| 台江县| 东兴市| 乳山市| 松江区| 根河市| 尼勒克县| 城步| 思南县| 遂平县| 富阳市| 屏东县| 隆安县| 镶黄旗| 普安县| 赣州市| 大厂| 自治县| 松溪县| 嘉峪关市| 中山市| 连城县| 米脂县| 长兴县| 浪卡子县| 杭州市| 华蓥市| 突泉县| 广宁县| 长治市| 顺昌县| 曲靖市| 时尚| 仙游县| 会同县|