Keywords:
High Quality, Milestone, DB, Checklist,Plan,Flow
Purpose
- 定义开发SoC的流程,并且为SoC设计提供指导
Scope
- 为所有参与SoC定义和开发的人准备的
- 所有SoC(ASIC 和 FPGA)开发项目都将会使用这个过程
Principles
- SoC开发流程模型是以SoC分层开发为原则
- 在理想情况下,SoC制作项目从IP库中找到需要的IP和子系统模块,修改配置并适用于该项目。
- SoC的审查点要与DB保持一致
- 设计的成熟度需要在文档中体现出来
- 缺少某些文档不应该阻止checklist的进行,而是应该来跟踪缺少文档的完成度
- SoC开发流程可以根据合理的原因去调整流程。
- SoC开发项目团队在发布计划中计划不同的执行流(建模、设计、验证 & 原型、软件和实现)
- 项目过程是基于发布的计划来跟踪的
IC0
Purpose(启动审核)
- 确定需求,框架和源码库(数据库)的阶段(管理人员需要对项目有高层次的理解)
- 检查所有可用的和足够熟练度的输入
(系统架构,硬件架构,软件架构和平台需求
) - 检查团队成员的输入是否可用,并根据可用的输入进行工作
- 批准项目章程
- 明确说明项目的目标计划
IC1
Purpose(需求,架构)
- 设计DB v1.0.0
- 定义一个直到IC2的详细计划,和一个直到IC7的粗略资源分配计划
- 完成需求规范和架构规范
- 定义与其他项目的依赖关系
- 软件性能和区域分析(软件部分的架构定义)
- 验证策略和验证计划(创建)(验证范围直到IC2)
IC2
Purpose(项目计划,初步的DB阶段)
- 提交详细计划,及直到IC7的资源分配计划
- 设计 DB v2.0.0 (初步 DB 发布)
- 创建SoC软件需求和SoC软件体系结构文档
- 全 SoC 项目的硬件设计规范
- 定义硬件/软件接口
- 最终的验证策略
- 初步验证环境
- 初步功能 RTL
IC3
Purpose(试用DB阶段)
- 设计DB v3.0.0(发布试用版DB)
- 完成最终参考模型发布
- 创建的硬件/软件集成环境 (原型生成)
- 定义所有约束以允许最终设计活动
- 最终的验证计划
IC4
Purpose(最终DB开发阶段)
- 设计DB v4.0.0(最终DB发布)
- 完成最终的软件需求
- 完成 RTL 代码
- 最终 bitfile 生成和发布 (仅限于 FPGA)
- 启动可用的 ROM SW 代码
- 100% 验证覆盖范围,并且验证结束
IC5
Purpose(物理实现阶段)
- 在门级验证中启动 ROM SW 代码
- 更新项目报告并吸取教训
- 文件需要在相关文档和文件评审计划中定义
- 验证报告 (incl. 门级)
- 工程样品测试计划
IC6
Purpose(工程样品bring-up阶段)
- 工程样品生产 (专用 ASIC)
- 工程样品bring-up,并允许发布程序到I&V
- 重新设计、re-spin 或发布程序到I&V
- 确认继续测试
- 验证报告 (已更新)
IC7
Purpose(工程样品验证阶段)
- 工程实例功能验证和性能验证
- 确认继续进行产品级测试 (I&V 测试), 或重新设计
- SoC 软件体系结构和软件 API 用户指南 (最终)
- SoC 软件源代码 (最终版本)
- 经过测试/验证的工程样品
IC8
Purpose(集成和验证阶段)
- 批准批量生产或确认需要重新设计和计划重新设计
- 最终产品中的工程样品的集成和验证
- 最终项目报告
- 存档数据
Purpose
- 在过程中原型通常可以被FPGA自身取代,所以原型测试可以在发布bit文件之前在目标硬件上测试fpga
- IC2如果适合,应该指定FPGA的增量计划
- IC5-8的审查点主要是适用于ASIC,可以删除或合并
- 可编程FPGA,附加功能可以添加到最后的设计(IC4之后)
- 根据复杂程度的不同,这些可以作为一个新的增量功能,需要返回到早期的IC阶段,或者需要一个全新的milestone/checklist
- 在验证阶段,为了限制不可预测的迭代,一直以高质量的目标为要求,所以必须保证高质量不变的情况下修改checklist