【问题标题】:What is the function of $readmemh and $writememh in Verilog?Verilog中$readmemh和$writememh的作用是什么?
【发布时间】:2009-03-10 01:16:32
【问题描述】:

我一直在查看一些大量使用 $readmemh$writememh 的 Verilog 测试台代码。

我有一个模糊的理解,这些函数基本上都是从内存中读取和写入的。它们的具体功能是什么?它们是如何工作的?

【问题讨论】:

    标签: verilog


    【解决方案1】:

    我同意要找到有关 readmem/writemem 的内容并不容易。你可以在这里找到一点: https://www.fullchipdesign.com/readmemh.htm

    反正这些函数就不多说了,语法是:

    $readmem[hb]("File", ArrayName, StartAddr, EndAddr)
    $writemem[hb]("File", ArrayName, StartAddr, EndAddr)
    

    Verilog 对文件格式很挑剔,文本文件中的位数必须与数组中的位数相匹配。

    我建议你先定义一个数组,用数据填充它,然后用 writememh/writememb 写出来,然后打印出来。

    这样的事情应该可以帮助您入门(未尝试过!)。

    integer i;
    reg [7:0] memory [0:15]; // 8 bit memory with 16 entries
    
    initial begin
        for (i=0; i<16; i++) begin
            memory[i] = i;
        end
        $writememb("memory_binary.txt", memory);
        $writememh("memory_hex.txt", memory);
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多