CN114169287B - 生成验证环境的连接示意图的方法、电子设备及存储介质 - Google Patents

生成验证环境的连接示意图的方法、电子设备及存储介质 Download PDF

Info

Publication number
CN114169287B
CN114169287B CN202111233941.6A CN202111233941A CN114169287B CN 114169287 B CN114169287 B CN 114169287B CN 202111233941 A CN202111233941 A CN 202111233941A CN 114169287 B CN114169287 B CN 114169287B
Authority
CN
China
Prior art keywords
connection
component
verification environment
components
under test
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
Application number
CN202111233941.6A
Other languages
English (en)
Other versions
CN114169287A (zh
Inventor
林党辉
黄世杰
黄武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinhuazhang Technology Co ltd
Original Assignee
Xinhuazhang Technology 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 Xinhuazhang Technology Co ltd filed Critical Xinhuazhang Technology Co ltd
Priority to CN202111233941.6A priority Critical patent/CN114169287B/zh
Publication of CN114169287A publication Critical patent/CN114169287A/zh
Application granted granted Critical
Publication of CN114169287B publication Critical patent/CN114169287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/12Symbolic schematics

Abstract

本公开提供一种生成验证环境的连接示意图的方法,包括:接收验证环境的描述,所述验证环境包括在多个层级中多个组件,所述多个层级的每一个中包括至少一个组件,所述多个组件的每个包括至少一个端口;初始化所述多个层级以确定所述多个层级的层级关系;连接所述多个组件的端口以确定所述多个组件之间的连接关系;以及根据所述层级关系和连接关系生成所述验证环境的连接示意图。本公开实施例不仅展示待测设备中多个模块间的连接关系,而且还可以展示验证环境中多个组件间的连接关系。本公开可帮助用户理解验证环境与待测设备的内部结构,可用于仿真测试、错误调试等方面,具有广泛的应用价值。

Description

生成验证环境的连接示意图的方法、电子设备及存储介质
技术领域
本公开实施例涉及逻辑系统设计技术领域,尤其涉及一种生成验证环境的连接示意图的方法、电子设备及存储介质。
背景技术
在集成电路的验证领域,仿真一般是指将逻辑系统设计进行编译之后在计算机或硬件仿真设备上运行,以对设计的各种功能进行仿真测试。设计可以是,例如,一个用SystemVerilog语言编写的验证环境。因此,在仿真中被测试或验证的逻辑系统设计又可以称为待测设备(Device Under Test,简称 DUT)。
通常,可以展示待测设备中多个模块间的连接关系。但是,这种连接关系在待测设备的边界就断了。也就是说,目前无法展示验证环境中多个组件间的连接关系,也无法展示验证环境与待测设备的连接。
发明内容
有鉴于此,本公开提出了一种在验证中追踪信号的方法、电子设备及存储介质。
本公开第一方面,提供了一种生成验证环境的连接示意图的方法,包括:接收验证环境的描述,所述验证环境包括在多个层级中多个组件,所述多个层级的每一个中包括至少一个组件,所述多个组件的每个包括至少一个端口;初始化所述多个层级以确定所述多个层级的层级关系;连接所述多个组件的端口以确定所述多个组件之间的连接关系;以及根据所述层级关系和连接关系生成所述验证环境的连接示意图。
本公开第二方面,提供了一种电子设备,包括:存储器,用于存储一组指令;以及至少一个处理器,配置为执行该组指令以进行如第一方面所述的方法。
本公开第三方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储电子装置的一组指令,该组指令用于使所述电子装置执行第一方面所述的方法。
本公开实施例不仅展示待测设备中多个模块间的连接关系,而且还可以展示验证环境中多个组件间的连接关系。本公开可帮助用户理解验证环境与待测设备的内部结构,可用于仿真测试、错误调试等方面,具有广泛的应用价值。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本公开实施例的主机的示意图。
图2A示出了根据本申请实施例的仿真工具的示意图。
图2B示出了根据本申请实施例的示例性设计的示意图。
图3A为根据本公开实施例的验证环境的连接示意图的示意图。
图3B为根据本公开实施例的待测设备与验证环境的连接示意图的示意图。
图3C为根据本公开实施例的目标信号的传播轨迹的示意图。
图4为根据本公开实施例的一种生成验证环境的连接示意图的方法的流程图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
仿真测试是在运行仿真测试系统的主机上对逻辑系统设计施加各种激励以检测逻辑系统设计是否可以实现预定的功能。
图1示出了根据本公开实施例的主机100的示意图。主机100可以是运行仿真系统的电子设备。如图1所示,主机100可以包括:处理器102、存储器104、网络接口106、外围接口108和总线110。其中,处理器102、存储器104、网络接口106和外围接口108通过总线110实现彼此之间在主机内部的通信连接。
处理器102可以是中央处理器(Central Processing Unit,CPU)、图像处理器、神经网络处理器(NPU)、微控制器(MCU)、可编程逻辑器件、数字信号处理器(DSP)、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路。处理器102可以用于执行与本公开描述的技术相关的功能。在一些实施例中,处理器102还可以包括集成为单一逻辑组件的多个处理器。如图1所示,处理器102可以包括多个处理器103A、103B和102c。
存储器104可以配置为存储数据(例如,指令集、计算机代码、中间数据等)。在一些实施例中,用于仿真测试设计的仿真测试系统可以是存储器 104中存储的计算机程序。如图1所示,存储器存储的数据可以包括程序指令(例如,用于实现本公开的仿真方法的程序指令)以及要处理的数据(例如,存储器可以存储在编译过程产生的临时代码)。处理器102也可以访问存储器存储的程序指令和数据,并且执行程序指令以对要处理的数据进行操作。存储器104可以包括易失性存储装置或非易失性存储装置。在一些实施例中,存储器104可以包括随机访问存储器(RAM)、只读存储器(ROM)、光盘、磁盘、硬盘、固态硬盘(SSD)、闪存、存储棒等。
网络接口106可以配置为经由网络向主机100提供与其他外部设备的通信。该网络可以是能够传输和接收数据的任何有线或无线的网络。例如,该网络可以是有线网络、本地无线网络(例如,蓝牙、WiFi、近场通信(NFC) 等)、蜂窝网络、因特网、或上述的组合。可以理解的是,网络的类型不限于上述具体示例。在一些实施例中,网络接口106可以包括任意数量的网络接口控制器(NIC)、射频模块、接收发器、调制解调器、路由器、网关、适配器、蜂窝网络芯片等的任意组合。
外围接口108可以配置为将主机100与一个或多个外围装置连接,以实现信息输入及输出。例如,外围装置可以包括键盘、鼠标、触摸板、触摸屏、麦克风、各类传感器等输入设备以及显示器、扬声器、振动器、指示灯等输出设备。
总线110可以被配置为在主机100的各个组件(例如处理器102、存储器104、网络接口106和外围接口108)之间传输信息,诸如内部总线(例如,处理器-存储器总线)、外部总线(USB端口、PCI-E总线)等。
需要说明的是,尽管上述主机架构仅示出了处理器102、存储器104、网络接口106、外围接口108和总线110,但是在具体实施过程中,该主机架构还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述主机架构中也可以仅包含实现本公开实施例方案所必需的组件,而不必包含图中所示的全部组件。
图2A示出了根据本申请实施例的仿真工具200的示意图。仿真工具200 可以是运行在主机100上的计算机程序。
在芯片设计领域,通常可以利用仿真工具对一个设计进行仿真。仿真工具例如可以是芯华章科技股份有限公司出品的GalaxSim仿真工具。图2A示出的示例性仿真工具200可以包括编译器120和仿真器220。编译器120可以将设计210编译为目标代码204,仿真器220可以根据目标代码204进行仿真,并将仿真结果206输出。例如,仿真工具200可以将仿真结果(例如,仿真波形图)经由图1的外围接口108输出到输出设备上(例如,显示在显示器上)。
在芯片设计中,对逻辑系统设计的测试也可以利用仿真工具200来实现。
图2B示出了根据本申请实施例的示例性设计210的示意图。
如图2B所示,在仿真工具200中进行仿真的设计210可以包括待测设备212和验证环境214。对待测设备212的测试需要利用验证环境214来向待测设备212提供激励信号(例如,输入216),而待测设备212则可以基于该激励信号生成相应的输出信号(例如,输出218)。在一些实施例中,设计210可以包含前述的待测设备212和验证环境214。这样,通过仿真工具200对设计210进行仿真,最终可以得到相应的测试结果,进而可以基于该测试结果判断待测设备212是否正确地实现了所需实现的功能。
待测设备212可以包括各类模块。每一个模块还可以进一步包括一个或多个子模块。通常,仿真工具200可以根据待测设备212的描述,生成待测设备212中各个模块的连接关系。
验证环境214可以是通过验证语言(例如,SystemVerilog、SystemC、 PSS语言等)搭建的用于测试待测设备212的测试平台(testbench)。验证环境214可以包括实现不同功能的多个组件。在一些实施例中,验证环境214 可以包括信号发生组件(Sequencer)2142、信号驱动组件(Driver)2144与信号采集组件(Monitor)2146。信号发生组件2142可以按照特定的序列发送激励信号。信号驱动组件2144可以将该激励信号转化成待测设备可接收的信号(例如,图2B中的输入216)同时按照特定的协议驱动待测设备212。信号采集组件2146可以收集从待测设备212返回的信号(例如,图2B中的输出218)并转交给验证环境214中的其他组件以做进一步处理。仿真工具 200可以根据验证环境中验证语言214的描述,生成验证环境中多个组件的连接关系。
由于验证环境214中的组件实际上是对验证语言的抽象,因此,很难在验证环境214中获取多个组件之间的连接关系。
在一些实施例中,验证环境214可以是UVM验证环境。UVM验证环境可以包括多个指令,例如,连接指令和层级指令。仿真工具200可以根据UVM 验证环境中连接指令(connectphase),生成UVM验证环境中多个组件的连接关系。连接指令是UVM在运行过程中的一个任务,用于根据用户指令(即,代码描述)将多个组件连接起来。例如,如以下的连接指令。
m_driver.seq_item_port.connect(m_sequencer.seq_item_export);
m_driver.vif=m_cfg.vif;
其中,m_driver代表信号驱动组件2144,m_sequencer代表信号发生组件2142,m_cfg代表接口组件2148,而.connect()则是连接命令。仿真工具 200可以通过分析第一行语句,确定信号驱动组件2144与信号发生组件2142 之间具有连接关系,更具体地,是信号驱动组件2144的seq_item_port与信号发生组件2142的seq_item_export进行了连接。通过分析第二行语句,确定信号驱动组件2144与接口组件2148之间具有连接关系,更具体地,是信号驱动组件2144的虚拟接口vif与接口组件2148的虚拟接口vif进行了连接。
然而,由于验证环境214中的组件数量也非常庞大,且这些组件的连接关系分散零乱、缺乏直观性,这就导致验证环境214中的连接关系在实际的分析中缺乏实用价值。因此,仿真工具200可以通过分析组件间的包含关系,以自上而下的方式将组件依次划分成一级组件、二级组件、三级组件等。其中,二级组件包含于一级组件中;三级组件包含于二级组件中,同级的组件不存在包含关系。
在一些实施例中,验证环境214可以是UVM验证环境。仿真工具200 可以根据UVM验证环境中层级指令(build phase),生成UVM验证环境中多个组件的层级关系。与连接指令类似,层级指令也是UVM在运行过程中的一个任务,用于根据用户指令(即,代码描述)赋予各个组件不同的层级。以下示出示例性的层级指令。
m_environment{m_agent};
m_agent{m_driver;m_sequencer;m_monitor};
其中,m_agent代表代理组件2141,m_environment代表环境组件2143, m_driver代表信号驱动组件2144,m_sequencer代表信号发生组件2142, m_monitor代表信号采集组件2146。仿真工具200可以通过分析第一行语句,确定代理组件2141包含于环境组件2143中;通过分析第二行语句,确定信号驱动组件2144、信号发生组件2142与信号采集组件2146包含于代理组件 2141。因此,仿真工具200可以将环境组件2143确定为一级组件,代理组件2141确定为二级组件,信号驱动组件2144、信号发生组件2142与信号采集组件2146确定为三级组件。
根据上述层级关系,图2B中的验证环境可以生成如图3A所示的验证环境的连接示意图。
图3A为根据本公开实施例的验证环境的连接示意图300的示意图。
如图3A所示,验证环境的连接示意图300可以包括:验证环境214、验证环境214中的多个组件,包括一级组件3222、二级组件3241与三级组件 3261-3263。其中,一级组件3222可以对应于图2B中的环境组件2143,二级组件3241可以对应于图2B中的代理组件2141,三级组件3261-3263可以分别对应于图2B中的信号采集组件2146、信号发生组件2142与信号驱动组件2144。可以理解的是,在一些实施例中,一级组件3222可以就是验证环境214。
由于验证环境214可以包含数以百万计的组件。因此,实际的验证环境的连接示意图300是非常庞杂的。仿真工具200可以根据验证环境的复杂程度优先展示一级组件与二级组件。在一些实施例中,当用户需要了解更具体的连接关系时,可以点击相关组件进一步获得该组件内部的下一级组件的连接关系。例如,若三级组件3265内部还包含若干四级组件(图3A中未画出),则用户可以点击三级组件3265,进一步获得这些四级组件间的连接关系。
为了更加清楚的展示各个组件(例如,一级组件3222、二级组件3241 与三级组件3261-3263)之间的关系,仿真工具200还需要分析出各个组件的连接方向。这种方向可以根据变量的命名方式、语句的动作等一系列算法分析得出。例如,从图2B中的实施例可知,信号驱动组件2144与信号发生组件2142之间具有连接关系。当仿真工具200分析验证环境的连接指令时(例如,连接指令m_driver.seq_item_port.connect(m_sequencer.seq_item_export),可以根据连接指令的格式进行分析。根据上述连接指令的格式,是从m_driver 连接到m_sequencer。因此,m_driver与m_sequencer的连接关系的方向是从 m_driver至m_sequencer的。也就是说,信号驱动组件2144与信号发生组件 2142的连接关系是从信号发生组件2142(图3A中的三级组件3262)至信号驱动组件2144(图3A中的三级组件3263)的。遵循从左至右的习惯,在图 3A中,对三级组件3262右侧与三级组件3263左侧分别画一个端口,并将两个端口以实线连接,从而反映上述从信号发生组件2142(图3A中的三级组件3262)至信号驱动组件2144(图3A中的三级组件3263)的连接关系。需要说明的是,不同的端口可以有不同的形状,例如图3A中,三级组件3262 右侧的端口是一个圆圈,而三级组件3263左侧的端口是一个方块,它们分别代表不同的含义,在图3C中有更详尽的描述。
因此,通过分析连接指令的格式还可以获取多个组件之间的连接方向。
由于实际工程中,验证环境214与待测设备212通常作为一个整体一起进行仿真测试、错误调试等。因此,在一些实施例中,仿真工具200不仅需要生成验证环境的连接示意图300,还需要生成待测设备的连接示意图以及待测设备与验证环境之间的连接示意图。
以下通过对图2B进行说明,从而引导出待测设备的连接示意图以及待测设备与验证环境之间的连接示意图。
回到图2B,如图2B所示,待测设备212可以包括各类模块。每一个模块还可以进一步包括一个或多个子模块。通常,仿真工具200可以根据待测设备212的描述,生成待测设备212中各个模块的连接关系。与验证环境214 类似,由于待测设备212中可能存在数以百万计的模块。因此,仿真工具200 可以对待测设备中的模块分为一级模块、二级模块、三级模块等。在一些实施例中,仿真器200可以通过实例化待测设备212生成待测设备212中的一级模块,并将这些一级模块以及其连接关系作为待测设备的连接示意图。
如图2B所示,输入216可以经由接口组件2148从验证环境214进入待测设备212,输出218可以经由接口组件2148从待测设备212进入到验证环境214。可以注意到的是,由于验证环境214是一个软件的环境,而待测设备212则是硬件的模拟,输入216和输出218并非直接的信号交换,而是数值的交换。
相应地,待测设备212和验证环境214之间的连接也并非电线或光缆等实体或其模拟,而是待测设备212与验证环境214之间的一种接口协议。这种接口协议可以通过验证语言实现。例如,用户可以预先在待测设备212中定义一个硬件接口(例如,图2B中的接口模块2122),并在验证环境214 中定义一个边缘端口(例如,图2B中的接口组件2148)。其中,该硬件接口用于接受外部激励。也就是说,该边缘端口与该硬件接口之间可以互相交换数值。该边缘端口与该硬件接口的结合就是一条接口协议。可以理解的是,同一个接口协议既可以支持数值(例如,图2B中的输入216)从验证环境 214到待测设备212,也可以支持信号(例如,图2B中的输出218)从待测设备212到验证环境214。需要注意的是,边缘端口(例如,图2B中的接口组件2148)一般是一级组件。在一些实施例中,验证环境214和待测设备212 之间的数值的传递可以通过虚拟接口来完成。
仿真工具200可以通过接口,确定待测设备212与验证环境214之间的连接关系。在一些实施例中,仿真工具200可以根据待测设备212中多个模块312之间的连接关系,获取待测设备中的至少一个接口模块。同时,仿真工具200可以获取验证环境214中存储的接口信息(例如,存储在一个表格中),并根据该接口信息,查找到与该至少一个接口模块分别对应的验证环境中的至少一个验证环境接口组件。可以理解的是,上述待测设备212与验证环境214预先约定好的接口协议也可以作为接口信息存储。
仿真工具200可以根据待测设备212的描述,绘制出待测设备的连接示意图,同时通过上述边缘端口与硬件接口的关系,并结合验证环境的连接示意图300,最终生成待测设备与验证环境的连接示意图。
图3B为根据本公开实施例的待测设备与验证环境的连接示意图330的示意图。
如图3B所示,待测设备与验证环境的连接示意图330还可以包括:待测设备212、待测设备212中的多个模块,包括一级模块3121-3124与二级模块3141-3142、以及待测设备212和验证环境214之间的多个接口 3301-3302。待测设备与验证环境的连接示意图330直观且清晰地展示待测设备212与验证环境214各自的内部连接关系以及之间的连接关系,在仿真设计以及调试中具有显著的应用价值。例如,在待测设备与验证环境的连接示意图330中,当用户选择某个目标信号后,仿真工具200可以根据待测设备与验证环境的连接示意图330进而确定该目标信号的传播轨迹。
图3C示出了根据本公开实施例的目标信号342的传播轨迹340的示意图。
目标信号342是在验证环境214的激励下由待测设备212产生的。在本申请中,为了描述方便,将从验证环境214的激励信号到待测设备212的目标信号342的产生过程称为目标信号342的传播轨迹。因此,目标信号342 存在一个传播轨迹340,至少包括与目标信号342的传播关联待测设备212 中的至少一个模块(例如,图3C中的一级模块3122、一级模块3124等)以及验证环境214中的至少一个组件(例如,图3C中的信号发生组件3262、信号驱动组件3263等)。与目标信号342传播关联的模块或组件可以是由目标信号342直接或间接驱动的模块或组件。在一些实施例中,与目标信号342 传播关联的模块或组件可以是改变目标信号342的值的模块或组件。可以理解的是,目标信号342在经过模块或组件之后可能以另一个信号在验证环境 214或待测设备212中传播。
在一些实施例中,仿真工具200可以根据待测设备212中多个模块(例如,图3B中的一级模块3121-3124与二级模块3141-3142)的连接关系,对用户选择的目标信号(例如,图3C中的目标信号342)进行追踪,并确定目标信号342在待测设备212中的传播轨迹(例如,目标信号342从一级模块 3124至一级模块3122)。当追踪目标信号至待测设备212的边界(例如,图 3C中的二级模块3141)时,仿真工具200可以找到待测设备212中的接口模块3302,并通过验证环境中的接口信息,进一步找到对应的验证环境中的验证环境接口组件3302。仿真工具200将验证环境接口组件3302作为目标信号在验证环境214中的起点,并结合多个组件(例如,图3B中的一级组件3222、二级组件3241~3243与三级组件3261-3266)的连接关系,在验证环境214中继续追踪目标信号,从而确定目标信号在验证环境214中的传播轨迹(例如,目标信号342从信号驱动组件3263至信号发生组件3262)。通过上述方式,目标信号342最终在待测设备212与验证环境214中可以形成完整的传播轨迹(例如,目标信号342依次经过一级模块3124、一级模块 3122、接口3302、信号驱动组件3263以及信号发生组件3262)。
在一些实施例中,为了凸显目标信号的源头,可以在传播轨迹中标识与目标信号的源头对应的组件。如图3C所示,组件信号发生组件3262右侧的圆圈端口标识了信号发生组件3262为目标信号342的驱动。而方块端口所在的组件(例如,图3C中的信号采集组件3261)一般是目标信号342的负载。
在一些实施例中,当用户选中某一目标信号(例如,目标信号342)后,目标信号的传播轨迹可以被突出显示(例如,传播轨迹340所经过的模块或组件可以在图3B中的待测设备与验证环境的连接示意图330中高亮的突出显示)。
在另一些实施例中,为了节约资源,可以只生成局部的连接图,也就是只单独显示传播轨迹(例如,图3C的传播轨迹340)。也就是说,仿真工具 200并不需要完整的生成待测设备212或验证环境214的全部连接关系,而是直接根据待测设备212与验证环境214的描述,只生成与目标信号关联的组件或模块的连接关系,即目标信号的传播轨迹。在一些实施例中,传播轨迹340只显示目标信号342所经过的一级模块与一级组件。当用户需要进一步查看某个一级模块(一级模块3122)内部具体的传播轨迹时,可以点击该一级模块,进而显示该一级模块内部的传播轨迹。在一些实施例中,用户可以点击某一个端口(例如,图3C中信号驱动组件3263右侧的端口),那么,与该端口关联的组件或模块会被突出显示。
可以理解的是,待测设备与验证环境的连接示意图330除了可以确定用户输入的目标信号的传播轨迹,也可以显示用户输入的两个模块(或两个组件或一个模块加一个组件)间的连接关系。由于二者的技术手段类似,此处不再赘述。
图4为根据本公开实施例的一种生成验证环境的连接示意图的方法400 的流程图。该方法400可由仿真工具(例如,图2A所示的仿真工具200)实施。参照图4所示,该方法400可以包括如下步骤。
在步骤S410中,仿真工具200可以接收验证环境(例如,图3A中的验证环境214)的描述,该验证环境包括在多个层级中多个组件,该多个层级的每一个中包括至少一个组件(例如,图3C中的一级组件3222、二级组件 3241等),该多个组件的每个包括至少一个端口。在一些实施例中,该验证环境为UVM验证环境。
在步骤S420中,仿真工具200可以初始化该多个层级以确定该多个层级的层级关系。在一些实施例中,仿真工具200可以初始化该多个层级的每一个中的至少一个组件;以及确定每一个层级中的至少一个组件。在一些实施例中,确定该多个层级的层级关系进一步包括:根据层级指令(例如,“m_environment{m_agent}”)的描述,确定所述多个层级的层级关系。
在步骤S430中,仿真工具200可以连接该多个组件的端口以确定该多个组件之间的连接关系。在一些实施例中,仿真工具200可以利用连接指令来连接第一组件(例如,图3A中的三级组件3262)和第二组件(例如,图 3A中的三级组件3263),其中,确定该多个组件之间的连接关系进一步包括:读取连接指令中的连接命令(例如,“.connect()”)来确定该第一组件与该第二组件的连接关系,该连接关系至少包括端口的连接或连接的方向(图 3A中验证环境的连接示意图的连接方向为从左至右,例如,三级组件3262 与三级组件3263的连接方向是从三级组件3262至三级组件3263)。
在步骤S440中,仿真工具200可以根据该层级关系和该连接关系生成验证环境的连接示意图(例如,图3A中验证环境的连接示意图300)。
在一些实施例中,该多个层级包括顶层,该顶层包括一个顶层组件,该顶层组件包括边缘端口(例如,图3B中接口3301或接口3302的左侧端口),该方法进一步包括:仿真工具200可以接收与该验证环境对应的待测设备 (DUT)的描述,该待测设备包括多个模块以及用于接收外部激励的硬件接口(例如,图3B中接口3301或接口3302的右侧端口)。实例化该待测设备。根据该验证环境中边缘端口与该待测设备的硬件接口的连接,在该连接示意图中生成该验证环境与该待测设备的连接。在一些实施例中,仿真工具 200可以响应于在该连接示意图中选择一目标信号,突出显示该目标信号线连接的驱动或负载,其中,该驱动是该验证环境的一个组件;响应于在该连接示意图中选择该验证环境的一个组件,进一步显示该组件内部的子组件的连接;或响应于在该连接示意图中选择该验证环境的一个端口,进一步显示驱动该端口的组件。
需要说明的是,本公开的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
本公开实施例还提供了一种电子设备,包括存储器,用于存储一组指令;以及至少一个处理器,配置为执行改组指令以使得所述计算装置执行本公开实施例提供的基于GUI界面显示属性的方法。
本公开实施例还提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使所述计算机执行本公开实施例提供的基于GUI界面显示属性的方法。
上述对本公开的一些实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开的不同方面的许多其它变化,为了简明它们没有在细节中提供。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM)) 可以使用所讨论的实施例。
本公开旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (9)

1.一种生成验证环境的连接示意图的方法,包括:
接收所述验证环境的描述,所述验证环境包括在多个层级中的多个组件,所述多个层级的每一个中包括至少一个组件,所述多个组件的每个包括至少一个端口,所述验证环境用于向待测设备提供激励信号;
初始化所述多个层级以确定所述多个层级的层级关系;
连接所述多个组件的端口以确定所述多个组件之间的连接关系;以及
根据所述层级关系和所述连接关系生成所述验证环境的图形化连接示意图,其中,所述多个层级包括顶层,所述顶层包括一个顶层组件,所述顶层组件包括第一边缘端口和第二边缘端口,所述方法进一步包括:
接收与所述验证环境对应的所述待测设备的描述,所述待测设备包括多个模块以及用于接收所述激励信号的第一硬件接口和第二硬件接口;
实例化所述待测设备;以及
根据所述验证环境中所述第一边缘端口和所述第二边缘端口与所述待测设备的所述第一硬件接口和所述第二硬件接口的连接,在所述连接示意图中分别生成所述验证环境与所述待测设备的第一图形连接和第二图形连接。
2.如权利要求1所述的方法,其中,连接所述多个组件的端口进一步包括:
利用连接指令来连接第一组件和第二组件,其中,确定所述多个组件之间的连接关系进一步包括:
读取连接指令中的连接命令来确定所述第一组件与所述第二组件的连接关系,所述连接关系包括端口的连接或连接的方向。
3.如权利要求1所述的方法,其中,初始化所述多个层级进一步包括:
初始化所述多个层级的每一个中的至少一个组件;以及
确定每一个层级中的至少一个组件。
4.如权利要求1所述的方法,其中,所述验证环境为UVM验证环境。
5.如权利要求1所述的方法,其中,确定所述多个层级的层级关系进一步包括:
根据层级指令的描述,确定所述多个层级的层级关系。
6.如权利要求1所述的方法,进一步包括:
响应于在所述连接示意图中选择一目标信号,突出显示所述目标信号连接的驱动或负载,其中,所述驱动是所述验证环境的一个组件;
响应于在所述连接示意图中选择所述验证环境的一个组件,进一步显示所述组件内部的子组件的连接;或
响应于在所述连接示意图中选择所述验证环境的一个端口,进一步显示驱动所述端口的组件。
7.如权利要求1所述的方法,进一步包括:
响应于在所述连接示意图中选择一目标信号,在所述连接示意图中突出显示所述目标信号的传播轨迹,其中,所述传播轨迹包括所述第一图形连接。
8.一种电子设备,包括:
存储器,用于存储一组指令;以及
至少一个处理器,配置为执行该组指令以进行如权利要求1至7任意一项所述的方法。
9.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使所述计算机执行权利要求1至7任意一项所述的方法。
CN202111233941.6A 2021-10-22 2021-10-22 生成验证环境的连接示意图的方法、电子设备及存储介质 Active CN114169287B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111233941.6A CN114169287B (zh) 2021-10-22 2021-10-22 生成验证环境的连接示意图的方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111233941.6A CN114169287B (zh) 2021-10-22 2021-10-22 生成验证环境的连接示意图的方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114169287A CN114169287A (zh) 2022-03-11
CN114169287B true CN114169287B (zh) 2022-10-18

Family

ID=80477202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111233941.6A Active CN114169287B (zh) 2021-10-22 2021-10-22 生成验证环境的连接示意图的方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114169287B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130318486A1 (en) * 2012-05-23 2013-11-28 Lawrence SASAKI Method and system for generating verification environments
US9501594B2 (en) * 2014-04-13 2016-11-22 Vtool Ltd. Graphical design verification environment generator
CN105912765B (zh) * 2016-04-07 2018-12-28 烽火通信科技股份有限公司 可复用的用于仿真环境集成的仿真组件及方法
CN107247859B (zh) * 2017-08-14 2018-11-02 深圳云天励飞技术有限公司 逻辑电路设计的验证方法、装置、电子设备及存储介质
CN108038294B (zh) * 2017-12-06 2022-01-11 北京小米松果电子有限公司 Uvm环境搭建方法和系统
CN112199911B (zh) * 2020-10-16 2023-07-04 飞腾信息技术有限公司 一种soc系统级验证环境的激励生成方法
CN113312879B (zh) * 2021-07-28 2021-11-09 北京燧原智能科技有限公司 芯片电路功能验证系统、方法、设备及存储介质

Also Published As

Publication number Publication date
CN114169287A (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
CN111931445B (zh) 用于调试逻辑系统设计的方法、仿真器及存储介质
US11200149B2 (en) Waveform based reconstruction for emulation
CN112287569B (zh) 用于仿真逻辑系统设计的方法、电子设备及存储介质
CN103678115B (zh) 在混合模式程序中检测源代码差错的位置的设备和方法
JP2018524652A (ja) エミュレーションのための効率的波形生成
CN114548027A (zh) 在验证系统中追踪信号的方法、电子设备及存储介质
CN112434478B (zh) 仿真逻辑系统设计的虚拟接口的方法及相关设备
CN112286750A (zh) 一种gpio验证方法、装置、电子设备和介质
US10387584B1 (en) Streaming on hardware-software platforms in model based designs
Goli et al. Automated design understanding of SystemC-based virtual prototypes: Data extraction, analysis and visualization
CN108628734A (zh) 一种功能程序调试方法和终端
CN113283203A (zh) 用于仿真逻辑系统设计的方法、电子设备及存储介质
CN114169287B (zh) 生成验证环境的连接示意图的方法、电子设备及存储介质
CN114328062B (zh) 校验缓存一致性的方法、装置和存储介质
CN113760751B (zh) 生成测试用例的方法、电子设备及存储介质
CN113947047B (zh) 用于验证待测设计的接口连接方法及相关设备
CN115688643A (zh) 仿真逻辑系统设计的方法、设备及存储介质
CN112232003B (zh) 对设计进行仿真的方法、电子设备及存储介质
CN112131806A (zh) 验证设计的编译方法、电子设备及存储介质
CN111858218A (zh) Fpga的amba总线接口调试方法、装置及fpga
CN116151187B (zh) 处理触发条件的方法、装置和存储介质
CN117933151A (zh) 仿真逻辑系统设计的方法、电子装置和存储介质
CN116861829B (zh) 用于定位逻辑系统设计中错误的方法、电子设备
CN115510782B (zh) 定位验证错误的方法、电子设备和存储介质
CN112989736B (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
GR01 Patent grant
GR01 Patent grant