热度 4| ||
在APR岗位上已经工作一年半了,现在从自我的认识方面谈谈APR的工作内容和要求。
首先从大的行业分工来说,APR属于数字IC设计的后端工作。简单说说整个行业的框架:电子技术半导体行业,集成电路产业,数字集成电路芯片研发设计制造,前段逻辑设计>后端物理实现>仿真验证>流片生产>测试封装>产品销售;APR即属于数字IC设计的后端部分,主要负责使用EDA工具将前段给的RTL级网表经过floor&powerPlan,place,cts,opt,route等步骤得到时许满足,DRC,LEC,LVS,EPS等通过的gds文件,即可交与fundry厂流片生产。概括地讲主要工作就是这些。
但是在具体工作中的要求还是比较复杂的,每个阶段都有大量细节需要注意,因此项目经验和知识积累就显得尤为重要。
因为是中间环节,所以与人沟通也是很重要的技能。
数据准备阶段,netlist, LEF, DEF,SDC,PPA,lib,upf/cpf,qrc等文件等都是必备的,也需要我们了解各自的格式,功能作用;当我们接到design,首先要检查所需文件是否齐全,文件内容是否正确等。然后就开始建立工作环境,脚本,目录,权限,运行空间等。
进EDI阶段,需要自己建立viewDefination.tcl文件,然后initDesign,chack相应的内容等;摆floorplan,打power,placeDesign,CTS,route,opt等阶段都有许多工作。
进PT阶段,从EDI工具(soc_encounter/ICC)绕完线,做过时许优化之后需要进入PT工具来检验timing(对于时许收敛,业界多以PT的结果为准)。从EDI中保存def文件用StarRcX工具抽取spef文件(net的寄生参数,用来得到net的延时值),PT读取netlist,spef,lef,lib等文件,然后保存出session和sdf文件,同时分析power,timing,修setup和hold的violation和leakge,EM等问题。每一次OPT和fix_timing之后都需要作LEC检查,没问题再做DRC,LVS和EPS的检查。各项指标都合格之后就可以保存出gds文件tapout进工厂流片。
另:各家公司根据自己的情况采用的工具也有所不同。大多是工作在linux环境下,但是使用的EDA工具却不尽相同,比如有soc_encounter,有ICC,有innvos等,验证有ETS,PT等。虽然工具五花八门,但是工作流程思路基本一致。