99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(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)分,有兩類結(jié)構(gòu):?jiǎn)?a href="http://www.socialnewsupdate.com/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)稱為雙時(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是滿標(biāo)志位,當(dāng)FIFO寫(xiě)滿時(shí)有效,almost_full是將滿標(biāo)志,當(dāng)快寫(xiě)滿時(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ě)滿標(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是讀滿標(biāo)志,當(dāng)我們要想要只有寫(xiě)滿時(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)用戶功能設(shè)計(jì)主要有三種實(shí)現(xiàn)方式,第一種為用戶根據(jù)需求自己編寫(xiě)FIFO邏輯,當(dāng)用戶對(duì)于FIFO的功能有特殊需求時(shí),可以使用此種方式實(shí)現(xiàn),但此種方式要求用戶有較高的RTL設(shè)計(jì)能力。第二種方式為使用第三方提供的開(kāi)源IP核,此種IP核以源碼的形式提供,能夠快速的應(yīng)用到用戶系統(tǒng)中,當(dāng)用戶對(duì)FIFO功能有特殊需求時(shí),可以在此源碼的基礎(chǔ)上進(jìn)行修改,以適應(yīng)自己的系統(tǒng)需求。第三種方式為使用Quartus II軟件提供的免費(fèi)FIFO IP核,此種方式下,Quartus II軟件為用戶提供了友好的圖形化界面方便用戶對(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)注

    1646

    文章

    22054

    瀏覽量

    618812
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    402

    瀏覽量

    44830

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Altera Stratix 10和Agilex 7 FPGA的電源管理及配置問(wèn)題案例

    本文主要基于 Altera Stratix 10 和 Agilex 7 FPGA 在客戶實(shí)際應(yīng)用中遇到的電源管理及配置問(wèn)題,系統(tǒng)梳理了典型故障案例、解決方案與調(diào)試建議。
    的頭像 發(fā)表于 06-19 15:29 ?1477次閱讀
    <b class='flag-5'>Altera</b> Stratix 10和Agilex 7 <b class='flag-5'>FPGA</b>的電源管理及配置問(wèn)題案例

    Altera Agilex 3 FPGA和SoC產(chǎn)品介紹

    Altera 的 Agilex 3 FPGA 和 SoC 可在不影響性能的前提下顯著提高成本效益。其通過(guò)出色的 Hyperflex FPGA 架構(gòu)、先進(jìn)的收發(fā)器技術(shù)、更高的集成度和更強(qiáng)大的安全
    的頭像 發(fā)表于 06-03 16:40 ?782次閱讀
    <b class='flag-5'>Altera</b> Agilex 3 <b class='flag-5'>FPGA</b>和SoC產(chǎn)品介紹

    Intel-Altera FPGA:通信行業(yè)的加速引擎,開(kāi)啟高速互聯(lián)新時(shí)代

    與戰(zhàn)略調(diào)整收購(gòu)背景:2015年,英特爾斥資167億美元收購(gòu)Altera,意圖通過(guò)FPGA技術(shù)強(qiáng)化AI、邊緣計(jì)算等新興領(lǐng)域布局,但收購(gòu)后未能實(shí)現(xiàn)預(yù)期協(xié)同效應(yīng)。戰(zhàn)略調(diào)整:2025年,英特爾宣布以87.5億
    發(fā)表于 04-25 10:19

    Altera大學(xué)成立,助力FPGA教學(xué)發(fā)展與人才培養(yǎng)

    近日,全球 FPGA 創(chuàng)新技術(shù)領(lǐng)導(dǎo)者 Altera 宣布成立 Altera 大學(xué),旨在以高效、便捷的方式助力 FPGA 教學(xué)發(fā)展與人才培養(yǎng)。Alte
    的頭像 發(fā)表于 04-19 11:26 ?660次閱讀

    基于FPGAFIFO實(shí)現(xiàn)

    FIFO(First in First out)為先進(jìn)先出隊(duì)列,具有存儲(chǔ)功能,可用于不同時(shí)鐘域間傳輸數(shù)據(jù)以及不同的數(shù)據(jù)寬度進(jìn)行數(shù)據(jù)匹配。如其名稱,數(shù)據(jù)傳輸為單向,從一側(cè)進(jìn)入,再?gòu)牧硪粋?cè)出來(lái),出來(lái)的順序和進(jìn)入的順序相同。
    的頭像 發(fā)表于 04-09 09:55 ?652次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIFO</b><b class='flag-5'>實(shí)現(xiàn)</b>

    Altera發(fā)布最新FPGA產(chǎn)品和開(kāi)發(fā)工具套件

    在 2025 國(guó)際嵌入式展(Embedded World 2025)上,全球 FPGA 創(chuàng)新技術(shù)領(lǐng)導(dǎo)者 Altera 發(fā)布了專為嵌入式開(kāi)發(fā)者打造的最新可編程解決方案,以進(jìn)一步突破智能邊緣領(lǐng)域的創(chuàng)新
    的頭像 發(fā)表于 03-12 09:47 ?1072次閱讀

    何在MATLAB中使用DeepSeek模型

    在 DeepSeek-R1(https://github.com/deepseek-ai/DeepSeek-R1) AI 模型橫空出世后,人們幾乎就立馬開(kāi)始詢問(wèn)如何在 MATLAB 中使用這些模型
    的頭像 發(fā)表于 02-13 09:20 ?3404次閱讀
    如<b class='flag-5'>何在</b>MATLAB<b class='flag-5'>中使</b>用DeepSeek模型

    使用SCL編寫(xiě)FIFO功能

    一、 導(dǎo)讀? ? 前幾天一位搞電氣的朋友問(wèn)S7-1200中如何做個(gè)先入先出的功能,說(shuō)原來(lái)用S7-200SMART的時(shí)候有填表指令和FIFO指令可以實(shí)現(xiàn)功能,現(xiàn)在S7-1200中找了一
    的頭像 發(fā)表于 02-09 10:27 ?652次閱讀
    使用SCL編寫(xiě)<b class='flag-5'>FIFO</b><b class='flag-5'>功能</b>塊

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

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

    何在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 ?2661次閱讀

    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 ?1736次閱讀
    <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 ?1213次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>FPGA</b>中<b class='flag-5'>實(shí)現(xiàn)</b>隨機(jī)數(shù)發(fā)生器