欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > Vivado IP之浮点数Floating-point

Vivado IP之浮点数Floating-point

2025/2/12 10:47:29 来源:https://blog.csdn.net/cabinGGG/article/details/145557949  浏览:    关键词:Vivado IP之浮点数Floating-point

在Vivado的IP Catalog中搜索Floating-point即可找到该IP

Operation Selection界面

1.绝对值,即result=|A|

2.累加

3.两个浮点数的加法或者减法

4.两个浮点数进行比较

5.两个浮点数的除法

6.求指数,即e^A

7.定点数到浮点数的转化

8.浮点数转化为定点数

9.浮点数到浮点数的转化,比如单精度转为双精度

10.乘加,如(A*B)+-C

11.求In,即In(A)

12.两个浮点数的乘法

13.1/浮点数,即1/A

14.根号分之一,

15.浮点数开根号

Precision of Inputs界面

该界面为输入数据的精度设置,以12两个浮点数之间的乘法为例

1展示了四种精度,分别是半精度、单精度、双精度、以及自己自定义精度类型。

单精度浮点数的类型如下面所示,指数位有8位,小数位有24位,总共是32位

Optimizations界面

这里是对DSP资源的优化,可以自行选择使用多少个DSP资源,分别在下面有展示,可以根据自己的板卡资源,来决定使用多少资源。

Interface Options界面

可以选择阻塞或非阻塞以及时延

 Verilog例化-以非阻塞为例

例化还是非常简单的,输入时钟、两个浮点数以及其有效信号;输出则是结果和其有效信号,在有效信号拉高时,即可采集到最终的结果。

floating_point_0 your_instance_name (.aclk(aclk),                                  // input wire aclk.s_axis_a_tvalid(s_axis_a_tvalid),            // input wire s_axis_a_tvalid.s_axis_a_tdata(s_axis_a_tdata),              // input wire [31 : 0] s_axis_a_tdata.s_axis_b_tvalid(s_axis_b_tvalid),            // input wire s_axis_b_tvalid.s_axis_b_tdata(s_axis_b_tdata),              // input wire [31 : 0] s_axis_b_tdata.m_axis_result_tvalid(m_axis_result_tvalid),  // output wire m_axis_result_tvalid.m_axis_result_tdata(m_axis_result_tdata)    // output wire [31 : 0] m_axis_result_tdata
);

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com