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

FPGA浮点乘法运算

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
FPGA浮点乘法运算: d& ^4 ]" ], a1 W! u4 K" n9 L

4 S0 ~8 N2 o( h- R, P
: [! S* u4 o* R8 t
我一般采用的浮点运算方式为自定义方式 即自己定义小数点的位置8 {6 S! }/ |8 p. }6 h1 h
比如计算 30 * pi/1803 N9 S3 y, `& b) Y% L
30 对应的二进制 00011110% d! o. @. d9 b6 `
规定A [23:0] [符号位] [22:15]整数位 [14:0] 小数位
9 [7 z- G# b& \  K9 q* \0 E# H' k则30表示为 24’b0_00011110_000000000000000
1 T9 C5 x. q! m! W, @% n
8 P) s' |4 N! P3 y( C/ I+ A  Npi/180 = 0.0174444444444444对应的二进制 0.000001000111011
1 j9 T( J- {) e: M( r照规则B [16:0] [符号位] 15整数位 [14:0] 小数位
2 x: B3 F- {# F4 r  m则 pi/180表示位17’b0_0_000001000111011# \, j- c" o, i

2 |- C; ]' X- O- @+ v计算过程 30*pi/180 = 24’b0_00011110_000000000000000 * 16’b0_000001000111011; L/ p8 R; `+ j: {6 B8 W
最终结果位24+17bit 即41bit
' T9 L5 `! i0 W. Y# f; `  I2 [最关键的一点就是41bit中有多少是整数部分 多少位是小数部分
* L, n! L% A( n7 F8 F  d小数部分的位数是两个数小数部分位数之和 第一个数的小数部分15位 第二个数的小数部分15位
: R) b5 q* @7 L- n/ N所以最终结果 小数部分共30位. s3 B( Q; j; v2 E; P

' K2 [- [: s1 L4 f所以最终的表示 [40:0] 40:符号位 [39:30]整数部分 [29:0]小数部分
" w/ W) N0 d' ]7 e; ]计算过程
, z% P  {. u" L3 K0 I- L* f
: q! r5 j0 @$ z: F5 w* n% o
  • assign result = $signed(A) * $signed(pi_180) //采用有符号数的乘法
    , h/ K- C1 s% `' |) P8 K& I
2 u3 B0 X4 |, d/ X2 _! p- H* v$ j
得到结果 result = 41’h217500006 \: a4 ?' X' v  O- Y; x' ]  L0 _) a, o

1 c6 I! N4 ?( }( |
7 C, }6 o# S! a% X6 [

: W7 Z) \$ m" j1 k) _
" S' z- R2 H& r7 H  r/ \

5 W  M) G2 f: g1 y: ~

) D" e/ w9 z+ M. S0 U4 H) o
  S! B+ V/ J' {' |# W& d8 B
" g9 v9 h. ~% v) I1 D; `5 f

& G9 i( G8 e, m) ^
2 A. m' L; ^' ?4 p" l2 _! Q
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-18 20:35 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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