CN115774692A - Ai处理器及电子设备 - Google Patents
Ai处理器及电子设备 Download PDFInfo
- Publication number
- CN115774692A CN115774692A CN202111043052.3A CN202111043052A CN115774692A CN 115774692 A CN115774692 A CN 115774692A CN 202111043052 A CN202111043052 A CN 202111043052A CN 115774692 A CN115774692 A CN 115774692A
- Authority
- CN
- China
- Prior art keywords
- processor
- fpga
- module
- input
- output
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Logic Circuits (AREA)
Abstract
一种AI处理器及电子设备。所述AI处理器包括:包括:FPGA及位于所述FPGA内部的AI计算模块;其中,通过所述FPGA对所述AI计算模块进行逻辑控制;所述AI计算模块采用专用集成电路实现;所述AI计算模块具有输入接口和输出接口,所述AI计算模块的输入接口和输出接口均与所述FPGA的可编程互连单元连接。应用上述方案,可以提高AI处理器的计算效率。
Description
技术领域
本发明涉及电子技术领域,具体涉及一种AI处理器及电子设备。
背景技术
目前,实现人工智能(Artificial Intelligence,AI)处理器的方式,一般有两种:1)用专用集成电路(Application Specific Integrated Circuit,ASIC)的方式实现的,主要用于某些专用的领域中,具备性能和功耗上的优势,但设计完成制作成芯片后,AI处理器上运行的AI算法是无法再更改的,开发周期也相对比较长;2)用可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)现有的可编程资源来实现的,利用FPGA实现AI处理器,开发周期较短,后续AI处理器上运行的AI算法也有进行升级更新的可能,具备很强的灵活性。
近年来,AI算法日新月异,AI算法更新的速度很快,而且对计算能力的需求也在不断的增长。由于ASIC实现的AI处理器,开发时无法知道未来AI算法是怎样的,可能会无法支持最新的AI算法,故大都采用FPGA实现AI处理器。
然而,现有基于FPGA实现的AI处理器,虽然该AI处理器上运行的AI算法是可以重新编程的,但是AI处理器计算效率较低,往往无法满足日益增长的计算能力需求。
发明内容
本发明要解决的问题是:如何提高AI处理器的计算效率?
为解决上述问题,本发明实施例提供了一种AI处理器,所述AI处理器包括:包括:FPGA及位于所述FPGA内部的AI计算模块;其中,通过所述FPGA对所述AI计算模块进行逻辑控制;所述AI计算模块采用专用集成电路实现;所述AI计算模块具有输入接口和输出接口,所述AI计算模块的输入接口和输出接口均与所述FPGA的可编程互连单元连接。
本发明实施例还提供了一种电子设备,所述电子设备包括上述的AI处理器。
与现有技术相比,本发明实施例的技术方案具有以下优点:
应用本发明的方案,由于AI计算模块是采用专用集成电路实现的,并非利用FPGA本身的可编程资源实现的,故AI计算模块的工作频率和资源可以不受限制,进而AI计算模块的输入接口和输出接口数量可以根据实际需求进行设置,由此AI计算模块可以支持更高的传输带宽。并且,由于AI计算模块的输入接口和输出接口均与FPGA的可编程互连单元连接,而FPGA可编程互连单元的输入接口及输出接口数量,远大于AI计算模块的输入接口和输出接口数量,使得AI计算模块与可编程互连单元之间可以对数据进行并行处理,由此可以进一步提高计算效率,改善AI处理器的计算能力。
附图说明
图1是本发明实施例中一种AI处理器的结构示意图;
图2是本发明实施例中另一种AI处理器的结构示意图;
图3是本发明实施例中又一种AI处理器的结构示意图;
图4是一种时钟信号与数据之间的时序关系示意图;
图5是时钟管理模块为可编程互连单元及AI计算模块提供时钟信号的示意图;
图6是时钟管理模块为寄存器及AI计算模块提供时钟信号的示意图。
具体实施方式
相对于ASIC,FPGA是一个可以通过编程来改变内部结构的芯片。
目前,在利用FPGA实现AI处理器时,通常利用FPGA现有的可编程资源。实现AI计算、数据存储及计算过程中的逻辑控制。其中,FPGA现有的可编程资源可以包括:查找表(Look-Up Table,LUT)、寄存器、加法器及乘法器等。
由于FPGA为通用FPGA,而通用FPGA的工作频率和可编程资源的数量是有限的,故其可支持的传输带宽有限,导致AI处理器计算效率较低,往往无法满足日益增长的计算能力需求。
针对该问题,本发明提供了一种AI处理器,所述AI处理器包括FPGA及位于所述FPGA内部的AI计算模块。其中,所述AI计算模块是采用专用集成电路实现的;所述AI计算模块具有输入接口和输出接口,所述AI计算模块的输入接口和输出接口均与所述FPGA的可编程互连单元连接。由于所述AI计算模块是采用专用集成电路实现的,故相对于利用FPGA本身的可编程资源实现计算,所述AI计算模块的输入接口和输出接口数量可以设置更多,由此AI计算模块可以支持更高的传输带宽。另外,通过将AI计算模块的输入接口和输出接口与FPGA的可编程互连单元连接,使得AI计算模块与可编程互连单元之间可以对数据进行并行处理,由此可以进一步提高计算效率,改善AI处理器的计算能力。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例作详细地说明。
参照图1,本发明实施例提供了一种AI处理器。所述AI处理器包括FPGA11及位于所述FPGA11内部的AI计算模块12。
其中,通过所述FPGA 11对所述AI计算模块12进行逻辑控制;所述AI计算模块12是采用专用集成电路实现的;所述AI计算模块12具有输入接口和输出接口,所述AI计算模块12的输入接口和输出接口均与所述FPGA 11的可编程互连单元110连接。
通过将AI计算模块12设置在FPGA11内部,可以使得AI计算模块12能够与FPGA 11的可编程互连单元110连接,以满足AI计算模块12多输入接口及输出接口的需求。而若将AI计算模块12设置在FPGA 11外部,则AI计算模块12必然与FPGA 11的管脚进行连接,由于FPGA 11的管脚数量有限且原小于AI计算模块12输入接口及输出接口的数量,会使得AI计算模块12的两个以上接口共用FPGA11的同一管脚,这必然会影响数据传输带宽,从而影响计算效率。
另外,除了提升AI处理器的效率外,采用本发明实施例中FPGA 11及AI计算模块12的方式实现AI处理器,相对于完全采用ASIC的方式,可以根据不同的场景及AI算法的需要,对AI处理器进行更新更新,由此使得AI处理器能够适应不同的场景及AI算法,提高了灵活性。
在具体实施中,不同的AI处理器,FPGA 11对AI计算模块12的逻辑控制可以不同,AI计算模块12实现的运算也可以不同,即AI处理器上运行的AI算法可以不同。
在具体实施中,所述AI计算模块12并非利用FPGA 11本身的可编程资源实现的,而是将AI处理器的计算单元以专用集成电路的方式实现。
在具体实施中,可以将AI处理器中计算量最大且通用的计算部分,提取出来,并以专用集成电路的方式实现。所提取的计算部分可以仅包括一个计算单元,也可以包括两个或两个以上计算单元,每个计算单元用于实现一种计算(比如,加法技术、乘法计算等)。可以在寄存器转换级(Register Transfer Level,RTL)级别对AI计算模块12进行例化。
其中,RTL级别,指的是描述各级寄存器(时序逻辑中的寄存器),以及寄存器之间的信号的是如何转换的(时序逻辑中的组合逻辑)。所谓例化,指的是对所提取的计算部分进行打包,也就是将一段实现特定功能的程序做到一个“例化元件”里,并设置输入接口及输出接口,以后要实现这个功能时,只需把输入接口、输出接口按照需要进行连接即可。
在具体实施中,AI计算模块12,可以具有很多输入接口及输出接口,故与FPGA11之间可以具有很高的传输带宽。
通过对FPGA 11进行编程,可以实现和FPGA 11中的其它任意资源连接,也可以通过FPGA 11的管脚连接到FPGA 11的外设上。AI计算模块12可以位于FPGA 11内部的任意位置,比如,AI计算模块12可以位于FPGA 11的中心位置,也可以位于FPGA 11的边缘位置,只要AI计算模块12的输入接口及输出接口能够连接到FPGA 11的可编程互联单元上即可。
需要说明的是,FPGA 11通常具有多个可编程互连单元110,每个可编程互连单元110可以具有多达上千个输入接口及输出接口。通过对可编程互连单元110进行编程,可以实现可编程互连单元110输入数据至输出数据的转换。
在具体实施中,FPGA工具可以对FPGA11进行编程,并可以使用原语的方式对AI计算模块12进行调用,故可以使用FPGA工具将所述AI计算模块12的输入接口及输出接口,通过FPGA 11内的可编程互连单元110,与FPGA 11的其它资源或管脚连接。
在具体实施中,使用FPGA工具可以采用多种方式,将AI计算模块12与FPGA 11的其它资源或管脚连接。
在本发明的一实施例中,使用FPGA工具,可以先获取AI计算模块12的输入输出时序信息,然后基于所获取的输入输出时序信息进行布局布线,使得所述AI计算模块12可以直接与FPGA11内的可编程互连单元110连接,如图1所示。此时,所述AI计算模块12的输入接口和输出接口与所述FPGA11的可编程互连单元110之间的连接,与所述AI计算模块12的输入输出时序相匹配。也就是说,可编程互连单元110向AI计算模块12输入数据,与AI计算模块12输出数据的时间顺序相匹配。可编程互连单元110接收AI计算模块12输出数据的时序,与向AI计算模块12输入数据的时间顺序相匹配。
在具体实施中,所述时序相匹配,指的是在设定的工作频率下,AI计算模块12的输出都能被FPGA11正确采集,FPGA11给到AI计算模块12的输入也都能被AI计算模块12正确的采集。在时序电路中,数据会在时钟的变化沿被采集。此时采集电路数据输入必须在时钟变化沿之前一段时间就保证稳定,并保持到时钟变化沿之后一段时间,这样,采集电路才能够正确的采集到数据。在本发明的实施例中,采集电路可以为AI计算模块12的采集电路,或者为FPGA11的采集电路。
例如,参照图4,采集电路在时钟的上升沿采集数据,要正确采集到数据,数据在时钟沿之前需要保持稳定的最短时间叫做建立时间(setup time),在时钟沿之后需要保持稳定的最短时间叫做保持时间(hold time)。如需要正确的采集数据,采集电路的数据输入必须满足在建立时间之前就保持稳定,并一直保持到保持时间之后。
所述时序相匹配,需要AI计算模块12的输入传递到AI计算模块12内部的输入数据采集电路时,是满足建立保持时间的。同理,FPGA11在采集AI计算模块12的输出时输出也需要满足建立保持时间。
采用该方案连接AI计算模块12及可编程互连单元110时,AI计算模块12与可编程互连单元110之间的时钟相位是相同的,但是由于AI计算模块12与可编程互连单元110之间的连线会对数据的传输产生延时,故在AI计算模块12与可编程互连单元110之间的连线较长时,由于延时的影响,会使得AI计算模块12的时序受到影响,AI计算模块12需要考虑连线引起的延时,而降低工作频率,从而导致AI计算模块12的计算效率下降,AI处理器的工作效率也就下降。
为了避免AI计算模块12的计算效率下降而影响AI处理器的工作效率,在本发明的一实施例中,参照图2,所述AI计算模块12的输入接口和输出接口,可以通过所述FPGA11中的可编程逻辑门单元111,与所述FPGA11本身的可编程互连单元110连接。所述可编程逻辑门单元111用于寄存所述AI计算模块12预设数量时钟周期的输入数据和输出数据。
在图2示出的实施例中,FPGA工具无需预先获取所述AI计算模块12的输入输出时序信息。可编程逻辑门单元111起到寄存器的作用。可编程逻辑门单元111可以寄存一个时钟周期的输入数据和输出数据,也可以寄存两个或两个时钟周期的输入数据和输出数据。为了简化调度复杂度,优选地,可编程逻辑门单元111寄存一个时钟周期的输入数据和输出数据。
在图2中,通过对可编程逻辑门单元111进行编程,使其作为寄存器。可编程逻辑门单元111的数量为AI计算模块12的输入接口和输出接口数量总和。AI计算模块12的每个接口附近,设置一个可编程逻辑门单元111。AI计算模块12的输入接口和输出接口线连接到可编程逻辑门单元111。
具体地,AI计算模块12的输入接口可以连接至用于输出数据的可编程逻辑门单元111的输出端,用于输出数据的可编程逻辑门单元111的输出端连接至可编程互连单元110。AI计算模块12的输出接口可以连接至用于输入数据的可编程逻辑门单元111的输入接口,输入数据的可编程逻辑门单元111的输出解耦股连接至可编程互连单元110。
在具体实施中,在使用可编程逻辑门单元111连接AI计算模块12及可编程互连单元110时,可以先将多个可编程逻辑门单元111进行例化,使得例化后的可编程逻辑门单元111的组合模块的输入接口和输出接口,与AI计算模块12的输入接口和输出接口相对应。例化后的可编程逻辑门单元111,与FPGA 11中其它可编程逻辑门单元是一致的,时序也是一致的,FPGA工具可以像处理其它可编程逻辑门单元一样,对例化后的可编程逻辑门单元111进行布局布线。
在具体实施中,所述可编程逻辑门单元与所述AI计算模块12之间连线的长度,小于预设长度阈值。所述预设长度阈值的具体取值,可以根据实际情况进行设置,通过设置所述预设长度阈值,使得连接AI计算模块12及可编程互连单元110的可编程逻辑门单元111,位于AI计算模块12输入接口和输出接口位置附近,使得它们之间的连线尽量短。
在具体实施中,控制可编程逻辑门单元111的时钟和控制AI计算模块12的接口时钟是可以进行相位调整的,如果可编程逻辑门单元111和AI计算模块12间的时序不满足要求,可以通过调整时钟相位的方式进行校正。
在具体实施中,可编程逻辑门单元111的时钟和AI计算模块12的接口时钟,二者可以是同源的,频率也可以是相同的,但是相位关系是可以调整的,即相位关系可以是不同的。
在具体实施中,所述AI计算模块12的接口时钟指的是:AI计算模块12内部驱动AI计算模块12输出信号的时序电路,和采集输入信号的时序电路所使用的时钟。AI计算模块12内部可能不只一个时钟,比如,AI计算模块12内部的其它模块可能会使用一个更加高频的时钟,但相位可调整的仅是AI计算模块12的接口时钟。
所述AI计算模块12的接口时钟是AI计算模块12的一个输入,此输入可以是在设计时从某个时钟管理模块的输出直接连接过来的,这样在使用时必须使用这个时钟管理模块产生AI计算模块12的接口时钟。或者,可以利用FPGA11原有是时钟树,所述接口时钟是连接在时钟树上的,这样可以通过工具对FPGA 11进行编程,把时钟管理模块的输出连接过来。同理,可编程逻辑门单元111的时钟也是这样产生。
例如,参照图5,可以通过在FPGA的时钟管理模块113产生第一时钟信号CLOCK1及第二时钟信号CLOCK2,其中第一时钟信号CLOCK1可以作为AI计算模块12的接口时钟,第二时钟信号CLOCK2可以作为可编程逻辑门单元111的时钟。
第一时钟信号CLOCK1及第二时钟信号CLOCK2之间的相位关系是可以配置的,具体可以皮秒级为单位进行精确的相位调整。可以在产生时钟管理模块113时,便可以配置好第一时钟信号CLOCK1及第二时钟信号CLOCK2之间的相位关系,也可以通过对FPGA逻辑对时钟管理模块113进行配置。
通过使用可编程逻辑门单元111连接AI计算模块12及可编程互连单元110,AI计算模块12可以按照自身的时序,将输入数据和输出数据存储在可编程逻辑门单元111中,可编程互连单元110也可以按照自身的时序,从可编程逻辑门单元111中读取数据或写入数据,因连线过长而产生的延时不会影响AI计算模块12的时序,从而减小对AI计算模块12的计算效率的影响。
在本发明的另一实施例中,参照图3,所述AI计算模块12的输入接口和输出接口,还可以通过所述FPGA 11中的寄存器112,与所述FPGA11本身的可编程互连单元110连接。所述寄存器112用于寄存所述AI计算模块12预设数量时钟周期的输入数据和输出数据。
在图3示出的实施例中,FPGA工具无需预先获取所述AI计算模块12的输入输出时序信息。寄存器112属于FPGA 11本身的寄存器资源,可以寄存一个时钟周期的输入数据和输出数据,也可以寄存两个或两个时钟周期的输入数据和输出数据。为了简化调度复杂度,优选地,寄存器112寄存一个时钟周期的输入数据和输出数据。
连接AI计算模块112的寄存器可以包括输入寄存器及输出寄存器。其中,输入寄存器用于向AI计算模块112输入数据,输入寄存器的输入接口与可编程互连单元110的输出接口连接,输入寄存器的输出接口与AI计算模块112输入接口连接。输出寄存器用于接收AI计算模块112的输出数据,输出寄存器的输入接口与AI计算模块112的输出接口连接,输出寄存器的输出接口与可编程互连单元110的输入接口连接。
在具体实施中,在使用寄存器112连接AI计算模块12及可编程互连单元110时,可以先将多个寄存器112进行例化,使得例化后的寄存器112的输入接口和输出接口,与AI计算模块12的输入接口和输出接口相对应。例化后的寄存器112,与FPGA 11中其它寄存器是一致的,时序也是一致的,FPGA工具可以像处理其它寄存器一样,对例化后的寄存器进行布局布线。
在具体实施中,所述寄存器112与所述AI计算模块12之间连线的长度,小于预设长度阈值。所述预设长度阈值的具体取值,可以根据实际情况进行设置,通过设置所述预设长度阈值,使得连接AI计算模块12及可编程互连单元110的寄存器112,位于AI计算模块12输入接口和输出接口位置附近,使得它们之间的连线尽量短。
在具体实施中,控制寄存器112的时钟和控制AI计算模块12的时钟是可以进行相位调整的,如果寄存器112和AI计算模块12间的时序不满足要求,可以通过调整时钟相位的方式进行校正。
在具体实施中,寄存器112的时钟和AI计算模块12的接口时钟,二者可以是同源的,频率也可以是相同的,但是相位关系是可以调整的,即相位关系可以是不同的。
所述寄存器112的时钟,可以是从某个时钟管理模块产生的,也可以是利用FPGA11原有是时钟树。具体可以参照上述关于AI计算模块12的接口时钟如何产生的描述进行实施,此处不再赘述。
例如,参照图6,可以通过在FPGA的时钟管理模块113产生第三时钟信号CLOCK3及第四时钟信号CLOCK4,其中第三时钟信号CLOCK3可以作为AI计算模块12的接口时钟,第四时钟信号CLOCK4可以作为寄存器112的时钟。
第三时钟信号CLOCK3及第四时钟信号CLOCK4之间的相位关系是可以配置的,具体可以皮秒级为单位进行精确的相位调整。可以在产生时钟管理模块113时,便可以配置好第三时钟信号CLOCK3及第四时钟信号CLOCK4之间的相位关系,也可以通过对FPGA逻辑对时钟管理模块113进行配置。
通过使用寄存器112连接AI计算模块12及可编程互连单元110,AI计算模块12可以按照自身的时序,将输入数据和输出数据存储在寄存器112中,可编程互连单元110也可以按照自身的时序,从寄存器112中读取数据或写入数据,因连线过长而产生的延时不会影响AI计算模块12的时序,从而减小对AI计算模块12的计算效率的影响。
需要说明的是,在具体实施中,AI计算模块12及可编程互连单元110之间,也可以通过其它可以起到寄存器作用的可编程逻辑资源实现连接,具体不作限制。
需要说明的是,本发明实施例中的图1至图3、图5及图6,为一种示意图,其中部分线条所连接的另一端并未示出。可以理解的是,在实际应用中,线条的两端均是需要连接相应模块的。
在具体实施中,所述AI计算模块12可以仅具有一个计算单元(即用于实现一种计算),也可以具有多个计算单元(即用于实现多种计算)。所述计算可以为以下至少一种:卷积计算,向量计算,矩阵计算,激活操作,池化操作。可以理解的是,所述AI计算模块12并不限于上述计算。所述AI计算模块12可以通过接口直接进行控制,也可以通过配置寄存器的方式,或通过指令的方式进行控制。所述AI计算模块12实现的计算过程及相应时序,可以通过FPGA进行编程控制。
在具体实施中,所述AI计算模块12的数量不作限制,所述AI处理器可以仅具有一个AI计算模块12,也可以具有两个或两个以上AI计算模块12,比如,所述AI处理器具有5个AI计算模块12。每个AI计算模块12通过FPGA11内的可编程互连单元110连接至FPGA 11的其它资源或者管脚。
在具体实施中,所述AI计算模块12还可以包括用于缓存输入数据的存储单元。该数据可以为输入数据,也可以为输出数据。所述AI计算模块12还可以包括用于存储或寻址的控制逻辑。通过用于存储或寻址的控制逻辑,可以完成在AI计算模块12中存储单元的数据存储或数据寻址。
由于AI计算模块12的输入接口和输出接口均连接到FPGA 11中的可编程互联单元110上,故可以通过类似控制FPGA 11中的一个可编程逻辑资源,FPGA11工具可以很容易就能实现对AI计算模块12的控制。使用FPGA11的逻辑资源实现主要的控制功能,而使用AI计算模块12完成主要的计算功能。当然根据算法的需要,也可以通过使用FPGA11的资源来实现一部分计算功能。
例如,AI计算模块12可以是用来完成一次卷积运算的计算单元。通过对FPGA11进行编程,一部分FPGA逻辑可以把输入数据送到AI计算模块12的输入接口,另外有一部分FPGA逻辑与AI计算模块12的控制接口相连,根据卷积层的参数进行配置并启动AI计算模块12进行计算,最后通过AI计算模块12输出接口得到计算结果。通过多次调度控制AI计算模块12就能完成由多个卷积层组成的神经网络的计算。
由上述内容可知,本发明实施例中的AI处理器,AI计算模块12位于FPGA11内部,可以与FPGA 11本身的可编程互连单元110进行连接,故AI计算模块12与可编程互连单元110可以具有很高的数据传输带宽。另外,AI计算模块12是采用专用集成电路实现的,工作频率可以很高,并且,计算单元越多,计算能力越强。控制部分由FPGA逻辑实现,可以根据算法的变化进行更新升级,具备很强的灵活性。
本发明实施例还提供了一种电子设备,所述电子设备包括上述实施例中任一种的AI处理器。
在具体实施中,电子设备可以是通过触摸显示屏进行人机交互的设备。用户可以通过目标物体对所述触摸显示屏进行操作,使所述电子设备执行特定的功能,所述电子设备也可以通过所述触摸显示屏显示用户界面。例如,家居智能终端(包括:空调、冰箱、电饭煲、热水器等),商务智能终端(包括:可视电话、会议桌面智能终端等),可穿戴设备(包括智能手表、智能眼镜等),金融智能终端机,以及智能手机、平板电脑、个人数字助理(personaldigital assistant,PDA)、车载设备、计算机等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (13)
1.一种AI处理器,其特征在于,包括:FPGA及位于所述FPGA内部的AI计算模块;
其中,通过所述FPGA对所述AI计算模块进行逻辑控制;所述AI计算模块采用专用集成电路实现;所述AI计算模块具有输入接口和输出接口,所述AI计算模块的输入接口和输出接口均与所述FPGA的可编程互连单元连接。
2.如权利要求1所述的AI处理器,其特征在于,所述AI计算模块的输入接口和输出接口,通过所述可编程互连单元,与所述FPGA的其它资源或管脚连接。
3.如权利要求2所述的AI处理器,其特征在于,所述AI计算模块的输入接口和输出接口与所述FPGA的可编程互连单元之间的连接,与所述AI计算模块的输入输出时序相匹配。
4.如权利要求3所述的AI处理器,其特征在于,所述AI计算模块的输入接口和输出接口,通过所述FPGA中的可编程逻辑门单元或寄存器,与所述FPGA本身的可编程互连单元连接;所述可编程逻辑门单元或寄存器组,用于寄存所述AI计算模块预设数量时钟周期的输入数据和输出数据。
5.如权利要求4所述的AI处理器,其特征在于,所述AI计算模块与所述可编程逻辑门单元之间的时钟相位关系是可调的。
6.如权利要求4所述的AI处理器,其特征在于,所述AI计算模块与所述寄存器之间的时钟相位关系是可调的。
7.如权利要求4所述的AI处理器,其特征在于,所述可编程逻辑门单元及寄存器,用于寄存所述AI计算模块一个时钟周期的输入数据和输出数据。
8.如权利要求4所述的AI处理器,其特征在于,所述可编程逻辑门单元及寄存器,与所述AI计算模块之间连线的长度,小于预设长度阈值。
9.如权利要求1所述的AI处理器,其特征在于,所述AI计算模块用于实现以下至少一种计算:卷积计算,向量计算,矩阵计算,激活操作,池化操作。
10.如权利要求1所述的AI处理器,其特征在于,所述AI计算模块为两个以上。
11.如权利要求1所述的AI处理器,其特征在于,所述AI计算模块还包括:用于缓存数据的存储单元。
12.如权利要求11所述的AI处理器,其特征在于,所述AI计算模块还包括:用于存储或寻址的控制逻辑。
13.一种电子设备,其特征在于,包括权利要求1至12任一项所述的AI处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111043052.3A CN115774692A (zh) | 2021-09-07 | 2021-09-07 | Ai处理器及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111043052.3A CN115774692A (zh) | 2021-09-07 | 2021-09-07 | Ai处理器及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115774692A true CN115774692A (zh) | 2023-03-10 |
Family
ID=85387604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111043052.3A Pending CN115774692A (zh) | 2021-09-07 | 2021-09-07 | Ai处理器及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115774692A (zh) |
-
2021
- 2021-09-07 CN CN202111043052.3A patent/CN115774692A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522052B (zh) | 一种计算装置及板卡 | |
GB2568086A (en) | Hardware implementation of convolution layer of deep neutral network | |
CN109409510B (zh) | 神经元电路、芯片、系统及其方法、存储介质 | |
CN104899182A (zh) | 一种支持可变分块的矩阵乘加速方法 | |
JP2008537268A (ja) | 可変精度相互接続を具えたデータ処理エレメントの配列 | |
CN103984560A (zh) | 基于大规模粗粒度嵌入式可重构系统及其处理方法 | |
US20190007049A1 (en) | Self-adaptive chip and configuration method | |
CN111488976B (zh) | 神经网络计算装置、神经网络计算方法及相关产品 | |
CN109670581B (zh) | 一种计算装置及板卡 | |
BR112019027531A2 (pt) | processadores de alto rendimento | |
WO2022199459A1 (zh) | 一种可重构处理器及配置方法 | |
Xu et al. | Heterogeneous systolic array architecture for compact cnns hardware accelerators | |
Chang et al. | Efficient hardware accelerators for the computation of Tchebichef moments | |
CN115456155A (zh) | 一种多核存算处理器架构 | |
CN111488963B (zh) | 神经网络计算装置和方法 | |
CN113918221A (zh) | 运算模块、流水优化方法及相关产品 | |
CN109565269A (zh) | 快速滤波 | |
CN115774692A (zh) | Ai处理器及电子设备 | |
Hu et al. | High-performance reconfigurable DNN accelerator on a bandwidth-limited embedded system | |
CN111260070B (zh) | 运算方法、装置及相关产品 | |
GB2582868A (en) | Hardware implementation of convolution layer of deep neural network | |
CN110673802B (zh) | 数据存储方法、装置、芯片、电子设备和板卡 | |
CN111367567B (zh) | 一种神经网络计算装置和方法 | |
CN111260046B (zh) | 运算方法、装置及相关产品 | |
CN111258641B (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 |