论文部分内容阅读
验证(Verification)一直是芯片设计领域中最困难和最具挑战性的课题之一,它是芯片设计过程中发现概念上、功能上或实现上的错误的唯一手段。从设计开始到设计综合、系统软件、逐步求精和调试等阶段,验证是贯穿芯片设计全流程的重要组成部分,而不是只在设计完成后才考虑的事情。大量的统计表明,验证工作约占总设计工作量的50%~80%。随着芯片规模的指数上涨,验证能力已经远远落后于设计能力,并且正在成为制造功能更复杂、规模更庞大的芯片的瓶颈。
本文是根据语音识别芯片的对验证的特殊要求,对OpenRISC免费开放源代码的MCU软核和自主开发的DTW语音识别IP核为基础的语音识别芯片进行了全面的验证,搭建了测试平台,分析了OpenRISC模块和WISHBONE总线模块等IP模块的验证过程,测试语音识别系统的各项性能参数,强调模块级和系统级测试的不同重点,并总结了这块芯片的验证工作中的成功和不足。具体工作包括以下几个方面:
1.详细分析了当前工业界常用的验证方法和验证策略,研究、分析语音识别芯片内部各个功能模块的性能、接口定义,对各个阶段的验证时间以及验证目标做出评估,制定出合理的验证方案。
2.针对OpenRISC提出了指令测试和功能模块测试相结合的测试方法。根据微处理器核的指令集特点,设计指令伪随机生成的方法,在指令测试中采用了手工验证指令和随机验证指令相结合的测试方法,有效地提高了验证程序的覆盖率。
3.建立模块验证测试平台,编写测试功能模块的验证程序,并针对验证结果进行分析。其中MCtJ的语句覆盖率达到了99.8%,Wishbne总线的语句覆盖率达到了99.7%。
4.建立基于FPGA的硬件仿真环境,验证了语音识别芯片的各项功能。在该仿真平台上实验,实验分为特定人和非特定人,在30个模板和100个模板时,特定人识别率分别达到93%和77%,响应时间少于2s,达到了芯片设计的性能要求。