FPGA和MATLAB仿真测试常会用的语句

一、FPGA

1.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);

end

2.2 保存结果到txt中

integer data_file;

initial begin

data_file = $fopen("FPGA_tx_module_output.txt", "w");

// 等待仿真结束

#1000000; // 或者使用更精确的结束条件

$fclose(data_file); // 关闭文件,确保数据写入磁盘

$display("数据已保存到 FPGA_tx_module_output.txt");

$finish; // 结束仿真

end

// 保存文件的数据写入部分

always @(posedge i_clk) begin

if (i_rstn && o_valid ) begin

// 写入一行数据

$fdisplay(data_file, "%0d,%0d,%0d,%0d,%0d",

test_index + 1, // index从1开始

current_theta_reg/100, // theta/100

current_phi_reg/100, // phi/100

o_alpha, // alpha

o_beta); // beta

test_index = test_index + 1;

end

end

二、MATLAB

2.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 保存到txt

disp(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);

相关推荐
tju新生代魔迷1 天前
Verilog HDL 学习笔记(十)| 第10章 时序和延迟
笔记·学习·fpga开发
aprilaaaaa2 天前
(TC397 学习笔记)二、ICU和TIM的时钟计算
笔记·学习·fpga开发
X_xcccc2 天前
2026高端FPGA开发平台权威评测与选型指南
fpga开发
威嵌神州2 天前
军工加固计算机七大核心特性解析|国产化、宽温、强加固工程实现
嵌入式硬件·计算机网络·fpga开发
FPGA小迷弟2 天前
高云半导体深度解读:国产FPGA车规赛道的领跑者
fpga开发
努力搬砖的小H2 天前
FPGA应用技巧之Block Design基本使用方法
功能测试·fpga开发·zynq·block design
ALINX技术博客2 天前
【黑金云课堂】FPGA技术教程FPGA 基础:HDMI视频输入与环路输出实验
fpga开发·音视频
hahaha60162 天前
HLS高层次综合设计--axi之burst纠偏
开发语言·算法·fpga开发·c#
珞光电子USRP SDR软件无线电平台3 天前
国产嵌入式SDR平台LW-E320-G详解:射频、FPGA、ARM架构与应用选型
arm开发·fpga开发·架构
FPGA小迷弟3 天前
【硬核通俗】FPGA实现SDR软件无线电完整技术解析(原理+架构+实战)
fpga开发·dsp开发·sdr·无线电