CN111755436B - 具有实时监测并修正配置信息功能的多裸片fpga - Google Patents
具有实时监测并修正配置信息功能的多裸片fpga Download PDFInfo
- Publication number
- CN111755436B CN111755436B CN202010620257.2A CN202010620257A CN111755436B CN 111755436 B CN111755436 B CN 111755436B CN 202010620257 A CN202010620257 A CN 202010620257A CN 111755436 B CN111755436 B CN 111755436B
- Authority
- CN
- China
- Prior art keywords
- configuration
- fpga
- silicon
- die
- circuit
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/18—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different subgroups of the same main group of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L23/00—Details of semiconductor or other solid state devices
- H01L23/52—Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
- H01L23/535—Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames including internal interconnections, e.g. cross-under constructions
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L23/00—Details of semiconductor or other solid state devices
- H01L23/52—Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
- H01L23/538—Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames the interconnection structure between a plurality of semiconductor chips being formed on, or in, insulating substrates
- H01L23/5386—Geometry or layout of the interconnection structure
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/50—Multistep manufacturing processes of assemblies consisting of devices, each device being of a type provided for in group H01L27/00 or H01L29/00
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Physics & Mathematics (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Power Engineering (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请公开了具有实时监测并修正配置信息功能的多裸片FPGA,涉及FPGA技术领域,该多裸片FPGA中包括层叠设置同一个硅连接层上的若干个FPGA裸片,裸片之间通过硅连接层内部的跨裸片连线实现互连通信,从而可以支持由多个小规模小面积的裸片级联实现大规模大面积的产品,满足大规模要求;硅连接层和各个FPGA裸片内均布置配置端口和配置电路并支持串联形成菊花链结构的配置链,硅连接层内还设置用于连接在配置链中的监视修正电路,用于每隔预定时间间隔读取配置码流进行校验并进行错误修正,从而可以保证硅连接层以及各个FPGA裸片的配置信息定期得到修正,保证其正确性,满足高可靠要求。
Description
技术领域
本发明涉及FPGA技术领域,尤其是一种具有实时监测并修正配置信息功能的多裸片FPGA。
背景技术
FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)是一种硬件可编程的逻辑器件,除了应用于移动通信、数据中心等领域,还广泛应用于航空航天、卫星导航等领域,目前FPGA在这些领域正面临着巨大的挑战:一方面,随着应用对数据处理速度的要求不断提高,FPGA规模不断增加,FPGA规模的增加代表芯片面积不断增大,面积的增加会导致芯片生产良率的降低,从而增加生产成本。另一方面,在航空航天、卫星导航等领域的高可靠性应用中,必须确保FPGA配置位内容的正确性,但不同于一般的记忆体,SRAM型FPGA配置位的容错能力较难实现,因此在面对航天、卫星等领域复杂的太空环境和辐射粒子时,FPGA的可靠性也面临巨大挑战。
发明内容
本发明人针对上述问题及技术需求,提出了一种具有实时监测并修正配置信息功能的多裸片FPGA,本发明的技术方案如下:
一种具有实时监测并修正配置信息功能的多裸片FPGA,该多裸片FPGA包括基板、层叠设置在基板上的硅连接层以及层叠设置在硅连接层上的若干个FPGA裸片,硅连接层覆盖所有的FPGA裸片;每个FPGA裸片内包括若干个可配置功能模块、环于各个可配置功能模块分布的互连资源模块、以及连接点引出端,FPGA裸片内的可配置功能模块至少包括可编程逻辑单元、硅堆叠连接模块和输入输出端口,硅堆叠连接模块内包括若干个硅堆叠连接点,FPGA裸片内的可编程逻辑单元分别与硅堆叠连接点和输入输出端口通过互连资源模块相连,FPGA裸片内的硅堆叠连接点通过重布线层内的顶层金属线与相应的连接点引出端相连;每个FPGA裸片中的连接点引出端通过硅连接层内的跨裸片连线与其他FPGA裸片中相应的连接点引出端相连,每个FPGA裸片可通过硅连接层内的跨裸片连线与其他任意一个FPGA裸片相连;FPGA裸片内的输入输出端口通过硅连接层上的硅通孔连接至基板;
各个FPGA裸片内部包含依次相连的裸片配置端口、裸片配置电路和裸片可配置逻辑模块,硅连接层中布设有依次连接的硅连接层配置端口、硅连接层配置电路和硅连接层可配置逻辑模块;硅连接层配置端口、硅连接层配置电路与各个FPGA裸片的裸片配置端口和裸片配置电路依次相连形成串联菊花链结构的配置链;硅连接层中还布设有监视修正电路,监视修正电路连接在配置链中并每隔预定时间间隔读取配置链中的码流文件中的配置码流进行校验,并在检测到配置码流出现错误时进行修正并重新写入。
其进一步的技术方案为,监视修正电路为ECC电路,ECC电路连接在配置链中,ECC电路每隔预定时间间隔依次读取码流文件中的配置码流中的各个数据帧进行校验,并在检测到数据帧出现错误时修正数据帧并重新写入修正后的数据帧。
其进一步的技术方案为,ECC电路以72位为单位,其中64位为数据、8位为数据校验位,支持单比特错误检测修正和双比特错误报告。
其进一步的技术方案为,监视修正电路包括CRC电路和定时器,CRC电路通过定时器每隔预定时间间隔读取码流文件中的配置码流进行校验,并在检测到配置码流出现错误时,将备用配置码流写回到配置链中覆盖原始的配置码流实现修正、从而对多裸片FPGA进行配置刷新,其中,码流文件包括硅连接层配置电路对应的配置码流以及各个FPGA裸片对应的配置码流。
其进一步的技术方案为,备用配置码流存储在硅连接层,或者,存储在多裸片FPGA的外部存储设备中。
其进一步的技术方案为,CRC电路每隔预定时间间隔读取码流文件中的所有配置码流进行校验。
其进一步的技术方案为,CRC电路每隔预定时间间隔读取码流文件中预定配置电路对应的配置码流进行校验,预定配置电路包括硅连接层配置电路以及各个裸片配置电路中的一个或多个配置电路。
其进一步的技术方案为,硅连接层配置端口以及各个FPGA裸片的裸片配置端口的时钟信号输入管脚均相连并连接外部端口的时钟信号输入管脚,硅连接层配置端口以及各个FPGA裸片的裸片配置端口的控制信号输入管脚均相连并连接外部端口的控制信号输入管脚,硅连接层配置端口的数据输入管脚连接外部端口的数据输入管脚,第1个FPGA裸片的裸片配置端口的数据输入管脚连接硅连接层配置电路的数据输出端并通过硅连接层配置电路和硅连接层配置端口连接到外部端口的数据输入管脚,第i个FPGA裸片的裸片配置电路的数据输出端连接到第i+1个FPGA裸片的裸片配置端口的数据输入管脚,以此形成串联菊花链结构的配置链,i为参数且i的起始值为1;
同一个码流文件通过外部端口进入配置链,硅连接层配置电路以及各个裸片配置电路依次根据码流文件中相应的配置码流进行配置;或者,硅连接层配置电路以及各个裸片配置电路对应的配置码流依次通过配置链读出。
其进一步的技术方案为,各个FPGA裸片中的裸片配置端口及其相应的裸片配置电路采用的配置模式,以及硅连接层配置端口及其相应的硅连接层配置电路采用的配置模式相同或不同,采用的配置模式包括JTAG、主串、从串、主SPI、从SPI和主BPI中的任意一种配置模式。
本发明的有益技术效果是:
本申请的多裸片FPGA支持由多个小规模小面积的FPGA裸片级联实现大规模大面积的FPGA芯片,减少加工难度,提高芯片生产良率,加快设计速度,可以满足太空等重要领域对FPGA规模的要求。而在该多裸片FPGA中,FPGA裸片内以及硅连接层内设置有类似的配置端口和配置电路,有源硅连接层与FPGA裸片形成串行菊花链结构的配置链,可以采用该配置链进行串行配置或通过该配置链实现配置码流回读,同时硅连接层内还设置用于连接在配置链中的监视修正电路,用于每隔预定时间间隔读取配置码流进行校验并进行错误修正,从而可以保证硅连接层以及各个FPGA裸片的配置信息定期得到修正,保证其正确性,提高多裸片FPGA的可靠性,满足太空等复杂辐射环境对FPGA提出的高可靠要求。
附图说明
图1是本申请的多裸片FPGA的结构剖视图。
图2是本申请中多裸片FPGA内部的各个FPGA裸片的布设示意图。
图3是本申请中多裸片FPGA内部的各个FPGA裸片的另一种布设示意图。
图4是本申请中多裸片FPGA内部的一种电路结构图。
图5是图4中ECC电路的一种结构图。
图6是本申请中多裸片FPGA内部的另一种电路结构图。
图7是图6中CRC电路的一种结构图。
图8是硅连接层内的硅连接层可配置逻辑模块的一种电路结构示意图。
图9是硅连接层内的硅连接层可配置逻辑模块的另一种电路结构示意图。
图10是图1中部分结构放大图。
图11是多裸片FPGA中每个FPGA裸片中的连接点引出端的示意图。
图12是多裸片FPGA中FPGA裸片之间的互连结构示意图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
本申请提供了一种具有实时监测并修正配置信息功能的多裸片FPGA,请参考图1,该多裸片FPGA包括从下至少依次层叠设置的基板1、硅连接层2和若干个FPGA裸片,分别以裸片1、裸片2等表示,依次类推。在实际实现时,该FPGA还包括封装在基板1、硅连接层2和FPGA裸片外部的用于保护各个组件的封装外壳,以及还包括与基板相连的用于信号引出的管脚等,图1中未详细示出这些常规结构。
本申请的FPGA并不是采用单一FPGA裸片结构,而是包含多个FPGA裸片,这多个FPGA裸片均层叠设置在同一个硅连接层2上。这多个FPGA裸片可以在硅连接层2上沿着一维方向排布,如图2所示的俯视图。也可以在硅连接层2上按照二维堆叠方式排布,也即在水平面上沿着横、纵两个方向排布,如图3所示,这多个FPGA裸片在硅连接层2可以合理布局,根据各个FPGA裸片的形状和面积紧凑排布在硅连接层2上使得整个FPGA的整体面积较小且裸片之间的互连性能较好。
各个FPGA裸片内部包括依次相连的裸片配置端口、裸片配置电路和裸片可配置逻辑模块,FPGA裸片通过裸片配置端口获取对应的配置码流,并由裸片配置电路对裸片可配置逻辑模块进行配置。裸片可配置逻辑模块主要包括若干个DSR(数据位移寄存器)、若干个ASR(地址位移寄存器)以及SRAM(静态随机存取存储器)阵列,DSR和ASR控制SRAM的读取和写入,则裸片配置电路连接DSR和ASR。
如图1所示,硅连接层2内部布设有跨裸片连线3,跨裸片连线3分布在硅连接层2的全部区域或部分区域,且同时硅连接层2覆盖所有的FPGA裸片,因此每个FPGA裸片都可以根据电路需要通过跨裸片连线3连接到任意一个其他的FPGA裸片,FPGA裸片之间的电路互连在空间上几乎不受限。另外,硅连接层2上还开设有硅通孔4,FPGA裸片内的IOB通过硅连接层2上的硅通孔4连接至基板1以最终进行信号引出,本申请首先不对FPGA裸片与硅连接层2之间的连接结构进行具体展开,在本申请的最后会对其实现方式详细说明。
硅连接层2的制造工艺可与FPGA裸片不同,本申请中的硅连接层2为有源硅连接层,其内部除了布设有多层跨裸片连线3之外,还布设有依次相连的硅连接层配置端口、硅连接层配置电路以及硅连接层可配置逻辑模块,如图1-3所示,硅连接层2通过硅连接层配置端口获取对应的配置码流,并由硅连接层配置电路对硅连接层可配置逻辑模块进行配置。
在本申请中,各个FPGA裸片中的裸片配置端口及其相应的裸片配置电路采用的配置模式,以及硅连接层配置端口及其相应的硅连接层配置电路采用的配置模式相同或不同,采用的配置模式包括JTAG、主串、从串、主SPI、从SPI和主BPI中的任意一种配置模式。
在本申请中,硅连接层配置端口、硅连接层配置电路与各个FPGA裸片的裸片配置端口和裸片配置电路通过硅连接层2形成串行菊花链结构的配置链。也即如图4所示,硅连接层配置端口以及各个FPGA裸片的裸片配置端口的时钟信号输入管脚CLK_CFG均相连并连接外部端口的时钟信号输入管脚CLK。硅连接层配置端口以及各个FPGA裸片的裸片配置端口的控制信号输入管脚CTRL_CFG均相连并连接外部端口的控制信号输入管脚CTRL。硅连接层配置端口的数据输入管脚DATA_CFG连接外部端口的数据输入管脚DATA。第1个FPGA裸片的裸片配置端口的数据输入管脚DATA_CFG连接硅连接层配置电路的数据输出端,第i个FPGA裸片的裸片配置电路的数据输出端连接到第i+1个FPGA裸片的裸片配置端口的数据输入管脚。硅连接层配置端口、硅连接层配置电路与各个FPGA裸片的裸片配置端口和裸片配置电路由此形成串行菊花链结构的配置链,其中i为参数且i的起始值为1。
在这种情况中,多裸片FPGA内部包含一个配置链。该多裸片FPGA可以通过外部的FPGA、CPU、非易失性存储器实现码流文件的下载,码流文件通过外部端口进入该配置链,则该配置链中的码流文件包括硅连接层2对应的配置码流以及各个FPGA裸片对应的配置码流,也即硅连接层对应的配置码流以及各个FPGA裸片对应的配置码流来自于同一个码流文件,从而使得该配置链中的配置电路依次根据码流文件中相应的配置码流进行配置。除了能通过该配置链进行配置之外,该多裸片FPGA内各个配置电路对应的配置码流还可以依次通过该配置链读出。
该多裸片FPGA内部的配置电路在根据码流文件中的配置码流进行配置时,该配置链中所有的配置电路(包括硅连接层配置电路以及各个裸片配置电路)都根据该码流文件中相应的配置码流对内部的可配置逻辑模块进行配置。或者部分配置电路根据该码流文件中相应的配置码流对内部的可配置逻辑模块进行配置、其余配置电路直接让码流文件通过:也即硅连接层配置电路根据该码流文件中相应的配置码流对硅连接层可配置逻辑模块进行配置,或者直接让码流文件通过并传输至第1个FPGA裸片;每个FPGA裸片都根据该码流文件中相应的配置码流对内部的裸片可配置逻辑模块进行配置,或者,部分FPGA裸片根据码流文件中相应的配置码流对内部的裸片可配置逻辑模块进行配置,其余FPGA裸片直接让码流文件通过并传输至下一个FPGA裸片、不进行配置。
而进一步的,对于每个FPGA裸片,FPGA裸片内部的裸片可配置逻辑模块包括若干个配置组(bank),则FPGA裸片在根据码流文件中相应的配置码流对内部的裸片可配置逻辑模块进行配置时,根据配置码流对所有配置组进行配置或者对部分配置组进行配置。
硅连接层2中还布设有监视修正电路,监视修正电路连接在该配置链中并每隔预定时间间隔读取配置链中的码流文件中的配置码流进行校验,并在检测到配置码流出现错误时进行修正并重新写入。本申请中的码流文件包括若干个配置电路对应的配置码流,每个配置电路对应的配置码流中包括若干个数据帧,硅连接层2内的监视修正电路有如下几种实现方式:
1、监视修正电路为ECC电路,ECC电路连接在该配置链中,ECC电路实际通常设置在硅连接层配置电路内,如图4所示。ECC电路每隔预定时间间隔依次读取码流文件中的配置码流中的各个数据帧进行校验,并在检测到数据帧出现错误时修正该数据帧并重新写入修正后的数据帧,实现配置修正更新。
ECC电路的一种电路结构图如图5所示,ECC电路以72位为单位,其中64位为数据、8位为数据校验位,支持单比特错误检测修正和双比特错误报告。
2、监视修正电路包括CRC电路和定时器,CRC电路连接在该配置链中,CRC电路实际通常设置在硅连接层配置电路内,定时器布设在硅连接层2中并连接硅连接层配置电路,请参考图6,CRC电路通过定时器每隔预定时间间隔读取码流文件中的各个配置电路对应的配置码流进行校验,码流文件包括硅连接层配置电路对应的配置码流以及各个FPGA裸片对应的配置码流。当检测到某个配置电路的配置码流出现错误时,将备用配置码流写回到配置链中覆盖原始的配置码流实现修正、从而对多裸片FPGA进行配置刷新。其中,备用配置码流存储在硅连接层,或者,存储在多裸片FPGA的外部存储设备中。
在这种方式中,CRC电路通过定时器每隔预定时间间隔读取码流文件中的所有配置电路对应的配置码流进行校验,也即读取硅连接层配置电路对应的配置码流以及各个FPGA裸片对应的配置码流进行校验。或者,CRC电路通过定时器每隔预定时间间隔读取码流文件中部分重要的配置电路的配置码流进行校验,也即每隔预定时间间隔读取预定配置电路对应的配置码流进行校验,预定配置电路包括硅连接层配置电路以及各个裸片配置电路中的一个或多个配置电路,比如每隔预定时间间隔读取硅连接层配置电路对应的配置码流,再比如每隔预定时间间隔读取裸片2中的裸片配置电路对应的配置码流,再比如每隔预定时间间隔读取裸片5中的裸片配置电路对应的配置码流以及裸片10中的裸片配置电路对应的配置码流。
其中,CRC电路可以采用CRC16、CRC32以及CRC8中的任意一种结构,比如CRC16的结构如图7所示。
在本申请中,硅连接层2内的硅连接层可配置逻辑模块可以有多种电路结构和含义,硅连接层可配置逻辑模块通常连接FPGA裸片,比如在本申请中:
1、硅连接层内的硅连接层可配置逻辑模块为有源器件形成的信号延迟调节电路,信号延迟调节电路用于调节任意两个FPGA裸片之间的信号传输路径上的信号延迟,硅连接层配置电路根据对应的配置码流动态调整该信号延迟调节电路的时延,从而调节信号传输路径具有不同的信号延迟。比如:信号延迟调节电路包括若干个并联的不同大小的BUF,BUF的大小(W/L)控制该信号延迟调节电路的时延,如图8示出了信号延迟调节电路中包括三种不同大小的BUF的示意图,BUF从小到大依次对应具有BUF1X时延、BUF2X时延以及BUF3X时延,时延依次降低,则硅连接层配置电路根据对应的配置码流用配置位控制MUX实现BUF大小的选择,可以使该信号延迟调节电路具有相应的时延,相对于采用Metal Option选择的方式来说,这种方式可以多次重配置、根据需要动态调整。
2、硅连接层内的硅连接层可配置逻辑模块为有源器件形成的平衡时钟树,请参考图9,平衡时钟树的时钟输入端口获取时钟信号CLKIN、各个时钟输出端口分别连接各个FPGA裸片的时钟端口,平衡时钟树中的时钟输入端口到各个时钟输出端口的延迟相同,时钟信号进入平衡时钟树并通过平衡时钟树分别推到各个FPGA裸片,使得各个FPGA裸片的时钟同步,平衡时钟树具体可以采用H型时钟树结构、Buffer Tree结构、等长绕线路径结构等等,硅连接层配置电路根据对应的配置码流动态调整平衡时钟树。对平衡时钟树的调整包括:硅连接层配置电路根据对应的配置码流动态调整平衡时钟树的时钟输入端口的时钟信号CLKIN的来源,平衡时钟树的时钟输入端口的时钟信号CLKIN可以来自于多裸片FPGA的外部或任意一个FPGA裸片内部的时钟产生模块,则硅连接层配置电路可以用配置位控制MUX从而选择时钟信号CLKIN的来源。对平衡时钟树的调整还包括:平衡时钟树中的每个分支包括若干个并联的不同大小的BUF,如图8示出了每个分支中包括三种不同大小的BUF的示意图,BUF从小到大依次对应具有BUF1X时延、BUF2X时延以及BUF3X时延,时延依次降低,则硅连接层配置电路根据对应的配置码流用配置位控制MUX从而实现BUF大小的选择,可以使该分支具有相应的时延,与上述信号延迟调节电路原理类似。
为了结构的完整同时便于本领域技术人员理解,本申请接下来对多裸片FPGA内部的不同FPGA裸片之间的连接方式进行介绍如下,请结合图10,图10为图1部分结构放大图:
为了实现FPGA裸片与硅连接层2的连接,从而实现FPGA裸片之间的互连,本申请中的FPGA裸片内部除了包含CLB、IOB和其他功能模块这些常规可配置功能模块之外,还包括根据裸片间信号互连需求专门在裸片内部设计的硅堆叠连接模块,每个硅堆叠连接模块内包括若干个硅堆叠连接点5,硅堆叠连接模块是一种新增的专用于裸片信号引出的可配置功能模块,本申请中的FPGA裸片是将常规FPGA裸片中的某些常规可配置功能模块替换设置成了硅堆叠连接模块。且根据信号互连需求可以对任意位置的常规可配置功能模块进行替换,比如以现有常规的Column-Based的FPGA架构为例,其中每个column都是相同的模块,如CLB column是以CLB模块由上到下排列占满一个芯片column。每个模块设计时高度与INT对齐,CLB的高度和INT高度相等,其他功能模块的高度则可能等于多个INT高度,这种结构使得整个FPGA看起来是一个以INT形成的二维阵列,此阵列内模块的高度一致,同一个column的宽度一样,但不同column的宽度则可能不同。则基于这种二维阵列架构,既可以将硅堆叠连接模块设置在可编程逻辑单元所在的行列结构中,也可以将硅堆叠连接模块设置在其他功能模块所在的行列结构中以得到本申请中的FPGA裸片。硅堆叠连接模块的模块尺寸较小,其高度与CLB和INT的高度相等、宽度略小于CLB,而诸如DSP和BRAM之类的其他功能模块的高度和宽度都大于CLB,因此在将硅堆叠连接模块放在尺寸较大的其他功能模块(DSP、BRAM)处时会形成留空区域,而留空区域处可以设置电容、测试电路、降噪电路和监控电路中的至少一种常规电路结构以提高电路性能、丰富功能。
每个硅堆叠连接模块也具有一个环于该硅堆叠连接模块分布的互连资源模块,因此本申请中的FPGA裸片的绕线结构可以与常规FPGA裸片保持一致,无需做改变。硅堆叠连接模块与其他各个可配置功能模块之间的水平或垂直连线皆经由INT模块相连,硅堆叠连接模块LNK直接与其对应的互连资源模块INT中的互连开关相连,是互连线的一部分,硅堆叠连接模块LNK与互连开关之间根据连通度需要可以是全互连或部分互连。
本申请中的FPGA裸片还包括与内部硅堆叠连接点5对应的连接点引出端6,FPGA裸片内的硅堆叠连接点5通过重布线层(RDL层)内的顶层金属线7与相应的连接点引出端6相连。连接点引出端6通常根据堆叠互连需要沿着第一方向和第二方向按行列结构布设,结构示意图可以参考图11所示。另外为了实现更高的连通带宽可以布设多行/多列连接点引出端6,从而实现多行多列的高效二维级联。沿着每个方向布设多行/多列连接点引出端6时,可以是间隔均匀布设,也可以是随机布设。连接点引出端6与硅连接层2的连接方式具体可以是:FPGA裸片上生长有微凸球,连接点引出端6通过微凸球与硅连接层2连接并通过硅连接层2内部的跨裸片连线连接至其他FPGA裸片,图10可以看出FPGA裸片底部的微凸球结构,本申请不再详细标示。
由此结构,FPGA裸片的裸片信号已经由硅堆叠连接点5连接到了连接点引出端6。连接点引出端6再通过硅连接层2内的跨裸片连线3即可连接到其他FPGA裸片中相应的连接点引出端6,从而实现FPGA裸片之间的互连。
而当每个FPGA裸片的连接点引出端6与其他FPGA裸片的连接点引出端6相连时,两个FPGA裸片可以相邻,或者间隔若干个其他裸片,比如在图2中,裸片1与裸片2和裸片3之间均可以通过跨裸片连线3相连。跨裸片连线3在硅连接层2内分层交叉布置,使得跨裸片连线3之间互不影响。
另外,硅连接层2的内部布设的跨裸片连线3还可以沿着第一方向和第二方向交叉布置,第一方向和第二方向在水平方向上相互垂直,实际即为与裸片排布结构相匹配的横、纵两个方向。因此每个FPGA裸片可以通过两个方向上的跨裸片连线3同时与第一方向和第二方向上的其他FPGA裸片,从而使得多个FPGA裸片之间构成了二维互连结构,如图3中,裸片4可以通过第一方向的跨裸片连线3与裸片5互连、也可以通过第二方向的跨裸片连线3与裸片6互连,其余裸片同样如此。而在每一个方向上,每个FPGA裸片不仅可以通过跨裸片连线3与其相邻的其他FPGA裸片互连,也可以通过跨裸片连线3与间隔的其他FPGA裸片相连,和上述一维情况类似,本申请不再距离。另外,FPGA裸片还可以同时通过两个方向上的跨裸片连线3与不同行列的FPGA裸片相连,比如在图3中,裸片4还可以通过跨裸片连线3与裸片7相连。FPGA裸片之间的互连结构请参考图12所示的示意图。
以上所述的仅是本申请的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。
Claims (9)
1.一种具有实时监测并修正配置信息功能的多裸片FPGA,其特征在于,所述多裸片FPGA包括基板、层叠设置在所述基板上的硅连接层以及层叠设置在所述硅连接层上的若干个FPGA裸片,所述硅连接层覆盖所有的FPGA裸片;每个FPGA裸片内包括若干个可配置功能模块、环于各个可配置功能模块分布的互连资源模块、以及连接点引出端,所述FPGA裸片内的可配置功能模块至少包括可编程逻辑单元、硅堆叠连接模块和输入输出端口,所述硅堆叠连接模块内包括若干个硅堆叠连接点,所述FPGA裸片内的可编程逻辑单元分别与硅堆叠连接点和输入输出端口通过互连资源模块相连,所述FPGA裸片内的硅堆叠连接点通过重布线层内的顶层金属线与相应的连接点引出端相连;每个FPGA裸片中的连接点引出端通过所述硅连接层内的跨裸片连线与其他FPGA裸片中相应的连接点引出端相连,每个FPGA裸片可通过所述硅连接层内的跨裸片连线与其他任意一个FPGA裸片相连;FPGA裸片内的输入输出端口通过所述硅连接层上的硅通孔连接至所述基板;
各个FPGA裸片内部包含依次相连的裸片配置端口、裸片配置电路和裸片可配置逻辑模块,所述硅连接层中布设有依次连接的硅连接层配置端口、硅连接层配置电路和硅连接层可配置逻辑模块;所述硅连接层配置端口、硅连接层配置电路与各个FPGA裸片的裸片配置端口和裸片配置电路依次相连形成串联菊花链结构的配置链;所述硅连接层中还布设有监视修正电路,所述监视修正电路连接在所述配置链中并每隔预定时间间隔读取所述配置链中的码流文件中的配置码流进行校验,并在检测到配置码流出现错误时进行修正并重新写入。
2.根据权利要求1所述的具有实时监测并修正配置信息功能的多裸片FPGA,其特征在于,所述监视修正电路为ECC电路,所述ECC电路连接在所述配置链中,所述ECC电路每隔预定时间间隔依次读取所述码流文件中的配置码流中的各个数据帧进行校验,并在检测到数据帧出现错误时修正所述数据帧并重新写入修正后的数据帧。
3.根据权利要求2所述的具有实时监测并修正配置信息功能的多裸片FPGA,其特征在于,ECC电路以72位为单位,其中64位为数据、8位为数据校验位,支持单比特错误检测修正和双比特错误报告。
4.根据权利要求1所述的具有实时监测并修正配置信息功能的多裸片FPGA,其特征在于,所述监视修正电路包括CRC电路和定时器,所述CRC电路通过所述定时器每隔预定时间间隔读取所述码流文件中的配置码流进行校验,并在检测到配置码流出现错误时,将备用配置码流写回到所述配置链中覆盖原始的配置码流实现修正、从而对所述多裸片FPGA进行配置刷新,其中,所述码流文件包括所述硅连接层配置电路对应的配置码流以及各个FPGA裸片对应的配置码流。
5.根据权利要求4所述的具有实时监测并修正配置信息功能的多裸片FPGA,其特征在于,备用配置码流存储在所述硅连接层,或者,存储在所述多裸片FPGA的外部存储设备中。
6.根据权利要求4所述的具有实时监测并修正配置信息功能的多裸片FPGA,其特征在于,所述CRC电路每隔预定时间间隔读取所述码流文件中的所有配置码流进行校验。
7.根据权利要求4所述的具有实时监测并修正配置信息功能的多裸片FPGA,其特征在于,所述CRC电路每隔预定时间间隔读取所述码流文件中预定配置电路对应的配置码流进行校验,所述预定配置电路包括所述硅连接层配置电路以及各个裸片配置电路中的一个或多个配置电路。
8.根据权利要求1-7任一所述的具有实时监测并修正配置信息功能的多裸片FPGA,其特征在于,所述硅连接层配置端口以及各个FPGA裸片的裸片配置端口的时钟信号输入管脚均相连并连接外部端口的时钟信号输入管脚,所述硅连接层配置端口以及各个FPGA裸片的裸片配置端口的控制信号输入管脚均相连并连接所述外部端口的控制信号输入管脚,所述硅连接层配置端口的数据输入管脚连接所述外部端口的数据输入管脚,第1个FPGA裸片的裸片配置端口的数据输入管脚连接所述硅连接层配置电路的数据输出端并通过所述硅连接层配置电路和所述硅连接层配置端口连接到所述外部端口的数据输入管脚,第i个FPGA裸片的裸片配置电路的数据输出端连接到第i+1个FPGA裸片的裸片配置端口的数据输入管脚,以此形成串联菊花链结构的配置链,i为参数且i的起始值为1;
同一个码流文件通过所述外部端口进入所述配置链,所述硅连接层配置电路以及各个裸片配置电路依次根据所述码流文件中相应的配置码流进行配置;或者,所述硅连接层配置电路以及各个裸片配置电路对应的配置码流依次通过所述配置链读出。
9.根据权利要求1-7任一所述的具有实时监测并修正配置信息功能的多裸片FPGA,其特征在于,各个FPGA裸片中的裸片配置端口及其相应的裸片配置电路采用的配置模式,以及所述硅连接层配置端口及其相应的所述硅连接层配置电路采用的配置模式相同或不同,采用的配置模式包括JTAG、主串、从串、主SPI、从SPI和主BPI中的任意一种配置模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010620257.2A CN111755436B (zh) | 2020-07-01 | 2020-07-01 | 具有实时监测并修正配置信息功能的多裸片fpga |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010620257.2A CN111755436B (zh) | 2020-07-01 | 2020-07-01 | 具有实时监测并修正配置信息功能的多裸片fpga |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111755436A CN111755436A (zh) | 2020-10-09 |
CN111755436B true CN111755436B (zh) | 2021-12-07 |
Family
ID=72680183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010620257.2A Active CN111755436B (zh) | 2020-07-01 | 2020-07-01 | 具有实时监测并修正配置信息功能的多裸片fpga |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111755436B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656344B (zh) * | 2021-08-19 | 2023-08-15 | 无锡中微亿芯有限公司 | 利用配置移位链实现多码流功能的fpga |
US11604696B2 (en) | 2021-08-19 | 2023-03-14 | Wuxi Esiontech Co., Ltd. | Field programmable gate array (FPGA) for improving reliability of key configuration bitstream by reusing buffer memory |
CN113657062B (zh) * | 2021-08-19 | 2023-09-05 | 无锡中微亿芯有限公司 | 基于奇偶校验提高fpga运行可靠性的方法 |
CN113608919B (zh) * | 2021-08-19 | 2024-02-02 | 无锡中微亿芯有限公司 | 通过复用缓冲内存提高关键配置码流可靠性的fpga |
US11736107B2 (en) | 2021-08-19 | 2023-08-22 | Wuxi Esiontech Co., Ltd. | Field-programmable gate array (FPGA) for using configuration shift chain to implement multi-bitstream function |
CN114300019A (zh) * | 2021-12-17 | 2022-04-08 | 无锡中微亿芯有限公司 | 实现外部监控和配置的flash型FPGA的配置电路 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101558491A (zh) * | 2006-12-15 | 2009-10-14 | 理查德·诺曼 | 具有用于多种部件触点类型的对齐不敏感支持的可重新编程电路板 |
CN102971966A (zh) * | 2010-06-28 | 2013-03-13 | 吉林克斯公司 | 多裸片集成电路的配置 |
CN103428115A (zh) * | 2013-07-25 | 2013-12-04 | 浙江大学 | 一种基于开发板的板间多播光互连网络架构方法 |
CN105843986A (zh) * | 2016-03-14 | 2016-08-10 | 中国电子科技集团公司第五十八研究所 | 一种基于fpga可自动扩展地址的控制系统 |
CN107480332A (zh) * | 2017-07-07 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种fpga芯片、高速接口互联系统及实现互联的方法 |
CN108111930A (zh) * | 2017-12-15 | 2018-06-01 | 中国人民解放军国防科技大学 | 基于高密度存储器的多裸片高阶光交换结构 |
CN110010601A (zh) * | 2017-12-27 | 2019-07-12 | 英特尔公司 | 具有用于可编程结构和可编程结构支持电路的单独管芯的集成电路器件 |
CN111326194A (zh) * | 2018-12-13 | 2020-06-23 | 美光科技公司 | 具有失效管理的3d堆叠式集成电路 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10812085B2 (en) * | 2018-12-27 | 2020-10-20 | Intel Corporation | Power management for multi-dimensional programmable logic devices |
-
2020
- 2020-07-01 CN CN202010620257.2A patent/CN111755436B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101558491A (zh) * | 2006-12-15 | 2009-10-14 | 理查德·诺曼 | 具有用于多种部件触点类型的对齐不敏感支持的可重新编程电路板 |
CN102971966A (zh) * | 2010-06-28 | 2013-03-13 | 吉林克斯公司 | 多裸片集成电路的配置 |
CN103428115A (zh) * | 2013-07-25 | 2013-12-04 | 浙江大学 | 一种基于开发板的板间多播光互连网络架构方法 |
CN105843986A (zh) * | 2016-03-14 | 2016-08-10 | 中国电子科技集团公司第五十八研究所 | 一种基于fpga可自动扩展地址的控制系统 |
CN107480332A (zh) * | 2017-07-07 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种fpga芯片、高速接口互联系统及实现互联的方法 |
CN108111930A (zh) * | 2017-12-15 | 2018-06-01 | 中国人民解放军国防科技大学 | 基于高密度存储器的多裸片高阶光交换结构 |
CN110010601A (zh) * | 2017-12-27 | 2019-07-12 | 英特尔公司 | 具有用于可编程结构和可编程结构支持电路的单独管芯的集成电路器件 |
CN111326194A (zh) * | 2018-12-13 | 2020-06-23 | 美光科技公司 | 具有失效管理的3d堆叠式集成电路 |
Non-Patent Citations (1)
Title |
---|
《基于CPLD的ARINC429总线接口系统设计》;屈凌翔 等;《电子与封装》;20100930;第10卷(第9期);第24-27页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111755436A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111755436B (zh) | 具有实时监测并修正配置信息功能的多裸片fpga | |
US11693810B2 (en) | Interface bridge between integrated circuit die | |
EP2257881B1 (en) | Memory device with network on chip methods, apparatus, and systems | |
US20130275823A1 (en) | Programmable logic circuit using three-dimensional stacking techniques | |
TWI781592B (zh) | 記憶體裝置 | |
CN108074595A (zh) | 存储器系统的接口方法、接口电路和存储器模块 | |
US20200006306A1 (en) | Configurable random-access memory (ram) array including through-silicon via (tsv) bypassing physical layer | |
EP4020214A1 (en) | Modular error correction code circuitry | |
US9361973B2 (en) | Multi-channel, multi-bank memory with wide data input/output | |
CN107209718A (zh) | 高性能非易失性存储器模块 | |
US10108488B2 (en) | Memory module with integrated error correction | |
TWI759938B (zh) | 高速且低功率傳輸及接收資料之記憶體裝置 | |
CN111725188B (zh) | 一种硅连接层具有可配置电路的多裸片fpga | |
CN111725198B (zh) | 通过硅连接层的配置电路实现全可编程的多裸片fpga | |
CN111753480B (zh) | 利用有源硅连接层实现时钟树的多裸片fpga | |
US9594715B2 (en) | Integrated circuit devices, systems and methods having automatic configurable mapping of input and/or output data connections | |
CN103019303A (zh) | 时序路径上保持时间的调节装置与方法 | |
JP2003149300A (ja) | テスト方法および半導体装置 | |
CN111725187B (zh) | 基于通用结构硅连接层构成的多裸片fpga | |
CN117851146A (zh) | 针对小芯片的fpga原型验证系统和原型验证方法 | |
JP2017033612A (ja) | 半導体記憶装置及びその制御方法 |
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 |