色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

大規(guī)模ASIC或FPGA設(shè)計中異步FIFO設(shè)計闡述

FPGA之家 ? 來源:EETOP ? 作者:ThinkSpark ? 2021-09-30 09:57 ? 次閱讀

一、概述

在大規(guī)模ASICFPGA設(shè)計中,多時鐘系統(tǒng)往往是不可避免的,這樣就產(chǎn)生了不同時鐘域數(shù)據(jù)傳輸?shù)膯栴},其中一個比較好的解決方案就是使用異步FIFO來作不同時鐘域數(shù)據(jù)傳輸?shù)木彌_區(qū),這樣既可以使相異時鐘域數(shù)據(jù)傳輸?shù)臅r序要求變得寬松,也提高了它們之間的傳輸效率。此文內(nèi)容就是闡述異步FIFO的設(shè)計。

二、設(shè)計原理

2.1結(jié)構(gòu)框圖

73ca2282-218b-11ec-82a8-dac502259ad0.jpg


Fig. 2.1.1

如上圖所示的同步模塊synchronize to write clk,其作用是把讀時鐘域的讀指針rd_ptr采集到寫時鐘(wr_clk)域,然后和寫指針wr_ptr進行比較從而產(chǎn)生或撤消寫滿標(biāo)志位wr_full;類似地,同步模塊synchronize to read clk的作用是把寫時鐘域的寫指針wr_ptr采集到讀時鐘域,然后和讀指針rd_ptr進行比較從而產(chǎn)生或撤消讀空標(biāo)志位rd_empty。

另外還有寫指針wr_ptr和寫滿標(biāo)志位wr_full產(chǎn)生模塊,讀指針rd_ptr和讀空標(biāo)志位rd_empty產(chǎn)生模塊,以及雙端口存儲RAM模塊。

2.2二進制計數(shù)器存在的問題

異步FIFO讀寫指針需要在數(shù)學(xué)上的操作和比較才能產(chǎn)生準(zhǔn)確的空滿標(biāo)志位,但由于讀寫指針屬于不同的時鐘域及讀寫時鐘相位關(guān)系的不確定性,同步模塊采集另一時鐘域的指針時,此指針有可能正處在跳變的過程中,如圖Fig.2.2.1所示,那么采集到的值很有可能是不期望的值,當(dāng)然,不期望的錯誤結(jié)果也會隨之發(fā)生。

上圖中,rd_ptr2sync 3和4以及4和5之間的中間態(tài)是由于到各寄存器的時鐘rd_clk存在偏差而引起的。二進制的遞增操作,在大多數(shù)情況下都會有兩位或者兩以上的bit位在同一個遞增操作內(nèi)發(fā)生變化,但由于實際電路中會存在時鐘偏差和不同的路徑延時,二進制計數(shù)器在自增時會不可避免地產(chǎn)生錯誤的中間結(jié)果,如圖Fig.2.2.2。

上圖是Fig.2.2.1的電路原型以及局部波形的放大。由于rd_clk上升沿到達三寄存器的時間各不相同,這就導(dǎo)致了rd_ptr2sync的值從3’b011跳變3’b100的過程中經(jīng)歷了3’b111和3’b101,直到最后一個時鐘(rd_clk0)沿的到來后rd_ptr2sync才跳變到正確結(jié)果3’b100。中間結(jié)果的持續(xù)的時間雖然相對短暫,但是這些不正確的中間結(jié)果完全有可能被其它時鐘域的同步模塊采集到而產(chǎn)生錯誤的動作,見上圖。

由此可見,要避免中間結(jié)果的產(chǎn)生,其中一個可行的方案就是使被同步模塊采集的數(shù)據(jù)遞變時,每次只有一個bit位發(fā)生改變。格雷碼計數(shù)器就是一個不錯的選擇。

2.3格雷碼計數(shù)器的實現(xiàn)

2.3.1格雷碼的表現(xiàn)形式

格雷碼一個最大的特點就是在遞增或遞減的過程中,每次只變化一位,這是它最大的優(yōu)點。同時它也有自己的局限性,那就是循環(huán)計數(shù)深度必須是2的n次冪,否則就失去了每次只變化一位的特性。深度為16的二進制及格雷碼遞變表如下:

Binary Gray

0 0000 0000

1 0001 0001

2 0010 0011

3 0011 0010

4 0100 0110

5 0101 0111

6 0110 0101

7 0111 0100

8 1000 1100

9 1001 1101

10 1010 1111

11 1011 1110

12 1100 1010

13 1101 1011

14 1110 1001

15 1111 1000

0 0000 0000

2.3.2二進制和格雷碼的相互轉(zhuǎn)換

1、二進制到格雷碼:

745ae790-218b-11ec-82a8-dac502259ad0.png

2.3.3格雷碼計數(shù)器的實現(xiàn)

如下圖fig.2.3.1所示,指向存儲器的地址指針由二進制計數(shù)器產(chǎn)生,而用于跨時鐘域傳播的格雷碼指針是對二進制指針的實時轉(zhuǎn)換并用寄存器采集獲得的。這里要注意的是,計數(shù)器的位寬比實際所需的位寬要多出一位,這樣做的目的是方便判斷FIFO的空或滿,這一點下文中將會介紹。

2.4空滿標(biāo)志位的產(chǎn)生

異步FIFO最核心的部分就是精確產(chǎn)生空滿標(biāo)志位,這直接關(guān)系到設(shè)計的成敗。本文采用比較讀寫指針來判斷FIFO的空滿,如果FIFO的深度是n-1位線所能訪問到的地址空間,那么此設(shè)計所要用的指針位寬就比實際多出一位,也就是n位,這樣做有助于判斷FIFO是空還是滿。

2.4.1讀空標(biāo)志位的產(chǎn)生

當(dāng)讀地址rd_ptr趕上寫地址wr_ptr,也就是rd_ptr完全等于wr_ptr時,可以斷定,F(xiàn)IFO里的數(shù)據(jù)已被讀空,而且只有在兩種情況下,F(xiàn)IFO才會為空:第一種是系統(tǒng)復(fù)位,讀寫指針全部清零;另一種情況是在FIFO不為空時,數(shù)據(jù)讀出的速率快于數(shù)據(jù)寫入的速率,讀地址趕上寫地址時FIFO為空。空標(biāo)志位的產(chǎn)生需要在讀時鐘域里完成,這樣不至于發(fā)生FIFO已經(jīng)為空了而空標(biāo)志位還沒有產(chǎn)生的情況,但是可能會發(fā)生FIFO里已經(jīng)有數(shù)據(jù)了而空標(biāo)志位還沒有撤消的情況,不過就算是在最壞情況下,空標(biāo)志位撤消的滯后也只有三個時鐘周期,這個問題不會引起傳輸錯誤;還有一種情況就是空標(biāo)志比較邏輯檢測到讀地址和寫地址相同后緊接著系統(tǒng)產(chǎn)生了寫操作,寫地址增加,F(xiàn)IFO內(nèi)有了新數(shù)據(jù),由于同步模塊的滯后性,用于比較的寫地址不能及時更新,這樣,一個本不應(yīng)該有的空標(biāo)志信號就產(chǎn)生了,不過這種情況也不會導(dǎo)致錯誤的發(fā)生,像這種FIFO非空而產(chǎn)生空標(biāo)志信號的情況稱為“虛空”。

74d0ccf8-218b-11ec-82a8-dac502259ad0.png


Fig. 2.4.1.1空標(biāo)志產(chǎn)生邏輯

如圖Fig. 2.4.1.1空標(biāo)志產(chǎn)生邏輯,寫時鐘域的寫指針通過兩級寄存被同步到讀時鐘域之后與讀指針進行比較,如果完全相等,則會產(chǎn)生空標(biāo)志信號;同步模塊用兩級寄存器來實現(xiàn)是為了消除可能的亞穩(wěn)態(tài),正如前面所述,因為wr_ptr_gray是用格雷碼實現(xiàn)的,即使同步模塊是在wr_ptr_gray跳變的時刻進行采集,其采集到的所有可能值也只有兩個,一個是跳變之前的值,一個是跳變之后的值,它們只相差1,最壞情況也只是產(chǎn)生了“虛空”信號,而這不會引起錯誤傳輸。

2.4.2寫滿標(biāo)志位的產(chǎn)生

和讀空標(biāo)志位產(chǎn)生機制一樣,寫滿標(biāo)志位也是通過比較讀寫地址產(chǎn)生的。讀寫指針的關(guān)系就好比A,B兩個田徑運動員在一環(huán)形跑道上賽跑一樣,當(dāng)B運動員領(lǐng)先A并整整超前一圈時,A,B兩人的地點相同,此種情況對應(yīng)于讀寫指針指向了同一地址,但寫指針超前整整一圈,F(xiàn)IFO被寫滿。和讀空標(biāo)志產(chǎn)生一樣,寫滿標(biāo)志也是讀寫指針相同時產(chǎn)生。但是如果地址的寬度和FIFO實際深度所需的寬度相等,某一時刻讀寫地址相同了,那FIFO是空還是滿就難以判斷了。所以讀寫指針需要增加一位來標(biāo)記寫地址是否超前讀地址(在系統(tǒng)正確工作的前提下,讀地址不可能超前于寫地址),比如FIFO的深度為8,我們需要用寬度為4的指針。


Fig. 2.4.2.1格雷碼指針和存儲空間的映射關(guān)系

如果讀指針的最高位為0,而寫指針的最高位為1,說明寫指針超前于讀指針,這時如果讀寫指針指向同一存儲空間,參照Fig. 2.4.2.1 , 則可判斷為FIFO被寫滿。寫滿標(biāo)志位產(chǎn)生邏輯只需關(guān)心格雷碼指針最高位不同(寫超前于讀)且它們指向同一存儲空間的情況,那么怎么通過比較兩格雷碼指針來判斷這種情況的發(fā)生呢?首先,最高位相異(因為讀指針不可能超前于寫指針,所以只可能是寫指針超前于讀指針);其次,如果把最高位為1的所有格雷碼指針的次高位均取反后,除去最高位不看,則指向同一存儲空間的兩指針相同,從而得出第二個條件是:次高也相異。


Fig. 2.4.2.2寫滿標(biāo)志位產(chǎn)生邏輯

三、總結(jié)

前文講述了異步FIFO的應(yīng)用需要、實現(xiàn)原理,并重點闡述了空滿標(biāo)志信號的產(chǎn)生方法以及可能會發(fā)生的“虛空”和“虛滿”現(xiàn)象。理解了這些關(guān)鍵信號的產(chǎn)生原理,設(shè)計一個異步FIFO也就不難了。

責(zé)任編輯:haq

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

    關(guān)注

    1635

    文章

    21837

    瀏覽量

    608334
  • asic
    +關(guān)注

    關(guān)注

    34

    文章

    1209

    瀏覽量

    121159
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    392

    瀏覽量

    44094

原文標(biāo)題:異步FIFO設(shè)計(非常詳細(xì),圖文并茂,值得一看!)

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    JESD204B有專用于ADC/DAC和FPGAASIC的接口嗎?

    請問各位大俠:JESD204B專用于ADC/DAC和FPGAASIC的接口嗎,該接口同Rapid/PCIe的物理層Serdes接口有何區(qū)別,謝謝!
    發(fā)表于 02-08 09:10

    FPGAASIC的區(qū)別 FPGA性能優(yōu)化技巧

    FPGAASIC的區(qū)別 FPGA(現(xiàn)場可編程門陣列)和ASIC(專用集成電路)是兩種不同的集成電路技術(shù),它們在多個方面存在顯著的區(qū)別: FPGA
    的頭像 發(fā)表于 12-02 09:51 ?507次閱讀

    FPGAASIC在大模型推理加速的應(yīng)用

    隨著現(xiàn)在AI的快速發(fā)展,使用FPGAASIC進行推理加速的研究也越來越多,從目前的市場來說,有些公司已經(jīng)有了專門做推理的ASIC,像Groq的LPU,專門針對大語言模型的推理做了優(yōu)化,因此相比GPU這種通過計算平臺,功耗更低、
    的頭像 發(fā)表于 10-29 14:12 ?1141次閱讀
    <b class='flag-5'>FPGA</b>和<b class='flag-5'>ASIC</b>在大模型推理加速<b class='flag-5'>中</b>的應(yīng)用

    FPGAASIC的優(yōu)缺點比較

    FPGA(現(xiàn)場可編程門陣列)與ASIC(專用集成電路)是兩種不同的硬件實現(xiàn)方式,各自具有獨特的優(yōu)缺點。以下是對兩者優(yōu)缺點的比較: FPGA的優(yōu)點 可編程性強 :FPGA具有高度的可編程
    的頭像 發(fā)表于 10-25 09:24 ?1141次閱讀

    FPGA仿真黑科技\"EasyGo Vs Addon \",助力大規(guī)模電力電子系統(tǒng)仿真

    可以輕松地將其與各種硬件和協(xié)議連接,增強測試系統(tǒng)的靈活性。二、產(chǎn)品亮點▍超強FPGA芯片與接口配置,助力大規(guī)模電力電子系統(tǒng)仿真EasyGo Vs Addon支持的PXIe 7891搭載全新
    發(fā)表于 10-23 18:18

    FPGA同步復(fù)位和異步復(fù)位

    FPGA(Field-Programmable Gate Array,現(xiàn)場可編程門陣列)的復(fù)位操作是設(shè)計過程不可或缺的一環(huán),它負(fù)責(zé)將電路恢復(fù)到初始狀態(tài),以確保系統(tǒng)的正確啟動和穩(wěn)定運行。在F
    的頭像 發(fā)表于 07-17 11:12 ?1973次閱讀

    FPGA異步信號處理方法

    FPGA(現(xiàn)場可編程門陣列)在處理異步信號時,需要特別關(guān)注信號的同步化、穩(wěn)定性以及潛在的亞穩(wěn)態(tài)問題。由于異步信號可能來自不同的時鐘域外部設(shè)備,其到達時間和頻率可能不受
    的頭像 發(fā)表于 07-17 11:10 ?1434次閱讀

    具有FIFO的雙異步通信元件TL16C552A數(shù)據(jù)表

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

    同步FIFO異步FIFO區(qū)別介紹

    ,并且間隔時間長,也就是突發(fā)寫入。那么通過設(shè)置一定深度的FIFO,可以起到數(shù)據(jù)暫存的功能,且使得后續(xù)處理流程平滑。 時鐘域的隔離:主要用異步FIFO。對于不同時鐘域的數(shù)據(jù)傳輸,可以通過FIFO
    的頭像 發(fā)表于 06-04 14:27 ?2033次閱讀
    同步<b class='flag-5'>FIFO</b>和<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>區(qū)別介紹

    FPGA技術(shù)的五大優(yōu)勢

    各行各業(yè)紛紛采用FPGA芯片是源于FPGA融合了ASIC和基于處理器的系統(tǒng)的最大優(yōu)勢。 FPGA能夠提供硬件定時的速度和穩(wěn)定性,且無需類似自定制AS
    發(fā)表于 04-23 15:50 ?1371次閱讀

    專用集成電路都是大規(guī)模的嗎為什么呢

    的集成度和性能優(yōu)勢。然而,并非所有專用集成電路都是大規(guī)模的,因為集成度的大小取決于設(shè)計和制造的要求。 在探討專用集成電路是否大規(guī)模之前,我們首先需要了解什么是大規(guī)模集成電路(Very Large Scale Integratio
    的頭像 發(fā)表于 04-21 09:15 ?635次閱讀

    專用集成電路都是大規(guī)模的嗎

    Integrated Circuit,簡稱GPIC)相比,專用集成電路更加定制化和特定化,因此常被視為大規(guī)模的集成電路。但是,并不是所有的專用集成電路都是大規(guī)模的,這取決于具體的設(shè)計需求和應(yīng)用場景。 在
    的頭像 發(fā)表于 04-19 14:39 ?586次閱讀

    專用集成電路都是大規(guī)模的嗎為什么

    Integrated Circuit, GPIC)相比,ASIC針對特定的應(yīng)用程序進行了優(yōu)化和定制,以實現(xiàn)更高的性能、更低的功耗和更小的面積。 專用集成電路之所以通常是大規(guī)模的,是因為它們需要集成
    的頭像 發(fā)表于 04-14 10:48 ?712次閱讀

    fpgaasic的區(qū)別

    FPGA(現(xiàn)場可編程門陣列)和ASIC(專用集成電路)是兩種不同類型的集成電路,它們在設(shè)計靈活性、制造成本、應(yīng)用領(lǐng)域等方面有著顯著的區(qū)別。
    的頭像 發(fā)表于 03-26 15:29 ?1957次閱讀
    主站蜘蛛池模板: 国产成人a在一区线观看高清 | 理论片午午伦夜理片I | a视频在线免费观看 | 毛片免费观看的视频在线 | 野花日本大全免费高清完整版 | 叔叔 电影完整版免费观看韩国 | 2019香蕉在线观看直播视频 | 美女张开腿让我了一夜 | 国产精品无码人妻99999 | 欧式午夜理伦三级在线观看 | 日韩免费视频一区 | 耽肉高h喷汁呻吟 | 最近免费中文字幕大全免费 | 午夜福利电影网站鲁片大全 | 久久这里只精品热在线18 | 亚洲精品日韩在线观看视频 | 久久久久琪琪精品色 | 亚洲一区二区三区乱码在线欧洲 | 黄色a三级免费看 | XXX欧美性兽交 | 色综合a在线 | 九九精品视频在线播放 | 亚洲国产AV精品卡一卡二 | 亚洲成人精品久久 | 香蕉水蜜桃牛奶涩涩 | 欧美老少欢杂交另类 | 久久久久久久免费 | 好紧好湿太硬了我太爽了小说 | 白银谷在线观看 | 91精品免费久久久久久久久 | 我们日本在线观看免费动漫下载 | 国产亚洲精品久久精品69 | 国产精品涩涩涩视频网站 | 日本女人下面毛茸茸 | 艳鉧动漫1~6全集观看在线 | 让人爽到湿的小黄书 | 18动漫在线观看 | 国产偷国产偷亚洲高清人乐享 | 国内外成人免费在线视频 | 一本道中文无码亚洲 | 啊灬啊灬啊灬快高潮视频 |