新闻中心

EEPW首页 > 设计应用 > 基于嵌入式算法容噪技术的低功耗近似乘法器

基于嵌入式算法容噪技术的低功耗近似乘法器

作者:何进,衣溪琳,张子骥,贺雅娟时间:2019-08-12来源:电子产品世界收藏

  何 进,衣溪琳,张子骥,贺雅娟(电子科技大学 电子科学与工程学院,四川 成都 610054)

本文引用地址:http://www.eepw.com.cn/article/201908/403612.htm

  摘 要:本文提出一种可靠的近似设计方案,该方案基于嵌入式,并且通过阈值的合理选择简化了传统嵌入式容噪方案中的检错纠错模块。我们根据这样的思路基于SMIC 180 nm工艺设计了相应的8比特乘8比特的近似。该在450 MHz的工作频率最低可以工作在1.2 V的电源电压下。与传统的阵列乘法器相比,在相同的工作频率和MSE条件下,传统乘法器可以工作在1.6 V左右,该乘法器可以工作在1.2 V左右,此时功耗可以下降约40%;与论文[1]中的嵌入式算法容噪乘法器相比,功耗可以下降约16%。

  关键词:;乘法器;

  0 引言

  随着集成电路的不断发展,芯片的功率密度越来越大,功耗问题成为集成电路设计工程师最关心的问题之一。在无线传感网络,便携式设备,可植入式医疗设备中,系统对芯片的功耗有严格的限制 [2,4] 。我们知道,集成电路的总功耗可以分为动态功耗和静态功耗,动态功耗和静态功耗均与芯片电源电压密切相关,尤其是动态功耗与电源电压的平方成正比。因此,降低芯片的电源电压是降低芯片功耗的最有效的方法 [1] 。但是随着电源电压的降低,电路的关键路径延迟也会相应增大,此时必须降低芯片工作频率,否则关键路径延迟会超过时钟周期,导致芯片功能出错。然而很多应用场景要求一定的吞吐量,芯片的工作频率会有固定的限制。因而,在工作频率固定的前提下,电源电压的下降被芯片的工作频率限制了。一般在集成电路设计的时候,为了保证电路工作的可靠性,设计者还需要保留足够的时序裕量来应对制造过程中的工艺偏差,噪声干扰等因素的影响,这些时序的裕量往往是通过电压的裕量来体现的。因此,电路实际可以工作的最小工作电压应该大于理论的临界电压,也就是关键电压 [3]

  对于数字信号处理的应用来说,不需要芯片得到绝对精确的结果,接近真实结果的近似值就能满足人类感官的需求。在这些应用当中,可以通过牺牲芯片结果的部分精度来降低芯片的功耗和面积。为了进一步降低芯片的工作电压,改善芯片在下的可靠性,Naresh RShanbhag等人提出 [3] 。该技术针对非精确计算的场景,比如数字信号处理器,神经网络加速器[5][6][7] 等等。该技术与电压缩放技术结合,通过额外的检错和纠错电路补偿因电压过度缩放(VOS)而导致的软错误,使电路的输出的整体结果在下达到一个可以接收的程度。因此,算法容噪技术降低了电路的最小工作电压,降低了电路的功耗并且提升了电路在低压下的稳定性。

  但是算法容噪技术有两部分的硬件冗余:一部分是“估计器”,它用来产生一个近似值,是检错纠错的基础;另1部分是“检错纠错模块”。为了解决第一部分冗余,Sai Zhang等人提出嵌入式算法容噪技术的概念,并解释了如何通过数据通路分解来把估计器嵌入到主运算电路当中,从而减小甚至完全抹去第一部分冗余 [1]

  但是第2部分冗余仍然没有做任何优化。对于比较大的电路来说,第2部分冗余占的比例比较小,因此不会太关注。但是对于小规模的乘法器,第2部分冗余仍然是比较重要的。本文主要是通过优化第2部分硬件冗余来进一步降低嵌入式算法容噪技术的功耗和面积。

  本文基于SMIC 180 nm工艺,针对基于嵌入式算法容噪技术的乘法器提出一种合理的优化其检错纠错模块的方法。由于优化了检错纠错模块,使整个电路的面积和功耗有较为明显的下降。

  1 算法容噪技术介绍

  算法容噪技术(ANT)的基本框架如图1所示:包括1个主计算模块,1个估计器,1个检错纠错模块。算法容噪技术需要和电压缩放技术(VOS)结合起来:电压缩放技术降低电源电压,从而降低电路功耗;而算法容噪技术负责补偿由于电压过度缩放而导致的软错误。

  其具体工作原理是:当电路的电源电压缩放到关键电压以下时,运算电路就会发生软错误,并且软错误总是优先在结果的高位发生,此时会导致信号的精度严重下降。在算法容噪系统中,估计器需要同步输出主计算模块的估计值,并且在电压缩放的范围内,估计器本身应该保证不发生软错误。检错纠错模块通过比较主计算模块的输出和估计器的输出的差值是否大于预设的阈值来判断主计算模块的高位是否出现了软错误。如果检测到结果的高位出现了软错误,说明主计算模块的结果误差很大,此时就使用估计器的输出作为整个系统最终的输出;否则,就使用主计算模块的输出作为整个电路最终的输出,如公式(1)所示。

1565678351965620.png

1565678664681252.jpg

  通过这样的补偿方式,算法容噪技术最终通过引入一个较小的误差,来保证整个系统的整体输出仍然满足近似电路的指标要求。

1565678657186313.jpg

  然而,由于加入了估计器和检错纠错模块,算法容噪技术也带来了比较大的额外的硬件开销。嵌入式算法容噪技术把原始的计算过程进行分解成了主要部分和次要部分两个部分。用来计算主要部分的电路作为估计器,主要部分和次要部分的和作为主计算模块的结果,这样就实现了把估计器嵌入到了主计算模块,从而解决了估计器带来的硬件开销。

  2 检错纠错模块的改进

  尽管嵌入式算法容噪技术可以去掉估计器的硬件消耗,但是没有对检错纠错模块中的开销进行优化。由于这部分的硬件开销是比较确定的,即1个加法器,1个取绝对值模块,1个比较器,1个多路复用器等。因此这些硬件开销对于大的设计来说所占比例较小,但是对于小规模的运算模块例如乘法器还是很重要的。

  为了进一步简化检错纠错模块,我们提出了通过阈值的优化选择来优化这一部分的硬件复杂度。对于一般的阈值,检错纠错模块需要进行相减,取模,比较,才能生成正确的选择信号。但是我们发现适量缩放阈值大小后,只需要简单的相等判断逻辑就可以生成正确的选择信号。

1565678624450659.jpg

1565678625839720.jpg

  一般的算法容噪技术的阈值由公式(2)确定:

1565678415322286.png

  即理论的阈值就是针对任意的输入,在不发生软错误的情况下,估计器和主计算模块的最大差值。对于如图3所示的8乘8的嵌入式算法容噪技术乘法器来说,它的理论阈值等于主计算模块中除去估计器的部分的最大值。因此,取,x1=8'b1111_1111,x2=8'b1111_1111此时得到的差值就是最大差值。根据其实现的过程,可以得到

1565678394831745.png

  为了减少检错纠错模块的硬件消耗,我们可以合理地调节这个阈值。例如,可适当增加或者减小这个阈值,使之变成 2 1n− 。对于上述的8乘8的嵌入式算法容噪乘法器,我们可以调节阈值为Th=31=8'b0001_1111。这样我们就可以通过比较主计算模块和估计器的输出的最高几位是否相等来判断主计算模块是否发生软错误。如图4,从而去掉了检错纠错模块所需要的加法器、取模模块、大小比较器,降低了其硬件复杂度。通过阈值缩放,我们可以将加法器,绝对值模块,比较器最终用几个同或门来代替,大大降低了检错纠错模块的硬件复杂度。

  3 仿真结果比较

  3.1 仿真条件和设置

  根据前面的思路,我们设计了一个8乘8的改良型嵌入式算法容噪乘法器(MDPD),并且基于SMIC 180 nm工艺对该乘法器、传统阵列乘法器(DIR)和嵌入式算法容噪乘法器(DPD)进行了相同条件的仿真实验,并且对它们的仿真结果进行了对比。

  我们用同一组随机数据作为乘法器的输入,仿真了三种乘法器结构在各个电压450 MHz的采样频率下的均方误差(MSE)和功耗。为了正确反应电路在不同电压下的实际表现,我们采用nanosim和VCS对3种乘法器结构进行了晶体管级的混合仿真。

  3.2 MSE的比较

  均方误差(mean-square error,MSE)是反映估计量与被估计量之间差异程度的一种度量,可以用来衡量近似电路与的近似效果。如果均方误差小,说明近似电路的近似效果好。

  我们从1.0 V~1.8 V每间隔0.02 V取一个电压进行了仿真,得到了如图5所示的3种乘法器结构的均方误差随电压变化的曲线图。从图上可以看到基于算法容噪技术的乘法器对于软错误有比较好的容错能力,在1.2 V之前其均方误差都没有明显的上升,而普通的阵列乘法器的均方误差随电压下降上升明显。因此,在相同的均方误差下,算法容噪的乘法器MDPD和DPD可以工作在更低的电压,大约可以下降0.4 V。

1565678593823875.jpg

  3.3 功耗对比

  对应于实验使用的电源电压,得到了3种结构在不同的电压下的功耗。MDPD和DPD得益于主计算模块的近似实现,因此主计算模块比阵列乘法器DIR硬件开销小。而经过我们优化过后的MDPD就有比较明显的功耗降低。如图6所示,在1.8 V的电源电压下,MDPD的功耗比DPD小约16%。

1565678570353565.jpg

  4 结论

  在这篇文章中,我们针对算法容噪技术进行了改进,通过优化了嵌入式算法容噪技术乘法器的检错纠错模块。在保留了嵌入式算法容噪技术的基本功能和性能的同时,改进的嵌入式算法容噪乘法器在450MHz的工作频率下最低可以工作到1.2 V,相比普通的阵列乘法器最低工作电压可以下降0.4 V,相比改良前的嵌入式算法容噪乘法器,功耗可以下降约16%。

  参考文献

  [1] Zhang S, Shanbhag N R.Embedded Algorithmic Noise-Tolerance for Signal Processing and Machine Learning Systems viaData Path Decomposition. IEEE Transactions on Signal Processing, 2016,64(13): 3338-3350.

  [2] Abdallah R A, Shanbhag N R. An Energy-Efficient ECG Processor in 45-nm CMOS Using Statistical Error Compensation. IEEEJournal of Solid-State Circuits, 2013,48(11): 2882-2893.

  [3] Shim B, Sridhara S R,Shanbhag N R. Reliable low-power digital signal processing via reduced precision redundancy. IEEETransactions on Very Large Scale Integration (VLSI) Systems, 2004,12(5):497-510.

  [4] Wey I, Peng C C, Liao F Y. Reliable Low-Power Multiplier Design Using Fixed-Width Replica Redundancy Block[J]. IEEETransactions on Very Large Scale Integration Systems, 2015, 23(1):78-87.

  [5] Lin Y, Zhang S, Shanbhag N R. Variation-Tolerant Architectures for Convolutional Neural Networks in the Near ThresholdVoltage Regime[C]. IEEE International Workshop on Signal Processing Systems. IEEE, 2016.

  [6] Zhang S, Shanbhag N R. Embedded error compensation for energy efficient DSP systems.2014:30-34.

  [7] Zhang S, Shanbhag N R. Reduced overhead error compensation for energy efficient machine learning kernels. 2015:15-21.

  作者简介:

  何进 (1993-),男,硕士研究生,主要研究方向:数字集成电路设计。

  贺雅娟 (1978-),女,副教授,主要研究方向:专用集成电路与系统、超低压超低功耗数字集成电路设计等。

  本文来源于科技期刊《电子产品世界》2019年第8期第46页,欢迎您写论文时引用,并注明出处




评论


相关推荐

技术专区

关闭