记录《学会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. 手打配对堆模板(支持push, pop, top, join)
  2. stdthread(3)detach
  3. 蓝马linux命令连另一台电脑,配置使用别的电脑连接另一台电脑当中的虚拟机项目...
  4. 【Python基础】快速入门Python(讲解、习题)
  5. VTK:PolyData之GetPoint
  6. em算法怎么对应原有分类_[PRML]序列数据 HMM维特比算法及扩展
  7. 二叉树的最大深度Python解法
  8. ad19生成gerber文件_在“AD19”中怎样将PCB文件转换为GERBER
  9. [资源分享] Github上八千Star的深度学习500问教程
  10. adf盖怎么打开_原来啤酒瓶盖上有个小机关,用手就能拧开,比开瓶器还快
  11. Java前端Rsa公钥加密,后端Rsa私钥解密(支持字符和中文)
  12. [转]printf 函数实现的深入剖析
  13. 联想y7000 Linux显卡驱动,联想Y7000安装ubuntu1804.6双系统和显卡驱动(一)
  14. 超牛无损图片放大神器PhotoZoom
  15. 河海大学计算机专业戴慧凤,特色宿舍 - 河海大学学生工作处.doc
  16. Windows10系统添加打印机步骤
  17. 敏捷测试--开源电子书连载
  18. 欧几里得距离、曼哈顿距离和切比雪夫距离
  19. BDL語法知識 变量的初始话
  20. UnionPay vs Innovation

热门文章

  1. 高薪程序员面试题精讲系列25之你了解哪些Java新特性?你们公司使用哪个JDK版本?Java11了解过吗?
  2. 沧小海笔记之PCIE协议解析——目录
  3. ORACLE认证考试之ocjp 考试题之五
  4. uniapp-小程序 调用阿里云OCR身份证识别
  5. [2]Selenium学习系列---- FirePath的安装和使用
  6. shl归纳推理测试题库_SHL(外企笔试常见试题)全攻略
  7. python实现app自动签到器_python实现网页自动签到功能
  8. Unity 基础 之 Camera摄像机属性介绍
  9. JavaScript实现简易计算器
  10. easyui快速入门