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

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

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

3天內不再提示

在FPGA上實現自行FIFO設計的方法

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2018-11-28 08:10 ? 次閱讀

設計工程師通常在FPGA上實現FIFO(先進先出寄存器)的時候,都會使用由芯片提供商所提供的FIFO。但是,由于其通用性使得其針對性變差,某些情況下會變得不方便或者將增加硬件成本。此時,需要進行自行FIFO設計。本文提供了一種基于信元的FIFO設計方法以供設計者在適當的時候選用。這種方法也適合于不定長包的處理。

FIFO在數字通訊芯片領域中有兩個主要的作用,緩沖數據和隔離時鐘。對于FIFO的設計,最關鍵的問題是如何實現RAM的讀寫雙方的信息交換。一般情況下,設計者都直接調用廠商為自己的FPGA專門打造的FIFO核。基本單元是FIFO所使用的RAM的一次讀寫操作的最小單元,如一個字節,一個字或者是一個雙字。所謂操作粒度,即FIFO的讀寫雙方的信息交換是基于這些基本單元。

在FPGA上實現自行FIFO設計的方法

ATM應用中的FIFO設計

以ATM的設計為例,在ATM的相關設計中,設計者則更多希望一個FIFO對外給出的信息是“現在FIFO中還剩下幾個信元”。要實現這一功能通常有兩種方法:

1. 調用廠商提供的以操作粒度為基本單元的通用FIFO,然后在這個FIFO的外面再加上一個“套子”。這個套子里面設計一些計數器,根據計數內容對外提供相應的信息。

2. 設計操作粒度為信元的定制FIFO。這樣對外直接提供設計者最希望得到的信息,即FIFO中還有多少個信元。

設定FIFO最多可以存放4個信元。基本單元為字節,因此RAM的數據寬度為8位,一個信元的長度為53字節。

把RAM分成4個信元區域,讀寫地址的高二位指明信元區域,低六位指明信元區域內的字節地址,這樣組合成8位讀寫地址。讀寫雙方的信息交換是互相通知對方還有多少個信元在FIFO中。讀寫雙方都擁有自己的記分牌(Scoreboard),這個記分牌可以由一個四位的寄存器來實現,每一位對應一個信元區域。當一個信元區域中有一個完整的信元的時候,記分牌的相應的寄存器被設置為‘1’,否則為‘0’。讀出方讀出一個信元,修改自己記分牌的動作叫做清位。寫入方寫入一個完整信元,修改自己記分牌的動作叫置位。

從邏輯上說,只需要讀出方把自己的記分牌的信息(清位信息)傳送給寫入方,同時寫入方把自己的記分牌的信息(置位信息)傳送給讀出方就可以了,即只要構成兩條邏輯通道就可以滿足需求。但是,在硬件上的實現卻要比這種只從邏輯上的思考要復雜。由于讀寫雙方有可能處在不同的時鐘域,所以當讀寫雙方交換信息的時候就需要處理信號采樣的亞穩態情況。我們使用下面的方法來處理信號亞穩態。

在FPGA上實現自行FIFO設計的方法

消除信號亞穩態

在讀、寫入方之間建立下面的四條單向數據通道:傳送寫入方到讀出方的置位信息(Wr2RdSet);寫入方到讀出方的清位信息(Wr2RdRst);讀出方到寫入方的清位信息(Rd2WrRst);讀出方到寫入方的置位信息(Rd2WrSet)。由于讀出方只發生清位信息,而寫入方只發生置位信息,所以信息本身只有兩個。四條通道可以被劃分為兩個信息組:一個組(Rd2WrRst和Wr2RdRst)傳遞清位信息,叫清位信息組;一個組(Wr2RdSet和Rd2WrSet)傳遞置位信息,叫置位信息組。讀出方使用清位信息組,寫入方使用置位信息組。這樣做的目的是為了建立起一個穩定的握手機制。在讀出方設置一個專門的發送電路,當此發送電路通過Rd2WrRst發出了清位信息后,等待寫入方通過Wr2RdRst通道送回關于這個信息被接收的確認。當收到這個信息的確認后,讀出方發送電路復位。同樣的,寫入方也有一個發送電路,操作過程同讀出方一致,無非是使用置位信息組。這兩個發送電路都各由四個寄存器組成,一位對應一個信元區域。

為了解決Rd2WrRst進入寫入方時引起的信號亞穩態,需要在寫入方設置一個專門消除亞穩態的電路模塊。根據Rd2WrRst和Rd2WrSet特點不一樣,這個模塊有多種設計方法,但是其宗旨都是使用連續兩次采樣的方式。

這里介紹一種比較簡單的方法。在設計的時候,把Rd2WrRst和Rd2WrSet的信號都設計為電平方式,即當讀出方要發送一個信元區域的清位信息的時候,就把Rd2WrRst信號通道里對應的信元區域位設置為‘1’。這個‘1’電平一直保持到寫入方的確認到達。當這個‘1’電平被寫入方采樣的時候,由于‘1’同步于讀出方的時鐘,所以很有可能會產生寫入方第一次采樣為一個不確切值,即通常意義上的亞穩態狀態。但是,由于讀出方一直保持‘1’電平,所以寫時鐘在第二次采樣的時候就會得到一個穩定的采樣樣本,從而消除了Rd2WrRst的亞穩態。對于解決Wr2RdSet進入讀出方的時候引起的信號亞穩態的方法和讀出方一樣。

對于Rd2WrSet通道里面的信息,其實是讀出方給寫入方的置位確認。這個信號的源頭是寫入方發出的Wr2RdSet,讀出方對Wr2RdSet不做任何處理,只是單純地把它里面的信息拷貝到Rd2WrSet通道并回送寫入方,當Rd2WrSet進入寫入方的時候,進入消除亞穩態電路,最后復位寫入方的發送電路。對于Wr2RdRst通道里面的信息操作也和Rd2WrSet的信息一樣。整個電路的結構如圖所示。

在FPGA上實現自行FIFO設計的方法

對于信元字節的計數,和通常的方式一樣,發生在FIFO的外部,外部的電路需要為FIFO提供基于信元字節計數到信元尾的信息。這個信息用來使得FIFO的讀寫地址指針從一個信元區域跳到下一個信元區域。FIFO向外部電路提供FIFO有多少個信元的信息。這個信息加上外部電路自己產生的計數信息,可以知道FIFO是否將滿,FIFO是否將空等一系列信息。

通過上面的描述,可以看到外部電路能夠非常自由地控制FIFO的讀寫地址的變化,這是通用FIFO所不具備的功能。由于FIFO給出的是信元的信息,設計者在做有關UTOPIA協議的電路的時候,可以很方便地使用這個信息。同時,如果設計需要UTOPIA的查錯功能,這樣的情況更需要外部電路能控制FIFO的地址變化。從而使得寫地址指針回跳以覆蓋原先寫入的數據。顯然,這一功能也是通用FIFO很難實現的。

本文小結

對于這樣的FIFO應用還可以延伸到對于非定長包的處理,比如說以太包。由于以太包的特點,要在FPGA中完全存儲一個以太包需要的硬件資源很大,所以,有時候對于以太包的處理都會先把其分為固定長的數據塊,并把每一數據塊伴以相應的標識以識別他們是屬于哪一個以太包。這樣一來,就變成了對固定長數據塊的處理。因此,上面所述的FIFO的設計方法又可以用來緩存以太包。

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

    關注

    1643

    文章

    21985

    瀏覽量

    615092
  • 寄存器
    +關注

    關注

    31

    文章

    5425

    瀏覽量

    123647
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1391

    瀏覽量

    116952
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于FPGA的異步FIFO實現

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

    基于信元的FIFO設計如何在FPGA實現

    設計工程師通常在FPGA實現FIFO(先進先出寄存器)的時候,都會使用由芯片提供商所提供的FIFO。但是,由于其通用性使得其針對性變差,某
    發表于 09-02 06:09

    異步FIFO結構及FPGA設計

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

    基于PCI接口芯片外擴FIFOFPGA實現

    介紹了PCI 9054 接口芯片的性能及數據傳輸特點,提出了一種基于PCI 9054 外擴異步FIFO(先進先出)的FPGA(現場可編程門陣列)實現方法。由于PCI 9054 內部
    發表于 01-06 15:20 ?44次下載

    FPGA中基于信元的FIFO設計方法實戰方法

      設計工程師通常在FPGA實現FIFO(先進先出寄存器)的時候,都會使用由芯片提供商所提供的FIFO。但是,由于其通用性使得其針對性變差
    發表于 10-27 15:40 ?38次下載

    基于FPGAFIFO設計和應用

    基于FPGAFIFO設計和應用 引 言   利用DSP實現視頻實時跟蹤時,需要進行大量高速的圖像采集。而DSP本身自帶的FIFO
    發表于 11-20 11:25 ?2281次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIFO</b>設計和應用

    LabVIEW FPGA模塊實現FIFO深度設定

    為了解決基于LabVIEWFPGA模塊的DMAFIFO深度設定不當帶來的數據不連續問題,結合LabVIEWFPGA的編程特點和DMA FIFO的工作原理,提出了一種設定 FIFO 深度
    發表于 09-26 13:45 ?7693次閱讀
    LabVIEW <b class='flag-5'>FPGA</b>模塊<b class='flag-5'>實現</b><b class='flag-5'>FIFO</b>深度設定

    異步FIFOFPGA與DSP通信中的運用

    文中給出了異步FIFO實現代碼和FPGA與DSP的硬件連接電路。經驗證,利用異步FIFO方法,
    發表于 12-12 14:28 ?51次下載
    異步<b class='flag-5'>FIFO</b><b class='flag-5'>在</b><b class='flag-5'>FPGA</b>與DSP通信中的運用

    基于FPGAFIFO設計和應用

    實現目標識別與跟蹤的應用目的 ,基于 TMS320DM642 的 FIFO 基礎擴展存儲空間 ,提出一種基于 FPGA
    發表于 10-29 14:05 ?2次下載

    異步FIFOFPGA與DSP通信中的運用

    異步FIFOFPGA與DSP通信中的運用
    發表于 05-19 11:17 ?0次下載

    混沌擴頻SPWM最優參數選取方法及其FPGA的實時實現_朱少

    混沌擴頻SPWM最優參數選取方法及其FPGA的實時實現_朱少平
    發表于 01-08 10:57 ?0次下載

    基于異步FIFOFPGA與DSP通信中的運用

    基于異步FIFOFPGA與DSP通信中的運用
    發表于 10-19 10:30 ?10次下載
    基于異步<b class='flag-5'>FIFO</b><b class='flag-5'>在</b><b class='flag-5'>FPGA</b>與DSP通信中的運用

    異步FIFOFPGA與DSP通信中的應用解析

    代碼和FPGA與DSP的硬件連接電路。經驗證,利用異步FIFO方法FPGA與DSP通信中的應用,具有傳輸速度快、穩定可靠、
    發表于 10-30 11:48 ?2次下載
    異步<b class='flag-5'>FIFO</b><b class='flag-5'>在</b><b class='flag-5'>FPGA</b>與DSP通信中的應用解析

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

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

    FPGA設計中FIFO的使用技巧

    FIFOFPGA設計中使用的非常頻繁,也是影響FPGA設計代碼穩定性以及效率等得關鍵因素。在數據連續讀取時,為了能不間斷的讀出數據而又不導致FI
    的頭像 發表于 09-09 11:15 ?7292次閱讀
    主站蜘蛛池模板: 日本一区三区二区三区四区 | www三级免费| 韩国xxxxxxxx69 | 欧美婷婷六月丁香综合色 | 免费中国jlzzjlzz在线播放 | 四虎影视免费看 | 国产成人综合久久 | 午夜精品视频在线观看美女 | 亚洲综合在线观看一区www | 国模极品一区二区三区 | 色多多在线播放 | 伊人久久成人成综合网222 | 欧美视频一区在线观看 | 国产清纯白嫩大学生正在播放 | 韩剧天堂| 视频在线观看网站免费 | 伊人久久亚洲综合天堂 | 扒开双腿猛进湿润18p | 噜噜吧噜噜色 | 女人张腿让男桶免费视频观看 | 久久综合九色综合欧洲 | 色老头在线官方网站 | 亚洲成色www久久网站 | 在线视频这里只有精品 | 伊人五月婷婷 | 立即播放免费毛片一级 | 狠狠干成人 | 一级毛片aaaaaa免费看 | 久久综合色婷婷 | 在线观看www妖精免费福利视频 | 亚洲色图图片 | 国产黄视频在线观看 | 玖玖在线 | 黄色三级网站免费 | 免费大片a一级一级 | 欧美午夜性春猛交bbb | 天天操夜夜爽 | 中国一级做a爰片久久毛片 中韩日欧美电影免费看 | 久久丁香视频 | 特级全黄一级毛片免费 | 一区二区三区四区在线视频 |