ISE中FIFO IP核的Standard FIFO和First-word-Fall-Through模式的仿真比较

 

ISE下的FIFO IP核有Standard FIFO和First-word-Fall-Through两种模式,相对于标准模式FWFT(First-word-Fall-Through)可以不需要读命令,自动的将最新数据放在dout上。

接下来分别对两种模式下的FIFO进行仿真,testbench如下

复制代码

 1 module fifo_test;
 2 
 3     // Inputs
 4     reg rst;
 5     reg wr_clk;
 6     reg rd_clk;
 7     reg [15:0] din;
 8     reg wr_en;
 9     reg rd_en;
10 
11     // Outputs
12     wire [7:0] dout;
13     wire full;
14     wire empty;
15     wire [13:0] rd_data_count;
16 
17     // Instantiate the Unit Under Test (UUT)
18     write_fifo uut (
19         .rst(rst), 
20         .wr_clk(wr_clk), 
21         .rd_clk(rd_clk), 
22         .din(din), 
23         .wr_en(wr_en), 
24         .rd_en(rd_en), 
25         .dout(dout), 
26         .full(full), 
27         .empty(empty), 
28         .rd_data_count(rd_data_count)
29     );
30     
31     always #5 wr_clk = ~wr_clk;
32     always #5 rd_clk = ~rd_clk;
33     
34 
35     initial begin
36         // Initialize Inputs
37         rst = 0;
38         wr_clk = 0;
39         rd_clk = 0;
40         din = 0;
41         wr_en = 0;
42         rd_en = 0;
43 
44         // Wait 100 ns for global reset to finish
45         #100;
46         din = 8193;
47         wr_en = 1;
48         repeat(8192)
49         #10 din = din - 1;
50         #10
51         wr_en = 0;
52         #100
53         rd_en = 1;
54         #163840
55         rd_en = 0;
56         #10;
57         $stop;
58         
59         
60         // Add stimulus here
61 
62     end
63       
64 endmodule

复制代码

两次仿真FIFO的配置都一样,写位宽为16,写深度为8192,读位宽为8,读深度为16384.

 

图一为标准FIFO的仿真截图,图二为FWFT模式的仿真截图

图二中在读信号有效之前,dout即输出了最新的数据。

另外需要注意的有:

1,FIFO的实际有效深度为理论深度减。。

2,FIFO中的rd_data_count信号指示的是FIFO前几拍时的状态,即在连续写入2个数据时,rd_data_count依然为0.

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AXI-stream FIFO、AXI4-Stream Data FIFO 和 AXI Data FIFO 是三种常见的FIFO(First-In-First-Out)内存结构,用于在AXI(Advanced eXtensible Interface)总线上进行数据缓存和传输。它们的主要区别在于它们所支持的AXI接口版本和功能。 1. AXI-stream FIFO: AXI-stream FIFO 是最简单的FIFO结构,用于在AXI-stream接口进行数据缓存和传输。它主要用于流式数据传输,如音频、视频等连续数据流。AXI-stream FIFO只有一个输入和一个输出接口,数据按照输入的顺序存储,并按照相同的顺序输出。它不支持数据帧的划分和标记。 2. AXI4-Stream Data FIFO: AXI4-Stream Data FIFO 是在AXI4-Stream接口规范下定义的FIFO结构。与AXI-stream FIFO相比,它具有更多的功能和扩展性。它支持数据帧的划分和标记,可以将连续的数据流划分为多个数据帧,并通过标记信号进行标识。AXI4-Stream Data FIFO还支持流控制信号,如有效性信号(TVALID)、空闲信号(TREADY)和结束信号(TLAST),用于控制数据的传输速率和状态。 3. AXI Data FIFO: AXI Data FIFO 是在AXI接口规范下定义的FIFO结构。它是更高级别的FIFO,支持AXI接口的全部特性和功能。除了数据缓存和传输外,它还支持读写地址突发传输、带宽控制、容错和错误检测等功能。AXI Data FIFO可以用于连接多个AXI总线设备,实现高速数据传输和存储。 总结起来,AXI-stream FIFO 是最简单的FIFO结构,适用于流式数据传输;AXI4-Stream Data FIFO 在AXI4-Stream接口规范下扩展了功能,支持数据帧划分和标记;AXI Data FIFO 是最高级别的FIFO结构,支持完整的AXI接口特性和功能。选择使用哪种FIFO结构,需要根据具体应用需求和所使用的接口规范来决定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值