请教各位大牛一个在linux下启动ModelSim 10.2c的问题

请教各位大牛一个在linux下启动ModelSim 10.2c的问题,第1张

首先,让我们来看看安装过程:

for modelsim:

1 下载modelsim for linux的下载文件。应该总共有三个文件,分别是base,docs和linux.exe。都是gz压缩的。

2 解压缩linux.exe,解出来的是可以在终端中直接运行的文件,运行之,并安装。

3 分别解压base和docs在同一目录下。

4 把这时候的modeltech目录(也就是解压缩和安装后形成的目录)移动到你希望程序所存放的目录下,我这里选的是/opt。

5 把windows上的******文件拷贝到/opt/modeltech目录下。这个liense文件最好是在本机的windows环境下生成的。如果机器没有win环境,一定要把所使用的生成机器的mac改成自己机器的mac再用生成器生成。否则******不可用。

6 在home下的.bashrc中添加export LM_******_FILE=/YourInstallPath/Your******FileName,然后source .bashrc

7 进入安装目录下的linux,运行./vsim即可。

for ise and edk

1 首先,这个没有什么好说的,直接安装for linux平台的setup就行了。推荐把所有安装文件拷贝到本地硬盘上安装,这样快一些。

2 然后分别进入各自目录,运行settings.sh,这个是环境变量的配置文件

3 一劳永逸的做法,应该是在用户目录的 .bashrc 中将这两个sh配置文件都source进来。我用的是ubuntu,基于debian的,其它类型系统不一定有.bashrc,具体是什么文件自行摸索,反正是用户配置文件。

然后介绍一些如何用modelsim快速编译xilinx库文件。网上有很多不同版本的方法,下面这种是比较方便的一种:

1.首先将modelsim.ini文件只读模式去掉,存档前面打对勾。

2.在您安装ise的目录下,进入到bin/linux目录下,例如xxx:ise6in t,确认有compxlib这个程序

3.在终端中中运行compxlib -s mti_se -f all -l all -o xxxmodeltech_6.0xilinx_libs就可以了,xxx:modeltech_6.0是我安装modelsim的目录,您可以作相应的更改。参数也可以按照您的要求作相应的更改。

这样就搞定了。需要注意的是,如果你用的是windows系统,千万记住ise和modelsim的安装目录都不要出现空格,最好是直接安装在根目录下。

具体单独用modelsim进行behavioral model的方法是,打开modelsim,把你的代码和仿真代码文件加入,别忘了加入glbl.v文件。在哪里?自己找吧。然后编译,work库这些设置好后,命令行(modelsim里的)输入

vsim -L Xilinxcorelib_ver -L unisims_ver -L simprims_ver -lib work $yourtestname glbl

就可以了。

由于自己喜欢用vim编辑文件,感觉vim编辑verilog时比较不方便,vmake生成的makefile不是很全,所以花了一天晚上,总结了一个比较通用的,用于linux,unix环境的,适用于veirlog编程的make文件,和vim以及modelsim有机接合,可以编辑时直接编译,最后自动保存波形并观看。由于时间关系,以后再补充增加了ise处理命令的版本。

makefile如下:

EXECUTABLE := top_module #to be correct

MODULE := module_to_be_sim #to be correct

CC := vlog

CFLAGS := -reportprogress 300 +incdir+./include -work work -incr # add more option here if you want to compile with some library

COMPILE := $(CC) $(CFLAGS)

SIM := vsim

VIEW := vsim

TIME := -all

ACTION := "log -ports -internal $(EXECUTABLE)/*log -r $(EXECUTABLE)/$(MODULE)/*run $(TIME)quit"

SFLAGS := -c -do $(ACTION) -wlf $(EXECUTABLE).wlf

SIMULATE := $(SIM) $(SFLAGS)

SRCS := $(wildcard *.v )

all:$(EXECUTABLE)

$(EXECUTABLE):$(SRCS)

$(COMPILE) $(SRCS)

#run this when you compile the code the first time

start:

vlib work &&vmap work work

sim:

$(SIMULATE) work.$(EXECUTABLE)

$(VIEW) $(EXECUTABLE).wlf

clean:

rm -rf *.wlf &&bg &&pkill make &&pkill vish

刚想出来,有待改进。下面是我思路的大致介绍

1 在机器上安装完modelsim(废话)

2 为你的工程建立一个文件夹,首先用make start建立好库文件。目录里面要包括源文件和测试文件。估计所有人都是这样的吧~~

3 如果目录不变,则以后的仿真都用这个work库就行了。但是如果工作目录变化的话,每一次都要重新运行一次make start,这样才能在当前目录下生成work目录,用以记录各种库中的各个模块信息。

4 直接make。从makefile中可以看出,调用的是vlog工具,打开了增量编译,因此在对任何一个源文件进行修改的时候,放心make就行了,速度很快,立刻提示错误,呵呵。如果你使用的语言是VHDL,要把vlog改成vcom。具体VHDI的命令行编译我没有研究,请参考 modelsim_cmd_ref_ug.pdf这个官方文件。

5 之后用make sim进行波形仿真和查看,如果在testbench中用了display或者monitor这种语句的话,那么输出值会在终端中显示,还会保存在当前目录的transcript中。波形文件用vsim看,这是唯一需要打开gui的地方。其他时候全部命令行执行,效率高多了,自己感觉,呵呵。

我现在的问题是,只能从终端用vsim命令来启动modelsim,如果想把快捷程序图标加到面板上,属性设成 /opt/modeltech/linux/vsim(安装目录),怎么点都没有不能打开程序。由于无法直接让vsim在后台执行,所以要不然就手工关闭,要不就自己c+z后用make clean关闭,这样比较不方便,正在想改进办法,看能否不关闭gui而直接重新编译并看波形,这个也有待实验。我本来想用vsim xx.wlf &的,在终端下可以,写进makefile就不行,还没有找到原因。

**!适用于 64位 Ubuntu 14.04LTS系统 **

只是一个草稿 待修正

64位机器 Ubuntu 14.04LTS系统 不是就不要对号入座。

~~以下是备用 一般而言不需要 ~~

# sudo add-apt-repository ppa:webupd8team/java

# sudo apt-get update

# sudo apt-get install oracle-java8-installer

# sudo apt-get install oracle-java8-set-default

注意运行上述的wine命令时 不要在电脑usb口上插外置的usb网卡 如果是笔记本 最好把外设都给拔掉

无所谓的问题 因为sfk无法更改自身。

那么,回滚到旧版本的linux系统 或者把debian系的系统换成redhat系的系统

或者安装更加新的modelsim版本

网上说的手动替换freetype为旧版本很可能是不可以的。

比方说我安装se-10.1c和ae-10.1d都死活无法显示图形界面 安装se-10.2c就好了

下面说说关于Altera usb-blaster的驱动问题

那么,切换到以下目录并建立一个规则文件80-usbblaster.rules

在文件中写入:

这样在idVendor是09fb且idProduct是6001的时候,mode设置成666(rw-rw-rw-)

接上usb-blaster,再次lsusb 返回中含有

于是

如果返回的是666(crw-rw-rw-)权限 那么成功

如果 怎么样都不可以 就手动修改

有了上面的PATH 之后就不用每次切换到下面目录才可以运行jtagconfig命令

给FPGA板子通电开机,然后插上usb-blaster

通过vivado联合Modelsim调试,自动生成脚本,通过学习人家写好的脚本,来学习如何自动化使用Modelsim。毕竟,每一次都在那几个按钮上点来点去,实在是太恶心人了,我觉得,没有人喜欢这样重复做实验,因此,写了这篇blog。本文,最后会给一个简单的Modelsim通用型工具脚本。如果对笔者的实验过程,不感兴趣,可以直接跳到最后,简单看看,直接拿来用即可。

住里面主要说明两种文件:

这个脚本,调用了位于D:\modelsim\win64的vism.exe文件,让 modelsim执行了tb_test_compile.do脚本,并将日志信息,输出到了compile.log文件中

编译的过程是:

前面三条语句是新建一个库,并设置库的位置,如下图

vmap 是把系统的work库文件映射到新建的work库中

vlog 添加并编译HDL文件

在编译成功之后,就使用simulate.bat去仿真目标模块

和刚才编译时,一样,只是调用vsim.exe去执行相应的脚本

vsim命令的编译选项:

执行完下面的指令之后

两个set无关紧要,也就关一关警告。

之后,就执行tb_test_wave.do脚本

这个脚本的内容很简单

说白了就是添加了所有的信号线,放到了右边的框里(这个时候,已经仿真完了),完事之后,执行:

查看波形,查看结构,查看信号线,同时设置了一下具体时间。

通过上面的论述,其实只需要更改Vivado生成的脚本,就可以做一个简单的通用Modelsim仿真自动化工具了

改的东西,最基本的仅仅是:

modelsim更进一步的使用,就参照下一个文档


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/5922599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存