一种以一种以LabVIEW FPGA模块来设计模块来设计IP核核
对于利用LabVIEW FPGA实现RIO目标平台上的定制硬件的工程师与开发人员,他们可以很容易地利用所推荐
的组件设计构建适合其应用的、可复用且可扩展的代码模块。基于已经验证的设计进行代码模块开发,将使现
有IP在未来应用中得到更好的复用,也可以使在不同开发人员和内部组织之间进行共享和交换的代码更好服
用。 LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环
境,但是LabVIEW与其他计算机语言的显着区别是:其他计算机语言都是采用基于文本的语言产生代码,而
LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。图形化的程序语言,又
对于利用LabVIEW FPGA实现RIO目标平台上的定制硬件的工程师与开发人员,他们可以很容易地利用所推荐的组件设计
构建适合其应用的、可复用且可扩展的代码模块。基于已经验证的设计进行代码模块开发,将使现有IP在未来应用中得到更好
的复用,也可以使在不同开发人员和内部组织之间进行共享和交换的代码更好服用。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与
其他计算机语言的显着区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编
写程序,产生的程序是框图的形式。图形化的程序语言,又称为 “G” 语言。使用这种语言编程时,基本上不写程序代码,取而
代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面
向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用
它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
代码模块代码模块
任一项软件开发工作均包括函数、子例程、对象和代码模块,以及其他较大架构的基础构建模块的开发。当设计一个应用
时,各个函数与操作均被识别和实现。然后,这些构建模块被组合与集成以形成更大的应用。通过长期开发不同应用的过程,
一个开发小组或团队将创建表示常见操作的代码模块库,并对其进行复用以更快速地构建未来的应用。
每种编程语言以及某些情况下的编程环境都有一个优选的代码模块设计模型,以便改进代码模块的实现与集成。该优选设
计可以因具体的开发人员而异,但通常一个开发组会根据共同的需要和考虑确定一组共享的设计准则。作为一种编程语
言,LabVIEW自身拥有一组供世界各地的程序人员开发子VI使用的指导方针,以便子VI可以容易理解、而且运用于不同应用
并由不同开发人员维护。LabVIEW是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,
视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足 GPIB、VXI、RS-232 和 RS-485 协议的硬件及数据采集
卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX 等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可
以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。LabVIEW FPGA,作为LabVIEW的一个子
集,拥有其自身的一组用于利用FPGA特定行为构建代码模块(子VI)的指导方针,以便它们可以有效运用于广泛的基于
FPGA的应用。
可复用代码复用代码——知识产权知识产权
FPGA平台上的可复用代码模块通常称为IP(知识产权)核——从传统芯片设计长时间演化来的名称。在LabVIEW FPGA
中,这样的IP核由常用于LabVIEW编程和LabVIEW工具集的子VI组成。为使这样的子VI可以与不同的重叠需求和架构方便地
协同使用,我们需要遵循某些基本指导方针,以确保子VI广泛可用,而不是专为一项特定应用而优化。
为进一步促进和改善LabVIEW FPGA IP的复用,代码模块应当除子VI源码以外还包括一些组件。这些组件包括文档、测
试代码和使用IP的基本范例。
在LabVIEW FPGA应用中,IP代码模块典型地用于一些操作的执行,如通信协议(如SPI、I2C等)的编码与解码、数字
信号处理、滤波、控制算法的实现、传感器信号(如PWM、积分信号)的编码/解码和基准标定等。如果代码模块子VI使用了
任何局部变量存储状态信息,那么该子VI应当设置为可重入。这样将在编译过程中创建多个FPGA之上的子VI的实例,每个实
例都拥有其专用存储空间用于存放状态信息。
开发LabVIEW FPGA IP的最基本指导方针便是,开发不仅独立于其主应用、而且对其主应用不产生影响或不会有显着要
求的代码模块。IP代码模块与其主应用间的唯一需求或依赖性应当是子VI连接面板的接口。该文档将阐述如何在LabVIEW
FPGA IP中创建这样的调用独立的IP子VI,并展示一些相关范例。
I/O与资源的独立性与资源的独立性
为使LabVIEW FPGA IP便于应用于不同的应用,它应当独立于任何输入/输出通道(I/O)或其他硬件资源,如FPGA块存
储器。根据具体的应用,最终应用可以使用不同的RIO板卡或其他FPGA目标平台。
例如对于一个PWM输出IP模块,应用开发人员将为PWM输出信号选用某条数字输出线。在此例中,该PWM IP模块应当
产生并输出信号的当前状态。开发人员将把在更高层次VI中赋值给I/O资源。该I/O资源未嵌入在IP代码模块的框图中。
图1:一个调用PWM输出IP代码模块(子VI)的应用VI的框图
评论0
最新资源