mafan88的个人空间 https://blog.eetop.cn/162539 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

TCL 与Perl 在IC 设计中的应用

已有 4535 次阅读| 2012-1-11 21:00 |个人分类:脚本

论坛上看到关于tcl和perl的应用,做个备份。

就TCL 而言,主要是因为synopsys 以这个语言为基础,在他的整个flow和工具中都有support TCL,用于其的command file
比如DC PC Astro iCC 等。
一般来说你要是遇到用到这些工具,最好对TCL 有所了解。
这样才能写出较好的scripts。
需要注意是的Synopsys在TCL原有的基础上发展了collection这个概念。
对应的command为foreach_of_collection,get_object_name等等用于对collection进行操作的command。
collection有点类似list,但是又是有区别的。具体可参考synopsys相应tcl的doc。
还有就是sdc file也是基于tcl 的语法的。

就Perl而言:
其主要的优势在于文本的处理。
同时用perl去写出run-command,判断参数,替换文本,最后调用相应的command,真正执行,这个功能有点类似Makefile。
就文本处理而言:
1)处理log-file,将一些不需要的warning或者error filter掉,从而更容易找到问题。
2)可以处理netlist,比如你需要对netlist进行一些复杂的替换,或者修改,就可以使用perl,但是需要最后进行一下LEC或者Foramlity的形式验证。
3)对backend同仁来说,有时候他们需要对layout进行修改,可以将layout-dump出文本格式,在用perl对其修改。

其实tcl,gvim等等也可以进行替换,但是就执行速度而言与perl相差很远。
因为tcl和gvim都是解释一条,执行一条。
而perl类似C,都是先compiler,在执行。

比如,你用EDA工具做了一件工作,并有对应的log文件,但是log文件内容很多很杂,这时你可以用Perl对log文件的关键字进行抽取,得到真正对 你有用的信息。特别在批量处理多个log文件时,Perl就显示出它的作用了,因为你不用一个一个手工的查看log文件。

ASIC综合完成后,可能要用perl对网表进行处理,打个比方将1'b1替换成TIEH,1'b0替换成TIEL。

点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 6

    粉丝
  • 0

    好友
  • 15

    获赞
  • 6

    评论
  • 105786

    访问数
关闭

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

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

GMT+8, 2024-5-23 21:08 , Processed in 0.015186 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部