CN101042583A - 用于可编程逻辑器件的专门处理块 - Google Patents
用于可编程逻辑器件的专门处理块 Download PDFInfo
- Publication number
- CN101042583A CN101042583A CNA200710087956XA CN200710087956A CN101042583A CN 101042583 A CN101042583 A CN 101042583A CN A200710087956X A CNA200710087956X A CN A200710087956XA CN 200710087956 A CN200710087956 A CN 200710087956A CN 101042583 A CN101042583 A CN 101042583A
- Authority
- CN
- China
- Prior art keywords
- processing block
- rounding
- circuit
- result
- specialized processing
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 150
- 229920006395 saturated elastomer Polymers 0.000 description 28
- 239000013598 vector Substances 0.000 description 23
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000008676 import Effects 0.000 description 11
- 238000007792 addition Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 10
- 239000003638 chemical reducing agent Substances 0.000 description 9
- 230000000295 complement effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000000151 deposition Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004804 winding Methods 0.000 description 2
- 241001673391 Entandrophragma candollei Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
- G06F7/49963—Rounding to nearest
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49921—Saturation, i.e. clipping the result to a minimum or maximum value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/5443—Sum of products
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Complex Calculations (AREA)
- Logic Circuits (AREA)
- Image Processing (AREA)
Abstract
一种用于可编程逻辑器件的专门处理块,包括用于执行乘法并对其求和的电路,以及对该结果进行舍入的电路。该舍入电路可以选择性地执行舍入到最接近和舍入到最接近偶数操作。另外,优选地,舍入发生的位位置是可选择的。优选地该专门处理块还包括饱和电路以防止溢出和下溢,并且优选地饱和发生的位位置也是可选择的。舍入和饱和位置的选择能力提供了对输出数据字宽度的控制。根据定时需要,舍入和饱和电路可以可选择地定位于不同的位置。类似地,使用并行计算舍入和非舍入结果的预测性模式以及在那些结果间选择的舍入逻辑,可以加速舍入。
Description
相关申请的交叉引用
【0001】本申请要求共同待审、被共同转让的于2006年2月9日申请的美国临时专利申请No.60/771,989的权益,在此其整个内容被结合作为参考。
技术领域
【0002】本发明涉及可编程逻辑器件(PLD),更具体地涉及可以被包括在这样的器件中的专门处理块。
背景技术
【0003】随着使用PLD的应用在复杂性上的增加,设计包括除了通用可编程逻辑资源块之外的专门处理块的PLD已经变得更加普遍。这样的专门处理块可以包括已经被部分或全部硬连线以执行一个或多个特殊任务比如逻辑或数学运算的PLD上的电路集结。专门处理块也可以包括一个或多个专门的结构,比如可配置存储器元件阵列。通常在这样的专门处理块中实现的结构的例子包括:乘法器、算术逻辑单元(ALU)、桶移位器、各种存储器元件(比如FIFO/LIFO/SIPO/RAM/ROM/CAM块以及寄存器文件)、AND/NAND/OR/NOR阵列等,或它们的组合。
【0004】已经提供在PLD中的一种特别有用类型的专门处理块是可以被用于处理例如音频信号的数字信号处理(DSP)块。这些块通常也被称为乘累积(“MAC”)块,因为它们包括执行乘法运算以及乘法运算的求和和/或累加的结构。
【0005】例如,由加利福尼亚州的San Jose的Altera公司销售的名为STRATIXII的PLD包括每个都包含DSP块,每个DSP块包括4个18×18的乘法器。每个那些DSP块还包括加法器和寄存器,以及允许各种部件以不同的方式进行配置的可编程连接器(例如乘法器)。在每一个这样的块中,乘法器不仅可以被配置为4个单独的18×18的乘法器,而且可以被配置为4个更小的乘法器,或者被配置为一个更大(36×36)的乘法器。另外,可以执行一个18×18的复数乘法(其分解成用于各实数和虚数部分的两个18×18的乘法运算)。为了支持4个18×18的乘法运算,该块具有4×(18+18)=144个输入。类似地,18×18的乘法的输出是36位宽,因此为了支持4个这样的乘法运算的输出,该块也具有36×4=144个输出。
【0006】这样的DSP块执行的操作通常要求舍入(rounding)。然而,包括在前述STRATIXII型PLD中提供的DSP块的已知DSP块具有有限的舍入能力。类似地,DSP块操作要求能够截取结果。为了防止大的正结果溢出成负数,或防止高的负结果溢出成正数,这样的截取或饱和(saturation)是必须的。然而,已知DSP块的饱和能力也是有限的。
【0007】希望能够提供PLD的DSP块的改进的舍入和饱和能力。
发明内容
【0008】本发明涉及用于PLD的专门处理块,其中该专门处理块具有改进的舍入和饱和能力。
【0009】优选地,本发明使用的专门处理块包括多个基本处理单元以代替分离的乘法器。优选地每个基本处理单元包括至少两个乘法器以及对所有这至少两个乘法器的部分积求和的逻辑的等同物。结果,在单个步骤中就计算了所有乘法的和,而不是对每个乘法器的部分积求和以形成各个积并且随后对那些积求和。这样的基本处理单元可以用比单独的乘法器和加法器的面积更小的面积构建。如果单个乘法被要求执行,则使用在基本处理单元中的其中一个乘法器,而到另一个(或另外多个)乘法器的输入被置零。然而,由于提供的基本处理单元减小了专门处理块的面积,因此提高了效率。
【0010】在一个优选实施例中,该基本处理单元包括两个18×18乘法器和一个加法器的等同物,因此它可以输出两个乘法运算的总和。虽然18×18乘法器中的每一个可以被配置用于更小的乘法运算(例如9×9或12×12),但基本处理单元的集成性意味着单独的乘法器输出是不可获得的。只有该总和可以由该专门处理块的剩余部分使用。因此,为了得到18位×18位或更小的单个非复数乘法的结果,必须使用整个基本处理单元。不能是空闲的第二乘法器简单地使它的输入为零。
【0011】优选地,和本发明一起使用的专门处理块还具有一个或多个附加的加法器,以用于基本处理单元的输出以及可选的流水线寄存器(pipelineregister)和灵活输出级的输出的附加处理。因此优选地该专门处理块可以配置成用于各种形式的滤波和其它数字信号处理操作。此外,优选地该专门处理块还能够反馈其输出的至少一个作为输入(这在自适应滤波操作中有用),并且能够将输入和输出都链接到附加专门处理块。
【0012】根据本发明的专门处理块优选包括灵活的舍入电路和灵活的饱和电路。优选地该舍入和饱和电路处于单个的舍入/饱和块中。然而,在某些实施例中,如下所述,该舍入和饱和电路可以是分离的。
【0013】根据本发明的灵活饱和电路优选允许用户在舍入到最接近的整数和舍入到最接近的偶数之间进行选择。如已知的,舍入到最接近的偶数在操作上与舍入到最接近的整数是一样的,除了当余项精确地等于二分之一时。在舍入到最接近的整数时,当余项精确地等于二分之一时,结果总是向上舍入到下一个整数。在舍入到最接近的偶数时,当余项精确地等于二分之一时,如果下一个整数是偶数则结果是向上舍入,而如果下一个整数是奇数则向下舍入。优选地灵活的舍入电路还允许用户选择发生舍入处的结果的位位置。而且优选地灵活的舍入电路在专门处理块中的位置是可选择的,所以关键的定时路径不会被舍入操作不必要地影响。
【0014】根据本发明的灵活饱和电路优选地允许用户在结果的对称和非对称截取(clipping)之间选择。如已知的,在某种类型的数字表示中,比如二进制反码表示中,范围向上变动到2n-1的数字变量范围向下变动到-(2n-1),因此范围变动对称。然而,在其它类型的数字表示中,比如二进制补码表示中,范围向上变动到2n-1的数字变量范围向下变动到-(2n),因此范围变动不对称。在截取运算结果时,人们可能希望对称地截取结果而不管表示的类型,并且优选地本发明允许用户选择这样的结果。灵活的饱和电路优选地还允许用户选择发生截取处的结果的位位置。而且灵活的饱和电路在专门处理块中的位置优选地是可选择的,所以关键的定时路径不会被截取操作不必要地影响。
【0015】因此,根据本发明,提供了一种用于可编程逻辑器件的专门处理块。该专门处理块包括用于提供输入的积及这些积的和以输出结果的运算电路。该专门处理块进一步包括以下之一或两个(1)舍入电路,其用于可选择地将结果舍入为以下之一(a)最接近的整数和(b)最接近的偶整数,以及(2)饱和电路,其用于将所述结果截取到所述运算电路操作的值范围内的值。
附图说明
【0016】结合附图,考虑到下面的详细描述,本发明的上述和其它目的及优点将更加明显,在整个附图中,相同的标记字符表示相同的部件,并且其中:
【0017】图1是根据本发明的专门处理块的一个优选实施例的高级图;
【0018】图2是图1的专门处理块的功能图;
【0019】图3是根据本发明的用于专门处理块的基本处理单元的一个优选实施例的框图;
【0020】图4是根据本发明的专门处理块的输出级的优选实施例;
【0021】图5是根据本发明的第一个优选实施例配置为有限脉冲响应滤波器的一部分的专门处理块的功能图;
【0022】图6是根据本发明的舍入到最接近偶数逻辑的图;
【0023】图7是根据本发明第一实施例的显示舍入和饱和逻辑的专门处理块的一部分的示意图;
【0024】图8是根据本发明第二个实施例的显示舍入和饱和逻辑的专门处理块的一部分的示意图;
【0025】图9是根据本发明一个实施例的显示舍入和饱和逻辑的位置的级联模式专门处理块的一部分的示意图;
【0026】图10是根据本发明另一个实施例的显示舍入和饱和逻辑的位置的级联模式专门处理块的一部分的示意图;
【0027】图11是根据本发明又一个实施例的显示舍入和饱和逻辑的位置的级联模式专门处理块的一部分的示意图;以及
【0028】图12是使用结合本发明的可编程逻辑器件的说明性系统的简化框图。
具体实施方式
【0029】舍入是通过从数的表示中移除较低阶(lower-order)范围的位并可能修改数的剩余部分来减小数的精度,从而更准确地表示它的先前值的技术。例如,如果原始数具有N位精度,而舍入数可以只有M位精度(其中N>M),意味着在舍入过程中N-M位精度从数中被移除。
【0030】舍入到最接近的方法返回最接近原始值的数。这通常被称为“舍入到最接近整数”(round-to-nearest-integer,RNI),但是由于它对小于1的数也起作用,所以“舍入到最接近”更适合。根据约定,按照这个方法,精确地位于两个数之间一半的原始数(因此具有两个“最接近”的数)总是舍入到两个数中更大的数。例如,当舍入3位二进制补码小数0.25(二进制0.01)为最接近的2位二进制补码小数时,该方法返回0.5(二进制0.1)。原始的小数精确地位于0.5和0.0(二进制0.0)的中间,因此这个方法向上舍入。由于它总是向上舍入,这个方法也被称为“偏舍入”(biased rounding)。
【0031】“收敛舍入(convergent rounding)”或“舍入到最接近偶数”(RNE)方法也返回最接近于原始数的数。然而,如果原始数精确地位于两个数的中间,这个方法就返回最接近的偶数,在二进制表示中该偶数是包括最低有效位0的一个数。因此对于上述例子,该结果将会是0.0,因为那是0.5和0.0之间的偶数选择。因为它根据周围值或者上舍入或者下舍入,而不是总是向同一方向舍入,所以这个方法也被称为“无偏舍入”(unbiasedrounding)。
【0032】一些例子被显示在下面的表中,其中6位数被舍入为4位精度:
原始数(十进制等值数) | 符号 | 前4位奇还是偶? | 后两个位</>二分之一 | RNI结果(十进制等值数) | RNE结果(十进制等值数) |
010111(23) | + | 奇(LSB=1) | 更大(.11B=.75) | 011000(24) | 011000(24) |
001001(9) | + | 偶(LSB=0) | 更小(.01B=.25) | 001000(8) | 001000(8) |
001010(10) | + | 偶(LSB=0) | 相等(.10B=.50) | 001100(12) | 001000(8) |
001110(14) | + | 奇(LSB=1) | 相等(.10B=.50) | 010000(16) | 010000(16) |
110111(-9) | - | 奇(LSB=1) | 更大(.11B=.75) | 111000(-8) | 111000(-8) |
101001(-23) | - | 偶(LSB=0) | 更小(.01B=.25) | 101000(-24) | 101000(-24) |
110110(-10) | - | 奇(LSB=1) | 相等(.10B=.50) | 111000(-8) | 111000(-8) |
110010(-14) | - | 偶(LSB=0) | 相等(.10B=.50) | 110100(-12) | 110000(-16) |
【0033】当运算操作的结果超过目的存储器的范围时,重要的信息可能被丢失。饱和是用来包含目的存储器可以表示的值范围内的数量的技术。当计算的值超过目的存储器的容量时,那么写入到寄存器的值被“饱和”或“截取”到该存储器可以保存且与原始值具有相同符号的最大值。
【0034】因此,例如,如果一个操作会另外地引起正值溢出且变成负的,饱和就将该结果限制到正在使用的存储器的最大正值。相反地,如果一个操作会另外地引起负值溢出且变成正的,饱和就将该结果限制到存储器的最大负值。
【0035】例如,如果包含0×1000(十进制整数+4096)的16位寄存器被左移3位而不饱和,则它将溢出为0×8000(十进制-32,768)。然而,利用饱和,左移3位或更多位将总是产生最大的正16位数,0x7FFF(十进制+32,767)。在上述的补码例子中,最大正数是2n-1而最大负数是-(2n),如果非对称,则饱和或截取特征将截取上侧和下侧值为2n-1和-(2n),但如果对称则为2n-1和-(2n-1),即使负值-(2n)是可得到的。因此,对于16位的情况:
非对称饱和:最大=0x7FFF,最小=0x8000
对称饱和:最大=0x7FFF,最小=0x8001
【0036】现在将参考图1-11对本发明进行描述。
【0037】图1是根据本发明的专门处理块的一个优选实施例10的高级图,而图2是同一实施例10的功能图。
【0038】如图1所示,专门处理块10包括可选的输入预多路复用(pre-MUX)级11、可选的输入寄存器级12、可选的输入多路复用级13、乘法级14、可选的流水线寄存器级15和加法器/输出级16。
【0039】如果被提供,则输入预多路复用级11的功能是将常规输入、回环输入和级联输入(见下面)格式化成适合于寄存的形式。
【0040】常规输入不需要任何特定的格式化。级联输入可以是先前输入的一个寄存器延迟版本,因此可能相应地需要格式化。然而,这样的格式化也可以在专门处理块10是其一部分的可编程逻辑器件的可编程逻辑中进行,因此如果级联输入的格式化是唯一需要的预多路复用功能,则可以省略输入预多路复用级11,或者如果提供了输入预多路复用级11则可以被旁路。回环输入17可以被安排使得它可以总是连接到特殊的乘法器或乘法器组。由输入预多路复用级11执行的格式化可以包括特殊输入到特殊的位位置的指示,其取决于专门处理块10执行的功能。在一个实施例中,根据标识各种可能操作(例如,各种大小的简单或复数乘法、移位操作、循环操作等)和指定相应需要的格式化的存储表,格式化可以被执行。
【0041】如果被提供,则输入预多路复用级11的输出可以由可选的输入寄存器级12寄存。如果不存在输入预多路复用级11,那么如果需要输入寄存器功能,则该输入寄存器功能可以在块10是其一部分的可编程逻辑器件的可编程逻辑部分中执行。因此,输入寄存器级12被认为是可选的。即使被提供,输入寄存器级12优选地可以被可选地旁路以防需要或希望未寄存的输出。
【0042】如果被提供,输入多路复用级13就从输入预多路复用级11取得寄存或未寄存的输入以及可能从可编程逻辑器件的其它地方取得输入,并且将数据格式化用于不同的操作模式。在那方面它类似于输入预多路复用级11,并且因此如果输入预多路复用级11和输入多路复用级13其中之一被频繁地提供,则另一个将不会被提供。
【0043】作为由输入预多路复用级11或输入多路复用级13执行的格式化类型的例子,考虑18×18复数乘法,其中:
实部结果=Re[(a+jb)×(c+jd)]=(ac-bd)
虚部结果=Im[(a+jb)×(c+jd)]=(ad+bc)
该复数运算需要4个18×18乘法,并且因此需要8个18位输入,但是由于只存在4个唯一的18位共享输入,因此输入多路复用级13将取得输入a、b、c和d并且执行必要的复制,使得那4个输入被正确地路由到正确的乘法器输入以用于每个实部和虚部计算。类似地,对于9-位以及12-位模式操作,输入预多路复用级11和/或输入多路复用级13确保输入位的正确排列以便获得正确结果。
【0044】优选地乘法级14包括多个如上所述的基本处理单元。在优选实施例中,每个专门处理块10(见图2)包括4个基本处理单元30,意味着在两个一起进行求和的乘法组中它可以执行多达8个乘法。在该实施例中,优选地在专门处理块10中的基本处理单元被分组为相同的半块,从而在它自己右侧的每个半块可以被认为是本发明内的专门处理块。
【0045】优选地每个基本处理单元包括用于对两个18×18乘法求和的功能。优选地这些基本处理单元都完全相同,但在一些实施例中,可能仅在一些乘法器的一些输入提供求反功能,因为可能需要用于例如可能需要减法(如上面明显的)的复数乘法。可选择地,该求反功能可以被提供在基本处理单元的加法部分,以便一个或多个加法器也可以执行减法。
【0046】在图3中显示了基本处理单元的一个优选实施例的结构。每个基本处理单元30优选地支持两个18×18乘法的求和并且优选地包括两个部分积发生器31、两个10矢量到2矢量压缩器32、4到2压缩器33以及两个进位传递加法器34。加法器34优选地包括由控制信号342可选择地可连接的一个30位加法器340和一个24位加法器341。对于更小的乘法比如9×9或12×12,只需要24位,因此两个加法器可以被断开以允许两个独立的乘法。对于更大的乘法比如18×18,两个加法器34应当被连接在一起作为单个的加法器。
【0047】每个部分积发生器31优选地产生9个20位带符号的Booth编码矢量(Booth编码是可以减少部分积数量的公知技术)和一个17位无符号进位矢量(负部分积是反码格式,带有进位矢量中的相关进位-输入(carry-in)位)。附加的19位带符号部分积可以在无符号乘法器的情况下被产生(其对于带符号乘法器优选地将总是为零)。虽然优选地可以产生多达11个矢量,但是优选地进位位可以与部分积矢量组合,只需要压缩10个矢量。
【0048】优选地部分积被压缩为两个39位矢量(36位加上符号扩展位)。任何符号扩展应当正确地保存越过36位18×18乘法器边界,以便任何符号扩展可以是有效的,直到72位36×36乘法器边界(在如下所述的两个基本处理单元被组合以实现36×36乘法的情况下)。压缩后,在多路复用和移位电路(mux-and-shift circuitry)35中优选地处理该结果,由于根据被执行的操作可以被需求,该多路复用和移位电路35优选地包括组合逻辑,在该组合逻辑处进行加法(因为可能需要加法,这取决于正在执行的操作)前结果的任何符号扩展、零填充或移位可以先于在4到2压缩器33和进位传递加法器34中的结果被最终组合而完成。对于每一个电路350、351,优选地输入是总共78个输入位的两个39位矢量,而优选地输出总共108个位的两个54位矢量。额外的30个位是符号扩展、零填充和或移位的结果。多路复用器352指示在符号扩展或零填充结果之间的选择。4个54位矢量被输入给输出两个54位矢量的压缩器33,这两个54位矢量在加法器34中被相加以产生54位输出。
【0049】如上所讨论的,由于来自两个乘法器的部分积被立刻相加,所以基本处理单元的两个乘法器不能被用于两个独立的乘法,但是通过对第二乘法器的输入置零可以执行单个乘法。
【0050】对于更小的乘法,独立子集乘法器(9×9或12×12的情况)可以被处理如下:
【0051】对于两个9×9乘法,第一个9×9乘法优选地使用第一个乘法器(在图3的左侧)的最高有效位(MSB)进行计算,而第二个9×9乘法优选地使用第二个乘法器(在图3的右侧)的最低有效位(LSB)进行计算。适当地,右乘法器的最高有效位用相应值的符号扩展填充。左乘法器的输出(和以及进位矢量)被左移18位。然后优选地这两个乘法器的输出一起被压缩并且随后两个结果的最后矢量由两个加法器34相加,对于这个操作这两个加法器没有连接在一起。第一个9×9结果优选地被输出在左(30位)加法器340的最高有效位上,而第二个9×9结果优选地被输出在右(24位)加法器341的最低有效位上。
【0052】使用该MSB/LSB方法,独立的12×12乘法可以用与9×9乘法类似的方式计算。
【0053】在两种情况中,优选地右乘法器输出被置零在24个位以上,以防止和独立的左乘法器结果的任何干扰。
【0054】在求和的乘法的情况下,不管精度如何,所有的输入优选地被移位以占领使用的乘法器的最高有效位,而输出矢量优选地不被移位。然而,输出矢量优选地被完全符号扩展,以便来自加法器34的符号扩展可以被用于累加器(如下)的全部宽度。
【0055】优选地,对于需要对积进行减法的复数乘法和其它操作,加法器输入可以被求反(negated)(有效地使该加法器成为加法器/减法器)。然而,可选择地,通过反转该输入(二进制反码)并且将被乘数加到该结果上,可以为一个或多个乘法器提供选择性地对它的输出矢量求反的能力。被乘数加法可以在部分积的压缩中执行,因此求反可以在加法器34之前被实现。
【0056】优选地可以由用户选择旁路的流水线寄存器级15优选地允许在进一步的加法或累加或其它处理之前将乘法级14的输出寄存。
【0057】优选地加法器/输出级16选择性地移位、加、累加或寄存它的输入或上述的任何组合。优选地它的输入是在专门处理块10中的两个基本处理单元的输出。如图4所示,那两个输入40、41被输入给可选地可以移位或符号扩展输入40、41的各自寄存器/移位器单元42、43。在一个优选实施例中,每个输入40、41是54位矢量,其被移位或符号扩展以产生各自的72位矢量。
【0058】单元42、43的输出优选地被输入给3∶2压缩器44,优选地,连同级16自己的输出45输入给压缩器44。这个反馈为专门处理块10提供了累加功能。优选地,该反馈输出45通过多路复用器46,当累加是不必要或不被希望时该多路复用器可选择地选择零(例如,地)输入。
【0059】压缩器44的输出被提供(通过如下描述的适当的多路复用器)给两个加法器47、48,加法器47、48可以在可编程控制下链接在一起,这取决于如下所述它们要被运用的用途。如由多路复用器401、402确定的,加法器47、48的输出优选地可以被寄存在寄存器49、400中或不被寄存。不管寄存与否,输出47、48优选地构成了专门处理块10的输出矢量。作为替换的路径,在基本处理单元30的输出将被输出而不需要进一步处理时,多路复用器403、404、405允许加法器47、48被旁路。
【0060】如上所述,在每个基本处理单元30可以执行两个18×18乘法的求和的情况下,两个基本处理单元30可以执行36×36乘法,36×36乘法公知地可以被分解成4个18×18乘法。在这种情况下,两个压缩的72位矢量优选地由压缩器44输出并且优选地由两个44位加法器47、48将它们加在一起,加法器47、48可以由AND(与)门406可编程地连接在一起用于这个模式。在这个模式中高16个位可以被忽略。
【0061】在具有更窄输出的其它模式中,在加法器47、48不需要被连接在一起,加法器47、48可选地可以被布置以将专门处理块10的输出与另一专门处理块10的类似输出链接起来。为了方便这样的模式,寄存器400的输出例如可以被反馈给提供两个输入到加法器47的4∶2多路复用器407。多路复用器407的其它输入可以是由压缩器44输出的两个矢量以及来自另一专门处理块10的链入(chain-in)输入408,该链入输入可以通过来自其它专门处理块10的寄存器49的链出(chain-out)输出409提供。
【0062】因此,在链接模式中,44位加法器48可以用来将配置为例如单个乘法器、乘法器的和或累加器的其中一个专门处理块10内的结果与先前块的结果加在一起。通过使用多路复用器407选择加法器48的输出以及另一专门处理块10的输出作为加法器47的输入,当前专门处理块10的输出可以是当前和先前专门处理块10的输出的链接和。如果使用链接模式,只可以获得44位累加器,取决于乘法器的数量,其将仍给出6位到8位的保护带。然而,显然地,链接模式不能用于36位模式,在该模式中加法器47、48都被需要以获得单个专门处理块10的结果。
【0063】根据操作模式输出路径可以略微不同。因此,多路复用器401、402允许选择加法器47、48的寄存或未寄存的输出。然而如所示的,可以理解的是,优选地寄存的输出用于级联或链接模式。
【0064】另外,如在17处,至少一个输出可以被回送到专门处理块10的输入。例如,如果专门处理块10被可编程地配置用于自适应滤波,这样的回送特征可以被使用。虽然可以提供多个回送,但在优选实施例中,提供一个到单个乘法器或乘法器组的回送17。
【0065】本发明的专门处理块10可以被可编程地配置为长链有限脉冲响应(FIR)滤波器。如图5所示,4个基本处理单元30被配置为这样的FIR滤波器50的一部分。如上所讨论的,这可以被认为是一个或者两个专门处理块10。如所示的,每个加法器48被用来将4个乘法的结果相加,用在上述链接或级联模式中的加法器47将加法器48的输出加在一起(可能地,连同其它专门处理块10的加法器48的输出),以形成一个长的FIR滤波器。FIR滤波器的系数是在51的输入,而将被滤波的数据通过寄存器链52被输入,寄存器链52优选地形成在输入预多路复用器级11、输入寄存器级12或输入多路复用级13之一中。为了说明由输出级联链引入的延迟,至少一个额外的延迟53(例如,以额外寄存器的形式)优选地被提供在输入级联链52中。优选地,延迟的数量对应于加法器47的数量,或更具体地,对应于延迟53补偿的输出寄存器409的数量。通常,这等于用于每对基本处理单元30的一个延迟53。如上面所讨论的,虽然在优选实施例中,两个基本处理单元30构成一个半块,但是它们也被认为是在它们自己右边的专门处理块10。
【0066】如上面所讨论的,优选地在专门处理块10中还提供了舍入和饱和电路。如所讨论的,舍入电路优选地允许用户在舍入到最接近模式和舍入到最接近偶数模式之间选择(舍位或截断(truncation)——即总是下舍入——也可以作为一种选择提供)。如还讨论的,饱和电路优选地允许用户在对称和非对称截取之间选择。另外,舍入电路优选地允许用户选择在哪一个位进行舍入而饱和电路优选地允许用户选择在哪一个位发生饱和。在那些选择分别确定了最低和最高有效位的位置的情况下,那些选择允许用户确定输出字的宽度。优选地,这通过提供可以被分别解码成各自的表示舍入和饱和位置的16位数的两个各自的4位变量来完成。
【0067】舍入到最接近的计算是不重要的,因为它简单地涉及加二分之一(即,将1加到舍入位置后的下一个最高有效位)然后截断该结果(即,用零代替舍入位置后的所有值)。
【0068】舍入到最接近偶数的计算更加复杂,因为它涉及确定越过舍入位置的位的值是否精确地等于二分之一。
【0069】用于计算各种类型的舍入的逻辑60被显示在图6中。变量ROUND确定接下来跟着的是分支61还是分支62。如果ROUND=0,将不执行舍入并且接下来的是分支61,在610设置RNDSEL=0。如果ROUND=1,将执行舍入并且接下来的是分支62,且对每一个位位置重复进行,并将结果取或(OR)在一起。因此,在优选的16位实施例中,这进行了16次并且在16位宽的或门OR中进行或运算。
【0070】在分支62中,RRND是从代表舍入位置的4位数解码得到的值,LSB是在舍入位置中的位,G是舍入位置后的下一个最高有效位(即,舍入位置右边的位),S是将G向右的所有位或在一起的结果。因此,对于通过分支62的特殊通路,如果在620RRND是0,则对于该位位置不存在舍入并且在621设置RNDSEL为0。如果在620RRND是1,则对该位位置执行舍入并且在622检查G的值。
【0071】如果G=0,则超过LSB的余数小于二分之一并且结果将被下舍入(即,不是舍入而是截断),并且在623RNDSEL被设置为0。如果G=1,则超过LSB的余数大于或等于二分之一,且进一步的舍入步骤取决于将执行的是偏舍入(BIASRND=1)还是无偏舍入(BIASRND=0),如在624确定的。
【0072】如果执行偏舍入(即,BIASRND=1),则结果应当被上舍入而不管余数是否精确地等于二分之一,因此在625RNDSEL被设置为1。
【0073】如果执行无偏舍入(即,BIASRND=0),则仅当余数大于二分之一或仅当余数精确地等于二分之一而LSB=1时结果应当被上舍入。因此,如果BIASRND=0,则在626检查S的值。如果S=1,则余数大于二分之一且结果应当舍入,因此在627设置RNDSEL为1。如果S=0,则余数精确地等于二分之一,因此在628检查LSB。如果LSB=0,则舍入到最接近的偶数表示下舍入并且在629设置RNDSEL为0。如果LSB=1,则舍入到最接近的偶数表示上舍入并且在630设置RNDSEL为1。
【0074】如上所述,在所有RNDSEL位进行或运算之后,该结果RNDSEL被用作控制位以在舍入和未舍入的值之间选择,例如如图7和8所示。在图7的可以在专门处理块10中可编程地实现的实施例70中,加法器71的输出被输入到舍入逻辑60和另一加法器72两者。舍入逻辑60的输出也被输入到加法器72,并控制加法器72是否将加法器71的输出加1。因为这些舍入操作以及在饱和逻辑73中的饱和操作位于寄存器74、75之间的关键路径,所以该舍入和饱和操作必须在一个时钟周期内完成。这将最大时钟速度限制到舍入和饱和操作可以被完成的时钟速度。
【0075】因此,在图8的可以在专门处理块10中可编程地实现的实施例80中,不在执行加法82前等待舍入逻辑60,而是加法71和加法82被同时执行并且舍入逻辑60的结果被用来控制在加法器71、82之间选择的多路复用器81。这个先行(look-ahead)舍入减少了执行舍入操作需要的时间,并因此增加了最大可允许的时钟速度。
【0076】当专门处理块10与另一专门处理块10一起被用在输出级联模式中时,类似的时钟控制问题会出现。如在图9的可以在专门处理块10中可编程地实现的实施例90中所示的,舍入和饱和电路91被定位在级联加法器92和寄存器93之间。又一次,这将它放置在关键路径上用于寄存器定时。因此,在图10所示的可以在专门处理块10中可编程地实现的实施例100中,舍入和饱和电路91被放置在寄存器93后面。虽然这把舍入和饱和电路91从关键路径上移走了,但它增加了完成时间(time-to-clockout,Tco),因为舍入和饱和操作稍后执行。
【0077】因此,图11所示的可以在专门处理块10中可编程地实现的又一实施例110可以在舍入到最接近的实现中得到,如上所述,舍入到最接近的实现仅需要在下一个最高有效位位置上加1并截断。这发生在寄存器74之前的111,并因此不在关键路径上。分离的饱和电路112位于寄存器93之后,并因此也不在关键路径上。虽然与实施例100中一样,饱和电路112的位置增加了TCO,但它没有同样多地增加TCO,因为仅执行了饱和而没有执行舍入。在另一可替换实例(未示出)中,与图8的实施例80类似的先行实现可以结合图11的分离的饱和电路112使用。
【0078】因此,可以看到,基于多个基本处理单元,可编程逻辑器件的专门处理块已经被提供,并且这样的专门处理块可以执行许多的例如在数字信号处理操作和类似的操作中有用的滤波操作。
【0079】结合根据本发明的这样的电路的PLD120可以被用在多种电子设备中。一种可能的用途是用在图12所示的数据处理系统900中。数据处理系统900可以包括下面部件中的一个或多个:处理器901、存储器902、输入/输出(I/O)电路903以及外围设备904。这些部件由系统总线905连接在一起并且组装在包含在终端用户系统907中的电路板906上。
【0080】系统900可以被用在广泛的多种应用中,比如计算机联网、数据联网、仪器使用、视频处理、数字信号处理或任何其它希望使用可编程或可重新编程逻辑的优点的应用中。PLD 120可以用来执行各种不同的逻辑功能。例如,PLD 120可以被配置为处理器或与处理器901协同工作的控制器。PLD 120也可以被用作在系统900中裁定对共享资源进行访问的仲裁器。在另一例子中,PLD 120可以被配置为处理器901和系统900中的其它部件之一之间的接口。应当注意,系统900仅是示例性的,本发明的真正范围和精神应当由所附的权利要求指出。
【0081】各种技术可以被用来实现如上所述的并结合本发明的PLD120。
【0082】应当理解,上面仅仅是本发明原理的说明,本领域技术人员可以进行各种修改而不脱离本发明的范围和精神。例如,本发明的各种元件可以以任何希望的数量和/或布置提供在PLD中。本领域技术人员将明白本发明可以用不同于描述的实施例的实施例实现,所描述的实施例只是为了说明的目的而不是为了限制,并且本发明仅由所附的权利要求限定。
Claims (37)
1、一种用于可编程逻辑器件的专门处理块,所述专门处理块包括:
用于提供输入的积及所述积的和以输出结果的运算电路;以及
用于选择性地将所述结果舍入为(a)最接近的整数以及(b)最接近的偶整数中之一的舍入电路。
2、如权利要求1所述的专门处理块,其中所述舍入电路在所述结果的可选择的位位置执行所述舍入。
3、如权利要求1所述的专门处理块,其中:
所述运算电路在一个范围内的值上运行,所述范围向上延伸到最高正值且向下延伸到最高负值;所述专门处理块进一步包括:
用于将所述结果截取为所述范围内的值的饱和电路。
4、如权利要求3所述的专门处理块,其中所述饱和电路在所述结果的可选择的位位置上执行所述截取。
5、如权利要求3所述的专门处理块,其中所述饱和电路对称地截取所述结果。
6、如权利要求3所述的专门处理块,其中所述饱和电路非对称地截取所述结果。
7、如权利要求3所述的专门处理块,其中所述饱和电路在所述舍入电路之后运行。
8、如权利要求1所述的专门处理块,其中所述舍入电路是可编程地可定位的,以优化所述专门处理块的操作。
9、如权利要求8所述的专门处理块,其中至少所述舍入电路的第一部分是并行于至少一部分所述运算电路可编程地可定位的,以便以先行模式运行。
10、如权利要求9所述的专门处理块,其中:
所述运算电路的所述部分计算所述结果,而不进行舍入;
并行于所述运算电路的所述部分不舍入地计算所述结果,所述舍入电路的所述第一部分舍入地计算所述结果;以及
所述舍入电路进一步包括在带舍入的所述结果和无舍入的所述结果之间选择的第二部分。
11、如权利要求8所述的专门处理块,其中:
所述运算电路包括产生关键定时路径的寄存器;以及
所述舍入电路在是(a)所述寄存器之前和(b)所述寄存器之后的至少其中之一的至少一个位置是可编程地可定位的,从而可编程地可包括在所述关键定时路径内以及可排除在所述关键定时路径之外。
12、如权利要求11所述的专门处理块,其中所述关键定时路径包括从另一所述专门处理块链接的结果。
13、一种包括权利要求1的专门处理块的可编程逻辑器件。
14、一种数字处理系统,包括:
处理电路;
连接到所述处理电路的存储器;以及
连接到所述处理电路和所述存储器的如权利要求13中定义的可编程逻辑器件。
15、一种印刷电路板,在其上安装了如权利要求13中定义的可编程逻辑器件。
16、在权利要求15中定义的印刷电路板,进一步包括:
安装在该印刷电路板上并连接到所述可编程逻辑器件的存储器电路。
17、在权利要求16中定义的印刷电路板,进一步包括:
安装在该印刷电路板上并连接到所述存储器电路的处理电路。
18、一种包括权利要求1的所述专门处理块的集成电路器件。
19、一种数字处理系统,包括:
处理电路;
连接到所述处理电路的存储器;以及
连接到该处理电路和该存储器的如权利要求18中定义的集成电路器件。
20、一种印刷电路板,在其上安装了如权利要求19中定义的集成电路器件。
21、在权利要求20中定义的印刷电路板,进一步包括:
安装在所述印刷电路板上并连接到所述可编程逻辑器件的存储器电路。
22、在权利要求21中定义的印刷电路板,进一步包括:
安装在所述印刷电路板上并连接到所述存储器电路的处理电路。
23、一种用于可编程逻辑器件的专门处理块,所述专门处理块包括:
用于提供输入的积及所述积的和以输出结果的运算电路;以及
用于选择性地将所述结果舍入为(a)最接近的整数以及(b)最接近的偶整数之一的舍入电路。
24、如权利要求23所述的专门处理块,其中:
所述运算电路在一个范围内的值上运行,所述范围向上延伸到最高正值且向下延伸到最高负值;所述专门处理块进一步包括:
用于将所述结果截取为所述范围内的值的饱和电路。
25、如权利要求24所述的专门处理块,其中所述饱和电路在所述结果的可选择的位位置上执行所述截取。
26、如权利要求24所述的专门处理块,其中所述饱和电路对称地截取所述结果。
27、如权利要求24所述的专门处理块,其中所述饱和电路非对称地截取所述结果。
28、一种包括权利要求23所述的专门处理块的可编程逻辑器件。
29、一种数字处理系统,包括:
处理电路;
连接到所述处理电路的存储器;以及
连接到所述处理电路和所述存储器的如权利要求28中定义的可编程逻辑器件。
30、一种印刷电路板,在其上安装了如权利要求28中定义的可编程逻辑器件。
31、在权利要求30中定义的印刷电路板,进一步包括:
安装在该印刷电路板上并连接到所述可编程逻辑器件的存储器电路。
32、在权利要求31中定义的印刷电路板,进一步包括:
安装在该印刷电路板上并连接到所述存储器电路的处理电路。
33、一种包括权利要求23的所述专门处理块的集成电路器件。
34、一种数字处理系统,包括:
处理电路;
连接到所述处理电路的存储器;以及
连接到所述处理电路和所述存储器的如权利要求33中定义的集成电路器件。
35、一种印刷电路板,在其上安装了如权利要求34中定义的集成电路器件。
36、在权利要求35中定义的印刷电路板,进一步包括:
安装在该印刷电路板上并连接到所述可编程逻辑器件的存储器电路。
37、在权利要求36中定义的印刷电路板,进一步包括:
安装在该印刷电路板上并连接到所述存储器电路的处理电路。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US77198906P | 2006-02-09 | 2006-02-09 | |
US60/771,989 | 2006-02-09 | ||
US11/447,329 US8266198B2 (en) | 2006-02-09 | 2006-06-05 | Specialized processing block for programmable logic device |
US11/447,329 | 2006-06-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101042583A true CN101042583A (zh) | 2007-09-26 |
CN101042583B CN101042583B (zh) | 2011-03-02 |
Family
ID=38110253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710087956XA Expired - Fee Related CN101042583B (zh) | 2006-02-09 | 2007-02-08 | 用于可编程逻辑器件的专门处理块 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8266198B2 (zh) |
EP (1) | EP1830252A3 (zh) |
JP (1) | JP5069476B2 (zh) |
CN (1) | CN101042583B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102422259A (zh) * | 2009-03-03 | 2012-04-18 | 阿尔特拉公司 | 在电路的模块之间具有可选使用、专用连接的模块化数字信号处理电路 |
CN104657107A (zh) * | 2013-11-21 | 2015-05-27 | 三星电子株式会社 | 浮点加法器、通过浮点加法器执行的方法和信息处理系统 |
CN111936965A (zh) * | 2018-03-22 | 2020-11-13 | 超威半导体公司 | 随机舍入逻辑 |
CN116257207A (zh) * | 2022-09-08 | 2023-06-13 | 重庆位图信息技术有限公司 | 一种数据截位方法、模块、计算机设备及存储介质 |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8620980B1 (en) | 2005-09-27 | 2013-12-31 | Altera Corporation | Programmable device with specialized multiplier blocks |
US8266199B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US8266198B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US8041759B1 (en) | 2006-02-09 | 2011-10-18 | Altera Corporation | Specialized processing block for programmable logic device |
US8301681B1 (en) | 2006-02-09 | 2012-10-30 | Altera Corporation | Specialized processing block for programmable logic device |
US7836117B1 (en) | 2006-04-07 | 2010-11-16 | Altera Corporation | Specialized processing block for programmable logic device |
US7822799B1 (en) | 2006-06-26 | 2010-10-26 | Altera Corporation | Adder-rounder circuitry for specialized processing block in programmable logic device |
US8386550B1 (en) | 2006-09-20 | 2013-02-26 | Altera Corporation | Method for configuring a finite impulse response filter in a programmable logic device |
US7930336B2 (en) | 2006-12-05 | 2011-04-19 | Altera Corporation | Large multiplier for programmable logic device |
US8386553B1 (en) | 2006-12-05 | 2013-02-26 | Altera Corporation | Large multiplier for programmable logic device |
US8650231B1 (en) | 2007-01-22 | 2014-02-11 | Altera Corporation | Configuring floating point operations in a programmable device |
US8645450B1 (en) | 2007-03-02 | 2014-02-04 | Altera Corporation | Multiplier-accumulator circuitry and methods |
US7949699B1 (en) | 2007-08-30 | 2011-05-24 | Altera Corporation | Implementation of decimation filter in integrated circuit device using ram-based data storage |
US8959137B1 (en) | 2008-02-20 | 2015-02-17 | Altera Corporation | Implementing large multipliers in a programmable integrated circuit device |
US8244789B1 (en) | 2008-03-14 | 2012-08-14 | Altera Corporation | Normalization of floating point operations in a programmable integrated circuit device |
US8972472B2 (en) * | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
US8626815B1 (en) | 2008-07-14 | 2014-01-07 | Altera Corporation | Configuring a programmable integrated circuit device to perform matrix multiplication |
US8255448B1 (en) | 2008-10-02 | 2012-08-28 | Altera Corporation | Implementing division in a programmable integrated circuit device |
US8307023B1 (en) | 2008-10-10 | 2012-11-06 | Altera Corporation | DSP block for implementing large multiplier on a programmable integrated circuit device |
US8645449B1 (en) | 2009-03-03 | 2014-02-04 | Altera Corporation | Combined floating point adder and subtractor |
US8886696B1 (en) * | 2009-03-03 | 2014-11-11 | Altera Corporation | Digital signal processing circuitry with redundancy and ability to support larger multipliers |
US8549055B2 (en) | 2009-03-03 | 2013-10-01 | Altera Corporation | Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry |
US8706790B1 (en) | 2009-03-03 | 2014-04-22 | Altera Corporation | Implementing mixed-precision floating-point operations in a programmable integrated circuit device |
US8468192B1 (en) | 2009-03-03 | 2013-06-18 | Altera Corporation | Implementing multipliers in a programmable integrated circuit device |
US8650236B1 (en) | 2009-08-04 | 2014-02-11 | Altera Corporation | High-rate interpolation or decimation filter in integrated circuit device |
US8412756B1 (en) | 2009-09-11 | 2013-04-02 | Altera Corporation | Multi-operand floating point operations in a programmable integrated circuit device |
US8396914B1 (en) | 2009-09-11 | 2013-03-12 | Altera Corporation | Matrix decomposition in an integrated circuit device |
US8539016B1 (en) | 2010-02-09 | 2013-09-17 | Altera Corporation | QR decomposition in an integrated circuit device |
US7948267B1 (en) | 2010-02-09 | 2011-05-24 | Altera Corporation | Efficient rounding circuits and methods in configurable integrated circuit devices |
US8601044B2 (en) | 2010-03-02 | 2013-12-03 | Altera Corporation | Discrete Fourier Transform in an integrated circuit device |
US8458243B1 (en) | 2010-03-03 | 2013-06-04 | Altera Corporation | Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering |
US8484265B1 (en) | 2010-03-04 | 2013-07-09 | Altera Corporation | Angular range reduction in an integrated circuit device |
US8510354B1 (en) | 2010-03-12 | 2013-08-13 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8539014B2 (en) | 2010-03-25 | 2013-09-17 | Altera Corporation | Solving linear matrices in an integrated circuit device |
US8589463B2 (en) | 2010-06-25 | 2013-11-19 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8862650B2 (en) | 2010-06-25 | 2014-10-14 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8566376B2 (en) | 2010-07-30 | 2013-10-22 | Chevron U.S.A. Inc. | System and method for data compression using a field programmable gate array |
US8577951B1 (en) | 2010-08-19 | 2013-11-05 | Altera Corporation | Matrix operations in an integrated circuit device |
US8645451B2 (en) | 2011-03-10 | 2014-02-04 | Altera Corporation | Double-clocked specialized processing block in an integrated circuit device |
US9600278B1 (en) | 2011-05-09 | 2017-03-21 | Altera Corporation | Programmable device using fixed and configurable logic to implement recursive trees |
US8812576B1 (en) | 2011-09-12 | 2014-08-19 | Altera Corporation | QR decomposition in an integrated circuit device |
US8949298B1 (en) | 2011-09-16 | 2015-02-03 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US9053045B1 (en) | 2011-09-16 | 2015-06-09 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US8762443B1 (en) | 2011-11-15 | 2014-06-24 | Altera Corporation | Matrix operations in an integrated circuit device |
US9032277B1 (en) * | 2011-11-28 | 2015-05-12 | Altera Corporation | Parallel low and asymmetric rate Reed Solomon coding |
US8977885B1 (en) | 2012-03-05 | 2015-03-10 | Lattice Semiconductor Corporation | Programmable logic device data rate booster for digital signal processing |
US9143189B2 (en) * | 2012-03-30 | 2015-09-22 | Broadcom Corporation | Mobile device searching using multiple antennas |
US8543634B1 (en) | 2012-03-30 | 2013-09-24 | Altera Corporation | Specialized processing block for programmable integrated circuit device |
US9098332B1 (en) | 2012-06-01 | 2015-08-04 | Altera Corporation | Specialized processing block with fixed- and floating-point structures |
US8996600B1 (en) | 2012-08-03 | 2015-03-31 | Altera Corporation | Specialized processing block for implementing floating-point multiplier with subnormal operation support |
US9207909B1 (en) | 2012-11-26 | 2015-12-08 | Altera Corporation | Polynomial calculations optimized for programmable integrated circuit device structures |
US9207908B1 (en) | 2013-01-29 | 2015-12-08 | Altera Corporation | Digital signal processing blocks with embedded arithmetic circuits |
US9189200B1 (en) | 2013-03-14 | 2015-11-17 | Altera Corporation | Multiple-precision processing block in a programmable integrated circuit device |
US9348795B1 (en) | 2013-07-03 | 2016-05-24 | Altera Corporation | Programmable device using fixed and configurable logic to implement floating-point rounding |
US9379687B1 (en) | 2014-01-14 | 2016-06-28 | Altera Corporation | Pipelined systolic finite impulse response filter |
US9684488B2 (en) | 2015-03-26 | 2017-06-20 | Altera Corporation | Combined adder and pre-adder for high-radix multiplier circuit |
US9747110B2 (en) * | 2015-05-20 | 2017-08-29 | Altera Corporation | Pipelined cascaded digital signal processing structures and methods |
US9904514B1 (en) | 2015-10-06 | 2018-02-27 | Altera Corporation | Fused floating-point arithmetic circuitry |
US10037192B2 (en) | 2015-10-21 | 2018-07-31 | Altera Corporation | Methods and apparatus for performing product series operations in multiplier accumulator blocks |
US10140091B2 (en) | 2016-09-27 | 2018-11-27 | Altera Corporation | Integrated circuits with specialized processing blocks for performing floating-point fast fourier transforms and complex multiplication |
JP6556768B2 (ja) * | 2017-01-25 | 2019-08-07 | 株式会社東芝 | 積和演算器、ネットワークユニットおよびネットワーク装置 |
US10579338B2 (en) * | 2017-01-30 | 2020-03-03 | Arm Limited | Apparatus and method for processing input operand values |
US10942706B2 (en) | 2017-05-05 | 2021-03-09 | Intel Corporation | Implementation of floating-point trigonometric functions in an integrated circuit device |
US11175892B2 (en) | 2017-11-20 | 2021-11-16 | Intel Corporation | Integrated circuits with machine learning extensions |
US10970042B2 (en) | 2017-11-20 | 2021-04-06 | Intel Corporation | Integrated circuits with machine learning extensions |
US20220035891A1 (en) * | 2020-07-31 | 2022-02-03 | Qualcomm Incorporated | Reduced result matrix |
Family Cites Families (344)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US597498A (en) * | 1898-01-18 | Boiler | ||
US3473160A (en) | 1966-10-10 | 1969-10-14 | Stanford Research Inst | Electronically controlled microelectronic cellular logic array |
US4215406A (en) | 1972-08-22 | 1980-07-29 | Westinghouse Electric Corp. | Digital computer monitored and/or operated system or process which is structured for operation with an improved automatic programming process and system |
US4215407A (en) | 1972-08-22 | 1980-07-29 | Westinghouse Electric Corp. | Combined file and directory system for a process control digital computer system |
US6556044B2 (en) | 2001-09-18 | 2003-04-29 | Altera Corporation | Programmable logic device including multipliers and configurations thereof to reduce resource utilization |
US3800130A (en) | 1973-07-09 | 1974-03-26 | Rca Corp | Fast fourier transform stage using floating point numbers |
US4179746A (en) | 1976-07-19 | 1979-12-18 | Texas Instruments Incorporated | Digital processor system with conditional carry and status function in arithmetic unit |
US4156927A (en) | 1976-08-11 | 1979-05-29 | Texas Instruments Incorporated | Digital processor system with direct access memory |
US4212076A (en) | 1976-09-24 | 1980-07-08 | Giddings & Lewis, Inc. | Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former |
US4484259A (en) | 1980-02-13 | 1984-11-20 | Intel Corporation | Fraction bus for use in a numeric data processor |
US4422155A (en) | 1981-04-01 | 1983-12-20 | American Microsystems, Inc. | Multiplier/adder circuit |
US4521907A (en) | 1982-05-25 | 1985-06-04 | American Microsystems, Incorporated | Multiplier/adder circuit |
US4597053A (en) | 1983-07-01 | 1986-06-24 | Codex Corporation | Two-pass multiplier/accumulator circuit |
US4616330A (en) | 1983-08-25 | 1986-10-07 | Honeywell Inc. | Pipelined multiply-accumulate unit |
US4623961A (en) | 1984-03-07 | 1986-11-18 | Westinghouse Electric Corp. | Programmable controller having automatic contact line solving |
USRE34363E (en) | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4575812A (en) | 1984-05-31 | 1986-03-11 | Motorola, Inc. | X×Y Bit array multiplier/accumulator circuit |
US4736335A (en) | 1984-11-13 | 1988-04-05 | Zoran Corporation | Multiplier-accumulator circuit using latched sums and carries |
US4727508A (en) | 1984-12-14 | 1988-02-23 | Motorola, Inc. | Circuit for adding and/or subtracting numbers in logarithmic representation |
US4682302A (en) | 1984-12-14 | 1987-07-21 | Motorola, Inc. | Logarithmic arithmetic logic unit |
JPS61237133A (ja) * | 1985-04-15 | 1986-10-22 | Nec Corp | 演算回路 |
US4718057A (en) | 1985-08-30 | 1988-01-05 | Advanced Micro Devices, Inc. | Streamlined digital signal processor |
US4791590A (en) | 1985-11-19 | 1988-12-13 | Cornell Research Foundation, Inc. | High performance signal processor |
US4823295A (en) | 1986-11-10 | 1989-04-18 | Harris Corp. | High speed signal processor |
US4918637A (en) | 1987-01-13 | 1990-04-17 | Hewlett-Packard Company | Multichannel decimation/interpolation filter |
JPS63182585A (ja) | 1987-01-26 | 1988-07-27 | Toshiba Corp | テスト容易化機能を備えた論理回路 |
US4839847A (en) | 1987-04-14 | 1989-06-13 | Harris Corp. | N-clock, n-bit-serial multiplier |
US4982354A (en) | 1987-05-28 | 1991-01-01 | Mitsubishi Denki Kabushiki Kaisha | Digital finite impulse response filter and method |
US5142677A (en) | 1989-05-04 | 1992-08-25 | Texas Instruments Incorporated | Context switching devices, systems and methods |
FR2621144B1 (fr) | 1987-09-25 | 1989-12-29 | Labo Electronique Physique | Multiplieur pipeline serie |
JP2639543B2 (ja) | 1987-12-02 | 1997-08-13 | 日本ビクター株式会社 | デジタル・フィルタ装置 |
US4871930A (en) | 1988-05-05 | 1989-10-03 | Altera Corporation | Programmable logic device with array blocks connected via programmable interconnect |
FR2633467B1 (fr) | 1988-06-24 | 1990-08-24 | Thomson Csf | Multiplicateur de frequence a rang de multiplication programmable |
US5452231A (en) | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
JPH02155045A (ja) * | 1988-12-07 | 1990-06-14 | Aputo Instr Kk | 真理値コンバータ |
US4912345A (en) | 1988-12-29 | 1990-03-27 | Sgs-Thomson Microelectronics, Inc. | Programmable summing functions for programmable logic devices |
IT1235679B (it) | 1989-01-25 | 1992-09-21 | Sgs Thomson Microelectronics | Dispositivo programmabile integrato di tipo misto, logico ed analogico. |
US5046038A (en) | 1989-07-07 | 1991-09-03 | Cyrix Corporation | Method and apparatus for performing division using a rectangular aspect ratio multiplier |
US5255203A (en) | 1989-08-15 | 1993-10-19 | Advanced Micro Devices, Inc. | Interconnect structure for programmable logic device |
US5128559A (en) | 1989-09-29 | 1992-07-07 | Sgs-Thomson Microelectronics, Inc. | Logic block for programmable logic devices |
US4991010A (en) | 1989-11-13 | 1991-02-05 | Eastman Kodak Company | Dual-mode image interpolation filter operable in a first mode for storing interpolation coefficients and in a second mode for effecting television standards conversion at a pixel rate |
DE69130652T2 (de) | 1990-03-20 | 1999-05-06 | Fujitsu Ltd., Kawasaki, Kanagawa | Digitaler paralleler Hochgeschwindigkeitsmultiplizierer |
US5267187A (en) | 1990-05-10 | 1993-11-30 | Xilinx Inc | Logic structure and circuit for fast carry |
US5768613A (en) | 1990-07-06 | 1998-06-16 | Advanced Micro Devices, Inc. | Computing apparatus configured for partitioned processing |
EP0466997A1 (en) | 1990-07-18 | 1992-01-22 | International Business Machines Corporation | Improved digital signal processor architecture |
JPH04256103A (ja) | 1991-02-08 | 1992-09-10 | Hitachi Ltd | プログラマブルコントローラ |
US5122685A (en) | 1991-03-06 | 1992-06-16 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
JP3345894B2 (ja) * | 1991-05-08 | 2002-11-18 | 日本電気株式会社 | 浮動小数点乗算器 |
US5338984A (en) | 1991-08-29 | 1994-08-16 | National Semiconductor Corp. | Local and express diagonal busses in a configurable logic array |
US5550782A (en) | 1991-09-03 | 1996-08-27 | Altera Corporation | Programmable logic array integrated circuits |
US5371422A (en) | 1991-09-03 | 1994-12-06 | Altera Corporation | Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements |
JPH05252025A (ja) | 1991-10-28 | 1993-09-28 | Texas Instr Inc <Ti> | 論理モジュールおよび集積回路 |
JPH05134851A (ja) * | 1991-11-15 | 1993-06-01 | Fujitsu Ltd | 乗算回路出力方式 |
US5208491A (en) | 1992-01-07 | 1993-05-04 | Washington Research Foundation | Field programmable gate array |
FR2686175B1 (fr) | 1992-01-14 | 1996-12-20 | Andre Thepaut | Systeme de traitement de donnees multiprocesseur. |
JPH05216624A (ja) | 1992-02-03 | 1993-08-27 | Mitsubishi Electric Corp | 演算装置 |
GB9202613D0 (en) | 1992-02-07 | 1992-03-25 | Questech Ltd | Improvements in and relating to digital filters |
US5642437A (en) | 1992-02-22 | 1997-06-24 | Texas Instruments Incorporated | System decoder circuit with temporary bit storage and method of operation |
US5636150A (en) | 1992-08-06 | 1997-06-03 | Sharp Kabushiki Kaisha | Data driven type digital filter unit and data driven type information processor including the same |
US5497498A (en) | 1992-11-05 | 1996-03-05 | Giga Operations Corporation | Video processing module using a second programmable logic device which reconfigures a first programmable logic device for data transformation |
US5357152A (en) | 1992-11-10 | 1994-10-18 | Infinite Technology Corporation | Logic system of logic networks with programmable selected functions and programmable operational controls |
US5498975A (en) | 1992-11-19 | 1996-03-12 | Altera Corporation | Implementation of redundancy on a programmable logic device |
EP0606653A1 (en) | 1993-01-04 | 1994-07-20 | Texas Instruments Incorporated | Field programmable distributed processing memory |
US5339263A (en) | 1993-01-28 | 1994-08-16 | Rockwell International Corporation | Combined decimation/interpolation filter for ADC and DAC |
US5424589A (en) | 1993-02-12 | 1995-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Electrically programmable inter-chip interconnect architecture |
US5483178A (en) | 1993-03-29 | 1996-01-09 | Altera Corporation | Programmable logic device with logic block outputs coupled to adjacent logic block output multiplexers |
EP0626661A1 (en) | 1993-05-24 | 1994-11-30 | Societe D'applications Generales D'electricite Et De Mecanique Sagem | Digital image processing circuitry |
US5528550A (en) | 1993-05-28 | 1996-06-18 | Texas Instruments Incorporated | Apparatus, systems and methods for implementing memory embedded search arithmetic logic unit |
US5528549A (en) | 1993-05-28 | 1996-06-18 | Texas Instruments Incorporated | Apparatus, systems and methods for distributed signal processing |
US5381357A (en) | 1993-05-28 | 1995-01-10 | Grumman Corporation | Complex adaptive fir filter |
JPH06348455A (ja) | 1993-06-14 | 1994-12-22 | Matsushita Electric Ind Co Ltd | 乗算における丸め込み方法及び乗算回路 |
JPH0736858A (ja) | 1993-07-21 | 1995-02-07 | Hitachi Ltd | 信号処理プロセッサ |
EP0638859B1 (de) | 1993-08-09 | 1999-09-29 | Siemens Aktiengesellschaft | Signalverarbeitungseinrichtung |
US5457644A (en) | 1993-08-20 | 1995-10-10 | Actel Corporation | Field programmable digital signal processing array integrated circuit |
US5546018A (en) | 1993-09-02 | 1996-08-13 | Xilinx, Inc. | Fast carry structure with synchronous input |
US5349250A (en) | 1993-09-02 | 1994-09-20 | Xilinx, Inc. | Logic structure and circuit for fast carry |
US5740404A (en) | 1993-09-27 | 1998-04-14 | Hitachi America Limited | Digital signal processor with on-chip select decoder and wait state generator |
US5404324A (en) | 1993-11-01 | 1995-04-04 | Hewlett-Packard Company | Methods and apparatus for performing division and square root computations in a computer |
US5446651A (en) | 1993-11-30 | 1995-08-29 | Texas Instruments Incorporated | Split multiply operation |
US5640578A (en) | 1993-11-30 | 1997-06-17 | Texas Instruments Incorporated | Arithmetic logic unit having plural independent sections and register storing resultant indicator bit from every section |
US5644522A (en) | 1993-11-30 | 1997-07-01 | Texas Instruments Incorporated | Method, apparatus and system for multiply rounding using redundant coded multiply result |
US5465224A (en) | 1993-11-30 | 1995-11-07 | Texas Instruments Incorporated | Three input arithmetic logic unit forming the sum of a first Boolean combination of first, second and third inputs plus a second Boolean combination of first, second and third inputs |
US6098163A (en) | 1993-11-30 | 2000-08-01 | Texas Instruments Incorporated | Three input arithmetic logic unit with shifter |
US6219688B1 (en) | 1993-11-30 | 2001-04-17 | Texas Instruments Incorporated | Method, apparatus and system for sum of plural absolute differences |
US5590350A (en) | 1993-11-30 | 1996-12-31 | Texas Instruments Incorporated | Three input arithmetic logic unit with mask generator |
US6116768A (en) | 1993-11-30 | 2000-09-12 | Texas Instruments Incorporated | Three input arithmetic logic unit with barrel rotator |
US5596763A (en) | 1993-11-30 | 1997-01-21 | Texas Instruments Incorporated | Three input arithmetic logic unit forming mixed arithmetic and boolean combinations |
US5485411A (en) | 1993-11-30 | 1996-01-16 | Texas Instruments Incorporated | Three input arithmetic logic unit forming the sum of a first input anded with a first boolean combination of a second input and a third input plus a second boolean combination of the second and third inputs |
US5961635A (en) | 1993-11-30 | 1999-10-05 | Texas Instruments Incorporated | Three input arithmetic logic unit with barrel rotator and mask generator |
US5805913A (en) | 1993-11-30 | 1998-09-08 | Texas Instruments Incorporated | Arithmetic logic unit with conditional register source selection |
WO1995017781A1 (en) | 1993-12-23 | 1995-06-29 | The State Of Oregon, Acting By And Through The State Board Of Higher Education On Behalf Of Portland State University | Programmable analog array circuit |
US5563526A (en) | 1994-01-03 | 1996-10-08 | Texas Instruments Incorporated | Programmable mixed-mode integrated circuit architecture |
JP3097434B2 (ja) | 1994-01-25 | 2000-10-10 | ヤマハ株式会社 | 効果付加用ディジタル信号処理装置 |
GB9403030D0 (en) | 1994-02-17 | 1994-04-06 | Austin Kenneth | Re-configurable application specific device |
US5497067A (en) * | 1994-02-18 | 1996-03-05 | Shaw; Donald E. | Battery charger with timer-controlled charging, shut-off and reset operations |
US5451948A (en) | 1994-02-28 | 1995-09-19 | Cubic Communications, Inc. | Apparatus and method for combining analog and digital automatic gain control in receivers with digital signal processing |
US5590305A (en) | 1994-03-28 | 1996-12-31 | Altera Corporation | Programming circuits and techniques for programming logic |
US5563819A (en) | 1994-03-31 | 1996-10-08 | Cirrus Logic, Inc. | Fast high precision discrete-time analog finite impulse response filter |
US5541864A (en) | 1994-04-26 | 1996-07-30 | Crystal Semiconductor | Arithmetic-free digital interpolation filter architecture |
KR100312801B1 (ko) | 1994-05-04 | 2001-12-28 | 페레고스 조지, 마이크 로스 | 영역및범용신호경로를갖는프로그램가능논리소자 |
US5689195A (en) | 1995-05-17 | 1997-11-18 | Altera Corporation | Programmable logic array integrated circuit devices |
JP3365581B2 (ja) | 1994-07-29 | 2003-01-14 | 富士通株式会社 | 自己修復機能付き情報処理装置 |
JPH08106375A (ja) | 1994-10-03 | 1996-04-23 | Ricoh Co Ltd | 信号処理演算器 |
US5652903A (en) | 1994-11-01 | 1997-07-29 | Motorola, Inc. | DSP co-processor for use on an integrated circuit that performs multiple communication tasks |
US5872380A (en) | 1994-11-02 | 1999-02-16 | Lsi Logic Corporation | Hexagonal sense cell architecture |
US5815003A (en) | 1994-11-04 | 1998-09-29 | Altera Corporation | Programmable logic integrated circuits with partitioned logic element using shared lab-wide signals |
US5664192A (en) | 1994-12-14 | 1997-09-02 | Motorola, Inc. | Method and system for accumulating values in a computing device |
US5636368A (en) | 1994-12-23 | 1997-06-03 | Xilinx, Inc. | Method for programming complex PLD having more than one function block type |
EP0721159A1 (en) | 1995-01-03 | 1996-07-10 | Texas Instruments Incorporated | Multiple-input binary adder |
US5581199A (en) | 1995-01-04 | 1996-12-03 | Xilinx, Inc. | Interconnect architecture for field programmable gate array using variable length conductors |
US5646875A (en) | 1995-02-27 | 1997-07-08 | International Business Machines Corporation | Denormalization system and method of operation |
US5633601A (en) | 1995-03-10 | 1997-05-27 | Texas Instruments Incorporated | Field programmable gate array logic module configurable as combinational or sequential circuits |
US5572148A (en) | 1995-03-22 | 1996-11-05 | Altera Corporation | Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory |
US5570040A (en) | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5696708A (en) | 1995-03-30 | 1997-12-09 | Crystal Semiconductor | Digital filter with decimated frequency response |
US5644519A (en) * | 1995-04-07 | 1997-07-01 | Motorola, Inc. | Method and apparatus for a multiply and accumulate circuit having a dynamic saturation range |
US5808926A (en) * | 1995-06-01 | 1998-09-15 | Sun Microsystems, Inc. | Floating point addition methods and apparatus |
US5771186A (en) | 1995-06-07 | 1998-06-23 | International Business Machines | System and method for multiplying in a data processing system |
US5790446A (en) | 1995-07-05 | 1998-08-04 | Sun Microsystems, Inc. | Floating point multiplier with reduced critical paths using delay matching techniques |
US5570039A (en) | 1995-07-27 | 1996-10-29 | Lucent Technologies Inc. | Programmable function unit as parallel multiplier cell |
US5559450A (en) | 1995-07-27 | 1996-09-24 | Lucent Technologies Inc. | Field programmable gate array with multi-port RAM |
US5581501A (en) | 1995-08-17 | 1996-12-03 | Altera Corporation | Nonvolatile SRAM cells and cell arrays |
US5646545A (en) | 1995-08-18 | 1997-07-08 | Xilinx, Inc. | Time multiplexed programmable logic device |
US5761483A (en) | 1995-08-18 | 1998-06-02 | Xilinx, Inc. | Optimizing and operating a time multiplexed programmable logic device |
US5784313A (en) | 1995-08-18 | 1998-07-21 | Xilinx, Inc. | Programmable logic device including configuration data or user data memory slices |
US5859878A (en) | 1995-08-31 | 1999-01-12 | Northrop Grumman Corporation | Common receive module for a programmable digital radio |
US7395298B2 (en) | 1995-08-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed data |
US6072994A (en) | 1995-08-31 | 2000-06-06 | Northrop Grumman Corporation | Digitally programmable multifunction radio system architecture |
JPH0997178A (ja) | 1995-09-29 | 1997-04-08 | Matsushita Electric Ind Co Ltd | 飽和演算処理装置および方法 |
US5729495A (en) | 1995-09-29 | 1998-03-17 | Altera Corporation | Dynamic nonvolatile memory cell |
US5648732A (en) | 1995-10-04 | 1997-07-15 | Xilinx, Inc. | Field programmable pipeline array |
US5744991A (en) | 1995-10-16 | 1998-04-28 | Altera Corporation | System for distributing clocks using a delay lock loop in a programmable logic circuit |
US5617058A (en) | 1995-11-13 | 1997-04-01 | Apogee Technology, Inc. | Digital signal processing for linearization of small input signals to a tri-state power switch |
US5894228A (en) | 1996-01-10 | 1999-04-13 | Altera Corporation | Tristate structures for programmable logic devices |
US6247036B1 (en) | 1996-01-22 | 2001-06-12 | Infinite Technology Corp. | Processor with reconfigurable arithmetic data path |
US5898602A (en) | 1996-01-25 | 1999-04-27 | Xilinx, Inc. | Carry chain circuit with flexible carry function for implementing arithmetic and logical functions |
US5754459A (en) | 1996-02-08 | 1998-05-19 | Xilinx, Inc. | Multiplier circuit design for a programmable logic device |
US5744980A (en) | 1996-02-16 | 1998-04-28 | Actel Corporation | Flexible, high-performance static RAM architecture for field-programmable gate arrays |
US5764555A (en) | 1996-03-13 | 1998-06-09 | International Business Machines Corporation | Method and system of rounding for division or square root: eliminating remainder calculation |
US6005806A (en) | 1996-03-14 | 1999-12-21 | Altera Corporation | Nonvolatile configuration cells and cell arrays |
US5777912A (en) | 1996-03-28 | 1998-07-07 | Crystal Semiconductor Corporation | Linear phase finite impulse response filter with pre-addition |
US5869979A (en) | 1996-04-05 | 1999-02-09 | Altera Corporation | Technique for preconditioning I/Os during reconfiguration |
US6154049A (en) | 1998-03-27 | 2000-11-28 | Xilinx, Inc. | Multiplier fabric for use in field programmable gate arrays |
US5986465A (en) | 1996-04-09 | 1999-11-16 | Altera Corporation | Programmable logic integrated circuit architecture incorporating a global shareable expander |
US5949710A (en) | 1996-04-10 | 1999-09-07 | Altera Corporation | Programmable interconnect junction |
US5784636A (en) | 1996-05-28 | 1998-07-21 | National Semiconductor Corporation | Reconfigurable computer architecture for use in signal processing applications |
US5956265A (en) | 1996-06-07 | 1999-09-21 | Lewis; James M. | Boolean digital multiplier |
US5825201A (en) | 1996-06-21 | 1998-10-20 | Quicklogic Corporation | Programming architecture for a programmable integrated circuit employing antifuses |
US5880981A (en) | 1996-08-12 | 1999-03-09 | Hitachi America, Ltd. | Method and apparatus for reducing the power consumption in a programmable digital signal processor |
US5959891A (en) | 1996-08-16 | 1999-09-28 | Altera Corporation | Evaluation of memory cell characteristics |
US5838165A (en) | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US6624658B2 (en) | 1999-02-04 | 2003-09-23 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus architecture |
GB2317468B (en) | 1996-09-23 | 2001-01-24 | Advanced Risc Mach Ltd | Digital signal processing integrated circuit architecture |
US5825202A (en) | 1996-09-26 | 1998-10-20 | Xilinx, Inc. | Integrated circuit with field programmable and application specific logic areas |
US5805477A (en) | 1996-09-26 | 1998-09-08 | Hewlett-Packard Company | Arithmetic cell for field programmable devices |
US5999016A (en) | 1996-10-10 | 1999-12-07 | Altera Corporation | Architectures for programmable logic devices |
JP3790307B2 (ja) | 1996-10-16 | 2006-06-28 | 株式会社ルネサステクノロジ | データプロセッサ及びデータ処理システム |
US5942914A (en) | 1996-10-25 | 1999-08-24 | Altera Corporation | PLD with split multiplexed inputs from global conductors |
US5892962A (en) | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US6018755A (en) | 1996-11-14 | 2000-01-25 | Altocom, Inc. | Efficient implementation of an FIR filter on a general purpose processor |
US5812562A (en) | 1996-11-15 | 1998-09-22 | Samsung Electronics Company, Ltd. | Low cost emulation scheme implemented via clock control using JTAG controller in a scan environment |
US6009451A (en) | 1996-11-22 | 1999-12-28 | Lucent Technologies Inc. | Method for generating barrel shifter result flags directly from input data |
US5815422A (en) | 1997-01-24 | 1998-09-29 | Vlsi Technology, Inc. | Computer-implemented multiplication with shifting of pattern-product partials |
US5841684A (en) | 1997-01-24 | 1998-11-24 | Vlsi Technology, Inc. | Method and apparatus for computer implemented constant multiplication with multipliers having repeated patterns including shifting of replicas and patterns having at least two digit positions with non-zero values |
US5821776A (en) | 1997-01-31 | 1998-10-13 | Actel Corporation | Field programmable gate array with mask programmed analog function circuits |
US5999015A (en) | 1997-02-20 | 1999-12-07 | Altera Corporation | Logic region resources for programmable logic devices |
US5982195A (en) | 1997-02-20 | 1999-11-09 | Altera Corporation | Programmable logic device architectures |
US5931898A (en) | 1997-02-25 | 1999-08-03 | Lucent Technologies Inc | Finite impulse response filter |
US5963050A (en) | 1997-02-26 | 1999-10-05 | Xilinx, Inc. | Configurable logic element with fast feedback paths |
US5874834A (en) | 1997-03-04 | 1999-02-23 | Xilinx, Inc. | Field programmable gate array with distributed gate-array functionality |
US5991898A (en) | 1997-03-10 | 1999-11-23 | Mentor Graphics Corporation | Arithmetic built-in self test of multiple scan-based integrated circuits |
US5991788A (en) | 1997-03-14 | 1999-11-23 | Xilinx, Inc. | Method for configuring an FPGA for large FFTs and other vector rotation computations |
US5847579A (en) | 1997-03-20 | 1998-12-08 | Xilinx, Inc. | Programmable logic array with improved interconnect structure |
US6020759A (en) | 1997-03-21 | 2000-02-01 | Altera Corporation | Programmable logic array device with random access memory configurable as product terms |
US6085317A (en) | 1997-08-15 | 2000-07-04 | Altera Corporation | Reconfigurable computer architecture using programmable logic devices |
US5878250A (en) | 1997-04-07 | 1999-03-02 | Altera Corporation | Circuitry for emulating asynchronous register loading functions |
JP3865789B2 (ja) | 1997-05-23 | 2007-01-10 | アルテラ コーポレイション | インタリーブされた入力回路を備えるプログラマブル論理装置のための冗長回路 |
US6006321A (en) | 1997-06-13 | 1999-12-21 | Malleable Technologies, Inc. | Programmable logic datapath that may be used in a field programmable device |
US5970254A (en) | 1997-06-27 | 1999-10-19 | Cooke; Laurence H. | Integrated processor and programmable data path chip for reconfigurable computing |
US5847981A (en) | 1997-09-04 | 1998-12-08 | Motorola, Inc. | Multiply and accumulate circuit |
US5910908A (en) | 1997-09-16 | 1999-06-08 | Tektronix, Inc. | Fir filter for programmable decimation |
JP3479438B2 (ja) | 1997-09-18 | 2003-12-15 | 株式会社東芝 | 乗算回路 |
US6020755A (en) | 1997-09-26 | 2000-02-01 | Lucent Technologies Inc. | Hybrid programmable gate arrays |
US6021423A (en) | 1997-09-26 | 2000-02-01 | Xilinx, Inc. | Method for parallel-efficient configuring an FPGA for large FFTS and other vector rotation computations |
US5944774A (en) | 1997-09-26 | 1999-08-31 | Ericsson Inc. | Methods apparatus and computer program products for accumulating logarithmic values |
US6069487A (en) | 1997-10-14 | 2000-05-30 | Altera Corporation | Programmable logic device circuitry for improving multiplier speed and/or efficiency |
US6052327A (en) | 1997-10-14 | 2000-04-18 | Altera Corporation | Dual-port programmable logic device variable depth and width memory array |
US6157210A (en) | 1997-10-16 | 2000-12-05 | Altera Corporation | Programmable logic device with circuitry for observing programmable logic circuit signals and for preloading programmable logic circuits |
US6107824A (en) | 1997-10-16 | 2000-08-22 | Altera Corporation | Circuitry and methods for internal interconnection of programmable logic devices |
US6144980A (en) | 1998-01-28 | 2000-11-07 | Advanced Micro Devices, Inc. | Method and apparatus for performing multiple types of multiplication including signed and unsigned multiplication |
US6223198B1 (en) | 1998-08-14 | 2001-04-24 | Advanced Micro Devices, Inc. | Method and apparatus for multi-function arithmetic |
US6029187A (en) | 1997-10-28 | 2000-02-22 | Atmel Corporation | Fast regular multiplier architecture |
US6359897B1 (en) | 1997-11-03 | 2002-03-19 | Harris Corporation | Control system for controlling the processing data of a first in first out memory and method therefor |
US6065131A (en) | 1997-11-26 | 2000-05-16 | International Business Machines Corporation | Multi-speed DSP kernel and clock mechanism |
US6055555A (en) | 1997-12-29 | 2000-04-25 | Intel Corporation | Interface for performing parallel arithmetic and round operations |
GB9727414D0 (en) | 1997-12-29 | 1998-02-25 | Imperial College | Logic circuit |
US6075381A (en) | 1998-01-21 | 2000-06-13 | Micron Electronics, Inc. | Programmable logic block in an integrated circuit |
US6405229B1 (en) | 1998-01-29 | 2002-06-11 | Sanyo Electric Co., Ltd. | Digital filters |
JP3291461B2 (ja) | 1998-01-30 | 2002-06-10 | 三洋電機株式会社 | デジタルフィルタ |
US6094726A (en) | 1998-02-05 | 2000-07-25 | George S. Sheng | Digital signal processor using a reconfigurable array of macrocells |
US6175849B1 (en) | 1998-02-10 | 2001-01-16 | Lucent Technologies, Inc. | System for digital filtering in a fixed number of clock cycles |
US6097988A (en) | 1998-02-10 | 2000-08-01 | Advanced Micro Devices, Inc. | Logic system and method employing multiple configurable logic blocks and capable of implementing a state machine using a minimum amount of configurable logic |
US6167415A (en) | 1998-02-10 | 2000-12-26 | Lucent Technologies, Inc. | Recursive digital filter with reset |
US6367003B1 (en) | 1998-03-04 | 2002-04-02 | Micron Technology, Inc. | Digital signal processor having enhanced utilization of multiply accumulate (MAC) stage and method |
US6041339A (en) | 1998-03-27 | 2000-03-21 | Ess Technology, Inc. | Efficient decimation filtering |
US6377970B1 (en) | 1998-03-31 | 2002-04-23 | Intel Corporation | Method and apparatus for computing a sum of packed data elements using SIMD multiply circuitry |
JP3611714B2 (ja) * | 1998-04-08 | 2005-01-19 | 株式会社ルネサステクノロジ | プロセッサ |
US5968196A (en) | 1998-04-21 | 1999-10-19 | Atmel Corporation | Configuration control in a programmable logic device using non-volatile elements |
US6084429A (en) | 1998-04-24 | 2000-07-04 | Xilinx, Inc. | PLD having a window pane architecture with segmented and staggered interconnect wiring between logic block arrays |
EP0955576B1 (en) | 1998-05-08 | 2003-08-13 | STMicroelectronics S.r.l. | High-speed digital accumulator with wide dynamic range |
US6226735B1 (en) | 1998-05-08 | 2001-05-01 | Broadcom | Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements |
US6140839A (en) | 1998-05-13 | 2000-10-31 | Kaviani; Alireza S. | Computational field programmable architecture |
US5999990A (en) | 1998-05-18 | 1999-12-07 | Motorola, Inc. | Communicator having reconfigurable resources |
US6066960A (en) | 1998-05-21 | 2000-05-23 | Altera Corporation | Programmable logic device having combinational logic at inputs to logic elements within logic array blocks |
GB2342193B (en) | 1998-06-19 | 2003-06-04 | Sgs Thomson Microelectronics | Addition circuitry |
JP2000010762A (ja) | 1998-06-19 | 2000-01-14 | Mitsubishi Electric Corp | 浮動小数点演算装置 |
US6314551B1 (en) | 1998-06-22 | 2001-11-06 | Morgan Stanley & Co. Incorporated | System processing unit extended with programmable logic for plurality of functions |
US6467017B1 (en) | 1998-06-23 | 2002-10-15 | Altera Corporation | Programmable logic device having embedded dual-port random access memory configurable as single-port memory |
US6163788A (en) | 1998-06-25 | 2000-12-19 | Industrial Technology Research Institute | Programmable finite impulse response processor with scalable dynamic data range |
US6073154A (en) | 1998-06-26 | 2000-06-06 | Xilinx, Inc. | Computing multidimensional DFTs in FPGA |
US6427157B1 (en) | 1998-07-31 | 2002-07-30 | Texas Instruments Incorporated | Fir filter structure with time- varying coefficients and filtering method for digital data scaling |
US6487575B1 (en) | 1998-08-31 | 2002-11-26 | Advanced Micro Devices, Inc. | Early completion of iterative division |
US6546408B2 (en) | 1998-09-16 | 2003-04-08 | Cirrus Logic, Inc. | Sinc filter using twisting symmetry |
US6321246B1 (en) | 1998-09-16 | 2001-11-20 | Cirrus Logic, Inc. | Linear phase FIR sinc filter with multiplexing |
DE69832985T2 (de) | 1998-10-06 | 2006-08-17 | Texas Instruments Inc., Dallas | Multiplizier-Akkumulatorschaltungen |
US7047272B2 (en) | 1998-10-06 | 2006-05-16 | Texas Instruments Incorporated | Rounding mechanisms in processors |
US6571268B1 (en) * | 1998-10-06 | 2003-05-27 | Texas Instruments Incorporated | Multiplier accumulator circuits |
US6421698B1 (en) | 1998-11-04 | 2002-07-16 | Teleman Multimedia, Inc. | Multipurpose processor for motion estimation, pixel processing, and general processing |
US6453382B1 (en) | 1998-11-05 | 2002-09-17 | Altera Corporation | Content addressable memory encoded outputs |
US6091261A (en) | 1998-11-12 | 2000-07-18 | Sun Microsystems, Inc. | Apparatus and method for programmable delays using a boundary-scan chain |
US6215326B1 (en) | 1998-11-18 | 2001-04-10 | Altera Corporation | Programmable logic device architecture with super-regions having logic regions and a memory region |
US6260053B1 (en) | 1998-12-09 | 2001-07-10 | Cirrus Logic, Inc. | Efficient and scalable FIR filter architecture for decimation |
US6591283B1 (en) | 1998-12-24 | 2003-07-08 | Stmicroelectronics N.V. | Efficient interpolator for high speed timing recovery |
US6243729B1 (en) | 1998-12-31 | 2001-06-05 | Texas Instruments Incorporated | Digital finite-impulse-response (FIR) filter with a modified architecture based on high order Radix-N numbering |
US6366944B1 (en) | 1999-01-15 | 2002-04-02 | Razak Hossain | Method and apparatus for performing signed/unsigned multiplication |
US6523055B1 (en) | 1999-01-20 | 2003-02-18 | Lsi Logic Corporation | Circuit and method for multiplying and accumulating the sum of two products in a single cycle |
US6107821A (en) | 1999-02-08 | 2000-08-22 | Xilinx, Inc. | On-chip logic analysis and method for using the same |
US6823000B1 (en) | 1999-02-26 | 2004-11-23 | Texas Instruments Incorporated | Method and apparatus for optimal dot product calculation |
US6407576B1 (en) | 1999-03-04 | 2002-06-18 | Altera Corporation | Interconnection and input/output resources for programmable logic integrated circuit devices |
US6359468B1 (en) * | 1999-03-04 | 2002-03-19 | Altera Corporation | Programmable logic device with carry look-ahead |
US6323680B1 (en) | 1999-03-04 | 2001-11-27 | Altera Corporation | Programmable logic device configured to accommodate multiplication |
JP2000259394A (ja) | 1999-03-09 | 2000-09-22 | Nec Kofu Ltd | 浮動小数点乗算器 |
US6480980B2 (en) | 1999-03-10 | 2002-11-12 | Nec Electronics, Inc. | Combinational test pattern generation method and apparatus |
US6557092B1 (en) | 1999-03-29 | 2003-04-29 | Greg S. Callen | Programmable ALU |
CN1227574C (zh) | 1999-03-30 | 2005-11-16 | 西门子能量及自动化公司 | 可编程逻辑控制器方法,系统和设备 |
US6363650B1 (en) | 1999-04-07 | 2002-04-02 | Clinton R. Beeler | Fishing rod holder and jigging assembly |
EP1058185A1 (en) * | 1999-05-31 | 2000-12-06 | Motorola, Inc. | A multiply and accumulate apparatus and a method thereof |
US6434587B1 (en) | 1999-06-14 | 2002-08-13 | Intel Corporation | Fast 16-B early termination implementation for 32-B multiply-accumulate unit |
US6246258B1 (en) | 1999-06-21 | 2001-06-12 | Xilinx, Inc. | Realizing analog-to-digital converter on a digital programmable integrated circuit |
US6438570B1 (en) | 1999-07-21 | 2002-08-20 | Xilinx, Inc. | FPGA implemented bit-serial multiplier and infinite impulse response |
US6542000B1 (en) | 1999-07-30 | 2003-04-01 | Iowa State University Research Foundation, Inc. | Nonvolatile programmable logic devices |
US6801924B1 (en) | 1999-08-19 | 2004-10-05 | National Semiconductor Corporation | Formatting denormal numbers for processing in a pipelined floating point unit |
US6692534B1 (en) | 1999-09-08 | 2004-02-17 | Sun Microsystems, Inc. | Specialized booth decoding apparatus |
US6600788B1 (en) | 1999-09-10 | 2003-07-29 | Xilinx, Inc. | Narrow-band filter including sigma-delta modulator implemented in a programmable logic device |
US6438569B1 (en) | 1999-09-20 | 2002-08-20 | Pmc-Sierra, Inc. | Sums of production datapath |
US6353843B1 (en) | 1999-10-08 | 2002-03-05 | Sony Corporation Of Japan | High performance universal multiplier circuit |
AU3082701A (en) | 1999-12-23 | 2001-07-03 | Intel Corporation | Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic |
US6600495B1 (en) | 2000-01-10 | 2003-07-29 | Koninklijke Philips Electronics N.V. | Image interpolation and decimation using a continuously variable delay filter and combined with a polyphase filter |
US7062526B1 (en) | 2000-02-18 | 2006-06-13 | Texas Instruments Incorporated | Microprocessor with rounding multiply instructions |
US6687722B1 (en) | 2000-03-16 | 2004-02-03 | Agere Systems, Inc. | High-speed/low power finite impulse response filter |
US6725441B1 (en) | 2000-03-22 | 2004-04-20 | Xilinx, Inc. | Method and apparatus for defining and modifying connections between logic cores implemented on programmable logic devices |
US6574762B1 (en) | 2000-03-31 | 2003-06-03 | Lsi Logic Corporation | Use of a scan chain for configuration of BIST unit operation |
US6362650B1 (en) | 2000-05-18 | 2002-03-26 | Xilinx, Inc. | Method and apparatus for incorporating a multiplier into an FPGA |
US6407694B1 (en) | 2000-06-14 | 2002-06-18 | Raytheon Company | General purpose filter |
GB2363924A (en) | 2000-06-20 | 2002-01-09 | Virata Ltd | Processor for FIR filtering |
EP1178399B1 (en) | 2000-08-01 | 2004-10-20 | STMicroelectronics S.A. | Saturation in an arithmetic unit |
US6476636B1 (en) | 2000-09-02 | 2002-11-05 | Actel Corporation | Tileable field-programmable gate array architecture |
US6732134B1 (en) | 2000-09-11 | 2004-05-04 | Apple Computer, Inc. | Handler for floating-point denormalized numbers |
US6628140B2 (en) | 2000-09-18 | 2003-09-30 | Altera Corporation | Programmable logic devices with function-specific blocks |
US6538470B1 (en) | 2000-09-18 | 2003-03-25 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
JP2002108606A (ja) | 2000-09-26 | 2002-04-12 | Toshiba Corp | スティッキービット生成回路及び乗算器 |
JP2004512716A (ja) | 2000-10-02 | 2004-04-22 | アルテラ・コーポレイション | 専用プロセッサ装置を含むプログラマブルロジック集積回路装置 |
US20020049798A1 (en) | 2000-10-24 | 2002-04-25 | Minsheng Wang | Adder-saving implementation of digital interpolation/decimation fir filter |
EP2031518A2 (en) | 2000-10-26 | 2009-03-04 | Cypress Semiconductor Corporation | Circuit |
US6763367B2 (en) | 2000-12-11 | 2004-07-13 | International Business Machines Corporation | Pre-reduction technique within a multiplier/accumulator architecture |
US6427158B1 (en) | 2000-12-14 | 2002-07-30 | Texas Instruments Incorporated | FIR decimation filter and method |
US6742012B2 (en) | 2000-12-27 | 2004-05-25 | Arm Limited | Apparatus and method for performing multiplication operations |
US6483343B1 (en) | 2000-12-29 | 2002-11-19 | Quicklogic Corporation | Configurable computational unit embedded in a programmable device |
US7020673B2 (en) * | 2001-01-19 | 2006-03-28 | Sony Corporation | Reconfigurable arithmetic device and arithmetic system including that arithmetic device and address generation device and interleave device applicable to arithmetic system |
US7181484B2 (en) | 2001-02-21 | 2007-02-20 | Mips Technologies, Inc. | Extended-precision accumulation of multiplier output |
JP3492638B2 (ja) | 2001-02-23 | 2004-02-03 | エヌイーシーコンピュータテクノ株式会社 | 浮動小数点乗算器 |
US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US6978287B1 (en) * | 2001-04-04 | 2005-12-20 | Altera Corporation | DSP processor architecture with write datapath word conditioning and analysis |
US20030088757A1 (en) | 2001-05-02 | 2003-05-08 | Joshua Lindner | Efficient high performance data operation element for use in a reconfigurable logic environment |
US6963890B2 (en) | 2001-05-31 | 2005-11-08 | Koninklijke Philips Electronics N.V. | Reconfigurable digital filter having multiple filtering modes |
US6889238B2 (en) | 2001-06-25 | 2005-05-03 | Lockheed Martin Corporation | Parallel decimator adaptive filter and method for all-rate gigabit-per-second modems |
EP1271782B1 (en) | 2001-06-29 | 2005-05-18 | STMicroelectronics Pvt. Ltd | FPGA with at least two different and independently configurable memory structures |
US6874079B2 (en) | 2001-07-25 | 2005-03-29 | Quicksilver Technology | Adaptive computing engine with dataflow graph based sequencing in reconfigurable mini-matrices of composite functional blocks |
US7107305B2 (en) | 2001-10-05 | 2006-09-12 | Intel Corporation | Multiply-accumulate (MAC) unit for single-instruction/multiple-data (SIMD) instructions |
US7430578B2 (en) | 2001-10-29 | 2008-09-30 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed byte data |
DE60239588D1 (de) | 2001-12-28 | 2011-05-12 | Fujitsu Semiconductor Ltd | Programmierbare Logikschaltung mit ferroelektrischem Konfigurationsspeicher |
US6700581B2 (en) | 2002-03-01 | 2004-03-02 | 3D Labs Inc., Ltd. | In-circuit test using scan chains |
US7200735B2 (en) | 2002-04-10 | 2007-04-03 | Tensilica, Inc. | High-performance hybrid processor with configurable execution units |
GB0208329D0 (en) | 2002-04-11 | 2002-05-22 | Univ York | Data processing particularly in communication systems |
US6781408B1 (en) | 2002-04-24 | 2004-08-24 | Altera Corporation | Programmable logic device with routing channels |
US7461115B2 (en) | 2002-05-01 | 2008-12-02 | Sun Microsystems, Inc. | Modular multiplier |
US6970012B2 (en) | 2002-06-10 | 2005-11-29 | Xilinx, Inc. | Programmable logic device having heterogeneous programmable logic blocks |
US7447310B2 (en) | 2002-08-06 | 2008-11-04 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University | Lean multiplication of multi-precision numbers over GF(2m) |
US7401109B2 (en) | 2002-08-06 | 2008-07-15 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University | Multiplication of multi-precision numbers having a size of a power of two |
US7464310B2 (en) | 2002-09-30 | 2008-12-09 | Broadcom Corporation | Programmable state machine of an integrated circuit |
US7103814B2 (en) | 2002-10-25 | 2006-09-05 | International Business Machines Corporation | Testing logic and embedded memory in parallel |
FI118654B (fi) | 2002-11-06 | 2008-01-31 | Nokia Corp | Menetelmä ja järjestelmä laskuoperaatioiden suorittamiseksi ja laite |
FI118612B (fi) | 2002-11-06 | 2008-01-15 | Nokia Corp | Menetelmä ja järjestelmä laskuoperaatioiden suorittamiseksi ja laite |
US6971083B1 (en) | 2002-11-13 | 2005-11-29 | Altera Corporation | Method for programming programmable logic device with blocks that perform multiplication and other arithmetic functions |
US20040103133A1 (en) | 2002-11-27 | 2004-05-27 | Spectrum Signal Processing Inc. | Decimating filter |
US20040172439A1 (en) | 2002-12-06 | 2004-09-02 | The Research Foundation Of State University Of New York | Unified multiplier triple-expansion scheme and extra regular compact low-power implementations with borrow parallel counter circuits |
US6774669B1 (en) | 2002-12-30 | 2004-08-10 | Actel Corporation | Field programmable gate array freeway architecture |
US7430656B2 (en) | 2002-12-31 | 2008-09-30 | Intel Corporation | System and method of converting data formats and communicating between execution units |
US7975197B2 (en) | 2003-03-31 | 2011-07-05 | Lsi Corporation | On-chip scan clock generator for ASIC testing |
US7093204B2 (en) | 2003-04-04 | 2006-08-15 | Synplicity, Inc. | Method and apparatus for automated synthesis of multi-channel circuits |
US7689641B2 (en) | 2003-06-30 | 2010-03-30 | Intel Corporation | SIMD integer multiply high with round and shift |
JP3853766B2 (ja) | 2003-07-25 | 2006-12-06 | ローム株式会社 | 論理演算回路および論理演算装置 |
US7313585B2 (en) | 2003-08-30 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | Multiplier circuit |
US7084923B2 (en) | 2003-10-28 | 2006-08-01 | Clairvoyante, Inc | Display system having improved multiple modes for displaying image data from multiple input source formats |
EP1700231B1 (en) * | 2003-12-29 | 2012-10-17 | Xilinx, Inc. | Integrated circuit with cascading dsp slices |
US7567997B2 (en) | 2003-12-29 | 2009-07-28 | Xilinx, Inc. | Applications of cascading DSP slices |
US7480690B2 (en) | 2003-12-29 | 2009-01-20 | Xilinx, Inc. | Arithmetic circuit with multiplexed addend inputs |
US7472155B2 (en) | 2003-12-29 | 2008-12-30 | Xilinx, Inc. | Programmable logic device with cascading DSP slices |
JP4332036B2 (ja) | 2004-01-08 | 2009-09-16 | 新日本製鐵株式会社 | 鋼板の角折れ検出装置及び角折れ検出方法 |
US7769797B2 (en) | 2004-01-20 | 2010-08-03 | Samsung Electronics Co., Ltd. | Apparatus and method of multiplication using a plurality of identical partial multiplication modules |
US7467176B2 (en) | 2004-02-20 | 2008-12-16 | Altera Corporation | Saturation and rounding in multiply-accumulate blocks |
US7660841B2 (en) | 2004-02-20 | 2010-02-09 | Altera Corporation | Flexible accumulator in digital signal processing circuitry |
DE102004009048A1 (de) | 2004-02-23 | 2005-09-08 | Schunk Ultraschalltechnik Gmbh | Werkzeug |
US7797363B2 (en) * | 2004-04-07 | 2010-09-14 | Sandbridge Technologies, Inc. | Processor having parallel vector multiply and reduce operations with sequential semantics |
JP4554431B2 (ja) | 2004-05-18 | 2010-09-29 | ローム株式会社 | Dtmf信号生成回路、音信号生成回路、ならびに通信装置 |
US7409417B2 (en) | 2004-05-24 | 2008-08-05 | Broadcom Corporation | Polyphase filter with optimized silicon area |
US7415542B2 (en) | 2004-06-18 | 2008-08-19 | Analog Devices, Inc. | Micro-programmable filter engine having plurality of filter elements interconnected in chain configuration wherein engine supports multiple filters from filter elements |
US20060020655A1 (en) | 2004-06-29 | 2006-01-26 | The Research Foundation Of State University Of New York | Library of low-cost low-power and high-performance multipliers |
US7421465B1 (en) | 2004-06-30 | 2008-09-02 | Sun Microsystems, Inc. | Arithmetic early bypass |
US7428566B2 (en) | 2004-11-10 | 2008-09-23 | Nvidia Corporation | Multipurpose functional unit with multiply-add and format conversion pipeline |
US7668896B2 (en) | 2004-11-30 | 2010-02-23 | Arm Limited | Data processing apparatus and method for performing floating point multiplication |
US7298169B2 (en) | 2005-03-15 | 2007-11-20 | Tabula, Inc | Hybrid logic/interconnect circuit in a configurable IC |
US20070083585A1 (en) | 2005-07-25 | 2007-04-12 | Elliptic Semiconductor Inc. | Karatsuba based multiplier and method |
US7590676B1 (en) | 2005-09-27 | 2009-09-15 | Altera Corporation | Programmable logic device with specialized multiplier blocks |
JP4982080B2 (ja) | 2005-12-16 | 2012-07-25 | パナソニック株式会社 | デジタルフィルタ |
US8266199B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US8266198B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US7822799B1 (en) | 2006-06-26 | 2010-10-26 | Altera Corporation | Adder-rounder circuitry for specialized processing block in programmable logic device |
US7930336B2 (en) | 2006-12-05 | 2011-04-19 | Altera Corporation | Large multiplier for programmable logic device |
US8090756B2 (en) | 2007-01-29 | 2012-01-03 | International Business Machines Corporation | Method and apparatus for generating trigonometric results |
US7719446B2 (en) | 2007-11-16 | 2010-05-18 | Teradyne, Inc. | Method and apparatus for computing interpolation factors in sample rate conversion systems |
US8166090B2 (en) | 2007-12-28 | 2012-04-24 | L3 Communications Integrated Systems, L.P. | Tiled architecture for stationary-method iterative linear solvers |
US8179777B2 (en) | 2008-01-22 | 2012-05-15 | Nec Corporation | Transmitter and receiver for a wireless access system, transmission method and reception method of the wireless access system, and a program for same |
US8200728B2 (en) | 2008-05-29 | 2012-06-12 | Harris Corporation | Sine/cosine generator |
-
2006
- 2006-06-05 US US11/447,329 patent/US8266198B2/en not_active Expired - Fee Related
-
2007
- 2007-02-05 EP EP07002429A patent/EP1830252A3/en not_active Withdrawn
- 2007-02-08 JP JP2007029842A patent/JP5069476B2/ja not_active Expired - Fee Related
- 2007-02-08 CN CN200710087956XA patent/CN101042583B/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102422259A (zh) * | 2009-03-03 | 2012-04-18 | 阿尔特拉公司 | 在电路的模块之间具有可选使用、专用连接的模块化数字信号处理电路 |
CN104657107A (zh) * | 2013-11-21 | 2015-05-27 | 三星电子株式会社 | 浮点加法器、通过浮点加法器执行的方法和信息处理系统 |
US10108398B2 (en) | 2013-11-21 | 2018-10-23 | Samsung Electronics Co., Ltd. | High performance floating-point adder with full in-line denormal/subnormal support |
CN104657107B (zh) * | 2013-11-21 | 2018-11-06 | 三星电子株式会社 | 浮点加法器、通过浮点加法器执行的方法和信息处理系统 |
CN111936965A (zh) * | 2018-03-22 | 2020-11-13 | 超威半导体公司 | 随机舍入逻辑 |
CN116257207A (zh) * | 2022-09-08 | 2023-06-13 | 重庆位图信息技术有限公司 | 一种数据截位方法、模块、计算机设备及存储介质 |
CN116257207B (zh) * | 2022-09-08 | 2023-10-03 | 重庆位图信息技术有限公司 | 一种数据截位方法、模块、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP1830252A3 (en) | 2009-02-04 |
JP2007215192A (ja) | 2007-08-23 |
US20070185951A1 (en) | 2007-08-09 |
JP5069476B2 (ja) | 2012-11-07 |
EP1830252A2 (en) | 2007-09-05 |
CN101042583B (zh) | 2011-03-02 |
US8266198B2 (en) | 2012-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101042583A (zh) | 用于可编程逻辑器件的专门处理块 | |
US7822799B1 (en) | Adder-rounder circuitry for specialized processing block in programmable logic device | |
JP5069459B2 (ja) | プログラマブルロジックデバイスのための特殊処理ブロック | |
US7836117B1 (en) | Specialized processing block for programmable logic device | |
US7467176B2 (en) | Saturation and rounding in multiply-accumulate blocks | |
Banescu et al. | Multipliers for floating-point double precision and beyond on FPGAs | |
US8041759B1 (en) | Specialized processing block for programmable logic device | |
EP3452895A2 (en) | Fixed-point and floating-point arithmetic operator circuits in specialized processing blocks | |
CN1735880A (zh) | 用于执行计算操作的系统、方法及设备 | |
US10853034B2 (en) | Common factor mass multiplication circuitry | |
CN1288545A (zh) | 运算装置及运算方法 | |
Chong et al. | Configurable multimode embedded floating-point units for FPGAs | |
Langhammer et al. | Design and implementation of an embedded FPGA floating point DSP block | |
Kumar et al. | Perspective and Opportunities of Modulo 2 n− 1 Multipliers in Residue Number System: A Review | |
US20190303748A1 (en) | Common factor mass multiplication circuitry | |
Sharma et al. | Modified booth multiplier using wallace structure and efficient carry select adder | |
Liang et al. | ALU Architecture with Dynamic Precision Support | |
Thingom et al. | FPGA implementation of FIR filter using RADIX-2 r | |
Conde et al. | Reconfigurable block floating point processing elements in Virtex platforms | |
Cini et al. | MAC unit for reconfigurable systems using multi-operand adders with double carry-save encoding | |
Patronik et al. | Design of an RNS reverse converter for a new five-moduli special set | |
Sulochana et al. | Design and Implementation of FPGA based Low Power Digital FIR Filter | |
CN1731344A (zh) | 快速多周期二进制及十进制加法器单元的高度并行结构 | |
SUREKHA et al. | Pre Encoded Multipliers Based on Non Redundant Radix-4 Design Using Modified Wallace Scheme | |
Pandey et al. | Design and Implementation of Novel Multiplier using Barrel Shifters |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220909 Address after: California, USA Patentee after: INTEL Corp. Address before: California, USA Patentee before: Altera Corp. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110302 |
|
CF01 | Termination of patent right due to non-payment of annual fee |