一种用于仿真调试的硬件断点电路.pdf

上传人:r5 文档编号:973951 上传时间:2018-03-22 格式:PDF 页数:9 大小:512.67KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010137793.3

申请日:

2010.03.23

公开号:

CN101847119A

公开日:

2010.09.29

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 11/36申请日:20100323|||公开

IPC分类号:

G06F11/36

主分类号:

G06F11/36

申请人:

苏州国芯科技有限公司

发明人:

蒋小梅; 于麦口; 肖佐楠; 郑茳

地址:

215011 江苏省苏州市高新区竹园路209号苏州创业园C2031室

优先权:

专利代理机构:

苏州创元专利商标事务所有限公司 32103

代理人:

马明渡

PDF下载: PDF下载
内容摘要

一种用于仿真调试的硬件断点电路,包括:用于存储第一断点条件信息的第一断点寄存器;第一断点比较器;用于存储第二断点条件信息的第二断点寄存器;第二断点比较器;第一断点计数器,用于设置第一断点条件发生的次数;第一与门;第一非门;第二断点计数器,用于设置第二断点条件发生的次数;第三与门;第二非门;第二与门;第四与门;第一或门,用于向微控制器发送断点请求信号。本发明可以等到某个断点条件发生N次后再给微控制器发送断点请求信号,从而给仿真调试带了很大的方便,缩短了产品开发的周期。

权利要求书

1.  一种用于仿真调试的硬件断点电路,其特征在于:包括:
第一断点寄存器、第一断点比较器、第一断点计数器、第一参考值比较器、第一与门、第二与门和第一非门;
所述第一断点寄存器,用于存储第一断点条件信息;
所述第一断点比较器,根据来自总线的信息和所述第一断点寄存器的信息的比较结果,产生第一断点条件发生信号;
所述第一断点计数器,用于设置第一断点条件发生的次数,该断点计数器根据来自第一与门的输出信息,将该计数器当前值减1;
所述第一参考值比较器,该比较器的一个输入端接收来自所述第一断点计数器输出的信息;
所述第一与门,该第一与门的一个输入端接收来自所述第一断点比较器的输出信息,另一个输入端与第一非门的输出端连接,第一与门的输出端与所述第一断点计数器的控制端连接,用于将第一断点计数器当前值减1;
第二与门,该第二与门的一个输入端接收来自所述第一断点比较器的信息,另一个输入端接收来自所述第一参考值比较器输出的信息,该第二与门的输出端用于发送第一断点请求信号;
所述第一非门,该第一非门的输入端与所述第一参考值比较器的输出端连接。

2.
  根据权利要求1所述的硬件断点电路,其特征在于:所述硬件断点电路还包括:第二断点寄存器、第二断点比较器、第二断点计数器、第二参考值比较器、第三与门、第四与门、第二非门和第一或门;
所述第二断点寄存器,用于存储第二断点条件信息的;
所述第二断点比较器,根据来自总线的信息和所述第二断点寄存器的信息的比较结果,产生第二断点条件发生信号;
所述第二断点计数器,用于设置第二断点条件发生的次数,该断点计数器根据来自第三与门的输出信息,将该计数器当前值减1;
所述第二参考值比较器,该比较器的一个输入端接收来自所述第二断点计数器输出的信息;
所述第三与门,该第三与门的一个输入端接收来自所述第二断点比较器的输出信息,另一个输入端与第二非门的输出端连接,第三与门的输出端与所述第二断点计数器的控制端连接,用于将第二断点计数器当前值减1;
所述第四与门,该第四与门的一个输入端接收来自所述第二断点比较器的信息,另一个输入端接收来自所述第二参考值比较器输出的信息,该第四与门的输出端用于发送第二断点请求信号;
所述第二非门,该第二非门的输入端与所述第二参考值比较器的输出端连接;
第一或门,该第一或门的一个输入端与所述第二与门的输出端连接,另一个输入端与所述第四与门的输出端连接,用于向微控制器发出断点请求信号。

3.
  根据权利要求1或2所述的硬件断点电路,其特征在于:所述总线的信息为数据总线的信息、控制总线的信息、地址总线的信息中的一种。

4.
  根据权利要求1或2所述的硬件断点电路,其特征在于:还包括:用于屏蔽断点总线信息中某些位的第一断点屏蔽寄存器,该第一断点屏蔽寄存器连接到所述第一断点比较器的一个输入端;用于屏蔽断点总线信息中某些位的第二断点屏蔽寄存器,该第二断点屏蔽寄存器连接到所述第二断点比较器的一个输入端。

5.
  根据权利要求1或2所述的硬件断点电路,其特征在于:所述参考值为0。

6.
  根据权利要求3所述的硬件断点电路,其特征在于:所述参考值为0。

说明书

一种用于仿真调试的硬件断点电路
技术领域
本发明涉及集成电路测试技术领域,尤其涉及一种用于仿真调试的硬件断点电路。
背景技术
20世纪80年代以来,随着计算机嵌入式系统的广泛应用,微控制器(MCU,microcontroller unit/单片机)得到飞速的发展。早期的单片机是按照嵌入式应用技术要求设计的计算机的单芯片化集成电路器件,也就是电子计算机的全部特性器件都集成到一片芯片上,故被形象的称为单片机。随着单片机应用范围的不断加大,对于其仿真调试功能的要求也逐渐提高。
仿真调试功能是指程序执行到指定行时,或存取预先设定的地址或数据时,停止执行程序,一边通知外部,一边参照并改变当时的存储器的状态或变量的内容。断点可以看作是程序停止执行的位置,并将微控制器的控制权切换到在线仿真调试模块,此时,微控制器由正常模式变为调试模式。调试模式时微控制器不执行程序,而是在线仿真调试模块进行操作。我们会在调试模式下通过JTAG总线控制在线仿真调试模块,读写在线仿真调试模块和微控制器内的寄存器,然后让微控制器进入正常模式。在正常模式下,微控制器正常执行程序。现有技术,采用硬件形式,这些断点可以具体实现为针对数据、指令或地址的断点寄存器,可以用必要的数据、地址或指令对这些断点寄存器进行配置,以设置适当断点。例如,配置好的断点地址寄存器与地址总线上的地址内容相匹配时,一个基于地址的断点条件就发生了。现有技术中,在线仿真调试模块往往是对相关断点寄存器进行配置后,只要检测到断点条件发生就能发送断点请求,这不能满足断点仿真调试的灵活性。因此,如何开发一种具有灵活断点功能的仿真调试模块成为本领域技术人员努力的方向。
发明内容
本发明目的是提供一种用于仿真调试的硬件断点电路,该硬件断点电路可根据设置的断点发生次数,决定何时向微控制器发送断点请求。
为达到上述目的,本发明采用的技术方案是:一种用于仿真调试的硬件断点电路。
一种用于仿真调试的硬件断点电路,包括:
第一断点寄存器、第一断点比较器、第一断点计数器、第一参考值比较器、第一与门、第二与门和第一非门;
所述第一断点寄存器,用于存储第一断点条件信息;
所述第一断点比较器,根据来自总线的信息和所述第一断点寄存器的信息的比较结果,产生第一断点条件发生信号;
所述第一断点计数器,用于设置第一断点条件发生的次数,该断点计数器根据来自第一与门的输出信息,将该计数器当前值减1;
所述第一参考值比较器,该比较器的一个输入端接收来自所述第一断点计数器输出的信息;
所述第一与门,该第一与门的一个输入端接收来自所述第一断点比较器的输出信息,另一个输入端与第一非门的输出端连接,第一与门的输出端与所述第一断点计数器的控制端连接,用于将第一断点计数器当前值减1;
第二与门,该第二与门的一个输入端接收来自所述第一断点比较器的信息,另一个输入端接收来自所述第一参考值比较器输出的信息,该第二与门的输出端用于发送第一断点请求信号;
所述第一非门,该第一非门的输入端与所述第一参考值比较器的输出端连接。
上述技术方案中的有关内容解释如下:
1、上述方案中,所述硬件断点电路还包括:第二断点寄存器、第二断点比较器、第二断点计数器、第二参考值比较器、第三与门、第四与门、第二非门和第一或门;
所述第二断点寄存器,用于存储第二断点条件信息;
所述第二断点比较器,根据来自总线的信息和所述第二断点寄存器的信息的比较结果,产生第二断点条件发生信号;
所述第二断点计数器,用于设置第二断点条件发生的次数,该断点计数器根据来自第三与门的输出信息,将该计数器当前值减1;
所述第二参考值比较器,该比较器的一个输入端接收来自所述第二断点计数器输出的信息;
所述第三与门,该第三与门的一个输入端接收来自所述第二断点比较器的输出信息,另一个输入端与第二非门的输出端连接,第三与门的输出端与所述第二断点计数器的控制端连接,用于将第二断点计数器当前值减1;
所述第四与门,该第四与门的一个输入端接收来自所述第二断点比较器的信息,另一个输入端接收来自所述第二参考值比较器输出的信息,该第四与门的输出端用于发送第二断点请求信号;
所述第二非门,该第二非门的输入端与所述第二参考值比较器的输出端连接;
第一或门,该第一或门的一个输入端与所述第二与门的输出端连接,另一个输入端与所述第四与门的输出端连接,用于向微控制器发出断点请求信号。
2、上述方案中,所述总线的信息为数据总线的信息、控制总线的信息、地址总线的信息中的一种。
3、上述方案中,还包括:用于屏蔽断点总线信息中某些位的第一断点屏蔽寄存器,该第一断点屏蔽寄存器连接到所述第一断点比较器的一个输入端;用于屏蔽断点总线信息中某些位的第二断点屏蔽寄存器,该第二断点屏蔽寄存器连接到所述第二断点比较器的一个输入端。
4、上述方案中,所述参考值为0。
由于上述技术方案运用,本发明与现有技术相比,可以实现:等到某个断点条件发生N+1次后再给微控制器发送断点请求,从而给仿真调试带了很大的方便,缩短了产品开发的周期。这样能检测到同一事件多次重复发生。比如我们需要检测地址总线上出现同一个数值N+1次,则可以通过将第一断点计数器写为N来实现。再次,本发明通过设置或门实现多个断点同时监控的功能。
附图说明
附图1为JTAG仿真调试系统示意图;
附图2为本发明硬件断点电路的结构原理图。
具体实施方式
下面结合附图及实施例对本发明作进一步描述:
实施例:一种用于仿真调试的硬件断点电路
一种用于仿真调试的硬件断点电路,包括:
第一断点寄存器、第一断点比较器、第一断点计数器、第一参考值比较器、第一与门、第二与门和第一非门;
所述第一断点寄存器,用于存储第一断点条件信息;
所述第一断点比较器,根据来自总线的信息和所述第一断点寄存器的信息的比较结果,产生第一断点条件发生信号;
所述第一断点计数器,用于设置第一断点条件发生的次数,该断点计数器根据来自第一与门的输出信息,将该计数器当前值减1;
所述第一参考值比较器,该比较器的一个输入端接收来自所述第一断点计数器输出的信息,所述参考值为0;
所述第一与门,该第一与门的一个输入端接收来自所述第一断点比较器的输出信息,另一个输入端与第一非门的输出端连接,第一与门的输出端与所述第一断点计数器的控制端连接,用于将第一断点计数器当前值减1。所述第一断点计数器的输入端连接的是:当前值减1的结果。第一与门输出端是所述第一断点计数器的控制端,当它有效时,能让第一断点计数器减1;
第二与门,该第二与门的一个输入端接收来自所述第一断点比较器的信息,另一个输入端接收来自所述第一参考值比较器输出的信息,该第二与门的输出端用于发送第一断点请求信号;
所述第一非门,该第一非门的输入端与所述第一参考值比较器的输出端连接。
用于存储第二断点条件信息的第二断点寄存器;
第二断点比较器、第二断点计数器、第二参考值比较器、第三与门、第四与门和第二非门;
所述第二断点比较器,根据来自总线的信息和所述第二断点寄存器的信息的比较结果,产生第二断点条件发生信号;
所述第二断点计数器,用于设置第二断点条件发生的次数,该断点计数器根据来自第三与门的输出信息,将该计数器当前值减1;
所述第二参考值比较器,该比较器的一个输入端接收来自所述第二断点计数器输出的信息,所述参考值为0;
所述第三与门,该第三与门的输出端接收来自所述第二断点比较器的输出信息,另一个输入端与第二非门的输出连接,第三与门的输出端与所述第二断点计数器的控制端连接,用于将第二断点计数器当前值减1;
所述第四与门,该第四与门的一个输入端接收来自所述第二断点比较器的信息,另一个输入端接收来自所述第二参考值比较器输出的信息,该第四与门的输出端用于发送第二断点请求信号;
所述第二非门,该第二非门的输入端与所述第二参考值比较器的输出端连接;
第一或门,该第一或门的一个输入端与所述第二与门的输出端连接,另一个输入端与所述第四与门的输出端连接,用于向微控制器发出断点请求信号。
用于屏蔽断点总线信息中某些位的第一断点屏蔽寄存器,该第一断点屏蔽寄存器连接到所述第一断点比较器的一个输入端;用于屏蔽断点总线信息中某些位的第二断点屏蔽寄存器,该第二断点屏蔽寄存器连接到所述第二断点比较器的一个输入端。
上述方案中,所述总线的信息为数据总线的信息、控制总线的信息、地址总线的信息中的一种,其原理相同。
本实施例上述内容具体工作过程如下。
一种微控制器在线仿真调试模块,见图1。包括JTAG端口控制器和硬件断点电路。JTAG端口控制器用来收集从JTAG总线发送来的调试指令,这些调试指令用于读写硬件断点电路和微控制器内的相关寄存器。硬件断点电路监视微控制器的地址总线的实时变化,根据断点寄存器和断点屏蔽寄存器的值来检测断点条件何时发生,并根据断点计数器的值决定何时向微控制器发送断点请求。如果微控制器接收到断点请求,则从正常模式进入调试模式。正常模式时微控制器正常执行程序,调试模式时微控制器不执行程序,而在线仿真调试模块会进行一系列操作,比如通过JTAG总线读写寄存器。
硬件断点电路包含如下几个寄存器:
第一断点寄存器即32位第一断点地址寄存器,第二断点寄存器即32位第二断点地址寄存器,用于存储断点的地址内容。
第一断点屏蔽寄存器即32位第一断点地址屏蔽寄存器,第二断点屏蔽寄存器即32位第二断点地址屏蔽寄存器,用于屏蔽地址总线的某些位。例如不需要检测地址总线的低8位时,地址屏蔽寄存器的低8位都被置为1。如不需要检测地址总线的最高位,则只需要将地址屏蔽寄存器的最高位置为1。除去不需要检测的地址总线的某些位,地址总线剩下的其他位必须与地址寄存器的对应位完全相等才能让断点条件发生。例如,地址总线的内容为32’b0001_0010_0011_0100_0101_0110_0111_0101,第一断点地址寄存器内容为32’b0001_0010_0011_0100_0101_0110_0111_1010,第一断点地址屏蔽寄存器内容为32’b0000_0000_0000_0000_0000_0000_0000_1111。因为第一断点地址屏蔽寄存器的低4位均为1,表明地址总线的低4位不用与第一断点地址寄存器的低4位进行比较,而地址总线的高28位和第一断点地址寄存器的高28位相等,所以第一断点的断点条件发生。这些是通过图2中的第一断点比较器实现的。图2中的第二断点比较器用于比较地址总线、第二断点地址寄存器和第二断点地址屏蔽寄存器,从而得到第二断点的断点条件发生信号。
第一断点计数器,用于设置第一断点条件发生的次数,该第一断点计数器根据第一与门的输出信息,将该计数器当前值减1。
第二断点计数器,用于设置第二断点条件发生的次数,该第二断点计数器根据第三与门的输出信息,将该计数器当前值减1。
硬件断点电路的实现方式见图2。
我们先来看第一断点的相关操作。首先,微控制器的地址总线与第一断点地址屏蔽寄存器和第一断点地址寄存器通过第一断点比较器进行比较,如果匹配则第一断点的断点条件发生。
如果第一断点计数器不为0即第一非门的输出端有效,则当第一断点的断点条件发生时,不能通过第二与门发送断点请求,但是会通过第一与门让第一断点计数器减1。第一断点的断点条件发生一次就让第一断点计数器减1,第一断点的断点条件发生N次则第一断点计数器减N,直到第一断点计数器为0。如果第一断点计数器为0即第一参考值比较器输出端有效,则当第一断点的断点条件发生时,通过第二与门向微控制器发送断点请求。
例如,我们将第一断点计数器设置为2,当第一断点条件发生第一次时,第一断点计数器减1变为1,此时第一参考值比较器输出端无效,第一非门输出端有效;当第一断点条件发生第二次时,第一断点计数器减1变为0,此时第一参考值比较器输出端有效,第一非门输出端无效;当第一断点条件发生第三次时,第一断点计数器不再减1,而是通过第二与门向微控制器发送断点请求。
通过这样的方式,就可以限定第一断点条件必须发生N次后,当第一断点的断点条件再发生一次时就能向微控制器发送断点请求。
本实施例还通过增加第一或门实现了2个断点的同时监控。我们再来看第二断点的相关操作。
第二断点的断点条件发生同理于第一断点;第二断点计数器的工作原理同理于第一断点计数器。
例如,我们将第二断点计数器设置为3,当第二断点条件发生第一次时,第二断点计数器减1变为2,此时第二参考值比较器输出端无效,第二非门输出端有效;当第二断点条件发生第二次时,第二断点计数器减1变为1,此时第二参考值比较器输出端无效,第二非门输出端有效;当第二断点条件发生第三次时,第二断点计数器减1变为0,此时第二参考值比较器输出端有效,第二非门输出端无效;当第二断点条件发生第四次时,第二断点计数器不再减1,而是通过第四与门和第一或门向微控制器发送断点请求。
通过这样的方式,就可以限定第二断点条件必须发生N次后,当第二断点的断点条件再发生一次时就能向微控制器发送断点请求。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。

一种用于仿真调试的硬件断点电路.pdf_第1页
第1页 / 共9页
一种用于仿真调试的硬件断点电路.pdf_第2页
第2页 / 共9页
一种用于仿真调试的硬件断点电路.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《一种用于仿真调试的硬件断点电路.pdf》由会员分享,可在线阅读,更多相关《一种用于仿真调试的硬件断点电路.pdf(9页珍藏版)》请在专利查询网上搜索。

一种用于仿真调试的硬件断点电路,包括:用于存储第一断点条件信息的第一断点寄存器;第一断点比较器;用于存储第二断点条件信息的第二断点寄存器;第二断点比较器;第一断点计数器,用于设置第一断点条件发生的次数;第一与门;第一非门;第二断点计数器,用于设置第二断点条件发生的次数;第三与门;第二非门;第二与门;第四与门;第一或门,用于向微控制器发送断点请求信号。本发明可以等到某个断点条件发生N次后再给微控制器。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1