使用Vivado-HLS实现浮点复数矩阵分解-XilinxForums.PDF

使用Vivado-HLS实现浮点复数矩阵分解-XilinxForums.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用Vivado-HLS实现浮点复数矩阵分解-XilinxForums

使用Vivado-HLS实现浮点复数矩阵分解 George Wang – Xilinx DSP Specialist 浮点具有更大的数据动态范围,从而在很多算法中只需要一种数据类型的优势。 本文介绍如何使用Vivado-HLS实现浮点复数矩阵分解。使用HLS可以快速,高 效地实现各种矩阵分解算法,极大地提高生产效率, 降低开发者的算法FPGA 实现难度。 1. 矩阵分解算法简介 矩阵分解是将一个矩阵A分解成Q与R相乘, 其中R是个上三角矩阵, Q是个正交矩阵, Q = 1 是Q的转置共轭矩阵 2. 矩阵分解Vivado-HLS实现c++代码构架 矩阵分解由顶层matrix_dcmp.cpp,下面调用cal_core.cpp, coef_cal.cpp及浮点 加,减,乘,除法等子函数。 void matrix_dcmp ( cf_t in_u[(R_DIM+Y_DIM)/DIV_NUM][DIV_NUM], cf_t pd_err_in, float lamda, float lamda_sqrt, float diag[R_DIM], cf_t r[R_DIM][X_DIM], cf_t p[R_DIM] ) { coef_cal(lamda_sqrt,lamda,diag[i],pre_in_u,pd_err_in,s_o,s_conj_o,la mda_sqrtxs_o,c_o,lamda_sqrtxc_o,diag_out,p_o,pd_err); cal_core(u_tmp, r_tmp, s_n, i, j, k, c_o, lamda_sqrtxc_o, lamda_sqrtxs_o, s_conj_o, in_u_w2, r[i][r_addr]); } void coef_calc ( float lamda_sqrt, float lamda, float r_diag, cf_t u_diag, cf_t pd_err_in, cf_t *s, cf_t *s_conj, cf_t *lamda_sqrtxs, float *c, float *lamda_sqrtxc, float *diag, cf_t *p_o, cf_t *pd_err ) void calc_core ( cf_t in_u, cf_t r, int s_n, int i, unsigned char j, unsigned char k, float c_o, float lamda_sqrtxc_o, cf_t lamda_sqrtxs_o, cf_t s_conj_o, cf_t* u_ret, cf_t* r_ret ) Vivado-HLS生成的RTL代码在默认情况下保留原有c代码的层次结构,在构建c 代码层次时,可以采用由上至下,从下至上相结合的模块划分方式。对基本的浮 点运算如加,减,乘,除,平方根等写成最底层的子函数,并对其加pipeline,甚 至对输出打一拍register以获得更好的时序性能。如下例: template class T T reg(T x) { #pragma HLS inline self off #pragma HLS interface ap_none register port=return return x; } cf_t mult( cf_t in1, cf_t in2 ) { #pragma HLS PIPELINE cf_t out; float in1_re_in2_re, in1_im_in2_im, in1_re_in2_im, in1_im_in2_re; in1_re_in2_re = hfmult(in1.re,in2.re); i

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档