Matlab Simulink支持system generator插件
文章目录
- 前言
- 一、System Generator 简介
- 二、System Generator 特性
- 三、System Generator 安装
- 1、确定是否已安装 System Generator 工具
- 2、vivado 卸载
- 3、vivado 安装
- 四、解决版本不兼容问题
- 五、使用 System Generator
前言
目前有在 Simulink 中开发完成后将其转换成 Verilog 语言并将其跑在 fpga 上面的需求,因此本文简要介绍了在 matlab 的 simulink 中使用 system generator 的方法。
一、System Generator 简介
System Generator 是 Xilinx 公司进行数字信号处理开发的一种设计工具,它通过将 Xilinx 开发的一些模块嵌入到Simulink 的库中,可以在 Simulink 中进行定点仿真,可以设置定点信号的类型,这样就可以比较定点仿真与浮点仿真的区别。并且可以生成 HDL 文件,或者网表,可以在 ISE 中进行调用。或者直接生成比特流下载文件。能够加快DSP 系统的开发进度。(摘自:百度百科)
二、System Generator 特性
System Generator 具有如下关键特性:
- 超过 90 种 DSP 设计模块,包括加法器、乘法器、寄存器、FFT、滤波器、存储器等等;
- 包含一个与 7 系列 UltraScale 系列 FPGA 相贴合的 FIR 编译模块,支持多种滤波器模式,可以使用 MATLAB 函数或 FDATOOL 工具生成系数;
- 包含一个 Mcode 模块,可以接入 MATLAB 代码完成简单的控制;
- 可以生成 HDL 文件、网表或 IP 核,在 vivado 中调用。
三、System Generator 安装
1、确定是否已安装 System Generator 工具
正常在我们安装 vivado 软件后就默认安装了 System Generator 了,但是我本地的 vivado 当时定制化 AC7020 核心板安装时关闭了很多安装选项,因此并没有安装 System Generator,如下图所示是灰色的,而且不支持再次重新配置。
无奈之下只能先卸载了 vivado 进行重新安装
2、vivado 卸载
下图红框中的依次进行卸载
3、vivado 安装
安装步骤参考我之前的博文:Vivado 2017.04版本安装教程
比较重要的一点是这里选择 “Vivado HL System Edition”
Vivado HL System Edition 是 Vivado HL Design Edition 的超集,增加了 DSP 的系统生成器。包括完整的设备支持、电缆驱动程序和 Documentation Navigator。用户可以选择将 Model Composer 添加到此安装中。
除了上述安装教程的配置外,记得勾选 System Generator for DSP
安装完成后,桌面多了一个 System Generator 2017.4 快捷方式
四、解决版本不兼容问题
双击 System Generator 2017.4,点击 Find Matlab,选择你本地 Matlab 安装目录
会出现 Matlab Unsupported 相关报错
这个问题是版本不兼容所导致,我的 vivado 是 2017.04 版本的,我的 matlab 是 2019a 版本。具体参考赛灵思官网:https://www.xilinx.com/support/documentation-navigation/see-all-versions.html?xlnxproducttypes=Design%20Tools&xlnxdocumentid=UG973
根据自己需要的 vivado 版本查看对应的手册。以 vivado2017.4 为例说明,如下图所示:
可以看到 vivado 2017.4 支持的 matlab 版本为 R2016a,R2016b,R2017a 和 R2017b
解决方法:
修改 ml_supported.xm 文件,添加你的 Matlab 版本就行。文件目录:D:\Vivado_2017.4\Vivado\2017.4\data\sysgen\sg_config\ml_supported.xml
新增 2019a 版本
再次双击 System Generator 2017.4,点击 Find Matlab,选择你本地 Matlab 安装目录
点击 Apply
五、使用 System Generator
1、双击桌面图标
2、打开 Simulink
3、创建一个空白的 Simulink 模型
4、点击 Library Browser 库浏览器
5、可以看到与 Xilinx 相关的模块库
system generator 的简单使用,可参考赛灵思官网 system generator 相关文档
我的qq:2442391036,欢迎交流!
相关文章:
Matlab Simulink支持system generator插件
文章目录 前言一、System Generator 简介二、System Generator 特性三、System Generator 安装1、确定是否已安装 System Generator 工具2、vivado 卸载3、vivado 安装 四、解决版本不兼容问题五、使用 System Generator 前言 目前有在 Simulink 中开发完成后将其转换成 Veril…...
redis设计规范
部分内容参考:阿里redis开发规范 同时,结合shigen在实习中的实践经验总结。 key的名称设计 可读性和管理性 业务名: 表名: id pro:user:1001简洁性 控制key的长度,可以用缩写 transaction -> tras拒绝bigkey 防止网卡流量、慢查询&…...
用于非线性多载波卫星信道的多输入多输出符号速率信号数字预失真器DPD(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
【Spark】用udf和withColumn在dafaframe中创建新列
udf使用 import org.apache.spark.sql.functions.udf udf接收一个函数(func)作为参数,返回一个UserDefinedFunction。 UserDefinedFunction接收列(Column)作为参数,并返回Column. func可以接收普通类型参数…...
AIGC 设计能替代真正的设计师设计吗?
AIGC 设计能替代真正的设计师设计吗? 目录 一、写在前面的话 二、AIGC 设计能替代真正的设计师吗? 1.1、传统设计师设计 1.2、AIGC设计 1.3、相关概念 1.4、观点分析 (1)、审美角度 (2)、版权角度 …...
【1++的C++进阶】之emplace详解
👍作者主页:进击的1 🤩 专栏链接:【1的C进阶】 在前面C11系列的文章里,我们漏掉了几个知识点,这篇文章对其中一个知识点进行讲解,关于剩余的知识点的文章在后面会相继出炉。 C11中,针…...
React入门
一、react开始 1、react是什么 用于构建用户界面的JavaScript库 操作DOM呈现页面 (发送请求获取数据和处理数据不由react处理)fessbook开发 2、为什么要学 原生js操作DOM繁琐、效率低 使用原生js直接操作DOM,浏览器会进行大量重绘重排 原…...
第三方登录以及验证
第三方登录是指用户可以通过使用已有的第三方账号进行登录,而无需再次注册新的账号。常见的第三方登录平台包括微信、QQ、微博、GitHub等。 验证是指系统需要验证用户提供的信息是否正确,以确保用户可以登录系统。验证方式包括密码验证、手机号验证、邮…...
MS SQL Server问题汇总
1.报SQL Server Agent连接不上的错误 15:38:57.991 [debezium-sqlserverconnector-sqlserver_transaction_log_source-change-event-source-coordinator] WARN i.d.connector.sqlserver.SqlServerStreamingChangeEventSource - No maximum LSN recorded in the database; pl…...
在线海报图片设计器、图片编辑器源码/仿照稿定设计源码
在线海报设计系统素材设计源码是一个漂亮且功能强大的在线海报图片设计器,仿照稿定设计而成。该系统适用于多种场景,包括海报图片生成、电商分享图、文章长图、视频/公众号封面等。用户无需下载软件,即可轻松实现创意,迅速完成排版…...
KMP算法(C++)
KMP算法与BF算法不一样的在于,当主串与子串不匹配时,主串不回溯,选择了子串回溯,大大提高了运算效率。 借用了next1【】数组,让子串回溯。get_next函数求next1【】数组,get_next函数的实现难点在于下列几行…...
C++的异常类型与多级catch匹配
try-catch 的用法: try{// 可能抛出异常的语句 }catch(exceptionType variable){// 处理异常的语句 } 我们还遗留下一个问题,就是 catch 关键字后边的exceptionType variable,这节就来详细分析一下。exceptionType是异常类型,它指明了当前的 catch 可以处理什么类型的异常…...
查询IP地址可得到哪些信息
通过IP地址定位,可以获取一些基本的信息,包括以下内容: 1. 地理位置:你可以确定IP地址所在的地理位置,包括国家、州或省、城市和地理坐标。这通常是通过将IP地址与地理位置数据库进行匹配来实现的。 2. ISPÿ…...
考研算法47天:01背包
问题描述 算法详细步骤 代码随想录 (programmercarl.com) ac代码 #include <iostream> using namespace std; int bag[1001]; int bagMax[1001]; int bagvalue[1001]; int main(){int n,v;cin>>n>>v;for(int i0;i<n;i){cin>>bag[i]>>bagva…...
Docker实战技巧(一):Kubernetes基础操作实战
Kubernetes定位在Saas层,重点解决了微服务大规模部署时的服务编排问题 1、关闭防火墙并设置开机禁用 systemctl stop firewalld systemctl disable firewalld 2、配置repo cd /etc/yum.repos.d/ 下载Docker repo wget https://mirrors.aliyun.com/docker-…...
android java读写yaml文件
目录 申请读写权限: build.gradle中添加库引用: android java读写yaml文件 java修改yaml文件 YamlFile: 修改yaml文件方法2 Yaml: 删除值: 申请读写权限: <uses-permission android:name"and…...
科学计算器网站Desmos网站
科学计算器网站Desmos网站 有时在学习工作或者生活中,需要用到计算问题,但由于电脑上没有安装相应的专业软件,难以计算有的问题,因而,本文推荐一种免费的在线计算网站Desmos。 一、Desmos网址 Desmos官网的地址为&a…...
结构体-时间的计算
任务描述 本关任务需要你编写函数计算一个时间之前“xx小时xx分xx秒”的时间是多少。 以24小时制的格式记录当前时间,譬如“09:19:52”,表示上午9点19分52秒,则“1小时20分30秒”前的时间应该是“同一天”的“07:59:22”。 提示:…...
pt24django教程
静态文件访问 不能与服务器端做动态交互的文件都是静态文件,如: 图片,css,js,音频,视频,html文件(部分) 静态文件配置 在 settings.py 中配置一下两项内容: STATIC_URL 静态文件的访问路径,通过哪个url地址找静态文件 ,STATIC_URL ‘/s…...
Golang开发-new关键字
在Go语言中,new关键字用于创建一个新的零值对象,并返回指向该对象的指针。它是Go语言中用于分配内存的一种方式。 new关键字的语法如下: ptr : new(Type)其中,Type表示要创建的对象的类型,ptr是指向新对象的指针。 …...
遗传算法与粒子群算法的Python实现
遗传算法本文应用的是 python geatpy module粒子群算法本文应用的是 python pyswarm module 遗传算法 它的不等约束是...<0 import geatpy as ea import numpy as npea.Problem.single def evalVars(Vars): x1 Vars[0]x2 Vars[1]x3 Vars[2]x4 Vars[3]f (x1 2)**2 \…...
无涯教程-JavaScript - ASINH函数
描述 ASINH函数返回数字的反双曲正弦值。反双曲正弦是其双曲正弦为number的值,即ASINH(SINH(number))等于number。 语法 ASINH (number)争论 Argument描述Required/OptionalNumberAny real number.Required Notes 如果指定的数字未被识别为数字值,则ASIN返回#VALUE!错误 …...
ActiveMQ面试题(一)
文章目录 前言一、什么是ActiveMQ二、ActiveMQ 服务器宕机怎么办?三、丢消息怎么办四、持节化消息非常慢五、消息的不均匀消费总结 前言 什么是ActiveMQActiveMQ 服务器宕机怎么办?丢消息怎么办持节化消息非常慢消息的不均匀消费 一、什么是ActiveMQ a…...
node:glob语法以及常用的文件查找库glob、fast-glob
背景 前端开发中,我们经常会看到一种配置语法,一般出现在 gitignore里、webpack 配置里、vscode查找文件的时候,如下: ?.js **/*.js dist/**/*.js这种语法其实叫 glob。 glob 历史 glob 来自于 Linux。 1975 年发行的 unix …...
饲料添加剂 微生物 屎肠球菌
声明 本文是学习GB 7300.503-2023 饲料添加剂 第5部分:微生物 屎肠球菌. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了饲料添加剂屎肠球菌的技术要求、采样、检验规则、标签、包装、运输、贮存和保质 期࿰…...
二叉搜索树经典笔试题【力扣、牛客】
文章目录 1.根据二叉树创建字符串2. 二叉树的层序遍历3.二叉树的层序遍历Ⅱ4.二叉树的最近公共祖先1.法一:定位p、q在左还是右 分类讨论2.法二:利用stack求出p、q路径 求相交值 5.二叉搜索树与双向链表1.法一:递归:递归过程修正指…...
docker系列(1) - docker环境篇
文章目录 1. docker环境1.1 docker安装1.2 阿里云镜像加速器1.2 docker管理工具(portainer)1.3 docker网络1.3.1 网络说明1.3.2 创建指定网关的网络 1. docker环境 1.1 docker安装 #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noar…...
web安全漏洞-SQL注入攻击实验
实验目的 学习sql显注的漏洞判断原理掌握sqlmap工具的使用分析SQL注入漏洞的成因 实验工具 sqlmap是用python写的开源的测试框架,支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,I…...
直接插入排序(C++实现)
文章目录 1. 基础概念🍑 内部排序和外部排序 2. 直接插入排序3. 动图演示4. 代码实现5. 性能分析 无论是日常生活还是很多科学领域当中,排序都是会经常面对的问题,比如按成绩对学校的学生排序,按薪水多少对公司员工排序等。 根据…...
【k8s】Pod 的钩子
Kubernetes(K8s)中的 Pod 可以使用以下几种勾子(钩子)来执行在容器生命周期的不同阶段运行的操作: PostStart(启动后):该勾子在容器启动之后立即运行。它可以用于在容器内执行一些初…...
淄博做网站多少钱/重庆seo排名技术
时间:2014年4月29日 十天冲刺第六天: 今天完成进度: 帮周亚豪一起设计界面LOGO,查找Android自定义对话框(Dialog)位置,大小的方法。 明天计划进度: 实现Android自定义对话框(Dialog)位置,大小,结合程序考虑设置弹出条件…...
做系统之前的网站收藏在哪/360优化大师官方最新
package org.rui.pattern;import junit.framework.*;/*** 为了使同一个方法调用能够产生不同的行为,State 模式在代理(surrogate)的* 生命周期内切换它所相应的实现(implementation)。当你发现,在决定怎样实…...
精品在线开发网站建设/国内真正的永久免费建站
一、项目需求 最近接了一个需求,用户手动在画板上进行绘制图案,绘制完成后,将绘制好的作品上传到服务器,涉及到的功能点(这篇文章有点长): 项目的运行环境是在手机端,canvas 的尺寸…...
wordpress 百度seo/百度推广助手电脑版
每天都在生成太多数据。尽管有时我们可以使用Rapids或Parallelization等工具来管理大数据,但如果您使用的是TB级数据,Spark是一个很好的工具。尽管这篇文章解释了如何使用RDD和基本的Dataframe操作,但是我在使用PySpark Dataframes时错过了很…...
wordpress怎么连接空间/搜索词热度查询
我们知道一张色彩鲜艳的美照,看起来自然赏心悦目的,同样要是一张素描照,同样的效果看起来也是不错的。”那么问题来了,你可以使用一只铅笔和一张画纸来完成一张素描照,但这花费的时间也不在少数,而且你还得…...
丹阳网站制作/营销的概念是什么
addEventListener 定义和用法 addEventListener 用于向指定元素添加事件句柄(又称事件处理函数) 语法 element.addEventListener(event, function, useCapture) element 文档节点,duocument,window。 event 必须有。是一个…...