加法器的设计与仿真实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档