1、数电课程设计论文 实验名称:Max+plus在数字电子技术中的应用实验目的:(1)学习软件的使用方法及VHDL程序的基本语法; (2)用MAX+plus进行电路等的仿真。实验仪器:Max+plus系统仿真软件软件介绍: Max+plus是Alter公司开发的一款完全集成化得EDA工 具软件,它具有强大、界面友好、使用简便等优点。Max+plus支持原理图、硬件描述语言波形文件以及它们的混合设计作为输入,而且可以讲其编译并形成各种能够下载到可编程逻辑器件的数据文件,并能进行仿真的仿真模型文件。在进行功能仿真时,能产生精确的仿真效果,以检查设计的可靠性。一、MAX+plus软件的基本使用步骤1设计
2、输入 点击新建图标弹出新建文件类型对话框。选取“Text Editor file”使用文本设计方法,在弹出的文本编辑器中输入VHDL语言是设计代码并存盘。 2. 新建一个项目在编辑并保存VHDL程序后,准备对其编译前,一定要先将该VHDL程序所对应的文件指定为一个项目。新建一个项目的过程如下:在主菜单中选择“File”“Project”“Name”,打开项目名称选择对话框。在对话框“Directories”栏中,选择项目文件所在的文件夹,再在左边的“File”框里选中要建立项目的VHDL文件名,此时在“Project Name”框内将显示要建立项目的VHDL文件名,再点击“OK”,回到初始界面
3、。至此,指定的VHDL程序就成为当前的项目了。3.进行编译。修改错误启动编译窗口的方法是选择主菜单“MAX+plus”的“Compiler”选项,此时会弹出 “Compiler”子窗口。其中“Start”是用来确定开始编译的按钮,点击“Start”按钮就会开始编译。 4.波形分析仿真波形仿真的目的是通过给定设计输入波形,观察输出波形,检查设计是否符合要求。(1) 建立波形输入文件 点击新建按钮,打开新建文本对话框,选择“Waveform Editor File(.scf)”项,选择“OK”,就会出现波形编辑器窗口 点击节点“Node”选项,在下来菜单中选择“Enter Nodes from S
4、NF”选项,打开对话框。单击“List”按钮,可在“Available Node & Groups”区看到设计中的输入/输出信号,单击按钮“=”后可对这些信号进行观测。单击“OK”按钮,可看到波形编辑窗口中加入了输入/输出节点。从菜单“File”中选择“Save”,保存波形文件。(2)为输入信号建立输入波形从菜单“File”中选择“End Time”,再在“Option”中选择“Grid Size”,再在“View”中选择“Fit in window”,出现合适的波形编辑窗口。将其保存,至此得到输入波形: 运行仿真器,进行时序仿真 从菜单“MAX+plus”选择“simulator”,打开仿真
5、器。单击按钮“Start”,开始仿真,仿真完毕后,单击按钮“Open Scf”,就打开了仿真结果波形。实验内容:一、 门电路的仿真1.输入与非门的VHDL描述:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY nand2 IS PORT(a, b : IN STD_LOGIC; y: OUT STD_LOGIC); END nand2; ARCHITECTURE one OF nand2 IS BEGIN y= a nand b;END one; 仿真结果:2.非门的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1
6、164.ALL;ENTITY hnot IS PORT(a : IN STD_LOGIC; y: OUT STD_LOGIC); END hnot; ARCHITECTURE one OF hnot IS BEGIN y y y y y y y y ynull ; END CASE; END PROCESS;END one;仿真结果:三、8线-3线优先编码器的仿真8线-3线优先编码器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY encoder83 IS PORT( d : IN STD_LOGIC_VECTOR(7 DOWNTO
7、 0); encode: OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END encoder83;ARCHITECTURE one OF encoder83 ISBEGINencode = 111 when d(7) = 1 else 110 when d(6) = 1 else 101 when d(5) = 1 else 100 when d(4) = 1 else 011 when d(3) = 1 else 010 when d(2) = 1 else 001 when d(1) = 1 else 000 when d(0) = 1 ; END one;仿真结果:
8、四、同步复位D触发器的仿真同步复位D触发器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY d_ff isPORT (d,clk,reset : IN STD_LOGIC; q : OUT STD_LOGIC); END d_ff;ARCHITECTURE one OF d_ff IS BEGIN PROCESS (clk) BEGIN IF clkEVENT AND clk=1 THEN IF reset=1 THEN Q=0; ELSE q=d; END IF; END IF; END PROCESS;END one;仿真结果
9、:五、边沿JK触发器的仿真边沿JK 触发器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY jk_ff isPORT (j,k,clk : IN STD_LOGIC; q, qn : OUT STD_LOGIC); END jk_ff;ARCHITECTURE one OF jk_ff IS SIGNAL q_s : STD_LOGIC; BEGIN PROCESS (j,k,clk) BEGIN IF clkEVENT AND clk=1 THEN IF J=0 AND k=0 THEN q_s= q_s; ELSIF J=0
10、AND k=1 THEN q_s=0; ELSIF J=1 AND k=0 THEN q_s=1; ELSIF J=1 AND k=1 THEN q_s=NOT q_s; END IF; END IF; END PROCESS; q=q_s; qn=not q_s;END one;仿真结果:六、十进制计数器的仿真十进制计数器的VHDL描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT10 ISPORT(CP: IN STD_LOGIC; Q: OUT STD_LOGIC_
11、VECTOR(3 DOWNTO 0);END COUNT10;ARCHITECTURE BEHAVE OF COUNT10 ISSIGNAL COUNT_4: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(CP) BEGIN IF(CPEVENT AND CP=1) THEN IF(COUNT_4=1001) THEN COUNT_4=0000; ELSE COUNT_4=COUNT_4+1; END IF; END IF; END PROCESS;Q= COUNT_4;END BEHAVE;仿真结果:七、4位基本寄存器的仿真4位基本寄存器的VHDL描述
12、LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY registerb isPORT (cp,reset : IN STD_LOGIC; data : IN STD_LOGIC_VECTOR(3 DOWNTO 0);q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END registerb;ARCHITECTURE one OF registerb IS BEGIN PROCESS (cp) BEGIN IF cpEVENT AND cp=1 THEN IF reset=1 THEN q=0000; ELSE q=
13、data; END IF; END IF; END PROCESS;END one;仿真结果:实验总结:通过对Max+plus系统仿真软件的学习和运用,一方面帮助我们更直观的认识电路,在验证单元电路的同时也加深了对所学内容单元电路功能的理解。另一方面熟悉VDHL语言程序设计和仿真软件的运用对我们以后的电路设计工作都有很大的帮助。使用这款软件能便于我们对电路进行调试,可以减少很多在实际操作中不必要的错误,得到正确的运营结果后再在实际的电路板上进行设计加工,可以使工作的效率大大的提高。在后续课程中Max+plus软件还会起到很大的作用,所以我们更要引起重视,更深入的掌握和熟练这款软件的使用。 总的来说,这款软件的是我们学习相关专业知识必不可少的一个好帮手,我们该充分学习好和掌握好这款软件,使之为我们的学习带来更多的方便。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1