AXI4-STREAM DATA FIFO

AXI4-STREAM DATA FIFO的学习

第一次使用这个IP核,fifo配置图如下:(first in first out)
vivado版本为2019.2
在这里插入图片描述Component Name:器件名字

FIFO depth:FIFO的深度,可以在16到32768之间变化,具体情况视情况而定,但要是2的n次幂。

Enable packet mode:使能包模式:此项设定需要TLAST信号被使能。FIFO的操作在包模式下被修改为存储传送的数据,直到TLAST信号被响应。当TLAST信号被响应或者FIFO满了,存储的数据将被送至AXI4-Stream master interface.

ACLKEN Conversion Mode:1.此选项用来选择ACLKEN信号的转换模式。;2.None 没有和这个IP相关的ACLKEN 信号相关;3.S AXIS Only 有一个与S_AXIS_ACLKEN 相关联的 S_AXIS_ACLK信号,但没有M_AXIS_ACLKEN信号;4.M AXIS Only 有一个与M_AXIS_ACLKEN 相关联的 M_AXIS_ACLK信号,但没有S_AXIS_ACLKEN 信号;5.S AXIS & M AXIS 两个时钟都有与它们相关的ACLKEN信号。

Signal Properties:信号特性:可以看到,软件可以自动计算,当然我们也可以手动修改。

TDATA width (bytes)参数指定axi4流上TData信号的宽度(以字节为单位接口。此参数是一个整数,可以从0到512不等。设置为0以忽略TDATA信号。如果省略了tdata信号,则tkeep和tstb信号也会省略。如图设置为4则可以看到位宽为32bit。
在这里插入图片描述Enable TSTRB:是否使能TSTRB信号,只有当TData width(bytes)参数大于0时,才能启用此选项。
Enable TKEEP:是否使能TKEEP信号,只有当TData width(bytes)参数大于0时,才能启用此选项。
Enable TLAST:是否使能TLAST信号,只有当TData width(bytes)参数大于0时,才能启用此选项。
TID width (bits):用来指定TID信号的位宽,0为忽略,1~32为相应的位宽。
TDEST width (bits):用来指定TDEST 信号的位宽,0为忽略,1~32为相应的位宽。
TUSER Width (bits):用来指定TUSER 信号的位宽,0为忽略,1~32为相应的位宽。

关于这些信号的具体含义以及时序关系,可以通过仿真观察。
在这里插入图片描述
通过仿真可以看出只有当 S_AXIS_tvalid和S_AXIS_tready同时为高时,数据才能写入,而S_AXIS_tready表示FIFO非满,S_AXIS_tvalid由用户控制。

testbench如下:

module sim;

  wire [7:0]M_AXIS_tdata;
  reg M_AXIS_tready = 0;
  wire M_AXIS_tvalid;
  reg [7:0]S_AXIS_tdata = 0;
  wire S_AXIS_tready;
  reg S_AXIS_tvalid = 0;
  reg s_axis_aclk = 0;
  reg s_axis_aresetn = 1;

always #10 s_axis_aclk = ~s_axis_aclk;
initial begin
    #20 s_axis_aresetn = 0;
  //  #20 s_axis_aresetn = 1;
    #40 S_AXIS_tvalid = 1;
    #40 S_AXIS_tdata = 16;
    #40 S_AXIS_tvalid = 0;
    #60 M_AXIS_tready = 1;   
end

design_1_wrapper sss
   (M_AXIS_tdata,
    M_AXIS_tready,
    M_AXIS_tvalid,
    S_AXIS_tdata,
    S_AXIS_tready,
    S_AXIS_tvalid,
    s_axis_aclk,
    s_axis_aresetn);
endmodule

参考:
https://www.pianshen.com/article/7018402595/

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值