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联合实时环路系列—开篇的更多相关文章

  1. FPGA与simulink联合实时环路系列——实验二LED

    实验二LED 实验内容 在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对 ...

  2. FPGA与simulink联合实时环路系列——实验一 测试

    实验一 测试 实验内容 在simulink创建测试模块,通过测试模块产生信号,再传送到FPGA,FPGA读出后再将信号无处理传送回simulink进行显示.由此来测试整个硬件在环的功能是否正常,并且熟 ...

  3. FPGA与simulink联合实时环路系列——实验三 按键key

    实验三 按键key 实验内容 在FPGA的实验中,经常涉及到按键的使用,按键是必不可少的人机交互的器件之一,在这些实验中,有时将按键的键值读取显示到数码管.LCD或者是通过串口传送到PC的串口助手上进 ...

  4. Prometheus 系列开篇:为什么要学 Prometheus ?

    「Prometheus 系列开篇:为什么要学 Prometheus ?」首发于[陈树义]公众号,点击跳转到原文https://mp.weixin.qq.com/s/HCS6X3l6nVBw_hAnd6 ...

  5. [翻译svg教程]svg学习系列 开篇

    目录 [翻译svg教程]svg学习系列 开篇 [翻译svg教程 ]svg 的坐标系统 [翻译svg教程]svg 中的g元素 [翻译svg教程]svg中矩形元素 rect [翻译svg教程]svg中的c ...

  6. WPF Step By Step 系列 - 开篇 ·

    WPF Step By Step 系列 - 开篇 公司最近要去我去整理出一个完整的WPF培训的教程,我刚好将自己学习WPF的过程和经验总结整理成笔记的方式来讲述,这里就不按照书上面的东西来说了,书本上 ...

  7. 【转】Entity Framework技术导游系列开篇与热身

    转自:http://blog.csdn.net/bitfan/article/details/12779517 Entity Framework走马观花 之 把握全局 ================ ...

  8. Windows 8实例教程系列 - 开篇

    原文:Windows 8实例教程系列 - 开篇 2012年10月26日,微软发布Windows 8操作系统以及自主品牌平板电脑Surface,Windows作为世界上最流行的操作系统,发布一周内,下载 ...

  9. JVM基础系列开篇:为什么要学虚拟机?

    跟许多人一样,我一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮看看.所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试.但我经过了几年的学习和实战,我发现其实学习虚拟机并 ...

随机推荐

  1. MYSQL进阶,新手变司机

    一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( S ...

  2. js => ES6一个新的函数写法

    今天在网上参观到一个写法,返回字符串个个字母的个数 var arr='aaabbccaa'; var info = arr.split('').reduce((p, k) => (p[k]++ ...

  3. SharePoint 2013 图文开发系列之Visual Studio 创建母版页

    一直以来,对于SharePoint母版页的创建,都是使用SharePoint Designer来创建和修改的,而后接触了SharePoint 2013,发现可以使用Html文件,通过设计管理器导入,然 ...

  4. EventBus源码解析 源码阅读记录

    EventBus源码阅读记录 repo地址: greenrobot/EventBus EventBus的构造 双重加锁的单例. static volatile EventBus defaultInst ...

  5. 浅谈html5 响应式布局

    一.什么是响应式布局? 响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本. 这个概念是为解决移动互联 ...

  6. C++实现Ping

    这是一个老话题了,但是我刚学会... 我们的目的是实现这么个东西: 之所以用红框框一下是因为,从baidu.com到123.125.114.144的过程是DNS解析,我们暂时先实现ping的部分. 基 ...

  7. [Java编程思想-学习笔记]第4章 控制执行流程

    4.1  return 关键字return有两方面的用途:一方面指定一个方法结束时返回一个值:一方面强行在return位置结束整个方法,如下所示: char test(int score) { if ...

  8. MongoDB学习笔记~以匿名对象做为查询参数,方便查询子对象

    回到目录 对于MongoDB的封装还在继续,对于不断追求简单的编程还在继续,对于喜欢代码的那么感觉,还在继续... 当你的mongo数据表里有子对象时,尤其是列表对象时,使用官方的驱动很是不爽,要记得 ...

  9. android开发之onCreate( )方法详解

    这里我们只关注一句话:This is where you should do all of your normal static set up.其中我们只关注normal static,normal: ...

  10. InfluxDB学习之InfluxDB的HTTP API查询操作

    在 InfluxDB学习 的上一篇文章:InfluxDB学习之InfluxDB的HTTP API写入操作 中,我们介绍了使用InfluxDB的HTTP API进行数据写入操作的过程,本文我们再来介绍下 ...