FPGA学习笔记(六)——流水灯

上篇博客讲了led控制,实现了led闪烁,那我们趁热打铁,做一个补充实验:

设计流水灯,让4个led灯按照流水的方式循环闪烁。

这个实验是为了练习verilog中移位操作的使用方法。

想要实现流水灯,就需要使亮的那个灯移位,按照逻辑来说就是0001->0010->0100->1000->0001

但是由于led是低电平点亮,所以我们需要取反,新定义一个led_r,令led=~led_r。在输出端也要将reg去掉,led无需作为寄存器了,作为物理连线即可,之前的任务改由led_r执行。

下面进行全编译,下载程序到板子上,观察现象

流水灯完成。还有其他方法来实现这个功能。

使用这种位拼接方法,简单有效的进行移位。将程序下载到板卡中验证

现象与之前没区别。这些小实验可以有效地帮助我们熟悉verilog语言和开发流程。

上篇博客讲了led控制,实现了led闪烁,那我们趁热打铁,做一个补充实验: 设计流水灯,让4个led灯按照流水的方式循环闪烁。 这个实验是为了练习verilog中移位操作的使用方法。 想要实现流水灯,就需要使亮的那个灯移位,按照逻辑来说就是0001->0010->0100->1000->0001 但是由于led是低电平点亮,所以我们需要取反,新定义一个led_r,令led=~led_r。在输出端也要将reg去掉,led无需作为寄存器了,作为物理连线即可,之前的任务改由led_r执行。 下面进行全编译,下载程序到板子上,观察现象 流水灯完成。还有其他方法来实现这个功能。 使用这种位拼接方法,简单有效的进行移位。将程序下载到板卡中验证 现象与之前没区别。这些小实验可以有效地帮助我们熟悉verilog语言和开发流程。
经验分享 程序员 微信小程序 职场和发展