在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5018|回复: 3

[求助] 大神们帮忙看下这段tcl代码哪里出了问题?

[复制链接]
发表于 2013-9-4 16:19:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我对tcl脚本一窍不通啊,请大神们帮帮忙吧!
我想在一个文件t1.txt中找到其中的 { data_out <= 16‘h41; // Design Version Number } 一行,并把其中的41读出来,加1后再放回去,tcl代码和文件如下,错误提示是can not find channel named "e:/tcl_exam/t1.txt",而我用set file这个语句是可以看到e:/tcl_exam/t1.txt的,请大神们给给建议,看看是哪里出问题了,小弟感激不尽啊!!

文件t1.txt:
module te();
    vercontro<= i+1;
    data_out <= 16'h41; // Design Version Number
   
endmodule

tcl代码:
set file "e:/tcl_exam/t1.txt"
set fileid [open $file r+];
while {-1 != [gets $fileid line] } {
        if { [regexp {^\s+data_out <= \d+\'h([[:xdigit:]]+); // Design Version Number $ } $line match version_number] } {
                scan $version_number "%x" decimal_value
    incr decimal_value
    set new_version_number [format "%X" $decimal_value]
    regsub h${version_number} $line h${new_version_number} line }
    puts $fileid $line
    }
close $file

运行环境是Windows xp + tclsh84
发表于 2013-9-4 17:22:06 | 显示全部楼层
本帖最后由 sjtusonic 于 2013-9-4 17:23 编辑

回复 1# vivzzm131


    写成这样试试看:
e://tcl_exam//t1.txt

或者这样:

e:\\tcl_exam\\t1.txt
 楼主| 发表于 2013-9-5 13:09:25 | 显示全部楼层
回复 2# sjtusonic

试了,也不行啊。

另外我把([[:xdigit:]]+)也改了,这句可能有问题,保险起见改成了([0-9a-fA-F])
    不过问题仍然没有解决啊。

。。。。。。
发表于 2013-9-9 11:03:13 | 显示全部楼层
data_out <= 16‘h41 和data_out <= 16'h41; 符号错了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-18 02:35 , Processed in 0.024945 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表