本博文主要目的是借用加减计数器来说明标志变量在Verilog编程过程当中的作用和用法,是自己在编程当中的随笔,写的很浅薄,欢迎各位博友拍砖~~(如需转载,请注明出处)
废话少说,贴代码如下:
(一)
always @ (posedge clk)
begin
if(count==8'd255)
flag<=1'b1;
if(count==8'd0)
flag<=1'b0;
end
always @ (posedge clk)
begin
if(flag==1)
count<=count-1'b1;
else
count<=count+1'b1;
end
对代码作如下说明:本例是以计数器(count)满值为255的加减计数器为例,来说明标志变量(flag)的作用。
(二)再帖个产生不同占空比方波的小程序
always @ (posedge clk)
begin
wave_count<=wave_count+1'b1;
end
always @ (posedge clk)
begin
if(wave_count > B)
flag<=1'b1;
else
flag<=1'b0;
end
always @ (flag)
begin
if(flag==1)
square<=1'b0;
else
square<=1'b1;
end
代码说明: 产生的方波的一个周期内是256个点,B是一个周期内处于高电平的点数,
通过控制B的大小就可以实现输出不同占空比的方波(注意flag的应用)。