目录

1. 定点数

1)定点数概念

2)FPGA中定点数的表示

2. 浮点数

1)浮点数概念

3. VERILOG计算

1)加减法

2)乘法运算

3)其他运算


对于计算机如何表示二进制的定点数的理论,网上及书上都有说明,但是如何用verilog代码写出来呢?这就是本文主要学习的内容。

1. 定点数

1)定点数概念

定点数主要是确定小数点的位置,小数点后的二进制位数越多,所表示的数据的精度就越高,例如下图能表示的精度就是2^(-5)=0.03125,误差也就<0.03125。下图所表示的数=

也可以表示为:0xff/2^5= 7.96875.

2)FPGA中定点数的表示

       模块之间的连接是无法传递小数点的。在FPGA中,定点数会通常取绝对值小于1。即,在数字处理时,定点数通常把数限制在-1~1之间,把小数点规定在符号位和数据为之间,而把整数位作为符号位,分别用0,1表示正负,尾数即数的本身只有小数部分。数x的定点数表示为:. B为数据位宽,表示寄存器的长度为B位。为符号位。

2. 浮点数

1)浮点数概念

浮点数A由m和e组成,。同时,会有固定的数值基数b和精度B来辅助计算,b为计数系统的基,由国际标准规定,IEEE 754规定b=2;精度B表示使用多少位来存储,m为B位二进制数。

IEEE 754标准中定义了4种浮点数格式,常用的有单精度(32位浮点数),双精度(64位定点数),其中单精度浮点数格式如下: 

浮点数表示的范围大,精度高,但是加法乘法计算过过程复杂,更占用FPGA的资源。

3. VERILOG计算

上面说过,在FPGA中,没办法区分小数点,只是通过线的形式传递数据,最多能在最高位显示符号,而没办法显示小数。verilog会将输入的数据以最低位对齐进行计算。因此,如果需要计算,需要设计者自己隐性规定小数点的位置,且被计算数的小数点必须对齐。

1)加减法

在FPGA中,用有无符号的二进制进行加减法得到的二进制结果是一样的,但是转换乘10进制就会根据是否有溢出会有不同,如果没有溢出,那么有无符号的十进制结果相同,如果有溢出,同样的二进制数表示的十进制就会不同。做加减法运算用有无符号数的数没有明显差别,但是在做数据比较时,定义了有无符号会有明显的不同。

2)乘法运算

如果选用的目标器件内部集成了专用的硬件乘法器核,则verilog语言的乘法运算符在综合成电路时将直接综合成硬件乘法器,否则综合成由LUT等基本原件组成的乘法电路。

3)其他运算

在FPGA中,除法、指数、求模、求余等操作无法直接进行运算,而是分解成加、减、移位等操作来逐步完成。

verilog 定点数、浮点数是什么?怎么表示?怎么做运算?相关推荐

  1. 《编写高质量代码:改善c程序代码的125个建议》——建议4-2:浮点数转换为新类型时必须做范围检查...

    本节书摘来自华章计算机<编写高质量代码:改善c程序代码的125个建议>一书中的第1章,建议4-2,作者:马 伟 更多章节内容可以访问云栖社区"华章计算机"公众号查看. ...

  2. C语言函数库定点数浮点数转换,定点数与浮点数的相互转换

    最近要写段数字运算的程序,因为从FPGA获取到的是定点数,15位数,最高位bit14是符号位,bit13是整数位,后面13位是小数位: 而我的运算过程都是用的浮点数,通过一系列计算后,还需要将计算的结 ...

  3. verilog定点数

    翻了很长时间的帖子,虽然有介绍关于定点数的概念,但是没有很详细的用法.我用Vivado分别做了加减乘除的定点数仿真.有如下总结: 加法和减法相对容易.(看本帖子之前最好看下其他的帖子) 1 所有的数本 ...

  4. python中的浮点数用法_如何利用Python在运算后得到浮点数值的方法详解

    在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值,而在需要进行对除所得的结果进行精确地求值时,想在运算后即得到浮点值,那么如何进行处理呢? 1.修改被除数的值为带小数点的形式 ...

  5. 关于浮点数的问题,我再做一个字体设置的时候总有问题,现在看了这个文章,受到了启发...

    问题描述如下: The following code: float someFloat = 0; for(int x = 1; x <= 10; x++) {  someFloat += .1F ...

  6. 浮点数floats的的整数除法和运算结果不精确

    整数除法 integer division 结果永远向负极限化整: always round down towards negative infinity; 运算中任一数是浮点数的话,结果为浮点数 i ...

  7. verilog中有符号数和无符号数的相关运算

    目录 1.有符号数和有符号数的加减运算(输入和输出为原码) 2.无符号数和有符号数的加减运算(输入和输出为原码) 3.有符号数和有符号数的乘法(输入和输出为原码) 1.有符号数和有符号数的加减运算(输 ...

  8. verilog 浮点数转定点数_聊一聊定点数和浮点数的存储方式

    定点数和浮点数 本文中所提到的都是基于intel x86Cpu,开发环境是基于windows 10 + vs2019.本片博客需要读者自己明白十进制.十六进制.二进制之间的转换,文中不会介绍转换过程, ...

  9. 定点数和浮点数加减乘除运算详解【计算机组成原理】---真的建议收藏啊!!!

    前言: 你知道计算机内部是如何进行加减运算的吗?可能你知道,那你知道计算机内部是如何进行乘除法运算的呢?肯定和我们十进制运算是不一样的.当我查找资料的时候,发现除了书本很少有这样的知识点.所以我想和大 ...

最新文章

  1. java技术培训之File类中常用的构造方法
  2. html图片跟随鼠标,跟随鼠标的图片 - 网页特效代码|网页特效观止 - 让你的网页靓起来!...
  3. PPT讲解机器人产业发展现状与未来展望,重磅资料
  4. 大学最重要的七项学习
  5. 【去广告首选】优酷云-A站-B站-优酷-乐视-搜狐--pptv 接口分享
  6. Nginx多种负载均衡策略搭建
  7. jmeter找不到java_Windows下Jmeter安装出现Not able to find Java executable or version问题解决方案...
  8. systemd-run 中文手册
  9. Web前端工作笔记010---IE8兼容_IE8不能使用foreach_indexOf的解决方案
  10. oracle100多g满了,Oracle11g ORA-00257归档日志满问题处理
  11. php中表单名称未定义,php – zf2,表单集合没有在zf2中创建正确的输入名称
  12. 在上传前探测磁盘是否挂载正常
  13. new和delete运算符
  14. mldn出品java风暴_MLDN出品JAVA风暴-JAVA学习的终极资料
  15. Spring 中的 bean 生命周期(代码实现)
  16. c# 标准正太分布函数_[C#] 查标准正态分布表
  17. 可自主二次开发的微信云控客服crm系统软件(带源码)
  18. Android 课程表
  19. 秋招Java开发工程师笔试_美团Java工程师面试题(2018秋招)
  20. 贺世界智能网联汽车大会-速锐得V8翻开智能驾驶汽车新篇章

热门文章

  1. php检索本地文件,神器:不仅秒搜本地文件,还能1秒在线检索文献!
  2. 极智AI | Attention 中 torch.chunk 的 TensorRT 实现
  3. 软考__BS家族_WBS_OBS_RBS
  4. python列表两两相减_python对向量构成的多维数组中的两个元素进行两两相减
  5. 闲谈IPv6-源IP地址的选择(RFC3484读后感)
  6. python自动汇总表格_用Python自动生成Excel报表
  7. 啊哈 , 算法 !--深度优先搜索( C语言版 )
  8. dynadot解析域名
  9. NET-A-PORTER.COM颇特女士将独家推出ETRO 2015早秋限定系列
  10. “新基建”下的智慧城轨:城轨为“体” 智慧为“用”