基于BASYS2的VHDL跑马灯程序

本文介绍了作者作为FPGA新手使用BASYS2板进行的第一个VHDL程序——跑马灯。程序通过一个系统时钟信号控制8个LED的亮灭,实现跑马灯效果。程序中详细解释了process函数的作用,包括如何产生时钟跳变信号和控制LED亮灭。最终,程序可以通过ISE生成bit流并下载到BASYS2板上进行验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚开始学习使用BASYS2板,自己的第一个VHDL程序就是一个跑马灯,然后因为这个程序是网上找的然后自己改的,测试完全可以运行,现写上我对这个程序的理解,如果错了还希望大家指正。

程序源代码:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all; 

entity testdomo is
PORT(	clock : in std_logic;
	row:out std_logic_vector(0 to 7));
end testdomo;

architecture Behavioral of testdomo is
CONSTANT fp_clka:INTEGER:=6250000;   --时钟频率50MHz的1/8
SIGNAL a: INTEGER RANGE 0 TO 6250001;
signal saomiao :integer range 0 to 9;
SIGNAL clka: std_logic;

BEGIN
PROCESS (clock)                                      
BEGIN
 IF rising_edge(clock) THEN
  IF a<fp_clka then 
   a<=a+1;
   clka<=clka;
  ELSE 
   a<=0;
   clka<= NOT clka;  --clka产生一次跳变信号,
  end if;
 end if;
end process;

process(clka)        --clka作为进程敏感信号
BEGIN  
IF rising_edge(clka) THEN
  saomiao<=saomiao+1;
  if saomiao=9 then 
   saomiao<=0;
  end if;
 case saomiao is 
     when 0 =>row<="10000000";
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值