引言
在芯片设计的流程中,各种EDA工具在设计、综合、布局布线、验证、时序分析等等环节都会产出大量的文件信息。这些信息是海量的,如果单纯靠程序员自己查看信息效率很低并且很容易纰漏。所以脚本语言可以很好的解决这个问题,可以利用脚本语言匹配到敏感的信息,完成对信息的匹提取、修改、写入等一系列操作。从信息类型来看,经典的包括ERROR、INFO、WARNING、CRITICAL WARNING等。我们最关心的是ERROR和CRITICAL WARNING。所以我们需要在众多信息中提取出ERROR和CRITICAL WARNING,抑或是关心的模块名称。
1、准备随机文本
为方便演示,我们手头上没有现成的EDA工具输出信息。那么我们呢不妨利用脚本生成一个带有所需格式的随机文本。格式:
[信息类型]:信息内容(随机字符串)。
我们可以用tcl语言或者MATLAB生成这种格式的文本文件。
tcl脚本:
# --------------------- 此tcl脚本用于生成随机文本 --------------------------
# 文本格式:[提示信息]:随机文本
# 提示信息有三类:ERROR、INFO、WARNING
# 随机文本的行数、列数、文本内容等均随机
# by:在路上-正出发
# proc random 用于产生[min , max]范围内的随机整数
proc random {min max} {
return [expr round(($max-$min)*rand()+$mi