Lookup table structure capable of realizing distributed memory function

文档序号:346252 发布日期:2021-12-03 浏览:25次 中文

阅读说明:本技术 一种可以实现分布式存储器功能的查找表结构 (Lookup table structure capable of realizing distributed memory function ) 是由 高丽江 王彦林 朱辰 马建军 屈小钢 秋小强 于 2021-08-19 设计创作,主要内容包括:本发明涉及一种可以实现分布式存储器功能的查找表结构,包括:地址译码器、字节使能模块、六输入查找表、五输入查找表、第一四输入查找表、第二四输入查找表和独立输入端。本发明提供的可以实现分布式存储器功能的查找表结构,在多粒度查找表的基础上,只增加了写地址译码器,和字节使能模块,通过对端口连接的重新分配,实现了两种模式的简单双端口存储器。该结构的读出功能复用了原来LUT表的多路选择器,从而减少了面积。(The invention relates to a lookup table structure capable of realizing distributed memory function, comprising: the device comprises an address decoder, a byte enabling module, a six-input lookup table, a five-input lookup table, a first four-input lookup table, a second four-input lookup table and an independent input end. The lookup table structure capable of realizing the function of the distributed memory only adds the write address decoder and the byte enabling module on the basis of the multi-granularity lookup table, and realizes the simple dual-port memory with two modes by reallocating the port connection. The read out function of this architecture multiplexes the original LUT table multiplexers, thereby reducing area.)

1. A lookup table structure that can implement distributed memory functions, comprising: the device comprises an address decoder, a byte enabling module, a six-input lookup table, a five-input lookup table, a first four-input lookup table, a second four-input lookup table and an independent input end; the independent input end is connected with the first input end of the first selector, the first input end of the second selector and the first input end of the third selector; one input of the input ends of the six-input lookup table is connected with the second input end of the first selector and the second input end of the second selector; one input of the input ends of the five-input lookup table is connected with the second input end of the third selector; the output end of the first four-input lookup table and the output end of the second four-input lookup table are respectively connected with the first input end and the second input end of the fifth selector; the output end of the third selector is connected with the selection end of the fifth selector; the output end of the fifth selector and the output end of the five-input lookup table are respectively connected with the first input end and the second input end of the sixth selector; the output end of the first selector is connected with the selection end of the sixth selector; the output end of the sixth selector and the output end of the six-input lookup table are respectively connected with the first input end and the second input end of the seventh selector; the output end of the second selector is connected with the selection end of the seventh selector; the address decoder and the byte enabling module are connected with the six-input lookup table, the five-input lookup table, the first four-input lookup table and the second four-input lookup table.

2. The lookup table structure capable of implementing distributed memory functions as claimed in claim 1, wherein: when the lookup table structure works in a 64 x2 dual-port memory function, the six-input lookup table forms a first 64-to-1 selector and a first memory which are connected; the input of the six-input lookup table is used as the read address input of the first 64-to-1 selector, and the output is used as the first read data output of the first 64-to-1 selector; the storage of the six-input lookup table has a first write data input;

the first four-input lookup table, the second four-input lookup table, the fifth input lookup table and the third selector, the fifth selector and the sixth selector form a second 64-to-1 selector and a second memory which are connected; all inputs of the input end of the first four-input lookup table correspond to all inputs of the input end of the second four-input lookup table one by one, correspond to four inputs of the input end of the five-input lookup table except for the input connected with the third selector one by one, and serve as four inputs of a read address of a second 64-to-1 selector, the input of the input end of the five-input lookup table connected with the third selector and independent input ends serve as the other two inputs of the read address of the second 64-to-1 selector, and the output of the sixth selector serves as read data output of the second 64-to-1 selector; the second memory has a second write data input thereon; the address decoder is provided with a write address input end and is connected with the first memory and the second memory.

3. The lookup table structure capable of implementing distributed memory functions as claimed in claim 1, wherein: when the lookup table structure operates on 4 32 x1 dual port memory functions; the six-input lookup table is divided into a first 32-to-1 selector and a first memory, and a second 32-to-1 selector and a second memory which are connected, 5 inputs in the six-input lookup table are used as read address inputs of the first 32-to-1 selector and the second 32-to-1 selector, and outputs of the first 32-to-1 selector and the second 32-to-1 selector are respectively used as first read data output and second read data output; the first memory and the first memory have a first write data input and a second write data input, respectively;

the five-input lookup table forms a third 32-to-1 selector and a third memory which are connected; the input of the five-input lookup table is used as the read address input of a third 32-to-1 selector, and the output is used as the third read data output; the third memory has a third write data input;

the first four-input lookup table, the second four-input lookup table, the third selector and the fifth selector form a fourth 32-to-1 selector and a fourth memory which are connected;

all inputs of the input ends of the first four-input lookup table correspond to all inputs of the input ends of the second four-input lookup table one by one to be used as four inputs of a read address of a fourth 32-to-1 selector, and an input connected with the third selector in the input ends of the five-input lookup table is used as the other input of the read address of the fourth 32-to-1 selector; an output of the fifth selector is output as fourth read data; the fourth memory has a fourth write data input; the address decoder is provided with a write address input end and is connected with the first memory, the second memory, the third memory and the fourth memory; the byte enabling module is connected with the first 32-to-1 selector, the second 32-to-1 selector, the third 32-to-1 selector and the fourth 32-to-1 selector.

Technical Field

The invention relates to a lookup table structure capable of realizing the function of a distributed memory, belonging to the technical field of integrated circuit design.

Background

The existing programmable logic unit is a basic building module of an FPGA chip capable of realizing various logic functions, and the basic structure of the existing programmable logic unit comprises a lookup table, a trigger, a multiplexer and the like.

In modern FPGAs, in addition to programmable logic cells, block memories and multipliers are often embedded in the FPGA fabric. Wherein the memory is primarily used to store data to be processed or generated in the user circuit. Meanwhile, in order to improve the effect of the block memory, the capacity of the block memory generally cannot be too small, and the capacity is too small, which causes low area efficiency.

Considering that the programmability of the FPGA is realized by the configuration memory, an FPGA with 100K logic units often includes tens of millions of configuration storage units, and these units occupy a large area, and if these configuration memories can be utilized to realize the function of storing user data in a specific mode, it is beneficial to further improve the area utilization rate of the FPGA.

A three-input lookup table structure is shown in fig. 4, which includes 8BIT SRAM cells and an 8-to-1 multiplexer, and when the inputs are in a certain combination, the SRAM values of the corresponding addresses are read out by the multiplexer. So that an arbitrary 3-input function can be realized.

The existing commercial FPGA will generally perform structural improvement on the lookup table, so that the SRAM for storing user data in the lookup table can implement the function of the user memory. The basic approach is generally to add write circuitry to the SRAM. The method realizes the SRAM with smaller granularity and fully utilizes the characteristics of the lookup table of the programmable logic unit. There are the following problems: 1. the programmable logic block of the existing FPGA chip mostly adopts a fixed-granularity lookup table structure, and generally supports a distributed memory function, such as slice of xilinx; 2. the existing programmable logic unit of the FPGA supporting the lookup table splitting structure comprises ALM of intel corporation, the structure supports the function of a distributed memory, but the structure needs to have more public input ports when different function combinations are realized in a logic mode.

Disclosure of Invention

The invention aims to solve the technical problems that: the defects of the technology are overcome, a distributed memory scheme matched with a programmable logic unit with a plurality of different granularity lookup tables is provided, the functions of the multi-granularity lookup tables are further enhanced, and the multi-granularity lookup table structure with more independent function functions can be realized.

In order to solve the technical problems, the technical scheme provided by the invention is as follows: a lookup table structure that can implement distributed memory functions, comprising: the device comprises an address decoder, a byte enabling module, a six-input lookup table, a five-input lookup table, a first four-input lookup table, a second four-input lookup table and an independent input end; the independent input end is connected with the first input end of the first selector, the first input end of the second selector and the first input end of the third selector; one input of the input ends of the six-input lookup table is connected with the second input end of the first selector and the second input end of the second selector; one input of the input ends of the five-input lookup table is connected with the second input end of the third selector; the output end of the first four-input lookup table and the output end of the second four-input lookup table are respectively connected with the first input end and the second input end of the fifth selector; the output end of the third selector is connected with the selection end of the fifth selector; the output end of the fifth selector and the output end of the five-input lookup table are respectively connected with the first input end and the second input end of the sixth selector; the output end of the first selector is connected with the selection end of the sixth selector; the output end of the sixth selector and the output end of the six-input lookup table are respectively connected with the first input end and the second input end of the seventh selector; the output end of the second selector is connected with the selection end of the seventh selector; the address decoder and the byte enabling module are connected with the six-input lookup table, the five-input lookup table, the first four-input lookup table and the second four-input lookup table.

The scheme is further improved in that: when the lookup table structure works in a 64 x2 dual-port memory function, the six-input lookup table forms a first 64-to-1 selector and a first memory which are connected; the input of the six-input lookup table is used as the read address input of the first 64-to-1 selector, and the output is used as the first read data output of the first 64-to-1 selector; the storage of the six-input lookup table has a first write data input;

the first four-input lookup table, the second four-input lookup table, the fifth input lookup table and the third selector, the fifth selector and the sixth selector form a second 64-to-1 selector and a second memory which are connected; all inputs of the input end of the first four-input lookup table correspond to all inputs of the input end of the second four-input lookup table one by one, correspond to four inputs of the input end of the five-input lookup table except for the input connected with the third selector one by one, and serve as four inputs of a read address of a second 64-to-1 selector, the input of the input end of the five-input lookup table connected with the third selector and independent input ends serve as the other two inputs of the read address of the second 64-to-1 selector, and the output of the sixth selector serves as read data output of the second 64-to-1 selector; the second memory has a second write data input thereon; the address decoder is provided with a write address input end and is connected with the first memory and the second memory.

The scheme is further improved in that: when the lookup table structure operates on 4 32 x1 dual port memory functions; the six-input lookup table is divided into a first 32-to-1 selector and a first memory, and a second 32-to-1 selector and a second memory which are connected, 5 inputs in the six-input lookup table are used as read address inputs of the first 32-to-1 selector and the second 32-to-1 selector, and outputs of the first 32-to-1 selector and the second 32-to-1 selector are respectively used as first read data output and second read data output; the first memory and the first memory have a first write data input and a second write data input, respectively;

the five-input lookup table forms a third 32-to-1 selector and a third memory which are connected; the input of the five-input lookup table is used as the read address input of a third 32-to-1 selector, and the output is used as the third read data output; the third memory has a third write data input;

the first four-input lookup table, the second four-input lookup table, the third selector and the fifth selector form a fourth 32-to-1 selector and a fourth memory which are connected;

all inputs of the input ends of the first four-input lookup table correspond to all inputs of the input ends of the second four-input lookup table one by one to be used as four inputs of a read address of a fourth 32-to-1 selector, and an input connected with the third selector in the input ends of the five-input lookup table is used as the other input of the read address of the fourth 32-to-1 selector; an output of the fifth selector is output as fourth read data; the fourth memory has a fourth write data input; the address decoder is provided with a write address input end and is connected with the first memory, the second memory, the third memory and the fourth memory; the byte enabling module is connected with the first 32-to-1 selector, the second 32-to-1 selector, the third 32-to-1 selector and the fourth 32-to-1 selector.

The lookup table structure capable of realizing the function of the distributed memory only adds the write address decoder and the byte enabling module on the basis of the multi-granularity lookup table, and realizes the simple dual-port memory with two modes by reallocating the port connection. The read out function of this architecture multiplexes the original LUT table multiplexers, thereby reducing area.

Drawings

The invention will be further explained with reference to the drawings.

Fig. 1 is a schematic circuit diagram of a preferred embodiment of the present invention.

Fig. 2 is a schematic diagram of an equivalent circuit structure of the embodiment of fig. 1 operating in a 64 × 2 dual port memory function.

Fig. 3 is a schematic diagram of an equivalent circuit structure of the embodiment of fig. 1 operating in 4 32 × 1 dual port memory functions.

Fig. 4 is a schematic circuit structure diagram of a three-input lookup table structure.

Detailed Description

Examples

The lookup table structure capable of implementing the distributed memory function in this embodiment, as shown in fig. 1, includes: an address decoder, a byte enable module, a six-input lookup table, a five-input lookup table, a first four-input lookup table, a second four-input lookup table, and an independent input terminal f7 in; the independent input f7in is connected to a first input of the first selector MUX1, a first input of the second selector MUX2, and a first input of the third selector MUX 3; a6 of the inputs of the six-input lookup table is connected to both the second input of the first selector MUX1 and the second input of the second selector MUX 2; b5 of the inputs of the five-input lookup table is connected to a second input of the third selector MUX 3; the output end of the first four-input lookup table and the output end of the second four-input lookup table are respectively connected with the first input end and the second input end of the fifth selector f5 mux; the output terminal of the third selector MUX3 is connected to the selection terminal of the fifth selector f5 MUX; the output end of the fifth selector f5mux and the output end of the five-input lookup table are respectively connected with the first input end and the second input end of the sixth selector f6 mux; the output end of the first selector MUX1 is connected with the selection end of the sixth selector f6 MUX; the output end of the sixth selector f6mux and the output end of the six-input lookup table are respectively connected with the first input end and the second input end of the seventh selector f7 mux; the output end of the second selector MUX2 is connected with the selection end of the seventh selector f7 MUX; the address decoder and the byte enabling module are connected with the six-input lookup table, the five-input lookup table, the first four-input lookup table and the second four-input lookup table.

As shown in fig. 4, a common three-input lookup table structure includes 8BIT SRAM cells and an 8-to-1 selector, and the 8-to-1 selector is composed of three layers, i.e., 4 first layers, 2 second layers and 1 third layer, of 2-to-1 selectors. If the 2-from-1 selector output from the second layer, a 4-from-1 selector is obtained. In the same principle, two identical lookup tables are connected together through the selector, namely, the layer of the selector is added, so that a multi-path multiplexer can be formed.

Based on the above principle, the solution of the present embodiment can implement a 64 × 2 dual port memory function, that is, two 64-to-1 selectors are formed, as shown in fig. 2. The selector of the six-input lookup table is a 64-to-1 selector, so that the six-input lookup table can be directly used, namely the six-input lookup table consists of a first 64-to-1 selector and a first memory which are connected; the input of the six-input lookup table is used as the read address input of the first 64-to-1 selector, and the output is used as the first read data output of the first 64-to-1 selector; the six input lookup table has a first write data input on its storage.

The first four-input lookup table and the second four-input lookup table are combined and matched with the fifth selector to form a 32-to-1 selector, and then the five-input lookup table and the sixth selector f6mux are combined to form a second 64-to-1 selector and a second memory which are connected; all the inputs of the input ends of the first four-input lookup table correspond to all the inputs of the input ends of the second four-input lookup table one by one, correspond to four inputs except b5 of the input ends of the five-input lookup table one by one, and serve as four inputs of the read address of the second 64-from-1 selector, b5 and the independent input end f7in of the input ends of the five-input lookup table serve as the other two inputs of the read address of the second 64-from-1 selector, and the output of the sixth selector f6mux serves as the read data output of the second 64-from-1 selector; the memories of the first four-input lookup table, the second four-input lookup table and the five-input lookup table jointly form a second memory, and the second memory is provided with a second write data input; the address decoder is provided with a write address input end and is connected with the first memory and the second memory.

The lookup table structure in this embodiment is a fully functional integrated circuit, and therefore, 20 inputs, namely a1 to a6, b1 to b5, c1 to c4, d1 to d4, and f7in in fig. 1 are reserved. Referring to fig. 2, when operating in the 64 × 2 dual port memory function, the inputs of the two four-input lookup tables are identical from b1 to b4 of the five-input lookup table, and at this time, c1 to c4 and d1 to d4 are idle, so that they are connected to the write address input of the address decoder, the write data input of the memory, and so on, to realize the pin multiplexing.

To avoid interference, the inputs of both four-input lookup tables are connected using a 2-from-1 selector to b1 through b4 of the five-input lookup table, as shown in fig. 1.

As shown in fig. 3, when the lookup table structure operates on 4 32 x1 dual port memory functions; the six-input lookup table is divided into a first 32-to-1 selector and a first memory, and a second 32-to-1 selector and a second memory which are connected, that is, one output is led out from the previous layer, and the output of the last layer of the 2-to-1 selector is fixed and is not selected any more. Thus, 5 inputs in the six-input lookup table are used as read address inputs of the first and second 32-to-1 selectors, and outputs of the first and second 32-to-1 selectors are used as first and second read data outputs, respectively; the first memory and the first memory have a first write data input and a second write data input, respectively;

the five-input lookup table forms a third 32-to-1 selector and a third memory which are connected; the input of the five-input lookup table is used as the read address input of the third 32-to-1 selector, and the output is used as the third read data output; the third memory has a third write data input;

the first four-input lookup table, the second four-input lookup table, the third selector MUX3 and the fifth selector f5MUX form a fourth 32-to-1 selector and a fourth memory which are connected;

all inputs at the input end of the first four-input lookup table correspond to all inputs at the input end of the second four-input lookup table one by one to serve as four inputs of the read address of the fourth 32-to-1 selector, and the input connected with the third selector MUX3 in the input end of the five-input lookup table serves as the other input of the read address of the fourth 32-to-1 selector; the output of the fifth selector f5mux is output as fourth read data; the fourth memory has a fourth write data input; the address decoder is provided with a write address input end and is connected with the first memory, the second memory, the third memory and the fourth memory; the byte enabling module is connected with the first 32-to-1 selector, the second 32-to-1 selector, the third 32-to-1 selector and the fourth 32-to-1 selector. The byte enable module enables 2/4 bit wide control. I.e. byte enable function on: the data reading and writing of 2-bit data can be realized each time, and the data reading and writing of 4-bit data can be realized each time when the data reading and writing device is closed.

According to the above two operation modes, when input data and output data are connected to the same signal through a wiring, a single port mode can be realized. When the write mode is off, the ROM mode can be implemented.

The present invention is not limited to the above-described embodiments. All technical solutions formed by equivalent substitutions fall within the protection scope of the claims of the present invention.

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种多粒度查找表结构

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!