tb仿真文件

module tb_DDC_fir_D40();
    reg clk_tb;
    reg rst_tb;
    reg data_in_en_tb;    
    reg [11:0] data0_in_tb;
    reg [11:0] data1_in_tb;
    reg [11:0] data2_in_tb;
    reg [11:0] data3_in_tb;
    
    wire data_out_en_tb;            
    wire signed [15:0] data_out_I_tb;
    wire signed [15:0] data_out_Q_tb;

    reg signed [15:0] memory_0 [1279:0] ;
    reg signed [15:0] memory_1 [1279:0] ;
    reg signed [15:0] memory_2 [1279:0] ;
    reg signed [15:0] memory_3 [1279:0] ;
    
/
    parameter PERIOD = 8;   
    initial begin   
     clk_tb = 1'b1;   
     forever    
     #(PERIOD/2) clk_tb = ~clk_tb;    
    end  

initial begin
    rst_tb = 1'b1;
    #160;
    rst_tb = 1'b0;
    #80;         
    

    $readmemh("C:/Users/wanbowen.DOMAIN_XF/Desktop/initiative_signal_processing/DDC_fir_D40/DDC_fir_D40.srcs/sim_1/1.txt",memory_0); //读取数据到memory
    $readmemh("C:/Users/wanbowen.DOMAIN_XF/Desktop/initiative_signal_processing/DDC_fir_D40/DDC_fir_D40.srcs/sim_1/2.txt",memory_1);
    $readmemh("C:/Users/wanbowen.DOMAIN_XF/Desktop/initiative_signal_processing/DDC_fir_D40/DDC_fir_D40.srcs/sim_1/3.txt",memory_2);
    $readmemh("C:/Users/wanbowen.DOMAIN_XF/Desktop/initiative_signal_processing/DDC_fir_D40/DDC_fir_D40.srcs/sim_1/4.txt",memory_3);
    
    data_in_en_tb = 1'b1;
//    repeat(1) begin
        filter_data;
//    end
    
    data_in_en_tb = 1'b0;
end    
///
    integer n;
    task filter_data;
        begin 
            for(n=0;n<1280;n=n+1) begin//把存储单元的数字读取
                data0_in_tb = memory_0[n];
                data1_in_tb = memory_1[n];
                data2_in_tb = memory_2[n];
                data3_in_tb = memory_3[n];
                #8;
                end 
        end
    endtask 
    
DDC_fir_D40 tb_DDC_fir_D40(
    .clk            (clk_tb        ) ,            
    .rst            (rst_tb        ) ,            
    .data_in_en     (data_in_en_tb ) ,            
    .data0_in       (data0_in_tb   ) ,    
    .data1_in       (data1_in_tb   ) ,     
    .data2_in       (data2_in_tb   ) ,    
    .data3_in       (data3_in_tb   ) ,    
               
    .data_out_en_ex (data_out_en_tb ) ,          
    .data_out_I_ex  (data_out_I_tb  ) ,
    .data_out_Q_ex  (data_out_Q_tb  )
);    
    

endmodule

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值