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,总是有问题。
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
- module tb_count();
- reg inclk;
- reg rst_n;
- reg en;
- wire[18:0] out;
- initial
- begin
- inclk = 0 ;
- rst_n <= 0 ;
- en <= 0 ;
- #50
- rst_n <= 1 ;
- end
- always #5 inclk = ~inclk ;
- always #100 en <= ~en ;
- counter counter_inst(
- .inclk (inclk ),
- .rst_n (rst_n ),
- .en (en ),
- .out (out )
- );
-
- endmodule
复制代码一周热门 更多>