需要设计一个1 ~ 32的数控分频器,代码帮看下
时间:10-02
整理:3721RD
点击:
需要设计一个1 ~ 32的数控分频器,通过5个按键控制分频系数,按键按下为高电平。
程序如下:
module div(clk,clk_out,rst_n,D1,D2,D3,D4,D5);
input clk; //系统时钟信号
input rst_n; //系统复位信
input wire D1,D2,D3,D4,D5;
output reg clk_out; //输出频率
reg[4:0] count;
always @(posedge clk )
begin
if(!rst_n) count<={~D5,~D4,~D3,~D2,~D1};
else if(count<5'b11111) count<=count+1'b1;
else count<={~D5,~D4,~D3,~D2,~D1};
end
always @(posedge clk)
begin
if (count==5'b11111) clk_out<=1;
else clk_out<=0;
end
endmodule
这样写对吗?
程序如下:
module div(clk,clk_out,rst_n,D1,D2,D3,D4,D5);
input clk; //系统时钟信号
input rst_n; //系统复位信
input wire D1,D2,D3,D4,D5;
output reg clk_out; //输出频率
reg[4:0] count;
always @(posedge clk )
begin
if(!rst_n) count<={~D5,~D4,~D3,~D2,~D1};
else if(count<5'b11111) count<=count+1'b1;
else count<={~D5,~D4,~D3,~D2,~D1};
end
always @(posedge clk)
begin
if (count==5'b11111) clk_out<=1;
else clk_out<=0;
end
endmodule
这样写对吗?
请指点一下,万分感谢!
昨晚用示波器验证了一下没效果,不知道程序该怎么改了,求好心人帮助一下。