CN108197699B - 针对卷积神经网络硬件加速器的调试模块 - Google Patents

针对卷积神经网络硬件加速器的调试模块 Download PDF

Info

Publication number
CN108197699B
CN108197699B CN201810009449.2A CN201810009449A CN108197699B CN 108197699 B CN108197699 B CN 108197699B CN 201810009449 A CN201810009449 A CN 201810009449A CN 108197699 B CN108197699 B CN 108197699B
Authority
CN
China
Prior art keywords
data
dram
fifo
module
read
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.)
Active
Application number
CN201810009449.2A
Other languages
English (en)
Other versions
CN108197699A (zh
Inventor
黄松璞
姜晶菲
窦勇
许金伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201810009449.2A priority Critical patent/CN108197699B/zh
Publication of CN108197699A publication Critical patent/CN108197699A/zh
Application granted granted Critical
Publication of CN108197699B publication Critical patent/CN108197699B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种针对卷积神经网络硬件加速器的调试模块,目的是增大定位准确性和降低调试难度。本发明由DRAM即动态随机存取存储器、FIFO即先进先出队列、读DRAM计数模块、写DRAM计数模块和数据对齐模块组成;写DRAM计数模块和读DRAM计数模块均是二进制计数器,DRAM是拥有写端口和读端口的双端口DRAM;数据对齐模块对读DRAM数据进行拼接和补零操作,得到写FIFO数据;FIFO是读写异步FIFO。DRAM的数据位宽和深度根据所需观测数据信号的位宽和数量设置,FIFO的数据位宽根据DDR的数据位宽设置,数据深度根据写FIFO数据的数量设置。本发明能够更加准确方便地定位问题位置,既增大定位准确性又降低调试难度。

Description

针对卷积神经网络硬件加速器的调试模块
技术领域
本发明涉及计算机领域的硬件加速器调试模块,尤其指一种针对卷积神经网络的硬件加速器调试模块。
背景技术
卷积神经网络CNN(Convolutional Neural Networks)受神经科学研究的启发,经过长达20多年的演变,CNN在计算机视觉、人工智能领域越来越突出。CNN已经广泛用于图像识别,因为它能模仿生物视觉神经的行为获得很高识别准确率。一个典型CNN由两部分组成:特征提取器和分类器。特征提取器过滤输入图像,产生表示图像不同特征(这些特征可能包括拐角,线,圆弧等,对位置和形变不敏感)的低维向量。向量送入分类器(通常基于传统的人工神经网络),得到向量对应的输入图像属于某个类别(不同的分类任务有不同的类型集合,如人脸识别任务中,每个人都代表一个类别)的可能性。
CNN作为一种前馈网络结构,网络层之间具有高度的独立性:各层网络计算独立,层间无数据反馈。因此,CNN是一种高度并行的网络结构。但通用处理器的为执行逻辑处理和事务处理而优化的特性并不适合用来挖掘CNN的并行性,基于软件方式的CNN神经网络在实时性和功耗方面都不能满足应用的需求。为了充分挖掘卷积神经网络固有的并行性,越来越多的研究者开始采用现场可编程门阵列FPGA(Field Programmable Gate Array)开发基于CNN神经网络的应用。FPGA作为一种可编程器件,具有计算资源丰富、灵活可配、开发周期短、高性能等优点。
目前广泛采用的FPGA设计的CNN加速器(即卷积神经网络硬件加速器)的结构如图1所示,整个加速器主要由四个部分组成,PCIE(Peripheral Component InterconnectExpress,高速串行计算机扩展总线标准)接口、DDR(Double Data Rate,双倍速率同步动态随机存储器)模块、传输控制模块和CNN模块。
PCIE接口与上位机(用于给CNN加速器发送指令和数据并进行观测的计算机)、DDR模块、传输控制模块相连。PCIE接口接收来自上位机的原始数据(图像数据与CNN网络权值数据),通过DMA(Direct Memory Access,直接内存存取)方式将原始数据写入DDR模块中。PCIE接口接收来自上位机的启动信号,将启动信号发送给传输控制模块。在计算结束后,PCIE接口接收来自传输控制模块的结束信号,并通过DMA方式从DDR模块中读取计算结果,再将结束信号和计算结果传输给上位机。
DDR模块与PCIE接口、传输控制模块相连。DDR模块接收来自PCIE接口的原始数据,将原始数据分批传输给传输控制模块。DDR模块接收来自传输控制模块的计算结果,将计算结果传输给PCIE接口。
传输控制模块与PCIE接口、DDR模块、CNN模块相连。传输控制模块接收来自DDR模块的原始数据,将原始数据传输给CNN模块;传输控制模块接收来自PCIE模块的启动信号,启动CNN模块的计算;在CNN模块计算完成之后,传输控制模块接收来自CNN模块的计算结果,将计算结果传输给DDR模块,并将结束信号传输给PCIE接口。另外,传输控制模块有一个用于调试的调试接口。
CNN模块与传输控制模块相连。CNN模块接收来自传输控制模块的原始数据,使用原始数据进行计算,并将计算结果传回传输控制模块。
由卷积神经网络加速器的结构可知,基于FPGA的CNN硬件加速结构复杂,信号繁多,且最大数据位宽高达512比特,一旦出现问题调试起来非常麻烦。传统的加探针的调试方法,所能采样的信号的位数是有限的,一般在1000到2000比特,因此高达512比特的数据位宽,会导致最多只能采样两三个数据。同时采样窗口大小也是有限的,一般只能采样1024-2048个周期,而整体计算需要上百万周期,如果加探针的观测数据的位宽太大,或者是有观测数据在关键路径上,都会引起整个系统的延迟变大,进而导致程序运行错误,所得到的波形图也会出错,导致难以定位错误位置,因此仅仅依靠探针已经不能满足调试需要。
发明内容
本发明要解决的技术问题是提供一种针对卷积神经网络硬件加速器的调试模块,一方面增大定位准确性,一方面降低调试难度。
本发明搭建在传输控制模块和DDR模块之间,如图2所示。它的主要工作是从传输控制模块的调试接口接收观测数据,并保存起来,在全部的计算过程完成之后,再将保存的观测数据写入DDR模块中。其中观测数据可以是任何用户想要获得的数据,可以是输入的图片数据、CNN网络的权值、计算的中间结果等等。根据之前的描述,这样上位机就能通过PCIE接口从DDR模块读取这一部分观测数据,进行进一步的检验。
本发明由DRAM(Dynamic Random Access Memory,动态随机存取存储器)、FIFO(First Input First Output,先进先出队列)、读DRAM计数模块、写DRAM计数模块和数据对齐模块组成。本发明可采用现场可编程门阵列FPGA设计。
写DRAM计数模块是一个二进制计数器。二进制计数器计数上限值为需要获取的观测数据的个数,
Figure GDA0002278165070000031
表示对实数x进行上取整。比如需要获取观测信号256个,则计数上限值设置为256,计数位宽设置为8位。写DRAM计数模块与传输控制模块、DRAM相连,它从传输控制模块接收写DRAM数据有效信号,当写DRAM数据有效信号有效时,写DRAM计数模块对写地址信号(初始为0)进行加一,并置写使能信号、第一使能信号有效,将写地址信号、写使能信号和第一使能信号发送给DRAM。
DRAM是一个双端口DRAM,拥有一个写端口和一个读端口。写端口的数据位宽与写DRAM计数模块位宽保持一致,数据深度大于等于需要观测的数据个数,比如需要观测的数据有128个,则数据深度设置为大于等于128。读端口的数据位宽设置为DRAM的写端口数据位宽的2n倍(-2≤n≤4,n为整数),并且还需要根据FIFO的写入数据位宽以及DRAM的写端口的数据位宽的关系来设置,即读端口的数据位宽=写端口数据位宽*2n且要求读端口的数据位宽小于等于FIFO的写入数据位宽,比如FIFO的写入数据位宽为256、DRAM写端口的数据位宽为300,则应设置读端口的数据位宽为150或75,因为150和75分别为300的1/2和1/4倍,并且小于256。DRAM读端口的数据深度由DRAM写端口数据位宽和深度以及读端口数据位宽决定,读端口数据深度=写端口数据位宽*写端口数据深度/读端口数据位宽,因为要保证读写端口数据总量相同(数据总量=数据位宽*数据深度)。DRAM与传输控制模块、写DRAM计数模块、读DRAM计数模块以及数据对齐模块相连。DRAM从传输控制模块接收写DRAM数据,从写DRAM计数模块接收写地址信号、写使能信号、第一使能信号,当写使能信号和第一使能信号都有效时,DRAM将写DRAM数据写入写地址信号对应的地址中。DRAM从读DRAM计数模块接收第二使能信号、读地址信号,当第二使能信号有效时,DRAM将读地址信号对应地址中的数据传输到数据对齐模块。
读DRAM计数模块也是一个二进制计数器。二进制计数器的计数上限值为DRAM读端口的数据深度,计数位宽为DRAM的读端口的数据深度以2为底的对数值,即
Figure GDA0002278165070000041
比如DRAM读端口的数据深度为256,则计数上限值设置为256,计数位宽设置为8位。读DRAM计数模块与传输控制模块、DRAM、FIFO相连,它从传输控制模块接收计算完成信号,向DRAM传输读地址信号和第二使能信号,向FIFO传输读DRAM数据有效信号。当计算完成信号有效时,代表CNN模块全部计算过程已经结束,此时置第二使能信号为有效,对读地址信号进行(初始为0)加一并传给DRAM,同时,置读DRAM数据有效信号有效,并将读DRAM数据有效信号发送给FIFO,由于读DRAM数据有效信号是将读DRAM数据写入FIFO的触发信号,因此也叫写FIFO数据有效信号。
数据对齐模块与DRAM、FIFO相连,接收来自DRAM的读DRAM数据,对读DRAM数据进行拼接和补零操作,得到写FIFO数据,向FIFO传输写FIFO数据。数据对齐模块将m个读DRAM数据首尾依次相连,并在后面补充w个0得到写FIFO数据,m为拼接参数,
Figure GDA0002278165070000042
表示对实数y进行下取整;w为补零参数,w=FIFO数据位宽mod读DRAM数据位宽,mod表示取余操作。即FIFO数据位宽=m*读DRAM数据位宽+w,再将写FIFO数据传入FIFO。比如,当读DRAM数据位宽为75、写FIFO数据位宽为256时,数据对齐模块会将3个读DRAM数据拼接,并在后面补充31个0凑齐256位,再传入FIFO。
FIFO是一个读写异步FIFO,其空信号可表明FIFO是否为空,FIFO为空时空信号有效,FIFO不为空时空信号无效,用于沟通调试模块与DDR模块间不同的时钟域。FIFO的数据位宽等于DDR模块的数据位宽,FIFO的深度等于写FIFO数据的数量,保证FIFO不会溢出。FIFO与数据对齐模块、读DRAM计数模块、DDR模块相连,它从读DRAM计数模块接收写FIFO数据有效信号(即读DRAM数据有效信号),从数据对齐模块接收写FIFO数据,当写FIFO数据有效信号有效时,将写FIFO数据写入FIFO中。FIFO的空信号经过一个非门连接在FIFO的读使能信号端上,当FIFO不为空即空信号无效时,读使能信号有效,此时置读FIFO数据有效信号为有效,并向DDR模块传输读FIFO数据。
采用本发明对卷积神经网络硬件加速器进行调试的方法是:
第一步,选取CNN加速器传输控制模块的观测数据。CNN模块计算过程中的数据都能从传输控制模块中获取,因此只需将想要观测的数据连接至传输控制模块的调试接口即可。
第二步,将调试模块的写DRAM数据有效信号线与CNN加速器传输控制模块的调试接口相连以获取观测数据,将调试模块的计算完成信号线与传输控制模块中的计算完成信号相连。
第三步,根据观测数据的位宽以及数量,配置读DRAM计数模块和写DRAM计数模块的计数上限值和计数位宽、DRAM和FIFO的数据位宽和深度。
第四步,根据第三步配置的读DRAM数据位宽和FIFO数据位宽,配置数据对齐模块的拼接参数m和补零参数w。
第五步,将FIFO的读FIFO数据线、读FIFO数据有效信号线与DDR模块相连。
第六步,上位机通过PCIE接口发送启动信号,CNN加速器开始运算,调试模块的写地址信号和读地址信号均初始化为0。
第七步,当写DRAM数据有效信号有效时,写DRAM计数模块进行计数,对写地址信号进行加一,并置写使能信号、第一使能信号有效,控制写DRAM数据(即调试模块获得的观测数据)写入DRAM中。
第八步,当计算完成信号有效时,读DRAM计数模块开始计数,置第二使能信号为有效,对读地址信号进行加一,向数据对齐模块传输读DRAM数据,同时,置读DRAM数据有效信号有效。
第九步,数据对齐模块根据拼接参数m和补零参数w,对读DRAM数据进行拼接补零,得到写FIFO数据并传输给FIFO。
第十步,当写FIFO数据有效信号有效时,写FIFO数据写入FIFO之中。当FIFO空信号无效时,FIFO的读使能信号有效,FIFO置读FIFO数据有效信号为有效,将读FIFO数据传输给DDR模块。
第十一步,DDR模块将从FIFO得到的读FIFO数据通过DMA方式,经过PCIE接口传输至上位机显示。上位机对读FIFO数据进行分析,检验CNN加速器是否运行正确。
与现有技术相比,采用本发明可以达到以下技术效果:
(1)本发明DRAM的数据位宽和深度根据所需观测数据信号的位宽和数量设置,FIFO的数据位宽根据DDR的数据位宽设置,数据深度根据写FIFO数据的数量设置,摆脱了采样窗口大小的限制,大大增加了调试过程中所获得的信息量,降低了调试难度。
(2)本发明调试模块电路规模小,几乎不会影响系统的延迟,因此得到的结果准确性更高。
(3)本发明能够更加准确方便地定位问题位置,CNN模块计算过程中的数据都能从传输控制模块中获取,因此只需将想要观测的数据连接至传输控制模块的调试接口,在CNN加速器运行结束后就能在上位机对观测数据进行检验。
附图说明
图1是背景技术所述现有卷积神经网络硬件加速器的逻辑结构图。
图2是本发明的使用场景示意图。
图3是本发明的逻辑结构图。
具体实施方式
图2是本发明的使用场景示意图。如图2所示,本发明搭建在传输控制模块和DDR模块之间,它的主要工作是从传输控制模块的调试接口接收观测数据,并保存起来,在全部的计算过程完成之后,再将保存的观测数据写入DDR模块中。上位机通过PCIE接口从DDR模块读取这一部分观测数据,进行进一步的检验。
图3是本发明的逻辑结构图。
本发明由DRAM、FIFO、读DRAM计数模块、写DRAM计数模块和数据对齐模块组成。
写DRAM计数模块是一个二进制计数器。二进制计数器计数上限值为需要获取的观测数据的个数,
Figure GDA0002278165070000061
表示对实数x进行上取整。写DRAM计数模块与传输控制模块、DRAM相连,它从传输控制模块接收写DRAM数据有效信号,当写DRAM数据有效信号有效时,写DRAM计数模块对写地址信号(初始为0)进行加一,并置写使能信号、第一使能信号有效,将写地址信号、写使能信号和第一使能信号发送给DRAM。
DRAM是一个双端口DRAM,拥有一个写端口和一个读端口。写端口的数据位宽与写DRAM计数模块位宽保持一致,数据深度大于等于需要观测的数据个数。读端口的数据位宽设置为DRAM的写端口数据位宽的2n倍(-2≤n≤4,n为整数),并且还需要根据FIFO的写入数据位宽以及DRAM的写端口的数据位宽的关系来设置,即读端口的数据位宽=写端口数据位宽*2n且要求读端口的数据位宽小于等于FIFO的写入数据位宽。DRAM读端口的数据深度由DRAM写端口数据位宽和深度以及读端口数据位宽决定,读端口数据深度=写端口数据位宽*写端口数据深度/读端口数据位宽。DRAM与传输控制模块、写DRAM计数模块、读DRAM计数模块以及数据对齐模块相连。DRAM从传输控制模块接收写DRAM数据,从写DRAM计数模块接收写地址信号、写使能信号、第一使能信号,当写使能信号和第一使能信号都有效时,DRAM将写DRAM数据写入写地址信号对应的地址中。DRAM从读DRAM计数模块接收第二使能信号、读地址信号,当第二使能信号有效时,DRAM将读地址信号对应地址中的数据传输到数据对齐模块。
读DRAM计数模块也是一个二进制计数器。二进制计数器的计数上限值为DRAM读端口的数据深度,计数位宽为DRAM的读端口的数据深度以2为底的对数值,即
Figure GDA0002278165070000071
读DRAM计数模块与传输控制模块、DRAM、FIFO相连,它从传输控制模块接收计算完成信号,向DRAM传输读地址信号和第二使能信号,向FIFO传输读DRAM数据有效信号。当计算完成信号有效时,代表CNN模块全部计算过程已经结束,此时置第二使能信号为有效,对读地址信号进行(初始为0)加一并传给DRAM,同时,置读DRAM数据有效信号有效,并将读DRAM数据有效信号发送给FIFO,由于读DRAM数据有效信号是将读DRAM数据写入FIFO的触发信号,因此也叫写FIFO数据有效信号。
数据对齐模块与DRAM、FIFO相连,接收来自DRAM的读DRAM数据,对读DRAM数据进行拼接和补零操作,得到写FIFO数据,向FIFO传输写FIFO数据。数据对齐模块将m个读DRAM数据首尾依次相连,并在后面补充w个0得到写FIFO数据,m为拼接参数,
Figure GDA0002278165070000081
表示对实数y进行下取整;w为补零参数,w=FIFO数据位宽mod读DRAM数据位宽,mod表示取余操作。即FIFO数据位宽=m*读DRAM数据位宽+w,再将写FIFO数据传入FIFO。
FIFO是一个读写异步FIFO,其空信号可表明FIFO是否为空,FIFO为空时空信号有效,FIFO不为空时空信号无效,用于沟通调试模块与DDR模块间不同的时钟域。FIFO的读写数据位宽等于DDR模块的数据位宽,FIFO的深度等于写FIFO数据的数量,保证FIFO不会溢出。FIFO与数据对齐模块、读DRAM计数模块、DDR模块相连,它从读DRAM计数模块接收写FIFO数据有效信号(即读DRAM数据有效信号),从数据对齐模块接收写FIFO数据,当写FIFO数据有效信号有效时,将写FIFO数据写入FIFO中。FIFO的空信号经过一个非门连接在FIFO的读使能信号端上,当FIFO不为空即空信号无效时,读使能信号有效,此时置读FIFO数据有效信号为有效,并向DDR模块传输读FIFO数据。

Claims (8)

1.一种针对卷积神经网络硬件加速器的调试模块,其特征在于针对卷积神经网络硬件加速器的调试模块由DRAM即动态随机存取存储器、FIFO即先进先出队列、读DRAM计数模块、写DRAM计数模块和数据对齐模块组成;
写DRAM计数模块是一个二进制计数器,写DRAM计数模块与传输控制模块、DRAM相连,它从传输控制模块接收写DRAM数据有效信号,当写DRAM数据有效信号有效时,写DRAM计数模块对写地址信号进行加一,并置写使能信号、第一使能信号有效,将写地址信号、写使能信号和第一使能信号发送给DRAM;所述传输控制模块为被调试的卷积神经网络硬件加速器中的传输控制模块;
DRAM是一个双端口DRAM,拥有一个写端口和一个读端口;DRAM与传输控制模块、写DRAM计数模块、读DRAM计数模块以及数据对齐模块相连;DRAM从传输控制模块接收写DRAM数据,从写DRAM计数模块接收写地址信号、写使能信号、第一使能信号,当写使能信号和第一使能信号都有效时,DRAM将写DRAM数据写入写地址信号对应的地址中;DRAM从读DRAM计数模块接收第二使能信号、读地址信号,当第二使能信号有效时,DRAM将读地址信号对应地址中的数据传输到数据对齐模块;DRAM数据位宽和深度根据观测数据信号的位宽和数量设置;
读DRAM计数模块是一个二进制计数器,读DRAM计数模块与传输控制模块、DRAM、FIFO相连,它从传输控制模块接收计算完成信号,向DRAM传输读地址信号和第二使能信号,向FIFO传输读DRAM数据有效信号;当计算完成信号有效时,置第二使能信号为有效,对读地址信号进行加一并传给DRAM,同时,置读DRAM数据有效信号有效,并将读DRAM数据有效信号发送给FIFO,读DRAM数据有效信号也叫写FIFO数据有效信号;
数据对齐模块与DRAM、FIFO相连,接收来自DRAM的读DRAM数据,对读DRAM数据进行拼接和补零操作,得到写FIFO数据,向FIFO传输写FIFO数据;数据对齐模块将m个读DRAM数据首尾依次相连,并在后面补充w个0得到写FIFO数据,m为拼接参数,w为补零参数,mod表示取余操作;m和w均为正整数;
FIFO是一个读写异步FIFO,其空信号表明FIFO是否为空,FIFO为空时空信号有效,FIFO不为空时空信号无效,用于沟通调试模块与DDR模块间不同的时钟域;FIFO与数据对齐模块、读DRAM计数模块、DDR模块相连,它从读DRAM计数模块接收写FIFO数据有效信号即读DRAM数据有效信号,从数据对齐模块接收写FIFO数据,当写FIFO数据有效信号有效时,将写FIFO数据写入FIFO中;FIFO的空信号经过一个非门连接在FIFO的读使能信号端上,当FIFO不为空即空信号无效时,读使能信号有效,置读FIFO数据有效信号为有效,并向DDR模块传输读FIFO数据;FIFO的数据位宽根据DDR模块的数据位宽设置,数据深度根据写FIFO数据的数量设置,所述DDR模块为被调试的卷积神经网络硬件加速器中的DDR模块即双倍速率同步动态随机存储器模块。
2.如权利要求1所述的针对卷积神经网络硬件加速器的调试模块,其特征在于所述写DRAM计数模块计数上限值为需要获取的观测数据的个数,
Figure FDA0002278165060000022
Figure FDA0002278165060000021
Figure FDA0002278165060000023
表示对实数x进行上取整。
3.如权利要求1所述的针对卷积神经网络硬件加速器的调试模块,其特征在于所述DRAM的写端口数据位宽与写DRAM计数模块位宽保持一致,写端口数据深度大于等于需要观测的数据个数;读端口数据位宽=写端口数据位宽*2n且小于等于FIFO的写入数据位宽,-2≤n≤4,n为整数,读端口数据深度=写端口数据位宽*写端口数据深度/读端口数据位宽。
4.如权利要求1所述的针对卷积神经网络硬件加速器的调试模块,其特征在于所述读DRAM计数模块的计数上限值为DRAM读端口数据深度,
Figure FDA0002278165060000025
Figure FDA0002278165060000024
Figure FDA0002278165060000026
表示对实数x进行上取整。
5.如权利要求1所述的针对卷积神经网络硬件加速器的调试模块,其特征在于所述FIFO的数据位宽等于DDR模块的数据位宽,FIFO的深度等于写FIFO数据的数量。
6.如权利要求1所述的针对卷积神经网络硬件加速器的调试模块,其特征在于所述
Figure FDA0002278165060000027
Figure FDA0002278165060000028
表示对实数y进行下取整,所述w=FIFO数据位宽mod读DRAM数据位宽,mod表示取余操作。
7.如权利要求2所述的针对卷积神经网络硬件加速器的调试模块,其特征在于所述观测数据是任何用户想要获得的数据。
8.如权利要求1所述的针对卷积神经网络硬件加速器的调试模块,其特征在于所述针对卷积神经网络硬件加速器的调试模块采用现场可编程门阵列FPGA设计。
CN201810009449.2A 2018-01-05 2018-01-05 针对卷积神经网络硬件加速器的调试模块 Active CN108197699B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810009449.2A CN108197699B (zh) 2018-01-05 2018-01-05 针对卷积神经网络硬件加速器的调试模块

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810009449.2A CN108197699B (zh) 2018-01-05 2018-01-05 针对卷积神经网络硬件加速器的调试模块

Publications (2)

Publication Number Publication Date
CN108197699A CN108197699A (zh) 2018-06-22
CN108197699B true CN108197699B (zh) 2020-04-07

Family

ID=62588345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810009449.2A Active CN108197699B (zh) 2018-01-05 2018-01-05 针对卷积神经网络硬件加速器的调试模块

Country Status (1)

Country Link
CN (1) CN108197699B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359729B (zh) * 2018-09-13 2022-02-22 深思考人工智能机器人科技(北京)有限公司 一种在fpga上实现缓存数据的系统及方法
CN109858621B (zh) * 2019-01-09 2021-09-17 深兰科技(上海)有限公司 一种卷积神经网络加速器的调试装置、方法及存储介质
CN110751280A (zh) * 2019-09-19 2020-02-04 华中科技大学 一种应用于卷积神经网络的可配置卷积加速器
CN110751272B (zh) * 2019-10-30 2021-02-23 珠海格力电器股份有限公司 卷积神经网络模型中数据定位的方法、装置及存储介质
CN110780923B (zh) * 2019-10-31 2021-09-14 合肥工业大学 应用于二值化卷积神经网络的硬件加速器及其数据处理方法
CN111353002B (zh) * 2020-02-03 2024-05-03 中国人民解放军国防科技大学 网络表示学习模型的训练方法、装置、电子设备及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706746A (zh) * 2009-11-11 2010-05-12 盛科网络(苏州)有限公司 一种对存储器接口电路进行在线调试的装置及方法
CN102033807A (zh) * 2010-12-17 2011-04-27 青岛海信信芯科技有限公司 Soc芯片调试设备、方法及装置
CN102073009A (zh) * 2010-11-29 2011-05-25 杭州中天微系统有限公司 一种基于片上闪存的系统芯片jtag调试控制方法
CN102184130A (zh) * 2010-11-24 2011-09-14 北京天融信科技有限公司 一种芯片流水线的测试方法和装置
CN102231140A (zh) * 2011-06-07 2011-11-02 上海电力学院 一种基于双口ram的数据包络获取方法
CN102231129A (zh) * 2011-07-04 2011-11-02 浙江大学 一种基于串口的多层AHB总线架构SoC监测调试系统与方法
CN103309798A (zh) * 2012-03-12 2013-09-18 上海交通大学 一种dsp调试装置
CN106571156A (zh) * 2016-10-28 2017-04-19 北京中电华大电子设计有限责任公司 一种高速读写ram的接口电路及方法
CN107392309A (zh) * 2017-09-11 2017-11-24 东南大学—无锡集成电路技术研究所 一种基于fpga的通用定点数神经网络卷积加速器硬件结构

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706746A (zh) * 2009-11-11 2010-05-12 盛科网络(苏州)有限公司 一种对存储器接口电路进行在线调试的装置及方法
CN102184130A (zh) * 2010-11-24 2011-09-14 北京天融信科技有限公司 一种芯片流水线的测试方法和装置
CN102073009A (zh) * 2010-11-29 2011-05-25 杭州中天微系统有限公司 一种基于片上闪存的系统芯片jtag调试控制方法
CN102033807A (zh) * 2010-12-17 2011-04-27 青岛海信信芯科技有限公司 Soc芯片调试设备、方法及装置
CN102231140A (zh) * 2011-06-07 2011-11-02 上海电力学院 一种基于双口ram的数据包络获取方法
CN102231129A (zh) * 2011-07-04 2011-11-02 浙江大学 一种基于串口的多层AHB总线架构SoC监测调试系统与方法
CN103309798A (zh) * 2012-03-12 2013-09-18 上海交通大学 一种dsp调试装置
CN106571156A (zh) * 2016-10-28 2017-04-19 北京中电华大电子设计有限责任公司 一种高速读写ram的接口电路及方法
CN107392309A (zh) * 2017-09-11 2017-11-24 东南大学—无锡集成电路技术研究所 一种基于fpga的通用定点数神经网络卷积加速器硬件结构

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"An FPGA-based Accelerator Implementation for Deep Convolutional Neural Networks";Yongmei Zhou 等;《2015 4th International Conference on Computer Science and Network Technology》;20151231;第829-832页 *
"Throughput-Optimized FPGA Accelerator for Deep Convolutional Neural Networks";ZHIQIANG LIU 等;《ACM Transactions on Reconfigurable Technology and Systems》;20170731;第10卷(第3期);第1-23页 *

Also Published As

Publication number Publication date
CN108197699A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN108197699B (zh) 针对卷积神经网络硬件加速器的调试模块
KR102651892B1 (ko) 고대역 메모리 시스템을 위한 준-동기식 프로토콜
CN104583933B (zh) Gpu和fpga组件之间的直接通信的方法和系统
US20210065005A1 (en) Systems and methods for providing vector-wise sparsity in a neural network
US20210279074A1 (en) Overflow detection and correction in state machine engines
EP3249543A1 (en) Interface signal remapping method based on fpga
CN101236774B (zh) 单端口存储器实现多端口存储功能的装置和方法
JPH0778825B2 (ja) 画像処理プロセツサ
US10585619B1 (en) Memory block erasure
US9710593B1 (en) Methods, systems, and articles of manufacture for enhancing timing analyses with reduced timing libraries for electronic designs
CN109214281A (zh) 一种用于ai芯片人脸识别的cnn硬件加速装置
EP3761236A2 (en) Elements for in-memory compute
CN107123438A (zh) 模拟多端口方法及模拟多端口记忆体
Lee et al. Accelerating deep neural networks using FPGAs and ZYNQ
Li et al. RETRACTED ARTICLE: FPGA logic design method based on multi resolution image real time acquisition system
CN106445842B (zh) 一种数据缓存器和数据缓存方法
CN100357933C (zh) 一种基于386ex cpu的嵌入式计算机系统
CN111625368A (zh) 一种分布式计算系统、方法及电子设备
Hahanov et al. «Quantum» processor for digital systems analysis
CN202495946U (zh) 一种基于物联网管理控制的fpga的总线型通信系统
TWI793676B (zh) 應用於類神經網路之填充架構
Yu et al. Design of High-Speed Image Transmission Board Based on PCI-Express
US6092132A (en) Method and apparatus for monitoring 60x bus signals at a reduced frequency
US10665280B2 (en) Information processing apparatus and semiconductor integrated circuit device
Kokotis et al. Acceleration of image processing algorithms based on a single board computer and fpga co-design

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