带内部反馈的自适应查找表模块的制作方法

文档序号:9809715阅读:537来源:国知局
带内部反馈的自适应查找表模块的制作方法
【技术领域】
[0001] 本发明涉及电子行业现场可编程逻辑门阵列(FPGA)技术领域,尤其涉及一种带 内部反馈的自适应查找表模块(Look Up Table,简称LUT)。
【背景技术】
[0002] 现行的现场可编程逻辑门阵列(FPGA)多为孤岛式结构,其基本单元如图1所 示。15称为逻辑阵列块(Logic Array Block,简称LAB),LAB包含多个逻辑单元(Logic Element,简称LE) 14, LE中一般由一个k输入查找表(Look Up Table,LUT) 11和一个寄存 器12连接而成,完整的k输入LUT意味着2k位sram(静态随机存储器)和相应的地址选 通逻辑。11和12的输出端均可输出到LAB之外,上到通道互联结构中,可以连接到其他逻 辑资源。从通道下来的输入信号进入LE之前先通过输入多路选择器(Input Multiplexer, Input Mux) 13,与反馈(Feed back)信号选择后输入LE内部。该反馈信号可能来自11或 12的输出,也可能来自本LAB中的其他LE的输出,从而构成逻辑资源级联或反馈的结构。
[0003] 随着FPGA包含逻辑资源规模的不断增长,以及工艺节点不断缩小,连线延时问题 凸显,即LAB之间的通道互联延时所占比例逐渐升高。降低关键路径延时的一种策略是将 更多的资源放入单个LE中,因此LUT的规模相应增加,输入端个数k由早期的小于等于4 增加到如今的以6为主。各FPGA采用的LUT的内部结构多有不同,以兼顾功能的灵活和面 积延时性能的优化。
[0004] 图2所示为美国专利(US7671625 B1)提出的自适应逻辑模块(Adaptive Logic Module,简称ALM)结构抽象级别示意图,ALM的地位等同于前文的LE。和传统LE结构显 著不同,ALM包含两个寄存器23a和23b,与之相对应的两个k输入LUT被拆分为21a、21b、 21c和21d四个k-1输入的LUT。21a和21b通过多路选择器22a组成实质上等效的k输 入LUT,同理21c和21d通过多路选择器22b组成等效的k输入LUT。上下两部分通过多路 选择器22c和22d分别选通到各自的寄存器23a和23b的输入端。LUT输入端之前存在组 合互联结构24,意在复用各个k-Ι输入LUT的输入端口,改变ALM可实现的LUT拓扑结构。 ALM的输入端个数为2m,一般满足:
[0005] 1 ^ m ^ 2k-1 (1)
[0006] 从而最多实现两个部分功能的2k_l输入LUT,或一个部分功能的2 · (2k_l) +1 = 4k_ 1 输入 LUT。
[0007] 图3为图2所示ALM中基本结构-可拆分LUT模块的结构示意图。请参照图3,只 取ALM的上半部分的两个LUT讨论,省略上下LUT之间的连接关系,31a、31b、32a等价于图 2中的21 &、2113、22&。该结构在1^1'有效面积(8抑111数量)上与图1的1^结构等同,而实 现的功能因真实输入端数量的不同而变化。在实际的电路中,k-Ι输入LUT还可以继续拆 分为两个k-2输入LUT和后端的选通Mux,以此类推,但基本思想没有发生变化。
[0008] 映射作为FPGA对应的EDA流程中一个重要的步骤,其实现结果的优劣与FPGA的 逻辑资源有密切的关系,特别是随着FPGA体系结构的进步和工艺的发展,映射算法也在发 生相应的演进,用于契合FPGA基本逻辑单元实现高性能的需求。当前学术上流行的映射工 具ABC在实现各种映射算法时,特别是在对应用电路的深度做优化的时候往往认为LUT或 者ALM的延时为单位"1"。
[0009] 然而,在实际情况中,存在可能有自适应LUT的两个k-Ι输入LUT的总输入端m大 于k的情况。这种情况要求两级或者多级LUT或者ALM进行级联模,此时ABC仍将总延时 看作两个单位延时的叠加,即总延时为2,无法区分内部级联和通过Input Mux(图1中13) 的外部级联。但是,结合实际情况,如果从软件优化的角度讲,设计一种能够处理两级或者 多级LUT或者ALM级联的基本逻辑结构,有可能实现深度最优映射结果的优化,进而实现应 用电路性能的提升。
[0010] 图3所示的ALM基本结构(可拆分LUT单元)可以实现至多2k-l输入的LUT的 部分功能,但由于该单元只包含2 k个sram,因此当输入端为m个(m不超过2k-l)时,该结 构能实现的功能占完整m输入LUT总功能数的比例为:
[0012] k不变时,输入端m个数越大,该单元实现的m输入LUT功能越不完整。此外,映射 是FPGA对应的EDA工具流程中一个重要的步骤,现有的映射算法已经能够做到深度最优。 但是这些算法在实现深度最优的时候,LUT或者ALM对应的映射模型默认的将单级的LUT或 者ALM的深度当作" 1"。这样的话,两级或者多级LUT级联在映射之后的深度是大于等于2 的。

【发明内容】

[0013] (一)要解决的技术问题
[0014] 鉴于上述技术问题,本发明提供了一种带内部反馈的自适应查找表模块,以用尽 可能少的代价增加逻辑单元实现的功能,同时,希望通过本发明能够对映射算法LUT或者 ALM对应的时序模型有所改进,以期减小两级或者多级LUT级联映射之后对应的深度,进而 提升应用电路的性能。
[0015] (二)技术方案
[0016] 本发明提供了一种带内部反馈的自适应查找表模块。该自适应查找表模块具有 2k_l个输入端和一个模式控制端,包括:第一查找表41a,其具有k-Ι个输入端口以及一个 输出端口,该k-Ι个输入端口连接至所述自适应查找表模块的输入端[0 :k-2];第二查找 表41b,其具有k-Ι个输入端口以及一个输出端口,该k-Ι个输入端口中的k-2个输入端口 连接至所述自适应查找表模块的输入端[k-1 :2k-4];第一 2选1多路选择器42b,其具有 两个输入端口、一个输出端口和一个控制端口,其第一输入端口连接至所述第一查找表41a 的输出端口,其第二输入端口连接至所述自适应查找表模块的输入端[2k-3],其控制端口 作为所述自适应查找表模块的模式选择端;以及第二2选1多路选择器42a,其具有两个输 入端口、一个输出端口和一个控制端口,其第一输入端口连接至所述第一查找表41a的输 出端口,其第二输入端口连接至所述第二查找表的输出端口,其控制端口连接至所述自适 应查找表模块的输入端[2k-2],其输出端口作为所述自适应查找表模块的输出端;其中, 所述第一查找表(41a)的输出端口和第一 2选1多路选择器(42b)的第一输入端口之间构 成反馈路径。
[0017] (三)有益效果
[0018] 从上述技术方案可以看出,本发明带内部反馈的自适应查找表模块在现有的LUT 模块中增加了一多路选择器和反馈路径,从而在普通模式之外,实现了级联模式,在LUT模 块中实现了更多的功能。
【附图说明】
[0019] 图1为现有技术中FPGA基本逻辑单元的结构示意图;
[0020] 图2为现有技术中可配置逻辑模块(ALM)的结构示意图;
[0021] 图3为图2所示ALM中基本结构-可拆分LUT模块的结构示意图;
[0022] 图4为根据本发明实施例带内部反馈的自适应查找表模块的结构示意图;
[0023] 图5A和图5B为可拆分LUT单元和本发明LUT单元的比较示意图。
【具体实施方式】
[0024] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照 附图,对本发明进一步详细说明。需要说明的是,在附图或说明书描述中,相似或相同的部 分都使用相同的图号。附图中未绘示或描述的实现方式,为所属技术领域中普通技术人员 所知的形式。另外,虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等 于相应的值,而是可在可接受的误差容限或设计约束内近似于相应的值。实施例中提到的 方向用语,例如"上"、"下"、"前"、"后"、"左"、"右"等,仅是参考附图的方向。因此,使用的 方向用语是用来说明并非用来限制本发明的保护范围。
[0025] 本发明带内部反馈的自适应查找表模块在现有的LUT模块中增加了一多路选择 器和反馈路径,在普通模式之外,实现了级联模式,从而在LUT模块中实现了更多的功能。
[0026] 在本发明的一个示例性实施例中,提供了一种带内部反馈的自适应查找表。图4 为根据本发明实施例带内部反馈的自适应查找表模块的结构示意图。如图4所示,本实施 例带内部反馈的自适应查找表模块,其具有2k_l个输入端和1个模式控制端,包括:
[0027] 第一 LUT (41a),其具有k-Ι个输入端口以及一个输出端口,该k-Ι个输入端口连接 至本实施例自适应查找表模块的输入端[0 :k_2];
[0028] 第二LUT (41b),其具有k-Ι个输入端口以及一个输出端口,该k-Ι个输入端口中的 k-2个输入端口连接至本实施例自适应查找表模块的输入端[k-1 :2k_4];
[0029] 第一2选1多路选择器42b,其具有两个输入端口、一个输出端口和一个控制端口, 其第一输入端口连接至第一 LUT的输出端,其第二输入端口连接至本实施例自适应查找表 模块的输入端[2k_3],其控制端口作为本实施例自适应查找表模块的模式选择端(图4的 Control bit);
[0030] 第二2选1多路选择器42a,其具有两个输入端口、一个输出端口和一个控制端口, 其
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1