通过LabVIEW FPGA加速嵌入式系统原型化的过程

技术分类: 可编程器件  嵌入式系统  | 2006-12-11
来源:今日电子 | NI中国市场工程师 汤敏

      FPGA配置工具的比较和选择

      目前有许多FPGA配置工具,有些工具需要VHDL或其他语言编码完成硬件定义,有些工具提供了图形配置环境,还有的工具允许你使用熟悉的工具编写软件,然后将代码下载到FPGA中。在选择哪种方式适合时需要考虑几个问题,其中一个考虑因素是你的背景。你是否是一个富有经验的硬件开发人员,并对FPGA的基本操作有深入的认识?如果是,就可以利用低级工具充分发挥你的经验并深入实地进行配置。也许你不是硬件工程师,但你是一位优秀的程序员并且能很容易掌握新的编程语言,那么你可能需要选择一个能够让你充分运用数据结构和程序细节进行编程的工具。另外一个可能是你既不是硬件专家也不是软件专家,但由于你对整个系统内在的理论或系统所投入的应用非常熟悉而来设计系统,如果是这种情况,那么应该选择一个可以让你以自己的语言进行设计的工具,而不必学习复杂的FPGA或硬件描述语言。

     

 另一个很重要的考虑因素是你计划设计的系统所要求达到的功能是什么。如果正在设计多个不同类型的系统,可能通用硬件设计工具最为适合。有许多人花费很多时间成为使用这些工具的专家,你也可以加入其中。如果想将涉及面缩小一些,那么也有工具去处理那些“常规”事务,而让你专注于可以自己的研究领域。举个例子,有许多工具可以帮助你很快开发出信号处理系统并将其发布到FPGA中去,也有一些经优化的工具专门用来增加测量和控制功能。

      还需要考虑系统配置的问题。要有怎样的尺寸?与PC连接吗?有的FPGA开发工具要求你开发FPGA周边所有硬件,另一些则要求使用一种特殊的内建有FPGA的电路板。对于后者,很多和板上其他资源如I/O与总线连接的工作都已做好,这样可以大大加快开发的进度,因为你无须关注诸如抗噪性、稳定时间和串扰之类的事项。如果系统需要大量与运行Windows或RTOS的PC连接,那么应选择那些能够跨平台的设计工具。

      LabVIEW FPGA图形化的开发环境

      过去,对于FPGA的编程需要深入掌握VHDL或者其他的低级设计工具,这需要一个较长的学习过程。通过LabVIEW FPGA,可以用图形化的环境来定义FPGA逻辑,使更多的工程师们不需要掌握VHDL或硬件设计的专门知识,就能够利用FPGA技术来进行系统的设计和原型化。

      另外,通过和LabVIEW中的一些工具包相配合,比如数字滤波器设计工具包,LabVIEW FPGA可以帮助工程师很快开发出信号处理系统并将其发布到FPGA中去,并提供了很多专门的测量和控制函数。比如,LabVIEW FPGA内置了多种函数,可用于闭环PID控制、5阶FIR滤波、一维查找表、线性插值、过零检测和正弦波的直接数字合成。

      对于系统的配置和I/O连接,工程师们可以利用LabVIEW FPGA和NI RIO设备来大大加快开发的进度,因为NI RIO设备将I/O与总线连接的工作都已做好,工程师们可以通过LabVIEW FPGA快速的定制I/O或控制硬件电路,而且这些电路所具有的性能媲美经厂商定义并优化的硬件性能。使用LabVIEW FPGA模块,工程师可以在运行Windows的主机上开发FPGA程序,然后用LabVIEW 进行编译并在硬件上运行这些代码程序。由于LabVIEW FPGA是用硬件来实现程序算法,它对于算法的执行性能要比基于软件的系统好得多。

      对于时间和并行性的支持

      和传统的文本编程相比,LabVIEW天生是一种并行结构的编程语言,非常适用于FPGA的并行结构,用以实现同步或异步的并行任务。考虑一个包含8PID控制循环的应用,如图1所示,应用程序将在FPGA上创建了2个完全独立的处理器,可以和FPGA时钟同步或异步的运行。甚至在同一个while循环或类似结构中,我们都可以通过对代码的流程线操作进行并行化来提高执行速度。将处理过程分割成数个片断,并在连续的循环中依次执行这些片断。如图1所示,我们将控制算法就分成了2个片断。while循环的每次执行都会更新PID控制输出,但是模拟输入(AI)及控制算法1,与模拟输出(AO)及控制算法2是并行执行的。结果显示,通过这种方式,算法的执行速度要比顺序处理的结构快得多。

0
0
(请您对文章做出评价)
1】【2】【3】【4
加载中

对文章的评论

更多评论

剩余字数:  

相关在线研讨会

我要参加

简化FPGA测试及调试

时间:2008-01-10 10:00:00-12:15:00
简介:随着FPGA的设计速度尺寸和复杂度明显增长,使得整个设计流程中的验证和调试部分成为当前FPGA系统的关键部分。获得FPGA内部信号…

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

  • 博客推荐

  • 论坛推荐

  • 在线研讨会