VHDLQuartusII调用Modelsim进行仿真doc.docx

上传人:b****8 文档编号:23579221 上传时间:2023-05-18 格式:DOCX 页数:33 大小:4.17MB
下载 相关 举报
VHDLQuartusII调用Modelsim进行仿真doc.docx_第1页
第1页 / 共33页
VHDLQuartusII调用Modelsim进行仿真doc.docx_第2页
第2页 / 共33页
VHDLQuartusII调用Modelsim进行仿真doc.docx_第3页
第3页 / 共33页
VHDLQuartusII调用Modelsim进行仿真doc.docx_第4页
第4页 / 共33页
VHDLQuartusII调用Modelsim进行仿真doc.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

VHDLQuartusII调用Modelsim进行仿真doc.docx

《VHDLQuartusII调用Modelsim进行仿真doc.docx》由会员分享,可在线阅读,更多相关《VHDLQuartusII调用Modelsim进行仿真doc.docx(33页珍藏版)》请在冰豆网上搜索。

VHDLQuartusII调用Modelsim进行仿真doc.docx

VHDLQuartusII调用Modelsim进行仿真doc

VHDL——Quartus11(11.1版本调用Modelsim进行仿真

之前仿真一直是用QuartusII自带的“VectorWaveformFile但因其功能有限,在老师的推荐下接触了Modelsim,捣腾了一段时间之后总算有所收获了。

在查资料的过程中,发现好多二者联合的讲解都是用Verilog语言写的例子,而VHDL很少。

以下是我总结的用VHDL语言的具体步骤以及要注意的细节~~坎坷的路就略过了,直接展示成果。

例子是八位七段数码管的动态扫描显示’

一.用QuartusII进行VHDL语言编译

1.首先建立工程

File->NewprojectWizard(第三个图标

Introduction

T»wWUartfhctwOMt*■newpreyedpreAwurrprwfMrdj^rvgthei—

 

CfNewPteelWLurd

Directory,Ndok?

fopIeve!

tfitHy[1ol5J

Wwt•fwB^grtany»«ClDr簞2*WprqgKl?

Ur'^WwF

Mhag厚叫<™«电「申mjrdjQ口»

**#14**e*tw>a^4r-*l*rtirrgWp轉WTIM«*»«*"*«***B«C*r・Wenfliv*M»W**華«*

h^ru

R*c>Kt^lur^o,..

翻J*Qm・rtuiCt

jj

aOWClnryh

CtWaT*tfm

ngif-oftgwuwP

丨仰1g

—J

 

_JUM>

EnM>

CtfCtdljJ[Qpetp

填入所建工程的目录以及名称,注意稍后的源程序中实体名必须和这里的名称相同。

填好后单击finish撚后单击yes。

新建VHDL源程序文件

File->New->VHDLFile->OK

将程序写进去(这里只讲步骤,不讲源程序的写法

 

电|脚弧{}tstse代%处处»n创1鑼al=*二二im

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

□entityhexxis

日port(clk:

xnstd_logic;―时神信号输入

key:

instd_logic_vector(3downto0);■-四位信号若入

ag:

outstd^logic^vector(6downto0);―7段值号辕出

•sei:

outstd_logic_vector(2downto0));-■数码管送择

end;

1C

11

12

□architectureaofhexxis

曰begnn

□process(elk)

variableql:

stdlogicvector(2downto0):

■R000R;

1€

n

19

2C

21

曰曰卜曰

begin

ifelk*eventandclk«then

ifql-wlllHthen

ql:

"000”;

else

qls-ql*1!

*;

endif;

 

 

22sel<«ql;

endif;

24

电in

endprocess;细(}tFS/

®口创圖2Ir=we

7

8

9

10

libraryieee;

useieee.stdIoqIc1164.all;

useieee.5td_logic_unaignedeall:

Bentityhexxis

曰port(clk:

instd_logic;一时神(8号辐入

key:

mstdlogictor(3downto0);一Qfifll号输入sg:

oucstd_logic_vector(6downs0);-」段(B号•出selloutscd_logxc_vector(2downto0));■■数冯苣送择end;

11Barchitectuxeaofhexxis

12Qtegin

三曰卜曰

□process(cllc)

variableql:

std_lo^ic—vector(2downto0):

begin

ifelk'eventandclJc**!

*then

Ifql—ill-then

ql:

—000":

else

•000-

endif;

sel<*ql;

endif;

endprocess;

-HD—曰

5678

2222

••X•■“■八

 

注意:

程序中的实体名必须和之前建工程时所命名的文件名相同!

然后保存一下,

不用改动,直接单击保存。

2.编译

快捷键按钮在界面中上方的红色倒三角,显示编译成功之后关闭编译报告。

4.设备设置

 

具体的实验器件根据提供的实验板设定

Assignment->Device

l勺QuartosU32-bit-C:

/h

FfcView

 

RemoveAisicnmentt-..

importAss^ments,.”

ExportAssipHrfttnti...

 

c

fe*

Lo^d-odcReqiww

AlT4<

D«mhPartiborrsVJmdow

禹It40

®

—曰曰.■ks67e111X

 

砂Opt8>W0

A|M«OjJjUuCQfrA.

押•禅冲|HtX"a«5r

3«0>«1

并十*,和Id

AL

nEnxBSM益mlMQ£M理ofikQL血DLtkrt

JUltOp

4"If1・・!

■>:

!

卵EEF

si

fiEtr

frHHtH

VIEXF

gMEK相

帕Kt|

Mr1!

1

tiecc

«ri

tIZEL

tti

4EEXE

tfi

VTEXE

iZl

5EHE'

»E£E

n

«HbdECNd9

Kiff

AC'I

twrbiE梵

■拥

**W

uq邙陶PL«D^]

UTiEb«q

ST<——

1*W

I1TN-4M2■*

V+^fcK*旳

■*WIK%♦

"P«1MjmArjwB*jmiifanbfcij.

OJJTTgAl*WP*J®

0

■WnM&Mg*jHH凰<|p

 

*节¥artsdr.-rr-you罠rnTn"kirqrtkr切斗用灼”;

 

Dt^Ke&n忖

 

MaiatoSede^xess

Ndme

CoreVoltage

LE£

U«F1/0$

Hcmoruf

Embeddednwftlp4NEr9-Mt^h

EP2C.2OQZ4aca

L2V

lfl7152

142

23%1£

52

9>2C3誉弼总

L2V

332Ifi

322

阳第P

TO

L2V

球揮

322

48380

TO

EP2C33=-W^CB

LZV

33216

322

4Sj3

TO

ffK3SHS-Ka

1•封

33216

322

鶴33乜

TO

epxj^^c6

L2V

33216

475

«3SC

TO

印2CE牛6Z2C7

33216

4JS

4U8O

TO

ffxmTTCa

|l»

1)^16

|o

轉380

|ro

曲o只咖

L2V

畑&

475

TO

ffxjsm&ce

L2V

332U

«38<

TO

ePXUM&c?

12V

3超沾

«38O

70

Assignment->PinPlanner

Enftty

Cyctonff

姑卫OEcntEditor

mhein(

KHhoveAssi^-imente.r.

94dt-A

IrrMXxtAssgmenfcs...

沙Quartkjs032bit•伫

PnPlftmer

W*xto*

Devtt…

ProjectNdv*oatcx

SettriQs...

twKx.vhd

illfi

CtH+5h»fi+A

 

ENportAss«nments...

 

在Location下的方格中填入对应的硬件引脚,也是根据实验板而定6.引脚分配好之后再次编译一下,使分配的引脚起作用。

调用Modelsim

1、设置仿真工具为Modelsim-altera

Tool->Options->EDAToolOptions,

在Modelsim-Altera后面的地址改为Modelsim-Altera.exe在你电脑中的位置,然后点击OK。

2、写TestBench文件,这里使用QuartusII生成的模板

Processing->start->StartTestBenchTemplateWriter,

UbOTVl«wSflup

P*t*trrrtfTfrt甜如

诞Tc*Kt

wtw:

qp«rw|

Fwti

MfeKfciSet&ngi

IWtoSennas#M«uq«

StmrewniCMri

Fanti

心TniEdlpra*nRnH

显示成功后关闭生成报告

 

这时会生成后缀为.vht的文件就是我们需要的,可以在这个实验开始时所建工

程名的文件夹下的simulation子文件夹下找到。

我们可以通过QuartusII左上角的

打开图标打开.vht文件,注意把文件类型更改成Allfiles或者下图所示的类型,否则会找不至叽然后在simulation文件夹下找到并打开它。

OH0AM%i@k

0如

RoftrCorrola^n

mhqa

團甩巾

9H”SFkwHFlo*BF4dn_JAnah-21Fittet

_JTm«JJAss^_JED*

FkyftStatus

QljartLSII1CT5KMT

Re^BBcr陽me

Top-levelEntilyHame

FaniY

Devce

FmgModeh

JTptai-oqtcdemcnls.

ToteicornbnatnndiFurKlMXtSi

Dettatediogrreg^terE

Total『egste^

Tatipro

Totalwnafpre

Totalrnemofybls

Ent?

edd&lMdbpliFcte-meits

TotriPLLs

SuccessfUSurW1320:

26:

曲20Mll.lBukj173IlAH/MUSJRJHerswibexx

hexx

CydoneII

护2CF5F&72Ca

13.3T216{

Uj33,216(^1%)

€,.33.216(<1%)

15/47^(5%)

鲁Qujrtu$0

T«tBenchTemplabtWitermi

 

□(^o0a「•盂

©

■#gg二•孑:

tnetY

$>cqt«n:

&x»€7xemZAS

Q/rM»UJ24t、Eoh

Re/WHNaRe

Tap^e»tJBWyNawe

◎RM|

0QX

A^ter«rd>y

7*►Corw*De»gn

7►ArWw

7►fwwr(AraaQaA)

7►■卄・ricwtepro^ffrvmgJ

“►TfwQurvlTnmg**<*vwi

✓►HUft刃e

®Pr^bfa(OpmPv«gr«nrwr)

SuocmbM3JJ13XH

li.iMdiniwwonsjM^^wH

FwtfvCrdonen

Omo>~X3SH72Ce

■ToW^gseMnwntt

ToWCQntFvOQHfiifKtmDemotedb9CfYQMnToOF^egvttrs

Taatatrw

Tot^

ToW«wwvbti

MxdcMKA^erdoreMsTo«nis

Z

13/».2M(<)%)il/»2W(

G

1S/47S(3%>

DtfU0«>■电・

金mdr>3epxapttoa

Jc**n.pi

J

7•►:

»<*C>w

✓►Arwo&lrMm

✓►nrw^raAAMi

V►4,,,*.*-»v•v«.vW*

Y►**•<—Q

V•0Wtr

•R.Omi|C»viF*w)

ki—1—iJ

❺B•*««Ft»Mg«L»w

J

・uyzwfvo©►nr-&Ot:

e:

*p

必纭(TwaC2

IS2GKM.■•寸i:

D.;Z:

-F:

»|OCWPTO);piduxx.•*•:

IS:

C«AL”15TTU«:

CVTTTC«|fKWWTC:

)2BCCMCNWMxa

B«»TI

cir:

w7.•:

:

_rim”匚g>c.・di)ocww«m

Mlt0V?

9tSIMKVBCtWUEWT-m:

cc:

wcm«ocmro«>

»I

oFOVTMAT<

—Xl>ccacA«ct4ae4aa«t«xpart*«adaisra^a

9>B•>Oil.

k*T•>

Ml•>Mlr

M•»M

)f

Bmuc:

Fioafls

—vtiie^lcawieittieftt

gm

—<•••twteB*CMKA«MQyM>8

KMT/

dcriocusuutj

曰1PfcXUS

Ovptlseal9e&JAtlv&tylit

—•(

•・4»elar4itiaM

Bt32*

—wbfliMmuytct«*exyce&eeell«t

xini

donuoezssei««y«i

DCAXX•!

*=■;

Tjp«Mwxpe

VIifoizjy"11IfAM\U”Mfitee”,9*^a»»tal0

筍2To<>

|13M»

tM・CMM

 

 

模板已经给出了端口部分的代码、接口变量的声明和例化语句映射等

做的就是在其后的进程Process中填入需要的测试代码。

如下:

注意:

init

保存一下

3、将TestBench添加到工程中

/Settings・hexx

CAteQonr:

Gererai

Meifermes

"OprattnQSettnosandCondOonsvoitage

Temperiaire

▲CdflpAatonProcessSetuvEjrtyTnmgfa^ma*kKxcwcnt^Co

&EDAToolSettngt

Oefipn仙y/SyWhe®

S

FcnaalYcr^otentordtevd

"ArWyw&$Yn9csBSettngi

VHXIrout

YertoQQInput

DeiP

FitterSct^ngsTrneQuestTrnrgM^rjerAssentter

SmwbtMM

Speo6ro^onsfargenerMngouq^utStsforuse»i窃ofwrEDAtook^

ELMnCWSXWnwrKianQS

Eprwdtfarou^puenefctVKX.

TrngcA:

lWus

MapfcQalpdwKteriOpsonefarPowerEstmibon

[QenerateYdeOanpeCX^p(VCD)fieKrptSor

切aNeMWnwSrtmg^・・

 

 

、ZEWTertBench〔rmrrgsoffsiffft¥4XO3V,MwaV9»as"fMMIX&IM

TOCT&mastbendl」hcintlvhdlGrF

Uselestbendiff-slwl5fi-Hacfos

i

1

&

供name:

|

+

tL

iyB

1,o留

5¥ic

£VjWfl

lA4

8

Twt-

-CM」ft一「

Xz?

T农Faendi5債注ngi

 

createnevi-tesEbench-

EEbenchname:

Jaci—3

TgTi^Doddlen至ffrt4-】J

Usebenchto3srp?

30smiabon-3A.»■-3.JW3WU*IKlAs^ndaborlpenod

»t3snKiaeronSEdiwectorsbmii-arr>csi

£ndsmJabon£“

Tesrbenchf«*namer

fK3rt

也出Open

s'fsj

 

点击Add后,一直单击0K到Setting界面全部关闭。

4、可以开始仿真了

Tools->RunsimulationTool->RTLSimulation,这时就会自动启动Modelsim软件

Qedttwamtbendi«nnQs.

T«thencfirww:

hex_vhd_tit

SirxMtionpenw

Testbenchfi«

FieNam#

Lbrary

Usebrstbendicoperform\*KXtnmavmJAbOA

•加i痂nulabon5恒al炉ctorstnMaresed

#NewTwr险世+t

tacW

Crutenewtestbenchs«Rings,

Utet«tt*nditopct旳mVH1柯nm/fbon

SmJswnpenod

1X】

Crai

 

 

 

如果之前的主程序以及TestBench没有错误了,就会出现下面的界面

軸n-mPJirrriwirwif

点击上面的红点(stop

 

UHHfn

■■1

fWgHL-Ihb^s-

i™-f—*rk

■;Ek*

n・

!

■"

WsHU;*

*:

kKk4*

MU上]

i

.rtn»

■tFW

■HtfS

rikSdWJ!

*a

■=?

业R

[弘U«1“1:

»«Lu11'iftMirOH-

~f»fa*jZ|ITq4-■-t-,-"…

>r1j汎弋•Tl

«[;M

UHHfn

*ipn

 

 

MrAddiTgcri%Uwarf1WiM^v*>hsi

单击Run按钮(旁边的时间根据实际需要调整,并通过Ctrl+鼠标滚动或者界面上的加号按钮,可以将波形调整到如下容易察看的间距,另外如果感觉一串0和1的组合不容易看懂,可以右击通过下面的方式将二进制数改为十进制或者十六进制的形式。

最终的波形图如下:

经检验与实验目的相符合,是正确的。

另外,可以滚动

波形下方的游标来观察不同时刻的波形。

至此,QuartsII调用Modelsim已经圆满

完成了,剩下的就是将程序下载到硬件实验板上进行验证了。

注意:

1.工程名称

必须和主程序(.Vhd文件)中的实体名相同。

2.TestBench名称必须和TestBench

程序(.Vht文件)中的实体名相同。

3.所有在进程(process中用到的变量和信号都要进行初始化,否则会在仿真波形中得不到输出。

比如本例主程序中的变量

q1,Testbench程序中的clk和key。

4.生成的TestBench模板根据需要、习惯可以任意改动。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1