一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Vivado中配置FIFO IP核

CHANBAEK ? 來源:FPGA入門到精通 ? 作者:未可知摩爾 ? 2023-08-07 15:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Vivado IP核提供了強(qiáng)大的FIFO生成器,可以通過圖形化配置快速生成FIFO IP核。

本文將詳細(xì)介紹如何在Vivado中配置一個(gè)FIFO IP核,以及如何調(diào)用這個(gè)FIFO IP核。

一、FIFO IP核的配置

1、新建FIFO IP

在Vivado的IP Catalog中找到FIFO Generator IP核,雙擊打開參數(shù)配置界面。

圖片

2、配置FIFO基本參數(shù)

圖片

圖片

編輯切換為居中

添加圖片注釋,不超過 140 字(可選)

(1)接口類型

Native interface FIFOs:

這是最基本的FIFO接口,包括數(shù)據(jù)輸入、輸出端口、寫使能、讀使能等信號。

AXI Memory Mapped interface FIFOs:

這種接口將 FIFO 封裝為一個(gè)AXI內(nèi)存映射的IP核,可以通過AXI總線進(jìn)行訪問。

AXI4-Stream interface FIFOs:

這種接口兼容AXI4-Stream協(xié)議,適合在流式數(shù)據(jù)傳輸場景中使用。

(2)時(shí)鐘類型和資源類型

時(shí)鐘:

同步時(shí)鐘(common clock) 和 異步時(shí)鐘(Independent clock)

資源:

block RAM、Distributed RAM、Shift Register、Built-in FIFO

3、配置fifo接口參數(shù)

圖片

(1)讀模式設(shè)置

Standard FIFO:標(biāo)誰讀模式,接收到讀使能后下一個(gè)周期輸出數(shù)據(jù)

First Word Fall Through:先入先出模式,只有FIFO中有數(shù)據(jù),則自動(dòng)輸出第一個(gè)數(shù)據(jù),并保持這個(gè)數(shù)據(jù)輸出

(2)數(shù)據(jù)接口參數(shù)設(shè)置

FIFO讀數(shù)據(jù)接口的位寬和深度,F(xiàn)IFO寫數(shù)據(jù)接口的位寬和深度

(3)ECC和輸出寄存器設(shè)置

(4)初始化設(shè)置

4、狀態(tài)信號接口設(shè)置

根據(jù)實(shí)際需求,選擇對應(yīng)的狀態(tài)信號即可。

注意(Programmable Flags):自定義FIFO緩存深度是否達(dá)到設(shè)定值的信號,可以用于設(shè)定半滿或半空信號。

圖片

5、計(jì)數(shù)端口設(shè)置

fifo已緩存的數(shù)據(jù)深度計(jì)數(shù),可選。

圖片

6、FIFO設(shè)置參數(shù)總覽

這是FIFO IP的設(shè)置參數(shù)總覽,可看到資源消耗、寬度、深度、讀延遲等信息。

圖片

7、點(diǎn)擊OK生成FIFO IP核。

二、FIFO IP核的接口

生成的FIFO IP核提供以下接口:

wr_clk 寫時(shí)鐘

rd_clk 讀時(shí)鐘

din 數(shù)據(jù)輸入端口,寬度為配置的Data Width;

wr_en 寫使能信號;

rd_en 讀使能信號;

dout 數(shù)據(jù)輸出端口;

full 滿標(biāo)志,高電平表示FIFO滿;

empty 空標(biāo)志,高電平表示FIFO空;

almost_full 幾乎滿標(biāo)志;

almost_empty 幾乎空標(biāo)志;

valid 有效數(shù)據(jù)標(biāo)志

rd_data_count 讀計(jì)數(shù)

wr_data_count 寫計(jì)數(shù)

overflow 寫溢出標(biāo)記

underflow 讀溢出標(biāo)記

三、FIFO IP核的調(diào)用

FIFO IP核的調(diào)用很簡單,只需要對接口進(jìn)行適當(dāng)?shù)倪B接,并根據(jù)Full和Empty標(biāo)志控制讀寫使能信號。下面給出一個(gè)簡單的調(diào)用例子:

module fifo_test(
  input clk,
  input [17:0] din,
  input wr_en, rd_en,
  output valid,
  output [17:0] dout,
  output full, empty, overflow, underflow
);

fifo_generator_0 fifo_inst(
  .clk(clk),
  .din(din),
  .wr_en(wr_en),
  .rd_en(rd_en),
  .dout(dout),
  .full(full),
  .empty(empty),
  .overflow(overflow),
  .valid(valid), 
  .underflow(underflow)
);

endmodule

在這個(gè)例子中,din和wr_en分別連接到FIFO的輸入端口,dout和empty連接到輸出端口。在寫入數(shù)據(jù)時(shí)需要檢查full信號,在讀出數(shù)據(jù)時(shí)需要檢查empty信號,以避免overflow和underflow的情況發(fā)生。

下面是FIFO IP核的一個(gè)簡單的testbench:

`timescale 1ns / 1ps

module fifo_testbench();

reg clk;
reg [17:0] din;
reg wr_en;
reg rd_en;
wire valid;
wire [17:0] dout;
wire full, empty, overflow, underflow;

fifo_test dut(
  .clk(clk),
  .din(din),
  .wr_en(wr_en),
  .rd_en(rd_en),  
  .dout(dout),
  .full(full),
  .empty(empty),
  .overflow(overflow),
  .valid(valid), 
  .underflow(underflow) 
);

always #5 clk = ~clk; 

initial begin
  clk = 0;
  wr_en = 0; rd_en = 0;

  #10;
  wr_en = 1; din = 18'd1;
  #10;
  wr_en = 1; din = 18'd2;
  #10;
  wr_en = 1; din = 18'd3;

  #10;
  wr_en = 0; rd_en = 1;
  #10;
  wr_en = 0; rd_en = 1;

  #10;
  wr_en = 1; din = 18'd4;
  wr_en = 1; din = 18'd5;

  #10;
  wr_en = 0; rd_en = 1;
  #10
  wr_en = 0; rd_en = 1;

  #10;
  $finish;
end

endmodule

這個(gè)testbench通過 Applying 不同的讀寫使能信號來測試FIFO的寫入和讀取功能。

仿真測試圖:

(1)FIFO讀模式設(shè)置為“Standard FIFO”

valid信號完全由rd_en控制。

圖片

(2)FIFO讀模式設(shè)置為“First Word Fall Through”

緩存一定長度數(shù)據(jù)后,自動(dòng)讀取第一個(gè)數(shù)據(jù),并保持,直到下一個(gè)rd_en 信號到來。

圖片

四、總結(jié)

通過上面的描述,我們詳細(xì)介紹了如何在Vivado中配置FIFO IP核,F(xiàn)IFO的接口信號,以及如何調(diào)用FIFO IP核的一個(gè)簡單例子。FIFO是一種非常常用的IP核,通過Vivado的FIFO Generator可以大大簡化配置和使用FIFO的過程。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    9005

    瀏覽量

    153766
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    402

    瀏覽量

    44818
  • IP核
    +關(guān)注

    關(guān)注

    4

    文章

    338

    瀏覽量

    50816
  • 生成器
    +關(guān)注

    關(guān)注

    7

    文章

    322

    瀏覽量

    21901
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    835

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    玩轉(zhuǎn)Zynq連載21——VivadoIP的移植

    `玩轉(zhuǎn)Zynq連載21——VivadoIP的移植更多資料共享騰訊微云鏈接:https://share.weiyun.com/5s6bA0s百度網(wǎng)盤鏈接:https://pan.ba
    發(fā)表于 09-04 10:06

    Vivado IP鎖定的解決辦法分享

      發(fā)生IP鎖定,一般是Vivado版本不同導(dǎo)致的,下面介紹幾種方法:    1 常用的方法  1)生成IP的狀態(tài)報(bào)告 Report -
    發(fā)表于 01-08 17:12

    Vivadoxilinx_courdic IP怎么使用

    Vivadoxilinx_courdic IP(求exp指數(shù)函數(shù))使用
    發(fā)表于 03-03 07:35

    Vivado生成IP

    vivado生成ip后缺少一大片文件,之前是可以用的,中途卸載過Modelsim,用vivado打開過ISE工程,因?yàn)楣こ?b class='flag-5'>中很多
    發(fā)表于 04-24 23:42

    Xilinx Vivado的使用詳細(xì)介紹(3):使用IP

    IPIP Core) Vivado中有很多IP核可以直接使用,例如數(shù)學(xué)運(yùn)算(乘法器、除法器、浮點(diǎn)運(yùn)算器等)、信號處理(FFT、DFT、D
    發(fā)表于 02-08 13:08 ?2834次閱讀
    Xilinx <b class='flag-5'>Vivado</b>的使用詳細(xì)介紹(3):使用<b class='flag-5'>IP</b><b class='flag-5'>核</b>

    了解VivadoIP的原理與應(yīng)用

    IPIP Core) Vivado中有很多IP核可以直接使用,例如數(shù)學(xué)運(yùn)算(乘法器、除法器、浮點(diǎn)運(yùn)算器等)、信號處理(FFT、DFT、D
    發(fā)表于 11-15 11:19 ?9593次閱讀

    vivado調(diào)用IP詳細(xì)介紹

    大家好,又到了每日學(xué)習(xí)的時(shí)間了,今天咱們來聊一聊vivado 調(diào)用IP。 首先咱們來了解一下vivadoIP
    的頭像 發(fā)表于 05-28 11:42 ?3.8w次閱讀

    何在Vivado Design Suite 中進(jìn)行IP加密

    此視頻概述了Vivado Design SuiteIP加密。 它涵蓋了IP加密工具流程,如何準(zhǔn)備加密IP以及如
    的頭像 發(fā)表于 11-20 06:34 ?7020次閱讀

    FPGA實(shí)現(xiàn)基于Vivado的BRAM IP的使用

    ? Xilinx公司的FPGA中有著很多的有用且對整個(gè)工程很有益處的IP,比如數(shù)學(xué)類的IP,數(shù)字信號處理使用的IP
    的頭像 發(fā)表于 12-29 15:59 ?1.3w次閱讀

    VCS獨(dú)立仿真Vivado IP的問題補(bǔ)充

    在仿真Vivado IP時(shí)分兩種情況,分為未使用SECURE IP和使用了SECURE IP
    的頭像 發(fā)表于 06-06 14:45 ?2292次閱讀
    VCS獨(dú)立仿真<b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>的問題補(bǔ)充

    講解幾點(diǎn)關(guān)于FIFO IP使用時(shí)的注意事項(xiàng)

    FIFO?還是FIFO IP?這也需要寫總結(jié)嗎?太容易了吧。如果我是一個(gè)正在處于面試找工作的年輕人,肯定關(guān)注的是如何手撕
    發(fā)表于 06-21 14:22 ?2021次閱讀
    講解幾點(diǎn)關(guān)于<b class='flag-5'>FIFO</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>使用時(shí)的注意事項(xiàng)

    VivadoBRAM IP配置方式和使用技巧

    FPGA開發(fā)中使用頻率非常高的兩個(gè)IP就是FIFO和BRAM,上一篇文章已經(jīng)詳細(xì)介紹了Vivado FIFO
    的頭像 發(fā)表于 08-29 16:41 ?8648次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>中</b>BRAM <b class='flag-5'>IP</b>的<b class='flag-5'>配置</b>方式和使用技巧

    Vivado IPShared Logic選項(xiàng)配置

    在給Vivado的一些IP進(jìn)行配置的時(shí)候,發(fā)現(xiàn)有Shared Logic這一項(xiàng),這里以Tri Mode Ethernet MAC
    的頭像 發(fā)表于 09-06 17:05 ?2386次閱讀
    <b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>Shared Logic選項(xiàng)<b class='flag-5'>配置</b>

    FPGA實(shí)現(xiàn)基于Vivado的BRAM IP的使用

    Xilinx公司的FPGA中有著很多的有用且對整個(gè)工程很有益處的IP,比如數(shù)學(xué)類的IP,數(shù)字信號處理使用的IP
    的頭像 發(fā)表于 12-05 15:05 ?2424次閱讀

    VivadoFFT IP的使用教程

    本文介紹了VidadoFFT IP的使用,具體內(nèi)容為:調(diào)用IP>>配置界面介紹>>
    的頭像 發(fā)表于 11-06 09:51 ?3858次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>中</b>FFT <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用教程