用FPGA实现的流水灯VHDL代码
设计目的: 在8盏LED灯每隔一秒钟顺序循环提供高电平使LED亮,复位键使LED全部置低电平使LED灭,重新进行流水灯。 LED(0) LED( CLK 1) 设计分析: 端口: 输入端口:clk , rst 输出端口:LED0~LED7 功能: 8盏LED灯实现流水灯 中间变量: signal cnt: LED: STD_LOGIC_VECTOR(25 downto 0); signal variable range 0 to 8; 其中cnt实现记数功能,对时钟进行分频。 Step实现让具体哪一盏灯亮。 STD_LOGIC_VECTOR(7 downto 0); step: integer
使用引脚: 复位rst(Y18)、时钟clk(D11)、LED灯(N19、 N15、 R20、R18、U20、T18、U18、W20); 具体设计: 1、 打开设计软件Xilinx ISE 11,新建工程 2、 新建VHDL Module设置代码,对时钟进行分频: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity LED_FLASH_VHD is Port ( clk : in STD_LOGIC; rst : in STD_LOGIC; LED_RUN end LED_FLASH_VHD; architecture signal signal begin process(clk,rst) variable step: integer range 0 to 8; begin if(rst='0')then LED<=\"00000000\"; step:=0; cnt<=(others=>'0'); elsif(clk'event and clk='1')then cnt: LED: Behavioral of LED_FLASH_VHD is STD_LOGIC_VECTOR(25 STD_LOGIC_VECTOR(7 downto 0); downto 0); : out
STD_LOGIC_VECTOR (7 downto 0));
if(cnt=\"11111110010100000011001100\")then case step is when 0=>LED<=(others=>'0'); when 1=>LED<=(0=>'1',others=>'0'); when 2=>LED<=(1=>'1',others=>'0'); when 3=>LED<=(2=>'1',others=>'0'); when 4=>LED<=(3=>'1',others=>'0'); when 5=>LED<=(4=>'1',others=>'0'); when 6=>LED<=(5=>'1',others=>'0'); when 7=>LED<=(6=>'1',others=>'0'); when 8=>LED<=(7=>'1',others=>'0'); end case;
step:=step+1; if(step>=9)then step:=0; end if; cnt <=(others=>'0'); else cnt<=cnt+1; end if; end if; end process; LED_RUN<=LED; end Behavioral; 3、 对管脚进行约束。 添加new source选择Implementation Constraints File 单击Implementation下的ucf文件,在process双击Edit Constraints编写约束代码。
Net \"rst\" LOC=Y18; Net \"clk\" LOC=D11; Net \"LED_RUN<0>\" LOC=N19; Net \"LED_RUN<1>\" LOC=N15; Net \"LED_RUN<2>\" LOC=R20; Net \"LED_RUN<3>\" LOC=R18; Net \"LED_RUN<4>\" LOC=U20; Net \"LED_RUN<5>\" LOC=T18; Net \"LED_RUN<6>\" LOC=U18; Net \"LED_RUN<7>\" LOC=W20;
4、返回vhd文件,Process窗口,双击Manage Configuration Project(iMPACT)进行烧录。 双击Boundary Scan,在右边空白处单击右健,选择Initialize Chain 双击图标选择bit文件。右键图标选择Program
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务