当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于CORDIC的可重构计算引擎制造技术

技术编号:31748202 阅读:26 留言:0更新日期:2022-01-05 16:28
本发明专利技术提出了一种基于CORDIC的可重构计算引擎,属于SoC架构下的IP核设计领域。针对目前5G通信、人工智能加速领域对复杂函数的需求,本发明专利技术提供了一种基于CORDIC的可重构计算引擎,通过分析复杂函数的数学特征及表达式转换,并利用各种CORDIC算子的特性,将29种复杂数学函数高效映射到10个CORDIC算子上。重构控制器通过指令接口接受配置指令,为不同的复杂函数重构特定的数据通路,并控制数据的流水化计算,最终输出相应复杂函数计算的结果。本发明专利技术提出的基于CORDIC的可重构计算引擎具有硬件资源利用率高、配置简易灵活、主频高、面积小及功耗低等优点。及功耗低等优点。及功耗低等优点。

【技术实现步骤摘要】
一种基于CORDIC的可重构计算引擎


[0001]本专利技术涉及一种基于CORDIC的可重构计算引擎,特别是涉及SoC架构下的IP核设计


技术介绍

[0002]硬件加速器通常用于特定领域的设计,常常作为IP核被集成到SoC系统中,以完成特定场景或特定应用程序的任务。近些年来,随着5G通信技术和人工智能的发展,除了传统的算法硬件加速器外,常见的复杂的数学函数的硬件实现也有着巨大的需求。
[0003]然而,相较于软件实现类似于超越函数的复杂数学函数,硬件实现这些函数显得尤为困难,传统的方法例如查找表法、线性近似法以及非线性近似法,要么精度不够,要么所使用的硬件资源过多,不尽理想。
[0004]CORDIC算法的出现为解决复杂数学函数的硬件实现问题提供了新的思路,其利用简单的硬件友好的移位、加法以及小型查找表运算,结合多次的迭代,便能逼近一些常见的复杂函数。然而,现有的一些基于CORDIC的复杂函数的硬件实现大多着眼于单个函数的实现,其实际应用价值有限,当一些场合需要使用多种函数时,需要集成多个IP,其硬件资源利用率较低,同时也增加了硬件之间交互的复杂程度。

技术实现思路

[0005]专利技术目的:提出一种基于CORDIC的可重构计算引擎,以解决现有技术存在的上述问题,针对现有技术中存在的加速器不灵活,仅仅实现单个复杂函数,导致硬件资源利用率低,增加硬件之间交互复杂程度的问题,通过CORDIC的可重构计算引擎,灵活实现29种常见复杂数学函数的硬件计算。
[0006]技术方案:提出了一种基于CORDIC的可重构计算引擎,具体包括:数据接口、指令接口、重构控制器、计算单元MUX以及计算单元。其中,数据接口与重构控制器连接,被设置作为计算时源数据的输入以及计算结果的输出通道;指令接口与重构控制器连接,被设置为作为复杂函数选择的配置通道;重构控制器与数据接口、指令接口以及计算单元MUX连接,被设置实现对可重构计算引擎的数据流控制、数据的前后处理以及函数功能的重构;计算单元MUX与重构控制器和计算单元连接,被设置实现对计算单元中CORDIC算子的选择;计算单元与计算单元MUX连接,被设置为对复杂函数提供计算支持。
[0007]在第一方面的一些可实现方式中,为满足不同函数的需求,通过所述数据接口进行信号交互的信号进一步包括:in_1输入信号、in_2输入信号、cal_req输入信号、res_1输出信号、res_2输出信号、finish输出信号;call_type信号通过所述指令接口,配置函数计算的类型;所述重构控制器进一步包括运算控制状态机FSM和数据处理模块;所述计算单元MUX进一步包括cu_mux1模块、cu_mux2模块、cu_mux3模块、cu_mux4模块、cu_mux5模块和cu_mux6模块;所述计算单元进一步包括CR1、CV1、LR1、LV1、HR1、HV1、GHR1、GHV1、LV2和HV2共10个CORDIC基本算子。
[0008]具体的,通过所述数据接口的in_1输入信号作为单变量函数的输入,in_2输入信号作为双变量函数的补充输入,cal_req输入信号作为计算的请求信号;res_1输出信号作为单输出函数的结果输出,res_2输出信号作为双输出函数的补充结果输出,finish输出信号作为计算完成信号。通过指令接口的call_type信号,可以配置29种函数的类型,用于供重构控制器解析,配置简单的同时,还易于控制。
[0009]进一步的,运算控制状态机FSM,通过解析指令接口传来的call_type信号,根据复杂函数的数学结构,重构相应的控制流,通过不超过6级流水计算,控制整个流水计算过程。
[0010]所述重构控制器下的数据处理模块,在所述运算控制状态机FSM的控制下完成对每一级流水计算数据的前处理以及后处理。
[0011]在第一方面的一些可实现方式中,计算单元MUX下的6个cu_mux模块,对应于6级流水计算的不同阶段,在运算控制状态机FSM的控制下选择计算单元中的CORDIC算子。
[0012]计算单元下的CORDIC算子,包含6种类型,分别为圆坐标系下旋转模式的CORDIC算子CR、圆坐标系下向量模式的算子CV、线性坐标系下旋转模式的算子LR、线性坐标系下向量模式的算子LV、双曲坐标系下以e为底旋转模式的算子HR、双曲坐标系下以e为底向量模式的算子HV、双曲坐标系下以2为底旋转模式的算子GHR、双曲坐标系下以2为底向量模式的算子GHV。
[0013]其中,CORDIC算子,通过移位、加法以及查找表运算,并结合迭代过程,通过硬件实现函数计算过程。CORDIC算子的迭代过程,采用流水线工作,即每一次迭代过程都有具体的硬件实现,保证了可重构引擎的流水工作流程。
[0014]有益效果:本专利技术提出了一种基于CORDIC的可重构计算引擎,相比于现有技术,本专利技术通过分析复杂函数的数学特征及表达式转换,并利用各种CORDIC算子的特性,将29种复杂数学函数高效映射到10个CORDIC算子上。其中涉及到的重构控制器通过指令接口接受配置指令,为不同的复杂函数重构特定的数据通路,并控制数据的流水化计算,最终输出相应复杂函数计算的结果。因此,本专利技术所提出的基于CORDIC的可重构计算引擎具有硬件资源利用率高、配置简易灵活、主频高、面积小及功耗低等优点。
附图说明
[0015]图1为本专利技术中基于CORDIC的可重构计算引擎的架构图。
[0016]图2是本专利技术中计算单元MUX的详细结构图。
[0017]图3是本专利技术中计算单元里HV的结构图。
具体实施方式
[0018]在下文的描述中,给出了大量具体的细节以便提供对本专利技术更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本专利技术可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本专利技术发生混淆,对于本领域公知的一些技术特征未进行描述。
[0019]申请人认为现有的一些基于CORDIC的复杂函数的硬件实现大多着眼于单个函数的实现,其实际应用价值有限,因此当一些场合需要使用多种函数时,需要集成多个IP,使得其硬件资源利用率较低,同时也增加了硬件之间交互的复杂程度。
[0020]在本申请中,我们提出了一种基于CORDIC的可重构计算引擎,通过分析复杂函数的数学特征及表达式转换,并利用各种CORDIC算子的特性,将29种复杂数学函数高效映射到10个CORDIC算子上。其中涉及到的重构控制器通过指令接口接受配置指令,为不同的复杂函数重构特定的数据通路,并控制数据的流水化计算,最终输出相应复杂函数计算的结果,进一步达到硬件资源利用率高、配置简易灵活、主频高、面积小及功耗低等目标。
[0021]实施例一本实施例提出一种基于CORDIC的可重构计算引擎,通过分析复杂函数的数学特征及表达式转换,并利用各种CORDIC算子的特性,将29种复杂数学函数高效映射到10个CORDIC算子上,从而提高了硬件资源的利用率,降低了硬件之间交互的复杂度。...

【技术保护点】

【技术特征摘要】
1.一种基于CORDIC的可重构计算引擎,其特征在于,具体包括:数据接口、指令接口、重构控制器、计算单元MUX以及计算单元;所述数据接口与重构控制器连接,被设置作为计算时源数据的输入以及计算结果的输出通道;所述指令接口与重构控制器连接,被设置为作为复杂函数选择的配置通道;所述重构控制器与数据接口、指令接口以及计算单元MUX连接,被设置实现对可重构计算引擎的数据流控制、数据的前后处理以及函数功能的重构;所述计算单元MUX与重构控制器和计算单元连接,被设置实现对计算单元中CORDIC算子的选择;所述计算单元与计算单元MUX连接,被设置为对复杂函数提供计算支持。2.根据权利要求1所述的一种基于CORDIC的可重构计算引擎,其特征在于,为满足不同函数的需求,通过所述数据接口进行信号交互的信号进一步包括:in_1输入信号、in_2输入信号、cal_req输入信号、res_1输出信号、res_2输出信号、finish输出信号;call_type信号通过所述指令接口,配置函数计算的类型;所述重构控制器进一步包括运算控制状态机FSM和数据处理模块;所述计算单元MUX进一步包括cu_mux1模块、cu_mux2模块、cu_mux3模块、cu_mux4模块、cu_mux5模块和cu_mux6模块;所述计算单元进一步包括CR1、CV1、LR1、LV1、HR1、HV1、GHR1、GHV1、LV2和HV2共10个CORDIC基本算子。3.根据权利要求2所述的一种基于CORDIC的可重构计算引擎,其特征在于,通过所述数据接口的in_1输入信号作为单变量函数的输入,in_2输入信号作为双变量函数的补充输入,cal_req输入信号作为计算的请求信号;res_1输出信号作为单输出函数的结果输出,res_2输出信号作为双输出函数的补充结果输出,finish输出信号作...

【专利技术属性】
技术研发人员:傅玉祥蒋林李丽徐瑾陈辉李伟何书专
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1