前言:
现在兄弟们对“fpga数码管闪烁原理”大概比较注重,咱们都想要了解一些“fpga数码管闪烁原理”的相关文章。那么小编在网摘上收集了一些对于“fpga数码管闪烁原理””的相关文章,希望我们能喜欢,各位老铁们快快来学习一下吧!写过软件的朋友一般都写过”hello world!”,因为这个是最简单的程序。在FPGA上最简单的应用就是点亮一盏闪烁的LED。
首先用ISE新建一个工程,双击Xilinx ISE Design Suite 12.4图标
启动软件,打开ISE Project Navigator窗口,如下图
点击New Project...按钮
打开New Project Wizard
输入新工程名字和路径,按Next按钮
在下一个窗口中指定所使用的FPGA芯片类型,封装,速度
点击Next弹出确认新建工程信息窗口,确认无误后点Finish
至此工程已经建好的,但是仅仅是一个空工程,里面没有任何文件。现在为工程加入源文件,右键单击xc3s200a-4vq100,选择New Source Wizard
左边是源文件的类型,选VHDL Module,输入blinker,点Next
在Port Name中输入 clk_i 方向 in ,blinker_o 方向out ,点Next
确认无误后点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 + 1;
end if;
end process;
blinker_o <= cnt_r(22);
end Behavioral;
其中信号cnt_r将输入时钟做2^23次分频,下图直观的显示了输入时钟分频得到输出信号的过程。
保存文件,然后双击Floorplan Area/IO/Logic(PlanAhead)标签
点I/O Ports标签
在Package Pins窗口中指定引脚
保存,退出PlanAhead,在ISE中双击Generate Programming File 生成可下载的位流文件
在工程文件夹内可找到生成的位流文件
用FRF_Loader将位流文件配置进FPGA即可看到LED闪烁
最后效果
这是最简单的应用,以后会为大家带来更多,更好玩的……
标签: #fpga数码管闪烁原理