女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

在FPGA上實(shí)現(xiàn)自行FIFO設(shè)計(jì)的方法

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2018-11-28 08:10 ? 次閱讀

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

FIFO在數(shù)字通訊芯片領(lǐng)域中有兩個(gè)主要的作用,緩沖數(shù)據(jù)和隔離時(shí)鐘。對(duì)于FIFO的設(shè)計(jì),最關(guān)鍵的問(wèn)題是如何實(shí)現(xiàn)RAM的讀寫雙方的信息交換。一般情況下,設(shè)計(jì)者都直接調(diào)用廠商為自己的FPGA專門打造的FIFO核。基本單元是FIFO所使用的RAM的一次讀寫操作的最小單元,如一個(gè)字節(jié),一個(gè)字或者是一個(gè)雙字。所謂操作粒度,即FIFO的讀寫雙方的信息交換是基于這些基本單元。

在FPGA上實(shí)現(xiàn)自行FIFO設(shè)計(jì)的方法

ATM應(yīng)用中的FIFO設(shè)計(jì)

以ATM的設(shè)計(jì)為例,在ATM的相關(guān)設(shè)計(jì)中,設(shè)計(jì)者則更多希望一個(gè)FIFO對(duì)外給出的信息是“現(xiàn)在FIFO中還剩下幾個(gè)信元”。要實(shí)現(xiàn)這一功能通常有兩種方法:

1. 調(diào)用廠商提供的以操作粒度為基本單元的通用FIFO,然后在這個(gè)FIFO的外面再加上一個(gè)“套子”。這個(gè)套子里面設(shè)計(jì)一些計(jì)數(shù)器,根據(jù)計(jì)數(shù)內(nèi)容對(duì)外提供相應(yīng)的信息。

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

設(shè)定FIFO最多可以存放4個(gè)信元。基本單元為字節(jié),因此RAM的數(shù)據(jù)寬度為8位,一個(gè)信元的長(zhǎng)度為53字節(jié)。

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

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

在FPGA上實(shí)現(xiàn)自行FIFO設(shè)計(jì)的方法

消除信號(hào)亞穩(wěn)態(tài)

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

為了解決Rd2WrRst進(jìn)入寫入方時(shí)引起的信號(hào)亞穩(wěn)態(tài),需要在寫入方設(shè)置一個(gè)專門消除亞穩(wěn)態(tài)的電路模塊。根據(jù)Rd2WrRst和Rd2WrSet特點(diǎn)不一樣,這個(gè)模塊有多種設(shè)計(jì)方法,但是其宗旨都是使用連續(xù)兩次采樣的方式。

這里介紹一種比較簡(jiǎn)單的方法。在設(shè)計(jì)的時(shí)候,把Rd2WrRst和Rd2WrSet的信號(hào)都設(shè)計(jì)為電平方式,即當(dāng)讀出方要發(fā)送一個(gè)信元區(qū)域的清位信息的時(shí)候,就把Rd2WrRst信號(hào)通道里對(duì)應(yīng)的信元區(qū)域位設(shè)置為‘1’。這個(gè)‘1’電平一直保持到寫入方的確認(rèn)到達(dá)。當(dāng)這個(gè)‘1’電平被寫入方采樣的時(shí)候,由于‘1’同步于讀出方的時(shí)鐘,所以很有可能會(huì)產(chǎn)生寫入方第一次采樣為一個(gè)不確切值,即通常意義上的亞穩(wěn)態(tài)狀態(tài)。但是,由于讀出方一直保持‘1’電平,所以寫時(shí)鐘在第二次采樣的時(shí)候就會(huì)得到一個(gè)穩(wěn)定的采樣樣本,從而消除了Rd2WrRst的亞穩(wěn)態(tài)。對(duì)于解決Wr2RdSet進(jìn)入讀出方的時(shí)候引起的信號(hào)亞穩(wěn)態(tài)的方法和讀出方一樣。

對(duì)于Rd2WrSet通道里面的信息,其實(shí)是讀出方給寫入方的置位確認(rèn)。這個(gè)信號(hào)的源頭是寫入方發(fā)出的Wr2RdSet,讀出方對(duì)Wr2RdSet不做任何處理,只是單純地把它里面的信息拷貝到Rd2WrSet通道并回送寫入方,當(dāng)Rd2WrSet進(jìn)入寫入方的時(shí)候,進(jìn)入消除亞穩(wěn)態(tài)電路,最后復(fù)位寫入方的發(fā)送電路。對(duì)于Wr2RdRst通道里面的信息操作也和Rd2WrSet的信息一樣。整個(gè)電路的結(jié)構(gòu)如圖所示。

在FPGA上實(shí)現(xiàn)自行FIFO設(shè)計(jì)的方法

對(duì)于信元字節(jié)的計(jì)數(shù),和通常的方式一樣,發(fā)生在FIFO的外部,外部的電路需要為FIFO提供基于信元字節(jié)計(jì)數(shù)到信元尾的信息。這個(gè)信息用來(lái)使得FIFO的讀寫地址指針從一個(gè)信元區(qū)域跳到下一個(gè)信元區(qū)域。FIFO向外部電路提供FIFO有多少個(gè)信元的信息。這個(gè)信息加上外部電路自己產(chǎn)生的計(jì)數(shù)信息,可以知道FIFO是否將滿,F(xiàn)IFO是否將空等一系列信息。

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

本文小結(jié)

對(duì)于這樣的FIFO應(yīng)用還可以延伸到對(duì)于非定長(zhǎng)包的處理,比如說(shuō)以太包。由于以太包的特點(diǎn),要在FPGA中完全存儲(chǔ)一個(gè)以太包需要的硬件資源很大,所以,有時(shí)候?qū)τ谝蕴奶幚矶紩?huì)先把其分為固定長(zhǎng)的數(shù)據(jù)塊,并把每一數(shù)據(jù)塊伴以相應(yīng)的標(biāo)識(shí)以識(shí)別他們是屬于哪一個(gè)以太包。這樣一來(lái),就變成了對(duì)固定長(zhǎng)數(shù)據(jù)塊的處理。因此,上面所述的FIFO的設(shè)計(jì)方法又可以用來(lái)緩存以太包。

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

    關(guān)注

    1643

    文章

    21967

    瀏覽量

    614261
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5421

    瀏覽量

    123398
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1391

    瀏覽量

    116816
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于FPGA的異步FIFO實(shí)現(xiàn)

    大家好,又到了每日學(xué)習(xí)的時(shí)間了,今天我們來(lái)聊一聊基于FPGA的異步FIFO實(shí)現(xiàn)。 一、FIFO簡(jiǎn)介 FIFO是英文First In Fir
    的頭像 發(fā)表于 06-21 11:15 ?6799次閱讀
    基于<b class='flag-5'>FPGA</b>的異步<b class='flag-5'>FIFO</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    基于信元的FIFO設(shè)計(jì)如何在FPGA實(shí)現(xiàn)

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

    異步FIFO結(jié)構(gòu)及FPGA設(shè)計(jì)

    首先介紹異步FIFO 的概念、應(yīng)用及其結(jié)構(gòu),然后分析實(shí)現(xiàn)異步FIFO的難點(diǎn)問(wèn)題及其解決辦法; 傳統(tǒng)設(shè)計(jì)的基礎(chǔ)提出一種新穎的電路結(jié)構(gòu)并對(duì)其
    發(fā)表于 04-16 09:25 ?46次下載

    基于PCI接口芯片外擴(kuò)FIFOFPGA實(shí)現(xiàn)

    介紹了PCI 9054 接口芯片的性能及數(shù)據(jù)傳輸特點(diǎn),提出了一種基于PCI 9054 外擴(kuò)異步FIFO(先進(jìn)先出)的FPGA(現(xiàn)場(chǎng)可編程門陣列)實(shí)現(xiàn)方法。由于PCI 9054 內(nèi)部
    發(fā)表于 01-06 15:20 ?44次下載

    FPGA中基于信元的FIFO設(shè)計(jì)方法實(shí)戰(zhàn)方法

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

    基于FPGAFIFO設(shè)計(jì)和應(yīng)用

    基于FPGAFIFO設(shè)計(jì)和應(yīng)用 引 言   利用DSP實(shí)現(xiàn)視頻實(shí)時(shí)跟蹤時(shí),需要進(jìn)行大量高速的圖像采集。而DSP本身自帶的FIFO
    發(fā)表于 11-20 11:25 ?2278次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIFO</b>設(shè)計(jì)和應(yīng)用

    LabVIEW FPGA模塊實(shí)現(xiàn)FIFO深度設(shè)定

    為了解決基于LabVIEWFPGA模塊的DMAFIFO深度設(shè)定不當(dāng)帶來(lái)的數(shù)據(jù)不連續(xù)問(wèn)題,結(jié)合LabVIEWFPGA的編程特點(diǎn)和DMA FIFO的工作原理,提出了一種設(shè)定 FIFO 深度
    發(fā)表于 09-26 13:45 ?7675次閱讀
    LabVIEW <b class='flag-5'>FPGA</b>模塊<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>FIFO</b>深度設(shè)定

    異步FIFOFPGA與DSP通信中的運(yùn)用

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

    基于FPGAFIFO設(shè)計(jì)和應(yīng)用

    實(shí)現(xiàn)目標(biāo)識(shí)別與跟蹤的應(yīng)用目的 ,基于 TMS320DM642 的 FIFO 基礎(chǔ)擴(kuò)展存儲(chǔ)空間 ,提出一種基于 FPGA
    發(fā)表于 10-29 14:05 ?2次下載

    異步FIFOFPGA與DSP通信中的運(yùn)用

    異步FIFOFPGA與DSP通信中的運(yùn)用
    發(fā)表于 05-19 11:17 ?0次下載

    混沌擴(kuò)頻SPWM最優(yōu)參數(shù)選取方法及其FPGA的實(shí)時(shí)實(shí)現(xiàn)_朱少

    混沌擴(kuò)頻SPWM最優(yōu)參數(shù)選取方法及其FPGA的實(shí)時(shí)實(shí)現(xiàn)_朱少平
    發(fā)表于 01-08 10:57 ?0次下載

    基于異步FIFOFPGA與DSP通信中的運(yùn)用

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

    異步FIFOFPGA與DSP通信中的應(yīng)用解析

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

    基于FPGA的異步FIFO設(shè)計(jì)方法詳解

    現(xiàn)代電路設(shè)計(jì)中,一個(gè)系統(tǒng)往往包含了多個(gè)時(shí)鐘,如何在異步時(shí)鐘間傳遞數(shù)據(jù)成為一個(gè)很重要的問(wèn)題,而使用異步FIFO可以有效地解決這個(gè)問(wèn)題。異步FIFO是一種電子系統(tǒng)中得到廣泛應(yīng)用的器件
    發(fā)表于 07-17 08:33 ?8605次閱讀
    基于<b class='flag-5'>FPGA</b>的異步<b class='flag-5'>FIFO</b>設(shè)計(jì)<b class='flag-5'>方法</b>詳解

    FPGA設(shè)計(jì)中FIFO的使用技巧

    FIFOFPGA設(shè)計(jì)中使用的非常頻繁,也是影響FPGA設(shè)計(jì)代碼穩(wěn)定性以及效率等得關(guān)鍵因素。在數(shù)據(jù)連續(xù)讀取時(shí),為了能不間斷的讀出數(shù)據(jù)而又不導(dǎo)致FI
    的頭像 發(fā)表于 09-09 11:15 ?7270次閱讀