高速低功耗触发器研究初探
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高速低功耗触发器研究初探
本文主要介绍了显式脉冲触发器的设计与实现。首先给出了几种前人设计的经典结构,然后基于它们提出了自己的结构。在经过验证仿真之后,证明新设计与原设计相比,功耗延时性能大大提高,为高速低功耗设计奠定了坚实的基础。
标签:脉冲触发器高速低功耗设计
引言
随着时钟频率的增加,触发器以及锁存器的时延必须减小以满足总体时钟周期的要求。因此,高速高性能而且低功耗的时序逻辑器件设计成了当前的主要研究热点。目前大部分微处理器一般都选择性的使用主从或者脉冲触发器。减少系统总功耗的有效方法就是选择具有较低翻转率以及较少时钟网络节点的电路形式。
一、隐式脉冲触发器
隐式脉冲触发器的特点就是它的脉冲生成方式是隐式的,也就是说它没有专门的脉冲生成器。这样做的好处就是可以降低单位触发器的功耗,提高系统的集成度。但是,因为这种触发器要对时钟进行延迟而形成有相位偏移δ的新时钟,所以要想真正实现系统的同步很难,因为电路工艺决定了不可能每个触发器的延迟链长度均相同,即使链上的反相器数量相同。显示脉冲触发器就没有这种缺点。图1表示了AMD-K6处理器所采用的脉冲触发器基本结构:
该触发器为半动态触发器,它的相移单元采用反相器(奇数个)链搭建。由于第一级是动态的,因此它的速度非常快。当时钟为低电平时,P管将中间节点充电至高电平;待时钟上升沿到来时,中间节点根据输入D的值来放电或保持不变。这个触发器的速度特性很好,但是它的放电路径过长,要经过3个N型MOS管。因此要特别设计MOS管的尺寸降低电阻,这就造成了它的面积较大。另外一种隐式脉冲触发器的结构见下图2:
上面的隐式触发器的放电路径深度要小于前者。它们的功耗很接近,而且给时钟树带来的负载也差不多。但是它们都有一个共同的缺点就是当输入D维持1不变时(连续两个周期),则输出会有一定时间长度的误翻转。
二、数据近输出显式脉冲触发器
图3为显式数据近输出脉冲触发器(ep-DCO)的电路图,由于其半动态特性,它被认为是最快的触发器之一。在ep-DCO中,它的第一级是动态的,第二级是静态的。脉冲生成器驱动预充电管M1和求值管M3、M5。M2用于接受输入数据。在采样阶段,触发器是透明的,即输入可以直接传输到输出。采样过后,M3和M5关断了两级的下拉路径。此时,输入的任何变化均不会影响到输出。
三、全静态显式脉冲触发器
大多数的静态电路比动态电路的功耗都要低,因为动态电路需要在一个时钟周期之内完成充电及放电过程。数据近输出显式脉冲触发器是一种用在高速关键路径上的半动态触发器。然而,在此种触发器进行预充电和求值时,即使输入保持不变,也有可能消耗能量。如图4所示,ep-SFF由ep-DCO演变而来,不同是ep-SFF将第一级改为静态,并且改变了晶体管M5和M6的位置顺序。静态脉冲触发器由两级静态锁存器组成(类似于主从结构)。在采样区间,输出等于输入,触发器的行为类似于一个缓冲器。两个锁存器利用再生正反馈保存输出及中间状态。
通过消除节点X处的预充电过程,ep-SFF减少了翻转率来达到降低功耗的目的。在采样过程中,节点X的值随输入D变化,同时M3和M6开启,D传输到输出。在下一级,在输出旁边由X驱动的晶体管M5用来加速取值过程。
四、输出反馈控制选择性放电半静态触发器
1、时钟脉冲生成单元
单沿时钟脉冲发生器的结构很简单,图5(a)给出了一种实现方法,它由一个简单的与门组成,大大降低了时钟脉冲发生器的资源占用率。图5(b)为双沿时钟脉冲发生器的结构图:
双沿时钟脉冲发生器的复杂程度较单沿时钟脉冲发生器基本相同,但是对时钟的利用率却是后者的2倍;而且给时钟带来的负载也基本相同,因此,双沿时钟脉冲装置的应用更广泛。
2、性能比较
观察前面除了ep-SFF之外所有的触发器均有当输入保持为1时中间节点无用放电的情况出现。为了解决这个问题,将输出取反之后形成反馈控制第一级的动态结构,使其条件放电。从而提出了一种新型触发器,将其命名为“输出反馈控制选择性放电半静态触发器”。
图6为输出反馈控制选择性放电半静态触发器的电路图。它是半静态结构,第一级为动态,第二级为静态。该触发器的主要优点就是通过使用输出的反相Qb反馈控制第一级的放电通路,有效的减少多余的翻转动作。假设输入为1(高电平),且输出Q和QB分别为0和1,节点X放电一次。于是,通过M5输出置成高电平1。如果输入为0,则M2关断,节点X仍处于预充电时的值。于是,Q通过M6与M7放电成低电平0,Qb为高电平1。
当输出为1且输入也为1时,由于Qb的值为0,所以M4关断。关闭了X 的放电路径,Db为0,同时也关断了M6管,这个时候输出节点Q与两级完全
隔离,保持原值1不变。输入为0且输出也为0的情况也是节点X保持原值不变。从上面的分析可以看出,节点X的翻转率大大降低,而且它只驱动一个P 管的栅极,负载电容很小,所以触发器的内部功耗很低。再来看看时钟的驱动情况,时钟驱动三个晶体管,和其它的结构相同。因此,理论预测该触发器的功耗会很低。
五、触发器时序及功耗库文件的建立
为了使设计的触发器能够成为标准库的一部分,就必须给它建立功耗与时序模型,以适合DC、PrimeTime以及PrimePower等工具的要求。目前可以用来进行时序建模的工具有Synopsys的NanoSim。采用ep-OCDFF的网表作为输入文件,用NanoSim计算它的建立时间、保持时间以及传输延迟等重要参数,并生成.lib文件。
NanoSim运行时配置文件内的主要命令:
set_meas_slope:用于设置主输入的沿变化时间,一般情况下设置几个值作为将来时序库中的一维坐标;
set_meas_load:用于设置主输出的负载,一般情况下设置几个值作为将来时序库中的另一维坐标;
meas_n2n_delay:用于测量两个节点之间的延时,使用这条命令来测量时钟有效沿到数据跳变沿的延时,也就是触发器的传输延时;
meas_n2n_setup:用于测量触发器的建立时间,原理是二分法,在此不予说明。用这条命令测出的触发器建立时间基本为0,符合之前的预测;用于测量触发器的保持时间,本例中应为时钟脉冲有效的时间,测量结果和估计结果相符;
add_model_port:添加时序模型管脚的命令;
build_model_bdc:用于输出库文件的命令。
将NanoSim BDC的计算结果与HSpice的结果做对比,证明计算结果相当准确。下图为Hspice的测量结果图,以数据在时钟沿到来时下降跳变为例,可以看出,ep-OCDFF的输出下降延时非常小,只有约150pS。
参考文献:
[1]郑岩、秦品键.基于DSP的晶闸管数字触发器的研究与设计【J】.微计算机信息,2008(2)
[2]方侠海.高速四D触发器的设计与制造【J】.半导体技术,2007(3)