精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

編輯與改寫IP核源文件的方法

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2022-08-25 14:38 ? 次閱讀

有些時候,根據設計需求可能會想要修改IP核生成的源文件(只能修改未加密文件),包括HDL文件和XDC約束文件。這種修改不能直接修改源文件,因為在后續設計流程中,IP可能會復位或重新生成,導致修改操作被復原。本文將介紹編輯與改寫IP核源文件的方法,不過仍然需要注意兩點:

某些IP核包含其它的層次化子IP核,這類IP核源文件不可修改;

IP核的Core Cotainer特性必須被禁用。

改寫IP約束文件

IP核生成時會生成相應的約束文件,包括物理約束(physical constraint)和時序約束(timing constraint)。可能需要修改的物理約束有LOC、PACKAGE_PIN等;部分時序約束可以修改,但是在*_ooc.xdc中定義的系統工作時鐘頻率強烈建議不要修改。

修改IP約束有兩種方法:(1).使用下文描述的特殊方法編輯IP的XDC文件;(2).XDC文件有一個編譯順序屬性,IP核的XDC文件該屬性為EARLY,較早執行;用戶自定義的頂層約束文件該屬性為NORMAL,較晚執行。因此可以通過用戶約束文件(或Tcl文件)來重新約束某一對象,達到改寫的效果。

在綜合IP核時,物理約束會被忽略,因此改寫物理約束的效果只會在實現階段才能看見;而時序約束的改寫在綜合和實現階段都會使用。但是有如下兩種特例:

XDC命令通常按順序執行,但是對于時序約束而言并不總是如此。比如假設一個時序路徑設置已經失敗,之后又對該路徑的max_delay做了約束,這樣并不會改變路徑的失敗狀態,因為路徑失敗有更高的優先級,這種情況下必須通過編輯IP源文件來實現修改;

某些操作和命令不能再XDC文件中執行,必須通過Tcl文件來實現。比如想要改變BUFG_GT單元的LOC屬性,設計者必須刪除當前的設置后才能設置新的LOC。執行該操作用到的reset_property命令只能在Tcl文件中執行。

設置IP約束適用范圍

生成的IP核要在設計中實例化,將IP約束應用到IP的實例化單元中有兩個屬性可以控制:

SCOPED_TO_REF:規定XDC文件應用到哪些模塊;

SCOPED_TO_CELLS:規定XDC文件應用到模塊中的哪些單元。

在Tcl Console中輸入“report_compile_order -constraints”命令可以查看這兩個屬性及XDC文件的編譯順序,如下圖:

f2c4fefc-242a-11ed-ba43-dac502259ad0.png

SCOPED_TO_REF屬性通常是IP核的用戶設置名稱;SCOPED_TO_CELLS屬性通常在Verilog中為inst,在VHDL中為U0。最好的設計方法是創建一個新的XDC或Tcl文件,將所有的XDC/Tcl命令放在該文件中,用來改寫IP的XDC文件,并且設置相應的SCOPED_TO_REF和SCOPED_TO_CELLS屬性。具體步驟如下:

1.創建一個新的XDC或Tcl文件并添加到狀態為Active的約束集中;

2.將所有需要改寫IP XDC的XDC或Tcl命令放在新文件中;

3.使用set_property命令設置新文件的兩個屬性,相關語句如下:

set_property SCOPED_TO_REF [get_files ]

set_property SCOPED_TO_CELLS [get_files ]

4.將XDC/Tcl文件標記為僅用于實現:

set_property USED_IN IMPLEMENTATION [get_files ]

編輯IP源文件

編輯IP之前需要先生成所有的IP核相關文件,包括DCP設計檢查點文件。使用下面命令將XCI文件的ISMANAGED屬性設置為False:

set_property IS_MANAGED false [get_files .xci]

如果IP核是一個復雜的子系統,會提示如下錯誤:

ERROR: [IP_Flow 19-3666] The is_managed property cannot be directly modified for hierarchical IP.

如果IP核啟用了Core Cotainer,會提示如下錯誤:

ERROR: [IP_Flow 19-4671] The is_managed property cannot be directly modified for IP in a core container.

這也是本文開頭提到的兩點限制。經過上述設置,IP核的IS_LOCKED屬性會變為TRUE,且IP圖標改變,如下圖:

f2e1fe6c-242a-11ed-ba43-dac502259ad0.png

點擊Tools->Report->Report IP Status報告IP狀態,可以查看到IP核狀態為“User-managed IP”,該狀態下即可對IP核的未加密HDL文件和XDC文件進行修改:

f2f97f06-242a-11ed-ba43-dac502259ad0.png

完成需要的編輯之后,必須在Tcl控制臺中復位IP,使用“reset_run _synth_1”命令,之后使用“launch_run _synth_1”使用修改后的HDL或約束文件重新運行IP。這樣便完成了對IP源文件的編輯。

雖然IP子系統的IS_MANAGED屬性不允許修改,但可以通過如下途徑完成對IP子系統的源文件修改:其余步驟都相同,只是設置屬性步驟替換為將Vivado的編輯器設置為其它編輯器(不用默認文本編輯器),在磁盤中直接編輯IP核的RTL源文件。需要注意,相關狀態不會顯示在Vivado中,因此設計者需要自己明白文件的狀態。

修改后一定要注意鎖住修改的IP

修改完相應的IP之后,一定要使用下面這個命令,將修改的IP鎖住

set_property IS_LOCKED true [get_files <你修改的文件名>]

雖然不鎖住,依然可以正常工作,但是一旦重新更改IP(可能是其它IP),重新generate output products后,很有可能之前的修改就作廢了。。需要重新修改一遍,并且這個時候還很容易忽略掉這個事情,導致一個簡單的bug讓自己煩很久。。。

總而言之,修改IP核的源文件是一件很危險的事,因為可能會導致IP核不能正常工作。修改之前要確保自己的設計目標;修改后要驗證IP核的功能準確性。

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

    關注

    5

    文章

    1647

    瀏覽量

    149327
  • 編譯
    +關注

    關注

    0

    文章

    653

    瀏覽量

    32806
  • 編輯器
    +關注

    關注

    1

    文章

    801

    瀏覽量

    31114

原文標題:Vivado修改IP源文件的注意事項

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    IP簡介

    本帖最后由 eehome 于 2013-1-5 09:59 編輯 IP簡介IP是指:將一些在數字電路中常用但比較復雜的功能塊,如F
    發表于 07-06 14:15

    IP生成文件:XilinxAltera

    IP生成文件:XilinxAlteraIP 生成文件:(Xilinx/Altera同) IP
    發表于 08-12 12:21

    ip使用問題

    我調用了一個ip 在下載到芯片中 有一個time-limited的問題 在完成ip破解之后 還是無法解決 但是我在Google上的找到一個解決
    發表于 05-17 10:28

    QUARTUS II中IP的調用方法

    很多人都說QUARYUSII中的IP是收費的,不可以直接用的,其實不然,下面我以FIR濾波器的的使用來給大家介紹IP的使用,希望對大家
    發表于 06-03 09:09

    基于IP的FPGA設計方法是什么?

    的分類和特點是什么?基于IP的FPGA設計方法是什么?
    發表于 05-08 07:07

    IP生成文件

    IP生成器生成ip后有兩個文件對我們比較有用,假設生成了一個asyn_fifo的,則asyn_fifo.veo給出了例化該
    發表于 07-21 16:42 ?0次下載

    Labview寶典(程序寶典+源文件

    Labview寶典(程序寶典+源文件),有源文件
    發表于 12-22 14:50 ?0次下載

    調音板--protel源文件

    調音板--protel源文件 原理圖 PCB圖 都是源文件
    發表于 03-10 17:06 ?0次下載

    音調板 protel格式源文件

    音調板 protel格式源文件 PCB源文件
    發表于 06-15 17:36 ?46次下載

    Vivado將模塊封裝為IP方法介紹

    在給別人用自己的工程時可以封裝IP,Vivado用封裝IP的工具,可以得到像xilinx的ip一樣的可以配置參數的IP,但是用其他工程調用
    的頭像 發表于 06-26 11:33 ?7883次閱讀

    VCS獨立仿真Vivado IP的一些方法總結

    前年,發表了一篇文章《VCS獨立仿真Vivado IP的一些方法總結》(鏈接在參考資料1),里面簡單講述了使用VCS仿真Vivado IP
    的頭像 發表于 03-22 10:31 ?4114次閱讀

    西門子PLC如何把DB快做成源文件

    源文件可以導出成awl文件,可以在其他的環境下改寫(比如記事本、excel等),可以拷貝,當然也可以重新導入的sources下面。
    發表于 04-04 08:48 ?2420次閱讀

    AN147的源文件

    AN147的源文件
    發表于 06-05 16:39 ?3次下載
    AN147的<b class='flag-5'>源文件</b>

    ip設計電路特點

    IP目前的IP設計已成為目前FPGA設計的主流方法之一,應用專用集成電路(ASIC)或者可編輯邏輯器件(FPGA)的邏輯塊或數據塊。
    發表于 10-01 09:08 ?2569次閱讀

    記錄VCS仿真的IP只有VHDL文件的解決方法

    使用VCS仿真Vivado里面的IP時,如果Vivado的IP的仿真文件只有VHDL時,仿真將變得有些困難,VCS不能直接仿真VHDL
    的頭像 發表于 06-06 11:15 ?2129次閱讀
    記錄VCS仿真的<b class='flag-5'>IP</b><b class='flag-5'>核</b>只有VHDL<b class='flag-5'>文件</b>的解決<b class='flag-5'>方法</b>