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

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

3天內不再提示

關于另外一種設計異步FIFO的簡介

冬至子 ? 來源:長點芯 ? 作者:阿杰 ? 2023-10-20 10:50 ? 次閱讀

設計者為了提升FIFO的速度使用了將二進制計數器和格雷碼計數器結合在一起的方法,從最開始用一組寄存器來進行格雷碼到二進制碼的轉換,二進制碼的遞增和二進制碼到格雷碼的轉換,到后來的style#2(如圖)。

在本篇當中,作者進一步對此設計進行了說明,使用這種格雷碼計數器的目的是利用了二進制數進位的機制簡化了格雷碼到二進制碼的轉換電路來減少組合邏輯電路,這樣整個計數器的工作頻率上限就會有所提升。

圖片

Dual n-bit Gray Code counter style#2

但是,可以看到這里的設計需要使用兩組寄存器,這里可能會體現到PPA trade-off的思想了(因為我也沒有實驗過這種替換方式會不會帶來更大的面積損耗)。不過,對FPGA來講,FPGA包含著許多寄存器資源,所以使用FPGA來實現這種設計方法就不需要考慮面積上的損耗,更能凸顯出速度提升上的優勢!

上文說到,設計FIFO中最重要的部分也是最難的部分之一就是如何產生空滿標志信號。一種方法就是上一篇提到的使用發送到對面時鐘域的同步后的格雷碼指針來進行比較,從而判斷空滿信號的產生。而另外一種方法就是本篇文章所提到的,指針的比較不再是同步的了,而是通過“異步”比較,并判斷空滿信號。

上篇文章提到的判斷空滿信號的方法是比較指針是否一樣,并通過多增加一個bit位來討論指針被套圈的問題。不同于上個設計,本篇文章提出了一個更有創意的思路來判斷空滿信號的產生。

作者將FIFO的地址分成了四個區間并通過編碼兩個指針計數器最高的兩位來比較判斷FIFO將要空滿的 趨勢 。舉個栗子,如果寫指針落在讀指針后面一個區間則表示FIFO將要滿,然后當指針重合時則將direction寄存器置位,如下圖。

圖片

FIFO is going full because the wptr trails the rptr by one quadrant

而如果寫指針落在讀指針前面一個區間則代表FIFO將要空,然后當指針重合的時候則將direction寄存器復位。

圖片

FIFO is going empty because the rptr trails the wptr by one quadrant

結語:

這篇文章理解起來可能要比前一篇更難理解一點,給我的感覺就是看起來很暈。沒有把握給大家闡明清楚,所以就不再做更深入的探討了。還是推薦大家如果對這個設計方法感興趣的話可以讀一下原文。

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

    關注

    42

    文章

    3414

    瀏覽量

    132005
  • 寄存器
    +關注

    關注

    30

    文章

    5164

    瀏覽量

    118137
  • 二進制
    +關注

    關注

    2

    文章

    719

    瀏覽量

    41317
  • FIFO存儲
    +關注

    關注

    0

    文章

    103

    瀏覽量

    5917
  • 組合邏輯電路

    關注

    6

    文章

    59

    瀏覽量

    14521
收藏 人收藏

    評論

    相關推薦

    基于FPGA的異步FIFO的實現

    大家好,又到了每日學習的時間了,今天我們來聊一聊基于FPGA的異步FIFO的實現。 一、FIFO簡介 FIFO是英文First In Fir
    的頭像 發表于 06-21 11:15 ?6254次閱讀
    基于FPGA的<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>的實現

    關于異步fifo的安全問題:

    關于異步fifo的安全問題:1. 雖然異步fifo可以提供多個握手信號,但真正影響安全性能的就兩個:2.
    發表于 03-05 10:40

    請問怎樣去設計一種異步FIFO?

    為什么要設計一種異步FIFO?異步FIFO的設計原理是什么?怎樣去設計一種
    發表于 06-18 09:20

    異步FIFO結構及FPGA設計

    首先介紹異步FIFO 的概念、應用及其結構,然后分析實現異步FIFO的難點問題及其解決辦法; 在傳統設計的基礎上提出一種新穎的電路結構并對其
    發表于 04-16 09:25 ?46次下載

    Camera Link接口的異步FIFO設計與實現

    介紹了異步FIFO在Camera Link接口中的應用,將Camera Link接口中的幀有效信號FVAL和行有效信號LVAL引入到異步FIFO的設計中。分析了FPGA中設計
    發表于 07-28 16:08 ?32次下載

    一種異步FIFO的設計方法

    摘要:使用FIFO同步源自不同時鐘域的數據是在數字IC設計中經常使用的方法,設計功能正確的FUFO會遇到很多問題,探討了兩種不同的異步FIFO的設計思路。兩種思路
    發表于 03-24 12:58 ?721次閱讀
    <b class='flag-5'>一種</b><b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>的設計方法

    異步FIFO結構及FPGA設計

    摘要:首先介紹異步FIFO的概念、應用及其結構,然后分析實現異步FIFO的難點問題及其解決辦法;在傳統設計的基礎上提出一種新穎的電路結構并對
    發表于 06-20 12:46 ?3723次閱讀
    <b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>結構及FPGA設計

    基于FPGA的異步FIFO設計方法詳解

    在現代電路設計中,一個系統往往包含了多個時鐘,如何在異步時鐘間傳遞數據成為一個很重要的問題,而使用異步FIFO可以有效地解決這個問題。異步FIFO
    發表于 07-17 08:33 ?8012次閱讀
    基于FPGA的<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>設計方法詳解

    基于異步FIFO結構原理

    問題一種簡便、快捷的解決方案。使用異步FIFO可以在兩個不同時鐘系統之間快速而方便地傳輸實時數據。在網絡接口、圖像處理等方面,異步FIFO
    發表于 02-07 14:22 ?0次下載
    基于<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>結構原理

    關于一種面向異步FIFO的低開銷容錯機制研究

    異步FIFO(Fist-In-First-Out)是一種先入先出的數據緩沖器[1]。由于可以很好地解決跨時鐘域問題和不同模塊之間的速度匹配問題,而被廣泛應用于全局異步局部同步[2](G
    的頭像 發表于 06-19 15:34 ?2957次閱讀
    <b class='flag-5'>關于</b><b class='flag-5'>一種</b>面向<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>的低開銷容錯機制研究

    異步FIFO之Verilog代碼實現案例

    同步FIFO的意思是說FIFO的讀寫時鐘是同一個時鐘,不同于異步FIFO,異步FIFO的讀寫時鐘
    發表于 11-01 09:58 ?1279次閱讀

    異步fifo詳解

    異步fifo詳解 一. 什么是異步FIFO FIFO即First in First out的英文簡稱,是
    的頭像 發表于 12-12 14:17 ?3253次閱讀

    FIFO設計—異步FIFO

    異步FIFO主要由五部分組成:寫控制端、讀控制端、FIFO Memory和兩個時鐘同步端
    發表于 05-26 16:17 ?1162次閱讀
    <b class='flag-5'>FIFO</b>設計—<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>

    同步FIFO異步FIFO的區別 同步FIFO異步FIFO各在什么情況下應用

    簡單的一種,其特點是輸入和輸出都與時鐘信號同步,當時鐘到來時,數據總是處于穩定狀態,因此容易實現數據的傳輸和存儲。 而異步FIFO則是在波形的上升沿和下降沿上進行處理,在輸入輸出端口處分別增加輸入和輸出指針,用于管理數據的讀寫。
    的頭像 發表于 10-18 15:23 ?1139次閱讀

    請問異步FIFO的溢出操作時怎么樣判斷的?

    請問異步FIFO的溢出操作時怎么樣判斷的? 異步FIFO是數據傳輸的一種常用方式,在一些儲存器和計算機系統中,常常會用到
    的頭像 發表于 10-18 15:28 ?438次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>