<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的ECO流程

FPGA之家 ? 來源:賽靈思中文社區論壇 ? 作者:Hong Han ? 2020-11-29 11:04 ? 次閱讀

有時我們需要在設計網表的基礎上微調一下邏輯,這樣可以無需修改代碼,也無需重新做綜合,在設計調試中可以節省時間同時維持其他邏輯無任何改動。

這里帶大家一起體驗一下Vivado 的ECO流程,以vivado自帶的Example Design為例, 直接用TCL命令修改網表,在正常的寄存器路徑之間加一級LUT。

1. 打開Vivado 界面

2. 打開Example Design "Wavegen":
File -> Project -> Open Example
選中Wavegen(HDL), 器件選擇xcku035

3. 點擊左側Flow Navigator 窗口 Run Implementation 按鈕, 完成綜合實現.

4. 打開Implemented Design (點擊左側Flow Navigator 窗口 Open Implemented Design 按鈕)

5. 選一條兩個寄存器之間的路徑
運行以下命令,選中打印出的路徑,雙擊可以查看時序報告,F4 鍵可以打開這條路徑的原理圖

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

可以看到Data Path的布線延遲是0.504ns

路徑的原理圖

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

%disconnect_net -net clkx_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. 創建一個LUT1,并設置LUT的INIT property

%create_cell -reference LUT1clkx_spd_i0/meta_harden_bus_new_i0/my_lut1 %set_property INIT 2'h1 [get_cells clkx_spd_i0/meta_harden_bus_new_i0/my_lut1]

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

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

%connect_net -net clkx_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. 創建一個新的net用來連接LUT1的輸出pin和之前斷下來的寄存器D pin

%create_net clkx_spd_i0/meta_harden_bus_new_i0/my_net

10. 連接LUT1的輸出pin和之前斷下來的寄存器D pin 到新創建的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中

對應的命令:

place_cell clkx_spd_i0/meta_harden_bus_new_i0/my_lut1 SLICE_X52Y83/B6LUT

12. 對新的LUT1兩端的net進行布線

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

13.檢查布線結果確保沒有布線錯誤

%report_route_status

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

15. 生成bit文件

%write_bitstream test.bit

責任編輯:lq

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

    關注

    0

    文章

    51

    瀏覽量

    14796
  • 腳本
    +關注

    關注

    1

    文章

    375

    瀏覽量

    14682
  • Vivado
    +關注

    關注

    18

    文章

    791

    瀏覽量

    65388

原文標題:【干貨分享】用ECO腳本的方式在網表中插入LUT1

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    有沒有大佬會聲源跟蹤小車?有實物的最好,聯系一下我,有償學習一下,謝謝大家

    有沒有大佬會聲源跟蹤小車?有實物的最好,聯系一下我,有償學習一下,謝謝大家
    發表于 05-18 09:21

    使用FatFS和FreeRTOS一起工作時,發現運行段時間后,FATFS就會出現m_sync不成功的情況,為什么?

    程序流程是這樣的:每1秒寫7個字節,先m_write,再m_sync。 當使用FatFS和FreeRTOS一起工作時,發現運行段時間后,FATFS就會出現m_sync不成功的情況。 但不
    發表于 04-30 06:36

    #新開端、新起點,2024一起加油#

    ;2024一起加油\"則表達了大家共同努力,相互支持的決心和信念。 在2024年,無論你的目標是什么,都希望你能保持這種積極的心態,勇敢地面對挑戰,不斷地學習和進步。同時,也希望大家能夠相互鼓勵,共同前進,
    發表于 02-26 21:01

    AD7606的AGND和VXGND是否定要接在一起?

    你好: 想咨詢一下,我們正使用貴公司AD7606作為模擬輸入轉換芯片,在使用過程中遇到了個問題,因為芯片的AGND和VXGND分開設計沒有共接在一起,這樣VXGND和VIN就可以實現正負電壓采集
    發表于 12-14 07:36

    電源地和設備地連一起了造成USB信號不穩定,該怎么解決?

    改善,但還是會偶爾掉一下。 再接上信號增強轉接板,可以避免這問題。 問題:1、如果不想接信號增強轉接板,可以怎么避免這問題 2、雖然做了物理隔離,但是不是還是因為電源地和設備地連一起了?從而接到了金屬外殼,導致地平面對USB信號有影響
    發表于 12-04 18:26

    單片機的蜂鳴器是否可以與小燈一起使用?

    單片機的蜂鳴器是否可以與小燈一起使用
    發表于 10-31 06:40

    請問串口支持個設備發送,兩個設備一起接收嗎?

    串口支持個設備發送,兩個設備一起接收嗎?這樣使用是否可以?有什么后果呢?確實沒見別人這么用過。
    發表于 09-26 06:50

    Vivado設計流程指導手冊

    Vivado 設計分為 Project Mode 和 Non-project Mode 兩種模式,般簡單設計中,我們常用的是 Project Mode。在本手冊中,我們將以個簡單的實驗案例,
    發表于 09-20 07:37

    vivado主界面及設計流程

    Vivado設計主界面,它的左邊是設計流程導航窗口,是按照FPGA的設計流程設置的,只要按照導航窗口一項一項往下進行,就會完成從設計輸入到最后下載到開發板上的整個設計流程。
    的頭像 發表于 09-17 15:40 ?1761次閱讀
    <b class='flag-5'>vivado</b>主界面及設計<b class='flag-5'>流程</b>

    Vivado設計套件用戶指南(設計流程概述)

    電子發燒友網站提供《Vivado設計套件用戶指南(設計流程概述).pdf》資料免費下載
    發表于 09-15 09:55 ?1次下載
    <b class='flag-5'>Vivado</b>設計套件用戶指南(設計<b class='flag-5'>流程</b>概述)

    采集攝像頭錄制視頻,如何保把時間和視頻數據一起保存起來?

    我想實現采集攝像頭數據,在屏幕上顯示視頻同時存儲在sd卡上。此功能已經完成,但是播該視頻時想要在畫面上顯示每幀的時間,應該如何保把時間和視頻數據一起保存起來,這樣播放視頻時就帶有時間了。百度上沒有找到答案,哪位高手可以指點一下
    發表于 09-04 07:42

    ubuntuvivado無法識別到mcu200t開發板是什么原因造成的?

    請問一下,Vivado無法連接到mcu200t,vivado的界面和開發板連接如下圖,vivado的install_driver已安裝
    發表于 08-12 06:02

    vivado仿真流程

    vivado開發軟件自帶了仿真工具,下面將介紹vivado的仿真流程,方便初學者進行仿真實驗。
    的頭像 發表于 07-18 09:06 ?3001次閱讀
    <b class='flag-5'>vivado</b>仿真<b class='flag-5'>流程</b>

    vivado創建工程流程

    vivado的工程創建流程對于大部分初學者而言比較復雜,下面將通過這篇博客來講解詳細的vivado工程創建流程。幫助自己進行學習回顧,同時希望可以對有需要的初學者產生幫助。
    的頭像 發表于 07-12 09:26 ?1534次閱讀
    <b class='flag-5'>vivado</b>創建工程<b class='flag-5'>流程</b>

    用 TCL 定制 Vivado 設計實現流程

    常常用來報告特定的時序信息、修改網表內容、實現 ECO 等等。 用 Tcl定制實現流程 綜上所述,標準的 FPGA 設計實現流程完全可以通過 Vivado IDE
    發表于 06-28 19:34
    亚洲欧美日韩精品久久_久久精品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>