- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 PAGE 4 页 共 NUMPAGES 5 页
全加器的VHDL程序实现及仿真
一、基本功能概述
在计算机的各种运算过程中,加法运算是最基本的,其他各种运算都可以由加法运算推得,如减法可以转换成补数的加法,乘法可以转换成连续的加法,而除法可以转换成连续的减法,再用补数实现加法运算,因此加法在计算机的运算过程中是非常重要的。
本系统所设计的加法器就是计算机上实现加法运算的基本器件,它的逻辑功能如下表所示:
二进制输入
进位位输入
和输出
进位位输出
a
b
cin
s
co
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
1
1
1
1
根据以上真值表,设计系统的VHDL源程序,并进行程序的编译和仿真。
二、VHDL源程序
下面为全加器的VHDL源程序:
--全加器VHDL源程序,它由两个半加器组成。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
--半加器实体定义
ENTITY half_adder IS
PORT( a , b : IN STD_LOGIC; --定义输入管脚
s , co : OUT STD_LOGIC --定义输出管脚
);
END half_adder;
--半加器结构体定义
ARCHITECTURE half1 OF half_adder IS
SIGNAL c,d:STD_LOGIC;
BEGIN
c = a OR b;
d = a NAND b;
co = NOT d;
s = c AND d;
END half1;
--全加器定义
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
--全加器实体定义
ENTITY adder IS
PORT( a , b , cin : IN STD_LOGIC; --定义全加器输入管脚
s , co : OUT STD_LOGIC --定义全加器输出管脚
);
END adder;
--全加器结构体定义
ARCHITECTURE full1 OF adder IS
--调用前述半加器逻辑描述模块
COMPONENT half_adder
--管脚说明
PORT( a , b : IN STD_LOGIC;
s , co : OUT STD_LOGIC
);
END COMPONENT;
SIGNAL u0_co,u0_s,u1_co:STD_LOGIC; --中间信号变量定义
BEGIN
--进行端口映射
u0:half_adder PORT MAP(a,b,u0_s,u0_co);
u1:half_adder PORT MAP(u0_s,cin,s,u1_co);
co=u0_co OR u1_co;
END full1;
三、编译及仿真
在建立了以上全加器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件,如*.cnf,*.rpt,*.snf,*.pof等。
编译过程如下:
1、输入完以上全加器的源程序后,进入File/Project子菜单,选择Name项,在工程名(Project name)对话框中输入adder.vhd,按OK按钮;再在相同的子菜单中选择Set Project to Current File项;
2、进入MAX+plus Ⅱ菜单,在出现的子菜单中选择Compiler选项,将弹出编译对话框;
3、选定最终要下载的芯片:点击主菜单Assign选项,在子菜单中选择Device项,在弹出的对话框中寻找系统适用的芯片,本系统选取MAX 7000,按OK按钮;
4、确定源程序的版本:点击主菜单Interfaces选项,在下级子菜单中选择VHDL Netlist Reader Settings项,弹出对应的对话框,在该对话框中选择所编VHDL源程序对应的版本号,按OK按钮;
5、完成以上步骤后,按编译对话框中的Start按钮,编译器即可启动。
因为上面输入的源程序没有错误,因此编译会顺利通过,显示编译成功对话框。这样整个编译过程就结束了。
为了验证所编VHDL程序的功能是否满足设计要求,下面对编译通过的程
文档评论(0)