论文部分内容阅读
随着现代微处理器规模和复杂度的不断增大,功能验证已经成为设计的瓶颈。有效的功能验证可以尽早发现微处理器设计错误,减小错误对设计的影响。目前,模拟验证仍然是验证的主要手段,但是完全手工生成用于模拟验证的测试程序效率低,已不能满足微处理器设计验证的需要。银河飞腾DSP是国防科大自主研制的一款采用超长指令字结构的32位浮点DSP,它指令集丰富,功能强大,已经过了投片试用。虽然成品的大致功能正确,但在前期的设计验证中没有使用规范系统的验证流程,对相关功能的正确性信心仍然不足。为了芯片能够工作于更苛刻的条件,更复杂的应用,本文研究了目前国际上验证的主要方法及发展现状,深入分析了银河飞腾DSP功能与结构特点,使用完善的功能验证理论为支持,使用专门的验证工具,对银河飞腾DSP进行了更加细致和精密的验证,设计了从模块级到指令级再到系统级的验证平台解决方案。在模块级,根据待测部件的特点,将模块功能分为控制功能和运算功能两个部分,并使用不同的激励生成方法进行验证。对控制功能,强调状态覆盖的特点,使用了带约束随机的直接激励验证方法。对运算功能,针对其数据量大的特点使用了指令级的定向生成的方法。对两个方面功能的验证中都使用了功能覆盖驱动的验证技术,提高了验证的效率。在指令级,通过分析验证的难点和需求,提出在指令模型的基础建立验证平台的方案。文中提出了一种层次化、模块化的指令级验证平台的框架,它指明了验证平台中各个层次的工作,为底层的指令模型定义了明确的接口。依照银河飞腾DSP的指令系统规范和验证平台的接口需求,建立了银河飞腾DSP的指令模型,并使用该指令模型对内核系统进行了系统的功能验证。在系统级,采用外接银河飞腾DSP真实运行所需外围设备的行为级模型的方法搭建模拟环境。在模拟环境中实现了外接设备的行为级模型、参数自动配置、激励程序自动加载,极大的提高了验证的效率。