基于python实现的pinmux验证代码快速生成方法技术

技术编号:38720632 阅读:14 留言:0更新日期:2023-09-08 23:15
本发明专利技术提供基于python实现的pinmux验证代码快速生成方法,包括以下步骤:步骤一:获取IO端口复用文档,识别其中关于pinmux的相关信息;步骤二:编写python脚本,提取IO端口复用文档内容;步骤三:将有用信息添加到固定格式代码中,将生成好的代码存入.V为后缀的文件中;步骤四:利用编译工具pycharm编译脚本;步骤五:将生成好的代码植入项目中编译调试并收集覆盖率,该基于python实现的pinmux验证代码快速生成方法实现较为简易,python脚本编写难度低,python中对于execl的相关操作库十分成熟,故该方法易于应用到具体项目,可以在极短的编译时间内,完成大量的代码生成,代码量不受限制。制。制。

【技术实现步骤摘要】
基于python实现的pinmux验证代码快速生成方法


[0001]本专利技术涉及计算机
,具体为基于python实现的pinmux验证代码快速生成方法。

技术介绍

[0002]对于PINMUX(PinMultiplexing)模块验证,也就是引脚复用,通常CPU的管脚数量有限,通过复用来实现不同功能。在芯片越发复杂的今天,对应的pin脚也是成倍增加,多数公司的关于管脚复用的说明,大多数是以excel表格的形式,各个不同模块的输入和输出信号以及一些控制信号成千上万个,那么在验证该模块时,就会存在极其繁杂的重复性工作。
[0003]另一方面,由于人为因素引入的错误,或者是验证过程的不规范,很容易出现通路验证中出现纰漏,进而导致芯片内部通路和外围PAD的链接验证失效,导致芯片功能异常失效风险增高。且重复性工作带来的还有耗时问题,这对整个项目验证进度带来较大影响。

技术实现思路

[0004]针对现有技术存在的不足,本专利技术目的是提供基于python实现的pinmux验证代码快速生成方法,以解决上述
技术介绍
中提出的问题,本专利技术可快速在系统级验证环境中验证,大大加快了不同项目,不同的pinmux模块的验证收敛速度,适用性和实用性俱佳。
[0005]为了实现上述目的,本专利技术是通过如下的技术方案来实现:基于python实现的pinmux验证代码快速生成方法,包括以下步骤:步骤一:获取IO端口复用文档,识别其中关于pinmux的相关信息;步骤二:编写python脚本,提取IO端口复用文档内容;步骤三:将有用信息添加到固定格式代码中,将生成好的代码存入.V为后缀的文件中;步骤四:利用编译工具pycharm编译脚本;步骤五:将生成好的代码植入项目中编译调试并收集覆盖率。
[0006]进一步的,所述关于pinmux的相关信息包括并不限于输入信号、输入使能信号、输出信号、输出使能信号、复用控制寄存器、PAD名称等。
[0007]进一步的,所述步骤二中,通过下载python的集成开发环境pycharm,并在该开发环境中编写python脚本代码。
[0008]进一步的,所述python脚本根据具体的验证方案以及IO端口复用说明来提取关键信息,并生成预定的固定格式代码。
[0009]进一步的,该生成的固定格式代码直接作用于验证case上。
[0010]进一步的,所述关于pinmux的相关信息,通过脚本智能的提取关键信息,并进行组合使用,生成的代码可以覆盖到pinmux的信号通路验证和相关功能验证testcase中。
[0011]进一步的,pinmux的信号通路验证包括以下步骤:配置复用控制寄存器、输出通路验证、输入通路验证、完成验证流程。
[0012]进一步的,所述配置复用控制寄存器过程中,对复用控制寄存器进行配重并根据需要验证的通路选择;所述输出通路验证中,将输出使能信号打开,产生随机数、全0、全1;利用uvm_hdl_deposit将上述谁备的数值强制赋值给输出信号;等待一段时间后,获取输出
信号对于PAD的值;比较输出信号和PAD获取信号的值是否相等,相等则通路验证OK,并打印比较log信息。
[0013]进一步的,所述输入通路验证过程中,将输入使能信号打开,产生随机数、全0、全1;利用uvm_hdl_deposit将上述谁备的数值强制赋值给PAD;等待一段时间后,获取模块内部输入信号的值,比较输入信号的值和PAD获取信号的值是否相等,相等则通路验证OK,比较打印log信息。
[0014]进一步的,完成验证后,将生成好的代码写入后缀为.v的空文件中。
[0015]本专利技术的有益效果:
[0016]1.该基于python实现的pinmux验证代码快速生成方法实现较为简易,python脚本编写难度低,python中对于execl的相关操作库十分成熟,故该方法易于应用到具体项目。
[0017]2.该基于python实现的pinmux验证代码快速生成方法更加省时,实际项目中可以节约验证工程师验证该模块80%的时间,因为现在芯片功能越来越复杂,对应的内部数据和外部数据交互增多,pinmux需要处理的信号和控制只会越来越多,该方法可以在极短的编译时间内,就完成成千上万行代码的生成,代码量不受限制。
[0018]3.该基于python实现的pinmux验证代码快速生成方法具有高安全性,要知道大量重复、枯乏的重复性工作,带来的是更高的错误率,使用该方法则可以很好的避免该情况的发生,使pinmux通路验证更加可靠,验证覆盖率收敛快,进一步降低了芯片内部通路异常的问题,为芯片流片回来后的工作提供保障;同时也具有高可移植性,该方法可适用于多项目使用,只需根据设计提供的IO端口复用说明文档进行简单调整脚本代码,即可快速移植到新的项目。
附图说明
[0019]图1为本专利技术基于python实现的pinmux验证代码快速生成方法的pinmux验证代码生成方法流程图;
[0020]图2为本专利技术基于python实现的pinmux验证代码快速生成方法的pinmux通路验证流程图;
[0021]图3为本专利技术argparse库的脚本中的应用代码;
[0022]图4为图3的详细界面图;
[0023]图5、6、7为本专利技术openpyxl库的脚本中的应用代码;
[0024]图8为本专利技术datatime库的脚本中的应用代码。
具体实施方式
[0025]为使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本专利技术。
[0026]请参阅图1和图8,本专利技术提供一种技术方案:基于python实现的pinmux验证代码快速生成方法,包括以下步骤:步骤一:获取IO端口复用文档,识别其中关于pinmux的相关信息;步骤二:编写python脚本,提取IO端口复用文档内容;步骤三:将有用信息添加到固定格式代码中,将生成好的代码存入.V为后缀的文件中;步骤四:利用编译工具pycharm编译脚本;步骤五:将生成好的代码植入项目中编译调试并收集覆盖率。
[0027]本实施例,所述关于pinmux的相关信息包括并不限于输入信号、输入使能信号、输出信号、输出使能信号、复用控制寄存器、PAD名称等,所述步骤二中,通过下载python的集成开发环境pycharm,并在该开发环境中编写python脚本代码,所述python脚本根据具体的验证方案以及IO端口复用说明来提取关键信息,并生成预定的固定格式代码,该生成的固定格式代码直接作用于验证case上。
[0028]本实施例,所述关于pinmux的相关信息,通过脚本智能的提取关键信息,并进行组合使用,并覆盖到pinmux的信号通路验证和相关功能验证,pinmux的信号通路验证包括以下步骤:配置复用控制寄存器、输出通路验证、输入通路验证、完成验证流程。
[0029]配置复用控制寄存器过程中,对复用控制寄存器进行配重并根据需要本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于python实现的pinmux验证代码快速生成方法,其特征在于,包括以下步骤:步骤一:获取IO端口复用文档,识别其中关于pinmux的相关信息;步骤二:编写python脚本,提取IO端口复用文档内容;步骤三:将有用信息添加到固定格式代码中,将生成好的代码存入.V为后缀的文件中;步骤四:利用编译工具pycharm编译脚本;步骤五:将生成好的代码植入项目中编译调试并收集覆盖率。2.根据权利要求1所述的基于python实现的pinmux验证代码快速生成方法,其特征在于:所述关于pinmux的相关信息包括并不限于输入信号、输入使能信号、输出信号、输出使能信号、复用控制寄存器、PAD名称等。3.根据权利要求1所述的基于python实现的pinmux验证代码快速生成方法,其特征在于:所述步骤二中,通过下载python的集成开发环境pycharm,并在该开发环境中编写python脚本代码。4.根据权利要求3所述的基于python实现的pinmux验证代码快速生成方法,其特征在于:所述python脚本根据具体的验证方案以及IO端口复用说明来提取关键信息,并生成预定的固定格式代码。5.根据权利要求4所述的基于python实现的pinmux验证代码快速生成方法,其特征在于:该生成的固定格式代码直接作用于验证case上。6.根据权利要求2或5所述的基于python实现的pinmux验证代码快速生成方法,其特征在于:所述关于pinmux的相关信息,通过脚本...

【专利技术属性】
技术研发人员:钟家松
申请(专利权)人:无锡摩芯半导体有限公司
类型:发明
国别省市:

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

1