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

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
    +關注

    關注

    1643

    文章

    21963

    瀏覽量

    614082
  • fifo
    +關注

    關注

    3

    文章

    400

    瀏覽量

    44617

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Altera Agilex 3 FPGA和SoC產品介紹

    Altera 的 Agilex 3 FPGA 和 SoC 可在不影響性能的前提下顯著提高成本效益。其通過出色的 Hyperflex FPGA 架構、先進的收發器技術、更高的集成度和更強大的安全
    的頭像 發表于 06-03 16:40 ?252次閱讀
    <b class='flag-5'>Altera</b> Agilex 3 <b class='flag-5'>FPGA</b>和SoC產品介紹

    Altera大學成立,助力FPGA教學發展與人才培養

    近日,全球 FPGA 創新技術領導者 Altera 宣布成立 Altera 大學,旨在以高效、便捷的方式助力 FPGA 教學發展與人才培養。Alte
    的頭像 發表于 04-19 11:26 ?501次閱讀

    基于FPGAFIFO實現

    FIFO(First in First out)為先進先出隊列,具有存儲功能,可用于不同時鐘域間傳輸數據以及不同的數據寬度進行數據匹配。如其名稱,數據傳輸為單向,從一側進入,再從另一側出來,出來的順序和進入的順序相同。
    的頭像 發表于 04-09 09:55 ?463次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIFO</b><b class='flag-5'>實現</b>

    何在MATLAB中使用DeepSeek模型

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

    使用SCL編寫FIFO功能

    一、 導讀? ? 前幾天一位搞電氣的朋友問S7-1200中如何做個先入先出的功能,說原來用S7-200SMART的時候有填表指令和FIFO指令可以實現功能,現在S7-1200中找了一
    的頭像 發表于 02-09 10:27 ?534次閱讀
    使用SCL編寫<b class='flag-5'>FIFO</b><b class='flag-5'>功能</b>塊

    Altera正式獨立運營:FPGA行業格局將迎來新變局

    2025年初,英特爾旗下的Altera宣布了一個重大決定——正式獨立運營,成為一家全新的專注于FPGA(現場可編程門陣列)技術的企業。在社交媒體平臺上,Altera公司滿懷自豪地宣布:“今天,我們
    的頭像 發表于 01-23 15:15 ?599次閱讀

    何在Windows中使用MTP協議

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

    FIFO Generator的Xilinx官方手冊

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

    何在FPGA實現狀態機

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

    何在RTOS中使用spi_interface.c?

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

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

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