摘 要
本文简单介绍了FPGA的器件结构、特性、工具,分析FPGA器件在三个领域的应用。分析了FPGA应用在控制领域中,以纯硬件的控制方式替代了传统的单片机、PLC等CPU的软件控制方式,既降低了系统成本也提高了系统的可靠性和稳定性;利用FPGA实现算法模块,可以极大的提高系统的速度。减低主CPU的负荷,解决了许多需要高速的场合下系统速度低的瓶颈。无论是通信、数字信号处理、军事,还是仪器仪表、家用电器,用FPGA来实现电子设计可以在满足功能、性能的双重要求下,体现它的成本优势。
1
目 录
第一章 FPGA的优点 „„„„„„„„„„„„„„„„„„„3 第2章 FPGA器件的结构和开发环境 „„„„„„„„„„„„4 2.1 FPGA的结构„„„„„„„„„„„„„„„„„„„„4 2.2 FPGA开发环境„„„„„„„„„„„„„„„„„„„5 第3章 FPGA器件应用领域分析„„„„„„„„„„„„„„„8 3.1 用FPGA改进DSP性能的优势„„„„„„„„„„„„„8 3.2 FPGA在微机系统中的应用„„„„„„„„„„„„„„9 3.3 基于FPGA的出租车计费器 „„„„„„„„„„„„„11 3.4 小结 „„„„„„„„„„„„„„„„„„„„„„„16 第4章 结束语 „„„„„„„„„„„„„„„„„„„„„17
2
第一章 FPGA的优点
当今社会是数字化的社会,是数字集成电路广泛应用的社会,数字集成电路本身在不断地进行更新换代。随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。大规模可编程逻辑器件CPLD和FPGA是当今应用最广泛的两类可编程专用集成电路,电子设计工程师利用它可以在办公室或实验室里设计出所需的专用集成电路,从而大大缩短产品的上市时间,降低了开发成本。此外,可编程逻辑器件还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,这样就极大的提高了电子系统设计的灵活性和通用性。由于具备上述两方面的特点,CPLD和FPGA受到了世界范围内广大电子设计工程师们的普遍欢迎,应用日益广泛。目前已有单片可用门数超过数百万门、工作频率可达500MHz以上的可编程ASIC芯片问世,由于工艺和结构的不断改进,可编程ASIC芯片上包含的资源越来越丰富,可实现的功能越来越强,他们已成为当今实现电子系统集成化的重要手段。
当代FPGA/CPLD的优点可归纳如下:
1)高速;
3
2)高可靠性; 3)编程简便; 4)易学易用: 5)开发周期短; 6)保密性能好; 7)系统易维护、易升级。
第2章 FPGA器件的结构和开发环境
2.1 FPGA的结构
FPGA器件采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。下面以Xilinx公司和Altera公司的FPGA产品为例,说明一下基于查找表(LUT)的FPGA的结构。Xilinx公司的Spartan—II的内部结构,如图1
图1 Xilinx Spartan—II芯片内部结构
4
图中可见,Spartan—II主要包括CLBs、I/0块、RAM块和可编程连线几部分,CLBs、I/O块和RAM块通过可编程连线有机的连接在一起,通过连接线的编程实现各种模块的设计。在Spartan-II中,一个CLB包括2个Slices。每个Slices包括两个LUT,两个触发器和相关逻辑。Slices可以看成是Spartan-II实现逻辑的最基本结构。 2.2 FPGA开发环境
2.2.1 FPGA的主流开发工具
FPGA应用的简便性、易操作性很大程度上依赖于其开发工具的界面简洁、功能强大、分类精细等优点。伴随着FPGA器件的发展,FPGA开发工具也经过不断改进,功能变得越来越强大,用户也越来越容易上手。其主要有:
1)QuartusII:Altera新一代FPGA/PLD开发软件,适合新器件和大规模FPGA的开发,在高密度FPGA设计中能够实现最佳效能,以最快的速度完成设计。QuartusII软件是在统一设计环境下,一套完整的综合、优化和验证工具,使用业界首创的渐进式编译功能,与传统的高密度FPGA流程相比,设计迭代时间缩短了近70%,显著提高了效能。此外,与采用ISE软件7.1i版的Xilinx Virtex-4系列相比,Quartus II软件5.0版在90nm Stratix II FPGA上能够实现更高的性能。
2) FOUNDATION: ISE Foundation:Xilinx公司集成开发的首选工具,业界最完整的可编程逻辑设计解决方案,用于实现最优性能、功率管理、降低成本和提高生产率。 ISE Foundation为所有Xilinx
5
的先进FPGA与CPLD提供支持,包括全部的Virtex-4多平台FPGA。
3)ISP lever:Lattice推出的最新一代PLD集成开发软件, ispLEVER version5.0 SPI是最新的CPLD和FPGA设计软件,支持所有的莱迪思可编程逻辑器件。
一般来说,最新的开发工具可以支持更多型号的芯片,实现最佳性能,并能以最快的速度完成设计,功能也更强大。如果在条件允许的情况下,优先选择新推出的开发工具,不过也要考虑到实际的情况,根据所使用的FPGA器件来选择合适的开发工具。 2.2.2 硬件描述语言HDL
硬件描述语言(HDL)是一种用形式化方法来描述数字电路和设计数字逻辑系统的语言,是目前电子设计中最高级的一种输入方法,配合高性能可编程逻辑器件可以在短时间内完成复杂的电路设计。VHDL和VerilogHDL语言,发展非常迅速,在美国已成为设计数字电路的主流。
经过大量资料的对比分析,Verilog语法简单,代码简练,适合初学者学习,而且Verilog可以进行从门级到算法级的设计,对大中小规模的电路设计都适用,但对更复杂、规模更大的电路设计就要借助VHDL语言。但VHDL语法结构复杂,熟练掌握所需时间较长,且对门级电路的设计也是借助Verilog来完成的,因此推荐在掌握了Verilog语言后再进行VHDL的学习,就可以胜任大多数通用FPGA器件的设计。
2.2.3 FPGA设计流程
6
FPGA开发流程和IC的开发流程相似,主要分为以下几个部分:
1)设计输入。利用HDL输入工具、原理图输入工具或状态机输入工具等把所要设计的电路描述出来。
2)功能验证,也就是前仿真。利用Modelsim、VCS等仿真工具对设计进行仿真,检验设计的功能是否正确,仿真过程能及时发现设计中的错误,加快设计进度,提高设计的可靠性。
3)综合。综合优化是把HDL语言翻译成最基本的与或非门的连接关系(网表),并根据要求(约束条件)优化所生成的门级逻辑连接,输出edf和edn等文件,导给CPLD/FPGA厂家的软件进行实现和布局布线。
4)布局布线。综合的结果只是通用的门级网表,只是一些门与或非的逻辑关系,与芯片实际的配置情况还有差距。此时应该使用FPGA/CPLD厂商提供的实现与布局布线工具,根据所选芯片的型号,进行芯片内部功能单元的实际连接与映射。这种实现与布局布线工具一般要选用所选器件的生产商开发的工具,因为只有生产者最了解器件内部的结构,如在ISE的集成环境中完成实现与布局布线的工具是FlowEngine。
5)时序验证。其目的是保证设计满足时序要求,即setup/hold time符合要求,以便数据能被正确的采样。时序验证的主要方法包括静态时序分析STA(静态时序分析)和后仿真。
6)生成并下载BIT或PROM文件,进行板级调试。 HDL设计流程图如图2所示:
7
图2 HDL设计流程图
第3章 FPGA器件应用领域分析
3.1 用FPGA改进DSP性能的优势
DSP在很多领域中具有广泛的用途,但随着DSP系统复杂程度和功能要求的提高,用DSP解决方案逐渐显示出它的缺陷性:实时性不强,灵活性太差,不适合在实验室和技术开发等场合使用等。比如在数据通信和图像处理这样的应用中,需要强大的处理能力,由于成本、系统功耗和面市时间等原因,许多通讯、视频和图像系统已无法简单地用现有DSP处理器来实现,当最快的数字信号处理器(DSP)仍无法达到速度要求时,唯一的选择是增加处理器的数目,或采用客户定制的门阵列产品。现在,设计人员有了新的选择,可采用FPGA来快速
8
经济地完成设计。采用现场可编程器件不仅缩短了产品上市时间,还可满足现在和下一代便携式设计所需要的成本、性能、尺寸等方面的要求,并提供系统级支持。使用FPGA来实现DSP解决方案主要有两个方面的理由:首先是为了提高性能,其次可以为系统节约成本。下面就FPGA和DSP之间的性能对比总结出FPGA的主要优势:
1)FPGA的结构尤其适合于乘法和累加(MAC)等重复性的DSP任务。 2)FPGA还具有可扩展的优点。
3)FPGA相对于DSP具有很大的成本优势。 4)FPGA器件可以减小功耗。 5)FPGA器件有缩短上市时间的优势。
由于FPGA的性能和灵活性,以及新的简明的设计和实施方法,在很多新兴DSP应用领域,如数字通信和视频处理,FPGA都成为优选的解决方案。例如,Xilinx Virtex和Spartan—II FPGA可以用来实现通用移动通信系统码分多址应用中的匹配滤波器。UMTS标准的芯片速率有8.192MHz和15.36MHz两种选择。通过FPGA解决方案,在未来不需要额外的资源就可以改变数据速率。又如,在CDMA数字通中,匹配滤波器作为信号处理器来计算发送信号与接收信号的相关性。而FPGA能提供良好的滤波器设计,并且能完成DSP的高级数据处理功能。
3.2 FPGA在微机系统中的应用
在微机系统中应用CPLD/FPGA可以取代现有的全部微机接口芯片,实现微机系统中的地址译码、总线控制、中断及DMA控制、DRAM
9
管理和I/O接口电路等功能,同时,利用CPLD/FPGA可以把多个微机系统的功能集成在同一块芯片中,即进行所谓的“功能集成”。FPGA借助于高效的硬件编程语言可以用很少的语句实现一个完整的累加器或乘法器,不必象过去那样需要把标准元器件一点点组装成庞大的模块,节省了设计时闻,增加了使用者的方便性。
尽管各种CPU的性能指标和结构细节各不相同,但它们所能完成的基本功能相同。由功能分析,可知任何一种CPU内部结构至少应包含算术逻辑运算部件(ALU)、累加器、程序计数器、指令寄存器、译码器、时序和控制等部件。RISC即精简指令集计算机(ReducedInstruction Set Computer)的缩写。它是一种八十年代才出现的CPU,与一般的CPU相比不仅只是简化了指令系统,而且是通过简化指令系统使计算机的结构更加简单合理,从而提高了运算速度。从实现的途径看,RISC—CPU与一般的CPU的不同处在于:它的时序控制信号形成部件是用硬布线逻辑实现的而不是采用微程序控制的方式。所谓硬布线逻辑也就是用触发器和逻辑门直接连线所构成的状态机和组合逻辑,故产生控制序列的速度比用微程序控制方式快得多,因为这样做省去了读取微指令的时间。因此,用FPGA器件来设计CPU不仅可以使其体积缩小,同时可以达到更快的运算速度,因为CPU的时序控制信号形成部件是用硬布线逻辑实现的,而不是软件方式。从设计过程和程序可以体现出用硬件描述语言VerilogHDL进行电路设计和仿真的便利性。总结起来,用硬件描述语言加上FPGA器件以及相应的综合仿真工具的设计方法具有操作方便、结构简洁、层次清晰
10
的优点,还可以缩小芯片的体积,提高利用率。这种设计方式具有很大的潜力,研究这一设计方法对软硬件联合设计是有重要意义的。 3.3 基于FPGA的出租车计费器 3.3.1 系统组成
随着EDA技术的高速发展。电子系统的设计技术和工具发生了深刻的变化,FPGA的应用迅速遍及了市场中的每一个角落,从高速DSP的实现到一个小小控制芯片都可以看到FPGA的身影。这一切都因为用它进行产品开发,不仅成本低、周期短、可靠性商,而且具有完全的知识产权。本节通过分析一个以Altera公司可编程逻辑芯片EPM7128SLC84—15为控制核心、附加一定外围电路组成的出租车计费器系统来说明FPGA应用的广泛性和通用性。
基于FPGA的出租车计费器的组成如图 3所示。各部分主要功能如下:
图3 基于FPGA的出租车计费器的组成框图
(1)A计数器对车轮传感器送来的脉冲信号进行计数(每转一圈送
11
一个脉冲)。不同车型的车轮直径可能不一样,通过“设置1”对车型做出选择,以实现对不同车轮直径的车进行调整。
(2)B计数器对百米脉冲进行累加,并输出实际公里数的BCD码给译码动态扫描模块。每计满500送出一个脉冲给C计数器。“设置2”实现起步公里数预制。
(3)c计数器实现步长可变(即单价可调)的累加计数,每500米计费一次。“设置3”用来完成超价加费、起步价预制等。
(4)译码/动态扫描将路程与费用的数值译码后用动态扫描的方式驱动数码管。
(5)数码管显示将公里数和计费金额均用四位LED数码管显示(三位整数,一位小数)。 3.3.2 功能模块的设计
出租车计费器由车型调整模块、计程模块、计费模块、译码动态及扫描等模块组成,整个系统采用模块化设计,首先用VHDL编写功能模块。然后用顶层原理图将各功能模块连接起来。 1)车型调整模块
出租车车型并非单一,各个车型的轮胎直径亦有所不同。据调查统计,现行出租车轮胎直径大致有四种,真径分别为520m、0ram、560ram和580mm,如表3.1。若要使不同车型的出租车每行驶一百米均送出一个脉冲,可通过设置“可预制分频器”的系数来完成。根据上述车轮直径计算出的分频系数分别为61、59、57和55。预制数据受两个车型设置开关控制,DIP开关状态与车轮直径对应关系如表
12
1所示(表中“1”为高电平,“0”为低电平)。
表3.1 车型设置
在参数预制中,使用With_Select语句(查表法)做分频选择。
With cartype select
typecounter<=“111101”when“00”,--520mm “111011”when“01”, --0ram “111001”when“10”,--560m
“111000”when“ll”,--580ram “000000”when others; 2)计程模块
计程模块是一个模为lO、步长为1的加法计数器。该模块可以预制参数,使其实际计数值大于预制数值后,每500米送出一个脉冲,并将计数值送译码动态扫描模块进行显示。预制参数采用非压缩BCD码,所以在计数器设计时必须将二进制1010至1111六个状态跳过去。在VHDL程序中,用IF语句来实现。
if Km(3 downto 0)=“1001”then Km:=Km+“0111”; else Km:=kin+1; end if;
计程模块也带有“开始”/“清零”端。参数预制同样使用With_Select语句。“起步里程”和“开关设置”对应关系如表3.2所示。
13
表3.2起步里程设置
3)计费模块
计费模块是一个模为10、步长可变的加法计数器。该模块通过开关量预制步长,当超过一定预制参数时改变步长。计费模块也采用非压缩BCD码,但因步长不为1,所以在做非压缩BCD加法时必须调整,否则可能导致在超过或未超过预置参数时出现超程错误。这里采用模仿微机的AF标志位,在其设立一个半进位标志,当累加和大于9或半进位标志为“1”时,对累加和进行调整。
if data1(3 downto 0)>9 or datal(4)=‘1’then data1(3 downto 0):=flatal(3 downto O)+“0110”; data1(8 downto 5):=datal(8 downto 5)+1; end if;
其中,data(4)为半进位标志。“起步价格”和“超价加费”设置参数分别如表3.3和表3.4所示。
表3.3 起步价格设置
表3.4 超价加费设置
14
4)显示模块
显示模块由七段LED数码管译码和动态扫描显示两部分组成。该设计采用的是共阴极七段数码管,根据16进制数和七段显示段码表的对应关系,用VHDL的With _Select或When_Else语句可方便实现它们的译码。 5)动态扫描显示
动态扫描是利用人眼的视觉暂留原理,只要扫描频率不小于24Hz,人跟就感觉不到显示器的闪烁。这里24Hz的扫描脉冲由相应的外围电路提供。动态扫描电路设计的关键在于位选信号要与显示的数据在时序上一一对应,因此电路中必须提供同步脉冲信号。这里采用八进制计数器提供同步脉冲,VHDL程序段如下
clkl _label:PROCESS(scp) BEGIN
IF scp’vent and scp=‘1’THEN count<=count+1; END IF;
END PROCESS clkl _label;
显示数据的选择由计数器控制,VHDL程序段如下:
Temp<=counter when count=“000”else„ counter4 when count=“011”else mile1 when count=“100”else... mile4 when count=“111”; 6)系统综合
15
各个功能子模块设计完成后,利用MAXPLUS II的图形编辑器(Graphic Editor)将各功能子模块(.sym)进行连接。通过对输出脉冲信号加门电路延时,再与原始信号相“与”的方法消除毛刺。从该设计器件部分报告中得知:输入、输出管脚各用16只,芯片资源利用率仅为51%,具有较大的扩展空间。 3.4 小结
本章给出了FPGA三个应用领域的分析:1) 分析并讨论了用FPGA器件实现DSP器件的算法可以达到更高的速度,并且成本可以更低,在某些领域FPGA可以完全取代DSP的功能。2)分析了FPGA在微机系统中的应用后,得出了FPGA器件配合硬件描述语言和综合仿真工具可以高效率的实现高性能CPU的结论,并且这种软硬件的开发手段具有很重要的现实意义。3)着重介绍了一种通过引用基于CPLD/FPGA的出租车计费器的设计来分析FPGA器件的简单逻辑应用,囊括了FPGA应用优势的大部分特点,从而印证了FPGA应用领域广泛的结论。
16
第4章 结束语
本文简单介绍了FPGA的器件结构、特性、工具,分析FPGA器件在三个领域的应用。我们可以看到自从FPGA出现,以FPGA为代表的数字系统现场集成技术就开始在电子设计领域展示它越来越重要的作用。由本文的大量分析研究可知,即FPGA应用在控制领域中,以纯硬件的控制方式替代了传统的单片机、PLC等CPU的软件控制方式,既降低了系统成本也提高了系统的可靠性和稳定性;利用FPGA实现算法模块,可以极大的提高系统的速度。减低主CPU的负荷,解决了许多需要高速的场合下系统速度低的瓶颈。无论是通信、数字信号处理、军事,还是仪器仪表、家用电器,用FPGA来实现电子设计可以在满足功能、性能的双重要求下,体现它的成本优势。
17
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务