|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
最近在做个ADPLL,其中的一些电路要用veriloga写,第一次接触veriloga,关键代码已经给出了,但是不懂如何写接口描述的代码,请大神指点下!
//TDC: fractional phase error can be detected
//detecting time
tr_time = last_crossing(V(clk_high) - vth, +1);
tf_time = last_crossing(V(clk_high) - vth, -1);
@(cross(V(clk_ref)- vth, +1) ) begin
tr=$abstime-tr_time;
tr_int=tr/tinv;
tf=$abstime-tf_time;
tf_int=tf/tinv;
temp1=abs(tf_int-tr_int);
tv_p[n]=2*temp1;
if(n<`NUM_AVERAGE-1) n=n+1; else begin n=0; full=1; end
end
// period normalization
@(cross(V(clk_retiming)-vth,+1)) begin
if(!full) begin
sum=0;
for (j=0; j<n; j=j+1) begin
sum=sum+tv_p[j]; end
tv_average=sum/n;
end
else begin
sum=0;
for (j=0; j<`NUM_AVERAGE; j=j+1) begin sum=sum+tv_p[j]; end
tv_average=sum/`NUM_AVERAGE;
end
sigma=1-tr_int/tv_average;
end
|
|