具有不同类型配置存储器的可编程集成电路的制作方法

文档序号:12143221阅读:281来源:国知局
具有不同类型配置存储器的可编程集成电路的制作方法与工艺

本公开大体涉及可编程集成电路的配置存储器。



背景技术:

传统的可编程集成电路(IC),例如复杂PLD(CPLD)和现场可编程门阵列(FPGA),通常使用数百万个静态随机存取存储器(SRAM)配置存储单元以对实施的电路的功能进行编程。配置存储单元可以是,例如,用于对可编程IC的互连、逻辑或存储器资源进行编程的配置存储单元。

随着可编程IC中越来越多数量的SRAM配置存储单元的出现,以及芯片尺寸变得越来越小以及电源电压变得越来越低,使得配置存储单元储存状态被来自外太空的宇宙微粒或来自IC封装材料的阿尔法粒子碰撞而翻转的可能性增大。存储单元状态的意想不到的改变被称作单粒子翻转(single event upset,SEU)。随着SEU发生的可能性增大,用于PLD的特定程序配置的平均故障时间会降低,而单位时间故障发生(failure in time,FIT)率会增加。



技术实现要素:

根据在可编程集成电路上生成电路设计的实现的一种方法,生成第一数据以用于实施输入的电路设计。该方法确定电路设计的关键部分和非关键部分。生成第二数据以用于对可编程IC的配置存储单元进行编程,以实施电路设计。第二数据的第一子集被分配以对可编程IC的6T配置存储单元进行编程,以在可编程IC的可编程逻辑资源的第一子集和可编程互连资源的第一子集上实施电路设计的关键部分的3个或更多个实例。第二数据的第二子集被分配以对可编程IC的12T配置存储单元进行编程,从而在可编程IC的可编程逻辑资源的第二子集和可编程互连资源的第二子集上实施表决电路。该表决电路被耦接以接收来自电路设计的第一部分的3个实例的输出。第二数据被储存在电子可读存储介质中。

根据在可编程IC上生成电路设计的实现的另一种方法,电路设计被输入并且第一数据被生成以实施电路设计。电路设计的关键和非关键部分被确定。该第二方法生成用于对可编程IC的配置存储单元进行编程以实施电路设计的第二数据。第二数据的第一子集被分配以对第一类型配置存储单元进行编程,从而在可编程IC的可编程逻辑资源的第一子集和可编程互连资源的第一子集上实施电路设计的关键部分。第二数据的第二子集被分配以编程第二类型的配置存储单元,从而在可编程IC的可编程逻辑资源的第二子集和可编程互连资源的第二子集上实施电路设计的非关键部分。第二数据被存储在电子可读存储介质中。

可编程IC包括具有多个6T存储单元和多个12T存储单元的配置存储器。可编程互连资源被耦接至配置存储器。可以通过6T存储单元的子集对可编程互连资源的第一子集进行编程,并且可以通过12T存储单元的子集对可编程互连资源的第二子集进行编程。可编程逻辑资源被耦接至配置存储器。可以通过6T存储单元的子集对可编程逻辑资源的第一子集进行编程,并且可以通过12T存储单元的子集对可编程逻辑资源的第二子集进行编程。可编程输入/输出(I/O)资源被耦接至配置存储器。

通过具体实施方式和权利要求书可以了解其它特征。

附图说明

通过阅读以下具体实施方式和参考附图可以了解公开的方法和系统的各个方面和特点,在附图中:

图1示出了可编程集成电路(IC)的框图,可编程IC具有的可编程资源的一部分使用6T SRAM配置存储器配置,可编程资源的另一部分使用12T SRAM配置存储器配置;

图2示出了过程的流程图,该过程用于在可编程IC上生成电路设计的实现,该可编程IC具有一些可编程存储单元,它们相比于该可编程IC的其它可编程存储单元更加不受SEU翻转的影响;

图3示出了电路设计的一部分的框图,其在用6T配置存储单元配置的可编程资源中被实施成三重冗余(triple modular redundant,TMR),还示出了在用12T可编程存储单元配置的可编程资源中实施的表决电路;

图4示出了计算布置的实施例,该计算布置被配置为实施本公开描述的过程和数据结构;以及

图5示出了示例性可编程IC的框图。

具体实施方式

在以下描述中,许多特定的细节被提出以描述这里举出的特定例子。然而,本领域技术人员应当理解,一个或多个其它例子和/或这些例子的变化可以在不具有下述全部细节的情况下实现。在其它例子中,众所周知的细节没有详细描述,以使得这里的例子更易理解。为说明方便,相同的编号可以被用在不同的图表中以指代相同的元素或相同元素的额外实例。

公开的方法和电路涉及可编程IC,在可编程IC中,一些(但非全部)配置存储单元是12T(12晶体管)SRAM单元,而其它配置存储单元是6T(6晶体管)SRAM单元。通过实施只有一些配置存储器是用12T SRAM实施的可编程IC,设计关键部分的互连和逻辑资源中并非全部都需要被做成三重冗余(TMR)以降低SEU FIT比率。可以在用12T单元配置的资源上布局和布线电路设计的关键部分,而可以在用6T单元配置的资源上布局和布线电路设计的非关键部分。或者,可以使用6T配置存储单元将电路设计的关键部分做成TMR,而可以使用12T配置存储单元实施表决电路,以使得表决电路能够从SEU快速恢复(resilient)。因为并非使用12T SRAM实施全部的配置存储单元,所以可编程IC的空间占用(footprint)没有明显大于所有配置存储器都用6T SRAM实施的可编程IC的空间占用。

根据在可编程IC上生成电路设计实现的一个公开的方法,生成第一数据,以用于实施电路设计。例如,电路设计可以被汇编或者被原始地布图并布局和布线。设计者可以选择将电路设计中被选择的部分变得可靠性强且不容易受SEU影响。电路设计中被指定成可靠性强且不容易受SEU影响的部分也可以被称为“关键部分”。设计者可以指定关键部分,或者设计工具可以自动确定输入的电路设计的关键部分。例如,设计的关键部分可以是使用可编程资源的配置存储单元中的大部分以配置该可编程资源所需功能的部分。例如,如果电路设计中使用的大型查询表(LUT)的多数输入引脚都被该设计使用,那么该大型LUT可以被认为是关键的,这是因为可配置存储单元会被用于实施所需要的功能。相反,如果只有少数输入引脚被设计使用,那么该大型LUT不会被认为是关键的,因为只有一小部分配置存储单元会被用于实施所需要的功能,而大量配置存储单元不会被使用。没有使用的配置存储单元的翻转不会影响电路的运行。根据本方法,生成第二数据以用于对可编程IC的配置存储单元进行编程,从而实施电路设计。第二数据的第一子集被分配以对第一类型配置存储单元进行编程,从而在可编程IC的可编程逻辑资源的第一子集和可编程互连资源的第一子集上实施电路设计的关键部分。第二数据的第二部分被分配以对第二类型配置存储单元进行编程,从而在可编程IC的可编程逻辑的第二子集和可编程互连的第二子集上实施电路设计的非关键部分。在示例性的实施例中,第一类型配置存储单元相比第二类型配置存储单元,对SEU具有更好的抗性。也就是说,第一类型配置存储单元相比第二类型配置存储单元,更不容易受SEU影响并且具有较低的FIT比率。第二数据被储存在可编程IC中,并且随后可以被用来配置可编程IC。

根据在可编程IC上生成电路设计的实现的第二方法,可编程处理器生成用于实施电路设计的第一数据,并且如上所述确定电路设计的关键部分。第二数据被生成以用于对可编程IC的配置存储单元进行编程,从而实施电路设计。第二方法的第二数据的第一子集被分配以对可编程IC的6T配置存储单元进行编程,从而在可编程IC的可编程逻辑资源的第一子集和可编程互连资源的第一子集上,实施电路设计的关键部分的3个或更多的实例。第二数据的第二子集被分配以对可编程IC的12T配置存储单元进行编程,从而在可编程IC的可编程逻辑资源的第二子集和可编程互连资源的第二子集上实施表决电路。该表决电路被耦接以接收来自电路设计的第一部分的3个实例的输出信号。第二数据被储存在可编程IC中,并且在之后可以用于配置可编程IC。

还公开了具有同时包括12T和6T配置存储单元的配置存储器的可编程IC。在该可编程IC中,可编程互连资源和可编程逻辑资源被耦接至配置存储器。通过6T和12T配置存储单元对可编程互连资源的不同子集进行编程。相似地,也可以通过6T和12T配置存储单元对可编程逻辑资源的不同子集进行编程。可编程IC还包括被耦接至配置存储器的可编程输入/输出(I/O)资源。

图1示出了可编程集成电路(IC)100的框图,可编程IC 100具有的可编程资源的一个部分可以使用6T SRAM配置存储器配置,可编程资源的另一个部分可以使用12T SRAM配置存储器配置。应当意识到,图1没有示出可编程IC的电路的物理布局。此外,图1示出:一些可编程资源可以使用12T配置存储单元配置,而其它可编程资源可以使用6T配置存储单元配置。此外,除了展示的之外,可编程IC还可以具有各种可编程资源。

可编程IC 100的可编程资源包括可编程逻辑资源102和104、可编程互连资源106和108、可编程输入/输出(I/O)资源110和112、以及存储器资源114和116。可编程IC还包括配置存储单元118和配置存储单元120。配置存储单元118相比于配置存储单元120更不容易受SEU翻转的影响。在示例性实施例中,配置存储单元118是12T存储单元,配置存储单元120是6T存储单元。

可编程逻辑、可编程互连和可编程I/O资源的不同子集可以使用不同种类的配置存储器进行编程。例如,可以使用由12T SRAM实施的配置存储器118对可编程逻辑资源102进行编程,并且可以使用由6T SRAM实施的配置存储器120对可编程逻辑资源104进行编程。相似地,可以用配置存储器118对可编程互连资源106和可编程I/O资源110进行编程,并且可以用配置存储器120对可编程互连资源108和可编程I/O资源112进行编程。

可编程IC 100还包括存储器资源114和116,其可以被用于:通过在可编程逻辑资源102和104、可编程互连资源106和108以及可编程I/O资源110和112上实施的应用电路来储存应用数据。可以使用12T SRAM实施存储器资源114,并且可以使用6T SRAM实施存储器资源116。在可编程IC 100上实施的、被认为对应用电路起关键作用的数据可以被储存在存储器资源114中,以便降低对SEU的敏感度。不那么关键的数据可以被储存在存储器资源116中。

可编程IC 100具有一些相比于可编程IC中的其它配置存储器更不容易受SEU影响的配置存储器,该可编程IC 100提供了试图为在可编程IC上实施的电路降低FIT比率的灵活度。例如,可以在通过配置存储器118(用12T存储单元实施)配置的可编程资源上实施电路设计的关键部分,可以在通过配置存储器120(用6T存储单元实施)配置的可编程资源上实施电路设计的不那么关键的部分。或者,可以在通过配置存储器120(用6T存储单元实施)配置的可编程资源上将电路设计的关键部分实施成TMR电路,而可以在通过配置存储器118(用12T存储单元实施)配置的可编程资源上实施表决电路。为了避免可编程IC变得过于庞大,12T配置存储单元的数量比6T配置存储单元的数量少。例如,配置存储单元中的5-10%可以是12T配置存储单元,而剩余的配置存储单元可以是6T单元。

图2示出了过程的流程图,其用于生成在可编程IC上的电路设计的具体实现,该可编程IC具有的一些配置存储单元相比于可编程IC的其它配置存储单元更不容易受SEU影响。在框202,输入电路设计以用于处理,并且在框204,生成初始实施数据。初始实施数据可以是合成电路设计或进一步布图(map)和/或布局(place)并布线(route)电路设计的结果。根据设计者的输入,可以使电路设计的一些部分高度可靠并且更不容易受SEU影响。设计者可以指定电路设计的特定部分使其高度可靠(“关键”),或者关键部分可以被自动确定。在框206,该过程确定电路设计的关键和非关键部分。

在自动化的过程中,如果电路设计的一部分的FIT比率在实施的电路设计的总体FIT比率中是显著因素,那么该部分可以被认为是关键的。例如,如果电路设计中使用的大型查询表(LUT)中的多数输入引脚都被该电路设计使用,那么该大型LUT可以被认为是关键的,因为配置存储单元中的一大部分都会被用于实施所需要的功能。相反,如果只有少数输入引脚被该设计使用,那么该大型LUT(具有大量输入引脚的LUT)不会被认为是关键的,因为只有一小部分配置存储单元会被用于实施所需要的功能,并且很多配置存储单元不会被用到。不被使用的配置存储单元的翻转不会影响电路的操作。类似地,因为只有少数配置存储单元会被用于实施在小LUT上的功能,所以小LUT可以被视为非关键的。在示例性的实施例中,如果电路设计的一部分在具有超过阈值数量的输入引脚的LUT上实施,并且被使用输入的引脚的数量超过阈值,那么电路设计的该部分可以被确定为是关键的。例如,响应于电路设计的一部分在具有至少6个输入引脚的LUT上实施,并且至少使用了5个引脚,那么电路设计的该部分可以被确定为是关键的。在下述的专利申请号为14/266,547的专利申请中描述了电路设计的关键和非关键部分的进一步的方面:发明人Jain等,申请名称:“用于冗余的逻辑路径的选择”,申请日:2014年4月30日,代理人案号:X-4399US,其全部内容以参考的方式并入本文。

在判定框208,该过程选择实施电路设计的关键部分的方式(approach)。响应于设计者的输入(该输入指定期望的途径),可以选择方式。在第一方式中,使用由12T配置存储单元编程的可编程资源实施关键部分,并且在第二方式中,由用于实施表决电路的12T配置存储单元来将关键部分实施成TMR电路。

在第一方式中,在框210,通过分配由12T配置存储单元编程的可编程资源来布图、布局和布线电路设计,从而实施关键部分。如果已经预先布图、布局并布线电路设计,那么该过程可以相应地重新布图、布局和布线电路设计。

在框212,生成配置数据以用于对可编程IC的配置存储单元进行编程,从而实施电路设计。配置数据的第一子集对12T配置存储单元进行编程,从而在可编程IC的可编程逻辑资源的第一子集(如框210处确定的)和可编程互连资源的第二子集(如框210处确定的)上,实施电路设计的关键部分。例如,配置数据可以用于对由12T存储单元实施的配置存储器118(图1)的一部分进行编程,从而在可编程逻辑资源102和可编程互连资源106上实施关键部分。可以在可编程IC的任何可用的可编程资源上实施电路设计的非关键部分。例如,可以在可编程逻辑资源的第二子集(如框210处确定的)和可编程互连资源的第二子集(如框210处确定的)上实施电路设计的非关键部分,其中可以仅用6T配置存储单元或用6T和12T配置存储单元的组合来对资源的第二子集进行编程。用于实施非关键部分的配置数据可以用于对用6T存储单元实施的配置存储器120(图1)的一部分进行编程,从而在可编程逻辑资源104和可编程互连资源108上实施非关键部分。

电路设计的关键部分还可以包括:对电路设计所访问的数据进行存储的存储器资源。生成的配置数据还可以包括:对可编程互连资源106和/或可编程互连资源108进行编程的配置数据,从而将可编程逻辑资源102和/或可编程逻辑资源104连接至由12T存储单元实施的存储器资源114。

电路设计的非关键部分还可以包括:对电路设计所访问的非关键数据进行存储的存储器资源。生成的配置数据还可以包括:对可编程互连资源106和/或可编程互连资源108进行编程的配置数据,从而将可编程逻辑资源102和/或可编程逻辑资源104连接到由6T存储单元实施的存储器资源116。

在框214,在框212处生成的配置数据被输出和/或储存在电子可读存储介质中。配置数据可以被输出并存储在数据存储设备中,例如闪存或磁存储设备。

如果电路设计的关键部分要被实施成TMR电路,那么判定框208将过程引导至框222。在示例性的方式中,通过用6T配置存储单元配置的可编程资源可以将电路设计的关键部分做成TMR,并且可以在由12T配置存储单元配置的可编程资源中实施表决电路。

在框222,通过分配可编程资源可以布图、布局和布线电路设计,从而实施电路设计的关键部分的三个实例。可以仅用6T配置存储单元或者6T和12T配置存储单元的组合来对这些资源进行编程。如果已经预先布图、布局和布线电路设计,那么该过程可以相应地重新布图、布局和布线电路设计。

在框222,还可以分配可编程资源,以用于实施表决电路并将表决电路连接到TMR电路。仅用12T配置存储单元来对实施表决电路并将表决电路连接到TMR电路的可编程资源进行编程,从而帮助表决电路不受SEU干扰。

在框224,生成配置数据,以用于对配置存储单元进行编程,其中该配置存储单元对实施TMR电路和表决电路的可编程资源进行编程。配置数据被指定用于对配置存储单元进行编程,其中该配置存储单元配置在框222处确定的可编程IC的可编程逻辑资源和可编程互连资源的子集的功能。例如,对于TMR电路,配置数据可以用于对由6T存储单元实施的存储器120(图1)的一部分进行编程,从而在可编程逻辑资源104和可编程互连资源108的一部分上实施关键部分。例如,对于表决电路,配置数据可以用于对由12T存储单元实施的配置存储器118(图1)的一部分进行编程,从而在可编程逻辑资源102和可编程互连资源106的一部分上实施表决电路。配置数据还配置可编程资源,从而连接表决电路以从实施电路设计关键部分的TMR电路(例如,图3的实例302、304、306)接收输出信号。

在框226,在框224处生成的配置数据被输出和/或储存在电子可读存储介质中。配置数据可以被输出和/或储存在数据存储设备中,例如闪存或磁存储设备。

图3示出了电路设计的一部分的框图,该部分在用6T配置存储单元配置的可编程资源中被实施成三重冗余,还示出了在用12T可编程存储单元配置的可编程资源中实施的表决电路。也可以在由具有6T存储单元的配置存储器配置的可编程资源上将电路设计的关键部分实施成TMR电路,而不是在由具有12T存储单元的配置存储器配置的可编程资源上实施该关键部分。可以在由具有12T存储单元的配置存储器配置的可编程资源上实施表决电路,从而降低表决电路对SEU的敏感度。

所示的电路设计的关键部分被实施为框302、304、306、308、310和312。框302、304和306表示在各自可编程逻辑(PL)资源和可编程互连(INT)资源上实施的电路设计的关键部分的三个实例。框308、310和312表示将每个关键部分的实例连接到表决电路314的互连资源。因为该电路是三重的(triplicated),所以可以在用6T配置存储单元配置的可编程资源上实施电路设计的关键部分的实例和表决电路的连接。可以在用12T配置存储单元配置的可编程逻辑资源和可编程互连资源上实施表决电路,从而降低表决电路对SEU的敏感度。只要实例302、304、306以及互连电路308、310和312中不超过一个(no more than one)遭受SEU,表决电路314就会输出期望的结果。

可以在用6T配置存储单元配置的可编程逻辑资源和可编程互连资源上实施电路设计的非关键部分。例如,非关键部分316为TMR电路(关键部分)提供输入,非关键部分318通过表决电路314从关键部分接收输出。可编程互连资源309将非关键部分316连接到关键部分的TMR实例302、304和306,并且可以用12T配置存储单元配置可编程互连资源309。

图4示出了计算布置(computing arrangement)的实施例,该计算布置可以被配置以实施在此描述的过程和数据结构。处理器计算布置500包括一个或多个处理器502(根据可执行计算机代码对一个或多个处理器502进行编程)、时钟信号发生器504、内存布置506、存储器布置508以及输入/输出控制单元510,它们都耦接至主机总线512。可以用电路板上分别的元件来实施布置500,或者可以在集成电路中内部实施布置500。当在集成电路中内部实施时,处理器计算布置也被称为微控制器。

计算布置的架构取决于可以被本领域技术人员了解的实施要求。处理器502可以是一个或多个通用处理器,或者一个或多个通用处理器和合适的协处理器的组合,或者一个或多个专用处理器(例如,RISC、CISC、流水线处理器等)。

内存布置506通常包括多个级别的高速缓存以及主内存。存储器布置508可以包括本地和/或远程持久性存储器,例如由磁盘(没有示出)、闪存、EPROM或其它非易失性数据存储器提供。存储单元可以是可读的或可读写的。此外,内存布置506和存储器布置508可以结合在单个布置中。

处理器502在存储器布置508和/或内存布置506中执行软件,从存储器布置508和/或内存布置506中读出或向其中写入数据,并通过输入/输出控制布置510与外部设备通信。这些功能通过时钟信号发生器504同步。可以通过操作系统(没有示出)或硬件控制单元(没有示出)来管理计算布置的资源。

图5示出了公开的电路可以在其上实施的可编程集成电路(IC)600。可编程IC也可以指包括现场可编程门阵列逻辑(FPGA)以及其它可编程资源的片上系统(SOC)。FPGA逻辑可以在阵列中包括集中不同类型的可编程逻辑模块。例如,图5说明了包括大量不同可编程单元包括千兆位收发机(MGT)601、可配置逻辑模块(CLB)602、随机存取存储器模块(BRAM)603、输入/输出模块(I/O)607(例如时钟端口)以及其它可编程逻辑608比如数字时钟管理器、模数转换器、系统监控逻辑等的可编程IC 600。一些具有FPGA逻辑的可编程IC还包括专用处理器模块(PROC)610和内部与外部重置端口(没有示出)。

在一些FPGA逻辑中,每个可编程单元包括可编程互连元件(INT)611,其具有去到和来自每个相邻单元中对应的互连元件的标准化连接。因此,可编程互连元件一起实施了说明的FPGA逻辑的可编程互连结构。如图5顶部包括的例子所示,可编程互连元件INT611还包括去到和来自同一个单元内的可编程逻辑元件的连接。

例如,CLB 602可以包括配置逻辑元件CLE 612,其可以被编程以实施用户逻辑,加上单个可编程互连元件INT 611。BRAM 603除一个或多个可编程互连元件外,还可以包括BRAM逻辑元件(BRL)613。通常,一个单元中包括的互连元件的数量取决于该单元的高度。在图示的实施例中,BRAM单元具有与5个CLB单元相同的高度,但其它数字(如4)也可以被使用。DSP单元606除了适当数量的可编程互连元件外还可以包括DSP逻辑元件(DSPL)614。例如,IOB 604除可编程互连元件INT 611的一个实例外还可以包括输入/输出逻辑元件(IOL)615的两个实例。本领域技术人员应当清楚,连接到例如I/O逻辑元件615的实际的I/O接合焊盘使用覆盖在多种说明的逻辑模块上的金属层制造,并且通常不被限制在输入/输出逻辑元件615的区域中。

在图示的实施例中,靠近裸片中心的列区域(在图5中示出)被用于配置、时钟和其它控制逻辑。水平区域609从这列延伸,并被用于将时钟和配置信号在可编程IC的宽度上分配。

一些利用图5中说明的架构的IC包括额外的逻辑模块用于破坏构成可编程IC大部分的常规列结构。额外的逻辑模块可以是可编程模块和/或专用逻辑。例如,图5中所示的处理器模块PROC 610跨过CLB和BRAM的多个列。

注意,图5只是用于说明一个示例性可编程IC架构,一列中的逻辑模块的数量、列的相对宽度、列的数量和顺序、列中包括的逻辑模块的种类、逻辑模块的相对尺寸以及包括在图5顶部的互连/逻辑实施例完全是示例性的。例如,在实际的可编程IC中,无论CLB出现在哪里,通常都存在超过一个相邻的CLB列,从而有助于用户逻辑的有效实施。

这里提供多个例子。

在一个例子中,提供一种在可编程集成电路上生成电路设计的实现的方法。这样的方法包括,在编程过的处理器上,执行以下操作:输入电路设计;生成用于实施电路设计的第一数据;确定电路设计的关键部分和非关键部分;生成用于对可编程IC的配置存储单元进行编程的第二数据,从而实施电路设计;其中第二数据的第一子集被分配以对第一类型配置存储单元进行编程,从而在可编程IC的可编程逻辑资源的第一子集和可编程互连资源的第一子集上实施电路设计的关键部分;其中第二数据的第二子集被分配以对第二类型配置存储单元进行编程,从而在可编程IC的可编程逻辑资源的第二子集和可编程互连资源的第二子集上实施电路设计的非关键部分;并且将第二数据存储在电子可读存储介质中。

在一些方法中,第一类型的配置存储单元可以相比于第二类型的配置存储单元,具有对单粒子翻转(SEU)更好的抗性。

在一些这样的方法中,第一类型的配置存储单元是12T存储单元,而第二类型的配置存储单元是6T存储单元。

在一些这样的方法中,确定关键部分包括确定具有被使用输入的数量大于阈值的查询表(LUT)。

在一些这样的方法中,第二数据的第一子集包括通过可编程互连资源的第一子集将可编程逻辑资源的第一子集连接至可编程IC的存储器资源的第一子集的配置数据,用于储存被可编程逻辑资源的第一子集处理的数据;并且,存储器资源的第一子集由12T存储单元实施。

在一些这样的方法中,第二数据的第二子集包括通过可编程互连资源的第二子集将可编程逻辑资源的第二子集连接至可编程IC的存储器资源的第二子集的配置数据,用于储存被可编程逻辑资源的第二子集处理的数据;并且,存储器资源的第二子集由6T存储单元实施。

在一些这样的方法中,确定关键部分包括确定被使用输入的数量大于阈值数量的使用的输入的查询表(LUT);并且,第一类型的配置存储单元相比于第二种类型的配置存储单元,具有对单粒子翻转(SEU)更强的抗性。

在一些这样的方法中,确定关键部分包括确定被使用输入的数量大于阈值的查询表(LUT);并且,第一类型的配置存储单元是12T存储单元而第二类型的配置存储单元是6T存储单元。

在一些这样的方法中,确定关键部分包括确定被使用输入的数量大于阈值的查询表(LUT);并且,第二数据的第一子集包括通过可编程互连资源的第一子集将可编程逻辑资源的第一子集连接至可编程IC的存储器资源的第一子集的配置数据,用于储存被可编程逻辑资源的第一子集处理的数据,存储器资源的第一子集由12T存储单元实施。

在另一个例子中,提供在可编程集成电路上生成电路设计的实现的方法。这样的方法可以包括:在可编程处理器上,运行如下操作:输入电路设计;生成用于实施该电路设计的第一数据;确定该电路设计的关键部分和非关键部分;生成第二数据,用于编程可编程IC的可配置存储单元以实施该电路设计;其中第二数据的第一子集被分配用以编程可编程IC的6T配置存储单元,从而在可编程IC的可编程逻辑资源的第一子集和可编程互连资源的第一子集上实施该电路设计关键部分的三个或更多的实例;以及其中第二数据的第二子集被分配以编程可编程IC的12T配置存储单元,从而在可编程IC的可编程逻辑资源的第二子集和可编程互连资源的第二子集上实施表决电路,表决电路耦接以从电路设计的关键部分的三个或更多实例中接收输出信号;在电子可读存储介质中储存第二数据。

在一些这样的方法中,第二数据包括:第二数据的第三子集,用于对可编程IC的6T配置存储单元进行编程,从而在可编程IC的可编程逻辑资源的第三子集和可编程互连资源的第三子集上实施电路设计的非关键部分。

在这样的方法中,确定关键部分包括确定被使用输出的数量大于阈值的查询表(LUT)。

可以提供一种可编程IC。这样的可编程IC可以包括:配置存储器,其包括多个6T存储单元和多个12T存储单元;耦接至配置存储器的可编程互连资源,其中可编程互连资源的第一子集能够由6T存储单元的子集来编程,且可编程互连资源的第二子集能够由12T存储单元的子集来编程;耦接至配置存储器的可编程逻辑资源,其中可编程逻辑资源的第一子集能够由6T存储单元的子集来编程,且可编程逻辑资源的第二子集能够由12T存储单元的子集来编程;以及耦接至配置存储器的可编程输入/输出(I/O)资源。

一些这样的IC还可以包括用于储存被可编程逻辑资源处理的数据的存储器资源,其中:存储器资源能够通过可编程互连资源被连接至可编程逻辑资源;存储器资源的第一子集是6T存储单元;并且存储器资源的第二子集是12T存储单元。

一些这样的IC还可以包括:在可编程互连资源的第一子集和可编程逻辑资源的第一子集上实施的三重冗余(TMR)电路;在可编程互连资源的第二子集和可编程逻辑资源的第二子集上实施的表决电路,表决电路通过可编程互连资源的第一子集耦接至TMR电路。

一些这样的IC还可以包括:电路设计的第一部分,其在可编程IC的可编程逻辑资源的第一子集和可编程互连资源的第一子集上实施;以及电路设计的第二部分,其在可编程IC的可编程逻辑资源的第二子集和可编程互连资源的第二子集上实施。

一些这样的IC中,所述多个6T存储单元的数量大于所述多个12T存储单元的数量。

尽管在一些情况下,方面和特征在单独的附图中描述,应当理解,一个附图中的特征可以与另一附图中的特征组合,即使该组合没有以组合的形式被明确示出或明确描述。

这些方法和系统被认为可以应用于各种用于处理电路设计以保护电路不受SEU干扰的系统中。通过考虑本说明书,其它方面和特征对于本领域技术人员应当显而易见。说明书和附图只应作为示例考虑,而权利要求书中才确定本发明真正的范围。

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