论文部分内容阅读
数字信号处理器(DSP)是一种用于数字信号处理的嵌入式专用微处理器,广泛应用于各种领域。随着DSP的应用广泛和设计复杂性增加,处理器开发平台和应用程序的调试运行变得极为重要和复杂。达到高性能的任务从硬件转向软件已成为现代体系结构发展的趋势,编译工具链在开发平台上作为基础的系统软件越来越重要,同时,在具体应用的开发过程中,软件的调试和运行成了影响到芯片设计的关键问题之一。
Diamond是中国科学院微电子研究所设计的一款高性能DSP。本文分析了该DSP的体系结构和指令系统,以其为研究对象,结合传统的汇编器和指令调度技术,提出了汇编器和指令调度器的设计方案。其中,汇编器基于传统的两遍扫描技术,完成脚本语言perl开发生成可载入目标文件,并且支持diamond DSP的特殊指令集;同时,指令调度器基于数据流分析方法,将全局调度转换为局部调度,实现串行指令的并行,实验结果表明,通过指令调度器后可显著提高程序的性能。
本文根据IEEE1149.1标准,设计与实现了一款调试功能具有很强可扩展性的片上调试系统。本系统在结构设计上借鉴了ARM7TDMI的Embedded ICE,采用了基于JTAG数据寄存器的扩展方式,相对于传统的基于IR的方式,具有更大灵活性;在指令格式上受到 UART的启发,通过对新增数据寄存器的数据格式和时序做出规定,扩展多种调试指令,实现了基本的调试控制和数据访问;在硬件实现上,采用层次化、模块化、统一化设计,设置debug interface顶层和多个调试子模块,每个调试子模块均设置内部寄存器和数据访问接口,在实现进一步调试功能扩展的同时,结构上也具有很大的可扩展性。
这种基于JTAG的片上调试系统,具备IEEE-ISTO5001提出的基本功能,能够很好的支持对目标系统的调试控制和数据访问。支持的调试控制包括:强制进入调试状态、硬件断点设置、软件断点设置、数据断点设置、单步执行、退出调试状态。支持的数据访问模式包括:对 DSP通用寄存器、特殊寄存器的访问,对存储器、总线的多种模式访问,支持8bit、16bit、32bit数据位宽。作为一个基本的硬件调试代理,具备了基本的调试功能。
本文采用VerilogHDL语言,对设计架构进行了RTL级的硬件实现,并在modelsim6.2g下进行了仿真验证。验证结果表明,该调试系统能够很好的完成所提出的片上调试功能,满足了可测试性和可调试性需求,为芯片板级测试和后期应用开发提供了基础。