记录《学会System Generator》系列的目的是为了熟练掌握Xilinx公司旗下System Generator产品的使用。本文是该系列的第一篇,主要介绍System Generator的基本知识以及软件的安装。


System Generator基本特性

System Generator是一款DSP设计工具,其借助MATLAB中的Simulink开发环境完成FPGA的设计。这是一种与传统的“从RTL出发进行FPGA设计”完全不同的设计方法。

System Generator具有如下关键特性

  • 超过90种DSP设计模块,包括加法器、乘法器、寄存器、FFT、滤波器、存储器等等;

  • 包含一个与7系列/UltraScale系列FPGA相贴合的FIR编译模块,支持多种滤波器模式,可以使用MATLAB函数或FDATOOL工具生成系数;

  • 包含一个MCode模块,可以接入MATLAB代码,完成简单的控制;

  • 支持硬件协同仿真(需要特定的硬件平台支持);

  • 可以在一个DSP系统中集成RTL设计、MATLAB代码、Simulink、C/C++(借助Vivado HLS模块),还可以同ModelSIm或Vivado Simulator工具进行协同仿真。

可以看出,System Generator是一种基于模型设计的方法,在一个平台上连接多种不同功能的模块,进而完成整个DSP系统的设计。


System Generator安装

System Generator需要同MATLAB一同使用。System Generator软件会同Vivado一起下载,并且在安装Vivado时为可选安装;MATLAB版本必须与System Generator版本兼容。版本兼容信息可以在ug973中查询,以2017.2版本为例:

在ug973 Ch.2的“Compatible Third-Party Tools”小节中可查阅到上表,从表中可以看到支持的MATLAB版本。博主使用的是System Generator 2017.2版本与MATLAB R2016a版本(win10操作系统),在后续的设计中,都将基于此开发环境。

在安装Vivado的过程中,会出现配置MATLAB的界面,如果安装时没有配置,可以在“开始->Xilinx Design Tools->System Generator 2017.2 MATLAB Configurator”工具中修改(具体路径可能会不同,右键->更多->打开文件位置->右键->以管理员身份运行):

点击后界面如下(这是已经配置好的状态):

当MATLAB的Status为“Not Configured”时,选中前面的复选框,点击“Apply”,Status变更为Configured,表明配置正确。


初识System Generator

运行System Generator(注意不要直接运行MATLAB,否则无法向Simulink中添加Block),在命令行中输入simulink后回车(或者点击“主页”标签中的Simulink按钮),打开Simulink:

点击“Blank Model”创建一个空模型:

点击“Library Browser”打开Simulink库:

列表中可以找到“Xilinx Blockset”和“Xilinx Reference Blockset”,其中的模块即为System Generator设计时使用的模块。添加block到Simulink中有两种方法:

  • 像上述一样打开库,在库中搜索;
  • 在Simulink空白处点右键->Xilinx BlockAdd,在出现的小窗口中搜索,双击可添加到模型中。

第一个方法适合于在库中寻找未知的block;如果已经对某block很熟悉,用第二个方法更方便。添加System Generator、Gateway In、Gateway Out、Delay、Constant(不是Xilinx Blockset中的那个)、Scope,按下图连接:

Constant输出一个常数值1,Delay延迟一个采样周期,其它block的具体用法可参考本系列后面文章。直接点击Run运行,打开Scope,结果如下:

看到经过1个单位延迟后,输出保持为1。保存Model,Simulink的模型文件存储为“.slx”格式。本系列后面文章将不再讲述如何新建模型与添加block。


System Generator学习资料

◎ug948:讲述了6个使用System Generator的基本实验,熟悉软件特性。
◎ug958:介绍了System Generator的所有Block相关知识(在Simulink中添加好Block后,右键->help,也可以查阅到相关介绍)。
◎ug897:详细介绍了System Generator的所有功能特性。
◎MATLAB(通过System Generator启动)中输入“xlDoc”可查阅System Generator的帮助文档;输入“demo blockset xilinx”可查阅官方示例。

本文简单认识了System Generator。该系列后面的文章将介绍借助System Generator的特性,完成FPGA设计的过程,以及使用各种Block完成各种DSP系统的设计,这也是System Generator设计的主要内容。

学会System Generator(1)入门与安装相关推荐

  1. System Generator从入门到放弃(一)-安装与使用

    System Generator从入门到放弃(一)-安装与使用 文章目录 System Generator从入门到放弃(一)-安装与使用 一.安装与使用 1.简介 2.功能介绍 3.System Ge ...

  2. System Generator从入门到放弃(十)-ADC应用之音频信号采集与输出

    System Generator从入门到放弃(十)-ADC应用之音频信号采集与输出 文章目录 System Generator从入门到放弃(十)-ADC应用之音频信号采集与输出 一.ADC应用之音频信 ...

  3. System Generator从入门到放弃(六)-利用Vivado HLS block实现VivadoHLS调用C/C++代码

    System Generator从入门到放弃(六)-利用Vivado HLS block实现Vivado HLS调用C/C++代码 夜未央,流星落,情已殇 文章目录 System Generator从 ...

  4. 学会System Generator(2)数字滤波器设计

    本文是该系列的第2篇,上一篇介绍了System Generator的基本知识以及软件的安装.本文将以一个简单的数字滤波器的设计为主题,介绍Sysgem Generator的完整设计流程,同时详细介绍使 ...

  5. matlab相语法,学会System Generator(10)——支持的MATLAB语法

    本文是该系列的第10篇,上一篇介绍了在System Generator设计中使用MCode模块调用MATLAB代码来完成逻辑控制.本文将介绍System Generator支持的所有MATLAB语法. ...

  6. 学会System Generator(22)图像采集与输出(数据流方法)

    本文是该系列的第22篇.上一篇介绍了使用Image From File和Video Viewer完成图像的采集和输出,并将两部分分别打包为子系统,使其具有通用性.本文将介绍如何使用Simulink提供 ...

  7. 学会System Generator(10)支持的MATLAB语法

    本文是该系列的第10篇,上一篇介绍了在System Generator设计中使用MCode模块调用MATLAB代码来完成逻辑控制.本文将介绍System Generator支持的所有MATLAB语法. ...

  8. matlab的.m语法,学会System Generator(10)——支持的MATLAB语法

    本文是该系列的第10篇,上一篇介绍了在System Generator设计中使用MCode模块调用MATLAB代码来完成逻辑控制.本文将介绍System Generator支持的所有MATLAB语法. ...

  9. Vivado与matlab系统开发设计 system generator(1)入门与安装

    Vivado与matlab系统开发设计 system generator(1)入门与安装 今天由"82年的程序媛"本媛给大侠带来FPGA设计 vivado 与 matlab系统开发 ...

  10. System Generator简介

    前言 System generator 安装之后会在Simulin模块库中添加一些Xilinx FPGA专用的模块库,包括Basic Element,Communication,Control Log ...

最新文章

  1. mysql如果存在则删除数据库_怎么判断sql数据库是否存在,存在删除
  2. canvas绘制图像image
  3. js文章QQ空间分享
  4. [机器学习-原理篇]学习之线性回归、岭回归、Lasso回归
  5. 【c++】函数默认参数
  6. WCF 4.0一个鲜为人知的改变[兼书名征集]
  7. zookeeper做分布式配置中心
  8. wireless_tools在android上的移植
  9. css修改上传文件按钮样式,CSS自定义文件上传按钮样式,兼容主流浏览器
  10. 普渡大学计算机专业全美排名,美国普渡大学排名
  11. 在odl中如何实现rpc
  12. Windows 安全补丁
  13. android编译生成apk文件怎么打开,android studio生成apk在哪?
  14. 测试第一步,雀氏纸尿裤
  15. [凯圣王]减脂挑战第15天变化/饮食思路分享/碳水循环+轻断食/GI值和GL值的应用/碳水后置的理论基础
  16. (原创)报考计算机博士之前应该注意的几个问题---写给应届硕士毕业生
  17. 紫外可见分光光度计 | 探索光的工具 | 详解
  18. 1.5Go语言的基本数据类型
  19. 树莓派3b+快速编译opencv成功案例指导(保姆级教程)
  20. 【转】电子签章(Electronic Signature)在C#中的实现方法

热门文章

  1. 华成英-模拟电子技术P9 静态工作点的稳定 笔记
  2. Python抓取妹子图
  3. 黑域最新版本android,黑域_黑域安卓版_黑域最新版_易玩网
  4. 算法洗脑系列(8篇)——第四篇 枚举思想
  5. nbu mysql_mysql数据备份之NBU
  6. Docker容器资源管理
  7. 全球及中国网络教育行业商业模式与运行前景分析报告2022版
  8. 「纯正干货」教你一招解决PDF去密码
  9. FireBug不能用了?使用火狐Try Xpath插件替代Firebug和Firepath
  10. 优秀的穿越机玩家们看过来,你们现在拥有进入DRL2018赛季的机会了