IP核开发流程
IP核开发流程
- IP核开发指南编写;
- IP核的设计;
- IP核的验证。
IP核开发指南编写
开发指南一般包括以下几个部分:
- 目录结构管理规范;
- 可交付项规范;
- 文档结构规范指南;
- 文档书写标准;
- 验证平台开发指南;
-
Verilog HDL
编码指南。
集成电路IP核标准体系:
在IP核的开发过程中,都要遵循IP核的各项开发文档进行,IP核开发文档有:
- IP功能说明——
IP Functional Spec.
- IP设计文档——
IP Design Doc.
- IP验证策略——
IP Verification Doc.
- IP简介文档——
IP Brief Doc.
- IP应用文档——
IP Application Doc.
- IP交付文档——
IP Deliverable Doc.
IP核的设计
确定IP核的规格
IP核的规格至少包括以下内容:
- 概述
- 功能需求
- 性能需求
- 物理需求
- 详细的结构模块框图
- 对外系统接口的详细定义
- 可配置功能详细描述
- 需要支持的制造测试方法
- 需要支持的验证策略
确定规格的过程一般有包括行为建模进行功能论证,可行性分析就性能核成本进行这种等活动。
进行模块划分
划分模块是指给出IP结构模块框图的同时,对于每个子模块给出一个详细的功能描述,同时必须明确每个子模块之间接口的时序要求。
只有规划好,才能够设计好。确定规划和划分模块是IP开发是否成功最为关键的一步。
进行子模块定义和设计
设计者对所有子模块的规格进行讨论和审查,重点检查时序接口和功能接口的一致性,随后整理出子模块的详细设计方案。
接下来设计者按照实现方案开始编写RTL
代码、编写时间约束文件、综合批处理文件、子模块验证用测试平台testbench
和测试套件test suite
等。当这些工作完成并通过代码规范性检查、车市覆盖率检查、功能覆盖率检查等验收之后,这个子模块就可用来与其他模块一起集成了。
进行顶层模块设计
顶层模块设计就是把子模块集成起来,产生顶层模块,并对它做综合处理和功能验证。综合过程包括编写综合的批处理文件,在不同的参考库上综合,针对在制造上的可测性插入扫描链、ATPC
,并进行最终的性能分析和功耗分析等。
IP核的产品化过程
包括以下几个部分:提供IP设计和验证用testbench
,用商用转换器进行打包提交,但转换后需要重新验证,比如做回归测试以确保转换有效,并抢到在几个主流仿真器上做仿真,在几种主要工艺库上做综合,做门级仿真,做形式验证以保证网表和RTL
级的一致性,产生或更新用户文档等。
IP核的验证
对于IP 核的验证,主要是建立参照模型和测试平台,然后进行回归测试和形式验证。
这里参照的模型主要用于对系统功能进行验证以及和RTL模型的对照验证,该模型主要用Verilog HDL
等语言来构造。
测试平台的建立与子模块设计并行,搭建验证环境和开发测试用例,并针对IP核的行为级模型对测试环境和测试用例进行调试,从而同步准备好用来仿真测试RTL级IP核的验证环境和测试用例。
回归测试解决的问题是设计在修改一个错误的同时,却引入了另外一个错误。回归测试保证在修改一个错误或加入一个新功能时,已经验证过的基本功能仍然正确。验证工程师应该注意在验证过程中找到一个错误,或加入一个新功能时,要把它们对应的测试用例及时加入到回归测试集中。
形式验证是一种系统级的验证手段,不需要测试向量,而是根据“静态”地通过判断两个设计是否等价来确认他们的功能是否一致,因此,形式验证必须事先有一个参照设计。在IP核验证过程中,前面建立的参照模型就是我们的参照设计。形式验证常用来判断一个设计更改后核设计更改前实现的功能是否一致。同时,形式验证也被用来确认综合后、扎入扫描链后,版图提取后网表实现的功能前后是否一致。
总结
在IP核开发过程中,同样面临着许多关键技术,比如,IP的规格定义、基于接口的设计、IP核测试存取结构标准、IP核的验证及打包等。
转载文献
[1] 王涣. IP核标准和开发流程[J]. 微处理机, 2013, 34(6):16-17.