TCL 与Perl 在IC 设计中的应用
时间:10-02
整理:3721RD
点击:
就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,在执行。
比如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,在执行。
赞下LZ,我也是刚接触到collection与list的差异
学习原来perl主要是处理文本的
看来是Synopsys的问题吧!
不是说perl不需要编译吗?
受教了,如果小编可以分享一下自己在这些方面的实际应用例子,那就更好了。
嗯。PERL的功能在文本处理上无人能及。
perl主要是处理文本和数据的,是EDA软件的一个有力的补充。
perl相当有意思,我有事没事就编一个,好玩。
小编可以分享一下自己在这些方面的实际应用例子,那就更好了
受教~~~~~~~~~~~·
受教了
shell,tcl,perl and makefile,使用EDA工具必须的.
两个都有用啊。不可少
MMMMMMMMMMMM
十分的同意你的意见。
晕倒,发错了。
原来perl主要是处理文本的
这两个工具相当有用啊,尤其是synopsys的工具里面都用tcl
需要大量练习才能熟悉
各种脚本中大量采用tcl语言,并做了扩充
学习了
学习了,谢谢lz
前面赞同,但perl是解释型语言,也是解释一条执行一条的
学习了
感谢LZ
学习了!
数字设计用的比较多吧 模拟设计里面感觉不是特别用
真好文,受教哦
bucuo
BUCUO
