本发明是关于资料检查装置与方法,尤其是关于寄存器(register)资料检查装置与方法。
背景技术:
电路系统需使用存储器保存大量的配置信息(configurationinformation)作为配置参数供系统运行使用。存储器一般包括静态随机存取存储器(sram)和寄存器(registers)。sram的资料需被存储器控制与存取电路读出后才能供系统使用,而寄存器的资料可直接供系统使用,不需额外的读取操作。因此,实作上寄存器常被用来储存配置信息,而确保寄存器的配置信息的正确性对系统而言非常重要。
在装置已使用多年或所处环境较恶劣的情况下,装置的存储器可能会有位元错误(biterror)。由于配置信息出错可能会导致系统运行故障,因此系统需要一种技术能够快速地检测配置信息是否有误以及找到配置信息出错的存储器的位址,以便使用者及时修正配置信息,从而降低系统故障的机率。
目前的检测技术多数是关于检测sram的资料是否有错,且主要用于现场可程序化逻辑闸阵列(fieldprogrammablegatearray,fpga)电路。一般fpga电路的系统藉由保存寄存器的配置信息的副本的方式来检测错误,或利用复杂的校验电路以及储存多位元的冗余校验码的方式来检测错误。上述方式会耗用许多资源,不适用于要求小面积及/或小功耗的集成电路象是特定应用集成电路(applicationspecificintegratedcircuit,asic)。
技术实现要素:
本申请的目的之一在于提供一种寄存器资料检查装置与方法适用于要求小面积及/或小功耗的集成电路。
本申请的寄存器资料检查装置的一个实施例包括原始同位位元产生器与检测电路。该原始同位位元产生器用来依据被输入寄存器的寄存器资料产生原始同位位元,再将该原始同位位元输入该寄存器。该检测电路包括扫描电路、仲裁器、至少一个对照同位位元产生器以及至少一个同位位元核对电路。该扫描电路用来依据寄存器位址从该寄存器读取该寄存器资料与该原始同位位元。该仲裁器用来在状态信号指出该寄存器的存取状态为忙碌的情形下,禁能该扫描电路;该仲裁器另用来在该状态信号指出该寄存器的存取状态为空闲的情形下,致能该扫描电路,并转传来自该扫描电路的该寄存器资料与该原始同位位元。该至少一个对照同位位元产生器用来在该状态信号指出该寄存器的存取状态为空闲的情形下,依据来自该仲裁器的该寄存器资料产生对照同位位元。该至少一个同位位元核对电路用来在该状态信号指出该寄存器的存取状态为空闲的情形下,比对该对照同位位元与来自该仲裁器的该原始同位位元,以输出检查结果指出该寄存器资料是否有误。
本申请的寄存器资料检查方法的一个实施例包括下列步骤:依据被输入寄存器的寄存器资料产生原始同位位元,再将该原始同位位元输入该寄存器;依据被输入的下一寄存器的下一寄存器资料产生下一原始同位位元,再将该下一原始同位位元输入该下一寄存器;依据寄存器位址从该寄存器读取该寄存器资料与该原始同位位元;依据该寄存器资料产生对照同位位元;比对该对照同位位元与该原始同位位元,以输出检查结果;更新该寄存器位址以产生下一寄存器位址;依据该下一寄存器位址从该下一寄存器读取该下一寄存器资料与该下一原始同位位元;依据该下一寄存器资料产生下一对照同位位元;以及比对该下一对照同位位元与该下一原始同位位元,以输出下一检查结果指出该下一寄存器资料是否有误。
有关本申请的特征、实施与效果,将结合附图和较佳实施例详细说明如下。
附图说明
图1示出了本申请的寄存器资料检查装置的个实施例;
图2示出了本申请的寄存器资料检查装置的另一个实施例;
图3示出了图1/图2的检测电路的运作状态的范例;
图4示出了图1/图2的检测电路的运作流程的范例;以及
图5示出了本申请的寄存器资料检查方法的一个实施例。
符合说明:
10寄存器集合
100寄存器资料检查装置
110原始同位位元产生器
120检测电路
122扫描电路
124仲裁器
126对照同位位元产生器
128同位位元核对电路
reg_data寄存器资料
pb_orig原始同位位元
reg_add寄存器位址
access_status状态信号
pb_ctrl对照同位位元
result_chk检查结果
timer_ctrl控制信号
200寄存器资料检查装置
210对照同位位元产生器
220同位位元核对电路
idle闲置状态
scan_wait扫描等候状态
regaccess_busy寄存器存取忙碌状态
regdata_error寄存器资料有误状态
scan扫描状态
scan_done扫描完成状态
s410~s490步骤
s510~s590步骤
具体实施方式
本申请包括一种寄存器资料检查装置与方法,该装置与方法利用奇偶校验(paritycheck)来检查寄存器资料,适用于要求小面积及/或小功耗的集成电路象是特定应用集成电路(applicationspecificintegratedcircuit,asic);举例而言,该装置本身可包括在一个asic中。奇偶校验本身为本领域所熟知,所以细节在此省略。
图1示出了本申请的寄存器资料检查装置的一个实施例。图1的寄存器资料检查装置100包括原始同位位元产生器110与检测电路120。原始同位位元产生器110用来在寄存器资料(reg_data)被系统或使用者输入寄存器集合10当中的寄存器12时,依据该寄存器资料产生原始同位位元(pb_orig),再将该原始同位位元输入寄存器12。检测电路120包括扫描电路122、仲裁器124、对照同位位元产生器126以及同位位元核对电路128,用来检测该寄存器资料是否对应该原始同位位元,以指出该寄存器资料是否有误。前述寄存器集合10可包括或不包括于寄存器资料检查装置100中。
请参阅图1。扫描电路122用来依据寄存器位址(reg_add)从寄存器12读取该寄存器资料与该原始同位位元,其中该寄存器位址可由位址产生器(图中未示出)产生及更新,该位址产生器可包括或不包括在寄存器资料检查装置100中。仲裁器124用来在一个状态信号(access_status)指出寄存器12的存取状态为忙碌的情形下(例如:使用者正在存取寄存器12的情形下),禁能扫描电路122,以避免同时存取造成冲突。仲裁器124另用来在该状态信号指出寄存器12的存取状态为空闲的情形下,致能扫描电路122,并接收来自扫描电路122的该寄存器资料与该原始同位位元再输出该状态信号。对照同位位元产生器126用来在该状态信号指出寄存器12的存取状态为空闲的情形下,依据来自仲裁器124的该寄存器资料产生对照同位位元(pb_ctrl)。同位位元核对电路128用来在该状态信号指出寄存器12的存取状态为空闲的情形下,比对该对照同位位元与来自仲裁器124的该原始同位位元,以输出检查结果(result_chk)指出该寄存器资料是否有误;理论上,由于该对照同位位元与该原始同位位元均依据该寄存器资料而产生,两者应该相同,若该检查结果指出两者不同,这表示该寄存器资料应该有误。检查其它寄存器的资料的方式与上述说明相仿。
请参阅图1。本实施例中,同位位元核对电路128在扫描电路122被致能的情形下,输出该检查结果给扫描电路122;因此,扫描电路122能在该检查结果指出该对照同位位元异于该原始同位位元时,依据该检查结果输出信息,该信息通常包括该寄存器位址,以及时提醒系统或使用者依据该信息重新输入寄存器资料至寄存器12。其它作法,例如扫描电路122在完成扫描一定数量的寄存器后再输出该信息也属本发明的实施范畴。另外,扫描电路122的扫描速度及/或扫描周期是固定的或可调的。该扫描速度决定一单位扫描时间用于扫描单一寄存器;换言之,该单位扫描时间等于扫描一个寄存器所需的时间加上一个不小于零的时间间隔。该扫描周期决定全部扫描时间用于扫描多个寄存器;换言之,该全部扫描时间等于扫描该多个寄存器所需的时间加上一个不小于零的时间间隔。在一实作范例中,寄存器资料检查装置100包括或利用至少一个计时器(图中未示出),以提供至少一个控制信号(timer_ctrl)给扫描电路122,从而控制该扫描速度与该扫描周期的至少其中之一;此外,前述位址产生器可依该至少一个控制信号的触发来更新该寄存器位址以产生下一寄存器位址。
请参阅图1。本实施例可选择性地在该寄存器资料被读取时,检查该寄存器资料是否有误。详言之,当寄存器12的寄存器资料被读取时,该状态信号会指出寄存器12的存取状态为忙碌,使得仲裁器124禁能扫描电路122;此时,对照同位位元产生器126依据来自寄存器12(而非来自仲裁器124)的该寄存器资料产生该对照同位位元;接着,同位位元核对电路128比对该对照同位位元与来自寄存器12(而非来自仲裁器124)的该原始同位位元,以输出该检查结果指出该寄存器资料是否有误,该检查结果可供系统或使用者决定是否更新寄存器12的资料。
图2示出了本申请的寄存器资料检查装置的另一个实施例。相较于图1,图2的寄存器资料检查装置200包括另一个对照同位位元产生器210与另一个同位位元核对电路220。对照同位位元产生器210耦接寄存器12,用来在寄存器12的寄存器资料被读取时,依据来自寄存器12的该寄存器资料产生该对照同位位元。同位位元核对电路220耦接寄存器12,用来比对同位位元产生器210的对照同位位元与来自寄存器12的该原始同位位元,以输出该检查结果。另外,图2的对照同位位元产生器126无需接收来自寄存器12的该寄存器资料;图2的同位位元核对电路128无需接收来自寄存器12的该原始同位位元。由于本领域普通技术人员能够依据图1的实施例公开内容来了解本实施例的细节与变化,重复及冗余的说明在此省略。
图3示出了图1/图2的检测电路120的运作状态的范例。如图3所示,检测电路120的运作状态包括:闲置状态(idle);扫描等候状态(scan_wait);寄存器存取忙碌状态(regaccess_busy);寄存器资料有误状态(regdata_error);扫描状态(scan);以及扫描完成状态(scan_done)。在检测电路120处于该闲置状态的情形下,若扫描电路122被致能且扫描周期开始,检测电路120进入该扫描等候状态;在该扫描等候状态下,若寄存器位址的目标寄存器的存取状态为忙碌,检测电路120进入该寄存器存取忙碌状态;在该寄存器存取忙碌状态下,若该检查结果指出被存取的该目标寄存器的寄存器资料有误,检测电路120进入该寄存器资料有误状态,接着请求系统或使用者更新该寄存器资料,然后回到该扫描等候状态;在该寄存器存取忙碌状态下,若该目标寄存器的存取状态变为空闲,检测电路120进入该扫描状态;在该扫描等候状态下,若该目标寄存器的存取状态为空闲,检测电路120进入该扫描状态;在该扫描状态下,检测电路120检查该目标寄存器,并在该检查结果指出该寄存器资料有误时更新该寄存器位址,并进入该寄存器资料有误状态;在该扫描状态下,检测电路120检查该目标寄存器,并在该检查结果指出该寄存器资料无误时更新该寄存器位址,以将下一寄存器作为该目标寄存器并加以检查;在该扫描状态下,若检测电路120完成检查所有寄存器,检测电路120进入扫描完成状态,并回到该闲置状态。
图4示出了图1/图2的检测电路120的运作流程的范例,包括下列步骤:
s410:闲置。
s420:判断扫描电路是否被致能。
s430:判断扫描周期是否开始。
s440:等候扫描寄存器。
s450:判断寄存器的存取状态是否忙碌。
s452:检查被存取的寄存器资料。
s454:判断寄存器资料是否有误。
s456:判断寄存器的存取状态是否仍忙碌。
s458:寄存器资料有误,请求更新寄存器资料。
s460:扫描寄存器。
s470:判断寄存器资料是否有误;若有误,更新寄存器地址。
s480:判断是否完成检查所有寄存器。
s482:判断是否开始检查下一寄存器。
s490:完成本次扫描周期的扫描。
由于图4的各步骤的细节可见于先前段落,重复及冗余的说明在此省略。
图5示出了本申请的寄存器资料检查方法的一个实施例,包括下列步骤:
s510:依据被输入寄存器的寄存器资料产生原始同位位元,再将该原始同位位元输入该寄存器;
s520:依据被输入下一寄存器的下一寄存器资料产生下一原始同位位元,再将该下一原始同位位元输入该下一寄存器;
s530:依据寄存器位址从该寄存器读取该寄存器资料与该原始同位位元;
s540:依据该寄存器资料产生对照同位位元;
s550:比对该对照同位位元与该原始同位位元,以输出检查结果指出该寄存器资料是否有误;
s560:更新该寄存器位址,以产生下一寄存器位址;
s570:依据该下一寄存器位址从该下一寄存器读取该下一寄存器资料与该下一原始同位位元;
s580:依据该下一寄存器资料产生下一对照同位位元;以及
s590:比对该下一对照同位位元与该下一原始同位位元,以输出下一检查结果指出该下一寄存器资料是否有误。
由于本领域普通技术人员够参阅图1~4的实施例与示范例的公开内容来了解图5的实施例的细节与变化,即图1~4的实施例与示范例的技术特征均可合理应用于图5的实施例中,因此,重复及冗余的说明在此予以节略。
请注意,在可能实施的前提下,本技术领域普通技术人员可选择性地实施前述任一实施例中部分或全部技术特征,或选择性地实施前述多个实施例中部分或全部技术特征的组合,由此增加本发明实施时的弹性。
综上所述,本申请的寄存器资料检查装置与方法利用奇偶校验来检查寄存器资料,所以对电路面积的需求不高;另外,本申请的寄存器资料检查装置与方法可选择性地致能/禁能检测电路的运作以及选择性地调整扫描速度及/或扫描周期,以避免存取冲突并能调节功耗。
虽然本发明的实施例如上文所述,然而该些实施例并非用来限定本发明,本技术领域普通技术人员可依据本发明的明示或隐含的内容对本发明的技术特征施以变化,所有变化均可能属于本发明所寻求的专利保护范畴,换言之,本发明的专利保护范围须视本申请权利要求书所界定者为准。
1.一种寄存器资料检查装置,其特征在于,所述寄存器资料检查装置包括:
原始同位位元产生器,用来依据被输入寄存器的寄存器资料产生原始同位位元,再将所述原始同位位元输入所述寄存器;以及
检测电路,包括:
扫描电路,用来依据寄存器位址从所述寄存器读取所述寄存器资料与所述原始同位位元;
仲裁器,用来在状态信号指出所述寄存器的存取状态为忙碌的情形下,禁能所述扫描电路,所述仲裁器另用来在所述状态信号指出所述寄存器的存取状态为空闲的情形下,致能所述扫描电路,并转传来自所述扫描电路的所述寄存器资料与所述原始同位位元;
至少一个对照同位位元产生器,用来在所述状态信号指出所述寄存器的存取状态为空闲的情形下,依据来自所述仲裁器的所述寄存器资料产生对照同位位元;以及
至少一个同位位元核对电路,用来在所述状态信号指出所述寄存器的存取状态为空闲的情形下,比对所述对照同位位元与来自所述仲裁器的所述原始同位位元,以输出检查结果。
2.如权利要求1所述的寄存器资料检查装置,其特征在于,在所述状态信号指出所述寄存器的存取状态为忙碌的情形下,所述至少一个对照同位位元产生器用来在所述寄存器资料被读出时,依据来自所述寄存器的所述寄存器资料产生所述对照同位位元,接着所述至少一个同位位元核对电路用来比对所述对照同位位元与来自所述寄存器的所述原始同位位元,以输出所述检查结果。
3.如权利要求2所述的寄存器资料检查装置,其特征在于,所述至少一个对照同位位元产生器包括第一对照同位位元产生器与第二对照同位位元产生器,所述第一对照同位位元产生器耦接所述仲裁器,用来依据来自所述仲裁器的所述寄存器资料产生所述对照同位位元,所述第二对照同位位元产生器耦接所述寄存器,用来依据来自所述寄存器的所述寄存器资料产生所述对照同位位元。
4.如权利要求2所述的寄存器资料检查装置,其特征在于,所述至少一个同位位元核对电路包括第一同位位元核对电路与第二同位位元核对电路,所述第一同位位元核对电路耦接所述仲裁器,用来比对所述第一对照同位位元产生器的所述对照同位位元与来自所述仲裁器的所述原始同位位元以输出所述检查结果,所述第二同位位元核对电路耦接所述寄存器,用来比对所述第二对照同位位元产生器的所述对照同位位元与来自所述寄存器的所述原始同位位元以输出所述检查结果。
5.如权利要求1所述的寄存器资料检查装置,其特征在于,所述扫描电路的扫描速度与扫描周期的至少其中之一是可调的。
6.如权利要求1所述的寄存器资料检查装置,其特征在于,所述扫描电路在完成读取所述寄存器资料与所述原始同位位元后,依据下一寄存器位址从下一寄存器读取下一寄存器资料与下一原始同位位元。
7.如权利要求6所述的寄存器资料检查装置,其特征在于,所述寄存器资料检查装置进一步包括:位址产生器,用来提供所述寄存器位址给所述扫描电路,以及更新所述寄存器位址以产生所述下一寄存器位址。
8.如权利要求7所述的寄存器资料检查装置,其特征在于,在所述检查结果指出所述原始同位位元与所述对照同位位元不同后,所述位址产生器更新所述寄存器位址以产生所述下一寄存器位址;在所述检查结果指出所述原始同位位元与所述对照同位位元相同后,所述位址产生器依据控制信号更新所述寄存器位址,以产生所述下一寄存器位址。
9.一种寄存器资料检查方法,其特征在于,所述寄存器资料检查方法包括:
依据被输入寄存器的寄存器资料产生原始同位位元,再将所述原始同位位元输入所述寄存器;
依据被输入下一寄存器的下一寄存器资料产生下一原始同位位元,再将所述下一原始同位位元输入所述下一寄存器;
依据寄存器位址从所述寄存器读取所述寄存器资料与所述原始同位位元;
依据所述寄存器资料产生对照同位位元;
比对所述对照同位位元与所述原始同位位元,以输出检查结果;
更新所述寄存器位址以产生下一寄存器位址;
依据所述下一寄存器位址从所述下一寄存器读取所述下一寄存器资料与所述下一原始同位位元;
依据所述下一寄存器资料产生下一对照同位位元;以及
比对所述下一对照同位位元与所述下一原始同位位元,以输出下一检查结果。
10.如权利要求9所述的寄存器资料检查方法,其特征在于,所述寄存器资料检查方法进一步包括:在所述检查结果指出所述原始同位位元与所述对照同位位元不同后,更新所述寄存器位址以产生所述下一寄存器位址;以及在所述检查结果指出所述原始同位位元与所述对照同位位元相同后,依据控制信号更新所述寄存器位址,以产生所述下一寄存器位址。
技术总结