动态实时延迟表征和配置的利记博彩app

文档序号:7516435阅读:228来源:国知局
专利名称:动态实时延迟表征和配置的利记博彩app
技术领域
本发明涉及集成电路存储器并且尤其涉及此类存储器的表征和配置。
背景技术
可编程逻辑设备("PLD")(有时也称为CPLD、PAL、PLA、FPLA, EPLD, EEPLD, LCA、 FPGA或其他名字)是提供具有定制的集成电路的灵活性的固定集成电路的优点的公知集成电路。这样的设备在本领域中是公知的并且通常提供〃现成的(off the shelf)"设备,其具有能够被编程来满足用户的特定需要的至少一部分。专用集成电路("ASIC")传统上是固定集成电路,然而,可以提供具有一个或多个可编程部分的ASIC ;因此,集成电路设备具有ASIC和PLD这二者的质量是可能的。术语“结构化的ASIC"在此用来指代这样的设备。结构化的ASIC是具有一些预定电路特性但是在某种程度上也是可定制的设备。 例如,结构化的ASIC可以包括许多相对小的逻辑元件(在此称为混合逻辑元件或HLE)的二维阵列。这些HLE的基本电路通常是相同或基本相同的,并且由用于制造结构化的ASIC的掩模(mask)的子集来提供。因此,该子集中的掩模能够总是相同的或基本上相同的。由HLE 执行的(一个或多个)总体功能能够通过定制用于制造特定结构化的ASIC产品的一个或多个附加的掩模而在一定程度上被定制。类似地,到、来自和/或HLE之间的连接能够通过定制用于制造产品的附加的掩模而被定制。因为结构化的ASIC具有相同的基本电路,所以设计它以执行特定任务的任务被极大地简化、加速、可靠性增加并且成本降低。整个ASIC不必被“从头开始“设计。而是仅必须设计可定制的掩模。

发明内容
根据本发明的例子的结构化的ASIC包括存储器的每个块中的延迟链。该延迟链是掩模可编程的以使得它能够针对不同要求被设置为不同的延迟。另外,掩模可编程的延迟链设置可以由JTAG控制器覆盖以使得不同的延迟可以被测试,而不管掩模编程的延迟。 而且,提供了连接到存储器中的延迟链的熔丝盒。熔丝盒能够在掩模编程之后被写入,并且能够被用于存储覆盖(override)任何被掩模编程的延迟的最优延迟。因此,延迟可以通过 JTAG控制器为测试目的而设置,并且还可以通过熔丝针对最终使用而设置,JTAG控制器和熔丝这二者覆盖由掩模编程设置的任何延迟。这在掩模编程之后提供了额外的灵活性。根据一个示例的掩模可编程序集成电路包括存储器;存储器中的用于提供延迟的延迟链,该延迟确定用于存储器的单元的读取和/或写入时间。掩模可编程开关,其可配置来指定由延迟链提供的延迟;以及控制器,其从集成电路外面接收一个或多个信号并且作为响应,生成用于指定由延迟链提供的延迟的指令,所述指令覆盖由掩模可编程开关指定的任何延迟。根据一个示例的掩模可编程集成电路中的集成电路存储器包括多个存储器单元;JTAG TAP控制器;熔丝盒;掩模可编程开关;第一复用器,其具有来自JTAG控制器的第一输入,来自熔丝盒的第二输入和从第一输入或第二输入中选择的输出;第二复用器,其具有来自第一复用器的第一输入,来自掩模可编程开关的第二输入和从第一输入或第二输入中选择的输出;以及包括多个延迟元件的延迟链和第三复用器,在延迟链中使用的延迟元件的数目由第三复用器根据第二复用器的输出来确定,在延迟链中使用的延迟元件的数目确定用于对所述多个存储器单元进行读取和/或写入的周期。根据一个示例的配置掩模可编程集成电路的集成电路存储器中的存储器延迟的方法包括提供在集成电路存储器中的第一延迟,该第一延迟由掩模可编程开关指定;以及随后用第二延迟来代替集成电路中的第一延迟,该第二延迟由通过JTAG输入提供给集成电路存储器的输入来指定。


可以通过参考结合附图所进行的下面描述来最佳地理解本发明,所述附示了本发明的具体实施例。图1示出结构化的ASIC中的多块存储器。图2示出包括工程延迟链和掩模可编程开关的存储器的块的更详细视图。图3示出包括可配置地连接到存储器的每个块的JTAG控制器和熔丝盒的存储器。图4示出来自JTAG控制器和熔丝盒的连接如何连接到存储器的块中的工程延迟链。图5示出用于使用通过JTAG控制器提供的不同延迟来确定最优延迟的过程。图6示出用于使用熔丝覆盖掩模编程的延迟的过程。
具体实施例方式现在将参考在附图中图示的本发明的各种实施例来对其进行更详细地描述。在下面描述中,阐述了许多细节以便提供对本发明的全面理解。然而对于本领域技术人员将很明显的是,可以在不使用在此阐述的一些实施细节的情况下实践本发明。还应该理解的是没有详细描述公知操作以便不会不必要地使本发明晦涩难懂。图1示出诸如结构化的ASIC之类的掩模可编程集成电路中的存储器100。在当前示例中,存储器100是在结构化的ASIC中使用的静态随机存取存储器(SRAM),例如由Al tera @制造的HardCopy @结构化的 ASIC。在结构化的ASIC的操作期间,这样的存储器可以被用作随机存取存储器(RAM)。例如,这样的RAM可以包含用于操作该结构化的ASIC的固件。图1示出由四列(存储器列0-存储器列3)形成的存储器100,其中每列包含多个块。例如,存储器列3包括块10加-102(3。其他存储器可以包含不同数目列的块。每个块还可以具有内部柱状结构,其中存储器单元被布置在行和列的网格阵列中。然而,图1的列指的是块到列的较高级布置,其中一列的块共享一些外围电路。将会理解的是,存储器具有重复结构,其中每列具有存储器单元和外围电路的相同布置。在每列内,存在多个块(在图 1的示例中,每列八个块)。块通常彼此相同,其中每个块具有相同数目的存储器单元等。图2示出图1的单独块102c的更详细视图,其示出存储器块102c的一些组件。 特别地,图2示出工程延迟链204,其提供在存储器块102c的操作中使用的预定时间延迟。类似延迟链被提供在存储器阵列100的每个块中。工程延迟链204包括多个延迟级 206a-206c,所述多个延迟级被串联连接以使得一个延迟级的输出被作为输入提供给后续延迟级。例如,延迟级206a的输出被作为输入提供给延迟级206b,并且延迟级206b的输出被作为输入提供给延迟级206c。尽管在工程延迟链204中仅示出三个延迟级206a-206c,但在其他示例中,可以使用不同数目的延迟级(例如四个或更多)。除了将每个延迟级的输出提供该串联中下一个延迟级之外,每个输出还被提供给复用器208。每个延迟级206a-206c 在电信号中提供一定延迟。因此,不同的延迟级206a-206c的输出为复用器208提供具有一定范围的不同延迟的信号。复用器208然后选择这些延迟之一作为适当延迟以用于特定存储器操作。在存储器中执行的操作包括读取和写入。为这样的操作选择正确延迟对于确保存储器的可接受的操作可能是重要的。特别地,当读取存储器单元时,读出放大器(sense amps)可以比较不同的电压(例如位线电压)以确定单元的逻辑状态。这样的电压在位线放电时改变。因此重要的是,在足够的时间延迟之后比较电压以确保电压反映单元的逻辑状态。工程延迟链可以被用于建立这样的时间延迟。当写入(编程)存储器单元时,一个或多个电压被施加以引起存储器单元的状态改变。这样的编程电压的持续时间对于确保单元被准确地编程而言通常是重要。低于编程可导致单元无法成功地改变状态。所使用的编程周期可以由工程延迟链来建立。因此,工程延迟链提供了用于记录存储器块中的时间延迟的机制。然后延迟能够在存储器块中局部地使用,而不需要每次使用延迟时与存储器块之外的电路通信。在图2的存储器块102c的示例中,掩模可编程开关210被用于为工程延迟链204 的复用器208提供选择输入。因此,掩模可编程开关210确定在延迟链204中使用多少延迟级206a-206c,并且由此确定所使用的延迟期。任何适当的掩模可编程开关可以用于此目的。通常,掩模可编程集成电路包括在所有集成电路中都相同的硬连线组件以及掩模可编程组件,所述掩模可编程组件由制造商根据顾客的要求进行编程并且不能被顾客重配置 (即它们不是现场可编程的)。图2的掩模可编程开关210根据顾客的要求基于顾客的特定应用来设置。在顾客需要高性能的情况下,延迟可以相对短以增加读取和写入速度。在顾客具有不那么严格的要求的情况下,延迟可以相对长。一般地,诸如图2的掩模可编程开关210之类的掩模可编程开关被设置为以下值, 该值或者基于仿真或者基于使用一定范围的不同设置对存储器的表征而被确定为最优值。 例如,可以利用被设置为不同延迟的掩模可编程开关来制备一组测试芯片。所述芯片然后被测试以查看哪个延迟提供最好的结果(根据顾客的要求)。然而,这样的测试可能不总是提供准确结果。特别地,弱(编程或读取慢)存储器单元可以被藏在具有较大的延迟设置的块中。一旦掩模可编程开关被设置,就通常不可能改变设置。因此,如果顾客发现掩模编程的延迟被设置为并非最优值的值;则以已设置的开关制造的任何集成电路都不能被改变。 可能需要新的生产过程,使用不同的掩模编程的延迟,具有与这样的额外生产过程相关联的所有成本。根据本发明的实施例,掩模可编程集成电路具有工程延迟,所述工程延迟是通过掩模编程可编程的并且在掩模编程之后还是可重配置的,这样掩模编程所设置的任何延迟可以被覆盖。图3示出根据实施例的掩模可编程集成电路中的存储器320的视图。特别地,存储器320包括如前所述的掩模可编程的每个块中的延迟链。另外,图3示出JTAG TAP控制器322和熔丝盒324,其均为复用器326 (JTAG复用器)提供输入。复用器3 具有选择输入327以便确定选择哪个输入。选择输入327可以由图3中的虚线所示的熔丝盒3M来提供。因此,熔丝盒324中的熔丝可以被用于选择熔丝盒3M作为复用器326的输出。在缺省条件下(其中熔丝盒3M未修改),JTAG TAP控制器322被选择。在其他示例中,选择输入327可以以某一其他方式来提供。JTAG复用器326的输出3 被提供给存储器320的每个块(例如,列2的块330),以使得存储器的每个块接收相同的输入(来自JTAG TAP控制器322或者熔丝盒324)。该输入可以被用于覆盖存储器320的存储器块中的掩模编程的延迟。JTAG TAP控制器322可以是任何适当的控制器。JTAG (联合测试行动组)TAP (测试存取端口)控制器是用于测试集成电路的公知组件。这样的TAP控制器连接到存取端口, 其能够连接到外部测试设备。响应于通过这样的端口接收的信号,TAP控制器执行边界扫描测试或者其他例程。集成电路的某些部分的编程还可以使用这样的端口通过TAP控制器来执行。特别地,TAP控制器可以连接到外部设备以根据特定要求来配置集成电路。熔丝盒324 (多熔丝盒)是掩模可编程集成电路的一部分,其包含诸如熔丝(或反熔丝)之类的一次性可编程位。这样的位可以在完成集成电路的图案化之后(即在所有电路已经形成(包括掩模可编程开关的设置)之后)被设置。熔丝盒3M可以包含可以在集成电路被制造之后的某一时间被燃烧的多晶硅熔丝或反熔丝。其他物理结构也可以被用于在熔丝盒中存储位。通常,这样的熔丝在制造商的设备处被配置并且不认为是现场可编程的。图4示出图3的存储器320的块330的更详细视图。特别地,图4示出工程延迟链332,其执行与先前描述的功能相同的功能并且包含类似元件(延迟级33如-33如和复用器336)。然而,与先前示例不同,在此到延迟链复用器336的选择输入338由另一复用器 340提供。复用器340具有提供一个输入的掩模可编程开关342以使得延迟链332如前所述的那样使用掩模可编程开关来配置。另外,复用器340具有来自JTAG复用器326的输入 328。因此,复用器340允许通过JTAG复用器326由JTAG TAP控制器332或者熔丝盒3M 来配置工程延迟链332的延迟。复用器;340由选择输入341来控制。复用器340可以被配置以使得它的输出在缺省模式下来自掩模可编程开关342,其中它的输出仅当来自JTAG复用器326的输入3 被复用器340选择时才来自JTAG复用器326。因此,在一个示例中,复用器输入341可以如从输入3 到选择输入341的虚线所示的那样由输入3 上的信号来控制。在其他示例中,选择输入341可以由不同的结构来控制。以此方式向延迟链复用器336提供不同选择信号的选项意味着延迟链332的延迟可以在集成电路被制造之后被配置。这允许两个重要的选项。第一,它允许容易地测试一定范围的不同延迟,而没有单独的掩模编程步骤。因此,特定配置的表征可以被迅速且便宜地完成。第二,它允许在掩模编程的延迟被发现不能令人满意的情况下用不同的值来替换掩模编程的延迟。图5示出用于表征掩模可编程集成电路中的不同存储器延迟的过程550的流程图。延迟链设置(延迟时间)被从JTAG控制器提供552到存储器的每个块。延迟链设置可以基于一些仿真或先前的表征。通常,以此方式来提供一定范围的延迟并且针对每个延迟执行测试。测试存储器性能5M可以包含向存储器写入数据和从存储器读取数据以确定在数据中是否发生了任何错误。如果延迟太短,则可能发生增加数目的错误。如果延迟太长, 则写入速度或读取速度可能不满足顾客的要求。根据所测试的延迟的范围,确定最优延迟链设置556。该最优延迟值可以基于若干因素,包括速度、产量(yield)和对于特定顾客的需要所特有的因素。由此确定的最优延迟链设置然后通过掩模编程针对任何后续的集成电路来提供阳8。通常,当获得最优延迟时,该延迟然后被用于后续制造的集成电路。这样的延迟可以由掩模编程来设置。因此,在使用一些缺省的掩模编程的延迟进行(一个或多个)初始测试批(test-lot)之后;对掩模进行改变以使得后续的批具有不同的掩模编程的延迟,其对应于从测试批找到的最优延迟。然而,在某些情况下,可能希望在集成电路中的延迟通过掩模编程被设置之后改变集成电路中的延迟。例如,如果测试提供了之后由于在测试期间没有充分考虑的特定条件或应用而被发现是不适当的延迟。本发明的各方面允许在掩模编程之后延迟中的这样的改变。图6示出覆盖集成电路中的掩模编程的延迟的过程660。延迟链最初通过掩模编程被设置662为预定延迟。然后执行664测试以确定具有掩模编程的延迟的芯片是否令人满意地执行。如果它们令人满意地执行,则不需要另外的修改,并且芯片可以被使用。然而, 如果掩模编程的芯片的测试指示所使用的延迟可能使芯片失败(或以其他方式指示延迟不令人满意),则芯片仍可以被重置到不同的延迟。在这种情况下,JTAG控制器被用于提供不同的延迟666到芯片以覆盖掩模编程的延迟链设置以及因此测试不同的延迟期。如前所述根据该测试确定668最优延迟。然而,熔丝盒中的熔丝被配置成记录最优延迟并且提供该延迟到存储器块并且因此覆盖670掩模编程的延迟链设置。这样,存储器块所使用的延迟可以在掩模编程已经将延迟设置成不令人满意的延迟之后被改变。尽管已经参考本发明的特定实施例特别地示出和描述了本发明,但是本领域技术人员将会理解的是可以在不偏离本发明的精神或范围的情况下对所公开的实施例的形式和细节进行改变。因此,意在将本发明解释成包括落入本发明真实精神和范围内的所有变型和等同物。
权利要求
1.一种掩模可编程集成电路,包括存储器;存储器中的用于提供延迟的延迟链,该延迟确定用于存储器的单元的读取和/或写入时间;掩模可编程开关,其可配置来指定由延迟链提供的延迟;和控制器,其从集成电路外面接收一个或多个信号并且作为响应,生成用于指定由延迟链提供的延迟的指令,所述指令覆盖由掩模可编程开关指定的任何延迟。
2.根据权利要求1所述的掩模可编程集成电路,其中所述控制器是JTAGTAP控制器。
3.根据权利要求1所述的掩模可编程集成电路,其中所述控制器从集成电路外面接收一系列信号,并且作为响应,指定被用于表征集成电路的一系列延迟。
4.根据权利要求1所述的掩模可编程集成电路,其中所述存储器是静态随机存取存储器并且掩模可编程集成电路是结构化的专用集成电路。
5.根据权利要求1所述的掩模可编程集成电路,还包括一组一次性可编程位,其可配置以指定通过延迟链提供的延迟并且覆盖由掩模可编程开关指定的任何延迟。
6.根据权利要求5所述的掩模可编程集成电路,其中该组一次性可编程位是多晶硅熔丝或反熔丝。
7.一种在掩模可编程集成电路中的集成电路存储器,包括多个存储器单元;控制器;熔丝盒;掩模可编程开关;第一复用器,其具有来自控制器的第一输入,来自熔丝盒的第二输入和从第一复用器的第一输入或第二输入中选择的输出;第二复用器,其具有来自第一复用器的第一输入,来自掩模可编程开关的第二输入和从第二复用器的第一输入或第二输入中选择的输出;和包括多个延迟元件的延迟链和第三复用器,在延迟链中使用的延迟元件的数目由第三复用器根据第二复用器的输出来确定,在延迟链中使用的延迟元件的数目确定用于对所述多个存储器单元进行读取和/或写入的周期。
8.根据权利要求7所述的集成电路存储器,其中所述多个存储器单元被配置为块,其中每个块具有延迟链并且还包括这样的线路,该线路从第一复用器延伸到每个块,以使得用于每个块的延迟从控制器或从熔丝盒被编程。
9.根据权利要求7所述的集成电路存储器,其中所述熔丝盒包括一次性可编程的多个熔丝或反熔丝,其具有确定在延迟链中使用的延迟元件的数目的值。
10.根据权利要求7所述的集成电路存储器,其中所述多个存储器单元是静态随机存取存储器(SRAM)单元。
11.根据权利要求7所述的集成电路存储器,其中所述控制器是JTAGTAP控制器。
12.一种配置掩模可编程集成电路的集成电路存储器中的存储器延迟的方法,包括提供在集成电路存储器中的第一延迟,该第一延迟由掩模可编程开关指定;和随后用第二延迟来代替集成电路中的第一延迟,该第二延迟由提供给集成电路存储器的输入来指定。
13.根据权利要求12所述的方法,其中第二延迟是提供给集成电路存储器的被用于表征集成电路存储器的多个延迟之一。
14.根据权利要求13所述的方法,其中集成电路存储器的表征给出了第三延迟,该第三延迟提供了优化的集成电路存储性能。
15.根据权利要求14所述的方法,进一步包括对到一次性可编程存储器的第三延迟进行编程以代替集成电路存储器的后续操作中的第一延迟。
16.根据权利要求12所述的方法,其中所述集成电路存储器是静态随机存取存储器。
17.根据权利要求12所述的方法,其中所述第一延迟被存储在集成电路存储器的每个块中。
18.根据权利要求12所述的方法,其中提供集成电路中的第一延迟包括向复用器提供选择输入以确定在延迟链中使用的延迟级的数目。
全文摘要
在诸如结构化的ASIC之类的掩模可编程集成电路中,延迟链提供由掩模可编程开关设置的延迟。该延迟链接收输入以允许使用JTAG控制器来覆盖延迟掩模编程的延迟。这允许测试不同的延迟。该输入还可以由熔丝盒提供,以使得熔丝盒能够覆盖掩模可编程开关,从而允许在掩模编程之后改变延迟。
文档编号H03L7/00GK102209989SQ200980144879
公开日2011年10月5日 申请日期2009年9月9日 优先权日2008年9月11日
发明者洪文仁, 苏广胜, 郭惠绮, 陈俊彬, 黄忠杰 申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1