一种基于python实现用于验证芯片调试功能的SVF文件的方法技术

技术编号:35444088 阅读:15 留言:0更新日期:2022-11-03 11:56
本发明专利技术公开一种基于python实现用于验证芯片调试功能的SVF文件的方法,其包括:S1:完成测试寄存器内容初始化,并以字典方式存放;S2:确定测试访问接口的个数及每个测试访问接口的数据宽度;S3:将S1和S2的得到的结果整合形成对应待验证芯片SVF文件所需的完整的主体数据链,作为SVF文件默认初始值;S4:根据调试操作的需求完成目标设备的配置文件;S5:将S4生成的配置文件应用到S1的内容中,根据配置文件替换字典中的相应数据,将目标设备的调试操作转换为对对应寄存器的操作;S6:根据目标设备的测试访问接口在数据链上的位置,替换S3中的数据链的对应内容,更新SVF文件的主体数据链;S7:添加SVF定义的命令,完成所需用例的SVF文件。文件。文件。

【技术实现步骤摘要】
一种基于python实现用于验证芯片调试功能的SVF文件的方法


[0001]本专利技术涉及芯片调试验证领域,具体而言,涉及一种基于python实现用于验证芯片调试功能的SVF文件的方法。

技术介绍

[0002]SVF的全称是Serial Vector Format,串行向量格式,是IEEE 1149.1的一部分。JTAG(Joint Test Action Group)设备和软件提供商已经将SVF作为标准用于数据交换。SVF主要用来控制JTAG收发数据,由于JTAG是串行的,所以收和发是同时的。使用SVF可以控制JTAG的发送端,而不用考虑JTAG TAP(Test Access Port,测试访问端口)状态机的细节。SVF以紧凑和可移植的形式描述JTAG链操作,SVF文件通过描述需要移入器件链的信息,记录JTAG操作,从而实现JTAG设备调试功能。
[0003]通常,在芯片开发阶段,可以使用SVF方式验证多个JTAG设备。SVF支持多种JTAG设备组成链状结构,能够灵活地选择其中某一个设备进行调试。同时,在芯片生产后的测试阶段,目前大多也是使用SVF文件格式进行测试。许多第三方编程工具使用SVF文件作为输入,利用包含在SVF文件中的信息对JTAG链上的设备进行编程。因此,SVF文件在芯片开发过程中的验证阶段以及芯片生产测试阶段都起到关键作用,且SVF文件可以复用,减少了重复的工作,压缩了芯片开发周期。同时SVF文件配置灵活,方便调试设备的增加或减少。
[0004]再者,Python是现阶段一种常用脚本语言,其最大的优势在于简单易学、集成度高、有广泛的库支持、开发周期短且灵活。因此,设计一种基于python实现SVF文件的方法,以用于验证芯片调试功能,成为业内的需求。

技术实现思路

[0005]为了解决上述问题,本专利技术提供一种基于python实现用于验证芯片调试功能的SVF文件的方法,在通过JTAG接口对芯片进行测试时,能够将在开发时期仿真验证阶段的python脚本实现的SVF文件,直接应用于芯片出厂阶段的测试中,通过一次设计实现了测试用例的共用,节省了测试时间和测试用例的开发成本。
[0006]为达到上述目的,本专利技术提供了一种基于python实现用于验证芯片调试功能的SVF文件的方法,用于验证芯片的调试功能,其包括以下步骤:
[0007]步骤S1:根据芯片手册中调试相关测试寄存器的描述,完成测试寄存器内容初始化,并以字典方式存放,其中,每个待验证芯片内部包含多个含有JTAG测试访问接口的设备;
[0008]步骤S2:根据芯片手册的信息,确定测试访问接口的个数及每个测试访问接口的数据宽度;
[0009]步骤S3:将步骤S1和步骤S2的得到的结果整合形成对应待验证芯片SVF文件所需的完整的主体数据链,作为SVF文件默认初始值,其中,SVF文件包含了对应待验证芯片上所
有含有JTAG测试访问接口的设备的全部信息;
[0010]步骤S4:根据调试操作的需求,完成目标设备的配置文件,其中,配置文件包括目标设备的测试访问接口信息及测试寄存器的读写操作信息;
[0011]步骤S5:将步骤S4生成的配置文件应用到步骤S1的内容中,根据配置文件替换字典中的相应数据,将目标设备的调试操作转换为对对应寄存器的操作;
[0012]步骤S6:根据目标设备的测试访问接口在数据链上的位置,替换步骤S3中的数据链的对应内容,更新SVF文件的主体数据链;
[0013]步骤S7:在步骤S6的结果上添加SVF定义的命令,完成所需用例的SVF文件。
[0014]在本专利技术一实施例中,其中,步骤S1具体为:每个包含JTAG测试访问接口的设备在芯片手册中都定义有调试信息,调试信息包括对应设备内部测试寄存器具体描述,具体包括:测试寄存器地址、数据宽度、每个数据位的含义及每个数据位的读写属性;将每个设备的调试信息采用python脚本语言定义的字典方式存放,且将每个设备按照其内置的ID一一对应到字典中。
[0015]在本专利技术一实施例中,其中,步骤S2具体为:
[0016]根据芯片手册中JTAG设备及JTAG设备链的信息,确定JTAG测试访问接口的数量;
[0017]根据每个JTAG测试访问接口内部的指令寄存器与数据寄存器,确定对应JTAG测试访问接口的数据宽度。
[0018]在本专利技术一实施例中,其中,步骤S3中的完整的主体数据链,是通过JTAG设备链将待验证芯片内部多个设备的JTAG测试访问接口链接起来所形成的。
[0019]在本专利技术一实施例中,其中,步骤S3还包括调试命令的确定过程,其是通过移位操作实现的,用以确保数据的完整性,具体为:
[0020]JTAG测试访问接口通过JTAG接口数据输入端的数据线,将调试命令通过串行数据的方式发送到对应数据链;
[0021]根据待调试设备的测试访问接口在整条数据链上位置,通过移位对应数据宽度的方式选中待调试设备。
[0022]在本专利技术一实施例中,其中,步骤S4具体为:
[0023]根据芯片验证所需用例或测试过程所需用例,修改步骤S1中目标设备对应的字典中相应寄存器的内容及对应的读写操作属性,生成目标设备的配置文件。
[0024]在本专利技术一实施例中,其中,步骤S7具体为:
[0025]根据SVF规范添加命令,以得到所需用例的SVF文件,其中,添加的命令包括:
[0026]DELAY:用于延时启动测试,等待被测试设备启动过程完毕的命令;
[0027]ENDIR IRPAUSE:配置指令寄存器扫描操作默认结束状态的命令;
[0028]ENDDR DRPAUSE:配置数据寄存器扫描操作默认结束状态的命令;以及
[0029]STATE IDLE:配置测试完成后停留在空闲状态的命令。
[0030]本专利技术提供的基于python实现用于验证芯片调试功能的SVF文件的方法,与现有技术相比,能够通过修改配置文件灵活应用于不同的测试及调试场景,且修改及使用方便,节省脚本开发成本及测试时间。
附图说明
[0031]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1为本专利技术一实施例的方法流程图;
[0033]图2为本专利技术一实施例中的SVF文件完整数据链示意图。
具体实施方式
[0034]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0035]图1为本专利技术一实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于python实现用于验证芯片调试功能的SVF文件的方法,用于验证芯片的调试功能,其特征在于,包括以下步骤:步骤S1:根据芯片手册中调试相关测试寄存器的描述,完成测试寄存器内容初始化,并以字典方式存放,其中,每个待验证芯片内部包含多个含有JTAG测试访问接口的设备;步骤S2:根据芯片手册的信息,确定测试访问接口的个数及每个测试访问接口的数据宽度;步骤S3:将步骤S1和步骤S2的得到的结果整合形成对应待验证芯片SVF文件所需的完整的主体数据链,作为SVF文件默认初始值,其中,SVF文件包含了对应待验证芯片上所有含有JTAG测试访问接口的设备的全部信息;步骤S4:根据调试操作的需求,完成目标设备的配置文件,其中,配置文件包括目标设备的测试访问接口信息及测试寄存器的读写操作信息;步骤S5:将步骤S4生成的配置文件应用到步骤S1的内容中,根据配置文件替换字典中的相应数据,将目标设备的调试操作转换为对对应寄存器的操作;步骤S6:根据目标设备的测试访问接口在数据链上的位置,替换步骤S3中的数据链的对应内容,更新SVF文件的主体数据链;步骤S7:在步骤S6的结果上添加SVF定义的命令,完成所需用例的SVF文件。2.根据权利要求1所述的基于python实现用于验证芯片调试功能的SVF文件的方法,其特征在于,步骤S1具体为:每个包含JTAG测试访问接口的设备在芯片手册中都定义有调试信息,调试信息包括对应设备内部测试寄存器具体描述,具体包括:测试寄存器地址、数据宽度、每个数据位的含义及每个数据位的读写属性;将每个设备的调试信息采用python脚本语言定义的字典方式存放,且将每个设备按照其内置的ID一一对应到字典中。3.根据权利要求1所述的基于python实现用于验证芯片调试功能的SVF文件的方法,其特...

【专利技术属性】
技术研发人员:蒋枫王飞姜志颖
申请(专利权)人:苏州睿芯集成电路科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1