硬件架构的艺术学习笔记(2)时钟与复位

本文详细介绍了时钟与复位在芯片设计中的重要性,特别是同步复位和异步复位的概念、实现方式及其优缺点。同步复位确保电路完全同步,但可能需要脉冲延伸器,并依赖于时钟;而异步复位则提供即时响应,但可能存在亚稳态风险。复位恢复时间和解除时间是确保复位可靠性的重要因素。
摘要由CSDN通过智能技术生成

第二章 时钟与复位

时钟方案
在这里插入图片描述
在这里插入图片描述

1.复位的目的

对一个芯片来说,复位的主要目的是使芯片电路进入一个已知的,确定的状态。主要是触发器进入确定的状态。
1)复位可以使电路从确定的初始状态开始运行:
2) 复位可以使电路从错误状态回到可以控制的确定状态:
3) 电路仿真时需要电路具有已知的初始值

2.同步复位和异步复位

2.1同步复位的实现方式
同步复位的前提是,复位信号只会在时钟的有效边沿去影响或者复位flip-flop。Reset可以作为组合逻辑的一部分送给FF的D端。这种情况下,编码方式必须是if/else 优先级的方式,而且reset只能放在if条件下,其他组合逻辑放到else逻辑下。

正确的方式去构建同步复位FF的verilog代码如下:

在这里插入图片描述
2.2 同步复位的优缺点

同步复位的优点如下

(1) 同步复位会综合成更小的触发器,特别当reset生成逻辑电路作为触发器D输入,但是这种情况下组合逻辑电路的数量变多,所以总的门电路节省不是那么显著。

(2) 同步复位确保电路100%是同步的。

(3) 同步复位确保复位只发生在时钟有效边沿,对小的复位毛刺来说,时钟就像滤波器。

(4) 在一些设计中,复位必须由内部条件产生。同步复位能过滤时钟间逻辑等式的毛刺。

(5) 通过使用同步重置和预先确定的时钟数量作为复位过程的一部分。可以在复位缓冲区树中使用触发器,来帮助将缓冲树的时序保持在一个时钟周期以内。

同步复位的缺点如下:

(1) 不是所有的库都有自带同步reset的FF, 但是可以通过把reset当作数据输入来解决;

(2) 同步复位需要一个脉冲延伸器保证复位脉冲足够宽能,够被有效时钟沿采集到;特别是在多时钟设计中;

(3) 同步复位电路必须要有一个时钟来复位。如果用门控时钟来省电,那么没有时钟的时候就不能复位;

(4) 如果电路中有三态总线,那么上电时必须用异步复位,如果用同步复位,reset必须能够复位三态信号的enable信号。如下所示

2.3异步复位的实现方式
异步复位触发器则是在设计触发器的时候加入了一个复位引脚,也就是说复位逻辑集成在触发器里面。(一般情况下)低电平的复位信号到达触发器的复位端时,触发器进入复位状态,直到复位信号撤离。带异步复位的触发器电路图和RTL代码如下所示:
在这里插入图片描述
在这里插入图片描述
2.4异步复位的优缺点

  1. 异步复位的最大优点是,vendor库里面有异步复位FF, 这样datapath就十分干净。不用把reset与数据做逻辑,这样复位路径上就不会有额外的延时,也不会受外部信号的干扰。

异步复位的进位计数器如下:
在这里插入图片描述
综合后的电路如下:、
在这里插入图片描述
可以看到,reset路径上十分干净,直接由外部pin来控制,不受其他信号影响。

  1. 异步复位的另一个优点是电路reset和时钟无关,不管有没有时钟,都可以reset。好处是可以实时复位,也可以加在门控时钟里面。门控时钟是低功耗设计的重要方法。

  2. 异步复位不需要加入综合指令,综合工具就能自动识别。

异步复位的缺点

  1. 异步重置的最大问题是它们是异步的,在复位阶段和解复位阶段(复位撤离)都是异步的。复位阶段不是问题,解复位才是问题。如果在触发器的活动时钟边缘或附近释放异步复位,则触发器的输出可能变为亚稳态,这样电路的复位状态可能会丢失,解复位失败。
    这种情况下由两个问题:(1)复位恢复时间(reset recovery time) 违例

(2) 复位解除(reset removal) 发生在不同的触发器的不同时钟周期

复位恢复时间: 解除复位信号时,复位边沿(当然是从有效变成无效的跳变时刻,通常是0->1那个时间点)与下一个有效时钟沿之间的这段时间。对应建立时间

复位解除时间: 解除复位信号时,复位边沿与上一个有效时钟沿之间的这段时间。对应保持时间

异步复位的复位信号必须满足一定的恢复时间和解除时间,否则没法确定时钟沿是否起作用了,即判断不了到时是复位了还是没复位。D触发器如果不复位,那么输出就是输入的数据。

1). 不满足复位恢复时间或者撤离时间,可能会导致亚稳态问题。(注意是可能)因为如果输出本身就是复位后的值,即使当前时钟沿不能判断是否复位,输出也是复位值,这时候就不会产生亚稳态,因为已经是复位态了。

2). 不满足复位恢复时间或者撤离时间可能会导致不同FF复位状态不一致的问题。复位信号和时钟信号一样,通过复位网络到达各个触发器。复位网络具有非常大的扇出和负载,到达不同的触发器存在不同的延时,不满足复位恢复或者解除时间的情况下,就有可能在不同的触发器的不同时钟周期内进行解复位。注意,这里的假设条件是复位树和时钟树已经做成立平衡状态,不再考虑复位树和时钟树没做好的情况。

复位同步器

在这里插入图片描述在这里插入图片描述
短路径问题(没搞明白。。)待更新
在这里插入图片描述

参考博客同步与复位

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值