only 发表于 2010-5-8 22:30:37

 看过特权(吴厚航)的;深入浅出玩转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

tear086 发表于 2010-5-8 23:21:35

这样写条理比较清晰,便于分析调试。倘若将许多寄存器杂糅在一个always块内,分析起来也是有点小难度的。

fzfh1219 发表于 2010-5-8 23:36:14

这个没什么啦,习惯而已。一个always写太大的话,可读性会变差

only 发表于 2010-5-9 10:48:03

谢谢两位热心回答,看来编程风格方面还要多加学习。
特别感谢一下tear086 .COM 缺氧上传的视屏,
特权的讲的东西不错,感觉和一个大学讲师水平差不了多少,不知道他在此有账号没有?

peixiuhui 发表于 2012-4-11 09:57:51

进程 并行 运行 编程就与MCU有挺大区别的。

linspace 发表于 2012-4-11 16:29:29

嗯,养成良好的编程风格还是很重要的。

panpan_edn 发表于 2012-4-14 09:15:46

是的啊,学习中!

wangshaosh123 发表于 2012-4-14 12:10:16

习惯   养成好的习惯省去不少麻烦

苹果520 发表于 2012-7-28 11:33:44

only 发表于 2010-5-9 10:48 static/image/common/back.gif
谢谢两位热心回答,看来编程风格方面还要多加学习。
特别感谢一下tear086 .COM 缺氧上传的视屏,
特权的讲 ...

我也在看他的视频,不知道有他的代码和PDF没、
页: [1]
查看完整版本:  看过特权(吴厚航)的;深入浅出玩转FPGA视频学习课程Lesson 7 exp1 后的一点疑问。。。