CN102422260B - 具有冗余和双向数据通道的数字信号处理电路 - Google Patents
具有冗余和双向数据通道的数字信号处理电路 Download PDFInfo
- Publication number
- CN102422260B CN102422260B CN201080019823.9A CN201080019823A CN102422260B CN 102422260 B CN102422260 B CN 102422260B CN 201080019823 A CN201080019823 A CN 201080019823A CN 102422260 B CN102422260 B CN 102422260B
- Authority
- CN
- China
- Prior art keywords
- circuit
- dsp
- module
- dsp circuit
- circuit module
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/125—Discriminating pulses
- H03K5/1252—Suppression or limitation of noise or interference
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17732—Macroblocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/382—Reconfigurable for different fixed word lengths
-
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5324—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
Abstract
本发明提供一种数字信号处理(DSP)电路模块,其能够更易于一起工作,从而视需要执行更大的(例如更复杂和/或运算精度更高的)DSP运算。这些DSP模块也可包括冗余电路,其能促进多个此类电路模块的组合,尽管不能使用有些电路模块(例如由于电路缺陷)电路模块。
Description
背景技术
本发明涉及数字信号处理(DSP)电路,并且更特别地涉及这样的DSP电路组件或电路模块的阵列,其能够任选地一起工作以执行更复杂和/或数学或运算精度更高的DSP运算,并且当需要一起工作时,其能够适应电路缺陷可使DSP模块不能用的可能性。
各种情况可能要求用多个DSP电路模块或组件的多个实例来制造集成电路。这种集成电路的一个示例是可编程逻辑器件(PLD)或现场可编程门阵列(FPGA)。该器件可具有多行各种类型的电路,例如相关的通用可编程逻辑。其每行都可包括DSP电路模块(即至少某种程度上被硬接线以执行特殊的DSP功能或一组特殊的DSP功能的电路)。在该情况下,可能期望调整DSP模块的大小以将其安装在该行中其他电路的(行)边界之内。这可能意味着DSP模块自身太小而不能执行一些可期望集成电路执行的DSP功能。在这些情况下,可能期望以各种方式促进多个DSP模块可任选地“组合在一起”,以便能够在两个或更多个DSP模块中有效地执行更大的DSP功能。然而,可能存在这样的矛盾关系,即如果与需要被组合在一起的DSP模块相关联的任何电路部分都不可用(例如由于集成电路中的制造缺陷),则使得组合这些DSP模块变得更难或者不可能。这可能很大程度上增加部分有缺陷的集成电路根本不能使用的概率。
发明内容
依照本发明的某些可能方面,提供能够更易于一起工作以根据需要执行更大(例如更复杂和/或运算精度更高)的DSP运算的DSP电路模块。例如,这种DSP模块可包括路由电路(routing circuitry),其用于任意地或选择性地将信号路由至每个模块的任一侧上的其他DSP模块。
依照本发明的其他可能方面,DSP模块间路由电路也可包括冗余能力,其使得向两个其他DSP模块中的任一个路由的输出信号能够达到每个DSP模块的一侧,并且使得来自两个DSP模块中任一个的输入信号能够达到每个DSP模块的一侧。如果期望与其他DSP模块组合的一些DSP模块不能使用(例如由于电路缺陷),该冗余能力允许通过有效地跳过缺陷DSP模块来实现DSP模块的组合。
根据附图和以下详细说明,本发明的进一步特征、其性质和各种优点将变得更明显。
附图说明
图1是依照本发明的典型电路的示例性实施例的简化示意方框图。
图2是能够在依照本发明图1所示的典型电路中使用的电路的示例性实施例的简化示意方框图。
图3是依照本发明图1所示类型的电路的典型部分的示例性实施例的更详细但仍被简化的示意方框图。
图4示出顺时针旋转90°的图3所示的电路,以便于讨论该电路的某些方面。
图5是示出依照本发明的特殊DSP运算的性能的某些方面的简化图。
图6是示出用于执行依照本发明图5所示的运算的DSP电路的示例性实施例的简化示意方框图。
图7是示出依照本发明的另一DSP运算的性能的某些方面的简化图。
图8是示出用于执行依照本发明图7所示的运算的DSP电路的示例性实施例的简化示意方框图。
图9是示出依照本发明的又一DSP运算的性能的某些方面的简化图。
图10是示出用于执行依照本发明图9所示的运算的DSP电路的示例性实施例的简化示意方框图。
具体实施方式
图1示出依照本发明的集成电路(“IC”或“器件”)10的示例性实施例的典型部分。图1所示的电路包括电路的几个典型行R4-R9的典型部分。这些行中的任一行通常可称为行RN。
每一行RN都包括数字信号处理或DSP电路100的模块。每一行RN也都包括在该行中DSP模块左侧或右侧的其他电路20的区域。该其他电路20可包括例如用于路由到达和来自该行的DSP模块的信号的组件,如逻辑电路和互联引线,其也路由到达、来自该行的逻辑电路和其他电路及其之间的信号,以及在各行之间路由信号。该电路的一些或全部的不同方面可以是可编程的,例如使得通用器件10能够用于若干不同用途中的任一种用途。例如,虽然DSP模块100的电路通常在某种程度上被硬接线以执行某些DSP功能,但是该电路在某种程度上也是可编程的,以便所执行的DSP运算的某些方面能够由器件的不同用户改变,从而满足每个用户的特殊需要和需求。该编程可为以下技术的结果,即将控制数据存储在集成电路上的存储单元中、熔断集成电路上的熔丝、对集成电路进行掩模编程或者任何其他适当的编程技术或方法。
器件10可被构造成使得多个行是冗余的。这意味着,例如每行RN都与所有的其他行相同或基本相同。另外,器件10可被构造成使得如果任何一行RN有缺陷,则与其紧接的上一行或下一行能够有效地代替该缺陷行。另外,在代替缺陷行的该行上面或下面的所有其他行都有效地代替其他邻接行。这样,意外制造的带有一些缺陷电路的很多器件10仍能够使用,这显著增加了制造工艺的产率。图1示出用于在DSP模块区域100中实现该冗余的典型电路。为每行RN的其他部分提供另外的冗余电路,但其未在图1中示出,以避免将附图过分复杂化(并且因为行的那些其他部分不是本发明的主要焦点)。将在随后的几幅图中概括地描述DSP模块冗余电路。
依照本发明,DSP模块100能够通过以下方式扩展其功能性,即将某些信号发送至相邻的DSP模块或多个DSP模块,和/或从相邻的DSP模块或多个DSP模块接收某些信号。这些是相邻DSP模块100之间的相对直接连接。这些DSP模块间连接不依赖于器件10的其他更一般的互联资源例如形成一部分电路20的互联资源。相反,这些DSP模块间连接直接从一个DSP模块100到达另一邻近的DSP模块100,其仅承受这样的可能性,即可使用现在将描述的冗余电路来允许这些DSP模块间信号有效地“跳过”由于该行中的一个或更多缺陷导致已停止使用的行。
以典型的行R7为例,(根据本发明)需要从行R7中的DSP模块100到达另一DSP模块的信号可来源于行R7的DSP模块中的节点A。该信号被施加到该DSP模块中的多路复用器电路(mux)110的一个可选择输入端,并且也被施加到行R7之上的行R6中的DSP模块100中的类似多路复用器110的一个可选择输入端。行R7中的多路复用器110的输出信号转到行R6中DSP模块100中的目的单元格(destination)。行R6中的多路复用器110的输出信号转到行R5中DSP模块100中的目的单元格。如果行R6没有缺陷并且因此处于使用中,则行R7中的多路复用器110被控制以选择来自节点A的信号,用于施加至行R6。但是如果R6有缺陷并且因此有效地中断器件10的电路,则行R6中的多路复用器110就被控制以选择来自节点A的信号,用于施加至行R5。该例子示出如何能够使用冗余多路复用器110来将源自任意行中的DSP模块100的信号施加至紧接的上一行中的DSP模块100,或者施加至来源行(source row)之上两行的DSP模块100。
类似地,冗余多路复用器120可以被用于将信号从任一DSP模块100路由(route)到紧邻其下的DSP模块100或其两行之下的DSP模块100路由信号。例如,来源于行R5中的DSP模块100中的节点B处的信号被施加至行R6或R7的每一行中的多路复用器120的一个可选择输入。如果行R6正在使用,则行R6中的多路复用器120被控制以将来源于节点B的信号施加至行R6的目的单元格。另一方面,如果R6不在使用中,则行R7中的多路复用器120被控制以将来源于节点B的信号施加至行R7中的目的单元格。
图2示出可以如何控制典型的冗余多路复用器110或120的示例性实施例。,多路复用器110/120能够基于其选择控制输入信号K的逻辑状态选择其主输入H或可选择输入I为其输出信号J。例如,如果K为零,J可为H;而如果K为1,J可为I。K可源自器件10上的熔丝(F)130、器件上的存储单元(M)130或器件上的任何其他可编程部件130。该熔丝、存储单元等部件130可在其已确定哪一行(如果有)RN有缺陷并且因此为了器件的正常使用而必须有效中断器件10之后被编程为每个此类元件130的适当状态。
关于图1要注意一点,即每一行(相邻行之间)的宽度W对于(1)该行内的DSP模块100和(2)该行中的其他电路20是大致相同的。这有利于在类似当前背景的背景下有效地使用器件10上的区域,其中每一行都基本与其他行相同,并且其中任何一行都可以完全停止使用(如果有缺陷)并由另一行无缝代替。因此当一行停止使用并由另一行代替时,原始行的所有功能优选被自动再分配至代替行。器件的使用者不需要关注或甚至了解哪些行在使用,哪些行不在使用。
将每个DSP模块100的高度制造成与行中的其他电路20的高度相同的可能结果是倾向于使得每个DSP模块的大小或功能能力都与包括该DSP模块的行中的相邻其他电路20的大小和能力相称。例如,DSP模块100可能仅能够从包括该DSP模块的行中的相邻电路20获得某一数目的输入信号。这可能限制该DSP模块能够执行的DSP运算(例如乘法)的数目和/或大小。然而,器件10的一些用户可能希望执行比在一个此类受限制的DSP模块中能够执行的更大的乘法。因此,本发明通过例如以下方法提供对一个DSP模块100的乘法和其他能力的扩展,即允许大乘法和/或其他DSP运算的一些部分或方面在另一相邻的DSP模块100中执行。依照本发明,这通过在相邻的DSP模块之间经图1中大致在110和120处示出的冗余电路基本直接发送信号完成。以该方式使用基本直接DSP模块间连接来避免可由改为尝试使用其他电路20的更通用互联资源引起的延迟和可能的其他资源耗竭。在这些DSP模块间互连中使用例如110和120的冗余,以便如果一行必须停止使用,则需要从一个DSP模块100到达另一DSP模块的信号能够绕过该行中已停止使用的无功能DSP模块100。
图3示出依照本发明的DSP模块100的示例性实施例。DSP模块100的各种元件将在下文中较早确定。随后将提供关于如何能够使用这些元件的更多细节。图3示出与图1所示相同方向的典型DSP模块100。然而,由于当需要解释由DSP模块的不同组件执行的算法运算时难以在该方向进行讨论,所以在图4中以不同方向精确复制了图3的内容。特别地,图4相对于图3顺时针旋转了90°。因而图4中的“左”或类似表述与图3中的“底部”、“向下”、“下面”或类似表述相同;图4中的“右”或类似表述与图3中的“顶部”、“向上”、“上面”或类似表述相同,等等。图1和图3清楚地解释了上述相邻DSP模块100之间的基本直接连接在器件10中从行至行。虽然类似图4的附图描述了旋转90°的典型DSP模块100,但是类似图4的附图的以下讨论将仍然涉及此类从一“行”到另一“行”的DSP模块间信号,即使该类型的附图可能看起来是左右传播的信号进入电路的另一列而非电路的另一行。
现在参考图3或图4所示的典型DSP模块100的基础结构,模块100包括两个18乘18(“18×18”)的乘法器电路200a和200b。每个乘法器200都能够将两个18位数据字相乘(由来自包括讨论中的DSP模块100的行中的其他电路20的电数据信号表示),并且以冗余格式(例如一个36位和数(sum)向量和一个36位进位向量(因为乘法器不包括用于产生正常的最终乘积值的最终进位传递加法器(CPA)))产生两个乘积向量(同样由电信号表示)。可控移位器电路202可经控制以将乘法器200a输出的和数及进位信号向量(1)向左移位18位数位(增加数字或算术有效位)或者(2)完全不移位(即不向左移位并且因此数字或算术有效位无变化)。元件202的另一种可能输出条件可以是全零的输出数据信号。如图2所示的情况,类似130的一个或更多个熔丝或存储单元可以被编程以控制元件202是否如上所述将乘法器200a的输出向左移位(或者,作为第三种可能性,如上所述输出0数据)。作为另一可能选择,元件202可根据其执行的功能进行掩模编程。在本说明书中的所有情况下,“移位”通常意味着向进入下一个下游电路元件的不同电引线组路由信号,而不是向用于将这些信号路由(若未移位)至下一个下游电路元件的电引线组路由信号。比特信号的“算术意义”、“比特位置/数位”、“阶(order)”等通常为信号处于几个电引线中哪一个上的结果。
典型DSP模块中的下一元件是四至二(4-2)压缩器电路210。压缩器210能够将其从每个移位器202和乘法器200b接收的两个和数及进位信号向量(即总共四个此类信号向量)向下组合到两个此类信号向量中。由于来自移位器202的向量可增加18个比特位置的数字有效位,压缩器210的“宽度”需要增加至57位。因此示出的压缩器210具有57个比特位置(即[57:1])。
压缩器210输出的和数与进位向量(每个向量都可包括多达57位)被施加至多路复用器220a和220b,并且也施加至可控制的移位器电路230。多路复用器电路220a能够选择压缩器210输出的57位信号向量的各种38位子集中的任何一个子集,用于如图4所示施加至左侧的相邻DSP模块。(贯穿该讨论,所有此类38位数据值或子集中的数位都是连续数字有效位。例如,它们可以是来自57位源的相对低阶位;或者它们可以是来自该源的相对高阶位。但是在任何一种情况下,它们都具有连续的有效数位。选择该子集通常为选择几组电引线中的哪一组作为被选择子集中的信号的来源的结果。)类似地,多路复用器电路220b能够选择压缩器210输出的57位向量的各种38位子集中的任何一个子集,用于如图4所示施加至右侧的相邻DSP模块。视需要,多路复用器220a和220b也可具有输出全为零的数据的能力。这是贯穿本公开所示和所述的任何多路复用器(例如220、232、242、248等等)以及任何可控制移位器(例如202、230等等)可具有的能力。一些多路复用器(例如242、252和262)被描述成具有该明确示出的能力(例如这些多路复用器的一组可选择输入到地线244的连接)。对可能包括该电路的所有其他元件(例如202、220、230、232、248等等)进行描述时,不再重复描述该电路(从而避免附图过于复杂),也不在所有这些其他元件的讨论中明确地再次提及该能力,但是应理解,所有这些通用类型的元件都可具有该能力。
可控制移位器230能够将对其施加的位数向左移18位(因此增加这些位数的数字意义),或者向右移18位(因此降低这些位数的数字意义)。作为第三种选择,移位器230可以不对向其施加的数据施加移位。所有的元件220和230都可由类似图2中的可编程熔丝或存储电路元件130(或可为可编程掩模)来控制,从而选择执行其各种可能功能中的哪一种功能。
注意,为了退出图3和图4所示的典型DSP模块100,必须由冗余多路复用器110a和110b(其为图1和图2中更通常或一般地示出的冗余多路复用器110的特殊情况)选择多路复用器220b的输出。多路复用器110a和110b的可替换输入只在图3中以点线方式部分示出,而在图4中完全未示出(从而避免图3和图4过于复杂)。但是从图1明显看出,这些点线输入来自图3的DSP模块之下(或图4的DSP模块左侧)的DSP模块100中的多路复用器220b。
多路复用器232从冗余多路复用器120a和120b接收38位和数及进位向量。同样,冗余多路复用器120a和120b为图1中更普遍和一般地示出的冗余多路复用器类型的特殊情况。通往多路复用器120a和120b的实线输入来自紧邻图3DSP模块之上(或者紧邻图4DSP模块右侧)的DSP模块100中的多路复用器220a。通往多路复用器120a和120b的可替换点线输入(仅在图3中部分示出,而在图4中完全未示出,从而避免图3和图4过于复杂)来自图3DSP模块之上两块(或者图4DSP模块右侧两块)的DSP模块100中的多路复用器220a。多路复用器232也从来自紧邻图3DSP模块之下(或紧邻图4DSP模块左侧)的DSP模块100中的冗余多路复用器110a和110b的引线接收38位和数及进位向量。多路复用器232能够选择来自多路复用器120a和120b的向量或者多路复用器232接收的其他向量。多路复用器232的控制类似于其他可变元件如多路复用器220的控制。
图3和图4中示出的典型DSP模块100中的下一元件为四至二(4-2)压缩器电路240。虽然大小不同,但是压缩器240能够类似于压缩器210。换句话说,压缩器240能够将其接收的四个38位和数及进位信号向量组合为两个进一步的38位和数及进位信号向量。在执行更大的乘法的情况下,压缩器240可能需要与另一相邻DSP模块100中的类似压缩器240进行链式协作。因此,压缩器240能够额外接收来自多路复用器242的较低阶(即较低数字有效)信号位。在没有来自实低阶源(real lower-order source)的链式输入(chaining-in)的情况下,多路复用器242能够从地电位源244选择这些低阶位。可替换地,如果存在该链式输入,则多路复用器242从冗余多路复用器120c获得其输出。多路复用器120c是多路复用器如120a和120b的另一示例。通往多路复用器120c的实线输入是来自紧邻图3模块之上(或者紧邻图4模块右侧)的DSP模块100中的压缩器240的两个输出。通往多路复用器120c的点线输入(仅在图3中部分示出,而在图4中完全省略,从而避免描述过于复杂)是来自图3模块之上两块(或者图4模块右侧两块)的DSP模块100中的压缩器240的两个输出。离开压缩器240的底部(图3)或左侧(图4)的两个输出是压缩器240执行的运算所产生的最高有效、最高阶或溢出输出信号位。同样,如果正在执行更大的乘法,则能够通过相邻模块中的多路复用器120c和242将这些溢出数位链接到该相邻DSP模块的压缩器240的最低阶输入。在DSP模块无链接的情况下,多路复用器232被控制以输出0数据信号。
压缩器240输出的38位和数及进位向量被施加到三至二(3-2)压缩器电路250。由相邻DSP模块100输出的最终乘积也可以通过冗余多路复用器120d和120e以及多路复用器248被施加到3-2压缩器电路250。此外,当将执行某些更复杂的DSP运算时,能够使用该DSP模块间路由部件。多路复用器120d和120e的布置和使用类似于其他多路复用器如120a和120b的布置和使用。因此,通往多路复用器120d和120e的实线输入来自图3和图4所示模块之上(图3)或右侧(图4)的DSP模块100中的进位传递加法器(CPA)的主输出。通往冗余多路复用器120d和120e的可替换点线输入(同样只在图3中部分示出)来自图3和图4所示模块之上两块(图3)或右侧两块(图4)的DSP模块100中的CPA 260的主输出。(在DSP模块无链接的情况下,多路复用器248被控制以输出0数据信号。)3-2压缩器250能够组合来自压缩器240的和数及进位信号向量与多路复用器248输出的数据,从而产生施加至最终进位传递加法器(CPA)260的进一步和数及进位信号向量。在典型DSP模块100涉及长于38位算术运算的情况下,能够在压缩器250的情况下经多路复用器120f和252并且在CPA 260的情况下经多路复用器120g和262将低阶信号数位施加至相邻DSP模块100中的压缩器250和CPA 260。类似地,如果为了更长的算术运算而需要链接多个元件250和多个元件260,则能够从元件250和260向相邻DSP模块100中的元件120f/252/250和120g/262/260输出更高阶的信号位。元件120f、252和244的布置和使用能够类似于元件120c、242和244的上述布置和使用。对于元件120g、262和244同样如此。因此,应该不需要对元件120f/252/244和120g/262/244作进一步解释。
除了可基本直接路由回到另一相邻DSP模块100中的多路复用器248,CPA 260输出的最终高达38位的信号乘积通常被施加到包括如图1所示的典型DSP模块100的行RN中的其他电路20。
我们现在考虑一个或更多个DSP模块100能够支持的各种运算模式的示例。
A.18×18和18×18复数
能够在一个DSP模块100内完成相对简单的模式如18×18乘法和18×18复数乘法(例如(a+bi)×(c+di))。例如,能够使用任一乘法器200形成来自18×18乘法的和数及进位信号向量,并且这些向量可通过随后的组件向下传递至CPA 260,该CPA形成乘法的最终乘积。
B.四个18×18的和
可以使用两个相邻DSP模块形成四个18×18乘法的乘积的和。(如果不存在通过冗余电路运算而已停用的插入行,则“相邻”意味着直接相邻/紧邻;或者,可替换地意味着如果没有这种停用的插入行则相邻。)在以下的讨论中,每个字母例如A、B、C等都代表或表示18位输入,并且每个字母对例如AB、CD等都是该对中的字母确定的两个18位输入相乘的乘积结果。该字母对可代表该乘积结果的中间和数及进位向量,或者最终乘积。因此,AB+CD+EF+GH是八个成对的18位输入的四个乘积的和。
可使用第一DSP模块100中的乘法器200a形成AB。可使用该DSP模块中的乘法器200b形成CD。第一DSP模块中的压缩器210形成AB+CD。可以使用多路复用器200b将AB+CD路由至相邻DSP模块100中的多路复用器232和压缩器240。可以使用相邻DSP模块中的乘法器200a形成EF。可以使用该相邻DSP模块中的乘法器200b形成GH。该相邻模块中的压缩器210形成EF+GH。该相邻模块中的压缩器240形成AB+CD+EF+GH,其中同一模块中的CPA 260以最终乘积的形式输出。注意,形成AB+CD的模块可以是在形成EF+GH和AB+CD+EF+GH的模块的任一侧的模块。
C.两个36×18的和
在以下讨论中,字母如A、B、C等具有与上文相同的含义;字母对如AC、BC等具有与上文相同的含义;字母对(A,B)表示36位数据字,其中左侧字母涉及18个较高有效位,右侧字母涉及18个较低有效位;而字母组合例如(A,B)×C表示36位数据字(例如(A,B))与18位数据字(例如C)相乘的乘积结果。因此,在此讨论的模式的目标是产生(A,B)×C+(D,E)×F。
图5示出(算术上)如何产生上述结果。图5的部分1示出将被执行的一个36×18乘法(即(A,B)×C)。部分2示出将被执行的另一个36×18乘法(即(D,E)×F)。部分3示出各部分乘积如何产生并且然后如何垂直排列进行相加以产生(A,B)×C+(D,E)×F。特别地,(A,B)×C的两个部分乘积被产生为AC和BC,其中AC相对于BC被向左移位18个比特位置。类似地,(D,E)×F的两个部分乘积被产生为DF和EF,其中DF相对于EF被向左移位18个比特位置。然后,如图5中的部分3所示,将所有的BC、AC、EF和DF相加。
图6示出两个相邻DSP模块100如何能够被配置以执行上述运算。图6通过以下方式简化,即省略冗余电路的描述并且假定使用两个直接相邻的DSP模块100a和100b。(应理解,实际上在图6的电路中存在所有以上描写和描述的冗余电路,并且能够使用该冗余电路来有效地整合被不能使用的插入DSP模块互相分离的两个DSP模块。)如图6所示,DSP模块100a中的乘法器200a形成AC,DSP模块100a中的乘法器200b形成DF,DSP模块100b中的乘法器200a形成BC,DSP模块100b中的乘法器200b形成EF。模块100a中的压缩器210压缩(累加)AC和DF。模块100b中的压缩器210压缩(相加)BC和EF。模块100a中的压缩器210的输出的18个较低有效位通过元件220b(模块100a)和232(模块100b)被路由至模块100b中的压缩器240。(在图6中该路由的路径通过点线211突出。)这使模块100b能够在图5的部分3中的点线右侧形成最终和数的一部分。图5的部分3中的点线左侧的数据保持在模块100a中,并且由该模块输出作为最终和数的该部分。
更特别地,在模块100a中,使用移位器230将压缩器210输出向右移位18个比特位置,以便未被传递至模块100b的压缩器210的更高有效位输出被移位至模块100a中的压缩器240的更低有效位部分。在模块100b中,移位器230将来自压缩器210的数据向左移位18个比特位置,并且穿过模块100b中的多路复用器电路232的数据被施加至与该多路复用器电路232相关联的压缩器240的更高有效位输入端。因此模块100b中的压缩器240能够开始完成如图5的部分3中的点线右侧所示的加法。来自模块100b中的压缩器240的最高有效位端的任何进位输出或溢出都通过模块100a中的多路复用器242施加至模块100a中的压缩器240的最低有效位端。这使两个压缩器240能够作为一个更大的压缩器一起有效地运算。
每个压缩器240输出的数据通过各自关联的压缩器250流至各自关联的进位传递加法器(CPA)260,在此产生(A,B)×C+(D,E)×F的最终和数输出数据。同样,来自模块100b中的CPA 260的最高有效位端的任何进位溢出都通过模块100a中的多路复用器262(作为进位输入)施加至模块100a中的CPA 260的最低有效位端。这同样使两个CPA 260能够作为一个更大的CPA 260一起有效地运算。因此,模块100a输出最终乘积(A,B)×C+(D,E)×F的18个较高有效位,而模块100b输出该最终乘积的36个较低有效位。
D.使用两个DSP模块的36×36模式
在以下讨论中,字母对如(A,B)同样表示36位数据字,其中左侧字母涉及18个较高有效位,而右侧字母涉及18个较低有效位。字母对如BD也具有与前述基本相同的含义(虽然现在该字母对通常涉及两个不同的36位数据字的两个18位部分的乘积)。因此,本部分中的讨论工作的目标是产生(A,B)和(C,D)的乘积,或(A,B)×(C,D)。
图7示出如何在算术上产生上述结果。图7的部分1示出将执行的乘法。部分2示出形成的四个部分乘积,并且示出这四个部分乘积如何相对于彼此从左到右定位以调整其相对算术有效位,从而能够将其垂直相加。特别地,最顶端部分乘积BD是每个被乘数(A,B)和乘数(C,D)中的18个较低有效位的乘积。随后的部分乘积AD是被乘数(A,B)中的18个较高有效位和乘数(C,D)中的18个较低有效位的乘积。部分乘积CB是被乘数(A,B)中的18个较低有效位和乘数(C,D)中的18个较高有效位的乘积。部分乘积AC是每个被乘数和乘数中的18个较高有效位的乘积。如上所述,图7的部分2也示出部分乘积AD和CB如何相对于部分乘积BD被向左移位18个比特位置,以及部分乘积AC如何相对于部分乘积AD和CB被向左再移位18个比特位置。在该移位之后,图7的部分2中示出的四个部分乘积能够垂直相加以产生(A,B)和(C,D)的预期最终乘积,即(A,B)×(C,D)。
可以使用两个相邻DSP模块100来执行图7所示的算术功能。(同样,如果不存在停止使用的插入行,则“相邻”意味着直接相邻/紧邻,或者邻近该停止使用的插入行的相反侧。)图8示出如何使用两个相邻DSP模块100a和100b完成该运算(并且再次省略冗余多路复用器和其他冗余连接的描述以避免使附图过于复杂。)。
如图8所示,DSP模块100a中的乘法器200a形成部分乘积AC。DSP模块100a中的乘法器200b形成部分乘积CB。DSP模块100b中的乘法器200a和200b分别形成部分乘积AD和BD。DSP模块100a中的移位器202将部分乘积AC相对于部分乘积CB向左移位18个数位,并且该DSP模块中的压缩器210将这两个因此相对于彼此移位的部分乘积相加。DSP模块100b中的移位器202将部分乘积AD相对于部分乘积BD向左移位18个数位,并且该DSP模块中的压缩器210将这两个因此相对于彼此移位的部分乘积相加。
DSP模块100a中的压缩器210输出的18个最低有效位经模块100a中的元件220b和模块100b中的元件232路由至模块100b中压缩器240,在此这些数位被路由至相关压缩器240的输入的较高有效位端。(点线213突出该路由。)DSP模块100b中的压缩器210输出的18个最高有效位经模块100b中的元件220a和模块100a中的元件232路由至模块100a中的压缩器240,在此这些数位被路由至相关压缩器输入的较低有效位端。(点线215突出该路由。)DSP模块100a中的移位器230将该模块中的压缩器210输出的数据向右移位18位,以防止已从模块100a传递至模块100b的较低有效位也被施加至模块100a中的压缩器240。DSP模块100b中的移位器230将该模块中的压缩器210输出的数据向左移位18位,以防止已从模块100b传递至模块100a的较高有效位也被施加至模块100b中的压缩器240。
DSP模块100a和100b中的压缩器240一起工作,以将对其施加的部分乘积信息相加(其中模块100a中的元件242将来自模块100b中的压缩器240中的最高阶(最高有效)比特位置的任何溢出施加至模块100a中的压缩器240中的最低阶(最低有效)比特位置)。因此,模块100a中的压缩器240开始形成图7的部分2中垂直点线左侧的数据相加的结果,而模块100b中的压缩器240对该点线右侧的数据执行类似计算。
每个压缩器240输出的数据通过相应的压缩器250流至相应的进位传递加法器(CPA)260。同样,模块100a中的元件262将来自模块100b中的CPA 260的最高有效位端的任何进位输出施加至模块100a中的CPA 260的最低有效位端。这两个CPA 260的最终输出共同包含最终乘积(A,B)×(C,D),其中模块100a中的CPA 260的输出组成该最终乘积的较高有效位,并且模块100b中的CPA 260的输出组成该最终乘积的较低有效位。
E.使用四个DSP模块的54×54模式
图9和图10图示说明能够如何使用依照本发明的DSP模块100的另一个示例。在本讨论中,三个一组的字母如(A,B,C)涉及54位数据字,其中字母A表示18个最高有效位,字母B表示18个中间算术有效位,而字母C表示18个最低有效位。字母对例如AF涉及来自一个54位数据字的18位A乘以来自另一54位数据字的18位F的部分乘积。在本部分中讨论的模式的目标是产生两个54位数据字的乘积,即(A,B,C)乘以(E,F,G),或者(A,B,C)×(D,E,F)。然而假定该乘积不需要108位的严格精确度。因此,最低有效部分乘积CF不被计算或不被用于产生最终(近似)乘积。
图9示出在算术上如何由多个部分乘积产生上述乘积。图10示出能够用于如图9所示产生乘积的四个DSP模块100a-100d。(同样为了简化,图10假定能够使用四个直接相邻的DSP模块100,因为在该范围内没有停止使用的DSP模块。因此图10省略了本说明其他地方示出和描述的冗余电路的描述。但是该冗余电路优选存在并且能够被用于在模块100a-100d之一必须停止使用时启用另一相邻DSP模块100帮助执行结合图10描述的功能。)图9的部分1示出将要执行的乘法。图9的部分2示出在两个左侧DSP模块100a和100b中形成并适当组合的部分乘积。图9的部分3示出在两个右侧DSP模块100c和100d中形成并适当组合的部分乘积。来自图9的部分3的36个更高有效位(即部分3中点线左边的数位)被加到来自图9的部分2的36个较低有效位(即部分2中点线右边的数位),这主要在DSP模块100b的最终级进行。因此由DSP模块100a和100b输出乘积的72个更高有效位。可从DSP模块100d获得乘积的另外18个较低有效位。如上所述,乘积的更低有效位不计算并且不可用。因此该情况下的“乘积”仅为近似值,但是其近似到非常高的精确度。特别地,这是因为在图9和图10的任何地方都不计算和使用最低有效部分乘积CF。
现在更详细地考虑图9和图10,应注意在DSP 100a和100b中完成的工作(如图9的部分2所示)最初与图7和图8所示以及以上结合这些附图描述的内容相同。特别地,该工作是使用两个DSP模块100a和100b来形成两个36位数据字的乘积(在该情况下为乘积(A,B)×(D,E))。因为两个DSP模块的该方面功能性已结合图7和图8充分描述,所以不需要再次结合图9的部分2或图10中的DSP模块100a和100b详细描述。
现在参考图9的部分3和图10中的DSP模块100c和100d,应注意这些DSP模块最初与图5和图6所示以及以上结合这些附图描述的内容大致相似。然而,图9的部分3中的点线与图5的部分3中的点线位置不同,所以图10中的DSP模块100c和100d完成该工作的方式稍微与上述图6的流程不同。将在下一段中描述图10中使用的该稍微不同的流程。
DSP模块100c中的乘法器200a和200b分别形成部分乘积AF和DC。模块100c中的压缩器210将这两个部分乘积相加在一起。DSP模块100d中的乘法器200a和200b形成部分乘积BF和EC,并且该模块中的压缩器210将这两个部分乘积相加在一起。模块100d中的线路220a和模块100c中的线路232将模块100d中的压缩器210输出的18个较高有效位施加至模块100c中的压缩器240的较低有效位端。模块100d中的移位器230将该模块中的压缩器210的输出向左移位18个比特位置。模块100c中的压缩器240将对其施加的四个向量压缩至两个向量,其向下通过该模块中的压缩器250流至该模块中的CPA 260。(这主要是图9的部分3中点线左侧需要的最终加法工作。)类似地,模块100d中的压缩器240的输出通过该模块中的压缩器250流至该模块中的CPA 260。(这对应于图9的部分3中点线右侧部分。)模块100c和100d中的CPA 260一起工作,从而如图9的部分3中所示产生工作的最终和数。模块100b中的元件248被用于将该结果的38个较高有效位(由模块100c中的CPA 260输出)路由至模块100b中,用于加到模块100a和100b完成的工作(如图9的部分2所示)。因此最终结果为(1)由模块100a和100b中的CPA 260输出的(A,B,C)×(D,E,F)的72个较高有效位,以及(2)由模块100d中的CPA 260输出的该(近似)乘积的另外18个(较低有效)位。
概况上文的一些方面,并且也在一些方面延伸已述内容,数字信号处理(DSP)模块(例如100)可包括第一和第二N位(例如18位)乘法器电路(例如200a和200b)。DSP块可以进一步包括第一移位器电路(例如202),用于将第一乘法器电路的输出按以下可选方式之一移位:(1)移位零比特位置,和(2)朝着更高算术有效位移位N个比特位置。DSP模块可进一步包括第一压缩器电路(例如210),其用于将第一移位器电路和第二乘法器电路的输出以加法方式组合。DSP模块可进一步包括用于选择性地将第一压缩器电路的输出路由至DSP电路模块的相应相对侧上的第一和第二其他DSP电路模块的电路(例如220a和220b)。DSP模块可进一步包括第二移位器电路(例如230),其用于将所述第一压缩器电路的输出按以下可选方式之一移位:(1)移位零比特位置,(2)朝着更高算术有效位移位N个比特位置,以及(3)朝着更低算术有效位移位N个比特位置。DSP模块可进一步包括第二压缩器电路(例如240),其用于将从所述第一和第二其他DSP电路模块中任一个中的第一压缩器电路接收的任何输出以加法方式组合。
在上述DSP电路模块中,路由电路(例如220a和/或220b)可被控制以选择路由第一压缩器电路(例如210)的输出的多个子集中的任何一个子集。这些可选择的子集可包括(1)包括第一压缩器电路的最高有效位输出比特位置的子集,以及(2)包括第一压缩器电路的最低有效位输出比特位置的子集。
在如上所述的DSP电路模块中,第二压缩器电路(例如240)可包括溢出输出电路(例如从压缩器240的最高有效位端至相邻DSP模块的输出引线)和溢出输入电路(例如242),溢出输出电路用于将第二压缩器电路的溢出输出信号施加至第一其他DSP电路模块,溢出输入电路用于选择性地接收第二其他DSP电路模块中的第二压缩器电路的溢出输出信号。
如上所述的DSP电路模块可进一步包括第三压缩器电路(例如250)和进一步路由电路(例如248),第三压缩器电路用于累加组合第二压缩器电路的输出和从第二其他DSP电路模块接收的任何进一步输出,进一步路由电路用于将第三压缩器电路的输出作为进一步输出选择性地路由至第一其他DSP电路模块。在该DSP电路模块中,第三压缩器电路(例如250)可包含溢出输出电路(例如从压缩器250的最高有效位端至相邻DSP模块的输出引线)和溢出输入电路(例如252),溢出输出电路用于将第三压缩器电路的溢出输出信号施加至第一其他DSP电路模块,溢出输入电路用于选择性地接收第二其他DSP电路模块中的第三压缩器电路的溢出输出信号。
在包括上述进一步路由电路(例如248)的DSP电路中,该进一步路由电路可包括进位传递加法器(CPA)电路(例如260),其用于对第三压缩器电路(例如250)的输出进行运算以产生进一步输出。该CPA电路可包括进位输出电路(例如从CPA 260的最高有效位端至相邻DSP模块的输出引线)和进位输入电路(例如262),进位输出电路用于将CPA电路的进位输出信号施加至第一其他DSP电路模块,进位输入电路用于选择性地接收第二其他DSP电路模块中的CPA电路的进位输出信号。
如上所述的DSP电路模块可进一步包括冗余电路(例如110和/或120),其用于允许第一其他DSP电路模块为以下可选项之一,即(1)紧邻该DSP电路模块的另一DSP电路模块,以及(2)不紧邻该DSP电路模块的又另一DSP电路模块。例如,如果DSP电路模块为图1中的行R7,则第一其他DSP模块可以在(1)行R8中或(2)行R9中。在该布置中,该又另一DSP电路模块(例如行R9中的模块)紧邻该另一DSP电路模块(例如行R8中的模块)。
如上所述的DSP电路模块也可包括进一步冗余电路(例如110和/或120),其用于允许第二其他DSP电路模块为以下可选项之一,即(1)紧邻该DSP电路模块的再一DSP电路模块,以及(2)不紧邻该DSP电路模块的又再一DSP电路模块。例如,如果DSP电路模块在图1中的行R7中,则第二其他DSP模块可以在(1)行R6中或(2)行R5中。在该布置中,该又再一DSP电路模块(例如行R5中的模块)紧邻该再一DSP电路模块(例如行R6中的模块)。
依照本发明的其他可能方面,DSP电路(例如10)可包含多个DSP电路模块(例如100),其每个都能够对施加至该电路模块的信号(例如A、B、C等)执行DSP运算(例如200、202、210、230、240等),每个DSP电路模块可包括用于将至少一些DSP运算的输出选择性地路由至该DSP电路模块的相应相对侧上的第一和第二其他DSP电路模块的电路(例如220、232、242等)。在该情况下,用于选择性路由的电路可包括冗余电路(例如110和/或120),其用于允许DSP电路模块的第一其他DSP电路模块为以下可选项之一,即(1)紧邻该DSP电路模块的另一DSP电路模块,以及(2)不紧邻该DSP电路模块的又另一DSP电路模块。例如,如果DSP电路模块在图1中的行R7中,则第一其他DSP模块可以在(1)行R8中或(2)行R9中。在该布置中,该另一DSP电路模块(例如行R9中的模块)紧邻该又另一DSP电路模块(例如行R8中的模块)。
如上所述用于在DSP电路中选择性路由的电路可进一步包括进一步冗余电路(例如110和/或120),其用于允许DSP电路模块的第二其他DSP电路模块为以下可选项之一,即(1)紧邻该DSP电路模块的再一DSP电路模块,以及(2)不紧邻该DSP电路模块的又再一DSP电路模块。例如,如果DSP电路模块在图1中的行R7中,则第二其他DSP模块可以在(1)行R6中或(2)行R5中。在该布置中,该又再一DSP电路模块(例如行R5中的模块)紧邻该再一DSP电路模块(例如行R6中的模块)。
在如上所述的DSP电路中,用于选择性地路由每个DSP电路模块的电路可以选择性地将输出路由至以下输入端,即在DSP电路模块的第一和第二其他模块能够执行的一些但非全部DSP运算下游的DSP电路模块的第一和第二其他模块的输入端。例如,选择性路由电路220能够将一个DSP模块中的压缩器210的输出路由至另一DSP模块中的压缩器240的输入端,并且压缩器240处于其他DSP模块中的一些(非全部)其他DSP运算的下游(例如其在运算200、202、210和230的下游,但是在运算250和260的上游)。
依照本发明的其他可能方面,DSP电路(例如10)可包括多个DSP电路模块(例如100),其每个都能够连续地接连执行多个DSP运算(例如200、202、210、230、240等)。每个DSP电路模块可进一步包括用于将该DSP电路模块的至少一个DSP运算(例如210)的输出选择性地路由至该DSP电路模块的相应相对侧上的第一和第二其他电路模块的电路(例如220)。用于在每个DSP电路模块中选择性地路由的电路可以选择性地将至少一些输出路由至第一和第二其他DSP电路模块中的DSP运算的输入端,所述DSP运算处于这些其他DSP电路模块中的DSP运算顺序的中间。例如,路由电路220能够将DSP模块的输出路由至另一DSP模块中的压缩器240的输入端,并且压缩器240处于DSP运算顺序的中间(即其之前为DSP运算例如200和202,并且其之后为DSP运算例如250和260)。
在如上所述的DSP电路中,用于选择性路由的电路从DSP电路模块顺序中的一点处接收被选择性地路由至该至少一些输入端的输出,与DSP电路模块顺序中的该点相比,至少一些输入端是DSP模块顺序中的不同点处的DSP运算的输入端。例如,路由元件220从压缩器210获得输出以施加至另一DSP模块中的压缩器240,与压缩器240在第二次提到的DSP模块中的DSP运算顺序中所处的点相比,压缩器210处于第一次提到的DSP模块中的DSP运算顺序中的不同点。
在如上所述的DSP电路中,每个DSP电路模块可进一步包括第二电路(例如从压缩器240的最高有效位端到相邻DSP模块的引线),其用于将该DSP电路模块中的DSP运算的第二输出选择性地路由至第一其他DSP电路模块中的相同DSP运算的输入端。例如,刚刚提及的引线和元件242允许溢出信号从一个DSP模块中的压缩器240去到另一DSP模块中的压缩器240。
在如上所述的DSP电路中,每个DSP电路模块可进一步包括第三电路(例如248),其用于选择性地路由该DSP电路模块中的最终DSP运算(例如260)的输出至第一其他DSP电路中的DSP运算(例如250)的输入端,其中该DSP运算处于该其他DSP电路模块顺序中的中间点上。
如上所述的DSP电路可进一步包括冗余电路(例如110和/或120),其允许每个DSP电路模块中的第一其他DSP电路模块为以下可选项之一,即(1)紧邻该DSP电路模块的另一DSP电路模块,以及(2)不紧邻该DSP电路模块的又另一DSP电路模块。例如,如果DSP模块100处于图1中的行R7中,该另一DSP模块可在行R8中,而该又另一DSP模块可在行R9中。另外,该又另一DSP模块(例如行R9中的模块)可紧邻该另一DSP模块(例如行R8中的模块)。
如上所述的DSP电路也可包括进一步冗余电路(例如110和/或120),其用于允许每个DSP电路模块中的第二其他DSP电路模块为以下可选项之一,即(1)紧邻该DSP电路模块的再一DSP电路模块,以及(2)不紧邻该DSP电路模块的又再一DSP电路模块。例如,如果该DSP电路模块处于图1中的行R7中,该再一DSP模块可在行R6中,而该又再一DSP模块可在行R5中。该又再一DSP电路模块(例如行R5中的模块)可紧邻该再一DSP电路模块(例如行R6中的模块)。
本发明的电路允许通过DSP电路模块之间的双向转移来执行求和运算。例如,可以将某一数值从第一DSP模块移位至第一模块右侧的第二DSP模块,并且与第二模块中的另一信号组合(例如压缩)。然后,可以将该组合的结果移回左侧(例如移位至第一模块),并且与第一模块中的其他信号组合。该移回能够(例如)通过以下数据发生,即(1)从压缩器到压缩器(压缩器240或压缩器250)的进位向量,(2)CPA 260的进位,或者(3)CPA 260向3-2压缩器250的输出。
本发明的DSP电路中使用的任何乘法器都可以是能够选择性地(即可控)输出零(0)数据的类型。这也包括在此使用的任何可控移位器。
补充实施例
补充实施例1.数字信号处理(DSP)电路,其包含:多个DSP电路模块,其每个都能够对施加在该DSP电路模块上的信号执行DSP运算,每个DSP电路模块包括用于将至少一些DSP运算的输出选择性地路由至该DSP电路模块的相应相对侧上的第一和第二其他电路模块的电路,其中用于选择性地路由每个DSP电路模块的电路包含:冗余电路,其用于允许该DSP电路模块的第一其他DSP电路模块为以下可选项之一,即(1)紧邻该DSP电路模块的另一DSP电路模块,以及(2)不紧邻该DSP电路模块的又另一DSP电路模块。
补充实施例2.根据补充实施例1所述的DSP电路,其中所述又另一DSP电路模块紧邻所述另一DSP电路模块。
补充实施例3.根据补充实施例1所述的DSP电路,其中用于选择性地路由每个DSP电路模块的电路进一步包含:进一步冗余电路,其用于允许该DSP电路模块的第二其他DSP电路模块为以下可选项之一,即(1)紧邻该DSP电路模块的再一DSP电路模块,以及(2)不紧邻该DSP电路模块的又再一DSP电路模块。
补充实施例4.根据补充实施例3所述的DSP电路,其中所述又再一DSP电路模块紧邻所述再一DSP电路模块。
补充实施例5.根据补充实施例1所述的DSP电路,其中用于选择性地路由每个DSP电路模块的电路选择性地将所述输出路由至所述第一和第二其他DSP电路模块的输入端,其处于所述第一和第二其他DSP电路模块能够执行的一些但非全部DSP运算的下游。
补充实施例6.根据补充实施例1所述的DSP电路,其中每个DSP电路模块被布置在多行中也包括其他电路的相应一行中,每一行中的所述其他电路具有在其他相邻行之间的最大宽度W,并且每一行中的所述DSP电路模块也具有在其他相邻行之间的最大宽度W。
补充实施例7.数字信号处理(DSP)电路,其包含:多个DSP电路模块,其每个都能够连续地接连执行多个DSP运算,每个DSP电路模块包括用于将该DSP电路模块的至少一个DSP运算的输出选择性地路由至该DSP电路模块的相应相对侧上的第一和第二其他电路模块,其中用于选择性地路由每个DSP电路模块的电路选择性地将至少一些所述输出路由至所述第一和第二其他DSP电路模块中的DSP运算的输入端,其处于这些其他DSP电路模块中的DSP运算顺序中间。
补充实施例8.根据补充实施例7所述的DSP电路,其中用于选择性路由的电路从DSP电路模块顺序中的一点处接收被选择性地路由至该至少一些输入端的输出,与DSP电路模块顺序中的该点相比,至少一些输入端是其他DSP模块顺序中的不同点处的DSP运算的输入端。
补充实施例9.根据补充实施例8所述的DSP电路,其中每个DSP电路模块进一步包含:第二电路,其用于选择性地将该DSP电路模块中的DSP运算的第二输出路由至第一其他DSP电路模块中的相同DSP运算的输入端。
补充实施例10.根据补充实施例9所述的DSP电路,其中每个DSP电路模块进一步包含:第三电路,其用于选择性地将该DSP电路模块中的最终DSP运算的输出路由至第一其他DSP电路模块中的DSP运算的输入端,其在该其他DSP电路模块顺序中的中间点上。
补充实施例11.根据补充实施例7所述的DSP电路,其进一步包含:冗余电路,其用于允许每个DSP电路模块中的第一其他DSP电路模块为以下可选项之一,即(1)紧邻该DSP电路模块的另一DSP电路模块,以及(2)不紧邻该DSP电路模块的又另一DSP电路模块。
补充实施例12.根据补充实施例11所述的DSP电路,其中所述又另一DSP电路模块紧邻所述另一DSP电路模块。
补充实施例13.根据补充实施例11所述的DSP电路,其进一步包含:进一步冗余电路,其用于允许每个DSP电路模块的第二其他DSP电路模块为以下可选项之一,即(1)紧邻该DSP电路模块的再一DSP电路模块,以及(2)不紧邻该DSP电路模块的又再一DSP电路模块。
补充实施例14.根据补充实施例13所述的DSP电路,其中所述又再一DSP电路模块紧邻所述再一DSP电路模块。
补充实施例15.数字信号处理(DSP)电路,其包含:多个DSP电路模块,其每个都能够连续地接连执行多个DSP运算,每个DSP电路模块包括第一路由电路,其用于允许该模块(此后标识为第一模块)中的第一DSP运算的结果被移位至与第一模块相邻的另一DSP电路模块(该另一模块此后标识为第二模块)以便与第二模块中的另一信号组合,并且每个DSP电路模块进一步包括第二路由电路,其用于允许第二模块中的组合结果被移回第一模块以便与第一模块中的其他信号组合。
补充实施例16.根据补充实施例15所述的DSP电路,其中每个DSP电路模块包括压缩器电路,并且其中所述第二路由电路将来自所述第二模块中的压缩器电路的进位向量路由至所述第一模块中的压缩器电路。
补充实施例17.根据补充实施例15所述的DSP电路,其中每个DSP电路模块包括进位传递加法器(CPA)电路,并且其中所述第二路由电路将来自所述第二模块中的CPA电路的进位路由至所述第一模块中的CPA电路。
补充实施例18.根据补充实施例15所述的DSP电路,其中每个DSP电路模块包括压缩器电路,其向进位传递加法器(CPA)电路输出,并且其中所述第二路由电路将所述第二模块中的CPA电路的输出信号路由至所述第一模块中的压缩器电路。
应理解,上文仅为本发明的原理的例证,并且本领域技术人员在不偏离本发明的范围和精神的情况下能够作出各种修改。例如,18×18乘法器200的使用仅为例证性的,并且视需要能够使用其他大小的乘法器代替。也应理解,附图如图1-4、图6、图8和图10示出这样的电子电路,其中多数或所有电路元件(例如200、202、210、220、260等)都为独立元件(通常集成在集成电路上),其中每个元件都通过运算电输入信号以产生其他的电输出信号而专用于(例如至少在相当程度上被硬接线)执行在此对其描述的(多个)功能。这些电信号有时可能涉及数据、数位、向量、“1”、“0”、数值、被乘数、乘数、乘积、部分乘积、和数等;但是在所有的情况下,它们实际上是代表指定信息的真实电信号。类似地,在此示出的某些电路元件有时用其执行的运算来指代(例如“乘法器200a”),但是在所有的情况下,这些元件都是执行这些运算的实际电路(例如乘法器电路)。对于DSP电路、DSP运算等也是如此。所有此类运算都如上所述通过电路对电信号进行运算而执行。
Claims (18)
1.一种数字信号处理电路模块即DSP电路模块,其包含:
第一和第二N位乘法器电路;
第一移位器电路,其用于将所述第一乘法器电路的输出按以下可选方式之一进行移位:(1)移位零比特位置,和(2)朝着更高算术有效位移位N个比特位置;
第一压缩器电路,其用于将所述第一移位器电路和所述第二乘法器电路的输出以加法方式组合;
用于选择性地将所述第一压缩器电路的输出路由至所述DSP电路模块的第一和第二附加实例的电路,所述第一附加实例位于所述DSP电路模块的第一侧上,并且所述第二附加实例位于与所述第一侧相对的所述DSP电路模块的第二侧上;
第二移位器电路,其用于将所述第一压缩器电路的输出按以下可选方式之一进行移位:(1)移位零比特位置,(2)朝着更高算术有效位移位N个比特位置,和(3)朝向更低算术有效位移位N个比特位置;以及
第二压缩器电路,其用于将所述第二移位器电路的输出和从所述DSP电路模块的所述第一和第二附加实例中任一个中的所述第一压缩器电路接收的任何输出以加法方式组合。
2.根据权利要求1所述的DSP电路模块,其中所述用于选择性地路由的电路可控地选择所述第一压缩器电路的输出的多个子集中的任何一个子集用于路由。
3.根据权利要求2所述的DSP电路模块,其中所述可选择的子集包括:(1)包括所述第一压缩器电路的最高有效输出比特位置的子集,以及(2)包括所述第一压缩器电路的最低有效输出比特位置的子集。
4.根据权利要求1所述的DSP电路模块,其中所述第二压缩器电路包括:
溢出输出电路,其用于将所述第二压缩器电路的溢出输出信号施加至所述DSP电路模块的所述第一附加实例;以及
溢出输入电路,其用于选择性地接收所述DSP电路模块的所述第二附加实例中的所述第二压缩器电路的溢出输出信号。
5.根据权利要求1所述的DSP电路模块,其进一步包含:
第三压缩器电路,其用于将所述第二压缩器电路的输出和从所述DSP电路模块的所述第二附加实例接收的任何进一步输出以加法方式组合;以及
进一步路由电路,其用于选择性地将所述第三压缩器电路的输出作为进一步输出路由至所述DSP电路模块的所述第一附加实例。
6.根据权利要求5所述的DSP电路模块,其中所述第三压缩器电路包含:
溢出输出电路,其用于将所述第三压缩器电路的溢出输出信号施加至所述DSP电路模块的所述第一附加实例;以及
溢出输入电路,其用于选择性地接收所述DSP电路模块的所述第二附加实例中的所述第三压缩器电路的溢出输出信号。
7.根据权利要求5所述的DSP电路模块,其中所述进一步路由电路包含:
进位传递加法器CPA电路,其用于对所述第三压缩器电路的输出进行运算以产生所述进一步输出。
8.根据权利要求7所述的DSP电路模块,其中所述CPA电路包含:
进位输出电路,其用于将所述CPA电路的进位输出信号施加至所述DSP电路模块的所述第一附加实例;以及
进位输入电路,其用于选择性地接收所述DSP电路模块的所述第二附加实例中的所述CPA电路的进位输出信号。
9.根据权利要求1所述的DSP电路模块,其中每个所述第一和第二 乘法器电路都能够将N位被乘数乘以N位乘数。
10.根据权利要求9所述的DSP电路模块,其中N等于18。
11.根据权利要求1所述的DSP电路模块,其进一步包含:
冗余电路,其用于允许所述DSP电路模块的所述第一附加实例为以下可选项之一,即(1)紧邻所述DSP电路模块的另一DSP电路模块,以及(2)不紧邻所述DSP电路模块的又另一DSP电路模块。
12.根据权利要求11所述的DSP电路模块,其中所述又另一DSP电路模块紧邻所述另一DSP电路模块。
13.根据权利要求11所述的DSP电路模块,其进一步包含:
进一步冗余电路,其用于允许所述DSP电路模块的所述第二附加实例为以下可选项之一,即(1)紧邻所述DSP电路模块的再一DSP电路模块,以及(2)不紧邻所述DSP电路模块的又再一其他DSP电路模块。
14.根据权利要求13所述的DSP电路模块,其中所述又再一其他DSP电路模块紧邻所述再一DSP电路模块。
15.根据权利要求1所述的DSP电路模块,其中所述第一移位器电路可替换地能够输出全零的数据。
16.根据权利要求1所述的DSP电路模块,其中所述第二移位器电路可替换地能够输出全零的数据。
17.根据权利要求1所述的DSP电路模块,其中所述用于选择性路由的电路可替换地能够输出全零的数据。
18.根据权利要求5所述的DSP电路模块,其中所述进一步路由电路可替换地能够输出全零的数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/380,841 | 2009-03-03 | ||
US12/380,841 US8805916B2 (en) | 2009-03-03 | 2009-03-03 | Digital signal processing circuitry with redundancy and bidirectional data paths |
PCT/US2010/026023 WO2010101985A1 (en) | 2009-03-03 | 2010-03-03 | Digital signal processing circuitry with redundancy and bidirectional data paths |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102422260A CN102422260A (zh) | 2012-04-18 |
CN102422260B true CN102422260B (zh) | 2015-04-01 |
Family
ID=42224482
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080019823.9A Active CN102422260B (zh) | 2009-03-03 | 2010-03-03 | 具有冗余和双向数据通道的数字信号处理电路 |
CN201080019822.4A Active CN102422259B (zh) | 2009-03-03 | 2010-03-03 | 在电路的模块之间具有可选使用、专用连接的模块化数字信号处理电路 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080019822.4A Active CN102422259B (zh) | 2009-03-03 | 2010-03-03 | 在电路的模块之间具有可选使用、专用连接的模块化数字信号处理电路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8805916B2 (zh) |
EP (3) | EP2624125A1 (zh) |
JP (2) | JP5657580B2 (zh) |
CN (2) | CN102422260B (zh) |
WO (2) | WO2010102007A2 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959137B1 (en) | 2008-02-20 | 2015-02-17 | Altera Corporation | Implementing large multipliers in a programmable integrated circuit device |
US20110153995A1 (en) * | 2009-12-18 | 2011-06-23 | Electronics And Telecommunications Research Institute | Arithmetic apparatus including multiplication and accumulation, and dsp structure and filtering method using the same |
US8645451B2 (en) * | 2011-03-10 | 2014-02-04 | Altera Corporation | Double-clocked specialized processing block 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 |
CN104584002B (zh) * | 2012-06-05 | 2017-07-28 | 英特尔公司 | 用于优化数字中继器性能的可重新配置的可变长度fir滤波器 |
US8996600B1 (en) | 2012-08-03 | 2015-03-31 | Altera Corporation | Specialized processing block for implementing floating-point multiplier with subnormal operation support |
US8860460B1 (en) * | 2012-11-05 | 2014-10-14 | Altera Corporation | Programmable integrated circuits with redundant circuitry |
US9207909B1 (en) | 2012-11-26 | 2015-12-08 | Altera Corporation | Polynomial calculations optimized for programmable integrated circuit device structures |
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 |
US9438203B1 (en) * | 2014-01-10 | 2016-09-06 | Altera Corporation | Dynamically programmable digital signal processing blocks for finite-impulse-response filters |
US9684488B2 (en) | 2015-03-26 | 2017-06-20 | Altera Corporation | Combined adder and pre-adder for high-radix multiplier circuit |
US9787290B2 (en) * | 2015-05-20 | 2017-10-10 | Altera Corporation | Resource-saving circuit structures for deeply pipelined systolic finite impulse response filters |
US11397635B2 (en) * | 2019-12-09 | 2022-07-26 | Sandisk Technologies Llc | Block quality classification at testing for non-volatile memory, and multiple bad block flags for product diversity |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4736333A (en) * | 1983-08-15 | 1988-04-05 | California Institute Of Technology | Electronic musical instrument |
CN101101541A (zh) * | 2000-08-31 | 2008-01-09 | 英特尔公司 | 用于灵活数据类型的方法和设备 |
Family Cites Families (277)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3473160A (en) | 1966-10-10 | 1969-10-14 | Stanford Research Inst | Electronically controlled microelectronic cellular logic array |
US4215407A (en) | 1972-08-22 | 1980-07-29 | Westinghouse Electric Corp. | Combined file and directory system for a process control digital computer system |
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 |
US6556044B2 (en) * | 2001-09-18 | 2003-04-29 | Altera Corporation | Programmable logic device including multipliers and configurations thereof to reduce resource utilization |
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 |
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 |
US4682302A (en) | 1984-12-14 | 1987-07-21 | Motorola, Inc. | Logarithmic arithmetic logic unit |
US4727508A (en) * | 1984-12-14 | 1988-02-23 | Motorola, Inc. | Circuit for adding and/or subtracting numbers in logarithmic representation |
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 |
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 |
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 |
CA1311063C (en) * | 1988-12-16 | 1992-12-01 | Tokumichi Murakami | Digital signal processor |
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. |
US4972356A (en) | 1989-05-01 | 1990-11-20 | Motorola, Inc. | Systolic IIR decimation filter |
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 |
KR940002479B1 (ko) | 1990-03-20 | 1994-03-24 | 후지쓰 가부시끼가이샤 | 고속 디지탈 병렬승산기(multiplier) |
US5267187A (en) | 1990-05-10 | 1993-11-30 | Xilinx Inc | Logic structure and circuit for fast carry |
WO1992000561A1 (en) * | 1990-06-27 | 1992-01-09 | Luminis Pty Ltd. | A generalized systolic ring serial floating point multiplier |
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 |
US5317209A (en) * | 1991-08-29 | 1994-05-31 | National Semiconductor Corporation | Dynamic three-state bussing capability in a configurable logic array |
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 |
US5550782A (en) | 1991-09-03 | 1996-08-27 | Altera Corporation | Programmable logic array integrated circuits |
JPH05252025A (ja) | 1991-10-28 | 1993-09-28 | Texas Instr Inc <Ti> | 論理モジュールおよび集積回路 |
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. |
GB9202613D0 (en) | 1992-02-07 | 1992-03-25 | Questech Ltd | Improvements in and relating to digital filters |
US5258668A (en) * | 1992-05-08 | 1993-11-02 | Altera Corporation | Programmable logic array integrated circuits with cascade connections between logic modules |
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 |
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 |
US5381357A (en) * | 1993-05-28 | 1995-01-10 | Grumman Corporation | Complex adaptive fir filter |
US5528549A (en) * | 1993-05-28 | 1996-06-18 | Texas Instruments Incorporated | Apparatus, systems and methods for distributed signal processing |
US5528550A (en) * | 1993-05-28 | 1996-06-18 | Texas Instruments Incorporated | Apparatus, systems and methods for implementing memory embedded search arithmetic logic unit |
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 |
US5349250A (en) * | 1993-09-02 | 1994-09-20 | Xilinx, Inc. | Logic structure and circuit for fast carry |
US5546018A (en) | 1993-09-02 | 1996-08-13 | Xilinx, Inc. | Fast carry structure with synchronous input |
US5481206A (en) * | 1993-09-02 | 1996-01-02 | Xilinx, Inc. | Circuit for fast carry and logic |
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 |
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 |
US5590350A (en) | 1993-11-30 | 1996-12-31 | Texas Instruments Incorporated | Three input arithmetic logic unit with mask generator |
US5596763A (en) * | 1993-11-30 | 1997-01-21 | Texas Instruments Incorporated | Three input arithmetic logic unit forming mixed arithmetic and boolean combinations |
US5805913A (en) | 1993-11-30 | 1998-09-08 | Texas Instruments Incorporated | Arithmetic logic unit with conditional register source selection |
US6116768A (en) | 1993-11-30 | 2000-09-12 | Texas Instruments Incorporated | Three input arithmetic logic unit with barrel rotator |
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 |
US5446651A (en) | 1993-11-30 | 1995-08-29 | Texas Instruments Incorporated | Split multiply operation |
US5644522A (en) | 1993-11-30 | 1997-07-01 | Texas Instruments Incorporated | Method, apparatus and system for multiply rounding using redundant coded multiply result |
US5961635A (en) | 1993-11-30 | 1999-10-05 | Texas Instruments Incorporated | Three input arithmetic logic unit with barrel rotator and mask generator |
US6219688B1 (en) | 1993-11-30 | 2001-04-17 | Texas Instruments Incorporated | Method, apparatus and system for sum of plural absolute differences |
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 |
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 |
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 |
US5682107A (en) * | 1994-04-01 | 1997-10-28 | Xilinx, Inc. | FPGA architecture with repeatable tiles including routing matrices and logic matrices |
CN1086815C (zh) * | 1994-05-04 | 2002-06-26 | 爱特梅尔股份有限公司 | 带有区域和通用信号线路的可编程逻辑装置 |
US5689195A (en) | 1995-05-17 | 1997-11-18 | Altera Corporation | Programmable logic array integrated circuit devices |
US5442576A (en) * | 1994-05-26 | 1995-08-15 | Motorola, Inc. | Multibit shifting apparatus, data processor using same, and method therefor |
US5517436A (en) * | 1994-06-07 | 1996-05-14 | Andreas; David C. | Digital signal processor for audio applications |
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 |
US5581199A (en) | 1995-01-04 | 1996-12-03 | Xilinx, Inc. | Interconnect architecture for field programmable gate array using variable length conductors |
US5633601A (en) * | 1995-03-10 | 1997-05-27 | Texas Instruments Incorporated | Field programmable gate array logic module configurable as combinational or sequential circuits |
US5570040A (en) | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
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 |
US5696708A (en) | 1995-03-30 | 1997-12-09 | Crystal Semiconductor | Digital filter with decimated frequency response |
US5900743A (en) * | 1995-05-17 | 1999-05-04 | Altera Corporation | Programmable logic array devices with interconnect lines of various lengths |
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 |
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 |
US5646545A (en) | 1995-08-18 | 1997-07-08 | Xilinx, Inc. | Time multiplexed programmable logic device |
US6072994A (en) | 1995-08-31 | 2000-06-06 | Northrop Grumman Corporation | Digitally programmable multifunction radio system architecture |
US5859878A (en) * | 1995-08-31 | 1999-01-12 | Northrop Grumman Corporation | Common receive module for a programmable digital radio |
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 |
US5751622A (en) * | 1995-10-10 | 1998-05-12 | Chromatic Research, Inc. | Structure and method for signed multiplication using large multiplier having two embedded signed multipliers |
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 |
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 |
US5765013A (en) * | 1996-07-03 | 1998-06-09 | Samsung Electronics Co., Ltd. | Digital signal processor |
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 |
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 |
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 |
US5982195A (en) | 1997-02-20 | 1999-11-09 | Altera Corporation | Programmable logic device architectures |
US5999015A (en) | 1997-02-20 | 1999-12-07 | Altera Corporation | Logic region resources for programmable logic devices |
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 |
US5914616A (en) * | 1997-02-26 | 1999-06-22 | Xilinx, Inc. | FPGA repeatable interconnect structure with hierarchical interconnect lines |
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 |
DE69802927T2 (de) | 1997-05-23 | 2002-08-08 | Altera Corp A Delaware Corp Sa | Redundanzschaltung für programmierbare logikanordnung mit verschachtelten eingangsschaltkreisen |
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 |
US5910908A (en) | 1997-09-16 | 1999-06-08 | Tektronix, Inc. | Fir filter for programmable decimation |
JP3479438B2 (ja) | 1997-09-18 | 2003-12-15 | 株式会社東芝 | 乗算回路 |
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 |
US6020755A (en) | 1997-09-26 | 2000-02-01 | Lucent Technologies Inc. | Hybrid programmable gate arrays |
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 |
US6107824A (en) | 1997-10-16 | 2000-08-22 | Altera Corporation | Circuitry and methods for internal interconnection of programmable logic devices |
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 |
US6029187A (en) * | 1997-10-28 | 2000-02-22 | Atmel Corporation | Fast regular multiplier architecture |
WO1999023762A1 (en) | 1997-11-03 | 1999-05-14 | Harris Corporation | Reconfigurable radio system architecture |
US6065131A (en) * | 1997-11-26 | 2000-05-16 | International Business Machines Corporation | Multi-speed DSP kernel and clock mechanism |
US6075381A (en) | 1998-01-21 | 2000-06-13 | Micron Electronics, Inc. | Programmable logic block in an integrated circuit |
JP3291461B2 (ja) | 1998-01-30 | 2002-06-10 | 三洋電機株式会社 | デジタルフィルタ |
DE69927075T2 (de) * | 1998-02-04 | 2006-06-14 | Texas Instruments Inc | Rekonfigurierbarer Koprozessor mit mehreren Multiplizier-Akkumulier-Einheiten |
US6094726A (en) | 1998-02-05 | 2000-07-25 | George S. Sheng | Digital signal processor using a reconfigurable array of macrocells |
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 |
US6175849B1 (en) * | 1998-02-10 | 2001-01-16 | Lucent Technologies, Inc. | System for digital filtering in a fixed number of clock cycles |
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 |
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 |
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 |
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 |
US6201404B1 (en) * | 1998-07-14 | 2001-03-13 | Altera Corporation | Programmable logic device with redundant circuitry |
US6321246B1 (en) | 1998-09-16 | 2001-11-20 | Cirrus Logic, Inc. | Linear phase FIR sinc filter with multiplexing |
US6571268B1 (en) * | 1998-10-06 | 2003-05-27 | Texas Instruments Incorporated | Multiplier accumulator circuits |
EP0992885B1 (en) | 1998-10-06 | 2005-12-28 | Texas Instruments Incorporated | Multiplier accumulator circuits |
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 |
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 |
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 |
JP2002538562A (ja) * | 1999-03-04 | 2002-11-12 | アルテラ・コーポレーション | 桁上げ選択加算付プログラマブルロジックデバイス |
US6323680B1 (en) | 1999-03-04 | 2001-11-27 | Altera Corporation | Programmable logic device configured to accommodate multiplication |
US6407576B1 (en) | 1999-03-04 | 2002-06-18 | Altera Corporation | Interconnection and input/output resources for programmable logic integrated circuit devices |
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 |
WO2000058857A2 (en) | 1999-03-30 | 2000-10-05 | Siemens Energy & Automation, Inc. | Programmable logic controller method, system and apparatus |
EP1058185A1 (en) | 1999-05-31 | 2000-12-06 | Motorola, Inc. | A multiply and accumulate apparatus and a method thereof |
JP2000347834A (ja) * | 1999-06-08 | 2000-12-15 | Japan Science & Technology Corp | Sw数系による演算回路 |
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 |
US6600788B1 (en) | 1999-09-10 | 2003-07-29 | Xilinx, Inc. | Narrow-band filter including sigma-delta modulator implemented in a programmable logic device |
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 |
US6725360B1 (en) * | 2000-03-31 | 2004-04-20 | Intel Corporation | Selectively processing different size data in multiplier and ALU paths in parallel |
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 |
US6476636B1 (en) | 2000-09-02 | 2002-11-05 | Actel Corporation | Tileable field-programmable gate array architecture |
US6628140B2 (en) | 2000-09-18 | 2003-09-30 | Altera Corporation | Programmable logic devices with function-specific blocks |
US7119576B1 (en) | 2000-09-18 | 2006-10-10 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
US7346644B1 (en) * | 2000-09-18 | 2008-03-18 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
US6538470B1 (en) * | 2000-09-18 | 2003-03-25 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
JP2004512716A (ja) | 2000-10-02 | 2004-04-22 | アルテラ・コーポレイション | 専用プロセッサ装置を含むプログラマブルロジック集積回路装置 |
EP2031518A2 (en) | 2000-10-26 | 2009-03-04 | Cypress Semiconductor Corporation | Circuit |
JP2002157114A (ja) * | 2000-11-20 | 2002-05-31 | Hitachi Ltd | 乗算器及びそれを搭載した集積回路装置 |
US6483343B1 (en) | 2000-12-29 | 2002-11-19 | Quicklogic Corporation | Configurable computational unit embedded in a programmable device |
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 |
US20030088757A1 (en) * | 2001-05-02 | 2003-05-08 | Joshua Lindner | Efficient high performance data operation element for use in a reconfigurable logic environment |
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 |
US6904446B2 (en) * | 2001-08-24 | 2005-06-07 | Freescale Semiconductor, Inc. | Floating point multiplier/accumulator with reduced latency and method thereof |
US6965249B2 (en) * | 2001-10-15 | 2005-11-15 | Altera Corporation | Programmable logic device with redundant circuitry |
EP1324495B1 (en) | 2001-12-28 | 2011-03-30 | Fujitsu Semiconductor Limited | Programmable logic device with ferrroelectric configuration memories |
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 |
US6781408B1 (en) * | 2002-04-24 | 2004-08-24 | Altera Corporation | Programmable logic device with routing channels |
US6970012B2 (en) | 2002-06-10 | 2005-11-29 | Xilinx, Inc. | Programmable logic device having heterogeneous programmable logic blocks |
US7471643B2 (en) * | 2002-07-01 | 2008-12-30 | Panasonic Corporation | Loosely-biased heterogeneous reconfigurable arrays |
US7464310B2 (en) * | 2002-09-30 | 2008-12-09 | Broadcom Corporation | Programmable state machine of an integrated circuit |
US7571303B2 (en) * | 2002-10-16 | 2009-08-04 | Akya (Holdings) Limited | Reconfigurable integrated circuit |
US7103814B2 (en) * | 2002-10-25 | 2006-09-05 | International Business Machines Corporation | Testing logic and embedded memory in parallel |
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 |
US6774669B1 (en) | 2002-12-30 | 2004-08-10 | Actel Corporation | Field programmable gate array freeway architecture |
US7975197B2 (en) | 2003-03-31 | 2011-07-05 | Lsi Corporation | On-chip scan clock generator for ASIC testing |
US7287051B1 (en) * | 2003-10-03 | 2007-10-23 | Altera Corporation | Multi-functional digital signal processing circuitry |
US7269617B1 (en) * | 2003-11-12 | 2007-09-11 | Altera Corporation | Hybrid multipliers implemented using DSP circuitry and programmable logic circuitry |
US7698358B1 (en) * | 2003-12-24 | 2010-04-13 | Altera Corporation | Programmable logic device with specialized functional block |
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 |
US7467177B2 (en) * | 2003-12-29 | 2008-12-16 | Xilinx, Inc. | Mathematical circuit with dynamic rounding |
US7467176B2 (en) | 2004-02-20 | 2008-12-16 | Altera Corporation | Saturation and rounding in multiply-accumulate blocks |
US7061268B1 (en) | 2004-03-15 | 2006-06-13 | Altera Corporation | Initializing a carry chain in a programmable logic device |
US7180324B2 (en) | 2004-05-28 | 2007-02-20 | Altera Corporation | Redundancy structures and methods in a programmable logic device |
US8112466B2 (en) * | 2004-09-28 | 2012-02-07 | Sicronic Remote Kg, Llc | Field programmable gate array |
US7755387B2 (en) * | 2004-11-01 | 2010-07-13 | Sicronic Remote Kg, Llc | FPGA having a direct routing structure |
US7176717B2 (en) * | 2005-01-14 | 2007-02-13 | Velogix, Inc. | Programmable logic and routing blocks with dedicated lines |
EP2052459A2 (en) * | 2005-01-14 | 2009-04-29 | Cswitch Corporation | Configurable dedicated logic cells in programmable logic and routing blocks with dedicated lines and local connections |
US7230451B1 (en) * | 2005-08-22 | 2007-06-12 | Altera Corporation | Programmable logic device with routing channels |
CN101305344B (zh) | 2005-11-07 | 2010-06-23 | 松下电器产业株式会社 | 多输入编码加法器、数字滤波器、信号处理装置、合成装置、合成程序及合成程序记录介质 |
US7542846B2 (en) | 2006-02-07 | 2009-06-02 | Alpine Electronics, Inc. | Navigation system utilizing XML/SVG map data converted from geographic map data and layered structure of XML/SVG map data based on administrative regions |
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 |
US7368942B1 (en) * | 2006-02-09 | 2008-05-06 | Altera Corporation | Dedicated resource interconnects |
US7836117B1 (en) * | 2006-04-07 | 2010-11-16 | Altera Corporation | Specialized processing block for programmable logic device |
US7930336B2 (en) | 2006-12-05 | 2011-04-19 | Altera Corporation | Large multiplier for programmable logic device |
US7746112B1 (en) * | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Output structure with cascaded control signals for logic blocks in integrated circuits, and methods of using the same |
US8495125B2 (en) | 2009-05-27 | 2013-07-23 | Microchip Technology Incorporated | DSP engine with implicit mixed sign operands |
EP2534583A1 (en) * | 2009-12-01 | 2012-12-19 | Queen's University At Kingston | Method and system for a run-time reconfigurable computer architecture |
US8458243B1 (en) * | 2010-03-03 | 2013-06-04 | Altera Corporation | Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering |
US20120290819A1 (en) * | 2011-05-09 | 2012-11-15 | Altera Corporation | Dsp block with embedded floating point structures |
-
2009
- 2009-03-03 US US12/380,841 patent/US8805916B2/en active Active
-
2010
- 2010-03-03 EP EP13165712.4A patent/EP2624125A1/en not_active Withdrawn
- 2010-03-03 WO PCT/US2010/026056 patent/WO2010102007A2/en active Application Filing
- 2010-03-03 EP EP10712597.3A patent/EP2404234B1/en active Active
- 2010-03-03 EP EP10712598.1A patent/EP2404235B1/en active Active
- 2010-03-03 JP JP2011553075A patent/JP5657580B2/ja not_active Expired - Fee Related
- 2010-03-03 WO PCT/US2010/026023 patent/WO2010101985A1/en active Application Filing
- 2010-03-03 JP JP2011553068A patent/JP5564520B2/ja not_active Expired - Fee Related
- 2010-03-03 CN CN201080019823.9A patent/CN102422260B/zh active Active
- 2010-03-03 CN CN201080019822.4A patent/CN102422259B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4736333A (en) * | 1983-08-15 | 1988-04-05 | California Institute Of Technology | Electronic musical instrument |
CN101101541A (zh) * | 2000-08-31 | 2008-01-09 | 英特尔公司 | 用于灵活数据类型的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2010102007A2 (en) | 2010-09-10 |
WO2010102007A3 (en) | 2010-11-25 |
JP2012519914A (ja) | 2012-08-30 |
EP2624125A1 (en) | 2013-08-07 |
JP5564520B2 (ja) | 2014-07-30 |
US8805916B2 (en) | 2014-08-12 |
JP5657580B2 (ja) | 2015-01-21 |
CN102422259A (zh) | 2012-04-18 |
WO2010101985A1 (en) | 2010-09-10 |
CN102422260A (zh) | 2012-04-18 |
EP2404235B1 (en) | 2013-07-10 |
EP2404234B1 (en) | 2013-05-01 |
CN102422259B (zh) | 2015-08-12 |
JP2012519913A (ja) | 2012-08-30 |
US20100228807A1 (en) | 2010-09-09 |
EP2404234A1 (en) | 2012-01-11 |
EP2404235A2 (en) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102422260B (zh) | 具有冗余和双向数据通道的数字信号处理电路 | |
US8751551B2 (en) | Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry | |
CN101674076B (zh) | 可编程逻辑器件中多行块支持的行级冗余 | |
JPH08503570A (ja) | 高速桁上げのためのロジック構造および回路 | |
Chang et al. | Postlayout logic restructuring using alternative wires | |
JP5360194B2 (ja) | 再構成可能な論理回路 | |
US9355202B2 (en) | Promoting efficient cell usage to boost QoR in automated design | |
CN108874731A (zh) | 多芯片单层板运算装置、虚拟货币挖矿机及计算机服务器 | |
Chandrika et al. | Implementation and estimation of delay, power and area for parallel prefix adders | |
US6989690B1 (en) | Methods of implementing scalable routing matrices for programmable logic devices | |
Wu et al. | Switch-matrix architecture and routing for FPDs | |
Asada et al. | Area optimized MOS circuit generation using the circuit synthesis program MOSYN-2 | |
US20160112648A1 (en) | Parallel video effects, mix trees, and related methods | |
Jean et al. | Necessary and sufficient conditions for reconfigurability in single-track switch WSI arrays | |
JP2021131654A (ja) | 制御装置 | |
Das et al. | An algorithm for Via minimization in two layer channel routing of VLSI design | |
JPS59184546A (ja) | マスタスライス方式による制御装置構成法 | |
Vani et al. | Design of an Area Efficient Three Input XOR/XNOR Circuit using Systematic Cell Design Methodology | |
CN115048900A (zh) | 一种集成电路版图的拐角填充方法、装置及计算机设备 | |
Murdocca | Layout methods for digital optical computing | |
Pangracious et al. | An efficient Mesh-of-Tree based interconnect architecture for high performance 3D FPGAs | |
Melnyk et al. | Space models for three dimensional FPGA global routing | |
Hamkins et al. | Switchbox routing with movable terminals | |
JPH03184422A (ja) | 半導体集積回路装置 | |
Inoue et al. | A prototype chip of reconfigurable logic device using variable grain logic cell architecture |
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 |