专利名称:一种动态重配置仿真环境的方法
技术领域:
本发明涉及仿真技术领域,具体涉及在不重新编译仿真激励文件且不中断仿真进程的情况下的一种动态重配置仿真环境的方法。
背景技术:
FPGA (Field-Programmable Gate Array,现场可编程门阵列)技术正处于高速发展时期,随着半导体制造工艺的不断提高,新型芯片的规模越来越大,速率等级越来越高, 成本也越来越低,低端的FPGA已逐步代替了传统的数字元件,高端的FPGA也开始不断争夺 ASIC (Application Specific Integrated Circuit,为专门目的而设计的集成电路)的市场份额。随着FPGA芯片规模的扩大,设计的复杂度越来越高,仿真测试中需要验证的功能越来越多,造成了仿真模型的复杂程度也不断提高。传统仿真验证方法无法在仿真运行过程中根据仿真结果调整仿真配置,在设计仿真模型时就尽量考虑各种情况。但是对于一个复杂的设计,特别是一些使用随机化参数配置的设计,很难一次就把所有需要的测试用例考虑周全。一旦发现仿真模型的设置不能满足仿真需求,就需要修改测试代码,重新编译并重启仿真环境,而对于一些大型设计,根据仿真结果调整仿真模型设计时,完成一个仿真激励过程往往需要花费数小时甚至数天的时间,浪费了大量的仿真和重启仿真环境的时间,这样就降低了工作效率。另外,由于无法及时根据仿真结果调整仿真模型,增加或减少测试用例的数量和策略,对于已达到仿真需要功能覆盖率的情况,白白浪费了仿真时间;而对于还未能达到仿真需要功能覆盖率的情况,则因为没有达到仿真目标而造成本次仿真失败的结果。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种动态重配置仿真环境的方法,可以在不修改测试代码的情况下完成仿真机制的调整,从而减少了停止仿真运行、重新编译测试代码、重启仿真环境和重新开始仿真运行的中间过程,大大减少了仿真时间,显著提高了工作效率,避免造成仿真失败。为达到以上目的,本发明采取的技术方案是一种动态重配置仿真环境的方法,包括以下步骤(1)新建一个或多个二进制文件,其包括配置文件和仿真状态记录文件,并建立和仿真模型的连接,令仿真模型实现对文件的读写控制;(2)建立配置文件的数据和仿真模型的配置参数之间一一对应关系,并完成对配置文件和仿真模型的初始化设置;(3)仿真模型按照配置参数对应的仿真机制开始仿真激励过程,仿真模型将仿真过程中的各种状态记录到仿真状态记录文件,并根据仿真运行过程中的状态变化调整配置文件的参数设置;
(4)仿真模型在仿真过程中定时读取配置文件,判断配置文件是否有数据变化,如果有,则使用从配置文件读取的数据更新配置参数,调整仿真机制;如果没有,则继续运行仿真;(5)重复(3)、(4)直至达到仿真目后结束仿真进程。在上述技术方案的基础上,步骤(1)通过systemverilog硬件测试语言提供的丰富文件读写接口,建立所述仿真模型和二进制文件的连接。在上述技术方案的基础上,步骤(3)中,配置文件的参数配置通过仿真测试人员依据仿真记录文件的内容调整。在上述技术方案的基础上,所述仿真模型从参数配置文件读取仿真配置信息,根据仿真配置信息为被测设备提供产生相应的激励信号,同时采集被测设备在激励信号作用下反馈的信息,将这些信息存储到仿真状态记录文件中。在上述技术方案的基础上,步骤( 将配置参数文件的参数默认初值写入配置文件中去,仿真模型的参数设置与配置文件一致。在上述技术方案的基础上,步骤(3)中所述仿真状态记录文件的数据写入过程与配置文件一致。在上述技术方案的基础上,步骤⑷中,判断定时是否到来,若定时时间到,则以只读方式打开配置文件,读取数据,并与当前配置比较,判断配置文件是否有数据变化;若定时时间没有到,则等待完成设定的仿真机制后,判断是否达到仿真目的。在上述技术方案的基础上,所述判断是否达到仿真目的,如果已达到则结束仿真进程,否则转到步骤(3)。本发明的有益效果在于本发明通过systemverilog硬件测试语言提供的丰富文件读写接口功能,建立仿真模型和仿真环境外部的二进制文件的连接,使仿真模型可以直接读写这些二进制文件,并通过文件的内容更新仿真机制。与传统仿真方案相比,本方案通过连接外部的参数配置文件和仿真记录文件来实现对仿真模型的动态配置。仿真测试人员根据仿真记录文件的内容调整配置文件的参数配置,使仿真模型自动调整仿真策略,以达到动态配置的目的,从而减少仿真时间,显著提高了工作效率,避免造成仿真失败。
图1为本发明动态重配置仿真环境的方法的系统框图;图2为本发明动态重配置仿真环境的方法的软件流程图。
具体实施例方式以下结合附图及实施例对本发明作进一步详细说明。如图1所示,本发明通过连接外部的参数配置文件和仿真记录文件来实现对仿真模型的动态配置,图1中具有η个配置文件和η个仿真状态记录文件。采集被测设备在激励信号作用下反馈的信息,并将这些信息存储到仿真记录文件中去,仿真测试人员根据仿真记录文件的内容调整配置文件的参数配置,使仿真模型自动调整仿真策略,以达到动态配置的目的。本发明动态重配置仿真环境的方法,包括以下步骤
(1)新建一个或多个二进制文件,并建立和仿真模型的连接。所述二进制文件包括配置文件和仿真状态记录文件,通过systemverilog硬件测试语言提供的丰富文件读写接口,建立仿真模型和仿真环境外部的二进制文件的连接,使仿真模型可以直接读写这些二进制文件,并通过文件的内容更新仿真机制。建立二进制文件的时候,要根据设计的复杂程度,对于复杂设计,配置参数数量巨大且种类繁多,为了方便管理,可以按参数类型分类建立多个配置文件,每个文件对应一种类型的参数。(2)建立配置文件的数据和仿真模型的配置参数之间一一对应关系,并完成对配置文件和仿真模型的初始化设置。配置文件负责通过在仿真环境外部修改仿真配置参数来实现调整仿真机制和策略的功能,保证仿真模型能在运行的过程中实现动态配置。仿真状态记录文件用来记录仿真过程中的状态变化,包括功能覆盖率、仿真运行所处的阶段、仿真过程中出现的各种告警错误等等,它是调整仿真机制的依据。(3)仿真模型按照配置参数对应的仿真机制开始仿真激励过程,仿真模型将仿真过程中的各种状态记录到仿真状态记录文件,测试人员要根据仿真状态记录文件中记录的仿真状态变化来调整配置文件的内容。(4)仿真模型在仿真过程中定时读取配置文件,判断配置文件是否有数据变化,如果有,则使用从配置文件读取的数据更新配置参数,调整仿真机制;如过没有,则继续运行仿真。判断定时是否到来时,若定时时间到,则以只读方式打开配置文件,读取数据,并与当前配置比较,判断配置文件是否有数据变化;若定时时间没有到,则等待完成设定的仿真机制后,判断是否达到仿真目的。(5)重复(3)、(4)直至达到仿真目的后结束仿真进程。如图2所示,本发明动态重配置仿真环境的方法的软件流程图,具体方法如下第一步新建二进制配置文件和仿真状态记录文件。第二步将配置参数的默认初值写到配置文件中去,完成对配置文件和仿真模型的初始化参数配置。此时仿真模型的参数设置与配置文件一致,而当仿真模型模型发现配置文件的数据与当前设置不同时,配置文件有数据变化的判决条件成立。关闭配置文件,释放文件的操作权限,为在仿真环境外部修改文件提供条件。第三步按照参数配置对应的仿真机制运行仿真激励,并在仿真状态记录文件中记录仿真状态,仿真状态记录文件的数据写入过程与配置文件一致。第四步判断定时是否到来,如果定时时间到,则进入第五步;否则,等待完成设定的仿真机制后进入第六步。第五步以只读方式打开二进制配置文件,读取配置文件数据,并与当前配置比较,判断是否有数据更新,如有变化,则用从配置文件读取的数据更新仿真模型的参数配置;如无变化,关闭配置文件,回到第四步。第六步判断是否达到仿真目的,如果已达到则结束仿真进程;否则回到第四步继续仿真运行。下面通过一个实施例对本发明做进一步说明,以FC协议数据仿真为例,实现步骤如下(1)新建两个二进制配置文件,分别为环境运行参数配置文件(用于配置仿真模式、各个激励运行的次数、仿真结束的条件等运行相关参数)和数据帧类型配置文件(用于配置帧头数据、载荷类型、帧长、校验方式等帧类型相关参数)。新建三个仿真状态记录文件,分别为仿真流程记录文件(用来监视仿真模型的运行状态,通过它判断仿真模型的功能覆盖率是否达到要求)、错误状态记录文件(用来定位仿真中出现的各种故障点)和收发包计数统计记录文件(用来监视被测设备的运行状态,通过它判断被测设备是否满足设计要求)。并建立和仿真模型的连接,使仿真模型可以实现对文件的读写控制。(2)建立配置文件的数据和仿真模型的配置参数间的一一对应关系,并使用默认配置完成对配置文件和仿真模型配置参数的初始化设置。(3)按照配置参数对应的仿真机制开始仿真激励过程,仿真模型将仿真过程中的各种状态记录到仿真状态记录文件,测试人员根据仿真运行过程中的状态变化调整配置文件的参数设置。例如如果发现当前测试用例已经完成各种仿真需要状态的遍历,可通过修改运行参数配置文件中的仿真模式参数让仿真模型停止对当前的测试用例的使用,而进入下一测试用例的运行,以节省仿真时间;如果发现当前测试用例不能完成仿真需要状态的遍历,则可以加大激励运行的次数,让仿真模型继续运行当前测试用例,直至达到预期目标。(4)仿真模型在仿真过程中定时读取配置文件,通过比较判断配置文件是否有数据变化,如果有则使用从配置文件读取的数据更新配置参数,调整仿真机制。如无变化则不作处理继续运行仿真。(5)重复(3)、(4)直至达到仿真目的后结束仿真进程。本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。
权利要求
1.一种动态重配置仿真环境的方法,其特征在于包括以下步骤(1)新建一个或多个二进制文件,其包括配置文件和仿真状态记录文件,并建立和仿真模型的连接,令仿真模型实现对文件的读写控制;(2)建立配置文件的数据和仿真模型的配置参数之间一一对应关系,并完成对配置文件和仿真模型的初始化设置;(3)仿真模型按照配置参数对应的仿真机制开始仿真激励过程,仿真模型将仿真过程中的各种状态记录到仿真状态记录文件,并根据仿真运行过程中的状态变化调整配置文件的参数设置;(4)仿真模型在仿真过程中定时读取配置文件,判断配置文件是否有数据变化,如果有,则使用从配置文件读取的数据更新配置参数,调整仿真机制;如果没有,则继续运行仿真;(5)重复(3)、(4)直至达到仿真目后结束仿真进程。
2.如权利要求1所述的动态重配置仿真环境的方法,其特征在于步骤(1)通过 systemverilog硬件测试语言提供的丰富文件读写接口,建立所述仿真模型和二进制文件的连接。
3.如权利要求1所述的动态重配置仿真环境的方法,其特征在于步骤(3)中,配置文件的参数配置通过仿真测试人员依据仿真记录文件的内容调整。
4.如权利要求1所述的动态重配置仿真环境的方法,其特征在于所述仿真模型从参数配置文件读取仿真配置信息,根据仿真配置信息为被测设备提供产生相应的激励信号, 同时采集被测设备在激励信号作用下反馈的信息,将这些信息存储到仿真状态记录文件中。
5.如权利要求1所述的动态重配置仿真环境的方法,其特征在于步骤(2)将配置参数文件的参数默认初值写入配置文件中去,仿真模型的参数设置与配置文件一致。
6.如权利要求1所述的动态重配置仿真环境的方法,其特征在于步骤(3)中所述仿真状态记录文件的数据写入过程与配置文件一致。
7.如权利要求1所述的动态重配置仿真环境的方法,其特征在于步骤(4)中,判断定时是否到来,若定时时间到,则以只读方式打开配置文件,读取数据,并与当前配置比较,判断配置文件是否有数据变化;若定时时间没有到,则等待完成设定的仿真机制后,判断是否达到仿真目的。
8.如权利要求7所述的动态重配置仿真环境的方法,其特征在于所述判断是否达到仿真目的,如果已达到则结束仿真进程,否则转到步骤(3)。
全文摘要
一种动态重配置仿真环境的方法,包括步骤(1)新建一个或多个二进制文件,其包括配置文件和仿真状态记录文件,建立和仿真模型的连接;(2)建立配置文件的数据和仿真模型的配置参数之间一一对应关系,完成对配置文件和仿真模型的初始化设置;(3)仿真模型开始仿真激励,将仿真过程中的各状态记录到仿真状态记录文件,根据仿真状态变化调整配置文件的参数设置;(4)仿真模型在仿真过程中定时读取配置文件,判断配置文件是否有数据变化,如有,则使用从配置文件读取的数据更新配置参数,调整仿真机制;如没有,则继续运行仿真;(5)重复(3)、(4)直至达到仿真目后结束仿真进程。该方法大大减少了仿真时间,避免造成仿真失败。
文档编号G06F17/50GK102222129SQ20111012037
公开日2011年10月19日 申请日期2011年5月11日 优先权日2011年5月11日
发明者刘超, 陈飞月 申请人:烽火通信科技股份有限公司