亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

3天內不再提示

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

FPGA技術驛站 ? 來源:FPGA技術驛站 ? 2023-05-11 14:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

審核編輯:湯梓紅

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

    關注

    6729

    文章

    2566

    瀏覽量

    217537
  • fifo
    +關注

    關注

    3

    文章

    404

    瀏覽量

    45403
  • 信號
    +關注

    關注

    11

    文章

    2877

    瀏覽量

    79544
  • 時鐘域
    +關注

    關注

    0

    文章

    53

    瀏覽量

    9973
  • Vivado
    +關注

    關注

    19

    文章

    844

    瀏覽量

    70368

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

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

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

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

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

    關于FPGA中時鐘的問題分析

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

    關于時鐘的詳細解答

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

    時鐘電路設計總結

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

    FPGA時鐘處理方法(二)

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

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

    時鐘(CDC)的應從對亞穩(wěn)定性和同步性的基本了解開始。
    的頭像 發(fā)表于 06-27 14:25 ?1768次閱讀
    <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 ?2040次閱讀
    <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ù)據?

    時,由于時鐘頻率不同,所以可能會產生元件的不穩(wěn)定情況,導致傳輸數(shù)據的錯誤。此時我們需要采取一些特殊的措施,來保證時鐘傳輸?shù)恼_性。 FP
    的頭像 發(fā)表于 10-18 15:23 ?1700次閱讀