linux下使用modelsim的一些经验,同时诚心请教一个问题

[复制链接]
6838|0
 楼主| 雷风 发表于 2007-2-3 22:04 | 显示全部楼层 |阅读模式
本文首先介绍了modelsim和ise在linux下安装的注意事项,然后介绍了如何用modelsim完全编译xilinx的库文件,最后介绍了一个makefile和vim配合使用<br />modelsim的技巧。<br /><br />原文在http://windwithstorm.blogspot.com/2007/02/edalinuxmodelsim.html<br /><br />首先,让我们来看看安装过程:<br /><br />for&nbsp;modelsim:<br /><br />1&nbsp;下载modelsim&nbsp;for&nbsp;linux的下载文件。应该总共有三个文件,分别是base,docs和linux.exe。都是gz压缩的。<br />2&nbsp;解压缩linux.exe,解出来的是可以在终端中直接运行的文件,运行之,并安装。<br />3&nbsp;分别解压base和docs在同一目录下。<br />4&nbsp;把这时候的modeltech目录(也就是解压缩和安装后形成的目录)移动到你希望程序所存放的目录下,我这里选的是/opt。<br />5&nbsp;把windows上的******文件拷贝到/opt/modeltech目录下。这个liense文件最好是在本机的windows环境下生成的。如果机器没有win环境,一定要把所使用的生成机器的mac改成自己机器的mac再用生成器生成。否则******不可用。<br />6&nbsp;在home下的.bashrc中添加export&nbsp;LM_******_FILE=/YourInstallPath/Your******FileName,然后source&nbsp;.bashrc<br />7&nbsp;进入安装目录下的linux,运行./vsim即可。<br /><br />for&nbsp;ise&nbsp;and&nbsp;edk<br /><br />1&nbsp;首先,这个没有什么好说的,直接安装for&nbsp;linux平台的setup就行了。推荐把所有安装文件拷贝到本地硬盘上安装,这样快一些。<br />2&nbsp;然后分别进入各自目录,运行settings.sh,这个是环境变量的配置文件<br />3&nbsp;一劳永逸的做法,应该是在用户目录的&nbsp;.bashrc&nbsp;中将这两个sh配置文件都source进来。我用的是ubuntu,基于debian的,其它类型系统不一定有.bashrc,具体是什么文件自行摸索,反正是用户配置文件。<br /><br />然后介绍一些如何用modelsim快速编译xilinx库文件。网上有很多不同版本的方法,下面这种是比较方便的一种:<br /><br />1.首先将modelsim.ini文件只读模式去掉,存档前面打对勾。<br />2.在您安装ise的目录下,进入到bin/linux目录下,例如xxx:ise6in
t,确认有compxlib这个程序<br />3.在终端中中运行compxlib&nbsp;-s&nbsp;mti_se&nbsp;-f&nbsp;all&nbsp;-l&nbsp;all&nbsp;-o&nbsp;xxxmodeltech_6.0xilinx_libs就可以了,xxx:modeltech_6.0是我安装modelsim的目录,您可以作相应的更改。参数也可以按照您的要求作相应的更改。<br /><br />这样就搞定了。需要注意的是,如果你用的是windows系统,千万记住ise和modelsim的安装目录都不要出现空格,最好是直接安装在根目录下。<br /><br />具体单独用modelsim进行behavioral&nbsp;model的方法是,打开modelsim,把你的代码和仿真代码文件加入,别忘了加入glbl.v文件。在哪里?自己找吧。然后编译,work库这些设置好后,命令行(modelsim里的)输入<br /><br />vsim&nbsp;-L&nbsp;Xilinxcorelib_ver&nbsp;-L&nbsp;unisims_ver&nbsp;-L&nbsp;simprims_ver&nbsp;-lib&nbsp;work&nbsp;$yourtestname&nbsp;glbl<br /><br />就可以了。<br /><br />由于自己喜欢用vim编辑文件,感觉vim编辑verilog时比较不方便,vmake生成的makefile不是很全,所以花了一天晚上,总结了一个比较通用的,用于linux,unix环境的,适用于veirlog编程的make文件,和vim以及modelsim有机接合,可以编辑时直接编译,最后自动保存波形并观看。由于时间关系,以后再补充增加了ise处理命令的版本。<br />makefile如下:<br /><br />EXECUTABLE&nbsp;:=&nbsp;top_module&nbsp;#to&nbsp;be&nbsp;correct<br />MODULE&nbsp;:=&nbsp;module_to_be_sim&nbsp;#to&nbsp;be&nbsp;correct<br /><br />CC&nbsp;:=&nbsp;vlog<br />CFLAGS&nbsp;:=&nbsp;-reportprogress&nbsp;300&nbsp;+incdir+./include&nbsp;-work&nbsp;work&nbsp;-incr&nbsp;#&nbsp;add&nbsp;more&nbsp;option&nbsp;here&nbsp;if&nbsp;you&nbsp;want&nbsp;to&nbsp;compile&nbsp;with&nbsp;some&nbsp;library<br />COMPILE&nbsp;:=&nbsp;$(CC)&nbsp;$(CFLAGS)<br /><br />SIM&nbsp;:=&nbsp;vsim<br />VIEW&nbsp;:=&nbsp;vsim<br />TIME&nbsp;:=&nbsp;-all<br />ACTION&nbsp;:=&nbsp;&quot;log&nbsp;-ports&nbsp;-internal&nbsp;$(EXECUTABLE)/*;log&nbsp;-r&nbsp;$(EXECUTABLE)/$(MODULE)/*;run&nbsp;$(TIME);quit&quot;<br />SFLAGS&nbsp;:=&nbsp;-c&nbsp;-do&nbsp;$(ACTION)&nbsp;-wlf&nbsp;$(EXECUTABLE).wlf<br />SIMULATE&nbsp;:=&nbsp;$(SIM)&nbsp;$(SFLAGS)<br /><br />SRCS&nbsp;:=&nbsp;$(wildcard&nbsp;*.v&nbsp;)<br /><br />all:$(EXECUTABLE)<br /><br />$(EXECUTABLE):$(SRCS)<br />$(COMPILE)&nbsp;$(SRCS)<br /><br />#run&nbsp;this&nbsp;when&nbsp;you&nbsp;compile&nbsp;the&nbsp;code&nbsp;the&nbsp;first&nbsp;time<br />start:<br />vlib&nbsp;work&nbsp;&&&nbsp;vmap&nbsp;work&nbsp;work<br /><br />sim:<br />$(SIMULATE)&nbsp;work.$(EXECUTABLE)<br />$(VIEW)&nbsp;$(EXECUTABLE).wlf<br /><br />clean:<br />rm&nbsp;-rf&nbsp;*.wlf&nbsp;&&&nbsp;bg&nbsp;&&&nbsp;pkill&nbsp;make&nbsp;&&&nbsp;pkill&nbsp;vish<br /><br />刚想出来,有待改进。下面是我思路的大致介绍<br /><br />1&nbsp;在机器上安装完modelsim(废话)<br /><br />2&nbsp;为你的工程建立一个文件夹,首先用make&nbsp;start建立好库文件。目录里面要包括源文件和测试文件。估计所有人都是这样的吧~~<br /><br />3&nbsp;如果目录不变,则以后的仿真都用这个work库就行了。但是如果工作目录变化的话,每一次都要重新运行一次make&nbsp;start,这样才能在当前目录下生成work目录,用以记录各种库中的各个模块信息。<br /><br />4&nbsp;直接make。从makefile中可以看出,调用的是vlog工具,打开了增量编译,因此在对任何一个源文件进行修改的时候,放心make就行了,速度很快,立刻提示错误,呵呵。如果你使用的语言是VHDL,要把vlog改成vcom。具体VHDI的命令行编译我没有研究,请参考&nbsp;modelsim_cmd_ref_ug.pdf这个官方文件。<br /><br />5&nbsp;之后用make&nbsp;sim进行波形仿真和查看,如果在testbench中用了display或者monitor这种语句的话,那么输出值会在终端中显示,还会保存在当前目录的transcript中。波形文件用vsim看,这是唯一需要打开gui的地方。其他时候全部命令行执行,效率高多了,自己感觉,呵呵。<br /><br />我现在的问题是,只能从终端用vsim命令来启动modelsim,如果想把快捷程序图标加到面板上,属性设成&nbsp;/opt/modeltech/linux/vsim(安装目录),怎么点都没有不能打开程序。由于无法直接让vsim在后台执行,所以要不然就手工关闭,要不就自己c+z后用make&nbsp;clean关闭,这样比较不方便,正在想改进办法,看能否不关闭gui而直接重新编译并看波形,这个也有待实验。我本来想用vsim&nbsp;xx.wlf&nbsp;&的,在终端下可以,写进makefile就不行,还没有找到原因。<br /><br />有问题欢迎讨论,期待有高手的指导。&nbsp;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部