第二章ASIC世叶梳理和设计方挂规则设计可以体现在设计的各个阶段以及各个层次上。在系统级可以采用公用的电源、地线、时钟和J总线;在RTL级则可以调用功能块来组成;逻辑级的门和寄存器单元都可以采用一定的标准来规范;直到电路级,多数晶体管可以采用相同的尺寸,且进行优化设计。标准单元的版图设计方法就是典型的规则设计,不仅在电路结构上逻辑单元是典型的、规则的,而且在单元版图的形式上也是等离不等宽,引线脚也有一定的位置。在使用软件方法作行为描述时同样可以采用规则设计,其中常用的形式是子程序调用,可以把常用的单元功能模块描述成相应的子程序或软件模块,存放在设计库中以备调用。

这些功能块可以是各种类型的加法器,奇偶校验电路、计数器、多路开关等,这些模块应该是经过优化设计和验证的。规则设计的正确与否在形式上的判别方法也是规则性,因为电路结构的规则设计往往表现在电路的形式上。从版图设计来看,规则地布局、尽可能采用重复的版图单元,可以提高设计效率。《版图设计规则》详细描述了版图设计的基本原则和注意事项,而《ASIC设计流程》则系统阐述了从初步设计到最终实现的每个步骤。

以图2.12为例,其中多路开关、寄存器和加法器模块都是使用相同的CMOS倒相器和三态倒相器来组成。从规则设计的要求来看,应尽可能地减少单元模块的种类,对于每一种单元模块都必须经过验证,包括功能验证、Timing验证以及对应的单元版图验证。设计协调:当定义好子模块的功能和接口,必须对模块的层次和规则性进行协调。协调包括两个方面:一是模块信号的标准化;二是模块间的连接关系以及采用的基本结构。

当模块建立后,模块与模块之间的相互影响已经确定。在建立模块时,需要根据电路的逻辑功能和电气特性定义好模块的行为、结构和物理接口,指明模块的名字、类型、层次、位置以及它与外界的连接信号等,其中有一个重要的问题是必须考虑模块间如何合理地连接,这就是模块信号的标准化。模块信号标准化包括三个方面:(1)信号输入的驱动;(2)输入信号的寄存;(3)输出信号的寄存。

信号输入的驱动是指在模块输入端可以设置驱动器,这样可以降低对外来信号的驱动要求,保证模块可靠地工作。例如对于二选一多路开关,可以有图示的两种形式。

想了解更多关于版图设计的详细信息吗?《Cadence版图设计》和《CMOS版图设计》是很好的参考资料。您还可以查看《ASIC设计书籍》以获取更多深入知识!