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

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

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

3天內不再提示

跨時鐘域電路設計:多位寬數據通過FIFO跨時鐘域

FPGA技術驛站 ? 來源:FPGA技術驛站 ? 2023-05-11 14:01 ? 次閱讀

FIFO是實現多位寬數據的異步跨時鐘域操作的常用方法,相比于握手方式,FIFO一方面允許發送端在每個時鐘周期都發送數據,另一方面還可以對數據進行緩存。需要注意的是對FIFO控制信號的管理,以避免發生“寫滿”后繼續寫或“讀空”后繼續讀的狀況。這些控制信號包括寫時鐘域下的寫使能信號(wr_en,輸入)和寫滿標記信號(full,輸出),讀時鐘域下的讀使能信號(rd_en,輸入)和讀空標記信號(empty,輸出),如下圖所示。圖中黑色標記信號為必選信號如輸入/輸出數據信號2(din/dout),藍色標記信號為可選信號如快滿/快空信號(almost_full/almost_empty)。

deebaa8e-efbd-11ed-90ce-dac502259ad0.png

無論是通過XPM方式(XPM_FIFO)還是IP方式(FIFO Generator),都需要注意,因為這里針對的是異步跨時鐘域情形,所以XPM應選擇xpm_fifo_async,使用IP時應選擇Independent Clocks,如下圖所示。

df148ecc-efbd-11ed-90ce-dac502259ad0.png

從約束層面看,無論是XPM_FIFO還是IP方式,都會有自帶的約束,如下圖所示。這些自帶約束包括set_max_delay,set_bus_skew和set_false_path,如圖中藍色方框內容所示。尤其要注意的是set_max_delay約束,由于其優先級較set_clock_groups和set_false_path低,故要避免該約束被其所覆蓋,導致約束失效。

df2b0ee0-efbd-11ed-90ce-dac502259ad0.png

具體來說,如果wr_clk和rd_clk兩個時鐘域下除了通過FIFO隔離的路徑外,還有其他跨時鐘域路徑,對于這些跨時鐘域路徑,倘若直接采用set_clock_groups進行約束,如下圖所示,那么就會導致FIFO自帶的set_max_delay被覆蓋掉。這可通過命令report_exceptions查看,如下圖所示,注意圖中紅色方框標記。

df47c724-efbd-11ed-90ce-dac502259ad0.png

df65bf18-efbd-11ed-90ce-dac502259ad0.png

在這種情形下,顯然不能再用set_clock_groups進行約束。那么該如何對這些跨時鐘域路徑約束呢?我們分情況討論。如果對這些跨時鐘域路徑操作使用的是XPM_CDC,那么Vivado會直接使用其自帶約束,這些自帶約束的作用域僅限于XPM_CDC,所以不會覆蓋FIFO自帶約束。如果對這些跨時鐘域路徑操作使用的是用戶模塊,那么在約束時,若確認為偽路徑,應使用set_false_path,同時-from和-to的對象應使用get_cells或get_pins獲取,而不能使用get_clocks獲取。如果cell較多,而且也無法用通配符完全匹配到,那么可以使用如下方式:即仍使用set_max_delay外加選項-datapath_only,-from和-to的對象仍通過get_clocks獲取,而延遲值可以填一個很大的值,如這里的50(代表50ns),這樣就等效于set_false_path。report_exceptions的結果也顯示FIFO自帶約束沒有被覆蓋,如下圖所示。

df7ec062-efbd-11ed-90ce-dac502259ad0.png

dfa1ded0-efbd-11ed-90ce-dac502259ad0.png

綜上所述,使用異步FIFO完成多位寬數據的跨時鐘域操作時,要注意FIFO自帶有set_max_delay約束,確保該約束不會被set_false_path或set_clock_groups所覆蓋,否則可能發生時序收斂,但系統不能正常工作的情形。

審核編輯:湯梓紅

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

    關注

    6701

    文章

    2528

    瀏覽量

    213020
  • fifo
    +關注

    關注

    3

    文章

    400

    瀏覽量

    44649
  • 信號
    +關注

    關注

    11

    文章

    2844

    瀏覽量

    77958
  • 時鐘域
    +關注

    關注

    0

    文章

    53

    瀏覽量

    9736
  • Vivado
    +關注

    關注

    19

    文章

    831

    瀏覽量

    68322

原文標題:跨時鐘域電路設計(7):多位寬數據通過FIFO跨時鐘域

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    多位數據通過握手方式時鐘

    對于多位數據,我們可以采用握手方式實現時鐘操作。該方式可直接使用xpm_cdc_hands
    的頭像 發表于 05-06 09:22 ?1500次閱讀
    <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><b class='flag-5'>域</b>

    時鐘的解決方案

    在很久之前便陸續談過亞穩態,FIFO,復位的設計。本次亦安做一個簡單的總結,從宏觀上給大家展示時鐘的解決方案。
    的頭像 發表于 01-08 09:42 ?1209次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>的解決方案

    如何處理好FPGA設計中時鐘間的數據

    時鐘處理是FPGA設計中經常遇到的問題,而如何處理好時鐘間的
    發表于 07-29 06:19

    如何處理好時鐘間的數據

    時鐘處理是什么意思?如何處理好時鐘間的數據
    發表于 11-01 07:44

    看看Stream信號里是如何做時鐘握手的

    popArea里stream.m2sPipe,這個版本效率相較于前者,略低一些:StreamFifoCC這個就沒有什么好說的了,通過fifo來實現stream信號的時鐘
    發表于 07-07 17:25

    如何解決異步FIFO時鐘亞穩態問題?

    時鐘的問題:前一篇已經提到要通過比較讀寫指針來判斷產生讀空和寫滿信號,但是讀指針是屬于讀時鐘
    的頭像 發表于 09-05 14:29 ?6288次閱讀

    關于FPGA中時鐘的問題分析

    時鐘問題(CDC,Clock Domain Crossing )是多時鐘設計中的常見現象。在FPGA領域,互動的異步時鐘
    發表于 08-19 14:52 ?3608次閱讀

    關于時鐘的詳細解答

    每一個做數字邏輯的都繞不開時鐘處理,談一談SpinalHDL里用于時鐘處理的一些手段方法
    的頭像 發表于 04-27 10:52 ?4568次閱讀
    關于<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>的詳細解答

    單位信號如何時鐘

    單位(Single bit)信號即該信號的位為1,通常控制信號居多。對于此類信號,如需時鐘可直接使用xpm_cdc_single
    的頭像 發表于 04-13 09:11 ?1556次閱讀

    時鐘電路設計總結

    時鐘操作包括同步時鐘操作和異步
    的頭像 發表于 05-18 09:18 ?965次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>電路設計</b>總結

    FPGA時鐘處理方法(一)

    時鐘是FPGA設計中最容易出錯的設計模塊,而且一旦時鐘出現問題,定位排查會非常困難,因為
    的頭像 發表于 05-25 15:06 ?2458次閱讀
    FPGA<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理方法(一)

    FPGA時鐘處理方法(二)

    上一篇文章已經講過了單bit時鐘的處理方法,這次解說一下多bit的時鐘方法。
    的頭像 發表于 05-25 15:07 ?1275次閱讀
    FPGA<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理方法(二)

    時鐘電路設計—單比特信號傳輸

    時鐘(CDC)的應從對亞穩定性和同步性的基本了解開始。
    的頭像 發表于 06-27 14:25 ?1433次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>電路設計</b>—單比特信號傳輸

    時鐘電路設計:單位信號如何時鐘

    單位(Single bit)信號即該信號的位為1,通常控制信號居多。對于此類信號,如需時鐘可直接使用xpm_cdc_single,如
    的頭像 發表于 08-16 09:53 ?1641次閱讀
    <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>信號如何<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>

    fpga時鐘通信時,慢時鐘如何讀取快時鐘發送過來的數據

    時,由于時鐘頻率不同,所以可能會產生元件的不穩定情況,導致傳輸數據的錯誤。此時我們需要采取一些特殊的措施,來保證時鐘傳輸的正確性。 FP
    的頭像 發表于 10-18 15:23 ?1381次閱讀
    主站蜘蛛池模板: 国产自在自线午夜精品视频在 | 丁香激情综合 | 757福利影院合集3000 | 手机看片福利盒子 | 牛仔裤美女国产精品毛片 | 日本a级片视频 | 久草亚洲视频 | 久久精品国产6699国产精 | 欧美人与物另类 | avbobo官网在线入口 | 天天躁夜夜躁 | 国产操比视频 | 日本黄色片黄色片 | 色狠狠色综合久久8狠狠色 色狠狠网 | 天天爆操 | 五月婷婷之婷婷 | 免费日韩三级 | 女毛片| 午夜视频1000 | 高h肉肉视频在线播放观看 高黄视频 | 国产精品天天爽夜夜欢张柏芝 | q2002韩国理论 | 日本不卡高清视频 | 日本动漫在线看 | 在线看av网址 | 欧美成人高清性色生活 | 日韩免费高清一级毛片在线 | 日韩天堂 | 99精品在免费线视频 | 国产精品大尺度尺度视频 | 黄色免费片 | 欧美色视频日本片高清在线观看 | 色婷婷狠狠久久综合五月 | 亚洲免费色视频 | 天天躁夜夜躁狠狠躁2021a | 男人的天堂免费视频 | 欧美一卡2卡三卡4卡5卡免费观看 | 免费在线播放毛片 | 欧美一区二区三区高清视频 | 手机看片日韩国产 | 国产精品福利久久 |