以前花了三天的时间把本科毕业设计的东西给复现了下。但能明显的感受到没有通过系统的学习,每行代码都须要本身一点一点的硬性理解,因此接下来的每一天我都准备记录本身的学习心得,天天学一点知识,学无止境,一块儿加油。编程
实验一 led的点亮dom
全部人都耳熟能详的第一个实验,点亮led。学习
首先,画出led的结构框图和时序图,做为新的起点,这两个图能帮助咱们理清时序的关系。设计
了解了led的实现过程和时序关系后,咱们进行编程来实现led的点亮。blog
module ledinput
(it
input wire key_in , //输入按键变量
output wire led_out //输出控制led灯module
);随机数
//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
通过仿真后,能够获得这样的内容,至此功能得以实现。
最后就是上板验证。