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

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

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

3天內不再提示

如何在Vivado中配置FIFO IP核

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

掃碼添加小助手

加入工程師交流群

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

本文將詳細介紹如何在Vivado中配置一個FIFO IP核,以及如何調用這個FIFO IP核。

一、FIFO IP核的配置

1、新建FIFO IP

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

圖片

2、配置FIFO基本參數

圖片

圖片

編輯切換為居中

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

(1)接口類型

Native interface FIFOs:

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

AXI Memory Mapped interface FIFOs:

這種接口將 FIFO 封裝為一個AXI內存映射的IP核,可以通過AXI總線進行訪問。

AXI4-Stream interface FIFOs:

這種接口兼容AXI4-Stream協議,適合在流式數據傳輸場景中使用。

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

時鐘:

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

資源:

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

3、配置fifo接口參數

圖片

(1)讀模式設置

Standard FIFO:標誰讀模式,接收到讀使能后下一個周期輸出數據

First Word Fall Through:先入先出模式,只有FIFO中有數據,則自動輸出第一個數據,并保持這個數據輸出

(2)數據接口參數設置

FIFO讀數據接口的位寬和深度,FIFO寫數據接口的位寬和深度

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

(4)初始化設置

4、狀態信號接口設置

根據實際需求,選擇對應的狀態信號即可。

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

圖片

5、計數端口設置

fifo已緩存的數據深度計數,可選。

圖片

6、FIFO設置參數總覽

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

圖片

7、點擊OK生成FIFO IP核。

二、FIFO IP核的接口

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

wr_clk 寫時鐘

rd_clk 讀時鐘

din 數據輸入端口,寬度為配置的Data Width;

wr_en 寫使能信號;

rd_en 讀使能信號;

dout 數據輸出端口;

full 滿標志,高電平表示FIFO滿;

empty 空標志,高電平表示FIFO空;

almost_full 幾乎滿標志;

almost_empty 幾乎空標志;

valid 有效數據標志

rd_data_count 讀計數

wr_data_count 寫計數

overflow 寫溢出標記

underflow 讀溢出標記

三、FIFO IP核的調用

FIFO IP核的調用很簡單,只需要對接口進行適當的連接,并根據Full和Empty標志控制讀寫使能信號。下面給出一個簡單的調用例子:

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

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

下面是FIFO IP核的一個簡單的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

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

仿真測試圖:

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

valid信號完全由rd_en控制。

圖片

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

緩存一定長度數據后,自動讀取第一個數據,并保持,直到下一個rd_en 信號到來。

圖片

四、總結

通過上面的描述,我們詳細介紹了如何在Vivado中配置FIFO IP核,FIFO的接口信號,以及如何調用FIFO IP核的一個簡單例子。FIFO是一種非常常用的IP核,通過Vivado的FIFO Generator可以大大簡化配置和使用FIFO的過程。

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

    關注

    33

    文章

    9000

    瀏覽量

    153712
  • fifo
    +關注

    關注

    3

    文章

    401

    瀏覽量

    44806
  • IP核
    +關注

    關注

    4

    文章

    338

    瀏覽量

    50796
  • 生成器
    +關注

    關注

    7

    文章

    322

    瀏覽量

    21890
  • Vivado
    +關注

    關注

    19

    文章

    835

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    玩轉Zynq連載21——VivadoIP的移植

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

    Vivado IP鎖定的解決辦法分享

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

    Vivadoxilinx_courdic IP怎么使用

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

    Vivado生成IP

    vivado生成ip后缺少一大片文件,之前是可以用的,中途卸載過Modelsim,用vivado打開過ISE工程,因為工程很多
    發表于 04-24 23:42

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

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

    了解VivadoIP的原理與應用

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

    vivado調用IP詳細介紹

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

    何在Vivado Design Suite 中進行IP加密

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

    FPGA實現基于Vivado的BRAM IP的使用

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

    VCS獨立仿真Vivado IP的問題補充

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

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

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

    VivadoBRAM IP配置方式和使用技巧

    FPGA開發中使用頻率非常高的兩個IP就是FIFO和BRAM,上一篇文章已經詳細介紹了Vivado FIFO
    的頭像 發表于 08-29 16:41 ?8606次閱讀
    <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選項配置

    在給Vivado的一些IP進行配置的時候,發現有Shared Logic這一項,這里以Tri Mode Ethernet MAC
    的頭像 發表于 09-06 17:05 ?2375次閱讀
    <b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>Shared Logic選項<b class='flag-5'>配置</b>

    FPGA實現基于Vivado的BRAM IP的使用

    Xilinx公司的FPGA中有著很多的有用且對整個工程很有益處的IP,比如數學類的IP,數字信號處理使用的IP
    的頭像 發表于 12-05 15:05 ?2412次閱讀

    VivadoFFT IP的使用教程

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