![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测室 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
|||||
| linux-fpga系列文章之——eda工具安装及modelsim的调试技巧 | |||||
作者:风雷的技… 文章来源:风雷的技术天地 点击数: 更新时间:2008-1-3 ![]() |
|||||
|
本文首先介绍了modelsim和ise在linux下安装的注意事项,然后介绍了如何用modelsim完全编译xilinx的库文件,最后介绍了一个makefile和vim配合使用modelsim的技巧。本文主要为讨论了在linux环境下进行eda以及相关嵌入式开发的一些技巧和方法,今后在我的学习过程中还会不断推出这个系列的文章,欢迎讨论,交流。 首先,让我们来看看 安装过程 modelsim的安装: 1 下载modelsim for linux的下载文件。应该总共有三个文件,分别是base,docs和linux.exe。都是gz压缩的。 ise和edk的安装: 1 首先,这个没有什么好说的,直接安装for linux平台的setup就行了。推荐把所有安装文件拷贝到本地硬盘上安装,这样快一些。 如果觉得不好理解,我在本文的附件中上传了我的.bashrc,仅供参考 编译库文件: 然后介绍一些如何用modelsim快速编译xilinx库文件。网上有很多不同版本的方法,下面这种是比较方便的一种: 1.首先将modelsim.ini文件只读模式去掉,存档前面打对勾。 这样就搞定了。需要注意的是,如果你用的是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 就可以了。 verilog+makefile调试技巧 由 于自己喜欢用vim编辑文件,感觉vim编辑verilog时比较不方便,vmake生成的makefile不是很全,所以花了一天晚上,总结了一个比较 通用的,用于linux,unix环境的,适用于veirlog编程的make文件,和vim以及modelsim有机接合,可以编辑时直接编译,最后自 动保存波形并观看。由于时间关系,以后再补充增加了ise处理命令的版本。 makefile文件代码: EXECUTABLE := top_module #to be correct CC := vlog SIM := vsim SRCS := $(wildcard *.v ) all:$(EXECUTABLE) $(EXECUTABLE):$(SRCS) #run this when you compile the code the first time sim: clean: 思路介绍: 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的地方。其他时候全部命令行执行,效率高多了,自己感觉,呵呵。 6 makefile中自动默认是每次仿真的时候都把所有信号,包括端口,内部信号等全部加到仿真波形之中。但是实际上我们在很多情况下是不需要观察全部信号的,因此,可以在第一次仿真之后筛选出自己需要的信号,把无用信号删除,然后保存wave.do中,接下来把makefile中的ACTION选项改为 ACTION := “do wave.do;run $(TIME);quit” 这样,以后每次make sim的时候,自动就只添加你需要观察的信号了。 存在问题: 现在的问题是,只能从终端用vsim命令来启动modelsim,如果想把快捷程序图标加到面板上,属性设成 /opt/modeltech/linux/vsim(安装目录),怎么点都没有不能打开程序。由于无法直接让vsim在后台执行,所以要不然就手工关 闭,要不就自己c+z后用make clean关闭,这样比较不方便,正在想改进办法,看能否不关闭gui而直接重新编译并看波形,这个也有待实验。我本来想用vsim xx.wlf &的,在终端下可以,写进makefile就不行,还没有找到原因。 有问题欢迎讨论,期待有高手的指导。 |
|||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| ModelSim中增加FPGA(Altera/… ModelSim中增加Xilinx库的追… Modelsim6.2系列的一个优化选… |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|