matlab/verilog读写文件


matlab写dat文件

dat文件可以直接在vivado中读取

fid = fopen('test.dat','w');
fprintf(fid,'%d\n',test_data);
fclose(fid);

matlab读dat文件

读出为列向量

load('test.dat');

vivado verilog读dat文件

每次读出一个数
相对路径,数据源保存在同一工程下即可

integer handle;
integer read_st;
integer i;
reg din;

initial begin
    handle = $fopen("../../../../data/input.dat", "r");
    for(i=0;i<10000;i=i+1) begin
        read_st = $fscanf(handle, "%d", din);
    end
end

vivado verilog写dat文件

每次保存一个数
相对路径,数据保存在同一工程下

integer write1;
wire dout_en;  // output data en
wire signed [11:0] dout;  // output data

initial begin
    write1 = $fopen("../../../../data/output.dat", "w");
end

always @(posedge clk) begin
    if ( dout_en ) begin
       $fwrite(write1, "%d\n", dout);
    end
end

matlab写coe文件

以二进制为例
rom_sin rom_cos 为行向量

rom = [ dec2bin(rom_sin.') dec2bin(rom_cos.') ];
fid = fopen('rom_wave.coe','w');
fprintf(fid,'MEMORY_INITIALIZATION_RADIX=2;\n');
fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\n');
for k = 1:1:length(rom)
    fprintf(fid,'%s',rom(k,:));
    if k==length(rom)
        fprintf(fid,';');
    else
        fprintf(fid,',');
    end
    fprintf(fid,'\n');
end
fclose(fid);


  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值