当前位置:   article > 正文

Vivado用ILA抓波形保存为CSV文件_ila导出csv 数据

ila导出csv 数据

ILA观察到的波形数据捕获为CSV文件,抓10次,把文件合并,把源文件删除

运行方法:Vivado的 Tcl console 窗口输入命令 
set tcl_dir F:/KLD_FPGA/Code/sim
set tcl_filename  TCL_ILA_TRIG_V1.2.tcl
source $tcl_dir/$tcl_filename

  1. #===================================================
  2. # 脚本说明 V1.2
  3. # 功能:将ILA观察到的波形数据捕获为CSV文件,抓10次,把文件合并,把源文件删除
  4. # 启用了自动重新触发模式。这样可以在每次触发时重新捕获数据
  5. # 运行方法:VivadoTcl console 窗口输入命令
  6. # set tcl_dir F:/KLD_FPGA/Code/sim
  7. # set tcl_filename TCL_ILA_TRIG_V1.2.tcl
  8. # source $tcl_dir/$tcl_filename
  9. # 注意:注意 vivado 下面的路径使用的是反斜杠 /,和 Windows 下的路径不一样
  10. #===================================================
  11. # ILA探针名字 hw_ila_1(u_ila_0)
  12. #set ila_name "u_ila_0"
  13. #set hw_name hw_ila_1
  14. # ILA所在FPGA
  15. #set fpga "xc7z020_1"
  16. set data_dir "F:/KLD_FPGA/Code/sim/debug"
  17. # 如果数据目录不存在,则创建目录
  18. if {![file exists $data_dir]} {
  19. file mkdir $data_dir
  20. }
  21. for {set i 0} {$i < 4} {incr i} {
  22. #显示状态,启动ILA
  23. puts "Initiating ILA, iteration $i"
  24. #运行ila
  25. run_hw_ila [get_hw_ilas -of_objects [get_hw_devices xc7z020_1] -filter {CELL_NAME=~"u_ila_0"}]
  26. #等待
  27. wait_on_hw_ila [get_hw_ilas -of_objects [get_hw_devices xc7z020_1] -filter {CELL_NAME=~"u_ila_0"}]
  28. # 上传ILA采集的数据
  29. set ila_data [upload_hw_ila_data [get_hw_ilas -of_objects [get_hw_devices xc7z020_1] -filter {CELL_NAME=~"u_ila_0"}]]
  30. # 显示ILA采集的数据
  31. display_hw_ila_data $ila_data
  32. #写入文件
  33. write_hw_ila_data -csv_file -force $data_dir/TCL_ILA_TRIG_$i.csv $ila_data
  34. #显示状态,保存完毕
  35. puts "Saved ILA data, iteration $i"
  36. }
  37. # 所有文件列表
  38. set all_csvs [glob -directory $data_dir *.csv]
  39. # 最终输出的合并文件
  40. set final_csv [file join $data_dir "final.csv"]
  41. # 如果存在则删除 final.csv
  42. if {[file exists $final_csv]} {
  43. file delete $final_csv
  44. }
  45. # 逐个追加 CSV 文件内容
  46. set f [open $final_csv a]
  47. foreach csv $all_csvs {
  48. set r [open $csv]
  49. puts $f [read $r]
  50. close $r
  51. }
  52. close $f
  53. # 删除原始文件(可选)
  54. foreach csv $all_csvs {
  55. file delete $csv
  56. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/484487
推荐阅读
相关标签
  

闽ICP备14008679号