组合的或分别的数据和控制网状互连网络的分配的制作方法

文档序号:6655231阅读:192来源:国知局
专利名称:组合的或分别的数据和控制网状互连网络的分配的制作方法
领域本发明总地涉及可重配置电路,并且更具体地,涉及编程可重配置电路。
背景一些集成电路是可编程或者可配置的。实施例包括微处理器和现场可编程门阵列。随着可编程和可配置集成电路变越复杂,编程和配置它们的任务也变得更复杂。
附图简要说明

图1示出可重配置电路的框图;图2根据本发明的各个实施方案示出电子系统的图;以及图3和4根据本发明的各个实施方案示出流程图。
实施方案描述在以下详细的描述中,将参照通过图示方式显示可以在其中实施本发明的实施方案的附图。这些实施方案以足够详细的方式被描述,以使本领域的技术人员能够实施本发明。应当可以理解,本发明的各种实施方案尽管不同,但并不必互相排斥。例如,结合一个实施方案一起描述的特定的特征、结构或者特性可以在其他的实施方案中实现,而不会背离本发明的精神和范围。另外,应当可以理解,在每个所公开的实施方案中单个部件的位置和排列可以被修改,而不会背离本发明的精神和范围。因此,以下的详细描述不应作为限制性的,并且仅仅以所附的权利要求书来定义本发明的范围,与赋予权利要求书的整个等同物范围一起来恰当地解释本发明的范围。在附图中,同样的数字在所有几个视图中表示同样或相似的功能性。
图1示出可重配置电路的框图。可重配置电路100包括多个处理部件(ProcessingElement,PE)和多个互连的路由器(Router,R)。在一些实施方案中,每个PE被耦合到单个路由器,并且所述路由器以环状(toroidal)排列耦合在一起。例如,如图1中所示,PE102被耦合到路由器112,而PE 104被耦合到路由器114。又例如,如图1中所示,路由器112和114通过路由器116、118和120耦合到一起,并且还通过互连122(被图示为在R 112左边和R 114右边)直接耦合在一起。可重配置电路100中的各个路由器(和PE)被排列成具有最近相邻互连(nearest-neighbor interconnect)的行与列,从而每行路由器被互连成环形,并且每列路由器被互连成环形。在一些实施方案中,每个路由器被耦合到单个PE,并且在其他的实施方案中,每个路由器被耦合到不止一个PE。
在本发明的一些实施方案中,可配置电路100可以具有包括各种不同类型的PE的“异构体系结构(heterogeneous architecture)”。例如,PE 102可以包括可被配置为执行特定逻辑功能的可编程逻辑阵列,而PE 104可以包括可用机器指令编程的处理器核心(core)。在一些实施方案中,一些PE可以实现各种类型的“微码加速器”(micro-coded accelerators,MCA)。MCA可被用于加速特定的功能,例如过滤数据,执行数字信号处理(DSP)任务,或者卷积编码或解码。一般而言,具有多种体系结构的任何数量的PE可以被包括在可配置电路100内。
如图1中所示,PE由双网状互连网络(dual mesh interconnect network)连接。所述双网状互连网络包括第一网孔(mesh)或“面(plane)”(以在PE之间的实线箭头示出)和第二网孔或“面”(以在PE之间的虚线箭头示出)。在一些实施方案中,所述第一网孔被用于PE之间的数据通信,第二网孔被用于PE之间的控制通信。在其他的实施方案中,在双网状互连网络中的所述面中的一个或两者在控制和数据之间被共享。例如,在一些实施方案中,控制和数据面可以被组合在同一网孔上,部分是由于数据在网络上通信所根据的协议可以支持带内信令(in-band signaling)。可替换地,控制面可以与数据面分开(separate from),并作为专用的控制和配置网孔(control and configuration mesh,CCM)。如下面进一步描述的,可以在控制和数据之间动态分配所述双网状互连。动态分配可以由处理部件在可配置电路100内执行,或者动态分配可以由可配置电路100外部的处理器执行。
在一些实施方案中,路由器使用信息分组(packet)来彼此互相通信以及与PE进行通信。例如,如果PE 102有信息要发送给PE 104,它可以发送数据分组到路由器112,路由器112把所述分组路由到路由器114以递送到PE 104。分组可以包括控制信息或数据,并且可以为任意大小。在一些实施方案中,使用双网状互连网络的一个面在PE之间路由数据分组,而使用不同的面(a separate plane)在PE之间路由控制分组。在其他的实施方案中,在同一个面上在PE之间路由数据分组和控制分组。在一些实施方案中,PE以这样的方式可编程,即允许网孔在数据和控制之间的动态分配。通过编程或配置PE,所述网孔可以在数据和控制之间被分配或重新分配。
如图1所示,可配置电路100包括输入/输出(IO)部件130和132。输入/输出部件130和132可以被可配置电路100用于与其他的电路进行通信。例如,IO部件130可以被用于与主机处理器进行通信,而IO部件132可以用于与诸如射频(RF)接收机或发射机的模拟前端进行通信。任何数量的IO部件可以被包括在可配置电路100中,并且它们的体系结构可以有很大的不同。正如PE,IO可以是可编程或者可配置的,并且基于它们的基础体系结构可以具有不同水平的可配置性。
可配置电路100可以通过经由IO部件接收配置分组来进行配置。例如,IO部件130可以接收包括用于各种PE和IO的配置信息的配置分组,并且所述配置分组可以被路由到适当的部件。可配置电路100也可以通过经由专用编程接口接收配置信息来进行配置。例如,诸如串行扫描链(serial scan chain)的串行接口可以被用于对可配置电路100进行编程。
可配置电路100接收的配置分组可以包括用于双网状互连网络的分配信息。例如,在一些实施方案中,配置分组可以包括PE编程信息,以把双网状互连网络的一个面分配为数据通信,并且把另一个面分配为控制通信。在其他的实施方案中,配置分组可以包括PE编程信息,以将一个或两个面分配为在数据和控制通信之间被共享。
在一些实施方案中,可配置电路100内的PE或者IO可以作为接收配置分组并在双网状互连网络中分配资源的处理部件。例如,IO 130可以包括作为主机接口节点的处理器。所述主机接口节点可以在双网状互连网络中接收配置分组并通过对在双网状互连网络中的各种部件进行编程来分配资源。
本发明的各种方法实施方案可以由可配置电路100内的处理部件执行。例如,以下参照图4描述的各种方法可以由可配置电路100内的处理器执行。
可配置电路100可以具有很多用途。例如,可配置电路100可以被配置为实例化通信系统中的特定物理层(Physical Layer,PHY)实现,或者被配置为实例化通信系统中的特定介质访问控制层(Media Access Control,MAC)实现。例如,尽管这不是本发明的限制,可配置电路100可以被配置为遵循诸如ANSI/IEEE标准802.11,1999版的无线网络标准进行操作。使用在这里,术语“802.11”指任何过去、现在、或未来的IEEE 802.11标准,包括但不限于1999版。
各种PHY和MAC配置可以从组合的数据和控制面受益。例如,具有高带宽数据要求和更灵活的延时约束(latency constraints)的应用可以把两个网状网络都用于数据和控制来提高总体带宽。可以从组合的数据和控制面受益的PHY实现的实施例包括宽带码分多址(Wideband Code Division Multiple Access,WCDMA)基站PHY,所述宽带码分多址基站PHY可以具有相对宽松的延时约束,但接收来自多个天线的进入数据。WCDMA被引作实施例,并且本发明在此方面不受限制。
各种PHY和MAC配置可以从分别的(separate)数据和控制面受益。例如,具有严格的延时约束的应用可以得益于分别的数据和控制面,允许规则、确定的数据流。具有严格的延时约束要求的PHY实现的实施例可以包括遵循IEEE 802.11标准进行操作的正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)实现。又例如,具有高控制开销(overhead)或具有快速重新配置能力的应用可以从用于控制和数据的分别的网状结构受益。分别的控制和配置网状(CCM)网络可以允许部件被重新配置而不影响正常的网络数据流量。除此以外,它可以允许时间关键的(time-critical)控制功能被直接传输到每个部件。
在一些实施方案中,可以存在多个用于可配置电路100的配置,并且从一个配置改变到另一个配置可以允许通信系统从一个PHY快速切换到另一个PHY,从一个MAC切换到另一个MAC,或在多个配置的任意组合之间切换。此外,各种配置可以以不同方式使用双网状互连网络。在一些实施方案中,当从一个配置切换到另一个配置时,双网状互连网络可以在数据和控制之间被重新分配。此外,在一些实施方案中,双网状互连网络可以被重新分配而无需完全改变配置。
在一些实施方案中,可配置电路100是集成电路的部分。在这些实施方案的一些中,可配置电路100被包括在集成电路管芯(die)上,所述集成电路管芯包括可配置电路100以外的电路。例如,可配置电路100可以被包括在具有处理器、存储器或任何其他适当电路的集成电路管芯上。在一些实施方案中,可配置电路100与射频(RF)电路共存于同一集成电路管芯上,以提高通信设备的集成度。此外,在一些实施方案中,可配置电路100横跨(span)多个集成电路管芯。
图2示出电子系统的框图。系统200包括处理器210、存储器220、可配置电路100、RF接口240和天线242。在一些实施方案中,系统200可以是用来开发供在可配置电路100中使用的配置的计算机系统。例如,系统200可以是个人计算机、工作站、专用开发站或任何其他能够为可配置电路100创建配置的计算设备。在其他实施方案中,系统200可以是在可配置电路100已经用特定配置被编程后对其加以利用的“最终使用(end-use)”系统。此外,在一些实施方案中,系统200可以是能够开发配置并加以使用的系统。
在一些实施方案中,处理器210可以这样的处理器,即它可以执行下面参照图3和4描述的方法。例如,处理器210可以执行把设计描述转换成用于可配置电路100的配置的方法,并且处理器210还可以执行对可配置电路100进行配置的方法。用于可配置电路100的配置可以被储存在存储器220中,并且当对可配置电路100进行配置时,处理器210可以从存储器220读取所述配置。此外,当把设计描述转换成用于可配置电路100的配置时,处理器210可以在存储器220中储存一个或更多个配置。处理器310代表任意类型的处理器,包括但不限于,微处理器、微控制器、数字信号处理器、个人计算机、工作站等等。
在一些实施方案中,系统200可以是通信系统,并且处理器210可以是在所述通信系统内执行各种任务的计算设备。例如,系统200可以是给计算机提供无线连网能力的系统。在这些实施方案中,处理器210可以实现设备驱动器(driver)的全部或一部分,或者可以实现MAC的全部或一部分。也是在这些实施方案中,可配置电路100可以实现一个或更多个针对无线网络连通性(connectivity)的协议。在一些实施方案中,可配置电路100可以同时实现多个协议,并且在其他实施方案中,处理器210可以通过重新配置可配置电路100来改变使用中的协议。此外,处理器210可以通过重新配置可配置电路100的一部分来改变使用中的协议的行为。
存储器220代表包括机器可读介质的制品。例如,存储器220代表以下的任何一种或更多种硬盘、软盘、随机访问存储器(RAM)、动态随机访问存储器(DRAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、闪存存储器、CDROM或任何其他类型的制品,所述其他类型的制品包括为诸如处理器210的机器可读的介质。在一些实施方案中,存储器220可以储存用于完成本发明的各种方法实施方案的执行的指令。此外,在一些实施方案中,存储器220可以储存一个或更多个用于可配置电路100的配置。
在一些实施方案的操作中,处理器210从存储器220读取指令和数据,并响应于此执行动作。例如,当处理器210从存储器220读取指令时,处理器210可以执行本发明的各种方法实施方案。
天线242可以是定向天线或全向天线。例如,在一些实施方案中,天线242可以是诸如双极天线或四分之一波长天线的全向天线。又例如,在一些实施方案中,天线242可以是诸如抛物面天线,或八木天线(Yagi antenna)的定向天线。在一些实施方案中,天线242被省略,而在其他实施方案中,天线242包括多个天线或多个天线部件。
在一些实施方案中,由天线242发射或接收的RF信号可以对应于语音信号、数据信号或者它们的任意组合。例如,在一些实施方案中,可配置电路100可以实现针对无线局域网接口、蜂窝电话接口、全球定位系统(GPS)接口等的协议。在这些不同的实施方案中,RF接口240可以针对可配置电路100实现的协议以适当的频率进行操作。RF接口240可以包括任意合适的组件,包括放大器、滤波器、混合器(mixer)等等。在一些实施方案中,RF接口240被省略。
图3根据本发明的各种实施方案示出流程图。在一些实施方案中,方法300或其部分由电子系统执行,或者由电子系统协同人的动作来执行。在其他实施方案中,方法300的全部或者一部分由控制电路或处理器执行,其实施方案在各幅附图中示出。方法300不受执行所述方法的特定类型的装置、软件部件(software element)或人的限制。方法300中的各项动作可以按所介绍的顺序执行,或可以按不同的顺序执行。此外,在一些实施方案中,图3中所列出的一些动作从方法300中省略。
方法300被视为以方框310开始,在方框310处,设计描述被翻译成用于多个异构处理部件(PE)的配置。例如,代表用于可配置电路(例如可配置电路100(图1,2))的最终配置的设计描述可以被翻译成用于例如图1中所示的那些PE的配置。在一些实施方案中,翻译设计描述的操作可以包括很多操作。例如,设计描述可以是高级语言的形式,并且翻译设计描述的操作可以包括分片(partitioning)、解析、编组(grouping)、放置等等。在其他实施方案中,翻译设计描述的操作可以包括很少的操作。例如,设计描述可以用中间表示(intermediate representation)来表示,并且翻译设计描述的操作可以包括为各种PE生成代码。
在一些实施方案中,在方框310中由设计描述所指明的配置可以呈特定PHY、MAC或它们的组合要实现的算法的形式,所述算法可以呈过程语言或面向对象语言的形式,例如C或C++,或者可以以高级语言的专门或“程式化的(stylized)”版本编写。
在一些实施方案中,可以指明约束以指导设计描述的翻译。约束可以包括完成的配置应该满足的最低要求,例如延时和吞吐量约束。在一些实施方案中,可以为各种约束指派权重(weight),从而在该设计描述的翻译期间对各种约束给与不同程度的考虑(deference)。在一些实施方案中,可以将各种约束列作要求或偏好(preference),并且在一些实施方案中,可以将约束列作参数值的范围。在一些实施方案中,约束可以不是绝对的。例如,如果目标可重配置电路包括与分组通信的数据路径(path),则通过部分所述设计测得的延时可能不是固定值,而取而代之可以是一个具有统计变化的值。
在320处,多个网状互连网络在数据和控制之间被分配。关于这点,“分配”是指确定可配置电路内的网状互连网络的哪部分用于控制信息以及哪部分用于数据信息。如上所述,分别的网孔可以被分配为提供分别的数据面和控制面,或者一个或更多网孔可以被分配为提供组合的数据和控制面。
在一些实施方案中,“分配(allocating)”的一个结果包括生成用于PE的配置信息。例如,一般而言,PE可以在图1中所示的网孔互连之一或两者上发送或接收数据或控制信息。通过生成用于PE的配置信息,方法300可以确定所述PE关于网状互连使用的行为。
方法300可以测量所述配置的“质量”,并且重复方框310或320中所列的全部或部分动作。例如,当前配置的质量可以由在硬件或软件中实现的“剖析器(profiler)”来测量。在一些实施方案中,剖析器可以允许信息的聚集,所述信息可以与约束相比较,以确定当前配置的质量。例如,剖析器可以被用于确定当前配置是否可以满足延时或吞吐量要求。如果约束未被满足,或者如果它们被满足的余量(margin)不合乎要求,则方框310或320的部分可以被重复。例如,设计可以以不同的方式被放置或路由,或所述网状互连可以以不同的方式被分配,或可以对所述配置进行任意组合的变化。评价(evaluation)可以包括计算成本函数,所述函数考虑包括约束的很多可能的参数。
当约束被满足时,完成的配置从320被输出。在一些实施方案中,所述完成的配置呈文件的形式,所述文件指明诸如可配置电路100(图1)的可配置电路的配置。在一些实施方案中,所述完成的配置呈配置分组的形式,所述配置分组被载入诸如可配置电路100的可配置电路。所述完成的配置所采用的形式不是本发明的限制。
在方法300的330处,配置文件被编写。在一些实施方案中,所述文件可以包括用于PE的配置信息,所述配置信息包括控制一个或更多个网状互连网络的分配的信息。如果不止一个设计描述要被翻译,那么方框340导致方法300翻译另一个设计。否则,方法300在350处结束。
当方法300完成时,存在一个或更多个配置文件,其中每个配置文件指明用于一个可配置电路的配置。每个配置可以以不同方式分配所述双网状互连网络。例如,一个配置文件可以具有分别的控制和数据面,并且另一个协议文件可以具有组合的控制和数据面。
图4根据本发明的各种实施方案示出流程图。在一些实施方案中,方法400或者它的部分由电子系统、控制电路、处理器、可配置电路或处理部件(PE)执行,其实施方案在各幅附图中示出。方法400不受执行所述方法的特定类型的装置或软件部件限制。方法400中的各项动作可以按照所介绍的顺序执行,或者可以按照不同的顺序执行。此外,在一些实施方案中,图4中所列出的一些动作从方法400中省略。
方法400被示为以方框410开始,在方框410处,配置文件从存储器被读取。配置文件可以由电子系统中的处理器读取,或者可以由可配置电路内的部件读取。例如,诸如处理器210(图2)的处理器可以读取配置文件,或者处理部件或诸如IO 130(图1)的输入/输出部件可以读取配置文件。所述存储器可以是诸如系统200(图2)的电子系统内的存储器,或者可以是可配置电路内专用的存储器。
在420处,异构的可重配置设备中的多个处理部件被配置。在一些实施方案中,这对应于电子系统中的处理器把配置分组发送到诸如可配置电路100(图1,2)的可配置电路。在其他的实施方案中,这对应于可配置电路内的部件接收配置信息并把它分发到适当的处理部件。
在一些实施方案中,在420处,仅仅异构的可重配置设备的一部分被配置。例如,可重配置设备可以同时实现多个无线网络协议,并且所述多个协议中比全部协议少的协议可以被改变而其他协议保留。当以这种方式配置设备时,配置信息可以被发送穿过可重配置设备内的专用控制网而不扰乱数据流量。通过采用(having)分别的数据和控制面,方框420中的动作可以得到执行而对数据带宽没有不利影响。同样在一些实施方案中,配置信息可以用组合的数据和控制面被发送到异构的可重配置设备的一部分。在这些实施方案中,控制信息可以利用在其他情况下可供数据流量使用的带宽。
在430处,在异构的可重配置设备中多个网状网络被分配用于数据和控制。关于这点,“分配(allocating)”是指把配置信息发送到PE以影响它们关于网状互连的使用的行为。例如,如果配置文件包括用于配置分别的数据和控制面的配置信息,则各个处理部件可以以这样的方式配置,即分配一个网孔用于控制通信,并且分配另一个网孔用于数据通信。又例如,如果配置文件包括用于配置共享的数据和控制面的配置信息,各个处理部件可以以这样的方式配置,即分配一个或更多个网孔为数据和控制通信所共享。
尽管已经结合某些实施方案描述了本发明,但是可以理解,正如本领域技术人员所能容易理解的那样,可以进行修改和变化而不背离本发明的精神和范围。这些修改和变化被视为落入本发明和所附权利要求书的范围内。
权利要求
1.一种方法,包括在异构的可重配置设备中分配多个网状网络用于数据和控制。
2.如权利要求1所述的方法,还包括从存储器读取协议文件;以及配置多个异构处理部件;其中所述协议文件包括用于所述多个网状网络的分配信息。
3.如权利要求1所述的方法,其中所述多个网状网络包括第一面和第二面,并且,分配操作包括把所述第一面专用于控制并把所述第二面专用于数据。
4.如权利要求3所述的方法,还包括将所述第一面重新分配为在数据和控制之间被共享。
5.如权利要求1所述的方法,其中所述多个网状网络包括第一面和第二面,并且分配操作包括将所述第一面分配为在数据和控制之间被共享。
6.如权利要求1所述的方法,其中所述多个网状网络包括第一面和第二面,并且分配操作包括将第一面和第二面两者都分配为在数据和控制之间被共享。
7.一种方法,包括针对多个异构处理部件把设计描述翻译成配置;以及在数据和控制之间分配多个网状互连网络。
8.如权利要求7所述的方法,其中分配操作包括确定延时约束能否用共享的数据和控制网状网络来满足。
9.如权利要求7所述的方法,其中翻译和分配操作产生协议文件,所述方法还包括在存储器中储存所述协议文件。
10.如权利要求9所述的方法,还包括翻译第二个设计描述并执行第二次分配,产生第二个协议文件,并在存储器中储存所述第二个协议文件。
11.一种装置,包括保存机器可访问指令的介质,当所述指令被访问时,导致机器执行在异构的可重配置设备中分配多个网状网络用于数据和控制。
12.如权利要求11所述的装置,其中所述多个网状网络包括第一面和第二面,并且,分配操作包括把所述第一面专用于控制并把所述第二面专用于数据。
13.如权利要求12所述的装置,还包括将所述第一面重新分配为在数据和控制之间被共享。
14.如权利要求11所述的装置,其中所述多个网状网络包括第一面和第二面,并且分配操作包括将第一面分配为在数据和控制之间被共享。
15.一种装置,包括处理部件的异构网络;以及耦合到所述处理部件的异构网络的第一和第二网状网络,其中所述装置可被编程为把所述第一和第二网状网络用于数据和控制的任意组合。
16.如权利要求15所述的装置,还包括在数据和控制之间动态地分配所述第一和第二网状网络的处理器。
17.如权利要求15所述的装置,其中所述处理部件的异构网络可被配置为在所述第一和第二网状网络上使用信息分组进行通信。
18.如权利要求15所述的装置,其中所述处理部件的异构网络可被配置为把所述第一网状网络用于数据通信,并且把所述第二网状网络用于控制通信。
19.如权利要求18所述的装置,其中所述处理部件的异构网络可被配置为把所述第一网状网络用于数据通信,并且把所述第二网状网络用于数据和控制通信两者。
20.如权利要求18所述的装置,其中所述处理部件的异构网络可被配置为把所述第一和第二网状网络两者用于数据通信和控制通信两者。
21.一种装置,包括双网状互连网络;以及耦合到所述的双网状互连网络的多个处理部件,其中所述多个处理部件可被配置为把所述双网状互连网络用于数据和控制的任意组合。
22.如权利要求21所述的装置,还包括配置所述多个处理部件的处理器。
23.如权利要求21所述的装置,还包括耦合在所述双网状互连网络和所述多个处理部件之间的多个路由器。
24.如权利要求21所述的装置,其中所述双网状互连网络包括第一面和第二面,并且,所述多个处理部件可被配置为把所述第一面用于数据通信并把所述第二面用于控制通信。
25.如权利要求24所述的装置,其中所述多个处理部件可被配置为把所述第一面用于数据通信并且把所述第二面用于数据和控制通信两者。
26.如权利要求24所述的装置,其中所述多个处理部件可被配置为把所述第一和第二面两者用于数据和控制通信两者。
27.一种电子系统,包括天线;从所述天线接收通信信号的射频电路;以及耦合到所述射频电路的可重配置设备,所述可重配置设备包括双网状互连网络,以及耦合到所述双网状互连网络的多个处理部件,其中所述多个处理部件可被配置为把所述双网状互连网络用于数据和控制的任意组合。
28.如权利要求27所述的电子系统,还包括配置所述多个处理部件的处理器。
29.如权利要求27所述的电子系统,其中所述双网状互连网络包括第一面和第二面,并且,所述多个处理部件可被配置为把所述第一面用于数据通信并把所述第二面用于控制通信。
30.如权利要求29所述的电子系统,其中所述多个处理部件可被配置为把所述第一面用于数据通信并且把所述第二面用于数据和控制通信两者。
全文摘要
异构可配置电路中的双网状互连网络可以在数据通信和控制通信之间被分配。
文档编号G06F17/50GK1926549SQ200580006237
公开日2007年3月7日 申请日期2005年2月2日 优先权日2004年2月27日
发明者胡曼·霍纳里, I·陈, E·崔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1