FPGA在进行数字信号处理时会涉及到很多的截位扩位操作,如FFT/IFFT,FIR滤波等。一般的位宽操作主要有扩高位,扩低位,截高位,截低位。

扩高位

在信号的高位填补多个符号位,信号的幅值不会发生变化。

reg [3:0] data;
reg [5:0] data_exp;data_exp <= {2{data[3]},data};

扩低位

在信号的低位填补多个0比特。信号的幅值会等比例放大,信号精度不会发生变化。

reg [3:0] data;
reg [5:0] data_exp;data_exp <= {data, 2'b00};

截高位

截取过多的符号位,如果截位前的数据大于截位后的最大值,则做饱和处理,避免溢出。

parameter Inwidth = 6;
parameter Outwidth = 4;if ( &dataIn[Inwidth-1 : Outwidth-1] = 1'b1 ) | (|dataIn[Inwidth-1 : Outwidth-1] = 1'b0 ) dataOut_f3 <= {dataIn[Inwidth-1] , dataIn[Outwidth-2 : 0]};
elsedataOut_f3 <= {dataIn[Inwidth-1], (Outwidth-1)(~dataIn[Inwidth-1])};

截低位

直接截低位,这种方法虽然不会溢出,但会损失信号精度,且会导致信号整体幅度向下偏移,易产生直流分量

reg [5:0] data;
reg [3:0] data_trunc;data_trunc <= data[5:2]; 

常用FPGA截位扩位方法及代码相关推荐

  1. html截取字符串的第4位,三种常用JS截取字符串方法 JS截取几位后字符串方法

    JS提供了三个常用的截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数: var stmp = "bnxb.com"; ...

  2. 【FPGA】定点数 数据位宽 运算 位宽截取

    在FPGA中,经常使用定点数表示小数,在进行各种运算时,定点数的位宽会发生变化,并且需要在适当地时候对数据的位宽进行截取. 运算要求和引起的位宽变化 假设存在两个数A.B,假定A位宽为m,小数位宽为a ...

  3. 计算机组成原理认识fpga,计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现_精品.doc...

    计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现_精品 目录 前言2 第一章 课程设计内容2 1.1 实验要求2 1.2 实验目的2 第二章 实验原理及方案2 2.1 实验 ...

  4. 罗克韦尔AB PLC RSLogix5000中的位指令使用方法介绍

    罗克韦尔AB PLC RSLogix5000中的位指令使用方法介绍 位指令是PLC中最基本的指令之一. 以下为大家介绍几种常用的位指令及其使用方法. 位指令1:检查位是否闭合 XIC 图标如下: 执行 ...

  5. js保留两位小数的方法

    js保留两位小数的方法 js保留两位小数的方法如下 1.toFixed()方法 需注意,保留两位小数,将数值类型的数据改变成了字符串类型 2.Math.floor(),不四舍五入 ,向下取整 注意,不 ...

  6. python得到一个10位随机数的方法及拓展

    无意中看到一个写10位随机数的方法,很有想法,然后就从学了一下随机数,相关东西都记一下 直接上代码 import random print ''.join(str(random.choice(rang ...

  7. Mac技巧之查看苹果电脑 Mac OS X 系统是否开启 64 位运算,以及设置 32/64 位模式的方法

    Mac技巧之查看苹果电脑 Mac OS X 系统是否开启 64 位运算,以及设置 32/64 位模式的方法 引用功能被关闭了. 苹果电脑 Mac OS X 10.6 雪豹系统同时支持 32 位和 64 ...

  8. java中保留小数位_Java中保留两位小数的方法

    Java中保留4位小数的方法: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.Number ...

  9. (10)FPGA面试题多位信号同步问题

    1.1 FPGA面试题多位信号同步问题 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题多位信号同步问题: 5)结束语. 1.1.2 本节引言 " ...

最新文章

  1. 分享我们用Leangoo看板工具做的采购看板,超级好用
  2. 图像的均值和方差python_python-绘制均值和标准差
  3. SAP 对HU做货物移动报错-Only 0 serial numbers entered instead of 30 -
  4. css动画执行保持forwards,css3动画如何在动作结束时保持该状态不变
  5. 四宫格效果 css_【深度教研】智力游戏“九宫格” 集体教研活动纪实
  6. vue实现查询多条记录_vue.js 实现天气查询
  7. 敏捷开发系列学习总结(4)—Git管理工具sourcetree的安装
  8. 游戏平台系统源码有多重要?
  9. PIC单片机入门教程(四)—— 第一个工程
  10. 如何取消计算机限制连接,怎样解除网络连接限制?
  11. 利用辗转相除法——求最大公约数(详解)
  12. 试用期、见习期、实习期、合同期、服务期的区别与应用
  13. Vijos - 古韵之鹊桥相会(最短路||DFS)
  14. Java Base64 加密解密 (数据加密或解决手机Emoji表情被数据库过滤掉的问题)
  15. sql server 数据库表中插入带有英文 单引号 或双引号 的数据
  16. 前锋java教学大纲,【人教版初中英语教学大纲模板资讯】人教版初中英语教学大纲模板足球知识与常识 - 足球百科 - 599比分...
  17. cad调了比例因子没反应_天正CAD标注比例大小调整方法
  18. 无线传感器网络的时钟同步估计问题(Matlab代码实现)
  19. [翻译]CryEngine3中裁剪剔除解释
  20. Windows下运行war包

热门文章

  1. BMD UltraStudio 4K Extreme 3采集卡
  2. CF 362C 冒泡排序 交换哪两个数逆序数减少最多
  3. c4d python_C4D python 创建物体修改属性
  4. 连接mysql插件_MySQL 插件之 连接控制插件(Connection-Control)
  5. 前端进阶:跟着开源项目学习插件化架构
  6. 永久删除计算机硬盘中数据的快捷键,TS DataWiper数据彻底删除软件|好用的硬盘数据永久清除工具_最火软件站...
  7. 安全设备-华为防火墙NAT环境配置IPSec
  8. c语言做贪吃蛇简易程序,我用VB做了个贪吃蛇的游戏
  9. 计算机丢失dll文件怎么弄,xxxxxx.dll文件丢失了怎么办?如何解决?
  10. (Ryan的Koa系列博客)2.严谨模式(未全部完成)