将一些reg类型转为wire类型;.m文件进行修改,增加了寻找误差和均方误差均小于万分之一的功能
This commit is contained in:
		
							parent
							
								
									6908a7ab66
								
							
						
					
					
						commit
						1b101f1203
					
				|  | @ -172,7 +172,7 @@ inst_c4         ( | ||||||
| assign	y_re       =   v1_re + y2_re; | assign	y_re       =   v1_re + y2_re; | ||||||
| assign	y_im       =   v1_im + y2_im; | assign	y_im       =   v1_im + y2_im; | ||||||
| 
 | 
 | ||||||
| reg signed	[data_in_width+frac_data_out_width+1:0] dout_round; | wire signed	[data_in_width+frac_data_out_width+1:0] dout_round; | ||||||
| 
 | 
 | ||||||
| FixRound #(data_in_width+frac_data_out_width+2,frac_data_out_width) u_round1 (clk, rstn, en, y_re, dout_round); | FixRound #(data_in_width+frac_data_out_width+2,frac_data_out_width) u_round1 (clk, rstn, en, y_re, dout_round); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -98,8 +98,8 @@ wire         signed  [A_width+D_width:0]     Im_tmp; | ||||||
| assign    Re_tmp  =  ac - bd; | assign    Re_tmp  =  ac - bd; | ||||||
| assign    Im_tmp  =  ad + bc; | assign    Im_tmp  =  ad + bc; | ||||||
| 
 | 
 | ||||||
| reg         signed  [A_width+C_width:0]     Re_round; | wire         signed  [A_width+C_width:0]     Re_round; | ||||||
| reg         signed  [A_width+D_width:0]     Im_round; | wire         signed  [A_width+D_width:0]     Im_round; | ||||||
| 
 | 
 | ||||||
| FixRound #(A_width+C_width+1,frac_coef_width) u_round1 (clk, rstn, en, Re_tmp, Re_round); | FixRound #(A_width+C_width+1,frac_coef_width) u_round1 (clk, rstn, en, Re_tmp, Re_round); | ||||||
| FixRound #(A_width+C_width+1,frac_coef_width) u_round2 (clk, rstn, en, Im_tmp, Im_round); | FixRound #(A_width+C_width+1,frac_coef_width) u_round2 (clk, rstn, en, Im_tmp, Im_round); | ||||||
|  |  | ||||||
|  | @ -18,12 +18,12 @@ n1000_1100 = find((n>=edge+1000e-9-1e-12) & (n<=edge+1100e-9+1e-12));%下降沿 | ||||||
| ne = find((abs(diff)>=1e-4) & (abs(diff)<1));%误差小于万分之一的点 | ne = find((abs(diff)>=1e-4) & (abs(diff)<1));%误差小于万分之一的点 | ||||||
| ne(1) = 1; | ne(1) = 1; | ||||||
| 
 | 
 | ||||||
| % window_length = 100e-9*fs; | window_length = 100e-9*fs; | ||||||
| % diff_mean_window = movmean(diff,window_length); | diff_mean_window = movmean(diff,window_length); | ||||||
| % diff_std_window = movstd(diff,window_length); | diff_std_window = movstd(diff,window_length); | ||||||
| % n_mean_window = find((abs(diff_mean_window)>=1e-4) );%100ns窗,误差均值小于万分之一点 | n_mean_window = find((abs(diff_mean_window)>=1e-4) );%100ns窗,误差均值小于万分之一点 | ||||||
| % n_std_window = find((abs(diff_std_window)>=1e-4) ); %100ns窗,误差方差小于万分之一点 | n_std_window = find((abs(diff_std_window)>=1e-4) ); %100ns窗,误差方差小于万分之一点 | ||||||
| % n_common = max(n_mean_window(end),n_std_window(end)); | n_common = max(n_mean_window(end),n_std_window(end)); | ||||||
| %原始数据作图 | %原始数据作图 | ||||||
| tiledlayout(2,1) | tiledlayout(2,1) | ||||||
| ax1 = nexttile; | ax1 = nexttile; | ||||||
|  | @ -68,10 +68,10 @@ elseif a(2) > 5e-6 | ||||||
|     plot_p(n1000(1)); %下降沿1us |     plot_p(n1000(1)); %下降沿1us | ||||||
|     plot_p(ne(end));  %误差小于万分之一 |     plot_p(ne(end));  %误差小于万分之一 | ||||||
|     fprintf("Falling edge of 20ns~40ns mean :%.4e\t std :%.4e\t",mean(diff(n20_40)),std(diff(n20_40))); |     fprintf("Falling edge of 20ns~40ns mean :%.4e\t std :%.4e\t",mean(diff(n20_40)),std(diff(n20_40))); | ||||||
|     fprintf("Falling edge of 1us~1.1us mean :%.4e\t std :%.4e\n",mean(diff(n1000_1100)),std(diff(n1000_1100))); |     fprintf("Falling edge of 1us~1.1us mean :%.4e\t std :%.4e\t",mean(diff(n1000_1100)),std(diff(n1000_1100))); | ||||||
|     % fprintf("The error after falling edge of 1us is:%.4e\t",diff(n1000(1))); |     % fprintf("The error after falling edge of 1us is:%.4e\t",diff(n1000(1))); | ||||||
|     % fprintf("The time of erroe less than 1e-4 is :%.4e us\n",(n(ne(end))-n(n_edge(1)))); |     % fprintf("The time of erroe less than 1e-4 is :%.4e us\n",(n(ne(end))-n(n_edge(1)))); | ||||||
|     % fprintf("The mean and std stably less than 1e-4 is :%.4e s\n",(n(n_common)-n(n_edge(1)))); |     fprintf("The mean and std stably less than 1e-4 is :%.4e s\n",(n(n_common)-n(n_edge(1)))); | ||||||
| 
 | 
 | ||||||
| end | end | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue