VHDL逐级进位加法器

2023-10-29 17:40
文章标签 vhdl 加法器 进位 逐级

本文主要是介绍VHDL逐级进位加法器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于逐级进位加法器:
在这里插入图片描述
VHDL实现:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;entity adder_cripple isgeneric(n:integer:=4);port(a,b:in std_logic_vector(n-1 downto 0);cin: in std_logic;s:out std_logic_vector(n-1 downto 0);cout: out std_logic);
end adder_cripple;architecture Behavioral of adder_cripple issignal c:std_logic_vector(n downto 0);
beginc(0)<= cin;  --这里的c是信号G1: for i in 0 to n-1 generates(i)<= a(i) xor b(i) xor c(i);c(i+1) <= (a(i) and b(i)) or (a(i) and c(i)) or (b(i) and c(i));end generate;cout <= c(n);end Behavioral;

原理图:
在这里插入图片描述
进行测试:

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;ENTITY tb_addcri IS
END tb_addcri;ARCHITECTURE behavior OF tb_addcri IS COMPONENT adder_cripplePORT(a : IN  std_logic_vector(3 downto 0);b : IN  std_logic_vector(3 downto 0);cin : IN  std_logic;s : OUT  std_logic_vector(3 downto 0);cout : OUT  std_logic);END COMPONENT;--Inputs---signal a : std_logic_vector(3 downto 0) := (others => '0');---signal b : std_logic_vector(3 downto 0) := (others => '0');
signal a : std_logic_vector(3 downto 0) := "0001";
signal b : std_logic_vector(3 downto 0) := "0000";
signal cin : std_logic := '0';--Outputssignal s : std_logic_vector(3 downto 0);signal cout : std_logic;signal clk,rst:std_logic;constant clk_period : time := 10 ns;BEGIN-- Instantiate the Unit Under Test (UUT)uut: adder_cripple PORT MAP (a => a,b => b,cin => cin,s => s,cout => cout);clk_process :processbeginclk <= '0';wait for clk_period/2;clk <= '1';wait for clk_period/2;end process;stim_proc: processbegin		rst<='0';wait for 10 ns;rst<='1';wait;	  end process;END;

modelsim仿真:
在这里插入图片描述

这篇关于VHDL逐级进位加法器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/302259

相关文章

从VHDL代码到真实硬件:设计一个8位算术逻辑单元

在这个项目中,我们使用VHDL语言创建了一个8位算术逻辑单元(ALU),并在连接到带有输入开关和LED显示器的自定义PCB的Altera CPLD开发板上运行它。 本文引用地址:https://www.eepw.com.cn/article/202409/462593.htm 使用基于硬件的方法开发电子系统并不总是需要将各种晶体管和逻辑门物理连接到面包板或PCB上。可以使用离散逻辑构建算术逻辑单

史上最全BigDecimal的5种进位方式:ROUND_UP,ROUND_DOWN,ROUND_CEILING,ROUND_FLOOR,ROUND_HALF_UP,ROUND_HALF_DOWN的比较

先上JAVA官方文档 /*** Rounding mode to round away from zero. Always increments the* digit prior to a nonzero discarded fraction. Note that this rounding* mode never decreases the magnitude of the cal

VHDL实现IEEE802.3中的CRC32算法

IEEE 802.3 标准中规定的 CRC32 算法是一种基于多项式除法的校验和计算方法。在以太网中,每个帧都包括一个CRC32校验字段,用于检测数据在传输过程中是否出现了错误。该算法使用的多项式为x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 多项式按正常写法是0x04C11DB7,计算

VHDL的数据类型(学习笔记2)

VHDL语言学习笔记(二):数据类型 VHDL语言是一种强数据类型语言,它对运算关系和赋值关系中各种操作数据类型有严格要求: VHDL要求设计实体中的每一个常量、信号、变量、函数以及设定的各种参量都必须具有确定的数据类型,只有相同数据类型的量才能相互传递和作用。 文章目录 VHDL语言学习笔记(二):数据类型1、标准的数据类型1.1,实数(REAL)1.2,整数(INTEGER)1.

【计算机组成原理】二、数据的表示和运算:3.算术逻辑单元ALU(逻辑运算、加法器)

4.运算器ALU 文章目录 4.运算器ALU4.1逻辑运算非(NOT)与(AND)或(OR)异或(XOR)同或(XNOR) 4.2加法器4.2.1一位全加器4.2.2串行加法器4.2.3并行加法器 4.3ALU功能与结构 运算器由 算术逻辑单元ALU和若干 通用寄存器(用于暂存操作数和中间结果),如 累加器ACC, 乘商寄存器MQ, 操作数寄存器X, 变址寄存器IX

1074 宇宙无敌加法器(测试点5)

solution 每位权值不同的高精度加法测试点5:结果为0的情况 #include<iostream>#include<string>using namespace std;int main(){string rule, a, b, ans = "";int carry = 0, temp, cnt, power;cin >> rule >> a >> b;for(int i =

小学生之进位

#include <stdio.h>int main(){int a,b;while(scanf("%d%d",&a,&b)==2){if(!a&&!b)return 0;int c=0,ans=0;for(int i=9;i>=0;i--){c=(a%10+b%10+c)>9?1:0;ans+=c;a/=10;b/=10;}printf("%d\n",ans);}return 0;}结果:

VHDL语言入门整理

1.2选1多路选择器 Library ieee; Use ieee.std_logic_1164.all; Entity L1 is Port ( a,b,s:in std_logic; y:out std_logic ); End L1; Architecture one of L1 is Begin Process(a,b,s)begin If(s='0')then y<=a; Else

组队赛4解题报告(组合数学+禁位排列+容斥原理+精度进位+贪心背包+矩阵快速幂)

B题:ZOJ 3687  链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4970 题意:在d天看不了c章,问复习的方案有多少种? 思路:这题比赛的时候看出是组合数组和容斥原理了,不过不会做,所以一直托到现在了才做。而且自己又看别人的解题报告理解了一下午才理解明白……笨了…… 我在百度文库上已经知道错排和禁位排列是什

【吊打面试官系列】MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

大家好,我是锋哥。今天分享关于 【MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?】面试题,希望对大家有帮助; MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?   SQL 标准定义的四个隔离级别为:  1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 1、read uncommited :读到未