点亮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的使用。