电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

基于quartus-ii11.0的modelsim仿真VIP免费

基于quartus-ii11.0的modelsim仿真_第1页
1/15
基于quartus-ii11.0的modelsim仿真_第2页
2/15
基于quartus-ii11.0的modelsim仿真_第3页
3/15
Quartus自从9.0版本以后就没有自带仿真工具。需要进行仿真要另外安装仿真工具。下面就以altera-modelsim6.6d版本介绍一个简单的VHDL语言编写的程序的仿真步骤。Quartus工具为11.0版本。1).新建一个工程。以与非门为例。打开quartus11.0工具栏的file->new->NewQuartusIIProject.点击OK。点Next创建工程文件夹,如andnotgate。输入工程名称。点Next先别管它,点Next选择芯片型号,因为是只是仿真,可以随便选。或者默认。点Next.选择仿真工具,这里选择ModelSim-Altera.点Next.点Finish。新建了一个工程。2).向新建工程添加VHDL源文件File->new->VHDLFile->OK编写源程序:libraryieee;useieee.std_logic_1164.all;entityandnotgateisport(a,b:instd_logic;c:outstd_logic);endentityandnotgate;architecturert1ofandnotgateisbeginc<=not(aandb);endrt1;保存源程序在新建的工程中File->saveas保存。编译源文件:点击Startcompilation编译成功。3).利用modelsim进行波形仿真要进行仿真必须先创建一个testbench的仿真激励文件。testbench文件的编写可以利用软件提供的模板进行修改。生成testbench模板processing->start->starttestbenchtemplatewriter->OK打开新生成的testbench模板。在新建工程里的simulation->modelsim里的后缀为.vht的文件。修改testbench文件,主要工作是加入要输入的信号以及输出的时间。生成的模板为LIBRARYieee;USEieee.std_logic_1164.all;ENTITYandnotgate_vhd_tstISENDandnotgate_vhd_tst;ARCHITECTUREandnotgate_archOFandnotgate_vhd_tstIS--constants--signalsSIGNALa:STD_LOGIC;SIGNALb:STD_LOGIC;SIGNALc:STD_LOGIC;COMPONENTandnotgatePORT(a:INSTD_LOGIC;b:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDCOMPONENT;BEGINi1:andnotgatePORTMAP(--listconnectionsbetweenmasterportsandsignalsa=>a,b=>b,c=>c);init:PROCESS--variabledeclarationsBEGIN--codethatexecutesonlyonceWAIT;ENDPROCESSinit;always:PROCESS--optionalsensitivitylist--()--variabledeclarationsBEGIN--codeexecutesforeveryeventonsensitivitylistWAIT;ENDPROCESSalways;ENDandnotgate_arch;修改后LIBRARYieee;USEieee.std_logic_1164.all;ENTITYandnotgate_vhd_tstISENDandnotgate_vhd_tst;ARCHITECTUREandnotgate_archOFandnotgate_vhd_tstIS--constantsconstantclk_period:time:=40ns;--定义一个时间常数。--signalsSIGNALa:STD_LOGIC;SIGNALb:STD_LOGIC;SIGNALc:STD_LOGIC;COMPONENTandnotgatePORT(a:INSTD_LOGIC;b:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDCOMPONENT;BEGINi1:andnotgatePORTMAP(--listconnectionsbetweenmasterportsandsignalsa=>a,b=>b,c=>c);init:PROCESS--variabledeclarationsBEGIN--给变量a、b输入信号。--codethatexecutesonlyoncea<='0';--20nsa输出为0.b<='0';--20nsb输出为0.c=1,输出正确waitforclk_period/2;a<='1';--20nsa输出为1b<='1';--20nsb输出为1,c=0,输出正确waitforclk_period/2;a<='1';b<='0';--c输出为1,输出正确waitforclk_period/2;WAIT;ENDPROCESSinit;always:PROCESS--optionalsensitivitylist--()--variabledeclarationsBEGIN--codeexecutesforeveryeventonsensitivitylistWAIT;ENDPROCESSalways;ENDandnotgate_arch;编译testbench.成功编译。接着,Assignments->settings->simulation->compiletestbench->TestBenches按照上述输入testbenchname,这里为andnotgate.在第二项输入testbench文件里的实体名,这里为andnotgate_vhd_tst在第三项输入testbench文件里的实例名,这里为andnotgate.在Filename一栏,选择生成的testbench模板。点击Add。全部OK3).查看仿真波形Tools->runedasimulationtool->edartlsimulation缩小时间观察波形由输出波形可以看出,当a、b为低电平时,输出c为高电平。当a、b为高电平时,输出c为低电平。当a为高电平,b为低电平时,输出c为高电平。符合与非门的输出。至此,一个简单的仿真已经完成了。

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

基于quartus-ii11.0的modelsim仿真

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部