|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
这个程序主要功能是输入一个16MHz的信号,输出不同频率的波形:先是5个周期为A占空比为437/512的波形,然后是个周期为A占空比为38/512的波形,最后是20个周期为B占空比为75/1024的波形。
module test4(clkin,clkout);
parameter M=512;
parameter L=1024;
parameter N=2**16;
input clkin;
output clkout;
reg clkout;
integer count;
integer hcount;
integer i=0,j=0,k;
//***********************************//
always @(posedge clkin)begin
begin
if (i==N-1)
i=0;
else
i=i + 1;
end
begin
for (j=0;j<5;j=j+1)
begin
count=i-M*j;
if (i<=2560)
begin
if (count==(M-1))
count=0;
else
count=count + 1;
if (count==437)
clkout<=1;
else if (count==511)
clkout<=0;
end
else if(i<=5120)
begin
if (count==2560+(M-1))
count=2560;
else
count=count + 1;
if (count==2598)
clkout<=1;
else if (count==3071)
clkout<=0;
end
end
end
begin
for (k=0;k<20;k=k+1)
begin
hcount=i-L*k;
if(i>5120)
begin
if (hcount==5120+(L-1))
hcount=5120;
else
hcount=hcount + 1;
if (hcount==5195)
clkout<=1;
else if (hcount==6143)
clkout<=0;
end
end
end
end
endmodule |
|