本文主要记录一下芯片开发项目流程!
整个流程大体就是项目立项------>研发计划------>设计验证------>芯片制造------>封装测试------>发布管理。
1,项目立项,该阶段要解决的问题就是我们要做什么样的芯片?我们为什么要做这个芯片?我们能不能做成这个芯片?我们做的芯片能否取的商业上的成功?这个阶段主要就是市场调研以及讨论确认,解决掉这些问题。
2,有了前面的调研,那么我们对芯片的整体需求就了解了,接下来就是将这些需求转化成芯片的规格,比如芯片支持功能、性能指标、面积指标、功耗指标等。同时,芯片开发中的各个时间点以及人力规划也需要大体确认。另外,芯片中需要购入哪些IP和EDA工具,也得提前联系好;或者后端或部分功能外包给别人做,也得有计划安排。
3,一切都确认好了,就开始芯片的开发验证,分为前端和后端。
这个阶段,首先要输出设计文档,也就是FS(functional spec)------>AS(architecture spec)------>DS(design spec)。其中FS主要用于确认芯片功能点;AS则是根据FS抽象出的架构设计,性能评估/时钟/模块划分/IP/harden划分;DS又分为概要设计HLD(high level design)和详细设计LLD(low level design),ds文档直接用于指导编码工作,包含模块整体框图、功能描述、接口信号、流程处理、状态机、关键时序、ram/fifo、dfx等。设计文档写完后,就是coding了,包含功能编码、dfx、断言、注释等。验证在这个阶段也需要写对应模块的验证方案,以及搭建验证环境、写参考模型等。验证是否完成主要依靠覆盖率收集完成,包含行覆盖率、条件覆盖率、功能覆盖率、toggle覆盖率等。
验证完毕后,就是综合实现了,包含BIST、boundry scan、scan chain以及fomality形式验证,最终产生网表文件,到此前端的事情就完成了。
后端做的事情主要是准备好库文件(logic libraries、物理器件库milkyway)、工艺文件,完成floor plan(memory、IO)、power plan、harden连线、时钟树综合、布线等,通过EDA工具,将网标文件转化成版图,供芯片制造厂商使用。另外,后端也需要验证,包含后仿、LVS、DRC、ERC检测;后端验证流程遇到问题,需要通过ECO进行修改。
4,芯片制造则是根据版图,制造芯片。制造芯片的原材料是硅(半导体开关特性、易于提取),将硅制成硅锭,然后切割成晶圆,然后通过掩膜将电路光刻出来。
5,芯片制造完成后,就是封装测试了。