常用的testbench和matlab代码之读取和写入文本代码
2017-09-20 16:15
260 查看
常用的testbench和matlab代码之读取和写入文本代码
1.matlab写入文本
因为modelsim没有区分有无符号,所以需要先将十进制有符号数进行量化再转化为二进制数,然后写入文本。(量化位数即输入的位数)代码如下:(请自行调整)
2.matlab读取文本数据
3.testbench读取文本
4.testbench将仿真数据写入文本
1.matlab写入文本
因为modelsim没有区分有无符号,所以需要先将十进制有符号数进行量化再转化为二进制数,然后写入文本。(量化位数即输入的位数)代码如下:(请自行调整)
Q=16;%16bit量化 f_s=qam16/max(abs(qam16));%归一化处理 a=round(f_s*(2^(Q-1)-1));%量化 fid = fopen ('E:\FM\amatlab\datain.txt','w');%文本存放路径 for k=1:length(a) B_s=dec2bin(a(k)+(a(k)<0)*2^16,16);%16bit量化 for j=1:16 if B_s(j)=='1' tb=1; else tb=0; end fprintf(fid,'%d',tb); end fprintf(fid,'\r\n'); end fprintf(fid,';'); fclose(fid);
2.matlab读取文本数据
fid=fopen('E:\FM\simulation\modelsim\Sn.txt','r');%文本存放路径 [s,N]=fscanf(fid,'%lg',inf); N=N-1; fclose(fid); sn=s/max(abs(s))%归一化
3.testbench读取文本
parameter data_num=128000;//设置读取数据长度 integer Pattern; reg signed [15:0] stimulusQ[1:data_num]; initial begin //文件必须放置在"工程目录\simulation\modelsim"路径下 $readmemb("Qm.txt",stimulusQ ); //文本数据写入矩阵 Pattern=0; repeat(data_num) //读入128000个数据 begin Pattern=Pattern+1; qm=stimulusQ[Pattern-1]; end #clk_priod*2 $stop ; //停止读取数据 end
4.testbench将仿真数据写入文本
integer file_Sn; initial begin //文件放置在"工程目录\simulation\modelsim"路径下 file_Sn = $fopen("Sn.txt"); end always @(posedge clk) $fdisplay(file_Sn,"%d",Sn);//将数据Sn写入文本
相关文章推荐
- python3文本读取与写入常用代码
- php连接及读取和写入mysql数据库的常用代码
- Php连接及读取和写入mysql数据库的常用代码
- Php连接及读取和写入mysql数据库的常用代码
- Matlab处理读取ASCII文本数据找到规则需求,重新写入数据到新的文本文件[示例:有限元边界条件施加]
- FFMPEG开发中的常用功能代码①BMP文件的读取、转正并写入AVFrame的data
- Php连接及读取和写入mysql数据库的常用代码
- Php连接及读取和写入mysql数据库的常用代码
- asp OpenTextFile文本读取与写入实例代码
- matlab中读取图中数据 并将其写入文本
- asp OpenTextFile文本读取与写入实例代码
- MATLAB读取写入文本数据最佳方法 | Best Method for Loading & Saving Text Data Using MATLAB
- javascript 读取xml,写入xml 实现代码
- 如何将数据库数据写入到EXCEL表格中.[此代码为读取SHAREPOINT]
- matlab txt文件按行打乱顺序 txt按行读取 按行写入 打乱顺序
- java 读取中文文本代码
- XCode数据类型转换代码 文件读取,写入,XY坐标获取,ASCII转换等
- 剪贴板上文本的读取与写入
- 简单文本的读取与写入
- matlab txt 快速读取大量文本 textscan