FPGA和MATLAB仿真测试常会用的语句 一、FPGA1.1 打印结果到TCL 中直接打印默认打印10进制%h 打印16进制always (posedge i_clk)if (!i_rstn) begin// 复位时不操作end else if (o_calc_valid) begin$display(i_freq , i_freq);$display(i_angle_thta , i_angle_thta);$display(i_angle_phi , i_angle_phi);$display(o_calc_data %h, o_calc_data);end2.2 保存结果到txt中integer data_file;initial begindata_file $fopen(FPGA_tx_module_output.txt, w);// 等待仿真结束#1000000; // 或者使用更精确的结束条件$fclose(data_file); // 关闭文件确保数据写入磁盘$display(数据已保存到 FPGA_tx_module_output.txt);$finish; // 结束仿真end// 保存文件的数据写入部分always (posedge i_clk) beginif (i_rstn o_valid ) begin// 写入一行数据$fdisplay(data_file, %0d,%0d,%0d,%0d,%0d,test_index 1, // index从1开始current_theta_reg/100, // theta/100current_phi_reg/100, // phi/100o_alpha, // alphao_beta); // betatest_index test_index 1;endend二、MATLAB2.1 打印fid fopen(matlab_rx_calculation_results.txt, w);fprintf(fid, %d,%d,%d,%d,%d\n, row_idx, thta_scan, phi_scan, alpha_fpga, beta_fpga);fclose(fid);2.2 保存到txtdisp(hex_str);或者需要打印的变量末尾直接去掉% 打印到控制台fprintf(第%d组 | theta%3d° | phi%3d° | alpha_fpga%d | beta_fpga%d\n, ...row_idx, thta_scan, phi_scan, alpha_fpga, beta_fpga);