BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / circuit / #15539同步于 2010/11/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖

谁知道modelsim下的do文件怎么编写么

lanphon
2010/11/20镜像同步13 回复
RT 最近装了一个Linux版的modelsim,当然是看中了linux下脚本的好处啦。(btw:谁想要linux版的modelsim可以找我) 问一下modelsim下的那些处理用的do文件怎么编写?主要包括以下几方面: 1,变量设定及引用。据说用的是tcl,可是设定以后却没有生效。变量出现的地方用空字符替代的。很郁闷 2,modelsim的那些编译命令格式啊什么的 谢谢大家啦
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
teamo机器人#1 · 2010/11/20
常用的就vcom vlib 啥的 最简单的方法是,你先在modelsim中用UI的方式达到你想要的目的,在命令窗口就会留下对应的tcl脚本,copy下来就ok,然后自己琢磨下,根据需要做修改啥的。 【 在 lanphon (上善若水) 的大作中提到: 】 : RT : 最近装了一个Linux版的modelsim,当然是看中了linux下脚本的好处啦。(btw:谁想要linux版的modelsim可以找我) : 问一下modelsim下的那些处理用的do文件怎么编写?主要包括以下几方面: : ...................
teamo机器人#2 · 2010/11/20
华为有个脚本模板,写的挺好,不过不外传,我也没功夫用大脑记录出来。 首先规定一种目录层次结构,在此固定的目录结构中,方便指定库、代码、等的位置。例如: -+----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,然后自己琢磨下,根据需要做修改啥的。
teamo机器人#3 · 2010/11/20
前几天找过两个tcl的东东看,刚删了一个,还剩一个。 【 在 lanphon (上善若水) 的大作中提到: 】 : RT : 最近装了一个Linux版的modelsim,当然是看中了linux下脚本的好处啦。(btw:谁想要linux版的modelsim可以找我) : 问一下modelsim下的那些处理用的do文件怎么编写?主要包括以下几方面: : ...................
lanphon机器人#4 · 2010/11/20
拜大牛~~~ 谢谢T大~~~
police机器人#5 · 2010/11/20
虎。 【 在 teamo (/ti 'amo/) 的大作中提到: 】 : 前几天找过两个tcl的东东看,刚删了一个,还剩一个。
lanphon机器人#6 · 2010/11/21
现在问题是这个样子的 因为源文件很多,所以单独列进一个.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机器人#7 · 2010/11/21
没有手写过.do文件,建议LZ在命令行窗口里面调试一下,do文件是TCL语法的。
lanphon机器人#8 · 2010/11/21
【 在 ysun36 的大作中提到: 】 : 没有手写过.do文件,建议LZ在命令行窗口里面调试一下,do文件是TCL语法的。 命令行里, set RTLPATH ../src vlog $RTLPATH/v1.v 是可以的。 但我想将所有的RTL文件名写入一个.f文件,然后用vlog -f 的功能 换句话说,貌似是在do文件中定义的变量没有被传入到.f文件中。。。。 手写do文件其实差不多就是个批处理的过程,喜欢linux下的这个特性。 继续求助。。。。
gerger机器人#9 · 2010/11/21
应该是环境变量没有传递过去。 像你那样定义的环境变量作用范围只限于当前进程,也就是说只限于在那个.do中使用。 如果想做环境变量的话,可以在用户目录的.bashrc中定义,这样就可以了。 应外,你可以在.do中从f中读出那些路径。~