求分析两段简单的verilog的计数器的代码写法上的不同会带来什么不同的效果,

2019-07-15 21:43发布

代码一:
        always@(posedge CLK_25M)
                if(cnt == 20'd1000000)
                        begin
                                cnt <= 20'd0;
                        end
                else cnt <= cnt + 1'd1;

代码二:
        always @ (posedge CLK_25M or negedge rst_n)
        begin
                if (!rst_n)
                        time_cnt <= 27'h0;
                else
                        time_cnt <= time_cnt_n;
        end
       
        always @ (*)
        begin
                if (time_cnt == SET_TIME_1S)
                        time_cnt_n <= 27'h0;
                else
                        time_cnt_n <= time_cnt + 27'h1;
        end


两段代码都是计数器,后者将时序逻辑和组合逻辑分成了两个always的好处是什么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
zchrx
1楼-- · 2019-07-16 00:57
为什么只能看到一段
zhaojingzi
2楼-- · 2019-07-16 02:52
什么情况?
fjddczx
3楼-- · 2019-07-16 04:27
 精彩回答 2  元偷偷看……
fjddczx
4楼-- · 2019-07-16 05:00
zhaojingzi 发表于 2017-5-13 07:57
什么情况?

只是不懂第二段代码那种写法的好处是在哪里
FPGALOVER
5楼-- · 2019-07-16 09:24
不知道有什么区别,可以综合一下看看原理图
xiao1cao
6楼-- · 2019-07-16 12:40
将时序逻辑和组合逻辑分开,有点像三段式状态机的写法。就看到过锆石科技的视频这样写计数器,不知道好在哪

一周热门 更多>