小白后端工程师成长记——项目角色
大家都知道,作为一个芯片后端设计师,最重要的一项技能就是丰富项目经验,那接下来一段时间,我就和大家来介绍一下,一个项目里是包含什么内容的。
可能大家会不以为然,认为做项目么,只是按部就班timing, physical, power sign off就可以了。其实并不是这样,在芯片规模越来越大的今天,一个项目从一开始到最后结束,通常需要大半年甚至一年时间,各个team如何在这么长的时间内分工合作,最终完成芯片的投产,这是一门艺术。
大家平时应该会玩游戏,我们应该知道游戏中一个团队去攻打一个Boss前,队员职责的分配是尤为重要的。肉盾,辅助,输出,每个人各司其职,才能合作完成任务。后端设计也是一个大型团体项目,大家坐在一起,玩命搞,才能做好后端。因此,项目的开始之前,我们首先需要建设一个规范的团队。接下来,我给大家先介绍一下,这个团队中有哪些角色?这些角色在整个设计周期里面是怎么样分工合作,来完成这样一个芯片的。
来看下图,我给队伍划分成这样几个角色
PM:Project Manager,就是我们经常说的“项目经理”。项目经理做啥?就是制定各种schedule。专业一点来说:就是在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。即开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。按高帅的说法,PM就是吊打和被吊打的角色,被客户和老板“吊打”,然后“吊打”你。
TL:Technology Leader, 技术领导者。就是团队中技术最牛逼的大牛,负责规划和指引整个设计方向,带领大家走向胜利。
Timing: Timing Engineer,还有一个更好听的名字,叫做Design Center Engineer. 以前timing engineer的任务可能不光就是STA分析,还得承担部分DFT的任务,随着design规模越来越大,现在一般更关注于top timing的分析以及帮助前端完善timing constraint等。
PD:Physical Design. 就是传统意义的PR。一般会分为Block的PD engineer和top的PD engineer. Block owner通常会负责2~3个block的floorplan, physical design,和部分timing signoff的工作。Top owner责任更加重大一点,因为通常top要比block大许多,而且clock的data flow更加复杂。
PV:Physical Verification。物理验证,主要负责top level的DRC/LVS验证,该项任务责任重大,项目早期需要有经验的同事去尽量早的检查DRC。还有辨别哪些DRC是可以waive,分配给具体的block owner去修理。
PA:Power Analysis。功耗分析,主要负责top level的power分析,包括IR drop和EM分析,分析block中的hot点。
DFT:Design for test. DFT应该是相对独立的一个部门,但还是和我们后端设计息息相关的。对一些新工艺,我们可以通过DFT一些诊断手段来发现芯片的问题,提高vendor的良率
CAD: Computer Aided Design, 也就是我们经常说的Methodology。主要工作是写脚本,是很重要的一个角色。项目中用到的flow script,以及需要的脚本support都由他们来负责编写。
除此之外,整个team中还会有各种各样的support角色,包括library, IP, IO, manufacture等support,特别是一些复杂IP(Serdes, DDR等)的support。这些角色呢,可能大公司分得更细,小公司需要承担的任务更多些。但是不管怎样,大家一起奋斗,相互围坐在一起半年多,攻克各个难题。虽然过程很痛苦,但是等到芯片真正tape out了,才发现以前的辛苦没有白费。
简历请戳邮箱:taozhang326[email protected]163.com