打印
[verilog]

请教各位一个关于小数乘法的问题

[复制链接]
1164|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
可木|  楼主 | 2016-7-26 16:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想实现下面一个简单的循环:
if(x>100)
  p=0.8*p+0.2
else
p=0.9*p
其中x是输入,p从0开始(其实可以观察到p也是小于1的),怎么用verilog实现呢?我知道小数乘法可以放大2的n次幂,最后再除,但是算法中要循环使用p我就有点晕了……求各位解答,谢谢!

相关帖子

沙发
玄德| | 2016-7-26 17:18 | 只看该作者

有点莫名其妙
p是怎么输入的?

使用特权

评论回复
板凳
可木|  楼主 | 2016-7-27 10:26 | 只看该作者
玄德 发表于 2016-7-26 17:18
有点莫名其妙
p是怎么输入的?

p是一个输出,这是我截取的一部分伪代码,p初始输出为0,经过其它模块运算会影响x的输入值,而x的值又会决定下一个p的输出值,其实就是一个反馈环路…

使用特权

评论回复
地板
玄德| | 2016-7-27 10:56 | 只看该作者

没明白你纠结在哪里。。。
据我所知,两个非小数的整数相乘,肯定不会得出小数部分。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

469

帖子

0

粉丝