基于FPGA的高级综合实现拟牛顿算法加速的方法与流程

文档序号:12463447阅读:来源:国知局

技术特征:

1.基于FPGA的高级综合实现拟牛顿算法加速的方法,其特征在于,具体包括如下步骤:

(1)、分析拟牛顿算法的功能,划分出拟牛顿算法的主要计算模块;

(2)、利用高级语言C,C++实现上述步骤(1)中的各个模块,并且验证算法功能的正确性;

(3)、将上述步骤(2)功能验证正确的拟牛顿算法作为输入文件,利用高层次综合工具,将高级语言转化为RTL级语言,验证生成的RTL代码;

(4)、将生成的RTL代码制作成比特流文件,下载配置到FPGA的可配置逻辑部分。

2.根据权利要求1所述的方法,其特征在于,所述步骤(1)分析拟牛顿算法的功能,将算法划分成三个主要计算模块,分别是梯度计算模块Compute_grad,矩阵更新模块QN_formula和线性搜索模块Line_search;矩阵更新模块以BFGS方式更新矩阵并决定搜索方向,线性搜索模块采用黄金分割法在搜索方向上确定搜索步长,梯度计算模块完成目标函数梯度的计算;另外目标函数Object_function是拟牛顿算法需要求解的目标函数;片外存储单元Off-chip DRAM是用来存储计算工程中需要的计算信息;计算控制单元Computation Scheduling controller是来安排上述几个模块的操作顺序及内存与相对应模块的数据传递。

3.根据权利要求1所述的方法,其特征在于,所述步骤(2)设计的算法考虑到拟牛顿算法的通用性,将不同的算法结构参数化。

4.根据权利要求1所述的方法,其特征在于,所述步骤(2)利用visual studio2013运行实现的算法,以验证算法功能的正确性。

5.根据权利要求1所述的方法,其特征在于,所述步骤(3)利用高层次综合工具的优化方法来对算法进行优化,优化结果满足设计约束,不仅RTL代码正确,而且运行速度达到预期,其中优化包括代码转换和指令优化,并利用高级综合工具自带的软硬件联合仿真验证生成的RTL代码的正确性。

6.根据权利要求1所述的方法,其特征在于,所述步骤(4)FPGA型号为Net-FPGA SUME(xc7vx690t),对算法的资源利用和运行时间分别作性能测试。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1