CN111143208B - 基于处理器技术辅助fpga实现ai算法的验证方法 - Google Patents

基于处理器技术辅助fpga实现ai算法的验证方法 Download PDF

Info

Publication number
CN111143208B
CN111143208B CN201911338986.2A CN201911338986A CN111143208B CN 111143208 B CN111143208 B CN 111143208B CN 201911338986 A CN201911338986 A CN 201911338986A CN 111143208 B CN111143208 B CN 111143208B
Authority
CN
China
Prior art keywords
algorithm
fpga
data
processor
verification
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
CN201911338986.2A
Other languages
English (en)
Other versions
CN111143208A (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.)
Shanghai Henglin Photoelectric Technology Co ltd
Hengtong Optic Electric Co Ltd
Jiangsu Hengtong Terahertz Technology Co Ltd
Original Assignee
Shanghai Henglin Photoelectric Technology Co ltd
Hengtong Optic Electric Co Ltd
Jiangsu Hengtong Terahertz Technology Co Ltd
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 Shanghai Henglin Photoelectric Technology Co ltd, Hengtong Optic Electric Co Ltd, Jiangsu Hengtong Terahertz Technology Co Ltd filed Critical Shanghai Henglin Photoelectric Technology Co ltd
Priority to CN201911338986.2A priority Critical patent/CN111143208B/zh
Publication of CN111143208A publication Critical patent/CN111143208A/zh
Priority to PCT/CN2020/098436 priority patent/WO2021128781A1/zh
Application granted granted Critical
Publication of CN111143208B publication Critical patent/CN111143208B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种基于处理器技术辅助FPGA实现AI算法的验证方法。本发明基于处理器技术辅助FPGA实现AI算法的验证方法,包括:将待处理数据和AI算法实现所涉及到的参数传送给非并行运算处理器,作为验证比对原型的待处理数据;将待处理数据和AI算法实现所涉及到的参数传送给FPGA芯片,作为待验证设计的待处理数据;非并行运算处理器在数据进行处理的过程中对原型的待处理数据数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存。有益效果:相对于传统的FPGA软件仿真提高了验证的效率,相对于传统的FPGA在线调试能更准确地定位、分析错误。

Description

基于处理器技术辅助FPGA实现AI算法的验证方法
技术领域
本发明涉及FPGA领域,具体涉及一种基于处理器技术辅助FPGA实现AI算法的验证方法。
背景技术
随着人工智能、自动驾驶、5G、云计算等各种技术的不断发展,各类数据将会基于源源不断的产生,预计未来5年,数据总量将比现在增长10倍。由于上述技术的发展都基于对大数据的研究和分析,因此有人形象的将数据比作未来人工智能时代的石油。
通常提到FPGA,首先想到的是一款可编程的硬件产品,无论是用在嵌入式设备上,还是用在网络传输加速方面,与软件似乎都没有太多的直接联系。随着人工智能、自动驾驶、5G、云计算等新技术的兴起,FPGA因其与生俱来的优势正在逐渐走进大众视野。当今工艺的进步和AI时代的发展和数据的***性增长,由于FPGA在硬件和软件同时具有天生的超性能和灵活性特征,当AI遭遇算法复杂、多场景应用而导致难以落地,越来越多的创新者将目光聚焦在了灵活应变的FPGA及基于FPGA的衍生产品上,FPGA迎来了巨大的发展机遇。
FPGA兼顾了低功耗和高运算能力的优势。然而在上面提到的FPGA大数据大运算量处理中,FPGA的亮点不是低功耗,而是加速。一般CPU的主频都是几个GHz,而FPGA的主频通常只有几百MHz。单单看主频,似乎FPGA没什么优势,但是实际上却是用FPGA来给计算加速,腾讯云的FPGA加速可以实现比通用CPU型服务器快30倍的性能。
CPU属于冯·诺依曼结构,任务执行需要经历取指、译码、执行、访存以及写回等过程。CPU为达到足够高的通用性,其指令流的控制逻辑相当复杂。即使是简单神经网络,用C语言来优化循环控制,每一次乘法计算完以后仍然需要额外的指令周期来判断是否结束循环并跳转到下一次计算。而FPGA则可以根据算法来优化和分配硬件资源,省去不必要的控制步骤节省时间。虽然CPU主频高,但是很多计算仍然需要好几个时钟周期才能完成,而FPGA凭借大量并行处理,以及合理的流水线结构,基本上能单周期完成多次“乘加”,“累加”等运算。此外,CPU的计算过程中,存取设备的传输带宽往往也是性能瓶颈,而FPGA则可以充分利用芯片内的分布式存储资源,尽量减少与外部存取器的数据交换从而提高性能。某些场合下,CPU也外挂专用协处理器(ASIC),用来加快处理特定的计算。然而专用芯片开发周期长,成本高,并且应用场合有限,无法像FPGA那样可以根据需要动态调整计算资源。所以高性能计算离不开FPGA的加速,尤其是人工智能相关的深度学习。
硬件加速从实现上看可以有几种不同选择:传统处理器、FPGA和ASIC。传统处理器最有灵活性,能够覆盖各种不同应用,但它的能力(效率)最弱。ASIC的成本、性能和功耗最好,但AISC研发迭代周期相对较长。目前AI算法层出不穷,ASIC冗长的设计周期和高昂的设计费用不能满足各种要求。
若要同时具有可编程性和效率,则可以采用显示芯片和FPGA。在功耗和效率上,FPGA比显示芯片更强。尤其是在AI推理上,对于低精度场景,FPGA的性能功耗比比显示芯片大16倍。显示芯片更适合用在服务器侧,而FPGA则更适合用在边缘侧。FPGA适合做推理,显示芯片适合做训练。
除了在AI的线上推理方向,FPGA在其他很多方面也能发挥价值。在面向计算密集型任务,比如矩阵运算、图像处理、机器学习、压缩、非对称加密、搜索的排序等的时候,拥有流水线并行和数据并行的FPGA效率会高很多。
目前FPGA设计的验证方法有两种,一种是软件仿真,另一种是通过在线调试工具实时观察运行结果。
具体的FPGA软件仿真又分为:一、RTL级行为仿真(又称作为功能仿真、前仿真)在大部分设计中执行的第一个仿真将是RTL行为级仿真。这个阶段的仿真可以用来检查代码中的错误以及代码行为的正确性,其中不包括与器件相关的信息。如果没有实例化一些与器件相关的特殊底层元件的话,这个阶段的仿真也可以做到与器件无关。二、综合后门级仿真一般在设计流程中的第二个仿真是综合后门级功能仿真。绝大多数的综合工具除了可以输出一个标准网表文件以外,还可以输出Verilog或者VHDL网表,其中标准网表文件是用来在各个工具之间传递设计数据的,并不能用来做仿真使用,而输出的Verilog或者VHDL网表可以用来仿真,之所以叫门级仿真是因为综合工具给出的仿真网表已经是与生产厂家的器件的底层元件模型对应起来了。三、时序仿真(又称为后仿真)在设计流程中的最后一个仿真是时序仿真。在设计布局布线完成以后可以提供一个时序仿真模型,这种模型中也包括了器件的一些信息,同时还会提供一个SDF时序标注文件(Standard Delay format TimingAnotation)。xilinx公司使用SDF作为时序标注文件扩展名,Altera公司使用SDO作为时序标注文件的扩展名。在SDF时序标注文件中对每一个底层逻辑门提供了3种不同的延时值,分别是典型延时值、最小延时值和最大延时值,虽然在设计的最初阶段就已经定义了设计的功能,但是只有当设计布局布线到一个器件中后,才会得到精确的延时信息,在这个阶段才可以模拟到比较接近实际电路的行为。
现在较大型的人工智能算法动辄几百层的深度,成千上万个神经元节点,所以用FPGA加速AI算法实现的过程中采用软件仿真即使是RTL级行为仿真来检查设计中的错误都是不可能实现的,更不用说门级仿真和后仿真,原因是如此复杂的AI算法软件仿真在短时间内很难运算完成。用服务器做这种FPGA完成复杂AI算***的软件仿真都需要几星期甚至几个月的时间,更不用说用软件仿真FPGA完成多轮AI算法实现(这里说提到的FPGA完成一轮AI算法,是指完成一次AI算法处理,以视频鉴别的AI算法举例,就是指对视频中的一帧用AI算法进行处理,而FPGA完成多轮AI算法实现,即是指对视频中的多帧用AI算法进行处理,即对连续的视频流用AI算法进行处理)。
而FPGA的在线调试工具,是将在线调试工具的逻辑代码和***设计逻辑代码组合交由FPGA开发软件进行编译、综合、布局布线,生成烧写文件(其中内含在线调试工具的逻辑代码),把烧写文件配置到FPGA内。FPGA运行时一旦满足待测信号的触发条件,线调试工具的逻辑就立即启动,按照采样时钟的频率捕获待测信号数据并暂存于FPGA片内的RAM中,采样数据不断刷新片内存储器,最后通过JTAG口将捕获的信号从片内RAM传至FPGA开发软件实时显示。FPGA在线调试原理流程如图1所示。
传统技术存在以下技术问题:
FPGA的在线调试方法的问题在于,FPGA的片上资源(特别是片上RAM)有限,所只能将FPGA运行过程中很少一部分数存储、回传,用于FPGA设计过程中的检错,现在大型的人工智能算法动辄几百层的深度,成千上万个神经元节点,在FPGA实现这些算法的运算过程中,必然要产生大量的运算结果和过程数据,所以FPGA的在线调试方法根本无无法精确定位FPGA实现复杂AI算***运算过程中出现的错误,更不用说精确定位FPGA在运行多轮AI算法过程中出现的错误了。
发明内容
本发明要解决的技术问题是提供一种基于处理器技术辅助FPGA实现AI算法的验证方法。
为了解决上述技术问题,本发明提供了一种基于处理器技术辅助FPGA实现AI算法的验证方法,包括:
将待处理数据和AI算法实现所涉及到的参数传送给非并行运算处理器,作为验证比对原型的待处理数据;
将待处理数据和AI算法实现所涉及到的参数传送给FPGA芯片,作为待验证设计的待处理数据;
非并行运算处理器在数据进行处理的过程中对原型的待处理数据数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存;
FPGA芯片在数据进行处理的过程中对待验证设计的待处理数据数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存;
比较比对原型的过程数据和运算结果与验证设计的过程数据和运算结果,从而分析验证FPGA在算法实现的过程中和结束后的运算结果是否正确。
本发明的有益效果:
相对于传统的FPGA软件仿真提高了验证的效率(由于现代AI算法非常复杂,在FPGA实现算法过程中根本无法通过软件仿真来模拟完整的AI算法更不用说模拟多轮AI算法的运算过程),相对于传统的FPGA在线调试能更准确地定位、分析错误(针对于FPGA在线调试,由于FPGA的片内资源,特别是存储资源有限,所以不能存储大量的运算结果和过程数据,所以FPGA在线调试虽然相对FPGA软件仿真效率更高,但是在AI算法实现过程中因产生的数据量过大,也不能起到准确地定位、分析错误的作用)。
在其中一个实施例中,还包括:通过显示屏显示比对原型的过程数据和运算结果。
在其中一个实施例中,还包括:通过显示屏显示验证设计的过程数据和运算结果。
在其中一个实施例中,还包括:通过显示屏显示比对原型的过程数据和运算结果与验证设计的过程数据和运算结果的比较结果。
在其中一个实施例中,还包括:获取用户的指令,所述指令用于设定具体验证模式;
根据设定的具体验证模式,分析验证FPGA在算法实现的过程中和结束后的运算结果是否正确。
在其中一个实施例中,还包括:将比对原型的过程数据和运算结果传送给外部***。
在其中一个实施例中,还包括:将验证设计的过程数据和运算结果传送给外部***。
在其中一个实施例中,还包括:将比对原型的过程数据和运算结果与验证设计的过程数据和运算结果的比较结果传送给外部***。
在其中一个实施例中,所述非并行运算处理器是ARM处理器或者DSP处理器。
在其中一个实施例中,所述非并行运算处理器利用C、C++或者Python语言处理数据。
附图说明
图1是本发明基于处理器技术辅助FPGA实现AI算法的验证方法中背景技术中的FPGA在线调试流程示意图。
图2是本发明基于处理器技术辅助FPGA实现AI算法的验证方法中的处理器技术辅助验证功能框图。
图3是本发明基于处理器技术辅助FPGA实现AI算法的验证方法中的处理器技术辅助验证原理框图。
图4是本发明基于处理器技术辅助FPGA实现AI算法的验证方法中的处理器技术辅助验证举例结构框图。
图5是本发明基于处理器技术辅助FPGA实现AI算法的验证方法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
参阅图1,一种基于处理器技术辅助FPGA实现AI算法的验证方法,包括:
S110、将待处理数据和AI算法实现所涉及到的参数传送给非并行运算处理器,作为验证比对原型的待处理数据;
S120、将待处理数据和AI算法实现所涉及到的参数传送给FPGA芯片,作为待验证设计的待处理数据;
S130、非并行运算处理器在数据进行处理的过程中对原型的待处理数据数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存;
S140、FPGA芯片在数据进行处理的过程中对待验证设计的待处理数据数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存;
S150、比较比对原型的过程数据和运算结果与验证设计的过程数据和运算结果,从而分析验证FPGA在算法实现的过程中和结束后的运算结果是否正确。
本发明的有益效果:
相对于传统的FPGA软件仿真提高了验证的效率(由于现代AI算法非常复杂,在FPGA实现算法过程中根本无法通过软件仿真来模拟完整的AI算法更不用说模拟多轮AI算法的运算过程),相对于传统的FPGA在线调试能更准确地定位、分析错误(针对于FPGA在线调试,由于FPGA的片内资源,特别是存储资源有限,所以不能存储大量的运算结果和过程数据,所以FPGA在线调试虽然相对FPGA软件仿真效率更高,但是在AI算法实现过程中因产生的数据量过大,也不能起到准确地定位、分析错误的作用)。
在其中一个实施例中,还包括:通过显示屏显示比对原型的过程数据和运算结果。
在其中一个实施例中,还包括:通过显示屏显示验证设计的过程数据和运算结果。
在其中一个实施例中,还包括:通过显示屏显示比对原型的过程数据和运算结果与验证设计的过程数据和运算结果的比较结果。
在其中一个实施例中,还包括:获取用户的指令,所述指令用于设定具体验证模式;
根据设定的具体验证模式,分析验证FPGA在算法实现的过程中和结束后的运算结果是否正确。
可以理解,具体验证模式例如具体的可以设定验证FPGA和处理器运行到AI算法中的某一层,可以设定验证FPGA和处理器运行到AI算法运算多少轮等等。
在其中一个实施例中,还包括:将比对原型的过程数据和运算结果传送给外部***。
在其中一个实施例中,还包括:将验证设计的过程数据和运算结果传送给外部***。
在其中一个实施例中,还包括:将比对原型的过程数据和运算结果与验证设计的过程数据和运算结果的比较结果传送给外部***。
在其中一个实施例中,所述非并行运算处理器是ARM处理器或者DSP处理器。
在其中一个实施例中,所述非并行运算处理器利用C、C++或者Python语言处理数据。
如图2所示的处理器技术辅助验证功能框图,本发明的核心部分是处理器(这里所指的处理器是区别于FPGA和ASIC这种以并发处理方式完成运算的技术,泛指以顺序处理的方式完成运算的技术如CPU)AI算法实现1和FPGA AI算法实现2部分,这两部分完成相同AI算法,所不同的是处理器完成的算法实现一般采用高级语言(如C,C++,Python等)完成,算法实现模型相比较FPGA AI算法实现较为成熟、稳定,在本方法中的作用是辅助验证FPGAAI算法实现设计过程中的比对原型,而FPGA完成的算法实现2一般采用硬件描述语言(如Verilog,VHDL等)完成,其算法实现模型相比较处理器AI算法实现较为不成熟、不稳定的模块。在本方法中是与处理器完成的算法进行比对,待验证、待改进算法实现的设计过程,简单地说处理器完成的算法实现可以被看作正确的算法实现原型(对比原型),而FPGA完成的算法实现是待验证的、待改进的设计过程中的算法实现,所谓辅助验证就是辅助FPGA实现AI算法设计而提出的验证方法。存储模块4的功能是存储待AI算法处理的数据、控制参数、存储AI算法处理的结果、存储AI算法处理过程中的缓存的数据及两种AI实现算法过程中的对比数据。控制模块3主要是完成***控制、验证过程的控制功能(如比对AI算法的哪一层运算,比对AI算法的哪一轮运算,比对AI算法的哪一层的哪一部运算,如池化、激活等等。)。通讯模块6主要完成验证***与外界的通讯功能,具体的如将待处理的数据和AI算法参数传入到***,将处理器算法实现1和FPGA AI算法实现2处理后的结果传出***,将比对数据、对比结果和处理器算法实现1和FPGA AI算法实现2处理的过程数据传出***等。显示模块7可以用来显示控制信息、比对结果、分析结果、过程数据、AI算法待处理数据和AI算法处理结果等。比对分析模块5的功能是完成运算结果对比、过程数据对比和分析等功能以确定FPGA AI算法实现的设计过程中是否有错误,进一步对出错的地方进行定位分析。
下面介绍一下,对应图2的处理器技术辅助验证功能框图的工作流程:
参阅图3,通讯模块7将待处理数据和AI算法实现所涉及到的参数,通过通路1传送给处理器AI算法实现模块1,作为验证比对原型的待处理数据,通讯模块将待处理数据和AI算法实现所涉及到的参数,通过通路2传送给FPGA AI算法实现模块2,作为待验证设计的待处理数据。这两组数据是相同的。处理器AI算法实现模块1在对数据进行处理的过程中通过通路3、5在存储模块3对比对原型的待处理数据数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存,同样FPGA AI算法实现模块2在对数据进行处理的过程中通过通路4、6在存储模块4对待验证设计的待处理数据数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存,处理器AI算法实现模块1在控制模块5的控制下将比对原型运算结果和过程数据通过通路7传送到对比分析模块6,FPGA AI算法实现模块2在控制模块5的控制下将待验证设计的运算结果和过程数据通过通路8传送到对比分析模块6,在控制模块5的控制下比对原型的过程数据和运算结果与和待验证设计的过程数据和运算结果分别完整到达对比分析模块6后,对比分析模块6在控制模块5的控制下分别对比对原型和验证设计的过程数据和运算结果进行对比分析验证FPGA在算法实现的过程中和结束后的运算结果是否正确,以验证在设计过程中FPGA在实现AI算法正确性,如果发现错误,便于对错误进行定位。处理器AI算法实现模块1和FPGA AI算法实现模块2的运算结果和运算的过程数据及对比的过程数据可以通过通路10传送到显示模块8进行显示便于对FPGA AI算法实现设计过程中出现的错误进行进一步的定位、分析。同时处理器AI算法实现模块1和FPGA AI算法实现模块2的运算结果和运算的过程数据也可以通过通路9传送给通讯模块7传送到***外部对FPGA AI算法实现设计过程中出现的错误进行更进一步的定位和分析。控制模块5可以通过通路7、11、12设定具体验证模式(例如具体的可以设定验证FPGA和处理器运行到AI算法中的某一层,可以设定验证FPGA和处理器运行到AI算法运算多少轮等等)。
本发明的创新之处在于:引入了处理器技术辅助对FPGA AI算法实现过程中设计的验证,能快速、精确的定位FPGA在AI算法设计实现过程中设计错误。
下面介绍一个本发明的具体应用场景:
参阅图4,处理器AI算法实现模块1、控制模块2、对比分析模块3等功能由ARM处理器实现,同时ARM处理器实现PCIE功能通过PCIE接口与电脑进行数据通讯,ARM处理器实现的PCIE功能就相当于图3中的通讯模块7,电脑通过PCEI接口将待处理数据和参数传送到***中相应模块上,电脑还通过PCEI接口将***上相应模块处理的结果数据、过程数据及对比的过程数据接收回来进行更深入的对比、分析。ARM处理器还实现HDMI 5功能通过HDMIPHY 7在通过HDMI数据线3与显示器15连接,其中ARM处理器中实现的HDMI 5和HDMI PHY 7和显示器15组合起来就相当于图3中的显示模块8。在FPGA中完成FPGA AI算法实现8和MIG9功能,其中MIG 9负责管理FPGA与DDR411的数据通讯。DDR410和DDR 11相当于图3中的存储模块3和存储模块4。另外FPGA与ARM处理器通过AXI数据总线3进行交互,因为图3中的通讯模块7、控制模块5、对比分析模块6、显示模块8都是由ARM处理器来实现,所以FPGA AI算法实现的待处理数据、参数、处理的过程数据、处理的结果数据需要经由AXI数据总线3与ARM处理器进行交互。另外***中加入了电源模块12和时钟模块13分别为DDR410、DDR411、ARM处理器16、FPGA 17、HDMI PHY 7提供时钟和电源。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

Claims (10)

1.一种基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,包括:
将待处理数据和AI算法实现所涉及到的参数传送给非并行运算处理器,作为验证比对原型的待处理数据;
将待处理数据和AI算法实现所涉及到的参数传送给FPGA芯片,作为待验证设计的待处理数据;
非并行运算处理器在数据进行处理的过程中对原型的待处理数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存;
FPGA芯片在数据进行处理的过程中对待验证设计的待处理数据、过程数据、处理结果数据和AI算法实现所需的参数进行缓存;
比较比对原型的过程数据和运算结果与验证设计的过程数据和运算结果,从而分析验证FPGA在算法实现的过程中和结束后的运算结果是否正确。
2.如权利要求1所述的基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,还包括:通过显示屏显示比对原型的过程数据和运算结果。
3.如权利要求1所述的基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,还包括:通过显示屏显示验证设计的过程数据和运算结果。
4.如权利要求1所述的基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,还包括:通过显示屏显示比对原型的过程数据和运算结果与验证设计的过程数据和运算结果的比较结果。
5.如权利要求1所述的基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,还包括:获取用户的指令,所述指令用于设定具体验证模式;
根据设定的具体验证模式,分析验证FPGA在算法实现的过程中和结束后的运算结果是否正确。
6.如权利要求1所述的基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,还包括:将比对原型的过程数据和运算结果传送给外部***。
7.如权利要求1所述的基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,还包括:将验证设计的过程数据和运算结果传送给外部***。
8.如权利要求1所述的基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,还包括:将比对原型的过程数据和运算结果与验证设计的过程数据和运算结果的比较结果传送给外部***。
9.如权利要求1所述的基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,所述非并行运算处理器是ARM处理器或者DSP处理器。
10.如权利要求1所述的基于处理器技术辅助FPGA实现AI算法的验证方法,其特征在于,所述非并行运算处理器利用C、C++或者Python语言处理数据。
CN201911338986.2A 2019-12-23 2019-12-23 基于处理器技术辅助fpga实现ai算法的验证方法 Active CN111143208B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911338986.2A CN111143208B (zh) 2019-12-23 2019-12-23 基于处理器技术辅助fpga实现ai算法的验证方法
PCT/CN2020/098436 WO2021128781A1 (zh) 2019-12-23 2020-06-28 基于处理器技术辅助fpga实现ai算法的验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911338986.2A CN111143208B (zh) 2019-12-23 2019-12-23 基于处理器技术辅助fpga实现ai算法的验证方法

Publications (2)

Publication Number Publication Date
CN111143208A CN111143208A (zh) 2020-05-12
CN111143208B true CN111143208B (zh) 2021-04-06

Family

ID=70519383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911338986.2A Active CN111143208B (zh) 2019-12-23 2019-12-23 基于处理器技术辅助fpga实现ai算法的验证方法

Country Status (2)

Country Link
CN (1) CN111143208B (zh)
WO (1) WO2021128781A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143208B (zh) * 2019-12-23 2021-04-06 江苏亨通太赫兹技术有限公司 基于处理器技术辅助fpga实现ai算法的验证方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542713A (zh) * 2019-02-21 2019-03-29 深兰人工智能芯片研究院(江苏)有限公司 一种验证方法及验证装置
CN109977702A (zh) * 2019-04-08 2019-07-05 成都靖尧通信技术有限公司 一种基于ds2432芯片的fpga设备加密认证***和方法
CN110515842A (zh) * 2019-08-09 2019-11-29 苏州浪潮智能科技有限公司 一种程序调试方法、装置及电子设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070162268A1 (en) * 2006-01-12 2007-07-12 Bhaskar Kota Algorithmic electronic system level design platform
KR20130081354A (ko) * 2012-01-09 2013-07-17 삼성전자주식회사 분산 병렬 시뮬레이션에서의 통신 방법
CN106528363B (zh) * 2015-09-14 2019-03-12 深圳市博巨兴实业发展有限公司 一种软硬件协同设计的验证方法和装置
CN106777729A (zh) * 2016-12-26 2017-05-31 中核控制***工程有限公司 一种基于fpga的算法库仿真验证平台实现方法
CN110515754B (zh) * 2018-05-22 2021-01-26 深圳云天励飞技术有限公司 神经网络处理器的调试***及方法
US20190361697A1 (en) * 2018-05-22 2019-11-28 Pure Storage, Inc. Automatically creating a data analytics pipeline
CN110134580A (zh) * 2019-04-01 2019-08-16 深圳云天励飞技术有限公司 处理器验证方法及相关产品
CN111143208B (zh) * 2019-12-23 2021-04-06 江苏亨通太赫兹技术有限公司 基于处理器技术辅助fpga实现ai算法的验证方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542713A (zh) * 2019-02-21 2019-03-29 深兰人工智能芯片研究院(江苏)有限公司 一种验证方法及验证装置
CN109977702A (zh) * 2019-04-08 2019-07-05 成都靖尧通信技术有限公司 一种基于ds2432芯片的fpga设备加密认证***和方法
CN110515842A (zh) * 2019-08-09 2019-11-29 苏州浪潮智能科技有限公司 一种程序调试方法、装置及电子设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Analysis of partitioning between ARM and FPGA on performance characteristics;TR. Parthasarathy等;《The Proceedings of 2012 IEEE International Conference on Advanced Communication Control and Computing Technologies》;20120823;第78-82页 *
基于MCU+FPGA的验证平台技术研究;王焱龙;《中国优秀硕士学位论文全文数据库信息科技辑》;20101015;第I135-169页 *
深度学习FPGA加速器的进展与趋势;吴艳霞等;《计算机学报》;20191130;第42卷(第11期);第2461-2480页 *

Also Published As

Publication number Publication date
WO2021128781A1 (zh) 2021-07-01
CN111143208A (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
Zhang et al. A system hierarchy for brain-inspired computing
Gschwend Zynqnet: An fpga-accelerated embedded convolutional neural network
Wang et al. DeepBurning: Automatic generation of FPGA-based learning accelerators for the neural network family
WO2018171717A1 (zh) 面向神经网络处理器的自动化设计方法和***
CN104915322A (zh) 一种卷积神经网络硬件加速方法及其axi总线ip核
US20190130269A1 (en) Pipelined tensor manipulation within a reconfigurable fabric
Kapre et al. Survey of domain-specific languages for FPGA computing
Nouri et al. Building faithful high-level models and performance evaluation of manycore embedded systems
Wang et al. Briefly Analysis about CNN Accelerator based on FPGA
Zhang et al. Exploring HW/SW co-design for video analysis on CPU-FPGA heterogeneous systems
CN112560374A (zh) 集成的仿真器与分析和优化引擎
CN111143208B (zh) 基于处理器技术辅助fpga实现ai算法的验证方法
AZZAZ et al. FPGA HW/SW codesign approach for real-time image processing using HLS
Juracy et al. A fast, accurate, and comprehensive PPA estimation of convolutional hardware accelerators
Boutros et al. Architecture and application co-design for beyond-FPGA reconfigurable acceleration devices
US20200371843A1 (en) Framework for application driven exploration and optimization of hardware engines
Lee et al. Nnsim: A fast and accurate systemc/tlm simulator for deep convolutional neural network accelerators
Kempf et al. The ZuSE-KI-mobil AI accelerator SOC: overview and a functional safety perspective
Yang et al. Design of airborne target tracking accelerator based on KCF
Arasteh Transaction-level modeling of deep neural networks for efficient parallelism and memory accuracy
Lenormand et al. A combined fast/cycle accurate simulation tool for reconfigurable accelerator evaluation: application to distributed data management
Park et al. ShortcutFusion++: optimizing an end-to-end CNN accelerator for high PE utilization
Özeloğlu et al. Deep reinforcement learning‐based autonomous parking design with neural network compute accelerators
Peng et al. Trainable and low-cost SMO pattern classifier implemented via MCMC and SFBS technologies
Juracy et al. A TensorFlow and system simulator integration approach to estimate hardware metrics of convolution accelerators

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