论文部分内容阅读
随着集成电路行业的飞速发展,SoC的应用愈发广泛,因此市场对SoC的要求越来越高,这提高了SoC的设计规模和复杂程度,导致SoC验证工作面临着严峻的挑战。本论文结合作者在某半导体公司的实习项目,对SoC中TPM(Timer PWM Module,脉冲调节时钟发生器)模块的功能和接口进行研究并抽取了功能点,针对抽取的功能点完成了TPM的模块级验证工作,并将基于C-API设计的TPM VIP(Verification IP,验证知识产权核)连接至系统级验证平台完成了TPM在系统级的验证工作,同时对所设计VIP的可复用性进行了分析。在模块级验证阶段,详细探究基于UVM的IP模块级验证平台的搭建过程,根据TPM功能分析中抽取的功能点进行模块级验证工作。模块级的验证以覆盖率导向为准则,验证平台中集成功能覆盖测试组,在仿真过程中采样。验证平台支持随机化约束,配置Candence的Vmanager工具进行回归测试,完成大量的随机测试样点后收集结果,使用IMC工具分析回归测试结果的覆盖率,模块级工作完成后,代码覆盖率和功能覆盖率均达到100%。在系统级验证阶段,首先分析探究SoC设计过程中不同项目之间IP配置的通用性和特异性,进而提出TPM VIP的设计思路,将通用性的配置集成为库,特异性的配置设计成API,所设计的TPM VIP满足TPM模块的功能,C和System Verilog的交互基于C-API中的TRIGGER和MAILBOX机制,VIP中的C头文件和System Verilog模块通过Context API和模块实例化的概念连接到系统级验证平台,利用C和System Verilog中带参数宏定义的概念自动生成不同数量的配置宏参数和检测模块实例化。完成TPM VIP的设计之后,使用TPM VIP验证TPM模块在系统上的功能,既是对TPM模块在系统上行为的验证,同样是对TPM VIP的反向验证,在此阶段利用所设计的TPM VIP验证TPM在SoC系统上的交互行为是否正常,包括内核读取寄存器的测设、中断系统配合测试、DMA传输测试、交叉触发测试,同时配置系统特殊工作模式,对TPM在系统特殊工作模式下的行为进行了验证,在系统级的验证工作完成后,SoC上所有TPM实例化的端口翻转覆盖率均达到100%。设计的TPM VIP在运用到其他复用了TPM模块的SoC项目时,改变传递参数文件即可开始TPM在系统级的验证工作,在实际的项目操作过程中,可以实现在验证平台搭建完成一天之内将TPM VIP集成到验证平台中并开始系统调试工作的目标,大幅减少了开始系统级验证的准备时间。