常用FPGA截位扩位方法及代码
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截位扩位方法及代码相关推荐
- html截取字符串的第4位,三种常用JS截取字符串方法 JS截取几位后字符串方法
JS提供了三个常用的截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数: var stmp = "bnxb.com"; ...
- 【FPGA】定点数 数据位宽 运算 位宽截取
在FPGA中,经常使用定点数表示小数,在进行各种运算时,定点数的位宽会发生变化,并且需要在适当地时候对数据的位宽进行截取. 运算要求和引起的位宽变化 假设存在两个数A.B,假定A位宽为m,小数位宽为a ...
- 计算机组成原理认识fpga,计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现_精品.doc...
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现_精品 目录 前言2 第一章 课程设计内容2 1.1 实验要求2 1.2 实验目的2 第二章 实验原理及方案2 2.1 实验 ...
- 罗克韦尔AB PLC RSLogix5000中的位指令使用方法介绍
罗克韦尔AB PLC RSLogix5000中的位指令使用方法介绍 位指令是PLC中最基本的指令之一. 以下为大家介绍几种常用的位指令及其使用方法. 位指令1:检查位是否闭合 XIC 图标如下: 执行 ...
- js保留两位小数的方法
js保留两位小数的方法 js保留两位小数的方法如下 1.toFixed()方法 需注意,保留两位小数,将数值类型的数据改变成了字符串类型 2.Math.floor(),不四舍五入 ,向下取整 注意,不 ...
- python得到一个10位随机数的方法及拓展
无意中看到一个写10位随机数的方法,很有想法,然后就从学了一下随机数,相关东西都记一下 直接上代码 import random print ''.join(str(random.choice(rang ...
- Mac技巧之查看苹果电脑 Mac OS X 系统是否开启 64 位运算,以及设置 32/64 位模式的方法
Mac技巧之查看苹果电脑 Mac OS X 系统是否开启 64 位运算,以及设置 32/64 位模式的方法 引用功能被关闭了. 苹果电脑 Mac OS X 10.6 雪豹系统同时支持 32 位和 64 ...
- java中保留小数位_Java中保留两位小数的方法
Java中保留4位小数的方法: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.Number ...
- (10)FPGA面试题多位信号同步问题
1.1 FPGA面试题多位信号同步问题 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题多位信号同步问题: 5)结束语. 1.1.2 本节引言 " ...
最新文章
- 分享我们用Leangoo看板工具做的采购看板,超级好用
- 图像的均值和方差python_python-绘制均值和标准差
- SAP 对HU做货物移动报错-Only 0 serial numbers entered instead of 30 -
- css动画执行保持forwards,css3动画如何在动作结束时保持该状态不变
- 四宫格效果 css_【深度教研】智力游戏“九宫格” 集体教研活动纪实
- vue实现查询多条记录_vue.js 实现天气查询
- 敏捷开发系列学习总结(4)—Git管理工具sourcetree的安装
- 游戏平台系统源码有多重要?
- PIC单片机入门教程(四)—— 第一个工程
- 如何取消计算机限制连接,怎样解除网络连接限制?
- 利用辗转相除法——求最大公约数(详解)
- 试用期、见习期、实习期、合同期、服务期的区别与应用
- Vijos - 古韵之鹊桥相会(最短路||DFS)
- Java Base64 加密解密 (数据加密或解决手机Emoji表情被数据库过滤掉的问题)
- sql server 数据库表中插入带有英文 单引号 或双引号 的数据
- 前锋java教学大纲,【人教版初中英语教学大纲模板资讯】人教版初中英语教学大纲模板足球知识与常识 - 足球百科 - 599比分...
- cad调了比例因子没反应_天正CAD标注比例大小调整方法
- 无线传感器网络的时钟同步估计问题(Matlab代码实现)
- [翻译]CryEngine3中裁剪剔除解释
- Windows下运行war包
热门文章
- BMD UltraStudio 4K Extreme 3采集卡
- CF 362C 冒泡排序 交换哪两个数逆序数减少最多
- c4d python_C4D python 创建物体修改属性
- 连接mysql插件_MySQL 插件之 连接控制插件(Connection-Control)
- 前端进阶:跟着开源项目学习插件化架构
- 永久删除计算机硬盘中数据的快捷键,TS DataWiper数据彻底删除软件|好用的硬盘数据永久清除工具_最火软件站...
- 安全设备-华为防火墙NAT环境配置IPSec
- c语言做贪吃蛇简易程序,我用VB做了个贪吃蛇的游戏
- 计算机丢失dll文件怎么弄,xxxxxx.dll文件丢失了怎么办?如何解决?
- (Ryan的Koa系列博客)2.严谨模式(未全部完成)