CN114676005A - 基于jtag的fpga图像分类加速器测试方法及系统 - Google Patents
基于jtag的fpga图像分类加速器测试方法及系统 Download PDFInfo
- Publication number
- CN114676005A CN114676005A CN202210263087.6A CN202210263087A CN114676005A CN 114676005 A CN114676005 A CN 114676005A CN 202210263087 A CN202210263087 A CN 202210263087A CN 114676005 A CN114676005 A CN 114676005A
- Authority
- CN
- China
- Prior art keywords
- jtag
- data
- test
- classification
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 81
- 238000010998 test method Methods 0.000 title claims abstract description 8
- 230000009471 action Effects 0.000 title description 2
- 230000009191 jumping Effects 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 5
- 238000007639 printing Methods 0.000 claims description 4
- 238000013527 convolutional neural network Methods 0.000 abstract description 8
- 238000004891 communication Methods 0.000 abstract description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000528 statistical test Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2263—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种基于JTAG的FPGA图像分类加速器测试方法,包括如下步骤:S10、将测试图片转换成若干个mif文件;S11、控制JTAG向FPGA图像分类加速器板卡分多次传输测试图像;S12、每张测试图像分类完成后从FPGA板卡获取分类标签,将分类结果写入本地文件;S13、根据所述写有分类结果的本地文件与测试数据集标准结果进行对比,统计分类准确率。采用上述技术方案,提高FPGA图像分类加速器测试电路部署效率,免去使用复杂的通信接口与协议,同时降低加速器板卡的硬件需求,提高测试的效率。由于FPGA板卡均带有JTAG接口,因此无需其他通信接口就能快速搭建卷积神经网络加速器数据集测试平台,从而减少了存储和寄存器资源的消耗,同时测试效率有明显的提升。
Description
技术领域
本发明属于神经网络硬件加速技术领域,尤其涉及一种基于JTAG的FPGA图像分类加速器测试方法及系统。
背景技术
卷积神经网络在图像处理任务上的卓越表现,使其被广泛应用在交通、安防、工业控制等领域,为了共同满足在移动端和云端的计算需求,基于FPGA的卷积神经网络硬件加速器被广泛研究。
在基于FPGA的卷积神经网络硬件加速器的设计流程中,设计验证是十分关键的步骤。软件验证方面由于浮点计算在验证环境中运行速度缓慢,一张图片分类任务在仿真环境中需要执行数个小时,效率低下;使用硬件方式验证需要额外设计完整的图片数据通路,若采用PCIe等高速通信接口,需要设计额外的硬件与驱动,不仅测试系统复杂程度增加,并且成本也会相应的增加。因此,亟需基于JTAG的FPGA图像分类加速器测试方法,能够降低测试系统的复杂程度,并以最快的速度搭建硬件测试环境。
发明内容
本发明针对基于卷积神经网络的FPGA图像分类加速器设计过程中硬件验证测试环境搭建复杂,硬件接口要求较高的问题,提出了一种基于JTAG的FPGA图像分类加速器测试方法及系统,该方法以简单的结构提高FPGA图像分类加速器测试电路部署效率,免去使用复杂的通信接口与协议,同时降低了加速器板卡的硬件需求;流程控制程序全自动控制JTAG运行提高了测试的效率。
为了解决上述技术问题,本发明的技术方案为:
一种基于JTAG的FPGA图像分类加速器测试方法,包括如下步骤:
S10、将测试图片转换成若干个mif文件;
S11、控制JTAG向FPGA图像分类加速器板卡分多次传输测试图像;
S12、每张测试图像分类完成后从FPGA板卡获取分类标签,将分类结果写入本地文件;
S13、根据所述写有分类结果的本地文件与测试数据集标准结果进行对比,统计分类准确率。
作为优选,所述步骤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个数据块。
作为优选,所述FPGA图像分类加速器板卡即FPGA板卡,所述步骤S11包括:
S111、根据控制时序将N个mif文件依次更新至ROM;
S112、控制时序使加速器板卡运行图片分类逻辑;
S113、根据控制时序检测到图片分类完成后将结果寄存器RSLT_REG的值写入本地文件。
作为优选,所述控制时序的方法为:
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)一次图片分类逻辑结束时寄存器RSLT_REG的值更新为当前分类结果。
作为优选,所述流程控制程序的方法如下:
S40,初始化,文件索引值设置为0,跳转到S41;
S41,控制JTAG持续读取RSLT_VALID,当读取值为1时,控制JTAG将当前文件索引值所对应mif文件更新到ROM,文件索引值加1,跳转到S42;
S42,控制JTAG读取RSLT_REG,转换为十进制数result后以“*result”的格式续写到本地文件rslt_file,跳转到S43;
S43,控制JTAG修改UPDATA_DONE为1,延迟1毫秒,控制JTAG修改UPDATA_DONE为0,若已累积更新N个mif文件,跳转到S41,否则跳转到跳转到S44;
S44,控制JTAG持续读取RD_DONE,当读取值为1时,控制JTAG将当前文件索引值所对应mif文件更新到ROM,文件索引值加1,若索引文件不存在,跳转到S45,否则跳转到S43;
S45,将rslt_file中记录的数据以“*”分割得到N+1个数据,舍弃掉第一个数据后与测试数据集标签进行比较,计算准确率,打印到屏幕,退出程序。
本发明还公开了一种上述述基于JTAG的FPGA图像分类加速器测试方法的系统,包括PC机、物理JTAG和FPGA板卡,所述PC机通过物理JTAG与FPGA板卡相连接,所述PC机中存放有由测试图片组成的图片数据集以及流程控制程序。
作为优选,所述FPGA板卡包括
只读存储器,用于存储测试图像,记为PIC_ROM;
分类结果寄存器,用于存储每张测试图像的分类结果,记为RSLT_REG;
第一控制寄存器,用于存储图像分类完成信号,记为RSLT_VALID;
第二控制寄存器,用于存储ROM更新完成信号,记为UPDATA_DONE;
第三控制寄存器,用于存储ROM中数据有效信号,记为DATA_VALID;
第四控制寄存器,用于存储ROM数据读取完成信号,记为RD_DONE;
第五控制寄存器,用于存储图片分类开始信号,记为START;
虚拟JTAG,用于与物理JTAG连接。
作为优选,所述只读存储器的位宽为n,深度为m。
作为优选,所述分类结果寄存器的位宽为K,所述K为所测网络分类种类。
本发明具有以下的特点和有益效果:
采用上述技术方案,提高FPGA图像分类加速器测试电路部署效率,免去使用复杂的通信接口与协议,同时降低加速器板卡的硬件需求,提高测试的效率。由于FPGA板卡均带有JTAG接口,因此无需其他通信接口就能快速搭建卷积神经网络加速器数据集测试平台,从而减少了存储和寄存器资源的消耗,同时测试效率有明显的提升。另外,流程控制程序能够实现全自动,从更新图片到统计测试结果,免去人工测试的重复工作,不仅节约了劳动力,并且消除了人工测试的重复工作导致的误差。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的FPGA图像分类加速器测试流程;
图2为本发明实施例的硬件结构示意图;
图3为本发明实施例的控制寄存器时序示意图;
图4为本发明实施例的控制程序流程图
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
本发明提供了一种基于JTAG的FPGA图像分类加速器测试方法,如图1所示,包括如下步骤:
S10、将测试图片转换成若干个mif文件;
S11、控制JTAG向FPGA图像分类加速器板卡分多次传输测试图像;
S12、每张测试图像分类完成后从FPGA板卡获取分类标签,将分类结果写入本地文件;
S13、根据所述写有分类结果的本地文件与测试数据集标准结果进行对比,统计分类准确率。
上述技术方案用于解决软件仿真速度过慢,硬件测试环境搭建复杂的问题,该方法以简单的结构提高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个数据块。
具体的,由测试图片组成的数据集为以大小为224×224的RGB彩色图像为例,读取第a张图片,按像素平铺成长度为224×224×3的数据序列。
需要指出的是,本发明实施例采用图片通道、行、列的顺序平铺展开,具体表示为R[0,0]G[0,0]B[0,0]R[0,1]G[0,1]B[0,1]…R[0,P-1]G[0,P-1]B[0,P-1]R[1,0]G[1,0]B[1,0]…,以其他可能的展开规则不一一赘述,满足FPGA加速器数据读取规则即可。
将展开的数据序列分为若干个长度为n/b的数据段,在本发明实施例中,所涉及参数如下表一所示:
表一
因此在本发明实施例中,展开的数据被分为展开的数据序列将被分为个数据段,上述数据段将分为个数据块,最后一个数据块只有192个有效数据段,不足的部分使用全零数据段填充。最终将10个数据块以mif文件格式保存,得到第a张图片的10个mif文件,pic2mif_a_0.mif、pic2mif_a_1.mif……pic2mif_a_10.mif。
本发明实施例的进一步设置,所述FPGA图像分类加速器板卡即FPGA板卡,所述步骤S11包括:
S111、根据控制时序将N个mif文件依次更新至ROM;
S112、控制时序使加速器板卡运行图片分类逻辑;
S113、根据控制时序检测到图片分类完成后将结果寄存器RSLT_REG的值写入本地文件。
可以理解的,实现上述步骤S11需对FPGA板卡进行必要的硬件部署,如图2所示,在FPGA上部署一个位宽为512,深度为1024只读存储器PIC_ROM;部署一个位宽为10的分类结果寄存器RSLT_REG;部署五个控制寄存器,分别为第一控制寄存器RSLT_VALID存储图像分类完成信号、第二控制寄存器UPDATA_DONE存储ROM更新完成信号、第三控制寄存器DATA_VALID存储ROM中数据有效信号、第四控制寄存器RD_DONE存储ROM数据读取完成信号、第五控制寄存器START存储图片分类开始信号。部署硬件均通过虚拟JTAG与物理JTAG连接。
本发明实施例中FPGA板卡使用常用外部存储器DDR来存储卷积神经网络加速器运行过程中所产生的数据,也可使用其他外部存储器进行实现。
进一步的,如图3所示,所述控制时序的方法为:
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)一次图片分类逻辑结束时寄存器RSLT_REG的值更新为当前分类结果。具体的,如图4所示,所述流程控制程序的方法如下:
S40,初始化,文件索引值设置为0,即从当前目录的第一个mif文件开始,跳转到S41;
S41,控制JTAG持续读取RSLT_VALID,当读取值为1时,控制JTAG将当前文件索引值所对应mif文件更新到ROM,文件索引值加1,跳转到S42,若值为0,则继续执行读取RSLT_VALID并判断;
S42,控制JTAG读取RSLT_REG,转换为十进制数result后以“*result”的格式续写到本地文件rslt_file,跳转到S43;
S43,控制JTAG修改UPDATA_DONE为1,延迟1毫秒,控制JTAG修改UPDATA_DONE为0,若已累积更新N个mif文件,跳转到S41,否则跳转到跳转到S44;
S44,控制JTAG持续读取RD_DONE,当读取值为1时,控制JTAG将当前文件索引值所对应mif文件更新到ROM,文件索引值加1,若索引文件不存在,跳转到S45,否则跳转到S43;
S45,将rslt_file中记录的数据以“*”分割得到N+1个数据,舍弃掉第一个数据后与测试数据集标签进行比较,计算准确率,打印到屏幕,退出程序。
进一步的,所述步骤S12中,每张测试图像分类完成后从FPGA板卡获取分类结果,将分类结果写入本地文件,在本发明实施例中,当流程控制程序检测到寄存器RSLT_VALID的值为1时,控制JTAG读取RSLT_REG的值转换为十进制整数result,以“*result”的数据格式写至本地文件rslt_file。
进一步的,所述步骤S13中,根据所述写有分类结果的本地文件与测试数据集标准结果进行对比,统计分类准确率,测试FPGA图像分类加速器性能。在本发明实施例中,当文件索引值超出mif文件数量时,即表示数据集中所有图片都完成测试,rslt_file文件中所有结果以“result0*result1*result2*…*resultn”的格式保存。
以“*”为识别模式切分rslt_file中的内容得到所有图像的分类结果,并依次与数据集标准标签进行比对统计分类准确率,从而判断FPGA加速器分类性能。
本发明还公开了一种上述述基于JTAG的FPGA图像分类加速器测试方法的系统,如图2所示,包括PC机、物理JTAG和FPGA板卡,所述PC机通过物理JTAG与FPGA板卡相连接,所述PC机中存放有由测试图片组成的图片数据集以及流程控制程序。
具体的,控制JTAG向FPGA图像分类加速器板卡分多次传输测试图像,每张测试图像分类完成后从FPGA板卡获取分类标签,将分类标签写入结果文件,所述方法还包括:在所述FPGA板卡上部署存储器、寄存器、虚拟JTAG等简单硬件结构;将数据集图片转换成若干数量mif文件;流程控制脚本控制JTAG读写存储器与寄存器。
在一个可能的实现设计中,在FPGA板卡上部署存储器、寄存器、虚拟JTAG等简单硬件结构,在所述FPGA上部署一个位宽为n,深度为m的只读存储器(ROM),创建虚拟JTAG接口并与物理JTAG连接;在所述FPGA上部署一个位宽为K的分类结果寄存器,创建虚拟JTAG接口并与物理JTAG连接;在所述FPGA上部署五个控制寄存器,创建虚拟JTAG接口并与物理JTAG连接;其中K为所测网络分类种类取2的对数的上界即[log2(分类种类数)]。
进一步的,所述FPGA板卡包括
只读存储器,用于存储测试图像,记为PIC_ROM;
分类结果寄存器,用于存储每张测试图像的分类结果,记为RSLT_REG;
第一控制寄存器,用于存储图像分类完成信号,记为RSLT_VALID;
第二控制寄存器,用于存储ROM更新完成信号,记为UPDATA_DONE;
第三控制寄存器,用于存储ROM中数据有效信号,记为DATA_VALID;
第四控制寄存器,用于存储ROM数据读取完成信号,记为RD_DONE;
第五控制寄存器,用于存储图片分类开始信号,记为START;
虚拟JTAG,用于与物理JTAG连接。
上述技术方案实现:将数据集图片转换为若干个数量mif文件,步骤包括:读取第a张图片,按像素展开成长度为P*P*3的数据序列;将上述序列分为若干个长度为n/b的数据段,其中b为FPGA加速器设置的数据位宽;将上述数据段组合为N个深度为m的数据块,数据不足部分补零处理;将上述数据块按顺序写成mif文件,文件名命名为pic2mif_a_z.mif,其中z表示第z个数据块;按上述规则将所有图片转换为mif文件。
在本发明实施例中,所述图片按像素展开成长度为P*P*3的数据序列,其展开顺序为通道、行、列,以其他规则展开的方法不一一列举,只要符合FPGA图像分类加速器的输入顺序即可。
具体的,流程控制程序自动探测或修改上述五个控制寄存器的值,检测到需要更换测试图片时,根据控制时序将N个mif文件依次更新至存储器PIC_ROM;检测到图片分类完成时,将寄存器RSLT_REG的值写入结果文件,五个控制寄存器和一个结果寄存器的控制时序包括:RSLT_VALID,当FPGA板卡上电复位或者一张图片推断得到分类标签时置1,当RSLT_VALOD=1且流程控制程序开始控制JTAG更新ROM中数据时置0;UPDATA_DONE,当流程控制程序控制JTAG完成一次ROM数据更新时置1,持续1个周期之后置0;DATA_VALID,当UPDATA_DONE=1且DATA_VALID=0时置1,直到检测到RD_DONE=1之后置0;RD_DONE,当ROM中数据全部复制到内存之后置1,当RD_DONE=1且流程控制程序开始控制JTAG更新ROM中数据时置0;START,当流程控制程序更新完N个mif文件即一张完整的测试图片且RD_DONE=1时置1,持续一个时钟周期后置0;RSLT_REG,一张图片分类结束时更新为当前分类结果,与RSLT_VALID同步更新。
进一步的,流程控制程序控制JTAG读写存储器与寄存器,其流程包括:S40、初始化,文件索引值设置为0,跳转到S41;S41、控制JTAG持续读取控制寄存器RSLT_VALID,当读取值为1时,控制JTAG将当前文件索引值所对应mif文件更新到ROM,文件索引值加1,跳转到S42;S42、控制JTAG读取结果寄存器RSLT_REG,转换为十进制数result后以“*result”的格式续写到本地文件rslt_file,跳转到S43;S43、控制JTAG修改控制寄存器UPDATA_DONE为1,延迟1毫秒,控制JTAG修改寄存器UPDATA_DONE为0,若已累积更新N个mif文件,跳转到S41,否则跳转到跳转到S44;S44、控制JTAG持续读取控制寄存器RD_DONE,当读取值为1时,控制JTAG将当前文件索引值所对应mif文件更新到ROM,文件索引值加1,若索引文件不存在,跳转到S45,否则跳转到S43;S45、将rslt_file中记录的数据以“*”分割得到N+1个数据,舍弃掉第一个数据后与测试数据集标签进行比较,计算准确率,打印到屏幕,退出程序。
在本发明实施例中,流程控制程序持续读取寄存器,为无间隔连续读取直到检测到寄存器的值达到预期之后进行下一步,也可以设置一定读取间隔实现,对于不同的检测方式不再赘述。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式包括部件进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
Claims (9)
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)一次图片分类逻辑结束时寄存器RSLT_REG的值更新为当前分类结果。
5.根据权利要求4所述的基于JTAG的FPGA图像分类加速器测试方法,其特征在于,所述流程控制程序的方法如下:
S40,初始化,文件索引值设置为0,跳转到S41;
S41,控制JTAG持续读取RSLT_VALID,当读取值为1时,控制JTAG将当前文件索引值所对应mif文件更新到ROM,文件索引值加1,跳转到S42;
S42,控制JTAG读取RSLT_REG,转换为十进制数result后以“*result”的格式续写到本地文件rslt_file,跳转到S43;
S43,控制JTAG修改UPDATA_DONE为1,延迟1毫秒,控制JTAG修改UPDATA_DONE为0,若已累积更新N个mif文件,跳转到S41,否则跳转到跳转到S44;
S44,控制JTAG持续读取RD_DONE,当读取值为1时,控制JTAG将当前文件索引值所对应mif文件更新到ROM,文件索引值加1,若索引文件不存在,跳转到S45,否则跳转到S43;
S45,将rslt_file中记录的数据以“*”分割得到N+1个数据,舍弃掉第一个数据后与测试数据集标签进行比较,计算准确率,打印到屏幕,退出程序。
6.一种实现权利要求1-5任意一项所述基于JTAG的FPGA图像分类加速器测试方法的系统,其特征在于,包括PC机、物理JTAG和FPGA板卡,所述PC机通过物理JTAG与FPGA板卡相连接,所述PC机中存放有由测试图片组成的图片数据集以及流程控制程序。
7.根据权利要求6所述的基于JTAG的FPGA图像分类加速器测试系统其特征在于,所述FPGA板卡包括
只读存储器,用于存储测试图像,记为PIC_ROM;
分类结果寄存器,用于存储每张测试图像的分类结果,记为RSLT_REG;
第一控制寄存器,用于存储图像分类完成信号,记为RSLT_VALID;
第二控制寄存器,用于存储ROM更新完成信号,记为UPDATA_DONE;
第三控制寄存器,用于存储ROM中数据有效信号,记为DATA_VALID;
第四控制寄存器,用于存储ROM数据读取完成信号,记为RD_DONE;
第五控制寄存器,用于存储图片分类开始信号,记为START;
虚拟JTAG,用于与物理JTAG连接。
8.根据权利要求7所述的基于JTAG的FPGA图像分类加速器测试系统其特征在于,所述只读存储器的位宽为n,深度为m。
9.根据权利要求7所述的基于JTAG的FPGA图像分类加速器测试系统其特征在于,所述分类结果寄存器的位宽为K,所述K为所测网络分类种类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210263087.6A CN114676005B (zh) | 2022-03-17 | 2022-03-17 | 基于jtag的fpga图像分类加速器测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210263087.6A CN114676005B (zh) | 2022-03-17 | 2022-03-17 | 基于jtag的fpga图像分类加速器测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114676005A true CN114676005A (zh) | 2022-06-28 |
CN114676005B CN114676005B (zh) | 2024-05-14 |
Family
ID=82074648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210263087.6A Active CN114676005B (zh) | 2022-03-17 | 2022-03-17 | 基于jtag的fpga图像分类加速器测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114676005B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204193A1 (en) * | 2006-02-28 | 2007-08-30 | Grise Gary D | Microcontroller for logic built-in self test (lbist) |
US20140173347A1 (en) * | 2012-12-18 | 2014-06-19 | International Business Machines Corporation | Firmware generated register file for use in hardware validation |
CN109308031A (zh) * | 2017-07-28 | 2019-02-05 | 湖南航天机电设备与特种材料研究所 | 一种基于fpga电路的参数配置方法、配置装置及存储空间 |
CN110809153A (zh) * | 2019-10-23 | 2020-02-18 | 北京空间机电研究所 | 一种使用下载器进行多帧图像传输实现在线测试系统及方法 |
CN113065303A (zh) * | 2021-03-06 | 2021-07-02 | 杭州电子科技大学 | 一种基于fpga的dscnn加速器分层验证方法 |
CN113901754A (zh) * | 2021-09-26 | 2022-01-07 | 清华大学 | 基于fpga的以太网macip的板级验证结构和方法 |
-
2022
- 2022-03-17 CN CN202210263087.6A patent/CN114676005B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204193A1 (en) * | 2006-02-28 | 2007-08-30 | Grise Gary D | Microcontroller for logic built-in self test (lbist) |
US20140173347A1 (en) * | 2012-12-18 | 2014-06-19 | International Business Machines Corporation | Firmware generated register file for use in hardware validation |
CN109308031A (zh) * | 2017-07-28 | 2019-02-05 | 湖南航天机电设备与特种材料研究所 | 一种基于fpga电路的参数配置方法、配置装置及存储空间 |
CN110809153A (zh) * | 2019-10-23 | 2020-02-18 | 北京空间机电研究所 | 一种使用下载器进行多帧图像传输实现在线测试系统及方法 |
CN113065303A (zh) * | 2021-03-06 | 2021-07-02 | 杭州电子科技大学 | 一种基于fpga的dscnn加速器分层验证方法 |
CN113901754A (zh) * | 2021-09-26 | 2022-01-07 | 清华大学 | 基于fpga的以太网macip的板级验证结构和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114676005B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0242599A2 (en) | Method and apparatus for simulating memory arrays in a logic simulation machine | |
US9495492B1 (en) | Implementing synchronous triggers for waveform capture in an FPGA prototyping system | |
CN104933747B (zh) | 将矢量动画转换为位图动画的方法及装置 | |
CN100447796C (zh) | 电路状态扫描链、数据采集系统和仿真验证方法 | |
US7822591B2 (en) | Logic circuit model conversion apparatus and method thereof; and logic circuit model conversion program | |
US4922445A (en) | Logic circuit simulation method | |
CN106507698B (zh) | 通过使用高级综合来实施高效熵解码器的方法 | |
CN113822654A (zh) | 工程项目施工进度管理方法、装置、设备及存储介质 | |
CN112347650A (zh) | 自动驾驶的硬件在环仿真测试方法及系统 | |
CN115048888A (zh) | 集成电路验证方法、装置、仿真系统、电子设备及介质 | |
CN107844678B (zh) | 包含IP/Memory时序路径的spice仿真方法 | |
CN113541741B (zh) | 模拟卡切换方法、装置、电子设备及存储介质 | |
CN114692383A (zh) | 全范围模拟机仿真对象的建模方法、装置及计算机设备 | |
US7228513B2 (en) | Circuit operation verification device and method | |
CN114676005A (zh) | 基于jtag的fpga图像分类加速器测试方法及系统 | |
CN110399026B (zh) | 基于fpga的多源单输出复位方法、装置及相关设备 | |
CN100365592C (zh) | 基于mcs-51架构的16m字节程序存储器寻址空间扩充方法 | |
CN110297926A (zh) | 星载图像处理装置在轨配置方法 | |
US6006027A (en) | Method and apparatus for event simulation | |
CN112764673B (zh) | 高光谱线阵数据存储速率优化方法、装置和存储介质 | |
CN113779918A (zh) | SoC仿真方法、装置、计算设备和计算机存储介质 | |
CN113821438A (zh) | 一种应用响应性能测试方法、系统及计算设备 | |
CN111782271A (zh) | 一种软硬件交互方法及装置、存储介质 | |
CN110297777B (zh) | 输入法的测评方法和装置 | |
CN116542196B (zh) | 基于有效时钟路径的集成电路时序分析方法、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |