基于python的自动化通用时钟验证方法和系统与流程
- 国知局
- 2024-12-06 12:30:10
本发明属于芯片验证,涉及一种基于python的自动化通用时钟验证方法和系统。
背景技术:
1、时钟模块是芯片中一个必不可少的模块,它用来控制芯片按照规定的时钟节拍工作,时钟架构的好坏直接影响芯片的性能和功耗。在实际芯片设计项目中,由于每个项目的时钟来源,控制方式和时钟输出上均会有些差异,导致每个项目的时钟模块很难做到完全复用,这给项目之间的设计和验证维护都带来了很大的工作量。对于时钟模块的设计,现有的时钟架构一般采用统一的表格的方式进行描述,再使用脚本生成相应的电路代码。对于时钟模块的验证,也需要参考时钟架构的表格和文档进行验证工作,然而传统的时钟验证技术仍存在着验证耗时较大的技术问题。
技术实现思路
1、针对上述传统方法中存在的问题,本发明提出了一种基于python的自动化通用时钟验证方法、一种基于python的自动化通用时钟验证系统、一种计算机设备以及一种计算机可读存储介质,能够大幅的缩减时钟架构的验证时间,增强芯片可靠性。
2、为了实现上述目的,本发明实施例采用以下技术方案:
3、一方面,提供一种基于python的自动化通用时钟验证方法,应用于按照uvm方法学并采用systemverilog语言搭建的验证系统,验证系统包括uvm验证平台、验证宏定义文件、验证断言文件和验证用例文件,uvm验证平台用于通信连接待测的系统级芯片,验证宏定义文件用于定义系统级芯片中各个时钟的宏名字,将各个时钟的位置路径与宏名字关联,验证断言文件用于生成验证断言模块,验证断言模块用于对系统级芯片内部各时钟的频率和门控进行检查,验证用例文件用于生成验证用例,验证用例用于配置系统级芯片内的时钟寄存器并启动验证仿真;
4、自动化通用时钟验证方法包括步骤:
5、获取系统级芯片的时钟表格和寄存器表格;
6、使用python脚本解析时钟表格的描述,得到时钟控制信息并同步更新验证宏定义文件和验证断言文件;时钟控制信息可以包括输出时钟、主时钟、静态门控逻辑和动态门控逻辑;
7、使用python脚本解析寄存器表格的描述,得到各时钟寄存器的配置信息并将所有时钟寄存器的配置流程写入验证用例文件中;配置信息包括时钟寄存器的地址、域名、位宽以及时钟寄存器与各时钟的对应关系;
8、启动验证用例和uvm验证平台,对系统级芯片开始仿真,在验证用例中往系统级芯片配置各时钟寄存器,利用验证断言模块实时检查系统级芯片中各时钟信号的时钟逻辑是否正确。
9、另一方面,还提供一种基于python的自动化通用时钟验证系统,自动化通用时钟验证系统按照uvm方法学并采用systemverilog语言搭建,自动化通用时钟验证系统包括uvm验证平台、验证宏定义文件、验证断言文件和验证用例文件,uvm验证平台用于通信连接待测的系统级芯片,验证宏定义文件用于定义系统级芯片中各个时钟的宏名字,将各个时钟的位置路径与宏名字关联,验证断言文件用于生成验证断言模块,验证断言模块用于对系统级芯片内部各时钟的频率和门控进行检查,验证用例文件用于生成验证用例,验证用例用于配置系统级芯片内的时钟寄存器并启动验证仿真;
10、自动化通用时钟验证系统获取系统级芯片的时钟表格和寄存器表格后,使用python脚本解析时钟表格的描述,得到时钟控制信息并同步更新验证宏定义文件和验证断言文件,使用python脚本解析寄存器表格的描述,得到各时钟寄存器的配置信息并将所有时钟寄存器的配置流程写入验证用例文件中,启动验证用例和uvm验证平台,对系统级芯片开始仿真,在验证用例中往系统级芯片配置各时钟寄存器,利用验证断言模块实时检查系统级芯片中各时钟信号的时钟逻辑是否正确;时钟控制信息可以包括输出时钟、主时钟、静态门控逻辑和动态门控逻辑,配置信息包括时钟寄存器的地址、域名、位宽以及时钟寄存器与各时钟的对应关系。
11、又一方面,还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述基于python的自动化通用时钟验证方法的步骤。
12、再一方面,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述基于python的自动化通用时钟验证方法的步骤。
13、上述技术方案中的一个技术方案具有如下优点和有益效果:
14、上述基于python的自动化通用时钟验证方法和系统,通过采用python脚本解析时钟表格和寄存器表格的描述,更新验证宏定义文件、验证断言文件和验证用例文件,实现以python脚本的形式更新uvm验证平台验证系统级芯片中各子模块的时钟所需文件,只需要导入系统级芯片的正确的时钟表格和寄存器表格文件,即可以完成uvm验证平台中针对该系统级芯片的绝大部分验证文件的更新,便于维护并使得验证工作量大幅减少;当表格中的时钟源、主(干道)时钟或者输出时钟修改时,可以用python脚本自动生成新的验证文件,从而快速适应时钟架构的修改和移植的验证。
15、与传统技术相比,更新后的验证文件中,验证宏定义文件还可根据实际芯片结构手动修改新加内容,效率较高。如果时钟表格或寄存器表格仅发生了删减,运行python脚本后,将不需要再对整个验证系统进行手动修改,直接运行验证系统便可对时钟结构进行验证。当时钟架构进行了修改和移植,只要时钟表格的描述格式和寄存器表格的描述格式未发生改变,上述方法依旧可以适用,便于继承和维护。
技术特征:1.一种基于python的自动化通用时钟验证方法,其特征在于,应用于按照uvm方法学并采用systemverilog语言搭建的验证系统,所述验证系统包括uvm验证平台、验证宏定义文件、验证断言文件和验证用例文件,所述uvm验证平台用于通信连接待测的系统级芯片,所述验证宏定义文件用于定义所述系统级芯片中各个时钟的宏名字,将各个时钟的位置路径与宏名字关联,所述验证断言文件用于生成验证断言模块,所述验证断言模块用于对所述系统级芯片内部各时钟的频率和门控进行检查,所述验证用例文件用于生成验证用例,所述验证用例用于配置所述系统级芯片内的时钟寄存器并启动验证仿真;
2.根据权利要求1所述的基于python的自动化通用时钟验证方法,其特征在于,使用python脚本解析所述时钟表格的描述的过程,包括步骤:
3.根据权利要求1或2所述的基于python的自动化通用时钟验证方法,其特征在于,所述时钟表格包括输出时钟名字、主时钟名字、静态门控和动态门控。
4.根据权利要求1或2所述的基于python的自动化通用时钟验证方法,其特征在于,所述寄存器表格包括时钟寄存器的寄存器名、地址、域名、位宽和描述。
5.一种基于python的自动化通用时钟验证系统,其特征在于,所述自动化通用时钟验证系统按照uvm方法学并采用systemverilog语言搭建,所述自动化通用时钟验证系统包括uvm验证平台、验证宏定义文件、验证断言文件和验证用例文件,所述uvm验证平台用于通信连接待测的系统级芯片,所述验证宏定义文件用于定义所述系统级芯片中各个时钟的宏名字,将各个时钟的位置路径与宏名字关联,所述验证断言文件用于生成验证断言模块,所述验证断言模块用于对所述系统级芯片内部各时钟的频率和门控进行检查,所述验证用例文件用于生成验证用例,所述验证用例用于配置所述系统级芯片内的时钟寄存器并启动验证仿真;
6.根据权利要求5所述的基于python的自动化通用时钟验证系统,其特征在于,使用python脚本解析所述时钟表格的描述的过程,包括步骤:
7.根据权利要求5或6所述的基于python的自动化通用时钟验证系统,其特征在于,所述时钟表格包括输出时钟名字、主时钟名字、静态门控和动态门控。
8.根据权利要求5或6所述的基于python的自动化通用时钟验证系统,其特征在于,所述寄存器表格包括时钟寄存器的寄存器名、地址、域名、位宽和描述。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述基于python的自动化通用时钟验证方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述基于python的自动化通用时钟验证方法的步骤。
技术总结本发明涉及基于python的自动化通用时钟验证方法和系统,通过采用python脚本解析时钟表格和寄存器表格的描述,更新验证宏定义文件、验证断言文件和验证用例文件,实现以python脚本的形式更新UVM验证平台验证系统级芯片中各子模块的时钟所需文件,只需要导入系统级芯片的正确的时钟表格和寄存器表格文件,即可以完成UVM验证平台中针对该系统级芯片的绝大部分验证文件的更新,便于维护并使得验证工作量大幅减少;当表格中的时钟源、主(干道)时钟或者输出时钟修改时,可以用python脚本自动生成新的验证文件,从而快速适应时钟架构的修改和移植的验证,大幅的缩减时钟架构的验证时间,增强芯片可靠性。技术研发人员:刘昱玮,冯华,刘功哲,冷勇,陈洁,詹贵阳受保护的技术使用者:上海芯钛信息科技有限公司技术研发日:技术公布日:2024/12/2本文地址:https://www.jishuxx.com/zhuanli/20241204/341762.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。