IP设计流程大致分为六个核心阶段:
规格和划分 - 这是我们常说的"理解需求"阶段。团队必须深入理解初始规格,然后将设计划分为可管理的子模块。通常会开发行为模型并对其进行验证,尤其是在算法密集型设计中。这也为模块提供了初始验证环境和验证套件。
子模块规格和设计 - 一旦功能划分完成,设计就需要为子模块开发功能规格,并重点关注与其他子模块接口的时序和功能。所有子模块的规格都需要经过团队审查并检查一致性。然后进行RTL编码、详细时序约束、综合脚本以及测试平台开发。
测试平台开发 - 与子模块开发并行,团队的一些成员将行为级测试平台完善为可用于整个IP RTL级验证的测试平台。
时序检查 - 设计团队必须不断检查子模块的时序预算,确保它们一致且可实现。
集成 - 将子模块集成到IP模块中,生成顶层网表并用于功能测试和综合。综合过程包括验证IP是否满足可制造性测试的要求。
产品化 - 在产品化阶段,团队准备将IP交付给SoC集成团队使用。软核和硬核的过程有所不同。