跑马灯 verilog hdl程序中rst复位 四种循环模式

跑马灯 verilog hdl程序中rst复位 四种循环模式,第1张

     很高兴回答你的问题!

如果以下回答合适,请空卜采纳;如果不恰当,继续讨论。谢谢!

该题本质上是有限状态机的设计问题。令所要完成的功能要求包含四种模式,分别是①从左到右点亮,②从右到左点亮,③从两边到中间点亮,④从中间到两边点亮。要求四种模式依次切换,循环执行。

令clk为led流水灯(共计12个LED灯)的驱动时钟【要求低频扮亏橡,如1Hz】,rst为上升沿复位信号(异步)。则所实现的Verilog HDL代码部分如下:厅旁

module led_run(clk,led,rst)

input clk //clk with low frequency like 1Hz

input rst //system reset signal

output [11:0] led //denotes 12 leds,

reg [11:0] led

reg [2:0] state //state variable,internal signals

reg [5:0] count //control signals of the state diagram,internal signals

always @(posedge clk or posedge rst) //the state diagram

if (rst)

  begin

state <= 3'b000

count <= 6'b000000

end

else

  case(state)

...

详细代码见附件。

该代码的仿真波形如下图所示(注led低电平为亮,高电平为灭)

很高兴回答你的问题!

如果以下回答合适,请采纳;如果不恰当,继续讨论。谢谢!

令clk为led流水灯的驱局烂动时钟,rst为上升沿复位信号(异步)。滚腊逗则所实现的Verilog HDL代大卖码部分如下:

module led_run(clk,led,rst)

input clk //clk with low frequency like 1Hz

input rst //system reset signal

output [11:0] led //denotes 12 leds,

reg [11:0] led

reg [2:0] state //state variable,internal signals

reg [5:0] count //control signals of the state diagram,internal signals

always @(posedge clk or posedge rst) //the state diagram

if (rst)

  begin

state <= 3'b000

count <= 6'b000000

end

else

  case(state)

...

详细代码见附件。

该代码的仿真波形如下图所示(注led低电平为亮,高电平为灭)


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存