一种覆盖率驱动软硬件协同的SOPC功能验证方法和系统技术方案

技术编号:19009040 阅读:53 留言:0更新日期:2018-09-22 08:55
本发明专利技术公开了一种覆盖率驱动软硬件协同的SOPC功能验证方法和系统,其中,该方法包括:第一步、根据SOPC软件需求提取软件功能测试点,形成测试需求表,使用Python脚本提取测试需求表的功能测试点;第二步、软件工作站将测试需求表转换为测试向量进行测试数据转换逻辑后发送给被测SOPC软件;第三步、硬件仿真加速器中被测SOPC软件输出信号经测试数据转换逻辑打包后发送给软件工作站,软件工作站完成测试结果比对和功能覆盖率统计;第四步、软件工作站根据测试结果比对的结果标记未通过的功能测试用例,根据功能覆盖率统计结果执行未覆盖的功能测试项。一种覆盖率驱动软硬件协同的SOPC功能验证方法和系统呢呢狗,解决现有的需求为导向的人工测试方法测试效率不高的问题。

A SOPC function verification method and system based on coverage driven software and hardware collaboration

The invention discloses a coverage-driven SOPC function verification method and system. The method comprises the following steps: firstly, extracting software function test points according to SOPC software requirements, forming test requirement table, extracting test requirement table function test points using Python script, and secondly, testing software workstation will be tested The test requirement table is converted into test vectors for test data conversion logic and sent to SOPC software under test. The software workstation marks the failing functional test cases according to the results of test results comparison, and executes the uncovered functional test items according to the statistical results of function coverage. A coverage-driven software-hardware co-operation SOPC functional verification method and system tweet dog, to solve the existing demand-oriented manual testing method test inefficiency problem.

【技术实现步骤摘要】
一种覆盖率驱动软硬件协同的SOPC功能验证方法和系统
本专利技术涉及一种覆盖率驱动软硬件协同的SOPC功能验证方法。
技术介绍
SOPC芯片大量采用知识产权模块IP复用技术,包括有嵌入式的CPU处理器,同时运行着嵌入式软件,在航天、军工等领域得到了广泛的应用。随着SOPC系统芯片规模的不断增大,功能测试的充分性已经成为开发SOPC的主要挑战。现有的SOPC系统测试包括嵌入式软核应用软件测试和硬件逻辑测试,嵌入式软核应用软件测试一般采用基于实际SOPC系统的板级功能测试和在线调试工具结合的测试方法,硬件逻辑测试方法一般采用基于硬件HDL仿真器的功能仿真测试方法,二者之间的验证一般分开进行。基于硬件HDL仿真器的硬件逻辑测试虽然具有测试手段灵活、测试可观测好的优点,但是随着硬件逻辑复杂度提高,导致硬件HDL仿真器的速度不断下降,测试时间往往很长,难以满足项目周期越来越短的要求。基于实际SOPC系统的板级功能测试和在线调试工具结合的测试方法虽然具有测试速度快、测试结果真实的优点,但是测试需要耗费大量的硬件逻辑资源、测试手段往往不灵活、测试可观测性差,需要观察多个输入输出信号时往往力不从心,调试功能不友好。
技术实现思路
本专利技术的目的在于提供一种覆盖率驱动软硬件协同的SOPC功能验证方法和系统,用于解决现有硬件HDL仿真器速度慢,SOPC系统板级测试的可观测性差,测试灵活度不高,传统的需求为导向的人工测试方法测试效率不高等问题。本专利技术一种覆盖率驱动软硬件协同的SOPC功能验证系统,其中,包括:软件工作站以及硬件仿真加速器;软件工作站包括测试需求表、测试脚本程序、SOPC测试程序、功能覆盖率统计程序、测试结果比对程序、板卡驱动程序、PCI硬件板卡和SCEMI协议转换硬件板卡;硬件仿真加速器包括SCEMI硬件转换状态机、数据缓冲模块、激励数据解析状态机、功能配置状态机、模拟接收响应模块和被测SOPC软件;软件工作站包括软件层、PCI硬件板卡和SCEMI协议转换硬件板卡,软件层包括测试需求表、测试脚本程序、SOPC测试程序、功能覆盖率统计程序、测试结果比对程序和板卡驱动程序;硬件仿真加速器包括测试数据转换逻辑和被测SOPC软件;测试数据转换逻辑包括SCEMI硬件转换状态机、数据缓冲模块、激励数据解析状态机、功能配置状态机、模拟发送激励模块和模拟接收响应模块;其中,测试脚本程序提取测试需求表中功能测试点后发送给SOPC测试程序,由SOPC测试程序定义功能覆盖点,并生成SOPC软件功能测试的输入向量数据和期望的输出向量数据,在测试用例执行完后将覆盖的功能点发送给功能覆盖率统计程序,完成覆盖率统计;测试脚本程序根据覆盖率结果提取未执行的功能测试项后转发给SOPC测试程序;被测SOPC软件的输出数据通过SCEMI协议转换硬件板卡、PCI硬件板卡以及板卡驱动程序发送给测试结果比对程序,测试结果比对程序将被测SOPC软件的输出数据和期望的输出向量数据进行比对,并标记测试过程中未通过的测试用例;测试数据转换逻辑用于接收软件工作站的测试场景数据并按照时序关系转化为被测SOPC软件的输入数据,并采集被测SOPC软件输出数据并发送给软件工作站;SCEMI协议转换状态机,用于将软件工作站发送的SCEMI协议测试数据转为本地协议数据,并缓存到数据缓冲模块后转发给激励数据解析状态机;激励数据解析状态机,用于解析出真实的测试数据,并发送给被测SOPC软件;被测SOPC软件将输出信号发送给模拟接收响应模块,模拟接收响应模块,用于将测试结果数据打包后缓存到数据缓冲模块,SCEMI协议转换状态机将数据缓冲模块的数据发送给软件工作站;功能配置状态机是激励数据解析状态机对仿真状态的控制部件,用于读硬件端寄存器的值来判断硬件的状态,以及通过写寄存器以改变硬件运行的状态机。根据本专利技术的覆盖率驱动软硬件协同的SOPC功能验证系统的一实施例,其中,软件工作站和硬件仿真加速器通过LVDS总线连接,软件工作站和硬件仿真加速器之间的通讯遵循SCE-MI协议约定。根据本专利技术的覆盖率驱动软硬件协同的SOPC功能验证系统的一实施例,其中,PCI硬件板卡用于将SOPC测试程序的软件测试向量转换为底层的硬件信号,以及接收SCEMI协议硬件转换硬件板卡采集的被测SOPC软件输出的信号并转换为软件侧的输入信号。根据本专利技术的覆盖率驱动软硬件协同的SOPC功能验证系统的一实施例,其中,SCEMI协议硬件转换硬件板卡用于将PCI硬件板卡的测试数据转换为符合SCEMI协议的测试数据,并通过LVDS总线发送给硬件仿真加速器中的测试数据转换逻辑;以及接收硬件仿真加速器中的测试数据转换逻辑采集的被测SOPC软件输出的信号。本专利技术一种覆盖率驱动软硬件协同的SOPC功能验证方法,其中,包括:第一步、根据SOPC软件需求提取软件功能测试点,形成测试需求表,使用Python脚本提取测试需求表的功能测试点;第二步、软件工作站将测试需求表转换为测试向量进行测试数据转换逻辑后发送给被测SOPC软件;第三步、硬件仿真加速器中被测SOPC软件输出信号经测试数据转换逻辑打包后发送给软件工作站,软件工作站完成测试结果比对和功能覆盖率统计;第四步、软件工作站根据测试结果比对的结果标记未通过的功能测试用例,根据功能覆盖率统计结果执行未覆盖的功能测试项。根据本专利技术的覆盖率驱动软硬件协同的SOPC功能验证方法的一实施例,其中,第二步具体包括:将提取的功能测试点转换为软件层的被测SOPC软件测试输入,将被测SOPC软件测试输入数据帧发送给PCI硬件板卡,由PCI硬件板卡转发给SCEMI协议转换硬件板卡,SCEMI协议转换硬件板卡按照SCEMI协议将测试输入数据帧发送给硬件仿真加速器,将测试输入数据帧缓存并进行跨时钟域转换,将跨时钟域转换的测试输入数据帧缓存,再按照软件工作站和硬件仿真加速器约定的测试协议解析测试输入数据帧,然后按照被测SOPC软件输入接口时序添加输入信号。根据本专利技术的覆盖率驱动软硬件协同的SOPC功能验证方法的一实施例,其中,第三步还包括:被测SOPC软件输出信号缓存后,将被测SOPC软件输出信号按照软件工作站和硬件仿真加速器约定的测试协议打包后发送给软件工作站,软件工作站进行协议转换后发送给PCI硬件板卡,PCI硬件板卡将测试数据发送给SOPC测试程序。根据本专利技术的覆盖率驱动软硬件协同的SOPC功能验证方法的一实施例,其中,第四步包括:软件工作站将功能测试条件下的标准解和从硬件仿真加速器接收的被测SOPC软件输出结果,进行功能测试结果的比对并标记未通过的功能测试用例,统计功能测试覆盖点,并根据覆盖率信息统计未覆盖的功能测试项,将未覆盖的测试项转换为测试输入。本专利技术一种覆盖率驱动软硬件协同的SOPC功能验证方法和系统,率先采用功能覆盖率驱动的闭环测试技术、仿真激励自动生成技术和软硬件协同仿真技术相结合的方式,解决了现有硬件HDL仿真器速度慢,SOPC系统板级测试的可观测性差,测试灵活度不高,传统的需求为导向的人工测试方法测试效率不高等问题。附图说明图1所示为本专利技术一种覆盖率驱动软硬件协同的SOPC功能验证系统的结构图;图2所示为软件工作站结构示意图;图3所示为硬件仿真加速器结构示意图。具体实施方式为使本本文档来自技高网...
一种覆盖率驱动软硬件协同的SOPC功能验证方法和系统

【技术保护点】
1.一种覆盖率驱动软硬件协同的SOPC功能验证系统,其特征在于,包括:软件工作站以及硬件仿真加速器;软件工作站包括测试需求表、测试脚本程序、SOPC测试程序、功能覆盖率统计程序、测试结果比对程序、板卡驱动程序、PCI硬件板卡和SCEMI协议转换硬件板卡;硬件仿真加速器包括SCEMI硬件转换状态机、数据缓冲模块、激励数据解析状态机、功能配置状态机、模拟接收响应模块和被测SOPC软件;软件工作站包括软件层、PCI硬件板卡和SCEMI协议转换硬件板卡,软件层包括测试需求表、测试脚本程序、SOPC测试程序、功能覆盖率统计程序、测试结果比对程序和板卡驱动程序;硬件仿真加速器包括测试数据转换逻辑和被测SOPC软件;测试数据转换逻辑包括SCEMI硬件转换状态机、数据缓冲模块、激励数据解析状态机、功能配置状态机、模拟发送激励模块和模拟接收响应模块;其中,测试脚本程序提取测试需求表中功能测试点后发送给SOPC测试程序,由SOPC测试程序定义功能覆盖点,并生成SOPC软件功能测试的输入向量数据和期望的输出向量数据,在测试用例执行完后将覆盖的功能点发送给功能覆盖率统计程序,完成覆盖率统计;测试脚本程序根据覆盖率结果提取未执行的功能测试项后转发给SOPC测试程序;被测SOPC软件的输出数据通过SCEMI协议转换硬件板卡、PCI硬件板卡以及板卡驱动程序发送给测试结果比对程序,测试结果比对程序将被测SOPC软件的输出数据和期望的输出向量数据进行比对,并标记测试过程中未通过的测试用例;测试数据转换逻辑用于接收软件工作站的测试场景数据并按照时序关系转化为被测SOPC软件的输入数据,并采集被测SOPC软件输出数据并发送给软件工作站;SCEMI协议转换状态机,用于将软件工作站发送的SCEMI协议测试数据转为本地协议数据,并缓存到数据缓冲模块后转发给激励数据解析状态机;激励数据解析状态机,用于解析出真实的测试数据,并发送给被测SOPC软件;被测SOPC软件将输出信号发送给模拟接收响应模块,模拟接收响应模块,用于将测试结果数据打包后缓存到数据缓冲模块,SCEMI协议转换状态机将数据缓冲模块的数据发送给软件工作站;功能配置状态机是激励数据解析状态机对仿真状态的控制部件,用于读硬件端寄存器的值来判断硬件的状态,以及通过写寄存器以改变硬件运行的状态机。...

【技术特征摘要】
1.一种覆盖率驱动软硬件协同的SOPC功能验证系统,其特征在于,包括:软件工作站以及硬件仿真加速器;软件工作站包括测试需求表、测试脚本程序、SOPC测试程序、功能覆盖率统计程序、测试结果比对程序、板卡驱动程序、PCI硬件板卡和SCEMI协议转换硬件板卡;硬件仿真加速器包括SCEMI硬件转换状态机、数据缓冲模块、激励数据解析状态机、功能配置状态机、模拟接收响应模块和被测SOPC软件;软件工作站包括软件层、PCI硬件板卡和SCEMI协议转换硬件板卡,软件层包括测试需求表、测试脚本程序、SOPC测试程序、功能覆盖率统计程序、测试结果比对程序和板卡驱动程序;硬件仿真加速器包括测试数据转换逻辑和被测SOPC软件;测试数据转换逻辑包括SCEMI硬件转换状态机、数据缓冲模块、激励数据解析状态机、功能配置状态机、模拟发送激励模块和模拟接收响应模块;其中,测试脚本程序提取测试需求表中功能测试点后发送给SOPC测试程序,由SOPC测试程序定义功能覆盖点,并生成SOPC软件功能测试的输入向量数据和期望的输出向量数据,在测试用例执行完后将覆盖的功能点发送给功能覆盖率统计程序,完成覆盖率统计;测试脚本程序根据覆盖率结果提取未执行的功能测试项后转发给SOPC测试程序;被测SOPC软件的输出数据通过SCEMI协议转换硬件板卡、PCI硬件板卡以及板卡驱动程序发送给测试结果比对程序,测试结果比对程序将被测SOPC软件的输出数据和期望的输出向量数据进行比对,并标记测试过程中未通过的测试用例;测试数据转换逻辑用于接收软件工作站的测试场景数据并按照时序关系转化为被测SOPC软件的输入数据,并采集被测SOPC软件输出数据并发送给软件工作站;SCEMI协议转换状态机,用于将软件工作站发送的SCEMI协议测试数据转为本地协议数据,并缓存到数据缓冲模块后转发给激励数据解析状态机;激励数据解析状态机,用于解析出真实的测试数据,并发送给被测SOPC软件;被测SOPC软件将输出信号发送给模拟接收响应模块,模拟接收响应模块,用于将测试结果数据打包后缓存到数据缓冲模块,SCEMI协议转换状态机将数据缓冲模块的数据发送给软件工作站;功能配置状态机是激励数据解析状态机对仿真状态的控制部件,用于读硬件端寄存器的值来判断硬件的状态,以及通过写寄存器以改变硬件运行的状态机。2.如权利要求1所述的覆盖率驱动软硬件协同的SOPC功能验证系统,其特征在于,软件工作站和硬件仿真加速器通过LVDS总线连接,软件工作站和硬件仿真加速器之间的通讯遵循SCE-MI协议约定。3.如权利要求1所述的覆盖率驱动软硬件协同的SOPC...

【专利技术属性】
技术研发人员:杨鹏飞杨波李敏盛晓娟
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1