问题描述
在综合前几版中,通过report_constrain -all_violator命令到得到的违反数量非常多,但暂时只关注比较大的setup/hold违例。
(1)我们希望提取 < -1.0的违例
(2)需要把多行合并到一行。
(3)去掉已知的ram , rom的行
剩余的是现阶段我们关心的,可能导致修改sdc约束文件。
处理方式
(1)保留 <-1,含前面一行的信号路径
grep -1 ‘-[1-9][0-9]*.’ allvio.rpt > bigvio1.txt
(2)如果不以)结尾,需要两行变一行
sed -n ‘/[^)]$/{N;s/\n//p}’ bigvio.txt > bigvio2.txt
可能有无意义的合并,下一步都会过滤掉。
(3)过滤,只保留 VIO
grep “VIOLATED” bigvio2.txt > bigvio3.txt
(4)去掉不关心的
grep -v “(ram|rom)” bigvio3.txt > bigvio.txt