如何用verilog写一个单周期的方波,以下是我写的程序 我用了两个always,仿真结果是对的。

2024-12-15 07:19:33
推荐回答(1个)
回答1:

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里对不同的寄存器赋值
——这样编码质量高,不用管为什么