首页> 中国专利> 具有存储器的集成电路装置以及实施集成电路装置中的存储器的方法

具有存储器的集成电路装置以及实施集成电路装置中的存储器的方法

摘要

本发明揭示一种具有存储器的集成电路装置。所述集成电路装置包括:可编程资源(602);可编程互连元件(1704),其耦合到所述可编程资源,所述可编程互连元件实现与所述可编程资源的信号通信;多个存储器块(606);以及专用互连元件,其耦合到所述多个存储器块,所述专用互连元件(604)实现对所述多个存储器块的存取。还揭示一种实施集成电路装置中的存储器的方法。

著录项

  • 公开/公告号CN105144585A

    专利类型发明专利

  • 公开/公告日2015-12-09

    原文格式PDF

  • 申请/专利权人 吉林克斯公司;

    申请/专利号CN201480012875.1

  • 发明设计人 艾弗伦·C·吴;

    申请日2014-03-06

  • 分类号H03K19/177(20060101);

  • 代理机构11243 北京银龙知识产权代理有限公司;

  • 代理人许静;安利霞

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 12:45:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-17

    授权

    授权

  • 2016-03-30

    实质审查的生效 IPC(主分类):H03K19/177 申请日:20140306

    实质审查的生效

  • 2015-12-09

    公开

    公开

说明书

技术领域

本发明大体上涉及集成电路装置,且确切地说,涉及具有存储器的集成电 路装置以及实施集成电路装置中的存储器的方法。

背景技术

存储器的使用是几乎任何电子装置的重要方面。存在不同类型的存储器。 举例来说,易失性存储器是仅当电力施加到存储器时将保持存储于所述存储器 中的值的一类存储器。当电力移除时,存储于所述存储器中的数据将在某个时 间周期后丢失。相比之下,非易失性存储器是当电力移除时其数据不受影响的 一类存储器。

不同类型的存储器元件可具有不同性质。举例来说,存储器元件可具有不 同的存取时间、电力消耗、对辐射效果的抗扰性等。因此,可不仅基于存储器 的所要操作,而且基于存储器的操作质量来选择存储器。

取决于存储器的功能性或操作质量,存储器可包含在集成电路装置上,或 与集成电路装置分开实施且由集成电路装置存取。提供与集成电路装置分开的 存储器可影响实施所述存储器的总电路的操作。因此,当实施与集成电路装置 相关联的存储器时在选择存储器类型和存储器位置两者时存在各种考虑。

发明内容

描述一种具有存储器的集成电路装置。所述集成电路装置包括:可编程资 源;可编程互连元件,其耦合到所述可编程资源,所述可编程互连元件实现与 所述可编程资源的信号通信;多个存储器块;以及专用互连元件,其耦合到所 述多个存储器块,所述专用互连元件实现对所述多个存储器块的存取。

根据替代布置的具有存储器的集成电路装置包括:动态随机存取存储器 (DRAM)块,其具有多个通道;多个存储器块;以及专用互连元件,其耦合 于所述DRAM块与所述多个存储器块之间,所述专用互连元件使得能够将数 据从所述DRAM块的所述多个通道中的任一者路由到所述多个存储器块中的 选定存储器块。

还描述一种实施集成电路装置中的存储器的方法。所述方法包括:实施耦 合到可编程互连元件的可编程资源,所述可编程互连元件实现与所述可编程资 源的信号通信;提供多个存储器块;以及将专用互连元件耦合到所述多个存储 器块,所述专用互连元件实现对所述多个存储器块的存取。

附图说明

图1是耦合到外部存储器的集成电路的框图;

图2是静态随机存取存储器(SRAM)块的框图;

图3是图2的SRAM块的存储器单元的电路图;

图4是DRAM块的框图;

图5是图4的DRAM块的存储器单元的电路图;

图6是具有多个SRAM块的集成电路装置的一部分的框图;

图7是耦合到多个SRAM块且具有单独的读取和写入控制的集成电路装 置的一部分的框图;

图8是具有多个SRAM块的集成电路装置的一部分的框图,所述块具有 与单个纵横开关相关联的数据以及读取和写入控制;

图9是具有多个SRAM块和DRAM块的集成电路装置的框图;

图10是展示实现DRAM的队列中的数据存储的电路的框图;

图11是展示实现包缓冲子系统的较详细电路的框图;

图12是展示使用不同大小存储器阵列用于头部和尾部部分的SRAM块的 实施方案的框图;

图13是展示具有头部和尾部存储器分配的SRAM块的实施方案的框图;

图14是展示具有头部和尾部存储器分配和旁路通道的SRAM块的实施方 案的框图;

图15是纵横开关的框图;

图16为用于对具有可编程资源的装置进行编程的系统的框图;

图17为可实施图1到15的电路的具有可编程资源的装置的框图;

图18是图17的装置的可配置逻辑元件的框图;以及

图19是多芯片模块集成电路装置的框图;以及

图20是展示实施集成电路装置中的存储器的方法的流程图。

具体实施方式

首先参见图1,展示耦合到外部存储器的集成电路的框图。确切地说,集 成电路装置102借助于通信链路106耦合到外部存储器104。集成电路装置可 为任何类型的集成电路装置,例如专用集成电路(ASIC)或具有可编程资源 的集成电路装置,如将在下文更详细地描述。集成电路装置102包括耦合到配 置电路110的控制电路108。配置电路110可借助于控制电路108或借助于输 入/输出(I/O)端口112从外部存储器104接收配置数据。配置电路110用以 通过将配置数据提供到配置存储器116而配置集成电路装置的可编程资源114。 或者,配置数据可由控制电路108直接提供到配置存储器。控制电路108和可 编程资源114也可以耦合到内部存储器118和120。此外,集成电路装置可任 选地包含与同可编程资源114相关联的互连元件分开的专用互连元件122和 124,用于实现对存储器元件的存取。

如将在下文更详细地描述,内部存储器118和120可为不同类型的存储器 且可为不同大小的阵列。举例来说,对于可具有与存储器阶层中的可编程资源 相关联的查找表(LUT)随机存取存储器(RAM)和块RAM(BRAM)(例 如,36千位(Kb)块)的常规装置,存储器阶层中的接下来的层级包含外部 SRAM和DRAM。下文阐述的各种电路实施方案包含存储器阶层中位于较小 BRAM与外部SRAM或DRAM之间的额外层级。可经配置为联网SRAM的 此额外SRAM层级可为芯片上SRAM,其比BRAM更深,但足够小以配合在 FPGA裸片上,如将在下文更详细地描述。这些联网SRAM辅助外部存储器 以增加总体系统性能,且允许用户较好地使SRAM带宽与SRAM容量关联。

现在参见图2,展示SRAM块200的框图。图2的SRAM块200可为内 部存储器118的一部分,而内部存储器120可为例如DRAM块,其将在下文 参看图4和5更详细描述。SRAM块200包括多个个别存储器单元202,其可 布置成矩阵。存储器单元列和列解码器204耦合到数据线,且存储器单元行耦 合到字线以产生输出数据作为DRAM的输出。因此,为了将数据写入到单元, 将与所述单元相关联的字线拉到高,且将所要数据耦合到与所述单元相关联的 数据线。为了从单元读取数据,将与单元相关联的字线拉到高,且列解码器产 生与所述单元位于其中的列相关联的输出值。

现在参见图3,展示图2的SRAM存储器块的存储器单元的电路图。所述 存储器单元包含具有p沟道晶体管302的反相器,所述p沟道晶体管302的源 极耦合到例如Vdd的参考电力电压,且漏极在第一节点“Q”处耦合到n沟道 晶体管304的漏极,所述n沟道晶体管304的源极耦合到接地电位(Vss)。所 述存储器单元包含具有p沟道晶体管306的第二反相器,所述p沟道晶体管 306的源极耦合到参考电压且漏极在第二节点“Q_b”处耦合到n沟道晶体管 308的漏极,所述n沟道晶体管308的源极也耦合到接地。第一节点“Q”受 n沟道晶体管310控制,所述n沟道晶体管310经耦合以在其栅极接收反相字 线(WL0_bar)信号,所述信号控制在第一节点处在位线(BL)上的输入数据 的接收。第二节点“Q_b”受另一n沟道晶体管312控制,所述n沟道晶体管 312经耦合以在其栅极接收反相字线信号,所述信号控制所述第二节点Q_b处 反转输入数据的接收。晶体管314和316经配置以实现单独的反转字线 WL0_bar和WL1_bar。晶体管314和316如所示经配置为使源极耦合到Q和 Q_b节点,如图所示,其中栅极各自受经反转WL1_bar控制,从而实现双端 口SRAM。当针对给定单元选择反相字线(WL0_bar)时,位线和反相位线上 的值耦合到其中存储所述单元的数据值的Q和Q_b节点。所述数据可随后通 过WL1_bar信号而存取,从而实现双端口存储器元件。更确切地说,可以仅 一个读取端口和一个写入端口实施SRAM单元。不同于提供其中任一者可用 于读数或写入的2个读取/写入(w/r)端口的一些SRAM单元,通过包含仅一 个读取端口和一个写入端口可增加存储器密度。通过提供用于读数的一个端口 和用于写入的一个端口,图3的8T单元可通过实现在二分之一时钟循环(即 时钟的上升沿和下降沿)上存取存储器而以具有2个w/r端口的单元两倍快的 速度操作。虽然举例展示图3的存储器单元,但可采用其它存储器单元。

现在参见图4,展示DRAM块的框图。图4的DRAM块可为外部存储器 104或内部存储器120的一部分,如将在下文更详细地描述。DRAM块400 包括多个单元402,其中的每一者耦合到地址解码器404。地址解码器404接 收地址线406,且产生耦合到如所示的多个存储器单元402的地址。地址解码 器404接收芯片启用信号,且存储器单元402中的每一者接收参考电压Vref。 写入块410实现数据从存储器单元402的读取或数据到存储器单元402的写入。 确切地说,如果提供到写入块410的写入启用信号启用借助于栅极414对存储 器单元402的写入,那么借助于数据线412提供的数据写入到提供给地址解码 器的地址。如果写入启用信号并未启用对存储器单元402的写入,那么在数据 线418上产生耦合到反相器416的数据。如将在下文更详细地描述,必须周期 性地刷新存储在DRAM块的单元中的数据以保持数据。

现在参见图5,展示图4的DRAM块的存储器单元的电路图。确切地说, 第一晶体管502具有耦合到参考位线的漏极504和耦合到电容器508的源极 506。晶体管502在栅极处由参考字线控制。第二晶体管514具有耦合到位线 的漏极516和耦合到电容器520的源极518。晶体管514在栅极处由字线控制。 通过将字线拉到高,且应用所要值以存储到位线以对电容器520充电,来写入 数据。为了从存储器读取数据,读出放大器526将检测在参考位线处存储于电 容器512上的电压与在位线处存储于电容器524上的电压之间的差以产生输出 值。在确定位线的值之后,通过在电容器524上存储适当电荷而将所述值再写 入到位线。即,对电容器524周期性地再充电以维持由单元存储的数据的正确 值。虽然个别DRAM存储器单元因为其小于图3的SRAM单元而是有益的, 但必须周期性地刷新DRAM存储器单元以维持电容器上表示存储数据的电荷, 且DRAM存储器单元可能具有比SRAM单元长的存取时间。

现在参见图6,展示具有多个SRAM块的集成电路装置的一部分的框图。 可编程资源的部分602通过数据线603耦合到路由电路604,所述路由电路提 供到多个存储器块606的接口。所述多个存储器块在此例如展示为32个SRAM 块。路由电路604优选地是用于所述多个存储器块606的专用互连元件。路由 电路604使得能够将数据路由到路由电路的U输入端口(此处展示为耦合到 对应数据线DrD8的8个数据输入端口)和V输出端口(其中例如如此处展示 V可为32),其中所述输入和输出端口中的每一者可具有每端口W位。即, 路由电路604的对应于数据线的每一个别输入端口可接收288位数据(可为 256位数据和32个开销位),且每一输出端口可产生288位数据。举例来说, 输出端口中的代表性一者通过对应数据线605耦合到指定为SRAM0的第一存 储器块的输入。因此,来自八个288位输入端口中的每一者的数据DrD8可借 助于路由电路604的32个288位输出端口路由到32个存储器块中的一或多者。 应理解,根据图6的电路布置提供到所述多个存储器块的数据可包含数据位和 控制位,其中控制位可包含例如地址位。

第二路由电路608耦合到所述多个存储器块606的输出以接收由所述多个 存储器块产生的数据。在对应代表性数据线607处的SRAM0的输出耦合到路 由电路608的输入。路由电路608的输出数据线609耦合在路由电路608的对 应输出端口与可编程资源的第二部分610之间。路由电路604和608可经实施 为同步纵横开关,如将参看图15更详细描述,且优选地实施为专用互连元件, 而不是使用可由除可编程资源的特定部分602和610外的电路使用的共享路由 元件。输出数据线609也可为多位线(例如,8个位线),其经耦合以在所述 多个存储器元件的输出处接收对应8位输出。因此,32个SRAM中的8个的 8位输出QrQ8可在路由电路608的8个输出数据线609处产生。控制线612 用以将对路由电路604的各种输入路由到所述多个存储器块606中的第一预定 存储器块。类似地,控制线614用以将第二预定存储器块的输出路由到路由电 路608的8个输出端口且路由到可编程资源的部分610。通过提供专用路由电 路和专用互连件作为对电路的输入和输出,SRAM存取的速度可增加。即,用 于可编程逻辑装置的共享互连路由虽然为装置提供较大灵活性,但可为缓慢的。 相比之下,例如纵横开关等专用路由电路可在用于集成电路的系统时钟下操作。

现在参见图7,展示耦合到多个SRAM块且具有单独的读取和写入控制的 集成电路装置的一部分的框图。即,图7的布置借助于单独的路由电路实现数 据位和控制位的单独路由,其中控制位包含单独的读取和写入控制位,包含例 如地址位。确切地说,路由电路702经耦合以从可编程资源602接收写入控制 信号WC1-WC8,其中路由电路702的多个输出端口中的代表性一者通过控制 线704耦合到所述多个存储器元件706的存储器元件(此处指定为SRAM0) 的对应控制信号输入。另一路由电路708经耦合以在路由电路708的输入端口 处接收数据输入D1-D8。路由电路708的输出端口此处展示为通过多个数据线 中的代表性数据线710在对应输出端口处耦合到此处指定为SRAM0的第一存 储器块。因此,路由电路702能够将任何成对的数据和控制信号路由到所述多 个存储器元件606中的一或多个选定存储器元件的数据和控制输入。

还提供路由电路以从所述多个存储器块读取数据。路由电路714经耦合以 从可编程资源的部分610接收控制信号,包含读取控制信号RC1-RC8。路由 电路714能够将读取控制信号路由到选定存储器块,其中路由电路714的输出 端口通过控制线耦合到存储器(此处展示为耦合到此处指定为SRAM31的最 后存储器块的代表性控制线716)。路由电路718经耦合以从所述多个存储器 720接收输出,其中代表性数据线720将数据从最后存储器块的输出提供到路 由电路718的输入。由存储器块706提供的数据Q1-Q8由来自路由电路718 的八个输出线中的一者提供到可编程资源610。控制信号由可编程资源提供到 路由电路。更确切地说,写入控制信号由可编程资源602借助于控制线720 和722分别提供到路由电路702和708,虽然读取控制信号由可编程资源610 借助于724和726分别提供到路由电路714和718。或者,控制信号可由电路 的另一元件提供,例如电路的处理器。

现在参见图8,展示具有与单个纵横开关相关联的数据以及读取和写入控 制的包括多个SRAM块的集成电路装置的一部分的框图。因此,数据D1-D8 和写入控制信号WC1-WC8提供到路由电路802。举例来说,数据D1和写入 控制信号WC1由代表性信号线对803提供到路由电路802。在路由电路802 的对应输入端口处的信号线对上的信号随后由信号线对804提供到选定存储 器元件(其可为例如SRAM0)。读取控制信号RCrRC8由可编程资源610产 生且通过可编程资源610与所述多个存储器元件706之间的控制信号线耦合。 举例来说,代表性控制信号线810将选定读取控制信号(可为借助于可编程资 源806的输出端口与路由电路806的输入端口之间的读取控制线811提供的读 取控制信号RC1)耦合到SRAM0的读取输入,且耦合到SRAM0的数据输 出的输出信号线812使得来自SRAM0的数据能够借助于路由电路806耦合到 可编程资源。举例来说,输出信号线812上提供的输出数据可为Q1,其由路 由电路806在信号线814上在路由电路806的输出端口与可编程资源610的对 应输入端口之间路由。控制信号由控制信号线816和818分别提供到路由电路 802和806以控制读数数据。

现在参见图9,展示具有多个SRAM和DRAM的集成电路装置的框图。 根据图9的电路布置,DRAM902耦合到集成电路904。DRAM902包括输出 通道906-920,指定为DRAM信道0-DRAM信道7。DRAM接口922使得提 供到集成电路904的数据能够路由到多个存储器块924-930中的一者,此处展 示为联网SRAM(NSRAM0-NSRAM3),其可为4.5兆字节存储器阵列。即, 所述联网SRAM(NSRAM0-NSRAM3)中的每一者可包括32个4Kx288位 SRAM,例如SRAM606。虽然所述多个存储器块924-930展示为SRAM,但 应理解所述多个存储器块924-930大体上具有比DRAM902快的存取时间。举 例来说,存储器块924-930可为可购自纽约阿蒙克的国际商务机器公司 (InternationalBusinessMachinesCorporation)的eDRAM。可编程资源接口932 提供于所述多个存储器块924-930与可编程资源934之间以使得数据和命令能 够在存储器块与可编程资源934之间传送。DRAM接口922和可编程资源接 口932优选地为专用接口,且也可使用纵横开关来实施,例如图15的纵横开 关。所述多个存储器块924-930和对应接口922和932可例如根据图6-8的电 路而实施。虽然DRAM902展示为与集成电路904分开,但应理解DRAM可 实施在同一集成电路裸片上,或同一集成电路封装上的单独裸片上,如将参看 图19更详细描述。

图9的布置是有益的,因为其允许实施集成电路中的存储器时的较大效率。 举例来说,在无裸片上的100Mb额外高速缓冲存储SRAM(例如SRAM 924-930)的情况下,集成电路装置904无法以针对300个逻辑队列的带宽保 证支持400Gb/s包缓冲。这些SRAM块必须为裸片上的,因为常规装置中不 存在封装I/O引脚来支持用于外部SRAM的所需带宽。此外,SRAM宽度匹 配于DRAM通道宽度(例如,每循环256位),且SRAM深度经设定大小以 通过将多个此类SRAM组合为甚至更大的存储器而允许存储器容量到存储器 端口的灵活分配。举例来说,在1Mb构建块SRAM的情况下,可将2Mb分 配给一个高速缓冲存储器且可将10Mb分配给不同高速缓冲存储器。构建块 SRAM太浅导致较小密度(即,每单位面积位),而构建块SRAM太深限制将 存储器容量分配到存储器端口的灵活性。图10-14中将提供图9的电路布置的 特定应用。

现在参见图10,框图展示实现DRAM的队列中的数据存储的电路。具有 来自多个数据包的数据的输入数据流存储于存储器元件1002中,所述存储器 元件可包括例如多个逻辑FIFO。耦合到存储器元件1004的输出的路由电路 1006使得能够将与数据包相关联的数据路由到对应队列1008-1010,如图示。 第二路由电路1014将数据从队列1008-1010的输出路由到存储器元件1016。 因此,图10的电路实现使用专用路由电路启用数据的多路复用而从大容量存 储元件(例如存储器元件1002)读取数据和对其写入数据,所述大容量存储 元件可为例如DRAM,其中存储器元件1002可为DRAM902且存储器元件 1004和1016可为SRAM924-930中的两者或两者以上。

举例来说,图6-9的电路(如图10中所示实施)可用作包缓冲器(输入 数据流与输出数据流之间)以使用具有峰值带宽Ra的DRAM以输入线速率 R'保持包的Q逻辑流动多达Tc秒,其中读取速率Rw和写入速率Rr具有组合 的(Rw+Rr),其小于峰值大容量存储带宽Ra和大容量存储容量TCR'。因此, 可以零丢包维持缓冲器读取速率R"。从图10明显可见,此处展示为队列的存 储器块可用以使得能够存储来自不同包的数据(例如,队列1中的交叉影线数 据,队列2中的阴影数据,或队列3中的无阴影数据),其中路由电路实现数 据从输入数据流到大容量存储装置以及从大容量存储装置到输出数据流的路 由。

现在参见图11,框图展示实现包缓冲子系统的较详细电路。更确切地说, 包缓冲子系统1102耦合到用于接收输入数据Rin的输入逻辑1104和用于产生 输出数据Rout的输出逻辑。包缓冲子系统1102包括耦合到包缓冲器控制器 1108的包缓冲器1110。包缓冲器1110可为例如DRAM。包缓冲器控制器1108 包括由排队协调器1116控制的尾部高速缓冲存储器SRAM1112和头部高速缓 冲存储器SRAM1114。下文将参看图12和13更详细描述尾部-头部高速缓冲 存储,且排队协调器1116将实现DRAM的旁路,将参看图14更详细描述。

现在参见图12,框图展示使用不同大小存储器阵列用于头部和尾部部分 的SRAM块的实施方案。确切地说,展示包含耦合到对应存储器块924、926 和930的DRAM通道906、908和920的各种DRAM通道。存储器块924、 926和930以单独的尾部部分1202和头部部分1204分割,其中尾部部分大体 上小于头部部分。即,因为何时将存取队列可能是不可预测的,且下一读取可 能针对正被填充的队列,所以有必要使头部高速缓冲存储器较大。如存储器块 926的放大部分中示出,由暗阴影指定的某些存储器元件1206是用于尾部高 速缓冲存储的存储器元件,而其它无阴影存储器元件1208是头部高速缓冲存 储的存储器元件。头部高速缓冲存储器经常比尾部高速缓冲存储器大得多以实 现低等待时间。

现在参见图13,框图展示具有头部和尾部存储器分配的SRAM块的实施 方案。根据图13的实施例,以暗阴影展示的特定存储器块表示为尾部存储器 块,而无阴影的其它存储器块是头部存储器块。举例来说,SRAM0和SRAM 1是用于通道0的尾部高速缓冲存储存储器块,而SRAM2-SRAM12是用于 通道0的头部高速缓冲存储存储器块,且SRAM13和SRAM14是用于通道1 的尾部存储器块,而SRAM15-SRAM24是用于通道1的头部存储器块。

现在参见图14,框图展示具有头部和尾部存储器分配和旁路通道的SRAM 块的实施方案。确切地说,用于信道1和信道2中的每一者的各种写入信号包 含用于通道0的尾部写入命令(尾部写入0)和头部写入命令(头部写入0) 以及用于通道1的尾部写入命令(尾部写入1)和头部写入命令(头部写入1)。 还展示用于通道0的尾部读取(尾部读取0)和头部读取(头部读取0)值, 以及用于通道1的尾部读取(尾部读取1)和头部读取(头部读取1)值。提 供从用于信道1和信道2中的每一者的尾部存储器元件到头部存储器元件的旁 路。因此,图14提供使用例如图6-13的元件的布置的尾部-头部高速缓冲存 储的实例实施方案。

现在参见图15,展示纵横开关的框图。确切地说,多个多路复用器 1502-1510的每一多路复用器经耦合以接收指定为Di0-Di3的输入中的每一者, 且产生用于多路复用器中的每一者的输出。基于提供到所述多个多路复用器的 选择信号,多路复用器1502产生输出Do0,多路复用器1504产生输出Do1, 多路复用器1506产生输出Do2,多路复用器1508产生输出Do3,多路复用器 1510产生输出Do4。多路复用器1510的放大区段展示晶体管1512到1518, 其耦合到输入以用于基于选择信号S1-S4分别将信号Di0-Di3接收到在共同节 点处的输出信号Do4。虽然图15的多路复用器布置是借助于实例展示,但应 理解可实施晶体管的其它布置以实现多路复用功能性。从图15明显可见,可 选择纵横开关以将给定数目的信号路由到较少数目的输出或将给定数目的信 号路由到较大数目的输出。此外,与必须作为配置数据提供且通过配置过程改 变的用于可编程逻辑装置的一般可编程互连件的多路复用器控制信号对比,纵 横开关的选择信号可动态改变。因此,图15的纵横开关可用于图6-14的路由 电路中的任一者,或可在纵横开关中实施的上文陈述的任何其它电路。

现在参见图16,展示根据实施例的用于对具有可编程资源的装置进行编 程的系统的框图。确切地说,计算机1602经耦合以从存储器1606接收电路设 计1604,且产生存储在非易失性存储器1606中的配置位流。如将在下文更详 细地描述,所述电路设计可为高级设计,例如硬件描述语言(HDL)中界定的 电路设计。并且,计算机可经配置以运行产生配置位流的软件,所述配置位流 存储在非易失性存储器1608中且提供到可为可编程集成电路的集成电路1610, 例如下文在图17中描述的集成电路。

现在参见图17,展示包含图2-16的电路的具有可编程资源的装置的框图。 虽然具有可编程资源的装置可在例如具有可编程资源的专用集成电路(ASIC) 等任何类型的集成电路装置中实施,但其它装置包括专用可编程逻辑装置 (PLD)。一种类型的PLD是复杂可编程逻辑装置(CPLD)。CPLD包含由互 连开关矩阵连接在一起并且连接到输入/输出(I/O)资源的两个或更多个“功 能块”。CPLD的每一功能块包含类似于在可编程逻辑阵列(PLA)或可编程 阵列逻辑(PAL)装置中使用的两层级与/或(AND/OR)结构。另一类型的 PLD是现场可编程门阵列(FPGA)。在典型FPGA中,可配置逻辑块(CLB) 阵列耦合到可编程输入/输出块(IOB)。CLB和IOB通过可编程路由资源的阶 层而互连。这些CLB、IOB和可编程路由资源是通过通常从芯片外存储器将 配置位流加载到FPGA的配置存储器单元中而定制。对于这些的类型的可编程 逻辑装置两者,通过提供到装置的配置位流的用于控制目的的配置数据位来控 制装置的功能性。配置数据位可存储在易失性存储器(例如,静态存储器单元, 如FPGA和一些CPLD中)中,非易失性存储器(例如,快闪存储器,如一 些CPLD中)中,或任何其它类型的存储器单元中。

图17的装置包括FPGA架构1400,其具有大量不同的可编程瓦片,包含 多千兆位收发器(MGT)1701、CLB1702、随机存取存储器块(BRAM)1703、 输入/输出块(IOB)1704、配置和定时逻辑(配置/时钟)1705、数字信号处 理块(DSP)1706、专用输入/输出块(I/O)1707(例如,配置端口和时钟端 口),和其它可编程逻辑1708,例如数字时钟管理器、模/数转换器、系统监视 逻辑等等。一些FPGA还包含专用处理器块(PROC)1710,其可用以实施例 如软件应用程序。

在一些FPGA中,每一可编程瓦片包含标准化地连接到并连接自每一邻近 瓦片中的对应互连元件的可编程互连元件(INT)1711。因此,可编程互连元 件连在一起实施用于所说明FPGA的可编程互连结构。可编程互连元件1711 还包含到及来自同一瓦片内的可编程逻辑元件的连接,如图17的顶部处所包 含的实例所示。

举例来说,CLB1702可包含可经编程以实施用户逻辑的可配置逻辑元件 (CLE)1712加单个可编程互连元件1711。BRAM1703除一或多个可编程互 连元件之外还可包含BRAM逻辑元件(BRL)1713。BRAM包含与配置逻辑 块的分布式RAM分开的专用存储器。通常,包含在瓦片中的互连元件的数目 取决于所述瓦片的高度。在描绘的实施例中,BRAM瓦片具有与五个CLB相 同的高度,但也可以使用其它数目。除适当数目的可编程互连元件之外,DSP 瓦片1706还可以包含DSP逻辑元件(DSPL)1714。除可编程互连元件1711 的一个实例之外,IOB1704可包含例如输入/输出逻辑元件(IOL)1715的两 个实例。通过提供到装置的用于控制目的的配置位流的配置数据位来控制装置 的连接的位置。可编程互连件响应于配置位流的位而使得包括互连线的连接能 够用以将各种信号耦合到可编程逻辑中实施的电路,或例如BRAM或处理器 等其它电路。

在所描绘的实施例中,接近裸片中心的列状区域被用于配置、时钟以及其 它控制逻辑。从此列延伸的配置/时钟分布区1409用以跨越FPGA的广度分布 时钟和配置信号。利用图17中所说明的架构的一些FPGA包含额外的逻辑块, 所述逻辑块破坏了组成FPGA的较大部分的规则列状结构。所述额外的逻辑块 可以是可编程块和/或专用逻辑。举例来说,图17中所示的处理器块PROC1710 跨越了CLB与BRAM的若干列。

图17的FPGA进一步包括大于BRAM1703的增强存储器元件1716。增 强存储器元件1716可包括与参看电路1700的块描述的各种互连元件分开的 SRAM块和专用互连元件,其实现通过电路1700的块或电路1700外部的装置 对增强存储器元件的存储器元件的存取。

应注意,图17既定仅仅说明示范性FPGA架构。一列中逻辑块的数目、 列的相对宽度、列的数目以及次序、包含在列中的逻辑块的类型、逻辑块的相 对大小以及包含在图17顶部处的互连/逻辑实施方案纯粹为示范性的。举例来 说,在实际FPGA中,在CLB出现的每个地方都通常包含CLB的一个以上邻 近列,以便促进用户逻辑的高效实施。虽然图17的实施例涉及具有可编程资 源的集成电路,但应理解下文更详细阐述的电路和方法可在任何类型的ASIC 中实施。

因此,图17的元件布置将SRAM分割为两个群组,包含可为36千字节 存储器元件的BRAM,且增强存储器元件1716包括大于BRAM的存储器块, 且可为例如36MB。通过提供增强存储器元件1716的更深存储器,每单位面 积提供更多的位,且不需要级联多个BRAM来实现较大存储器。增强存储器 元件1716可使用如上文所阐述且更具体地说如图6-8中示出的存储器元件和 专用路由互连元件的布置或者如图9中实施的图6-8的布置而实施。

现在参见图18,展示图17的装置的可配置逻辑元件的框图。确切地说, 图18以简化形式说明图17的配置逻辑块1702的可配置逻辑元件。在图18 的实施例中,切片M1801包含四个查找表(LUTM)1801A-1801D,每一者 由六个LUT数据输入端子A1-A6、B1-B6、C1-C6和D1-D6驱动且每一者提 供两个LUT输出信号O5和O6。来自LUT1801A-1801D的O6输出端子分别 驱动切片输出端子A-D。LUT数据输入信号由FPGA互连结构经由可由可编 程互连元件1811实施的输入多路复用器供应,且LUT输出信号也供应到互连 结构。切片M还包含:驱动输出端子AMUX-DMUX的输出选择多路复用器 1811A-1811D;驱动存储器元件1802A-1802D的数据输入端子的多路复用器 1812A-1812D;组合多路复用器1816、1818和1819;弹跳多路复用器电路 1822-1823;由反相器1805和多路复用器1806(一起提供输入时钟路径上的任 选的反转)表示的电路;以及具有多路复用器1814A-1814D、1815A-1815D、 1820-1821和异或栅极1813A-1813D的进位逻辑。所有这些元件如图18中示 出耦合在一起。在未图示用于图18中说明的多路复用器的选择输入之处,选 择输入是由配置存储器单元控制。即,存储在配置存储器单元中的配置位流的 配置位耦合到多路复用器的选择输入以选择对多路复用器的正确输入。众所周 知的这些配置存储器单元出于清楚起见从图18以及从本文的其它选定图中省 略。

在所描绘的实施例中,每一存储器元件1802A-1802D可经编程以充当同 步或异步触发器或锁存器。通过对同步/异步选择电路1803进行编程而针对切 片中的全部四个存储器元件做出同步与异步功能性之间的选择。当存储器元件 经编程以使得S/R(设定/复位)输入信号提供设定功能时,REV输入端子提 供复位功能。当存储器元件经编程以使得S/R输入信号提供复位功能时,REV 输入端子提供设定功能。存储器元件1802A-15802D由时钟信号CK计时,所 述时钟信号可由全局时钟网络或由例如互连结构提供。此些可编程存储器元件 是FPGA设计领域中众所周知的。每一存储器元件1802A-1802D将寄存的输 出信号AQ-DQ提供到互连结构。因为每一LUT1801A-1801D提供两个输出 信号O5和O6,所以LUT可经配置以充当具有五个共享输入信号(IN1-IN5) 的5输入LUT,或具有输入信号IN1-IN6的一个6输入LUT。

在图18的实施例中,每一LUTM1801A-1801D可在若干模式中的任一者 中起作用。当在查找表模式中时,每一LUT具有由FPGA互连结构经由输入 多路复用器供应的六个数据输入信号IN1-IN6。64个数据值中的一者是基于信 号IN1-IN6的值以可编程方式选自配置存储器单元。当在RAM模式中时,每 一LUT充当单个64位RAM或具有共享寻址的两个32位RAM。RAM写入 数据经由输入端子DI1(经由用于LUT1801A-1801C的多路复用器 1817A-1817C)供应到64位RAM,或经由输入端子DI1和DI2供应到所述两 个32位RAM。LUTRAM中的RAM写入操作由来自多路复用器1806的时钟 信号CK且由来自多路复用器1807的写入启用信号WEN控制,所述多路复 用器1807可选择性传递时钟启用信号CE或写入启用信号WE。在移位寄存器 模式中,每一LUT充当两个16位移位寄存器,或所述两个16位移位寄存器 串联耦合以产生单个32位移位寄存器。移入信号是经由输入端子DI1和DI2 中的一者或两者提供。16位和32位移出信号可通过LUT输出端子提供,且 所述32位移出信号也可以经由LUT输出端子MC31更直接地提供。LUT 1801A的32位移出信号MC31也可以经由输出选择多路复用器1811D和CLE 输出端子DMUX提供到用于移位寄存器成链的一般互连结构。因此,上文阐 述的电路和方法可在例如图17和18的装置等装置或任何其它合适的装置中实 施。

根据图19的实施例,例如印刷电路板等电路板1902经配置以接纳多裸片 集成电路1904。多裸片集成电路1904包括经耦合以接纳内插件电路1908的 衬底1906。内插件1908使得能够将例如FPGA芯片1910和DRAM芯片1912 电路等多个集成电路芯片或裸片耦合到衬底1906。焊料球1914启用使得能够 借助于例如穿硅通孔(TSV)等各种互连件1916将信号从各种芯片耦合到电 路板1902。互连件198还实现多裸片集成电路的各种芯片之间的信号的路由。 内插件电路1908可为具有各种包括互连元件的金属层的硅衬底,所述互连元 件实现FPGA芯片与DRAM芯片之间或芯片中的一者与衬底1906之间的信号 的路由。然而,内插件电路可为具有使得能够如所示路由信号的导电元件的任 何材料。虽然FPGA芯片1910和DRAM芯片1912的所有电路可实施在单个 裸片上,但图19的实施例使得能够更高效地实施FPGA芯片1910和DRAM 芯片1912的各种电路。举例来说,一些电路可更高效地实施于根据一种工艺 制造的集成电路芯片中,例如形成某一尺寸的晶体管的工艺,而其它电路可更 高效地实施于根据另一工艺制造的集成电路芯片中。因此,图19的布置可用 以实施图9的电路,其中DRAM902被实施为DRAM1912,且所述多个存储 器元件924-930实施为衬底1906中的SRAM或EDRAM。DRAM接口922和 可编程资源接口932可实施在衬底1906上或实施为内插件1908的一部分。

现在参见图20,流程图展示实施集成电路装置中的存储器的方法。确切 地说,在框2002处实施耦合到可编程互连元件的可编程资源,其中所述可编 程互连元件实现与可编程资源的信号通信。所述可编程互连件可为例如与图 17的IOB或CLE相关联的互连元件。在框2004处提供多个存储器块,且在 框2006处将专用互连元件耦合到所述多个存储器块。所述多个存储器块可为 例如图17的增强存储器元件1716。可在框2008处实施DRAM块,其中可在 DRAM块与所述多个存储器块之间实施专用互连元件。可使用如所描述的图 1-19的电路或使用一些其它合适的电路实施图20的方法的各种元件。虽然描 述方法的特定元件,但应理解,方法的额外元件或涉及元件2002-2008的额外 细节可根据图1-19的揭示来实施。

因此可理解,已描述具有存储器的新型集成电路装置以及实施集成电路装 置中的存储器的方法。所属领域的技术人员将了解,应看到存在并入所揭示的 发明中的众多替代方案和等效物。因此,本发明并非由前述实施例进行限制, 而是仅由所附权利要求书进行限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号