论文部分内容阅读
片上处理器是SoC的核心和基础部件,但传统的硬件调试解决方案无法解决片上处理器的调试追踪的要求。如何在复杂度不断提升的SoC芯片上实现片上处理器的监控,是一项重要的研究内容。在芯片开发过程中,当片上处理器要分析系统的异常中断以及多任务处理时,目前传统基于片外仪器的处理器监控技术已经难以测量片内数据流、指令流和堆栈出入等片上处理器信息。在片上处理器实时运行时,只能使用串口打印输出的方法来做处理器状态的监控。现在的调试方法不能检测多任务处理和睡眠模式,基本不能看到处理器内部运行情况。本论文设计的运行监控电路实现了对片上处理器指令和数据的监控,同时将监控数据存储起来以供SoC设计人员调试芯片,从而加快了SoC的开发效率。本论文以ARM CoreSight架构为基础,结合AMBA总线技术对运行监控电路进行设计。片上处理器运行监控电路主要实现监控数据的收集、控制和存储功能。运行监控电路由四部分组成,分别为监控源模块、监控控制模块、监控连接模块以及监控存储模块。监控源模块主要有两个单元,分别为嵌入式追踪单元和AHB总线追踪单元。监控控制模块主要由嵌入式交叉触发单元和调试访问端口单元组成。监控连接模块主要由ATB桥、ATB聚合器和ATB复制器三部分组成。监控存储模块主要由追踪端口接口单元和嵌入式追踪缓存组成。其中监控源模块主要完成监控数据和指令的收集功能,在处理器运行过程中非侵入式的完成监控数据的收集。监控控制模块实现了监控数据的控制过滤的功能,在执行监控操作前,可以通过寄存器配置控制指令流和数据流的行为。监控连接模块的功能主要是连接整个监控电路的各个子模块,用来传递各个模块之间的信息。监控存储模块的主要功能是对最后的监控信息进行存储与处理。片上处理器运行监控电路将收集的数据通过AXI总线写入内存或通过网络发送到其它调试设备。传输到片外后使用调试软件进行监控数据的分析。本论文设计的监控电路可以方便的调试和发现芯片设计过程中的漏洞,并且对于芯片的设计和调试具有较大的推进作用。