自动化仿真方法及系统的制作方法

上传人:ting****789 文档编号:310042240 上传时间:2022-06-14 格式:DOCX 页数:5 大小:23.67KB
返回 下载 相关 举报
自动化仿真方法及系统的制作方法_第1页
第1页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《自动化仿真方法及系统的制作方法》由会员分享,可在线阅读,更多相关《自动化仿真方法及系统的制作方法(5页珍藏版)》请在金锄头文库上搜索。

1、自动化仿真方法及系统的制作方法专利名称:自动化仿真方法及系统的制作方法技术领域:本发明涉及仿真技术,特别涉及一种自动化仿真方法及系统。背景技术: 无线通信设备的基带部分处理主要采用数字方式实现的物理层协议和数字信号处理算法。根据实现方式的不同,可将现有技术中的实现方式分为软件、硬件或软硬件混合三种实现方式。在软硬混合实现方式中,硬件部分实现主要采用专用集成电路(ASIC)/现场可编程门阵列(FPGA)方式。但是,由于ASIC/FPGA具有设计规模大,结构复杂,验证难度大的特点,所以,随着逻辑芯片的规模越来越大,复杂度不断提高,逻辑仿真验证的工作量呈指数倍增长,进而不利于实现且增加了成本。在现有

2、技术中,常用商用仿真器来完成逻辑仿真验证,该商用仿真器内部集成了脚本运行环境,例如在Modelsim仿真器本身便嵌入了工具命令语言(TCL)脚本运行环境,并开发了一套专门用于仿真的宏命令集,用户可以在此环境中运行仿真脚本,可以实现一定程度的自动化,如图1所示。但是,上述方案中,仿真环境是完全封闭的且功能有限,只能运行仿真脚本,没有针对逻辑验证的特点设计专门的逻辑仿真项目管理功能,无法实现对整个仿真项目、测试用例、回归测试等的管理,使得仿真效率及自动化程度很低。另外,由于仿真环境和具体的仿真器相关,对外接口不开放,与其它工具集成困难,其可扩展性、可移植性和可重用性都较差,进而使得用户在增加自己需

3、要的功能时变得非常困难。发明内容本发明提供一种自动化仿真方法及系统,以解决现有技术中因不能实现逻辑验证的自动化而导致的效率低的问题。为解决上述问题,本发明提供如下的技术方案一种自动化仿真方法,包括以下步骤A、启动执行脚本开始验证项目;B、执行脚本启动激励脚本和配置脚本分别产生激励信号和生成配置文件;C、执行脚本启动仿真器,由仿真器接收所述激励信号和读取配置文件;D、仿真器运行仿真脚本进行仿真,并保存仿真过程产生的响应数据;E、执行脚本启动数据对比脚本和结果分析脚本,将响应数据与预期值进行比较,输出分析结果。一种自动化仿真系统,包括用于数据处理的处理器,用于存储程序和数据的存储器,以及仿真平台,

4、该仿真平台包括验证脚本模块由启动执行脚本的命令集构成,用于启动执行脚本来执行测试用列;仿真器模块由执行脚启动,用于运行仿真脚本进行仿真;验证项目模块包括验证过程所需的相关文件模块,并采用固定的目录结构组织所述相关文件模块;验证项目管理模块用于实现整个验证项目模块的目录管理、测试用列的执行和回归测试执行,并提供一用户界面供项目管理操作。其中所述的仿真平台还包括用户扩展接口模块,通过该扩展接口模块向仿真台增加工具。本发明采用适合逻辑仿真自动化的验证项目管理方法,并为用户提供了一个方便的扩展接口,使得用户能够基于此平台完成整个逻辑项目的自动化仿真,大大提高了仿真规范性和自动化程度,以及仿真项目之间的

5、共享。图1为现有技术的仿真结构框图;图2为本发明的仿真结构框图;图3、图4为本发明的仿真平台结构图;图5为本发明的仿真流程图;图6为仿真过程示意图;图7为用户界面示意图;图8为测试用列与测试平台的对应关系示意图;图9为验证项目的目录结构示意图;图10为验证相关文件的目录结构示意图;图11为脚本对应关系示意图;图12、图13、图14、图15和图16为工具向导开发模板界面图;图17A、图17B和图17C为开发工具过程中的流程示意图;图18为WCDMA上行专用信道激励数据产生工具工作流程图。具体实施例方式逻辑验证的过程就是对被测对象施加激励,并通过检测其响应来验证逻辑是否正确的过程,如图2A所示。对

6、于简单的逻辑,只需在用硬件描述语言(HDL)编写的测试平台中即可实现激励的提供和响应的比较,因此对于自动化的要求并不高。随着技术的发展,逻辑设计越来越复杂,逻辑的验证难度也大大增加,激励的提供和响应的检测需要采用多种方式实现,例如通过编写C语言程序实现激励数据的产生。对于算法逻辑,激励的产生和响应的检测常常涉及复杂的算法,因此需要采用Matlab、Cossap等算法仿真工具或者自己编写应用程序实现复杂的算法。实现自动化最常用的办法就是提供统一的工作平台,并实现过程的脚本化。如图2B所示,完成一个测试任务可能需要很多资源,而仿真过程执行包含很多步骤,以往这些资源和步骤之间是相对独立和零散的,管理

7、和执行的效率很低。参阅图3和图4所示,本发明的系统将资源有机的整合到一起,并通过脚本将仿真过程各个步骤串联起来,从而实现仿真过程的自动执行。图3显示了一台计算机用它来实施本发明的方法。计算机具有一个处理器,它通过总线和存储器相连接,同时还通过总线连接输入输出接口。存储器储存了仿真平台程序和相关数据。输入输出接口连接键盘、打印装置和显示器,验证结果和用户界面等通过显示器显示出来,验证结果还通过规定的格式由打印装置以文本形式输出。图4为算法逻辑仿真平台结构,包括一个验证项目管理模块,该模块实现整个仿真项目的目录管理、测试用例的执行和回归测试执行。测试用例的执行是通过调用TCL验证脚本实现的。在平台

8、中,TCL脚本起到“粘贴”的作用,用来将各种应用程序、工具集成起来,从而实现整个验证过程的自动化。此外,平台提供了用户扩展接口,用户可以方便的将自己需要的功能扩展为工具,在验证脚本中调用。例如,用户需要增加产生某种激励数据的功能,可以采用C或其它语言实现该功能并扩展为TCL命令,这样就可以在验证脚本中调用。算法逻辑自动化仿真平台采用的是TCL脚本语言。该平台不直接控制HDL仿真器,也不直接与仿真器进行数据交换,而是通过脚本间接调用仿真器达到仿真目的,因此可以兼容所有的HDL仿真器,作为通用的逻辑仿真平台。参阅图7所示,算法逻辑测试平台的验证项目管理模块提供一用户界面。用户界面有三个主要区域模式

9、控制区、代码显示和编辑区以及状态区,另外还有菜单栏和工具栏。模式控制区中有三种模式可供选择,分别是测试任务、工具箱和代码浏览,测试任务主要进行测试任务的创建和管理,测试用例管理等功能,采用符合算法逻辑集成仿真规范的目录结构。代码浏览可以显示TCL脚本的基本结构,如名字空间及其中定义的子程序名,双击子程序名可以在右边代码显示和编辑区显示该子程序的代码。工具箱则包含了为具体测试项目开发的各种工具,如WCDMA上行接入信道激励信号产生。工具箱中各种工具提供图形用户界面,为浮动的窗口,用户可以在窗口中进行相关的参数设定。三种模式均采用导航树结构。参阅图5和图6所示,自动化仿真过程如下步骤10启动执行脚

10、本开始验证项目;步骤20执行脚本启动激励脚本和配置脚本分别产生激励信号和生成配置文件;步骤30执行脚本启动仿真器,由仿真器运行仿真脚本对被测对象进行仿真;步骤40被测对象接收激励信号和读取配置文件,并保存被测对象在仿真过程产生的响应数据;步骤50执行脚本启动数据对比脚本和结果分析脚本,将响应数据与预期值进行比较,输出分析结果。其中,执行脚本可为多个,由验证脚本依次启动该复数个执行脚本,以完成需要进行多个测试任务的验证项目。为了实现对验证项目的统一管理和规范验证过程,本实施例将验证项目的目录固定下来。每个验证项目都采用同样的目录结构,使用通用的目录结构最大的好处是可以使用相对路径,编写可移植的脚

11、本,而且方便查找文件。目录结构根据算法逻辑验证的特点来确定。在逻辑验证中,对测试用例进行分组,同组的测试用例使用同一个测试平台(Testbench)。将一组测试用例和其对应的Testbench称为一个验证程序组。对于一个验证项目,可能存在多个验证程序组。参阅图8,测试用例与Testbench的对应关系。参阅图9,图中示出了验证项目的的顶层目录结构其中,图中子目录SoC_N为验证项目,每个验证项目包含第一至第六6个子目录,功能分别如下第一子目录doc存放相关的规格、设计和验证文档;第二子目录beh存放可重用行为模型、公共子程序和函数等;第三子目录rtl存放可综合的设计源代码;第四子目录syn存放

12、综合脚本、网表以及综合产生的各种报告文件;第五子目录phy存放约束文件、布局布线脚本、烧片文件以及布局布线过程中产生的各种报告文件;第六子目录verif存放验证相关的文件,由验证程序组(verisuite)组成,一个程序组包括一组互相关联的测试文件,主要是testbench和与此testbench对应的一组测试用例(testcase)。每个testcase中又包括测试脚本、配置数据文件、激励数据文件、仿真结果数据文件和参考比对数据文件等。第六子目录verif的目录结构如图10所示。该目录结构充分考虑了testbench的结构以及算法逻辑的特点。验证程序组子目录verisuite称为验证程序组,

13、存放为了验证某一类特性所需的测试文件。该组中的所有testcase都使用相同的testbench,每个测试用例具有不同的配置、激励、响应和参考比对数据;仿真工作子目录work为仿真工作目录,存放仿真编译结果,并作为临时目录供仿真时进行文件拷贝操作;脚本子目录scripts存放仿真中需要被调用的脚本;配置文件子目录config存放配置文件;激励文件子目录stimuli存放激励数据文件;仿真结果子目录result存放仿真输出结果,仿真过程日志文件,代码覆盖率报告及缺陷跟踪表;对比数据子目录reference存放仿真参考比对数据;执行脚本子目录run.tcl该测试用例的执行脚本,回归测试时执行的也是

14、该脚本;说明文件子目录readme.txt该测试用例的详细说明文件。仿真平台的项目管理功能包括验证项目的创建、删除、导入、导出用户可以在测试根目录下,创建、删除、导入、导出验证项目。验证程序组的创建、删除、导入、导出用户可以在verif目录下,创建、删除、导入、导出验证程序组。测试用例的创建、删除、导入、导出用户可以在verisuite目录下,创建、删除、导入、导出测试用例。利用以上功能,验证人员可以很方便的实现测试代码的共享、重用、移植和归档。测试用例脚本调用关系如图11所示(将testcase作为当前目录)。每个测试用例只有一个执行脚本(run.tcl),测试用例的执行通过运行该脚本实现。

15、执行脚本将根据具体测试项目的情况,调用其它脚本。这些脚本包括仿真脚本、激励产生脚本、响应比较脚本和结果分析脚本等等。需要简单说明一下仿真脚本的调用方法,对Modelsim仿真器使用如下命令实现。exec vsim-c-do./scripts/sim.tcl &回归测试是逻辑验证过程必不可少的部分。使用算法逻辑仿真平台的测试调度器Scheduler,我们能够容易的将需要回归的测试用例加入回归测试组,并保存和自动运行。测试调度器允许用户按指定顺序建立回归测试组,并在指定的时间启动测试,顺序执行其中的测试脚本。用户扩展接口(平台中称为工具向导或工具箱,以下简称工具向导)作为算法逻辑仿

16、真平台的一部分,也是平台中用户可以进行二次开发的部分,它具有很好的可扩展性和可重用性,界面如图12A。因为在逻辑测试活动中,每个逻辑都有自已不同的特点,用户为了完成验证,需要自己开发一些工具,如激励产生工具、结果分析工具、过程控制工具、脚本生成工具等等。使用用户扩展接口,可以使用户以最少的时间完成向平台增加功能。工具向导将一个工具需要配置的所有参数分成多个步骤配置,通过一步一步的参数配置来完成所有参数的配置。仿真平提供了工具向导的开发模板,按照此模板开发出来的工具向导,在界面风格、使用方法上都是一样的,这样任何人开发出来的工具向导都是标准的,别人都可以直接使用,而无须在使用方法上进行培训。工具向导完全采用TCL/TK语言开发的,可以在不同的操作系统上运行,具有很好的可移植性。工具向导的目录结构在平台的根目录中有一个专门用来存放工具向导的文件夹ToolWizards,目录结构形式如图12B在平台的根目录下有一个目录

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号