FPGA的学习:led的点亮

Posted 石小舟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA的学习:led的点亮相关的知识,希望对你有一定的参考价值。

之前花了三天的时间把本科毕业设计的东西给复现了下。但能明显的感觉到没有经过系统的学习,每行代码都需要自己一点一点的硬性理解,所以接下来的每一天我都准备记录自己的学习心得,每天学一点知识,学无止境,一起加油。

实验一  led的点亮

所有人都耳熟能详的第一个实验,点亮led。

首先,画出led的结构框图和时序图,作为新的起点,这两个图能帮助我们理清时序的关系。

了解了led的实现过程和时序关系后,我们进行编程来实现led的点亮。

module  led

(

    input   wire    key_in  ,   //输入按键

 

    output  wire    led_out     //输出控制led灯

);

//led_out:led灯输出的结果为key_in按键的输入值

assign  led_out = key_in;

 

endmodule

 

代码的实现并不难,但是我一开始写的时候不喜欢写注释,这是一个不好的习惯。到了后面程序多起来,难起来的时候,代码的注释对我们回顾程序,改错等都有很大的帮助,所以要养成写注释的习惯。

 

当程序编写完成后,进行仿真,用来查看能否实现功能。

 

module  tb_led();

wire    led_out ;  //wire型变量的定义

reg     key_in  ;  //reg型变量的定义

initial key_in <= 1'b0;  //初始化输入信号

//key_in:产生输入随机数,模拟按键的输入情况

always #10 key_in <= {$random} % 2; //取模求余数,产生非负随机数0、1

                                      每隔10ns产生一次随机数

led led_inst

(

    .key_in (key_in ),  //输入     key_in

 

    .led_out(led_out)   //输出    led_out

);

 

endmodule

经过仿真后,可以得到这样的内容,至此功能得以实现。

最后就是上板验证。

以上是关于FPGA的学习:led的点亮的主要内容,如果未能解决你的问题,请参考以下文章

FPGA的学习:计数器的实现

iCore3 双核心板_FPGA例程二:GPIO输出实验——点亮三色LED

STM32学习笔记——点亮LED

野路子学习esp32 GPIO 点亮LED@a.宏万

ARM 学习笔记之二 LED点亮程序设计

51单片机学习——点亮LED灯