实验二加减法器
加法器电路设计实验报告

加法器电路设计实验报告【加法器电路设计实验报告】一、实验目的本实验的主要目标是通过实际操作,设计并实现一个基础的加法器电路,以深入理解数字逻辑电路的设计原理和工作方式。
通过对半加器、全加器以及多位加法器的设计与搭建,进一步熟悉集成门电路的应用,掌握组合逻辑电路的设计方法,并能对电路的逻辑功能进行有效的验证与分析。
二、实验原理加法器是数字系统中的基本运算单元,其核心工作原理基于二进制数的加法规则。
在最基础的层面上,一个半加器(Half Adder)用于计算两个一位二进制数的和,同时产生一个进位输出;而全加器(Full Adder)在此基础上增加了处理来自低位的进位输入,可以完成三位二进制数的相加。
对于多位二进制数的加法,可以通过级联多个全加器来实现。
1. 半加器:由两个异或门(XOR)实现“和”输出,一个与门(AND)实现“进位”输出,即S=A XOR B,Cout=A AND B。
2. 全加器:除了接收两个数据输入A和B外,还接收一个进位输入Cin,同样由异或门计算“和”,但“进位”输出需要考虑三个输入的与或逻辑关系,即S=A XOR B XOR Cin,Cout=(A AND B) OR (B AND Cin) OR (A AND Cin)。
三、实验步骤1. 半加器设计:首先,利用集成电路库中的逻辑门元件构建半加器,将A 和B作为异或门的输入得到和信号S,将A和B分别连接到与门的两个输入端得到进位信号Cout。
2. 全加器设计:在半加器的基础上,增加一个输入端Cin代表低位的进位,同样运用异或门和与门组合形成全加器的逻辑结构,根据全加器的逻辑表达式连接各门电路。
3. 多位加法器设计:为了实现多位二进制数的加法,将若干个全加器按照从低位到高位的顺序级联起来,每级全加器的进位输出连接到下一级的进位输入。
四、实验结果及分析经过电路设计与仿真测试,成功实现了从半加器到多位加法器的功能转化。
当给定两组多位二进制数后,所设计的加法器电路能够准确无误地计算出它们的和,并正确显示进位信息。
计算机组成原理实验报告

实验一:数字逻辑——交通灯系统设计子实验1:7 段数码管驱动电路设计(1)理解利用真值表的方式设计电路的原理;(2)利用Logisim 真值表自动生成电路的功能,设计一个 7 段数码管显示驱动。
二、实验方案设计7 段数码管显示驱动的设计方案:(1)输入:4 位二进制(2)输出:7 段数码管 7 个输出控制信号(3)电路引脚:(4)实现功能:利用 7 段数码管显示 4 位二进制的 16 进制值(5)设计方法:由于该实验若直接进行硬件设计会比较复杂,而7 段数码管显示的真值表较容易掌握,所以我们选择由真值表自动生成电路的方法完成该实验。
先分析设计 7 段数码管显示驱动的真值表,再利用Logisim 中的“分析组合逻辑电路”功能,将真值表填入,自动生成电路。
(6)真值表的设计:由于是 4输入 7输出,真值表共有 16 行。
7输出对应 7个引脚,所以需要依次对照LED 灯的引脚顺序进行设计,如下图所示(注意LED 的引脚顺序):三、实验步骤(1)在实验平台下载实验框架文件RGLED.circ;(2)在Logisim 中打开RGLED.circ 文件,选择数码管驱动子电路;(3)点击“工程”中的“分析组合逻辑电路”功能,先构建4输入和7输出,再在“真值表”中,将已设计好的真值表的所有数值仔细对照着填入表格中,确认无误后点击“生成电路”,自动生成的电路如下图所示:(4)将子电路封装为如下形式:(5)进行电路测试:·自动测试在数码管驱动测试子电路中进行测试;·平台评测自动测试结果满足实验要求后,再利用记事本打开RGLED.circ 文件,将所有文字信息复制粘贴到Educoder 平台代码区域,点击评测按钮进行测试。
四、实验结果测试与分析(1)自动测试的部分结果如下:(2)平台测试结果如下:综上,本实验测试结果为通过,无故障显示。
本实验的关键点在于:在设计时需要格外注重LED 灯的引脚顺序,保证0-9 数字显示的正确性,设计出正确的真值表。
加法器减法器

加法器减法器实验⼆组合逻辑电路实验—加法器实验⽬的:1. 掌握加法器相关电路的设计和测试⽅法2. 掌握常见加法器集成芯⽚使⽤⽅法实验原理:在组合逻辑电路中任意时刻的输出只取决于该时刻的输⼊,与电路原来的状态⽆关。
常见加法器芯⽚:加减法电路常见芯⽚74LS183,74LS283等实验内容:⼀、实现两个BCD码的加法运算要求:利⽤74LS283加法器来完成。
思考:当两数之和⼩于或等于9时,相加结果和⼆进制数相加没有区别,如果⼤于9时,要如何处理进位。
下表为两个8421的⼆——⼗进制数相加应得到的⼆——⼗进制形式的结果:由表可见,将两个⼆——⼗进制数⽤⼆进制加法器相加,则相加结果⼩于等于9(1001)时,得到的和就是所求的⼆——⼗进制和。
⽽当相加结果⼤于等于10(1010)后,必须将这个结果在另⼀个⼆进制加法器加6(0110)修正,才能得到⼆——⼗进制的和及相加的进位输出。
所以,产⽣进位输出CO2的条件为产⽣CO2的同时,应该在上加上6(0110),得到的和CO2就是修正后的结果,电路图如下:在信号发⽣器中输⼊数据如下:则结果为:图中由下往上读数,即为结果的⼆进制形式,26为进位端,即⼗位。
⼆、实现两个四位⼆进制的减法要求:利⽤74LS283加法器来完成。
思考:如何将加法器转换为减法功能。
⼆进制的减法如何实现。
在算术运算中,减法可以看做加上这个数的负数来表⽰,在数字电路中,可以将减去⼀个数表⽰成加上这个数的反码。
故在设计电路时,可将减数取反,所以电路图为:在信号发⽣器中输⼊数据如下:则结果为:上向下读数为结果的⼆进制形式。
表⽰负数。
实验二运算器实验解读

实验⼆运算器实验解读实验⼆运算器实验1.算术逻辑运算实验⼀.实验⽬的1.了解简单运算器的数据传输通路。
2.验证运算功能发⽣器的组合功能。
3.掌握算术逻辑运算加、减、与的⼯作原理。
4.验证实验台运算的8位加、减、与、直通功能。
5.按给定数据,完成⼏种指定的算术和逻辑运算。
⼆.实验内容1.实验原理算术逻辑单元ALU的数据通路如图2-1所⽰。
其中运算器ALU181根据74LS181的功能⽤VHDL硬件描述语⾔编辑⽽成,构成8位字长的ALU。
参加运算的两个8位数据分别为A[7..0]和B[7..0],运算模式由S[3..0]的16种组合决定,⽽S[3..0]的值由4位2进制计数器LPM_COUNTER产⽣,计数时钟是Sclk(图2-1;此外,设M=0,选择算术运算,M=1为逻辑运算,C N为低位的进位位;F[7..0]为输出结果,C O 为运算后的输出进位位。
两个8位数据由总线IN[7..0]分别通过两个电平锁存器74373锁⼊,ALU功能如表2-1所⽰。
表2-1 ALU181的运算功能注1、* 表⽰每⼀位都移⾄下⼀更⾼有效位, “+”是逻辑或,“加”是算术加注2、在借位减法表达上,表2-1与标准的74181的真值表略有不同。
三.实验步骤(1设计ALU元件在Quartus II 环境下,⽤⽂本输⼊编辑器Text Editor输⼊ALU181.VHD算术逻辑单元⽂件,编译VHDL⽂件,并将ALU181.VHD⽂件制作成⼀个可调⽤的原理图元件。
(2以原理图⽅式建⽴顶层⽂件⼯程选择图形⽅式。
根据图2-1输⼊实验电路图,从Quartus II的基本元件库中将各元件调⼊图形编辑窗⼝、连线,添加输⼊输出引脚。
将所设计的图形⽂件ALU.bdf保存到原先建⽴的⽂件夹中,将当前⽂件设置成⼯程⽂件,以后的操作就都是对当前⼯程⽂件进⾏的。
(3器件选择选择Cyclone系列,在Devices中选择器件EP1C6QC240C8。
2023年大学_EDA技术与VHDL第二版(潘松著)课后习题答案下载

2023年EDA技术与VHDL第二版(潘松著)课后习题答案下载EDA技术与VHDL第二版(潘松著)课后答案下载第1章 EDA技术概述1.1 EDA技术及其发展1.1.1 EDA技术的发展1.1.2 EDA技术的涵义1.1.3 EDA技术的基本特征1.2 EDA技术的主要内容及主要的EDA厂商1.2.1 EDA技术的主要内容1.2.2 主要EDA厂商概述1.3 EDA技术实现目标1.3.1 超大规模可编程逻辑器件1.3.2 半定制或全定制ASIC1.3.3 混合ASIC1.4 EDA技术应用1.4.1 EDA技术应用形式1.4.2 EDA技术应用场合1.5 EDA技术的发展趋势1.5.1 可编程器件的发展趋势1.5.2 软件开发工具的发展趋势1.5.3 输入方式的发展趋势__小结思考题和习题第2章大规模可编程逻辑器件2.1 可编程逻辑器件概述2.1.1 PLD的'发展进程2.1.2 PLD的种类及分类方法2.2 简单可编程逻辑器件2.2.1 PLD电路的表示方法及有关符号 2.2.2 PROM基本结构2.2.3 PLA基本结构2.2.4 PAL基本结构2.2.5 GAL基本结构2.3 复杂可编程逻辑器件2.3.1 CPLD基本结构2.3.2 Altera公司器件2.4 现场可编程逻辑器件2.4.1 FPGA整体结构2.4.2 Xilinx公司FPGA器件2.5 在系统可编程逻辑器件2.5.1 ispLSl/pLSl的结构2.5.2 Lattice公司ispLSI系列器件 2.6 FPGA和CPLD的开发应用2.6.1 CPLD和FPGA的编程与配置2.6.2 FPGA和CPLD的性能比较2.6.3 FPGA和CPLD的应用选择__小结思考题和习题第3章 EDA设计流程与开发3.1 EDA设计流程3.1.1 设计输入3.1.2 综合3.1.3 适配3.1.4 时序仿真与功能仿真3.1.5 编程下载3.1.6 硬件测试3.2 ASIC及其设计流程3.2.1 ASIC设计方法3.2.2 一般的ASIC设计流程3.3 可编程逻辑器件的开发环境 3.4 硬件描述语言3.5 IP核__小结思考题和习题第4章硬件描述语言VHDL4.1 VHDL概述4.1.1 VHDL的发展历程4.1.2 VHDL的特点4.2 VHDL程序基本结构4.2.1 实体4.2.2 结构体4.2.3 库4.2.4 程序包4.2.5 配置4.3 VHDL基本要素4.3.1 文字规则4.3.2 数据对象4.3.3 数据类型4.3.4 运算操作符4.3.5 VHDL结构体描述方式 4.4 VHDL顺序语句4.4.1 赋值语句4.4.2 IF语句4.4.3 等待和断言语句4.4.4 cASE语句4.4.5 LOOP语句4.4.6 RETIARN语句4.4.7 过程调用语句4.4.8 REPORT语句4.5 VHDL并行语句4.5.1 进程语句4.5.2 块语句4.5.3 并行信号代人语句4.5.4 并行过程调用语句4.5.5 并行断言语句4.5.6 参数传递语句4.5.7 元件例化语句__小结思考题和习题第5章 QuartusⅡ软件及其应用5.1 基本设计流程5.1.1 建立工作库文件夹和编辑设计文件 5.1.2 创建工程5.1.3 编译前设计5.1.4 全程编译5.1.5 时序仿真5.1.6 应用RTL电路图观察器5.2 引脚设置和下载5.2.1 引脚锁定5.2.2 配置文件下载5.2.3 AS模式编程配置器件5.2.4 JTAG间接模式编程配置器件5.2.5 USBBlaster编程配置器件使用方法 __小结思考题和习题第6章 VHDL应用实例6.1 组合逻辑电路设计6.1.1 基本门电路设计6.1.2 译码器设计6.1.3 数据选择器设计6.1.4 三态门设计6.1.5 编码器设计6.1.6 数值比较器设计6.2 时序逻辑电路设计6.2.1 时钟信号和复位信号6.2.2 触发器设计6.2.3 寄存器和移位寄存器设计6.2.4 计数器设计6.2.5 存储器设计6.3 综合实例——数字秒表的设计__小结思考题和习题第7章状态机设计7.1 一般有限状态机7.1.1 数据类型定义语句7.1.2 为什么要使用状态机 7.1.3 一般有限状态机的设计 7.2 Moore型有限状态机设计 7.2.1 多进程有限状态机7.2.2 单进程有限状态机7.3 Mealy型有限状态机7.4 状态编码7.4.1 状态位直接输出型编码 7.4.2 顺序编码7.4.3 一位热码编码7.5 状态机处理__小结思考题和习题第8章 EDlA实验开发系统8.1 GW48型实验开发系统原理与应用8.1.1 系统性能及使用注意事项8.1.2 GW48系统主板结构与使用方法8.2 实验电路结构图8.2.1 实验电路信号资源符号图说明8.2.2 各实验电路结构图特点与适用范围简述8.3 GW48CK/GK/EK/PK2系统信号名与芯片引脚对照表 __小结思考题和习题第9章 EnA技术实验实验一:全加器的设计实验二:4位加减法器的设计实验三:基本D触发器的设计实验四:同步清零计数器的设计实验五:基本移位寄存器的设计串人/串出移位寄存器实验六:同步预置数串行输出移位寄存器的设计实验七:半整数分频器的设计实验八:音乐发生器的设计实验九:交通灯控制器的设计实验十:数字时钟的设计EDA技术与VHDL第二版(潘松著):内容简介《EDA技术与VHDL》主要内容有Altera公司可编程器件及器件的选用、QuartusⅡ开发工具的使用;VHDL硬件描述语言及丰富的数字电路和电子数字系统EDA设计实例。
简单计算器实验报告

简单计算器实验报告
《简单计算器实验报告》
实验目的:通过使用简单计算器进行数学运算,探究其在日常生活中的实际应用价值。
实验材料:简单计算器、纸笔
实验步骤:
1. 使用简单计算器进行加法、减法、乘法和除法运算,记录运算过程和结果。
2. 尝试使用计算器进行复杂运算,如求平方根、求倒数等。
3. 计算器的功能和使用方法的讨论。
实验结果:
通过实验,我们发现简单计算器在日常生活中有着非常重要的应用价值。
它可以帮助我们快速准确地进行数学运算,节省时间和精力。
同时,计算器还具有一些高级的功能,如求平方根、求倒数等,这些功能在科学计算和工程计算中也具有很大的作用。
结论:
简单计算器是我们日常生活中必不可少的工具之一,它的实际应用价值是非常高的。
通过这次实验,我们更加深入地了解了计算器的功能和使用方法,对于我们的学习和工作都有着重要的帮助。
通过这次实验,我们不仅对计算器有了更深入的了解,也增加了对数学运算的兴趣,希望我们在日常生活中能够更加灵活地运用计算器,提高我们的数学运算能力。
加法器、减法器的设计 VHDL

实验报告课程名称电子设计自动化实验(基于FPGA)实验项目加法器、减法器的设计实验仪器计算机+ Quartus Ⅱ9.1系别信息与通信工程学院专业通信工程班级/学号学生姓名实验日期2012、5成绩_______________________ 指导教师_______________________加法器、减法器的设计完成一个8位二进制带符号数的加减电路设计。
设计要求如下:通过拨码开关输入两组8位二进制数,最高位为符号位,0表示正数,1表示负数,其余位表示二进制数值。
用一按键对加、减方式进行控制,0表示加,1表示减。
输出用四位LED数码管显示BCD码。
其中LED显示器最高位为符号位。
VHDL代码LIBRARY IEEE;USE IEEE.std_logic_1164.all;USE IEEE.std_logic_arith.all;USE IEEE.std_logic_unsigned.all;ENTITY add ISPORT(a:in std_logic_vector(7 downto 0);b:in std_logic_vector(7 downto 0);ctrl:in std_logic;bcd:out std_logic_vector(15 downto 0));END ENTITY;ARCHITECTURE func OF add ISSIGNAL x:std_logic_vector(9 downto 0);SIGNAL y:std_logic_vector(9 downto 0);SIGNAL z:std_logic_vector(9 downto 0);SIGNAL c:std_logic_vector(8 downto 0);SIGNAL dec:integer;BEGINyunsuan:BLOCK --运算模块BEGINPROCESS(a)BEGINIF (a(7) = '0') THEN --判断正负x <= '0'&'0'&a;ELSEx(9 downto 8) <= '1'&'1';x(7 downto 0) <= NOT('0'&a(6 downto 0)) + 1;END IF;END PROCESS;PROCESS(a,ctrl)BEGINIF(ctrl = '0') THEN --控制键为0,则做加法IF(b(7) = '0') THENy <= '0'&'0'&b;ELSEy <= '1'&'1'&(NOT('0'&b(6 downto 0))+1);END IF;ELSEIF(b(7) = '1') THENy <= '0'&'0'&'0'&b(6 downto 0);ELSEy <= '1'&'1'&(NOT('0'&b(6 downto 0))+1);END IF;END IF;END PROCESS;PROCESS(a,b)BEGINIF(a(6 downto 0) = 0) THENz <= y;ELSE IF(b(6 downto 0) = 0) THENz <= x;ELSEz <= x + y;END IF;END IF;END PROCESS;PROCESS(z)BEGINIF(z(9) = '1') THEN --判断结果的正负c(7 downto 0) <= NOT z(7 downto 0) + 1;c(8) <= '1';ELSEc(8 downto 0) <= '0'&z(7 downto 0);END IF;END PROCESS;END BLOCK;bcdout:BLOCKBEGINdec <= CONV_INTEGER(c); --二进制转十进制PROCESS(c)BEGINCASE c(8) IS --判断最高位正负WHEN '0' => bcd(15 downto 12) <= "0000";WHEN '1' => bcd(15 downto 12) <= "0001";WHEN OTHERS => bcd(15 downto 12) <= NULL;END CASE;CASE dec/100 IS --判断百位数字WHEN 0 => bcd(11 downto 8) <= "0000";WHEN 1 => bcd(11 downto 8) <= "0001";WHEN OTHERS => bcd(11 downto 8) <= NULL;END CASE;CASE (dec REM 100)/10 ISWHEN 0 => bcd(7 downto 4) <= "0000";WHEN 1 => bcd(7 downto 4) <= "0001";WHEN 2 => bcd(7 downto 4) <= "0010";WHEN 3 => bcd(7 downto 4) <= "0011";WHEN 4 => bcd(7 downto 4) <= "0100";WHEN 5 => bcd(7 downto 4) <= "0101";WHEN 6 => bcd(7 downto 4) <= "0110";WHEN 7 => bcd(7 downto 4) <= "0111";WHEN 8 => bcd(7 downto 4) <= "1000";WHEN 9 => bcd(7 downto 4) <= "1001";WHEN OTHERS => bcd(7 downto 4) <= NULL;END CASE;CASE dec REM 10 ISWHEN 0 => bcd(3 downto 0) <= "0000";WHEN 1 => bcd(3 downto 0) <= "0001";WHEN 2 => bcd(3 downto 0) <= "0010";WHEN 3 => bcd(3 downto 0) <= "0011";WHEN 4 => bcd(3 downto 0) <= "0100";WHEN 5 => bcd(3 downto 0) <= "0101";WHEN 6 => bcd(3 downto 0) <= "0110";WHEN 7 => bcd(3 downto 0) <= "0111";WHEN 8 => bcd(3 downto 0) <= "1000";WHEN 9 => bcd(3 downto 0) <= "1001";WHEN OTHERS => bcd(3 downto 0) <= NULL;END CASE;END PROCESS;END BLOCK;END ARCHITECTURE;未下载验证、调试,如发现错误,见谅!——Higashi Q83831295。
TEC-2实验计算机运算器实验

实验报告实验人:学号:08 日期:2010-05-18 院(系):软件学院专业(班级):0实验题目:TEC-2实验计算机运算器实验一. 实验目的1.了解和掌握Am2901运算器的组成结构的工作原理;2.认识和掌握TEC-2机计算器的组成和工作原理;3.认识和掌握TEC-2机运算器相关控制信号的含义和使用方法;4.了解和掌握运算器的进位时间的测试方法,及进一步掌握双踪示波器的使用方法;二. 实验原理1).综述TEC-2实验计算机是为计算机组成原理的教学与实验而研制的实验计算机。
有两种方式实验:高级方式实验-联机实验,初级方式实验-脱机实验。
本实验即是采用脱机实验的方法,对运算器的原理和功能进行探究。
首先,运算器部件是计算机五大功能部件中的数据加工部件。
运算器的首要功能是完成对数据的算术和逻辑运算,由其内部的应该被称为算术与逻辑运算部件(ALU)来实现,它在给出运算结果的同时,还给出运算结果的标志,如溢出与否,进位否,结果为零否和符号正负等,这些标志都保存在一个状态寄存器中。
运算器的得二项功能,是暂存将参加运算的数据和中间结果,由其内部的一个寄存器来承担。
因为这些寄存器可被汇编程序直接方位与使用,因此将它们成为通用寄存器,以区别那些计算机内部设置的,不能为汇编程序员访问的专用寄存器。
为了用硬件线路完成程序指令运算,运算器内一般还有一个能自行左右移位的专用寄存器,称为乘商寄存器。
TEC-2实验即得运算器核心部分是Am2901。
Am2901芯片是一个4位的位片结构的完整的运算器部件。
对运算器的控制与操作,指的是如何让运算器完成所预期的操作功能。
这是通过正确的向其提供控制信号。
包括选哪个(哪些)数据参加运算,执行何种运算功能,对运算结果(值和特征)如何保存与送出等;同时,要解决正确运算器提供参加运算数据的种种问题,包括从外部向运算器送入数据,正确给出ALU最低的进位信号,运算器左右移位操作中的移位输入信号等。
实验二 加减法运算器的设计实验报告

加减法运算器的设计实验报告实验二加减法运算器的设计一、实验目的1、理解加减法运算器的原理图设计方法2、掌握加减法运算器的VERILOG语言描述方法3、理解超前进位算法的基本原理4、掌握基于模块的多位加减运算器的层次化设计方法5、掌握溢出检测方法和标志线的生成技术6、掌握加减运算器的宏模块设计方法二、实验任务1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。
模块的端口描述如下:module lab2_RippleCarry 宽度可定制(默认为4位)的行波进位有符号数的加减法器。
#(parameter WIDTH=4)( input signed [WIDTH-1:0] dataa,input signed [WIDTH-1:0] datab,input add_sub, // if this is 1, add; else subtractinput clk,input cclr,input carry_in, //1 表示有进位或借位output overflow,output carry_out,output reg [WIDTH-1:0] result)2、修改上述运算器的进位算法,设计超前进位无符号加法算法器并封装成模块。
模块的端口描述如下:module lab2_LookaheadCarry // 4位超前进位无符号加法器(input [3:0] a,input [3:0] b,input c0, //carry_ininput clk,input cclr,output reg carry_out,output reg [3:0]sum);3、在上述超前进位加法运算器的基础上,用基于模块的层次化设计方法,完成一个32位的加法运算器,组内超前进位,组间行波进位。
4、用宏模块的方法实现一个32位加减运算器。
三、实验内容1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。
实验二运算器实验报告

实验二运算器实验报告
实验二是运算器实验,旨在让我们了解计算机运算器的结构和工作原理。
在本次实验中,我们通过搭建运算器电路并进行验证,深入理解了运算器的运作过程,为我们今后学习和应用计算机原理打下了基础。
一、实验原理
运算器是计算机中重要的组成部分,用于实现各种算术和逻辑运算。
在本次实验中,我们首先学习了运算器的基本原理和功能,并了解了运算器中常用的逻辑门电路,如与门、或门、非门等。
接着,我们根据原理和逻辑门电路的特点,搭建了一个16位的运算器电路,并测试了电路的逻辑功能和运算准确性。
二、实验步骤
1. 搭建16位运算器电路,包括与门、或门、非门等逻辑电路。
2. 对搭建的运算器电路进行测试,如测试与门、或门、非门电路的逻辑输出是否正确。
3. 实现加法和减法运算功能,测试运算器的运算准确性。
4. 对搭建的运算器电路进行进一步优化,提高电路工作效率和运算速度。
三、实验结果
经过实验测试,我们成功搭建了一个16位的运算器电路,并对电路进行了多项测试和验证。
在逻辑输出方面,与门、或门、非门电路均能够正确输出逻辑值,验证了运算器电路的逻辑功能。
在加法和减法运算方面,运算器电路能够正确实现运算功能,并输出正确的运算结果,这表明运算器电路的运算准确性良好。
四、实验总结
通过本次实验,我们深入理解了计算机中运算器的工作原理和结构,掌握了运算器电路的搭建和运作方法,并初步掌握了在运算器上实现加法和减法运算的原理和方法。
此外,我们还了解了运算器电路的优化方法和技巧,提高了电路工作效率和运算速度。
这些知识和技能对我们今后学习和应用计算机原理具有重要的指导意义。
实验二 算术运算实验

实验二算术运算实验一、实验目的1、掌握MASMforWindows环境下的汇编语言编程环境使用;2、掌握汇编语言程序设计的基本流程及汇编语言中的二进制、十六进制、十进制、BCD码的表示形式;3、掌握汇编语言对多精度十六进制和十进制的编程方法及运算类指令对各状态标志位的影响及测试方法;4、掌握无符号数和有符号数运算区别及编程方法;5、掌握BCD码调整指令的使用方法二、软硬件实验环境1、硬件环境:惠普64位一体化计算机及局域网;2、软件环境:windows8,红蜘蛛管理系统,MASMforWindows。
三、实验基本原理算术运算实验需要对运行结果进行调试及查看状态字,其相关知识如下。
1) 标志位在debug调试过程中,标志位用特殊符号表示的,其标志名和状态符号的对照表参照表1所示。
表1标志名和状态符号的对照表参照表2) 加减法指令ADD表示加法指令,ADC表示带进位加法指令,SUB表示减法指令,SBB表示带进位减法指令。
3) 乘除法指令MUL表示无符号数乘法指令,IMUL表示带符号数乘法指令,DIV表示无符号数除法指令,IDIV表示带符号数除法指令。
4) 符号位扩展指令CBW表示从字节扩展到字的指令,CWD表示从字扩展到双字的指令。
5) BCD码的调整指令在进行十进制加减运算时,需要将数据用BCD码表示,还要考虑到是组合BCD码还是非组合BCD码,组合BCD码是用一个字节表示两位十进制数,非组合BCD码是用一个字节表示一位十进制数,对于组合的BCD码加减法运算其结果存放在AL中。
组合的BCD码加法调整指令DAA;组合的BCD码减法调整指令DAS;非组合的BCD码加法调整指令AAA;非组合的BCD码减法调整指令AAS;乘法的非组合BCD码调整指令AAM;除法的非组合BCD码调整指令AAD。
8088/8086指令系统提供了实现加、减、乘、除运算指令,可参照表2所示内容。
表2数据类型的数据运算表四、实验步骤与内容1)对于表格中三组无符号数,试编程求这三组数的指定运算结果,并考虑计算结果对标志寄存器中状态标志位的影响:①实验分析本实验要求简单,仅对指定三组数进行基本运算。
实验二:半加、半减器,全加、全减器

B
S
C
0
0
0
00110101
0
1
1
0
1
AS
B
C
表1 图1
从二进制数加法的角度看,真值表中只考虑了两个加数本身,没有考虑低位来的进位,这就是半加器的由来
2.半减器原理
两个二进制数相减叫做半减,实现半减操作的电路称为半减器,表2为半减器的真值表。A为被减数,B为减数,S表示半减差,C表示向高位借位。
A
实验二:半加、半减器,全加、全减器
09020904
同组人员
一、实验目的:
1、掌握74LS00与74LS86器件的逻辑功能。
2、了解算术电路的结构
二、实验设备:
数字电路试验箱、74LS00、74LS86及基本门电路
三、实验原理:
1.半加器原理
两个二进制数相加叫做半加,实现半加操作的电路称为半加器,表1为那半加器的真值表,图1为半加器的符号。A为被加数,B为加数,S表示半加和,C表示向高位进位。
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
表3图3
4.全减器原理
全减器能减数、被减数和低位来的借位信号相减,并根据求减结果给出该位的借位信号。表4为全减器的真值表。 表示被减数 表示减数 表示相邻低位来的借位数, 表示本为和差, 表示向相邻高位的借位数。
计算机组成原理加减器实验报告

网工二班 陈衍席 1205110125实验四 加减器实验【实验环境】1. Windows 2000 或 Windows XP2. QuartusII9.1 sp2、DE2-115计算机组成原理教学实验系统一台,排线若干。
1.实验原理加减器是以二进制方式进行数字的加法或减法运算的器件,它能进行加法或减法运算,做减法运算时,是通过将减法运算转化为加法运算来实现的。
它可以用全加器做成。
(1)1位加法器的原理图设计两个二进制数字A ,B 和一个进位输入C 0相加,产生一个和输出S ,以及一个进位输出C 1,这种运算电路成为全加器(1位加法器)。
1位加法器有两个输出S 和C1,其中S 为加法器的和,C1为进位位输出。
下表中列出一位全加器进行加法运算的输入输出真值表: 加法器的真值表如下表所示:根据以上真值表,可以得到1位加法器的输入与输出逻辑关系。
0)(C B A S ⊕⊕= ; )()()())(()(01C A C B B A C B A B A C ∙+∙+∙=∙⊕+∙=1位加法器的原理图文件:1位加法器的封装图为:(2)8位加法器的原理图设计8位加法器用于对两个8位二进制数进行加法运算,并产生进位。
8位加法器真值表如下所示:8位加法器真值表表中 A[7..0]表示A 有8位输入端:A7-A0;B[7..0]表示B 有8位输入端:B7-B0;S[7..0]表示S 有8位输入端:S7-S0。
8位加法器的A 、B 都有8个输入端,加上进位CIN ,共有17个输入端。
它有9个输出端,即S7-S0和COUT ,因此8位加法器可由8个1位加法器构成。
建立8位加法器原理图文件:输 入 输 出 A[7..0] B[7..0] CIN S[7..0] COUT A B 进位输入 A+B+CIN 进位输出8位加法器的封装图为:(3)32位加法器的原理图设计32位加法器用于对两个32位二进制数进行加法运算,并产生进位。
实验二半加器全加器

进位输出。
全加器的实现方式
01
全加器可以通过逻辑门电路实现,如与门、或门和 非门等。
02
具体实现方式可以根据实际需求选择不同的逻辑门 组合,以实现全加器的功能。
03
全加器在计算机中广泛应用于二进制数的加法运算 和进位处理。
04
实验步骤
设计半加器和全加器
确定输入和输出
半加器有2个输入和3个输出,全加器有3个输入和2个输 出。
结果分析
半加器分析
半加器的原理是通过异或门和与门实现两个 一位二进制数的加法运算,不考虑进位的情 况。通过实验结果可以看出,半加器能够正 确地实现两个一位二进制数的加法运算,并 输出正确的和以及进位。
全加器分析
全加器的原理是通过异或门、与门和一位全 加器实现两个一位二进制数的加法运算,同 时考虑进位的情况。通过实验结果可以看出, 全加器能够正确地实现两个一位二进制数的 加法运算,并输出正确的和、进位以及溢出。
将进位传递给下一位。
如果被加数的某一位与加数 的对应位相加结果为1,且低 位进位输入也为1,则相应的 低位进位输出端会输出1,表 示需要将进位传递给下一位。
全加器的实现方式
全加器可以通过逻辑门电路 实现,如AND门、OR门和 NOT门。
OR门用于处理被加数和加数 的对应位相加结果为1的情况。
AND门用于处理被加数和加 数的对应位相加结果为0的情 况。
检查电路功能
通过输入不同的二进制数,检查电路是否能够正确实现半加器和全加器的功能。
进行二进制数的加法运算
选择要加的二进制数
选择两个一位或两位的二进制 数进行加法运算。
输入二进制数
将选择的二进制数输入到半加 器或全加器中。
观察输出结果
实验2运算器ALU实验

实验2 运算器ALU实验运算器ALU是CPU的主要部件,数据处理的中心。
ALU可以实现算术加减运算和逻辑“与”、“或”、“非”运算,本实验设计8位ALU,为完成8为ALU,我们从1位全加器设计开始,经1位加法器,4位加法器,4位加减法器,到4位算术逻辑运算器ALU;再由4位ALU到8位ALU。
2.1 1位加法器设计1位加法器是构成多位加法器的基础,通过1位加法器可以组成4位加法器,4位减法器。
因此,本实验首先从1位全加器开始。
2.1.1 实验题目1位全加器。
2.1.2 实验内容设计1位全加器,并通过输入波形图验证。
2.1.3 实验目的与要求通过本实验使学生进一步掌握电子电路的设计方法,熟悉CAD软件QuartusII的使用,掌握使用QuartusII仿真来验证电路设计正确性的方法。
2.1.4 实验步骤设置本实验的项目所在路径,命名项目的名称为1ALU,顶层文件的名称也自动命名为1ALU。
如在文件夹C:\eda\ALU下新建工程1ALU,如图2-1 新建工程1ALU所示。
图2-1 新建工程1ALU直接点击next,直到器件选择对话框,如图2-2所示。
这里根据最终使用的FPGA器件选择一种器件,如Cyclone下的EP1C3T144C8,如果不下载到FPGA上进行实验,选择哪一种器件都无所谓。
图2-2 实现器件选择指定设计、仿真和时序验证工具,如图2-3所示,点击next,完成工程建立。
图2-3 工具选择设计1位全加器FA1位全加器是指可以实现两个1位二进制数和低位进位的加法运算逻辑电路(半加器不包括低位进位C i-1)。
它依据的逻辑表达式是:进位C i=A i B i+A i C i-1+B i C i-1,和S i=A i⊕B i⊕C i-1(本算式推导过程可以在教材中找到)。
其中A i和B i是两个1位二进制数,C i代表向高位的进位,C i-1代表低位来的进位,S i代表本位和。
依据上述逻辑表达式,设计实现1位全加的电路图。
数字实验2---可控加减法器

实验二 可控加减法器设计
实验目的:
熟悉全加器的逻辑功能和应用方法; 掌握利用集成全加器设计运算电路的方法。
实验仪器及器件:
(1)数字电路实验系统; (2)示波器; (3)与非门74LS00、74LS10,各1片; (4)四位全加器74LS283,2片。
实验二 可控加减法器设计
实验内容:
1、 利用4位集成全加器74LS283实现4位减法。 2、利用4位集成全加器74LS283设计一个BCD码加法器。 要求:改变加数与被加数数值,记录运算结果,验证设计是否正确,并作 表说明。
数字电子技术实验
实验室: 电气楼310
电 话: 51688346
数字电子技术实验
课程性质及目的: 将理论知识付诸实践,掌握集成器件的性能、应用和 数字电路的设计方法,在实践中深化理论,发现问题,总 结规律,培养独立思考,独立解决问题的能力。 课程主要内容: 基础实验(逻辑门参数测试,触发器等);设计实验 (可控加减法器,计数器,A/D与D/A转换电路应用,555 定时电路);综合性实验(数字函数发生器,简易交通灯 电路设计,多功能流水灯);总计24学时 基本要求:
(1)根据实验内容的要求,设计合理的电路,画出逻辑电路图; (2)借助EWB仿真软件检验设计结果,并做出分析;
(3)完成实验报告。
注意事项:
(1)在设计二—十进制加法器时,两片全加器的CI均应接地。 (2)注意十进制加法器的进位信号,写出逻辑表达式。
(3)本实验电路比较复杂,可先检查修正信号,正确后在做加六电 路。
预习报告;按时参加;大胆实践;认真总结,完成报告。 成绩评定:
预习30%;过程40%;报告20%;综合10%。
数字电子技术实验
数字电路实验项目及教学计划 1、TTL与CMOS集成逻辑门的参数测试 [7周(2) ] 2、可控加减法设计 [8周 (2)] 3、数字函数发生器 [9-10周(4) ] 4、触发器及其应用 [11周(2)] 5、计数器的设计与应用 [12周 (2) ] 6、简易交通灯控制电路 [13、14周 (4)] 7、 A/D、D/A转换电路应用设计 [15周(2) ] 8、 555定时电路 [16周(2)] 9、多功能流水灯 [17、18周(4)]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理实验报告
一、实验目的及要求
本次实验要求掌握加法器、减法器的设计与实现。
可以利用原理图设计并实现 1 位、8 位和32 位加法器,以及32 位加减器。
设计1 位加法器,将加法器中加入减法功能,可以利用SUB(减)的控制信号;
二、实验设备(环境)及要求
1. Windows 2000 或Windows XP
2. QuartusII9.1 sp2、DE2-115 计算机组成原理教学实验系统一台。
三、实验内容与步骤
(1)两个二进制数字A,B 和一个进位输入C0相加,产生一个和输出S,以及一个进位输出C1,这种运算电路成为全加器(1 位加法器)。
1 位全加器有两个输出S 和C1,其中S 为加法器的和,C1 为进位位输出。
下表中列出一位全加器进行加法运算的输入输出真值表:
表2-1 加法器的真值表
根据以上真值表,可以得到 1 位加法器的输入与输出逻辑关系。
根据上面的逻辑关系式可以建立如下图的 1 位加法器的原理图
接着进行功能仿真:
开始功能仿真,在【Processing】菜单下,选择【Start Simulation】启动仿真工具。
实验结果:
在5-10ns 时,A=1,B=0,C0=0,则C1=0,S=1;
在15-20ns 时,A=1,B=1,C0=0,则C1=1,S=0;
在30-35ns 时,A=0,B=1,C0=1,则C1=1,S=0;
在35-40ns 时,A=1,B=1,C0=1,则C1=1,S=1;
(2)8 位加法器的原理图设计
实验原理8 位加法器用于对两个8 位二进制数进行加法运算,并产生进位。
8 位加法器真值表如下所示:
表中A[7..0]表示 A 有8 位输入端:A7-A0;B[7..0]表示 B 有8 位输入端:B7-B0;S[7..0]表示S 有8 位输入端:S7-S0。
8 位加法器的A、B 都有8 个输入端,加上进位CIN,共有17 个输入端。
它有9 个输出端,即S7-S0 和COUT,因此8 位加法器可由8 个 1 位加法器构成。
进行功能仿真:
实验结果:
设置输入端A[7..0],B[7..0]随机值的仿真结果。
(3)32位加法器的原理图设计
32位加法器用于对两个32位二进制数进行加法运算,并产生进位。
根据图中提示,完成32位加法器原理图的设计:
32位加法器的封装图为:
(4)32位加减器的原理图设计32位加减器用于对两个32位二进制数进行加法或减法运算。
它先由4个8位加法器级联成32加法器,然后像1位加法器变换成1位加减器那样,经过变换,最后实现。
32位加减器有两个输出S和COUT,其中S为加法器的和,COUT用于判断减法运算的结果是否为负数。
有3个输入A、B、和SUB,其中SUB用于标记是否做减法运算。
32位加减器真值表如下所示:
仿真实验结果:
如图所示,A,B,SUB为输入,S为结果,COUT用于判断减法运算的结果是否为负数,当S为0时,A,B执行“+”运算;当S为1时,A,B执行“-”运算。
四、分析与讨论
逐级完成原理图设计,最后用SUB的特殊输入端完成加减法的运算,并且学会了用快捷键设置输入的值。