具有嵌入式可编程逻辑的集成电路器件的制作方法

文档序号:17721301发布日期:2019-05-22 02:11阅读:117来源:国知局
具有嵌入式可编程逻辑的集成电路器件的制作方法

本发明涉及集成电路器件,并且更具体地涉及通过嵌入在集成电路器件内的可编程逻辑配置的集成电路器件。



背景技术:

此部分旨在向读者介绍可能涉及这些技术的各方面的现有技术的各方面,这些方面在下文中有所描述和/或要求保护。此论述被认为有助于向读者提供背景信息以便于更好地理解本发明的各方面。因此,应理解,将从这个角度来阅读这些陈述,而不是作为对现有技术的认可。

在多种电子系统中可以发现集成电路。仅举几个例子,计算机、手持式装置、便携式电话、电视、工业控制系统和机器人都依赖于集成电路。例如,第一集成电路(例如,现场可编程门阵列(fpga))可以与第二集成电路(例如,存储器)通信以进行某些数据处理。在另一示例中,专用集成电路(asic)可以与光学模块通信以进行某些数据处理。

随着技术的发展,集成电路迅速变得过时的情况并不少见。例如,行业标准(例如,针对芯片至芯片接口的标准)可能变化。具体来说,这可以包含从第一通用接口块(uib1)改变到第二通用接口块(uib2)。在此情况下,利用uib1的集成电路可以被重新设计为利用uib2,而由于增加了重新设计集成电路的成本,这可能会增加生产集成电路的总成本。此外,如上文所述,集成电路器件被用在许多装置中,这些装置可以各自具有特定的功能要求。因此,替代重新设计整个集成电路,可能期望增强基础集成电路的功能性。



技术实现要素:

在下文中阐述了本文中所公开的特定实施例的概述。应理解,展示这些方面仅用于为读者提供这些特定实施例的简要概述,并且这些方面并非旨在限制本发明的范围。实际上,本发明可以涵盖下文中可能并未阐述的多个方面。

本发明的实施例涉及与增强集成电路的功能性相关的系统和方法。为了增强所述功能性,集成电路可以包含嵌入式可编程逻辑,所述嵌入式可编程逻辑是可编程的以调节集成电路的初级电路系统的功能性。在本发明中,初级电路系统描述了集成电路的基础功能性。具体来说,所述可编程逻辑可以通过从另一集成电路和/或计算装置接收到的配置信号进行编程。因此,所述集成电路可以通过被编程为具有例如数据/地址操纵功能、配置/测试功能、计算功能等功能而补充和/或支持另一集成电路的功能性。

可以对关于本发明的各种方面的上述特征做出各种改进。其他特征同样也可以合并在这些各种方面中。这些改进和附加特征可以单独地实现或者以任何组合形式实现。例如,下文关于一个或多个图示说明的实施例论述的各种特征可以独自地或者以任何组合形式并入到本发明的任何上述方面中。上文所呈现的简要概述仅意图在不限制要求保护的主题的情况下使读者熟悉本发明的实施例的某些方面和背景。

附图说明

在阅读以下详细描述并且参考附图之后可以更好地理解本发明的各个方面,在附图中:

图1是根据一个实施例的系统的框图,所述系统包含以通信方式耦合到具有可编程逻辑和初级电路的第二集成电路上的第一集成电路器件;

图2是根据一个实施例以通信方式耦合的图1的第一集成电路和第二集成电路的框图的侧视图;

图3是根据一个实施例以通信方式耦合的图1的第一集成电路和第二集成电路的框图的侧视图;

图4是根据一个实施例以通信方式耦合到存储器的第一集成电路的框图;

图5是根据一个实施例描绘用于利用第二集成电路来增强第一集成电路的功能性的过程的流程图;

图6是根据一个实施例描绘用于配置存储器模式和/或存储器的过程的流程图;

图7是根据一个实施例描绘用于执行晶片测试的过程的流程图;

图8是根据一个实施例描绘用于补偿存储器的老化的过程的流程图;

图9是根据一个实施例以通信方式耦合到具有第二通用接口块(uib2)的第二集成电路上的具有第一通用接口块(uib1)的第一集成电路的框图;

图10是根据一个实施例描绘用于在第一集成电路与第二集成电路之间执行计算功能(例如,介接(interfacing)功能)的过程的流程图;

图11是根据一个实施例描绘用于在收发器上执行测试功能的过程的流程图;以及

图12是根据一个实施例以通信方式耦合到具有第二通用接口块(uib2)的第二集成电路上的具有第一通用接口块(uib1)的片上系统(soc)的框图。

具体实施方式

在下文中将描述本发明的一个或多个具体实施例。这些所描述的实施例仅是所公开的技术的示例。另外,为了提供这些实施例的简明描述,在说明书中可能未描述实际实施方案的所有特征。应了解在任何此类实际实施方案的开发中,例如在任何工程或设计项目中,必须制定许多实施方案特定的决策以实现研发者的特定目标,例如符合系统相关和企业相关的约束条件,这可能在实施方案之间发生变化。此外,应了解此类开发工作可能是复杂的且耗时的,然而可以是从本发明中获益的一般技术人员从事的设计、构造和制造的例程。

当介绍本发明的各个实施例的元件时,冠词“一”、“一个”和“所述”意图表示存在一个或多个元件。术语“包括”、“包含”和“具有”意图为包括性的并且表示可能存在除了所列元件之外的另外元件。另外,应理解提及本发明的“一个实施例”或“一实施例”并非意图被解释为排除也包含所叙述特征的另外实施例的存在。

本发明通常涉及具有嵌入式可编程逻辑的集成电路,所述嵌入式可编程逻辑使能集成电路中的增强型功能性。集成电路包含在广泛范围的装置中,例如,计算机、手持式装置、便携式电话、电视、工业控制系统、机器人等。因此,不同装置中的每一者可以具有略微不同的功能性要求。例如,第一装置可能需要集成电路器件(例如,存储器)具有三个读取端口和一个写入端口;然而,第二装置可能需要集成电路具有两个读取端口和两个写入点。因此,在此示例中集成电路的功能性可能略微不同。

此外,随着技术的发展,在装置中使用的标准和协议也可以发展。例如,早期的集成电路可能利用第一通用接口块(uib1),而较新的集成电路可能利用更新的第二通用接口块(uib2)。因此,由于不同版本的通用接口块,可能难以适当地介接(interface)早期的集成电路和较新的集成电路。

因此,本发明包含嵌入在集成电路中的可编程逻辑,其中所述可编程逻辑被编程以增加所述集成电路的功能性。具体来说,集成电路的功能性通过实施数据/地址操纵功能、配置/测试功能、计算功能或其任何组合而提高。如本文所用,数据/地址操纵功能描述了访问功能,例如,递增/递减存储器地址;配置/测试功能描述了制造和设计功能,例如,晶片测试集成电路;并且计算功能描述了应用说明功能,例如,协议转换和分析。换句话说,可编程逻辑可以嵌入在集成电路内以使得集成电路能够适合于一系列的应用。此外,可编程逻辑可能有助于(例如,通过较新的技术)介接原本可能不兼容的集成电路。因此,由于扩展的应用和延长的寿命,嵌入式可编程逻辑可以使集成电路的开发更具成本效益。

为了介绍,图1是具有至少两个集成电路的系统10。具体来说,如图所示,系统10包含第一集成电路12和第二集成电路14,这些集成电路可以互补彼此的功能。例如,第二集成电路14可以是支持第一集成电路12的外围集成电路或反之亦然。如本文所用,外围集成电路描述支持另一集成电路的功能性的集成电路。因此,集成电路12和14可以是多种集成电路,例如现场可编程门阵列(fpga)、专用集成电路(asic)、片上系统(soc)、收发器(例如,光学模块)、存储器模块等。

此外,第二集成电路14包含可编程逻辑(pl)16和初级电路系统18。如图所示,可编程逻辑16可以嵌入在第二集成电路14中。如本文所用,初级电路系统18描述第二集成电路14的基础功能性。例如,当第二集成电路14是存储器时,初级电路系统18可以是储存和/或提取数据的存储器。为了增强初级电路系统18的功能性,可编程逻辑16可以经编程以实施例如数据/地址操纵、配置/测试、计算或其任何组合的功能。可编程逻辑16可以通过各种方法进行编程。例如,可编程逻辑16可以通过配置存储器进行编程。因此,在一些实施例中,可编程逻辑16可以是可从加利福尼亚圣何塞的altera公司获得的现场可编程门阵列(fpga)结构。可替代地,可编程逻辑16可以通过金属可编程逻辑进行编程。因此,在一些实施例中,可编程逻辑16可以是可从加利福尼亚圣何塞的altera公司获得的硬拷贝asic。因此,应了解,用于对可编程逻辑16进行编程的方法可以使可编程逻辑16被静态地或动态地编程。例如,类似于fpga,可编程逻辑16可以在操作过程中被动态地编程/重新编程。具体来说,可编程逻辑可以在操作过程中被完全地或部分地编程。另一方面,可编程逻辑16也可以在上电期间被静态地编程以在操作过程中保持相同的编程。

此外,如图所示,第一集成电路12和第二集成电路14是以通信方式耦合的。在一些实施例中,系统10可以利用一种配置,在该配置中第一集成电路12和第二集成电路14都通过引线键合工艺耦合到印刷电路板(pcb)。如图2中所描绘的一种可替代配置可以通过插入器20(例如,在2.5d配置中)以通信方式耦合第一集成电路12和第二集成电路14。具体来说,第一集成电路12和第二集成电路14可以通过接合到插入器20的微凸块22进行通信。微凸块22将集成电路12和14连接到插入器20内的芯片至芯片互连件24。这些芯片至芯片互连件24穿过插入器20的各种深度提供通信信道。在一些实施例中,如图所示,插入器20可以是主动插入器,其使可编程逻辑16能够嵌入在插入器20内。另外或可替代地,插入器20可以是被动插入器,并且可编程逻辑16可以嵌入在第二集成电路14中。此外,硅通孔(tsv)23可以将某些微凸块22和/或芯片至芯片互连件24连接到c4互连件25。

在图3中描绘了系统10的另一可替代配置。如图所示,第二集成电路14堆叠在第一集成电路12上(即,在3d配置中)。类似于图2中所描绘的实施例,可编程逻辑16可以位于第一集成电路12与第二集成电路14之间(即,嵌入在集成电路12和14之间)。此外,微凸块22可以用于将集成电路12和14连接到可编程逻辑16。虽然未明确描绘,但是应了解,芯片至芯片互连件和/或tsv可以穿过可编程逻辑16以在集成电路12和14之间提供通信信道。可替代地,类似于图1,可编程逻辑16可以被包含在第二集成电路14中,并且集成电路12和14可以通过微凸块和/或tsv直接互连。

利用上述配置之一或另一种合适的集成电路配置,第一集成电路12以通信方式耦合到第二集成电路14,例如图4中所描绘的存储器模块14a。存储器模块14a可以是单个存储器管芯、与可编程逻辑堆叠的存储器管芯或具有嵌入式可编程逻辑的存储器堆叠。此外,存储器14a例如可以是静态随机存取存储器(sram)、动态随机存取存储器(dram)、可控硅随机存取存储器(t-ram)或其任何组合。如图所示,存储器14a包含可编程逻辑16、配置端口26和初级电路系统18。如本文所用,初级电路系统18是指有助于集成电路的基础功能的集成电路组件。例如,在存储器14a中,初级电路系统18可以执行对存储器14a的读取和写入。相应地,存储器模块14a可以补充和/或支持fpga、asic等(即外围集成电路)的功能性。

此外,如上文所述,第一集成电路12和存储器模块被耦合,这可以使集成电路12和14能够传送地址信号、数据信号、命令信号、控制信号、配置信号或其任何组合。具体来说,地址信号可以规定用以读取和/或写入数据的地址,所述数据可以通过地址总线13来传送。类似地,将要读取或写入的数据可以被包含在数据信号中并且经由数据总线15传送。此外,控制信号和命令信号可以经由控制总线17和命令总线19传送。因此,例如,第一集成电路12可以指示存储器14a执行特定动作,例如,读取存储器地址处的数据。此外,配置信号可以通过配置总线28传送。如将在下文更详细地描述,配置信号可以包含用以配置集成电路12和14的指令。如图所示,配置总线28耦合到第一集成电路12、耦合到存储器14a并且耦合在该第一集成电路与该存储器之间。因此,第一集成电路12可以接收来自另一装置(例如,监视控制器)的配置信号,该装置指示第一集成电路12将第二配置信号传输到存储器14a。另外或可替代地,第一集成电路12可以确定其自身是否将配置信号发送到存储器14a。同样地,在一些实施例中,存储器14a可以直接接收来自另一装置的配置信号。因此,配置信号可以在集成电路12和14之间传送或从控制装置传送,例如操作者利用计算装置来与集成电路12和14通信。

如上文所述,可编程逻辑16可以被编程以增强存储器14a的基础功能。具体来说,可编程逻辑16可以实施数据/地址操纵功能、配置/测试功能、计算功能或其任何组合。在存储器模块中,数据/地址操纵功能可以包含递增/递减存储器地址、高速缓存数据、配置存储器端口、配置存储器模式、控制存储器或其任何组合。计算功能可以包含匹配图案、确定统计数据或其任何组合。配置/测试功能可以包含晶片分类或最终测试期间的内建式自测试、调试、性能表征或其任何组合。为了有助于在存储器14a上实施这些增强型功能,可编程逻辑16可以相应地通过配置信号进行编程。具体来说,存储器14a可以在配置端口26处接收配置信号,所述配置端口以通信方式耦合到携带配置信号的配置总线28。

例如,图5示出了用于在第二集成电路(例如,存储器14a)14上执行功能(例如,数据/地址操纵功能、配置/测试功能、计算功能)的过程10。过程10可以通过耦合第一集成电路12和第二集成电路14(过程块32)开始。如上文所述,第一集成电路12和第二集成电路14可以用多种方式耦合,例如,通过印刷电路板(pcb)或通过插入器20。接下来,第二集成电路14可以接收配置信号(过程块14)。具体来说,所述配置信号可以包含涉及功能的指令。因此,所述配置信号可以基于将在集成电路12和14中实施的功能而从第一集成电路12或另一器件传输到第二集成电路14。基于所述配置信号,第二集成电路14可以将所述功能编程到可编程逻辑16上(过程块36)。例如,可编程逻辑16可以被编程以递增/递减存储器地址、高速缓存数据、配置存储器端口、配置存储器模式/技术、控制所述存储器或其任何组合。应了解,可替代地,块32可以在块14和36之后。换句话说,可编程逻辑16可以在耦合到第一集成电路12之前进行编程。最后,可编程逻辑16可以执行所述功能(过程块38)。

为了进一步图示在可编程逻辑上实施功能,在图6中描绘了用于实施数据/地址功能(即,配置存储器模式和/或存储器端口)的过程40。具体来说,存储器模式和/或存储器端口可以促进第一集成电路12的功能性。如同过程10,过程40可以通过耦合第一集成电路和存储器14a开始(过程块42)。此外,存储器14a可以接收配置信号(过程块44)。例如,第一集成电路12(例如,fpga或asic)可以经由配置总线28将配置信号发送到存储器14a,以指示存储器14a的配置。

最后,可编程逻辑16可以被编程(过程块45)并且相应地配置存储器模式和/或存储器端口(过程块46)。通过采用每个存储器模式(例如,sram、dram或t-ram)的强度,存储器14a可以在不同模式下进行编程以更好地促进第一集成电路12的功能。具体来说,可编程逻辑16可以在整个存储器14a或存储器14a的一部分中实施各种存储器模式。例如,可编程逻辑16可以将整个存储器14a配置为sram,或者可替代地,可编程逻辑16可以将存储器14a的第一部分配置为作为sram来操作并且将第二部分配置为作为t-ram来操作。类似地,存储器端口可以被编程以基于第一集成电路12的功能性改变存储器14a的读取或写入带宽。具体来说,可编程逻辑16可以将存储器端口配置为读取端口或写入端口。例如,如果存储器14a具有四个端口,当第一集成电路12利用较大写入带宽时,可编程逻辑16可以将存储器端口中的三个配置为写入端口并且将一个配置为读取端口。可替代地,如果第一集成电路12利用较大读取带宽,那么可编程逻辑16可以将存储器端口中的三个配置为读取端口并且将一个配置为写入端口。这种配置在第一集成电路12实施有线应用(wirelineapplication)时是非常有用的,其利用与写入带宽相比更高的读取带宽。

除执行数据/地址功能之外,嵌入在第二集成电路14(例如,存储器14a)中的可编程逻辑16可以执行配置/测试功能。例如,如图7中所描绘,可编程逻辑16可以促进在晶片分类测试和/或最终测试期间进行晶片测试过程48。过程48可以通过制造晶片开始(过程块50)。具体来说,这可以包含制造初级电路系统18并且嵌入可编程逻辑16。接下来,第二集成电路14可以接收配置信号(过程块52)。在晶片测试期间,第二集成电路14可以经由配置总线28从中央晶片测试装置接收配置信号。换句话说,中央晶片测试装置可以将配置信号传输到存储器14a以指示可编程逻辑16正进行晶片测试功能。例如,晶片测试功能可以包含自测试、调试、性能表征或其任何组合。接下来,晶片测试功能可以被编程到可编程逻辑中(过程块54)。并且最后,可编程逻辑16可以执行晶片测试功能(过程块56)。例如,可编程逻辑16可以自测试第二集成电路14以确定第二集成电路14是否正确地运行。另外,可编程逻辑16可以被编程以在第二集成电路14未正确地运行时对其进行调试。

为了进一步图示在存储器模块14上实施配置/测试功能,图6描绘了用于测试存储器的性能并且相应地补偿的过程58。例如,应了解,随着存储器14a的老化,组件的功能可能开始倒退。具体来说,存储器14a中的电容器可以开始储存与之前相比较少的电荷。过程58可以通过接收配置信号开始(过程块60)。所述配置信号可以包含用于表征存储器14a的性能的指令以及用于补偿所述性能的指令。因此,配置信号可以来自第一集成电路12或与存储器模块14a的性能有关的另一装置。例如,测试装置可以将配置信号发送给各种存储器模块14a以测试每个模块的性能。接下来,可编程逻辑16可以被编程以运行性能表征功能(过程块62)并且可编程逻辑16可以执行该性能表征功能(过程块64)。例如,可编程逻辑16可以测试每个位以确定存储器14a是否正确地储存数据。最后,基于所述性能表征,可编程逻辑16可以相应地进行补偿(过程块66)。例如,如果确定了存储器14a中的电容器未储存足够的电荷,那么可以增加供应到存储器模块14a的电力。

除了图4中所描绘的存储器14a之外,系统10可以包含第二集成电路14的其他实施例。例如,如图9中所描绘,第二集成电路14b可以包含芯片至芯片接口。具体来说,第二集成电路14b可以是asic或收发器(例如,光学模块),例如,可从加利福尼亚圣克拉拉的英特尔公司获得的thunderbolt模块。因此,第二集成电路14b可以包含数据连接件67(例如,光学连接器)以与光缆耦合。相应地,第二集成电路14b(例如,光学模块)可以补充和/或支持fpga、asic等(即外围集成电路)的功能性。

类似于图4中所描绘的实施例,图4中所描绘的系统10包含数据总线15以在第一集成电路12与第二集成电路14b之间传输数据。系统10还类似地包含命令总线19和控制总线17以在第一集成电路12与第二集成电路14b之间传送控制信号和命令信号。此外,如图所示,配置总线28耦合到第一集成电路12、耦合到第二集成电路14b,并且耦合在该第一集成电路与该第二集成电路之间以促进配置信号的传输。同样类似于图4中所描绘的系统10,第二集成电路14b包含:可编程逻辑16,用以增强初级电路系统的功能性;配置端口26,用以从配置总线28接收配置信号;以及初级电路系统18。当例如第二集成电路14b是收发器(例如,光学io模块或电气io模块)时,初级电路系统18可以发射并接收来自其他装置的数据。

此外,如图所示,第一集成电路12包含第一芯片至芯片接口68,例如第一通用接口块(uib1)68,并且第二集成电路14b包含第二芯片至芯片接口70,例如第二通用接口块(uib2)70。由于在同步、交握、吞吐量匹配、接口协议等方面的差异,不同的芯片至芯片接口(例如,68和70)可能难以介接第一集成电路12和第二集成电路14b。因此,图10描绘了用以执行计算功能(例如,介接功能)以促进介接集成电路(即12和14b)的过程72。应理解,uib1和uib2仅是说明性的并且本文中所教导的技术可以应用于各种芯片至芯片接口。

过程72可以通过耦合第一集成电路12和第二集成电路14b开始(过程块74)。如上所述,集成电路(即12和14b)可以以不同的方式耦合,例如通过印刷电路板(pcb)或通过插入器20。接下来,第二集成电路14b可以接收配置信号(过程块76)。具体来说,所述配置信号可以包含用于执行计算功能的指令,例如从uib1转换到uib2。因此,配置信号可以从第一集成电路12或另一装置传输。例如,如果uib2是较新的芯片至芯片接口,那么它可以包含向后相容性功能,该功能指示早期的芯片至芯片接口(例如,uib1)如何经由配置信号与uib270介接。基于配置信号,可编程逻辑16可以被编程为具有计算功能(过程块78)。类似于上述过程(即10和40),第二集成电路14b可以接收配置信号并且在耦合到第一集成电路12之前对可编程逻辑16进行编程。

可编程逻辑16可以确定两个集成电路(即12和14b)的操作参数(过程块80)。换句话说,可编程逻辑16确定可以介接的集成电路(即12和14b)的操作参数。例如,这可以包含针对在每一者中使用的芯片至芯片接口对第一集成电路12和第二集成电路14a中的初级电路系统18进行轮询。最后,可编程逻辑16可以在第二集成电路14b中执行计算功能(例如,介接功能)(过程块82)。按照上文呈现的示例,可编程逻辑16可以承受芯片至芯片接口(例如,uib1和uib2)之间的接口协议错配以启用无缝集成。更确切地说,可编程逻辑16可以基于第一集成电路12的芯片至芯片接口调节第二集成电路14b。

计算功能的其他示例可以包含使集成电路同步、促进集成电路之间的交握(handshaking)、接口协议转换、吞吐量匹配(即聚集或扇出)等。例如,接口协议转换功能可以将高级可扩展接口(axi)接口协议转换成avalon接口协议。所述axi接口协议可以从英格兰剑桥的armholdingsplc公司获得,并且avalon接口协议可以从加利福尼亚圣何塞的altera公司获得。此外,当第二集成电路14b是收发器(例如,光学io模块)时,计算功能可以进一步包含加密/解密、编码/解码、前向错误校正、信号调节、信号检测等。例如,可编程逻辑16可以在初级电路系统18通过数据连接件67(例如,光连接器)发送数据之前加密该数据。相反地,可编程逻辑16也可以对从数据连接件67接收到的数据进行解密并且将解密的数据传送到初级电路系统18。因此,这可以使第二集成电路14b(例如,收发器)能够利用各种加密/解密协议与集成电路通信。

此外,类似于上述存储器模块14a,可编程逻辑16可以在第二集成电路14b中执行配置/测试功能。例如,可编程逻辑16也可以测试和维护包含数据连接件67的收发器(例如,光学模块)。因此,在图11中描绘了用于测试第二集成电路14b(例如,收发器)的过程84。过程84可以通过接收配置信号开始(过程块86)。如上所述,配置文件可以从第一集成电路12或从另一装置传输。此外,所述配置信号可以包含用于测试收发器(例如,光学模块)的指令。例如,所述配置信号可以指示可编程逻辑16确定数据连接件67是否正确地表示传输的数据。另外,所述配置信号也可以指示可编程逻辑16维护第二集成电路14b(例如,收发器),以便降低未来故障的可能性。测试功能可以被编程到可编程逻辑16上(过程块88)。并且最后,可编程逻辑16可以测试第二集成电路14b(例如,收发器)(过程块90)。按照上述示例,可编程逻辑可以指示初级电路系统18(例如,基础收发器)传输已知的信号并且测试数据连接件67以确定所述已知的信号是否就是实际上被传输的信号。

如上所述,系统10可以包含第二集成电路14的各种实施例。如图12中所描绘,第二集成电路14的另一示例是片上系统(soc)14c。同样,类似于上述实施例,系统10包含数据总线15以在第一集成电路12与soc14c之间传输数据。此外,系统10包含命令总线19和控制总线17以在第一集成电路12与soc14c之间传送控制信号和命令信号。此外,如图所示,配置总线28耦合到soc14c以促进来自另一装置的配置信号的传输。并且,soc14c包含:可编程逻辑16,用以增强初级电路系统18的功能性;配置端口26,用以从配置总线28接收配置信号;以及初级电路系统18(即soc的基础功能)。此外,如图所示,第一集成电路12包含第一芯片至芯片接口68(例如,uib1),并且soc14c包含第二芯片至芯片接口70(例如,uib2)。

应理解,soc14c可以将各种计算功能集成到单个芯片中。因此,soc14c的初级电路系统18可以包含随机存取存储器(ram)92、快闪存储器94、通用串行总线(usb)96和其他组件98。具体来说,存储器(即ram92和快闪存储器94)可以促进soc14c执行计算功能,并且usb96可以充当外部接口。此外,这些组件(即92、94、96和98)中的每一个可以经由soc总线100互连。例如,soc总线100可以利用接口协议,例如,上述axi或avalon。除了包含在soc14c中的所述组件(即92、94、96和98)之外,soc14c可以经由数据总线15、命令总线19、控制总线17或其任何组合与外围设备(即第一集成电路12)介接。例如,外围设备可以是额外的存储器或收发器(例如,光学io模块或电气io模块)。

类似于上述实施例,可编程逻辑16可以通过执行计算功能(例如,介接功能)增强soc14c的功能性。例如,为了促进soc14c与外围设备(即第一集成电路12)介接,可以利用图10中所描绘的过程72。首先,soc14c和外围设备12可以被耦合(过程块74)。接下来,soc14c可以接收配置信号(过程块76)。如图12中所描绘,soc14c可以经由配置总线28接收来自另一装置的配置信号。具体来说,所述配置信号可以指示可编程逻辑执行计算功能。例如,一种计算功能可以是改变在soc总线100上使用的接口协议以匹配在外围设备(即第一集成电路12)中使用的接口协议从而促进介接。例如,当在外围设备(即第一集成电路12)中使用的接口协议是avalon时,可编程逻辑16可以将soc总线100中的接口协议变为avalon。基于所述配置信号,可编程逻辑16可以被编程以执行计算功能(即介接功能)(过程块78)。在被编程之后,可编程逻辑16可以确定外围设备(即第一集成电路12)和soc14c的操作参数(过程块80)。取决于在可编程逻辑16上实施的计算功能,可编程逻辑16可以针对各种操作参数进行轮询。例如,可编程逻辑16可以对在集成电路(即12和14c)中使用的接口协议进行轮询。具体来说,可编程逻辑16可以对soc14c中的初级电路系统18和外围设备进行轮询。最后,可编程逻辑16可以执行计算功能(过程块82)。

在一种更具体的情况下,当外围设备(即第一集成电路12)是存储器时,可以利用过程72来调节soc14c可以介接的存储器模式。例如,可编程逻辑16可以调节soc14c以便按多个存储器模式(例如,sram、dram或t-ram)工作从而扩展soc14c的功能性。

应该进一步理解,虽然上述实施例中的每一个使可编程逻辑16包含在第二集成电路14中,但是第一集成电路12也可以包含可编程逻辑16以实施数据/地址操纵功能、配置/测试功能、计算功能或其任何组合。此外,如上文所述,可编程逻辑16可以通过配置存储器进行编程,这可以使得即使在已制造出可编程逻辑16之后也能够调节所述可编程逻辑。例如,这可以使用户能够动态地调节集成电路(例如,第二集成电路14)的功能以考虑特定应用、较新技术、多功能组件等。另外,这甚至可以通过使集成电路(例如,第二集成电路14)在仍然耦合到系统10时能够得到编程而使系统停机时间最小化。可替代地,如上文所述,可编程逻辑16可以通过金属可编程逻辑进行编程,这可以使集成电路制造商能够调节初级电路系统18的功能而无需重新设计整个集成电路。

尽管在本发明中阐述的实施例可以有各种修改和替代形式,但是已在附图中借助实例示出了具体实施例并且已在本文中对其进行了详细描述。然而,应理解本发明并不意图局限于所公开的特定形式。本发明将涵盖落入由随附权利要求书界定的本发明的精神和范围内的所有修改、等效物和替代方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1