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

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

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

3天內不再提示

使用IP核創建單時鐘FIFO

CHANBAEK ? 來源:哈勒昆 ? 作者:老沈 ? 2023-07-23 11:47 ? 次閱讀

FIFO,先進先出。在FPGA中使用的FIFO一般是指對數據的存儲具有先進先出的緩沖器,FIFO與普通的存儲器的不同在于它沒有讀寫地址線。舉個例子,當FPGA從外部傳感器讀取到一連串數據時,首先被寫入FIFO中,然后FPGA再以UART串口通信依次將數據發送出去。因為傳感器采集數據的速度很快,比如當傳感器使用SPI通信協議,以2M的SPI數據速率讀取時,串口使用9600的波特率肯定跟不上,因此需要先將從傳感器處采集的數據使用FIFO緩存起來,然后再使用串口緩慢發送出去。

01 單時鐘FIFO

單時鐘FIFO具有一個獨立的時鐘端口,所有輸入信號的讀取都是在該時鐘端口信號的上升沿進行的,所有輸出信號的變化也是在該時鐘信號的上升沿的控制下進行的,單時鐘FIFO的所有輸入輸出信號基本都是和時鐘信號同步。

圖片

data為寫入的數據,此處為8位。然后wrreq為請求寫操作,rdreq為請求讀操作,clock為時鐘信號。q為輸出端,8位數據的輸出端。full為滿標志,當fifo緩沖器存儲數據溢滿時,full端將輸出高電平。almost_full為接近滿標志信號,當存儲的數據即將要滿時,almost_full端將輸出高電平以阻止寫操作繼續向fifo中寫數據造成數據溢出。empty則為空標志位,當fifo中數據全部讀取完后,empty端便會輸出高電平用來標記,almost_empty便是在fifo即將要空時便會發出高電平,以阻止fifo的讀操作繼續從fifo中讀取數據。usedw為fifo中的字數,sclr為異步清零端口

02 IP核使用

首先創建一個FIFO的工程保持在prj下,并在prj下新建一個ip的文件夾。點擊Tools -> MegaWizard Plug-In Manager。

圖片

選擇創建一個新的,然后如下圖,在左邊搜索框輸入FIFO,然后選擇第一項,選擇后在右邊的路徑中輸入地址ip并以fifo.v保持。

圖片

接下來如下圖,首先設置數據的位寬及深度,此處設置數據位寬為8位,數據深度為256words(及多少個數據)。

圖片

然后接下來設置需要的端口,根據01中的結構圖,這里需要選擇full滿、empty空、以及接近滿almost_full、接近空almost_empty和異步清零端sclr。在接近滿與接近空處需要設置閾值,即到達多少時接近滿端口開始輸出標志信號,這里設置數據寫操作達到254words時接近滿標志開始標記,數據讀操作在usedw為2時接近空端口開始標記。

圖片

下圖便是讀操作請求確認信號的兩種模式,一個是普通模式一個是前顯模式。

圖片

選擇器件優化方式是面積優先還是速度優先,更換可以看到資源占用率是不一樣的,選擇速度優先必然使用資源會上升。

圖片

然后便一直next后finish創建完成。

圖片

這時轉回界面便可看到生成ip的fifo.v文件,然后便開始書寫激勵仿真文件。

圖片

首先還是例化需要仿真的文件,然后仿真時鐘并在仿真文件中與例化程序進行連線。

圖片

接下來便是定義常量i,寫一個for循環,i自加寫請求wrreq置1將i的值寫入數據data中,usedw中數據深度開始依次增多,等256個words寫完之后,寫請求關閉,然后開始讀操作,同樣的i從零自加到255,然后將讀請求置1開啟,系統便開始從輸出端q中依次輸出data中的數據,同時usedw中的數據深度也開始一次減少。

接下來看仿真波形圖:

圖片

此處是綜合仿真圖,前半部分是寫操作的波形圖,后半部分便是讀操作的波形圖。

圖片

上圖這部分為寫操作,圖中可以看到i每個周期自加1,i的值便賦給數據data,然后usedw便是統計此時data中的數據多少即深度,在usedw為2時可以看到almost_empty接近空出現一個下降沿,在data中開始寫入數據時,寫請求wrreq產生高電平。

圖片

此處可以看出,在深度usedw自加至254時,接近滿端almost_full便會產生上升沿用來標記,計滿后full端產生上升沿,寫操作結束。

圖片

上圖為讀操作,這里隨著i的自加輸出端q開始依次輸出data中的數據,然后usedw隨著data中的數據被讀取便開始自減。

圖片

后面可以看出,當深度usedw為2時,接近空端almost_empty產生上升沿,清空后empty也產生上升沿,讀操作結束。

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

    關注

    2562

    文章

    52504

    瀏覽量

    763282
  • fifo
    +關注

    關注

    3

    文章

    400

    瀏覽量

    44595
  • 時鐘
    +關注

    關注

    11

    文章

    1878

    瀏覽量

    132807
  • uart
    +關注

    關注

    22

    文章

    1264

    瀏覽量

    103177
  • IP核
    +關注

    關注

    4

    文章

    338

    瀏覽量

    50427
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    FIFO IP的使用教程

    在數字設計中,利用FIFO進行數據處理是非常普遍的應用,例如,實現時鐘域交叉、低延時存儲器緩存、總線位寬調整等。下圖給出了FIFO生成器支持的一種可能配置。
    的頭像 發表于 01-03 09:36 ?2534次閱讀
    <b class='flag-5'>FIFO</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用教程

    智多晶FIFO_Generator IP介紹

    FIFO_Generator是智多晶設計的一款通用型FIFO IP。當前發布的FIFO_Generator IP是2.0版本,相比之前的1.
    的頭像 發表于 04-25 17:24 ?815次閱讀
    智多晶<b class='flag-5'>FIFO</b>_Generator <b class='flag-5'>IP</b>介紹

    #硬聲創作季 #FPGA FPGA-27-04 Quartus中fifo IP介紹與仿真測試-1

    fpgafifoIP
    水管工
    發布于 :2022年10月29日 02:28:30

    #硬聲創作季 #FPGA FPGA-27-04 Quartus中fifo IP介紹與仿真測試-2

    fpgafifoIP
    水管工
    發布于 :2022年10月29日 02:28:50

    #硬聲創作季 #FPGA FPGA-27-04 Quartus中fifo IP介紹與仿真測試-4

    fpgafifoIP
    水管工
    發布于 :2022年10月29日 02:29:34

    【鋯石A4 FPGA試用體驗】IPFIFO(一)創建與配置

    FIFO IP。[code]module My_FIFO(CLK_50M,RST_N,wrdata,rddata,wren,rden,time_cnt,usedw,full,emp
    發表于 10-04 14:38

    XILINX FIFO IP調用問題

    工程利用ISE自帶的FIFO將32位的并行數據經過緩存以bit輸出,讀寫時鐘相同,首先將32位數據經過FIFO1變成8位輸出,再將8位數
    發表于 12-23 12:53

    【正點原子FPGA連載】第十三章IPFIFO實驗-領航者ZYNQ之FPGA開發指南

    模塊的信號交互。由于FIFO多用于跨時鐘域信號的處理,所以本實驗我們使用異步FIFO來向大家詳細介紹雙時鐘FIFO
    發表于 09-23 17:27

    FIFO IP的使用

    。向FIFO中讀出一個數據,讀地址加1。可以將FIFO想象成一個水池,寫數據和讀數據分別對應著注水和抽水。當注水速度快時,水池會滿。當抽水速度快時,水池會空。根據讀寫時鐘,可以分為同步FIFO
    發表于 04-12 22:44

    IP生成文件

    IP生成器生成ip后有兩個文件對我們比較有用,假設生成了一個asyn_fifo,則asyn_fif
    發表于 07-21 16:42 ?0次下載

    基于MicroBlaze的AXI總線實時時鐘IP設計

    作者:薩其日娜 內蒙古魯電電力工程有限公司 摘要: 應用MicroBlaze軟作為CPU的硬件平臺,在此平臺上設計了基于AXI總線的通用實時時鐘IP。給出了
    發表于 11-17 16:34 ?4081次閱讀

    AXI STREAM FIFO如何設置雙時鐘

    IP的全稱是: AXI4-STREAM FIFO 設置注意事項:一定要選擇異步時鐘,也就是雙時鐘,如下: 關于其他配置: TLAST 一
    發表于 03-26 14:40 ?5528次閱讀
    AXI STREAM <b class='flag-5'>FIFO</b>如何設置雙<b class='flag-5'>時鐘</b>

    講解幾點關于FIFO IP使用時的注意事項

    FIFO?還是FIFO IP?這也需要寫總結嗎?太容易了吧。如果我是一個正在處于面試找工作中的年輕人,肯定關注的是如何手撕FIFO,這也是
    發表于 06-21 14:22 ?1923次閱讀
    講解幾點關于<b class='flag-5'>FIFO</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>使用時的注意事項

    如何在Vivado中配置FIFO IP

    Vivado IP提供了強大的FIFO生成器,可以通過圖形化配置快速生成FIFO IP
    的頭像 發表于 08-07 15:36 ?5413次閱讀
    如何在Vivado中配置<b class='flag-5'>FIFO</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>

    XILINX FPGA IPFIFO Generator例化仿真

    上文XILINX FPGA IPFIFO對XILINX FIFO Generator IP的特性和內部處理流程進行了簡要的說明,本文通過實際例子對該
    的頭像 發表于 09-07 18:31 ?2546次閱讀
    XILINX FPGA <b class='flag-5'>IP</b>之<b class='flag-5'>FIFO</b> Generator例化仿真