[求助] 用verilog hdl编写的19位计数器的testbench如何编写?

爱吃饼子的喵   2018-4-15 16:14 楼主


modulecounter(inclk,rst_n,en,out);

input inclk,rst_n,en;

output[18:0] out;

reg[18:0] out,value_r;

always @(posedge inclk ornegedge rst_n)

  if(~rst_n) value_r<=19'b0;

  else

  if(en)

    begin

    value_r<=value_r+19'h1;

    end

  else

  if(!en)

   begin

   out<=value_r;

   value_r<=0;  

   end

initial value_r<=0;
endmodule
以上为该计数器的源程序。
谢谢。
自己尝试了好多遍编写testbench,总是有问题。


回复评论 (3)

消灭零回复,等大神来解释。小白看不懂~
点赞  2018-4-19 15:10



  1. module        tb_count();

  2. reg        inclk;
  3. reg        rst_n;
  4. reg        en;

  5. wire[18:0] out;


  6. initial
  7.         begin
  8.                 inclk  = 0        ;
  9.                 rst_n <= 0        ;
  10.                 en    <= 0        ;
  11.                 #50
  12.                 rst_n <= 1        ;
  13.         end
  14. always #5        inclk = ~inclk        ;
  15. always #100        en    <= ~en        ;

  16. counter        counter_inst(
  17.         .inclk        (inclk         ),
  18.         .rst_n        (rst_n         ),
  19.         .en        (en         ),
  20.         .out     (out     )
  21.         );
  22.        
  23. endmodule
点赞  2018-5-11 21:55
同意楼上
点赞  2018-5-12 11:23
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复