论文部分内容阅读
随着IC产业的高速发展,以IP核复用技术和超深亚微米工艺为支撑的系统芯片(简称soc)技术,是当前嵌入式电子产品和超级大规模集成电路设计的主流。芯片的协议变得越来越复杂,规模也越来越庞大,soc芯片通常都有数据众多的输入输出端口并且还需要传递海量的数据。由美国EXAR公司生产的PANTHER系列芯片是一款高性能的soc芯片,使用该soc芯片时,能在不影响电脑速度的情况下,对海量数据处理的速度能达到使用市场上一般大型软件的成千上万倍。而在这种百万甚至上千万门级的soc设计中,为了保证项目成功,功能验证消耗了整个设计投入的大约70%,已经成为项目的关键路径。如何解决芯片的验证效率和验证质量已成为当今芯片设计的当务之急。本文基于公司项目的实际工作,以PANTHERII项目中作为核心算法处理的子系统SKcore为例,首先介绍了数据压缩算法和功能验证的发展现状以及选题的依据和意义。然后详细介绍了SKcore子系统的组成和算法的基本原理,具体阐述了Skcore子系统的几个构成模块PP、引擎流水线和多路分配器,分别介绍了各个模块的基本构造,并举例阐述了Skcore子系统引擎流水线模块中的主要算法之一——eLZS压缩算法的基本原理,该算法也是EXAR公司的专利算法。然后详细介绍了SKcore子系统各部分的数据结构和压缩算法引擎的实现过程,给出了使用verilog语言实现的各模块最终波形结果。同时,文中也介绍了Synopsys公司最新开发的验证方法学VMM的几个优点,包括VMM具有的层次化的验证平台,支持自顶向下和自底向上的方法,使用覆盖率的检测来驱动验证的执行过程和使用断言的方法等。最后结合Skcore子系统的设计并根据各模块需要实现的功能,利用高级验证语言system verilog搭建了验证Skcore子系统的验证环境,包括验证顶层,场景层,命令层,功能层,信号层和测试层的实现和具体的调试过程。以覆盖率统计为目标,对验证结果和覆盖率进行分析,并对验证过程积累的经验和验证结果进行了总结。