verilog如果要将流水灯变换的速度从每秒一次调整为每秒两次,程序应该如何修改?

verilog如果要将流水灯变换的速度从每秒一次调整为每秒两次,程序应该如何修改?,第1张

// 定义计时器的分频值为 2

reg [15:0] count = 0

// 在每一个时钟周期内更新计时器的值

always @(posedge clk) begin

count <= count + 1

end

// 当计时器的值溢出时,更新流水灯的状态

always @(posedge clk) begin

if (count == 16'hffff) begin

// 更新流水灯的状态

// ...

// 重置计时器的值

count <= 0

end

end

module run_led(clk,rst,led)//module port

input clk//system clock

input rst//system reset

output [7:0] led// 8bits led

reg [7:0] led

reg [25:0] count

always @ (posedge clk ) begin

if(rst || count[25]==1) begin

count<=26'b0

end

else

count<=count+1

end

always @ (posedge clk) begin

if(rst)

led<=8'b0000_0001

else begin

if(count[25]==1) begin

led<=((led<<1)+1)

end

end

end

endmodule

这是我自己写的,实验正确符合楼主要求!嘿嘿。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12143186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存