中国商城网站建设,网站建设的实训报告,如何编写一个app,官网首页设计因为在普通的fpga芯片里面#xff0c;寄存器只可以表示无符号型#xff0c;不可以表示小数#xff0c;所以在计算比较精确的数值时#xff0c;就需要做一些处理#xff0c;不过在altera在Arria 10 中增加了硬核浮点DSP模块#xff0c;这样更加适合硬件加速和做一些比较精… 因为在普通的fpga芯片里面寄存器只可以表示无符号型不可以表示小数所以在计算比较精确的数值时就需要做一些处理不过在altera在Arria 10 中增加了硬核浮点DSP模块这样更加适合硬件加速和做一些比较精确的计算。 浮点数和定点数的区别定点数的小数点是固定的而浮点数的小数点的位置不确定举个例子定点数 1.1*1.1 1.2定点一位小数浮点数1.1*1.1 1.21浮点数的小数点发生了移动而定点数舍弃了一位小数点的位置没有变。 在verilog里面如果用用16位二进制表达定点小数最高位就是符号位。我们把小数点之后的N位叫做Qn例如小数点之后有12位叫做Q12格式的定点小数 而Q0就是我们所说的整数。 Q12的最大正数是0111.1111_1111_1111第一个0是符号位后面的数都是1那么这个数的十进制就是0x7fff/2^127.99999......为啥是除2^12呢因为是 十二位小数0.1111_1111_1111接近与整数1这样看有多少个1. 反过来一个实际的数转换成Qn型的定点小数就是就是乘上2^n 举个例子 2.1*2.2 4.62 先转换成定点数 2.1 * 2^!2 8601.6 8602 2.1 * 2^12 9011.2 9011 定点数相乘 8602*9011 77512622 定点数转实际的数 因为是两个定点数相乘所以小数位变成24位 。整数位变成6位 77512622/2^244.62011.....和i结果差距很小 最后记录有符号数的计算 正数 原码 反码 补码 负数 反码 原码的符号位不变其他位取反 补码 反码 1 举个例子 00110010 10000011负数补码10110101因为结果是负数的补码换算成原码是11001011和的绝对值是1001011 转载于:https://www.cnblogs.com/bixiaopengblog/p/7728538.html