精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

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

DIri_ALIFPGA ? 來源:未知 ? 作者:胡薇 ? 2018-09-05 14:29 ? 次閱讀

時鐘域的問題:前一篇已經提到要通過比較讀寫指針來判斷產生讀空和寫滿信號,但是讀指針是屬于讀時鐘域的,寫指針是屬于寫時鐘域的,而異步FIFO的讀寫時鐘域不同,是異步的,要是將讀時鐘域的讀指針與寫時鐘域的寫指針不做任何處理直接比較肯定是錯誤的,因此我們需要進行同步處理以后進行比較。

解決方法:兩級寄存器同步 + 格雷碼

同步的過程有兩個:

(1)將寫時鐘域的寫指針同步到讀時鐘域,將同步后的寫指針與讀時鐘域的讀指針進行比較產生讀空信號;

(2)將讀時鐘域的讀指針同步到寫時鐘域,將同步后的讀指針與寫時鐘域的寫指針進行比較產生寫滿信號;

異步FIFO的寫指針和讀指針分屬不同時鐘域,這樣指針在進行同步過程中很容易出錯,比如寫指針在從0111到1000跳變時4位同時改變,這樣讀時鐘在進行寫指針同步后得到的寫指針可能是0000-1111的某個值,一共有2^4個可能的情況,而這些都是不可控制的,你并不能確定會出現哪個值,那出錯的概率非常大,怎么辦呢?到了格雷碼發揮作用的時候了,而格雷碼的編碼特點是相鄰位每次只有 1 位發生變化, 這樣在進行指針同步的時候,只有兩種可能出現的情況:

指針同步正確,正是我們所要的;

指針同步出錯,舉例假設格雷碼寫指針從000->001,將寫指針同步到讀時鐘域同步出錯,出錯的結果只可能是000->000,因為相鄰位的格雷碼每次只有一位變化,這個出錯結果實際上也就是寫指針沒有跳變保持不變,我們所關心的就是這個錯誤會不會導致讀空判斷出錯?答案是不會,最多是讓空標志在FIFO不是真正空的時候產生,而不會出現空讀的情形。所以gray碼保證的是同步后的讀寫指針即使在出錯的情形下依然能夠保證FIFO功能的正確性。在同步過程中的亞穩態不可能消除,但是我們只要保證它不會影響我們的正常工作即可。

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

    關注

    31

    文章

    5325

    瀏覽量

    120052
  • fifo
    +關注

    關注

    3

    文章

    387

    瀏覽量

    43559

原文標題:異步FIFO跨時鐘域亞穩態如何解決?

文章出處:【微信號:ALIFPGA,微信公眾號:FPGA極客空間】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA中復位電路的亞穩態技術詳解

    只要系統中有異步元件,亞穩態就是無法避免的,亞穩態主要發生在異步信號檢測、時鐘
    的頭像 發表于 09-30 17:08 ?3747次閱讀
    FPGA中復位電路的<b class='flag-5'>亞穩態</b>技術詳解

    時鐘的解決方案

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

    FPGA中亞穩態——讓你無處可逃

    異步信號檢測、時鐘信號傳輸以及復位電路等常用設計中。1.3亞穩態危害由于產生亞穩態后,寄存
    發表于 01-11 11:49

    FPGA中亞穩態——讓你無處可逃

    產生,我們就要對亞穩態進行消除,常用對亞穩態消除有三種方式:(1) 對異步信號進行同步處理;(2) 采用FIFO
    發表于 04-25 15:29

    FPGA的亞穩態現象是什么?

    說起亞穩態,首先我們先來了解一下什么叫做亞穩態亞穩態現象:信號在無關信號或者異步時鐘之間傳輸
    發表于 09-11 11:52

    在FPGA復位電路中產生亞穩態的原因

    元件,亞穩態就是無法避免的,亞穩態主要發生在異步信號檢測、時鐘信號傳輸以及復位電路等常用設計
    發表于 10-19 10:03

    FPGA--中復位電路產生亞穩態的原因

    的,亞穩態主要發生在異步信號檢測、時鐘信號傳輸以及復位電路等常用設計中。03 亞穩態危害由于
    發表于 10-22 11:42

    在FPGA中,同步信號、異步信號和亞穩態的理解

    為clk2時鐘異步信號,那么D4信號就有可能出現亞穩態。假設D4信號出現亞穩態后,恢復至穩態
    發表于 02-28 16:38

    今日說“法”:讓FPGA設計中的亞穩態“無處可逃”

    亞穩態產生,我們就要對亞穩態進行消除,常用對亞穩態消除有三種方式:[tr][tr](1) 對異步信號進行同步處理;[tr][tr](2) 采用FIF
    發表于 04-27 17:31

    異步FIFO結構及FPGA設計

    異步FIFO結構及FPGA設計,解決亞穩態的問題
    發表于 11-10 15:21 ?4次下載

    時序問題常見的時鐘亞穩態問題

    今天寫一下時序問題常見的時鐘亞穩態問題。 先說明一下亞穩態問題: D觸發器有個明顯的特征就是建立時間(setup time)和保持時間
    的頭像 發表于 06-18 15:28 ?2997次閱讀

    Verilog電路設計之單bit時鐘同步和異步FIFO

    FIFO用于為匹配讀寫速度而設置的數據緩沖buffer,當讀寫時鐘異步時,就是異步FIFO。多bit的數據信號,并不是直接從寫
    發表于 01-01 16:48 ?1262次閱讀

    時鐘類型介紹 同步FIFO異步FIFO的架構設計

    在《時鐘與復位》一文中已經解釋了亞穩態的含義以及亞穩態存在的危害。在單時鐘系統中,亞穩態出現的概率非常低,采用同步設計基本可以規避風險。但在
    的頭像 發表于 09-19 09:32 ?2726次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>類型介紹 同步<b class='flag-5'>FIFO</b>和<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>的架構設計

    FPGA設計中的亞穩態解析

    說起亞穩態,首先我們先來了解一下什么叫做亞穩態亞穩態現象:信號在無關信號或者異步時鐘之間傳輸
    的頭像 發表于 09-19 15:18 ?1819次閱讀
    FPGA設計中的<b class='flag-5'>亞穩態</b>解析

    如何處理時鐘這些基礎問題

    對于數字設計人員來講,只要信號從一個時鐘跨越到另一個時鐘,那么就可能發生亞穩態。我們稱為“
    發表于 01-08 09:39 ?587次閱讀
    如何處理<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>這些基礎問題