CN114844499A - 使用现有加法器电路来增加fpga 4-lut的lut分裂度 - Google Patents

使用现有加法器电路来增加fpga 4-lut的lut分裂度 Download PDF

Info

Publication number
CN114844499A
CN114844499A CN202210114461.6A CN202210114461A CN114844499A CN 114844499 A CN114844499 A CN 114844499A CN 202210114461 A CN202210114461 A CN 202210114461A CN 114844499 A CN114844499 A CN 114844499A
Authority
CN
China
Prior art keywords
lut
stage
multiplexer
output
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.)
Pending
Application number
CN202210114461.6A
Other languages
English (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.)
Efinix Inc
Original Assignee
Efinix Inc
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 Efinix Inc filed Critical Efinix Inc
Publication of CN114844499A publication Critical patent/CN114844499A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/503Half or full adders, i.e. basic adder cells for one denomination using carry switching, i.e. the incoming carry being connected directly, or only via an inverter, to the carry output under control of a carry propagate signal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Logic Circuits (AREA)

Abstract

本发明涉及一种现场可编程门阵列(FPGA),其具有4‑LUT(查找表),该4‑LUT具有多路复用器的四个级。4‑LUT可分裂。可分裂的4‑LUT包括在FPGA编程的应用中实施多个LUT以作为包括加法器函数和其它函数的组中的函数的能力。4‑LUT的输出被暴露于根据FPGA编程的可编程的连接。4‑LUT的输出包括4‑LUT的第三级中的第一多路复用器的输出、第二级中的多路复用器的输出以及第二级或第三级中的多路复用器的输出。

Description

使用现有加法器电路来增加FPGA 4-LUT的LUT分裂度
相关申请的交叉引用
本申请要求于2021年2月2日提交的标题为“使用现有加法器电路来增加FPGA 4-LUT的LUT分裂度(ADDING LUT FRACTURABILIY TO FPGA 4-LUTS USING EXISTING ADDERCIRCUITRY)”、申请号为63/144,879的美国临时申请的优先权的权益,该美国临时申请通过引用并入本文。
技术领域
本公开的技术领域广泛地涉及现场可编程门阵列(FPGA),并且更具体地,涉及具有可分裂组件的FPGA。
背景技术
基于6-LUT的现代FPGA通常包括“可分裂度(fracturability)”,其允许LUT被用作具有较少输入的两个或更多个LUT。例如,只要所有输入相同,则5-LUT可以被用作两个4-LUT。需要注意的是,必须从6-LUT的第5级路由额外的输出,这增加了额外的负载并减慢LUT。因为电路通常不会合成(synthesize)许多6输入函数,所以这种可分裂度对于6-LUT架构很常见。通常,合成建立了将利用较少的LUT来实施的许多函数。出于这种原因,通过增加6-LUT架构的可分裂度,显著提高了面积效率(area efficiency)。
通常,4-LUT FPGA架构不具有可分裂度。使用具有2输入或3输入函数的4-LUT的成本不像使用6-LUT的成本那样过高。可能不值得减慢4-LUT的第3级来实施3-3可分裂度。
分裂4-LUT的另一常规方法是实施加法器。加法器有时通过使用4-LUT在FPGA上实施,以实施传递(propagate)、生成和求和函数。本质上,这是将4-LUT分裂为两个2输入和一个3输入函数。传递是A和B的函数,生成也是A和B的函数,求和是A、B和Cin的函数。
发明内容
本文所描述的实施例包括现场可编程门阵列(FPGA)、查找表(LUT)、可分裂组件、可分裂LUT、可分裂4-LUT、加法器电路、计算机辅助设计(CAD)工具和系统、各种设备和相关方法。
一个实施例是一种包括4-LUT的现场可编程门阵列。4-LUT具有第一、第二、第三和第四级多路复用器(multiplexer)。4-LUT是可分裂的,以在FPGA编程的应用中实施多个LUT,以作为包括加法器函数和其它函数的组中的函数。4-LUT的输出被暴露于根据FPGA编程而可编程的连接和通用路由。这些输出包括第三级中的第一多路复用器的输出、第二级中的第一多路复用器的输出以及第二级或第三级中的多路复用器的输出。
一个实施例是一种现场可编程门阵列的操作方法。该方法包括分裂具有第一、第二、第三和第四级多路复用器的4-LUT,以实施每个具有少于四级多路复用器的多个LUT。分裂和实施多个LUT是针对包括加法器函数和其它函数的组中的函数的。该方法包括对4-LUT的多个输出中的至少两个的连接进行编程,以在FPGA编程的应用中进一步根据4-LUT实施多个LUT。用于编程连接的4-LUT的多个输出包括:4-LUT的第三级中的第一多路复用器的输出、4-LUT的第二级中的第一多路复用器的输出、以及4-LUT的第二级或第三级中的多路复用器的输出。
一个实施例是一种有形的非暂时性计算机可读介质,该介质中具有指令。当由处理器运行时,该指令使该处理器执行一种方法。该方法包括分裂具有第一、第二、第三和第四级多路复用器的4-LUT,以实施每个具有少于四级多路复用器的多个LUT。分裂和实施多个LUT是针对包括加法器函数和其它函数的组中的函数的。4-LUT是可分裂的并且位于现场可编程门阵列(FPGA)中。该方法包括:对4-LUT的多个输出中的至少两个的连接进行编程,以在FPGA编程的应用中进一步根据4-LUT实施多个LUT。4-LUT的多个输出包括:4-LUT的第三级中的第一多路复用器的输出、4-LUT的第二级中的第一多路复用器的输出、以及4-LUT的第二级或第三级中的多路复用器的输出。
附图说明
通过下面给出的具体实施方式并且根据本发明的各个实施例的附图可以更充分地理解本文描述的实施例,然而,这不应被认为本发明限于特定实施例,而仅用于解释和理解。
图1示出了4-LUT实施全加法器的典型使用。
图2示出了重新使用4-LUT加法器可分裂度来实施共享2个输入的任意2输入和任意3输入函数。
图3示出了重新使用4-LUT加法器可分裂度来实施全部具有2个共享输入的两个任意2输入和一个任意3输入函数。
图4示出了使用LUT的第三级的底部来实施3/3可分裂度。
图5示出了使用4-LUT来实施全加法器的其它实施例。
图6示出了对具有可分裂LUT的FPGA进行编程的CAD系统。
图7是具有可分裂LUT的FPGA的操作方法的流程图。
具体实施方式
在下面的描述中,阐述了许多细节以提供对本发明的更详尽的解释。然而,对于本领域的技术人员来说明显的是,可以在没有这些具体细节的情况下实践本发明。在其它实例下,公知的结构和装置以框图形式而不是详细地示出,以避免混淆本发明。
关于术语,术语“多工器”、“多路传送器”和“多路复用器”在本文中可以互换使用,以描述从多路复用器输入之中选择驱动多路复用器输出的电路。作为FPGA中的组件的LUT(查找表)可以根据多路复用器的级(即,等级或层)和LUT中的多路复用来描述,例如,4-LUT是具有四级多路复用器的查找表。LUT的可分裂度可以在命名约定中将逗号、斜杠或连字符用作分隔符,根据使用可分裂LUT来实施的一个或多个LUT来描述。多路复用器的每一级由选择器或选择输入来操作,并且LUT的可分裂度可以根据可以通过LUT的可分裂度实施的多个LUT的级、选择输入的函数、或其它方面来描述。例如,2/3可分裂度表示实施2-LUT和3-LUT的能力,其也可以称为“3/2可分裂度”、“2-3可分裂度”、“3-2可分裂度”、“3,2可分裂度”或“2,3可分裂度”。
本文描述的一个实施例是一种在4-LUT中重新使用加法器电路以实施可分裂度的方法,使得可以在没有额外的LUT电路的情况下实施一个或两个2输入函数和一个3输入函数。本文描述了使用4-LUT的可分裂度的各个LUT的各个实施方案。本文描述的实施例包括新颖地重新使用加法器特定的4-LUT可分裂度,以实施具有2个共享输入的任意两个2输入和3输入函数。在一些实施例中,已付出LUT的第二和第三级的额外负载的延迟成本(penalty)来实施加法器,因此还使用该负载来实施2/3可分裂度不存在额外的成本。在各个实施例中,通过对可编程连接的不同编程来实施不同函数,诸如用于实施具有来自可分裂LUT的LUT的加法器的加法器函数以及用于实施来自同一可分裂LUT的其它LUT的其它函数。换句话说,可分裂LUT具有支持在FPGA编程应用中实施多个LUT和多个函数的电路和可编程连接。在利用可编程连接进行不同编程的情况下,不同的函数可以以不同的FPGA编程应用来实施。
图1示出了4-LUT 102,其被拆分成一个3输入和两个2输入函数,以在全加法器中实施这三个函数(传递或进位(carry)传递、生成或进位生成以及求和)。参照图1,因为传递(A和B的2输入函数)、生成(A和B的不同的2输入函数)、以及求和(A、B以及Cin或进位输入(carry in)的3输入函数)全部共享2个输入(A和B),所以4-LUT 102实施全加法器所需的唯一修改是分接(tap)LUT下半部分的第二级和LUT上半部分的第三级。然后,传递和生成信号与Cin或进位输入一起被用作到硬化多路复用器(hardened mux)134的输入,以完成全加法器函数的Cout或进位输出。
如图1所示,具有用于实施全加法器的可分裂度的4-LUT 102的实施例具有四级多路复用器104、106、108、110。每一级多路复用器具有选择输入118、120、122(第四级110中的单个多路复用器的选择输入未在图中示出并且例如与已知状态相关或实施为无关但不另外用于实施全加法器)。当根据FPGA编程来进行编程以实施全加法器时,4-LUT 102被分裂成作为3-LUT、2-LUT和另一2-LUT来操作,3-LUT产生求和(Sum)来作为第三级108中的多路复用器112的输出124,2-LUT产生生成(Generate)或进位生成来作为第二级106中的多路复用器114的输出126,另一2-LUT产生传递(Propagate)或进位传递来作为第二级106中的另一个多路复用器116的输出128。为了进一步实施全加法器,FPGA编程对4-LUT 102的输出进行编程,以将作为第三级108中的多路复用器112的输出124的求和连接到通用路由。FPGA编程对4-LUT 102的输出进行编程,以将作为加法器的中间信号和第二级106中的多路复用器114的输出126的生成或进位生成连接到位于LUT 102外部但位于FPGA内部的多路复用器134。FPGA编程对4-LUT 102的输出进行编程,以将作为加法器的另一中间信号和第二级106中的多路复用器116的输出128的传递或进位传递连接到多路复用器134。FPGA编程对作为外部多路复用器134的输入130的Cin或进位输入进行编程,并且对作为外部多路复用器134的输出132的Cout或进位输出进行编程。
图2示出了根据一个实施例的用于实施两个任意函数的与图1相同的LUT级。代替实施求和(其是A、B和Cin的函数),可分裂LUT实施A、B和C的任意函数204,其被描绘为F(A,B,C)。底部的两个2-LUT级中只有一个用于实施另一函数208G(A,B)。
4-LUT 102的实施例具有如图1所示的实施全加法器的可分裂度,在本文具有并使用2/3可分裂度来实施用于2输入函数208(例如G(A,B))的2-LUT,其具有第二级106中的多路复用器116的输出128;并且实施用于3输入函数204(例如F(A,B,C))的3-LUT,其具有第三级108中的多路复用器112的输出124。这两个函数204、208共享输入A和B,但是因为其使用4-LUT 102的多路复用器的不同的、非重叠的组202、206,所以在其它方面是独立的。应理解的是,广义的2/3可分裂度包括实施加法器函数的能力(参见图1)和实施其它函数的能力(参见图2)。
图3示出了根据一个实施例的用于实施一个3输入和两个2输入函数(只要它们共享两个输入即可)的加法器的完全可分裂度。注意,在一个实施例中,在这种情况下,所有3个输出都被路由到LUT之外。
4-LUT 102的实施例具有如图1所示的实施全加法器的可分裂度,在本文具有并使用2/2/3可分裂度来实施用于2输入函数208(例如G(A,B))的2-LUT,其具有第二级106中的多路复用器116的输出128;实施用于2输入函数308(例如H(A,B))的另一2-LUT,其具有第二级106中的另一多路复用器114的输出310;并且实施用于3输入函数204(例如F(A,B,C))的3-LUT,其具有第三级108中的多路复用器112的输出124。这三个函数204、208、308共享输入A和B,但是因为其使用4-LUT 102的多路复用器的不同的、非重叠的组302、304、306,所以在其它方面是独立的。应理解的是,广义的2/2/3可分裂度包括实施加法器函数的能力(参见图1)和实施其它函数的能力(参见图3)。
图4示出了将LUT的第三级的下半部分路由出来,以实施两个3输入函数。这重新使用了实施加法器所必需的一些可分裂度,但还需要添加一些负载。
4-LUT 102的实施例具有如图1所示的实施全加法器的可分裂度,在本文具有并使用3/3可分裂度来实施用于3输入函数406(例如G(A,B,C))的3-LUT,其具有第三级108中的多路复用器410的输出408;并且实施用于3输入函数204(例如F(A,B,C))的3-LUT,其具有第三级108中的另一多路复用器112的输出124。这两个函数204、406共享输入A、B和C,但因为其使用4-LUT 102的多路复用器的不同的、非重叠的组402、404,所以在其它方面是独立的。
图5示出了使用4-LUT来实施全加法器的其它实施例。在该实施例中,传递或进位传递在4-LUT 102的第三级108中生成,而不是在图1中所示的第二级106中生成。通过使第三级108中的多路复用器112、410的输出124、408可用于通向FPGA中的通用路由的可编程连接,该实施例直接支持如图4所示的4-LUT的3/3可分裂度。
继续参照图5,4-LUT 102被拆分成一个3输入和两个2输入函数,以在全加法器中实施这三个函数(传递或进位传递、生成或进位生成以及求和)。当根据实施全加法器的FPGA编程来进行编程时,4-LUT 102被分裂成作为3-LUT、2-LUT和另一2-LUT来操作,3-LUT产生求和来作为第三级108中的多路复用器112的输出124,2-LUT产生生成或进位生成来作为第二级106中的多路复用器114的输出126,另一2-LUT产生传递或进位传递来作为第三级108中的另一个多路复用器410的输出408。通常,进位传递是2输入函数,即输入A和B的函数,并且利用图1中的LUT 102的第二级106中的多路复用器116的输出128来实施。此处,在图5中,使用更大的组508内的相同的多路复用器组206,进位传递利用多路复用器的第三级108中的多路复用器410的输出以及与函数无关的进位输入或Cin来实施。为了进一步实施全加法器,FPGA编程对4-LUT 102的输出进行编程,以将作为第三级108中的多路复用器112的输出124的求和连接到通用路由,将作为加法器的中间信号以及第二级106中的多路复用器114的输出126的生成或进位生成连接到位于LUT 102外部但位于FPGA内部的多路复用器134,并且将作为加法器的另一中间信号以及第三级108中的多路复用器410的输出408的传递或进位传递连接到多路复用器134。FPGA编程对作为外部多路复用器134的输入132的Cin或进位输入进行编程,并且对作为外部多路复用器134的输出132的Cout或进位输出进行编程。尽管用于求和、生成或进位生成以及传递或进位传递的函数共享输入A和B,但是因为它们由可分裂4-LUT 102的多路复用器的不同组202、506、508生成,所以其在其它方面是独立的。这进而又支持其它可分裂度(参见图5)。
图6示出了对具有可分裂LUT 604的FPGA进行编程的CAD系统606。用户612与CAD系统606交互,其具有运行例如以计算机编程实施的CAD工具608的处理器610。CAD工具608和CAD系统606用于对FPGA 602进行编程,其包括对可分裂LUT 604进行分裂614以及对可分裂LUT 604的可编程连接616和FPGA电路的其余部分进行编程的动作。在各个实施例中,FPGA可以具有一个或多个可分裂的LUT以及可编程的其它电路和通用路由,并且本文描述的LUT的实施例和变型适用于对FPGA进行编程的实施例。
图7是具有可分裂LUT 604的FPGA 602的操作方法的流程图。该方法可以使用上面参照图6描述的CAD工具608和CAD系统606、使用上面参照图1至图5描述的可分裂LUT或其变型来执行。可以通过处理器对FPGA执行该方法。该方法可以以用于处理器的、位于有形的非暂时性计算机可读介质中的指令来实现
在动作702中,将4-LUT分裂,以定义多个LUT。在各个实施例中,这是定义经编程的FPGA的整体功能的一部分。分裂定义了可分裂LUT的可能的LUT之中的、用于FPGA编程的特定实施方案和特定应用的一个或多个LUT。在FPGA编程的应用中,可以根据可分裂LUT来定义单个LUT或多个LUT。
在动作704中,对4-LUT的输出的连接进行编程。例如,可分裂4-LUT的输出被暴露用于可编程连接到通用路由,并且从而连接到FPGA中的其它电路。利用4-LUT的可分裂度,在动作702中定义多个LUT,并且在动作704中对4-LUT的输出的连接进行编程。
应理解的是,一组特定LUT和一组特定编程连接在FPGA编程的特定应用中针对特定的可分裂LUT而进行,并且另一FPGA编程应用可以产生不同组的LUT和不同组的编程连接。LUT的不同实施例可以具有可以实施的不同LUT、被暴露用于可编程连接的不同输出以及不同的可分裂度。通过将“无关”作为正在实施的函数的输入中的一个,可以从具有较多的特征级的LUT实施具有较少特征级的LUT。例如,2/3可分裂LUT(参见图2)、2/2/3可分裂LUT(参见图3)或3/3可分裂LUT(参见图4)还具有2/2可分裂度,以通过使用上面的“无关”来实施2个2输入LUT。该原理适用于图5中的加法器实施例,反之亦然。
上面详细描述的一些部分根据算法以及对计算机存储器内的数据位的操作的符号表示来呈现。这些算法描述和表示是数据处理领域的技术人员用来地将其工作实质最有效传达给本领域其他技术人员的手段。并且此处的算法通常被认为是带来期望结果的步骤的自洽序列。这些步骤是需要对物理量进行物理操控的步骤。尽管不必要,但是通常这些量采用能够被存储、传送、组合、比较和以其它方式操作的电信号或磁信号的形式。事实证明,方便的是,主要出于常用的原因,有时将这些信号称为位、值、元素、符号、字符、项目、数字等。
然而,应记住的是,所有这些和类似的术语都将与合适的物理量相关联,并且只是用作这些量的方便标签。除非另有明确说明,否则从下面的讨论中明显的是,应理解,贯穿整个说明书,利用诸如“处理”或“运算”或“计算”或“确定”或“显示”等术语的讨论是指计算机系统或类似电子计算装置的操作和处理,其操控被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并将其转换为类似表示为计算机系统存储器或寄存器或其它这种信息存储、传输或显示装置内的物理量的其它数据。
本说明书还涉及用于执行本文的操作的设备。该设备可以出于所需目而专门构造,或者其可以包括由计算机中存储的计算机程序来选择性地激活或者重新配置的通用计算机。这种计算机程序可以被存储在计算机可读存储介质中,诸如但不限于,包括软盘、光盘、CD-ROM和磁光盘的任意类型的磁盘,只读存储器(ROM),随机存取存储器(RAM),EPROM,EEPROM,磁卡或光卡,或适用于存储电子指令的任意类型的介质,并且每个都连接到计算机系统总线。
本文提出的算法和显示与任意特定计算机或其它设备没有内在关系。各个通用系统可以与根据本文教导的程序一起使用,或者可以证明构造更专业的设备来执行所需的方法步骤是方便的。各种这些系统所需的结构将从描述中变得明显。另外,本发明没有参考任何特定的编程语言来描述。应当理解的是,可以使用各种编程语言来实施如本文所述的本发明的教导。
机器可读介质包括用于以由机器(例如,计算机)可读的形式存储或传输信息的任意机制。例如,机器可读介质包括:只读存储器(“ROM”);随机存取存储器(“RAM”);磁盘存储介质;光存储介质;闪速存储器装置;电、光、声或其它形式的传递信号(例如,载波、红外信号、数字信号等);等等。
尽管本发明的许多改变和修改对于本领域普通技术人员来说无疑将在阅读以上描述之后变得明显,但应理解的是,通过说明的方式示出和描述的任何特定实施例绝不旨在被认为是限制性的。因此,对各个实施例的细节的参考并不旨在限制本身仅列举了被认为对本发明必要的那些特征的权利要求的范围。

Claims (20)

1.一种现场可编程门阵列,即FPGA,包括:
4-查找表,即4-LUT,包括多路复用器的第一级、第二级、第三级和第四级;
所述4-LUT是可分裂的,以在FPGA编程的应用中实施多个LUT,以作为包括加法器函数和其它函数的组中的函数;以及
所述4-LUT的输出被暴露于根据FPGA编程的可编程的连接,包括所述第三级中的第一多路复用器的输出,所述第二级中的第一多路复用器的输出以及所述第二级或所述第三级中的多路复用器的输出。
2.根据权利要求1所述的FPGA,其中:
所述4-LUT是可分裂的,以使用所述4-LUT和外部多路复用器来实施全加法器,所述外部多路复用器位于所述4-LUT的外部和所述FPGA的内部,所述4-LUT具有选择输入,所述选择输入包括输入到多路复用器的第一级的第一操作数、输入到多路复用器的第二级的第二操作数以及到多路复用器的第三级的进位输入;
所述全加法器具有中间信号线,所述中间信号线包括来自所述第二级中的第一多路复用器的输出的生成进位和来自所述第二级中的第二多路复用器的输出的传递进位,其作为所述第二级或所述第三级中的多路复用器的输出;并且
所述全加法器的输出包括来自所述第三级中的第一多路复用器的输出的求和以及来自所述外部多路复用器的输出的进位输出,其中所述外部多路复用器的输入包括进位输入和生成进位,并且所述外部多路复用器的选择输入包括传递进位。
3.根据权利要求1所述的FPGA,其中:
所述4-LUT是可分裂的,以使用所述4-LUT和外部多路复用器来实施全加法器,所述外部多路复用器位于所述4-LUT的外部和所述FPGA的内部,所述4-LUT具有选择输入,所述选择输入包括输入到多路复用器的第一级的第一操作数、输入到多路复用器的第二级的第二操作数以及到多路复用器的第三级的进位输入;
所述全加法器具有中间信号线,所述中间信号线包括来自所述第二级中的第一多路复用器的输出的生成进位和来自所述第三级中的第二多路复用器的输出的传递进位,其作为所述第二级或所述第三级中的多路复用器的输出;
所述全加法器的输出包括来自所述第三级中的第一多路复用器的输出的求和以及来自所述外部多路复用器的输出的进位输出,所述外部多路复用器的输入包括进位输入和生成进位,并且所述外部多路复用器的选择输入包括传递进位。
4.根据权利要求1所述的FPGA,其中:
所述4-LUT具有2/3可分裂度,以实施用于2输入函数的2-LUT和用于3输入函数的3-LUT,所述2-LUT具有所述第二级中的第一多路复用器的输出,所述3-LUT具有所述第三级中的第一多路复用器的输出。
5.根据权利要求1所述的FPGA,其中:
所述4-LUT具有2/3可分裂度,以实施用于2输入函数的2-LUT和用于3输入函数的3-LUT,所述2-LUT具有作为所述第二级或所述第三级中的多路复用器的输出的、所述第二级中的第二多路复用器的输出,所述3-LUT具有所述第三级中的第一多路复用器的输出。
6.根据权利要求1所述的FPGA,其中:
所述4-LUT具有包括电路和可编程连接的可分裂度,以实施全加法器,所述全加法器具有所述加法器函数并且具有包括相同电路和相同可编程连接的2/3可分裂度,以实施具有其它函数的2-LUT和3-LUT。
7.根据权利要求1所述的FPGA,其中:
所述4-LUT具有3/3可分裂度,以实施用于3输入函数的3-LUT和用于另一3输入函数的另一3-LUT,所述3-LUT具有所述第三级中的第一多路复用器的输出,所述另一3-LUT具有作为所述第二级或所述第三级中的多路复用器的输出的、所述第三级中的第二多路复用器的输出。
8.根据权利要求1所述的FPGA,其中:
所述4-LUT具有2/2/3可分裂度,以实施用于2输入函数的2-LUT、用于另一2输入函数的另一2-LUT以及用于3输入函数的3-LUT,所述2-LUT具有所述第二级中的第一多路复用器的输出,所述另一2-LUT具有作为所述第二级或所述第三级中的多路复用器的输出的、所述第二级中的第二多路复用器的输出,所述3-LUT具有所述第三级中的第一多路复用器的输出。
9.根据权利要求1所述的FPGA,其中:
所述4-LUT具有2/2可分裂度,以通过使针对三个输入的一个无关来实施用于2输入函数的2-LUT和用于3输入函数的另一2-LUT,所述2-LUT具有所述第二级中的第一多路复用器的输出,所述另一2-LUT具有所述第三级中的第一多路复用器的输出。
10.一种现场可编程门阵列的操作方法,即FPGA的操作方法,包括:
针对包括加法器函数和其它函数的组中的函数,对具有多路复用器的第一级、第二级、第三级和第四级的4-LUT进行分裂,以实施多个LUT,所述多个LUT中的每一个具有少于四个级的多路复用器;并且
对所述4-LUT的多个输出中的至少两个的连接进行编程,以在FPGA编程的应用中进一步根据所述4-LUT实施所述多个LUT,其中所述4-LUT的多个输出包括所述4-LUT的第三级中的第一多路复用器的输出、所述4-LUT的第二级中的第一多路复用器的输出、以及所述4-LUT的第二级或第三级中的多路复用器的输出。
11.根据权利要求10所述的方法,其中对所述4-LUT的多个输出中的至少两个的连接进行编程包括:
使用4-LUT和外部多路复用器来实施全加法器,所述外部多路复用器位于所述4-LUT的外部和所述FPGA的内部,其中所述4-LUT具有选择输入,所述选择输入包括输入到多路复用器的第一级的第一操作数、输入到多路复用器的第二级的第二操作数以及到多路复用器的第三级的进位输入;
所述全加法器具有中间信号线,所述中间信号线包括来自所述第二级中的第一多路复用器的输出的生成进位和来自所述第二级中的第二多路复用器的输出的传递进位,其作为所述第二级或所述第三级中的多路复用器的输出;并且
所述全加法器的输出包括来自所述第三级中的第一多路复用器的输出的求和以及来自所述外部多路复用器的输出的进位输出,其中所述外部多路复用器的输入包括进位输入和生成进位,并且所述外部多路复用器的选择输入包括传递进位。
12.根据权利要求10所述的方法,其中对所述4-LUT的多个输出中的至少两个的连接进行编程包括:
使用所述4-LUT的2/3可分裂度来实施用于2输入函数的2-LUT和用于3输入函数的3-LUT,所述2-LUT具有所述第二级中的第一多路复用器的输出,所述3-LUT具有所述第三级中的第一多路复用器的输出。
13.根据权利要求10所述的方法,其中对所述4-LUT的多个输出中的至少两个的连接进行编程包括:
使用所述4-LUT的3/3可分裂度来实施用于3输入函数的3-LUT和用于另一3输入函数的另一3-LUT,所述3-LUT具有所述第三级中的第一多路复用器的输出,所述另一3-LUT具有作为所述第二级或所述第三级中的多路复用器的输出的、所述第三级中的第二多路复用器的输出。
14.根据权利要求10所述的方法,其中对所述4-LUT的多个输出中的至少两个的连接进行编程包括:
使用所述4-LUT的2/2/3可分裂度来实施用于2输入函数的2-LUT、用于另一2输入函数的另一2-LUT以及用于3输入函数的3-LUT,所述2-LUT具有所述第二级中的第一多路复用器的输出,,所述另一2-LUT具有作为所述第二级或所述第三级中的多路复用器的输出的、所述第二级中的第二多路复用器的输出,所述3-LUT具有所述第三级中的第一多路复用器的输出。
15.根据权利要求10所述的方法,其中对所述4-LUT的多个输出中至少两个的连接进行编程包括:
使用所述4-LUT的2/2可分裂度以通过使针对三个输入的一个无关来实施用于2输入函数的2-LUT和用于3输入函数的另一2-LUT,所述2-LUT具有所述第二级中的第一多路复用器的输出,所述另一2-LUT具有所述第三级中的第一多路复用器的输出。
16.一种有形的非暂时性计算机可读介质,其上具有指令,当由处理器运行时,所述指令使所述处理器执行方法,所述方法包括:
针对包括加法器函数和其它函数的组中的函数,对具有多路复用器的第一级、第二级、第三级和第四级的4-LUT进行分裂,以实施多个LUT,所述多个LUT中的每一个具有少于四个级的多路复用器,所述4-LUT是可分裂的并且位于现场可编程门阵列即FPGA中;并且
对所述4-LUT的多个输出中的至少两个的连接进行编程,以在FPGA编程的应用中进一步根据所述4-LUT实施所述多个LUT,其中所述4-LUT的多个输出包括所述4-LUT的第三级中的第一多路复用器的输出,所述4-LUT的第二级中的第一多路复用器的输出,以及所述4-LUT的第二级或第三级中的多路复用器的输出。
17.根据权利要求16所述的计算机可读介质,其中对所述4-LUT的多个输出中的至少两个的连接进行编程包括:
使用所述4-LUT和外部多路复用器来实施全加法器,所述外部多路复用器位于所述4-LUT的外部和所述FPGA的内部,其中所述4-LUT具有选择输入,所述选择输入包括输入到多路复用器的第一级的第一操作数、输入到多路复用器的第二级的第二操作数以及到多路复用器的第三级的进位输入;
所述全加法器具有中间信号线,所述中间信号线包括来自所述第二级中的第一多路复用器的输出的生成进位和来自所述第二级中的第二多路复用器的输出的传递进位,其作为所述第二级或所述第三级中的多路复用器的输出;并且
所述全加法器的输出包括来自所述第三级中的第一多路复用器的输出的求和以及来自所述外部多路复用器的输出的进位输出,其中所述外部多路复用器的输入包括进位输入和生成进位,并且所述外部多路复用器的选择输入包括传递进位。
18.根据权利要求16所述的计算机可读介质,其中对所述4-LUT的多个输出中的至少两个的连接进行编程包括:
使用所述4-LUT的2/3可分裂度来实施用于2输入函数的2-LUT和用于3输入函数的3-LUT,所述2-LUT具有所述第二级中的第一多路复用器的输出,所述3-LUT具有所述第三级中的第一多路复用器的输出。
19.根据权利要求16所述的计算机可读介质,其中对所述4-LUT的多个输出中的至少两个的连接到通用路由进行编程包括:
使用所述4-LUT的3/3可分裂度来实施用于3输入函数的3-LUT和用于另一3输入函数的另一3-LUT,所述3-LUT具有所述第三级中的第一多路复用器的输出,所述另一3-LUT具有作为所述第二级或所述第三级中的多路复用器的输出的所述第三级中的第二多路复用器的输出。
20.根据权利要求16所述的计算机可读介质,其中对所述4-LUT的多个输出中的至少两个的连接到通用路由进行编程包括:
使用所述4-LUT的2/2/3可分裂度来实施用于2输入函数的2-LUT、用于另一2输入函数的另一2-LUT以及用于3输入函数的3-LUT,所述2-LUT具有所述第二级中的第一多路复用器的输出,所述另一2-LUT具有作为所述第二级或所述第三级中的多路复用器的输出的、所述第二级中的第二多路复用器的输出,所述3-LUT具有所述第三级中的第一多路复用器的输出。
CN202210114461.6A 2021-02-02 2022-01-30 使用现有加法器电路来增加fpga 4-lut的lut分裂度 Pending CN114844499A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163144879P 2021-02-02 2021-02-02
US63/144,879 2021-02-02
US17/584,904 US20220247413A1 (en) 2021-02-02 2022-01-26 Adding lut fracturabiliy to fpga 4-luts using existing adder circuitry
US17/584,904 2022-01-26

Publications (1)

Publication Number Publication Date
CN114844499A true CN114844499A (zh) 2022-08-02

Family

ID=82562383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210114461.6A Pending CN114844499A (zh) 2021-02-02 2022-01-30 使用现有加法器电路来增加fpga 4-lut的lut分裂度

Country Status (2)

Country Link
US (1) US20220247413A1 (zh)
CN (1) CN114844499A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115454378A (zh) * 2022-09-01 2022-12-09 深圳市紫光同创电子有限公司 一种查找表电路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115454378A (zh) * 2022-09-01 2022-12-09 深圳市紫光同创电子有限公司 一种查找表电路
CN115454378B (zh) * 2022-09-01 2023-07-18 深圳市紫光同创电子有限公司 一种查找表电路

Also Published As

Publication number Publication date
US20220247413A1 (en) 2022-08-04

Similar Documents

Publication Publication Date Title
US10613831B2 (en) Methods and apparatus for performing product series operations in multiplier accumulator blocks
US7372297B1 (en) Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources
US6066960A (en) Programmable logic device having combinational logic at inputs to logic elements within logic array blocks
JP5956820B2 (ja) 埋込み浮動小数点構造を有するdspブロック
US8364738B1 (en) Programmable logic device with specialized functional block
US10649731B2 (en) Integrated circuits with specialized processing blocks for performing floating-point fast fourier transforms and complex multiplication
US10715144B2 (en) Logic circuits with augmented arithmetic densities
US8463836B1 (en) Performing mathematical and logical operations in multiple sub-cycles
CN114844499A (zh) 使用现有加法器电路来增加fpga 4-lut的lut分裂度
US11256979B2 (en) Common factor mass multiplication circuitry
US20190042674A1 (en) Method and apparatus for performing field programmable gate array packing with continuous carry chains
US7818361B1 (en) Method and apparatus for performing two's complement multiplication
US7765249B1 (en) Use of hybrid interconnect/logic circuits for multiplication
Patel et al. Design of fast FIR filter using compressor and Carry Select Adder
Mhaidat et al. A new efficient reduction scheme to implement tree multipliers on FPGAs
CN111142840B (zh) 基于fpga的数据计算方法和装置
US9164728B1 (en) Ternary DSP block
CN114282471A (zh) 一种针对fpga自适应逻辑模块的装箱方法
US7269617B1 (en) Hybrid multipliers implemented using DSP circuitry and programmable logic circuitry
RU2477513C1 (ru) Ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю
EP3073369B1 (en) Combined adder and pre-adder for high-radix multiplier circuit
US9069624B1 (en) Systems and methods for DSP block enhancement
EP4350990A1 (en) Flexible circuit for real and complex filter operations
Narmadha et al. Design and Implementation of Time Efficient Carry Select Adder using FPGA
JP3486638B2 (ja) 定数乗算器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination