基于调试交流通道的读写加速方法、装置及介质与流程

摘要: 本发明属于芯片调试,涉及一种基于调试交流通道的读写加速方法、装置及介质。背景技术:1、随着集成电路设计技术和制造工艺的日益发展,市场上的芯片性能也越来越好,大型...
基于调试交流通道的读写加速方法、装置及介质与流程

本发明属于芯片调试,涉及一种基于调试交流通道的读写加速方法、装置及介质。

背景技术:

1、随着集成电路设计技术和制造工艺的日益发展,市场上的芯片性能也越来越好,大型的应用程序需要的存储容量达到几十gb(数据量的单位)。在芯片调试过程中,长期存在调试主机与目标cpu之间数据传输速率慢的问题。随着芯片的存储容量不断扩容,应用程序的规模不断变大,解决调试主机与目标cpu之间数据传输速率慢的问题变得紧迫。现有的存储体读写方法已经无法满足芯片调试的需求,现有的内存读写操作通常采用芯片的内核寄存器和特定指令(如load指令和store指令)读写存储体的值。

2、读存储体的操作是:先将读取存储空间的首地址通过tdi(jtag接口中的‌数据输入引脚‌)写入内核寄存器,然后通过load指令使目标cpu获取到首地址,最后目标cpu采用store指令将存储体的数据存放到内核寄存器中,最终内核寄存器的值会反馈到tdo(jtag信号线)上以便调试主机获取。写存储体操作是:将存储体的首地址和数据通过tdi(jtag信号线)将这些值一起写入内核寄存器,然后通过load指令将这些寄存器的值写入到存储体中。

3、由于芯片的内核寄存器数量通常是十几个,那一次读写操作的数据量约等于50个字节(如13(寄存器数目)×4(一个寄存器可以存放4个字节))。这种数据规模相较于数据量大的应用程序,读写存储体的速率较慢,耗时较长,严重拖慢调试人员对芯片应用程序的调试效率。现有技术采用芯片的内核寄存器和指令结合的方法读写存储体的数据已不能满足芯片的调试需求,主要原因一是目标cpu的内核寄存器通常是十几个,一次只能存放50个字节的数据量;二是et部件读写内存时,通常采用的是调试速率,其远低于目标cpu的系统速率,进一度降低了目标cpu与et部件之间的数据交换速率。在某种程度上,降低目标cpu处理进程的效率。

4、因此,现有技术在存储容量小且应用程序简单的情况下才能保证芯片的调试效率。如何在芯片存储体容量进行扩容,应用程序功能变得复杂且读写大量数据时,提高存储体的读写速率已成为亟待解决的技术问题之一。

技术实现思路

1、针对上述现有技术中存在的问题,本发明提出了一种基于调试交流通道的读写加速方法、装置及介质,能够在芯片存储体容量进行扩容,应用程序功能变得复杂且读写大量数据时,提高存储体的读写速率。

2、为了实现上述目的,本发明实施例采用以下技术方案:

3、一方面,提供一种基于调试交流通道的读写加速方法,包括步骤:

4、在芯片的et部件中配置数据读取寄存器、数据写入寄存器和数据控制寄存器;配置的寄存器用于在目标cpu与et部件之间建立不经由内核寄存器和特定指令的直接数据交换通路;特定指令包括load指令和store指令;

5、配置调试接收信号和调试传输信号;调试接收信号与数据控制寄存器的第一状态位关联,调试传输信号与数据控制寄存器的第二状态位关联;

6、通过第一状态位或第二状态位的状态变化触发目标cpu进入中断响应程序,处理et部件发起的双向数据通信。

7、在其中一个实施例中,数据读取寄存器被配置为存放et部件向目标cpu发送的数据;

8、数据写入寄存器被配置为存放目标cpu向et部件发送的数据;

9、数据控制寄存器被配置为实现目标cpu与异步et部件之间的同步握手。

10、在其中一个实施例中,数据读取寄存器和数据写入寄存器均为32位寄存器, 32位均为有效数据;

11、数据控制寄存器为32位寄存器,其中的低6位有效且寄存器属性为仅可读。

12、在其中一个实施例中,数据控制寄存器的低6位中,第0位为r位,第1位为w位,第2位至第5位包括表示et部件版本号的固定数值;第一状态位为r位,第二状态位为w位;

13、数据控制寄存器第6位至第31位为保留位。

14、在其中一个实施例中,调试接收信号被配置为:

15、当r位表征数据读取寄存器非空时,调试接收信号拉高以触发目标cpu从数据读取寄存器中取走数据;

16、当r位表征数据读取寄存器为空时,允许et部件将数据存入数据读取寄存器。

17、在其中一个实施例中,调试传输信号被配置为:

18、当w位表征数据写入寄存器为空时,调试传输信号拉高以触发目标cpu向数据写入寄存器写入数据;

19、当w位表征数据写入寄存器非空时,表征et部件尚未取走数据写入寄存器中的数据。

20、在其中一个实施例中,目标cpu与et部件之间的数据交换包括:

21、响应于调试传输信号拉高,目标cpu根据当前中断优先级确定是否进入中断响应程序;在进入中断响应程序且w位为w=0时,目标cpu将消息写入数据写入寄存器后,et部件将w位置为w=1以指示数据写入寄存器中存有待取数据;

22、响应于调试接收信号拉高,目标cpu根据当前中断优先级确定是否进入中断响应程序;在进入中断响应程序且r位为r=1时,目标cpu从数据读取寄存器读取消息后,et部件将r位置为r=0以指示数据已被取走。

23、在其中一个实施例中,et部件与目标cpu之间的数据交换包括:

24、et部件读取r位,在r=0时将消息写入数据读取寄存器,并将r位置为r=1同时拉高调试接收信号以触发目标cpu取走数据;在r=1时,et部件进入轮询等待直至r位恢复为r=0;

25、et部件读取w位,在w=1时从数据写入寄存器读取消息,并将w位置为w=0同时拉高调试传输信号以指示数据已被取走;在w=0时,et部件进入轮询等待直至w位置为w=1。

26、另一方面,还提供一种基于调试交流通道的读写加速装置,包括et部件,et部件包括数据读取寄存器、数据写入寄存器和数据控制寄存器;

27、其中,数据读取寄存器被配置为存放et部件向目标cpu发送的数据,供目标cpu读取;

28、数据写入寄存器被配置为存放目标cpu向et部件发送的数据,供et部件读取;

29、数据控制寄存器被配置为实现目标cpu与异步et部件之间的同步握手;数据控制寄存器包括第一状态位和第二状态位,第一状态位表征数据读取寄存器的状态,第二状态位表征数据写入寄存器的状态;

30、et部件还配置有调试接收信号和调试传输信号,调试接收信号与第一状态位关联,被配置为当第一状态位表征数据读取寄存器非空时拉高以触发目标cpu,调试传输信号与第二状态位关联,被配置为当第二状态位表征数据写入寄存器为空时拉高以触发目标cpu。

31、又一方面,还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的基于调试交流通道的读写加速方法的步骤。

32、上述技术方案中的一个技术方案具有如下优点和有益效果:

33、上述基于调试交流通道的读写加速方法、装置及介质,通过配置数据读取寄存器、数据写入寄存器和数据控制寄存器,以及配置调试接收信号和调试传输信号,在目标cpu与et部件之间构建一个特殊的调试数据交流通道,该数据交流通道能够使et部件与目标cpu之间直接交换数据,解决了以往一次只能与目标cpu传输约50个字节数据量的问题,并且该数据交换采用中断响应机制,使目标cpu在处理数据交换请求时能够达到系统速率,从而大幅提高存储体的读写速度,提升测试人员对应用程序的调试效率。