首页 / 兼备外置存储电路和内置存储电路的仿真装置

兼备外置存储电路和内置存储电路的仿真装置失效专利 实用

技术领域

[0001] 本实用新型涉及仿真电路设计领域,尤其涉及仿真器中的运行轨迹跟踪电路设计,具体是指一种兼备外置存储电路和内置存储电路的仿真装置。

相关背景技术

[0002] 一个ICE(In-Circuit Emulator,硬件调试方法)应包括两个接口,一个是连接到目标板上的MCU(Microprogrammed Control Unit,微控制器)插座,另一个与PC(Personal Computer,个人电脑)相连。仿真器应该与目标MCU在电气及物理上等价,并能在开发系统中替代MCU。目标系统的操作可由PC得以控制及观察。在开发初期,开发系统依靠仿真器工作,当目标功能完善后,仿真器将被真正的MCU取代。
[0003] ICE的质量很大程度上依赖于它与其要仿真的MCU之间的吻合程度,bond-out(外合)MCU(简称仿真芯片)能最大程度上提供ICE与商用MCU的无差别替换。Bond-out MCU是芯片设计公司为实现其商用MCU的仿真功能,将内部的数据、地址及控制总线连接到芯片封装的引脚上,使得外部仿真逻辑可以监视和控制MCU内部的状态。
[0004] 基于bond-out MCU的在线仿真器的结构系统包括三部分:bond-out MCU、存储用户程序的SRAM及仿真监控电路。Bond-out MCU的数据、地址总线连接到SRAM,作为外部程序储存器。同时数据、地址及控制总线连接到仿真监控电路,使ICE可以监视和控制bond-out MCU的运行状态。与PC相连的通讯接口根据速度及成本可选用串口、并口或USB接口。Bond-out MCU从本质上将是商用MCU的一种扩展,它包括所有商用MCU上的I/O并提供给用户使用,其电气与时序上应保证与商用MCU对应引脚完全一致。
[0005] 由于市场对MCU功能的要求总是不断变化和升级,MCU应用的领域也不断扩展,因此往往需要对最初的设计进行修改。基于OTP(One Time Programmable,一次性可编程)/MASK(掩膜)MCU仿真器设计的一种常见做法是,将用户的待调试程序存储在MCU外部主控板上的SRAM中,通过bond-out MCU的外部结构——仿真监控硬件(以下简称外部仿真逻辑)监视和控制仿真接口信号即bond-out的信号,来获取MCU的状态,进而实现仿真器单步(Step)、全速(Run)、断点、跟踪记录已执行的程序(Trace)等功能。
[0006] 这种非商用芯片专用于构成在线仿真器,当用户程序在仿真器中调试完成后,编程到商用MCU芯片中,应用到用户系统。
[0007] 通过查阅资料,现有仿真器程序运行轨迹跟踪(以下简称Trace)功能是采用MCU内部增加SRAM存储单元的方式实现的。
[0008] Trace电路由存贮Trace内容的SRAM和Trace监控电路组成。Trace SRAM的数据总线与bond-out MCU地址总线并接,Trace SRAM的地址控制信号由Trace监控电路产生。在仿真器初始化时Trace SRAM的地址被设置为0,当用户要求开始记录已执行的程序,在每个指令周期中,Trace SRAM的地址自加一并将bond-out MCU地址写入SRAM中。在PC要读取Trace内容时,bond-out MCU依次执行过的程序地址被上载到PC端并对应列出该地址上的指令代码。Trace的记录长度受SRAM大小限制,当超出记录长度时前面的数据会被覆盖。
[0009] 现有技术方案缺点:
[0010] (1)仿真器Trace功能的实现完全依赖于仿真MCU内部的FIFO存储模块,一旦该模块功能失效或因为某种考虑仿真MCU在设计之初没有增加该模块时,仿真器Trace功能将不复存在。
[0011] (2)仿真器Trace功能模式单一,除了简单的程序运行轨迹跟踪,对断点前后指定长度范围内的程序指令的记录就无能为力了。实用新型内容
[0012] 本实用新型的目的是克服了上述现有技术的缺点,提供了一种通过采用主控外置存储电路和仿真芯片内置存储电路两种方式有效跟踪记录仿真器实际执行过的指令,以便调试状态下查看程序运行轨迹,提高用户程序开发或调试效率的兼备外置存储电路和内置存储电路的仿真装置。
[0013] 为了实现上述目的,本实用新型的兼备外置存储电路和内置存储电路的仿真装置具有如下构成:
[0014] 该兼备外置存储电路和内置存储电路的仿真装置,其主要特点是,所述的装置包括主控芯片、外置存储电路和具有内置存储电路的仿真芯片,其中,所述的主控芯片和所述的仿真芯片相互连接,所述的外置存储电路分别与所述的主控芯片和所述的仿真芯片连接。
[0015] 进一步地,所述的主控芯片和所述的外置存储电路设置于主控板上,所述的具有内置存储电路的仿真芯片设置于仿真板上,所述的主控板与所述的仿真板之间通过仿真控制接口连接。
[0016] 更进一步地,所述的主控板还包括FLASH模块、SRAM模块、配置模块和通讯接口,所述的FLASH模块、所述的SRAM模块、所述的配置模块和所述的通讯接口分别与所述的主控芯片连接。
[0017] 更进一步地,所述的外置存储电路包括彼此相互连接的数据存储器和由三态缓冲器组成的读写控制电路,且所述的数据存储器连接所述的仿真芯片,所述的读写控制电路分别连接所述的主控芯片和所述的仿真芯片。
[0018] 更进一步地,所述的内置存储电路包括RAM存储阵列、计数器、第一逻辑电路和第二逻辑电路,其中:
[0019] 所述的第一逻辑电路的第一输入端连接所述的主控芯片,所述的第一逻辑电路的第二输入端连接所述的仿真芯片,所述的第一逻辑电路的输出端连接所述的RAM存储阵列的WE引脚;
[0020] 所述的第二逻辑电路的第一输入端连接所述的主控芯片,所述的第二逻辑电路的第二输入端连接所述的仿真芯片,所述的第二逻辑电路的输出端分别连接所述的计数器的输入端和所述的RAM存储阵列的T引脚;
[0021] 所述的计数器的输出端与所述的RAM存储阵列的ADR引脚连接;
[0022] 所述的RAM存储阵列的DO引脚连接一个二选一开关的第一输入端;
[0023] 所述的仿真芯片内部的PC寄存器的输出端分别连接所述的二选一开关的第二输入端和所述的RAM存储阵列的DI引脚;
[0024] 所述的二选一开关的输出端连接所述的主控芯片;
[0025] 所述的RAM存储阵列的CS引脚与一个复位电路连接。
[0026] 更进一步地,所述的装置还包括用户仿真接口,所述的用户仿真接口与所述的仿真芯片连接。
[0027] 采用了本实用新型的兼备外置存储电路和内置存储电路的仿真装置,利用主控外置FIFO存储电路和仿真MCU内置FIFO存储电路两种方案共同实现仿真器的Trace功能,同时优化仿真器Trace功能的显示模式,增加断点前后程序指令显示功能,该装置具有的两种方案相互补充,为用户提供了快速定位、分析程序运行轨迹的效果,有助于提高程序调试或开发效率,实现程序从仿真器到商用MCU芯片的无缝转移,故本实用新型具有以下效益:
[0028] 1、本实用新型采用两种方案,互为补充,使得仿真器Trace功能的实现较为灵活。
[0029] 2、仿真MCU中内置FIFO存储单元,电路结构简单,成本低、功耗小,读写操作方便。数据容量的大小可根据需要弹性设计。
[0030] 3、能够实现不同模式的程序轨迹跟踪功能,如:断点前2k显示、断点前后各1k显示。

具体实施方式

[0034] 为了能够更清楚地描述本实用新型的技术内容,下面结合具体实施例来进行进一步的描述。
[0035] 在一种实施方式中,如图1所示,为本实用新型的仿真装置的结构示意图,仿真装置(又称仿真器)硬件结构由主控板和仿真板组成,通过两个双排针插座上下相连,其中具体说明如下:
[0036] (1)主控板
[0037] 主控板用于实现对仿真芯片的仿真控制(包括地址总线、数据总线及控制信号),其包括配置模块和通讯接口,分别与所述的主控芯片连接。
[0038] 板上有一片并行SRAM用于装载用户程序和设置断点信息,一片并行FLASH用于实现脱机运行功能,分别与所述的主控芯片连接。
[0039] 主控板上同时预留了外置FIFO电路的贴装位置和用于连接仿真板的仿真控制接口。
[0040] (2)仿真板
[0041] 仿真板的核心是一颗矽科公司的通用MCU,该电路除了传统芯片应有的功能外,内部增加了一个2K*16bit的FIFO(先进先出)数据缓存器,由RAM存储阵列以及相应的控制电路实现,用于记录仿真过程中运行过的程序地址。仿真板上还有电源接口以及仿真控制接口连接到主控板。
[0042] 本实用新型中仿真器Trace功能的实现采用以下两种方案:
[0043] 1)主控外置FIFO方案
[0044] 该方案是由主控板上FIFO存储芯片及读写控制电路组成,原理如图2所示。
[0045] CY7C4255V芯片是FIFO数据存储器,该FIFO数据存储器的D/Q端、控制芯片的地址总线与仿真MCU(即仿真芯片)地址总线三者互连。三态缓冲器74LV125组成读写控制电路,用于FIFO读写信号以及数据溢出控制。
[0046] 其中,NOPFLAG信号、Q1信号由仿真MCU提供,写时钟EFIFO_WCLK信号由Q1引脚产生,读时钟RD_CLK信号由控制芯片提供(不读时,为输入状态)。
[0047] 当FIFO数据存储器处于数据写入状态时,主控使能写信号EFIFO_WEN,在仿真MCU每个指令周期Q1信号的低电平期间,写时钟EFIFO_WCLK有效,将D端地址总线上的数据写入FIFO。
[0048] 当FIFO数据存储器处于数据读取状态时,主控芯片使能EFIFO_OE、EFIFO_REN,并切换RD_CLK为输出。在读时钟信号RD_CLK的作用下,主控芯片读取并存储Q端数据。
[0049] 其中,NOPFLAG信号由仿真MCU产生,用于屏蔽双周期指令的第二个周期,防止其写入FIFO。为了防止数据溢出,当FIFO半满时,半满标志EFIFO_HF输出有效电平,该信号使得RD_CLK与EFIFO_WCLK相同,FIFO边写边读,始终处于半满状态。
[0050] 该方案电路结构简单、数据读写方便,作为MCU内置FIFO失效而造成仿真器Trace功能失败的补救措施。
[0051] 2)仿真MCU内置FIFO方案。
[0052] (1)内置FIFO存储电路的组成
[0053] 芯片内置FIFO是仿真器运行轨迹跟踪最为重要的硬件电路部分,其原理图如图3所示,内置FIFO存储电路由RAM存储阵列、2k循环计数器以及读写控制电路组成。其中,DI/DO为PC寄存器的PC地址输入/出口;写使能/写时钟wr_en和wr_clk由MCU内部产生,控制数据写入;读使能/读时钟rd_en和rd_clk由控制芯片提供,用于读取数据;复位信号CS由复位电路控制。
[0054] (2)工作原理
[0055] RAM的地址是由2K循环计数器产生,每次数据记录之前,计数器被清零。当写使能/写时钟wr_en、wr_clk有效时,PC依次被写入计数器指定的RAM存储阵列中;当读使能/读时钟rd_en、rd_clk有效时,数据依次从DO口经ROMADR总线被读出。该电路分时工作,数据的读和写不能同时进行。
[0056] 该电路能够记录最新的2K个地址数据,2K之前的地址数据将会被超出2k的新地址数据覆盖。在读取数据时,2K个rd_clk就可以读取全部的数据。实际存储容量可以通过改变RAM存储阵列的存储深度、字长以及循环计数器的计数长度进行调整。
[0057] 该电路利用循环计数器作为RAM阵列的寻址方式来实现FIFO先进先出的功能,具有控制结构简单、读写操作方便、成本低的优点。
[0058] (3)工作模式
[0059] 矽科MCU芯片的逻辑中有一个名为COUNTER 1K的计数器,将图3所示的电路与COUNTER 1K计数器配合起来,可以实现两种不同的程序运行轨迹跟踪模式,即断点前2k显示、断点前后各1k显示。
[0060] A)断点前2k显示:程序从头/当前运行到断点处停止,FIFO中存储的是从头/当前到断点处的指令地址(不够2K显示出来的就是实际运行的指令;超过2K就会从FIFO起始部分覆盖,显示的是断点前2K的指令)。
[0061] B)断点前后各1k显示:程序从头/当前运行到断点处不停,继续再向下运行1K的指令时停止,COUNTER 1K计数器溢出时使系统进入调试状态。此时FIFO中存储的是断点前后各1K的指令地址。
[0062] 上述内容为本实用新型的技术方案的一个具体实施例,其中包含仿真MCU的内部FIFO存储电路的设计,利用主控外打时钟和仿真芯片指令周期进行FIFO数据的读和写,并配合上位机软件实现仿真器Trace功能。
[0063] 鉴于此核心技术方案,可以利用同等芯片替代仿真MCU的实现同样的功能,例如FPGA,只是需要将FPGA自定义成仿真芯片的内核,并用FPGA内部的RAM资源作为FIFO存储单元。但是,这个方案成本较高、仿真烧写过程繁琐,不能直观体现本实用新型的特点,而且无法最大程度上提供仿真器ICE与商用MCU的无差别替换。
[0064] 采用了本实用新型的兼备外置存储电路和内置存储电路的仿真装置,利用主控外置FIFO存储电路和仿真MCU内置FIFO存储电路两种方案共同实现仿真器的Trace功能,同时优化仿真器Trace功能的显示模式,增加断点前后程序指令显示功能,该装置具有的两种方案相互补充,为用户提供了快速定位、分析程序运行轨迹的效果,有助于提高程序调试或开发效率,实现程序从仿真器到商用MCU芯片的无缝转移,故本实用新型具有以下效益:
[0065] 1、本实用新型采用两种方案,互为补充,使得仿真器Trace功能的实现较为灵活。
[0066] 2、仿真MCU中内置FIFO存储单元,电路结构简单,成本低、功耗小,读写操作方便。数据容量的大小可根据需要弹性设计。
[0067] 3、能够实现不同模式的程序轨迹跟踪功能,如:断点前2k显示、断点前后各1k显示。
[0068] 在此说明书中,本实用新型已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本实用新型的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

当前第1页 第1页 第2页 第3页
相关技术
存储电路相关技术
仿真装置相关技术
徐利发明人的其他相关专利技术