VLSI设计基础9-时序逻辑电路设计(一)
我的学记|刘航宇的博客

VLSI设计基础9-时序逻辑电路设计(一)

刘航宇
2年前发布 /正在检测是否收录...
温馨提示:
本文最后更新于2023年02月27日,已超过725天没有更新,若内容或图片失效,请留言反馈。

参考书:数字集成电路-电路、系统与设计,本文栏目对其重点进行精简化

1. 时序电路的相关概念

1. 时序电路

框架:
时序电路=组合电路+存储电路
结果:取决于当前的输入和过去的状态。

2. 静态/动态存储器

静态存储器:
上电就保持存储状态
通过正反馈,有意将输入和输出连接
如果长时间不用可以用门控时钟关闭(起到降低功耗的作用)
图片[1] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
动态存储器:
简单而言,即传输门+反相器,如下图。
利用寄生电容存储高低电平
只能存储较短的时间(ms级别)(电容小等原因使得存储时间短)
需要周期性刷新来补偿泄露电荷(参见(9)动态门)
结构简单,有较高性能(管子少,RC​小)和较低功耗(不存在静态功耗)
图片[2] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客

3. 时序参数(重点)

图片[3] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
为何这么说?
因为只有当满足了建立时间,此时时钟CLK​​​​才可以翻转,即此时的数据才是输入端输入的数据
所以输入端数据的50%即为时钟的50%
图片[4] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
图片[5] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
小贴士:
建立时间tsu和保持时间thold​​​都是​针对时钟的有效沿而言的。
即,输入数据50%的时间对时钟有效沿50%的时间;对于传播延时
,输入信号50%(即时钟信号)时间对输出信号50%时间

4. 时序约束条件(重点)

图片[6] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
1.时钟周期T
图片[7] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
2.保持时间thold
图片[8] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客

5. 锁存器和寄存器

图片[9] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客

静态锁存器/寄存器

1. 静态锁存器

1. 电路图与分析

以正锁存器为例,电路图如下,
图片[10] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
电路结构:以传输门为主体的二选一选择器;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. 静态寄存器——边沿触发寄存器

边沿触发寄存器,又称主-从寄存器,由主、从两个锁存器组成

  1. 电路图与分析
    图片[11] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
    图片[12] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
    图片[13] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
    主-从寄存器,由主锁存器——负锁存器、从锁存器——正锁存器组成。
    图片[14] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
  2. 时序参数分析
    图片[15] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
    图片[16] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
    图片[17] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
  3. 寄存器复位——同步/异步
  4. 同步复位(RST=0时复位)
    图片[18] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
  5. 异步复位(clr=0时复位)
    图片[19] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客

    3. 动态锁存器/寄存器

  6. 动态锁存器
    电路图:
    图片[20] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
    使用电容电荷表示一个逻辑信号。

但是值的保存时间有限(ms)(漏电时间),需要周期性进行刷新。

  1. 动态寄存器
  2. 电路图
    图片[21] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
  3. 工作原理:
    图片[22] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
  4. 时间参数分析:
    图片[23] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
  5. 存在的问题
    图片[24] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
    图片[25] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
  6. 优化——提高噪声容限
    图片[26] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客

3.C2MOS寄存器
图片[27] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客
图片[28] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客

4. 流水线和多周期路径(重点)

  1. 流水线
    电路的工作速度取决于时序电路间的组合逻辑

可以通过将复杂、延迟大的组合逻辑(如计算lg(AB))通过寄存器进行分割,提高做工效率。
需要注意时序设计。每增加一个寄存器,结果就落后一拍!
图片[29] - VLSI设计基础9-时序逻辑电路设计(一) - 我的学记|刘航宇的博客

  1. 多周期路径
    主要是写RTL代码时需要注意。
    如果一个组合逻辑计算需要多个时间周期完成,可以通过一个cnt进行移位(移位运算量小)。当满足某个条件时,寄存器en=1,输出结果。
    如:某运算需要经过四个周期完成,可以声明cnt=4'b0001,每个时钟进行左移,当cnt[3]==1'b1时,en=1,输出结果。
© 版权声明
THE END
喜欢就支持一下吧
点赞 1 分享 赞赏
评论 抢沙发
取消