返回信息流RT
最近装了一个Linux版的modelsim,当然是看中了linux下脚本的好处啦。(btw:谁想要linux版的modelsim可以找我)
问一下modelsim下的那些处理用的do文件怎么编写?主要包括以下几方面:
1,变量设定及引用。据说用的是tcl,可是设定以后却没有生效。变量出现的地方用空字符替代的。很郁闷
2,modelsim的那些编译命令格式啊什么的
谢谢大家啦
这是一条镜像帖。来源:北邮人论坛 / circuit / #15539同步于 2010/11/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖
谁知道modelsim下的do文件怎么编写么
lanphon
2010/11/20镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
常用的就vcom vlib 啥的
最简单的方法是,你先在modelsim中用UI的方式达到你想要的目的,在命令窗口就会留下对应的tcl脚本,copy下来就ok,然后自己琢磨下,根据需要做修改啥的。
【 在 lanphon (上善若水) 的大作中提到: 】
: RT
: 最近装了一个Linux版的modelsim,当然是看中了linux下脚本的好处啦。(btw:谁想要linux版的modelsim可以找我)
: 问一下modelsim下的那些处理用的do文件怎么编写?主要包括以下几方面:
: ...................
华为有个脚本模板,写的挺好,不过不外传,我也没功夫用大脑记录出来。
首先规定一种目录层次结构,在此固定的目录结构中,方便指定库、代码、等的位置。例如:
-+----code
|----01.scr
|----01.PLL
|----02.Rst_gen
|----....
|----02.ipcore
|----01.PLL
|----02.BUFFER
|----03.Proj_files
|----db
|----incremetal_com
|----04.testbench
|----test_b(真正存放tb.v的目录)
|----test_mif_ver (存放mif文件的目录)
|----test_data (存放仿真数据,里面还可以分in和out等)
思路是先用set设定目录位置,主要包括库、ipcore、代码、tb、数据等;
然后建立库映射库,这里主要是指芯片通用库,比如Stratix IV的库;
然后是编译ipcore(他们喜欢给ipcore称作库。。。)
编译.v文件们
添加wave
开始仿真
【 在 teamo (/ti 'amo/) 的大作中提到: 】
: 常用的就vcom vlib 啥的
: 最简单的方法是,你先在modelsim中用UI的方式达到你想要的目的,在命令窗口就会留下对应的tcl脚本,copy下来就ok,然后自己琢磨下,根据需要做修改啥的。
前几天找过两个tcl的东东看,刚删了一个,还剩一个。
【 在 lanphon (上善若水) 的大作中提到: 】
: RT
: 最近装了一个Linux版的modelsim,当然是看中了linux下脚本的好处啦。(btw:谁想要linux版的modelsim可以找我)
: 问一下modelsim下的那些处理用的do文件怎么编写?主要包括以下几方面:
: ...................
现在问题是这个样子的
因为源文件很多,所以单独列进一个.f文件,如rtlfile.f。在do文件中用vlog -f rtlfile.f即可。
在do文件中,
set RTLPATH ../src
set BENCHPATH ../tbfile
vlog -f rtlfile.f
然后rtlfile.f中
$RTLPATH/v1.v
$RTLPATH/v2.v
$BENCHPATH/tb.v
在modelsim中执行do run.do,显示找不到/v1.v文件。换句话说,变量没有被替换。请问这是怎么回事呢?
【 在 ysun36 的大作中提到: 】
: 没有手写过.do文件,建议LZ在命令行窗口里面调试一下,do文件是TCL语法的。
命令行里,
set RTLPATH ../src
vlog $RTLPATH/v1.v
是可以的。
但我想将所有的RTL文件名写入一个.f文件,然后用vlog -f 的功能
换句话说,貌似是在do文件中定义的变量没有被传入到.f文件中。。。。
手写do文件其实差不多就是个批处理的过程,喜欢linux下的这个特性。
继续求助。。。。
应该是环境变量没有传递过去。
像你那样定义的环境变量作用范围只限于当前进程,也就是说只限于在那个.do中使用。
如果想做环境变量的话,可以在用户目录的.bashrc中定义,这样就可以了。
应外,你可以在.do中从f中读出那些路径。~