色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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所覆蓋,否則可能發生時序收斂,但系統不能正常工作的情形。

審核編輯:湯梓紅

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

    關注

    6673

    文章

    2451

    瀏覽量

    204156
  • fifo
    +關注

    關注

    3

    文章

    387

    瀏覽量

    43648
  • 信號
    +關注

    關注

    11

    文章

    2789

    瀏覽量

    76730
  • 時鐘域
    +關注

    關注

    0

    文章

    52

    瀏覽量

    9535
  • Vivado
    +關注

    關注

    19

    文章

    812

    瀏覽量

    66471

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

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

收藏 人收藏

    評論

    相關推薦

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

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

    關于FPGA中時鐘的問題分析

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

    關于時鐘的詳細解答

    每一個做數字邏輯的都繞不開時鐘處理,談一談SpinalHDL里用于時鐘處理的一些手段方法
    的頭像 發表于 04-27 10:52 ?4267次閱讀
    關于<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 ?1314次閱讀

    時鐘電路設計總結

    時鐘操作包括同步時鐘操作和異步
    的頭像 發表于 05-18 09:18 ?735次閱讀
    <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 ?1986次閱讀
    FPGA<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理方法(一)

    FPGA時鐘處理方法(二)

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

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

    時鐘(CDC)的應從對亞穩定性和同步性的基本了解開始。
    的頭像 發表于 06-27 14:25 ?1054次閱讀
    <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 ?1333次閱讀
    <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 ?1066次閱讀
    主站蜘蛛池模板: 帝王受PLAY龙椅高肉NP| 精品亚洲视频在线观看| 免费精品一区二区三区AA片| 婷婷亚洲AV色香蕉蜜桃| 91精品一区二区综合在线| 国产精品三级在线观看 | 亚洲精品乱码8久久久久久日本| 91久久精品一区二区三区| 黑吊大战白女出浆| 深爱激情站| rio 快播| 美女张开腿让我了一夜| 亚洲综合色五月久久婷婷| 国产 精品 亚洲 欧美 高清| 欧美s00老人| 中国xxx视频| 精品视频久久久久| 亚欧免费观看在线观看更新| 成人在线视频播放| 欧美群交XXXCOM| 2021自产拍在线观看视频| 极品少妇高潮啪啪AV无码吴梦梦| 同桌别揉我奶了嗯啊| WWW亚洲精品久久久无码| 老头操美女| 孕妇高潮抽搐喷水30分钟| 韩国甜性涩爱| 性xxx免费| 国产精品久久久久久久久齐齐| 全部老头和老太XXXXX| 99在线观看精品| 年轻的朋友4在线看中文字幕| 在线观看精品视频看看播放| 国产在线精品视频免费观看| 午夜伦理电影在线观免费| 国产高清在线露脸一区| 色愁愁久久久| 广西美女色炮150p图| 色屁屁影院| 国产SUV精品一区二区883| 日日踫夜夜爽无码久久|