标 题 栏 菜 单 栏 一、MAX+PLUSⅡ 的环境 工 具 栏 工 作 显 示 区 状 态 栏
MAX+PLUSⅡ的菜单栏 — MAX+PLUSⅡ 打开层次显示器窗口 MAX+PLUSⅡ 菜单包含了 MAX+PLUSⅡ 全部 11 个应用程序,选择其中任何一项,即可打开该程序的界面,也可以通过工具栏中的快捷键打开。 打开图形编辑器窗口 打开图元编辑器窗口 打开文本编辑器窗口 打开波形编辑器窗口 打开平面编辑器窗口 打开编译器窗口 打开仿真器窗口 打开定时分析器窗口 打开编程器窗口 打开消息处理器窗口
File 菜单包含的指令一般是管理文件的基本操作,例如新建一个文件、打开已有文件、删除指定文件、退出程序等。与其它软件不同的选项有三个。 MAX+PLUSⅡ的菜单栏 — File 向用户提供对所设计工程文件的操作项目。子菜单中包括确定工程名称、将工程设定为当前文件、工程的编译、仿真、检查和工程备份等选项。 打开顶层工 程设计文件。 帮助用户创建或修改自定义的函数,然后在设计文件中说明它。 File 菜单包含的指令一般是管理文件的基本操作,例如新建一个文件、打开已有文件、删除指定文件、退出程序等。与其它软件不同的选项有三个。
Assign 菜单向用户提供对所设计系统各参数赋值的命令。下面介绍菜单中的部分选项。 MAX+PLUSⅡ的菜单栏 — Assign 器件设定 管脚/位置/芯片设定 Assign 菜单向用户提供对所设计系统各参数赋值的命令。下面介绍菜单中的部分选项。 时间属性设定 集合设定 逻辑属性设定 探针设定 互连管脚设定 局部布线设定 项目全局…设定 忽略项目设定 清除项目设定 回注项目 转换设定格式
MAX+PLUSⅡ的菜单栏 — Options Options 菜单帮助用户对软件使用中的一些特性进行设置。 User Libraries 选项使用户确定自己的库,包括图元文件和设计文件等。 Color Palette 选项用于打开颜色调整对话框。 License Setup 选项用于打开 License Setup 对话框,使用户确认 License.dat 文件的位置,使软件通过授权,全部功能都能使用。 User Libraries 选项使用户对软件使用中的一些特性进行选择,如是否在关闭软件前请示用户、是否显示工具栏等。
MAX+PLUSⅡ的菜单栏 — Help Help 菜单 向用户提供各种 MAX+PLUSⅡ帮助选项 。 例如打开 MAX+PLUSⅡTable of Contents 选项。 该帮助系统提供关于这个软件的所有技术细节。
工具栏向用户提供常用命令的快捷方式,在菜单中都能找到与它们相应的命令,熟练使用能减少许多操作步骤。 MAX+PLUSⅡ的工具栏 工具栏向用户提供常用命令的快捷方式,在菜单中都能找到与它们相应的命令,熟练使用能减少许多操作步骤。 上下文相关帮助按钮 打开层次显示器窗口 打开平面编辑器窗口 打开编译器窗口 打开仿真器窗口 打开定时分析器窗口 打开编程器窗口 工程名确认按钮 顶层工程按钮 工程存盘和检测按钮 工程存盘编译按钮 工程存盘仿真按钮
二、设计过程简介 MAX+PLUSⅡ(Multiple Array Matrix and Programmable Logic User Systems )开发工具是美国 Altera 公司设计的一种 CAE 软件工具,利用该工具所配备的编辑、编译、仿真、综合、芯片编程等功能,将设计电路图或电路描述程序转换成基本的逻辑单元写入到可编程的芯片中(如 FPGA 芯片或EPLD 芯片),做成 ASIC 芯片。
MAX+PLUSⅡ开发流程 设计输入 项目编译 修改设计 仿真与定时分析 编程下载 系统测试
三、设计举例 1. 设计输入 本小节将以设计半加器为例,使用图形输入方式来完成输入。设计输入包括以下步骤: (1)创建一个新文件。 1. 设计输入 本小节将以设计半加器为例,使用图形输入方式来完成输入。设计输入包括以下步骤: (1)创建一个新文件。 (2)输入逻辑功能图元。 (3)保存文件并检查错误。 (4)规定项目名称。 (5)关闭 Graphic Editor 窗口。
(1)创建一个新文件 在此步骤中将创建一个名为 half_adder.gdf 的文件。步骤如下: a. 进入 Altera 软件包,打开 MAX+PLUSⅡ 9.5 软件 或双击 。 如图所示
b. 选择 FileNew 菜单,或单击 , 弹出 New 对话框。 c. 选中 Graphic Editor file (图形设计文件)单选按钮。 图形编辑输入 符号编辑输入 文本编辑输入 波形编辑输入 d. 在下拉表框中选择 .gdf 作为文件的扩展名。单击 ok 按钮。弹出 Graphic Editor 窗口。
(2)输入逻辑功能图元 打开原理图编辑器,进入原理图设计输入电路编辑状态,如下图所示:
a. 如何放置器件 在原理图的空白处双击鼠标左键(或选择 Symbol Enter Symbol 选项 ,弹出 Enter Symbol 对话框。 在光标处输入元件名称 或用鼠标点取(双击) 元件库。 选取元件后按下 ok 即可。 如果安放相同元件,只要按住Ctrl 键,同时用鼠标拖动该元件复制即可。
半加器所需元件和端口包括:输入端口INPUT、与门AND、异或门XOR、输出端口OUTPUT,它们都在 Prim 库中。下图为半加器元件安放结果。
b. 添加连线到器件的管脚上 把鼠标移到元件引脚附近,则鼠标光标自动由箭头 变为十字,按住鼠标右键拖动,即可画出连线。
c. 标记输入/输出断口属性 双击输入端口的 “PIN-NAME”,当变成黑色时,即可输入标记符并回车确认。输出端口标记方法类似。半加器的输入端分别标记为 A、B ,输出端分别为 S、C 。
(3)保存文件 要保存文件,选择 FileSave As 选项,弹出 Save As 对话框。如图所示。 在 File Name 文本框中输入 half_adder.gdf ,并在 Directories 列表框中选择文件的保存目录。 注意 在 MAX+PLUSⅡ 的有些版本中,保存文件目录的路径字符串中不能包含中文字符。
(4)检查错误 为了确保输入的逻辑正确,可以保存文件并检查错误。步骤如下: 选择 FileProjectSave & Check 选项 ,这 将保存上面编辑的文件,并检查输入中的错误。 b. 如果没有出现错误,单击 OK 按钮,关闭消息对话框。 c. 单击 Compiler 窗口右上角的关闭按钮,关闭 Compiler 窗口。
(5)规定项目名称 在 MAX+PLUSⅡ 中,在执行编译和仿真操作前,必须将当前的设计文件指定为当前项目。可以通过规定项目名称来指定当前项目。 a. 选择 File Project Name 选项,弹出 Project Name 对话框。 b. 在 Files 列表框中选择half_adder.gdf,然后单击 ok 按钮。
技巧:选择 FileProjectset project to current file选 项,可将当前的设计文件指定为当前项目。 此操作在你打开几个原有项目文件时尤为重要,否则容易出错。 技巧: (6)关闭 Graphic Editor 窗口。
(本设计中选择7000S系列的EPM7128SLC84-15器件) 2. 电路编译与适配 (1)定义器件 a. 选择 AssignDevice 选项,弹出 Device 对话框。 b. 在 Device Family 下拉列表框中选择适配器件的系列,在 Devices 中选择器件的型号,然后单击 OK 按钮。 (本设计中选择7000S系列的EPM7128SLC84-15器件) c. 如果不对适配器件的型号进行选择,该软件将自动选择适合本电路的器件进行编译适配。
(2)编译适配 选择 MAX+plusⅡ\Compiler ,弹出 Compiler 窗口。 单击 Start 按钮开始编译并显示编译结果,生成下载文件。如果编译时选择的芯片是 CPLD ,则生成 *. pof 文件;如果是 FPGA 芯片,则生成 *. sof 文件,以备硬件下载编程时调用。同时生成 *. rpt 报告文件,可详细查看编译结果。如果有错误待修改后再进行编译适配。
3. 电路仿真 (1)添加仿真激励信号 a. 选择 MAX+plus Wave Editor 选项,弹出波形编辑窗口。 V
b. 将鼠标移至空白处并单击右键,出现对话框窗口 。
c. 选择 Enter Node from SNF 选项并按鼠标左键确认,出现如图所示对话框。 单击 List 和 => 按钮, 选择欲仿真的输入/输出端口。
调整管脚顺序 :选中被调整的管脚,并按住鼠标左键拖动至相应位置即可 d. 单击 OK,窗口中列出了被仿真电路的输入、输出端口。在本电路中,半加器的输出为网格状,表示未仿真前其输出是未知的 。 调整管脚顺序 :选中被调整的管脚,并按住鼠标左键拖动至相应位置即可
以计数序列覆盖所选的单个组的全部或部分波形 e. 电路输入端口添加激励信号 选中欲添加信号的管脚,窗口左边的信号源按钮变成可操作状态。根据电路实际要求选择信号源种类。 选择工具 文本工具,用来插入注释 移动逻辑电平转换点或编辑波形 放大或缩小波形 调整显示区域的大小 以低电平 0 (或高电平 1)覆盖所选波形 以不定态 X (或高阻态 Z)覆盖所选波形 反转所选波形的逻辑电平 以时钟波形覆盖所选节点 以计数序列覆盖所选的单个组的全部或部分波形
f. 选择仿真时间 点击 FileName 出现如图所示的对话框,在光标处可进行仿真时间的设置。 根据电路实际要求确定仿真时间的长短,在本设计中我们选择软件默认的时间1μs即可观察到半加器的 4 个输出状态。
g. 为输入端口添加信号 选中A 输入端 然后点击窗口左侧的时钟信号源图标 出现如图所示的对话框。 选择初始电平为“0”,时钟周期为“200 ns”,倍数为“1”(时钟周期倍数只能为整数倍),单击 OK 确认。 按同样的方法为B输入端添加激励信号,时钟周期倍数为A输入端的2倍。这样我们就为A、B输入端分别添加了时钟周期为200 ns和400 ns的激励信号。
h. 保存激励信号编辑结果 半加器的激励信号如图所示。 点击 FileSave 菜单出现如图所示对话框。 文件名称和原理图文件一致,扩展名为“.scf” ,单击OK保存激励信号编辑结果。
(2)电路仿真 电路仿真属于设计校验,包括功能仿真(前仿真)和时序仿真(后仿真)。由于时序仿真的结果比较接近实际器件仿真的结果,因此本设计采用时序仿真。 a. 选择MAX+plusⅡSimulator选项,弹出仿真器窗口 。 b. 单击 Start 开始仿真 。 c. 电路仿真完成后,单击Open SCF 打开波形文件,显示电路的仿真结果。
d. 半加器电路的仿真结果如图所示。 检查仿真结果是否正确,并观察电路的时序及延时情况 。
(3)管脚的重新分配与定位 选择 MAX+PlusⅡFloorplan Editor选项,即可打开平面(底层)编辑器窗口,出现如图所示的芯片管脚分配图。 芯片名称区 未赋值节点和管脚显示区 颜色图例 选中节点和管脚区 器件显示区 这是由软件自动分配的,用户可根据需要随意改变管脚分配,管脚的编辑过程如下。
管脚的编辑过程: a. 用鼠标左键单击窗口左边手动分配图标 — 所有管脚出现在“Unassigned Nodes”(未赋值节点和管脚显示区) 窗口。 b. 用鼠标左键按住欲分配的输入、输出端口并拖到下面芯片的相应管脚上,然后松开,即可完成一个管脚的重新分配。
管脚重新分配时须注意的事项: 芯片上有些特殊功能的管脚(如GND、Global CLK 等),进行管脚编辑时不能使用。 在器件选择时如果选择了Auto,则不允许对管脚进行再分配。 对管脚进行重新分配后,必须再编译一次,否则下载后的管脚还是自动分配的状态。
(本设计中选择7000S系列的EPM7128SLC84-15器件) 4. 器件的编程与硬件实现 (1)硬件的连接 Altera公司的器件一般采用 ByteBlaster 并行下载方式,因为这种方式既方便,速度又快。 a. 选择 ByteBlaster 编程电缆,将其 25 针的接插头连接到计算机的并行口上,10 针的一端接到实验箱的 JTAG 插座上。 b. 编程器件选择开关拨到CPLD一端。 c.打开电源,电源指示灯亮,此时即可进行进行器件的编程下载。如果下载过程正常,JTAG插座旁边的指示灯处于闪烁状态。 (本设计中选择7000S系列的EPM7128SLC84-15器件)
(2)器件的编程下载 a. 选择 MAX+PlusⅡProgrammer 选项,如果是第一次使用,将出现如图所示的对话框。 硬件类型选择 “ByteBlaster” 并单击 OK 确认。
b. 选择菜单栏中的 JTAGMulti-Device JTAG Chain Setup 选项,弹出如图所示的对话框。 在 Device Name 下拉菜单中选择器件名称。 单击 Select Programming File…按钮选择要下载的.pof文件。 (若为FPGA芯片,则下载文件为.sof文件) 单击 Add 按钮将其加到文件列表中。 如果表中的文件不是要下载的文件,可用 Delete 按钮将其删除。
c. 选择完下载文件后,单击 OK 确定,出现如图所示的 编程界面。 d. 单击 Program 按钮进行下载编程(若为 FPGA 芯片 单击Configure)。
e. 若不能正确下载,重新回到 JTAGMulti-Device JTAG Chain Setup 窗口。 单击图中所示的 Detect JTAG Chain Info 按钮进行 JTAG测试,查找原因。
(3)实验结果的硬件验证 利用二位拨码开关作为输入,发光二极管作为输出显示,参照半加器真值表,可以验证下载结果是否正确。 附:半加器的VHDL描述 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY half_adder IS PORT (a,b : IN STD_LOGIC; s,c: OUT STD_LOGIC); END half_adder; ARCHITECTURE half1 OF half_adder IS BEGIN s<=a AND b; c<=a XOR b; END half1;