本发明涉及微电子领域中的集成电路设计
技术领域:
:,特别是一种利用进位链的工艺映射方法。
背景技术:
::FPGA是一种具有丰富硬件资源、强大并行处理能力和灵活可重配置能力的逻辑器件。这些特征使得FPGA在数据处理、通信、网络等很多领域得到了越来越多的广泛应用。目前,在现场可编程逻辑门阵列(FieldProgrammableGateArray,FPGA)应用中,要求集成电路具有可编程或可配置的互连网络,逻辑门通过可配置的互连网络而彼此连接。作为独立芯片或系统中核心部分起作用的FPGA已经广泛被应用于大量微电子设备中。广义的FPGA的逻辑门的定义,不单指简单的与非门,也指具有可配置功能的组合逻辑与时序逻辑的逻辑单元(LE,LogicElement)或由多个逻辑单元互连而组成的逻辑块。现有技术的工艺映射方法会将与、或逻辑映射到查找表上,如图1所示,图1为现有技术中将与、或逻辑映射到查找表上的示意图。图中a1、a2、a3、a4、a5、a6的与、或逻辑,它们分别与6输入的查找表(Lookuptable-LUT)的输入端相连,并输出与、或逻辑结果X。然而对于较长宽度的与、或逻辑,这种利用查找表的实现方法相对要占用较多的逻辑资源及需要较长的延时。技术实现要素:本发明的目的是针对现有技术的缺陷,提供了一种利用进位链的工艺映射方法。本发明通过使用查找表与加法器相结合的工艺映射方法实现对较长宽度与或逻辑的工艺映射,能够节省芯片逻辑资源,同时可大幅降低实现该逻辑的延时。本发明提供一种利用进位链的工艺映射方法,所述方法包括:FPGA包括多个逻辑单元,一个逻辑单元包括多个逻辑片;将FPGA的一个逻辑单元LE上的一个逻辑片LP中多 输入查找表的输出端连接至第一加法器的第二加数输入端;将所述第一加法器的进位输入端和第一加数输入端各自输入1个比特信号;所述第一加法器进位输出端输出进位输出信号。优选地,所述方法还包括:将所述第一加法器的进位输出端连接至第二加法器的进位输入端;将所述第二加法器的第二加数输入端连接至另一个多输入的查找表的输出端;并将所述第二加法器的第一加数输入端输入1个比特信号;所述第二加法器的进位输出端输出进位输出信号。优选地,所述一个逻辑单元LE中包括多个所述逻辑片LP。优选地,所述一个逻辑片LP中包括多个多输入的查找表,多个加法器;其中,加法器的进位输出端与另一个加法器的进位输入端相连构成2位的进位链,多个加法器依次相连构成多位的进位链。优选地,一个或多个所述逻辑片LP中的查找表和加法器组合实现长宽度的与、或逻辑。优选地,所述1个比特信号为0或1。优选地,所述FPGA具体为CME-C1系列的器件。优选地,所述多输入的查找表为6输入。优选地,所述第二加法器与所述另一个多输入的查找表同在一个逻辑片中;该逻辑片与所述第一加法器所在的逻辑片可以是同一逻辑片,也可以是不同的逻辑片。本发明通过使用查找表与加法器相结合的工艺映射方法实现对较长宽度与或逻辑的工艺映射,能够节省芯片逻辑资源,同时可大幅降低实现该逻辑的延时。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中将与、或逻辑映射到查找表上的示意图;图2为本发明实施例提供的查找表与加法器组合示意图;图3为本发明实施例提供的CME-C1构架中PLBR示意图;图4为本发明实施例提供的一种基本逻辑单元示意图;图5为现有技术中48位逻辑与的示意图;图5-1为现有的工艺映射技术中利用查找表实现48位逻辑与的示意图;图5-2为本发明实施例提供的利用查找表和加法器实现48位逻辑与的示意图;图6为现有技术中48位逻辑或的示意图;图6-1为现有的工艺映射技术中利用查找表实现48位逻辑或的示意图;图6-2为本发明实施例提供的利用查找表和加法器实现48位逻辑或的示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。本发明提供了一种利用进位链的工艺映射方法。本发明通过使用查找表与加法器相结合的工艺映射方法实现对较长宽度与或逻辑的工艺映射,能够节省芯片逻辑资源,同时可大幅降低实现该逻辑的延时。本发明下述实施例中的方法是基于CME-C1系列FPGA器件实现的,为更好的理解本发明实施例提供的技术方案,首先对FPGA器件的架构进行简单说明。CME-C1型号FPGA芯片中分为可编程逻辑模块PLB(ProgrammableLogicBlock)和带本地存储器的可编程逻辑模块PLBR(ProgrammableLogicBlockLocalmemorylram),在芯片中PLBR与PLB所占的比例为1:1,但是PLBR所占的面积大。图3为本发明实施例提供的CME-C1构架中PLBR示意图。如图所示,一个带本地存储器的可编程逻辑块PLBR中,包括8个6输入的查找表分别为LUT0、LUT1、LUT2、LUT3、LUT4、LUT5、LUT6、LUT7。其中有4个是带本地存储器的查找表,分别为LUT0、LUT2、LUT4、LUT6;还包括8个加法器、16个寄存器,寄存器分别为Q0、Q1、Q2、Q3、Q4、Q5、Q6、Q7、Q8、Q9、Q10、Q11、Q12、Q13、Q14、Q15。如图所示,PLBR还包括查 找表LUT、寄存器、加法器等基本单元之间的连线资源。具体地,如图LUT0、LUT1的连线关系所示,查找表LUT内部包括两个5输入的查找表LUT5;有x、xy、shiftout三个输出端,其中xy输出端为LUT的输出端,x为5输入的查找表的输出端。当LUT模块作为一位寄存器使用时,使用shiftout输出端。LUT0的xy输出端口连线通过多路复用器mux_b0连接到加法器的第二加速输入端b0上;加法器的进位输出端输出进位信号C1。LUT1的xy输出端口连线通过多路复用器mux_b1连接到加法器的第二加速输入端b1上,该加法器的进位输入信号为C1,进位输出端输出进位信号C2。为更好的理解本发明实施例提供的技术方案,图4为本发明实施例提供的一种基本逻辑单元示意图。如图4所示,CME-C1型号的现场可编程逻辑门阵列(FieldProgrammableGateArray,FPGA)的架构中,一个基本逻辑单元的示意图。一个基本逻辑单元(LogicElement,LE)包括4个基本的可编程逻辑片(LP,LogicParcel),也就是LP0、LP1、LP2、LP3。一个基本的逻辑片包括2个6输入的查找表(Lookuptable-LUT)、2个加法器(Adder-ADD)、4个寄存器(Register-Reg)。图2为本发明实施例提供的查找表与加法器组合示意图。如图2所示,查找表LUT的6个输入端,分别输入a1、a2、a3、a4、a5、a6;查找表的输出端与加法器的第二加数输入端a端口相连。具体地,第一加数输入端b端口与进位输入端Ci各自输入1比特信号。该1比特信号为0或1。并输出进位输出信号Co和和数sum。需要说明的是,在本发明下述实施例中不用到sum端口,因此,并未画出。本发明提供一种利用进位链的工艺映射方法,所述方法包括:将FPGA的一个逻辑单元LE上的一个逻辑片LP中多输入查找表的第一输出端连接至第一加法器的第二加数输入端;将所述第一加法器的进位输入端和第一加数输入端各自输入1个比特信号;所述第一加法器进位输出端输出进位输出信号。具体地,上述方法还包括:将所述第一加法器的进位输出端连接至第二加法器的进位输入端;将所述第二加法器的第二加数输入端连接至另一个多输入的查找表的第一输出端;并将所述第二加法器的第一加数输入端输入1个比特信号;所述第二加法器的进位输出端 输出进位输出信号。本发明通过使用查找表与加法器相结合的工艺映射方法实现对较长宽度与或逻辑的工艺映射,能够节省芯片逻辑资源,同时可大幅降低实现该逻辑的延时。本发明实施例以6输入的查找表LUT来说明本发明使用查找表与加法器结合的工艺映射思想,但是并不限定查找表一定为6输入。LUT可以为4输入查找表,5输入查找表、7输入查找表等等。图5为现有技术中48位逻辑与的示意图。如图所示,a[47:0]输入到逻辑与的输入端口,输出结果O。O=a[0]&&a[1]&&…&&a[47];48个1做与的逻辑预算,O=1。图5-1为现有的工艺映射技术中利用查找表实现48位逻辑与的示意图。如图所示,利用6输入的查找表LUT来实现48个1的逻辑与运算。具体地,将48位分为8组,a[5:0]、a[11:6]、a[17:12]、a[23:18]、a[29:24]、a[35:30]、a[41:36]、a[47:42],分别输入到8个LUT的输入端;然后每4个LUT的输出端与一个LUT的输入端相连,这时又需要2个LUT(如图中AND4);形成了2个逻辑层(LogicLevel)。该2个逻辑层的LUT的输出端又于一个LUT(如图中AND2)的输入端,形成第3个逻辑层LogicLevel。AND2的输出端输出48个1的逻辑与的结果O。此时48位逻辑与的实现包含了11个6输入查找表,逻辑层LogicLevel为3级。由于一个逻辑单元LE中有8个LUT,因此实现48位的逻辑与需要2个LE。2个LE之间的连线都会使用XBAR上的普通绕线资源,也有一定的时延。图5-2为本发明实施例提供的利用查找表和加法器实现48位逻辑与的示意图。在FPGA芯片中,加法器相连构成进位链Carrychain。如图所示,48位逻辑与的运算同样分为8组,分别为a[5:0]、a[11:6]、a[17:12]、a[23:18]、a[29:24]、a[35:30]、a[41:36]、a[47:42],分别连接一个LUT的输入端,每一个LUT的输出端分别与加法器的第二加数输入端相连,与a[47:42]相连的加法器1的进位输入端输入1个比特信号0,其第一加数的输入端输入1个比特信号1,并输出进位输出信号作为下一个加法器2的输入信号。加法器2、加法器3、加法器4、加法器5、加法器6、加法器7的第一加数输入端各自输入1个比特的0,加法器2的进位输出信号作为加法器3的进位输入信号,加法器3的进位输出信号作为加法器4的进位输入信号,加法器4的进位输出信号作为加法器5的 进位输入信号,加法器5的进位输出信号作为加法器6的进位输入信号,加法器6的进位输出信号作为加法器7的进位输入信号,加法器7的进位输出信号作为加法器8的进位输入信号。最终由加法器8的输出进位输出结果O。a+8’b00000001的逻辑与运算,进位条件是a的所有位都是1;a的任意一位是0,就不能进位。48个1做逻辑与运算,满足进位条件,输出结果O=1。本发明实施例实现48个1的逻辑与运算,只需要8个LUT,8位的进位链(8-bitcarrychain),不仅节省了查找表资源,同时查找表、加法器这些逻辑资源都可布局在一个LE的内部,逻辑资源内部的连线也可以全部通过LE内部连线来实现,不需要占用XBAR的绕线资源;同时也减少了延时。需要说明的是,本发明实施例提供的逻辑与的实现方式以48位为例,但是本发明并不限定逻辑与的位数。图6为现有技术中48位逻辑或的示意图。a[47:0]输入到逻辑或的输入端,做48位的逻辑或运算,输出结果O。O=a[1]||a[2]||…||a[47]。a中至少有一位为1,O=1。图6-1为现有的工艺映射技术中利用查找表实现48位逻辑或的示意图。如图6-1所示,将48位逻辑或运算,分为8组,分别为a[5:0]、a[11:6]、a[17:12]、a[23:18]、a[29:24]、a[35:30]、a[41:36]、a[47:42]。每组分别连接一个LUT的输入端,此时需要8个LUT。4个LUT的输出端与LUT(如图中OR4)的输入端相连,此时需要2个LUT(如图中OR4),就是有2个逻辑层。这两个LUT的输出端连接一个LUT(如图中OR2)的输入端,形成第3逻辑层。LUT(如图中OR2)输出逻辑与的结果。此时48位逻辑或实现包含了11个6输入查找表,逻辑层LogicLevel为3级。由于一个逻辑单元LE中有8个LUT,因此实现48位的逻辑与需要2个LE。2个LE之间的连线都会使用XBAR上的普通绕线资源,也有一定的时延。此时最优实现包含了11个6输入查找表,逻辑层LogicLevel为3级。由于一个逻辑单元LE中有8个LUT,因此实现48位的逻辑或需要2个LE。2个LE之间的连线都会使用XBAR上的普通绕线资源,也有一定的时延。图6-2为本发明实施例提供的利用查找表和加法器实现48位逻辑或的示意图。如图所示,48位逻辑或的运算同样分为8组,分别为a[5:0]、a[11:6]、a[17:12]、a[23:18]、a[29:24]、 a[35:30]、a[41:36]、a[47:42],分别连接一个LUT的输入端,每一个LUT的输出端分别与加法器的第二加数输入端相连,与a[47:42]相连的加法器1的进位输入端输入1个比特信号0,其第一加数的输入端输入1个比特信号1,并输出进位输出信号作为下一个加法器2的输入信号。加法器2、加法器3、加法器4、加法器5、加法器6、加法器7的第一加数输入端各自输入1个比特的1,加法器2的进位输出信号作为加法器3的进位输入信号,加法器3的进位输出信号作为加法器4的进位输入信号,加法器4的进位输出信号作为加法器5的进位输入信号,加法器5的进位输出信号作为加法器6的进位输入信号,加法器6的进位输出信号作为加法器7的进位输入信号,加法器7的进位输出信号作为加法器8的进位输入信号。最终由加法器8的输出进位输出结果O。a+8’b11111111的逻辑或运算,进位条件是a的至少一位是1;a的所有位是0,就不能进位。48位逻辑或运算,a中至少一位为1,则满足进位条件,输出结果O=1。本发明实施例实现48位的逻辑或运算,只需要8个LUT,8位的进位链(8-bitcarrychain),不仅节省了查找表资源,同时查找表、加法器这些逻辑资源都可布局在一个LE的内部,逻辑资源内部的连线也可以全部通过LE内部连线来实现,不需要占用XBAR的绕线资源;同时也减少了延时。需要说明的是,本发明实施例提供的逻辑或的实现方式以48位为例,但是本发明并不限定逻辑或的位数。本发明通过使用查找表与加法器相结合的工艺映射方法实现对较长宽度与或逻辑的工艺映射,能够节省芯片逻辑资源,同时可大幅降低实现该逻辑的延时。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软 件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或
技术领域:
:内所公知的任意其它形式的存储介质中。以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3