数字IC设计-Chapter 3 Architecture Desgin
对于接口加以寄存是可重用设计中最重要的技术,它使得模块设计对整个芯片没有特定的版图设计要求,通过使得时序闭合成为局部问题,综合静态时序分析及时序驱动的布局布线工具都能更加有效的工作,因此只有在不可避免的情况下,才可以违背上述两项原则。
系统应该尽可能采用基于触发器的同步设计。基于触发器的设计能够增加芯片上集成的门数,内部延迟比由两个锁存器组成的触发器也小,尽管设计复杂度度高,但是在过去的设计中,尤其是微处理器的设计比较流行。
时钟是芯片设计中最重要的全局信号。
1.系统时钟的产生和控制逻辑与其他功能模块分隔开,这样使得设计者可以为特定的目的使用工具修改时,不影响功能。
2. 使用尽可能少的时钟域,如果两个异步时钟交互,应该尽量在同步模块中交互,称之为同步电路。(Synchronizer)
3. 应该详细记录时钟域的数目和时钟频率,包括相关的锁相环(PLL)、外部时序特性以及时钟域的偏移要求。
4. 如果使用PLL产生片上时钟,应该提供关闭或旁路机制,这不但使系统测试与调试更加容易,而且有助于使用硬件模型进行系统仿真。
综合策略:
建议采用由地向上bottom to top的综合策略。每个主要模块有自己的脚本程序来满足该模块的内部时序要求,应尽可能在版图设计阶段将这些模块单独进行布局布线,而不是放到更大的模块中,从而使综合时使用的线载模型,比较准确。芯片级的综合仅需要链接这些模块以及修改各模块输出的驱动能力。以满足真正的扇出和时序要求,因此在顶层综合的过程中,这些模块分为内部逻辑-Don't Touched 和外部输出驱动-将进行优化两层。
设计者必须插入一些专为提高测试效率的电路(与功能无关),称之为可测性设计(DFT: Design for Test)技术。
故障模型:stuck-at for logic error, delay for timing error.
内部扫描是最常见的DFT技术。这个技术将复杂的时序逻辑设计分为完全隔离(全扫描 full-scan)或部分隔离(partial scan)的组合逻辑块。触发器加入一个选择器控制输入,就可以称之为扫描触发器。这些修改过的时序逻辑元件链接在一起构成了一个或者多个很大的移位寄存器。
存储器的内建自测试功能。
低功耗设计:包括静态功耗(单元库的设计者通常以高的静态电流来实现快速的单元电路-Sleep transistor)和动态功耗(翻转功耗Sum(afCV^2)和内部功耗(元件内部功耗))。
1.降低供给电压。对应要有流水线设计和并行设计。-电源的可编程性。
2.降低电容和反转次数。