CN101354730B - 一种仿真器芯片的仿真方法 - Google Patents
一种仿真器芯片的仿真方法 Download PDFInfo
- Publication number
- CN101354730B CN101354730B CN2007101872089A CN200710187208A CN101354730B CN 101354730 B CN101354730 B CN 101354730B CN 2007101872089 A CN2007101872089 A CN 2007101872089A CN 200710187208 A CN200710187208 A CN 200710187208A CN 101354730 B CN101354730 B CN 101354730B
- Authority
- CN
- China
- Prior art keywords
- microcontroller
- bus
- emulator
- mode
- internal module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种仿真器芯片的仿真方法,仿真器芯片包括微控制器内部模块,与之相连的内部总线,其中,还包括外部总线以及与外部总线相连的外围电路;所述内部总线与所述外部总线分别通过模式切换装置切换与微控制器内部模块的连接,当模式切换装置将内部总线切换至与微控制器内部模块相连时,仿真器工作在正常模式;当模式切换装置将外部总线切换至与微控制器外部模块相连时,仿真器工作在调试模式,外围电路对微控制器内部模块进行调试。本发明可实现对微控制器的实时调试核实时仿真,且可移植性较佳,对于芯片的开发和应用具有很高的使用价值。
Description
本申请是申请号200510029285.2的分案申请(申请日:2005.8.31,发明名称:一种仿真器芯片及其仿真方法。)
技术领域
本发明涉及微控制器领域,特别是关于一种仿真器芯片及其仿真方法。
背景技术
随着深亚微米CMOS(Conlplementary Metal-Oxide-SemiconductorTransistor,互补型金属氧化物半导体)集成电路生产工艺的不断进步,目前技术上已经可以把复杂的微控制器内核集成在一块芯片上,同时留有足够的硅片面积用于实现复杂的存储器和外设逻辑,过去用于高端32位和64位CPU的设计方法和构架现在已经能够有效的用于低价微控制器系统。利用这些功能强大而且便宜的微控制器,全系统的集成度不断提高。硬件结构可执行更复杂高效的程序,集成更多的硬件功能。
近年来,微控制器的开发和应用获得了广泛的普及,而微控制器的开发和应用离不开基于该微控制器的仿真器。虽然仿真器应该具有什么特征还有不同的看法,但是各种微控制器的仿真器都有一些特征:(1)必须基于一定的微控制器构架设计的;(2)具备微控制器芯片能够实现的全部功能;(3)具备一定的微控制器的实时调试、仿真功能。
微控制器的仿真器芯片的这些特征也带来了一些本质的缺陷和不足:(1)仿真器芯片的构架是基于一定构架的微控制器;(2)仿真器的使用需要一定的软件硬件的支持;(3)仿真器芯片面积大于微控制器芯片面积,仿真器芯片的管脚数目大于微控制器芯片的管脚数目;(4)仿真器主要用于调试和仿真,所以芯片的量产不会很大。
现在有很多公司生产微控制器都有仿真器,如微芯片公司(Microchip)、摩托罗拉(Motorola)、日本电气(NEC)、日立(Hitachi)、盛群(Holtek)等。虽然这些公司的微控制器基本上都有仿真器,功能也是各式各样,但是这些仿真器都是基于特定的微控制器构架,所以不具备可移植性。
快速设计周期在微控制器的仿真器芯片系统开发中是非常重要的,而且软件在计算机系统里有着不容置疑的重要地位。仿真器系统的使用跟软件编程与硬件设计之间的规格接口密切相关,这个接口就是微控制器的指令集。通过外部并行输入指令,使得芯片能够正常工作和仿真调试模式。
因此就需要开发一种具备可移植性较佳,同时芯片工作模式和调试模式比较简单的仿真器芯片系统。
发明内容
本发明的目的在于提供一种仿真器芯片,克服了现有技术仿真器结构以及工作方式复杂,可移植性差的不足,较简单地实现了对微控制器的实时调试和实时仿真。
本发明是通过以下技术方法实现的:一种仿真器芯片,包括微控制器内部模块,与之相连的内部总线,该仿真器芯片还设有外部总线将外围电路与微控制器内部模块相连,该外部总线和内部总线与模式切换装置相连,该模式切换装置可切换外部总线以及内部总线与微控制器内部模块的连接。
其中,所述的模式切换装置包括多路器和控制该多路器的选择器,多路器的输入端分别连接内部总线和外部总线,多路器的输出端连接微控制器内部模块。选择器由D触发器、RS触发器和计数器组成,D触发输出分别与计数器和RS触发器相连,计数器输出与RS触发器相连,选择器信号由D触发器和计数器输入端输入;由RS触发器的输出端输出。选择器控制微控制器内部时钟发生器使微控制器处于待机状态或工作状态。
所述的外围电路是实现仿真器的暂停、断点、单步运行的电路,还包括译码器以扩展片选信号,实现多种不同型号的微控制器的仿真器功能,以及实现多套指令集和不同功能模块组合。外围电路通过外部总线监控微控制器运行状态并保存数据。
所述的内部总线分别为内部地址、数据、控制总线;外部总线分别为外部地址、数据、控制总线。
本发明的另一目的在于提供一种仿真方法,以较简单地实现对微控制器的实时调试和实时仿真。
为实现这一目的,本发明提供了一种仿真器芯片的仿真方法,在具有内部总线的微控制器上设置外部总线将外围电路与微控制器内部模块相连;使用内部总线时,仿真器工作在正常模式,其功能等同微控制器;使用外部总线时,仿真器工作在调试模式,可以实现调试功能。
其中,所述的调试功能包括断点运行,单步运行,停止运行等功能。在调试时,可以对内部存储器进行读取、修改储器值。内部存储器包括寄存器和SRAM(Static Random Access Memory,静态随机访问存储器)存储单元。
该方法通过外部总线了解微控制器运行状态及修改微控制器的运行状态。外部总线要求仿真器芯片停止运行进入调试模式时,此时微控制器正在执行单周期指令,微控制器将在当前指令周期完成后进入调试模式。通过外部总线要求仿真器芯片停止运行进入调试模式时,微控制器正在执行双周期指令,微控制器将在当前指令执行完成后进入调试模式。通过外部总线要求仿真器芯片停止运行进入调试模式时,微控制器正在响应中断,微控制器将相应中断完毕后进入调试模式。
本发明的仿真器是具备仿真调试的断点、单步、停止运行等功能,且可移植性较佳,可同时满足同一系列不同产品的仿真调试条件。较简单地实现了对微控制器的实时调试和实时仿真。本发明采用双总线结构简化了仿真器芯片结构,并且也不需要较复杂的软件支持,减低了成本,对于芯片的开发和应用具有很高的使用价值。
附图说明
图1是本发明的仿真器芯片系统使用两组总线的示意图。
图2是本发明的译码器结构示意图。
图3是调试模式进入/退出实现原理示意图。
图4是数据读出的实现原理示意图。
图5是数据写入的实现原理示意图。
具体实施方式
本发明提供一种微控制器的仿真器芯片构架发明,采用双总线结构,分别为内部总线和外部总线。内部总线用于正常微控制器工作模式,外部总线用于微控制器的调试模式。可以通过简单外围电路配合实现仿真器的连续运行、暂停、断点、单步运行等功能,连续运行时,其功能等同于微控制器芯片,该仿真器可以实现同一系列不同型号的微控制器产品的仿真功能,可以支持多种不同型号的微控制器,具有很强的扩展性。
本发明的双总线分别为内部地址、数据、控制总线和外部地址、数据、控制总线。使用内部总线时,仿真器工作在正常模式,其功能等同微控制器;使用外部总线时,仿真器工作在调试模式,可以实现调试功能,包括断点运行,单步运行,停止运行等功能。在调试仿真器时,可以对内部存储器进行读取存、修改储器值,内部存储器包括寄存器和SRAM存储单元。实时停止、进入断点停止、单步停止运行时,芯片进入调试模式,可以对数据寄存器的读写操作,对程序计数器PC的修改及读出等,用户可通过外部总线了解微控制器运行状态及修改微控制器的运行状态。
用户通过外部总线要求仿真器芯片停止运行进入调试模式时,此时微控制器正在执行单周期指令,微控制器将在当前指令周期完成后进入调试模式。
用户通过外部总线要求仿真器芯片停止运行进入调试模式时,微控制器正在执行双周期指令,微控制器将在当前指令执行完成后进入调试模式。
用户通过外部总线要求仿真器芯片停止运行进入调试模式时,微控制器正在响应中断,微控制器将相应中断完毕后进入调试模式。
本发明可应用于各种类型的微控制器的仿真系统及其实现,为说明简单起见,在下面的实施例中以8位RISC(Reduced Instruction Set Computer,精简指令集计算机)为例来介绍本发明。
下面结合附图详细描述以8位RISC为例的本发明的微控制器的仿真器芯片系统。
首先请参阅图1,图1是仿真器构架使用两组总线的示意图,内部总线1包括内部数据总线3、内部地址总线4和内部控制总线5,外部总线2包括外部数据总线6、外部地址总线7和外部控制总线8。这些总线都接到微控制器的各个模块,分别供正常工作模式和调试模式使用。微控制器包括内部总线1和微控制器内部各模块一起组成微控制器,可以连续运行,其功能等同于微控制器芯片。而外部总线6与微控制器内部各模块相连构成仿真器,实现包括断点运行,单步运行,停止运行等调试功能。
如图2是本发明的译码器结构示意图,由于微控制器的仿真器是基于一定微控制器构架,所以该微控制器构架的一系列产品具有很多共性,但同时也具有一定的差异性。如图2中的实施例的仿真器可以实现同一系列的四种不同型号的微控制器的仿真器功能,同时根据用户的需求可以进行扩展。片选信号11、12通过2到4译码器,输出译码信号13、14、15、16,分别对应不同型号微控制器的使能信号,这些信号选择属于该微控制器的模块。选择好所有的模块以后,各个模块通过内部总线和外部总线将微控制器的仿真器连接,使其形成特定型号的微控制器仿真器构架。当然在本发明的其他实施例中还可以通过其他类型的译码器,使得本发明仿真器可以对应更多种类或型号的微控制器。
如图3是调试模式进入/退出实现原理示意图,本实施例的模式切换装置中的选择器由一个D触发器27、RS触发器29和计数器28组成,其中D触发器27有三个输入端口,即时钟端口CK、数据端口D、清零端口C,其输出端口Q分别与计数器28和RS触发器29的复位端口R相连;计数器28与RS触发器29的设置端口S相连;RS触发器29具有输出端口Q。当调试模式请求信号22为高电平时,输入到D触发器27时,经过时钟信号23同步(时钟信号23同步保证了当前指令执行完成的时钟信号),输出调试模式使能信号25为高电平。调试模式使能信号25输入到RS触发器29,使得RS触发器29的输出信号26为低电平,输出信号26为控制微控制器内部时钟发生器停止运行的信号,从而实现了微控制器处于待机状态,同时调试模式使能信号25标志目前处于调试模式。而当调试模式请求信号22从高电平变为低电平,结束请求,则调试模式使能信号25信号马上变为低电平。由于C端信号24是调试模式使能信号25的反信号以及复位信号,所以此时C端信号24将从低电平变为高电平,使得D触发器27输出低电平。当D触发器27输出低电平时,计数器28由输入时钟21而开始计数,计数到一定值时,触发RS触发器29使输出信号26变为高电平,恢复微控制器正常工作模式。
如图4是数据读出的实现原理示意图。每次仿真器进入调试模式,包括断点、单步、停止运行模式,仿真器将实时读取微控制器内部工作寄存器、数据存储器、程序计数器、堆栈指针、堆栈内容。寄存器读取的使能信号,即控制总线,通过多路选择器进行选择,将依次输出各寄存器读取的使能信号,并依次读取寄存器值。读取数据存储器时,该使能信号还需要配合地址总线上的寻址信号,才能一次读取数据存储器的值。
在图4中,信号31为各寄存器读取使能信号,信号32为使能信号的选通信号,信号33为读取信号的输出,信号34为读取数据存储器的寻址信号,信号35为寄存器值输出到外部数据总线的输出信号。
如图5是数据写入的实现原理示意图。在调试模式下调试,需要修改数据存储器值或者修改PC值,可以通过外部数据总线、地址总线和控制总线将所需要修改寄存器值。进入调试模式,调试模式控制信号51通过选择器选取修改数据存储器使能信号52或者选取修改PC使能信号53。如果修改数据存储器,那么通过多路器使能外部控制总线8,同时禁止内部控制总线5,输出控制总线47;使能外部数据总线6,禁止内部数据总线3,输出数据总线48;使能外部地址总线7,禁止内部地址总线4,输出地址总线49。修改PC值的外部数据通过44的低5位和外部地址总线46合并为外部数据56,通过多路器的选通外部数据56,禁止内部数据50,输出数据54写入缓冲器后,将缓冲后数据55写入PC寄存器。这样就可以通过外部总线来实现修改数据存储器值或者修改PC值。
以上介绍的仅仅是基于本发明的几个较佳实施例,并不能以此来限定本发明的范围。任何对本发明的装置作本技术领域内熟知的部件的替换、组合、分立,以及对本发明实施步骤作本技术领域内熟知的等同改变或替换均不超出本发明的揭露以及保护范围。
Claims (7)
1.一种仿真器芯片的仿真方法,仿真器芯片包括微控制器内部模块,与之连接的内部总线,其中,还包括外部总线以及与外部总线相连的外围电路;所述内部总线与所述外部总线分别通过模式切换装置切换与微控制器内部模块的连接,所述模式切换装置包括多路器和控制该多路器的选择器,多路器的输入端分别连接内部总线和外部总线,多路器的输出端连接微控制器内部模块,当模式切换装置将内部总线切换至与微控制器内部模块连接时,仿真器工作在正常模式;当模式切换装置将外部总线切换至与微控制器内部模块相连时,仿真器工作在调试模式,外围电路对微控制器内部模块进行调试。
2.根据权利要求1所述的仿真方法,其特征在于,所述外围电路对微控制器内部模块进行调试包括:外围电路对微控制器内部模块进行断点运行、单步运行以及停止运行操作。
3.根据权利要求1所述的仿真方法,其特征在于,所述外围电路对微控制器内部模块进行调试时,还包括:外围电路读取、修改微控制器内部模块中的内部存储器中的存储器值。
4.根据权利要求1所述的仿真方法,其特征在于,所述外围电路对微控制器内部模块进行调试包括:外围电路通过外部总线获得微控制器运行状态及修改微控制器的运行状态。
5.根据权利要求1所述的仿真方法,其特征在于,所述外围电路对微控制器内部模块进行调试包括:当通过外部总线要求仿真器芯片停止运行进入调试模式时,此时微控制器正在执行单周期指令,微控制器将在当前指令周期完成后进入调试模式。
6.根据权利要求1所述的仿真方法,其特征在于,所述外围电路对微控制器内部模块进行调试包括:当通过外部总线要求仿真器芯片停止运行进入调试模式时,此时微控制器正在执行双周期指令,微控制器将在当前指令周期完成后进入调试模式。
7.根据权利要求1所述的仿真方法,其特征在于,所述外围电路对微控制器内部模块进行调试包括:当通过外部总线要求仿真器芯片停止运行进入调试模式时,此时微控制器正在响应中断,微控制器将响应中断完毕后进入调试模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101872089A CN101354730B (zh) | 2005-08-31 | 2005-08-31 | 一种仿真器芯片的仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101872089A CN101354730B (zh) | 2005-08-31 | 2005-08-31 | 一种仿真器芯片的仿真方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100292852A Division CN100357909C (zh) | 2005-08-31 | 2005-08-31 | 一种仿真器芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101354730A CN101354730A (zh) | 2009-01-28 |
CN101354730B true CN101354730B (zh) | 2010-08-25 |
Family
ID=40307537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101872089A Active CN101354730B (zh) | 2005-08-31 | 2005-08-31 | 一种仿真器芯片的仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101354730B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105629823A (zh) * | 2014-11-26 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 一种可扩展的模块化小型控制器装置 |
CN107239614A (zh) * | 2017-06-05 | 2017-10-10 | 芯海科技(深圳)股份有限公司 | 一种外部事件触发断点的芯片仿真方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692161A (en) * | 1992-10-02 | 1997-11-25 | Sgs-Thomson Microelectronics S.A. | Method and apparatus for operating a microcomputer in an emulation mode to access an external peripheral |
US6799157B1 (en) * | 1999-03-23 | 2004-09-28 | Seiko Epson Corporation | Method for improving pin compatibility in microcomputer emulation equipment |
-
2005
- 2005-08-31 CN CN2007101872089A patent/CN101354730B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692161A (en) * | 1992-10-02 | 1997-11-25 | Sgs-Thomson Microelectronics S.A. | Method and apparatus for operating a microcomputer in an emulation mode to access an external peripheral |
US6799157B1 (en) * | 1999-03-23 | 2004-09-28 | Seiko Epson Corporation | Method for improving pin compatibility in microcomputer emulation equipment |
Also Published As
Publication number | Publication date |
---|---|
CN101354730A (zh) | 2009-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101788931B (zh) | 一种硬件实时容错的动态局部可重构系统 | |
CN101154183B (zh) | 一种微控制器嵌入式在线仿真调试系统 | |
CN100565472C (zh) | 一种适用于多处理器核系统芯片的调试方法 | |
CN100585852C (zh) | 使用最少引脚而被测试的半导体器件、以及测试其的方法 | |
CN100422953C (zh) | 利用HDL扩展串口的SoC系统在线调试方法 | |
CN101694512A (zh) | 测试电路和片上系统 | |
JPS6361691B2 (zh) | ||
CN105930186B (zh) | 多cpu的软件加载方法及基于多cpu的软件加载装置 | |
CN103235760B (zh) | 基于CLB总线的高利用率NorFLASH存储接口芯片 | |
CN105335548B (zh) | 一种用于ice的mcu仿真方法 | |
CN102789815B (zh) | 一种用于fpga配置的prom电路架构 | |
CN103116551A (zh) | 应用于CLB总线的NorFLASH存储接口模块 | |
CN103793263B (zh) | 一种基于PowerPC处理器的DMA事务级建模方法 | |
CN104156234A (zh) | 启动多核处理器、bootloader大小端模式自适应的方法及装置 | |
CN100357909C (zh) | 一种仿真器芯片 | |
CN100545826C (zh) | 一种微控制器 | |
CN101354730B (zh) | 一种仿真器芯片的仿真方法 | |
CN111176926A (zh) | 一种基于双口sram的ip核仿真系统及仿真方法 | |
CN102541727B (zh) | 一种程序调试方法及系统 | |
CN101329702A (zh) | 一种满足SystemC语法的多核处理器的先进先出队列单元组 | |
CN102193860A (zh) | 微控制器在线调试电路及方法、微控制器 | |
CN100485637C (zh) | 一种基于嵌入式应用系统实现硬件寄存器的方法 | |
CN103324589A (zh) | Sd卡控制系统 | |
CN103383710A (zh) | 基于sopc模拟脑电波的电路板及构建大脑动力学模型的方法 | |
CN111710357B (zh) | Mcu的mtp单元读写控制电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |