CN100492315C - 嵌入式信号处理器模拟器 - Google Patents
嵌入式信号处理器模拟器 Download PDFInfo
- Publication number
- CN100492315C CN100492315C CNB2004100895840A CN200410089584A CN100492315C CN 100492315 C CN100492315 C CN 100492315C CN B2004100895840 A CNB2004100895840 A CN B2004100895840A CN 200410089584 A CN200410089584 A CN 200410089584A CN 100492315 C CN100492315 C CN 100492315C
- Authority
- CN
- China
- Prior art keywords
- module
- register
- scan chain
- serial
- debugger
- 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.)
- Expired - Fee Related
Links
- 238000006243 chemical reaction Methods 0.000 claims description 42
- 238000012856 packing Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 abstract description 13
- 238000012795 verification Methods 0.000 abstract description 9
- 238000012360 testing method Methods 0.000 description 41
- 238000000034 method Methods 0.000 description 24
- 238000013461 design Methods 0.000 description 18
- 238000009434 installation Methods 0.000 description 12
- 238000004088 simulation Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005059 dormancy Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000036316 preload Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种微处理器及计算机***,旨在提供一种能够完成对DSP核的功能验证,并使DSP处理器具有实时仿真验证功能的嵌入式信号处理器模拟器。本发明提供了一种嵌入式信号处理器模拟器,包括标准JTAG协议接口、串并转换电路模块、包装电路模块Wrapper、和调试模块Debugger,标准JTAG协议接口中的指令寄存器包含扫描链选择指令和调试指令。本发明在基于硬件仿真器上对其进行仿真验证,解决了基于软件仿真器仿真方法速度慢的缺点,同时又解决了基于硬件仿真器仿真方法缺乏调试手段的缺点。
Description
技术领域
本发明涉及微处理器及计算机***,更具体地说,本发明涉及一种能够完成对DSP核的功能验证,并使DSP处理器具有实时仿真验证功能的嵌入式信号处理器模拟器。
背景技术
随着集成电路***复杂性的提高、芯片面积的增大,电路测试的复杂度呈指数增大。另一方面随着芯片封装技术的提高,也使传统的针床测试方法变得不现实。为了减少芯片的测试花费和所设计的芯片能尽快的推向市场,采用合理的仿真验证方法或对芯片采用可测性设计已成为芯片设计的研究热点。
现在研究人员通常采用形式验证的方法或基于仿真验证的方法对被测处理器核进行仿真验证。由于采用形式验证的方法对被测处理器进行验证时,只能通过对处理器的某一部分进行建模分析,很难应用于整个处理器的验证工作,所以基于仿真的验证方法被越来越多地采用。基于仿真的验证方法又可分为基于软件仿真器的仿真方法和基于硬件仿真器的仿真方法。基于软件仿真器的仿真方法优点是仿真设计简单、调试方便,便于发现设计中的错误等优点。然而这种的缺点是仿真速度太慢,适合于设计初期的仿真验证。而基于硬件仿真器的仿真方法其优点为速度快,但其缺点就是缺乏仿真调试手段,只能观察有限的信号进行分析。
发明内容
本发明的主要目的在于克服现有技术中的不足,提供一种新的能够完成对DSP核的功能验证,并使DSP处理器具有实时仿真验证功能的嵌入式信号处理器模拟器。
为了解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供了一种嵌入式信号处理器模拟器,包括标准JTAG协议接口中的TAP模块控制器20、指令寄存器31、扫描链寄存器32、旁路寄存器33、译码逻辑模块34和IDCODE寄存器35,还包括串并转换电路模块40、包装电路模块Wrapper70和调试模块Debugger50;
所述标准JTAG协议接口中的TAP模块控制器20、指令寄存器31、译码逻辑模块34顺序连接,扫描链寄存器32、调试模块Debugger50、旁路寄存器33和IDCODE寄存器35并联连接,一端与数据输入TDI引脚3连接,另一端与多路开关1连接;
所述串并转换电路模块40包括DEBUG扫描链及串并转换电路模块41、Trace扫描链模块及串并转换电路模块42、边界扫描链模块43、存储器扫描链模块及串并转换电路模块44和寄存器扫描链模块及串并转换电路模块45,均以并联方式连接,一端与数据输入TDI引脚3连接,另一端与多路开关2连接;
所述调试模块Debugger50包括断点检测单元模块51、单步控制单元模块52和跟踪控制单元模块53,均与串并转换电路模块40连接,其中断点检测单元模块51、跟踪控制单元模块53还与多路开关连接;调试模块Debugger50还与被测处理器核10的数据通道模块17以PC信号连接,调试模块Debugger50与被测处理器核10以核停顿信号连接;
所述包装电路模块Wrapper70包括分别与被测处理器核10的片上程序存储器模块11、片上数据存储器模块12和寄存器文件模块13对应的包装电路14、15、16,均通过总线接口分别与存储器扫描链及串并转换电路44、寄存器扫描链及串并转换电路45连接;
所述指令寄存器31内置扫描链选择指令和调试指令;扫描链选择指令用于选择特定的扫描链,当指令寄存器为该指令时,经过一个数据周期移入移位寄存器的数据用来选择扫描链;调试指令用于表示处理器处于调试模式,当接受到调试指令后对选定的扫描链进行操作。
作为本发明的一种改进,所述调试模块Debugger50包括一个1K字的FIFO存储空间和32个调试寄存器。
作为本发明的一种改进,所述调试模块Debugger50包括4个断点寄存器、1个断点使能寄存器、1个单步寄存器、3个跟踪寄存器、PC寄存器、当前指令寄存器和DSP状态寄存器。
与现有技术相比,本发明的有益效果是:通过把调试模块嵌入到被测处理器核中,在基于硬件仿真器上对其进行仿真验证,解决了基于软件仿真器仿真方法速度慢的缺点,同时又解决了基于硬件仿真器仿真方法缺乏调试手段的缺点。把调试模块嵌入到被测DSP核中,使该模块成为微处理器调试***中关键的部分,同时使被测处理器具有实时仿真和调试功能。采用这种调试方法时,调试中所获得***状态和故障是***真实工作的充分反映,能够达到最大的调试准确性和调试效率。
附图说明
图1为本发明实例EICM的结构框图;
图2为本发明实例EICM与处理器连接图;
图3为本发明实例的串并转换电路;
图4为本发明实例被测单元的Wrapper电路;
图5为本发明实例断点检测电路图;
图6为本发明实例跟踪电路图;
图7为本发明实例TAP状态转换图。
具体实施方式
本发明提出对标准的JTAG协议进行了部分修改和扩充,完成了适用于DSP处理器的嵌入式模拟模块(EICM)设计。这样做的优点在于能够充分地利用JTAG接口提供的TAP控制器和指令寄存器,只需要简单地对DSP处理器内核、内存管理单元和JTAG接口进行很少的修改,且不用进行对处理器内部寄存器替换,就能完成DSP处理器的实时仿真功能,而且完全保持与JTAG协议兼容性。
在设计EICM时,采用了如图1所示的结构,其与被测处理器核的连接电路如图2。本EICM模拟器除了采用IEEE1149.1的标准TAP模块和边界扫描链控制模块外,分别对JTAG指令寄存器的指令、串并转换电路、包装电路(Wrapper)进行了设计。
增加的指令
在EICM的JTAG指令寄存器中,实现了JTAG标准协议规定的旁路(BYBASS)、采样(SAMPLE\PRELOAD)和外部测试(EXTEST)指令,及建议实现的内部测试(INTEST)、钳位(CLAMP)等指令。除了这些指令,为了有效地仿真验证被测处理器,还增加了扫描链选择指令(CHAIN_SELECT)和调试指令(DEBUG)。
CHAIN_SELECT指令用来选择特定的扫描链,当指令寄存器为该指令时,经过一个数据周期移入移位寄存器的数据用来选择扫描链。
DEBUG指令用来表示EICM和处理器处于调试模式。当EICM接收到调试命令后,可以对选定的扫描链进行不同的操作。
串并转换电路
为了解决基于扫描链的方法随着测试单元的增加,测试时间和关键路径时延也跟着增加的缺点,在本文中使用了串并转换电路,把串行的测试向量转换成并行的测试向量,以并行访问的方式访问被测单元。为了实现把串行信号转换成并行转换信号,在EICM中设置了3个串并转换寄存器:地址寄存器、数据寄存器和读写控制寄存器。
包装电路(Wrapper)设计
EICM通过访问片外存储器、片上数据存储器、片上程序存储器和片上寄存器观察被测处理器核的运行情况,同时由于EICM需对Debugger进行设置和观察,所以需对这些单元进行包装设计(Wrapper)。
通过仔细分析DSP处理器和Debugger工作情况,我们设计的DSP处理器和Debugger具有5种工作模式:DSP处理器运行而Debugger处于休眠状态、DSP处理器运行而Debugger处于监视状态、DSP处理器停顿而Debugger处于断点等状态、DSP处理器处于休眠而Debugger处于设置状态和DSP处理器、Debugger都处于休眠状态。从DSP处理器和Debugger的工作模式得到,DSP处理器和EICM控制器可以分时地访问存储器、寄存器。在DSP处理休眠和DSP处理器处于停顿时,EICM控制器可以访问存储器和寄存器,而在DSP处理器的其它状态,EICM控制器不能访问存储器和寄存器。因此,我们可以通过Debugger发出的核停顿信号控制多路开关的选择端,实现存储器和寄存器的Wrapper设计,其电路如图4。采用并行访问方法,不会随着被测单元的增加,关键路径时延也随着增大,只在原来的关键路径中增加了一些逻辑选择的时延。
参考附图1~7,下面将对本发明具体实施例1进行详细描述。
本具体实施例1提供了一种嵌入式信号处理器模拟器,包括标准TAP模块控制器20、指令寄存器31、扫描链寄存器32、旁路寄存器33、译码逻辑模块34和IDCODE寄存器35,其特征在于还包括串并转换电路模块40、包装电路模块Wrapper70、和调试模块Debugger50,所述标准TAP模块控制器20、指令寄存器31、译码逻辑模块34顺序连接,扫描链寄存器32、调试模块Debugger50、旁路寄存器33和IDCODE寄存器35并联连接,一端与数据输入TDI引脚3连接,另一端与多路开关1连接。
其中指令寄存器31包含扫描链选择指令和调试指令。
其中调试模块Debugger50包括一个1K字的FIFO存储空间和32个调试寄存器。
其中调试模块Debugger50包括4个断点寄存器、1个断点使能寄存器、1个单步寄存器、3个跟踪寄存器、PC寄存器、当前指令寄存器和DSP状态寄存器。
其中串并转换电路模块40包括DEBUG扫描链及串并转换电路模块41、Trace扫描链模块及串并转换电路模块42、边界扫描链模块43、存储器扫描链模块及串并转换电路模块44和寄存器扫描链模块及串并转换电路模块45,均以并联方式连接,一端与数据输入TDI引脚3连接,另一端与多路开关2连接。
其中调试模块Debugger50包括断点检测单元模块51、单步控制单元模块52和跟踪控制单元模块53,均与串并转换电路模块40连接,其中断点检测单元模块51、跟踪控制单元模块53还与多路开关连接。
其中调试模块50还与被测处理器核10的数据通道模块17以PC信号连接,调试模块50与被测处理器核10以核停顿信号连接。
其中包装电路模块Wrapper70包括分别与被测处理器核10的片上程序存储器模块11、片上数据存储器模块12和寄存器文件模块13对应的包装电路14、15、16,均通过总线接口分别与存储器扫描链及串并转换电路44、寄存器扫描链及串并转换电路45连接。
为了实现对DSP的实时调试及测试功能,我们设计了基于JTAG的嵌入式调试模块EICM。该模块经通信网络80与测试装置60进行通信,传递芯片内部数据和测试装置60控制指令和数据。整个模块主要有以下几个子模块组成:(1)标准TAP模块控制器20、指令寄存器31、扫描链寄存器32、旁路寄存器33、译码逻辑模块34和IDCODE寄存器35,实现IEEE1149.1协议规定的标准JTAG接口功能;(2)串并转换电路模块40把串行的测试向量转换成并行访问信号,产生被测试单元的地址、数据和读写控制信息对其进行访问,从而解决了基于扫描链测试方法中随着被测信号的增加,测试速度也随着减慢的缺点;(3)包装电路模块Wrapper70为EICM模块访问片上存储器和寄存器提供了通道;(4)调试模块Debugger50为EICM对被测处理器进行调试提供了调试手段,如断点、单步、跟踪等调式方法。
EICM的结构框图如图1所示。图中的标准TAP模块控制器20根据测试模式选择信号(TMS)和测试时钟(TCK)进行状态转换,输出状态信息控制指令寄存器31、扫描链寄存器32、旁路寄存器33和IDCODE寄存器35的工作。通过标准TAP模块控制器20就可以向指令寄存器31、扫描链寄存器32、旁路寄存器33和IDCODE寄存器35中移入和移出数据。然后根据指令寄存器31中的当前指令和扫描链选择寄存器32中的扫描链号选择特定的扫描链,通过向该扫描链移入移出数据完成诸如断点、单步、读取DSP内部寄存器、读取内部存储器等各种操作。
TAP模块控制器20
TAP模块控制器20实现IEEE1149.1协议所定义的测试接入口的功能,采用有限状态机的方式实现。其状态转移图如图7所示,和IEEE1149.1协议规定的状态转移图一致。
图7中,共定义了16个状态。在每个TCK上升沿,状态机根据当前状态和TMS的值进行状态转换。当TRST有效时,状态机处于复位(Test-Logic-Reset)态,当状态机处于其他任何状态时,只要经过5个以上周期TMS为1,状态机也将回到复位态。数据周期开始于Select-DR-Scan,在Capture-DR时将数据采集进数据寄存器,Shift-DR态将数据寄存器串行移位进行数据的输入输出,在Update-DR态将移入的数据锁存并更新到电路结点中。指令周期和数据周期相似,从Select-IR-Scan开始,Shift-IR态移入新的指令,Update-IR态用移入的指令更新当前指令寄存器。
指令寄存器31
指令寄存器31用于存放指令,分为移位级和锁存级两个寄存器。移位级寄存器在Shift-IR态时从TDI移入数据,在Update-IR态时,移位级寄存器中移入的数据被锁存入锁存级寄存器中,锁存级寄存器中存放的就是当前指令。根据当前指令对数据寄存器进行相应的操作,就可以完成各种调试功能。
IEEE1149.1协议规定了必须实现的BYPASS、SAMPLE/PRELOAD和EXTEST指令,及建议实现的IDCODE、INTEST、CLAMP、CLAMPZ、HIGHZ等指令。除了这些指令,本文设计的EICM还进行了扩展,增加了CHAIN_SELECT指令和DEBUG指令,指令寄存器采用4位编码,如表1所示。
表1 指令编码
指令 | 编码 |
EXTEST | 0000 |
SAMPLE_PRELOAD | 0001 |
IDCODE | 0010 |
CHAIN_SELECT | 0011 |
INTEST | 0100 |
CLAMP | 0101 |
CLAMPZ | 0110 |
HIGHZ | 0111 |
DEBUG | 1000 |
BYPASS | 1111 |
CHAIN_SELECT指令用来选择特定的扫描链,当指令寄存器为该指令时,经过一个数据周期移入移位寄存器的数据用来选择扫描链。在这个EICM中共设计了边界扫描链(GLOBAL_BS_CHAIN)、调试扫描链(DEBUG_CHAIN)、寄存器扫描链(REGISTER_CHAIN)、跟踪扫描链(TRACE_CHAIN)、片上程序存储器扫描链(PROGRAM_CHAIN)和片上数据存储器扫描链(DATA_CHAIN)。扫描链采用3位编码,如表2所示。
表2 扫描链编码
指令 | 编码 |
GLOBAL_BS_CHAIN | 0000 |
REGISTER_CHAIN | 0001 |
DEBUG_CHAIN | 0010 |
MMXREGISTER_CHAIN | 0011 |
ICACHE_CHAIN | 0100 |
DCACHE_CHAIN | 0101 |
TRACE_CHAIN | 0110 |
RAM_CHAIN | 0111 |
DEBUG指令用来表示EICM和处理器处于调试模式。当EICM接收到调试命令后,可以对选定的扫描链进行不同的操作。如需设置调试寄存器,在调试扫描链选定的条件下,当EICM接收到调试指令时,使调试移位寄存器和调试扫描链处于使能状态,把串行的测试向量转换成访问调试寄存器的并行向量,完成对调试寄存器的读写操作。
串并转换电路模块40
为了解决基于扫描链的方法随着测试单元的增加,测试时间和关键路径时延也跟着增加的缺点,在本文中使用了DEBUG扫描链及串并转换电路模块41、Trace扫描链模块及串并转换电路模块42、存储器扫描链模块及串并转换电路模块44和寄存器扫描链模块及串并转换电路模块45,把串行的测试向量转换成并行的测试向量,以并行访问的方式访问被测单元。为了实现把串行信号转换成并行转换信号,在EICM中设置了3个串并转换寄存器:地址寄存器、数据寄存器和读写控制寄存器。
当进行读操作时,在移位寄存器捕捉态时,把从寄存器、存储器或调试寄存器中读出的数据装入扫描链的最高位,同时在低位装入由0/1代码组成的测试代码,在移位寄存器的移位态,把移位寄存器中的数据移至测试装置60;当进行写操作时,在移位寄存器的移位态,把数据从测试装置60移至移位寄存器,在移位寄存器的更新态,把移位的地址、读写控制位和数据存入相应的寄存器,在扫描链选择信号的作用下对相应的单元进行写操作,其电路图见图3。
在对片上存储器进行操作时,设存储器的地址宽度为N位,数据宽度为M位,则完成对某个地址单元的读或写需要TM(公式1)个时钟周期。在对寄存器进行操作时,设处理器有I个寄存器,且其为J位。则基于串行访问的方法需TSR(公式2)个时钟周期,而基于并行访问的方法需TPR(公式3)个时钟周期。其中INT()函数为向上取整函数。
TM=N+M+1 (1)
TSR=I*J (2)
Wrapper实现(14,15,16)
EICM通过访问片外存储器、片上数据存储器、片上程序存储器和片上寄存器观察被测处理器核的运行情况,同时由于EICM需对Debugger进行设置和观察,所以需对这些单元进行包装设计(Wrapper)。
如采用基于串行访问的方法进行Wrapper设计时,通常采用寄存器替换的方法把处理器核内部的寄存器替换成由移位级寄存器和锁存级寄存器组成的寄存器组,然后把这些被测单元串成扫描链,这样随着被测单元的增加,关键路径也随着增加,最终势必影响处理器的性能。通过仔细分析DSP处理器和Debugger工作情况,我们设计的DSP处理器和Debugger具有5种工作模式:DSP处理器运行而Debugger处于休眠状态、DSP处理器运行而Debugger处于监视状态、DSP处理器停顿而Debugger处于断点等状态、DSP处理器处于休眠而Debugger处于设置状态和DSP处理器、Debugger都处于休眠状态。从DSP处理器和Debugger的工作模式得到,DSP处理器和EICM控制器可以分时地访问存储器、寄存器。在DSP处理休眠和DSP处理器处于停顿时,EICM控制器可以访问存储器和寄存器,而在DSP处理器的其它状态,EICM控制器不能访问存储器和寄存器。因此,我们可以通过Debugger发出的核停顿信号控制多路开关的选择端,实现存储器和寄存器的Wrapper包装电路14、15、16设计,其电路如图4。采用并行访问方法,不会随着被测单元的增加,关键路径时延也随着增大,只在原来的关键路径中增加了一些逻辑选择的时延。在0.18微米工艺下,这些电路的时延为0.4纳秒,这就是增加了EICM后对DSP处理器原来关键路经时延的影响。
调试模块Debugger50实现
在设计调试模块Debugger50时,开辟了1K字的FIFO存储空间和32个调试寄存器,这些寄存器包括4个断点寄存器、1个断点使能寄存器、1个单步寄存器、3个跟踪寄存器、PC(Program Counter)寄存器、当前指令寄存器和DSP状态寄存器等寄存器。
在Debugger中,设置了4个断点寄存器和1个断点使能寄存器断点寄存器。断点使能寄存器的低4位有效,用于使能4个断点寄存器,其余位为保留位。断点寄存器存放断点指令地址,如指令地址的宽度不足32位,则高于指令地址宽度的空间被设置为零。当断点寄存器被使能时,其值与PC值进行比较,相等时给出CPUStall信号将DSP核流水线停顿下来,其电路图如图5。单步寄存器用来控制DSP进行单步操作,其最高位是使能位,用于使能单步调试功能,低31位用于存放执行步数。当单步寄存器使能时,低位存入的步数在处理器运行时每周期递减,当递减到0时给出CPUStall信号停顿DSP流水线。单步执行需要根据DSP处理器的流水线状态进行操作,只有当流水线处于运行状态时才能将单步寄存器递减。跟踪寄存器用于设置存入跟踪存储器的信息、触发条件和跟踪方式。存入跟踪存储器的信息可以选择,如PC值或指令值等。触发条件可以设置为断点触发、指定异常触发和计数器触发等方式。跟踪方式决定存储器存满后暂停DSP处理器还是覆盖写入存储器或停止跟踪的设定,如图6所示。
通过把EICM集成到被测处理器,在增加5个测试引脚和1万门左右(标准单元)的情况下,使被测处理器具有实时的仿真验证功能。
综上,本发明实现的过程可以简单描述如下:
通过EICM模块把测试装置输出60经过通信网络80的串行测试向量转换成并行测试向量,以并行访问的方式访问被测DSP的片上程序存储器模块11、片上数据存储器模块12和寄存器文件模块13等单元,然后再把测试结果以串行的方式输出到测试装置60,而测试装置60通过监视这些值与理论值比较,确定被测处理器核10的工作状态;同时EICM通过调试模块Debugger50提供断点、单步等调试手段对被测DSP核10进行功能验证。
根据权利要求1所述的EICM模块,其特征是:测试装置60通过标准的JTAG连接线中的模式选择(TMS)和测试时钟(TCK)引脚,经测试访问端标准TAP模块控制器20的状态机控制,把测试指令存入测试指令寄存器31,指令寄存器31中的指令经译码逻辑34译码后控制EICM的动作行为。
测试装置60通过标准的JTAG连接线中的数据输入(TDI)和测试时钟(TCK)引脚,把扫描链信息或旁路信息分别送入扫描链寄存器32或旁路寄存器33。
如果扫描链信息为调试扫描链信息,则测试装置通过数据输入(TDI)和测试时钟(TCK)引脚把断点、跟踪和单步等信息分别经调试扫描链及其串并转换电路41送入断点检测单元模块51、单步监测单元模块52和跟踪监测单元模块53。如果扫描链信息为其它扫描链信息,则测试装置通过数据输入(TDI)和测试时钟(TCK)引脚把测试信息传输到相应的Trace扫描链模块及串并转换电路模块42、边界扫描链模块43、存储器扫描链模块及串并转换电路模块44和寄存器扫描链模块及串并转换电路模块45。
然后,选定的扫描链及其串并转换电路42、44、45以并行访问方式访问寄存器文件11、片上数据存储器12、片上程序存储器13和边缘扫描链寄存器14。
在仿真验证过程中,断点检测单元模块51与被测处理器核10的PC值比较,如相等则输出核停顿信号给被测处理器核10;单步监测单元模块52根据输入的单步信息,使处理器核10运行一个时钟给出核停顿信号;跟踪监测单元模块52根据输入的跟踪设置信息,把需记录的信息存入FIFO中,起到一个嵌入式的逻辑分析仪作用。
数据输出(TDO)和测试时钟(TCK)引脚输出测试结果,测试装置60根据测试结果判断被测处理器核10的状态。
最后,还需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (3)
1、一种嵌入式信号处理器模拟器,包括标准JTAG协议接口中的TAP模块控制器(20)、指令寄存器(31)、扫描链寄存器(32)、旁路寄存器(33)、译码逻辑模块(34)和IDCODE寄存器(35),其特征在于,还包括串并转换电路模块(40)、包装电路模块Wrapper(70)和调试模块Debugger(50);
所述标准JTAG协议接口中的TAP模块控制器(20)、指令寄存器(31)、译码逻辑模块(34)顺序连接,扫描链寄存器(32)、调试模块Debugger(50)、旁路寄存器(33)和IDCODE寄存器(35)并联连接,一端与数据输入TDI引脚(3)连接,另一端与多路开关(1)连接;
所述串并转换电路模块(40)包括DEBUG扫描链及串并转换电路模块(41)、Trace扫描链模块及串并转换电路模块(42)、边界扫描链模块(43)、存储器扫描链模块及串并转换电路模块(44)和寄存器扫描链模块及串并转换电路模块(45),均以并联方式连接,一端与数据输入TDI引脚(3)连接,另一端与多路开关(2)连接;
所述调试模块Debugger(50)包括断点检测单元模块(51)、单步控制单元模块(52)和跟踪控制单元模块(53),均与串并转换电路模块(40)连接,其中断点检测单元模块(51)、跟踪控制单元模块(53)还与多路开关连接;调试模块Debugger(50)还与被测处理器核(10)的数据通道模块(17)以PC信号连接,调试模块Debugger(50)与被测处理器核(10)以核停顿信号连接;
所述包装电路模块Wrapper(70)包括分别与被测处理器核(10)的片上程序存储器模块(11)、片上数据存储器模块(12)和寄存器文件模块(13)对应的包装电路(14、15、16),均通过总线接口分别与存储器扫描链及串并转换电路(44)、寄存器扫描链及串并转换电路(45)连接;
所述指令寄存器(31)内置扫描链选择指令和调试指令;扫描链选择指令用于选择特定的扫描链,当指令寄存器为该指令时,经过一个数据周期移入移位寄存器的数据用来选择扫描链;调试指令用于表示处理器处于调试模式,当接受到调试指令后对选定的扫描链进行操作。
2、根据权利要求1所述的嵌入式信号处理器模拟器,其特征在于,所述调试模块Debugger(50)包括一个1K字的FIFO存储空间和32个调试寄存器。
3、根据权利要求1所述的嵌入式信号处理器模拟器,其特征在于,所述调试模块Debugger(50)包括4个断点寄存器、1个断点使能寄存器、1个单步寄存器、3个跟踪寄存器、PC寄存器、当前指令寄存器和DSP状态寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100895840A CN100492315C (zh) | 2004-12-15 | 2004-12-15 | 嵌入式信号处理器模拟器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100895840A CN100492315C (zh) | 2004-12-15 | 2004-12-15 | 嵌入式信号处理器模拟器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1622052A CN1622052A (zh) | 2005-06-01 |
CN100492315C true CN100492315C (zh) | 2009-05-27 |
Family
ID=34766225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100895840A Expired - Fee Related CN100492315C (zh) | 2004-12-15 | 2004-12-15 | 嵌入式信号处理器模拟器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100492315C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9835682B2 (en) | 2015-09-22 | 2017-12-05 | Nuvoton Technology Corporation | Debugging system and method |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100476755C (zh) * | 2005-10-20 | 2009-04-08 | 上海祥佑数码科技有限公司 | 一种可扩展嵌入式微处理器仿真器 |
CN100414513C (zh) * | 2005-10-24 | 2008-08-27 | 中国电子科技集团公司第四十五研究所 | 实时运动控制算法仿真调试方法 |
CN101206615B (zh) * | 2006-12-20 | 2010-10-06 | 上海华虹集成电路有限责任公司 | 微处理器仿真器 |
CN101162440B (zh) * | 2007-11-20 | 2010-06-30 | 杭州中天微***有限公司 | 嵌入式处理器高速在线下载直通通道的设计方法 |
US7870430B2 (en) * | 2008-02-29 | 2011-01-11 | Freescale Semiconductor, Inc. | Method and apparatus for sharing debug resources |
CN101526895B (zh) * | 2009-01-22 | 2011-01-05 | 杭州中天微***有限公司 | 基于指令双发射的高性能低功耗嵌入式处理器 |
CN101937415A (zh) * | 2010-09-17 | 2011-01-05 | 中国科学院上海技术物理研究所 | 嵌入式信号处理平台的处理器内外数据交换*** |
CN102591760A (zh) * | 2011-09-07 | 2012-07-18 | 上海大学 | 基于长短扫描链与jtag接口的片上调试电路 |
CN103279405A (zh) * | 2013-05-30 | 2013-09-04 | 南京航空航天大学 | 适用于片上网络嵌入式ip核的测试壳 |
CN109065093A (zh) * | 2018-08-17 | 2018-12-21 | 豪威科技(上海)有限公司 | 片上存储器测试电路及方法 |
CN114610596B (zh) * | 2020-12-08 | 2024-07-12 | 上海市信息网络有限公司 | 实现用户程序断点调试的处理器芯片调试*** |
CN116224042B (zh) * | 2023-04-28 | 2023-08-29 | 北京壁仞科技开发有限公司 | 生成测试待测器件的测试向量的方法、***、设备和介质 |
-
2004
- 2004-12-15 CN CNB2004100895840A patent/CN100492315C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9835682B2 (en) | 2015-09-22 | 2017-12-05 | Nuvoton Technology Corporation | Debugging system and method |
Also Published As
Publication number | Publication date |
---|---|
CN1622052A (zh) | 2005-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abramovici | In-system silicon validation and debug | |
CN102541707B (zh) | 复用jtag接口的fpga片内逻辑分析仪***和方法 | |
US5884023A (en) | Method for testing an integrated circuit with user definable trace function | |
CN101719088B (zh) | 一种对处理器芯片进行在线检测的装置和方法 | |
US6854029B2 (en) | DSP bus monitoring apparatus and method | |
CN102360329B (zh) | 总线监控与调试控制装置及进行总线监控与总线调试的方法 | |
US6314529B1 (en) | System for providing real-time code coverage | |
CN100492315C (zh) | 嵌入式信号处理器模拟器 | |
CN103675641B (zh) | 芯片故障定位方法、装置及*** | |
US20030196144A1 (en) | Processor condition sensing circuits, systems and methods | |
CN102103535B (zh) | 多核处理器、多核处理器的调试***和调试方法 | |
CN107608846B (zh) | 一种针对fpga内嵌tap接口的调试链路及调试方法 | |
CN101458725B (zh) | 微控制器芯片及其调试方法 | |
CN101154184A (zh) | 一种微控制器jtag调试方法 | |
CN112015604B (zh) | 一种基于Zynq FPGA的自动化可靠性评估***及评估方法 | |
CN115017038A (zh) | 一种兼容apb协议的jtag调试*** | |
CN101782626B (zh) | 一种jtag端口控制器 | |
CN109283451A (zh) | 一种集成电路良品检测***及方法 | |
Portela-Garcia et al. | A rapid fault injection approach for measuring seu sensitivity in complex processors | |
Grosso et al. | Software-based self-test for transition faults: A case study | |
McLaurin et al. | The DFT challenges and solutions for the ARM® Cortex™-A15 Microprocessor | |
Vorisek et al. | Improved handling of false and multicycle paths in ATPG | |
CN114691520A (zh) | 基于处理器调试架构的指令可编程缓冲区设计*** | |
CN108664387A (zh) | 基于ejtag的mips处理器调试方法及*** | |
Grosso et al. | A software-based self-test methodology for system peripherals |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090527 Termination date: 20111215 |