Modelsim工具的一般仿真流程.docx

上传人:b****5 文档编号:7824844 上传时间:2023-01-26 格式:DOCX 页数:19 大小:1.55MB
下载 相关 举报
Modelsim工具的一般仿真流程.docx_第1页
第1页 / 共19页
Modelsim工具的一般仿真流程.docx_第2页
第2页 / 共19页
Modelsim工具的一般仿真流程.docx_第3页
第3页 / 共19页
Modelsim工具的一般仿真流程.docx_第4页
第4页 / 共19页
Modelsim工具的一般仿真流程.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

Modelsim工具的一般仿真流程.docx

《Modelsim工具的一般仿真流程.docx》由会员分享,可在线阅读,更多相关《Modelsim工具的一般仿真流程.docx(19页珍藏版)》请在冰豆网上搜索。

Modelsim工具的一般仿真流程.docx

Modelsim工具的一般仿真流程

Modelsim工具的使用

仿真流程

1.建立work库

通常modelsim在使用的时候,和大多数开发软件一样,第一步先建立一个工程。

而modelsim在建立工程之前,一般都要建立一个工作库(library),命名为work,仿真的时候工程就运行在这个库里面。

通常modelsim在第一次运行的时候,并没有work这个库文件,所

以没有work库的话,先建立一个work的library,再建立新的工程。

一般的工程路径设置如下:

project放置FPGA的工程文件,source放置源代码(ipcore,建议放在工程的根目录下,有同事发现ipcore改变其路径,仿真的时候会出错,并且工程里面要手动添加IP核的文件),simulation放置modelsim的仿真工程。

新建一个work库。

FileNew-Library

 

^Hamc

Type

|旳th

library

□fate冋叶djibs/dltera

兰沖忡阿」if

library

Gsfrfr^r^/vM」ih叩袖暮a』iF

土扛就am_nF』Pt

Library

冷忡怕.VFT

lihr^iy

UMr耳丫

日皿^clgrsi

Library

UfJter耳什d.libqkydbMii

r車cyclorigii^ver匸•fbalfi讨b

Ipm

Library

C:

fafcsr^/Y«riag」ts|cy!

cbn“i』er

Library

押aOEL.TECHT简adfbdb

Library

C;I'dtere/Yf-dJib訓pm

r血IfTTlfCF

Library

Cii'dterc/Ycrioqitsl|prnvei

(Knr匚E」b(emipo)

Library

JHODELlEO-i/.JirEiJb

—机rrtlA/m上rrtCWm

Library

Library

SwaEiBL_TEOf.,^IIi

J1MCiCiELJEOif,.jbm-2J2

4-jt^nrtPA上虫nrtU^F

Library

4MaOELJBOf..#ia_lb

Library

^OCEL_lKHf../upfJlb

七>[■nrtlJ/in

Library

4HariELjEa-v.,Aj^-i.]d

二九Oiv^fn

Libr^^y

jH0CEL_lEair..1iO5V'7TT

tjrtL驹肚哼

Ubhfiiy

C;|前岀i■訝计M」ibs/sMEe

f4t珂aS_Vd

Llbifliy

C^i'dlsre/Yri1匚电_11&4护1口_样「

+Al#_血

ULr^ry

inciriELjrciir.js^sd

二4^vtaLocu

Library

iNUDEL.IECHf../Vt^OCO

二jLip

library

钿tWEL-TECHLQ

*_血iTcddsinni」ti

library

榔口DELJEO#./rrcrtslcm」H

函山,dd

library

$WCiLELJEO*../£td

上JtLctdjdsssIc-ptrMt

Library

iMQLEL_7EO+skps*抄it

丄血a^ncpsyi

Library

4b

工忙vsrilog

Library

!

|NCi[jEL_IE'CHf../voracg

HlUbraiy—

■pg

M

:

:

灯血刃向dlHk,±o-i

Mirai

-dteie_rfdtei0jrf_W5TjL业dteia_^-r+札iy叭戸■1血ryderal■湘于土丸1幻畝惟」血±-fl.晌1JL布肝■榆血(mptr)t-血+脚.fil":

皿1七J^lntFA

ffltllT

mtUMn

O5>*TTi

占艸列4_¥・■5i,i_^fdMtdiZDEO

■see

tn处加i」t>1,直泅

4-血^itdrfevd-^rrTS^I:

t_刊「即裤£血WlIJIJ

trtrravUbTsyLltrof!

/

li啊母章Llbrsr/

LibiLibaryLibitr^Llbrcrj^Ubi-arjiLibiBTyLibror^

LihiaruLltfWyLi輛屮Hfeiar^Ubtar^Utsa3LlbiSTyLitiitjLibict'jLltieryUbiery

心灯t冋vMIJte/dmU.TtinqghdlIb5]l或er士nf

Uidtei■5,lm1kgJt5jdiiT!

r3_Tf_ver■"LMlteldJ^lkg」二吋*阳d.-'if!

C\i^tti时』hdl」b5」cytkKiH*G:

jairHi^iv**lkgJr^ci

_wi『

Ibsjdbgrs^nf

C;t^tri■5,lwUcgJb^!

dii,?

r3_Tf_ver

口i^tei讯\rhdl」b5」cytki『前

口円忙叭FijIVfldlrgJr^cyclDnFlI.^『

刚建立的work库是空的,因为里面什么东西都没有,但是当添加了相应的文件后,编译一

次,work就会有容了。

新建的Work,右键设置Edit一下他的属性,如图上所示,pathname

 

 

2.建立新工程

File—>New-Project

It

It

u

Duncoy

rhlatncTyperalh

*血血血血血AL血血血血血血血AL血1L1L血血削血血皿_涉毎涉曲出曲业业国画出9-囱囱囱囱1^lib囱囱阿国

沪cHlunavalojbj

Lbiary

dteo

Lbiary

dtera_rmF

Lbrary

dter-a_nf3&

Lbrary

妣肖乂f

Lbrary

Cj/ckneii

Lbrary

tyilut?

ll_vcr

Lbrdry

fbatfixlb

Lbiary

Ipm

Lbiary

lpm_ver

Lbra^y

racSjib(empty)

Lbtary

nutA^m

Lbtary

ntWih

Lbtary

MPA

Lbrdry

rillPr

LLrtary

ritU^m

Lbiory

CC/MTi

Lbtary

«g占t*

Lbtary

Lbtary

sv夕d

Lbrary

^taisaoD

Lbrdfy

Lblary

rwedokin」ilb

Lbtary

辰d

Lbrsry

C./mypiuyian/ULART/alferainujELiiii/^wkC;)dte-HkhdLlhs/alieri!

C:

/altar^'+idljfek5/altera_mf

C/‘了制洛lbQ」lh扩归

C;IallffILyJIbi^^ilCTisll_'

丰MODELJHZCH/,.fFb舟kllbC;/^ter^^hdljbj/^'n

C:

/alter^

$MODEL_TEQVJpaJti|MDDD__TCCII/.如卫(MODEIJCCII/,Juvnl.ldfMODELJ6CH/.Vmvw

Ci/lltV^vMJbGyEqAt*

iNQDEL.lELH/.J?

V_SC|MODEL_1ECH/,加UlZOODIMODCL.TC匚砒jiocc|M9DEL_TECH/.^mcdolsimjib$MODEL_7ECH/.7rtc

Crcttcfrojcct

IX

PrajEctRJdEE

fefajiLuray

VCIK

Cep/Setting;FrameJte;li_10H£c/arDd:

L3ia.iniB「jwae.,|

・Cep/LibraryMaopirgsHefersncejbrsr/Mappngs

如3I

然后就会弹出如下对话框,选择好工程的路径,命名好工程名字。

hi胁PrQTgwt已丘;fm”p

▼[V

如果之前就已经编写

好了v或者vhd文件的话,直接选择addexistingfile,否则,选择CreateNewFile。

接下来把

所有的v或者vhd的文件都添加进来。

 

lodclSiaSE10.2a

FileEditViewCompileAddPrcjjeciT^olsLayomtBooknidk盲

|(

號鳖議2:

2丨訝母缶]时

j逼*耳”野殆▼写

rs

|画Praject-E:

/myprogram/UART/altera/simulation/uart_modelsirn:

TNarYK

J

欣白_LT*p色OrdsModiFied

 

3.编写testbench

4.编译整个工程

FI14iiw車亡"询击13.«>S

国"》皿0蔽rjt屯编灯心!

,Iz叹灼]樹I顷[」TP■

ColuirrLSM^lJtXL1G2口

v.呂■3怛■-d

编写完testbench之后,编译整个工程,以后每当工程中其中一个文件修改后,只需单

编译元后,会发现在Project中,里面的文件都会打钩,并且在simulation文件夹里面

的子文件夹work会多了一些东西出来。

返回到Library这里,会发现之前是空的wrok文件库里面,现在也多了一些东西。

需要注意

的是,在设置该library路径的时候,一定要指定到仿真目录的work文件夹,否则很可能映

射不过来。

5.仿真

回到Library中,展开Library_work中的文件,我们只需对testbench进行仿真即可。

点击simulate,稍等片刻之后,就会弹出另外一个sim仿真窗口。

 

IflIii-nmF-k—m.H■Iiid™

在Objects选项中,选择自己想要观察的信号,添加到波形中。

siIff.:

M

modelsim的ini文件,添加器件库信息,这里暂不做介绍。

6.(附)修改设计文件后的仿真

有时候经过仿真,发现设计文件的问题,需要修改,然后再仿真,碰到这种情况应该怎样做

呢?

下面举一个修改了PLL的例子,简要说明。

Vnvn

TiltE41tYZ尿』,曲Io£13加軌舖址抵时讪打肖*

IF-PefgJf

Iit

t*tE.1ft.1|略.MV窘唱土

F±1J

>-■*€->?

'^±rrh:

\上矗皑竽

題Q*卑13漏[pZ旦

■i推r

1

4吐应丄叭—讪舅叫邸忖4

汕H.F¥l曙眄:

爭机ItfflMI

0

H:

u

ytb|Liijortnr^3rlzlk5M

~l

i^B

在修改之前,PLL出来了一个20MHz和5MHz的时钟,如图上所示。

返回Quartus修改设计文件,修改PLL的参数,让其输出20MHz和10MHz的时钟,修改后发现Modelsim已经检测到pll的变化,原来的勾,变成了问号。

重新编译该pll文件(这里的强大之处是,不

需要等待在Quartus将工程重新编译),重新仿真即可。

SE10.2c

FileEditViewCompileSimul&t电AddFrojectToolsLayoutEgkm&rk営WindoMrHelp

國T戸図豔IX电陋2:

2!

#4^|]會・*i団|刽虱

灵頁做EHelp|舖

mset-E:

/myprogrami/lJART/afcera/amulation/uartjnodelsini;E舀田

BNam&]sta-^]TypaJondejModilied

rom_tx.vhdUART_TOP.vhd

rflm_rx.vhduartactive.vhd

5402DLDLDLDLmwww

pllO.vhd

UART_Modute.vhd

sysclktreeivtid

空PL|6

VHDL3

VHDL1

08/19)201409:

30145...

D6/19/201410:

0347...

D6/19/201409:

30110...

08/19/201410:

11:

13...

□8/21/201402:

32:

06...

Da/14/201408:

56:

54...

08/14/201408:

57:

19...

tt.vVerilog7

03/20/20M05:

07;12

12752

elsiz(arg

12753

str:

=

1275^

elsestr:

12755

endif;

1275S

returnstr;

12757

endoutputentr

127SB

12759

begin

12760

If(aceset

12761

c_phva

12762

ENDIF;

12763

12764<>

if(init)t

12765

if(m■

1276S

elk

12767

elk

圖Ticnent/CYCLOrJEIII_ALTPLL/M5)-De估血:

■?

Ln#]<□Nc

如上图所示,证明仿真结果和修改后所需的设计一致。

^■udel^jLH5ElU-Zc

Fl2aBd.LtTjftsClTip^1>aSlriil^tai.ddLi:

jr-arrTool:

匚ayuul卫山山匹匕¥l.咖Hilp

但是发现当利用xilinx平台调用仿真的时候,在仿真的目录里面,会自己产生一个

modelsim.lni文件,差别可能就在这里。

果然,当利用ISE平台自己调用的时候,发现在

modelsim文件库里面多了很多东西。

其部分都是Minx的器件库。

^IodelSi»SE1U.7c从上图中可以看到,利用ISE平台调用的Modelsim仿真,果然自己往配置文件里面添加了不少Xilinx的库,由于单独使用modelsim的时候,没有把相应的库文件添加进去,所以仿真不成功。

 

编译库的路径如下:

将ISE仿真生产的库,存放到一个自己清楚,方便调用的文件夹中,方便修改Modelsim启

动的ini配置文件。

•lib

寸岀㈢刪凤即昔石谕忖朗丁旦n帮貼切

 

综上所述,脱离xilinx平台的仿真和Altera平台仿真,所走的流程是一样的,比较有可能不一样的地方就是出现在IP核这块了,从实验中出现的现象来看也证实了这个问题。

实验的程序中用到了ROM,只不过Altera的ROM用的是mif文件,而Xilinx的ROM用

的是coe文件,但是在生产IP核的时候,(暂还不确定是不是因为曾在ISE中调用过

mif文件,反正在利用Modelsim来仿真的时候,ROM和Altera一样,需要将mif文件,放到仿真文件夹的

下面报了一个时间精度的问题,由于测试文件的时间

导致仿真出错。

(所以,以后再编写程序的时候,要注

iLeadingunisim・町1£:

9(匕!

口曲)~

£**Uarning:

(vsini-3479)Timeunit'ps1islesstlLantitlesimulatorresolution(Ins)¥Time:

0nsIteration:

0Instance:

/vtb/uuVlSysClkTree/PILL/demspinst

#Laedingimisiiimdciii_sp(dcm_sp_v)#1

#Loedingimisijm.demspclockdividebv2(deni3pclockdivideby2v)#1

tfT.nfsrltrtnIthtiHim.Hnnftqn■maiviminnnA-trinrlnTspir'kidr-™口nmRvTmi口mruar1!

nrf戶nktf!

4AI

pff.*nn

frTUKtaan^zTuxair■=>'CT'|'.K''|'U1|'I'j1土伫mluie±xm<=jeopiemd^*th・xuuJtnJJ.:

b«'11i;u).

1TW:

R須

iTtrmms4氐4»吐;群

fh*F/^li.51'rFfE,FLaaT]&j汕也応

1TjAeiBno

iTtf&c-LUii4血ObMiurbuurF_5T5ru:

Tctti,l?

i,ifLL."ji0^?

^,iJii!

-E«<:

e£hLaejpbfeMinilTJlltiCi/Xinaj^K]/]:

■£』卜「]:

變皿日1.丿5<0血"1_・訝为11・"1叶1匚用专"阳4

iTst-fllcech1bJiwws■ler.^LiliHjhMe.D'hlftCi^tlra.-14=t?

tc'■ml=-Lm.I'ML1ktJ&1

I

I惟XrvliivvE|uni^■:

・Jerpp-i1iiEE:

■rXi.liai■'£4.工若丿卞丑丿也HIJrupslMMihFrlil」*ei7w/D口.utul3107PrDM»tli-caeilsjhi_fihuH_Jbjfe

在用verilog写的测试文件中,可以通过'timescale1ns/1ps,来设定仿真时的时间精度。

但是

Vhdl暂时没有发现。

网上查了一下,发现可以通过以下命令修改:

其中vtb是testbench,即

所要用来仿真的文件。

vsi»-tpsveb.vhd

•lipenPiievtb.vhd

VSM10>run

•CannotCOTtmuebecev^eoffocolerror・

•HDLcall5caucnce:

•stoppedotc:

/xilirDc/L4.l/lSE^PS/isczimdl/arc/uniPira/prioiicivc/Dcn^sp.vM1307Ptrocwaha3e^hirt.

William・cpevtb

Iggd-c却•nb

>LoaULQ*std.atartlat:

^

二0311二了std・t^xuo(rody)

Loali^crlCCC.OU_1001C_1164(t0C!

7l

Loallr.tfvoik・vuea&viQK)。

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

当前位置:首页 > 经管营销 > 企业管理

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

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