数电课程设计论文.docx
- 文档编号:16917957
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:12
- 大小:155.36KB
数电课程设计论文.docx
《数电课程设计论文.docx》由会员分享,可在线阅读,更多相关《数电课程设计论文.docx(12页珍藏版)》请在冰豆网上搜索。
数电课程设计论文
实验名称:
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Ⅱ软件还会起到很大的作用,所以我们更要引起重视,更深入的掌握和熟练这款软件的使用。
总的来说,这款软件的是我们学习相关专业知识必不可少的一个好帮手,我们该充分学习好和掌握好这款软件,使之为我们的学习带来更多的方便。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)