四位全加全减器设计
实验一 4位全加器的设计(1)

实验一4位全加器的设计一、实验目的:1 熟悉QuartusⅡ与ModelSim的使用;2 学会使用文本输入方式和原理图输入方式进行工程设计;3 分别使用行为和结构化描述方法进行四位全加器的设计;4 理解RTL视图和Technology Map视图的区别;5 掌握简单的testbench文件的编写。
二、实验原理:一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的进位输入信号cin相接。
三、实验内容:1.QuartusII软件的熟悉熟悉QuartusⅡ环境下原理图的设计方法和流程,可参考课本第4章的内容,重点掌握层次化的设计方法。
2.设计1位全加器原理图设计的原理图如下所示:VHDL源程序如下(行为描述):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity f_add_bev is(A : in std_logic;B : in std_logic;CIN : in std_logic;S : out std_logic;CO : out std_logic);end entity;architecture bev of f_add_bev isbegin(CO,S)<=('0',A)+('0',B)+('0',CIN);end bev;VHDL源程序如下(行为描述)的RTL与technology map视图VHDL源程序如下(数据流描述):library ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all;entity f_add_fl is(A : in std_logic;B : in std_logic;CIN : in std_logic;S : OUT std_logic;CO : out std_logic);end entity;architecture fl of f_add_fl isbeginS<=A XOR B XOR CIN;CO<=((A XOR B)AND CIN)OR(A AND B);end fl;VHDL源程序如下(数据流描述)的RTL与technology map视图:VHDL源程序如下(结构化描述):library ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all;entity f_add_con isport(A : in std_logic;B : in std_logic;CIN : in std_logic;S : OUT std_logic;CO : out std_logic );end entity;architecture con of f_add_con is COMPONENT hadd_vhdPORT(a : IN STD_LOGIC;b : IN STD_LOGIC;co : OUT STD_LOGIC;s : OUT STD_LOGIC );END COMPONENT;SIGNAL S1:STD_LOGIC;SIGNAL CO1:STD_LOGIC;SIGNAL CO2:STD_LOGIC;beginh_add1 : hadd_vhdport map(a => a,B => B,S => S1,CO => CO1);h_add2 : hadd_vhdport map(a => S1,B => CIN,S => S,CO => CO2);CO<=CO1 OR CO2;end con;VHDL源程序如下(结构化描述)的RTL与technology map视图:Testbench文件源程序如下:LIBRARY cycloneiii ;LIBRARY ieee ;USE cycloneiii.cycloneiii_components.all ;USE ieee.std_logic_1164.all ;ENTITY f_add_fl_tb ISEND ;ARCHITECTURE f_add_fl_tb_arch OF f_add_fl_tb ISSIGNAL A : STD_LOGIC :='0';SIGNAL CO : STD_LOGIC ;SIGNAL CIN : STD_LOGIC :='0'; SIGNAL B : STD_LOGIC :='0'; SIGNAL S : STD_LOGIC ;COMPONENT f_add_flPORT (A : in STD_LOGIC ;CO : buffer STD_LOGIC ;CIN : in STD_LOGIC ;B : in STD_LOGIC ;S : buffer STD_LOGIC );END COMPONENT ;BEGINDUT : f_add_flPORT MAP (A => A ,CO => CO ,CIN => CIN ,B => B ,S => S ) ;A<=NOT A AFTER 0.25US;B<=NOT B AFTER 0.5US;CIN<=NOT CIN AFTER 1US;END ;功能仿真波形如下:时序仿真波形如下:3.利用层次化原理图方法设计4位全加器(1)生成新的空白原理图,作为4位全加器设计输入(2)利用已经生成的1位全加器作为电路单元,设计4位全加器。
组合逻辑课程设计4位二进制全加器全减器原创

关键字 74LS283 全加器、四位二进制、迭代电路、并行进位、串行进位、VHDL
摘要
加法器是数字系统中产生数的和的装置。加数和被加数为输入,和数与进 位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进
...
.
..
..
位为输出则为全加器。例如:为了节省资源,减法器和硬件乘法器都可以用加法 器来构成。但宽位加法器的设计是很耗资源的,因此在实际的设计和相关饿得设 计与开发中需要注意资源的利用率和进位速度两方面的问题,多位加法器的构成 主要有两种:并行进位和串行进位。并行进位加法器设有并行进位产生逻辑,运 行速度比串行进位快;串行进位是将全加器采取并行级联或菊花链式级联构成多 位加法器。加法器也是常用作计算机算术逻辑部件,执行逻辑操作、移位与指令 调用。此外还可以用来表示各种数值,如:BCD、加三码,主要的加法器是以二 进制作运算。
1 0 0100 11011000
1 0 0101 00011010
1 0 0001 10011100
1 0 0001 10111110
1 0 1010 01000111
1 0 1010 01101001
1 0 0010 01000011
1 0 0010 01100101
... ... ... ... ... ... ... ... ... ... ... ... ... ...
4位快速加法器设计原理

4位快速加法器设计原理首先,了解数制转换是设计快速加法器的基础。
在二进制数系统中,每一位的值只能为0或1,当其中一位的和超过1时,需要向高位进位。
因此,我们可以利用布尔运算来实现加法运算。
快速加法器通过将加法运算拆分为多个步骤,并利用并行计算的方式,可以快速完成加法运算。
其次,了解逻辑门的设计是设计快速加法器的关键。
逻辑门是一种电子器件,可以根据输入的电信号产生不同的输出电信号。
在快速加法器的设计中,常用的逻辑门有与门、或门、异或门等。
与门可以实现两个输入同时为1时输出1的功能;或门可以实现两个输入中至少有一个为1时输出1的功能;异或门可以实现两个输入恰好有一个为1时输出1的功能。
基于以上原理,可以设计一个基本的四位快速加法器。
该快速加法器的输入为两个四位二进制数A和B,输出为一个四位的和S和一个进位Carry。
具体设计原理如下:1.将输入的两个四位二进制数A和B分别拆分成四个单独的位,记为A0、A1、A2、A3和B0、B1、B2、B32.首先,通过四个异或门实现每一位的和的计算,即S0=A0⊕B0、S1=A1⊕B1、S2=A2⊕B2和S3=A3⊕B33.对于每一位的进位,需要通过与门和或门来实现。
每一位的进位通过与门计算出来,然后通过或门将前一位的进位和当前位的进位相加,得到当前位的最终进位。
4.对于最高位的进位,需要通过或门单独计算,因为这一位没有前一位的进位。
5.将四个异或门和五个与门、三个或门组合成一个四位快速加法器的电路。
通过上述原理设计的四位快速加法器可以实现对两个四位二进制数的快速加法运算。
这种设计不仅提高了加法运算的效率,而且可以利用并行计算的方式进行运算,从而进一步提高了运算速度和效率。
总结起来,设计四位快速加法器的原理涉及到数制转换、逻辑门的设计和运算器的构建等方面。
通过合理的设计和组合,可以构建出一个高效、快速的四位加法器,为计算机运算提供了有力支持。
完整四位全加全减器设计

四位全加全减器设计一.实验目的1熟悉在max+plus II 的环境下设计数字电路的步骤和方法2学习使用vhdl语言,进行设计数字电路的RTL级电路3通过max+plus II 软件中对自行设计的电路的仿真,加深对数字电路设计的理解。
二.实验原理1.功能描述输入:select,Ci, A, B 输出:S,CoSelect=0时,S为全加器的求和位(A+B),Co为全加器的高位进位。
Ci为全加器低位进位。
Select=1时,S为全减器的求差位(A-B),Co为全减器的高位借位。
Ci为全减器低位借位。
2.一位全加全减器真值表:输入输出Select Ci A B S Co0 0 0 0 0 00 0 0 1 1 00 0 1 0 1 00 0 1 1 0 10 1 0 0 1 00 1 0 1 0 10 1 1 0 0 10 1 1 1 1 11 0 0 0 0 01 0 0 1 1 11 0 1 0 1 01 0 1 1 0 01 1 0 0 1 11 1 0 1 0 11 1 1 0 0 01 1 1 1 1 13.逻辑化简由真值表得S=A○十B○十Ci=((A○十Select)○十B○十Ci)○十SelectCo=(A○十Select)B+Ci((A○十Select)+B)=((A○十Select)○十B)Ci+(A○十Select)B对于半加器的逻辑表达式为:S=A○十B Co=AB综上,一位全加全减器可由两个半加器,两个异或门和一个或门组成。
4.毛刺的产生与消除组合逻辑电路由于输入到输出各端的延时不同,在输出端稳定之前会产生错误的输出。
在本电路中,由于低位的进位或借位传输到输出的时间比其他信号传输的延时要长,因此当低位产生进位或借位时会出现错误的输出。
一种常见的方法是利用D触发器的D输入端对毛刺信号不敏感的特点,在输出信号的保持时间内,用触发器读取组合逻辑的输入输出信号。
由组合逻辑电路的最大延时Td为16.7ns,D触发器的时钟周期T应略大于Td,取20ns。
采用VHDL层次化文件设计一个四位全减器

采用VHDL层次化文件设计一个四位全减器一、实训目的1.巩固VHDL层次化文件设计方法。
2.培养应用VHDL层次化文件设计法的技能。
二、实训器材计算机与Quartus Ⅱ工具软件。
三、实训指导(一)实训原理4位二进制减法器由4个全减器构成,而全减器又由一个半减器和一个或门构成,半减器的真值表如表4-1所示:表4-1 半减器的真值表输入输出a1b1s1c10000011110101100半减器的逻辑表达式为:s1=NOT(a1 XOR(NOT b1))c1=(NOT a1) AND b1一位全减器的真值表如表4-2所示:表4-2 一位全减器的真值表c_in i1i2fs c_out0000000111010100110010011101011100011111(二)实训步骤1.电路模块划分根据算法分析,4位二进制减法器可由4个全减器构成,画出其原理方框图。
全减器的原理方框图如图4-1所示。
而每个全减器又可划分为一个半减器和一个或门这两个更小的模块,画出其原理方框图。
4位二进制减法器的原理方框图如图4-2所示。
图4-1一位全减器原理方框图图4-2 4位二进制减法器原理框图2.设计底层设计文件(1)设计半减器文件halfsub.vhd 。
(2)设计或门电路文件orgate.vhd 。
(3)设计全减器电路文件fullsub.vhd ,其中把半减器和或门电路文件作为元件调用。
3.设计顶层设计文件设计顶层设计文件sub4.vhd ,其中把全减器文件作为元件调用。
VHDL 代码如下:halfsub.vhd文件代码如下:ENTITY halfsub ISPORT(a1,b1:IN BIT;s1,c1:OUT BIT);END halfsub;ARCHITECTURE a OF halfsub ISBEGINPROCESS(a1,b1)BEGINs1<=NOT(a1 XOR(NOT b1)) AFTER 10ns; c1<=(NOT a1) AND b1 AFTER 10 ns;END PROCESS;END a;orgate.vhd文件代码如下:ENTITY orgate ISPORT(a,b:IN BIT;o:OUT BIT);END orgate;ARCHITECTURE a OF orgate ISBEGINo<=a OR b;END a;fullsub.vhd文件代码如下:ENTITY fullsub ISPORT(i1,i2,c_in:IN BIT;fs,c_out:OUT BIT);END fullsub;ARCHITECTURE a OF fullsub ISSIGNAL temp_s,temp_c1,temp_c2:BIT; COMPONENT halfsubPORT(a1,b1:IN BIT;s1,c1:OUT BIT);END COMPONENT;COMPONENT orgatePORT(a,b:IN BIT;o:OUT BIT);END COMPONENT;BEGINU0:halfsub PORT MAP(i1,i2,temp_s,temp_c1);U1:halfsub PORT MAP(temp_s,c_in,fs,temp_c2);U2:orgate PORT MAP(temp_c1,temp_c2,c_out);END a;sub4.vhd文件代码如下:ENTITY sub4 ISPORT(a,b:IN BIT_VECTOR(3 DOWNTO 0);cin:IN BIT;fs:OUT BIT_VECTOR(3 DOWNTO 0);cout:OUT BIT);END sub4;ARCHITECTURE a OF sub4 ISSIGNAL temp_co0,temp_co1,temp_co2:BIT;COMPONENT fullsub ISPORT(i1,i2,c_in:IN BIT;fs,c_out:OUT BIT);END COMPONENT;BEGINU0:fullsub PORT MAP(a(0),b(0),cin,fs(0),temp_co0);U1:fullsub PORT MAP(a(1),b(1),temp_co0,fs(1),temp_co1); U2:fullsub PORT MAP(a(2),b(2),temp_co1,fs(2),temp_co2); U3:fullsub PORT MAP(a(3),b(3),temp_co2,fs(3),cout); END a;1.编译顶层设计文件把以上各个模块的VHDL设计文件放入同一个文件夹中,以顶层文件建立工程,直接编译顶层文件同时也就编译各个底层模块文件。
eda课程设计论文4位全加器

eda课程设计论文4位全加器一、教学目标本课程的目标是让学生理解并掌握全加器的工作原理和设计方法,能够运用数字逻辑设计出功能完整的全加器。
知识目标:使学生了解全加器的功能和作用,理解其内部电路的工作原理,掌握全加器的真值表和布尔表达式。
技能目标:培养学生运用数字逻辑设计简单电路的能力,能够独立完成全加器的设计和仿真。
情感态度价值观目标:培养学生对电子技术的兴趣,提高学生解决问题的能力,培养学生的创新精神和团队协作精神。
二、教学内容本课程的教学内容主要包括全加器的功能和工作原理、全加器的真值表和布尔表达式、全加器的设计和仿真。
首先,讲解全加器的功能和作用,通过具体的实例让学生了解全加器在计算机中的重要性。
然后,讲解全加器的内部电路工作原理,使学生理解全加器是如何实现加法的。
接下来,介绍全加器的真值表和布尔表达式,让学生掌握全加器的工作原理。
最后,讲解全加器的设计和仿真方法,培养学生运用数字逻辑设计电路的能力。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法。
首先,通过讲授法向学生传授全加器的理论知识,使学生了解全加器的基本概念和工作原理。
然后,通过讨论法引导学生进行思考和讨论,提高学生的理解能力。
接下来,通过案例分析法分析实际案例,使学生了解全加器在计算机中的应用。
最后,通过实验法让学生动手设计和仿真全加器,提高学生的实践能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备适当的教学资源,包括教材、参考书、多媒体资料和实验设备。
教材:选用《数字逻辑设计》作为主教材,系统地介绍全加器的理论知识。
参考书:推荐《计算机组成原理》等参考书,供学生深入学习和参考。
多媒体资料:制作全加器的原理讲解和设计过程的视频,通过动画和图像等形式直观地展示全加器的工作原理。
实验设备:准备数字逻辑设计实验室,提供全加器的设计和仿真实验所需设备。
四位加法器

硬件描述语言及应用课程设计报告书姓名班级学号指导教师师范学院新能源与电子工程学院题目:4位加法器的设计设计的目的和要求:一、设计目的:复习加法器的原理,掌握加法器的设计实现方法,设计实现数字系统设计中常用的4位加法器,在此基础上进一步熟悉MAX+PLUSⅡ或Quartus II软件的使用方法,熟练掌握EDA的图形编程方法、开发流程、以及组合逻辑电路的设计、分析、综合、仿真方法。
二、设计要求:1、模块与程序名必须为add+班级+学号+改名首字母。
如4班23号王宝宝,模块名:add423wbb,存盘时程序名必须是add423wbb.v。
2、输入端口分别为a、b、cin,a和b为被加数,位长四位,cin为低位进位,位长一位。
输出端口分别为sum、cout,sum为a与b相加后的和,位长四位,cout为向高位的进位,位长一位。
3、仿真时间时长为1微秒,点菜单View→Fit in Window。
仿真结束截图需反映整个仿真时间段情况。
4、菜单Options→Grid Size设置为100ns。
5、输入端口a、b设置波形时需把菜单Options→Snap to Grid前打勾,数据可分开设,右键点vote→Ungroup。
分开设完再点击enter group合并,再进行数据调整。
cin的波形设一两个变化即可,仿真结果要求输出的cout必须有段为“1”。
6、所有输入端口的波形需要设置,输出端口的波形通过仿真得到波形。
图3-1 四位加法器管脚图加法器是能进行加数、被加数和低位来的进位信号相加,并根据求和结果给出该位的进位信号的加法电路。
其真值表如表所示:输入输出a b cin s cout0 0 0 0 00 1 0 1 01 0 0 1 01 1 0 0 10 0 1 1 00 1 1 0 11 0 1 0 11 1 1 1 1实验结果及分析程序设计:module add435yyf(sum,cout,a,b,cin);input[3:0]a,b;input cin;output[3:0]sum;output cout;assign{cout,sum}=a+b+cin;endmodule实验结果如下图所示:根据以上计算和由波形图得到的结果可分析得,上面的图可以看出对设计的全加器进行了2组数据的仿真,由于4位全加器最低位的进位为0,因此将cin置0,仿真的结果同所设计的硬件语言吻合,该设计是正确的。
实验三 4位减法器的设计

实验三 4位减法器的设计
一、实验目的
1.利用实验二的1位全减器sub1设计一个4位全减器,掌握原理图输入法的层次化设计。
2.对设计电路仿真和硬件验证,进一步了解减法器的功能
二、实验步骤
首先,在quartu sⅡ集成环境下执行“File>Create / Update>Creat Symbol Files for Current File”命令,创建1位全减器sub1的元件符号,然后新建一个工程项目,在新的原理图文件中,调入4个sub1元件,仿照4位加法器的原理将4个元件相应端口连接起来,构成4位减法器的电路。
三、实验连线(略)
四、实验结果(自制表格,在表格中填写实验结果)
五、实验原理图及仿真图
(给出截图,包含原理图和仿真波形图记录,并描述硬件仿真的实验现象。
)。