查找表的制作方法

文档序号:7544675阅读:195来源:国知局
查找表的制作方法
【专利摘要】本发明涉及一种查找表(1000),所述查找表包括:多个寄存器信号(r0-r3);多个输入信号(A、A'、B、B');至少一个输出信号(Y);以及多个通栅(1111-1114),其中,所述多个通栅中的至少第一通栅(1111)通过所述多个输入信号中的第一输入信号(A')并且通过所述多个寄存器信号中的至少第一寄存器信号(r3)来控制,使得所述寄存器信号(r3)在所述第一通栅的操作上具有优于所述输入信号(A')的优先级。
【专利说明】查找表
[0001] 本发明涉及电子领域,具体地,涉及半导体领域。
[0002] 对于在半导体电路内实现功能来说,在所谓的专用集成电路(ASIC)中使用大量 的标准单元是习以为常的。这种方法的优点是提供紧凑的解决方案,而且快速执行指令。然 而,实现ASIC需要高水平的投资,这是因为必须形成整组光刻掩模。另外,一旦最终完成, 就不能改变ASIC的形态和功能。
[0003] 作为另选的更灵活的解决方案,使用现场可编程门阵列(FPGA)电路。在FPGA单 元中,提供多个寄存器以及逻辑资源;通过适当地设置寄存器和逻辑部,可以在FPGA单元 的任何两个或更多个输入之间实现任何布尔或顺序函数。
[0004] 具体地,FPGA单元通常包含一个或多个查找表,用于实现可编程逻辑功能。
[0005] 图9示出这种示例性查找表9000。
[0006] 查找表9000接收两个输入信号A和B。查找表还包括多个寄存器9101-9104。根 据指派给寄存器的逻辑值,查找表9000将实现两个输入信号A和B的任何布尔函数。
[0007] 为了这么做,查找表9000包括连接在多个寄存器9101-9104和输出节点OUT之间 的多个通栅(pass gate)9201-9206。多个通栅9201-9206通过输入信号A和B及其各自取 反形式Z和互来控制。通过分别连接到输入信号A和输入信号B的反相器9301和9302得 至IJ输入信号A和B的取反。
[0008] 得益于这种构造,根据指派给寄存器9101-9104的值,可以得到输入信号A和B的 任何布尔函数。
[0009] 例如,如所示出的,假设通栅9201-9206均由单个NM0S晶体管实现,当寄存器 9101-9104分别被设置成值0、1、1和1时,通过输入信号A和B在输出节点OUT实现的函数 对应于"或(0R) "函数。例如,如果输入信号A被设置为1而输入信号B被设置为0,则通栅 920U9204和9206将导通,而通栅9202、9205和9203将断开。进而,这意味着寄存器9103 的输出将连接到节点9402,节点9402本身将连接到输出节点OUT。因此,输出节点OUT将 被设置为1,对应于分别被设置为〇和1的输入信号A和B的或函数的结果。
[0010] 下面,将参照图10A和10B描述查找表的可能物理实现。
[0011] 图10A示出查找表的可能布局10000。图10B示出图10A的放大部分。
[0012] 在图9中,为了便于陈述,用单个NM0S晶体管实现通栅9201-9206中的每个。然 而,实际上,通常将NM0S晶体管和PM0S晶体管的互补CMOS对用于每个通栅。因此,图10A 的布局10000示出其中用晶体管的CMOS对实现每个通栅的情况。本领域的技术人员应当 理解,通过图9的查找表和图10A的查找表执行的功能基本上等同。
[0013] 具体地,如图10A中可以看到的,布局10000包括三个区域10100-10300。这三个 区域10100-10300彼此基本上类似,因为它们中的每个包括两个NM0S晶体管10130、10140 和两个PM0S晶体管1110、10120。另外,区域10100-10300中的每个基于两个输入信号A和 B以及其取反形式Z和亙、两个寄存器信号和一个输出进行操作。
[0014] 如在图10B中可以看到的,区域10100包括两个PM0S晶体管10110和10120以及 两个NMOS晶体管10130和10140。晶体管10110和10130对应于通栅9201的CMOS实现, 而晶体管10120和10140对应于通栅9202的CMOS实现。
[0015] 黑色方形(诸如,方形10112)指示到晶体管的漏和源的连接。晶体管10110-10140 的栅分别为栅10111-10141。在区域10100的情况下,这四个栅10111-10141分别连接到输 入信号A、A、A和I。图10A中指示其余区域10200和10300的栅连接。
[0016] 为了将晶体管10110-10140的漏/源连接到由寄存器9101-9104(在图10A和图 10B中未示出)发出的寄存器信号中的任一个,和/或连接到诸如节点9401和9402的查找 表的内部节点和/或连接到输出节点0UT,设置连接线10150、10160和10170。
[0017] 在区域10100的情况下,连接线10150将寄存器9101连接到晶体管10110和 10130,从而用作通栅9201,而连接线10160将寄存器9102连接到晶体管10120和10140,从 而用作通栅9202。同时,连接线10170将晶体管10110-10140连接到内部查找表节点9401。
[0018] 针对区域10200设置对应的布置,从而实现通栅9204和9205,并且针对区域 10300,实现通栅9203和9206。
[0019] 可以改进借助图10A的布局的示意性的查找表9000及其物理实现。
[0020] 具体地,输出节点OUT经由多个通栅9201-9206直接连接到寄存器9101-9104。因 此,寄存器9101-9104必须具有高得足以驱动输出节点OUT的负载的电流驱动能力。进而, 这意味着不能用小寄存器实现这种构造,这是因为小寄存器将缺乏合适的电流驱动能力。 具体地,对于这种构造,小SRAM、小DRAM和使用闪存技术实现的寄存器通常不够强。
[0021] 此外,从寄存器9101-9104中的每个到输出节点OUT的信号必须穿过通栅 9201-9206中的数个通栅。这增加了传播延迟,因此增加了电路的操作频率。
[0022] 此外,每通过通栅9201-9206,信号强度就减小。例如,在NM0S或PM0S通栅的情况 下,电压降低。更一般地,由于通栅的寄生导通(0N)电阻,导致信号强度减小。这被转变成 创建信号的延迟和/或对噪声的敏感。因此,在通栅9201-9206之间插入中继器是习以为 常的。然而,这进一步增加了延迟,从而进一步使电路的操作频率变慢。
[0023] 另外,当将多个查找表9000集成在单个电路中时,如图10A所示的按三角形布局 的区域10100-10300的布置使得难以实现紧凑和密集的布局。这对FPGA的成本以及可靠 性有影响,这是因为不规则的布局使得制造更困难。
[0024] 尽管通过将这3个区域布置成直线可以解决这个问题,但是由于因为区域10100 和10200之中的一个将相比于其它区域被放置得离区域10300更远而所得的构造放宽了对 称性和速度,所以这个解决方案并不理想。
[0025] 已经相对于上述问题做出本发明。
[0026] 具体地,本发明的目的是实现查找表,该查找表可以在小的硅面积上实现快速操 作频率和低功耗。
[0027] 通过本发明实现这种方法。
[0028] 更具体地,本发明可以涉及一种查找表,所述查找表包括:多个寄存器信号;多个 输入信号;至少一个输出信号;多个通栅,其中所述多个通栅中的至少第一通栅通过所述 多个输入信号中的至少第一输入信号并且通过所述多个寄存器信号中的至少第一寄存器 信号来控制,使得所述寄存器信号在所述第一通栅的操作上比所述输入信号优先。
[0029] 得益于此方法,可以实现如下的查找表:寄存器信号不直接驱动输出节点,从而使 得可以使用小的寄存器。
[0030] 在一些有利的实施方式中,所述第一通栅可被构造成:
[0031] 一当所述第一寄存器信号具有独立于所述第一输入信号的逻辑值的第一逻辑值 时断开;
[0032] -当所述第一寄存器信号具有与所述第一逻辑值相反的第二逻辑值并且所述第 一输入信号具有所述第一逻辑值时断开;
[0033] -当所述第一寄存器信号具有所述第二逻辑值并且所述第一输入信号具有所述 第二逻辑值时闭合。
[0034] 利益于此方法,可以通过为寄存器信号赋予比输入信号高的优先级来控制通栅。
[0035] 在一些有利的实施方式中,多个通栅还可以包括第二通栅;所述第一通栅和所述 第二通栅可以具有互补的行为。
[0036] 得益于此方法,可以分别通过第一通栅和互补的第二通栅将输出连接到诸如高压 信号和低压信号的互补信号。
[0037] 在一些有利的实施方式中,所述第一通栅可以连接在第一节点和所述输出信号之 间,并且所述第二通栅可以连接在第二节点和所述输出信号之间;所述第一节点可以具有 高于所述第二节点的电压电平。
[0038] 得益于此方法,可以通过第一节点和第二节点驱动输出节点,所述第一节点和第 二节点可以被设计成具有高电流驱动能力,从而允许输出信号的更快的充电/放电。
[0039] 在一些有利的实施方式中,所述第一通栅可以包括具有第一栅和第二栅的双栅晶 体管;所述输入信号可以连接到所述第一栅和所述第二栅当中的一个,所述寄存器信号可 以连接到所述第一栅和所述第二栅当中的另外一个。
[0040] 得益于此方法,可以实现具有紧凑结构的通栅。
[0041] 在一些有利的实施方式中,所述双栅晶体管可以是具有顶栅和底栅的SOI晶体 管;所述第一栅可以是顶栅,所述第二栅可以是底栅。
[0042] 利益于此方法,可以用标准SOI技术实现所述查找表。另选地,通过选择底栅作为 所述第二栅,公共的第二栅可以在多个通栅中被共用。
[0043] 在一些有利的实施方式中,所述双栅晶体管可以是具有至少两个独立栅的 FINFET〇
[0044] 得益于此方法,可以在不采用SOI晶体管的情况下用紧凑方式实现查找表。
[0045] 在一些有利的实施方式中,多个通栅可以被划分成群组;相同群组的所有通栅可 以通过相同的寄存器信号来控制;每个群组与所述多个寄存器信号中的不同的一个关联; 相同群组的每个通栅可以通过不同的输入信号来控制;每个群组与全部所述多个输入信号 关联。
[0046] 得益于此方法,可以将所述查找表扩展至任何数量的输入信号。
[0047] 此外,本发明可以涉及一种FPGA,所述FPGA包括至少一个根据以上实施方式的查 找表。
[0048] 得益于此方法,可以实现紧凑的FPGA。此外,由于密集布局,可以降低成本。另外, 得益于通过电压节点而不是寄存器信号驱动输出信号,可以确保快速操作。此外,得益于实 现规则布局的可能性,可以提高制造良率。
[0049] 另外,相关的实施方式可以涉及一种查找表架构,所述查找表架构包括:寄存器群 组,其包括多个寄存器,被构造成发出寄存器信号;可编程逻辑部,其包括多个被构造成至 少通过所述寄存器信号控制的多个通栅;所述寄存器群组和所述可编程逻辑部形成查找 表,其中按单个方向放置通栅。
[0050] 得益于此方法,可以实现查找表架构的密集布局。
[0051] 在相关的实施方式中,可以将每个通栅放置在基本上与发出控制通栅的寄存器信 号的寄存器对齐的位置上。
[0052] 得益于此方法,可以使寄存器信号的连接具有简单的走线和简单的定时管理。
[0053] 在相关的实施方式中,可以将寄存器放置在可编程逻辑部的一侧。
[0054] 得益于此方法,可以共用诸如电源互连、解码互连等的对所有寄存器共用的互连。
[0055] 在相关的实施方式中,可以在可编程逻辑部的两侧以交错方式放置寄存器。
[0056] 得益于此方法,可以使用节距(pitch)大于通栅的节距的寄存器。
[0057] 在相关的实施方式中,查找表架构还可以包括形成多个查找表的多个寄存器群组 和多个可编程逻辑部,其中可以彼此紧邻地放置所述多个查找表,使得通过至少一个寄存 器群组将任何可编程逻辑部与相邻的可编程逻辑部分离。
[0058] 得益于此方法,可以将查找表架构扩展成容纳任何数量的查找表,同时有利地允 许用于设置寄存器的信号的规则走线。
[0059] 在相关的实施方式中,查找表架构还可以包括至少一个标准单元块,所述至少一 个标准单元块包括多个标准单元,其中可以沿着至少一个查找表和/或至少一个寄存器组 放置所述标准单元块。
[0060] 利益于此方法,可以以密集方式将标准单元集成在查找表架构内。
[0061] 在相关的实施方式中,查找表架构还可以包括:解码器单元,其被构造成选择所述 多个寄存器中的一个或更多个;数据单元,其被构造成设置由所述解码器单元选择的寄存 器内的值。
[0062] 得益于此方法,可以实现对查找表架构的行为的编程。
[0063] 在相关的实施方式中,查找表架构还可以包括:第一金属层,其被构造成实现到可 编程逻辑部的内部节点的连接和/或寄存器群组的解码连接和/或寄存器组的电力连接; 第二金属层,其被构造用于实现寄存器群组的数据连接。
[0064] 得益于此方法,可以仅用两个金属层将查找表架构编程并且使查找表架构操作。
[0065] 在相关的实施方式中,多个通栅中的至少一个可以包括具有第一栅和第二栅的双 栅晶体管。
[0066] 得益于此方法,可以实现密集布局。
[0067] 在相关的实施方式中,双栅晶体管可以是具有顶栅和底栅的SOI晶体管;所述第 一栅可以是顶栅,所述第二栅可以是底栅。
[0068] 得益于此方法,可以用标准SOI技术实现查找表。另外,通过选择底栅作为所述第 二栅,在多个通栅之中,可以共用公共的第二栅。
[0069] 在相关的实施方式中,双栅晶体管可以是具有至少两个独立栅的FINFET。
[0070] 得益于此方法,可以在不采用SOI晶体管的情况下,用紧凑方式实现查找表。
[0071] 在相关的实施方式中,本发明可以涉及一种FPGA,所述FPGA包括根据之前实施方 式中的任一个的至少一个查找表架构。
[0072] 利益于此方法,可以得到具有密集和/或规则布局的FPGA。这允许制造更简单并 且更便宜以及在FPGA的集成和可扩展性方面节省成本,这是因为可以将查找表架构扩展 成针对任何数量的输入。
[0073] 下文中,将使用有利的实施方式并参照附图用示例的方式更详细地描述本发明。 所描述的实施方式只是可能构造,然而单个特征如上所述可以彼此独立地实现或者可以省 略。附图中示出的相同的元件设置有相同的标号。可以省略与不同附图中示出的相同元件 相关的部分描述。在附图中:
[0074] 图1示出根据本发明的实施方式的查找表1000的示意图;
[0075] 图2示出图1的查找表1000的行为的示意图;
[0076] 图3示出根据本发明的实施方式的图1的查找表1000的示意性布局3000 ;
[0077] 图4示意性示出根据本发明的查找表4000的其它实施方式;
[0078] 图5示意性示出根据本发明的实施方式的代表图4的查找表4000的可能实现方 式的布局5000 ;
[0079] 图6不意性不出根据本发明的其它实施方式的查找表6000 ;
[0080] 图7示意性示出根据本发明的其它实施方式的包括多个查找表7000的电路 7000 ;
[0081] 图8示意性示出根据本发明的其它实施方式的包括多个查找表8000的电路 8000 ;
[0082] 图9示出示例性查找表9000 ;
[0083] 图10A示出图9的查找表9000的可能布局10000 ;
[0084] 图10B示出图10A的放大部分。
[0085] 如在示出根据本发明的实施方式的查找表1000的示意性视图的图1中可以看到 的,查找表1000接收两个输入信号A和B及它们各自取反形式A'和B'以及多个寄存器信 号r〇-r3。基于指派给多个寄存器信号r〇-r3的值,查找表1000允许实现输入信号A和B 的任何布尔函数,如下面将要描述的。
[0086] 尽管在附图中未示出,但本领域的技术人员应当清楚,可以输入输入信号A、A'、B 和B',或者可以输入输入信号A和B中的任一个并且通过反相器得到其取反形式。
[0087] 另外,尽管在附图中未示出,但可以由查找表9000内包括的多个寄存器提供寄存 器信号。
[0088] 另外,查找表1000提供输出信息Y。输出信号Y的值取决于查找表1000基于寄存 器信号r〇-r3的值实现的布尔函数,并且取决于输入信号A和B的值,如下面将描述的。
[0089] 查找表100包括数个通栅。具体地,查找表100是模块化的并且包括四个区域 1100-1400,每个区域包括四个通栅1111-1114。在下面,将提供对区域1100的描述。除了 其余的区域1200-1400与输入信号和寄存器信号的连接,用基本类似的方式构造其余的区 域1200-1400,如图1所指示的。
[0090] 区域1100包括四个通栅1111-1114。通栅1111和1112连接在高压电源1021和 输出节点Y之间。通栅1113和1114连接在低压电源1022和输出节点Y之间。
[0091] 高压电源1021可以例如是FPGA电路的电源,而低压电源1022可以例如是FPGA 电路的地节点。然而,这仅仅是一个示例,本发明不限于此。更一般地,为了图1中示出的 实施方式的目的,节点1021具有比节点1022高的电压值是足够的。
[0092] 通栅1111-1114中的每个受两个信号控制。
[0093] 具体地,在本实施方式中,通过一个具有第一栅1111A和第二栅1111B的双栅晶 体管实现通栅1111-1114中的每个。然而,本发明不限于此,可以使用如下所述实现通栅 1111-1114的功能的任何结构来替代双栅晶体管。
[0094] 图1描述具体的实施方式,在该实施方式中用SOI技术实现用作通栅1111-1114 的双栅晶体管。然而,本发明不限于此,可以用提供具有多个独立栅的晶体管(诸如, FINFET)的任何技术实现双栅晶体管。
[0095] 如在图1中可以看到的,实现通栅1111-1114的双栅晶体管中的每个的第一栅 1111A连接到输入信号A、B以及它们的取反形式A'和B'当中的一个输入信号。另一方面, 区域1100的所有的第二栅111B连接到寄存器信号r3。
[0096] 甚至更具体地,用作通栅1111的双栅PM0S晶体管的第一栅1111A连接到输入信 息A',而第二栅1111B连接到寄存器信号r3。用作通栅1112的双栅PM0S晶体管的第一栅 1111A连接到输入信号B',而第二栅1111B连接到寄存器信号r3。用作通栅1113的双栅 NM0S晶体管的第一栅111 1A连接到输入信号A,而第二栅111 1B连接到寄存器r3。最后,用 作通栅1114的双栅NM0S晶体管的第一栅111 1A连接到输入信号B,而第二栅111 1B连接到 寄存器r3。
[0097] 如所示出的,由于信号被输入至每个通栅,导致区域1200-1400的通栅1111-1114 的连接不同于区域11 〇〇的通栅的连接。一般地,在所有区域中,输出节点Y连接在通栅1112 和1113之间。一般地,低压节点1022是所有区域共用的,高压节点1021同样如此。另外, 用作通栅1111-1114的双栅晶体管的第二栅连接到区域1200-1400分别的单个寄存器信号 r2-r0〇
[0098] 现在,将参照PM0S双栅晶体管(诸如,针对用作通栅1111-1112的那个)描述通 栅1111-1114中的每个的行为。本领域的技术人员应当清楚,用双栅NM0S晶体管(诸如, 用作通栅1113和1114的那个)实现的通栅具有互补行为。
[0099] 实现通栅1111和1112的双栅PM0S晶体管使得它们的行为主要由它们的连接到 寄存器信号r3的第二栅1111B决定,其次由它们的分别连接到输入信号A和B的第一栅 1111A决定。
[0100] 更具体地,当用作通栅1111或1112的PM0S双栅晶体管的第二栅1111B连接到逻 辑值为1的高逻辑信号时,PM0S晶体管将独立于应用于其第一栅1111A的值而断开(S卩,不 导通)。另一方面,当第二栅1111B被设置为逻辑值为0的低逻辑值时,如果第一栅1111A 被设置为低逻辑值〇,则晶体管将是闭合的(即,导通),而如果第一栅111 1A被设置为高逻 辑值1,则晶体管将是断开的(即,不导通)。
[0101] 换句话说,当第二栅1111B被设置为高逻辑值1时,晶体管一直断开,而当第二栅 1111B上的信号被设置为低逻辑值0时,晶体管表现为标准单栅PM0S晶体管。也就是说,在 通栅操作时,第二栅1111B的优先级高于第一栅1111A。
[0102] 本领域的技术人员应当理解,尽管图1的实施方式示出双栅晶体管1111-1114的 前栅和背栅分别为第一栅1111A和背栅1111B,但本发明不限于此。另选地,顶栅和背栅可 以分别为第二栅1111B和第一栅1111A。
[0103] 此外,尽管已将通栅1111-1114描述为均由双栅晶体管(由SOI双栅晶体管或 FINFET)实现,但本发明不限于此,可以使用允许上述行为的任何技术实现。例如,这可以 通过具有至少两个独立栅的任何晶体管来实现。甚至更一般地,可以通过具有至少两个输 入的电子部件或电子电路实现这种行为,所述至少两个输入用作如下的通栅1111和/或 1112 :
[0104] -当两个输入中的第一输入独立于第二输入的值而为逻辑值1时断开,
[0105] 一当两个输入中的第一输入为低逻辑值0时,如果第二输入为高逻辑值1,则断 开,以及
[0106] 一当两个输入中的第一输入为低逻辑值0时,如果第二输入为低逻辑值0,则闭 合。
[0107] 本领域的技术人员应当理解,可以用数种方式实现这种行为,图1中示出的双栅 SOI晶体管仅为这种行为的示例。
[0108] 还应当理解,对于互补通栅1113和/或1114,可以实现互补行为,使得通栅:
[0109] -当两个输入中的第一输入独立于第二输入的值而为逻辑值0时断开,
[0110] 一当两个输入中的第一输入为高逻辑值1时,如果第二输入为低逻辑值〇,则断 开,以及
[0111] 一当两个输入中的第一输入为高逻辑值1时,如果第二输入为高逻辑值1,则闭 合。
[0112] 图2示出图1的查找表1000的行为的示意性视图。
[0113] 具体地,C1-C2列和R1-R4行中的值示出输入信号A和B的所有四个可能的组合。 为了便于陈述,未示出各个取反信号的值。R6-R9行和C3-C18列示出寄存器信号r〇-r3的 所有可能的组合。R5行示出对于C3-C18列中的每列而言通过将寄存器信号r〇-r3设置为 对应列中的值而实现的布尔函数。R1-R4行和C3-C18列中的值示出从对于同一列的寄存器 信号r〇-r3与对于同一行的输入信号A和B的各个组合得到的节点Y的输出值。
[0114] 例如,通过分别将寄存器信号r〇-r3设置为1、1、1和0(如C7列所示),查找表 1000的节点Y的输出信号将为:对于A = 0并且B = 0, Y = 0;对于A = 0并且B= 1,Y =〇 ;对于A = 1并且B = 0, Y = 0 ;对于A = 1并且B = 1,Y = 1。如R5行、C7列中所示 的,这对应于输入信号A和B之间的"与(AND) "函数,现在将描述此具体情况。
[0115] 通过分别将信号r〇-r3设置为1、1、1和0(如C7列所指示的),用作区域1200、 1300和1400的通栅1111和1112的PM0S晶体管将独立于输入信号A和B的值而断开。这 是因为第二栅1111B比第一栅1111A更重要,如上所述。类似地,用作区域1100的通栅1113 和1114的NM0S晶体管将独立于输入信号A和B的值而断开。
[0116] 只有当将信号A和B均被设置为1时,区域1100的通栅1111和1112才将导通。 同时,对于此组合,通栅1113和1114中的至少一个将断开,即不导通。具体地,在区域1110 中,由于将信号r3设置为0,导致通栅1113和1114将都断开。在其余的区域中,至少两个 通栅连接到输入信号A' =0并且/或者B' =0并因此断开。因此,得益于输出节点Y与 高压电源1021的连接,输出节点Y被设置为高逻辑值。
[0117] 示意性地,对于其余的组合:
[0118] -A = 0, B = 0 ;区域1400中的通栅1113和1114将都导通;
[0119] -A = 0, B = 1 ;区域1300中的通栅1113和1114将都导通;以及
[0120] -A = 1,B = 0 ;区域1200中的通栅1113和1114将都导通。
[0121] 这意味着,在这些情况下,得益于输出节点Y与低压电源1020的连接,输出节点Y 将被设置为低逻辑值。
[0122] 根据本实施方式的查找表提供数个优点。
[0123] 如图2所示,根据在寄存器信号r〇-r3上设置的值,查找表1000提供输入信号A 和B的所有布尔函数。
[0124] 另外,查找表1000允许通过高压电源节点1021或低压电源节点1022驱动输出节 点Y。这允许信号Y迅速被驱动并且具有合适的电流能力。
[0125] 因为输出Y处的信号不由寄存器信号r〇-r3驱动,所以这是进一步特别有利的。另 一方面,寄存器信号r〇-r3中的每个仅连接到容性负载,该负载由用作通栅1111-1114的双 栅晶体管的第二栅1111B构成。因此,可以使用较小的寄存器以产生信号r〇-r3,具体地也 可使用小DRAM/SRAM寄存器和/或闪存寄存器以产生信号r〇-r3。因为数字电路的输入通 常为电容性负载,所以当通过等效电路实现通栅1111-1114时也是所述情况。
[0126] 另外地,因为输入信号A和B及其各自取反形式A'和B'中的任一个具有相同的 负载,所以管理查找表1000的时序简单。对于寄存器信号r〇-r3中的每个,这同样也是适 用的。这与信号A的负载比信号B大的图9的情况相反,从而致使管理电路的定时更复杂。
[0127] 图3示出根据本发明的实施方式的图1的查找表1000的示意性布局3000。
[0128] 布局3000被划分成区域3100-3400,其功能分别对应于图1的查找表1000的区域 1100-1400。下面,将详细描述区域3100。本领域的技术人员应当理解,区域3200-3400的 功能类似。
[0129] 区域3100包括两个PM0S晶体管,在其第一栅1111A上从左到右分别具有信号A' 和B'。信号A'和B'对应于图1的通栅1111和1112。类似地,区域3100包括两个NM0S 晶体管,在其第一栅111 1A上从左到右分别具有信号A和B,信号A和B对应于图1的通栅 1113 和 1114。
[0130] 尽管未示出,但为了便于理解,将第一栅1111A物理连接到提供各个信号的连接 线。在图中,为了便于理解,仅指示与各个栅紧邻的信号。
[0131] 此外,区域3100具有高压连接3121,高压连接3121对应于高压节点电源1021并 且与布局3000的其余区域3200-3400共用。类似地,区域3100具有低压连接3122,低压连 接3122对应于低压节点电源1022并且与布局3000的其余区域3200-3400共用。
[0132] 尽管未示出,但连接3121和3122可以进一步连接到布局3000外部的其它节点。
[0133] 区域3100还包括第二栅3115,第二栅3115在功能上对应于图1的区域1100的通 栅1111-1114的晶体管的第二栅1111B。尽管在图3中示出第二栅3115是单个几何元件, 但本发明不限于此。另选地或另外地,第二栅3115的形状可以根据需要而变化,只要实现 对用作通栅1111-1114的双栅晶体管进行有效控制即可。
[0134] 区域3200-3400中对应的第二栅3215-3415被示出为朝向区域3100-3400的上部 延伸。在某些情况下,这可能是有益的,这是因为允许用直线形式布置来放置到寄存器的连 接和/或向第二栅3215-3415提供寄存器信号的寄存器本身。然而,本发明不限于此,在区 域3100-3400的底部和/或顶部,寄存器连接到第二栅3115-3415。在这方面,图5中示出 另选的交错排列方法。
[0135] 布局3000还包括对应于图1的输出节点Y的连接Y。
[0136] 如在图3中可以看到的,通过有利地放置区域3100-3400的晶体管,可以通过仅在 以下两点进行物理连接将连接Y连接到所有四个区域3100-3400的输出:区域3100、3200 之间共用的点P1和区域3300、3400之间共用的点P2。
[0137] 尽管在本实施方式中,连接Y需要不同于低压连接3122的层,这是由于它们交叠, 但本发明不限于此。另选地或另外地,可以在区域3200和3300的晶体管的第一栅1111A 之间实现连接Y,如(例如)图5所示的。
[0138] 另外,通过有利地放置晶体管,可以通过使用仅在以下三点进行物理连接将高压 连接3121和低压连接3122二者连接到四个区域:区域3100中的点P3、区域3400中的点 P5、以及区域3200和3300之中共用的点P4。
[0139] 此外,布局3000是有利的,因为所有晶体管都被放置成单行,从而实现紧凑且密 集的设计。此外,结构是高度规则的,从而在制造和定时管理方面提供优势。
[0140] 图4示意性示出根据本发明的查找表4000的其它实施方式。
[0141] 具体地,图4的查找表4000是基于图1的查找表1000,但被扩展以用三个输入信 号A、B、C及其各自取反形式A'、B'和C'进行工作。
[0142] 与查找表1000类似,查找表4000由多个基本上类似的区域4100-4800构成。区 域4100-4800中的每个包括多个通栅4111-4116,通栅4111-4116中的每个具有到第一栅 1111A上的输入信号A、B、C及其各自取反形式A'、B'和C'当中的不同的一个的连接。同 时,通栅4111-4116中的每个共用到单个寄存器信号r7的公共连接。
[0143] 如图1和图4中可以看到的,可以实现具有如需要那样多的信号的根据本发明 的实施方式的查找表。具体地,给定N个输入信号,对应的查找表将具有2 n个寄存器信号 Α-Γμ并且在2n个区域中的每个中将具有2N个通栅。
[0144] 这种结构是有利的,因为总是由高压电源1021和低压电源1022驱动输出Y,从而 确保独立于输入信号的数量而适当地驱动输出节点。
[0145] 另外,即使具有很多输入信号,寄存器信号仍然仅连接到电容性负载,这允许使用 具有小电流能力的寄存器,如以上详述的,即使是对于大量的输入信号。
[0146] 图5示意性示出根据本发明的实施方式的代表图4的查找表4000可能的实现方 式的布局5000。
[0147] 布局5000包括彼此类似的八个区域5100-5800。与图3的布局3000类似,布局 5000包括所有区域5100-5800共用的高压连接3121和低压连接3122。此外,存在用作图 4的输出节点Y的单个连接Y。
[0148] 另外,布局5000包括分别连接到寄存器信号r7-r0的八个第二栅5115-5815。作 为图3的替代形式,第二栅5115-5815以交错放置组织。例如,如果寄存器的宽度使得第二 栅5115-5118的节距大于区域5100-5800的节距,则这可以是有用的。
[0149] 尽管在上面的实施方式中已将所有通栅1111-1114和4111-4116描述为具有两个 输入,但本发明不限于此。
[0150] 例如,参照图1,可以用仅连接到输入信号的单个输入来实现通栅1111和1113。例 如,区域1100的通栅1111和1113中的至少一个可以是具有分别连接到输入信号A'和A 的第一栅1111A的单栅晶体管。在某些情况下,这在向寄存器信号提供较小负载以及简化 布局方面可能是有利的。一般地,如果对于每个区域而言每个电源节点和输出节点之间串 联的通栅至少具有之前描述的行为,则可以实现本发明。
[0151] 此外,可以通过使用两次图1的两输入查找表1000来实现三输入信号查找表4000 的替代形式。具体地,这提供了以下优点:两个两输入查找表1000的组合的通栅的数量为 32,而三输入查找表4000的通栅的数量为48。
[0152] 在两种情况下,布局极具规则性补偿了与图10A的解决方案相比需要的另外数量 的晶体管。例如,在图10A中,块10100和10200和10300之间存在距离,这在图1-8的实 施方式中是不存在的。此外,在两种情况下,由于查找表由高压电源和低压电源供电,因此 图1-8的实施方式的晶体管的运行状况比图9的传输栅情况好,所以图1-8的实施方式的 晶体管可以适当地更小。此外,寄存器信号不向查找表的输出供电。在触发器的情况下和 在闪存寄存器的情况下,产生用于寄存器信号的信号的逻辑部的面积可以大幅度减小,不 需要感测放大器将所存储的值转换成被供电信号,从而依据硅区域来提供显著增益。
[0153] 图6不意性不出根据本发明的其它实施方式的查找表架构6000。
[0154] 查找表架构6000包括可编程逻辑部6100以及寄存器组6200和6300。具体地, 可编程逻辑部6100是根据参照图1、图3、图4和图5的查找表1000、3000、4000和5000所 述的任何实施方式实现的。类似地,寄存器组6200和/或6300对应于提供诸如图1和图 3中的r〇-r3以及图4和图5中的r〇-r7的寄存器信号的寄存器群组(未示出)。
[0155] 如图1和图3-5所示,可以将通栅1111-1114、4111-4116放置在单个方向上(尤 其是彼此紧邻),尽管通栅1111-1114、4111-4116可以因引入另外的晶体管和/或诸如ESD 保护电路的其它电子元件而分开。具体地,参照图1和图3,按以下顺序将PM0S通栅放置 成单行:1100区域中的111U1112 ;1200区域中的1112U111 ;1300区域中的111U1112 ; 1400区域中的1112、1111。各个互补NM0S晶体管也依次放置成单行:1100区域中的1113、 1114 ;1200 区域中的 1114U113 ;1300 区域中的 1113、1114 ;1400 区域中的 1114、1113。
[0156] 当仅用NM0S技术或者仅用PM0S技术实现通栅时,可以在单个方向上单行地实现 所有通栅。
[0157] 当使用CMOS结构时,从功能上可以将存在的两行晶体管解释为单行互补通栅。换 句话说,当将每对CMOS通栅视为单功能单元时,针对通栅有效地实现单行放置。例如,可以 将具有互补行为的通栅1111和1113视为单个功能通栅。
[0158] 得益于在单个方向上放置所有通栅,可以用密集方式有效地组合可编程部6100 以及寄存器群组6200和6300。事实上,通栅的这种放置方式允许寄存器被放置在通栅附 近,从而避免复杂的走线和空置的硅区域。
[0159] 下面,将描述可编程逻辑部6100以及寄存器群组6200和6300的放置方式及其间 的连接。
[0160] 诸如连接线6411的金属1连接线提供到诸如电源的可编程逻辑部6100的内部节 点(即,高压电源节点1021和/或低压电源节点1022)的连接6501,和/或到输入信号的 内部互连接,和/或通向输出节点Y的连接等。
[0161] 为了便于图示,仅已参照连接6501。本领域的技术人员应当清楚,在图6中用圆形 点类似地指示其它示例性连接。另外,诸如线6411的连接线的数量和放置仅被示例性地指 示并且将取决于需要连接的物理节点的位置和数量和/或可编程逻辑部6100和寄存器群 组6200、6300的大小,还取决于其它因素。
[0162] 另选地或另外地,诸如连接线6412的金属1连接线提供寄存器群组6200和/或 6300的解码连接。例如,可以使用连接线6412以解码(即,选择)寄存器群组6200中的一 个或更多个寄存器。通过选择寄存器,例如,可以将一个值存储在寄存器内,以便构造查找 表架构6000。
[0163] 另选地或另外地,金属1连接线为寄存器群组6200和/或6300提供电力连接。
[0164] 因此,可编程逻辑部6100沿着寄存器群组6200和/或6300的放置有利地允许将 单个金属层(metal level,在这种情况下,金属1)用于实现可编程逻辑部6100以及寄存器 群组6200和/或6300二者内的连接。
[0165] 另外,这种放置允许连接6600从寄存器群组6200和6300到可编程逻辑部6100 的连接6600,以用简单布线传送寄存器信号。也就是说,在图1、图3-5中,通过寄存器组 6200、6300内的寄存器输出的寄存器信号r〇-r3、r〇-r7可以连接到节点r〇-r3、r〇-r7。可 以在金属层1或2中或在多晶娃层(polysilicon level)中或者在金属层下方的等效连接 层(equivalent connection level)中实现连接 6600。
[0166] 具体地,可以用基本上与各个通栅对齐的方式放置寄存器。例如,参照图5,可以基 本上在第二栅5115上方放置发出寄存器信号r7的寄存器、基本上在第二栅5215上方放置 发出寄存器信号r6的寄存器、基本上在第二栅5315上方放置发出寄存器信号r5的寄存器 等。这提供了用于寄存器信号的简单走线和可扩展设计。
[0167] 在图5中,对第二栅5115-5815进行走线,使得将能够以交错方式放置寄存器,从 而实现包括发出寄存器信号r7、r5、r3和rl的寄存器的寄存器群组6200、以及包括发出寄 存器信号r6、r4、r2和rO的寄存器的寄存器群组6300。然而,本发明不限于此,当使用图 3中示出的第二栅3115-3415的走线时,可以将寄存器都放置在诸如寄存器群组6200的单 个寄存器群组中。
[0168] 另外,交错方法不限于一个寄存器在可编程逻辑部6100上方并且一个寄存器在 可编程逻辑部6100下方等。可以使用任何组合,例如,两个寄存器在上方,两个寄存器在下 方;一个寄存器在上方并且两个寄存器在下方等。具体地,如果寄存器被设计为使得能够有 效地以两个为一组分组,则可能有利的是,将它们放置成,两个在可编程逻辑部上方、两个 在可编程逻辑部6100下方、两个在可编程逻辑部6100上方、等等。
[0169] 将其它金属层(金属2)用于诸如连接线6421的连接线,以便为寄存器群组6200 和/或6300提供数据连接。例如,一旦为了给寄存器设置给定的数据值而从寄存器群 组6200、6300中选择了一个或更多个寄存器,就可以使用连接线6422,以构造查找表架构 6000。
[0170] 得益于上述两个金属层,实现查找表架构的操作。更具体地,通过仅使用两个金属 层,可以对寄存器编程,以便对查找表架构6000的行为编程并向查找表供电。
[0171] 因此,可以使用连接线6431和/或6441将可编程逻辑部6100的内部节点与附近 电路中的其它节点相互连接。例如,可以使用连接线6431和/或6441将用作可编程逻辑 部6100的查找表4000的输入信号A、B、C、A'、B'、C'连接到包括查找表架构6000的电路 的输入。另选地或另外地,可以使用连接线6431和/或6441将用作可编程逻辑部6100的 查找表4000的输出连接到包括查找表架构6000的电路的输出。另选地或另外地,可以使 用连接线6431和/或6441连接到其它节点,诸如另一个查找表架构6000的节点。
[0172] 由于连接线6431与金属2内的连接线6421交叉,导致可以在金属1或者除金属2 外的任何金属上实现连接线6431。对称地,由于连接线6431与金属1内的连接线6411交 叉,导致可以在金属2或者除金属1外的任何金属上实现连接线6431。
[0173] 查找表架构6000的这种布置由于其规则所以是有利的,从而简化了走线、定时、 寄生电容布置、制造、误差检测和可扩展性。
[0174] 尽管本实施方式已被示出为包括两个寄存器组6200和6300,但本发明不限于此。 具体地,如上所述,也可以用诸如仅寄存器群组6200的单个群组或寄存器实现本发明。另 选地或另外地,可以实现放置在寄存器群组6200上方和/或寄存器群组6300下方的一个 或多个其它的寄存器群组。例如,以交错方式提供寄存器,但所有的寄存器都在可编程逻辑 部6100的一侧,从而导致在寄存器群组6200和6300中一个在另一个上方。
[0175] 另外,尽管已参照奇数金属线的水平放置和偶数金属线的垂直放置示出本实施方 式,但这仅为示例。另选地或另外地,金属线的方向可以是相反的,也就是说,对于偶数金属 线是水平放置并且对于奇数金属线是垂直放置。另选地或另外地,所有金属线可以是水平 的或者垂直的。一般地,任何金属线可以具有任何方向性,诸如水平、垂直、45度等。
[0176] 另外,尽管金属层已被描述为金属1、金属2等,但这并不是限制本发明。更具体 地,如本领域的技术人员应该清楚的,任何金属层可以与任何其它交换。
[0177] 图7示意性示出根据本发明的其它实施方式的包括多个查找表6000的电路7000。
[0178] 更具体地,电路7000包括与寄存器群组6200和/或6300交叉的多个可编程逻辑 部6100。另外,电路7000包括解码器单元7100和数据单元7200。
[0179] 解码器单元7100通过多个连接7110连接到多个寄存器群组6200、6300。与连接 线6412类似,这些连接为寄存器群组6200、6300提供解码连接。
[0180] 数据单元7200通过多个连接7210连接到多个寄存器群组6200、6300。与连接线 6421类似,这些连接为寄存器群组6200、6300提供数据连接。
[0181] 得益于这种方法,可以用紧凑形式并且可能仅使用两个金属层布置大量的查找表 6000。这允许使用其余的金属层将多个可编程逻辑部6100彼此互相连接。以此方式,与用 单个查找表架构6000相比,可实现更复杂的布尔函数。
[0182] 另外,由于实现规则结构,所以走线和定时管理被保持为简单。
[0183] 尽管本实施方式已被示出为与两个寄存器群组6200和6300交叉的一个可编程逻 辑部6100的序列,但本发明不限于此。另选地或另外地,电路7000可包括仅与一个寄存器 组6200、6300交叉的多个可编程逻辑部6100。
[0184] 另选地或另外地,可编程逻辑部和寄存器群组的序列可以包括:发出用于第一可 编程逻辑部的寄存器信号的第一寄存器群组、第一可编程逻辑部、第二可编程逻辑部、以及 发出用于第二可编程逻辑部的寄存器信号的第二寄存器群组。具体地,如果例如用水平对 称方式布置第一可编程逻辑部和第二可编程逻辑部,以共用到低压电源1022的公共连接, 则这可能是有利的。可以实现用于寄存器群组6200和6300的类似放置,以共用公共电源 连接。
[0185] 图8示意性示出根据本发明的其它实施方式的包括多个查找表6000的电路8000。
[0186] 更具体地,由于存在标准单元块8100,导致电路8000与图7的电路7000不同。标 准单元块8100被放置在两个查找表6000之间并且可以经由任何金属层连接到电路8000 的任何查找表。有利地,由于可以将金属层1和2用于查找表的走线,因此可以保留相同金 属层用于标准单元块8100的内部走线,而可以使用其余金属层以将标准单元块8100与任 何查找表6000或者与电路8000中的任何其它节点相互连接。
[0187] 具体地,可以通过使用专利文献欧洲专利申请EP 2 333 8333 A1中公开的教导实 现标准单元块8100。因为该文献中公开的标准单元可以是按行的形式规则地布置,所以这 是有利的。除了查找表6000的规则放置之外,标准单元块8100的这种规则放置提供紧凑 而密集的布局。
[0188] 此外,如上所述的规则布置允许电源节点的规则放置,这导致布局表面上的压降 的简化管理。
[0189] 另外,因为标准单元块8100可以与查找表6000交叉,所以可以实现与查找表的 相关可编程逻辑部接近的逻辑功能,结果是由于走线减少而使操作速度提高并且使功耗降 低。
[0190] 尽管在本实施方式中仅示出了一个标准单元块8100,但本发明不限于此。具体地, 可以针对任何数量的查找表6000布置任何数量的标准单元块8100。
[0191] 尽管已描述了数个实施方式,但它们将不被视为是独立的。具体地,可以在权利要 求书限定的本发明的范围内组合不同实施方式的特征。
【权利要求】
1. 一种查找表(1000),所述查找表(1000)包括: 多个寄存器信号(r〇-r3);多个输入信号(A、A'、B、B');和至少一个输出信号(Y);以 及 多个通栅(1111-1114), 其中,所述多个通栅中的至少第一通栅(1111)通过所述多个输入信号中的至少第一 输入信号(A')并且通过所述多个寄存器信号中的至少第一寄存器信号(r3)来控制,使得 所述寄存器信号(r3)在所述第一通栅的操作上具有优于所述第一输入信号(A')的优先 级。
2. 根据权利要求1所述的查找表,其中 所述第一通栅(1111)被构造成: 一当所述第一寄存器信号(r3)具有独立于所述第一输入信号(A')的逻辑值的第一逻 辑值时断开; 一当所述第一寄存器信号(r3)具有与所述第一逻辑值相反的第二逻辑值并且所述第 一输入信号(A')具有所述第一逻辑值时断开; 一当所述第一寄存器信号(r3)具有所述第二逻辑值并且所述第一输入信号(A')具有 所述第二逻辑值时闭合。
3. 根据之前任何权利要求所述的查找表,其中 所述多个通栅还包括第二通栅(1113); 所述第一通栅(1111)和所述第二通栅(1113)具有互补行为。
4. 根据权利要求3所述的查找表,其中 所述第一通栅连接在第一节点(1021)和所述输出信号(Y)之间,并且所述第二通栅连 接在第二节点(1022)和所述输出信号(Y)之间;以及 所述第一节点(1021)具有高于所述第二节点(1022)的电压电平。
5. 根据之前任何权利要求所述的查找表,其中 所述第一通栅(1111)包括具有第一栅(1111A)和第二栅(1111B)的双栅晶体管;以及 所述输入信号连接到所述第一栅和所述第二栅当中的一个,并且所述寄存器信号连接 到所述第一栅和所述第二栅当中的另一个。
6. 根据权利要求5所述的查找表,其中 所述双栅晶体管是具有顶栅和底栅的SOI晶体管;以及 所述第一栅是所述顶栅,并且所述第二栅是所述底栅。
7. 根据权利要求5所述的查找表,其中 所述双栅晶体管是具有至少两个独立栅的FINFET。
8. 根据之前任何权利要求所述的查找表,其中 所述多个通栅被划分成群组; 相同群组的所有通栅通过相同的寄存器信号来控制;每个群组与所述多个寄存器信号 中的不同的一个关联;以及 相同群组的每个通栅通过不同的输入信号来控制;每个群组与全部所述多个输入信号 关联。
9. 一种FPGA,所述FPGA包括根据之前任何权利要求所述的至少一个查找表。
【文档编号】H03K19/177GK104145427SQ201380012524
【公开日】2014年11月12日 申请日期:2013年2月11日 优先权日:2012年3月5日
【发明者】理查德·费朗 申请人:索泰克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1