个人认为,在开始后端工作的时候,抛开别的,首先要思考的就是我有什么,我要做什么,我要怎么做,我要做到什么程度。有了这个思路,下面将描述下我对数字后端工作每个阶段的简单理解。
1.Data Prepare
这一阶主要是对手头所拥有的文件,资料做一个整理。个人觉得这是后端工作重中之重的一个环节。大概要整理的内容如下图
首先是库文件,项目所用到的某一厂家的某一制成,会有相应一套完整的库文件。需要在其中选择项目要用到的,并把它们按照固定的分类规整的放置好。比如要用到的lef,包括tlef,stdcell的lef,mem的lef,ip的lef。根据要跑的corner,选择合适的lib,ss的lib,ff的lib等等。stdcell的gds以及其它ip的gds,日后要做的drc lvs的rule等等等等。
其次是前端交付的数据,例如网表,sdc。我个人觉得需要将每一版前端交付的数据按照日期放好,既是做个备份,同时也是留个心眼。当第二版数据来的时候也好有个对比。就比如前端告诉我新版本的网表优化了,面积小了。这时候我只需要打开网表看一眼行数,和之前的版本的网表行数做个对比。如果网表行数上新版都比旧版多很多,那我直接就可以反馈给前端网表可能有误,都不需要读入工具跑一下了。
最后就是积累的各种辅助性的脚本,参考文件之类的。
上述过程就是对“我有什么”做一个整理。正所谓磨刀不误砍柴工,当把手头的数据规规整整的放置好之后,日后需要什么就在专门的地方去取,会省特别多特别多的时间。可能大公司在这方面做得很完善,根本不需要我们去考虑,但是我还是觉得我这种小白应该“未雨绸缪”一下,万一哪天这些没准备好,我起码有个思路。我去整理的时候可能一次整理的不全面,日后还要返工临时去找一些文件,但经历这样一个过程,经验不就积累下来了么。