请选择 进入手机版 | 继续访问电脑版

fpga论坛|fpga设计论坛

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1962|回复: 1

关于定点数的乘法和加法问题

[复制链接]
liuqiao168752 发表于 2010-9-29 23:12:53 | 显示全部楼层 |阅读模式
学习Verilog 有一段时间了,有个问题一个在困扰着我,我知道Verilog中只能处理0,1的数据,可是,我总是想在脑子里想把他们转化为10进制数,这就涉及到定点数的计算,比如我设计了一个滤波器的模块,输入的是有符号的定点数,比如a(15,12),15代表a的整个字长,12是表示小数的比特数,则用了15-12-1=2比特表示了整数,若 b也为(15,12),则c=a+b,在不考虑溢出的情况下,c的位宽至少要16个比特吧,则c(16,12)是后面12个比特表示小数么??如果c=a*b? 则c至少要15+15-1=29比特吧?那么c(29,24)?是后面的24比特表示小数么?,如果我要把c截断成(23,18),也就是取原来29比特的高23位吧?另外一种情况
若a,b位宽不一样,比如a(10,7),b(15:10),则计算a+b时,是不是要把a的尾部部3个零,以使小数点对齐?此时相当于a(13:10),b为(15:10),若此时计算a+b,则至少要16位,是吧?如果 a(10,7),b(15:10),做c=a*b 则不需要小数点对齐了吧?但是保存c,至少要10+15-1=24位吧?减1的原因是因为a,b都是有符号数,总共符号位有两位,所以要减少一位,但此时的小数点位置在哪里呢?是(24,17)是17位么?
我查看了很多Verilog教材,没有一个教材比较详细的讲了这些,不知道我说的对不对?请大侠看一下,谢谢了
hst_zxfpga 发表于 2018-10-11 14:43:18 | 显示全部楼层
最近也在这方面的内容
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

QQ|小黑屋|手机版|Archiver|FPGA论坛 ( 京ICP备10035964号  

GMT+8, 2018-10-19 17:09 , Processed in 0.140053 second(s), 22 queries .

至芯科技 Powered by Discuz X3.2

© 2001-2014 Comsenz Inc.

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