FPGA开发之算法开发 system Generator( 二 )


8.共享储存器模块
it
共享存储器模块主要用于共享存储器操作 。
表1-9 共享存储器模块的说明列表
9.工具模块(Tools)
工具模块包含了FPGA设计流程中常用的、、资源评估等模块以及算法设计阶段的滤波器设计等模块 。该库的模块在设计中起辅助作用,都是设计工具,一般不能生成HDL设计,其简要说明如表1-10所列 。
表1-10 工具模块的说明列表
(二).FPGA边界定义模块
是FPGA实现和算法开发之间桥梁,通过两个标准模块“ In”和“ Out”来定义仿真模型中FPGA的边界 。“ In”模块标志着FPGA边界的开始,能够将输入的浮点转换成定点数 。“ Out”模块标志着FPGA边界的结束,将芯片的输出数据转换成双精度数 。在环境中双击这两个模块会弹出配置对话框,可以设定不同的转换规则,如图1-1所示 。
图1-1 转换模块示意图
3. 标志
每个 应用框图都必须至少包含一个 标志,如图1-2所示,否则会提示错误 。标志模块用来驱动整个FPGA实现过程,不与任何模块相连 。双击标志模块,可以打开属性编辑框,能够设置目标网表、器件型号、目标性能以及系统时钟频率等指标 。
图1-2标志模块示意图
4.建立简易的DSP设计
一旦定义了FPGA边界就可以通过 DSP模块集合来建立各种DSP设计,包括滤波器、存储器、算术运算器、逻辑和比特操作器等丰富资源,每个模块都有详细的工作频率和比特宽度定义 。标准的模块不能在“ In”和“ Out”之间使用,但常用来产生测试数据以及对FPGA的输出数据进行处理和分析 。下面给出一个简单的FPGA系统设计实例 。
例1-1 使用 建立一个3输入(a、b、c)的DSP48 模块的计算电路,使得输出p=c+a*b,并利用标准的模块对延迟电路进行功能验证 。
1)打开库浏览器并建立一个新的模型,并保存为mydsp.mdl 。
2)在浏览器中选择 DSP48 Macro 3.0模块,并将其拖拽到.mdl;按照同样的方法添加边界定义模块以及 标志模块 。
3)为了测试DSP计算电路,添加标准库中的常数模块()和显示器()模块 。其中常数模块用于向DSP计算电路灌数据,作为测试激励;显示器则用于观测输出数据 。
4)连接模块,将所有的独立模块连成一个整体 。其中模块之间的端口可以直接相互连接,直接从一个端口拖拽鼠标到另一个端口来完成,或选中目标模块,按住Ctrl键,再点击要连接的模块,即可自动将两个模块连接起来;而模块和非模块之间的连接则需要边界模块()来衔接 。经过连接的设计如图1-3所示 。

FPGA开发之算法开发 system Generator

文章插图
图1-3 延迟模块以及测试平台的组成架构
5)设定系统参数 。双击“ ”模块,会出现系统设定对话框,如图1-4所示 。其中“”栏选择编译生成对象,包括HDL网表、FPGA配置比特流、NGC网表、EDK导出工具、硬件协仿真类型以及时序分析文件等6种类型,本例选择HDL网表类型,会生成ISE工程以及相应的HDL代码;“Part”栏用于选择芯片型号,本例选择Zynq 7020 。“”栏用于选择目标文件存放路径,本例使用默认值,则会在.mdl所在文件夹中自动生成一个的文件夹,用于存放相应的输出文件 。综合工具选择XST,HDL语言选择类型,系统时钟设的周期为100ns,即为10MHz 。“Clock Pin ”栏的文本框中输入系统时钟输入管脚,则会自动生成管脚约束文件(由于本例只是演示版,所以该项空闲) 。此外,可选中“ ”选项,自动生成设计的测试代码 。各项参数确认无误后,单击“OK”键,保存参数 。
FPGA开发之算法开发 system Generator