超前进位加法器设计报告解剖
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华东交通大学理工学院课程设计报告书
所属课程名称EDA课程设计
题目超前进位加法器设计
分院
专业班级
学号
学生姓名
指导教师
2013 年7月2日
目录
第一章设计内容与要求 (3)
第二章超前进位加法器设计原理 (4)
第三章详细设计流程 (5)
3.1.创建工程文件 (5)
3.2.程序的编译 (6)
3.3.波形的仿真 (8)
第四章设计结果分析 (12)
第五章源程序代码 (13)
第六章心得体会 (15)
第七章参考文献 (16)
第一章设计内容与要求
加法运算是最重要也是最基本的运算,所有的其他基本运算,如减、乘、除运算最终都能归结为加法运算。但因为加法运算存在进位问题,使得某一位计算结果的得出和所有低于他的位相关。因此为了减少进位传输所消耗的时间,提高计算速度,人们设计了多种类型的加法器,如跳跃进位加法器、进位选择加法器、超前进位加法器等。本设计采用的是超前进位加法器。通过Verilog 设计一个超前8位加法器。
要求在Quartus II软件下,利用Verilog编程完成层次式电路设计,电路中的元件可以用Verilog设计也可以用库元件连线构成再封装。8位超前进位加法器,借助EDA工具中的综合器,适配器,时序仿真器和编程器等工具进行相应处理。适配采用Cyclone系列的EP1C6Q240C8。
要求综合出RTL电路,并进行仿真输入波形设计并分析电路输出波形. 试比较并阐述数据类型reg型和wire型的区别。
第二章超前进位加法器设计原理
将n个全加器相连可得n位加法器,但是加法时间较长。解决的方法之一是采用“超前进位产生电路”来同时形成各位进位,从而实现快速加
法。超前进位产生电路是根据各位进位的形成条件来实现的
首先对于1位加法器基本位值和与进位输出为1;如果a,b有一个为1,则进位输出等于cin;
令G=ab,P=a+b,则有:
Cout==ab+(a+b)cin=G+P•cin
由此可以G和P来写出4位超前进位链如下(设定四位被加数和加数为A 和B,进位输入Cin,进位输出为cout,进位产生Gi=AiBi,进位传输Pi=Ai+Bi);
C0=cin;
C1=G0+P0C0=G0+P0•cin
C2=G1+P1C1=G1+P1(G0+P0cin)=G1+P1G0+P1P0cin
C3=G2+P2C2=G2+P2(G1+P1cin)=G2+P2G1+P2P1G0+P2P1P0cin
C4=G3+P3C3=G3+P3(G2+P2C2)=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0cin Cout=c4
由超前进位链,各个进位彼此独立产生,将进位级联传播给去掉了,因此,减小了进位产生的延迟时间。
同样可推导出下面的式子:
SUM=A⊕B⊕Cin=(AB)⊕(A+B) ⊕CinU=G⊕P⊕Cin
本实验中采用8位超前进位加法器
第三章详细设计流程
3.1.创建工程文件
打开Quartus II 9.1创建一个工程文件adder_ahead
选择菜单File中New Project Wizard命令,在如下“工程设置”对话框中单击右侧“…”按钮,找到文件夹D:\atlera\quartus,选中已存盘的add_ahead.vhd的文件。
单击Next,将与工程有关的文件加入此工程。
(1)选择仿真器和综合器类型。都选默认的None。
(2)选择目标芯片。
(3)工具设置。这里默认使用QuartusⅡ自含的所有设计工具。
(4)结束设置。
3.2.程序的编译
(1).选择菜单“Processing”—“Start Compilation”命令,或者点击运行编译按钮,启动完全编译,这里的完全编译包括分析与综合、适配、装配文件、定时分析、网编文件提取过程。如果只要进行期中的某一项编译,可以选着“Tools”---“Compiler Tool”命令,或者点击按钮即可出现编译工具选择串口,共包括5个编译工具,分别为分析与综合器、适配器、装配器、定时分析器、网表文件提提取器,单机每个工具前面的小
图标可单独启动每一个编译器。
(2)编译完成后,会将有关的编译信息显示在窗口中,可查看其中的相关内容。还可以查看中和后的电路原理图,选择“Tools”---“Netlist Viewers”---“RTL Viewer”菜单命令,既可观察综合生成的RLT方式的电路原理图,在这里我们可以看到8位超期进位加法器生成的原理图如下:
8位超期进位加法器生成的原理图:
3.3.波形的仿真
仿真时序,对项目进行仿真测试,也可以对项目中的某一个子模块进行仿真,其方法是选择菜单“Assignment”---“Wizard”----“Simulator Set Wizard”命令,在设置过程中指定仿真对象,并指定对象的仿真类型、矢
量激励源等。
(1)打开波形编辑器
选择菜单“File”---“New”命令,在“New”对话框中选择“Other File”页中的“Vector Wave File”选项,单击“ok”按钮,即出现选择波形按钮;
(2)输入信号节点
选择菜单“View”---“Utility Windows”---“Node Finder”命令,出现对话框,在“Filter”下拉列表中选择“Pins:all”选项,再次单击“List”按钮,即在下面的“Nodes Found”框中出现本设计项目的所有端口引脚列表,从端口列表中选择所需要的,并逐个拖到波形编辑窗口中
(4)编辑输入信号波形
点击波形编辑窗口中的全屏显示,使用波形编辑窗口中的各种波形赋值,编辑各输入信号的激励波形。在仿真的时候需要设置一个合理的区域,选