CN113746473B - 一种可以实现分布式存储器功能的查找表结构 - Google Patents
一种可以实现分布式存储器功能的查找表结构 Download PDFInfo
- Publication number
- CN113746473B CN113746473B CN202110956339.9A CN202110956339A CN113746473B CN 113746473 B CN113746473 B CN 113746473B CN 202110956339 A CN202110956339 A CN 202110956339A CN 113746473 B CN113746473 B CN 113746473B
- Authority
- CN
- China
- Prior art keywords
- input
- selector
- lookup table
- memory
- output
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Logic Circuits (AREA)
Abstract
本发明涉及一种可以实现分布式存储器功能的查找表结构,包括:地址译码器、字节使能模块、六输入查找表、五输入查找表、第一四输入查找表、第二四输入查找表和独立输入端。本发明提供的可以实现分布式存储器功能的查找表结构,在多粒度查找表的基础上,只增加了写地址译码器,和字节使能模块,通过对端口连接的重新分配,实现了两种模式的简单双端口存储器。该结构的读出功能复用了原来LUT表的多路选择器,从而减少了面积。
Description
技术领域
本发明涉及一种可以实现分布式存储器功能的查找表结构,属于集成电路设计技术领域。
背景技术
现可编程逻辑单元是FPGA芯片可以实现各种逻辑功能的基本构建模块,其基本结构包括查找表、触发器和多路选择器等。
在现代FPGA中,除了可编程逻辑单元,往往还会在FPGA结构中嵌入块存储器和乘法器。其中存储器主要用来存储在用户电路中待处理或产生的数据。同时为了提高块存储器的效果,块存储器的容量一般不能太小,容量太小,会造成面积效率的低下。
考虑到FPGA的可编程性是通过配置存储器来实现的,一个具有100K逻辑单元的FPGA往往包括数千万的配置存储单元,这些单元占据了大量的面积,如果能够将这些配置存储器利用起来,在特定模式下实现用户数据存储的功能,则有利于进一步提高FPGA的面积利用率。
一个三输入查找表结构如图4所示,当中包括8BIT SRAM单元和一个8选1多路选择器,当输入为某种组合时,通过多路选择器将对应地址的SRAM值读出。从而可以实现任意的3输入函数。
现有商用FPGA一般会对查找表进行结构改进,使得查找表中用于存储用户数据的SRAM可以实现用户存储器的功能。其基本方法一般是对SRAM增加写电路。该方法实现了较小粒度的SRAM,充分利用了可编程逻辑单元查找表的特性。却存在以下问题:1、现有FPGA芯片的可编程逻辑块多采用固定粒度的查找表结构,并且一般支持分布式存储器功能,例如xilinx的slice;2、现有FPGA支持查找表拆分结构的可编程逻辑单元包括intel公司的ALM,该结构支持分布式存储器功能,但是该结构在逻辑模式下实现不同函数组合的时候需要具有较多的公共输入端口。
发明内容
本发明要解决技术问题是:克服上述技术的缺点,针对具有多个不同粒度查找表的可编程逻辑单元,提出一种与其相适配的分布式存储器方案,进一步增强了多粒度查找表的功能,可以实现更多独立的功能函数的多粒度查找表结构。
为了解决上述技术问题,本发明提出的技术方案是:一种可以实现分布式存储器功能的查找表结构,包括:地址译码器、字节使能模块、六输入查找表、五输入查找表、第一四输入查找表、第二四输入查找表和独立输入端;所述独立输入端与第一选择器的第一输入端、第二选择器的第一输入端、第三选择器的第一输入端均连接;所述六输入查找表的输入端中的一个输入与所述第一选择器的第二输入端、第二选择器的第二输入端均连接;所述五输入查找表的输入端中的一个输入与第三选择器的第二输入端连接;所述第一四输入查找表的输出端与第二四输入查找表的输出端分别连接第五选择器的第一输入端与第二输入端;所述第三选择器的输出端连接所述第五选择器的选择端;所述第五选择器的输出端与所述五输入查找表的输出端分别连接第六选择器的第一输入端与第二输入端;所述第一选择器的输出端连接所述第六选择器的选择端;所述第六选择器的输出端与所述六输入查找表的输出端分别连接第七选择器的第一输入端与第二输入端;所述第二选择器的输出端连接所述第七选择器的选择端;所述地址译码器与字节使能模块均连接所述六输入查找表、五输入查找表、第一四输入查找表和第二四输入查找表。
上述方案进一步的改进在于:当查找表结构工作在64*2的双端口存储器功能时,所述六输入查找表构成相连的第一64选1选择器及第一存储器;所述六输入查找表的输入作为第一64选1选择器的读地址输入,输出作为第一64选1选择器的第一读数据输出;所述六输入查找表的存储上具有第一写数据输入;
所述第一四输入查找表、第二四输入查找表、五输入查找表和第三选择器、第五选择器和第六选择器构成相连的第二64选1选择器及第二存储器;所述第一四输入查找表的输入端的全部输入与所述第二四输入查找表的输入端的全部输入一一对应,且与所述五输入查找表的输入端的除掉与所述第三选择器连接的输入外的四个输入一一对应,作为第二64选1选择器的读地址的四个输入,所述五输入查找表的输入端的与所述第三选择器连接的输入以及独立输入端作为第二64选1选择器的读地址的另外两个输入,所述第六选择器的输出作为第二64选1选择器的读数据输出;所述第二存储器上具有第二写数据输入;所述地址译码器上具有写地址输入端,且所述地址译码器与第一存储器、第二存储器均连接。
上述方案进一步的改进在于:当查找表结构工作在4个32 *1的双端口存储器功能时;所述六输入查找表拆分为相连的第一32选1选择器和第一存储器、以及第二32选1选择器和第二存储器,且所述六输入查找表中的5个输入作为第一和第二32选1选择器的读地址输入,第一和第二32选1选择器的输出分别作为第一和第二读数据输出;第一存储器和第一存储器分别具有第一写数据输入和第二写数据输入;
所述五输入查找表构成相连的第三32选1选择器和第三存储器;所述五输入查找表的输入作为第三32选1选择器的读地址输入,输出作为第三读数据输出;第三存储器具有第三写数据输入;
所述第一四输入查找表、第二四输入查找表、第三选择器和第五选择器构成相连的第四32选1选择器和第四存储器;
所述第一四输入查找表的输入端的全部输入与所述第二四输入查找表的输入端的全部输入一一对应作为第四32选1选择器的读地址的四个输入,所述五输入查找表的输入端中与所述第三选择器连接的输入作为第四32选1选择器的读地址的另一个输入;所述第五选择器的输出作为第四读数据输出;第四存储器具有第四写数据输入;所述地址译码器上具有写地址输入端,且所述地址译码器与第一存储器、第二存储器、第三存储器、第四存储器均连接;所述字节使能模块与第一32选1选择器、第二32选1选择器、第三32选1选择器、第四32选1选择器均连接。
本发明提供的可以实现分布式存储器功能的查找表结构,在多粒度查找表的基础上,只增加了写地址译码器,和字节使能模块,通过对端口连接的重新分配,实现了两种模式的简单双端口存储器。该结构的读出功能复用了原来LUT表的多路选择器,从而减少了面积。
附图说明
下面结合附图对本发明作进一步说明。
图1是本发明一个优选的实施例电路结构示意图。
图2是图1的实施例工作于64*2的双端口存储器功能时的等效电路结构示意图。
图3是图1的实施例工作于4个32 *1的双端口存储器功能时的等效电路结构示意图。
图4是三输入查找表结构电路结构示意图。
具体实施方式
实施例
本实施例的可以实现分布式存储器功能的查找表结构,如图1所示,包括:地址译码器、字节使能模块、六输入查找表、五输入查找表、第一四输入查找表、第二四输入查找表和独立输入端f7in;独立输入端f7in与第一选择器MUX1的第一输入端、第二选择器MUX2的第一输入端、第三选择器MUX3的第一输入端均连接;六输入查找表的输入端中的a6与第一选择器MUX1的第二输入端、第二选择器MUX2的第二输入端均连接;五输入查找表的输入端中的b5与第三选择器MUX3的第二输入端连接;第一四输入查找表的输出端与第二四输入查找表的输出端分别连接第五选择器f5mux的第一输入端与第二输入端;第三选择器MUX3的输出端连接第五选择器f5mux的选择端;第五选择器f5mux的输出端与五输入查找表的输出端分别连接第六选择器f6mux的第一输入端与第二输入端;第一选择器MUX1的输出端连接第六选择器f6mux的选择端;第六选择器f6mux的输出端与六输入查找表的输出端分别连接第七选择器f7mux的第一输入端与第二输入端;第二选择器MUX2的输出端连接第七选择器f7mux的选择端;地址译码器与字节使能模块均连接六输入查找表、五输入查找表、第一四输入查找表和第二四输入查找表。
如图4所示,是一种常见的三输入查找表结构包括8BIT SRAM单元和一个8选1选择器,而其中的8选1选择器有三层2选1选择器构成,第一层4个,第二层2个,第三层1个。如果自第二层的2选1选择器输出,即得到了4选1选择器。同样的原理,将两个同样的查找表通过选择器连接在一起,也就是增加了选择器的层,也就能构成更多路的多路选择器。
基于以上原理,本实施例的技术方案可以实现64*2的双端口存储器功能,也就是说,构成两个64选1选择器,如图2所示。其中六输入查找表本身所具有的选择器即是64选1选择器,因此,直接使用即可,也就是六输入查找表由构成相连的第一64选1选择器及第一存储器;六输入查找表的输入作为第一64选1选择器的读地址输入,输出作为第一64选1选择器的第一读数据输出;六输入查找表的存储上具有第一写数据输入。
第一四输入查找表和第二四输入查找表组组合,配合第五选择器,构成32选1选择器,再结合五输入查找表和第六选择器f6mux就构成相连的第二64选1选择器及第二存储器;第一四输入查找表的输入端的全部输入与第二四输入查找表的输入端的全部输入一一对应,且与五输入查找表的输入端的除掉b5外的四个输入一一对应,作为第二64选1选择器的读地址的四个输入,五输入查找表的输入端的b5以及独立输入端f7in作为第二64选1选择器的读地址的另外两个输入,第六选择器f6mux的输出作为第二64选1选择器的读数据输出;第一四输入查找表、第二四输入查找表和五输入查找表的存储器联合构成第二存储器,且第二存储器上具有第二写数据输入;地址译码器上具有写地址输入端,且地址译码器与第一存储器、第二存储器均连接。
本实施例中的查找表结构是完整功能的集成电路,因此,预留了20路输入,也即是图1中的a1到a6、b1到b5、c1到c4,d1到d4以及f7in。参考图2,工作在64*2的双端口存储器功能时,两个四输入查找表的输入于五输入查找表的b1到b4完全相同,此时,c1到c4,d1到d4是闲置的,因此,将其连接至地址译码器的写地址输入端,存储器的写数据输入等位置,实现引脚复用。
为了避免干扰,两个四输入查找表的输入,均使用2选1选择器于五输入查找表的b1到b4进行连接,如图1所示。
如图3所示,当查找表结构工作在4个32 *1的双端口存储器功能时;六输入查找表拆分为相连的第一32选1选择器和第一存储器、以及第二32选1选择器和第二存储器,也即是说,自前一层引出一路输出,且最后一层的2选1选择器的输出固定,不再选择即可。由此,六输入查找表中的5个输入作为第一和第二32选1选择器的读地址输入,第一和第二32选1选择器的输出分别作为第一和第二读数据输出;第一存储器和第一存储器分别具有第一写数据输入和第二写数据输入;
五输入查找表构成相连的第三32选1选择器和第三存储器;五输入查找表的输入作为第三32选1选择器的读地址输入,输出作为第三读数据输出;第三存储器具有第三写数据输入;
第一四输入查找表、第二四输入查找表、第三选择器MUX3和第五选择器f5mux构成相连的第四32选1选择器和第四存储器;
第一四输入查找表的输入端的全部输入与第二四输入查找表的输入端的全部输入一一对应作为第四32选1选择器的读地址的四个输入,五输入查找表的输入端中与第三选择器MUX3连接的输入作为第四32选1选择器的读地址的另一个输入;第五选择器f5mux的输出作为第四读数据输出;第四存储器具有第四写数据输入;地址译码器上具有写地址输入端,且地址译码器与第一存储器、第二存储器、第三存储器、第四存储器均连接;字节使能模块与第一32选1选择器、第二32选1选择器、第三32选1选择器、第四32选1选择器均连接。字节使能模块能够实现2/4位宽控制。即字节使能功能开启时:可以实现每次对2位数据的读写,关闭时,可以实现每次对4位数据的读写。
根据以上两种工作模式,当输入数据与输出数据通过布线连接同样信号时,可以实现单端口模式。当写模式关闭时,可以实现ROM模式。
本发明不局限于上述实施例。凡采用等同替换形成的技术方案,均落在本发明要求的保护范围。
Claims (3)
1.一种可以实现分布式存储器功能的查找表,其特征在于,包括:地址译码器、字节使能模块、六输入查找表、五输入查找表、第一四输入查找表、第二四输入查找表和独立输入端;所述独立输入端与第一选择器的第一输入端、第二选择器的第一输入端、第三选择器的第一输入端均连接;所述六输入查找表的输入端中的一个输入与所述第一选择器的第二输入端、第二选择器的第二输入端均连接;所述五输入查找表的输入端中的一个输入与第三选择器的第二输入端连接;所述第一四输入查找表的输出端与第二四输入查找表的输出端分别连接第五选择器的第一输入端与第二输入端;所述第三选择器的输出端连接所述第五选择器的选择端;所述第五选择器的输出端与所述五输入查找表的输出端分别连接第六选择器的第一输入端与第二输入端;所述第一选择器的输出端连接所述第六选择器的选择端;所述第六选择器的输出端与所述六输入查找表的输出端分别连接第七选择器的第一输入端与第二输入端;所述第二选择器的输出端连接所述第七选择器的选择端;所述地址译码器与字节使能模块均连接所述六输入查找表、五输入查找表、第一四输入查找表和第二四输入查找表。
2.根据权利要求1所述的可以实现分布式存储器功能的查找表,其特征在于:当查找表结构工作在64*2的双端口存储器功能时,所述六输入查找表构成相连的第一64选1选择器及第一存储器;所述六输入查找表的输入作为第一64选1选择器的读地址输入,输出作为第一64选1选择器的第一读数据输出;所述六输入查找表的存储上具有第一写数据输入;
所述第一四输入查找表、第二四输入查找表、五输入查找表和第三选择器、第五选择器和第六选择器构成相连的第二64选1选择器及第二存储器;所述第一四输入查找表的输入端的全部输入与所述第二四输入查找表的输入端的全部输入一一对应,且与所述五输入查找表的输入端的除掉与所述第三选择器连接的输入外的四个输入一一对应,作为第二64选1选择器的读地址的四个输入,所述五输入查找表的输入端中,与所述第三选择器连接的输入,以及独立输入端,作为第二64选1选择器的读地址的另外两个输入;所述第六选择器的输出作为第二64选1选择器的读数据输出;所述第二存储器上具有第二写数据输入;所述地址译码器上具有写地址输入端,且所述地址译码器与第一存储器、第二存储器均连接。
3. 根据权利要求1所述的可以实现分布式存储器功能的查找表,其特征在于:当查找表结构工作在4个32 *1的双端口存储器功能时;所述六输入查找表拆分为相连的第一32选1选择器和第一存储器、以及第二32选1选择器和第二存储器,且所述六输入查找表中的5个输入作为第一和第二32选1选择器的读地址输入,第一和第二32选1选择器的输出分别作为第一和第二读数据输出;第一存储器和第二存储器分别具有第一写数据输入和第二写数据输入;
所述五输入查找表构成相连的第三32选1选择器和第三存储器;所述五输入查找表的输入作为第三32选1选择器的读地址输入,输出作为第三读数据输出;第三存储器具有第三写数据输入;
所述第一四输入查找表、第二四输入查找表、第三选择器和第五选择器构成相连的第四32选1选择器和第四存储器;
所述第一四输入查找表的输入端的全部输入与所述第二四输入查找表的输入端的全部输入一一对应作为第四32选1选择器的读地址的四个输入,所述五输入查找表的输入端中与所述第三选择器连接的输入作为第四32选1选择器的读地址的另一个输入;所述第五选择器的输出作为第四读数据输出;第四存储器具有第四写数据输入;所述地址译码器上具有写地址输入端,且所述地址译码器与第一存储器、第二存储器、第三存储器、第四存储器均连接;所述字节使能模块与第一32选1选择器、第二32选1选择器、第三32选1选择器、第四32选1选择器均连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110956339.9A CN113746473B (zh) | 2021-08-19 | 2021-08-19 | 一种可以实现分布式存储器功能的查找表结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110956339.9A CN113746473B (zh) | 2021-08-19 | 2021-08-19 | 一种可以实现分布式存储器功能的查找表结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113746473A CN113746473A (zh) | 2021-12-03 |
CN113746473B true CN113746473B (zh) | 2022-04-22 |
Family
ID=78731956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110956339.9A Active CN113746473B (zh) | 2021-08-19 | 2021-08-19 | 一种可以实现分布式存储器功能的查找表结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113746473B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7167022B1 (en) * | 2004-03-25 | 2007-01-23 | Altera Corporation | Omnibus logic element including look up table based logic elements |
CN105356875A (zh) * | 2015-09-24 | 2016-02-24 | 北京时代民芯科技有限公司 | 一种单粒子加固fpga的查找表电路 |
CN105958996A (zh) * | 2016-05-18 | 2016-09-21 | 中国电子科技集团公司第五十八研究所 | 一种非全覆盖的八输入查找表结构 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9584128B2 (en) * | 2014-12-11 | 2017-02-28 | Capital Microelectronics Co., Ltd. | Structure of multi-mode supported and configurable six-input LUT, and FPGA device |
US9705504B1 (en) * | 2016-01-13 | 2017-07-11 | Altera Corporation | Power gated lookup table circuitry |
US10656915B2 (en) * | 2018-07-13 | 2020-05-19 | Achronix Semiconductor Corporation | Efficient FPGA multipliers |
-
2021
- 2021-08-19 CN CN202110956339.9A patent/CN113746473B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7167022B1 (en) * | 2004-03-25 | 2007-01-23 | Altera Corporation | Omnibus logic element including look up table based logic elements |
CN105356875A (zh) * | 2015-09-24 | 2016-02-24 | 北京时代民芯科技有限公司 | 一种单粒子加固fpga的查找表电路 |
CN105958996A (zh) * | 2016-05-18 | 2016-09-21 | 中国电子科技集团公司第五十八研究所 | 一种非全覆盖的八输入查找表结构 |
Also Published As
Publication number | Publication date |
---|---|
CN113746473A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7385417B1 (en) | Dual slice architectures for programmable logic devices | |
US6107822A (en) | Logic element for a programmable logic integrated circuit | |
US5905385A (en) | Memory bits used to couple look up table inputs to facilitate increased availability to routing resources particularly for variable sized look up tables for a field programmable gate array (FPGA) | |
US7193436B2 (en) | Fast processing path using field programmable gate array logic units | |
US10560102B1 (en) | Field programmable gate array including coupled lookup tables | |
US20050218929A1 (en) | Field programmable gate array logic cell and its derivatives | |
EP1489745A3 (en) | FPGA lookup table with high speed read decoder | |
CN101969306B (zh) | Fpga可配置五输入查找表结构 | |
US20170331480A1 (en) | Reconfigurable circuit | |
US7924052B1 (en) | Field programmable gate array architecture having Clos network-based input interconnect | |
CN113986815B (zh) | 一种基于多粒度查找表结构的可编程逻辑块 | |
JP3269526B2 (ja) | プログラマブルロジックlsi | |
CN100576355C (zh) | 具有可编程逻辑单元阵列的电子电路 | |
Konishi et al. | PCA-1: A fully asynchronous, self-reconfigurable LSI | |
JP2021514079A (ja) | システムオンチップのためのメモリサブシステム | |
US7675321B1 (en) | Dual-slice architectures for programmable logic devices | |
CN113746473B (zh) | 一种可以实现分布式存储器功能的查找表结构 | |
Senhadji-Navarro et al. | Performance evaluation of RAM-based implementation of finite state machines in FPGAs | |
CN105356875A (zh) | 一种单粒子加固fpga的查找表电路 | |
JP5523988B2 (ja) | プログラマブル論理回路装置およびその回路決定方法 | |
CN105680849B (zh) | 一种查找表、查找表电路及可编程器件 | |
CN203909724U (zh) | 一种block ram级联实现结构 | |
US7768430B1 (en) | Look-up table based memory | |
KR20180116117A (ko) | 프로그래밍가능 게이트 어레이에 대한 로직 블록 아키텍처 | |
CN110007908B (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 |