论文部分内容阅读
伴随着集成电路的发展,集成电路的设计也面临着越来越多的挑战。SoC(System on Chip)已经变成整个集成电路行业设计的趋势,SoC的集成度和性能都在不断提高,其设计周期也越来越长[1]。然而怎样缩短SoC的设计、验证和测试的周期,加快新产品面市的时间变成了一个重要的话题。另一方面,随着集成电路设计的复杂度提高,芯片的验证和测试也变得越来越困难。结果,芯片研发阶段的验证和测试的成本占了芯片整个研发成本的50%70%[2],提高验证和测试的效率成了减少研发成本的可靠手段。本文主要介绍一种基于FPGA的SoC验证测试系统,此系统主要被用于SoC芯片的功能和性能的验证性测试。此系统能覆盖SoC的性能验证,定位Bug和Debug所需的所有测试方法。SoC的接口非常复杂,接口类型灵活多变,芯片里面不同的IP在测试模式下可能需要不同的接口控制,FPGA是一种可以灵活设计数字接口电路的现场可编程逻辑阵列器件,可以设计与SoC相对应的接口实现对SoC的控制。系统的上位机软件可以实现良好的人机交互,并分析和存储测试结果。此系统包括硬件、软件以及SoC中各个IP的控制和测试方法。系统能对SoC所有的数字寄存器和片内SRAM进行扫描,验证芯片的所有寄存器是否都能被访问;通过与芯片对应的接口(如SPI,ADI,Function DMA,JTAG)对芯片指定IP进入测试模式,在测试模式下系统通过控制实验设备对芯片施加激励或采集信号,从而完成对芯片功能和性能的验证;系统可以通过JTAG口对芯片进行BIST测试和边界扫描测试;系统可以在PC与FPGA之间,PC与芯片之间,FPGA与芯片之间进行稳定的大数据量交互;系统可以实现测试数据的自动采集、存储、分析并上传到数据库;系统所能验证的包括USB2.0,USB3.0,MIPI,ADC,DAC,PMU单元(DC-DC,LDO,Charger等),片内SRAM,以及Aduio等IP;系统以FPGA为核心解决了硬件系统不可重用的问题,只需要改变FPGA的设计电路就可以针对不同的芯片进行验证性测试;采用上位机PC与下位机FPGA协同控制比一般测试系统的控制更加灵活,数据传输更加稳定;在系统中采用FIFO和片外SRAM协同工作解决了大数据量传输的稳定性问题。由于文章篇幅原因,本文着重介绍FPGA对SoC控制的接口设计和上位机软件与FPGA通讯的设计。