CN112668268A - 一种高灵活性Flash型FPGA可编程逻辑单元结构 - Google Patents
一种高灵活性Flash型FPGA可编程逻辑单元结构 Download PDFInfo
- Publication number
- CN112668268A CN112668268A CN202011597722.1A CN202011597722A CN112668268A CN 112668268 A CN112668268 A CN 112668268A CN 202011597722 A CN202011597722 A CN 202011597722A CN 112668268 A CN112668268 A CN 112668268A
- Authority
- CN
- China
- Prior art keywords
- programmable logic
- logic unit
- flash
- input
- circuit
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
本发明提出了一种高灵活性Flash型FPGA可编程逻辑单元结构,具有高可编程性、高自由度、高灵活性、低粒度等特点。该单元由与门、或门、与非门、多路复用器、Flash开关及相关导线组成,通过配置Flash开关,本可编程逻辑单元不仅能映射时序逻辑,同时还能映射组合逻辑。具体方式为通过编程高压对Flash开关进行编程以控制其闭合或断开,不同的Flash开关编程状态可以产生不同的电路结构。此外,为了提升可编程逻辑单元的时序性能和内部元件利用率,对于可编程逻辑模块的输入和输出通路做了优化,并且在满足输入输出端口数量的前提下可以至多同时映射两个独立的电路。这种高效的可编程逻辑单元结构同时也有助于优化FPGA芯片阵列设计,简化布线资源等。
Description
技术领域
本发明涉及电子技术领域,具体是一种Flash型FPGA芯片的可编程逻辑单元结构。
背景技术
FPGA(Field Programmable Gate Array)即现场可编程门阵列,是一种可编程的数字集成电路IC,由PAL、GAL、CPLD等可编程器件进一步发展而得到的产物。随着工艺不断进步,FPGA产品在逻辑密度、性能和功耗上有了极大的提高,同时器件成本也大幅下降,使得电子设计工程师越来越倾向于在实际工程中采用可编程逻辑器件。目前FPGA以其可编程和灵活性,已经在通信、医疗、消费电子、汽车电子、工业及数据处理、军事与航空航天等领域得到了广泛应用。
与传统的ASIC即专用集成电路相比,FPGA有很多突出优势:1)FPGA芯片不需要等待漫长的生产过程,用户使用EDA软件通过编程、综合、布局布线等流程即可生成目标电路;2)FPGA集成度高,内部资源丰富,如DSP等,可以完成复杂的系统设计;3)更大的并行度,使得多个模块之间可以同时独立进行运算,提高了电路工作效率;4)可编程,使得设计的后续升级更新变得更加容易。
FPGA按照其编程结构的不同主要可以分为三大类:反熔丝FPGA、Flash型FPGA、SRAM型FPGA。Flash型FPGA以其非易失性、低功耗、高可靠性、高安全性等特点受到了市场的青睐,特别是某些对可靠性要求较高的领域。
可编程逻辑单元是FPGA可编程特性的基础,以阵列的形式分布于FPGA芯片的核心区域,占据了绝大部分的芯片面积,所以一个优化的可编程逻辑单元结构对于整个FPGA芯片来说至关重要。
基于上述情况,本发明提出了一种高灵活性的Flash型FPGA芯片的可编程逻辑单元结构,充分发挥了FPGA的可编程特性。
发明内容
本发明为了提高FPGA芯片可编程逻辑单元的普适性和灵活性,提出了一种更加优化高效的基于Flash技术的FPGA可编程逻辑单元结构。
本发明采用的技术方案如下:
所述基于Flash技术的FPGA可编程逻辑单元由常见的数字电路基本电路和Flash开关组成,包括6个与门、3个或门、4个与非门、4个二输入多路复用器、93个Flash开关及若干导线。该可编程逻辑单元结构简单明了,却能实现复杂多样的电路功能,包括3输入LUT、一位全加器、D锁存器、带置位和复位的D触发器等组合电路和时序电路。
所述基于Flash技术的FPGA可编程逻辑单元的编程核心是Flash开关,Flash技术是E2PROM技术的一种特殊形式,也是由浮栅型场效应管构成的,它与SRAM相比主要优点是掉电后数据不会丢失,不需要昂贵的配置芯片。
进一步地,这些Flash开关分布于电路结构中的关键节点上,通过编程高压配置Flash开关闭合或断开,可以改变电路元件的连接关系和信号走向,进而形成不同的电路结构,实现不同的电路功能。相比于SRAM型FPGA可编程逻辑单元,本发明提出的可编程逻辑单元规模更小,而且可编程逻辑单元本身还能通过配置Flash开关进行编程,更加灵活多变。
进一步地,该结构被封装成一个基本模块后有4个输入端口P1、P2、P3、P4,2个输出端口Q1、Q2。P1可连接到除全局布线网络外的布线资源,P2端口在可编程逻辑单元被配置为D触发器时对应时钟输入端口,P3端口在可编程逻辑单元被配置为D触发器时对应异步复位端口,P4端口在可编程逻辑单元被配置为D触发器时对应置位端口,所以这3个输入端口还可以选择连接到FPGA芯片中的全局布线网络,以提升时钟信号、复位信号、置位信号的驱动能力。输出端口Q1和Q2可以连接到FPGA芯片中的极速本地布线资源,用以将该模块的输出信号快速驱动至周围模块的输入端口,也可以选择连接到FPGA芯片中的高驱动高效长线资源,用以将该模块的输出信号驱动至更远处的模块输入端口。
进一步地,本发明提出的可编程逻辑单元当被配置为3输入LUT或带复位和置位的D触发器时,内部的门电路元件(与门、或门、与非门、多路复用器)资源利用率极高,达到了理想水平。但如果只是希望该可编程逻辑模块映射一个简单电路,如2输入mux时,使用3输入LUT的方案,虽然实现了电路映射,但却不是最优化的设计。
进一步地,本发明为了解决上述问题,将输出线P1、P2通过Flash开关连接到了尽可能多的门电路元件的输出端口,这样上述问题就能迎刃而解了。直接使用本发明提出的可编程逻辑单元中的现有的2输入mux进行映射即可,并将mux的输出通过Flash开关连接到输出线P1或P2,减少信号经过的电路级数,有利于提高设计的工作频率和时序性能。同时,在对输入信号的延时上也进行了优化,使得输入信号可以快速直接地达到有效电路部分。对输入和输出信号延时的优化,可以显著改善可编程逻辑单元的整体延时,提升FPGA芯片的性能表现。
进一步地,本发明提出的可编程逻辑单元结构还支持至多同时映射两个相互独立的电路。如上文描述的用可编程逻辑单元映射一个简单的2输入mux电路,按照本发明的方案进行实现后,可编程逻辑单元内部还有大量的门电路元件资源未被使用。为了能提高对这部分资源的利用率,本发明提出了另一种解决方案,即在输入输出端口满足需求的前提下,利用剩下的门电路元件资源对另一个独立电路进行映射。实现了对一个可编程逻辑单元的最大化资源利用,避免了资源浪费。这主要是由于本发明提出的新型可编程逻辑单元结构内部拥有丰富的Flash开关资源和门电路元件,内部的走线连接关系可以灵活调整,这就使得本发明提出的Flash型FPGA可编程逻辑单元可以至多同时映射两个独立的电路。具体的映射情况可能为:映射1个独立电路、映射2个独立电路。映射2个独立电路又可以分为两种情况,其一为同时映射1个3输入1输出的电路和1个1输入1输出的电路,其二为同时映射2个2输入1输出的电路。
本发明的突出优点有:
1)Flash开关具有非易失性和高可靠性等特性,使得FPGA可以在重复编程的基础上实现上电即运行和低功耗。
2)本发明提出的基于Flash技术的可编程逻辑单元结构具有小粒度的特点,可以提高FPGA内部资源的利用率。
3)通过配置Flash开关可以实现对可编程逻辑单元本身的编程,灵活地映射时序逻辑电路和组合逻辑电路,充分发挥了FPGA的可编程特性。
4)当映射的电路规模较小时,可以旁路掉不需要经过的门电路元件,快速高效地进行信号传输,减小逻辑延时,提高电路时序性能。
5)本发明提出的新型可编程逻辑单元结构内部拥有丰富的Flash开关资源和门电路元件,可以灵活调整内部的走线连接关系,从而实现至多同时映射两个独立的电路的特性,大大提升了FPGA的映射效率。
附图说明
附图1为本发明提出的基于Flash技术的FPGA可编程逻辑单元结构图。
附图2为本发明提出的基于Flash技术的FPGA可编程逻辑单元结构封装成模块后的示意图。
附图3为利用本发明提出的可编程逻辑单元实现对3输入LUT的映射。
附图4为利用本发明提出的可编程逻辑单元实现对一位全加器的映射。
附图5为利用本发明提出的可编程逻辑单元实现对带置位和复位端口的D触发器的映射。
附图6为利用本发明提出的可编程逻辑单元实现对D锁存器的映射。
附图7为利用本发明提出的可编程逻辑单元实现的对简单电路的优化映射,以2输入mux的映射为例。
附图8为利用本发明提出的可编程逻辑单元实现对两个小规模独立电路同时映射,以2输入mux和反相器的同时独立映射为例。
具体实施方式
下下面将结合具体附图和实施例对本发明进行详细说明,应当说明的是,下文所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该基于Flash技术的FPGA可编程逻辑单元结构,由与门、或门、与非门、多路复用器、Flash开关、互连线组成,其电路结构如附图1所示。其中与门、或门、与非门、多路复用器的数量固定,承担可编程逻辑模块内部信号计算功能。Flash开关数量较多,主要作用是改变可编程逻辑模块内部的信号走向,以完成复杂多样的电路功能,进而实现对各种电路设计的灵活映射,包括组合逻辑电路和时序逻辑电路。
在FPGA的总体电路中,可编程逻辑单元往往被封装成模块,以阵列的形式分布于FPGA芯片的核心区域。本发明提出的可编程逻辑单元被封装成模块后,有4个输入端口、2个输出端口,其封装后的示意图如附图2所示。其中输入端口P1可被极速本地线、高效长线、高速超长线布线资源所驱动,输入端口P2、P 3、P4除可以被上述三种布线资源驱动外,还可以被高性能全局布线网络所驱动。因为当可编程逻辑模块被配置为带复位和置位的D触发器时,P1对应D触发器的输入,P2、P3、P4对应时钟、复位、置位等对布线资源要求较高的高驱动全局信号。输出端口Q1与Q2与极速本地线相连,可以将本可编程逻辑单元的输出信号快速传送至阵列中相邻8个可编程逻辑单元的输入,与其他长线资源相连可用于映射高扇出、远距离、关键路径信号。
常见的SRAM型FPGA的可编程逻辑单元如Xilinx公司的CLB或Intel公司的LE,它们的电路规模较大,内部由LUT、D触发器和其他电路组成,粒度较大,不够灵活。若需要映射组合逻辑,则使用了LUT部分,D触发器就浪费了,反之同理。而本发明提出的基于Flash技术的FPGA可编程逻辑单元粒度小,同时由于Flash开关的存在可以对可编程逻辑单元内部的电路连接进行配置,这使得一个可编程逻辑单元可被配置成3输入LUT或带复位和置位的D触发器或其他电路,通用性更强,且减少了资源浪费。
附图3展示了利用本发明提出的可编程逻辑单元实现对3输入LUT电路的映射,左边4个2输入mux的8个输入端用于存放3个输入端口P1、P2、P3各种情况下电路的输出值,根据不同情况下电路的输出值将8个mux输入端口通过编程Flash开关连接到VCC或GND。符号旁边的注释VCC表示该节点通过编程Flash开关连接到电源VCC,浮空表示该节点连接的2个Flash开关均不编程,呈浮空状态。图3未将mux输入端口编程,若根据LUT的输出值对其编程后,映射1个完整的3输入LUT需要使用P1、P2、P3共3个输入端口,Q1/Q2共1个输出端口,编程36个Flash开关。若该LUT需要驱动的后级电路较多,还可再编程1个Flash开关同时使用Q1和Q2两个输出端口。
附图4展示了利用本发明提出的可编程逻辑单元实现对一位全加器电路的映射,所有符号连接的节点2个Flash开关均不编程,呈浮空状态。在映射过程中使用了3个输入端口P1、P2、P4,2个输出端口Q1和Q2,编程22个Flash开关。其中P1和P2为全加器的2个加数输入,P4为进位输入,Q1为全加器的进位输出,Q2为全加器的和输出。且N1点到Q1和N2点到Q2之间的走线跳过了冗余的逻辑,将输出信号直接连接到了输出端口,有助于减小电路在可编程逻辑单元内部的延时,提升电路性能。
附图5展示了利用本发明提出的可编程逻辑单元实现对带置位和复位端口的D触发器的映射,所有符号连接的节点2个Flash开关均不编程,呈浮空状态。在映射过程中使用了4个输入端口P1、P2、P3、P4,2个输出端口Q1和Q2,编程35个Flash开关。其中P1为D触发器的数据输入,P2为D触发器的低电平有效置位输入,P3为D触发器的时钟输入,P4为D触发器的低电平有效复位输入,Q1为D触发器的数据输出,Q2为D触发器的数据反相输出。此时,可编程逻辑单元的全部输入输出端口均被使用,内部门电路元件使用率极高。
附图6展示了利用本发明提出的可编程逻辑单元实现对D锁存器的映射,符号旁边的注释VCC表示该节点通过编程Flash开关连接到电源VCC,浮空表示该节点连接的2个Flash开关均不编程,呈浮空状态。在映射过程中使用了2个输入端口P1和P3,2个输出端口Q1和Q2,编程23个Flash开关。其中P1为D锁存器的数据输入,P3为D锁存器的使能输入,Q1为D锁存器的数据输出,Q2为D锁存器的数据反相输出。且输入信号旁路掉了可编程逻辑单元左边的4个2输入mux,直接传输至映射D锁存器电路的有效电路部分,有助于减小电路在输入端口的延时,提升电路性能。
附图7展示了利用本发明提出的可编程逻辑单元实现对2输入mux的映射,所有符号连接的节点2个Flash开关均不编程,呈浮空状态。在映射过程中使用了3个输入端口P1、P2、P4,1个输出端口Q1,编程5个Flash开关。其中P1为2输入mux的数据选择输入,P2和P4为2输入mux的2个数据输入,Q1为2输入mux的数据输出。且输出信号旁路掉了不需要使用到的冗余逻辑,直接传输至输出端口,有助于减小电路在信号输出端口的延时,提升电路性能。
本发明提出的可编程逻辑单元结构优化了映射电路时信号的逻辑延时,以提升整体设计的工作频率和时序性能。具体方式为,当可编程逻辑单元内部资源相对于待映射电路所需资源来说比较充足的情况下,使信号经过的门电路级数最少,避免信号经过冗余的门电路,降低信号延时的同时简化Flash开关配置。如图6所示映射D锁存器时,优化了输入信号延时;图7所示映射2输入mux时,优化了输出信号延时。
附图8展示了利用本发明提出的可编程逻辑单元实现对2个独立电路的同时映射,具体是1个2输入mux和1个反相器,符号旁边的注释VCC表示该节点通过编程Flash开关连接到电源VCC,浮空表示该节点连接的2个Flash开关均不编程,呈浮空状态。在映射2输入mux的过程中使用了3个输入端口P1、P2、P4,1个输出端口Q1,编程5个Flash开关。其中P1为2输入mux的数据选择输入,P2和P4为2输入mux的2个数据输入,Q1为2输入mux的数据输出。在映射反相器的过程中使用了1个输入端口P3,1个输出端口Q2,编程4个Flash开关。其中P3为反相器数据输入,Q2为反相器数据输出。共计使用了可编程逻辑单元的全部4个输入端口和2个输出端口,编程9个Flash开关,实现了输入输出端口资源的最大化利用。
本发明提出的可编程逻辑单元结构为了提升内部资源的利用率,提出了一种单个可编程单元映射两个独立工作电路的解决方案。之所以能实现这样的效果,本质上是由于本发明提出的可编程逻辑单元内部大量的Flash开关给予了极高的配置灵活性,且门电路元件数量较为丰富,这样在满足输入输出端口数量限制的前提下,可以同时映射至多2个独立电路,并且这两部分电路互不干扰。例如图8所示的利用本发明提出的可编程逻辑单元映射两个独立的2选1多路复用器和反相器,2选1多路复用器需要3个输入端口和1个输出端口,反相器需要1个输入端口和1个输出端口,而可编程逻辑单元可以提供合计4个输入端口和2个输出端口,可以满足两个独立电路对IO端口的需求,内部的门电路元件资源也足够实现这两个独立电路的功能,进而可以实现映射。
本发明还能实现更多复杂的电路功能,这里仅选取了几种常见的电路进行展示。
上述实施例已经充分说明了本发明的必要技术内容,普通技术人员能够依据说明加以实施,故不再赘述其他技术细节。
以上所述,仅是本发明的常用实施例而已,并非对本发明作任何形式的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (4)
1.一种高灵活性Flash型FPGA可编程逻辑单元结构,其特征在于,由6个与门、3个或门、4个与非门、4个二输入多路复用器、93个Flash开关及若干导线组成,有4个输入端口和2个输出端口。通过对Flash开关进行配置,即可映射不同的电路。输入和输出端口能够根据信号的特点而连接到FPGA中的不同布线资源。
2.根据权利要求1所述的高灵活性Flash型FPGA可编程基本逻辑单元,其特征在于,Flash开关经过编程电路配置后闭合或断开,不仅可以将信号线钳位至高电平VCC或低电平GND,更重要的意义在于改变内部门电路元件间信号的走向,以映射不同的电路,包括时序逻辑电路和组合逻辑电路。
3.根据权利要求1所述的高灵活性Flash型FPGA可编程基本逻辑单元,其特征在于,更低的延时和更高的时序性能,本发明在映射电路时,能大大减少从输入到输出间经历的逻辑级数,有效降低逻辑延时,提升电路工作频率。
4.根据权利要求1所述的高灵活性Flash型FPGA可编程基本逻辑单元,其特征在于,最大化的可编程逻辑单元内部资源使用率。大量的Flash开关和丰富的门电路元件大幅度提升了可编程逻辑单元的灵活性,在满足IO端口数量和门电路元件总量的前提下,可以至多同时映射两个独立的电路,优化了可编程逻辑单元内部的资源利用率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011597722.1A CN112668268A (zh) | 2020-12-29 | 2020-12-29 | 一种高灵活性Flash型FPGA可编程逻辑单元结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011597722.1A CN112668268A (zh) | 2020-12-29 | 2020-12-29 | 一种高灵活性Flash型FPGA可编程逻辑单元结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112668268A true CN112668268A (zh) | 2021-04-16 |
Family
ID=75410290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011597722.1A Pending CN112668268A (zh) | 2020-12-29 | 2020-12-29 | 一种高灵活性Flash型FPGA可编程逻辑单元结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112668268A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130667A (zh) * | 2011-01-18 | 2011-07-20 | 浙江大学 | 一种数字真随机振荡信号发生器 |
CN104239090A (zh) * | 2014-07-15 | 2014-12-24 | 上海微小卫星工程中心 | 一种基于fpga的卫星星务计算机在轨重构系统及方法 |
CN106059567A (zh) * | 2016-05-27 | 2016-10-26 | 中电海康集团有限公司 | 一种基于stt‑mram的现场可编程门阵列 |
CN107885485A (zh) * | 2017-11-08 | 2018-04-06 | 无锡中微亿芯有限公司 | 一种基于超前进位实现快速加法的可编程逻辑单元结构 |
CN110532222A (zh) * | 2019-08-30 | 2019-12-03 | 中国电子科技集团公司第五十八研究所 | 一种基于stt-mram的fpga开关单元 |
-
2020
- 2020-12-29 CN CN202011597722.1A patent/CN112668268A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130667A (zh) * | 2011-01-18 | 2011-07-20 | 浙江大学 | 一种数字真随机振荡信号发生器 |
CN104239090A (zh) * | 2014-07-15 | 2014-12-24 | 上海微小卫星工程中心 | 一种基于fpga的卫星星务计算机在轨重构系统及方法 |
CN106059567A (zh) * | 2016-05-27 | 2016-10-26 | 中电海康集团有限公司 | 一种基于stt‑mram的现场可编程门阵列 |
CN107885485A (zh) * | 2017-11-08 | 2018-04-06 | 无锡中微亿芯有限公司 | 一种基于超前进位实现快速加法的可编程逻辑单元结构 |
CN110532222A (zh) * | 2019-08-30 | 2019-12-03 | 中国电子科技集团公司第五十八研究所 | 一种基于stt-mram的fpga开关单元 |
Non-Patent Citations (4)
Title |
---|
倪刚等: "通用的FPGA逻辑单元映射工具", 《复旦学报(自然科学版)》 * |
无: ""ProASIC3——Flash架构FPGA的基础"", 《电子产品世界》 * |
蔡丹等: "PLBMAP:高性能通用FPGA可编程逻辑块映射算法", 《微电子学与计算机》 * |
赵以诚 等: ""基于Flash单元的FPGA编程原理研究"", 《微处理机》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6614261B2 (en) | Interconnection and input/output resources for programable logic integrated circuit devices | |
US5450021A (en) | EPLD chip with hybrid architecture optimized for both speed and flexibility | |
US6359469B1 (en) | Logic element for a programmable logic integrated circuit | |
US5986465A (en) | Programmable logic integrated circuit architecture incorporating a global shareable expander | |
EP0746102B1 (en) | Programmable logic array integrated circuit | |
US6636070B1 (en) | Driver circuitry for programmable logic devices with hierarchical interconnection resources | |
US6034540A (en) | Programmable logic integrated circuit architecture incorporating a lonely register | |
US5835998A (en) | Logic cell for programmable logic devices | |
US7161384B1 (en) | Flexible macrocell interconnect | |
CN113986815B (zh) | 一种基于多粒度查找表结构的可编程逻辑块 | |
CN109933301B (zh) | 可扩展可编程逻辑单元及可编程逻辑块结构 | |
CN107885485B (zh) | 一种基于超前进位实现快速加法的可编程逻辑单元结构 | |
EP1619799B1 (en) | Mask-programmable logic device with programmable portions | |
US5751162A (en) | Field programmable gate array logic module configurable as combinational or sequential circuits | |
CN112668268A (zh) | 一种高灵活性Flash型FPGA可编程逻辑单元结构 | |
US7725867B2 (en) | Gate-array or field programmable gate array | |
CN111752529B (zh) | 支持高效乘累加运算的可编程逻辑单元结构 | |
Véstias | Field-programmable gate array | |
Battezzati et al. | Reconfigurable field programmable gate arrays: Basic concepts | |
EP1705798B1 (en) | Interconnection and input/output resources for programmable logic integrated circuit devices | |
Abd-El-Barr et al. | Design issues in field programmable gate arrays (FPGAs) | |
GB2325071A (en) | Programmable logic array | |
WO1999059088A2 (en) | A programmable logic device with macrocell controlled by a pla |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210416 |
|
WD01 | Invention patent application deemed withdrawn after publication |