急求控制方向的跑马灯verilog程序设计!!!!!!! 5
2个回答
展开全部
module PAOMADENG(
input clk,
input rst_n,
input direction,
output reg [7:0] deng
);
integer i;
reg on_off;
always @(posedge clk or negedge rst_n) begin
if(rst_n==1'b0)
on_off<= 8'b0;
else if((&deng==1'b1)||(|deng==1'b0))
on_off <= ~on_off;
end
always @(posedge clk or negedge rst_n) begin
if(rst_n==1'b0)
deng <= 8'b0;
else begin
case(direction)
0:begin
deng[0] <= on_off;
for (i=0;i<7;i++)
deng[i+1]<=deng[i];
end
1:begin
deng[7] <= on_off;
for (i=7;i>0;i++)
deng[i-1]<=deng[i];
end
endcase
end
end
endmodule
右跑为例,依次如下
00000000
10000000
11000000
11100000
。。。
11111111
01111111
00111111
00011111
。。。
00000000
direction接开关,deng接8位led灯
input clk,
input rst_n,
input direction,
output reg [7:0] deng
);
integer i;
reg on_off;
always @(posedge clk or negedge rst_n) begin
if(rst_n==1'b0)
on_off<= 8'b0;
else if((&deng==1'b1)||(|deng==1'b0))
on_off <= ~on_off;
end
always @(posedge clk or negedge rst_n) begin
if(rst_n==1'b0)
deng <= 8'b0;
else begin
case(direction)
0:begin
deng[0] <= on_off;
for (i=0;i<7;i++)
deng[i+1]<=deng[i];
end
1:begin
deng[7] <= on_off;
for (i=7;i>0;i++)
deng[i-1]<=deng[i];
end
endcase
end
end
endmodule
右跑为例,依次如下
00000000
10000000
11000000
11100000
。。。
11111111
01111111
00111111
00011111
。。。
00000000
direction接开关,deng接8位led灯
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询