CN104461810A - 一种提高嵌入式处理器功能验证效率的方法 - Google Patents

一种提高嵌入式处理器功能验证效率的方法 Download PDF

Info

Publication number
CN104461810A
CN104461810A CN201410643286.5A CN201410643286A CN104461810A CN 104461810 A CN104461810 A CN 104461810A CN 201410643286 A CN201410643286 A CN 201410643286A CN 104461810 A CN104461810 A CN 104461810A
Authority
CN
China
Prior art keywords
module
measured
platform
instruction
verification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410643286.5A
Other languages
English (en)
Other versions
CN104461810B (zh
Inventor
唐疆斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chipsea Technologies Shenzhen Co Ltd
Original Assignee
Chipsea Technologies Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chipsea Technologies Shenzhen Co Ltd filed Critical Chipsea Technologies Shenzhen Co Ltd
Priority to CN201410643286.5A priority Critical patent/CN104461810B/zh
Publication of CN104461810A publication Critical patent/CN104461810A/zh
Application granted granted Critical
Publication of CN104461810B publication Critical patent/CN104461810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了提高嵌入式处理器功能验证效率的方法,该方法通过仿真流程控制台和验证平台来完成,所述仿真流程控制台负责建立自测平台、模块级验证平台或系统级验证平台,进行工作目录转换,启动仿真;验证平台负责生成随机激励、调用编译器对随机生成的指令进行编译、参考模型运行、仿真结果比较。

Description

一种提高嵌入式处理器功能验证效率的方法
技术领域
本发明属于嵌入式处理器技术领域,特别涉及嵌入式处理器功能验证的方法。
背景技术
快速上市及最少的bug泄漏一直是大家在不断努力追求的,但一颗芯片从功能需求开始到上市接受竞争和考验需要经历非常多的环节,仅从编码完成到投片就需要经过前仿、综合、STA、后仿、混仿等多个环节。据权威机构数据表明,bug往下多泄漏一个流程,所付出的代价将成指数倍增加,因此,如何能尽早的发现bug,最大限度的减少bug泄漏是验证工程师最重要的职责,同时也能大大降低后续环节工作量,提高开发效率,节约开发成本。
前仿作为编码完成后第一个环节,主要任务是构建更近真实、更完备的场景验证功能正确性,随着制造工艺的发展、设计流程和设计工具的改进,现代集成电路规模越来越大,功能越来越复杂,传统的验证方法效率低下,验证过程复杂而且速度慢,已经不能满足制造工艺的需求。
目前,主流验证思想根据不同的验证对象,将验证平台分为自测平台,模块级验证平台,系统级验证平台(因本部分不包括模拟部分,仅将IO模型和数字部分验证称为系统级)。
对于嵌入式处理器的验证,自测平台的主要目的是快速调试,确认外设模块寄存器读写、基本功能正确,尽早交付验证工程师进行更全面的模块级功能验证。模块级验证平台的主要目的是根据应用场景对模块功能进行更完备的验证,以确保规格所定义功能点及应用场景下功能正确。系统级验证平台则侧重于更近真实应用场景、各模块间的协调工作,更利于后续环节所发现问题的复现,以达到快速、定位解决问题的效果。
对于如此多的验证平台,独立搭建会浪费大量的时间,带来很多本可以避免的重复工作量,目前广泛流传的一些重用性的方法在构建真实应用场景方面的效果不太理想,易产生一些冗余的应用场景,且不易对后续发现问题复现。
因此,迫切需要提供一种能够进行自动化验证及模块级验证平台快速向上重用到系统级验证平台的高效率验证方法。
发明内容
为解决上述问题,本发明的目的在于提供一种提高嵌入式处理器功能验证效率的方法,该方法通过不同模式下仿真控制及验证的分开设置,保证系统在验证时能够快速、有效地调用系统数据,提高仿真及验证效率。
本发明的另一个目地在于提供一种提高嵌入式处理器功能验证效率的方法,该方法能够有效地进行系统构建,在不同的验证平台下,可以重复使用,节约了系统资源,降低了构建成本,具有兼容性。
为实现上述目的,本发明的技术方案为:
一种提高嵌入式处理器功能验证效率的方法,其特征在于本方法在Linux/Unix下实现,通过仿真流程控制台和验证平台来完成,所述仿真流程控制台负责建立自测平台、模块级验证平台或系统级验证平台,进行工作目录转换,启动仿真;验证平台负责生成随机激励、调用编译器对随机生成的指令进行编译、参考模型运行、仿真结果比较。仿真流程控制台采用perl脚本实现;验证平台基于高级验证语言SystemVerilog及UVM等高级语言和方法学进行平台搭建。
该方法的具体步骤包括:
101、仿真流程控制台首先分析确定所需完成验证级别(自测、模块级、系统级),并产生该验证所需要文件列表的位置;
102、仿真流程控制台产生进行验证所需参数,切换工作目录;
103、启动平台仿真,验证平台判断该验证级别,确认所需产生激励的类型(指令集的激励或非指令集激励),产生激励后进行仿真。
所述步骤103中,如产生为指令集激励,则需通过DPI接口将编译器调用命令传递给C++语言,由C++调用编译器将所产生指令集编译成二进制文件,随后将编译后的二进制文件初始化到ROM中,再开始仿真。
其中,自测平台包括一个测试台(testbench)和能产生外设模块寄存器读写、基本功能验证的激励(非指令激励)发生器,单个模块的信号采集器、具有部分功能的参考模型及比对板。该测试台实例化了非指令激励发生器、信号采集器、待测模块、参考模型及对比板。
非指令激励发生器在自测平台中产生的时序信号激励,直接从待验模块的接口输入。
信号采集器:每个待测模块都有自身的信号采集器,主要完成对待测模块接口信号的采集,判断是待测模块需要完成的操作。判断得到信息若为数据流操作或者波特率配置等之类,则给参考模型发出指示。
参考模型:模拟待测模块行为,对数据流、波特率之类的功能进行运算,最终将结果传递给比对板内保存。
比对板:完成参考模型传递过来的理论值与待测模块实际输出值之间的比对,并给出相应比对结果。
模块级验证平台基于实际场景模拟及指令操作进行的,在实际场景中,内核通过从ROM读取下一步操作指令,对指令进行分析,然后给各模块发送操作指示,各模块根据内核下发的指令进行相应的操作。其包括一个测试台、实例化内核、ROM、RAM、能产生随机指令集的激励、单个模块的信号采集器、单个模块的RTL模型和验证参考模型、比对板及断言机制。该测试台实例化了待测系统顶层、验证功能顶层,待测模块顶层实例化了内核、ROM、RAM及待测模块;验证平台顶层包括了指令集激励发生器、信号采集器、待测模块参考模型、比对板及断言机制。
随机指令集激励:随机生成待测模块所涉及的指令。
断言机制:对控制信号间时序关系进行监控,给出相应的报告。
ROM、RAM、内核均属于IP,可直接使用。采集器、验证参考模型、比对板所完成功能与自测平台一致。
系统级验证平台包括一个测试台、实例化内核、ROM、RAM、系统包括的所有模块RTL模型和验证参考模型、比对板及断言机制。其各模块功能与前文介绍一致。
当由低层验证平台向高层验证平台集成重用时,大部分模块可以直接重用,而对整个验证架构只需进行很少的改动。
对于自测平台,所述步骤101之前,需要修改仿真流程控制台所需环境变量,以能正确产生自测平台、模块级验证平台和系统级验证平台进行验证所需参数;同时,编写自测平台中单个模块信号采集器、参考模型、非指令激励的指令。
更进一步,将上述的信号采集器、参考模型、非指令激励和待测模块实例化到测试台。
所述步骤102中,用户给仿真流程控制台下达模块自测命令,仿真流程产生进行模块自测所需参数,如所需导入文件列表路径、宏定义等。仿真流程控制台切换到对应目录工作目录,启动仿真,进行自测。
对于模块级验证平台,所述步骤101之前,事先定义好能应用于模块级验证和系统级验证的测试台,编写产生带约束随机指令的激励发生器,编写自动化比对板及断言机制,定义好基于DPI接口的SV/UVMM与C、C++通信协议,实例化内核、ROM、RAM、步骤8)所编写随机指令发生器到测试台相应位置,实例化单个模块信号采集器、参考模型、待测模块到测试台相应位置,实例化自动化比对板及断言机制到测试台相应位置。
所述步骤103中,测试台接收到模块级验证指示,根据所测模块名,随机产生该模块所涉及指令文件;通过通信协议调用编译器将指令文件编译成二进制文件,并将所产生二进制文件初始化到ROM中,然后开始模块级验证。
更进一步,所述步骤103后,通过比对板及断言机制判断验证结果正确与否。
更进一步,对于系统级验证平台,待所有模块级验证完成后进入系统级验证;重复步骤101,编写IO模型,及IO输入时序激励发生器;实例化IO模型、IO输入时序激励发生器到测试台;将模块级验证文件列表所在路径添加系统级验证文件列表中;将经过模块级验证已实例化了内核、ROM、RAM、所有参考模型、待测模块、比对板、断言机制的测试台所在路径添加到系统级验证文件列表中;然后重复步骤102、103;最后,通过各模块的比对板及断言机制判断验证结果正确。
本发明中所提及系统级测试台与模块级测试台为同一测试台,在验证初期即通过宏定义及指示变量方式划分好各模块级验证相关功能模块实例化位置及交互接口,避免了验证时各模块间的耦合带来的影响。
且该定义方式为一次性工作,在重用到其他同系列、架构相似项目时,只需增减一些模块定义即可;所提及仿真流程控制台也为一次性编写,重用时仅需修改部分变量或者调用不同的变量即可。
因此,本发明在提高动态仿真平台可重用性方面效果明显,且验证环境更接近真实应用场景,能大幅提高验证效率,缩短产品上市时间。
附图说明
图1是本发明所实施的结构示意图。
图2是本发明所实施自测平台的结构示意图。
图3是本发明所实施模块级平台的结构示意图。
图4是本发明所实施系统级平台的结构示意图。
图5是本发明所实施自测平台的验证流程图。
图6是本发明所实施模块级平台的验证流程图。
图7是本发明所实施系统级平台的验证流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图1所示,为本发明所实现仿真流程的模块结构图。图中,仿真流程控制台负责建立自测平台、模块级验证平台或系统级验证平台,仿真流程控制台根据用户指令确定仿真层级,产生对应层级验证文件列表,所处路径及宏定义;然后进行工作目录转换,启动仿真;验证平台包括自测平台、模块级平台和系统级平台,负责生成随机激励、调用编译器对随机生成的指令进行编译、参考模型运行、仿真结果比较。
结合图2所示,当进行自测平台的验证时,自测平台包括一个测试台(testbench)和能产生外设模块寄存器读写、基本功能验证的激励(非指令激励)发生器,单个模块的信号采集器、具有部分功能的参考模型及比对板。该测试台实例化了非指令激励发生器、信号采集器、待测模块、参考模型及对比板。
其中,非指令激励发生器在自测平台中产生的时序信号激励,直接从待验模块的接口输入。
信号采集器:每个待测模块都有自身的信号采集器,主要完成对待测模块接口信号的采集,判断是待测模块需要完成的操作。判断得到信息若为数据流操作或者波特率配置等之类,则给参考模型发出指示。
参考模型:模拟待测模块行为,对数据流、波特率之类的功能进行运算,最终将结果传递给比对板内保存。
比对板:完成参考模型传递过来的理论值与待测模块实际输出值之间的比对,并给出相应比对结果。
结合图3所示,当进行模块级平台验证时,模块级平台验证基于实际场景模拟及指令操作进行的,在实际场景中,内核通过从ROM读取下一步操作指令,对指令进行分析,然后给各模块发送操作指示,各模块根据内核下发的指令进行相应的操作。其包括一个测试台、实例化内核、ROM、RAM、能产生随机指令集的激励、单个模块的信号采集器、单个模块的RTL模型和验证参考模型、比对板及断言机制。该测试台实例化了待测系统顶层、验证功能顶层,待测模块顶层实例化了内核、ROM、RAM及待测模块;验证平台顶层包括了指令集激励发生器、信号采集器、待测模块参考模型、比对板及断言机制。
其中,随机指令集激励:随机生成待测模块所涉及的指令。
断言机制:对控制信号间时序关系进行监控,给出相应的报告。
ROM、RAM、内核均属于IP,可直接使用。采集器、验证参考模型、比对板所完成功能与自测平台一致,见自测平台中相关介绍。
结合图4所示,系统级验证平台的基本构架与模块级平台相同,包括一个测试台、实例化内核、ROM、RAM、系统包括的所有模块RTL模型和验证参考模型、比对板及断言机制。其各模块功能与前文介绍一致。只是系统级验证平台的内核可同时接多个待测模块。其中,GPIO为待测模块之一,负责待测系统与IO模型通信。
因此,针对不同的平台,验证步骤大致相同。核心的控制步骤如下:
101、仿真流程控制台首先分析确定所需完成验证级别(自测、模块级、系统级),并产生该验证所需要文件列表的位置;
102、仿真流程控制台产生进行验证所需参数,切换工作目录;
103、启动平台仿真,验证平台判断该验证级别,确认所需产生激励的类型(指令集的激励或非指令集激励),产生激励后进行仿真。
对于自测平台,先需要修改仿真流程控制台所需环境变量,以能正确产生自测平台、模块级验证平台和系统级验证平台进行验证所需参数;同时,编写自测平台中单个模块信号采集器、参考模型、非指令激励的指令;并将上述的信号采集器、参考模型、非指令激励和待测模块实例化到测试台。
然后仿真流程控制台产生该验证所需要文件列表的位置。
接着用户给仿真流程控制台下达模块自测命令,仿真流程产生进行模块自测所需参数,如所需导入文件列表路径、宏定义等。仿真流程控制台切换到对应目录工作目录。
最后,启动仿真,进行自测。
参照图5所示,当对自测平台进行仿真、验证时,根据用户的指令,仿真流程控制台产生自测所需的参数、切换工作目录;然后仿真流程控制台启动仿真;测试台判断为自测,产生非指令集激励,并发送非指令集激励给待测模块;信号采集器采集待测模块输入信号,进行操作判断;然后信号采集器进行具体操作,并将所需数据给参考模块;参考模块将处理结果存储到对比板中;信号采集器采集待测模块输出,并发送到对比板;对比板对理论值与实际值进行对比。
参照图6所示,当对模块级验证平台进行操作时,根据用户的指令,仿真流程控制台产生自测所需的参数、切换工作目录;然后仿真流程控制台启动仿真;测试台判断为进行模块级验证,产生指令集激励;然后测试台通过DPI接口传递调用编译器指令C++,C++调用编译器对指令集进行编译,产生二进制文件;测试台将产生的二进制文件初始化到ROM中;然后完成上电复位,开始模块级仿真;内核获取ROM中指令,根据指令对模块进行操作;信号采集器采集待测模块输入信号,进行操作判断;然后信号采集器执行具体操作,并将所需数据给参考模块;参考模块将处理结果存储到对比板中;信号采集器采集待测模块输出,并发送到对比板;对比板对理论值与实际值进行对比。
对于模块级验证平台,也需要事先定义好能应用于模块级验证和系统级验证的测试台,编写产生带约束随机指令的激励发生器,编写自动化比对板及断言机制,定义好基于DPI接口的SV/UVMM与C、C++通信协议。仿真流程控制台根据验证级别实例化内核、ROM、RAM、所编写随机指令发生器到测试台相应位置,实例化单个模块信号采集器、参考模型、待测模块到测试台相应位置,实例化自动化比对板及断言机制到测试台相应位置。
然后,仿真流程控制台产生进行验证所需参数,切换工作目录。
启动平台仿真,测试台接收到模块级验证指示,根据所测模块名,随机产生该模块所涉及指令文件;通过通信协议调用编译器将指令文件编译成二进制文件,并将所产生二进制文件初始化到ROM中,然后开始模块级验证。
参照图7所示,当对系统级验证平台进行操作时,根据用户的指令,仿真流程控制台产生自测所需的参数、切换工作目录;然后仿真流程控制台启动仿真;测试台判断为进行系统级验证,产生指令集激励;然后测试台通过DPI接口传递调用编译器指令C++,C++调用编译器对指令集进行编译,产生二进制文件;测试台将产生的二进制文件初始化到ROM中;然后完成上电复位,开始系统级仿真;内核获取ROM中指令,根据指令对模块进行操作;信号采集器采集待测模块输入信号,进行操作判断;然后信号采集器执行具体操作,并将所需数据给参考模块;参考模块将处理结果存储到对比板中;信号采集器采集待测模块输出,并发送到对比板;对比板对理论值与实际值进行对比。
对于系统级验证平台,待所有模块级验证完成后进入系统级验证;编写IO模型,及IO输入时序激励发生器;实例化IO模型、IO输入时序激励发生器到测试台;将模块级验证文件列表所在路径添加系统级验证文件列表中;将经过模块级验证已实例化了内核、ROM、RAM、所有参考模型、待测模块、比对板、断言机制的测试台所在路径添加到系统级验证文件列表中;然后进行仿真、验证;最后,通过各模块的比对板及断言机制判断验证结果正确。
在自测平台、模块级平台及系统级平台的验证后,都会通过比对板及断言机制判断验证结果正确与否。
自测平台向上集成到模块级验证平台时。首先,编写一个带约束的随机指令集生成器,该指令发生器支持参数传递功能,可识别是否需要产生该待测模块相关指令,便于模块级验证平台向上集成到系统级验证平台时,系统级验证平台对指令产生更容易控制;其次,编写待测模块的断言机制,对待测模块的控制信号时序正确性等进行监控;第三,编写一个测试台,该测试台下实例化功能验证的顶层、待测系统级顶层及与C++通讯协议,将待测模块实例化在待测系统顶层下,采集器、发生器、比对板、参考模型等实例化在功能验证顶层下为该待测模块预留的类中(该class具有打开/关闭功能),C++通讯协议基于SystemVerilog提供的DPI接口完成,便于随机指令生成完毕后,通过C++调用指令编译器将随机指令编译成二进制文件,初始化到ROM;最后,通过仿真流程控制台产生文件列表和仿真所需参数,就可以启动仿真了,文件列表包含所有涉及到的文件。从以上描述可看出,自测平台的信号采集器、参考模型、比对板可直接重用于模块级验证平台。
模块级验证平台向上集成到系统级验证平台时,首先,根据实际场景,编写IO口模型的时序响应机制,用于对待测系统输出的响应;其次,在待测系统顶层中,实例化所有待测模块;第三,在测试台中实例化IO口模型及其时序响应机制;最后,通过仿真流程控制台产生文件列表和仿真所需参数,就可以启动仿真了,文件列表包含所有涉及到的文件,仿真参数可控制是否打开所有预留给各待测模块的class。从以上描述可看出,所有模块级验证平台的信号随机指令发生器、采集器、参考模型、比对板、断言机制通过文件列表导入的方式可直接重用于模块级验证平台,只需进行较少改动,而无需大量重新编写,大幅提高了验证过程的重用性,减少验证所花时间,缩短上市周期。添加IO口模型及其时序响应机制,使得整个芯片系统级工作状态更接近真实场景,覆盖更多的应用场景,可以更早的发现更多的隐藏bug,提高验证效率,减少bug泄露。
总之,本发明通过上述方式能够对自测平台、模块级平台及系统级平台进行验证,在提高动态仿真平台可重用性方面效果明显,且验证环境更接近真实应用场景,能大幅提高验证效率,缩短产品的上市时间。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种提高嵌入式处理器功能验证效率的方法,其特征在于该方法通过仿真流程控制台和验证平台来完成,所述仿真流程控制台负责建立自测平台、模块级验证平台或系统级验证平台,进行工作目录转换,启动仿真;验证平台负责生成随机激励、调用编译器对随机生成的指令进行编译、参考模型运行、仿真结果比较。
2.如权利要求1所述的提高嵌入式处理器功能验证效率的方法,其特征在于方法的具体步骤包括:
101、仿真流程控制台首先分析确定所需完成验证级别,并产生该验证所需要文件列表的位置;
102、仿真流程控制台产生进行验证所需参数,切换工作目录;
103、启动平台仿真,验证平台判断该验证级别,确认所需产生激励的类型,产生激励后进行仿真。
3.如权利要求2所述的提高嵌入式处理器功能验证效率的方法,其特征在于所述验证级别分为自测平台、模块级验证平台及系统级验证平台。
4.如权利要求3所述的提高嵌入式处理器功能验证效率的方法,其特征在于自测平台包括一个测试台和能产生外设模块寄存器读写、基本功能验证的激励(非指令激励)发生器,单个模块的信号采集器、具有部分功能的参考模型及比对板。该测试台实例化了非指令激励发生器、信号采集器、待测模块、参考模型及对比板;其中,非指令激励发生器在自测平台中产生的时序信号激励,直接从待验模块的接口输入;信号采集器:每个待测模块都有自身的信号采集器,主要完成对待测模块接口信号的采集,判断是待测模块需要完成的操作,判断得到信息若为数据流操作或者波特率配置,给参考模型发出指示;参考模型模拟待测模块行为,对数据流、波特率之类的功能进行运算,最终将结果传递给比对板内保存;比对板:完成参考模型传递过来的理论值与待测模块实际输出值之间的比对,并给出相应比对结果。
5.如权利要求3所述的提高嵌入式处理器功能验证效率的方法,其特征在于模块级验证平台包括一个测试台、实例化内核、ROM、RAM、能产生随机指令集的激励、单个模块的信号采集器、单个模块的RTL模型和验证参考模型、比对板及断言机制;该测试台实例化了待测系统顶层、验证功能顶层,待测模块顶层实例化了内核、ROM、RAM及待测模块;验证平台顶层包括了指令集激励发生器、信号采集器、待测模块参考模型、比对板及断言机制;其中,随机指令集激励随机生成待测模块所涉及的指令;断言机制对控制信号间时序关系进行监控,给出相应的报告;ROM、RAM、内核均属于IP,可直接使用信号采集器:每个待测模块都有自身的信号采集器,主要完成对待测模块接口信号的采集,判断是待测模块需要完成的操作,判断得到信息若为数据流操作或者波特率配置,给参考模型发出指示;参考模型模拟待测模块行为,对数据流、波特率之类的功能进行运算,最终将结果传递给比对板内保存;比对板:完成参考模型传递过来的理论值与待测模块实际输出值之间的比对,并给出相应比对结果。
6.如权利要求3所述的提高嵌入式处理器功能验证效率的方法,其特征在于系统级验证平台包括一个测试台、实例化内核、ROM、RAM、系统包括的所有模块RTL模型和验证参考模型、比对板及断言机制。
7.如权利要求3所述的提高嵌入式处理器功能验证效率的方法,其特征在于自测平台向上集成到模块级验证平台时,首先,编写一个带约束的随机指令集生成器,该指令发生器支持参数传递功能,可识别是否需要产生该待测模块相关指令,便于模块级验证平台向上集成到系统级验证平台时,系统级验证平台对指令产生更容易控制;其次,编写待测模块的断言机制,对待测模块的控制信号时序正确性等进行监控;第三,编写一个测试台,该测试台下实例化功能验证的顶层、待测系统级顶层及与C++通讯协议,将待测模块实例化在待测系统顶层下,采集器、发生器、比对板、参考模型实例化在功能验证顶层下为该待测模块预留的类中,C++通讯协议基于SystemVerilog提供的DPI接口完成,便于随机指令生成完毕后,通过C++调用指令编译器将随机指令编译成二进制文件,初始化到ROM;最后,通过仿真流程控制台产生文件列表和仿真所需参数,就可以启动仿真了,文件列表包含所有涉及到的文件。
8.如权利要求3所述的提高嵌入式处理器功能验证效率的方法,其特征在于模块级验证平台向上集成到系统级验证平台时,首先,根据实际场景,编写IO口模型的时序响应机制,用于对待测系统输出的响应;其次,在待测系统顶层中,实例化所有待测模块;第三,在测试台中实例化IO口模型及其时序响应机制;最后,通过仿真流程控制台产生文件列表和仿真所需参数,就可以启动仿真了,文件列表包含所有涉及到的文件。
9.如权利要求8所述的提高嵌入式处理器功能验证效率的方法,其特征在于所述步骤103中,如产生为指令集激励,则需通过DPI接口将编译器调用命令传递给C++语言,由C++调用编译器将所产生指令集编译成二进制文件,随后将编译后的二进制文件初始化到ROM中,再开始仿真。
10.如权利要求8所述的提高嵌入式处理器功能验证效率的方法,其特征在于对于系统级验证平台,待所有模块级验证完成后进入系统级验证;重复步骤101,编写IO模型,及IO输入时序激励发生器;实例化IO模型、IO输入时序激励发生器到测试台;将模块级验证文件列表所在路径添加系统级验证文件列表中;将经过模块级验证已实例化了内核、ROM、RAM、所有参考模型、待测模块、比对板、断言机制的测试台所在路径添加到系统级验证文件列表中;然后重复步骤102、103;最后,通过各模块的比对板及断言机制判断验证结果正确。
CN201410643286.5A 2014-11-14 2014-11-14 一种提高嵌入式处理器功能验证效率的方法 Active CN104461810B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410643286.5A CN104461810B (zh) 2014-11-14 2014-11-14 一种提高嵌入式处理器功能验证效率的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410643286.5A CN104461810B (zh) 2014-11-14 2014-11-14 一种提高嵌入式处理器功能验证效率的方法

Publications (2)

Publication Number Publication Date
CN104461810A true CN104461810A (zh) 2015-03-25
CN104461810B CN104461810B (zh) 2018-04-10

Family

ID=52907905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410643286.5A Active CN104461810B (zh) 2014-11-14 2014-11-14 一种提高嵌入式处理器功能验证效率的方法

Country Status (1)

Country Link
CN (1) CN104461810B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155855A (zh) * 2015-04-07 2016-11-23 龙芯中科技术有限公司 对微处理器进行功能验证的方法及服务器
CN107423505A (zh) * 2017-07-21 2017-12-01 山东华芯半导体有限公司 一种模块级和SoC级可重用的验证系统及验证方法
CN107704351A (zh) * 2017-10-18 2018-02-16 盛科网络(苏州)有限公司 一种芯片的验证方法和装置
CN107729229A (zh) * 2017-09-01 2018-02-23 北京东土军悦科技有限公司 一种设计代码中替换单元的验证方法、装置和设备
CN108038283A (zh) * 2017-11-30 2018-05-15 北京时代民芯科技有限公司 一种虚拟时钟同步的高效高覆盖率SoC验证平台
CN108197351A (zh) * 2017-12-13 2018-06-22 北京时代民芯科技有限公司 一种受单片机控制的集成电路的仿真验证方法
CN109189479A (zh) * 2018-10-12 2019-01-11 西安微电子技术研究所 一种用于处理器指令集的并行自动化验证方法
CN109857608A (zh) * 2018-12-27 2019-06-07 深圳云天励飞技术有限公司 微处理器验证方法、装置、电子设备及计算机可读存储介质
CN109992892A (zh) * 2019-04-02 2019-07-09 苏州中晟宏芯信息科技有限公司 一种参考模型校验方法、装置、电子设备及可读存储介质
CN110134580A (zh) * 2019-04-01 2019-08-16 深圳云天励飞技术有限公司 处理器验证方法及相关产品
CN110147307A (zh) * 2019-05-15 2019-08-20 东华大学 一种嵌入式系统仿真ram、rom结果对比系统
CN111061629A (zh) * 2019-11-21 2020-04-24 中国航空工业集团公司西安航空计算技术研究所 一种基于Verilog的图形命令预译码单元验证平台
CN112084802A (zh) * 2020-08-12 2020-12-15 广州芯世物科技有限公司 一种rfid标签芯片验证系统
CN112241347A (zh) * 2020-10-20 2021-01-19 海光信息技术股份有限公司 实现SystemC验证的方法和验证平台组件架构
CN112463624A (zh) * 2020-12-07 2021-03-09 中国电子科技集团公司第五十八研究所 一种基于Systemverilog的CPU验证平台
CN112506517A (zh) * 2020-11-30 2021-03-16 天津飞腾信息技术有限公司 一种裸机系统级激励交叉编译系统及编译方法
CN113283211A (zh) * 2021-05-20 2021-08-20 复旦大学 基于Verilog实现的微处理器自动化验证方法及验证装置
CN114117977A (zh) * 2022-01-27 2022-03-01 广东省新一代通信与网络创新研究院 一种用于自动验证处理器系统场景的方法
CN115618800A (zh) * 2022-11-14 2023-01-17 沐曦集成电路(上海)有限公司 基于dpi的gpu联合仿真系统
CN115719047A (zh) * 2022-11-14 2023-02-28 沐曦集成电路(上海)有限公司 基于波形gpu联合仿真系统
CN116933702A (zh) * 2023-09-14 2023-10-24 北京开源芯片研究院 一种验证方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286182A (zh) * 2008-05-16 2008-10-15 浙江大学 一种用于嵌入式处理器功能验证的动态仿真平台方法
CN102929756A (zh) * 2012-10-28 2013-02-13 中国电子科技集团公司第十研究所 通用型高速并、串行总线开发验证平台
US20130179142A1 (en) * 2012-01-09 2013-07-11 Pusan National University Industry- University Cooperation Foundation Distributed parallel simulation method and recording medium for storing the method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286182A (zh) * 2008-05-16 2008-10-15 浙江大学 一种用于嵌入式处理器功能验证的动态仿真平台方法
US20130179142A1 (en) * 2012-01-09 2013-07-11 Pusan National University Industry- University Cooperation Foundation Distributed parallel simulation method and recording medium for storing the method
CN102929756A (zh) * 2012-10-28 2013-02-13 中国电子科技集团公司第十研究所 通用型高速并、串行总线开发验证平台

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155855B (zh) * 2015-04-07 2018-06-19 龙芯中科技术有限公司 对微处理器进行功能验证的方法及服务器
CN106155855A (zh) * 2015-04-07 2016-11-23 龙芯中科技术有限公司 对微处理器进行功能验证的方法及服务器
CN107423505A (zh) * 2017-07-21 2017-12-01 山东华芯半导体有限公司 一种模块级和SoC级可重用的验证系统及验证方法
CN107729229B (zh) * 2017-09-01 2020-04-24 北京东土军悦科技有限公司 一种设计代码中替换单元的验证方法、装置和设备
CN107729229A (zh) * 2017-09-01 2018-02-23 北京东土军悦科技有限公司 一种设计代码中替换单元的验证方法、装置和设备
CN107704351A (zh) * 2017-10-18 2018-02-16 盛科网络(苏州)有限公司 一种芯片的验证方法和装置
CN108038283A (zh) * 2017-11-30 2018-05-15 北京时代民芯科技有限公司 一种虚拟时钟同步的高效高覆盖率SoC验证平台
CN108197351A (zh) * 2017-12-13 2018-06-22 北京时代民芯科技有限公司 一种受单片机控制的集成电路的仿真验证方法
CN108197351B (zh) * 2017-12-13 2021-04-13 北京时代民芯科技有限公司 一种受单片机控制的集成电路的仿真验证方法
CN109189479A (zh) * 2018-10-12 2019-01-11 西安微电子技术研究所 一种用于处理器指令集的并行自动化验证方法
CN109189479B (zh) * 2018-10-12 2023-02-24 西安微电子技术研究所 一种用于处理器指令集的并行自动化验证方法
CN109857608A (zh) * 2018-12-27 2019-06-07 深圳云天励飞技术有限公司 微处理器验证方法、装置、电子设备及计算机可读存储介质
CN110134580A (zh) * 2019-04-01 2019-08-16 深圳云天励飞技术有限公司 处理器验证方法及相关产品
CN109992892A (zh) * 2019-04-02 2019-07-09 苏州中晟宏芯信息科技有限公司 一种参考模型校验方法、装置、电子设备及可读存储介质
CN109992892B (zh) * 2019-04-02 2023-12-26 合芯科技(苏州)有限公司 一种参考模型校验方法、装置、电子设备及可读存储介质
CN110147307A (zh) * 2019-05-15 2019-08-20 东华大学 一种嵌入式系统仿真ram、rom结果对比系统
CN110147307B (zh) * 2019-05-15 2021-10-26 东华大学 一种嵌入式系统仿真ram、rom结果对比系统
CN111061629A (zh) * 2019-11-21 2020-04-24 中国航空工业集团公司西安航空计算技术研究所 一种基于Verilog的图形命令预译码单元验证平台
CN112084802A (zh) * 2020-08-12 2020-12-15 广州芯世物科技有限公司 一种rfid标签芯片验证系统
CN112241347A (zh) * 2020-10-20 2021-01-19 海光信息技术股份有限公司 实现SystemC验证的方法和验证平台组件架构
CN112241347B (zh) * 2020-10-20 2021-08-27 海光信息技术股份有限公司 实现SystemC验证的方法和验证平台组件架构
CN112506517A (zh) * 2020-11-30 2021-03-16 天津飞腾信息技术有限公司 一种裸机系统级激励交叉编译系统及编译方法
CN112463624A (zh) * 2020-12-07 2021-03-09 中国电子科技集团公司第五十八研究所 一种基于Systemverilog的CPU验证平台
CN113283211A (zh) * 2021-05-20 2021-08-20 复旦大学 基于Verilog实现的微处理器自动化验证方法及验证装置
CN114117977A (zh) * 2022-01-27 2022-03-01 广东省新一代通信与网络创新研究院 一种用于自动验证处理器系统场景的方法
CN114117977B (zh) * 2022-01-27 2023-02-24 广东省新一代通信与网络创新研究院 一种适用于自动验证处理器系统场景的方法
CN115719047A (zh) * 2022-11-14 2023-02-28 沐曦集成电路(上海)有限公司 基于波形gpu联合仿真系统
CN115618800B (zh) * 2022-11-14 2023-05-12 沐曦集成电路(上海)有限公司 基于dpi的gpu联合仿真系统
CN115719047B (zh) * 2022-11-14 2023-06-06 沐曦集成电路(上海)有限公司 基于波形gpu联合仿真系统
CN115618800A (zh) * 2022-11-14 2023-01-17 沐曦集成电路(上海)有限公司 基于dpi的gpu联合仿真系统
CN116933702A (zh) * 2023-09-14 2023-10-24 北京开源芯片研究院 一种验证方法、装置、电子设备及可读存储介质
CN116933702B (zh) * 2023-09-14 2023-12-22 北京开源芯片研究院 一种验证方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN104461810B (zh) 2018-04-10

Similar Documents

Publication Publication Date Title
CN104461810A (zh) 一种提高嵌入式处理器功能验证效率的方法
CN106940428B (zh) 芯片验证方法、装置及系统
CN105302950B (zh) 一种软、硬件协同的可编程逻辑器件交联仿真测试方法
CN104268310B (zh) 使用专用图形界面调用uvm验证环境的方法
CN101539958B (zh) 一种标准单元库和集成电路的设计方法和装置
CN109726507B (zh) 一种高效的多功能验证方法
CN101499937A (zh) 一种基于fpga的软硬件协同仿真验证系统及方法
CN106155903B (zh) 用于系统设计验证的装置和方法
US8271252B2 (en) Automatic verification of device models
CN115828839A (zh) 一种soc芯片系统级验证系统及方法
CN112417798B (zh) 一种时序测试方法、装置、电子设备及存储介质
CN104657245A (zh) 基于amba总线的模块级uvm验证平台的自动生成装置
CN111859834B (zh) 一种基于uvm的验证平台开发方法、系统、终端及存储介质
CN103150441A (zh) 一种软硬件协同仿真的验证平台及其构建方法
CN116089281A (zh) 一种芯片测试方法、测试平台和设备
US8265918B1 (en) Simulation and emulation of a circuit design
CN201522707U (zh) 基于fpga的软硬件协同仿真验证系统
Nidagundi et al. New method for mobile application testing using lean canvas to improving the test strategy
CN110209587B (zh) 安全芯片业务流程的测试方法及装置
Khan et al. From Spec to Verification Closure: a case study of applying UVM-MS for first pass success to a complex Mixed-Signal SoC design
CN108228965B (zh) 一种存储单元的仿真验证方法、装置和设备
CN114090423A (zh) 一种芯片验证自动化控制方法
CN116719729A (zh) 通用验证平台、通用验证方法、介质及电子设备
CN104239202A (zh) 交互式智能设备的非Root测试方法和系统
Wolf et al. Intervals in software execution cost analysis

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 518067 Nanshan District, Shenzhen, Nanhai Avenue, garden city, No. 1079, building A, block, floor 9

Patentee after: Chipsea Technology (Shenzhen) Co., Ltd.

Address before: 518067 Nanshan District, Shenzhen, Nanhai Avenue, garden city, No. 1079, building A, block, floor 9

Patentee before: Xinhai Science and Technology Co., Ltd., Shenzhen City