连接不同时钟域下的FPGA和人工智能模块的系统芯片技术方案

技术编号:21398822 阅读:22 留言:0更新日期:2019-06-19 06:57
一种连接不同时钟域的FPGA和人工智能模块的系统芯片。在实施例中,系统芯片包括:AI模块,包括多个处理单元,各处理单元能够完成逻辑和/或乘加运算;AI模块工作在第一时钟下;FPGA模块,经配置后工作在第二时钟下;同步器,用于将AI模块的输入端和/或输出端与FPGA模块的绕线(XBAR)模块耦合在一起。将FPGA与AI模块集成在同一芯片上时,AI模块的输出/输入信号可以很好的找到相应的FPGA连接点。FPGA可以高速的提供大量的数据到AI模块,配合其高带宽处理能力。由此,根据本发明专利技术的系统芯片具有良好的伸缩性,不受总线带宽的限制。

【技术实现步骤摘要】
连接不同时钟域下的FPGA和人工智能模块的系统芯片
本专利技术涉及集成电路
,尤其涉及一种连接不同时钟域的FPGA和人工智能模块的电路及系统芯片。
技术介绍
近年来,人工智能迎来一波发展浪潮。人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。当前,人工智能模块由处理器通过总线来进行访问控制,而总线是有一定的带宽限制,这样的架构难以适应AI模块的大带宽需求。
技术实现思路
根据本专利技术实施例,提供一种系统芯片,包括:AI模块,包括多个处理单元,各处理单元能够完成逻辑和/或乘加运算;AI模块工作在第一时钟下;FPGA模块,经配置后工作在第二时钟下;同步器,用于将AI模块的输入端和/或输出端与FPGA模块的绕线模块耦合在一起。优选地,所述同步器由两个触发器串联而实现。优选地,所述同步器由FPGA内的两个触发器串联而实现。优选地,在AI模块处于同步器的接收侧时,配置FPGA模块为所述两个触发器提供第一时钟。优选地,AI模块嵌入FPGA模块中以便复用FPGA模块的绕线资源,以便自AI模块发送数据或者接收数据,皆经由所述的复用的FPGA模块的绕线资源。优选地,所述同步器的两个触发器的时钟信号由接收端提供。将FPGA与AI模块集成在同一芯片上时,AI模块的输出/输入信号可以很好的找到相应的FPGA连接点。FPGA可以高速的提供大量的数据到AI模块,配合其高带宽处理能力。由此,根据本专利技术的系统芯片具有良好的伸缩性,不受总线带宽的限制。附图说明图1是根据本专利技术实施例的连接不同时钟域的FPGA和人工智能模块的系统芯片的示意图;图2是FPGA电路的结构示意图;图3是人工智能模块的结构示意图;图4是处理单元的示意图。具体实施方式为使本专利技术实施例的技术方案以及优点表达的更清楚,下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。在本申请的描述中,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。图1是根据本专利技术实施例的连接不同时钟域的FPGA和人工智能模块的系统芯片的示意图。如图1所示,系统芯片上集成有至少一个FPGA模块和至少一个人工智能模块。至少一个FPGA模块中各FPGA模块可实现逻辑、计算、控制等各种功能。FPGA利用小型查找表(例如,16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能。至少一个人工智能模块中各人工智能模块可实现或加速经预先选定的特定AI功能,包括人工智能(ArtificialIntelligenceAI),深度学习(DeepLearningDL),机器学习(MachineLearningML)等各种算法或加速算法中某一步骤的特定功能(如卷积Convolution,矩阵Matrix/张量运算TensorOperation等)。人工智能(AI)部分包含由多个功能模块(FU)组成的阵列。FPGA模块和人工智能模块的大小并无限定,在设计时由实际应用决定。在占用芯片布局方面,一般是安排FPGA模块与人工智能模块相邻。FPGA模块和AI模块可以并排放置,此时FPGA模块可以为AI模块传输数据,提供控制。AI模块也可以嵌入FPGA模块之中;例如FPGA模块较大,人工智能模块较小的情况时,亦可在大片的FPGA模块中挖空一窗口,内置入人工智能模块;此时,AI模块需要复用FPGA模块的绕线资源,以便通过复用的FPGA模块的绕线资源接收和发送数据。FPGA模块与人工智能模块可以由不同步的时钟CLK1,CLK2分别驱动,俩者分属不同时钟域。信号穿越时钟域时需要经过同步。在一个实施例中,每个需要同步的信号都经由一个同步器(Synchronizer)。在一个例子中,同步器由2个触发器(Flip-Flop或FF)串连而成;在从FPGA到AI模块的数据流动的情况下,数据从FPGA模块的工作在CLK1下的某个寄存器输出,然后经工作在与AI模块相同工作时钟CLK2下的两个触发器输出到AI模块;在从相反方向的从AI到FPGA模块的数据流动的情况下,数据从AI模块的工作在CLK2下的某个寄存器输出,然后经工作在与FPGA模块相同工作时钟CLK1下的两个触发器输出到FPGA模块。所述同步器的两个触发器的时钟信号由数据接收端提供。在AI模块需要大量的数据输出/输入时,FPGA拥有大量的绕线(例如,XBAR)资源,可以提供充足的互联资源。将FPGA与AI模块集成在同一芯片上时,AI模块的输出/输入信号可以很好的找到相应的FPGA连接点。FPGA可以高速的提供大量的数据到AI模块,配合其高带宽处理能力。由此,根据本专利技术的系统芯片具有良好的伸缩性,不受总线带宽的限制。在所述同步器由FPGA内的两个触发器串联而实现且AI模块处于同步器的接收侧时,配置FPGA模块为所述两个触发器提供与AI模块相同的时钟。虽然图中示意了两个FPGA模块,但是这仅是示例。这两个FPGA模块可能属于同一个FPGA模块的两个部分。或者,系统芯片可以包括不止一个FPGA模块和/或不止一个人工智能模块。图2是FPGA电路的结构示意图。如图2所示,FPGA电路可包含有多个可编程逻辑模块(例如,LOGIC)、嵌入式存储块(例如,EMB)、乘累加器(例如,MAC)等模块和相应的绕线单元(例如,XBAR)。当然,FPGA电路还设有时钟/配置模块(支干seam/主干spine)等相关资源。若需要EMB或MAC模块时,因其面积比PLB大许多,故以此EMB/MAC模块取代若干PLB模块。绕线资源XBAR是各模块间互联的接点,均匀地分布在FPGA模块内。FPGA模块内所有的资源,PLB、EMB、MAC、IO相互之间的绕线都是经有一个相同的界面XBAR单元来实现。由绕线方式来看,整个阵列是相同一致,整齐排列的XBAR单元形成网格,将FPGA内所有模块相连。LOGIC模块可以包含,例如,8个6输入查照表,18个寄存器。EMB模块可以是,例如,36kbit或2个18kbit的存储单元。MAC模块可以是,例如,25x18乘法器,或2个18x18乘法器。FPGA阵列中LOGIC、MAC、EMB各模块数量的占比并无限制,阵列的大小也根据需要,在设计时由实际应用决定。可以由LOGIC模块提供实现图1所述的同步器的寄存器。图3是人工智能模块的结构示意图。如图3所示,人工智能AI模块是一个二维阵列,例如包括4X4个处理单元PE。阵列可分为两个维度,彼此垂直的第一维本文档来自技高网...

【技术保护点】
1.一种系统芯片,包括:人工智能AI模块,包括多个处理单元(PE),各处理单元能够完成逻辑和/或乘加运算;AI模块工作在第一时钟下;FPGA模块,经配置后工作在第二时钟下;同步器,用于将AI模块的输入端和/或输出端与FPGA模块的绕线(XBAR)模块耦合在一起。

【技术特征摘要】
1.一种系统芯片,包括:人工智能AI模块,包括多个处理单元(PE),各处理单元能够完成逻辑和/或乘加运算;AI模块工作在第一时钟下;FPGA模块,经配置后工作在第二时钟下;同步器,用于将AI模块的输入端和/或输出端与FPGA模块的绕线(XBAR)模块耦合在一起。2.根据权利要求1所述的系统芯片,其特征在于,所述同步器由两个触发器串联而实现。3.根据权利要求1所述的系统芯片,其特征在于,所述同步器由FPGA内的两...

【专利技术属性】
技术研发人员:连荣椿王海力马明
申请(专利权)人:京微齐力北京科技有限公司
类型:发明
国别省市:北京,11

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

1