数电课程设计论文.docx

上传人:b****2 文档编号:16917957 上传时间:2023-04-24 格式:DOCX 页数:12 大小:155.36KB
下载 相关 举报
数电课程设计论文.docx_第1页
第1页 / 共12页
数电课程设计论文.docx_第2页
第2页 / 共12页
数电课程设计论文.docx_第3页
第3页 / 共12页
数电课程设计论文.docx_第4页
第4页 / 共12页
数电课程设计论文.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数电课程设计论文.docx

《数电课程设计论文.docx》由会员分享,可在线阅读,更多相关《数电课程设计论文.docx(12页珍藏版)》请在冰豆网上搜索。

数电课程设计论文.docx

数电课程设计论文

实验名称:

Max+plusⅡ在数字电子技术中的应用

实验目的:

(1)学习软件的使用方法及VHDL程序的基本语法;

(2)用MAX+plusⅡ进行电路等的仿真。

实验仪器:

Max+plusⅡ系统仿真软件

 

软件介绍:

Max+plusⅡ是Alter公司开发的一款完全集成化得EDA工具软件,它具有强大、界面友好、使用简便等优点。

Max+plusⅡ支持原理图、硬件描述语言波形文件以及它们的混合设计作为输入,而且可以讲其编译并形成各种能够下载到可编程逻辑器件的数据文件,并能进行仿真的仿真模型文件。

在进行功能仿真时,能产生精确的仿真

效果,以检查设计的可靠性。

 

一、MAX+plusⅡ软件的基本使用步骤

1.设计输入

点击新建图标弹出新建文件类型对话框。

选取“TextEditorfile”使用文本设计方法,在弹出的文本编辑器中输入VHDL语言是设计代码并存盘。

2.新建一个项目

在编辑并保存VHDL程序后,准备对其编译前,一定要先将该VHDL程序所对应的文件指定为一个项目。

新建一个项目的过程如下:

在主菜单中选择“File”→“Project”→“Name…”,打开项目名称选择对话框。

在对话框“Directories”栏中,选择项目文件所在的文件夹,再在左边的“File”框里选中要建立项目的VHDL文件名,此时在“ProjectName”框内将显示要建立项目的VHDL文件名,再点击“OK”,回到初始界面。

至此,指定的VHDL程序就成为当前的项目了。

3.进行编译。

修改错误

启动编译窗口的方法是选择主菜单“MAX+plusⅡ”的“Compiler”选项,此时会弹出“Compiler”子窗口。

其中“Start”是用来确定开始编译的按钮,点击“Start”按钮就会开始编译。

 

4.波形分析——仿真

波形仿真的目的是通过给定设计输入波形,观察输出波形,检查设计是否符合要求。

(1)建立波形输入文件

①点击新建按钮,打开新建文本对话框,选择“WaveformEditorFile(.scf)”项,选择“OK”,就会出现波形编辑器窗口

②点击节点“Node”选项,在下来菜单中选择“EnterNodesfromSNF…”选项,打开对话框。

单击“List”按钮,可在“AvailableNode&Groups”区看到设计中的输入/输出信号,单击按钮“=>”后可对这些信号进行观测。

③单击“OK”按钮,可看到波形编辑窗口中加入了输入/输出节点。

④从菜单“File”中选择“Save”,保存波形文件。

(2)为输入信号建立输入波形

从菜单“File”中选择“EndTime…”,再在“Option”中选择“GridSize”,再在“View”中选择“Fitinwindow”,出现合适的波形编辑窗口。

将其保存,至此得到输入波形:

运行仿真器,进行时序仿真

从菜单“MAX+plusⅡ”选择“simulator”,打开仿真器。

单击按钮“Start”,开始仿真,仿真完毕后,单击按钮“OpenScf”,就打开了仿真结果波形。

 

实验内容:

一、门电路的仿真

1.输入与非门的VHDL描述:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYnand2IS

PORT(a,b:

INSTD_LOGIC;

y:

OUTSTD_LOGIC);

ENDnand2;

ARCHITECTUREoneOFnand2IS

BEGIN

y<=anandb;

ENDone;

仿真结果:

2.非门的VHDL描述

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYhnotIS

PORT(a:

INSTD_LOGIC;

y:

OUTSTD_LOGIC);

ENDhnot;

ARCHITECTUREoneOFhnotIS

BEGIN

y<=nota;

ENDone;

仿真结果:

二、3线-8线译码器的仿真

3线-8线译码器的VHDL描述

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYLIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYdecoder38IS

PORT(a:

INSTD_LOGIC_VECTOR(2DOWNTO0);

y:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDdecoder38;

ARCHITECTUREoneOFdecoder38IS

BEGIN

PROCESS(a)

BEGIN

CASEaIS

WHEN"000"=>y<="00000001";

WHEN"001"=>y<="00000010";

WHEN"010"=>y<="00000100";

WHEN"011"=>y<="00001000";

WHEN"100"=>y<="00010000";

WHEN"101"=>y<="00100000";

WHEN"110"=>y<="01000000";

WHEN"111"=>y<="10000000";

WHENOTHERS=>null;

ENDCASE;

ENDPROCESS;

ENDone;

仿真结果:

三、8线-3线优先编码器的仿真

8线-3线优先编码器的VHDL描述

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYencoder83IS

PORT(d:

INSTD_LOGIC_VECTOR(7DOWNTO0);

encode:

OUTSTD_LOGIC_VECTOR(2DOWNTO0));

ENDencoder83;

ARCHITECTUREoneOFencoder83IS

BEGIN

encode<="111"whend(7)='1'else

"110"whend(6)='1'else

"101"whend(5)='1'else

"100"whend(4)='1'else

"011"whend(3)='1'else

"010"whend

(2)='1'else

"001"whend

(1)='1'else

"000"whend(0)='1';

ENDone;

 

仿真结果:

 

四、同步复位D触发器的仿真

同步复位D触发器的VHDL描述

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYd_ffis

PORT(d,clk,reset:

INSTD_LOGIC;

q:

OUTSTD_LOGIC);

ENDd_ff;

ARCHITECTUREoneOFd_ffIS

BEGIN

PROCESS(clk)

BEGIN

IFclk'EVENTANDclk='1'THEN

IFreset='1'THEN

Q<='0';

ELSEq<=d;

ENDIF;

ENDIF;

ENDPROCESS;

ENDone;

仿真结果:

五、边沿JK触发器的仿真

边沿JK触发器的VHDL描述

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYjk_ffis

PORT(j,k,clk:

INSTD_LOGIC;

q,qn:

OUTSTD_LOGIC);

ENDjk_ff;

ARCHITECTUREoneOFjk_ffIS

SIGNALq_s:

STD_LOGIC;

BEGIN

PROCESS(j,k,clk)

BEGIN

IFclk'EVENTANDclk='1'THEN

IFJ='0'ANDk='0'THEN

q_s<=q_s;

ELSIFJ='0'ANDk='1'THEN

q_s<='0';

ELSIFJ='1'ANDk='0'THEN

q_s<='1';

ELSIFJ='1'ANDk='1'THEN

q_s<=NOTq_s;

ENDIF;

ENDIF;

ENDPROCESS;

q<=q_s;

qn<=notq_s;

ENDone;

仿真结果:

六、十进制计数器的仿真

十进制计数器的VHDL描述

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCOUNT10IS

PORT(CP:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDCOUNT10;

ARCHITECTUREBEHAVEOFCOUNT10IS

SIGNALCOUNT_4:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

PROCESS(CP)

BEGIN

IF(CP'EVENTANDCP='1')THEN

IF(COUNT_4="1001")THEN

COUNT_4<="0000";

ELSE

COUNT_4<=COUNT_4+'1';

ENDIF;

ENDIF;

ENDPROCESS;

Q<=COUNT_4;

ENDBEHAVE;

仿真结果:

七、4位基本寄存器的仿真

4位基本寄存器的VHDL描述

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYregisterbis

PORT(cp,reset:

INSTD_LOGIC;

data:

INSTD_LOGIC_VECTOR(3DOWNTO0);

q:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDregisterb;

ARCHITECTUREoneOFregisterbIS

BEGIN

PROCESS(cp)

BEGIN

IFcp'EVENTANDcp='1'THEN

IFreset='1'THEN

q<="0000";

ELSE

q<=data;

ENDIF;

ENDIF;

ENDPROCESS;

ENDone;

仿真结果:

 

实验总结:

通过对Max+plusⅡ系统仿真软件的学习和运用,一方面帮助我们更直观的认识电路,在验证单元电路的同时也加深了对所学内容单元电路功能的理解。

另一方面熟悉VDHL语言程序设计和仿真软件的运用对我们以后的电路设计工作都有很大的帮助。

使用这款软件能便于我们对电路进行调试,可以减少很多在实际操作中不必要的错误,得到正确的运营结果后再在实际的电路板上进行设计加工,可以使工作的效率大大的提高。

在后续课程中Max+plusⅡ软件还会起到很大的作用,所以我们更要引起重视,更深入的掌握和熟练这款软件的使用。

总的来说,这款软件的是我们学习相关专业知识必不可少的一个好帮手,我们该充分学习好和掌握好这款软件,使之为我们的学习带来更多的方便。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1