FIFO FWFT Write or Read 时序图

fifo fwft 读写时序仿真图


在这里插入图片描述
图中wr_en 信号 和 empty是同一信号, 当复位后写入3个数据后,empty信号才变为假

测试代码

`timescale 1ns / 1ps
module test (    
    input   wire     clk,
    input   wire     srst    
   );
   wire                  clk_50m;
   wire   [8:0]          data_count;
   wire   full, empty;
   reg    [15:0]         din;
   reg                   wr_en,rd_en;
   wire   [15:0]         dout;
   reg    [15:0]         data_cnt;
   always @(  posedge clk  or posedge  srst ) begin
       if(srst) begin
               wr_en <= 0;
               rd_en <= 1;
               din   <= 5;  
               data_cnt <= 0;            
       end else begin
               din <= din + 1;
       end
   end
   fifo_common_clk  my_com_clk_fifo(
        .clk(clk),                    // input wire clk
        .srst(srst),                // input wire srst
        .din( din ),                      // input wire [15 : 0] din
        .wr_en( empty ),                  // input wire wr_en
        .full( full ),                    // output wire full
        .rd_en( rd_en ),                  // input wire rd_en
        .dout( dout ),                    // output wire [15 : 0] dout        
        .empty( empty ),                   // output wire empty
        .data_count(data_count)            // output wire [8 : 0] data_count
   );
endmodule

仿真代码

`timescale   1ns / 1ps
module tb(  );
reg  clk_50M;
reg rst;
initial begin
clk_50M = 0;
rst = 1;    
#80   rst = 0;
#2000 $stop;
end 
test  tb_test(
.clk(clk_50M),
.srst(rst)
);
always #10 clk_50M = ~clk_50M;
endmodule

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值