论文部分内容阅读
指令集模拟器(Instruetion Set Simulator)是用来在一种体系结构的计算机上执行另一种体系结构计算机软件的程序。它用软件模拟目标机指令集体系结构的所有指令执行的功能,从而达到和在目标机上执行同样的功能和结果。本文介绍了用指令集模拟器来模拟未来DSP内部的功能和DSP的指令以检测设计方案是否正确的技术。该技术通过用C++语言对指令集架构(ISA,Instruction set architecture)建模完成指令集模拟器的设计,并经过工程化的测试证明了其正确性。
指令集模拟器是开发可编程结构所必不可少的工具,特别是在SoC结构设计空间探索,早期系统设计验证和SoC软硬件协同设计等方面起着非常重要的作用。随着IC设计自动化程度的提高和芯片集成度的上升,验证工作的复杂度和工作量呈指数趋势上升。系统实现部分的RTL代码每多一倍,验证的工作量往往要增加到四倍甚至更大。传统验证方法的很多劣势在当前大规模的DSP处理器的验证中凸现出来,如何提高验证效率和节省验证代价成为一个新的挑战。本文为此提出一种验证方法,用C++语言建立的ISA模型搭建验证平台对每个模块进行独立的验证,系统集成后用SystemC建立ISA参考模型验证整个DSP核,测试矢量同时激励参考模型和RTL代码,通过比较两者的输出结果来定位故障,达到快速验证排错和故障定位的目标。本验证方案成功应用于中国电子科技集团第38研究所所开发的拥有自主知识产权的DSP处理器的设计中,提高了验证自动化及标准化水平,缩短了设计过程中验证的时间。该验证平台有良好的可重用性,为DSP开发提供了一套通用的验证环境和验证方法。