求分析两段简单的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条回答
天外飞天
1楼-- · 2019-07-16 14:30
如果彻底理解时序逻辑和组合逻辑,就知道这样写的好处了,我是这样认为的。我也是从锆石科技的文章里理解的,分清时序逻辑和组合逻辑确实挺重要的
xiao1cao
2楼-- · 2019-07-16 15:44
 精彩回答 2  元偷偷看……

一周热门 更多>