一种提高LUT合并效果的FPGA映射方法技术

技术编号:38425370 阅读:11 留言:0更新日期:2023-08-07 11:23
本发明专利技术提供一种提高LUT合并效果的FPGA映射方法。该方法包括:首先确定LUT网表的子网表;统计所述子网表中LUT的输入端口数以及输入信号得到统计列表;基于所述统计列表查询LUT输入信号的共享输入数目;依次合并输入信号共享输入数目为5、4、3、2、1的LUT得到多输入两输出的查找表,提取其中各个LUT的公共上层模块,并对所述公共上层模块的层级进行排序,基于所述排序的结果,合并公共上层模块的层级低的LUT,以及,合并公共上层模块的层级高的LUT;针对没有共享输入的多个LUT,提取各个LUT的公共上层模块,先合并公共上层模块的层级低的LUT,以及再合并公共上层模块的层级高的LUT。如此,可以实现降低对布局、布线不利的合并,优先对布局、布线有利的合并。布线有利的合并。布线有利的合并。

【技术实现步骤摘要】
一种提高LUT合并效果的FPGA映射方法


[0001]本说明书一个或多个实施例涉及微电子领域中的集成电路
,尤其涉及一种提高LUT合并效果的FPGA映射方法。

技术介绍

[0002]FPGA(Field Programmable Gate Array)是一种具有丰富硬件资源,灵活可重配置的逻辑器件。查找表(Look up table,简称LUT)是FPGA芯片上的基本逻辑单元。
[0003]工艺映射是数字系统设计中的一个重要环节,将与工艺无关的结构映射为工艺相关的物理实现。其中,LUT的数量会影响FPGA芯片的功率、布局和芯片的面积。LUT5_2是中高端FPGA的常见特性,LUT的合并对布局、布线和最终的时序都会产生影响,如何按照设计相关度合并LUT是需要解决的问题。

技术实现思路

[0004]本专利技术描述一种提高LUT合并效果的FPGA映射方法,可以解决上述技术问题。
[0005]本法专利技术实施例提供一种提高LUT合并效果的FPGA映射方法。该方法包括:
[0006]确定LUT网表的子网表;统计所述子网表中LUT的输入端口数以及输入信号得到统计列表;基于所述统计列表查询LUT输入信号的共享输入数目;合并输入信号共享输入数目为5的LUT得到五输入两输出的查找表,提取其中各个LUT的公共上层模块,并对所述公共上层模块的层级进行排序,基于所述排序的结果,合并公共上层模块的层级低的LUT,以及,合并公共上层模块的层级高的LUT;合并输入信号共享输入数目为4、3、2、1的LUT得到多输入两输出的查找表,按照所述公共上层模块的层级进行排序,基于所述排序的结果,合并公共上层模块的层级低的LUT,以及,合并公共上层模块的层级高的LUT;针对没有共享输入的多个LUT,提取其中各个LUT的公共上层模块,并对所述公共上层模块的层级进行排序;基于所述排序的结果,合并公共上层模块的层级低的LUT,以及,合并公共上层模块的层级高的LUT。在一种实施方式中,所述LUT的输入端口数为有信号输入的端口数目。
[0007]在一种实施方式中,共享5输入的LUT比共享4输入的LUT设计相关度高。
[0008]在该实施方式中,一般来说,将两个LUT合并为LUT5_2时,共享的输入越多,说明其设计的相关度越高,相应的,合并的必要性也越强。而如果两个LUT不共享输入,那么合并后就有可能因为相关度较低,给布局、布线造成困难,对最终的时序表现也不友好。
[0009]在一种实施方式中,所述公共上层模块的层级基于综合反标的层次化信息提取。
[0010]在一种实施方式中,所述两个输入信号共享输入数目为5的LUT合并后,实现LUT5_2的工作模式。
[0011]在本说明书实施例提供的上述方法中,通过优先合并设计相关度高的LUT,有效的减少了LUT数量,从而降低对布局、布线不利的合并。
附图说明
[0012]为了更清楚地说明本专利技术实施例的技术方案,下面对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0013]图1示出本申请实施例提供的赛灵思virtex5系列的LUT6示意图;
[0014]图2示出本说明书实施例提供的一种提高LUT合并效果的FPGA映射方法的流程示意图;
[0015]图3示出本专利技术实施例提供的合并LUT的实施例1;
[0016]图4示出本专利技术实施例提供的合并LUT的实施例2;
[0017]图5示出本专利技术实施例提供的合并LUT的实施例3;
[0018]图6示出本说明书实施例提供的一种LUT网表的模块层次示意图;
[0019]图7示出本专利技术实施例提供的合并LUT的实施例4。
具体实施方式
[0020]下面结合附图,对本说明书提供的方案进行描述。
[0021]为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例中的技术方案进行描述。
[0022]在本申请实施例的描述中,“示例性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
[0023]在本申请实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。
[0024]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0025]以赛灵思Xilinx virtext5系列为例,说明本专利技术实施例的技术方案。需要理解的是,本专利技术实施例也可以应用在其他FPGA芯片中。图1示出本申请实施例提供的赛灵思virtex5系列的LUT6示意图,如图1所示,位于图1左侧的LUT6的输入端口为f0

f5,输出为xy。当LUT6为6位输入,1位输出时,下面的LUT5存放f5为0时的输出结果,上面的LUT5存放f5为1时的输出结果,将f5接入多路选择器MUX的数据选择端口,那么两个LUT5和一个多路选择器MUX就可以组成一个LUT6。Xilinx virtex5的LUT6除了可以做到6位输入1位输出,还可以做到5位相同的输入2位输出。如图1右侧LUT所示,当LUT6作为两个5位相同输入2位输出时,f5被强行写为1,多路选择器MUX选择上面的LUT5的输出结果到x,下面的LUT5直接输出到xy。所以LUT6有两个输出(x,xy)。
[0026]因此1个LUT6可以实现6位输入1位输出的逻辑运算,也可以实现2个相同的5位输
入2位输出的逻辑运算。
[0027]在FPGA中,用LUT来替代门电路,逻辑表达式是6位以内输入1位输出,无论编译后门电路复杂还是简单,综合后的结果都是一个LUT6。当然因为LUT6的结构的原因,当5位相同输入2位输出时,综合后的结果也是一个LUT6。LUT5_2是中高端FPGA的常见特性,使用得当可以有效减少LUT数量。
[0028]一般来说,将两个LUT合并为LUT5_2时,共享的输入越多,说明其设计的相关度越高,相应的,合并的必要性也越强。而如果两个LUT不共享输入,那么合并后就有可能因为相关度较低,给布局、布线造成困难,对最终的时序表现也不友好。
[0029]基于上述设计相关度原则,本专利技术提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提高LUT合并效果的FPGA映射方法,其特征在于,所述方法包括:确定LUT网表的子网表;统计所述子网表中LUT的输入端口数以及输入信号得到统计列表;基于所述统计列表查询LUT输入信号的共享输入数目;合并输入信号共享输入数目为5的LUT得到五输入两输出的查找表,提取其中各个LUT的公共上层模块,并对所述公共上层模块的层级进行排序,基于所述排序的结果,合并公共上层模块的层级低的LUT,以及,合并公共上层模块的层级高的LUT;合并输入信号共享输入数目为4、3、2、1的LUT得到多输入两输出的查找表,按照所述公共上层模块的层级进行排序,基于所述排序的结果,合并公共上层模块的层级低的LUT,以及,合并公共上层模块...

【专利技术属性】
技术研发人员:刘桂林王海力
申请(专利权)人:京微齐力北京科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1