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的点亮的主要内容,如果未能解决你的问题,请参考以下文章