基于python实现的pinmux验证代码快速生成方法与流程

文档序号:35346953发布日期:2023-09-07 20:30阅读:169来源:国知局
基于python实现的pinmux验证代码快速生成方法与流程

本发明涉及计算机,具体为基于python实现的pinmux验证代码快速生成方法。


背景技术:

1、对于pinmux(pinmultiplexing)模块验证,也就是引脚复用,通常cpu的管脚数量有限,通过复用来实现不同功能。在芯片越发复杂的今天,对应的pin脚也是成倍增加,多数公司的关于管脚复用的说明,大多数是以excel表格的形式,各个不同模块的输入和输出信号以及一些控制信号成千上万个,那么在验证该模块时,就会存在极其繁杂的重复性工作。

2、另一方面,由于人为因素引入的错误,或者是验证过程的不规范,很容易出现通路验证中出现纰漏,进而导致芯片内部通路和外围pad的链接验证失效,导致芯片功能异常失效风险增高。且重复性工作带来的还有耗时问题,这对整个项目验证进度带来较大影响。


技术实现思路

1、针对现有技术存在的不足,本发明目的是提供基于python实现的pinmux验证代码快速生成方法,以解决上述背景技术中提出的问题,本发明可快速在系统级验证环境中验证,大大加快了不同项目,不同的pinmux模块的验证收敛速度,适用性和实用性俱佳。

2、为了实现上述目的,本发明是通过如下的技术方案来实现:基于python实现的pinmux验证代码快速生成方法,包括以下步骤:步骤一:获取io端口复用文档,识别其中关于pinmux的相关信息;步骤二:编写python脚本,提取io端口复用文档内容;步骤三:将有用信息添加到固定格式代码中,将生成好的代码存入.v为后缀的文件中;步骤四:利用编译工具pycharm编译脚本;步骤五:将生成好的代码植入项目中编译调试并收集覆盖率。

3、进一步的,所述关于pinmux的相关信息包括并不限于输入信号、输入使能信号、输出信号、输出使能信号、复用控制寄存器、pad名称等。

4、进一步的,所述步骤二中,通过下载python的集成开发环境pycharm,并在该开发环境中编写python脚本代码。

5、进一步的,所述python脚本根据具体的验证方案以及io端口复用说明来提取关键信息,并生成预定的固定格式代码。

6、进一步的,该生成的固定格式代码直接作用于验证case上。

7、进一步的,所述关于pinmux的相关信息,通过脚本智能的提取关键信息,并进行组合使用,生成的代码可以覆盖到pinmux的信号通路验证和相关功能验证testcase中。

8、进一步的,pinmux的信号通路验证包括以下步骤:配置复用控制寄存器、输出通路验证、输入通路验证、完成验证流程。

9、进一步的,所述配置复用控制寄存器过程中,对复用控制寄存器进行配重并根据需要验证的通路选择;所述输出通路验证中,将输出使能信号打开,产生随机数、全0、全1;利用uvm_hdl_deposit将上述谁备的数值强制赋值给输出信号;等待一段时间后,获取输出信号对于pad的值;比较输出信号和pad获取信号的值是否相等,相等则通路验证ok,并打印比较log信息。

10、进一步的,所述输入通路验证过程中,将输入使能信号打开,产生随机数、全0、全1;利用uvm_hdl_deposit将上述谁备的数值强制赋值给pad;等待一段时间后,获取模块内部输入信号的值,比较输入信号的值和pad获取信号的值是否相等,相等则通路验证ok,比较打印log信息。

11、进一步的,完成验证后,将生成好的代码写入后缀为.v的空文件中。

12、本发明的有益效果:

13、1.该基于python实现的pinmux验证代码快速生成方法实现较为简易,python脚本编写难度低,python中对于execl的相关操作库十分成熟,故该方法易于应用到具体项目。

14、2.该基于python实现的pinmux验证代码快速生成方法更加省时,实际项目中可以节约验证工程师验证该模块80%的时间,因为现在芯片功能越来越复杂,对应的内部数据和外部数据交互增多,pinmux需要处理的信号和控制只会越来越多,该方法可以在极短的编译时间内,就完成成千上万行代码的生成,代码量不受限制。

15、3.该基于python实现的pinmux验证代码快速生成方法具有高安全性,要知道大量重复、枯乏的重复性工作,带来的是更高的错误率,使用该方法则可以很好的避免该情况的发生,使pinmux通路验证更加可靠,验证覆盖率收敛快,进一步降低了芯片内部通路异常的问题,为芯片流片回来后的工作提供保障;同时也具有高可移植性,该方法可适用于多项目使用,只需根据设计提供的io端口复用说明文档进行简单调整脚本代码,即可快速移植到新的项目。



技术特征:

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的相关信息,通过脚本智能的提取关键信息,并进行组合使用,生成的代码可以覆盖到pinmux的信号通路验证和相关功能验证testcase中。

7.根据权利要求6所述的基于python实现的pinmux验证代码快速生成方法,其特征在于:pinmux的信号通路验证包括以下步骤:配置复用控制寄存器、输出通路验证、输入通路验证、完成验证流程。

8.根据权利要求7所述的基于python实现的pinmux验证代码快速生成方法,其特征在于:所述配置复用控制寄存器过程中,对复用控制寄存器进行配重并根据需要验证的通路选择;所述输出通路验证中,将输出使能信号打开,产生随机数、全0、全1;利用uvm_hdl_deposit将上述谁备的数值强制赋值给输出信号;等待一段时间后,获取输出信号对应pad的值;比较输出信号和pad获取信号的值是否相等,相等则通路验证ok,并打印比较log信息。

9.根据权利要求7所述的基于python实现的pinmux验证代码快速生成方法,其特征在于:所述输入通路验证过程中,将输入使能信号打开,产生随机数、全0、全1;利用uvm_hdl_deposit将上述谁备的数值强制赋值给pad;等待一段时间后,获取模块内部输入信号的值,比较输入信号的值和pad获取信号的值是否相等,相等则通路验证ok,比较打印log信息。

10.根据权利要求7所述的基于python实现的pinmux验证代码快速生成方法,其特征在于:完成验证后,将生成好的代码写入后缀为.v的空文件中。


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

技术研发人员:钟家松
受保护的技术使用者:无锡摩芯半导体有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1