低功耗且面积高效的N位并行二进制比较器的设计与分析
1 引言
二进制比较器是一种数字电路,用于比较两个二进制数,并生成表示大于、小于或等于的二进制输出。二进制比较器由两个输入操作数和三个输出组成,如图1所示。
尽管架构实现简单,但它在中央处理单元(关联存储器、参数比较模块、队列缓冲区),用于特征分析的测试电路[1]和微控制器[2]等数字构建模块中具有广泛的应用。二进制比较器可用作I/O存储设备地址映射的解码电路。这有助于改善二进制比较器在面积、功耗和性能方面的设计优化。
二进制比较器输入位数的增加会导致其面积出现指数级增长[3]。传统二进制比较器采用减法方法(二进制补码)设计,其中包含普通加法器[4],导致响应速度较慢。alternatively用快速加法器替代普通加法器仅能带来延迟性能的边际改善[5]。传统比较器的慢速响应可通过树形结构克服。在比较器设计中引入树形结构可改善延迟性能。然而,功耗和延迟问题仍然是设计二进制比较器时的瓶颈[6]。但由于存在log2 N级比较,这在大范围应用中并不可接受。此外,无法计算等于(不支持)。最近,许多论文提出了降低开关活动的方法[9]。
为了降低开关活动中的动态功耗损耗,已在电路[7]中引入了时钟信号。然而,当输入位数较多时,该方法存在时钟信号负载过大的问题。另一种方法是采用逐位比较,其中仅当最高有效位等于[8]时,才从最高有效位到最低有效位进行逐位比较。但该方法存在局限性,即与位同步会导致寄生电容增加和功耗增大。
在本论文中,提出了一种低功耗且面积高效的N位并行二进制比较器。该比较器采用传统的异或门和新型的异或‐同或门设计而成。设计互连以优化电路中的寄生电容的方式进行排列。与现有算法相比,提出的算法提高了性能,并减少了面积和功耗。
其余论文组织如下。在第2节中,解释了设计并行二进制比较器的现有技术。第3节介绍了基于前缀树和新型异或‐同或作为预编码器的N位并行二进制比较器设计。第4节展示了仿真结果和图表。第5节对论文进行了总结,并给出了关键评述。
2 现有的并行二进制比较器
现有的并行二进制比较器[11]由比较解析模块和决策模块组成,如图2所示。在比较解析模块中,采用具有五个层级阶段的前缀树结构来处理不同的输入位宽,输出为两条N位总线,称为左总线和右总线。来自总线的输出被送入决策模块,通过决策型OR网络确定二进制比较器的输出。
并行前缀树的设计基于对两个输入的二进制操作数进行异步逐位比较的原理,这些二进制操作数在输入端给出。考虑一种情况:两个输入二进制操作数A、B的位宽为N位,从第0位为最低有效位(LSB)到ðN−1Þ位为最高有效位(MSB)。前缀树结构包含一个编码器,比较从最高有效位(MSB)到最低有效位(LSB)进行,结果存储在N位的左总线和右总线上。在并行前缀树中,当高位不相等时,通过终止对最低有效位的比较来降低开关活动,因此两个总线中仅有一个总线具有一个高位[11]。
决策模块通过两个或网络接收左总线和右总线的输入,并判断哪个二进制输入更大或更小。
例如,图3展示了对两个二进制操作数A = 11010111和B = 11101000的8位比较。首先预编码器比较A和B,并将输出传递到下一阶段。两个N位总线被送入决策模块[11]。最高有效位A7 = 1和B7 = 1作为L7和R7 = 0;A6 = B6 = 1作为L6和R6 = 0;A5 = 0和B5 = 1作为L5 = 0和R5 = 1,并终止比较,其余左总线和右总线无论输入操作数如何均置零。由于右总线包含一个高位,因此可以得出A小于B的结论。
上述提到的二进制比较器易于实现,并且由于采用并行架构,二进制比较器的总延迟较低。但由于存在两条独立的总线用于检测大于和小于条件,导致面积和功耗较高。为了克服这些限制,该论文提出了一种单总线比较器架构来检测大于和小于条件。
3 N位并行二进制比较器的新方法
3.1 基本设计原理
两个4位二进制数(A3A2A1A0)和(B3B2B1B0)的比较可以通过以下方程实现。其中,小于用L表示,大于用G表示,等于用E表示。
对于4位:
$$
A > B \Rightarrow G[3:0] = A_3 \overline{B_3} + X_3 A_2 \overline{B_2} + X_3 X_2 A_1 \overline{B_1} + X_3 X_2 X_1 A_0 \overline{B_0}
$$
$$
A = B \Rightarrow E[3:0] = X_3 X_2 X_1 X_0
$$
$$
A < B \Rightarrow L = \overline{A > B + A = B} = \overline{G + E}
$$
其中 $ X_i = \overline{A_i \oplus B_i} = A_i B_i + \overline{A_i} \overline{B_i} $
对于N位:
$$
AG[N−1:0] = A_{N−1}\overline{B_{N−1}} + X_{N−1}A_{N−2}\overline{B_{N−2}} + X_{N−1}X_{N−2}A_{N−3}\overline{B_{N−3}} + \cdots + X_{N−1} \cdots X_4 (A_3\overline{B_3} + X_3 A_2\overline{B_2} + X_3 X_2 A_1\overline{B_1} + X_3 X_2 X_1 A_0\overline{B_0})
$$
$$
AE[N−1:0] = X_{N−1}X_{N−2} \cdots X_1 X_0
$$
$$
AG[N−1:0] = A_{N−1}E_{N−1} + X_{N−1}A_{N−2}E_{N−2} + \cdots + X_{N−1} \cdots X_4 (A_3E_3 + X_3 A_2E_2 + X_3 X_2 A_1E_1 + X_3 X_2 X_1 A_0E_0)
$$
上述方程形式的实现是所提出架构的基本部分。
3.2 使用传统异或门的提出并行二进制比较器 [提出的架构1 (PA1)]
在并行二进制比较器中,无论位宽如何,二进制比较器都使用预编码器来比较输入操作数。第二阶段由决策模块组成,用于决定逻辑操作。二进制比较器包含两个输入操作数和三个输出。然而它并不是必须计算这三个输出以获得所需的输出。小于用L表示,大于用G表示,等于用E表示。
表1显示了二进制比较所需的逻辑条件。可以看出,$ L = \overline{G + E} $通过简单的或非操作实现。
| G | L | E |
|---|---|---|
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 1 |
表1 二进制比较器的基本逻辑条件
基本比较算法从:
- 输入操作数的每一位都被送入预编码器,以检查操作数是否相等。
- 如果两个操作数相等,则比较器将输出E置为逻辑1。
- 如果操作数不相等,则从最高有效位到最低有效位检查预编码器的输出,找到对应输出为逻辑1的位(例如第k位为逻辑1),其中k的取值范围为0到N−1。
- 若对应的输入Ak = 1,则G被置为逻辑1,否则L被置为逻辑1。
所提出的技术根据[11]将晶体管数量减少了50%。该二进制比较器通过决策模块计算大于条件(G),小于条件(L)则由前一结果推导得出。
使用传统异或门的并行二进制比较器(PA1)如图4所示。所使用的异或门数量等于输入操作数的位数。
图5中所示的算法用于实现PA1。决策模块计算A > B(大于),其中A和B是两个输入操作数。通过降低开关活动和减少晶体管数量,可以降低功耗。两个输入二进制操作数被送入预编码器,以比较各位是否相等。这些输出被送至或非级和与级,分别执行相等或大于的功能。如果位相等,则处理下一位;否则,或非级作为终止网络,在必要时终止最低有效位比特。
在PA1中,面积(晶体管数量)、功耗和延迟性能相比现有技术[11]分别增加了30、23和27%。前一章节重点关注门级的优化。后续章节将重点讨论PA1预编码器阶段在晶体管级的改进。
3.3 新型异或‐同或
新型异或‐同或是基于传输门逻辑的。它被用作基于新型异或‐同或门(PA2)的并行二进制比较器的预编码器。
新型异或‐同或由八个晶体管组成,用于同时产生异或和同或输出。与传统的14晶体管模型相比,这种新方法减少了6个晶体管数量[12],因此优化了功耗和面积。但另一方面,这种新型异或‐同或在速度上受到限制。
如图6所示,有六个晶体管(M1–M6)(包括4个PMOS和2个NMOS晶体管),不包括反相器中的两个晶体管。PMOS和NMOS晶体管经过优化设计以克服传输晶体管逻辑的传统驱动限制。该拓扑使用交叉耦合逻辑连接来增强驱动能力。
3.4 使用新型异或‐或非门的并行二进制比较器 [提出的架构2(PA2)]
通过优化晶体管级模块,可以进一步提升架构PA1的功耗和面积性能。利用异或和同或作为基本模块对PA1架构进行改进,从而得到所提出的图7所示的PA2架构。图5中所示的算法也被用于实现PA2。所提出的使用新型异或‐或非门的并行二进制比较器(PA2)相较于PA1减少了晶体管数量和功耗。
所提出的架构分为比较终止网络、预编码器、比较模块和决策模块。在预编码器阶段,PA2使用了新型异或‐或非门。在PA2中,面积(晶体管数量)和功耗性能分别比PA1提高了14和8%。
4 结果
4.1 面积、功耗和延迟性能
所提出的电路仿真在一台配备英特尔酷睿i5处理器、2.53吉赫主频和8.00吉字节内存的计算机上,使用CMOS 180纳米技术软件完成。仿真结果表明,比较器对所有可能的输入组合均给出正确的输出。
所有输入组合的异或和同或输出的仿真结果如图8所示。整体面积性能比较如图9所示。可以看出,与现有架构相比,所提出的架构PA1的晶体管数量增加了30%,PA2的晶体管数量增加了36%。
如图10所示,与现有架构相比,所提出的架构在功耗方面分别增加了23%(PA1)和25%(PA2)。
晶体管总数的减少改善了面积性能,从而降低了寄生电容。
从图11可以看出,与现有架构相比,所提出的架构的延迟分别降低了27和25%。由于电容的充电时间减少,时间常数(τ = RC)也会减小。延迟与时间常数成正比。
5 结论
在本文中,提出了一种低功耗且面积高效的N位并行二进制比较器。所提出的架构中,PA1采用传统的异或门作为预编码器进行设计,PA2则采用新型的异或‐或非门作为预编码器进行设计。该设计的互连结构被安排成能够优化电路中的寄生电容。第一种架构PA1采用了一种新颖的设计方法,在面积(晶体管数量)、功耗和延迟性能上分别比现有技术[11]提升了30、23和27%。
在PA2中,面积(晶体管数量)和功耗性能分别提高了14和8%,相较于PA1。

2920

被折叠的 条评论
为什么被折叠?



