论文部分内容阅读
随着集成电路已经进入后摩尔时代,电路的复杂性日益提高,因此验证工作的难度也越来越高,随着验证要求的提高,在实际生产中,传统的直接验证已经越来越难以满足设计的需求。为了使产品更加具有竞争力,在激烈的市场竞争中获取有利地位,在确保功能正确的前提下,提高代码复用率,缩短验证周期成了各个公司缩短产品上市周期的重要方法。为此,就需要采用更有效的验证方法,使得验证工作更加有效。在市场的驱动下,验证工作日益成熟,渐渐独成一体。基于System Verilog的UVM验证具有很高的抽象性,可以通过产生受约束的随机激励来提高代码覆盖率,使得验证效率大大提高。此外,由于UVM各个模块功能划分明确,使得各个模块具有一定的独立性,这样可以很好的提高代码复用率,从而在长远上,大大缩短后期新开发的产品上市周期。由于以上各项优点,基于System Verilog的UVM验证已经成为多家IC公司验证的主流,并且还在不断发展。本文的验证对象是在华虹集成电路有限责任公司实习时所参加的TPCM项目中的一款MCU中的由公司设计人员自主设计的UART(通用异步收发传输器)模块。此款UART是在通用UART的基本功能上加以增强而来的,相对于通用UART,多了多机通讯以及错误位检测功能,并且多了模式0,在数据帧结构上有所不同。通过对UVM验证平台的基本组成,常用的标准库进行学习研究,并对各个组成模块的功能以及各个模块间的联系进行分析研究,利用UVM验证方法学,搭建适合UART验证的环境,并且为后期系统级验证做准备,在搭建验证平台时采用AMBA2.0总线架构,虽然这会增加验证平台的搭建难度,但是提高了代码复用率,是本文的重点。通过对UART功能进行研究分析,分析UART的工作特点,利用UVM验证方法学的特点,由Sequence模块产生相应的受约束的随机激励,通过Monitor模块监视需要验证的UART模块的输出,并且由Scoreboard模块进行结果自动比较。在验证平台搭建完成后,为了排除由于验证环境的问题而导致的结果不正确,需要对验证平台进行调试。在这之后,加入待验证的UART。为了确保验证结果的正确性,对于最后的输出波形,选取具有代表性的波形进行分析。在企业导师的带领下,使得验证方案有计划变为现实,功能覆盖率达到100%,课题顺利完成。