用verilog hdl编写的19位计数器的testbench如何编写?

2019-03-25 07:16发布



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条回答
我就是ic小白
2019-03-25 19:17



  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
复制代码

一周热门 更多>