文章目录

  • 前言
  • 一、hexdump
    • 1.1 hex文件8bit对齐
    • 1.2 hex文件32bit对齐
  • 二、在testbench中实现其他位宽对齐的方法
  • 总结

前言

这里记录一下在linux系统下,将bin文件转换成hex文件的几种方式,以及在testbench中编写for循环,去实现任意8的整数倍位宽mem的初始化。


一、hexdump

在linux系统下,利用hexdump这个命令,可以实现将bin文件转换成hex文件。

1.1 hex文件8bit对齐

其中hex文件中8bit对齐的指令如下,hello是需要转换的bin文件。

hexdump -v -e/'1 "%02x\n"'  hello > hello.hex

得到的hello.hex文件格式如下:

7f
45
4c
46
02
01
01
00
00
00

1.2 hex文件32bit对齐

其中hex文件中32bit对齐的指令如下:

hexdump -v -e'/4 "%08x\n"'  hello > hello.hex

得到的hello.hex文件格式如下,hello是需要转换的bin文件。

464c457f
00010102
00000000
00000000
00f30002
00000001
000100c2
00000000
00000040
00000000

二、在testbench中实现其他位宽对齐的方法

上述的方式只能实现8bit或者32bit对齐的方式输出hex文件,那么在应用的时候,如何实现其他8的整数倍位宽对齐的数据加载呢,这时候我们需要在tb中写一个循环去实现。

假设我们的mem是64bit对齐,而我们的hex是8bit对齐,具体实现的思路是,先利用一个8bit位宽的mem,将hex中的数据通过$readmemh系统函数读上来,再利用for循环,将mem中的数据拼接好赋给sram中的memory,实现代码参考如下,

bit [7:0] mem [0:500];
initial beginint t0;$readmemh("program.hex", mem);# 1; //这里延时主要是防止和sram中的mem初始化相冲突for(int i=0; i<500; i++) begint0 = i>>3;$display("t0 = %d", t0);test_top.interconnet_wrapper.u_axi_sdpram_w32d2048_w32d2048.memory[t0] = {mem[i+7], mem[i+6], mem[i+5], mem[i+4], mem[i+3], mem[i+2], mem[i+1], mem[i] };$display("mem = 0x%h", test_top.interconnet_wrapper.u_axi_sdpram_w32d2048_w32d2048.memory[t0]);end
end

其中,上述代码for循环中的500可以根据自己bin文件的大小去更改,数据的拼接方式也可以变成任意8的整数倍位宽。


总结

通过上述方法,可以实现bin到hex的转换,并实现任意8bit整数倍位宽,sram的memory数据加载。

bin文件转换成hex的方法相关推荐

  1. python解析mht文件_php解析mht文件转换成html的方法

    本篇文章主要介绍php解析mht文件转换成html的方法,感兴趣的朋友参考下,希望对大家有所帮助. php解析mht文件,使用编辑器打开可以看到base64编码所以,mht是可以转换成html的. / ...

  2. 快速将Word文件转换成PPT的方法

    日常办公中,Word格式的文件应该是我们使用频率最高的,平时接收文件也会遇到过PPT文件,但是PPT演示文档一般是用来做汇报的,用在各种会议中,或者是讲堂上.大家都觉得做PPT麻烦,需要填充很多内容, ...

  3. 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法

    小编平时看电视一般都在腾讯视频.爱奇艺及优酷等视频网站或客户端,看到有趣的视频的时候就想下载下来.然而有件特别无奈的事儿,就拿腾讯视频来说吧,在腾讯视频下载的文件都是qlv格式的,这是腾讯视频特有的格 ...

  4. 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法 1

    小编平时看电视一般都在腾讯视频.爱奇艺及优酷等视频网站或客户端,看到有趣的视频的时候就想下载下来.然而有件特别无奈的事儿,就拿腾讯视频来说吧,在腾讯视频下载的文件都是qlv格式的,这是腾讯视频特有的格 ...

  5. 视频文件转换成音频的方法

    文章来源:https://www.reneelab.com.cn/convert-video-to-audio.html 目录 一.视频文件转音频格式的多种方法介绍 1.都叫兽™视频编辑软件 2.VL ...

  6. 在线将PDF文件转换成Word新方法

    随着PDF格式文档的盛行,使用它办公的人也越来越多,PDF如何转换成Word文档,如果在Word文档中进行编辑.修改已经成为大家的需要.当你的手头上有少数PDF文档,无需借助PDFF转换工具,在线PD ...

  7. CAD文件转换成图片的方法分享

    什么是CAD?CAD又叫作计算机辅助设计,是利用计算机以及图形设备复制设计员进行设计的一种设计软件,可以用来分析.比较和计算设计信息中的数据,减少设计员对设计图的修改,提高设计员的工作效率. 一.为什 ...

  8. html怎么转换成asp.net,Asp.net中将Word文件转换成HTML的方法

    本文所述为一个Asp.net实现将Word转换为HTML的功能,其关键代码如下: //存放word文件的完整路径 string wordPath = Server.MapPath("/wor ...

  9. 录音文件转换成文字的方法

    可以把录音转文字的方法有很多种,根据自己不同的需求选择不同的转换工具以及转换的方法,下面小编为大家分享几个转换的方法,方法简单,满足你的转换需求! 借助的工具: 1:迅捷文字转语音软件 2:语音云服务 ...

  10. windows 下如何将 二进制 bin 文件转换成 txt 文件,并对不同 txt 文件进行比对?

    1 所需要安装的软件: Git Bash 文件比对工具:Beyond Compare 4 2 bin 文件转换为 txt 文件的方法 运行 Git Bash , 执行如下命令即可: xxd mode1 ...

最新文章

  1. 三星a5009Android6.0,三星A5009原版系统刷机包_三星A5009最新升级包线刷包和root
  2. 未来教育计算机三级课后题答案,未来教育计算机三级课后题答案
  3. 查看python版本号-Mac终端查看python版本号
  4. 基于c语言单片机秒表课程设计,基于c语言单片机秒表课程设计要点.doc
  5. Java 中的双重检查(Double-Check)
  6. Redis1 晨考题
  7. 如何让 Mac在运行 Windows时享受极致体验?Parallels Desktop 16给你答案!
  8. 10怎么设置pg接口_西门子S7300 PLC时间日期怎么读取?
  9. 2015 ACM/ICPC Asia Regional Shenyang Online题解
  10. csdn 获取下载积分
  11. wms开发语言c 还是java,专业WMS和普通WMS之间差异有什么呢?
  12. 【第十届“泰迪杯”数据挖掘挑战赛】C题:疫情背景下的周边游需求图谱分析 赛后总结、46页论文及代码
  13. 葫芦兄弟java7723_雪人兄弟(官方正版)
  14. Ubuntu Tty (字符终端) 显示中文,和字体大小设置
  15. html怎么设置文字竖排,CSS文字竖排
  16. ITRON的任务管理
  17. 国际志愿者日 我们与爱同行
  18. 如何Oracle_RAC恢复一个节点总结
  19. GO111MODULE作用
  20. 基于tkinter库txt文件操作的Python界面化图书管理系统

热门文章

  1. OSChina 周三乱弹 —— 在 OSC 谁能横行霸道?
  2. Cradle 从工程学角度预测血管和气管的流量并研究生物
  3. mac视频太大怎么压缩 苹果电脑怎么压缩视频大小的软件
  4. FFmpeg指令(./ffmpeg -h long)
  5. 瑞士央行2022年巨亏1320亿瑞士法郎
  6. 【调剂】上海海洋大学大数据和遥感方向接收硕士调剂
  7. fullpage插件的使用
  8. 张子保:不忘初心 方得始终《原创》
  9. 古月居ROS入门——话题、Publisher、Subscriber
  10. 6.后台验证码-session作用域