首页 » labview » 技术文章

NI LabVIEW FPGA模块新特性

2014-01-14

核心提示:概览 NI LabVIEW 2011 FPGA模块包括众多新特性,可以帮助您更快速的开发应用于工业嵌入式测量和控制的自定义逻辑。 目录 1.

概览
 
NI LabVIEW 2011 FPGA模块包括众多新特性,可以帮助您更快速的开发应用于工业嵌入式测量和控制的自定义逻辑。
 
 
目录
 
 
 
更高效的开发
 
可以更快、更高效地开发自定义逻辑和主机VI接口代码。通过深入分析在开发过程中正常编辑时所进行的操作,NI集中优化了时间密集型操作——从操作主机接口功能到打开和关闭现场可编程门阵列(Field-Programmable Gate ArrayFPGAVI文件。
 
 
 
图1. LabVIEW 2011 FPGA模块包含的优化项目可以通过减少普通编辑时操作来帮助您更快地开发自定义逻辑,
 
 
 
 
简化赛灵思CORE Generator IP获取
 
您现在可以通过直接从LabVIEW FPGA面板拖放可配置的赛灵思CORE Generator IP函数到程序框图窗口。通过使用在LabVIEW 2010 FPGA 模块中介绍过的IP集成节点,使得集成现有的通信、数学运算甚至图像或视频处理IP更为简化。
 
 
 
图2、通过新式赛灵思CORE Generator IP面板,您可以更轻松的获取现有的FPGA IP,并可用于加速您的开发进度
 
 
 
周期精确仿真扩展选项
 
除了使用Mentor Graphics公司的ModelSim工具来执行周期精确LabVIEW FPGA应用仿真,您现在可以使用被包括在LabVIEW 2011 FPGA模块中的Xilinx iSim环境进行仿真。而且,在使用ModelSim仿真进行工作时,您可以使用LabVIEW来快速开发测试平台,使用联合模拟来验证逻辑信号传播,而不是直接使用硬件描述语言(Hardware Description LanguageHDL)进行工作。
 
 
 
 
参考资料:以往版本中LabVIEW FPGA模块特性
 
LabVIEW 2010 新特性
 
IP集成节点
 
IP集成节点代替了HDL接口节点作为引入第三方IP的方法,可以通过将该节点连接到现有的VHDL或使用赛灵思Core Generator的内置兼容性来实现这一功能。该节点同时为IP自动创建了仿真模型。有鉴于此,您可以在开发计算机上仿真FPGA框图,即便它们具有CoreGen或者直接VHDL。只要您配置了该节点,您可以像使用其他具有输入和输出接口的LabVIEW节点一样使用IP
 
 
 
Compile Farm或云编译软件和生成规范的新编译特性
 
LabVIEW FPGA现在使用生成规范来保持特殊VI的编译属性。这可以帮助您组织编译文件,轻松地在不同的赛灵思工具配置下进行实验。NI还发行了一个工具包,可以用于创建多机器的Compile Farm来从开发设备上卸载FPGA编译文件。NI正在尝试将这种技术与云技术结合起来。LabVIEW FPGA云编译服务,这个在LabVIEW 2010中还属于测试功能,可以帮助您轻松使用高端专用机来进行冗长的FPGA编译。
 
 
 
使用ModelSim进行周期精确仿真
 
LabVIEW 2010可以导出LabVIEW框图到一系列文件,从而使您可以使用现有的仿真软件进行分析。使用这些方法,您可以运行您的LabVIEW FPGA系统的周期精确仿真。注意此功能是针对对ModelSim和其他FPGA设计工具使用有经验的开发者的。
 
 
新增和改进IP
 
LabVIEW 2010还为FPGA IP增加了新的统计学功能,如均值、方差和标准差,一项新的复杂乘法,矩阵向量乘法,以及针对DSP48E MAC块的完整应用。新的内存IP包含了双端口读取和外部DRAM支持。最后,改进还包括使用配置向导代替了XML创建和VHDL通用支持。
 
 
动态主机接口连线
 
由于以往的FPGA接口连线被严格定义到bitfile或者VI,所以FPGA接口很难进行重用。而对于LabVIEW 2010NI已经创建了动态接口连线,使您可以轻松的重用您使用FPGA接口VI构建的子VI。注意这些FPGA VI仍然是基于名称连接到寄存器(前面板控件)的。您需要确保这些名称在使用该功能时同样可以重用。另外,如果需要向前兼容,您还可以使用传统的严格自定义连线。
 
 
LabVIEW 2009 新特性
 
早期大小和速度资源评估
 
一大部分用户反馈要求在等待完整编译前即可对FPGA资源使用进行更多的评估。在LabVIEW 2009中,在通过综合(synthesis步骤后,编译器便可显示出您设计方案的早期大小和速度评估,并在该报告可以阅读时给您提醒。
 
 
使用关键路径高亮显示进行时序冲突调试
 
当发生时序冲突时,通常叫做不符合时序要求,诊断关键路径、通过更有效编程和增加流水线级次来减少时间限制就会很困难。现在,时序冲突时将会弹出一个窗口来显示每个VI的关键路径,并高亮显示FPGA程序框图中该VI的位置。这个功能甚至可以检查子VI以发现时序冲突的源头。
 
 
新增和改进的高处理速度数学和信号处理IP
 
新增高处理速度数学VI提供了许多新的功能,如正弦函数、余弦函数和指数等,通过采用高速握手协议从而允许这些功能可以在单周期定时循环中使用。您不仅拥有了更多数学函数功能,而且您可以在高处理速度信号链中将它们和其他功能如加窗,FFT和重采样结合使用。
 
 
主机集成特性
 
LabVIEW2009中在主机方面有两个重要特性。一是NI导出了C语言接口使您可以在使用C语言的硬件上通过运行LabVIEW FPGA程序进行交互。该功能包括读写寄存器,直接存储器访问(Direct Memory AccessDMA)以及中断操作。二是LabVIEW 2009增加了针对确定FPGA IP功能的函数VI,例如有将原始FFT数据转换为频谱图的VI,为FPGA滤波VI设置滤波系数的VI,以及获取频率、幅值和相位等信息并返回值用于信号生成的VI
 
 
LabVIEW 8.6 新特性
 
增强型行为仿真
 
为了更有效的进行开发,您可以使用增强的行为仿真在开发计算机上运行代码以及在编译前验证代码功能。此外,在LabVIEW 8.6中,您可以使用LabVIEW程序来确定到现场可编程门阵列(Field Programmable Gate ArrayFPGA)中的输入I/O节点的测试向量或交互值。获取FPGA行为验证和可视化结果的输出信息,同时在开发计算机上运行作为FPGA主机,并获取在仿真FPGA和主机代码之间的仿真寄存器和DMA传输信息。使用这些新功能,您可以为FPGA代码创建一个测试平台,并无需经常编译来校验逻辑即可仿真完整系统。
 
 
FFT和其他新增IP
 
LabVIEW 8.6中,您可以在FPGA中实现加窗快速傅里叶变换(Fast Fourier TransformFFT)功能。这是需求最多的功能之一,而且NI还提供了可定制IP核,它可执行FFT、反FFT、复合二进制文件排列和复合吞吐量设置。NI还推出了合理的重采样、除法运算、平方根、自适应滤波器和定点溢出处理功能。
 
 
定点支持
 
几乎全部的FPGA功能输入现在都支持定点数据类型,包括对DMA、内存、滤波器、比例积分微分控制(Proportion Integration DifferentiationPID)、FFT和所有算术运算的支持。此外,定点数据类型还提供了一个添加对连线传输数据溢出位进行处理的选项。NI未来将会继续加强定点支持来实现资源约束目标。
 
 
组件级IP
 
CLIPComponent-Level IPCLIP)是一种导入并使用采用硬件描述语言(Hardware Description LanguageHDL)编写的外部IP的新方法。使用CLIP方法实例可与LabVIEW框图并行运行,而且您可以通过用户自定义I/O节点与它们进行通信。基于一些硬件指标,您可以使用CLIP来直接与I/O引脚进行交互。CLIP功能使FPGA平台变得更开放,可以兼容所有类型IP,这将更有利于并行运行,而不是目前HDL接口节点运行的那种数据流方式。
 
 
LabVIEW 8.5 特性
 
FPGA项目向导
 
新增的FPGA项目向导将帮助您结合FPGA目标和I/O配置来创建完整的LabVIEW项目,并为编程准备就绪。因为可以直接链接到现存的FPGA向导,所以您可以为数字和模拟I/O、计数器和正交编码器测量快速的生成功能代码。由于新增了DMA选项和主机代码生成,FPGA项目向导功能大大增强了。
 
 
 
控件、滤波器和信号生成IP
 
LabVIEW FPGA模块8.5版本包括了在FPGA面板中新增的IP模块,同时它增强了现有IP以改进FPGA的资源利用。
 
控件——FPGA按比例积分微分(Proportional Integral DerivativePID)模块包含在LabVIEW PID控制和模糊逻辑工具包中,它现在可以进行多通道工作,因此您可以输入一个通道数组到FPGA相同的PID逻辑中。这一增强对高通道数应用尤为重要。针对1M门目标可能通道数目从8个到256个。此外,单通道标准比原来快三倍,并且占用FPGA资源比原来低20%
 
滤波器——所有的滤波器同样都兼容多通道应用。此外,LabVIEW FPGA包括新的陷波滤波器,舍去了现有的Butterworth高通和低通滤波器。
 
信号生成——除了现有的正弦函数生成器,LabVIEW FPGA现在还提供了方波生成器和噪声生成器(包括高斯噪声和白噪声)。
 
 
模块化和代码重用特性
 
I/O名称控件——I/O节点、方法和属性放入子VI中,以通过连线来指定每一项的具体设置。
 
时钟控件——通过连线具体指定在特殊单周期定时循环中使用哪个时钟,如板载时钟或衍生时钟。
 
 
增强型反馈节点——在程序框图任意位置放置反馈节点来避免循环中的某些内容。反馈节点可以在状态存储和流水线任务重发挥重要作用,现在它可以在任何位置工作,包括子VI中。
 
 
LabVIEW状态图模块
 
NI现在提供了附加的方法来进行FPGA图形化编程。许多设计者更愿意使用状态图来表征他们所想要构建的系统。使用这个支持LabVIEW FPGA的新模块,设计者们不仅可以使用状态图来表征基于FPGA的系统,还可以通过相同的视觉范例进行编程。
 
 
对定点数据类型的首创性支持
 
LabVIEW中提供了一种新的定点数据类型,它对FPGA编程尤其有用。首先,LabVIEW FPGA仅支持整数,但是结合新型的定点数据类型,您可以将分数和任意位宽的数据类型引入到FPGA编程中。LabVIEW 8.5的定点支持功能支持一小部分的原始数学和比较函数功能。未来的发行版将扩展这种重要数据类型的支持范围。
 
 
LabVIEW 8.2 新特性
 
FPGA数学运算和分析IP
 
LabVIEW FPGA模块8.2版本提供了新的本地分析函数,以便于您对FPGA的一些常用的基本信号处理和控制功能进行代码重用。这些新增IP包括:
 
直流和均方根测量——计算直流(Direct CurrentDC)、均方根(Root Mean SquareRMS)、求和、均方差,和/或者信号的平方和。
 
Butterworth滤波器——通过使用可配置Express VIButterworth滤波器来对输入信号进行滤波。
周期测量——使用阈值交叉检测方法来计算均匀采样周期信号的周期。
 
 
FPGA向导
 
使用FPGA向导,您可以为您的智能数据采集应用自定义FPGA 的输入输出端口和时序逻辑。使用这种基于配置的向导,您可以在您的FPGA设备和主机VI之间选择定时和同步。在选择好时序后,您可以配置您的模拟、数字、计数器和正交编码器的I/O。一旦您已经配置过I/O,您就可以保存您的设置并产生基本的FPGA代码及主机代码。您可以结合附加代码来完成您的应用功能,如控制运算、数据记录和数据网络。
 
 
新增内存VI
 
通过使用新增的内存读写接口,您可以访问1M门宽设备的所有80KB内存和3M门宽设备的190KB内存。您可以使用内存来为波形生成或数据记录存储数据,而无需采用使用FPGA门效率不高的矩阵。
 
 
LabVIEW 8.0 新特性
 
LabVIEW项目
 
使用LabVIEW项目,您不仅可以在LabVIEW windows中、LabVIEW FPGA模块、LabVIEW实时模块以及其他LabVIEW模块中同时打开VI,还可以开发LabVIEW FPGA应用。如下所示,您可以使用LabVIEW项目来创建和管理所有的FPGA资源,包括:
·  VIs
·  FPGA I/O
·  自定义时钟
·  CompactRIO配置
      FPGA FIFOs
 
 
 
DMA数据传输
 
LabVIEW FPGA模块8.0DMA性能去除了FPGA设备和主机之间的吞吐量限制。当FPGA模块在可重构I/OReconfigurable I/ORIO)设备上时,其运行速率可高达20MHz,不考虑直接内存读取其最快数据流速度接近1MB/sLabVIEW FPGA模块8.0版本实现了对所有美国国家仪器R系列和CompactRIO设备的直接内存读取,相对于其他实现方式,如使用中断请求,这种方法在FPGA与主机通信应用中数据流速度起码提高了20倍。
 
DMA在主机上提供了一个数据到内存的直接链接。依赖于主机处理器来从设备传输数据到主机往往会导致延时,并造成数据传输瓶颈。使用中断请求同时消耗处理器时钟周期,并增加了主机CPU的总体负载。使用LabVIEW 8,您可以绕过CPU而获取更有效的设备到主机和主机到设备的数据传输,从而为所有应用创建更高性能的数据采集系统。
 
使用DMA功能只需创建两个内存缓冲区——一个在FPGA设备的内存中,另一个在主机处理器的内存中——LabVIEW将会通过PCI总线高效透明的传输数据。LabVIEW FPGA模块8.0版本通过FPGA FIFO来对DMA内存进行写入和读取操作,并在主机上使用FPGA调用方法来从主机内存实现数据的创建、写入和读取。为了更好的应用,DMA显著增强了RIO硬件功能,如缓冲智能数据采集、通信设备数据流、车载数据采集以及在线机器状态检测。
 
 
拖放FPGA I/O
 
使用LabVIEW FPGA模块,您可以通过特殊设备的I/O函数快速访问RIO设备的I/0。(但是,文档中所提到的LabVIEW FPGA函数面板是专门针对FPGA执行目标的,并且所包含的函数只在针对FPGA设备或FPGA设备仿真器时可用。)LabVIEW FPGA模块使您可以在NI RIO硬件上对模拟和数字I/O进行直接的单点访问。使用LabVIEW FPGA模块8.0版本,您可以从LabVIEW项目窗口直接拖放I/O到您的FPGA VI程序框图。
LabVIEW FPGA模块提供了许多设备I/O函数,包括:
 
·    模拟输入
·    模拟输出
·    数字输入
·    数字输出
·    数字端口输入
·    数字端口输出
·    I/O方法节点
·    I/O属性节点
 
 
 
 
LabVIEW 7.1 新特性
 
单周期定时循环
 
LabVIEW定时循环结构在您指定的周期下执行一个循环。使用定时循环可以开发具有多速率定时性能、定时精确并可反馈循环执行生成信号或动态改变时序特性或多个执行优先级的VI。阅读更多有关定时循环的教程资料。LabVIEW FPGA单周期定时循环是一个可用于开发LabVIEW FPGA应用的专门的定时循环,它可以与手工编码的HDL编程一样有效(在速度和空间方面)。单周期定时循环与VHDL中的主频进程相似。循环中的所有LabVIEW代码都属于FPGA上的组合逻辑,其输入都是来自组件如数字输入函数、控件或者左移位寄存器,输出来自于数字输出函数、指示器和右移位寄存器。这使您可以轻松利用单周期定时循环实现标准while循环的功能。
 
单周期定时循环确保所有在循环内的代码都会在单个时钟周期(25ns)内执行。当单周期定时循环具有某些限制时,如确保循环内所有代码可以在单个时钟周期内执行完成,执行数字I/O并简化逻辑和信号处理就会变得非常高效。了解LabVIEW FPGA中有关单周期定时循环函数和I/O节点的资料
 
 
HDL接口节点
 
使用HDL接口节点,您可以将现有的HDL IP直接集成到LabVIEW FPGA VI中,并将这些代码视为LabVIEW中的一个单独的函数。然后您就可以在相同应用或其它应用中使用相同的函数来重用这些代码。如果您有需要在FPGA VI中使用的HDL代码块,您可以直接输入您的VHDL代码到HDL接口节点,或者使用指向外部的.vhd文件,而不用在LabVIEW中重写代码。
 
 
 

相关新闻

排行榜