CN100559713C - 带有多种滤波模式的可重配置数字滤波器 - Google Patents

带有多种滤波模式的可重配置数字滤波器 Download PDF

Info

Publication number
CN100559713C
CN100559713C CNB028019768A CN02801976A CN100559713C CN 100559713 C CN100559713 C CN 100559713C CN B028019768 A CNB028019768 A CN B028019768A CN 02801976 A CN02801976 A CN 02801976A CN 100559713 C CN100559713 C CN 100559713C
Authority
CN
China
Prior art keywords
filter
circuit
register
filter patterns
coefficient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB028019768A
Other languages
English (en)
Other versions
CN1463490A (zh
Inventor
S·杜塔
D·莫尔特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Entropic Communications LLC
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1463490A publication Critical patent/CN1463490A/zh
Application granted granted Critical
Publication of CN100559713C publication Critical patent/CN100559713C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0248Filters characterised by a particular frequency response or filtering method
    • H03H17/0264Filter sets with mutual related characteristics
    • H03H17/0273Polyphase filters
    • H03H17/0275Polyphase filters comprising non-recursive filters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0294Variable filters; Programmable filters

Abstract

一种硬件-可重配置数字滤波器适用于提供多种滤波模式。在一种实施方案中,该数字滤波器包括一个厅于寄存器的逻辑电路、计算电路和模式选择电路的阵列。通过在逻辑电路和计算电路范围内重新配置数据流,模式选择电路能够在多种不同的滤波模式之间切换数字滤波器。每个乘法和加法逻辑电路都有输入出和输入,这些输出和输入用响应配置寄存器为功能线性或功能非线性的模式选择电路的选择信号有选择地耦合到沿着Y方向的另一个加法和乘法逻辑电路。在一个更明确的实施方案中滤波模式包括多相位直接滤波、多相位转置滤波和至少一种通用滤波。上述类型的数字滤波器的明确的示例实施方案用于滤波视频像素内容,例如重新调整一个水平行的像素。

Description

带有多种滤波模式的可重配置数字滤波器
发明领域
本发明用于基于硬件体系结构的可对不同滤波模式进行重新配置的数字滤波器。
背景
包括微处理器和数字信号处理器在内的计算机装置已经被设计用于大范围的应用,并且事实上已经用在了每种产业中。出于多种原因,这些应用中的很多都被用来处理视频数据并且要求最小级别的能量消耗和紧密度。有些应用还进一步需要能在实时或准实时基础上有效执行的高速计算引擎。这些视频处理应用中有很多都需要能够以不断增长的速度执行多个功能的数据信号处理电路。
不幸的是,实现高数据处理速度和提供多种功能是对立的趋势。例如,通用视频信号处理通常包括有限脉冲响应(FIR)或无限脉冲响应(IIR)滤波,与像实时压缩和解压缩视频数据这样的专用视频数据滤波处理相位比它相对要慢一些。因为与专用视频数据滤波处理连同使用的计算体系结构通常都进行了优化以跟上视频数据的实时速度,专用视频数据滤波处理通常在执行与通用视频信号处理有关的多种任务时并不是很有效。
在有些应用中采用的是一种称为“多相位”滤波器的专用视频数据滤波器。在视频处理应用中,有时用多相位滤波器来通过操纵所存储的数据重新调整像素大小以表示用来刷新显示的水平和垂直行。在这样的应用中,输出像素的数量与输入像素的数量的比值被定义为缩放因子;然而,对通用滤波来说,输出像素的数量等于输入像素的数量。当缩放因子大于1时调整大小的操作也被称为扩展或上取样;否则,调整大小操作通常被称为压缩或下取样。通常,为了重新调整一幅图片的大小(按比例增加或减小)来提供固定的缩放,多相位滤波器是用它的系数来实现的,这些系数被定义为正在处理的像素的位置或相位的函数。为了在高精度的视频应用中重新调整像素大小,用更独特的体系结构实现多相位滤波以提供实现精度所需的算术。一般来说,这种类型的多相位滤波是以一种称作是“多相位-转置”滤波的形式实现的。对更典型的视频应用来说,通常用比FIR滤波这样的通用滤波更常见的计算体系结构把多相位滤波实现为多相位直接滤波器。因为分别与通用滤波器像多相位转置滤波器这样特定的专用滤波器相关的必要算术的原因,结构上的不相容已经导致从这样的专用滤波器独立设计这些通用滤波器。关于这样的多相位滤波器的进一步的细节和范例实现,参见美国专利5,892,695号,题为“Sample RateConversion”,Van Dalfsen等,它被委托给直接代理人并在此通过引用而被全面合并。
在上述每个视频处理应用中,主要的开销都与设计、制造并维持用来提供这种功能的集成电路有关。在每个这样的应用中,如果专用滤波模式在体系结构上是不兼容的,那么与附加结构相关的花费是主要的。因此,大家广泛认识到需要开发一种相对紧凑的能够提供这些多样的滤波模式并且吞吐量不能有大量损失的视频处理滤波器结构。
概述
本发明用于解决上面提到的挑战并提供能够针对不同类型的滤波模式进行重新配置的硬件体系结构的可编程数字滤波器。已经在大量实现和申请中示范了本发明,下面总结了其中的一些实现和申请。
依照一种示例性实施方案,本发明提供有多种滤波模式的硬件可重配置数字滤波器。该数字滤波器包括逻辑电路、模式选择电路和计算电路。逻辑电路有一个X*Y的寄存器阵列(X,Y均至少是2),适用于处理输入数据。模式选择电路在多个不同的滤波模式间切换可编程数字滤波器,计算电路通过执行计算对逻辑电路做出响应并包括至少Y个乘法逻辑电路和至少Y个加法逻辑电路。在更明确的实施方案中,每个乘法和加法逻辑电路都有输出和输入,其输出入输出可以有选择地与沿着Y方向的乘法和加法逻辑电路中的另一个耦合,滤波模式包括多相位滤波和通用滤波应用(例如FIR滤波)。
在其它更明确的实施方案中滤波模式包括多相位直接滤波、多相位转置滤波和至少一种通用滤波,针对所选的通用滤波可以把上面提到的寄存器阵列配置成一个线性阵列,针对其它选中的滤波模式也可以把它排列成一个二维阵列。
依照另一种更明确的示例性实施方案,本发明用于类似的硬件可重配置数字滤波器,其中逻辑电路适用于处理并镜像(mirror)与对应于一个视频图像段中选中的目标结点的数据点有关的滤波器输入相对应的数据。逻辑电路包括一个X*Y的寄存器阵列,其中Y大于等于X并且X至少是2。模式选择电路适用于在多相位转置滤波模式和至少一种其它滤波模式之间切换可编程数字滤波器。计算电路适用于响应逻辑电路执行计算并且包括至少Y个乘法逻辑电路和至少Y个加法逻辑电路,每个乘法和加法逻辑电路都有用响应模式选择电路的选择信号有选择地耦合到另一个乘法或加法逻辑电路的输出和输入。
用于本发明的特定的示例性实施方案的其它方面和优点。
本发明的上述摘要并非为了描述每个本发明的每个示例实施方案和每种实现。更准确地遵循本发明的附图和详述将示范这些实施方案。
附图概述
考虑本发明的不同实施方案的详细描述可以完整地理解本发明,这些详细描述与附图结合在一起。这些图包括:
依照本发明,图1和2分别描述一个示例性的可重配置数字滤波器的通用框图和应用于使用可重配置数字滤波器的特定实例环境的整个功能单元的详细的示例性的顶级微体系结构。
图3到8也依照本发明分别描述图2中所示模块的扩充实现。更准确地说:
图3描述时钟发生器模块;
图4描述与装载滤波器系数以及读/写滤波数据连同使用的的顶级有限状态机(FSM)模块的状态图。
图5描述以状态表的形式描述用来读取系数的程序设定值的有限状态机的示例实现,这些系数与图2中的模块连同使用。
图6A描述了图2的系数-RAM模块的偏序逻辑,图6B描述了读入图2的内部系数存储器的系数的通用配置。
图7描述了提供操作控制和通用处理功能的中央可配置滤波器。
图8是一个数据电路/流程图,它依照本发明描述了包括图2中所示的数据通路模块和控制模块的中央滤波器宏-模块。
图9是描述和图8中的模块连同使用的滤波器算术逻辑的数据通路配置。
图10是一个数据电路/流程图,描述用于与图8和9中所示的数据通路配置连同使用的特定多相位-直接滤波的输入管道结构。
图11是一个数据电路/流程图,依照本发明描述用于特应用(FIR12)的图10中的电路的另一种配置。
图12是一个数据电路/流程图,依照本发明描述用于特应用(FIR11)的图10中的电路的另一种配置。
图13是一个数据电路/流程图,依照本发明描述用于特定多相位-转置滤波应用的图10中的电路的另一种配置;
图14和15是依照本发明描述在图7中的可重配置电路装置中的结构相似的“片断(slice)”电路各自的顶层和底层触发器的多路复用器装置的电路图。
尽管本发明有义务提出不同的变体和选择,但这里已经通过附图中的实例描述了一些具体细节并将详细描述它们。但应该理解这样做的目的并不是为了限制本发明为所描述的特定实现方案。相反地,其目的是为了覆盖所有符合所附权利要求中所定义的精神和范围的所有变体、等价设计以及选择方案。
公开实施方案的详细描述
相信本发明能够用于多种不同类型的滤波,而且还发现它尤其适用于从易于配置以多种滤波模式中的任意一种进行操作的数字滤波器体系结构受益的视频滤波应用。通过对使用这些应用的实例的论述可以理解本发明的不同方面。
图1中描述了本发明的第一个示例实施方案。图1提供了有可选滤波模式的硬件-可重配置数字滤波器100.数字滤波器100包括模式选择电路110、逻辑电路112和计算电路114。逻辑电路112有一个X*Y的寄存器阵列,适用于处理从存储器120传入输入数据接口逻辑122的输入数据。计算电路114通过在计算电路114的每个CY块中用一个乘法逻辑电路和一个加法逻辑电路执行计算来对逻辑电路112做出响应。熟练的技术人员将会理解X*Y寄存器阵列被描述成2*4阵列只是为了说明性的目的,对滤波算法的特定实现和选择将决定该阵列的实际大小。模式选择电路110被描述为包括一个处理器,并因此为滤波器100提供控制处理操作以及滤波模式选择操作;然而,不同的特定应用可以规定单独实现模式选择电路110的处理器部分和模式选择电路。
模式选择电路110在不同的多个滤波模式间切换数字滤波器100的方式取决于特定的应用。例如,一种实例应用使第一种滤波模式涉及第一高精度类型的滤波,例如多相位转置滤波,并使第二种滤波模式涉及一种更通用类型的滤波操作,例如脉冲响应滤波操作。这种情况下,模式选择电路110命令每个CY块中的乘法逻辑和加法电路中的方向为这两种模式中的一种重新配置数字滤波器100。在一种特定的实施方案中,每个乘法和加法逻辑电路都有输出和输入,它们允许按照由从模式选择电路110接收到的命令信号所指定的对计算进行计算。因此,对第一种高精度类型的滤波来说,模式选择电路110命令乘法和加法逻辑电路的不同方向为特定类型的高精度滤波所用的算法优化吞吐率,对第二种更通用的滤波模式来说第二种模式所用的设置没有改变方向。可以任意地用这两种模式中的一种作为缺省模式。
另一种示例应用使第一和第二种滤波模式,每种滤波模式都涉及不同类型的第二种更通用的滤波。这样的滤波模式的实例包括多相位直接滤波以及不同类型的脉冲响应滤波,例如M-拍FIR和N-拍FIR滤波(M和N是整数,例如大于等于2)。对这些类型的更通用的滤波模式中的许多模式来说,模式选择电路110可以通过控制逻辑电路112的各个单元中的寄存器间数据的方向和通信来重新配置滤波器100,而且这种重新配置并不改变计算电路114中的乘法逻辑和加法电路的方向。一个这样的确定实施方案,不需要在其中改变计算电路114中乘法逻辑和加法电路的方向,它采用模式选择电路110来控制逻辑电路112以在多相位直接滤波和至少一种像FIR这样的通用滤波之间进行切换。
也是依照本发明,一种特殊的视频处理应用采用一种与上述滤波器100类似的水平滤波单元(HFL)来实现“重新调整”存储在存储器模块(例如,图1的120)的水平像素行的多相位滤波器。在这种环境中,当缩放因子大于1时“重新调整”就像上面结合扩展发生所描述的那样。通常,(对多相位滤波器)使用固定的缩放因子来按比例增大或缩小图片,所用的滤波器系数是可变的,取决于正在处理的像素的位置或相位。采用正确的程序设计,该滤波器还可以有使滤波器为每个输出像素改变缩放因子的多相位滤波模式,例如在一个由适用于管理数字滤波器功能的微程序控制处理器执行的处理步骤中。通常我们可以调节滤波器的控制参数以使缩放因子整体趋向输出行的中心,但渐渐地更大或更小的因子趋向于行的两边。这个特性被称为可变或全景缩放,在调整输入视频的纵横比以适应整个物理屏幕时非常有用。
在一种示例应用中,用一个微程序主控制处理器(MCP)来提供控制和背景以及数字滤波器的片上视频处理操作。MCP用“处理步骤”处理显示像素,一个处理步骤指用来处理与产生最大数量的输出像素所用最大数量的的输入像素对应的数据所需的MCP操作数。在一个特定实例中,产生最多256个输出像素的输入像素的最大数量是256。在普通操作模式下,可以对多种片上视频处理单元(水平滤波器、垂直滤波器、混合器、颜色调节)、存储器以及连接交叉进行编程(通过MCP中的微代码)以使每个处理步骤和计算能够正确地开始。尽管这个处理步骤仍在进行,也可以把下一个处理步骤的控制值编程进下一个处理步骤的保持寄存器中。随后在下个处理步骤的开始把下个处理步骤的控制值从保持寄存器传递到工作寄存器中,然后处理重新开始。
对很多典型应用来说,图1中的每个HFL主要用于像素内容的水平增、减。在一种特定的示例应用中,HFL是一个通用FIR滤波器,能够通过对它的控制寄存器编程来进行配置以在一个处理步骤中用下列模式之一进行操作:多相位直接模式、多相位转置模式、FIR11或奇数-拍FIR模式(带偶对称的11-拍FIR)以及FIR12或偶数-拍FIR模式(带偶对称的12-拍FIR)。
使用HFL的多相位模式的一个重要优点是能够对水平行像素(存储在存储器模块中)重新调整。同样,定义输出像素数与输入像素数的比值为缩放因子。当缩放因子大于1时重新调整操作也被称作扩展或上缩放;否则,这个比值被称为压缩或下缩放。缩放因子的许可范围可以选择为任意值;在这个示例设计中,许可范围是从0.25到8.0(包含0.25和8.0)。采用正确的程序设计,还可以使HFL在一个处理步骤中为每个输出像素改变缩放因子。调节HFL控制参数使缩放因子整体上接近输出行的中心,但渐渐地更大或更小的因子趋向于行的两边:
这种重调特性被称为可变或全景缩放,用于调节输入视频的纵横比以适应整个物理屏幕(例如,16∶9的图像放在4∶3的屏幕上,反之亦然)。
另一方面FIR模式也用于通用滤波(输出像素数等于输入像素数)。用户可以在1到256(包括1和256)之间(通过设置计数为0来对256编程)对HFL在每个处理步骤中消耗和产生的像素数进行编程。可以在软件控制下在每个处理步骤结尾时把HFL的临界状态或“上下文”保存到一个存储器模块中。在下一个处理步骤的开始可以把这个上下文重新装载为初始状态,以使这两个处理步骤可以被看作是一个连续步骤。这种保存和装载上下文的机制允许HFL同时服务多个输入行,这样每个处理步骤都能被以一种轮转调度方式应用到不同的输入行,直到每个输入行都处理完毕为止。HFL上下文的内容取决于操作模式(特定的滤波模式)。如果在切换到另一个输入行之前当前输入行已经处理完毕就不需要保存和装载上下文,因为在缺省情况下HFL执行来自上一个处理步骤的结束状态而不是下一处理步骤中的初始状态。
对于多相位滤波器用于这样的扩展或压缩的详细信息,可以参考上面提到的美国专利5,892,695号中所说明和描述的实施方案。
每个HFL包含两组独立的滤波器系数,每个系数对应于一个有符号二进制数(例如,在[-0.5,0.5]范围内的10-位数)。滤波器系数被以和装载输入像素和上下文类似的方式从存储器模块装载。像素的滤波和系数的装载可以在一个处理步骤中并行发生,因为每个处理访问一组不同的系数。
图1的可重配置HFL的实现能够方便地支持两种多相位滤波模式:用于上下缩放(图像的按比例缩放)的多相位直接(用于扩展和压缩)和多相位转置(仅用于压缩)和至少两种通用FIR滤波模式(用于基于数字滤波的信号处理)。此外,图1的HFL支持从0.25到8.0的缩放因子,支持可变缩放因子,可以实现为只使用有符号10-位滤波器系数,能够支持8-位和10-位输入像素格式,保存两组滤波器系数并且允许从一组系数滤波像素和装载系数到另一组中并行地进行,允许在多相位模式中在32相位和64相位之间切换并因此允许选择滤波器系数,并且提供存储和装载上下文的机制,并由此支持在每个处理步骤上在多个长输入行之间来回切换。此外,该HFL还适用于支持对像素的镜像(在每一行的开始和结束)。
对一种特定的示例应用来说,图2描述使用图1中所示的方法用于实现可重配置数字滤波器的顶层微体系结构。图2的结构装置包括时钟发生器模块210(图3中有更详细的描述);用来控制读滤波器系数和装载滤波数据的初始器模块212(图4中有更详细的说明);描述用来产生访问滤波器系数的控制信号的CR(系数-读取)模块214(图5中有更详细的说明);CRAM(系数-RAM)存储器模块224(图7中有更详细的说明);和一个包括数据通路模块228和控制模块230的中央滤波器宏-模块(图8中有更详细的说明)。
通常,滤波器单元或图2的装置响应初始器(或“顶层FSM”)模块212的指令处理数据,模块212总是活动的。初始器模块212命令低层滤波器模块初始化系数-读取和滤波操作。系数-读取模块214为系数访问模块222产生控制信号,并且是负责向数据通路模块228和控制模块230以及外部耦合设备产生控制信号的主模块。因此,系数-读模块214负责读输入数据、从系数存储器读取系数、写出处理过的数据、读入上下文并写出上下文。
在一个示例性的系统实现中,滤波器单元是由微-程序主控制处理器(MCP)通过对滤波器单元的存储器-映射控制寄存器(未显示)进行编程而对其编程的多个功能单元之一。每个单元还有一组输入和输出数据端口通过“交叉互连网络”与一个存储池相连(因此,这个池中的存储器也被称为“互连存储器”)。与各个数据端口相联的是由该单元产生的next_location信号;这个信号的任务是指示存储体更新它的地址计数器以用于下一个读或写操作。这个“next_location”信号对应于输入端口的“next_read”和输出端口的“next_write”信号。该单元和MCP之间的通信协议使用两组信号,每组装载一对信号。MCP在向该单元的工作存储器映射输入输出(MMIO)寄存器写入一组数值后发送load_conf信号请求该功能单元从工作存储器装载它的配置参数到映像MMIO寄存器。该单元通过发送conf_loaded信号确认请求以向MCP指示它已经为下一个操作序列更新过它的内部配置并准备启动。这时,MCP发出启动信号(当然,是在系统中的所有单元都已经装载了它们的配置之后)到该单元,该单元在当前操作序列的末尾通过发送end_operation信号通知MCP当前操作序列完成。这种采用工作寄存器和映像寄存器的方式允许MCP在(当前处理步骤中的)当前操作序列仍在进行时对(下一个操作步骤的)下一个操作序列编程。这种并发操作减少了系统延迟。
在一种示例性应用系统的环境中,可以把滤波器单元的基本操作看作是包括下列处理步骤:首先(通过基于MCP的MMIO寄存器编程)对滤波器编程以从交叉存储器中读取滤波器参数(注意预处理步骤用通过对存储器-接口模块的基于MCP的编程而从外部存储器获得的值装载交叉存储器,存储器-接口模块不是HFL的一部分但负责从片外SDRAM取出系数和像素数据到片上交叉存储器)并在一个处理步骤中填充它的内部系数存储器(图2中的模块224),并且在下一个处理步骤中对该单元编程以再次从另一个交叉存储器读取实际的视频数据并产生滤波输出(用滤波器系数计算)。滤波输出随后(通过数据-写端口HFL_OUT上的HFL_next_wrl信号,如图2中所示)被写入一个交叉存储器。根据处理的状态,由另一个视频处理单元对滤波出的数值进行进一步的处理,或者在适当的格式转换和同步插入之后送出片外以显示在屏幕上。通过HFL_next_read3信号从外部存储器读滤波器系数,该信号与系数-读取端口HFL_Incoeff(图2)相关联。对该单元编程以通过HFL_next_read1信号从存储器读取实际的视频数据,但这时在数据-读端口HFL_IN像素上(图2)。
其它系统使用特征包括存储器-读操作有三个时钟周期的延迟(从图5中的状态机图中的等待周期可以明显地看到这一点)以及存储器-写操作有两个周期的延迟。因为滤波器能够执行按比例放大或缩小,它实质上是相对于输入数据改变输出流;对压缩来说,滤波器读取较多的像素但产生较少的输出,相反的情况就是扩展。如果由MCP编程的话滤波单元还允许上下文切换(从一个视频行切换操作到另一行)。参考图2,这可以通过与上下文数据的一对专用读(HFL_Incontext)写(HFL_OUTcontext)端口相关联的上下文-读(HFL_next_rd2)和上下文-写(HFL_next_wr2)信号来实现。
一旦图2的HFL由外部处理器(例如MCP)通过对HFL的内部存储器映射控制总线(CBUS)寄存器(CREG)的编程而编程,初始器模块212就检查CBUS寄存器240以确定它是否是NOP(要求“无操作”),这种情况下初始器模块212产生一个代码来指示处理正处在操作结束(end_of_operation)模式。在OP模式下,初始器模块212再次读CBUS寄存器240以确定它是否是COEFFICIENT-READ(系数-读取)操作或FILTERING(滤波)操作。对COEFFICIENT-READ操作来说,初始器模块212指令系数-读取模块214通过第三数据输入242读取控制系数并通过系数访问模块222把它们写入CRAM存储模块224。对FILTERING(滤波)操作来说,初始器模块212指令中央滤波器宏-模块读取数据和/或上下文输入上的数据和/或上下文。这些输入在功能-单元数据通路模块228中被乘以适当的系数(来自系数存储器)以产生需要的输出,这些输出被写入外部HFL存储器,“XBAR”或在初始器模块212的管理下通过模块230与HFL存储器互连的交叉存储器。
图3以扩展形式描述了图2的时钟发生器模块210。时钟发生器模块210包括几个时钟树门(“CTG”),它们负责产生由图2中所示其它模块所用的开启并适当缓冲(用于正确的平衡)的时钟信号。对可选的节能模式来说,第一个CTG310在扫描模式或者在没有维持可选的降低功耗模式时的非扫描模式中被激活。第一个CTG310供给初始器模块212(它需要始终保持ON状态,除非断电)。CTG310连同CTG312、314、316、318和320一起由信号HFL_top_hold(在需要在降低功耗模式下关闭HFL的情况下)、HFL_cw_hold(在不写系数的情况下关闭系数-写逻辑)、HFL_cr_hold(关闭从外部存储器读取系数的逻辑)和HFL_f_hold(在因为NOP或因为在当前处理步骤中只读取系数而使滤波器数据通路无效的情况下)激活,这些信号由电源管理(未显示)产生。因为顶层状态机保持活动并且响应三种编程模式(NOP、系数读取、滤波器处理)之一,所以CTG312总是处于激活状态(除非断电)。CTG2312产生供给系数写状态机(图5)和相关的写逻辑的系数写时钟。当以OP模式编程HFL时,对系数读来说,响应时钟末梢HFL_cr_hold,CTG 314和316也被激活直到操作结束。当以OP模式编程HFL时,对滤波操作来说,响应时钟末梢HFL_cr_hold,CTG 318和320也被激活直到操作结束。只有在适当时间并且只在必要时激活CTG才会影响优化动态电源管理。
图3描述了用来(从一个主时钟分支)提供多个时钟分支的时钟发生器模块,把这些子分支称作末梢、散开更合适一些,它们由强大的缓冲区驱动到不同的逻辑块/部分。这种分支方法在考虑有限数量的逻辑中有用,一个时钟-分支能够在可接受的周期-变形限制范围内驱动,这种机制也可用于激活分支提供无效逻辑上的选择、周期关闭(取决于滤波模式),并因此节省电能。
图4描述了图2的初始器模块的功能。初始器模块212用来管理读滤波器系数并装载滤波数据,这些动作发生在不同的处理步骤。初始器模块212控制影响系数和数据读以及数据写任务的模块(222和230),还控制主要的外部(到HFL但在片上)微程序主控制处理器(例如,MCP)和HFL单元之间的通信协议。与图2的模块210相关的顶层有限状态机(FSM)的状态图是和装载滤波器系数以及读&写滤波数据连同使用的。FSM产生在一个处理步骤中从外部存储器读取滤波器系数的控制信号(goCoeff=1)以及在另一个处理步骤中从外部存储器读取滤波输出的控制信号(goFilter=1)。一旦这个过程结束(通过Cdone或Fdone为1来判断),状态机返回到空状态并一个处理步骤。load_config信号用来通过寄存器中的编程来装载配置。
如图4中的状态图部分所描述的,初始器模块在状态418时响应接收load_config命令(在来自MCP的触发器412上并且仅在由触发器410上的启动命令激活后)而被激活,并且转换到状态430或432。触发器在这里仅用于定时,以使来自MCP的全局信号(load_config和start信号)并不直接(由此看到大负载并导致慢响应)驱动顶-层状态机(在片上的多个与HFL类似的视频处理单元中)但进行注册而且每个模块(例如,HFL)中本地注册的版本驱动FSM。初始器模块响应接收到start.NOP(即,编程为NOP模式时的start信号)命令转换到状态430,并在返回到等待状态418之前转换到状态432。初始器模块响应接收到start.OP(即,当编程为OP模式时的start信号)命令转换到状态434并在滤波器进行重新配置和处理时保持在状态434。初始器模块响应接收到终止状态(end_condition)或操作结束信号(end_of_operation)转换到空闲状态430,在空闲状态中初始器模块保持空闲直到从读或写模块接收到Cdone或Fdone信号并最终接收到load_configuration操作结束(end_of_operation)信号为止,然后通过空闲状态432返回到等待状态418。
图4的初始器模块212的输入包括:load_config,由MCP提供用于从镜像装载配置(控制值)到工作CBUS寄存器(图2的240)并在装载之后一个周期取消end_op(操作结束);start,由MCP提供用于在取消config_loaded输出信号之后启动操作;Cdone,由系数-读取模块(图2中的222)提供用来表示系数读取(处理步骤)的结束;Fdone,由操作模块(图2的230)用来表示滤波和数据写操作(一个处理步骤)的结束,如果编程为这样的模式它们表示上下文的结束;HSRC_CTRL[7:0],由存储器映射输入-输出(“MMIO”)模式控制CBUS寄存器提供用来传递控制命令;tfsm_clk,由时钟模块(图2的210)提供给顶层FSM的输入时钟;resetBar,用来将初始器模块212和HFL当作一个整体进行复位的异步复位信号(低电平有效)。
图4的初始器模块212的输出包括:start_p,注册并且经过图2的其它模块的start信号;config_loaded,送往MCP并为滤波器维持配置装载结束的信号;end_op,向MCP指示处理完成的信号;goFilter,通知主模块230的数据读/写部分启动读、处理和写数据的信号;goCoeff,通知系数-访问模块222启动读系数的信号。
图5描述了用来响应来自初始器模块(图2的212)的指令产生从存储器读取滤波器系数的控制信号(系数-读请求)的系数-访问模块222(图2)的状态表。系数-访问模块222还产生选择正确的存储体并向该存储体写入系数的控制信号。系数访问模块222接收下列输入:HSRC_MODE[7:0],对应于8-位MMIO寄存器(未显示);goCoeff,来自初始器表示系数读取操作开始的信号;cfsm_clk,来自时钟模块(图2的210)的输入时钟;resetBar,前述异步低电平复位信号。在一种示例性实现中,图5的状态表描述用来读入程序设定数量(crcounter)的系数的有穷状态机的操作,CWi(i=1到3)等于3表示补偿所用系统中3个周期的延迟。
系数-访问模块222产生下列输出:HFL_next_rd3,读取系数的读请求信号;Cdone,向顶层FSM表示系数读取完成的读完成信号;wphi[4:0],相位计数器,指定32个相位中正在为其从系数存储器读取或写入6个系数的那个相位;bcount[2:0],是从0增加到7的字节-计数信号,该信号还经过HFL_coeff_am_block(它包括系数存储器)以允许读取8*8=64位,这64位最终形成特定相位的6个10-位系数(4位(64-6*10)没有使用);ldstate,指定FSM处于正确的系数-装载状态(用于激活HFL_coeff_ram中的实际存储模块中的写操作)。
图5的状态表与系数读取FSM-HFL_cread_fsm或CFSM(图2)有关-它负责从交叉存储器读取需要数量的系数值并通过系数-存储器写逻辑(图2中的模块222)写入系数存储器(图2中的模块224)。请求信号crreq与HFL_next_rd3(来自图2的214)相同,在开始向系数存储器写入系数之前(状态510)该信号被维持3个周期;因此,一旦在状态520中发出crreq信号,状态机就在系数数据开始从存储器流入之前遍历三个空闲状态540、560和580。状态520是稳定状态,在这个状态下系数-读取状态机等待来自顶层状态机(图2的212)的goCoeff信号以启动它的操作。一旦启动后,当数据在三个时钟周期的延迟后开始到来时,状态机到达系数-满状态510,在这个状态下正确的存储体已经被系数所充满。系数-读取计数器(crcounter)被初始化255(要读取256个系数)并用来在这个状态中每个时钟周期减少计数。一旦已经读取了所需数量的系数(当crcounter的值达到3时,为了解决3个周期的延迟),就产生Cdone标志并且状态机跳转到它的空闲状态。Cdone标志由顶层状态机用来向MCP通知系数-读取操作结束。
注意在32-相位模式中,只写入每个64-相位存储体的低或高32-相位。信号wphi(指示写相位)跟踪任意半体的当前相位(正在读或写系数-组的相位),“bcount”(字节计数)是HFL_coeff_ram中的字节-激活。另外,在系数存储器中每读或写6个新的10-位系数(对应于一个新的相位)就给wphi加1;用8个10-位读读取60个位(每次丢弃读取的10-位字的最低两位),其中8*8=64个有用的位形成10个系数的60位(其余4位不用)并用字节-激活的8个值(bcount)写8字节读取。信号crcounter在任意时刻跟踪已经发生的读取的次数并被初始化为255以使倒计数到0时能够读取所有256(=32个相位*每个相位的6个系数的8次读取)个数值。
图6A和6B描述图2的系数-存储器模块224。图6A描述系数-RAM模块的偏序逻辑,图6B显示了从交叉存储器到存储器或HFL单元的内在系数RAM(图2的模块224)的系数读取的通用配置。这些存储器中有两个允许先前充满的一个用于当前处理步骤中的滤波,另一个用于填充。
这个模块从系数-读取FSM(HFL_cread_fsm)获取多个控制信号并负责在系数-存储体中实际写入系数。这个模块中的逻辑也负责读取滤波操作的每个步骤中所需要的6个系数。有两个存储体,每个能够存储64组系数;64个相位中的每个相位有一组6个10-位系数,在一个存储体用来从滤波操作读取系数的同时,可以用不同处理步骤中所用的不同系数组装载另一个存储体。
系数-存储器模块224的输入包括:MMIO寄存器HSRC_CTRL[7:0]和HSRC_MODE[7:0];whpi[4:0]是来自cread模块的相位计数器信号,指定32个相位中正在系数存储器中为其读和写6个系数的那个相位;bcount[2:0]是来自cread模块的字节-计数信号,从0增加到7并用于改变到coeff_ram模块以允许读取64(8*8=64)位,这64位最终形成特定相位的6个10-位系数(其余4(64-10*6)位不用);rphi[5:0]是来自HFL_dp_cntrl的6-位系数-读取相位或系数-读取地址。主状态机部分(图7)通过重新配置包括系数读取、数据读取、数据处理、数据写、像素映射、上下文切换等在内的多种操作的数据通路来控制滤波器操作并且等价于跟踪当前像素位置的计数器IFC的分数部分的6个MSB;clk1是bank1的读时钟;clk2是bank2的读时钟;clk3是在bank1输出上的注册时钟;clk4是在bank2输出上的注册时钟;resetBar是异步低电平有效复位信号;HFL_Incoeff[9:0]是来自XBAR存储器的信号输入,其中8个MSB有正确的值;ldstate是来自HFL_cread_fsm布尔值信号,它通告FSM是否处于系数-装载状态(CFILL)。OUTPUTS是滤波操作的系数读取,它由C1、C2、C3、C4、C5、C6[9:0]表示。
对每个存储体来说,HFL_coeff_ram例示HFL_coeff_bank,HFL_coeff_bank是包含由存储发生器产生的实际存储实体“m64*64core_shell”的模块。
参考图6A和6B,(系数-存储器读/写)模块的设计和操作如下:BANK2RD是(来自CREG的)MMIO控制信号,它通过在存储体的rd_en(读激活)输入上确保高电平来在两个存储体中选择一个用于在滤波操作期间读取系数(可以向另一个存储体写入)。激活为写入系数所选的存储体取决于下列三个条件的同时存在(AND):1)正确的系数装载状态(来自系数-读取FSM);2)由MCP编程进CREG中表示当前处理步骤打算装载系数的装载-系数(LD_COEFF)命令;3)与要写的存储体(不是正在读的那个存储体,因此它是正在读取的存储体的补充或反相位)相连的正确的写-激活(=1)。一旦一个存储体的写状态被置位,系数-读取状态机就开始循环通过它的状态,系数数据响应crreq(=图2中的HFL_next_rd3)信号的维持开始在图2的HFL_Incoeff端口上流入(每个时钟周期一个数据)。
写操作按照如下顺序进行:1)字节计数(图5中的bcount)从初始值7开始每个时钟加1;2)根据bcount设置字节-激活(图6A和6B中的bend)以使正确的子-字节被写入存储体;3)6个10-位系数的8个字节,bcount从0到7计数,在8个连续的时钟周期中被写入各个地址,这些地址也表示存储体的相位;4)字节-计数每次到达7就继续循环,意味着写完了一个相位的所有6个系数,wphi被初始化为0并与存储器-写-地址相连,每次给wphi加1以使与下一个存储位置由与下一相位值对应的系数开始填充;5)这些步骤重复进行直到所有256个系数都被写入存储体为止。注意写地址的最高位是硬布线到CREG WR_HI(如图6A所示)中以便能够在任意处理步骤中写低32相位和高32相位;在所有64个相位的系数都要写入到存储体中的情况下,通过翻转WR_HI的值(由MCP完成)重复整个过程以使在滤波操作开始前有两个系数-读取处理步骤。
在正常滤波操作过程中,从中读取系数的存储体的读信号是由BANK2RD CBUS寄存器(0表示读bank1)的MCP编程而激活的,滤波器是运行32-或64-相位模式取决于PHASE32 CBUS寄存器值。6位存储器读地址(图6A和6B中的c_rd_addr)是由主数据通路控制状态机模块(HFL_dp_cntrl)中的像素位置计算确定的读相位(rphi)的函数;但是如果只有32个相位用于滤波,6-位存储器-读地址的最高位是从RD_HI CBUS寄存器获得的(如图6A所示);因此,如果PHASE32=0,所有64个相位都用于滤波而且c_rd_addr实际上等于读相位的所有6位(图6A中的rphi[5]被多路传输进topbit),如果PHASE32=1,c_rd_addr的最高位直接来自RD_HI控制寄存器(其中1意味着高32位地址或所选存储体的上半部,如果为0则相反)。
图7描述图2的主-滤波器可重配置数据通路模块228的示例性实现,该模块负责通用算术滤波处理功能。模块700由图2的HFL_dp_cntrl模块230控制。连同这个示例性实现,图2的模块230是用RTL Verilog设计语言编写以合成并产生控制和配置可重配置数据通路模块228的电路。模块230控制从XBAR读取的输入-数据,写入XBAR的输出-数据,从系数存储器读取的系数,从XBAR读取的上下文,以及写入XBAR的上下文。这个模块还根据滤波类型(例如,多相位直接“PD”、多相位转置“PT”、FIR 11-拍、或者FIR 12-拍)和处理要求(左镜像、无镜像、右镜像、以FIR模式轮回等)为重新配置数据通路提供不同的控制信号。除了使用“PD”和“PT”之外,其它缩写词包括FIR(11/12),即FIR(11/12)滤波;MLE,即左边缘镜像;MRE,即右边缘镜像;LDCXT,装载上下文;SVXT,保存上下文。
模块230控制数据通路的重新配置和操作,它主要是一个带7种状态的有限状态机(“FSM”),下面列出了在这些状态中发生的主要事件:
1)DPCIDLE:当下列操作发生时,如果Fdone信号(来自不同状态,表示滤波操作完成)为高,当下列操作发生时取消Fdone并且FSM保持在这个状态直到它从顶层FSM接收到goFilter命令:
-初始化incount和outcount-消耗的输入像素数和产生的输出像素数-并且MRE=1(在一个图像行的末尾),根据滤波类型用要镜像的像素数(-1,因为倒计数仍然是0)初始化右-镜像计数器(MCR)。
-如果LDCXT=1,根据滤波类型用上下文数值的数量装载上下文读取计数器,发送请求读取上下文,以及FSM跳转到状态DPCW1。
-如果MLE=1,根据滤波器类型用将要镜像的像素数(-1,因为倒计数仍然为0)初始化左-镜像计数器(MCL),初始化滤波事件标志(RSVAL),RSVAL的值决定在不写的情况下移入更多像素或是写回迄今为止计算出的结果,初始化位置-和-相位计数器(IFC),从XBAR请求(通过维持连接到HFL_next_rd1的reqml)镜像像素(除非PT=1,这时要为镜像阶段保持输入值)。为PT=1初始化start_write信号为0,因为该信号是在镜像阶段被维持以激活数据通路把结果写入XBAR。
-如果滤波必须在没有任何上下文或镜像动作(即,LDCXT=MLE=0并且硬件必须从它在上一处理步骤中停止的地方开始)的情况下立即启动,根据滤波类型初始化控制向数据通路寄存器提供像素的多路复用器的控制信号CR、S1U、S1D、S2U、S3U、S3DAB、S3DC(图7)而且FSM跳转到状态DPCFP。
2.DPCW1:如果LDCXT=1,为装入上下文值正确地设置多路复用器控制器(图7);否则,根据滤波器类型为左镜像适当地设置复用器控制器(除非在PT=1的情况下,设置已经正确)。这是一个延迟状态。FSM跳转到DPCW2。
3.DPCW2:FSM跳转到DPCW2。这只是一个普通的延迟状态。
4.DPCW3:如果PD=1,就取消左-镜像像素请求(reqml),因为该请求对所需要的3个周期(对3周期的延迟来说)已经是高电平,并取得所需的3个像素。如果MLE=1,就为已经消耗的镜像像素调整incount,如果滤波器不是PT模式就维持移位信号以准备数据通路向数据通路-寄存器移入像素。下一个FSM状态是DPCCM。
5.DPCCM:如果LDCXT=1,根据滤波器类型和CC值依次装入上下文值-IFC(最新和当前像素位置)、RSVAL(先前和当前像素位置之间的差别)、缩放参数和数据通路寄存器内容,并在每个周期中更新CC。根据滤波器类型,也正确地维持和取消移位信号(向数据通路寄存器的上半段或下半段移入数据值必需的oshifthi和oshiftlo)以装入上下文值到数据通路-寄存器的上半部或下半部(先装载上半部,然后在中途开始对下半部的装载和移入)。也在适当时间维持和取消对寄存器值的请求信号(reqc),以便不至于错误地增加XBAR存储器指针。FSM在装载上下文之后跳转到DPCFP。如果LDCXT=0并且不是PT模式,就在每个周期中减少MCL直到它为0(此时FSM跳转到DPCFP),并根据镜像计数器的值:在保持镜像像素请求(reqml)几个周期后取消它,保持的周期数等于需要镜像的像素数,取消数据通路-多路复用器控制器(S3U),并取消数据通路-寄存器移位信号(oshifthi和oshiftlo)。在镜像完成并且镜像像素已经在数据-通路寄存器中之后,(根据滤波器类型)为滤波操作设置所有的数据通路-多路复用器控制器。
6.DPCFP:这是发生实际滤波操作的状态。在不涉及过多细节的情况下,在这个状态中所进行的操作的基本思想如下:到incount和outcount为0为止,同时存在的0值表示处理步骤的结束,输出像素的位置和它的相位是连续计算的。
相位信息用来从系数存储器查找系数。对PD情况(FIR情况与固定相位且缩放比例(zoom)为1的PD类似)来说,按照下列方式更新IFC和RSVAL:IFC(t)=IFC(t-1)+1/zoom;RSVAL=[IFC(t)-IFC(t-1)]的整数部分并且在任意时刻均大于0,由来自缩放比例(zoom)寄存器的小数部分的进位输出确定(连同图8描述),递减RSVAL并移入输入像素直到RSVAL=0,这时把滤波器输出写入XBAR。对PT情况来说,IFC(t)=IFC(t-1)+zoom;RSVAL=[IFC(t)-IFC(t-1)]的整数部分,只要RSVAL=0就读取并移入输入像素直到RSVAL变得大于0为止,然后把滤波器输出写入XBAR。在这个状态中还通过适当地控制镜像计数器和数据通路-多路复用器控制器来考虑所有类型滤波器的右镜像。
在PD模式下需要特殊考虑位置和相位的预计算(使用信号bflag和RSVALnxt来区分它和RSVALcur或RSVAL,因为已经在这次记录中用过了它)。在没有预计算的情况下,即使在当前位置和相位需要向XBAR写入滤波过的值时也能够在不停顿的情况下计算下一个位置和相位,将会丢失一个写周期。送往XBAR的结果以及用zoom=0.5这样处理过的n个像素在最坏的情况下将占用难以接受的2n个周期。
因为数据通路是流水操作,通过多个触发器将写入滤波结果到XBAR的决定作为写请求传播出去,以使这个信号在输出数据到达的同时到达XBAR。同样,通过可变数量的触发器传播系数的地址(相位)以及来自系数存储器的实际系数,以使乘法器系数在正确的时间(在解决了XBAR存储器读延迟和数据通路管道之后)到达数据通路。
如果SVCXT=1,设置数据通路-复用器控制器以使上下文值能够被写出并且FSM跳转到DPCCO;FSM在维持end_of_op信号之后返回到它的DPCIDLE状态。
7.DPCCO:当SVCXT=1时这个状态用于上下文输出。根据滤波器类型和CC值,在每个周期中更新CC并分配数据通路-上下文-输出-复用器控制器(CCS)以便写正确的上下文值。出上下文之后,FSM跳回它的DPCIDLE状态。
考虑到这些部件的上述功能,用图8中所示的水平滤波器800能最好地理解数据通路模块700的细节。尤其图8说明了包括数据通路和一般描述成图7的6个结构相似的部分的控制模块(图2的224、228和230)的一些明确特性的中央滤波器宏-模块。水平滤波器800的输入是沿着HFL_IN像素行810的像素以及沿着HFL_IN系数行812的滤波器系数数据。像素由数据通路820接收,滤波器系数数据由系数存储器电路824接收,系数存储顺地址由电路831提供,电路832-837提供机制来确定当前相位并因此提供在下一时钟周期中所用的特定系数组和动作(移入新的输入像素或者继续在不读入任何新像素的情况下产生下一个输出)。
数据通路820包括6个并行的加法电路,其中一个是820a,供给乘法器级820b。乘法器级820b有6个并行的乘法电路,图中只显示了其中一个。6个并行的乘法电路820b的输出被反馈作为各自安排的加法电路820a的输入,来自前五个并行加法电路820a的输出前馈作为下一个并行加法电路820a的累积输入。最后一个并行加法电路820a是驱动下一部分中的乘法器级的累加值,下一层的乘法器级的输出在852线上提供滤波过的/按比例缩放过的水平像素值。一旦用滤波器系数写入存储体856,就能够通滤波波器数据通路在下一个处理步骤中读取滤波器系数(以使滤波操作能够潜在地进行),而现在能够用一组新系数值随意地写入存储体858。电路832-837负责更新zoom值并由此更新当前相位(关于输入的当前输出位置)的计算,当前相位决定读出在随后的时钟周期中所用的系数组的系数-存储体地址;这个相位还确定在下一个时钟周期中将要执行的动作(例如,移入新的输入像素或在不读入任何新像素的情况下继续产生下一个输出)。每个时钟周期更新一次zoom值(或它的倒数,取决于所用的多相位滤波器模式)并且增加后的值的小数部分产生当前相位。计算出的小数部分(836)和计算出的整数部分(833)分别存储在寄存器837和834中。从zoom-更新计算获得的从小数部分(837)到整数部分(834)的进位决定上面提到的动作。写存储体858是响应HFL_nxt_rd3信号从HFL_Incoefficient信号装入的。
如图9所示并与图8的数据通路820符合,用于滤波器运算的数据通路配置可以看过有三个主要部分,直接输入管道910、乘法器级920和累加器930。直接输入管道910准备送往乘法器的值(在这个例子中也叫作“直接输入管道”)。乘法器级920是一级乘法器电路,它把系数乘以来自直接输入管道910的倍数值。累加器930实现乘法和累积的6个结果的总和。
图9的直接输入管道910适合处理12个像素值并为对称FIR应用执行加法。通过图10的输入管道结构描述了直接输入管道的一个更详细的示例性实现。在图10中,像素值存储在12个不同的寄存器中。本质上,6级中的每一级包括适合将触发器1010和1012各自的输出相位加的加法器1002。触发器1010和1012各自的输出与根据滤波器的配置选择的端口相连。每个加法器还接收从上一级接收到的输入。
图11描述了怎样配置图10的这12个寄存器以连接到加法器,而随后的三个附图(图12-14)描述按照1/z整数寄存器(图8的834)的增量的定义移入新像素时的数据流;如果没有移入新像素,每个寄存器保持它最近的值(图11中未显示)。在12-拍对称FIR配置的情况下,每个寄存器简单地连接到前一个寄存器,如图11所示。在11-拍对称FIR配置的情况下,两个寄存器A和AA(在图12中用数字表示为1230和1232)接收相同数值,以使在用移入的超过11个的像素的数据初始化管道之后,这两个寄存器中存储数值in[pos+5]。因而,6个加法器(图12的1207)的输出仍然是in[pos+5];这在算术上符合X+X>>1=X的关系。
图13描述了在6-拍多相位滤波器的情况下怎样配置图12的这12个寄存器。在这种配置下并且使用与上述相同的属性,每个移进的数值都存储在两个寄存器中而且这两个寄存器都连接到相同的加法器。
现在参考图7的数据通路,功能单元包含数据通路特性HFL_dp_slice1(1次),HFL_dp_slice2(2次),HFL_dp_slice3(3次)和HFL_dp_slice4(1次),其中第4片段对应于图7中所示的电路而不是6个片段711到716的电路。为了有可重用代码,每一片段中的大部分电路是对6个片断711到716中的每一个都公用的设计;通过片断713中所示除多路复用器718之外的的所有电路简化了这种等效电路(在每个片断内部初始化的“HFL_dp_common”)。
如同上面图10-13连同描述的那样,图7的数据通路有12个触发器(“FF”)的可重配置连接。这个可重配置是基于滤波器的类型和当前操作类型(上下文读取、滤波和上下文保存)。通过对到多个关键多路复用器的选择信号的适当选择可以影响FF的重新配置。数据通路控制器FSM(带有前面描述过的7个状态)负责在正确的时间产生正确的控制信号。
能够理解图7中所描述的每个FF实际上是基于FF并且有顶部FF部分和底部FF部分的电路,每个FF部分是用shifthi和shiftlo信号分别单独装载的。顶部和底部FF的输入由多路复用器(连接到S*,即图7中的S1U、S1D、S2U等)并且被实际实现成了多路复用器FF,其中多路复用器(未显示)实际上是由shifthi和shiftlo信号控制。图14和15描述了在图7的可重配置电路装置中所用的结构相信的“片断”电路各自的顶部和底部的多路复用器(“mux”)装置。
在讨论图7的特定附加特性和方面之前,已经按照顺时针方向从1到12标注12个触发器,上面一行最左边的FF标为1,上边一行最右边的FF标为6,第2行最右边的FF标为7,第2行的最左边FF标为12。此外,在下面的讨论中,第i个FF被称为FFi,i是从1到12的整数。
1.用字母a、b、c…、f标记的线条表示对特定情形数据流过的地方,例如,“ae”意思是在“a”(多相位直接)和“e”(在一条线的开始镜像)的情况下有效。在图7的右上角给出了对这些字母的解释。
2.FIR在一条线的开始镜像,例如,在多相位直接情况下,主动性主的前三个像素数值不仅应该输入FF 1到3,还应该以反序输入FF 4到6;这提供了p3p2p1p1p2p3模式,其中pi表示读入的第i个像素。这种模式是通过编程(从数据通路-控制状态机)多路复用器选择CR=0(以使LINEIN通过)、S1U=1、S2U=0和S3U=1(以使FF1、FF2和FF3被连接成移位寄存器方式而且读入的3个像素仅移过(像p3、p2、p1),而无论什么移进FF1、FF2和FF3,也都按顺序分别移进FF6、FF5和FF4以便实现镜像。
3.在上述模式中,较低的FF(7到12)应该和顶部FF(6到1)有相同的值。这个目标是通过对多路复用器选择编程为S1D=S2D=S3DAB=S3DC=0而实现的。和能够看到的一样,这种机制把较低的FF的多路复用的输入和顶部FF的输入绑在一起以使顶行和底行FF移入相同的值。
4.为了在一行的末尾镜像,顶行的前3个(1到3)FF接收和后3个(4到6)FF一样的值,但方向相反。因此,S1U被编程为0并且随后被EMS适当地改变(每个时钟周期)以使反馈路径以和FF 6到4中相同的值填充FF 1到3。
5.信号“RND”是多路复用器二进制选择信号,当其为真时通过提供向加法器的数字1的进位而允许循环。
6.在多相位转置滤波模式中,PT=1,乘法器前面的多路复用器选择直接来自LINE IN的乘法器数据,乘法器输出(不同的系数乘以相同的输入)被送往加法器以便对它们进行累加并存储在器中。在每个片段中形成一对的顶部和底部寄存器用来存储累加和的高精度值。但是对所有其它模式来说PT=0;因此,一个片断中每对顶部和底部寄存器的内容首先被加和右移,然后乘以系数。因此,来自数据通路控制FSM的适当的控制信号允许根据滤波模式有不同的算术操作顺序:在PT模式中先乘后加,否则先加后乘。
因此,可以实现本发明的多种实施方案来提供有多种滤波模式硬件可重配置数字滤波器,滤波模式包括从(但并不局限于)多相位直接、多相位转置、FIR 11-拍和FIR 12-拍组成的的集合所选取的组合。上述不同实施方案仅仅通过说明而提供的,不能理解为限制本发明。根据上面的论述和说明,本领域的专家应该能够认识到可以在不必严格遵循这里所说明和描述的示例性实施方案和应用的情况下对本发明做出多种更改和变动。这些更改和变动不能偏离下面的权利要求中所阐明的本发明的真实精神和范围。

Claims (13)

1.一种有多个滤波模式的硬件可重配置数字滤波器,包括:
适用于处理与输入数据对应的数据的逻辑电路(100),该逻辑电路包括一个X*Y的寄存器阵列(112),该阵列使用线性排列的寄存器支持至少一种第一滤波模式,使用二维阵列排列的寄存器支持至少一种第二滤波模式,其中每个X和Y至少为2;
计算电路(114),适用于响应逻辑电路执行计算,包括至少Y个乘法逻辑电路和至少Y个加法逻辑电路;和
模式选择电路(110),适用于在多种滤波模式之间切换数字滤波器。
2.权利要求1中的硬件可重配置数字滤波器,其中逻辑电路和计算电路是可配置的,响应模式选择电路执行下列滤波模式中的至少两种:多相位直接、多相位转置、有限脉冲响应11-拍以及有限脉冲响应12-拍。
3.权利要求1的硬件可重配置数字滤波器,其中逻辑电路和计算电路是可重新配置以下列滤波模式之一进行操作:多相位直接滤波模式、多相位转置滤波模式和FIR滤波模式。
4.权利要求3的硬件-可重配置数字滤波器,其中模式选择电路适用于在多相位转置滤波模式和另一种滤波模式之间切换数字滤波器。
5.权利要求1的硬件-可重配置数字滤波器,其中逻辑电路和计算电路可配置用来支持保存并装载上下文切换的视频数据并在多个长输入行之间来回切换。
6.权利要求1的硬件-可重配置数字滤波器,其中阵列中的多个寄存器被调整成沿着Y寄存器的排列定义的坐标轴方向上划分成片断的电路。
7.权利要求1的硬件-可重配置数字滤波器,其中阵列中第一组多个寄存器中的每个寄存器都被调整为沿着由Y寄存器的队列定义的坐标轴方向上第一个划分成片断的电路,阵列中第二组多个寄存器中的每一个被调整为沿着由Y寄存器的队列定义的坐标轴方向上第二个划分成片断的电路。
8.权利要求1的硬件-可重配置数字滤波器,其中对于X*Y的寄存器阵列(112)来讲Y大于等于X,所述逻辑电路适用于处理和镜像对应于与视频图像段中选中的目标结点对应的数据点有关的滤波器输入的数据,所述模式选择电路适用于通过配置逻辑电路和计算电路来控制数字滤波器为多相位转置滤波模式以便用线性阵列中的寄存器处理数据,以及通过配置逻辑电路和计算电路来控制数字滤波器为另一种滤波模式以便用非线性阵列中的寄存器处理数据。
9.权利要求8中的硬件-可重配置数字滤波器,其中阵列中的多个寄存器被调整成片断的电路。
10.权利要求8中的硬件-可重配置数字滤波器,其中阵列中的多个寄存器被调整成沿着由Y寄存器的队列定义的坐标轴方向上的划分成片断的电路。
11.权利要求8中的硬件-可重配置数字滤波器,其中阵列中的第一组多个寄存器中的每个寄存器都被调整为沿着由Y寄存器的队列定义的坐标轴方向上的第一组划分成片断的电路,阵列中的第二组多个寄存器中的每个寄存器都被调整为沿着由Y寄存器的队列定义的坐标轴方向上的第二组划分成片断的电路。
12.权利要求8中的硬件-可重配置数字滤波器,其中X等于2,Y不小于6,而且其中的多种滤波模式包括多相位转置滤波模式、多相位直接滤波模式和两种FIR滤波模式,其中两种FIR滤波模式中的一种FIR滤波模式比另一种包括更多拍。
13.权利要求12的硬件-可重配置数字滤波器,其中一种FIR滤波模式包括12拍。
CNB028019768A 2001-05-31 2002-05-28 带有多种滤波模式的可重配置数字滤波器 Expired - Fee Related CN100559713C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/871,198 2001-05-31
US09/871,198 US6963890B2 (en) 2001-05-31 2001-05-31 Reconfigurable digital filter having multiple filtering modes

Publications (2)

Publication Number Publication Date
CN1463490A CN1463490A (zh) 2003-12-24
CN100559713C true CN100559713C (zh) 2009-11-11

Family

ID=25356924

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028019768A Expired - Fee Related CN100559713C (zh) 2001-05-31 2002-05-28 带有多种滤波模式的可重配置数字滤波器

Country Status (8)

Country Link
US (1) US6963890B2 (zh)
EP (1) EP1400016B1 (zh)
JP (1) JP4307987B2 (zh)
KR (1) KR100901073B1 (zh)
CN (1) CN100559713C (zh)
AT (1) ATE517466T1 (zh)
TW (1) TWI228664B (zh)
WO (1) WO2002097986A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166598A (zh) * 2013-03-01 2013-06-19 华为技术有限公司 数字滤波器及其配置方法、电子设备及无线通信系统

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7975021B2 (en) 2000-10-23 2011-07-05 Clearplay, Inc. Method and user interface for downloading audio and video content filters to a media player
US6889383B1 (en) 2000-10-23 2005-05-03 Clearplay, Inc. Delivery of navigation data for playback of audio and video content
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
US7624204B2 (en) * 2001-03-22 2009-11-24 Nvidia Corporation Input/output controller node in an adaptable computing environment
US7433909B2 (en) * 2002-06-25 2008-10-07 Nvidia Corporation Processing architecture for a reconfigurable arithmetic node
US7962716B2 (en) 2001-03-22 2011-06-14 Qst Holdings, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7752419B1 (en) 2001-03-22 2010-07-06 Qst Holdings, Llc Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
US6577678B2 (en) 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US20030103166A1 (en) * 2001-11-21 2003-06-05 Macinnis Alexander G. Method and apparatus for vertical compression and de-compression of progressive video data
US8412915B2 (en) * 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US6986021B2 (en) 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US7215701B2 (en) 2001-12-12 2007-05-08 Sharad Sambhwani Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US20030108012A1 (en) * 2001-12-12 2003-06-12 Quicksilver Technology, Inc. Method and system for detecting and identifying scrambling codes
US7403981B2 (en) * 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
JP3490078B2 (ja) * 2002-05-10 2004-01-26 沖電気工業株式会社 ベースバンド信号受信回路及びワード検出回路
US7660984B1 (en) 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
US7567296B2 (en) * 2002-06-27 2009-07-28 Thomson Licensing Method and system for detecting and performing automatic bank switching for a filter coefficient ram
CN1672327B (zh) * 2002-07-31 2012-12-19 三叉微系统(远东)有限公司 数据处理电路
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
US7353243B2 (en) * 2002-10-22 2008-04-01 Nvidia Corporation Reconfigurable filter node for an adaptive computing machine
US7937591B1 (en) 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US8276135B2 (en) * 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US7225301B2 (en) * 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
FR2849330A1 (fr) * 2002-12-18 2004-06-25 Koninkl Philips Electronics Nv Convertisseur numerique de frequence d'echantillonnage
EP1620944B1 (en) * 2003-04-29 2007-10-17 Nxp B.V. Digital filter configuration
US7274403B2 (en) * 2004-01-30 2007-09-25 Broadcom Corporation Motion adaptive deinterlacer with integrated dynamic format change filter
US7002940B2 (en) * 2004-03-12 2006-02-21 Freescale Semiconductor, Inc. Multiple-stage filtering device and method
US7320064B2 (en) 2004-07-23 2008-01-15 Honeywell International Inc. Reconfigurable computing architecture for space applications
DE102004036546A1 (de) * 2004-07-28 2006-03-23 Infineon Technologies Ag Integrierter Halbleiterspeicher
MX2007013005A (es) * 2005-04-18 2008-01-16 Clearplay Inc Aparato, sistema y metodo para asociar uno o mas archivos de filtro con una presentacion multimedia particular.
US7606851B2 (en) * 2005-08-10 2009-10-20 Lattice Semiconductor Corporation Correlator having user-defined processing
US20070046781A1 (en) * 2005-08-29 2007-03-01 Honeywell International Inc. Systems and methods for processing digital video data
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US7590676B1 (en) * 2005-09-27 2009-09-15 Altera Corporation Programmable logic device with specialized multiplier blocks
US7477323B2 (en) * 2005-11-07 2009-01-13 Kolorific, Inc. Method and system for digital image magnification and reduction
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
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
JP4782591B2 (ja) * 2006-03-10 2011-09-28 富士通セミコンダクター株式会社 リコンフィグラブル回路
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
JP2008021119A (ja) * 2006-07-13 2008-01-31 Neuro Solution Corp デジタルフィルタおよびこれを用いた画像処理装置
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
JP4866194B2 (ja) * 2006-09-29 2012-02-01 富士通セミコンダクター株式会社 集積回路及びリコンフィギュラブル回路の入力データ制御方法
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US20080182021A1 (en) * 2007-01-31 2008-07-31 Simka Harsono S Continuous ultra-thin copper film formed using a low thermal budget
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
CN101072019B (zh) * 2007-04-19 2010-05-19 华为技术有限公司 一种滤波器及其滤波方法
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8280940B2 (en) * 2007-10-22 2012-10-02 Himax Technologies Limited Data processing apparatus with shadow register and method thereof
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
FR2935850B1 (fr) * 2008-09-05 2011-04-01 Commissariat Energie Atomique Dispositif de filtrage a structure hierarchique et dispositif de filtrage reconfigurable
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
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
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US20100251322A1 (en) * 2009-03-30 2010-09-30 Raymond Palinkas Upstream bandwidth conditioning device
US9330282B2 (en) * 2009-06-10 2016-05-03 Microsoft Technology Licensing, Llc Instruction cards for storage devices
US8321956B2 (en) 2009-06-17 2012-11-27 Microsoft Corporation Remote access control of storage devices
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
WO2011105880A2 (ko) * 2010-02-26 2011-09-01 한양대학교 산학협력단 개선된 감쇠 특성을 가지는 디지털 필터
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
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
US8612503B2 (en) * 2010-03-16 2013-12-17 Integrated Device Technology, Inc. Methods and apparatuses for flexible and high performance digital signal processing
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
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
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 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
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
KR101920719B1 (ko) 2012-11-19 2019-02-13 삼성전자주식회사 논리 장치, 논리 장치를 포함하는 디지털 필터 및 논리 장치를 제어하는 방법
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
JP2015173052A (ja) * 2014-03-12 2015-10-01 日新イオン機器株式会社 イオン注入装置及びイオン注入方法
KR102192991B1 (ko) 2014-04-23 2020-12-18 삼성전자주식회사 가변적인 디지털 필터를 포함하는 아날로그-디지털 컨버터 및 이를 포함하는 이미지 센서
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10083007B2 (en) * 2016-09-15 2018-09-25 Altera Corporation Fast filtering
US10572985B2 (en) * 2016-11-18 2020-02-25 Canon Kabushiki Kaisha Image processing circuit with multipliers allocated based on filter coefficients
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
CN107218988A (zh) * 2017-06-22 2017-09-29 中山天业智能装备科技有限公司 一种快速高精度的称重仪及其检测方法
CN108572266B (zh) * 2017-12-11 2020-09-15 深圳市鼎阳科技股份有限公司 一种波形发生装置
US10581407B2 (en) * 2018-05-08 2020-03-03 The Boeing Company Scalable fir filter
CN108683414B (zh) * 2018-07-23 2023-09-22 上海艾为电子技术股份有限公司 通用型滤波器
CN112532207B (zh) * 2020-11-19 2024-01-26 浙江集速合芯科技有限公司 一种片上可变滤波器快速调谐的方法
US11336367B1 (en) * 2021-03-12 2022-05-17 Iena Corporation Low-power pre-compensation of linear and nonlinear transmitter effects in narrow-spectrum optical signals
CN117112030B (zh) * 2023-09-12 2024-03-26 南京微盟电子有限公司 一种寄存器组地址自动累加电路及应用方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206821A (en) * 1991-07-01 1993-04-27 Harris Corporation Decimation circuit employing multiple memory data shifting section and multiple arithmetic logic unit section
US5339264A (en) * 1992-07-27 1994-08-16 Tektronix, Inc. Symmetric transposed FIR digital filter
DE69708841T2 (de) 1996-10-31 2002-08-22 Koninkl Philips Electronics Nv Abtastratenumwandlung
FR2776093A1 (fr) * 1998-03-10 1999-09-17 Philips Electronics Nv Circuit processeur programmable muni d'une memoire reconfigurable, pour realiser un filtre numerique
US6260053B1 (en) * 1998-12-09 2001-07-10 Cirrus Logic, Inc. Efficient and scalable FIR filter architecture for decimation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166598A (zh) * 2013-03-01 2013-06-19 华为技术有限公司 数字滤波器及其配置方法、电子设备及无线通信系统
CN103166598B (zh) * 2013-03-01 2016-06-08 华为技术有限公司 数字滤波器及其配置方法、电子设备及无线通信系统

Also Published As

Publication number Publication date
WO2002097986A2 (en) 2002-12-05
CN1463490A (zh) 2003-12-24
US20020184275A1 (en) 2002-12-05
US6963890B2 (en) 2005-11-08
ATE517466T1 (de) 2011-08-15
TWI228664B (en) 2005-03-01
KR100901073B1 (ko) 2009-06-03
EP1400016B1 (en) 2011-07-20
EP1400016A2 (en) 2004-03-24
JP4307987B2 (ja) 2009-08-05
WO2002097986A3 (en) 2003-04-10
KR20030045017A (ko) 2003-06-09
JP2004534446A (ja) 2004-11-11

Similar Documents

Publication Publication Date Title
CN100559713C (zh) 带有多种滤波模式的可重配置数字滤波器
JP4982080B2 (ja) デジタルフィルタ
US9323716B2 (en) Hierarchical reconfigurable computer architecture
US7694084B2 (en) Ultra low power ASIP architecture
US20050204118A1 (en) Method for inter-cluster communication that employs register permutation
US6128724A (en) Computation using codes for controlling configurable computational circuit
JP2001236496A (ja) 絶対差分の合計および対称濾波用の再構成可能simdコプロセッサ構造
JPH11212786A (ja) レジスタベースデータ処理のためのデータパスおよび方法
JPH11163680A (ja) フィルタの構造および方法
JP2006099719A (ja) 処理装置
Das et al. A framework for post-silicon realization of arbitrary instruction extensions on reconfigurable data-paths
EP1606823B1 (en) Two-dimensional data memory
EP1104559A1 (en) Data processor with an arithmetic logic unit and a stack
JPWO2006011232A1 (ja) リコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法
US7340591B1 (en) Providing parallel operand functions using register file and extra path storage
US5563812A (en) Filter device including analog and digital circuitry
US5931892A (en) Enhanced adaptive filtering technique
JP2009059346A (ja) 複数のマルチモードプロセッサに接続するための方法および装置
EP2000922A1 (en) Processor array system having function for data reallocation between high-speed pe
CN101727434A (zh) 一种特定应用算法专用集成电路结构
CN101253475A (zh) 可编程的数字滤波器
CN102112965B (zh) 运算处理装置
US6510444B2 (en) Data processor architecture and instruction format for increased efficiency
JP5197389B2 (ja) 動的再構成可能な積和演算装置および動的再構成可能プロセッサ
JP4735962B2 (ja) パイプライン演算処理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: ROYAL PHILIPS ELECTRONICS CO., LTD.

Effective date: 20070810

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20070810

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklike Philips Electronics N. V.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: TRIGEMINAL MICROSYSTEMS(FAR EAST) CO., LTD.

Free format text: FORMER OWNER: KONINKL PHILIPS ELECTRONICS NV

Effective date: 20100925

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20100925

Address after: Grand Cayman, Cayman Islands

Patentee after: Trident Microsystems (Far East) Ltd.

Address before: Holland Ian Deho Finn

Patentee before: Koninkl Philips Electronics NV

ASS Succession or assignment of patent right

Owner name: ENTROPY COMMUNICATION CO., LTD.

Free format text: FORMER OWNER: TRIDENT MICROSYSTEMS (FAR EAST) LTD.

Effective date: 20130218

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130218

Address after: American California

Patentee after: Entropic Communications, Inc.

Address before: Grand Cayman, Cayman Islands

Patentee before: Trident Microsystems (Far East) Ltd.

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

Granted publication date: 20091111

Termination date: 20140528