【 1. 源代码 】
异步清零、同步使能、同步翻转计数
module
count(clk
,en
,clr
,ctrl
,out
,co
);
parameter value
=8;
input wire clk
,clr
,ctrl
,en
;
output reg co
;
output reg
[3:0] out
;
always@
(posedge clk
,negedge clr
)
begin
if(!clr
)
begin co
<=0;out
<=0; end
else
if(en
)
begin
if(ctrl
)
begin
if(out
==value
) begin out
<=0;co
<=1; end
else begin out
<=out
+4'b1
;co
<=0;end
end
else
begin
if(out
==0)begin out
<=value
;co
<=1;end
else begin out
=out
-4'b1
;co
<=0;end
end
end
end
endmodule
【 2. 仿真图 】
转载请注明原文地址: https://lol.8miu.com/read-25391.html