那曲檬骨新材料有限公司

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

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

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

如何在Altera FPGA中使用FIFO實(shí)現(xiàn)功能設(shè)計(jì)?

FPGA之家 ? 來(lái)源:FPGA學(xué)習(xí)交流 ? 作者:FPGA學(xué)習(xí)交流 ? 2021-03-12 16:30 ? 次閱讀

一:fifo是什么

FIFO的完整英文拼寫(xiě)為FirstIn First Out,即先進(jìn)先出。FPGA或者ASIC中使用到的FIFO一般指的是對(duì)數(shù)據(jù)的存儲(chǔ)具有先進(jìn)先出特性的一個(gè)存儲(chǔ)器,常被用于數(shù)據(jù)的緩存或者高速異步數(shù)據(jù)的交互。

二:FIFO有幾種結(jié)構(gòu)

FIFO從大的情況來(lái)分,有兩類(lèi)結(jié)構(gòu):?jiǎn)?a href="http://www.qldv.cn/tags/時(shí)鐘/" target="_blank">時(shí)鐘FIFO(SCFIFO)和雙時(shí)鐘FIFO(DCFIFO),其中雙時(shí)鐘FIFO又可以分為普通雙時(shí)鐘(DCFIFO)和混合寬度雙時(shí)鐘FIFO (DCFIFO_MIXED_WIDTHS)。三種FIFO結(jié)構(gòu)的英文含義如下所示:

?SCFIFO: 單時(shí)鐘FIFO

?DCFIFO:雙時(shí)鐘 FIFO

?DCFIFO_MIXED_WIDTHS: 混合寬度雙時(shí)鐘

在沒(méi)有特別指明的情況下,混合寬度雙時(shí)鐘FIFO和雙時(shí)鐘FIFO統(tǒng)稱(chēng)為雙時(shí)鐘FIFO。

下圖為分別為單時(shí)鐘FIFO和雙時(shí)鐘FIFO的符號(hào)圖:

8c05d538-82f5-11eb-8b86-12bb97331649.png

從圖中我們可以看到,單時(shí)鐘FIFO具有一個(gè)獨(dú)立的時(shí)鐘端口clock,當(dāng)Clock上升沿到達(dá)時(shí),且wrreq有效時(shí),將data[7..0]中的數(shù)據(jù)寫(xiě)入FIFO;當(dāng)Clock上升沿到達(dá)時(shí),且rdreq有效時(shí),將q[7..0]中的數(shù)據(jù)輸出FIFO;full是滿(mǎn)標(biāo)志位,當(dāng)FIFO寫(xiě)滿(mǎn)時(shí)有效,almost_full是將滿(mǎn)標(biāo)志,當(dāng)快寫(xiě)滿(mǎn)時(shí)有效,almost_full數(shù)值可以配置;同理empty與almost_empty是空標(biāo)志和將要空標(biāo)志,自己也可以配置almost_empty。usedw[7..0]是當(dāng)前FIFO可以使用的數(shù)據(jù)。sclr是同步清零,當(dāng)有效時(shí)且Clocks上升沿到達(dá)時(shí)清楚FIFO的數(shù)據(jù);aclr是異步清零,當(dāng)有效時(shí)清除FIFO的數(shù)據(jù)。

雙時(shí)鐘FIFO和單時(shí)鐘FIFO基本一樣,就是讀寫(xiě)分別采用不同的時(shí)鐘信號(hào)。wrfull為寫(xiě)滿(mǎn)標(biāo)志,wrempty為寫(xiě)空標(biāo)志,當(dāng)我們想在只有FIFO空的時(shí)候才能寫(xiě)入時(shí)就用wrempty來(lái)判斷,wrusedw[8..0]寫(xiě)入多少數(shù)據(jù),rdusedw[8..0]能讀出多少數(shù)據(jù)。這里將寫(xiě)入的數(shù)據(jù)和刻度的數(shù)據(jù)分開(kāi)計(jì)數(shù)的原因是,當(dāng)我們寫(xiě)入數(shù)據(jù)長(zhǎng)度和讀數(shù)據(jù)長(zhǎng)度不同時(shí),比如寫(xiě)的數(shù)據(jù)長(zhǎng)度是16位,讀的數(shù)據(jù)長(zhǎng)度是8位,當(dāng)寫(xiě)入一個(gè)數(shù)據(jù)wrusedw[8..0]=1,而rdusedw[8..0]=2。rdfull是讀滿(mǎn)標(biāo)志,當(dāng)我們要想要只有寫(xiě)滿(mǎn)時(shí)才可讀可根據(jù)這個(gè)標(biāo)志判斷(讀數(shù)據(jù)包)。rdempty讀空標(biāo)志,當(dāng)FIFO沒(méi)有可讀數(shù)據(jù)時(shí)有效。aclr異步請(qǐng)零。雙時(shí)鐘FIFO只有異步清零。

三:不同結(jié)構(gòu)的FIFO各有什么作用

單時(shí)鐘FIFO:

單時(shí)鐘FIFO常用于片內(nèi)數(shù)據(jù)交互,例如,在FPGA的控制下從外部傳感器讀取到的一連串傳感器數(shù)據(jù),首先被寫(xiě)入FIFO中,然后再以UART串口的數(shù)據(jù)發(fā)送速率將數(shù)據(jù)依次發(fā)送出去。由于傳感器的單次讀取數(shù)據(jù)可能很快,但并不是時(shí)刻都需要采集數(shù)據(jù),例如某傳感器使用SPI接口的協(xié)議,F(xiàn)PGA以2M的SPI數(shù)據(jù)速率從該傳感器中讀取20個(gè)數(shù)據(jù),然后以9600的波特率通過(guò)串口發(fā)送出去。此過(guò)程每秒鐘執(zhí)行一次。因?yàn)?M的數(shù)據(jù)速率遠(yuǎn)高于串口9600的波特率,因此需要將從傳感器中采集到的數(shù)據(jù)首先用FIFO緩存起來(lái),然后再以串口的數(shù)據(jù)速率緩慢發(fā)送出去。這里,由于傳感器數(shù)據(jù)的讀取和串口數(shù)據(jù)的發(fā)送都是可以同步于同一個(gè)時(shí)鐘的,因此可以使用單時(shí)鐘結(jié)構(gòu)的FIFO來(lái)實(shí)現(xiàn)此功能。

雙時(shí)鐘FIFO:

雙時(shí)鐘FIFO的一個(gè)典型應(yīng)用就是異步數(shù)據(jù)的收發(fā)。

所謂異步數(shù)據(jù)是指數(shù)據(jù)的發(fā)送端和接收端分別同步與不同的時(shí)鐘域,使用雙時(shí)鐘FIFO的獨(dú)立的讀寫(xiě)時(shí)鐘結(jié)構(gòu),能夠?qū)⒉煌瑫r(shí)鐘域中的數(shù)據(jù)同步到所需的時(shí)鐘域系統(tǒng)中。例如,在一個(gè)視頻圖像采集系統(tǒng)中,實(shí)現(xiàn)將攝像頭采集的數(shù)據(jù)通過(guò)VGA在顯示器上顯示。攝像頭輸入的數(shù)據(jù)長(zhǎng)度和速度與輸出到VGA顯示的數(shù)據(jù)長(zhǎng)度和速度都不相同,這種情況下使用雙時(shí)鐘FIFO。

四:如何在Altera FPGA中使用FIFO實(shí)現(xiàn)功能設(shè)計(jì)

在Altera FPGA中使用FIFO實(shí)現(xiàn)用戶(hù)功能設(shè)計(jì)主要有三種實(shí)現(xiàn)方式,第一種為用戶(hù)根據(jù)需求自己編寫(xiě)FIFO邏輯,當(dāng)用戶(hù)對(duì)于FIFO的功能有特殊需求時(shí),可以使用此種方式實(shí)現(xiàn),但此種方式要求用戶(hù)有較高的RTL設(shè)計(jì)能力。第二種方式為使用第三方提供的開(kāi)源IP核,此種IP核以源碼的形式提供,能夠快速的應(yīng)用到用戶(hù)系統(tǒng)中,當(dāng)用戶(hù)對(duì)FIFO功能有特殊需求時(shí),可以在此源碼的基礎(chǔ)上進(jìn)行修改,以適應(yīng)自己的系統(tǒng)需求。第三種方式為使用Quartus II軟件提供的免費(fèi)FIFO IP核,此種方式下,Quartus II軟件為用戶(hù)提供了友好的圖形化界面方便用戶(hù)對(duì)FIFO的各種參數(shù)和結(jié)構(gòu)進(jìn)行配置,生成的FIFO IP核針對(duì)Altera不同系列的器件,還可以實(shí)現(xiàn)結(jié)構(gòu)上的優(yōu)化。

原文標(biāo)題:一起來(lái)了解一下FIFO!

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

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)注

    1630

    文章

    21796

    瀏覽量

    605989
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    389

    瀏覽量

    43855

原文標(biāo)題:一起來(lái)了解一下FIFO!

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Altera正式獨(dú)立運(yùn)營(yíng):FPGA行業(yè)格局將迎來(lái)新變局

    2025年初,英特爾旗下的Altera宣布了一個(gè)重大決定——正式獨(dú)立運(yùn)營(yíng),成為一家全新的專(zhuān)注于FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)技術(shù)的企業(yè)。在社交媒體平臺(tái)上,Altera公司滿(mǎn)懷自豪地宣布:“今天,我們
    的頭像 發(fā)表于 01-23 15:15 ?214次閱讀

    何在Windows中使用MTP協(xié)議

    、圖片等)的通信協(xié)議,它被廣泛用于Android設(shè)備。以下是如何在Windows中使用MTP協(xié)議的詳細(xì)步驟: 1. 確保設(shè)備支持MTP 首先,你需要確認(rèn)你的設(shè)備支持MTP協(xié)議。大多數(shù)現(xiàn)代Android
    的頭像 發(fā)表于 01-03 10:26 ?413次閱讀

    FIFO Generator的Xilinx官方手冊(cè)

    FIFO作為FPGA崗位求職過(guò)程中最常被問(wèn)到的基礎(chǔ)知識(shí)點(diǎn),也是項(xiàng)目中最常被使用到的IP,其意義是非常重要的。本文基于對(duì)FIFO Generator的Xilinx官方手冊(cè)的閱讀與總結(jié),匯總主要知識(shí)點(diǎn)
    的頭像 發(fā)表于 11-12 10:46 ?710次閱讀
    <b class='flag-5'>FIFO</b> Generator的Xilinx官方手冊(cè)

    何在智能手機(jī)系統(tǒng)中使用bq27505

    電子發(fā)燒友網(wǎng)站提供《如何在智能手機(jī)系統(tǒng)中使用bq27505.pdf》資料免費(fèi)下載
    發(fā)表于 10-17 10:21 ?0次下載
    如<b class='flag-5'>何在</b>智能手機(jī)系統(tǒng)<b class='flag-5'>中使</b>用bq27505

    何在MSP430?MCU中使用智能模擬組合

    電子發(fā)燒友網(wǎng)站提供《如何在MSP430?MCU中使用智能模擬組合.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:19 ?0次下載
    如<b class='flag-5'>何在</b>MSP430?MCU<b class='flag-5'>中使</b>用智能模擬組合

    何在反向降壓-升壓拓?fù)?b class='flag-5'>中使用TPS6290x

    電子發(fā)燒友網(wǎng)站提供《如何在反向降壓-升壓拓?fù)?b class='flag-5'>中使用TPS6290x.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 10:07 ?0次下載
    如<b class='flag-5'>何在</b>反向降壓-升壓拓?fù)?b class='flag-5'>中使</b>用TPS6290x

    何在FPGA實(shí)現(xiàn)隨機(jī)數(shù)發(fā)生器

    分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7中實(shí)現(xiàn)4位偽隨機(jī)數(shù)發(fā)生器(PRNGs)。
    的頭像 發(fā)表于 08-06 11:20 ?769次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>FPGA</b>中<b class='flag-5'>實(shí)現(xiàn)</b>隨機(jī)數(shù)發(fā)生器

    何在FPGA實(shí)現(xiàn)狀態(tài)機(jī)

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)中實(shí)現(xiàn)狀態(tài)機(jī)是一種常見(jiàn)的做法,用于控制復(fù)雜的數(shù)字系統(tǒng)行為。狀態(tài)機(jī)能夠根據(jù)當(dāng)前的輸入和系統(tǒng)狀態(tài),決定下一步的動(dòng)作和新的狀態(tài)。這里,我們將詳細(xì)探討如何在FPGA
    的頭像 發(fā)表于 07-18 15:57 ?729次閱讀

    何在RTOS中使用spi_interface.c?

    何在 RTOS 中使用 spi_interface.c?
    發(fā)表于 07-10 06:29

    請(qǐng)問(wèn)cmakelists中的變量如何在程序中使用?

    大家好, 我有個(gè)問(wèn)題請(qǐng)教,cmakelists.txt中的變量如何在程序中使用?比如以下cmakelists.txt文件中的PROJECT_VER變量,我如何在c程序中使用?試了很多辦
    發(fā)表于 06-11 07:34

    何在labview FPGA實(shí)現(xiàn)二維插值的功能

    例如,現(xiàn)在有X,C,W三個(gè)值,每一組(X.C)對(duì)應(yīng)一個(gè)W值,我擁有幾組(X,C)和W的對(duì)應(yīng)關(guān)系(即具體數(shù)值),我要根據(jù)未知的一組(X,C)來(lái)通過(guò)插值得到W值。其中X和C沒(méi)有對(duì)應(yīng)關(guān)系,請(qǐng)問(wèn)應(yīng)該如何在labview FPGA實(shí)現(xiàn)
    發(fā)表于 05-15 14:59

    Altera將AI注入新的中端FPGA

    SoC FPGA Quartus Prime設(shè)計(jì)軟件更新 FPGA生命周期支持?jǐn)U展 全新Agilex 5 SoC FPGA 隨著中檔Agilex 5的發(fā)布,Altera聲稱(chēng)這是第一個(gè)
    的頭像 發(fā)表于 05-07 15:03 ?8654次閱讀
    <b class='flag-5'>Altera</b>將AI注入新的中端<b class='flag-5'>FPGA</b>

    英特爾旗下FPGA公司Altera正式亮相

    日前,英特爾 FPGA Vision線(xiàn)上直播中發(fā)布,將英特爾編程解決方案事業(yè)部 (PSG) 作為獨(dú)立的FPGA公司——Altera
    的頭像 發(fā)表于 03-18 14:11 ?625次閱讀

    英特爾成立全新獨(dú)立運(yùn)營(yíng)的FPGA公司Altera

    Sandra Rivera和首席運(yùn)營(yíng)官Shannon Poulin詳細(xì)分享了AlteraFPGA市場(chǎng)的領(lǐng)先戰(zhàn)略,并展示了其如何通過(guò)集成AI功能等創(chuàng)新舉措,豐富產(chǎn)品組合,以應(yīng)對(duì)市場(chǎng)日益增長(zhǎng)的挑戰(zhàn)。
    的頭像 發(fā)表于 03-11 10:07 ?660次閱讀

    何在測(cè)試中使用ChatGPT

    Dimitar Panayotov 在 2023 年 QA Challenge Accepted 大會(huì) 上分享了他如何在測(cè)試中使用 ChatGPT。
    的頭像 發(fā)表于 02-20 13:57 ?802次閱讀
    百家乐高手打| 百家乐官网存1000送| 真人百家乐出售| 百家乐官网公式计算| 百家乐小游戏开发| 昆明市| 真人百家乐视频赌博| 百家乐官网的必赢方法| 广州百家乐赌场娱乐网规则| 赌场百家乐官网赢钱| 大发888皇冠娱乐城| 百家乐官网二代理解| 大发888王博被带走| 做生意怎么看风水| 玫瑰国际娱乐城| 网上百家乐作弊法| 百家乐官网破解仪恒达| bet365注册找谁| 百家乐免费是玩| 百家乐官网怎样投注好| 百家乐桌布呢布| 百家乐官网游戏新| 金木棉蓝盾在线娱乐| 百家乐有没有破解之法| 百家乐官网怎么稳赢| 鸿发| 全迅网百家乐的玩法技巧和规则| 自贡百家乐官网娱乐场开户注册| 尊龙国际网站| 网上百家乐骗钱| 七胜百家乐官网赌场娱乐网规则| 皇冠赌球| CEO百家乐的玩法技巧和规则| 爱赢百家乐官网的玩法技巧和规则| 盈丰会| 百家乐赚水方| 金牌百家乐官网的玩法技巧和规则| 郧西县| 大发888 下载| 百家乐网上真钱娱乐平台| 百家乐官网sxcbd|