国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FPGA中FIFO的應(yīng)用(三)——Vivado FIFO IP核的調(diào)用

這篇具有很好參考價值的文章主要介紹了FPGA中FIFO的應(yīng)用(三)——Vivado FIFO IP核的調(diào)用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


??作者簡介:小瑞同學(xué),一個努力精進的FPGA和通信學(xué)習(xí)者。
??個人主頁:小瑞同學(xué)的博客主頁
??個人信條:越努力,越幸運!
?日期:2023.12.6
??來源:自學(xué)經(jīng)歷
??文章內(nèi)容概述:簡單介紹了FIFO IP核常用參數(shù)的配置,通過仿真分析了異步IP的讀寫數(shù)據(jù)過程。


連載系列:FPGA中FIFO的應(yīng)用
完整工程已上傳至CSDN:下載鏈接

  • 同步FIFO設(shè)計
  • 異步FIFO設(shè)計
  • Vivado FIFO IP核的調(diào)用

1.FIFO IP核參數(shù)配置簡介

參考文檔:pg057 P156—P173

1.1 Basic

FPGA中FIFO的應(yīng)用(三)——Vivado FIFO IP核的調(diào)用,fpga開發(fā),信號處理

①選擇FIFO的接口類型:

  • 傳統(tǒng)接口
  • AXI存儲映射接口
  • AXI Stream接口。

②FIFO的實現(xiàn)方式:這個種類有很多,這里不詳細列出。

  • common clock表示同步FIFO
  • independent clock表示異步FIFO

1.2 Native Ports

在Basic界面選擇傳統(tǒng)接口后,其配置界面如下:

FPGA中FIFO的應(yīng)用(三)——Vivado FIFO IP核的調(diào)用,fpga開發(fā),信號處理
①讀類型:

  • 標準FIFO
  • 首字掉入FIFO,

②數(shù)據(jù)端口參數(shù):設(shè)置讀寫寬度和深度,

補充:

  • 一般我們選擇標準FIFO即可,有關(guān)首字掉入FIFO的說明詳見P99。
  • 雖然讀寫位寬可以設(shè)置為不同,但讀深度不可設(shè)置,而是會根據(jù)上邊三個參數(shù)自行計算出來,一般要滿足:寫寬度 * 寫深度=讀寬度 * 讀深度
  • 寫深度我們設(shè)置的使256,但IP核所實現(xiàn)的實際深度卻是255,也就是比設(shè)置深度少1。

1.3 Status Flags

FPGA中FIFO的應(yīng)用(三)——Vivado FIFO IP核的調(diào)用,fpga開發(fā),信號處理
①可選標志:

  • 將滿標志
  • 將空標志

補充:

  • almost_empty和almost_full可看作是empty和full的警告信號,它們相對于empty和full會提前一個時鐘周期拉高。

1.4 Data Counts

FPGA中FIFO的應(yīng)用(三)——Vivado FIFO IP核的調(diào)用,fpga開發(fā),信號處理
①數(shù)據(jù)計數(shù)器:用來記錄讀寫數(shù)據(jù)的個數(shù),可分別設(shè)置讀寫數(shù)據(jù)計數(shù)器的位寬。

2.仿真驗證

2.1 testbench文件

`timescale 1ns / 1ps

module tb();

parameter FIFO_WIDTH=8;

reg wr_clk;
reg rd_clk;
reg [7:0] din;
reg wr_en;
reg rd_en;
wire [7:0] dout;
wire full;
wire almost_full;
wire empty;
wire almost_empty;
wire [7:0] rd_data_count;
wire [7:0] wr_data_count;

initial begin
    wr_clk=1'b0;
    rd_clk=1'b0;
    din='b0;
    wr_en=1'b0;
    rd_en=1'b0;
    #10;
    repeat(10)begin
        @(negedge wr_clk)begin
            din={$random}%(2^FIFO_WIDTH);
            wr_en=1'b1;
        end
    end
    repeat(10)begin
        @(negedge rd_clk)begin
            rd_en=1'b1;
            din={$random}%(2^FIFO_WIDTH);
        end
    end
    
end

always #10 wr_clk=~wr_clk;
always #20 rd_clk=~rd_clk;

fifo_generator_0 fifo_generator_u (
  .wr_clk(wr_clk),                // input wire wr_clk
  .rd_clk(rd_clk),                // input wire rd_clk
  .din(din),                      // input wire [7 : 0] din
  .wr_en(wr_en),                  // input wire wr_en
  .rd_en(rd_en),                  // input wire rd_en
  .dout(dout),                    // output wire [7 : 0] dout
  .full(full),                    // output wire full
  .almost_full(almost_full),      // output wire almost_full
  .empty(empty),                  // output wire empty
  .almost_empty(almost_empty),    // output wire almost_empty
  .rd_data_count(rd_data_count),  // output wire [7 : 0] rd_data_count
  .wr_data_count(wr_data_count)  // output wire [7 : 0] wr_data_count
);
endmodule

2.2 原始仿真結(jié)果

??IP核配置即為上述各圖中所示,結(jié)果如下:

FPGA中FIFO的應(yīng)用(三)——Vivado FIFO IP核的調(diào)用,fpga開發(fā),信號處理

2.3 修改參數(shù)后的仿真結(jié)果

??為了驗證異步FIFO作不同數(shù)據(jù)寬度的數(shù)據(jù)接口這一應(yīng)用,這里我們簡單修改一下,使讀位寬大于寫位寬,設(shè)置讀位寬為16位,讀深度則為128??梢钥吹揭粋€讀出數(shù)據(jù)對應(yīng)兩個寫入數(shù)據(jù),也就是說,當讀位寬大于寫位寬時,幾個寫入數(shù)據(jù)拼接成一個讀出數(shù)據(jù)。

FPGA中FIFO的應(yīng)用(三)——Vivado FIFO IP核的調(diào)用,fpga開發(fā),信號處理

??然后再試試寫位寬大于讀位寬的情況,這里設(shè)置讀位寬為4,則讀深度為512,并將輸入數(shù)據(jù)擴大2倍??梢钥吹矫看蜗茸x出輸入數(shù)據(jù)的高4位,再讀出低4位,也就是說,幾個讀出數(shù)據(jù)對應(yīng)一個寫入數(shù)據(jù)。

FPGA中FIFO的應(yīng)用(三)——Vivado FIFO IP核的調(diào)用,fpga開發(fā),信號處理


??如果覺得文章對你有所幫助的話,別忘了點個收藏哦~
??更多優(yōu)質(zhì)內(nèi)容可瀏覽本人主頁??,期待再次與你相遇!
????????????小瑞同學(xué)的博客主頁????????????文章來源地址http://www.zghlxwxcb.cn/news/detail-801905.html

到了這里,關(guān)于FPGA中FIFO的應(yīng)用(三)——Vivado FIFO IP核的調(diào)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • IP核的使用之FIFO(Vivado)

    IP核的使用之FIFO(Vivado)

    在開始介紹 FIFO IP核 之前,我們先設(shè)想這么一個 實際場景 :FPGA內(nèi)部有個16位計數(shù)器,以50MHz的頻率計數(shù),此時,我們希望隨機截取計數(shù)器連續(xù)256個計數(shù)周期的值發(fā)到電腦上進行分析處理。用串口發(fā)送到電腦上。( 數(shù)據(jù)產(chǎn)生速率大于數(shù)據(jù)使用速率 ),此時需要使用存儲器先將

    2024年01月18日
    瀏覽(21)
  • FPGA-基本IP核的應(yīng)用之RAM

    FPGA-基本IP核的應(yīng)用之RAM

    RAM為隨機存取存儲器,它可以隨時把數(shù)據(jù)寫入任一指定地址的存儲單元,也可以隨時從任一指定地址中讀出數(shù)據(jù),其讀寫速度是由時鐘頻率決定的。RAM主要用來存放程序及程序執(zhí)行過程中產(chǎn)生的中間數(shù)據(jù)、運行結(jié)果等。其特點適合雙向交換數(shù)據(jù)。 RAM的端口有單端口和雙端口:

    2024年02月16日
    瀏覽(22)
  • FPGA 學(xué)習(xí)分享-- 04 FIFO核的使用(2)

    FPGA 學(xué)習(xí)分享-- 04 FIFO核的使用(2)

    寫在前面: 博主耗費了四天?。?!完成了FIFO核的第二部分。 在這個部分,博主遇到了很多問題,對著代碼不停修改,詢問學(xué)長和老師,好在終于沒有報錯,可以向大家交作業(yè)了!當然,我會在本文詳細的幫助大家學(xué)習(xí)FIFO核的代碼編寫,帶著大家剖析每個部分,盡可能地通俗

    2024年02月03日
    瀏覽(22)
  • 數(shù)字信號處理-11-FPGA FFT IP應(yīng)用實例

    數(shù)字信號處理-11-FPGA FFT IP應(yīng)用實例

    本文根據(jù)FFT相關(guān)原理進行設(shè)計構(gòu)建工程,仿造前文的工程構(gòu)建的混頻功能的工程,設(shè)計工程顯示該混頻信號的功率譜,然后進行仿真分析。 本文不再針對FFT的原理進行過多贅述,提供一份簡單的matlab仿真代碼。根據(jù)仿真簡述下FFT的相關(guān)使用注意事項。 代碼設(shè)計,模擬生成了

    2024年02月02日
    瀏覽(27)
  • vivado中時鐘ip核的調(diào)用

    vivado中時鐘ip核的調(diào)用

    時鐘ip核(MMCM?PPL),MMCM(混合模式時鐘管理)和PPL(鎖相環(huán))是FPGA內(nèi)部的時鐘資源。 作用:對時鐘網(wǎng)絡(luò)進行一個系統(tǒng)級的時鐘管理和偏斜控制,具有時鐘倍頻、分頻、相位偏移等功能 一、7系列FPGA高層次時鐘結(jié)構(gòu)視圖 ? ? Clock Region :區(qū)域時鐘。 Clock Backbone :全局時鐘線

    2024年01月19日
    瀏覽(41)
  • VIVADO中FFT核的使用(FPGA計算FFT和IFFT)

    VIVADO中FFT核的使用(FPGA計算FFT和IFFT)

    ?????????關(guān)于這方面的內(nèi)容,有些文章已經(jīng)寫的很好很詳細了。不過我在使用的過程中,還是踩了一些坑,我在這里詳細的介紹了IP核每一個設(shè)置的作用,然后寫了個fft計算和ifft計算的環(huán)路的測試程序。應(yīng)該可以幫大家學(xué)會使用fft的同時,也對它有個較為全面的理解。

    2024年01月18日
    瀏覽(26)
  • FPGA零基礎(chǔ)學(xué)習(xí)之Vivado-FIFO使用教程

    FPGA零基礎(chǔ)學(xué)習(xí)之Vivado-FIFO使用教程

    本系列將帶來FPGA的系統(tǒng)性學(xué)習(xí),從最基本的數(shù)字電路基礎(chǔ)開始,最詳細操作步驟,最直白的言語描述,手把手的“傻瓜式”講解,讓電子、信息、通信類專業(yè)學(xué)生、初入職場小白及打算進階提升的職業(yè)開發(fā)者都可以有系統(tǒng)性學(xué)習(xí)的機會。 系統(tǒng)性的掌握技術(shù)開發(fā)以及相關(guān)要求

    2024年02月20日
    瀏覽(20)
  • FPGA學(xué)習(xí)筆記(六): FIR IP核的使用

    FPGA學(xué)習(xí)筆記(六): FIR IP核的使用

    1. 打開VIVADO,點擊IP Catalog? ?2.搜索DDS,選擇DDS Compiler,按照上節(jié)配置頻率為3MHz和4MHz的DDS IP核。 ? ?這里注意不勾選Has Phase Out 這里注意不勾選Output TREADY? ? ?輸出頻率為3MHz 按照上述步驟,配置4MHz的DDS,同樣不勾選Has Phase Out以及不勾選Output TREADY。 3. 點擊IP Catalog,搜索mu

    2024年02月03日
    瀏覽(23)
  • FPGA學(xué)習(xí)筆記(二):clk IP核的使用

    FPGA學(xué)習(xí)筆記(二):clk IP核的使用

    ?1.打開VIVADO,點擊IP Catalog ? 2.?搜索clk,選擇Clocking Wizard ? 3. 配置參數(shù) (1) 選擇MMCM ? ? ?(2) 設(shè)置主頻50Mhz ?(3) 設(shè)置輸出的4個clk的參數(shù),分別是50M,25M,100M,100M反相。Phase表示相位,0表示同相,180表示反相。 ? ? ?(3) 其他參數(shù) ?4. 測試文件 其中clk_wiz的例化可參考模板。點擊

    2024年02月12日
    瀏覽(23)
  • FPGA學(xué)習(xí)筆記(五):DDS IP核的使用

    FPGA學(xué)習(xí)筆記(五):DDS IP核的使用

    ?1. 打開VIVADO,點擊IP Catalog ? ?2.搜索DDS,選擇DDS Compiler ? ?3. 配置參數(shù) (1) 設(shè)置主頻頻率 50MHz ? (2) 選擇sine,并且勾選Has Phase Out(相位輸出) ? ?(3) 勾選Output TREDAY ?(4) 輸入頻率 ? ?(5) 同上述步驟,再加一個DDS IP核 4. 測試文件? ?5. 結(jié)果展示 ? ? ? ?

    2024年02月11日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包