CN113569509A - 面向amba总线架构芯片的性能验证系统及应用 - Google Patents
面向amba总线架构芯片的性能验证系统及应用 Download PDFInfo
- Publication number
- CN113569509A CN113569509A CN202110931551.XA CN202110931551A CN113569509A CN 113569509 A CN113569509 A CN 113569509A CN 202110931551 A CN202110931551 A CN 202110931551A CN 113569509 A CN113569509 A CN 113569509A
- Authority
- CN
- China
- Prior art keywords
- module
- bus
- amba
- soc
- data
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 94
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 title claims abstract 29
- 230000005540 biological transmission Effects 0.000 claims abstract description 31
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 238000013461 design Methods 0.000 claims description 96
- 238000004088 simulation Methods 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 6
- 238000011161 development Methods 0.000 abstract description 10
- 238000011156 evaluation Methods 0.000 abstract description 5
- 238000012827 research and development Methods 0.000 abstract description 4
- 238000012360 testing method Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 101000953492 Homo sapiens Inositol hexakisphosphate and diphosphoinositol-pentakisphosphate kinase 1 Proteins 0.000 description 2
- 102100037739 Inositol hexakisphosphate and diphosphoinositol-pentakisphosphate kinase 1 Human genes 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/08—Intellectual property [IP] blocks or IP cores
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了面向AMBA总线架构芯片的性能验证系统及应用,涉及芯片开发技术领域。所述系统中,在待测SoC端利用AMBA的VIP组件搭建UVM验证平台,UVM验证平台被配置为:获取约束文件,根据约束文件产生随机读写传输包,将生成的读写传输包发送至前述IP模块的主VIP后,通过该主VIP模拟总线行为并监测AMBA总线上的传输数据;在监测过程中,通过总线监控器模块监测总线上的IP模块的数据带宽信息后,将获取的数据带宽信息与总带宽进行比对以判断是否符合需求。本发明能够实现芯片性能特性的预评估,可以尽早实现芯片性能特性的收敛工作,降低了迭代风险,缩短了芯片研发周期,同时降低了系统风险。
Description
技术领域
本发明涉及芯片开发技术领域,尤其涉及一种面向AMBA总线架构芯片的性能验证系统及应用。
背景技术
在IC(集成电路)设计领域,主流芯片设计越来越倾向于使用可复用IP(或称IP核,是芯片中具体的功能模块)的SoC(System-on-Chip,系统芯片,也称片上系统)设计。在基于IP复用的SOC设计中,片上总线设计是最为关键的问题。其中,由ARM公司推出的AMBA(Advanced Microcontroller Bus Architecture,先进微控制器总线体系结构 )片上总线受到了广大IP开发商和SOC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA规范主要包括AHB(Advanced High performance Bus)系统总线、APB(AdvancedPeripheral Bus)外围总线和 AXI(Advanced eXtensible Interface)总线。
在AMBA总线架构类芯片的设计开发过程中,需要进行芯片性能验证以评估芯片的性能特性是否达到设计要求,以保证芯片的速度和质量。随芯片规模的增加,芯片中集成的IP模块也越来越多,芯片性能验证工作显得尤为重要,是决定芯片能否满足现实需求的决定性因素之一。已有VIP(Verification IP,或称验证IP)模块可以提供各种芯片上和芯片外的功能模型,包括PCIe(Peripheral Component Interconnect Express)、USB(Universal Serial Bus)和以太网等模型。作为举例,比如AMBA AXI3 和AXI4的VIP模块,验证工程师可以使用上述VIP模块中的功能模型在流片前测试SoC接口,从而验证一个接口是否符合所公布的标准。
另一方面,UVM(Universal Verification Methodology,通用验证方法学)验证是主流的验证方法,其提供了一个可复用的、分层次的验证平台框架,具有层次清晰、灵活易用、可扩展等特点,目前已成为芯片行业验证的标准。现有技术中也提供了各种基于UVM验证方法学搭建的UVM验证平台(或称UVM验证环境),通过UVM验证平台对被测芯片中的IP模块进行性能验证。比如中国专利ZL201310589511 .7公开的基于AMBA总线的模块级UVM验证平台的自动生成装置;再比如中国专利申请CN202010537036.9公开的基于UVM的验证平台开发方法。
然而,在传统的芯片设计开发过程中,通常是待各IP模块开发完成后再将各IP模块集成到SoC系统中进行仿真,然后再进行性能验证;如果性能特性不符合需求(即性能指标未达到设计要求),再进行改动,然后针对改动后的设计进行仿真以及性能验证。上述方案存在如下缺陷:一方面,反复的修改和验证,增加了迭代时间,延长了芯片设计周期;另一方面,由于芯片性能验证是在芯片设计开发过程的后期(芯片仿真完成之后)进行的,在性能验证之前芯片的性能特性处于不可把控的状态(无法获知性能特性),增加了系统风险。
综上所述,如何尽早实现芯片性能特性的收敛工作,以缩短芯片研发周期并降低系统风险,是当前亟需解决的技术问题。
发明内容
本发明的目的在于:克服现有技术的不足,提供了一种面向AMBA总线架构芯片的性能验证系统及应用。本发明基于IP模块的数据流特性需求,对传输包(transaction)进行约束随机化模拟以对IP总线行为进行模拟仿真,从而评估芯片性能特性是否满足设计需求,能够实现芯片性能特性的预评估,使得设计人员能够基于预评估结果进行修改以尽早实现芯片性能特性的收敛工作,降低了迭代风险,缩短了芯片研发周期,同时降低了系统风险。
为实现上述目标,本发明提供了如下技术方案:
一种面向AMBA总线架构芯片的性能验证系统,包括UVM验证平台和待测SoC;
所述待测SoC内部采用AMBA总线作为片上通信的总线架构,待测SoC中集成有IP模块,在待测SoC端利用AMBA的VIP组件搭建前述UVM验证平台;
所述UVM验证平台被配置为:获取约束文件,所述约束文件用于配置前述IP模块的总线接口数据的读写操作参数信息;根据前述约束文件产生随机读写传输包,将生成的读写传输包发送至前述IP模块的主VIP后,通过该主VIP模拟总线行为并监测AMBA总线上的传输数据;在监测过程中,通过总线监控器模块监测AMBA总线上的IP模块的数据带宽信息后,将获取的数据带宽信息与该AMBA总线的总带宽进行比对,以判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
进一步,判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构的步骤为:
获取AMBA总线上的所有IP模块的数据带宽值,将各IP模块的数据带宽进行和运算后获得模拟带宽总和Bsum;
比对前述模拟带宽总和Bsum与该AMBA总线的总带宽Ben的大小;当模拟带宽总和Bsum小于等于总带宽Ben时,判定IP模块的设计符合要求,无需调整前述IP模块的设计参数或者待测SoC的总线架构;当模拟带宽总和Bsum大于总带宽Ben时,判定IP模块的设计不符合要求,需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
进一步,对应所述待测SoC设置有约束文件生成单元,所述约束文件生成单元被配置为:获取IP模块的数据流特性后,将对应的读写操作参数信息存储到具有通用格式的模板文件中,并将所述模板文件通过约束编译脚本生成前述约束文件;
所述数据流特性包括IP模块名称、总线接口类型和总线接口数据的读写操作参数;所述读写操作参数包括数据、地址、读写类型、读写比例、读或写操作中的突发长度及占比信息。
进一步,所述模板文件为excel文件,所述约束编译脚本为python脚本;
所述总线接口类型包括AMBA AXI总线、AMBA AHB总线和AMBA APB 总线,对于AMBAAXI总线、AMBA AHB总线和AMBA APB 总线挂载的IP模块,UVM验证平台上分别设置有对应的AMBA AXI总线驱动、AMBA AHB总线驱动和AMBA APB总线驱动。
进一步,所述突发长度的范围为1-16;所述excel文件的表格的预设字段至少包括模块名称字段、读/写类型字段、各突发长度的占比字段。
进一步,对应所述待测SoC设置有IP模块设置单元和SoC总线架构设置单元,所述IP模块设置单元用于采集IP模块的设计参数信息,所述SoC总线架构设置单元用于采集SoC的系统总线架构的设计参数信息;
所述约束文件生成单元与IP模块设置单元连接,所述IP模块设置单元被配置为:采集到用户对IP模块的设计参数信息的调整时,获取调整后的IP模块的设计参数信息并发送至约束文件生成单元;
所述约束文件生成单元在接收前述调整后的IP模块的设计参数信息后,能够生成新的约束文件,并将新的约束文件发送至UVM验证平台中以对调整后的IP模块设计进行验证;
所述SoC总线架构设置单元与UVM验证平台连接,所述SoC总线架构设置单元被配置为:采集到用户对系统总线架构的设计参数信息的调整时,获取调整后的系统总线架构的设计参数信息并发送至UVM验证平台;
所述UVM验证平台接收前述调整后的系统总线架构的设计参数信息后,能够更新总线架构的参数信息并触发验证。
进一步,所述UVM验证平台包括VIP验证模式和RTL验证模式,根据用户或系统的模式切换指令进行模式切换。
本发明还提供了一种面向AMBA总线架构芯片的性能验证方法,包括步骤:
在待测SoC端利用AMBA的VIP组件搭建UVM验证平台,所述待测SoC内部采用AMBA总线作为片上通信的总线架构,待测SoC中集成有IP模块;
获取前述IP模块的设计参数信息并生成约束文件,将约束文件发送至前述UVM验证平台;所述约束文件用于配置前述IP模块的总线接口数据的读写操作参数信息;
根据前述约束文件,UVM验证平台产生随机读写传输包,将生成的读写传输包发送至前述IP模块的主VIP后,通过该主VIP模拟总线行为并监测AMBA总线上的传输数据;
在监测过程中,通过总线监控器模块获取AMBA总线上的IP模块的数据带宽信息后,将获取的数据带宽信息与该AMBA总线的总带宽进行比对以判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
进一步,判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构的步骤包括,
获取AMBA总线上的所有IP模块的数据带宽值,将各IP模块的数据带宽进行和运算后获得模拟带宽总和Bsum;
比对前述模拟带宽总和Bsum与该AMBA总线的总带宽Ben的大小;当模拟带宽总和Bsum小于等于总带宽Ben时,判定IP模块的设计符合要求,无需调整前述IP模块的设计参数或者待测SoC的总线架构;当模拟带宽总和Bsum大于总带宽Ben时,判定IP模块的设计不符合要求,需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
进一步,在搭建UVM验证平台之前还包括步骤,根据芯片应用场景划分IP模块的数据流特性需求;
其中,对于具有历史仿真数据的IP模块,获取历史仿真数据提供的数据流特性信息后,与预设的数据流特性需求进行比对,判定二者符合时,在前述历史仿真数据中获取该IP模块的总线端口数据流特性;对于无历史仿真数据的IP模块,采集用户制定的数据流特性需求,根据该需求获取IP模块的总线端口数据流特性。
本发明由于采用以上技术方案,与现有技术相比,作为举例,具有以下的优点和积极效果:基于IP模块的数据流特性需求,对传输包(transaction)进行约束随机化模拟以对IP总线行为进行模拟仿真,从而评估芯片性能特性是否满足设计需求,能够实现芯片性能特性的预评估,使得设计人员能够基于预评估结果进行修改以尽早实现芯片性能特性的收敛工作,降低了迭代风险,缩短了芯片研发周期,同时降低了系统风险。
附图说明
图1为本发明实施例提供的性能验证系统的输出传输示意图。
图2为本发明实施例提供的UVM验证平台的验证流程示意图。
图3为本发明实施例提供的excel表格的数据结构示意图。
具体实施方式
以下结合附图和具体实施例对本发明公开的面向AMBA总线架构芯片的性能验证系统及应用作进一步详细说明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
需说明的是,本说明书所附图中所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响发明所能产生的功效及所能达成的目的下,均应落在发明所揭示的技术内容所能涵盖的范围内。本发明的优选实施方式的范围包括另外的实现,其中可以不按所述的或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
实施例
本发明提供了一种面向AMBA总线架构芯片的性能验证系统。所述系统包括UVM验证平台和待测SoC。
所述待测SoC内部采用AMBA总线作为片上通信的总线架构,待测SoC中集成有IP模块,在待测SoC端利用AMBA的VIP组件搭建前述UVM验证平台。
作为典型方式的举例,一个基于AMBA总线的SoC 的AMBA总线类型可以包括AHB(Advanced High performance Bus)系统总线、APB(Advanced Peripheral Bus)外设总线和AXI(Advanced eXtensible Interface)总线。SoC中所有的模块均为SoC上的逻辑模块,具体设置时,可以选择AMBA AXI总线作为处理器与外设相连的一级总线、 选择 AMBA AHB总线作为片上本地总线、选择 AMBA APB 总线连接低速设备。本实施例中,对于AMBA AXI总线、AMBA AHB总线和AMBA APB 总线上挂载的IP模块,UVM验证平台上可以分别设置有对应的AMBA AXI总线驱动、AMBA AHB总线驱动和AMBA APB总线驱动。
所述AMBA的VIP组件根据协议规范的细节来验证设计。它可以生成全面的测试激励,验证不同的接口及标准总线协议,缩短SoC验证和增加测试覆盖率。具体的,VIP可以包括测试案例(test case)、驱动程序、配置组件、特定接口的测试计划,以及连接到测试台中DUT以仿真或验证IP或SoC设计的测试组件等。测试案例(test case)通过system verilogprogram的方式实现。AMBA总线的VIP组件可以包括AMBA主VIP(即Master VIP)和AMBA从VIP(即Slave VIP),参见图1所示,示例了包括AMBA Master VIP0,AMBA Master VIP1,……,AMBA Master VIPn,以及AMBA Slave VIP0,AMBA Slave VIP1,……,AMBA Slave VIPn的VIP组件,其中,n为大于等于1的整数。
所述UVM验证平台被配置为:获取约束文件,所述约束文件用于配置前述IP模块的总线接口数据的读写操作参数信息;根据前述约束文件产生随机读写传输包,将生成的读写传输包发送至前述IP模块的主VIP(即Master VIP)后,通过该主VIP模拟AMBA总线行为并监测AMBA总线上的传输数据,参见图1所示。
在监测过程中,通过总线监控器(即bus monitor)模块监测AMBA总线上的IP模块的数据带宽信息后,将获取的数据带宽信息与该AMBA总线的总带宽进行比对,以判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。如果需要调整,则更改IP模块设计以改变IP特性或者更改SoC总线架构,然后基于更改后的设计重新通过UVM验证平台进行验证,如此重复直至满足需求。
本实施例中,判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构的步骤具体可以如下:获取AMBA总线上的所有IP模块的数据带宽值,将各IP模块的数据带宽进行和运算后获得模拟带宽总和Bsum。比对前述模拟带宽总和Bsum与该AMBA总线的总带宽Ben的大小。当模拟带宽总和Bsum小于等于总带宽Ben时,判定IP模块的设计符合要求,无需调整前述IP模块的设计参数或者待测SoC的总线架构。当模拟带宽总和Bsum大于总带宽Ben时,判定IP模块的设计不符合要求,需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
本实施例中,对应所述待测SoC还可以设置有约束文件生成单元。
所述约束文件生成单元被配置为:获取IP模块的数据流特性后,将对应的读写操作参数信息存储到具有通用格式的模板文件中,并将所述模板文件通过约束编译脚本生成前述约束文件。
所述数据流特性具体可以包括IP模块名称、总线接口类型和总线接口数据的读写操作参数。
所述读写操作参数可以包括数据、地址、读写类型、读写比例、读或写操作中的突发长度及占比信息等。对应的,根据前述约束文件产生随机读写传输包中可以包括数据、地址、读写类型、读写比例、读或写操作中的突发长度及占比信息。
参见图2所示,所述模板文件优选为excel文件,通过excel表格记载IP模块的设计参数信息。所述约束编译脚本优选为python脚本。
优选的,所述excel文件的数据结构被配置为图3所示格式,此时,表格的预设字段包括模块名称字段、读/写类型字段、各突发长度的占比字段。
作为举例,假设待测SoC中集成有模块A1,所述模块A1为AXI总线接口类型。
首先,根据芯片应用场景,划分IP模块的数据流特性需求。具体的,对于具有历史仿真数据的IP模块(通常为第三方IP模块或者以往自研IP模块),可以根据历史仿真数据给出数据流特性;如果是无历史仿真数据的IP模块(通常为新研发IP模块),则可以由用户制定数据流特性需求,根据该需求获取IP模块的总线端口数据流特性。如此,可以根据芯片应用场景需求来细化IP模块的数据流特性需求。
作为举例,比如前述A1模块为具有历史仿真数据的IP模块(通常为第三方IP模块或者以往自研IP模块),对历史仿真数据进行分析后可以得到模块A1的数据流特性——即AXI传输的数据特性,其中包括模块A1的总线接口数据的读写操作参数信息。作为举例,比如得到的传输数据的读写比例为6:4。在读操作中,突发长度(即Burst_len)范围为1-16,其中,Burst_len为16的占比为73%,Burst_len为8的占比为25%,Burst_len为4的占比为1.8%,Burst_len为1的占比为0.2%,其余Burst_len占比为0%。在写操作中,Burst_len范围也为1-16,其中,Burst_len为16的占比为68%,Burst_len为8的占比为28%,Burst_len为4的占比为3%,Burst_len为1的占比为1%,其余Burst_len占比为0%。
获取上述数据特性后,将前述读写操作参数信息写入到预设的excel表格中,参见图3所示;然后通过python脚本生成约束文件后,将约束文件提供给UVM验证平台。
UVM验证平台利用上述约束文件,进行读写传输包(transaction)的随机化以生成随机读写传输包(transaction)。然后,将生成的读写传输包(transaction)发送至对应前述A1模块的Master VIP(主VIP,通过该Master VIP实现在系统总线(bus)上传输数据模拟。在模拟过程中,通过总线监控器(bus monitor)模块获取AXI总线(AXI bus)信息以计算数据带宽,并对数据带宽进行分析以判断当前的芯片(待测SoC)的设计是否符合要求。
具体的,通过总线监控器模块获取AXI总线上的IP模块的数据带宽信息后,将获取的数据带宽信息与该AXI总线的总带宽进行比对,以判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
作为举例,比如图2中的AXI总线上IP模块包括前述模块A1,以及其他IP模块:模块A2,……,AN,其中,N为大于等于2的整数。作为举例,比如N=3,即包括模块A1,模块A2和模块A3,各模块对应的数据带宽分别为带宽A1,带宽A2,带宽A3,对AXI总线上各IP模块的数据带宽进行和运算后,可以获得模拟带宽总和Bsum=带宽A1+带宽A2+带宽A3, 将模拟带宽总和Bsum与AXI总线的总带宽Ben进行比较。当模拟带宽总和Bsum大于总带宽Ben时,判定IP模块的设计不符合要求,需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
最后,基于更改后的设计重新通过UVM验证平台进行验证,如此重复直至满足需求。此时,对应所述待测SoC还可以设置有IP模块设置单元和SoC总线架构设置单元。所述IP模块设置单元用于采集IP模块的设计参数信息。所述SoC总线架构设置单元用于采集SoC的系统总线架构的设计参数信息。
所述约束文件生成单元与IP模块设置单元连接。所述IP模块设置单元被配置为:采集到用户对IP模块的设计参数信息的调整时,获取调整后的IP模块的设计参数信息并发送至约束文件生成单元。
所述约束文件生成单元在接收前述调整后的IP模块的设计参数信息后,能够生成新的约束文件,并将新的约束文件发送至UVM验证平台中以对调整后的IP模块设计进行验证。
所述SoC总线架构设置单元与UVM验证平台连接。所述SoC总线架构设置单元被配置为:采集到用户对系统总线架构的设计参数信息的调整时,获取调整后的系统总线架构的设计参数信息并发送至UVM验证平台。
所述UVM验证平台接收前述调整后的系统总线架构的设计参数信息后,能够更新总线架构的参数信息并触发验证。
本发明在SoC端利用AMBA 的VIP组件建立UVM验证平台模拟SoC总线架构。具体的,首先根据IP模块对应的特性需求,对数据包(transaction)进行约束随机化后,发送到对应IP模块的主VIP上模拟IP总线的行为,实现了对IP总线行为的快速建模;然后,再通过仿真案例(case)验证系统设计是否满足需求。
上述技术方案,可以用于芯片设计开发初期的芯片性能特性评估以缩短研发周期,并降低系统风险。可选的,所述UVM验证平台可以包括VIP验证模式和RTL验证模式,根据用户或系统的模式切换指令进行模式切换。如此,在芯片设计开发后期,IP模块完成之后,可以在IP 本地端(local)上验证IP模块的设计是否满足需求。当 IP模块需要在SoC总线架构上以实际场景运行,验证平台还可以自动将VIP模式切换成RTL模式,在RTL模式下运行实际的场景案例(case)。
本发明的另一实施例,还提供了一种面向AMBA总线架构芯片的性能验证方法。所述方法包括如下步骤:
S100,在待测SoC端利用AMBA的VIP组件搭建UVM验证平台,所述待测SoC内部采用AMBA总线作为片上通信的总线架构,待测SoC中集成有IP模块;
S200,获取前述IP模块的设计参数信息并生成约束文件,将约束文件发送至前述UVM验证平台;所述约束文件用于配置前述IP模块的总线接口数据的读写操作参数信息;
S300,根据前述约束文件,UVM验证平台产生随机读写传输包,将生成的读写传输包发送至前述IP模块的主VIP后,通过该主VIP模拟IP总线行为并监测AMBA总线上的传输数据。
S400,在监测过程中,通过总线监控器模块获取AMBA总线上的IP模块的数据带宽信息后,将获取的数据带宽信息与该AMBA总线的总带宽进行比对以判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
判定不需要调整时(即满足性能需求),结束验证。判定需要调整时(即需满足性能需求),则更改IP模块设计以改变IP特性或者更改SoC总线架构,然后返回执行前述步骤S200,基于更改后的设计重新通过UVM验证平台进行验证,如此重复直至满足性能需求。
本实施例中,优选的,判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构的步骤可以如下:
获取AMBA总线上的所有IP模块的数据带宽值,将各IP模块的数据带宽进行和运算后获得模拟带宽总和Bsum;
比对前述模拟带宽总和Bsum与该AMBA总线的总带宽Ben的大小;当模拟带宽总和Bsum小于等于总带宽Ben时,判定IP模块的设计符合要求,无需调整前述IP模块的设计参数或者待测SoC的总线架构;当模拟带宽总和Bsum大于总带宽Ben时,判定IP模块的设计不符合要求,需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
本实施例中,在步骤S100之前还可以包括步骤:根据芯片应用场景划分IP模块的数据流特性需求。具体的,对于芯片中具有历史仿真数据的IP模块,获取历史仿真数据提供的数据流特性信息后,与预设的数据流特性需求进行比对,判定二者符合时,在前述历史仿真数据中获取该IP模块的总线端口数据流特性;对于无历史仿真数据的IP模块,采集用户制定的数据流特性需求,根据该需求获取IP模块的总线端口数据流特性。
其它技术特征参考在前实施例,在此不再赘述。
在上面的描述中,本发明的公开内容并不旨在将其自身限于这些方面。而是,在本公开内容的目标保护范围内,各组件可以以任意数目选择性地且操作性地进行合并。另外,像“包括”、“囊括”以及“具有”的术语应当默认被解释为包括性的或开放性的,而不是排他性的或封闭性,除非其被明确限定为相反的含义。所有技术、科技或其他方面的术语都符合本领域技术人员所理解的含义,除非其被限定为相反的含义。在词典里找到的公共术语应当在相关技术文档的背景下不被太理想化或太不实际地解释,除非本公开内容明确将其限定成那样。本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (10)
1.一种面向AMBA总线架构芯片的性能验证系统,包括UVM验证平台和待测SoC,其特征在于:
所述待测SoC内部采用AMBA总线作为片上通信的总线架构,待测SoC中集成有IP模块,在待测SoC端利用AMBA的VIP组件搭建前述UVM验证平台;
所述UVM验证平台被配置为:获取约束文件,所述约束文件用于配置前述IP模块的总线接口数据的读写操作参数信息;根据前述约束文件产生随机读写传输包,将生成的读写传输包发送至前述IP模块的主VIP后,通过该主VIP模拟总线行为并监测AMBA总线上的传输数据;在监测过程中,通过总线监控器模块监测AMBA总线上的IP模块的数据带宽信息后,将获取的数据带宽信息与该AMBA总线的总带宽进行比对,以判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
2.根据权利要求1所述的系统,其特征在于:判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构的步骤为:
获取AMBA总线上的所有IP模块的数据带宽值,将各IP模块的数据带宽进行和运算后获得模拟带宽总和Bsum;
比对前述模拟带宽总和Bsum与该AMBA总线的总带宽Ben的大小;当模拟带宽总和Bsum小于等于总带宽Ben时,判定IP模块的设计符合要求,无需调整前述IP模块的设计参数或者待测SoC的总线架构;当模拟带宽总和Bsum大于总带宽Ben时,判定IP模块的设计不符合要求,需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
3.根据权利要求1或2所述的系统,其特征在于:对应所述待测SoC设置有约束文件生成单元,所述约束文件生成单元被配置为:获取IP模块的数据流特性后,将对应的读写操作参数信息存储到具有通用格式的模板文件中,并将所述模板文件通过约束编译脚本生成前述约束文件;
所述数据流特性包括IP模块名称、总线接口类型和总线接口数据的读写操作参数;所述读写操作参数包括数据、地址、读写类型、读写比例、读或写操作中的突发长度及占比信息。
4.根据权利要求3所述的系统,其特征在于:所述模板文件为excel文件,所述约束编译脚本为python脚本;
所述总线接口类型包括AMBA AXI总线、AMBA AHB总线和AMBA APB 总线,对于AMBA AXI总线、AMBA AHB总线和AMBA APB 总线上挂载的IP模块,UVM验证平台上分别设置有对应的AMBA AXI总线驱动、AMBA AHB总线驱动和AMBA APB总线驱动。
5.根据权利要求4所述的系统,其特征在于:所述突发长度的范围为1-16;所述excel文件的表格的预设字段至少包括模块名称字段、读/写类型字段、各突发长度的占比字段。
6.根据权利要求3所述的系统,其特征在于:对应所述待测SoC设置有IP模块设置单元和SoC总线架构设置单元,所述IP模块设置单元用于采集IP模块的设计参数信息,所述SoC总线架构设置单元用于采集SoC的系统总线架构的设计参数信息;
所述约束文件生成单元与IP模块设置单元连接,所述IP模块设置单元被配置为:采集到用户对IP模块的设计参数信息的调整时,获取调整后的IP模块的设计参数信息并发送至约束文件生成单元;
所述约束文件生成单元在接收前述调整后的IP模块的设计参数信息后,能够生成新的约束文件,并将新的约束文件发送至UVM验证平台中以对调整后的IP模块设计进行验证;
所述SoC总线架构设置单元与UVM验证平台连接,所述SoC总线架构设置单元被配置为:采集到用户对系统总线架构的设计参数信息的调整时,获取调整后的系统总线架构的设计参数信息并发送至UVM验证平台;
所述UVM验证平台接收前述调整后的系统总线架构的设计参数信息后,能够更新总线架构的参数信息并触发验证。
7.根据权利要求1所述的系统,其特征在于:所述UVM验证平台包括VIP验证模式和RTL验证模式,根据用户或系统的模式切换指令进行模式切换。
8.一种面向AMBA总线架构芯片的性能验证方法,其特征在于包括步骤:
在待测SoC端利用AMBA的VIP组件搭建UVM验证平台,所述待测SoC内部采用AMBA总线作为片上通信的总线架构,待测SoC中集成有IP模块;
获取前述IP模块的设计参数信息并生成约束文件,将约束文件发送至前述UVM验证平台;所述约束文件用于配置前述IP模块的总线接口数据的读写操作参数信息;
根据前述约束文件,UVM验证平台产生随机读写传输包,将生成的读写传输包发送至前述IP模块的主VIP后,通过该主VIP模拟总线行为并监测AMBA总线上的传输数据;
在监测过程中,通过总线监控器模块获取AMBA总线上的IP模块的数据带宽信息后,将获取的数据带宽信息与该AMBA总线的总带宽进行比对以判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
9.根据权利要求8所述的方法,其特征在于:判断是否需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构的步骤包括,
获取AMBA总线上的所有IP模块的数据带宽值,将各IP模块的数据带宽进行和运算后获得模拟带宽总和Bsum;
比对前述模拟带宽总和Bsum与该AMBA总线的总带宽Ben的大小;当模拟带宽总和Bsum小于等于总带宽Ben时,判定IP模块的设计符合要求,无需调整前述IP模块的设计参数或者待测SoC的总线架构;当模拟带宽总和Bsum大于总带宽Ben时,判定IP模块的设计不符合要求,需要调整前述IP模块的设计参数或者调整前述待测SoC的总线架构。
10.根据权利要求8所述的方法,其特征在于:在搭建UVM验证平台之前还包括步骤,根据芯片应用场景划分IP模块的数据流特性需求;
其中,对于具有历史仿真数据的IP模块,获取历史仿真数据提供的数据流特性信息后,与预设的数据流特性需求进行比对,判定二者符合时,在前述历史仿真数据中获取该IP模块的总线端口数据流特性;对于无历史仿真数据的IP模块,采集用户制定的数据流特性需求,根据该需求获取IP模块的总线端口数据流特性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110931551.XA CN113569509B (zh) | 2021-08-13 | 2021-08-13 | 面向amba总线架构芯片的性能验证系统及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110931551.XA CN113569509B (zh) | 2021-08-13 | 2021-08-13 | 面向amba总线架构芯片的性能验证系统及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113569509A true CN113569509A (zh) | 2021-10-29 |
CN113569509B CN113569509B (zh) | 2024-01-05 |
Family
ID=78171623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110931551.XA Active CN113569509B (zh) | 2021-08-13 | 2021-08-13 | 面向amba总线架构芯片的性能验证系统及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569509B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114528792A (zh) * | 2022-02-18 | 2022-05-24 | 杭州爱芯元智科技有限公司 | 芯片验证方法、装置、电子设备及存储介质 |
CN114546908A (zh) * | 2022-02-22 | 2022-05-27 | 杭州中天微系统有限公司 | 总线带宽自适应单元、方法及芯片 |
CN115345098A (zh) * | 2022-08-18 | 2022-11-15 | 杭州爱芯元智科技有限公司 | Soc验证方法、装置、电子设备及存储介质 |
CN115470751A (zh) * | 2022-09-22 | 2022-12-13 | 沐曦科技(北京)有限公司 | 基于内存数据库的追踪信息生成系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060146811A1 (en) * | 2004-12-15 | 2006-07-06 | Han Jin H | On-chip network interfacing apparatus and method |
CN103455460A (zh) * | 2012-06-01 | 2013-12-18 | 广东新岸线计算机系统芯片有限公司 | 一种验证高级微控制器总线接口的装置 |
CN105677609A (zh) * | 2016-01-04 | 2016-06-15 | 上海华力创通半导体有限公司 | 一种SoC系统的总线结构 |
CN110888767A (zh) * | 2019-12-19 | 2020-03-17 | 山东方寸微电子科技有限公司 | 一种接口复用模块验证平台架构及快速扩展实现方法 |
-
2021
- 2021-08-13 CN CN202110931551.XA patent/CN113569509B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060146811A1 (en) * | 2004-12-15 | 2006-07-06 | Han Jin H | On-chip network interfacing apparatus and method |
CN103455460A (zh) * | 2012-06-01 | 2013-12-18 | 广东新岸线计算机系统芯片有限公司 | 一种验证高级微控制器总线接口的装置 |
CN105677609A (zh) * | 2016-01-04 | 2016-06-15 | 上海华力创通半导体有限公司 | 一种SoC系统的总线结构 |
CN110888767A (zh) * | 2019-12-19 | 2020-03-17 | 山东方寸微电子科技有限公司 | 一种接口复用模块验证平台架构及快速扩展实现方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114528792A (zh) * | 2022-02-18 | 2022-05-24 | 杭州爱芯元智科技有限公司 | 芯片验证方法、装置、电子设备及存储介质 |
CN114528792B (zh) * | 2022-02-18 | 2023-08-29 | 杭州爱芯元智科技有限公司 | 芯片验证方法、装置、电子设备及存储介质 |
CN114546908A (zh) * | 2022-02-22 | 2022-05-27 | 杭州中天微系统有限公司 | 总线带宽自适应单元、方法及芯片 |
CN115345098A (zh) * | 2022-08-18 | 2022-11-15 | 杭州爱芯元智科技有限公司 | Soc验证方法、装置、电子设备及存储介质 |
CN115345098B (zh) * | 2022-08-18 | 2023-08-25 | 杭州爱芯元智科技有限公司 | Soc验证方法、装置、电子设备及存储介质 |
CN115470751A (zh) * | 2022-09-22 | 2022-12-13 | 沐曦科技(北京)有限公司 | 基于内存数据库的追踪信息生成系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113569509B (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113569509A (zh) | 面向amba总线架构芯片的性能验证系统及应用 | |
US7089135B2 (en) | Event based IC test system | |
TWI352211B (en) | Method and system for simulating a modular test sy | |
KR100374328B1 (ko) | 칩 설계 검증 및 테스트 장치 및 방법 | |
CN106503308A (zh) | 一种基于uvm的can控制器ip验证平台 | |
JPS6063644A (ja) | デイジタル装置の動作のモデリング方法及び装置 | |
US8504992B2 (en) | Method and apparatus for establishing a quality of service model | |
CN115146568B (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
US5995740A (en) | Method for capturing ASIC I/O pin data for tester compatibility analysis | |
CN101102566B (zh) | 一种手机jtag调试接口信号设计方法及其调试方法 | |
CN114417768B (zh) | 一种以太网芯片的数模混合仿真方法及系统 | |
KR20040007463A (ko) | 로직 시뮬레이션을 이용하지 않는 복잡한 ic의 설계검증을 위한 방법 및 장치 | |
Hussien et al. | Development of a generic and a reconfigurable UVM-Based verification environment for SoC buses | |
CN117057286B (zh) | 一种基于UVM和VIP的SMBus模块级验证系统 | |
CN116167309B (zh) | 一种芯片性能验证方法和系统 | |
CN116451617A (zh) | 芯片仿真中基于仿真波形的信息处理方法、装置及应用 | |
CN116306474A (zh) | 一种片上网络的通路验证方法、装置、设备、存储介质 | |
CN113010361B (zh) | 全可编程soc芯片的mio功能快速验证方法 | |
CN114002649A (zh) | 基于数据孪生的雷达数据采集系统及其研制方法 | |
CN113496108A (zh) | 一种应用于仿真的cpu模型 | |
US20060101135A1 (en) | Network modeling systems and methods | |
Li et al. | Functional verification of QSPI module based on UVM implementation | |
CN113496107B (zh) | 一种可综合的cpu模型 | |
CN117113908B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
CN211123757U (zh) | 一种微控制器中can模块的测试电路 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |