多位十进制数加法器实验-2014

多位十进制数加法器实验-2014
多位十进制数加法器实验-2014

实验三多位十进制数加法器设计

1、实验目的

(1)继续熟练掌握在PC机上建立、汇编、链接、调试和运行8088汇编语言程序的过程;

(2)学习数据传送和算术运算指令的用法;

(3)掌握子程序设计方法;

(4)掌握宏汇编设计方法;

(5)掌握键盘输出的DOS功能调用方法。

2、实验内容

(1)将两个多位十进制数相加。要求被加数、加数均以ASCII码形式各自按高位高地址的规律分别顺序存放在以DATAl和DATA2为首的5个内存单元中(低位在前),结果送回结果变量DATA3处,并屏幕显示结果。

(2)在以上程序基础上,设计一个多位十进制数加法器,键盘输入十进制加数和被加数,将输入和输出结果以竖式形式显示在屏幕。

3、提示:

(1)算法说明:以42136与12547相加为例,首先将两个数中的每一位都以ASCII码存入相应的内存单元,然后将每一位数都减去30H,并将被加数DATA1和加数DATA2相对应位相加(BCD码加法及其十进制调整,要考虑低位向高位的进位),存入相应的结果DATA3存储单元中,最后将该单元中的每一位数转换成相应的ASCII码,调用DOS系统功能调用的显示字符指令,显示两数相加的结果。

(2)部分程序代码:

DATA SEGMENT ;数据段

…;补充必要的代码,定义被加数、加数和结果变量

DATA ENDS

STACK SEGMENT STACK ;堆栈段

STA DB 64 DUP(0)

SP_TOP DB 0

STACK ENDS

CODE SEGMENT ; 代码段

…;补充必要的代码

;显示回车换行功能用宏定义CRLF实现,放在代码段最前面

CRLF MACRO

MOV DL,0DH ;回车(0DH为回车的ASCII 码)

MOV AH,02H ; 送DOS 的中断调用功能号

INT 21H ; DOS 的中断调用

...;补充必要的代码:用DOS功能调用实现换行,0AH为换行的ASCII 码

ENDM

START:

...; 补充必要的代码:程序开头必须要有的五条指令

; 显示被加数,并回车换行

MOV BX, OFFSET DATA1

MOV SI, 05

CALL DISPL ; 显示被加数,DISPL为显示子程序

CRLF ; 回车、换行宏调用

…; 补充必要的代码,显示加数

CALL ADDA ;调用加法运算子程序

…; 补充必要的代码,显示结果

…; 补充必要的代码:回车、换行

...; 补充必要代码:主程序结束,返回DOS

;DISPL为字符串显示子程序

DISPL PROC NEAR ; 子程序定义

DSL: MOV AH,02 ; 送显示功能号

MOV DL,[BX+SI-1] ; 显示字符串中一字符

INT 21H ; DOS INT 21 功能调用

DEC SI ;修改偏移量

JNZ DSL

RET

DISPL ENDP

; 多位数加法子程序

ADDA PROC NEAR

...;需要自编的求和核心程序

RET

ADDA ENDP

;代码段与程序结束

CODE ENDS

END START

(3)加法器的设计:需要用到字符串输入和字符串输出的DOS功能调用。回撤换行的ASCII码分别是0DH,0AH

i.0AH功能输入:

……

STR1 DB 6, ?, 6 DUP(20H)

;存放键盘输入的被加数,最多5位数+1位结束符回车符0DH

STR2 DB 6, ?, 6 DUP(20H);存放键盘输入的加数

STR3 DB 10, DUP(20H), ‘$’

……

LEA DX, STR1

MOV AH, OAH

INT 21H

CRLF

LEA DX, STR1

MOV AH, OAH

INT 21H

ii.09H功能输出:

把加数与被加数从低位到高位按位相加后,若结果的由高位到低位的ASCII存入了STR3,则

LEA DX, STR3

MOV AH, O9H

INT 21H

执行后,结果可显示在当前光标出。

注意竖式显示的时候,要对齐。

4.实验及报告要求:

1)要求画出完整的程序流程图。

2)根据流程图和部分提示代码,编写完整的汇编代码源文件(特别是以上红字部分),并存入合适目录,要求补充写出所有未注释的伪指令和指令的注释; 3)编译、连接生成可执行文件,分别在debug和Emu8086下调试该可执行文件,给出程序运行时的各段地址(CS=?,DS=?SS=?ES=?)及两个子程序入口的IP; 试改变加数和被加数,如何从内存中观察结果的变化?总结子程序格式及其调用方法;结合本程序说明宏调用与子程序的区别。

4)写出完整的实验报告,特别是“实验结果”与“实验总结体会”部分,是评分的主要依据。

5)实验总结中要求结合实验中的经验、教训或体会对汇编语言格式、调试方法、汇编指令及汇编语言编程方法、微机原理学习方法作出总结。

5.思考题

1)在键盘上输入一个字符或数字,要求:对十六进制数字(由0-9,A~F 或a~f组成),显示该数字的十进制值;当输入值为Q时结束程序,对其他输入提示输入不合法。画出程序流程图并请写出完整程序代码。(必做)

2)请问你的程序能否处理加数和被加数都介于0~65535范围但计算结果超出该范围的情况?如何改进?

3)加数或被加数为负数,结果是否正确,输出格式上作何处理?

4位全加器实验报告

四位全加器 11微电子黄跃21 【实验目的】 采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。 【实验内容】 加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0). 【实验原理】

表2 全加器逻辑功能真值表 图4 全加器方框图 图5 全加器原理图 多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。 四位全加器 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【实验步骤】 (1)建立新工程项目: 打开modelsim软件,进入集成开发环境,点击File→New project建立一

个工程项目adder_4bit。 建立文本编辑文件: 点击File→New在该项目下新建Verilog源程序文件 并且输入源程序。 (2)编译和仿真工程项目: 在verilog主页面下,选择Compile— Compile All或点击工具栏上的按钮启动编译,直到project出现status栏全勾,即可进行仿真。 选择simulate - start simulate或点击工具栏上的按钮开始仿真,在跳出来的 start simulate框中选择work-test_adder_4bit测试模块,同时撤销Enable Optimisim前的勾,之后选择ok。 在sim-default框内右击选择test_adder_4bit,选择Add Wave,然后选择simulate-run-runall,观察波形,得出结论,仿真结束。 四位全加器 1、原理图设计 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【仿真和测试结果】 下图为四位全加器的仿真图:

实验一四位串行进位加法器的设计实验报告

实验一四位串行进位加法器的设计 一、实验目的 1.理解一位全加器的工作原理 2.掌握串行进位加法器的逻辑原理 3.进一步熟悉Quartus软件的使用,了解设计的全过程, 二、实验内容 1.采用VHDL语言设计四位串行进位的加法器 2.采用画原理图的方法设计四位串行进位加法器 三、实验步骤 1、使用VHDL语言设计 1.打开File—>New Project Wizard输入文件名adder4保存在D盘内,打开File—>New—>VHDL File,从模版中选择库的说明,use语句的说明,实体的说明,结构体的说明,编写VHDL代码,然后保存、编译。打开File—>New—>Other File—>Vector Waveform File,查找引脚,从Edit中选择End Time 输入40、ns 保存。从Assignments—>Settings—>Simulator Settings —>Functional 然后Processing—>Generate Functional Simnlation Netlist —>确定。选择Start Simulation保存最后的波形图,打开File —>close关闭工程。 底层文件: LIBRARY ieee;

USE fadder IS PORT ( a, b,cin : IN STD_LOGIC; s, co : OUT STD_LOGIC ); END fadder; ARCHITECTURE arc1 OF fadder IS BEGIN s<=a xor b xor cin; co<=((a xor b)and cin)or(a and b); END arc1; 顶层文件: LIBRARY ieee; USE adder4 IS PORT ( c0: IN STD_LOGIC; a,b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); s : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); c4 : OUT STD_LOGIC );

全加器构成十进制加法器

上海 xxx 学院 《硬件系统设计》上机实验报告(五) 姓名:学号:班级:成绩: 实验名称:全加器及其应用实验地点: 实验设备:(计算机型号)(生产商)设备号: 使用软件: Multisim 10.0 实验时间:年月日星期,时分至时分 一、实验原理:(简述----用自己的理解) 两个一位十进制数相加,若考虑低位来的进位,其和应为0~19,8421BCD 码加法器 的输入、输出都采用8421BCD 码表示,其进位规律为逢十进一,而74HC283D 是按两个 四位二进制数进行运算的,其进位规律为逢十六进一,故二者的进位关系不同,当和数 大于9时,8421BCD 码应产生进位,而十六进制还不可能产生进位。为此应对结果进行 修正,当结果大于9 时,需要加6(0110B)修正。故修正电路应含一个判9 电路,当结果 大于9 时对结果加0110,小于等于9 时加0000。 大于9 的数是最小项的m10~m15,除了上述情况大于9 时外,如相加结果产生了进 位位,其结果必定大于9,因此大于9 的条件为 F = C + SUM4? SUM3+ SUM4? SUM2 = C ? SUM4? SUM3? SUM4? SUM2 全加器74HC283D 的A4A3A2A1、B4B3B2B1 为两个四位二进制数输入端,SUM1、SUM2、 SUM3、SUM4 为相加的和,C0 为低位来的进位,C4 为向高位产生的进位。

二、实验内容(步骤): 选择一个74HC283D_2v,二输入与非门7400N和三输入与非门7410N芯片,Word Genvertor(字信号发生器),构成8421BCD 码加法电路,电路图如下: 对Genvertor(字信号发生器)进行相关设置如下: 在Controls 中选择Cycle 按钮,选择循环输出方式。在Trigger 区,点击按钮Internal,选择内部触发方式。在Controls-Setting 按钮填出的选项卡中,Pre-set Patterns 中选择在Up Counter 选项,即按逐个加1 递增的方式进行编码。在Display Type 中选择Hex,在Buffer Size 中输入0009,在Initial Pattern 中选择00000000。

加法器实验报告文档2篇

加法器实验报告文档2篇 Adder experiment report document 编订:JinTai College

加法器实验报告文档2篇 小泰温馨提示:实验报告是把实验的目的、方法、过程、结果等记录下来,经过整理,写成的书面汇报。本文档根据实验报告内容要求展开说明,具有实践指导意义,便于学习和使用,本文下载后内容可随意修改调整及打印。 本文简要目录如下:【下载该文档后使用Word打开,按住键盘Ctrl键且鼠标单击目录内容即可跳转到对应篇章】 1、篇章1:加法器实验报告文档 2、篇章2:加法器的基本原理实验报告文档 篇章1:加法器实验报告文档 【实验名称】 【目的与要求】 1.掌握1位全加器的设计 2.学会1位加法器的扩展【实验内容】 1.设计1位全加器

2.将1位全加器扩展为4位全加器 3.使4位的全加器能做加减法运算 【操作步骤】 1.1位全加器的设计 (1)写出1位全加器的真值表 (2)根据真值表写出表达式并化简 (3)画出逻辑电路 (4)用quartusII进行功能仿真,检验逻辑电路是否正确,将仿真波形截图并粘贴于此 (5)如果电路设计正确,将该电路进行封装以用于下一个环节 2.将1位全加器扩展为4位全加器 (1)用1位全加器扩展为4位的全加器,画出电路图 (2)分别用两个4位补码的正数和负数验证加法器的正确性(注意这两 个数之和必须在4位补码的数的范围内,这两个数包括符号在内共4位),用quartusII进行功能仿真并对仿真结果进行截图。

3.将4位的全加器改进为可进行4位加法和减法的运算器 (1)在4位加法器的基础上,对电路进行修改,使该电路不仅能进行加 法运算而且还能进行减法运算。画出该电路 (2)分别用两个4位补码的正数和负数验证该电路的正确性(注意两个 数之和必须在4位补码的数的范围内),用quartusII 进行功能仿真并对仿真结果进行截图。 【附录】 篇章2:加法器的基本原理实验报告文档【按住Ctrl键点此返回目录】 一、实验目的 1、了解加法器的基本原理。掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法。 2、学习和掌握半加器、全加器的工作和设计原理

数电实验报告1.2-一位减法器、一位加法器

<熟悉QuartusII和Verilog HDL数字逻辑电路设计基础环境> 实验报告 学生姓名:李旭文超周 班级学号:11自动化1138033 1138019 指导老师:潘秀琴

<实验报告内容> 一、实验名称:学习QurtusII基本功能和使用方法,完成一位减法器、一位 加法器的原理图输入和文本输入、编译校验及功能仿真。 二、实验学时:4学时 三、实验目的:熟悉Quartus II基本功能和使用方法,掌握原理图输入、文本输入的步骤。 四、实验内容:完成一位加法器、一位减法器的设计输入并进行仿真输出。 五、实验原理:数字逻辑电路中各种门电路的功能和使用方法 六、实验步骤: 1.了解quartusII的基本功能使用; 2.设计输入:首先设计出逻辑电路,然后将所设计的数字逻辑电路以某种方式输入到计算机中,QuartusII有原理图输入和文本(代码)输入两种输入模式。3.设计编译校验:编译连接好的输入图形。 七、实验结果: 1.加法器:A.半加器 原理图: 文本:

波形图: B.一位全加器全加器: 原理图: 文本输入:

波形图: 2.减法器:原理图: 文本输入:

波形图: 八、心得体会:这是使用这个软件的第二次实验对于软件的使用已经比较熟练能够很快连接好电路进行试验 九、附录:<程序代码> 1.加法器: A.半加器 module adder(a,b,s,co); input a,b; output s,co; and X1(a,b); xor Y1(a,b); endmodule B.一位全加器 module onebit_fulladd(a,b,ci,sum,cout); input a,b,ci; output sum,cout; wire sum_temp,c_1,c_2,c_3; xor xor1(sum_temp,a,b);

计组-加法器实验报告

半加器、全加器、串行进位加法器以及超前进位加法器 一、实验原理 1.一位半加器 A和B异或产生和Sum,与产生进位C 2.一位全加器 将一位半加器集成封装为halfadder元件,使用两个半加器构成一位的全加器 3.4位串行进位加法器 将一位全加器集成封装为Fulladder元件,使用四个构成串行进位加法器

4.超前进位加法器(4位) ⑴AddBlock 产生并行进位链中的ti(即Cthis)和di(即Cpass),以及本位结果Sum ⑵进位链(Cmaker) 四位一组并行进位链,假设与或非门的级延迟时间为1.5ty,与非门的延迟时间为1ty,在di和ti产生之后,只需2.5ty就可产生所有全部进位

⑶超前进位加法器 将以上二者结合起来即可完成,A和B各位作为各个AddBlock的输入,低一位的进位Ci-1作为本位AddBlock的C-1的输入。各个AddBlock输出的C_this和C_pass作为对应的Cmaker的thisi和passi的输入。

二、实验器材 QuartusII仿真软件,实验箱 三、实验结果 1.串行进位加法器结果 2.超前进位加法器结果

四、实验结果分析 1.实验仿真结果显示串行加法器比超前进位加法器快,部分原因应该是电路结构优化 不到位。另外由于计算的位数比较少,超前进位加法链结构较复杂,所以优势没体现出来,反倒运作的更慢一点。当位数增加的时候,超前进位加法器会比串行的更快。 2.波形稳定之前出现上下波动,应该与“竞争冒险”出现的情况类似,门的延迟和路径 的不同导致了信号变化时到达的时间有先有后,因此在最终结果形成前出现了脉冲尖峰和低谷;另外也可能部分原因由于电路结构优化的不到位所致

十进制加法器

十进制加法器 十进制加法器可由BCD码(二-十进制码)来设计,它可以在二进制加法器的基础上加上适当的 “校正”逻辑来实现,该校正逻辑可将二进制的“和”改变成所要求的十进制格式。 n位BCD码行波式进位加法器的一般结构如图2.3(a)所示,它由n级组成,每一级将一对4位的 BCD数字相加,并通过一位进位线与其相邻级连接。而每一位十进制数字的BCD 加法器单元的逻辑 结构示于图2.3(b)。 图2.3 十进制加法器 在十进制运算时,当相加二数之和大于9时,便产生进位。可是用BCD码完成十进制数运算时,

当和数大于9时,必须对和数进行加6修正。这是因为,采用BCD码后,在二数相加的和数小于等于 9时,十进制运算的结果是正确的;而当相加的和数大于9时,结果不正确,必须加6修正后才能得 出正确的结果。因此,当第一次近似求值时,可将它看成每一级是一个4位二进制加法器来执行, 就好像x i 和y i 是普通4位二进制数一样。设S' i 代表这样得到的4位二进制数 和,C' i+1 为输出 进位,而S i 代表正确的BCD和,C i+1 代表正确的进位,那么当x i +y i +C i <10时, S i =S' i 当X i +Y i +C i ≥10时, S i =S' i +6 显然,当C' i+1=1或S' i ≥10时,输出进位C i+1=1。因此,可利用C i+1的状态来产 生所要求的 校正因子:C i+1=1时校正因子为6;C i+1 =0时校正因子为0。在图2.3(b)中,4位 行波式进位的二 进制加法器计算出和S' i ,然后S' i 经过第二级二进制加法器加上0或6,则产生最 终结果S i 。

数电实验报告半加全加器

实验二 半加/减器与全加/减器 一、 实验目的: (1) 掌握全加器和半加器的逻辑功能。 (2) 熟悉集成加法器的使用方法。 (3) 了解算术运算电路的结构。 二、 实验设备: 1、 74LS00 (二输入端四与非门) 2、 74LS86 (二输入端四异或门) 3、 数字电路实验箱、导线若干。 Ver 4B 4A 4¥ 3B 3A 3Y 1A IB !Y 2A 2B 2Y GND (74LS86引脚图) 三、 实验原理: 两个二进制数相加,叫做半加,实现半加操作的电路,称为半加器。 A 表示 被加数,B 表示加数,S 表示半加和,Co 表示向高位的进位。 全加器能进行加数、被加数和低位来的信号相加,并给出该位的进位信号以 及和。 四、 实验内容: 用74LS00和74LS86实现半加器、全加器的逻辑电路功能。 (一)半加器、半减器 M=0寸实现半加,M=1时实现半减,真值表如下: (74LS00引脚 )

功能M A B S C 半加00000 00110 01010 01101 半减10000 10111 11010 11100 —s +/- ——co M (半加器图形符号) 2、 ⑴S真值表: 00011110 00110 11001 A ⑵C真值表: 00011110 00000 10101 C 二B(A二M)

(二)全加器、全减器 S CO C^BC i-1 ?(M 十 A )(B 十 C ) 、实验结果 半加器: S 二 AB AB = A 二 B C =B (A 二 M ) 全加器: S = A 二 B - C i-1 G 二GM C 2M CI B +/一

FPGA一位全加器设计实验报告

题目:1位全加器的设计 一.实验目的 1.熟悉QUARTUSII软件的使用; 2.熟悉实验硬件平台的使用; 3.掌握利用层次结构描述法设计电路。 二.实验原理 由于一位全加器可由两个一位半加器与一个或门构成,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验箱,其中ain,bin,cin信号可采用实 验箱上SW0,SW1,SW2键作为输入,并将输 入的信号连接到红色LED管 LEDR0,LEDR1,LEDR2上便于观察,sum,cout 信号采用绿色发光二极管LEDG0,LEDG1来 显示。 三.实验步骤 1.在QUARTUSII软件下创建一工程,工程名为full_adder,芯片名为EP2C35F672C6; 2.新建Verilog语言文件,输入如下半加器Verilog语言源程序; module half_adder(a,b,s,co); input a,b; output s,co; wire s,co; assign co=a & b; assign s=a ^ b; Endmodule 3.保存半加器程序为,进行功能仿真、时序仿真,验证设计的正确性。 其初始值、功能仿真波形和时序仿真波形分别如下所示

4.选择菜单File→Create/Update→Create Symbol Files for current file,创建半加器模块; 5.新建一原理图文件,在原理图中调用半加器、或门模块和输入,输出引脚,按照图1所示连接电路。并将输入ain,bin,cin连接到FPGA的输出端,便于观察。完成后另保存full_adder。 电路图如下 6.对设计进行全编译,锁定引脚,然后分别进行功能与时序仿真,验证全加器的逻辑功能。其初始值、功能仿真波形和时序仿真波形分别如下所示

vhdl通用十进制加法器

湖南人文科技学院 课程设计报告 课程名称:VHDL语言与EDA课程设计 设计题目:通用十进制加法器 系别:通信与控制工程系 专业:电子信息工程 班级: 学生姓名: 学号: 起止日期: 指导教师: 教研室主任:

指导教师评语: 指导教师签名:年月日 成绩评定 项目权重 成绩 1、设计过程中出勤、学习态度等方面0.2 2、课程设计质量与答辩0.5 3、设计报告书写及图纸规范程度0.3 总成绩 教研室审核意见: 教研室主任签字:年月日教学系审核意见: 主任签字:年月日

摘要 随着科技的发展,通用十进制加法器的应用已广泛融入到现实生活中。EDA 技术的应用引起电子产品及系统开发的革命性变革。本文采用EDA技术设计,并以VHDL语言为基础制作的通用十进制加法器。该系统借助于强大的EDA工具和硬件描述语言可实现两个一位以上的十进制数的加法,在输入两个十进制数之后,给出两个数的相加结果。本设计充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,提高了设计的效率。设计主要步骤:首先利用QUARTUS‖来编辑、编译、仿真各个模块;然后以原理图为顶层文件建立工程,再进行引脚锁定、编译、下载,最后采用杭州康芯电子有限公司生产的GW48系列/SOPC/EDA实验开发系统,进行硬件测试。 关键词:通用十进制加法器;EDA技术;VHDL语言; QUARTUS‖

目录 设计要求 (1) 1、方案论证与对比 (1) 1.1方案一 (1) 1.2方案二 (1) 1.3 方案的对比与选择 (2) 2、设计原理 (2) 3、通用十进制加法器的主要硬件模块 (3) 3.1 4位BCD码全加器模块 (3) 3.2八加法器的实现框图 (3) 4、调试与操作 (4) 4.1通用十进制加法器的功能仿真 (4) 4.2模式选择与引脚锁定 (4) 4.2.1模式选择 (4) 4.2.2引脚锁定 (5) 4.3设备与器件明细表 (6) 4.4调试 (6) 4.4.1软件调试 (6) 4.4.2硬件调试 (6) 5、总结与致谢 (7) 5.1总结与思考 (7) 5.2致谢 (7) 附录 (8) 附录一 (8) 附录二 (9) 参考文献 (11)

数电实验内容

实验一组合逻辑电路的设计 一、实验目的 1、掌握组合逻辑电路的设计和测试方法。 2、掌握半加器、全加器的逻辑功能。 3、通过功能验证锻炼解决实际问题的能力。 二、实验主要仪器设备 1、万用表 2、集成芯片:74LS00、74LS08 三、实验原理 1、设计组合逻辑电路的一般步骤:设计要求→逻辑状态表→逻辑表达式→简化逻辑表 达式→逻辑图。 通常,设计组合逻辑电路按下述步骤进行。其流程图如。 (1)列真值表。设计的要求一般是用文字来描述的。设计者很难由文字描述的逻辑命题直接写出逻辑函数表达式。由于真值表在四种逻辑函数表示方法中,表示逻辑功能最为直观,故设计的第一步为列真值表。首先,对命题的因果关系进行分析,“因”为输入,“果”为输出,即“因”为逻辑变量,“果”为逻辑函数。其次,对逻辑变量赋值,即用逻辑0和逻辑1分别表示两种不同状态。最后,对命题的逻辑关系进行分析,确定有几个输入,几个输出,按逻辑关系列出真值表。 (2)由真值表写出逻辑函数表达式。 (3)对逻辑函数进行化简。若由真值表写出的逻辑函数表达式不最简,应利用公式法或卡诺图法进行逻辑函数化简,得出最简式。如果对所用器件有要求,还需将最简式转换成相应的形式。 (4)按最简式画出逻辑电路图。 图3.4.1 组合逻辑电路设计流程图 2、用74LS00和74LS86组成半加器电路。要求按设计要求步骤进行,直到测试电路逻 辑功能符合设计要求为止。 3、用74LS00和74LS86组成全加器电路。要求按设计要求步骤进行,直到测试电路逻 辑功能符合设计要求为止。 四、预习要求 1、复习组合逻辑电路的设计方法。 2、熟悉本实验所用各种集成电路的型号及引脚号。 3、根据实验内容所给定的设计命题要求,按设计步骤写出真值表、输出函数表达式并

加法器实验报告

加法器实验报告 篇一:加法器实验报告 实验 __一__ 【实验名称】 1位加法器 【目的与要求】 1. 掌握1位全加器的设计 2. 学会1位加法器的扩展 【实验内容】 1. 设计1位全加器 2. 将1位全加器扩展为4位全加器 3. 使4位的全加器能做加减法运算 【操作步骤】 1. 1位全加器的设计 (1)写出1位全加器的真值表 (2)根据真值表写出表达式并化简 (3)画出逻辑电路 (4)用quartusII进行功能仿真,检验逻辑电路是否正确,将仿真波形截图并粘贴于此 (5)如果电路设计正确,将该电路进行封装以用于下一个环节 2. 将1位全加器扩展为4位全加器 (1)用1位全加器扩展为4位的全加器,画出电路图

(2)分别用两个4位补码的正数和负数验证加法器的正确性(注意这两 个数之和必须在4位补码的数的范围内,这两个数包括符号在内共4位),用quartusII进行功能仿真并对仿真结果进行截图。 3. 将4位的全加器改进为可进行4位加法和减法的运算器 (1)在4位加法器的基础上,对电路进行修改,使该电路不仅能进行加 法运算而且还能进行减法运算。画出该电路 (2)分别用两个4位补码的正数和负数验证该电路的正确性(注意两个 数之和必须在4位补码的数的范围内),用quartusII进行功能仿真并对仿真结果进行截图。 【附录】 篇二:加法器的基本原理实验报告 一、实验目的 1、了解加法器的基本原理。掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法。 2、学习和掌握半加器、全加器的工作和设计原理 3、熟悉EDA工具Quartus II和Modelsim的使用,能够熟练运用Vrilog HDL语言在Quartus II下进行工程开发、调试和仿真。

4位全加器实验报告.doc

四位全加器 11微电子黄跃1117426021 【实验目的】 采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。 【实验内容】 加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0). 【实验原理】 全加器 除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图4为全 加器的方框图。图5全加器原理图。被加数A i 、加数B i 从低位向本位进位C i-1 作 为电路的输入,全加和S i 与向高位的进位C i 作为电路的输出。能实现全加运算 功能的电路称为全加电路。全加器的逻辑功能真值表如表2中所列。 信号输入端信号输出端 A i B i C i S i C i 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

表2 全加器逻辑功能真值表 图4 全加器方框图 图5 全加器原理图 多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。 四位全加器 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【实验步骤】 (1)建立新工程项目: 打开modelsim软件,进入集成开发环境,点击File→New project建立一

多位十进制数加法器实验-2014

实验三多位十进制数加法器设计 1、实验目的 (1)继续熟练掌握在PC机上建立、汇编、链接、调试和运行8088汇编语言程序的过程; (2)学习数据传送和算术运算指令的用法; (3)掌握子程序设计方法; (4)掌握宏汇编设计方法; (5)掌握键盘输出的DOS功能调用方法。 2、实验内容 (1)将两个多位十进制数相加。要求被加数、加数均以ASCII码形式各自按高位高地址的规律分别顺序存放在以DATAl和DATA2为首的5个内存单元中(低位在前),结果送回结果变量DATA3处,并屏幕显示结果。 (2)在以上程序基础上,设计一个多位十进制数加法器,键盘输入十进制加数和被加数,将输入和输出结果以竖式形式显示在屏幕。 3、提示: (1)算法说明:以42136与12547相加为例,首先将两个数中的每一位都以ASCII码存入相应的内存单元,然后将每一位数都减去30H,并将被加数DATA1和加数DATA2相对应位相加(BCD码加法及其十进制调整,要考虑低位向高位的进位),存入相应的结果DATA3存储单元中,最后将该单元中的每一位数转换成相应的ASCII码,调用DOS系统功能调用的显示字符指令,显示两数相加的结果。 (2)部分程序代码: DATA SEGMENT ;数据段 …;补充必要的代码,定义被加数、加数和结果变量 DATA ENDS STACK SEGMENT STACK ;堆栈段 STA DB 64 DUP(0) SP_TOP DB 0 STACK ENDS CODE SEGMENT ; 代码段 …;补充必要的代码 ;显示回车换行功能用宏定义CRLF实现,放在代码段最前面 CRLF MACRO MOV DL,0DH ;回车(0DH为回车的ASCII 码) MOV AH,02H ; 送DOS 的中断调用功能号 INT 21H ; DOS 的中断调用

加法器实验报告

实验三加法器的设计与仿真 一、实验目的 熟悉quartus ⅱ仿真软件的基本操作,用逻辑图和vhdl语言设计加法器并验证。 二、实验内容 1、熟悉quartus ⅱ软件的基本操作,了解各种设计输入方法(原理图设计、文本设计、 波形设计) 2、用逻辑图和vhdl语言设计全加器并进行仿真验证; 3、用设计好的全加器组成串行加法器并进行仿真验证; 4、用逻辑图设计4位先行进位全加器并进行仿真验证; 三、实验原理 1. 全加器 全加器英文名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。 用途:实现一位全加操作逻辑图 真值表 第 1 页共 7 页 利用与或门设计的全加器,它只能做一位的加法,先预想好它的功能,写出真值表,就可以根据这些来设计电路了。 2.四位串行加法器 逻辑图 利用全加器的组合实现4位串行加法器,全加器只能对一位进行操作,将每一位的结果传给下一位,就可以实现4位的加法器。 3.74283:4位先行进位全加器(4-bit full adder) 利用74283芯片实现的4位先行进位全加器比前两者功能更完善,它可以实现进位功能,这个自己设计难度比较大,可以参照74283的功能表加深对它的理解, 第 2 页共 7 页 按照如下的逻辑图实现进位全加器。 逻辑框图 逻辑功能表 注:1、输入信号和输出信号采用两位对折列表,节省表格占用的空间,如:[a1/a3]对应的列取值相同,结果和值[σ1/σ3]对应的运算是σ1=a1+b1和σ3=a3+b3。请自行验证一下。 2、c2是低两位相加产生的半进位,c4是高两位相加后产生的进位输出,c0是低位级加法器向本级加法器的进位输入。 四、实验方法与步骤 实验方法: 第 3 页共 7 页 采用基于fpga进行数字逻辑电路设计的方法。 采用的软件工具是quartusii软件仿真平台,采用的硬件平台是altera epf10k20ti144_4的fpga试验箱。 实验步骤: ? 全加器 1、编写源代码。打开quartusⅱ软件平台,点击file中得new建立一个文件。编写的文件 名与实体名一致,点击file/save as以“.vhd”为扩展名存盘文件。vhdl设计源代码

加法器的基本原理实验报告

一、实验目的 1、了解加法器的基本原理。掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法。 2、学习和掌握半加器、全加器的工作和设计原理 3、熟悉EDA工具Quartus II和Modelsim的使用,能够熟练运用Vrilog HDL语言在Quartus II下进 行工程开发、调试和仿真。 4、掌握半加器设计方法 5、掌握全加器的工作原理和使用方法 二、实验内容 1、建立一个Project。 2、图形输入设计:要求用VHDL结构描述的方法设计一个半加器 3、进行编译,修改错误。 4、建立一个波形文件。(根据真值表) 5、对该VHDL程序进行功能仿真和时序仿真Simulation 三、实验步骤 1、启动QuartusⅡ 2、建立新工程NEW PROJECT 3、设定项目保存路径\项目名称\顶层实体名称 4、建立新文件Blok Diagram/Schematic File 5、保存文件FILE /SA VE 6、原理图设计输入 元件符号放置通过EDIT_>SYMBOL 插入元件或点击图标 元件复制 元件移动 元件转动 元件删除 管脚命名PIN_NAME 元件之间连线(直接连接,引线连接) 7、保存原理图 8 、编译:顶层文件设置,PROJECT_>Set as Top_Level 开始编译processing_>Start Compilation 编译有两种:全编译包括分析与综合(Analysis&Synthesis)、适配(Fitter)、编程(assembler)时序分析(Classical Timing Analysis)4个环节,而这4个环节各自对应相应菜单命令,可单独发布执行也可以分步执行

八位加法器设计实验报告

实验四:8位加法器设计实验 1.实验目的:熟悉利用quartus原理图输入方法设计简单组合电路,掌握层次化设计方法。 2.实验原理:一个八位加法器可以由八个全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 3.实验任务:完成半加器,全加器,八位加法器设计,使用例化语句,并将其设计成一个原件符号入库,做好程序设计,编译,程序仿真。 1)编译成功的半加器程序: module h_adder(a,b,so,co); input a,b; output so,co; assign so=a^b; assign co=a&b; endmodule 2)编译成功的全加器程序: module f_adder(ain,bin,cin,cout,sum); output cout,sum;input ain,bin,cin; wire net1,net2,net3; h_adder u1(ain,bin,net1,net2); h_adder u2(.a(net1),.so(sum),.b(cin),.co(net3));

or u3(cout,net2,net3); endmodule 3)编译成功的八位加法器程序: module f_adder8(ain,bin,cin,cout,sum); output [7:0]sum; output cout;input [7:0]ain,bin;input cin; wire cout0, cout1, cout2 ,cout3, cout4,cout5,cout6; f_adder u0(.ain(ain[0]),.bin(bin[0]),.cin(cin),.sum(sum[0]) ,.cout(cout0)); f_adder u1(.ain(ain[1]),.bin(bin[1]),.cin(cout0),.sum(sum[1 ]),.cout(cout1)); f_adder u2(.ain(ain[2]),.bin(bin[2]),.cin(cout1),.sum(sum[2 ]),.cout(cout2)); f_adder u3(.ain(ain[3]),.bin(bin[3]),.cin(cout2),.sum(sum[3 ]),.cout(cout3)); f_adder u4(.ain(ain[4]),.bin(bin[4]),.cin(cout3),.sum(sum[4

EDA课程设计 十进制加法器

燕山大学 课程设计说明书题目:十进制加法计数器 学院(系):电气工程学院 年级专业: 学号: 学生姓名: 指导教师: 教师职称:

燕山大学课程设计(论文)任务书 院(系):电气工程学院基层教学单位:电子实验中心 说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。

目录 第1章摘要 (4) 第2章十进制加法器设计说明 (5) 2.1 设计思路 (5) 2.2 流程图 (5) 2.3 模块介绍 (6) 2.4 真值表 (6) 第3章原理图分析 (11) 3.1 整体原理图 (11) 3.2 输入转换部分设计 (12) 3.3 蜂鸣器部分 (12) 3.4 加法器部分 (13) 3.5 B-BCD(二进制转换为BCD码) (13) 3.6 动态数码管部分 (14) 第4章波形仿真图及结果分析 (16) 第5章管脚锁定及硬件连线 (21) 第6章总结 (22) 参考文献 (23) 燕山大学评审意见表 (24)

摘要 十进制加法器可由BCD码(二-十进制码)来设计,它可以在二进制加法器的基础上加上适当的“校正”逻辑来实现,该校正逻辑可将二进制的“和”改变成所要求的十进制格式。n位BCD码行波式进位加法器由n级组成,每一级将一对4位的BCD数字相加,并通过一位进位线与其相邻级连接。在十进制运算时,当相加二数之和大于9时,便产生进位。用BCD码完成十进制数运算时,当和数大于9时,必须对和数进行加6修正,由加法器和比较器完成功能的实现。加法器的加数和被加数若大9则蜂鸣器警报5秒,数码管显示为0,由比较器和计数器控制。动态数码管由计数器、数据选择器、译码器完成显示功能。 关键词:十进制加法器、动态数码管显示、蜂鸣器警报

加法器及差分放大器项目实验报告

加法器及差分放大器项目实验报告 一、项目内容和要求 (一)、加法器 1、任务目的: (1)掌握运算放大器线性电路的设计方法; (2)理解运算放大器的工作原理; (3)掌握应用仿真软件对运算放大器进行仿真分析的方法。 2、任务内容: 2.1 设计一个反相加法器电路,技术指标如下: (1)电路指标 运算关系:)25(21i i O U U U +-=。 输入阻抗Ω≥Ω≥K R K R i i 5,521。 (2)设计条件 电源电压Ec=±5V ; 负载阻抗Ω=K R L 1.5 (3)测试项目 A :输入信号V U V U i i 5.0,5.021±=±=,测试4种组合下的输出电压; B :输入信号V KHz U V U i i 1.0,1,5.021为正弦波±=信号,测试两种输入组合情况下的输出电 压波形。 C :输入信号V U i 01=,改变2i U 的幅度,测量该加法器的动态范围。 D :输入信号V U i 01=,V U i 1,2为正弦波,改变正弦波的频率,从1kHz 逐渐增加,步长为 2kHz ,测量该加法器的幅频特性。 2.2 设计一个同相加法器电路,技术指标如下: (1)电路指标 运算关系:21i i O U U U +=。 (2)设计条件 电源电压Ec=±5V ; 负载阻抗Ω=K R L 1.5 (3)测试项目 A :输入信号V U V U i i 1,121±=±=,测试4种组合下的输出电压; B :输入信号V KHz U V U i i 1,1,121为正弦波±=信号,测试两种输入组合情况下的输出电压 波形。 (二)、差分放大器 1、任务目的: (1)掌握运算放大器线性电路的设计方法; (2)理解运算放大器的工作原理; (3)掌握应用仿真软件对运算放大器进行仿真分析的方法。 2、任务内容 2.1 设计一个基本运放差分放大器电路,技术指标如下: (1)电路指标 运算关系:)(521i i O U U U --=。 输入阻抗Ω≥Ω≥K R K R i i 5,521。 (2)设计条件

CMOS数字集成电路设计_八位加法器实验报告

CMOS数字集成电路设计课程设计报告 学院:****** 专业:****** 班级:****** 姓名:Wang Ke qin 指导老师:****** 学号:****** 日期:2012-5-30

目录 一、设计要求 (1) 二、设计思路 (1) 三、电路设计与验证 (2) (一)1位全加器的电路设计与验证 (2) 1)原理图设计 (2) 2)生成符号图 (2) 3)建立测试激励源 (2) 4)测试电路 (3) 5)波形仿真 (4) (二)4位全加器的电路设计与验证 (4) 1)原理图设计 (4) 2)生成符号图 (5) 3)建立测试激励源 (5) 4)测试电路 (6) 5)波形仿真 (6) (三)8位全加器的电路设计与验证 (7) 1)原理图设计 (7) 2)生成符号图 (7) 3)测试激励源 (8) 4)测试电路 (8) 5)波形仿真 (9) 6)电路参数 (11) 四、版图设计与验证 (13) (一)1位全加器的版图设计与验证 (13) 1)1位全加器的版图设计 (13) 2)1位全加器的DRC规则验证 (14) 3)1位全加器的LVS验证 (14) 4)错误及解决办法 (14) (二)4位全加器的版图设计与验证 (15) 1)4位全加器的版图设计 (15) 2)4位全加器的DRC规则验证 (16) 3)4位全加器的LVS验证 (16) 4)错误及解决办法 (16) (三)8位全加器的版图设计与验证 (17) 1)8位全加器的版图设计 (17) 2)8位全加器的DRC规则验证 (17) 3)8位全加器的LVS验证 (18) 4)错误及解决办法 (18) 五、设计总结 (18)

一位十进制加法器设计报告

一位十进制加法器设计报告成员:

一位十进制加法器 一、实验目的: 1、进一步学习组合逻辑电路的设计方法; 2、学习相关芯片的使用; 3、学一位十进制加法器的原理,并设计一个一位十进制加法电路。 二、设计原理: 利用74HC283芯片,可以实现4为二进制数的相加运算,因此,对两个一位十进制数进行加运算时,应先把十进制数转化成二进制数,即进行编码,然后进行加运算,编码采用了两个8线-3线编码器串联组成的16线-4线编码器。对求和结果进行输出时,当结果是一位十进制数时,可以直接输出,而求和结果为二位十进制数时,需要将结果分成十位数字和个位数字,分别显示在两个七段数码显示器上,这就需要对输出结果进行处理,设计时用对要输出结果加六,并取后四位作为个位输出,十位输出为1。 下面分介绍电路各个部分的设计方法与功能。 1、译码部分: 电路设计如图一,CD4532为8线-3线译码器,输入和输出端均为高电平有效,即可以把0~7的十进制数转化为相应的二进制数输出。设计时用两片CD4532组成16线-4线译码器,当要是入一个十进制数时,在相应的输入端加高电平即可。 图一 2、求和部分: 求和部分电路设计如图二,74HC283为四位二进制加法器,输入和输出端均为高电平有效,可以对输入的两个十进制数转化为的二进制数进行求和,其中,C4为进位输出端,当输出结果超过15时,输出高电平。

图二 3、结果处理输出部分: 结果处理输出部分电路设计如图三,CD4585为四位二进制比较电路,输入和输出端均为高电平有效,用两片CD4585组成8位二进制比较电路,将求和结果与9比较。当结果小于9时,输出端输出为低电平,即输出为零,利用74HC283,将结果直接输出;当大于9时输出为1,对输出结果加6,并取后四位作为个位输出。当输出结果为10~15时,用作加六运算的74HC283的C4端输出为1;当结果为16~18时,用作求和的电路C4端输出为1;当结果为0~9时,二者输出均为0;以此可以控制十位输出1还是0。 图三 4、显示部分:

8位二进制加法器

8位二进制加法器 1.摘要: 本次设计主要是如何实现8位二进制数的相加,即两个000到255之间的数相加,由于在实际中输入的往往是三位十进制数,因此,被加数和加数是两个三位十进制数,范围在000到255之间,通过六个二-十进制编码器(即74LS147)分别将加数和被加数的个位、十位、百位转换为8421BCD码,于是得到了两个12位字码,将它们接入三个四位超前进位并行加法器(即74LS283),其中原加数三位十进制数的个位转换得到的四位BCD码与被加数三位十进制数的个位转换得到的四位BCD码相加,串入到第一个74LS283的接线端,得到一个四位8421BCD码。同理,原加数和被加数的十位转换得到的四位BCD码相加也得到一个8421BCD码。同理,百位也是如此。需要注意的是:由于这12位BCD码是由三位十进制数转换过来的,因此在用加法器相加时,要逢10进一。于是通过一些与非门、非门和加法器构成一个新的加法器,使该加法器能对这十二位BCD码进行计算,并且逢10进1,这样得到一个十二位BCD码,即相加结果三位十进制数所对应的BCD码,再通过7447数字显示译码器将这十二位8421BCD码还原成一个三位十进制数,用数码管显示出来,得到一个三位十进制数,即为所求的结果。另外,本次设计不仅可以适用加数和被加数是000到255的数字,同时也适用于加数和被加数是000到999的任何一个数,这是本次设计的创新之处。2.关键字: 二-十进制编码器、四位超前进位并行加法器、7447七段数码显示译码器、逢十进一、数码管。 3.设计要求: 1.八位二进制加数与被加数的输入; 2.三位数码管显示; 3.三位十进制加数与被加数的输入。 4.正文: 第一章系统概述 本次设计的目的是实现两个八位二进制数的相加,那么我们如何实现呢?通常在实际中输入的是三位十进制数,而要求是八位二进制数,八位二进制数换算成三位十进制数最大为

相关文档
最新文档