FPGA与simulink联合实时环路系列——实验一 测试
实验一 测试
实验内容
在simulink创建测试模块,通过测试模块产生信号,再传送到FPGA,FPGA读出后再将信号无处理传送回simulink进行显示。由此来测试整个硬件在环的功能是否正常,并且熟悉整个基础开发流程。
创建模型
创建开发板的信息
在Matlab的指令窗口输入以下指令,hdlsetuptoolpath('ToolName','Altera Quartus II','ToolPath','C:\altera\11.0\quartus\bin\quartus.exe(修改为软件安装的路径)')。

Simulink菜单操作 Verification Wizards -> FPGA-in-the-Loop (FIL)....
或Matlab 提示符输入:filWizard。

在实验开始之前,需要根据大西瓜开发板的设计原理图,对开发板的信息进行配置,主要是对时钟信号和复位信号、采用的FIL的通信接口进行配置,如下图所示。

在board name的选项中选择创建新的用户板卡。连接方式采用JTAG进行连接,大西瓜FPGA板卡上没有以太网,由此采用JTAG接口。
在板卡的配置信息窗口中,首先进行板卡上FPGA芯片信息的配置,如下图所示。
设置板卡的名字logic_board,FPGA的厂商为Altera,芯片为cyclone IV E,选择对应的芯片类型 EP4C6E22C8,JTAG链位置默认。
JTAG接口类型,时钟信号的频率、引脚号、时钟类型,复位信号的引脚号,复位的电平信息的设置,如下图所示。


保存板子的配置信息,在接下来的实验均要使用到该信息文件。

创建simulink模型
在board name中选择前面配置好的板卡信息,板卡名为logic_board,选择JTAG接口,点击next。

添加RTL文件,即设计的verilog或者是VHDL设计的代码文件,并将该文件设置为顶层文件。


选择自动根据顶层文件生成IO,各个IO的详细信息在栏目中,IO的类型的也是很重要的,在以后的设计中要主要IO类型选择的正确。同时对复位信号的电平和时钟使能信号的电平进行设置。如下图所示。

输出信号类型,这里可能会和前面的IO混淆,其实这里的信号是前面IO中由FPGA输出到simulink中的信号,这里的信号是dataout,该信号输出到simulink中,信号的位宽为8bit。

生成simulink模型和硬件模型,输出的文件类型和文件所在文件夹如下图所示。


当出现上图中,红色标注的信息时,simulink模型和硬件模型创建成功,接下来进行simulink模型的设计和硬件的下载验证。
Simulink模块设计


RTL代码如下所示:
|
LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.numeric_std.ALL; ENTITY fil_led IS port( datain : in std_logic_vector(7 downto 0); dataout: out std_logic_vector(7 downto 0); clk: in std_logic; clk_en: in std_logic; reset: in std_logic); end entity; architecture rtl of fil_led is begin process(clk) begin if clk'event and clk='1' then if reset = '0' then dataout <= (others => '0'); elsif clk_en = '1' then dataout <= datain; end if; end if; end process; end rtl; |
把Matlab产生的信号,通过JTAG接口输出到FPGA然后,FPGA再通过JTAG传送到Matlab,用于测试整个环路。
添加锯齿波产生模块,如下图所示:


设置锯齿波模块的参数。

添加示波器模块,如下图所示。


修改运行的时间

双击fil_test模块,下载硬件sof文件(由此,该实验中硬件模型没有修改,由此,直接选择默认的sof保存路径,接下来的实验中,由于硬件模型修改了,所以直接在Quartus II工程中下载)。



实验现象
双击示波器后出现

每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号“科乎”。

FPGA与simulink联合实时环路系列——实验一 测试的更多相关文章
- FPGA与simulink联合实时环路系列——实验二LED
实验二LED 实验内容 在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对 ...
- FPGA与simulink联合实时环路系列——实验三 按键key
实验三 按键key 实验内容 在FPGA的实验中,经常涉及到按键的使用,按键是必不可少的人机交互的器件之一,在这些实验中,有时将按键的键值读取显示到数码管.LCD或者是通过串口传送到PC的串口助手上进 ...
- FPGA与simulink联合实时环路系列—开篇
FPGA与simulink联合实时环路系列—开篇 作为网络上第一个开源此技术,笔者迫不及待地想将此技术分享出来,希望大家多多支持.笔者从2011年接触FPGA以来,从各个方面使用FPGA,无论是控制. ...
- Mininet 系列实验(六)
写在前面 这次实验遇到了非常多问题,非常非常多,花了很多时间去解决,还是有一些小问题没有解决,但是基本上能完成实验.建议先看完全文再开始做实验. 实验内容 先看一下本次实验的拓扑图: 在该环境下,假设 ...
- Mininet 系列实验(四)
实验内容 本次实验拓扑图: 在该环境下,h0 向 h1 发送数据包,由于在 mininet 脚本中设置了连接损耗率,在传输过程中会丢失一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0- ...
- Mininet 系列实验(三)
实验内容 基础 Mininet 可视化界面进行自定义拓扑及拓扑设备自定义设置,实现自定义脚本应用. 参考 Mininet可视化应用 实验环境 虚拟机: Oracle VM VirtualBox Ubu ...
- Mininet 系列实验(一)
关于SDN的第一个实验,似乎实验室里的前辈们也都是从这里开始的. 实验内容 使用源码安装Mininet 参考 Mininet使用源码安装 实验环境 虚拟机:Oracle VM VirtualBox U ...
- WebGoat系列实验Injection Flaws
WebGoat系列实验Injection Flaws Numeric SQL Injection 下列表单允许用户查看天气信息,尝试注入SQL语句显示所有天气信息. 选择一个位置的天气,如Columb ...
- WebGoat系列实验Cross-Site Scripting (XSS)
WebGoat系列实验Cross-Site Scripting (XSS) PhishingTitle 本次实验是在一个已知存在XSS漏洞的页面进行钓鱼攻击.通过使用XSS与HTML注入,在页面中注入 ...
随机推荐
- jQuery构造函数init参数分析(一)
在我的上一篇随笔里面分析了jQuery的构造函数,jQuery对象中有一个原型方法init才是是真正的构造函数,通过init的原型对象跟jQuery的原型对象保持引用关系使得init的实例可以正常调用 ...
- maven:用appassembler-maven-plugin打包含有自定义目录的JAVA程序
问题说明: 用maven构建了一个项目,目录结构如下: appassemblerd的配置: <plugin> <groupId>org.codehaus.mojo</gr ...
- 实用控件分享:自定义逼真相机光圈View
最近手机界开始流行双摄像头,大光圈功能也应用而生.所谓大光圈功能就是能够对照片进行后期重新对焦,其实现的原理主要是对拍照期间获取的深度图片与对焦无穷远的图像通过算法来实现重新对焦的效果. 在某双摄手机 ...
- 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab
大多数应用程序都会在底部使用3~5个Tab对应用程序的主要功能进行划分,对于一些信息量非常大的应用程序,还需要在每个Tab下继续划分子Tab对信息进行分类显示. 本文实现采用FragmentTabHo ...
- Android Studio 导入百度地图jar和so的正确方式
//这部分内容在百度地图的官方文档中写的比较模糊 //感觉在这种事情上浪费实际很不好,遂记录如下 //以下仅是方法之一 step1 下载sdk后解压,并把libs中的全部内容拷贝到app/libs目录 ...
- HTML5-03 页面布局
概述 HTML 文档中的元素是一个接着一个排列的,只是简单地在在块级元素的前后加上拆行,是一种流水布局.但是,我们所见到的 Web 页面按照一定的规则布局排版的(通常是多列的),所以就要借助一定的方法 ...
- [C#6] 4-string 插值
0. 目录 C#6 新增特性目录 1. 老版本的代码 internal class Person { public string Name { get; set; } public int Age { ...
- Windows 8.1 低功耗蓝牙开发
1. 概述 在蓝牙4.0发布以前,给大家的直观印象就是蓝牙耳机,它就是用来满足短距离内中等带宽的音频通信需求.然而蓝牙4.0发布之后,用途就大不一样了,特别是现在物联网和可穿戴之风盛行的年代,很多小玩 ...
- ORA-12523: TNS: 监听程序无法找到适用于客户机连接的例程
今天使用PL/SQL Developer连接到一台新的测试服务器时,遇到ORA错误:ORA-12523: TNS: 监听程序无法找到适用于客户机连接的例程.对应的监听日志文件里面错误为TNS-1252 ...
- YourSQLDba将数据库置于紧急模式的原因浅析
从SQL SERVER 2000 上迁移了一个数据库到SQL SERVER 2008 R2上,暂且用DataBaseName代替迁移的真实的数据库名(后面的资料也会将数据库真实的名字用DataBase ...