kechengsheji用MAX+plusⅡ进行设计和仿真

  • 格式:doc
  • 大小:380.00 KB
  • 文档页数:12

南京信息工程大学电子线路实验Ⅱ课程设计报告电子与信息工程学院07通信工程(2)班姓名:王金凯学号:200713340602009.6.1实验题目:用MAX+plusⅡ进行设计和仿真。

实验目的:(1)学习软件的使用方法及VHDL程序的基本语法;(2)用MAX+plusⅡ进行门电路、组合逻辑电路、触发器、可编程逻辑器件和时序电路等的仿真。

实验内容:一、MAX+plusⅡ软件的设计流程1)设计输入点击新建图标弹出如图1.1所示的新建文件类型对话框。

选取“Text Editorfile”使用文本设计方法,在弹出的文本编辑器中输入VHDL语言是设计代码并存盘,窗口显示如图1.2.下面以一个2输入与门的设计为例来描述这一操作。

图1.1 先输入源代码并存盘,文本编辑框效果如图 1.2所示。

将此文件保存为and2.vhd。

注意保存文件时一定要选择“vhd”的文件后缀,文件名必须与实体名相同。

另外,保存该文件的文件夹不能用中文命令,也不能为根目录。

这里是新建一个名为example的文件夹来保存and2.vhd文件的。

图1.2当要打开已存盘的文件时则可点击左上角的,在弹出如图1.3所示Open对话框中“Show in List”栏内,选中要打开的文件类型,再选中VHDL程序所在的文件夹,,在“Files:”框内选中VHDL程序名,这时在“File Name”栏里将显示相应VHDL程序的文件名。

点击“OK”按钮,就会弹出要打开的文件窗口。

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

新建一个项目的过程如下:在主菜单中选择“File”→“Project”→“Name…”,打开如图1.4所示的项目名称选择对话框。

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

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

3)进行编译。

修改错误启动编译窗口的方法是选择主菜单“MAX+plusⅡ”的“Compiler”选项,此时会弹出如图1.5所示的“Compiler”子窗口。

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

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

(1)建立波形输入文件①点击新建按钮,打开新建文本对话框,选择“Waveform Editor File(.scf)”项,选择“OK”,就会出现波形编辑器窗口。

②点击节点“Node”选项,在下来菜单中选择“Enter Nodes from SNF…”选项,打开如图1.6所示对话框。

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

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

图1.6④从菜单“File”中选择“Save”,将波形文件保存为“and2.scf”.(2)为输入信号建立输入波形从菜单“File”中选择“End Time…”,将框中的1.0us修改为1.0ms。

再在“Option”中选择“Grid Size”,将100ns改为100us。

再在“View”中选择“Fit in window”,出现合适的波形编辑窗口。

要将信号“b”从0 us到1000 us的整个时段,设置为赋值周期为200 us的方波,其步骤是;先单击“b”将其选中,再单击按钮弹出对话框后不做任何改变,单击“OK”,即可生成“b”的输入波形。

如要将信号“a”在100 us~300 us和700us~900us时间段设置为‘1’,其他时间都为‘0’,则可进行如下操作:通过拖动鼠标分别选中信号在100us~300us和700us~900us间的波段,使其呈黑色,再单击按钮就可完成设置。

将其保存,至此得到输入波形:(2)运行仿真器,进行时序仿真(3)从菜单“MAX+plusⅡ”选择“simulator”,打开如图所示1.7所示的仿真器。

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

图1.7图1.8通过输出波形与输入波形的关系的分析,可以得出结论——所设计的与门逻辑功能正确。

到此,2输入与门的功能仿真全部完成。

二、用MAX+plusⅡ对门电路进行仿真1)输入与非门的VHDL程序源代码并存盘。

新建一工程名为“nand2.vhd”的项目,编译通过后进行仿真。

建立波形输入文件后,将文件保存为“nand2.scf”。

将信号“b”从0 us到1000 us的整个时段设置为赋值周期为200 us的方波(初始为零),“a”在100 us~300 us和700 us~900us时间段置‘1’,其余时间都为‘0’,保存后运行仿真器,最终所得结果如图2.1所示。

图2.12)输入或门的VHDL程序源代码并存盘。

新建一工程名为“or2.vhd”的项目,编译通过后进行仿真。

建立波形输入文件后,将文件保存为“or2.scf”。

将信号“b”从0 us到1000 us的整个时段设置为赋值周期为200 us的方波(初始为零),“a”在100 us~200 us和600 us~800us时间段置‘1’,其余时间都为‘0’,保存后运行仿真器,最终所的结果如图2.2所示。

图2.2通过输出波形与输入波形的关系的分析,可以得出结论——所设计的各门逻辑功能正确。

到此,各门的功能仿真全部完成。

三、用MAX+plusⅡ对组合逻辑电路进行仿真1)输入3线-8线译码器的VHDL程序源代码并存盘。

新建一工程名为“decoder38.vhd”的项目,编译通过后进行仿真。

建立波形输入文件后,将文件保存为“decoder38.scf”。

将信号“a”从0 us到1000 us的整个时段设置为赋值周期为50 us的波形,保存后运行仿真器,最终所的结果如图3.1所示。

图3.12)输入8线-3线优先编码器的VHDL程序源代码并存盘。

新建一工程名为“encoder83.vhd”的项目,编译通过后进行仿真。

建立波形输入文件后,将文件保存为“encoder83.scf”。

各输入信号的设置如图 3.2所示,保存后运行仿真器,最终所的结果如图3.2所示。

图3.23)输入四选一数据选择器的VHDL程序源代码并存盘。

见图3.3(1)图3.3(1)新建一工程名为“mux41.vhd”的项目,编译通过后进行仿真。

建立波形输入文件后,将文件保存为“mux41.scf”。

各输入信号的设置如下图所示,保存后运行仿真器,所的结果如图3.3(2)所示。

图3.3(2)通过输出波形与输入波形的关系的分析,可以得出结论——所设计的各组合逻辑电路功能正确。

到此,各组合逻辑电路的功能仿真全部完成。

四、用MAX+pusⅡ对触发器进行仿真1)输入同步D触发器的VHDL程序源代码并存盘。

新建一工程名为“d_ff.vhd”的项目,编译通过后进行仿真。

建立波形输入文件后,将文件保存为“d_ff.scf”。

各输入信号的设置如下图所示,保存后运行仿真器,所的结果如图4.1所示。

图4.12)输入JK触发器的VHDL程序源代码并存盘。

新建一工程名为“jk_ff.vhd”的项目,编译通过后进行仿真。

建立波形输入文件后,将文件保存为“jk_ff.scf”。

各输入信号的设置如图4.2所示,保存后运行仿真器,最终所的结果如图4.2所示。

图4.2通过输出波形与输入波形的关系的分析,可以得出结论——所设计的触发器功能正确。

到此,触发器的功能仿真全部完成。

五、用MAX+plusⅡ对时序逻辑电路进行仿真1)输入十进制计数器的VHDL程序源代码并存盘。

新建一工程名为“count10.vhd”的项目,编译通过后进行仿真。

建立波形输入文件后,将文件保存为“count10.scf”。

各输入信号的设置如图 5.1所示,保存后运行仿真器,最终所的结果如图5.1所示。

图5.12)输入4位基本寄存器的VHDL程序源代码并存盘。

新建一工程名为“registerb.vhd”的项目,编译通过后进行仿真。

建立波形输入文件后,将文件保存为“registerb.scf”。

各输入信号的设置如图 5.2所示,保存后运行仿真器,最终所的结果如图5.2所示。

通过输出波形与输入波形的关系的分析,可以得出结论——所设计的时序逻辑电路功能正确。

到此,时序逻辑电路的功能仿真全部完成。

实验总结:通过这些实验,我掌握了MAX+plusⅡ的一些基本使用和VHDL基本的一些语法,并加深对门电路、组合逻辑电路、触发器、可编程逻辑器件和时序电路等的了解。

能对一些电路进行模拟分析,通过模拟能够更深的理解电路所要实现的功能。