1 引言
芯片 设计业正面临着一系列的挑战:系统芯片SoC(System-on-a-Chip)已经成为IC业界的焦点,芯片性能越来越强,规模越来越大,开发周期越来越长,设计质量越来越难于控制,芯片设计成本越来越趋于高昂。
这种情形很像计算机界所面临的问题:计算机硬件处理能力飞速发展,而软件设计却受到越来越多的挑战,设计规模上不去,设计质量难于控制,设计周期无限延长 ……。正是这种状况,导致了软件设计方法学在开放性、可移植性、面向等方面的深刻变革。如今的软件工程,已经成为一门博大精深的科学,有很多系统的方法值得芯片设计业学习和借鉴。根植于软件业面向设计模式的IP技术被认为是最有前途的方案,以解决当今芯片设计工业界所面临的难题。
本文从IP开发和集成两个方面入手,重点阐述了IP的基本特征,IP的设计流程及设计中的关键技术,IP集成的一般考虑及集成的关键技术,IP模块的评估与选择等,并探讨了国内IP技术发展的一些思路。
2 IP开发
2.1 IP的基本特征
IP的本质特征是可重用性,其通常必然满足以下基本特征:一是通用性好,二是正确性有100%的保证,三是可移植性好。通用性好是指IP的功能在某一应用领域广泛通用,IP的实现一般满足子功能可配置、甚至可编程的特点,如最常见的IP嵌入式CPU模块就具有非常好的通用性。正确性有百分之百的保证是指IP的实现严格遵守一系列的可重用设计开发规范,IP的验证用例具有完备性,功能覆盖率、测试覆盖率都能够达到100%;并能够完全覆盖IP工作的临界条件,提供相应的大流量测试、随机性测试、甚至能够提供软硬件协同仿真的测试环境等。可移植性好是指IP的实现如行为描述、网表、GDSII文件具有可移植性,其设计输入可以在不同的开发平台上重现;综合用批处理文件具有可移植性,IP的综合结果可以用不同的综合 工具 ,在不同的综合库条件下正确重现;仿真用测试用例可重用,测试环境可以很方便的重现,IP的验证可以用不同的 仿真器 ,在不同的仿真库条件下重现。
2.2 IP开发流程
IP开发的流程主要包括两条主线:IP设计和IP验证。IP设计流程一般可划分为确定规格和模块划分、子模块的定义和设计、顶层模块的设计、产品化等四个阶段。IP验证流程包括了建立参照模型、建立测试平台和准备验证用例、回归测试、形式验证。图1是我们推荐使用的IP开发流程。
2.2.1 IP设计的四大阶段
(1) 确定规格和划分模块
IP的规格至少包含以下内容:概述、功能需求、性能需求、物理需求、详细的结构模块框图、对外系统 接口 的详细定义、可配置功能详细描述、需要支持的制造测试方法、需要支持的验证策略等。确定规格的过程一般又包括行为建模进行功能论证,可行性分析就性能和成本进行折中等活动。
划分模块是指规划师在给出IP结构模块框图的同时,对于每个子模块给出一个详细的功能描述,同时必须明确子模块之间的接口的时序要求。只有规划好,才能够建设好。确定规格和划分模块是IP开发是否成功最为关键的一步。
(2) 子模块定义和设计
设计小组对所有子模块的规格进行讨论和审查,重点检查时序接口和功能接口的一致性。设计者随后整沓鲎幽?榈南晗干杓品桨浮=酉吕瓷杓普甙凑帐迪址桨缚急嘈碦TL代码、编写时间约束文件、综合的批处理文件、子模块验证用测试平台(testbench)和测试套件(test suite)等。当这些工作完成并通过代码规范性检查、测试覆盖率检查、功能覆盖率检查、性能分析包括DFT、STA检查、功耗分析检查等验收以后,这个子模块就可用来与其他模块一起集成了。
(3) 顶层模块设计
顶层模块的设计就是把子模块集成起来,产生顶层模块,并对它做综合处理和功能验证。综合过程包括编写综合的批处理文件,在不同的参考库上综合,针对在制造上的可测试性插入扫描链、ATPG,并进行最终的性能分析和功耗分析等。验证过程包括根据由行为模型发展来的测试向量对顶层模块进行仿真测试,针对IP模块的可配置选项进行多种配置条件下的回归测试,利用仿真工具检验测试向量的覆盖率等。
(4) IP的产品化
IP产品化的过程包括以下几个部分:提供IP设计和验证用testbench,用商用 转换器 进行打包提交,但转换后需要重新验证,比如做回归测试以确保转换有效,并强调在几个主流仿真器上做仿真,在几种主要工艺库上做综合,做门级仿真,做形式验证以保证网表和RTL级的一致性,产生或更新用户文档等。如果是硬IP的开发,还需要在顶层模块(软IP)的基础上进行布局布线,版图提取,时序分析和形式验证,集成到试用该IP的原型芯片内进行试制投片,并在演示板上得到验证。
2.2.2 IP验证的主要过程
(1) 建立参照模型
这里的参照模型主要用于对系统功能进行验证以及和RTL模型的对照验证,是验证方法学提出的范畴。该模型可用SystemC/Specman E/Vera/Verilog/VHDL等语言来构造;
(2) 测试平台的建立
测试平台的建立是指与子模块设计并行,由验证组的一些成员开始搭建验证环境和开发测试用例,并针对IP的行为级模型对测试环境和测试用例进行调试,从而同步准备好用来仿真测试RTL级IP的验证环境和测试用例。
(3) 回归测试
回归测试解决的问题是设计在修改一个错误的同时,却引入了另外一个错误。回归测试保证在修改一个错误或加入一个新功能时,已经验证过的基本功能仍然正确。验证工程师应该注意在验证过程中找到一个错误,或加入一个新的功能时,要把它们对应的测试用例及时加入到我们的回归测试集中。
(4) 形式验证
形式验证是一种系统级的验证手段,不需要测试向量,而是根据“静态”地通过判断两个设计是否等价来确认它们的功能是否一致,因此,形式验证必须事先有一个参照设计。在IP验证过程中,前面建立的参照模型就是我们的参照设计。形式验证常用来判断一个设计更改后和更改前实现的功能是否一致。同时,形式验证也被用来确认综合后、插入扫描链后、版图提取后网表实现的功能前后是否一致。
2.3 IP开发过程中的关键技术
图2是IP开发的技术模型,它集中体现了IP开发的几个技术特征:一是IP规格的定义,二是IP模块的编码、综合、验证、文档开发等,三是IP开发过程中EDA工具的支撑,四是IP开发过程中的质量控制,五是IP打包提交技术,六是IP评测技术。我们认为,IP的规格定义,IP的验证、IP的打包提交是IP开发过程中的三大关键技术。
2.3.1 IP的规格定义
IP模块的规格定义必须能够解决以下问题:一是明确IP需要提供什么样的功能,性能需要达到什么样的技术指标。二是定义好IP模块与外部系统的接口。三是定义好该IP模块在可移植性方面所做的努力。四是定义好IP模块的面积和功耗等物理特性。这里我们只重点探讨IP与外部系统接口标准化的问题。
为了使开发的IP能够高效的集成到新的设计中去,标准化是必由之路。这包括IP模块接口的标准化,IP封装的标准化等内容。 方便快捷的连接各虚拟器件的方法是片上 总线 。然而太多的总线专利在使用,没有一个完美的片上总线能适应所有的情况。这是因为片上系统的环境和性能需求差异非常大。国际上VSIA组织的一个片上总线工作组先定义了各种片上总线的属性,然后定义了能够连接各种片上总线的Virtual Component Interface。IP模块接口只要遵从VCI规范标准,就能用一个接口设计而适应多个不同的片上总线。
本文关键字:技术 元器件特点及应用,元器件介绍 - 元器件特点及应用
上一篇:新型大容量温度数据记录器