FPGA与simulink联合实时环路系列——实验二LED
2016-06-25 16:47
225 查看
实验二LED
实验内容
在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对信号进行分配引脚。创建模型
在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。
硬件设计
由于led是从开发板上进行输出的,所以需要对FPGA设计工程进行修改,将led信号从最底层的模块进行映射到顶层形成引脚信号,然后根据FPGA板的引脚分配进行引脚约束,最后进行综合。由此需要在底层rtl将位选信号和段选信号进行映射到顶层,需要将最顶层的信号,一层一层地映射出来,由底至顶的顺序如下:fil_led_wrapper、FILCore、fil_led_fil。
在FILCore文件中进行如下修改(红色线标注)。
在fil_led_fil文件中进行如下修改,红色线标注。
引脚配置采用脚本文件进行配置。
综合结果
Simulink模块设计
实现代码
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; |
修改运行的时间
下载硬件sof文件
双击示波器后出现
实验现象
大西瓜FPGA-->https://daxiguafpga.taobao.com
博客资料、代码、图片、文字等属大西瓜FPGA所有,切勿用于商业! 若引用资料、代码、图片、文字等等请注明出处,谢谢!
每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号“科乎”。相关文章推荐
- MyEclipse15 中tomcat的部署
- 棋盘分割[NOI 1999][Codevs 1711]
- jsoncpp初探
- jsoncpp初探
- springboot-aop访问拦截
- 类——类的复用(组合、继承、代理)
- 设计模式之原型模式
- Anroid Touch 事件传递机制
- JavaScript学习笔记十一:高阶函数-map/reduce
- Twitter分布式自增ID算法Snowflake
- 自定义加载等待动画,仿金山词霸
- java基础(三)方法/数组/堆栈/
- WebSocket
- vim设置文本宽度
- sqlite3的图片的(二进制数据)存取操作
- Caused by: java.lang.ClassNotFoundException: Didn't find class "net.oschina.app.AppContext" on path:
- 演练:使用 Visual C# 从 Windows 窗体控件继承
- 线性代数个人系统总结(摘抄,来源多,侵删)
- 焦点图的实现
- 面向对象的特征有哪些方面