实验环境
编译软件及版本:vivado 2019.2
编译语言:verilog
硬件开发板:MiZ702N
前言
最近开始学习FPGA,开始记录自己踩的坑,不然会忘,废话不多说 ,下面进入正题。
正文
我做了两种流水灯的实现,一种是全亮,逐个熄灭其中一个;另一种是全灭,逐个点亮;下文记录的是全亮,逐个熄灭其中一个这种。
流水灯程序代码
`timescale 1ns / 1ps
//
//流水灯,八个灯依次点亮
// Module Name: led_test
//
module led_test(
clk, //时钟
reset, //复位
led //输出状态灯
);
input clk;
input reset;
output [7:0] led;
reg [7:0] led;
reg [31:0] counter; //计数器
reg [3:0] state; //状态控制
//计数器
always @(posedge clk or negedge reset)
begin
if(!reset)
begin
counter <= 32'd0;
end
else if ( counter == 32'd900_000_000)
begin
counter <= 32'd0;
end
else
begin
counter <= counter + 32'd1;
end
end
//状态跳转,通过计数器的计数值决定
always @(posedge clk or negedge reset)
begin
if(