一种可编程逻辑器件加速的测试装置及方法与流程

文档序号:25612299发布日期:2021-06-25 15:17阅读:121来源:国知局
一种可编程逻辑器件加速的测试装置及方法与流程

1.本发明属于可编程逻辑器件的测试领域,更具体地,涉及一种可编程逻辑器件加速的测试装置及方法。


背景技术:

2.目前可编程逻辑器件的测试方法主要为完全基于软环境的仿真测试方法和基于特定硬件环境的测试方法。其中,完全基于软环境的仿真测试主要包括静态测试、仿真测试和内嵌的逻辑分析仪测试。
3.静态测试为对fpga/cpld软件代码进行规则检查和静态时序分析等。静态测试具有不需要外部测试机理、效率高和全覆盖的优点。但是精确度不高,不能真实地模拟被测件的实际工作情况,并且由于“虚假路径”的存在,会妨碍关键路径的确定,降低时序验证的效率。
4.对fpga/cpld的仿真包括功能仿真和时序仿真。功能仿真也称为前仿真或行为级仿真,是指仅对逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程没有加入时序信息,不涉及具体器件的硬件特性,考虑的是理想化的情况,没有门延迟和布线延迟。时序仿真也称为后仿真或布局布线后仿真,是指提取有关的器件延迟和连线延时等时序参数,并在此基础上进行的仿真,仿真是在不考虑硬件特性,并假设输出理想的情况下进行,具有直观和覆盖率高的特点,并能够在设计的初始阶段尽早发现问题等特点。但仿真的结果存在较大的局限性,不能真实地模拟被测fpga/cpld器件特征,仿真的模型多依赖于fpga/cpld器件厂商提供的仿真模型,直接导致仿真的结果不能真实地体现fpga/cpld的实际工作情况,使得测试结果的准确性和精确性不能满足要求,并且如果系统的逻辑量较大,仿真的耗时较长。
5.内嵌的逻辑分析仪测试是将逻辑分析器、总线分析器和虚拟i/o小型软件直接插入到用户的设计当中,可以直接查看任何内部信号或节点。内嵌逻辑分析仪测试可以分析fpga/cpld内部任何信号,在板上以达到或接近目标工程的速度验证fpga/cpld设计,并能将引脚的影响降至最低。但内嵌逻辑分析仪测试存在速度和精度不够高的缺点,数据量的深度也不能满足大规模测试的需求。
6.基于特定硬件环境的测试方法是针对fpga/cpld开发硬件而定制设计的fpga/cpld测试验证平台,包括硬件电路的设计、验证板fpga/cpld的配置、测试向量的编写和测试结果的获取等。该方法往往投资大、耗时长,输入测试向量和采集测试结果不能实现完全的自动化,需要手动进行测试向量的配置和人工分析响应结果,整个测试系统受外界环境影响较大、稳定性差,并且难以保证测试的精度,研制出的测试环境平台可移植性不够高,只能针对单一的配置项,无法统计测试的覆盖率。


技术实现要素:

7.针对现有技术的缺陷,本发明的目的在于提供了一种可编程逻辑器件加速的测试
装置及方法,旨在解决现有的可编程逻辑器件的测试方法无法兼容软件仿真、半实物仿真和板级测试于一体,导致可编程逻辑器件的可移植性较差的问题。
8.为实现上述目的,本发明提供了一种可编程逻辑器件加速的测试装置,包括仿真系统和可编程逻辑器件平台;
9.仿真系统与可编程逻辑器件平台双向数据传输;使用时子板与可编程逻辑器件平台通过通用i/o接口连接;
10.可编程逻辑器件平台用于将采集的测试输入激励信号时序转换后,输入至被测可编程逻辑器件中进行软件测试,获取的被测软件输出信号进行时序转换后返回至仿真系统;仿真系统用于设置第三方仿真软件的路径和参数,编辑可编程逻辑器件平台的配置参数,将输入信号转换为可编程逻辑器件兼容的语言,并将时序转换后的被测软件输出信号接收后显示;
11.其中,测试输入激励信号包括通过可编程逻辑器件兼容语言转换成的数据流、外部模拟软件或模拟设备产生的全覆盖输入信号以及实装设备产生的输入信号。
12.优选地,可编程逻辑器件平台包括cpu模块、输入数据存储模块、输出数据存储模块、输入输出时序控制模块、第一实装接口、第二实装接口和i/o接口;
13.cpu模块上行与仿真系统相连,下行与输入数据存储模块、输出数据存储模块和输入输出时序控制模块相连;输入输出时序控制模块下行与第一实装接口、第二实装接口和i/o接口相连;
14.cpu模块用于与仿真系统进行数据传输,并通过命令接口控制输入输出时序控制模块和子板;
15.输入数据存储模块用于存储测试输入激励数据;输出数据存储模块用于存储被测软件输出数据;
16.输入输出时序控制模块用于测试输入激励信号和被测软件输出信号的时序转换;
17.第一实装接口和第二实装接口用于接口时序转换;
18.i/o接口用于接入被测软件的芯片,为被测软件提供满足时序要求的测试输入激励数据。
19.优选地,仿真系统包括环境集成控制模块、平台配置模块、激励编辑模块、激励转换模块、激励数据收发模块和仿真结果处理模块;
20.环境集成控制模块用于通过嵌入人机交互界面设置第三方仿真软件的路径和参数;
21.平台配置模块用于通过嵌入人机交互界面编辑可编程逻辑器件平台的配置参数;
22.激励编辑模块用于编辑输入信号,使其转换为第三方仿真软件可兼容的语言,或根据激励要求编辑后转换为verilog语言;
23.激励转换模块用于将verilog语言产生的输出信号转换为bit数据流;
24.激励数据收发模块用于将bit数据流通过高速接口传输至可编程逻辑器件平台;且接收可编程逻辑器件平台发送的时序转换后的被测软件输出数据;
25.仿真结果处理模块用于将时序转换后的被测软件输出数据可视化显示。
26.优选地,可编程逻辑器件平台的配置参数包括:数据存储深度、输入输出时序控制模块参数和测试指令。
27.优选地,激励编辑模块编辑的输入信号包括代码、图形图表及测试激励库;其中,编辑代码使其兼容第三方仿真软件;根据激励要求编辑图形图表后转换为verilog语言。
28.优选地,输入输出时序控制模块支持的测试输入激励信号包括编辑的激励文件、模拟软件或模拟测试设备产生的激励信号;
29.测试输入激励信号和被测软件输出信号的时序转换包括:
30.将从输入数据存储模块获取的激励文件转换为满足被测软件时序要求的输入信号;将模拟软件或者模拟测试设备产生的激励信号转换为满足被测软件时序要求的输入信号;将子板传输的被测软件输出数据转换为满足输出数据存储模块接口时序要求的时序数据。
31.另一方面,基于上述可编程逻辑器件加速的测试装置,本发明公开了相应的软件测试方法,包括以下步骤:
32.将被测软件编译、布局布线生成下载文件,存储至被测可编程逻辑器件中;
33.将verilog语言产生的输出信号通过高速接口传输到可编程逻辑器件平台,将其转换为测试输入激励信号;将测试输入激励信号时序转换成满足被测软件时序要求的输入信号后,输入至被测可编程逻辑器件中进行软件测试,获取被测软件输出信号;
34.将被测软件输出信号时序转换成满足仿真系统接口时序要求的时序数据,并将其可视化显示。
35.另一方面,基于上述可编程逻辑器件加速的测试装置,本发明公开了相应的半实物测试方法,包括以下步骤:
36.将被测软件编译、布局布线生成下载文件,并存储至被测可编程逻辑器件中;
37.将外部模拟软件或模拟设备产生的输入信号通过实装接口传输到可编程逻辑器件平台,将其转换为测试输入激励信号;
38.将测试输入激励信号时序转换成满足被测软件时序要求的输入信号后,输入至被测可编程逻辑器件中进行软件测试,获取被测软件输出信号;
39.将被测软件输出信号时序转换成满足仿真系统接口时序要求的时序数据,并将其可视化显示。
40.另一方面,基于上述可编程逻辑器件加速的测试装置,本发明公开了相应的板级测试方法,包括以下步骤:
41.将被测软件编译、布局布线生成下载文件,并存储至被测可编程逻辑器件中;
42.将外部模拟软件或实装设备产生的输入信号通过实装接口传递到可编程逻辑器件平台将其转换为测试输入激励信号;
43.将测试输入激励信号时序转换成满足被测软件时序要求的输入信号后,输入至被测可编程逻辑器件中进行软件测试,获取被测软件输出信号;
44.将被测软件输出信号时序转换成满足仿真系统接口时序要求的时序数据,并将其可视化显示。
45.总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
46.本发明集软件仿真、半实物仿真和板级验证于一体。对于软件仿真,仿真激励的产生和仿真结果的显示保持与传统软件仿真形式一致,而仿真过程由纯软件环境变为实际
fpga/cpld器件的实装环境,既保证了仿真的灵活性和全覆盖性,又解决了仿真结果的准确性和精确性问题。对于半实物仿真,仿真激励和仿真过程保持与传统半实物仿真形式一致,仿真结果的显示采用软件仿真的显示形式,保证测试结果的直观性;对于板级验证,测试激励的产生、测试过程及测试结果的显示保持与传统板级验证一致,但测试环境采用母板和子板结构,实现对全系列型号可编程逻辑器件的兼容。因此,可编程逻辑器件加速的测试装置及方法在保证精确性的基础上,提升了产生测试激励的方便性、覆盖性以及测试结果观察的灵活性,同时通过子板结构覆盖所有系列型号的可编程逻辑器件,提升了可编程逻辑软件测试效率,减少了测试成本,使得可编程逻辑软件仿真验证与开发设计研究工作同步进行。
附图说明
47.图1是本发明实施例提供的可编程逻辑器件加速的测试装置实物示意图;
48.图2是本发明实施例提供的仿真系统示意图;
49.图3是本发明实施例提供的可编程逻辑器件平台的结构示意图;
50.图4是本发明实施例提供的可编程逻辑器件加速的测试方法示意图。
具体实施方式
51.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
52.一种可编程逻辑器件加速的测试装置,包括仿真系统和可编程逻辑器件平台;
53.仿真系统与可编程逻辑器件平台双向数据传输;使用时子板与可编程逻辑器件平台通过通用i/o接口连接;
54.可编程逻辑器件平台用于将采集的测试输入激励信号时序转换后,输入至被测可编程逻辑器件中进行软件测试,获取的被测软件输出信号进行时序转换后返回至仿真系统;仿真系统用于设置第三方仿真软件的路径和参数,编辑可编程逻辑器件平台的配置参数,将输入信号转换为可编程逻辑器件兼容的语言,并将时序转换后的被测软件输出信号接收后显示;
55.其中,测试输入激励信号包括通过可编程逻辑器件兼容语言转换成的数据流、外部模拟软件或模拟设备产生的全覆盖输入信号以及实装设备产生的输入信号。
56.优选地,可编程逻辑器件平台包括cpu模块、输入数据存储模块、输出数据存储模块、输入输出时序控制模块、第一实装接口、第二实装接口和i/o接口;
57.cpu模块上行与仿真系统相连,下行与输入数据存储模块、输出数据存储模块和输入输出时序控制模块相连;输入输出时序控制模块下行与第一实装接口、第二实装接口和i/o接口相连;
58.cpu模块用于与仿真系统进行数据传输,并通过命令接口控制输入输出时序控制模块和子板;
59.输入数据存储模块用于存储测试输入激励数据;输出数据存储模块用于存储被测软件输出数据;
60.输入输出时序控制模块用于测试输入激励信号和被测软件输出信号的时序转换;
61.第一实装接口和第二实装接口用于接口时序转换;
62.i/o接口用于接入被测软件的芯片,为被测软件提供满足时序要求的测试输入激励数据。
63.优选地,仿真系统包括环境集成控制模块、平台配置模块、激励编辑模块、激励转换模块、激励数据收发模块和仿真结果处理模块;
64.环境集成控制模块用于通过嵌入人机交互界面设置第三方仿真软件的路径和参数;
65.平台配置模块用于通过嵌入人机交互界面编辑可编程逻辑器件平台的配置参数;
66.激励编辑模块用于编辑输入信号,使其转换为第三方仿真软件可兼容的语言,或根据激励要求编辑后转换为verilog语言;
67.激励转换模块用于将verilog语言产生的输出信号转换为bit数据流;
68.激励数据收发模块用于将bit数据流通过高速接口传输至可编程逻辑器件平台;且接收可编程逻辑器件平台发送的时序转换后的被测软件输出数据;
69.仿真结果处理模块用于将时序转换后的被测软件输出数据可视化显示。
70.优选地,可编程逻辑器件平台的配置参数包括:数据存储深度、输入输出时序控制模块参数和测试指令。
71.优选地,激励编辑模块编辑的输入信号包括代码、图形图表及测试激励库;其中,编辑代码使其兼容第三方仿真软件;根据激励要求编辑图形图表后转换为verilog语言。
72.优选地,输入输出时序控制模块支持的测试输入激励信号包括编辑的激励文件、模拟软件或模拟测试设备产生的激励信号;
73.测试输入激励信号和被测软件输出信号的时序转换包括:
74.将从输入数据存储模块获取的激励文件转换为满足被测软件时序要求的输入信号;将模拟软件或者模拟测试设备产生的激励信号转换为满足被测软件时序要求的输入信号;将子板传输的被测软件输出数据转换为满足输出数据存储模块接口时序要求的时序数据。
75.另一方面,基于上述可编程逻辑器件加速的测试装置,本发明公开了相应的软件仿真方法,包括以下步骤:
76.将被测软件编译、布局布线生成下载文件,存储至被测可编程逻辑器件中;
77.将verilog语言产生的输出信号通过高速接口传输到可编程逻辑器件平台,将其转换为测试输入激励信号;
78.将测试输入激励信号时序转换成满足被测软件时序要求的输入信号后,输入至被测可编程逻辑器件中进行软件测试,获取被测软件输出信号;
79.将被测软件输出信号时序转换成满足仿真系统接口时序要求的时序数据,并将其可视化显示。
80.另一方面,基于上述可编程逻辑器件加速的测试装置,本发明公开了相应的半实物测试方法,包括以下步骤:
81.将被测软件编译、布局布线生成下载文件,并存储至被测可编程逻辑器件中;
82.将外部模拟软件或模拟设备产生的输入信号通过实装接口传输到可编程逻辑器
件平台,将其转换为测试输入激励信号;
83.将测试输入激励信号时序转换成满足被测软件时序要求的输入信号后,输入至被测可编程逻辑器件中进行软件测试,获取被测软件输出信号;
84.将被测软件输出信号时序转换成满足仿真系统接口时序要求的时序数据,并将其可视化显示。
85.另一方面,基于上述可编程逻辑器件加速的测试装置,本发明公开了相应的板级测试方法,包括以下步骤:
86.将被测软件编译、布局布线生成下载文件,并存储至被测可编程逻辑器件中;
87.将外部模拟设备或实装设备产生的输入信号通过实装接口传递到可编程逻辑器件平台将其转换为测试输入激励信号;
88.将测试输入激励信号时序转换成满足被测软件时序要求的输入信号后,输入至被测可编程逻辑器件中进行软件测试,获取被测软件输出信号;
89.将被测软件输出信号时序转换成满足仿真系统接口时序要求的时序数据,并将其可视化显示。
90.实施例
91.如图1所示,一种可编程逻辑器件加速的测试装置,包括仿真系统和可编程逻辑器件平台;如图2所示,仿真系统包括环境集成控制模块、平台配置模块、激励编辑模块、激励转换模块、激励数据收发模块和仿真结果处理模块如图3所示,可编程逻辑器件平台包括cpu模块01、输入数据存储模块02、输出数据存储模块06、输入输出时序控制模块03、实装接口07、实装接被测口08和i/o接口04;子板05包括被测fpga/cpld和i/o接口。i/o接口04支持现有全系列型号的fpga和cpld器件。
92.1.下面首先介绍仿真系统的组成部分。
93.环境集成控制模块通过嵌入人机交互界面设置第三方仿真软件的路径和参数,实现对第三方仿真软件的配置和管理功能。
94.平台配置模块通过嵌入人机交互界面编辑可编程逻辑器件平台的配置参数,并通过高速接口发送至可编程逻辑器件平台。配置参数包括数据存储深度、输入输出时序控制模块参数和测试指令。
95.激励编辑模块的编辑包括代码输入、图形图表输入及测试激励库的管理,对于代码输入通过兼容第三方仿真软件实现;图形图表输入是根据激励要求编辑图形图表直观表达仿真激励,并转换为verilog语言。
96.激励转换模块用于将verilog语言产生的输出信号转换为bit数据流,便于输入输出时序控制模块转换为被测fpga/cpld可以接收的时序信号。
97.激励数据收发模块一方面将仿真激励转换模块产生的bit数据流通过高速接口传输至可编程逻辑器件平台的输入数据存储模块,另一方面接收可编程逻辑器件平台发送的被测软件输出数据。
98.仿真结果处理模块用于将仿真结果进行波形显示或者经过数据处理分析后通过图表结构进行显示,波形显示主要对取得的信号数据的图形化波形显示。
99.2.下面介绍可编程逻辑器件平台的组成部分。
100.cpu模块01在整个测试系统中的作用主要体现在:与上位机00的数据传输,包括测
试开始前的配置参数数据、运行中的激励输入数据和运行后的结果数据的传输;并通过命令接口控制输入输出时序控制模块03和子板05,实现对整个测试过程的控制。
101.输入数据存储模块02和输出数据存储模块06主要用于存储测试输入激励数据和被测软件输出数据。cpu模块01接收上位机00的测试激励文件后存入输入数据存储模块02中,待母板配置完成后,输入输出时序控制模块03开始读取测试激励,测试过程中被测软件产生的输出数据存入输出数据存储模块06,待上位机00通过cpu模块01读取输出数据并进行分析。
102.输入输出时序控制模块03实现测试输入激励信号和被测软件输出信号的时序转换,支持两种测试输入激励信号:测试人员编辑的激励文件(通过高速接口传输给输入存储模块)和模拟软件或模拟测试设备产生的激励信号(通过实装接口07和实装接口08)。因此,输入输出时序控制模块在整个测试系统中的作用主要体现在:从输入数据存储模块获取激励文件并转换为满足被测fpga时序要求的输入信号;采集模拟软件或者模拟测试设备产生的激励信号转换为满足被测fpga时序要求的输入信号;采集子板05运行结果的输出数据转换为满足输出数据存储模块06接口时序要求的时序数据。
103.第一实装接口07和第二实装接口08主要用于实现接口时序转换功能,其中,实装接口07完成i/o串口和can等接口协议的转换,实装接口08完成网络、da和图像等接口协议的转换。
104.通用i/o接口04用于接入运行被测软件的通用fpga芯片。采用4个双排插座,支持最大管脚数的fpga/cpld器件,实现全系列型号的fpga和cpld器件。
105.子板05是运行被测软件的fpga/cpld系列模块,模块电路根据不同型号的fpga/cpld具有一定差异性,但是子板的尺寸大小和接口是标准的,必须与母板上的通用i/o接口兼容,实现兼容全系列型号的fpga和cpld器件。
106.3.测试功能的介绍
107.软件仿真的介绍:如图4所示,将被测软件(dut)编译、布局布线生成下载文件,通过fpga/cpld仿真器下载到子板05的被测fpga/cpld中,测试输入为verilog testbenc或者system verilog testbenc,通过仿真软件转换为数据流通过高速接口传输到母板的输入输出时序控制模块03中,被测fpga/cpld的输出通过高速接口传输至仿真软件,便于分析。
108.半实物仿真的介绍:如图4所示,将被测软件(dut)编译、布局布线生成下载文件,通过fpga/cpld仿真器下载到子板05的被测fpga/cpld中,测试输入为外部模拟软件或者模拟设备产生全覆盖的输入信号,通过实装接口传输给母板的输入输出时序控制模块03中,被测fpga/cpld的输出通过高速传输至仿真系统,便于分析。
109.板级测试的介绍:如图4所示,将被测软件(dut)编译、布局布线生成下载文件,通过fpga/cpld仿真器下载到子板05的被测fpga/cpld中,测试输入为外部模拟软件或者实装设备产生满足要求的输入信号,通过实装接口传输给母板的输入输出时序控制模块03中,被测fpga/cpld的输出通过高速传输至仿真软件,便于分析。
110.综上所述,本发明集软件仿真、半实物仿真和板级验证于一体。对于软件仿真,仿真激励的产生和仿真结果的显示保持与传统软件仿真形式一致,而仿真过程由纯软件环境变为实际fpga/cpld器件的实装环境,既保证了仿真的灵活性和全覆盖性,又解决了仿真结果的准确性和精确性问题。对于半实物仿真,仿真激励和仿真过程保持与传统半实物仿真
形式一致,仿真结果的显示采用软件仿真的显示形式,保证测试结果的直观性;对于板级验证,测试激励的产生、测试过程及测试结果的显示保持与传统板级验证一致,但测试环境采用母板和子板结构,实现对全系列型号fpga/cpld的兼容。因此,可编程逻辑器件加速的测试装置及方法在保证精确性的基础上,提升了产生测试激励的方便性、覆盖性以及测试结果观察的灵活性,同时通过子板结构覆盖所有系列型号的fpga/cpld,提升了fpga/cpld软件测试效率,减少了测试成本,使得fpga/cpld软件仿真验证与开发设计研究工作同步进行。
111.更为具体的,本发明提供的可编程逻辑器件加速的测试装置及方法,存在以下优势:
112.仿真系统保证了测试验证的覆盖充分性,可编程逻辑器件平台保证了测试验证的精确性;
113.支持调试工具或模拟软件产生测试输入进行板级验证,体现了测试输入具有模拟性。
114.本发明中半实物仿真、板级验证的加速功能可以达到实装环境的测试速率。
115.在半实物环境测试验证中,能将软件内部信号灵活输出进行观察分析,体现了测试结果可视化的灵活性。
116.可编程逻辑器件平台将通用的硬件平台和差异化的被测实体分开,通过适配不同的被测实体子板,实现各种不同类型fpga/cpld软件的测试和验证,体现了本发明测试平台的可移植性。
117.可编程逻辑器件平台采用fpga/cpld芯片加速仿真测试的性能,采用高性能的高速接口提升数据传输速率,突破测试数据深度限制,满足大规模测试要求。
118.可编程逻辑器件平台能兼容各种不同类型fpga/cpld软件测试和验证需求,大大降低了fpga/cpld软件测试和验证的成本,同时提升了测试和验证效率。
119.子板上的被测fpga/cpld是实装器件,板级验证时驱动和测试验证的对象是子板上的实装fpga/cpld,具有真实性。
120.fpga/cpld软件的仿真验证与开发设计研发工作可同步并行。子板为被测fpga/cpld,支持全系列型号的fpga/cpld器件。
121.本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1