加法器的设计与仿真实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
加法器的设计与仿真
一、实验内容
1、用逻辑图和VHDL语言设计全加器。
2、利用设计的全加器组成串行加法器。
3、用逻辑图和VHDL语言设计并行加法器。
4、应用MaxplusII软件对全加器和串行加法器进行编译、仿真和模拟。
5、在“MaxplusII软件的基本操作”实验的基础上,能更加熟练的掌握应用MaxplusII软件,从而更形象更深层次的理解全加器和串行加法器。
二、实验平台及实验方法
用VHDL语言编写全加器和串行加法器的程序,运用MaxplusII软件进行仿真,再结合FPGA(即对实验箱的芯片进行编译)进行验证。也可以用原理图进行文本设计,波形设计。逻辑符号图:
真值表:
电路图:
三、实验过程
1.启动MaxplusII软件;
2.新建一个文本编辑文件,输入全加器的VHDL语言;
3.编译。点击file save as,保存文件名为f-adder名称,扩展名为vhd,选择芯片类型为EPF10K20TI144-4,保存并进行编译,
若编译结果出现0 error,0 warnings则说明编译通过。
4.仿真波形。点Max+plus II→Waveform editor,出现波形图的设置界面,然后点Node→Enter Nodes from SNF→list,将输入输出端添加到界面,并设置其周期和输入波形,保存后,点Max+plus II→Simulator,即可仿真出输出的波形。
5.配置芯片。点Max+plus II→Floorplan editor,将Unassigned Nodes & 栏中,电路的输入输出节点标号直接用鼠标“拖到” 想分配的引脚上,Max+plusII→programmer→configuer,然后就可以操作试验箱,观察全加器的工作情况。
四、实验结果
实验步骤:
1、用VHDL语言编写全加器的程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY f_adder IS
PORT(
x,y,cin:IN STD_LOGIC;
s,cout:OUT STD_LOGIC
);
END ENTITY f_adder;
ARCHITECTURE bhv OF f_adder IS
BEGIN
s<=x XOR y XOR cin;
cout<=(x AND y)OR(x AND cin)OR(y AND cin);
END ARCHITECTURE bhv;
2、将上述程序保存为文件名为f_adder的文件,点击Maxplus里的compiler进行编译,点击start,如果出现0 error,0 warnings,则编译成功。
3、画波形图。点击Maxplus里的waveform Editor,出现下图
设置节点Node里的Enter Nodes from SNF
PS:在options里取消snap to grid就可以自己随意画波形图,周期可由自己设定。
设置好节点,如图:
PS:将Binary改为Gray Code,输入端软件通过设置频率可自动生成
画出输入输出端y,x,cin,s,cout的波形,如图:
画好输入端的波形图后,点击File——Project——Set Project to Current File
再点Maxplus里的simulator,出现0 error,0 warnings,则生成波形图。
生成的波形图:
4、画电路图。点击MaxplusII的Grahic Editor,出现如下图:
设置Symbol
PS:设置Symbol有两种方法:
1、直接点击工具栏中的Symbol
2、右键单击设置Symbol
生成的电路图:
5、选择合适的芯片结合实验箱进行模拟。点击Assign的Device选择合适的芯片。
重新进行编译后,点击Florplan Editor,如图:
如果没有重新进行编译,会出现上一个结果,而不是当前编译文件。
重新编译后,才可以出现当前的结果,如下图: 设置端口,如下图:
设置好端口,如图:
点击MaxplusII的Simulator后再点击Program,进行模拟。如下图:
五、实验结论及总结
经过这次上机实验,我对Maxplus的操作更加熟练。前两次的上机实验,做完一个步骤后总是要向他人请教接下来的步骤是什么,这次的情况就不同了,清楚的知道下一个步骤是什么,独立一个人完成实验。
在这次的实验过程中,由于忘记了再次编译,所以总是出现上一个结果。吃一堑,长一智我相信经过这次的错误,以后我就不会犯相同的错误了。
同时,我也发现了一些技巧,准确的说,也不算是技巧,就是在实验过程中用Maxplus编程完成一个目标时可以用不同的方法.
一、设置节点可以有两种方法:
1、点击Maxplus里的waveform Editor,工具栏中出现NODE选项,
可通过NODE选项设置节点
2、右键单击出现NODE设置选项
二、在options里取消snap to grid就可以自己随意画波形图,周期可由自己设定。
三、将Binary改为Gray Code,输入端软件通过设置频率可自动生成
四、设置Symbol有两种方法:
3、直接点击工具栏中的Symbol
4、右键单击设置Symbol