|
FPGA菜鸟问题。代码如下, 第二个always相关语句稍作调整完全可以和第一个always合并,这样分开写有何特殊考虑?
module clkdiv(
clk,rst_n,
clk_div
);
input clk; //50MHz
input rst_n; //低电平复位信号
output clk_div; //分频信号,连接到蜂鸣器
//---------------------------------------------------
reg[19:0] cnt; //分频计数器
always @ (posedge clk or negedge rst_n) //异步复位
if(!rst_n) cnt <= 20'd0;
else cnt <= cnt+1'b1; //寄存器cnt 20ms循环计数
//----------------------------------------------------
reg clk_div_r; //clk_div信号值寄存器
always @ (posedge clk or negedge rst_n)
if(!rst_n) clk_div_r <= 1'b0;
else if(cnt == 20'hfffff) clk_div_r <= ~clk_div_r; //每20ms让clk_div_r值翻转一次
assign clk_div = clk_div_r;
endmodule |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|