本节剧本单独另写成一个文献,一方面是为了debug便捷,另一方面亦然尽量模块化,因为代码比拟多。
图片
指定输入输出
图片
由于咱们在本次代码中需要存储JPG文献,是以咱们还需要再开采一个文献夹。
图片
图片
查找skew-group
图片
底下的代码比拟复杂,亦然剧本的中枢代码。
第31行,通常通过开采tag来达到正确退出轮回的盘算推算
第32行,如若找到Runtime Summary则退出本段代码
第35行,如若找到clustering大约construction,默示厚爱启作为念tree
第39行,查找phase要津字,之前的著作讲过,从宏不雅到微不雅,不错分为phase, stage, step,本行查找的是phase
第45行,查找stage
第50行,查找step
第58-65行,找到每次step的cell-count,包括icg/buffer等等。然后再存入多级的哈希表中
第 66行,参加第二层轮回。
CCOPT中phase,stage仅仅宏不雅的意见,果真的操作是step,是以咱们找到每一个step后就参加while轮回仔细分析。
第70行,默示查找到下一个step。这里咱们纪录下位置,并退出本次轮回。
第75-86行,在本次while轮回中,也可能会找到phase,stage这些宏不雅神色,是以这里也趁机存储这些东西
第87行,找到包含insertion delay、skew的行,
第92-95行,将这些delay/skew值保存到hash表中
第96-102行,如若design中skew-group太多,每个skew-group齐画一张图的话就太多了,是以需要进行过滤。这里只找出前N个最大的skew,背面的代码再进行过滤。
图片
图片
图片
查找cell-distrubution
图片
底下咱们再再行读入log,再查找cell-distribution
第121行,找到cell-distribution要津字后,参加下一层轮回。
第123行,不同的版块log不太一样。作家也仅仅比拟了一下,发现不错通过===记号梭巡哪个是新版块的log哪个是旧版块的log。然后再进行不同的操作。
图片
图片
好了到此放荡查找操作齐仍是完成了。
图片
过滤skew-group
图片
在上头的96-102行,咱们找到了前N个最大的skew。这里又特等界说两个哈希表,一个用来存储名字,一个用来存储数据。将过滤好的skew-group存储到这两个hash表中。
图片
图片
吐出HTML文献
图片
底下启动输出操作。通常是保存为HTML局势,
这里通常弃取HTML的表格来泄露每个phase,stage和step
图片
图片
泄露图片
图片
这里通常弃取表格的形势泄露多个图片
图片
图片
绘制准备
图片
底下咱们启动绘制操作。对于绘制的说念话之前也讲过:
你还不错作念个画家
底下是诞生绘制前的准备责任
图片
图片
启动绘制
图片
底下进行绘制操作,这里画出skew-group的skew,insertion-delay在不同step的变化
图片
这里画出cell在不同Step下散布的变化
图片
图片
系数的代码齐仍是讲结束。众人不错试试写一写。仅仅抄抄改改是学不会的,需要亲身起原敲敲改改。
本站仅提供存储管事,系数执行均由用户发布,如发现存害或侵权执行,请点击举报。