南昌大学 EDA实验全加器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌大学实验报告
学生姓名:学号:专业班级:
实验类型:□验证□综合□设计□创新实验日期:实验成绩:实验一熟悉QuartusⅡ软件及实验装置设计全加器
一实验目的:
以书上全加器为例,熟悉用quartus设计的一般步骤,熟悉原理图输入法和文本输入法,了解和使用多层工程的设计。
二实验要求:
1建立全加器工程,用文本文档形式输入程序
2模拟仿真,得出原理图、仿真图,完成引脚锁定
3输入实验箱,用二极管显示出现象
三实验设备:
PC机,Quartu eⅱ软件,实验箱
四实验原理:
加器是能够计算低位进位的二进制加法电路
一位全加器由2个半加器h_adder组成
一位全加器(FA)的逻辑表达式为:
S=A⊕B⊕Cin
Co=AB+BCin+ACin
其中A,B为要相加的数,Cin为进位输入;S为和,Co是进位输
出;
如果要实现多位加法可以进行级联,就是串起来使用;比如32位+32位,就需要32个全加器;这种级联就是串行结构速度慢,如果要并行快速相加可以用超前进位加法,
超前进位加法前查阅相关资料;
如果将全加器的输入置换成A和B的组合函数Xi和Y(S0…S3控制),然后再将X,Y和进位数通过全加器进行全加,就是ALU的逻辑结构结构。
即 X=f(A,B)
Y=f(A,B)
不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。
表2-1一位全加器的真值表
DD1 0 0 1 1 0 0 1 1 ADD2 0 1 0 1 0 1 0 1 CARRY_OUT 0 0 0 0 1 1 1 1 SUM< 0 1 1 0 1 0 0 1
其原理图的顶层文件为:
五实验结果:
1. 建立f_adder的工程(project)
在QUARTUSII软件下创建一工程,工程名为f_adder 2加载h_adder模块
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY h_adder IS
PORT (a ,b:IN STD_LOGIC;
co, so:OUT STD_LOGIC);
END ENTITY h_adder;
ARCHITECTURE fh1 OF h_adder is
BEGIN
So<=NOT(a XOR(NOT b)); co<=A and b;
END ARCHITECTURE fh1;
模块原理图为:
3对全加器顶层文件进行仿真
(1)设置仿真器进行功能仿真:
• Assignments—>setting,选择simulation setting,在simulation mode中选择functional
•在对话框中的simulation input中选择h_adder.vwf,指定激励文件
•由Processing—>generat functional simulation netlist得到功能仿真的网表文件
•由Processing—>start simulation得到功能仿真波形(2)设置仿真器进行时序仿真:
•改变仿真器的设置,Assignments—>setting
•选择仿真器设置,更改仿真模式,选择timing
•由Processing—>start Compilation对设计进行编译•由Processing—>start simulation得到时序仿真波形
得到如图所示波形:
结果完全符合全加器的设计要求
4引脚设定
执行ASSIGNMENT-PINS,设置完成后,设置如图
5执行tools—>programmer
下载:采用JATG方式进行下载,通过键1、键2与键3的输入,观察D1,D2的亮灭验证全加器的逻辑功能。(此时,电脑与下载线都要连接到实验箱上,且每次连线都必须先关掉电源)
6 硬件测试
当A5、B5、A6键打上时,两个二极管都亮了,只要3个开关有一个没打上G15对应的二极管不亮,G13对应的二极管能亮,有两个没打上去,只有G15亮,3个不打上,没有二极管亮,符合设计要求
六实验心得:
在这个过程中,掌握了quartus设计的一般步骤,熟悉了原理图输入法和文本输入法,了解和使用多层工程的设计,能够自己设计并进行仿真,观察波形,与原理进行比对,观察实验现象,并从中找出程序的错误并改正