首发于IC CAD探索
IC 数据孤岛和衔接探索

IC 数据孤岛和衔接探索

在IC 设计里,的确会产生很多数据的孤岛,这些Data Island 数据躺在那里,可以对局部的决策做指导,但是数据之间的链接是很少的。当这些数据都链接起来,产生的价值将大于它孤立时候的用途。

有些数据是因为难处理,有些是不好centralize ,有些是不好展示,今天我们针对某些格式的文件,某些IC 步骤中用到的数据做一个探索,或许某些都是你平时习以为常做的事情,那么就当时一个总结好了。

Report

公司或者我们自己会积累一些parser,对某些格式的文件或者某些report 做parsing,这些parsing 生成的结果或许是你某一次的需求,当你第二次遇到类似问题时,或者你一开始设计你的parser 时,就要用比较标准的接口格式,比如csv,json,tcl array 等方便交互的格式。如果你使用自己的格式,就类似做了一次加密的过程,读取的时候就做了一次解密的过程,当然在追求某些目标,比如性能,保密性等方面可以,或者说必须这么做。从EDA 工具中来的Report 同样, Parser 的作用是获取Report 里的关键信息,可以直接使用这些关键信息,也可以输出给下一个应用使用。

不要嫌弃输出数据麻烦,输出数据的组织方便数据的共享,构建更加强大的应用。Report 使用Perl 来处理,Perl 有丰富的包支持很多IC 方面的数据,你也可以自己写Perl 包,或者Tcl 包,用于对Report 的处理。

想一想:获取Design 中所有Hard Macros 的Power Pin,以及所有Power Domains 的Power Structure,如何设计输出数据的结构。这些信息可以和前端设计做cross check,可以做为PG Analyze做分析的输入信息,可以给PV 做参考,共享的地方不少呢。

Photo

图片的应用也很多,比如Design Review 的时候,Custom Route 要Review ,Floorplan 要Review, Congestion Map 要Review,图片是IC 数据中必不可少的一个元素。

图片使用ImageMagic 来处理,这个号称Command Line 的Photoshop 可以做很多事情,比如图片的拼接,透明化,利用这两个特性可以将不规则的block 拼到top 。

还比如给图片添加Comment,这样你的程序读取图片就可以知道图片的内容,当然这个不是图像识别,而是给图片打Tag,详细的Tag。

还用统计的Chart 也是图片, 可以使用gnuplot 来生成,数据格式也比较简单,也是Command Line Friendly 的。

想一想:如何将一个不规则的Floorplan Snapshot,拼接到Top 中去,不使用EDA 的内置ILM 等功能,直接使用图片去拼接。

复杂数据

有一些格式比较复杂,如果自己写Parser 可靠程度比较低,可以使用EDA 工具,将Design 读入工具,利用商业工具做分析,导出简单格式,方便读取的格式再进行二次加工。

想一想:Verilog 有哪些可以进行Check 的地方,如果你是做APR,读入Verilog 和SDC 可以做哪些Check?

分立数据 vs 数据集中管理

虽然单独的数据看上去分立,但当数据分立并提供各自的接口以后,数据的统一变得容易,那么第一张图中数据的集中化管理变得容易,由于接口的通用数据类型,存入统一的数据库变得方便,获取数据并分析变得简单和可行。

编辑于 2017-05-23 14:02