论文部分内容阅读
随着半导体制造工艺的进步,工程师们可以在一个片上系统(SoC)上集成大量的IP(intelligent property),使得验证成为集成电路设计中最重要的任务之一,System Verilog为片上系统的软硬件协同验证提供全新的验证语言。做为IEEEStd.1800-2005标准,System Verilog提供了接口、类、断言(assertion)、覆盖率属性(cover property)、覆盖率组(coverage group)等,加速了SoC的验证。 本文对深圳市国微电子股份有限公司的SM0625项目进行验证,该项目利用ARM926EJ-S处理器,视频图像处理IP,中断控制器,DMA控制,AMBA总线等来设计SoC芯片。对该SoC的功能验证,我们采取了一种基于随机事件和覆盖率分析的软硬件协同验证的方案。在该方案中,以ARM926EJ-S为核心,控制软硬件协同验证环境的软件的工作,同时也负责与控制AMBA总线上的IP的通信。外部输入到被验证IP的激励利用System Verilog来设计。本文主要利用“灰盒”验证的方法验证中断控制器的工作。采用“灰盒”验证,就必须设计能够用来做“灰盒”验证的激励;对于功能覆盖率的收集,我们利用System Verilog中的覆盖率组(coverage group)和覆盖率属性(coverage property)来收集,对收集到的覆盖率数据是一个时间的函数,在验证的工具上可以直观的看到。在给定的验证周期内,如果没有达到验证所要的覆盖率数据,则该调整输入激励,在调整输入激励后,还无法提高验证覆盖率,则调整验证的时间的长度。对整个片上系统的验证,先通过系统功能划分,对SM0626中各个模块分别进行验证,最后再进行整个系统的验证,提高验证效率。 在SM0625中利用System Verilog验证语言,成功的实现了片上系统的软硬件协同验证,功能覆盖率到99%,为成功的实现芯片的投片做了准备。