最强的脚本教程(tcl/perl/tcsh/bash/makefile)

2010年07月06日 15:00    发布者:看门狗
IC工程师对脚本一定不陌生。脚本是一种工具,不是必须的,但熟练掌握脚本会为工作带来很多便利。

最先接触到的脚本是TCL,用最多的是modelsim。如果工程简单一点,只是编译一下,然后抓个波形看看,用鼠标就可以了。当工程比较复杂时,需要include一些文件,引入一些宏,还要加入一些特殊的编译或仿真选项,这个时候就需要用到命令窗口了,如果命令比较长,还要抓波形,调用其他工具,那就需要用到tcl脚本了。modelsim最典型的运行脚本的方式是: do run.do

工作最常用的工具是VCS和NC-verilog,这个时候接触了perl和tcsh/bash。试想一下,加入一个项目里面,你要对工程进行编译,需要输入如下

命令:vcs -sverilog -vera +define+MACRO1=1 -o simvcs -f hdl_files +plusarg_save +vcs+lic+wait +vpdports -I -notice +ntb_rvm

+incdir+../incdir +timescale=1ns/1ns +v2k ...要是每次编译都输入这么长的命令显然很麻烦,这个时候就要利用脚本了。脚本这个时候相当与windows下的批处理命令。

脚本另外的用处是:
1. 处理文本。perl处理文本的能力很强大。比如我在仿真的时候,为了对寄存器进行测试,需要写寄存器的模型,它们的初值是多少,可读还是可写,哪些位是保留位,这些信息都在设计文档里有表格表述。这个时候,可以用perl脚本写一个程序,把那个表格转换成一个个结构体,直接include到verilog当中。

2.增量编译。在含有arm核的系统的仿真中,往往有很多汇编和C语言。如果每次修改之后又重现编译,会浪费很多时间,特别是有点时候仅仅是修改了一个文件。makefile的用处是通过判断从上次编译到现在哪些文件修改了,然后仅仅是编译修改了的文件,这样效率会很高。

另外,学会tcsh/bash会对linux的使用有很多帮助。

18255
18256
18257
18258
该文章有附件资料,如需下载请访问 电脑版

网友评论

qq847941010 2010年10月31日
收藏了
qq847941010 2010年10月31日
fa
qq847941010 2010年10月31日
thank you lz
qq847941010 2010年10月31日
都是经典
balao 2011年01月05日
great
bryanzhh 2011年05月23日
谢谢分享
lrshaggy1984 2012年03月20日
感谢楼主分享
lrshaggy1984 2012年03月20日
分数不够了
lrshaggy1984 2012年03月20日
感谢分享~~~
rinllow6 2012年12月02日
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ll28 2014年05月05日
多谢. 虽然是很久以前的资料,但是这种东西不会过时.
kartoon 2014年06月02日
感谢!!!