[go: up one dir, main page]

CN102176673A - LUT4 (look up table), logical unit of FPGA (field programmed gate array) and logical block of FPGA - Google Patents

LUT4 (look up table), logical unit of FPGA (field programmed gate array) and logical block of FPGA Download PDF

Info

Publication number
CN102176673A
CN102176673A CN 201110046775 CN201110046775A CN102176673A CN 102176673 A CN102176673 A CN 102176673A CN 201110046775 CN201110046775 CN 201110046775 CN 201110046775 A CN201110046775 A CN 201110046775A CN 102176673 A CN102176673 A CN 102176673A
Authority
CN
China
Prior art keywords
port
output
fpga logic
logical block
input
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
Application number
CN 201110046775
Other languages
Chinese (zh)
Other versions
CN102176673B (en
Inventor
韩小炜
陈陵都
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Semiconductors of CAS
Original Assignee
Institute of Semiconductors of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Semiconductors of CAS filed Critical Institute of Semiconductors of CAS
Priority to CN 201110046775 priority Critical patent/CN102176673B/en
Publication of CN102176673A publication Critical patent/CN102176673A/en
Application granted granted Critical
Publication of CN102176673B publication Critical patent/CN102176673B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

本发明公开了一种LUT4、FPGA逻辑单元和FPGA逻辑块。该4输入查找表LUT4包括:两个3输入查找表LUT3和四个2选1多路复用器,该两个LUT3为C-LUT3和S-LUT3,该四个2选1多路复用器为FMUX,CMUX,SMUX和F4MUX;数据输入端口A0,A1,以及A2(0)经过CMUX选择后的输出分别进入C-LUT3的三个输入端口;数据输入端口A0,A1(0)与A3(1)经过SMUX选择后的输出,以及A2(0)经过CMUX选择后的输出分别进入S-LUT3的三个输入端口;数据输入端口A3(1)与逻辑‘0’经过FMUX选择后的输出进入F4MUX的控制端口,S-LUT3的输出(0)经过F4MUX选择后从该LUT4的输出端口F4输出;FPGA逻辑单元中,Fmux,Smux和Cmux分别为FMUX,SMUX和CMUX的控制位。本发明的LUT4、FPGA逻辑单元和FPGA逻辑块能够提高逻辑密度。

Figure 201110046775

The invention discloses a LUT4, an FPGA logic unit and an FPGA logic block. The 4-input look-up table LUT4 includes: two 3-input look-up tables LUT3 and four 2-to-1 multiplexers, the two LUT3s are C-LUT3 and S-LUT3, the four 2-to-1 multiplexers The devices are FMUX, CMUX, SMUX and F4MUX; the outputs of data input ports A0, A1, and A2(0) selected by CMUX respectively enter the three input ports of C-LUT3; data input ports A0, A1(0) and A3 (1) The output selected by SMUX and the output of A2(0) selected by CMUX respectively enter the three input ports of S-LUT3; the output of data input port A3(1) and logic '0' selected by FMUX Enter the control port of F4MUX, the output (0) of S-LUT3 is output from the output port F4 of the LUT4 after being selected by F4MUX; in the FPGA logic unit, Fmux, Smux and Cmux are the control bits of FMUX, SMUX and CMUX respectively. The LUT4, FPGA logic unit and FPGA logic block of the present invention can increase logic density.

Figure 201110046775

Description

4输入查找表、FPGA逻辑单元和FPGA逻辑块4-input look-up tables, FPGA logic cells, and FPGA logic blocks

技术领域technical field

本发明涉及半导体及微电子技术领域,尤其涉及一种4输入查找表(Look Up Table,简称LUT)LUT4、基于该LUT4的现场可编程门阵列(Field Programmed Gate array,简称FPGA)逻辑单元,和基于上述FPGA逻辑单元的FPGA逻辑块。The present invention relates to the technical field of semiconductor and microelectronics, in particular to a 4-input look-up table (Look Up Table, referred to as LUT) LUT4, a field programmable gate array (Field Programmed Gate array, referred to as FPGA) logic unit based on the LUT4, and An FPGA logic block based on the FPGA logic unit described above.

背景技术Background technique

与专用集成电路(Application Specific Integrated Circuits,简称ASIC)相比,FPGA的研发成本低和开发周期短等特性使它成为实现现代数字电路和系统的一种重要核心技术,其市场占有额也在逐年增加。作为FPGA中用于逻辑实现的基本单元,逻辑单元和由其构成的逻辑块的设计在很大程度上直接影响到FPGA的速度和面积利用率等性能。Compared with Application Specific Integrated Circuits (ASIC for short), FPGA's low R&D cost and short development cycle make it an important core technology for realizing modern digital circuits and systems, and its market share is also increasing year by year. Increase. As the basic unit used for logic implementation in FPGA, the design of logic unit and the logic block formed by it directly affects the speed and area utilization of FPGA to a large extent.

现有文献证明:LUT4能够使FPGA芯片面积利用率达到最高。目前学术界和工业界最典型的FPGA逻辑单元是由一个传统的LUT4和一个D型触发器构成的。Existing literature proves that: LUT4 can maximize the utilization of FPGA chip area. At present, the most typical FPGA logic unit in academia and industry is composed of a traditional LUT4 and a D-type flip-flop.

现代商用FPGA还包括一些用做特殊用途的嵌入式IP核,比如乘法器模块和存储器模块。Xilinx的Virtex系列和Altera的Cyclone系列就为用户提供了丰富的存储器模块资源。尽管如此,对于一些需要大量存储资源的应用,对于某款FPGA芯片来说,内部的存储器模块资源毕竟是有限的,所以这些存储器模块还是不够用。Modern commercial FPGAs also include some embedded IP cores for special purposes, such as multiplier blocks and memory blocks. Xilinx's Virtex series and Altera's Cyclone series provide users with a wealth of memory module resources. Nevertheless, for some applications that require a large amount of storage resources, for a certain FPGA chip, the internal memory module resources are limited after all, so these memory modules are still not enough.

还有,对于逻辑资源和小容量存储资源消耗较多的应用,如果用大容量的存储器模块来实现小容量的存储器,将会造成存储器模块剩余存储资源的浪费,所以小容量的分布式RAM就可以满足这样的应用。In addition, for applications that consume more logic resources and small-capacity storage resources, if a large-capacity memory module is used to implement a small-capacity memory, it will cause waste of the remaining storage resources of the memory module. suitable for such applications.

因为一个现有4输入的LUT对于实现任意4输入的逻辑不会降低逻辑密度,但对于实现任意3输入或者2输入的逻辑,由于4输入的LUT只有一个输出,所以只能实现一个3输入或者2输入的逻辑,而基于3输入LUT的LUT4需要有2个输出,所以就可以实现2个3输入或者2输入的逻辑,因此现有的4输入的LUT逻辑密度低。在实现本发明的过程中,发明人意识到现有技术存在如下缺陷:现有的LUT4逻辑密度低。Because an existing 4-input LUT will not reduce the logic density for any 4-input logic, but for any 3-input or 2-input logic, since the 4-input LUT has only one output, it can only implement a 3-input or 2-input logic. 2-input logic, and LUT4 based on 3-input LUT needs to have 2 outputs, so two 3-input or 2-input logics can be realized, so the existing 4-input LUT logic density is low. In the process of realizing the present invention, the inventor realized that the prior art has the following defects: the existing LUT4 has low logic density.

发明内容Contents of the invention

(一)要解决的技术问题(1) Technical problems to be solved

针对上述问题,本发明提出了一种基于两个LUT3的LUT4,基于该LUT4的FPGA逻辑单元及基于该FPGA逻辑单元的FPGA逻辑块。该LUT4与现有的LUT4相比,提高了逻辑密度。In view of the above problems, the present invention proposes a LUT4 based on two LUT3s, an FPGA logic unit based on the LUT4 and an FPGA logic block based on the FPGA logic unit. Compared with the conventional LUT4, this LUT4 has improved logic density.

(二)技术方案(2) Technical solution

根据本发明的一个方面,提供了一种4输入查找表LUT4。该LUT4包括:两个3输入查找表LUT3和四个2选1多路复用器,该两个LUT3为C-LUT3和S-LUT3,该四个2选1多路复用器为FMUX,CMUX,SMUX和F4MUX。数据输入端口A0,A1,以及A2(0)经过CMUX选择后的输出分别进入C-LUT3的三个输入端口。数据输入端口A0,A1(0)与A3(1)经过SMUX选择后的输出,以及A2(0)经过CMUX选择后的输出分别进入S-LUT3的三个输入端口。数据输入端口A3(1)与逻辑‘0’经过FMUX选择后的输出进入F4MUX的控制端口,S-LUT3的输出(0)经过F4MUX选择后从该LUT4的输出端口F4输出。FPGA逻辑单元中,Fmux,Smux和Cmux分别为FMUX,SMUX和CMUX的控制位。According to one aspect of the present invention, a 4-input look-up table LUT4 is provided. The LUT4 includes: two 3-input look-up tables LUT3 and four 2-to-1 multiplexers, the two LUT3s are C-LUT3 and S-LUT3, and the four 2-to-1 multiplexers are FMUX, CMUX, SMUX and F4MUX. Outputs of the data input ports A0, A1, and A2(0) selected by the CMUX respectively enter the three input ports of the C-LUT3. The outputs of data input ports A0, A1(0) and A3(1) selected by SMUX, and the output of A2(0) selected by CMUX respectively enter the three input ports of S-LUT3. The output of the data input port A3 (1) and logic '0' selected by FMUX enters the control port of F4MUX, and the output (0) of S-LUT3 is output from the output port F4 of the LUT4 after being selected by F4MUX. In the FPGA logic unit, Fmux, Smux, and Cmux are the control bits of FMUX, SMUX, and CMUX, respectively.

优选地,本技术方案LUT4中,A2(0)经过CMUX选择后的输出分别进入C-LUT3的三个输入端口之一为:A2(0)与CI(1)经过CMUX选择后的输出分别进入C-LUT3的三个输入端口之一。A2(0)经过CMUX选择后的输出分别进入S-LUT3的三个输入端口之一为:A2(0)与CI(1)经过CMUX选择后的输出分别进入S-LUT3的三个输入端口之一。S-LUT3的输出(0)经过F4MUX选择后从该LUT4的输出端口F4输出为:C-LUT3的输出CO(1)和S-LUT3的输出(0)经过F4MUX选择后从该LUT4的输出端口F4输出。Preferably, in this technical solution LUT4, the output of A2(0) after CMUX selection enters one of the three input ports of C-LUT3 respectively: the outputs of A2(0) and CI(1) after CMUX selection respectively enter One of the three input ports of C-LUT3. The output of A2(0) after CMUX selection enters one of the three input ports of S-LUT3: the output of A2(0) and CI(1) after CMUX selection enters one of the three input ports of S-LUT3 respectively one. The output (0) of S-LUT3 is output from the output port F4 of the LUT4 after being selected by F4MUX: the output CO (1) of C-LUT3 and the output (0) of S-LUT3 are selected from the output port of LUT4 after being selected by F4MUX F4 output.

优选地,本技术方案LUT4中,根据控制位Fmux,Smux和Cmux的不同组合,配置LUT4的工作模式:当Smux=0,Cmux=0,Fmux=1时,其工作模式为LUT4;或当Smux=0,Cmux=1,Fmux=0时,其工作模式为进位链;或当Smux=0,Cmux=0,Fmux=0时,其工作模式为进位链头;或当Smux=1,Cmux=0,Fmux=0时,其工作模式为乘法器。Preferably, in this technical solution LUT4, according to the different combinations of control bits Fmux, Smux and Cmux, configure the working mode of LUT4: when Smux=0, Cmux=0, when Fmux=1, its working mode is LUT4; or when Smux =0, Cmux=1, when Fmux=0, its operating mode is carry chain; Or when Smux=0, Cmux=0, when Fmux=0, its operating mode is carry chain head; Or when Smux=1, Cmux= 0, when Fmux=0, its working mode is a multiplier.

根据本发明的另一个方面,提供了一种现场可编程门阵列FPGA逻辑单元。该FPGA逻辑单元包括上文中的LUT4、D型触发器和四个2选1多路复用器BMUX、F5MUX、DMUX0和DMUX1。D型触发器包括:数据输入端口D、数据输出端口XQ、控制输入端口CE和SR、时钟输入端口CK、全局置位复位端口GSR。FPGA逻辑单元的输入端口包括:4输入LUT的数据输入端口A0,A1,A2,A3和数据输入端口B,F5I;FPGA逻辑单元的输出端口包括:4输入LUT的数据输出端口F4和数据输出端口XB、XF、XQ。数据输入端口B(1)和C-LUT3的输出端口CO(0)经过BMUX后输出XB;数据输入端口F5I(1)和LUT4的输出端口F4(0)经过F5MUX后的输出进入DMUX1的1输入端口,F4进入DMUX1的0输入端口,DMUX1的输出为XF;XF(1)和B(0)经过DMUX0选择后输出进入D型触发器的数据输入端口D,D型触发器的输出端口作为FPGA逻辑单元的数据输出端口XQ。Bmux,Dmux1和Dmux0分别为B5MUX,DMUX1和DMUX0的控制位。According to another aspect of the present invention, a field programmable gate array FPGA logic unit is provided. The FPGA logic unit includes the above LUT4, D-type flip-flop and four 2-to-1 multiplexers BMUX, F5MUX, DMUX0 and DMUX1. The D-type flip-flop includes: a data input port D, a data output port XQ, control input ports CE and SR, a clock input port CK, and a global set reset port GSR. The input ports of the FPGA logic unit include: data input ports A0, A1, A2, A3 and data input ports B, F5I of the 4-input LUT; the output ports of the FPGA logic unit include: the data output port F4 and the data output port of the 4-input LUT XB, XF, XQ. Data input port B(1) and output port CO(0) of C-LUT3 output XB after passing through BMUX; output of data input port F5I(1) and output port F4(0) of LUT4 after passing through F5MUX enters 1 input of DMUX1 Port, F4 enters the 0 input port of DMUX1, and the output of DMUX1 is XF; XF (1) and B (0) are output into the data input port D of the D-type flip-flop after being selected by DMUX0, and the output port of the D-type flip-flop is used as the FPGA The data output port XQ of the logic unit. Bmux, Dmux1 and Dmux0 are the control bits of B5MUX, DMUX1 and DMUX0 respectively.

优选地,本技术方案FPGA逻辑单元中,CI作为FPGA逻辑单元的专用进位链输入端口;CO作为FPGA逻辑单元的专用进位链输出端口。Preferably, in the FPGA logic unit of the technical solution, CI is used as a dedicated carry chain input port of the FPGA logic unit; CO is used as a dedicated carry chain output port of the FPGA logic unit.

优选地,本技术方案FPGA逻辑单元中,Fmux,Smux,Cmux,Bmux,Dmux1和Dmux0均为5管存储单元。Preferably, in the FPGA logic unit of the technical solution, Fmux, Smux, Cmux, Bmux, Dmux1 and Dmux0 are all 5-pipe storage units.

优选地,本技术方案FPGA逻辑单元中,FPGA逻辑单元中,根据控制位Bmux,Dmux1和Dmux0的不同组合,配置FPGA逻辑单元的信号流向:当Bmux=0,F5mux=0,Dmux0=0,Dmux1=0/1时,信号流向为CO驱动XB,B驱动D;或当Bmux=0,F5mux=0,Dmux0=1,Dmux1=0/1时,信号流向为CO驱动XB,LUT4驱动D;或当Bmux=0,F5mux=1,Dmux0=0,Dmux1=0/1时,信号流向为CO驱动XB,B驱动D;或当Bmux=0,F5mux=1,Dmux0=1,Dmux1=0/1时,信号流向为CO驱动XB,LUT4驱动D;或当Bmux=1,F5mux=0,Dmux0=0,Dmux1=0/1时,信号流向为B驱动XB,B驱动D;或当Bmux=1,F5mux=0,Dmux0=1,Dmux1=0/1时,信号流向为B驱动XB,LUT驱动D;或当Bmux=1,F5mux=1,Dmux0=0,Dmux1=0/1时,信号流向为B驱动XB,B驱动D;或当Bmux=1,F5mux=1,Dmux0=1,Dmux1=0/1时,信号流向为B驱动XB,LUT4驱动D。Preferably, in the FPGA logic unit of this technical solution, in the FPGA logic unit, according to the different combination of control bit Bmux, Dmux1 and Dmux0, configure the signal flow direction of the FPGA logic unit: when Bmux=0, F5mux=0, Dmux0=0, Dmux1 =0/1, the signal flow direction is CO drives XB, B drives D; or when Bmux=0, F5mux=0, Dmux0=1, Dmux1=0/1, the signal flow direction is CO drives XB, LUT4 drives D; or When Bmux=0, F5mux=1, Dmux0=0, Dmux1=0/1, the signal flow is CO drives XB, B drives D; or when Bmux=0, F5mux=1, Dmux0=1, Dmux1=0/1 , the signal flow direction is CO drives XB, LUT4 drives D; or when Bmux=1, F5mux=0, Dmux0=0, Dmux1=0/1, the signal flow direction is B drives XB, B drives D; or when Bmux=1 , F5mux=0, Dmux0=1, Dmux1=0/1, the signal flow direction is B drives XB, LUT drives D; or when Bmux=1, F5mux=1, Dmux0=0, Dmux1=0/1, the signal flow direction B drives XB, B drives D; or when Bmux=1, F5mux=1, Dmux0=1, Dmux1=0/1, the signal flow direction is B drives XB, and LUT4 drives D.

优选地,本技术方案FPGA逻辑单元中,D触发器包括:核心寄存器和4个2选1多路复用器CKPOLMUX,SRSYNCMUX,SRSELMUX,QTYPEMUX;该D触发器输入包括数据输入D,时钟CK,时钟使能CE,置位/复位SR和全局置位/复位GSR,输出为数据输出Q;SR(0)和逻辑‘0’(1)经过SRSYNCMUX选择后输出,该输出与GSR进行或逻辑,或逻辑的输出经过SRSELMUX输出产生S(0)和R(1),分别为核心寄存器的置位/复位端;CK(1)和~CK(0)经过CKPOLMUX选择进入核心寄存器的CK端,核心寄存器的输入QL(0)和QF(1)经过QTYPEMUX选择输入Q;2选1多路复用器CKPOLMUX,SRSYNCMUX,SRSELMUX,QTYPEMUX的控制位分别为ckpol,srsync,srsel,qtype,根据控制位ckpol,srsync,srsel,qtype的不同组合,D触发器被配置为不同类型的寄存器或锁存器。Preferably, in the FPGA logic unit of the present technical solution, the D flip-flop includes: a core register and 4 2-to-1 multiplexers CKPOLMUX, SRSYNCMUX, SRSELMUX, QTYPEMUX; the D flip-flop input includes a data input D, a clock CK, Clock enable CE, set/reset SR and global set/reset GSR, the output is data output Q; SR(0) and logic '0'(1) are output after SRSYNCMUX selection, and the output is OR logic with GSR, The output of the OR logic is output through SRSELMUX to generate S(0) and R(1), which are the set/reset terminals of the core register respectively; CK(1) and ~CK(0) are selected by CKPOLMUX to enter the CK terminal of the core register, and the core The input QL (0) and QF (1) of the register are selected to input Q through QTYPEMUX; the control bits of the 2-to-1 multiplexer CKPOLMUX, SRSYNCMUX, SRSELMUX, and QTYPEMUX are ckpol, srsync, srsel, and qtype, respectively, according to the control bit ckpol , srsync, srsel, different combinations of qtype, D flip-flops are configured as different types of registers or latches.

优选地,本技术方案FPGA逻辑单元中,D触发器中,根据控制位ckpol,D触发器被配置为正沿触发或负沿触发;和/或根据控制位srsync,D触发器被配置为同步或异步;和/或根据控制位srsel,D触发器被配置为置位或复位;和/或根据控制位qtype,D触发器被配置为寄存器或锁存器。Preferably, in the FPGA logic unit of this technical solution, in the D flip-flop, according to the control bit ckpol, the D flip-flop is configured as positive edge trigger or negative edge trigger; and/or according to the control bit srsync, the D flip-flop is configured as synchronous or asynchronous; and/or according to the control bit srsel, the D flip-flop is configured as set or reset; and/or according to the control bit qtype, the D flip-flop is configured as a register or a latch.

根据本发明的另一个方面,提供了一种FPGA逻辑块。该逻辑块包括:第一FPGA逻辑单元,第二FPGA逻辑单元,局部互连,以及分布式RAM逻辑,其中第一FPGA逻辑单元和第二FPGA逻辑单元是上文中的FPGA逻辑单元;该FPGA逻辑块的端口包括2个全局输入端口-G<1:0>、12个输入端口-I<11:0>、8个输出端口-O<7:0>,专用进位链输入端口-CI、专用进位链输出端口-CO以及1个全局置位复位端口-SR和1个全局写使能端口-GWE;局部互连包括:逻辑块全局输入端口与逻辑单元时钟端口和控制输入端口之间的连接;逻辑块输入端口与逻辑单元输入端口之间的连接;逻辑单元输出端口与逻辑单元数据输入端口之间的反馈连接;逻辑‘0’和逻辑‘1’和逻辑单元输入端口之间的连接;逻辑块输出端口与逻辑单元输出端口之间的连接。According to another aspect of the present invention, an FPGA logic block is provided. The logic block includes: a first FPGA logic unit, a second FPGA logic unit, local interconnection, and distributed RAM logic, wherein the first FPGA logic unit and the second FPGA logic unit are the FPGA logic unit above; the FPGA logic The ports of the block include 2 global input ports-G<1:0>, 12 input ports-I<11:0>, 8 output ports-O<7:0>, dedicated carry chain input ports-CI, dedicated Carry chain output port-CO and 1 global set reset port-SR and 1 global write enable port-GWE; local interconnection includes: connections between the global input port of the logic block and the clock port and control input port of the logic unit ; the connection between the logic block input port and the logic cell input port; the feedback connection between the logic cell output port and the logic cell data input port; the connection between logic '0' and logic '1' and logic cell input port; A connection between a logic block output port and a logic cell output port.

优选地,本技术方案FPGA逻辑块中,分布式RAM逻辑包括:同步寄存器,写控制模块,写多路复用器,读多路复用器,该分布式RAM与FPGA逻辑块的两个逻辑单元共享数据输入A0[3:0],A1[3:0],B0,B1,SR,CK,共享数据输出XF0和XF1。同步寄存器用来同步写入的数据,地址和写控制信号;写控制模块用来控制写入数据的走向;写多路复用器用来将新的数据写入地址指定的存储单元的位置;读多路复用器为FPGA逻辑块中逻辑单元的4输入LUT。根据控制ramckpol的不同极性,可将分布式RAM配置为时钟正沿或负沿写入数据。控制位S1与写使能信号WE(SR经过寄存后的输出)分别在写控制模块中经过与门WENAND0和WENAND1进行与逻辑,与逻辑的输出均进入写多路复用器控制数据的写入;控制位S2在写控制模块中通过控制传输门S2PASS来控制数据的写入;控制位S3在同步寄存器中控制S3MUX0和S3MUX1来控制写地址的选择,并且在写控制模块中和Din1orA4(B1经过寄存后的输出)通过与门A4NAND进行与逻辑来控制B1为数据输入或者是第5个地址;控制位D在同步寄存器中控制DMUX来控制写地址的选择,并且在写控制模块中控制传输门DPASS来控制数据的写入;控制位ramckpol控制RAMCKPOLMUX;FPGA逻辑块根据控制位(S1,S2,S3,D)极性的不同,具有不同的工作模式。Preferably, in the technical solution FPGA logic block, distributed RAM logic comprises: synchronous register, write control module, write multiplexer, read multiplexer, two logics of this distributed RAM and FPGA logic block The unit shares data inputs A0[3:0], A1[3:0], B0, B1, SR, CK, and shares data outputs XF0 and XF1. The synchronization register is used to synchronize the written data, address and write control signal; the write control module is used to control the direction of the written data; the write multiplexer is used to write new data to the location of the storage unit specified by the address; the read The multiplexer is a 4-input LUT for logic cells in FPGA logic blocks. According to the different polarities of controlling ramckpol, the distributed RAM can be configured to write data on the positive or negative edge of the clock. The control bit S1 and the write enable signal WE (the output of the SR after registering) respectively perform AND logic through the AND gates WENAND0 and WENAND1 in the write control module, and the output of the AND logic enters the write multiplexer to control the writing of data ; Control bit S2 controls the writing of data by controlling the transmission gate S2PASS in the write control module; Control bit S3 controls S3MUX0 and S3MUX1 in the synchronous register to control the selection of the write address, and in the write control module and Din1orA4 (B1 through Registered output) through AND gate A4NAND performs AND logic to control B1 as data input or the fifth address; control bit D controls DMUX in the synchronization register to control the selection of the write address, and controls the transmission gate in the write control module DPASS is used to control the writing of data; the control bit ramckpol controls RAMCKPOLMUX; the FPGA logic block has different working modes according to the polarity of the control bits (S1, S2, S3, D).

优选地,本技术方案FPGA逻辑块中,逻辑块全局输入端口与逻辑单元时钟端口和控制输入端口之间的连接包括:全局输入端口G<1>与两个逻辑单元的CK直接相连,全局输入端口G<0>由控制位控制可与SR或CE连接。逻辑块输入端口与逻辑单元输入端口之间的连接包括:数据输入端口I<6>,I<0>,I<9>,I<3>分别与第一FPGA逻辑单元的数据输入端口A0,A1,A2,A3直接连接,I<8>,I<2>,I<11>,I<5>分别与第二FPGA逻辑单元的A0,A1,A2,A3直接连接,I<7>与第一FPGA逻辑单元的B0直接连接,I<1>第二FPGA逻辑单元的B1直接连接,I<10>与CE直接连接,I<4>与SR直接连接。逻辑单元输出端口与逻辑单元数据输入端口之间的反馈连接包括:第一FPGA逻辑单元输出F4与第二FPGA逻辑单元输入F5i直接连接,第二FPGA逻辑单元输出F4与第一FPGA逻辑单元输入F5i直接连接。逻辑‘0’和逻辑‘1’和逻辑单元输入端口之间的连接包括:逻辑‘0’和逻辑‘1’可与第一FPGA逻辑单元输入B0连接,逻辑‘0’和逻辑‘1’可与第二FPGA逻辑单元输入B1连接,逻辑‘0’和逻辑‘1’可与FPGA逻辑块中两个逻辑单元的共同输入CE,SR,CE连接。逻辑块输出端口与逻辑单元输出端口之间的连接包括:输出端口O(0)由第一逻辑单元的输出端口XQ0和XB0,第二逻辑单元的输出端口XF1输出,输出端口O(1)由第一逻辑单元的输出端口XF0,第二逻辑单元的输出端口XQ1和XB1输出,输出端口O(2)由第一逻辑单元的输出端口XQ0,第二逻辑单元的输出端口XF1输出,输出端口O(3)由第一逻辑单元的输出端口XF0和XB0,第二逻辑单元的输出端口XQ1输出,输出端口O(4)由第一逻辑单元的输出端口XQ0,第二逻辑单元的输出端口XF1和XB1输出,输出端口O(5)由第一逻辑单元的输出端口XF0,第二逻辑单元的输出端口XQ1输出,输出端口O(6)由第一逻辑单元的输出端口XQ0,第二逻辑单元的输出端口XF1输出,输出端口O(7)由第一逻辑单元的输出端口XF0,第二逻辑单元的输出端口XQ1输出。Preferably, in the FPGA logic block of the technical solution, the connection between the global input port of the logic block and the clock port of the logic unit and the control input port includes: the global input port G<1> is directly connected to the CKs of the two logic units, and the global input port Port G<0> can be connected to SR or CE controlled by control bits. The connection between the logic block input port and the logic unit input port comprises: data input port I<6>, I<0>, I<9>, I<3> and the data input port A0 of the first FPGA logic unit respectively, A1, A2, A3 are directly connected, I<8>, I<2>, I<11>, I<5> are directly connected to A0, A1, A2, A3 of the second FPGA logic unit, and I<7> is directly connected to B0 of the first FPGA logic unit is directly connected, I<1> is directly connected to B1 of the second FPGA logic unit, I<10> is directly connected to CE, and I<4> is directly connected to SR. The feedback connection between the logic unit output port and the logic unit data input port includes: the first FPGA logic unit output F4 is directly connected with the second FPGA logic unit input F5i, the second FPGA logic unit output F4 is connected with the first FPGA logic unit input F5i direct connection. Connections between logic '0' and logic '1' and logic cell input ports include: logic '0' and logic '1' can be connected to the first FPGA logic cell input B0, logic '0' and logic '1' can Connected to the second FPGA logic unit input B1, logic '0' and logic '1' can be connected to the common inputs CE, SR, CE of the two logic units in the FPGA logic block. The connection between the logic block output port and the logic unit output port includes: the output port O(0) is output by the output ports XQ0 and XB0 of the first logic unit, the output port XF1 of the second logic unit is output, and the output port O(1) is output by The output port XF0 of the first logic unit, the output ports XQ1 and XB1 of the second logic unit output, the output port O (2) is output by the output port XQ0 of the first logic unit, the output port XF1 of the second logic unit, and the output port O (3) output by the output port XF0 and XB0 of the first logic unit, the output port XQ1 of the second logic unit, output port O (4) by the output port XQ0 of the first logic unit, the output port XF1 and the second logic unit XB1 output, output port O(5) is output by output port XF0 of the first logic unit, output port XQ1 of the second logic unit, output port O(6) is output by output port XQ0 of the first logic unit, output port XQ0 of the second logic unit The output port XF1 is output, and the output port O(7) is output by the output port XF0 of the first logic unit and the output port XQ1 of the second logic unit.

优选地,本技术方案FPGA逻辑块中,S1=0;S2=0;S3=0;D=0时,逻辑块的工作模式为LUT;或S1=1;S2=0;S3=0;D=0时,逻辑块的工作模式为单端口16×1RAM;或S1=1;S2=1;S3=0;D=0时,逻辑块的工作模式为单端口(16×1)×2RAM;或S1=1;S2=0;S3=1;D=0时,逻辑块的工作模式为单端口32×1RAM;或S1=1;S2=0;S3=0;D=1时,逻辑块的工作模式为双端口16×1RAM。Preferably, in the FPGA logic block of the technical solution, S1=0; S2=0; S3=0; when D=0, the working mode of the logic block is LUT; or S1=1; S2=0; S3=0; D When =0, the operating mode of the logic block is single-port 16*1RAM; or S1=1; S2=1; S3=0; when D=0, the operating mode of the logic block is single-port (16*1)*2RAM; Or S1=1; S2=0; S3=1; D=0, the working mode of the logic block is single-port 32×1RAM; or S1=1; S2=0; S3=0; D=1, the logic block The working mode is dual-port 16×1RAM.

优选地,本技术方案FPGA逻辑块中,当FPGA逻辑块实现快速进位链逻辑时:FPGA逻辑块的进位输入端口CI与第一FPGA逻辑单元的进位输入端口CI直接连接,第一FPGA逻辑单元的进位输出端口CO与第二FPGA逻辑单元的进位输入端口CI直接连接,第二FPGA逻辑单元的进位输出端口CO通过逻辑块的进位输出端口CO输出。Preferably, in the FPGA logic block of the technical solution, when the FPGA logic block realizes fast carry chain logic: the carry input port CI of the FPGA logic block is directly connected with the carry input port CI of the first FPGA logic unit, and the carry input port CI of the first FPGA logic unit The carry output port CO is directly connected to the carry input port CI of the second FPGA logic unit, and the carry output port CO of the second FPGA logic unit is output through the carry output port CO of the logic block.

优选地,本技术方案FPGA逻辑块中,FPGA逻辑块的CO端口与相邻FPGA逻辑块的CI端口相连;和/或FPGA逻辑块的CI端口与另一相邻FPGA逻辑块的CO端口相连。Preferably, in the FPGA logic block of the technical solution, the CO port of the FPGA logic block is connected to the CI port of an adjacent FPGA logic block; and/or the CI port of the FPGA logic block is connected to the CO port of another adjacent FPGA logic block.

优选地,本技术方案FPGA逻辑块中,当FPGA逻辑块实现移位寄存器链逻辑时,逻辑单元输入端口B直接或被寄存后穿过逻辑块。Preferably, in the FPGA logic block of the technical solution, when the FPGA logic block implements the shift register chain logic, the input port B of the logic unit passes through the logic block directly or after being registered.

(三)有益效果(3) Beneficial effects

1、本发明的LUT4不仅可以实现一个4输入的任意布尔逻辑,还可以实现两个3输入的布尔逻辑。该LUT4与现有的LUT4相比,提高了逻辑密度。1. The LUT4 of the present invention can realize not only one 4-input arbitrary Boolean logic, but also two 3-input Boolean logics. Compared with the conventional LUT4, this LUT4 has improved logic density.

2、本发明的FPGA逻辑单元中,根据控制位的不同,该FPGA逻辑单元可被配置为8种工作模式,其中最常用的有4种:LUT4,进位链,进位链头和乘法器。该FPGA逻辑单元最大的优点就是可以提高逻辑密度。2, in the FPGA logic unit of the present invention, according to the difference of control bit, this FPGA logic unit can be configured as 8 kinds of operating modes, wherein the most commonly used has 4 kinds: LUT4, carry chain, carry chain head and multiplier. The biggest advantage of the FPGA logic unit is that it can increase the logic density.

3、本发明的FPGA逻辑块中将LUT作为分布式RAM使用,对于存储资源集中的应用可以弥补存储器模块资源的不足,而且对于小容量存储集中的应用可以提高资源利用率。3. The LUT is used as a distributed RAM in the FPGA logic block of the present invention, which can make up for the shortage of memory module resources for the application of concentrated storage resources, and can improve the utilization rate of resources for the concentrated application of small-capacity storage.

附图说明Description of drawings

图1为本发明实施例LUT4的逻辑结构示意图;FIG. 1 is a schematic diagram of a logical structure of an LUT4 according to an embodiment of the present invention;

图2为本发明实施例FPGA逻辑单元的逻辑结构示意图;Fig. 2 is the logic structure schematic diagram of the FPGA logic unit of the embodiment of the present invention;

图3为本发明实施例FPGA逻辑单元中用于存储控制位信息的5管存储单元的结构示意图;Fig. 3 is the structural representation of the 5-pipe storage unit that is used to store control bit information in the FPGA logic unit of the embodiment of the present invention;

图4为本发明实施例FPGA逻辑单元中D触发器的逻辑结构示意图;Fig. 4 is the logic structure schematic diagram of D flip-flop in the FPGA logic unit of the embodiment of the present invention;

图5为本发明实施例FPGA逻辑块端口分布和布局示意图;Fig. 5 is a schematic diagram of port distribution and layout of the FPGA logic block in an embodiment of the present invention;

图6为本发明实施例FPGA逻辑块局部互连的示意图;Fig. 6 is the schematic diagram of the partial interconnection of FPGA logic block according to the embodiment of the present invention;

图7为本发明实施例FPGA逻辑块中分布式RAM的逻辑结构图;Fig. 7 is the logical structural diagram of distributed RAM in the FPGA logic block of the embodiment of the present invention;

图8为本发明实施例FPGA逻辑块实现快速进位链逻辑的连接示意图;Fig. 8 is the connection schematic diagram that FPGA logic block realizes fast carry chain logic of the embodiment of the present invention;

图9为本发明实施例FPGA逻辑块实现寄存器链逻辑的连接示意图;Fig. 9 is the connection schematic diagram that FPGA logic block realizes register chain logic of the embodiment of the present invention;

图10本发明实施例FPGA逻辑块作为单端口32×1RAM的逻辑结构示意图;Fig. 10 is a schematic diagram of the logical structure of the FPGA logic block in the embodiment of the present invention as a single-port 32×1 RAM;

图11为本发明实施例FPGA逻辑块作为双端口RAM的逻辑结构示意图。FIG. 11 is a schematic diagram of a logic structure of an FPGA logic block as a dual-port RAM according to an embodiment of the present invention.

表1为本发明实施例FPGA逻辑单元常用的四种工作模式;Table 1 is four commonly used operating modes of the FPGA logic unit in the embodiment of the present invention;

表2为本发明实施例FPGA逻辑单元的信号流向;Table 2 is the signal flow direction of the FPGA logic unit of the embodiment of the present invention;

表3为本发明实施例FPGA逻辑单元中D触发器的工作模式;Table 3 is the working mode of the D flip-flop in the FPGA logic unit of the embodiment of the present invention;

表4为本发明实施例FPGA逻辑块根据控制位的设置而实现的工作模式;Table 4 is the operating mode realized by the FPGA logic block according to the setting of the control bit in the embodiment of the present invention;

表5为FPGA逻辑块工作于LUT模式和单端口RAM模式时的信号来源;Table 5 shows the signal sources when the FPGA logic block works in LUT mode and single-port RAM mode;

表6为FPGA逻辑块工作于LUT模式和双端口RAM模式时的信号来源。Table 6 shows the signal sources when the FPGA logic block works in LUT mode and dual-port RAM mode.

具体实施方式Detailed ways

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be described in further detail below in conjunction with specific embodiments and with reference to the accompanying drawings.

一、4输入LUT(LUT4)1. 4-input LUT (LUT4)

本实施例首先公开了一种LUT4,图1为本发明实施例LUT4的逻辑结构示意图。如图1所示,该LUT4包括:两个3输入查找表LUT3和四个2选1多路复用器。该两个LUT3为C-LUT3和S-LUT3,该四个2选1多路复用器为FMUX,CMUX,SMUX和F4MUX。数据输入端口A0,A1,以及A2(0)经过CMUX选择后的输出分别进入C-LUT3的三个输入端口A,B,C。数据输入端口A0,A1(0)与A3(1)经过SMUX选择后的输出,以及A2(0)经过CMUX选择后的输出分别进入S-LUT3的三个输入端口A,B,C。数据输入端口A3(1)与逻辑‘0’(0)经过FMUX选择后的输出进入F4MUX的控制端口。C-LUT3的输出CO(1)S-LUT3的输出(0)经过F4MUX选择后从该LUT4的输出端口F4输出。该LUT4中,Fmux,Smux和Cmux分别为所述FMUX,SMUX和CMUX的控制位。为描述方便,与二选一复用器MUX的0端口连接简写为0,与1端口连接简写为1。对于本实施例的LUT4,可以根据用户需要实现4输入的逻辑和3输入的逻辑,具体来讲:This embodiment first discloses a LUT4, and FIG. 1 is a schematic diagram of a logic structure of the LUT4 according to an embodiment of the present invention. As shown in FIG. 1 , the LUT4 includes: two 3-input look-up tables LUT3 and four 2-to-1 multiplexers. The two LUT3s are C-LUT3 and S-LUT3, and the four 2-to-1 multiplexers are FMUX, CMUX, SMUX and F4MUX. The outputs of the data input ports A0, A1, and A2(0) selected by the CMUX respectively enter the three input ports A, B, and C of the C-LUT3. The outputs of data input ports A0, A1(0) and A3(1) selected by SMUX, and the output of A2(0) selected by CMUX respectively enter the three input ports A, B and C of S-LUT3. The output of the data input port A3 (1) and logic '0' (0) selected by FMUX enters the control port of F4MUX. The output CO(1) of C-LUT3 and the output (0) of S-LUT3 are output from the output port F4 of the LUT4 after being selected by F4MUX. In the LUT4, Fmux, Smux and Cmux are control bits of the FMUX, SMUX and CMUX respectively. For the convenience of description, the abbreviation of the connection with the 0 port of the two-choice multiplexer MUX is 0, and the abbreviation of the connection with the 1 port is 1. For the LUT4 of this embodiment, 4-input logic and 3-input logic can be implemented according to user needs, specifically:

1)当所述Smux=0,Cmux=0,Fmux=0时,其工作模式为实现两个3输入的逻辑,两个3输入逻辑的输入均为A0,A1,A2;或当所述Smux=0,Cmux=0,Fmux=1时,其工作模式为实现1个4输入逻辑,输入为A0,A1,A2,A3;1) When the Smux=0, Cmux=0, and Fmux=0, its working mode is to realize two 3-input logics, and the inputs of the two 3-input logics are A0, A1, A2; or when the Smux =0, Cmux=0, Fmux=1, its working mode is to realize a 4-input logic, the input is A0, A1, A2, A3;

2)当所述Smux=0,Cmux=1,Fmux=0时,其工作模式为实现两个3输入逻辑,两个3输入逻辑的输入均为A0,A1,CI;2) When the Smux=0, Cmux=1, and Fmux=0, its working mode is to realize two 3-input logics, and the inputs of the two 3-input logics are A0, A1, CI;

3)当所述Smux=0,Cmux=1,Fmux=1时,其工作模式为实现1个4输入逻辑,输入为A0,A1,A2,A3;3) When the Smux=0, Cmux=1, and Fmux=1, its working mode is to realize a 4-input logic, and the input is A0, A1, A2, A3;

4)当所述Smux=1,Cmux=0,Fmux=0时,其工作模式为其工作模式为实现两个3输入逻辑,第1个3输入逻辑输入为A0,A1,A2;第2个3输入逻辑输入为A0,A3,A2;4) When the Smux=1, Cmux=0, and Fmux=0, its working mode is to implement two 3-input logics, the first 3-input logic input is A0, A1, A2; the second one 3-input logic input is A0, A3, A2;

5)当所述Smux=1,Cmux=0,Fmux=1时,其工作模式为实现1个4输入逻辑,输入为A0,A1,CI,A3;5) When the Smux=1, Cmux=0, and Fmux=1, its working mode is to realize a 4-input logic, and the input is A0, A1, CI, A3;

6)当所述Smux=1,Cmux=1,Fmux=0时,其工作模式为实现两个3输入的逻辑,第1个3输入逻辑输入为A0,A1,CI;第2个3输入逻辑输入为A0,A3,CI;6) When the Smux=1, Cmux=1, and Fmux=0, its working mode is to realize two 3-input logics, the first 3-input logic input is A0, A1, CI; the second 3-input logic input The input is A0, A3, CI;

7)当所述Smux=1,Cmux=1,Fmux=1时,其工作模式为其工作模式为实现1个4输入逻辑,输入为A0,A1,CI,A3。7) When the Smux=1, Cmux=1, and Fmux=1, its working mode is to implement a 4-input logic, and the input is A0, A1, CI, A3.

进一步的,上述实施例中,所述A2(0)经过CMUX选择后的输出分别进入C-LUT3的三个输入端口之一为:A2(0)与CI(1)经过CMUX选择后的输出分别进入所述C-LUT3的三个输入端口之一;所述A2(0)经过CMUX选择后的输出分别进入S-LUT3的三个输入端口之一为:A2(0)与CI(1)经过CMUX选择后的输出分别进入所述S-LUT3的三个输入端口之一;所述S-LUT3的输出(0)经过F4MUX选择后从该LUT4的输出端口F4输出为:C-LUT3的输出CO(1)和S-LUT3的输出(0)经过F4MUX选择后从该LUT4的输出端口F4输出。Further, in the above embodiment, the output of A2(0) selected by CMUX respectively enters one of the three input ports of C-LUT3: the outputs of A2(0) and CI(1) selected by CMUX respectively Enter one of the three input ports of the C-LUT3; the output of the A2(0) selected by the CMUX enters one of the three input ports of the S-LUT3 respectively: A2(0) and CI(1) through The output after CMUX selection enters one of the three input ports of the S-LUT3 respectively; the output (0) of the S-LUT3 is output from the output port F4 of the LUT4 after being selected by the F4MUX: the output CO of the C-LUT3 (1) and the output (0) of S-LUT3 are output from the output port F4 of the LUT4 after being selected by F4MUX.

表1本发明实施例LUT4常用的四种工作模式Table 1 Four commonly used working modes of LUT4 in the embodiment of the present invention

Figure BDA0000047999500000091
Figure BDA0000047999500000091

基于SMUX,CMUX和FMUX的控制位的不同组合方式,此LUT4可以被配置为8种模式。表1给出了本实施例LUT4四种最常用的模式。Based on different combinations of control bits of SMUX, CMUX and FMUX, this LUT4 can be configured into 8 modes. Table 1 shows the four most commonly used modes of LUT4 in this embodiment.

模式1:作为一个普通的LUT4来使用,可以实现一个任意四输入的布尔逻辑。例如我们要实现一个4输入与逻辑y=a·b·c·d,LUT4配置层的SRAM存储单元被配置为80(16进制),然后就可以根据输入取得对应的与的结果。Mode 1: Used as an ordinary LUT4, it can implement any four-input Boolean logic. For example, we want to implement a 4-input AND logic y=a·b·c·d, the SRAM storage unit of the LUT4 configuration layer is configured as 80 (hexadecimal), and then the corresponding AND result can be obtained according to the input.

模式2:作为快速进位链。LUT4被配置为一位全加器,

Figure BDA0000047999500000101
逻辑单元配置层的SRAM存储单元被配置为96E8(16进制),CI端口由其他逻辑单元的CO端口驱动,取代I2进入两个LUT3,求和逻辑和进位逻辑分别由S-LUT3和C-LUT3来完成,输入I3不进入LUT3而是去控制F4MUX使SUM输出,CO端口输出给其他逻辑单元的CI端口。比用传统LUT4实现一位全加器节省了一半面积。Mode 2: As a fast carry chain. LUT4 is configured as a one-bit full adder,
Figure BDA0000047999500000101
and The SRAM storage unit of the logic unit configuration layer is configured as 96E8 (hexadecimal), the CI port is driven by the CO port of other logic units, and replaces I2 into two LUT3s, and the summation logic and carry logic are controlled by S-LUT3 and C-LUT3 respectively. LUT3 to complete, the input I3 does not enter the LUT3 but to control the F4MUX to make the SUM output, and the CO port outputs to the CI port of other logic units. Compared with the traditional LUT4 to realize a full adder, it saves half the area.

模式3:用于全加逻辑中,两加数最低位相加时,此时没有CI端口输入,故不将CI端口与LUT3相连。Mode 3: It is used in the full-add logic. When the lowest bits of the two addends are added, there is no CI port input at this time, so the CI port is not connected to LUT3.

模式4:用于实现乘法逻辑。在这种模式下,两个LUT3可以通过XB和XF同时将I0&I1,I2&I3的结果输出,一个LUT4可以同时得到两个部分积,然后再和一个工作在模式2下的LUT4结合,将部分积累加,得出最终的乘法结果。图3为本发明实施例FPGA逻辑单元中用于存储控制位信息的5管存储单元的结构示意图。Mode 4: Used to implement multiplication logic. In this mode, two LUT3s can output the results of I0&I1, I2&I3 through XB and XF at the same time, and one LUT4 can get two partial products at the same time, and then combine with a LUT4 working in mode 2 to accumulate the partial products , to get the final multiplication result. FIG. 3 is a schematic structural diagram of a five-pipe storage unit for storing control bit information in an FPGA logic unit according to an embodiment of the present invention.

综上所述,本实施例LUT4结合后续的各项设置,可以灵活实现多种模式的功能,大大提高了逻辑密度。但是,本实施例中的LUT4,只能实现组合逻辑,而不能实现时序逻辑。为了实现时序逻辑,需要引入触发器器件,这将是在FPGA逻辑单元中所要解决的问题。To sum up, the LUT4 of this embodiment can flexibly realize the functions of various modes in combination with various subsequent settings, and greatly improve the logic density. However, the LUT4 in this embodiment can only implement combinational logic, but not sequential logic. In order to realize sequential logic, flip-flop devices need to be introduced, which will be a problem to be solved in the FPGA logic unit.

二、FPGA逻辑单元Two, FPGA logic unit

逻辑单元是FPGA中用于逻辑实现的最小单元。本实施例公开了一种FPGA逻辑单元。图2为本发明实施例FPGA逻辑单元的逻辑结构示意图。如图2所示,该FPGA逻辑单元由一个上述实施例中的LUT4、一个D型触发器和四个负责数据流向选择的2选1多路复用器(BMUX,F5MUX,DMUX0和DMUX1)构成。逻辑单元的端口包括数据输入端口(A0,A1,A2,A3,B,F5I)、控制输入端口(CE,SR)、时钟输入端口(CK)、全局置位复位端口(GSR)、专用进位链输入端口(CI)、专用进位链输出端口(CO)和数据输出端口(F4,XB,XF,XQ)。The logic unit is the smallest unit used for logic implementation in FPGA. This embodiment discloses an FPGA logic unit. FIG. 2 is a schematic diagram of a logic structure of an FPGA logic unit according to an embodiment of the present invention. As shown in Figure 2, the FPGA logic unit is composed of a LUT4 in the above embodiment, a D-type flip-flop and four 2-to-1 multiplexers (BMUX, F5MUX, DMUX0 and DMUX1) responsible for data flow direction selection . The ports of the logic unit include data input ports (A0, A1, A2, A3, B, F5I), control input ports (CE, SR), clock input ports (CK), global set reset ports (GSR), and dedicated carry chains Input ports (CI), dedicated carry chain output ports (CO), and data output ports (F4, XB, XF, XQ).

其中,该LUT4由四个2选1的多路复用器(FMUX,CMUX,SMUX和F4MUX)和两个3输入的LUT(C-LUT3和S-LUT3)构成。数据输入端口A0,A1以及A2(0)和CI(1)经过CMUX选择后的输出分别进入C-LUT3的三个输入端口A,B,C。数据输入端口A0,A1(0)和A3(1)结过SMUX选择后的输出以及A2(0)和CI(1)经过CMUX选择后的输出分别进入S-LUT3的三个输入端口A,B,C。数据输入A3和逻辑‘0’经过FMUX选择后的输出进入F4MUX的控制端口。C-LUT3的输出CO(1)和S-LUT3的输出(0)经过F4MUX选择后输出为LUT4的输出端口为F4。Fmux,Smux和Cmux分别为FMUX,SMUX和CMUX的控制端口,均为5管存储单元。Among them, the LUT4 is composed of four 2-to-1 multiplexers (FMUX, CMUX, SMUX and F4MUX) and two 3-input LUTs (C-LUT3 and S-LUT3). The outputs of the data input ports A0, A1, A2(0) and CI(1) selected by the CMUX respectively enter the three input ports A, B, and C of the C-LUT3. The output of data input port A0, A1(0) and A3(1) after SMUX selection and the output of A2(0) and CI(1) after CMUX selection enter the three input ports A and B of S-LUT3 respectively , C. The output of data input A3 and logic '0' after FMUX selection enters the control port of F4MUX. After the output CO(1) of C-LUT3 and the output (0) of S-LUT3 are selected by F4MUX, the output port of LUT4 is F4. Fmux, Smux and Cmux are the control ports of FMUX, SMUX and CMUX respectively, all of which are 5-tube storage units.

其中,数据输入端口B(1)和C-LUT3的输出端口CO(0)经过BMUX后输出XB。数据输入端口F5I(1)和4-LUT的输出端口F4(0)经过F5MUX后的输出进入DMUX1的1输入端口,F4进入DMUX1的0输入端口,DMUX1的输出为XF。XF(1)和B(0)经过DMUX0选择后输出进入DFF数据输入端口D。Bmux,Dmux1和Dmux0分别为B5MUX,DMUX1和DMUX0的控制端口,均为5管存储单元。数据输入端口B为F5MUX的控制端口。Wherein, the data input port B(1) and the output port CO(0) of the C-LUT3 output XB after passing through the BMUX. The output of the data input port F5I(1) and the output port F4(0) of the 4-LUT after passing through F5MUX enters the 1 input port of DMUX1, F4 enters the 0 input port of DMUX1, and the output of DMUX1 is XF. After XF(1) and B(0) are selected by DMUX0, the output enters DFF data input port D. Bmux, Dmux1 and Dmux0 are the control ports of B5MUX, DMUX1 and DMUX0 respectively, all of which are 5-tube storage units. Data input port B is the control port of F5MUX.

进一步的,在上述实施例中,所述CI作为所述FPGA逻辑单元的专用进位链输入端口;所述CO作为所述FPGA逻辑单元的专用进位链输出端口。在很多逻辑应用中有大量的加法逻辑,这样一个逻辑单元就可以既可以实现本位的求和逻辑,还可以为高位的加法提供进位,因此快速进位链在实际应用中涌出很大。Further, in the above embodiment, the CI is used as a dedicated carry chain input port of the FPGA logic unit; the CO is used as a dedicated carry chain output port of the FPGA logic unit. There are a lot of addition logic in many logic applications, such a logic unit can not only realize the basic sum logic, but also provide carry for high-order addition, so the fast carry chain is very large in practical applications.

表2本发明实施例FPGA逻辑单元的信号流向Table 2 The signal flow direction of the FPGA logic unit of the embodiment of the present invention

Figure BDA0000047999500000111
Figure BDA0000047999500000111

其中,该D触发器可以被配置为不同类型的寄存器或者锁存器。DFF端口包括数据输入端口D,控制输入端口(CE,SR)、时钟输入端口(CK)、全局置位复位端口(GSR)、数据输出端口(XQ)。Wherein, the D flip-flop can be configured as different types of registers or latches. The DFF ports include a data input port D, a control input port (CE, SR), a clock input port (CK), a global set reset port (GSR), and a data output port (XQ).

表2列出了旁路输入B和LUT输出根据控制位Bmux,F5mux,Dmux0和Dmux1极性的不同组合的不同信号流向。例如当Bmux=‘1’和Dmux0=‘1’时,XB由B驱动,寄存器输入D由LUT输出驱动。该信号流向将与后续FPGA逻辑块的实现有关,将在后续实施例中详细说明。Table 2 lists the different signal flow directions of bypass input B and LUT output according to different combinations of control bits Bmux, F5mux, Dmux0 and Dmux1 polarity. For example when Bmux='1' and Dmux0='1', XB is driven by B and register input D is driven by LUT output. The signal flow will be related to the implementation of subsequent FPGA logic blocks, which will be described in detail in subsequent embodiments.

表3本发明实施例FPGA逻辑单元中D触发器的工作模式Table 3 The working mode of the D flip-flop in the FPGA logic unit of the embodiment of the present invention

Figure BDA0000047999500000121
Figure BDA0000047999500000121

注意:寄存器元件符号(以F开头)里没有带_1的是正沿触发,带_1的是负沿触发,锁存器元件符号(以L开头)里没有带_1的是高电平触发,带_1的是低电平触发。Note: Register element symbols (beginning with F) without _1 are positive edge triggers, those with _1 are negative edge triggers, and latch element symbols (beginning with L) without _1 are high level triggers , with _1 is a low-level trigger.

图4为本发明实施例FPGA逻辑单元中D触发器的逻辑结构示意图。参照图4,该D触发器包括核心寄存器和4个2选1多路复用器CKPOLMUX,SRSYNCMUX,SRSELMUX,QTYPEMUX,根据它们的控制位ckpol,srsync,srsel,qtype的不同组合,D触发器可以被配置为不同类型的寄存器或锁存器。该D触发器输入包括D(数据输入),CK(时钟),CE(时钟使能),SR(置位/复位)和GSR(全局置位/复位),输出为Q(数据输出)。SR(0)和逻辑‘0’(1)经过SRSYNCMUX选择后输出,此输出与GSR进行或逻辑,或逻辑的输出经过SRSELMUX输出产生S(0)和R(1),分别为核心寄存器的置位/复位端。CK(1)和~CK(0)经过CKPOLMUX选择进入核心寄存器的CK端。核心寄存器的输入QL(0)和QF(1)经过QTYPEMUX选择输入Q。FIG. 4 is a schematic diagram of a logic structure of a D flip-flop in an FPGA logic unit according to an embodiment of the present invention. Referring to Figure 4, the D flip-flop includes a core register and four 2-to-1 multiplexers CKPOLMUX, SRSYNCMUX, SRSELMUX, and QTYPEMUX. According to different combinations of their control bits ckpol, srsync, srsel, and qtype, the D flip-flop can are configured as different types of registers or latches. The D flip-flop inputs include D (data input), CK (clock), CE (clock enable), SR (set/reset) and GSR (global set/reset), and the output is Q (data output). SR(0) and logic '0'(1) are output after being selected by SRSYNCMUX. This output is ORed with GSR, and the output of OR logic is output by SRSELMUX to generate S(0) and R(1), which are the core register settings respectively. bit/reset terminal. CK(1) and ~CK(0) are selected to enter the CK end of the core register through CKPOLMUX. The input QL(0) and QF(1) of the core register select the input Q through QTYPEMUX.

表3为本发明实施例FPGA逻辑单元中D触发器的工作模式表。如表3所示,根据控制位ckpol,srsync,srsel,qtype的不同组合,D触发器可以被配置为不同类型的寄存器或锁存器。这样就为用户提供了很大的灵活性,用户根据自己的应用来选择寄存器的类型,比如带异步置位的寄存器或者带同步置位的寄存器。Table 3 is a table of working modes of the D flip-flop in the FPGA logic unit of the embodiment of the present invention. As shown in Table 3, according to different combinations of control bits ckpol, srsync, srsel, and qtype, D flip-flops can be configured as different types of registers or latches. This provides great flexibility for the user. The user can choose the type of register according to his own application, such as a register with asynchronous setting or a register with synchronous setting.

控制位ckpol:根据控制位ckpol极性不同,D触发器可被配置为正沿触发或负沿触发,如FD的ckpol=‘1’,为正沿触发,FD_1的ckpol=‘0’,为负沿触发。逻辑块中两个D触发器共用一个时钟输入,且其极性可分别进行配置。CE信号是高有效的,且逻辑块中两个D触器共用一个时钟使能。如果所配置的D触发器没有用到CE,其默认状态为有效,如FDC的CE默认为高。Control bit ckpol: According to the polarity of the control bit ckpol, the D flip-flop can be configured as a positive edge trigger or a negative edge trigger. Negative edge trigger. The two D flip-flops in the logic block share a clock input, and its polarity can be configured separately. The CE signal is active high, and the two D contacts in the logic block share a clock enable. If the configured D flip-flop does not use CE, its default state is valid, for example, the CE of FDC is high by default.

控制位srsync:SR信号是高有效的,根据控制位srsync的极性可将其配置为同步或者异步。Control bit srsync: The SR signal is active high, and can be configured as synchronous or asynchronous according to the polarity of the control bit srsync.

控制位srsel:根据控制位srsel可将其配置为置位或者复位,如FDCE的srsync=‘0’且srsel=‘0’,为带异步复位和时钟使能的寄存器。逻辑块中两个D触发器共用SR信号。如果所配置的D触发器没用用到SR信号,其默认态为无效,如FDE的SR默认为低。Control bit srsel: It can be configured as set or reset according to the control bit srsel, such as srsync='0' and srsel='0' of FDCE, which is a register with asynchronous reset and clock enable. The two D flip-flops in the logic block share the SR signal. If the configured D flip-flop does not use the SR signal, its default state is invalid, for example, the SR of FDE is low by default.

控制位qtype:根据控制位qtype的极性可将D触发器配置为寄存器或锁存器,如LD的qtpye=‘0’,为锁存器。Control bit qtype: According to the polarity of the control bit qtype, the D flip-flop can be configured as a register or a latch, such as LD's qtpye='0', which is a latch.

本实施例FPGA逻辑单元最大的优点就是可以提高逻辑密度。并且,经过加入D触发器和另外四个二选一的多路复用器,实现了FPGA逻辑单元的时序逻辑,可以在逻辑块中得到应用。The biggest advantage of the FPGA logic unit in this embodiment is that the logic density can be increased. Moreover, by adding D flip-flops and four other multiplexers, the timing logic of the FPGA logic unit is realized, which can be applied in the logic block.

三、FPGA逻辑块3. FPGA Logic Block

本实施例公开了一种FPGA逻辑块。该逻辑块包括:两个如上述实施例中描述的FPGA逻辑单元-第一FPGA逻辑单元和第二FPGA逻辑单元、局部互连和分布式RAM逻辑。This embodiment discloses an FPGA logic block. The logic block includes: two FPGA logic units as described in the above embodiments—the first FPGA logic unit and the second FPGA logic unit, local interconnection and distributed RAM logic.

图5为本发明实施例FPGA逻辑块端口分布和布局示意图。如图5所示,该FPGA逻辑块的端口包括2个全局输入端口-G<1:0>、12个输入端口-I<11:0>、8个输出端口-O<7:0>,专用进位链输入端口-CI、专用进位链输出端口-CO以及1个全局置位复位端口-SR和1个全局写使能端口-GWE。逻辑块输入输出端口均匀分布在矩形逻辑块四周,逻辑单元的输入输出端口均匀地连接到逻辑块四周同类型的输入输出端口,这些都有利于提高布通率。FIG. 5 is a schematic diagram of port distribution and layout of an FPGA logic block according to an embodiment of the present invention. As shown in Figure 5, the ports of the FPGA logic block include 2 global input ports-G<1:0>, 12 input ports-I<11:0>, 8 output ports-O<7:0>, Dedicated carry chain input port-CI, dedicated carry chain output port-CO, 1 global set reset port-SR and 1 global write enable port-GWE. The input and output ports of the logic block are evenly distributed around the rectangular logic block, and the input and output ports of the logic unit are evenly connected to the same type of input and output ports around the logic block, which is conducive to improving the routing rate.

本实施例FPGA逻辑块中,局部互连包括:逻辑块全局输入端口与逻辑单元时钟端口和控制输入端口之间的连接;逻辑块输入端口与逻辑单元输入端口之间的连接;逻辑单元输出端口与逻辑单元数据输入端口之间的反馈连接;逻辑‘0’和逻辑‘1’和逻辑单元输入端口之间的连接;逻辑块输出端口与逻辑单元输出端口之间的连接。In the FPGA logic block of this embodiment, the local interconnection includes: the connection between the global input port of the logic block and the clock port of the logic unit and the control input port; the connection between the input port of the logic block and the input port of the logic unit; the output port of the logic unit Feedback connection to logic cell data input port; connection between logic '0' and logic '1' and logic cell input port; connection between logic block output port and logic cell output port.

图6为本发明实施例FPGA逻辑块局部互连的示意图。FIG. 6 is a schematic diagram of local interconnection of FPGA logic blocks according to an embodiment of the present invention.

如图6所示,逻辑块全局输入端口与逻辑单元时钟端口和控制输入端口之间的连接包括:全局输入端口G<1>与两个逻辑单元的CK直接相连,全局输入端口G<0>由控制位控制可与SR或CE连接。As shown in Figure 6, the connection between the global input port of the logic block and the clock port and control input port of the logic unit includes: the global input port G<1> is directly connected to the CK of the two logic units, and the global input port G<0> It can be connected to SR or CE controlled by the control bit.

如图6所示,逻辑块输入端口与逻辑单元输入端口之间的连接包括:数据输入端口I<6>,I<0>,I<9>,I<3>分别与第一FPGA逻辑单元的数据输入端口A0,A1,A2,A3直接连接,I<8>,I<2>,I<11>,I<5>分别与第二FPGA逻辑单元的A0,A1,A2,A3直接连接,I<7>与第一FPGA逻辑单元的B0直接连接,I<1>与第二FPGA逻辑单元的B1直接连接,I<10>与CE直接连接,I<4>与SR直接连接。As shown in Figure 6, the connection between the logic block input port and the logic unit input port includes: data input port I<6>, I<0>, I<9>, I<3> are respectively connected with the first FPGA logic unit The data input ports A0, A1, A2, A3 are directly connected, and I<8>, I<2>, I<11>, I<5> are directly connected to A0, A1, A2, A3 of the second FPGA logic unit respectively , I<7> is directly connected to B0 of the first FPGA logic unit, I<1> is directly connected to B1 of the second FPGA logic unit, I<10> is directly connected to CE, and I<4> is directly connected to SR.

如图6所示,逻辑单元输出端口与逻辑单元数据输入端口之间的反馈连接包括:第一FPGA逻辑单元输出F4与第二FPGA逻辑单元输入F5i直接连接,第二FPGA逻辑单元输出F4与第一FPGA逻辑单元输入F5i直接连接。As shown in Figure 6, the feedback connection between the logic unit output port and the logic unit data input port includes: the first FPGA logic unit output F4 is directly connected with the second FPGA logic unit input F5i, and the second FPGA logic unit output F4 is connected with the second FPGA logic unit output F4 An FPGA logic unit input is directly connected to the F5i.

如图6所示,逻辑‘0’和逻辑‘1’和逻辑单元输入端口之间的连接包括:逻辑‘0’和逻辑‘1’可与第一FPGA逻辑单元输入B0连接,逻辑‘0’和逻辑‘1’可与第二FPGA逻辑单元输入B1连接,逻辑‘0’和逻辑‘1’可与FPGA逻辑块中两个逻辑单元的共同输入CE,SR,CE连接。As shown in Figure 6, the connections between logic '0' and logic '1' and logic cell input ports include: logic '0' and logic '1' can be connected to the first FPGA logic cell input B0, logic '0' The sum logic '1' can be connected to the second FPGA logic unit input B1, and the logic '0' and logic '1' can be connected to the common inputs CE, SR, CE of the two logic units in the FPGA logic block.

如图6所示,逻辑块输出端口与逻辑单元输出端口之间的连接包括:输出端口O(0)由第一逻辑单元的输出端口XQ0和XB0,第二逻辑单元的输出端口XF1输出,输出端口O(1)由第一逻辑单元的输出端口XF0,第二逻辑单元的输出端口XQ1和XB1输出,输出端口O(2)由第一逻辑单元的输出端口XQ0,第二逻辑单元的输出端口XF1输出,输出端口O(3)由第一逻辑单元的输出端口XF0和XB0,第二逻辑单元的输出端口XQ1输出,输出端口O(4)由第一逻辑单元的输出端口XQ0,第二逻辑单元的输出端口XF1和XB1输出,输出端口O(5)由第一逻辑单元的输出端口XF0,第二逻辑单元的输出端口XQ1输出,输出端口O(6)由第一逻辑单元的输出端口XQ0,第二逻辑单元的输出端口XF1输出,输出端口O(7)由第一逻辑单元的输出端口XF0,第二逻辑单元的输出端口XQ1输出。As shown in Figure 6, the connection between the logic block output port and the logic unit output port includes: the output port O (0) is output by the output ports XQ0 and XB0 of the first logic unit, the output port XF1 of the second logic unit, and the output Port O(1) is output by the output port XF0 of the first logic unit, the output ports XQ1 and XB1 of the second logic unit, and the output port O(2) is output by the output port XQ0 of the first logic unit, the output port of the second logic unit XF1 output, the output port O(3) is output by the output port XF0 and XB0 of the first logic unit, the output port XQ1 of the second logic unit is output, the output port O(4) is output by the output port XQ0 of the first logic unit, the second logic unit The output ports XF1 and XB1 of the unit are output, the output port O(5) is output by the output port XF0 of the first logic unit, the output port XQ1 of the second logic unit is output, and the output port O(6) is output by the output port XQ0 of the first logic unit , the output port XF1 of the second logic unit is output, and the output port O(7) is output by the output port XF0 of the first logic unit and the output port XQ1 of the second logic unit.

图7为本发明实施例FPGA逻辑块中分布式RAM的逻辑结构图。分布式RAM与FPGA逻辑块的两个逻辑单元共享数据输入A0[3:0],A1[3:0],B0,B1,SR,CK,共享数据输出XF0和XF1。该分面式RAM主要包括同步寄存器,写控制模块,写多路复用器,读多路复用器。同步寄存器用来同步写入的数据B0和B1,地址A0[3:0]和A1[3:0]和写控制信号WE。写控制模块用来控制写入数据的走向。写多路复用器用来将新的数据写入地址指定的存储单元的位置。读多路复用器为FPGA逻辑块中逻辑单元的4输入LUT,所以读取时间与LUT的传输延时一致。逻辑块根据控制位(S1,S2,S3,D)极性的不同,具有不同的工作模式,如表4所示,例如当S1=‘0’时逻辑块用做LUT,当S1=‘1’时逻辑块用做分布式RAM。控制位ramckpol=‘0’时,RAM在时钟正沿写入新的数据,ramckpol=‘1’时,RAM在时钟负沿写入新的数据。FIG. 7 is a logical structure diagram of a distributed RAM in an FPGA logic block according to an embodiment of the present invention. The two logic units of the distributed RAM and the FPGA logic block share data inputs A0[3:0], A1[3:0], B0, B1, SR, CK, and share data outputs XF0 and XF1. The faceted RAM mainly includes a synchronous register, a write control module, a write multiplexer, and a read multiplexer. The synchronization register is used to synchronize the written data B0 and B1, addresses A0[3:0] and A1[3:0] and the write control signal WE. The write control module is used to control the direction of written data. The write multiplexer is used to write new data to the memory location specified by the address. The read multiplexer is the 4-input LUT of the logic cell in the FPGA logic block, so the read time is consistent with the propagation delay of the LUT. The logic block has different working modes according to the polarity of the control bits (S1, S2, S3, D), as shown in Table 4. For example, when S1='0', the logic block is used as a LUT; when S1='1 'When logic blocks are used as distributed RAM. When the control bit ramckpol=‘0’, the RAM writes new data at the positive edge of the clock, and when ramckpol=‘1’, the RAM writes new data at the negative edge of the clock.

图8为本发明实施例FPGA逻辑块实现快速进位链逻辑的连接示意图。如图8所示,每个逻辑单元的CO端口与相邻上侧的逻辑单元的CI端口直接相连,FPGA芯片顶端逻辑块中第二逻辑单元的CO端口与相邻右侧底端逻辑单元的CI端口直接相连,就可以形成快速进位链逻辑。FIG. 8 is a schematic diagram of the connection of FPGA logic blocks implementing fast carry chain logic according to an embodiment of the present invention. As shown in Figure 8, the CO port of each logic unit is directly connected to the CI port of the logic unit on the adjacent upper side, and the CO port of the second logic unit in the top logic block of the FPGA chip is connected to the CI port of the adjacent right bottom logic unit. The CI port is directly connected to form a fast carry chain logic.

图9为本发明实施例FPGA逻辑块实现寄存器链逻辑的连接示意图。当Bmux=‘1’时旁路信号B直接由XB穿过逻辑块。当Dmux0=‘0’时,旁路信号B进入寄存器通过XQ输出,如果XQ由B进入配置相同的相邻逻辑块,就形成了寄存器链。其用途相当广泛。表4本实施例FPGA逻辑块根据控制位的设置而实现的工作模式FIG. 9 is a schematic diagram of the connection of FPGA logic blocks implementing register chain logic according to an embodiment of the present invention. When Bmux='1', the bypass signal B directly passes through the logic block from XB. When Dmux0='0', the bypass signal B enters the register and outputs through XQ. If XQ enters the adjacent logic block with the same configuration from B, a register chain is formed. Its uses are quite extensive. Table 4 The working modes realized by the FPGA logic block in this embodiment according to the setting of the control bits

Figure BDA0000047999500000161
Figure BDA0000047999500000161

表4为本发明实施例FPGA逻辑块根据控制位的设置而实现的工作模式。其可被配置为单端口RAM和双端口RAM。一个逻辑块可被配置为一个16×1,(16×1)×2,32×1的单端口RAM或者一个16×1的双端口RAM。单端口RAM具用一个同步写端口和一个异步读端口。双端口RAM具有一个同步写端口和两个异步读端口,任何读写操作都可同时或者独立进行。利用其他逻辑块的寄存器分布式RAM的同步读也是可以实现的。Table 4 shows the working modes realized by the FPGA logic block according to the settings of the control bits in the embodiment of the present invention. It can be configured as single-port RAM and dual-port RAM. A logic block can be configured as a 16×1, (16×1)×2, 32×1 single-port RAM or a 16×1 dual-port RAM. Single-port RAM has a synchronous write port and an asynchronous read port. Dual-port RAM has a synchronous write port and two asynchronous read ports, and any read and write operations can be performed simultaneously or independently. Synchronous reads of distributed RAMs using registers of other logic blocks are also possible.

受控于全局写使能信号(GWE)和局部写使能信号(WE),分布式RAM的写操作是时钟沿触发的,可被配置为正沿触发或者负沿触发。为了保证初始化后RAM内容不受破坏,在FPGA芯片的配置过程GWE是无效的。配置结束后GWE被释放。当GWE和WE同时有效时,在时钟沿新的内容被写进地址所选择的存储单元。分布式RAM的读取时间等于LUT的逻辑传输延时。在FPGA的配置过程中分布式RAM内容被初始化。FGPA芯片一上电,所有分布式RAM存储单元被清零,然后被写入用户自定义初始值。如果用户没有定义,默认初始值为零。Controlled by the global write enable signal (GWE) and the local write enable signal (WE), the write operation of the distributed RAM is triggered by the clock edge, which can be configured as a positive edge trigger or a negative edge trigger. In order to ensure that the RAM content is not damaged after initialization, GWE is invalid during the configuration process of the FPGA chip. The GWE is released after configuration. When GWE and WE are valid at the same time, new content is written into the storage unit selected by the address along the clock edge. The read time of the distributed RAM is equal to the logical transfer delay of the LUT. The distributed RAM content is initialized during FPGA configuration. Once the FPGA chip is powered on, all distributed RAM storage units are cleared, and then written to user-defined initial values. If not defined by the user, the default initial value is zero.

单端口RAM有三种工作模式:16×1,(16×1)×2,32×1。16×1模式包括一个16位的RAM存储单元阵列,其包括一个具有4位地址的译码器,一个数据输入和一个数据输出。(16×1)×2模式包括两个16位的RAM存储单元阵列。每个阵列包括一个具有4位地址的译码器,一个数据输入和一个数据输出,且这两个阵列的读取操作是独立的。32×1模式包括一个32位的RAM存储单元阵列,其包括一个具有5位地址的译码器,一个数据输入和一个数据输出。Single-port RAM has three working modes: 16×1, (16×1)×2, 32×1. The 16×1 mode includes a 16-bit RAM storage cell array, which includes a decoder with a 4-bit address, One data input and one data output. The (16×1)×2 mode includes two 16-bit RAM memory cell arrays. Each array includes a decoder with a 4-bit address, a data input and a data output, and the read operations of the two arrays are independent. The 32×1 mode includes a 32-bit RAM memory cell array, which includes a decoder with a 5-bit address, a data input and a data output.

表5为FPGA逻辑块工作于LUT模式和单端口RAM模式时的信号来源。图10本发明实施例FPGA逻辑块作为单端口32×1RAM的逻辑结构示意图。图表5和图10所示,在这个模式下,LC0的旁路输入B0作为数据输入,FPGA逻辑块中第二逻辑单元LC1的旁路输入B1作为第五个地址位,SR信号作为WE信号使用。Table 5 shows the signal sources when the FPGA logic block works in LUT mode and single-port RAM mode. FIG. 10 is a schematic diagram of a logic structure of an FPGA logic block as a single-port 32×1 RAM according to an embodiment of the present invention. As shown in Figure 5 and Figure 10, in this mode, the bypass input B0 of LC0 is used as the data input, the bypass input B1 of the second logic unit LC1 in the FPGA logic block is used as the fifth address bit, and the SR signal is used as the WE signal .

表5FPGA逻辑块工作于LUT模式和单端口RAM模式时的信号来源Table 5 Signal sources of FPGA logic blocks working in LUT mode and single-port RAM mode

 RAM信号RAM signal   功能 Function   LUT模式信号LUT mode signal  DIN0和DIN1DIN0 and DIN1   数据输入 data input   B0和B1B0 and B1  A[3:0]A[3:0]   地址 address   A0[3:0]或A1[3:0]A0[3:0] or A1[3:0]  A4(仅供32×1使用)A4 (for 32×1 only)   地址 address   B1B1  WEWE   写使能write enable   SRSR  WCLKWCLK   时钟clock   CKCK  SPOSPOs   单端口输出single port output   XF0或XF1XF0 or XF1

双端口16×1RAM包括两个16位RAM存储单元阵列。每个端口包括一个4位地址译码器。一个端口具有一个数据输入和一个数据输出,另一个端口包括由另一组地址指定的数据输出。Dual-port 16×1 RAM consists of two arrays of 16-bit RAM memory cells. Each port includes a 4-bit address decoder. One port has a data input and a data output, and the other port includes a data output specified by another set of addresses.

表6FPGA逻辑块工作于LUT模式和双端口RAM模式时的信号来源Table 6 Signal sources when the FPGA logic block works in LUT mode and dual-port RAM mode

Figure BDA0000047999500000171
Figure BDA0000047999500000171

表6为FPGA逻辑块工作于LUT模式和双端口RAM模式时的信号来源。图11为本发明实施例FPGA逻辑块作为双端口RAM的逻辑结构示意图。如表6和图11所示,在这种模式下,A0[3:0]是第一个端口的读写地址和第二个端口的写地址,A1[3:0]是第二个端口的专用读地址。基于双端口RAM的同时读写能力,其数据处理速度比单端口RAM快一倍。Table 6 shows the signal sources when the FPGA logic block works in LUT mode and dual-port RAM mode. FIG. 11 is a schematic diagram of a logic structure of an FPGA logic block as a dual-port RAM according to an embodiment of the present invention. As shown in Table 6 and Figure 11, in this mode, A0[3:0] is the read and write address of the first port and the write address of the second port, A1[3:0] is the second port dedicated read address. Based on the simultaneous read and write capabilities of dual-port RAM, its data processing speed is twice as fast as that of single-port RAM.

分布式RAM的应用必须根据时序要求和资源利用率来定。16×1的RAM可以级联起来形成在深度和宽度上更大的RAM存储阵列。由于形成大容量的RAM所用到的逻辑块比较分散,就会导致地址线具有大的扇出和较长的读写时间。解决这一问题的一个方法是利用流水线设计,数据和地址输出被寄存输出,其可通过减少地址线的扇出来提高工作频率。在对分布式RAM进行逻辑映射时,控制位S1,S2,S3,D来配置控制电路用来传输数据和地址。比如,旁路信号B1在单端口(16×1)×2模式下作为数据输入,而在单端口32×1模式下作为第5个地址位。写多路选择器用来输送数据到指定地址。如图11所示,为了维持5管存储单元的写能力,写使能NMOS晶体管M1的尺寸必须和5管存储单元的N型传输管M2的尺寸一致。读多路复用器是和LUT模式共享的,所以分布式RAM的读取时间和LUT的逻辑延时是一致的。The application of distributed RAM must be determined according to timing requirements and resource utilization. 16×1 RAMs can be cascaded to form larger RAM storage arrays in depth and width. Since the logic blocks used to form a large-capacity RAM are scattered, the address lines will have a large fan-out and a long reading and writing time. One way to solve this problem is to use a pipeline design, where the data and address outputs are registered outputs, which can increase the operating frequency by reducing the fan-out of the address lines. When logically mapping the distributed RAM, the control bits S1, S2, S3, and D are used to configure the control circuit to transmit data and addresses. For example, the bypass signal B1 is used as a data input in the single-port (16×1)×2 mode, and as the fifth address bit in the single-port 32×1 mode. The write multiplexer is used to send data to the specified address. As shown in FIG. 11 , in order to maintain the write capability of the 5-tube memory unit, the size of the write enable NMOS transistor M1 must be consistent with the size of the N-type transfer transistor M2 of the 5-tube memory unit. The read multiplexer is shared with the LUT mode, so the read time of the distributed RAM is consistent with the logic delay of the LUT.

本发明的FPGA逻辑块中,将LUT作为分布式RAM使用对于存储资源集中的应用可以弥补存储器模块资源的不足,而且对于小容量存储集中的应用可以提高资源利用率。分布式RAM最大的优点是可以缩短存储和其驱动逻辑之间的延时,这主要是因为逻辑块既可以用做逻辑资源也可以用做存储资源。由于分布式双端口RAM具有异步读的能力,所以其两倍的数据处理速度可以节省一个时钟周期。总之,用LUT作为分布式RAM,在面积代价很小的情况下换取了FGPA较大的性能收获。In the FPGA logic block of the present invention, using the LUT as a distributed RAM can make up for the shortage of memory module resources for applications with concentrated storage resources, and can improve resource utilization for applications with small-capacity storage. The biggest advantage of distributed RAM is that it can shorten the delay between storage and its driving logic, mainly because logic blocks can be used as both logic resources and storage resources. Since the distributed dual-port RAM has the ability to read asynchronously, its twice the data processing speed can save one clock cycle. In short, using LUT as a distributed RAM, in exchange for a large performance gain of FGPA at a small area cost.

四:多个逻辑块连接的应用Four: Application of multiple logic block connections

本实施例给出了多个逻辑块互相连接,实现各功能的范例。下文以三个具体应用为例进行说明。This embodiment provides an example in which multiple logic blocks are connected to each other to realize various functions. In the following, three specific applications are taken as examples.

1)当所述FPGA逻辑块实现快速进位链逻辑时:所述FPGA逻辑块的进位输入端口CI与第一FPGA逻辑单元的进位输入端口CI直接连接,第一FPGA逻辑单元的进位输出端口CO与第二FPGA逻辑单元的进位输入端口CI直接连接,第二FPGA逻辑单元的进位输出端口CO通过逻辑块的进位输出端口CO输出;1) When the FPGA logic block realizes fast carry chain logic: the carry input port CI of the FPGA logic block is directly connected with the carry input port CI of the first FPGA logic unit, and the carry output port CO of the first FPGA logic unit is connected with The carry input port CI of the second FPGA logic unit is directly connected, and the carry output port CO of the second FPGA logic unit is output through the carry output port CO of the logic block;

2)当多个逻辑块组合应用时,所述FPGA逻辑块的CO端口与相邻上边的FPGA逻辑块的CI端口相连;某列逻辑块顶端的PGA逻辑块的CO端口与其右边相邻列底端的FPGA逻辑块的CI端口相连;2) When a plurality of logic blocks are used in combination, the CO port of the FPGA logic block is connected to the CI port of the FPGA logic block on the adjacent upper side; the CO port of the PGA logic block at the top of a certain column of logic blocks and the bottom of the adjacent column on the right The CI port of the FPGA logic block at the end is connected;

3)当所述FPGA逻辑块实现移位寄存器链逻辑时,逻辑单元输入端口B直接或被寄存后穿过逻辑块输出,此输出可通布线通道进入右侧逻辑块中逻辑单元的输入端口B。3) When the FPGA logic block implements the shift register chain logic, the input port B of the logic unit passes through the logic block output directly or after being registered, and this output can enter the input port B of the logic unit in the logic block on the right side through the wiring channel .

由上述实施例可以看出:通过上述方法,可以实现多个逻辑块的连接,从而实现复杂的逻辑功能。It can be seen from the above embodiments that through the above method, the connection of multiple logic blocks can be realized, thereby realizing complex logic functions.

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The specific embodiments described above have further described the purpose, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above descriptions are only specific embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.

Claims (22)

1. input look-up table LUT4 is characterized in that this LUT4 comprises: two 3 input look-up table LUT3 and four 2 select 1 multiplexer, and these two LUT3 are C-LUT3 and S-LUT3, and these four 2 are selected 1 multiplexer is FMUX, CMUX, SMUX and F4MUX;
Data-in port A0, A1, and the output after A2 (0) the process CMUX selection enters three input ports of C-LUT3 respectively;
Output after data-in port A0, A1 (0) select through SMUX with A3 (1), and the output after A2 (0) the process CMUX selection enters three input ports of S-LUT3 respectively;
Output after data-in port A3 (1) selects through FMUX with logic ' 0 ' enters the control port of F4MUX, and the output of S-LUT3 (0) is selected the output port F4 output of back from this LUT4 through F4MUX;
Among the described LUT4, Fmux, Smux and Cmux are respectively described FMUX, the control bit of SMUX and CMUX.
2. 4 input look-up tables according to claim 1 is characterized in that,
One of three input ports that output after described A2 (0) selects through CMUX enters C-LUT3 respectively are: the output after A2 (0) selects through CMUX with CI (1) enters one of described three input ports of described C-LUT3 respectively;
One of three input ports that output after described A2 (0) selects through CMUX enters S-LUT3 respectively are: the output after A2 (0) selects through CMUX with CI (1) enters one of described three input ports of described S-LUT3 respectively;
The output of described S-LUT3 (0) selects the back to be output as from the output port F4 of this LUT4 through F4MUX: the output CO (1) of C-LUT3 and the output (0) of S-LUT3 are selected the output port F4 output of back from described LUT4 through F4MUX.
3. LUT4 according to claim 2 is characterized in that, for described LUT4, and according to control bit Fmux, the various combination of Smux and Cmux, dispose the mode of operation of described LUT4:
As described Smux=0, Cmux=0, during Fmux=1, its mode of operation is LUT4; Or
As described Smux=0, Cmux=1, during Fmux=0, its mode of operation is a carry chain; Or
As described Smux=0, Cmux=0, during Fmux=0, its mode of operation is the carry begin chain; Or
As described Smux=1, Cmux=0, during Fmux=0, its mode of operation is a multiplier.
4. an on-site programmable gate array FPGA logical block is characterized in that, this fpga logic unit comprises that the described LUT4 of claim 2, D flip-flop and four 2 select 1 multiplexer BMUX, F5MUX, DMUX0 and DMUX1;
Described D flip-flop comprises: data-in port D, data-out port XQ, control input end mouth CE and SR, input end of clock mouth CK, overall set-reset port GSR;
The input port of described fpga logic unit comprises: the data-in port A0 of described 4 input LUT, A1, A2, A3 and data-in port B, F5I; The output port of described fpga logic unit comprises: the data-out port F4 of described 4 input LUT and data-out port XB, XF, XQ;
Wherein, the output port CO (0) of data-in port B (1) and C-LUT3 exports XB through behind the BMUX; Output behind output port F4 (0) the process F5MUX of data-in port F5I (1) and LUT4 enters 1 input port of DMUX1, and F4 enters 0 input port of DMUX1, and DMUX1 is output as XF; XF (1) and B (0) select back output to enter the data-in port D of D flip-flop through DMUX0, and the output port of described D flip-flop is as the data-out port XQ of described fpga logic unit;
Bmux, Dmux1 and Dmux0 are respectively B5MUX, the control bit of DMUX1 and DMUX0.
5. fpga logic according to claim 4 unit is characterized in that,
Described CI is as the special-purpose carry chain input port of described fpga logic unit; Described CO is as the special-purpose carry chain output port of described fpga logic unit.
6. fpga logic according to claim 4 unit is characterized in that, described Fmux, and Smux, Cmux, Bmux, Dmux1 and Dmux0 are 5 transistor memory units.
7. according to claim 4 or 5 described fpga logic unit, it is characterized in that, in the described fpga logic unit, according to control bit Bmux, the various combination of Dmux1 and Dmux0, the signal flow that disposes described fpga logic unit to:
Work as Bmux=0, F5mux=0, Dmux0=0, during Dmux1=0/1, described signal flow is to being CO driving XB, B drives D; Or
Work as Bmux=0, F5mux=0, Dmux0=1, during Dmux1=0/1, described signal flow is to being CO driving XB, LUT4 drives D; Or
Work as Bmux=0, F5mux=1, Dmux0=0, during Dmux1=0/1, described signal flow is to being CO driving XB, B drives D; Or
Work as Bmux=0, F5mux=1, Dmux0=1, during Dmux1=0/1, described signal flow is to being CO driving XB, LUT4 drives D; Or
Work as Bmux=1, F5mux=0, Dmux0=0, during Dmux1=0/1, described signal flow is to being B driving XB, B drives D; Or
Work as Bmux=1, F5mux=0, Dmux0=1, during Dmux1=0/1, described signal flow is to being B driving XB, LUT4 drives D; Or
Work as Bmux=1, F5mux=1, Dmux0=0, during Dmux1=0/1, described signal flow is to being B driving XB, B drives D; Or
Work as Bmux=1, F5mux=1, Dmux0=1, during Dmux1=0/1, described signal flow is to being B driving XB, LUT4 drives D.
8. according to claim 4 or 5 described fpga logic unit, it is characterized in that described d type flip flop comprises: core register and 42 select 1 multiplexer CKPOLMUX, SRSYNCMUX, SRSELMUX, QTYPEMUX;
This d type flip flop input comprises data input D, clock CK, and clock enables CE, and set/reset SR and overall set/reset GSR are output as data output Q;
SR (0) and logic ' 0 ' (1) are selected back output through SRSYNCMUX, and this output and GSR carry out or logic, and output process SRSELMUX output described or logic produces S (0) and R (1), is respectively the set/reset end of core register;
CK (1) and~CK (0) selects to enter the CK end of core register through CKPOLMUX, the input QL (0) of core register and QF (1) select to import Q through QTYPEMUX;
Described 2 select 1 multiplexer CKPOLMUX, SRSYNCMUX, and SRSELMUX, the control bit of QTYPEMUX is respectively ckpol, srsync, srsel, qtype is according to control bit ckpol, srsync, srsel, the various combination of qtype, d type flip flop are configured to dissimilar registers or latch.
9. fpga logic according to claim 8 unit is characterized in that, in the described d type flip flop,
According to control bit ckpol, d type flip flop is configured to just along triggering or the negative edge triggering; And/or
According to control bit srsync, d type flip flop is configured to synchronous or asynchronous; And/or
According to control bit srsel, d type flip flop is configured to set or resets; And/or
According to control bit qtype, d type flip flop is configured to register or latch.
10. a fpga logic piece is characterized in that, this logical block comprises: the first fpga logic unit, the second fpga logic unit, local interlinkage, and distributed RAM logic, wherein the first fpga logic unit and the second fpga logic unit are as claim 4 or 5 described fpga logic unit;
The port of this fpga logic piece comprises 2 overall input port-G<1:0 〉, 12 input port-I<11:0,8 output port-O<7:0, special-purpose carry chain input port-CI, special-purpose carry chain output port-CO and 1 overall set-reset port-SR and 1 global write enable port-GWE;
Described local interlinkage comprises: being connected between logical block overall situation input port and logical block clock port and the control input end mouth; Being connected between logical block input port and the logical block input port; The logical block output port is connected with feedback between the logical block data input port; Connection between logic ' 0 ' and logic ' 1 ' and the logical block input port; Being connected between logical block output port and the logical block output port.
11. fpga logic piece according to claim 10, it is characterized in that: described distributed RAM logic comprises: SYN register, write control module, and write multiplexer, read multiplexer, two logical block shared data input A0[3:0 of this distributed RAM and fpga logic piece], A1[3:0], B0, B1, SR, CK, shared data output XF0 and XF1;
The data that described SYN register is used for writing synchronously, address and write control signal; The described control module of writing is used for controlling the trend that writes data; The described multiplexer of writing is used for new data are write the position of address designated memory locations; Described read multiplexer be in the fpga logic piece logical block 4 the input LUT;
Opposed polarity according to control ramckpol, distributed RAM can be configured to clock just along or negative edge write data, control bit S1 with write enable signal WE (SR is through the output after depositing) respectively in writing control module through carrying out and logic with door WENAND0 and WENAND1, all enter with the output of logic and to write writing of multiplexer control data; Control bit S2 comes writing of control data by control transmission door S2PASS in writing control module; Control bit S3 controls the selection that S3MUX0 and S3MUX1 control write address in SYN register, and in writing control module and Din1orA4 (B1 is through the output after depositing) be data input or the 5th address by carrying out controlling B1 with logic with door A4NAND; Control bit D controls the selection that DMUX controls write address in SYN register, and control transmission door DPASS comes writing of control data in writing control module; Control bit ramckpol controls RAMCKPOLMUX; Described fpga logic piece according to control bit (S1, S2, S3, the D) difference of polarity has different mode of operations.
12. fpga logic piece according to claim 10 is characterized in that:
Being connected between described logical block overall situation input port and logical block clock port and the control input end mouth comprises: overall input port G<1〉directly link to each other overall input port G<0 with the CK of two logical blocks〉control and can be connected with SR or CE by control bit;
Being connected between logical block input port and the logical block input port comprises: data-in port I<6 〉, I<0 〉, I<9 〉, I<3〉respectively with the data-in port A0 of the first fpga logic unit, A1, A2, A3 directly connects, I<8 〉, I<2 〉, I<11 〉, I<5〉respectively with the A0 of the second fpga logic unit, A1, A2, A3 directly connects, I<7〉directly be connected with the B0 of the first fpga logic unit, I<1〉B1 of the second fpga logic unit directly connects I<10〉directly be connected I<4 with CE〉directly be connected with SR;
The logical block output port is connected with feedback between the logical block data input port and comprises: output F4 in the first fpga logic unit directly is connected with second fpga logic unit input F5i, and output F4 in the second fpga logic unit imports F5i with the first fpga logic unit and directly is connected;
Connection between logic ' 0 ' and logic ' 1 ' and the logical block input port comprises: logic ' 0 ' can be connected with first fpga logic unit input B0 with logic ' 1 ', logic ' 0 ' can be connected with second fpga logic unit input B1 with logic ' 1 ', logic ' 0 ' and logic ' 1 ' can with the common input CE of two logical blocks in the fpga logic piece, SR, CE connects;
Being connected between logical block output port and the logical block output port comprises: output port O (0) is by the output port XQ0 and the XB0 of first logical block, the output port XF1 output of second logical block, output port O (1) is by the output port XF0 of first logical block, the output port XQ1 of second logical block and XB1 output, output port O (2) is by the output port XQ0 of first logical block, the output port XF1 output of second logical block, output port O (3) is by the output port XF0 and the XB0 of first logical block, the output port XQ1 output of second logical block, output port O (4) is by the output port XQ0 of first logical block, the output port XF1 of second logical block and XB1 output, output port O (5) is by the output port XF0 of first logical block, the output port XQ1 output of second logical block, output port O (6) is by the output port XQ0 of first logical block, the output port XF1 output of second logical block, output port O (7) is by the output port XF0 of first logical block, and the output port XQ1 of second logical block exports.
13. fpga logic piece according to claim 11 is characterized in that: in this fpga logic piece,
S1=0; S2=0; S3=0; During D=0, the mode of operation of described logical block is LUT; Or
S1=1; S2=0; S3=0; During D=0, the mode of operation of described logical block is single port 16 * 1RAM; Or
S1=1; S2=1; S3=0; During D=0, the mode of operation of described logical block is single port (16 * 1) * 2RAM; Or
S1=1; S2=0; S3=1; During D=0, the mode of operation of described logical block is single port 32 * 1RAM; Or
S1=1; S2=0; S3=0; During D=1, the mode of operation of described logical block is dual-port 16 * 1RAM.
14. fpga logic piece according to claim 13 is characterized in that: when the mode of operation of described logical block is single port 16 * 1RAM, single port (16 * 1) * 2RAM, when single port 32 * 1RAM or dual-port 16 * 1RAM:
During ramckpol=' 0 ', just along writing new data, during ramckpol=' 1 ', RAM writes new data in the clock negative edge to RAM at clock.
15. fpga logic piece according to claim 14, it is characterized in that: when the mode of operation of described fpga logic piece is described single port 16 * 1RAM, single port (16 * 1) * 2RAM, single port 32 * 1RAM, GWE is the global write enable signal of distributed RAM
The RAM signal is DIN0 and DIN1; Function is the data inputs; The logical block signal is B0 and B1;
The RAM signal is A[3:0]; Function is the address; The logical block signal is A0[3:0] or A1[3:0];
The RAM signal is the A4 for 32 * 1 uses; Function is the address; The logical block signal is B1;
The RAM signal is WE; Function enables for writing; The logical block signal is SR;
The RAM signal is WCLK; Function is a clock; The logical block signal is CK;
The RAM signal is SPO; Function is single port output; The logical block signal is XF0 or XF1.
16. fpga logic piece according to claim 13 is characterized in that: when the mode of operation of described fpga logic piece is described dual-port 16 * 1RAM:
The RAM signal is DIN; Function is the data inputs; The logical block signal is B0;
The RAM signal is A[3:0]; Function is read address or single two-port RAM write address for single port RAM; The logical block signal is A0[3:0];
The RAM signal is DPRA[3:0]; Function is the two-port RAM write address; The logical block signal is A1[3:0];
The RAM signal is WE; Function enables for writing; The logical block signal is SR;
The RAM signal is WCLK; Function is a clock; The logical block signal is CK;
The RAM signal is SPO; Function is single port RAM output; The logical block signal is XF0;
The RAM signal is DPO; Function is two-port RAM output; The logical block signal is XF1.
17. fpga logic piece according to claim 13 is characterized in that, when the mode of operation of described fpga logic piece is LUT4:
The output port F4 of the first fpga logic unit directly is connected with the second fpga logic unit input port F5I, and the output port F4 of the second fpga logic unit directly is connected with the input port F5I of the first fpga logic unit.
18. according to each described fpga logic piece among the claim 10-17, it is characterized in that: the local interlinkage of fpga logic piece inside all adopts the part interconnection pattern and is equally distributed, fpga logic piece input/output port is evenly distributed on around the logical block, and the input/output port of fpga logic unit is connected to fpga logic piece input/output port of the same type all around equably.
19. according to each described fpga logic piece among the claim 10-17, it is characterized in that: CK, CE and SR port are shared in the described first fpga logic unit and the second fpga logic unit.
20. fpga logic piece according to claim 10 is characterized in that: when described fpga logic piece is realized high-speed carry chain logic:
The carry input mouth CI of described fpga logic piece directly is connected with the carry input mouth CI of the first fpga logic unit, the carry output port CO of the first fpga logic unit directly is connected with the carry input mouth CI of the second fpga logic unit, and the carry output port CO of the second fpga logic unit is by the carry output port CO output of logical block.
21. fpga logic piece according to claim 20 is characterized in that: the CO port of described fpga logic piece links to each other with the CI port of adjacent fpga logic piece; And/or the CO port of the adjacent fpga logic piece with another of the CI port of described fpga logic piece links to each other.
22. fpga logic piece according to claim 10 is characterized in that: when described fpga logic piece was realized the shift register chain logic, the logical block input port B directly or after being deposited was passed logical block.
CN 201110046775 2011-02-25 2011-02-25 LUT4 (look up table), logical unit of FPGA (field programmed gate array) and logical block of FPGA Expired - Fee Related CN102176673B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110046775 CN102176673B (en) 2011-02-25 2011-02-25 LUT4 (look up table), logical unit of FPGA (field programmed gate array) and logical block of FPGA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110046775 CN102176673B (en) 2011-02-25 2011-02-25 LUT4 (look up table), logical unit of FPGA (field programmed gate array) and logical block of FPGA

Publications (2)

Publication Number Publication Date
CN102176673A true CN102176673A (en) 2011-09-07
CN102176673B CN102176673B (en) 2013-03-27

Family

ID=44519782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110046775 Expired - Fee Related CN102176673B (en) 2011-02-25 2011-02-25 LUT4 (look up table), logical unit of FPGA (field programmed gate array) and logical block of FPGA

Country Status (1)

Country Link
CN (1) CN102176673B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105391443A (en) * 2014-08-27 2016-03-09 快速逻辑公司 Logic cell for programmable logic device
WO2016106601A1 (en) * 2014-12-30 2016-07-07 京微雅格(北京)科技有限公司 Extensible and configurable fpga storage structure and fpga device
CN106815381A (en) * 2015-11-30 2017-06-09 中国科学院电子学研究所 The mapping method of logical node in sparse look-up table and FPGA
CN108153549A (en) * 2017-12-13 2018-06-12 京微齐力(北京)科技有限公司 A kind of fpga chip of distributed multifunctional layer structure
CN109714042A (en) * 2018-11-16 2019-05-03 京微齐力(北京)科技有限公司 A kind of multiplexing method of look-up table
WO2019114069A1 (en) * 2017-12-13 2019-06-20 京微齐力(北京)科技有限公司 Programmable device structure based on mixed function storage unit
CN113971159A (en) * 2021-10-28 2022-01-25 山东芯慧微电子科技有限公司 Programmable logic block based on improved lookup table structure
CN114859218A (en) * 2022-03-16 2022-08-05 厦门智多晶科技有限公司 Detection circuit and detection method for lookup table in FPGA chip

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7183798B1 (en) * 2005-01-24 2007-02-27 Lattice Semiconductor Corporation Synchronous memory
CN101295979A (en) * 2007-04-25 2008-10-29 中国科学院半导体研究所 FPGA Logic Block Based on Partial Local Interconnect Structure
US7565388B1 (en) * 2003-11-21 2009-07-21 Altera Corporation Logic cell supporting addition of three binary words
US7602213B2 (en) * 2007-12-26 2009-10-13 Tier Logic, Inc. Using programmable latch to implement logic
CN101656535A (en) * 2008-08-20 2010-02-24 中国科学院半导体研究所 Process mapping method for programmable gate array of multi-mode logical unit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565388B1 (en) * 2003-11-21 2009-07-21 Altera Corporation Logic cell supporting addition of three binary words
US7183798B1 (en) * 2005-01-24 2007-02-27 Lattice Semiconductor Corporation Synchronous memory
CN101295979A (en) * 2007-04-25 2008-10-29 中国科学院半导体研究所 FPGA Logic Block Based on Partial Local Interconnect Structure
US7602213B2 (en) * 2007-12-26 2009-10-13 Tier Logic, Inc. Using programmable latch to implement logic
CN101656535A (en) * 2008-08-20 2010-02-24 中国科学院半导体研究所 Process mapping method for programmable gate array of multi-mode logical unit

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105391443A (en) * 2014-08-27 2016-03-09 快速逻辑公司 Logic cell for programmable logic device
CN105391443B (en) * 2014-08-27 2021-01-05 快速逻辑公司 Logic cell for programmable logic device
WO2016106601A1 (en) * 2014-12-30 2016-07-07 京微雅格(北京)科技有限公司 Extensible and configurable fpga storage structure and fpga device
CN106133838A (en) * 2014-12-30 2016-11-16 京微雅格(北京)科技有限公司 A kind of expansible configurable FPGA storage organization and FPGA device
CN106133838B (en) * 2014-12-30 2019-01-22 京微雅格(北京)科技有限公司 A kind of expansible configurable FPGA storage organization and FPGA device
CN106815381B (en) * 2015-11-30 2019-10-18 中国科学院电子学研究所 Sparse Lookup Table and Mapping Method of Logical Nodes in FPGA
CN106815381A (en) * 2015-11-30 2017-06-09 中国科学院电子学研究所 The mapping method of logical node in sparse look-up table and FPGA
CN108153549A (en) * 2017-12-13 2018-06-12 京微齐力(北京)科技有限公司 A kind of fpga chip of distributed multifunctional layer structure
WO2019114069A1 (en) * 2017-12-13 2019-06-20 京微齐力(北京)科技有限公司 Programmable device structure based on mixed function storage unit
CN108153549B (en) * 2017-12-13 2020-08-28 京微齐力(北京)科技有限公司 FPGA chip of distributed multi-functional-layer structure
US11323121B2 (en) 2017-12-13 2022-05-03 Hercules Microelectronics Co., Ltd. Programmable device structure based on mixed function storage unit
CN109714042A (en) * 2018-11-16 2019-05-03 京微齐力(北京)科技有限公司 A kind of multiplexing method of look-up table
CN113971159A (en) * 2021-10-28 2022-01-25 山东芯慧微电子科技有限公司 Programmable logic block based on improved lookup table structure
CN113971159B (en) * 2021-10-28 2024-02-20 山东芯慧微电子科技有限公司 Programmable logic block based on improved lookup table structure
CN114859218A (en) * 2022-03-16 2022-08-05 厦门智多晶科技有限公司 Detection circuit and detection method for lookup table in FPGA chip
CN114859218B (en) * 2022-03-16 2023-06-23 厦门智多晶科技有限公司 Detection circuit and detection method for lookup table in FPGA chip

Also Published As

Publication number Publication date
CN102176673B (en) 2013-03-27

Similar Documents

Publication Publication Date Title
CN102176673B (en) LUT4 (look up table), logical unit of FPGA (field programmed gate array) and logical block of FPGA
US7902862B2 (en) High-bandwidth interconnect network for an integrated circuit
US20100013517A1 (en) Reconfigurable logic fabrics for integrated circuits and systems and methods for configuring reconfigurable logic fabrics
US7890910B1 (en) Programmable logic device having logic elements with dedicated hardware to configure look up tables as registers
CN101751980B (en) Embedded programmable memory based on memory IP core
CN113986815B (en) Programmable logic block based on multi-granularity lookup table structure
CN102799563A (en) Reconfigurable computing array and construction method
CN105761746B (en) A kind of single-particle reinforces the write timing match circuit of FPGA distributions RAM
CN113971159B (en) Programmable logic block based on improved lookup table structure
CN105356875B (en) A kind of single-particle reinforces the lut circuits of FPGA
US7193436B2 (en) Fast processing path using field programmable gate array logic units
CN100590977C (en) An FPGA
CN105958996A (en) Non-full-coverage eight-input lookup table (LUT) structure
CN1271787C (en) Programmable logic unit structure
JPH04271512A (en) High-speed cmos flip-flop
US11749368B2 (en) Quick configurable universal register for a configurable integrated circuit die
CN106133838A (en) A kind of expansible configurable FPGA storage organization and FPGA device
CN106649905B (en) Process mapping method using carry chain
CN105610427B (en) A kind of programmable logic cells based on and-or inverter structure
Naidu et al. A novel approach power optimized multi-bit flip-flops using gated driver tree
CN210745099U (en) Hold-free dynamic D trigger, data operation unit, chip, force calculation board and computing equipment
Ngai et al. A new generation of ORCA FPGA with enhanced features and performance
CN116069721B (en) Programmable logic unit structure
CN101179270A (en) Configurable logic module structure
Savio et al. A clock tree based gated driver in low power delay buffer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130327

Termination date: 20140225