找回密码
 注册
关于网站域名变更的通知
查看: 298|回复: 1
打印 上一主题 下一主题

FPGA浮点乘法运算

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-20 14:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
FPGA浮点乘法运算( o: K0 R- r; {  p9 V
  D, U, u9 m) n' i

0 O1 X2 @( m' X+ h5 {7 @" a+ y  X我一般采用的浮点运算方式为自定义方式 即自己定义小数点的位置
" b: F6 l+ d& _比如计算 30 * pi/180
" Q( k2 g6 u- e30 对应的二进制 00011110
5 a7 O8 u$ L9 w规定A [23:0] [符号位] [22:15]整数位 [14:0] 小数位4 Z. w1 Q+ J2 O! Z/ g% X: w8 V
则30表示为 24’b0_00011110_0000000000000002 B5 x: S/ r, s
1 |" @! w! M7 {" }( t, u+ n/ Y
pi/180 = 0.0174444444444444对应的二进制 0.000001000111011
3 D; X2 z3 U4 }4 v) C* F7 V照规则B [16:0] [符号位] 15整数位 [14:0] 小数位0 Y8 P7 z; C% j1 E1 Z$ o
则 pi/180表示位17’b0_0_000001000111011
" O# ]0 B' ]% T2 ~5 D$ y7 q# L4 D/ l' i' g
计算过程 30*pi/180 = 24’b0_00011110_000000000000000 * 16’b0_000001000111011* T& a' s3 w% n: A6 Z+ q, J
最终结果位24+17bit 即41bit: @% K4 I' l1 h4 ]* a7 E3 r
最关键的一点就是41bit中有多少是整数部分 多少位是小数部分
- Y- \4 ^4 {& _0 `- h, G+ ?小数部分的位数是两个数小数部分位数之和 第一个数的小数部分15位 第二个数的小数部分15位0 t4 `; [3 y3 ~4 F7 G; u; C
所以最终结果 小数部分共30位6 w# ], [+ H' y$ L8 _' |

( M0 ]3 z. I( V7 s8 y所以最终的表示 [40:0] 40:符号位 [39:30]整数部分 [29:0]小数部分' c2 y5 ?# x$ A/ k- Q% u
计算过程7 x. a- b" j( ?' y; g6 u
/ ]1 o6 E8 \' V2 Q7 u5 [
  • assign result = $signed(A) * $signed(pi_180) //采用有符号数的乘法
    $ G" l: r5 v% ]& T+ \

5 w5 r* n$ f, r% f7 R. y得到结果 result = 41’h217500006 Z3 R% c' i3 X8 I$ Q- Q# N! s, u. R& N
0 M2 w: X, I, t: C' f0 n
! ]! _: X( l3 q" b) v
% O; W% {3 h  H% Q% O6 U

6 I! K8 x/ u- Y3 Y. B4 C8 R+ l8 V! ~0 |& u
# Q5 Y7 ]. A- o9 Y
8 Z# f' ?" t' R, w+ A* w- X

% f$ s" Y8 ?* A) Q( B. L  |8 Q; `: ~

" O) i' c: A! O( j* \1 h: r5 L
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-12 20:50 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表