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

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

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

3天內不再提示

如何在Altera FPGA中使用FIFO實現功能設計?

FPGA之家 ? 來源:FPGA學習交流 ? 作者:FPGA學習交流 ? 2021-03-12 16:30 ? 次閱讀

一:fifo是什么

FIFO的完整英文拼寫為FirstIn First Out,即先進先出。FPGA或者ASIC中使用到的FIFO一般指的是對數據的存儲具有先進先出特性的一個存儲器,常被用于數據的緩存或者高速異步數據的交互。

二:FIFO有幾種結構

FIFO從大的情況來分,有兩類結構:單時鐘FIFO(SCFIFO)和雙時鐘FIFO(DCFIFO),其中雙時鐘FIFO又可以分為普通雙時鐘(DCFIFO)和混合寬度雙時鐘FIFO (DCFIFO_MIXED_WIDTHS)。三種FIFO結構的英文含義如下所示:

?SCFIFO: 單時鐘FIFO

?DCFIFO:雙時鐘 FIFO

?DCFIFO_MIXED_WIDTHS: 混合寬度雙時鐘

在沒有特別指明的情況下,混合寬度雙時鐘FIFO和雙時鐘FIFO統稱為雙時鐘FIFO。

下圖為分別為單時鐘FIFO和雙時鐘FIFO的符號圖:

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

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

雙時鐘FIFO和單時鐘FIFO基本一樣,就是讀寫分別采用不同的時鐘信號。wrfull為寫滿標志,wrempty為寫空標志,當我們想在只有FIFO空的時候才能寫入時就用wrempty來判斷,wrusedw[8..0]寫入多少數據,rdusedw[8..0]能讀出多少數據。這里將寫入的數據和刻度的數據分開計數的原因是,當我們寫入數據長度和讀數據長度不同時,比如寫的數據長度是16位,讀的數據長度是8位,當寫入一個數據wrusedw[8..0]=1,而rdusedw[8..0]=2。rdfull是讀滿標志,當我們要想要只有寫滿時才可讀可根據這個標志判斷(讀數據包)。rdempty讀空標志,當FIFO沒有可讀數據時有效。aclr異步請零。雙時鐘FIFO只有異步清零。

三:不同結構的FIFO各有什么作用

單時鐘FIFO:

單時鐘FIFO常用于片內數據交互,例如,在FPGA的控制下從外部傳感器讀取到的一連串傳感器數據,首先被寫入FIFO中,然后再以UART串口的數據發送速率將數據依次發送出去。由于傳感器的單次讀取數據可能很快,但并不是時刻都需要采集數據,例如某傳感器使用SPI接口的協議,FPGA以2M的SPI數據速率從該傳感器中讀取20個數據,然后以9600的波特率通過串口發送出去。此過程每秒鐘執行一次。因為2M的數據速率遠高于串口9600的波特率,因此需要將從傳感器中采集到的數據首先用FIFO緩存起來,然后再以串口的數據速率緩慢發送出去。這里,由于傳感器數據的讀取和串口數據的發送都是可以同步于同一個時鐘的,因此可以使用單時鐘結構的FIFO來實現此功能。

雙時鐘FIFO:

雙時鐘FIFO的一個典型應用就是異步數據的收發。

所謂異步數據是指數據的發送端和接收端分別同步與不同的時鐘域,使用雙時鐘FIFO的獨立的讀寫時鐘結構,能夠將不同時鐘域中的數據同步到所需的時鐘域系統中。例如,在一個視頻圖像采集系統中,實現將攝像頭采集的數據通過VGA在顯示器上顯示。攝像頭輸入的數據長度和速度與輸出到VGA顯示的數據長度和速度都不相同,這種情況下使用雙時鐘FIFO。

四:如何在Altera FPGA中使用FIFO實現功能設計

在Altera FPGA中使用FIFO實現用戶功能設計主要有三種實現方式,第一種為用戶根據需求自己編寫FIFO邏輯,當用戶對于FIFO的功能有特殊需求時,可以使用此種方式實現,但此種方式要求用戶有較高的RTL設計能力。第二種方式為使用第三方提供的開源IP核,此種IP核以源碼的形式提供,能夠快速的應用到用戶系統中,當用戶對FIFO功能有特殊需求時,可以在此源碼的基礎上進行修改,以適應自己的系統需求。第三種方式為使用Quartus II軟件提供的免費FIFO IP核,此種方式下,Quartus II軟件為用戶提供了友好的圖形化界面方便用戶對FIFO的各種參數和結構進行配置,生成的FIFO IP核針對Altera不同系列的器件,還可以實現結構上的優化。

原文標題:一起來了解一下FIFO!

文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    1629

    文章

    21729

    瀏覽量

    602988
  • fifo
    +關注

    關注

    3

    文章

    387

    瀏覽量

    43648

原文標題:一起來了解一下FIFO!

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

收藏 人收藏

    評論

    相關推薦

    FIFO Generator的Xilinx官方手冊

    FIFO作為FPGA崗位求職過程中最常被問到的基礎知識點,也是項目中最常被使用到的IP,其意義是非常重要的。本文基于對FIFO Generator的Xilinx官方手冊的閱讀與總結,匯總主要知識點
    的頭像 發表于 11-12 10:46 ?336次閱讀
    <b class='flag-5'>FIFO</b> Generator的Xilinx官方手冊

    何在智能手機系統中使用bq27505

    電子發燒友網站提供《如何在智能手機系統中使用bq27505.pdf》資料免費下載
    發表于 10-17 10:21 ?0次下載
    如<b class='flag-5'>何在</b>智能手機系統<b class='flag-5'>中使</b>用bq27505

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

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

    何在反向降壓-升壓拓撲中使用TPS6290x

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

    何在FPGA實現隨機數發生器

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

    何在FPGA實現狀態機

    FPGA(現場可編程門陣列)中實現狀態機是一種常見的做法,用于控制復雜的數字系統行為。狀態機能夠根據當前的輸入和系統狀態,決定下一步的動作和新的狀態。這里,我們將詳細探討如何在FPGA
    的頭像 發表于 07-18 15:57 ?566次閱讀

    何在RTOS中使用spi_interface.c?

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

    請問cmakelists中的變量如何在程序中使用?

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

    芯海應用筆記:CSU3AF10 IAP功能設計指南_V1.0

    (利用 UART 協議)實現產品固件升級和更 新。介紹和說明 IAP 功能需要用到的芯片資源、IAP 程序設計說明、IAP 升級上位機和升級小板的使用說明、IAP 升級操作流程說明、使用的 PD
    發表于 05-16 14:29

    何在labview FPGA實現二維插值的功能

    例如,現在有X,C,W三個值,每一組(X.C)對應一個W值,我擁有幾組(X,C)和W的對應關系(即具體數值),我要根據未知的一組(X,C)來通過插值得到W值。其中X和C沒有對應關系,請問應該如何在labview FPGA實現
    發表于 05-15 14:59

    Altera將AI注入新的中端FPGA

    SoC FPGA Quartus Prime設計軟件更新 FPGA生命周期支持擴展 全新Agilex 5 SoC FPGA 隨著中檔Agilex 5的發布,Altera聲稱這是第一個
    的頭像 發表于 05-07 15:03 ?8549次閱讀
    <b class='flag-5'>Altera</b>將AI注入新的中端<b class='flag-5'>FPGA</b>

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

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

    英特爾成立全新獨立運營的FPGA公司Altera

    Sandra Rivera和首席運營官Shannon Poulin詳細分享了AlteraFPGA市場的領先戰略,并展示了其如何通過集成AI功能等創新舉措,豐富產品組合,以應對市場日益增長的挑戰。
    的頭像 發表于 03-11 10:07 ?584次閱讀

    英特爾宣布成立全新獨立運營的FPGA公司——Altera

    在超過550億美元的市場中保持領先性的戰略規劃,強調將通過打造集成AI功能FPGA等舉措,進一步豐富公司的產品組合,同時亦表明將持續助力客戶應對不斷增加的挑戰。會上,Altera也作為新公司的品牌正式對外公布。
    發表于 03-01 11:55 ?710次閱讀
    英特爾宣布成立全新獨立運營的<b class='flag-5'>FPGA</b>公司——<b class='flag-5'>Altera</b>

    何在測試中使用ChatGPT

    Dimitar Panayotov 在 2023 年 QA Challenge Accepted 大會 上分享了他如何在測試中使用 ChatGPT。
    的頭像 發表于 02-20 13:57 ?745次閱讀
    主站蜘蛛池模板: 日本老师xxxxx18| 国产精品系列在线一区| 不卡人妻无码AV中文系列APP| AV天堂AV亚洲啪啪久久无码| 哺乳溢出羽月希中文字幕| 成人在线视频播放| 国产日韩精品一区二区在线观看| 韩国精品无码少妇在线观看网站| 交换娇妻呻吟声不停中文字幕| 久久re6热在线视频| 欧美123区| 熟女人妻水多爽中文字幕| 亚洲视频在线观看视频| 最新国自产拍天天更新| 成年人视频免费在线观看| 国产人妻人伦精品836700| 久久影院毛片一区二区| 啪啪激情婷婷久久婷婷色五月| 无套内射CHINESEHD熟女| 一二三四在线观看韩国| jizz69女士第一次| 国产成人免费| 国产99对白在线播放| 精品综合久久久久久8888| 暖暖日本在线手机免费完整版| 天天摸夜添狠狠添高| 在线播放午夜理论片| 成人午夜精品无码区久久漫画日本 | 亚洲精品国偷拍电影自产在线| 中文字幕在线观看亚洲| 超碰在线视频人人AV| 九九热视频免费| 青柠在线观看视频在线高清| 亚洲乱码国产一区三区| GOGOGO高清免费播放| 国产精品人妻在线观看| 美女脱衣服搞鸡| 性西欧俄罗斯极品| 99热只有精品| 精品午夜视频| 四虎国产精品永久免费入口|