CN117032886A - 一种前端验证的编译仿真方法、装置及电子设备 - Google Patents

一种前端验证的编译仿真方法、装置及电子设备 Download PDF

Info

Publication number
CN117032886A
CN117032886A CN202310983485.XA CN202310983485A CN117032886A CN 117032886 A CN117032886 A CN 117032886A CN 202310983485 A CN202310983485 A CN 202310983485A CN 117032886 A CN117032886 A CN 117032886A
Authority
CN
China
Prior art keywords
simulation
compiling
parameter
rule
script
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
CN202310983485.XA
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.)
Aixin Yuanzhi Semiconductor Ningbo Co ltd
Original Assignee
Aixin Yuanzhi Semiconductor Ningbo 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 Aixin Yuanzhi Semiconductor Ningbo Co ltd filed Critical Aixin Yuanzhi Semiconductor Ningbo Co ltd
Priority to CN202310983485.XA priority Critical patent/CN117032886A/zh
Publication of CN117032886A publication Critical patent/CN117032886A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种前端验证的编译仿真方法、装置及电子设备,所述方法可以构建公共脚本,获取编译仿真参数,其中,编译仿真参数包括头文件、用例名称、输出目录和仿真选项。再将编译仿真参数输入公共脚本,以生成规则脚本文件,并执行规则脚本文件,其中,规则脚本文件包括目标、依赖关系、编译命令和仿真命令。所述方法可以采用全脚本的方式,引入自主定义的针对编译仿真的公共脚本,通过为公共脚本传入编译仿真参数,即可实现规则脚本文件的自动生成和运行,减少重复的冗余工作量,解决前端设计验证维护困难、扩展性差的问题。

Description

一种前端验证的编译仿真方法、装置及电子设备
技术领域
本申请涉及编译仿真技术领域,尤其涉及一种前端验证的编译仿真方法、装置及电子设备。
背景技术
在前端设计中,主要包含设计和验证两部分,对于验证部分,需要验证工程师搭建相应的验证环境和测试用例,并在搭建完成后将所设计的代码进行编译和仿真,从而完成测试。对于代码的编译和仿真,可以通过编写makefile文件,makefile文件包含测试用例的编译和仿真参数,例如,输入输出目录、通用验证方法学(Universal VerificationMethodology,UVM)打印log的等级、VCS仿真命令的选项、对硬件描述和验证语法(systemverilog)的支持等。
然而,每一个测试用例均需要一个单独的makefile文件,验证工程师不仅需要维护验证环境,还需要同步更新每个测试用例的makefile文件,进而增大验证工程师的工作量,如果makefi l e文件出现编写错误,可能会误导验证工程师检查验证环境或者前端的设计代码,增加排错难度。并且如果测试用例发生变化(例如测试用例的名字),则必须同步更新makefile文件,降低验证效率。
发明内容
本申请提供一种前端验证的编译仿真方法、装置及电子设备,以解决前端设计验证维护困难、扩展性差的问题。
第一方面,本申请提供一种前端验证的编译仿真方法,包括:
构建公共脚本;
获取编译仿真参数,所述编译仿真参数包括头文件、用例名称、输出目录和仿真选项;
将所述编译仿真参数输入所述公共脚本,以生成规则脚本文件,所述规则脚本文件包括目标、依赖关系、编译命令和仿真命令;
执行所述规则脚本文件。
在可选的实施方式中,所述方法还包括:
创建初始脚本;
在所述初始脚本中定义编译仿真函数和输入参数,以构建公共脚本,所述编译仿真函数包括创建参数函数和解析规则函数。
在可选的实施方式中,所述方法还包括:
获取目标规则文件;
将所述目标规则文件输入所述公共脚本,以及基于所述解析规则函数解析所述目标规则文件,以获取编译仿真参数;
获取所述创建参数函数的输入参数;
根据所述输入参数和所述编译仿真参数生成规则脚本文件。
在可选的实施方式中,所述输入参数包括用例名称参数、仿真软件打开参数、清除仿真目录参数、仿真随机种子参数、随机数量参数、并行仿真数量参数、编译参数和目标仿真服务器参数,所述用例名称参数用于表征测试用例的名称,所述仿真软件打开参数用于表征打开仿真软件,所述清除仿真目录参数用于表征清除仿真目录,所述仿真随机种子参数用于表征仿真时的随机种子,所述随机数量参数用于表征随机的数量,所述并行仿真数量参数用于表征并行仿真的数量,所述编译参数用于表征是否编译,所述目标仿真服务器参数用于表征仿真的服务器。
在可选的实施方式中,所述方法还包括:
检测所述创建参数函数中输入参数的赋值状态;
如果所述赋值状态为未赋值,则将所述输入参数设置为默认值。
在可选的实施方式中,所述方法还包括:
获取目标拓展指令;
将所述目标拓展指令封装至所述公共脚本;
在执行所述规则脚本文件时,执行所述目标拓展指令对应的拓展操作。
在可选的实施方式中,执行所述规则脚本文件的步骤,所述方法还包括:
检测所述规则脚本文件的仿真类型;
如果所述仿真类型为只仿真不编译,则仿真所述规则脚本文件;
如果所述仿真类型为编译后仿真,则编译所述规则脚本文件,以及在编译后仿真所述规则脚本文件。
在可选的实施方式中,执行所述规则脚本文件的步骤之后,还包括:
获取所述规则脚本文件的执行结果;
根据所述执行结果生成编译仿真报告。
第二方面,本申请提供一种前端验证的编译仿真装置,包括脚本构建模块、参数获取模块、规则脚本文件生成模块和编译仿真模块,其中:
脚本构建模块,用于构建公共脚本;
参数获取模块,用于获取编译仿真参数,所述编译仿真参数包括头文件、用例名称、输出目录和仿真选项;
规则脚本文件生成模块,用于将所述编译仿真参数输入所述公共脚本,以生成规则脚本文件,所述规则脚本文件包括目标、依赖关系、编译命令和仿真命令;
编译仿真模块,用于执行所述规则脚本文件。
第三方面,本申请提供一种电子设备,包括:处理器、存储器和总线。所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的计算机程序指令,所述处理器被配置为:
构建公共脚本;
获取编译仿真参数,所述编译仿真参数包括头文件、用例名称、输出目录和仿真选项;
将所述编译仿真参数输入所述公共脚本,以生成规则脚本文件,所述规则脚本文件包括目标、依赖关系、编译命令和仿真命令;
执行所述规则脚本文件。
由以上技术方案可知,本申请提供一种前端验证的编译仿真方法、装置及电子设备,所述方法可以构建公共脚本,获取编译仿真参数,其中,编译仿真参数包括头文件、用例名称、输出目录和仿真选项。再将编译仿真参数输入公共脚本,以生成规则脚本文件,并执行规则脚本文件,其中,规则脚本文件包括目标、依赖关系、编译命令和仿真命令。所述方法可以采用全脚本的方式,引入自主定义的针对编译仿真的公共脚本,通过为公共脚本传入编译仿真参数,即可实现规则脚本文件的自动生成和运行,减少重复的冗余工作量,解决前端设计验证维护困难、扩展性差的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种编译仿真方法的流程示意图;
图2为本申请实施例提供的一种公共脚本的运行示意图;
图3为本申请实施例提供的生成规则脚本文件的流程示意图;
图4为本申请实施例提供的执行规则脚本文件的流程示意图;
图5为本申请实施例提供的电子设备的结构框图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的***和方法的示例。
在芯片前端设计的验证环节,需要验证工程师搭建相应的验证环境和测试用例,并在搭建完成后将所设计的代码进行编译和仿真,从而完成测试。对于代码的编译和仿真,可以通过编写makefile文件,makefile文件包含测试用例的编译和仿真参数,也就是说,makefile文件中定义一系列规则来指定需要先编译的文件、需要后编译的文件以及需要重新编译的文件等。
然而,每一个测试用例均需要一个单独的makefile文件,验证工程师不仅需要维护验证环境,还需要同步更新每个测试用例的makefile文件,进而增大验证工程师的工作量,如果makefile文件出现编写错误,可能会误导验证工程师检查验证环境或者前端的设计代码,增加排错难度。并且如果测试用例发生变化,则必须同步更新makefile文件,例如,测试用例的名字更改时,需要同步更新makefile文件,进而降低验证效率。
为了解决芯片前端设计验证维护困难、扩展性差的问题,本申请部分实施例提供一种编译仿真方法,所述编译仿真方法可以采用全脚本的方式,引入自主定义的针对编译仿真的公共脚本,通过为公共脚本传入编译仿真参数,实现规则脚本文件的自动生成和运行。需要说明的是,通过本申请提供的编译仿真方法,可以实现规则脚本文件的自动生成和运行,规则脚本文件可以是makefile文件,也可以是其他可实施的脚本文件,本申请实施例以makefile文件的生成和运行为例对编译仿真方法进行阐述。
如图1、图2所示,图1为本申请实施例提供的一种编译仿真方法的流程示意图,图2为本申请实施例提供的公共脚本的运行示意图,所述编译仿真方法包括如下步骤:
S100:构建公共脚本。
本申请实施例采用全脚本的方式,引入自主定义的编译仿真命令(xrules),即公共脚本。其中,公共脚本可以基于预设语言编写,本申请实施例对编写公共脚本的语言不作具体的限定,本领域技术人员可以根据实际情况进行调整。例如,python语言。
在构建公共脚本时,可以创建初始脚本,并基于预设语言在初始脚本中定义编译仿真函数和输入参数,以构建公共脚本。也就是说,公共脚本中包含针对编译仿真的相关函数和各类参数,用户只需要为公共脚本传入所需的编译仿真参数,即可实现makefile文件的自动生成和运行。
在一些实施例中,公共脚本中定义的编译仿真函数包括创建参数函数(create_by_args函数),用于创建公共脚本所需要用到的输入参数,包括用例名称参数、仿真软件打开参数、清除仿真目录参数、仿真随机种子参数、随机数量参数、并行仿真数量参数、编译参数和目标仿真服务器参数。其中,用例名称参数用于表征测试用例的名称,仿真软件打开参数用于表征打开仿真软件,清除仿真目录参数用于表征清除仿真目录,仿真随机种子参数用于表征仿真时的随机种子,随机数量参数用于表征随机的数量,并行仿真数量参数用于表征并行仿真的数量,编译参数用于表征是否编译,目标仿真服务器参数用于表征仿真的服务器。
其中,上述输入参数可通过预设语言字符表示,示例性的,公共脚本中的创建参数函数(create_by_args)创建的输入参数包括:
rules_file,用来指定测试用例的名称;
verdi,用来打开仿真软件,例如,Verdi软件;
clean,用来清除仿真目录;
rand_seed,用来指定仿真时的随机种子;
count,用来指定随机的数量;
max_job_hum,用来指定并行仿真的数量;
nocomp,用来选择是否进行编译;
quene,用来指定仿真用的服务器。
其中,上述输入参数的值在调用编译仿真命令(xrules)时直接从控制台输入,例如,xrules-rand_seed 815521473,表示指定编号为815521473的随机种子。对于没有赋值的可以使用默认值,即在后续生成规则脚本文件时,可以检测创建参数函数中输入参数的赋值状态,如果赋值状态为未赋值,则将输入参数设置为默认值。
S200:获取编译仿真参数。
其中,编译仿真参数为输入至公共脚本的参数,包括头文件、用例名称、输出目录和仿真选项。在一些实施例中,如图2、图3所示,编译仿真参数可以从用户维护的规则文件(rules文件)中解析得到,为了解析rules文件,公共脚本中定义的编译仿真函数包括解析规则函数(parse_rules函数),用于解析rules文件。即可以获取用户维护的目标规则文件,将目标规则文件输入公共脚本,以及基于解析规则函数解析目标规则文件,以获取编译仿真参数。
其中,rules文件包含仿真的目录、执行的测试用例的位置、指定的测试文件(testbench),例如,roles文件中的内容如下所示,表示测试用例(case)名称为random,输出目录为$OUTPUT_DIR/random,测试文件(testbench)为test_top:
-simv_workdir$OUTPUT_DIR/random
-simv+UVM_TESTNAME=test_top
-simv+DOM_CFG_FILE=$PROJ_DIR/random.case
可以理解是,用户只需要维护一个rules文件,即可实现makefile文件的自动生成和运行,并且rules文件中的数据内容较少,进而减少维护的工作量,提高验证效率。
S300:将编译仿真参数输入公共脚本,以生成规则脚本文件。
获取到编译仿真参数和公共脚本中创建参数函数的输入参数后,如图3所示,可以根据输入参数和编译仿真参数生成规则脚本文件,其中,规则脚本文件包括目标、依赖关系、编译命令和仿真命令。
例如,以上述rules文件作为输入为例,生成的makefile文件如下:
seed:815521473
vcs_workdir:=$(OUTPUT_DIR)/ip
simv_workdir:=$(OUTPUT_DIR)/ip/random/seed_$(seed)
all:vcs simv
vcs:
mkdir-p$(vcs_workdir)&&cd$(vcs_workdir)\
&&vcs-full64-sverilog-ntb_opts uvm-1.2-xlrm atox_context_width-debug_access+r-timescale=1ns/1ps-lca-kdb-partcomp=autopart_low+define+UVM_PACKER_MAX_BYTES=1500000+define+UVM_DISABLE_AUTO_ITEM_RECORDING+define+SYNOPSYS_SV+define+UVM_REG_BYTE_ADDRESSING_FIX+define+VCS-top tb_top-l vcs.log+notimingcheck+define+UVM_EVENT_CALLBACK_FIX -j16+rad-f filelist.f+vcs+lic+wait-fastpartcomp=j16
simv:
mkdir-p$(simv_workdir)&&cd$(simv_workdir)\
&&$(vcs_workdir)/simv-1simv.log+fsdb+autoflush-assert nopostproc+UVM_STACKTRACE+uvm_set_verbosity=uvm_test_top.env.axi_system_env.slave[*],_ALL_,UVM_NONE,run+uvm_set_verbosity=uvm_test_top.env.apb_system_env[*].*,_ALL_,UVM_NONE,run+UVM_TESTNAME=ip+UVM_MAX_QUIT_COUNT=1000,YES+UVM_VERBOSITY=UVM_MEDIUM+ntb_random_seed=$(seed)
其中,vcs_workdir和simv_workdir这两个变量定义输出目录的路径,用于存放编译和仿真生成的文件。all和vcs分别表示makefile文件的目标和依赖,simv表示运行仿真。
S400:执行规则脚本文件。
在生成规则脚本文件后,可以自动执行该规则脚本文件,因此,在公共脚本中定义的编译仿真函数还可以包括执行函数(excute函数),用于执行规则脚本文件。
在一些实施例中,如图4所示,可以在公共脚本中根据需求设置不同的仿真类型,可以将规则脚本文件仿真不编译,或者先将规则脚本文件编译,编译后再进行仿真。即执行规则脚本文件时,可以检测规则脚本文件的仿真类型,如果仿真类型为只仿真不编译,则仿真规则脚本文件,如果仿真类型为编译后仿真,则编译规则脚本文件,以及在编译后仿真规则脚本文件。也就是说,是否对规则脚本文件进行编译,以上述示例性的makefile文件为例,即是否执行makefile文件中的vcs选项。
具体的,在设置仿真类型时,可以对创建参数函数(create_by_args)中输入参数进行设置,以上述示例性的输入参数为例,其中,编译参数(nocomp)用来选择是否进行编译,可以对该参数进行赋值,进而设置仿真类型。例如,nocomp的值为0,则表示只仿真不编译,将nocomp的值为1,则表示编译后仿真。在执行规则脚本文件时,可以读取编译参数(nocomp)的值,以确定仿真类型。
在一些实施例中,在生成规则脚本文件的同时,还可以添加一些扩展命令,即可以预先获取目标拓展指令,并将目标拓展指令封装至公共脚本,在执行规则脚本文件时,可以执行目标拓展指令对应的拓展操作。例如,快速打开波形操作,则将打开波形的扩展命令封装在公共脚本中,可以直接通过公共脚本打开波形文件,还可以将打开波形操作生成一个可执行文件,例如,将打开波形操作生成拓展名为“.csh”的可执行文件,例如,run_verdi.csh,该文件的格式如下所示:
bsub-q verdi″cd/output/ip/random&&verdi-simflow-simBin/output/ip/simv-ssv-ssy-ssf/output/ip/random/main.vf″
用户只需输入对可执行文件的执行命令,即可快速打开波形。
在一些实施例中,还可以将生成编译仿真报告的拓展指令封装至公共脚本,则执行规则脚本文件后,可以获取规则脚本文件的执行结果,并根据执行结果生成编译仿真报告,以提供至用户。
在一些实施例中,可以实现测试用例的并行仿真,可以对创建参数函数(create_by_args)中输入参数进行设置。以上述示例性的输入参数为例,其中,随机数量参数(count)用来指定随机的数量,可以对该参数进行赋值,进而设置并行执行仿真的数量。例如,count的值为n,将会随机出n个不相等的随机种子,并分别生成n个输出目录和n个makefile文件,在一次编译完成后,可以同时进行n个不同种子的仿真并输出波形和报告文件。
示例性的,使用公共脚本的示例如下:
xrules-r random.rules-nocomp 1-quenue urgent-max_job_num 10-count 20-clean 1,其表示运行20个名字为random的测试用例,不编译,种子随机,提交到名为urgent的服务器上执行,最大的并行执行数量是10个,在执行仿真之前先清空仿真目录。
本实施例中,采用全脚本的方式,引入自主定义的针对编译仿真的公共脚本,通过为公共脚本传入编译仿真参数,即可为每个测试用例自动生成单独的makefile文件,用户仅需维护一个数据内容较小(数据内容3-4行)的规则文件,减少维护的工作量,提高验证效率。其中,公共脚本的通用性较强,实用性和灵活性较高,可以选择是否编译代码、是否指定随机种子进行仿真、选择特定的服务器进行仿真、支持测试用例的并行仿真、选择并行执行仿真的数量,支持随机产生不同种子进行仿真、支持仿真前清除仿真目录等。并且还可以根据需求增加新功能,实现快速打开波形文件、快速生成可执行文件等相关扩展应用的支持,解决前端设计验证维护困难、扩展性差的问题。
基于上述编译仿真方法。本申请的部分实施例中还提供一种前端验证的编译仿真装置,所述编译仿真装置包括脚本构建模块、参数获取模块、规则脚本文件生成模块和编译仿真模块。其中:
脚本构建模块,用于构建公共脚本。
参数获取模块,用于获取编译仿真参数,其中,编译仿真参数包括头文件、用例名称、输出目录和仿真选项。
规则脚本文件生成模块,用于将编译仿真参数输入公共脚本,以生成规则脚本文件,其中,规则脚本文件包括目标、依赖关系、编译命令和仿真命令。
编译仿真模块,用于执行规则脚本文件。
基于上述编译仿真方法,本申请的部分实施例中还提供一种电子设备,如图5所示,图5为本申请实施例提供的一种电子设备的结构框图,该电子设备800包括:至少一个处理器801,至少一个通信接口802,至少一个存储器803和至少一个总线804。其中,总线804用于实现这些组件直接的连接通信,通信接口802用于与其他节点设备进行信令或数据的通信,存储器803存储有可被处理器801执行的计算机程序指令。当电子设备800运行时,处理器801与存储器803之间通过总线804通信,处理器801调用存储器803中存储的计算机程序并执行该计算机程序可以实现本申请实施例提供的编译仿真方法。
基于上述编译仿真方法,本申请的部分实施例中还提供一种计算机程序产品,包括存储在计算机可读存储介质上的计算机程序,计算机程序包括计算机程序指令,当计算机程序指令被计算机执行时,计算机能够执行上述实施例中的编译仿真方法。
基于上述编译仿真方法,本申请的部分实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序指令,所述计算机程序指令被计算机运行时,使所述计算机执行前述方法实施例所述的编译仿真方法。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。

Claims (10)

1.一种前端验证的编译仿真方法,其特征在于,包括:
构建公共脚本;
获取编译仿真参数,所述编译仿真参数包括头文件、用例名称、输出目录和仿真选项;
将所述编译仿真参数输入所述公共脚本,以生成规则脚本文件,所述规则脚本文件包括目标、依赖关系、编译命令和仿真命令;
执行所述规则脚本文件。
2.根据权利要求1所述的编译仿真方法,其特征在于,所述方法还包括:
创建初始脚本;
在所述初始脚本中定义编译仿真函数和输入参数,以构建公共脚本,所述编译仿真函数包括创建参数函数和解析规则函数。
3.根据权利要求2所述的编译仿真方法,其特征在于,所述方法还包括:
获取目标规则文件;
将所述目标规则文件输入所述公共脚本,以及基于所述解析规则函数解析所述目标规则文件,以获取编译仿真参数;
获取所述创建参数函数的输入参数;
根据所述输入参数和所述编译仿真参数生成规则脚本文件。
4.根据权利要求3所述的编译仿真方法,其特征在于,所述输入参数包括用例名称参数、仿真软件打开参数、清除仿真目录参数、仿真随机种子参数、随机数量参数、并行仿真数量参数、编译参数和目标仿真服务器参数,所述用例名称参数用于表征测试用例的名称,所述仿真软件打开参数用于表征打开仿真软件,所述清除仿真目录参数用于表征清除仿真目录,所述仿真随机种子参数用于表征仿真时的随机种子,所述随机数量参数用于表征随机的数量,所述并行仿真数量参数用于表征并行仿真的数量,所述编译参数用于表征是否编译,所述目标仿真服务器参数用于表征仿真的服务器。
5.根据权利要求3所述的编译仿真方法,其特征在于,所述方法还包括:
检测所述创建参数函数中输入参数的赋值状态;
如果所述赋值状态为未赋值,则将所述输入参数设置为默认值。
6.根据权利要求1所述的编译仿真方法,其特征在于,所述方法还包括:
获取目标拓展指令;
将所述目标拓展指令封装至所述公共脚本;
在执行所述规则脚本文件时,执行所述目标拓展指令对应的拓展操作。
7.根据权利要求1所述的编译仿真方法,其特征在于,执行所述规则脚本文件的步骤,所述方法还包括:
检测所述规则脚本文件的仿真类型;
如果所述仿真类型为只仿真不编译,则仿真所述规则脚本文件;
如果所述仿真类型为编译后仿真,则编译所述规则脚本文件,以及在编译后仿真所述规则脚本文件。
8.根据权利要求1所述的编译仿真方法,其特征在于,执行所述规则脚本文件的步骤之后,还包括:
获取所述规则脚本文件的执行结果;
根据所述执行结果生成编译仿真报告。
9.一种前端验证的编译仿真装置,其特征在于,包括:
脚本构建模块,用于构建公共脚本;
参数获取模块,用于获取编译仿真参数,所述编译仿真参数包括头文件、用例名称、输出目录和仿真选项;
规则脚本文件生成模块,用于将所述编译仿真参数输入所述公共脚本,以生成规则脚本文件,所述规则脚本文件包括目标、依赖关系、编译命令和仿真命令;
编译仿真模块,用于执行所述规则脚本文件。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线;
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的计算机程序指令,所述处理器被配置为:
构建公共脚本;
获取编译仿真参数,所述编译仿真参数包括头文件、用例名称、输出目录和仿真选项;
将所述编译仿真参数输入所述公共脚本,以生成规则脚本文件,所述规则脚本文件包括目标、依赖关系、编译命令和仿真命令;
执行所述规则脚本文件。
CN202310983485.XA 2023-08-07 2023-08-07 一种前端验证的编译仿真方法、装置及电子设备 Pending CN117032886A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310983485.XA CN117032886A (zh) 2023-08-07 2023-08-07 一种前端验证的编译仿真方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310983485.XA CN117032886A (zh) 2023-08-07 2023-08-07 一种前端验证的编译仿真方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN117032886A true CN117032886A (zh) 2023-11-10

Family

ID=88627389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310983485.XA Pending CN117032886A (zh) 2023-08-07 2023-08-07 一种前端验证的编译仿真方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN117032886A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117688902A (zh) * 2023-12-20 2024-03-12 成都北中网芯科技有限公司 一种参数化的芯片仿真用例管理方法、***及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117688902A (zh) * 2023-12-20 2024-03-12 成都北中网芯科技有限公司 一种参数化的芯片仿真用例管理方法、***及介质

Similar Documents

Publication Publication Date Title
US6964036B2 (en) Descriptive variables while debugging
US6961924B2 (en) Displaying variable usage while debugging
EP1027648B1 (en) Apparatus for semi-automated generation and application of language conformity tests
US8402438B1 (en) Method and system for generating verification information and tests for software
US8117587B1 (en) Microcontroller-resident software development environment supporting application-level asynchronous event handling, interactive debugging and pin variables for embedded systems
KR100995199B1 (ko) 명령에 입력되는 파라미터들에 반영 기반 프로세싱을 수행하는 시스템 및 컴퓨터 판독 가능 저장 매체
US7426717B1 (en) System and method for debugging files in a runtime environment
CN108038294B (zh) Uvm环境搭建方法和***
US8776024B2 (en) Software application fine-tuning method, system, and corresponding computer program product
US20050065953A1 (en) System and method for changing defined elements in a previously compiled program using a description file
CN117032886A (zh) 一种前端验证的编译仿真方法、装置及电子设备
CN102880493B (zh) 一种构件间动态依赖关系的自动分析方法
CN116681013B (zh) 网络芯片的仿真验证方法、平台、装置、设备及介质
CN113742215A (zh) 一种自动配置和调用测试工具进行测试分析的方法及***
Larsen et al. Overture vdm-10 tool support: User guide
US20060047723A1 (en) Custom database system and method of building the same
US20100011018A1 (en) Custom database system and method of building the same
US8700374B1 (en) System and method of using an active link in a state programming environment to locate an element in a graphical programming environment
CN113591422A (zh) 芯片验证中测试案例流程信息的生成***及应用
CN108614704B (zh) 代码编译方法及装置
US20030093253A1 (en) Grammar for message passing in a distributed simulation environment
CN114816364A (zh) 基于Swagger动态生成范本文件的方法、装置及应用
US20080022258A1 (en) Custom database system and method of building and operating the same
CN113779918A (zh) SoC仿真方法、装置、计算设备和计算机存储介质
CN113033127A (zh) 基于EEBox的企业IC设计方法及开发平台

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
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: Room 59, 17th Floor, Science and Technology Innovation Building, No. 777 Zhongguan West Road, Zhuangshi Street, Ningbo City, Zhejiang Province, 315201

Applicant after: Aixin Yuanzhi Semiconductor Co.,Ltd.

Address before: Room 59, 17th Floor, Science and Technology Innovation Building, No. 777 Zhongguan West Road, Zhuangshi Street, Zhenhai District, Ningbo City, Zhejiang Province, 315201

Applicant before: Aixin Yuanzhi Semiconductor (Ningbo) Co.,Ltd.

Country or region before: China