我是靠谱客的博主 粗暴奇异果,最近开发中收集的这篇文章主要介绍Verilog中时序逻辑、组合逻辑以及状态机设计时序逻辑电路与组合逻辑电路的区别 分段式状态机设计,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

         初涉Verilog,在学习过程中希望通过CSDN平台记录自己学习的过程,同时分享相关知识。文中如有差错希望读者谅解并请指出。

时序逻辑电路与组合逻辑电路的区别 

        时序逻辑电路中,输出不仅与输入有关,还与之前的状态有关。
        组合逻辑电路中,输出与输入有关,与之前的状态无关。
        在设计的过程中,为了便于维护和理解,一般将状态控制和数据输出分开设计。状态控制由当前状态与输入(如果有)确定即将跳转的下一状态。可见这部分逻辑与之前状态有关,故使用时序逻辑电路。在每个状态里一般会有一个输出,这部分逻辑仅与当前状态有关而与之前的状态无关,因此使用组合逻辑电路。

        组合逻辑用阻塞赋值(=)。组合逻辑一般用于输出数据,如果使用阻塞赋值,当对某一个变量x0进行多次赋值时,容易出现逻辑错误。因此使用阻塞赋值。
        时序逻辑用非阻塞赋值(<=)。

分段式状态机设计

        一段式状态机把所有逻辑(包括输入、输出、状态)都在一个always里完成,对于复杂的实例中不便于维护。
        两段式状态机把时序逻辑和组合逻辑划分开来。时序逻辑进行当前状态到下一状态的切换,组合逻辑里实现输入、输出以及状态判断。这种写法相对容易维护不过组合逻辑输出容易出现毛刺等常见问题。
        三段式状态机在两端式状态机的基础上,在时序逻辑输出。代码容易维护,解决了组合逻辑输出容易出现毛刺的问题。但是资源消耗多一些,且三段式从输入到输出比一段式和两段式会延时一个时钟周期。

最后

以上就是粗暴奇异果为你收集整理的Verilog中时序逻辑、组合逻辑以及状态机设计时序逻辑电路与组合逻辑电路的区别 分段式状态机设计的全部内容,希望文章能够帮你解决Verilog中时序逻辑、组合逻辑以及状态机设计时序逻辑电路与组合逻辑电路的区别 分段式状态机设计所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部