(1)代码层面:时序逻辑即敏感列表里面带有时钟上升沿,如果是没有上升沿或者是带有“*”号的代码,为组合逻辑。
(2)电路层面:
(3)波形层面
另一种关于时序逻辑或者组合逻辑的解释:
用流水灯来举例,依次从左向右点灯,那么3号灯亮取决于上一个转态2号灯是不是亮的。
如何选择时序还是组合逻辑?
首先我们需要保证信号的结果是正确的,只要满足目标需求,这时使用时序逻辑还是组合逻辑都是可以的(这里我们讨论的是大多数情况,但也有例外,例如模块的输出一般要求是时序逻辑)。
在实际设计中,为了便于操作,我们可以首先考虑用时序逻辑,看是否能满足设计要求。如果无法满足目标要求,需要凑时序,那么就考虑改为组合逻辑。