《硬件架构的艺术》读书笔记(二)时钟和复位

  

第2章:时钟和复位

1.经验表明对ASIC的时域控制最安全的方法就是同步设计。

 

2.易发生时序错误的情况(不推荐使用):

(1)避免使用行波计数器,使用触发器输出做时钟输入端,会引发延时。

 

 

(2)门控时钟会导致时钟偏移,并且综合时容易出错。(clk_in = en & clk)

 

 

(3)双边沿或混合边沿触发时钟,对同步复位,DFT,关键路径确定带来难度。

 

 

(4)用触发器驱动另一个触发器额异步复位端,第二个触发器输出不仅仅受到时钟边沿的影响。

 

 

3.推荐的设计技术:

(1)避免产生组合环路

当组合环路产生时综合工具会报错,由于某信号进过组合逻辑或者算术表达式左边等于右边时,就会形成组合环路。

会产生无休止的环形运算。

 


改为插入一个DFF,打断直接通路

 

 

(2)避免数字设计中的延迟链

使用两个或多个带有单扇入和单扇出的连续节点产生延迟时,就会形成延迟链。在设计中,使用延迟链会带来各种问题,尽量避免。

 

(3)避免使用异步脉冲产生器

两种常用的方法产生异步脉冲:

一、将同一个触发信号街道两输入与门或或门,其中一个取反或加入延迟链。产生脉冲的宽度取决于两组信号的相对延迟。

二、寄存器输出信号经过一定延迟驱动同意寄存器的异步复位端。

 

异步产生的脉宽常常为综合和布局布线带来难题,因为难以确定具体的脉宽,验证工作很难进行

 

推荐使用同步脉冲产生器:

 

(4)避免使用锁存器

 

静态时序分析、DFT、自动测试程序生成器,均不能很好的处理锁存器,设计中应尽量避免。

 

来源:意料之外的锁存器一般来自不完整的if else语句(语句覆盖率),产生意外的锁存器,如下:

 

应当极力避免如FPGA某些架构产生的组合反馈电路,可能违背建立保持时间,会造成比锁存器更多的问题。

 

(5)避免使用双边沿(DDR使用该技术)

双边沿触发:指在时钟的上升沿和下降沿都传输数据,使得数据吞吐量翻倍。

 

缺点:1.当时钟非对称占空比时会违反建立保持时间;

2.关键路径很难确定;

3.很难插入扫描连,对DFT不利。

优点:1.当提高时钟频率的方案不可行时(大多由于接口的电气特性跟不上),使用双边沿很有效;

2.只需用更低的时钟频率,这意味着更低的工功耗。

 

总结:只有当单边沿等效电路无法满足功能需求时,才会考虑双边沿触发。

 

4.时钟方案

 

(1)内部产生时钟

应当避免内部产生时钟,当操作不当,会引起设计功能和时序问题。

 

一、使用组合逻辑产生时钟

易产生毛刺信号

 

在添加一个DFF后,可改善毛刺的现象

 

 

组合逻辑的时钟延迟也会影响到建立保持时间的窗口

 

(2)分频时钟

要保证大多数时钟都来自于PLL,可以避免许多异步时钟分频带来的问题。

对主时钟分频时,应时钟使用同步技术器或状态机。

 

(3)行波计数器

 

避免使用,会在STA和综合阶段带来麻烦。

多用于较高功耗的系统中,可大量降低功耗。

 

(4)多路时钟

多用于使用同一功能具有不同的时钟(多频率标准的通信应用)

 

但是也存在很多难题,比如切换时钟时会产生错误的状态,使用需要需满足:

1)初始化配置后,多路时钟逻辑不变;

2)测试时,设计会绕过该模块,选择普通时钟;

3)时钟切换,寄存器处于复位转态;

4)切换时的短暂错误转态,没有负面影响

 

(6)同步时钟使能和门控时钟

 

使用门控时钟是减少功耗的有力手段,会使始终网络和寄存器完全停止翻转。

但是由于并非同步设计,会导致设计和验证工作量的增加,并且会对毛刺敏感,产生危险性。

 

 

同步化门控时钟后,实际功耗并没有下降,但可以通过一些方法使得某些寄存器失效,达到降低功耗的目的。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值