论文部分内容阅读
随着半导体制造工艺的快速发展以及集成电路设计技术的不断提高,传统的单核SoC架构已经无法满足日益增长的性能需求,多核SoC技术应运而生。相较于同构多核系统,异构多核系统能够实现资源的最优化配置,在处理复杂特定任务时具有更大的优势。然而,异构多核系统的出现,导致软硬件设计的正确性验证更加困难,没有硬件支持的调试技术已经无法胜任这些复杂的应用。因此,在芯片中采用可调试性设计逐渐成为一种提高芯片调试效率的重要手段,并得到学术界和工业界的广泛研究。本文针对上述问题,开展了异构多核系统调试技术的相关研究。论文的主要工作如下:首先,基于课题组设计完成的一款异构多核系统,设计并实现了一种可配置可裁剪的可调试性模型,为目标系统芯片的生产及实际应用提供有力的支持。可调试性模型包括片上调试架构和上位机软件两部分,本文的工作重点是目标系统可调试性设计的硬件部分,即片上调试架构的设计与实现。其次,对片上调试架构中调试探测器DP的设计进行深入研究,详细分析了目标系统中不同资源节点的调试方案以及相应DP的配置,证明了DP设计的灵活性,同时完成了目标系统中各类资源节点DP模块的电路设计工作。此外,还给出了各DP在FPGA上实现的面积开销,论述了本设计的有效性。最后,将DP模块集成于目标系统中,从RTL级和FPGA两个层次验证了本文设计的DP功能的正确性。此外,通过一个分步调试的应用实例,论述了本文的可调试性设计模型可以通过不同模式的任意组合,快速定位错误所在,有效地支持目标系统的调试工作。本文实现的可调试性设计模型在对目标系统的调试控制方面具有如下特点:(1)采取“离线”调试方案,即预先设定断点或触发点,待系统执行触发调试后,暂停原执行过程进入调试态,获取相关调试数据之后再恢复系统运行。(2)提供五种不同的调试模式以满足目标系统实际应用的调试需求,每次可以根据需选择一种模式生成调试控制命令。(3)调试单元采用模块化设计,对其作相应的功能裁剪,即可实现针对系统中不同资源节点的可调试性设计。(4)调试单元具有可配置性,通过配置各控制寄存器,灵活地设置断点或观察点。