点亮LED

恭喜你拿到我们的小脚丫开发板,在这个系列教程里你将更深入学习FPGA的设计同时更深入了解我们的小脚丫。如果你还没有开始使用小脚丫,也可以从这里一步一步开始你的可编程逻辑学习。请先准备好软硬件文档,因为FPGA的设计是和硬件息息相关,会经常用到这些文档。你还必须先安装好Quartus Prime设计工具,这是用小脚丫STEP-MAX10必须用到的。

1. 硬件说明

STEP-MAX10开发板虽然很小巧,上面也集成了不少外设,在本实验里我们就看看如何用FPGA控制简单外设,如何用按键或者开关控制LED的亮和灭。

这是开发板上的8个红色LED,LED1~8信号连接到FPGA的引脚,作为FPGA输出信号控制。当FPGA输出低电平时LED变亮,当FPGA输出高电平时LED熄灭。
\\

这是开发板上4个按键和4个开关,Key1~4是按键控制信号,SW1~4是开关控制信号,都连接到FPGA的引脚,作为FPGA的输入信号。当按键断开时,FPGA输入为高电平,当按键按下时,FPGA输入为低电平;当开关断开(OFF)时,FPGA输入为低电平,当开关合上(ON)时,FPGA输入为高电平。
所以我们可以用开关或者按键来控制LED的亮灭。

2. Verilog代码

// ********************************************************************
// >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<
// ********************************************************************
// File name    : LED.v
// Module name  : LED
// Author       : STEP
// Description  : control LED
// Web          : www.stepfpga.com
// 
// --------------------------------------------------------------------
// Code Revision History : 
// --------------------------------------------------------------------
// Version: |Mod. Date:   |Changes Made:
// V1.0     |2017/03/02   |Initial ver
// --------------------------------------------------------------------
// Module Function:利用按键和开关的状态来控制LED灯的亮灭。
 
module LED (key,sw,led);
 
	input [3:0] key;						//按键输入信号
	input [3:0] sw;							//开关输入信号
	output [7:0] led;						//输出信号到LED
 
	assign led = {key,sw};                                          //assign连续赋值。大括号是拼接符,表示把key和sw拼接组成一个新的8位数赋值给led
 
endmodule



3. 引脚分配

综合(synthesize)完成之后一定要配置FPGA的引脚到相应的外设,这样下载FPGA程序后才能达到我们想要的效果。

信号名称 分配管脚 信号名称 分配管脚
LED[0] N15 SW[0] J12
LED[1] N14 SW[1] H11
LED[2] M14 SW[2] H12
LED[3] M12 SW[3] H13
LED[4] L15 KEY[0] J9
LED[5] K12 KEY[1] K14
LED[6] L11 KEY[2] J11
LED[7] K11 KEY[3] J14


4. 小结

下载完程序后就可以实现按键开关控制LED灯的亮灭。了解小脚丫STEP-MAX10 V2上的外设LED、按键和开关的使用。如果你对Quartus Prime软件的使用不了解,请参考这里:Quartus的使用