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

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

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

Vivado的ECO流程

電子工程師 ? 來源:XILINX技術(shù)社區(qū) ? 作者:XILINX技術(shù)社區(qū) ? 2020-11-04 10:25 ? 次閱讀

通常在設(shè)計網(wǎng)表中,需要在基礎(chǔ)上微調(diào)邏輯,這樣既無需修改代碼,也無需重新做綜合,在設(shè)計調(diào)試中可以節(jié)省時間的同時維持其邏輯無任何改動。

本文將帶大家一起體驗一下Vivado的ECO流程,以Vivado自帶的Example Design為例, 直接用TCL命令修改網(wǎng)表,在正常的寄存器路徑之間加一級LUT.

1.打開Vivado 界面

2.打開Example Design "Wavegen":

<1> File -> Project -> Open Example

<2> 選中Wavegen (HDL),器件選擇xcku035

3.點擊左側(cè)Flow Navigator 窗口 Run Implementation 按鈕, 完成綜合實現(xiàn).

4. 打開Implemented Design

(點擊左側(cè)Flow Navigator 窗口 Open Implemented Design 按鈕)

5.選一條兩個寄存器之間的路徑

運(yùn)行以下命令,選中打印出的路徑,雙擊可以查看時序報告,F(xiàn)4 鍵可以打開這條路徑的原理圖,可以看到Data Path的布線延遲是0.504ns

%report_timing -from[get_cells clkx_spd_i0/meta_harden_bus_new_i0/signal_meta_reg] -to [get_cellsclkx_spd_i0/meta_harden_bus_new_i0/signal_dst_reg] -delay_type max -name test1

路徑的原理圖

6.把目的寄存器的D端從net上斷下來

%disconnect_net -netclkx_spd_i0/meta_harden_bus_new_i0/signal_meta_reg_n_0-objects {clkx_spd_i0/meta_harden_bus_new_i0/signal_dst_reg/D}

在這里獲取操作對象(net, Pin)的方法:在原理圖中選中對象,然后查看走下角Property 窗口中的NAME 屬性

Pin被從Net上斷開后,會在原理圖上顯示n/c

7.創(chuàng)建一個LUT1,并設(shè)置LUT的INITproperty

%create_cell -reference LUT1clkx_spd_i0/meta_harden_bus_new_i0/my_lut1

%set_property INIT 2'h1 [get_cellsclkx_spd_i0/meta_harden_bus_new_i0/my_lut1]

可以看到這個新創(chuàng)建的LUT1所有端口(Pin)都是懸空的. 接下來的步驟要將這些pin連接到合適的net上.

8.把LUT1的輸入端口連接到之前斷開的net上.

%connect_net -netclkx_spd_i0/meta_harden_bus_new_i0/signal_meta_reg_n_0 -objects{clkx_spd_i0/meta_harden_bus_new_i0/my_lut1/I0}

9.創(chuàng)建一個新的net用來連接LUT1的輸出pin和之前斷下來的寄存器D pin

%create_net clkx_spd_i0/meta_harden_bus_new_i0/my_net

10. 連接LUT1的輸出pin和之前斷下來的寄存器Dpin 到新創(chuàng)建的net上

%connect_net -net clkx_spd_i0/meta_harden_bus_new_i0/my_net -objects {clkx_spd_i0/meta_harden_bus_new_i0/my_lut1/O clkx_spd_i0/meta_harden_bus_new_i0/signal_dst_reg/D}

11.在Netlist窗口選窗口選中新建的LUT1,將其拖曳到Device中空著的slice LUT bel中對應(yīng)的命令:

place_cell clkx_spd_i0/meta_harden_bus_new_i0/my_lut1 SLICE_X52Y83/B6LUT

12.對新的LUT1兩端的net進(jìn)行布線

%route_design -nets [get_nets -of [get_pins clkx_spd_i0/meta_harden_bus_new_i0/my_lut1/*]]

13. 檢查布線結(jié)果確保沒有布線錯誤

%report_route_status

14.用步驟5的命令重新報一下時序

15.生成bit文件

責(zé)任編輯:lq

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

    關(guān)注

    31

    文章

    5295

    瀏覽量

    119838
  • ECO
    ECO
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    14853
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    805

    瀏覽量

    66231

原文標(biāo)題:開發(fā)者分享 | 用ECO腳本的方式在網(wǎng)表中插入LUT1

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    Vivado使用小技巧

    有時我們對時序約束進(jìn)行了一些調(diào)整,希望能夠快速看到對應(yīng)的時序報告,而又不希望重新布局布線。這時,我們可以打開布線后的dcp,直接在Vivado Tcl Console里輸入更新后的時序約束。如果調(diào)整
    的頭像 發(fā)表于 10-24 15:08 ?171次閱讀
    <b class='flag-5'>Vivado</b>使用小技巧

    Vivado 2024.1版本的新特性(2)

    從綜合角度看,Vivado 2024.1對SystemVerilog和VHDL-2019的一些特性開始支持。先看SystemVerilog。
    的頭像 發(fā)表于 09-18 10:34 ?544次閱讀
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(2)

    Vivado 2024.1版本的新特性(1)

    Vivado 2024.1已正式發(fā)布,今天我們就來看看新版本帶來了哪些新特性。
    的頭像 發(fā)表于 09-18 10:30 ?783次閱讀
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(1)

    如何在AMD Vivado? Design Tool中用工程模式使用DFX流程?

    本文介紹了在 AMD Vivado? Design Tool 中用工程模式使用 DFX 流程以及需要注意的地方。在使用 DFX 工程模式的過程中要把具體步驟映射到相應(yīng)的 DFX 非工程模式的步驟,這樣才能更好地理解整個流程的運(yùn)行
    的頭像 發(fā)表于 04-17 09:28 ?715次閱讀
    如何在AMD <b class='flag-5'>Vivado</b>? Design Tool中用工程模式使用DFX<b class='flag-5'>流程</b>?

    深入探索Vivado非工程模式FPGA設(shè)計流程

    在設(shè)計過程的每個階段,設(shè)計者均可以打開Vivado集成開發(fā)環(huán)境,對存儲器中保存的當(dāng)前設(shè)計進(jìn)行分析和操作。
    發(fā)表于 04-03 09:36 ?807次閱讀
    深入探索<b class='flag-5'>Vivado</b>非工程模式FPGA設(shè)計<b class='flag-5'>流程</b>

    分享一種大型SOC設(shè)計中功能ECO加速的解決方案

    大型SOC項目的綜合非常耗時間,常?;ㄙM(fèi)好幾天。當(dāng)需要做功能ECO時,代碼的改動限定在某些子模塊里,設(shè)計人員并不想重跑一次完整的綜合,這種方法縮短了一輪ECO的時間,保證了項目進(jìn)度。
    的頭像 發(fā)表于 03-11 10:41 ?411次閱讀
    分享一種大型SOC設(shè)計中功能<b class='flag-5'>ECO</b>加速的解決方案

    請問psoc6_cy8c6247bzi-d54_ECO有什么特點?

    如圖所示,單片機(jī)需要兩個晶體(WCO/ECO)。 WCO 支持看門狗和 RTC 功能。 我們想知道 ECO 支持哪些功能? 如果我們不使用這個功能,我們就不需要 ECO Crystal 了,對吧?
    發(fā)表于 01-26 07:30

    從DeepSleep模式過渡到活動模式時,IMO和ECO時鐘在喚醒過程中是如何運(yùn)行的呢?

    我正在使用 CYT2B95。 我在主動模式下使用 ECO 作為 FLL/PLL 參考時鐘。 從 DeepSleep 模式過渡到活動模式時,IMO 和 ECO 時鐘在喚醒過程中是如何運(yùn)行的? 問題 1
    發(fā)表于 01-24 07:52

    請問如何將ECO輸出分配給PSoC6的GPIO?

    如何將ECO輸出分配給PSoC6的GPIO
    發(fā)表于 01-16 07:56

    如何禁止vivado自動生成 bufg

    Vivado中禁止自動生成BUFG(Buffered Clock Gate)可以通過以下步驟實現(xiàn)。 首先,讓我們簡要了解一下什么是BUFG。BUFG是一個時鐘緩沖器,用于緩沖輸入時鐘信號,使其更穩(wěn)
    的頭像 發(fā)表于 01-05 14:31 ?1852次閱讀

    Vivado時序問題分析

    有些時候在寫完代碼之后呢,Vivado時序報紅,Timing一欄有很多時序問題。
    的頭像 發(fā)表于 01-05 10:18 ?1781次閱讀

    VIVADO安裝問題解決

    vivado出現(xiàn)安裝問題剛開始還以為是安裝路徑包含中文空格了,重裝的注意了一下,發(fā)現(xiàn)還是這個問題。。。。后來又一頓操作猛如虎,終于發(fā)現(xiàn)了問題。出這個問題的原因是vivado壓縮包解壓的路徑包含中文了把解壓文件放到不含中文的地方,再重新安裝,安裝路徑也不能含中文。然后。。。
    發(fā)表于 12-22 10:56 ?0次下載

    VIVADO軟件使用問題總結(jié)

    【關(guān)鍵問題?。。。≈匾。?!】VIVADO會在MESSAGE窗口出提示很多錯誤和警告信息!
    的頭像 發(fā)表于 12-15 10:11 ?1725次閱讀
    <b class='flag-5'>VIVADO</b>軟件使用問題總結(jié)

    MIDIMASTER ECO為什么找不到設(shè)置電機(jī)正傳和反轉(zhuǎn)的地方?

    MIDIMASTER ECO為什么找不到設(shè)置電機(jī)正傳和反轉(zhuǎn)的地方
    發(fā)表于 11-15 07:29