admin 管理员组

文章数量: 1184232


2024年4月16日发(作者:下载java有什么用)

计算机技术与发展

第31卷 第5期

          

ol.31 No.5

          

2021年5月May. 2021

COMPUTERTECHNOLOGYANDDEVELOPMENT

基于VCD波形的FPGA实物自动化测试技术

许寿全

(江苏自动化研究所,江苏连云港222061)

摘 要:为解决FPGA软件测试过程中仿真测试实时性不高和实物测试不充分的缺点,对FPGA实物验证环境搭建技术和

CD波形的FPGA实物自动化测试技术。通过对VCD波形数据压缩、转换形成自芯片验证机理进行研究,提出一种基于V

定义测试向量,解决了输入信号量过于庞大的问题。采用PCI-E数据总线和DMA数据共享的方式实现自定义测试向量

实时传输,并经过数据-引脚映射完成被测FPGA芯片真实信号注入,保证了信号的实时性和测试的充分性。信号在真实

PGA芯片返回信号,自动完成与VCD波形中期望值的比对。在FPGA验证平台上进行验证,结芯片中运行后,通过采集F

果表明,该技术能够在保证测试充分性的基础上自动完成对FPGA芯片实物验证,提高了测评效率和测评的真实性。

关键词:软件测试;FPGA;VCD;实物自动化验证技术;实时

中图分类号:TP31      文献标识码:A       文章编号:1673-629X(2021)05-0108-05

:10.3969/j.issn.1673-629X.2021.05.019doi

TechniqueofFPGAPhysicalVerificationBasedon

VCDWaveform

XUShou-quan

(JiangsuAutomationResearchInstitute,Lianyungang222061,China)

Abstract:Inordertosolvetheshortcomingsoflowreal-timesimulationtestandinsufficientphysicaltestinFPGAsoftwaretesting

process,westudytheconstructiontechnologyofFPGAphysicalverificationenvironmentandchipverificationmechanismandproposea

FPGAphysicalautomatictesttechnologybasedonVCDwaveform.BycompressingandconvertingVCDwaveformdataintoself-

definedtestvectors,theproblemoftoolargeinputsemaphoreissolved.Thereal-timetransmissionofuser-definedtestvectorisrealized

byPCI-EdatabusandDMAdatasharing,andtherealsignalinjectionofFPGAchipundertestiscompletedthroughdatapinmapping,

whichensuresthereal-timeperformanceofsignalandthesufficiencyoftest.Afterthesignalrunsintherealchip,itcanautomatically

completethecomparisonwiththeexpectedvalueofVCDwaveformbycollectingthereturnsignalfromFPGAchip.Itisverifiedon

FPGAverificationplatformthattheproposedtechnologycanautomaticallycompletetheverificationofFPGAchiponthebasisof

ensuringthetestadequacy,whichimprovestheefficiencyandauthenticityoftheevaluation.

Keywords:softwaretest;FPGA;VCD;physicalautomationverificationtechnology;realtime

0 引 言

1]

随着系统理论

和装备软件的发展,对芯片的要

软件来模仿电路的硬件行为,从而对被测芯片的功能

进行验证,因其脱离芯片采用纯软件仿真,无法保证信

号实时性,导致测试结果失真,并且后仿真速度慢,影

响软件测试效率。而实物验证由于外部信号模拟困

难,信号输入灵活性相对软件仿真较差,测试数据范围

窄,无法满足软件测试的充分性要求。

为此,该文提出一种基于VCD波形的FPGA实物

自动化验证技术,该技术以VCD波形为基础,以硬件

芯片为被测对象,既能保证输入信号的高实时性,又能

满足灵活性需求。实验结果表明具有较高可信度,是

当前FPGA软件测评过程的有力补充。

求越来越高,而FPGA(field-programmablegate

array),即现场可编程门阵列,以其集成度高、功耗低、

灵活性高等优点而被广泛应用在通信、数字信号处理、

2]

雷达和声呐领域

。如何降低FPGA软件故障率,提

高装备质量,保证装备软件可靠运行,变得尤为重

3]

,也为软件测评提出更高的要求。

FPGA软件不同于常规软件,因其与硬件芯片、时

钟频率、布局布线有关,需要经过静态分析、时序分析、

4]5]

。动态仿真

利用仿真动态仿真、实物验证等步骤

收稿日期:2020-07-09      修回日期:2020-11-11

基金项目:国家自然科学基金项目(61773384)

作者简介:许寿全(1988-),男,硕士研究生,研究方向为FPGA软件测试。

 第5期            许寿全:基于VCD波形的FPGA实物自动化测试技术

·109·

1 FPGA软件测试概述

1.1 FPGA软件测试原理

当前FPGA软件测评流程主要包括:静态检查规

则、跨时钟域检查、功能仿真、门级仿真、逻辑等效性验

证、动态时序仿真、静态时序分析、实物验证。其中,软

件仿真借助仿真软件编写测试激励Testbench模拟信

号输入,同时采集被测软件输出信号VCD波形,进行

结论判定

[6]

。实物验证需要搭建芯片真实运行环境,

与外围电路、设备一同运行,通过功能表现验证软件正

确性

[7]

。软件仿真和实物验证在一定程度上互为补

充,是当前FPGA软件测评主要验证手段。但随着装

备软件应用范围及应用场景的不断变化,当前验证手

段已不能满足对FPGA软件测评越来越高的要求。

1.2 仿真VCD波形文件

IEEE1364标准(VerilogHDL语言标准)中定义的

一种ASCII文件VCD(valuechangedump),是通用的

文件格式。它主要包含变量的预定义,头信息以及变

量值的变化信息。由于它包含信号的变化信息,等同

于记录了整个仿真的信息,VCD文件记录了信号的完

整变化信息

[8]

VCD是一种文本文件,可以使用文本编辑工具将

其打开,它的结构比较简单,主要包含以下信息:

(1)仿真工具名称及版本信息;

(2)VCD文件仿真生成时间;

(3)时间分辨率(timescale):表示时间单位和

精度;

(4)信号的定义:每个信号用一个简单字符来代

表,并指出信号的宽度;

(5)信号的初始状态;

(6)信号的跳变信息,“#”后的数字代表动作

时间。

VCD波形通用性强,易于生成,故本研究拟采用

VCD波形作为设计输入。

2 实物自动化验证平台设计

2.1 实物自动化验证技术实现原理

实物自动化验证技术是一种结合仿真技术和实物

验证平台的验证技术,主要用来弥补软件仿真和硬件

实现之间的缺口

[9]

。软件仿真能够模拟出各种各样的

测试激励,通过软件仿真器生成VCD波形文件。实物

验证平台的软件部分把VCD文件中的数据提取出来,

传给平台上的母板,由母板把这些数据转换为实际的

电信号,发送给被测FPGA

[10]

。被测FPGA的响应又

通过母板上的数据采集电路读回上位机,在上位机中

进行数据的整理和比较

[11]

,来验证被测FPGA的实际

行为和仿真过程中的行为的一致性,具体实现流程见

图1。实物自动化验证技术在生成测试激励时,采用

的是和原设计相同的时钟,能够完全模拟出硬件电路

的工作状态,而不是仿真中的软件计算和仿真加速器

中的降频,使被测电路能够得到最大程度的可靠性

验证。

图1 实物自动化验证原理

2.2 实物自动化验证平台架构

实物自动化验证平台架构如图2所示,它向被测

试对象施加输入激励,采集输出结果,并将其与期望结

果相比较,如果采样输出与期望结果不一致,系统将生

成错误报告。本验证平台的母板采用XILINXVirtex-

7系列芯片(xc7v585t),该芯片具有丰富的I/O口和

可用于存储测试向量和响应数据的28Mbit的RAM,

同时集成COMe模块、DDR3模块、PCI-E总线

[12]

FMC接口等。计算机将VCD波形文件通过PCI-E总

线传至COMe模块,VCD波形数据在COMe模块中被

转换、生成测试向量,随后测试向量在FPGA芯片处被

转化为测试激励,测试激励经FMC接口映射到DUT

引脚上。读取响应结果的过程则相反,FPGA通过

FMC模块读取DUT的响应数据,并将采集到的响应

数据与预期值进行比对,最后将验证结果返回计算机

端进行显示

[13]

COMe

DDR32G

FPGA

xc7v585t

FMC

JTAG

DU

T

DDR32G

图2 实物自动化验证平台架构

2.3 关键技术

2.3.1 VCD波形压缩转换技术

VCD波形的压缩和转换过程如图3所示。

dat1

VCD

dat2

.

.

.

datn

图3 VCD波形压缩转换过程

首先VCD波形被压缩分解成多个dat文件,再根

据时钟域的划分选择其中的部分dat文件,将这些dat

计算机技术与发展                  第31卷

·

                     

110·

文件打包为测试向量,最后将测试向量通过验证平台

生成为测试激励注入到被测对象中。

(1)VCD波形分解压缩技术。

VCD波形文件包含了全部仿真信息,但信号并非

每个时刻都在反转,在对数据存取时,只需要记录数据

变换的过程,就可以完整地复现信号。通过对VCD波

at数据形文件内部的变量进行提取,生成单变量的d

at文件是单引脚波形变化信息,在生成过程文件。d

中,只需对引脚信号的变化时刻和对应值进行记录,从

14]

。而实现信号的压缩

e)根据每个group中信号的时钟,配置寄存器中(

group的时钟,例如,如果group信号处于不同时钟域,

可以group1选clk1,group2选clk2,group3选clk3,

group4选clk4;如果某两个或多个group处于同一时

钟域,可以是group1/2都选clk1,group3/4选clk2,

等等。

(2)测试向量生成技术。

CD波形文件转化得到,软件将测试测试向量由V

向量发送到验证平台,验证平台将其转化为激励向量,

实现输入文件到测试激励的转化。首先定义报文,报

文根据输入文件的信息结构特征和验证平台的工作原

理进行设计。报文定义如图4所示。

(a)将测试向量定义为帧结构,由帧头和若干条

描述行组成;

(b)Pattern_frame_header[31:0]:定义测试向量的

基本信息,包括描述行总数目、测试向量的归属时钟

域等;

(c)Pattern_line_header[7:0]:定义描述行的基本

信号,包括保持周期数等,对于有判断期望值的行保持

周期数必须为1;

d)Pattern_drive[1:0]:定义PIN_DRIVE信号的(

驱动值,00保持原值,01驱动为高阻,10驱动为低电

平,11驱动为高电平;

(e)Pattern_capture[1:0]:定义PIN_CAPTURE信

00:不关心,01:不关心,10:判断并且号的期望值判断,

期望值为低电平,11:判断并且期望值为高电平;

f)Pattern_inout[2:0]:定义PIN_INOUT信号为(

驱动或期望值,Pattern_inout[2]为方向位,0:驱动信

号,1:期望值判断;Pattern_inout[1:0]定义与Pattern_

drive[1:0]一致。

波形压缩转换技术使母板上的FPGA能够通过硬

件电路对信号进行完整的复原,并且避免了每一时刻

都需要对所有信号进行记录的状况,使系统的整体性

能得到提高,确保了信号能够被以全速率进行发送和

采集。这种技术也巧妙地避开了数据存储和传输的性

能瓶颈,使系统能够以线速生成激励、采集响应。

对于存在多个时钟域的待测对象,按时钟域将接

口信号划分为相互独立的若干组,每组接口信号均包

含inout、input和output信号。对于验证平台,同样以

时钟域将Testpattern划分为若干组,每组pattern对应

时钟域接口信号的驱动。时钟域的划分方法如下:

a)根据时钟域pattern被划分为若干个子(

pattern,例如pattern_1、pattern_2、pattern_3、pattern_4,

每个pattern对应一组测试接口信号,子pattern之间相

attern具有完整的帧结构;互独立,每个子p

(b)根据时钟域将pattern加载、存储,划分为不同

roup1、group2、group3、group4;组,例如g

(c)每个group均包含若干个PIN_INOUT、PIN_

DRIVE和PIN_CAPTURE信号;

(d)CLK模块提供多个时钟,例如clk1、clk2、

clk3、clk4;

32bit

Pattern_frame_header

2bit2bit

PatternPattern

Pattern_line_

_drive__drive_

header_0

0001

PatternPattern

Pattern_line_

_drive__drive_

header_1

0001

8bit

2bit2bit2bit2bit3bit3bit3bit

Pattern

_inout_

l

Pattern

_inout_

l

0

PatternPatternPattern

_drive__captur_captur

me_00e_01

PatternPatternPattern

_drive__captur_captur

me_00e_01

PatternPatternPattern

_captur_inout__inout_

e_n0001

PatternPatternPattern

_captur_inout__inout_

e_n0001

1

x

PatternPattern

Pattern_line_

_drive__drive_

header_x

0001

PatternPatternPattern

_drive__captur_captur

me_00e_01

PatternPatternPattern

_captur_inout__inout_

e_n0001

Pattern

_inout_

l

图4 测试向量报文

  (3)测试激励注入技术。

测试向量文件采用FPGA片上的blockRAM搭建

双端口DPRAM组来存储,DPRAM一端处于PCI-E_

slave用户接口时钟域,接受来自pattern_load_ctrl写入

的数据;另一端处于PIN的时钟域,读出数据给pin_

ctrl,用于控制PIN的驱动和获取,将测试向量映射到

 第5期            许寿全:基于VCD波形的FPGA实物自动化测试技术

·111·

对应引脚,完成测试激励注入,注入过程如图5所示。2.3.2 输出波形分析比较技术

(1)被验对象输出波形采集。

测试结果文件采用FPGA片上blockRAM搭建双

端口DPRAM组来存储。DPRAM一端接受pin_ctrl

PCIe_slave

写入的测试结果数据,处于PIN的时钟域,另一端读出

数据给result_read_ctrl,处于PCI-E_slave用户接口时

钟域,采集过程与测试激励注入过程相反。

2)验证结果文件的报文定义。(

验证结果文件是由验证平台生成的,它的输入为

Pattern_load_ctrl

DPRAM

...

DPRAM

被测对象的各输出引脚波形。验证平台要处理这些波

形,包括存储、格式转换和发送等操作。

输出波形到验证结果文件的转化要结合波形信息

特征和验证平台工作的原理进行。由于使用的是波

Pin_ctrl

PINPIN

...

形,这与测试向量的生成方式类似,因此对验证结果文

件的报文定义如图6所示。

2bit2bit2bit2bit2bit

Pin_ino

ut_value

_l

Pin_ino

ut_value

_l

图5 测试激励注入过程

16bit

0

2bit

Pin_captPin_capt

Result_header

ure_valuure_valu

_0

e_00e_01

Pin_captPin_capt

Result_header

ure_valuure_valu

_1

e_00e_01

Pin_captPin_inoPin_ino

ure_valuut_valueut_valiu

e_n_00e_01

Pin_captPin_inoPin_ino

ure_valuut_valueut_valiu

e_n_00e_01

1

x

Pin_captPin_capt

Result_header

ure_valuure_valu

_x

e_00e_01

Pin_captPin_inoPin_ino

ure_valuut_valueut_valiu

e_n_00e_01

Pin_ino

ut_value

_l

图6 测试结果报文

  (a)测试结果文件由若干结果行构成;

(b)含有判断期望值的描述行的所有PIN_

CAPTURE信号的真实值,记为PIN_CAPTURE_

VALUE[1:0],和PIN_INOUT信号的真实值,记为

PIN_INOUT_VALUE[1:0],构成一个结果行;

(c)PIN_CAPTURE_VALUE[1:0]:00,低电平,

01,高电平,10/11,高阻;

d)PIN_INOUT_VALUE[1:0]:00,低电平,01,(

高电平,10/11,高阻;

e)每条结果行包含一个Result_header[15:0],(

[15]标记是否有判断期望值不一致的信号,1:有错,

0:无错,[14:0]为对应描述行序号值;

(f)由结果行头位置信息可以定位到测试向量的

某条描述行,可以得到判断信号的期望值和真实值。

3)测试报告的生成方法。(

结合测试向量和测试结果文件,根据测试结果文

件每条行头标记的描述行序号,将测试结果与测试向

量文件进行匹配,标记出测试向量文件中所有包含判

15]

。断期望值信号的真实值,得到测试报告

3 实验验证

实物自动化验证平台包含子板和母板,外部连接

辅助计算机。

首先通过PCI-E接口接收VCD波形文件,验证

平台将其压缩转换为测试向量,测试向量如图7所示。

然后,向测试向量文件中mem[4]、mem[6]注入

错误行,通过验证平台将测试向量加载到被测FPGA

芯片。随后验证平台读取从被测FPGA上返回的输出

数据,经过与期望值比较,得到验证报告,结果显示在

列表中。

点击结果列表,可显示验证平台波形,通过与注入

错误行前的原始波形比较,可定位问题。注入错误行

前原始波形和注入错误行后波形如图8所示。

注入错误行前,波形图中cap_error_valid信号一

直为低电平,实测结果与期望一致。测试向量注入错

cap_error_valid信号出现两处高电平,导致两误行后,

处错误,两处错误的期望值分别为0x00、0x03,真实值

分别为0x02、0x01。

计算机技术与发展                  第31卷

·

                     

112·

图7 测试向量

图8 注入错误行前、后波形

  借助自动化验证平台进行某型星敏感器FPGA软

件测试,通过仿真建模和编写测试激励实现常规仿真

测试,生成的VCD文件进行实物自动化验证。二者进

行比较发现,实物自动化验证平台工作效率显著提高,

发现了常规FPGA仿真测试未发现的问题,如表1

所示。

表1 测试结果对比

测试方法

常规仿真测试

实物自动化验证平台

执行效率用例数

12.1个/天

22.2个/天

发现问题个数

实物自动化验证技术突破了数据传输瓶颈,保证了数

据实时性,提高了测评效率,同时VCD信号的灵活性

保证了测试充分性。该技术可作为当前FPGA软件测

PGA软件测试中发挥试的有力补充,并将在未来的F

重要作用。

参考文献:

[1] LIAOLC,PANCT,JONGTL.Switchingflow-graph

-phaseinverters[J].IEEEmodelingtechniqueforthree

TransactionsonIndustrialElectronics,2008,55(4):1603-

1613.

[2] 刘子宜,刘 畅,郑 军.基于软件测试技术的FPGA测试

J].电子技术应用,2011,37(5):28-30.研究[

[3] 徐金娜,付方发,王进祥.基于FPGA的软硬件协同仿真平

台的数据通路设计[J].微电子学与计算机,2014(3):107-

110.

[4] 付 浩,秦 浩.FPGA测试方法和流程探讨[J].科技风,

2017(10):77-78.

[5] LAVINC,PADILLAM,LAMPRECHTJ,etal.HMFlow:

acceleratingFPGAcompilationwithhardmacrosforrapid

prototyping[C]//IEEEinternationalsymposiumonfield-

  实验验证了实物自动化验证平台可正确转换

VCD波形,并将转换后的测试向量加载至被测器件。

通过读取返回值,与期望值比较后生成测试报告,并可

对问题进行追踪。实验结果表明,该平台能够正确施

加测试激励,有效检验出被测器件的错误,具有验证过

程简单、验证速度较快等优点。

4 结束语

该文提出一种基于VCD波形的FPGA实物自动

化验证技术,用以解决仿真测试和实物测试的弊端。

(下转第118页)

计算机技术与发展                  第31卷

·

                     

118·

行了论证。

参考文献:

[1] 向 军,李国徽,杨 兵,等.移动实时数据库QoS管理和

J].计算机科学,2008,35(9):103-更新事务调度算法[

107.

[2] SINGHYJ,SINGHYS,GAIKWADA,etal.Dynamic

managementoftransactionsindistributedreal-timeprocess

ingsystem[J].InternationalJournalofDatabaseManage

mentSystems,2010,arXiv:1005.5435:161-170.

[3] XIONGMing,HANSong,CHENDeji,etal.DESH:over

[J].Realheadreductionalgorithmsfordeferrablescheduling

-TimeSystems,2010,44(1-3):1-25.

[4] WANGPeng,XIANGYang,ZHANGQi.Aservice-oriented

architectureofcyber-physicalsystemandstudyontwokey

[J].JournalofDonghuaUniversity:EnglishEdition,issues

2012,29(4):299-304.

[5] HANSong,LAMK,WANGJiantao,etal.Onco-schedu

lingofupdateandcontroltransactionsinreal-timesensing

:algorithms,analysis,andperformanceandcontrolsystems

[J].IEEETransactionsonKnowledge&DataEngineering,

2013,25(10):2325-2342.

[6] XIANGJ.QoSmanagementforreal-timeandmobiledata

basesystemsbasedonimprecisecomputation:QoSmanage

-timeandmobiledatabasesystemsbasedonmentforreal

imprecisecomputation[J].JournalofComputerApplica

tions,2008,28(7):1709-1712.

[7] 白 天,范 波.实时更新与复制事务的周期与截止期分

派[J].湖南理工学院学报:自然科学版,2016,29(2):20-

23.

[8] HUANGWanqi,DAIWenbin,WANGPeng,etal.Real-

timedataacquisitionsupportforIEC61499basedindustrial

cyber-physicalsystems[C]//IECON2017-43rdannual

conferenceoftheIEEEindustrialelectronicssociety.Bei

jing:IEEE,2017:6689-6694.

[9] 邢黎闻.孙优贤院士论工业信息物理融合系统[J].信息化

建设,2018(1):10-11.

[10]KUOSY,CHOUYH,CHENCY.Quantum-inspiredalgo

rithmforcyber-physicalvisualsurveillancedeploymentsys

tems[J].ComputerNetworks,2016,117:5-18.

[11]LIUJia,KOUTianyou,CHENQian,etal.Onwirelessnet

workinfrastructureoptimisationforcyber-physicalsystems

infuturesmartbuildings[J].InternationalJournalofSensor

Networks,2015,18(3/4):148-160.

[12]YOUM,LIUQ,SUNH.Newcommunicationstrategyfor

spectrumsharingenabledsmartgridcyber-physicalsystem

[J].IETCyberPhysicalSystemsTheory&Applications,

2017,2(3):136-142.

[13]李仁发,谢 勇,李 蕊,等.信息-物理融合系统若干关键

J].计算机研究与发展,2012,49(6):1149-问题综述[

1161.

[14]WANGS,ZHANGG,SHENB,etal.Anintegratedscheme

forcyber-physicalbuildingenergymanagementsystem[J].

,2011,15:3616-3620.ProcediaEngineering

[15]杨 帆,刘 彦,李仁发,等.一种基于数据驱动的CPS建

模方法研究[J].计算机学报,2016,39(5):961-972.

[16]YUCELENT,HADDADWM,FERONEM.Adaptivecon

trolarchitecturesformitigatingsensorattacksincyber-phys

icalsystems[J].Cyber-PhysicalSystems,2016,2(1-4):24-

.52

檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪檪

(上接第112页)

  programmablecustomcomputingmachines.SaltLakeCity:

IEEE,2011:117-124.

[6] 王 鹏,刘万和,刘 锐,等.基于SystemVerilog可重用测

试平台的实现[J].电子技术应用,2015,41(2):61-64.

[7] 高 虎,郑 军,田曾昊.FPGA板级自动化仿真测试环境

框架设计[J].微电子学与计算机,2017,34(12):94-98.

[8] 徐 潮.多FPGA原型验证平台关键模块的设计与实现

[D].长沙:国防科学技术大学,2015.

[9] 陈 锐,门永平,杨文强,等.基于UVM的FPGA软硬件

联合仿真验证技术研究[J].空间电子技术,2017,14(1):

38-42.

[10]LEMONR,COULTERB,ARCHIBALDS,etal.Interface

testadapterdevelopment&maintenanceusingacontinuity/

insulationautomaticteststationinlargescaletestsystems

[C]//IEEEAUTOTESTCON.Anaheim,CA,USA:IEEE,

2009:107-112.

[11]何 庆.无线传感器网络节点SoC的原型验证[D].武汉:

华中科技大学,2015.

[12]BITTNERR,RUFE.DirectGPU/FPGAcommunicationvia

[J].ClusterComputing,2014,17(2):339-348.PCIexpress

[13]JUSTINJ,LINDSTROML,JAINA.Usingaplug-inmodel

tosimplifyandenhanceATEtestsoftwarecapabilities[C]//

IEEEAUTOTESTCON.CA:IEEE,2012:105-107.

[14]TOUBANA.Surveyoftestvectorcompressiontechniques

[J].IEEEDesign&TestofComputers,2006,23(4):294-

303.

[15]高 虎,封二强,赵 刚.基于Testbench的FPGA实物自

动化测试环境设计[J].电子技术应用,2018,44(4):48-

51.


本文标签: 测试 验证 信号 平台 实物