芯片原厂必学课程 - 第三篇章 - IC 理论篇
03-04 时序逻辑电路分析方法
新芯设计:专注,积累,探索,挑战
引言
根据逻辑功能的不同特点,数字电路可以划分成两大种类,一类称之为组合逻辑电路(简称组合电路),而另一类称之为时序逻辑电路(简称时序电路)
组合逻辑电路指的是在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入(而且是瞬时变化),与电路原来的状态无关,它类似于电阻性电路,如加法器、编码器、译码器、选择器、分配器等等都属于此类
时序逻辑电路指的是在逻辑功能上的特点是有效时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关(具有反馈功能和记忆功能),它主要由存储电路和组合电路两部分组成,它类似于含储能元件的电感或电容的电路,如触发器、锁存器、计数器、寄存器、存储器等等都属于时序电路的典型器件,组合逻辑电路和时序逻辑电路的分析和设计方法也不一样
NOTES:本文来自《芯片原厂必学课程 - 第三篇章 - IC 理论篇》技术专栏
🌏 一、时序逻辑电路的相关概念
对于同步时序逻辑电路,其存在一个公共的时钟信号,共享的系统时钟信号 sys_clk,电路中各记忆元件受它严格的统一控制,只有在该时钟信号有效沿(上升沿或者下降沿)到来时,记忆元件的状态才会统一发生变化,从而使得时序电路的输出发生变化,并且一个时钟信号有效沿只对应一次记忆元件的状态和电路输出状态的改变,也就是说,改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 X 有无变化,状态表中的每个状态都是稳定的;(比如 D 触发器,只有当上升沿到来时,寄存器才把 D 输入端的数据(高低电平)传到 Q 输出端)
同步时序逻辑中最基本的储存元件是触发器,同步逻辑是时钟之间有固定的因果关系,同步时序逻辑的核心逻辑用触发器实现,电路的主要信号、输出信号都由时钟信号驱动产生,可以很好的避免毛刺、有利于器件移植、有利于 STA 等等
异步时序逻辑电路:不存在单一的主控时钟,工作节奏不一致,主要是用于产生地址译码器、FIFO 和异步 RAM 的读写控制信号脉冲,除了可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,由于异步电路没有统一的时钟,所以状态变化的时刻不稳定,因为电路状态的改变除了可以由部分时钟控制,还可以由外部输入的变化直接引起,而通常输入信号只在电路处于稳定状态时才发生变化,也就是说一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞争 - 冒险现象
异步时序逻辑中最基本的元件是锁存器,异步逻辑是时钟之间没有固定的因果关系,异步时序逻辑的核心逻辑使用组合电路实现,电路的主要信号、输出信号不依赖于任何一个时钟信号,容易产生毛刺、不利于器件移植、不利于 STA 等等
🌏 二、同步时序逻辑电路的分析方法
✅ 分析一个时序逻辑电路(如下),就是要通过分析找出时序电路的逻辑功能来,具体地说,就是要求找出电路的状态和输出的状态在输入变量和时钟信号作用下的变化规律
✉ 从给定的逻辑图中写出每个触发器的驱动方程(存储电路中每个触发器输入信号的逻辑函数式)
✉ 将以上驱动方程带入相应的触发器的特性方程(例如 Q* = JQ’ + K’Q),得出每个触发器的状态方程
✉ 从给定的逻辑图中写出电路的输出方程
✉ 以上三个方程组成了时序电路的逻辑功能的描述方程,时序电路状态转换全部过程的描述方式还有状态转换表(真值表)、状态转换图、时序图(波形图)
// 数字电路的时序逻辑功能
always @(posedge clk or negedge rst_n) begin
if(!rst_n)
dout <= 1'b0;
else
dout <= ~dina & dinb | dinc;
end
🌏 三、异步时序逻辑电路的分析方法
与同步时序逻辑电路的分析方法不同的是,在异步时序逻辑电路中,每次电路状态发生转换时并不是所有的 DFF 都有时钟信号(你需要找出每次电路状态转换时哪些 DFF 被触发哪些不被触发),而只有那些有时钟信号 的 DFF 才需要用特性方程去计算次态,没有 “时钟信号” 的触发器将保持原来的状态不变