System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于DSP核的硬件调试方法技术_技高网

基于DSP核的硬件调试方法技术

技术编号:40410279 阅读:8 留言:0更新日期:2024-02-20 22:30
本申请公开基于DSP核心的硬件调试方法,涉及DSP处理器领域,在DSP核心上接入debug调试模块,DSP核心包括级联的Cache存储单元、取址译码单元、计算单元和寄存单元;debug调试模块通过调试接口依次连接流水线结构的各个单元;debug调试模块根据目标调试模式从Cache存储单元中读取编译器生成的原始指令组,并对原始指令组进行指令替换;DSP核心基于替换后生成的调试指令执行和处理;debug调试模块通过目标调试接口访问并读取目标单元,获取目标单元对调试指令的执行状态和数据处理结果,确定程序段起始点至终止点的时间计数值和Cache失效计数值。

【技术实现步骤摘要】

本申请涉及dsp芯片领域,特别涉及一种基于dsp核的硬件调试方法。


技术介绍

1、dsp核心调试功能是dsp核心硬件与软件之间联动工作、解决软件与硬件之间的协同问题,实现dsp核心对软件程序的断点调试和单步调试。dsp核心调试需要在dsp核心中增加相应的调试电路及硬件调试功能。硬件电路通过对dsp核心的专门控制,来实现在dsp核心非正常工作模式下对dsp核心进行调试和测试,实现软硬件问题的定位。

2、dsp核心调试硬件电路设计在当前的dsp核心设计时关注度较低。多数dsp核心主要关注dsp微结构,dsp流水线,dsp运算功能设计等。对dsp核心的硬件电路,特别对新设计的dsp核心结构,更需要全面的调试功能,以实现对dsp核心设计各部件,流水线各级,各级cache的配置和控制。dsp核心调试硬件电路的设计,可以实现dsp核心的运行频率调试、指令性能调试、特殊指令组合调试、异常调试、程序断点调试、单步运行调试和指定程序段流水线各级数据记录等。


技术实现思路

1、本申请提供一种基于dsp核的硬件调试方法,以提高各种指令组合的情况,提高dsp核心的运行稳定性。该方案

2、在dsp核心上接入debug调试模块,所述dsp核心包括级联的cache存储单元、取址译码单元、计算单元和寄存单元,且组成流水线结构;所述debug调试模块通过调试接口依次连接流水线结构的各个单元;

3、所述debug调试模块根据目标调试模式从cache存储单元中读取编译器生成的原始指令组,并对原始指令组进行指令替换;所述dsp核心基于替换后生成的调试指令执行和处理;

4、所述debug调试模块通过目标调试接口访问并读取目标单元,获取所述目标单元对所述调试指令的执行状态和数据处理结果,确定程序段起始点至终止点的时间计数值和cache失效计数值。

5、具体的,目标调试模式包括运行频率调试、指令性能调试、特殊指令组合调试、异常调试、程序断点调试、单步运行调试和指定程序段流水线各级数据记录。

6、具体的,所述编译器基于高级语言生成原始指令组,写入主存或所述cache存储单元;

7、所述cache存储单元包括一级cache和二级cache,一级cache分为dcache和icache;所述debug调试模块分别通过指令调试接口及数据调试接口连接到所述icache和dcache,icache和dcache连接到二级cache,主存直连二级cache;原始指令组存储在icache、二级cache或主存中。

8、所述debug调试模块通过指令调试接口读取和访问icache,以及修改icache中存储的指令和icache指令取指失效次数,基于icache读取和访问二级cache和主存;

9、所述debug调试模块通过数据调试接口读取和访问所述dcache,以及修改dcache中存储的指令和dcache取指失效次数,并基于所述dcache读取和访问二级cache,确定二级cache失效的次数。

10、具体的,所述debug调试模块通过取指与译码接口对取址译码单元中各级流水站台进行读写和访问控制,控制取指地址和取指方式从icache中提取目标指令集;在进入运行频率调试时,获取指令等待时钟周期。

11、具体的,所述debug调试模块通过取指与译码接口控制取指译码单元中各译码通道的指令分派,配置指令数量、修改流水线站台的指令和数据,在异常调试模式中获取指令译码结果和异常结果。

12、具体的,所述debug调试模块还通过计算调试接口控制计算单元的流水线站台,通过控制指令控制各个运算部件的输入输出数据,获取运算部件对输入数据的运行频率和修改指令执行结果。

13、具体的,所述debug调试模块还通过寄存器接口对寄存器单元进行访问控制,获取各个寄存器存储的内容及修改各个计算单元的计算结果,读取load/store指令后的寄存器结果。

14、具体的,所述dsp核心还设有控制寄存器,且所述debug调试模块通过控制接口访问控制寄存器,对控制寄存器进行配置读写、改变一级cache和二级cache的容量和组织方式。

15、具体的,在所述debug调试模块设置时钟周期计数器和cache失效计数器;通过所述debug调试模块读取cache存储单元中的原始指令组,将其中的指令修改后保存,并启动所述dsp核心执行取址译码和计算,通过时钟周期计数器确定指令在个流水线站台的执行时间,通过cache失效计数器确定一级和二级cache读取失效次数。

16、具体的,在cache存储单元存储指定程序段并启动所述dsp核心执行,当执行程序段起点时设置时钟周期计数器和cache失效计数器,在执行程序段终点时停止计数,获取程序段的运行频率、运行时间和cache失效情况。

17、本申请实施例提供的技术方案带来的有益效果至少包括:该方案通过debug调试模块可实现对dsp核心的各个硬件单元进行调试,变换原始指令组合并进行执行测试,提高dsp核心的运行稳定性;在各个流水阶段精确统计指令段的执行周期数,优化cache的配置方式,可提高cache的使用效率;通过精确调试流水线各站台的运行情况,可以指导优化dsp核心设计及编译器设计;提供更为详细的dsp核心内部信息,提高软件程序的效率及查找软件程序的问题。

本文档来自技高网...

【技术保护点】

1.一种基于DSP核心的硬件调试方法,其特征在于,在DSP核心上接入debug调试模块,所述DSP核心包括级联的Cache存储单元、取址译码单元、计算单元和寄存单元,且组成流水线结构;所述debug调试模块通过调试接口依次连接流水线结构的各个单元;

2.根据权利要求1所述的方法,其特征在于,目标调试模式包括运行频率调试、指令性能调试、特殊指令组合调试、异常调试、程序断点调试、单步运行调试和指定程序段流水线各级数据记录。

3.根据权利要求2所述的方法,其特征在于,所述编译器基于高级语言生成原始指令组,写入主存或所述Cache存储单元;

4.根据权利要求3所述的方法,其特征在于,所述debug调试模块通过取指与译码接口对取址译码单元中各级流水站台进行读写和访问控制,控制取指地址和取指方式从ICache中提取目标指令集;在进入运行频率调试时,获取指令等待时钟周期。

5.根据权利要求4所述的方法,其特征在于,所述debug调试模块通过取指与译码接口控制取指译码单元中各译码通道的指令分派,配置指令数量、修改流水线站台的指令和数据,在异常调试模式中获取指令译码结果和异常结果。

6.根据权利要求3所述的方法,其特征在于,所述debug调试模块还通过计算调试接口控制计算单元的流水线站台,通过控制指令控制各个运算部件的输入输出数据,获取运算部件对输入数据的运行频率和修改指令执行结果。

7.根据权利要求6所述的方法,其特征在于,所述debug调试模块还通过寄存器接口对寄存器单元进行访问控制,获取各个寄存器存储的内容及修改各个计算单元的计算结果,读取Load/Store指令后的寄存器结果。

8.根据权利要求7所述的方法,其特征在于,所述DSP核心还设有控制寄存器,且所述debug调试模块通过控制接口访问控制寄存器,对控制寄存器进行配置读写、改变一级Cache和二级Cache的容量和组织方式。

9.根据权利要求1所述的方法,其特征在于,在所述debug调试模块设置时钟周期计数器和Cache失效计数器;通过所述debug调试模块读取Cache存储单元中的原始指令组,将其中的指令修改后保存,并启动所述DSP核心执行取址译码和计算,通过时钟周期计数器确定指令在个流水线站台的执行时间,通过Cache失效计数器确定一级和二级Cache读取失效次数。

10.根据权利要求9所述的方法,其特征在于,在Cache存储单元存储指定程序段并启动所述DSP核心执行,当执行程序段起点时设置时钟周期计数器和Cache失效计数器,在执行程序段终点时停止计数,获取程序段的运行频率、运行时间和Cache失效情况。

...

【技术特征摘要】

1.一种基于dsp核心的硬件调试方法,其特征在于,在dsp核心上接入debug调试模块,所述dsp核心包括级联的cache存储单元、取址译码单元、计算单元和寄存单元,且组成流水线结构;所述debug调试模块通过调试接口依次连接流水线结构的各个单元;

2.根据权利要求1所述的方法,其特征在于,目标调试模式包括运行频率调试、指令性能调试、特殊指令组合调试、异常调试、程序断点调试、单步运行调试和指定程序段流水线各级数据记录。

3.根据权利要求2所述的方法,其特征在于,所述编译器基于高级语言生成原始指令组,写入主存或所述cache存储单元;

4.根据权利要求3所述的方法,其特征在于,所述debug调试模块通过取指与译码接口对取址译码单元中各级流水站台进行读写和访问控制,控制取指地址和取指方式从icache中提取目标指令集;在进入运行频率调试时,获取指令等待时钟周期。

5.根据权利要求4所述的方法,其特征在于,所述debug调试模块通过取指与译码接口控制取指译码单元中各译码通道的指令分派,配置指令数量、修改流水线站台的指令和数据,在异常调试模式中获取指令译码结果和异常结果。

6.根据权利要求3所述的方法,其特征在于,所述debug调试模块还通过计算调试接口控制计算单元的流水线站台,通过...

【专利技术属性】
技术研发人员:姚力张家钧
申请(专利权)人:长三角集成电路工业应用技术创新中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1