CN116049014A - Amba总线的验证平台生成方法及装置 - Google Patents

Amba总线的验证平台生成方法及装置 Download PDF

Info

Publication number
CN116049014A
CN116049014A CN202310180760.4A CN202310180760A CN116049014A CN 116049014 A CN116049014 A CN 116049014A CN 202310180760 A CN202310180760 A CN 202310180760A CN 116049014 A CN116049014 A CN 116049014A
Authority
CN
China
Prior art keywords
verification platform
template
configuration information
platform
level
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.)
Pending
Application number
CN202310180760.4A
Other languages
English (en)
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.)
Lianyun Technology Hangzhou Co ltd
Original Assignee
Lianyun Technology Hangzhou 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 Lianyun Technology Hangzhou Co ltd filed Critical Lianyun Technology Hangzhou Co ltd
Priority to CN202310180760.4A priority Critical patent/CN116049014A/zh
Publication of CN116049014A publication Critical patent/CN116049014A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本申请实施例公开了一种AMBA总线的验证平台生成方法及装置,所述方法应用于验证平台生成器,包括:接收第一启动命令,所述第一启动命令携带待生成的目标验证平台的平台类型;基于所述第一启动命令携带的平台类型,从目标数据库中获取与所述第一启动命令匹配的AMBA总线配置信息和验证平台模板,所述验证平台模板包括环境组件模板、代理器模板和测试用例模板;基于所述AMBA总线配置信息和验证平台模板,生成对应的验证平台。

Description

AMBA总线的验证平台生成方法及装置
技术领域
本申请涉及AMBA总线技术领域,尤其涉及一种AMBA总线的验证平台生成方法及装置。
背景技术
随着数字集成电路行业的迅猛发展和超大规模集成电路工艺的不断进步,片上系统(System on Chip,SoC)设计的复杂度日益提升,基于高级微控制器总线架构(AdvancedMicrocontroller Bus Architecture,AMBA)总线的芯片验证作为芯片研发阶段可靠性保障的重要一环,已成为越来越多企业关注的焦点。芯片验证的时间在整个芯片的研发周期内的时间占比约七成,在产品快速迭代的当下,研发速率是产品竞争力的重要影响因素之一,所以提高AMBA总线的验证效率很有必要。
发明内容
本申请实施例的目的是提供一种AMBA总线的验证平台生成方法及装置,用以提高AMBA总线的验证效率。
为了解决上述技术问题,本说明书是这样实现的:
第一方面,提供了一种AMBA总线的验证平台生成方法,所述方法应用于验证平台生成器,包括:接收第一启动命令,所述第一启动命令携带待生成的目标验证平台的平台类型;基于所述第一启动命令携带的平台类型,从目标数据库中获取与所述第一启动命令匹配的AMBA总线配置信息和验证平台模板,所述验证平台模板包括环境组件模板、代理器模板和测试用例模板;基于所述AMBA总线配置信息和验证平台模板,生成对应的验证平台。
可选地,所述目标数据库包括配置信息数据库和验证平台模板库,获取与所述第一启动命令匹配的AMBA总线配置信息和验证平台模板,包括:
在所述平台类型为模块级验证平台的情况下,从所述配置信息数据库中获取生成模块级验证平台所需的AMBA总线配置信息,以及
从所述验证平台模板库中获取生成模块级验证平台所需的验证平台模板。
可选地,所述目标数据库包括配置信息数据库和验证平台模板库,获取与所述第一启动命令匹配的AMBA总线配置信息和验证平台模板,包括:
在所述平台类型为系统级验证平台的情况下,从所述配置信息数据库中获取生成系统级验证平台所需的AMBA总线配置信息,以及
从所述验证平台模板库中获取生成系统级验证平台所需的验证平台模板。
可选地,所述配置信息数据库中存储有包括AMBA总线配置字段和对应配置数据的配置信息;
所述验证平台模板库中存储所述验证平台模板,所述验证平台模板包括环境组件模板、代理器模板和测试用例模板;
所述环境组件模板包括模块级环境组件模板和系统级环境组件模板、计分板组件模板、理想模型组件模板、环境配置组件模板和寄存器模型模板;
所述代理器模板包括主机代理器模板、从机代理器模板、监控器组件模板、激励发生器组件模板、驱动器组件模板和代理器配置组件模板;
所述测试用例模板包括激励对象模板和测试用例模板。
可选地,基于所述AMBA总线配置信息和组件模板,生成对应的验证平台,包括:
对所述AMBA总线配置信息进行解析得到各AMBA总线配置字段和对应的配置数据;
将所述AMBA总线配置字段和对应的配置数据组合成多个数据结构;
将各数据结构形式的AMBA总线配置信息填充到所述验证平台模板中适配的模板中,得到对应的验证平台代码文件。
可选地,该方法还包括:
从所述配置信息数据库中获取与所述第一启动命令匹配的待测设计的顶层代码完整路径;
基于所述顶层代码完整路径和AMBA总线配置信息,获取所述待测设计的顶层接口;
基于所述顶层接口生成所述验证平台的接口;
基于所述待测设计的接口与对应的所述验证平台的接口之间的连接规则,生成第一接口连接代码文件以用于所述待测设计和所述验证平台的接口互联。
可选地,在所述待测设计的接口参数存在变化的情况下,该方法还包括:
接收第二启动命令,所述第二启动命令用于生成所述待测设计的接口连接文件;
响应于所述第二启动命令,从所述配置信息数据库中获取包括所述待测设计的顶层代码完整路径和所述AMBA总线配置信息;
基于所述顶层代码完整路径和所述AMBA总线配置信息,获取所述待测设计接口参数变化后的顶层接口;
基于所述接口参数变化后的顶层接口生成所述验证平台的接口;
基于所述待测设计的接口与对应的所述验证平台的接口之间的连接规则,生成第二接口连接代码文件;
使用所述第二接口连接代码文件替换所述第一接口连接代码文件,以用于所述待测设计和所述验证平台的接口互联。
可选地,生成接口连接代码文件之后,还包括:
基于代码文件对应执行的功能,将所述验证平台代码文件和所述接口连接代码文件按照代理器、环境组件、待测设计连接和测试用例的类别进行分类;
将不同类别的代码文件进行分区存储,其中相同类别的代码文件存储在同一个分区中。
可选地,所述理想模型组件模板包括第一理想模型组件模板和第二理想模型组件模板,所述第一理想模型组件模板对应的代码文件用于生成自动寻址、自动生成预期数据包、格式化打印、数据包抓取和数据包响应字段比对功能的第一理想模型组件;所述第二理想模型组件模板对应的代码文件用于生成具有AMBA协议转换、数据位宽转换、数据包预处理、数据包抓取和数据包比对功能的第二理想模型组件;
所述计分板组件模板对应的代码文件用于生成具有数据包乱序比对功能且和AMBA总线的从机数量一致的计分板;
所述代理器模板对应的代码文件用于生成主机代理器、从机代理器、监控器、激励发生器、驱动器以及建立平台内组件之间的连接关系;
其中,基于所述连接关系所述第一理想模型组件、所述第二理想模型组件与所述主机代理器通过对应端口连接,基于所述连接关系所述计分板分别与所述第二理想模型组件、所述从机代理器通过对应端口连接。
可选地,系统级验证平台包括第一模块级验证平台和第二模块级验证平台,所述系统级验证平台的系统级环境组件包括所述第一模块级验证平台的模块级环境组件和所述第二模块级验证平台的模块级环境组件,
在所述平台类型为系统级验证平台的情况下,所述环境组件模板对应的代码文件还用于建立第一模块级验证平台和第二模块级验证平台之间的连接关系;
其中,基于所述连接关系所述第一模块级验证平台的第二理想模型组件,通过所述第一模块级验证平台的从机跨总线端口和所述第二模块级验证平台的主机跨总线端口,与所述第二模块级验证平台的第二理想模型组件连接。
第二方面,提供了一种AMBA总线的验证平台生成装置,包括存储器和与所述存储器电连接的处理器,所述存储器存储有可在所述处理器运行的计算机程序,该计算机程序被该处理器执行时实现如第一方面所述的方法的步骤。
第三方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现如第一方面所述的方法的步骤。
在本申请实施例中,验证平台生成器通过接收第一启动命令,所述第一启动命令携带待生成的目标验证平台的平台类型,并基于所述第一启动命令携带的平台类型,从目标数据库中获取与所述第一启动命令匹配的AMBA总线配置信息和验证平台模板,所述验证平台模板包括组件模板、代理器模板和测试用例模板,再基于所述AMBA总线配置信息和验证平台模板,生成对应的验证平台,AMBA总线模板库是根据AMBA总线验证平台的需求定制,可以满足总线验证所需要的功能,可根据模板和配置信息自动生成符合配置信息的AMBA总线模块级或系统级验证平台、测试用例,用户可直接运行验证平台并开始功能验证工作,无需再动手添加额外的功能代码,显著提高了AMBA总线的验证效率。通过启动命令一键生成AMBA总线模块级或系统级通用验证平台的所有代码,无需人力手动,可以提高验证效率、节省开发时间、降低开发成本,并减少人为出错,提升验证平台的可靠性。并且,自动生成的AMBA总线验证平台结构明确,不同功能的组件独立生成,有利于功能验证发现设计待测设计设计错误时的错误定位,且支持组件的独立复用与组件功能的更新、增删等维护工作。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的AMBA总线的验证平台生成方法的流程示意图。
图2是本申请实施例的AMBA总线的验证平台生成方法的整体流程示意图。
图3是本申请第一实施例的AMBA总线的验证平台的结构示意图。
图4是本申请第二实施例的AMBA总线的验证平台的结构示意图。
图5是本申请实施例的AMBA总线的验证平台生成装置的结构方框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请中附图编号仅用于区分方案中的各个步骤,不用于限定各个步骤的执行顺序,具体执行顺序以说明书中描述为准。
为了解决现有技术中存在的问题,本申请实施例提供一种AMBA总线的验证平台生成方法及装置。
图1是本申请实施例的AMBA总线的验证平台生成方法的流程示意图,如图1所示,包括以下步骤:
步骤102,接收第一启动命令,所述第一启动命令携带待生成的目标验证平台的平台类型;
步骤104,基于所述第一启动命令携带的平台类型,从目标数据库中获取与所述第一启动命令匹配的AMBA总线配置信息和验证平台模板,所述验证平台模板包括环境组件模板、代理器模板和测试用例模板;
步骤106,基于所述AMBA总线配置信息和验证平台模板,生成对应的验证平台。
第一启动命令为用户根据希望生成的验证平台的类型输入的命令,验证平台的类型包括模块级验证平台和系统级验证平台,模块级验证平台为单独的验证平台,系统级验证平台包括多个模块级验证平台。例如,生成模块级验证平台的启动命令为mtb_gen-i,生成系统级验证平台的启动命令为mtb_gen-s。通过启动命令所携带的对应验证平台类型的关键字,来区别不同的第一启动命令。
在步骤104中,根据用户输入的第一启动命令,可以识别当前需要生成的验证平台的类型为模块级验证平台还是系统级验证平台。然后,根据对应的平台类型,从数据库中获取与该平台类型匹配的AMBA总线配置信息和验证平台模板。AMBA总线配置信息是用户基于不同的项目输入的,包括关键字段和对应的字段内容。验证平台模板包括环境组件模板、代理器模板和测试用例模板,各模板中配置有验证平台的不同组件、代理器和测试用例对应功能的模板。
基于上述实施例提供的方案,可选地,上述步骤104中,所述目标数据库包括配置信息数据库和验证平台模板库,获取与所述第一启动命令匹配的AMBA总线配置信息和验证平台模板,包括:在所述平台类型为模块级验证平台的情况下,从所述配置信息数据库中获取生成模块级验证平台所需的AMBA总线配置信息,以及从所述验证平台模板库中获取生成模块级验证平台所需的验证平台模板。
基于上述实施例提供的方案,可选地,上述步骤104中,所述目标数据库包括配置信息数据库和验证平台模板库,获取与所述第一启动命令匹配的AMBA总线配置信息和验证平台模板,包括:在所述平台类型为系统级验证平台的情况下,从所述配置信息数据库中获取生成系统级验证平台所需的AMBA总线配置信息,以及从所述验证平台模板库中获取生成系统级验证平台所需的验证平台模板。
生成不同类型的验证平台,所需的AMBA总线配置信息和验证平台模板是不同的。配置信息数据库用于存储配置文件,配置文件可以关键字段和对应的字段内容的形式记录用户对目标项目配置的AMBA总线配置信息。
AMBA总线配置信息包括:主机端口挂载的IP名称、主机端口序号、协议类型、数据位宽、未完成(outstanding)深度、最大时钟频率、ID位宽;从机端口挂载IP名称、从机端口序号、协议类型、数据位宽、outstanding深度、最大时钟频率、ID位宽;主机访问从机权限与地址访问权限,等等。
验证平台模板库存储着基于通用验证方法学(Universal VerificationMethodology,UVM)逻辑制作的完整验证平台的所需的各种模板,不同模板可以具有独立的组件功能。
可选地,所述配置信息数据库中存储有包括AMBA总线配置字段和对应配置数据的配置信息;所述验证平台模板库中存储所述验证平台模板,所述验证平台模板包括环境组件模板、代理器模板和测试用例模板;所述环境组件模板包括模块级环境组件模板和系统级环境组件模板、计分板组件模板、理想模型组件模板、环境配置组件模板和寄存器模型模板;所述代理器模板包括主机代理器模板、从机代理器模板、监控器组件模板、激励发生器组件模板、驱动器组件模板和代理器配置组件模板;所述测试用例模板包括激励对象模板和测试用例模板。
AMBA总线配置信息可以记录在例如excel,csv等配置文件中,通过从配置信息数据库中导出第一启动命令对应的配置文件,并进行解析,可得到AMBA总线的配置关键字和配置数据,将关键字和配置数据组合成便于验证平台生成器处理的数据结构,数据结构例如采用字典结构。由此,基于AMBA总线配置信息生成多种适配模板的数据结构,模板与配置信息进行组合,从而将模板转换为对应验证平台、测试用例、运行脚本的全套代码。
例如,基于AMBA总线的配置信息组合得到的数据结构如下:
{主机端口编号a:主机端口名称a,主机端口编号b:主机端口名称b,……};
{从机端口编号:从机端口名称,……};
{主机端口编号:主机协议类型,……};
{主机名称a:{从机名称1:{可访问地址段1,可访问地址段2,……},从机名称2:{可访问地址段1,可访问地址段2}},主机名称b:{从机名称3:{可访问地址段1,可访问地址段2,……},从机名称4:{可访问地址段1,可访问地址段2,可访问地址段2},从机名称5:{可访问地址段1}}};
{总线矩阵A访问端口:协议类型,SoC环境组件中间端口,目的总线矩阵B端口}。
生成模块级验证平台和系统级验证平台,对应的AMBA总线配置字段和对应配置数据是不同的,所包括的组件和实现功能也是不同的,系统级验证平台的环境组件与模块级验证平台的环境组件是不同的,对应地,系统级验证平台对应的环境组件模板与模块级验证平台的环境组件模板也是不同的。此外,系统级验证平台包括的模块级验证平台之间可以进行数据传输,因此对应实现数据传输功能的组件模板中会包括关于跨平台端口连接的功能和协议转换的功能。
验证平台模板库中存储的模板包括:环境组件、代理器组件、监控器组件通用乱序顺序计分板组件、激励发生器组件、理想模型组件、驱动器组件、激励对象、环境配置组件、代理器配置组件、寄存器模型、测试用例、系统级环境组件、通用协议转换对象等对应的模板文件,其中模板文件内嵌控制信息。
根据功能可以对不同的模板进行分类,例如环境组件模板包括模块级环境组件模板和系统级环境组件模板、计分板组件模板、理想模型组件模板、环境配置组件模板和寄存器模型模板,代理器模板包括主机代理器模板、从机代理器模板、监控器组件模板、激励发生器组件模板、驱动器组件模板和代理器配置组件模板,测试用例组件模板包括激励对象模板和测试用例模板。
可选地,基于所述AMBA总线配置信息和组件模板,生成对应的验证平台,包括:对所述AMBA总线配置信息进行解析得到各AMBA总线配置字段和对应的配置数据;将所述AMBA总线配置字段和对应的配置数据组合成多个数据结构;将各数据结构形式的AMBA总线配置信息填充到所述验证平台模板中适配的模板中,得到对应的验证平台代码文件。
根据解析第一启动命令携带的验证平台类型,从验证平台模板库中读取该启动命令对应验证平台类型对应所需的模板,并解析模板确定对应的功能需求。根据功能需求,从配置信息数据库中读取对应的AMBA总线配置信息,然后向模板导入匹配的AMBA总线配置信息。不同模板和对应功能的配置信息是绑定的,在读取全部AMBA总线配置信息后,可以将对应字段的配置信息填充到对应绑定的模板中,得到代码文件。模板内嵌的控制信息会基于导入的配置信息自动执行,生成对应类型验证平台的全部组件、激励、接口、测试用例等。
通过上述步骤,可以基于用户的需求生成对应类型的AMBA总线验证平台,即AMBA总线验证平台各组件、代理器、激励、测试用例对应功能的代码文件,有利于功能验证发现设计待测设计(Design Under Test,DUT)设计错误时的错误定位。
第一启动命令可以用于生成对应类型的验证平台,同时还可以用于一并生成该验证平台对应待测设计的连接。
可选地,该AMBA总线的验证平台生成方法还包括:从所述配置信息数据库中获取与所述第一启动命令匹配的待测设计的顶层代码完整路径;基于所述顶层代码完整路径和AMBA总线配置信息,获取所述待测设计的顶层接口;基于所述顶层接口生成所述验证平台的接口;基于所述待测设计的接口与对应的所述验证平台的接口之间的连接规则,生成第一接口连接代码文件以用于所述待测设计和所述验证平台的接口互联。
在该实施例中,根据第一启动命令生成DUT接口连接文件,DUT接口连接文件是指导两个接口的连接规则。相应地,还需要从配置信息数据库中获取对应的待测设计的顶层代码完整路径。根据该顶层代码完整路径和已获取AMBA总线配置信息获取目标DUT的顶层接口,根据目标DUT的顶层接口生成AMBA总线验证平台接口。目标DUT和AMBA总线连接的接口特别多,通过生成各接口对应的连接规则文件,可以实现目标DUT与AMBA总线验证平台的接口进行自动连接,实现目标DUT和验证平台的接口互联。
通过上述方式,可以通过第一启动命令,一键生成包括验证平台组件、接口、DUT接口连接文件、激励、测试用例和仿真工具脚本等AMBA总线验证平台的代码文件。结合仿真工具的运行脚本,可以自动运行上述AMBA总线验证平台的代码文件,从而实现验证平台对所连接的DUT的验证。
在生成对应的验证平台及其DUT接口连接文件之后,可能存在DUT的接口参数存在变化,但生成的验证平台不需要变化的情况。
可选地,在所述待测设计的接口参数存在变化的情况下,该AMBA总线的验证平台生成方法还包括:接收第二启动命令,所述第二启动命令用于生成所述待测设计的接口连接文件;响应于所述第二启动命令,从所述配置信息数据库中获取包括所述待测设计的顶层代码完整路径和所述AMBA总线配置信息;基于所述顶层代码完整路径和所述AMBA总线配置信息,获取所述待测设计接口参数变化后的顶层接口;基于所述接口参数变化后的顶层接口生成所述验证平台的接口;基于所述待测设计的接口与对应的所述验证平台的接口之间的连接规则,生成第二接口连接代码文件;使用所述第二接口连接代码文件替换所述第一接口连接代码文件,以用于所述待测设计和所述验证平台的接口互联。
在该实施例中,由于DUT接口连接有时会变,但生成好的验证平台不需要变,因此可以使用可以通过第二启动单独生成验证平台连接的、接口参数发生变化的DUT的接口连接文件。同样的,需要从配置信息数据库中获取待测设计的顶层代码完整路径和AMBA总线配置信息。此时,获取的待测设计的顶层代码完整路径和AMBA总线配置信息是不变的。然后,根据该顶层代码完整路径和AMBA总线配置信息会获取当前DUT接口参数变化后的顶层接口,根据DUT接口参数变化后的顶层接口生成AMBA总线验证平台接口。基于待测设计的接口与验证平台的接口之间的连接规则,生成接口参数存在变化的情况下DUT对应的接口连接代码文件,并使用变化后的接口连接代码文件替换DUT接口参数变化之前对应的接口连接代码文件,实现DUT接口连接代码文件的更新。
可选地,生成接口连接代码文件之后,还包括:基于代码文件对应执行的功能,将所述验证平台代码文件和所述接口连接代码文件按照代理器、环境组件、待测设计连接和测试用例的类别进行分类;将不同类别的代码文件进行分区存储,其中相同类别的代码文件存储在同一个分区中。
这里,接口连接代码文件可以是第一接口连接代码文件,或者第二接口连接代码文件。
分区是预先进行验证平台代码文件的存取文件夹的划分,分区用来存储不同功能的代码文件的文件夹。存储分区可以是在接收到启动命令之后。也即,验证平台组件、接口、DUT接口连接文件、激励、测试用例和仿真工具脚本等AMBA总线验证平台的代码文件按照功能进行整合分类,并最终放置在对应的分区。
参考图2,图2为本申请实施例的AMBA总线的验证平台生成方法的整体流程示意图。
验证平台生成器通过接收对应的启动命令,启动AMBA总线的验证平台生成步骤。
在接收到启动命令后,结合AMBA总线验证平台模板库、配置信息数据库和连接文件,执行AMBA总线验证平台对应代码文件的生成步骤。通过将生成的AMBA总线验证平台的代码文件按功能进行整合,从而自动生成AMBA总线验证平台。在接收到启动命令后,还可以进行存储分区自动划分,将功能分类后的代码文件放置在对应的分区中。
例如,如图2所示,分区包括分区1、分区2、分区3和分区4。具体地,分区1用于存储代理器相关代码文件,包括:代理器组件、监控器组件、激励发生器组件、驱动器组件、代理器配置组件;分区2用于存储环境组件相关代码文件,包括:环境组件、计分板组件、环境配置组件、理想模型组件、寄存器模型;分区3用于存储DUT连接相关代码文件,包括DUT接口连接文件;分区4用于存储测试用例相关代码文件,包括激励对象、接口、测试用例。此外,系统级环境组件、通用协议转换对象对应的代码文件可以存储在上述分区1-分区4的上层文件夹内。
此外,还可以在AMBA总线的验证平台的生成过程中,显示对应的AMBA总线配置信息与生成状态,并在显示的同时,将屏幕显示信息存入日志文档,方便查阅。如图2所示,执行过程中进行屏幕显示,并将屏幕显示信息输出存入日志文档。
如上文所述,所述验证平台模板包括环境组件模板和代理器模板,环境组件模板包括计分板组件模板和理想模型组件模板,代理器模板包括主机代理器模板、从机代理器模板、监控器组件模板、激励发生器组件模板、驱动器组件模板。
可选地,所述理想模型组件模板包括第一理想模型组件模板和第二理想模型组件模板,所述第一理想模型组件模板对应的代码文件用于生成自动寻址、自动生成预期数据包、格式化打印、数据包抓取和数据包响应字段比对功能的第一理想模型组件;所述第二理想模型组件模板对应的代码文件用于生成具有AMBA协议转换、数据位宽转换、数据包预处理、数据包抓取和数据包比对功能的第二理想模型组件;所述计分板组件模板对应的代码文件用于生成具有数据包乱序比对功能且和AMBA总线的从机数量一致的计分板;所述代理器模板对应的代码文件用于生成主机代理器、从机代理器、监控器、激励发生器、驱动器以及建立平台内组件之间的连接关系;其中,基于所述连接关系所述第一理想模型组件、所述第二理想模型组件与所述主机代理器通过对应端口连接,基于所述连接关系所述计分板分别与所述第二理想模型组件、所述从机代理器通过对应端口连接。
通过上述模板之间的连接关系,可以生成本申请实施例的模块级AMBA总线的验证平台,图3是本申请第一实施例的AMBA总线的验证平台的结构示意图。
上述各组件由具有对应连接关系和预设功能的模板生成,下面结合图3对模块级验证平台模板库部分连接关系进行说明。
模块级验证平台模板包括理想模型A(第一理想模型组件)、理想模型B(第二理想模型组件)和计分板模板,其中,理想模型A用于生成具有自动寻址、自动生成预期数据包、格式化打印、数据包抓取和数据包响应字段比对的功能的理想模型组件。理想模型A内置三种可变功能函数:自动寻址函数、自动生成预期数据包函数、格式化打印函数;可变功能函数即验证平台生成器根据导入的AMBA总线配置信息,自动生成这三种函数,使它们的功能可以与当前测试的DUT,例如AMBA总线匹配。此外,理想模型A内置通用功能任务:数据包抓取任务、AXI/AHB/APB数据包传输响应字段比对任务,其中任务是UVM的关键字“task”,类似于函数。
理想模型A用于生成具有AMBA协议转换、数据位宽转换、数据包预处理、数据包抓取和数据包比对的功能的理想模型组件。理想模型B内置一个通用的协议转换类,能够对数据包的协议格式和数据位宽进行转换,可进行AXI协议转APB协议,即AXI-APB;XI协议转APB协议,AXI协议转AHB协议,即AHB-APB;AHB协议转AXI协议,即AHB-AXI;AHB协议转AHB协议,即AHB-AHB;AXI协议转AXI协议,即AXI-AXI;APB协议转APB协议,即APB-APB;APB协议转AHB协议,即APB-AHB;APB协议转AXI协议,即APB-AXI。理想模型B还内置一个通用数据包预处理类,能够对数据包进行格式规范化的预处理。此外,理想模型B还内置可变功能任务,包括:数据包抓取任务,自动生成器将根据输入的AMBA总线配置文件中主机从机端口的名称、协议、数量,生成对应每个主机从机端口的抓取任务和组件连接端口等等。
计分板模板内置通用的乱序比对任务,可以对输入的数据包进行乱序比对,并输出比对结果,最终生成在模块级验证平台环境组件中的计分板实例数量和AMBA总线从机数量一致,从而通过对应数量的从机端口与从机连接,从机数量基于AMBA总线的配置信息确定。
AMBA总线总代理器中包含基于AXI/AHB/APB协议的主机、从机代理器,内置代理器的配置函数,验证平台生成器可根据AMBA总线的配置信息,调用代理器的配置函数,将主机从机名称数量、总线的协议、数据位宽、ID位宽、outstanding深度、主机访问从机权限与地址访问权限的配置信息对代理器组件进行配置。AMBA总线总代理器中的每个代理器结构如③放大图,包括驱动器、监控器、激励发生器。激励发生器对应的模板,根据AMBA总线的大部分常规功能,预设了测试激励功能,如④的激励组所示,包括:激励1,全部地址单笔传输测试;激励2,全部地址突发传输测试;激励3,outstanding测试;激励4,低功耗行为测试;激励5,交叉存取(interleaving)模式测试;激励6,性能表现测试。
其中,各模板对应的组件连接关系为:理想模型A、理想模型B和主机代理器端口连接,计分板中的两组端口,一组和理想模型B连接,一组和从机代理器端口连接。
DUT(例如AMBA总线)和AMBA总线验证平台的接口进行连接。
各个组件的个数,例如图3中对应AXI协议的主机代理器的个数为X,对应AHB协议的主机代理器的个数为Y,对应APB协议的主机代理器的个数为Z;对应AXI协议的从机代理器的个数为a,对应AHB协议的从机代理器的个数为b,对应APB协议的从机代理器的个数为c。上述主机代理器的个数、从机代理器的个数可以在对应的模板内设置成可变,验证平台生成器可根据配置信息里的个数生成实际的组件个数。
通过上述模板的组件功能及连接关系,最终生成如图3所示的模块级AMBA总线的验证平台。
系统级验证平台可以包括多个模块级验证平台,或者仅包括一个模块级验证平台。
在一个实施例中,可选地,系统级验证平台包括第一模块级验证平台和第二模块级验证平台,所述系统级验证平台的系统级环境组件包括所述第一模块级验证平台的模块级环境组件和所述第二模块级验证平台的模块级环境组件,在所述平台类型为系统级验证平台的情况下,所述环境组件模板对应的代码文件还用于建立第一模块级验证平台和第二模块级验证平台之间的连接关系;其中,基于所述连接关系所述第一模块级验证平台的第二理想模型组件,通过所述第一模块级验证平台的从机跨总线端口和所述第二模块级验证平台的主机跨总线端口,与所述第二模块级验证平台的第二理想模型组件连接。
该实施例中,系统级验证平台可以包括至少两个模块级验证平台,上文的第一模块级验证平台和第二模块级验证平台仅为系统级验证平台中具有互联关系的两个模块级验证平台,可以是系统级验证平台包括的任意两个模块级验证平台,本申请实施例不局限系统级验证平台仅包括两个模块级验证平台。
系统级验证平台的模板连接关系及系统级验证平台所包括的模块级验证平台的功能预设与图3的模块级AMBA总线验证平台一致。
系统级AMBA总线验证平台包括的各个模块级AMBA总线验证平台对应的环境组件模板只有一个,每个模块级AMBA总线验证平台对应生成的模块级AMBA总线验证平台的环境组件代码文件也只有一个。不同的模块级AMBA总线验证平台对应的环境组件模板可以相同,也可以不同。
验证平台生成器会根据导入的AMBA总线配置信息,在系统级AMBA总线验证平台环境组件中生成对应个数的模块级AMBA总线验证平台的环境组件。图4以系统级AMBA总线验证平台包括三个模块级AMBA总线验证平台为例,显示了不同模块级AMBA总线验证平台中的环境组件A、B、C对应的系统级AMBA总线验证平台环境组件模板中的连接关系,其中系统级验证平台的系统级环境组件包括模块级AMBA总线验证平台的环境组件A、B、C,并作为顶层与各模块级AMBA总线验证平台进行交互验证。图4是本申请第二实施例的AMBA总线的验证平台的结构示意图。
在系统级验证平台的各个环境组件模板中设置了主机跨总线端口、从机跨总线端口。例如,环境组件A中的理想模型的第二理想模型组件,从总代理器端口处抓取数据包,进行协议转换,并且寻址,如果判定需要跨总线访问,也就是从环境组件A总线到环境组件B总线,则将数据包通过从机跨总线端口,传到环境组件B的主机跨总线端口。环境组件B的主机跨总线端口把数据包送入第二理想模型组件进行协议转换,转换后继续寻址判断是否需要跨总线传输,如果不需要,则送入计分板进行数据比对;如果需要跨总线传输,则继续通过环境组件B的从机跨总线端口,传到对应的环境组件A或环境组件C。
上述不同环境组件之间的连接关系、寻址方式,为验证平台生成器根据AMBA总线配置文件生成。
通过上述模板的组件功能及连接关系,最终生成如图4所示的系统级AMBA总线的验证平台。
在另一个实施例中,系统级验证平台仅包括一个模块级验证平台。此时,系统级验证平台的系统级环境组件包括该模块级验证平台的模块级环境组件,系统级环境组件作为该模块级验证平台的顶层,与模块级验证平台进行交互验证。
在本申请实施例中,验证平台生成器通过接收第一启动命令,所述第一启动命令携带待生成的目标验证平台的平台类型,并基于所述第一启动命令携带的平台类型,从目标数据库中获取与所述第一启动命令匹配的AMBA总线配置信息和验证平台模板,所述验证平台模板包括组件模板、代理器模板和测试用例模板,再基于所述AMBA总线配置信息和验证平台模板,生成对应的验证平台,AMBA总线模板库是根据AMBA总线验证平台的需求定制,可以满足总线验证所需要的功能,可根据模板和配置信息自动生成符合配置信息的AMBA总线模块级或系统级验证平台、测试用例,用户可直接运行验证平台并开始功能验证工作,无需再动手添加额外的功能代码,显著提高了AMBA总线的验证效率。通过启动命令一键生成AMBA总线模块级或系统级通用验证平台的所有代码,无需人力手动,可以提高验证效率、节省开发时间、降低开发成本,并减少人为出错,提升验证平台的可靠性。并且,自动生成的AMBA总线验证平台结构明确,不同功能的组件独立生成,有利于功能验证发现设计DUT设计错误时的错误定位,且支持组件的独立复用与组件功能的更新、增删等维护工作。
此外,还可以支持对AMBA总线功能要求更高的系统级验证,以及支持AMBA总线模块级和系统级验证时与DUT接口的自动连接。通过对应模板和配置信息,可自动生成AMBA总线主机、从机的常规化顺序以及乱序访问的激励和测试用例,这类用例是AMBA总线功能验证的基础。并且,还可以在验证平台代码文件中生成作者、日期、功能描述以及用户自定义名称的验证平台。
可选地,本申请实施例还提供一种AMBA总线的验证平台生成装置,图5是本申请实施例的AMBA总线的验证平台生成装置的结构方框图。
如图5所示,验证平台生成装置2000包括存储器2200和与所述存储器2200电连接的处理器2400,所述存储器2200存储有可在所述处理器2400运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任意一种AMBA总线的验证平台生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种AMBA总线的验证平台生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (11)

1.一种AMBA总线的验证平台生成方法,其特征在于,所述方法应用于验证平台生成器,包括:
接收第一启动命令,所述第一启动命令携带待生成的目标验证平台的平台类型;
基于所述第一启动命令携带的平台类型,从目标数据库中获取与所述第一启动命令匹配的AMBA总线配置信息和验证平台模板,所述验证平台模板包括环境组件模板、代理器模板和测试用例模板;
基于所述AMBA总线配置信息和验证平台模板,生成对应的验证平台。
2.如权利要求1所述的方法,其特征在于,所述目标数据库包括配置信息数据库和验证平台模板库,获取与所述第一启动命令匹配的AMBA总线配置信息和验证平台模板,包括:
在所述平台类型为模块级验证平台的情况下,从所述配置信息数据库中获取生成模块级验证平台所需的AMBA总线配置信息,以及
从所述验证平台模板库中获取生成模块级验证平台所需的验证平台模板。
3.如权利要求1所述的方法,其特征在于,所述目标数据库包括配置信息数据库和验证平台模板库,获取与所述第一启动命令匹配的AMBA总线配置信息和验证平台模板,包括:
在所述平台类型为系统级验证平台的情况下,从所述配置信息数据库中获取生成系统级验证平台所需的AMBA总线配置信息,以及
从所述验证平台模板库中获取生成系统级验证平台所需的验证平台模板。
4.如权利要求2或3所述的方法,其特征在于,所述配置信息数据库中存储有包括AMBA总线配置字段和对应配置数据的配置信息;
所述验证平台模板库中存储所述验证平台模板,所述验证平台模板包括环境组件模板、代理器模板和测试用例模板;
所述环境组件模板包括模块级环境组件模板和系统级环境组件模板、计分板组件模板、理想模型组件模板、环境配置组件模板和寄存器模型模板;
所述代理器模板包括主机代理器模板、从机代理器模板、监控器组件模板、激励发生器组件模板、驱动器组件模板和代理器配置组件模板;
所述测试用例模板包括激励对象模板和测试用例模板。
5.如权利要求4所述的方法,其特征在于,基于所述AMBA总线配置信息和验证平台模板,生成对应的验证平台,包括:
对所述AMBA总线配置信息进行解析得到各AMBA总线配置字段和对应的配置数据;
将所述AMBA总线配置字段和对应的配置数据组合成多个数据结构;
将各数据结构形式的AMBA总线配置信息填充到所述验证平台模板中适配的模板中,得到对应的验证平台代码文件。
6.如权利要求5所述的方法,其特征在于,还包括:
从所述配置信息数据库中获取与所述第一启动命令匹配的待测设计的顶层代码完整路径;
基于所述顶层代码完整路径和AMBA总线配置信息,获取所述待测设计的顶层接口;
基于所述顶层接口生成所述验证平台的接口;
基于所述待测设计的接口与对应的所述验证平台的接口之间的连接规则,生成第一接口连接代码文件以用于所述待测设计和所述验证平台的接口互联。
7.如权利要求6所述的方法,其特征在于,在所述待测设计的接口参数存在变化的情况下,还包括:
接收第二启动命令,所述第二启动命令用于生成所述待测设计的接口连接文件;
响应于所述第二启动命令,从所述配置信息数据库中获取包括所述待测设计的顶层代码完整路径和所述AMBA总线配置信息;
基于所述顶层代码完整路径和所述AMBA总线配置信息,获取所述待测设计接口参数变化后的顶层接口;
基于所述接口参数变化后的顶层接口生成所述验证平台的接口;
基于所述待测设计的接口与对应的所述验证平台的接口之间的连接规则,生成第二接口连接代码文件;
使用所述第二接口连接代码文件替换所述第一接口连接代码文件,以用于所述待测设计和所述验证平台的接口互联。
8.如权利要求7所述的方法,其特征在于,生成接口连接代码文件之后,还包括:
基于代码文件对应执行的功能,将所述验证平台代码文件和所述接口连接代码文件按照代理器、环境组件、待测设计连接和测试用例的类别进行分类;
将不同类别的代码文件进行分区存储,其中相同类别的代码文件存储在同一个分区中。
9.如权利要求5所述的方法,其特征在于,
所述理想模型组件模板包括第一理想模型组件模板和第二理想模型组件模板,所述第一理想模型组件模板对应的代码文件用于生成自动寻址、自动生成预期数据包、格式化打印、数据包抓取和数据包响应字段比对功能的第一理想模型组件;所述第二理想模型组件模板对应的代码文件用于生成具有AMBA协议转换、数据位宽转换、数据包预处理、数据包抓取和数据包比对功能的第二理想模型组件;
所述计分板组件模板对应的代码文件用于生成具有数据包乱序比对功能且和AMBA总线的从机数量一致的计分板;
所述代理器模板对应的代码文件用于生成主机代理器、从机代理器、监控器、激励发生器、驱动器以及建立平台内组件之间的连接关系;
其中,基于所述连接关系所述第一理想模型组件、所述第二理想模型组件与所述主机代理器通过对应端口连接,基于所述连接关系所述计分板分别与所述第二理想模型组件、所述从机代理器通过对应端口连接。
10.如权利要求9所述的方法,其特征在于,系统级验证平台包括第一模块级验证平台和第二模块级验证平台,所述系统级验证平台的系统级环境组件包括所述第一模块级验证平台的模块级环境组件和所述第二模块级验证平台的模块级环境组件,
在所述平台类型为系统级验证平台的情况下,所述环境组件模板对应的代码文件还用于建立第一模块级验证平台和第二模块级验证平台之间的连接关系;
其中,基于所述连接关系所述第一模块级验证平台的第二理想模型组件,通过所述第一模块级验证平台的从机跨总线端口和所述第二模块级验证平台的主机跨总线端口,与所述第二模块级验证平台的第二理想模型组件连接。
11.一种AMBA总线的验证平台生成装置,其特征在于,包括:存储器和与所述存储器电连接的处理器,所述存储器存储有可在所述处理器运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至10中任一项所述的方法的步骤。
CN202310180760.4A 2023-02-20 2023-02-20 Amba总线的验证平台生成方法及装置 Pending CN116049014A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310180760.4A CN116049014A (zh) 2023-02-20 2023-02-20 Amba总线的验证平台生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310180760.4A CN116049014A (zh) 2023-02-20 2023-02-20 Amba总线的验证平台生成方法及装置

Publications (1)

Publication Number Publication Date
CN116049014A true CN116049014A (zh) 2023-05-02

Family

ID=86133652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310180760.4A Pending CN116049014A (zh) 2023-02-20 2023-02-20 Amba总线的验证平台生成方法及装置

Country Status (1)

Country Link
CN (1) CN116049014A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117172207A (zh) * 2023-11-02 2023-12-05 摩尔线程智能科技(北京)有限责任公司 系统总线互联验证方法、装置、电子设备、存储介质
CN117194388A (zh) * 2023-11-02 2023-12-08 摩尔线程智能科技(北京)有限责任公司 数据管理方法、装置、电子设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117172207A (zh) * 2023-11-02 2023-12-05 摩尔线程智能科技(北京)有限责任公司 系统总线互联验证方法、装置、电子设备、存储介质
CN117194388A (zh) * 2023-11-02 2023-12-08 摩尔线程智能科技(北京)有限责任公司 数据管理方法、装置、电子设备及存储介质
CN117172207B (zh) * 2023-11-02 2024-01-30 摩尔线程智能科技(北京)有限责任公司 系统总线互联验证方法、装置、电子设备、存储介质
CN117194388B (zh) * 2023-11-02 2024-02-06 摩尔线程智能科技(北京)有限责任公司 数据管理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN116049014A (zh) Amba总线的验证平台生成方法及装置
CN109086199B (zh) 一种自动化生成测试脚本的方法、终端和可存储介质
CN108038294B (zh) Uvm环境搭建方法和系统
US20050091618A1 (en) Method and apparatus for decomposing and verifying configurable hardware
CN101165694A (zh) 专用集成电路中i/o块的优化布置和验证的方法和装置
US20080313126A1 (en) Method for a distributed control system
CN101334806A (zh) 用于寄存器映射自动化的方法和设备
CN109542410A (zh) 规则引擎系统、方法、设备及存储介质
CN108984393A (zh) 一种单元测试代码自动生成方法及装置
CN111832237A (zh) 一种知识产权核验证方法及系统
CN101026511A (zh) 测试方法、系统及其配置方法和系统
CN113779913B (zh) 一种面向ai多芯片系统的验证平台结构和测试方法
US7949509B2 (en) Method and tool for generating simulation case for IC device
CN110502735B (zh) 一种电子设备通用工艺文件快速制作方法及系统
CN101976196B (zh) 一种面向“服务质量”的代码自动生成方法
CN116451621A (zh) 一种功能覆盖率代码生成方法、系统、设备及介质
CN115935865A (zh) 一种可重构芯片的验证方法及平台
CN115525555A (zh) 测试脚本的生成方法、装置、电子设备及存储介质
CN114880045A (zh) 寄存器配置方法、装置及相关设备
CN1932760B (zh) 用于运行应用程序的系统和方法
CN111258838B (zh) 验证组件生成方法、装置、存储介质及验证平台
CN111078337B (zh) 样式调整方法、系统及计算机可读存储介质
CN113342426A (zh) 一种应用层软件组件集成方法及系统
Friedenson et al. Designer's Workbench: Delivery of CAD tools
CN106909511A (zh) 一种基于RedwoodHQ的自动化测试方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination