CN117709254A - 一种验证模块接口切换方法、装置、设备及存储介质 - Google Patents
一种验证模块接口切换方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117709254A CN117709254A CN202311720670.6A CN202311720670A CN117709254A CN 117709254 A CN117709254 A CN 117709254A CN 202311720670 A CN202311720670 A CN 202311720670A CN 117709254 A CN117709254 A CN 117709254A
- Authority
- CN
- China
- Prior art keywords
- verification
- interface
- module
- chip
- port signal
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 266
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012360 testing method Methods 0.000 claims abstract description 54
- 239000000872 buffer Substances 0.000 claims description 12
- 230000000694 effects Effects 0.000 abstract description 4
- 238000013461 design Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 101100540488 Schizosaccharomyces pombe (strain 972 / ATCC 24843) asp1 gene Proteins 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- 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
Abstract
本申请提供了一种验证模块接口切换方法、装置、设备及存储介质。先在验证模块中创建配置文件,配置文件用于定义验证IP接口,后在验证环境的顶层模块创建顶层文件连接验证IP接口的端口信号变量和待测芯片的端口信号,然后在验证环境的顶层模块使用动态开关连接验证IP接口的端口信号变量和验证IP接口,最后根据待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口的控制信号变量生成测试用例,以使待测芯片的端口信号与验证IP接口连接。这样,通过测试用例中改变验证IP接口的变量,利用动态开关控制待测芯片的端口信号与不同的验证IP接口连接,达到了快速切换验证IP接口的效果。可以减少调试时间从而提高验证效率。
Description
技术领域
本申请涉及芯片技术领域,尤其涉及一种验证模块接口切换方法、装置、设备及存储介质。
背景技术
随着集成电路技术的飞速发展,芯片设计已经变得越来越复杂。为了确保芯片设计的正确性和可靠性,芯片验证变得至关重要。传统的验证方法可能无法满足日益复杂的芯片设计需求。现代芯片验证主要分为两个级别:模块级验证和系统级验证。模块级验证针对单个模块或子系统进行验证,而系统级验证则涉及整个芯片系统的验证。
在进行寄存器传输级(Register Transfer Level,RTL)设计时,验证工程师通常需要进行模块级随机化验证,以确保模块的功能和性能满足预期。这需要在短时间内达到100%的代码覆盖率和功能覆盖率。然而,如果模块的功能模式多样且复杂,并且需要与不同的验证IP接口(Intellectual Property)连接,直接将DUT(Device Under Test)端口信号与验证IP接口连接可能会导致验证环境的不稳定,增加调试时间。
因此,现有的验证方法和工具可能无法满足日益复杂的芯片设计和验证需求。如何减少调试时间从而提高验证效率是目前亟待解决的问题。
发明内容
有鉴于此,本申请提供了一种验证模块接口切换方法、装置、设备及存储介质,旨在减少调试时间以提高验证效率。
第一方面,本申请提供了一种验证模块接口切换方法,所述方法包括;
在验证模块中创建配置文件;所述配置文件用于定义验证IP接口;所述配置文件中包括验证IP接口的端口信号变量和验证IP接口的控制信号变量;
在验证环境的顶层模块创建顶层文件连接验证IP接口的端口信号变量和待测芯片的端口信号;
在验证环境的顶层模块使用动态开关连接验证IP接口的端口信号变量和验证IP接口;
根据所述待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口的控制信号变量生成测试用例,以使所述待测芯片的端口信号与验证IP接口连接。
可选地,所述在验证模块中创建配置文件,包括:
在验证模块中创建接口配置文件,在所述接口配置文件中声明作为验证IP接口的端口信号变量和验证IP接口的控制信号变量。
可选地,在验证环境的顶层模块创建顶层文件连接验证IP接口的端口信号变量和待测芯片的端口信号,包括:
在验证环境的顶层模块将待测芯片实例化;
将实例化后的待测芯片的端口信号与验证IP接口的端口信号变量进行连接。
可选地,所述在验证环境的顶层模块使用动态开关连接验证IP接口的端口信号变量和验证IP接口,包括:
在验证环境的顶层模块构建n个动态开关;
基于所述n个动态开关分别连接n个验证IP接口的端口信号变量对应的验证IP接口。
可选地,所述动态开关的控制信号为验证IP接口的控制信号变量。
可选地,所述动态开关为三态缓冲器,所述三态缓冲器包括高电平状态和高阻态状态;
在所述三态缓冲器中,当使能信号为1时,控制输出端口连接到输入端口,当使能信号为0时,控制输出端口处于高阻态。
可选地,所述待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口之间通过动态开关动态连接,所述使所述待测芯片的端口信号与验证IP接口连接,包括:
当所述动态开关对应的验证IP接口的控制信号变量为高时,所述动态开关对应的验证IP接口和待测芯片的端口信号之间相互连接;
当所述动态开关对应的验证IP接口的控制信号变量为低时,所述动态开关对应的验证IP接口和待测芯片的端口信号之间断开连接。
第二方面,本申请提供了一种验证模块接口切换装置,其特征在于,所述装置包括;
配置文件创建模块,用于在验证模块中创建配置文件;所述配置文件用于定义验证IP接口;所述配置文件中包括验证IP接口的端口信号变量和验证IP接口的控制信号变量;
顶层文件创建模块,用于在验证环境的顶层模块创建顶层文件连接验证IP接口的端口信号变量和待测芯片的端口信号;
验证IP接口连接模块,用于在验证环境的顶层模块使用动态开关连接验证IP接口的端口信号变量和验证IP接口;
测试用例生成模块,用于根据所述待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口的控制信号变量生成测试用例,以使所述待测芯片的端口信号与验证IP接口连接。
第三方面,本申请提供了一种设备,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行前述第一方面任一项所述的验证模块接口切换方法。
第四方面,本申请提供了一种计算机存储介质,所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现前述第一方面任一项所述的验证模块接口切换方法。
本申请提供了一种验证模块接口切换方法。在执行所述方法时,先在验证模块中创建配置文件;所述配置文件用于定义验证IP接口,所述配置文件中包括验证IP接口的端口信号变量和验证IP接口的控制信号变量,后在验证环境的顶层模块创建顶层文件连接验证IP接口的端口信号变量和待测芯片的端口信号,然后在验证环境的顶层模块使用动态开关连接验证IP接口的端口信号变量和验证IP接口,最后根据所述待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口的控制信号变量生成测试用例,以使所述待测芯片的端口信号与验证IP接口连接。这样,通过预先定义待测芯片的端口信号与不同的验证IP接口之间的连接关系,在测试用例中改变验证IP接口的变量,通过动态开关控制待测芯片的端口信号与不同的验证IP接口连接,达到了快速切换验证IP接口的效果。如此,可以减少调试时间从而提高验证效率。
附图说明
为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的1验证模块接口切换方法的流程图;
图2为本申请实施例提供的一种动态开关的示例图;
图3为本申请实施例提供的一种验证模块接口切换装置的结构示意图。
具体实施方式
正如前文所述,在芯片设计的过程中,模块级验证和系统级验证是至关重要的步骤。然而,当模块拥有多种复杂功能模式,并需要与不同的验证IP接口进行连接时,直接将DUT端口信号与验证IP接口连接可能会导致验证环境的不稳定性,其中DUT指被测的芯片或者硬件设备,现有的技术采用手动更改连接线路或者使用开关来切换接口,然而这些方法存在调操作复杂、增加调试时间,降低验证效率的问题。因此,为了解决这一技术问题,需要设计一种便于验证模块不同功能接口切换的方法,以提高验证效率,减少调试时间。
有鉴于此,本申请提供了一种验证模块接口切换方法。在执行所述方法时,先在验证模块中创建配置文件;所述配置文件用于定义验证IP接口,所述配置文件中包括验证IP接口的端口信号变量和验证IP接口的控制信号变量,后在验证环境的顶层模块创建顶层文件连接验证IP接口的端口信号变量和待测芯片的端口信号,然后在验证环境的顶层模块使用动态开关连接验证IP接口的端口信号变量和验证IP接口,最后根据所述待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口的控制信号变量生成测试用例,以使所述待测芯片的端口信号与验证IP接口连接。
这样,通过在测试用例中定义验证IP接口的变量,利用动态开关控制待测芯片的端口信号与不同的验证IP接口连接,达到了快速切换验证IP接口的效果。如此,可以减少调试时间从而提高验证效率。
需要说明的是,本申请实施例不限定验证模块接口切换方法的执行主体,例如,本申请实施例的方法可以应用于终端设备或服务器等数据处理设备。其中,终端设备可以为智能手机、计算机、个人数字助理(Personal Digital Assistant,PDA)或平板电脑等。服务器可以为独立服务器、集群服务器或云服务器。
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本申请实施例所提供了验证模块接口切换方法是基于UVM(UniversalVerification Methodology)验证方法学,该方法是一种用于硬件验证的标准方法学,它提供了一种结构化的、模块化的、可重用的验证环境搭建框架。
UVM验证方法学是基于面向对象的验证方法,使用SystemVerilog语言。通过使用类和对象来描述验证环境中的各个元素,如代理(agent)、驱动器(driver)、监视器(monitor)、环境(environment)等。利用UVM可以将验证环境划分为多个独立的组件,每个组件都有特定的功能,并且可重用于不同的验证任务。这种模块化的设计使得验证环境更易于维护和升级。同时UVM还可以使用事务级建模来描述验证环境中的数据交换和通信。通过事务级建模,可以更加灵活地描述和处理数据传输,从而提高验证环境的灵活性和可扩展性。
进一步地,UVM提供了丰富的自动化功能,如自动生成报告、自动检测错误、自动调度测试等。UVM还支持验证环境的重用。通过创建可重用的基本组件和功能,可以更快地构建新的验证环境,提高了测试的效率和准确性。
总的来说,UVM验证方法学提供了一种结构化的、模块化的验证环境搭建框架,通过面向对象的方法、组件化、事务级建模、自动化和重用性等特点,使得硬件验证工程师能够更加高效地进行验证工作。
下面结合实施例对验证模块接口切换方法进行具体说明。
图1为本申请实施例提供的验证模块接口切换方法的流程图。结合图1所示,所述验证模块接口切换方法可以包括:
S101:在验证模块中创建配置文件。
在本实施例中,所述配置文件用于定义验证IP接口,所述配置文件中包括验证IP接口的端口信号变量和验证IP接口的控制信号变量。具体而言,就是在验证模块中创建一个配置文件,用于明确定义验证IP接口的端口信号变量和控制信号变量。这个配置文件可以包含诸如接口名称、接口信号、控制信号等信息,以便在测试中能够根据需要进行灵活的接口配置。
当在验证模块中创建配置文件时,配置文件会包含定义验证IP接口的端口信号变量和控制信号变量的部分。这些变量可以包括数据信号(如data_in、data_out)、有效信号(如valid)和就绪信号(如ready)。此外,还可以定义控制信号(如使能信号enable)以控制接口的连接和功能。例如,对于一个验证IP接口,端口信号变量的定义可以包括:一个数据信号变量,用于传输数据;一个有效信号变量,表示数据信号的有效性;一个就绪信号变量,表示接口准备好接收数据。控制信号变量的定义可以包括:一个选择接口的控制信号,用于选择不同的验证IP接口。各个接口的使能控制信号,用于控制每个接口的连接和功能的开启或关闭。通过这些定义,可以进一步在测试用例中使用这些接口和控制信号,来根据测试需求实现不同接口的连接和控制。这种方式可以使测试代码更具有灵活性和可维护性,能够根据需要轻松地配置和控制不同的验证IP接口以进行测试。
在一个可选的实施例中,SystemVerilog是一种硬件描述和验证语言,它基于Verilog语言并添加了许多新的特性和功能,用于增强硬件设计和验证的能力。故,为了定义验证IP接口的输入、输出信号以及控制接口行为的信号。上述步骤S101具体可以包括:在验证模块中创建接口配置文件,在所述接口配置文件中声明作为验证IP接口的端口信号变量和验证IP接口的控制信号变量。具体地,在验证模块中创建接口配置文件时,可以声明作为验证IP接口的端口信号变量和验证IP接口的控制信号变量,以便描述不同接口的功能和行为。
例如,可以使用SystemVerilog语言的interface来定义接口,并在接口中声明端口信号和控制信号的变量。具体地,首先创建if.sv文件,然后在if.sv文件中声明作为端口信号和控制信号的变量。例如,声明了一个名为en的信号数组和一个名为pad的逻辑信号,首先定义一个名为if的模块,然后定义作为端口信号的变量声明,具体可以包括定义logicdata_in作为输入端口信号的变量,logic data_out作为输出端口信号的变量。同理定义作为控制信号的变量声明,具体可以包括bit enable即控制信号,使用bit类型表示。进一步的还可以定义信号数组声明,例如定义bit[7:0]en[3]用于声明一个包含3个8位元素的信号数组,定义logic pad用于声明一个逻辑信号。
总而言之,就是定义一个bit en[n]logic pad的表达式,在这个表达式中包含了多个部分:bit表示这是一个位数据类型,可以表示0或1;en[n]表示一个名为en的数组,包含了n个元素。需要说明的是,这里的n可以是一个参数或者一个具体的数值。logic pad表示声明了一个名为pad的逻辑信号。
在上述实施例中,通过定义接口文件可以描述模块之间的连接和通信。这种接口文件中通常包括各种接口信号的声明和定义,以及可能的控制信号等。通过上述操作,便于模块之间的连接和通信,提高了验证环境的搭建和编写测试代码的效率,进一步可以提高验证效率。
S102:在验证环境的顶层模块创建顶层文件连接验证IP接口的端口信号变量和待测芯片的端口信号。
在一个可选的实施例中,上述步骤S102具体可以包括在验证环境的顶层模块将待测芯片实例化;将实例化后的待测芯片的端口信号与验证IP接口的端口信号变量进行连接。
具体地,假设有一个名为top_tb的顶层模块,验证IP接口的端口信号变量为interface1_data,interface1_valid,interface1_ready,而待测芯片的端口信号为chip_data,chip_valid,chip_ready。在验证环境的顶层模块创建了一个名为top_tb的顶层模块,通过连接验证IP接口的数据端口、连接验证IP接口的有效端口和连接验证IP接口的就绪端口实例化了验证IP接口模块,连接待测芯片的数据端口、连接待测芯片的有效端口和连接待测芯片的就绪端口实例化待测芯片模块。然后,通过连接端口信号变量来将验证IP接口模块和待测芯片模块进行连接。
S103:在验证环境的顶层模块使用动态开关连接验证IP接口的端口信号变量和验证IP接口。
在本实施例中,不同的动态开关可以连接不同的验证IP接口,在验证环境的顶层模块中使用动态开关连接验证IP接口的端口信号变量意味着根据某些条件或配置,在运行时动态选择连接不同的验证IP接口的端口信号。这种连接方式允许测试环境在运行时根据需要切换连接的验证IP接口,而不需要修改代码。例如,当需要在不同的测试场景中使用不同的验证IP接口时,可以在运行时根据条件或配置选择连接到不同的接口,从而使验证环境更加灵活和可复用。
举例来说,假设有两个不同的验证IP接口,一个用于模拟实际硬件行为,另一个则用于模拟一种特定的错误情况。通过开启或者关闭不同的动态开关连接,可以根据测试场景的需要选择连接到不同的验证IP接口。例如,在正常功能测试时,可以通过模拟实际硬件行为对应的动态开关连接到模拟实际硬件行为的验证IP接口,而在错误检测测试时,可以通过模拟一种特定的错误情况对应的动态开关连接到模拟错误情况的验证IP接口。动态开关连接允许根据不同的条件或配置在不同的测试场景中切换验证IP接口,而不需要修改代码,从而提高了测试环境的灵活性和可重用性。
在一个可选的实施例中,由于验证模块中包括多个验证IP接口,因此需要构建多个动态开关分别和多个验证IP接口分别连接,故,上述步骤S103具体可以包括:在验证环境的顶层模块构建n个动态开关;基于所述n个动态开关分别连接n个验证IP接口的端口信号变量对应的验证IP接口。
具体地,在验证环境的顶层模块构建n个动态开关意味着可以根据验证IP接口的端口信号变量,动态地选择连接到不同的验证IP接口的端口信号变量。举例来说,假设有一个顶层模块,需要连接到不同的验证IP接口,这些验证IP接口可能代表了不同的测试场景或测试需求。例如,有三个验证IP接口,分别用于模拟正常操作、临界条件和错误情况。在顶层模块中,可以构建三个动态开关,分别对应这三种不同的测试情况。通过动态开关,可以根据需要选择连接到不同的验证IP接口,以满足不同的测试场景。
例如,在正常操作的测试场景中,我们可以将第一个动态开关设置为连接到模拟正常操作的验证IP接口;在临界条件的测试场景中,我们可以将第二个动态开关设置为连接到模拟临界条件的验证IP接口;在错误情况的测试场景中,我们可以将第三个动态开关设置为连接到模拟错误情况的验证IP接口。
具体的,在SystemVerilog中,可以使用if-else语句来实现动态开关,根据条件连接不同的模块或信号,其中验证IP接口的端口变量具体可以定义为tranifl(vip0.dout,if.pad,if.en[0]),tranifl(vipl.dout,if.pad,if.en[1])和tranifl(vipn.dout,ifpad,if.en[n])。如果条件为0,可以连接到vip0;如果条件为1,可以连接到vip1;否则连接到vipn。这种动态开关连接的方式可以根据需要在运行时调整验证环境,以适应不同的测试需求。
在一个可选的实施例中,所述动态开关的控制信号为验证IP接口的控制信号变量,通过动态开关将端口信号变量与验证IP接口的接口连接,控制信号为定义验证IP接口的接口配置文件(if.sv文件)中的控制信号变量。通过改变控制变量,可以实现一个动态开关的打开和关闭,从而实现验证IP接口的连接。可以理解的是,当一个动态开关处于高电平状态时,其他动态开关均处于低电平状态或者高阻态。从而使得高电平动态开关对应的验证IP接口和待测芯片的端口信号连接。
在一个可选的实施例中,动态开关存在多种可能的实现方式。图2为本申请实施例提供的一种动态开关的示例图。结合图2所示,所述动态开关为三态缓冲器,n个动态开关对应n个三态缓冲器,通过if.en[]定义,例如if.en[0],if.en[1]到if.en[n],每个三态缓冲器分别包括一个if.pad端和一个vip.dout端,每个vip.dout端对应一个验证IP接口,例如vip0.dout,vip2.dout到vip.dout。其中,if.pad端和待测芯片的端口信号连接。
在本申请实施例中,三态缓冲器包括高电平状态和高阻态状态,在所述三态缓冲器中,当使能信号为1时,控制输出端口连接到输入端口,当使能信号为0时,控制输出端口处于高阻态。需要说明的是,一般而言三态缓冲器有高电平状态、低电平状态和高阻态三种状态。在使用三态缓冲器时,可以根据控制信号来选择将输出端口连接到数据输入或者设置为高阻态,而不需要单独处理低电平状态。
在一个可选的实施例中,还可以使用assign语句来实现。assign语句可以用来连线或者控制信号。例如,创建一个模块DynamicSwitch,进一步定义input wire control_signal,input wire data_in和output wire data_out,然后定义assign data_out=control_signal?data_in:1'bZ。在本示例中,assign语句用来控制data_out的输出。当control_signal为1时,data_out被连接到data_in,当control_signal为0时,data_out被连接到高阻态(Z)。
在上述实施例中,通过动态开关使得验证环境更加灵活,可以根据需要动态选择连接到不同的验证IP接口,从而支持不同的测试场景和测试需求。
S104:根据待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口的控制信号变量生成测试用例,以使待测芯片的端口信号与验证IP接口连接。
在本实施例中,通过步骤S101~S103,定义了待测芯片的端口信号,包括输入、输出和控制信号、验证IP接口的端口信号和控制信号,以及其功能和作用,并且根据待测芯片的端口信号、验证IP接口的端口信号和控制信号,确定如何连接这些信号以进行测试。因此,根据连接方式和信号要求,生成针对不同情况的测试用例。测试用例可以覆盖各种可能的输入、输出和控制信号组合,以确保待测芯片与验证IP接口之间的连接是正确的。使用生成的测试用例对连接进行仿真和验证。在仿真期间,验证测试用例是否正确地连接了待测芯片的端口信号与验证IP接口,以及是否能够正确地进行数据交换和通信。
在一个可选的实施例中,待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口之间通过动态开关动态连接,使所述待测芯片的端口信号与验证IP接口连接,具体包括:当动态开关对应的验证IP接口的控制信号变量为高时,动态开关对应的验证IP接口和待测芯片的端口信号之间相互连接;当动态开关对应的验证IP接口的控制信号变量为低时,动态开关对应的验证IP接口和待测芯片的端口信号之间断开连接。
具体地,在测试环境中使用if语句来控制测试对象的行为或属性,在测试用例中通过改变控制信号变量来控制模块与验证IP接口的连接。当期望vip0.dout和if.pad互相驱动时,将控制信号if.en[0]置1,其他控制信号if.en为0。当需切换至vip1.dout和if.pad互相连接时,将if.en[1]置1,其他控制信号if.en为0。也即,测试用例应包括控制信号变量的不同取值(高和低),这些控制信号变量是触发动态开关连接或断开连接的关键因素。通过测试用例对控制变量的取值,确定控制信号变量的状态,正确地连接或断开连接验证IP接口和待测芯片的端口信号。
在上述实施例中,通过在测试用例中改变验证IP接口的变量,利用动态开关控制待测芯片的端口信号与不同的验证IP接口连接,达到了快速切换验证IP接口的效果。如此,可以减少调试时间从而提高验证效率。
以上为本申请实施例提供验证模块接口切换方法的一些具体实现方式,基于此,本申请还提供了对应的装置。下面将从功能模块化的角度对本申请实施例提供的装置进行介绍。
图3为本申请实施例提供的一种验证模块接口切换装置的结构示意图。参见图3所示的验证模块接口切换装置300的结构示意图,该装置300包括配置文件创建模块310、顶层文件创建模块320、验证IP接口连接模块330和测试用例生成模块340。
配置文件创建模块310,用于在验证模块中创建配置文件;所述配置文件用于定义验证IP接口;所述配置文件中包括验证IP接口的端口信号变量和验证IP接口的控制信号变量;
顶层文件创建模块320,用于在验证环境的顶层模块创建顶层文件连接验证IP接口的端口信号变量和待测芯片的端口信号;
验证IP接口连接模块330,用于在验证环境的顶层模块使用动态开关连接验证IP接口的端口信号变量和验证IP接口;
测试用例生成模块340,用于根据所述待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口的控制信号变量生成测试用例,以使所述待测芯片的端口信号与验证IP接口连接。
可选的,所述配置文件创建模块310,具体用于:
在验证模块中创建接口配置文件,在所述接口配置文件中声明作为验证IP接口的端口信号变量和验证IP接口的控制信号变量。
可选的,所述顶层文件创建模块320具体用于:
在验证环境的顶层模块将待测芯片实例化;
将实例化后的待测芯片的端口信号与验证IP接口的端口信号变量进行连接。
可选的,所述验证IP接口连接模块330可以包括:
构建单元,用于在验证环境的顶层模块构建n个动态开关;
验证IP接口连接单元,用于基于所述n个动态开关分别连接n个验证IP接口的端口信号变量对应的验证IP接口。
可选地,所述测试用例生成模块340,具体用于:
所述待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口之间通过动态开关动态连接,所述使所述待测芯片的端口信号与验证IP接口连接,包括:
当所述动态开关对应的验证IP接口的控制信号变量为高时,所述动态开关对应的验证IP接口和待测芯片的端口信号之间相互连接;
当所述动态开关对应的验证IP接口的控制信号变量为低时,所述动态开关对应的验证IP接口和待测芯片的端口信号之间断开连接。
本申请实施例还提供了对应的设备以及计算机存储介质,用于实现本申请实施例提供的方案。
其中,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行本申请任一实施例所述的验证模块接口切换方法。
所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现本申请任一实施例所述的验证模块接口切换方法。
本申请实施例中提到的“第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的验证模块接口切换方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。
Claims (10)
1.一种验证模块接口切换方法,其特征在于,所述方法包括;
在验证模块中创建配置文件;所述配置文件用于定义验证IP接口;所述配置文件中包括验证IP接口的端口信号变量和验证IP接口的控制信号变量;
在验证环境的顶层模块创建顶层文件连接验证IP接口的端口信号变量和待测芯片的端口信号;
在验证环境的顶层模块使用动态开关连接验证IP接口的端口信号变量和验证IP接口;
根据所述待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口的控制信号变量生成测试用例,以使所述待测芯片的端口信号与验证IP接口连接。
2.根据权利要求1所述的验证模块接口切换方法,其特征在于,所述在验证模块中创建配置文件,包括:
在验证模块中创建接口配置文件,在所述接口配置文件中声明作为验证IP接口的端口信号变量和验证IP接口的控制信号变量。
3.根据权利要求1所述的验证模块接口切换方法,其特征在于,在验证环境的顶层模块创建顶层文件连接验证IP接口的端口信号变量和待测芯片的端口信号,包括:
在验证环境的顶层模块将待测芯片实例化;
将实例化后的待测芯片的端口信号与验证IP接口的端口信号变量进行连接。
4.根据权利要求1所述的验证模块接口切换方法,其特征在于,所述在验证环境的顶层模块使用动态开关连接验证IP接口的端口信号变量和验证IP接口,包括:
在验证环境的顶层模块构建n个动态开关;
基于所述n个动态开关分别连接n个验证IP接口的端口信号变量对应的验证IP接口。
5.根据权利要求4所述的验证模块接口切换方法,其特征在于,所述动态开关的控制信号为验证IP接口的控制信号变量。
6.根据权利要求1所述的验证模块接口切换方法,其特征在于,所述动态开关为三态缓冲器,所述三态缓冲器包括高电平状态和高阻态状态;
在所述三态缓冲器中,当使能信号为1时,控制输出端口连接到输入端口,当使能信号为0时,控制输出端口处于高阻态。
7.根据权利要求1所述的验证模块接口切换方法,其特征在于,所述待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口之间通过动态开关动态连接,所述使所述待测芯片的端口信号与验证IP接口连接,包括:
当所述动态开关对应的验证IP接口的控制信号变量为高时,所述动态开关对应的验证IP接口和待测芯片的端口信号之间相互连接;
当所述动态开关对应的验证IP接口的控制信号变量为低时,所述动态开关对应的验证IP接口和待测芯片的端口信号之间断开连接。
8.一种验证模块接口切换装置,其特征在于,所述装置包括;
配置文件创建模块,用于在验证模块中创建配置文件;所述配置文件用于定义验证IP接口;所述配置文件中包括验证IP接口的端口信号变量和验证IP接口的控制信号变量;
顶层文件创建模块,用于在验证环境的顶层模块创建顶层文件连接验证IP接口的端口信号变量和待测芯片的端口信号;
验证IP接口连接模块,用于在验证环境的顶层模块使用动态开关连接验证IP接口的端口信号变量和验证IP接口;
根据所述待测芯片的端口信号、验证IP接口的端口信号变量和验证IP接口的控制信号变量生成测试用例,以使所述待测芯片的端口信号与验证IP接口连接。
9.一种设备,其特征在于,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行权利要求1-7任一项所述的验证模块接口切换方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现权利要求1-7任一项所述的验证模块接口切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311720670.6A CN117709254A (zh) | 2023-12-14 | 2023-12-14 | 一种验证模块接口切换方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311720670.6A CN117709254A (zh) | 2023-12-14 | 2023-12-14 | 一种验证模块接口切换方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117709254A true CN117709254A (zh) | 2024-03-15 |
Family
ID=90143812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311720670.6A Pending CN117709254A (zh) | 2023-12-14 | 2023-12-14 | 一种验证模块接口切换方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117709254A (zh) |
-
2023
- 2023-12-14 CN CN202311720670.6A patent/CN117709254A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6188975B1 (en) | Programmatic use of software debugging to redirect hardware related operations to a hardware simulator | |
US8443336B2 (en) | System and method for applying model-based testing to train control systems | |
US10209306B2 (en) | Methods and systems for generating functional test patterns for manufacture test | |
US10885251B2 (en) | Software integration into hardware verification | |
CN116089281A (zh) | 一种芯片测试方法、测试平台和设备 | |
CN111859834B (zh) | 一种基于uvm的验证平台开发方法、系统、终端及存储介质 | |
CN109726061B (zh) | 一种SoC芯片的验证方法 | |
CN113434355B (zh) | 模块验证方法、uvm验证平台、电子设备及存储介质 | |
CN114417768B (zh) | 一种以太网芯片的数模混合仿真方法及系统 | |
CN111427781A (zh) | 一种兼容仿真和实体的逻辑功能测试方法及平台 | |
CN115563019A (zh) | 一种uvm与c联合验证方法和系统 | |
CN115496018A (zh) | 一种SoC芯片多版本验证方法、装置及设备 | |
CN111008508B (zh) | 一种接口类ip系统应用验证平台和验证方法 | |
US7319947B1 (en) | Method and apparatus for performing distributed simulation utilizing a simulation backplane | |
CN114548027A (zh) | 在验证系统中追踪信号的方法、电子设备及存储介质 | |
CN108228965B (zh) | 一种存储单元的仿真验证方法、装置和设备 | |
CN116681013B (zh) | 网络芯片的仿真验证方法、平台、装置、设备及介质 | |
CN116911220A (zh) | 一种基于UVM和VIP的PCIe分叉验证系统 | |
CN117709254A (zh) | 一种验证模块接口切换方法、装置、设备及存储介质 | |
US11960385B2 (en) | Automatic generation of integrated test procedures using system test procedures | |
CN111338761B (zh) | 一种51单片机虚拟中断控制器及实现方法 | |
CN113792522A (zh) | 仿真验证方法、装置及计算设备 | |
CN114721286A (zh) | 分布式编译的并行实时仿真系统和仿真方法 | |
CN107526585B (zh) | 基于Scala的FPGA开发平台及其调试、测试方法 | |
CN117112447B (zh) | 一种数据传输方法、装置、电子设备及可读存储介质 |
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 |