问题描述
当使用奇梦达内存模型运行DDR2 SDRAM仿真时,我发现仿真失败并出现“内存分配失败”错误。
在基于Linux中的Swap Memory和Windows中的Cache内存的某些系统上会发生此错误。
这是奇梦达内存模型的一个问题。
解决/修复方法
奇梦达支持建议以下解决方案,直到模型问题得到解决:
内存模型中的原始代码:
`ifdef SPARSE_MEM
参数all_bits = bank_bits +`SPARSE_ROW_BITS +`SPARSE_COL_BITS;
`别人
参数all_bits = bank_bits + addr_bits + colm_bits;
`ENDIF
将以上代码替换为:
`ifdef SPARSE_MEM
参数all_bits = bank_bits +`SPARSE_ROW_BITS +`SPARSE_COL_BITS;
`别人
参数all_bits = bank_bits + 10;
`ENDIF
内存模型中带有SPARSE_MEM选项的原始代码:
`定义SPARSE_ROW_BITS 3
`定义SPARSE_ROW_MAP {A [2],A [1],A [0]}
`定义SPARSE_COL_BITS 4
`定义SPARSE_COL_MAP {A [3],A [2],A [1],A [0]}
用以下代码替换上面的代码:
`定义SPARSE_ROW_BITS 4
`定义SPARSE_ROW_MAP {A [3],A [2],A [1],A [0]}
`定义SPARSE_COL_BITS 6
`定义SPARSE_COL_MAP {A [5],A [4],A [3],A [2],A [1],A [0]}
没有回复内容