当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]现场可编程门阵列的结构与设计

摘要:现场可编程门阵列(FPGA——Field Programmable Gate Array)是上世纪80年代末发展起来的新型大规模集成逻辑器件。它采用高级计算机辅助设计技术进行器件的开发与设计,其优越性大大超过普通TTL集成门。重点介绍了FPGA的基本组成原理及设计方法。

关键词:现场可编程门阵列;可配置逻辑块;专用集成电路

 

1    引言

    FPGA是上世纪80年代末开始使用的大规模可编程数字集成电路器件。它充分利用计算机辅助设计技术进行器件的开发与应用。用户借助于计算机不仅能自行设计专用集成电路芯片,还可在计算机上进行功能仿真和实时仿真,及时发现问题,调整电路,改进设计方案。这样,设计者不必动手搭接电路、调试验证,只须在计算机上操作很短的时间,即可设计出与实际系统相差无几的理想电路。而且,FPGA器件采用标准化结构,体积小、集成度高、功耗低、速度快,可无限次反复编程,因此,成为科研产品开发及其小型化的首选器件,其应用极为广泛。

2    FPGA的基本组成原理

    FPGA的基本组成与生产厂家有关,不同厂家的器件其结构、工艺技术和编程方法各不相同。目前国内广泛使用Xilinx公司生产的FPGA器件。XilinxFPGA采用逻辑单元阵列(Logic Cell Array—简称LCA)结构,其示意图如图1所示。

图1    Xilinx公司FPGA结构图

    由图1可知,XilinxFPGA由3个可编程基本单元阵列组成:输入/输出块(I/OBlock—简称I/OB)阵列,可配置逻辑块(Configurable LogicB lock—简称CLB)阵列及可编程互连网络(Programmable Interconnect—简称PI)。其中输入/输出块排列在芯片周围,它是可配置逻辑块与外部引脚的接口。可配置逻辑块是FPGA的核心,它以矩阵形式排列在芯片中心。每个CLB均可实现一个逻辑功能小单元。各CLB之间通过互连网络编程连接,以实现复杂的逻辑功能。

3    FPGA的开发过程

    FPGA的开发过程依赖于它的软件开发系统,其设计流程如图2所示。

    由图2可知,FPGA的基本设计流程分为3部分:设计输入,设计实现及设计验证。

图2FPGA的基本设计流程  [!--empirenews.page--]

3.1    设计输入

    设计输入是将要实现的逻辑关系以开发系统所支持的方式输入计算机,这是设计FPGA的开始。有多种方法实现设计输入,最常用的是原理图编辑器。它允许用2种方式进行设计输入:

    1)图形输入这种输入方式允许使用元件库中提供的各种常规门电路及逻辑部件(宏单元)设计电路,并以原理图的方式输入;

    2)文本输入这种输入方式允许使用高级可编程逻辑设计语言,如VHDL,ABEL、CUPL语言等编写输入文件,也允许直接用布尔方程进行输入。

    设计输入的目的是要产生一个XNF(Xilinx Netlist Format)文件,这是设计实现和设计验证的输入文件。如果同时采用图形输入和文本输入,则还需要进行归并(XNFMERGE)处理,以产生一个完整的XNF文件。

3.2    设计实现

    设计实现是设计开发过程的核心,其主要任务是对归并后的XNF文件进行分割、布局和布线。分割是把XNF文件中的逻辑设计经过化简,分割成为以CLB及I/OB为基本单元的逻辑设计。布局是把分割后的逻辑设计分配到FPGA的相应CLB及I/OB位置。布线是对已布局好的CLB,I/OB进行连线。Xilinx开发软件具有自动布局、布线功能,它能在布局、布线过程中采用一系列优化程序,找出最佳布局、布线方案。设计实现的最终目的是产生符合设计要求的比特流文件。这是用来为FPGA芯片装载的二进制文件。

3.3    设计验证

    设计验证主要是对电路进行仿真测试。仿真测试包括功能仿真和实时仿真。功能仿真假设信号通过每个逻辑门产生同样的延迟时间(0.1ns),而通过路径没有延时。这种仿真可测试系统功能是否满足设计要求。实时仿真是在布局布线后进行,它能按照所选器件的实际延迟时间进行模拟,主要用来验证系统的时序关系。

    设计输入、设计实现和设计验证三个部分交替进行,最后得到完全满足设计要求的二进制文件。用该文件通过加载电缆或编程EPROM对FPGA加载,即可得到用户需要的专用集成电路芯片。

4    FPGA设计方法

4.1    时钟信号分配技术

    时钟分配网络是FPGA芯片中的特殊布线资源,由特定的引脚和特定的驱动器驱动,只能驱动芯片上触发器的时钟输入端或除了时钟输入端外有限的一些负载,其反相功能一般可在可编程逻辑块(CLB)或可编程输入输出块(I/OB)内部实现,其目的是为设计提供小延迟偏差的时钟信号。因此,FPGA特别适合于同步电路设计技术,尽可能减少使用的时钟信号种类。而在TTL电路设计中经常采用的由组合逻辑生成多个时钟,然后分别驱动多个触发器以装入和保持数据的设计方法,对FPGA设计是不适用的。因为,这样做会使得时钟种类很多,不能利用专用的时钟驱动器和专用的时钟布线资源,时钟信号只能由通用的布线资源拼凑而成,各个负载点上的时钟延迟偏差很大,会引起数据保持时间问题,降低工作速度。

    对FPGA设计而言,更有效的方法是使用一个时钟信号,而由组合逻辑生成多个时钟使能信号,分别驱动触发器的时钟使能端,所有触发器的数据装入都由同一个时钟控制,但只有时钟使能信号有效的触发器才会装入数据,时钟使能信号无效的触发器则保持数据。这种方法充分发挥了FPGA器件体系结构的优势,是设计者应该尽量使用的设计技巧。

4.2    人工干预自动布局布线

    经过FPGA生产厂家的不断努力,FPGA自动设计工具逐渐趋于完善,可以获得较高的布通率和芯片资源利用率。对一般应用,使用自动设计工具往往就可以了。但对于一些性能要求较高或者逻辑功能比较复杂的设计来说,FPGA自动设计工具的自动布局、布线结果往往不能满足要求,此时比较有效的方法就是在原理图一级手工干预逻辑分割和布局布线,以及使用强迫文件(CST文件)干预自动布局布线。对于XC200,XC300系列FPGA设计,用户可使用CLBMAP机制控制逻辑分割,将某些功能映射到特定的可编程逻辑块(CLB)中;对于XC400系列的FPGA设计,可使用FMAP和HMAP机制实现逻辑分割。此外,可以通过元件符号定位机制(LOC=)控制触发器、三态驱动器、可编程逻辑块等在芯片中的指定位置。一般来说,使用三态驱动器构成内部三态总线和使用XC4000系列的硬宏单元时人工指定位置,否则自动布局布线的结果往往很差。

4.3采用冗余技术

    重复设置相同的电路单元以尽可能地减轻信号负载和缩短互连延迟,是FPGA设计中获取高性能的一种常用方法。同时,在使用多片FPGA芯片时,重复设置相同的电路单元,可以减少对FPGA芯片引脚数量的需求。因为,随着FPGA芯片引脚数的增加,其成本也大幅度增加。在设计中采用此项技术,对降低成本取得了较好的效果。

5    结语

    FPGA是一种非常有前途的新技术,很适合于科研工作中的样机、新产品及一些生产量不是特别大的产品。对于批量较大产品可以通过板图优化制成ASIC以降低成本。本文主要是针对XILINX公司的XC300,XC400系列FPGA及其开发工具来进行讨论的。正确使用FPGA的资源及其设计工具,使之适合FPGA体系结构的特点,对设计结果的影响非常大。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭