等精度频率计很难做吗? fx=Nx*Ns / fs 数据输出跳变,求解!
RTDE2-115的8位数码管 49 和 94947295 这两个数在轮换显示,啥原因啊??? 是不是数据溢出了,高手留步??
module divider
(
clk, rstn,
Cnt1_data,
Cnt2_data,
Data_Bin
);
input clk, rstn;
input Cnt1_data;
input Cnt2_data;
output regData_Bin;
/***********************************************/
parameter Freq_50KHz = 16'd50_000; //Fs = Freq_50KHz
/***********************************************/
reg Cnt1_in, Cnt2_in; //Ns = Cnt1_in, Nx = Cnt2_in
reg Data_out; //Fx = Data_out
reg init_flag;
always @ ( posedge clk or negedge rstn )
if( !rstn )
begin
Cnt1_in <= 32'd0;
Cnt2_in <= 32'd0;
init_flag <= 1'd0;
end
else
begin
if( init_flag == 1'd0 )
begin
init_flag <= 1'd1;
Cnt1_in <= Cnt1_data;
Cnt2_in <= Cnt2_data ;
end
else if( init_flag == 1'd1 )
begin
init_flag <= 1'd0;
Data_Bin <= Cnt2_in * Freq_50KHz / Cnt1_in;
end
end
/***********************************************/
endmodule 仿真Data_Bin的值不就知道了~ 不懂FPGA,但是当年用单片机做等精度频率计的时候遇到了竞争冒险的问题了。频率不稳定
页:
[1]