特点 :
各个单元高度相同,宽度不同,单元宽度随单元功能的复杂程度而变,所有单元的电源线和地线位置相同。
下图是不同标准单元的电源线和地线的实现形式:
目前主流的设计是c),电源线和地线处于单元的最上端和最下端,信号端口位于单元的内部区域。
标准单元库至少要包括:AND(与)门,OR(或)门,NOT(非)门,DFF时序单元,这几类单元可以实现大部分基本逻辑功能。
除了这几类最基本的单元外,对于芯片的实现还需要 tie-hign,tie-low,filler等物理实现所需的非逻辑功能单元,比如**填充单元(filler)**是在标准单元布局完成后,用来把所有的标准单元的电源和地以及构成所有晶体管的阱都连起来的物理辅助单元。
一般来说各种门电路、触发器及各种I/O单元是一个标准单元库所必需的配置,这些配置可以满足一个纯数字电路的设计需要。其他大型复杂宏单元,例如模拟单元、内存(ROM、RAM、SRAM)单元等,在许多流片厂商中往往是作为IP形式提供的,所以也可以不完全纳入标准单元库中。
通常标准单元库中的标准单元按功能分类一般分为以下几种:
1)逻辑门单元。逻辑门单元是指具有逻辑功能的单元,比如与门、或门、与非门、或非门、与或非门、或与非门、异或门等,并且每种类型的逻辑门存在多个不同驱动强度的单元。
2)驱动单元。驱动单元分为逻辑正向和逻辑反向两种形式,通常逻辑正向驱动单元称作缓冲器(bufer),逻辑反向驱动单元称作反相器(inverter)。每种驱动单元可以提供多个不同输出驱动能力的单元。、
3)时序单元。时序单元指用于储存逻辑状态的单元,比如触发器、锁存器、移位寄存器等。其中触发器又包括D触发器、RS触发器、JK触发器和T触发器,每种触发器还可以设有清零/置位端等。
4)运算单元。运算单元包括半加器、全加器、减法器和二位比较器等。这些单元通过级联的方式可构成更多位的运算单元如乘法器、除法器等。
5)混合逻辑单元。混合逻辑单元具有比较复杂的逻辑功能,比如多路选择器、计数器、编码器、译码器、奇偶发生器等。
6)I/O单元。I/O单元是芯片与外界交换信息的接口单元,其接口端用于输入输出的金属压焊块(PAD)。
7)物理单元。物理单元指没有逻辑功能但是在物理实现上需要使用的单元,比如tie-high、tie-low、filler单元等。
有的高级标准单元库中还设计了如时序单元阵列、乘加部件等功能比较复杂的宏单元,为满足用户的特殊要求而加入的扩展单元。
一个好的标准单元库应该能提供综合工具实现各种可灵活选择的单元,这样能够为设计提供最优的逻辑实现结果。因此良好的标准单元库应该具备如下几个特点:
1)拥有各种逻辑单元类型并且同时提供多种驱动力强度的同类型单元。
2)缓冲器(buffer)和反相器(inverter)的驱动强度变化范围大。
3)拥有上升和下降时间均衡的驱动单元,该类型单元主要用于时钟树的实现中。
4)拥有相同逻辑功能,但输出可以同时提供正向和反相输出的时序单元,比如时序单元的输出即有正向输出Q端也有输出取反端QN。
5)拥有相同的逻辑功能,但分别提供输出正向和输出反相的组合逻辑单元,比如与门单元(AND)和与非门单元(NAND)。
6)拥有多种高扇入的逻辑单元,用于逻辑优化,比如多输入或与非门单元(OAI)。
7)拥有多种驱动强度的正沿触发和负沿触发的时序单元。
8)拥有多种不同置位复位端组合的时序单元。
9)拥有各种灵活的物理单元,用于实现复杂芯片版图的完整性。
10)拥有多种用于修正保持时间违反的延时单元。