系列的目录说明请见:ICer的脚本练习专栏介绍与全流程目录_尼德兰的喵的博客-CSDN博客
前言
本文仍旧以培养脚本使用的思维和常见操作为主,不过多的进行脚本编码说明。
场景
跑完仿真之后,想查一个uvm定义的关键词在源码中的位置,后者想查查一个RTL中使用的宏是在哪个文件中定义的有没有被后续文件修改。那么这时候我们就希望能够对编译的log进行检索,在里面查找我们需要关键词(编译log中也包含uvm的源码)所在的文件。
脚本组织
还是和之前一样,如果人力来做这件事会怎么做呢?可以打开编译log,对着log里编译的文件一个一个打开去看。当然也可以利用grep指令,针对每一个文件进行关键词的grep。那么对应的脚本组织,就可以完全仿照这个行为:
- 给定关键词和待处理log文件
- 打开文件,提取出所有被编译的文件
- 针对所有被编译的文件进行grep,查到包含关键词就打印在屏幕上
ok按照这个思路我完成了脚本find_key.py: