推荐答案
测试一下
题目
reg [7:0] mem [1:256];initial $readmemh("mem.data", mern, 128. 1):对于mem行为正确的描述是
A.从地址1开始,写128个地址
B.从地址128开始,写1个地址
参考答案与知识点
参考答案
正确选项为C。$readmemh系统函数的调用格式为 $readmemh("文件名", 存储器名, 起始地址, 结束地址)。本题中起始地址为128,结束地址为1,由于起始地址大于结束地址,读取数据时将按地址递减顺序写入,即从地址128开始,依次写入127、126、...,直到地址1(包含)。共写入128个地址单元(128到1共128个地址)。选项A说从地址1开始写128个地址,与递减顺序不符;选项B说从地址128开始写1个地址,而结束地址为1,实际写入多个地址,错误。因此C正确。注意:原题中写为"128. 1"可能是笔误,实际应为"128, 1"。易错点:混淆$readmemh中起始地址和结束地址的大小关系导致的方向错误,以及误解为只写一个地址。
涉及知识点
- $readmemh系统函数格式
- 地址范围参数的含义
- 起始地址大于结束地址时的递减写入
- 存储器数组索引范围与地址顺序
- 函数调用中参数分隔符的正确使用