Modelsim工具的一般仿真流程

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

Modelsim工具的使用

仿真流程

1.建立work库

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

之前,一般都要建立一个工作库(library),命名为work,仿真的时候工程就运行在这个库里面。通常modelsim在第一次运行的时候,并没有work这个库文件,所

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

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

新建一个work库。

File New- Library

^Hamc Type

|旳th

library □fate 冋叶 djibs/dltera 兰沖忡阿」if

library

Gsfrfr^r^/vM 」ih 叩袖暮 A 』I F

土扛就am_nF 』Pt Library

冷忡怕.VFT

l ihr^iy U Mr 耳丫

日皿 ^clgrsi

Library U fJter 耳什 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 血 IfTTl fCF Library Cii'dterc/Ycrioq itsl|prn vei (K nr 匚E 」b (emipo) Library JHODEL lEO-i/.JirEiJb —机 rrtlA/m 上rrtCWm Library Library SwaEiBL_TEOf.,^IIi J1MCiCiELJEOif,.jbm-2J 2 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

T jrtL 驹肚哼 Ubhfiiy C ; |前岀i ■訝计M 」ibs/sMEe

f 4t 珂aS_Vd Llbifliy C^i'dlsre/Yri 1匚电_11&4护1口_样「 + A L #_血 ULr^ry

inciriELjrciir.js^sd 二 4^ vtaLocu Library iNUDEL.IECHf ../Vt^OCO 二 jL IP

library

钿 tWEL-TECHLQ

*_ 血 iTcddsinni 」ti library 榔口DEL JEO#. /rrcrtslcm 」H

函山,dd

library $WCiLELJEO*../£td 上 JtL ctdjdsssIc-ptrMt Library iMQLEL_7EO+

skps* 抄it

丄血 a^ncpsyi Library 4b

!|NCi[jEL_IE'CHf../voracg

Hl Ubraiy — ■pg

M 丄

::灯血刃向dl H K , ±O -I Mirai

-dtei e_rf dtei 0jrf_W5T J L 业 dteia_^-r +札i y 叭戸■ 1血ryderal ■湘于 土丸1幻畝惟」血 ± -fl.晌 1 JL 布肝■榆 血 (mptr) t-血 + 脚.fil":皿1 七 J^lntFA

ffltllT

mtUMn

O5>*TTi

占艸 列4_¥?

■5i,i_^fd MtdiZDEO

■see _____ tn 处加i 」t> 1,直泅

4- 血 ^itd rfevd-^rrTS^I : t_ 刊「即裤 £ 血 Wl IJIJ

trtrra v UbTs y Lltrof!/

li 啊母章 Llbrsr/ Libi Lib ary Libitr^ Llbrcrj^ Ubi-arji Libi BTy Libror^ Lihi aru LltfWy Li 輛屮 Hfeiar^ Ubtar^ Uts a 3

LlbiSTy Liti it J

Libi CT 'J

Lltiery

Ubiery 心灯t 冋vMIJte/dm U.Ttinqghdl Ib5]l 或er 士 nf U idtei ■5,lm1kgJt5jdiiT!r3_Tf_ver ■"LMlteldJ^lkg 」二吋*阳 d.-'if!

C\ i^tti 时』hdl 」b5」cytkKiH* G :jairHi^iv**lkgJr^ci

Ibsjdbgrs^nf

C ; t^tri ■5,lwUcgJb^!dii ,?r3_Tf_ver

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

口円忙叭 FijIVfldlrgJr^cyclDnFlI.^『

刚建立的work 库是空的,因为里面什么东西都没有,但是当添加了相应的文件后,编译一 次,work 就会有容了。新建的 Work ,右键设置Edit 一下他的属性,如图上所示, path name

这里指定到存放仿真工程的work的库文件夹即可。

2.建立新工程

File—>New- Project

It It

u Duncoy

r hlatnc Type ralh

*

AL

AL

1L

1L

_

9-

1^

ib

沪cH lunavalojbj Lbiary

dteo Lbiary

dtera_rmF Lbrary

dter-a_nf3 & Lbrary

妣肖乂f Lbrary

Cj/ckneii Lbrary

tyilu t?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./my pi uyi an/ULART/alfera inujELiiii/^wk C;)

dte-HkhdLlhs/alieri!

C: /alta r^'+idljfek5/altera_mf

C/ ‘了制洛lbQ」lh扩归

C; I allff ILyJIbi^^ilCT isll_'

丰MODELJHZCH/, .fFb 舟kllb C;

/^ter^^hdljbj/^'n

C:/ alter ^

iMODEljeCH/. 7mc2_lib (MODEL

_1ECH/. iMuUtL.ltLH/, Jwm-Zl.c:

$MODEL_TEQVJpaJti

|MDDD__TCCII/.如卫

(MODEIJCCII/, Juvn l.ld f

MODELJ6CH/. V MVW

Ci /lltV^vMJbGyEqAt*

iNQDEL.lELH/. J?V_SC

|MODEL_1ECH/,加UlZOOD

IMODCL.TC 匚砒jiocc

|M9DEL_TECH/. ^mcdolsimjib

$MODEL_7ECH/. 7rtc

Crcttc frojcct IX

PrajEct RJdEE

fefaji Luray

VC IK

Cep/ Setting; Fram eJte;li_10H£c/a r Dd:L3ia. ini B

「jwae., |

?Cep/ Library Maopirgs Hefersnce jbrsr/ Mappngs

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

HI胁PrQTgwt 已丘;fm” p

▼ [ V

如果之前就已经编写

好了v或者vhd文件的话,直接选择add existing file,否则,选择Create New File。接下来把

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

lodclSia SE 10. 2a

File Edit Vi ew Compile

Add Prcjjeci T^ols Layom t Booknidk

| (

號鳖議2:2丨訝母缶]时

j

逼*耳”野殆▼写

r

s

| 画 Praject - E:/my pro gr a m/U ART / alt era /simulation/uart_mo delsirn : --------- - --- - —

T NarYK

J

欣白 _LT*p 色 Ords ModiFied

3. 编写 testbench

4. 编译整个工程

FI

14 i i w 車

亡"询击13.?> S< h

I*■尸弓空1 "口?;1?1址1|? W L e?Jm# Nmlf

国"》皿0蔽rjt 屯编灯心!, I z 叹灼]樹I 顷[」TP ■

ColuirrLSM^lJt XL1G2口

v

.呂■ 3 怛■ -d

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

圍M 圍亘

3

rorn_rxivhd □art_(ictive.vid

pllQ.vbd

UAP.T_Module.vhd sysdktree.vhd

rornjx.vhd

VHPLZ

?

4

0^/19/2014 lOiDdiLF.u □ 08/19(201+Q9130; 10 .,, 2 08/19/201+ 10;ll :13 ,,,

& 06/1^201+08:27:16

...

3 UB/1^01+06;56;5^ .,, 1

OB/Hf20l+OB ;57:19 .,. 5

08/19/2014 09!30!45

,..

:-E,: jftwy

jam

r?*m Jts-Mncl

UART_TOP.vhd PC*T1_fM Xrhd 1 uflrt_?£h w ”w4~c UftRT_MI&diJ* ? vt>d ■Y*

?uMLtrvH. ■z a

iid

l^Vpe VHfH ^HDL VMDl VHDL VHUL VHDL sn 口 IL

|-. i Mir-dlfed h

gLXZEM* 斗

l?FL9f2:DE4

CWLWfZO'U

□a/口 t 4 右 TLS/细* 3 Da^L4/20fe 4

i

oa/ L 4[Fz HE 4

- ra 1C!D3!17 ....

!(P

]<□:! I :1Z ...

OiQlBgiSI .. r ll .

E

CZafriFi !■

^■dd r-n PrcjH ct 円沪mm? tiw* F^eiect

ClDS#- Ph :^#Ct Lpdafe Prc93£rtlac. - Fra|?

占nrrf-"?

FHij

| 匚 orr^zriH AJll ■Ci>irr*e? o it

Corrifdl& Ord&t >>

Coir^rie Report... ^unTY'flry

i.

Cnn-f-^s pr 口

|2^| E=/nrr>' p'-oqii ?m]"iLJA^T/H]tHir

Ln#

1

1 ■ t 1-TIPB VCBk !-■ Z

ixQduii 丄亡 tta ■

recr l_a Ik

■.

r'

-a, J UAi yg 社 1

T

3

-

■Ji r e - o-tar- Sr- d!

Lc

』■ fr t 9n_ dL ? ±J ■-

1-1

x msizaciiE

12 I*. liiSccltlar

LT

l 昭

.bii 匸三?匸dlF P IS

■r ■聴1e.凶 PP LC

E D *U 匸nt dir F

1?

aa

2 1

21 33

£今

Z3

2 £

32

m u >abi c m fi ■!? _rrc^?

独编译修改的那个文件即可。

(参见文档最后部分的例子)

-work

Library E:/my program/UARTyaltera/simifeHonMork . plio rom_n<

romjtx

sysdktree tb

uart^active

uartjnodsim uart module

Eritity Entity Entfty Entity Module Entity Entity Entity Library Library Library I cihr iarw

Eifm/ prografT>/LiAll.T/alter^/50dricefipciOr ,e/pl?x

E:/my (\)gram/LlART/albera/proyam/rom_r>:... E:/my p?ogram/LiARTjalbera/sourceftzicore/r (j...

Ei/iny prfjgramAJART/alterai/scuixe^yKlktre... E:/my prtJflram/VART/altera/smnulatBn/tbHY E;/my program/UAR.Tjalter3/sourc8Ajart_acti,.. Ei/my program^UART/altera/source/UART-T',■ Ei/nny program/LlART/altera/sourcs/UART-M^M/

Ci/altera/vhdljibs/altera

C : (altera/^hdl_hbs/3ltera_mF C : (altera/verilo^

it s/altera_mf_ver

5.仿真

回到Library 中,展开Library_work 中的文件,我们只需对

testbench 进行仿真即可。

编译元后,会发现在

Project 中,里面的文件都会打钩,并且在 simulation 文件夹里面

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

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

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

射不过来。

I il Library

Type fdth

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

Ifl I ii-nmF -K—M.H■I iid?

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

si Iff. :M

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

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

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

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

-friaK-

? 0 rfAU -WS#6

? LUn4*d

■ M D

■也_网7』肚 .qM a

l^r "rt>

■ it^_h^E_!-M pad ■l ?-?&_??

■血」

5f* .i^p^dL

■ afc^BjoimaEa

u ?1_fld±■… 斗rhfndirw

ww> 七T

*1 M

Elta

4fii_to (fcJ ... *!?:■

设定好仿真时间,就可以仿真了。

A

"氓I

C&UW

Jj

E-MHC "lidn±i?fe.

>■

C BW OiUC

H K L.

eM+F

d

『NK?h-

Sn*

...

综上,整个脱离软件开发平台的仿真流程基本上如此。 文中只是简单介绍了最基本的, 后面

还会涉及到后仿真,针对单独某个文件仿真, testbench 的编写,为了以高效率的 Tel 命令等

等。在仿真之处,需要修改

I il* EJ HI

fiadiiU *14

T4-4.B L 些盼卜4*?用右M H 1 >?Lt

Dug 他

+??*■

t

H 曰 IT

-I ■-■.IF -

Pjdjga P

玺碎

P-rf-Bje

1

*nj*W

1 円[M R

?irr ciuxScd

11

刘d ■碎

卄 4Ehl*lln

■fi 君 iwjr N Rit+'bs* ikd_b^_u... PflikHM

4h>4jM-

+ MC-1

4泄■. 4*=—.

[■ —UAW 丄■

F_^ZT?

r.EWRtflW 忙#叭』 **?K

相关主题
相关文档
最新文档