每隔一段时间来一组方波 verilog语言实现

每隔一段时间来一组方波 verilog语言实现,第1张

module fangbo(

input rst,

input clk,

output reg wave)

reg [7:0] counter

always(posedge clk)

begin

if(rst)

begin

count <= 0

wave <= 0

end

else if(count == 20)

begin

count <= 0

wave <= 0

end

else if(count <= 8)

begin

count <=count +1;

wave <= count[0]

end

else if(count <20)

begin

count <=count +1;

wave <= 0

end

end

endmodule

module fdivision2

(

F10MB,

RESET,

F500KB

)

input F10MB,RESET

output F500KB

reg F500KB

reg [7:0]j

////////////////////////////////////

always@(posedge F10MB)

begin

if(!RESET)

begin

j <= 0

end

else

begin

if(j==19)

j<=j //我这是按照你上面的程序翻译的,你好好看一下

else if(j==29)

j<=0

else

j<=j+1

end

end

always@(posedge F10MB)

begin

if(!RESET)

begin

F500KB <= 0

end

else

begin

if(j==19 || j==29)

F500KB<=~F500KB //我这是按照你上面的程序翻译的,你好好看一下

else

F500KB<=F500KB

end

end

endmodule

以后要注意两点:1.不要在不同always里对同一个寄存器赋值

2.不要在同一个always里对不同的寄存器赋值

——这样编码质量高,不用管为什么


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存