分享

用FPGA点亮一盏闪烁的LED灯

 2017helloworld 2017-08-21

写过软件的朋友一般都写过”hello world!”,因为这个是最简单的程序。在FPGA上最简单的应用就是点亮一盏闪烁的LED。

用FPGA点亮一盏闪烁的LED灯

FPGA驱动LED示意图

首先用ISE新建一个工程,双击Xilinx ISE Design Suite 12.4图标

启动软件,打开ISE Project Navigator窗口,如下图

用FPGA点亮一盏闪烁的LED灯

ISE软件界面

点击New Project...按钮

用FPGA点亮一盏闪烁的LED灯

新建工程

打开New Project Wizard

用FPGA点亮一盏闪烁的LED灯

创建新工程

输入新工程名字和路径,按Next按钮

用FPGA点亮一盏闪烁的LED灯

输入工程名和路径

在下一个窗口中指定所使用的FPGA芯片类型,封装,速度

用FPGA点亮一盏闪烁的LED灯

指定FPGA芯片

点击Next弹出确认新建工程信息窗口,确认无误后点Finish

用FPGA点亮一盏闪烁的LED灯

确认工程信息

至此工程已经建好的,但是仅仅是一个空工程,里面没有任何文件。现在为工程加入源文件,右键单击xc3s200a-4vq100,选择New Source Wizard

用FPGA点亮一盏闪烁的LED灯

新建源文件

左边是源文件的类型,选VHDL Module,输入blinker,点Next

用FPGA点亮一盏闪烁的LED灯

定义输入轮输出信号

在Port Name中输入 clk_i 方向 in ,blinker_o 方向out ,点Next

用FPGA点亮一盏闪烁的LED灯

确认端口信息

确认无误后点Finish 。

将生成的源文件模板做如下修改

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

-- Uncomment the following library declaration if using

-- arithmetic functions with Signed or Unsigned values

--use IEEE.NUMERIC_STD.ALL;

-- Uncomment the following library declaration if instantiating

-- any Xilinx primitives in this code.

--library UNISIM;

--use UNISIM.VComponents.all;

entity blinker is

Port ( clk_i : in STD_LOGIC;

blinker_o : out STD_LOGIC);

end blinker;

architecture Behavioral of blinker is

signal cnt_r : std_logic_vector(22 downto 0) := (others=>'0');

begin

process(clk_i) is

begin

if rising_edge(clk_i) then

cnt_r <= cnt_r="" +="">

end if;

end process;

blinker_o <=>

end Behavioral;

其中信号cnt_r将输入时钟做2^23次分频,下图直观的显示了输入时钟分频得到输出信号的过程。

用FPGA点亮一盏闪烁的LED灯

分频输入时钟得到输出信号

保存文件,然后双击Floorplan Area/IO/Logic(PlanAhead)标签

用FPGA点亮一盏闪烁的LED灯

分配引脚

点I/O Ports标签

用FPGA点亮一盏闪烁的LED灯

I/O Ports标签

在Package Pins窗口中指定引脚

用FPGA点亮一盏闪烁的LED灯

指定引脚

保存,退出PlanAhead,在ISE中双击Generate Programming File 生成可下载的位流文件

用FPGA点亮一盏闪烁的LED灯

生成位流文件

在工程文件夹内可找到生成的位流文件

用FPGA点亮一盏闪烁的LED灯

位流文件

用FRF_Loader将位流文件配置进FPGA即可看到LED闪烁

用FPGA点亮一盏闪烁的LED灯

配置FPGA

最后效果

用FPGA点亮一盏闪烁的LED灯

点亮后的LED

这是最简单的应用,以后会为大家带来更多,更好玩的……

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多