CN104536719B - 一种用于变系数乘法器的并行伪csd编码器 - Google Patents
一种用于变系数乘法器的并行伪csd编码器 Download PDFInfo
- Publication number
- CN104536719B CN104536719B CN201410820171.9A CN201410820171A CN104536719B CN 104536719 B CN104536719 B CN 104536719B CN 201410820171 A CN201410820171 A CN 201410820171A CN 104536719 B CN104536719 B CN 104536719B
- Authority
- CN
- China
- Prior art keywords
- nand gate
- input
- termination
- csd
- digit
- 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.)
- Expired - Fee Related
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Abstract
本发明涉及集成电路技术领域,特别涉及一种用于变系数乘法器的并行伪CSD编码器。本发明的并行伪CSD编码器,包括运算逻辑电路和输出逻辑电路;所述运算逻辑电路的输入端接外部输入数据,其输出端接运算逻辑电路的第一输入端;所述输出逻辑电路的第二输入端接外部输入数据,其输出端接后级乘法器的系数输入端。本发明的有益效果为,在保证伪CSD编码后的码制具有与传统CSD编码相同的非零位数量的同时,采用并行运算逻辑消除传统CSD编码过程中产生的进位传播逻辑,从而提高伪CSD编码器的运算速度,使其与所需编码的二进制数位长无关,属于一种固定延迟的编码电路,极大的提高伪CSD编码器的数据吞吐能力。本发明尤其适用于变系数乘法器的并行伪CSD编码器。
Description
技术领域
本发明涉及集成电路技术领域,特别涉及一种用于变系数乘法器的并行伪CSD编码器。
背景技术
变系数乘法器是数字集成电路中一种非常重要的基本单元。在数字系统设计中,乘法器的参数很大程度上影响着整个数字系统的参数性能。在二进制乘法中,系数的每一位非零位会产生一个部分积,再将所有的部分积用加法器进行累加,从而得到最终的结果。一般来说,乘法器都会采用编码器对系数进行编码,从而减少系数中非零位的数量来减少部分积的产生,进而减少加法器的数量,达到减小功耗和面积、提升乘法器的速度的目的。其中CSD(Canonical Signed Digit)编码器作为一种冗余带符号数算法应用于变系数乘法中的重要编码方式,其特点在于将乘法系数中非零位的数量减少到最小,并且满足任何两个非零数不相邻,从而减少由非零位运算带来的部分积数量,进而减少乘法运算中所需的加法器数量,简化了整个乘法运算。CSD编码器接收来自外部的二进制系数输入,经过编码后成为CSD编码,再输出到变系数乘法器的系数输入端,如图1所示。
作为变系数乘法器的前置结构,CSD编码器的延迟时间是其关键指标,它主要用来反映完成二进制数到CSD编码的转换速度,直接反映CSD编码器的数据吞吐能力,进而反映了乘法器的工作速度和数据吞吐能力。因此,在追求高速高性能的算术逻辑电路中,编码速度占据重要的作用。
传统的CSD编码器的基本结构如图2所示,每一位编码结构由同或门XNOR、或非门NOR、与门AND构成;其中第i位的同或门XNOR的输入为二进制数第i位bi与第i-1位bi-1,输出xi作为或非门NOR的输入,或非门NOR的另一个输入来自前级的进位逻辑pi,输出ni作为与门AND的输入,同时也作为CSD编码的幅值位di,m和进位逻辑pi+1,与门AND的另一个输入来自当前位的高一位bi+1,输出作为CSD编码的符号位di,s。
传统的CSD编码器的运算逻辑如下:
对N位二进制数进行编码时,传统的CSD编码器的延迟时间Tdelay如下:
Tdelay=NTNOR+TAND+TXNOR;
其中TAND表示与门AND的延迟时间,TXNOR表示同或门XNOR的延迟时间,TNOR表示或非门NOR的延迟时间,如图3所示。传统的CSD编码器延迟时间由于进位传播的影响,编码速度与二进制数的位长N成正比,使得CSD编码器的数据吞吐能力受限于编码位数,进而制约了乘法器的工作速度和数据吞吐能力。
发明内容
本发明的目的,就是针对上述传统电路存在的问题,提出一种能够进行并行运算的伪CSD编码器,并取得与传统CSD编码相当的编码效果。
本发明的技术方案:一种用于变系数乘法器的并行伪CSD编码器,如图4所示,包括共享运算逻辑电路和专用输出逻辑电路;所述共享运算逻辑电路的输入端接外部输入数据,其输出端接专用输出逻辑电路的第一输入端;所述专用输出逻辑电路的第二输入端接外部输入数据,其输出端接后级乘法器的系数输入端;
所述共享运算逻辑电路用于接收固定字长的外部数据,所述外部数据为二进制数据,分别根据二进制数据的每一位及该位数据的前一位和后一位,通过并行运算得到共享数据,将共享数据输入到专用输出逻辑电路;
所述专用输出逻辑电路接收共享数据和外部数据,分别根据共享数据的每一位以及该位数据的前一位和后一位,通过并行运算得到伪CSD编码的符号位;同时分别根据外部数据的每一位和该位数据的前一位,以及共享数据的每一位和该位数据的后三位,通过并行运算得到伪CSD编码的幅值位;
所述共享运算逻辑电路由第一与非门NAND1、第二与非门NAND2、第三与非门NAND3、第四与非门NAND4、第五与非门NAND5、第六与非门NAND6、第一反相器INV1和第二反相器INV2构成;
设外部输入的二进制数据为6位,分别为第一位数b1、第二位数b2、第三位数b3、第四位数b4、第五位数b5和第六位数b6;则第一与非门NAND1的一个输入端接第一位数b1,其另一个输入端接第二位数b2;第二与非门NAND2的一个输入端接第二位数b2,其另一个输入端接第三位数b3;第三与非门NAND3的一个输入端接第二位数b2,其另一个输入端接第一反相器INV1的输出端;第一反相器INV1的输入端接第三位数b3;第四与非门NAND4的一个输入端接第三位数b3,其另一个输入端接第二反相器INV2的输出端;INV2的输入端接第四位数b4;第五与非门NAND5的一个输入端接第四位数b4,其另一个输入端接第五位数b5;第六与非门的一个输入端接第五位数b5,其另一个输入端接第六位数b6;
所述专用输出逻辑电路由或非门NOR、第七与非门NAND7、第八与非门NAND8、第九与非门NAND9、第十与非门NAND10、第三反相器INV3、第四反相器INV4和第五反相器INV5构成;其中,或非门NOR的一个输入端接第一与非门NAND1的输出端,其另一个输入端接第三与非门NAND3的输出端,其输出端接第五反相器INV5的输入端;第五反相器INV5的输出端接第九与非门NAND9的一个输入端;第九与非门NAND9的另一个输入端接第二与非门NAND2的输出端,其输出端为伪CSD编码的符号位;第七与非门NAND7的一个输入端接第三位数b3,其另一个输入端接第四反相器INV4的输出端,其输出端接第八与非门NAND8的一个输入端;第四反相器INV4的输入端接第六与非门NAND6的输出端;第八与非门NAND8的另一个输入端接第三反相器INV3的输出端;第三反相器INV3的输入端接第四与非门NAND4的输出端,第八与非门NAND8的输出端接第十与非门NAND10的一个输入端;第十与非门NAND10的另一个输入端接第三位数b3和第五与非门NAND5的输出端,其输出端为伪CSD编码的幅值位。
本发明的有益效果为,在保证伪CSD编码后的码制具有与传统CSD编码相同的非零位数量的同时,采用并行运算逻辑消除传统CSD编码过程中产生的进位传播逻辑,从而提高伪CSD编码器的运算速度,使其与所需编码的二进制数位长无关,属于一种固定延迟的编码电路,极大的提高伪CSD编码器的数据吞吐能力。
附图说明
图1为CSD编码器用于配置乘法器系数的结构示意图
图2为以第i位为例,传统CSD编码器基本结构示意图;
图3为传统CSD编码器的关键延时路径示意图;
图4为以第i位为例,本发明伪CSD编码器的结构示意图。
具体实施方式
下面结合附图对本发明进行详细的描述
本发明为消除传统CSD编码器采用进位逻辑产生的递归传递导致的延迟,改变了传统CSD编码的算法,采用了无进位逻辑的并行计算方式。伪CSD编码与传统CSD编码几乎相同,唯一不同的情况在于:对于两个连续“1”组成的序列,即“0110”序列,传统CSD编码取得“1010”的有符号数序列,而该种特殊序列在伪CSD编码中保持“0110”不变,从而实现了与传统CSD编码相同的非零位的数量。同时本发明所提出的伪CSD编码算法消除了进位逻辑,从而实现了并行运算。
本例的工作原理为:
本例中主要分为两个主要电路部分,共享运算逻辑电路和专用输出逻辑电路。
其中,共享运算逻辑电路是各个专用输出逻辑电路所公用的部分,包括了与非门NAND1、NAND2、NAND3、NAND4、NAND5、NAND6和反相器INV1、INV2,通过共享运算逻辑电路,减少了所需门电路的数量,从而降低了电路功耗。其具体的第i位共享数据xi和yi实现方式如下:
所述bi表示外部数据第i位二进制数,接共享运算逻辑电路的输入端;所述的第i位共享运算逻辑xi和yi作为共享运算逻辑电路的输出,接专用输出逻辑电路的输入端。
专用输出逻辑电路,主要由与非门NAND7、NAND8、NAND9、NAND10,或非门NOR,反相器INV3、INV4、INV5组成,用于产生所需伪CSD编码的符号位和幅值位。
其具体的第i位的伪CSD编码输出幅值位di,m和符号位di,s如下:
所述bi表示外部数据第i位二进制数,所述共享运算逻辑xi和yi作为共享运算逻辑电路接专用输出逻辑电路的输入端;所述的伪CSD编码输出幅值位di,m和符号位di,s作为伪CSD编码器的输出,接外部输出,即后级的乘法器的系数输入端。
所述的共享运算逻辑电路和专用输出逻辑电路均不需要进位逻辑,外部输入通过两组逻辑电路并行运算直接得到外部输出,即后级的乘法器的系数输入端。
因此,整个系统的延迟时间为:
Tdelay=4TNAND+TINV
相比传统的CSD编码器,本发明提出的伪CSD编码器在典型操作数位长为16位,32位,及64位的情况下延迟时间分别降低了31.8%,42.5%,以及53.8%;能耗则分别降低了42.9%,44.9%,以及42.3%。
Claims (1)
1.一种用于变系数乘法器的并行伪CSD编码器,包括共享运算逻辑电路和专用输出逻辑电路;所述共享运算逻辑电路的输入端接外部输入数据,其输出端接专用输出逻辑电路的第一输入端;所述专用输出逻辑电路的第二输入端接外部输入数据,其输出端接后级乘法器的系数输入端;
所述共享运算逻辑电路用于接收固定字长的外部数据,所述外部数据为二进制数据,分别根据二进制数据的每一位及该位数据的前一位和后一位,通过并行运算得到共享数据,将共享数据输入到专用输出逻辑电路;
所述专用输出逻辑电路接收共享数据和外部数据,分别根据共享数据的每一位以及该位数据的前一位和后一位,通过并行运算得到伪CSD编码的符号位;同时分别根据外部数据的每一位和该位数据的前一位,以及共享数据的每一位和该位数据的后三位,通过并行运算得到伪CSD编码的幅值位;
所述共享运算逻辑电路由第一与非门NAND1、第二与非门NAND2、第三与非门NAND3、第四与非门NAND4、第五与非门NAND5、第六与非门NAND6、第一反相器INV1和第二反相器INV2构成;
设外部输入的二进制数据为6位,分别为第一位数b1、第二位数b2、第三位数b3、第四位数b4、第五位数b5和第六位数b6;则第一与非门NAND1的一个输入端接第一位数b1,其另一个输入端接第二位数b2;第二与非门NAND2的一个输入端接第二位数b2,其另一个输入端接第三位数b3;第三与非门NAND3的一个输入端接第二位数b2,其另一个输入端接第一反相器INV1的输出端;第一反相器INV1的输入端接第三位数b3;第四与非门NAND4的一个输入端接第三位数b3,其另一个输入端接第二反相器INV2的输出端;INV2的输入端接第四位数b4;第五与非门NAND5的一个输入端接第四位数b4,其另一个输入端接第五位数b5;第六与非门的一个输入端接第五位数b5,其另一个输入端接第六位数b6;
所述专用输出逻辑电路由或非门NOR、第七与非门NAND7、第八与非门NAND8、第九与非门NAND9、第十与非门NAND10、第三反相器INV3、第四反相器INV4和第五反相器INV5构成;其中,或非门NOR的一个输入端接第一与非门NAND1的输出端,其另一个输入端接第三与非门NAND3的输出端,其输出端接第五反相器INV5的输入端;第五反相器INV5的输出端接第九与非门NAND9的一个输入端;第九与非门NAND9的另一个输入端接第二与非门NAND2的输出端,其输出端为伪CSD编码的符号位;第七与非门NAND7的一个输入端接第三位数b3,其另一个输入端接第四反相器INV4的输出端,其输出端接第八与非门NAND8的一个输入端;第四反相器INV4的输入端接第六与非门NAND6的输出端;第八与非门NAND8的另一个输入端接第三反相器INV3的输出端;第三反相器INV3的输入端接第四与非门NAND4的输出端,第八与非门NAND8的输出端接第十与非门NAND10的一个输入端;第十与非门NAND10的另一个输入端接第三位数b3和第五与非门NAND5的输出端,其输出端为伪CSD编码的幅值位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410820171.9A CN104536719B (zh) | 2014-12-25 | 2014-12-25 | 一种用于变系数乘法器的并行伪csd编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410820171.9A CN104536719B (zh) | 2014-12-25 | 2014-12-25 | 一种用于变系数乘法器的并行伪csd编码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104536719A CN104536719A (zh) | 2015-04-22 |
CN104536719B true CN104536719B (zh) | 2017-06-30 |
Family
ID=52852253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410820171.9A Expired - Fee Related CN104536719B (zh) | 2014-12-25 | 2014-12-25 | 一种用于变系数乘法器的并行伪csd编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104536719B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110581705B (zh) * | 2018-06-08 | 2023-02-24 | 唐大为 | 一种三种高低电平接电情况下的逻辑电路 |
CN110531954A (zh) * | 2019-08-30 | 2019-12-03 | 上海寒武纪信息科技有限公司 | 乘法器、数据处理方法、芯片及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4843582A (en) * | 1986-06-10 | 1989-06-27 | U.S. Philips Corporation | Digital filter in which linear combinations of powers of two are converted to binary numbers using wallace trees |
WO2006109240A2 (en) * | 2005-04-12 | 2006-10-19 | Nxp B.V. | Fast fourier transform architecture |
-
2014
- 2014-12-25 CN CN201410820171.9A patent/CN104536719B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4843582A (en) * | 1986-06-10 | 1989-06-27 | U.S. Philips Corporation | Digital filter in which linear combinations of powers of two are converted to binary numbers using wallace trees |
WO2006109240A2 (en) * | 2005-04-12 | 2006-10-19 | Nxp B.V. | Fast fourier transform architecture |
Non-Patent Citations (1)
Title |
---|
《基于CSD编码的16位并行乘法器的设计》;王瑞光;《微计算机信息》;20080815;第24卷(第8-2期);第75-77页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104536719A (zh) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183425B (zh) | 一种具有高精度低复杂度特性的固定位宽乘法器 | |
CN104536719B (zh) | 一种用于变系数乘法器的并行伪csd编码器 | |
JP2008508747A5 (zh) | ||
CN109587483A (zh) | 码流提取模块 | |
CN105591645B (zh) | 一种多级串并转换电路 | |
CN106775577A (zh) | 一种高性能非精确冗余二进制乘法器及其设计方法 | |
CN112764712B (zh) | 一种高性能近似Booth乘法器及计算方法 | |
CN103955585B (zh) | 一种适用于低功耗容错电路的fir滤波器结构 | |
CN110515590A (zh) | 乘法器、数据处理方法、芯片及电子设备 | |
CN101482808B (zh) | 用于大数乘法器的(7:2)压缩器 | |
Sano et al. | Segment-parallel predictor for FPGA-based hardware compressor and decompressor of floating-point data streams to enhance memory I/O bandwidth | |
CN102916691B (zh) | 基于可逆逻辑的bcd码十进制计数器 | |
CN103559161A (zh) | 一种用于fpga配置的总线多宽度转换电路 | |
CN103607207A (zh) | 一种即插即用的多接口数据压缩设备 | |
CN103885747B (zh) | 低功耗随机数发生器 | |
Daud et al. | Hybrid modified booth encoded algorithm-carry save adder fast multiplier | |
CN103699729B (zh) | 模乘法器 | |
CN111666063B (zh) | 一种基于随机计算的增函数实现装置 | |
CN104202053B (zh) | 一种快速n位原码到补码的转换装置和转换方法 | |
Lorandel et al. | Efficient compression technique for noc-based deep neural network accelerators | |
CN104199352A (zh) | 基于fpga的区间编码硬件实现系统 | |
CN111428195A (zh) | 一种基于随机计算的减函数近似计算装置 | |
CN217034731U (zh) | 选择控制器及运算电路及芯片 | |
CN104716963B (zh) | 随机拆分编码方法、随机拆分单元及动态元件匹配编码器 | |
Goenka et al. | Design of balanced ternary encoder and decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170630 Termination date: 20191225 |
|
CF01 | Termination of patent right due to non-payment of annual fee |