在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 291|回复: 8

[求助] 写二进制数据文件

[复制链接]
发表于 2024-1-29 11:42:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
有谁知道怎么用sv写二进制数据文件;


直接用vim打开是乱码的那种,可以转化为16进制观察


writeb,写进去的是文本二进制,不是数据二进制
 楼主| 发表于 2024-1-29 12:00:02 | 显示全部楼层
谢谢大家
发表于 2024-1-29 13:50:35 | 显示全部楼层
曲线救国,写个python脚本转一下
发表于 2024-1-29 17:55:06 | 显示全部楼层
用%c写,但是只能每8bit的去写
 楼主| 发表于 2024-1-30 17:58:17 | 显示全部楼层


kang98253 发表于 2024-1-29 17:55
用%c写,但是只能每8bit的去写


谢谢大佬,%c是可以的,亲测可行
 楼主| 发表于 2024-1-31 15:26:10 | 显示全部楼层


ICJJ 发表于 2024-1-30 17:58
谢谢大佬,%c是可以的,亲测可行


这种方式好像不行,比如c0000100  写入的结果是00000000: 3f00 0100
发表于 2024-1-31 18:09:23 | 显示全部楼层
本帖最后由 liuguangxi 于 2024-1-31 18:17 编辑

SystemVerilog可以写入二进制,类似下面这种


int fd;
initial begin
    fd = $fopen("aaa.bin", "w");
    $fwrite(fd, "%u", 32'h80000100);
    $fwrite(fd, "%u", 32'hd0000100);
    $fclose(fd);
end

不过注意输出二进制数据以32bit为基本单位且小端模式,即低字节先输出。

 楼主| 发表于 2024-2-1 09:18:16 | 显示全部楼层


liuguangxi 发表于 2024-1-31 18:09
SystemVerilog可以写入二进制,类似下面这种


这种也有问题,大于9的,比如a0000100,b0000100,写的结果都是0001000a
发表于 2024-2-1 09:53:53 | 显示全部楼层
应该没有问题,是不是你代码写得不太对。可以把源代码列出来看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-30 21:09 , Processed in 0.027063 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表