FPGA与simulink联合实时环路系列—开篇
FPGA与simulink联合实时环路系列—开篇
作为网络上第一个开源此技术,笔者迫不及待地想将此技术分享出来,希望大家多多支持。笔者从2011年接触FPGA以来,从各个方面使用FPGA,无论是控制、图像视频、IC前端验证、仿真测试,各个部分都有所触及,2015年第一次接触到FPGA与matlab的硬件在环实时仿真,就对感受到技术的强大,虽然这里面还有很到的问题,但是作为最强大的仿真验证工具Matlab与最强大的可编程器件的结合,做仿真测试很方便的,可直接通过matlab产生测试信号或者通过matlab接收分析FPGA处理完成后的信号。
如今FPGA开发过程势必要涉及到一个过程:验证仿真,验证很多情况下是在Matlab上进行的,而仿真大部分初学者都是采用Modelsim仿真软件进行。比如设计一个信号滤波模块,验证该滤波模块是在Matlab上进行设计验证,得到该模块的设计参数和设计结构,然后再转换为RTL代码,再用Modelsim软件进行仿真,这个过程涉及到采用matlab软件产生待测试的信号,输入到RTL代码中,然后在通过Modelsim软件进行仿真得到处理后的信号,再将该信号输出到文件,最后通过Matlab软件分析处理后的信号的频谱,评估滤波效果。验证评估测试完成后,在综合下载到板上。该流程如下所示:
硬件在环 (Hardware in the Loop, HIL)是一种半实物实时仿真技术,实现整个系统的半实物实时仿真测试,可以方便快速实现设计方案的验证与优化,缩短开发周期,降低研发成本。HIL先后在航天航空、军事、汽车等领域得到推广应用。
硬件在环是一种半实物(FPGA)实时仿真(simulink)技术,利用该原理可以将FPGA和simulink联合起来,通过PC与FPGA的物理连线,实现FPGA和PC端simulink之间的通信,目前该物理连接方式有以太网和JTAG两中方式,其实这个连接的原理与Quartus II 的signaltap类似,都是在FPGA中生成相应的模块,负责信息数据的接收和发送来完成整个硬件在环的通信过程,如果之前接触过signaltap,理解起来就相对简单容易。
由此,采用硬件在环有什么好处呢?采用硬件在环就可以省略了modelsim这中间环节,在简单的实验中,直接进行板级验证,直接在simulink上的生成待测试的信号,再将待测试的信号,通过以太网或者JTAG接口传送到FPGA,然后再将FPGA处理后(采集到)的信号传送到simulink进行分析,由此加快RTL的设计验证过程。
同时,该方法也可以应用于图像/音频处理领域,通过FPGA采集图像/音频信号,再通过硬件在环传送回PC端的simulink(在此可以将FPGA视为一个采集预处理板卡的功能),然后在simulink端做处理和分析,由此可以降低购买图像或者音频采集板卡的成本,并且将PC端的simulink和FPGA联合起来形成一个实时的处理系统,具有很大的意义。
每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号“科乎”。
FPGA与simulink联合实时环路系列—开篇的更多相关文章
- FPGA与simulink联合实时环路系列——实验二LED
实验二LED 实验内容 在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对 ...
- FPGA与simulink联合实时环路系列——实验一 测试
实验一 测试 实验内容 在simulink创建测试模块,通过测试模块产生信号,再传送到FPGA,FPGA读出后再将信号无处理传送回simulink进行显示.由此来测试整个硬件在环的功能是否正常,并且熟 ...
- FPGA与simulink联合实时环路系列——实验三 按键key
实验三 按键key 实验内容 在FPGA的实验中,经常涉及到按键的使用,按键是必不可少的人机交互的器件之一,在这些实验中,有时将按键的键值读取显示到数码管.LCD或者是通过串口传送到PC的串口助手上进 ...
- Prometheus 系列开篇:为什么要学 Prometheus ?
「Prometheus 系列开篇:为什么要学 Prometheus ?」首发于[陈树义]公众号,点击跳转到原文https://mp.weixin.qq.com/s/HCS6X3l6nVBw_hAnd6 ...
- [翻译svg教程]svg学习系列 开篇
目录 [翻译svg教程]svg学习系列 开篇 [翻译svg教程 ]svg 的坐标系统 [翻译svg教程]svg 中的g元素 [翻译svg教程]svg中矩形元素 rect [翻译svg教程]svg中的c ...
- WPF Step By Step 系列 - 开篇 ·
WPF Step By Step 系列 - 开篇 公司最近要去我去整理出一个完整的WPF培训的教程,我刚好将自己学习WPF的过程和经验总结整理成笔记的方式来讲述,这里就不按照书上面的东西来说了,书本上 ...
- 【转】Entity Framework技术导游系列开篇与热身
转自:http://blog.csdn.net/bitfan/article/details/12779517 Entity Framework走马观花 之 把握全局 ================ ...
- Windows 8实例教程系列 - 开篇
原文:Windows 8实例教程系列 - 开篇 2012年10月26日,微软发布Windows 8操作系统以及自主品牌平板电脑Surface,Windows作为世界上最流行的操作系统,发布一周内,下载 ...
- JVM基础系列开篇:为什么要学虚拟机?
跟许多人一样,我一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮看看.所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试.但我经过了几年的学习和实战,我发现其实学习虚拟机并 ...
随机推荐
- [threeJs][新浪股票api][css3]3D新浪财经数据-最近A股涨的也太疯了......
使用threeJS搭配新浪股票财经API 在线: http://wangxinsheng.herokuapp.com/stock 截图: A股涨幅榜[一片红10%] 检索[单击添加到自选内,自选使用l ...
- MFC-简单的函数使用
1. MessageBox(str);很简单的一个函数,该函数参数为字符串.用来弹出一个窗口显示str的内容,str为一个字符串. 2. UpdateData();该函数是vc++中处理控件变量的 ...
- 爬虫的入门以及scrapy
一.简介 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟 ...
- PresentViewController切换界面
视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画, 其中切换方法如下: – presentViewCon ...
- ASP.NET Mvc实用框架(一)Ioc、仓储模式和单元工作模式
Framework.EF 首先看一下这个类库: Extended文件夹存放的是EntityFramework.Extensions这个插件的源代码,没有别的原因,就是本人觉得这个插件挺好的,每次省的下 ...
- 路径分析之NetworkX实例
#!/usr/bin/env python # -*- coding: utf-8 -*- import networkx as nx import numpy as np import json i ...
- RSA算法及其在iOS中的使用
因为项目中需要传输用户密码,为了安全需要用RSA加密,所以就学习了下RSA加密在iOS中的应用. 关于RSA的历史及原理,下面的两篇文章讲的很清楚了: http://www.ruanyifeng.c ...
- TCP流量控制与拥塞控制
为了更好地对传输层进行拥塞控制,因特网建议标准定义了以下四种算法:慢启动.拥塞避免.快重传和快恢复. 1 接收窗口rwnd与拥塞窗口cwnd 发送方在确定发送报文段的速率时,既要根据接收方的接收能力, ...
- css sprite简便方法切 《评分五角星》
摘抄自我趣同伴的心得: 大家可以会遇到过要做满意度用星级来评分的情况,类似这种 实现的方法有很多,大家最初想到的可能是根据满意度有多少种情况就切多少种图,然后拼在一张图里面,通过控制图片的位置来实现. ...
- MongoDB学习笔记~关于官方驱动集成IQueryable之后的一些事
回到目录 关于官方驱动集成IQueryable之后的一些事,有好事也有坏事,好事就是它会将你的linq语句非常友好的翻译成MongoDB语句,而坏事就是有一些linq语句不会被翻译,不会被翻译的代价就 ...