CN113986815A - 一种基于多粒度查找表结构的可编程逻辑块 - Google Patents
一种基于多粒度查找表结构的可编程逻辑块 Download PDFInfo
- Publication number
- CN113986815A CN113986815A CN202111264797.2A CN202111264797A CN113986815A CN 113986815 A CN113986815 A CN 113986815A CN 202111264797 A CN202111264797 A CN 202111264797A CN 113986815 A CN113986815 A CN 113986815A
- Authority
- CN
- China
- Prior art keywords
- lut
- output
- input
- independent
- luts
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006870 function Effects 0.000 claims abstract description 50
- 102100040553 FXYD domain-containing ion transport regulator 3 Human genes 0.000 claims abstract description 31
- 101000893731 Homo sapiens FXYD domain-containing ion transport regulator 3 Proteins 0.000 claims abstract description 31
- 101100021997 Arabidopsis thaliana CYP97A3 gene Proteins 0.000 claims description 6
- 239000002699 waste material Substances 0.000 abstract description 6
- 238000000034 method Methods 0.000 abstract description 4
- 235000019580 granularity Nutrition 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 24
- 238000013507 mapping Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012905 input function Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种基于多粒度查找表结构的可编程逻辑块,可编程逻辑块的每个基本逻辑单元包含两个完全相同相互独立的PLML(Programmable Logic Module‑Logic);每个PLML包括LUT模块、逻辑运算模块、触发器模块和多路选择器模块;每个PLML包含三种粒度的双输出LUT共4个(4‑LUT 2个、5‑LUT 1个、6‑LUT 1个),4个加法器和4个触发器以及若干个多路选择器等资源;每个PLML通过内部同种或不同种资源组合,可以实现功能更强的LUT、加法器和MUX功能,且均能实现寄存输出。本发明所提出的结构与传统CLB结构相比,具有多种输入的查找表结构,可以根据功能需求映射到对应的LUT上,避免资源浪费。与自适应查找表相比,可以实现更多独立的功能函数,同时配置起来也比较简单,没有共享端口配置时的诸多限制条件。
Description
技术领域
本发明涉及可编程芯片设计领域,尤其涉及一种基于多粒度查找表结构的可编程逻辑块。
背景技术
现场可编程门阵列(FPGA)是一种通过重新编程实现用户所需逻辑电路的半导体器件,是可编程逻辑器件(PLD)的一种。闪存、反熔丝和静态存储器(SRAM)是现代FPGA最常用的可编程技术,其中,基于SRAM的FPGA产品占比达到90%以上,成为当前FPGA设计中主要使用的可编程技术。
FPGA组成主要包括可编程逻辑块,可编程互连资源,可编程输入/输出模块这三大要素,以及为了提高运算而嵌入的DSP,BRAM等可编程IP模块和生成时钟用的PLL或DLL。可编程逻辑块(Configurable Logic Block,CLB)是FPGA的基础和核心。从发展历史上来看,CLB构成方式先后出现了基于与非门、多路选择器、查找表等多种形式。当前商用FPGA最流行的是基于查找表结构的CLB,其基本结构为多个基本逻辑单元(BLE)。
如图1所示,BLE由查找表(LUT)、寄存器以及一些多路选择器等模块组成。其中,查找表负责实现多输入布尔函数,实现的是组合逻辑;寄存器负责对组合逻辑的输出进行寄存器,从而实现时序逻辑;多路选择器负责对信号进行选择,以决定当前输出为组合输出或寄存输出。
如图2所示,一个4输入查找表(4-LUT)的基本结构,包括四位数据端A<1>~A<4>和16bit SRAM,可以实现任意4输入的组合逻辑函数,相应的6-LUT可以实现任意6输入的组合逻辑函数。
商用FPGA中的查找表分为两种:固定输入个数的查找表和自适应查找表(ALM)。
如图3所示,Xilinx FPGA中CLB采用固定输入个数的LUT,目前其主流产品中LUT输入个数为6,每个CLB包含8个6-LUT,也可以按需求组合到两个Slice中。学术研究表明4~6输入LUT在面积和速度方面有比较好的平衡,Xilinx的6-LUT结构虽然LUT输入端没有共享,能实现更多独立的函数,性能较强,但是造成输入端口数量过多,而且信号深度较大,延时随之增加。由于工具映射为6-LUT的逻辑仅有45%,因此在实现较少输入的函数时存在的资源极大浪费,同时延迟也会有所增加。
如图4所示,Altera FPGA采用自适应查找表结构(Adaptive Logic Module,ALM),每个LAB由10个BLE组成。每个BLE由一个可以实现部分8输入逻辑函数的ALM组成以及配置为各种组合的LUT结构。虽然8输入ALM输入个数较少,但是最大的问题是共享输入比较多,因此在实现不同功能函数时会需要使用较多的公共输入端,约束条件也会变得十分苛刻。想要将8-LUT配置为2个6-LUT则至少需要三个公共输入端。该结构较好地避免了实现较少输入函数时资源的浪费,但是在实现多个函数时,存在如不同函数之间需要有公共输入端等各种约束条件,同时提高资源利用率避免浪费,但是对packing算法提出来较高要求,才能充分配置出ALM各种工作模式。
发明内容
为解决现有技术中存在的不足,本发明的目的在于,提供一种基于多粒度查找表结构的可编程逻辑块。
为实现本发明的目的,本发明所采用的技术方案是:
一种基于多粒度查找表结构的可编程逻辑块,所述可编程逻辑块的每个基本逻辑单元包含两个完全相同相互独立的PLML,拥有独立的输入输出以及进位链结构;
每个PLML包括LUT模块、逻辑运算模块、触发器模块和多路选择器模块;多路选择器模块包括9个2:1MUX和11个多选一MUX;
LUT模块包括相互独立的1个五输入查找表(5-LUT),1个六输入查找表(6-LUT),2个四输入查找表(4-LUT),每个LUT包含两路输出;
逻辑运算模块包括4个独立的2输入加法器/减法器Adder1~4,每个加法器/减法器有1路进位输入端、2路加法器/减法器输入端、1路加法器/减法器运算和输出端,1路进位输出端;
第一路加法器/减法器输入端为LUT的输出,第二路加法器/减法器输入端为LUT的输出与旁路端口BYP1~4通过多路选择器的选通;
4个加法器/减法器级联成一个多位加法器,级联输入信号为Carry_in或0/1,级联输出信号为Carry_out;
触发器模块包括4个触发器,包括输入端D、输出端Q、时钟控制端CLK、使能端EN、置位复位端SR、初始化信号端INIT,输入端D为LUT的输出、加法器运算和输出端、进位输出端与旁路端口BYP1~4通过多路选择器的选通,实现触发器复用模式;
每个PLML通过内部同种或不同种资源组合,充分调用整个PLML的LUT、加法器和MUX,实现更加复杂的LUT功能,时序逻辑功能、逻辑运算功能以及多路选择器功能。
进一步地,可实现的LUT寄存输出功能模式包括:
1个独立的6-LUT,1个独立的5-LUT,2个独立的4-LUT的寄存输出;
两个独立的6-LUT的寄存输出;
两个有公共输入端的6-LUT;两个独立的5-LUT,1个独立的6-LUT的寄存输出;
两个有公共输入端的5-LUT,1个独立的6-LUT的寄存输出;
一个完整的7-LUT的寄存输出。
进一步地,可实现的时序逻辑功能模式包括:
LUT各种组合模式的组合逻辑结果的寄存输出;4个加法器结果的寄存输出;多种位宽多路选择器的寄存输出;旁路信号的寄存输出。
进一步地,可实现的逻辑运算的寄存输出功能包括:
四个独立的2输入加法器/减法器的寄存输出;两个复用的2输入加法器/减法器的寄存输出;一路输入来自旁路信号的2输入加法器/减法器的寄存输出;一个级联多bit加法器/减法器的寄存输出;
其中,2路触发器复用模式,复用Adder1和Adder2;此模式下进位输出可以直接旁路掉Adder3和Adder4被Carry_out选通。
进一步地,可实现的多路选择器功能模式包括:
1个独立的4:1MUX,1个独立的3:1MUX,2个独立的2:1MUX的寄存输出;
2个独立的4:1MUX,1个独立的3:1MUX的寄存输出;
2个独立的4:1MUX的寄存输出;
1个8:1MUX的寄存输出。
进一步地,LUT配置模式及对应输出端口名:
第一LUT4,其输入包括A1/A2/A3/A4,输出包括LUT4OUT1和LUT3OUT1;第二LUT4,其输入包括B1/B2/B3/B4,输出包括LUT4OUT2和LUT3OUT2;LUT5,其输入包括C1/C2/C3/C4/C55,输出包括LUT5OUT1和LUT4OUT3;LUT6,输入包括D1/D2/D3/D4/D5/D6,输出包括LUT6OUT1和LUT5OUT2;MUX1,其输入包括C5和L7in,输出连接到L5MUX的选择端;MUX2,其输入包括D6和L7in,输出连接到L6MUX的选择端;MUX3,其输入包括D6和L7in,输出连接到L7MUX的选择端;L5MUX,其第一输入端连接第一LUT4的O4输出,第二输入端连接第二LUT4的O4输出,其输出端连接LUT5OUT3;L6MUX,其第一输入端连接LUT5的O5输出,第二输入端连接L5MUX的输出,其输出端连接LUT6OUT2;L7MUX,其第一输入端连接LUT6的输出,第二输入端连接L6MUX的输出,其输出端连接LUT7OUT。
进一步地,L5MUX采用C5或L7in信号作为选择端组合两个4-LUT级联成1个5-LUT;
L6MUX采用D6或L7in信号作为选择端组合两个4-LUT和1个5-LUT级联成1个独立的6-LUT;
L6MUX采用D6或L7in信号作为选择端组合两个4-LUT和1个5-LUT级联成2个有一根公共输入端的5-LUT;
L7MUX采用D6或L7in信号作为选择端组合两个4-LUT和1个5-LUT以及1个6-LUT级联成2个有一根共享输入端的6-LUT;
L7MUX采用D6或L7in信号作为选择端组合两个4-LUT和1个5-LUT以及1个6-LUT级联成1个独立的7-LUT。
进一步地,PLML结构可以实现其他更小输入的组合逻辑函数组合及其相应的寄存输出。
本发明的有益效果在于,与现有技术相比,本发明所提出的结构具有多种输入的查找表结构,可以根据功能需求映射到对应的LUT上,避免资源浪费。与自适应查找表相比,可以实现更多独立的功能函数,同时配置起来也比较简单,没有共享端口配置时的诸多限制条件。
附图说明
图1是现有技术中基本逻辑单元结构示意图;
图2是现有技术中4-LUT内部结构示意图;
图3是现有技术中Xilinx CLB组成示意图;
图4是现有技术中Altera ALM组成示意图;
图5是本发明基于多粒度查找表结构的可编程逻辑块的结构图;
图6是本发明PLML内部结构示意图;
图7是本发明LUT模块整体结构示意图;
图8是本发明LUT各种输出方式及其端口示意图;
图9是本发明LUT模式1中四个独立LUT的示意图;
图10是本发明LUT模式2中两个独立6-LUT的示意图;
图11是本发明LUT模式2中第二6-LUT配置方式的示意图;
图12是本发明LUT模式3中有1个公共输入端的双6-LUT的示意图;
图13是本发明LUT模式3中第二个6-LUT配置方式的示意图;
图14是本发明LUT模式4中1个6-LUT和2个独立5-LUT的示意图;
图15是本发明LUT模式4中第二个5-LUT配置方式的示意图;
图16是本发明LUT模式5中1个6-LUT、1个独立5-LUT和1个共享输入的5-LUT的示意图;
图17是本发明LUT模式5中第二个5-LUT配置方式的示意图;
图18是本发明LUT模式6中1个独立7-LUT配置方式的示意图;
图19是本发明逻辑运算模块电路,(a)加法器模块带寄存输出示意图;(b)加法器普通模式;(c)加法器复用模式。
图20是本发明多种位宽的多路选择器(MUX)模块模式1中普通模式MUX配置示意图;
图21是本发明多种位宽的多路选择器(MUX)模块模式2中2个4:1MUX和1个3:1MUX配置方式示意图;
图22是本发明多种位宽的多路选择器(MUX)模块模式3中两个4:1MUX配置方式示意图;
图23是本发明多种位宽的多路选择器(MUX)模块模式4中8:1MUX配置方式示意图;
图24是本发明普通模式LUT寄存输出示意图;
图25是本发明L5MUX、L6MUX和L7MUX级联后LUT寄存输出示意图;
图26是本发明旁路信号的寄存输出示意图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本申请的保护范围。
如图5所示,本发明所述的基于多粒度查找表结构的可编程逻辑块,由两个完全相同的PLML(Programmable Logic Module-Logic)组成,且两个PLML相互独立,拥有独立的输入输出以及进位链结构。如图6所示,每个PLML包含三种粒度的双输出LUT共4个(4-LUT 2个、5-LUT 1个、6-LUT 1个),4个加法器和4个触发器以及若干个多路选择器(9个2:1MUX和11个多选一MUX)等资源,可以实现组合逻辑功能,时序逻辑功能以及算术运算功能。每个PLML包括以下资源:
(1)多种输入的LUT;
1个完整的6输入查找表6-LUT,及其输入D1,D2,D3,D4,D5,D6;一个完整的5输入查找表5-LUT,及其输入C1,C2,C3,C4,C5;两个完整的4输入查找表4-LUT,第一四输入查找表输入为B1,B2,B3,B4;第二四输入查找表输入为A1,A2,A3,A4;输入L7in。
(2)触发器;
触发器输入端D和输出端Q、时钟控制端CLK、使能端EN、置位复位端SR以及初始化信号INIT,可以实现电平触发及边沿触发的触发器功能和LATCH功能;实现FPGA上电初始化功能。
(3)逻辑运算;
4个独立的2输入加法器/减法器Adder1~4,每个加法器有1路进位输入端、2加法器输入端、1路加法器运算和(SUM)输出端以及进位(CY)输出端。2路加法器输入端分别来自2个LUT,在LUT中能实现对输入信号进行预处理操作。第二路输入也可以从INTERCONNECTION中经由BYP1~4这四个旁路端口直接选通到加法器输入端,4路加法器输出端口分别为SUM1~4和CY1~4。
2路触发器复用模式,复用Adder1和Adder2。复用模式下可以充分调用整个PLML的LUT并且发挥5-LUT和6-LUT的高输入预处理能力,可以处理更加复杂的逻辑运算。此模式下进位输出可以直接旁路掉Adder3和Adder4被Carry_out选通。
4个加法器级联成一个多bit加法器/减法器,并且可以跟其他CLBLL级联,级联输入信号为Carry_in或0/1,级联输出信号为Carry_out,两个级联的加法器输入信号也可以进行预处理。
(4)多种位宽的多路选择器(MUX);
通过对LUT的配置可实现的对路选择器类型包括4:1MUX、3:1MUX、2:1MUX和8:1MUX。
每个PLML通过内部同种或不同种资源组合,可以实现功能更强的LUT、加法器和MUX功能,且均能实现寄存输出,拓展了应用范围,提高了资源利用率。该PLML可以实现的功能如下:
(1)LUT功能;
1个独立的6-LUT,1个独立的5-LUT,2个独立的4-LUT;两个有1个公共输入端的5-LUT,1个独立的6-LUT;两个有公共输入端的6-LUT和1个2选1多路选择器;两个独立的6LUT;一个完整的7-LUT。
(2)时序逻辑功能;
从LUT各种组合模式来的组合逻辑结果的寄存输出;4个加法器结果的寄存输出;多种位宽MUX的寄存输出;旁路信号等信号的寄存输出。
(3)逻辑运算功能;
四个独立的2输入加法器/减法器;两个复用的2输入加法器/减法器;一路输入来自旁路信号的2输入加法器/减法器;一个级联多bit加法器/减法器。
(4)多种位宽的多路选择器(MUX)功能;
1个独立的4:1MUX,1个独立的3:1MUX,2个独立的2:1MUX;2个独立的4:1MUX,1个独立的3:1MUX;2个独立的4:1MUX;1个8:1MUX。
各模块详细功能及拓展分析如下。
(一)LUT模块
如图7所示,LUT模块实现函数功能时的整体结构,主要分为两大类,组合逻辑输出和寄存器输出,分别对应组合逻辑输出和时序输出。LUT结果的寄存器输出详见触发器模块。组合逻辑输出结果又分为两类,LUT结果直接输出和几个LUT组合成更高输入LUT后再输出。
如图8所示,各种配置模式下LUT的组合及对应输出端口名。第一LUT4,其输入包括A1/A2/A3/A4,输出包括LUT4OUT1和LUT3OUT1;第二LUT4,其输入包括B1/B2/B3/B4,输出包括LUT4OUT2和LUT3OUT2;LUT5,其输入包括C1/C2/C3/C4/C55,输出包括LUT5OUT1和LUT4OUT3;LUT6,输入包括D1/D2/D3/D4/D5/D6,输出包括LUT6OUT1和LUT5OUT2;MUX1,其输入包括C5和L7in,输出连接到L5MUX的选择端;MUX2,其输入包括D6和L7in,输出连接到L6MUX的选择端;MUX3,其输入包括D6和L7in,输出连接到L7MUX的选择端;L5MUX,其第一输入端连接第一LUT4的O4输出,第二输入端连接第二LUT4的O4输出,其输出端连接LUT5OUT3;L6MUX,其第一输入端连接LUT5的O5输出,第二输入端连接L5MUX的输出,其输出端连接LUT6OUT2;L7MUX,其第一输入端连接LUT6的输出,第二输入端连接L6MUX的输出,其输出端连接LUT7OUT。
从类型上看实现了4~7输入的LUT,下面将对其各种配置模式进行详细分析。
(1)模式1,如图9所示,整个PLML的普通模式下可以直接配置4个完全独立的LUT:1个6-LUT,1个5-LUT,2个4-LUT,这也是映射时候最常用的模式。
(2)模式2,如图10所示,整个PLML可以配置为2个独立的6-LUT,其中第一6-LUT直接采用PLML中的LUT6。如图11所示,第二6-LUT是由两个4-LUT和1个5-LUT组合而成,控制端选用L7in信号。
(3)模式3,如图12所示,整个PLML可以配置为2个有公共输入端的的6-LUT,其中第一6-LUT直接采用PLML中的LUT6。如图13所示,第二6-LUT是由两个4-LUT和1个5-LUT组合而成,最后一级控制端选用D6信号作为公共输入信号。
(4)模式4,如图14所示,整个PLML可以配置为1个6-LUT、2个独立的5-LUT。其中6-LUT和第一个5-LUT直接采用PLML中的提供的LUT。如图15所示,第二5-LUT是由两个4-LUT组合而成,最后一级控制端选用L7in信号。
(5)模式5,如图16所示,整个PLML可以配置为1个6-LUT、1个独立5-LUT和1个共享输入的5-LUT。其中6-LUT和第一个5-LUT直接采用PLML中的提供的LUT。如图17所示,第二5-LUT是由两个4-LUT组合而成,最后一级控制端选用C5信号作为公共输入信号。
(6)模式6,如图18所示,整个PLML可以配置为1个能实现全部7输入函数功能的LUT,此模式下L5MUX选择端复用C5信号,L6MUX选择端复用D6信号。
(二)逻辑运算模块
如图19(a)所示,整个PLML中包含4个独立的加法器Adder1~4,输出端口分别为SUM1~4和CY1~4,以及级联输入信号Carry_in和级联输出信号Carry_out。图(b)所示,在普通模式下,每个加法器可以实现一个2输入的1bit加法器,SUM与进位输出CY可以从YM1~4直接选择输出,也可以经过触发器寄存输出。4个加法器可以通过对进位输入端进行0/1选择来实现加法和减法运算。图(c)所示,在触发器复用模式下,Adder1第一输入端为经过5-LUT预处理的数据,第二输入端为是经过第2个4-LUT预处理的数据;Adder2第一输入端为经过6-LUT预处理的数据,第二输入端为是经过第1个4-LUT预处理的数据。复用模式下可以充分利用整个PLML中4个不同粒度的LUT,并且发挥5-LUT和6-LUT的高输入预处理能力,用以处理更加复杂且独立的逻辑运算。此模式下输出可以直接旁路掉Adder3和Adder4被Carry_out选通。
(三)多种位宽的多路选择器(MUX)
(1)模式1,如图20所示,整个PLML的四个独立的LUT可以实现1个4:1MUX、1个3:1MUX和2个2:1MUX,同时可以选择直接输出或者寄存器输出。
(2)模式2,如图21所示,2个4:1MUX和1个3:1MUX,两个4-LUT实现的2:1MUX可以通过L5MUX实现4:1MUX,此时L5MUX控制端选用L7in,此时A3和B3输入信号固定为0或1即可。
(3)模式3,如图22所示,2个4:1MUX,两个4-LUT与5-LUT组合4:1MUX,此时L5MUX控制端选用C5,L6MUX控制端选用L7in,此时4-LUR的A1~A4与B1~B460配置为相同数据,A3、B3和C3输入信号固定为0或1即可。
(4)模式4,如图23所示,1个8:1MUX,选用L7MUX将两个4:1MUX级联成1个8:1MUX,此时L5MUX控制端选用C5或L7in均可,L6MUX控制端选用D6,L7MUX控制端选用L7in,此时4-LUR的A1~A4与B1~B460配置为相同数据,A3、B3和C3输入信号固定为0或1即可。
(四)触发器
本发明中触发器可以实现电平触发及边沿触发功能以及LATCH功能,同时能实现FPGA上电初始化功能,主要端口为触发器输入端口D、输出端Q、时钟控制端CLK、使能端EN、置位复位端SR以及初始化信号INIT;可以实现LUT、MUX、加法器等组合电路模块信号的寄存输出。图24列举了普通模式下LUT的寄存输出,图25列举了用L5MUX、L6MUX和L7MUX级联成更高输入的LUT时候的寄存输出方式。图26列举了旁路信号BYP1~4的寄存输出。
为进一步验证本发明技术方案性能,将本发明中方案与三种参考结构的面积对比,如表1所示。本发明可知有利于在性能和面积(成本)之间进行平衡,用较少面积实现更强的性能。
表1
将参考结构1与本发明方案的性能对比,如表2,可知,相比面积较小的8个4-LUT组成的CLBLL结构,本方案面积虽然有所增加,但是能实现的LUT功能更强,能实现更多的6-LUT甚至7-MUX,更适合现代商用FPGA的使用,并且多种位宽的MUX有更好的使用范围。
表2
将参考结构2与本发明方案的性能对比,如表3,可知,具有8个完整的6-LUT的CLBLL结构所消耗的资源和占用的面积是比较大的,但是在实际使用中6-LUT的映射比例不到50%,因此相较于映射到4-LUT和5-LUT,面积开销几何倍增长,同时因为逻辑深度较大,延时随之增加,降低了CLBLL结构的工作频率,相比本方案的LUT结构更加灵活,可以实现多种输入的逻辑函数,LUT功能模块面积节省了将近50%。
表3
将参考结构3与本发明方案的性能对比,如表4,可知,Altera Stratix的LAB结构只能实现10个4-LUT,不能实现更高输入的LUT来说,本发明中结构灵活性大大增加,组多能实现2个完整的7输入LUT,并且拥有两条独立的进位链,在一个可编程逻辑块可以同时进行更多的算术运算。
表4
本发明的有益效果在于,与现有技术相比,本发明所提出的结构具有多种输入的查找表结构,可以根据功能需求映射到对应的LUT上,避免资源浪费。与自适应查找表相比,可以实现更多独立的功能函数,同时配置起来也比较简单,没有共享端口配置时的诸多限制条件。
本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。
Claims (8)
1.一种基于多粒度查找表结构的可编程逻辑块,其特征在于,所述可编程逻辑块的每个基本逻辑单元包含两个完全相同相互独立的PLML,拥有独立的输入输出以及进位链结构;
每个PLML包括LUT模块、逻辑运算模块、触发器模块和多路选择器模块;多路选择器模块包括9个2:1MUX和11个多选一MUX;
LUT模块包括相互独立的1个五输入查找表(5-LUT),1个六输入查找表(6-LUT),2个四输入查找表(4-LUT),每个LUT包含两路输出;
逻辑运算模块包括4个独立的2输入加法器/减法器Adder1~4,每个加法器/减法器有1路进位输入端、2路加法器/减法器输入端、1路加法器/减法器运算和输出端,1路进位输出端;
第一路加法器/减法器输入端为LUT的输出,第二路加法器/减法器输入端为LUT的输出与旁路端口BYP1~4通过多路选择器的选通;
4个加法器/减法器级联成一个多位加法器,级联输入信号为Carry_in或0/1,级联输出信号为Carry_out;
触发器模块包括4个触发器,包括输入端D、输出端Q、时钟控制端CLK、使能端EN、置位复位端SR、初始化信号端INIT,输入端D为LUT的输出、加法器运算和输出端、进位输出端与旁路端口BYP1~4通过多路选择器的选通,实现触发器复用模式;
每个PLML通过内部同种或不同种资源组合,充分调用整个PLML的LUT、加法器和MUX,实现更加复杂的LUT功能,时序逻辑功能、逻辑运算功能以及多路选择器功能。
2.根据权利要求1所述的基于多粒度查找表结构的可编程逻辑块,其特征在于,可实现的LUT寄存输出功能模式包括:
1个独立的6-LUT,1个独立的5-LUT,2个独立的4-LUT的寄存输出;
两个独立的6-LUT的寄存输出;
两个有公共输入端的6-LUT;两个独立的5-LUT,1个独立的6-LUT的寄存输出;
两个有公共输入端的5-LUT,1个独立的6-LUT的寄存输出;
一个完整的7-LUT的寄存输出。
3.根据权利要求1所述的基于多粒度查找表结构的可编程逻辑块,其特征在于,可实现的时序逻辑功能模式包括:
LUT各种组合模式的组合逻辑结果的寄存输出;4个加法器结果的寄存输出;多种位宽多路选择器的寄存输出;旁路信号的寄存输出。
4.根据权利要求1所述的基于多粒度查找表结构的可编程逻辑块,其特征在于,可实现的逻辑运算的寄存输出功能包括:
四个独立的2输入加法器/减法器的寄存输出;两个复用的2输入加法器/减法器的寄存输出;一路输入来自旁路信号的2输入加法器/减法器的寄存输出;一个级联多bit加法器/减法器的寄存输出;
其中,2路触发器复用模式,复用Adder1和Adder2;此模式下进位输出可以直接旁路掉Adder3和Adder4被Carry_out选通。
5.根据权利要求1所述的基于多粒度查找表结构的可编程逻辑块,其特征在于,可实现的多路选择器功能模式包括:
1个独立的4:1MUX,1个独立的3:1MUX,2个独立的2:1MUX的寄存输出;
2个独立的4:1MUX,1个独立的3:1MUX的寄存输出;
2个独立的4:1MUX的寄存输出;
1个8:1MUX的寄存输出。
6.根据权利要求1所述的基于多粒度查找表结构的可编程逻辑块,其特征在于,LUT配置模式及对应输出端口名:
第一LUT4,其输入包括A1/A2/A3/A4,输出包括LUT4OUT1和LUT3OUT1;第二LUT4,其输入包括B1/B2/B3/B4,输出包括LUT4OUT2和LUT3OUT2;LUT5,其输入包括C1/C2/C3/C4/C55,输出包括LUT5OUT1和LUT4OUT3;LUT6,输入包括D1/D2/D3/D4/D5/D6,输出包括LUT6OUT1和LUT5OUT2;MUX1,其输入包括C5和L7in,输出连接到L5MUX的选择端;MUX2,其输入包括D6和L7in,输出连接到L6MUX的选择端;MUX3,其输入包括D6和L7in,输出连接到L7MUX的选择端;L5MUX,其第一输入端连接第一LUT4的O4输出,第二输入端连接第二LUT4的O4输出,其输出端连接LUT5OUT3;L6MUX,其第一输入端连接LUT5的O5输出,第二输入端连接L5MUX的输出,其输出端连接LUT6OUT2;L7MUX,其第一输入端连接LUT6的输出,第二输入端连接L6MUX的输出,其输出端连接LUT7OUT。
7.根据权利要求6所述的基于多粒度查找表结构的可编程逻辑块,其特征在于,
L5MUX采用C5或L7in信号作为选择端组合两个4-LUT级联成1个5-LUT;
L6MUX采用D6或L7in信号作为选择端组合两个4-LUT和1个5-LUT级联成1个独立的6-LUT;
L6MUX采用D6或L7in信号作为选择端组合两个4-LUT和1个5-LUT级联成2个有一根公共输入端的5-LUT;
L7MUX采用D6或L7in信号作为选择端组合两个4-LUT和1个5-LUT以及1个6-LUT级联成2个有一根共享输入端的6-LUT;
L7MUX采用D6或L7in信号作为选择端组合两个4-LUT和1个5-LUT以及1个6-LUT级联成1个独立的7-LUT。
8.根据权利要求1所述的基于多粒度查找表结构的可编程逻辑块,其特征在于,PLML结构可以实现其他更小输入的组合逻辑函数组合及其相应的寄存输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111264797.2A CN113986815B (zh) | 2021-10-28 | 2021-10-28 | 一种基于多粒度查找表结构的可编程逻辑块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111264797.2A CN113986815B (zh) | 2021-10-28 | 2021-10-28 | 一种基于多粒度查找表结构的可编程逻辑块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113986815A true CN113986815A (zh) | 2022-01-28 |
CN113986815B CN113986815B (zh) | 2022-08-09 |
Family
ID=79743588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111264797.2A Active CN113986815B (zh) | 2021-10-28 | 2021-10-28 | 一种基于多粒度查找表结构的可编程逻辑块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986815B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686985A (zh) * | 2022-12-30 | 2023-02-03 | 无锡亚科鸿禹电子有限公司 | 基于查找表结构的触发条件实现方法 |
CN116820015A (zh) * | 2023-08-29 | 2023-09-29 | 灵动集成电路南京有限公司 | 具有灵活可配置逻辑模块的微控制器 |
CN116860181A (zh) * | 2023-09-01 | 2023-10-10 | 深圳比特微电子科技有限公司 | Sram阵列的数据选择装置、存储系统和系统级芯片 |
CN117473909A (zh) * | 2023-10-11 | 2024-01-30 | 海光信息技术(苏州)有限公司 | 芯片、芯片设计方法、信号处理方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020079921A1 (en) * | 1999-02-25 | 2002-06-27 | Xilinx, Inc. | Configurable logic block for PLD with logic gate for combining output with another configurable logic block |
US7375552B1 (en) * | 2005-06-14 | 2008-05-20 | Xilinx, Inc. | Programmable logic block with dedicated and selectable lookup table outputs coupled to general interconnect structure |
US20090167347A1 (en) * | 2007-12-26 | 2009-07-02 | Nij Dorairaj | Using programmable latch to implement logic |
US7705628B1 (en) * | 2006-03-31 | 2010-04-27 | Altera Corporation | Programmable logic device having logic elements with dedicated hardware to configure look up tables as registers |
US10177766B1 (en) * | 2004-03-25 | 2019-01-08 | Altera Corporation | Omnibus logic element |
CN109933301A (zh) * | 2019-03-19 | 2019-06-25 | 中科亿海微电子科技(苏州)有限公司 | 可扩展可编程逻辑单元及可编程逻辑块结构 |
-
2021
- 2021-10-28 CN CN202111264797.2A patent/CN113986815B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020079921A1 (en) * | 1999-02-25 | 2002-06-27 | Xilinx, Inc. | Configurable logic block for PLD with logic gate for combining output with another configurable logic block |
US10177766B1 (en) * | 2004-03-25 | 2019-01-08 | Altera Corporation | Omnibus logic element |
US7375552B1 (en) * | 2005-06-14 | 2008-05-20 | Xilinx, Inc. | Programmable logic block with dedicated and selectable lookup table outputs coupled to general interconnect structure |
US7705628B1 (en) * | 2006-03-31 | 2010-04-27 | Altera Corporation | Programmable logic device having logic elements with dedicated hardware to configure look up tables as registers |
US20090167347A1 (en) * | 2007-12-26 | 2009-07-02 | Nij Dorairaj | Using programmable latch to implement logic |
CN109933301A (zh) * | 2019-03-19 | 2019-06-25 | 中科亿海微电子科技(苏州)有限公司 | 可扩展可编程逻辑单元及可编程逻辑块结构 |
Non-Patent Citations (1)
Title |
---|
郭斌林 等: "一种基于扩展查询表的可编程逻辑单元", 《计算机学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686985A (zh) * | 2022-12-30 | 2023-02-03 | 无锡亚科鸿禹电子有限公司 | 基于查找表结构的触发条件实现方法 |
CN116820015A (zh) * | 2023-08-29 | 2023-09-29 | 灵动集成电路南京有限公司 | 具有灵活可配置逻辑模块的微控制器 |
CN116820015B (zh) * | 2023-08-29 | 2023-11-17 | 灵动集成电路南京有限公司 | 具有灵活可配置逻辑模块的微控制器 |
CN116860181A (zh) * | 2023-09-01 | 2023-10-10 | 深圳比特微电子科技有限公司 | Sram阵列的数据选择装置、存储系统和系统级芯片 |
CN116860181B (zh) * | 2023-09-01 | 2024-02-02 | 深圳比特微电子科技有限公司 | Sram阵列的数据选择装置、存储系统和系统级芯片 |
CN117473909A (zh) * | 2023-10-11 | 2024-01-30 | 海光信息技术(苏州)有限公司 | 芯片、芯片设计方法、信号处理方法及相关设备 |
CN117473909B (zh) * | 2023-10-11 | 2024-10-01 | 海光信息技术(苏州)有限公司 | 芯片、芯片设计方法、信号处理方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113986815B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113986815B (zh) | 一种基于多粒度查找表结构的可编程逻辑块 | |
US6359469B1 (en) | Logic element for a programmable logic integrated circuit | |
US5821774A (en) | Structure and method for arithmetic function implementation in an EPLD having high speed product term allocation structure | |
US5898602A (en) | Carry chain circuit with flexible carry function for implementing arithmetic and logical functions | |
US7274211B1 (en) | Structures and methods for implementing ternary adders/subtractors in programmable logic devices | |
EP2391011B1 (en) | A programmable logic device having complex logic blocks with improved logic cell functionality | |
US7248073B2 (en) | Configurable logic element with expander structures | |
US7317330B2 (en) | Logic circuitry with shared lookup table | |
US7330052B2 (en) | Area efficient fractureable logic elements | |
US6873182B2 (en) | Programmable logic devices having enhanced cascade functions to provide increased flexibility | |
US7890910B1 (en) | Programmable logic device having logic elements with dedicated hardware to configure look up tables as registers | |
US7193436B2 (en) | Fast processing path using field programmable gate array logic units | |
US7164290B2 (en) | Field programmable gate array logic unit and its cluster | |
US7185035B1 (en) | Arithmetic structures for programmable logic devices | |
CN107885485B (zh) | 一种基于超前进位实现快速加法的可编程逻辑单元结构 | |
US7565388B1 (en) | Logic cell supporting addition of three binary words | |
CN113971159B (zh) | 一种基于改进型查找表结构的可编程逻辑块 | |
CN111752529B (zh) | 支持高效乘累加运算的可编程逻辑单元结构 | |
US5751162A (en) | Field programmable gate array logic module configurable as combinational or sequential circuits | |
US6833730B1 (en) | PLD configurable logic block enabling the rapid calculation of sum-of-products functions | |
CN112668268A (zh) | 一种高灵活性Flash型FPGA可编程逻辑单元结构 | |
US6879184B1 (en) | Programmable logic device architecture based on arrays of LUT-based Boolean terms | |
US7436208B1 (en) | Carry circuit with power-save mode | |
CN113746474B (zh) | 一种多粒度查找表结构 | |
CN111752528B (zh) | 一种支持高效乘法运算的基本逻辑单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A Programmable Logic Block Based on Multi granularity Lookup Table Structure Effective date of registration: 20231226 Granted publication date: 20220809 Pledgee: Rizhao Bank Co.,Ltd. Jinan Branch Pledgor: Shandong Xinhui Microelectronics Technology Co.,Ltd. Registration number: Y2023370000137 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |