试验一、一位二进制全加器的实现
实验项目:一位二进制全加器的实现
实验目的:1.学会熟练使用maxplus II编译工具。
2.熟悉VHDL文本设计方法。
3.学会使用元件例化语句。
实验器材:GW-48试验箱一台,PC一台。
实验原理:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
由上图可见,1位全加器可以由两个半加器和一个或门连接而成,因此可以根据半加器的电路原理图(下图)或真值表写出或门和半加器的VHDL描述,再根据上图写出全加器的顶层VHDL描述。
实验步骤:
一.半加器的文本输入
1.打开max+plus II软件。
2.File->New->Text Editor flie,单击OK后,输入以下文本:
3.将该文件保存后, File->Project->Set project to current file后,单击compile后,单击start进行编译,改正其中的语法错误,直至编译通过。
4.波形仿真。单击File->New->r flie,打开波形文件编辑器。在Name栏右击选择Enter Node from SNF,弹出下图:
单击list后,选择出现的所有项,单击OK后,弹出下图:
对其中的输入a,b进行编辑后保存,在单击simulator后,出现以下仿真波形,分析后发现功能正确。
二.或门文本输入
1.输入以下VHDL描述保存后,编译正确后得到如下文本:
2.仿真后得到如下波形:
3.分析后发现功能可以实现。
三.全加器顶层描述
1.输入文本文件如下:
2.编译后,生成波形文件,导入所有节点后,得到仿真波形如下:
3.分析后发现功能正确.
4.选择器件。Assign->Device,出现如下画面,去掉“Show Only…”前的勾,选择APCEX1K->
EP1K30TC144-3->OK.
5.模式选择。因为本实验是全加器,需要三个输入(ain,bin,cin),两个输出(cout,sum),
且满足ain+bin+cin=cout*2+sum,因此选择模式6.
6.管教分配。选择键8->ain,键7->bin,键6->cin;D2->cout,D1->sum.得到如下的分配关系:
相关量 | 对应器件 | I/O口 | 管脚 |
Ain | 键8 | PIO13 | 27 |
Bin | 键7 | PIO12 | 26 |
Cin | 键6 | PIO11 | 23 |
Cout | D2 | PIO17 | 31 |
Sum | D1 | PIO16 | 30 |
<?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" />管脚锁定assign->Pin/Location/Chip
后,分配结果如右图:
7.下载验证。重新编译一边,连接好试验箱,接通电源,点击下载,验证后发现功能圆满实现。
数据处理及结果讨论:
经过本实验,使我进一步熟悉了maxplus II的编译环境和GW-48试验箱的使用方法,了解了文本输入方式和元件例化的方法,熟悉了基本的操作过程。
用户233077 2009-10-25 23:55