在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 3160|回复: 2

[求助] 怎么用verilog 实现log函数?

[复制链接]
发表于 2021-6-27 09:38:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
如题
发表于 2021-6-27 10:30:24 | 显示全部楼层
你这里问的比较宽泛。
我理解为,你想实现的函数是 log以a为低的b,即log(a)b.
根据对数的的运算规则,log(a)b可以转成自然对数的除法,即: ln(b)/ln(a).
那么该函数就是要设计实现自然对数 ln (x),和浮点除法操作。
1)设计自然对数ln(x)的话,这个要根据你们的精度要求,有不同的做法。精度不高的时候,可以使用查表实现。
2)浮点除法的话,你可以学习一下浮点单元的设计原理。

总体来说,对数设计是较麻烦的,不适合用函数来做。最好用浮点单元来做,内部要划分好流水线。
希望这个思路,对你有用~
回复 支持 1 反对 0

使用道具 举报

发表于 2021-6-27 10:39:16 | 显示全部楼层
本帖最后由 randolpha 于 2021-6-27 10:42 编辑

function int log(input int n);//取整
  if (n<=1) return 1;
  int t=0;
  while (n>1) begin
      n=n/2;
      t++;
  end
  return t;
endfunction
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-8-22 13:58 , Processed in 0.011512 second(s), 4 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表