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里对不同的寄存器赋值
——这样编码质量高,不用管为什么
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)