verilog的系统函数$readmemh的使用

摘要:
在verilog中有$readmemh命令,在使用这个命令时,”filename”中的路径要用反斜杠’/’,而不是斜杠’\’。

在verilog中有$readmemh(“filename”, mem_name)命令,在使用这个命令时,”filename”中的路径要用反斜杠’/’,而不是斜杠’\’。如

$readmemh("F:/mydesigen/re_input.txt",re_input);

上面的语句是正确的,而如果用斜杠就有问题,如

$readmemh("F:\mydesigen\re_input.txt",re_input);

对于需要的txt文件,其格式为每行一个数据,例如用matlab产生文件则可以这样写

fid0 = fopen('F:\mydesigen\re_input.txt','w+');

fprintf(fid0,'%x \n',real(info));

其中的换行符是必须的。同时,在matlab中,路径语句的斜杠’\’或是反斜杠’/’都没有问题。

modulememory();
reg [7:0] my_mem [0:255];
initial
begin
        /*$readmemh("file",mem_array,start_addr,stop_addr);*/$readmemh("mem.list", my_mem);
        $display("0x00: %h", my_mem[8'h00]);
        $display("0x01: %h", my_mem[8'h01]);
        $display("0x55: %h", my_mem[8'h55]);
        $display("0x56: %h", my_mem[8'h56]);
end

endmodule
/*//comments are allowed
        0xab //addr 8'h00
        0xba //addr 8'h01
        @55  //jump to 8'h55
        0x55 //addr 8'h55
        0xaa //addr 8'h56
*/

我常用的是:

a0=funcCensusOneImage('im0.pgm',3);

fid0=fopen('G:\data.txt','wt');

fprintf(fid0,'%x\n',a0);

fclose(fid0);

向G:\data.txt文件写入经过ct变换的8位16进制数据,且每一个数据占一行,符合modelsim仿真时将data.txt数据读入存储器寄存器的规范。

免责声明:文章转载自《verilog的系统函数$readmemh的使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇spring-boot 更换依赖版本Android 开机震动、动画、铃声添加方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

OFDM通信系统的MATLAB仿真(2)

关于OFDM系统的MATLAB仿真实现的第二篇随笔,在第一篇中,我们讨论的是信号经过AWGN信道的情况,只用添加固定噪声功率的高斯白噪声就好了。但在实际无线信道中,信道干扰常常是加性噪声、多径衰落的结合。今天我们准备再进一步,让信号经过多径瑞利衰落信道。在这种信道条件下,信号具体是怎么怎么变化的呢?下面将讲解系统仿真的各个部分以及实现多径衰落的方法。 注意...

MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)

特别说明:由于大家在 I/O 存取上以 txt 文件为主,且读取比存储更麻烦(存储的话 fwrite, fprintf 基本够用),因此下面的讨论主要集中在“txt 文件的读取”上。除了标注了“转”之外,其余心得均出于本人经验之结果,欢迎大家指正、补充。一. 基本知识:--------------------------------------------...

VS2015调用matlab Plot函数

最近经常采用Matlab仿真,然后C语言实现,最后需要将计算结果使用Qt的qwt或者matlab中的plot函数绘图。 因此想借用matlab的plot函数接口,使用VS2015来编写信号处理代码,最后通过绘图来验证。 参考博客: https://blog.csdn.net/shouzang/article/details/80795945 https:/...

ppaer 67 : matlab 函数errorbar

MATLAB ERRORBAR 这个函数的意思是:ERRORBAR(X,Y,L,U),X是自变量,Y是因变量,L是Y的变动下限,U是Y的变动上限 errorbar(X,Y,E)  X是自变量,Y是因变量,E是Y的变动绝对差值。 我自己写的例子: X=[1 2 3]; Y= [ 0.2 0.4 0.2]; L=[0.1 0.03 0.03];U=[0.1 0...

matlab矩阵旋转任意角度的函数 imrotate

>>帮助imrotate 旋转图像。 B=imrotate(A,ANGLE)在A中按角度旋转图像A 围绕其中心点的逆时针方向。旋转图像 顺时针方向,为“角度”指定负值。imrotate生成输出 图像B大到足以包含整个旋转图像。imrotate使用 最近邻插值,设置B中像素的值 在旋转后的图像外为0(零)。 B=imrotate(A,角度,方法)...

Matlab学习笔记(三)

二、MATLAB基础知识 (四)数组 MATLAB总是把数组看作存储和运算的基本单位,标量数据也被看作是(1×1)的数组 一维数组的创建 创建一维数组的几种方法:(e_two_14.m) 直接输入法:直接通过空格、逗号和分号来分隔数组元素。 步长生成方法:x=a:inc:b,a和b为一维向量数组的起始数值和终止数值,inc为数组的间隔步长;如果a和b...