曙海教育集团论坛FPGA专区FPGA技术讨论区 → FPGA技术及其与其他技术的综合运用


  共有8081人关注过本帖树形打印

主题:FPGA技术及其与其他技术的综合运用

美女呀,离线,留言给我吧!
wangxinxin
  1楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:青蜂侠 帖子:1393 积分:14038 威望:0 精华:0 注册:2010-11-12 11:08:23
FPGA技术及其与其他技术的综合运用  发帖心情 Post By:2010-11-12 14:22:05

摘 要:介绍FPGA的特点及开发过程,阐述了其与单片机和DSP相结合的技术。<!--摘要CH(结束)←--><!--→关键CH(开始)-->
  关键词
:单片机;数字信号处理器;现场可编程门阵列
<!--关键CH(结束)←--><!--→标题EN(开始)-->


<!--关键EN(结束)←-->
1 FPGA概述
1.1 FPGA的基本结构

  FPGA是高密度的PLD,其集成度可达3万门/片以上。图1是Xilinx公司的FPGA,它由三种编程单元和一个用于存放编程数据的静态存储器构成。这三种可编程单元是IOB(Input/Output Block可编程输入/输出单元),CLB(Configurable Logic Block可编程逻辑单元)和IR(Interconnect Resource互连资源)。它们的工作状态全部由编程存储器中的数据设定。CLB提供用
户所需要的逻辑功能。由于这三部分都是可编程的,所以改变芯片的功能除了靠改变各CLB之间的连接,也可以通过改变各个CLB所实现的逻辑功能来完成。 FPGA中的编程信息将存储在专用的静态RAM中;RAM触发器的每一位,存储一个编程信息。系统上电时,编程信息就由外部传入到这些存储单元中, FPGA就可以按照这些信息来形成内部的构造和连接,以实现所需要的功能。

1.2 FPGA编程开发
  FPGA中有大量实现组合逻辑的资源,可以完成较大规模的组合逻辑电路设计,而其中相当数量的存储电路(触发器)又可完成复杂的时序逻辑电路设计。通过使用各种EDA工具,用原理图或硬件描述语言,可以很方便地将复杂的电路在FPGA中实现。像典型的数字系统分频器,数字钟,数字频率计等等都可用 FPGA完成。
  FPGA的开发系统包括软件和硬件两个部分。开发系统软件指专用的编程语言和相应的汇编程序或编译程序。开发系统硬件部分包括计算机和编程器。编程器是对FPGA进行写入和擦除的专用装置,能够提供写入或擦除操作所需要的电源电压和控制信号,并通过串行接口从计算机接收编程数据,最终写进FPGA之中。
  90年代初Lattice首先推出了一种新型可编程逻辑器件———ISP—PLD(In-SystemProgrammable PLD在系统可编程逻辑器件),将原属于编程器的写入/擦除控制电路及高压脉冲发生电路集成于FPGA中,这样,在编程时就不必使用编程器,而且由于只需外加5V电压,所以不必将FPGA从系统中取出,从而实现“在系统”编程。
  FPGA设计主要分为设计输入、综合、功能仿真(前仿真)、设计实现、时序仿真(后仿真)、配置下载六个步骤。设计输入包括硬件描述语言HDL、状态图与原理图三种方式。对于简单的设计,可以使用原理图或A-BEL进行设计;对于较复杂的设计,可以用行为描述语言(如VHDL语言)和原理图或二者结合进行设计。功能仿真用来验证设计的逻辑功能;在设计的过程中,对部分功能或整个设计均可进行仿真。设计实现是指从设计输入文件到位流文件(只对FPGA而言)。在该过程中,经软件自动地对设计文件进行映射、布局、布线,产生相应的位流数据文件。时序仿真是在设计实现后,针对器件的布局、布线方案进行时延仿真和分析定时关系。

2 FPGA与单片机
  FPGA等大规模可编程逻辑器件可以取代现有的全部微机接口芯片,实现微机系统中的存储器、地址译码等多种功能。利用FPGA可以把多个微机系统的功能电路集成在一块芯片上。
  在功能上,单片机与FPGA有很强的互补性,单片机具有性能价格比高、功能灵活、易于人机对话以及良好的数据处理等特点,而FPGA具有高速、高可靠性以及开发便捷、规范等优点。单片机可用总线方式和独立方式与FPGA接口。由于其通信工作时序是纯硬件行为,对于MCS-51单片机,只需一条单指令就能够完成所需读写时序,也就是最常用的MOV@DPTR,A和MOVA,@DPTR。另外,在FPGA中通过逻辑切换,可使单片机与SRAM或ROM接口,这种方式类似于微处理器系统的DMA工作方式,首先由FPGA与接口的A/D等器件进行高速数据采样,并将数据暂存于SRAM中,采样结束后,通过切换,单片机可以与SRAM以总线方式进行数据通信。
  目前许多实验电路板都将FPGA与单片机有机地结合在一起,从而可以完成许多复杂的设计任务。通常单片机负责键控、显示、计算、通信、简单控制和系统协调,而FPGA负责高速、高精度和高稳定性等指标的实现,也就是说,由单片机负责功能上的设计,FPGA负责指标上的设计。图2就是一个典型的单片机与 FPGA通信的例子,通过EDA设计(原理图或硬件描述语言)和单片机汇编语言或C语言的设计,由PC机发命令码给FPGA,并将FPGA系统上测得的频率显示在PC机的屏幕上。这里的单片机起的是通信桥梁作用。


3 FPGA与DSP
  数字信号处理(DSP)在许多领域有着广泛的用途,如雷达、图像处理、数据压缩、数字电视和数字通信机等。一般情况下,采取两种方案进行数字信号系统的设计,一种是用固定功能的DSP器件或FPGA器件,另一种是采用DSP处理器,如TMS320微处理器。
  两种方法中,固定的DSP器件或FPGA器件可以提供很好的实时性能,但其灵活性较差,不适合在实验室或技术开发环境中的应用;DSP成本低且速度较快,但由于软件算法在执行时的顺序性,限制了它在高速和实时系统中的应用。目前,大规模可编程逻辑器件为数字信号处理提供了第三种解决方案,FPGA与DSP 相结合,能够在集成度、速度和系统功能方面满足DSP应用的需要。由于FPGA器件内部提供了RAM,双口RAM和FIFO—RAM,所以利用FPGA设计DSP系统,同时具备DSP处理器的灵活性和固定功能的DSP芯片的实时性。
3.1 DSP的特点及其与FPGA相比的优劣
  DSP是一种具有特殊结构的微处理器。其内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速实现各种数字信号处理算法。DSP适用于条件进程,特别是较复杂的多算法任务。在运算上,它受制于时钟频率,而且每个时钟周期所做的有用操作的数目也受到限制。从效果上看,采用DSP软件更新速度快,可靠性、通用性和灵活性都很强,但DSP受到串行指令流的限制。
  FPGA当中有很多自由的门,将这些自由的门连接起来可以形成乘法器、寄存器以及地址发生器等等。这些只要在框图级完成,许多块可以从简单的门到FIR(有限冲激响应)和FFT(快速傅立叶变换)在很高的级别完成。但它的性能受门数及运算速度的限制。
  超过几MHz取样率,一个DSP仅仅能完成对数据非常简单的运算,而这样简单的运算用FPGA将很容易实现,并能达到很高的取样速率。在比较低的取样速率时,整体上很复杂的程序可以使用DSP,而这对于FPGA是很困难的。
  在实时视频处理的应用中,由于其对系统要求极高,只具备简单功能的DSP无法完成。而FPGA利用并行处理技术实现视频处理算法,并且只需单个器件就能完成期望的性能。在中值滤波器的应用中,DSP处理器需要67个周期执行算法,而FPGA只需工作在25MHz频率下,因为FPGA能并行实现该功能,实现上述功能的DSP必须工作在1.5GHz频率下。在此应用中,FPGA解决方案的处理能力可达到100MHzDSP处理器的17倍。
3.2 FPGA+DSP方案的运用
  上面提到,运用DSP受到串行指令流的限制,而利用FPGA的算术逻辑单元与外部存储器相结合,可以解决线路板面积有限和有些数据处理需要大量存储空间的矛盾;利用FPGA并行流水的特点解决了数据实时处理和有限DSP处理速度之间的矛盾,而FPGA运行模式的控制和接收上位机的命令、向上位机输出目标数据的工作由DSP来完成,从而达到了系统的最佳配置。图3是FPGA+DSP结构典型的例子。

  FPGA+DSP的最大特点是结构灵活,有很强的通用性,适用于模块化设计,从而能够提高算法的效率;又由于其开发周期较短,系统易于维护和扩展,适用于实时信号处理。在实时信号处理中,低层信号预处理算法所处理的数据量大,对处理的速度要求高,但运算结构相对比较简单,适用于FPGA硬件实现,这样同时兼顾速度和灵活性。高层处理算法的特点是所处理的数据量较低层算法少,但算法的控制结构复杂,适用于用运算速度高、寻址方式灵活、通信机制强大的DSP 芯片来实现。
  应用将一些能实现基本数字信号处理功能的DSP模块嵌入FPGA的芯片是数字电路设计的一个趋势。有些公司已经计划把基于ASIC的微处理器或DSP 芯核与可编程逻辑阵列集成在一块芯片上。FPGA提供的性能已经超过1280亿MAC/s(乘法累加运算/秒),大大高于传统的DSP性能。 QuickLogic公司推出的QuickDSP系列,提供了嵌入式DSP构件块和可编程逻辑器件。除了以前的可编程逻辑和存储模块,还包括专用的乘加模块;这些合成的模块可以实现DSP功能。

[此贴子已经被作者于2010-11-17 11:59:54编辑过]

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

FPGA技术及其与其他技术的综合运用








签名