Verilog HDL中 $readmemb 和 $readmemh 的使用方法

发布时间:2023-11-30 11:00

在Verilog HDL程序中有两个系统任务 $readmemb 和 $readmemh,并用来从文件中读取数据到存储器中。

$readmemb("<数据文件名>",<存储器名>);
$readmemh("<数据文件名>",<存储器名>);

在这两个系统任务中,被读取的数据文件的内容只能包含:空白位置(空格、换行、制表格(tab)和form-feeds),注释行(//形式的和/*...*/形式的都允许)、二进制或十六进制的数字。

readmemb的简单使用:

module readmemb( );
// ------------------------------------------------------ //
    reg [7:0] mem[0:7];  // 声明有8个8位的存储单元
    reg [4:0] i;
    initial
    begin
        // 读取存储器文件init.txt到存储器中的给定地址
        $readmemb("init.txt", mem); 
        // 显示初始化后的存储器内容
        for(i=0; i<=7; i=i+1)  
        $display("memory[%d] = %b",i, mem[i]);
    end
// ------------------------------------------------------ //
endmodule

Verilog HDL中 $readmemb 和 $readmemh 的使用方法_第1张图片

readmemh的简单使用:

module readmemh( );
// ------------------------------------------------------ //
    reg [15:0] mem[0:7];  // 声明有16个8位的存储单元
    reg [4:0] i;
    initial
    begin
        // 读取存储器文件init.txt到存储器中的给定地址
        $readmemh("init2.txt", mem); 
        // 显示初始化后的存储器内容
        for(i=0; i<=7; i=i+1)  
        $display("memory[%d] = %h",i, mem[i]);
    end
// ------------------------------------------------------ //
endmodule

Verilog HDL中 $readmemb 和 $readmemh 的使用方法_第2张图片

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号