参考书:数字集成电路-电路、系统与设计,本文栏目对其重点进行精简化
1. 时序电路的相关概念
1. 时序电路
框架:
时序电路=组合电路+存储电路
结果:取决于当前的输入和过去的状态。
2. 静态/动态存储器
静态存储器:
上电就保持存储状态
通过正反馈,有意将输入和输出连接
如果长时间不用可以用门控时钟关闭(起到降低功耗的作用)![图片[1] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[1] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f78b5ef144a0100705eebc.jpg)
动态存储器:
简单而言,即传输门+反相器,如下图。
利用寄生电容存储高低电平
只能存储较短的时间(ms级别)(电容小等原因使得存储时间短)
需要周期性刷新来补偿泄露电荷(参见(9)动态门)
结构简单,有较高性能(管子少,RC小)和较低功耗(不存在静态功耗)![图片[2] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[2] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f78cfaf144a0100708a7d0.jpg)
3. 时序参数(重点)
![图片[3] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[3] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f78e5bf144a010070b5ba7.jpg)
为何这么说?
因为只有当满足了建立时间,此时时钟CLK才可以翻转,即此时的数据才是输入端输入的数据
所以输入端数据的50%即为时钟的50%![图片[4] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[4] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f78f87f144a010070d2f6b.jpg)
![图片[5] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[5] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f78fe0f144a010070dbbe3.jpg)
小贴士:
建立时间tsu和保持时间thold都是针对时钟的有效沿而言的。
即,输入数据50%的时间对时钟有效沿50%的时间;对于传播延时
,输入信号50%(即时钟信号)时间对输出信号50%时间
4. 时序约束条件(重点)
![图片[6] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[6] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f790e8f144a010070f5c3c.jpg)
1.时钟周期T![图片[7] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[7] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f79154f144a0100710055d.jpg)
2.保持时间thold![图片[8] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[8] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f791adf144a01007108b28.jpg)
5. 锁存器和寄存器
![图片[9] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[9] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f8059af144a010078c9cbe.jpg)
静态锁存器/寄存器
1. 静态锁存器
1. 电路图与分析
以正锁存器为例,电路图如下,![图片[10] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[10] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80619f144a010078da859.jpg)
电路结构:以传输门为主体的二选一选择器;CLK=1,Q=D;而CLK=0,通过正反馈,输出端和输入端连接。
2. 时序参数分析
1.5中提到,分析正锁存器时,需要注意的时钟边沿是时钟的下降沿。
这是因为,在CLK=1时,Q=D,属于透明传输,即输出随输入随时变化。其信号传播路径:D-①-②-③-Q
当CLK=1->0时,锁存器将要对输入数据进行所存。因此需要考虑建立时间tsu。
如果要让数据可以正确锁存下来,需要④⑤之间的节点的电平等于③⑤之间节点的电平,即
$$ D_{(4)(5)}=D_{(3)(5)} $$
2. 静态寄存器——边沿触发寄存器
边沿触发寄存器,又称主-从寄存器,由主、从两个锁存器组成
- 电路图与分析
![图片[11] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[11] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f8073cf144a0100790a05b.jpg)
![图片[12] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[12] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80770f144a0100790f3f2.jpg)
![图片[13] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[13] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80794f144a010079127d9.jpg)
主-从寄存器,由主锁存器——负锁存器、从锁存器——正锁存器组成。![图片[14] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[14] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f808c3f144a0100792cf3c.jpg)
- 时序参数分析
![图片[15] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[15] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80770f144a0100790f3f2.jpg)
![图片[16] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[16] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80a14f144a0100794584c.jpg)
![图片[17] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[17] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80b6af144a0100795e9dc.jpg)
- 寄存器复位——同步/异步
- 同步复位(RST=0时复位)
![图片[18] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[18] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80ba6f144a010079626aa.jpg)
异步复位(clr=0时复位)
![图片[19] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[19] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80bc5f144a01007964642.jpg)
3. 动态锁存器/寄存器
- 动态锁存器
电路图:![图片[20] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[20] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80bf6f144a01007968b23.jpg)
使用电容电荷表示一个逻辑信号。
但是值的保存时间有限(ms)(漏电时间),需要周期性进行刷新。
- 动态寄存器
- 电路图
![图片[21] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[21] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80c4ef144a01007972b4a.jpg)
- 工作原理:
![图片[22] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[22] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80cf5f144a01007981e00.jpg)
- 时间参数分析:
![图片[23] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[23] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80d15f144a0100798516b.jpg)
- 存在的问题
![图片[24] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[24] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80d77f144a0100798ef6f.jpg)
![图片[25] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[25] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80e5ef144a010079a0e15.jpg)
- 优化——提高噪声容限
![图片[26] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[26] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80dc4f144a01007994f40.jpg)
3.C2MOS寄存器![图片[27] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[27] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f80fdcf144a010079bd047.jpg)
![图片[28] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[28] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f810c6f144a010079ced2b.jpg)
4. 流水线和多周期路径(重点)
- 流水线
电路的工作速度取决于时序电路间的组合逻辑
可以通过将复杂、延迟大的组合逻辑(如计算lg(AB))通过寄存器进行分割,提高做工效率。
需要注意时序设计。每增加一个寄存器,结果就落后一拍!![图片[29] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客 图片[29] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客](https://pic.imgdb.cn/item/63f811bcf144a010079e43be.jpg)
- 多周期路径
主要是写RTL代码时需要注意。
如果一个组合逻辑计算需要多个时间周期完成,可以通过一个cnt进行移位(移位运算量小)。当满足某个条件时,寄存器en=1,输出结果。
如:某运算需要经过四个周期完成,可以声明cnt=4'b0001,每个时钟进行左移,当cnt[3]==1'b1时,en=1,输出结果。