女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

FPGA時序約束之設置時鐘組

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 2025-04-23 09:50 ? 次閱讀

一、背景

Vivado中時序分析工具默認會分析設計中所有時鐘相關的時序路徑,除非時序約束中設置了時鐘組或false路徑。使用set_clock_groups命令可以使時序分析工具不分析時鐘組中時鐘的時序路徑,使用set_false_path約束則會雙向忽略時鐘間的時序路徑

使用-group參數可以將一個時鐘設置到多個時鐘組中,如果時鐘組中沒有時鐘,則時鐘組為空組。只有至少兩個組都是非空組,為有效組時set_clock_groups約束才有效。如果只有一個組有效,其他組是空的,流程將會報錯。

二、時鐘間關系

2.1 時鐘關系分類

兩個時鐘的關系可以是同步時鐘,異步時鐘,非擴展時鐘。

同步時鐘: 兩個時鐘的相位關系是可預知的,常見的是兩個時鐘來源于相同的根時鐘或者共同的周期,如生成時鐘和主時鐘。

異步時鐘:當兩個是時鐘的相位關系不可預知時,則為異步時鐘,例如來源兩個晶振的時鐘,通過不同的輸入端口進入到FPGA內部,無法知道兩者的相位關系。

非擴展時鐘:當兩個時鐘在1000個周期內仍無無法找到共同的邊沿,在這種情況下,最差的setup關系在超過1000個周期上,但是時序分析工具將無法確認這是最差的情況。典型的例子是兩個奇數倍分頻的時鐘,如clk0和clk1都是由MMCMs產生的生成時鐘,周期分別為5.125ns和6.666ns。它們的上升沿在1000個周期內不存在重合。時序分析工具有一個0.01ns的setup路徑裕量,盡管兩個時鐘有已知的相位關系,但它們的波形使得無法進行正確的時序分析。

異步時鐘中,slack值可以按常規方法計算,但計算出的值不一定正確。因此,非擴展時鐘通常作為異步時鐘。

2.2 時鐘關系查看

時鐘Vivado中Report Clock Interaction可以查看時鐘間的關系

497cf410-1e66-11f0-9310-92fbcf53809c.png

下圖顏色方塊中,橫坐標表示目的時鐘,縱坐標表示源時鐘,黑色No path表示不存在時序路徑,藍色User ignored Paths為用戶設置了不分析的約束,紅色Timed(Unsafe)表示異步時鐘或非擴展的時鐘,顏色塊下方的列表也顯示了時序的詳細信息。

49a4fc3a-1e66-11f0-9310-92fbcf53809c.png

三、異步時鐘組

3.1 優先級

異步時鐘和非擴展時鐘是沒法正確地進行時序分析, 在它們之間的時序路徑在分析時應該使用set_clock_groups進行忽略。相比于其他時序例外的命令,set_clock_groups的優先級最高,如果需要對異步時鐘進行分析,則不能對該時鐘使用set_clock_groups命令。

3.2 使用格式

在Timing Constraints窗口中,Clocks列下選擇Set Clock Groups

49d40412-1e66-11f0-9310-92fbcf53809c.png

進入Set Clock Groups界面

49f7c640-1e66-11f0-9310-92fbcf53809c.png

Group name:設置時鐘組的名稱

Group 1: 添加屬于Group 1中的時鐘,點擊最右側的“+”可以設置多個組

The specified clocks are: 設置時鐘組里的時鐘與其他時鐘的關系,可為asynchronous,logically exclusive,physically exclusive。

-asynchronous:約束為異步時鐘組

-logically_exclusive:約束為邏輯互斥的時鐘組

-physically_exclusive:約束為物理線路互斥的時鐘組,設計中不能同時存在,最終表現的效果和-logically_exclusive是相同的。

約束命令示例:

set_clock_groups -name clk_group -asynchronous -group[get_clocks{create_clk1 gen_clk_2}]

3.3 asynchronous和exclusive

參數asynchronous表示創建異步時鐘組,使用場景如數據在不同速率的時鐘間通過FIFO進行傳輸時,使用異步時鐘組隔離時序關系。

參數exclusive表示時鐘組里的時鐘為互斥關系,例如,同一個節點中存在多個時鐘,當同一時間內只能一個時鐘生效,常用在時鐘多路復用上。

3.4 結果示例

以設計中存在4個時鐘clk1,clk2,clk3,clk4為例,時鐘之間均存在可分析的時序路徑。對時鐘進行不同的時鐘組約束,約束后的分析結果如下,Y表示進行時序分析,N表示不進行時序分析,參數使用asynchronous。

a)場景1:

set_clock_groups -name clk_group -asynchronous -group[get_clocksclk1]

4a2f3b66-1e66-11f0-9310-92fbcf53809c.png

b)場景2

set_clock_groups -name clk_group -asynchronous -group[get_clocks{clk1 clk2}]

時鐘組內部的時鐘間進行時序分析,和外部的時鐘不會進行時序分析

4a699356-1e66-11f0-9310-92fbcf53809c.png

c)場景3

set_clock_groups -name clk_group -asynchronous -group[get_clocksclk1] -group[get_clocksclk2]

設置多個groups時,groups之間的clk不會進行時序分析

4b259af6-1e66-11f0-9310-92fbcf53809c.png

d)場景4

set_clock_groups -name clk_group -asynchronous -group[get_clocks{clk1 clk2}] -group[get_clocks{clk3 clk4}]

設置多個group時,group內部的時鐘間會進行時序分析,group間不會進行時序分析

4b44534c-1e66-11f0-9310-92fbcf53809c.png

總結:set_clock_group中group內部的時鐘只能組內間進行分析,不能跨組或與非約束中的時鐘進行時序分析

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

    關注

    5

    文章

    726

    瀏覽量

    22666
  • 時序約束
    +關注

    關注

    1

    文章

    118

    瀏覽量

    13617
  • Vivado
    +關注

    關注

    19

    文章

    828

    瀏覽量

    68192

原文標題:FPGA時序約束之設置時鐘組set_clock_groups

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    FPGA的IO口時序約束分析

      在高速系統中FPGA時序約束不止包括內部時鐘約束,還應包括完整的IO時序
    發表于 09-27 09:56 ?1978次閱讀

    FPGA時序約束的基礎知識

    FPGA開發過程中,離不開時序約束,那么時序約束是什么?簡單點說,FPGA芯片中的邏輯電路,從輸
    發表于 06-06 17:53 ?1661次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>時序</b><b class='flag-5'>約束</b>的基礎知識

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

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

    FPGA時序約束衍生時鐘約束時鐘分組約束

    FPGA設計中,時序約束對于電路性能和可靠性非常重要。在上一篇的文章中,已經詳細介紹了FPGA時序約束
    發表于 06-12 17:29 ?3320次閱讀

    FPGA時序約束偽路徑和多周期路徑

    前面幾篇FPGA時序約束進階篇,介紹了常用主時鐘約束、衍生時鐘
    發表于 06-12 17:33 ?2291次閱讀

    FPGA時序約束建立時間和保持時間

    FPGA時序約束是設計的關鍵點之一,準確的時鐘約束有利于代碼功能的完整呈現。進行時序
    發表于 08-14 17:49 ?1794次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>時序</b><b class='flag-5'>約束</b><b class='flag-5'>之</b>建立時間和保持時間

    Xilinx FPGA編程技巧常用時序約束詳解

    今天給大俠帶來Xilinx FPGA編程技巧常用時序約束詳解,話不多說,上貨。 基本的約束方法為了保證成功的設計,所有路徑的
    發表于 04-12 17:39

    Xilinx FPGA編程技巧常用時序約束詳解

    今天給大俠帶來Xilinx FPGA編程技巧常用時序約束詳解,話不多說,上貨。 基本的約束方法 為了保證成功的設計,所有路徑的
    發表于 05-06 15:51

    FPGA實戰演練邏輯篇56:VGA驅動接口時序設計3時鐘約束

    VGA驅動接口時序設計3時鐘約束本文節選自特權同學的圖書《FPGA設計實戰演練(邏輯篇)》配套例程下載鏈接:http://pan.baid
    發表于 07-30 22:07

    時序約束時鐘約束

    vivado默認計算所有時鐘之間的路徑,通過set_clock_groups命令可禁止在所標識的時鐘之間以及一個時鐘內的
    發表于 09-21 12:40

    FPGA時序約束方法

    FPGA時序約束方法很好地資料,兩大主流的時序約束都講了!
    發表于 12-14 14:21 ?19次下載

    FPGA中的時序約束設計

    一個好的FPGA設計一定是包含兩個層面:良好的代碼風格和合理的約束時序約束作為FPGA設計中不可或缺的一部分,已發揮著越來越重要的作用。毋
    發表于 11-17 07:54 ?2711次閱讀
    <b class='flag-5'>FPGA</b>中的<b class='flag-5'>時序</b><b class='flag-5'>約束</b>設計

    FPGA設計之時序約束

    上一篇《FPGA時序約束分享01_約束四大步驟》一文中,介紹了時序約束的四大步驟。
    發表于 03-18 10:29 ?1835次閱讀
    <b class='flag-5'>FPGA</b>設計之<b class='flag-5'>時序</b><b class='flag-5'>約束</b>

    FPGA時序約束的原理是什么?

    FPGA開發過程中,離不開時序約束,那么時序約束是什么?簡單點說,FPGA芯片中的邏輯電路,從輸
    發表于 06-26 14:42 ?906次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>時序</b><b class='flag-5'>約束</b>的原理是什么?

    FPGA設計衍生時鐘約束時鐘分組約束設置

    FPGA設計中,時序約束對于電路性能和可靠性非常重要。
    發表于 06-26 14:53 ?2691次閱讀
    <b class='flag-5'>FPGA</b>設計衍生<b class='flag-5'>時鐘</b><b class='flag-5'>約束</b>和<b class='flag-5'>時鐘</b>分組<b class='flag-5'>約束</b><b class='flag-5'>設置</b>