循环彩灯纸
模块?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 };