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

Posted 大西瓜FPGA --logic3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA与simulink联合实时环路系列——实验二LED相关的知识,希望对你有一定的参考价值。

实验二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-->https://daxiguafpga.taobao.com

 

博客资料、代码、图片、文字等属大西瓜FPGA所有,切勿用于商业! 若引用资料、代码、图片、文字等等请注明出处,谢谢!

 

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

以上是关于FPGA与simulink联合实时环路系列——实验二LED的主要内容,如果未能解决你的问题,请参考以下文章

FPGA与simulink联合实时环路系列—开篇

Simulink教程案例2基于Simulink的模糊控制器设计与实现

Simulink教程案例1基于Simulink的PID控制器设计与实现

matlab可以与哪些软件联合仿真

Simulink教程案例5基于Simulink的MPC控制器设计与实现

基于System Generator的1024QAM-FM软件无线电联合调制解调系统的FPGA实现