一种可编程逻辑块阵列边沿的通用接口及芯片
技术领域
本发明涉及微电子领域中的集成电路设计技术领域,特别是一种可编程逻辑块阵列边沿的通用接口及芯片。
背景技术
现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)是一种具有丰富硬件资源、强大并行处理能力和灵活可重配置能力的逻辑器件。这些特征使得FPGA在数据处理、通信、网络等很多领域得到了越来越多的广泛应用。
图1为现有技术的可编程逻辑块阵列边沿的通用接口与专用接口的连接示意图。如图1所示,可编程逻辑块PLB(Programmable logic block)包括基本逻辑单元LE(Logic Element)和逻辑单元的连线资源Xbar;每个LE包括4个逻辑片LP(Logic Parcel);IP模块是FPGA芯片中的专用模块。当PLB阵列边沿通用接口与IP模块连接时,需要通过一个Xbar模块与IP模块相连;且与Xbar模块只有24个输入(Input)和56个输出(Output)的线数。
随着FPGA芯片功能的增加,所需要的PLB阵列与IP模块的接口连线越来越多,与PLB阵列相连的xbar的输入输出线数满足不了要求。并且,目前的接口连线方式中,必须通过Xbar模块与IP模块相连,占用了较多的芯片面积;导致延时也增加;芯片的功耗也增加。
目前工业界还没有能够解决PLB阵列边沿的通用接口与IP模块的接口方法。
发明内容
本发明的目的是针对现有技术的缺陷,提供了一种可编程逻辑块阵列边沿的通用接口及芯片;该接口不需要通过Xbar模块与IP模块相接,省略了Xbar模块,节约了芯片的面积;通过PLB阵列边沿的通用接口与专用模块的接口直接相连,降低了延时,也降低了芯片的功耗。
本发明第一方面提供一种可编程逻辑块阵列边沿的通用接口,在可编程逻辑块阵列边沿的反馈线输入端设置一个多路复用器;所述反馈线的输出端的一条支路直接输出,其另一条支路输入到所述多路复用器的一个输入端。
优选地,所述多路复用器为2选1多路复用器。
优选地,所述可编程逻辑块阵列边沿的通用接口与专用模块相连,所述专用模块包括中央处理器CPU模块,硬逻辑Logic hard core模块,通用串行总线USB模块,双倍速率同步动态随机存储器DDR模块,串行高速输入输出SERDES模块以及输入输出IO模块。
优选地,所述可编程逻辑块阵列边沿的通用接口位于可编程逻辑块阵列边沿的上下两侧。
优选地,所述可编程逻辑块阵列边沿的通用接口位于可编程逻辑块阵列边沿的左右两侧。
优选地,所述可编程逻辑块阵列边沿的反馈线包括嵌入式存储器EMB、数字信号处理器DSP、本地存储器LRAM以及可编程逻辑块的反馈线。
本发明第二方面提供一种FPGA芯片,包括如上任一所述的可编程逻辑块阵列边沿的通用接口。
本发明通过在PLB阵列边沿反馈线的输入端设置多路复用器,PLB阵列边沿的通用接口能够提供更多的连线,且PLB阵列与专用模块之间不再需要通过Xbar模块相连,节省了Xbar模块,节约了芯片的面积;同时也降低了延时和芯片的功耗。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的可编程逻辑块阵列边沿的通用接口与专用接口的连接示意图;
图2为现有技术的芯片中可编程逻辑块阵列边沿的反馈线示意图;
图3为现有技术的可编程逻辑块阵列左右两侧边沿反馈线的示意图;
图4为现有技术的可编程逻辑块阵列上下两侧边沿反馈线的示意图;
图5为本发明实施例提供的可编程逻辑块阵列左右两侧边沿反馈线的示意图;
图6为本发明实施例提供的可编程逻辑块阵列上下两侧边沿反馈线的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
下面以图2对本发明实施例做一个说明,图2为现有技术的芯片中可编程逻辑块阵列边沿的反馈线示意图。如图2所示,以图中左上角的PLB为例,在左侧和上方,都有TIE线,TIE分为O线、T线、M线和Q线。其中跨相邻8个PLB的O线有8组;跨相邻4个PLB的T线4组;跨相邻4个PLB的M线4组;跨相邻的12个PLB的Q线有1组。
现对TIE线进行说明,TIE线也被称为互连线,在FPGA芯片中,PLB中与任意相邻模块放置在一起时,PLB中的TIE线就会与相邻模块的端口线进行对接。因此,在PLB阵列中,每一个PLB都是与相邻的PLB或EMB等模块通过TIE线对接。
TIE线是PLB阵列中,PLB中的xbar绕线资源跨越相邻的多个PLB,然后反馈回到PLB阵列边沿的PLB中,构成反馈线。这里所说的xbar绕线资源的跨越并贯穿或者是通过多个PLB的内部。
现对反馈线进行说明,PLB阵列的边缘,存在往PLB阵列外的输出的端口,往PLB阵列内输入的端口;输出的端口接自己的输入端口,被称为反馈线。反馈线的作用是让整个PLB阵列形成一个完整的整体,任何一个TIE线,都有相同的驱动,相同的负载,相同的绕线能力。
当PLB阵列边沿的通用接口与IP模块接口相连时,TIE线的反馈作用消失;当IP模块不用时,TIE线就构成反馈线。
需要说明的是,图2中所述为跨PLB的示意图,图中仅给出了部分的反馈线作为说明。在PLB阵列的边沿的反馈线,通过Xbar模块与专用模块相连。并且,现有技术中PLB阵列的边沿只能左右两侧通过Xbar模块与专用模块相连,由此便限制了芯片的形状。
专用模块,也就是IP模块包括:中央处理器CPU模块,硬逻辑Logic hard core模块,通用串行总线USB模块,双倍速率同步动态随机存储器DDR模块,串行高速输入输出SERDES模块以及输入输出IO模块,在此不一一列举。
现对FPGA芯片的IP做一个说明,IP(Intellectual Property)内核模块是一种预先设计好的甚至已经过验证的具有某种确定功能的集成电路、器件或部件。它有几种不同形式。IP内核模块有行为(behavior)、结构(structure)和物理(physical)3级不同程度的设计,对应有主要描述功能行为的“软IP内核(soft IP core)”、完成结构描述的“固IP内核(firm IP core)”和基于物理描述并经过工艺验证的“硬IP内核(hard IP core)”3个层次。这相当于集成电路(器件或部件)的毛坯、半成品和成品的设计技术。
现以图3为例对现有技术中PLB阵列边沿的通用接口进行说明,图3为现有技术的可编程逻辑块阵列左右两侧边沿反馈线的示意图。图中为可编程逻辑块左右两侧的接口数量,O线每组8根线,T线每组4根线,M线每组4根线,Q线每组12根线。图中PLB阵列与IP模块必须通过绕线资源Xbar模块相连;Xbar以右侧为例,只有56个输出Output,24个输入Input可以给IP模块使用。
需要说明的是,图中省略了PLB阵列,仅以PLB阵列的一个PLB作为示意图进行说明。
显然当芯片中PLB的左右两侧需要与IP模块相连时,对连线的需求大于一个Xbar模块所提供的连线时,Xbar模块不能提供足够的绕线资源。
图4为现有技术的可编程逻辑块阵列上下两侧边沿反馈线的示意图。如图4所示,为芯片中PLB阵列上下两侧的情况,与芯片左右两侧的情况相同,在此不再赘述。
在本发明实施例中,可编程逻辑块阵列边沿的通用接口,在可编程逻辑块阵列边沿的反馈线输入端设置一个多路复用器;所述反馈线的输出端的一条支路直接输出,其另一条支路输入到所述多路复用器的一个输入端。
具体地,以图5为例进行说明,图5为本发明实施例提供的可编程逻辑块阵列左右两侧边沿反馈线的示意图。如图5所示,所述多路复用器为2选1的多路复用器。
图中反馈线的输出端一条支路直接输出,另一条支路输入到2选1的多路复用器mux
的输入端,mux的另一个输入端为IP模块提供连线。
需要说明的是,反馈线的功能依然存在,从反馈线的输出端输出,从反馈线的输入端输入。当不增加mux时,这些TIE线就是只有反馈功能;加了mux后,这些TIE线就有了可选择性。即TIE线可以选择做反馈线,输入端口既可以选择接IP模块的线进来;也可以选择直接接输出端口的线;输出端口可以直接IP模块的线,也可以经由mux接输入端口的连线,进而实现反馈线功能。相对于现有技术来说,反馈线是输出端提供了一条可以直接输出与IP模块相连的方式,并且在反馈线的输入端增加了一个mux以后,多了从外部IP模块输入的方式。
在本发明实施例中,将反馈线断开,然后在反馈线的输入端增加了一个mux,就可以利用反馈线把靠近PLB阵列边沿的12列以内的PLB内的xbar都用到。故本发明实施例能够提供更多的线与IP模块相连。
本发明实施例中给出了2选1的mux,但是本发明并以此为限。多路复用器可以是N选1,N为大于1的整数。
显然,在PLB阵列的反馈线上增加了多路复用器,在PLB阵列与IP模块的接口不需要通过绕线资源Xbar模块,而是直接相连。并且PLB阵列中每个PLB的每条边对外的接口数量为,O线8组,每组8条线;T线4组,每组4条线;M线4组,每组4条;Q线1组,每组12条;也就是PLB的每边的线为108条。
也就是说,PLB阵列中每个PLB的每边都有TIE线108条,也就是每边都有108个端口;在PLB阵列的内部的PLB相互之间可以对接,在PLB阵列的边沿便形成了反馈线。
如图所示,反馈线的输入输出是对应的。也就是每个PLB的每条边可以提供108条输入和输出的线,很显然,所能够提供连线的数量远大于绕线资源Xbar模块所能提供的线的数量。图中省略了PLB阵列,仅以PLB阵列的一个PLB作为示意图进行说明。
需要说明的是,在现有技术中,PLB阵列的反馈线一直存在,但是限于Xbar模块的所能提供的56个输入Input以及24个输出Output,这些线不能与IP模块相连。
当接口位于可编程逻辑块的上下两侧时,以图6进行说明。图6为本发明实施例提供的可编程逻辑块阵列上下两侧边沿反馈线的示意图。
芯片上下两侧的反馈线与左右两侧的情况相同,在此不再赘述。
本发明通过在PLB阵列边沿反馈线的输入端设置多路复用器,PLB阵列边沿的通用接口能够提供的连线要多,且PLB与专用模块之间不再需要通过Xbar相连,节省了Xbar模块,节约了芯片的面积;同时也降低了延时和芯片的功耗。并且专用模块也不再局限放在可编程逻辑块阵列边沿的左右两侧,可以任意放置在可编程逻辑块阵列的四周,故FPGA芯片可以做出更多的形状。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。