CN100435088C - 优化的标准带符号数字的系数乘法器 - Google Patents

优化的标准带符号数字的系数乘法器 Download PDF

Info

Publication number
CN100435088C
CN100435088C CNB2006100050006A CN200610005000A CN100435088C CN 100435088 C CN100435088 C CN 100435088C CN B2006100050006 A CNB2006100050006 A CN B2006100050006A CN 200610005000 A CN200610005000 A CN 200610005000A CN 100435088 C CN100435088 C CN 100435088C
Authority
CN
China
Prior art keywords
coefficient
generate
response
values
circuit
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
Application number
CNB2006100050006A
Other languages
English (en)
Other versions
CN1801079A (zh
Inventor
阿朗·沙多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
KY WIRE ELECTRIC CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KY WIRE ELECTRIC CO Ltd filed Critical KY WIRE ELECTRIC CO Ltd
Publication of CN1801079A publication Critical patent/CN1801079A/zh
Application granted granted Critical
Publication of CN100435088C publication Critical patent/CN100435088C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5332Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by skipping over strings of zeroes or ones, e.g. using the Booth Algorithm
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0225Measures concerning the multipliers
    • H03H17/0226Measures concerning the multipliers comprising look-up tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0227Measures concerning the coefficients
    • H03H17/023Measures concerning the coefficients reducing the wordlength, the possible values of coefficients
    • H03H2017/0232Canonical signed digit [CSD] or power of 2 coefficients

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)

Abstract

在本发明中,一种装置包括地址生成电路、查找表、复用器和输出电路。所述地址生成电路可以被配置成生成一系列地址。所述查找表可以被配置成响应于所述地址而生成一个或多个系数。所述复用器电路可以被配置成响应于(i)系数和(ii)一个或多个操作数而生成一个或多个移位值。所述输出电路可以被配置成响应于所述移位值而通过组合一个或多个项值来生成输出信号。所述系数被作为2的乘幂分之一的项分组成互斥组。

Description

优化的标准带符号数字的系数乘法器
技术领域
本发明一般涉及数字滤波器的方法和/或结构,并且尤其涉及优化的CSD(Canonical Signed Digit,标准带符号数字)的系数乘法器。
背景技术
传统系统在诸如具有有限冲激响应(FIR)滤波器之类的数字滤波器以及在其它应用中使用系数乘法器。该乘法器可能包含系数组。系数与提供给乘法器的操作数相乘。每个操作数可以和一个系数相乘。该乘积被提供(present)在输出上以备在下一级中使用(即对乘积求和)。
通常,传统乘法器利用移位和加法操作的组合来实现,一些这样的实现具有高的门数(gate count),这会导致芯片区使用的低效率。
期望实现一种能够使用最少量的移位和加法操作和/或能够使用最小量的芯片区域来实现的乘法器。
发明内容
本发明涉及一种装置,该装置包含地址生成电路、查找表、复用器和输出电路。所述地址生成电路可以被配置成生成一系列地址。所述查找表可以被配置成响应于所述地址而生成一个或多个系数。所述复用器电路可以被配置成响应于(i)系数和(ii)一个或多个操作数而生成一个或多个移位值。所述输出电路可以被配置成响应于所述移位值而通过组合一个或多个项(component)的值来生成输出信号。该系数被作为2的乘幂分之一的项而分组成为互斥组(mutually exclusive group)。
本发明的目的、特征和优点包括实现如下所述的系数乘法器:所述系数乘法器可以(i)对系数使用CSD表达方式;(ii)降低乘法器的复杂性;(iii)减少所需的门数;(iv)根据特定应用能够容忍的误差来实现2的乘幂分之一的项的个数;(v)用比传统方法低的门数来实现;(vi)模块化和灵活的实现和结构;(vii)实现能被编程或固定的系数;和/或(viii)当系数已知时执行优化以通过将项分组成互斥组来降低门数。
附图说明
本发明的这些和其它目的、特征以及优点将通过下面的详细说明、所附权利要求和附图变得清楚,其中:
图1是一个根据本发明的系数乘法器的图;
图2是具有加法器的系数乘法器的图;和
图3是使用了利用互斥组的本发明的一个特定例子的实现的图;
具体实施方式
参照图1,示出了根据本发明的一个优选实施例的电路100的方框图。电路100可以被实现为乘法器电路。在一个例子中,该电路可以是标准带符号数字(CSD)的系数乘法器。电路100一般包含块(或电路)102、块(或电路)104以及块(或电路)106。块102可以被实现为地址生成器。块104可以被实现为复用器(multiplexer)块(或部分)。块106可以被实现为加法器部分。在一个例子中,块106可以被实现为乘积/项加法器电路。
复用器部分104一般包含多个子复用器110a-110n以及查找表112。复用器110a-110n的具体个数可以变化以满足特定实现的设计标准。加法器电路106一般包含多个舍入器(rounder)块(或电路)120a-120n、多个转换器块(或电路)122a-122n、加法器电路124和查找表126。
乘法器电路100可以包含部分由复用器110a-110n的所选输入(例如MUXSEL)生成的系数组。在一个实现中,系数可以用标准带符号数字(CSD)表示。每个系数可以具有一个或多个项。系数一般存储在查找表112中。该系数与提供给复用器110a-110n的操作数OP相乘。操作数OP的移位值(例如如输入(OP,1)、(OP,2)、(OP,n-2)等所示)被提供给复用器110a-110n的各个输入。操作数OP的移位版本可以是操作数OP的算术移位的版本,其在图1中一般被示出具有前缀“arth sft”。操作数OP的每个移位值可以通过选择信号MUXSEL来选择。复用器110a-110n的每个提供通常等于操作数OP和系数的一个项相乘的乘积。在电路106将所有的乘积加在一起后,最终的乘积被提供作为输出信号(例如MUL)。系数被表示为多个2的乘幂分之一的数的和和/或差。一般来说,对于小于或等于1的系数,可以使用下列等式EQ1来计算系数:
EQ 1 Coef = Σ n = 0 M Z * Sign * 1 2 n
其中,“符号”为+或-,“Z”为0或1,而“M”是用于表示例如1/2M的系数的数,这是在某个实现中表示系数所需的理想的最小项。
例如,具有3个项的系数(例如系数0.929688)可以被表示为1-1/16-1/128(即1/20-1/24-1/27)。而系数0.263672可以被表示为1/4+1/64-1/512(即1/22+1/26-1/29)。通过使用这样的系统,可以通过使用小的数量的移位器和加法器来完成乘法操作。每个系数具有的2的乘幂分之一的项越多,则电路100能够实现的精度越高,但是这是建立在更高的门数的开销上的。2的乘幂分之一的项的个数依赖于特定设计实现能够容忍的误差。电路100允许在精度和门数之间的折衷。
在上面的例子中的系数根据下列表1可以被存储在查找表112和126中。
表1
Figure C20061000500000062
在这样的例子中,可以使用的最后项是1/210(例如,其中M=10)。在“项”列中的‘1’指示需要特定的2的乘幂分之一的项。在“符号”列中的‘1’指示使用了负数值。而在“符号”列中的‘0’指示使用了正数值。
选择信号MUXSEL一般用于生成一个乘积,该乘积等于操作数和系数的一个无符号项相乘。一般根据该系数的一个特定的2的乘幂分之一的项来选择操作数的特定的移位值。例如,在其中系数的项是1/4的情况下(例如1/22),则通过选择将操作数OP算术移位2位,乘积等于操作数乘以1/4(例如1/4*OP)。选择信号MUXSEL可以被提供给复用器110a-110n的每个的选择输入,选择信号MUXSEL可以被实现为多-位信号(multi-bit signal)。控制信号(例如SIGN)一般被提供给转换器122a-122n的每个的控制输入。信号SIGN可以被实现为多-位信号。用于生成信号MUXSEL和信号SIGN的值可以从表1中提取。对于上述系数,查找表112和126可以由下面的表2来表示:
表2
  (表112)MUXSEL[11:0]   (表126)SIGN[2:0]
 系数1   000001000111   011
 系数2   001001101001   001
在这样的例子中,使用了三个2的乘幂分之一的数(也可以使用零)。在这样的例子中,可以实现三个复用器110a-110n。然而,实现的复用器110a-110n的具体个数可以变化以满足特定实现的设计标准。生成的项信号COMP1-COMP3的个数依赖于特定设计能够容忍的误差。一般来说,在乘法器电路100中的并行项信号COMP1-COMP3越多,则精度越高。
电路100的操作是操作数和系数相乘。在图1的情况中,系数可以不必是固定的,并且其可以根据在特定时间使用的特定系数而被加载数值。到复用器110a-110n的一个输入可以是操作数OP[k:0]。到复用器110a-110n的其它输入可以是算数右移位(例如arth sft(OP,1)),其中操作数OP[k:0]被右移N位,其中k大于等于N,并且N是一个整数。操作数的符号(即最高有效位)被扩充(extended)。
一般来说,K是最高有效位的指数。例如,如果操作数具有13位(OP[12:0],则K=12。M是表示系数所需的最小项的指数。例如如果最小项是1/2^9,则M等于9。在表1中,M=10。在表3的例子中,M=8。其独立于操作数的尺寸。N是在项中使用的指数和整数。其范围在该发明中为从0到M。
复用器110a-110n的每个可以向加法器部分106的不同的舍入器120a-120n提供移位值输出(例如,SFT1、SFT2、SFT3)。舍入器120a-120n可以操作无符号项。舍入器向每个移位值加入1/2k(例如通过向每个移位值加1,其中k是操作数OP的MSB的指数)。在多个算术移位后(例如,在1和M之间),一个负数可以全部由‘1’组成,这将得到-1(而不是非常小的负数)。得到全部‘1’所需的移位的特定次数可以变化。在某些情况下,3次移位可能是足够的。在其它的情况下,需要10次或更多次移位。舍入器向该数加入1/2k并且将全部为‘1’的数转换为0。
依赖于来自查找表126的SIGN的控制信号,舍入器120a-120n的输出上的值可以被转换器电路122a-122n反转(例如求反)。对全部的项信号COMP1、COMP2、COMP3求和以产生输出信号MUL。
当系数的值未知时可以使用电路100。根据在某些时间使用的系数,查找表112和126可以被加载数值。可以通过根据特定的设计规范(例如达到特定的容忍度)来添加分支或去掉分支来容易地修改产生最终乘积所添加的项的个数(例如复用器110a-110n,舍入器120a-120n等)。当每个时钟周期提供操作数OP[k:0]时可以使用电路100。结果在多个门延迟后可用并且结果可以在下一个时钟周期中使用。
参照图2,示出了具有可以使用多时钟周期优化的乘法器的电路100′的实现的图。当在操作数OP[k:0]为有效之后的下一时钟周期中不需要乘法结果时,或者当可能使用更快的时钟来执行乘法时,这样的实现可以被简化并且可以实现较低的门数。
在一个例子中,仅仅实现一个复用器110′、一个舍入器120′以及一个符号模块122′可能是足够的。到复用器110′的输入表示操作数OP[k:0]、操作数OP[k:0]的算术右移位和零。在这样的实现中,每个系数的项每次和操作数OP[k:0]相乘并且将乘积相加。当全部的乘积相加之后,最终乘积在输出MUL上可用。
根据来自查找表112′的选择信号MUXSEL,复用器110′的输出可以是操作数OP和一个或多个特定的无符号项的乘积。电路104′提供可以由电路106′舍入和求反的移位值信号(例如SFT)以生成项信号(例如COMP)。项信号COMP随后在下一个时钟沿之后被加入到总和。可以将加法器块140实现为计数器142、门144、复用器146、比较器148、加法器150和一个或多个触发器(或寄存器)152。门144可以被用于向复用器146提供选择信号。计数器142从0计数到C-1,其中C是用于表示特定系数的项的个数。在每个乘法的开始,计数器142为零并且复用器146的输出为零,使用加法器150将其加入到项信号COMP。寄存器152存储临时总和。在下一个时钟周期中,临时总和下一个项信号COMP相加。当计数器提供C-1时,比较器148提供被维持以复位计数器142的输出信号(例如CNTRST)。在C个周期后,最终乘积被提供作为乘法器输出MUL(例如寄存器152的输出)。
可以容易地修改为产生最终乘积所添加的项的个数来满足特定设计规范。这种修改可以通过改变加法器块140和查找表112′和126′的尺寸(即,类似于向一般实现添加分支或从一般实现去掉分支)来完成。
参照图3,示出了本发明的另一个例子。当系数固定时,可以实现优化以便减少门数。可以通过将项分组成互斥组来完成优化。由于CSD乘法器100″包含复用器110a″-110n″,其中每个复用器110a-110n提供系数(最终乘积)的无符号项,可以期望减少复用器110a″-110n″的每个的输入的个数。可以通过对复用器110a″-110n″之一使用尽可能多的‘移位N位’的输入并且在其它复用器110a″-110n″中不使用这些‘移位N位’的输入来实现优化。在一个优化实现中,所支持的‘移位N位’的输入被划分成不重复的组。组的个数可以根据每个系数的项的个数来确定。例如,在优化实现的情况中,如果每个系数具有两个2的乘幂分之一的项,并且M为7(例如1/27是用来表示该系数所需的最小项),则存在2个组和支持8个(即,N=0到N=7)算术移位输入。在这种情况下,每个组包含4个算术移位输入。
在优化较差的实现中,在一个以上的组中可能存在一个或多个算术移位输入的重复。优化或优化较差的实现依赖于系数本身。在某些情况下,有可能比其它情况更多地优化电路100″。然而,即使在优化较差的实现中(例如对某些输入的重复),总门数仍然低于电路100的实现。
图3说明了具有下面15个系数的例子,其中每个系数最多具有两个2的乘幂分之一的项,其中M为8:
  C1=-1/2<sup>5</sup>-1/2<sup>7</sup>   C6=-1/2<sup>8</sup>   C11=1/2<sup>0</sup>-1/2<sup>6</sup>
  C2=-1/2<sup>4</sup>-1/2<sup>8</sup>   C7=1/2<sup>3</sup>+1/2<sup>5</sup>   C12=1/2<sup>0</sup>
  C3=-1/2<sup>3</sup>+1/2<sup>5</sup>   C8=1/2<sup>1</sup>-1/2<sup>3</sup>   C13=1/2<sup>0</sup>-1/2<sup>3</sup>
  C4=-1/2<sup>3</sup>+1/2<sup>7</sup>   C9=1/2<sup>1</sup>+1/2<sup>3</sup>   C14=1/2<sup>1</sup>+1/2<sup>4</sup>
  C5=-1/2<sup>3</sup>+1/2<sup>5</sup>   C10=1/2<sup>0</sup>-1/2<sup>3</sup>   C15=1/2<sup>2</sup>-1/2<sup>5</sup>
系数可以排列成如下面表3所示的表:
表3
Figure C20061000500000101
表3包含以CSD格式表示的15个系数。由于每个系数可以由至多两个2的乘幂分之一的项来表示,因此需要两个组。可以使用各种技术来将系数划分为互斥组。下面的流程说明了如何划分两个组的系数,但是该流程对于两个组以上也能够容易地实现:
1.选择一行并且将该行中的所有项标记为‘组A’。
2.对于所选行中的每个‘1’或‘-1’,将相同列中的其它项标记为‘组B’。
3.对于每个被标记为‘组B’的项,将相同行中的全部项也标记为‘组B’。
4.对于被标记为‘组B’的行中的每个‘1’或‘-1’,将相同列中的其它项都标记为‘组A’。
5.对于被标记为‘组A’的每个项,将相同行中的全部项也都标记为‘组A’。
6.对于被标记为‘组A’的行中的每个‘1’或‘-1’,将相同列中的其它项标记为‘组B’。
7.重复步骤3-6直到全部的行都被标记为‘组A’或是‘组B’或是两者为止。
8.如果一行被标记为‘组A’和‘组B’,则特定项在两个复用器中都被用作输入。
9.如果系数仅有一个项,则在另一个分支中应当提供零。将零而不是该项放置在另一个组中。
遵循这样的流程,表3中的项可以被如下划分:组1可以包含移位0、1、5、7、8。组2可以包含移位2、3、4、6、7和零。注意在这种分组中,‘移位7’存在于两个组中,而所有其它的‘移位N’的输入只存在于一个组中。
通过使用优化和将项划分为互斥组,每个复用器110a″-110n″的输入的个数和电路100相比减少了。查找表112″和126″更小并且可以使用更低的门数来实现。
下面的表4示出了查找表112″的一个例子:
表4
  地址   MUXSEL[5:3]   MUXSEL[2:0]
  0   100   010
  1   010   100
  2   001   010
  3   001   011
  4   001   010
  5   101   100
  6   001   010
  7   001   001
  8   001   001
  9   001   000
  a   011   000
  b   101   000
  c   001   000
  d   010   001
  e   000   010
下面的表5说明了查找表126″的一个例子:
表5
  地址   SIGN[1]   SIGN[0]
  0   1   1
  1   1   1
  2   1   0
  3   1   0
  4   1   0
  5   0   1
  6   0   0
  7   1   0
  8   0   0
  9   1   0
  a   1   0
  b   0   0
  c   1   0
  d   0   0
  e   0   1
图1-3中的例子可以用来减少实现乘法器所需的门数。可以添加项或者减少项来改变乘法器的精度。系数可以是可编程的或固定的。当系数是已知(或固定)的时,将2的乘幂分之一的项分组为互斥组可以显著地减少乘法器的门数。
本发明可以提供如下的舍入:
对于操作数OP[7:0]=10110001(其中K为7),舍入器如所示向该数加1:
10110001(舍入器的输入)+1
-----------------------------------------
10110010(舍入器的输出)
一般来说,本发明可以用于加1/2^K,由于最高有效位具有1/2^0的权重,并且LSB当被表示为二进制数的分数时具有1/2^K的权重。MSB的指数N为0并且LSB的指数N为K。
在一个例子中,本发明可以在数字滤波器,诸如CDMA2000移动通信系统中的发射机或接收机滤波器中使用。然而,本发明可以被容易地归纳到其它的数字滤波器或应用。
本发明的各种信号一般是“通(on)”(例如数字HIGH,或1)或是“断(off)”(例如数字LOW,或0)。然而,可以相应调整(反转)信号的“通”(例如被维持(asserted))或是“断”(例如未被维持(de-asserted))状态的特定极性来满足特定实现的设计标准。此外,可以添加反相器来改变信号的特定极性。
虽然参照其优选实施例具体示出和说明了本发明,本领域的技术人员应当理解在不脱离本发明的主旨和范围的情况下可以进行各种形式和细节上的改变。

Claims (20)

1.一种装置,包括:
地址生成电路,其被配置成生成一系列地址;
查找表,其被配置成响应于所述地址生成一个或多个系数;
复用器电路,其被配置成响应于(i)所述系数和(ii)一个或多个操作数来生成一个或多个移位值;和
输出电路,其被配置成通过响应于所述移位值而组合一个或多个项值来生成输出信号,其中,所述系数被分组为互斥组,各组为2的乘幂分之一的项。
2.如权利要求1所述的装置,其中,所述输出电路进一步被配置为通过(i)对每个所述移位值进行舍入,和(ii)响应于一个或多个带符号的值的负值而对一个或多个所述舍入的移位值求反以生成所述一个或多个项值来产生所述输出信号。
3.如权利要求1所述的装置,其中:
所述复用器电路包括多个子复用器;和
所述输出电路包括多个舍入器电路,其中,增加所述子复用器和所述舍入器的个数以提高所述输出信号的精度。
4.如权利要求1所述的装置,其中,所述一个或多个系数包括标准带符号数字系数。
5.如权利要求4所述的装置,其中,所述标准带符号数字系数减少实现所述装置所需的总门数。
6.如权利要求1所述的装置,其中,所述系数是可编程的。
7.如权利要求1所述的装置,其中,所述系数是固定的。
8.如权利要求1所述的装置,其中,所述2的乘幂分之一的分组减少了所述装置的门数。
9.如权利要求1所述的装置,其中,所述装置包括标准带符号数字的系数乘法器。
10.一种装置,包括:
用于生成一系列地址的部件;
用于响应于所述地址而生成一个或多个系数的部件;
用于响应于(i)所述系数和(ii)一个或多个操作数而生成一个或多个移位值的部件;和
用于响应于所述移位值而组合一个或多个项值来生成输出信号的部件,其中所述系数被分组为互斥组,各组为2的乘幂分之一的项。
11.如权利要求10所述的装置,其中,所述用于生成所述输出信号的部件包括(i)对每个所述移位值进行舍入,和(ii)响应于一个或多个带符号值的负值而对一个或多个所述舍入的移位值求反以生成所述一个或多个项值。
12.一种用于实现乘法器的方法,包括下列步骤:
(A)生成一系列地址;
(B)响应于所述地址而从查找表生成一个或多个系数;
(C)响应于(i)所述系数和(ii)一个或多个操作数而生成一个或多个移位值;和
(D)响应于所述移位值而通过组合一个或多个项值来生成输出信号,其中所述系数被分组为互斥组,各组为2的乘幂分之一的项。
13.如权利要求12所述的方法,其中,所述输出信号通过(i)对每个所述移位值进行舍入,(ii)响应于一个或多个带符号值的负值而对一个或多个所述舍入的移位值求反以生成所述一个或多个项值来生成。
14.如权利要求12所述的方法,其中:
步骤(C)是使用多个子复用器来实现的;和
步骤(D)是使用多个舍入器电路来实现的,其中,增加所述子复用器和所述舍入器的个数以提高所述输出信号的精度。
15.如权利要求12所述的方法,其中,所述一个或多个系数包括标准带符号数字系数。
16.如权利要求15所述的方法,其中,所述标准带符号数字系数减少实现所述方法所需的总门数。
17.如权利要求12所述的方法,其中,所述系数是可编程的。
18.如权利要求12所述的方法,其中,所述系数是固定的。
19.如权利要求12所述的方法,其中,所述2的乘幂分之一的分组减少了在实现所述方法时的门数。
20.如权利要求12所述的方法,其中,所述方法用标准带符号数字的系数乘法器来实现。
CNB2006100050006A 2005-01-11 2006-01-11 优化的标准带符号数字的系数乘法器 Expired - Fee Related CN100435088C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/032,920 2005-01-11
US11/032,920 US7680872B2 (en) 2005-01-11 2005-01-11 Canonical signed digit (CSD) coefficient multiplier with optimization

Publications (2)

Publication Number Publication Date
CN1801079A CN1801079A (zh) 2006-07-12
CN100435088C true CN100435088C (zh) 2008-11-19

Family

ID=36654536

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100050006A Expired - Fee Related CN100435088C (zh) 2005-01-11 2006-01-11 优化的标准带符号数字的系数乘法器

Country Status (2)

Country Link
US (1) US7680872B2 (zh)
CN (1) CN100435088C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101156130B (zh) * 2005-03-31 2010-05-19 Nxp股份有限公司 正则符号数字乘法器
US8396913B2 (en) * 2005-04-12 2013-03-12 Nxp B.V. Fast fourier transform architecture
EP2608015B1 (en) 2011-12-21 2019-02-06 IMEC vzw System and method for implementing a multiplication
US9678749B2 (en) * 2014-12-22 2017-06-13 Intel Corporation Instruction and logic for shift-sum multiplier
CN110515585B (zh) * 2019-08-30 2024-03-19 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN111711431B (zh) * 2020-04-07 2021-01-19 深圳市觅拓物联信息技术有限公司 减少数字滤波器csd系数中非零位的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988008567A1 (en) * 1987-05-01 1988-11-03 General Electric Company Truncated product partial canonical signed digit multiplier
US5262974A (en) * 1991-10-28 1993-11-16 Trw Inc. Programmable canonic signed digit filter chip
CN1454347A (zh) * 2000-10-16 2003-11-05 诺基亚公司 使用带符号的数位表示的乘法器和移位器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4816805A (en) * 1987-02-02 1989-03-28 Grumman Aerospace Corporation Residue number system shift accumulator decoder
US5117385A (en) * 1990-03-16 1992-05-26 International Business Machines Corporation Table lookup multiplier with digital filter
US5548542A (en) * 1992-08-14 1996-08-20 Harris Corporation Half-band filter and method
US5313414A (en) * 1992-11-12 1994-05-17 Vlsi Technology, Inc. Canonical signed two's complement constant multiplier compiler
US6505221B1 (en) * 1999-09-20 2003-01-07 Koninklijke Philips Electronics N.V. FIR filter utilizing programmable shifter
US6466633B1 (en) * 2000-08-31 2002-10-15 Shiron Satellite Communications (1996) Ltd. Methods and apparatus for implementing a receiver filter with logarithmic coefficient multiplication
KR100340048B1 (ko) * 2000-10-26 2002-06-15 오길록 승산기를 사용하지 않는 유한 임펄스 응답 필터 장치
US7080115B2 (en) * 2002-05-22 2006-07-18 Broadcom Corporation Low-error canonic-signed-digit fixed-width multiplier, and method for designing same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988008567A1 (en) * 1987-05-01 1988-11-03 General Electric Company Truncated product partial canonical signed digit multiplier
US5262974A (en) * 1991-10-28 1993-11-16 Trw Inc. Programmable canonic signed digit filter chip
CN1454347A (zh) * 2000-10-16 2003-11-05 诺基亚公司 使用带符号的数位表示的乘法器和移位器

Also Published As

Publication number Publication date
CN1801079A (zh) 2006-07-12
US20060155793A1 (en) 2006-07-13
US7680872B2 (en) 2010-03-16

Similar Documents

Publication Publication Date Title
Vun et al. A new RNS based DA approach for inner product computation
CN100435088C (zh) 优化的标准带符号数字的系数乘法器
Saokar et al. High speed signed multiplier for digital signal processing applications
JP5356537B2 (ja) 前置加算器段を備えたデジタル信号処理ブロック
US6609143B1 (en) Method and apparatus for arithmetic operation
Al-Khaleel et al. Fast and compact binary-to-BCD conversion circuits for decimal multiplication
CN108255777A (zh) 用于fpga的嵌入式浮点型dsp硬核结构
CN102184161A (zh) 基于余数系统的矩阵求逆装置及方法
CN101295237B (zh) 求商和余数的高速除法器
Raajitha et al. Design of thermometer coding and one-hot coding
Kumar et al. Design of area and power efficient digital FIR filter using modified MAC unit
Kumar et al. FPGA Implementation of Systolic FIR Filter Using Single-Channel Method
Raj et al. A paradigm of distributed arithmetic (DA) approaches for digital FIR filter
Saini et al. Area Optimization of FIR Filter and its Implementation on FPGA
Ali Cascaded ripple carry adder based SRCSA for efficient FIR filter
James et al. Performance analysis of double digit decimal multiplier on various FPGA logic families
Goel et al. Novel architecture for area and delay efficient vedic multiplier
Juang et al. Fast binary to BCD converters for decimal communications using new recoding circuits
EP1402394A2 (en) Dsp execution unit for efficient alternate modes of operation
CN116991359B (zh) Booth乘法器、混合Booth乘法器及运算方法
CN110506255A (zh) 节能型可变功率加法器及其使用方法
CN112187215B (zh) 一种级联半带插值滤波器结构
Reddy et al. A modified approach for reconfigurable FIR filter architecture
SU1756887A1 (ru) Устройство дл делени чисел в модул рной системе счислени
Pari et al. Reconfigurable architecture of RNS based high speed FIR filter

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160803

Address after: California, USA

Patentee after: INTEL Corp.

Address before: British West Indies

Patentee before: VIA Telecom Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20200402

Address after: California, USA

Patentee after: Apple Inc.

Address before: California, USA

Patentee before: INTEL Corp.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081119

CF01 Termination of patent right due to non-payment of annual fee