时序/组合逻辑
作者:互联网
引用b站大佬rong晔的手册
1.建立时间与保持时间
建立时间Tsu:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。
保持时间Th:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。
2.时序逻辑:其特点为任意时刻的输出不仅取决于该时刻的输入,而且还和电路原来的状态有关。 电路里面有存储元件(各类触发器,在 FPGA 芯片结构中只有 D 触发器)用于记忆信息,从电路行为上讲,不管输入如何变化,仅当时钟的沿(上升沿或下降沿)到达时,才有可能使输出发生变化。
与组合逻辑不同的是:
(1)在描述时序电路的 always 块中的 reg 型信号都会被综合成寄存器,这是和组合逻辑电
路所不同的。
(2)时序逻辑中推荐使用非阻塞赋值“<=”。
(3)时序逻辑的敏感信号列表只需要加入所用的时钟触发沿即可,其余所有的输入和条件
判断信号都不用加入,这是因为时序逻辑是通过时钟信号的跳变沿来控制的。
3.组合逻辑:组合逻辑的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原本的状态无关,逻辑中不牵涉跳变沿信号的处理。
always @(电平敏感信号列表)
always 模块的敏感列表为所有判断条件信号和输入信号,但一定要注意敏感列表的完整性。
在 always 模块中可以使用 if、 case 和 for 等各种 RTL 关键字结构。 always 模块中的信号必须定义为 reg型,不过最终的实现结果中并没有寄存器。这是由于在组合逻辑电路描述中,将信号定义为reg 型,只是为了满足语法要求。
(2) assign 描述的赋值语句。
信号只能被定义为 wire 型。
标签:逻辑,组合,always,触发器,时序,信号,输入 来源: https://blog.csdn.net/rosemaryandthyme/article/details/122855202