今天突发奇想,比如我要得到上图所示的,高电平占7个CLK,低电平占2个CLK的输出方波。
设置个计数的寄存器,当计数值小于高电平持续时间时,输出高电平,当高于高电平持续时间小于总周期时,输出低电平。
程序如下:
module fenpinqi_buduicheng (clk, clr, q);
input clk;
input clr;
output reg q;
parameter high = 5, low = 2;
reg [3:0] count;
always @ (posedge clk)
begin
if (clr == 1)
begin
q <= 0;
count <= 1'b0;
end
if (clr == 0)
begin
if (count < high)
begin
count <= count+1'b1;