CN116204488A - 射频芯片、算法重构方法及计算机可读存储介质 - Google Patents
射频芯片、算法重构方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116204488A CN116204488A CN202111449989.0A CN202111449989A CN116204488A CN 116204488 A CN116204488 A CN 116204488A CN 202111449989 A CN202111449989 A CN 202111449989A CN 116204488 A CN116204488 A CN 116204488A
- Authority
- CN
- China
- Prior art keywords
- unit
- units
- radio frequency
- processor
- frequency chip
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Transceivers (AREA)
Abstract
本申请涉及无线通信技术领域,公开了一种射频芯片、算法重构方法及计算机可读存储介质,射频芯片包括:配置接口、互联总线、处理器及至少两个运算单元,各运算单元具有不同的运算功能;配置接口与处理器连接,用于将接收到的路由信息和配置数据传输到处理器;其中,路由信息和配置数据根据射频芯片的目标计算功能确定;互联总线连通各运算单元,且与处理器连接,用于调整各运算单元间的输入和输出关系;运算单元与处理器连接,用于提供目标运算功能;处理器用于下发调整各运算单元路由连接的指令,为各运算单元分配配置数据。通过对运算单元运算功能及输入和输出关系进行灵活调整,使射频芯片能够满足多种算法的兼容需求,提高硬件资源的利用率。
Description
技术领域
本申请实施例涉及移动通信技术领域,特别涉及一种射频芯片、算法重构方法及计算机可读存储介质。
背景技术
随着通信技术的不断发展和进步,应用于射频芯片算法的数字预失真技术更新迭代较快,传统方案采用现场可编程门阵列(FPGA),或者完全使用定制化的芯片上专用的硬件逻辑电路来作为数字预失真算法的直接实现载体,实现特定的数学运算功能。但是,采用FPGA实现算法功能虽然具有了可编程的的功能,可以在后期算法提出新的数学运算模型后可以进行重新编程以满足需求,但是FPGA能效偏低,运算速度偏低,功耗较高,已渐渐不适用作为射频数字预失真算法的载体。在定制化芯片上采用专用的硬件逻辑电路作为直接实现载体能效较高,运算速度也足够快,但是定制化直接实现后运算单元仅支持固定的运算功能,不具备更新数学运算功能的可能,在射频算法更新换代后,定制化芯片无法兼容新的算法需求,灵活性不足,而重新开发芯片硬件又会造成人力、物力和时间成本的浪费。
当下的射频芯片在可重构计算技术的支持下虽然具备一定程度的数学运算改配能力,但是,目前的运算大都以规整的高密度并行运算为主,或者是更加偏通用型的可重构计算设计,单个计算单元兼容特定的一种数学运算功能,仍然会导致硬件资源利用率低效能低下的问题。
发明内容
本申请实施例的主要目的在于提出一种射频芯片、算法重构方法及计算机可读存储介质,通过对射频芯片中的运算单元提供的计算功能和输入输出间的连接关系进行灵活调整,满足新算法的兼容需求,兼顾硬件处理的高效性,提高硬件资源的利用率。
为实现上述目的,本申请实施例提供了一种射频芯片,包括:配置接口、互联总线、处理器及至少两个运算单元,各运算单元具有不同的运算功能;配置接口与处理器连接,配置接口用于接收路由信息和配置数据,并将路由信息和配置数据传输到处理器;其中,路由信息和配置数据根据射频芯片的目标计算功能确定;互联总线连通各运算单元,且与处理器连接,互联总线用于根据处理器的指令,调整各运算单元间的输入和输出关系;运算单元与处理器连接,运算单元用于根据处理器分配的配置数据,将运算功能配置为目标运算功能;处理器用于向互联总线下发调整各运算单元路由连接方式的指令,并向各运算单元发送分配好的配置数据。
为实现上述目的,本申请实施例还提出了一种算法重构方法,应用于射频芯片,射频芯片包含至少两个运算单元,各运算单元具有不同的运算功能,方法包括:通过配置接口获取路由信息和配置数据;其中,路由信息和配置数据根据射频芯片的目标计算功能确定;根据路由信息,通过互联总线调整各运算单元间的输入和输出关系,并根据配置数据,向各运算单元下发分配好的配置数据,供各运算单元根据接收到的配置数据将运算功能配置为目标运算功能。
为实现上述目的,本申请实施例还提出了计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现如上的算法重构方法。
本申请实施例提供的射频芯片,在投入使用后,通过配置接口接收外部软件根据射频芯片需要提供的目标计算功能确定出的配置数据和路由信息,然后由处理器根据路由信息通过互联总线调整各运算单元间的输入和输出关系,并为运算单元分配配置数据,将各运算单元的运算功能配置为目标运算功能,从而使得射频芯片能够根据实际需要,将自身兼容的计算功能配置为目标计算功能。通过获取根据目标计算功能生成的路由信息和配置数据,对射频芯片中的多个运算单元的路由连接方式和提供的运算功能进行改配,利用软件自定义的方式使得各运算单元提供不同的运算功能,结合不同的输入和输出关系,使得射频芯片能够满足多种算法的算法兼容需求,从而在保证射频芯片算法兼容能力的同时兼顾硬件处理的高效能,提高硬件资源的利用率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本申请实施例中的一种射频芯片的结构示意图;
图2是本申请实施例中的一种第一运算单元结构示意图;
图3是本申请实施例中的一种第二运算单元结构示意图;
图4是本申请实施例中的一种可重构计算系统架构示意图;
图5是本申请另一实施例中的算法重构方法流程图。
具体实施方式
由背景技术可知,当下的射频芯片在可重构计算技术的支持下,虽然具备一定程度的数学运算改配能力,但是,目前的运算大都以规整的高密度并行运算为主,或者是更加偏通用型的可重构计算设计,单个计算单元兼容特定的一种数学运算功能,仍然会导致硬件资源利用率低效能低下的问题。因此,如何在保证射频芯片对算法不同需求的兼容性和高效性的基础上,保证硬件资源的利用率是一个迫切需要得到解决的问题。
为了解决上述问题,本申请的实施例提供了一种射频芯片,包括:配置接口、互联总线、处理器及至少两个运算单元,各运算单元具有不同的运算功能;配置接口与处理器连接,配置接口用于接收路由信息和配置数据,并将路由信息和配置数据传输到处理器;其中,路由信息和配置数据根据射频芯片的目标计算功能确定;互联总线连通各运算单元,且与处理器连接,互联总线用于根据处理器的指令,调整各运算单元间的输入和输出关系;运算单元与处理器连接,运算单元用于根据处理器分配的配置数据,将运算功能配置为目标运算功能;处理器用于向互联总线下发调整各运算单元路由连接方式的指令,并向各运算单元发送分配好的配置数据。
本申请实施例提供的射频芯片,在投入使用后,通过配置接口接收外部软件根据射频芯片需要提供的目标计算功能确定出的配置数据和路由信息,然后由处理器根据路由信息通过互联总线调整各运算单元间的输入和输出关系,并为运算单元分配配置数据,将各运算单元的运算功能配置为目标运算功能,从而使得射频芯片能够根据实际需要,将自身兼容的计算功能配置为目标计算功能。通过获取根据目标计算功能生成的路由信息和配置数据,对射频芯片中的多个运算单元的路由连接方式和提供的运算功能进行改配,利用软件自定义的方式使得各运算单元提供不同的运算功能,结合不同的输入和输出关系,使得射频芯片能够满足多种算法的算法兼容需求,从而在保证射频芯片算法兼容能力的同时兼顾硬件处理的高效能,提高硬件资源的利用率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
下面将结合具体的实施例的对本申请记载的射频芯片的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本申请实施例的第一方面提供了一种射频芯片,射频芯片的结构示意图参考图1,包括:
配置接口101,用于接收路由信息和配置数据。
具体地说,射频芯片中的配置接口101用于支持处理器104与外部组件或者终端之间的通信,因此,配置接口101与处理器104连接,用于接收外部组件或终端向射频芯片传输的路由信息和配置数据,并将路由信息和配置数据传输到处理器104;其中,路由信息和配置数据根据射频芯片的目标计算功能确定。
互联总线102,用于调整各运算单元间的输入和输出关系。
具体地说,互联总线102连通与各运算单元的输入与输出,初始状态为全路由状态;且与处理器104连接,在射频芯片投入使用后,根据处理器104的指令,调整各运算单元间的输入和输出关系。
值得一提的是,运算单元的输入端和输出端可以根据与其余运算单元之间的输入输出关系确定,输入端和输出端在射频芯片提供不同计算功能或者与不同运算单元连接的情况下,可以是同一端或者不同端,本实施例对此不做限制。
至少两个运算单元103,用于提供目标运算功能。
具体地说,对于射频芯片中的每一个运算单元103而言,运算单元103通过互联总线102与其余运算单元相互连通,并与处理器104连接,在射频芯片投入使用后,根据处理器104分配的配置数据,将运算功能配置为目标运算功能。
例如,射频芯片中的运算单元包括第一运算单元PE0、第二运算单元PE1、第三运算单元PE2、第四运算单元PE3和第五运算单元PE4,第一运算单元PE0、第二运算单元PE1、第三运算单元PE2、第四运算单元PE3和第五运算单元PE4之间通过互联总线相互连接。
值得一提的是,一些实施例中,一个运算单元与射频芯片中的剩余所有运算单元连通,而在另一些实施例中,一个运算单元与射频芯片中部分运算单元连通,只需实现不同的运算功能即可,本实施例对此不做具体限定。
处理器104,用于调整射频芯片兼容的算法功能。
具体地说,处理器104分别与配置接口101、运算单元103和互联总线102连接,根据接收到的配置数据和路由信息,向互联总线102下发调整各运算单元103路由连接方式的指令,对各运算单元103间的输入和输出关系进行改组;并向各运算单元103发送分配好的配置数据,供各运算单元103将运算功能配置为目标运算功能,从而使得射频芯片兼容的算法功能调整为目标计算功能。
具体地说,外部组件或者终端设备在确定射频芯片需要提供的目标计算功能后,通过通信模块或者外部配置模块,向射频芯片的配置接口101发送传输包含路由信息和配置数据的数据流,处理器104根据通过配置接口101接收到的配置数据和路由信息,通过互联总线102调整各运算单元103间的输入和输出关系,例如,对多个运算单元103是处于并联状态或串联状态进行改组,并向各运算单元103下发相应的配置参数,供各运算单元103将运算功能配置为目标运算功能,从而使得射频芯片完成兼容的计算功能的转换,将兼容的计算功能转换为目标计算功能。通过获取根据射频芯片目标计算功能生成的配置数据和路由信息,对射频芯片中的多个运算单元的路由连接方式和提供的运算功能进行改配,借助软件自定义的方式实现射频芯片支持的射频数字预失真算法的更改,保证硬件资源利用率、处理速度和较低能耗的同时,使得射频芯片能够灵活的支持算法,射频芯片能够支持的算法包括但不限于多种射频数字预失真算法。
在一个例子中,射频芯片中包含的运算单元,包括:具有算数运算功能的第一运算单元,和具有查表运算功能的第二运算单元。通过设置一个或多个具有算数复合运算功能的第一运算单元,和一个或多个具有查表运算功能的第二运算单元,保证射频芯片在根据软件配置对能够支持的算法进行改配时,可以改组出尽可能多的算法,从而满足尽可能多的算法需求,节省为兼容新的计算功能而重新开发新的射频芯片,或者增添新的硬件资源而带来的人力物力和时间成本。
值得一提的是,每个第一运算单元能够支持的算数运算功能可以是一个或者多个,每个第二运算单元能够支持的查表运算功能也可以是一个或多个,在具体的应用中,可以根据需要选择合适的第一运算单元及第二运算单元,本实施例对此不做限制。
进一步地,互联总线还连通各运算单元内部各单元,互联总线还用于根据处理器的指令,调整各运算单元内部各单元间的输入和输出关系。为了使兼容多种运算功能的运算单元提供指定的运算功能,处理器还根据每个运算单元的目标运算功能,确定各运算单元内部各单元提供的运算功能及各单元间的路由连接方式,并通过互联总线对各运算单元内部各单元间的输入和输出关系进行调整,保证射频芯片中各运算单元准确提供指定运算功能。
值得一提的是,互联总线可以直接通过连接各运算单元内部各单元的方式建立与各运算单元的连接,即运算单元直接通过被互联总线连通的内部各单元与互联总线建立连接,本实施例对运算单元和运算单元内部各单元与互联总线的具体连接方式不做限制。
在一个例子中,射频芯片中的第一运算单元包括:N个实数乘法单元、N个实数加法单元、2N个取反直通单元、(N+2)个可配置延迟单元;其中,N为正整数;第一运算单元包括第一输入端和第一输出端,第一输入端和第一输出端各连接一个可配置延迟单元;实数加法单元、与实数加法单元对应的取反直通单元、与实数加法单元对应的可配置延迟单元和互联总线依次连接;实数乘法单元、与实数乘法单元对应的取反直通单元和互联总线依次连接。通过为每一个实数乘法单元和实数加法单元设置对应的取反直通单元,为实数乘法单元设置可配置延迟单元,使得第一运算单元不仅能够进行加法和乘法的复合运算,也能够进行减法及乘法的复合运算,并且能够对复数之间的加法乘法提供支持,尽可能拓展了第一运算单元能够支持的算数运算功能。
进一步地,射频芯片中的第一运算单元包括:4N个实数乘法单元、4N个实数加法单元、8N个取反直通单元、(4N+2)个可配置延迟单元;其中,N为正整数;第一运算单元包括第一输入端和第一输出端,第一输入端和第一输出端各连接一个可配置延迟单元;实数加法单元、与实数加法单元对应的取反直通单元、与实数加法单元对应的可配置延迟单元和互联总线依次连接;实数乘法单元、与实数乘法单元对应的取反直通单元和互联总线依次连接。第一运算单元的第一输入端与第一输出端分别连接一个可配置延迟单元,互联总线分别与各实数乘法单元对应的可配置延迟单元,以及各实数加法单元对应的取反直通单元连接,用于根据处理器基于路由连接信息下发的指令,调整第一运算单元内部各单元的路由连接,并将接收到的待处理数据分发给指定的实数加法单元和/或实数乘法单元;对任意实数加法单元,实数加法单元与和自身对应的取反直通单元连接,用于根据接收到的配置参数,对获取到的待处理数据进行加法运算,并输出运算结果;对任意实数乘法单元,实数乘法单元与和自身对应的取反直通单元连接,并通过对应的取反直通单元与对应的可配置延迟单元连接,用于根据接收到的配置参数,对获取到的待处理数据进行加法运算,并输出运算结果;可配置延迟单元用于根据接收到的配置参数,对接收到的数据进行延迟传输;取反直通单元用于根据接收到的配置参数,对获取到的数据取反后再进行传输或者直接进行传输。通过将第一运算单元的结构设置成适当的形式,使得第一运算单元能够根据外配配置支持尽可能多的算数运算功能。
一种第一运算单元的结构示意图如图2所示,包含4个实数加法器(ADD0至ADD3)、4个实数乘法器(MUL0至MUL3)、8个取反直通单元(取反/直通0至7)、6个可配置延迟单元(可配置延迟单元0至5)和一个内部可配置互联路由模块。可配置延迟单元0的输入端用于接收待处理数据,输出端与互联总线连接,互联总线的数据输出经过的可配置延迟单元1、MUL0至MUL3分别对应的可配置延迟单元2、可配置延迟单元3、可配置延迟单元4和可配置延迟单元5,以及ADD0至ADD3分别对应的取反/直通2、取反/直通3、取反/直通6和取反/直通7。MUL0对应的可配置延迟单元2的一个输出连接内部可配置互联路由模块,另一个输出接取反/直通0;MUL1对应的可配置延迟单元3的一个输出连接互联总线,另一个输出接取反/直通1;MUL2对应的可配置延迟单元4的一个输出连接互联总线,另一个输出接取反/直通4;MUL3对应的可配置延迟单元5的一个输出连接互联总线,另一个输出接取反/直通5。取反/直通0的一个输出连接可配置延迟单元2,另一个输出连接MUL0;取反/直通1的一个输出连接可配置延迟单元3,另一个输出连接MUL1;取反/直通2的一个输出连接互联总线,另一个输出连接ADD0;取反/直通3的一个输出连接互联总线,另一个输出连接ADD1;取反/直通4的一个输出连接可配置延迟单元4,另一个输出连接MUL2;取反/直通5的一个输出连接可配置延迟单元5,另一个输出连接MUL3;取反/直通6的一个输出连接互联总线,另一个输出连接ADD2;取反/直通7的一个输出连接互联总线,另一个输出连接ADD3。MUL0的输出连接取反/直通0、MUL1的输出连接取反/直通1、MUL2的输出连接取反/直通4、MUL3的输出连接取反/直通5;ADD0的输出连接取反/直通2、ADD1的输出连接取反/直通3、ADD2的输出接连取反/直通6、ADD3的输出连接取反/直通7。
处理器在对射频芯片中的第一运算单元提供的算数运算功能进行改配的过程中,根据通过配置接口接收到的路由信息和配置数据,将携带配置参数的数据流分别传输到MUL0、MUL1、MUL2、MUL3、ADD0、ADD1、ADD2、ADD3、取反/直通0、取反/直通1、取反/直通2、取反/直通3、取反/直通4、取反/直通5、取反/直通6、取反/直通7、可配置延迟单元0、可配置延迟单元1和互联总线,通过互联总线对第一运算单元内部各单元的路由连接进行调整,设置好各单元间的输入和输出关系,并通过配置参数设置好各单元的工作状态,使得第一运算单元中数据处理的流程和顺序能够满足射频信号预失真算法的需求,提供目标运算功能。在射频芯片工作过程中,待处理的数据流通过可配置延迟单元0输入第一运算单元;可配置延迟单元0的输出端连接互联总线,由互联总线根据处理器的指令按照一定的处理顺序向加法器或乘法器传输待处理的数据,并整合经过处理后的运算结果,经可配置延迟单元1传输到下一节点。
另外,包含4个实数乘法单元、4个实数加法单元、8个取反直通单元、6个可配置延迟单元的第一运算单元可以根据接收到的配置参数,将自身提供的运算功能调整为以下任意运算功能:复乘运算、复乘累加运算、实数乘运算、实数乘累加运算、实数数字滤波计算、复数数字滤波计算或实数乘加运算。在具体的应用中,可以根据使用场景或者算法需要,对第一运算单元中包含的具体单元数量和各单元的路由连接方式进行调整,以满足更加复杂的运算功能,本实施例对第一运算单元内部包含的单元数量不做具体的限制。
进一步地,射频芯片还包括:前级输入接口;前级输入接口与第二运算单元连接,用于向第二运算单元传输硬件控制数据,供第二运算单元实现查表运算功能;其中,硬件控制数据包含预存数据的存储地址信息。通过在射频芯片上设置前级输入接口,使得第二运算单元能够接收到包含预存数据存储地址信息的硬件控制数据,进而准确的实现查表运算功能,提高处理的效率和准确性。
在另一个例子中,射频芯片中的第二运算单元,包括:3M个可配置延迟单元、M个复数乘法单元、M个复数加法单元、M个可配置地址生成单元、M个查找表和一个多路选择单元;其中,M为正整数;可配置地址生成单元包括第二输入端和第二输出端,第二输入端通过对应的可配置延迟单元与配置接口连接,第二输出端和可配置地址生成单元对应的查找表的输入端连接;查找表的输出端分别和与查找表对应的复数乘法单元、复数加法单元和多路选择单元的一个输入端连接;复数乘法单元的另一个输入端连接与复数乘法单元对应的可配置延迟单元,复数乘法单元的输出端与多路选择单元的输入端连接;复数加法单元的另一个输入端连接与复数加法单元对应的可配置延迟单元,复数加法单元的输出端与多路选择单元的输入端连接;多路选择单元的输出端、与多路选择单元对应的可配置延迟单元和互联总线依次连接。在射频芯片工作过程中,可配置地址生成单元用于根据获取到的硬件控制数据和待处理数据,获取目标内容在查找表中的地址,并将地址下发到与自身对应的查找表;查找表用于根据获取到的配置参数和地址,将存储的目标内容传输到与自身对应的复数乘法单元、复数加法单元或多路选择单元;复数乘法单元用于根据接收到的配置参数,对获取到的目标内容和待处理数据进行乘法运算,并将运算结果传输到多路选择单元;复数加法单元用于根据接收到的配置参数,对获取到的目标内容和待处理数据进行加法运算,并将运算结果传输到多路选择单元;多路选择单元用于对获取到的数据进行选择性输出;可配置延迟单元用于根据接收到的配置参数,对接收到的数据进行延迟传输。通过将第二运算单元的结构设置成适当的模式,使得第二运算单元能够根据配置数据和硬件控制数据,准确高效的实现尽可能多的查表运算功能。
一种第二运算单元的结构示意图如图3所示,包括3个可配置延迟单元(可配置延迟单元6至8)、一个复数乘法器(MUL4)、一个复数加法器(ADD4),一个可配置地址生成单元、一个查找表(LUT)和一个多路选择器(MUX)。处理器下发配置参数完成各单元的功能配置后,可配置延迟单元6用于接收待处理的数据,输出端分别连接MUL4和ADD4,用于为MUL4和ADD4提供待处理数据;可配置延迟单元7的输入端连接前级输入接口和配置接口,用于接收待处理数据和硬件控制数据,输出端连接可配置地址生成单元;可配置延迟单元8的输入端连接MUX的输出端,用于对运算结果进行延时传输。可配置地址生成单元的输出端连接查找表LUT,用于向LUT传输确定出的目标内容的地址。查找表LUT的输出端分别连接ADD4、MUL4和MUX的输入端,用于向ADD4、MUL4或MUX发生目标内容。ADD4和MUL4的输出端连接MUX,用于向MUX提供运算后的目标内容。MUX的输出端连接可配置延迟单元8,用于对目标内容和目标内容的运算结果进行选择性输出。
处理器在对射频芯片中的第二运算单元提供的查表运算功能进行改配的过程中,将携带配置参数的数据流分别传输到配置延迟单元6、可配置延迟单元7、可配置延迟单元8、可配置地址生成单元、LUT、ADD4、MUL4、MUX,从而调整好各单元间的输入和输出关系及各单元的工作状态。第二运算单元在接收到硬件控制数据和待处理数据后,由可配置地址生成单元根据待处理数据和硬件控制流相关函数F(x,y),其中x为待处理数据,y为硬件控制数据中的地址信息,根据硬件控制数据和待处理数据获取目标内容存储地址,然后将获取到的地址发送到查找表中。查找表根据接收到的地址和预先配置好的功能,将目标内容传输指定的ADD4、MUL4或MUX中,由后续单元对目标内容和待处理数据进行运算和输出,使第二运算单元提供指定的查表运算功能。
另外,包含3个可配置延迟单元(可配置延迟单元6至8)、一个复数乘法器(MUL4)、一个复数加法器(ADD4),一个可配置地址生成单元、一个查找表(LUT)和一个多路选择器(MUX)的第二运算单元可以根据接收到的配置参数,将自身提供的运算功能调整为以下任意计算功能:基础查表功能、查表结果乘运算、查表结果加运算。在具体的应用中,可以根据使用场景或者算法需要,对第二运算单元中包含的具体单元数量进行调整,以满足更加复杂得查表运算功能,本实施例对第二运算单元内部包含的单元数量不做具体的限制。
在另一个例子中,一种射频芯片可重构计算系统的结构示意图如图4所示,包括8个第一运算单元(PE0-0至PE0-7)和两个第二运算单元(PE1-0和PE1-1),配置接口与处理器连接,处理器分别与PE0-0、PE0-1、PE0-2、PE0-3、PE0-4、PE0-5、PE0-6、PE0-7、PE1-0、PE1-1和射频芯片的互联总线相连,用于向各单元传输配置参数,通过互联总线调整各单元间的输入和输出关系。前级输入接口分别与互联总线、PE1-0和PE1-1相连,用于向可配置互联路由模块传输待处理数据,以及向PE1-0和PE1-1传输硬件控制数据。互联总线分别与各运算单元和后级输出接口连接,用于根据处理器的指令,为各运算单元提供待处理数据、设置各单元的路由连接方式和输出整合后的运算结果。
为了便于理解,下面以实现FIR滤波器功能为例对上述系统的配置流程进行说明,功能配置流程包括:
步骤1:根据射频芯片的工作任务,确定射频芯片需要提供的目标运算功能。目标运算功能为FIR滤波器功能,FIR滤波器功能的基本运算处理为乘法和加法以及数据的延迟打拍,需要PE0的乘加功能和可配置延迟单元功能,所有8个PE0采用串联方式进行连接,连接顺序为PE0-0到PE0-7。前一级PE0的输出进入下一级PE0内部进行延迟打拍和加法运算,第一级PE0内加法器的一个输入需要配置为0。
步骤2:根据目标运算功能,确定射频芯片中各运算单元的路由连接方式。PE0仅进行乘法和加法以及数据的延迟打拍处理,需要通过配置所有PE0内部的各单元的路由连接方式,将外部输入数据通过互联总线、可配置延迟单元、取反直通单元分别连接到乘法器和加法器的输入,乘法器的输出也需要通过互联总线和可配置延迟单元、取反直通单元连接到加法器的一个输入,再将加法器的输出通过互联总线和可配置延迟单元、取反直通单元连接到PE0外部。
步骤3:将各运算单元的连接方式和运算单元内部的路由连接方式配置到射频芯片中。即,将步骤1和步骤2中确定的PE间连接方式和PE内部底层乘法器、加法器、互联总线、可配置延迟单元间、取反直通单元的连接方式配置到射频芯片中。
步骤4:对射频芯片中的各运算单元的工作状态进行设置。处理器根据接收到的路由信息和配置数据,将滤波运算需要的滤波器系数配置到各个PE0内部对应乘法器中,将0配置到第一级PE0内加法器的一个输入中,将延迟参数配置到可配置延迟单元,将取反直通单元配置为直通模式。
在配置完成后,射频芯片当前的功能被配置为FIR滤波器功能,在获取到待处理的数据流后,可以对待处理数据流进行滤波处理。
本申请实施例的另一方面提供了一种算法重构方法,应用于射频芯片,射频芯片包括至少两个运算单元,各运算单元具有不同的运算功能,算法重构方法的流程参考图5,包括以下步骤:
步骤501,通过配置接口获取路由信息和配置数据。
具体地说,射频芯片在投入使用后,处理器通过配置接口获取外部组件或者终端传输来的路由信息和配置数据,其中,路由信息和配置数据是外部组件或终端根据射频芯片需要提供的目标计算功能生成的。
步骤502,根据路由信息,调整各运算单元间的输入和输出关系,并根据配置数据,向各运算单元下发分配好的配置数据,供各运算单元将运算功能配置为目标运算功能。
具体地说,处理器在获取到路由信息和配置数据后,根据路由信息确定射频芯片中各运算单元间的输入和输出关系,并向互联总线下发调整路由连接的指令,供互联总线将各运算单元间的输入和输出关系调整到实现目标计算功能时对应的关系;然后处理器再根据需要用到的运算单元及各运算单元需要提供的功能,为各运算单元下发分配好的相应配置参数,供各运算单元根据接收到的配置参数将运算功能配置为目标运算功能。处理器通过对运算单元路由连接方式和运算功能的重配置,将射频芯片兼容的运算功能更改为目标计算功能。
进一步地,运算单元包括第一运算单元和第二运算单元;根据配置数据,向各运算单元下发分配好的配置数据,包括:向第一运算单元下发分配好的第一配置数据,供第一运算单元将运算功能配置为目标算数运算功能;和/或,向第二运算单元下发分配好的第二配置数据,供第二运算单元将运算功能配置为目标查表运算功能。在具体的应用中,运算单元还可以是具有多种运算功能的运算单元,或者具有算数运算和查表运算之外的运算功能的运算单元,可以根据具体需要对运算单元的类型和兼容的功能进行设置和选择,本实施例对此不做限制。
值得一提的是,第一运算单元的目标算数运算功能包括:复乘运算、复乘累加运算、实数乘运算、实数乘累加运算、实数数字滤波计算、复数数字滤波计算或实数乘加运算;第二运算单元的目标查表运算功能包括:基础查表功能、查表结果乘运算、查表结果加运算。在具体的应用中,可以根据需要选择能够兼容多种运算功能地第一运算单元和第二运算单元,以及设置第一运算单元和第二运算单元中包含地单元的数量,以实现多种目标运算功能,本实施例对此不做限制。
在一个例子中,运算单元具有多种运算功能,处理器在对射频芯片中各运算单元间的输入输出关系进行调整时,还包括:通过互联总线调整各运算单元内部各单元间的输入和输出关系。在运算单元具有不止一种运算功能地时候,为了将射频芯片兼容的计算功能更新为目标计算功能,处理器不仅需要调整各运算单元间的输入和输出关系,还需要根据各运算单元需要提供的运算功能,对运算单元内部各单元间的输入和输出关系进行调整,使得射频芯片能够准确实现目标计算功能。
此外,应当理解的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
不难发现,本实施例是与装置实施例对应的方法实施例,本实施例可与装置实施例互相配合实施。装置实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在装置实施例中。
本申请实施例的另一方面还提供了一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (10)
1.一种射频芯片,其特征在于,包括:配置接口、互联总线、处理器及至少两个运算单元,各所述运算单元具有不同的运算功能;
所述配置接口与所述处理器连接,所述配置接口用于接收路由信息和配置数据,并将所述路由信息和所述配置数据传输到所述处理器;其中,所述路由信息和所述配置数据根据所述射频芯片的目标计算功能确定;
所述互联总线连通各所述运算单元,且与所述处理器连接,所述互联总线用于根据所述处理器的指令,调整各所述运算单元间的输入和输出关系;
所述运算单元与所述处理器连接,所述运算单元用于根据所述处理器分配的所述配置数据,将运算功能配置为目标运算功能;
所述处理器用于向所述互联总线下发调整各所述运算单元路由连接方式的指令,并向各所述运算单元发送分配好的所述配置数据。
2.根据权利要求1所述的射频芯片,其特征在于,所述运算单元,包括:具有算数运算功能的第一运算单元,和具有查表运算功能的第二运算单元。
3.根据权利要求2所述的射频芯片,其特征在于,所述第一运算单元,包括:N个实数乘法单元、N个实数加法单元、2N个取反直通单元、(N+2)个可配置延迟单元;其中,N为正整数;
所述第一运算单元包括第一输入端和第一输出端,所述第一输入端和所述第一输出端各连接一个所述可配置延迟单元;
所述实数加法单元、与所述实数加法单元对应的所述可配置延迟单元、与所述实数加法单元对应的所述可配置延迟单元和所述互联总线依次连接;
所述实数乘法单元、与所述实数乘法单元对应的所述取反直通单元和所述互联总线依次连接。
4.根据权利要求3所述的射频芯片,其特征在于,所述第一运算单元,包括:4N个实数乘法单元、4N个实数加法单元、8N个取反直通单元、(4N+2)个可配置延迟单元;其中,N为正整数;
所述第一运算单元包括所述第一输入端和所述第一输出端,所述第一输入端和所述第一输出端各连接一个所述可配置延迟单元;
所述实数加法单元、与所述实数加法单元对应的所述取反直通单元、与所述实数加法单元对应的所述可配置延迟单元和所述互联总线依次连接;
所述实数乘法单元、与所述实数乘法单元对应的所述取反直通单元和所述互联总线依次连接。
5.根据权利要求2所述的射频芯片,其特征在于,所述第二运算单元,包括:3M个可配置延迟单元、M个复数乘法单元、M个复数加法单元、M个可配置地址生成单元、M个查找表和一个多路选择单元;其中,M为正整数;
所述可配置地址生成单元包括第二输入端和第二输出端,所述第二输入端通过对应的所述可配置延迟单元与所述配置接口连接,所述第二输出端和所述可配置地址生成单元对应的所述查找表的输入端连接;
所述查找表的输出端分别和与所述查找表对应的所述复数乘法单元、所述复数加法单元和所述多路选择单元的一个输入端连接;
所述复数乘法单元的另一个输入端连接与所述复数乘法单元对应的所述可配置延迟单元,所述复数乘法单元的输出端与所述多路选择单元的输入端连接;
所述复数加法单元的另一个输入端连接与所述复数加法单元对应的所述可配置延迟单元,所述复数加法单元的输出端与所述多路选择单元的输入端连接;
所述多路选择单元的输出端、与所述多路选择单元对应的所述可配置延迟单元和所述互联总线依次连接。
6.根据权利要求3至5中任一项所述的射频芯片,其特征在于,所述互联总线还连通各所述运算单元内部各单元,所述互联总线还用于根据所述处理器的指令,调整各所述运算单元内部各单元间的输入和输出关系;
所述处理器还用于向所述互联总线下发调整各所述运算单元内部各单元路由连接方式的指令。
7.一种算法重构方法,其特征在于,应用于射频芯片,所述射频芯片包含至少两个运算单元,各所述运算单元具有不同的运算功能,所述方法包括:
通过配置接口获取路由信息和配置数据;其中,所述路由信息和所述配置数据根据所述射频芯片的目标计算功能确定;
根据所述路由信息,通过互联总线调整各所述运算单元间的输入和输出关系,并根据所述配置数据,向各所述运算单元下发分配好的所述配置数据,供各所述运算单元根据接收到的所述配置数据将运算功能配置为目标运算功能。
8.根据权利要求7所述的算法重构方法,其特征在于,所述运算单元包括第一运算单元和第二运算单元;所述根据所述配置数据,向各所述运算单元下发分配好的所述配置数据,包括:
向所述第一运算单元下发分配好的第一配置数据,供所述第一运算单元将运算功能配置为目标算数运算功能;
和/或,向所述第二运算单元下发分配好的第二配置数据,供所述第二运算单元将运算功能配置为目标查表运算功能。
9.根据权利要求7或8所述的算法重构方法,其特征在于,还包括:
通过所述互联总线调整各所述运算单元内部各单元间的输入和输出关系。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求7至9中任一项所述的算法重构方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111449989.0A CN116204488A (zh) | 2021-11-30 | 2021-11-30 | 射频芯片、算法重构方法及计算机可读存储介质 |
PCT/CN2022/124378 WO2023098295A1 (zh) | 2021-11-30 | 2022-10-10 | 射频芯片、算法重构方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111449989.0A CN116204488A (zh) | 2021-11-30 | 2021-11-30 | 射频芯片、算法重构方法及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116204488A true CN116204488A (zh) | 2023-06-02 |
Family
ID=86506427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111449989.0A Pending CN116204488A (zh) | 2021-11-30 | 2021-11-30 | 射频芯片、算法重构方法及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116204488A (zh) |
WO (1) | WO2023098295A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6920545B2 (en) * | 2002-01-17 | 2005-07-19 | Raytheon Company | Reconfigurable processor with alternately interconnected arithmetic and memory nodes of crossbar switched cluster |
CN103020002B (zh) * | 2012-11-27 | 2015-11-18 | 中国人民解放军信息工程大学 | 可重构多处理器系统 |
CN105988796B (zh) * | 2015-02-12 | 2019-01-11 | 深圳市腾讯计算机系统有限公司 | 一种可重构计算系统 |
CN109240832B (zh) * | 2018-09-25 | 2022-04-19 | 中国电子科技集团公司电子科学研究院 | 一种硬件重构系统及方法 |
-
2021
- 2021-11-30 CN CN202111449989.0A patent/CN116204488A/zh active Pending
-
2022
- 2022-10-10 WO PCT/CN2022/124378 patent/WO2023098295A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023098295A1 (zh) | 2023-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8356161B2 (en) | Adaptive processor for performing an operation with simple and complex units each comprising configurably interconnected heterogeneous elements | |
US9396161B2 (en) | Method and system for managing hardware resources to implement system functions using an adaptive computing architecture | |
US8543794B2 (en) | Adaptive integrated circuitry with heterogenous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements | |
US20040078403A1 (en) | Reconfigurable filter node for an adaptive computing machine | |
US20180255546A1 (en) | Wireless devices and systems including examples of configuration modes for baseband units and remote radio heads | |
JP5356537B2 (ja) | 前置加算器段を備えたデジタル信号処理ブロック | |
CN101326715A (zh) | 数字滤波器 | |
CN106250614A (zh) | 适用于fpga平台电磁暂态实时仿真的数据处理方法 | |
CN116204488A (zh) | 射频芯片、算法重构方法及计算机可读存储介质 | |
CN105634851A (zh) | 可以生成自定义数据文件正交幅度调制信号的测量装置及其调制方法 | |
WO2003050705A2 (en) | Method and system for managing hardware resources to implement system acquisition using an adaptive computing architecture | |
Mehra et al. | Reconfigurable Area and Speed Efficient Interpolator Using DALUT Algorithm | |
CN113890548A (zh) | 用于信号上变频的装置及现场可编程门阵列 | |
US20070038971A1 (en) | Processing device with reconfigurable circuit, integrated circuit device and processing method using these devices | |
CN109617557B (zh) | 一种数字收发器、系统、控制方法、装置及其存储介质 | |
Suresh et al. | Efficient resource sharing architecture for multistandard communication system | |
Reddy et al. | Area efficient SDR receiver without and with dynamic partial reconfiguration | |
Huang et al. | Software radio system design based on FPGA | |
CN117149134A (zh) | 基于自适应动态数字电路的乘累加系统及其设计方法 | |
Koutroumpezis et al. | Architecture design of a reconfigurable multiplier for flexible coarse-grain implementations | |
Zhou et al. | An efficient design of FPGA-based sample rate converting filter in Software Defined Radio | |
CN115242220A (zh) | 阶数动态可重构折叠电路结构数字成形滤波器及设计方法 | |
CN116149428A (zh) | 一种多频率异步时钟域数据处理方法和装置 | |
CN117033303A (zh) | 一种面向通信处理的脉动cgra的计算颗粒模块 | |
Cui et al. | Design and Implementation of Digital Up Converter for Homenet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |