SoC Make Process

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/github_33678609/article/details/89881227
SoC Make Process

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(集成和验证阶段)

  • 批准批量生产或确认需要重新设计和计划重新设计
  • 最终产品中的工程样品的集成和验证
  • 最终项目报告
  • 存档数据

Tailoring for FPGA projects

Purpose

  • 在过程中原型通常可以被FPGA自身取代,所以原型测试可以在发布bit文件之前在目标硬件上测试fpga
  • IC2如果适合,应该指定FPGA的增量计划
  • IC5-8的审查点主要是适用于ASIC,可以删除或合并
  • 可编程FPGA,附加功能可以添加到最后的设计(IC4之后)
  • 根据复杂程度的不同,这些可以作为一个新的增量功能,需要返回到早期的IC阶段,或者需要一个全新的milestone/checklist
  • 在验证阶段,为了限制不可预测的迭代,一直以高质量的目标为要求,所以必须保证高质量不变的情况下修改checklist

猜你喜欢

转载自blog.csdn.net/github_33678609/article/details/89881227
soc