第3章MAXPLUS软件的使用(第4节1)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

太原理工大学夏路易963.4VHDL语言在第一章我们详细介绍了VHDL语言,世界各大半导体公司开发的设计软件都支持该语言,MAX+PLUSII软件也支持该语言,下面介绍VHDL语言是如何在MAX+PLUSII软件中使用的。3.4.1MAX+PLUSII与VHDL语言(1)支持VHDL的库max+plus2软件具有如下标准库支持VHDL语言:文件软件包库内容Maxplus2.vhdmaxplus2AlteraMAX+PLUSII中支持VHDL的基本逻辑功能模块(primitives),宏功能模块(macrofunction以及部分巨功能模块(megafunctions)Megacore.vhdmegacorealtera.组成几个不同设计文件的预试验巨功能std1164.vhdstd_logic_1164ieee对VHDL数据、模型、STD_LOGIC和STD_LOGIC_VECTOR进行说明的标准std1164b.vhd.同上Lpm_pack.vhdpm_componentslpm支持VHDL的LPM巨功能Arith.vhdstd_logic_arithieeeSIGNED和UNSIGNED型、使用SIGNED和UNSIGNED型的算术、比较功能和转换功能CONV_INTEGER,CONV_SIGNED,andCONV_UNSIGNED.Arithb.vhd同上Signed.vhdstd_logic_signedieee允许MAX+PLUSII使用STD_LOGIC_VECTOR的一些有符号函数Signedb.vhd同上Unsigned.vhdstd_logic_unsignedieee允许MAX+PLUSII使用STD_LOGIC_VECTOR的一些无符号函数Unsignedb.vhd同上(2)用MAX+PLUSII编译VHDL语言编译器自动的编译在当前项目(Project)中的VHDL设计文件,但应该遵守如下约定:1)可以直接编译VHDL设计文件2)如果必要将项目名称更换到现行文件(File/Project/setProjecttoCurrentFile菜单3)指定VHDL格式4)在Interface菜单进行VHDL网表阅读器设置5)选择VHDL1987或VHDL19936)若在设计文件中使用了用户自己的库,还需要在网表阅读器中设置库名太原理工大学夏路易977)使用File/Project/Save&Compile菜单进行编译(3)使用MAX+PLUSII中提供的模板文本编辑器有一个模板可以帮助书写VHDL源程序,只要将光标放在需要加入模板的地方,打开模板对话框选择摸板内容就可以了。(4)VHDL语言使用步骤:第一步:选File/Project/Name菜单建立项目名第二步:选File/New菜单,并选textEditor条目,进入文本编辑窗,然后输入电路设计文件如图3.4.1所示图3.4.1第三步:选File/Project/Save&Check菜单将文件存盘并检查文件的正确性(文件应以扩展名*.VHD存盘)第四步:选Assign/Device菜单,在指定器件窗口指定MAX7000系列,并选EPM7128CLC84-7器件第五步:选Assign/GlobalProjectLogicSynthesis菜单,指定逻辑综合的类型为FAST第六步:选max+plus2/FloorplanEditor菜单,将设计文件的输入和输出引脚赋予实际器件,若不进行本步骤,软件会自动指定设计文件输入和输出引脚和实际器件引脚之间的对应关系。第七步:选File/Project/Save&Compile菜单,编译设计文件第八步:选max+plus2/TimeAnalyzer菜单,在DelayMatrix查看时间特性第九步:若有下载硬件,就可以选max+plus2/Programmer菜单进行配置下载,然后在硬件环境中观察设计的正确性,若无硬件环境就只能进行功能仿真,进行第十一步太原理工大学夏路易98第十步:选max+plus2/waveformEditor菜单,编辑输入信号波形(在波形编辑窗口,选Node/EnterNodesfromSNF菜单将输入和输出端口凋入,然后再编辑)第十一步:选max+plus2/Simulator菜单进行行为访真第十二步:观察仿真结果,研究设计的正确性说明:*若使用已经编写完毕的文件,选File/Open打开文件后,一定用File/Project/SetProjecttoCurrentfile菜单将当前打开的文件设置为当前项目。*分设计题目必须和文件名称相同。*在VHDL中调用ALTREA函数Inthefollowingexample,twoComponentInstantiationStatementsareusedtocreateaninstanceofaDFFprimitiveanda74151bmacrofunction.如下是一个例子,该例子中使用了基本逻辑模块DFF和老的宏功能模块74151b。LIBRARYaltera;--调用ALTERA库USEaltera.maxplus2.ALL;LIBRARYieee;--调用IEEE库USEieee.std_logic_1164.ALL;ENTITYcompinstISPORT(data,clock,clearn,presetn:INSTD_LOGIC;q_out:OUTSTD_LOGIC;a,b,c,gn:INSTD_LOGIC;d:INSTD_LOGIC_VECTOR(7DOWNTO0);y,wn:OUTSTD_LOGIC);ENDcompinst;ARCHITECTUREaOFcompinstISBEGINdff1:DFFPORTMAP(d=data,q=q_out,clk=clock,clrn=clearn,prn=presetn);mux:a_74151bPORTMAP(c,b,a,d,gn,y,wn);ENDa;

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功