池州网站制作,网站建设技术大全,建设企业网站企业网上银行官网官方,免费制作桥架appVIVADO中单精度浮点数IP核计算结果与MATLAB单精度浮点数计算结果的对比 MATLAB定点运算仿真#xff0c;对比VIVADO计算的结果 目录
前言
一、VIVADO与MATLAB单精度浮点数运算结果对比
二、MATLAB定点运算仿真
总结 前言 本文介绍了怎么在MATLAB中使用单精度浮点数进行运算… VIVADO中单精度浮点数IP核计算结果与MATLAB单精度浮点数计算结果的对比 MATLAB定点运算仿真对比VIVADO计算的结果 目录
前言
一、VIVADO与MATLAB单精度浮点数运算结果对比
二、MATLAB定点运算仿真
总结 前言 本文介绍了怎么在MATLAB中使用单精度浮点数进行运算另外还将MATLAB单精度浮点数运算的结果和VIVADO浮点数IP核运算的结果作了对比会发现二者结果是吻合的。最后还介绍了怎么在MATLAB中进行定点运算的仿真也将其和VIVADO仿真的结果进行了对比二者也是吻合的。 提示创作不易有帮助请一键三连
一、VIVADO与MATLAB单精度浮点数运算结果对比 首先用MATLAB产生一组测试数据 arandn(1);mat2str(a) brandn(1);mat2str(b) aasingle(a);mat2str(aa) num2hex(aa) bbsingle(b);mat2str(bb) num2hex(bb) ccaa*bb;mat2str(cc) num2hex(cc) ans 0.5376671395461 ans 1.83388501459509 ans 0.537667155265808 ans 3f09a48e ans 1.8338850736618 ans 3feabcbf ans 0.986019790172577 ans 3f7c6bcb MATLAB产生了两个单精度的数并计算了这两个数的乘法还给出了相应的4字节数据表示值。这里需要注意的是按理来说单精度浮点数应该只有7位小数但是MATLAB在展示结果时依然采用的双精度浮点数所以小数位数多于7位。包括VIVADO仿真界面也是如此。
数值表示字节表示aa0.5376671552658083f09a48ebb1.83388507366183feabcbfccaa*bb0.9860197901725773f7c6bcb
以上是MATLAB的运算结果下面是VIVADO以单精度浮点数计算的结果 对比可以发现MATLAB和VIVADO计算的结果是相等的。这样我们在编写算法时就可以先用MATLAB模拟FPGA运算仿真验证算法性能了。 一组数据有可能是偶合再随机测试一组数据确保真的对得上。MATLAB再运行一次得 ans -2.25884686100365 ans 0.862173320368121 ans -2.25884675979614 ans c01090f2 ans 0.862173318862915 ans 3f5cb764 ans -1.94751739501953 ans bff94840 MATLAB结果如表格所示
数值表示字节表示aa-2.25884675979614c01090f2bb0.8621733188629153f5cb764ccaa*bb-1.94751739501953bff94840
VIVDO计算结果如下 对比依然可以发现MATLAB和VIVADO计算的结果是相等的。
综上VIVADO中的单精度浮点数的运算能用MATLAB的计算来模拟此处只验证了乘法推测其他运算也是没问题的不放心的读者可自行验证加减除。
二、MATLAB定点运算仿真 方法比较简单就是把数乘上2^位宽后四舍五入再进行运算相当于把数给扩大只有整数部分。注意这个位宽是不包含符号位的。运算完后需要截位就自行截位不需要截位就不用截位。
MATLAB代码及运算结果如下 leng15; % 不含符号位 arandn(1)1j*randn(1); aaround(a*2^(leng));mat2str(aa) real_adec2hex(real(aa),4) imag_adec2hex(imag(aa),4) brandn(1)1j*randn(1); bbround(b*2^(leng));mat2str(bb) real_bdec2hex(real(bb),4) imag_bdec2hex(imag(bb),4) caa*bb mat2str(c) real_cdec2hex(real(c),8) imag_cdec2hex(imag(c),8) ans -28340-985i real_a 914C imag_a FC27 ans -540320569i real_b EAE5 imag_b 5059 c 1.7338e08 - 5.7760e08i ans 173381485-577603505i real_c 0A55976D imag_c DD92784F 同样的给出VIVADO中调用定点复数乘法器运算得到的结果。 对比十六进制表示的输入和输出可发现MATLAB的结果和VIVADO的结果完全吻合。 总结 从结果来看在MATLAB中也能模拟VIVADO中的单精度浮点运算和定点运算。