CN110765028B - 验证环境的可视化搭建方法、装置及存储介质 - Google Patents
验证环境的可视化搭建方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110765028B CN110765028B CN201911372371.1A CN201911372371A CN110765028B CN 110765028 B CN110765028 B CN 110765028B CN 201911372371 A CN201911372371 A CN 201911372371A CN 110765028 B CN110765028 B CN 110765028B
- Authority
- CN
- China
- Prior art keywords
- environment
- component
- control
- connection
- processor
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供一种验证环境的可视化搭建方法、装置及存储介质,装置包括:显示器,用于显示交互界面和交互控件,交互控件包括输出控件,交互界面中包括以下至少一种:表示环境组件的组件控件、表示连接的连接控件、以及空白界面;处理器,用于响应作用于交互界面的输入信号,通过调用相应的环境文件,执行对环境元素的操作处理,并在交互界面中显示相应的组件控件和/或连接控件;其中,环境元素包括各级环境组件和/或连接,操作处理包括创建和/或配置,每个环境组件的下一级环境组件对应的组件控件位于该环境组件对应的组件控件内;处理器,还用于响应作用于输出控件的输入信号,根据当前交互界面对应的环境文件,搭建验证环境。
Description
技术领域
本申请实施例涉及计算机领域,尤其涉及一种验证环境的可视化搭建方法、装置及存储介质。
背景技术
随着集成电路制造工艺的提升,芯片的集成度越来越高,芯片的功能也越来越强大,相应而来的是对芯片验证的要求进一步提升。目前的芯片验证通常采用通用验证方法学(Universal Verification Methodology, UVM),即通过搭建UVM验证环境来实现芯片验证。
目前,UVM验证环境的搭建需要程序人员手动写代码来完成,该种搭建验证环境的方法需要花费大量时间,工作繁琐,导致开发效率低下。
发明内容
本申请实施例提供一种验证环境的可视化搭建方法、装置及存储介质,以克服现有的验证环境搭建方法耗时大的问题。
第一方面,本申请实施例提供一种验证环境的可视化搭建方法,包括:
显示交互界面和交互控件,其中,所述交互控件包括输出控件,所述交互界面中包括以下至少一种:表示环境组件的组件控件、表示连接的连接控件、以及空白界面;
响应作用于交互界面的输入信号,通过调用相应的环境文件,执行对环境元素的操作处理,并在交互界面中显示相应的组件控件和/或连接控件;其中,所述环境元素包括各级环境组件和/或连接,所述操作处理包括创建和/或配置,每个环境组件的下一级环境组件对应的组件控件位于该每个环境组件对应的组件控件内;
响应作用于输出控件的输入信号,根据当前交互界面对应的环境文件,搭建验证环境。
第二方面,本申请实施例提供一种验证环境的可视化搭建装置,包括:
显示器,用于显示交互界面和交互控件,其中,所述交互控件包括输出控件,所述交互界面中包括以下至少一种:表示环境组件的组件控件、表示连接的连接控件、以及空白界面;
处理器,用于响应作用于交互界面的输入信号,通过调用相应的环境文件,执行对环境元素的操作处理,并在交互界面中显示相应的组件控件和/或连接控件;其中,所述环境元素包括各级环境组件和/或连接,所述操作处理包括创建和/或配置,每个环境组件的下一级环境组件对应的组件控件位于该每个环境组件对应的组件控件内;
所述处理器,还用于响应作用于输出控件的输入信号,根据当前交互界面对应的环境文件,搭建验证环境。
第三方面,本申请实施例提供一种验证环境的可视化搭建装置,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;
所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当处理器执行所述计算机程序时,实现如上第一方面以及第一方面各种可能的设计所述的方法。
本申请实施例提供的验证环境的可视化搭建方法、装置及存储介质,显示可视化的交互界面和交互控件,所述交互界面可显示组件控件、连接控件、以及空白界面中的至少一种。基于上述可视化平台,用户可以通过用户操作执行输入信号,以使后台响应输入信号,通过调用预先建立的环境文件,执行验证环境搭建所需的功能处理,从而无需用户手动编写代码,提高开发效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为UVM验证环境的一种结构示例图;
图2为一种UVM验证环境的结构示例图;
图3为本申请实施例一提供的一种验证环境的可视化搭建方法的流程示意图;
图4为本申请提供的一种交互界面和交互控件的界面示例图;
图5A为本申请实施例一提供的另一种验证环境的可视化搭建方法的流程示意图;
图5B为本申请提供的一种组件创建选项的界面示例图;
图6A为本申请实施例一提供的又一种验证环境的可视化搭建方法的流程示意图;
图6B为本申请提供的一种组件配置选项的界面示例图;
图6C为本申请提供的一种组件配置窗口的界面示例图;
图7A为本申请实施例一提供的另一种验证环境的可视化搭建方法的流程示意图;
图7B为本申请提供的一种端口创建选项的界面示例图;
图8为本申请实施例一提供的另一种验证环境的可视化搭建方法的流程示意图;
图9为本申请实施例一提供的另一种验证环境的可视化搭建方法的流程示意图;
图10为本申请实施例六提供的一种验证环境的可视化搭建装置的结构示意图;
图11为本申请实施例十一提供的验证环境的可视化搭建装置的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
根据本申请实施例,提供了一种验证环境的可视化搭建方法的实施例,需要说明的是,在附图的流程图示出的步骤既可以通过将具有相应功能的电子元件和/或设备组合之后加以实现,也可以通过集成电路技术在PCB等硬件上实现,还可以在能实现诸如一组计算机可执行指令的计算机***中执行;并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
UVM是以SystemVerilog类为主的通用验证方法学,利用它的可重用组件,能够构建具有标准化层次结构和接口的功能验证环境,即UVM验证环境。具体的,UVM验证环境可以被理解为一种架构,其规定了UVM中的基本类(即可重用组件),例如,驱动器(driver)、编辑器(sequencer)、监控器(monitor)等,以及通信接口。验证人员可以在基本类的基础上扩展自己需要的类,然后用UVM标准的通信语句将各个类的通信接口连接起来。
作为示例,整个UVM验证环境的结构可以视作类似倒置的树形结构,如图1所示,图1为UVM验证环境的一种结构示例图,其从层级架构方面对UVM验证环境的结构进行展示。该示例中包含四层结构,最高层为顶层,实际应用中可以代表整体的芯片验证项目;顶层的下一级有环境(简称env),该env可以是针对芯片某个功能的验证环境;在该验证环境下设有至少一个代理模块(agent模块),例如图中的输入代理(In Agent)和输出代理(OutAgent);计分板(scoreboard)以及参考模型(reference model);进一步的在每个agent模块下可设有UVM中的基本类,例如,编辑器、驱动器、监控器。作为说明,本申请实施例提到的环境组件包括以上各个层级的组件,例如,顶层层级,env层级,agent层级,以及基本类层级等。
基于上述架构,可以针对被测器件(Device Under Test,简称DUT)设计搭建验证所需的验证环境。以环境层级的验证环境作为示例,图2为一种UVM验证环境的结构示例图,其对UVM验证环境的模块结构进行展示。结合图2所示的结构进行举例说明,一次验证的流程大致如下:编辑器调用验证对应的激励,将激励通过驱动器输入被测器件。同时监控器检测被测器件接收到的激励,并将激励传递给参考模型。参考模型针对激励的反馈结果会给到计分板,同时监控器也会将被测器件针对激励的反馈结果收集至计分板。最后计分板对比参考模型和被测器件结果,得出最终的验证结果并输出。其中,各组件之间的通信和数据传输通过其之间的连接实现。
例如以上示例可见,UVM的基本类包括driver、sequencer、monitor和scoreboard等,这些组件都可重用。但是搭建UVM验证环境仍然需要人工编写代码来完成,这就带来了一些问题。首先,人工搭建环境费时费力,且容易出错。比如,随着芯片技术越来越短的迭代周期,芯片产品重视迭代开发,下一代产品的验证点相比上一代,有交集也有差异,所以验证环境也可能在上一代的基础上迭代开发而来。然而手工写代码搭建的验证环境,在项目初期既费时又难以稳定,可能需要耗费大量时间修改环境本身的错误。另外,人工编写代码的学习成本高,初学者常常需要数个月来熟悉UVM验证环境才能独立承担验证工作。
对此,本申请提供一种验证环境的可视化搭建方法、装置及存储介质以解决上述问题。具体的,结合以下实施例来对本申请的方案进行说明。
图3为本申请实施例一提供的一种验证环境的可视化搭建方法的流程示意图,参照图3所示,本实施例提供一种验证环境的可视化搭建方法用于方便高效地搭建UVM验证环境,具体的,本实施例以验证环境的可视化搭建方法应用于验证环境的可视化搭建装置来举例说明,该可视化搭建装置可以包括显示器和处理器,相应的,该方法包括:
101、显示器显示交互界面和交互控件,其中,所述交互控件包括输出控件,所述交互界面中包括以下至少一种:表示环境组件的组件控件、表示连接的连接控件、以及空白界面;
102、处理器响应作用于交互界面的输入信号,通过调用相应的环境文件,执行对环境元素的操作处理,并在交互界面中显示相应的组件控件和/或连接控件;其中,所述环境元素包括各级环境组件和/或连接,所述操作处理包括创建和/或配置,每个环境组件的下一级环境组件对应的组件控件位于该每个环境组件对应的组件控件内;
103、处理器响应作用于输出控件的输入信号,根据当前交互界面对应的环境文件,搭建验证环境。
实际应用中,本实施例的执行主体可以为验证环境的可视化搭建装置,该可视化搭建装置可以为应用软件,也可以为存储有相关计算机程序的介质,例如,U盘等;或者,该智能卡数据写入装置还可以为集成或安装有相关计算机程序的实体装置,例如,芯片、智能终端、电脑等。
结合实际场景举例来说:本申请的显示器能够显示用户可视的交互界面和交互控件。其中,交互界面可展示建立的环境组件、连接以及图形控件,即组件控件和连接控件,以及空白界面;交互控件至少包括用于响应用户指令以执行最终环境搭建的输出控件。其中,组件控件用于在交互界面中表示相应的环境组件,连接控件用于在交互界面中表示相应的连接。环境组件和连接控件的形式可以不限,例如,可以通过界面中显示的区域框表示环境组件,其形状也可以不限,例如可以为方形或者圆形等,再例如,可以通过线表示连接,其形状也可以不限,例如可以为直线或曲线等。作为示例,可参见如后续图4所示的界面。
实际应用中,交互界面和交互控件可以通过显示设备展示,以达到可视化的效果。相应的,当用户需要搭建验证环境时,可以先通过用户操作来执行输入信号,抵达交互界面和交互控件的展示界面。可选的,所述显示设备可以为具备显示功能的显示器,对此需配合实现输入信号的输入设备,例如,鼠标、键盘等,实现可视化搭建平台与用户之间的人机交互。再可选的,显示界面可以为具备触控功能的显示器,相应的,用户可以通过输入信号实现与可视化搭建平台的人机交互,以建立验证环境所需的各种组件和连接。最后通过对输出控件执行输入信号(例如鼠标单击、或者触控按压等),基于当前交互界面中建立的环境组件和连接,完成对最终验证环境的搭建。以上响应于用户界面(User Interface,简称UI)交互的具体处理,可以由后台(例如,芯片、电脑主机、服务器等)执行完成,处理结果反馈至显示界面上展示。在实际应用中,整个验证环境及其中的结构,比如,各级环境组件和各种连接,均可用相应的程序代码实现,本申请中定义所述程序代码为环境文件,所述环境文件可以为一个环境组件对应的程序代码,也可以为多个环境组件对应的多个程序代码。
为了更直观地介绍本实施例的技术方案,图4为本申请提供的一种交互界面和交互控件的界面示例图,可以理解,其仅为一种示例,而非对本申请的技术方案进行限制。如图4所示,该示例基于TestBench Generator生成本申请的交互界面和交互控件,TestBenchGenerator是一款基于Visual Studio Code(vscode)开发用于UVM验证环境生成的webview拓展,通过该技术可以使用户在vscode中通过设计UI界面自动生成相对应的UVM验证环境。
结合图4的示例,对交互界面和交互控件进行说明。图4所示的交互界面中包括表示环境组件Env的组件控件41、表示环境组件In Agent的组件控件42、表示环境组件OutAgent的组件控件43、表示环境组件Reference Model的组件控件44、表示环境组件Scoreboard的组件控件45、以及表示环境组件Sequencer、Driver、Monitor的组件控件(未进行标号)。结合本方案,其中每个环境组件的下一级环境组件对应的组件控件位于该每个环境组件对应的组件控件内。例如,环境组件Env作为图4中的最上层环境组件,其下一级环境组件Reference Model、Scoreboard、In Agent和Out Agent的组件控件均位于环境组件Env的组件控件41内;再例如,对于环境组件In Agent来说,其下一级环境组件Sequencer、Driver、Monitor的组件控件位于In Agent的组件控件42内。通过以上能够使用户在搭建验证环境的过程中,直观地了解验证环境的层级架构,以提高搭建效率,避免出错。另外,图中的图形控件DUT即为被测器件DUT的图形控件。另外,图4所示的交互控件包括输出控件,即界面中的Export按钮。图中所示出的其它交互控件用于对后述的实施例进行示例说明,在此不再描述。
通过本实施例提供的方案,能够采用UI图形界面操作的验证环境搭建方式取代传统通过编写代码来搭建验证环境,允许用户快速直观地创建环境组件和/或连接,实现UVM验证环境的快速部署。另外基于本方案,代码可以由程序人员预先完成,在搭建验证环境时,一旦环境的层级架构确定下来,可以直接调用预先完成的程序代码以及可重用组件的程序文件(即本方案中所述的环境文件),从而加速环境搭建,并且确保正确。
进一步的,在本申请提供的方案中,对环境组件和连接的处理进行了灵活扩展,对此结合以下实施方式进行说明。可以理解,以下实施方式可以单独实施,也可以结合实施,在此未对其进行限制。
关于环境组件的创建,图5A为本申请实施例一提供的另一种验证环境的可视化搭建方法的流程示意图,参照图5A所示,本实施例提供一种验证环境的可视化搭建方法用于方便高效地执行对验证环境中环境组件的创建,具体的,在其它任一实施方式的基础上,102中所述响应作用于交互界面的输入信号,通过调用相应的环境文件,执行对各级环境组件的创建,并在交互界面中显示相应的组件控件,具体可以包括:
501、响应作用于第一环境组件对应的组件控件内空白界面的输入信号,显示组件创建选项,所述组件创建选项括以下至少一种:环境创建选项、代理创建选项、驱动器创建选项、编辑器创建选项、监控器创建选项、参考模型创建选项、计分板创建选项;
502、响应作用于组件创建选项的输入信号,通过调用相应的组件用例并实例化生成相应的环境文件,创建环境组件,并显示创建的环境组件对应的组件控件。
其中,组件创建选项用于创建任意层级的环境组件,例如,用于创建env层环境组件的环境创建选项,用于创建agent层环境组件的代理创建选项。驱动器创建选项、编辑器创建选项、监控器创建选项、参考模型创建选项、计分板创建选项则可用于创建基本类的环境组件。具体的,本实施方式中,后台监测到作用于第一环境组件对应的组件控件内空白界面的输入信号时,响应于该输入信号,调用组件创建选项的相关文件,以在交互界面中展示组件创建选项。后续,若进一步监测到作用于组件创建选项的输入信号,则执行相应的组件创建,并将被创建组件的图形控件展示在交互界面中。
在某环境组件A下的环境组件A1,表示该环境组件A1被封装在环境组件A中,比如图4所示的环境组件driver、sequencer、monitor即被封装在环境组件In Agent中。可以理解,本方案中的某个环境组件的组件控件内可能包括有下一级环境组件的组件控件,故这里提及的组件控件内的空白界面可以指组件控件在交互界面上的对应区域内并非控件的区域。为了更直观地介绍本实施方式的技术方案,仍结合图4进行举例说明。可选的,所述第一环境组件的层级不限,例如可以为Env层级,也可以为Agent层级。结合图4所示,可以在任一组件控件内的空白界面执行输入信号,例如可以在Env的控件内的空白界面执行输入信号,也可以在Agent的控件内的空白界面执行输入信号,以创建新的环境组件。以图中为例,则用户可在Agent的控件内的空白界面执行输入信号,该输入信号可以预先设定(例如,鼠标右键点击,触控长按等),相应的,会进入如图5B所示的界面。图5B为本申请提供的一种组件创建选项的界面示例图,同样可以理解,其仅为一种示例。
结合图5B的示例,组件创建选项包括环境创建选项(图中的uvm_env)、代理创建选项(图中的uvm_agent和uvm_component_agent),该实施方式同时还提供了常用基本类的创建选项,以更加方便快捷地实现环境组件的创建,例如,驱动器创建选项(图中的uvm_driver)、编辑器创建选项(图中的uvm_ sequencer)、监控器创建选项(图中的uvm_monitor)、参考模型创建选项(图中的uvm_reference_model)、计分板创建选项(图中的uvm_scoreboard)。此外,由于本申请的后述实施方式中还可提供对环境组件的配置功能,故在相关实施方式结合的实施方式中,还可提供如图5B所示的初始组件创建选项(图中的uvm_component),即用于创建初始的环境组件后,再通过组件配置选项,例如,图中举例的Properties可用于对环境组件In Agent执行配置,完成对环境组件的属性配置。可选的,在实际应用中,还可以使用常用快捷键,执行常见操作,例如复制(Copy)、粘贴(Paste)、删除(Delete)、剪切(Cut)和撤回(unmake)等。
本实施方式中,通过在组件控件内的空白界面中执行输入信号,响应于该操作提供组件创建选项,进一步响应于作用于组件创建选项的输入信号,通过调用预先编写的环境组件的环境文件,从而快速方便地实现环境组件的创建,并直观地在交互界面中展示能够反映验证环境结构的组件控件,即在执行输入信号的组件控件内显示被创建的环境组件,从而提高效率的同时保证准确。
关于环境组件的配置,图6A为本申请实施例一提供的又一种验证环境的可视化搭建方法的流程示意图,参照图6A所示,本实施例提供一种验证环境的可视化搭建方法用于方便高效地执行对验证环境中环境组件的配置,具体的,在其它任一实施方式的基础上,102中所述响应作用于交互界面的输入信号,通过调用相应的环境文件,执行对各级环境组件的配置,并在交互界面中显示相应的组件控件,包括:
601、响应作用于第二环境组件对应的组件控件的输入信号,显示组件配置选项,所述组件配置选项包括以下至少一种:外观配置选项、属性配置选项;
602、响应作用于组件配置选项的输入信号,通过对第二环境组件的环境文件中与该组件配置选项对应的字段进行更新,执行对第二环境组件的配置;在交互界面中更新显示该经过配置的第二环境组件对应的组件控件。
其中,组件配置选项用于对输入信号作用的组件控件对应的环境组件进行配置。配置的功能可以包括对外观的配置和/或对属性的配置。其中对属性的配置可以包括但不限于对组件类型的配置、命名的配置以及所属环境的配置。具体的,本实施方式中,后台监测到作用于某环境组件对应的组件控件的输入信号时,响应于该输入信号,调用组件配置选项的相关文件,以在交互界面中展示组件配置选项。后续,若进一步监测到作用于组件配置选项的输入信号,则执行相应的对该环境组件的组件配置。
为了更直观地介绍本实施方式的技术方案,仍结合图4进行举例说明。可选的,被配置环境组件的层级不限,例如可以为Env层级,也可以为Agent层级。以对环境组件InAgent下的环境组件Driver进行配置为例,用户可在环境组件Driver的组件控件上执行输入信号,该输入信号同样可以预先设定(例如,鼠标右键点击,触控长按等),相应的,会进入如图6B所示的界面。图6B为本申请提供的一种组件配置选项的界面示例图,同样可以理解,其仅为一种示例。
结合图6B的示例,组件配置选项包括外观配置选项,如图中的Recolor、Expand、以及Shrink,其中,Recolor可用于配置组件控件的颜色,Expand和Shrink可用于配置组件控件的尺寸大小。组件配置选项还包括属性配置选项,如图中的Properties,相应的,可以作用于Properties提供用于对组件类型、命名以及所属环境进行配置的选型。通过上述,用户可以对环境组件的组件控件进行外观调整,包括变色和缩放,还可以对环境组件的名称进行编辑,并通过属性配置选项,展示当前环境组件的各项属性,例如,路径和版本等。
可选的,为了进一步提高环境配置的便捷性和专业性,对环境组件的属性配置,还可通过独立的组件配置窗口实现。举例来说,可进一步响应于作用于属性配置选项的输入信号,显示组件配置窗口;响应作用于组件配置窗口的输入信号,通过对第二环境组件的环境文件中与该组件配置窗口对应的字段进行更新,执行对第二环境组件的配置,其中,所述对应字段指的是在对某组件的某一项进行配置时,就是将所述该项配置对应的环境文件中的程序代码中与之对应的部分进行更新;在交互界面中更新显示该经过配置的第二环境组件对应的组件控件。可选的,通过配置窗口,用户可以对环境组件的外观、路径和版本进行查看和定义。作为一种示例,可参见图6C,图6C为本申请提供的一种组件配置窗口的界面示例图,同样可以理解,其仅为一种示例。图中表明基于TestBench Generator允许用户查看并定义一个环境组件的环境文件所在的路径、环境组件的版本和外观,即TestBenchGenerator支持用户更改组件的外观属性。例如,在一个独立的窗口中实现外观属性的编辑,如图6C。
本实施方式中,通过对组件控件执行输入信号,响应于该操作提供组件配置选项,进一步响应于作用于组件配置选项的输入信号,通过调用环境组件的环境文件并对相关字段进行更新,从而快速方便地实现环境组件的配置,并支持用户查看和定义环境组件的外观和属性。
关于连接的创建,图7A为本申请实施例一提供的另一种验证环境的可视化搭建方法的流程示意图,参照图7A所示,本实施例提供一种验证环境的可视化搭建方法用于方便高效地执行对验证环境中连接的创建,具体的,在其它任一实施方式的基础上,102中所述响应作用于交互界面的输入信号,通过调用相应的环境文件,执行对连接的创建,并在交互界面中显示相应的连接控件,具体可以包括:
701、响应作用于第三环境组件对应的组件控件的输入信号,显示端口创建选项;响应作用于端口创建选项的输入信号,通过调用并在第三环境组件的环境文件的类定义中声明,以创建第三环境组件的端口,并显示创建的该第三环境组件的端口对应的图形控件;
702、响应作用于两端口对应的图形控件之间的拖拽操作,通过调用连接用例并实例化生成相应的环境文件,创建所述两端口之间的第一连接,并显示第一连接对应的连接控件。
其中,验证环境下各环境组件之间通过事务级建模(Transaction-levelmodeling,简称TLM)通讯实现通信和信息传输。transaction在验证环境里传递数据的时候,在各环境组件之间,需要通过TLM的port和export进行传递。具体的,基于连接两端的组件类型,连接(Link)可以实现所述TLM的连接,其中,所述TLM里有两种操作,第一种是put操作,指的是A组件从port口把数据传递给B组件的export口,第二种是get操作,指的是A组件从port口向B组件的export口索取数据。其中,环境组件之间的通信和信息传递是基于transaction传递的,也就是说,通过拖拽两个组件的端口实际传递的是transaction。一笔transaction就是一个包,模拟物理协议中的数据交换,以帧或包为单位,一个包中定义好各项参数。本实施方式中,针对任意类型的TLM端口连接,采用先创建端口,再通过两端口之间的拖拽操作建立连接。即后台监测到作用于某环境组件对应的组件控件的输入信号时,响应于该输入信号,调用端口创建选项的相关文件,以在交互界面中展示端口创建选项。后续,若进一步监测到作用于端口创建选项的输入信号,则执行相应的端口创建,其中创建的该端口为当前环境组件的端口,并将被创建端口的图形控件展示在交互界面中。
具体的,环境组件的端口会在该环境组件对应的环境文件中的类(class)定义中声明,在一种实施方式中,可以在连接建立后,将该连接两端的两个端口会被自动定义为TLM类型的端口(例如Tr Port)相应的类型,比如,put类型的端口或者get类型的端口。在另一种实施方式中,也可以在创建端口时定义好端口的类型,后续再将相同类型的端口之间建立相应类型的连接。以建立TLM连接为例,可以在环境组件上添加Tr Port,并通过Link与相应的环境组件的端口拖拽相连。可选的,连接的实例化可通过预定的输入信号实现,例如可以右键某个连接,弹出连接例化选项(以TLM的put类型的Tr Port为例,例如Config If),选择Config If,表示该TLM的put类型的端口会在环境组件中例化。类似的,在环境组件上还可以添加get类型的Tr Port ,并用Link与相应的环境组件的端口相连。右键该连接,选择Config Tr,表示该端口会在环境组件中例化。
为了更直观地介绍本实施方式的技术方案,仍结合图4进行举例说明。结合图4所示,可以对某环境组件的组件控件执行输入信号。以需创建Driver的端口为例,则用户可在Driver的组件控件上执行输入信号,该输入信号可以预先设定(例如,鼠标右键点击,触控长按等),相应的,会进入如图7B所示的界面。图7B为本申请提供的一种端口创建选项的界面示例图,同样可以理解,其仅为一种示例。
结合图7B的示例,本实施方式支持在环境组件上添加New TLM↑Port、New TLM↓Port、New TLM←Port、New TLM→Port。其中,箭头的方向用于进一步确定端口相对组件控件的位置,例如,New TLM↑Port可创建组件控件上边的端口,New TLM↓Port可创建组件控件下边的端口,New TLM←Port可创建组件控件左边的端口,New TLM→Port可创建组件控件右边的端口。通过对上述TLM Port均可创建Driver用于TLM通讯的端口。另外,图7B所示的New If Port和New Tr Port分别用于创建Tr Port和If Port。
本实施方式中,通过对组件控件执行输入信号,创建当前环境组件的端口,后续通过两端口之间执行拖拽操作,从而快速方便地实现连接的创建,并在交互界面中展示,从而提高环境搭建的效率。
关于连接的配置,图8为本申请实施例一提供的另一种验证环境的可视化搭建方法的流程示意图,参照图8所示,本实施例提供一种验证环境的可视化搭建方法用于方便高效地执行对验证环境中连接的配置,具体的,在其它任一实施方式的基础上,102中所述响应作用于交互界面的输入信号,通过调用相应的环境文件,执行对连接的配置,并在交互界面中显示相应的连接控件,具体可以包括:
801、响应作用于第二连接对应的图形控件的输入信号,显示连接配置窗口,所述连接配置窗口提供以下至少一种连接属性选项:起始端口属性、目标端口属性、传输数据属性、连接类型属性;
802、响应作用于连接属性选项的输入信号,通过对第二连接的环境文件中与该连接属性选项对应的字段进行更新,执行对第二连接的配置;在交互界面中更新显示该经过配置的第二连接对应的连接控件。
其中,连接配置窗口用于对输入信号作用的连接进行配置。结合实际举例,在一个连接被建立前,需要定义其连接属性。例如,连接的起始端口和目标端口,可以通过拖拽操作的方向确定,相应的,在连接控件中表示连接的方向,具体的表示方式可以不限,例如通过箭头表示。另外,如前所述,连接的类型同样被定义。此外,还需要定义连接的传输数据属性,即Transaction,例如,从一个环境组件的TLM Port连接至另一个环境组件的TLM Port后,两者之间建立了TLM 通讯的连接,然后需要输入该通讯所使用的transaction。比如,当Link是从一个环境组件A的TLM Port连接至环境组件B的TLM Port,则表示两者之间建立了由A到B的TLM通讯,需要在生成连接控件后,配置该Link以选择此TLM通讯的类型,并配置该TLM通讯所使用的transaction。
针对上述,本实施方式支持对已建立的连接进行配置。具体的,本实施方式中,后台监测到作用于某连接的连接控件的输入信号时,响应于该输入信号,在交互界面中展示连接配置窗口。后续监测到作用于连接配置窗口的输入信号,则执行相应的对该连接的配置。其中,起始端口属性用于定义连接的起始端口,目标端口属性用于定义连接的目标端口,传输数据属性用于定义连接的transaction,连接类型属性用于定义连接的类型。其中,连接的环境文件可以预先编写代码,在对连接的某项属性进行配置时,可以调用该连接的环境文件并对其中相对应的字段进行更新配置,从而实现对连接的配置。
本实施方式中,通过对连接控件执行输入信号,响应于该操作提供连接配置窗口,进一步响应于作用于连接配置窗口的输入信号,通过调用连接的环境文件并对相关字段进行更新,从而快速方便地实现连接的配置。
此外,关于连接的传输数据属性,其基于两端的环境组件的传输数据属性,其中连接两端的传输数据属性需为一致。对此,本申请还提供另一种实施方式,支持对传输数据属性的创建和配置。如图9所示,图9为本申请实施例一提供的另一种验证环境的可视化搭建方法的流程示意图,参照图9所示,本实施例提供一种验证环境的可视化搭建方法用于方便高效地执行对验证环境中传输数据属性的创建和配置,具体的,在其它任一实施方式的基础上,还可以包括:
901、响应作用于所有组件控件以外的空白界面的输入信号,显示事务创建选项;
902、响应作用于事务创建选项的输入信号,通过调用相应的事务文件,创建事务;显示创建的该事务对应的事务控件。
具体的,本实施方式中并未通过对环境组件进行配置来实现对其传输数据属性的配置,而是先创建表示传输数据属性的事务(transaction)。后续,再将该事务表示的传输数据属性配置给某环境组件的端口,从而方便快捷地实现对传输数据属性的配置。其中,事务文件属于环境文件的一种,即事务对应的环境文件,在实现上,其同样可以为程序代码。
相应的,在图9所示实施方式的基础上,还可进一步包括:响应作用于事务对应的事务控件与某环境组件的第一端口对应的图形控件之间的拖拽操作,通过调用该第一端口的环境文件并将其传输数据属性对应的字段替换为该事务的环境文件,执行将该事务配置给该环境组件的第一端口;显示自事务控件指向第一端口的第三连接对应的连接控件。
具体地,本实施方式允许将transaction配置给环境组件的第一端口,该第一端口可以为Tr Port。比如,可以将transaction拖拽至某环境组件的Tr Port,则说明要将该transaction配置给该环境组件的该端口。本实施方式中,采用先创建表示传输数据属性的transaction,再通过transaction至环境组件的端口的拖拽操作对环境组件的该端口的传输数据属性进行配置。具体的,后台监测到作用于所有组件控件以外的空白界面的输入信号时,响应于该输入信号,调用事务创建选项的相关文件,以在交互界面中展示事务创建选项。后续,若进一步监测到作用于事务创建选项的输入信号,则执行表示相应传输数据属性的事务创建,并将被创建事务的事务控件展示在交互界面中。后续通过建立事务控件与环境组件的端口之间的连接,实现对该环境组件的端口的传输数据属性的配置。
本实施方式中,通过对组件控件以外的空白界面执行输入信号,创建事务对应的事务控件,后续通过建立事务控件至环境组件端口之间的连接,从而快速灵活地实现传输数据属性的配置。
本实施例提供的验证环境的可视化搭建方法,提供可视化的交互界面和交互控件,所述交互界面可显示组件控件、连接控件、以及空白界面中的至少一种。基于上述可视化平台,用户可以执行输入信号,以使后台响应用户的输入信号,通过调用预先建立的环境文件,执行验证环境搭建所需的功能处理,从而无需用户手动编写代码,提高开发效率。
实际应用中,还会涉及UVM验证环境和环境组件的替换和合并。比如,在同一个项目中,如果DUT的interface或是transaction 有更新,则需搭建新的验证环境。而且随着设计代码的迭代更新,需要进行不断地回归测试。DUT和验证环境都需要在不同的版本间切换。对此,本申请也提供了相关的技术方案。具体结合以下实施例进行说明,可以理解,以下实施例可以单独实施也可以结合实施:
可选的,针对基本类可以预先建立模板库,并且基于指定模板路径(SpecifyTemplate Path),允许用户指定一个路径为当前环境所采用的模板库的绝对路径。可选的,用户可以选择使用默认模板库或者是自定义的模板库。其中,默认文件模板,即路径固定,用于方便用户编辑所有同类环境组件,所述默认文件模板包括默认环境,所述默认环境可以为不含实体内容的环境,即仅包含环境框架,但各组件和连接未经配置。例如,用户可以将默认的Monitor模板中的头模板块(head template block)中加入注释“hello world”,则所有生成的monitor中的head template block中都会加入“hello world”。另一种为用户自定义的模板库,其路径由用户在生成环境前指定,创建环境组件时会自动递归地搜索当前环境在所有路径下的环境文件,如果当前环境中有与模板库中的环境组件重名的文件,会以该模板库中的环境组件为模板生成当前环境的该环境组件。
可选地,本申请还支持预先建立interace库、transaction库和针对各种协议的VIP库,其中,所述transaction库可被调用,用于TLM接口之间的数据传递。举例来说,TestBench Generator允许用户自定义组件之间的TLM、interface和transaction 。这个功能首先为验证人员提供了搭建环境的便利性,通常情况下,互联的两个组件之间必须通过TLM 进行通信,手动编写代码添加TLM port不仅是重复劳动,且常常出错。而在UI界面中是否添加了TLM port非常直观,而且添加port的操作简单快捷,因此,我们可以预先建立TLM库供以后调用。可选地,所述用于TLM接口之间通信的transaction也可以预先建立transaction库,以便在建立TLM后用于信息传递。可选地,一些标准协议的接口也常常被用在设计中,比如axi协议、spi协议和apb协议的接口。因此可以提供以上标准协议以及自定义协议的interface 库和transaction port库,以供直接调用。在数量上,每个环境组件可以自定义任意多个interface port和transaction port,但是最终要实现其中哪些interface和transaction port的连接,可以由用户根据实际需要定义。
此外,本申请的一种实施方式中,还支持保存基本类的所有配置版本,后续用户在当前环境下调用某环境组件时,可以选择采用某次修改后的环境组件。例如,如果当前环境中某环境组件名为“monitor_1”,在相应路径下会有文件名为”monitor_1.sv”的文件,那么在所有“monitor_1.sv”的每次修改都可以被保存,后续用户调用“monitor_1”时,可以选择将其中一次修改后的“monitor_1”继承到新生成的monitor_1上。以上通过定义环境组件的路径,可以直接调用不同修改后的环境组件。基于以上,对于某个组件,通过给出路径,验证人员可以决定使用默认的组件,还是以往某个项目中使用过的组件。此外,除了以路径作为索引标识以外,还可以版本号(svn)作为索引标识,对于验证环境代码和DUT代码,用户可以调用过去任意的svn版本。在验证环境结构不变的条件下,验证人员可以调用过去的组件和测例,这在回归验证时是高效的手段,具体的方案则与以上相似,在此不再赘述。
本申请实施例二提供一种验证环境的可视化搭建方法,用于方便高效地加载UVM验证环境,具体的,在其它任一实施例的基础上,所述交互控件还包括加载控件;相应的,方法还包括:
响应作用于所述加载控件的输入信号,通过调用指定的第一环境文件,创建第一环境,并在第一环境对应的第一组件控件内显示第一环境下各环境组件和/或连接对应的组件控件和/或连接控件。其中,所述第一环境可以来自于预先设置的模板库,也可以为用户指定的环境,本公开对此不做限制。
具体的,当用户希望加载某验证环境时,可以对加载控件执行预定的输入信号(例如,鼠标左键单击,触控短时按压等),以在交互界面中加载指定的第一环境。其中,第一环境可以为默认环境或者由用户自定义的环境。可选的,默认环境可以为不含实体内容的环境,即仅包含环境框架,但各组件和连接未经配置,所述默认环境可以是事先保存在预先设置的模板库中。自定义环境可以为用户历史已创建的包含已配置的组件和连接的环境,所述自定义环境可以保存在指定的路径下。结合图4进行示例说明,图中的Load即为加载控件。实际应用中,可以设置保存控件(如图4中的Save),以允许用户将建立的验证环境通过自选路径进行存储并命名,后续便于用户加载调用,其中所述加载的验证环境还可以来自于模板库的环境文件,本公开对此不做限制。
本实施例通过设置加载控件,支持用户加载指定的环境文件,以快速创建环境并展示环境结构。
本申请实施例三提供一种验证环境的可视化搭建方法,用于方便高效地合并UVM验证环境,具体的,在其它任一实施例的基础上,所述交互控件还包括加载合并控件;相应的,方法还包括:
若当前交互界面中存在表示第二环境的第二组件控件,则响应作用于所述加载合并控件的输入信号,调用在先存储的第三环境的第三环境文件;
根据第二环境和第三环境的环境文件,提取出第二环境和第三环境下的环境组件和/或连接,作为第四环境下的环境组件和/或连接,以创建所述第四环境;
清除交互界面中显示的第二组件控件,并显示表示第四环境的第四组件控件,所述第四组件控件内显示有第四环境下各环境组件和/或连接对应的组件控件和/或连接控件。
具体的,当用户希望将当前环境与指定环境进行合并时,可以对加载合并控件执行预定的输入信号(例如,鼠标左键单击,触控短时按压等),以提取当前环境和指定环境的所有环境组件和连接,并将其作为新的环境下的环境组件和连接,其中,当前环境和指定环境都可以是模板库中预先设置的环境,也可以是用户指定路径下的指定环境。结合图4进行示例说明,图中的Load& Combine即为加载合并控件。实际应用中,通过Load & Combine可以将当前UI所示的环境与指定环境下的环境组件和连接,一起放入一个新创建的验证环境中,例如Combined_Env Group。
本实施例通过设置加载合并控件,支持用户将当前环境与加载的环境合并为一个新的环境,以快速实现环境的合并并展示新的环境结构。
本申请实施例四提供一种验证环境的可视化搭建方法,用于方便高效地嵌入UVM验证环境,具体的,在其它任一实施例的基础上,所述交互控件还包括加载嵌入控件;相应的,方法还包括:
若当前交互界面中显示有表示第五环境的第五组件控件,则响应作用于所述加载嵌入控件的输入信号,调用在先存储的第六环境的第六环境文件,以在第五环境下添加第六环境;
在交互界面中的第五组件控件内,显示表示第六环境的第六组件控件。
具体的,当用户希望在当前环境下加入某个指定环境时,可以对加载嵌入控件执行预定的输入信号(例如,鼠标左键单击,触控短时按压等),以调用指定环境的环境文件,并嵌入在当前环境下将其作为新的环境下的环境组件和连接。结合图4进行示例说明,图中的Load & Insert即为加载嵌入控件。实际应用中,通过Load & Insert可以将指定环境嵌入至当前UI所示的环境下作为其环境组件。
本实施例通过设置加载嵌入控件,支持用户将指定环境嵌入至当前UI所示的环境下作为其环境组件,以快速实现环境的嵌入并展示新的环境结构。
本申请实施例五提供的一种验证环境的可视化搭建方法,用于方便高效地融合UVM验证环境,具体的,在其它任一实施例的基础上,所述交互控件还包括加载融合控件;相应的,方法还包括:
若当前交互界面中显示有表示第七环境的第七组件控件,则响应作用于所述加载融合控件的输入信号,调用在先存储的第八环境的环境文件;
根据第七环境和第八环境的环境文件,创建第七环境、第八环境和第九环境,其中,第七环境和第八环境为第九环境的下一级环境组件;
在交互界面中显示表示第九环境的第九组件控件,所述第九组件控件内显示有第七环境和第八环境对应的组件控件。
具体的,当用户希望在当前环境与其它指定环境进行集成时,可以对加载融合控件执行预定的输入信号(例如,鼠标左键单击,触控短时按压等),以调用指定环境的环境文件,并将独立的当前环境与指定环境作为一个环境集合。结合图4进行示例说明,图中的Load & Merge即为加载融合控件。实际应用中,通过Load & Merge可以将指定环境与当前UI所示的环境组成一个环境组合。
其中,上述在先存储的第三环境文件,第六环境文件和第八环境文件可以是模板库中预先设置的文件,也可以是用户指定路径下的文件,本公开对此不做限制。
本实施例通过设置加载融合控件,支持用户将指定环境与当前UI所示的环境组成一个环境组合,以快速实现环境的组合并展示新的环境结构。
通过上述方案,允许用户在当前UI中搭建任意一个层级的环境组件,无论是env、agent或是基本类层级,最终的UVM验证环境可以通过和其它环境组件的组合而成。也允许不同的环境之间直接进行合并、嵌入和融合,可以批处理组件,省去重复性的操作。使得组件复用的功能和灵活性被增强,验证环境搭建的效率可以大大提高。
图10为本申请实施例六提供的一种验证环境的可视化搭建装置的结构示意图,参照图10所示,本实施例提供一种验证环境的可视化搭建装置用于方便高效地搭建UVM验证环境,具体的,该装置10包括:
显示器11,用于显示交互界面和交互控件,其中,所述交互控件包括输出控件,所述交互界面中包括以下至少一种:表示环境组件的组件控件、表示连接的连接控件、以及空白界面;
处理器12,用于响应作用于交互界面的输入信号,通过调用相应的环境文件,执行对环境元素的操作处理,并在交互界面中显示相应的组件控件和/或连接控件;其中,所述环境元素包括各级环境组件和/或连接,所述操作处理包括创建和/或配置,每个环境组件的下一级环境组件对应的组件控件位于该每个环境组件对应的组件控件内;
处理器12,还用于响应作用于输出控件的输入信号,根据当前交互界面对应的环境文件,搭建验证环境。
实际应用中,该可视化搭建装置可以为应用软件,也可以为存储有相关计算机程序的介质,例如,U盘等;或者,该智能卡数据写入装置还可以为集成或安装有相关计算机程序的实体装置,例如,芯片、智能终端、电脑等。
结合实际场景举例来说:显示器11可以为如前述实施例中所述的显示设备,用于提供用户可视的交互界面和交互控件。响应作用于显示器的输入信号,相应的处理流程可以由处理器12(例如,芯片、电脑主机、服务器等)执行完成,处理结果反馈至显示器11上展示。
在一种实施方式中,用于方便高效地执行对验证环境中环境组件的创建,具体的,在其它任一实施方式的基础上,处理器12,具体用于响应作用于第一环境组件对应的组件控件内空白界面的输入信号,显示组件创建选项,所述组件创建选项包括以下至少一种:环境创建选项、代理创建选项、驱动器创建选项、编辑器创建选项、监控器创建选项、参考模型创建选项、计分板创建选项;处理器12,还具体用于响应作用于组件创建选项的输入信号,通过调用相应的组件用例并实例化生成相应的环境文件,创建环境组件,并控制显示器11显示创建的环境组件对应的组件控件。
本实施方式中,通过在组件控件内的空白界面中执行输入信号,响应于该操作提供组件创建选项,进一步响应于作用于组件创建选项的输入信号,通过调用预先编写的环境组件的环境文件,从而快速方便地实现环境组件的创建,并直观地在交互界面中展示能够反映验证环境结构的组件控件。
在一种实施方式中,用于方便高效地执行对验证环境中环境组件的配置,具体的,在其它任一实施方式的基础上,处理器12,具体用于响应作用于第二环境组件对应的组件控件的输入信号,显示组件配置选项,所述组件配置选项包括以下至少一种:外观配置选项、属性配置选项;处理器12,还具体用于响应作用于组件配置选项的输入信号,通过对第二环境组件的环境文件中与该组件配置选项对应的字段进行更新,执行对第二环境组件的配置;显示器11,具体用于在交互界面中更新显示该经过配置的第二环境组件对应的组件控件。
具体的,处理器12监测到作用于某环境组件对应的组件控件的输入信号时,响应于该输入信号,调用组件配置选项的相关文件,以在显示器11提供的交互界面中展示组件配置选项。后续,若处理器12进一步监测到作用于组件配置选项的输入信号,则执行对该环境组件的组件配置。
本实施方式中,通过对组件控件执行输入信号,响应于该操作提供组件配置选项,进一步响应于作用于组件配置选项的输入信号,通过调用环境组件的环境文件并对相关字段进行更新,从而快速方便地实现环境组件的配置,并支持用户查看和定义环境组件的外观和属性。
在一种实施方式中,用于方便高效地执行对验证环境中连接的创建,具体的,在其它任一实施方式的基础上,处理器12,具体用于响应作用于第三环境组件对应的组件控件的输入信号,显示端口创建选项;响应作用于端口创建选项的输入信号,通过调用并在第三环境组件的环境文件的类定义中声明,以创建第三环境组件的端口,并在显示器11显示创建的该第三环境组件的端口对应的图形控件;处理器12,还具体用于响应作用于两端口对应的图形控件之间的拖拽操作,通过调用连接用例并实例化生成相应的环境文件,创建所述两端口之间的第一连接,并在显示器11显示第一连接对应的连接控件。
具体的,处理器12监测到作用于某环境组件对应的组件控件的输入信号时,响应于该输入信号,调用端口创建选项的相关文件,以在显示器11提供的交互界面中展示端口创建选项。后续,若处理器12进一步监测到作用于端口创建选项的输入信号,则执行相应的端口创建,其中创建的该端口为当前环境组件的端口,并将被创建端口的图形控件展示在显示器11提供的交互界面中。
本实施方式中,通过对组件控件执行输入信号,创建当前环境组件的端口,后续通过两端口之间执行拖拽操作,从而快速方便地实现连接的创建,并在交互界面中展示,从而提高环境搭建的效率。
在一种实施方式中,用于方便高效地执行对验证环境中连接的配置,具体的,在其它任一实施方式的基础上,处理器12,具体用于响应作用于第二连接对应的图形控件的输入信号,显示连接配置窗口,所述连接配置窗口提供以下至少一种连接属性选项:起始端口属性、目标端口属性、传输数据属性、连接类型属性;处理器12,还具体用于响应作用于连接属性选项的输入信号,通过对第二连接的环境文件中与该连接属性选项对应的字段进行更新,执行对第二连接的配置;显示器11,还用于在交互界面中更新显示该经过配置的第二连接对应的连接控件。
具体的,处理器12监测到作用于某连接的连接控件的输入信号时,响应于该输入信号,在显示器11提供的交互界面中展示连接配置窗口。后续处理器12监测到作用于连接配置窗口的输入信号,则执行相应的对该连接的配置。
本实施方式中,通过对连接控件执行输入信号,响应于该操作提供连接配置窗口,进一步响应于作用于连接配置窗口的输入信号,通过调用连接的环境文件并对相关字段进行更新,从而快速方便地实现连接的配置。
此外,在一种实施方式中,用于方便高效地执行对验证环境中传输数据属性的创建和配置,具体的,在其它任一实施方式的基础上,处理器12,还用于响应作用于所有组件控件以外的空白界面的输入信号,显示事务创建选项;处理器12,还用于响应作用于事务创建选项的输入信号,通过调用相应的事务文件,创建事务;显示器11,还用于显示创建的该事务对应的事务控件。
可选的,在上述实施方式的基础上,处理器12,还用于响应作用于事务对应的事务控件与某环境组件的第一端口对应的图形控件之间的拖拽操作,通过调用该第一端口的环境文件并将其传输数据属性对应的字段替换为该事务的环境文件,执行将该事务配置给该环境组件的第一端口;显示器11,还用于显示自事务控件指向第一端口的第三连接对应的连接控件。
具体的,处理器12监测到作用于所有组件控件以外的空白界面的输入信号时,响应于该输入信号,调用事务创建选项的相关文件,以在显示器11提供的交互界面中展示事务创建选项。后续,若处理器12进一步监测到作用于事务创建选项的输入信号,则执行表示相应传输数据属性的事务创建,并将被创建事务的事务控件展示在显示器11提供的交互界面中。后续通过建立事务控件与环境组件的端口之间的连接,实现对该环境组件的端口的传输数据属性的配置。
本实施方式中,通过对组件控件以外的空白界面执行输入信号,创建事务对应的事务控件,后续通过建立事务控件至环境组件端口之间的连接,从而快速灵活地实现传输数据属性的配置。
本实施例提供的验证环境的可视化搭建方法,提供可视化的交互界面和交互控件,所述交互界面可显示组件控件、连接控件、以及空白界面中的至少一种。基于上述可视化平台,用户可以执行输入信号,以使后台响应用户的输入信号,通过调用预先建立的环境文件,执行验证环境搭建所需的功能处理,从而无需用户手动编写代码,提高开发效率。
实际应用中,还会涉及UVM验证环境和环境组件的替换和合并。对此,本申请也提供了相关的技术方案。具体结合以下实施例进行说明,可以理解,以下实施例可以单独实施也可以结合实施。
本申请实施例七提供一种验证环境的可视化搭建装置,用于方便高效地加载UVM验证环境,具体的,在其它任一实施例的基础上,所述交互控件还包括加载控件;相应的,处理器12,还用于响应作用于所述加载控件的输入信号,通过调用指定的第一环境文件,创建第一环境,并控制显示器11在第一环境对应的第一组件控件内显示第一环境下各环境组件和/或连接对应的组件控件和/或连接控件。
本实施例通过设置加载控件,支持用户加载指定的环境文件,以快速创建环境并展示环境结构。
本申请实施例八提供一种验证环境的可视化搭建装置,用于方便高效地合并UVM验证环境,具体的,在其它任一实施例的基础上,所述交互控件还包括加载合并控件;相应的,处理器12,还用于若当前交互界面中存在表示第二环境的第二组件控件,则响应作用于所述加载合并控件的输入信号,调用在先存储的第三环境的第三环境文件;处理器12,还用于根据第二环境和第三环境的环境文件,提取出第二环境和第三环境下的环境组件和/或连接,作为第四环境下的环境组件和/或连接,以创建所述第四环境;处理器12,还用于清除交互界面中显示的第二组件控件,并指示所述显示器显示表示第四环境的第四组件控件,所述第四组件控件内显示有第四环境下各环境组件和/或连接对应的组件控件和/或连接控件。
本实施例通过设置加载合并控件,支持用户将当前环境与加载的环境合并为一个新的环境,以快速实现环境的合并并展示新的环境结构。
本申请实施例九提供一种验证环境的可视化搭建装置,用于方便高效地嵌入UVM验证环境,具体的,在其它任一实施例的基础上,所述交互控件还包括加载嵌入控件;相应的,处理器12,还用于若当前交互界面中显示有表示第五环境的第五组件控件,则响应作用于所述加载嵌入控件的输入信号,调用在先存储的第六环境的第六环境文件,以在第五环境下添加第六环境;显示器11,还用于在交互界面中的第五组件控件内,显示表示第六环境的第六组件控件。
本实施例通过设置加载嵌入控件,支持用户将指定环境嵌入至当前UI所示的环境下作为其环境组件,以快速实现环境的嵌入并展示新的环境结构。
本申请实施例十提供一种验证环境的可视化搭建装置,用于方便高效地融合UVM验证环境,具体的,在其它任一实施例的基础上,所述交互控件还包括加载融合控件;相应的,处理器12,还用于若当前交互界面中显示有表示第七环境的第七组件控件,则响应作用于所述加载融合控件的输入信号,调用在先存储的第八环境的环境文件;处理器12,还用于根据第七环境和第八环境的环境文件,创建第七环境、第八环境和第九环境,其中,第七环境和第八环境为第九环境的下一级环境组件;显示器11,还用于在交互界面中显示表示第九环境的第九组件控件,所述第九组件控件内显示有第七环境和第八环境对应的组件控件。
本实施例通过设置加载融合控件,支持用户将指定环境与当前UI所示的环境组成一个环境组合,以快速实现环境的组合并展示新的环境结构。
图11为本申请实施例十一提供的验证环境的可视化搭建装置的硬件结构示意图。如图11所示,本实施例的验证环境的可视化搭建装置120包括:处理器1201以及存储器1202;其中
存储器1202,用于存储计算机程序;
处理器1201,用于执行存储器存储的计算机程序,以实现上述实施例中的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器1202既可以是独立的,也可以跟处理器1201集成在一起。当存储器1202独立设置时,该验证环境的可视化搭建装置还包括总线1203,用于连接所述存储器1202和处理器1201。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当处理器执行所述计算机程序时,实现如上所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部装置互连(Peripheral Component,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储装置或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子装置或主控装置中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (13)
1.一 种验证环境的可视化搭建装置,其特征在于,所述装置包括显示器和处理器,其中:
所述显示器,用于显示交互界面和交互控件,其中,所述交互控件包括输出控件,所述交互界面中包括以下至少一种:表示环境组件的组件控件、表示连接的连接控件、以及空白界面;
所述处理器,用于响应作用于交互界面的输入信号,通过调用相应的环境文件,执行对环境元素的操作处理,并在交互界面中显示相应的组件控件和/或连接控件;其中,所述环境元素包括各级环境组件和/或连接,所述操作处理包括创建和/或配置,每个环境组件的下一级环境组件对应的组件控件位于该每个环境组件对应的组件控件内;
所述处理器,还用于响应作用于输出控件的输入信号,根据当前交互界面对应的环境文件,搭建验证环境;
其中,所述处理器,具体用于响应作用于第三环境组件对应的组件控件的输入信号,显示端口创建选项;响应作用于端口创建选项的输入信号,通过调用并在第三环境组件的环境文件的类定义中声明,以创建第三环境组件的端口,并在所述显示器显示创建的该第三环境组件的端口对应的图形控件;
所述处理器,还具体用于响应作用于创建的任意两端口对应的图形控件之间的拖拽操作,通过调用连接用例并实例化生成相应的环境文件,创建所述两端口之间的第一连接,并在所述显示器显示第一连接对应的连接控件。
2.根据权利要求1所述的装置,其特征在于,所述交互控件还包括加载控件;
所述处理器,还用于响应作用于所述加载控件的输入信号,通过调用指定的第一环境文件,创建第一环境,并控制所述显示器在第一环境对应的第一组件控件内显示第一环境下各环境组件和/或连接对应的组件控件和/或连接控件。
3.根据权利要求1所述的装置,其特征在于,所述交互控件还包括加载合并控件;
所述处理器,还用于若当前交互界面中存在表示第二环境的第二组件控件,则响应作用于所述加载合并控件的输入信号,调用在先存储的第三环境的第三环境文件;
所述处理器,还用于根据第二环境和第三环境的环境文件,提取出第二环境和第三环境下的环境组件和/或连接,作为第四环境下的环境组件和/或连接,以创建所述第四环境;
所述处理器,还用于清除交互界面中显示的第二组件控件,并指示所述显示器显示表示第四环境的第四组件控件,所述第四组件控件内显示有第四环境下各环境组件和/或连接对应的组件控件和/或连接控件。
4.根据权利要求1所述的装置,其特征在于,所述交互控件还包括加载嵌入控件;
所述处理器,还用于若当前交互界面中显示有表示第五环境的第五组件控件,则响应作用于所述加载嵌入控件的输入信号,调用在先存储的第六环境的第六环境文件,以在第五环境下添加第六环境;
所述显示器,还用于在交互界面中的第五组件控件内,显示表示第六环境的第六组件控件。
5.根据权利要求1所述的装置,其特征在于,所述交互控件还包括加载融合控件;
所述处理器,还用于若当前交互界面中显示有表示第七环境的第七组件控件,则响应作用于所述加载融合控件的输入信号,调用在先存储的第八环境的环境文件;
所述处理器,还用于根据第七环境和第八环境的环境文件,创建第七环境、第八环境和第九环境,其中,第七环境和第八环境为第九环境的下一级环境组件;
所述显示器,还用于在交互界面中显示表示第九环境的第九组件控件,所述第九组件控件内显示有第七环境和第八环境对应的组件控件。
6.根据权利要求1-5中任一项所述的装置,其特征在于,
所述处理器,具体用于响应作用于第一环境组件对应的组件控件内空白界面的输入信号,显示组件创建选项,所述组件创建选项包括以下至少一种:环境创建选项、代理创建选项、驱动器创建选项、编辑器创建选项、监控器创建选项、参考模型创建选项、计分板创建选项;
所述处理器,还具体用于响应作用于组件创建选项的输入信号,通过调用相应的组件用例并实例化生成相应的环境文件,创建环境组件,并控制所述显示器显示创建的环境组件对应的组件控件。
7.根据权利要求1-5中任一项所述的装置,其特征在于,
所述处理器,具体用于响应作用于第二环境组件对应的组件控件的输入信号,显示组件配置选项,所述组件配置选项包括以下至少一种:外观配置选项、属性配置选项;
所述处理器,还具体用于响应作用于组件配置选项的输入信号,通过对第二环境组件的环境文件中与该组件配置选项对应的字段进行更新,执行对第二环境组件的配置;
所述显示器,具体用于在交互界面中更新显示经过配置的第二环境组件对应的组件控件。
8.根据权利要求1-5中任一项所述的装置,其特征在于,
所述处理器,具体用于响应作用于第二连接对应的图形控件的输入信号,显示连接配置窗口,所述连接配置窗口提供以下至少一种连接属性选项:起始端口属性、目标端口属性、传输数据属性、连接类型属性;
所述处理器,还具体用于响应作用于连接属性选项的输入信号,通过对第二连接的环境文件中与该连接属性选项对应的字段进行更新,执行对第二连接的配置;
所述显示器,还用于在交互界面中更新显示经过配置的第二连接对应的连接控件。
9.根据权利要求1-5中任一项所述的装置,其特征在于,
所述处理器,还用于响应作用于所有组件控件以外的空白界面的输入信号,显示事务创建选项;
所述处理器,还用于响应作用于事务创建选项的输入信号,通过调用相应的事务文件,创建事务;
所述显示器,还用于显示创建的该事务对应的事务控件。
10.根据权利要求9所述的装置,其特征在于,
所述处理器,还用于响应作用于事务对应的事务控件与某环境组件的第一端口对应的图形控件之间的拖拽操作,通过调用该第一端口的环境文件并将其传输数据属性对应的字段替换为该事务的环境文件,执行将该事务配置给该环境组件的第一端口;
所述显示器,还用于显示自事务控件指向第一端口的第三连接对应的连接控件。
11.一种验证环境的可视化搭建方法,应用于验证环境的可视化搭建装置,其特征在于,包括:
显示器显示交互界面和交互控件,其中,所述交互控件包括输出控件,所述交互界面中包括以下至少一种:表示环境组件的组件控件、表示连接的连接控件、以及空白界面;
处理器响应作用于交互界面的输入信号,通过调用相应的环境文件,执行对环境元素的操作处理,并在交互界面中显示相应的组件控件和/或连接控件;其中,所述环境元素包括各级环境组件和/或连接,所述操作处理包括创建和/或配置,每个环境组件的下一级环境组件对应的组件控件位于该每个环境组件对应的组件控件内;
处理器响应作用于输出控件的输入信号,根据当前交互界面对应的环境文件,搭建验证环境;
其中,所述响应作用于交互界面的输入信号,通过调用相应的环境文件,执行对连接的创建,并在交互界面中显示相应的连接控件,具体包括:
响应作用于第三环境组件对应的组件控件的输入信号,显示端口创建选项;响应作用于端口创建选项的输入信号,通过调用并在第三环境组件的环境文件的类定义中声明,以创建第三环境组件的端口,并显示创建的该第三环境组件的端口对应的图形控件;
响应作用于创建的任意两端口对应的图形控件之间的拖拽操作,通过调用连接用例并实例化生成相应的环境文件,创建所述两端口之间的第一连接,并显示第一连接对应的连接控件。
12.一种验证环境的可视化搭建装置,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;
所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如权利要求11所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当处理器执行所述计算机程序时,实现如权利要求11所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911372371.1A CN110765028B (zh) | 2019-12-27 | 2019-12-27 | 验证环境的可视化搭建方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911372371.1A CN110765028B (zh) | 2019-12-27 | 2019-12-27 | 验证环境的可视化搭建方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110765028A CN110765028A (zh) | 2020-02-07 |
CN110765028B true CN110765028B (zh) | 2020-06-09 |
Family
ID=69341580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911372371.1A Active CN110765028B (zh) | 2019-12-27 | 2019-12-27 | 验证环境的可视化搭建方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765028B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527723A (zh) * | 2020-12-16 | 2021-03-19 | 广州昂瑞微电子技术有限公司 | 一种基于uvm的spi验证平台及验证方法 |
CN115455877B (zh) * | 2022-11-09 | 2023-03-21 | 芯耀辉科技有限公司 | 一种验证平台生成装置、方法、介质及电子设备 |
CN117369906B (zh) * | 2023-12-07 | 2024-02-09 | 成都市楠菲微电子有限公司 | Pcie验证平台、方法、装置、存储介质及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268310B (zh) * | 2014-09-05 | 2017-08-29 | 浪潮集团有限公司 | 使用专用图形界面调用uvm验证环境的方法 |
US10467038B2 (en) * | 2016-02-12 | 2019-11-05 | Nutanix, Inc. | Alerts notifications for a virtualization environment |
CN108038294B (zh) * | 2017-12-06 | 2022-01-11 | 北京小米松果电子有限公司 | Uvm环境搭建方法和*** |
-
2019
- 2019-12-27 CN CN201911372371.1A patent/CN110765028B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110765028A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765028B (zh) | 验证环境的可视化搭建方法、装置及存储介质 | |
US9501596B2 (en) | Graphical design verification environment generator | |
US8806429B2 (en) | Dynamic generation of formatted user interfaces in software environments | |
US20020109722A1 (en) | System and method for performing type checking for hardware device nodes in a graphical program | |
US20060293768A1 (en) | System and Method for Accessing Registers of a Hardware Device in a Graphical Program | |
US20170242780A1 (en) | Graphical Sequence Builder | |
US8527254B2 (en) | Simulator engine development system and simulator engine development method | |
CN112364496B (zh) | 基于html5和vue技术的航电仿真面板生成*** | |
US7337407B1 (en) | Automatic application programming interface (API) generation for functional blocks | |
CN115495069A (zh) | 基于模型驱动的煤炭工业软件流程实现方法、装置及设备 | |
CN115687237A (zh) | 流水线cpu架构图的绘制方法及设备和介质和程序 | |
CN117369811A (zh) | 监控***软件界面生成方法、装置和存储介质 | |
JP5289851B2 (ja) | データ管理装置、データ管理方法、プログラムおよびコンピュータ読み取り可能な記録媒体 | |
CN108062298A (zh) | 图表数据生成方法、装置及可读存储介质 | |
JP2021082031A (ja) | プログラム作成支援装置 | |
EP0377273A2 (en) | Space management system incorporating a software-operating environment | |
JP7380376B2 (ja) | 情報処理装置およびラダープログラムを表示するためのプログラム | |
CN107561950B (zh) | 楼宇中控制器的编程方法及提供控制器编程工具的服务器 | |
CN116204267B (zh) | 知识产权流程表单的生成方法及装置 | |
CN117574840B (zh) | 一种异构集成pdk代码自动生成工具架构及其使用方法 | |
van der Wolf et al. | An enhanced flow model for constraint handling in hierarchical multi-view design environments | |
CN115525262A (zh) | 命令的执行方法及装置、非易失性存储介质、处理器 | |
Wu et al. | Intelligent Software Testing based on Visual Feedback | |
CN117971194A (zh) | 一种在低代码平台中实现可编辑表格的方法 | |
CN114238072A (zh) | Hil需求设计方法、装置、计算机设备和存储介质 |
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 |