一种具有禁止程序调试功能的仿真器制造技术

技术编号:22641056 阅读:46 留言:0更新日期:2019-11-26 16:00
本发明专利技术介绍一种具有禁止程序调试功能的仿真器,涉及到芯片安全调试技术领域。本发明专利技术的仿真器,包括仿真器控制模块和仿真器硬件模块。仿真器硬件模块中的调试模块包括调试寄存器模块、禁止调试模块和地址处理模块,仿真器控制模块通过对调试寄存器模块中的寄存器设置,实现运行、停止、单步、断点的调试操作。地址处理模块检测CPU模块的地址总线并输出禁止调试信号,禁止调试模块通过对CPU模块调试总线的控制实现禁止调试功能。本发明专利技术的仿真器,能有效保护程序代码及执行流程等安全敏感信息,为具有安全要求的芯片或芯片仿真器设计提供一种调试保护方案。

An emulator with the function of forbidding program debugging

The invention introduces an emulator with the function of prohibiting program debugging, which relates to the technical field of chip safety debugging. The emulator of the invention includes an emulator control module and an emulator hardware module. The debugging module in the hardware module of the emulator includes debugging register module, forbidding debugging module and address processing module. The control module of the emulator realizes the debugging operation of running, stopping, single step and breakpoint by setting the registers in the debugging register module. The address processing module detects the address bus of the CPU module and outputs the debugging forbidden signal. The debugging forbidden module realizes the debugging forbidden function by controlling the debugging bus of the CPU module. The emulator of the invention can effectively protect the program code, execution process and other safety sensitive information, and provides a debugging protection scheme for the chip or chip emulator design with safety requirements.

【技术实现步骤摘要】
一种具有禁止程序调试功能的仿真器
本专利技术涉及一种芯片仿真器,特别涉及一种具有禁止程序调试功能的仿真器。
技术介绍
随着集成电路CPU芯片的规模不断增大,用户程序代码量及设计复杂度也在增加,这就要求芯片必须支持Debug调试功能,以方便用户对程序调试和功能问题分析确认。芯片出厂前都会固化芯片固件程序代码、用户调用的API程序代码,对于安全芯片,固件程序用于芯片功能的配置,API程序中包含安全算法,这两种程序代码及程序执行的安全配置流程都需要进行保护。Debug调试功能很大程度提升了用户程序的开发效率,用户可以实时了解芯片的工作状态,和芯片寄存器、存储器中内容,但对于安全芯片,特定的区域是不允许用户访问,包括程序调试操作。有些安全芯片为了安全去除了Debug调试功能,也有些安全芯片增加EMMU模块功能,该模块对指定的寄存器、存储器增加读、写、执行的功能限制,但是对于用户调用API区的程序必须允许执行,无法禁止CPU中调试模块单步、断点、停止等调试功能,EMMU模块只能保证程序代码不被读取,无法彻底保护程序的安全配置和执行流程。为了满足带有Debug调试功能的芯片或是芯片仿真器的安全保护功能需要,本专利技术提出一种禁止调试功能的仿真器,设计一种包含调试寄存器模块、禁止调试模块和地址处理模块的调试模块,此调试模块支持直接连接CPU模块的调试总线,实现CPU调试操作的控制管理功能,从而实现对程序或数据的安全保护功能。本专利技术的仿真器,具有设计简单安全、与CPU调试接口兼容性高的特点,为具有安全要求的芯片或芯片仿真器设计提供一种调试保护方案。
技术实现思路
本专利技术所解决的技术问题是,如何设计一种具有禁止程序调试功能的仿真器,实现保护芯片存储器中的程序和数据,保护芯片寄存器的内容,保护程序的安全配置和执行流程等功能。本专利技术的仿真器的关键技术是如何设计调试模块来实现禁止调试功能,在仿真器硬件模块中增加调试模块,与CPU模块的调试总线和地址总线相连接,通过对存储器中的数据访问控制,以及存储器中程序执行运行、停止、单步、断点的调试操作控制,实现对存储器中的数据、程序代码及执行流程的安全保护功能。仿真器包括仿真器控制模块和仿真器硬件模块;仿真器硬件模块包括调试模块和芯片功能模块,调试模块包括调试寄存器模块、禁止调试模块和地址处理模块,芯片功能模块包括存储器和CPU模块;仿真器控制模块,与调试模块中的调试寄存器模块连接,产生各种调试命令,通过对调试寄存器模块的读写访问,实现各种调试操作;调试寄存器模块,与仿真器控制模块连接,实现仿真器控制模块调试命令的接收和响应;禁止调试模块,通过调试总线与CPU模块连接,控制CPU模块执行运行、停止、单步、断点的调试操作,并通过CPU模块实现对存储器的读写访问;地址处理模块,通过地址总线与CPU模块连接,输出禁止调试信号和断点标志信号,地址处理模块判断CPU模块输出的地址总线上的地址值,来决定禁止调试信号是否有效,如果地址总线上的地址值在禁止调试区域内,地址处理模块输出的禁止调试信号为有效高电平,禁止调试操作;如果地址值不在禁止调试区域内,输出的禁止调试信号为无效低电平,允许调试操作;地址处理模块同时连接到调试寄存器模块中的BR断点寄存器,判断断点寄存器的断点值及地址总线上的地址值,来产生断点标志信号;地址处理模块将地址总线上的地址值和BR功能寄存器输出的断点值实时比较,当两者值相等时,输出断点标志信号为有效高电平,表示CPU模块执行遇到了断点;当两者值不相等时,输出断点标志信号为无效低电平,表示CPU模块正常运行未遇到断点;芯片功能模块,芯片功能模块中的CPU模块与禁止调试模块、地址处理模块连接,实现芯片功能仿真和调试命令的执行,芯片功能模块中的存储器与CPU模块连接,用于存储程序和数据。仿真器中的调试寄存器模块包括IR、DR、CR、BR四个功能寄存器:IR为指令寄存器,存储调试操作需要CPU模块执行的指令,通过指令接口连接禁止调试模块;DR为数据寄存器,存储调试操作读写的数据,通过数据接口连接禁止调试模块;CR为控制寄存器,实现运行、停止、单步、断点的调试操作,通过控制接口连接禁止调试模块;BR为断点寄存器,存储程序调试操作设置的断点,BR输出的断点值连接到地址处理模块;仿真器中的禁止调试模块包括CPU调试模块、断点标志信号和CR输出Bkpt信号连接的与逻辑电路和开关逻辑电路共三部分,开关逻辑电路的个数根据具体要实现的禁调试功能来确定;仿真器中的禁止调试模块将指令接口、数据接口和控制接口三个接口转换为CPU模块的调试总线,实现接口与总线的转换功能,只需修改此模块的设计,就能够支持连接具有不同调试总线类型的CPU模块进行调试。仿真器中的禁止调试信号用以实现禁止调试的功能:当禁止调式信号为高电平时,当前地址处的指令禁止调试,此时断点标志信号有效或无效都不支持调试操作;当禁止调式信号为低电平时,当前地址处的指令支持调试操作,若断点标志信号为高电平CPU模块遇到断点停止运行,若断点标志信号为低电平CPU模块未遇到断点继续运行指令。仿真器中的仿真器硬件模块,不局限于采用FPGA实现的芯片仿真器硬件,还包括带调试功能的芯片硬件电路。仿真器中的CPU模块连接的存储器支持替换为芯片寄存器,也就是将CPU模块输出地址连接的存储器替换为芯片寄存器,从而能够实现禁止芯片寄存器读写的调试操作,达到对寄存器中数据的保护目的。仿真器中控制寄存器CR由STOPED、RUN、STOP、STEP、KEEP、BKPT六个寄存器位组成,功能描述如下:STOPED为CPU模块停止标志位,为1时表示CPU模块停止,为0时表示CPU模块正在运行;仿真器控制模块读到STOPED的值,用于显示当前CPU的运行状态。RUN为CPU模块运行控制位,由0变为1时,CPU模块开始运行,由1变为0时无效,不产生任何调试操作;运行操作方法为:在CPU模块停止时,仿真器控制模块向RUN位先写入1再写入0,CPU模块即开始执行存储器中的程序。STOP为CPU模块停止控制位,由0变为1时,CPU模块停止运行,由1变为0时无效,不产生任何调试操作;停止操作方法为:在CPU模块运行时,仿真器控制模块向STOP位先写入1再写入0,CPU模块进入停止状态。STEP为CPU模块单步控制位,由0变为1时,CPU模块执行一次单步操作,由1变为0时无效,不产生任何调试操作;单步操作方法为:在CPU模块停止时,仿真器控制模块向STEP位先写入1再写入0,CPU模块执行一条指令后停止。KEEP为调试操作控制位,为1时表示单步操作执行指令寄存器IR中的指令,为0时表示单步操作执行存储器中程序代码中的指令。当KEEP为1时,用于控制IR中的指令执行,实现控制CPU模块对芯片寄存器或存储器的读写访问,实现观看或修改芯片寄存器或存储器值的功能;当前CPU模块要执行程序前向KEEP位先写入0,再控制CPU模块执行运行本文档来自技高网
...

【技术保护点】
1.一种具有禁止程序调试功能的仿真器,其特征在于在仿真器硬件模块中增加调试模块,与CPU模块的调试总线和地址总线相连接,通过对存储器中的数据访问控制,以及存储器中程序执行运行、停止、单步、断点的调试操作控制,实现对存储器中的数据、程序代码及执行流程的安全保护;/n仿真器包括仿真器控制模块和仿真器硬件模块;/n仿真器硬件模块包括调试模块和芯片功能模块,调试模块包括调试寄存器模块、禁止调试模块和地址处理模块,芯片功能模块包括存储器和CPU模块;/n仿真器控制模块,与调试模块中的调试寄存器模块连接,产生各种调试命令,通过对调试寄存器模块的读写访问,实现各种调试操作;/n调试寄存器模块,与仿真器控制模块连接,实现仿真器控制模块调试命令的接收和响应;/n禁止调试模块,通过调试总线与CPU模块连接,控制CPU模块执行运行、停止、单步、断点的调试操作,并通过CPU模块实现对存储器的读写访问;/n地址处理模块,通过地址总线与CPU模块连接,输出禁止调试信号和断点标志信号,如果地址总线上的地址值在禁止调试区域内,地址处理模块输出的禁止调试信号为有效高电平,禁止调试操作;如果地址值不在禁止调试区域内,输出的禁止调试信号为无效低电平,允许调试操作;地址处理模块将地址总线上的地址值和BR功能寄存器输出的断点值实时比较,当两者值相等时,输出断点标志信号为有效高电平,表示CPU模块执行遇到了断点;当两者值不相等时,输出断点标志信号为无效低电平,表示CPU模块正常运行未遇到断点;/n芯片功能模块,芯片功能模块中的CPU模块与禁止调试模块、地址处理模块连接,实现芯片功能仿真和调试命令的执行,芯片功能模块中的存储器与CPU模块连接,用于存储程序和数据。/n...

【技术特征摘要】
1.一种具有禁止程序调试功能的仿真器,其特征在于在仿真器硬件模块中增加调试模块,与CPU模块的调试总线和地址总线相连接,通过对存储器中的数据访问控制,以及存储器中程序执行运行、停止、单步、断点的调试操作控制,实现对存储器中的数据、程序代码及执行流程的安全保护;
仿真器包括仿真器控制模块和仿真器硬件模块;
仿真器硬件模块包括调试模块和芯片功能模块,调试模块包括调试寄存器模块、禁止调试模块和地址处理模块,芯片功能模块包括存储器和CPU模块;
仿真器控制模块,与调试模块中的调试寄存器模块连接,产生各种调试命令,通过对调试寄存器模块的读写访问,实现各种调试操作;
调试寄存器模块,与仿真器控制模块连接,实现仿真器控制模块调试命令的接收和响应;
禁止调试模块,通过调试总线与CPU模块连接,控制CPU模块执行运行、停止、单步、断点的调试操作,并通过CPU模块实现对存储器的读写访问;
地址处理模块,通过地址总线与CPU模块连接,输出禁止调试信号和断点标志信号,如果地址总线上的地址值在禁止调试区域内,地址处理模块输出的禁止调试信号为有效高电平,禁止调试操作;如果地址值不在禁止调试区域内,输出的禁止调试信号为无效低电平,允许调试操作;地址处理模块将地址总线上的地址值和BR功能寄存器输出的断点值实时比较,当两者值相等时,输出断点标志信号为有效高电平,表示CPU模块执行遇到了断点;当两者值不相等时,输出断点标志信号为无效低电平,表示CPU模块正常运行未遇到断点;
芯片功能模块,芯片功能模块中的CPU模块与禁止调试模块、地址处理模块连接,实现芯片功能仿真和调试命令的执行,芯片功能模块中的存储器与CPU模块连接,用于存储程序和数据。


2.根据权利要求1所述的一种具有禁止程序调试功能的仿真器,其特征在于仿真器中的调试寄存器模块包括IR、DR、CR、BR四个功能寄存器:
IR为指令寄存器,存储调试操作需要CPU模块执行的指令,通过指令接口连接禁止调试模块;
DR为数据寄存器,存储调试操作读写的数据,通过数据接口连接禁止调试模块;
CR为控制寄存器,实现运行、停止、单步、断点的调试操作,通过控制接口连接禁止调试模块;
BR为断点寄存器,存储程序调试操作设置的断点,BR输出的断点值连接到地址处理模块。


3.根据权利要求1所述的一种...

【专利技术属性】
技术研发人员:张洪波赵满怀刘瑾
申请(专利权)人:北京中电华大电子设计有限责任公司
类型:发明
国别省市:北京;11

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

1