探析FPGA技术在电子设计中的相关应用

时间:2022-10-22 03:15:34

探析FPGA技术在电子设计中的相关应用

摘要随着电子技术的飞速发展,对各种硬件资源、电子产品的可扩展性、可靠性的要求也逐渐提高。FPGA作为一种可编程的逻辑器件,具有高容量、高性能、低成本等优点,在电子设计中应用日益广泛。基于此本文对FPGA技术在电子设计中的相关应用进行探讨。

【关键词】探析FPGA技术 电子设计 相关应用

1 FPGA技术简介

FPGA技术是在CPLD、GAL、PAL等编程器件的基础上发展而来的,作为专用集成电路领域中的一种半定制电路而出现的,解决了定制电路的不足,克服了原有可编程器件门电路数有限的缺点。

FPGA基本的逻辑功能是由内部进行规则排列的逻辑单元阵列(LCA)来完成的。逻辑单元阵列主要由输入输出模块(IOB)、可配置逻辑模块CLB、内部连线(Interconnect)构成。电子设计人员根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,实现所需要的逻辑功能。

随着超大规模集成电路技术及计算机辅助技术的发展,FPGA的容量和性能也不断提高,FPGA内部集成的片内外设也越来越多,可集成SRAM、Flash、AD、RTC、CPU硬核等。现在FPGA已被用于实现大的逻辑电路甚至整个系统。

FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。简单的FPGA设计主要包括以下几个方面:

1.1 功能定义/器件选型

在FPGA项目开始设计之前,首先要根据FPGA器件在电子系统中的功能进行系统功能的定义和模块的划分;然后根据任务要求,如系统的功能和复杂度,对工作速度和器件自身的资源、成本、以及连线的可布性等方面进行权衡,选择合适的设计方案和合适的器件类型。

1.2 设计输入

指的是使用原理图输入、状态图输入、流程图输入、硬件描述语言HDL等方法对设计的电路进行描述并输入EDA工具的过程。常用的硬件描述语言是Verilog / SystemVerilog,其次是VHDL。设计输入编辑的EDA工具有很多,常用的EDA软件ModelSim、Visual HDL、ActiveHDL、Xilinx ISE、Quartus II 都有针对HDL的编辑工具。

1.3 功能仿真

功能仿真是最基本的仿真验证,主要针对实现前的设计文件。功能仿真的主要是验证设计文件的逻辑功能是否正确、满足设计要求。此时的仿真没有延迟信息,仅对初步的功能进行检测。仿真前,要先利用波形编辑器或HDL等建立仿真激励文件,仿真结果将会生成报告文件和输出信号波形,从中便可以观察各个节点信号的变化。如果发现错误,则返回设计修改逻辑设计。

1.4 综合设计

综合就是将设计输入依据给定的硬件结构组件和约束控制条件进行编译、优化、转换盒综合,最终获得门级电路甚至更底层的电路描述网表文件。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA布局布线软件进行实现。目前,各个FPGA厂家都推出了自己的综合开发工具。

1.5 实现(适配)

实现是指利用工具把综合后生成的网表文件针对具体目标器件进行逻辑映射,配置到具体的FPGA芯片上。主要包括底层器件配置、逻辑分割、逻辑优化、逻辑布局布线等过程。

实现(适配)结束后,可以利用其产生的仿真文件作精确的时序仿真,同时产生可用于编程的文件。

由于开发商对产品内部的结构非常了解,通常要选择生产商开发的布线工具。比如在Sie集成环境中,可以使用FlowEngine来进行布局布线。

1.6 时序仿真

时序仿真也叫后仿真,时序仿真是接近真实器件运行特性的仿真,是必不可少的仿真验证形式。时序仿真通过计算各信号之间的时间延迟,可以有效地分析设计中可能存在的竞争和冒险,从而确定设计的实际工作性能,将芯片的具体情况准确的反映出来。时序仿真使用的仿真工具和综合前仿真工具是一样的。

1.7 编程下载

在时序仿真和功能仿真都无误的基础上,将实现(适配)后的设计文件,通过编程器或编程电缆下载到FPGA芯片或配置芯片中。

1.8 硬件测试

将含有FPGA芯片的硬件系统进行统一测试,验证FPGA设计在整个在电路中工作情况,以排除错误,改进设计,有效的降低资源的浪费以及电路逻辑搭配功能错误的概率,提高电子设计的速度。同时这也是FPGA在电子设计中得到广泛使用的一个重要原因。

2 在电子设计中FPGA技术的应用重点

随着半导体技术不断的发展,FPGA的复杂程度也逐渐提高,所具有的功能也越来越完善,芯片体积也逐渐缩小,正逐渐成为复杂的数字化电路设计的重点。在电路设计中,FPGA技术主要在下面几个方面应用:(1)通过对FPGA内部资源进行利用,来达到一些芯片的功能,从而减少系统中的芯片,节约系统的成本。(2)作为系统芯片的驱动。(3)可以利用FPGA编写数字滤波器、胶合逻辑、计算密集算法加速器、FFT等,同时也可以利用IP内核来提升系统的稳定性,降低工作量,对很多的数字信号进行处理。(4)在时序上对数据流进行综合管理,尤其是进行数据存储等方面的应用。

3 电子设计中FPGA技术的实际应用

FPGA技术的不断发展为电子设计技术提供了成本低廉、设计灵活的解决方案。当前,国内外的汽车电子设计大都是基于FPGA来完成的。由于FPGA的处理速度非常快,在汽车信息娱乐系统使用非常广泛,比如影音视频播放功能、GPS导航系统、FM收音机、车载电视功能等。本文对FPGA在汽车方向盘测试仪电子设计过程中的实际应用进行介绍。如图1所示。

3.1 FPGA在ADC模块中的运用

由于精准度比较高、运行速度比较快的A/D芯片对电源的噪音很敏感,并且在连入数字系统后,精准度降低。为了解决这个问题,可以使用差分驱动器、光电耦合器对数字系统和ADC芯片进行隔离。不仅提升了A/D采样的精确度而且,A/D采样的噪音也降低了很多,数字信号和隔离模拟框图如图2所示。在ADC驱动模块中FPGA主要有下面几个方面构成:(1)ADC采样数据暂存区域;(2)ADC收集控制模块;(3)ADC数据存储区域;(4)ADC滤波数据修正模块。

3.2 在角度信号收集模块中的运用

角度信号收集模块主要是使用FPA器件和光电编码器进行设计的,利用四倍频、辨向和计数的方法对契合方向盘角度测量的精准度进行了提升,达到了汽车方向盘角度高精度测量的目的。角度信号收集模块主要是为了处理光电编码器输出的信号,主要有判向信号、四倍频信号、24位计数器,数据存储、清零、数据锁存等。FPGA的角度测量功能结构如图3所示。通过利用光电编码器,在输出脉冲不断的增加下,分辨率也有了比较的大的提高。

3.3 在接口控制模块中的应用

使用总线的方法进行MCU和FPGA通讯,使用这种方法把MCU总线转变成分离的数据总线和地址,总线通信方法具有编程容易、传播速率高、控制稳定,而且通过在FPGA中进行逻辑切换,更加便于ROM或RAM和MCU之间进行数据通讯,将MCU数据处理的能力充分的发挥了出来。

3.4 使用FFT算法处理ADC信号

在收集和处理ADC信号的过程中,使用FFT(快速傅立叶变换)对信号进行分析。FFT算法是利用FPGA自带的IP核来进行设计的,主要由IP核和接口两个部分构成,接口的主要作用是将对应的存储区域的A/D转换数据传送到IP核模块,然后利用FFT对信号进行分析处理,将变换后的结果送到对应的存储区域。FFT计算结果的精准度主要是由输入数据、精准度、运算中的位数来决定的,另外和数据表现的基本形式也有着较大的联系。通常情况下,浮点要高于定点的精准度。在定点计算的过程中,存储器数据的位数越高、数据计算的准确度就越高,可以利用逻辑单位和存储单元也越多。在实际使用的过程中,要参考具体的情况选择资源和精确度。

4 在电子设计中使用FPGA需要注意的地方

在电子设计中使用FPGA主要是为了对系统的稳定性进行提升,对系统的性能进行改善,对外界的干扰进行抑制,确保设计的合理性。在设计的过程中,主要需要注意下面几个方面的问题:(1)消除毛刺。为了降低FPGA设计电路的过程中,毛刺的出现概率,降低逻辑错误,提高电路的稳定性,要对设计进行改变,对毛刺出现的原因进行控制,从而降低毛刺的出现概率,使结构更加的科学合理。(2)时序设计的注意事项。在设计时序的过程中,要对设计的时钟速率进行考虑,尽可能使用全局时钟来对时钟信号进行控制,使用一个时钟来对数据进行寄存,不使用全局网络的时候,要将约束条件加入到设计中。(3)由于代码推断即不可靠,又很麻烦,要多使用自带的Core genrate。(4)仿真方面的设计。在进行仿真设计的过程中,要对调试工具进行充分使用,在进行功能仿真的过程中,要重点考虑功能的稳定性和可靠性,对各方面的初始情况进行考。(5)对设计功能块进行层次化。要先对顶层的功能块进行设计,然后对底层的功能块进行设计,通过对设计功能进行层次化,可以使得设计调试起来更加容易,可读性更好。

5 结语

在电子设计中应用FPGA技术,在设计完成前,通过短时间内设计和修改FPGA内部逻辑,不仅有效的提升了产品的性能,而且也降低了产品开发的时间。随着FPGA技术的高速发展,FPGA产品的规模越来越大,集成度越来越高,价格不断降低,FPGA技术必将在电子设计中得到越来越广泛的应用。

参考文献

[1]褚振勇,翁木云.FPGA设计及应用[M].西安:西安电子科技大学出版社,2002.7:39-40.

[2]石英,李新新,姜宇柏.ISE应用与开发技巧[M].北京:机械工业出版社,2006.10:131-132.

[3]张雅珍,于映.基于VerilogHDL语言的DPLL的数控振荡器设计[J].国外电子测量技术,2006,25(1):21-23.

[4]任晓东,文博.CPLD/FPGA高级用用开发指南[M].北京:电子工业出版社, 2003.6:42-49.

[5]潘松,黄继业.EDA技术使用教程[M].北京:科学出版社,2002.10:16-20.

作者单位

天津市安中通讯电子有限公司天津市300300

上一篇:公文传输系统在对外企业的应用 下一篇:解析汽车上机电技术的典型应用