数字信号处理中的基本运算——加法运算

1. 一位全加器

 

2. 二进制加法原理 

两个N位二进制补码相加,为防止溢出时导致计算结果错误,可将这两个加数先进行符号位扩展,变为N+1位二进制数,然后相加,结果亦取N+1位,可保证运算结果正确。

 

 根据多位加法器原理可知,对于两个N bit二进制补码数相加,可利用N个一位全加器搭建而成。

 当control为0时,执行A+B;当control为1时,执行A-B。

采用HDL描述多位加法器或多位减法器时,并不需要先构造一个全加器,再按照上述电路图搭建,而是符号位扩展后直接用“+”或“-”即可。

通常情况下,用Vivado综合,加法器会用查找表、进位链等资源实现,但可通过设置综合属性USE_DSP48使得加法器用DSP48实现。

reg sout <= (!op)? (ain+bin):(ain-bin);

 3. 复数加法

在某些场合需要执行复数加法运算。复数加法的原理很简单,实部和实部相加得到和的实部;虚部和虚部相加得到和的虚部。

(a)采用了两个加法器,并行执行实部和虚部的加法

(b)采用一个加法器,通过分时复用,分别求和。显然,前者在速度上有优势,后者在资源上有优势。

4. 加法树和加法链

在很多应用场合都会涉及多个数相加求和。

s = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9

 左图是一个三级加法树,每级加法器的位宽依次增加,防止溢出导致计算错误。全流水,从输入到输出需要三个时钟周期。显然将此结构推广,如果要求N个数的和,则需要ceil(log2(N))级加法树。

右图是加法链结构,为了正确相加,从输入到输出需要7个时钟周期(Latency)。相较于加法树,此结构时序稍显复杂,但结构中每个加法器的等级是一致的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/12261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android存储4--初始化.emulated设备的挂载

android版本&#xff1a;android-11.0.0_r21http://aospxref.com/android-11.0.0_r21 android手机的挂载非常复杂。这篇文章针对emulated存储&#xff0c;介绍它的挂载过程。 一、为什么emulted存储要用很复杂的挂载方式 1&#xff0c; emulted存储是什么 android早期&#…

Debezium日常分享系列之:定制Debezium 信号发送和通知

Debezium日常分享系列之&#xff1a;定制Debezium 信号发送和通知 一、自定义信号和通知通道二、结论 Debezium 2.3 在信号和通知功能方面引入了新的改进。除了 Debezium 提供的预定义信号和通知通道之外&#xff0c;您还可以设置新的信号和通知通道。此功能使用户能够自定义系…

100个网络安全测试面试题

1、Burpsuite常用的功能是什么&#xff1f; 2、reverse_tcp和bind_tcp的区别&#xff1f; 3、拿到一个待检测的站或给你一个网站&#xff0c;你觉得应该先做什么&#xff1f; 4、你在渗透测试过程中是如何敏感信息收集的&#xff1f; 5、你平时去哪些网站进行学习、挖漏洞提交到…

系统架构方法论的发展历程

四个阶段 1、面向过程 面向过程的软件开发是一种基于任务和流程的开发方法。该方法主要关注程序的输入、处理和输出过程&#xff0c;强调在程序中将整个过程分解为一系列步骤&#xff0c;并通过这些步骤进行数据处理和算法操作&#xff0c;以实现预期的功能。此方法通常借助流…

第3章 配置与服务

1 CoreCms.Net.Configuration.AppSettingsHelper using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.Json; namespace CoreCms.Net.Configuration { /// <summary> /// 【应用设置助手--类】 /// <remarks> /// 摘要&#x…

[华为OD] 最小传输时延(dijkstra算法)

明天就要面试了我也太紧张了吧 但是终于找到了一个比较好理解的dijkstra的python解法&#xff0c;让我快点把它背下来&#xff01;&#xff01;&#xff01;&#xff01; 文章目录 题目dijkstra算法的python实现python解答dfs解法dijkstra解法 题目 先把题目放出来 某通信网络…

RFID原理与应用课程笔记

一、RFID技术概述 1.rfid技术的特点&#xff1a; 1.1自动识别&#xff1a;1.光学符号识别&#xff08;OCR&#xff09; 2.条形码识别 3.智能卡识别 4.射频识别&#xff08;RFID&#xff09; 5.生物识别 &#xff08;指纹识别&#xff0c;语音识别&#xff09; 1.2.RFID自动…

面试手写实现Promise.all

目录 前言常见面试手写系列Promise.resolve 简要回顾源码实现Promise.reject 简要回顾源码实现Promise.all 简要回顾源码实现Promise.allSettled 简要回顾源码实现Promise.race 简单回顾源码实现结尾 前言 (?﹏?)曾经真实发生在一个朋友身上的真实事件&#xff0c;面试官让…

大数据面试题之Elasticsearch:每日三题(七)

大数据面试题之Elasticsearch:每日三题 1.Elasticsearch索引文档的流程&#xff1f;2.Elasticsearch更新和删除文档的流程&#xff1f;3.Elasticsearch搜索的流程&#xff1f; 1.Elasticsearch索引文档的流程&#xff1f; 协调节点默认使用文档ID参与计算(也支持通过routing)&a…

边缘计算在交通行业的应用有哪些?

随着我国城市化进程的不断加快。人民生活水平不断提高。随之带来的私家车辆增多导致的交通拥堵问题。智慧交通作为一种新兴的交通模式&#xff0c;对传统交通行业产生了深远的影响。 智慧交通利用边缘计算和物联网等先进人工智能技术&#xff0c;赋能传统交通行业数字化升级。…

[QT编程系列-34]:科学计算 - QT对python语言和python库的支持, C++与python混合编程

目录 第1章 QT对python语言和python库的支持 1.1 概述 1.2 C与Python的混合编程 第2章 PyQt &#xff08;在python语言环境下&#xff0c;提供QT的编程环境&#xff09; 2.1 概述 2.2 pyQT python代码示例 2.3 PyQt的一般使用方法 &#xff08;在python环境下使用QT&am…

无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。npm.ps1 cannot be loaded

目录 原因 解决方法 提示 查看当前的执行策略命令 改回默认值 "Restricted"命令 这个错误提示是因为您的系统禁止执行 PowerShell 脚本。 原因 现用执行策略是 Restricted&#xff08;默认设置&#xff09; 解决方法 以管理员身份运行 PowerShell&#xff1a;右键…

CollectionUtils工具类的使用

来自&#xff1a;小小程序员。 本文仅作记录 org.apache.commons.collections包下的CollectionUtils工具类&#xff0c;下面说说它的用法&#xff1a; 一、集合判空 通过CollectionUtils工具类的isEmpty方法可以轻松判断集合是否为空&#xff0c;isNotEmpty方法判断集合不为…

PyTorch Lightning教程二:验证、测试、checkpoint、早停策略

介绍&#xff1a;上一期介绍了如何利用PyTorch Lightning搭建并训练一个模型&#xff08;仅使用训练集&#xff09;&#xff0c;为了保证模型可以泛化到未见过的数据上&#xff0c;数据集通常被分为训练和测试两个集合&#xff0c;测试集与训练集相互独立&#xff0c;用以测试模…

【Visual Studio】无法打开包括文件: “dirent.h”: No such file or directory

VS2017/2019 无法打开包括文件: “dirent.h”: No such file or directory 1 “dirent.h”: No such file or directory 在windows下的VS2017/2019编译器中&#xff0c;发现无法打开“dirent.h”&#xff0c;主要是MSVC并没有实现这个头文件&#xff0c;但是在Linux这个头文件…

如何以管理员权限安装某个msi

介绍 如何以管理员权限安装某个msi 方法 要以管理员权限在控制台中安装一个 MSI 文件&#xff0c;你可以按照以下步骤操作&#xff1a; 打开命令提示符&#xff08;或 PowerShell&#xff09;&#xff1a;按下 Win R 键&#xff0c;在运行窗口中输入 “cmd”&#xff08;或 …

Chapter 8: Files | Python for Everybody 讲义笔记_En

文章目录 Python for Everybody课程简介FilesPersistenceOpening filesText files and linesReading filesSearching through a fileLetting the user choose the file nameUsing try, except, and openWriting filesDebuggingGlossary Python for Everybody Exploring Data Us…

安全初级—正则表达式、This关键字、闭包

文章目录 正则表达式字面量字符元字符转义符特殊字符字符类预定义模式重复类量词符贪婪模式修饰符 This关键字使用场合使用注意点避免多层 this避免数组处理方法中的 this避免回调函数中的 this 绑定 this 的方法Function.prototype.call()Function.prototype.apply()Function.…

LLaMA 2: Open Foundation and Fine-Tuned Chat Models

LLaMA 2: Open Foundation and Fine-Tuned Chat Models Pre-trainingFine-tuningReward modelRLHF参考 Pre-training 数据层面&#xff1a; 预训练语料比LLaMA1多了40%&#xff0c;一共2T tokens&#xff0c;更关注了高质量数据的清洗。 其中数据不包含Meta产品与服务&#xf…

PHP8的注释-PHP8知识详解

欢迎你来到PHP服务网&#xff0c;学习《PHP8知识详解》系列教程&#xff0c;本文学习的是《PHP8的注释》。 什么是注释&#xff1f; 注释是在程序代码中添加的文本&#xff0c;用于解释和说明代码的功能、逻辑或其他相关信息。注释通常不会被编译器或解释器处理&#xff0c;而…