云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 使用Quartus调用Modesim仿真后,怎样才能不在Quartus中再次显示Modelsim的输出2

使用Quartus调用Modesim仿真后,怎样才能不在Quartus中再次显示Modelsim的输出2

  • 62 次阅读
  • 3 次下载
  • 2026/1/27 7:46:15

使用Quartus调用Modesim仿真后,怎样才能不在Quartus中再次显示Modelsim的输出

2009-04-04 22:52

前两天使用Quartus调用Modelsim仿真,让人忍不住要大骂法克的事情发生了:Modelsim完成仿真后,Quartus会把Modelsim的输出在Messages对话框中再次输出一遍,本来几万行输出在Modelsim中就得等半天,还得到Quartus中重复一次,而且Quartus读文件时缓冲区似乎处理得很粗糙,文件一大就卡。每仿一次就得看Quartus在那边卡半天,好几次有砸电脑的冲动!于是决定研究一下怎么才能避免Quartus的这种脑残行径。

网上搜了n遍,没找到!到几个群里问了n次,没人理!无比郁闷!没办法,只能发扬毛爷爷“自己动手,丰衣足食”的气节。摸索了半天,终于找出一种方法,虽然有点傻瓜,好歹也不用输出稍微多一点就得等半天了。 首先必须搞清楚为什么会发生这种现象。在Quartus的Messages对话框中可以看到这么一行提示: Info: Probing transcript

原来Modelsim会把自己的标准输出stdout写入一个transcript文件,如果用Quartus调用Modelsim仿真,则Modelsim仿真后会在

\\simulation\\modelsim\\文件夹中生成一个msim_transcript文件,Modelsim的输出就全部写在其中了。然后Quartus软件工程师做了一件吃力不讨好的事情,在Quartus中读入transcript文件并输出。

怎么才能避免这种事情呢?可以在Modelsim仿真完成后,先删除msim_transcript文件,然后关闭modelsim,这样Quartus就找不到transcript文件了,自然也不会读取输出浪费我们宝贵的时间了。不过直接删除时,应为modelsim仍然在使用transcript文件,windows会报错:文件正在使用中,无法删除。

看modelsim的手册可以知道要想阻止创建transcript文件可以通过transcript file “”命令来实现,所以我们可以通过以下几步来让自己“不再等待”:

1.在仿真结束后提示 Are you sure you want to finish?是选择否 2.在transcript对话框中会看到VSIM[paused]>,输入transcript file \,回车

3.删除msim_tanscript文件

4.关闭modelsim,回到Quartus中,Quartus会报错,因为它找不

到transcript文件了,不用管它,哈哈!

这个方法确实比较麻烦,不过比起每次仿真后等半天的尴尬来说应该是比较爽了吧。

本来想通过do脚本阻止transcript文件的输出,不过不知道为什么已经在工程中设置了通过指定脚本设置仿真,但每次Quartus还是会自己生成do脚本来仿真。唉,早知道这样当初就买赛灵思的开发板了。

这篇文章只不过是抛砖引玉,希望有高手能提供更好的解决方法。

续:使用Quartus调用Modesim仿真后,怎样才能不在Quartus中再次显示Modelsim的输出 2009-04-12 14:00

前两天向Altrea的工程师请教了一下,他也说可以用transcript file “” ,还说每次仿真会重写do脚本是Quartus NativeLink的一个defect。看完邮件感叹找到一个知音之余,觉得自己还算挺高明的嘛,顿有飘飘然之感觉。 后来一想不对啊,丫的你可是Altrea的工程师,不是Mentor的啊。怎么能净教用户让Quartus报红的法子呢?觉得这法子还是不大靠谱,遂再次看了一下仿真时Quartus的Message,发现有这么一句话:

Info: Command: quartus_sh -t

d:/altera/72/quartus/common/tcl/internal/nativelink/qnativesim.tcl --rtl_sim DA_TLC5620 DA_TLC5620

原来Quartus调用Modesim进行仿真时的流程都是通过tcl脚本来实现的,这就意味着我们可以通过修改tcl脚本来阻止Quartus读取transcript文件了。想到这里,不禁窃喜~~

很快找到了相关的脚本语句,不过不是在qnativesim.tcl中,而是在

d:/altera/72/quartus/common/tcl/internal/nativelink/modelsim.tcl中。打开modelsim.tcl,找到下面这段脚本语句:

if [catch { open \

nl_postmsg error \make sure the software is properly installed and the environment variable LM_LICENSE_FILE or MGLS_LICENSE_FILE points to the correct license file.\ error \ } else {

nl_postmsg info \ seek $tscr_fid $tscr_fpos while {1} {

gets $tscr_fid line

if { [eof $tscr_fid] == 0 } {

if { [regexp {# \\*\\* Error:} $line] } { nl_postmsg error \ incr err_cnt;

} elseif { [regexp {# \\*\\* Warning:} $line] } { nl_postmsg warning \ } else {

nl_postmsg info \ }

} else { break } }

set tscr_fpos [tell $tscr_fid] close $tscr_fid }

这段代码没仔细看,反正大概的意思就是开关读取transcript文件了,用#注释或删除之,再使用Quartus调用Modesim仿真后,Quartus就不会再次显示Modelsim的输出,也不会报错了。

还有,每次仿真时Quartus都会将原来的do脚本备份一下然后再重新生成do脚本,仿真几次后看到文件夹里一堆bak文件bak1,bak2,bak3......是不是很不爽呢?这也可以通过修改modelsim.tcl来阻止的。找到: if [ file exists $msim_do_file_name ] { backup_file $msim_do_file_name }

注释或删除之就可以了。

安全起见,在修改modelsim.tcl的时候记得要先备份哦。

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

使用Quartus调用Modesim仿真后,怎样才能不在Quartus中再次显示Modelsim的输出 2009-04-04 22:52 前两天使用Quartus调用Modelsim仿真,让人忍不住要大骂法克的事情发生了:Modelsim完成仿真后,Quartus会把Modelsim的输出在Messages对话框中再次输出一遍,本来几万行输出在Modelsim中就得等半天,还得到Quartus中重复一次,而且Quartus读文件时缓冲区似乎处理得很粗糙,文件一大就卡。每仿一次就得看Quartus在那边卡半天,好几次有砸电脑的冲动!于是决定研究一下怎么才能避免Quartus的这种脑残行径。 网上搜了n遍,没找到!到几个群里问了n次,没人理!无比郁闷!没办法,只能发扬毛爷爷“自己动手,丰衣足

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com