状态机:彩灯控制器
本次试验是自己设计彩灯,我设计的是心形。接下来我具体说说做法。
设计准备
状态图
在设计代码前要先有大体思路,彩灯要怎么亮?要有几个状态?需要什么元件……
我设计的彩灯有九个状态,当Dir=1时,彩灯状态顺时针变化;当Dir=0时,彩灯状态按逆时针变化。
VirtualBoard代码模块
该部分不仅有输入部分,还显式定义了枚举元素的类型和值。
`default_nettype none
module VirtualBoard (
input wire CLOCK, // 10 MHz Input Clock
input wire [19:0] PB, // 20 Push Buttons, logical 1 when pressed
input wire [35:0] S, // 36 Switches
output wire [35:0] L, // 36 LEDs, drive logical 1 to light up
output wire [7:0] SD7, // 8 common anode Seven-segment Display
output wire [7:0] SD6,
output wire [7:0] SD5,
output wire [7:0] SD4,
output wire [7:0] SD3,
output wire [7:0] SD2,
output wire [7:0] SD1,
output wire [7:0] SD0
);
/** The input port is replaced with an internal signal **/
wire reset