八、Cell的动态逻辑电路
虽然它超出了这篇文章的范围,但静态CMOS电路具有的主要问题之一就是P型晶体管,即对每个N型晶体管,还必须使用一个P型晶体管。
还有一个可供选择的就是所谓的动态或伪NMOS逻辑电路,它在完成相同功能的同时绕开了静态CMOS的问题。让我们再看一下静态CMOS NOR门电路:

图表顶部的两个晶体管是P型晶体管。当A或B是高电平(也就是拥有逻辑值1)时,那么P型晶体管选通电极保持打开,没有电流通过。在这种情况下,电路的输出是地线或是0,因为在顶部互补的N型晶体管跟它们的P型搭档作用相反(也就是输入是高电平时电流能够通过)。
因此,NOR门电路在所有输入是0时输出一个1,那正是NOR门电路应有的功能。
现在,让我们看一下同一个NOR门电路的伪NMOS实现:

在这里要注意几件事情。首先也是最重要的,时钟信号约束了两个晶体管(顶部的P型和底部的N型),但在我们的静态CMOS例子中没有直接到NOR门电路的时钟信号。在这里有一个时钟信号供应给门电路了。
Cell的实现更进了一步。电路顶部的P型晶体管和底部的N型晶体管被赋予了不重叠的相位,也就是两个时钟不是同时处于高/低电平的。
在这里门电路工作的方式如下:输入首先被作用于提供了时钟的晶体管之间的逻辑输入。顶部晶体管的选通电极是关闭的,使得晶体管处于充电状态。然后选通电极打开,而下面晶体管的选通电极关闭,以输出到地线。保留的电荷就是电路的输出。
这样做的重要意义在于,因为功率只消耗在两个不重叠的相位期间,所以总功耗低于静态CMOS的。不利之处是时钟信号发送变得困难得多。
另一个好处是减少了晶体管数量。在2输入NOR门电路的例子中,我们的静态CMOS设计使用了4个晶体管,而伪NMOS实现也使用了4个晶体管。但对于 3输入NOR门电路,静态CMOS实现需要6个晶体管,而伪NMOS实现需要5个。原因是对于CMOS电路,有1个P型晶体管就要有1个N型的,而在伪 NMOS电路中,只要比实现逻辑功能需要的最小数目多出两个晶体管就行了。对于100输入的NOR门电路(不切实际,但是一个好的例子),静态CMOS实现将需要200个晶体管,而伪NMOS实现只需要102个。
通过更有效地使用晶体管和降低功耗,Cell的伪NMOS逻辑电路设计能够获得更高的时钟频率。增加的成本是出自制造和设计阶段的中:
我们之前提到,由于Cell中使用了类似于伪NMOS的设计,时钟发送变得愈加困难了。Cell需要的时钟树可能相当地复杂,但鉴于IBM在该领域的专长,它不是一个不能克服的问题。
设计伪NMOS逻辑电路不容易,并没有普遍可用的库来从中引出电路设计。还是考虑到IBM的规模和专长,这不是个大问题,但它的确成为了小型芯片制造商的障碍。
制造那样的高速动态逻辑电路通常需要像SOI这类技术,但这对IBM来说也不是问题,因为它们已经研究SOI有相当长一段时间了。Cell采用90nm SOI工艺制造一点都不出奇。
在门电路级上,就像逻辑电路级一样,Cell是从高速和晶体管的有效使用出发设计的。


