• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

一个完整IC项目需要走过的流程

开发技术 开发技术 2周前 (04-06) 8次浏览

 

第一阶段、设计准备

       1. 需求分析:市场调研,同功能芯片功能比较。

       2. 定架构:选择合适的CPU、总线类型、各类型IP(RAM、ROM、EEPROM、EFUSE、晶振、PLL)、接口(I2C、spi、uart、Jtag、swd)、

                         协议、算法、看门狗、定时器、中断、时钟复位管理、电源管理、 模拟电路(电源电压、ADC、charge pump、FET)。

       3. 撰写文档:总体描述功能,画出系统架构、系统状态跳转图,详细描述各个模块功能、寄存器,给出功能设计图、时序图。

第二阶段、方案实施

       1. 代码实现:根据以上设计准备阶段指定的设计方案 ,工程师在规定的时间内完成代码实现。

                             在实现过程中,要考虑:面积、速度、clock gating、CDC、latch等设计要点。

       2. 功能前仿:在完成代码实现之前和过程中,验证工程师根据设计方案中每一个功能点写出验证case,并统计覆盖率,保证代码里的branch、line、

                             toggle、FSM等都有覆盖到。

第三阶段、时序分析 

       1、综合:在完成代码实现和功能仿真后,根据设计方案,制定时序约束文件,综合工具依据时序约束文件生成网表和SDC文件。

       2、等效检查:利用等效工具,比较RTL代码和综合生成的网表,检查两者一致。

       3、静态时序分析:

第四阶段:布局布线

       1、网表、库文件:完成第三阶段后,向Layout house提供网表和功能实现过程中用到的库文件,其包括:

                                     a. 工艺PDK 

                                     b. stdcell库数据(lef、lib、cdl、gds)

                                     c. 验证规则文件(drc、ant、lvs)

                                     d. QRC techfile

                                     e. 网表和SDC

                                     同时,还要提供block形状、面积、PIN坐标。

       2、功能后仿:提供上述文件后,layout house将进行PR,生成带延时信息的网表和各种Corner的SDF文件。在拿到网表后,需要使用网表进行功能

                              一致性检查、静态时序分析,并检查spare gate是否被加入到网表里面。

                              然后利用这个网表和sdf文件,进行功能后仿(测试用例使用之前功能前仿时的case)。 如果发现时序违例,就要分析违例原因。根据

                              违例原因类型,可以采取修改部分代码、ECO、PR修复等方式来解决违例。

                              如果需要修改代码或者ECO,在修改完后,需要重复第三阶段过程,并将综合的网表再次提供给layout house,layout house返回网表和SDF后,

                              重复上述检查和仿真;如果进行PR修复,那就是直接由layout house进行修改,layout house返回网表和SDF后,重复上述检查和仿真。

第五阶段:signoff

         1、review:当上述步骤完成后,还要召集相关designer一起review,确保所有设计都是正确无误的。

                            a. 确认所有功能都与设计方案一致。

                            b. 确认所有功能点都有仿真激励覆盖到。

                            c. 确认所有IP的GDS、PIN连接、电源供电、时序关系。

                            d. 确认D2A、A2D端口的名称、方向、位宽。

                            只有上述几项都确认无误,最后才能tapeout。

                      

 


程序员灯塔
转载请注明原文链接:一个完整IC项目需要走过的流程
喜欢 (0)