本发明涉及IC设计验证领域,具体地说是一种用于功能验证平台的基于脚本的搭建系统及方法。
背景技术:
目前,基于FPGA的开发越来越多,市场上主要的FPGA供应商包括Atera、Xilinx等。Avalon总线是Atera提供的高性能片上总线。因为Avalon总线架构灵活、易用等优点,基于Avalon总线的设计非常多,而为每一个基于Avalon总线的设计都需要开发一个验证平台用来对设计内部的寄存器和ram模块进行仿真测试。
技术实现要素:
本发明的技术任务是提供一种用于功能验证平台的基于脚本的搭建系统及方法。
本发明的技术任务是按以下方式实现的,该系统包括总线架构信息文档模块、内部寄存器和ram模块、芯片初始化控制文档模块、自动化脚本模块;
所述的总线架构信息文档模块根据基于Avalon总线的总线架构完成编写;
所述的内部寄存器和ram模块的信息文档根据基于Avalon总线的设计完成编写;
所述的芯片初始化控制文档模块根据基于Avalon总线的初始化工作流程完成编写;
所述的自动化脚本模块有多种自动化脚本,各自动化脚本包含总线仲裁模型生成脚本、测试向量生成脚本、输出信息控制脚本和运行脚本。
所述的总线架构信息文档模块包含设计所使用的总线架构含有的主设备个数、从设备个数、设备ID、工作模式的信息。
所述的内部寄存器和ram模块通过使用Avalon总线进行访问。
所述的内部寄存器和ram模块的信息文档包含内部寄存器和ram模块的地址、数据宽度、深度、读写特征、读写命令延迟以及读写相关顺序的信息。
所述的自动化脚本使用perl/tcl/c-shell脚本语言编写。
所述的总线仲裁模型生成脚本通过读取总线架构信息文档生成验证需要的总线仲裁模型。
所述的测试向量生成脚本通过读取内部寄存器和ram模块的信息文档生成针对各寄存器和ram模块的特定的测试向量。
所述的输出信息控制脚本预留控制端口,在测试过程中根据实际需要进行输出信息的分类控制。
所述的运行脚本根据芯片初始化控制文档自动生成针对基于Avalon总线的设计的初始环境配置命令并执行,之后执行测试向量,完成测试过程并生成测试报告。
该用于功能验证平台的基于脚本的搭建方法步骤如下:
1)根据基于Avalon总线的设计的初始化工作过程,包括时钟信号稳定时间,reset信号使能时间,内部各特殊控制信号列表及时序的信息,设计芯片初始化控制文档;
2)根据设计使用的总线架构类型编写总线架构信息文档;
3)根据基于Avalon总线的设计内部寄存器和ram模块的地址、数据宽度、深度、读写特征、读写命令延迟以及读写相关顺序信息,编写信息文档;
4)编写自动化脚本,包括总线仲裁模型生成脚本,测试向量生成脚本,输出信息控制脚本和运行脚本;同时根据Avalon协议编写符合协议时序要求的读写命令模板库;
5)使用总线仲裁模型生成脚本通过读取总线架构信息文档生成验证需要的总线仲裁模型;
6)使用测试向量生成脚本针对基于Avalon总线的设计内部寄存器和ram模块的信息文档,生成选定的要测试的寄存器或ram模块的测试向量;
7)使用输出信息控制脚本预留的控制端口,设置当前的测试需要输出到log文件的信息类别;
8)使用运行脚本根据设计的芯片初始化控制文档生成对应的初始化命令序列,执行,之后运行测试向量,生成测试报告,完成本次测试。
本发明的一种用于功能验证平台的基于脚本的搭建系统及方法和现有技术相比,通过使用自动化脚本,实现自动化完成验证平台的搭建和运行工作;通过基于标准的Avalon总线协议设计验证平台测试命令,实现对各基于Avalon总线的设计的通用读写测试;通过使用内部寄存器和ram模块信息文档实现针对特定存储模块的正确测试;通过使用芯片初始化控制文档实现对不同设计的初始验证环境的配置。该方法实施方便,流程简单,高效稳定,可以大幅缩短为不同的基于Avalon总线的设计搭建功能验证平台的开发周期,提高功能验证效率。
具体实施方式
实施例1:
配置该用于功能验证平台的基于脚本的搭建系统,该系统包括总线架构信息文档模块、内部寄存器和ram模块、芯片初始化控制文档模块、自动化脚本模块;
所述的总线架构信息文档模块根据基于Avalon总线的总线架构完成编写;所述的总线架构信息文档模块包含设计所使用的总线架构含有的主设备个数、从设备个数、设备ID、工作模式的信息。
所述的内部寄存器和ram模块的信息文档根据基于Avalon总线的设计完成编写;所述的信息文档包含内部寄存器和ram模块的地址、数据宽度、深度、读写特征、读写命令延迟以及读写相关顺序的信息;所述的内部寄存器和ram模块通过使用Avalon总线进行访问。
所述的芯片初始化控制文档模块根据基于Avalon总线的初始化工作流程完成编写。
所述的自动化脚本模块有多种自动化脚本,各自动化脚本使用perl/tcl/c-shell脚本语言编写,包含总线仲裁模型生成脚本、测试向量生成脚本、输出信息控制脚本和运行脚本;
所述的总线仲裁模型生成脚本通过读取总线架构信息文档生成验证需要的总线仲裁模型。
所述的测试向量生成脚本通过读取内部寄存器和ram模块的信息文档生成针对各寄存器和ram模块的特定的测试向量。
所述的输出信息控制脚本预留控制端口,在测试过程中根据实际需要进行输出信息的分类控制。
所述的运行脚本根据芯片初始化控制文档自动生成针对基于Avalon总线的设计的初始环境配置命令并执行,之后执行测试向量,完成测试过程并生成测试报告。
该用于功能验证平台的基于脚本的搭建方法步骤如下:
1)根据基于Avalon总线的设计的初始化工作过程,包括时钟信号稳定时间,reset信号使能时间,内部各特殊控制信号列表及时序的信息,设计芯片初始化控制文档;
2)根据设计使用的总线架构类型编写总线架构信息文档;
3)根据基于Avalon总线的设计内部寄存器和ram模块的地址、数据宽度、深度、读写特征、读写命令延迟以及读写相关顺序信息,编写信息文档;
4)编写自动化脚本,包括总线仲裁模型生成脚本,测试向量生成脚本,输出信息控制脚本和运行脚本;同时根据Avalon协议编写符合协议时序要求的读写命令模板库;上述自动化脚本和命令模块库都是可以在不同基于Avalon总线的设计中进行复用
5)使用总线仲裁模型生成脚本通过读取总线架构信息文档生成验证需要的总线仲裁模型;
6)使用测试向量生成脚本针对基于Avalon总线的设计内部寄存器和ram模块的信息文档,生成选定的要测试的寄存器或ram模块的测试向量;
7)使用输出信息控制脚本预留的控制端口,设置当前的测试需要输出到log文件的信息类别;
8)使用运行脚本根据设计的芯片初始化控制文档生成对应的初始化命令序列,执行,之后运行测试向量,生成测试报告,完成本次测试。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。