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

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

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

3天內不再提示

跨時鐘域電路設計:多位寬數(shù)據(jù)通過FIFO跨時鐘域

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

FIFO是實現(xiàn)多位寬數(shù)據(jù)的異步跨時鐘域操作的常用方法,相比于握手方式,F(xiàn)IFO一方面允許發(fā)送端在每個時鐘周期都發(fā)送數(shù)據(jù),另一方面還可以對數(shù)據(jù)進行緩存。需要注意的是對FIFO控制信號的管理,以避免發(fā)生“寫滿”后繼續(xù)寫或“讀空”后繼續(xù)讀的狀況。這些控制信號包括寫時鐘域下的寫使能信號(wr_en,輸入)和寫滿標記信號(full,輸出),讀時鐘域下的讀使能信號(rd_en,輸入)和讀空標記信號(empty,輸出),如下圖所示。圖中黑色標記信號為必選信號如輸入/輸出數(shù)據(jù)信號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約束,由于其優(yōu)先級較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完成多位寬數(shù)據(jù)的跨時鐘域操作時,要注意FIFO自帶有set_max_delay約束,確保該約束不會被set_false_path或set_clock_groups所覆蓋,否則可能發(fā)生時序收斂,但系統(tǒng)不能正常工作的情形。

審核編輯:湯梓紅

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

    關注

    6677

    文章

    2465

    瀏覽量

    205338
  • fifo
    +關注

    關注

    3

    文章

    389

    瀏覽量

    43858
  • 信號
    +關注

    關注

    11

    文章

    2804

    瀏覽量

    77107
  • 時鐘域
    +關注

    關注

    0

    文章

    52

    瀏覽量

    9574
  • Vivado
    +關注

    關注

    19

    文章

    815

    瀏覽量

    66890

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

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

收藏 人收藏

    評論

    相關推薦

    多位數(shù)據(jù)通過握手方式時鐘

    對于多位數(shù)據(jù),我們可以采用握手方式實現(xiàn)時鐘操作。該方式可直接使用xpm_cdc_hands
    的頭像 發(fā)表于 05-06 09:22 ?1227次閱讀
    <b class='flag-5'>多位</b><b class='flag-5'>寬</b><b class='flag-5'>數(shù)據(jù)通過</b>握手方式<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>

    時鐘的解決方案

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

    如何處理好FPGA設計中時鐘間的數(shù)據(jù)

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

    如何處理好時鐘間的數(shù)據(jù)

    時鐘處理是什么意思?如何處理好時鐘間的數(shù)據(jù)
    發(fā)表于 11-01 07:44

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

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

    如何解決異步FIFO時鐘亞穩(wěn)態(tài)問題?

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

    關于FPGA中時鐘的問題分析

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

    關于時鐘的詳細解答

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

    單位信號如何時鐘

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

    時鐘電路設計總結

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

    FPGA時鐘處理方法(一)

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

    FPGA時鐘處理方法(二)

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

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

    時鐘(CDC)的應從對亞穩(wěn)定性和同步性的基本了解開始。
    的頭像 發(fā)表于 06-27 14:25 ?1147次閱讀
    <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,如
    的頭像 發(fā)表于 08-16 09:53 ?1424次閱讀
    <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時鐘通信時,慢時鐘如何讀取快時鐘發(fā)送過來的數(shù)據(jù)?

    時,由于時鐘頻率不同,所以可能會產(chǎn)生元件的不穩(wěn)定情況,導致傳輸數(shù)據(jù)的錯誤。此時我們需要采取一些特殊的措施,來保證時鐘傳輸?shù)恼_性。 FP
    的頭像 發(fā)表于 10-18 15:23 ?1140次閱讀
    主站蜘蛛池模板: 日本大片黄色 | 韩国三级观影久久 | 黄色爽视频 | 新版天堂中文资源官网 | 欧美亚洲h在线一区二区 | 黄色美女网站在线观看 | 久久好色| 国产在线观看www鲁啊鲁免费 | 精品视频免费看 | 天天综合视频网 | 欧美色图狠狠干 | 国产精品久久久久久久久免费 | 久久本道综合色狠狠五月 | 午夜欧美精品久久久久久久 | 欧美人另类zooz | 色屁屁www免费看视频影院 | 久久手机看片 | 伊人久久影院大香线蕉 | 女人双腿搬开让男人桶 | 国产在线观看黄色 | 清纯唯美亚洲综合一区 | 欧美大狠狠大臿蕉香蕉大视频 | 天天爽夜夜爽夜夜爽精品视频 | 天天夜干| 直接看的黄色网址 | 午夜小福利| 高颜值美女啪啪 | 深夜视频在线播放视频在线观看免费观看 | 午夜影院免费视频 | 成人在线网站 | 色综合久久中文字幕网 | 色网站在线 | 7777sq国产精品 | 日本加勒比在线播放 | 综合网激情 | 欧美黄色片视频 | 成 年 人 视频在线播放 | 久久久久国产精品免费免费不卡 | 免费国产小视频 | 黄频网 | 精品国产自在现线看久久 |