FPGA点亮流水灯
本文作者:一碗热的粥kk,e小白网址:www.e-xiaobai.com
采用Verilog语言,语法与C语言比较像。根据我自己的理解,尽量每一步都给注释;
前沿知识:
变量:
变量是指程序运行时可以改变其值的量,下面主要介绍常用的两种。
Wire型:Wire 类型变量,也叫网络类型变量,用于结构实体之间的物理连接,如门与门之间,不能储 存值,用连续赋值语句 assign 赋值,定义为 wire [n-1:0] a ; 其中 n 代表位宽,如定义 wire a ; assign a = b ; 是将 b 的结点连接到连线 a 上。
Reg型:Reg 类型变量,也称为寄存器变量,可用来储存值,必须在 always 语句里使用。其定义为 reg [n-1:0] a ; 表示 n 位位宽的寄存器,如 reg [7:0] a; 表示定义 8 位位宽的寄存器 a。
赋值:“=”阻塞赋值,”<=”非阻塞赋值。阻塞赋值为执行完一条赋值语句,再执行下一条,可理解为 顺序执行,而且赋值是立即执行;非阻塞赋值可理解为并行执行,不考虑顺序,在 always 块语句 执行完成后,才进行赋值。
下图代码LED0为亮,1为灭。流水灯每次移动1位

