CN109698691A - 含有可编程计算芯片的可编程门阵列封装 - Google Patents

含有可编程计算芯片的可编程门阵列封装 Download PDF

Info

Publication number
CN109698691A
CN109698691A CN201710980817.3A CN201710980817A CN109698691A CN 109698691 A CN109698691 A CN 109698691A CN 201710980817 A CN201710980817 A CN 201710980817A CN 109698691 A CN109698691 A CN 109698691A
Authority
CN
China
Prior art keywords
programmable
chip
gate array
programmable gate
encapsulates
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
Application number
CN201710980817.3A
Other languages
English (en)
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.)
Hangzhou Haicun Information Technology Co Ltd
Original Assignee
Hangzhou Haicun Information 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 Hangzhou Haicun Information Technology Co Ltd filed Critical Hangzhou Haicun Information Technology Co Ltd
Priority to CN201710980817.3A priority Critical patent/CN109698691A/zh
Priority to US15/793,968 priority patent/US20180048317A1/en
Priority to US16/059,023 priority patent/US10312917B2/en
Priority to US16/186,571 priority patent/US10700686B2/en
Priority to US16/199,178 priority patent/US20190115921A1/en
Priority to US16/199,204 priority patent/US20190115920A1/en
Publication of CN109698691A publication Critical patent/CN109698691A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)

Abstract

本发明提出一种可编程门阵列封装,它含有至少一可编程计算芯片和一可编程逻辑芯片。可编程计算芯片含有多个可编程计算单元,每个可编程计算单元含有一存储一基本函数查找表(LUT)的可写存储阵列。可编程计算芯片和可编程逻辑芯片垂直堆叠,并通过芯片间连接电耦合。

Description

含有可编程计算芯片的可编程门阵列封装
技术领域
本发明涉及集成电路领域,更确切地说,涉及可编程门阵列。
背景技术
可编程门阵列属于半定制集成电路,即通过后端工艺或现场编程,实现对逻辑电路的定制化。美国专利4,870,302披露了一种可编程门阵列。它含有多个可编程逻辑单元(configurable logic element,或configurable logic block)和可编程连接(configurable interconnect,或programmable interconnect)。其中,可编程逻辑单元在设置信号控制下可以选择性地实现移位、逻辑非、AND(逻辑与)、OR(逻辑和)、NOR(和非)、NAND(与非)、XOR(异或)、+(算术加)、-(算术减)等功能;可编程连接在设置信号控制下可以选择性地实现两条互连线之间的连接、断开等功能。
目前,很多应用均涉及复杂函数的计算。复杂函数一般含有多个自变量,它是基本函数的一种组合。基本函数含有一个或少数自变量,其例子包括超越函数,如指数(exp)、对数(log)、三角函数(sina、cos)等。为了保证执行速度,高性能应用要求用硬件来实现复杂函数。在现有的可编程门阵列中,复杂函数均通过来固化计算单元来实现。这些固化计算单元为硬核(hard block)的一部分,其电路已经固化、不能对其进行再配置。很明显,固化计算单元将限制可编程门阵列的进一步应用。为了克服这个困难,本发明将可编程门电路的概念推广,使固化计算单元可编程化。具体说来,可编程门电路除了含有可编程逻辑单元以外,还含有可编程计算单元。该可编程计算单元可以选择性地实现多种函数中的任何一种。
发明内容
本发明的主要目的是推广可编程门电路在复杂计算领域的应用。
本发明的另一目的是提供一种可编程门电路,不仅其逻辑功能可以被定制,其计算功能也可以被定制。
本发明的另一目的是提供一种计算能力更灵活、更强大的可编程门阵列。
本发明的另一目的是提供一种芯片面积更小、成本更低的可编程门阵列。
为了实现这些以及别的目的,本发明提出一种可编程门阵列封装。它含有至少一可编程计算芯片和一可编程逻辑芯片,它们均集成在同一封装中。该可编程门阵列封装还含有多个可编程连接,这些可编程连接分布在可编程计算芯片和/或可编程逻辑芯片中。
可编程计算芯片含有多个可编程计算单元,每个可编程计算单元含有至少一个可写存储阵列,该可写存储阵列存储一种基本函数的查找表(LUT)。可编程计算单元的使用分两个阶段:设置阶段和计算阶段。在设置阶段,根据用户需要将所需函数的LUT加载到可写存储阵列中;在计算阶段,通过查找LUT来获得该函数的值。由于采用可写存储阵列,即使同一批次的芯片也可以实现不同的函数。而且,对于基于多次编程存储(MTP)阵列的可编程门阵列,由于在不同时段可以对MTP阵列加载不同函数的LUT,该可编程门阵列能实现可重构计算。
可编程逻辑芯片含有多个可编程逻辑单元,每个可编程逻辑单元从一逻辑运算库中选择性地实现一种逻辑运算。此外,可编程连接可以选择性地实现多种连接中的一种。在复杂函数的实现过程中,复杂函数首先被分解为多个基本函数。然后针对每个基本函数设置对应的可编程计算单元,使其实现相应的基本函数。最后,通过设置可编程逻辑单元和可编程连接,实现所需的复杂函数。
相应地,本发明提出一种可编程门阵列封装(400),其特征在于含有:一含有多个可编程计算单元(100, 100AA-100AD)的可编程计算芯片(100W),该可编程计算单元(100)含有至少一可写存储阵列(110),该可写存储阵列(110)存储一基本函数的至少部分查找表(LUT);一含有多个可编程逻辑单元(200, 200AA-200AD)的可编程逻辑芯片(200W),该可编程逻辑单元(200)从一逻辑运算库中选择性地实现一种逻辑运算;多个将该可编程计算单元(100AA-100AD)和该可编程逻辑单元(200AA-200AD)选择性耦合的可编程连接(300);通过对该可编程计算单元(100AA-100AD)、该可编程逻辑单元(200AA-200AD)和该可编程连接(300)进行编程以实现一复杂函数,该复杂函数是所述基本函数的一种组合;所述可编程计算芯片(100W)和所述可编程逻辑芯片(200W)通过芯片间连接(160)电耦合。
附图说明
图1是一种可编程计算单元的符号。
图2是一种可编程计算单元的衬底电路布局图。
图3是一种可编程门阵列的布局图。
图4表示一种可重构门阵列的两个使用周期。
图5A披露一种可编程连接实现的连接库;图5B披露一种可编程逻辑单元实现的逻辑运算库。
图6是该种可编程门阵列具体实现的一种布局图。
图7是一种可编程门阵列封装的透视图。
图8A-8C是三种可编程门阵列封装的截面图。
注意到,这些附图仅是概要图,它们不按比例绘图。为了显眼和方便起见,图中的部分尺寸和结构可能做了放大或缩小。在不同实施例中,相同的符号一般表示对应或类似的结构。
具体实施方式
图1是一种可编程计算单元100的符号。其输入端IN包括输入数据115,输出端OUT包括输出数据135,设置端CFG包括设置信号125。当设置信号125为“写”时,在可编程计算单元100中写入所需基本函数的LUT。当设置信号125为“读”时,从可编程计算单元100中读出LUT中的值。图2是一种可编程计算单元100的电路布局图。在该实施例中,LUT存储在至少一个可写存储阵列110中。该电路还包括可写存储阵列110的周边电路:X解码器15和Y解码器(包括读出电路)17等。可写存储阵列110可以是RAM或ROM。RAM的例子包括SRAM、DRAM等;ROM的例子包括OTP(一次编程)、MTP(多次编程)等。其中,MTP包括EPROM、EEPROM、闪存等。
图3表示一种可编程门阵列400。它含有规则排列的可编程模块400A和可编程模块400B等。每个可编程模块(如400A)含有多个可编程计算单元(如100AA-100AD)和可编程逻辑单元(如200AA-200AD)。在可编程计算单元(如100AA-100AD)和可编程逻辑单元(如200AA-200AD)之间含有可编程信道320、340;在可编程模块400A和可编程模块400B之间,也含有可编程信道310、330、350。可编程信道310-350含有多个可编程连接300。对于熟悉本领域的专业人士来说,除了可编程信道以外,还可以采用门海(sea-of-gates)等设计。
图4表示可重构门阵列400的两个使用周期620和660。第一使用周期620分为两个阶段:设置阶段610和计算阶段630。在设置阶段610,根据用户需要将与一基本函数相关的查找表加载到MTP阵列110中;在计算阶段630,在MTP阵列110中查找相应的LUT来获得该基本函数的值。类似地,第二使用周期660也含有相同的设置阶段650和计算阶段670。可重构计算特别适合SIMD(单指令多数据流)的数据处理。一旦在设置阶段610将LUT加载到MTP阵列110之后,可以将大量数据送入可编程计算单元100进行处理,并获得较高的处理速度。SIMD的应用例子很多,如图像处理中对多个像素的同样操作或矢量操作,科学计算中使用的大规模平行计算等。此外,可编程门阵列还可以将其可编程计算单元中的计算流水线化,以进一步提高吞吐率。
图5A披露一种可编程连接300能实现的连接库。该可编程连接300与美国专利4,870,302中披露的可编程连接类似。它采用下述连接库的一种连接方式:a)互连线302/304相连,互连线306/308相连, 但302/304与306/308不相连;b)互连线302/304/306/308均相连;c)互连线306/308相连,互连线302、304不相连,也不与306/308相连;d)互连线302/304相连,互连线306、306不相连,也不与302/304相连;e)互连线302、304、306、306均不相连。在本说明书中,两条互连线之间的符号“/”表示该两条互连线相连,两条互连线之间的符号“、”表示该两条互连线不相连。
图5B披露一种可编程逻辑单元200能实现的逻辑运算库。其输入A和B为输入数据210、220,输出C为输出数据230。该可编程逻辑单元200与美国专利4,870,302中披露的可编程逻辑单元类似。它可以实现下述逻辑运算库中的至少一种:C=A、A逻辑非、A移位、AND(A,B)、OR(A,B)、NAND(A,B)、NOR(A,B)、XOR(A,B)、算术加A+B、算术减A-B等。可编程逻辑单元200还可以含有寄存器、触发器等时序电路元件,以实习流水线等操作。
图6是一种可编程门阵列400的具体实现,它用于实现一复杂函数:e=a.sin(b)+c.cos(d)。在可编程信道310-350中可编程连接300采用图5A中的表示方式:交叉点有圆点的可编程连接表示交叉线相连,交叉点无圆点的可编程连接表示交叉线不相连,断开的可编程连接表示断开的互连线被分为两个互不相连的互连线段。在该实施例中,可编程计算单元100AA被设置为log(),其计算结果log(a)被送到可编程逻辑单元200AA的第一输入。可编程计算单元100AB被设置为log[sin()],其计算结果log[sin(b)]被送到可编程逻辑单元200AA的第二输入。可编程逻辑单元200AA被设置为“算术加”,其计算结果log(a)+log[sin(b)]被送到可编程计算单元100BA。可编程计算单元100BA被设置为exp(),其计算结果exp{log(a)+log[sin(b)]}=a.sin(b)被送到可编程逻辑单元200BA的第一输入。类似地,通过适当的设置,可编程计算单元100AC、100AD、可编程逻辑单元200AC、可编程计算单元100BC的结果c.cos(d)被送到可编程逻辑单元200BA的第二输入。可编程逻辑单元200BA被设置为“算术加”,a.sin(b)和c.cos(d)在此相加,最终结果送到输出e。很明显,通过改变设置,可编程门阵列400还可以实现其它复杂函数。
图7是一种可编程门阵列封装400的透视图。它含有一可编程计算芯片100W和一可编程逻辑芯片200W。可编程计算芯片100W形成在计算芯片衬底100S中,可编程逻辑芯片200W形成在逻辑芯片衬底200S中,它们均为半导体衬底。可编程计算芯片100W含有多个可编程计算单元100AA-100BB,每个可编程计算单元100含有一可写存储阵列110,它用于存储一基本函数的查找表(LUT)。可编程逻辑芯片200W含有多个可编程逻辑单元200AA-200BB,每个可编程逻辑单元200从一逻辑运算库中选择性地实现一种逻辑运算。可编程计算芯片100W通过多个芯片间连接160与可编程逻辑芯片200W电耦合。芯片间连接160可以是微焊点(micro-bump)或穿透硅片通道(TSV)。可编程门阵列封装400还含有多个可编程连接(未画出),一部分可编程连接位于可编程计算芯片100W中,另一部分可编程连接位于可编程逻辑芯片200W中。
图8A-图8C是三种可编程门阵列封装400的截面图,它们均为一种多芯片封装(multi-chip package,简称为MCP)。其中,图8A中的可编程门阵列封装400含有两个分离的芯片:可编程计算芯片100W和可编程逻辑芯片200W。芯片100W、200W堆叠在封装衬底110上并位于同一封装壳130中。微焊点116为它们提供电耦合,故起到芯片间连接160的作用。在本实施例中,可编程计算芯片100W被翻转并面对面地堆叠在可编程逻辑芯片200W上。在其它实施例中,可编程计算芯片100W可不被翻转;或,可编程逻辑芯片200W堆叠在可编程计算芯片100W上。
图8B中的可编程门阵列封装400含有可编程计算芯片100W、可编程逻辑芯片200W和硅插板(interposer)120。硅插板120含有多个穿透硅片通道(TSV)118,它使可编程计算芯片100W和可编程逻辑芯片200W之间的电耦合更为容易、设计具有更多自由度、散热更为良好。此实施例还含有多个微焊点116,它与TSV 118构成芯片间连接160。
图8C中的可编程门阵列封装400含有一可编程逻辑芯片200W和至少两个可编程计算芯片100W、100W`。可编程计算芯片100W、100W`均含有多个可编程计算单元,并与可编程逻辑芯片200W位于同一封装壳130中。其中,芯片100W`堆叠在芯片100W之上,而芯片100W又堆叠在芯片200W之上。芯片200W、100W和100W`之间通过TSV 118和微焊点116耦合。很明显,图8C比图8A具有更大的存储容量,能存储更多函数的LUT。类似地,在此实施例中,TSV 118和微焊点116构成芯片间连接160。
可编程门阵列封装400的制造工艺相对容易。由于可编程计算芯片100W和可编程逻辑芯片200W为不同芯片,构成可编程计算芯片100W的存储晶体管和构成可编程逻辑芯片200W的逻辑晶体管分别形成在不同衬底(100S、200S)上,它们的制造工艺可分别优化。可编程计算芯片100W可以采用任何形式的可写存储器作为LUT的载体,如SRAM、DRAM、MRAM、FRAM、OTP、NOR闪存、NAND闪存等;可编程逻辑芯片200W可以含有任何形式的可编程逻辑电路。由于可编程计算芯片100W中的可写存储阵列形成在单晶半导体衬底100S上,其速度较快。此外,由于微焊点(或穿透硅片通道)160数量众多且长度较短,可编程计算芯片100W和可编程逻辑芯片200W之间的带宽较高。最后,由于可编程计算芯片100W和可编程逻辑芯片200W垂直堆叠,可编程门阵列封装400的物理尺寸(footprint)较小
本说明书均以现场编程门阵列(FPGA)为例。在FPGA中,晶圆将完成所有工序(包括所有可编程计算单元、可编程逻辑单元和可编程连接)。在编程现场,可通过设置可编程连接来定义FPGA的功能。上述FPGA的例子可以很容易地推广到传统的可编程门阵列。在传统可编程门阵列中,晶圆仅半完工,即晶圆生产仅完成可编程计算单元和可编程逻辑单元,但未完成可编程连接。当芯片的功能确定后,可编程信道310-350通过后端工艺来定制。
应该了解,在不远离本发明的精神和范围的前提下,可以对本发明的形式和细节进行改动,这并不妨碍它们应用本发明的精神。因此,除了根据附加的权利要求书的精神,本发明不应受到任何限制。

Claims (10)

1.一种可编程门阵列封装(400),其特征在于含有:
一含有多个可编程计算单元(100, 100AA-100AD)的可编程计算芯片(100W),该可编程计算单元(100)含有至少一可写存储阵列(110),该可写存储阵列(110)存储一基本函数的至少部分查找表(LUT);
一含有多个可编程逻辑单元(200, 200AA-200AD)的可编程逻辑芯片(200W),该可编程逻辑单元(200)从一逻辑运算库中选择性地实现一种逻辑运算;
多个将该可编程计算单元(100AA-100AD)和该可编程逻辑单元(200AA-200AD)选择性耦合的可编程连接(300);
通过对该可编程计算单元(100AA-100AD)、该可编程逻辑单元(200AA-200AD)和该可编程连接(300)进行编程以实现一复杂函数,该复杂函数是所述基本函数的一种组合;
所述可编程计算芯片(100W)和所述可编程逻辑芯片(200W)通过芯片间连接(160)电耦合。
2.根据权利要求1所述的可编程门阵列封装(400),其特征还在于:至少部分所述可编程连接(300)位于所述可编程计算芯片(100W)中。
3.根据权利要求1所述的可编程门阵列封装(400),其特征还在于:至少部分所述可编程连接(300)位于所述可编程逻辑芯片(200W)中。
4.根据权利要求1所述的可编程门阵列封装(400),其特征还在于:该可编程计算芯片(100W)和该可编程逻辑芯片(200W)相互垂直堆叠。
5.根据权利要求1所述的可编程门阵列封装(400),其特征还在于:该可写存储阵列(110)为RAM或ROM。
6.根据权利要求5所述的可编程门阵列封装(400),其特征还在于:所述ROM为一次编程存储器(OTP)或多次编程存储器(MTP)。
7.根据权利要求1所述的可编程门阵列封装(400),其特征还在于:该芯片间连接(160)为微焊点(micro-bump)或穿透硅片通道(TSV)。
8.根据权利要求1所述的可编程门阵列封装(400),其特征还在于:其使用过程包括一设置阶段(610),在该阶段根据用户需要将一函数的LUT加载到可写存储阵列(110)中。
9.根据权利要求1所述的可编程门阵列封装(400),其特征还在于:其使用过程包括一使用阶段(630),在该阶段查找该LUT来获得该函数的值。
10.根据权利要求1所述的可编程门阵列封装(400),其特征还在于含有:至少两个可编程计算芯片(100W、100W`),所述可编程计算芯片(100W、100W`)和所述可编程逻辑芯片(200W)通过芯片间连接(160)电耦合。
CN201710980817.3A 2016-03-05 2017-10-20 含有可编程计算芯片的可编程门阵列封装 Pending CN109698691A (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201710980817.3A CN109698691A (zh) 2017-10-20 2017-10-20 含有可编程计算芯片的可编程门阵列封装
US15/793,968 US20180048317A1 (en) 2016-03-05 2017-10-25 Configurable Computing-Array Package
US16/059,023 US10312917B2 (en) 2016-03-05 2018-08-08 Configurable computing array for implementing complex math functions
US16/186,571 US10700686B2 (en) 2016-03-05 2018-11-11 Configurable computing array
US16/199,178 US20190115921A1 (en) 2016-03-05 2018-11-24 Configurable Computing-Array Package
US16/199,204 US20190115920A1 (en) 2016-03-05 2018-11-25 Configurable Computing-Array Package Implementing Complex Math Functions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710980817.3A CN109698691A (zh) 2017-10-20 2017-10-20 含有可编程计算芯片的可编程门阵列封装

Publications (1)

Publication Number Publication Date
CN109698691A true CN109698691A (zh) 2019-04-30

Family

ID=66225167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710980817.3A Pending CN109698691A (zh) 2016-03-05 2017-10-20 含有可编程计算芯片的可编程门阵列封装

Country Status (1)

Country Link
CN (1) CN109698691A (zh)

Similar Documents

Publication Publication Date Title
US11227838B2 (en) Logic drive based on multichip package comprising standard commodity FPGA IC chip with cooperating or supporting circuits
TWI791583B (zh) 根據標準商業化可編程邏輯半導體ic晶片所構成的邏輯驅動器
US10224310B2 (en) Hybrid three-dimensional integrated circuit reconfigurable thermal aware and dynamic power gating interconnect architecture
US9134959B2 (en) Integrated circuit die stack
US20130168842A1 (en) Integrated circuit packages having redistribution structures
US20120063190A1 (en) Complex semiconductor device for use in mobile equipment
CN107154798B (zh) 基于三维可写存储器的可编程门阵列
KR20110091905A (ko) 3-d 마이크로 구조 시스템에서의 평행 평면 메모리 및 프로세서 연결
US8866304B2 (en) Integrated circuit device with stitched interposer
US9275688B2 (en) Semiconductor device and semiconductor package
US9466593B2 (en) Stack semiconductor package
TW201946234A (zh) 包含直通塑模穿孔的堆疊封裝
CN109698691A (zh) 含有可编程计算芯片的可编程门阵列封装
CN109684653A (zh) 含有可编程计算单元的可编程门阵列封装
CN104134650A (zh) 一种堆栈芯片系统
US10700686B2 (en) Configurable computing array
CN109698693A (zh) 采用双面集成的可编程门阵列
US20060261847A1 (en) Semiconductor integrated circuit device
CN113793632B (zh) 非易失可编程芯片
CN109698692A (zh) 采用双面集成的可编程门阵列
CN109698690A (zh) 基于三维纵向可写存储阵列的可编程门阵列
CN113722268A (zh) 一种存算一体的堆叠芯片
CN109687864A (zh) 含有可编程计算单元的可编程门阵列
CN109697293A (zh) 含有可编程计算单元的可编程门阵列
CN110247653A (zh) 基于印录存储阵列的可编程计算阵列封装

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190430