数字IC设计前端推荐设计

        数字前端rtl风格很重要,因为综合工具对不同的编码风格解释的结果是不一样的,这会影响到设计门数和时序性能。下面推荐的一些基本设计技术,可以确保得到优化的设计结果,同时避免不可靠和不稳定性。

1、避免再设计中出现组合环路(Combinational Loop)。

        组合环路是数字设计中导致不稳定和不可靠的最常见因素。在同步设计中,所有反馈回路都应该包含时序逻辑(触发器或寄存器等),若反馈回路中只有组合逻辑,就构成了组合环路。组合逻辑环路产生的具体原因,一个是将组合逻辑电路的输出端又通过组合逻辑反馈到输入端,另一个是将寄存器的输出端通过组合逻辑反馈到同一个寄存器的异步端(异步复位或异步置位)如下图所示。

        组合逻辑环路违法了同步设计原则,应尽可能避免,其危害如下:

1)、组合逻辑环路违反了同步设计原则,很容易产生振荡,毛刺和时序违规,从而使整个系统变得极不稳定。

2)、组合逻辑环路实现的逻辑功能完全依赖于环路上的逻辑门延迟和布线延迟,如果这些延迟发生变化,原来的逻辑功能将会发生彻底的改变,而且改变后的功能很难预测,所以这种设计基本没有可移植性。

3)、组合逻辑环路会使设计软件进入无尽的环路计算中,为了完成计算,一些EDA工具会将环路割断,而不同的EDA软件对环路割断处理的过程是不尽相同的,这种过程不但使电路的实现偏离了最初的设计意图,而且使电路的实现呈现不确定性。另外,还有一些EDA工具都会将组合逻辑环路定义为一种设计错误,如果设计中存在这种逻辑,编译过程会报错,强制用户进行修改。

        解决这个问题的简单方法是在组合环路中引入一个触发器或者寄存器,以将直接通路打断。

2、避免使用异步脉冲产生器。

        设计中通常需要基于某些时间产生脉冲,有些人会使用延迟链产生单个脉冲或者一系列脉冲,如将一个触发信号接到两输入与门或或门的输入端,但是对其中一个信号取反或者加入延迟链,此时就可以得到脉冲,但是该脉冲的宽度完全取决于两个信号的相对延迟时间。这种技术完全是异步的,产生的脉冲宽带只有在布局布线之后才能完全确定且很可能不适用于所有的PVT环境。且静态时序分析不能验证脉冲宽度,因此验证工作也会变得困难。应用下列方式产生脉冲,该方式产生的脉冲宽度与时钟周期宽度相等,可以预测,可用于时序分析,并移植到其他体系结构中,独立于具体的工艺。

3、避免使用锁存器

        锁存器是电平触发,是联通模式的,即在数据输入和输出之间存在直接通路,输入端的毛刺能传递到输出端。锁存器会给设计带来以下缺陷:

1)、锁存器本身时序是模糊的,锁存器是电平触发,工具无法确定是在时钟沿前还是时钟沿后将数据传到输出端,大多数情况下,之后原设计者才清楚全部意图,导致移植困难。

2)、时序分析困难,静态时序分析器通常会做出与锁存器透明有关的错误假设,要么发现通过数据输入端口的伪路径,要么将真正的路径丢失。

3)、给DFT带来困难。锁存器常常使电路不可预测,大多数可测性设计工具(DFT)和自动测试程序生成器(ATPG)都不能很好处理锁存器。

        生成锁存器的rtl风格:

        当一个变量未能在always语句的所有可能执行条件下赋值,就会形成锁存器。如赋值不完整的if else ,case语句。

        设计中应尽量避免锁存器,但也不是说不能使用锁存器,如可以使用锁存器挪用周期或借用时间来满足关键路径的要求。不过在使用的时候最好拉出具体器件直接使用,而不是由rtl代码不完整赋值生成。

4、避免使用双沿时钟

        使用双沿时钟是指在时钟上升沿和下降沿都传输数据,这种改变使得数据传输在给定的时钟频率下能达到双倍的吞吐率,是一种增大设计最大可能输出速度的有效方法,但也违法了同步设计原理导致了一些问题。

其缺陷如下:

1)、不对称的时钟占空比会导致建立时间和保持时间的违例。

2)、很难确定关键信号的路径。

3)、很难做DFT,因为DFT要求所有的寄存器都使用相同的时钟沿,如果要在双沿时钟电路插上扫描链,那么必须在时钟线上插入多路复用器,以保证在测试模式下使用单一时钟。

但其也有优点,如下:

1)、可以数据提高传输速度

2)、使用双沿时钟比使用两倍时钟频率的同步电路成本更低,因为时钟频率和时序的增加,电路干扰会变得敏感,使得接口电路必须制作得更加精细。

3)、使用双沿时钟可以降低功耗,因为时钟频率减半,因此系统的功耗只有等效同步电路的一半。

        因此,在对性能/速度要求很高,但是又无法承受使用等效同步电路在DFT和验证方面所带来的额外开支时,也可以使用双沿时钟。

  • 20
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值