首先附上代码:
`timescale 10ns/1ns
module cnt4
(
input clk, //时钟
input rst, //复位脚
input [3:0] d, //输入
input load, //预置
output reg[3:0] q, //输出
output reg cout //输出
);
always @(posedge clk,posedge rst) begin
if(rst)//如果RST为高的话那么就将复位操作
{cout,q}<=5'h0;//异步复位
else if(load) q<=d;//如果置数端为高则置位
else {cout,q}<={cout,q}+1'b1;//如果啥上述都没有的话就直接加一
end
endmodule
加载到modelsim中然后就手动设置参数进行仿真。结果图如下图:
上图即是计数器的仿真出来的波形图。
文章评论(0条评论)
登录后参与讨论