使用FPGA实现超前进位加法器

介绍

前面已经向大家介绍过8位逐位进位加法器了,今天向大家介绍4位超前进位加法器。

对于逐位进位加法器来说,计算任意一位的加法运算时,必须等到低位的加法运算结束送来进位才能运行。这种加法器结构简单,但是运算慢。

对于超前进位加法器,对于每一位的计算结果,都不依赖于低位的运算,而是根据低位的输入直接求得该位的进位,因此,提高了运算速度,但是也占用了更多的资源。


设计文件

library ieee;
use ieee.std_logic_1164.all;
entity cla_adder is
    port (inp1,inp2 : in std_logic_vector(3 downto 0);
            cin : in std_logic;
            s : out std_logic_vector(3 downto 0);
            outp : out std_logic);
end entity;
architecture behavior of cla_adder is
    signal c : std_logic_vector(4 downto 0);
    signal p,g : std_logic_vector(3 downto 0);
begin
    u1:for i in 0 to 3 generate
        p(i) <= inp1(i) xor inp2(i);
        g(i) <= inp1(i) and inp2(i);
        s(i) <= p(i) xor c(i);
    end generate;
    c(0) <= cin;
    c(1) <= (cin and p(0)) or g(0);
    c(2) <= (cin and p(0) and p(1)) or 
                (g(0) and p(1)) or
                g(1);
    c(3) <= (cin and p(0) and p(1) and p(2)) or 
                (g(0) and p(1) and p(2)) or
                (g(0) and p(1) and p(2)) or
                g(2);
    c(4) <= (cin and p(0) and p(1) and p(2) and p(3)) or 
                (g(0) and p(1) and p(2) and p(3)) or
                (g(0) and p(1) and p(2) and p(3)) or
                (g(2) and p(3)) or 
                g(3);
    outp <= c(4);
end architecture;


测试文件

library ieee;
use ieee.std_logic_1164.all;
entity tb_cla_adder is
    
end entity;
architecture behavior of tb_cla_adder is
    component cla_adder is
    port (inp1,inp2 : in std_logic_vector(3 downto 0);
            cin : in std_logic;
            s : out std_logic_vector(3 downto 0);
            outp : out std_logic);
    end component;
    signal inp1,inp2,s : std_logic_vector(3 downto 0);
    signal cin,outp : std_logic;
begin
    dut : cla_adder
    port map(inp1,inp2,cin,s,outp);
    process
    begin
        inp1 <= "0010";
        inp2 <= "1101";
        cin <='0';
        wait for 20ns;
        cin <= '1';
        wait for 20ns;
        inp1 <= "0110";
        inp2 <= "0101";
        cin <='0';
        wait for 20ns;
        cin <= '1';
        wait for 20ns;
    end process;
end architecture;


仿真结果


结语

超前进位加法器相当于使用更多的硬件资源换取了更快的运算速度。大家可以结合逐位进位加法器去看。

有什么问题大家留言哈。

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

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

相关文章

NFT卡牌质押分红模式开发技术讲解分析

近年来&#xff0c;随着加密货币市场的快速发展&#xff0c;NFT&#xff08;Non-Fungible Token&#xff0c;非同质化代币&#xff09;作为一种独特的数字资产形式备受关注。其中&#xff0c;NFT卡牌质押分红模式是一种创新的应用场景&#xff0c;为用户提供了一种参与和投资的…

【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Check Box的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 按钮类控件 | Check Box的使用及说明 文章编号&#xff…

Linux中安装MySQL数据库(Red Hat7.9安装MySQL5.7数据库)

亲测有效,全程在线安装,无需额外下载。 安装、配置、登录、修改密码策略、修改密码、远程连接。 1、先安装JDK? Linux中安装JDK17.X_linux jdk17-CSDN博客 2、安装MySQ5.7版本的数据库? 2.1、卸载自带的Mariadb数据库 如果不卸载mariadb,安装MySQL数据库的时候,会与…

第7章 面向对象基础-下(枚举,包装,抽象类)

7.2 枚举 7.2.1 概述 某些类型的对象是有限的几个&#xff0c;这样的例子举不胜举&#xff1a; 星期&#xff1a;Monday(星期一)......Sunday(星期天) 性别&#xff1a;Man(男)、Woman(女) 月份&#xff1a;January(1月)......December(12月) 季节&#xff1a;Spring(春节…

arduino使用光电开关控制电动平台回零

1.接线介绍 注意&#xff1a;NPN和PNP型光电开关的接线方式不同 首先&#xff0c;得在arduino上设置一个数字量接口&#xff0c;例如&#xff1a; #define PHOTO_SWITCH_PIN 53 // 假设光电开关连接到数字引脚53 然后根据你的情况把白色的或者黑色的线接到该引脚上&#x…

PCIe系统阻抗控制85还是100的验证

高速先生成员--周伟 还记得上次的文章&#xff0c;PCIe阻抗控制&#xff0c;85ohm和100ohm哪个好&#xff0c;文章里面只讲到目前的主要问题&#xff0c;但没有给出具体怎么解决这个问题&#xff0c;今天我们就通过无源仿真的方式来聊聊上次那个问题的最终解决方案。 目前我们看…

单片机开发常见算法

1.基础数学运算算法 比如加减乘除、求和、求平均、求最大/最小值等简单的数学运算&#xff0c;这些是算法中的基础&#xff0c;经常用于数据处理和计算。 2.排序算法 如冒泡排序、选择排序、插入排序等&#xff0c;用途是将数据按照升序或降序进行排列。 3.滤波算法 如均值…

千锤百炼算法系列之动态规划

题外话 这段时间,我必须把算法弄明白 这篇直接讲解动态规划所有细节! 前面那篇 千锤百炼之每日算法(一)-CSDN博客 也有关于动态规划的讲解,也非常详细 很简单,我成尊不就是了?!!! 正题 动态规划 这里我们主要是让大家明白什么是动态规划,怎么用动态规划解题 我就不用…

Qt 使用qm文件

背景&#xff1a; 多个子项目&#xff0c;分别翻译生成的qm文件&#xff0c;如何一键加载&#xff1f; .h #include <QtCore/QObject> #include <QtCore/QTranslator>class LanguageSelector:public QObeject{Q_OBJECT public:~LanguageSelector() override defa…

IEC104协议

1. 简介 IEC104规约是一个广泛应用于电力、城市轨道交通等行业的国际标准。 2. 术语解释 遥脉 (电度量)&#xff1a; 是指对现场某装置所发出的脉冲信号进行周期累计的一种远程计数操作。 其实&#xff0c;遥脉也可以看成是被具体规定了采用脉冲计数作为测量方法的一种遥测…

【软考经验分享】软考-中级-嵌入式备考

这里写目录标题 教辅用书嵌入式系统设计师考试大纲嵌入式系统设计师教程嵌入式系统设计师5天修炼嵌入式系统设计师考前冲刺100题 刷题软件希赛网软考真题 视频教程希赛网王道-计组计网 教辅用书 嵌入式系统设计师考试大纲 50页左右&#xff0c;内容为罗列一些考点&#xff0c…

CentOS 7 二进制方式安装minio单节点 —— 筑梦之路

下载准备minio二进制包 wget https://dl.minio.io/server/minio/release/linux-amd64/minio chmod x minio sudo mv minio /usr/local/bin/ minio --version 创建用户和授权 sudo groupadd --system miniosudo useradd -s /sbin/nologin --system -g minio minio 对象存储磁…

使用Gate.io的API来进行提现操作

使用Gate.io的API来进行提现操作。 首先配置了API的授权信息,包括API的主机地址、API密钥和API密钥的密钥。 接下来,创建了一个`gate_api.ApiClient`实例,该实例将使用配置的授权信息进行API调用。 然后,创建了一个`gate_api.WithdrawalApi`实例,用于执行提现操作。 接…

信息化工作人员必备常识3——nslookup命令【用来诊断域名(DNS) 基础结构的信息以及用来查看域名和IP的对应关系】

[TOC](信息化工作人员必备常识3——nslookup命令【用来诊断域名(DNS) 基础结构的信息以及用来查看域名和IP的对应关系】) 前言 信息化相关的工作人员&#xff0c;无论你是开发人员、产品经理、CIO领导&#xff0c;你只要是在做信息化相关的工作&#xff0c;有些基础知识和操作…

C#版Facefusion:让你的脸与世界融为一体!-05 人脸增强

C#版Facefusion&#xff1a;让你的脸与世界融为一体&#xff01;-05 人脸增强 目录 说明 效果 模型信息 项目 代码 下载 说明 C#版Facefusion一共有如下5个步骤&#xff1a; 1、使用yoloface_8n.onnx进行人脸检测 2、使用2dfan4.onnx获取人脸关键点 3、使用arcface_w60…

基于MNIST的手写数字识别

上次我们基于CIFAR-10训练一个图像分类器&#xff0c;梳理了一下训练模型的全过程&#xff0c;并且对卷积神经网络有了一定的理解&#xff0c;我们再在GPU上搭建一个手写的数字识别cnn网络&#xff0c;加深巩固一下 步骤 加载数据集定义神经网络定义损失函数训练网络测试网络 …

leetcode-寻找重复数

287-寻找重复数 https://leetcode.cn/problems/find-the-duplicate-number/description/?envTypestudy-plan-v2&envIdtop-100-liked给定一个包含 n 1 个整数的数组 nums &#xff0c;其数字都在 [1, n] 范围内&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存…

小扎万字深度访谈:最强开源大模型Llama 3发布,Meta的AGI路径和开源哲学

今天Meta发布了史上最强开源大模型Llama 3&#xff0c;一口气发布了 8B 和 70B 2个预训练和指令微调模型&#xff0c;对比同级别的参数模型&#xff0c;性能上均达到了最佳。 此外&#xff0c;Meta还发布了基于Llama 3的AI助手Meta AI&#xff0c;可以在Facebook、Instagram、W…

Java使用腾讯翻译api开发app

//这是使用腾讯翻译接口的代码 package com.example.simpleocr; import com.tencentcloudapi.common.Credential; import com.tencentcloudapi.common.profile.ClientProfile; import com.tencentcloudapi.common.profile.HttpProfile; import com.tencentcloudapi.common.exce…

一举颠覆Transformer!最新Mamba结合方案刷新多个SOTA,单张GPU即可处理140k

还记得前段时间爆火的Jamba吗&#xff1f; Jamba是世界上第一个生产级的Mamba大模型&#xff0c;它将基于结构化状态空间模型 (SSM) 的 Mamba 模型与 transformer 架构相结合&#xff0c;取两种架构之长&#xff0c;达到模型质量和效率兼得的效果。 在吞吐量和效率等关键衡量指…