码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-06-25 17:41:57      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:

实验二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;?

?

把Matlab产生的信号,通过JTAG接口输出到FPGA然后,FPGA再通过JTAG传送到Matlab,用于测试整个环路。

技术分享

技术分享

技术分享

技术分享

技术分享

修改运行的时间

技术分享

下载硬件sof文件

技术分享

?

技术分享

技术分享

双击示波器后出现

技术分享

实验现象

技术分享

技术分享

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

标签:

原文地址:http://www.cnblogs.com/logic3/p/5616549.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!