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

相关推荐
璞致电子6 小时前
基于 AD9361 (PZSDR‑P201Pro) 软件无线电实战综述:从板卡选型、硬件平台升级到 GNU Radio QPSK 完整收发链路
经验分享·嵌入式硬件·fpga开发·软件无线电·sdr·璞致电子
炎龙铠甲会合体9 小时前
从 SPEC 到上板:在 Zynq-7020 上用 RTL 手写一个 YOLO 卷积加速器(完整教程)
yolo·fpga开发·axi·芯片验证
FPGA小徐9 小时前
Vivado 按键消抖与复位模块代码修复详解:KEY_TOP、key、rst_gen 完整实战
fpga开发
炎龙铠甲会合体10 小时前
AXI2ICACHE— AXI4-Full 四路组相联指令 Cache 设计与 UVM 验证
fpga开发·面试·芯片验证
bingcheby11 小时前
FMQL15/20/45 (复旦微青龙系列 PSOC)新手使用说明
fpga开发
漫漫长远11 小时前
低功耗UPF介绍(一)
笔记·嵌入式硬件·学习·fpga开发
自小吃多1 天前
【Verilog/FPGA】存储器(数组)
嵌入式硬件·fpga开发
szxinmai主板定制专家1 天前
RK3588+FPGA异构架构|高速数据采集+边缘AI落地应用全解析
人工智能·嵌入式硬件·fpga开发·架构·zynq
明德扬1 天前
FPGA MIPI 多路视频聚合方案
fpga开发·mipi视频拼接·mipi多路拼接·mipi协议·mipi视频拼接方案·fpga mipi方案·mipi csi
XMAIPC_Robot1 天前
为什么大型储能需要边缘 AI 协调控制器?RK3588+FPGA 高速采集方案
人工智能·嵌入式硬件·fpga开发·arm+fpga·rk3588+fpga·协调控制器