概览
为了提高软件开发效率,高效的代码重用至关重要。基于现场可编程门阵列(Field Programmable Gate Array, FPGA)硬件的可重复使用的代码模块通常被称为IP块。NI LabVIEW FPGA模块提供了许多方法访问IP模块,一些是在产品中,一些是ni.com/ipnet的网站上。尽管LabVIEW FPGA模块提供了许多内置的数学和信号处理函数,但通常情况下还是会使用现成的其它来源的IP库。 LabVIEW 2011版本的FPGA模块,包括了一系列由Xilinx建立的高性能的IP库,而且这个模块又针对Xilinx的FPGA硬件进行了优化。为了提高您开发FPGA项目的效率,请了解Xilinx CORE Generator IP面板更多的功能,以及如何使用它。
目录
5. 导入第三方IP的其它方法
7. 更多相关资源
XilinxCORE Generator 面板总结
基本函数
基本的IP面板包括高度优化的累加器、计数器和内存生成器函数。您还可以使用DSP48宏功能,通过配置向导生成自定义的IP。这个宏向导步骤将通过具体的指令、管脚连线和接口配置,一步步教您对DSP48进行自定义。所以您无需手动配置这些复杂参数,就可以使用DSP48的强大功能。

图1. 使用DSP48宏功能,可以快速配置和生成一个针对LabVIEW FPGA自定义的IP模块。
|
产品页
|
![]() 图2. BaseIP LabVIEW FPGA面板
|
|
![]() 图3. LabVIEW FPGA面板的基本元素
|
|
数字信号处理(DSP)
DSP CORE Generator面板包括了滤波器和变换函数库,以加速信号处理应用的开发。CORE Generator向导虽然以配置为基础,但它能够展示各种参数,包括资源使用估计以及能够清楚地显示了当前端口的利用率的IP符号。有了这种高度参数化的方法,您可以灵活且高效地生成自定义IP。

图4. Xilinx的CORE Generator对话框列出了许多IP参数和规格,以帮助您为特定应用需求自定义IP 核。
![]() 图5.数字信号处理面板
|
IP 产品页
|
|
您需要一个Xilinx的许可文件才能使用CORE Generator 的IP核。更多信息,请参考IP产品页面。
数学函数
CORE Generator面板的数学函数从初级到高级都有覆盖。例如,面板包含一个可以产生用于变换的IP以及一些关于FPGA上浮点数的基本运算。如图6所示,您可以使用IP配置向导轻松地为您想生成代码的地方选择浮点运算。
图6. Xilinx的CORE Generator浮点运算IP核提供了一个LabVIEW FPGA的浮点函数库。
![]() 图7. 数学函数面板
|
IP 产品页
|
|
内存和数据存储单元
![]() 图8. 内存和存储单元面板
|
IP产品页
|
|
高级工业专用面板
在CORE Generator IP面板上有两个通讯和图像处理面板,你可以重复使用它们,以减少您的FPGA设计时间。
通信与网络
您需要一个Xilinx的许可软件才能使用这一CORE Generator IP核。更多信息请参考IP 产品页面。
视觉和图像处理
![]() 图10. 视觉和图像处理面板
|
IP产品页
|
|
您需要一个Xilinx的许可软件才能使用这一CORE Generator IP核。更多信息请参考IP 产品页面。
Xilinx的CORE Generator IP 模块的使用授权
如上所述,一些Xilinx 的IP模块需要许可证。要了解有关许可价格和流程,请点击上文列出的IP模块链接。

图11. Xilinx IP产品页面,提供了需要授权的CORE Generator模块的评价和订购信息。
COREGenerator IP 开发注意事项
像使用其它高性能的LabVIEW FPGA IP模块一样,在实际应用CORE Generator库进行开发时,请注意一些事项。CORE Generator IP只能在单周期定时循环中执行。因为CORE Generator 的IP核往往是内部连线的,类似于高性能数学函数,输出数据并不是在每个时钟都有效。所以当数据有效时,您应该使用IP控制信号输出以示提醒。
此外,对Xilinx 的CORE Generator库的支持仅限于Xilinx Virtex- 5和Spartan- 3 FPGA,因此请确保您使用的NI可重配置I/ O硬件包括这些FPGA中的一种。更多更详细的注意事项,请查询产品页面上的IP块数据表。
将一个CORE Generator IP模块整合到LabVIEW中
使用CORE Generator面板的浮点数运算IP核执行一个浮点平方根计算。
1. 创建一个新的LabVIEW FPGA项目(本例针对NIcRIO -9113底座的Virtex- 5 型FPGA)。
2. 创建一个新的FPGA VI。选择编程» Xilinx Coregen IP»数学函数»浮点,并将浮点IP核拖到FPGA框图中。
3. 保存VI,双击IP块打开Xilinx浮点V5.0节点属性窗口。要启动CORE Generator IP配置向导,单击启动Xilinx CORE Generator。

图12.启动Xilinx CORE Generator
4.在对话窗口中,选择一个浮点函数来执行(即求平方根)。在剩下的步骤中,其它设置保持默认,最后点击Generate按钮。 IP核生成可能需要几分钟才能完成。

图13. 生成一个IP核
5. 一旦IP生成完成后,将Xilinx浮点V5.0节点属性窗口剩下两个属性设为默认值。您可以通过选择一个时钟信号、配置一个复位行为, 来自定义您的模块。点击Finish完成生成过程。

图14. 完成生成过程
6. 将步骤二至步骤五重复两次,继续生成两个IP块,一个用于定点到浮点数据类型,另一用于浮点到定点数据类型。在浮点运算的CORE Generator配置向导第一步选择这个功能,如图15所示。

图15 浮点运算的CORE Generator向导。
7. 最后,连接IP模块,将逻辑运算单元放置在一个单周期定时循环中,如图16所示。

图16连接IP模块,并将它们放置在一个单周期定时循环中
您现在已经实现了一个浮点平方根操作。您可以将它纳入新的或现有的LabVIEW FPGA应用中。
导入第三方IP的其它方法
如果您没有在LabVIEW FPGA面板(包括CORE Generator面板)内找到一个想要的IP块,在ni. com/ipnet上有数百个免费的IP块可以下载。另外,如果您已获得或建立了其它VHDL或Verilog的IP,你可以使用组件级IP(Component-Level IP, CLIP)节点或IP集成节点导入它。
为FPGA提供的高级优化功能
在您的面板中IP越多,您完成自己LabVIEW FPGA应用的效率就越高。Xilinx的CORE Generato r IP面板提供的超过50款可用的IP核,更是给您提供了专为Xilinx FPGA优化设计的更先进的功能。使用自带的配置向导,您可以轻松地为您的特殊应用设置和定制IP块。