论文部分内容阅读
随着半导体工艺水平步入深亚微米阶段,单个芯片上的晶体管数越来越多,现代数字系统变得越来越复杂,时钟频率也己经能达到千兆赫兹以上。越来越高的集成度使处理器体积变得更小内部结构更复杂。这种变化在给人们生活带来便利的同时,也使处理器的验证和测试变得更加困难。目前的芯片设计队伍中,验证人员一般是设计人员的两倍,验证所花的时间精力已占整个设计过程的一半以上,尤其是寄存器传输级(Register-Transfer Level,RTL)及高层验证已经成为整个设计过程的瓶颈。处理器的验证无疑成为了当今验证行业的一个巨大挑战。本文介绍在国家自然科学基金的资助下,由清华大学微电子研究所设计的具有超长指令字(Very Long Instruction Word, VLIW)体系结构特点的数字信号处理器THUASDSP2004的RTL级功能验证工作。THUASDSP2004处理器芯片内除中央处理器(Central Processor Unit,CPU)外,还包含有时钟产生模块、存储器、缓存、DMA通道以及外设设备。该数字信号处理器的CPU具有先进的VLIW结构内核、九级流水线,具有类似RISC的指令集,它的工作频率可达到150MHz以上。本文首先探讨集成电路测试验证的一般方法和处理器的功能验证方法;然后详细阐述笔者在用基于模拟的功能验证对THUASDSP2004处理器进行验证时所做的工作。本文叙述的内容用于构建基于模拟的功能验证(simulation-based functional verification)平台,该平台采用伪随机自动生成和手动编写相结合的策略获得测试矢量,再将处理器RTL级实现的模拟结果与周期级精确的仿真器产生的结果做比较来验证数字信号处理器的正确性。笔者主要负责测试矢量的生成和汇编器设计。在进行测试矢量生成时笔者选用已经公开的μGP软件核,通过编写向μGP提供指令信息的指令库生成大量伪随机测试矢量,接着通过代码覆盖率人工分析伪随机验证中的遗漏之处,手动编写测试矢量对验证进行补充。最后本文介绍了将汇编语言的测试矢量转换为机器代码的汇编器的设计实现。本文叙述的验证方法不需要验证人员对被验证处理器有深刻的理解,也不需要太多的人工工作,自动化程度较高。笔者所做工作现已经成功用于THUASDSP2004的功能验证,在比较短的时间内用相对少的测试矢量验证了处理器,最终达到99%以上的代码覆盖率。通过THUASDSP2004处理器流片的测试结果,已经证明本文所阐述的功能验