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

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

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

3天內不再提示

異步FIFO用格雷碼的原因有哪些

FPGA設計論壇 ? 來源:博客園 ? 作者:子皿木公 ? 2021-08-04 14:05 ? 次閱讀

異步FIFO通過比較讀寫地址進行滿空判斷,但是讀寫地址屬于不同的時鐘域,所以在比較之前需要先將讀寫地址進行同步處理,將寫地址同步到讀時鐘域再和讀地址比較進行FIFO空狀態判斷(同步后的寫地址一定是小于或者等于當前的寫地址,所以此時判斷FIFO為空不一定是真空,這樣更保守)。

將讀地址同步到寫時鐘域再和寫地址比較進行FIFO滿狀態判斷(同步后的讀地址一定是小于或者等于當前的讀地址,所以此時判斷FIFO為滿不一定是真空,這樣更保守),這樣可以保證FIFO的特性:FIFO空之后不能繼續讀取,FIFO滿之后不能繼續寫入。

大多數情形下,異步FIFO兩端的時鐘不是同頻的,或者讀快寫慢,或者讀慢寫快,這時候進行地址同步的時候,可能會有地址遺漏,以讀慢寫快為例,進行滿標志判斷的時候需要將讀地址同步到寫時鐘域,因為讀慢寫快,所以不會有讀地址遺漏,同步后的讀地址滯后當前讀地址,所以可能滿標志會提前產生。

進行空標志判斷的時候需要將寫地址同步到讀地址,因為讀慢寫快,所以當讀時鐘同步寫地址的時候,必然會漏掉一部分寫地址(寫時鐘快,寫地址隨寫時鐘翻轉,直到滿標志出現為止),那到底讀時鐘會同步到哪個寫地址?

不必在意是哪一個,我們關注的是漏掉的地址會不會對FIFO的空標志產生影響。比如寫地址從0寫到10,期間讀時鐘域只同步到了2,5,7這三個寫地址,漏掉了其他地址。同步到7地址時,真實的寫地址可能已經寫到10地址,相當于“在讀時鐘域還沒來得及覺察的情況下,寫時鐘域可能偷偷寫了數據到FIFO去”,這樣在比較讀寫地址的時候不會產生FIFO“空”讀操作。漏掉的地址也沒有對FIFO的邏輯操作產生影響。

我們可以對異步FIFO的地址采用binary編碼,這樣并不影響異步FIFO的功能,前提是讀寫地址同步時能夠保持正確。這種情況在功能仿真時完全正確,問題只有到時序仿真時才會遇到。毛刺可以說是異步電路的殺手,一個毛刺被觸發器采樣后會被放大,然后傳播,導致電路功能出錯。

binary編碼的地址總線在跳變時極易產生毛刺,因為binary編碼是多位跳變,在實現電路時不可能做到所有的地址總線等長,address bus skew必然存在,而且寫地址和讀地址分屬不同時鐘域,讀寫時鐘完全異步,這樣地址總線在進行同步過程中出錯不可避免,比如寫地址在從0111到1000轉換時4條地址線同時跳變,這樣讀時鐘在進行寫地址同步后得到的寫地址可能是0000-1111的某個值,這個完全不能確定,所以用這個同步后的寫地址進行FIFO空判斷的時候難免出錯。

這個時候gray碼體現了價值,一次只有一位數據發生變化,這樣在進行地址同步的時候,只有兩種情況:1.地址同步正確;2.地址同步出錯,但是只有1位出錯;

第一種正確的情況不需要分析,我們關注第二種,假設寫地址從000-》001,讀時鐘域同步出錯,寫地址為000-》000,也就是地址沒有跳變,但是用這個錯誤的寫地址去做空判斷不會出錯,最多是讓空標志在FIFO不是真正空的時候產生,而不會出現空讀的情形。

所以gray碼保證的是同步后的讀寫地址即使在出錯的情形下依然能夠保證FIFO功能的正確性,當然同步后的讀寫地址出錯總是存在的(因為時鐘異步,采樣點不確定)。

這里需要注意gray碼只是在相鄰兩次跳變之間才會出現只有1位數據不一致的情形,超過兩個周期則不一定,所有地址總線bus skew一定不能超過一個周期,否則可能出現gray碼多位數據跳變的情況,這個時候gray碼就失去了作用,因為這時候同步后的地址已經不能保證只有1位跳變了。

另外需要將地址總線打兩拍,這是為了避免亞穩態傳播,理論上將打兩拍不能消除亞穩態現象,因為時鐘異步,亞穩態不可避免,但是可以極大降低亞穩態傳播的概率,低頻情況下甚至STA不需要分析這里的異步時序,因為寄存器都可以在一拍內將亞穩態消除,恢復到正常0/1態。而在高頻情況下則不一定,尤其在28nm工藝以下,需要檢查兩級觸發器的延遲,保證延遲低,這樣可以提高Tr,提高系統MTBF。

編輯:jq

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

    關注

    0

    文章

    20

    瀏覽量

    8534

原文標題:異步FIFO為什么用格雷碼

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    cy7c68013a異步slave fifo模式,外部mcu無法讀寫fifo怎么解決?

    cy7c68013a 異步slave fifo 模式,外部mcu無法讀寫fifo 上位機發送bulk數據,flag標志是對的,SLCS也拉低了,是設置的低有效, 檢測到了flag不為空的標志后
    發表于 06-03 10:49

    希爾亮相2025深圳國際電池展,以高效方案賦能新能源測試全鏈路

    2025年5月15日至17日,第十七屆深圳國際電池技術展覽會(CIBF2025)在深圳國際會展中心隆重舉行。希爾GripSeal攜快速連接器、C9對接板總成及E10系列電測試連接器等核心產品亮相
    的頭像 發表于 05-20 09:57 ?336次閱讀
    <b class='flag-5'>格</b><b class='flag-5'>雷</b>希爾亮相2025深圳國際電池展,以高效方案賦能新能源測試全鏈路

    智多晶FIFO_Generator IP介紹

    FIFO_Generator是智多晶設計的一款通用型FIFO IP。當前發布的FIFO_Generator IP是2.0版本,相比之前的1.1版本主要新增了非等比輸入輸出數據位寬支持和異步
    的頭像 發表于 04-25 17:24 ?879次閱讀
    智多晶<b class='flag-5'>FIFO</b>_Generator IP介紹

    AXI接口FIFO簡介

    AXI接口FIFO是從Native接口FIFO派生而來的。AXI內存映射接口提供了三種樣式:AXI4、AXI3和AXI4-Lite。除了Native接口FIFO支持的應用外,AXI FIFO
    的頭像 發表于 03-17 10:31 ?903次閱讀
    AXI接口<b class='flag-5'>FIFO</b>簡介

    SDRAM控制器的設計——Sdram_Control.v代碼解析(異步FIFO讀寫模塊、讀寫SDRAM過程)

    前言 SDRAM控制器里面包含5個主要的模塊,分別是PLL模塊,異步FIFO 寫模塊,異步FIFO讀模塊,SDRAM接口控制模塊,SDRAM指令執行模塊。 其中
    的頭像 發表于 03-04 10:49 ?1429次閱讀
    SDRAM控制器的設計——Sdram_Control.v代碼解析(<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>讀寫模塊、讀寫SDRAM過程)

    使用MSVC編譯器重新生成了DLP_SDK,執行Prepare DLP LightCrafter 4500時,生成的兩張編碼圖片問題,為什么?

    最近完成使用MSVC編譯器重新生成了DLP_SDK,并且將TIDA-00254項目也在msvc編譯器下重新生成成功,但是在執行Prepare DLP LightCrafter 4500時,生成的兩張編碼圖片
    發表于 02-28 06:37

    dlp4500模式序列投射,當設置pattern exposure:8333,pattern period為9000時其投射出來的圖案就亂了,為什么?

    dlp4500模式序列投射,但是當設置pattern exposure:8333,pattern period為9000時其投射出來的圖案就亂了,我看了一下他的圖片連接時間image load timing 每一張都大
    發表于 02-26 07:22

    運行LCr4500 3d程序時報錯怎么解決?

    ,我想用進行3D重建,這個的固件直接生成好的demo嗎,還是說要在opencv里自己
    發表于 02-26 06:13

    使用DLPC350投射時,當切換pattern頻率&gt;10frame/s,出現了圖像重疊的問題怎么解決?

    你好,我在使用DLPC350 投射(8bit深度)時,當 切換pattern頻率 &gt; 10frame/s,出現了圖像錯誤或者說 圖像重疊的問題: 從圖像看,像
    發表于 02-21 16:03

    如何保證DLP4500與巴斯勒相機同步?

    連接了相機觸發線和投影儀j14引腳的trig1的接線。投影儀燒錄了8位相移和圖共19張,曝光時間和周期設置為10000us和11000us,巴斯勒相機為220幀的,相機曝光設置為
    發表于 02-17 08:07

    FIFO Generator的Xilinx官方手冊

    FIFO作為FPGA崗位求職過程中最常被問到的基礎知識點,也是項目中最常被使用到的IP,其意義是非常重要的。本文基于對FIFO Generator的Xilinx官方手冊的閱讀與總結,匯總主要知識點
    的頭像 發表于 11-12 10:46 ?1584次閱讀
    <b class='flag-5'>FIFO</b> Generator的Xilinx官方手冊

    什么是工業設備,工業掃什么優勢

    工業設備概述工業設備,通常指的是工業掃器,是一種高性能的一維條碼和二維條碼掃描設備,廣泛應用于工業生產、倉儲等場景中。相較于普
    的頭像 發表于 11-07 14:44 ?611次閱讀
    什么是工業<b class='flag-5'>用</b>掃<b class='flag-5'>碼</b>設備,工業掃<b class='flag-5'>碼</b>器<b class='flag-5'>有</b>什么優勢

    總線異步通信幾種聯絡類型

    的靈活性和擴展性。 在總線異步通信中,多種聯絡類型,每種類型都有其特定的應用場景和特點。以下是對這些聯絡類型的介紹: 單工通信 單工通信是一種最基本的通信方式,它只允許數據在一個方向上傳輸。在這種通信方式中,
    的頭像 發表于 07-23 09:21 ?880次閱讀

    具有FIFO的雙異步通信元件TL16C552A數據表

    電子發燒友網站提供《具有FIFO的雙異步通信元件TL16C552A數據表.pdf》資料免費下載
    發表于 06-26 11:28 ?0次下載
    具有<b class='flag-5'>FIFO</b>的雙<b class='flag-5'>異步</b>通信元件TL16C552A數據表

    啟用了硬件的流控RTS,CTS, 出現esp-modem: HW FIFO Overflow是什么原因導致的?

    :255.255.255.255, gw:10.64.64.64 應用程序運行在 Core1 上,CPU負荷比較高,大約在 95% 以上 示波器看 RTS 引腳,可以看到 RTS 變化, 但仍然
    發表于 06-25 06:08
    主站蜘蛛池模板: 欧美一级片在线视频 | 一区二区三区四区在线免费观看 | 呦交小u女国产秘密入口 | 看黄视频网站 | 91久久人澡人人添人人爽 | 黄篇网站在线观看 | 一级做a爰片久久毛片美女图片 | 天天网综合 | 性久久久久久久久久 | 天天操伊人 | 老色歌uuu26 老湿成人影院 | 天天综合天天综合色在线 | 18年大片免费在线观看 | 狠狠干最新网址 | 久久国产伦三级理电影 | 网站色小妹| 亚洲午夜一级毛片 | 狠狠操夜夜爱 | 日韩一级欧美一级一级国产 | 九九热在线视频观看这里只有精品 | 国产成人毛片毛片久久网 | 午夜三级毛片 | 久久亚洲免费视频 | 国产日本久久久久久久久婷婷 | 在线三区| 免费边摸边吃奶边叫床视频gif | 五月天六月丁香 | 91福利网站 | 男人的天堂视频网站清风阁 | 成人男女啪啪免费观看网站 | 三级黄色在线 | 日本美女中出 | 手机在线观看国产精选免费 | 久久久蜜桃 | 四虎永久免费影院在线 | bt种子天堂 | 欧美一级www片免费观看 | 午夜一级毛片不卡 | 久久成人免费网站 | 色天天躁夜夜躁天干天干 | 亚洲午夜精品一区二区 |