【ICer的脚本练习】通过perl脚本来检查仿真log的结果

系列的目录说明请见:ICer的脚本练习专栏介绍与全流程目录_尼德兰的喵的博客-CSDN博客

前言

这是一个非常简单的perl脚本示例,展示一下perl语言“极简”的编码习惯。perl是我脚本入门的语言,一度也是最擅长的,但是因为python的强势现在我基本不写perl了。上一个大的perl脚本是用来做代码生成的,我至今记忆尤深写了3000多行各种循环正则套用,一旦debug间隔时间超过1周我就根本看不懂这脚本了。

可见perl的可读性确实吧,真的不高,即使他写起来确实爽。

场景

这次的场景也很简单,vcs跑完用例之后我们需要检查一下log里有没有报错,如果没有找到错误关键词那么就显著的打印PASS,如果检查到关键词就打印FAIL。

脚本编写

明确一下脚本的输入必然是一个log文件,那么我们只需要打开log文件然后按行搜索:

#!/usr/bin/perl -w

my $pass = 1;
while(){ #打开脚本后缀参数对应的文件
    if($_ =~ /error|Error|failed|Failed|UVM_FATAL|UVM_ERROR/){
        $pass = 0;

你可能感兴趣的:(IC萌新的脚本培训教程,perl,开发语言,芯片,python,verilog)