CN106875978B - 数据处理方法和装置 - Google Patents
数据处理方法和装置 Download PDFInfo
- Publication number
- CN106875978B CN106875978B CN201611263148.XA CN201611263148A CN106875978B CN 106875978 B CN106875978 B CN 106875978B CN 201611263148 A CN201611263148 A CN 201611263148A CN 106875978 B CN106875978 B CN 106875978B
- Authority
- CN
- China
- Prior art keywords
- data
- address
- address length
- module
- register space
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/30—Accessing single arrays
- G11C29/32—Serial access; Scan testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/22—Accessing serial memories
Landscapes
- Communication Control (AREA)
Abstract
本公开涉及一种数据处理方法和装置,属于数据处理领域,能够减小操作时间并避免寻址错误,该方法包括:获取第一数据协议的寄存器空间;基于所述寄存器空间设置数据操作的配置信息,所述配置信息包括能够进行数据连续操作的地址长度;至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作。
Description
技术领域
本公开涉及数据处理领域,具体地,涉及一种数据处理方法和装置。
背景技术
目前,联合测试工作组(Joint Test Action Group,JTAG)测试协议规定,在利用JTAG测试协议对芯片内部进行测试时,每次连续读写的地址长度为1k个字节。而且,在利用JTAG测试协议进行测试时,所有的读写操作都是通过单个比特串行地输入输出来进行的。
例如,连续写操作的基本流程是:切换到写模式→配置为递增(Increment)模式→切换操作寄存器(register)为地址寄存器→串行写入地址值→切换操作寄存器为数据寄存器→串行输入第一个数据→串行输入第二个数据→串行输入第3个数据→…→串行输入第1k个数据。
再例如,连续读操作的基本流程是:切换到读模式→切换操作寄存器为地址寄存器→串行写入地址值→切换操作寄存器为数据寄存器→串行输入伪数据→串行输入伪数据并同时获得读数据→串行输入伪数据并同时获得下一个读数据→…→串行输入伪数据并同时获得第1k个读数据。
可见,由于在执行读写操作时是串行输入输出地进行单比特操作,因此一次简单的写操作需要至少几十个时钟才能完成,而读操作在输入地址后更是需要更多的时钟才能够读取到期望的数据,这会导致在每次连续读写的地址长度达到1k个字节之后出现如下的问题:如果重新配置下一次连续读写的地址,则由于需要重新执行一次如下的流程,也即“切换到写模式→配置为递增模式→切换操寄存器为地址寄存器→串行写入地址值→切换操作寄存器为数据寄存器”,因此会浪费不少的操作时间;而如果不重新配置下一次连续读写的地址,则会出现寻址错误的问题。
发明内容
本公开的目的是提供一种数据处理方法和装置,其能够节省利用JTAG测试协议进行测试时的操作时间,而且能够避免寻址错误的问题。
为了实现上述目的,本公开提供一种数据处理方法,该方法包括:
获取第一数据协议的寄存器空间;
基于所述寄存器空间设置数据操作的配置信息,所述配置信息包括能够进行数据连续操作的地址长度;
至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作。
可选地,所述能够进行数据连续操作的地址长度等于芯片内单个模块的地址长度。
可选地,所述配置信息还包括所述芯片内各个模块的跳转地址;
所述至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作还包括:基于所述能够进行数据连续操作的地址长度和所述跳转地址来执行所述数据操作。
可选地,所述能够进行数据连续操作的地址长度被存储到所述第一数据协议的预留寄存器空间中。
可选地,所述跳转地址被存储到所述第一数据协议的预留寄存器空间中。
本公开实施例还提供一种数据处理装置,该装置包括:
获取模块,用于获取第一数据协议的寄存器空间;
设置模块,用于基于所述寄存器空间设置数据操作的配置信息,所述配置信息包括能够进行数据连续操作的地址长度;
执行模块,用于至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作。
可选地,所述能够进行数据连续操作的地址长度等于芯片内单个模块的地址长度。
可选地,所述配置信息还包括所述芯片内各个模块的跳转地址;
所述执行模块,还用于基于所述能够进行数据连续操作的地址长度和所述跳转地址来执行所述数据操作。
可选地,所述能够进行数据连续操作的地址长度被存储到所述第一数据协议的预留寄存器空间中。
可选地,所述跳转地址被存储到所述第一数据协议的预留寄存器空间中。
通过上述技术方案,由于能够首先获取第一数据协议的寄存器空间,然后基于所述寄存器空间设置数据操作的配置信息,所述配置信息包括能够进行数据连续操作的地址长度,然后至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作,这样就能够按需对数据连续操作的地址长度进行自定义配置,例如如果芯片内单个模块的地址长度是2k,则可以将数据连续操作的地址长度配置为2k,这样在芯片内单个模块的地址长度大于第一数据协议规定的例如1k地址长度的情况下,不需要像现有技术那样在连续操作了1k个地址长度之后重新配置下一次连续操作的地址,因此能够大大减小利用第一数据协议进行操作的时间,而且还能够解决不重新配置下一次连续操作的地址导致的寻址错误问题。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开一种实施例的数据处理方法的流程图;
图2是根据本公开又一实施例的数据处理方法的流程图;
图3是根据本公开一种实施例的数据处理装置的示意框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
根据本公开的一种实施例,提供一种数据处理方法,该数据处理方法能够适用于利用对连续操作地址长度做出了限定的任何协议进行操作的场景,而并非仅仅适用于利用JTAG测试协议对芯片内部进行测试的场景。如图1所示,根据该实施例的方法可以包括以下步骤S101至S103。
在步骤S101中,获取第一数据协议的寄存器空间。
其中,第一数据协议可以是诸如JTAG测试协议之类的、对连续操作地址的长度做出了限定的任何类型的数据协议。
另外,这些数据协议的寄存器空间通常会包括以下几类寄存器空间:(1)已经被预定义用于某些用途的寄存器空间;以及(2)预留的寄存器空间。用户可以对预留的寄存器空间进行自行配置,以满足用户的操作需求。例如,JTAG测试协议规定的预留寄存器空间为0x08,0x20~0xF0。
在步骤S102中,基于所述寄存器空间设置数据操作的配置信息,所述配置信息包括能够进行数据连续操作的地址长度;
在步骤S103中,至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作。
通过上述技术方案,由于能够首先获取第一数据协议的寄存器空间,然后基于所述寄存器空间设置数据操作的配置信息,所述配置信息包括能够进行数据连续操作的地址长度,然后至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作,这样就能够按需对数据连续操作的地址长度进行自定义配置,例如如果芯片内单个模块的地址长度是2k,则可以将数据连续操作的地址长度配置为2k,这样在芯片内单个模块的地址长度大于第一数据协议规定的例如1k地址长度的情况下,不需要像现有技术那样在连续操作了1k个地址长度之后重新配置下一次连续操作的地址,因此能够大大减小利用第一数据协议进行操作的时间,而且还能够解决不重新配置下一次连续操作的地址导致的寻址错误问题。
在一种可能的实施方式中,所述能够进行数据连续操作的地址长度可以等于芯片内单个模块的地址长度。例如,假设芯片内有三个模块,每个模块的地址长度分别为2k、4k和8k,则可以在对每个模块进行操作时,将数据连续操作的地址长度分别配置为2k、4k和8k,这样就不需要像现有技术那样在连续操作了第一数据协议规定的例如1k个地址长度之后重新配置下一次连续操作的地址,因此能够大大减小利用第一数据协议进行操作的时间,而且还能够解决不重新配置下一次连续操作的地址导致的寻址错误问题。
另外,本公开实施例对能够进行数据连续操作的地址长度的表示方式不做限制,例如,可以用0x0表示数据连续操作的地址长度为1k、用0x1表示数据连续操作的地址长度为2k以及用0x2表示数据连续操作的地址长度为4k等等,当然还可以用0x200表示数据连续操作的地址长度为1k、用0x400表示数据连续操作的地址长度为2k等等。
以下以芯片内某个模块的地址长度为4k、所配置的数据连续操作的地址长度为4k为例,则采用根据本公开实施例的数据处理方法进行写操作的流程如下:
切换到写模式→配置为递增模式→切换操作寄存器为地址寄存器→串行写入地址值→切换操作寄存器为数据寄存器→串行输入第一个数据→串行输入第二个数据→串行输入第3个数据→…→串行输入第4k个数据。这样,如果是正在利用JTAG测试协议对该芯片内的该模块进行测试,则能够连续进行4k个地址长度的测试。
在一种可能的实施方式中,所述配置信息还可以包括所述芯片内各个模块的跳转地址。在这种情况下,如图2所示,步骤S103中的所述至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作还可以包括步骤S103a:基于所述能够进行数据连续操作的地址长度和所述跳转地址来执行所述数据操作。
通过采用步骤S103a,能够在芯片内的各个模块之间实现地址跳转,避免在各个模块之间进行跳转时出现的寻址错误问题,进而能够实现针对芯片内的多个模块的连续数据操作,而且还能够有效地减小对多个模块进行操作的时间。例如,假设芯片内有三个模块,每个模块的地址长度分别为2k、4k和8k,每个模块的首地址分别为0x50021BF0、0x60021BF0和0x70021BF0,则通过在配置信息中设置针对这三个模块的数据连续操作的地址长度分别为2k、4k和8k,针对这三个模块的跳转地址分别为0x50021BF0、0x60021BF0和0x70021BF0,则能够在针对第一个模块连续操作2k个地址长度之后跳转到第二个模块的首地址,并然后对第二个模块连续操作4k个地址长度,然后跳转到第三个模块的首地址,并对第三个模块连续操作8k个地址长度。这样就能够在不重新配置下一次操作的地址的情况下,连续完成每个模块的操作并有效地跳转到下一个模块。而在现有技术中,由于第一数据协议限定了连续操作的地址长度为例如1k,因此若在连续操作了1k个地址长度之后重新配置下一次操作的地址则会增加操作的时间,而如果不重新配置下一次操作的地址,则会在连续操作了1k个地址长度之后返回该次配置的地址的初始地址,导致寻址错误的问题。
在一种可能的实施方式中,所述能够进行数据连续操作的地址长度可以被存储到所述第一数据协议的预留寄存器空间中。所述跳转地址可以被存储到所述第一数据协议的预留寄存器空间中。这样就能够有效地利用第一数据协议的预留寄存器空间进行地址长度和跳转地址的配置,有效地解决重新配置下一次操作的地址导致的操作时间长的问题或者不重新配置下一次操作的地址导致的寻址错误问题。
根据本公开的又一实施例,提供一种数据处理装置,如图3所示,该装置可以包括:
获取模块301,用于获取第一数据协议的寄存器空间;
设置模块302,用于基于所述寄存器空间设置数据操作的配置信息,所述配置信息包括能够进行数据连续操作的地址长度;
执行模块303,用于至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作。
通过上述技术方案,由于获取模块301能够首先获取第一数据协议的寄存器空间,然后设置模块302基于所述寄存器空间设置数据操作的配置信息,所述配置信息包括能够进行数据连续操作的地址长度,然后执行模块303至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作,这样就能够按需对数据连续操作的地址长度进行自定义配置,例如如果芯片内单个模块的地址长度是2k,则可以将数据连续操作的地址长度配置为2k,这样在芯片内单个模块的地址长度大于第一数据协议规定的例如1k地址长度的情况下,不需要像现有技术那样在连续操作了1k个地址长度之后重新配置下一次连续操作的地址,因此能够大大减小利用第一数据协议进行操作的时间,而且还能够解决不重新配置下一次连续操作的地址导致的寻址错误问题。
在一种可能的实施方式中,所述能够进行数据连续操作的地址长度可以等于芯片内单个模块的地址长度。
另外,本公开实施例对能够进行数据连续操作的地址长度的表示方式不做限制,例如,可以用0x0表示数据连续操作的地址长度为1k、用0x1表示数据连续操作的地址长度为2k以及用0x2表示数据连续操作的地址长度为4k等等,当然还可以用0x200表示数据连续操作的地址长度为1k、用0x400表示数据连续操作的地址长度为2k等等。
在一种可能的实施方式中,所述配置信息还可以包括所述芯片内各个模块的跳转地址。在这种情况下,所述执行模块303,还可以用于基于所述能够进行数据连续操作的地址长度和所述跳转地址来执行所述数据操作。
在一种可能的实施方式中,所述能够进行数据连续操作的地址长度可以被存储到所述第一数据协议的预留寄存器空间中。所述跳转地址可以被存储到所述第一数据协议的预留寄存器空间中。这样就能够有效地利用第一数据协议的预留寄存器空间进行地址长度和跳转地址的配置,有效地解决重新配置下一次操作的地址导致的操作时间长的问题或者不重新配置下一次操作的地址导致的寻址错误问题。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (6)
1.一种数据处理方法,其特征在于,该方法包括:
获取第一数据协议的寄存器空间;
基于所述寄存器空间设置数据操作的配置信息,所述配置信息包括能够进行数据连续操作的地址长度;
至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作;所述能够进行数据连续操作的地址长度等于芯片内单个模块的地址长度;所述配置信息还包括所述芯片内各个模块的跳转地址;
所述至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作还包括:基于所述能够进行数据连续操作的地址长度和所述跳转地址来执行所述数据操作;所述能够进行数据连续操作的地址长度被存储到所述第一数据协议的预留寄存器空间中;所述跳转地址被存储到所述第一数据协议的预留寄存器空间中。
2.一种数据处理装置,所述装置使用了权利要求1所述的方法,其特征在于,该装置包括:
获取模块,用于获取第一数据协议的寄存器空间;
设置模块,用于基于所述寄存器空间设置数据操作的配置信息,所述配置信息包括能够进行数据连续操作的地址长度;
执行模块,用于至少基于所述能够进行数据连续操作的地址长度来执行所述数据操作。
3.根据权利要求2所述的装置,其特征在于,所述能够进行数据连续操作的地址长度等于芯片内单个模块的地址长度。
4.根据权利要求3所述的装置,其特征在于,所述配置信息还包括所述芯片内各个模块的跳转地址;
所述执行模块,还用于基于所述能够进行数据连续操作的地址长度和所述跳转地址来执行所述数据操作。
5.根据权利要求2所述的装置,其特征在于,所述能够进行数据连续操作的地址长度被存储到所述第一数据协议的预留寄存器空间中。
6.根据权利要求4所述的装置,其特征在于,所述跳转地址被存储到所述第一数据协议的预留寄存器空间中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611263148.XA CN106875978B (zh) | 2016-12-30 | 2016-12-30 | 数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611263148.XA CN106875978B (zh) | 2016-12-30 | 2016-12-30 | 数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106875978A CN106875978A (zh) | 2017-06-20 |
CN106875978B true CN106875978B (zh) | 2019-12-24 |
Family
ID=59164157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611263148.XA Active CN106875978B (zh) | 2016-12-30 | 2016-12-30 | 数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106875978B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321295A (zh) * | 2018-03-31 | 2019-10-11 | 深圳忆联信息系统有限公司 | 数据处理方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100546172B1 (ko) * | 2003-05-23 | 2006-01-24 | 주식회사 하이닉스반도체 | 불휘발성 강유전체 레지스터를 이용한 입출력 바이트 제어장치 |
JP2011048876A (ja) * | 2009-08-27 | 2011-03-10 | Renesas Electronics Corp | 半導体記憶装置及びその制御方法 |
CN104731746A (zh) * | 2013-12-20 | 2015-06-24 | 上海华虹集成电路有限责任公司 | 设备控制器装置 |
-
2016
- 2016-12-30 CN CN201611263148.XA patent/CN106875978B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106875978A (zh) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7058759B2 (ja) | 1または複数の被テストデバイスをテストするための自動試験装置、1または複数の被テストデバイスの自動試験のための方法、および、コマンドエラーを処理するためのコンピュータプログラム | |
US6735747B2 (en) | Pre-silicon verification path coverage | |
US9495492B1 (en) | Implementing synchronous triggers for waveform capture in an FPGA prototyping system | |
US20180189158A1 (en) | Blade centric automatic test equipment system | |
CN106648666B (zh) | 一种用户界面生成方法及系统 | |
CN110058147B (zh) | 基于fpga的芯片测试系统及方法 | |
CN103677821B (zh) | 软件开发工具代码发布的方法和装置 | |
CN107145465B (zh) | 串行外设接口spi的传输控制方法、装置及系统 | |
US11507718B1 (en) | Chip verification system and verification method therefor | |
CN106445470B (zh) | 芯片中的配置寄存器的初始化方法和初始化装置 | |
CN106875978B (zh) | 数据处理方法和装置 | |
JP5841457B2 (ja) | 試験装置および試験モジュール | |
JP5841458B2 (ja) | 試験装置および試験モジュール | |
CN106991027B (zh) | 基于serdes协议验证的检查器、功能验证系统及方法 | |
US8000322B2 (en) | Crossbar switch debugging | |
CN108197063B (zh) | Fpga的spi接口主动串行配置方法及装置 | |
CN107729271B (zh) | 具备自测试功能的双总线型e-flash控制电路 | |
CN202049755U (zh) | 一种可编程器件 | |
CN110457254B (zh) | 提高超声设备接口传输利用率的方法及系统 | |
CN110321295A (zh) | 数据处理方法和装置 | |
CN109683960B (zh) | 一种电口模块的寄存器配置方法及其电口模块 | |
US20170248655A1 (en) | Microcontroller and method for testing a microcontroller | |
CN215416634U (zh) | 用于fpga升级的离线下载器 | |
US20160344486A1 (en) | Parallel testing of multiple optical fibers | |
CN101916588A (zh) | 一种在系统编程isp编程模块及其用于fpaa在系统编程的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190812 Address after: 518067 Dongjiaotou Workshop D24/F-02, Houhai Avenue, Shekou Street, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Yi Lian Information System Co., Ltd. Address before: 100176 Beijing City, Daxing District branch of Beijing economic and Technological Development Zone, fourteen Street No. 99 building 33 building D No. 2226 Applicant before: Beijing legend core technology Co., Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |