|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
下面的这个2.5分频程序是verilog100例中的,看完后有几点不解:
1.为什么引入mid?
2. #delaytime out=~out;有何用?
`timescale 1ns/100ps
module frequency5x2(in,out,rst);
input in,rst;
output out;
reg out;
reg mid;
integer counter;
parameter delaytime=25;
always@(posedge rst )
begin
counter=0;
out=0;
mid=0;
end
always@(posedge in)
begin
if(counter==4)
begin
mid=~mid;
counter=0;
end
else
counter=counter+1;
end
always@(negedge in)
begin
if(counter==4)
begin
mid=~mid;
counter=0;
end
else
counter=counter+1;
end
always@(posedge mid )
begin
out=~out;
#delaytime out=~out;
end
always@(negedge mid)
begin
out=~out;
#delaytime out=~out;
end
endmodule
|
|