基于JTAG的FPGA图像分类加速器测试方法及系统技术方案

技术编号:33954311 阅读:8 留言:0更新日期:2022-06-29 23:08
本发明专利技术公开了一种基于JTAG的FPGA图像分类加速器测试方法,包括如下步骤:S10、将测试图片转换成若干个mif文件;S11、控制JTAG向FPGA图像分类加速器板卡分多次传输测试图像;S12、每张测试图像分类完成后从FPGA板卡获取分类标签,将分类结果写入本地文件;S13、根据所述写有分类结果的本地文件与测试数据集标准结果进行对比,统计分类准确率。采用上述技术方案,提高FPGA图像分类加速器测试电路部署效率,免去使用复杂的通信接口与协议,同时降低加速器板卡的硬件需求,提高测试的效率。由于FPGA板卡均带有JTAG接口,因此无需其他通信接口就能快速搭建卷积神经网络加速器数据集测试平台,从而减少了存储和寄存器资源的消耗,同时测试效率有明显的提升。同时测试效率有明显的提升。同时测试效率有明显的提升。

【技术实现步骤摘要】
基于JTAG的FPGA图像分类加速器测试方法及系统


[0001]本专利技术属于神经网络硬件加速
,尤其涉及一种基于JTAG的FPGA图像分类加速器测试方法及系统。

技术介绍

[0002]卷积神经网络在图像处理任务上的卓越表现,使其被广泛应用在交通、安防、工业控制等领域,为了共同满足在移动端和云端的计算需求,基于FPGA的卷积神经网络硬件加速器被广泛研究。
[0003]在基于FPGA的卷积神经网络硬件加速器的设计流程中,设计验证是十分关键的步骤。软件验证方面由于浮点计算在验证环境中运行速度缓慢,一张图片分类任务在仿真环境中需要执行数个小时,效率低下;使用硬件方式验证需要额外设计完整的图片数据通路,若采用PCIe等高速通信接口,需要设计额外的硬件与驱动,不仅测试系统复杂程度增加,并且成本也会相应的增加。因此,亟需基于JTAG的FPGA图像分类加速器测试方法,能够降低测试系统的复杂程度,并以最快的速度搭建硬件测试环境。

技术实现思路

[0004]本专利技术针对基于卷积神经网络的FPGA图像分类加速器设计过程中硬件验证测试环境搭建复杂,硬件接口要求较高的问题,提出了一种基于JTAG的FPGA图像分类加速器测试方法及系统,该方法以简单的结构提高FPGA图像分类加速器测试电路部署效率,免去使用复杂的通信接口与协议,同时降低了加速器板卡的硬件需求;流程控制程序全自动控制JTAG运行提高了测试的效率。
[0005]为了解决上述技术问题,本专利技术的技术方案为:
[0006]一种基于JTAG的FPGA图像分类加速器测试方法,包括如下步骤:
[0007]S10、将测试图片转换成若干个mif文件;
[0008]S11、控制JTAG向FPGA图像分类加速器板卡分多次传输测试图像;
[0009]S12、每张测试图像分类完成后从FPGA板卡获取分类标签,将分类结果写入本地文件;
[0010]S13、根据所述写有分类结果的本地文件与测试数据集标准结果进行对比,统计分类准确率。
[0011]作为优选,所述步骤S10中,依次读取测试图片,每张测试图片转换成N个mif文件:
[0012]S101、读取第a张图片,按像素平铺成长度为P*P*3的数据序列,其中P为图片的长和宽,3表示彩色图片RGB通道数,数据序列以RGB通道,行,列的顺序规则排序;
[0013]S102、将上述序列分为若干个长度为n/b的数据段,其中b为FPGA加速器设置的数据位宽;
[0014]S103、将上述数据段组合为N个深度为m的数据块,数据不足部分补零处理;
[0015]S104、将上述数据块按顺序写成mif文件,文件名命名为pic2mif_a_z.mif,其中z
表示第z个数据块。
[0016]作为优选,所述FPGA图像分类加速器板卡即FPGA板卡,所述步骤S11包括:
[0017]S111、根据控制时序将N个mif文件依次更新至ROM;
[0018]S112、控制时序使加速器板卡运行图片分类逻辑;
[0019]S113、根据控制时序检测到图片分类完成后将结果寄存器RSLT_REG的值写入本地文件。
[0020]作为优选,所述控制时序的方法为:
[0021]1)当FPGA板卡上电复位或者一次图片分类逻辑结束时RSLT_VALID寄存器置1,当流程控制程序开始控制JTAG更新ROM中数据时RSLT_VALID寄存器置0;
[0022]2)当流程控制程序JTAG完成一次ROM数据更新时UPDATA_DONE寄存器置1,持续1个周期之后UPDATA_DONE寄存器置0;
[0023]3)当FPGA板卡中的UPDATA_DONE=1且DATA_VALID=0时DATA_VALID寄存器置1,直到检测到FPGA板卡中的RD_DONE=1之后DATA_VALID寄存器置0;
[0024]4)当ROM中数据全部复制到内存之后RD_DONE寄存器置1,当RD_DONE=1且流程控制程序开始控制JTAG更新ROM中数据时RD_DONE寄存器置0;
[0025]5)当流程控制程序更新完N个mif文件即一张完整的测试图片且RD_DONE=1时START寄存器置1,持续一个时钟周期后START寄存器置0;
[0026]6)一次图片分类逻辑结束时寄存器RSLT_REG的值更新为当前分类结果。
[0027]作为优选,所述流程控制程序的方法如下:
[0028]S40,初始化,文件索引值设置为0,跳转到S41;
[0029]S41,控制JTAG持续读取RSLT_VALID,当读取值为1时,控制JTAG将当前文件索引值所对应mif文件更新到ROM,文件索引值加1,跳转到S42;
[0030]S42,控制JTAG读取RSLT_REG,转换为十进制数result后以“*result”的格式续写到本地文件rslt_file,跳转到S43;
[0031]S43,控制JTAG修改UPDATA_DONE为1,延迟1毫秒,控制JTAG修改UPDATA_DONE为0,若已累积更新N个mif文件,跳转到S41,否则跳转到跳转到S44;
[0032]S44,控制JTAG持续读取RD_DONE,当读取值为1时,控制JTAG将当前文件索引值所对应mif文件更新到ROM,文件索引值加1,若索引文件不存在,跳转到S45,否则跳转到S43;
[0033]S45,将rslt_file中记录的数据以“*”分割得到N+1个数据,舍弃掉第一个数据后与测试数据集标签进行比较,计算准确率,打印到屏幕,退出程序。
[0034]本专利技术还公开了一种上述述基于JTAG的FPGA图像分类加速器测试方法的系统,包括PC机、物理JTAG和FPGA板卡,所述PC机通过物理JTAG与FPGA板卡相连接,所述PC机中存放有由测试图片组成的图片数据集以及流程控制程序。
[0035]作为优选,所述FPGA板卡包括
[0036]只读存储器,用于存储测试图像,记为PIC_ROM;
[0037]分类结果寄存器,用于存储每张测试图像的分类结果,记为RSLT_REG;
[0038]第一控制寄存器,用于存储图像分类完成信号,记为RSLT_VALID;
[0039]第二控制寄存器,用于存储ROM更新完成信号,记为UPDATA_DONE;
[0040]第三控制寄存器,用于存储ROM中数据有效信号,记为DATA_VALID;
[0041]第四控制寄存器,用于存储ROM数据读取完成信号,记为RD_DONE;
[0042]第五控制寄存器,用于存储图片分类开始信号,记为START;
[0043]虚拟JTAG,用于与物理JTAG连接。
[0044]作为优选,所述只读存储器的位宽为n,深度为m。
[0045]作为优选,所述分类结果寄存器的位宽为K,所述K为所测网络分类种类。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于JTAG的FPGA图像分类加速器测试方法,其特征在于,包括如下步骤:S10、将测试图片转换成若干个mif文件;S11、控制JTAG向FPGA图像分类加速器板卡分多次传输测试图像;S12、每张测试图像分类完成后从FPGA板卡获取分类标签,将分类结果写入本地文件;S13、根据所述写有分类结果的本地文件与测试数据集标准结果进行对比,统计分类准确率。2.根据权利要求1所述的基于JTAG的FPGA图像分类加速器测试方法,其特征在于,所述步骤S10中,依次读取测试图片,每张测试图片转换成N个mif文件:S101、读取第a张图片,按像素平铺成长度为P*P*3的数据序列,其中P为图片的长和宽,3表示彩色图片RGB通道数,数据序列以RGB通道,行,列的顺序规则排序;S102、将上述序列分为若干个长度为n/b的数据段,其中b为FPGA加速器设置的数据位宽;S103、将上述数据段组合为N个深度为m的数据块,数据不足部分补零处理;S104、将上述数据块按顺序写成mif文件,文件名命名为pic2mif_a_z.mif,其中z表示第z个数据块。3.根据权利要求2所述的基于JTAG的FPGA图像分类加速器测试方法,其特征在于,所述FPGA图像分类加速器板卡即FPGA板卡,所述步骤S11包括:S111、根据控制时序将N个mif文件依次更新至ROM;S112、控制时序使加速器板卡运行图片分类逻辑;S113、根据控制时序检测到图片分类完成后将结果寄存器RSLT_REG的值写入本地文件。4.根据权利要求3所述的基于JTAG的FPGA图像分类加速器测试方法,其特征在于,所述控制时序的方法为:1)当FPGA板卡上电复位或者一次图片分类逻辑结束时RSLT_VALID寄存器置1,当流程控制程序开始控制JTAG更新ROM中数据时RSLT_VALID寄存器置0;2)当流程控制程序JTAG完成一次ROM数据更新时UPDATA_DONE寄存器置1,持续1个周期之后UPDATA_DONE寄存器置0;3)当FPGA板卡中的UPDATA_DONE=1且DATA_VALID=0时DATA_VALID寄存器置1,直到检测到FPGA板卡中的RD_DONE=1之后DATA_VALID寄存器置0;4)当ROM中数据全部复制到内存之后RD_DONE寄存器置1,当RD_DONE=1且流程控制程序开始控制JTAG更新ROM中数据时RD_DONE寄存器置0;5)当流程控制程序更新完N个mif文件即一张完整的测试图片且RD_DONE=1时START寄存器置1,持续一个时钟周期后START寄存器置0;6)一次图...

【专利技术属性】
技术研发人员:黄继业郭童栋赵知劲杨宇翔董哲康
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

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

1