初识System Generator(安装+使用)

首先简单介绍下它是干嘛用的。

System Generator是Xilinx公司进行数字信号处理开发的一种设计工具,嵌入了Xilinx的一些模块,可以在MATLAB中的Simulink中进行定点仿真,可以设置定点信号的类型等操作,不过我更看重的是那个可以直接生成HDL文件,然后用于设计Xilinx的FPGA,ISE可以调用,VIVADO也可以调用,不过现在应该搞得比较多的是VIVADO,所以就直接按VIVADO的来玩这个System Generator。

开始安装

System Generator是在安装VIVADO时就可选的,如果安装VIVADO的时候没安,就自己再补安下,可以看以下的操作步骤,先说下,我用的版本是VIVADO 2018.2,之前学VIVADO设计FPGA时安了后就没去更新过了,也不知道新版本的咋个样,估计差不到多少去。
补安设计工具或者器件库都可以从这进入,打开VIVADO,再打开Help下的Add Design Tools or Devices… 在这里插入图片描述
然后登录你XILINX的账号进行下载安装(账号直接在官网注册个就行,或者查查有没有跳过该步骤的办法)
在这里插入图片描述
进入安装界面后,勾选上图中的System Generator for DSP,我这边是已经安装好了,所以是显示打了勾的框,如果没安装是空白的,然后点击NEXT,再Install,慢慢等待安装完成就行了。
在这里插入图片描述

配置MATLAB

因为System Generator是在MATLAB上使用Simulink进行的,所以要和MATLAB一起运行,这就关系到其版本的问题了,根据自己下的VIVADO版本对应ug973这个文档中查看兼容哪些版本,在文档的配置的第三方工具这一项。
在这里插入图片描述
我的VIVADO是2018.2的版本,从下方的图可以看到MATLAB版本可以兼容R2017a,R2017b和R2018a,不过更高版本的当然也可以了,我用的就是R2019b,旧版本的不太清楚在使用的时候会不会出什么问题,可以自己尝试,当然要兼容ug973这个文件里没有的版本还需要对一个文件做下修改,不然System Generator会不支持自己版本的MATLAB。
在这里插入图片描述
在改文件前,要先知道自己MATLAB的版本信息,网上说的是在卸载软件的地方可以看到,比如这个样子,不过我的R2019b的版本不是3.1这个,用3.1去改文件一直没成功,我还郁闷了好久为什么别人的跟我不一样……,不过折腾了下还是找到真实的版本信息了。
在这里插入图片描述
我是这样操作得到版本信息的,先找到MATLAB这个EXE所在的路径(直接找安装路径或者其他方式打开位置所在),然后直接看它属性,再点详细信息,就可以看到版本信息了,我的就是9.7版本而不是上面看到的3.1。
在这里插入图片描述
知道自己MATLAB的版本信息后就可以更改Vivado安装目录下的文件ml_supported.xml,然后编辑,往里面添加你自己MATLAB版本的信息,以下红色框框里的就是要添加的版本信息。
在这里插入图片描述
添加完后,保存,然后打开System Generator 2018.2 MATLAB Configurator,在开始菜单中的Xilinx Design Tools下可以找到,我这边是因为还装了ISE的版本,所以会看到有四个,如果只装了一个XILINX的开发工具,只会有两个System Generator的相关。
在这里插入图片描述
打开配置后,会看到以下的图中这个样子,因为R2016a的MATLAB版本信息我没加在刚刚的文件中,所以会显示不支持的字样,R2019b则是未配置,按下方红箭头依次点击。
在这里插入图片描述
点击了Apply会出现

点OK就好了,然后会发现状态变成已配置,这时候相当于配置成功,再点OK结束就好了。
在这里插入图片描述

进行一个简单的设计

准备完成后,开始使用System Generator进行一个简单的设计流程
1、运行System Generator 2018.2(按自己的版本打开即可),然后就会调用MATLAB的运行程序,等待打开完成后,MATLAB会有一段加载System Generator库的时间,当命令窗口出现如下图所示的情况就可以下一步操作;
注:从图中的表述可知道在命令窗口输入“xlDoc”能够打开System Generator的帮助文档,输入“demo blockset xilinx”可查阅官方示例(感觉有点耗时,不知道是不是网络的原因)。
在这里插入图片描述
2、打开Simulink,可以在命令窗口输入simulink或者单机MATLAB工具栏的Simulink按钮,如下图所示

在这里插入图片描述
3、打开后,先建立一个空白模型并且保存到要存的位置上
在这里插入图片描述
4、打开Library Browser,这个打开就是Simulink的仿真库
在这里插入图片描述
5、在仿真库界面可以看到有Xilinx的仿真库“Xilinx Blockset”和“Xilinx Reference Blockset”
在这里插入图片描述
6、放置仿真模块并仿真,找到库界面中的Simulink,将该目录中的Source中的Constant模块和Sinks中的Scope模块放到刚刚建立的空白模型的窗口,并且连接起来,可以先仿真看此时的结果。
Constant模块中的Sample time默认为inf的,需要先将其改为你想要的采样时间,不然仿真的结果只有一个点。
在这里插入图片描述
改好采样时间后,运行10s仿真,可得以下的结果:
在这里插入图片描述

7、放置System Generator的仿真模块并仿真,打开Xilinx Blockset下的Basic Elements,将图中的四个模块放到模型文件中,看到这些名字,或许你就知道我要实现的是一个什么功能。
在这里插入图片描述
8、将放置好的功能模块连接起来,如下图所示
在这里插入图片描述
9、运行10s的仿真,结果如下,可以看到在等待1s以后,信号才持续输出,这也是用到Delay的那个延迟作用所致;在这里插入图片描述


在这里的文件我都已经上传到网盘了,可以直接在此获取。
链接地址

  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值