FPGA开发之算法开发 system Generator

现在的FPGA算法的实现有下面几种方法: 1. /VHDL 语言的开发 ;2. ;3. 编译器实现从 C代码到 HDL 语言; 4.HLS 。本文主要讲述第二种方法的配置方法 。
可以和 ISE or进行无缝连接 。但是需要有个版本的对应关系:
安装之后会在模块库中添加一些 FPGA专用的模块库,包括Basic,,Logic,,DSP,Math,,,Tool等模块库,只有使用这里的模块才能进行FPGA算法的仿真以及进行综合等等 。
使用这些模块就可以简单的选一些模块,连一些线就能自动生成你需要的HDL代码,将开发人员从底层枯燥的代码编写中解脱出来,将更多的精力放在算法上,非常完美的体现了工具为人服务的理念 。
ISE14.7,HLS 已经能够使用C和C++生成HDL代码,那个主要是针对公司7系列的FPGA,有兴趣的同学可以尝试 。
另外将HDL coder作为一个独立的工具添加进来,已经能够支持和公司的FPGA 。
一、 快速入门
(一). 库的基本介绍
和是无缝链接的,可以在标准工具栏中直接启动,如图1-1所示 。这些模块都根据其功能划分为不同的库,为了易于使用,又在某些库中添加了部分有广泛应用的模块,所有的模块都按字母顺序排列在 Index库中 。读者需要注意的是:在环境中,只有通过模块搭建的系统才能保证硬件可实现,其地位类似于HDL语言中的可综合语句 。

FPGA开发之算法开发 system Generator

文章插图

FPGA开发之算法开发 system Generator

文章插图
图1-1DSP模块集 ( )
从设计流程中可以看出,熟悉 DSP基本模块库是设计流程中的关键环节,只有掌握了基本模块的特性和功能,才能更好地实现算法 。由模块库和 一起,可生成可编程器件的最优逻辑,这属于最低层的设计模块,地位等效于IP Core,共有90多个 。模块库简要说明如表1-1所列 。
表1-1库的简要说明
1.基本单元模块 (Basic )
基本单元模块库中包含了数字逻辑的标准组件模块,使用这些模块可插入时间延迟、改变信号速率、引入常数、计数器以及多路复用器等 。此外,还包含了3个特殊的模块 标志、黑盒子模块(Black Box)以及边界定义模块,后文将对其进行详细说明 。该库中简要的模块说明如表1-2所列 。
表1-2 基本单元模块的说明列表
2.通信模块 ( )
通信应用是FPGA的主要应用领域之一,因此的通信模块库提供了用于实现数字通信的各种函数,包括卷积编解码、RS编解码以及交织器等模块 。该库中简要的模块说明如表1-3所列 。
表1-3 通信模块的说明列表
3.控制逻辑模块 ()
控制逻辑主要包括了用于创建各种控制逻辑和状态机的资源,包括了逻辑表达式模块、软核控制器、复用器以及存储器,其简要说明如表1-4所列 。
表1-4 控制逻辑模块的说明列表
4.数据类型模块 (Data Types)
数据类型模块主要用于信号的数据类型转换,包括移位、量化、并/串、串/并转换以及精度调整模块,其简要说明如表1-5所列 。
表1-5 数据类型模块的说明列表
5.DSP模块
DSP模块是 的核心,该库包含了所有常用的DSP模块,其简要说明如表1-6所列 。
表1-6 DSP模块的说明列表
6.数学运算模块 (Math)
数学运算是任何程序所不可避免的,提供了丰富的数学运算库,包括基本四则运算、三角运算以及矩阵运算等,其简要说明如表1-7所列 。
表1-7 数学运算模块的说明列表
7.存储器模块 ()
该库包含了所有存储器的Logic Core,其简要说明如表1-8所列 。
表1-8 存储器模块的说明列表