CN104239279A - 一种乘法器 - Google Patents
一种乘法器 Download PDFInfo
- Publication number
- CN104239279A CN104239279A CN201410459796.7A CN201410459796A CN104239279A CN 104239279 A CN104239279 A CN 104239279A CN 201410459796 A CN201410459796 A CN 201410459796A CN 104239279 A CN104239279 A CN 104239279A
- Authority
- CN
- China
- Prior art keywords
- input end
- unit
- numerical digit
- output terminal
- multiplier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Complex Calculations (AREA)
Abstract
本发明适用于领域,提供了一种数位并行乘法器,包括输入端A、输入端B0...BP-2BP-1、输出端C及计算单元,所述输入端A及输入端B0...BP-2BP-1分别输入计算单元,经过计算处理后自所述计算单元的输出端C输出,所述计算单元输出的计算公式:C=R(AB0+AB1xd+…+ABp-1xd(p-1))modF(x),其中,R是一个非零多项式,x是不可约多项式F(x)的一个根,d是分割长度,p是分割的段数,mod F(x)是对所得结果进行约减,即求模运算。本申请中提到的乘法器具有空间复杂度低,具有面积小、功耗低,提高计算效率,具有可扩展性。
Description
技术领域
本发明属于数字编码领域,尤其涉及一种低复杂度数位串行并可扩展以为多项式基乘法器。
背景技术
Diffie-Hel Iman秘钥交换、数字签名、椭圆曲线密码器和配对密码器等应用都涉及有限域乘法器计算。对于配对密码器,基于椭圆曲线运算的Weil和Tate配对需要大量计算,其操作参数属于超大有限域。例如,要128位的堆成密码安全,基于超奇异椭圆曲线的Tate配对需要在复合域GF(24×1223)进行运算。因此,如何有效在硬件上设计在超大有限域上的乘法运算是一个巨大挑战,特别是在资源有限的硬件上。
对于GF(2m)有限域乘法的硬件实现,不可约多项式F(x)的最佳选择是一个低位多现实,例如三项多现实和五项多项式。文献[6]提到了不是所有的域都存在三项多项式,但对于M>4的有限域肯定存在五项多项式。为了有效实现乘法运算,文献[7]提出了一种变形的多项式基地,叫位移多项式基(Shifted Polynomial Basis,SPB).由于这种位移多项式基能够在时间或空间上有效实现有限域乘法运算,文献[8]和[9]多种基于此基地的乘法器。对于一些五项多项式,文献[10]和[11]给出了特定m值得位移多项式乘法器。最近,文献[12]提出了一种一般化的多项式基(GeneralizedPolynomial Basis,GPB)乘法器,并给出位移多项式基是一般化多项式基的一种。
文献[13]至文献[21]提出多种乘法器架构,这些乘法器架构可分为两类,一种是脉动结构,另一种是非脉动结构。一般地,脉动结构的乘法器能够提供更高的吞吐量,同时由于高频率操作,所消耗的能量很高。除此之外,脉动结构原本在域的最小平方根运算具有很高延迟,并需要大量的暂存器。此外,高频率操作和高吞吐量的脉动结构并不适用于大多数实际应用。因此,为了避免脉动结构的缺点,在二位元扩域和素数域中,一些非脉动结构并可扩展乘法器被提出。这种可扩展特性是利用硬件折叠来确定部分积的数量,以此获得完整的乘法结果,从而能够在时间和空间复杂度上取得平衡。文献[15]、[19]和[21]的可扩展乘法器是基于固定大小d×d的Hanke I矩阵向量乘积(Hanke I Matrix-Vector Product,HMVP)方法设计。利用经典的分割方法,完整的乘法结果是通过部分积得到的。选择合适的HMVP结构能够产生比经典数位串行乘法器更低延迟的架构。
利用分而治之的方法,Karatsuba-Ofman方法(Karatsub-OfmanAlgorithm,KA)能够提供一种有效分割方法,实现低延迟乘法运算。为了进一步降低延迟,文献[23]已经给出5、6和7分割方法。文献[24]讲这种方法引用到次二次Toeplitz矩阵向量乘积(Toeplitz Matrix-VectorProduct,TMVP)中,来实现有限基于优化的正规基,对偶基和位移多项式基。最近,文献[25]提出了一种利用次二次TMVP方法设计的低延迟数位串行脉动结构的双基底乘法器。文献[26]也提出一种基于Karatsuba方法的数位串行脉动结构乘法器,具有低延迟特性。
[6]G.Seroussi,“Table of low-weight binary irreducible polynomials,”Hewlett-Packard Laboratones,Palo Alto,CA,Tech.Rep.HPL-98-135,Aug.1998.
[7]H.Fan and Y.Dai,“Fast Bit-Parallel GF(2n)Multiplier for AllTrinomials,”IEEE Trans.Computers,vol.54,no.4,pp.485-490,2005.
[8]H.Fan and M.Hasan,“Fast Bit Parallel Shifted Polynomial BasisMultipliers in GF(2n),”IEEE Trans.Circuits and Systems I:Regular Papers,vol.53,no.12,pp.2606-2615,2006.
[9]S.-M.Park and K.-Y.Chang,“Fast Bit-Parallel Shifted PolynomialBasis Multiplier Using Weakly Dual Basis Over GF(2m),”IEEE Trans.VLSISyst.,vol.19,no.12,pp.2317-2321,2011.
[10]A.Cilardo,“Efficient Bit-Parallel GF(2m)Multiplier for a LargeClass of Irreducible Pentanomials,”IEEE Trans.Computers,vol.58,no.7,pp.1001-1008,2009.
[11]J.L.Ima~na,“Efficient Polynomial Basis Multipliers for Type-IIIrreducible Pentanomials,”IEEE Trans.on Circuits and Systems,vol.59-II,no.11,pp.795-799,2012.
[12]A.Cilardo,“Fast Parallel GF(2m)Polynomial Multiplication for AllDegrees,”IEEE Trans.Computers,vol.62,no.5,pp.929-943,2013.
[13]P.K.Meher,“Systolic and Super-Systolic Multipliers for Finite FieldGF(2m)Based on Irreducible Trinomials,”IEEE Trans.Circuits and Systems I:Regular Papers,vol.55,no.4,pp.1031-1040,2008.
[14]C.-Y.Lee,E.H.Lu,and J.Y.Lee,“Bit-Parallel Systolic Multipliersfor GF(2m)Fields Defined by All-One and Equally Spaced Polynomials,”IEEE Trans.Computers,vol.50,no.5,pp.385-393,2001.
[15]Y.Y.Hua,J.-M.Lin,C.W.Chiou,C.-Y.Lee,and Y.H.Liu,“Lowspace-complexity digit-serial dual basis systolic multiplier over Galois fieldGF(2m)using Hankel matrix and Karatsuba algorithm,”IET InformationSecurity,vol.7,no.2,p.V86,2013.
[16]J.-C.Jeon,K.-W.Kim,and K.-Y.Yoo,“A novel approach forbit-serial AB2 multiplication in finite fields GF(2m),”Computers &Mathematics withApplications,vol.51,no.6-7,pp.1103-1112,2006.
[17]M.Morales-Sandoval,C.F.Uribe,and P.Kitsos,“Bit-serial anddigit-serial GF(2m)Montgomery multipliers using linear feedback shiftregisters,”IET Computers & Digital Techniques,vol.5,no.2,pp.86-94,2011.
[18]C.W.Chiou,H.W.Chang,W.-Y.Liang,C.-Y.Lee,J.-M.Lin,andY.-C.Yeh,“Low-Complexity Gaussian Normal Basis Multiplier over GF(2m),”IET Information Security,vol.6,no.4,pp.310-317,2012.
[19]L.H.Chen,P.L.Chang,C.-Y.Lee,and Y.K.Yang,“Scalable andSystolic Dual Basis Multiplier over GF(2m),”IntlJournal of InnovativeComputing,Information and Control,vol.7,no.3,pp.1193-1208,Mar.2011.
[20]A.Hariri and A.Reyhani-Masoleh,“Digit-Serial Structures for theShifted Polynomial Basis Multiplication over Binary Extension Fields,”in Proc.LNCS Intl workshop Arithmetic of Finite Fields(WAIFI),ser.LNCS,vol.5130,2008,pp.103-116,2008.
[21]C.-Y.Lee and C.Chiou,“Scalable Gaussian Normal Basis Multipliersover GF(2m)Using Hankel Matrix-Vector Representation,”Journal of SignalProcessing Systems,vol.69,no.2,pp.l97-211,2012.
[22]A.Karatsuba andY.Ofman,“Multiplication of Multidigit Numberson Automata,”ISoviet Physics-Doklady(English translation),vol.7,no.7,pp.595-596,1963.
[23]P.Montgomery,“Five,six,and seven-term karatsuba-like formulae,”IEEE Trans.Computers,vol.54,no.3,pp.362-369,2005.
[24]H.Fan and M.Hasan,“Subquadratic computational complexityschemes for extended binary field multiplication using optimal normal bases,”IEEE Trans.Computers,vol.56,no.10,pp.14-35,2007.
[25]J.-S.Pan,R.Azarderakhsh,M.M.Kermani,C.-Y.Lee,W.-Y.Lee,C.W.Chiou,and J.-M.Lin,“Low-Latency Digit-Serial Systolic Double BasisMultiplier Over GF(2m)Using Subquadratic Toeplitz Matrix-Vector ProductApproach,”IEEE Trans.Computers,vol.63,no.5,pp.1169-1181,2014.
[26]J.-S.Pan,C.-Y.Lee,and P.K.Meher,“Low-latency digit-serial anddigit-parallel systolic multipliers for large binary extension fields,”IEEE Trans.Circuits and Systems-I,vol.60,no.12,pp.3195-3204,2013.
发明内容
本发明的目的在于提供一种低复杂度数位串行并可扩展以为多项式基乘法器,旨在解决现有技术中乘法器存在的问题。
本发明是这样实现的,一种数位并行乘法器,该数位并行乘法器包括输入端A、输入端B0...BP-2BP-1、输出端C及计算单元,所述输入端A及输入端B0...BP-2BP-1分别输入计算单元,经过计算处理后自所述计算单元的输出端C输出,所述计算单元输出的计算公式:
C=R(AB0+AB1xd+…+ABp-1xd(p-1))mod F(x),其中,R是一个非零多项式,x是不可约多项式F(x)的一个根,d是分割长度,p是分割的段数,mod F(x)是对所得结果进行约减即求模运算。
本发明的进一步技术方案是:所述计算单元需要时钟周期用于完成A和B的乘法运算,其中每个时钟周期的间隔为T=TA+(1+3logbn)TX,TA和TX分别表示一个AND逻辑门和一个XOR逻辑门的延迟。
本发明的进一步技术方案是:所述计算单元包括EP1模块、第一运算模块、第二运算模块及加法器,所述输入端A输入所述EP1模块输入端,所述EP1模块输出端分别输入所述第一运算模块及第二运算模块的输入端,所述输入端B0...BP-2BP-1依次输入所述第一运算模块及第二运算模块中的EP2单元的输入端,所述第一运算模块及第二运算模块的输出端分别输入加法器输入端,经所述加法器运算后输出,所述第二运算模块为多个依次平行设置。
本发明的进一步技术方案是:所述第一运算模块包括EP2单元、PWM单元及重构单元,所述EP2单元输出端连接所述PWM单元输入端,所述PWM单元输出端连接所述重构单元输入端。
本发明的进一步技术方案是:所述第二运算模块包括EP2单元、PWM单元、重构单元及移位单元,所述EP2单元输出端连接所述PWM单元输入端,所述PWM单元输出端连接所述重构单元输入端,所述重构单元输出端连接所述移位单元输入端。
本发明的另一目的在于提供一种数位串行乘法器,该乘法器包括权利要求1-3任一项所述的数位并行乘法器、累加单元及FPR单元,所述数位并行乘法器输出端连接所述累加单元输入端,所述累加单元输出端连接所述FPR单元输入端,经过计算处理后自所述FPR单元的输出端输出,所述累加单元由(n+d-1)个XOR逻辑门构成,用于计算当前部分积AiBi和暂存器<D>保存的值D的和;所述FPR单元实现计算输出C,其公式:C=RD mod F(x),其中,R是一个非零多项式,D是A和B乘积结果,mod F(x)是对所得结果进行约减即求模运算。
本发明的进一步技术方案是:所述累加单元包括加法器、暂存器D及移位模块,所述加法器输出端连接所述暂存器D输入端,所述暂存器D输出端连接所述移位模块输入端,所述移位模块输出端连接所述加法器输入端。
本发明的另一目的在于提供一种可扩展SPB/GPB的乘法器,所述乘法器包括权利要求1-5任一项所述的数位并行乘法器、控制单元、两个操作数生成电路、暂存器A、暂存器B、数位对齐电路及FPR单元,所述暂存器A的输出端经一所述操作数生成电路连接所述数位并行乘法器输入端,所述暂存器B的输出端经一所述操作数生成电路连接所述数位并行乘法器输入端,所述控制单元的输出端分别连接两个所述操作数生成电路的输入端和所述数位对齐电路的输入端,所述数位并行乘法器输出端连接所述数位对齐电路的输入端,所述数位对齐电路的输出端连接所述FPR单元的输入端,经所述FPR单元运算输出C,其C公式:C=RD mod F(x),两个所述操作数生成电路的计算公式分别为:
本发明的进一步技术方案是:所述操作数生成电路包括两个控制器MUX及加法器,两个所述控制器的输出端分别输入所述加法器的输入端。
本发明的进一步技术方案是:所述数位对齐电路包括控制总线、加法器及暂存器D,所述控制总线输出端连接所述加法器输入端,所述加法器输出端连接所述暂存器D输入端,所述暂存器D输入端连接所述加法器输入端,所述控制总线输入所述加法器线路上的位数为:(2m-1)-bit。
本发明的有益效果是:本申请中提到的乘法器具有空间复杂度低,具有面积小、功耗低,提高计算效率,具有可扩展性。在实际应用中,满足实际需求情况前提下,所提到的乘法器能够在时间和空间上取得平衡。所设计的乘法器是有规则的,模块化,易于在大规模集成电路上实现,可应用在数字签名、椭圆曲线密码器、配对密码器等应用中。
附图说明
图1是现有的KA结构功能块;
图2是基于(4,2)路KA分解方法的乘法器上层结构;
图3是本发明实施例提供的数位并行乘法器的结构图;
图4是本发明实施例提供的数位串行乘法器的结构图;
图5是本发明实施例提供的可扩展SPB/GPB乘法器的结构图。
具体实施方式
图3示出了本发明提供的一种数位并行乘法器,该数位并行乘法器包括输入端A、输入端B0...BP-2BP-1、输出端C及计算单元,所述输入端A及输入端B0...BP-2BP-1分别输入计算单元,经过计算处理后自所述计算单元的输出端C输出,所述计算单元输出的计算公式:
C=R(AB0+AB1xd+…+ABp-1xd(p-1))mod F(x),其中,R是一个非零多项式,x是不可约多项式F(x)的一个根,d是分割长度,p是分割的段数,mod F(x)是对所得结果进行约减即求模运算。
所述计算单元需要时钟周期用于完成A和B的乘法运算,其中每个时钟周期的间隔为T=TA+(1+3logbn)TX,TA和TX分别表示一个AND逻辑门和一个XOR逻辑门的延迟。
所述计算单元包括EP1模块、第一运算模块、第二运算模块及加法器,所述输入端A输入所述EP1模块输入端,所述EP1模块输出端分别输入所述第一运算模块及第二运算模块的输入端,所述输入端B0...BP-2BP-1依次输入所述第一运算模块及第二运算模块中的EP2单元的输入端,所述第一运算模块及第二运算模块的输出端分别输入加法器输入端,经所述加法器运算后输出,所述第二运算模块为多个依次平行设置。
所述第一运算模块包括EP2单元、PWM单元及重构单元,所述EP2单元输出端连接所述PWM单元输入端,所述PWM单元输出端连接所述重构单元输入端。
所述第二运算模块包括EP2单元、PWM单元、重构单元及移位单元,所述EP2单元输出端连接所述PWM单元输入端,所述PWM单元输出端连接所述重构单元输入端,所述重构单元输出端连接所述移位单元输入端。
图4示出了本发明提供的一种数位串行乘法器,该乘法器包括数位并行乘法器、累加单元及FPR单元,所述数位并行乘法器输出端连接所述累加单元输入端,所述累加单元输出端连接所述FPR单元输入端,经过计算处理后自所述FPR单元的输出端输出,所述累加单元由(n+d-1)个XOR逻辑门构成,用于计算当前部分积AiBi和暂存器<D>保存的值D的和;所述FPR单元实现计算输出C,其公式:C=RD mod F(x),其中,R是一个非零多项式,D是A和B乘积结果,mod F(x)是对所得结果进行约减即求模运算。
所述累加单元包括加法器、暂存器D及移位模块,所述加法器输出端连接所述暂存器D输入端,所述暂存器D输出端连接所述移位模块输入端,所述移位模块输出端连接所述加法器输入端。
图5示出了本发明提供的一种可扩展SPB/GPB的乘法器,所述乘法器包括数位并行乘法器、控制单元、两个操作数生成电路、暂存器A、暂存器B、数位对齐电路及FPR单元,所述暂存器A的输出端经一所述操作数生成电路连接所述数位并行乘法器输入端,所述暂存器B的输出端经一所述操作数生成电路连接所述数位并行乘法器输入端,所述控制单元的输出端分别连接两个所述操作数生成电路的输入端和所述数位对齐电路的输入端,所述数位并行乘法器输出端连接所述数位对齐电路的输入端,所述数位对齐电路的输出端连接所述FPR单元的输入端,经所述FPR单元运算输出C,其C公式:C=RD mod F(x),两个所述操作数生成电路的计算公式分别为:
所述操作数生成电路包括两个控制器MUX及加法器,两个所述控制器的输出端分别输入所述加法器的输入端。
所述数位对齐电路包括控制总线、加法器及暂存器D,所述控制总线输出端连接所述加法器输入端,所述加法器输出端连接所述暂存器D输入端,所述暂存器D输入端连接所述加法器输入端,所述控制总线输入所述加法器线路上的位数为:(2m-1)-bit。
所述乘法器具有的数学背景
1.1 GF(2m)上位移多项式基和一般化多项式基乘法运算
有序集合N={1,x,x2,…,xm-1}被称作二位元扩域上的多项式基,其中x是不可约多项式F(x)的一个根。如果A有限域GF(2m)上一元素,可以表示为A=a0+a1x+…am-1xm-1,其中对于所有i,有ai∈{0,1}。让A、B和C为有限域GF(2m)上三个元素,其中C=AB mod F(x)。一般地,乘积C运算分成两步骤:(1)最大度为2M-2的小学乘法运算D=AB;(2)多项式降阶运算C=D modF(x)。对于有限域GF(2m)上可变基底表示,一般化多项式基定义如下:
定义1.让R为一个非零多项式,集合N={1,x,x2,…,xm-1}为有限域GF(2m)上多项式基。有序集合NR={R,Rx,Rx2,…,Rxm-1}被称作限域GF(2m)上一般化多项式基。
利用一般化多项式基,有限域GF(2m)上一元素可以表示成A和这种映射是双向的。很明显,如果R=x-v,其中v为一个正整数,则一般化多项式基变成位移多项式基。因此,位移多项式基是一般化多项式基的一种特例。
对于有限域GF(2m)上,用一般化多项式基表示的任意两个元素和 和的一般化多项式基乘积可以如下直接得到:
C=RAB mod F(x) (1)
公式(1)中一般化多项式基乘法运算可以分成两步骤进行描述,如下:
步骤1:小学乘法运算
T=AB=t0+t1x+…+t2m-2x2m-2 (2)
其中
步骤2:最终多项式约减(Final Polynomial Reduction,FPR)
C=TR mod F(x) (3)
利用上述两步骤,对三项多项式和少数五项多项式,有效的位并行一般化多项式基乘法器已经在其他文献中提过。文献[7]第一次提出针对三项多项式xm+xn+1位移多项式基乘法器,其中R=x-n。文献[11]和[27],针对II型五项多项式F(x)=xm+xk+1+xk+xk-1+1,提出低空间复杂度的位移多项式基乘法器,其中R=x-k。文献[12],针对C1型五项多项式(xm+xm-1+xk+x+1)和C2型五项多项式(xm+xm-k+xn+xk+1),提出比针对所有五项多项式的位移多项式基乘法器更低的面积复杂度的一般化多项式基乘法器,其中R分别是R=xm-k+xm-1-k+1和R=xm-n+xm-k-n+1。考虑到要提出的乘法器结构,我们只讨论移多项式基/一般化多项式基乘法器的FPR步骤。三项多项式和少数五项多项式的FPR步骤的分析如下:
1)三项多项式:步骤1中的中间乘积T可以重新写成
T=T0+T1xv+T2xm+v (4)
其中
步骤2中,公式(3)所给的乘积C可以如下表示:
C=(T0+T1xv+T2xm+v)mod F(x) (5)
假设有限域是有三项多项式F(x)=xm+xn+1生成,并且若v=n,公式(5)
中乘积 可以表示如下
C=(T0+T1+T2xn)+(T2+T0xm-n)=D0+D1 (6)
其中D0=T0+T1+T2xn,D1=T2+T0xm-n。
D0和D1也可以表示成 和值得注意的是D1并不需要任何硬件资源,但计算D0需要(m-1)个XOR逻辑门和TX逻辑门延迟。计算D0和D1的和需要(m-1)个XOR逻辑门和TX逻辑门延迟。因此对于三项多项式,FPR步骤需要(2m-2)个XOR逻辑门和2TX逻辑门延迟。
表1.三项多项式和一些五项多项式的FPR步骤的复杂度
2)II型五项多项式:选择v=k,II型五项多项式F(x)=xm+xk+1+xk+xk-1+1的FPR步骤可以如下表示:
C=T1+T0(x-1+1+x+xm-k)+
T2(1+xk-1+xk+xk+1)mod F(x) (7)
=(x-1+1+x)(T0+T2xk)+T1+T2+T0xm-kmod F(x)
=D0+D1
其中
D0=(x-1+1+x)(T0+T2xk)+T0x-1
计算公式(7)中D0需要(2m-6)个XOR逻辑门和2TX逻辑门延迟;计算D1需要m个XOR逻辑门和2TX逻辑门延迟。D0和D1的和需要(m+1)个XOR逻辑门和TX逻辑门延迟。因此,II型五项多项式的FPR步骤需要(4m-5)个XOR逻辑门和3TX逻辑门延迟。
3)C1型五项多项式:对此多项式,我们用一般化多项式基进行表示。让R=xm-k+xm-1-k+1=1+xm-k-1(1+x)。C1 x型五项多项式F(x)=xm+xm-1+xk+x+1可以重新写成:
xkR=1+x (8)
xm+kR=xm(1+x)=1+x+xk (9)
因此,乘积C=TR mod F(x)可以表示成:
C=RT0+xkRT1+xm+kRT2mod F(x)
=(1+xm-k-1(1+x))T0+(1+x)T1+(1+x+xk)T2mod F(x) (10)
=(1+x)(T1+T2+xm-k-1T0)+(T0+xkT2)mod F(x)
=D0+D1
其中
D0=(1+x)(T1+T2+xm-k-1T0)+tm+k-1xm
D1=(T0+xkT2)+tm+k-1xmmod F(x)
值得注意的是 和因此,计算D0需要(2m-2)个XOR逻辑门和2TX逻辑门延迟;计算D0需要3个XOR逻辑门和TX逻辑门延迟。D0和D1的和需要m个XOR逻辑门和TX逻辑门延迟。因此,C1型五项多项式的FPR步骤需要(3m+1)个XOR逻辑门和3TX逻辑门延迟。
4)C2型五项多项式:让R=x-nR′,其中R′=1+x。若k<n,C2型五项多项式F(x)=1+xk+xn+xm-k+xm可以表示成:
F(x)=R′+xn+R′xm-k (11)
乘积C=TR mod F(x)可以表示成:
其中
根据公式(11),我们可以得到:
因此,乘积C可以重新表示成:
由于的长度为(m+k-1)位,计算D0mod F(x)需要(4k-4)个XOR逻辑门和TX逻辑门延迟;计算需要(m+k-1)个XOR逻辑门和2TX逻辑门延迟;计算R′D1需要(m-2k)个XOR逻辑门和TX逻辑门延迟。D0和R′D1的和需要m个XOR逻辑门和TX逻辑门延迟。因此,C2型五项多项式的FPR步骤需要(3m+3k-5)个XOR逻辑门和4TX逻辑门延迟。
表1终结了三项多项式和三种五项多项式的FPR单元的复杂度。我们可以发现C1型和C2型五项多项式的空间复杂度比II型五项多项式低。
1.2回顾KA的多路分割法
KA的2路分割法是使用一半长度的3个子乘积替代原始小学乘法运算。
例如,让和是度为M多项式,其中A0,A1,B0和B1是四个度为的多项式。A和B的乘积可以表示成:
基于KA方法,乘法运算可以分成如下三个步骤。
1)生成评价点(Evaluation Point Generation,EPG):多项式A=(A0,A1)被分割成评价点向量EPG(A)=(A0,A0+A1,A1)。类似地,多项式B=(B0,B1)被分割成EPG(B)=(B0,B0+B1,B1)。
2)配对点乘法运算(Point-Wise Multiplication,PWM):PWM阶段是将EPG(A)和EPG(B)进行配对相乘。PWM是在生成评价点后产生三个乘法:
D0=A0B0,D1=(A0+A1)(B0+B1)和D2=A1B1。因此,我们可以定义出:
D=PWM(EPG(A),EPG(B))=(D0,D1,D2) (14)
3)重构(Reconstruction,R):利用配对点乘法运算结果构造出所需的乘法结果,如下:
C=(C0,C1,C2)=R(D)=(D0,D0+D1+D2,D2) (15)
以递归的方式使用此方法,每个多项式都转换成3个度只有原先一般的多项式。这种分解算法最终将每个多项式分解到只有一位。图1显示了基于递归KA算法的乘法运算的架构。这种KA乘法器的复杂度为
为了减少PWM的子乘法数量,我们给出如下定义:
Di=AiBi (16)
Dij=(Ai+Aj)(Bi+Bj) (17)
我们可以使用3路KA方法计算一对三项多项式乘积。A和B可以表示成
A=A0+A1xm/3+A2x2m/3和B=B0+B1xm/3+B2x2m/3,其中每个Ai和Bi是位的多项式。A和B的乘积可以表示成:
C=AB=C0+C1xm/3+C2x2m/3+C3xm+C4x4m/3 (18)
其中
D0=A0B0,D1=A1B1,D2=A2B2
D01=(A0+A1)(B0+B1)
D12=(A1+A2)(B1+B2)
D02=(A0+A2)(B0+B2) 。
C0=D0,C1=D01+D0+D1
C2=D02+D0+D1+D2
C3=D12+D1+D2,C4=D2
根据上述例子,3路KA方法需要6个乘法生成部分积和13个加法。根据上述,一般化的多路KA分解方法,其部分积的个数可以从下面所属得到。
引理1假设A和B都是m多项式。基于n路KA算法,在第一个步骤中,A和B被分解成子多项式。在此情况下,计算C=AB,我们需要个部分积。
二、提出(b,2)路KA分解方法
在本节,我们扩展KA分解方法俩设计所需的数位串行乘法运算结构。p和q为两个正整数,满足n=pq条件。利用y=xq,多项式A=a0+a1x+…an-1xn-1可以表示成:
其中ai,j=ai+qj。
下面,我们呈现一种(4,2)路KA分解方法,并将其泛化成(b,2)路KA分解方法,其中b是一个正整数。
2.1(4,2)路KA分解方法
让A=A0+A1x+A2y+A3xy和B=B0+B1x分别是四项和两项多项式。A和B的乘积可以表示成:
AB=(A0+A1x+A2y+A3xy)(B0+B1x)
=A0B0+(A1B0+A0B1)x+A2B0y+ (20)
(A3B0+A2B1)xy+A1B1x2+A3B1x2y
其可以简化成:
AB=A0B0+(A01B01+A0B0+A1B1)x+A2B0y+
(A23B01+A2B0+A3B1)xy+A1B1x2+A3B1x2y (21)
=C0+C1x+C2y+C3xy+C4x2+C5x2y
从公式(21),我们可以看出,尽管公式(20)中原始乘法有8个,被分割后只需要6个,即为(C0,C1,C2,C3,C4,C5)。以递归方式使用这6个乘法,可以构造出一种次二次乘法运算架构。运用这种递归方法,每个乘法可以转换成6个乘积运算,并且A和B的度分别约减到四分之一和一般。如果这种分解方法最终将多项式分解到一位操作系数,A和B的度满足下面引理。引理2基于递归方式的(4,2)路KA分解方法,公式(21)分解到一位操作系数,如果多项式A是n=4i位且i>1,多项式B需要是位。图2显示了利用(4,2)路KA分解方法设计的乘法器上层结构。其中涉及三个步骤(EPG,PWM和R)。我们根据这三个步骤来估算图1b给出的结构复杂度:
1)生成评价点(EPG):在本步骤,n位多项式A被分解成四部分,即
A=A0+A1x+A2y+A3xy,其中每个Ai(0≤i≤3)都是位多项式。基于公式(21),我们需要生成评价点集合{A0,A01,A2,A23,A1,A3}。为了计算A01=A0+A1和A23=A2+A3,需要个XOR逻辑门。多项式B被分解成两部分,即B=B0+B1x,其中每个Bi(0≤i≤1)都是位多项式。我们用这些多项式生成评价点集合{B0,B01,B1}。计算B01=B0+B1需要个XOR逻辑门。
2)配对点乘法运算(PWM):公式(21)显示了每次递归分解操作都会产生6个子乘法,可以表示成
P0=A0B0,P1=A01B01,P2=A2B0,
。
P3=A23B01,P4=A1B1,P5=A3B1
若和分别表示对子乘法运算所需的位加法数量和位乘法数量。PWM单元的空间复杂度为
3)重构(R):每个子乘法运算都是两个多项式Ai和Bj的乘积,其度分别为和因此每个子乘积结果Pi是位。根据公式(21)乘法运算,重构单元需要4个加法来计算
(P0,P0+P1+P4,P2,P3+P2+P5,P4,P5)。因此在重构我们需要个XOR逻辑门。
根据上面分析,利用(4,2)路KA分解方法提出的次二次乘法运算具有如下空间复杂度:
为了估算时间复杂度,让D(n)表示n位多项式乘法运算的延迟。表示加法延迟。因此,PWM步骤需要EPG步骤需要延迟,R步骤需要延迟。我们所以可以得到如下的递归关系:
引理3假设b和i都是两个正整数,满足n=bi。递归关系且R(1)=e的结果为R(n)=d(1ogbn)+e,其中d和e都是整型常数。
引理4假设a,i,b为三个整数,其中a≠b且n=bi,递归关系
我们利用引理3和4解决递归关系公式(22)、(23)和(24)。利用初始值 和D(1)=TA,(4,2)路KA分解方法的时间和空间复杂度如下:
D(n)=TA+3(1og4n)TX。
2.2泛化的(b,2)路KA分解方法
根据(4,2)路KA分解方法,如果2|b且n=bi,基于(b,2)路KA分解方法的乘法运算需要乘积来实现。当多项式A是n=bi位,根据引理2,多项式B需要位,以使生成的多项式能被分解到一位操作参数。(b,2)路KA分解方法的复杂度通过下面得到:
三、基于(b,2)路KA分解方法的数位串行乘法器架构
基于所提的(b,2)路KA分解方法,我们构造出位多项式B和n(=bi)为多项式A的乘法器,如图2所示的一层KA分解。因此,选择数位长度为度为(n-1)的多项式B可以表示成数位形式B=B0+B1xd+…+Bp-1xd(p-1),其中 且 是B的第(i+1)个分段。同时多项式A如公式(19)给出。SPB/GPB乘积C=RAB mod F(x)可以表示成:
C=R(AB0+AB1xd+…+ABp-1xd(p-1))mod F(x) (27)
根据公式(27),如图4显示了所提的数位串行乘法器架构,用于计算C=RAB mod F(x),其中使用所提的(b,2)路KA分解方法计算每个部分积ABi和最高有效位优先乘法运算流程。
在图4中,所提的数位串行乘法器包括3个单元,分别是(b,2)路KA乘法器,累加单元和FPR单元。(b,2)路KA乘法器是利用(b,2)路KA分解方法以迭代方式构造。累加单元由(n+d-1)个XOR逻辑门构成,用于计算当前部分积AiBi和暂存器<D>保存的值D的和。FPR单元实现C=RD mod F(x),表1显示了FPR的复杂度。根据公式(27),所提的数位串行乘法器需要时钟周期用于完成A和B的乘法运算,其中每个时钟周期的间隔为T=TA+(1+31ogbn)TX,TA和TX分别表示一个AND逻辑门和一个XOR逻辑门的延迟。
四、提出利用多路KA方法和(b,2)路KA分解方法的可扩展乘法架构
4.1利用并行的(b,2)路KA方法的子多项式乘法器
A和B都是度为n的多项式。基于所提出的(b,2)路KA分解方法,多项式B可以表示成数位形式B=B0+B1xd+…+Bp-1xd(p-1),其中且A和B的乘法运算可以重新写成
C=AB0+AB1xd+…+ABp-1xd(p-1)
。
=C0+C1xd+…+Cp-1xd(p-1)
每个部分积Ci=ABi通过(b,2)路KA分解方法实现,可以表示成Ci=R(PWM(EP1(A),EP2(Bi)))。对于并行计算所有的部分积Ci(0≤i≤p-1),子多项式乘法器需要p个KA乘法器和一个累加树。每个KA乘法器计算Ci=R(PWM(EP1(A),EP2(Bi))),累加树计算p个KA乘法运算结果的累加和,即C=C0+C1xd+…+Cp-1xd(p-1)。由于所有的KA乘法器拥有相同的EP1(A)单元,因此子多项式乘法器可以修改成如图3所示。
根据图3,利用下面引理,我们可以估算出所提子多项式乘法器的复杂度。
引理5假设图3所示的子多项式乘法器,通过(4,2)路KA分解方法实现,则需要个AND逻辑门, 个XOR逻辑门,其关键路径延迟为
类似的,若使用(6,2)路KA分解方法,所提的子多项式乘法器的复杂度如下面引理。
引理6若n=6i,假设图3所示的子多项式乘法器,通过(6,2)路KA分解方法实现,则需要个AND逻辑门, 个XOR逻辑门,其关键路径延迟为
4.2可扩展架构
有限域上GF(2m)元素 可以表示成A=A0+A1xn+A2x2n,其中Ai=ai,0+ai,1x+…+ai,n-1xn-1(0≤i≤2)且F(x)表示度为m的不可约多项式,用于生成有限域GF(2m)。对于A,B∈GF(2m),SPB/GPB的乘积C=RAB mod F(x)可以给出如下:
C=R[A0B0+(A0B0+A1B1+A01B01)xn+
(A0B0+A1B1+A2B2+A02B02)x2n+
(A1B1+A2B2+A12B12)x3n+A2B2x4n]mod F(x) (28)
=R[A0B0(1+xn+x1n)+A1B1(xn+x1n+x3n)+
A2B2(x2n+x3n+x4n)+A3B3xn+A4B4x2n+A5B5x3n]mod F(x)
其中
A3=A0+A1,A4=A0+A2,A5=A1+A2,
B3=B0+B1,B4=B0+B2,B5=B1+B2。
从公式(28),我们看出乘积C包括6个部分积C0=A0B0、C1=A1B1、C2=A2B2、C3=A3B3、C4=A4B4和C5=A5B5。为了从操作参数A和B生成被分解得到的参数Ai和Bi(i=0,1,...,5),我们需要如下关系:
Ai=(si,00A0+si,01A1+si,02A2)+ (29)
(si,10A0+si,11A1+si,12A2)
Bi=(si,00B0+si,01B1+si,02B2)+ (30)
(si,10B0+si,11B1+si,12B2)
其中Si,0=(si,00,si,01,si,02)和Si,1=(si,10,si,11,si,12)用于确定被分解得到的参数Ai和Bi。每个部分积Ci=AiBi需要与一个稀疏多项式Pi(i=0,1,...,5)相乘,该稀疏多项式分别为P0=1+xn+x2n、P1=xn+x2n+x3n、P2=x2n+x3n+x4n、P3=xnP4=x2n和P5=x3n。我们可以定义Pi=si,20+si,21xn+si,22x2n+si,23x3n+si,24x4n来生成稀疏多项式。表2给出了这三个控制向量,以确定每个时钟周期中部分积。部分积按照C0,C1,C2,C3,C4,C5顺序计算,并与对应的稀疏多项式相乘,再经过约减,相加在一起。
根据表2,算法1显示了基于3路KA方法,可扩展SPB/GPB乘法器运算过程。该算法中步骤4和5实现分解子多项式和。步骤6实现子多项式数位乘法运算。步骤7实现位对齐操作。最后的步骤9实现最后的多项式约减。图5给出了所提的SPB/GPB乘法器,是依据算法1在可扩展硬件上实现,其中不同的操作参数通过控制向量S0、S1和S2生成。所提的乘法架构包括一个控制单元、3个暂存器(A,B,D暂存器)、两个参数分解生成单元、一个子多项式乘法器(如图3)、一个位对齐电路和一个FPR单元。
表2 三个控制表
(a)S0控制表
(b)S1控制表
(c)S2控制表
根据公式(28),KA的3路分解涉及6个部分积Ci(0≤i≤5),所有的部分积需要不同的输入参数。三个控制向量S0、S1和S2存储在控制单元的可循环移位暂存器上。在每个部分积计算的迭代中,参数分解生成单元产生对应输入多项式,用于子多项式乘法器的输入,从而得到部分积的结果。为对齐单元利用控制向量S2选择6个稀疏多项式中的一个,用于部分积的重构。例如,表2中,我们选择三个控制向量S3,0=(100),S31=(010),S3,2=(01000)实现公式(28)中的(A0+A1)(B0+B1)xn的计算,如图3中用红线标注的路径。类似的,我们用三个控制向量S3,0=(001),S31=(000),S3,2=(00111)计算
提出了能够有效实现数位串行乘运算的(b,2)路KA分解方法。分析可得到,(4,2)路和(6,2)路KA分解方法的空间复杂度分别是O(n1.29)和O(n1.23)。利用所提的KA分解方法,给出了一种具有次二次空间复杂度的数位串行乘法器。此外利用多路KA方法和(b,2)路KA分解方法,一种新的可扩展SPB/GPB乘法器被提出。所提的乘法器,相比较现有结构,具有更小面积和更低的功耗。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数位并行乘法器,其特征在于,该数位并行乘法器包括输入端A、输入端B0...BP-2BP-1、输出端C及计算单元,所述输入端A及输入端B0...BP-2BP-1分别输入计算单元,经过计算处理后自所述计算单元的输出端C输出,所述计算单元输出的计算公式:
C=R(AB0+AB1xd+…+ABp-1xd(p-1))mod F(x),其中,R是一个非零多项式,x是不可约多项式F(x)的一个根,d是分割长度,p是分割的段数,mod F(x)是对所得结果进行约减即求模运算。
2.根据权利要求1所述的数位并行乘法器,其特征在于,所述计算单元需要时钟周期用于完成A和B的乘法运算,其中每个时钟周期的间隔为T=TA+(1+3logbn)TX,TA和TX分别表示一个AND逻辑门和一个XOR逻辑门的延迟。
3.根据权利要求1或2所述的数位并行乘法器,其特征在于,所述计算单元包括EP1模块、第一运算模块、第二运算模块及加法器,所述输入端A输入所述EP1模块输入端,所述EP1模块输出端分别输入所述第一运算模块及第二运算模块的输入端,所述输入端B0...BP-2BP-1依次输入所述第一运算模块及第二运算模块中的EP2单元的输入端,所述第一运算模块及第二运算模块的输出端分别输入加法器输入端,经所述加法器运算后输出,所述第二运算模块为多个依次平行设置。
4.根据权利要求3所述的数位并行乘法器,其特征在于,所述第一运算模块包括EP2单元、PWM单元及重构单元,所述EP2单元输出端连接所述PWM单元输入端,所述PWM单元输出端连接所述重构单元输入端。
5.根据权利要求4所述的数位并行乘法器,其特征在于,所述第二运算模块包括EP2单元、PWM单元、重构单元及移位单元,所述EP2单元输出端连接所述PWM单元输入端,所述PWM单元输出端连接所述重构单元输入端,所述重构单元输出端连接所述移位单元输入端。
6.一种数位串行乘法器,其特征在于,该乘法器包括权利要求1-3任一项所述的数位并行乘法器、累加单元及FPR单元,所述数位并行乘法器输出端连接所述累加单元输入端,所述累加单元输出端连接所述FPR单元输入端,经过计算处理后自所述FPR单元的输出端输出,所述累加单元由(n+d-1)个XOR逻辑门构成,用于计算当前部分积AiBi和暂存器<D>保存的值D的和;所述FPR单元实现计算输出C,其公式:C=RD mod F(x),其中,R是一个非零多项式,D是A和B乘积结果,mod F(x)是对所得结果进行约减即求模运算。
7.根据权利要求6所述的数位串行乘法器,其特征在于,所述累加单元包括加法器、暂存器D及移位模块,所述加法器输出端连接所述暂存器D输入端,所述暂存器D输出端连接所述移位模块输入端,所述移位模块输出端连接所述加法器输入端。
8.一种可扩展SPB/GPB的乘法器,其特征在于,所述乘法器包括权利要求1-5任一项所述的数位并行乘法器、控制单元、两个操作数生成电路、暂存器A、暂存器B、数位对齐电路及FPR单元,所述暂存器A的输出端经一所述操作数生成电路连接所述数位并行乘法器输入端,所述暂存器B的输出端经一所述操作数生成电路连接所述数位并行乘法器输入端,所述控制单元的输出端分别连接两个所述操作数生成电路的输入端和所述数位对齐电路的输入端,所述数位并行乘法器输出端连接所述数位对齐电路的输入端,所述数位对齐电路的输出端连接所述FPR单元的输入端,经所述FPR单元运算输出C,其C公式:C=RD mod F(x),两个所述操作数生成电路的计算公式分别为: 所述数位并行乘法器计算公式为:所述数位对齐电路的计算公式为:
9.根据权利要求8所述的数位串行乘法器,其特征在于,所述操作数生成电路包括两个控制器MUX及加法器,两个所述控制器的输出端分别输入所述加法器的输入端。
10.根据权利要求9所述的数位串行乘法器,其特征在于,所述数位对齐电路包括控制总线、加法器及暂存器D,所述控制总线输出端连接所述加法器输入端,所述加法器输出端连接所述暂存器D输入端,所述暂存器D输入端连接所述加法器输入端,所述控制总线输入所述加法器线路上的位数为:(2m-1)-bit。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410459796.7A CN104239279A (zh) | 2014-09-10 | 2014-09-10 | 一种乘法器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410459796.7A CN104239279A (zh) | 2014-09-10 | 2014-09-10 | 一种乘法器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104239279A true CN104239279A (zh) | 2014-12-24 |
Family
ID=52227377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410459796.7A Pending CN104239279A (zh) | 2014-09-10 | 2014-09-10 | 一种乘法器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104239279A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190571A (zh) * | 2019-12-30 | 2020-05-22 | 华南师范大学 | 一种基于二元扩域的模乘电路及其控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020161813A1 (en) * | 2001-03-06 | 2002-10-31 | Tzi-Dar Chiueh | Complex-valued multiplier-and-accumulator |
US6820106B1 (en) * | 2000-06-27 | 2004-11-16 | Intel Corporation | Method and apparatus for improving the performance of a floating point multiplier accumulator |
CN101149675A (zh) * | 2005-12-30 | 2008-03-26 | 英特尔公司 | 乘法器 |
CN103942027A (zh) * | 2014-04-16 | 2014-07-23 | 哈尔滨工业大学深圳研究生院 | 一种可重构的快速并行乘法器 |
-
2014
- 2014-09-10 CN CN201410459796.7A patent/CN104239279A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6820106B1 (en) * | 2000-06-27 | 2004-11-16 | Intel Corporation | Method and apparatus for improving the performance of a floating point multiplier accumulator |
US20020161813A1 (en) * | 2001-03-06 | 2002-10-31 | Tzi-Dar Chiueh | Complex-valued multiplier-and-accumulator |
CN101149675A (zh) * | 2005-12-30 | 2008-03-26 | 英特尔公司 | 乘法器 |
CN103942027A (zh) * | 2014-04-16 | 2014-07-23 | 哈尔滨工业大学深圳研究生院 | 一种可重构的快速并行乘法器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190571A (zh) * | 2019-12-30 | 2020-05-22 | 华南师范大学 | 一种基于二元扩域的模乘电路及其控制方法 |
CN111190571B (zh) * | 2019-12-30 | 2022-03-22 | 华南师范大学 | 一种基于二元扩域的模乘电路及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Erdem et al. | A general digit-serial architecture for montgomery modular multiplication | |
CN105426345A (zh) | 一种矩阵求逆运算方法 | |
Lee et al. | Low-complexity digit-serial and scalable SPB/GPB multipliers over large binary extension fields using (b, 2)-way Karatsuba decomposition | |
Meher et al. | Low-Latency, Low-Area, and Scalable Systolic-Like Modular Multipliers for $ GF (2^{m}) $ Based on Irreducible All-One Polynomials | |
Sinha et al. | Design of fault tolerant reversible multiplier | |
Lee et al. | Subquadratic Space-Complexity Digit-Serial Multipliers Over $ GF (2^{m}) $ Using Generalized $(a, b) $-Way Karatsuba Algorithm | |
Chen et al. | FPGA realization of low register systolic all-one-polynomial multipliers over $ GF (2^{m}) $ and their applications in trinomial multipliers | |
Rashidi | Throughput/area efficient implementation of scalable polynomial basis multiplication | |
Surendran et al. | Implementation of fast multiplier using modified Radix-4 booth algorithm with redundant binary adder for low energy applications | |
Liu et al. | Efficient digit-serial KA-based multiplier over binary extension fields using block recombination approach | |
Lee et al. | Area-Delay Efficient Digit-Serial Multiplier Based on $ k $-Partitioning Scheme Combined With TMVP Block Recombination Approach | |
Lee et al. | Area-efficient subquadratic space-complexity digit-serial multiplier for type-II optimal normal basis of $ GF (2^{m}) $ using symmetric TMVP and block recombination techniques | |
CN103942027B (zh) | 一种可重构的快速并行乘法器 | |
Jayashree et al. | Design of dedicated reversible quantum circuitry for square computation | |
CN104239279A (zh) | 一种乘法器 | |
Lee et al. | Efficient subquadratic space complexity digit-serial multipliers over gf (2 m) based on bivariate polynomial basis representation | |
Hariri et al. | Digit-level semi-systolic and systolic structures for the shifted polynomial basis multiplication over binary extension fields | |
Kadu et al. | Hardware implementation of efficient elliptic curve scalar multiplication using vedic multiplier | |
Lee et al. | Low complexity digit-serial multiplier over GF (2^ m) using Karatsuba technology | |
Das et al. | Design optimization of vedic multiplier using reversible logic | |
Lee et al. | Low-complexity digit-serial multiplier over $ GF (2^{m}) $ based on efficient toeplitz block toeplitz matrix–vector product decomposition | |
Shen et al. | Low complexity bit parallel multiplier for GF (2m) generated by equally-spaced trinomials | |
CN106775575B (zh) | 基于二次剩余的低成本rfid认证协议的乘法器 | |
El-Razouk | Novel trace-based construction of the parallel-in-serial-out multiplication for elliptic curve digital signature algorithm like binary extension fields | |
Shao et al. | Low Complexity Implementation of Unified Systolic Multipliers for NIST Pentanomials and Trinomials Over $\textit {GF}(2^{m}) $ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141224 |