Max+plusⅡ的使用.doc_第1页
Max+plusⅡ的使用.doc_第2页
Max+plusⅡ的使用.doc_第3页
Max+plusⅡ的使用.doc_第4页
Max+plusⅡ的使用.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MAX+plus使用简介 下面通过一个实例(exampl1)的设计过程,介绍MAX+plus的使用。exampl1采用层次设计方法,exampl1电路由一个3位二进制计数器counter和一个3位2选1多路选择器mux2构成;而计数器又是由三个触发器tff1组成的,tff1是带异步清零、具有时钟使能的T触发器。在本设计中,mux2用VHDL文本方式描述;tff1、counter 和exampl1分别用底层电路图、上层电路图和顶层电路图描述。通过这个设计介绍以下几项内容:l 建立子目录和设计项目l 绘制电路图l 书写VHDL文件l 绘制高层电路图l 编译和适配设计l 建立电路输入信号的波形l 仿真l 定时分析1. 建立子目录和设计项目首先,在Windows窗口,用资源管理器为你的设计项目建立一个子目录,例如,d:max2workexampl ,你的设计项目的所有文件将都保存在该目录下。 其次,为你的设计项目tff1 命名,具体的做法是:启动MAX+plus,打开MAX+plus Managerr(程序管理器)窗口,点击File(文件)Project(设计项目)Name(名字)。在Project Name对话框中键入设计项目名:tff1(带异步清零、具有时钟使能的T触发器)。 MAX+plus Manager 窗口的标题条变成MAX+plus- d:max2workexampl tff1 。2. 建立 tff1 电路图文件首先,建立tff1的电路图文件。在MAX+plus Manager窗口,点击MAX+plus菜单Graphic Editor(图形编辑器),打开Graphic Editor窗口。点击File Save As(另存为),在File Name对话框中键入电路图的名字(它应与设计项目的名字相同):tff1(后缀自动为 .gdf)。点击OK按钮,保存tff1.gdf文件。然后,绘制tff1电路图(图 1)。在Graphic Editor窗口绘制电路图的步骤如下。 加入电路符号 加入电路的输入和输出符号 将鼠标置于Graphic Editor窗口,并点击鼠标右键弹出快捷菜单,然后选Enter Symbol(加入符号)来打开Enter Symbol菜单,在Symbol Libraries(符号库)中用鼠标左键双击prim来选择Primitives(图元)库。库内的电路元件清单将显示在Symbol Files(符号文件)框中。利用滚动条找到input(输入)图元,并选中它。之后,点击OK钮,input 符号就出现在Graphic Editor 窗口。在已输入的input符号上单击鼠标左键,则选中该图元(input符号变成红色),压下鼠标左键同时拖拽鼠标,可移动input符号到你希望放置的地方。注意:用同样的方法可选中和移动电路图上的任何符号和连线。在图1 tff1电路图中有三个输入,需要输入三个图元。为此,在已输入的input符号上单击鼠标左键,选中该图元(input符号变成红色)。同时按下Ctrl键和鼠标左键,并拖拽鼠标来复制一个input符号。用同样的方法再复制一个input符号。三个input符号建立后,分别选中它们并点击鼠标右键Edit Pin Name (编辑引脚名),将它们分别命名为CP、Clr和EI。 图1 tff1电路图 点击鼠标右键弹出快捷菜单,然后选中并打开Enter Symbol菜单,在Symbol Libraries中用鼠标左键双击prim来选择Primitives库。库内的电路元件清单将显示在Symbol Files框中。利用滚动条找到output(输出)图元,并选中它。之后,点击OK钮,output 符号就出现在Graphic Editor 窗口,将其放到合适的位置并命名为Q 。然后,再复制一个output符号,并命名为EO。 加入逻辑符号 点击鼠标右键弹出快捷菜单,然后选中并打开Enter Symbol菜单,在Symbol Libraries中用鼠标左键双击prim来选择Primitives库。库内的电路元件清单将显示在Symbol Files框中。利用滚动条找到not(非门)图元,并选中它。之后,点击OK钮,not 符号就出现在Graphic Editor 窗口,再将其放到合适的位置。 用同样的办法建立一个dffe(带异步清零、具有时钟使能的D触发器)符号和一个and2(2输入与门)符号。 画和删除连线 如果把鼠标放在符号引脚的端点上,则鼠标的指针将由箭头变成十字线。在符号引脚的端点上压下鼠标左键并拖拽鼠标,则可建立一条连线。按图1 画出所有的连线。 若需要删除一条连线,则先用鼠标左键选中它,再按Delete键来删除该线段。注意:按此方法也可以选中和删除任何多余的符号。 保存和检查电路图 利用File Project Save & Check(保存并检查)来保存和检查电路图。如果有错误,则在Message窗口出现错误的通知。点击Message钮可看到所有的错误信息;点击Locate(定位)以便找到错误的地方;或者点击Help on Message(信息帮助)来得到有关的解释。 建立用户定义的符号利用File Create Default Symbol(建立默认符号)来建立一个代表现行文件的符号(见图2),并用File Save As保存该符号为tff1.sym ,以便下面以它为模块构造较复杂的上层电路。 图2 tff1电路图的符号3. 建立上层的counter电路图文件 下面利用三个tff1模块构造一个3位二进制计数器 counter(见图3)。 图3 counter电路图 首先,为你的设计项目counter命名,具体的做法是:在MAX+plus Manager窗口,点击File Project Name。在Project Name对话框中键入设计项目名:counter。 MAX+plus Manager 窗口的标题条变成MAX+plus- d:max2workexampl counter 。 然后,建立counter电路图文件。在MAX+plus Manager窗口,点击MAX+plus 菜单Graphic Editor,打开Graphic Editor窗口。点击File Save As ,在File Name对话框中键入电路图的名字(它应与设计项目的名字相同):counter(后缀自动为 .gdf)。点击OK按钮,保存counter.gdf文件。此后,开始画counter的电路图。将鼠标位于Graphic Editor窗口,并点击鼠标右键弹出快捷菜单,然后选Enter Symbol来建立输入、输出符号;在Enter Symbol窗口的Symbol Files框中选tff1符号并做两个拷贝。再加入连线构成图3所示的电路图。利用File Project Save & Check来保存和检查电路图。利用File Create Default Symbol建立一个代表counter.gdf的符号(见图4),并用File Save As保存该符号为counter.sym,以便下面以它为模块构造更复杂的顶层电路。 图4 counter电路图的符号4. 编译counter电路图 上层的counter电路图绘制完成后,可对它进行编译和仿真,以检验其正确性。 利用MAX+plus Compiler(编译器)进入Compiler窗口(图5),点击Start(启动)钮来编译电路。如果编译成功,则出现图6所示的结果。点击“确认”钮,回到原来的窗口。 图5 Compiler窗口 图6 编译成功5. 仿真counter电路 一旦编译成功,可利用仿真来观察counter 电路的行为。 建立输入波形 在仿真之前需规定counter电路的输入波形。利用MAX+plusWaveform Editor(波形编辑器)进行输入波形的编辑。 在编译电路时,已建立了所有可以得到的探测点的清单,并存为Simulator Netlist File (SNF)仿真网表文件。 在Waveform Editor窗口,点击鼠标右键弹出菜单,从中选择Enter Nodes from SNF(从SNF中记入节点)。在Enter Nodes from SNF窗口中,点击List(清单)钮。点击“ = ”钮来选择你希望用作输入或输出的探测点。点击OK钮,回到Waveform Editor窗口(见图7)。 图 7 Waveform Editor窗口 下面介绍如何绘制输入波形图(见图8)。 利用Option(选项)Grid Size(网格尺寸)来选择波形的最小时间间隔;总的仿真时间可用 File End Time(结束时间)来定义。例如,设置Grid Size为50ns,End Time为10s。 在RESET行的Value处点击鼠标左键,则自Value之后的波形区变成黑色宽条。点击左边的第5个图标(即写有1字的图标),使它变为恒1值。在波形的50ns 处压下鼠标左键并拖拽到350ns处,则从50ns350ns的这段波形变为黑色宽条;再点击左边的第4个图标(即写有0字的图标),使该段波形变为0值(见图8)。 仿照上面的方法,按图8所示的波形编辑EN输入信号的波形。 图 8 输入波形 在CLK行的Value处点击鼠标左键,则自Value之后的波形区变成黑条宽条。点击左边倒数的第4个图标(即画有红色钟表图案的图标),弹出Overwrite Clock窗口,并按图9填写相关的值。然后,点击OK钮。 利用File Save As保存名为counter.scf的输入波形图。 图 9 Overwrite Clock窗口2 仿真 利用MAX+plusSimulator(仿真器)启动仿真器。在Simulator窗口,点击Start钮,执行仿真。仿真完毕,点击Open SCF(打开SCF文件)钮。观察仿真结果(见图10),并得知前面的设计(即图1和图3)是正确的。 图 10 仿真结果6. 建立mux2的VHDL文件 下面用 VHDL建立一个3位的2选1多路选择器mux 2.vhd文件。 首先,为你的设计项目mux2命名,具体的做法是:在MAX+plus Manager窗口,点击File Project Name。在Project Name对话框中键入设计项目名:mux2。 MAX+plus Manager 窗口的标题条变成MAX+plus- d:max2workexampl mux2 。 然后,建立mux2的文本文件。在MAX+plus Manager窗口,点击MAX+plus 菜单Text Editor(文本编辑器),打开Text Editor窗口。点击File Save As ,在File Name对话框中键入文本文件的名字(它应与设计项目的名字相同):mux2.vhd。点击OK按钮,保存mux2.vhd 文件。 此后,开始写mux.vhd文件。在Text Editor窗口,利用templates (模板) VHDL template选择合适的模板。之后,点击OK钮。例如,选择Full Design: Tri-State Buffer模板,出现图11所示的Text Editor窗口。 图11 Text Editor窗口 将图11的内容改写为mux2.vhd文件(见图12)。利用File Project Save & Check 来保存和检查文件是否有错误。利用File Create Default Symbol来建立一个代表mux2.vhd的符号(见图13),并用File Save As保存该符号为mux2.sym,以便下面以它为模块构造较复杂的顶层电路。 图12 mux2.vhd 文件 图13 mux2.sym符号7. 建立顶层的exampl1电路图文件 下面,利用mux2和 counter两个模块构造顶层电路图exampl1.gdf(图14)。 首先,为你的设计项目Project起一个名字,具体的做法是:在MAX+plus Manager窗口,点击File Project Name 。在Project Name对话框中键入设计项目名:exampl1。 MAX+plus Manager 窗口的标题条变成MAX+plus- d:max2workexampl exampl1。 然后,建立exampl1的电路图文件。 在MAX+plus Manager窗口,点击MAX+plus 菜单 Graphic Editor,打开Graphic Editor窗口。点击File Save As ,在File Name对话框中键入电路图的名字(它应与设计项目的名字相同):exampl1(后缀自动为 .gdf)。点击OK按钮,保存exampl1.gdf文件。 此后,开始画exampl1电路图。将鼠标位于Graphic Editor窗口,并点击鼠标右键弹出快捷菜单,然后选Enter Symbol来建立输入、输出符号;在Enter Symbol窗口的Symbol Files框中选mux2符号和counter符号。再加入连线和总线,并给输入、输出、连线和总线命名,最终构成图14所示的电路图。 为了给连线(或总线)命名,先在该连线(或总线)上点击鼠标左键,以选中该连线(或总线);然后,再点击鼠标右键弹出一菜单并选择Edit Node / Bus Name(编辑节点或总线的名字)项;之后,键入该连线(或总线)的名字。此外,在图14 中采用了逻辑连线办法,即名字相同的连线(或总线)在电路上是相连的(而不必一定要画出连接线)。这种方法可使电路图简练。 利用File Project Save & Check 来保存和检查电路图。 图14 exampl1.gdf电路图8. 观察顶层电路图的层次结构 点击MAX+plus菜单 Hierarchy Display (层次显示),打开Hierarchy Display 窗口,观察顶层电路图exampl1.gdf的层次结构(见图15)。 图15 顶层电路图exampl1.gdf的层次结构9. 编译和适配exampl1电路由于MAX+plus软件对exampl1电路图的编译和器件适配工作是连续进行的,故在编译之前需要选择希望使用的可编程器件(也可让MAX+plus软件自行选择合适的器件)。本例由软件自行选择器件。若希望选择器件,则利用Assign (指定) Device(器件),得到Device对话框来选择器件。此外,在对VHDL文件编译前,需要选择VHDL的版本号。为此,在Compiler窗口下,利用主菜单的Interfaces(接口) VHDL Netlist Reader Settings(读者设置VHDL网表)打开相应的窗口,并在VHDL Version (版本)栏中选择VHDL 1987 或者 VHDL 1993 版本。 利用MAX+plus Compiler(编译器)进入Compiler窗口(图16),点击Start钮来编译电路。 如果编译成功,则出现图17所示的结果。点击“确定”钮,回到原来的窗口。在图16 的info(信息)行中示出:软件自行选择了EPM7032LC44-6型器件,并且适配成功。 图 16 Compiler窗口 图17 编译成功10. 建立exampl1顶层电路的输入波形 一旦编译成功,可利用仿真来观察eaxmpl1电路的行为。 为了在仿真后自动产生各输出信号,在仿真之前需规定exampl1电路的输入波形,利用MAX+plus Waveform Editor进行输入波形的编辑。 在编译电路时,已建立了所有可以得到的探测点的清单,并存为Simulator Netlist File (SNF)仿真网表文件。 在Waveform Editor窗口,点击鼠标右键弹出菜单,从中选择Enter Nodes from SNF。在Enter Nodes from SNF窗口中,点击List钮。点击“ = ”钮来选择你希望用作输入或输出的探测点。点击OK钮,回到Waveform Editor窗口(见图18)。在图18 的Name列中,每一行信号名的左边有一个图标,在图标内写有空心的I字,则表示该信号为输入信号;O字的为输出信号;B字的为内部(隐埋)信号。 图 18 Waveform Editor窗口编辑输入波形的具体步骤如下(见图19)。 利用Option Grid Size来选择波形的最小时间间隔;总的仿真时间可用 File End Time来定义。例如,设置Grid Size为50ns,End Time为10s。 图19 输入信号波形 在RESET行的Value处点击鼠标左键,则自Value之后的波形区变成黑条宽条。点击左边的第5个图标(即写有1字的图标),使变为恒1值。在波形的0ns 处压下鼠标左键并拖拽到150ns处,则从0 150ns的这段波形变为黑色宽条;再点击左边的第4个图标(即写有0字的图标),使该段波形变为0值(见图19)。 仿照上面的方法,按照图19 所示的波形编辑EN和SEL 输入信号的波形。 在DATA02.0 行的Value处点击鼠标左键,则自Value之后的波形区变成黑条宽条。点击左边倒数第2个图标(即写有G字的图标),弹出Overwrite Group Value窗口,并按图20填写相关的值。然后,点击OK钮,则DATA02.0 输入波形的值改为4,并且DATA00,DATA01和DATA02的值分别自动改为0,0和1。 图20 Overwrite Group Value窗口 在CLK行的Value处点击鼠标左键,则自Value之后的波形区变成黑条宽条。点击左边倒数第4个图标(即画有红色钟表图案的图标),弹出Overwrite Clock窗口,并按图21填写相关的值。然后,点击OK钮。 利用FileSave As保存名为exampl1.scf的输入波形图。 图21 Overwrite Clock窗口11. 仿真exampl1电路 利用MAX+plusSimulator来启动仿真器。在Simulator窗口,点击Start钮,执行仿真。仿真完毕,点击Open SCF钮。观察仿真结果(见图22),并得知前面的设计(即图12和图14)是正确的。注:点击图22 左边的标有“ + ”或“ ”号的图标,可以将波形放

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论