一种基于SoC/IP验证平台的设计实现

点赞:18920 浏览:83909 近期更新时间:2024-01-31 作者:网友分享原创网站原创

1.引言

随着芯片设计业、制造业的不断发展,芯片的集成规模越来越大,系统芯片(SoC, System-on-Chip)成为21世纪集成电路技术的主流[1].SoC是指在单块芯片上集成微控制器、IP(Intellectual Property)核、存储器等多个功能模块,实现整个系统的功能.通过提高芯片的集成度、降低芯片的数量和印制电路板连线,来提高系统的工作性能,同时降低了开发费用,缩短了开发时间.

通常采用基于IP复用的设计方法在SoC中集成大量的IP模块,避免了大量重复的设计工作[2].该方法在提高设计能力的同时,也使得验证在SoC开发流程中的作用越来越重要.但随着硬件设计复杂度的增加,验证过程也变得更加复杂.根据硬件开发的实际工作量进行统计表明,验证工作占到设计总量的70%以上,验证平台代码占代码总量的80%左右,从而使得验证成为硬件开发过程中一个新的研究目标[3,4].随着验证要求的不断提高,验证工作逐渐得到硬件开发人员的重视,相关研究和应用主要从验证平台的结构设计和实现方式两个方面展开.


保证功能正确是仿真验证的首要目标,建立验证平台是仿真验证的必要条件.就SoC/IP验证而言,设计结构灵活的验证平台既能够实现SoC/IP功能验证的高效性,又能够确保SoC/IP功能验证的完整性.本文将讨论基于SoC/IP验证平台(TB, Test-Bench)的设计与实现技术.

2.层次化验证方案研究

层次化方法是解决复杂问题的有效方法.针对验证过程的复杂性,采用层次化方法对验证过程的重要环节进行优化和改进,制定层次化的SoC/IP验证方案.

对于复杂的SoC/IP仿真验证,主要包括验证平台的结构设计、验证平台的实现、验证激励的产生、验证文件的管理以及验证步骤的设计等五个环节.验证平台结构是进行SoC/IP仿真验证的基础,决定了验证平台的基本性能;验证平台的实现方式则是指采用何种验证语言完成验证平台的代码设计,验证语言的使用特性也就间接决定了验证平台的建立速度;验证激励的生成对于验证质量具有直接影响,激励的生成效率也决定了验证的效率;验证步骤的设计对于验证执行过程的复杂性具有重要影响,有条理的验证步骤能够极大简化验证过程;验证文件的有效管理便于验证过程的控制,在提高验证效率方面起到更好的促进作用[5].

本文将层次化方法应用到硬件设计的验证,特别是上述硬件设计的仿真验证,从而系统化地指导SoC/IP仿真验证的全过程,降低验证过程的复杂性,提高验证质量和效率.

3.层次化验证方案设计

层次化验证方案就是利用层次化方法优化验证的全过程,主要针对验证的五个重要环节,验证平台的结构设计、验证平台的实现、验证激励的产生、验证步骤的设计以及验证文件的管理等,进行层次化设计、实现或控制,以满足SoC/IP的功能验证需求,达到提高SoC/IP质量和效率的目的.

验证平台的层次化结构.验证平台的层次化结构是指采用基于事务的验证方法,将验证的抽象层次从底层物理级提升至顶层事务级,将验证平台结构分层,每个层次实现不同的功能且相互独立,简化验证控制过程.

从基于事务验证的角度来分析,验证平台的层次化结构共分为五层:信号层、命令层、功能层、场景层和测试层.测试层包含测试案例,控制验证过程;场景层实现事务级激励的生成;功能层用于功能组件的连接;命令层实现验证激励从事务级到物理级的转化;信号层实现验证平台与DUV之间的引脚信号连接.

验证平台的层次化实现.验证平台的层次化实现是指利用支持面向对象编程技术的验证语言进行验证平台的层次化编码实现.面向对象技术的重点在于利用层次化抽象思想进行验证平台功能的层次划分,然后针对每一层次所要实现的功能进行类的划分,利用类的定义实现基本功能.基于类结构建立低层次的测试案例和验证组件,利用类的调用组成上层的测试集和验证平台,然后组成整体的验证环境.当验证平台功能改变,需要对验证组件的功能进行更改或升级时,就可以利用类的继承性对当前组件进行扩展,实现新的功能.

验证激励的层次化生成.验证激励的层次化生成是指采用带约束随机验证方法,对事务级激励进行层次化设计,按照事务的复杂程度,实现从易到难的层次生成,在降低事务级激励生成复杂度的同时,也易于对验证进度进行评估.针对SoC/IP验证的特点,对于IP模块进行验证时,采用总线接口驱动IP模块,提供验证激励.总线接口信号的变化都是不同总线操作类型的具体反映,通过总线操作类型间接控制总线接口的编号,也就是将底层信号抽象成不同的总线操作事务.因此,可以将总线事务按照不同的复杂性进行层次划分.

验证步骤的层次化设计.验证步骤的层次化设计是指根据所需要验证功能的复杂程度和重要性的不同,将验证步骤按照由易到难的顺序进行层次划分,然后逐层进行验证.使得每一层建于其它层次之上,以便在完成低层次测试后能够快速向高层次进行扩展.在低层次验证完善的情况下进行高层次验证,验证层次逐渐提高,能够确保功能验证的完整性.

对于SoC芯片的整个验证过程来说,按照模块级、系统级、芯片级验证的顺序进行.先验证各个IP模块自身的功能,确保正确无误的情况下再进行系统级的模块互连测试,然后再将硬件与软件设计结合,进行芯片级的验证.

验证文件的层次化管理.验证文件的层次化管理是按照验证文件的使用性质进行分类,利用层次化的目录结构进行保存.可以根据文件的使用性质,将整体验证环境包含的所有文件进行归类和划分.可分为设计目录、验证目录、工具目录、运行目录四个目录.将所有的验证文件都保存上述目录中,当目录下文件较多时,还可以进行更深层次的划分.利用层次化的目录结构使得验证文件的管理条理化,便于对验证文件的维护;同时便于在进行SoC/IP功能验证时,进行验证文件的调用和脚本文件的编写.

综上所述,本文采用层次化验证方法全面应用于仿真验证的全过程,制定层次化的验证方案进行验证过程进行系统化的优化和改进,能够具体指导仿真验证的实施,从而利于全面提高后续的SoC/IP验证的质量和效率.

4.SoC/IP验证平台设计实现

根据上节分析,本文进行验证平台结构的模块化和层次化设计,将基于总线的验证平台和层次化验证平台的优势进行综合,设计用于SoC/IP验证的高性能验证平台.首先将验证平台需要实现的功能按照层次化总线进行划分,然后利用层次化结构进行实现.

图1展示了基于AHB总线的层次化验证平台结构.与单纯的层次化验证平台的不同之处在于,将通用的基于AHB总线的生成器、驱动器、监视器等验证组件代替专用的验证组件,以便在验证其它AHB设备时进行重用.其中,测试案例主要完成对整个验证环境的配置;AHB生成器产生所需要的AHB总线事务激励;AHB驱动器、AHB监视器、检查器等实现验证激励的施加和验证结果的检查功能.覆盖模型是验证平台的重要部分,以便判断搭建的验证平台是否达到了预期的功能.在覆盖模型中定义了一系列的功能覆盖点,覆盖模型会在验证过程中自动对这些点采样,最后统计出覆盖率报告.利用断言能够对设计属性进行准确描述,对底层信号的协议行为进行高效的判断.利用该验证平台能够完成与AHB连接的协处理器模块、NFC控制器、自定义接口等设计模块的验证.

对于APB总线上的串口、看门狗、低速通信接口等设计模块的验证,可以利用APB驱动器、监视器/检查器代替当前的AHB验证组件,同样能够实现在同一验证平台中对所有APB模块进行验证.

由此可见,由于采用基于总线的验证结构,开发基于特定总线的验证组件,只要总线相同就可以在不同的SoC/IP之间实现组件重用验证.特别是在模块级验证过程中,由于具有相同的总线接口,只需要更换或修改部分验证组件,就可以对多个模块进行验证,加快了模块级的验证进度,明显降低SoC验证过程中的复杂性.另一方面,层次化的验证结构,易于实现事务级管理.层次化特点从结构上提供了抽象空间,总线特征使得抽象功能更加具体化,易于建立事务级激励和功能模型,也易于实现自动化的验证过程控制、减少人工干预,从而提高验证效率.

一种基于SoC/IP验证平台的设计实现参考属性评定
有关论文范文主题研究: 关于层次的论文范文资料 大学生适用: 学位论文、在职论文
相关参考文献下载数量: 95 写作解决问题: 怎么写
毕业论文开题报告: 论文任务书、论文设计 职称论文适用: 期刊目录、职称评初级
所属大学生专业类别: 怎么写 论文题目推荐度: 优秀选题

5.结束语

本文针对SoC/IP验证平台进行研究与设计,首先,基于SoC/IP验证流程的分析,设计了基于层次化方法的验证方案,利用层次化方法指导验证的整个过程,对平台结构、代码实现、激励生成、文件管理、验证步骤等五个重要进行优化和改进,有效降低了验证复杂度.其次,结合基于总线的验证平台和层次化验证平台,设计了具有较高重用性和灵活性的SoC/IP验证平台结构.基于总线的层次化特征可以从横向和纵向两个方面优化验证平台结构,科学高效的激励生成机制、过程控制机制和结果检查机制使得验证过程更加清晰化、条理化,便于实现自动化验证.