看过特权(吴厚航)的;深入浅出玩转FPGA视频学习课程Lesson 7 exp1 后的一点疑问。。。
FPGA菜鸟问题。代码如下, 第二个always相关语句稍作调整完全可以和第一个always合并,这样分开写有何特殊考虑?module clkdiv(
clk,rst_n,
clk_div
);
input clk; //50MHz
input rst_n; //低电平复位信号
output clk_div; //分频信号,连接到蜂鸣器
//---------------------------------------------------
reg 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 这样写条理比较清晰,便于分析调试。倘若将许多寄存器杂糅在一个always块内,分析起来也是有点小难度的。 这个没什么啦,习惯而已。一个always写太大的话,可读性会变差 谢谢两位热心回答,看来编程风格方面还要多加学习。
特别感谢一下tear086 .COM 缺氧上传的视屏,
特权的讲的东西不错,感觉和一个大学讲师水平差不了多少,不知道他在此有账号没有? 进程 并行 运行 编程就与MCU有挺大区别的。 嗯,养成良好的编程风格还是很重要的。 是的啊,学习中! 习惯 养成好的习惯省去不少麻烦 only 发表于 2010-5-9 10:48 static/image/common/back.gif
谢谢两位热心回答,看来编程风格方面还要多加学习。
特别感谢一下tear086 .COM 缺氧上传的视屏,
特权的讲 ...
我也在看他的视频,不知道有他的代码和PDF没、
页:
[1]