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

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

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

3天內不再提示

如何給每個RM添加約束?

FPGA技術驛站 ? 來源:FPGA技術驛站 ? 2023-08-17 09:23 ? 次閱讀

在常規非DFX(DynamicFunction eXchange)的Vivado設計中,我們可能會碰到給某一個指定的模塊添加特定的約束。這時一個簡單的方法就是將這些約束單獨寫在一個.xdc或.tcl文件中,然后將其添加到Vivado工程中,并將該約束文件的屬性SCOPE_TO_CELLS設定為目標模塊。如果該模塊在設計中被多次實例化,不管這些實例化模塊在設計中的層次如何,此時可設置該約束文件的屬性SCOPE_TO_REF,如下圖所示。這里我們就能理解對于一個cell其屬性NAME和REF_NAME的區別:前者是實例化后的名字,后者為引用名(可以理解為Verilog的module name或VHDL的entityname)。另外,需要特別注意的是使用上述方法時,在.xdc或.tcl文件中的約束其施加的對象是以該指定模塊作為頂層的而不是以實際工程的頂層作為頂層。如果采用Non-Project模式,那么可以通過read_xdc讀入約束文件,然后通過set_property命令指定約束文件的屬性SCOPE_TO_CELLS或者SCOPE_TO_REF。

2a0138ba-3c92-11ee-ac96-dac502259ad0.png

在DFX設計中,我們也會碰到類似的情形,即給同一個RP(Reconfigurable Partition)下的不同RM(Reconfigurable Module)添加不同的約束。這時要考慮幾個因素:同一個RP下不管有幾個RM,在設計中均對應同一個實例化的名字。這意味著不能僅僅通過SCOPE_TO_CELLS將這些約束對應到不同的RM上。另外,每個RM只有在自身對應的configuration上才有效,所以要保證在這個configuration上對應的RM的約束也要有效。從下圖可以看到,當前這個DFX設計中有一個RP,名字為圖中紅色方框所示,該RP下有兩個RM,分別為rp1rm1和rp1rm2。

2a176a72-3c92-11ee-ac96-dac502259ad0.png

基于上圖所示DFX設計,現在我們要分別對rp1rm1和rp1rm2添加不同的約束。這里我們先介紹一下DFX設計的約束管理模式。在DFX設計中,約束是按configuration分組的。這是因為不同的configuration對應不同的RM。但不管有幾個configuration,都會有主約束,也就是ParentRun對應的約束,默認在constrs_1下。主約束包括:頂層IO約束(管腳分配/電平設置/input delay/output delay)、全局時鐘周期約束和每個RP的Pblock信息。主約束在運行Parent Run時生效,并在運行結束之后鎖定靜態區時一同被鎖定,因此,后續的ChildRun會直接獲得這些約束信息不需要重寫一遍。默認情況下,Child Run并沒有單獨的ConstraintSet,也就沒有單獨的約束文件。如果要針對RM施加約束,而RM又出現在Child Run,就要建立新的Constraint Set,這需要如下幾個步驟完成。

第一步:創建與指定RM相關的約束,這些約束應放在單獨的.xdc文件中。

第二步:創建新的Constraint Set,并將第一步創建的約束文件添加到該Constraint Set下。

除了Parent Run之外,有幾個ChildRun,如果這些Child Run里的RM又需要單獨約束,那么就要創建幾個Constraint Set。創建ConstraintSet的方法如下圖所示。

2a385ab6-3c92-11ee-ac96-dac502259ad0.png

第三步:運行DFX Wizard到EditConfiguration Runs界面,如下圖所示。在對應的Constraints列選擇相應的Constraint Set,如圖中紅色方框所示。

2a53e57e-3c92-11ee-ac96-dac502259ad0.png

2a73b8f4-3c92-11ee-ac96-dac502259ad0.png

在Design Run窗口中就能看到相應的ChildRun對應的Constraint Set,如下圖中的紅色方框所示。如果沒生效,要確保ChildRun的Property APPLY_CONSTRSET被勾選。

2a9dd36e-3c92-11ee-ac96-dac502259ad0.png

2ab68260-3c92-11ee-ac96-dac502259ad0.png

上述過程針對的是Vivado Project模式。在Non-Project模式下,當運行rp1rm2對應的Configuration時,要先打開鎖定靜態區布線信息的dcp(在這個dcp中,RP均為黑盒子),然后加載對rp1rm2OOC綜合生成的dcp,這個過程結束之后即可通過read_xdc讀入針對rp1rm2的約束文件。

針對RM的約束文件,通常要設定以下幾個屬性:PROCESSING_ORDER,SCOPED_TO_CELLS和USED_IN,如圖中紅色方框所示。

2ae3aaf6-3c92-11ee-ac96-dac502259ad0.png

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

    關注

    1

    文章

    571

    瀏覽量

    24834
  • 命令
    +關注

    關注

    5

    文章

    698

    瀏覽量

    22126
  • 約束
    +關注

    關注

    0

    文章

    82

    瀏覽量

    12777
  • Vivado
    +關注

    關注

    19

    文章

    815

    瀏覽量

    66923
收藏 人收藏

    評論

    相關推薦

    時序約束實操

    添加約束的目的是為了告訴FPGA你的設計指標及運行情況。在上面的生成約束之后,在Result àxx.sdc中提供約束參考(請注意該文件不能直接添加
    的頭像 發表于 04-28 18:36 ?2432次閱讀
    時序<b class='flag-5'>約束</b>實操

    FPGA主時鐘約束詳解 Vivado添加時序約束方法

    在FPGA設計中,時序約束的設置對于電路性能和可靠性都至關重要。在上一篇的文章中,已經詳細介紹了FPGA時序約束的基礎知識。
    發表于 06-06 18:27 ?1.1w次閱讀
    FPGA主時鐘<b class='flag-5'>約束</b>詳解 Vivado<b class='flag-5'>添加</b>時序<b class='flag-5'>約束</b>方法

    如何每個RM添加約束?對RM添加約束的步驟有哪些呢?

    在常規非DFX(Dynamic Function eXchange)的Vivado設計中,我們可能會碰到某一個指定的模塊添加特定的約束
    的頭像 發表于 08-17 09:22 ?851次閱讀
    如何<b class='flag-5'>給</b><b class='flag-5'>每個</b><b class='flag-5'>RM</b><b class='flag-5'>添加</b><b class='flag-5'>約束</b>?對<b class='flag-5'>RM</b><b class='flag-5'>添加</b><b class='flag-5'>約束</b>的步驟有哪些呢?

    時序約束

    那位高人指點一下啊,怎么差分時鐘添加時序約束
    發表于 08-08 20:58

    如何使用ucf約束文件為輸入數據添加一個小延遲?

    如何使用ucf約束文件為輸入數據添加一個小延遲?我試圖為來自名為“chana_rd”的引腳的輸入數據添加一個小延遲,如何添加此延遲?另外,我對chana_rd有一個
    發表于 03-28 12:03

    怎么才能刪除自動添加的時序約束

    我使用時鐘發生器ip來生成幾個時鐘。但是當我生成比特流時,XPS會產生錯誤:錯誤:未滿足3個約束。通過讀取Timing約束,可以自動添加一些constainsts有沒有人告訴我如何解決這個問題?謝謝。
    發表于 11-04 08:44

    FPGA上設計系統應該添加任何約束嗎?

    我的原理圖中,我檢查了所有子模塊的時鐘都沒有緩沖區。圖中的藍線是我的時鐘。我應該添加任何約束嗎?我為所有頂級模塊的輸入和輸出添加了時序約束
    發表于 05-22 09:22

    怎樣FPGA邏輯電路添加約束標簽呢

    :如代碼中所述,我們在這里mem添加約束屬性ram_style,要求在實現時用uram來實現。對應生成的Verilog文件如下所示:在生成的Verilog代碼里我們可以看到,memCtrl_mem
    發表于 07-22 14:28

    FPGA開發之時序約束(周期約束

    時序約束可以使得布線的成功率的提高,減少ISE布局布線時間。這時候用到的全局約束就有周期約束和偏移約束。周期約束就是根據時鐘頻率的不同劃分為
    發表于 02-09 02:56 ?739次閱讀

    添加時序約束的技巧分析

    一般來講,添加約束的原則為先附加全局約束,再補充局部約束,而且局部約束比較寬松。其目的是在可能的地方盡量放松
    發表于 11-25 09:14 ?2629次閱讀

    混合搜索的含邏輯“與”“或”的RM優化算法

    相對于標準約束優化問題,廣義約束優化問題(或稱析取優化問題1的等式或不等式約束條件中不僅包含邏輯與關系,還含有邏輯或關系.單調速率(RM)優化問題是廣義
    發表于 12-25 17:13 ?0次下載
    混合搜索的含邏輯“與”“或”的<b class='flag-5'>RM</b>優化算法

    如何理解和使用做FPGA設計時的過約束

    約束(overconstraint) 所謂過約束,就是目標時鐘一個超過其設定運行頻率的約束。比如實際運行的時鐘頻率是100MHz,我們在給這個時鐘
    的頭像 發表于 03-29 11:56 ?5989次閱讀
    如何理解和使用做FPGA設計時的過<b class='flag-5'>約束</b>?

    如何在Vivado中添加時序約束

    前面幾篇文章已經詳細介紹了FPGA時序約束基礎知識以及常用的時序約束命令,相信大家已經基本掌握了時序約束的方法。
    的頭像 發表于 06-23 17:44 ?2545次閱讀
    如何在Vivado中<b class='flag-5'>添加</b>時序<b class='flag-5'>約束</b>

    如何在Vivado中添加時序約束呢?

    今天介紹一下,如何在Vivado中添加時序約束,Vivado添加約束的方法有3種:xdc文件、時序約束向導(Constraints Wiza
    的頭像 發表于 06-26 15:21 ?4356次閱讀
    如何在Vivado中<b class='flag-5'>添加</b>時序<b class='flag-5'>約束</b>呢?

    如何TPU-MLIR添加新的算子

    如何TPU-MLIR添加新的算子
    的頭像 發表于 08-18 11:29 ?767次閱讀
    如何<b class='flag-5'>給</b>TPU-MLIR<b class='flag-5'>添加</b>新的算子
    主站蜘蛛池模板: 欧美专区在线播放 | 亚洲一区在线观看视频 | 黄色网址 在线播放 | h网站免费| 全国最大色成免费网站 | 影院成人区精品一区二区婷婷丽春院影视 | 三级黄色录像 | 日本理论在线 | 亚洲人成电影在线 | 欧美就是色 | 成年大片免费视频播放手机不卡 | 日本69xxxx| 七月婷婷精品视频在线观看 | 国产亚洲美女 | 午夜影院在线观看 | 国产69精品久久久久9999 | 亚洲最大色网站 | 中文字幕第一页在线 | 天堂资源中文在线 | 亚洲色图偷窥自拍 | 久久久噜噜噜www成人网 | 国产综合在线视频 | 日韩精品在线第一页 | 亚洲精品色图 | 又色又污又爽又黄的网站 | 俄罗斯一级特黄黄大片 | 亚洲午夜精品一区二区 | 天天射久久 | 婷婷深爱| 天天做天天爰夜夜爽 | 国产女主播在线 | 免费网站毛片 | 午夜影院啊啊啊 | аbt天堂资源在线官网 | 日本电影在线观看黄 | 亚洲六月丁香六月婷婷花 | 亚洲天堂网在线观看 | 免费v片网站 | 日本a网站 | 高级毛片 | 男人操女人的网站 |