循环彩灯纸

模块?ledwater(时钟,led,s)

输入?clk

输入[1:0]s;

输出[7:0]led;

雷吉?[7:0]?led = 0;

雷吉?[1:0]?olds = 0;

总是@(posedge?clk)?olds & lt= s;

总是@(posedge?时钟)

如果?(olds^s)

案子?(s)

2 ' b00:led & lt;=1;?//*a

2 ' b 01:led & lt;=1;

2 ' b 10:led & lt;= 8 ' b 1010 _ 1010;

2 ' b 11:led & lt;= 8 ' b 0000 _ 0111;

结束案例

其他

案子?(s)

2'b00:?led & lt={led[6:0],led[7]};//*b

2'b01:?led & lt={led[0],?led[7:1]};

2'b10:?led & lt= ~ led?

2'b11:?led & lt={led[6:0],led[7]};

结束案例

末端模块

//第一种:一盏灯亮着,从右向左一个一个移动,循环往复。

//第二种:一盏灯亮着,从左到右一个个移动,循环往复。

//第三种:每个房间都亮一盏灯,交替循环。

//第四:三盏灯亮着,从右向左一个一个的移动,循环往复。

//当然,还可以有更多的花样:

//比如灯从右到左逐渐变亮。

//*a改为:?led & lt=1;

//*b替换为:?led & lt=?(& ampled)1:?{led[6:0],1 ' b 1 };