带有随机UID的处理器芯片仿真器的制作方法

文档序号:13446117阅读:433来源:国知局

本发明涉及一种处理器芯片仿真器,特别是涉及一种带有随机uid(useridentification用户身份证明)的处理器芯片仿真器。



背景技术:

处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是仿真器。仿真器内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,仿真芯片与仿真器其它部件(存放用户程序的程序存储器、存放数据的数据存储器,以及用户电脑上的集成开发环境等)配合实现用户程序的仿真运行和各项调试功能,用于模拟实际产品处理器芯片进行调试、测试,以及检测机构的送检、预检等。

处理器芯片一般都带有uid(用户身份证明useridentification),实际的产品处理器芯片每一颗都有一个唯一的uid,可在应用中用于识别和分辨。在一些现场应用测试、兼容性测试,或者检测机构送检中经常需要用到多颗处理器芯片来完成某一个大测试流程。这些芯片各自的uid不同,测试或检测中会需要依据这些不同的uid来分辨操作的目标处理器芯片,按规划来指定它们各自完成一个大测试流程中不同的测试阶段、测试环节、测试项或不同的测试功能。例如智能卡处理器芯片领域中,抗冲突功能测试就需要使用多张智能卡,配合读卡机通过抗冲突功能以及这些卡片内处理器不同的uid,分别识别出这些卡片,完成抗冲突流程测试,抗冲突应用测试也是同样的。

考虑到技术风险和成本问题,很多现场应用测试、兼容性测试,或者检测机构送检、预检都是采用处理器芯片仿真器来完成的,而不是直接生产出产品芯片去完成,特别是掩膜类芯片,存在很大的代码掩膜风险、时间问题等。但是,现有的仿真器设计中,以仿真芯片替代产品芯片,仿真芯片内uid都是固定的,也就是每一个仿真器上获取到的处理器芯片uid都是相同的,显然就无法用于上述现场应用测试、兼容性测试,或者检测机构送检中需要有多个uid的情况。为满足这些需求,现有几种常见做法,一是流片生产出一批各自uid不同的仿真芯片,但这明显具有技术风险(用户程序尚处于开发阶段、芯片尚未测试完全、芯片设计可能还需要完善、修改等),同时成本和时间风险也很高,一般很少这么做。由于现在仿真器中仿真芯片通常都是以fpga(fieldprogrammablegatearray,现场可编程门阵列)芯片加网表逻辑方式实现的,另一种比较常见的做法是,定制几个带有不同uid的网表分别烧录到若干台仿真器中,形成了若干台具有不同处理器芯片uid特性的仿真器,用于完成上述需求的内部调试和外送的测试。但是,这样做需要重新制作产生若干个网表,并烧录到对应数量的仿真器中去,需求数量比较多时制作、操作、维护和使用都非常麻烦,例如,智能卡领域中电子标签的抗冲突测试往往同时需要有几十、上百个仿真器进行测试抗冲突功能。



技术实现要素:

本发明要解决的技术问题是提供一种带有随机uid的处理器芯片仿真器,能够简化系统实现结构,保证调试、测试的可靠性。

为解决上述技术问题,本发明的带有随机uid的处理器芯片仿真器,包括:管理模块和仿真芯片;所述管理模块内具有随机数发生器,所述仿真芯片内具有处理器核和uid寄存器;所述uid寄存器通过一条寄存器读写通道与管理模块和处理器核相连接;

每次仿真器上电,仿真器处于停止运行状态,仿真芯片内的处理器核不工作,不能读取uid寄存器,所述管理模块会产生一个随机的处理器芯片uid写入仿真芯片内的uid寄存器中,此次写入完成后,其它时候管理模块不会再写入。

所述管理模块能控制其中的随机数发生器产生一组随机数,通过与仿真芯片内uid寄存器连接的寄存器读写通道写入到uid寄存器中,管理模块只能写入不能读出uid寄存器。

仿真芯片内的处理器核能通过与uid寄存器连接的寄存器读写通道,读取uid寄存器中存放的处理器芯片uid信息,处理器核只能读取不能写入uid寄存器。

仿真器全速运行用户程序时,仿真芯片内的处理器核工作,能够读取uid寄存器,但不能写入,所述管理模块也不会写入。

一种带有随机uid的处理器芯片仿真器,包括:管理模块和仿真芯片;所述管理模块内具有随机数发生器,所述仿真芯片内具有处理器核和uid寄存器;所述uid寄存器通过一条寄存器读写通道与管理模块和处理器核相连。

采用本发明的的带有随机uid的处理器芯片仿真器,每次上电都自动产生并带有随机的uid,可以方便地用于需要有多个带有不同uid处理器芯片仿真器的现场应用测试、兼容性测试,或者检测机构送检,需要几个样本就直接使用几台同型号的仿真器即可,无需定制仿真芯片或fpga网表;同时,仿真器功能、性能与产品芯片的一致性不会受到影响,真实模拟了产品芯片的功能和性能,保证了调试、测试的真实性和可靠性。简化了系统实现结构,保证了调试、测试的可靠性,有助于提高调试、测试效率。

附图说明

下面结合附图和具体实施方式对本发明作进一步详细的说明:

图1是所述带有随机uid的处理器芯片仿真器的结构示意图。

具体实施方式

如图1所示,所述带有随机uid的处理器芯片仿真器1(即图1中的仿真器),包括:管理模块5和仿真芯片2。所述管理模块5内具有随机数发生器6。所述仿真芯片2内有处理器核3和uid寄存器4。所述uid寄存器4通过一条寄存器读写通道7与管理模块5连接,所述寄存器读写通道7同时引出与处理器核3连接。

每次仿真器1上电,仿真器1处于停止运行状态,仿真芯片2内的处理器核3不工作,不能读取uid寄存器4,所述管理模块5控制其中的随机数发生器6产生一组随机数(即相当于随机的处理器芯片uid),通过与仿真芯片2内uid寄存器4连接的寄存器读写通道7写入到uid寄存器4中,管理模块5只能写入不能读出uid寄存器4,且此次写入完成后,其它时候管理模块5不会再写入。仿真器1全速运行用户程序时,仿真芯片2内的处理器核3工作,仿真芯片2内的处理器核3通过与uid寄存器4连接的寄存器读写通道7,就可以读取uid寄存器4中存放的处理器芯片uid信息,处理器核3只能读取不能写入uid寄存器4,此时,所述管理模块5也不会写入。

这样,每次仿真器1上电都会产生一个随机的uid,在应用中如果有多台仿真器1,各自上电后,就会有各自的uid,可以用于需要有多个带有不同uid处理器芯片仿真器的现场应用测试、兼容性测试,或者检测机构送检,需要几个样本就直接使用几台同型号的仿真器1即可。同时,仿真器1上电后,管理模块5产生和写入随机uid的过程中,仿真器1尚处于停止运行状态,用户程序尚未下载和开始执行,故对用户和用户程序都是不可见的,且管理模块5只能写入不能读取uid。仿真器1运行用户程序时,才能且只能读取不能写入uid,也是与产品芯片完全一致的。这些都保证了仿真器1的稳定性,以及与产品芯片功能、性能的一致性。

所述仿真芯片2仍可以采用fpga芯片和网表实现;所述uid寄存器4可以使用fpga内的寄存器资源或逻辑资源实现;所述管理模块5可以采用通用处理器芯片实现,其中的随机数发生器6可以采用单片机软件方式或者硬件真随机数模块实现,对几十、几百的测试样本情况而言,各个仿真器上电产生的随机uid不会出现重复;寄存器读写通道7可以使用芯片的uid寄存器读取通道增加写入功能和控制线实现。

以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1