集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 小舍YZ

System Generator快速入门

[复制链接]
 楼主| 小舍YZ 发表于 2017-7-5 11:06:57 | 显示全部楼层
9.工具模块

工具模块包含了FPGA设计流程中常用的ModelSim、ChipScope、资源评估等模块以及算法设计阶段的滤波器设计等模块。该库的模块在设计中起辅助作用,都是设计工具,一般不能生成HDL设计,其简要说明如表7-10所列。

表7-10 工具模块的说明列表

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-5 11:09:06 | 显示全部楼层
2.FPGA边界定义模块

System Generator是FPGA实现和算法开发之间桥梁,通过两个标准模块“Gateway In”和“Gateway Out”来定义Simulink仿真模型中FPGA的边界。“Gateway In”模块标志着FPGA边界的开始,能够将输入的浮点转换成定点数。“Gateway Out”模块标志着FPGA边界的结束,将芯片的输出数据转换成双精度数。在Simulink环境中双击这两个模块会弹出配置对话框,可以设定不同的转换规则,如图7-10所示。

图7-10 转换模块示意图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-5 11:10:19 | 显示全部楼层
3.System Generator标志

每个System Generator应用框图都必须至少包含一个System Generator标志,如图7-11所示,否则会提示错误。标志模块用来驱动整个FPGA实现过程,不与任何模块相连。双击标志模块,可以打开属性编辑框,能够设置目标网表、器件型号、目标性能以及系统时钟频率等指标。

图7-11 System Generator标志模块示意图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-5 11:11:06 | 显示全部楼层
4.建立简易的DSP设计

一旦定义了FPGA边界就可以通过Xilinx DSP模块集合来建立各种DSP设计,包括滤波器、存储器、算术运算器、逻辑和比特操作器等丰富资源,每个模块都有详细的工作频率和比特宽度定义。标准的Simulink模块不能在“Gateway In”和“Gateway Out”之间使用,但常用来产生测试数据以及对FPGA的输出数据进行处理和分析。下面给出一个简单的FPGA系统设计实例。

例7-2 使用System Generator建立一个3输入(a、b、c)的DSP4模块的计算电路,使得输出p=c+a*b,并利用标准的Simulink模块对延迟电路进行功能验证。

1)打开Simulink库浏览器并建立一个新的Simulink模型,并保存为mydsp.mdl。
2)在浏览器中选择Xilinx DSP48模块,并将其拖拽到mydspmydelay.mdl;按照同样的方法添加边界定义模块以及System Generator标志模块。
3)为了测试DSP计算电路,添加Simulink标准库中的常数模块(Constant)和显示器(Display)模块。其中常数模块用于向DSP计算电路灌数据,作为测试激励;显示器则用于观测输出数据。
4)连接模块,将所有的独立模块连成一个整体。其中Xilinx模块之间的端口可以直接相互连接,直接从一个端口拖拽鼠标到另一个端口来完成,或选中目标模块,按住Ctrl键,再点击要连接的模块,Simulink即可自动将两个模块连接起来;而Xilinx模块和非Xilinx模块之间的连接则需要边界模块(Gateway)来衔接。经过连接的设计如图7-12所示。

图7-12 延迟模块以及测试平台的组成架构

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-5 11:12:04 | 显示全部楼层
5)设定系统参数。双击“System Generator”模块,会出现系统设定对话框,如图7-13所示。其中“Compilation”栏选择编译生成对象,包括HDL网表、FPGA配置比特流、NGC网表、EDK导出工具、硬件协仿真类型以及时序分析文件等6种类型,本例选择HDL网表类型,会生成ISE工程以及相应的HDL代码;“Part”栏用于选择芯片型号,本例选择Spartan3E xc4vsx55-12ff1148。“Target”栏用于选择目标文件存放路径,本例使用默认值,则会在mydelay.mdl所在文件夹中自动生成一个netlist的文件夹,用于存放相应的输出文件。综合工具选择XST,HDL语言选择Verilog类型,系统时钟设的周期为100ns,即为10MHz。 “Clock Pin Location”栏的文本框中输入系统时钟输入管脚,则会自动生成管脚约束文件(由于本例只是演示版,所以该项空闲)。此外,可选中“Create testbench”选项,自动生成设计的测试代码。各项参数确认无误后,单击“OK”键,保存参数。

图7-13 系统参数设定对话框

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-5 11:13:00 | 显示全部楼层
6)设置关键模块参数。双击“Gataway In”、“Gataway Out”模块,会弹出图7-14和图 7-15所示的对话框。Gataway In模块属性可查看输入数据位宽和量化规则。

图7-14 Gataway In模块属性对话框                               图7-15 Gataway Out模块属性对话框

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-5 11:13:46 | 显示全部楼层
7)运行测试激励。当参数设置完成后,点击工具栏的“ ”按键,即可运行Simulink仿真,可以看到显示器输出为18,表明设计的功能是正确的。
8)生成HDL代码。单击图7-13中的“Generate”按键,System Generator可自动将设计转化成HDL代码。整个转化过程的起始和结束提示界面分别如图7-16和图 7-17所示。

图7-16 自动生成代码过程的起始提示标志                                图7-17 自动生成代码过程的结束提示标志

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-5 11:14:58 | 显示全部楼层
读者可在相应的文件夹的“netlist sysgen”子目录中打开“nonleaf_results.v”文件,查看相应的代码,如下所示(为了节约篇幅,分栏显示),用户可将其作为子模块直接使用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
zxopenljx 发表于 2021-5-4 15:19:50 | 显示全部楼层
System Generator快速入门
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-19 07:37 , Processed in 0.066131 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表